@charset "UTF-8";
/* GStrap SCSS Framework 1.2.1
 * Copyright 2014-2019 Paweł Gabryelewicz
 * Licensed under MIT License
 *
 * Permission is hereby granted, free of charge, to any person obtaining a copy
 * of this software and associated documentation files (the "Software"), to deal
 * in the Software without restriction, including without limitation the rights
 * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
 * copies of the Software, and to permit persons to whom the Software is
 * furnished to do so, subject to the following conditions:
 *
 * The above copyright notice and this permission notice shall be included in
 * all copies or substantial portions of the Software.
 *
 * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
 * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
 * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
 * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
 * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
 * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
 * THE SOFTWARE.
 */
/*! normalize.css v8.0.1 | 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 iOS.
 */
@import url("//hello.myfonts.net/count/3682be");
@import url("//fonts.googleapis.com/css?family=Raleway:400,400i,700,700i&display=swap&subset=latin-ext");
html {
  line-height: 1.15;
  /* 1 */
  -webkit-text-size-adjust: 100%;
  /* 2 */ }

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

/**
 * Render the `main` element consistently in IE.
 */
main {
  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
   ========================================================================== */
/**
 * 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
   ========================================================================== */
/**
 * Remove the gray background on active links in IE 10.
 */
a {
  background-color: transparent; }

/**
 * 1. Remove the bottom border in Chrome 57-
 * 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 */ }

/**
 * 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 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
   ========================================================================== */
/**
 * Remove the border on images inside links in IE 10.
 */
img {
  border-style: none; }

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

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

/**
 * Correct the inability to style clickable types in iOS and Safari.
 */
button,
[type="button"],
[type="reset"],
[type="submit"] {
  -webkit-appearance: button; }

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

/**
 * Correct the padding in Firefox.
 */
fieldset {
  padding: 0.35em 0.75em 0.625em; }

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

/**
 * Add the correct vertical alignment in Chrome, Firefox, and Opera.
 */
progress {
  vertical-align: baseline; }

/**
 * Remove the default vertical scrollbar in IE 10+.
 */
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 in Chrome and Safari on macOS.
 */
[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 Edge, IE 10+, and Firefox.
 */
details {
  display: block; }

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

/* Misc
   ========================================================================== */
/**
 * Add the correct display in IE 10+.
 */
template {
  display: none; }

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

* {
  box-sizing: border-box; }

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

#spinnercontainer {
  position: fixed;
  z-index: 1000;
  top: 0;
  left: 0;
  right: 0;
  width: 100%;
  height: 100%;
  background-color: rgba(31, 36, 38, 0.6);
  display: none; }

#spinner {
  position: absolute;
  height: 60px;
  width: 60px;
  top: 40%;
  left: 48%;
  z-index: 1; }

.spinner_ball {
  position: absolute;
  display: block;
  background-color: #ffd831;
  left: 24px;
  width: 12px;
  height: 12px;
  border-radius: 6px; }

#ball_1 {
  animation-timing-function: cubic-bezier(0.5, 0.3, 0.9, 0.9);
  animation-name: rotate;
  animation-duration: 2s;
  animation-iteration-count: infinite;
  transform-origin: 6px 30px; }

#ball_2 {
  animation-timing-function: cubic-bezier(0.5, 0.5, 0.9, 0.9);
  animation-name: rotate;
  animation-duration: 2s;
  animation-iteration-count: infinite;
  transform-origin: 6px 30px; }

#ball_3 {
  animation-timing-function: cubic-bezier(0.5, 0.7, 0.9, 0.9);
  animation-name: rotate;
  animation-duration: 2s;
  animation-iteration-count: infinite;
  transform-origin: 6px 30px; }

@keyframes rotate {
  0% {
    transform: rotate(0deg) scale(1); }
  100% {
    transform: rotate(1440deg) scale(1); } }

input, select, textarea {
  outline: none; }

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

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

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

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

.slick-slide {
  float: left;
  height: 100%;
  min-height: 1px;
  display: none; }
  [dir="rtl"] .slick-slide {
    float: right; }
  .slick-slide img {
    display: block; }
  .slick-slide.slick-loading img {
    display: none; }
  .slick-slide.dragging img {
    pointer-events: none; }
  .slick-initialized .slick-slide {
    display: block; }
  .slick-loading .slick-slide {
    visibility: hidden; }
  .slick-vertical .slick-slide {
    display: block;
    height: auto;
    border: 1px solid transparent; }

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

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

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

/* Arrows */
.slick-prev,
.slick-next {
  position: absolute;
  display: block;
  height: 20px;
  width: 20px;
  line-height: 0px;
  font-size: 0px;
  cursor: pointer;
  background: transparent;
  color: transparent;
  top: 50%;
  -webkit-transform: translate(0, -50%);
  -ms-transform: translate(0, -50%);
  transform: translate(0, -50%);
  padding: 0;
  border: none;
  outline: none; }
  .slick-prev:hover, .slick-prev:focus,
  .slick-next:hover,
  .slick-next:focus {
    outline: none;
    background: transparent;
    color: transparent; }
    .slick-prev:hover:before, .slick-prev:focus:before,
    .slick-next:hover:before,
    .slick-next:focus:before {
      opacity: 1; }
  .slick-prev.slick-disabled:before,
  .slick-next.slick-disabled:before {
    opacity: 0.25; }
  .slick-prev:before,
  .slick-next:before {
    font-family: "slick";
    font-size: 20px;
    line-height: 1;
    color: white;
    opacity: 0.75;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale; }

.slick-prev {
  left: -25px; }
  [dir="rtl"] .slick-prev {
    left: auto;
    right: -25px; }
  .slick-prev:before {
    content: "←"; }
    [dir="rtl"] .slick-prev:before {
      content: "→"; }

.slick-next {
  right: -25px; }
  [dir="rtl"] .slick-next {
    left: -25px;
    right: auto; }
  .slick-next:before {
    content: "→"; }
    [dir="rtl"] .slick-next:before {
      content: "←"; }

/* Dots */
.slick-dotted.slick-slider {
  margin-bottom: 30px; }

.slick-dots {
  position: absolute;
  bottom: -25px;
  list-style: none;
  display: block;
  text-align: center;
  padding: 0;
  margin: 0;
  width: 100%; }
  .slick-dots li {
    position: relative;
    display: inline-block;
    height: 20px;
    width: 20px;
    margin: 0 5px;
    padding: 0;
    cursor: pointer; }
    .slick-dots li button {
      border: 0;
      background: transparent;
      display: block;
      height: 20px;
      width: 20px;
      outline: none;
      line-height: 0px;
      font-size: 0px;
      color: transparent;
      padding: 5px;
      cursor: pointer; }
      .slick-dots li button:hover, .slick-dots li button:focus {
        outline: none; }
        .slick-dots li button:hover:before, .slick-dots li button:focus:before {
          opacity: 1; }
      .slick-dots li button:before {
        position: absolute;
        top: 0;
        left: 0;
        content: "•";
        width: 20px;
        height: 20px;
        font-family: "slick";
        font-size: 6px;
        line-height: 20px;
        text-align: center;
        color: black;
        opacity: 0.25;
        -webkit-font-smoothing: antialiased;
        -moz-osx-font-smoothing: grayscale; }
    .slick-dots li.slick-active button:before {
      color: black;
      opacity: 0.75; }

/*@font-face {
  font-family: "icons";
  src:url("./base/fonts/icons.eot");
  src:url("./base/fonts/icons.eot?#iefix") format("embedded-opentype"),
  url("./base/fonts/icons.woff") format("woff"),
  url("./base/fonts/icons.ttf") format("truetype"),
  url("./base/fonts/icons.svg#icons") format("svg");
  font-weight: normal;
  font-style: normal;
}*/
@font-face {
  font-family: 'ITCKabelStd-Medium';
  src: url("./fonts/3682BE_0_0.eot");
  src: url("./fonts/3682BE_0_0.eot?#iefix") format("embedded-opentype"), url("./fonts/3682BE_0_0.woff2") format("woff2"), url("./fonts/3682BE_0_0.woff") format("woff"), url("./fonts/3682BE_0_0.ttf") format("truetype");
  font-weight: 500;
  font-style: normal; }

[data-icon]:before {
  content: attr(data-icon);
  font-family: "upday";
  src: url("./fonts/upday.eot");
  src: url("./fonts/upday.eot?#iefix") format("embedded-opentype"), url("./fonts/upday.woff") format("woff"), url("./fonts/upday.ttf") format("truetype"), url("./fonts/upday.svg#upday") format("svg");
  font-weight: normal;
  font-style: normal; }

[class^="icon-"]:before,
[class*=" icon-"]:before {
  font-family: "upday";
  src: url("./fonts/upday.eot");
  src: url("./fonts/upday.eot?#iefix") format("embedded-opentype"), url("./fonts/upday.woff") format("woff"), url("./fonts/upday.ttf") format("truetype"), url("./fonts/upday.svg#upday") format("svg");
  font-weight: normal;
  font-style: normal; }

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

[data-icon]:before {
  font-family: "upday" !important;
  content: attr(data-icon);
  font-style: normal !important;
  font-weight: normal !important;
  font-variant: normal !important;
  text-transform: none !important;
  speak: none;
  line-height: 1;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale; }

[class^="ud-"]:before,
[class*=" ud-"]:before {
  font-family: "upday" !important;
  font-style: normal !important;
  font-weight: normal !important;
  font-variant: normal !important;
  text-transform: none !important;
  speak: none;
  line-height: 1;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale; }

.ud-arrow-down-grigio:before {
  content: "\61"; }

.ud-arrow-left-grigio:before {
  content: "\62"; }

.ud-arrow-right-grigio:before {
  content: "\63"; }

.ud-arrow-up-grigio:before {
  content: "\64"; }

.ud-burger-menu:before {
  content: "\65"; }

.ud-e-shop-bianco:before {
  content: "\66"; }

.ud-search-bianco:before {
  content: "\67"; }

.ud-user-bianco:before {
  content: "\68"; }

@media (min-width: 75em) and (max-width: 106.24em) {
  html {
    font-size: 87.5%; } }

@media (min-width: 48em) and (max-width: 61.99em) {
  html {
    font-size: 100%; } }

@media (min-width: 62em) and (max-width: 74.99em) {
  html {
    font-size: 68.75%; } }

@media (max-width: 47.99em) {
  html {
    font-size: 100%; } }

body {
  font-family: "ITCKabelStd-Medium", sans-serif; }

*:focus {
  outline: none; }

a {
  text-decoration: none;
  transition: color .3s ease-in-out 0s, background-color .3s ease-in-out 0s, border-color .3s ease-in-out 0s, opacity .3s ease-in-out 0s; }

a:active, a:focus, button {
  outline: none; }

input[type=text], input[type=password], input[type=email], textarea {
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  border-radius: 0; }

.outerContainer {
  width: 1250px;
  margin: 0 auto; }
  @media (max-width: 47.99em) {
    .outerContainer {
      width: 90%; } }
  @media (min-width: 48em) and (max-width: 61.99em) {
    .outerContainer {
      width: 640px; } }
  @media (min-width: 62em) and (max-width: 74.99em) {
    .outerContainer {
      width: 950px; } }
  @media (min-width: 75em) and (max-width: 81.24em) {
    .outerContainer {
      width: 1150px; } }
  @media (min-width: 81.25em) and (max-width: 106.24em) {
    .outerContainer {
      width: 1250px; } }
  @media (min-width: 106.25em) {
    .outerContainer {
      width: 1644px; } }

.innerContainer {
  width: 1000px;
  margin: 0 auto; }
  @media (max-width: 47.99em) {
    .innerContainer {
      width: 90%; } }
  @media (min-width: 48em) and (max-width: 61.99em) {
    .innerContainer {
      width: 640px; } }
  @media (min-width: 62em) and (max-width: 74.99em) {
    .innerContainer {
      width: 750px; } }
  @media (min-width: 75em) and (max-width: 81.24em) {
    .innerContainer {
      width: 950px; } }
  @media (min-width: 81.25em) and (max-width: 106.24em) {
    .innerContainer {
      width: 1000px; } }
  @media (min-width: 106.25em) {
    .innerContainer {
      width: 1400px; } }

.control-checkbox {
  display: none; }

h2, .h2 {
  font-size: 2.1875rem; }

h3, .h3 {
  font-size: 1.5625rem; }

p {
  font-size: 1.25rem;
  margin: 0; }

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

.downloads-wrap {
  display: inline-block;
  vertical-align: top;
  margin: 0 1.25rem 1.25rem 0;
  font-size: 1.0625rem; }
  .downloads-wrap .download-icon {
    display: inline-block;
    background: url("/Media/icons/cartella_arancione.svg") no-repeat 50% 50%;
    background-size: contain;
    width: 2.125rem;
    height: 2.8125rem;
    margin: .15rem 1.25rem 0 0;
    position: relative; }
    @media (min-width: 75em) and (max-width: 81.24em) {
      .downloads-wrap .download-icon {
        margin-right: .5rem; } }
    @media (min-width: 48em) and (max-width: 61.99em) {
      .downloads-wrap .download-icon {
        margin-right: .75rem; } }
    .downloads-wrap .download-icon::after {
      content: '';
      display: block;
      position: absolute;
      top: 0;
      left: 0;
      width: 100%;
      height: 100%;
      background: url("/Media/icons/cartella_grigio.svg") no-repeat 50% 50%;
      background-size: contain;
      opacity: 0;
      transition: opacity .3s linear 0s; }
    .downloads-wrap .download-icon.icon-tool {
      background-image: url("/assets/css/img/web-tool-arancione.svg"); }
      .downloads-wrap .download-icon.icon-tool::after {
        background-image: url("/assets/css/img/web-tool-grigio.svg"); }
    .downloads-wrap .download-icon.icon-tool-smartphone {
      background-image: url("/assets/css/img/web-tool-smartphone-arancione.svg"); }
      .downloads-wrap .download-icon.icon-tool-smartphone::after {
        background-image: url("/assets/css/img/web-tool-smartphone-grigio.svg"); }
  .downloads-wrap .download-text {
    display: inline-block;
    vertical-align: top; }
  .downloads-wrap a {
    color: #F58F00;
    display: inline-block;
    vertical-align: top; }
    .downloads-wrap a:hover {
      color: #76838A; }
      .downloads-wrap a:hover .download-icon::after {
        opacity: 1; }
  .downloads-wrap.bianco a {
    color: #fff; }
  .downloads-wrap.bianco .download-icon {
    background-image: url("/Media/icons/cartella_bianco.svg"); }
    .downloads-wrap.bianco .download-icon.icon-tool {
      background-image: url("/assets/css/img/web-tool-bianco.svg"); }
    .downloads-wrap.bianco .download-icon.icon-tool-smartphone {
      background-image: url("/assets/css/img/web-tool-smartphone-bianco.svg"); }

a.scrolltome::after {
  display: inline-block;
  margin-left: 0.5em;
  font-size: 0.75em;
  font-family: "upday";
  src: url("./fonts/upday.eot");
  src: url("./fonts/upday.eot?#iefix") format("embedded-opentype"), url("./fonts/upday.woff") format("woff"), url("./fonts/upday.ttf") format("truetype"), url("./fonts/upday.svg#upday") format("svg");
  font-weight: normal;
  font-style: normal;
  content: "\61"; }

#chatbotState {
  display: none; }

#chatbotWidget {
  /*
  position: fixed;
  right: 20px;
  bottom: 20px;
  z-index: 10;
  //padding: 20px;
  //border-radius: 20px;
  //background-color: #fff;
  opacity: 0;
  visibility: hidden;
  transition: opacity .15s ease-in-out, visibility 0s ease-in-out .15s;
  
  @include mqu(sm) {
    right: 0;
    left: 0;
    bottom: 0;
    //padding: 20px 0;
    //border-radius: 20px 20px 0 0;
  }
  */ }
  #chatbotState:checked ~ #chatbotWidget {
    /*opacity: 1;
    visibility: visible;
    transition: opacity .15s ease-in-out, visibility 0s ease-in-out;*/ }

.chatbot-toggle {
  position: relative;
  display: block;
  padding: 15px 40px 15px 20px;
  margin: 25px 0;
  border-radius: 25px;
  background-color: #fff;
  font-size: 20px;
  line-height: 1em;
  font-weight: 700;
  color: #000;
  cursor: pointer;
  transition: opacity .3s ease-in-out; }
  .chatbot-toggle:hover {
    opacity: .5; }
  .chatbot-toggle-icon {
    position: absolute;
    right: 20px;
    top: 50%;
    font-size: 10px;
    color: #76838A;
    transform: translateY(-50%); }

header {
  position: fixed;
  z-index: 10;
  top: 0;
  left: 0;
  right: 0; }
  header .header-banner {
    display: none;
    background-color: #F58F00;
    color: #fff;
    /*@include mqu(sm) {
      top: 0;
    }*/ }
    header .header-banner.shown {
      display: block; }
    @media (min-width: 48em) and (max-width: 61.99em) {
      header .header-banner .outerContainer {
        width: 100%; } }
    header .header-banner .banner-wrap {
      height: 12.1875rem;
      max-height: 12.1875rem;
      display: flex;
      align-items: center;
      justify-content: space-between;
      overflow: hidden; }
      @media (min-width: 48em) and (max-width: 61.99em) {
        header .header-banner .banner-wrap {
          height: 10.125rem;
          max-height: 10.125rem; } }
      @media (max-width: 47.99em) {
        header .header-banner .banner-wrap {
          flex-wrap: wrap;
          height: 20.125rem;
          max-height: 20.125rem; } }
    header .header-banner .banner-img {
      background-repeat: no-repeat;
      background-position: 0 50%;
      background-size: 100% auto;
      flex: 0 0 33%;
      align-self: stretch;
      margin-right: 3.75rem; }
      @media (min-width: 48em) and (max-width: 61.99em) {
        header .header-banner .banner-img {
          flex: 0 0 16rem; } }
      @media (max-width: 47.99em) {
        header .header-banner .banner-img {
          flex: 1 1 100%;
          height: 6.5rem;
          background-position: 50% 50%;
          margin: 1rem 0 1.5rem;
          background-size: contain; } }
    header .header-banner .banner-text-wrap {
      flex: 1 1 auto; }
      @media (max-width: 47.99em) {
        header .header-banner .banner-text-wrap {
          flex: 1 1 100%; } }
      header .header-banner .banner-text-wrap .banner-text {
        display: flex;
        align-items: center;
        justify-content: space-between; }
        header .header-banner .banner-text-wrap .banner-text p {
          display: inline-block;
          flex: 1 1 100%;
          vertical-align: middle;
          font-size: 1.5625rem;
          font-weight: 700;
          max-width: 300px;
          max-width: 100%; }
        header .header-banner .banner-text-wrap .banner-text .button {
          flex: 0 0 17.125rem;
          background-color: #76838A;
          display: inline-block;
          color: #ffffff;
          font-weight: 700;
          font-size: 1.6875rem;
          vertical-align: middle;
          text-align: center;
          margin-left: 4.0625rem;
          line-height: 3.3125rem; }
        @media (min-width: 48em) and (max-width: 61.99em) {
          header .header-banner .banner-text-wrap .banner-text {
            flex-wrap: wrap; }
            header .header-banner .banner-text-wrap .banner-text p {
              flex: 1 1 100%;
              font-size: 1.0625rem; }
            header .header-banner .banner-text-wrap .banner-text .button {
              flex: 0 0 16rem;
              margin-top: 1rem;
              margin-left: 0;
              font-size: 1.5625rem; } }
        @media (max-width: 47.99em) {
          header .header-banner .banner-text-wrap .banner-text {
            flex-wrap: wrap; }
            header .header-banner .banner-text-wrap .banner-text p {
              flex: 1 1 100%;
              font-size: 1.0625rem; }
            header .header-banner .banner-text-wrap .banner-text .button {
              flex: 1 1 100%;
              margin-top: 1.5rem;
              margin-bottom: 1.25rem;
              margin-left: 0;
              font-size: 1.5625rem; } }
    header .header-banner .banner-closer {
      flex: 0 0 4.5rem;
      text-align: right; }
    header .header-banner .closer-icon {
      color: #F58F00;
      cursor: pointer;
      display: inline-block;
      width: 1.5625rem;
      height: 1.5625rem;
      position: relative;
      transition: opacity .3s ease-in-out 0s; }
      header .header-banner .closer-icon:hover {
        opacity: .5; }
      header .header-banner .closer-icon::after {
        content: '';
        display: inline-block;
        position: absolute;
        top: 0;
        left: 0;
        vertical-align: top;
        /* width: 100%;
        height: 100%; */
        width: 1.5625rem;
        height: 1.5625rem;
        background-repeat: no-repeat;
        background-position: 50% 50%;
        background-size: contain;
        background-image: url("/Media/icons/close_bianco.svg"); }
      @media (min-width: 48em) and (max-width: 61.99em) {
        header .header-banner .closer-icon {
          margin-right: 1.0625rem; } }
      @media (max-width: 47.99em) {
        header .header-banner .closer-icon {
          position: absolute;
          top: 0.3125rem;
          right: 0.1875rem;
          width: 0.625rem;
          height: 0.625rem; }
          header .header-banner .closer-icon::after {
            width: 0.625rem;
            height: 0.625rem; } }
  header .header-top {
    font-family: Raleway, "ITCKabelStd-Medium", sans-serif;
    background-color: #4E5B59;
    position: relative;
    z-index: 2; }
    @media (max-width: 47.99em) {
      header .header-top {
        display: none; } }
    header .header-top .innerContainer {
      position: relative;
      padding: 10px 0 12px; }
    header .header-top .header-socials {
      margin: 0 auto;
      font-size: 0;
      text-align: center; }
      header .header-top .header-socials a {
        display: inline-block;
        vertical-align: top;
        width: 30px;
        height: 30px;
        background-repeat: no-repeat;
        background-position: 50% 50%;
        background-size: contain;
        position: relative;
        margin: 0 0.1875rem 0; }
        header .header-top .header-socials a::after {
          content: '';
          display: block;
          position: absolute;
          top: 0;
          left: 0;
          width: 100%;
          height: 100%;
          background-repeat: no-repeat;
          background-position: 50% 50%;
          background-size: contain;
          opacity: 0;
          transition: opacity .3s ease-in-out 0s; }
        header .header-top .header-socials a:hover::after, header .header-top .header-socials a:focus::after {
          opacity: 1; }
        header .header-top .header-socials a.facebook {
          background-image: url("/Media/icons/Social/facebook_grigio.svg"); }
          header .header-top .header-socials a.facebook::after {
            background-image: url("/Media/icons/Social/facebook.svg"); }
        header .header-top .header-socials a.twitter {
          background-image: url("/Media/icons/Social/twitter_grigio.svg"); }
          header .header-top .header-socials a.twitter::after {
            background-image: url("/Media/icons/Social/twitter.svg"); }
        header .header-top .header-socials a.instagram {
          background-image: url("/Media/icons/Social/instagram_grigio.svg"); }
          header .header-top .header-socials a.instagram::after {
            background-image: url("/Media/icons/Social/instagram.svg"); }
    header .header-top .logo-wrap {
      position: absolute;
      top: 0;
      right: -4.25rem; }
      @media (min-width: 48em) and (max-width: 61.99em) {
        header .header-top .logo-wrap {
          right: -3rem; } }
      header .header-top .logo-wrap .logo {
        display: block;
        background: url("/Media/logos/Logo_UP.png") no-repeat 50% 50%;
        background-size: contain;
        width: 52px;
        height: 52px;
        opacity: 1;
        transition: opacity .3s ease-in-out 0s; }
        header .header-top .logo-wrap .logo:hover {
          opacity: .5; }
  header .header-bottom {
    background-color: rgba(67, 79, 85, 0.9);
    position: absolute;
    z-index: 2;
    left: 0;
    top: 52px;
    width: 100%;
    transition: max-height .3s ease-in-out 0s;
    max-height: 7.875rem; }
    @media (max-width: 47.99em) {
      header .header-bottom {
        top: 0; } }
    header .header-bottom .visible-nav {
      display: flex;
      align-content: space-between;
      align-items: center; }
    header .header-bottom .logo-wrap {
      flex: 0 0 auto; }
      header .header-bottom .logo-wrap .logo {
        display: block;
        background: url("/Media/logos/Logo_UPDAY2.svg") no-repeat 50% 50%;
        background-size: contain;
        width: 6.625rem;
        height: 2.3125rem;
        margin: 1.4375rem 0 1.25rem; }
        @media (max-width: 47.99em) {
          header .header-bottom .logo-wrap .logo {
            width: 5.25rem;
            height: 1.8125rem; } }
    header .header-bottom .menu-links {
      flex: 1 1 50%;
      text-align: right;
      font-size: 0; }
      @media (max-width: 47.99em) {
        header .header-bottom .menu-links {
          flex: 1 1 50%; } }
      header .header-bottom .menu-links > a {
        display: inline-block;
        font-size: 1.25rem;
        line-height: 1em;
        color: #fff;
        margin-right: 40px;
        position: relative; }
        @media (max-width: 61.99em) {
          header .header-bottom .menu-links > a {
            margin-right: 1.25rem; } }
        header .header-bottom .menu-links > a span {
          display: inline-block;
          margin-right: 0.6875rem; }
          @media (max-width: 47.99em) {
            header .header-bottom .menu-links > a span {
              display: none; } }
        header .header-bottom .menu-links > a::before, header .header-bottom .menu-links > a::after {
          content: '';
          display: inline-block;
          vertical-align: top;
          width: 1.1875rem;
          height: 1.25rem;
          background-repeat: no-repeat;
          background-position: 50% 100%;
          background-size: contain;
          transition: opacity .3s ease-in-out 0s; }
        header .header-bottom .menu-links > a::before {
          position: absolute;
          top: 0;
          right: 0;
          opacity: 0; }
        header .header-bottom .menu-links > a.login::after {
          background-image: url("/Media/icons/user_bianco.svg"); }
        header .header-bottom .menu-links > a.login::before {
          background-image: url("/Media/icons/user_arancione.svg"); }
        header .header-bottom .menu-links > a.shop::after {
          background-image: url("/Media/icons/e-shop_bianco.svg"); }
        header .header-bottom .menu-links > a.shop::before {
          background-image: url("/Media/icons/e-shop_arancione.svg"); }
        header .header-bottom .menu-links > a.blog::after {
          background-image: url("/Media/icons/blog_bianco.svg"); }
        header .header-bottom .menu-links > a.blog::before {
          background-image: url("/Media/icons/blog_arancione.svg"); }
        header .header-bottom .menu-links > a.search::after {
          background-image: url("/Media/icons/search_bianco.svg"); }
        header .header-bottom .menu-links > a.search::before {
          background-image: url("/Media/icons/search_arancione.svg"); }
        header .header-bottom .menu-links > a:hover {
          color: #F58F00; }
          header .header-bottom .menu-links > a:hover::before {
            opacity: 1; }
          header .header-bottom .menu-links > a:hover::after {
            opacity: 0; }
      header .header-bottom .menu-links .menu-opener {
        color: #F58F00;
        cursor: pointer;
        display: inline-block;
        width: 2rem;
        height: 1.25rem;
        position: relative; }
        header .header-bottom .menu-links .menu-opener::before, header .header-bottom .menu-links .menu-opener::after {
          content: '';
          display: inline-block;
          position: absolute;
          top: 0;
          left: 0;
          vertical-align: top;
          width: 100%;
          height: 100%;
          background-repeat: no-repeat;
          background-position: 50% 50%;
          background-size: contain; }
        header .header-bottom .menu-links .menu-opener::before {
          transition: opacity .30s ease-in-out .10s;
          background-image: url("/Media/icons/burger_menu.svg"); }
        header .header-bottom .menu-links .menu-opener::after {
          transition: opacity .30s ease-in-out 0s;
          background-image: url("/Media/icons/close.svg");
          opacity: 0; }
  header #mainMenu:checked ~ .header-bottom .menu-opener::before {
    transition: opacity .30s ease-in-out 0s;
    opacity: 0; }
  header #mainMenu:checked ~ .header-bottom .menu-opener::after {
    transition: opacity .30s ease-in-out .10s;
    opacity: 1; }
  header #mainMenu:checked ~ .expanding-nav {
    max-height: 100%; }
  header .expanding-nav {
    position: fixed;
    z-index: 1;
    left: 0;
    top: 8.7143rem;
    bottom: 0;
    width: 100%;
    overflow: hidden;
    max-height: 0;
    transition: max-height .3s ease-in-out 0s;
    background-color: rgba(67, 79, 85, 0.9); }
    @media (min-width: 106.25em) {
      header .expanding-nav {
        top: 132px; } }
    @media (min-width: 48em) and (max-width: 61.99em) {
      header .expanding-nav {
        top: 132px; } }
    @media (min-width: 62em) and (max-width: 74.99em) {
      header .expanding-nav {
        top: 107px; } }
    @media (max-width: 47.99em) {
      header .expanding-nav {
        top: 4.5rem; } }
  header .nav-wrap {
    max-height: 100%;
    overflow: auto;
    overflow-y: scroll;
    -ms-overflow-style: none;
    /* Internet Explorer 10+ */
    scrollbar-width: none;
    /* Firefox */ }
    header .nav-wrap::-webkit-scrollbar {
      display: none;
      /* Safari and Chrome */ }
  header nav {
    width: 1000px;
    margin: 0 auto;
    display: flex;
    justify-content: space-between;
    margin: 0 auto;
    padding-bottom: 4rem;
    border-top: 2px solid #F58F00;
    overflow: auto;
    max-height: 100%; }
    @media (max-width: 47.99em) {
      header nav {
        width: 90%; } }
    @media (min-width: 48em) and (max-width: 61.99em) {
      header nav {
        width: 640px; } }
    @media (min-width: 62em) and (max-width: 74.99em) {
      header nav {
        width: 750px; } }
    @media (min-width: 75em) and (max-width: 81.24em) {
      header nav {
        width: 950px; } }
    @media (min-width: 81.25em) and (max-width: 106.24em) {
      header nav {
        width: 1000px; } }
    @media (min-width: 106.25em) {
      header nav {
        width: 1400px; } }
    @media (max-width: 61.99em) {
      header nav {
        display: block; } }
    header nav .menu-expander {
      padding: 1.5rem 0; }
      @media (max-width: 61.99em) {
        header nav .menu-expander {
          border-bottom: 2px solid #F58F00; } }
      header nav .menu-expander .toggle {
        font-size: 30px;
        margin: 0;
        display: block;
        color: #fff;
        cursor: pointer;
        transition: color 0.3s ease-in-out 0s; }
        @media (min-width: 62em) {
          header nav .menu-expander .toggle {
            margin-bottom: 20px; } }
        @media (max-width: 61.99em) {
          header nav .menu-expander .toggle {
            font-size: 35px; }
            header nav .menu-expander .toggle:hover {
              color: #F58F00; } }
      header nav .menu-expander .nav-head {
        display: block;
        text-transform: uppercase;
        color: #F58F00;
        font-size: 20px;
        line-height: 1.35em; }
        @media (max-width: 47.99em) {
          header nav .menu-expander .nav-head {
            font-size: 1.5625rem; } }
      header nav .menu-expander .link-holder {
        display: block; }
      header nav .menu-expander a {
        font-size: 20px;
        line-height: 1.35em; }
        @media (max-width: 47.99em) {
          header nav .menu-expander a {
            font-size: 1.5625rem; } }
    @media (max-width: 61.99em) {
      header nav .control-checkbox:checked + .menu-expander .toggle {
        color: #F58F00; } }
    @media (max-width: 61.99em) {
      header nav .control-checkbox:checked + .menu-expander .link-section {
        max-height: 12.5rem; } }
    header nav > .link-holder {
      padding: 1.5rem 0; }
      @media (max-width: 61.99em) {
        header nav > .link-holder {
          border-bottom: 2px solid #F58F00; } }
      header nav > .link-holder a {
        font-size: 30px; }
        @media (max-width: 47.99em) {
          header nav > .link-holder a {
            font-size: 2.3125rem; } }
    header nav .link-section {
      transition: max-height 0.3s ease-in-out 0s; }
      @media (max-width: 61.99em) {
        header nav .link-section {
          overflow: hidden;
          max-height: 0; } }
      header nav .link-section::before, header nav .link-section::after {
        content: '';
        display: block;
        height: 10px; }
        @media (max-width: 61.99em) {
          header nav .link-section::before, header nav .link-section::after {
            height: 25px; } }
      header nav .link-section::after {
        height: 20px; }
        @media (max-width: 61.99em) {
          header nav .link-section::after {
            content: none; } }
      header nav .link-section:last-of-type::after {
        content: none; }
        @media (max-width: 61.99em) {
          header nav .link-section:last-of-type::after {
            content: '';
            height: 8px; } }
    header nav a {
      color: #fff;
      transition: color 0.3s ease-in-out 0s; }
      header nav a:hover {
        color: #F58F00; }

.new-login {
  position: relative;
  display: inline-block;
  font-size: 1.25rem;
  color: #fff; }
  @media (max-width: 61.99em) {
    .new-login {
      margin-right: 1.25rem; } }
  .new-login__label {
    position: relative;
    display: inline-block;
    font-size: 1.25rem;
    line-height: 1em;
    color: #fff;
    margin-right: 40px;
    transition: color .3s ease-in-out 0s;
    cursor: pointer; }
    @media (max-width: 61.99em) {
      .new-login__label {
        margin-right: 0; } }
    .new-login__label span {
      display: inline-block;
      margin-right: 0.6875rem; }
      @media (max-width: 47.99em) {
        .new-login__label span {
          display: none; } }
    .new-login__label::before, .new-login__label::after {
      content: '';
      display: inline-block;
      vertical-align: top;
      width: 1.1875rem;
      height: 1.25rem;
      background-repeat: no-repeat;
      background-position: 50% 100%;
      background-size: contain;
      transition: opacity .3s ease-in-out 0s; }
    .new-login__label::before {
      position: absolute;
      top: 0;
      right: 0;
      opacity: 0;
      background-image: url("/Media/icons/user_arancione.svg"); }
    .new-login__label::after {
      background-image: url("/Media/icons/user_bianco.svg"); }
    .new-login__state:checked ~ .new-login__label, .new-login__label:hover {
      color: #F58F00; }
      .new-login__state:checked ~ .new-login__label::before, .new-login__label:hover::before {
        opacity: 1; }
      .new-login__state:checked ~ .new-login__label::after, .new-login__label:hover::after {
        opacity: 0; }
  .new-login__box {
    position: absolute;
    top: calc(100% + 12px);
    left: 50%;
    padding: 20px 20px;
    background-color: #F48E00;
    text-align: center;
    opacity: 0;
    visibility: hidden;
    transform: translateX(-50%);
    transition: opacity .3s ease-in-out 0s, visibility 0s ease-in-out .3s; }
    .new-login__box::before {
      content: '';
      position: absolute;
      top: -8px;
      left: 50%;
      display: block;
      width: 0;
      height: 0;
      border-left: 12px solid transparent;
      border-right: 12px solid transparent;
      border-bottom: 21px solid #F48E00;
      transform: translateX(-50%); }
    .new-login__state:checked ~ .new-login__box {
      opacity: 1;
      visibility: visible;
      transition: opacity .3s ease-in-out 0s, visibility 0s ease-in-out 0s; }
  .new-login__link {
    font-size: 20px;
    line-height: 1.35em;
    color: #fff; }
    .new-login__link:hover {
      color: #76838a; }

.header-placeholder {
  height: 2.875rem;
  clear: both; }
  @media (max-width: 47.99em) {
    .header-placeholder {
      height: 4.5rem; } }

/*


.expanding-nav {
  top: 7.85rem;
  transition: max-height .3s ease-in-out 0s;

  @include mqu(sm) {
    top: 4.5rem;
  }
}

.header-placeholder {
  height: 2.875rem;

  @include mqu(sm) {
    height: 4.5rem;
  }
}
*/
#bannerControl.shown ~ header {
  /*.header-bottom {
top: 2.875rem;
transition: max-height .3s ease-in-out 0s;
@include viewport-unit("max-height", 7.875rem);

@include mqu(sm) {
  top: 0;
}
}*/
  /*.banner-wrap {
  height: 12.1875rem;

  @include mq(sm,md) {
    height: 10.125rem;
  }

  @include mqu(sm) {
    height: 20.125rem;
  }
}*/ }
  #bannerControl.shown ~ header .header-bottom {
    top: 15.0625rem; }
    @media (min-width: 48em) and (max-width: 61.99em) {
      #bannerControl.shown ~ header .header-bottom {
        top: 13rem; } }
    @media (max-width: 47.99em) {
      #bannerControl.shown ~ header .header-bottom {
        top: 20.125rem; } }
  #bannerControl.shown ~ header .expanding-nav {
    top: 20.0375rem; }
    @media (min-width: 62em) and (max-width: 74.99em) {
      #bannerControl.shown ~ header .expanding-nav {
        top: 20.05rem; } }
    @media (min-width: 48em) and (max-width: 61.99em) {
      #bannerControl.shown ~ header .expanding-nav {
        top: 17.975rem; } }
    @media (max-width: 47.99em) {
      #bannerControl.shown ~ header .expanding-nav {
        top: 24.625rem; } }

#bannerControl.shown ~ .header-placeholder {
  height: 15.0625rem;
  max-height: 15.0625rem; }
  @media (min-width: 48em) and (max-width: 61.99em) {
    #bannerControl.shown ~ .header-placeholder {
      height: 13rem;
      max-height: 13rem; } }
  @media (max-width: 47.99em) {
    #bannerControl.shown ~ .header-placeholder {
      height: 24.625rem;
      max-height: 24.625rem; } }

#bannerControl.shown:checked ~ header .header-banner .banner-wrap {
  transition: max-height .3s linear 0s;
  max-height: 0; }
  #bannerControl.shown:checked ~ header .header-banner .banner-wrap .closer-icon {
    /*transition: opacity .3s linear 0s, visibility 0s linear .3s;
            opacity: 0;
            visibility: hidden;*/
    display: none; }

#bannerControl.shown:checked ~ header .header-bottom {
  transition: top .3s linear 0s;
  top: 2.875rem; }
  @media (min-width: 48em) and (max-width: 61.99em) {
    #bannerControl.shown:checked ~ header .header-bottom {
      top: 2.875rem; } }
  @media (max-width: 47.99em) {
    #bannerControl.shown:checked ~ header .header-bottom {
      top: 0rem; } }

#bannerControl.shown:checked ~ header .expanding-nav {
  transition: max-height .3s ease-in-out 0s, top .3s linear 0s;
  top: 7.85rem; }
  @media (min-width: 48em) and (max-width: 61.99em) {
    #bannerControl.shown:checked ~ header .expanding-nav {
      top: 7.85rem; } }
  @media (max-width: 47.99em) {
    #bannerControl.shown:checked ~ header .expanding-nav {
      top: 4.5rem; } }

#bannerControl.shown:checked ~ .header-placeholder {
  transition: max-height .3s linear 0s;
  max-height: 2.875rem; }
  @media (min-width: 48em) and (max-width: 61.99em) {
    #bannerControl.shown:checked ~ .header-placeholder {
      max-height: 2.875rem; } }
  @media (max-width: 47.99em) {
    #bannerControl.shown:checked ~ .header-placeholder {
      max-height: 4.5rem; } }

.section-homeslider {
  position: relative; }
  .section-homeslider .image-holder {
    padding-bottom: 50.46875%;
    position: relative; }
    @media (max-width: 47.99em) {
      .section-homeslider .image-holder {
        padding-bottom: 87.5%; } }
    .section-homeslider .image-holder .image {
      background-repeat: no-repeat;
      background-position: 50% 50%;
      background-size: cover;
      position: absolute;
      top: 0;
      left: 0;
      width: 100%;
      height: 100%;
      opacity: 0;
      transition: opacity .3s ease-in 0s; }
      @media (max-width: 61.99em) {
        .section-homeslider .image-holder .image {
          transition: opacity .3s ease-in .3s; } }
  .section-homeslider .controls-container {
    position: absolute;
    z-index: 1;
    bottom: 3.4375rem;
    left: 0;
    width: 100%; }
    @media (min-width: 48em) and (max-width: 61.99em) {
      .section-homeslider .controls-container {
        position: static;
        background-color: #E9E9E9;
        padding: 3.4375rem 0 3.75rem; } }
    @media (max-width: 47.99em) {
      .section-homeslider .controls-container {
        position: static;
        background-color: #E9E9E9;
        padding: 1.625rem 0 1.4375rem; } }
  .section-homeslider .controls-wrap {
    display: flex; }
    @media (min-width: 48em) and (max-width: 61.99em) {
      .section-homeslider .controls-wrap {
        display: block;
        position: relative;
        height: 8.875rem; } }
    @media (max-width: 47.99em) {
      .section-homeslider .controls-wrap {
        display: block;
        position: relative;
        height: 15.75rem; } }
  .section-homeslider .slider-controls .arrow {
    display: none; }
  @media (max-width: 61.99em) {
    .section-homeslider .slider-controls {
      position: relative; }
      .section-homeslider .slider-controls .arrow {
        display: block;
        width: 1.875rem;
        height: 1.875rem;
        background-repeat: no-repeat;
        background-position: 50% 50%;
        background-size: contain;
        position: absolute;
        top: 50%;
        transform: translateY(-50%);
        visibility: visible;
        opacity: 1;
        transition: visibility 0s linear 0s, opacity 0.3s linear 0s; }
        .section-homeslider .slider-controls .arrow::after {
          content: '';
          display: block;
          opacity: 0;
          position: absolute;
          top: 0;
          left: 0;
          width: 100%;
          height: 100%;
          background-repeat: no-repeat;
          background-position: 50% 50%;
          background-size: contain;
          transition: opacity .3s ease-in-out 0s; }
        .section-homeslider .slider-controls .arrow:hover::after {
          opacity: 1; }
        .section-homeslider .slider-controls .arrow.arrow-left {
          background-image: url("/Media/icons/arrow_left_grigio.svg");
          left: -2.3125rem; }
          .section-homeslider .slider-controls .arrow.arrow-left::after {
            background-image: url("/Media/icons/arrow_left_arancione.svg"); }
        .section-homeslider .slider-controls .arrow.arrow-right {
          background-image: url("/Media/icons/arrow_right_grigio.svg");
          right: -2.3125rem; }
          .section-homeslider .slider-controls .arrow.arrow-right::after {
            background-image: url("/Media/icons/arrow_right_arancione.svg"); } }
  @media (max-width: 47.99em) {
    .section-homeslider .slider-controls {
      padding: 0 2.625rem;
      margin-left: -0.625rem;
      margin-right: -0.625rem; }
      .section-homeslider .slider-controls .arrow.arrow-left {
        left: 0rem; }
      .section-homeslider .slider-controls .arrow.arrow-right {
        right: 0rem; } }
  .section-homeslider .slider-control {
    flex: 1 1 30%; }
    .section-homeslider .slider-control .control-wrap {
      padding: 0 4.375rem;
      border: 0;
      border-left: 2px solid transparent;
      border-right: 2px solid #fff;
      height: 100%; }
    .section-homeslider .slider-control:first-of-type .control-wrap {
      padding-left: 0; }
    .section-homeslider .slider-control:last-of-type .control-wrap {
      padding-right: 0;
      border-right: 2px solid transparent; }
    @media (max-width: 61.99em) {
      .section-homeslider .slider-control {
        flex: none;
        position: absolute;
        top: 0;
        left: 0;
        visibility: hidden;
        opacity: 0;
        transition: visibility 0s linear 0.3s, opacity 0.3s linear 0s; }
        .section-homeslider .slider-control .control-wrap {
          padding: 0;
          border: 0;
          border-left: 0;
          border-right: 0; }
        .section-homeslider .slider-control:first-of-type .control-wrap {
          padding-left: 0; }
        .section-homeslider .slider-control:last-of-type .control-wrap {
          padding-right: 0;
          border-right: 0; } }
    .section-homeslider .slider-control .control-text {
      color: #AFB3B5;
      display: inline-block; }
      @media (max-width: 61.99em) {
        .section-homeslider .slider-control .control-text h5 {
          color: #76838A;
          transition: color .3s ease-in-out 0s; }
        .section-homeslider .slider-control .control-text p {
          color: #F58F00;
          transition: color .3s ease-in-out 0s; }
        .section-homeslider .slider-control .control-text:hover h5 {
          color: #fff; }
        .section-homeslider .slider-control .control-text:hover p {
          color: #fff; } }
    .section-homeslider .slider-control h5 {
      font-size: 1.6875rem;
      margin: 0 0 1rem; }
    .section-homeslider .slider-control p {
      font-size: 2.1875rem;
      margin: 0; }
  .section-homeslider .control-checkbox:checked#hpSlide1 ~ .image-holder .image1 {
    transition: opacity .3s ease-out 0s;
    z-index: 1;
    opacity: 1; }
    @media (max-width: 61.99em) {
      .section-homeslider .control-checkbox:checked#hpSlide1 ~ .image-holder .image1 {
        transition: opacity .3s ease-out .3s; } }
  .section-homeslider .control-checkbox:checked#hpSlide1 ~ .controls-container .control1 .control-text {
    color: #fff; }
  .section-homeslider .control-checkbox:checked#hpSlide2 ~ .image-holder .image2 {
    transition: opacity .3s ease-out 0s;
    z-index: 1;
    opacity: 1; }
    @media (max-width: 61.99em) {
      .section-homeslider .control-checkbox:checked#hpSlide2 ~ .image-holder .image2 {
        transition: opacity .3s ease-out .3s; } }
  .section-homeslider .control-checkbox:checked#hpSlide2 ~ .controls-container .control2 .control-text {
    color: #fff; }
  .section-homeslider .control-checkbox:checked#hpSlide3 ~ .image-holder .image3 {
    transition: opacity .3s ease-out 0s;
    z-index: 1;
    opacity: 1; }
    @media (max-width: 61.99em) {
      .section-homeslider .control-checkbox:checked#hpSlide3 ~ .image-holder .image3 {
        transition: opacity .3s ease-out .3s; } }
  .section-homeslider .control-checkbox:checked#hpSlide3 ~ .controls-container .control3 .control-text {
    color: #fff; }
  @media (max-width: 61.99em) {
    .section-homeslider .control-checkbox:checked#hpSlide1 ~ .controls-container .arrow-left {
      visibility: hidden;
      opacity: 0;
      transition: visibility 0s linear 0.3s, opacity 0.3s linear 0s; }
    .section-homeslider .control-checkbox:checked#hpSlide1 ~ .controls-container .control1 {
      visibility: visible;
      opacity: 1;
      transition: visibility 0s linear 0s, opacity 0.3s linear 0s;
      transition: visibility 0s linear 0s, opacity .3s linear .3s; }
    .section-homeslider .control-checkbox:checked#hpSlide2 ~ .controls-container .control2 {
      visibility: visible;
      opacity: 1;
      transition: visibility 0s linear 0s, opacity 0.3s linear 0s;
      transition: visibility 0s linear 0s, opacity .3s linear .3s; }
    .section-homeslider .control-checkbox:checked#hpSlide3 ~ .controls-container .arrow-right {
      visibility: hidden;
      opacity: 0;
      transition: visibility 0s linear 0.3s, opacity 0.3s linear 0s; }
    .section-homeslider .control-checkbox:checked#hpSlide3 ~ .controls-container .control3 {
      visibility: visible;
      opacity: 1;
      transition: visibility 0s linear 0s, opacity 0.3s linear 0s;
      transition: visibility 0s linear 0s, opacity .3s linear .3s; } }

.contact-form {
  background-color: #E9E9E9; }
  .contact-form .control-checkbox:checked ~ .contact-form-toggle div::after {
    transform: rotate(-180deg); }
  .contact-form .control-checkbox:checked ~ .form-holder {
    transition: max-height .3s ease-in 0s;
    max-height: 115.5rem; }
  .contact-form .contact-form-toggle {
    display: block;
    /* Permalink - use to edit and share this gradient: http://colorzilla.com/gradient-editor/#ffd831+0,f5ab13+60,f58f00+100 */
    background: #ffd831;
    /* Old browsers */
    background: -moz-linear-gradient(left, #ffd831 0%, #f5ab13 60%, #F58F00 100%);
    /* FF3.6-15 */
    background: -webkit-linear-gradient(left, #ffd831 0%, #f5ab13 60%, #F58F00 100%);
    /* Chrome10-25,Safari5.1-6 */
    background: linear-gradient(to right, #ffd831 0%, #f5ab13 60%, #F58F00 100%);
    /* W3C, IE10+, FF16+, Chrome26+, Opera12+, Safari7+ */
    filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#ffd831', endColorstr='#f58f00',GradientType=1 );
    /* IE6-9 */
    text-align: center;
    padding: 0.875rem 0 1.25rem;
    cursor: pointer; }
    .contact-form .contact-form-toggle:hover div {
      opacity: .5; }
    .contact-form .contact-form-toggle div {
      color: #fff;
      font-size: 1.5625rem;
      display: inline-block;
      position: relative;
      padding-right: 1.5625rem;
      transition: opacity .3s ease-in-out 0s; }
      .contact-form .contact-form-toggle div::after {
        content: '';
        position: absolute;
        top: 0;
        right: 0;
        width: 1.125rem;
        height: 100%;
        display: inline-block;
        background: url("/Media/icons/arrow_down_bianco.svg") no-repeat 50% 50%;
        background-size: contain;
        transition: transform .3s ease-in-out 0s; }
  .contact-form .form-holder {
    max-height: 0;
    overflow: hidden;
    transition: max-height .3s ease-out 0s; }
    .contact-form .form-holder form {
      padding: 3.75rem 0; }
      @media (max-width: 47.99em) {
        .contact-form .form-holder form {
          padding: 2.0625rem 0 1.9375rem; } }
    .contact-form .form-holder .field-groups {
      display: flex; }
      @media (max-width: 61.99em) {
        .contact-form .form-holder .field-groups {
          flex-wrap: wrap;
          margin-bottom: 1.25rem; } }
    .contact-form .form-holder .field-group {
      flex: 1 1 50%; }
      .contact-form .form-holder .field-group:first-of-type .group-wrap {
        padding-right: 0.875rem; }
      .contact-form .form-holder .field-group:last-of-type .group-wrap {
        padding-left: 0.875rem; }
      @media (max-width: 61.99em) {
        .contact-form .form-holder .field-group {
          flex: 1 1 100%; }
          .contact-form .form-holder .field-group:first-of-type .group-wrap {
            padding-right: 0; }
          .contact-form .form-holder .field-group:last-of-type .group-wrap {
            padding-left: 0; } }
    .contact-form .form-holder .field-subgroups {
      display: flex; }
      @media (max-width: 47.99em) {
        .contact-form .form-holder .field-subgroups {
          flex-wrap: wrap; } }
    .contact-form .form-holder .field-subgroup {
      flex: 1 1 50%; }
      .contact-form .form-holder .field-subgroup:first-of-type .subgroup-wrap {
        padding-right: 0.3125rem; }
      .contact-form .form-holder .field-subgroup:last-of-type .subgroup-wrap {
        padding-left: 0.3125rem; }
      @media (max-width: 47.99em) {
        .contact-form .form-holder .field-subgroup {
          flex: 1 1 100%; }
          .contact-form .form-holder .field-subgroup:first-of-type .subgroup-wrap {
            padding-right: 0; }
          .contact-form .form-holder .field-subgroup:last-of-type .subgroup-wrap {
            padding-left: 0; } }
    .contact-form .form-holder .textbox, .contact-form .form-holder select, .contact-form .form-holder textarea, .contact-form .form-holder .file-picker-wrapper .file-picker {
      display: block;
      width: 100%;
      border: 0;
      background-color: #fff;
      color: #000;
      padding: 0 1.5rem;
      font-weight: 700;
      margin-bottom: 0.75rem;
      font-size: 1.125rem;
      line-height: 1em;
      height: 3.3125rem;
      vertical-align: middle; }
      @media (max-width: 47.99em) {
        .contact-form .form-holder .textbox, .contact-form .form-holder select, .contact-form .form-holder textarea, .contact-form .form-holder .file-picker-wrapper .file-picker {
          font-size: 1.0625rem;
          padding: 0 1.375rem; } }
    .contact-form .form-holder select {
      -webkit-tap-highlight-color: transparent;
      appearance: none;
      -webkit-appearance: none;
      -moz-appearance: none;
      text-indent: 0.0625rem;
      text-overflow: '';
      border-radius: 0;
      cursor: pointer;
      background: url("/Media/icons/arrow_down_grigio.svg") no-repeat;
      background-position: calc(100% - 1em) center;
      background-color: #fff;
      background-size: auto 0.75em; }
      .contact-form .form-holder select::-ms-expand {
        display: none; }
      @media screen and (min-width: 0\0) and (min-resolution: 0.001dpcm) {
        .contact-form .form-holder select {
          background-image: none; } }
    .contact-form .form-holder textarea {
      padding-top: 0.875rem;
      padding-bottom: 0.875rem;
      height: 15.4375rem;
      resize: none;
      margin-bottom: 1rem; }
    .contact-form .form-holder button[type="submit"] {
      border: 0;
      background-color: #F58F00;
      color: #fff;
      display: block;
      width: 100%;
      font-size: 1.6875rem;
      line-height: 1em;
      height: 3.3125rem;
      padding: 0;
      cursor: pointer;
      transition: color .3s ease-in-out 0s, background-color .3s ease-in-out 0s;
      margin: 1rem 0; }
      .contact-form .form-holder button[type="submit"]:hover {
        background-color: #76838A; }
    .contact-form .form-holder .contact-agreements-text {
      font-size: 0.875rem;
      margin: 1rem 0; }
      .contact-form .form-holder .contact-agreements-text.no-margin {
        margin-bottom: 0; }
    .contact-form .form-holder .contact-check-label {
      display: inline-block;
      cursor: pointer;
      margin: .25rem 0 0;
      padding-left: 2rem;
      position: relative;
      font-size: 0.875rem; }
      .contact-form .form-holder .contact-check-label input[type="checkbox"], .contact-form .form-holder .contact-check-label input[type="radio"] {
        position: absolute;
        height: 0;
        width: 0;
        opacity: 0; }
      .contact-form .form-holder .contact-check-label .fauxbox {
        display: block;
        position: absolute;
        top: 0;
        left: 0;
        height: 1rem;
        width: 1rem; }
        .contact-form .form-holder .contact-check-label .fauxbox::before, .contact-form .form-holder .contact-check-label .fauxbox::after {
          content: '';
          display: block;
          position: absolute; }
        .contact-form .form-holder .contact-check-label .fauxbox::before {
          content: '';
          display: block;
          position: absolute;
          top: 0;
          left: 0;
          bottom: 0;
          right: 0;
          background-color: #fff; }
        .contact-form .form-holder .contact-check-label .fauxbox::after {
          top: .25rem;
          left: .25rem;
          bottom: .25rem;
          right: .25rem;
          background-color: transparent;
          transition: background-color .2s ease-in-out 0s; }
      .contact-form .form-holder .contact-check-label:hover .fauxbox::after {
        background-color: #AFB3B5; }
      .contact-form .form-holder .contact-check-label input[type="radio"] ~ span::before, .contact-form .form-holder .contact-check-label input[type="radio"] ~ span::after {
        border-radius: 50%; }
      .contact-form .form-holder .contact-check-label input[type="checkbox"]:checked ~ span::after, .contact-form .form-holder .contact-check-label input[type="radio"]:checked ~ span::after {
        background-color: #000; }
      .contact-form .form-holder .contact-check-label input[type="checkbox"].input-validation-error ~ span.fauxbox, .contact-form .form-holder .contact-check-label input[type="radio"].input-validation-error ~ span.fauxbox {
        border: 1px solid #c00 !important; }
    .contact-form .form-holder .contact-privacy {
      font-size: 0.8125rem;
      color: #AFB3B5;
      margin: 0; }

.input-validation-error {
  color: #c00000 !important;
  border: 1px solid #c00000 !important; }

.section-sideboxlink {
  position: relative;
  padding: 3.75rem 0; }
  .section-sideboxlink .bg-image {
    position: absolute;
    z-index: 1;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-repeat: no-repeat;
    background-position: 50% 50%;
    background-size: cover; }
  .section-sideboxlink .sidebox {
    display: block;
    position: relative;
    z-index: 2;
    background-color: rgba(255, 255, 255, 0.85);
    width: 58.3333%;
    padding: 3.75rem 3.75rem 3.4375rem 8.3333%; }
    .section-sideboxlink .sidebox h3 {
      color: #F58F00;
      font-size: 2.375rem;
      line-height: 1em;
      margin: 0 0 1.125rem;
      transition: color .3s ease-in-out 0s; }
    .section-sideboxlink .sidebox p {
      color: #8F9293;
      font-size: 1.25rem;
      margin: 0;
      transition: color .3s ease-in-out 0s; }
  .section-sideboxlink a.sidebox:hover {
    background-color: rgba(244, 142, 0, 0.75); }
    .section-sideboxlink a.sidebox:hover h3 {
      color: #fff; }
    .section-sideboxlink a.sidebox:hover p {
      color: #fff; }
  .section-sideboxlink.section-sideboxlink-top {
    background-color: rgba(255, 255, 255, 0.85); }
    @media (min-width: 48em) and (max-width: 61.99em) {
      .section-sideboxlink.section-sideboxlink-top {
        padding: 0; }
        .section-sideboxlink.section-sideboxlink-top .bg-image {
          position: static;
          height: auto;
          padding-bottom: 44.6615%; }
        .section-sideboxlink.section-sideboxlink-top .outerContainer {
          width: 100%; }
          .section-sideboxlink.section-sideboxlink-top .outerContainer .sidebox {
            width: 100%;
            background-color: #E9E9E9;
            padding: 3.75rem 3.75rem 3.4375rem; }
          .section-sideboxlink.section-sideboxlink-top .outerContainer a.sidebox:hover {
            background-color: #F58F00; } }
    @media (max-width: 47.99em) {
      .section-sideboxlink.section-sideboxlink-top {
        padding: 0; }
        .section-sideboxlink.section-sideboxlink-top .bg-image {
          position: static;
          height: auto;
          padding-bottom: 44.6615%; }
        .section-sideboxlink.section-sideboxlink-top .outerContainer {
          width: 100%; }
          .section-sideboxlink.section-sideboxlink-top .outerContainer .sidebox {
            width: 100%;
            background-color: #E9E9E9;
            padding: 1.875rem 1rem; }
          .section-sideboxlink.section-sideboxlink-top .outerContainer a.sidebox:hover {
            background-color: #F58F00; } }
  .section-sideboxlink.section-sideboxlink-bottom .sidebox {
    background-color: rgba(244, 142, 0, 0.75);
    margin-left: auto;
    margin-bottom: 3.75rem; }
    .section-sideboxlink.section-sideboxlink-bottom .sidebox h3 {
      color: #fff; }
    .section-sideboxlink.section-sideboxlink-bottom .sidebox p {
      color: #fff; }
  .section-sideboxlink.section-sideboxlink-bottom a.sidebox:hover {
    background-color: rgba(255, 255, 255, 0.85); }
    .section-sideboxlink.section-sideboxlink-bottom a.sidebox:hover h3 {
      color: #F58F00; }
    .section-sideboxlink.section-sideboxlink-bottom a.sidebox:hover p {
      color: #8F9293; }
  @media (min-width: 48em) and (max-width: 61.99em) {
    .section-sideboxlink.section-sideboxlink-bottom .bg-image {
      background-size: contain;
      background-position: 50% 0;
      background-color: #AFB3B5; }
    .section-sideboxlink.section-sideboxlink-bottom .sidebox {
      margin: 0 0 0.625rem;
      width: 100%;
      padding: 3.75rem 3.75rem 3.4375rem;
      text-align: right; } }
  @media (max-width: 47.99em) {
    .section-sideboxlink.section-sideboxlink-bottom .bg-image {
      background-size: contain;
      background-position: 50% 0;
      background-color: #AFB3B5; }
    .section-sideboxlink.section-sideboxlink-bottom .sidebox {
      margin: 0 0 0.625rem;
      width: 100%;
      padding: 1.875rem 1rem;
      text-align: right; } }
  .section-sideboxlink .step-tiles {
    display: flex;
    justify-content: space-between;
    padding: 0 1.625rem;
    position: relative;
    z-index: 2; }
    @media (max-width: 61.99em) {
      .section-sideboxlink .step-tiles {
        flex-wrap: wrap;
        padding: 0; } }
    .section-sideboxlink .step-tiles .step-tile {
      flex: 1 1 20%;
      margin: 0.625rem;
      background-color: rgba(255, 255, 255, 0.8); }
      @media (max-width: 61.99em) {
        .section-sideboxlink .step-tiles .step-tile {
          flex: 1 1 100%;
          margin: 0.625rem 0; } }
      .section-sideboxlink .step-tiles .step-tile .tile-wrap {
        padding: 1.75rem 1.8125rem 1.5625rem; }
        .section-sideboxlink .step-tiles .step-tile .tile-wrap h5 {
          margin: 0 0 0.8125rem;
          color: #F58F00;
          font-size: 1.6875rem; }
        .section-sideboxlink .step-tiles .step-tile .tile-wrap p {
          margin: 0;
          color: #8F9293;
          font-size: 1.125rem; }

.section-tilecarousel {
  background-color: #E9E9E9;
  padding: 3.125rem 0 5.0625rem; }
  .section-tilecarousel .hp-head {
    color: #F58F00;
    margin: 0 0 3.4375rem; }
  .section-tilecarousel .tile-carousel .slick-slide {
    overflow: hidden; }
    .section-tilecarousel .tile-carousel .slick-slide:nth-of-type(2n+1) .carousel-tile:not(.gradient-tile) {
      background-color: #fff; }
    .section-tilecarousel .tile-carousel .slick-slide:nth-of-type(2n) .carousel-tile:not(.gradient-tile) {
      background-color: #F8F8F8; }
    .section-tilecarousel .tile-carousel .slick-slide > div {
      height: 100%; }
  .section-tilecarousel .tile-carousel .carousel-tile {
    display: block;
    padding-bottom: 1.875rem;
    min-height: 100%; }
    .section-tilecarousel .tile-carousel .carousel-tile.gradient-tile {
      padding-top: 2.1875rem;
      /* Permalink - use to edit and share this gradient: http://colorzilla.com/gradient-editor/#f1374e+0,fabf4b+100 */
      background: #f1374e;
      /* Old browsers */
      background: -moz-linear-gradient(left, #f1374e 0%, #fabf4b 100%);
      /* FF3.6-15 */
      background: -webkit-linear-gradient(left, #f1374e 0%, #fabf4b 100%);
      /* Chrome10-25,Safari5.1-6 */
      background: linear-gradient(to right, #f1374e 0%, #fabf4b 100%);
      /* W3C, IE10+, FF16+, Chrome26+, Opera12+, Safari7+ */
      filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#f1374e', endColorstr='#fabf4b',GradientType=1 );
      /* IE6-9 */ }
      .section-tilecarousel .tile-carousel .carousel-tile.gradient-tile h3 {
        font-size: 2.5rem;
        color: #fff;
        margin: 0 2.75rem 2.875rem; }
        @media (max-width: 47.99em) {
          .section-tilecarousel .tile-carousel .carousel-tile.gradient-tile h3 {
            font-size: 2rem; } }
      .section-tilecarousel .tile-carousel .carousel-tile.gradient-tile p {
        color: #fff; }
    .section-tilecarousel .tile-carousel .carousel-tile .tile-img {
      padding-bottom: 34.0633%;
      background-repeat: no-repeat;
      background-position: 50% 50%;
      background-size: cover;
      margin-bottom: 1.8125rem;
      position: relative; }
    .section-tilecarousel .tile-carousel .carousel-tile .tile-tag {
      position: absolute;
      top: 1em;
      right: 1em;
      background-color: #F58F00;
      color: #fff;
      padding: 0.125rem 0.25rem;
      text-align: right; }
      .section-tilecarousel .tile-carousel .carousel-tile .tile-tag span:not(:last-of-type)::after {
        content: ','; }
    .section-tilecarousel .tile-carousel .carousel-tile h5 {
      font-size: 1.6875rem;
      line-height: 1.25em;
      color: #F58F00;
      margin: 0 2.75rem 1.5625rem; }
    .section-tilecarousel .tile-carousel .carousel-tile p {
      font-size: 1.25rem;
      line-height: 1.25em;
      color: #8F9293;
      margin: 0 2.75rem; }
  .section-tilecarousel .tile-arrow {
    display: block;
    position: absolute;
    z-index: 1;
    width: 2.1875rem;
    height: 100%;
    top: 0;
    border: 0;
    background-color: rgba(118, 131, 138, 0.4);
    background-repeat: no-repeat;
    background-position: 50% 50%;
    background-size: 50% auto;
    cursor: pointer;
    transition: background-color .3s ease-in-out 0s; }
    .section-tilecarousel .tile-arrow:hover {
      background-color: #76838a; }
    .section-tilecarousel .tile-arrow.arrow-left {
      left: 0;
      background-image: url("/Media/icons/arrow_left_bianco.svg"); }
    .section-tilecarousel .tile-arrow.arrow-right {
      right: 0;
      background-image: url("/Media/icons/arrow_right_bianco.svg"); }

.section-community {
  padding: 3.25rem 0 7.5rem;
  background-color: #DEDEDE; }
  @media (max-width: 61.99em) {
    .section-community {
      padding-bottom: 3.75rem; }
      .section-community .outerContainer {
        width: 100%; } }
  .section-community .hp-head {
    margin: 0 0 3.8125rem;
    color: #fff; }
  .section-community .community-tiles {
    display: flex;
    flex-wrap: wrap; }
  .section-community .community-tile {
    display: block;
    flex: 1 1 50%;
    position: relative;
    background-position: 50% 50%;
    background-repeat: no-repeat;
    background-size: cover; }
    .section-community .community-tile::after {
      content: '';
      display: block;
      width: 100%;
      padding-bottom: 26.156%; }
    @media (min-width: 48em) and (max-width: 61.99em) {
      .section-community .community-tile {
        flex: 1 1 100%; }
        .section-community .community-tile::after {
          padding-bottom: 27.9948%; } }
    @media (max-width: 47.99em) {
      .section-community .community-tile {
        flex: 1 1 100%; }
        .section-community .community-tile::after {
          padding-bottom: 50%; } }
    .section-community .community-tile:hover {
      opacity: .5; }
    .section-community .community-tile::before {
      content: '';
      display: block;
      position: absolute;
      top: 2rem;
      left: 1.9375rem;
      width: 2.5rem;
      height: 2.5rem;
      background-position: 50% 50%;
      background-repeat: no-repeat;
      background-size: contain; }
      @media (min-width: 48em) and (max-width: 61.99em) {
        .section-community .community-tile::before {
          left: 1.5rem; } }
      @media (max-width: 47.99em) {
        .section-community .community-tile::before {
          top: 0.9375rem;
          left: 1rem; } }
    .section-community .community-tile .cta {
      padding: 0.8125rem 3.75rem 1.125rem 1.875rem;
      font-size: 1.5625rem;
      line-height: 1em;
      color: #fff;
      display: block;
      position: absolute;
      bottom: 0;
      left: 0; }
      @media (max-width: 47.99em) {
        .section-community .community-tile .cta {
          font-size: 1.25rem;
          padding: 0.8125rem 1.875rem 1.125rem 1rem; } }
    .section-community .community-tile.instagram::before {
      background-image: url("/Media/icons/Social/instagram.svg"); }
    .section-community .community-tile.instagram .cta {
      background-color: rgba(204, 51, 102, 0.8); }
    .section-community .community-tile.facebook::before {
      background-image: url("/Media/icons/Social/facebook.svg"); }
    .section-community .community-tile.facebook .cta {
      background-color: rgba(71, 89, 148, 0.8); }
    .section-community .community-tile.twitter::before {
      background-image: url("/Media/icons/Social/twitter.svg"); }
    .section-community .community-tile.twitter .cta {
      background-color: rgba(84, 171, 237, 0.8); }
    .section-community .community-tile.youtube::before {
      background-image: url("/Media/icons/Social/youtube.svg"); }
    .section-community .community-tile.youtube .cta {
      background-color: rgba(237, 28, 36, 0.8); }

.section-head {
  position: relative;
  background-repeat: no-repeat;
  background-position: 50% 50%;
  background-size: cover;
  height: 25rem; }
  .section-head .container-wrap {
    position: absolute;
    bottom: 0;
    left: 0;
    width: 100%; }
    .section-head .container-wrap h1 {
      font-size: 3.4375rem;
      color: #fff;
      display: inline-block;
      padding: 2.6875rem 8.5625rem 2.625rem;
      margin: 0;
      background-color: rgba(245, 143, 0, 0.85); }
  @media (min-width: 48em) and (max-width: 61.99em) {
    .section-head .outerContainer {
      width: 100%; }
    .section-head .container-wrap h1 {
      font-size: 3.125rem;
      padding: 1.8125rem 4.5625rem 2.5625rem 4rem; } }
  @media (max-width: 47.99em) {
    .section-head .outerContainer {
      width: 100%; }
    .section-head .container-wrap h1 {
      width: 100%;
      text-align: center;
      font-size: 2.375rem;
      padding: 1.1875rem 1rem 1.625rem; } }

.section-illustrated-text .content-wrap {
  display: flex; }
  @media (max-width: 61.99em) {
    .section-illustrated-text .content-wrap {
      flex-wrap: wrap; } }

.section-illustrated-text .content {
  flex: 1 1 10%; }
  @media (min-width: 48em) and (max-width: 61.99em) {
    .section-illustrated-text .content {
      flex: 1 1 100%; }
      .section-illustrated-text .content:not(.image-holder) {
        margin-top: 3.75rem;
        margin-bottom: 0.625rem; }
      .section-illustrated-text .content:last-child:not(.image-holder) {
        margin-bottom: 3.75rem; } }
  @media (max-width: 47.99em) {
    .section-illustrated-text .content {
      flex: 1 1 100%; }
      .section-illustrated-text .content:first-child {
        margin-top: 1.25rem;
        margin-bottom: 1.25rem; }
      .section-illustrated-text .content:last-child:not(.image-holder) {
        margin-bottom: 3.75rem; } }
  .section-illustrated-text .content.image-holder {
    align-self: end; }
    .section-illustrated-text .content.image-holder.image-right::after {
      content: '';
      display: block;
      clear: both; }
    .section-illustrated-text .content.image-holder.image-right .image {
      float: right; }
  @media (min-width: 62em) {
    .section-illustrated-text .content .padding-top-large {
      padding-top: 9.8125rem; }
    .section-illustrated-text .content .padding-top {
      padding-top: 3.75rem; }
    .section-illustrated-text .content .padding-top-small {
      padding-top: 1.8125rem; }
    .section-illustrated-text .content .padding-left {
      padding-left: 8.5625rem; }
    .section-illustrated-text .content .padding-right {
      padding-right: 8.5625rem; }
    .section-illustrated-text .content .padding-bottom {
      padding-bottom: 3.75rem; } }

.section-illustrated-text h2 {
  color: #F58F00;
  margin: 0 0 1.4375rem; }

.section-illustrated-text a {
  color: #76838A; }
  .section-illustrated-text a:hover {
    color: #F58F00; }
  .section-illustrated-text a.h2 {
    color: #F58F00;
    font-size: 2.1875rem;
    display: inline-block;
    position: relative;
    padding-right: 2.125rem;
    margin-bottom: 4.0625rem; }
    .section-illustrated-text a.h2:hover {
      color: #AFB3B5; }
    .section-illustrated-text a.h2 .ud-arrow-right-grigio {
      display: inline-block;
      font-size: 1.625rem;
      line-height: 1em;
      margin: 0 0 0 0.75rem;
      vertical-align: bottom; }

.section-illustrated-text p {
  color: #76838A;
  transition: all 0.15s ease-in-out; }
  .section-illustrated-text p.margin {
    margin: 2.5rem 0; }
  .section-illustrated-text p .highlight {
    text-transform: uppercase;
    color: #F58F00; }

.section-illustrated-text a:hover p {
  color: #AFB3B5; }

.section-illustrated-text .image {
  display: block;
  margin: 0;
  border: 0;
  max-width: 100%;
  height: auto; }

@media (min-width: 48em) and (max-width: 61.99em) {
  .section-illustrated-text.full-mobile .outerContainer {
    width: 100%; }
  .section-illustrated-text.full-mobile .content:not(.image-holder) > div {
    width: 640px;
    margin-left: auto;
    margin-right: auto; } }

@media (max-width: 47.99em) {
  .section-illustrated-text.full-mobile .outerContainer {
    width: 100%; }
  .section-illustrated-text.full-mobile .content:not(.image-holder) > div {
    width: 90%;
    margin-left: auto;
    margin-right: auto; } }

.section-color-bar {
  background-color: #F58F00;
  color: #fff;
  padding: 4.0625rem 0 3.8125rem; }
  .section-color-bar h2 {
    margin: 0; }
    .section-color-bar h2 + p {
      margin: 1.4375rem 0 0; }
    .section-color-bar h2.main-color {
      color: #F58F00; }
  @media (max-width: 47.99em) {
    .section-color-bar {
      padding: 2.6875rem 0 2.5rem; }
      .section-color-bar h2 {
        font-size: 1.875rem; } }
  .section-color-bar.alt {
    background-color: #AFB3B5; }
    .section-color-bar.alt a {
      color: #fff; }
  .section-color-bar.white {
    background-color: #fff;
    color: #76838A; }
    .section-color-bar.white a {
      color: #F58F00; }

@media (max-width: 61.99em) {
  .section-advantage-boxes .outerContainer {
    width: 100%; } }

.section-advantage-boxes .advantage-boxes {
  display: flex; }
  @media (max-width: 61.99em) {
    .section-advantage-boxes .advantage-boxes {
      flex-wrap: wrap; } }

.section-advantage-boxes .advantage-box {
  flex: 1 1 33%;
  background-color: #E9E9E9; }
  @media (max-width: 61.99em) {
    .section-advantage-boxes .advantage-box {
      flex: 1 1 100%; } }
  .section-advantage-boxes .advantage-box .image {
    padding-bottom: 52.3723%;
    background-position: 50% 50%;
    background-repeat: no-repeat;
    background-size: cover; }
  .section-advantage-boxes .advantage-box .points {
    padding: 3.4375rem 8.5625rem 3.75rem; }
    @media (min-width: 62em) and (max-width: 74.99em) {
      .section-advantage-boxes .advantage-box .points {
        padding: 3.4375rem 6.5625rem 3.75rem; } }
    @media (min-width: 75em) and (max-width: 81.24em) {
      .section-advantage-boxes .advantage-box .points {
        padding: 3.4375rem 5.5625rem 3.75rem; } }
    @media (min-width: 81.25em) and (max-width: 106.24em) {
      .section-advantage-boxes .advantage-box .points {
        padding: 3.4375rem 6.5625rem 3.75rem; } }
    @media (max-width: 47.99em) {
      .section-advantage-boxes .advantage-box .points {
        padding: 1.5625rem 1rem 2.5rem; } }
    .section-advantage-boxes .advantage-box .points a {
      font-size: 1.5625rem;
      color: #F58F00;
      margin: 0 0 1.9375rem;
      display: inline-block;
      position: relative;
      padding-right: 2.125rem; }
      .section-advantage-boxes .advantage-box .points a:hover {
        color: #AFB3B5; }
      .section-advantage-boxes .advantage-box .points a .ud-arrow-right-grigio {
        display: inline-block;
        font-size: 1.125rem;
        line-height: 1em;
        margin: 0 0 0 0.75rem;
        vertical-align: bottom; }
    .section-advantage-boxes .advantage-box .points .point {
      font-size: 1.25rem;
      color: #76838A;
      padding: 1.875rem 0;
      border: 0;
      border-top: 2px solid #F58F00; }
  .section-advantage-boxes .advantage-box:nth-of-type(2n) {
    background-color: #F58F00; }
    .section-advantage-boxes .advantage-box:nth-of-type(2n) .points a {
      color: #fff; }
      .section-advantage-boxes .advantage-box:nth-of-type(2n) .points a:hover {
        color: #AFB3B5; }
    .section-advantage-boxes .advantage-box:nth-of-type(2n) .points .point {
      color: #fff;
      border-top: 2px solid #fff; }

@media (max-width: 61.99em) {
  .section-dual-products .outerContainer {
    width: 100%; } }

.section-dual-products .dual-products {
  display: flex; }
  @media (max-width: 61.99em) {
    .section-dual-products .dual-products {
      flex-wrap: wrap; } }

.section-dual-products .product {
  flex: 1 1 50%; }
  @media (max-width: 61.99em) {
    .section-dual-products .product {
      flex: 1 1 100%; } }
  .section-dual-products .product .product-bg {
    background-repeat: no-repeat;
    background-position: 50% 50%;
    background-size: cover;
    padding-bottom: 66.4234%;
    position: relative; }
    @media (min-width: 48em) and (max-width: 61.99em) {
      .section-dual-products .product .product-bg {
        padding-bottom: 71.09375%; } }
    @media (max-width: 47.99em) {
      .section-dual-products .product .product-bg {
        padding-bottom: 171.875%; } }
  .section-dual-products .product .box {
    position: absolute;
    bottom: 0;
    left: 0;
    width: 100%;
    padding: 2.5rem 8.5625rem;
    background-color: rgba(245, 143, 0, 0.9);
    min-height: 50%;
    color: #fff; }
    @media (min-width: 62em) and (max-width: 106.24em) {
      .section-dual-products .product .box {
        padding: 2.1875rem 5rem; } }
    @media (min-width: 48em) and (max-width: 61.99em) {
      .section-dual-products .product .box {
        min-height: 0;
        padding: 3.5rem 8rem 3.75rem; } }
    @media (max-width: 47.99em) {
      .section-dual-products .product .box {
        min-height: 0;
        padding: 2.25rem 1rem 2.5rem; } }
    .section-dual-products .product .box h3 {
      margin: 0 0 1.9375rem; }
    .section-dual-products .product .box a {
      font-size: 1.5625rem;
      color: #fff;
      margin: 0 0 1.9375rem;
      display: inline-block;
      position: relative; }
      .section-dual-products .product .box a:hover {
        color: #AFB3B5; }
      .section-dual-products .product .box a .ud-arrow-right-grigio {
        display: inline-block;
        font-size: 1.1875rem;
        line-height: 1em;
        margin: 0 0 0 0.75rem;
        vertical-align: bottom; }
    .section-dual-products .product .box .margin {
      margin: 2.5rem 0 1.875rem; }
    .section-dual-products .product .box .uppercase {
      text-transform: uppercase; }
    .section-dual-products .product .box .main-color {
      color: #F58F00; }
    .section-dual-products .product .box .downloads-wrap a {
      font-size: 1.0625rem;
      margin: 0; }
  .section-dual-products .product:nth-of-type(2n) .box {
    background-color: rgba(255, 255, 255, 0.9);
    color: #76838A; }
    .section-dual-products .product:nth-of-type(2n) .box a {
      color: #76838A; }
      .section-dual-products .product:nth-of-type(2n) .box a:hover {
        color: #AFB3B5; }

.section-dual-products.alt .product .product-bg {
  padding-bottom: 76.8856%; }
  @media (max-width: 47.99em) {
    .section-dual-products.alt .product .product-bg {
      padding-bottom: 165.625%; } }

.section-dual-products.alt .product .box {
  background-color: rgba(255, 255, 255, 0.9);
  color: #76838A; }
  .section-dual-products.alt .product .box a {
    color: #76838A; }
    .section-dual-products.alt .product .box a:hover {
      color: #F58F00; }

@media (max-width: 47.99em) {
  .section-dual-products.alt .product:nth-of-type(2n) .product-bg {
    padding-bottom: 199.375%; } }

.section-dual-products.alt .product:nth-of-type(2n) .box {
  background-color: rgba(199, 203, 203, 0.9);
  color: #fff; }
  .section-dual-products.alt .product:nth-of-type(2n) .box a {
    color: #fff; }
    .section-dual-products.alt .product:nth-of-type(2n) .box a:hover {
      color: #F58F00; }

.section-dual-products.alt.reversed .product .box {
  background-color: rgba(199, 203, 203, 0.9);
  color: #fff; }
  .section-dual-products.alt.reversed .product .box a {
    color: #fff; }
    .section-dual-products.alt.reversed .product .box a:hover {
      color: #F58F00; }
  .section-dual-products.alt.reversed .product .box .downloads-wrap .download-icon {
    background-image: url("/Media/icons/cartella_bianco.svg"); }
    .section-dual-products.alt.reversed .product .box .downloads-wrap .download-icon.icon-tool {
      background-image: url("/assets/css/img/web-tool-bianco.svg"); }
    .section-dual-products.alt.reversed .product .box .downloads-wrap .download-icon.icon-tool-smartphone {
      background-image: url("/assets/css/img/web-tool-smartphone-bianco.svg"); }
  .section-dual-products.alt.reversed .product .box .downloads-wrap a:hover .download-icon::after {
    background-image: url("/Media/icons/cartella_arancione.svg"); }
  .section-dual-products.alt.reversed .product .box .downloads-wrap a:hover .download-icon.icon-tool::after {
    background-image: url("/assets/css/img/web-tool-arancione.svg"); }
  .section-dual-products.alt.reversed .product .box .downloads-wrap a:hover .download-icon.icon-tool-smartphone::after {
    background-image: url("/assets/css/img/web-tool-smartphone-arancione.svg"); }

.section-dual-products.alt.reversed .product:nth-of-type(2n) .box {
  background-color: rgba(255, 255, 255, 0.9);
  color: #76838A; }
  .section-dual-products.alt.reversed .product:nth-of-type(2n) .box a {
    color: #76838A; }
    .section-dual-products.alt.reversed .product:nth-of-type(2n) .box a:hover {
      color: #F58F00; }
  .section-dual-products.alt.reversed .product:nth-of-type(2n) .box .downloads-wrap .download-icon {
    background-image: url("/Media/icons/cartella_arancione.svg"); }
    .section-dual-products.alt.reversed .product:nth-of-type(2n) .box .downloads-wrap .download-icon.icon-tool {
      background-image: url("/assets/css/img/web-tool-arancione.svg"); }
    .section-dual-products.alt.reversed .product:nth-of-type(2n) .box .downloads-wrap .download-icon.icon-tool-smartphone {
      background-image: url("/assets/css/img/web-tool-smartphone-arancione.svg"); }
  .section-dual-products.alt.reversed .product:nth-of-type(2n) .box .downloads-wrap a {
    color: #F58F00; }
    .section-dual-products.alt.reversed .product:nth-of-type(2n) .box .downloads-wrap a:hover {
      color: #76838A; }
      .section-dual-products.alt.reversed .product:nth-of-type(2n) .box .downloads-wrap a:hover .download-icon::after {
        background-image: url("/Media/icons/cartella_grigio.svg"); }
      .section-dual-products.alt.reversed .product:nth-of-type(2n) .box .downloads-wrap a:hover .download-icon.icon-tool::after {
        background-image: url("/assets/css/img/web-tool-grigio.svg"); }
      .section-dual-products.alt.reversed .product:nth-of-type(2n) .box .downloads-wrap a:hover .download-icon.icon-tool-smartphone::after {
        background-image: url("/assets/css/img/web-tool-smartphone-grigio.svg"); }

.section-dual-products.tall .product .product-bg {
  padding-bottom: 99.635%; }

@media (max-width: 47.99em) {
  .section-dual-products.tall-xs .product .product-bg {
    padding-bottom: 208.75%; } }

@media (max-width: 47.99em) {
  .section-dual-products.tallest-xs .product .product-bg, .section-dual-products.tallest-xs.alt .product .product-bg {
    padding-bottom: 321.5625%; } }

@media (min-width: 48em) and (max-width: 61.99em) {
  .section-dual-products.wide-sm .product .box {
    padding-left: 4rem;
    padding-right: 4rem; } }

.section-dual-products.contatti .product .product-bg {
  padding-bottom: 97.4234%; }
  @media (max-width: 47.99em) {
    .section-dual-products.contatti .product .product-bg {
      padding-bottom: 145.4234%; } }
  .section-dual-products.contatti .product .product-bg .box {
    min-height: 60%; }

@media (min-width: 81.25em) {
  .section-dual-products.contatti-triplets .product .product-bg {
    padding-bottom: 175.423%; } }

@media (min-width: 62em) and (max-width: 81.24em) {
  .section-dual-products.contatti-triplets .product .product-bg {
    padding-bottom: 195.423%; } }

.section-dual-products.contatti-triplets .product .product-bg .box {
  min-height: 60%; }

.section-link-bar {
  background-color: #E9E9E9;
  color: #fff;
  padding: 4.1875rem 0 3.75rem;
  text-align: center; }
  .section-link-bar h2 {
    color: #F58F00;
    margin: 0; }
    .section-link-bar h2 + .links {
      margin: 3.75rem 0 0; }
    .section-link-bar h2 + p {
      margin: 1.875rem 0 0; }
  .section-link-bar .links a {
    display: inline-block;
    color: #8F9293;
    font-size: 2.1875rem; }
    .section-link-bar .links a:first-of-type {
      margin: 0 9.375rem 0 0; }
    .section-link-bar .links a:last-of-type {
      margin: 0 0 0 9.375rem; }
    @media (min-width: 48em) and (max-width: 61.99em) {
      .section-link-bar .links a:first-of-type {
        margin: 0 5rem 0 0; }
      .section-link-bar .links a:last-of-type {
        margin: 0 0 0 5rem; } }
    @media (max-width: 47.99em) {
      .section-link-bar .links a {
        display: block; }
        .section-link-bar .links a:first-of-type {
          margin: 0 0 1.5625rem; }
        .section-link-bar .links a:last-of-type {
          margin: 1.5625rem 0 0; } }
    .section-link-bar .links a:hover {
      color: #F58F00; }
  .section-link-bar p {
    color: #76838A;
    font-size: 1.5625rem; }
    .section-link-bar p .highlight, .section-link-bar p a {
      color: #F58F00; }
    .section-link-bar p .highlight {
      white-space: nowrap; }

.section-dual-promo {
  padding-top: 4.125rem;
  text-align: center; }
  @media (max-width: 61.99em) {
    .section-dual-promo .outerContainer {
      width: 100%; } }
  @media (max-width: 47.99em) {
    .section-dual-promo {
      padding-top: 2.6875rem; } }
  .section-dual-promo h2 {
    color: #F58F00;
    margin: 0 0 3.75rem; }
    @media (min-width: 48em) and (max-width: 61.99em) {
      .section-dual-promo h2 {
        margin: 0 0 2.875rem; } }
    @media (max-width: 47.99em) {
      .section-dual-promo h2 {
        margin: 0 0 2.5rem; } }
  .section-dual-promo .dual-promos {
    display: flex; }
    @media (max-width: 61.99em) {
      .section-dual-promo .dual-promos {
        flex-wrap: wrap; } }
  .section-dual-promo .promo {
    flex: 1 1 50%; }
    @media (max-width: 61.99em) {
      .section-dual-promo .promo {
        flex: 1 1 100%; } }
    .section-dual-promo .promo .promo-bg {
      background-repeat: no-repeat;
      background-position: 50% 50%;
      background-size: cover;
      padding-bottom: 46.837%;
      position: relative; }
      @media (min-width: 48em) and (max-width: 61.99em) {
        .section-dual-promo .promo .promo-bg {
          padding-bottom: 50.13%; } }
      @media (max-width: 47.99em) {
        .section-dual-promo .promo .promo-bg {
          padding-bottom: 110.9375%; } }
    .section-dual-promo .promo .box {
      position: absolute;
      bottom: 0;
      left: 0;
      width: 100%;
      padding: 3.1875rem 2rem 3.8125rem;
      background-color: rgba(255, 255, 255, 0.9); }
      @media (max-width: 47.99em) {
        .section-dual-promo .promo .box {
          padding: 2.6875rem 1rem 2.5625rem; } }
      .section-dual-promo .promo .box a {
        font-size: 2.8125rem;
        color: #76838A;
        display: inline-block; }
        @media (max-width: 47.99em) {
          .section-dual-promo .promo .box a {
            font-size: 2.1875rem; } }
        .section-dual-promo .promo .box a:hover {
          color: #F58F00; }
    .section-dual-promo .promo:nth-of-type(2n) .box {
      background-color: rgba(222, 222, 222, 0.9); }
      .section-dual-promo .promo:nth-of-type(2n) .box a {
        color: #fff; }
        .section-dual-promo .promo:nth-of-type(2n) .box a:hover {
          color: #F58F00; }

@media (max-width: 61.99em) {
  .section-quad-boxes .outerContainer {
    width: 100%; } }

.section-quad-boxes .quad-boxes {
  display: flex;
  flex-wrap: wrap; }
  @media (max-width: 61.99em) {
    .section-quad-boxes .quad-boxes > *:nth-child(1) {
      order: 1; }
    .section-quad-boxes .quad-boxes > *:nth-child(2) {
      order: 4; }
    .section-quad-boxes .quad-boxes > *:nth-child(3) {
      order: 2; }
    .section-quad-boxes .quad-boxes > *:nth-child(4) {
      order: 3; }
    .section-quad-boxes .quad-boxes > *:nth-child(5) {
      order: 5; }
    .section-quad-boxes .quad-boxes > *:nth-child(6) {
      order: 6; } }

.section-quad-boxes .image-holder {
  flex: 2 2 50%; }
  @media (min-width: 48em) and (max-width: 61.99em) {
    .section-quad-boxes .image-holder {
      flex: 2 2 100%; } }
  .section-quad-boxes .image-holder .image {
    padding-bottom: 52.3114%;
    background-position: 50% 50%;
    background-repeat: no-repeat;
    background-size: cover; }

.section-quad-boxes .box-wrap {
  flex: 1 1 25%;
  background-color: #E9E9E9;
  color: #76838A; }
  @media (min-width: 48em) and (max-width: 61.99em) {
    .section-quad-boxes .box-wrap {
      flex: 1 1 50%; } }
  @media (max-width: 47.99em) {
    .section-quad-boxes .box-wrap {
      flex: 1 1 100%; } }
  .section-quad-boxes .box-wrap a {
    color: #76838A; }
  .section-quad-boxes .box-wrap:nth-child(2n) {
    background-color: #F58F00;
    color: #fff; }
    .section-quad-boxes .box-wrap:nth-child(2n) a {
      color: #fff; }
  .section-quad-boxes .box-wrap .box {
    padding: 3.75rem 4.125rem 2.5rem 3.875rem; }
    @media (min-width: 48em) and (max-width: 61.99em) {
      .section-quad-boxes .box-wrap .box {
        padding: 3.75rem 3.9375rem; } }
    @media (max-width: 47.99em) {
      .section-quad-boxes .box-wrap .box {
        padding: 1.875rem 1rem; } }
    .section-quad-boxes .box-wrap .box p {
      font-size: 1.875rem; }
      .section-quad-boxes .box-wrap .box p + p {
        margin-top: 2.5rem; }
      .section-quad-boxes .box-wrap .box p.disclaimer {
        font-size: 1.5625rem; }
      .section-quad-boxes .box-wrap .box p + .arrow-link {
        margin-top: 2.5rem; }
    .section-quad-boxes .box-wrap .box .arrow-link {
      display: inline-block;
      font-size: 1.875rem;
      color: #F58F00; }
      .section-quad-boxes .box-wrap .box .arrow-link:hover {
        color: #76838A; }
      .section-quad-boxes .box-wrap .box .arrow-link span {
        display: inline-block;
        font-size: 1.5rem;
        line-height: 1em;
        margin: 0 0 0 0.75rem;
        vertical-align: bottom; }

.section-calculator .text-center {
  padding: 2.8125rem 0 2.6875rem; }
  .section-calculator .text-center + .bg-bar {
    display: none; }

.section-calculator .h2 {
  color: #F58F00; }
  .section-calculator .h2:hover {
    color: #76838A; }
  .section-calculator .h2 span {
    display: inline-block;
    font-size: 1.5rem;
    margin: 0 0 0 1.25rem;
    transform: rotate(180deg);
    transition: transform .3s ease-in-out 0s; }
  .section-calculator .h2.open span {
    transform: rotate(0); }

.section-calculator .bg-bar {
  background-color: #E9E9E9;
  padding: 3.75rem 0 4.8125rem; }

.section-calculator .calculator-main {
  display: flex; }
  @media (max-width: 61.99em) {
    .section-calculator .calculator-main {
      flex-wrap: wrap; } }

.section-calculator .details-wrap {
  flex: 1 1 33%; }
  @media (max-width: 61.99em) {
    .section-calculator .details-wrap {
      flex: 1 1 100%; } }
  .section-calculator .details-wrap .calculator-details {
    padding: 0 4.0625rem 0 0; }
    @media (max-width: 61.99em) {
      .section-calculator .details-wrap .calculator-details {
        padding: 0; } }
  .section-calculator .details-wrap .example-head {
    display: inline-block;
    font-size: 1.25rem;
    padding: 0.75rem 1.875rem 0.875rem 1.9375rem;
    color: #F58F00;
    background-color: #fff;
    margin: 0 0 2.5rem; }
    @media (min-width: 48em) and (max-width: 61.99em) {
      .section-calculator .details-wrap .example-head {
        padding-right: 7.5rem; } }
    @media (max-width: 47.99em) {
      .section-calculator .details-wrap .example-head {
        padding: 0.75rem 1rem 0.875rem;
        display: block;
        width: 100%;
        text-align: center; } }
  .section-calculator .details-wrap h2 {
    color: #F58F00;
    margin: 0 0 2.5rem; }
  .section-calculator .details-wrap .examples {
    display: flex;
    flex-wrap: wrap; }
    @media (min-width: 48em) and (max-width: 61.99em) {
      .section-calculator .details-wrap .examples {
        flex-wrap: nowrap;
        margin-bottom: 3.75rem; } }
    @media (max-width: 47.99em) {
      .section-calculator .details-wrap .examples {
        margin-bottom: 1.125rem; } }
  .section-calculator .details-wrap .example-wrap {
    flex: 1 1 100%; }
    @media (min-width: 48em) and (max-width: 61.99em) {
      .section-calculator .details-wrap .example-wrap {
        flex: 1 1 50%;
        border-right: 1px solid #AFB3B5; } }
    .section-calculator .details-wrap .example-wrap .example {
      border: 0;
      border-top: 2px solid #AFB3B5;
      padding: 2.5rem 0; }
      @media (min-width: 48em) and (max-width: 61.99em) {
        .section-calculator .details-wrap .example-wrap .example {
          padding: 0 1.25rem 0 0;
          border-top: 0; } }
    .section-calculator .details-wrap .example-wrap:last-child .example {
      padding-bottom: 0; }
    @media (min-width: 48em) and (max-width: 61.99em) {
      .section-calculator .details-wrap .example-wrap:last-child {
        border-left: 1px solid #AFB3B5;
        border-right: 0; }
        .section-calculator .details-wrap .example-wrap:last-child .example {
          padding: 0 0 0 1.25rem; } }
    .section-calculator .details-wrap .example-wrap p {
      font-size: 1.5625rem;
      color: #AFB3B5; }
      .section-calculator .details-wrap .example-wrap p:not(.value) {
        margin: 0 0 2.1875rem; }
        @media (min-width: 48em) and (max-width: 61.99em) {
          .section-calculator .details-wrap .example-wrap p:not(.value) {
            min-height: 2.3em; } }
      .section-calculator .details-wrap .example-wrap p.value {
        color: #F58F00; }

.section-calculator .form-wrap {
  flex: 2 2 66%; }

.section-calculator .calculator-form-inputs {
  display: flex;
  flex-wrap: wrap; }

.section-calculator .calculations-inputs-wrap {
  flex: 1 1 50%;
  margin: 0; }
  @media (max-width: 47.99em) {
    .section-calculator .calculations-inputs-wrap {
      flex: 1 1 100%; } }
  .section-calculator .calculations-inputs-wrap input {
    display: block;
    text-align: center;
    width: 100%;
    border: 0;
    padding: 1.4375rem 1rem 1.75rem;
    margin-bottom: 1.5625rem; }
  .section-calculator .calculations-inputs-wrap .calculations {
    padding: 0 0 0 0.90625rem; }
    @media (max-width: 47.99em) {
      .section-calculator .calculations-inputs-wrap .calculations {
        padding: 0; } }
  .section-calculator .calculations-inputs-wrap:first-of-type .calculations {
    padding: 0 0.90625rem 0 0; }
    @media (max-width: 47.99em) {
      .section-calculator .calculations-inputs-wrap:first-of-type .calculations {
        padding: 0; } }

.section-calculator .calculator-form {
  display: flex; }
  @media (max-width: 47.99em) {
    .section-calculator .calculator-form {
      flex-wrap: wrap; } }

.section-calculator .calculations-wrap {
  max-width: 50%;
  flex: 1 0 50%;
  margin: 0 0 1.5625rem; }
  @media (max-width: 47.99em) {
    .section-calculator .calculations-wrap {
      flex: 1 1 100%;
      max-width: 100%; } }
  .section-calculator .calculations-wrap .calculations {
    padding: 0 0 0 0.90625rem;
    height: 100%;
    min-height: 100%; }
    @media (max-width: 47.99em) {
      .section-calculator .calculations-wrap .calculations {
        padding: 0; } }
  .section-calculator .calculations-wrap:first-of-type .calculations {
    padding: 0 0.90625rem 0 0; }
    @media (max-width: 47.99em) {
      .section-calculator .calculations-wrap:first-of-type .calculations {
        padding: 0; } }
  .section-calculator .calculations-wrap .calculations-box {
    padding: 3.125rem 1rem 3.75rem;
    background-color: #fff;
    text-align: center;
    height: 100%;
    min-height: 100%; }
    .section-calculator .calculations-wrap .calculations-box .name {
      font-size: 1.875rem;
      color: #F58F00;
      margin: 0 0 3.125rem; }
    .section-calculator .calculations-wrap .calculations-box .value-wrap:not(:last-child) {
      margin-bottom: 3.125rem; }
    .section-calculator .calculations-wrap .calculations-box .value-wrap .value {
      display: block;
      font-size: 2.8125rem;
      color: #F58F00;
      margin-bottom: 0.9375rem; }
    .section-calculator .calculations-wrap .calculations-box .value-wrap .value-desc {
      display: block;
      text-transform: uppercase;
      font-size: 1.25rem;
      color: #AFB3B5; }

.section-calculator button {
  background-color: #F58F00;
  color: #fff;
  font-size: 1.5625rem;
  border: 0;
  display: block;
  width: 100%;
  text-align: center;
  padding: 0.9375rem 1rem 1rem;
  cursor: pointer;
  transition: background-color .3s ease-in-out 0s; }
  .section-calculator button span {
    display: inline-block;
    font-size: 1.25rem;
    margin: 0 0 0 0.75rem; }
  .section-calculator button:hover {
    background-color: #76838A; }

.section-single-product .outerContainer {
  position: relative; }

@media (max-width: 61.99em) {
  .section-single-product .outerContainer {
    width: 100%; } }

.section-single-product .product-wrap {
  background-repeat: no-repeat;
  background-position: 50% 50%;
  background-size: cover;
  padding-bottom: 36.4963503649635%;
  position: relative;
  z-index: 1; }
  @media (min-width: 48em) and (max-width: 61.99em) {
    .section-single-product .product-wrap {
      padding-bottom: 71.09375%; } }
  @media (max-width: 47.99em) {
    .section-single-product .product-wrap {
      padding-bottom: 171.875%; } }

.section-single-product .product-bg {
  font-size: 0;
  background-repeat: no-repeat;
  background-position: 50% 50%;
  background-size: cover;
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  right: 0; }

@media (max-width: 47.99em) {
  .section-single-product.tall-xs .product-wrap {
    padding-bottom: 241.5625%; } }

@media (min-width: 48em) and (max-width: 61.99em) {
  .section-single-product.tall-sm .product-wrap {
    padding-bottom: 104.6875%; } }

.section-single-product .box {
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  padding: 3.4375rem 8.5625rem 3.75rem;
  background-color: rgba(199, 203, 203, 0.9);
  color: #fff; }
  @media (min-width: 62em) and (max-width: 106.24em) {
    .section-single-product .box {
      padding: 2.1875rem 5rem; } }
  @media (min-width: 48em) and (max-width: 61.99em) {
    .section-single-product .box {
      padding: 3.4375rem 4rem 3.75rem; } }
  @media (max-width: 47.99em) {
    .section-single-product .box {
      padding: 2.25rem 1rem 2.5rem; } }
  .section-single-product .box h2.small-margin {
    margin: 0 0 1.25rem; }
  @media (max-width: 47.99em) {
    .section-single-product .box h2 {
      font-size: 1.75rem; } }
  .section-single-product .box h3 {
    margin: 0 0 1.875rem; }
  .section-single-product .box a {
    font-size: 1.5625rem;
    color: #fff;
    margin: 0 0 1.9375rem;
    display: inline-block;
    position: relative; }
    .section-single-product .box a.small-margin {
      margin-bottom: 0.875rem; }
    .section-single-product .box a .ud-arrow-right-grigio {
      display: inline-block;
      font-size: 1.1875rem;
      line-height: 1em;
      margin: 0 0 0 0.75rem;
      vertical-align: bottom; }
    .section-single-product .box a:hover {
      color: #F58F00; }
  .section-single-product .box .margin {
    margin: 1.875rem 0; }
  .section-single-product .box .uppercase {
    text-transform: uppercase; }
  .section-single-product .box .downloads-wrap .download-icon {
    background-image: url("/Media/icons/cartella_bianco.svg"); }
    .section-single-product .box .downloads-wrap .download-icon.icon-tool {
      background-image: url("/assets/css/img/web-tool-bianco.svg"); }
    .section-single-product .box .downloads-wrap .download-icon.icon-tool-smartphone {
      background-image: url("/assets/css/img/web-tool-smartphone-bianco.svg"); }
  .section-single-product .box .downloads-wrap a {
    font-size: 1.0625rem;
    margin: 0; }
    .section-single-product .box .downloads-wrap a:hover .download-icon::after {
      background-image: url("/Media/icons/cartella_arancione.svg"); }
    .section-single-product .box .downloads-wrap a:hover .download-icon.icon-tool::after {
      background-image: url("/assets/css/img/web-tool-arancione.svg"); }
    .section-single-product .box .downloads-wrap a:hover .download-icon.icon-tool-smartphone::after {
      background-image: url("/assets/css/img/web-tool-smartphone-arancione.svg"); }

.section-single-product.alt .box {
  background-color: rgba(245, 143, 0, 0.9);
  color: #fff; }
  .section-single-product.alt .box a {
    color: #fff; }
    .section-single-product.alt .box a:hover {
      color: #76838A; }
  .section-single-product.alt .box .downloads-wrap a:hover .download-icon::after {
    background-image: url("/Media/icons/cartella_grigio.svg"); }
  .section-single-product.alt .box .downloads-wrap a:hover .download-icon.icon-tool::after {
    background-image: url("/assets/css/img/web-tool-grigio.svg"); }
  .section-single-product.alt .box .downloads-wrap a:hover .download-icon.icon-tool-smartphone::after {
    background-image: url("/assets/css/img/web-tool-smartphone-grigio.svg"); }

@media (max-width: 61.99em) {
  .section-mosaic-boxes .outerContainer {
    width: 100%; } }

.section-mosaic-boxes .mosaic-boxes {
  display: flex;
  flex-wrap: wrap; }

.section-mosaic-boxes .vertibox-wrap {
  flex: 1 1 100%;
  text-align: right; }
  .section-mosaic-boxes .vertibox-wrap .box-bg {
    background-repeat: no-repeat;
    background-position: 50% 50%;
    background-size: cover; }
    @media (max-width: 61.99em) {
      .section-mosaic-boxes .vertibox-wrap .box-bg {
        padding-top: 18.75rem; } }
  .section-mosaic-boxes .vertibox-wrap .box {
    display: inline-block;
    width: 50%;
    text-align: center;
    color: #F58F00;
    padding: 3.75rem 8.5625rem 4.75rem;
    background-color: rgba(255, 255, 255, 0.9); }
    @media (min-width: 62em) and (max-width: 81.24em) {
      .section-mosaic-boxes .vertibox-wrap .box {
        padding: 3.75rem 3.75rem 4.75rem; } }
    @media (max-width: 61.99em) {
      .section-mosaic-boxes .vertibox-wrap .box {
        width: 100%;
        display: block; } }
    @media (max-width: 47.99em) {
      .section-mosaic-boxes .vertibox-wrap .box {
        padding: 1.625rem 1rem 2.0625rem; } }
    .section-mosaic-boxes .vertibox-wrap .box h2 {
      font-size: 5.3125rem;
      margin: 0 0 1.125rem; }
    .section-mosaic-boxes .vertibox-wrap .box p {
      font-size: 2.5rem; }

.section-mosaic-boxes .box-wrap {
  flex: 1 1 25%; }
  @media (min-width: 48em) and (max-width: 61.99em) {
    .section-mosaic-boxes .box-wrap {
      flex: 1 1 50%; } }
  @media (max-width: 47.99em) {
    .section-mosaic-boxes .box-wrap {
      flex: 1 1 100%; } }
  .section-mosaic-boxes .box-wrap .box-bg {
    background-repeat: no-repeat;
    background-position: 50% 50%;
    background-size: cover;
    padding-bottom: 90.2676%;
    position: relative; }
    @media (min-width: 48em) and (max-width: 61.99em) {
      .section-mosaic-boxes .box-wrap .box-bg {
        padding-bottom: 96.6146%; } }
    @media (max-width: 47.99em) {
      .section-mosaic-boxes .box-wrap .box-bg {
        padding-bottom: 171.875%; } }
  .section-mosaic-boxes .box-wrap .box {
    position: absolute;
    bottom: 0;
    left: 0;
    width: 100%;
    padding: 2.5rem 3.625rem;
    background-color: rgba(245, 143, 0, 0.9);
    min-height: 50%;
    color: #fff; }
    @media (min-width: 62em) and (max-width: 106.24em) {
      .section-mosaic-boxes .box-wrap .box {
        padding: 2.5rem; } }
    @media (min-width: 48em) and (max-width: 61.99em) {
      .section-mosaic-boxes .box-wrap .box {
        padding: 2.5rem 2.75rem; } }
    @media (max-width: 47.99em) {
      .section-mosaic-boxes .box-wrap .box {
        min-height: 0;
        padding: 2.25rem 1rem 2.5rem; } }
    .section-mosaic-boxes .box-wrap .box h3 {
      font-size: 3.4375rem;
      margin: 0 0 0.25rem; }
    .section-mosaic-boxes .box-wrap .box p {
      font-size: 2.375rem; }
  .section-mosaic-boxes .box-wrap:nth-of-type(2n) .box {
    background-color: rgba(255, 255, 255, 0.9);
    color: #F58F00; }

.section-pdf-downloads {
  background-color: #DEDEDE;
  padding: 3.75rem 0;
  position: relative; }
  .section-pdf-downloads .anchor {
    position: absolute;
    top: -2.875rem; }
  .section-pdf-downloads .pdf-downloads {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between; }
  .section-pdf-downloads .pdf-wrap {
    flex: 0 1 50%; }
    .section-pdf-downloads .pdf-wrap:nth-child(2n) .pdf {
      margin: 1.875rem 0 1.875rem 4.25rem; }
    @media (max-width: 61.99em) {
      .section-pdf-downloads .pdf-wrap {
        flex: 1 1 100%; }
        .section-pdf-downloads .pdf-wrap:nth-child(2n) .pdf {
          margin: 1.875rem 0; } }
  .section-pdf-downloads .pdf {
    display: flex;
    color: #F58F00;
    justify-content: space-between;
    border: 0;
    border-bottom: 1px solid #76838A;
    margin: 1.875rem 4.25rem 1.875rem 0;
    padding: 0 0 2rem;
    position: relative; }
    .section-pdf-downloads .pdf .text {
      flex: 1 1 50%; }
      .section-pdf-downloads .pdf .text .name {
        margin: 0 0 1.75rem; }
      .section-pdf-downloads .pdf .text .date {
        color: #76838A;
        position: absolute;
        bottom: 1.1875rem;
        left: 0;
        right: 5rem; }
    .section-pdf-downloads .pdf .icon {
      flex: 0 0 auto; }
      .section-pdf-downloads .pdf .icon .downloads-wrap {
        margin: 0;
        padding-left: 0.625rem; }
      .section-pdf-downloads .pdf .icon .download-icon {
        display: block;
        margin: 0 auto 0 0; }
    .section-pdf-downloads .pdf:hover {
      color: #76838A; }
      .section-pdf-downloads .pdf:hover .icon .download-icon::after {
        opacity: 1; }
    @media (max-width: 61.99em) {
      .section-pdf-downloads .pdf {
        margin: 1.875rem 0; } }
    @media (max-width: 47.99em) {
      .section-pdf-downloads .pdf {
        display: block;
        text-align: center; }
        .section-pdf-downloads .pdf .text {
          flex: none; }
          .section-pdf-downloads .pdf .text .name {
            margin: 0; }
          .section-pdf-downloads .pdf .text .date {
            position: static;
            bottom: auto;
            left: auto;
            right: auto;
            margin: 0 0 0.6875rem; }
        .section-pdf-downloads .pdf .icon {
          flex: none; }
          .section-pdf-downloads .pdf .icon .downloads-wrap {
            padding-left: 0; }
          .section-pdf-downloads .pdf .icon .download-icon {
            display: block;
            margin: 0 auto; } }
  .section-pdf-downloads .links-head {
    display: none;
    text-align: center;
    padding: 1.8125rem 0 3.5rem; }
    .section-pdf-downloads .links-head .h3 {
      color: #F58F00; }
      .section-pdf-downloads .links-head .h3:hover {
        color: #76838A; }
      .section-pdf-downloads .links-head .h3 span {
        display: inline-block;
        font-size: 1.5rem;
        margin: 0 0 0 1.25rem; }
  .section-pdf-downloads .links {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    margin: 3.5rem auto 0; }
    @media (max-width: 47.99em) {
      .section-pdf-downloads .links {
        margin-top: 0; } }
    .section-pdf-downloads .links .link-wrap {
      flex: 0 1 auto; }
      @media (max-width: 47.99em) {
        .section-pdf-downloads .links .link-wrap {
          flex: 1 1 100%;
          text-align: center; } }
    .section-pdf-downloads .links a {
      display: inline-block;
      color: #8F9293;
      font-size: 1.5625rem; }
      .section-pdf-downloads .links a:hover, .section-pdf-downloads .links a.active, .section-pdf-downloads .links a:active {
        color: #F58F00; }
      @media (max-width: 47.99em) {
        .section-pdf-downloads .links a {
          margin-top: 1.625rem; } }

#cookieNotice {
  display: none;
  position: fixed;
  z-index: 1339;
  width: 100%;
  bottom: 0;
  left: 0;
  padding: 30px 20px;
  background-color: #4e5b59;
  color: #fff;
  font-size: 16px;
  font-weight: 400;
  line-height: 1.5em; }
  #cookieNotice .container {
    position: relative; }
    @media all {
      #cookieNotice .container {
        width: 100%;
        padding-left: 15px;
        padding-right: 15px;
        margin: 0 auto; } }
    @media (min-width: 48em) {
      #cookieNotice .container {
        width: 750px;
        padding-left: 15px;
        padding-right: 15px;
        margin: 0 auto; } }
    @media (min-width: 62em) {
      #cookieNotice .container {
        width: 970px;
        padding-left: 15px;
        padding-right: 15px;
        margin: 0 auto; } }
    @media (min-width: 75em) {
      #cookieNotice .container {
        width: 1170px;
        padding-left: 15px;
        padding-right: 15px;
        margin: 0 auto; } }
    @media (min-width: 81.25em) {
      #cookieNotice .container {
        width: 1370px;
        padding-left: 15px;
        padding-right: 15px;
        margin: 0 auto; } }
    @media (min-width: 106.25em) {
      #cookieNotice .container {
        width: 1570px;
        padding-left: 15px;
        padding-right: 15px;
        margin: 0 auto; } }
    @media (min-width: 48em) {
      #cookieNotice .container {
        padding-right: 10em !important; } }
    @media (max-width: 47.99em) {
      #cookieNotice .container {
        padding-bottom: 5em; } }
  #cookieNotice a:not(#cookieCloser2) {
    display: inline-block;
    color: #fff;
    border: 0;
    border-bottom: 1px solid #fff;
    -moz-transition: border .3s ease-in-out 0s;
    -ms-transition: border .3s ease-in-out 0s;
    -o-transition: border .3s ease-in-out 0s;
    -webkit-transition: border .3s ease-in-out 0s; }
    #cookieNotice a:not(#cookieCloser2):hover, #cookieNotice a:not(#cookieCloser2):focus {
      color: #fff;
      border-bottom: 1px solid transparent; }
    #cookieNotice a:not(#cookieCloser2).closeCookie {
      position: absolute;
      top: -15px;
      right: 0;
      border: 0; }
      #cookieNotice a:not(#cookieCloser2).closeCookie:hover, #cookieNotice a:not(#cookieCloser2).closeCookie:focus {
        border-bottom: 0;
        opacity: .8;
        -moz-transition: opacity .3s linear 0s;
        -ms-transition: opacity .3s linear 0s;
        -o-transition: opacity .3s linear 0s;
        -webkit-transition: opacity .3s linear 0s; }
  @media (max-width: 767px) {
    #cookieNotice {
      font-size: 11px; } }
  #cookieNotice #cookieCloser2 {
    position: absolute;
    display: block;
    padding: .75em 1.25em;
    text-transform: uppercase;
    font-size: 14px;
    font-weight: bold;
    color: #fff;
    background-color: #f59100;
    border-radius: 1.5em; }
    @media (min-width: 48em) {
      #cookieNotice #cookieCloser2 {
        right: 15px;
        top: 50%;
        transform: translateY(-50%); } }
    @media (max-width: 47.99em) {
      #cookieNotice #cookieCloser2 {
        right: 50%;
        bottom: 0;
        transform: translateX(50%); } }
    #cookieNotice #cookieCloser2:hover {
      background-color: #fff;
      color: #f59100; }

footer {
  font-family: Raleway, arial, helvetica, Sans-Serif; }
  footer .footer-links {
    background-color: #4E5B59;
    padding: 1.6875rem 0 1.25rem;
    font-size: 0.9375rem; }
    @media (max-width: 61.99em) {
      footer .footer-links {
        padding: 0 0 2.5rem; } }
    footer .footer-links a {
      color: #000;
      transition: opacity .3s ease-in-out 0s; }
      footer .footer-links a:hover {
        opacity: .5; }
  footer .footer-parts {
    display: flex;
    margin-bottom: 1.25rem; }
    @media (max-width: 61.99em) {
      footer .footer-parts {
        flex-wrap: wrap;
        margin-bottom: 0.5rem; } }
    footer .footer-parts .footer-part {
      flex: 1 1 33.3333%; }
      footer .footer-parts .footer-part .part-wrap {
        padding-top: 0;
        padding-bottom: 0.3125rem; }
      footer .footer-parts .footer-part:first-of-type .part-wrap {
        padding-right: 1.25rem; }
      footer .footer-parts .footer-part:not(:first-of-type):not(:last-of-type) {
        border: 0;
        border-right: 1px solid #5b6160;
        border-left: 1px solid #5b6160; }
        footer .footer-parts .footer-part:not(:first-of-type):not(:last-of-type) .part-wrap {
          padding-right: 1.25rem;
          padding-left: 1.25rem; }
      footer .footer-parts .footer-part:last-of-type .part-wrap {
        padding-left: 1.25rem; }
      @media (min-width: 48em) and (max-width: 61.99em) {
        footer .footer-parts .footer-part {
          flex: 0 1 60%;
          margin-left: 20%;
          margin-right: 20%; }
          footer .footer-parts .footer-part .part-wrap {
            padding: 2.125rem 1.4375rem; }
          footer .footer-parts .footer-part:first-of-type .part-wrap {
            padding-right: 1.4375rem; }
          footer .footer-parts .footer-part:not(:first-of-type):not(:last-of-type) {
            border: 0;
            border-right: 0;
            border-left: 0;
            border-top: 2px solid #8F9293;
            border-bottom: 2px solid #8F9293; }
            footer .footer-parts .footer-part:not(:first-of-type):not(:last-of-type) .part-wrap {
              padding-right: 1.4375rem;
              padding-left: 1.4375rem; }
          footer .footer-parts .footer-part:last-of-type .part-wrap {
            padding-left: 1.4375rem; } }
      @media (max-width: 47.99em) {
        footer .footer-parts .footer-part {
          flex: 1 1 100%;
          margin-left: 0;
          margin-right: 0; }
          footer .footer-parts .footer-part .part-wrap {
            padding: 2.125rem 0; }
          footer .footer-parts .footer-part:first-of-type .part-wrap {
            padding-right: 0; }
          footer .footer-parts .footer-part:not(:first-of-type):not(:last-of-type) {
            border: 0;
            border-right: 0;
            border-left: 0;
            border-top: 1px solid #8F9293;
            border-bottom: 1px solid #8F9293; }
            footer .footer-parts .footer-part:not(:first-of-type):not(:last-of-type) .part-wrap {
              padding-right: 0;
              padding-left: 0; }
          footer .footer-parts .footer-part:last-of-type .part-wrap {
            padding-left: 0; } }
      footer .footer-parts .footer-part .head {
        margin: 0;
        padding: 8px 0 22px;
        font-size: 23px;
        line-height: 23px;
        font-weight: 700;
        color: #fff; }
      footer .footer-parts .footer-part .footer-socials {
        font-size: 0;
        padding-top: 6px; }
        footer .footer-parts .footer-part .footer-socials a {
          display: inline-block;
          vertical-align: top;
          width: 42px;
          height: 42px;
          margin-bottom: 10px;
          margin-right: 10px;
          background-repeat: no-repeat;
          background-position: 50% 50%;
          background-size: contain; }
          footer .footer-parts .footer-part .footer-socials a.facebook {
            background-image: url("/Media/icons/Social/facebook.svg"); }
          footer .footer-parts .footer-part .footer-socials a.twitter {
            background-image: url("/Media/icons/Social/twitter.svg"); }
          footer .footer-parts .footer-part .footer-socials a.blogday {
            background-image: url("/Media/icons/Social/blog_day.svg"); }
          footer .footer-parts .footer-part .footer-socials a.linkedin {
            background-image: url("/Media/icons/Social/linkedin.svg"); }
          footer .footer-parts .footer-part .footer-socials a.instagram {
            background-image: url("/Media/icons/Social/instagram.svg"); }
          footer .footer-parts .footer-part .footer-socials a.googleplus {
            background-image: url("/Media/icons/Social/gplus.svg"); }
          footer .footer-parts .footer-part .footer-socials a.youtube {
            background-image: url("/Media/icons/Social/youtube.svg"); }
          footer .footer-parts .footer-part .footer-socials a.pinterest {
            background-image: url("/Media/icons/Social/pinterest.svg"); }
        @media (max-width: 61.99em) {
          footer .footer-parts .footer-part .footer-socials {
            text-align: center; }
            footer .footer-parts .footer-part .footer-socials a {
              margin: 0 15px 15px 0; } }
  footer .footer-subparts {
    display: flex;
    justify-content: space-between;
    margin-top: 0; }
    footer .footer-subparts .footer-subpart {
      flex: 0 1 45%; }
    footer .footer-subparts .subhead {
      margin: 0;
      font-size: 14px;
      font-weight: 700;
      color: #fff;
      text-transform: none;
      line-height: 24px; }
    footer .footer-subparts--noflex {
      display: block; }
      footer .footer-subparts--noflex .subhead:not(:first-of-type) {
        margin-top: 1.5em; }
  footer .link-holder a {
    color: #fff;
    font-size: 12px;
    line-height: 24px;
    text-transform: uppercase; }
    footer .link-holder a:hover {
      opacity: 1;
      text-decoration: underline; }
  footer .link-holder .link-holder__wrap {
    white-space: nowrap; }
  footer .link-holder .link-holder__icons-label {
    color: #fff;
    font-size: 12px;
    line-height: 24px;
    text-transform: uppercase; }
  footer .link-holder .link-holder__icon {
    display: inline-block;
    width: 42px;
    height: 42px;
    margin: 0 0 0 10px;
    vertical-align: middle;
    background-size: contain;
    background-position: 50% 50%;
    background-repeat: no-repeat; }
    footer .link-holder .link-holder__icon--appstore {
      background-image: url("/assets/misc/icons/App_store.png"); }
    footer .link-holder .link-holder__icon--playstore {
      background-image: url("/assets/misc/icons/Play_store.png"); }
    footer .link-holder .link-holder__icon:hover {
      opacity: .5; }
  footer .footer-logo {
    text-align: center;
    display: flex;
    justify-content: center;
    align-items: center; }
    footer .footer-logo .logo {
      flex: 0 0 auto;
      display: block;
      margin: 0 1rem 0 0;
      width: 96px;
      height: 96px;
      background: url("/Media/logos/Logo_UP.png") no-repeat 50% 50%;
      background-size: contain; }
      @media (max-width: 47.99em) {
        footer .footer-logo .logo {
          width: 2.625rem;
          height: 2.625rem;
          margin-left: 0;
          margin-right: 0.625rem; } }
    footer .footer-logo .motto {
      flex: 0 0 auto;
      color: #F59100;
      font-size: 20px;
      font-weight: 700;
      font-family: Raleway, arial, helvetica, Sans-Serif; }
    @media (max-width: 47.99em) {
      footer .footer-logo {
        flex-wrap: wrap; }
        footer .footer-logo .motto {
          margin-top: 1rem;
          margin-bottom: 1rem;
          font-size: 1rem; } }
  footer .footer-legal {
    padding: 2.5rem 0;
    font-size: 0.875rem;
    line-height: 1.786em; }
    footer .footer-legal a {
      color: #76838A; }
    footer .footer-legal .vseparator {
      color: #76838A;
      display: inline-block;
      margin: 0 0.625rem; }
    footer .footer-legal p {
      color: #AFB3B5;
      margin: 0;
      font-size: 0.875rem; }

.section-invoice-generator {
  background-color: #E9E9E9;
  padding: 3.75rem 0; }
  @media (max-width: 47.99em) {
    .section-invoice-generator {
      padding: 2.0625rem 0 1.9375rem; } }
  .section-invoice-generator .generator-table {
    display: table;
    width: 100%;
    margin: 20px auto; }
    .section-invoice-generator .generator-table .table-row-group {
      display: table-row-group; }
      .section-invoice-generator .generator-table .table-row-group .table-row:last-child .table-cell {
        padding-bottom: 1rem; }
    .section-invoice-generator .generator-table .table-row {
      display: table-row; }
      .section-invoice-generator .generator-table .table-row.table-headrow {
        font-weight: 700; }
        .section-invoice-generator .generator-table .table-row.table-headrow .table-cell:not(:first-child) {
          text-align: right; }
    .section-invoice-generator .generator-table .table-cell {
      display: table-cell;
      padding: 0.1875rem;
      vertical-align: middle; }
    .section-invoice-generator .generator-table .mobile-extra {
      display: none; }
    @media (max-width: 47.99em) {
      .section-invoice-generator .generator-table {
        display: block; }
        .section-invoice-generator .generator-table .table-row-group {
          display: block;
          padding-bottom: 1rem; }
          .section-invoice-generator .generator-table .table-row-group .table-row:last-child .table-cell {
            padding-bottom: 0.1875rem; }
        .section-invoice-generator .generator-table .table-row {
          display: block; }
          .section-invoice-generator .generator-table .table-row.table-headrow {
            display: none; }
        .section-invoice-generator .generator-table .table-cell {
          display: block; }
        .section-invoice-generator .generator-table .mobile-extra {
          display: block;
          margin-bottom: 0.25rem; } }
    .section-invoice-generator .generator-table input[type="text"] {
      display: block;
      width: 100%;
      border: 0;
      background-color: #fff;
      color: #000;
      padding: 0 0.3125rem;
      margin: 0;
      line-height: 1em;
      height: 1.4em;
      vertical-align: middle;
      text-align: right; }
    .section-invoice-generator .generator-table .spoof {
      padding: 0 0.3125rem;
      display: block;
      text-align: right; }
    .section-invoice-generator .generator-table a {
      display: inline-block;
      color: #fff;
      background-color: #F58F00;
      width: 1.25rem;
      height: 1.25rem;
      text-align: center; }
      .section-invoice-generator .generator-table a:hover {
        background-color: #76838A; }
      @media (max-width: 47.99em) {
        .section-invoice-generator .generator-table a {
          margin: 0 auto;
          display: block; } }
  .section-invoice-generator .generator-table-small {
    display: table; }
    .section-invoice-generator .generator-table-small .table-row {
      display: table-row; }
    .section-invoice-generator .generator-table-small .table-cell {
      display: table-cell;
      padding-top: 0.1875rem;
      padding-bottom: 0.1875rem;
      vertical-align: middle; }
      .section-invoice-generator .generator-table-small .table-cell:not(:first-child) {
        padding-left: 0.625rem; }
      .section-invoice-generator .generator-table-small .table-cell input[type="text"] {
        display: block;
        width: 100%;
        border: 0;
        background-color: #fff;
        color: #000;
        padding: 0 0.3125rem;
        margin: 0;
        line-height: 1em;
        height: 1.4em;
        vertical-align: middle; }
        @media (max-width: 47.99em) {
          .section-invoice-generator .generator-table-small .table-cell input[type="text"] {
            font-size: 1.0625rem;
            padding: 0 1.375rem; } }
      .section-invoice-generator .generator-table-small .table-cell.text-right {
        text-align: right; }
  .section-invoice-generator .invoice-button {
    padding-top: 1.25rem;
    text-align: center; }
    .section-invoice-generator .invoice-button button {
      border: 0;
      background-color: #F58F00;
      color: #fff;
      display: inline-block;
      max-width: 100%;
      font-size: 1.6875rem;
      line-height: 1em;
      height: 3.3125rem;
      padding: 0 0.625rem;
      cursor: pointer;
      transition: color .3s ease-in-out 0s, background-color .3s ease-in-out 0s; }
      .section-invoice-generator .invoice-button button:hover {
        background-color: #76838A; }
      .section-invoice-generator .invoice-button button:not(:first-of-type) {
        margin-left: 0.625rem; }

#fixedBanner {
  position: fixed;
  z-index: 100;
  background-color: rgba(245, 143, 0, 0.9);
  transform: translateY(-50%);
  top: 50%;
  display: none; }
  @media (min-width: 62em) {
    #fixedBanner {
      left: 50%;
      transform: translate(-50%, -50%);
      width: 1000px;
      margin: 0 auto; } }
  @media (min-width: 62em) and (max-width: 47.99em) {
    #fixedBanner {
      width: 90%; } }
  @media (min-width: 62em) and (min-width: 48em) and (max-width: 61.99em) {
    #fixedBanner {
      width: 640px; } }
  @media (min-width: 62em) and (min-width: 62em) and (max-width: 74.99em) {
    #fixedBanner {
      width: 750px; } }
  @media (min-width: 62em) and (min-width: 75em) and (max-width: 81.24em) {
    #fixedBanner {
      width: 950px; } }
  @media (min-width: 62em) and (min-width: 81.25em) and (max-width: 106.24em) {
    #fixedBanner {
      width: 1000px; } }
  @media (min-width: 62em) and (min-width: 106.25em) {
    #fixedBanner {
      width: 1400px; } }
  @media (max-width: 61.99em) {
    #fixedBanner {
      left: 0;
      right: 0;
      width: 100%; } }
  #fixedBanner .banner-wrap {
    padding: 2.6875rem 3.25rem; }
    @media (min-width: 48em) and (max-width: 61.99em) {
      #fixedBanner .banner-wrap {
        padding: 2.625rem 2.8125rem 2.8125rem; } }
    @media (max-width: 47.99em) {
      #fixedBanner .banner-wrap {
        padding: 1.0625rem 1rem; } }
  #fixedBanner a {
    display: block; }
    #fixedBanner a img {
      display: block;
      margin: 0 auto;
      max-width: 100%;
      max-height: 80vh; }
      @media only screen and (-webkit-min-device-pixel-ratio: 1) and (device-width: 768px) and (device-height: 1024px) and (orientation: portrait) {
        #fixedBanner a img {
          max-height: 819.2px; } }
      @media only screen and (-webkit-min-device-pixel-ratio: 1) and (device-width: 768px) and (device-height: 1024px) and (orientation: landscape) {
        #fixedBanner a img {
          max-height: 614.4px; } }
      @media only screen and (-webkit-min-device-pixel-ratio: 1) and (device-width: 320px) and (device-height: 480px) and (orientation: portrait) {
        #fixedBanner a img {
          max-height: 384px; } }
      @media only screen and (-webkit-min-device-pixel-ratio: 1) and (device-width: 320px) and (device-height: 480px) and (orientation: landscape) {
        #fixedBanner a img {
          max-height: 256px; } }
      @media only screen and (-webkit-min-device-pixel-ratio: 1) and (device-width: 320px) and (device-height: 568px) and (orientation: portrait) {
        #fixedBanner a img {
          max-height: 454.4px; } }
      @media only screen and (-webkit-min-device-pixel-ratio: 1) and (device-width: 320px) and (device-height: 568px) and (orientation: landscape) {
        #fixedBanner a img {
          max-height: 256px; } }
  #fixedBanner .banner-closer {
    position: absolute;
    top: 0.6875rem;
    right: 0.75rem; }
    @media (min-width: 48em) and (max-width: 61.99em) {
      #fixedBanner .banner-closer {
        top: 0.625rem;
        right: 0.75rem; } }
    @media (max-width: 47.99em) {
      #fixedBanner .banner-closer {
        top: 0.125rem;
        right: 0.125rem; } }
  #fixedBanner .closer-icon {
    color: #F58F00;
    cursor: pointer;
    display: inline-block;
    width: 1.5625rem;
    height: 1.5625rem;
    position: relative;
    transition: opacity .3s ease-in-out 0s; }
    #fixedBanner .closer-icon:hover {
      opacity: .5; }
    #fixedBanner .closer-icon::after {
      content: '';
      display: inline-block;
      position: absolute;
      top: 0;
      left: 0;
      vertical-align: top;
      /* width: 100%;
      height: 100%; */
      width: 1.5625rem;
      height: 1.5625rem;
      background-repeat: no-repeat;
      background-position: 50% 50%;
      background-size: contain;
      background-image: url("/Media/icons/close_bianco.svg"); }
    @media (max-width: 47.99em) {
      #fixedBanner .closer-icon {
        position: absolute;
        top: 0.3125rem;
        right: 0.1875rem;
        width: 0.625rem;
        height: 0.625rem; }
        #fixedBanner .closer-icon::after {
          width: 0.625rem;
          height: 0.625rem; } }

.section-calctable {
  background-color: #E9E9E9;
  padding: 2.8125rem 0 2.6875rem; }
  .section-calctable h2 {
    margin: 0 auto 2.5rem;
    color: #F58F00;
    text-align: center; }
  .section-calctable .calctable {
    display: flex; }
  .section-calctable .calctable-left {
    flex: 0 0 auto; }
  .section-calctable .calctable-right {
    flex: 1 1 auto;
    overflow: auto; }
  .section-calctable .calctable-smalltable {
    display: table;
    border-collapse: collapse; }
    .section-calctable .calctable-smalltable .table-row {
      display: table-row; }
      .section-calctable .calctable-smalltable .table-row .table-cell {
        display: table-cell;
        text-align: center;
        vertical-align: middle;
        font-size: 2rem;
        color: #F58F00;
        border: 2px solid #AFB3B5;
        border-left: 2px solid transparent;
        padding: 0.3125rem; }
        .section-calctable .calctable-smalltable .table-row .table-cell.spoof {
          height: 5rem;
          border-top: 2px solid transparent;
          border-right: 2px solid transparent; }
          @media (min-width: 48em) and (max-width: 61.99em) {
            .section-calctable .calctable-smalltable .table-row .table-cell.spoof {
              height: 7.5rem; } }
          @media (max-width: 47.99em) {
            .section-calctable .calctable-smalltable .table-row .table-cell.spoof {
              height: 10rem; } }
        .section-calctable .calctable-smalltable .table-row .table-cell.head-two {
          height: 10rem; }
          @media (min-width: 48em) and (max-width: 61.99em) {
            .section-calctable .calctable-smalltable .table-row .table-cell.head-two {
              height: 15rem; } }
          @media (max-width: 47.99em) {
            .section-calctable .calctable-smalltable .table-row .table-cell.head-two {
              height: 20rem; } }
        .section-calctable .calctable-smalltable .table-row .table-cell.head-three {
          height: 15rem; }
          @media (min-width: 48em) and (max-width: 61.99em) {
            .section-calctable .calctable-smalltable .table-row .table-cell.head-three {
              height: 22.5rem; } }
          @media (max-width: 47.99em) {
            .section-calctable .calctable-smalltable .table-row .table-cell.head-three {
              height: 30rem; } }
        @media (max-width: 47.99em) {
          .section-calctable .calctable-smalltable .table-row .table-cell {
            font-size: 1.25rem; } }
  .section-calctable .calctable-table {
    display: table;
    min-width: 100%;
    font-size: 1.25rem;
    border-collapse: collapse; }
    .section-calctable .calctable-table .table-row {
      display: table-row; }
      .section-calctable .calctable-table .table-row .table-cell {
        display: table-cell;
        height: 5rem;
        text-align: center;
        vertical-align: middle;
        padding: 0.3125rem;
        border: 2px solid #AFB3B5;
        background-color: #fff;
        color: #AFB3B5; }
        .section-calctable .calctable-table .table-row .table-cell.head {
          font-size: 1.1875rem;
          color: #F58F00; }
        .section-calctable .calctable-table .table-row .table-cell:first-child {
          border-left: 0; }
        @media (min-width: 48em) and (max-width: 61.99em) {
          .section-calctable .calctable-table .table-row .table-cell {
            height: 7.5rem; } }
        @media (max-width: 47.99em) {
          .section-calctable .calctable-table .table-row .table-cell {
            height: 10rem; } }
        .section-calctable .calctable-table .table-row .table-cell span {
          font-size: 1.5rem;
          color: #F58F00;
          white-space: nowrap; }
      .section-calctable .calctable-table .table-row:first-child .table-cell {
        border-top: 2px solid transparent;
        background-color: transparent; }

.codechecker-form-wrap {
  margin: 0 auto;
  max-width: 45rem; }
  .codechecker-form-wrap .codechecker-form {
    margin-bottom: 0.75rem; }
  .codechecker-form-wrap .textbox {
    display: block;
    width: 100%;
    border: 0;
    background-color: #fff;
    color: #000;
    padding: 0 1.5rem;
    font-weight: 700;
    margin-bottom: 0.75rem;
    font-size: 1.125rem;
    line-height: 1em;
    height: 3.3125rem;
    vertical-align: middle;
    text-align: center; }
  .codechecker-form-wrap button {
    border: 0;
    background-color: #F58F00;
    color: #fff;
    display: block;
    width: 100%;
    font-size: 1.6875rem;
    line-height: 1em;
    margin-bottom: 0.75rem;
    height: 3.3125rem;
    padding: 0;
    cursor: pointer;
    transition: color .3s ease-in-out 0s, background-color .3s ease-in-out 0s; }
  .codechecker-form-wrap .recaptcha-holder {
    margin-bottom: 0.75rem;
    text-align: center; }
    .codechecker-form-wrap .recaptcha-holder > .g-recaptcha > div {
      display: inline-block; }

.result-msg {
  font-size: 1.5rem;
  margin-bottom: 1.25rem;
  text-align: center; }
  .result-msg.error-msg {
    color: #ff0000; }

.dettaglio-wrap {
  display: none; }

.calculator-dettaglio-heading {
  color: #F58F00;
  text-align: center;
  margin: 3.75rem 0 1.25rem; }

.calculator-dettaglio {
  display: flex;
  flex-wrap: wrap;
  margin: 1.25rem 0; }
  .calculator-dettaglio .calculator-dettaglio-header-wrap {
    flex: 1 0 100%;
    background-color: #F58F00;
    color: #fff;
    font-size: 1.5rem; }
    @media (max-width: 47.99em) {
      .calculator-dettaglio .calculator-dettaglio-header-wrap {
        font-size: 1.25rem; } }
  .calculator-dettaglio .calculator-dettaglio-header {
    padding: 0.9375rem; }
  .calculator-dettaglio .calculator-dettaglio-entries {
    flex: 1 1 49%;
    background-color: #fff; }
    .calculator-dettaglio .calculator-dettaglio-entries.bordered {
      border: 0;
      border-right: 1px solid #F58F00; }
    @media (max-width: 47.99em) {
      .calculator-dettaglio .calculator-dettaglio-entries {
        flex: 1 1 100%; }
        .calculator-dettaglio .calculator-dettaglio-entries.bordered {
          border-right: 0; } }
  .calculator-dettaglio .calculator-dettaglio-subheader-wrap {
    flex: 1 1 100%;
    background-color: #f58f0099;
    font-size: 1.125rem; }
  .calculator-dettaglio .calculator-dettaglio-subheader {
    padding: 1.125rem 0.9375rem; }
  .calculator-dettaglio .calculator-dettaglio-entry-wrap {
    flex: 1 1 100%;
    font-size: 0.875rem; }
    .calculator-dettaglio .calculator-dettaglio-entry-wrap.bordered {
      border: 0;
      border-bottom: 1px solid #F58F00; }
    .calculator-dettaglio .calculator-dettaglio-entry-wrap .calculator-dettaglio-entry {
      display: flex;
      padding: 1.25rem 0.9375rem; }
      .calculator-dettaglio .calculator-dettaglio-entry-wrap .calculator-dettaglio-entry .calculator-dettaglio-entry-left {
        flex: 1 1 auto; }
      .calculator-dettaglio .calculator-dettaglio-entry-wrap .calculator-dettaglio-entry .calculator-dettaglio-entry-right {
        flex: 1 1 auto;
        text-align: right;
        font-weight: 700; }
    @media (max-width: 47.99em) {
      .calculator-dettaglio .calculator-dettaglio-entry-wrap {
        font-size: 0.8125rem; } }
  .calculator-dettaglio .calculator-dettaglio-footer-wrap {
    flex: 1 1 100%;
    font-size: 1.5rem;
    background-color: #F58F00;
    color: #fff; }
    .calculator-dettaglio .calculator-dettaglio-footer-wrap .calculator-dettaglio-footer {
      display: flex;
      padding: 0.9375rem; }
      .calculator-dettaglio .calculator-dettaglio-footer-wrap .calculator-dettaglio-footer .calculator-dettaglio-footer-left {
        flex: 1 1 auto; }
      .calculator-dettaglio .calculator-dettaglio-footer-wrap .calculator-dettaglio-footer .calculator-dettaglio-footer-right {
        flex: 1 1 auto;
        text-align: right;
        font-weight: 700; }
    @media (max-width: 47.99em) {
      .calculator-dettaglio .calculator-dettaglio-footer-wrap {
        font-size: 1.125rem; } }
  .calculator-dettaglio.alt .calculator-dettaglio-header-wrap {
    background-color: #a2a2a2; }
  .calculator-dettaglio.alt .calculator-dettaglio-subheader-wrap {
    background-color: #cfcfcf; }
  .calculator-dettaglio.alt .calculator-dettaglio-entries.bordered {
    border-right: 1px solid #a2a2a2; }
  .calculator-dettaglio.alt .calculator-dettaglio-entry-wrap.bordered {
    border-bottom: 1px solid #a2a2a2; }
  .calculator-dettaglio.alt .calculator-dettaglio-footer-wrap {
    background-color: #a2a2a2; }

.calculator-dettaglio-disc {
  margin: 0;
  text-align: right;
  font-size: 0.875rem; }

.c-new-contact-form {
  background: #e89d46;
  background: linear-gradient(180deg, #e89d46 43.33%, rgba(232, 167, 70, 0.87) 100%);
  color: #fff; }
  .c-new-contact-form__floater {
    position: fixed;
    bottom: 15.4321vh;
    right: 35px;
    z-index: 2;
    width: 111px;
    height: 111px;
    max-width: 111px;
    max-height: 111px;
    border-radius: 50%;
    cursor: pointer;
    background-color: #f58f00;
    box-shadow: 0px 0px 20px 5px rgba(255, 255, 255, 0.4);
    transition: max-height .3s ease-in-out, max-width .3s ease-in-out; }
    @media (max-width: 47.99em) {
      .c-new-contact-form__floater {
        bottom: 35px;
        max-width: 50px;
        max-height: 50px; } }
    .c-new-contact-form__floater::after {
      content: '';
      position: absolute;
      top: 50%;
      left: 50%;
      display: block;
      width: 54.955%;
      padding-bottom: 78.6885%;
      background-image: url("/Media/icons/dialog_bianco.svg");
      background-position: center center;
      background-repeat: no-repeat;
      background-size: contain;
      transform: translate(-50%, -50%); }
    @media (min-width: 48em) {
      .c-new-contact-form__floater--shrunk {
        max-width: 86px;
        max-height: 86px; } }
  .c-new-contact-form__wrapper {
    max-width: 1400px;
    padding: 50px 20px;
    margin: 0 auto; }
    @media (min-width: 48em) {
      .c-new-contact-form__wrapper {
        padding: 80px 180px 130px;
        min-height: 740px; } }
  .c-new-contact-form__step {
    max-height: 0;
    opacity: 0;
    visibility: hidden;
    overflow: hidden;
    transition: opacity .15s ease-in-out 0s, visibility .15s ease-in-out 0s, max-height 0s ease-in-out .15s; }
    .c-new-contact-form__step--visible {
      max-height: 100000vh;
      opacity: 1;
      visibility: visible;
      transition: opacity .15s ease-in-out .15s, visibility .15s ease-in-out .15s, max-height 0s ease-in-out .15s; }
  .c-new-contact-form__header {
    margin: 0 auto 2.381em;
    font-size: 42px;
    line-height: 1.1667em;
    font-weight: 700; }
    @media (max-width: 47.99em) {
      .c-new-contact-form__header {
        font-size: 22px;
        line-height: 26px; } }
  @media (min-width: 62em) {
    .c-new-contact-form__columns {
      display: flex;
      justify-content: center; } }
  @media (max-width: 61.99em) {
    .c-new-contact-form__column:not(:last-child) {
      margin-bottom: 20px; } }
  @media (min-width: 62em) {
    .c-new-contact-form__column {
      flex: 0 0 395px; }
      .c-new-contact-form__column:last-child:not(:first-child) {
        margin-left: 50px; } }
  .c-new-contact-form__arrows {
    margin-top: 80px;
    text-align: center; }
  .c-new-contact-form__arrow {
    position: relative;
    display: inline-block;
    width: 79px;
    height: 79px;
    border: 5px solid #fff;
    border-radius: 40px;
    font-size: 35px;
    text-align: center;
    transition: filter .3s ease-in-out;
    cursor: pointer; }
    .c-new-contact-form__arrow:hover {
      filter: drop-shadow(4px 4px 10px rgba(255, 255, 255, 0.35)); }
    .c-new-contact-form__arrow::before {
      position: absolute;
      top: 50%;
      left: 50%;
      display: block;
      margin: 0 auto;
      transform: translate(-50%, -50%); }
    .c-new-contact-form__arrow:last-child:not(:first-child) {
      margin-left: 150px; }
      @media (max-width: 47.99em) {
        .c-new-contact-form__arrow:last-child:not(:first-child) {
          margin-left: 50px; } }
  .c-new-contact-form__checkselect-field {
    position: relative;
    padding: 23px 28px 22px;
    margin-bottom: 20px;
    border-radius: 50px;
    background-color: #fff;
    cursor: pointer; }
    @media (max-width: 47.99em) {
      .c-new-contact-form__checkselect-field {
        padding: 27px 28px 26px; } }
  .c-new-contact-form__checkselect-text {
    font-size: 20px;
    font-weight: 700;
    line-height: 1.15em;
    color: #000; }
    .c-new-contact-form__checkselect--selected .c-new-contact-form__checkselect-text {
      color: #e89d46; }
    .c-new-contact-form__checkselect--error .c-new-contact-form__checkselect-text {
      color: #f00; }
    @media (max-width: 47.99em) {
      .c-new-contact-form__checkselect-text {
        font-size: 13px;
        line-height: 15px; } }
  .c-new-contact-form__checkselect-icon {
    position: absolute;
    top: 50%;
    right: 28px;
    font-size: 16px;
    color: rgba(0, 0, 0, 0.3);
    transform: translateY(-50%);
    transition: color .3s ease-in-out; }
    .c-new-contact-form__checkselect-icon::before {
      display: block;
      transition: transform .3s ease-in-out; }
      .c-new-contact-form__checkselect--open .c-new-contact-form__checkselect-icon::before {
        transform: rotate(-180deg); }
    .c-new-contact-form__checkselect-field:hover .c-new-contact-form__checkselect-icon {
      color: #e89d46; }
  .c-new-contact-form__checkselect-radios {
    display: none;
    padding-left: 34px;
    padding-bottom: 37px; }
    @media (max-width: 47.99em) {
      .c-new-contact-form__checkselect-radios {
        padding-bottom: 25px; } }
  .c-new-contact-form__radio {
    display: block; }
    .c-new-contact-form__radio:not(:last-child) {
      margin-bottom: 22px; }
    .c-new-contact-form__radio--inline {
      display: inline-block;
      vertical-align: top; }
      .c-new-contact-form__radio--inline:not(:last-child) {
        margin-right: 40px; }
    .c-new-contact-form__radio-label {
      display: inline-block;
      cursor: pointer; }
    .c-new-contact-form__radio-input {
      display: none; }
    .c-new-contact-form__radio-text {
      position: relative;
      display: inline-block;
      min-height: 28px;
      padding-top: 2px;
      padding-left: 38px;
      font-size: 20px;
      line-height: 23px;
      font-weight: 500; }
      .c-new-contact-form__radio-text::before {
        content: '';
        position: absolute;
        top: 0;
        left: 0;
        display: block;
        width: 28px;
        height: 28px;
        border: 2px solid #FFFFFF;
        border-radius: 14px; }
        @media (max-width: 47.99em) {
          .c-new-contact-form__radio-text::before {
            width: 25px;
            height: 25px; } }
      .c-new-contact-form__radio-text::after {
        content: '';
        position: absolute;
        top: 3px;
        left: 3px;
        display: block;
        width: 22px;
        height: 22px;
        border-radius: 11px;
        background-color: #fff;
        opacity: 0;
        transition: opacity .3s ease-in-out; }
        .c-new-contact-form__radio:hover .c-new-contact-form__radio-text::after {
          opacity: .3; }
        .c-new-contact-form__radio-input:checked ~ .c-new-contact-form__radio-text::after {
          opacity: 1; }
        @media (max-width: 47.99em) {
          .c-new-contact-form__radio-text::after {
            width: 19px;
            height: 19px; } }
      @media (max-width: 47.99em) {
        .c-new-contact-form__radio-text {
          font-size: 15px;
          line-height: 18px; } }
      .c-new-contact-form__radio-text--checkbox::before {
        border-radius: 7px; }
      .c-new-contact-form__radio-text--checkbox::after {
        border-radius: 4px; }
  .c-new-contact-form__input-wrapper:not(:last-child) {
    margin-bottom: 20px; }
  .c-new-contact-form__input-wrapper--select {
    position: relative; }
    .c-new-contact-form__input-wrapper--select::before {
      content: '';
      position: absolute;
      top: 50%;
      right: 25px;
      display: block;
      width: 18px;
      height: 18px;
      background-image: url("/Media/icons/arrow_down_grigio.svg");
      background-position: center center;
      background-repeat: no-repeat;
      background-size: contain;
      transform: translateY(-50%); }
  .c-new-contact-form__input-wrapper--correct {
    position: relative; }
    .c-new-contact-form__input-wrapper--correct::before {
      content: '';
      position: absolute;
      top: 50%;
      right: 25px;
      display: block;
      width: 18px;
      height: 18px;
      background-image: url("/Media/icons/check_arancione.svg");
      background-position: center center;
      background-repeat: no-repeat;
      background-size: contain;
      transform: translateY(-50%); }
  .c-new-contact-form__input-wrapper--error {
    position: relative; }
    .c-new-contact-form__input-wrapper--error::before {
      content: '';
      position: absolute;
      top: 50%;
      right: 28px;
      display: block;
      width: 16px;
      height: 16px;
      background-image: url("/Media/icons/cross_grigio.svg");
      background-position: center center;
      background-repeat: no-repeat;
      background-size: contain;
      transform: translateY(-50%); }
  .c-new-contact-form__input-text[type="text"], .c-new-contact-form__input-text[type="email"] {
    display: block;
    width: 100%;
    background-color: #fff;
    padding: 23px 28px 22px;
    border: 0;
    border-radius: 50px;
    font-size: 20px;
    font-weight: 700;
    line-height: 1.15em;
    color: #000;
    transition: color .3s ease-in-out 0s, opacity .3s ease-in-out 0s, border-color .3s ease-in-out 0s; }
    .c-new-contact-form__input-text[type="text"]::-webkit-input-placeholder, .c-new-contact-form__input-text[type="text"]::-moz-placeholder, .c-new-contact-form__input-text[type="text"]:-ms-input-placeholder, .c-new-contact-form__input-text[type="text"]:-moz-placeholder, .c-new-contact-form__input-text[type="text"]::placeholder, .c-new-contact-form__input-text[type="text"]:-ms-input-placeholder, .c-new-contact-form__input-text[type="text"]::-ms-input-placeholder, .c-new-contact-form__input-text[type="email"]::-webkit-input-placeholder, .c-new-contact-form__input-text[type="email"]::-moz-placeholder, .c-new-contact-form__input-text[type="email"]:-ms-input-placeholder, .c-new-contact-form__input-text[type="email"]:-moz-placeholder, .c-new-contact-form__input-text[type="email"]::placeholder, .c-new-contact-form__input-text[type="email"]:-ms-input-placeholder, .c-new-contact-form__input-text[type="email"]::-ms-input-placeholder {
      color: rgba(0, 0, 0, 0.3);
      opacity: 1; }
    .c-new-contact-form__input-wrapper--correct .c-new-contact-form__input-text[type="text"], .c-new-contact-form__input-wrapper--correct .c-new-contact-form__input-text[type="email"] {
      color: #e89d46; }
    .c-new-contact-form__input-wrapper--error .c-new-contact-form__input-text[type="text"], .c-new-contact-form__input-wrapper--error .c-new-contact-form__input-text[type="email"] {
      color: rgba(0, 0, 0, 0.3); }
    @media (max-width: 47.99em) {
      .c-new-contact-form__input-text[type="text"], .c-new-contact-form__input-text[type="email"] {
        padding: 27px 28px 26px;
        font-size: 13px;
        line-height: 15px; } }
  .c-new-contact-form__textarea {
    display: block;
    width: 100%;
    height: 244px;
    background-color: #fff;
    padding: 23px 28px 22px;
    border: 0;
    border-radius: 50px;
    font-size: 20px;
    font-weight: 700;
    line-height: 1.15em;
    color: #000;
    resize: none;
    transition: color .3s ease-in-out 0s, opacity .3s ease-in-out 0s, border-color .3s ease-in-out 0s; }
    .c-new-contact-form__textarea::-webkit-input-placeholder, .c-new-contact-form__textarea::-moz-placeholder, .c-new-contact-form__textarea:-ms-input-placeholder, .c-new-contact-form__textarea:-moz-placeholder, .c-new-contact-form__textarea::placeholder, .c-new-contact-form__textarea:-ms-input-placeholder, .c-new-contact-form__textarea::-ms-input-placeholder {
      color: rgba(0, 0, 0, 0.3);
      opacity: 1; }
    @media (max-width: 47.99em) {
      .c-new-contact-form__textarea {
        padding: 27px 28px 26px;
        font-size: 13px;
        line-height: 15px; } }
  .c-new-contact-form__select {
    display: block;
    width: 100%;
    height: 68px;
    font-size: 20px;
    line-height: 68px;
    vertical-align: middle;
    border: 0;
    padding: 0 28px;
    margin: 0;
    border-radius: 50px;
    background-color: #fff;
    font-weight: 700;
    text-align: left;
    color: #000;
    -webkit-tap-highlight-color: transparent;
    appearance: none;
    -webkit-appearance: none;
    -moz-appearance: none;
    text-indent: 0.0625rem;
    text-overflow: '';
    transition: color .3s ease-in-out 0s, opacity .3s ease-in-out 0s, border-color .3s ease-in-out 0s;
    cursor: pointer; }
    .c-new-contact-form__select::-ms-expand {
      display: none; }
    @media screen and (min-width: 0\0) and (min-resolution: 0.001dpcm) {
      .c-new-contact-form__select {
        background-image: none; } }
    @media (max-width: 47.99em) {
      .c-new-contact-form__select {
        padding: 0 0.9375rem; } }
    .c-new-contact-form__select--error, .c-new-contact-form__select.--error, .c-new-contact-form__select.input-validation-error {
      color: #f00 !important;
      border: 0 !important;
      outline: none !important; }
    .c-new-contact-form__input-wrapper--correct .c-new-contact-form__select {
      color: #e89d46; }
    .c-new-contact-form__input-wrapper--error .c-new-contact-form__select, .c-new-contact-form__select:invalid {
      color: #757575; }
      .c-new-contact-form__input-wrapper--error .c-new-contact-form__select option, .c-new-contact-form__select:invalid option {
        color: #000; }
    .c-new-contact-form__select:focus {
      outline: none !important; }
  .c-new-contact-form__agreements:not(:last-child) {
    margin-bottom: 30px; }
  .c-new-contact-form__agreement:not(:last-child) {
    margin-bottom: 5px; }
  .c-new-contact-form__agreement-pretext, .c-new-contact-form__agreement-text {
    font-weight: 500;
    font-size: 15px;
    line-height: 18px; }
    .c-new-contact-form__agreement-pretext a, .c-new-contact-form__agreement-text a {
      color: inherit;
      font-weight: 700;
      text-decoration: underline;
      transition: opacity .3s ease-in-out; }
      .c-new-contact-form__agreement-pretext a:hover, .c-new-contact-form__agreement-text a:hover {
        opacity: .5; }
  .c-new-contact-form__agreement-pretext {
    margin-bottom: 30px; }
  .c-new-contact-form__agreement-text {
    margin-bottom: 20px; }
  .c-new-contact-form__agreement-error {
    margin-bottom: 30px;
    color: #f00;
    opacity: 0;
    transition: opacity .3s ease-in-out; }
    .c-new-contact-form__agreement-error--visible {
      opacity: 1; }
  .c-new-contact-form__success {
    padding: 100px 0 90px; }
    .c-new-contact-form__success-icon-wrapper {
      position: relative;
      width: 145px;
      margin: 0 auto 35px;
      border: 6px solid #fff;
      border-radius: 50%; }
      .c-new-contact-form__success-icon-wrapper::before {
        content: '';
        display: block;
        width: 100%;
        padding-bottom: 100%; }
      @media (max-width: 47.99em) {
        .c-new-contact-form__success-icon-wrapper {
          width: 88px; } }
    .c-new-contact-form__success-icon {
      position: absolute;
      top: 50%;
      left: 50%;
      width: 48.9655%;
      height: 54px;
      background-image: url("/Media/icons/check_bianco.svg");
      background-position: center center;
      background-repeat: no-repeat;
      background-size: contain;
      transform: translate(-50%, -50%); }
      .c-new-contact-form__success-icon::before {
        content: '';
        display: block;
        width: 100%;
        padding-bottom: 76.0563%; }
    .c-new-contact-form__success-header {
      margin: 0 auto 35px;
      max-width: 510px;
      font-size: 42px;
      line-height: 49px;
      font-weight: 700;
      text-align: center; }
      @media (max-width: 47.99em) {
        .c-new-contact-form__success-header {
          margin: 0 auto 15px;
          font-size: 22px;
          line-height: 26px; } }
    .c-new-contact-form__success-subheader {
      font-size: 25px;
      line-height: 29px;
      text-align: center; }
      @media (max-width: 47.99em) {
        .c-new-contact-form__success-subheader {
          font-size: 15px;
          line-height: 18px; } }

.hp-head {
  font-size: 3rem;
  line-height: 1.1875em; }
  @media (max-width: 47.99em) {
    .hp-head {
      font-size: 2.5rem; } }

.page-not-found {
  text-align: center;
  height: 30rem;
  position: relative; }
  .page-not-found .container-wrap {
    position: absolute;
    top: 50%;
    left: 0;
    width: 100%;
    transform: translateY(-50%); }
  .page-not-found h1 {
    color: #F58F00;
    font-size: 5rem;
    margin: 0 0 1rem; }
  .page-not-found h2 {
    color: #F58F00;
    font-size: 3rem;
    margin: 0; }

/*# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2l0ZS5jc3MiLCJzb3VyY2VzIjpbInNpdGUuc2NzcyIsIl9jb25maWcuc2NzcyIsIi4uL25vZGVfbW9kdWxlcy9AY29uc2lkb25ldC9nc3RyYXAtc2Nzcy9zcmMvY3NzL2luZGV4LnNjc3MiLCIuLi9ub2RlX21vZHVsZXMvQGNvbnNpZG9uZXQvZ3N0cmFwLXNjc3Mvc3JjL2Nzcy9fZ3N0cmFwLmNvbmZpZy5zY3NzIiwiLi4vbm9kZV9tb2R1bGVzL3Nhc3MtbXEvX21xLnNjc3MiLCIuLi9ub2RlX21vZHVsZXMvQGNvbnNpZG9uZXQvZ3N0cmFwLXNjc3Mvc3JjL2Nzcy9fbWl4aW4ubXF1LnNjc3MiLCIuLi9ub2RlX21vZHVsZXMvQGNvbnNpZG9uZXQvZ3N0cmFwLXNjc3Mvc3JjL2Nzcy9fbWl4aW4uYm94c2l6aW5nLnNjc3MiLCIuLi9ub2RlX21vZHVsZXMvQGNvbnNpZG9uZXQvZ3N0cmFwLXNjc3Mvc3JjL2Nzcy9fbWl4aW4uY2xlYXJmaXguc2NzcyIsIi4uL25vZGVfbW9kdWxlcy9AY29uc2lkb25ldC9nc3RyYXAtc2Nzcy9zcmMvY3NzL19taXhpbi52aXNpYmlsaXR5LnNjc3MiLCIuLi9ub2RlX21vZHVsZXMvQGNvbnNpZG9uZXQvZ3N0cmFwLXNjc3Mvc3JjL2Nzcy9fbWl4aW4uY29udGFpbmVyLnNjc3MiLCIuLi9ub2RlX21vZHVsZXMvQGNvbnNpZG9uZXQvZ3N0cmFwLXNjc3Mvc3JjL2Nzcy9fbWl4aW4uZ3JpZC5zY3NzIiwiLi4vbm9kZV9tb2R1bGVzL0Bjb25zaWRvbmV0L2dzdHJhcC1zY3NzL3NyYy9jc3MvX21peGluLmZhZGUuc2NzcyIsIi4uL25vZGVfbW9kdWxlcy9ub3JtYWxpemUuY3NzL25vcm1hbGl6ZS5jc3MiLCIuLi9ub2RlX21vZHVsZXMvQGNvbnNpZG9uZXQvZ3N0cmFwLXNjc3Mvc3JjL2Nzcy9fc3R5bGUuYm94c2l6aW5nLnNjc3MiLCIuLi9ub2RlX21vZHVsZXMvQGNvbnNpZG9uZXQvZ3N0cmFwLXNjc3Mvc3JjL2Nzcy9fc3R5bGUuYm9vdHN0cmFwbGVnYWN5LnNjc3MiLCIuLi9ub2RlX21vZHVsZXMvQGxpZmVsb25nYXJpbG9tYW4vZnJvbnRlbmRjb21tb25zL3NyYy9jc3MvaW5kZXguc2NzcyIsIi4uL25vZGVfbW9kdWxlcy9AbGlmZWxvbmdhcmlsb21hbi9mcm9udGVuZGNvbW1vbnMvc3JjL2Nzcy9fc3Bpbm5lci5zY3NzIiwiLi4vbm9kZV9tb2R1bGVzL0BsaWZlbG9uZ2FyaWxvbWFuL2Zyb250ZW5kY29tbW9ucy9zcmMvY3NzL19taXNjLnNjc3MiLCIuLi9ub2RlX21vZHVsZXMvc2xpY2stY2Fyb3VzZWwvc2xpY2svc2xpY2suc2NzcyIsIi4uL25vZGVfbW9kdWxlcy9zbGljay1jYXJvdXNlbC9zbGljay9zbGljay10aGVtZS5zY3NzIiwiYmFzZS9faW5kZXguc2NzcyIsImJhc2UvX21peGlucy5zY3NzIiwiYmFzZS9fZm9udHMuc2NzcyIsImJhc2UvX2Jhc2VtaXNjLnNjc3MiLCJtaXNjL19pbmRleC5zY3NzIiwibWlzYy9fY2hhdGJvdC5zY3NzIiwiY29tcG9uZW50cy9faW5kZXguc2NzcyIsImNvbXBvbmVudHMvX2hlYWRlci5zY3NzIiwiY29tcG9uZW50cy9faG9tZXNsaWRlci5zY3NzIiwiY29tcG9uZW50cy9fY29udGFjdGZvcm0uc2NzcyIsImNvbXBvbmVudHMvX3NpZGVib3hsaW5rLnNjc3MiLCJjb21wb25lbnRzL190aWxlY2Fyb3VzZWwuc2NzcyIsImNvbXBvbmVudHMvX2NvbW11bml0eS5zY3NzIiwiY29tcG9uZW50cy9fc2VjdGlvbmhlYWQuc2NzcyIsImNvbXBvbmVudHMvX2lsbHVzdHJhdGVkdGV4dC5zY3NzIiwiY29tcG9uZW50cy9fY29sb3JiYXIuc2NzcyIsImNvbXBvbmVudHMvX2FkdmFudGFnZWJveGVzLnNjc3MiLCJjb21wb25lbnRzL19kdWFscHJvZHVjdHMuc2NzcyIsImNvbXBvbmVudHMvX2xpbmtiYXIuc2NzcyIsImNvbXBvbmVudHMvX2R1YWxwcm9tby5zY3NzIiwiY29tcG9uZW50cy9fcXVhZGJveGVzLnNjc3MiLCJjb21wb25lbnRzL19jYWxjdWxhdG9yLnNjc3MiLCJjb21wb25lbnRzL19zaW5nbGVwcm9kdWN0LnNjc3MiLCJjb21wb25lbnRzL19tb3NhaWNib3hlcy5zY3NzIiwiY29tcG9uZW50cy9fcGRmZG93bmxvYWRzLnNjc3MiLCJjb21wb25lbnRzL19jb29raWUuc2NzcyIsImNvbXBvbmVudHMvX2Zvb3Rlci5zY3NzIiwiY29tcG9uZW50cy9faW52b2ljZWdlbi5zY3NzIiwiY29tcG9uZW50cy9fZml4ZWRiYW5uZXIuc2NzcyIsImNvbXBvbmVudHMvX2NhbGN0YWJsZS5zY3NzIiwiY29tcG9uZW50cy9fY29kZWNoZWNrZXIuc2NzcyIsImNvbXBvbmVudHMvX2NhbGNkZXR0YWdsaS5zY3NzIiwiY29tcG9uZW50cy9fbmV3Y29udGFjdGZvcm0uc2NzcyIsImxheW91dHMvX2luZGV4LnNjc3MiLCJsYXlvdXRzL19ob21lcGFnZS5zY3NzIiwibGF5b3V0cy9fbm90Zm91bmQuc2NzcyJdLCJzb3VyY2VzQ29udGVudCI6WyIvLyBTZXR1cFxyXG5AaW1wb3J0ICdjb25maWcnO1xyXG5AaW1wb3J0ICd+QGNvbnNpZG9uZXQvZ3N0cmFwLXNjc3MnO1xyXG5cclxuLy8gQ3VzdG9tIG1lZGlhIHF1ZXJpZXMgKGJ1aWx0IGluOiB4cywgc20sIG1kLCBsZylcclxuQGluY2x1ZGUgbXEtYWRkLWJyZWFrcG9pbnQoeHNoLCA0ODBweCk7XHJcbkBpbmNsdWRlIG1xLWFkZC1icmVha3BvaW50KHhsZywgMTMwMHB4KTtcclxuQGluY2x1ZGUgbXEtYWRkLWJyZWFrcG9pbnQoeHhsZywgMTcwMHB4KTtcclxuQGluY2x1ZGUgbXEtYWRkLWJyZWFrcG9pbnQobW9iaWxlTWVudSwgMzIwcHgpO1xyXG5AaW5jbHVkZSBtcS1hZGQtYnJlYWtwb2ludChkZXNrdG9wTWVudSwgOTkycHgpO1xyXG5cclxuLy8gQ3VzdG9tIGNvbnRhaW5lciBzaXplcywgcGVyaGFwcyBmb3IgdGhlIGFmb3JlbWVudGlvbmVkIG1lZGlhIHF1ZXJpZXNcclxuQGluY2x1ZGUgZy1hZGQtY29udGFpbmVyKHhsZywgMTM3MHB4KTtcclxuQGluY2x1ZGUgZy1hZGQtY29udGFpbmVyKHh4bGcsIDE1NzBweCk7XHJcblxyXG5AaW1wb3J0ICd+QGxpZmVsb25nYXJpbG9tYW4vZnJvbnRlbmRjb21tb25zJztcclxuXHJcbkBpbXBvcnQgJ35zbGljay1jYXJvdXNlbC9zbGljay9zbGljayc7ICAgICAgICAgICAgICAgICAgLy8gQ29tbW9uIHN0dWZmXHJcbkBpbXBvcnQgJ35zbGljay1jYXJvdXNlbC9zbGljay9zbGljay10aGVtZSc7ICAgICAgICAgICAgICAgICAgLy8gQ29tbW9uIHN0dWZmXHJcbkBpbXBvcnQgJ2Jhc2UnOyAgICAgICAgICAgICAgICAgIC8vIENvbW1vbiBzdHVmZlxyXG5AaW1wb3J0ICdtaXNjJzsgICAgICAgICAgICAgICAgICAvLyBTaXRlIG1pc2NlbGxhbmVvdXNcclxuQGltcG9ydCAnY29tcG9uZW50cyc7ICAgICAgICAgICAgLy8gU2l0ZSBjb21wb25lbnRzXHJcbkBpbXBvcnQgJ2xheW91dHMnOyAgICAgICAgICAgICAgIC8vIFNpdGUgbGF5b3V0c1xyXG4iLCLvu78vLyBTZXR1cFxyXG4kZy1ib290c3RyYXBDb21wYXQ6IGZhbHNlOyAvLyBFbmFibGUgY29tcGF0aWJpbGl0eSB3aXRoIFR3aXR0ZXIgQm9vdHN0cmFwMydzIGNsYXNzZXNcclxuXHJcbiRjU3Bpbm5lckJnOiByZ2JhKCMxRjI0MjYsIDAuNik7XHJcbiRjU3Bpbm5lckZnOiAjZmZkODMxOyIsIi8qIEdTdHJhcCBTQ1NTIEZyYW1ld29yayAxLjIuMVxuICogQ29weXJpZ2h0IDIwMTQtMjAxOSBQYXdlxYIgR2FicnllbGV3aWN6XG4gKiBMaWNlbnNlZCB1bmRlciBNSVQgTGljZW5zZVxuICpcbiAqIFBlcm1pc3Npb24gaXMgaGVyZWJ5IGdyYW50ZWQsIGZyZWUgb2YgY2hhcmdlLCB0byBhbnkgcGVyc29uIG9idGFpbmluZyBhIGNvcHlcbiAqIG9mIHRoaXMgc29mdHdhcmUgYW5kIGFzc29jaWF0ZWQgZG9jdW1lbnRhdGlvbiBmaWxlcyAodGhlIFwiU29mdHdhcmVcIiksIHRvIGRlYWxcbiAqIGluIHRoZSBTb2Z0d2FyZSB3aXRob3V0IHJlc3RyaWN0aW9uLCBpbmNsdWRpbmcgd2l0aG91dCBsaW1pdGF0aW9uIHRoZSByaWdodHNcbiAqIHRvIHVzZSwgY29weSwgbW9kaWZ5LCBtZXJnZSwgcHVibGlzaCwgZGlzdHJpYnV0ZSwgc3VibGljZW5zZSwgYW5kL29yIHNlbGxcbiAqIGNvcGllcyBvZiB0aGUgU29mdHdhcmUsIGFuZCB0byBwZXJtaXQgcGVyc29ucyB0byB3aG9tIHRoZSBTb2Z0d2FyZSBpc1xuICogZnVybmlzaGVkIHRvIGRvIHNvLCBzdWJqZWN0IHRvIHRoZSBmb2xsb3dpbmcgY29uZGl0aW9uczpcbiAqXG4gKiBUaGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSBhbmQgdGhpcyBwZXJtaXNzaW9uIG5vdGljZSBzaGFsbCBiZSBpbmNsdWRlZCBpblxuICogYWxsIGNvcGllcyBvciBzdWJzdGFudGlhbCBwb3J0aW9ucyBvZiB0aGUgU29mdHdhcmUuXG4gKlxuICogVEhFIFNPRlRXQVJFIElTIFBST1ZJREVEIFwiQVMgSVNcIiwgV0lUSE9VVCBXQVJSQU5UWSBPRiBBTlkgS0lORCwgRVhQUkVTUyBPUlxuICogSU1QTElFRCwgSU5DTFVESU5HIEJVVCBOT1QgTElNSVRFRCBUTyBUSEUgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFksXG4gKiBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBTkQgTk9OSU5GUklOR0VNRU5ULiBJTiBOTyBFVkVOVCBTSEFMTCBUSEVcbiAqIEFVVEhPUlMgT1IgQ09QWVJJR0hUIEhPTERFUlMgQkUgTElBQkxFIEZPUiBBTlkgQ0xBSU0sIERBTUFHRVMgT1IgT1RIRVJcbiAqIExJQUJJTElUWSwgV0hFVEhFUiBJTiBBTiBBQ1RJT04gT0YgQ09OVFJBQ1QsIFRPUlQgT1IgT1RIRVJXSVNFLCBBUklTSU5HIEZST00sXG4gKiBPVVQgT0YgT1IgSU4gQ09OTkVDVElPTiBXSVRIIFRIRSBTT0ZUV0FSRSBPUiBUSEUgVVNFIE9SIE9USEVSIERFQUxJTkdTIElOXG4gKiBUSEUgU09GVFdBUkUuXG4gKi9cblxuLy8gQ29uZmlndXJhdGlvblxuQGltcG9ydCBcImdzdHJhcC5jb25maWdcIjtcblxuLy8gTWl4aW5zXG5AaW1wb3J0IFwifnNhc3MtbXFcIjtcbkBpbXBvcnQgXCJtaXhpbi5tcXVcIjtcbkBpbXBvcnQgXCJtaXhpbi5ib3hzaXppbmdcIjtcbkBpbXBvcnQgXCJtaXhpbi5jbGVhcmZpeFwiO1xuQGltcG9ydCBcIm1peGluLnZpc2liaWxpdHlcIjtcbkBpbXBvcnQgXCJtaXhpbi5jb250YWluZXJcIjtcbkBpbXBvcnQgXCJtaXhpbi5ncmlkXCI7XG5AaW1wb3J0IFwibWl4aW4uZmFkZVwiO1xuXG4vLyBTdHlsZXNoZWV0c1xuQGltcG9ydCBcIn5ub3JtYWxpemUuY3NzL25vcm1hbGl6ZVwiO1xuQGltcG9ydCBcInN0eWxlLmJveHNpemluZ1wiO1xuQGltcG9ydCBcInN0eWxlLmJvb3RzdHJhcGxlZ2FjeVwiO1xuIiwiLy8gKioqIFNjcmVlbiBzaXplIGJyZWFrIHBvaW50cyAqKipcclxuLy8gTWFpbiBtZWRpYSBxdWVyaWVzXHJcbiRnLWNvbnRhaW5lcldpZHRoczogKFxyXG4gICAgICAgIHplcm86IDEwMCUsXHJcbiAgICAgICAgc206IDc1MHB4LFxyXG4gICAgICAgIG1kOiA5NzBweCxcclxuICAgICAgICBsZzogMTE3MHB4XHJcbik7XHJcblxyXG4kbXEtYnJlYWtwb2ludHM6IChcclxuICAgICAgICB6ZXJvOiAwcHgsXHJcbiAgICAgICAgeHM6IDMyMHB4LFxyXG4gICAgICAgIHNtOiA3NjhweCxcclxuICAgICAgICBtZDogOTkycHgsXHJcbiAgICAgICAgbGc6IDEyMDBweCxcclxuKTtcclxuXHJcbiRnLWJvb3RzdHJhcC1tcTogKHhzLCBzbSwgbWQsIGxnKTtcclxuXHJcbi8vICoqKiBHcmlkIGNvbmZpZ3VyYXRpb24gKioqXHJcbiRnLWNvbHVtbnM6IDEyOyAgLy8gSG93IG1hbnkgY29sdW1ucyBhcmUgZGVmaW5lZCBpbiB0aGUgZ3JpZFxyXG4kZy1ndXR0ZXI6IDMwcHg7IC8vIEdyaWQgZ3V0dGVyLCBhcHBsaWVkIHN5bW1ldHJpY2FsbHkgKC8yKSIsIkBjaGFyc2V0IFwiVVRGLThcIjsgLy8gRml4ZXMgYW4gaXNzdWUgd2hlcmUgUnVieSBsb2NhbGUgaXMgbm90IHNldCBwcm9wZXJseVxuICAgICAgICAgICAgICAgICAgLy8gU2VlIGh0dHBzOi8vZ2l0aHViLmNvbS9zYXNzLW1xL3Nhc3MtbXEvcHVsbC8xMFxuXG4vLy8gQmFzZSBmb250IHNpemUgb24gdGhlIGA8Ym9keT5gIGVsZW1lbnRcbi8vL1xuLy8vIERvIG5vdCBvdmVycmlkZSB0aGlzIHZhbHVlLCBvciB0aGluZ3Mgd2lsbCBicmVha1xuLy8vXG4vLy8gQGxpbmsgaHR0cHM6Ly9naXRodWIuY29tL3Nhc3MtbXEvc2Fzcy1tcS9pc3N1ZXMvMTIyXG4vLy8gQGRlcHJlY2F0ZWQgVGhpcyBzZXR0aW5nIHdpbGwgYmUgcmVtb3ZlZCBpbiBzYXNzLW1xIHY2LjAuMFxuLy8vIEBhY2Nlc3MgcHJpdmF0ZVxuLy8vIEB0eXBlIE51bWJlciAodW5pdClcbiRtcS1iYXNlLWZvbnQtc2l6ZTogMTZweCAhZGVmYXVsdDtcblxuLy8vIFJlc3BvbnNpdmUgbW9kZVxuLy8vXG4vLy8gU2V0IHRvIGBmYWxzZWAgdG8gZW5hYmxlIHN1cHBvcnQgZm9yIGJyb3dzZXJzIHRoYXQgZG8gbm90IHN1cHBvcnQgQG1lZGlhIHF1ZXJpZXMsXG4vLy8gKElFIDw9IDgsIEZpcmVmb3ggPD0gMywgT3BlcmEgPD0gOSlcbi8vL1xuLy8vIFlvdSBjb3VsZCBjcmVhdGUgYSBzdHlsZXNoZWV0IHNlcnZlZCBleGNsdXNpdmVseSB0byBvbGRlciBicm93c2Vycyxcbi8vLyB3aGVyZSBAbWVkaWEgcXVlcmllcyBhcmUgcmFzdGVyaXplZFxuLy8vXG4vLy8gQGV4YW1wbGUgc2Nzc1xuLy8vICAvLyBvbGQtaWUuc2Nzc1xuLy8vICAkbXEtcmVzcG9uc2l2ZTogZmFsc2U7XG4vLy8gIEBpbXBvcnQgJ21haW4nOyAvLyBAbWVkaWEgcXVlcmllcyBpbiB0aGlzIGZpbGUgd2lsbCBiZSByYXN0ZXJpemVkIHVwIHRvICRtcS1zdGF0aWMtYnJlYWtwb2ludFxuLy8vICAgICAgICAgICAgICAgICAgIC8vIGxhcmdlciBicmVha3BvaW50cyB3aWxsIGJlIGlnbm9yZWRcbi8vL1xuLy8vIEB0eXBlIEJvb2xlYW5cbi8vLyBAbGluayBodHRwczovL2dpdGh1Yi5jb20vc2Fzcy1tcS9zYXNzLW1xI3Jlc3BvbnNpdmUtbW9kZS1vZmYgRGlzYWJsZWQgcmVzcG9uc2l2ZSBtb2RlIGRvY3VtZW50YXRpb25cbiRtcS1yZXNwb25zaXZlOiB0cnVlICFkZWZhdWx0O1xuXG4vLy8gQnJlYWtwb2ludCBsaXN0XG4vLy9cbi8vLyBOYW1lIHlvdXIgYnJlYWtwb2ludHMgaW4gYSB3YXkgdGhhdCBjcmVhdGVzIGEgdWJpcXVpdG91cyBsYW5ndWFnZVxuLy8vIGFjcm9zcyB0ZWFtIG1lbWJlcnMuIEl0IHdpbGwgaW1wcm92ZSBjb21tdW5pY2F0aW9uIGJldHdlZW5cbi8vLyBzdGFrZWhvbGRlcnMsIGRlc2lnbmVycywgZGV2ZWxvcGVycywgYW5kIHRlc3RlcnMuXG4vLy9cbi8vLyBAdHlwZSBNYXBcbi8vLyBAbGluayBodHRwczovL2dpdGh1Yi5jb20vc2Fzcy1tcS9zYXNzLW1xI3NlZWluZy10aGUtY3VycmVudGx5LWFjdGl2ZS1icmVha3BvaW50IEZ1bGwgZG9jdW1lbnRhdGlvbiBhbmQgZXhhbXBsZXNcbiRtcS1icmVha3BvaW50czogKFxuICAgIG1vYmlsZTogIDMyMHB4LFxuICAgIHRhYmxldDogIDc0MHB4LFxuICAgIGRlc2t0b3A6IDk4MHB4LFxuICAgIHdpZGU6ICAgIDEzMDBweFxuKSAhZGVmYXVsdDtcblxuLy8vIFN0YXRpYyBicmVha3BvaW50IChmb3IgZml4ZWQtd2lkdGggbGF5b3V0cylcbi8vL1xuLy8vIERlZmluZSB0aGUgYnJlYWtwb2ludCBmcm9tICRtcS1icmVha3BvaW50cyB0aGF0IHNob3VsZFxuLy8vIGJlIHVzZWQgYXMgdGhlIHRhcmdldCB3aWR0aCBmb3IgdGhlIGZpeGVkLXdpZHRoIGxheW91dFxuLy8vIChpLmUuIHdoZW4gJG1xLXJlc3BvbnNpdmUgaXMgc2V0IHRvICdmYWxzZScpIGluIGEgb2xkLWllLnNjc3Ncbi8vL1xuLy8vIEBleGFtcGxlIHNjc3Ncbi8vLyAgLy8gdGFibGV0LW9ubHkuc2Nzc1xuLy8vICAvL1xuLy8vICAvLyBJZ25vcmUgYWxsIHN0eWxlcyBhYm92ZSB0YWJsZXQgYnJlYWtwb2ludCxcbi8vLyAgLy8gYW5kIGZpeCB0aGUgc3R5bGVzIChzdWNoIGFzIHRoZSBsYXlvdXQpIGF0IHRhYmxldCB3aWR0aFxuLy8vICAkbXEtcmVzcG9uc2l2ZTogZmFsc2U7XG4vLy8gICRtcS1zdGF0aWMtYnJlYWtwb2ludDogdGFibGV0O1xuLy8vICBAaW1wb3J0ICdtYWluJzsgLy8gQG1lZGlhIHF1ZXJpZXMgaW4gdGhpcyBmaWxlIHdpbGwgYmUgcmFzdGVyaXplZCB1cCB0byB0YWJsZXRcbi8vLyAgICAgICAgICAgICAgICAgICAvLyBsYXJnZXIgYnJlYWtwb2ludHMgd2lsbCBiZSBpZ25vcmVkXG4vLy9cbi8vLyBAdHlwZSBTdHJpbmdcbi8vLyBAbGluayBodHRwczovL2dpdGh1Yi5jb20vc2Fzcy1tcS9zYXNzLW1xI2FkZGluZy1jdXN0b20tYnJlYWtwb2ludHMgRnVsbCBkb2N1bWVudGF0aW9uIGFuZCBleGFtcGxlc1xuJG1xLXN0YXRpYy1icmVha3BvaW50OiBkZXNrdG9wICFkZWZhdWx0O1xuXG4vLy8gU2hvdyBicmVha3BvaW50cyBpbiB0aGUgdG9wIHJpZ2h0IGNvcm5lclxuLy8vXG4vLy8gSWYgeW91IHdhbnQgdG8gZGlzcGxheSB0aGUgY3VycmVudGx5IGFjdGl2ZSBicmVha3BvaW50IGluIHRoZSB0b3Bcbi8vLyByaWdodCBjb3JuZXIgb2YgeW91ciBzaXRlIGR1cmluZyBkZXZlbG9wbWVudCwgYWRkIHRoZSBicmVha3BvaW50c1xuLy8vIHRvIHRoaXMgbGlzdCwgb3JkZXJlZCBieSB3aWR0aC4gRm9yIGV4YW1wbGU6IChtb2JpbGUsIHRhYmxldCwgZGVza3RvcCkuXG4vLy9cbi8vLyBAZXhhbXBsZSBzY3NzXG4vLy8gICAkbXEtc2hvdy1icmVha3BvaW50czogKG1vYmlsZSwgdGFibGV0LCBkZXNrdG9wKTtcbi8vLyAgIEBpbXBvcnQgJ3BhdGgvdG8vbXEnO1xuLy8vXG4vLy8gQHR5cGUgbWFwXG4kbXEtc2hvdy1icmVha3BvaW50czogKCkgIWRlZmF1bHQ7XG5cbi8vLyBDdXN0b21pemUgdGhlIG1lZGlhIHR5cGUgKGZvciBleGFtcGxlOiBgQG1lZGlhIHNjcmVlbmAgb3IgYEBtZWRpYSBwcmludGApXG4vLy8gQnkgZGVmYXVsdCBzYXNzLW1xIHVzZXMgYW4gXCJhbGxcIiBtZWRpYSB0eXBlIChgQG1lZGlhIGFsbCBhbmQg4oCmYClcbi8vL1xuLy8vIEB0eXBlIFN0cmluZ1xuLy8vIEBsaW5rIGh0dHBzOi8vZ2l0aHViLmNvbS9zYXNzLW1xL3Nhc3MtbXEjY2hhbmdpbmctbWVkaWEtdHlwZSBGdWxsIGRvY3VtZW50YXRpb24gYW5kIGV4YW1wbGVzXG4kbXEtbWVkaWEtdHlwZTogYWxsICFkZWZhdWx0O1xuXG4vLy8gQ29udmVydCBwaXhlbHMgdG8gZW1zXG4vLy9cbi8vLyBAcGFyYW0ge051bWJlcn0gJHB4IC0gdmFsdWUgdG8gY29udmVydFxuLy8vIEBpZ25vcmUgQHBhcmFtIHtOdW1iZXJ9ICRiYXNlLWZvbnQtc2l6ZSBbJG1xLWJhc2UtZm9udC1zaXplXSAtIGA8Ym9keT5gIGZvbnQgc2l6ZSAoZGVwcmVjYXRlZClcbi8vL1xuLy8vIEBleGFtcGxlIHNjc3Ncbi8vLyAgJGZvbnQtc2l6ZS1pbi1lbXM6IG1xLXB4MmVtKDE2cHgpO1xuLy8vICBwIHsgZm9udC1zaXplOiBtcS1weDJlbSgxNnB4KTsgfVxuLy8vXG4vLy8gQHJlcXVpcmVzICRtcS1iYXNlLWZvbnQtc2l6ZVxuLy8vIEByZXR1cm5zIHtOdW1iZXJ9XG5AZnVuY3Rpb24gbXEtcHgyZW0oJHB4LCAkYmFzZS1mb250LXNpemU6ICRtcS1iYXNlLWZvbnQtc2l6ZSkge1xuICAgIEBpZiAoJG1xLWJhc2UtZm9udC1zaXplICE9IDE2cHgpIHtcbiAgICAgICAgQHdhcm4gXCJPdmVycmlkaW5nICRtcS1iYXNlLWZvbnQtc2l6ZSB3aWxsIGJyZWFrIHRoaW5ncywgc2VlIGh0dHBzOi8vZ2l0aHViLmNvbS9zYXNzLW1xL3Nhc3MtbXEvaXNzdWVzLzEyMi5cIjtcbiAgICB9XG4gICAgQGlmICgkYmFzZS1mb250LXNpemUgIT0gMTZweCkge1xuICAgICAgICBAd2FybiBcIlRoZSAkYmFzZS1mb250LXNpemUgYXJndW1lbnQgd2lsbCBiZSByZW1vdmVkIGluIHNhc3MtbXEgdjYuMC4wLCBhcyBvdmVycmlkaW5nIGl0IGJyZWFrcyB0aGluZ3MsIHNlZSBodHRwczovL2dpdGh1Yi5jb20vc2Fzcy1tcS9zYXNzLW1xL2lzc3Vlcy8xMjIuXCI7XG4gICAgfVxuICAgIEBpZiB1bml0bGVzcygkcHgpIHtcbiAgICAgICAgQHdhcm4gXCJBc3N1bWluZyAjeyRweH0gdG8gYmUgaW4gcGl4ZWxzLCBhdHRlbXB0aW5nIHRvIGNvbnZlcnQgaXQgaW50byBwaXhlbHMuXCI7XG4gICAgICAgIEByZXR1cm4gbXEtcHgyZW0oJHB4ICogMXB4LCAkYmFzZS1mb250LXNpemUpO1xuICAgIH0gQGVsc2UgaWYgdW5pdCgkcHgpID09IGVtIHtcbiAgICAgICAgQHJldHVybiAkcHg7XG4gICAgfVxuICAgIEByZXR1cm4gKCRweCAvICRiYXNlLWZvbnQtc2l6ZSkgKiAxZW07XG59XG5cbi8vLyBHZXQgYSBicmVha3BvaW50J3Mgd2lkdGhcbi8vL1xuLy8vIEBwYXJhbSB7U3RyaW5nfSAkbmFtZSAtIE5hbWUgb2YgdGhlIGJyZWFrcG9pbnQuIE9uZSBvZiAkbXEtYnJlYWtwb2ludHNcbi8vL1xuLy8vIEBleGFtcGxlIHNjc3Ncbi8vLyAgJHRhYmxldC13aWR0aDogbXEtZ2V0LWJyZWFrcG9pbnQtd2lkdGgodGFibGV0KTtcbi8vLyAgQG1lZGlhIChtaW4td2lkdGg6IG1xLWdldC1icmVha3BvaW50LXdpZHRoKGRlc2t0b3ApKSB7fVxuLy8vXG4vLy8gQHJlcXVpcmVzIHtWYXJpYWJsZX0gJG1xLWJyZWFrcG9pbnRzXG4vLy9cbi8vLyBAcmV0dXJucyB7TnVtYmVyfSBWYWx1ZSBpbiBwaXhlbHNcbkBmdW5jdGlvbiBtcS1nZXQtYnJlYWtwb2ludC13aWR0aCgkbmFtZSwgJGJyZWFrcG9pbnRzOiAkbXEtYnJlYWtwb2ludHMpIHtcbiAgICBAaWYgbWFwLWhhcy1rZXkoJGJyZWFrcG9pbnRzLCAkbmFtZSkge1xuICAgICAgICBAcmV0dXJuIG1hcC1nZXQoJGJyZWFrcG9pbnRzLCAkbmFtZSk7XG4gICAgfSBAZWxzZSB7XG4gICAgICAgIEB3YXJuIFwiQnJlYWtwb2ludCAjeyRuYW1lfSB3YXNuJ3QgZm91bmQgaW4gJGJyZWFrcG9pbnRzLlwiO1xuICAgIH1cbn1cblxuLy8vIE1lZGlhIFF1ZXJ5IG1peGluXG4vLy9cbi8vLyBAcGFyYW0ge1N0cmluZyB8IEJvb2xlYW59ICRmcm9tIFtmYWxzZV0gLSBPbmUgb2YgJG1xLWJyZWFrcG9pbnRzXG4vLy8gQHBhcmFtIHtTdHJpbmcgfCBCb29sZWFufSAkdW50aWwgW2ZhbHNlXSAtIE9uZSBvZiAkbXEtYnJlYWtwb2ludHNcbi8vLyBAcGFyYW0ge1N0cmluZyB8IEJvb2xlYW59ICRhbmQgW2ZhbHNlXSAtIEFkZGl0aW9uYWwgbWVkaWEgcXVlcnkgcGFyYW1ldGVyc1xuLy8vIEBwYXJhbSB7U3RyaW5nfSAkbWVkaWEtdHlwZSBbJG1xLW1lZGlhLXR5cGVdIC0gTWVkaWEgdHlwZTogc2NyZWVuLCBwcmludOKAplxuLy8vXG4vLy8gQGlnbm9yZSBVbmRvY3VtZW50ZWQgQVBJLCBmb3IgYWR2YW5jZWQgdXNlIG9ubHk6XG4vLy8gQGlnbm9yZSBAcGFyYW0ge01hcH0gJGJyZWFrcG9pbnRzIFskbXEtYnJlYWtwb2ludHNdXG4vLy8gQGlnbm9yZSBAcGFyYW0ge1N0cmluZ30gJHN0YXRpYy1icmVha3BvaW50IFskbXEtc3RhdGljLWJyZWFrcG9pbnRdXG4vLy9cbi8vLyBAY29udGVudCBzdHlsaW5nIHJ1bGVzLCB3cmFwcGVkIGludG8gYSBAbWVkaWEgcXVlcnkgd2hlbiAkcmVzcG9uc2l2ZSBpcyB0cnVlXG4vLy9cbi8vLyBAcmVxdWlyZXMge1ZhcmlhYmxlfSAkbXEtbWVkaWEtdHlwZVxuLy8vIEByZXF1aXJlcyB7VmFyaWFibGV9ICRtcS1icmVha3BvaW50c1xuLy8vIEByZXF1aXJlcyB7VmFyaWFibGV9ICRtcS1zdGF0aWMtYnJlYWtwb2ludFxuLy8vIEByZXF1aXJlcyB7ZnVuY3Rpb259IG1xLXB4MmVtXG4vLy8gQHJlcXVpcmVzIHtmdW5jdGlvbn0gbXEtZ2V0LWJyZWFrcG9pbnQtd2lkdGhcbi8vL1xuLy8vIEBsaW5rIGh0dHBzOi8vZ2l0aHViLmNvbS9zYXNzLW1xL3Nhc3MtbXEjcmVzcG9uc2l2ZS1tb2RlLW9uLWRlZmF1bHQgRnVsbCBkb2N1bWVudGF0aW9uIGFuZCBleGFtcGxlc1xuLy8vXG4vLy8gQGV4YW1wbGUgc2Nzc1xuLy8vICAuZWxlbWVudCB7XG4vLy8gICAgQGluY2x1ZGUgbXEoJGZyb206IG1vYmlsZSkge1xuLy8vICAgICAgY29sb3I6IHJlZDtcbi8vLyAgICB9XG4vLy8gICAgQGluY2x1ZGUgbXEoJHVudGlsOiB0YWJsZXQpIHtcbi8vLyAgICAgIGNvbG9yOiBibHVlO1xuLy8vICAgIH1cbi8vLyAgICBAaW5jbHVkZSBtcShtb2JpbGUsIHRhYmxldCkge1xuLy8vICAgICAgY29sb3I6IGdyZWVuO1xuLy8vICAgIH1cbi8vLyAgICBAaW5jbHVkZSBtcSgkZnJvbTogdGFibGV0LCAkYW5kOiAnKG9yaWVudGF0aW9uOiBsYW5kc2NhcGUpJykge1xuLy8vICAgICAgY29sb3I6IHRlYWw7XG4vLy8gICAgfVxuLy8vICAgIEBpbmNsdWRlIG1xKDk1MHB4KSB7XG4vLy8gICAgICBjb2xvcjogaG90cGluaztcbi8vLyAgICB9XG4vLy8gICAgQGluY2x1ZGUgbXEodGFibGV0LCAkbWVkaWEtdHlwZTogc2NyZWVuKSB7XG4vLy8gICAgICBjb2xvcjogaG90cGluaztcbi8vLyAgICB9XG4vLy8gICAgLy8gQWR2YW5jZWQgdXNlOlxuLy8vICAgICRteS1icmVha3BvaW50czogKEw6IDkwMHB4LCBYTDogMTIwMHB4KTtcbi8vLyAgICBAaW5jbHVkZSBtcShMLCAkYnJlYWtwb2ludHM6ICRteS1icmVha3BvaW50cywgJHN0YXRpYy1icmVha3BvaW50OiBMKSB7XG4vLy8gICAgICBjb2xvcjogaG90cGluaztcbi8vLyAgICB9XG4vLy8gIH1cbkBtaXhpbiBtcShcbiAgICAkZnJvbTogZmFsc2UsXG4gICAgJHVudGlsOiBmYWxzZSxcbiAgICAkYW5kOiBmYWxzZSxcbiAgICAkbWVkaWEtdHlwZTogJG1xLW1lZGlhLXR5cGUsXG4gICAgJGJyZWFrcG9pbnRzOiAkbXEtYnJlYWtwb2ludHMsXG4gICAgJHJlc3BvbnNpdmU6ICRtcS1yZXNwb25zaXZlLFxuICAgICRzdGF0aWMtYnJlYWtwb2ludDogJG1xLXN0YXRpYy1icmVha3BvaW50XG4pIHtcbiAgICAkbWluLXdpZHRoOiAwO1xuICAgICRtYXgtd2lkdGg6IDA7XG4gICAgJG1lZGlhLXF1ZXJ5OiAnJztcblxuICAgIC8vIEZyb206IHRoaXMgYnJlYWtwb2ludCAoaW5jbHVzaXZlKVxuICAgIEBpZiAkZnJvbSB7XG4gICAgICAgIEBpZiB0eXBlLW9mKCRmcm9tKSA9PSBudW1iZXIge1xuICAgICAgICAgICAgJG1pbi13aWR0aDogbXEtcHgyZW0oJGZyb20pO1xuICAgICAgICB9IEBlbHNlIHtcbiAgICAgICAgICAgICRtaW4td2lkdGg6IG1xLXB4MmVtKG1xLWdldC1icmVha3BvaW50LXdpZHRoKCRmcm9tLCAkYnJlYWtwb2ludHMpKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC8vIFVudGlsOiB0aGF0IGJyZWFrcG9pbnQgKGV4Y2x1c2l2ZSlcbiAgICBAaWYgJHVudGlsIHtcbiAgICAgICAgQGlmIHR5cGUtb2YoJHVudGlsKSA9PSBudW1iZXIge1xuICAgICAgICAgICAgJG1heC13aWR0aDogbXEtcHgyZW0oJHVudGlsKTtcbiAgICAgICAgfSBAZWxzZSB7XG4gICAgICAgICAgICAkbWF4LXdpZHRoOiBtcS1weDJlbShtcS1nZXQtYnJlYWtwb2ludC13aWR0aCgkdW50aWwsICRicmVha3BvaW50cykpIC0gLjAxZW07XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBSZXNwb25zaXZlIHN1cHBvcnQgaXMgZGlzYWJsZWQsIHJhc3Rlcml6ZSB0aGUgb3V0cHV0IG91dHNpZGUgQG1lZGlhIGJsb2Nrc1xuICAgIC8vIFRoZSBicm93c2VyIHdpbGwgcmVseSBvbiB0aGUgY2FzY2FkZSBpdHNlbGYuXG4gICAgQGlmICRyZXNwb25zaXZlID09IGZhbHNlIHtcbiAgICAgICAgJHN0YXRpYy1icmVha3BvaW50LXdpZHRoOiBtcS1nZXQtYnJlYWtwb2ludC13aWR0aCgkc3RhdGljLWJyZWFrcG9pbnQsICRicmVha3BvaW50cyk7XG4gICAgICAgICR0YXJnZXQtd2lkdGg6IG1xLXB4MmVtKCRzdGF0aWMtYnJlYWtwb2ludC13aWR0aCk7XG5cbiAgICAgICAgLy8gT3V0cHV0IG9ubHkgcnVsZXMgdGhhdCBzdGFydCBhdCBvciBzcGFuIG91ciB0YXJnZXQgd2lkdGhcbiAgICAgICAgQGlmIChcbiAgICAgICAgICAgICRhbmQgPT0gZmFsc2VcbiAgICAgICAgICAgIGFuZCAkbWluLXdpZHRoIDw9ICR0YXJnZXQtd2lkdGhcbiAgICAgICAgICAgIGFuZCAoXG4gICAgICAgICAgICAgICAgJHVudGlsID09IGZhbHNlIG9yICRtYXgtd2lkdGggPj0gJHRhcmdldC13aWR0aFxuICAgICAgICAgICAgKVxuICAgICAgICAgICAgYW5kICRtZWRpYS10eXBlICE9ICdwcmludCdcbiAgICAgICAgKSB7XG4gICAgICAgICAgICBAY29udGVudDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC8vIFJlc3BvbnNpdmUgc3VwcG9ydCBpcyBlbmFibGVkLCBvdXRwdXQgcnVsZXMgaW5zaWRlIEBtZWRpYSBxdWVyaWVzXG4gICAgQGVsc2Uge1xuICAgICAgICBAaWYgJG1pbi13aWR0aCAhPSAwIHsgJG1lZGlhLXF1ZXJ5OiAnI3skbWVkaWEtcXVlcnl9IGFuZCAobWluLXdpZHRoOiAjeyRtaW4td2lkdGh9KSc7IH1cbiAgICAgICAgQGlmICRtYXgtd2lkdGggIT0gMCB7ICRtZWRpYS1xdWVyeTogJyN7JG1lZGlhLXF1ZXJ5fSBhbmQgKG1heC13aWR0aDogI3skbWF4LXdpZHRofSknOyB9XG4gICAgICAgIEBpZiAkYW5kICAgICAgICAgICAgeyAkbWVkaWEtcXVlcnk6ICcjeyRtZWRpYS1xdWVyeX0gYW5kICN7JGFuZH0nOyB9XG5cbiAgICAgICAgLy8gUmVtb3ZlIHVubmVjZXNzYXJ5IG1lZGlhIHF1ZXJ5IHByZWZpeCAnYWxsIGFuZCAnXG4gICAgICAgIEBpZiAoJG1lZGlhLXR5cGUgPT0gJ2FsbCcgYW5kICRtZWRpYS1xdWVyeSAhPSAnJykge1xuICAgICAgICAgICAgJG1lZGlhLXR5cGU6ICcnO1xuICAgICAgICAgICAgJG1lZGlhLXF1ZXJ5OiBzdHItc2xpY2UodW5xdW90ZSgkbWVkaWEtcXVlcnkpLCA2KTtcbiAgICAgICAgfVxuXG4gICAgICAgIEBtZWRpYSAjeyRtZWRpYS10eXBlICsgJG1lZGlhLXF1ZXJ5fSB7XG4gICAgICAgICAgICBAY29udGVudDtcbiAgICAgICAgfVxuICAgIH1cbn1cblxuLy8vIFF1aWNrIHNvcnRcbi8vL1xuLy8vIEBhdXRob3IgU2FtIFJpY2hhcmRzXG4vLy8gQGFjY2VzcyBwcml2YXRlXG4vLy8gQHBhcmFtIHtMaXN0fSAkbGlzdCAtIExpc3QgdG8gc29ydFxuLy8vIEByZXR1cm5zIHtMaXN0fSBTb3J0ZWQgTGlzdFxuQGZ1bmN0aW9uIF9tcS1xdWljay1zb3J0KCRsaXN0KSB7XG4gICAgJGxlc3M6ICAoKTtcbiAgICAkZXF1YWw6ICgpO1xuICAgICRsYXJnZTogKCk7XG5cbiAgICBAaWYgbGVuZ3RoKCRsaXN0KSA+IDEge1xuICAgICAgICAkc2VlZDogbnRoKCRsaXN0LCBjZWlsKGxlbmd0aCgkbGlzdCkgLyAyKSk7XG5cbiAgICAgICAgQGVhY2ggJGl0ZW0gaW4gJGxpc3Qge1xuICAgICAgICAgICAgQGlmICgkaXRlbSA9PSAkc2VlZCkge1xuICAgICAgICAgICAgICAgICRlcXVhbDogYXBwZW5kKCRlcXVhbCwgJGl0ZW0pO1xuICAgICAgICAgICAgfSBAZWxzZSBpZiAoJGl0ZW0gPCAkc2VlZCkge1xuICAgICAgICAgICAgICAgICRsZXNzOiBhcHBlbmQoJGxlc3MsICRpdGVtKTtcbiAgICAgICAgICAgIH0gQGVsc2UgaWYgKCRpdGVtID4gJHNlZWQpIHtcbiAgICAgICAgICAgICAgICAkbGFyZ2U6IGFwcGVuZCgkbGFyZ2UsICRpdGVtKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIEByZXR1cm4gam9pbihqb2luKF9tcS1xdWljay1zb3J0KCRsZXNzKSwgJGVxdWFsKSwgX21xLXF1aWNrLXNvcnQoJGxhcmdlKSk7XG4gICAgfVxuXG4gICAgQHJldHVybiAkbGlzdDtcbn1cblxuLy8vIFNvcnQgYSBtYXAgYnkgdmFsdWVzICh3b3JrcyB3aXRoIG51bWJlcnMgb25seSlcbi8vL1xuLy8vIEBhY2Nlc3MgcHJpdmF0ZVxuLy8vIEBwYXJhbSB7TWFwfSAkbWFwIC0gTWFwIHRvIHNvcnRcbi8vLyBAcmV0dXJucyB7TWFwfSBNYXAgc29ydGVkIGJ5IHZhbHVlXG5AZnVuY3Rpb24gX21xLW1hcC1zb3J0LWJ5LXZhbHVlKCRtYXApIHtcbiAgICAkbWFwLXNvcnRlZDogKCk7XG4gICAgJG1hcC1rZXlzOiBtYXAta2V5cygkbWFwKTtcbiAgICAkbWFwLXZhbHVlczogbWFwLXZhbHVlcygkbWFwKTtcbiAgICAkbWFwLXZhbHVlcy1zb3J0ZWQ6IF9tcS1xdWljay1zb3J0KCRtYXAtdmFsdWVzKTtcblxuICAgIC8vIFJlb3JkZXIga2V5L3ZhbHVlIHBhaXJzIGJhc2VkIG9uIGtleSB2YWx1ZXNcbiAgICBAZWFjaCAkdmFsdWUgaW4gJG1hcC12YWx1ZXMtc29ydGVkIHtcbiAgICAgICAgJGluZGV4OiBpbmRleCgkbWFwLXZhbHVlcywgJHZhbHVlKTtcbiAgICAgICAgJGtleTogbnRoKCRtYXAta2V5cywgJGluZGV4KTtcbiAgICAgICAgJG1hcC1zb3J0ZWQ6IG1hcC1tZXJnZSgkbWFwLXNvcnRlZCwgKCRrZXk6ICR2YWx1ZSkpO1xuXG4gICAgICAgIC8vIFVuc2V0IHRoZSB2YWx1ZSBpbiAkbWFwLXZhbHVlcyB0byBwcmV2ZW50IHRoZSBsb29wXG4gICAgICAgIC8vIGZyb20gZmluZGluZyB0aGUgc2FtZSBpbmRleCB0d2ljZVxuICAgICAgICAkbWFwLXZhbHVlczogc2V0LW50aCgkbWFwLXZhbHVlcywgJGluZGV4LCAwKTtcbiAgICB9XG5cbiAgICBAcmV0dXJuICRtYXAtc29ydGVkO1xufVxuXG4vLy8gQWRkIGEgYnJlYWtwb2ludFxuLy8vXG4vLy8gQHBhcmFtIHtTdHJpbmd9ICRuYW1lIC0gTmFtZSBvZiB0aGUgYnJlYWtwb2ludFxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkd2lkdGggLSBXaWR0aCBvZiB0aGUgYnJlYWtwb2ludFxuLy8vXG4vLy8gQHJlcXVpcmVzIHtWYXJpYWJsZX0gJG1xLWJyZWFrcG9pbnRzXG4vLy9cbi8vLyBAZXhhbXBsZSBzY3NzXG4vLy8gIEBpbmNsdWRlIG1xLWFkZC1icmVha3BvaW50KHR2c2NyZWVuLCAxOTIwcHgpO1xuLy8vICBAaW5jbHVkZSBtcSh0dnNjcmVlbikge31cbkBtaXhpbiBtcS1hZGQtYnJlYWtwb2ludCgkbmFtZSwgJHdpZHRoKSB7XG4gICAgJG5ldy1icmVha3BvaW50OiAoJG5hbWU6ICR3aWR0aCk7XG4gICAgJG1xLWJyZWFrcG9pbnRzOiBtYXAtbWVyZ2UoJG1xLWJyZWFrcG9pbnRzLCAkbmV3LWJyZWFrcG9pbnQpICFnbG9iYWw7XG4gICAgJG1xLWJyZWFrcG9pbnRzOiBfbXEtbWFwLXNvcnQtYnktdmFsdWUoJG1xLWJyZWFrcG9pbnRzKSAhZ2xvYmFsO1xufVxuXG4vLy8gU2hvdyB0aGUgYWN0aXZlIGJyZWFrcG9pbnQgaW4gdGhlIHRvcCByaWdodCBjb3JuZXIgb2YgdGhlIHZpZXdwb3J0XG4vLy8gQGxpbmsgaHR0cHM6Ly9naXRodWIuY29tL3Nhc3MtbXEvc2Fzcy1tcSNzZWVpbmctdGhlLWN1cnJlbnRseS1hY3RpdmUtYnJlYWtwb2ludFxuLy8vXG4vLy8gQHBhcmFtIHtMaXN0fSAkc2hvdy1icmVha3BvaW50cyBbJG1xLXNob3ctYnJlYWtwb2ludHNdIC0gTGlzdCBvZiBicmVha3BvaW50cyB0byBzaG93IGluIHRoZSB0b3AgcmlnaHQgY29ybmVyXG4vLy8gQHBhcmFtIHtNYXB9ICRicmVha3BvaW50cyBbJG1xLWJyZWFrcG9pbnRzXSAtIEJyZWFrcG9pbnQgbmFtZXMgYW5kIHNpemVzXG4vLy9cbi8vLyBAcmVxdWlyZXMge1ZhcmlhYmxlfSAkbXEtYnJlYWtwb2ludHNcbi8vLyBAcmVxdWlyZXMge1ZhcmlhYmxlfSAkbXEtc2hvdy1icmVha3BvaW50c1xuLy8vXG4vLy8gQGV4YW1wbGUgc2Nzc1xuLy8vICAvLyBTaG93IGJyZWFrcG9pbnRzIHVzaW5nIGdsb2JhbCBzZXR0aW5nc1xuLy8vICBAaW5jbHVkZSBtcS1zaG93LWJyZWFrcG9pbnRzO1xuLy8vXG4vLy8gIC8vIFNob3cgYnJlYWtwb2ludHMgdXNpbmcgY3VzdG9tIHNldHRpbmdzXG4vLy8gIEBpbmNsdWRlIG1xLXNob3ctYnJlYWtwb2ludHMoKEwsIFhMKSwgKFM6IDMwMHB4LCBMOiA4MDBweCwgWEw6IDEyMDBweCkpO1xuQG1peGluIG1xLXNob3ctYnJlYWtwb2ludHMoJHNob3ctYnJlYWtwb2ludHM6ICRtcS1zaG93LWJyZWFrcG9pbnRzLCAkYnJlYWtwb2ludHM6ICRtcS1icmVha3BvaW50cykge1xuICAgIGJvZHk6YmVmb3JlIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI0ZDRjhFMztcbiAgICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICNGQkVFRDU7XG4gICAgICAgIGJvcmRlci1sZWZ0OiAxcHggc29saWQgI0ZCRUVENTtcbiAgICAgICAgY29sb3I6ICNDMDk4NTM7XG4gICAgICAgIGZvbnQ6IHNtYWxsLWNhcHRpb247XG4gICAgICAgIHBhZGRpbmc6IDNweCA2cHg7XG4gICAgICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICAgICAgICBwb3NpdGlvbjogZml4ZWQ7XG4gICAgICAgIHJpZ2h0OiAwO1xuICAgICAgICB0b3A6IDA7XG4gICAgICAgIHotaW5kZXg6IDEwMDtcblxuICAgICAgICAvLyBMb29wIHRocm91Z2ggdGhlIGJyZWFrcG9pbnRzIHRoYXQgc2hvdWxkIGJlIHNob3duXG4gICAgICAgIEBlYWNoICRzaG93LWJyZWFrcG9pbnQgaW4gJHNob3ctYnJlYWtwb2ludHMge1xuICAgICAgICAgICAgJHdpZHRoOiBtcS1nZXQtYnJlYWtwb2ludC13aWR0aCgkc2hvdy1icmVha3BvaW50LCAkYnJlYWtwb2ludHMpO1xuICAgICAgICAgICAgQGluY2x1ZGUgbXEoJHNob3ctYnJlYWtwb2ludCwgJGJyZWFrcG9pbnRzOiAkYnJlYWtwb2ludHMpIHtcbiAgICAgICAgICAgICAgICBjb250ZW50OiBcIiN7JHNob3ctYnJlYWtwb2ludH0g4omlICN7JHdpZHRofSAoI3ttcS1weDJlbSgkd2lkdGgpfSlcIjtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbn1cblxuQGlmIGxlbmd0aCgkbXEtc2hvdy1icmVha3BvaW50cykgPiAwIHtcbiAgICBAaW5jbHVkZSBtcS1zaG93LWJyZWFrcG9pbnRzO1xufVxuIiwiQG1peGluIG1xdShcclxuICAkdW50aWw6IGZhbHNlLFxyXG4gICRhbmQ6IGZhbHNlLFxyXG4gICRtZWRpYS10eXBlOiAkbXEtbWVkaWEtdHlwZSxcclxuICAkYnJlYWtwb2ludHM6ICRtcS1icmVha3BvaW50cyxcclxuICAkcmVzcG9uc2l2ZTogJG1xLXJlc3BvbnNpdmUsXHJcbiAgJHN0YXRpYy1icmVha3BvaW50OiAkbXEtc3RhdGljLWJyZWFrcG9pbnRcclxuKSB7XHJcbiAgQGluY2x1ZGUgbXEoJHVudGlsOiAkdW50aWwsICRhbmQ6ICRhbmQsICRtZWRpYS10eXBlOiAkbWVkaWEtdHlwZSwgJGJyZWFrcG9pbnRzOiAkYnJlYWtwb2ludHMsICRyZXNwb25zaXZlOiAkcmVzcG9uc2l2ZSwgJHN0YXRpYy1icmVha3BvaW50OiAkc3RhdGljLWJyZWFrcG9pbnQpIHtcclxuICAgIEBjb250ZW50O1xyXG4gIH1cclxufSIsIi8vIEJveCBzaXppbmdcbkBtaXhpbiBib3gtc2l6aW5nKCRib3htb2RlbCkge1xuICBib3gtc2l6aW5nOiAkYm94bW9kZWw7IFxufSIsIi8vIENsZWFyZml4XG4vL1xuLy8gRm9yIG1vZGVybiBicm93c2Vyc1xuLy8gMS4gVGhlIHNwYWNlIGNvbnRlbnQgaXMgb25lIHdheSB0byBhdm9pZCBhbiBPcGVyYSBidWcgd2hlbiB0aGVcbi8vICAgIGNvbnRlbnRlZGl0YWJsZSBhdHRyaWJ1dGUgaXMgaW5jbHVkZWQgYW55d2hlcmUgZWxzZSBpbiB0aGUgZG9jdW1lbnQuXG4vLyAgICBPdGhlcndpc2UgaXQgY2F1c2VzIHNwYWNlIHRvIGFwcGVhciBhdCB0aGUgdG9wIGFuZCBib3R0b20gb2YgZWxlbWVudHNcbi8vICAgIHRoYXQgYXJlIGNsZWFyZml4ZWQuXG4vLyAyLiBUaGUgdXNlIG9mIGB0YWJsZWAgcmF0aGVyIHRoYW4gYGJsb2NrYCBpcyBvbmx5IG5lY2Vzc2FyeSBpZiB1c2luZ1xuLy8gICAgYDpiZWZvcmVgIHRvIGNvbnRhaW4gdGhlIHRvcC1tYXJnaW5zIG9mIGNoaWxkIGVsZW1lbnRzLlxuLy9cbi8vIFNvdXJjZTogaHR0cDovL25pY29sYXNnYWxsYWdoZXIuY29tL21pY3JvLWNsZWFyZml4LWhhY2svXG5cbkBtaXhpbiBjbGVhcmZpeCgpIHtcbiAgJjpiZWZvcmUsXG4gICY6YWZ0ZXIge1xuICAgIGNvbnRlbnQ6IFwiIFwiOyAvLyAxXG4gICAgZGlzcGxheTogdGFibGU7IC8vIDJcbiAgfVxuICAmOmFmdGVyIHtcbiAgICBjbGVhcjogYm90aDtcbiAgfVxufVxuIiwiQG1peGluIGhpZGUoKSB7XHJcbiAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xyXG59XHJcblxyXG5AbWl4aW4gc2hvdygkZGlzcGxheTogJ2Jsb2NrJykge1xyXG4gICRkaXNwbGF5OiAkZGlzcGxheSAhaW1wb3J0YW50O1xyXG59IiwiQG1peGluIGctYWRkLWNvbnRhaW5lcigkbmFtZSwgJHdpZHRoKSB7XHJcbiAgJG5ldy1jb250YWluZXI6ICgkbmFtZTogJHdpZHRoKTtcclxuICAkZy1jb250YWluZXJXaWR0aHM6IG1hcC1tZXJnZSgkZy1jb250YWluZXJXaWR0aHMsICRuZXctY29udGFpbmVyKSAhZ2xvYmFsO1xyXG59XHJcblxyXG5AbWl4aW4gY29udGFpbmVyKCRndXR0ZXI6ICRnLWd1dHRlcikge1xyXG5cclxuICBAZWFjaCAkYnBTZXQgaW4gJGctY29udGFpbmVyV2lkdGhzIHtcclxuXHJcbiAgICAkYnBOYW1lOiBudGgoJGJwU2V0LCAxKTtcclxuICAgICRicFB4OiBudGgoJGJwU2V0LCAyKTtcclxuXHJcbiAgICBAaW5jbHVkZSBtcSgkZnJvbTogJGJwTmFtZSkge1xyXG5cclxuICAgICAgd2lkdGg6ICRicFB4O1xyXG4gICAgICBwYWRkaW5nLWxlZnQ6ICRndXR0ZXIvMjtcclxuICAgICAgcGFkZGluZy1yaWdodDogJGd1dHRlci8yO1xyXG4gICAgICBtYXJnaW46IDAgYXV0bztcclxuXHJcbiAgICB9XHJcblxyXG4gIH1cclxuXHJcbn0iLCJAbWl4aW4gZ3JpZC1jb250YWluZXIoKSB7XHJcblxyXG4gIEBpbmNsdWRlIGNsZWFyZml4KCk7XHJcbiAgXHJcbiAgbWFyZ2luLWxlZnQ6ICRnLWd1dHRlci8tMjtcclxuICBtYXJnaW4tcmlnaHQ6ICRnLWd1dHRlci8tMjtcclxuXHJcbiAgJiA+ICoge1xyXG4gICAgcGFkZGluZy1sZWZ0OiAkZy1ndXR0ZXIvMjtcclxuICAgIHBhZGRpbmctcmlnaHQ6ICRnLWd1dHRlci8yO1xyXG4gIH1cclxuXHJcbn1cclxuXHJcbkBtaXhpbiBncmlkLWNvbHVtbnMoJGNvbHVtbnMsICRndXR0ZXI6ICRnLWd1dHRlcikge1xyXG5cclxuICB3aWR0aDogJGNvbHVtbnMvJGctY29sdW1ucyoxMDAlO1xyXG4gIHBhZGRpbmctbGVmdDogJGd1dHRlci8yO1xyXG4gIHBhZGRpbmctcmlnaHQ6ICRndXR0ZXIvMjtcclxuICBmbG9hdDogbGVmdDtcclxuICBtaW4taGVpZ2h0OiAxcHg7XHJcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG5cclxufVxyXG5cclxuQG1peGluIGdyaWQtcHVzaCgkY29sdW1ucykge1xyXG5cclxuICBsZWZ0OiAkY29sdW1ucy8kZy1jb2x1bW5zKjEwMCU7XHJcblxyXG59XHJcblxyXG5AbWl4aW4gZ3JpZC1wdWxsKCRjb2x1bW5zKSB7XHJcblxyXG4gIHJpZ2h0OiAkY29sdW1ucy8kZy1jb2x1bW5zKjEwMCU7XHJcblxyXG59XHJcblxyXG5AbWl4aW4gZ3JpZC1vZmZzZXQoJGNvbHVtbnMpIHtcclxuXHJcbiAgbWFyZ2luLWxlZnQ6ICRjb2x1bW5zLyRnLWNvbHVtbnMqMTAwJTtcclxuXHJcbn0iLCJAbWl4aW4gZmFkZU91dCgkZHVyYXRpb246IDAuM3MpIHtcbiAgdmlzaWJpbGl0eTogaGlkZGVuO1xuICBvcGFjaXR5OiAwO1xuICB0cmFuc2l0aW9uOiB2aXNpYmlsaXR5IDBzIGxpbmVhciAjeyRkdXJhdGlvbn0sIG9wYWNpdHkgI3skZHVyYXRpb259IGxpbmVhciAwcztcbn1cblxuQG1peGluIGZhZGVJbigkZHVyYXRpb246IDAuM3MpIHtcbiAgdmlzaWJpbGl0eTogdmlzaWJsZTtcbiAgb3BhY2l0eTogMTtcbiAgdHJhbnNpdGlvbjogdmlzaWJpbGl0eSAwcyBsaW5lYXIgMHMsIG9wYWNpdHkgI3skZHVyYXRpb259IGxpbmVhciAwcztcbn1cbiIsIi8qISBub3JtYWxpemUuY3NzIHY4LjAuMSB8IE1JVCBMaWNlbnNlIHwgZ2l0aHViLmNvbS9uZWNvbGFzL25vcm1hbGl6ZS5jc3MgKi9cblxuLyogRG9jdW1lbnRcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qKlxuICogMS4gQ29ycmVjdCB0aGUgbGluZSBoZWlnaHQgaW4gYWxsIGJyb3dzZXJzLlxuICogMi4gUHJldmVudCBhZGp1c3RtZW50cyBvZiBmb250IHNpemUgYWZ0ZXIgb3JpZW50YXRpb24gY2hhbmdlcyBpbiBpT1MuXG4gKi9cblxuaHRtbCB7XG4gIGxpbmUtaGVpZ2h0OiAxLjE1OyAvKiAxICovXG4gIC13ZWJraXQtdGV4dC1zaXplLWFkanVzdDogMTAwJTsgLyogMiAqL1xufVxuXG4vKiBTZWN0aW9uc1xuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLyoqXG4gKiBSZW1vdmUgdGhlIG1hcmdpbiBpbiBhbGwgYnJvd3NlcnMuXG4gKi9cblxuYm9keSB7XG4gIG1hcmdpbjogMDtcbn1cblxuLyoqXG4gKiBSZW5kZXIgdGhlIGBtYWluYCBlbGVtZW50IGNvbnNpc3RlbnRseSBpbiBJRS5cbiAqL1xuXG5tYWluIHtcbiAgZGlzcGxheTogYmxvY2s7XG59XG5cbi8qKlxuICogQ29ycmVjdCB0aGUgZm9udCBzaXplIGFuZCBtYXJnaW4gb24gYGgxYCBlbGVtZW50cyB3aXRoaW4gYHNlY3Rpb25gIGFuZFxuICogYGFydGljbGVgIGNvbnRleHRzIGluIENocm9tZSwgRmlyZWZveCwgYW5kIFNhZmFyaS5cbiAqL1xuXG5oMSB7XG4gIGZvbnQtc2l6ZTogMmVtO1xuICBtYXJnaW46IDAuNjdlbSAwO1xufVxuXG4vKiBHcm91cGluZyBjb250ZW50XG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKipcbiAqIDEuIEFkZCB0aGUgY29ycmVjdCBib3ggc2l6aW5nIGluIEZpcmVmb3guXG4gKiAyLiBTaG93IHRoZSBvdmVyZmxvdyBpbiBFZGdlIGFuZCBJRS5cbiAqL1xuXG5ociB7XG4gIGJveC1zaXppbmc6IGNvbnRlbnQtYm94OyAvKiAxICovXG4gIGhlaWdodDogMDsgLyogMSAqL1xuICBvdmVyZmxvdzogdmlzaWJsZTsgLyogMiAqL1xufVxuXG4vKipcbiAqIDEuIENvcnJlY3QgdGhlIGluaGVyaXRhbmNlIGFuZCBzY2FsaW5nIG9mIGZvbnQgc2l6ZSBpbiBhbGwgYnJvd3NlcnMuXG4gKiAyLiBDb3JyZWN0IHRoZSBvZGQgYGVtYCBmb250IHNpemluZyBpbiBhbGwgYnJvd3NlcnMuXG4gKi9cblxucHJlIHtcbiAgZm9udC1mYW1pbHk6IG1vbm9zcGFjZSwgbW9ub3NwYWNlOyAvKiAxICovXG4gIGZvbnQtc2l6ZTogMWVtOyAvKiAyICovXG59XG5cbi8qIFRleHQtbGV2ZWwgc2VtYW50aWNzXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKipcbiAqIFJlbW92ZSB0aGUgZ3JheSBiYWNrZ3JvdW5kIG9uIGFjdGl2ZSBsaW5rcyBpbiBJRSAxMC5cbiAqL1xuXG5hIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG59XG5cbi8qKlxuICogMS4gUmVtb3ZlIHRoZSBib3R0b20gYm9yZGVyIGluIENocm9tZSA1Ny1cbiAqIDIuIEFkZCB0aGUgY29ycmVjdCB0ZXh0IGRlY29yYXRpb24gaW4gQ2hyb21lLCBFZGdlLCBJRSwgT3BlcmEsIGFuZCBTYWZhcmkuXG4gKi9cblxuYWJiclt0aXRsZV0ge1xuICBib3JkZXItYm90dG9tOiBub25lOyAvKiAxICovXG4gIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lOyAvKiAyICovXG4gIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lIGRvdHRlZDsgLyogMiAqL1xufVxuXG4vKipcbiAqIEFkZCB0aGUgY29ycmVjdCBmb250IHdlaWdodCBpbiBDaHJvbWUsIEVkZ2UsIGFuZCBTYWZhcmkuXG4gKi9cblxuYixcbnN0cm9uZyB7XG4gIGZvbnQtd2VpZ2h0OiBib2xkZXI7XG59XG5cbi8qKlxuICogMS4gQ29ycmVjdCB0aGUgaW5oZXJpdGFuY2UgYW5kIHNjYWxpbmcgb2YgZm9udCBzaXplIGluIGFsbCBicm93c2Vycy5cbiAqIDIuIENvcnJlY3QgdGhlIG9kZCBgZW1gIGZvbnQgc2l6aW5nIGluIGFsbCBicm93c2Vycy5cbiAqL1xuXG5jb2RlLFxua2JkLFxuc2FtcCB7XG4gIGZvbnQtZmFtaWx5OiBtb25vc3BhY2UsIG1vbm9zcGFjZTsgLyogMSAqL1xuICBmb250LXNpemU6IDFlbTsgLyogMiAqL1xufVxuXG4vKipcbiAqIEFkZCB0aGUgY29ycmVjdCBmb250IHNpemUgaW4gYWxsIGJyb3dzZXJzLlxuICovXG5cbnNtYWxsIHtcbiAgZm9udC1zaXplOiA4MCU7XG59XG5cbi8qKlxuICogUHJldmVudCBgc3ViYCBhbmQgYHN1cGAgZWxlbWVudHMgZnJvbSBhZmZlY3RpbmcgdGhlIGxpbmUgaGVpZ2h0IGluXG4gKiBhbGwgYnJvd3NlcnMuXG4gKi9cblxuc3ViLFxuc3VwIHtcbiAgZm9udC1zaXplOiA3NSU7XG4gIGxpbmUtaGVpZ2h0OiAwO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHZlcnRpY2FsLWFsaWduOiBiYXNlbGluZTtcbn1cblxuc3ViIHtcbiAgYm90dG9tOiAtMC4yNWVtO1xufVxuXG5zdXAge1xuICB0b3A6IC0wLjVlbTtcbn1cblxuLyogRW1iZWRkZWQgY29udGVudFxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLyoqXG4gKiBSZW1vdmUgdGhlIGJvcmRlciBvbiBpbWFnZXMgaW5zaWRlIGxpbmtzIGluIElFIDEwLlxuICovXG5cbmltZyB7XG4gIGJvcmRlci1zdHlsZTogbm9uZTtcbn1cblxuLyogRm9ybXNcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qKlxuICogMS4gQ2hhbmdlIHRoZSBmb250IHN0eWxlcyBpbiBhbGwgYnJvd3NlcnMuXG4gKiAyLiBSZW1vdmUgdGhlIG1hcmdpbiBpbiBGaXJlZm94IGFuZCBTYWZhcmkuXG4gKi9cblxuYnV0dG9uLFxuaW5wdXQsXG5vcHRncm91cCxcbnNlbGVjdCxcbnRleHRhcmVhIHtcbiAgZm9udC1mYW1pbHk6IGluaGVyaXQ7IC8qIDEgKi9cbiAgZm9udC1zaXplOiAxMDAlOyAvKiAxICovXG4gIGxpbmUtaGVpZ2h0OiAxLjE1OyAvKiAxICovXG4gIG1hcmdpbjogMDsgLyogMiAqL1xufVxuXG4vKipcbiAqIFNob3cgdGhlIG92ZXJmbG93IGluIElFLlxuICogMS4gU2hvdyB0aGUgb3ZlcmZsb3cgaW4gRWRnZS5cbiAqL1xuXG5idXR0b24sXG5pbnB1dCB7IC8qIDEgKi9cbiAgb3ZlcmZsb3c6IHZpc2libGU7XG59XG5cbi8qKlxuICogUmVtb3ZlIHRoZSBpbmhlcml0YW5jZSBvZiB0ZXh0IHRyYW5zZm9ybSBpbiBFZGdlLCBGaXJlZm94LCBhbmQgSUUuXG4gKiAxLiBSZW1vdmUgdGhlIGluaGVyaXRhbmNlIG9mIHRleHQgdHJhbnNmb3JtIGluIEZpcmVmb3guXG4gKi9cblxuYnV0dG9uLFxuc2VsZWN0IHsgLyogMSAqL1xuICB0ZXh0LXRyYW5zZm9ybTogbm9uZTtcbn1cblxuLyoqXG4gKiBDb3JyZWN0IHRoZSBpbmFiaWxpdHkgdG8gc3R5bGUgY2xpY2thYmxlIHR5cGVzIGluIGlPUyBhbmQgU2FmYXJpLlxuICovXG5cbmJ1dHRvbixcblt0eXBlPVwiYnV0dG9uXCJdLFxuW3R5cGU9XCJyZXNldFwiXSxcblt0eXBlPVwic3VibWl0XCJdIHtcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiBidXR0b247XG59XG5cbi8qKlxuICogUmVtb3ZlIHRoZSBpbm5lciBib3JkZXIgYW5kIHBhZGRpbmcgaW4gRmlyZWZveC5cbiAqL1xuXG5idXR0b246Oi1tb3otZm9jdXMtaW5uZXIsXG5bdHlwZT1cImJ1dHRvblwiXTo6LW1vei1mb2N1cy1pbm5lcixcblt0eXBlPVwicmVzZXRcIl06Oi1tb3otZm9jdXMtaW5uZXIsXG5bdHlwZT1cInN1Ym1pdFwiXTo6LW1vei1mb2N1cy1pbm5lciB7XG4gIGJvcmRlci1zdHlsZTogbm9uZTtcbiAgcGFkZGluZzogMDtcbn1cblxuLyoqXG4gKiBSZXN0b3JlIHRoZSBmb2N1cyBzdHlsZXMgdW5zZXQgYnkgdGhlIHByZXZpb3VzIHJ1bGUuXG4gKi9cblxuYnV0dG9uOi1tb3otZm9jdXNyaW5nLFxuW3R5cGU9XCJidXR0b25cIl06LW1vei1mb2N1c3JpbmcsXG5bdHlwZT1cInJlc2V0XCJdOi1tb3otZm9jdXNyaW5nLFxuW3R5cGU9XCJzdWJtaXRcIl06LW1vei1mb2N1c3Jpbmcge1xuICBvdXRsaW5lOiAxcHggZG90dGVkIEJ1dHRvblRleHQ7XG59XG5cbi8qKlxuICogQ29ycmVjdCB0aGUgcGFkZGluZyBpbiBGaXJlZm94LlxuICovXG5cbmZpZWxkc2V0IHtcbiAgcGFkZGluZzogMC4zNWVtIDAuNzVlbSAwLjYyNWVtO1xufVxuXG4vKipcbiAqIDEuIENvcnJlY3QgdGhlIHRleHQgd3JhcHBpbmcgaW4gRWRnZSBhbmQgSUUuXG4gKiAyLiBDb3JyZWN0IHRoZSBjb2xvciBpbmhlcml0YW5jZSBmcm9tIGBmaWVsZHNldGAgZWxlbWVudHMgaW4gSUUuXG4gKiAzLiBSZW1vdmUgdGhlIHBhZGRpbmcgc28gZGV2ZWxvcGVycyBhcmUgbm90IGNhdWdodCBvdXQgd2hlbiB0aGV5IHplcm8gb3V0XG4gKiAgICBgZmllbGRzZXRgIGVsZW1lbnRzIGluIGFsbCBicm93c2Vycy5cbiAqL1xuXG5sZWdlbmQge1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94OyAvKiAxICovXG4gIGNvbG9yOiBpbmhlcml0OyAvKiAyICovXG4gIGRpc3BsYXk6IHRhYmxlOyAvKiAxICovXG4gIG1heC13aWR0aDogMTAwJTsgLyogMSAqL1xuICBwYWRkaW5nOiAwOyAvKiAzICovXG4gIHdoaXRlLXNwYWNlOiBub3JtYWw7IC8qIDEgKi9cbn1cblxuLyoqXG4gKiBBZGQgdGhlIGNvcnJlY3QgdmVydGljYWwgYWxpZ25tZW50IGluIENocm9tZSwgRmlyZWZveCwgYW5kIE9wZXJhLlxuICovXG5cbnByb2dyZXNzIHtcbiAgdmVydGljYWwtYWxpZ246IGJhc2VsaW5lO1xufVxuXG4vKipcbiAqIFJlbW92ZSB0aGUgZGVmYXVsdCB2ZXJ0aWNhbCBzY3JvbGxiYXIgaW4gSUUgMTArLlxuICovXG5cbnRleHRhcmVhIHtcbiAgb3ZlcmZsb3c6IGF1dG87XG59XG5cbi8qKlxuICogMS4gQWRkIHRoZSBjb3JyZWN0IGJveCBzaXppbmcgaW4gSUUgMTAuXG4gKiAyLiBSZW1vdmUgdGhlIHBhZGRpbmcgaW4gSUUgMTAuXG4gKi9cblxuW3R5cGU9XCJjaGVja2JveFwiXSxcblt0eXBlPVwicmFkaW9cIl0ge1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94OyAvKiAxICovXG4gIHBhZGRpbmc6IDA7IC8qIDIgKi9cbn1cblxuLyoqXG4gKiBDb3JyZWN0IHRoZSBjdXJzb3Igc3R5bGUgb2YgaW5jcmVtZW50IGFuZCBkZWNyZW1lbnQgYnV0dG9ucyBpbiBDaHJvbWUuXG4gKi9cblxuW3R5cGU9XCJudW1iZXJcIl06Oi13ZWJraXQtaW5uZXItc3Bpbi1idXR0b24sXG5bdHlwZT1cIm51bWJlclwiXTo6LXdlYmtpdC1vdXRlci1zcGluLWJ1dHRvbiB7XG4gIGhlaWdodDogYXV0bztcbn1cblxuLyoqXG4gKiAxLiBDb3JyZWN0IHRoZSBvZGQgYXBwZWFyYW5jZSBpbiBDaHJvbWUgYW5kIFNhZmFyaS5cbiAqIDIuIENvcnJlY3QgdGhlIG91dGxpbmUgc3R5bGUgaW4gU2FmYXJpLlxuICovXG5cblt0eXBlPVwic2VhcmNoXCJdIHtcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiB0ZXh0ZmllbGQ7IC8qIDEgKi9cbiAgb3V0bGluZS1vZmZzZXQ6IC0ycHg7IC8qIDIgKi9cbn1cblxuLyoqXG4gKiBSZW1vdmUgdGhlIGlubmVyIHBhZGRpbmcgaW4gQ2hyb21lIGFuZCBTYWZhcmkgb24gbWFjT1MuXG4gKi9cblxuW3R5cGU9XCJzZWFyY2hcIl06Oi13ZWJraXQtc2VhcmNoLWRlY29yYXRpb24ge1xuICAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7XG59XG5cbi8qKlxuICogMS4gQ29ycmVjdCB0aGUgaW5hYmlsaXR5IHRvIHN0eWxlIGNsaWNrYWJsZSB0eXBlcyBpbiBpT1MgYW5kIFNhZmFyaS5cbiAqIDIuIENoYW5nZSBmb250IHByb3BlcnRpZXMgdG8gYGluaGVyaXRgIGluIFNhZmFyaS5cbiAqL1xuXG46Oi13ZWJraXQtZmlsZS11cGxvYWQtYnV0dG9uIHtcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiBidXR0b247IC8qIDEgKi9cbiAgZm9udDogaW5oZXJpdDsgLyogMiAqL1xufVxuXG4vKiBJbnRlcmFjdGl2ZVxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLypcbiAqIEFkZCB0aGUgY29ycmVjdCBkaXNwbGF5IGluIEVkZ2UsIElFIDEwKywgYW5kIEZpcmVmb3guXG4gKi9cblxuZGV0YWlscyB7XG4gIGRpc3BsYXk6IGJsb2NrO1xufVxuXG4vKlxuICogQWRkIHRoZSBjb3JyZWN0IGRpc3BsYXkgaW4gYWxsIGJyb3dzZXJzLlxuICovXG5cbnN1bW1hcnkge1xuICBkaXNwbGF5OiBsaXN0LWl0ZW07XG59XG5cbi8qIE1pc2NcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qKlxuICogQWRkIHRoZSBjb3JyZWN0IGRpc3BsYXkgaW4gSUUgMTArLlxuICovXG5cbnRlbXBsYXRlIHtcbiAgZGlzcGxheTogbm9uZTtcbn1cblxuLyoqXG4gKiBBZGQgdGhlIGNvcnJlY3QgZGlzcGxheSBpbiBJRSAxMC5cbiAqL1xuXG5baGlkZGVuXSB7XG4gIGRpc3BsYXk6IG5vbmU7XG59XG4iLCIqIHtcclxuICBAaW5jbHVkZSBib3gtc2l6aW5nKGJvcmRlci1ib3gpO1xyXG59XHJcbio6YmVmb3JlLFxyXG4qOmFmdGVyIHtcclxuICBAaW5jbHVkZSBib3gtc2l6aW5nKGJvcmRlci1ib3gpO1xyXG59IiwiQG1peGluIGJvb3RzdHJhcFJ1bGVzKCRib290c3RyYXBCcE5hbWUpIHtcblxuICAuaGlkZGVuLSN7JGJvb3RzdHJhcEJwTmFtZX0ge1xuICAgIEBpbmNsdWRlIGhpZGUoKTtcbiAgfVxuICAudmlzaWJsZS0jeyRib290c3RyYXBCcE5hbWV9IHtcbiAgICBAaW5jbHVkZSBzaG93KCk7XG4gIH1cbiAgdGQudmlzaWJsZS0jeyRib290c3RyYXBCcE5hbWV9IHtcbiAgICBAaW5jbHVkZSBzaG93KHRhYmxlLWNlbGwpO1xuICB9XG4gIHRyLnZpc2libGUtI3skYm9vdHN0cmFwQnBOYW1lfSB7XG4gICAgQGluY2x1ZGUgc2hvdyh0YWJsZS1yb3cpO1xuICB9XG4gIHRhYmxlLnZpc2libGUtI3skYm9vdHN0cmFwQnBOYW1lfSB7XG4gICAgQGluY2x1ZGUgc2hvdyh0YWJsZSk7XG4gIH1cbiAgLnZpc2libGUtI3skYm9vdHN0cmFwQnBOYW1lfS1pbmxpbmUge1xuICAgIEBpbmNsdWRlIHNob3coaW5saW5lKTtcbiAgfVxuICAudmlzaWJsZS0jeyRib290c3RyYXBCcE5hbWV9LWlubGluZS1ibG9jayB7XG4gICAgQGluY2x1ZGUgc2hvdyhpbmxpbmUtYmxvY2spO1xuICB9XG4gIC52aXNpYmxlLSN7JGJvb3RzdHJhcEJwTmFtZX0tYmxvY2sge1xuICAgIEBpbmNsdWRlIHNob3coYmxvY2spO1xuICB9XG5cbn1cblxuQGlmICRnLWJvb3RzdHJhcENvbXBhdD09dHJ1ZSB7XG5cbiAgYm9keSB7XG4gICAgZm9udC1zaXplOiAxNHB4O1xuICAgIGxpbmUtaGVpZ2h0OiAxLjQyODU3MTQzO1xuICAgIGNvbG9yOiAjMzMzO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmY7XG4gIH1cblxuICBoMSxcbiAgaDIsXG4gIGgzLFxuICBoNCxcbiAgaDUsXG4gIGg2LFxuICAuaDEsXG4gIC5oMixcbiAgLmgzLFxuICAuaDQsXG4gIC5oNSxcbiAgLmg2IHtcbiAgICBmb250LWZhbWlseTogaW5oZXJpdDtcbiAgICBmb250LXdlaWdodDogNTAwO1xuICAgIGxpbmUtaGVpZ2h0OiAxLjE7XG4gICAgY29sb3I6IGluaGVyaXQ7XG4gIH1cbiAgaDEgc21hbGwsXG4gIGgyIHNtYWxsLFxuICBoMyBzbWFsbCxcbiAgaDQgc21hbGwsXG4gIGg1IHNtYWxsLFxuICBoNiBzbWFsbCxcbiAgLmgxIHNtYWxsLFxuICAuaDIgc21hbGwsXG4gIC5oMyBzbWFsbCxcbiAgLmg0IHNtYWxsLFxuICAuaDUgc21hbGwsXG4gIC5oNiBzbWFsbCxcbiAgaDEgLnNtYWxsLFxuICBoMiAuc21hbGwsXG4gIGgzIC5zbWFsbCxcbiAgaDQgLnNtYWxsLFxuICBoNSAuc21hbGwsXG4gIGg2IC5zbWFsbCxcbiAgLmgxIC5zbWFsbCxcbiAgLmgyIC5zbWFsbCxcbiAgLmgzIC5zbWFsbCxcbiAgLmg0IC5zbWFsbCxcbiAgLmg1IC5zbWFsbCxcbiAgLmg2IC5zbWFsbCB7XG4gICAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgICBsaW5lLWhlaWdodDogMTtcbiAgICBjb2xvcjogIzc3NztcbiAgfVxuICBoMSxcbiAgLmgxLFxuICBoMixcbiAgLmgyLFxuICBoMyxcbiAgLmgzIHtcbiAgICBtYXJnaW4tdG9wOiAyMHB4O1xuICAgIG1hcmdpbi1ib3R0b206IDEwcHg7XG4gIH1cbiAgaDEgc21hbGwsXG4gIC5oMSBzbWFsbCxcbiAgaDIgc21hbGwsXG4gIC5oMiBzbWFsbCxcbiAgaDMgc21hbGwsXG4gIC5oMyBzbWFsbCxcbiAgaDEgLnNtYWxsLFxuICAuaDEgLnNtYWxsLFxuICBoMiAuc21hbGwsXG4gIC5oMiAuc21hbGwsXG4gIGgzIC5zbWFsbCxcbiAgLmgzIC5zbWFsbCB7XG4gICAgZm9udC1zaXplOiA2NSU7XG4gIH1cbiAgaDQsXG4gIC5oNCxcbiAgaDUsXG4gIC5oNSxcbiAgaDYsXG4gIC5oNiB7XG4gICAgbWFyZ2luLXRvcDogMTBweDtcbiAgICBtYXJnaW4tYm90dG9tOiAxMHB4O1xuICB9XG4gIGg0IHNtYWxsLFxuICAuaDQgc21hbGwsXG4gIGg1IHNtYWxsLFxuICAuaDUgc21hbGwsXG4gIGg2IHNtYWxsLFxuICAuaDYgc21hbGwsXG4gIGg0IC5zbWFsbCxcbiAgLmg0IC5zbWFsbCxcbiAgaDUgLnNtYWxsLFxuICAuaDUgLnNtYWxsLFxuICBoNiAuc21hbGwsXG4gIC5oNiAuc21hbGwge1xuICAgIGZvbnQtc2l6ZTogNzUlO1xuICB9XG4gIGgxLFxuICAuaDEge1xuICAgIGZvbnQtc2l6ZTogMzZweDtcbiAgfVxuICBoMixcbiAgLmgyIHtcbiAgICBmb250LXNpemU6IDMwcHg7XG4gIH1cbiAgaDMsXG4gIC5oMyB7XG4gICAgZm9udC1zaXplOiAyNHB4O1xuICB9XG4gIGg0LFxuICAuaDQge1xuICAgIGZvbnQtc2l6ZTogMThweDtcbiAgfVxuICBoNSxcbiAgLmg1IHtcbiAgICBmb250LXNpemU6IDE0cHg7XG4gIH1cbiAgaDYsXG4gIC5oNiB7XG4gICAgZm9udC1zaXplOiAxMnB4O1xuICB9XG5cbiAgcCB7XG4gICAgbWFyZ2luOiAwIDAgMTBweDtcbiAgfVxuXG4gIGEge1xuICAgIGNvbG9yOiAjMzM3YWI3O1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgfVxuXG4gIHVsLFxuICBvbCB7XG4gICAgbWFyZ2luLXRvcDogMDtcbiAgICBtYXJnaW4tYm90dG9tOiAxMHB4O1xuICB9XG4gIHVsIHVsLFxuICBvbCB1bCxcbiAgdWwgb2wsXG4gIG9sIG9sIHtcbiAgICBtYXJnaW4tYm90dG9tOiAwO1xuICB9XG5cbiAgLnRleHQtbGVmdCB7XG4gICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgfVxuICAudGV4dC1yaWdodCB7XG4gICAgdGV4dC1hbGlnbjogcmlnaHQ7XG4gIH1cbiAgLnRleHQtY2VudGVyIHtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIH1cbiAgLnRleHQtanVzdGlmeSB7XG4gICAgdGV4dC1hbGlnbjoganVzdGlmeTtcbiAgfVxuICAudGV4dC1ub3dyYXAge1xuICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gIH1cbiAgLnRleHQtbG93ZXJjYXNlIHtcbiAgICB0ZXh0LXRyYW5zZm9ybTogbG93ZXJjYXNlO1xuICB9XG4gIC50ZXh0LXVwcGVyY2FzZSB7XG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgfVxuICAudGV4dC1jYXBpdGFsaXplIHtcbiAgICB0ZXh0LXRyYW5zZm9ybTogY2FwaXRhbGl6ZTtcbiAgfVxuICAudGV4dC1tdXRlZCB7XG4gICAgY29sb3I6ICM3Nzc7XG4gIH1cbiAgLnRleHQtcHJpbWFyeSB7XG4gICAgY29sb3I6ICMzMzdhYjc7XG4gIH1cblxuICAuaGlkZGVuIHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG4gIH1cblxuICAuY29udGFpbmVyIHtcbiAgICBAaW5jbHVkZSBjb250YWluZXIoKTtcbiAgfVxuICAucm93IHtcbiAgICBAaW5jbHVkZSBncmlkLWNvbnRhaW5lcigpO1xuICB9XG5cbiAgLnJvdyA+IFtjbGFzcyo9Y29sLV0sIC5yb3cgPiBbY2xhc3NePWNvbC1dIHtcbiAgICBAaW5jbHVkZSBncmlkLWNvbHVtbnMoJGctY29sdW1ucyk7XG4gIH1cblxuICBAZm9yICRpIGZyb20gMSB0aHJvdWdoIGxlbmd0aCgkZy1ib290c3RyYXAtbXEpIHtcblxuICAgICRicE5hbWU6IG50aCgkZy1ib290c3RyYXAtbXEsICRpKTtcbiAgICAkbmV4dEJwTmFtZTogbm9CcDtcblxuICAgIEBpZigkaSsxIDw9IGxlbmd0aCgkZy1ib290c3RyYXAtbXEpKSB7XG4gICAgICAkbmV4dEJwTmFtZTogbnRoKCRnLWJvb3RzdHJhcC1tcSwgJGkrMSk7XG4gICAgfVxuXG4gICAgJGJvb3RzdHJhcEJwTmFtZTogJGJwTmFtZTtcblxuICAgIEBpZigkYnBOYW1lID09IHhzKSB7XG4gICAgICAkYnBOYW1lOiB6ZXJvO1xuICAgIH1cblxuICAgIEBpbmNsdWRlIG1xKCRicE5hbWUpIHtcblxuICAgICAgQGZvciAkYyBmcm9tIDEgdGhyb3VnaCAkZy1jb2x1bW5zIHtcblxuICAgICAgICAucm93ID4gLmNvbC0jeyRib290c3RyYXBCcE5hbWV9LSN7JGN9IHtcbiAgICAgICAgICBAaW5jbHVkZSBncmlkLWNvbHVtbnMoJGMpO1xuICAgICAgICB9XG4gICAgICAgIC5yb3cgPiAuY29sLSN7JGJvb3RzdHJhcEJwTmFtZX0tcHVzaC0jeyRjfSB7XG4gICAgICAgICAgQGluY2x1ZGUgZ3JpZC1wdXNoKCRjKTtcbiAgICAgICAgfVxuICAgICAgICAucm93ID4gLmNvbC0jeyRib290c3RyYXBCcE5hbWV9LXB1bGwtI3skY30ge1xuICAgICAgICAgIEBpbmNsdWRlIGdyaWQtcHVsbCgkYyk7XG4gICAgICAgIH1cbiAgICAgICAgLnJvdyA+IC5jb2wtI3skYm9vdHN0cmFwQnBOYW1lfS1vZmZzZXQtI3skY30ge1xuICAgICAgICAgIEBpbmNsdWRlIGdyaWQtb2Zmc2V0KCRjKTtcbiAgICAgICAgfVxuXG4gICAgICB9XG5cbiAgICB9XG5cbiAgICBAaWYoJG5leHRCcE5hbWUgPT0gbm9CcCkge1xuXG4gICAgICBAaW5jbHVkZSBtcSgkZnJvbTogJGJwTmFtZSkge1xuICAgICAgICBAaW5jbHVkZSBib290c3RyYXBSdWxlcygkYm9vdHN0cmFwQnBOYW1lKTtcbiAgICAgIH1cblxuICAgIH0gQGVsc2Uge1xuXG4gICAgICBAaW5jbHVkZSBtcSgkZnJvbTogJGJwTmFtZSwgJHVudGlsOiAkbmV4dEJwTmFtZSkge1xuICAgICAgICBAaW5jbHVkZSBib290c3RyYXBSdWxlcygkYm9vdHN0cmFwQnBOYW1lKTtcbiAgICAgIH1cblxuICAgIH1cblxuICB9XG5cbn1cbiIsIkBpbXBvcnQgJ3NwaW5uZXInO1xuQGltcG9ydCAnbWlzYyc7IiwiI3NwaW5uZXJjb250YWluZXIge1xuICAgIHBvc2l0aW9uOiBmaXhlZDtcbiAgICB6LWluZGV4OiAxMDAwO1xuICAgIHRvcDogMDtcbiAgICBsZWZ0OiAwO1xuICAgIHJpZ2h0OiAwO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogMTAwJTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY1NwaW5uZXJCZztcbiAgICBkaXNwbGF5OiBub25lO1xufVxuXG4jc3Bpbm5lciB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIGhlaWdodDogNjBweDtcbiAgICB3aWR0aDogNjBweDtcbiAgICB0b3A6IDQwJTtcbiAgICBsZWZ0OiA0OCU7XG4gICAgei1pbmRleDogMTtcbn1cblxuLnNwaW5uZXJfYmFsbCB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRjU3Bpbm5lckZnO1xuICAgIGxlZnQ6IDI0cHg7XG4gICAgd2lkdGg6IDEycHg7XG4gICAgaGVpZ2h0OiAxMnB4O1xuICAgIGJvcmRlci1yYWRpdXM6IDZweDtcbn1cblxuI2JhbGxfMSB7XG4gICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuNSwgMC4zLCAwLjksIDAuOSk7XG4gICAgYW5pbWF0aW9uLW5hbWU6IHJvdGF0ZTtcbiAgICBhbmltYXRpb24tZHVyYXRpb246IDJzO1xuICAgIGFuaW1hdGlvbi1pdGVyYXRpb24tY291bnQ6IGluZmluaXRlO1xuICAgIHRyYW5zZm9ybS1vcmlnaW46IDZweCAzMHB4O1xufVxuXG4jYmFsbF8yIHtcbiAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC41LCAwLjUsIDAuOSwgMC45KTtcbiAgICBhbmltYXRpb24tbmFtZTogcm90YXRlO1xuICAgIGFuaW1hdGlvbi1kdXJhdGlvbjogMnM7XG4gICAgYW5pbWF0aW9uLWl0ZXJhdGlvbi1jb3VudDogaW5maW5pdGU7XG4gICAgdHJhbnNmb3JtLW9yaWdpbjogNnB4IDMwcHg7XG59XG5cbiNiYWxsXzMge1xuICAgIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjUsIDAuNywgMC45LCAwLjkpO1xuICAgIGFuaW1hdGlvbi1uYW1lOiByb3RhdGU7XG4gICAgYW5pbWF0aW9uLWR1cmF0aW9uOiAycztcbiAgICBhbmltYXRpb24taXRlcmF0aW9uLWNvdW50OiBpbmZpbml0ZTtcbiAgICB0cmFuc2Zvcm0tb3JpZ2luOiA2cHggMzBweDtcbn1cblxuQGtleWZyYW1lcyByb3RhdGUge1xuICAgIDAlIHsgdHJhbnNmb3JtOiByb3RhdGUoMGRlZykgc2NhbGUoMSk7IH1cbiAgICAxMDAlIHsgdHJhbnNmb3JtOiByb3RhdGUoMTQ0MGRlZykgc2NhbGUoMSk7IH1cbn0iLCJpbnB1dCwgc2VsZWN0LCB0ZXh0YXJlYSB7XG4gIG91dGxpbmU6IG5vbmU7XG59IiwiLyogU2xpZGVyICovXG5cbi5zbGljay1zbGlkZXIge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgIC13ZWJraXQtdG91Y2gtY2FsbG91dDogbm9uZTtcbiAgICAtd2Via2l0LXVzZXItc2VsZWN0OiBub25lO1xuICAgIC1raHRtbC11c2VyLXNlbGVjdDogbm9uZTtcbiAgICAtbW96LXVzZXItc2VsZWN0OiBub25lO1xuICAgIC1tcy11c2VyLXNlbGVjdDogbm9uZTtcbiAgICB1c2VyLXNlbGVjdDogbm9uZTtcbiAgICAtbXMtdG91Y2gtYWN0aW9uOiBwYW4teTtcbiAgICB0b3VjaC1hY3Rpb246IHBhbi15O1xuICAgIC13ZWJraXQtdGFwLWhpZ2hsaWdodC1jb2xvcjogdHJhbnNwYXJlbnQ7XG59XG4uc2xpY2stbGlzdCB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgbWFyZ2luOiAwO1xuICAgIHBhZGRpbmc6IDA7XG5cbiAgICAmOmZvY3VzIHtcbiAgICAgICAgb3V0bGluZTogbm9uZTtcbiAgICB9XG5cbiAgICAmLmRyYWdnaW5nIHtcbiAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgICAgICBjdXJzb3I6IGhhbmQ7XG4gICAgfVxufVxuLnNsaWNrLXNsaWRlciAuc2xpY2stdHJhY2ssXG4uc2xpY2stc2xpZGVyIC5zbGljay1saXN0IHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gICAgLW1vei10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICAgIC1tcy10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICAgIC1vLXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbn1cblxuLnNsaWNrLXRyYWNrIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgbGVmdDogMDtcbiAgICB0b3A6IDA7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gICAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xuXG4gICAgJjpiZWZvcmUsXG4gICAgJjphZnRlciB7XG4gICAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICAgIGRpc3BsYXk6IHRhYmxlO1xuICAgIH1cblxuICAgICY6YWZ0ZXIge1xuICAgICAgICBjbGVhcjogYm90aDtcbiAgICB9XG5cbiAgICAuc2xpY2stbG9hZGluZyAmIHtcbiAgICAgICAgdmlzaWJpbGl0eTogaGlkZGVuO1xuICAgIH1cbn1cbi5zbGljay1zbGlkZSB7XG4gICAgZmxvYXQ6IGxlZnQ7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIG1pbi1oZWlnaHQ6IDFweDtcbiAgICBbZGlyPVwicnRsXCJdICYge1xuICAgICAgICBmbG9hdDogcmlnaHQ7XG4gICAgfVxuICAgIGltZyB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIH1cbiAgICAmLnNsaWNrLWxvYWRpbmcgaW1nIHtcbiAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG5cbiAgICBkaXNwbGF5OiBub25lO1xuXG4gICAgJi5kcmFnZ2luZyBpbWcge1xuICAgICAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgICB9XG5cbiAgICAuc2xpY2staW5pdGlhbGl6ZWQgJiB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIH1cblxuICAgIC5zbGljay1sb2FkaW5nICYge1xuICAgICAgICB2aXNpYmlsaXR5OiBoaWRkZW47XG4gICAgfVxuXG4gICAgLnNsaWNrLXZlcnRpY2FsICYge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgaGVpZ2h0OiBhdXRvO1xuICAgICAgICBib3JkZXI6IDFweCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgICB9XG59XG4uc2xpY2stYXJyb3cuc2xpY2staGlkZGVuIHtcbiAgICBkaXNwbGF5OiBub25lO1xufVxuIiwiQGNoYXJzZXQgXCJVVEYtOFwiO1xuXG4vLyBEZWZhdWx0IFZhcmlhYmxlc1xuXG4vLyBTbGljayBpY29uIGVudGl0eSBjb2RlcyBvdXRwdXRzIHRoZSBmb2xsb3dpbmdcbi8vIFwiXFwyMTkwXCIgb3V0cHV0cyBhc2NpaSBjaGFyYWN0ZXIgXCLihpBcIlxuLy8gXCJcXDIxOTJcIiBvdXRwdXRzIGFzY2lpIGNoYXJhY3RlciBcIuKGklwiXG4vLyBcIlxcMjAyMlwiIG91dHB1dHMgYXNjaWkgY2hhcmFjdGVyIFwi4oCiXCJcblxuJHNsaWNrLWZvbnQtcGF0aDogXCIuL2ZvbnRzL1wiICFkZWZhdWx0O1xuJHNsaWNrLWZvbnQtZmFtaWx5OiBcInNsaWNrXCIgIWRlZmF1bHQ7XG4kc2xpY2stbG9hZGVyLXBhdGg6IFwiLi9cIiAhZGVmYXVsdDtcbiRzbGljay1hcnJvdy1jb2xvcjogd2hpdGUgIWRlZmF1bHQ7XG4kc2xpY2stZG90LWNvbG9yOiBibGFjayAhZGVmYXVsdDtcbiRzbGljay1kb3QtY29sb3ItYWN0aXZlOiAkc2xpY2stZG90LWNvbG9yICFkZWZhdWx0O1xuJHNsaWNrLXByZXYtY2hhcmFjdGVyOiBcIlxcMjE5MFwiICFkZWZhdWx0O1xuJHNsaWNrLW5leHQtY2hhcmFjdGVyOiBcIlxcMjE5MlwiICFkZWZhdWx0O1xuJHNsaWNrLWRvdC1jaGFyYWN0ZXI6IFwiXFwyMDIyXCIgIWRlZmF1bHQ7XG4kc2xpY2stZG90LXNpemU6IDZweCAhZGVmYXVsdDtcbiRzbGljay1vcGFjaXR5LWRlZmF1bHQ6IDAuNzUgIWRlZmF1bHQ7XG4kc2xpY2stb3BhY2l0eS1vbi1ob3ZlcjogMSAhZGVmYXVsdDtcbiRzbGljay1vcGFjaXR5LW5vdC1hY3RpdmU6IDAuMjUgIWRlZmF1bHQ7XG5cbkBmdW5jdGlvbiBzbGljay1pbWFnZS11cmwoJHVybCkge1xuICAgIEBpZiBmdW5jdGlvbi1leGlzdHMoaW1hZ2UtdXJsKSB7XG4gICAgICAgIEByZXR1cm4gaW1hZ2UtdXJsKCR1cmwpO1xuICAgIH1cbiAgICBAZWxzZSB7XG4gICAgICAgIEByZXR1cm4gdXJsKCRzbGljay1sb2FkZXItcGF0aCArICR1cmwpO1xuICAgIH1cbn1cblxuQGZ1bmN0aW9uIHNsaWNrLWZvbnQtdXJsKCR1cmwpIHtcbiAgICBAaWYgZnVuY3Rpb24tZXhpc3RzKGZvbnQtdXJsKSB7XG4gICAgICAgIEByZXR1cm4gZm9udC11cmwoJHVybCk7XG4gICAgfVxuICAgIEBlbHNlIHtcbiAgICAgICAgQHJldHVybiB1cmwoJHNsaWNrLWZvbnQtcGF0aCArICR1cmwpO1xuICAgIH1cbn1cblxuLyogU2xpZGVyICovXG5cbi5zbGljay1saXN0IHtcbiAgICAuc2xpY2stbG9hZGluZyAmIHtcbiAgICAgICAgYmFja2dyb3VuZDogI2ZmZiBzbGljay1pbWFnZS11cmwoXCJhamF4LWxvYWRlci5naWZcIikgY2VudGVyIGNlbnRlciBuby1yZXBlYXQ7XG4gICAgfVxufVxuXG4vKiBJY29ucyAqL1xuQGlmICRzbGljay1mb250LWZhbWlseSA9PSBcInNsaWNrXCIge1xuICAgIEBmb250LWZhY2Uge1xuICAgICAgICBmb250LWZhbWlseTogXCJzbGlja1wiO1xuICAgICAgICBzcmM6IHNsaWNrLWZvbnQtdXJsKFwic2xpY2suZW90XCIpO1xuICAgICAgICBzcmM6IHNsaWNrLWZvbnQtdXJsKFwic2xpY2suZW90PyNpZWZpeFwiKSBmb3JtYXQoXCJlbWJlZGRlZC1vcGVudHlwZVwiKSwgc2xpY2stZm9udC11cmwoXCJzbGljay53b2ZmXCIpIGZvcm1hdChcIndvZmZcIiksIHNsaWNrLWZvbnQtdXJsKFwic2xpY2sudHRmXCIpIGZvcm1hdChcInRydWV0eXBlXCIpLCBzbGljay1mb250LXVybChcInNsaWNrLnN2ZyNzbGlja1wiKSBmb3JtYXQoXCJzdmdcIik7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gICAgICAgIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgICB9XG59XG5cbi8qIEFycm93cyAqL1xuXG4uc2xpY2stcHJldixcbi5zbGljay1uZXh0IHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgaGVpZ2h0OiAyMHB4O1xuICAgIHdpZHRoOiAyMHB4O1xuICAgIGxpbmUtaGVpZ2h0OiAwcHg7XG4gICAgZm9udC1zaXplOiAwcHg7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICAgIGNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICB0b3A6IDUwJTtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlKDAsIC01MCUpO1xuICAgIC1tcy10cmFuc2Zvcm06IHRyYW5zbGF0ZSgwLCAtNTAlKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgwLCAtNTAlKTtcbiAgICBwYWRkaW5nOiAwO1xuICAgIGJvcmRlcjogbm9uZTtcbiAgICBvdXRsaW5lOiBub25lO1xuICAgICY6aG92ZXIsICY6Zm9jdXMge1xuICAgICAgICBvdXRsaW5lOiBub25lO1xuICAgICAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgICAgICAgY29sb3I6IHRyYW5zcGFyZW50O1xuICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgICBvcGFjaXR5OiAkc2xpY2stb3BhY2l0eS1vbi1ob3ZlcjtcbiAgICAgICAgfVxuICAgIH1cbiAgICAmLnNsaWNrLWRpc2FibGVkOmJlZm9yZSB7XG4gICAgICAgIG9wYWNpdHk6ICRzbGljay1vcGFjaXR5LW5vdC1hY3RpdmU7XG4gICAgfVxuICAgICY6YmVmb3JlIHtcbiAgICAgICAgZm9udC1mYW1pbHk6ICRzbGljay1mb250LWZhbWlseTtcbiAgICAgICAgZm9udC1zaXplOiAyMHB4O1xuICAgICAgICBsaW5lLWhlaWdodDogMTtcbiAgICAgICAgY29sb3I6ICRzbGljay1hcnJvdy1jb2xvcjtcbiAgICAgICAgb3BhY2l0eTogJHNsaWNrLW9wYWNpdHktZGVmYXVsdDtcbiAgICAgICAgLXdlYmtpdC1mb250LXNtb290aGluZzogYW50aWFsaWFzZWQ7XG4gICAgICAgIC1tb3otb3N4LWZvbnQtc21vb3RoaW5nOiBncmF5c2NhbGU7XG4gICAgfVxufVxuXG4uc2xpY2stcHJldiB7XG4gICAgbGVmdDogLTI1cHg7XG4gICAgW2Rpcj1cInJ0bFwiXSAmIHtcbiAgICAgICAgbGVmdDogYXV0bztcbiAgICAgICAgcmlnaHQ6IC0yNXB4O1xuICAgIH1cbiAgICAmOmJlZm9yZSB7XG4gICAgICAgIGNvbnRlbnQ6ICRzbGljay1wcmV2LWNoYXJhY3RlcjtcbiAgICAgICAgW2Rpcj1cInJ0bFwiXSAmIHtcbiAgICAgICAgICAgIGNvbnRlbnQ6ICRzbGljay1uZXh0LWNoYXJhY3RlcjtcbiAgICAgICAgfVxuICAgIH1cbn1cblxuLnNsaWNrLW5leHQge1xuICAgIHJpZ2h0OiAtMjVweDtcbiAgICBbZGlyPVwicnRsXCJdICYge1xuICAgICAgICBsZWZ0OiAtMjVweDtcbiAgICAgICAgcmlnaHQ6IGF1dG87XG4gICAgfVxuICAgICY6YmVmb3JlIHtcbiAgICAgICAgY29udGVudDogJHNsaWNrLW5leHQtY2hhcmFjdGVyO1xuICAgICAgICBbZGlyPVwicnRsXCJdICYge1xuICAgICAgICAgICAgY29udGVudDogJHNsaWNrLXByZXYtY2hhcmFjdGVyO1xuICAgICAgICB9XG4gICAgfVxufVxuXG4vKiBEb3RzICovXG5cbi5zbGljay1kb3R0ZWQuc2xpY2stc2xpZGVyIHtcbiAgICBtYXJnaW4tYm90dG9tOiAzMHB4O1xufVxuXG4uc2xpY2stZG90cyB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIGJvdHRvbTogLTI1cHg7XG4gICAgbGlzdC1zdHlsZTogbm9uZTtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgcGFkZGluZzogMDtcbiAgICBtYXJnaW46IDA7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgbGkge1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgaGVpZ2h0OiAyMHB4O1xuICAgICAgICB3aWR0aDogMjBweDtcbiAgICAgICAgbWFyZ2luOiAwIDVweDtcbiAgICAgICAgcGFkZGluZzogMDtcbiAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgICAgICBidXR0b24ge1xuICAgICAgICAgICAgYm9yZGVyOiAwO1xuICAgICAgICAgICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgIGhlaWdodDogMjBweDtcbiAgICAgICAgICAgIHdpZHRoOiAyMHB4O1xuICAgICAgICAgICAgb3V0bGluZTogbm9uZTtcbiAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAwcHg7XG4gICAgICAgICAgICBmb250LXNpemU6IDBweDtcbiAgICAgICAgICAgIGNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICAgICAgICAgIHBhZGRpbmc6IDVweDtcbiAgICAgICAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICAgICAgICAgICY6aG92ZXIsICY6Zm9jdXMge1xuICAgICAgICAgICAgICAgIG91dGxpbmU6IG5vbmU7XG4gICAgICAgICAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgICAgICAgICAgICBvcGFjaXR5OiAkc2xpY2stb3BhY2l0eS1vbi1ob3ZlcjtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgICAgIHRvcDogMDtcbiAgICAgICAgICAgICAgICBsZWZ0OiAwO1xuICAgICAgICAgICAgICAgIGNvbnRlbnQ6ICRzbGljay1kb3QtY2hhcmFjdGVyO1xuICAgICAgICAgICAgICAgIHdpZHRoOiAyMHB4O1xuICAgICAgICAgICAgICAgIGhlaWdodDogMjBweDtcbiAgICAgICAgICAgICAgICBmb250LWZhbWlseTogJHNsaWNrLWZvbnQtZmFtaWx5O1xuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogJHNsaWNrLWRvdC1zaXplO1xuICAgICAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAyMHB4O1xuICAgICAgICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgICAgICAgICBjb2xvcjogJHNsaWNrLWRvdC1jb2xvcjtcbiAgICAgICAgICAgICAgICBvcGFjaXR5OiAkc2xpY2stb3BhY2l0eS1ub3QtYWN0aXZlO1xuICAgICAgICAgICAgICAgIC13ZWJraXQtZm9udC1zbW9vdGhpbmc6IGFudGlhbGlhc2VkO1xuICAgICAgICAgICAgICAgIC1tb3otb3N4LWZvbnQtc21vb3RoaW5nOiBncmF5c2NhbGU7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgJi5zbGljay1hY3RpdmUgYnV0dG9uOmJlZm9yZSB7XG4gICAgICAgICAgICBjb2xvcjogJHNsaWNrLWRvdC1jb2xvci1hY3RpdmU7XG4gICAgICAgICAgICBvcGFjaXR5OiAkc2xpY2stb3BhY2l0eS1kZWZhdWx0O1xuICAgICAgICB9XG4gICAgfVxufVxuIiwiQGltcG9ydCAnbWl4aW5zJztcclxuQGltcG9ydCAnZm9udHMnO1xyXG5AaW1wb3J0ICdiYXNlbWlzYyc7IiwiQG1peGluIHRvdWNoRGV2aWNlKCkge1xyXG4gIGJvZHkudG91Y2hkZXZpY2UgJiB7XHJcbiAgICBAY29udGVudDtcclxuICB9XHJcbn1cclxuXHJcbkBtaXhpbiBub25Ub3VjaERldmljZSgpIHtcclxuICBib2R5Om5vdCgudG91Y2hkZXZpY2UpICYge1xyXG4gICAgQGNvbnRlbnQ7XHJcbiAgfVxyXG59XHJcblxyXG5AbWl4aW4gZmFkZWFibGVJbnZpc2libGUoJGR1cmF0aW9uOiAwLjNzKSB7XHJcbiAgdmlzaWJpbGl0eTogaGlkZGVuO1xyXG4gIG9wYWNpdHk6IDA7XHJcbiAgdHJhbnNpdGlvbjogdmlzaWJpbGl0eSAwcyBsaW5lYXIgI3skZHVyYXRpb259LCBvcGFjaXR5ICN7JGR1cmF0aW9ufSBsaW5lYXIgMHM7XHJcbn1cclxuXHJcbkBtaXhpbiBmYWRlYWJsZVZpc2libGUoJGR1cmF0aW9uOiAwLjNzKSB7XHJcbiAgdmlzaWJpbGl0eTogdmlzaWJsZTtcclxuICBvcGFjaXR5OiAxO1xyXG4gIHRyYW5zaXRpb246IHZpc2liaWxpdHkgMHMgbGluZWFyIDBzLCBvcGFjaXR5ICN7JGR1cmF0aW9ufSBsaW5lYXIgMHM7XHJcbn1cclxuXHJcbkBtaXhpbiBvdXRlckNvbnRhaW5lcigpIHtcclxuICB3aWR0aDogMTI1MHB4O1xyXG4gIG1hcmdpbjogMCBhdXRvO1xyXG5cclxuICBAaW5jbHVkZSBtcXUoc20pIHsgLy8geCA8IDc2OFxyXG4gICAgd2lkdGg6IDkwJTtcclxuICB9XHJcbiAgQGluY2x1ZGUgbXEoc20sIG1kKSB7IC8vIDc2OCA8PSB4IDwgOTkyXHJcbiAgICB3aWR0aDogNjQwcHg7XHJcbiAgfVxyXG4gIEBpbmNsdWRlIG1xKG1kLCBsZykgeyAvLyA5OTIgPD0geCA8IDEyMDBcclxuICAgIHdpZHRoOiA5NTBweDtcclxuICB9XHJcbiAgQGluY2x1ZGUgbXEobGcsIHhsZykgeyAvLyAxMjAwIDw9IHggPCAxMzAwXHJcbiAgICB3aWR0aDogMTE1MHB4O1xyXG4gIH1cclxuICBAaW5jbHVkZSBtcSh4bGcsIHh4bGcpIHsgLy8gMTMwMCA8PSB4IDwgMTcwMFxyXG4gICAgd2lkdGg6IDEyNTBweDtcclxuICB9XHJcbiAgQGluY2x1ZGUgbXEoeHhsZykgeyAvLyAxNzAwIDw9IHhcclxuICAgIHdpZHRoOiAxNjQ0cHg7XHJcbiAgfVxyXG59XHJcblxyXG5AbWl4aW4gaW5uZXJDb250YWluZXIoKSB7XHJcbiAgd2lkdGg6IDEwMDBweDtcclxuICBtYXJnaW46IDAgYXV0bztcclxuXHJcbiAgQGluY2x1ZGUgbXF1KHNtKSB7IC8vIHggPCA3NjhcclxuICAgIHdpZHRoOiA5MCU7XHJcbiAgfVxyXG4gIEBpbmNsdWRlIG1xKHNtLCBtZCkge1xyXG4gICAgd2lkdGg6IDY0MHB4O1xyXG4gIH1cclxuICBAaW5jbHVkZSBtcShtZCwgbGcpIHtcclxuICAgIHdpZHRoOiA3NTBweDtcclxuICB9XHJcbiAgQGluY2x1ZGUgbXEobGcsIHhsZykge1xyXG4gICAgd2lkdGg6IDk1MHB4O1xyXG4gIH1cclxuICBAaW5jbHVkZSBtcSh4bGcsIHh4bGcpIHtcclxuICAgIHdpZHRoOiAxMDAwcHg7XHJcbiAgfVxyXG4gIEBpbmNsdWRlIG1xKHh4bGcpIHtcclxuICAgIHdpZHRoOiAxNDAwcHg7XHJcbiAgfVxyXG59XHJcblxyXG5cclxuQG1peGluIHZpZXdwb3J0LXVuaXQoJHByb3BlcnR5LCAkdmFsdWUpIHsgLy8gPDMhIHRoZSBpT1MgYW50aWNhbmNlciB2dywgdmgsIHZtaW4sIHZtYXggc3VwcG9ydFxyXG4gICN7JHByb3BlcnR5fTogJHZhbHVlO1xyXG5cclxuICAkdW5pdDogdW5pdCgkdmFsdWUpO1xyXG5cclxuICBAaWYgKGluZGV4KCh2dywgdmgsIHZtaW4sIHZtYXgpLCAkdW5pdCkgIT0gbnVsbCkge1xyXG4gICAgJGRldmljZXM6ICggKDc2OHB4LCAxMDI0cHgpLCAvLyBpUGFkIChhbGwgdmVyc2lvbnMpXHJcbiAgICAgICAgICAgICgzMjBweCwgNDgwcHgpLCAvLyBpUGhvbmUgNFxyXG4gICAgICAgICAgICAoMzIwcHgsIDU2OHB4KSAvLyBpUGhvbmUgNSwgNUMsIDVTXHJcbiAgICApO1xyXG5cclxuICAgIEBlYWNoICRkZXZpY2UgaW4gJGRldmljZXMge1xyXG4gICAgICAkZGV2aWNlLXdpZHRoOiBudGgoJGRldmljZSwgMSk7XHJcbiAgICAgICRkZXZpY2UtaGVpZ2h0OiBudGgoJGRldmljZSwgMik7XHJcblxyXG4gICAgICAkZGV2aWNlLXF1ZXJ5OiBcIm9ubHkgc2NyZWVuIGFuZCAoLXdlYmtpdC1taW4tZGV2aWNlLXBpeGVsLXJhdGlvOiAxKVwiO1xyXG4gICAgICAkZGV2aWNlLXF1ZXJ5OiBcIiN7JGRldmljZS1xdWVyeX0gYW5kIChkZXZpY2Utd2lkdGg6ICN7JGRldmljZS13aWR0aH0pXCI7XHJcbiAgICAgICRkZXZpY2UtcXVlcnk6IFwiI3skZGV2aWNlLXF1ZXJ5fSBhbmQgKGRldmljZS1oZWlnaHQ6ICN7JGRldmljZS1oZWlnaHR9KVwiO1xyXG5cclxuICAgICAgJHBlcmNlbnQ6ICR2YWx1ZSAvICgkdmFsdWUgKiAwICsgMSk7IC8vIHNlZSBodHRwczovL2dpdGh1Yi5jb20vc2Fzcy9zYXNzL2lzc3Vlcy81MzNcclxuXHJcbiAgICAgICRwZXJjZW50LXdpZHRoOiAkZGV2aWNlLXdpZHRoICogJHBlcmNlbnQgLyAxMDA7XHJcbiAgICAgICRwZXJjZW50LWhlaWdodDogJGRldmljZS1oZWlnaHQgKiAkcGVyY2VudCAvIDEwMDtcclxuXHJcbiAgICAgIEBpZiAoJHVuaXQgPT0gdm1pbiBvciAkdW5pdCA9PSB2bWF4KSB7XHJcbiAgICAgICAgQG1lZGlhICN7JGRldmljZS1xdWVyeX0ge1xyXG4gICAgICAgICAgI3skcHJvcGVydHl9OiBpZigkdW5pdCA9PSB2bWluLCAkcGVyY2VudC13aWR0aCwgJHBlcmNlbnQtaGVpZ2h0KTtcclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgICAgQGVsc2Uge1xyXG4gICAgICAgIEBtZWRpYSAjeyRkZXZpY2UtcXVlcnl9IGFuZCAob3JpZW50YXRpb246IHBvcnRyYWl0KSB7XHJcbiAgICAgICAgICAjeyRwcm9wZXJ0eX06IGlmKCR1bml0ID09IHZ3LCAkcGVyY2VudC13aWR0aCwgJHBlcmNlbnQtaGVpZ2h0KTtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIEBtZWRpYSAjeyRkZXZpY2UtcXVlcnl9IGFuZCAob3JpZW50YXRpb246IGxhbmRzY2FwZSkge1xyXG4gICAgICAgICAgI3skcHJvcGVydHl9OiBpZigkdW5pdCA9PSB2dywgJHBlcmNlbnQtaGVpZ2h0LCAkcGVyY2VudC13aWR0aCk7XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcblxyXG4kbWFpbkNvbG9yOiAjRjU4RjAwO1xyXG4kc2Vjb25kYXJ5Q29sb3I6ICM4RjkyOTM7XHJcbiR0ZXJ0aWFyeUNvbG9yOiAjNzY4MzhBO1xyXG4kZGVlbXBoYXNpemVkQ29sb3I6ICNBRkIzQjU7XHJcbiRkZWVtcGhhc2l6ZWRDb2xvcjI6ICNFOUU5RTk7IiwiQGNoYXJzZXQgXCJVVEYtOFwiO1xyXG5cclxuLypAZm9udC1mYWNlIHtcclxuICBmb250LWZhbWlseTogXCJpY29uc1wiO1xyXG4gIHNyYzp1cmwoXCIuL2Jhc2UvZm9udHMvaWNvbnMuZW90XCIpO1xyXG4gIHNyYzp1cmwoXCIuL2Jhc2UvZm9udHMvaWNvbnMuZW90PyNpZWZpeFwiKSBmb3JtYXQoXCJlbWJlZGRlZC1vcGVudHlwZVwiKSxcclxuICB1cmwoXCIuL2Jhc2UvZm9udHMvaWNvbnMud29mZlwiKSBmb3JtYXQoXCJ3b2ZmXCIpLFxyXG4gIHVybChcIi4vYmFzZS9mb250cy9pY29ucy50dGZcIikgZm9ybWF0KFwidHJ1ZXR5cGVcIiksXHJcbiAgdXJsKFwiLi9iYXNlL2ZvbnRzL2ljb25zLnN2ZyNpY29uc1wiKSBmb3JtYXQoXCJzdmdcIik7XHJcbiAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcclxuICBmb250LXN0eWxlOiBub3JtYWw7XHJcbn0qL1xyXG5AaW1wb3J0IHVybChcIi8vaGVsbG8ubXlmb250cy5uZXQvY291bnQvMzY4MmJlXCIpO1xyXG5AaW1wb3J0IHVybChcIi8vZm9udHMuZ29vZ2xlYXBpcy5jb20vY3NzP2ZhbWlseT1SYWxld2F5OjQwMCw0MDBpLDcwMCw3MDBpJmRpc3BsYXk9c3dhcCZzdWJzZXQ9bGF0aW4tZXh0XCIpO1xyXG5cclxuQGZvbnQtZmFjZSB7Zm9udC1mYW1pbHk6ICdJVENLYWJlbFN0ZC1NZWRpdW0nO1xyXG4gIHNyYzogdXJsKCcuL2ZvbnRzLzM2ODJCRV8wXzAuZW90Jyk7XHJcbiAgc3JjOiB1cmwoJy4vZm9udHMvMzY4MkJFXzBfMC5lb3Q/I2llZml4JykgZm9ybWF0KCdlbWJlZGRlZC1vcGVudHlwZScpLFxyXG4gIHVybCgnLi9mb250cy8zNjgyQkVfMF8wLndvZmYyJykgZm9ybWF0KCd3b2ZmMicpLFxyXG4gIHVybCgnLi9mb250cy8zNjgyQkVfMF8wLndvZmYnKSBmb3JtYXQoJ3dvZmYnKSxcclxuICB1cmwoJy4vZm9udHMvMzY4MkJFXzBfMC50dGYnKSBmb3JtYXQoJ3RydWV0eXBlJyk7XHJcbiAgZm9udC13ZWlnaHQ6IDUwMDtcclxuICBmb250LXN0eWxlOiBub3JtYWw7XHJcbn1cclxuXHJcblxyXG5AbWl4aW4gZkljb24oKSB7XHJcbiAgZm9udC1mYW1pbHk6IFwidXBkYXlcIjtcclxuICBzcmM6dXJsKFwiLi9mb250cy91cGRheS5lb3RcIik7XHJcbiAgc3JjOnVybChcIi4vZm9udHMvdXBkYXkuZW90PyNpZWZpeFwiKSBmb3JtYXQoXCJlbWJlZGRlZC1vcGVudHlwZVwiKSxcclxuICB1cmwoXCIuL2ZvbnRzL3VwZGF5LndvZmZcIikgZm9ybWF0KFwid29mZlwiKSxcclxuICB1cmwoXCIuL2ZvbnRzL3VwZGF5LnR0ZlwiKSBmb3JtYXQoXCJ0cnVldHlwZVwiKSxcclxuICB1cmwoXCIuL2ZvbnRzL3VwZGF5LnN2ZyN1cGRheVwiKSBmb3JtYXQoXCJzdmdcIik7XHJcbiAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcclxuICBmb250LXN0eWxlOiBub3JtYWw7XHJcbn1cclxuXHJcbltkYXRhLWljb25dOmJlZm9yZSB7XHJcbiAgY29udGVudDogYXR0cihkYXRhLWljb24pO1xyXG4gIEBpbmNsdWRlIGZJY29uKCk7XHJcbn1cclxuXHJcbltjbGFzc149XCJpY29uLVwiXTpiZWZvcmUsXHJcbltjbGFzcyo9XCIgaWNvbi1cIl06YmVmb3JlIHtcclxuICBAaW5jbHVkZSBmSWNvbigpO1xyXG59XHJcblxyXG4kaWNvbnM6IChcclxuLy8gICAgICAgIGV4YW1wbGU6IFwiXFw2MVwiLFxyXG4pO1xyXG5cclxuQGVhY2ggJG5hbWUsICRjb250ZW50IGluICRpY29ucyB7XHJcbiAgLmljb24tI3skbmFtZX06OmJlZm9yZSB7IGNvbnRlbnQ6ICRjb250ZW50OyB9XHJcbn1cclxuXHJcbkBtaXhpbiBpY29uKCRuYW1lLCAkc3R5bGVzOiBmYWxzZSkge1xyXG5cclxuICBAaWYoJHN0eWxlcz09dHJ1ZSkge1xyXG4gICAgQGluY2x1ZGUgZkljb24oKTtcclxuICB9XHJcblxyXG4gIGNvbnRlbnQ6IG1hcF9nZXQoJGljb25zLCAkbmFtZSk7XHJcblxyXG59XHJcblxyXG4kbWFpbkZvbnQ6IFwiSVRDS2FiZWxTdGQtTWVkaXVtXCI7XHJcblxyXG5cclxuXHJcblxyXG5cclxuQGZvbnQtZmFjZSB7XHJcbiAgZm9udC1mYW1pbHk6IFwidXBkYXlcIjtcclxuICBzcmM6dXJsKFwiLi9mb250cy91cGRheS5lb3RcIik7XHJcbiAgc3JjOnVybChcIi4vZm9udHMvdXBkYXkuZW90PyNpZWZpeFwiKSBmb3JtYXQoXCJlbWJlZGRlZC1vcGVudHlwZVwiKSxcclxuICB1cmwoXCIuL2ZvbnRzL3VwZGF5LndvZmZcIikgZm9ybWF0KFwid29mZlwiKSxcclxuICB1cmwoXCIuL2ZvbnRzL3VwZGF5LnR0ZlwiKSBmb3JtYXQoXCJ0cnVldHlwZVwiKSxcclxuICB1cmwoXCIuL2ZvbnRzL3VwZGF5LnN2ZyN1cGRheVwiKSBmb3JtYXQoXCJzdmdcIik7XHJcbiAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcclxuICBmb250LXN0eWxlOiBub3JtYWw7XHJcblxyXG59XHJcblxyXG5bZGF0YS1pY29uXTpiZWZvcmUge1xyXG4gIGZvbnQtZmFtaWx5OiBcInVwZGF5XCIgIWltcG9ydGFudDtcclxuICBjb250ZW50OiBhdHRyKGRhdGEtaWNvbik7XHJcbiAgZm9udC1zdHlsZTogbm9ybWFsICFpbXBvcnRhbnQ7XHJcbiAgZm9udC13ZWlnaHQ6IG5vcm1hbCAhaW1wb3J0YW50O1xyXG4gIGZvbnQtdmFyaWFudDogbm9ybWFsICFpbXBvcnRhbnQ7XHJcbiAgdGV4dC10cmFuc2Zvcm06IG5vbmUgIWltcG9ydGFudDtcclxuICBzcGVhazogbm9uZTtcclxuICBsaW5lLWhlaWdodDogMTtcclxuICAtd2Via2l0LWZvbnQtc21vb3RoaW5nOiBhbnRpYWxpYXNlZDtcclxuICAtbW96LW9zeC1mb250LXNtb290aGluZzogZ3JheXNjYWxlO1xyXG59XHJcblxyXG5bY2xhc3NePVwidWQtXCJdOmJlZm9yZSxcclxuW2NsYXNzKj1cIiB1ZC1cIl06YmVmb3JlIHtcclxuICBmb250LWZhbWlseTogXCJ1cGRheVwiICFpbXBvcnRhbnQ7XHJcbiAgZm9udC1zdHlsZTogbm9ybWFsICFpbXBvcnRhbnQ7XHJcbiAgZm9udC13ZWlnaHQ6IG5vcm1hbCAhaW1wb3J0YW50O1xyXG4gIGZvbnQtdmFyaWFudDogbm9ybWFsICFpbXBvcnRhbnQ7XHJcbiAgdGV4dC10cmFuc2Zvcm06IG5vbmUgIWltcG9ydGFudDtcclxuICBzcGVhazogbm9uZTtcclxuICBsaW5lLWhlaWdodDogMTtcclxuICAtd2Via2l0LWZvbnQtc21vb3RoaW5nOiBhbnRpYWxpYXNlZDtcclxuICAtbW96LW9zeC1mb250LXNtb290aGluZzogZ3JheXNjYWxlO1xyXG59XHJcblxyXG4udWQtYXJyb3ctZG93bi1ncmlnaW86YmVmb3JlIHtcclxuICBjb250ZW50OiBcIlxcNjFcIjtcclxufVxyXG4udWQtYXJyb3ctbGVmdC1ncmlnaW86YmVmb3JlIHtcclxuICBjb250ZW50OiBcIlxcNjJcIjtcclxufVxyXG4udWQtYXJyb3ctcmlnaHQtZ3JpZ2lvOmJlZm9yZSB7XHJcbiAgY29udGVudDogXCJcXDYzXCI7XHJcbn1cclxuLnVkLWFycm93LXVwLWdyaWdpbzpiZWZvcmUge1xyXG4gIGNvbnRlbnQ6IFwiXFw2NFwiO1xyXG59XHJcbi51ZC1idXJnZXItbWVudTpiZWZvcmUge1xyXG4gIGNvbnRlbnQ6IFwiXFw2NVwiO1xyXG59XHJcbi51ZC1lLXNob3AtYmlhbmNvOmJlZm9yZSB7XHJcbiAgY29udGVudDogXCJcXDY2XCI7XHJcbn1cclxuLnVkLXNlYXJjaC1iaWFuY286YmVmb3JlIHtcclxuICBjb250ZW50OiBcIlxcNjdcIjtcclxufVxyXG4udWQtdXNlci1iaWFuY286YmVmb3JlIHtcclxuICBjb250ZW50OiBcIlxcNjhcIjtcclxufVxyXG4iLCIvLyBGb250IHNpemUgc2V0dXBcclxuaHRtbCB7XHJcbiAgQGluY2x1ZGUgbXEobGcsIHh4bGcpIHsgZm9udC1zaXplOiA4Ny41JTsgfSAvLyAxNHB4XHJcbiAgQGluY2x1ZGUgbXEoc20sIG1kKSB7IGZvbnQtc2l6ZTogMTAwJTsgfSAvLyAxNnB4XHJcbiAgLy9AaW5jbHVkZSBtcShzbSwgbWQpIHsgZm9udC1zaXplOiA3NSU7IH0gLy8gMTJweFxyXG4gIEBpbmNsdWRlIG1xKG1kLCBsZykgeyBmb250LXNpemU6IDY4Ljc1JTsgfSAvLyAxMXB4XHJcbiAgQGluY2x1ZGUgbXF1KHNtKSB7IGZvbnQtc2l6ZTogMTAwJTsgfSAvLyAxNnB4XHJcbiAgLy9AaW5jbHVkZSBtcXUoc20pIHsgZm9udC1zaXplOiA3NS41JTsgfSAvLyA2Mi41JSBpcyAxMHB4XHJcbn1cclxuXHJcbmJvZHkge1xyXG4gIGZvbnQtZmFtaWx5OiAkbWFpbkZvbnQsIHNhbnMtc2VyaWY7XHJcbn1cclxuXHJcbio6Zm9jdXMge1xyXG4gIG91dGxpbmU6IG5vbmU7XHJcbn1cclxuXHJcbi8vIE1pc2MgcmVzZXRcclxuYSB7XHJcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xyXG4gIHRyYW5zaXRpb246IGNvbG9yIC4zcyBlYXNlLWluLW91dCAwcywgYmFja2dyb3VuZC1jb2xvciAuM3MgZWFzZS1pbi1vdXQgMHMsIGJvcmRlci1jb2xvciAuM3MgZWFzZS1pbi1vdXQgMHMsIG9wYWNpdHkgLjNzIGVhc2UtaW4tb3V0IDBzO1xyXG59XHJcblxyXG5hOmFjdGl2ZSwgYTpmb2N1cywgYnV0dG9uIHsgb3V0bGluZTogbm9uZTsgfVxyXG5pbnB1dFt0eXBlPXRleHRdLCBpbnB1dFt0eXBlPXBhc3N3b3JkXSwgaW5wdXRbdHlwZT1lbWFpbF0sIHRleHRhcmVhIHtcclxuICAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7XHJcbiAgLW1vei1hcHBlYXJhbmNlOiBub25lO1xyXG4gIGFwcGVhcmFuY2U6IG5vbmU7XHJcbiAgYm9yZGVyLXJhZGl1czogMDtcclxufVxyXG5cclxuLm91dGVyQ29udGFpbmVyIHtcclxuICBAaW5jbHVkZSBvdXRlckNvbnRhaW5lcigpO1xyXG59XHJcblxyXG4uaW5uZXJDb250YWluZXIge1xyXG4gIEBpbmNsdWRlIGlubmVyQ29udGFpbmVyKCk7XHJcbn1cclxuXHJcbi5jb250cm9sLWNoZWNrYm94IHtcclxuICBkaXNwbGF5OiBub25lO1xyXG59XHJcblxyXG5oMiwgLmgyIHtcclxuICBmb250LXNpemU6IDIuMTg3NXJlbTtcclxufVxyXG5cclxuaDMsIC5oMyB7XHJcbiAgZm9udC1zaXplOiAxLjU2MjVyZW07XHJcbn1cclxuXHJcbnAge1xyXG4gIGZvbnQtc2l6ZTogMS4yNXJlbTtcclxuICBtYXJnaW46IDA7XHJcbn1cclxuXHJcbi50ZXh0LWNlbnRlciB7XHJcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xyXG59XHJcblxyXG4uZG93bmxvYWRzLXdyYXAge1xyXG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuICB2ZXJ0aWNhbC1hbGlnbjogdG9wO1xyXG4gIG1hcmdpbjogMCAxLjI1cmVtIDEuMjVyZW0gMDtcclxuICBmb250LXNpemU6IDEuMDYyNXJlbTtcclxuXHJcblxyXG4gIC5kb3dubG9hZC1pY29uIHtcclxuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuICAgIGJhY2tncm91bmQ6IHVybCgnL01lZGlhL2ljb25zL2NhcnRlbGxhX2FyYW5jaW9uZS5zdmcnKSBuby1yZXBlYXQgNTAlIDUwJTtcclxuICAgIGJhY2tncm91bmQtc2l6ZTogY29udGFpbjtcclxuICAgIHdpZHRoOiAyLjEyNXJlbTtcclxuICAgIGhlaWdodDogMi44MTI1cmVtO1xyXG4gICAgbWFyZ2luOiAuMTVyZW0gMS4yNXJlbSAwIDA7XHJcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcblxyXG4gICAgQGluY2x1ZGUgbXEobGcsIHhsZykge1xyXG4gICAgICBtYXJnaW4tcmlnaHQ6IC41cmVtO1xyXG4gICAgfVxyXG5cclxuICAgIEBpbmNsdWRlIG1xKHNtLCBtZCkge1xyXG4gICAgICBtYXJnaW4tcmlnaHQ6IC43NXJlbTtcclxuICAgIH1cclxuXHJcbiAgICAmOjphZnRlciB7XHJcbiAgICAgIGNvbnRlbnQ6ICcnO1xyXG4gICAgICBkaXNwbGF5OiBibG9jaztcclxuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgICB0b3A6IDA7XHJcbiAgICAgIGxlZnQ6IDA7XHJcbiAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICBoZWlnaHQ6IDEwMCU7XHJcbiAgICAgIGJhY2tncm91bmQ6IHVybCgnL01lZGlhL2ljb25zL2NhcnRlbGxhX2dyaWdpby5zdmcnKSBuby1yZXBlYXQgNTAlIDUwJTtcclxuICAgICAgYmFja2dyb3VuZC1zaXplOiBjb250YWluO1xyXG4gICAgICBvcGFjaXR5OiAwO1xyXG4gICAgICB0cmFuc2l0aW9uOiBvcGFjaXR5IC4zcyBsaW5lYXIgMHM7XHJcbiAgICB9XHJcblxyXG4gICAgJi5pY29uLXRvb2wge1xyXG4gICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoJy9hc3NldHMvY3NzL2ltZy93ZWItdG9vbC1hcmFuY2lvbmUuc3ZnJyk7XHJcbiAgICAgIFxyXG4gICAgICAmOjphZnRlciB7XHJcbiAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKCcvYXNzZXRzL2Nzcy9pbWcvd2ViLXRvb2wtZ3JpZ2lvLnN2ZycpO1xyXG4gICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgJi5pY29uLXRvb2wtc21hcnRwaG9uZSB7XHJcbiAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCgnL2Fzc2V0cy9jc3MvaW1nL3dlYi10b29sLXNtYXJ0cGhvbmUtYXJhbmNpb25lLnN2ZycpO1xyXG5cclxuICAgICAgJjo6YWZ0ZXIge1xyXG4gICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCgnL2Fzc2V0cy9jc3MvaW1nL3dlYi10b29sLXNtYXJ0cGhvbmUtZ3JpZ2lvLnN2ZycpO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG4gIC5kb3dubG9hZC10ZXh0IHtcclxuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuICAgIHZlcnRpY2FsLWFsaWduOiB0b3A7XHJcbiAgfVxyXG5cclxuICBhIHtcclxuICAgIGNvbG9yOiAkbWFpbkNvbG9yO1xyXG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG4gICAgdmVydGljYWwtYWxpZ246IHRvcDtcclxuXHJcbiAgICAmOmhvdmVyIHtcclxuICAgICAgY29sb3I6ICR0ZXJ0aWFyeUNvbG9yO1xyXG5cclxuICAgICAgLmRvd25sb2FkLWljb24ge1xyXG4gICAgICAgICY6OmFmdGVyIHtcclxuICAgICAgICAgIG9wYWNpdHk6IDE7XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICAmLmJpYW5jbyB7XHJcbiAgICBhIHtcclxuICAgICAgY29sb3I6ICNmZmY7XHJcbiAgICB9XHJcblxyXG4gICAgLmRvd25sb2FkLWljb24ge1xyXG4gICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoJy9NZWRpYS9pY29ucy9jYXJ0ZWxsYV9iaWFuY28uc3ZnJyk7XHJcblxyXG4gICAgICAmLmljb24tdG9vbCB7XHJcbiAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKCcvYXNzZXRzL2Nzcy9pbWcvd2ViLXRvb2wtYmlhbmNvLnN2ZycpO1xyXG4gICAgICB9XHJcblxyXG4gICAgICAmLmljb24tdG9vbC1zbWFydHBob25lIHtcclxuICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoJy9hc3NldHMvY3NzL2ltZy93ZWItdG9vbC1zbWFydHBob25lLWJpYW5jby5zdmcnKTtcclxuICAgICAgfVxyXG4gICAgfVxyXG5cclxuICB9XHJcbn1cclxuXHJcbmEuc2Nyb2xsdG9tZSB7XHJcbiAgJjo6YWZ0ZXIge1xyXG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG4gICAgbWFyZ2luLWxlZnQ6IDAuNWVtO1xyXG4gICAgZm9udC1zaXplOiAwLjc1ZW07XHJcbiAgICBAaW5jbHVkZSBmSWNvbigpO1xyXG4gICAgY29udGVudDogXCJcXDYxXCI7XHJcbiAgfVxyXG59IiwiQGltcG9ydCBcImNoYXRib3RcIjsiLCIjY2hhdGJvdFN0YXRlIHtcclxuICBkaXNwbGF5OiBub25lO1xyXG59XHJcblxyXG4jY2hhdGJvdFdpZGdldCB7XHJcbiAgLypcclxuICBwb3NpdGlvbjogZml4ZWQ7XHJcbiAgcmlnaHQ6IDIwcHg7XHJcbiAgYm90dG9tOiAyMHB4O1xyXG4gIHotaW5kZXg6IDEwO1xyXG4gIC8vcGFkZGluZzogMjBweDtcclxuICAvL2JvcmRlci1yYWRpdXM6IDIwcHg7XHJcbiAgLy9iYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xyXG4gIG9wYWNpdHk6IDA7XHJcbiAgdmlzaWJpbGl0eTogaGlkZGVuO1xyXG4gIHRyYW5zaXRpb246IG9wYWNpdHkgLjE1cyBlYXNlLWluLW91dCwgdmlzaWJpbGl0eSAwcyBlYXNlLWluLW91dCAuMTVzO1xyXG4gIFxyXG4gIEBpbmNsdWRlIG1xdShzbSkge1xyXG4gICAgcmlnaHQ6IDA7XHJcbiAgICBsZWZ0OiAwO1xyXG4gICAgYm90dG9tOiAwO1xyXG4gICAgLy9wYWRkaW5nOiAyMHB4IDA7XHJcbiAgICAvL2JvcmRlci1yYWRpdXM6IDIwcHggMjBweCAwIDA7XHJcbiAgfVxyXG4gICovXHJcbiAgI2NoYXRib3RTdGF0ZTpjaGVja2VkIH4gJiB7XHJcbiAgICAvKm9wYWNpdHk6IDE7XHJcbiAgICB2aXNpYmlsaXR5OiB2aXNpYmxlO1xyXG4gICAgdHJhbnNpdGlvbjogb3BhY2l0eSAuMTVzIGVhc2UtaW4tb3V0LCB2aXNpYmlsaXR5IDBzIGVhc2UtaW4tb3V0OyovXHJcbiAgfVxyXG59XHJcblxyXG4uY2hhdGJvdC10b2dnbGUge1xyXG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICBkaXNwbGF5OiBibG9jaztcclxuICBwYWRkaW5nOiAxNXB4IDQwcHggMTVweCAyMHB4O1xyXG4gIG1hcmdpbjogMjVweCAwO1xyXG4gIGJvcmRlci1yYWRpdXM6IDI1cHg7XHJcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjtcclxuICBmb250LXNpemU6IDIwcHg7XHJcbiAgbGluZS1oZWlnaHQ6IDFlbTtcclxuICBmb250LXdlaWdodDogNzAwO1xyXG4gIGNvbG9yOiAjMDAwO1xyXG4gIGN1cnNvcjogcG9pbnRlcjtcclxuICB0cmFuc2l0aW9uOiBvcGFjaXR5IC4zcyBlYXNlLWluLW91dDtcclxuICBcclxuICAmOmhvdmVyIHtcclxuICAgIG9wYWNpdHk6IC41O1xyXG4gIH1cclxuICBcclxuICAmLWljb24ge1xyXG4gICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgcmlnaHQ6IDIwcHg7XHJcbiAgICB0b3A6IDUwJTtcclxuICAgIGZvbnQtc2l6ZTogMTBweDtcclxuICAgIGNvbG9yOiAjNzY4MzhBO1xyXG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpO1xyXG4gIH1cclxufVxyXG4iLCJAaW1wb3J0IFwiaGVhZGVyXCI7XHJcbkBpbXBvcnQgXCJob21lc2xpZGVyXCI7XHJcbkBpbXBvcnQgXCJjb250YWN0Zm9ybVwiO1xyXG5AaW1wb3J0IFwic2lkZWJveGxpbmtcIjtcclxuQGltcG9ydCBcInRpbGVjYXJvdXNlbFwiO1xyXG5AaW1wb3J0IFwiY29tbXVuaXR5XCI7XHJcbkBpbXBvcnQgXCJzZWN0aW9uaGVhZFwiO1xyXG5AaW1wb3J0IFwiaWxsdXN0cmF0ZWR0ZXh0XCI7XHJcbkBpbXBvcnQgXCJjb2xvcmJhclwiO1xyXG5AaW1wb3J0IFwiYWR2YW50YWdlYm94ZXNcIjtcclxuQGltcG9ydCBcImR1YWxwcm9kdWN0c1wiO1xyXG5AaW1wb3J0IFwibGlua2JhclwiO1xyXG5AaW1wb3J0IFwiZHVhbHByb21vXCI7XHJcbkBpbXBvcnQgXCJxdWFkYm94ZXNcIjtcclxuQGltcG9ydCBcImNhbGN1bGF0b3JcIjtcclxuQGltcG9ydCBcInNpbmdsZXByb2R1Y3RcIjtcclxuQGltcG9ydCBcIm1vc2FpY2JveGVzXCI7XHJcbkBpbXBvcnQgXCJwZGZkb3dubG9hZHNcIjtcclxuQGltcG9ydCBcImNvb2tpZVwiO1xyXG5AaW1wb3J0IFwiZm9vdGVyXCI7XHJcbkBpbXBvcnQgXCJpbnZvaWNlZ2VuXCI7XHJcbkBpbXBvcnQgXCJmaXhlZGJhbm5lclwiO1xyXG5AaW1wb3J0IFwiY2FsY3RhYmxlXCI7XHJcbkBpbXBvcnQgXCJjb2RlY2hlY2tlclwiO1xyXG5AaW1wb3J0IFwiY2FsY2RldHRhZ2xpXCI7XHJcbkBpbXBvcnQgXCJuZXdjb250YWN0Zm9ybVwiO1xyXG4iLCJoZWFkZXIge1xyXG4gIHBvc2l0aW9uOiBmaXhlZDtcclxuICB6LWluZGV4OiAxMDtcclxuICB0b3A6IDA7XHJcbiAgbGVmdDogMDtcclxuICByaWdodDogMDtcclxuXHJcbiAgLmhlYWRlci1iYW5uZXIge1xyXG4gICAgZGlzcGxheTogbm9uZTtcclxuICAgIGJhY2tncm91bmQtY29sb3I6ICRtYWluQ29sb3I7XHJcbiAgICBjb2xvcjogI2ZmZjtcclxuICAgIFxyXG4gICAgJi5zaG93biB7XHJcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgfVxyXG5cclxuICAgIC8vIHRoZSBoZWlnaHQgb2YgaGVhZGVyLXRvcCBhcyBhIHByb3BlcnR5IG9mIGhlYWRlci1ib3R0b21cclxuICAgIC8vIHRvcDogMi44NzVyZW07XHJcbiAgICAvKkBpbmNsdWRlIG1xdShzbSkge1xyXG4gICAgICB0b3A6IDA7XHJcbiAgICB9Ki9cclxuXHJcbiAgICBAaW5jbHVkZSBtcShzbSxtZCkge1xyXG4gICAgICAub3V0ZXJDb250YWluZXIge1xyXG4gICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgLmJhbm5lci13cmFwIHtcclxuICAgICAgaGVpZ2h0OiAxMi4xODc1cmVtO1xyXG4gICAgICBtYXgtaGVpZ2h0OiAxMi4xODc1cmVtO1xyXG4gICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG4gICAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XHJcbiAgICAgIG92ZXJmbG93OiBoaWRkZW47XHJcblxyXG4gICAgICBAaW5jbHVkZSBtcShzbSxtZCkge1xyXG4gICAgICAgIGhlaWdodDogMTAuMTI1cmVtO1xyXG4gICAgICAgIG1heC1oZWlnaHQ6IDEwLjEyNXJlbTtcclxuICAgICAgfVxyXG4gICAgICBcclxuICAgICAgQGluY2x1ZGUgbXF1KHNtKSB7XHJcbiAgICAgICAgZmxleC13cmFwOiB3cmFwO1xyXG4gICAgICAgIGhlaWdodDogMjAuMTI1cmVtO1xyXG4gICAgICAgIG1heC1oZWlnaHQ6IDIwLjEyNXJlbTtcclxuICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIC5iYW5uZXItaW1nIHtcclxuICAgICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcclxuICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogMCA1MCU7XHJcbiAgICAgIC8vYmFja2dyb3VuZC1zaXplOiBjb250YWluO1xyXG4gICAgICBiYWNrZ3JvdW5kLXNpemU6IDEwMCUgYXV0bztcclxuICAgICAgZmxleDogMCAwIDMzJTtcclxuICAgICAgLy9mbGV4OiAwIDAgMzQuMjVyZW07XHJcbiAgICAgIGFsaWduLXNlbGY6IHN0cmV0Y2g7XHJcbiAgICAgIG1hcmdpbi1yaWdodDogMy43NXJlbTtcclxuXHJcbiAgICAgIEBpbmNsdWRlIG1xKHNtLG1kKSB7XHJcbiAgICAgICAgZmxleDogMCAwIDE2cmVtO1xyXG4gICAgICB9XHJcblxyXG4gICAgICBAaW5jbHVkZSBtcXUoc20pIHtcclxuICAgICAgICBmbGV4OiAxIDEgMTAwJTtcclxuICAgICAgICBoZWlnaHQ6IDYuNXJlbTtcclxuICAgICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiA1MCUgNTAlO1xyXG4gICAgICAgIG1hcmdpbjogMXJlbSAwIDEuNXJlbTtcclxuICAgICAgICBiYWNrZ3JvdW5kLXNpemU6IGNvbnRhaW47XHJcbiAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAuYmFubmVyLXRleHQtd3JhcCB7XHJcbiAgICAgIGZsZXg6IDEgMSBhdXRvO1xyXG4gICAgICBcclxuICAgICAgQGluY2x1ZGUgbXF1KHNtKSB7XHJcbiAgICAgICAgZmxleDogMSAxIDEwMCU7XHJcbiAgICAgIH1cclxuICAgICAgXHJcbiAgICAgIC5iYW5uZXItdGV4dCB7XHJcbiAgICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG4gICAgICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcclxuICAgICAgICBcclxuICAgICAgICBwIHtcclxuICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuICAgICAgICAgIGZsZXg6IDEgMSAxMDAlO1xyXG4gICAgICAgICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcclxuICAgICAgICAgIGZvbnQtc2l6ZTogMS41NjI1cmVtO1xyXG4gICAgICAgICAgZm9udC13ZWlnaHQ6IDcwMDtcclxuICAgICAgICAgIFxyXG4gICAgICAgICAgbWF4LXdpZHRoOiAzMDBweDtcclxuICAgICAgICAgIG1heC13aWR0aDogMTAwJTtcclxuICAgICAgICB9XHJcbiAgICAgICAgXHJcbiAgICAgICAgLmJ1dHRvbiB7XHJcbiAgICAgICAgICBmbGV4OiAwIDAgMTcuMTI1cmVtO1xyXG4gICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHRlcnRpYXJ5Q29sb3I7XHJcbiAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcbiAgICAgICAgICBjb2xvcjogI2ZmZmZmZjtcclxuICAgICAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7XHJcbiAgICAgICAgICBmb250LXNpemU6IDEuNjg3NXJlbTtcclxuICAgICAgICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XHJcbiAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbiAgICAgICAgICBtYXJnaW4tbGVmdDogNC4wNjI1cmVtO1xyXG4gICAgICAgICAgbGluZS1oZWlnaHQ6IDMuMzEyNXJlbTtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIEBpbmNsdWRlIG1xKHNtLG1kKSB7XHJcbiAgICAgICAgICBmbGV4LXdyYXA6IHdyYXA7XHJcbiBcclxuICAgICAgICAgIHAge1xyXG4gICAgICAgICAgICBmbGV4OiAxIDEgMTAwJTtcclxuICAgICAgICAgICAgZm9udC1zaXplOiAxLjA2MjVyZW07XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgICAuYnV0dG9uIHtcclxuICAgICAgICAgICAgZmxleDogMCAwIDE2cmVtO1xyXG4gICAgICAgICAgICBtYXJnaW4tdG9wOiAxcmVtO1xyXG4gICAgICAgICAgICBtYXJnaW4tbGVmdDogMDtcclxuICAgICAgICAgICAgZm9udC1zaXplOiAxLjU2MjVyZW07XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIFxyXG4gICAgICAgIEBpbmNsdWRlIG1xdShzbSkge1xyXG4gICAgICAgICAgZmxleC13cmFwOiB3cmFwO1xyXG5cclxuICAgICAgICAgIHAge1xyXG4gICAgICAgICAgICBmbGV4OiAxIDEgMTAwJTtcclxuICAgICAgICAgICAgZm9udC1zaXplOiAxLjA2MjVyZW07XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgICAuYnV0dG9uIHtcclxuICAgICAgICAgICAgZmxleDogMSAxIDEwMCU7XHJcbiAgICAgICAgICAgIG1hcmdpbi10b3A6IDEuNXJlbTtcclxuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMS4yNXJlbTtcclxuICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IDA7XHJcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMS41NjI1cmVtO1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgfSBcclxuICAgIH1cclxuXHJcbiAgICAuYmFubmVyLWNsb3NlciB7XHJcbiAgICAgIGZsZXg6IDAgMCA0LjVyZW07XHJcbiAgICAgIHRleHQtYWxpZ246IHJpZ2h0O1xyXG4gICAgfVxyXG4gICAgXHJcbiAgICAuY2xvc2VyLWljb24geyBcclxuICAgICAgY29sb3I6ICRtYWluQ29sb3I7XHJcbiAgICAgIGN1cnNvcjogcG9pbnRlcjtcclxuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG4gICAgICB3aWR0aDogMS41NjI1cmVtO1xyXG4gICAgICBoZWlnaHQ6IDEuNTYyNXJlbTtcclxuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgICB0cmFuc2l0aW9uOiBvcGFjaXR5IC4zcyBlYXNlLWluLW91dCAwcztcclxuICAgICAgXHJcbiAgICAgICY6aG92ZXIgeyBcclxuICAgICAgICBvcGFjaXR5OiAuNTtcclxuICAgICAgfVxyXG5cclxuICAgICAgJjo6YWZ0ZXIge1xyXG4gICAgICAgIGNvbnRlbnQ6ICcnO1xyXG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICAgICAgdG9wOiAwO1xyXG4gICAgICAgIGxlZnQ6IDA7XHJcbiAgICAgICAgdmVydGljYWwtYWxpZ246IHRvcDtcclxuICAgICAgICAvKiB3aWR0aDogMTAwJTtcclxuICAgICAgICBoZWlnaHQ6IDEwMCU7ICovXHJcbiAgICAgICAgd2lkdGg6IDEuNTYyNXJlbTtcclxuICAgICAgICBoZWlnaHQ6IDEuNTYyNXJlbTtcclxuICAgICAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xyXG4gICAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IDUwJSA1MCU7XHJcbiAgICAgICAgYmFja2dyb3VuZC1zaXplOiBjb250YWluO1xyXG4gICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCgnL01lZGlhL2ljb25zL2Nsb3NlX2JpYW5jby5zdmcnKTsgXHJcbiAgICAgIH1cclxuXHJcbiAgICAgIEBpbmNsdWRlIG1xKHNtLCBtZCkge1xyXG4gICAgICAgIG1hcmdpbi1yaWdodDogMS4wNjI1cmVtO1xyXG4gICAgICB9XHJcbiAgICAgIEBpbmNsdWRlIG1xdShzbSkge1xyXG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgICAgICB0b3A6IDAuMzEyNXJlbTtcclxuICAgICAgICByaWdodDogMC4xODc1cmVtO1xyXG4gICAgICAgIHdpZHRoOiAwLjYyNXJlbTtcclxuICAgICAgICBoZWlnaHQ6IDAuNjI1cmVtO1xyXG4gICAgICAgIFxyXG4gICAgICAgICY6OmFmdGVyIHtcclxuICAgICAgICAgIHdpZHRoOiAwLjYyNXJlbTtcclxuICAgICAgICAgIGhlaWdodDogMC42MjVyZW07XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICB9XHJcblxyXG4gIH1cclxuIFxyXG4gIC5oZWFkZXItdG9wIHtcclxuICAgIC8vYmFja2dyb3VuZC1jb2xvcjogI0U5RTlFOTtcclxuICAgIGZvbnQtZmFtaWx5OiBSYWxld2F5LCAkbWFpbkZvbnQsIHNhbnMtc2VyaWY7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjNEU1QjU5O1xyXG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgei1pbmRleDogMjtcclxuXHJcbiAgICBAaW5jbHVkZSBtcXUoc20pIHtcclxuICAgICAgZGlzcGxheTogbm9uZTtcclxuICAgIH1cclxuXHJcbiAgICAuaW5uZXJDb250YWluZXIge1xyXG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICAgIC8vcGFkZGluZzogMC40Mzc1cmVtIDAgMC42MjVyZW07XHJcbiAgICAgIC8vcGFkZGluZzogMC42MjVyZW0gMCAwLjc1cmVtOyBcclxuICAgICAgcGFkZGluZzogMTBweCAwIDEycHg7XHJcbiAgICB9XHJcblxyXG4gICAgLmhlYWRlci1zb2NpYWxzIHtcclxuICAgICAgbWFyZ2luOiAwIGF1dG87XHJcbiAgICAgIGZvbnQtc2l6ZTogMDtcclxuICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xyXG5cclxuICAgICAgYSB7XHJcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrOyBcclxuICAgICAgICB2ZXJ0aWNhbC1hbGlnbjogdG9wO1xyXG4gICAgICAgIC8vd2lkdGg6IDEuODEyNXJlbTtcclxuICAgICAgICAvL2hlaWdodDogMS44MTI1cmVtO1xyXG4gICAgICAgIHdpZHRoOiAzMHB4O1xyXG4gICAgICAgIGhlaWdodDogMzBweDtcclxuICAgICAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xyXG4gICAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IDUwJSA1MCU7XHJcbiAgICAgICAgYmFja2dyb3VuZC1zaXplOiBjb250YWluO1xyXG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgICAgICBtYXJnaW46IDAgMC4xODc1cmVtIDA7XHJcblxyXG4gICAgICAgICY6OmFmdGVyIHtcclxuICAgICAgICAgIGNvbnRlbnQ6ICcnOyBcclxuICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgICAgICAgdG9wOiAwO1xyXG4gICAgICAgICAgbGVmdDogMDtcclxuICAgICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICAgICAgaGVpZ2h0OiAxMDAlO1xyXG4gICAgICAgICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcclxuICAgICAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IDUwJSA1MCU7XHJcbiAgICAgICAgICBiYWNrZ3JvdW5kLXNpemU6IGNvbnRhaW47XHJcbiAgICAgICAgICBvcGFjaXR5OiAwO1xyXG4gICAgICAgICAgdHJhbnNpdGlvbjogb3BhY2l0eSAuM3MgZWFzZS1pbi1vdXQgMHM7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAmOmhvdmVyLCAmOmZvY3VzIHtcclxuICAgICAgICAgICY6OmFmdGVyIHtcclxuICAgICAgICAgICAgb3BhY2l0eTogMTtcclxuICAgICAgICAgIH1cclxuICAgICAgICB9XHJcblxyXG4gICAgICAgICYuZmFjZWJvb2sge1xyXG4gICAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKCcvTWVkaWEvaWNvbnMvU29jaWFsL2ZhY2Vib29rX2dyaWdpby5zdmcnKTtcclxuXHJcbiAgICAgICAgICAmOjphZnRlciB7XHJcbiAgICAgICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCgnL01lZGlhL2ljb25zL1NvY2lhbC9mYWNlYm9vay5zdmcnKTtcclxuICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgJi50d2l0dGVyIHtcclxuICAgICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCgnL01lZGlhL2ljb25zL1NvY2lhbC90d2l0dGVyX2dyaWdpby5zdmcnKTtcclxuXHJcbiAgICAgICAgICAmOjphZnRlciB7XHJcbiAgICAgICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCgnL01lZGlhL2ljb25zL1NvY2lhbC90d2l0dGVyLnN2ZycpO1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICAmLmluc3RhZ3JhbSB7XHJcbiAgICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoJy9NZWRpYS9pY29ucy9Tb2NpYWwvaW5zdGFncmFtX2dyaWdpby5zdmcnKTtcclxuXHJcbiAgICAgICAgICAmOjphZnRlciB7XHJcbiAgICAgICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCgnL01lZGlhL2ljb25zL1NvY2lhbC9pbnN0YWdyYW0uc3ZnJyk7XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgLmxvZ28td3JhcCB7XHJcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgICAgdG9wOiAwO1xyXG4gICAgICByaWdodDogLTQuMjVyZW07XHJcblxyXG4gICAgICBAaW5jbHVkZSBtcShzbSwgbWQpIHtcclxuICAgICAgICByaWdodDogLTNyZW07XHJcbiAgICAgIH1cclxuXHJcbiAgICAgIC5sb2dvIHtcclxuICAgICAgICBkaXNwbGF5OiBibG9jaztcclxuICAgICAgICBiYWNrZ3JvdW5kOiB1cmwoJy9NZWRpYS9sb2dvcy9Mb2dvX1VQLnBuZycpIG5vLXJlcGVhdCA1MCUgNTAlO1xyXG4gICAgICAgIGJhY2tncm91bmQtc2l6ZTogY29udGFpbjtcclxuICAgICAgICAvL3dpZHRoOiAyLjg3NXJlbTtcclxuICAgICAgICAvL2hlaWdodDogMi44NzVyZW07XHJcbiAgICAgICAgd2lkdGg6IDUycHg7XHJcbiAgICAgICAgaGVpZ2h0OiA1MnB4O1xyXG4gICAgICAgIG9wYWNpdHk6IDE7XHJcbiAgICAgICAgdHJhbnNpdGlvbjogb3BhY2l0eSAuM3MgZWFzZS1pbi1vdXQgMHM7XHJcblxyXG4gICAgICAgICY6aG92ZXIge1xyXG4gICAgICAgICAgb3BhY2l0eTogLjU7XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICB9XHJcblxyXG4gIH1cclxuICBcclxuICAuaGVhZGVyLWJvdHRvbSB7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDY3LDc5LDg1LCAuOSk7XHJcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICB6LWluZGV4OiAyO1xyXG4gICAgbGVmdDogMDtcclxuICAgIC8vdG9wOiAyLjg3NXJlbTtcclxuICAgIC8vdG9wOiAzLjE4NzVyZW07XHJcbiAgICB0b3A6IDUycHg7XHJcbiAgICB3aWR0aDogMTAwJTtcclxuICAgIC8vb3ZlcmZsb3c6IGhpZGRlbjtcclxuICAgIHRyYW5zaXRpb246IG1heC1oZWlnaHQgLjNzIGVhc2UtaW4tb3V0IDBzO1xyXG4gICAgQGluY2x1ZGUgdmlld3BvcnQtdW5pdChcIm1heC1oZWlnaHRcIiwgNy44NzVyZW0pO1xyXG5cclxuICAgIEBpbmNsdWRlIG1xdShzbSkge1xyXG4gICAgICB0b3A6IDA7XHJcbiAgICB9XHJcblxyXG4gICAgLnZpc2libGUtbmF2IHtcclxuICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgYWxpZ24tY29udGVudDogc3BhY2UtYmV0d2VlbjtcclxuICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuICAgIH1cclxuXHJcbiAgICAubG9nby13cmFwIHtcclxuICAgICAgZmxleDogMCAwIGF1dG87XHJcblxyXG4gICAgICAubG9nbyB7XHJcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICAgICAgYmFja2dyb3VuZDogdXJsKCcvTWVkaWEvbG9nb3MvTG9nb19VUERBWTIuc3ZnJykgbm8tcmVwZWF0IDUwJSA1MCU7XHJcbiAgICAgICAgYmFja2dyb3VuZC1zaXplOiBjb250YWluO1xyXG4gICAgICAgIHdpZHRoOiA2LjYyNXJlbTtcclxuICAgICAgICBoZWlnaHQ6IDIuMzEyNXJlbTtcclxuICAgICAgICBtYXJnaW46IDEuNDM3NXJlbSAwIDEuMjVyZW07XHJcblxyXG4gICAgICAgIEBpbmNsdWRlIG1xdShzbSkge1xyXG4gICAgICAgICAgd2lkdGg6IDUuMjVyZW07XHJcbiAgICAgICAgICBoZWlnaHQ6IDEuODEyNXJlbTtcclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAubWVudS1saW5rcyB7XHJcbiAgICAgIGZsZXg6IDEgMSA1MCU7XHJcbiAgICAgIHRleHQtYWxpZ246IHJpZ2h0O1xyXG4gICAgICBmb250LXNpemU6IDA7XHJcblxyXG4gICAgICBAaW5jbHVkZSBtcXUoc20pIHtcclxuICAgICAgICBmbGV4OiAxIDEgNTAlO1xyXG4gICAgICB9XHJcblxyXG4gICAgICA+IGEge1xyXG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuICAgICAgICBmb250LXNpemU6IDEuMjVyZW07XHJcbiAgICAgICAgbGluZS1oZWlnaHQ6IDFlbTtcclxuICAgICAgICBjb2xvcjogI2ZmZjtcclxuICAgICAgICBtYXJnaW4tcmlnaHQ6IDQwcHg7XHJcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG5cclxuICAgICAgICBAaW5jbHVkZSBtcXUobWQpIHtcclxuICAgICAgICAgIG1hcmdpbi1yaWdodDogMS4yNXJlbTtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIHNwYW4ge1xyXG4gICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG4gICAgICAgICAgbWFyZ2luLXJpZ2h0OiAwLjY4NzVyZW07XHJcblxyXG4gICAgICAgICAgQGluY2x1ZGUgbXF1KHNtKSB7XHJcbiAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAmOjpiZWZvcmUsICY6OmFmdGVyIHtcclxuICAgICAgICAgIGNvbnRlbnQ6ICcnO1xyXG4gICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG4gICAgICAgICAgdmVydGljYWwtYWxpZ246IHRvcDtcclxuICAgICAgICAgIHdpZHRoOiAxLjE4NzVyZW07XHJcbiAgICAgICAgICBoZWlnaHQ6IDEuMjVyZW07XHJcbiAgICAgICAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xyXG4gICAgICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogNTAlIDEwMCU7XHJcbiAgICAgICAgICBiYWNrZ3JvdW5kLXNpemU6IGNvbnRhaW47XHJcbiAgICAgICAgICB0cmFuc2l0aW9uOiBvcGFjaXR5IC4zcyBlYXNlLWluLW91dCAwcztcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgICY6OmJlZm9yZSB7XHJcbiAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICAgICAgICB0b3A6IDA7XHJcbiAgICAgICAgICByaWdodDogMDtcclxuICAgICAgICAgIG9wYWNpdHk6IDA7XHJcblxyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgJi5sb2dpbiB7XHJcbiAgICAgICAgICAmOjphZnRlciB7XHJcbiAgICAgICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCgnL01lZGlhL2ljb25zL3VzZXJfYmlhbmNvLnN2ZycpO1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgICAgJjo6YmVmb3JlIHtcclxuICAgICAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKCcvTWVkaWEvaWNvbnMvdXNlcl9hcmFuY2lvbmUuc3ZnJyk7XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgICYuc2hvcCB7XHJcbiAgICAgICAgICAmOjphZnRlciB7XHJcbiAgICAgICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCgnL01lZGlhL2ljb25zL2Utc2hvcF9iaWFuY28uc3ZnJyk7XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgICAmOjpiZWZvcmUge1xyXG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoJy9NZWRpYS9pY29ucy9lLXNob3BfYXJhbmNpb25lLnN2ZycpO1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICAmLmJsb2cge1xyXG4gICAgICAgICAgJjo6YWZ0ZXIge1xyXG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoJy9NZWRpYS9pY29ucy9ibG9nX2JpYW5jby5zdmcnKTtcclxuICAgICAgICAgIH1cclxuICAgICAgICAgICY6OmJlZm9yZSB7XHJcbiAgICAgICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCgnL01lZGlhL2ljb25zL2Jsb2dfYXJhbmNpb25lLnN2ZycpO1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICAmLnNlYXJjaCB7XHJcbiAgICAgICAgICAmOjphZnRlciB7XHJcbiAgICAgICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCgnL01lZGlhL2ljb25zL3NlYXJjaF9iaWFuY28uc3ZnJyk7XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgICAmOjpiZWZvcmUge1xyXG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoJy9NZWRpYS9pY29ucy9zZWFyY2hfYXJhbmNpb25lLnN2ZycpO1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgJjpob3ZlciB7XHJcbiAgICAgICAgICBjb2xvcjogJG1haW5Db2xvcjtcclxuXHJcbiAgICAgICAgICAmOjpiZWZvcmUge1xyXG4gICAgICAgICAgICBvcGFjaXR5OiAxO1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgICAgJjo6YWZ0ZXIge1xyXG4gICAgICAgICAgICBvcGFjaXR5OiAwO1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG5cclxuICAgICAgLm1lbnUtb3BlbmVyIHtcclxuICAgICAgICBjb2xvcjogJG1haW5Db2xvcjtcclxuICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XHJcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG4gICAgICAgIHdpZHRoOiAycmVtO1xyXG4gICAgICAgIGhlaWdodDogMS4yNXJlbTtcclxuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcblxyXG4gICAgICAgICY6OmJlZm9yZSwgJjo6YWZ0ZXIge1xyXG4gICAgICAgICAgY29udGVudDogJyc7XHJcbiAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcbiAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICAgICAgICB0b3A6IDA7XHJcbiAgICAgICAgICBsZWZ0OiAwO1xyXG4gICAgICAgICAgdmVydGljYWwtYWxpZ246IHRvcDtcclxuICAgICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICAgICAgaGVpZ2h0OiAxMDAlO1xyXG4gICAgICAgICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcclxuICAgICAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IDUwJSA1MCU7XHJcbiAgICAgICAgICBiYWNrZ3JvdW5kLXNpemU6IGNvbnRhaW47XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAmOjpiZWZvcmUge1xyXG4gICAgICAgICAgdHJhbnNpdGlvbjogb3BhY2l0eSAuMzBzIGVhc2UtaW4tb3V0IC4xMHM7XHJcbiAgICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoJy9NZWRpYS9pY29ucy9idXJnZXJfbWVudS5zdmcnKTtcclxuICAgICAgICB9XHJcbiAgICAgICAgJjo6YWZ0ZXIge1xyXG4gICAgICAgICAgdHJhbnNpdGlvbjogb3BhY2l0eSAuMzBzIGVhc2UtaW4tb3V0IDBzO1xyXG4gICAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKCcvTWVkaWEvaWNvbnMvY2xvc2Uuc3ZnJyk7XHJcbiAgICAgICAgICBvcGFjaXR5OiAwO1xyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgI21haW5NZW51OmNoZWNrZWQgfiAuaGVhZGVyLWJvdHRvbSB7XHJcbiAgICAubWVudS1vcGVuZXIge1xyXG4gICAgICAmOjpiZWZvcmUge1xyXG4gICAgICAgIHRyYW5zaXRpb246IG9wYWNpdHkgLjMwcyBlYXNlLWluLW91dCAwcztcclxuICAgICAgICBvcGFjaXR5OiAwO1xyXG4gICAgICB9XHJcbiAgICAgICY6OmFmdGVyIHtcclxuICAgICAgICB0cmFuc2l0aW9uOiBvcGFjaXR5IC4zMHMgZWFzZS1pbi1vdXQgLjEwcztcclxuICAgICAgICBvcGFjaXR5OiAxO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICAjbWFpbk1lbnU6Y2hlY2tlZCB+IC5leHBhbmRpbmctbmF2IHtcclxuICAgIG1heC1oZWlnaHQ6IDEwMCU7XHJcbiAgfVxyXG5cclxuICAuZXhwYW5kaW5nLW5hdiB7XHJcbiAgICBwb3NpdGlvbjogZml4ZWQ7XHJcbiAgICB6LWluZGV4OiAxO1xyXG4gICAgbGVmdDogMDtcclxuICAgIHRvcDogOC43MTQzcmVtO1xyXG4gICAgYm90dG9tOiAwO1xyXG4gICAgd2lkdGg6IDEwMCU7XHJcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xyXG4gICAgbWF4LWhlaWdodDogMDtcclxuICAgIHRyYW5zaXRpb246IG1heC1oZWlnaHQgLjNzIGVhc2UtaW4tb3V0IDBzO1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSg2Nyw3OSw4NSwgLjkpO1xyXG5cclxuICAgIEBpbmNsdWRlIG1xKHh4bGcpIHsgdG9wOiAxMzJweDsgIH1cclxuICAgIEBpbmNsdWRlIG1xKHNtLCBtZCkgeyB0b3A6IDEzMnB4OyAgfVxyXG4gICAgQGluY2x1ZGUgbXEobWQsIGxnKSB7IHRvcDogMTA3cHg7IH1cclxuICAgIEBpbmNsdWRlIG1xdShzbSkgeyB0b3A6IDQuNXJlbTsgfVxyXG4gIH1cclxuXHJcbiAgLm5hdi13cmFwIHtcclxuICAgIG1heC1oZWlnaHQ6IDEwMCU7XHJcbiAgICBvdmVyZmxvdzogYXV0bztcclxuICAgIG92ZXJmbG93LXk6IHNjcm9sbDtcclxuICAgIC1tcy1vdmVyZmxvdy1zdHlsZTogbm9uZTsgIC8qIEludGVybmV0IEV4cGxvcmVyIDEwKyAqL1xyXG4gICAgc2Nyb2xsYmFyLXdpZHRoOiBub25lOyAgLyogRmlyZWZveCAqL1xyXG4gICAgXHJcbiAgICAmOjotd2Via2l0LXNjcm9sbGJhciB7XHJcbiAgICAgIGRpc3BsYXk6IG5vbmU7ICAvKiBTYWZhcmkgYW5kIENocm9tZSAqL1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgbmF2IHtcclxuICAgIEBpbmNsdWRlIGlubmVyQ29udGFpbmVyKCk7XHJcbiAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xyXG4gICAgbWFyZ2luOiAwIGF1dG87XHJcbiAgICBwYWRkaW5nLWJvdHRvbTogNHJlbTtcclxuICAgIGJvcmRlci10b3A6IDJweCBzb2xpZCAkbWFpbkNvbG9yO1xyXG4gICAgb3ZlcmZsb3c6IGF1dG87XHJcbiAgICBtYXgtaGVpZ2h0OiAxMDAlO1xyXG5cclxuICAgIEBpbmNsdWRlIG1xdShtZCkge1xyXG4gICAgICBkaXNwbGF5OiBibG9jaztcclxuICAgIH1cclxuXHJcbiAgICAubWVudS1leHBhbmRlciB7XHJcbiAgICAgIHBhZGRpbmc6IDEuNXJlbSAwO1xyXG4gICAgICBcclxuICAgICAgQGluY2x1ZGUgbXF1KG1kKSB7XHJcbiAgICAgICAgYm9yZGVyLWJvdHRvbTogMnB4IHNvbGlkICRtYWluQ29sb3I7XHJcbiAgICAgIH1cclxuXHJcbiAgICAgIC50b2dnbGUge1xyXG4gICAgICAgIGZvbnQtc2l6ZTogMzBweDtcclxuICAgICAgICBtYXJnaW46IDA7XHJcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICAgICAgY29sb3I6ICNmZmY7XHJcbiAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xyXG4gICAgICAgIHRyYW5zaXRpb246IGNvbG9yIDAuM3MgZWFzZS1pbi1vdXQgMHM7XHJcblxyXG4gICAgICAgIEBpbmNsdWRlIG1xKG1kKSB7XHJcbiAgICAgICAgICBtYXJnaW4tYm90dG9tOiAyMHB4O1xyXG4gICAgICAgIH1cclxuICAgICAgICBcclxuICAgICAgICBAaW5jbHVkZSBtcXUobWQpIHtcclxuICAgICAgICAgIGZvbnQtc2l6ZTogMzVweDtcclxuICAgICAgICAgIFxyXG4gICAgICAgICAgJjpob3ZlciB7XHJcbiAgICAgICAgICAgIGNvbG9yOiAkbWFpbkNvbG9yO1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG5cclxuICAgICAgLm5hdi1oZWFkIHtcclxuICAgICAgICBkaXNwbGF5OiBibG9jaztcclxuICAgICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xyXG4gICAgICAgIGNvbG9yOiAkbWFpbkNvbG9yO1xyXG4gICAgICAgIGZvbnQtc2l6ZTogMjBweDtcclxuICAgICAgICBsaW5lLWhlaWdodDogMS4zNWVtO1xyXG5cclxuICAgICAgICBAaW5jbHVkZSBtcXUoc20pIHtcclxuICAgICAgICAgIGZvbnQtc2l6ZTogMS41NjI1cmVtO1xyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG5cclxuICAgICAgLmxpbmstaG9sZGVyIHtcclxuICAgICAgICBkaXNwbGF5OiBibG9jaztcclxuICAgICAgfVxyXG5cclxuICAgICAgYSB7XHJcbiAgICAgICAgZm9udC1zaXplOiAyMHB4O1xyXG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxLjM1ZW07XHJcblxyXG4gICAgICAgIEBpbmNsdWRlIG1xdShzbSkge1xyXG4gICAgICAgICAgZm9udC1zaXplOiAxLjU2MjVyZW07XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgLmNvbnRyb2wtY2hlY2tib3g6Y2hlY2tlZCArIC5tZW51LWV4cGFuZGVyIHtcclxuICAgICAgLnRvZ2dsZSB7XHJcbiAgICAgICAgQGluY2x1ZGUgbXF1KG1kKSB7XHJcbiAgICAgICAgICBjb2xvcjogJG1haW5Db2xvcjtcclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuXHJcbiAgICAgIC5saW5rLXNlY3Rpb24ge1xyXG4gICAgICAgIEBpbmNsdWRlIG1xdShtZCkge1xyXG4gICAgICAgICAgbWF4LWhlaWdodDogMTIuNXJlbTsgXHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgPiAubGluay1ob2xkZXIge1xyXG4gICAgICBwYWRkaW5nOiAxLjVyZW0gMDtcclxuICAgICAgXHJcbiAgICAgIEBpbmNsdWRlIG1xdShtZCkge1xyXG4gICAgICAgIGJvcmRlci1ib3R0b206IDJweCBzb2xpZCAkbWFpbkNvbG9yO1xyXG4gICAgICB9XHJcblxyXG4gICAgICBhIHtcclxuICAgICAgICBmb250LXNpemU6IDMwcHg7XHJcblxyXG4gICAgICAgIEBpbmNsdWRlIG1xdShzbSkgeyBcclxuICAgICAgICAgIGZvbnQtc2l6ZTogMi4zMTI1cmVtO1xyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIC5saW5rLXNlY3Rpb24ge1xyXG4gICAgICB0cmFuc2l0aW9uOiBtYXgtaGVpZ2h0IDAuM3MgZWFzZS1pbi1vdXQgMHM7XHJcbiAgICAgIFxyXG4gICAgICBAaW5jbHVkZSBtcXUobWQpIHtcclxuICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xyXG4gICAgICAgIG1heC1oZWlnaHQ6IDA7XHJcbiAgICAgIH1cclxuXHJcbiAgICAgICY6OmJlZm9yZSwgJjo6YWZ0ZXIge1xyXG4gICAgICAgIGNvbnRlbnQ6ICcnO1xyXG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgICAgIGhlaWdodDogMTBweDtcclxuXHJcbiAgICAgICAgQGluY2x1ZGUgbXF1KG1kKSB7XHJcbiAgICAgICAgICBoZWlnaHQ6IDI1cHg7XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcblxyXG4gICAgICAmOjphZnRlciB7XHJcbiAgICAgICAgaGVpZ2h0OiAyMHB4O1xyXG5cclxuICAgICAgICBAaW5jbHVkZSBtcXUobWQpIHtcclxuICAgICAgICAgIGNvbnRlbnQ6IG5vbmU7XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcblxyXG4gICAgICAmOmxhc3Qtb2YtdHlwZSB7XHJcbiAgICAgICAgJjo6YWZ0ZXIge1xyXG4gICAgICAgICAgY29udGVudDogbm9uZTtcclxuXHJcbiAgICAgICAgICBAaW5jbHVkZSBtcXUobWQpIHtcclxuICAgICAgICAgICAgY29udGVudDogJyc7XHJcbiAgICAgICAgICAgIGhlaWdodDogOHB4O1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIGEge1xyXG4gICAgICBjb2xvcjogI2ZmZjtcclxuICAgICAgdHJhbnNpdGlvbjogY29sb3IgMC4zcyBlYXNlLWluLW91dCAwcztcclxuXHJcbiAgICAgICY6aG92ZXIge1xyXG4gICAgICAgIGNvbG9yOiAkbWFpbkNvbG9yO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcblxyXG4ubmV3LWxvZ2luIHtcclxuICAkbmV3TG9naW46ICY7XHJcbiAgXHJcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuICBmb250LXNpemU6IDEuMjVyZW07XHJcbiAgY29sb3I6ICNmZmY7XHJcblxyXG4gIEBpbmNsdWRlIG1xdShtZCkge1xyXG4gICAgbWFyZ2luLXJpZ2h0OiAxLjI1cmVtO1xyXG4gIH1cclxuICBcclxuICAmX19sYWJlbCB7XHJcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcbiAgICBmb250LXNpemU6IDEuMjVyZW07XHJcbiAgICBsaW5lLWhlaWdodDogMWVtOyBcclxuICAgIGNvbG9yOiAjZmZmO1xyXG4gICAgbWFyZ2luLXJpZ2h0OiA0MHB4O1xyXG4gICAgdHJhbnNpdGlvbjogY29sb3IgLjNzIGVhc2UtaW4tb3V0IDBzO1xyXG4gICAgY3Vyc29yOiBwb2ludGVyO1xyXG5cclxuICAgIEBpbmNsdWRlIG1xdShtZCkge1xyXG4gICAgICBtYXJnaW4tcmlnaHQ6IDA7XHJcbiAgICB9XHJcblxyXG4gICAgc3BhbiB7XHJcbiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuICAgICAgbWFyZ2luLXJpZ2h0OiAwLjY4NzVyZW07XHJcblxyXG4gICAgICBAaW5jbHVkZSBtcXUoc20pIHtcclxuICAgICAgICBkaXNwbGF5OiBub25lO1xyXG4gICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgJjo6YmVmb3JlLCAmOjphZnRlciB7XHJcbiAgICAgIGNvbnRlbnQ6ICcnO1xyXG4gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcbiAgICAgIHZlcnRpY2FsLWFsaWduOiB0b3A7XHJcbiAgICAgIHdpZHRoOiAxLjE4NzVyZW07XHJcbiAgICAgIGhlaWdodDogMS4yNXJlbTtcclxuICAgICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcclxuICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogNTAlIDEwMCU7XHJcbiAgICAgIGJhY2tncm91bmQtc2l6ZTogY29udGFpbjtcclxuICAgICAgdHJhbnNpdGlvbjogb3BhY2l0eSAuM3MgZWFzZS1pbi1vdXQgMHM7XHJcbiAgICB9XHJcblxyXG4gICAgJjo6YmVmb3JlIHtcclxuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgICB0b3A6IDA7XHJcbiAgICAgIHJpZ2h0OiAwO1xyXG4gICAgICBvcGFjaXR5OiAwO1xyXG4gICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoJy9NZWRpYS9pY29ucy91c2VyX2FyYW5jaW9uZS5zdmcnKTtcclxuICAgIH1cclxuXHJcbiAgICAmOjphZnRlciB7XHJcbiAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCgnL01lZGlhL2ljb25zL3VzZXJfYmlhbmNvLnN2ZycpO1xyXG4gICAgfVxyXG4gICAgXHJcbiAgICAjeyRuZXdMb2dpbn1fX3N0YXRlOmNoZWNrZWQgfiAmLFxyXG4gICAgJjpob3ZlciB7XHJcbiAgICAgIGNvbG9yOiAkbWFpbkNvbG9yO1xyXG5cclxuICAgICAgJjo6YmVmb3JlIHtcclxuICAgICAgICBvcGFjaXR5OiAxO1xyXG4gICAgICB9XHJcbiAgICAgICY6OmFmdGVyIHtcclxuICAgICAgICBvcGFjaXR5OiAwO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICAmX19ib3gge1xyXG4gICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgdG9wOiBjYWxjKDEwMCUgKyAxMnB4KTsgXHJcbiAgICBsZWZ0OiA1MCU7XHJcbiAgICBwYWRkaW5nOiAyMHB4IDIwcHg7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjRjQ4RTAwO1xyXG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xyXG4gICAgb3BhY2l0eTogMDtcclxuICAgIHZpc2liaWxpdHk6IGhpZGRlbjtcclxuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNTAlKTtcclxuICAgIHRyYW5zaXRpb246IG9wYWNpdHkgLjNzIGVhc2UtaW4tb3V0IDBzLCB2aXNpYmlsaXR5IDBzIGVhc2UtaW4tb3V0IC4zcztcclxuXHJcbiAgICAmOjpiZWZvcmUge1xyXG4gICAgICBjb250ZW50OiAnJztcclxuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgICB0b3A6IC04cHg7XHJcbiAgICAgIGxlZnQ6IDUwJTtcclxuICAgICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICAgIHdpZHRoOiAwO1xyXG4gICAgICBoZWlnaHQ6IDA7XHJcbiAgICAgIGJvcmRlci1sZWZ0OiAxMnB4IHNvbGlkIHRyYW5zcGFyZW50O1xyXG4gICAgICBib3JkZXItcmlnaHQ6IDEycHggc29saWQgdHJhbnNwYXJlbnQ7XHJcblxyXG4gICAgICBib3JkZXItYm90dG9tOiAyMXB4IHNvbGlkICNGNDhFMDA7XHJcbiAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNTAlKTtcclxuICAgIH1cclxuXHJcbiAgICAjeyRuZXdMb2dpbn1fX3N0YXRlOmNoZWNrZWQgfiAmIHtcclxuICAgICAgb3BhY2l0eTogMTtcclxuICAgICAgdmlzaWJpbGl0eTogdmlzaWJsZTtcclxuICAgICAgdHJhbnNpdGlvbjogb3BhY2l0eSAuM3MgZWFzZS1pbi1vdXQgMHMsIHZpc2liaWxpdHkgMHMgZWFzZS1pbi1vdXQgMHM7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICAmX19saW5rIHtcclxuICAgIGZvbnQtc2l6ZTogMjBweDtcclxuICAgIGxpbmUtaGVpZ2h0OiAxLjM1ZW07XHJcbiAgICBjb2xvcjogI2ZmZjtcclxuXHJcbiAgICAmOmhvdmVyIHtcclxuICAgICAgY29sb3I6ICM3NjgzOGE7XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcblxyXG4uaGVhZGVyLXBsYWNlaG9sZGVyIHtcclxuICBoZWlnaHQ6IDIuODc1cmVtO1xyXG4gIGNsZWFyOiBib3RoO1xyXG5cclxuICBAaW5jbHVkZSBtcXUoc20pIHtcclxuICAgIGhlaWdodDogNC41cmVtO1xyXG4gIH1cclxufVxyXG5cclxuLypcclxuXHJcblxyXG4uZXhwYW5kaW5nLW5hdiB7XHJcbiAgdG9wOiA3Ljg1cmVtO1xyXG4gIHRyYW5zaXRpb246IG1heC1oZWlnaHQgLjNzIGVhc2UtaW4tb3V0IDBzO1xyXG5cclxuICBAaW5jbHVkZSBtcXUoc20pIHtcclxuICAgIHRvcDogNC41cmVtO1xyXG4gIH1cclxufVxyXG5cclxuLmhlYWRlci1wbGFjZWhvbGRlciB7XHJcbiAgaGVpZ2h0OiAyLjg3NXJlbTtcclxuXHJcbiAgQGluY2x1ZGUgbXF1KHNtKSB7XHJcbiAgICBoZWlnaHQ6IDQuNXJlbTtcclxuICB9XHJcbn1cclxuKi9cclxuXHJcbiNiYW5uZXJDb250cm9sLnNob3duIHtcclxuICAmIH4ge1xyXG4gICAgaGVhZGVyIHtcclxuLyouaGVhZGVyLWJvdHRvbSB7XHJcbnRvcDogMi44NzVyZW07XHJcbnRyYW5zaXRpb246IG1heC1oZWlnaHQgLjNzIGVhc2UtaW4tb3V0IDBzO1xyXG5AaW5jbHVkZSB2aWV3cG9ydC11bml0KFwibWF4LWhlaWdodFwiLCA3Ljg3NXJlbSk7XHJcblxyXG5AaW5jbHVkZSBtcXUoc20pIHtcclxuICB0b3A6IDA7XHJcbn1cclxufSovXHJcbi8qLmJhbm5lci13cmFwIHtcclxuICBoZWlnaHQ6IDEyLjE4NzVyZW07XHJcblxyXG4gIEBpbmNsdWRlIG1xKHNtLG1kKSB7XHJcbiAgICBoZWlnaHQ6IDEwLjEyNXJlbTtcclxuICB9XHJcblxyXG4gIEBpbmNsdWRlIG1xdShzbSkge1xyXG4gICAgaGVpZ2h0OiAyMC4xMjVyZW07XHJcbiAgfVxyXG59Ki9cclxuICAgICAgLmhlYWRlci1ib3R0b20ge1xyXG4gICAgICAgIFxyXG4gICAgICAgIHRvcDogMTUuMDYyNXJlbTtcclxuICAgICAgICAvL3RyYW5zZm9ybTogdHJhbnNsYXRlWSgxMi4xODc1cmVtKTtcclxuXHJcbiAgICAgICAgQGluY2x1ZGUgbXEoc20sbWQpIHtcclxuICAgICAgICAgIHRvcDogMTNyZW07XHJcbiAgICAgICAgICAvL3RyYW5zZm9ybTogdHJhbnNsYXRlWSgxMC4xMjVyZW0pO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgQGluY2x1ZGUgbXF1KHNtKSB7XHJcbiAgICAgICAgICB0b3A6IDIwLjEyNXJlbTtcclxuICAgICAgICAgIC8vdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDIwLjEyNXJlbSk7XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICAgIC5leHBhbmRpbmctbmF2IHtcclxuICAgICAgICB0b3A6IDIwLjAzNzVyZW07XHJcblxyXG4gICAgICAgIEBpbmNsdWRlIG1xKG1kLCBsZykge1xyXG4gICAgICAgICAgdG9wOiAyMC4wNXJlbTtcclxuICAgICAgICB9XHJcbiAgICAgICAgQGluY2x1ZGUgbXEoc20sIG1kKSB7XHJcbiAgICAgICAgICB0b3A6IDE3Ljk3NXJlbTtcclxuICAgICAgICB9XHJcbiAgICAgICAgQGluY2x1ZGUgbXF1KHNtKSB7XHJcbiAgICAgICAgICB0b3A6IDI0LjYyNXJlbTtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIFxyXG4gICAgICAgIC8vdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDEyLjE4NzVyZW0pO1xyXG4gICAgICAgIFxyXG4gICAgICAgIEBpbmNsdWRlIG1xKG1kLGxnKSB7XHJcbiAgICAgICAgICAvL3RyYW5zZm9ybTogdHJhbnNsYXRlWSgxMi4zcmVtKTtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIEBpbmNsdWRlIG1xKHNtLG1kKSB7XHJcbiAgICAgICAgICAvL3RyYW5zZm9ybTogdHJhbnNsYXRlWSgxMC4xMjVyZW0pO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgQGluY2x1ZGUgbXF1KHNtKSB7XHJcbiAgICAgICAgICAvL3RyYW5zZm9ybTogdHJhbnNsYXRlWSgyMC4xMjVyZW0pO1xyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgfVxyXG4gICAgXHJcbiAgICAuaGVhZGVyLXBsYWNlaG9sZGVyIHtcclxuICAgICAgaGVpZ2h0OiAxNS4wNjI1cmVtO1xyXG4gICAgICBtYXgtaGVpZ2h0OiAxNS4wNjI1cmVtO1xyXG5cclxuICAgICAgQGluY2x1ZGUgbXEoc20sbWQpIHtcclxuICAgICAgICBoZWlnaHQ6IDEzcmVtO1xyXG4gICAgICAgIG1heC1oZWlnaHQ6IDEzcmVtO1xyXG4gICAgICB9XHJcblxyXG4gICAgICBAaW5jbHVkZSBtcXUoc20pIHtcclxuICAgICAgICBoZWlnaHQ6IDI0LjYyNXJlbTtcclxuICAgICAgICBtYXgtaGVpZ2h0OiAyNC42MjVyZW07XHJcbiAgICAgIH1cclxuICAgIH0gIFxyXG4gIH1cclxuICBcclxuICAmOmNoZWNrZWQgfiB7XHJcbiAgICBoZWFkZXIge1xyXG4gICAgICAuaGVhZGVyLWJhbm5lciB7XHJcbiAgICAgICAgLmJhbm5lci13cmFwIHtcclxuICAgICAgICAgIHRyYW5zaXRpb246IG1heC1oZWlnaHQgLjNzIGxpbmVhciAwcztcclxuICAgICAgICAgIG1heC1oZWlnaHQ6IDA7XHJcbiBcclxuICAgICAgICAgIC5jbG9zZXItaWNvbiB7XHJcbiAgICAgICAgICAgIC8qdHJhbnNpdGlvbjogb3BhY2l0eSAuM3MgbGluZWFyIDBzLCB2aXNpYmlsaXR5IDBzIGxpbmVhciAuM3M7XHJcbiAgICAgICAgICAgIG9wYWNpdHk6IDA7XHJcbiAgICAgICAgICAgIHZpc2liaWxpdHk6IGhpZGRlbjsqL1xyXG4gICAgICAgICAgICBkaXNwbGF5OiBub25lO1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgICAuaGVhZGVyLWJvdHRvbSB7XHJcbiAgICAgICAgdHJhbnNpdGlvbjogdG9wIC4zcyBsaW5lYXIgMHM7XHJcbiAgICAgICAgdG9wOiAyLjg3NXJlbTtcclxuXHJcbiAgICAgICAgQGluY2x1ZGUgbXEoc20sbWQpIHtcclxuICAgICAgICAgIHRvcDogMi44NzVyZW07XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICBAaW5jbHVkZSBtcXUoc20pIHtcclxuICAgICAgICAgIHRvcDogMHJlbTtcclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgICAgLmV4cGFuZGluZy1uYXYge1xyXG4gICAgICAgIHRyYW5zaXRpb246IG1heC1oZWlnaHQgLjNzIGVhc2UtaW4tb3V0IDBzLCB0b3AgLjNzIGxpbmVhciAwcztcclxuICAgICAgICB0b3A6IDcuODVyZW07XHJcblxyXG4gICAgICAgIEBpbmNsdWRlIG1xKHNtLCBtZCkge1xyXG4gICAgICAgICAgdG9wOiA3Ljg1cmVtO1xyXG4gICAgICAgIH1cclxuICAgICAgICBAaW5jbHVkZSBtcXUoc20pIHtcclxuICAgICAgICAgIHRvcDogNC41cmVtO1xyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgfVxyXG4gICAgXHJcbiAgICAuaGVhZGVyLXBsYWNlaG9sZGVyIHtcclxuICAgICAgdHJhbnNpdGlvbjogbWF4LWhlaWdodCAuM3MgbGluZWFyIDBzO1xyXG4gICAgICBtYXgtaGVpZ2h0OiAyLjg3NXJlbTsgXHJcblxyXG4gICAgICBAaW5jbHVkZSBtcShzbSxtZCkge1xyXG4gICAgICAgIG1heC1oZWlnaHQ6IDIuODc1cmVtO1xyXG4gICAgICB9XHJcblxyXG4gICAgICBAaW5jbHVkZSBtcXUoc20pIHtcclxuICAgICAgICBtYXgtaGVpZ2h0OiA0LjVyZW07XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcbn0iLCIuc2VjdGlvbi1ob21lc2xpZGVyIHtcclxuICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcblxyXG4gIC5pbWFnZS1ob2xkZXIge1xyXG4gICAgcGFkZGluZy1ib3R0b206IDUwLjQ2ODc1JTtcclxuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuXHJcbiAgICBAaW5jbHVkZSBtcXUoc20pIHtcclxuICAgICAgcGFkZGluZy1ib3R0b206IDg3LjUlO1xyXG4gICAgfVxyXG5cclxuICAgIC5pbWFnZSB7XHJcbiAgICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XHJcbiAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IDUwJSA1MCU7XHJcbiAgICAgIGJhY2tncm91bmQtc2l6ZTogY292ZXI7XHJcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgICAgdG9wOiAwO1xyXG4gICAgICBsZWZ0OiAwO1xyXG4gICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgaGVpZ2h0OiAxMDAlO1xyXG4gICAgICBvcGFjaXR5OiAwO1xyXG4gICAgICB0cmFuc2l0aW9uOiBvcGFjaXR5IC4zcyBlYXNlLWluIDBzO1xyXG5cclxuICAgICAgQGluY2x1ZGUgbXF1KG1kKSB7XHJcbiAgICAgICAgdHJhbnNpdGlvbjogb3BhY2l0eSAuM3MgZWFzZS1pbiAuM3M7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcblxyXG4gIC5jb250cm9scy1jb250YWluZXIge1xyXG4gICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgei1pbmRleDogMTtcclxuICAgIGJvdHRvbTogMy40Mzc1cmVtO1xyXG4gICAgbGVmdDogMDtcclxuICAgIHdpZHRoOiAxMDAlO1xyXG5cclxuICAgIEBpbmNsdWRlIG1xKHNtLCBtZCkge1xyXG4gICAgICBwb3NpdGlvbjogc3RhdGljO1xyXG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkZGVlbXBoYXNpemVkQ29sb3IyO1xyXG4gICAgICBwYWRkaW5nOiAzLjQzNzVyZW0gMCAzLjc1cmVtO1xyXG4gICAgfVxyXG5cclxuICAgIEBpbmNsdWRlIG1xdShzbSkge1xyXG4gICAgICBwb3NpdGlvbjogc3RhdGljO1xyXG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkZGVlbXBoYXNpemVkQ29sb3IyO1xyXG4gICAgICBwYWRkaW5nOiAxLjYyNXJlbSAwIDEuNDM3NXJlbTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIC5jb250cm9scy13cmFwIHtcclxuICAgIGRpc3BsYXk6IGZsZXg7XHJcblxyXG4gICAgQGluY2x1ZGUgbXEoc20sIG1kKSB7XHJcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICAgIGhlaWdodDogOC44NzVyZW07XHJcbiAgICB9XHJcblxyXG4gICAgQGluY2x1ZGUgbXF1KHNtKSB7XHJcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICAgIGhlaWdodDogMTUuNzVyZW07XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICAuc2xpZGVyLWNvbnRyb2xzIHtcclxuXHJcbiAgICAuYXJyb3cge1xyXG4gICAgICBkaXNwbGF5OiBub25lO1xyXG4gICAgfVxyXG5cclxuICAgIEBpbmNsdWRlIG1xdShtZCkge1xyXG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcblxyXG4gICAgICAuYXJyb3cge1xyXG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgICAgIHdpZHRoOiAxLjg3NXJlbTtcclxuICAgICAgICBoZWlnaHQ6IDEuODc1cmVtO1xyXG4gICAgICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XHJcbiAgICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogNTAlIDUwJTtcclxuICAgICAgICBiYWNrZ3JvdW5kLXNpemU6IGNvbnRhaW47XHJcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgICAgIHRvcDogNTAlO1xyXG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKTtcclxuICAgICAgICBAaW5jbHVkZSBmYWRlYWJsZVZpc2libGUoKTtcclxuXHJcbiAgICAgICAgJjo6YWZ0ZXIge1xyXG4gICAgICAgICAgY29udGVudDogJyc7XHJcbiAgICAgICAgICBkaXNwbGF5OiBibG9jaztcclxuICAgICAgICAgIG9wYWNpdHk6IDA7XHJcbiAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICAgICAgICB0b3A6IDA7XHJcbiAgICAgICAgICBsZWZ0OiAwO1xyXG4gICAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgICBoZWlnaHQ6IDEwMCU7XHJcbiAgICAgICAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xyXG4gICAgICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogNTAlIDUwJTtcclxuICAgICAgICAgIGJhY2tncm91bmQtc2l6ZTogY29udGFpbjtcclxuICAgICAgICAgIHRyYW5zaXRpb246IG9wYWNpdHkgLjNzIGVhc2UtaW4tb3V0IDBzO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgJjpob3ZlciB7XHJcbiAgICAgICAgICAmOjphZnRlciB7XHJcbiAgICAgICAgICAgIG9wYWNpdHk6IDE7XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAmLmFycm93LWxlZnQge1xyXG4gICAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKCcvTWVkaWEvaWNvbnMvYXJyb3dfbGVmdF9ncmlnaW8uc3ZnJyk7XHJcbiAgICAgICAgICBsZWZ0OiAtMi4zMTI1cmVtO1xyXG5cclxuICAgICAgICAgICY6OmFmdGVyIHtcclxuICAgICAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKCcvTWVkaWEvaWNvbnMvYXJyb3dfbGVmdF9hcmFuY2lvbmUuc3ZnJyk7XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAmLmFycm93LXJpZ2h0e1xyXG4gICAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKCcvTWVkaWEvaWNvbnMvYXJyb3dfcmlnaHRfZ3JpZ2lvLnN2ZycpO1xyXG4gICAgICAgICAgcmlnaHQ6IC0yLjMxMjVyZW07XHJcblxyXG4gICAgICAgICAgJjo6YWZ0ZXIge1xyXG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoJy9NZWRpYS9pY29ucy9hcnJvd19yaWdodF9hcmFuY2lvbmUuc3ZnJyk7XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgQGluY2x1ZGUgbXF1KHNtKSB7XHJcbiAgICAgIHBhZGRpbmc6IDAgMi42MjVyZW07XHJcbiAgICAgIG1hcmdpbi1sZWZ0OiAtMC42MjVyZW07XHJcbiAgICAgIG1hcmdpbi1yaWdodDogLTAuNjI1cmVtO1xyXG5cclxuICAgICAgLmFycm93IHtcclxuICAgICAgICAmLmFycm93LWxlZnQge1xyXG4gICAgICAgICAgbGVmdDogMHJlbTtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgICYuYXJyb3ctcmlnaHR7XHJcbiAgICAgICAgICByaWdodDogMHJlbTtcclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgfVxyXG5cclxuICAuc2xpZGVyLWNvbnRyb2wge1xyXG4gICAgZmxleDogMSAxIDMwJTtcclxuXHJcbiAgICAuY29udHJvbC13cmFwIHtcclxuICAgICAgcGFkZGluZzogMCA0LjM3NXJlbTtcclxuICAgICAgYm9yZGVyOiAwO1xyXG4gICAgICBib3JkZXItbGVmdDogMnB4IHNvbGlkIHRyYW5zcGFyZW50O1xyXG4gICAgICBib3JkZXItcmlnaHQ6IDJweCBzb2xpZCAjZmZmO1xyXG4gICAgICBoZWlnaHQ6IDEwMCU7XHJcbiAgICB9XHJcblxyXG4gICAgJjpmaXJzdC1vZi10eXBlIHtcclxuICAgICAgLmNvbnRyb2wtd3JhcCB7XHJcbiAgICAgICAgcGFkZGluZy1sZWZ0OiAwO1xyXG4gICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgJjpsYXN0LW9mLXR5cGUge1xyXG4gICAgICAuY29udHJvbC13cmFwIHtcclxuICAgICAgICBwYWRkaW5nLXJpZ2h0OiAwO1xyXG4gICAgICAgIGJvcmRlci1yaWdodDogMnB4IHNvbGlkIHRyYW5zcGFyZW50O1xyXG4gICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgQGluY2x1ZGUgbXF1KG1kKSB7XHJcbiAgICAgIGZsZXg6IG5vbmU7XHJcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgICAgdG9wOiAwO1xyXG4gICAgICBsZWZ0OiAwO1xyXG4gICAgICBAaW5jbHVkZSBmYWRlYWJsZUludmlzaWJsZSgpO1xyXG5cclxuICAgICAgLmNvbnRyb2wtd3JhcCB7XHJcbiAgICAgICAgcGFkZGluZzogMDtcclxuICAgICAgICBib3JkZXI6IDA7XHJcbiAgICAgICAgYm9yZGVyLWxlZnQ6IDA7XHJcbiAgICAgICAgYm9yZGVyLXJpZ2h0OiAwO1xyXG4gICAgICB9XHJcblxyXG4gICAgICAmOmZpcnN0LW9mLXR5cGUge1xyXG4gICAgICAgIC5jb250cm9sLXdyYXAge1xyXG4gICAgICAgICAgcGFkZGluZy1sZWZ0OiAwO1xyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG5cclxuICAgICAgJjpsYXN0LW9mLXR5cGUge1xyXG4gICAgICAgIC5jb250cm9sLXdyYXAge1xyXG4gICAgICAgICAgcGFkZGluZy1yaWdodDogMDtcclxuICAgICAgICAgIGJvcmRlci1yaWdodDogMDtcclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAuY29udHJvbC10ZXh0IHtcclxuICAgICAgY29sb3I6ICRkZWVtcGhhc2l6ZWRDb2xvcjtcclxuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG5cclxuICAgICAgQGluY2x1ZGUgbXF1KG1kKSB7XHJcbiAgICAgICAgaDUge1xyXG4gICAgICAgICAgY29sb3I6ICR0ZXJ0aWFyeUNvbG9yO1xyXG4gICAgICAgICAgdHJhbnNpdGlvbjogY29sb3IgLjNzIGVhc2UtaW4tb3V0IDBzO1xyXG4gICAgICAgIH1cclxuICAgICAgICBwIHtcclxuICAgICAgICAgIGNvbG9yOiAkbWFpbkNvbG9yO1xyXG4gICAgICAgICAgdHJhbnNpdGlvbjogY29sb3IgLjNzIGVhc2UtaW4tb3V0IDBzO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgJjpob3ZlciB7XHJcbiAgICAgICAgICBoNSB7XHJcbiAgICAgICAgICAgIGNvbG9yOiAjZmZmO1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgICAgcCB7XHJcbiAgICAgICAgICAgIGNvbG9yOiAjZmZmO1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIGg1IHtcclxuICAgICAgZm9udC1zaXplOiAxLjY4NzVyZW07XHJcbiAgICAgIG1hcmdpbjogMCAwIDFyZW07XHJcbiAgICB9XHJcblxyXG4gICAgcCB7XHJcbiAgICAgIGZvbnQtc2l6ZTogMi4xODc1cmVtO1xyXG4gICAgICBtYXJnaW46IDA7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICAuY29udHJvbC1jaGVja2JveDpjaGVja2VkIHtcclxuICAgIEBmb3IgJGkgZnJvbSAxIHRocm91Z2ggMyB7XHJcbiAgICAgICYjaHBTbGlkZSN7JGl9IHtcclxuICAgICAgICAmIH4gLmltYWdlLWhvbGRlciAuaW1hZ2UjeyRpfSB7XHJcbiAgICAgICAgICB0cmFuc2l0aW9uOiBvcGFjaXR5IC4zcyBlYXNlLW91dCAwcztcclxuICAgICAgICAgIHotaW5kZXg6IDE7XHJcbiAgICAgICAgICBvcGFjaXR5OiAxO1xyXG5cclxuICAgICAgICAgIEBpbmNsdWRlIG1xdShtZCkge1xyXG4gICAgICAgICAgICB0cmFuc2l0aW9uOiBvcGFjaXR5IC4zcyBlYXNlLW91dCAuM3M7XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAmIH4gLmNvbnRyb2xzLWNvbnRhaW5lciAuY29udHJvbCN7JGl9IC5jb250cm9sLXRleHQge1xyXG4gICAgICAgICAgY29sb3I6ICNmZmY7XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgQGluY2x1ZGUgbXF1KG1kKSB7XHJcbiAgICAgICYjaHBTbGlkZTEge1xyXG4gICAgICAgICYgfiAuY29udHJvbHMtY29udGFpbmVyIHtcclxuICAgICAgICAgIC5hcnJvdy1sZWZ0IHtcclxuICAgICAgICAgICAgQGluY2x1ZGUgZmFkZWFibGVJbnZpc2libGUoKTtcclxuICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAuY29udHJvbDEge1xyXG4gICAgICAgICAgICBAaW5jbHVkZSBmYWRlYWJsZVZpc2libGUoKTtcclxuICAgICAgICAgICAgdHJhbnNpdGlvbjogdmlzaWJpbGl0eSAwcyBsaW5lYXIgMHMsIG9wYWNpdHkgLjNzIGxpbmVhciAuM3M7XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcblxyXG4gICAgICAmI2hwU2xpZGUyIHtcclxuICAgICAgICAmIH4gLmNvbnRyb2xzLWNvbnRhaW5lciB7XHJcbiAgICAgICAgICAuY29udHJvbDIge1xyXG4gICAgICAgICAgICBAaW5jbHVkZSBmYWRlYWJsZVZpc2libGUoKTtcclxuICAgICAgICAgICAgdHJhbnNpdGlvbjogdmlzaWJpbGl0eSAwcyBsaW5lYXIgMHMsIG9wYWNpdHkgLjNzIGxpbmVhciAuM3M7XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcblxyXG4gICAgICAmI2hwU2xpZGUzIHtcclxuICAgICAgICAmIH4gLmNvbnRyb2xzLWNvbnRhaW5lciB7XHJcbiAgICAgICAgICAuYXJyb3ctcmlnaHQge1xyXG4gICAgICAgICAgICBAaW5jbHVkZSBmYWRlYWJsZUludmlzaWJsZSgpO1xyXG4gICAgICAgICAgfVxyXG5cclxuICAgICAgICAgIC5jb250cm9sMyB7XHJcbiAgICAgICAgICAgIEBpbmNsdWRlIGZhZGVhYmxlVmlzaWJsZSgpO1xyXG4gICAgICAgICAgICB0cmFuc2l0aW9uOiB2aXNpYmlsaXR5IDBzIGxpbmVhciAwcywgb3BhY2l0eSAuM3MgbGluZWFyIC4zcztcclxuICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcbn0iLCIuY29udGFjdC1mb3JtIHtcclxuICBiYWNrZ3JvdW5kLWNvbG9yOiAjRTlFOUU5O1xyXG5cclxuICAuY29udHJvbC1jaGVja2JveDpjaGVja2VkIHtcclxuICAgICYgfiAuY29udGFjdC1mb3JtLXRvZ2dsZSBkaXY6OmFmdGVyIHtcclxuICAgICAgdHJhbnNmb3JtOiByb3RhdGUoLTE4MGRlZyk7XHJcbiAgICB9XHJcblxyXG4gICAgJiB+IC5mb3JtLWhvbGRlciB7XHJcbiAgICAgIHRyYW5zaXRpb246IG1heC1oZWlnaHQgLjNzIGVhc2UtaW4gMHM7XHJcbiAgICAgIC8vbWF4LWhlaWdodDogNjIuNXJlbTtcclxuICAgICAgLy8gbWF4LWhlaWdodDogMTA1LjVyZW07XHJcbiAgICAgIG1heC1oZWlnaHQ6IDExNS41cmVtO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgLmNvbnRhY3QtZm9ybS10b2dnbGUge1xyXG4gICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICAvKiBQZXJtYWxpbmsgLSB1c2UgdG8gZWRpdCBhbmQgc2hhcmUgdGhpcyBncmFkaWVudDogaHR0cDovL2NvbG9yemlsbGEuY29tL2dyYWRpZW50LWVkaXRvci8jZmZkODMxKzAsZjVhYjEzKzYwLGY1OGYwMCsxMDAgKi9cclxuICAgIGJhY2tncm91bmQ6ICNmZmQ4MzE7IC8qIE9sZCBicm93c2VycyAqL1xyXG4gICAgYmFja2dyb3VuZDogLW1vei1saW5lYXItZ3JhZGllbnQobGVmdCwgI2ZmZDgzMSAwJSwgI2Y1YWIxMyA2MCUsICRtYWluQ29sb3IgMTAwJSk7IC8qIEZGMy42LTE1ICovXHJcbiAgICBiYWNrZ3JvdW5kOiAtd2Via2l0LWxpbmVhci1ncmFkaWVudChsZWZ0LCAjZmZkODMxIDAlLCNmNWFiMTMgNjAlLCRtYWluQ29sb3IgMTAwJSk7IC8qIENocm9tZTEwLTI1LFNhZmFyaTUuMS02ICovXHJcbiAgICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQodG8gcmlnaHQsICNmZmQ4MzEgMCUsI2Y1YWIxMyA2MCUsJG1haW5Db2xvciAxMDAlKTsgLyogVzNDLCBJRTEwKywgRkYxNissIENocm9tZTI2KywgT3BlcmExMissIFNhZmFyaTcrICovXHJcbiAgICBmaWx0ZXI6IHByb2dpZDpEWEltYWdlVHJhbnNmb3JtLk1pY3Jvc29mdC5ncmFkaWVudCggc3RhcnRDb2xvcnN0cj0nI2ZmZDgzMScsIGVuZENvbG9yc3RyPScjZjU4ZjAwJyxHcmFkaWVudFR5cGU9MSApOyAvKiBJRTYtOSAqL1xyXG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xyXG4gICAgcGFkZGluZzogMC44NzVyZW0gMCAxLjI1cmVtO1xyXG4gICAgY3Vyc29yOiBwb2ludGVyO1xyXG5cclxuICAgICY6aG92ZXIgZGl2IHtcclxuICAgICAgb3BhY2l0eTogLjU7XHJcbiAgICB9XHJcblxyXG4gICAgZGl2IHtcclxuICAgICAgY29sb3I6ICNmZmY7XHJcbiAgICAgIGZvbnQtc2l6ZTogMS41NjI1cmVtO1xyXG4gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgICAgcGFkZGluZy1yaWdodDogMS41NjI1cmVtO1xyXG4gICAgICB0cmFuc2l0aW9uOiBvcGFjaXR5IC4zcyBlYXNlLWluLW91dCAwcztcclxuXHJcbiAgICAgICY6OmFmdGVyIHtcclxuICAgICAgICBjb250ZW50OiAnJztcclxuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICAgICAgdG9wOiAwO1xyXG4gICAgICAgIHJpZ2h0OiAwO1xyXG4gICAgICAgIHdpZHRoOiAxLjEyNXJlbTtcclxuICAgICAgICBoZWlnaHQ6IDEwMCU7XHJcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG4gICAgICAgIGJhY2tncm91bmQ6IHVybCgnL01lZGlhL2ljb25zL2Fycm93X2Rvd25fYmlhbmNvLnN2ZycpIG5vLXJlcGVhdCA1MCUgNTAlO1xyXG4gICAgICAgIGJhY2tncm91bmQtc2l6ZTogY29udGFpbjtcclxuICAgICAgICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gLjNzIGVhc2UtaW4tb3V0IDBzO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICAuZm9ybS1ob2xkZXIge1xyXG4gICAgbWF4LWhlaWdodDogMDtcclxuICAgIG92ZXJmbG93OiBoaWRkZW47XHJcbiAgICB0cmFuc2l0aW9uOiBtYXgtaGVpZ2h0IC4zcyBlYXNlLW91dCAwcztcclxuXHJcbiAgICBmb3JtIHtcclxuICAgICAgcGFkZGluZzogMy43NXJlbSAwO1xyXG5cclxuICAgICAgQGluY2x1ZGUgbXF1KHNtKSB7XHJcbiAgICAgICAgcGFkZGluZzogMi4wNjI1cmVtIDAgMS45Mzc1cmVtO1xyXG4gICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgLmZpZWxkLWdyb3VwcyB7XHJcbiAgICAgIGRpc3BsYXk6IGZsZXg7XHJcblxyXG4gICAgICBAaW5jbHVkZSBtcXUobWQpIHtcclxuICAgICAgICBmbGV4LXdyYXA6IHdyYXA7XHJcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMS4yNXJlbTtcclxuICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIC5maWVsZC1ncm91cCB7XHJcbiAgICAgIGZsZXg6IDEgMSA1MCU7XHJcblxyXG4gICAgICAmOmZpcnN0LW9mLXR5cGUge1xyXG4gICAgICAgIC5ncm91cC13cmFwIHtcclxuICAgICAgICAgIHBhZGRpbmctcmlnaHQ6IDAuODc1cmVtO1xyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG5cclxuICAgICAgJjpsYXN0LW9mLXR5cGUge1xyXG4gICAgICAgIC5ncm91cC13cmFwIHtcclxuICAgICAgICAgIHBhZGRpbmctbGVmdDogMC44NzVyZW07XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcblxyXG4gICAgICBAaW5jbHVkZSBtcXUobWQpIHtcclxuICAgICAgICBmbGV4OiAxIDEgMTAwJTtcclxuXHJcbiAgICAgICAgJjpmaXJzdC1vZi10eXBlIHtcclxuICAgICAgICAgIC5ncm91cC13cmFwIHtcclxuICAgICAgICAgICAgcGFkZGluZy1yaWdodDogMDtcclxuICAgICAgICAgIH1cclxuICAgICAgICB9XHJcblxyXG4gICAgICAgICY6bGFzdC1vZi10eXBlIHtcclxuICAgICAgICAgIC5ncm91cC13cmFwIHtcclxuICAgICAgICAgICAgcGFkZGluZy1sZWZ0OiAwO1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIC5maWVsZC1zdWJncm91cHMge1xyXG4gICAgICBkaXNwbGF5OiBmbGV4O1xyXG5cclxuICAgICAgQGluY2x1ZGUgbXF1KHNtKSB7XHJcbiAgICAgICAgZmxleC13cmFwOiB3cmFwO1xyXG4gICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgLmZpZWxkLXN1Ymdyb3VwIHtcclxuICAgICAgZmxleDogMSAxIDUwJTtcclxuXHJcbiAgICAgICY6Zmlyc3Qtb2YtdHlwZSB7XHJcbiAgICAgICAgLnN1Ymdyb3VwLXdyYXAge1xyXG4gICAgICAgICAgcGFkZGluZy1yaWdodDogMC4zMTI1cmVtO1xyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG5cclxuICAgICAgJjpsYXN0LW9mLXR5cGUge1xyXG4gICAgICAgIC5zdWJncm91cC13cmFwIHtcclxuICAgICAgICAgIHBhZGRpbmctbGVmdDogMC4zMTI1cmVtO1xyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG5cclxuICAgICAgQGluY2x1ZGUgbXF1KHNtKSB7XHJcbiAgICAgICAgZmxleDogMSAxIDEwMCU7XHJcblxyXG4gICAgICAgICY6Zmlyc3Qtb2YtdHlwZSB7XHJcbiAgICAgICAgICAuc3ViZ3JvdXAtd3JhcCB7XHJcbiAgICAgICAgICAgIHBhZGRpbmctcmlnaHQ6IDA7XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAmOmxhc3Qtb2YtdHlwZSB7XHJcbiAgICAgICAgICAuc3ViZ3JvdXAtd3JhcCB7XHJcbiAgICAgICAgICAgIHBhZGRpbmctbGVmdDogMDtcclxuICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAudGV4dGJveCwgc2VsZWN0LCB0ZXh0YXJlYSwgLmZpbGUtcGlja2VyLXdyYXBwZXIgLmZpbGUtcGlja2VyIHtcclxuICAgICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICBib3JkZXI6IDA7XHJcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmY7XHJcbiAgICAgIGNvbG9yOiAjMDAwO1xyXG4gICAgICBwYWRkaW5nOiAwIDEuNXJlbTtcclxuICAgICAgZm9udC13ZWlnaHQ6IDcwMDtcclxuICAgICAgbWFyZ2luLWJvdHRvbTogMC43NXJlbTtcclxuICAgICAgZm9udC1zaXplOiAxLjEyNXJlbTtcclxuICAgICAgbGluZS1oZWlnaHQ6IDFlbTtcclxuICAgICAgaGVpZ2h0OiAzLjMxMjVyZW07XHJcbiAgICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XHJcblxyXG4gICAgICBAaW5jbHVkZSBtcXUoc20pIHtcclxuICAgICAgICBmb250LXNpemU6IDEuMDYyNXJlbTtcclxuICAgICAgICBwYWRkaW5nOiAwIDEuMzc1cmVtO1xyXG4gICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgc2VsZWN0IHtcclxuICAgICAgLXdlYmtpdC10YXAtaGlnaGxpZ2h0LWNvbG9yOiB0cmFuc3BhcmVudDtcclxuICAgICAgYXBwZWFyYW5jZTogbm9uZTtcclxuICAgICAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lO1xyXG4gICAgICAtbW96LWFwcGVhcmFuY2U6IG5vbmU7XHJcbiAgICAgIC8vdGV4dC1pbmRlbnQ6IDA7XHJcbiAgICAgIHRleHQtaW5kZW50OiAwLjA2MjVyZW07XHJcbiAgICAgIHRleHQtb3ZlcmZsb3c6ICcnO1xyXG4gICAgICAmOjotbXMtZXhwYW5kIHsgZGlzcGxheTogbm9uZTsgfVxyXG4gICAgICBib3JkZXItcmFkaXVzOiAwO1xyXG4gICAgICBjdXJzb3I6IHBvaW50ZXI7XHJcblxyXG4gICAgICBiYWNrZ3JvdW5kOiB1cmwoJy9NZWRpYS9pY29ucy9hcnJvd19kb3duX2dyaWdpby5zdmcnKSBuby1yZXBlYXQ7XHJcbiAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IGNhbGMoMTAwJSAtIDFlbSkgY2VudGVyO1xyXG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xyXG4gICAgICBiYWNrZ3JvdW5kLXNpemU6IGF1dG8gMC43NWVtO1xyXG5cclxuICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDowXFwwKSBhbmQgKG1pbi1yZXNvbHV0aW9uOi4wMDFkcGNtKSB7IC8vIElFOVxyXG4gICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IG5vbmU7XHJcbiAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICB0ZXh0YXJlYSB7XHJcbiAgICAgIHBhZGRpbmctdG9wOiAwLjg3NXJlbTtcclxuICAgICAgcGFkZGluZy1ib3R0b206IDAuODc1cmVtO1xyXG4gICAgICAvL2hlaWdodDogNy4xMjVyZW07XHJcbiAgICAgIGhlaWdodDogMTUuNDM3NXJlbTtcclxuICAgICAgcmVzaXplOiBub25lO1xyXG4gICAgICBtYXJnaW4tYm90dG9tOiAxcmVtO1xyXG4gICAgfVxyXG5cclxuICAgIGJ1dHRvblt0eXBlPVwic3VibWl0XCJdIHtcclxuICAgICAgYm9yZGVyOiAwO1xyXG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkbWFpbkNvbG9yO1xyXG4gICAgICBjb2xvcjogI2ZmZjtcclxuICAgICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICBmb250LXNpemU6IDEuNjg3NXJlbTtcclxuICAgICAgbGluZS1oZWlnaHQ6IDFlbTtcclxuICAgICAgaGVpZ2h0OiAzLjMxMjVyZW07XHJcbiAgICAgIHBhZGRpbmc6IDA7XHJcbiAgICAgIGN1cnNvcjogcG9pbnRlcjtcclxuICAgICAgdHJhbnNpdGlvbjogY29sb3IgLjNzIGVhc2UtaW4tb3V0IDBzLCBiYWNrZ3JvdW5kLWNvbG9yIC4zcyBlYXNlLWluLW91dCAwcztcclxuICAgICAgbWFyZ2luOiAxcmVtIDA7XHJcblxyXG4gICAgICAmOmhvdmVyIHtcclxuICAgICAgICAvL2NvbG9yOiAkbWFpbkNvbG9yO1xyXG4gICAgICAgIC8vYmFja2dyb3VuZC1jb2xvcjogI2ZmZjtcclxuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkdGVydGlhcnlDb2xvcjtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gICAgXHJcbiAgICAuY29udGFjdC1hZ3JlZW1lbnRzLXRleHQge1xyXG4gICAgICBmb250LXNpemU6IDAuODc1cmVtO1xyXG4gICAgICBtYXJnaW46IDFyZW0gMDtcclxuXHJcbiAgICAgICYubm8tbWFyZ2luIHtcclxuICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xyXG4gICAgICB9XHJcbiAgICAgIFxyXG4gICAgfVxyXG4gICAgXHJcbiAgICAuY29udGFjdC1jaGVjay1sYWJlbCB7XHJcbiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuICAgICAgY3Vyc29yOiBwb2ludGVyO1xyXG4gICAgICBtYXJnaW46IC4yNXJlbSAwIDA7XHJcbiAgICAgIHBhZGRpbmctbGVmdDogMnJlbTtcclxuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgICBmb250LXNpemU6IDAuODc1cmVtO1xyXG4gICAgICBcclxuICAgICAgaW5wdXRbdHlwZT1cImNoZWNrYm94XCJdLCBpbnB1dFt0eXBlPVwicmFkaW9cIl0ge1xyXG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgICAgICBoZWlnaHQ6IDA7XHJcbiAgICAgICAgd2lkdGg6IDA7XHJcbiAgICAgICAgb3BhY2l0eTogMDtcclxuICAgICAgfVxyXG4gICAgICBcclxuICAgICAgLmZhdXhib3gge1xyXG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgICAgICB0b3A6IDA7XHJcbiAgICAgICAgbGVmdDogMDtcclxuICAgICAgICBoZWlnaHQ6IDFyZW07XHJcbiAgICAgICAgd2lkdGg6IDFyZW07XHJcblxyXG4gICAgICAgICY6OmJlZm9yZSwgJjo6YWZ0ZXIge1xyXG4gICAgICAgICAgY29udGVudDogJyc7XHJcbiAgICAgICAgICBkaXNwbGF5OiBibG9jaztcclxuICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgICY6OmJlZm9yZSB7XHJcbiAgICAgICAgICBjb250ZW50OiAnJztcclxuICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgICAgICAgdG9wOiAwO1xyXG4gICAgICAgICAgbGVmdDogMDtcclxuICAgICAgICAgIGJvdHRvbTogMDtcclxuICAgICAgICAgIHJpZ2h0OiAwO1xyXG4gICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgICY6OmFmdGVyIHtcclxuICAgICAgICAgIHRvcDogLjI1cmVtO1xyXG4gICAgICAgICAgbGVmdDogLjI1cmVtO1xyXG4gICAgICAgICAgYm90dG9tOiAuMjVyZW07XHJcbiAgICAgICAgICByaWdodDogLjI1cmVtO1xyXG4gICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XHJcbiAgICAgICAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIC4ycyBlYXNlLWluLW91dCAwcztcclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuXHJcbiAgICAgICY6aG92ZXIgLmZhdXhib3g6OmFmdGVyIHtcclxuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkZGVlbXBoYXNpemVkQ29sb3I7XHJcbiAgICAgIH1cclxuXHJcbiAgICAgIGlucHV0W3R5cGU9XCJyYWRpb1wiXSB+IHNwYW4ge1xyXG4gICAgICAgICY6OmJlZm9yZSwgJjo6YWZ0ZXIge1xyXG4gICAgICAgICAgYm9yZGVyLXJhZGl1czogNTAlO1xyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG5cclxuICAgICAgaW5wdXRbdHlwZT1cImNoZWNrYm94XCJdLCBpbnB1dFt0eXBlPVwicmFkaW9cIl0ge1xyXG4gICAgICAgICY6Y2hlY2tlZCB+IHNwYW46OmFmdGVyIHtcclxuICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICMwMDA7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIFxyXG4gICAgICAgICYuaW5wdXQtdmFsaWRhdGlvbi1lcnJvciB7XHJcbiAgICAgICAgICAmIH4gc3Bhbi5mYXV4Ym94IHtcclxuICAgICAgICAgICAgYm9yZGVyOiAxcHggc29saWQgI2MwMCAhaW1wb3J0YW50O1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIC5jb250YWN0LXByaXZhY3kge1xyXG4gICAgICBmb250LXNpemU6IDAuODEyNXJlbTtcclxuICAgICAgY29sb3I6ICRkZWVtcGhhc2l6ZWRDb2xvcjtcclxuICAgICAgbWFyZ2luOiAwO1xyXG4gICAgfVxyXG4gIH1cclxufVxyXG5cclxuLmlucHV0LXZhbGlkYXRpb24tZXJyb3Ige1xyXG4gIGNvbG9yOiAjYzAwMDAwICFpbXBvcnRhbnQ7XHJcbiAgYm9yZGVyOiAxcHggc29saWQgI2MwMDAwMCAhaW1wb3J0YW50O1xyXG59IiwiLnNlY3Rpb24tc2lkZWJveGxpbmsge1xyXG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICBwYWRkaW5nOiAzLjc1cmVtIDA7XHJcblxyXG4gIC5iZy1pbWFnZSB7XHJcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICB6LWluZGV4OiAxO1xyXG4gICAgdG9wOiAwO1xyXG4gICAgbGVmdDogMDtcclxuICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgaGVpZ2h0OiAxMDAlO1xyXG4gICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcclxuICAgIGJhY2tncm91bmQtcG9zaXRpb246IDUwJSA1MCU7XHJcbiAgICBiYWNrZ3JvdW5kLXNpemU6IGNvdmVyO1xyXG4gIH1cclxuXHJcbiAgLnNpZGVib3gge1xyXG4gICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICB6LWluZGV4OiAyO1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgyNTUsMjU1LDI1NSwuODUpO1xyXG4gICAgd2lkdGg6IDU4LjMzMzMlO1xyXG4gICAgcGFkZGluZzogMy43NXJlbSAzLjc1cmVtIDMuNDM3NXJlbSA4LjMzMzMlO1xyXG5cclxuICAgIGgzIHtcclxuICAgICAgY29sb3I6ICRtYWluQ29sb3I7XHJcbiAgICAgIGZvbnQtc2l6ZTogMi4zNzVyZW07XHJcbiAgICAgIGxpbmUtaGVpZ2h0OiAxZW07XHJcbiAgICAgIG1hcmdpbjogMCAwIDEuMTI1cmVtO1xyXG4gICAgICB0cmFuc2l0aW9uOiBjb2xvciAuM3MgZWFzZS1pbi1vdXQgMHM7XHJcbiAgICB9XHJcblxyXG4gICAgcCB7XHJcbiAgICAgIGNvbG9yOiAkc2Vjb25kYXJ5Q29sb3I7XHJcbiAgICAgIGZvbnQtc2l6ZTogMS4yNXJlbTtcclxuICAgICAgbWFyZ2luOiAwO1xyXG4gICAgICB0cmFuc2l0aW9uOiBjb2xvciAuM3MgZWFzZS1pbi1vdXQgMHM7XHJcbiAgICB9XHJcbiAgICBcclxuICB9XHJcbiAgXHJcbiAgYS5zaWRlYm94OmhvdmVyIHtcclxuICAgIFxyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgyNDQsMTQyLDAsLjc1KTtcclxuXHJcbiAgICBoMyB7XHJcbiAgICAgIGNvbG9yOiAjZmZmO1xyXG4gICAgfVxyXG5cclxuICAgIHAge1xyXG4gICAgICBjb2xvcjogI2ZmZjtcclxuICAgIH1cclxuICAgIFxyXG4gIH1cclxuXHJcbiAgJi5zZWN0aW9uLXNpZGVib3hsaW5rLXRvcCB7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDI1NSwyNTUsMjU1LC44NSk7XHJcblxyXG4gICAgQGluY2x1ZGUgbXEoc20sIG1kKSB7XHJcbiAgICAgIHBhZGRpbmc6IDA7XHJcblxyXG4gICAgICAuYmctaW1hZ2Uge1xyXG4gICAgICAgIHBvc2l0aW9uOiBzdGF0aWM7XHJcbiAgICAgICAgaGVpZ2h0OiBhdXRvO1xyXG4gICAgICAgIHBhZGRpbmctYm90dG9tOiA0NC42NjE1JTtcclxuICAgICAgfVxyXG5cclxuICAgICAgLm91dGVyQ29udGFpbmVyIHtcclxuICAgICAgICB3aWR0aDogMTAwJTtcclxuXHJcbiAgICAgICAgLnNpZGVib3gge1xyXG4gICAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjRTlFOUU5O1xyXG4gICAgICAgICAgcGFkZGluZzogMy43NXJlbSAzLjc1cmVtIDMuNDM3NXJlbTtcclxuICAgICAgICB9XHJcbiAgICAgICAgXHJcbiAgICAgICAgYS5zaWRlYm94OmhvdmVyIHtcclxuICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRtYWluQ29sb3I7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIFxyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgICBAaW5jbHVkZSBtcXUoc20pIHtcclxuICAgICAgcGFkZGluZzogMDtcclxuXHJcbiAgICAgIC5iZy1pbWFnZSB7XHJcbiAgICAgICAgcG9zaXRpb246IHN0YXRpYztcclxuICAgICAgICBoZWlnaHQ6IGF1dG87XHJcbiAgICAgICAgcGFkZGluZy1ib3R0b206IDQ0LjY2MTUlO1xyXG4gICAgICB9XHJcblxyXG4gICAgICAub3V0ZXJDb250YWluZXIge1xyXG4gICAgICAgIHdpZHRoOiAxMDAlO1xyXG5cclxuICAgICAgICAuc2lkZWJveCB7XHJcbiAgICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICNFOUU5RTk7XHJcbiAgICAgICAgICBwYWRkaW5nOiAxLjg3NXJlbSAxcmVtO1xyXG4gICAgICAgIH1cclxuICAgICAgICBcclxuICAgICAgICBhLnNpZGVib3g6aG92ZXIge1xyXG4gICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJG1haW5Db2xvcjtcclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcblxyXG4gICYuc2VjdGlvbi1zaWRlYm94bGluay1ib3R0b20ge1xyXG4gICAgLnNpZGVib3gge1xyXG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDI0NCwxNDIsMCwuNzUpO1xyXG4gICAgICBtYXJnaW4tbGVmdDogYXV0bztcclxuICAgICAgbWFyZ2luLWJvdHRvbTogMy43NXJlbTtcclxuXHJcbiAgICAgIGgzIHtcclxuICAgICAgICBjb2xvcjogI2ZmZjtcclxuICAgICAgfVxyXG5cclxuICAgICAgcCB7XHJcbiAgICAgICAgY29sb3I6ICNmZmY7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICAgIFxyXG4gICAgYS5zaWRlYm94OmhvdmVyIHtcclxuICAgICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgyNTUsMjU1LDI1NSwuODUpO1xyXG5cclxuICAgICAgaDMge1xyXG4gICAgICAgIGNvbG9yOiAkbWFpbkNvbG9yO1xyXG4gICAgICB9XHJcblxyXG4gICAgICBwIHtcclxuICAgICAgICBjb2xvcjogJHNlY29uZGFyeUNvbG9yO1xyXG4gICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgQGluY2x1ZGUgbXEoc20sIG1kKSB7XHJcblxyXG4gICAgICAuYmctaW1hZ2Uge1xyXG4gICAgICAgIGJhY2tncm91bmQtc2l6ZTogY29udGFpbjtcclxuICAgICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiA1MCUgMDtcclxuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkZGVlbXBoYXNpemVkQ29sb3I7XHJcbiAgICAgIH1cclxuXHJcbiAgICAgIC5zaWRlYm94IHtcclxuICAgICAgICBtYXJnaW46IDAgMCAwLjYyNXJlbTtcclxuICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgICBwYWRkaW5nOiAzLjc1cmVtIDMuNzVyZW0gMy40Mzc1cmVtO1xyXG4gICAgICAgIHRleHQtYWxpZ246IHJpZ2h0O1xyXG4gICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgQGluY2x1ZGUgbXF1KHNtKSB7XHJcbiAgICAgIC5iZy1pbWFnZSB7XHJcbiAgICAgICAgYmFja2dyb3VuZC1zaXplOiBjb250YWluO1xyXG4gICAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IDUwJSAwO1xyXG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRkZWVtcGhhc2l6ZWRDb2xvcjtcclxuICAgICAgfVxyXG5cclxuICAgICAgLnNpZGVib3gge1xyXG4gICAgICAgIG1hcmdpbjogMCAwIDAuNjI1cmVtO1xyXG4gICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICAgIHBhZGRpbmc6IDEuODc1cmVtIDFyZW07XHJcbiAgICAgICAgdGV4dC1hbGlnbjogcmlnaHQ7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcblxyXG4gIC5zdGVwLXRpbGVzIHtcclxuICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XHJcbiAgICBwYWRkaW5nOiAwIDEuNjI1cmVtO1xyXG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgei1pbmRleDogMjtcclxuXHJcbiAgICBAaW5jbHVkZSBtcXUobWQpIHtcclxuICAgICAgZmxleC13cmFwOiB3cmFwO1xyXG4gICAgICBwYWRkaW5nOiAwO1xyXG4gICAgfVxyXG5cclxuICAgIC5zdGVwLXRpbGUge1xyXG4gICAgICBmbGV4OiAxIDEgMjAlO1xyXG4gICAgICBtYXJnaW46IDAuNjI1cmVtO1xyXG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDI1NSwyNTUsMjU1LC44KTtcclxuXHJcbiAgICAgIEBpbmNsdWRlIG1xdShtZCkge1xyXG4gICAgICAgIGZsZXg6IDEgMSAxMDAlO1xyXG4gICAgICAgIG1hcmdpbjogMC42MjVyZW0gMDtcclxuICAgICAgfVxyXG5cclxuICAgICAgLnRpbGUtd3JhcCB7XHJcbiAgICAgICAgcGFkZGluZzogMS43NXJlbSAxLjgxMjVyZW0gMS41NjI1cmVtO1xyXG5cclxuICAgICAgICBoNSB7XHJcbiAgICAgICAgICBtYXJnaW46IDAgMCAwLjgxMjVyZW07XHJcbiAgICAgICAgICBjb2xvcjogJG1haW5Db2xvcjtcclxuICAgICAgICAgIGZvbnQtc2l6ZTogMS42ODc1cmVtO1xyXG4gICAgICAgIH1cclxuICAgICAgICBwIHtcclxuICAgICAgICAgIG1hcmdpbjogMDtcclxuICAgICAgICAgIGNvbG9yOiAkc2Vjb25kYXJ5Q29sb3I7XHJcbiAgICAgICAgICBmb250LXNpemU6IDEuMTI1cmVtO1xyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxufSIsIi5zZWN0aW9uLXRpbGVjYXJvdXNlbCB7XHJcbiAgYmFja2dyb3VuZC1jb2xvcjogI0U5RTlFOTtcclxuICBwYWRkaW5nOiAzLjEyNXJlbSAwIDUuMDYyNXJlbTtcclxuXHJcbiAgLmhwLWhlYWQge1xyXG4gICAgY29sb3I6ICRtYWluQ29sb3I7XHJcbiAgICBtYXJnaW46IDAgMCAzLjQzNzVyZW07XHJcbiAgfVxyXG5cclxuICAudGlsZS1jYXJvdXNlbCB7XHJcblxyXG4gICAgLnNsaWNrLXNsaWRlIHtcclxuICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcclxuXHJcbiAgICAgICY6bnRoLW9mLXR5cGUoMm4rMSkge1xyXG4gICAgICAgIC5jYXJvdXNlbC10aWxlOm5vdCguZ3JhZGllbnQtdGlsZSkge1xyXG4gICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjtcclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgICAgJjpudGgtb2YtdHlwZSgybikge1xyXG4gICAgICAgIC5jYXJvdXNlbC10aWxlOm5vdCguZ3JhZGllbnQtdGlsZSkge1xyXG4gICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI0Y4RjhGODtcclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuXHJcbiAgICAgID4gZGl2IHtcclxuICAgICAgICBoZWlnaHQ6IDEwMCU7XHJcbiAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAuY2Fyb3VzZWwtdGlsZSB7XHJcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgICBwYWRkaW5nLWJvdHRvbTogMS44NzVyZW07XHJcbiAgICAgIG1pbi1oZWlnaHQ6IDEwMCU7XHJcblxyXG4gICAgICAmLmdyYWRpZW50LXRpbGUge1xyXG4gICAgICAgIHBhZGRpbmctdG9wOiAyLjE4NzVyZW07XHJcbiAgICAgICAgLyogUGVybWFsaW5rIC0gdXNlIHRvIGVkaXQgYW5kIHNoYXJlIHRoaXMgZ3JhZGllbnQ6IGh0dHA6Ly9jb2xvcnppbGxhLmNvbS9ncmFkaWVudC1lZGl0b3IvI2YxMzc0ZSswLGZhYmY0YisxMDAgKi9cclxuICAgICAgICBiYWNrZ3JvdW5kOiAjZjEzNzRlOyAvKiBPbGQgYnJvd3NlcnMgKi9cclxuICAgICAgICBiYWNrZ3JvdW5kOiAtbW96LWxpbmVhci1ncmFkaWVudChsZWZ0LCAjZjEzNzRlIDAlLCAjZmFiZjRiIDEwMCUpOyAvKiBGRjMuNi0xNSAqL1xyXG4gICAgICAgIGJhY2tncm91bmQ6IC13ZWJraXQtbGluZWFyLWdyYWRpZW50KGxlZnQsICNmMTM3NGUgMCUsI2ZhYmY0YiAxMDAlKTsgLyogQ2hyb21lMTAtMjUsU2FmYXJpNS4xLTYgKi9cclxuICAgICAgICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQodG8gcmlnaHQsICNmMTM3NGUgMCUsI2ZhYmY0YiAxMDAlKTsgLyogVzNDLCBJRTEwKywgRkYxNissIENocm9tZTI2KywgT3BlcmExMissIFNhZmFyaTcrICovXHJcbiAgICAgICAgZmlsdGVyOiBwcm9naWQ6RFhJbWFnZVRyYW5zZm9ybS5NaWNyb3NvZnQuZ3JhZGllbnQoIHN0YXJ0Q29sb3JzdHI9JyNmMTM3NGUnLCBlbmRDb2xvcnN0cj0nI2ZhYmY0YicsR3JhZGllbnRUeXBlPTEgKTsgLyogSUU2LTkgKi9cclxuXHJcbiAgICAgICAgaDMge1xyXG4gICAgICAgICAgZm9udC1zaXplOiAyLjVyZW07XHJcbiAgICAgICAgICBjb2xvcjogI2ZmZjtcclxuICAgICAgICAgIG1hcmdpbjogMCAyLjc1cmVtIDIuODc1cmVtO1xyXG5cclxuICAgICAgICAgIEBpbmNsdWRlIG1xdShzbSkge1xyXG4gICAgICAgICAgICBmb250LXNpemU6IDJyZW07XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICBwIHtcclxuICAgICAgICAgIGNvbG9yOiAjZmZmO1xyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG5cclxuICAgICAgLnRpbGUtaW1nIHtcclxuICAgICAgICBwYWRkaW5nLWJvdHRvbTogMzQuMDYzMyU7XHJcbiAgICAgICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcclxuICAgICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiA1MCUgNTAlO1xyXG4gICAgICAgIGJhY2tncm91bmQtc2l6ZTogY292ZXI7XHJcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMS44MTI1cmVtO1xyXG5cclxuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICAgIH1cclxuXHJcbiAgICAgIC50aWxlLXRhZyB7XHJcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgICAgIHRvcDogMWVtO1xyXG4gICAgICAgIHJpZ2h0OiAxZW07XHJcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJG1haW5Db2xvcjtcclxuICAgICAgICBjb2xvcjogI2ZmZjtcclxuICAgICAgICBwYWRkaW5nOiAwLjEyNXJlbSAwLjI1cmVtO1xyXG4gICAgICAgIHRleHQtYWxpZ246IHJpZ2h0O1xyXG4gICAgICAgIFxyXG4gICAgICAgIHNwYW4geyAgICAgICAgICBcclxuICAgICAgICAgICY6bm90KDpsYXN0LW9mLXR5cGUpOjphZnRlciB7XHJcbiAgICAgICAgICAgICBjb250ZW50OiAnLCc7XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcblxyXG4gICAgICBoNSB7XHJcbiAgICAgICAgZm9udC1zaXplOiAxLjY4NzVyZW07XHJcbiAgICAgICAgbGluZS1oZWlnaHQ6IDEuMjVlbTtcclxuICAgICAgICBjb2xvcjogJG1haW5Db2xvcjtcclxuICAgICAgICBtYXJnaW46IDAgMi43NXJlbSAxLjU2MjVyZW07XHJcbiAgICAgIH1cclxuXHJcbiAgICAgIHAge1xyXG4gICAgICAgIGZvbnQtc2l6ZTogMS4yNXJlbTtcclxuICAgICAgICBsaW5lLWhlaWdodDogMS4yNWVtO1xyXG4gICAgICAgIGNvbG9yOiAkc2Vjb25kYXJ5Q29sb3I7XHJcbiAgICAgICAgbWFyZ2luOiAwIDIuNzVyZW07XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcblxyXG4gIC50aWxlLWFycm93IHtcclxuICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgei1pbmRleDogMTtcclxuICAgIHdpZHRoOiAyLjE4NzVyZW07XHJcbiAgICBoZWlnaHQ6IDEwMCU7XHJcbiAgICB0b3A6IDA7XHJcbiAgICBib3JkZXI6IDA7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDExOCwxMzEsMTM4LC40KTtcclxuICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XHJcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiA1MCUgNTAlO1xyXG4gICAgYmFja2dyb3VuZC1zaXplOiA1MCUgYXV0bztcclxuICAgIGN1cnNvcjogcG9pbnRlcjtcclxuICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgLjNzIGVhc2UtaW4tb3V0IDBzO1xyXG5cclxuICAgICY6aG92ZXIge1xyXG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDExOCwxMzEsMTM4LDEpO1xyXG4gICAgfVxyXG5cclxuICAgICYuYXJyb3ctbGVmdCB7XHJcbiAgICAgIGxlZnQ6IDA7XHJcbiAgICAgIGJhY2tncm91bmQtaW1hZ2U6ICB1cmwoJy9NZWRpYS9pY29ucy9hcnJvd19sZWZ0X2JpYW5jby5zdmcnKTtcclxuICAgIH1cclxuXHJcbiAgICAmLmFycm93LXJpZ2h0IHtcclxuICAgICAgcmlnaHQ6IDA7XHJcbiAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCgnL01lZGlhL2ljb25zL2Fycm93X3JpZ2h0X2JpYW5jby5zdmcnKTtcclxuICAgIH1cclxuICB9XHJcblxyXG59IiwiLnNlY3Rpb24tY29tbXVuaXR5IHtcclxuICBwYWRkaW5nOiAzLjI1cmVtIDAgNy41cmVtO1xyXG4gIGJhY2tncm91bmQtY29sb3I6ICNERURFREU7XHJcblxyXG4gIEBpbmNsdWRlIG1xdShtZCkge1xyXG4gICAgcGFkZGluZy1ib3R0b206IDMuNzVyZW07XHJcblxyXG4gICAgLm91dGVyQ29udGFpbmVyIHtcclxuICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICAuaHAtaGVhZCB7XHJcbiAgICBtYXJnaW46IDAgMCAzLjgxMjVyZW07XHJcbiAgICBjb2xvcjogI2ZmZjtcclxuICB9XHJcblxyXG4gIC5jb21tdW5pdHktdGlsZXMge1xyXG4gICAgZGlzcGxheTogZmxleDtcclxuICAgIGZsZXgtd3JhcDogd3JhcDtcclxuICB9XHJcblxyXG4gIC5jb21tdW5pdHktdGlsZSB7XHJcbiAgICBkaXNwbGF5OiBibG9jaztcclxuICAgIGZsZXg6IDEgMSA1MCU7XHJcbiAgICAvL3BhZGRpbmctYm90dG9tOiAxMy4wNzglO1xyXG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgYmFja2dyb3VuZC1wb3NpdGlvbjogNTAlIDUwJTtcclxuICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XHJcbiAgICBiYWNrZ3JvdW5kLXNpemU6IGNvdmVyO1xyXG5cclxuICAgICY6OmFmdGVyIHtcclxuICAgICAgY29udGVudDogJyc7XHJcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgcGFkZGluZy1ib3R0b206IDI2LjE1NiU7XHJcbiAgICB9XHJcblxyXG4gICAgQGluY2x1ZGUgbXEoc20sIG1kKSB7XHJcbiAgICAgIGZsZXg6IDEgMSAxMDAlO1xyXG5cclxuICAgICAgJjo6YWZ0ZXIge1xyXG4gICAgICAgIHBhZGRpbmctYm90dG9tOiAyNy45OTQ4JTtcclxuICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIEBpbmNsdWRlIG1xdShzbSkge1xyXG4gICAgICBmbGV4OiAxIDEgMTAwJTtcclxuXHJcbiAgICAgICY6OmFmdGVyIHtcclxuICAgICAgICBwYWRkaW5nLWJvdHRvbTogNTAlO1xyXG4gICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgJjpob3ZlciB7XHJcbiAgICAgIG9wYWNpdHk6IC41O1xyXG4gICAgfVxyXG5cclxuICAgICY6OmJlZm9yZSB7XHJcbiAgICAgIGNvbnRlbnQ6ICcnO1xyXG4gICAgICBkaXNwbGF5OiBibG9jaztcclxuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgICB0b3A6IDJyZW07XHJcbiAgICAgIGxlZnQ6IDEuOTM3NXJlbTtcclxuICAgICAgd2lkdGg6IDIuNXJlbTtcclxuICAgICAgaGVpZ2h0OiAyLjVyZW07XHJcbiAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IDUwJSA1MCU7XHJcbiAgICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XHJcbiAgICAgIGJhY2tncm91bmQtc2l6ZTogY29udGFpbjtcclxuXHJcbiAgICAgIEBpbmNsdWRlIG1xKHNtLCBtZCkge1xyXG4gICAgICAgIGxlZnQ6IDEuNXJlbTtcclxuICAgICAgfVxyXG5cclxuICAgICAgQGluY2x1ZGUgbXF1KHNtKSB7XHJcbiAgICAgICAgdG9wOiAwLjkzNzVyZW07XHJcbiAgICAgICAgbGVmdDogMXJlbTtcclxuICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIC5jdGEge1xyXG4gICAgICBwYWRkaW5nOiAwLjgxMjVyZW0gMy43NXJlbSAxLjEyNXJlbSAxLjg3NXJlbTtcclxuICAgICAgZm9udC1zaXplOiAxLjU2MjVyZW07XHJcbiAgICAgIGxpbmUtaGVpZ2h0OiAxZW07XHJcbiAgICAgIGNvbG9yOiAjZmZmO1xyXG4gICAgICBkaXNwbGF5OiBibG9jaztcclxuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgICBib3R0b206IDA7XHJcbiAgICAgIGxlZnQ6IDA7XHJcblxyXG4gICAgICBAaW5jbHVkZSBtcXUoc20pIHtcclxuICAgICAgICBmb250LXNpemU6IDEuMjVyZW07XHJcbiAgICAgICAgcGFkZGluZzogMC44MTI1cmVtIDEuODc1cmVtIDEuMTI1cmVtIDFyZW07XHJcbiAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAmLmluc3RhZ3JhbSB7XHJcbiAgICAgICY6OmJlZm9yZSB7XHJcbiAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKCcvTWVkaWEvaWNvbnMvU29jaWFsL2luc3RhZ3JhbS5zdmcnKTtcclxuICAgICAgfVxyXG5cclxuICAgICAgLmN0YSB7XHJcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgyMDQsIDUxLCAxMDIsIC44KTtcclxuICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgICYuZmFjZWJvb2sge1xyXG4gICAgICAmOjpiZWZvcmUge1xyXG4gICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCgnL01lZGlhL2ljb25zL1NvY2lhbC9mYWNlYm9vay5zdmcnKTtcclxuICAgICAgfVxyXG5cclxuICAgICAgLmN0YSB7XHJcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSg3MSwgODksIDE0OCwgLjgpO1xyXG4gICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgJi50d2l0dGVyIHtcclxuICAgICAgJjo6YmVmb3JlIHtcclxuICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoJy9NZWRpYS9pY29ucy9Tb2NpYWwvdHdpdHRlci5zdmcnKTtcclxuICAgICAgfVxyXG5cclxuICAgICAgLmN0YSB7XHJcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSg4NCwgMTcxLCAyMzcsIC44KTtcclxuICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgICYueW91dHViZSB7XHJcbiAgICAgICY6OmJlZm9yZSB7XHJcbiAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKCcvTWVkaWEvaWNvbnMvU29jaWFsL3lvdXR1YmUuc3ZnJyk7XHJcbiAgICAgIH1cclxuXHJcbiAgICAgIC5jdGEge1xyXG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMjM3LCAyOCwgMzYsIC44KTtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxufSIsIi5zZWN0aW9uLWhlYWQge1xyXG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xyXG4gIGJhY2tncm91bmQtcG9zaXRpb246IDUwJSA1MCU7XHJcbiAgYmFja2dyb3VuZC1zaXplOiBjb3ZlcjtcclxuICBoZWlnaHQ6IDI1cmVtO1xyXG5cclxuICAuY29udGFpbmVyLXdyYXAge1xyXG4gICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgYm90dG9tOiAwO1xyXG4gICAgbGVmdDogMDtcclxuICAgIHdpZHRoOiAxMDAlO1xyXG5cclxuICAgIGgxIHtcclxuICAgICAgZm9udC1zaXplOiAzLjQzNzVyZW07XHJcbiAgICAgIGNvbG9yOiAjZmZmO1xyXG4gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcbiAgICAgIHBhZGRpbmc6IDIuNjg3NXJlbSA4LjU2MjVyZW0gMi42MjVyZW07XHJcbiAgICAgIG1hcmdpbjogMDtcclxuICAgICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgyNDUsIDE0MywgMCwgMC44NSk7XHJcblxyXG5cclxuICAgIH1cclxuICB9XHJcblxyXG4gIEBpbmNsdWRlIG1xKHNtLCBtZCkge1xyXG4gICAgLm91dGVyQ29udGFpbmVyIHtcclxuICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICB9XHJcblxyXG4gICAgLmNvbnRhaW5lci13cmFwIHtcclxuICAgICAgaDEge1xyXG4gICAgICAgIGZvbnQtc2l6ZTogMy4xMjVyZW07XHJcbiAgICAgICAgcGFkZGluZzogMS44MTI1cmVtIDQuNTYyNXJlbSAyLjU2MjVyZW0gNHJlbTtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxuICBAaW5jbHVkZSBtcXUoc20pIHtcclxuICAgIC5vdXRlckNvbnRhaW5lciB7XHJcbiAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgfVxyXG5cclxuICAgIC5jb250YWluZXItd3JhcCB7XHJcbiAgICAgIGgxIHtcclxuICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbiAgICAgICAgZm9udC1zaXplOiAyLjM3NXJlbTtcclxuICAgICAgICBwYWRkaW5nOiAxLjE4NzVyZW0gMXJlbSAxLjYyNXJlbTtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxufSIsIi5zZWN0aW9uLWlsbHVzdHJhdGVkLXRleHQge1xyXG5cclxuICAuY29udGVudC13cmFwIHtcclxuICAgIGRpc3BsYXk6IGZsZXg7XHJcblxyXG4gICAgQGluY2x1ZGUgbXF1KG1kKSB7XHJcbiAgICAgIGZsZXgtd3JhcDogd3JhcDtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIC5jb250ZW50IHtcclxuICAgIGZsZXg6IDEgMSAxMCU7XHJcblxyXG4gICAgQGluY2x1ZGUgbXEoc20sIG1kKSB7XHJcbiAgICAgIGZsZXg6IDEgMSAxMDAlO1xyXG5cclxuICAgICAgJjpub3QoLmltYWdlLWhvbGRlcikge1xyXG4gICAgICAgIG1hcmdpbi10b3A6IDMuNzVyZW07XHJcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMC42MjVyZW07XHJcbiAgICAgIH1cclxuXHJcbiAgICAgICY6bGFzdC1jaGlsZDpub3QoLmltYWdlLWhvbGRlcikge1xyXG4gICAgICAgIG1hcmdpbi1ib3R0b206IDMuNzVyZW07XHJcbiAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICBAaW5jbHVkZSBtcXUoc20pIHtcclxuICAgICAgZmxleDogMSAxIDEwMCU7XHJcblxyXG4gICAgICAmOmZpcnN0LWNoaWxkIHtcclxuICAgICAgICBtYXJnaW4tdG9wOiAxLjI1cmVtO1xyXG4gICAgICAgIG1hcmdpbi1ib3R0b206IDEuMjVyZW07XHJcbiAgICAgIH1cclxuXHJcbiAgICAgICY6bGFzdC1jaGlsZDpub3QoLmltYWdlLWhvbGRlcikge1xyXG4gICAgICAgIG1hcmdpbi1ib3R0b206IDMuNzVyZW07XHJcbiAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAmLmltYWdlLWhvbGRlciB7XHJcbiAgICAgIGFsaWduLXNlbGY6IGVuZDtcclxuXHJcbiAgICAgICYuaW1hZ2UtcmlnaHQge1xyXG4gICAgICAgICY6OmFmdGVyIHtcclxuICAgICAgICAgIGNvbnRlbnQ6ICcnO1xyXG4gICAgICAgICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICAgICAgICBjbGVhcjogYm90aDtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIC5pbWFnZSB7XHJcbiAgICAgICAgICBmbG9hdDogcmlnaHQ7XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICB9XHJcblxyXG5cclxuICAgIEBpbmNsdWRlIG1xKG1kKSB7XHJcbiAgICAgIC5wYWRkaW5nLXRvcC1sYXJnZSB7XHJcbiAgICAgICAgcGFkZGluZy10b3A6IDkuODEyNXJlbTtcclxuICAgICAgfVxyXG4gICAgICAucGFkZGluZy10b3Age1xyXG4gICAgICAgIHBhZGRpbmctdG9wOiAzLjc1cmVtO1xyXG4gICAgICB9XHJcbiAgICAgIC5wYWRkaW5nLXRvcC1zbWFsbCB7XHJcbiAgICAgICAgcGFkZGluZy10b3A6IDEuODEyNXJlbTtcclxuICAgICAgfVxyXG4gICAgICAucGFkZGluZy1sZWZ0IHtcclxuICAgICAgICBwYWRkaW5nLWxlZnQ6IDguNTYyNXJlbTtcclxuICAgICAgfVxyXG4gICAgICAucGFkZGluZy1yaWdodCB7XHJcbiAgICAgICAgcGFkZGluZy1yaWdodDogOC41NjI1cmVtO1xyXG4gICAgICB9XHJcbiAgICAgIC5wYWRkaW5nLWJvdHRvbSB7XHJcbiAgICAgICAgcGFkZGluZy1ib3R0b206IDMuNzVyZW07XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcblxyXG4gIGgyIHtcclxuICAgIGNvbG9yOiAkbWFpbkNvbG9yO1xyXG4gICAgbWFyZ2luOiAwIDAgMS40Mzc1cmVtO1xyXG4gIH1cclxuXHJcbiAgYSB7XHJcbiAgICBjb2xvcjogJHRlcnRpYXJ5Q29sb3I7XHJcblxyXG4gICAgJjpob3ZlciB7XHJcbiAgICAgIGNvbG9yOiAkbWFpbkNvbG9yO1xyXG4gICAgfVxyXG4gICAgXHJcbiAgICAmLmgyIHtcclxuICAgICAgY29sb3I6ICRtYWluQ29sb3I7XHJcbiAgICAgIGZvbnQtc2l6ZTogMi4xODc1cmVtO1xyXG4gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgICAgcGFkZGluZy1yaWdodDogMi4xMjVyZW07XHJcbiAgICAgIG1hcmdpbi1ib3R0b206IDQuMDYyNXJlbTtcclxuXHJcbiAgICAgICY6aG92ZXIge1xyXG4gICAgICAgIGNvbG9yOiAkZGVlbXBoYXNpemVkQ29sb3I7XHJcbiAgICAgIH1cclxuXHJcbiAgICAgIC51ZC1hcnJvdy1yaWdodC1ncmlnaW8ge1xyXG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuICAgICAgICBmb250LXNpemU6IDEuNjI1cmVtO1xyXG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxZW07XHJcbiAgICAgICAgbWFyZ2luOiAwIDAgMCAwLjc1cmVtO1xyXG4gICAgICAgIHZlcnRpY2FsLWFsaWduOiBib3R0b207XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcblxyXG4gIHAge1xyXG4gICAgY29sb3I6ICR0ZXJ0aWFyeUNvbG9yO1xyXG4gICAgdHJhbnNpdGlvbjogYWxsIDAuMTVzIGVhc2UtaW4tb3V0O1xyXG5cclxuICAgICYubWFyZ2luIHtcclxuICAgICAgbWFyZ2luOiAyLjVyZW0gMDtcclxuICAgIH1cclxuXHJcbiAgICAuaGlnaGxpZ2h0IHtcclxuICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcclxuICAgICAgY29sb3I6ICRtYWluQ29sb3I7XHJcbiAgICB9XHJcbiAgfVxyXG4gIFxyXG4gIGE6aG92ZXIgcCB7XHJcbiAgICBjb2xvcjogJGRlZW1waGFzaXplZENvbG9yO1xyXG4gIH1cclxuXHJcbiAgLmltYWdlIHtcclxuICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgbWFyZ2luOiAwO1xyXG4gICAgYm9yZGVyOiAwO1xyXG4gICAgbWF4LXdpZHRoOiAxMDAlO1xyXG4gICAgaGVpZ2h0OiBhdXRvO1xyXG4gIH1cclxuXHJcblxyXG4gICYuZnVsbC1tb2JpbGUge1xyXG4gICAgQGluY2x1ZGUgbXEoc20sIG1kKSB7XHJcbiAgICAgIC5vdXRlckNvbnRhaW5lciB7XHJcbiAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgIH1cclxuXHJcbiAgICAgIC5jb250ZW50Om5vdCguaW1hZ2UtaG9sZGVyKSA+IGRpdiB7XHJcbiAgICAgICAgd2lkdGg6IDY0MHB4O1xyXG4gICAgICAgIG1hcmdpbi1sZWZ0OiBhdXRvO1xyXG4gICAgICAgIG1hcmdpbi1yaWdodDogYXV0bztcclxuICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIEBpbmNsdWRlIG1xdShzbSkge1xyXG4gICAgICAub3V0ZXJDb250YWluZXIge1xyXG4gICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICB9XHJcblxyXG4gICAgICAuY29udGVudDpub3QoLmltYWdlLWhvbGRlcikgPiBkaXYge1xyXG4gICAgICAgIHdpZHRoOiA5MCU7XHJcbiAgICAgICAgbWFyZ2luLWxlZnQ6IGF1dG87XHJcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG59IiwiLnNlY3Rpb24tY29sb3ItYmFyIHtcclxuICBiYWNrZ3JvdW5kLWNvbG9yOiAkbWFpbkNvbG9yO1xyXG4gIGNvbG9yOiAjZmZmO1xyXG4gIHBhZGRpbmc6IDQuMDYyNXJlbSAwIDMuODEyNXJlbTtcclxuXHJcbiAgaDIge1xyXG4gICAgbWFyZ2luOiAwO1xyXG5cclxuICAgICYgKyBwIHtcclxuICAgICAgbWFyZ2luOiAxLjQzNzVyZW0gMCAwO1xyXG4gICAgfVxyXG5cclxuICAgICYubWFpbi1jb2xvciB7XHJcbiAgICAgIGNvbG9yOiAkbWFpbkNvbG9yO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgQGluY2x1ZGUgbXF1KHNtKSB7XHJcbiAgICBwYWRkaW5nOiAyLjY4NzVyZW0gMCAyLjVyZW07XHJcblxyXG4gICAgaDIge1xyXG4gICAgICBmb250LXNpemU6IDEuODc1cmVtO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcblxyXG4gICYuYWx0IHtcclxuICAgIGJhY2tncm91bmQtY29sb3I6ICRkZWVtcGhhc2l6ZWRDb2xvcjtcclxuICAgIFxyXG4gICAgYSB7XHJcbiAgICAgIGNvbG9yOiAjZmZmO1xyXG4gICAgfVxyXG4gICAgXHJcbiAgfVxyXG5cclxuICAmLndoaXRlIHtcclxuICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmY7XHJcbiAgICBjb2xvcjogJHRlcnRpYXJ5Q29sb3I7XHJcblxyXG4gICAgYSB7XHJcbiAgICAgIGNvbG9yOiAkbWFpbkNvbG9yO1xyXG4gICAgfVxyXG4gICAgXHJcbiAgfVxyXG59IiwiLnNlY3Rpb24tYWR2YW50YWdlLWJveGVzIHtcclxuXHJcbiAgQGluY2x1ZGUgbXF1KG1kKSB7XHJcbiAgICAub3V0ZXJDb250YWluZXIge1xyXG4gICAgICB3aWR0aDogMTAwJTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIC5hZHZhbnRhZ2UtYm94ZXMge1xyXG4gICAgZGlzcGxheTogZmxleDtcclxuXHJcbiAgICBAaW5jbHVkZSBtcXUobWQpIHtcclxuICAgICAgZmxleC13cmFwOiB3cmFwO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgLmFkdmFudGFnZS1ib3gge1xyXG4gICAgZmxleDogMSAxIDMzJTtcclxuICAgIGJhY2tncm91bmQtY29sb3I6ICRkZWVtcGhhc2l6ZWRDb2xvcjI7XHJcblxyXG4gICAgQGluY2x1ZGUgbXF1KG1kKSB7XHJcbiAgICAgIGZsZXg6IDEgMSAxMDAlO1xyXG4gICAgfVxyXG5cclxuICAgIC5pbWFnZSB7XHJcbiAgICAgIHBhZGRpbmctYm90dG9tOiA1Mi4zNzIzJTtcclxuICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogNTAlIDUwJTtcclxuICAgICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcclxuICAgICAgYmFja2dyb3VuZC1zaXplOiBjb3ZlcjtcclxuICAgIH1cclxuXHJcbiAgICAucG9pbnRzIHtcclxuICAgICAgcGFkZGluZzogMy40Mzc1cmVtIDguNTYyNXJlbSAzLjc1cmVtO1xyXG5cclxuICAgICAgQGluY2x1ZGUgbXEobWQsIGxnKSB7XHJcbiAgICAgICAgcGFkZGluZzogMy40Mzc1cmVtIDYuNTYyNXJlbSAzLjc1cmVtO1xyXG4gICAgICB9XHJcbiAgICAgIEBpbmNsdWRlIG1xKGxnLCB4bGcpIHtcclxuICAgICAgICBwYWRkaW5nOiAzLjQzNzVyZW0gNS41NjI1cmVtIDMuNzVyZW07XHJcbiAgICAgIH1cclxuICAgICAgQGluY2x1ZGUgbXEoeGxnLCB4eGxnKSB7XHJcbiAgICAgICAgcGFkZGluZzogMy40Mzc1cmVtIDYuNTYyNXJlbSAzLjc1cmVtO1xyXG4gICAgICB9XHJcbiAgICAgIEBpbmNsdWRlIG1xdShzbSkge1xyXG4gICAgICAgIHBhZGRpbmc6IDEuNTYyNXJlbSAxcmVtIDIuNXJlbTtcclxuICAgICAgfVxyXG5cclxuICAgICAgYSB7XHJcbiAgICAgICAgZm9udC1zaXplOiAxLjU2MjVyZW07XHJcbiAgICAgICAgY29sb3I6ICRtYWluQ29sb3I7XHJcbiAgICAgICAgbWFyZ2luOiAwIDAgMS45Mzc1cmVtO1xyXG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICAgICAgcGFkZGluZy1yaWdodDogMi4xMjVyZW07XHJcblxyXG4gICAgICAgICY6aG92ZXIge1xyXG4gICAgICAgICAgY29sb3I6ICRkZWVtcGhhc2l6ZWRDb2xvcjtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIC51ZC1hcnJvdy1yaWdodC1ncmlnaW8ge1xyXG4gICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG4gICAgICAgICAgZm9udC1zaXplOiAxLjEyNXJlbTtcclxuICAgICAgICAgIGxpbmUtaGVpZ2h0OiAxZW07XHJcbiAgICAgICAgICBtYXJnaW46IDAgMCAwIDAuNzVyZW07XHJcbiAgICAgICAgICB2ZXJ0aWNhbC1hbGlnbjogYm90dG9tO1xyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG5cclxuICAgICAgLnBvaW50IHtcclxuICAgICAgICBmb250LXNpemU6IDEuMjVyZW07XHJcbiAgICAgICAgY29sb3I6ICR0ZXJ0aWFyeUNvbG9yO1xyXG4gICAgICAgIHBhZGRpbmc6IDEuODc1cmVtIDA7XHJcbiAgICAgICAgYm9yZGVyOiAwO1xyXG4gICAgICAgIGJvcmRlci10b3A6IDJweCBzb2xpZCAkbWFpbkNvbG9yO1xyXG4gICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgJjpudGgtb2YtdHlwZSgybikge1xyXG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkbWFpbkNvbG9yO1xyXG5cclxuICAgICAgLnBvaW50cyB7XHJcbiAgICAgICAgYSB7XHJcbiAgICAgICAgICBjb2xvcjogI2ZmZjtcclxuXHJcbiAgICAgICAgICAmOmhvdmVyIHtcclxuICAgICAgICAgICAgY29sb3I6ICRkZWVtcGhhc2l6ZWRDb2xvcjtcclxuICAgICAgICAgIH1cclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIC5wb2ludCB7XHJcbiAgICAgICAgICBjb2xvcjogI2ZmZjtcclxuICAgICAgICAgIGJvcmRlci10b3A6IDJweCBzb2xpZCAjZmZmO1xyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxuXHJcbn0iLCIuc2VjdGlvbi1kdWFsLXByb2R1Y3RzIHtcclxuXHJcbiAgQGluY2x1ZGUgbXF1KG1kKSB7XHJcbiAgICAub3V0ZXJDb250YWluZXIge1xyXG4gICAgICB3aWR0aDogMTAwJTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIC5kdWFsLXByb2R1Y3RzIHtcclxuICAgIGRpc3BsYXk6IGZsZXg7XHJcblxyXG4gICAgQGluY2x1ZGUgbXF1KG1kKSB7XHJcbiAgICAgIGZsZXgtd3JhcDogd3JhcDtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIC5wcm9kdWN0IHtcclxuICAgIGZsZXg6IDEgMSA1MCU7XHJcblxyXG4gICAgQGluY2x1ZGUgbXF1KG1kKSB7XHJcbiAgICAgIGZsZXg6IDEgMSAxMDAlO1xyXG4gICAgfVxyXG5cclxuICAgIC5wcm9kdWN0LWJnIHtcclxuICAgICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcclxuICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogNTAlIDUwJTtcclxuICAgICAgYmFja2dyb3VuZC1zaXplOiBjb3ZlcjtcclxuICAgICAgcGFkZGluZy1ib3R0b206IDY2LjQyMzQlO1xyXG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcblxyXG4gICAgICBAaW5jbHVkZSBtcShzbSwgbWQpIHtcclxuICAgICAgICBwYWRkaW5nLWJvdHRvbTogNzEuMDkzNzUlO1xyXG4gICAgICB9XHJcblxyXG4gICAgICBAaW5jbHVkZSBtcXUoc20pIHtcclxuICAgICAgICBwYWRkaW5nLWJvdHRvbTogMTcxLjg3NSU7XHJcbiAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAuYm94IHtcclxuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgICBib3R0b206IDA7XHJcbiAgICAgIGxlZnQ6IDA7XHJcbiAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICBwYWRkaW5nOiAyLjVyZW0gOC41NjI1cmVtO1xyXG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDI0NSwxNDMsMCwuOSk7XHJcbiAgICAgIG1pbi1oZWlnaHQ6IDUwJTtcclxuICAgICAgY29sb3I6ICNmZmY7XHJcblxyXG4gICAgICBAaW5jbHVkZSBtcShtZCwgeHhsZykge1xyXG4gICAgICAgIHBhZGRpbmc6IDIuMTg3NXJlbSA1cmVtO1xyXG4gICAgICB9XHJcblxyXG4gICAgICBAaW5jbHVkZSBtcShzbSwgbWQpIHtcclxuICAgICAgICBtaW4taGVpZ2h0OiAwO1xyXG4gICAgICAgIHBhZGRpbmc6IDMuNXJlbSA4cmVtIDMuNzVyZW07XHJcbiAgICAgIH1cclxuXHJcbiAgICAgIEBpbmNsdWRlIG1xdShzbSkge1xyXG4gICAgICAgIG1pbi1oZWlnaHQ6IDA7XHJcbiAgICAgICAgcGFkZGluZzogMi4yNXJlbSAxcmVtIDIuNXJlbTtcclxuICAgICAgfVxyXG5cclxuICAgICAgaDMge1xyXG4gICAgICAgIG1hcmdpbjogMCAwIDEuOTM3NXJlbTtcclxuICAgICAgfVxyXG5cclxuICAgICAgYSB7XHJcbiAgICAgICAgZm9udC1zaXplOiAxLjU2MjVyZW07XHJcbiAgICAgICAgY29sb3I6ICNmZmY7XHJcbiAgICAgICAgbWFyZ2luOiAwIDAgMS45Mzc1cmVtO1xyXG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcblxyXG4gICAgICAgICY6aG92ZXIge1xyXG4gICAgICAgICAgY29sb3I6ICRkZWVtcGhhc2l6ZWRDb2xvcjtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIC51ZC1hcnJvdy1yaWdodC1ncmlnaW8ge1xyXG4gICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG4gICAgICAgICAgZm9udC1zaXplOiAxLjE4NzVyZW07XHJcbiAgICAgICAgICBsaW5lLWhlaWdodDogMWVtO1xyXG4gICAgICAgICAgbWFyZ2luOiAwIDAgMCAwLjc1cmVtO1xyXG4gICAgICAgICAgdmVydGljYWwtYWxpZ246IGJvdHRvbTtcclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuXHJcbiAgICAgIC5tYXJnaW4ge1xyXG4gICAgICAgIG1hcmdpbjogMi41cmVtIDAgMS44NzVyZW07XHJcbiAgICAgIH1cclxuXHJcbiAgICAgIC51cHBlcmNhc2Uge1xyXG4gICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XHJcbiAgICAgIH1cclxuXHJcbiAgICAgIC5tYWluLWNvbG9yIHtcclxuICAgICAgICBjb2xvcjogJG1haW5Db2xvcjtcclxuICAgICAgfVxyXG5cclxuICAgICAgLmRvd25sb2Fkcy13cmFwIHtcclxuICAgICAgICBhIHtcclxuICAgICAgICAgIGZvbnQtc2l6ZTogMS4wNjI1cmVtO1xyXG4gICAgICAgICAgbWFyZ2luOiAwO1xyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgICY6bnRoLW9mLXR5cGUoMm4pIHtcclxuICAgICAgLmJveCB7XHJcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgyNTUsMjU1LDI1NSwuOSk7XHJcbiAgICAgICAgY29sb3I6ICR0ZXJ0aWFyeUNvbG9yO1xyXG5cclxuICAgICAgICBhIHtcclxuICAgICAgICAgIGNvbG9yOiAkdGVydGlhcnlDb2xvcjtcclxuXHJcbiAgICAgICAgICAmOmhvdmVyIHtcclxuICAgICAgICAgICAgY29sb3I6ICRkZWVtcGhhc2l6ZWRDb2xvcjtcclxuICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcblxyXG5cclxuXHJcbiAgJi5hbHQge1xyXG5cclxuICAgIC5wcm9kdWN0IHtcclxuXHJcbiAgICAgIC5wcm9kdWN0LWJnIHtcclxuICAgICAgICBwYWRkaW5nLWJvdHRvbTogNzYuODg1NiU7XHJcblxyXG4gICAgICAgIEBpbmNsdWRlIG1xdShzbSkge1xyXG4gICAgICAgICAgcGFkZGluZy1ib3R0b206IDE2NS42MjUlO1xyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG5cclxuICAgICAgLmJveCB7XHJcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgyNTUsMjU1LDI1NSwuOSk7XHJcbiAgICAgICAgY29sb3I6ICR0ZXJ0aWFyeUNvbG9yO1xyXG5cclxuICAgICAgICBhIHtcclxuICAgICAgICAgIGNvbG9yOiAkdGVydGlhcnlDb2xvcjtcclxuXHJcbiAgICAgICAgICAmOmhvdmVyIHtcclxuICAgICAgICAgICAgY29sb3I6ICRtYWluQ29sb3I7XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcblxyXG4gICAgICAmOm50aC1vZi10eXBlKDJuKSB7XHJcbiAgICAgICAgLnByb2R1Y3QtYmcge1xyXG4gICAgICAgICAgQGluY2x1ZGUgbXF1KHNtKSB7XHJcbiAgICAgICAgICAgIHBhZGRpbmctYm90dG9tOiAxOTkuMzc1JTtcclxuICAgICAgICAgIH1cclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIC5ib3gge1xyXG4gICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgxOTksMjAzLDIwMywuOSk7XHJcbiAgICAgICAgICBjb2xvcjogI2ZmZjtcclxuXHJcbiAgICAgICAgICBhIHtcclxuICAgICAgICAgICAgY29sb3I6ICNmZmY7XHJcblxyXG4gICAgICAgICAgICAmOmhvdmVyIHtcclxuICAgICAgICAgICAgICBjb2xvcjogJG1haW5Db2xvcjtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG5cclxuICAgIH1cclxuXHJcbiAgICAmLnJldmVyc2VkIHtcclxuXHJcbiAgICAgIC5wcm9kdWN0IHtcclxuXHJcbiAgICAgICAgLmJveCB7XHJcbiAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDE5OSwyMDMsMjAzLC45KTtcclxuICAgICAgICAgIGNvbG9yOiAjZmZmO1xyXG5cclxuICAgICAgICAgIGEge1xyXG4gICAgICAgICAgICBjb2xvcjogI2ZmZjtcclxuXHJcbiAgICAgICAgICAgICY6aG92ZXIge1xyXG4gICAgICAgICAgICAgIGNvbG9yOiAkbWFpbkNvbG9yO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgLmRvd25sb2Fkcy13cmFwIHtcclxuICAgICAgICAgICAgLmRvd25sb2FkLWljb24ge1xyXG4gICAgICAgICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCgnL01lZGlhL2ljb25zL2NhcnRlbGxhX2JpYW5jby5zdmcnKTtcclxuXHJcbiAgICAgICAgICAgICAgJi5pY29uLXRvb2wge1xyXG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKCcvYXNzZXRzL2Nzcy9pbWcvd2ViLXRvb2wtYmlhbmNvLnN2ZycpO1xyXG4gICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICBcclxuICAgICAgICAgICAgICAmLmljb24tdG9vbC1zbWFydHBob25lIHtcclxuICAgICAgICAgICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCgnL2Fzc2V0cy9jc3MvaW1nL3dlYi10b29sLXNtYXJ0cGhvbmUtYmlhbmNvLnN2ZycpO1xyXG4gICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgYTpob3ZlciB7XHJcbiAgICAgICAgICAgICAgLmRvd25sb2FkLWljb24ge1xyXG4gICAgICAgICAgICAgICAgJjo6YWZ0ZXIge1xyXG4gICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoJy9NZWRpYS9pY29ucy9jYXJ0ZWxsYV9hcmFuY2lvbmUuc3ZnJyk7XHJcbiAgICAgICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICAgICAgJi5pY29uLXRvb2wge1xyXG4gICAgICAgICAgICAgICAgICAmOjphZnRlciB7XHJcbiAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKCcvYXNzZXRzL2Nzcy9pbWcvd2ViLXRvb2wtYXJhbmNpb25lLnN2ZycpO1xyXG4gICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICAgICAgJi5pY29uLXRvb2wtc21hcnRwaG9uZSB7XHJcbiAgICAgICAgICAgICAgICAgICY6OmFmdGVyIHtcclxuICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoJy9hc3NldHMvY3NzL2ltZy93ZWItdG9vbC1zbWFydHBob25lLWFyYW5jaW9uZS5zdmcnKTtcclxuICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgJjpudGgtb2YtdHlwZSgybikge1xyXG5cclxuICAgICAgICAgIC5ib3gge1xyXG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDI1NSwyNTUsMjU1LC45KTtcclxuICAgICAgICAgICAgY29sb3I6ICR0ZXJ0aWFyeUNvbG9yO1xyXG5cclxuICAgICAgICAgICAgYSB7XHJcbiAgICAgICAgICAgICAgY29sb3I6ICR0ZXJ0aWFyeUNvbG9yO1xyXG5cclxuICAgICAgICAgICAgICAmOmhvdmVyIHtcclxuICAgICAgICAgICAgICAgIGNvbG9yOiAkbWFpbkNvbG9yO1xyXG4gICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgLmRvd25sb2Fkcy13cmFwIHtcclxuICAgICAgICAgICAgICAuZG93bmxvYWQtaWNvbiB7XHJcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoJy9NZWRpYS9pY29ucy9jYXJ0ZWxsYV9hcmFuY2lvbmUuc3ZnJyk7XHJcbiAgICAgICAgICAgICAgICBcclxuICAgICAgICAgICAgICAgICYuaWNvbi10b29sIHtcclxuICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKCcvYXNzZXRzL2Nzcy9pbWcvd2ViLXRvb2wtYXJhbmNpb25lLnN2ZycpO1xyXG4gICAgICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgICAgICYuaWNvbi10b29sLXNtYXJ0cGhvbmUge1xyXG4gICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoJy9hc3NldHMvY3NzL2ltZy93ZWItdG9vbC1zbWFydHBob25lLWFyYW5jaW9uZS5zdmcnKTtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICAgIGEge1xyXG4gICAgICAgICAgICAgICAgY29sb3I6ICRtYWluQ29sb3I7XHJcblxyXG4gICAgICAgICAgICAgICAgJjpob3ZlciB7XHJcbiAgICAgICAgICAgICAgICAgIGNvbG9yOiAkdGVydGlhcnlDb2xvcjtcclxuXHJcbiAgICAgICAgICAgICAgICAgIC5kb3dubG9hZC1pY29uIHtcclxuICAgICAgICAgICAgICAgICAgICAmOjphZnRlciB7XHJcbiAgICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoJy9NZWRpYS9pY29ucy9jYXJ0ZWxsYV9ncmlnaW8uc3ZnJyk7XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgICAgICAgICAmLmljb24tdG9vbCB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAmOjphZnRlciB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCgnL2Fzc2V0cy9jc3MvaW1nL3dlYi10b29sLWdyaWdpby5zdmcnKTsgXHJcbiAgICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgICAgICAgICAmLmljb24tdG9vbC1zbWFydHBob25lIHtcclxuICAgICAgICAgICAgICAgICAgICAgICY6OmFmdGVyIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKCcvYXNzZXRzL2Nzcy9pbWcvd2ViLXRvb2wtc21hcnRwaG9uZS1ncmlnaW8uc3ZnJyk7XHJcbiAgICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICAmLnRhbGwgLnByb2R1Y3QgLnByb2R1Y3QtYmcge1xyXG4gICAgcGFkZGluZy1ib3R0b206IDk5LjYzNSU7XHJcbiAgfVxyXG5cclxuICAmLnRhbGwteHMgLnByb2R1Y3QgLnByb2R1Y3QtYmcge1xyXG4gICAgQGluY2x1ZGUgbXF1KHNtKSB7XHJcbiAgICAgIHBhZGRpbmctYm90dG9tOiAyMDguNzUlO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgJi50YWxsZXN0LXhzIC5wcm9kdWN0IC5wcm9kdWN0LWJnLCAmLnRhbGxlc3QteHMuYWx0IC5wcm9kdWN0IC5wcm9kdWN0LWJnIHtcclxuICAgIEBpbmNsdWRlIG1xdShzbSkge1xyXG4gICAgICBwYWRkaW5nLWJvdHRvbTogMzIxLjU2MjUlO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgJi53aWRlLXNtIC5wcm9kdWN0IC5ib3gge1xyXG4gICAgQGluY2x1ZGUgbXEoc20sIG1kKSB7XHJcbiAgICAgIHBhZGRpbmctbGVmdDogNHJlbTtcclxuICAgICAgcGFkZGluZy1yaWdodDogNHJlbTtcclxuICAgIH1cclxuICB9XHJcbiAgXHJcbiAgJi5jb250YXR0aSB7XHJcbiAgICAucHJvZHVjdCAucHJvZHVjdC1iZyB7XHJcbiAgICAgIHBhZGRpbmctYm90dG9tOiA5Ny40MjM0JTtcclxuICAgICAgXHJcbiAgICAgIEBpbmNsdWRlIG1xdShzbSkge1xyXG4gICAgICAgIHBhZGRpbmctYm90dG9tOiAxNDUuNDIzNCU7XHJcbiAgICAgIH1cclxuICAgICAgXHJcbiAgICAgIC5ib3gge1xyXG4gICAgICAgIG1pbi1oZWlnaHQ6IDYwJTtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxuICBcclxuICAmLmNvbnRhdHRpLXRyaXBsZXRzIHtcclxuICAgIC5wcm9kdWN0IC5wcm9kdWN0LWJnIHtcclxuICAgICAgQGluY2x1ZGUgbXEoeGxnKSB7XHJcbiAgICAgICAgcGFkZGluZy1ib3R0b206IDE3NS40MjMlO1xyXG4gICAgICB9XHJcbiAgICAgIFxyXG4gICAgICBAaW5jbHVkZSBtcShtZCwgeGxnKSB7XHJcbiAgICAgICAgcGFkZGluZy1ib3R0b206IDE5NS40MjMlO1xyXG4gICAgICB9XHJcblxyXG4gICAgICAuYm94IHtcclxuICAgICAgICBtaW4taGVpZ2h0OiA2MCU7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcbn0iLCIuc2VjdGlvbi1saW5rLWJhciB7XHJcbiAgYmFja2dyb3VuZC1jb2xvcjogJGRlZW1waGFzaXplZENvbG9yMjtcclxuICBjb2xvcjogI2ZmZjtcclxuICBwYWRkaW5nOiA0LjE4NzVyZW0gMCAzLjc1cmVtO1xyXG4gIHRleHQtYWxpZ246IGNlbnRlcjtcclxuXHJcbiAgaDIge1xyXG4gICAgY29sb3I6ICRtYWluQ29sb3I7XHJcbiAgICBtYXJnaW46IDA7XHJcblxyXG4gICAgJiArIC5saW5rcyB7XHJcbiAgICAgIG1hcmdpbjogMy43NXJlbSAwIDA7XHJcbiAgICB9XHJcblxyXG4gICAgJiArIHAge1xyXG4gICAgICBtYXJnaW46IDEuODc1cmVtIDAgMDtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIC5saW5rcyB7XHJcbiAgICBhIHtcclxuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG4gICAgICBjb2xvcjogJHNlY29uZGFyeUNvbG9yO1xyXG4gICAgICBmb250LXNpemU6IDIuMTg3NXJlbTtcclxuXHJcbiAgICAgICY6Zmlyc3Qtb2YtdHlwZSB7XHJcbiAgICAgICAgbWFyZ2luOiAwIDkuMzc1cmVtIDAgMDtcclxuICAgICAgfVxyXG5cclxuICAgICAgJjpsYXN0LW9mLXR5cGUge1xyXG4gICAgICAgIG1hcmdpbjogMCAwIDAgOS4zNzVyZW07XHJcbiAgICAgIH1cclxuXHJcbiAgICAgIEBpbmNsdWRlIG1xKHNtLCBtZCkge1xyXG4gICAgICAgICY6Zmlyc3Qtb2YtdHlwZSB7XHJcbiAgICAgICAgICBtYXJnaW46IDAgNXJlbSAwIDA7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAmOmxhc3Qtb2YtdHlwZSB7XHJcbiAgICAgICAgICBtYXJnaW46IDAgMCAwIDVyZW07XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcblxyXG4gICAgICBAaW5jbHVkZSBtcXUoc20pIHtcclxuICAgICAgICBkaXNwbGF5OiBibG9jaztcclxuXHJcbiAgICAgICAgJjpmaXJzdC1vZi10eXBlIHtcclxuICAgICAgICAgIG1hcmdpbjogMCAwIDEuNTYyNXJlbTtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgICY6bGFzdC1vZi10eXBlIHtcclxuICAgICAgICAgIG1hcmdpbjogMS41NjI1cmVtIDAgMDtcclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuXHJcbiAgICAgICY6aG92ZXIge1xyXG4gICAgICAgIGNvbG9yOiAkbWFpbkNvbG9yO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBwIHtcclxuICAgIGNvbG9yOiAkdGVydGlhcnlDb2xvcjtcclxuICAgIGZvbnQtc2l6ZTogMS41NjI1cmVtO1xyXG5cclxuICAgIC5oaWdobGlnaHQsIGEge1xyXG4gICAgICBjb2xvcjogJG1haW5Db2xvcjtcclxuICAgIH1cclxuXHJcbiAgICAuaGlnaGxpZ2h0IHtcclxuICAgICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcclxuICAgIH1cclxuICB9XHJcbn0iLCIuc2VjdGlvbi1kdWFsLXByb21vIHtcclxuICBwYWRkaW5nLXRvcDogNC4xMjVyZW07XHJcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xyXG5cclxuICBAaW5jbHVkZSBtcXUobWQpIHtcclxuICAgIC5vdXRlckNvbnRhaW5lciB7XHJcbiAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgQGluY2x1ZGUgbXF1KHNtKSB7XHJcbiAgICBwYWRkaW5nLXRvcDogMi42ODc1cmVtO1xyXG4gIH1cclxuXHJcbiAgaDIge1xyXG4gICAgY29sb3I6ICRtYWluQ29sb3I7XHJcbiAgICBtYXJnaW46IDAgMCAzLjc1cmVtO1xyXG5cclxuICAgIEBpbmNsdWRlIG1xKHNtLCBtZCkge1xyXG4gICAgICBtYXJnaW46IDAgMCAyLjg3NXJlbTtcclxuICAgIH1cclxuICAgIEBpbmNsdWRlIG1xdShzbSkge1xyXG4gICAgICBtYXJnaW46IDAgMCAyLjVyZW07XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICAuZHVhbC1wcm9tb3Mge1xyXG4gICAgZGlzcGxheTogZmxleDtcclxuXHJcbiAgICBAaW5jbHVkZSBtcXUobWQpIHtcclxuICAgICAgZmxleC13cmFwOiB3cmFwO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgLnByb21vIHtcclxuICAgIGZsZXg6IDEgMSA1MCU7XHJcblxyXG4gICAgQGluY2x1ZGUgbXF1KG1kKSB7XHJcbiAgICAgIGZsZXg6IDEgMSAxMDAlO1xyXG4gICAgfVxyXG5cclxuICAgIC5wcm9tby1iZyB7XHJcbiAgICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XHJcbiAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IDUwJSA1MCU7XHJcbiAgICAgIGJhY2tncm91bmQtc2l6ZTogY292ZXI7XHJcbiAgICAgIHBhZGRpbmctYm90dG9tOiA0Ni44MzclO1xyXG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcblxyXG4gICAgICBAaW5jbHVkZSBtcShzbSwgbWQpIHtcclxuICAgICAgICBwYWRkaW5nLWJvdHRvbTogNTAuMTMlO1xyXG4gICAgICB9XHJcbiAgICAgIEBpbmNsdWRlIG1xdShzbSkge1xyXG4gICAgICAgIHBhZGRpbmctYm90dG9tOiAxMTAuOTM3NSU7XHJcbiAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAuYm94IHtcclxuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgICBib3R0b206IDA7XHJcbiAgICAgIGxlZnQ6IDA7XHJcbiAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICBwYWRkaW5nOiAzLjE4NzVyZW0gMnJlbSAzLjgxMjVyZW07XHJcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMjU1LDI1NSwyNTUsLjkpO1xyXG5cclxuICAgICAgQGluY2x1ZGUgbXF1KHNtKSB7XHJcbiAgICAgICAgcGFkZGluZzogMi42ODc1cmVtIDFyZW0gMi41NjI1cmVtO1xyXG4gICAgICB9XHJcblxyXG4gICAgICBhIHtcclxuICAgICAgICBmb250LXNpemU6IDIuODEyNXJlbTtcclxuICAgICAgICBjb2xvcjogJHRlcnRpYXJ5Q29sb3I7XHJcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG5cclxuICAgICAgICBAaW5jbHVkZSBtcXUoc20pIHtcclxuICAgICAgICAgIGZvbnQtc2l6ZTogMi4xODc1cmVtO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgJjpob3ZlciB7XHJcbiAgICAgICAgICBjb2xvcjogJG1haW5Db2xvcjtcclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAmOm50aC1vZi10eXBlKDJuKSB7XHJcbiAgICAgIC5ib3gge1xyXG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMjIyLDIyMiwyMjIsLjkpO1xyXG5cclxuICAgICAgICBhIHtcclxuICAgICAgICAgIGNvbG9yOiAjZmZmO1xyXG5cclxuICAgICAgICAgICY6aG92ZXIge1xyXG4gICAgICAgICAgICBjb2xvcjogJG1haW5Db2xvcjtcclxuICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcblxyXG59IiwiLnNlY3Rpb24tcXVhZC1ib3hlcyB7XHJcblxyXG4gIEBpbmNsdWRlIG1xdShtZCkge1xyXG4gICAgLm91dGVyQ29udGFpbmVyIHtcclxuICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICAucXVhZC1ib3hlcyB7XHJcbiAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgZmxleC13cmFwOiB3cmFwO1xyXG5cclxuICAgIEBpbmNsdWRlIG1xdShtZCkge1xyXG4gICAgICA+ICoge1xyXG4gICAgICAgICY6bnRoLWNoaWxkKDEpIHtcclxuICAgICAgICAgIG9yZGVyOiAxO1xyXG4gICAgICAgIH1cclxuICAgICAgICAmOm50aC1jaGlsZCgyKSB7XHJcbiAgICAgICAgICBvcmRlcjogNDtcclxuICAgICAgICB9XHJcbiAgICAgICAgJjpudGgtY2hpbGQoMykge1xyXG4gICAgICAgICAgb3JkZXI6IDI7XHJcbiAgICAgICAgfVxyXG4gICAgICAgICY6bnRoLWNoaWxkKDQpIHtcclxuICAgICAgICAgIG9yZGVyOiAzO1xyXG4gICAgICAgIH1cclxuICAgICAgICAmOm50aC1jaGlsZCg1KSB7XHJcbiAgICAgICAgICBvcmRlcjogNTtcclxuICAgICAgICB9XHJcbiAgICAgICAgJjpudGgtY2hpbGQoNikge1xyXG4gICAgICAgICAgb3JkZXI6IDY7XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICAuaW1hZ2UtaG9sZGVyIHtcclxuICAgIGZsZXg6IDIgMiA1MCU7XHJcblxyXG4gICAgQGluY2x1ZGUgbXEoc20sIG1kKSB7XHJcbiAgICAgIGZsZXg6IDIgMiAxMDAlO1xyXG4gICAgfVxyXG5cclxuICAgIC5pbWFnZSB7XHJcbiAgICAgIHBhZGRpbmctYm90dG9tOiA1Mi4zMTE0JTtcclxuICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogNTAlIDUwJTtcclxuICAgICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcclxuICAgICAgYmFja2dyb3VuZC1zaXplOiBjb3ZlcjtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIC5ib3gtd3JhcCB7XHJcbiAgICBmbGV4OiAxIDEgMjUlO1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGRlZW1waGFzaXplZENvbG9yMjtcclxuICAgIGNvbG9yOiAkdGVydGlhcnlDb2xvcjtcclxuXHJcbiAgICBAaW5jbHVkZSBtcShzbSwgbWQpIHtcclxuICAgICAgZmxleDogMSAxIDUwJTtcclxuICAgIH1cclxuXHJcbiAgICBAaW5jbHVkZSBtcXUoc20pIHtcclxuICAgICAgZmxleDogMSAxIDEwMCU7XHJcbiAgICB9XHJcbiAgICBcclxuICAgIGEge1xyXG4gICAgICBjb2xvcjogJHRlcnRpYXJ5Q29sb3I7XHJcbiAgICB9XHJcblxyXG4gICAgJjpudGgtY2hpbGQoMm4pIHtcclxuICAgICAgYmFja2dyb3VuZC1jb2xvcjogJG1haW5Db2xvcjtcclxuICAgICAgY29sb3I6ICNmZmY7XHJcbiAgICAgIGEge1xyXG4gICAgICAgIGNvbG9yOiAjZmZmO1xyXG4gICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgLmJveCB7XHJcbiAgICAgIHBhZGRpbmc6IDMuNzVyZW0gNC4xMjVyZW0gMi41cmVtIDMuODc1cmVtO1xyXG5cclxuICAgICAgQGluY2x1ZGUgbXEoc20sIG1kKSB7XHJcbiAgICAgICAgcGFkZGluZzogMy43NXJlbSAzLjkzNzVyZW07XHJcbiAgICAgIH1cclxuXHJcbiAgICAgIEBpbmNsdWRlIG1xdShzbSkge1xyXG4gICAgICAgIHBhZGRpbmc6IDEuODc1cmVtIDFyZW07XHJcbiAgICAgIH1cclxuXHJcbiAgICAgIHAge1xyXG4gICAgICAgIGZvbnQtc2l6ZTogMS44NzVyZW07XHJcblxyXG4gICAgICAgICYgKyBwIHtcclxuICAgICAgICAgIG1hcmdpbi10b3A6IDIuNXJlbTtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgICYuZGlzY2xhaW1lciB7XHJcbiAgICAgICAgICBmb250LXNpemU6IDEuNTYyNXJlbTtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgICYgKyAuYXJyb3ctbGluayB7XHJcbiAgICAgICAgICBtYXJnaW4tdG9wOiAyLjVyZW07XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcblxyXG4gICAgICAuYXJyb3ctbGluayB7XHJcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG4gICAgICAgIGZvbnQtc2l6ZTogMS44NzVyZW07XHJcbiAgICAgICAgY29sb3I6ICRtYWluQ29sb3I7XHJcblxyXG4gICAgICAgICY6aG92ZXIge1xyXG4gICAgICAgICAgY29sb3I6ICR0ZXJ0aWFyeUNvbG9yO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgc3BhbiB7XHJcbiAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcbiAgICAgICAgICBmb250LXNpemU6IDEuNXJlbTtcclxuICAgICAgICAgIGxpbmUtaGVpZ2h0OiAxZW07XHJcbiAgICAgICAgICBtYXJnaW46IDAgMCAwIDAuNzVyZW07XHJcbiAgICAgICAgICB2ZXJ0aWNhbC1hbGlnbjogYm90dG9tO1xyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxufSIsIi5zZWN0aW9uLWNhbGN1bGF0b3Ige1xyXG5cclxuICAudGV4dC1jZW50ZXIge1xyXG4gICAgcGFkZGluZzogMi44MTI1cmVtIDAgMi42ODc1cmVtO1xyXG4gICAgXHJcbiAgICAmICsgLmJnLWJhciB7XHJcbiAgICAgIC8vIGZvciBleHBhbmRhYmxlIGNhbGNzLi4uXHJcbiAgICAgIGRpc3BsYXk6IG5vbmU7XHJcbiAgICB9XHJcbiAgfVxyXG4gIC5oMiB7XHJcbiAgICBjb2xvcjogJG1haW5Db2xvcjtcclxuXHJcbiAgICAmOmhvdmVyIHtcclxuICAgICAgY29sb3I6ICR0ZXJ0aWFyeUNvbG9yO1xyXG4gICAgfVxyXG5cclxuICAgIHNwYW4ge1xyXG4gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcbiAgICAgIGZvbnQtc2l6ZTogMS41cmVtO1xyXG4gICAgICBtYXJnaW46IDAgMCAwIDEuMjVyZW07XHJcbiAgICAgIHRyYW5zZm9ybTogcm90YXRlKDE4MGRlZyk7XHJcbiAgICAgIHRyYW5zaXRpb246IHRyYW5zZm9ybSAuM3MgZWFzZS1pbi1vdXQgMHM7XHJcbiAgICB9XHJcbiAgICBcclxuICAgICYub3BlbiB7XHJcbiAgICAgIHNwYW4ge1xyXG4gICAgICAgIHRyYW5zZm9ybTogcm90YXRlKDApO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICAuYmctYmFyIHtcclxuICAgIGJhY2tncm91bmQtY29sb3I6ICRkZWVtcGhhc2l6ZWRDb2xvcjI7XHJcbiAgICBwYWRkaW5nOiAzLjc1cmVtIDAgNC44MTI1cmVtO1xyXG4gIH1cclxuICBcclxuICBcclxuXHJcbiAgLmNhbGN1bGF0b3ItbWFpbiB7XHJcbiAgICBkaXNwbGF5OiBmbGV4O1xyXG5cclxuICAgIEBpbmNsdWRlIG1xdShtZCkge1xyXG4gICAgICBmbGV4LXdyYXA6IHdyYXA7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICAuZGV0YWlscy13cmFwIHtcclxuICAgIGZsZXg6IDEgMSAzMyU7XHJcblxyXG4gICAgQGluY2x1ZGUgbXF1KG1kKSB7XHJcbiAgICAgIGZsZXg6IDEgMSAxMDAlO1xyXG4gICAgfVxyXG5cclxuICAgIC5jYWxjdWxhdG9yLWRldGFpbHMge1xyXG4gICAgICBwYWRkaW5nOiAwIDQuMDYyNXJlbSAwIDA7XHJcblxyXG4gICAgICBAaW5jbHVkZSBtcXUobWQpIHtcclxuICAgICAgICBwYWRkaW5nOiAwO1xyXG4gICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgLmV4YW1wbGUtaGVhZCB7XHJcbiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuICAgICAgZm9udC1zaXplOiAxLjI1cmVtO1xyXG4gICAgICBwYWRkaW5nOiAwLjc1cmVtIDEuODc1cmVtIDAuODc1cmVtIDEuOTM3NXJlbTtcclxuICAgICAgY29sb3I6ICRtYWluQ29sb3I7XHJcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmY7XHJcbiAgICAgIG1hcmdpbjogMCAwIDIuNXJlbTtcclxuXHJcbiAgICAgIEBpbmNsdWRlIG1xKHNtLG1kKSB7XHJcbiAgICAgICAgcGFkZGluZy1yaWdodDogNy41cmVtO1xyXG4gICAgICB9XHJcblxyXG4gICAgICBAaW5jbHVkZSBtcXUoc20pIHtcclxuICAgICAgICBwYWRkaW5nOiAwLjc1cmVtIDFyZW0gMC44NzVyZW07XHJcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xyXG4gICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgaDIge1xyXG4gICAgIGNvbG9yOiAkbWFpbkNvbG9yO1xyXG4gICAgICBtYXJnaW46IDAgMCAyLjVyZW07XHJcbiAgICB9XHJcblxyXG4gICAgLmV4YW1wbGVzIHtcclxuICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgZmxleC13cmFwOiB3cmFwO1xyXG5cclxuICAgICAgQGluY2x1ZGUgbXEoc20sbWQpIHtcclxuICAgICAgICBmbGV4LXdyYXA6IG5vd3JhcDtcclxuICAgICAgICBtYXJnaW4tYm90dG9tOiAzLjc1cmVtO1xyXG4gICAgICB9XHJcblxyXG4gICAgICBAaW5jbHVkZSBtcXUoc20pIHtcclxuICAgICAgICBtYXJnaW4tYm90dG9tOiAxLjEyNXJlbTtcclxuICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIC5leGFtcGxlLXdyYXAge1xyXG4gICAgICBmbGV4OiAxIDEgMTAwJTtcclxuXHJcbiAgICAgIEBpbmNsdWRlIG1xKHNtLG1kKSB7XHJcbiAgICAgICAgZmxleDogMSAxIDUwJTtcclxuICAgICAgICBib3JkZXItcmlnaHQ6IDFweCBzb2xpZCAkZGVlbXBoYXNpemVkQ29sb3I7XHJcbiAgICAgIH1cclxuXHJcbiAgICAgIC5leGFtcGxlIHtcclxuICAgICAgICBib3JkZXI6IDA7XHJcbiAgICAgICAgYm9yZGVyLXRvcDogMnB4IHNvbGlkICRkZWVtcGhhc2l6ZWRDb2xvcjtcclxuICAgICAgICBwYWRkaW5nOiAyLjVyZW0gMDtcclxuXHJcbiAgICAgICAgQGluY2x1ZGUgbXEoc20sbWQpIHtcclxuICAgICAgICAgIHBhZGRpbmc6IDAgMS4yNXJlbSAwIDA7XHJcbiAgICAgICAgICBib3JkZXItdG9wOiAwO1xyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG5cclxuICAgICAgJjpsYXN0LWNoaWxkIHtcclxuICAgICAgICAuZXhhbXBsZSB7XHJcbiAgICAgICAgICBwYWRkaW5nLWJvdHRvbTogMDtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIEBpbmNsdWRlIG1xKHNtLG1kKSB7XHJcbiAgICAgICAgICBib3JkZXItbGVmdDogMXB4IHNvbGlkICRkZWVtcGhhc2l6ZWRDb2xvcjtcclxuICAgICAgICAgIGJvcmRlci1yaWdodDogMDtcclxuXHJcbiAgICAgICAgICAuZXhhbXBsZSB7XHJcbiAgICAgICAgICAgIHBhZGRpbmc6IDAgMCAwIDEuMjVyZW07XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcblxyXG4gICAgICBwIHtcclxuICAgICAgICBmb250LXNpemU6IDEuNTYyNXJlbTtcclxuICAgICAgICBjb2xvcjogJGRlZW1waGFzaXplZENvbG9yO1xyXG5cclxuICAgICAgICAmOm5vdCgudmFsdWUpIHtcclxuICAgICAgICAgIG1hcmdpbjogMCAwIDIuMTg3NXJlbTtcclxuXHJcbiAgICAgICAgICBAaW5jbHVkZSBtcShzbSxtZCkge1xyXG4gICAgICAgICAgICBtaW4taGVpZ2h0OiAyLjNlbTtcclxuICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgJi52YWx1ZSB7XHJcbiAgICAgICAgICBjb2xvcjogJG1haW5Db2xvcjtcclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcblxyXG5cclxuXHJcbiAgLmZvcm0td3JhcCB7XHJcbiAgICBmbGV4OiAyIDIgNjYlO1xyXG4gIH1cclxuXHJcbiAgLmNhbGN1bGF0b3ItZm9ybS1pbnB1dHMge1xyXG4gICAgZGlzcGxheTogZmxleDtcclxuICAgIGZsZXgtd3JhcDogd3JhcDtcclxuICB9XHJcblxyXG4gIC5jYWxjdWxhdGlvbnMtaW5wdXRzLXdyYXAge1xyXG4gICAgZmxleDogMSAxIDUwJTtcclxuICAgIG1hcmdpbjogMDtcclxuXHJcbiAgICBAaW5jbHVkZSBtcXUoc20pIHtcclxuICAgICAgZmxleDogMSAxIDEwMCU7XHJcbiAgICB9XHJcblxyXG4gICAgaW5wdXQge1xyXG4gICAgICBkaXNwbGF5OiBibG9jaztcclxuICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xyXG4gICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgYm9yZGVyOiAwO1xyXG4gICAgICBwYWRkaW5nOiAxLjQzNzVyZW0gMXJlbSAxLjc1cmVtO1xyXG4gICAgICBtYXJnaW4tYm90dG9tOiAxLjU2MjVyZW07XHJcbiAgICB9XHJcblxyXG4gICAgLmNhbGN1bGF0aW9ucyB7XHJcbiAgICAgIHBhZGRpbmc6IDAgMCAwIDAuOTA2MjVyZW07XHJcblxyXG4gICAgICBAaW5jbHVkZSBtcXUoc20pIHtcclxuICAgICAgICBwYWRkaW5nOiAwO1xyXG4gICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgJjpmaXJzdC1vZi10eXBlIHtcclxuICAgICAgLmNhbGN1bGF0aW9ucyB7XHJcbiAgICAgICAgcGFkZGluZzogMCAwLjkwNjI1cmVtIDAgMDtcclxuXHJcbiAgICAgICAgQGluY2x1ZGUgbXF1KHNtKSB7XHJcbiAgICAgICAgICBwYWRkaW5nOiAwO1xyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxuICBcclxuICAuY2FsY3VsYXRvci1mb3JtIHtcclxuICAgIGRpc3BsYXk6IGZsZXg7XHJcblxyXG4gICAgQGluY2x1ZGUgbXF1KHNtKSB7XHJcbiAgICAgIGZsZXgtd3JhcDogd3JhcDtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIC5jYWxjdWxhdGlvbnMtd3JhcCB7XHJcbiAgICBtYXgtd2lkdGg6IDUwJTtcclxuICAgIGZsZXg6IDEgMCA1MCU7XHJcbiAgICBtYXJnaW46IDAgMCAxLjU2MjVyZW07IFxyXG5cclxuICAgIEBpbmNsdWRlIG1xdShzbSkge1xyXG4gICAgICBmbGV4OiAxIDEgMTAwJTtcclxuICAgICAgbWF4LXdpZHRoOiAxMDAlO1xyXG4gICAgfVxyXG4gICAgXHJcbiAgICAuY2FsY3VsYXRpb25zIHtcclxuICAgICAgcGFkZGluZzogMCAwIDAgMC45MDYyNXJlbTtcclxuICAgICAgaGVpZ2h0OiAxMDAlO1xyXG4gICAgICBtaW4taGVpZ2h0OiAxMDAlO1xyXG5cclxuICAgICAgQGluY2x1ZGUgbXF1KHNtKSB7XHJcbiAgICAgICAgcGFkZGluZzogMDtcclxuICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgICY6Zmlyc3Qtb2YtdHlwZSB7XHJcbiAgICAgIC5jYWxjdWxhdGlvbnMge1xyXG4gICAgICAgIHBhZGRpbmc6IDAgMC45MDYyNXJlbSAwIDA7XHJcblxyXG4gICAgICAgIEBpbmNsdWRlIG1xdShzbSkge1xyXG4gICAgICAgICAgcGFkZGluZzogMDtcclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAuY2FsY3VsYXRpb25zLWJveCB7XHJcbiAgICAgIHBhZGRpbmc6IDMuMTI1cmVtIDFyZW0gMy43NXJlbTtcclxuICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjtcclxuICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xyXG4gICAgICBoZWlnaHQ6IDEwMCU7XHJcbiAgICAgIG1pbi1oZWlnaHQ6IDEwMCU7XHJcblxyXG4gICAgICAubmFtZSB7XHJcbiAgICAgICAgZm9udC1zaXplOiAxLjg3NXJlbTtcclxuICAgICAgICBjb2xvcjogJG1haW5Db2xvcjtcclxuICAgICAgICBtYXJnaW46IDAgMCAzLjEyNXJlbTtcclxuICAgICAgfVxyXG5cclxuICAgICAgLnZhbHVlLXdyYXAge1xyXG4gICAgICAgICY6bm90KDpsYXN0LWNoaWxkKSB7XHJcbiAgICAgICAgICBtYXJnaW4tYm90dG9tOiAzLjEyNXJlbTtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIC52YWx1ZSB7XHJcbiAgICAgICAgICBkaXNwbGF5OiBibG9jaztcclxuICAgICAgICAgIGZvbnQtc2l6ZTogMi44MTI1cmVtO1xyXG4gICAgICAgICAgY29sb3I6ICRtYWluQ29sb3I7XHJcbiAgICAgICAgICBtYXJnaW4tYm90dG9tOiAwLjkzNzVyZW07XHJcbiAgICAgICAgfVxyXG4gICAgICAgIC52YWx1ZS1kZXNjIHtcclxuICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcclxuICAgICAgICAgIGZvbnQtc2l6ZTogMS4yNXJlbTtcclxuICAgICAgICAgIGNvbG9yOiAkZGVlbXBoYXNpemVkQ29sb3I7XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBidXR0b24ge1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogJG1haW5Db2xvcjtcclxuICAgIGNvbG9yOiAjZmZmO1xyXG4gICAgZm9udC1zaXplOiAxLjU2MjVyZW07XHJcbiAgICBib3JkZXI6IDA7XHJcbiAgICBkaXNwbGF5OiBibG9jaztcclxuICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xyXG4gICAgcGFkZGluZzogMC45Mzc1cmVtIDFyZW0gMXJlbTtcclxuICAgIGN1cnNvcjogcG9pbnRlcjtcclxuICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgLjNzIGVhc2UtaW4tb3V0IDBzO1xyXG5cclxuICAgIHNwYW4ge1xyXG4gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcbiAgICAgIGZvbnQtc2l6ZTogMS4yNXJlbTtcclxuICAgICAgbWFyZ2luOiAwIDAgMCAwLjc1cmVtO1xyXG4gICAgfVxyXG5cclxuICAgICY6aG92ZXIge1xyXG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkdGVydGlhcnlDb2xvcjtcclxuICAgIH1cclxuICB9XHJcbn0iLCIuc2VjdGlvbi1zaW5nbGUtcHJvZHVjdCB7XHJcblxyXG4gICAgLm91dGVyQ29udGFpbmVyIHtcclxuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICB9XHJcblxyXG4gICAgQGluY2x1ZGUgbXF1KG1kKSB7XHJcbiAgICAgICAgLm91dGVyQ29udGFpbmVyIHtcclxuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIC5wcm9kdWN0LXdyYXAge1xyXG4gICAgICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XHJcbiAgICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogNTAlIDUwJTtcclxuICAgICAgICBiYWNrZ3JvdW5kLXNpemU6IGNvdmVyO1xyXG4gICAgICAgIHBhZGRpbmctYm90dG9tOiAzNi40OTYzNTAzNjQ5NjM1JTtcclxuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICAgICAgei1pbmRleDogMTtcclxuXHJcbiAgICAgICAgQGluY2x1ZGUgbXEoc20sIG1kKSB7XHJcbiAgICAgICAgICAgIHBhZGRpbmctYm90dG9tOiA3MS4wOTM3NSU7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICBAaW5jbHVkZSBtcXUoc20pIHtcclxuICAgICAgICAgICAgcGFkZGluZy1ib3R0b206IDE3MS44NzUlO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAucHJvZHVjdC1iZyB7XHJcbiAgICAgICAgZm9udC1zaXplOiAwO1xyXG4gICAgICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XHJcbiAgICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogNTAlIDUwJTtcclxuICAgICAgICBiYWNrZ3JvdW5kLXNpemU6IGNvdmVyO1xyXG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgICAgICB0b3A6IDA7XHJcbiAgICAgICAgYm90dG9tOiAwO1xyXG4gICAgICAgIGxlZnQ6IDA7XHJcbiAgICAgICAgcmlnaHQ6IDA7XHJcbiAgICB9XHJcblxyXG4gICAgJi50YWxsLXhzIC5wcm9kdWN0LXdyYXAge1xyXG4gICAgICAgIEBpbmNsdWRlIG1xdShzbSkge1xyXG4gICAgICAgICAgICBwYWRkaW5nLWJvdHRvbTogMjQxLjU2MjUlO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAmLnRhbGwtc20gLnByb2R1Y3Qtd3JhcCB7XHJcbiAgICAgICAgQGluY2x1ZGUgbXEoc20sIG1kKSB7XHJcbiAgICAgICAgICAgIHBhZGRpbmctYm90dG9tOiAxMDQuNjg3NSU7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIC5ib3gge1xyXG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgICAgICBib3R0b206IDA7XHJcbiAgICAgICAgbGVmdDogMDtcclxuICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgICBwYWRkaW5nOiAzLjQzNzVyZW0gOC41NjI1cmVtIDMuNzVyZW07XHJcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgxOTksMjAzLDIwMywuOSk7XHJcbiAgICAgICAgY29sb3I6ICNmZmY7XHJcblxyXG4gICAgICAgIEBpbmNsdWRlIG1xKG1kLCB4eGxnKSB7XHJcbiAgICAgICAgICAgIHBhZGRpbmc6IDIuMTg3NXJlbSA1cmVtO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgQGluY2x1ZGUgbXEoc20sIG1kKSB7XHJcbiAgICAgICAgICAgIHBhZGRpbmc6IDMuNDM3NXJlbSA0cmVtIDMuNzVyZW07XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICBAaW5jbHVkZSBtcXUoc20pIHtcclxuICAgICAgICAgICAgcGFkZGluZzogMi4yNXJlbSAxcmVtIDIuNXJlbTtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIGgyIHtcclxuICAgICAgICAgICAgJi5zbWFsbC1tYXJnaW4ge1xyXG4gICAgICAgICAgICAgICAgbWFyZ2luOiAwIDAgMS4yNXJlbTtcclxuICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgQGluY2x1ZGUgbXF1KHNtKSB7XHJcbiAgICAgICAgICAgICAgICBmb250LXNpemU6IDEuNzVyZW07XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIGgzIHtcclxuICAgICAgICAgICAgbWFyZ2luOiAwIDAgMS44NzVyZW07XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICBhIHtcclxuICAgICAgICAgICAgZm9udC1zaXplOiAxLjU2MjVyZW07XHJcbiAgICAgICAgICAgIGNvbG9yOiAjZmZmO1xyXG4gICAgICAgICAgICBtYXJnaW46IDAgMCAxLjkzNzVyZW07XHJcbiAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG5cclxuICAgICAgICAgICAgJi5zbWFsbC1tYXJnaW4ge1xyXG4gICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMC44NzVyZW07XHJcbiAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgIC51ZC1hcnJvdy1yaWdodC1ncmlnaW8ge1xyXG4gICAgICAgICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiAxLjE4NzVyZW07XHJcbiAgICAgICAgICAgICAgICBsaW5lLWhlaWdodDogMWVtO1xyXG4gICAgICAgICAgICAgICAgbWFyZ2luOiAwIDAgMCAwLjc1cmVtO1xyXG4gICAgICAgICAgICAgICAgdmVydGljYWwtYWxpZ246IGJvdHRvbTtcclxuICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgJjpob3ZlciB7XHJcbiAgICAgICAgICAgICAgICBjb2xvcjogJG1haW5Db2xvcjtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgLm1hcmdpbiB7XHJcbiAgICAgICAgICAgIG1hcmdpbjogMS44NzVyZW0gMDtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIC51cHBlcmNhc2Uge1xyXG4gICAgICAgICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgLmRvd25sb2Fkcy13cmFwIHtcclxuXHJcbiAgICAgICAgICAgIC5kb3dubG9hZC1pY29uIHtcclxuICAgICAgICAgICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCgnL01lZGlhL2ljb25zL2NhcnRlbGxhX2JpYW5jby5zdmcnKTtcclxuXHJcbiAgICAgICAgICAgICAgICAmLmljb24tdG9vbCB7XHJcbiAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKCcvYXNzZXRzL2Nzcy9pbWcvd2ViLXRvb2wtYmlhbmNvLnN2ZycpO1xyXG4gICAgICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgICAgICYuaWNvbi10b29sLXNtYXJ0cGhvbmUge1xyXG4gICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCgnL2Fzc2V0cy9jc3MvaW1nL3dlYi10b29sLXNtYXJ0cGhvbmUtYmlhbmNvLnN2ZycpO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIFxyXG4gICAgICAgICAgICBhIHtcclxuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMS4wNjI1cmVtO1xyXG4gICAgICAgICAgICAgICAgbWFyZ2luOiAwO1xyXG4gICAgICAgICAgICAgICAgXHJcbiAgICAgICAgICAgICAgICAmOmhvdmVyIHtcclxuICAgICAgICAgICAgICAgICAgICAuZG93bmxvYWQtaWNvbiB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICY6OmFmdGVyIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCgnL01lZGlhL2ljb25zL2NhcnRlbGxhX2FyYW5jaW9uZS5zdmcnKTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgICAgICAgICAgICAgJi5pY29uLXRvb2wge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgJjo6YWZ0ZXIge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCgnL2Fzc2V0cy9jc3MvaW1nL3dlYi10b29sLWFyYW5jaW9uZS5zdmcnKTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgICAgICAgICAgICAgJi5pY29uLXRvb2wtc21hcnRwaG9uZSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAmOjphZnRlciB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKCcvYXNzZXRzL2Nzcy9pbWcvd2ViLXRvb2wtc21hcnRwaG9uZS1hcmFuY2lvbmUuc3ZnJyk7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG5cclxuICAgICYuYWx0IHtcclxuXHJcbiAgICAgICAgLmJveCB7XHJcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMjQ1LDE0MywwLC45KTtcclxuICAgICAgICAgICAgY29sb3I6ICNmZmY7XHJcblxyXG4gICAgICAgICAgICBhIHtcclxuICAgICAgICAgICAgICAgIGNvbG9yOiAjZmZmO1xyXG5cclxuICAgICAgICAgICAgICAgICY6aG92ZXIge1xyXG4gICAgICAgICAgICAgICAgICAgIGNvbG9yOiAkdGVydGlhcnlDb2xvcjtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgLmRvd25sb2Fkcy13cmFwIHtcclxuICAgICAgICAgICAgICAgIGEge1xyXG4gICAgICAgICAgICAgICAgICAgICY6aG92ZXIge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAuZG93bmxvYWQtaWNvbiB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAmOjphZnRlciB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKCcvTWVkaWEvaWNvbnMvY2FydGVsbGFfZ3JpZ2lvLnN2ZycpO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICYuaWNvbi10b29sIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmOjphZnRlciB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCgnL2Fzc2V0cy9jc3MvaW1nL3dlYi10b29sLWdyaWdpby5zdmcnKTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgJi5pY29uLXRvb2wtc21hcnRwaG9uZSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJjo6YWZ0ZXIge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoJy9hc3NldHMvY3NzL2ltZy93ZWItdG9vbC1zbWFydHBob25lLWdyaWdpby5zdmcnKTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcbn1cclxuIiwiLnNlY3Rpb24tbW9zYWljLWJveGVzIHtcclxuXHJcbiAgICBAaW5jbHVkZSBtcXUobWQpIHtcclxuICAgICAgICAub3V0ZXJDb250YWluZXIge1xyXG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgLm1vc2FpYy1ib3hlcyB7XHJcbiAgICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgICBmbGV4LXdyYXA6IHdyYXA7XHJcbiAgICB9XHJcblxyXG4gICAgLnZlcnRpYm94LXdyYXAge1xyXG4gICAgICAgIGZsZXg6IDEgMSAxMDAlO1xyXG4gICAgICAgIHRleHQtYWxpZ246IHJpZ2h0O1xyXG5cclxuICAgICAgICAuYm94LWJnIHtcclxuICAgICAgICAgICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcclxuICAgICAgICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogNTAlIDUwJTtcclxuICAgICAgICAgICAgYmFja2dyb3VuZC1zaXplOiBjb3ZlcjtcclxuXHJcbiAgICAgICAgICAgIEBpbmNsdWRlIG1xdShtZCkge1xyXG4gICAgICAgICAgICAgICAgcGFkZGluZy10b3A6IDE4Ljc1cmVtO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAuYm94IHtcclxuICAgICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG4gICAgICAgICAgICB3aWR0aDogNTAlO1xyXG4gICAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbiAgICAgICAgICAgIGNvbG9yOiAkbWFpbkNvbG9yOyBcclxuICAgICAgICAgICAgcGFkZGluZzogMy43NXJlbSA4LjU2MjVyZW0gNC43NXJlbTtcclxuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgyNTUsMjU1LDI1NSwuOSk7XHJcblxyXG4gICAgICAgICAgICBAaW5jbHVkZSBtcShtZCwgeGxnKSB7XHJcbiAgICAgICAgICAgICAgICBwYWRkaW5nOiAzLjc1cmVtIDMuNzVyZW0gNC43NXJlbTtcclxuICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgQGluY2x1ZGUgbXF1KG1kKSB7XHJcbiAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICBAaW5jbHVkZSBtcXUoc20pIHtcclxuICAgICAgICAgICAgICAgIHBhZGRpbmc6IDEuNjI1cmVtIDFyZW0gMi4wNjI1cmVtO1xyXG4gICAgICAgICAgICB9XHJcblxyXG5cclxuXHJcbiAgICAgICAgICAgIGgyIHtcclxuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogNS4zMTI1cmVtO1xyXG4gICAgICAgICAgICAgICAgbWFyZ2luOiAwIDAgMS4xMjVyZW07XHJcbiAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgIHAge1xyXG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiAyLjVyZW07XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgLmJveC13cmFwIHtcclxuICAgICAgICBmbGV4OiAxIDEgMjUlO1xyXG5cclxuICAgICAgICBAaW5jbHVkZSBtcShzbSwgbWQpIHtcclxuICAgICAgICAgICAgZmxleDogMSAxIDUwJTtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIEBpbmNsdWRlIG1xdShzbSkge1xyXG4gICAgICAgICAgICBmbGV4OiAxIDEgMTAwJTtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIC5ib3gtYmcge1xyXG4gICAgICAgICAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xyXG4gICAgICAgICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiA1MCUgNTAlO1xyXG4gICAgICAgICAgICBiYWNrZ3JvdW5kLXNpemU6IGNvdmVyO1xyXG4gICAgICAgICAgICBwYWRkaW5nLWJvdHRvbTogOTAuMjY3NiU7XHJcbiAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuXHJcbiAgICAgICAgICAgIEBpbmNsdWRlIG1xKHNtLCBtZCkge1xyXG4gICAgICAgICAgICAgICAgcGFkZGluZy1ib3R0b206IDk2LjYxNDYlO1xyXG4gICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICBAaW5jbHVkZSBtcXUoc20pIHtcclxuICAgICAgICAgICAgICAgIHBhZGRpbmctYm90dG9tOiAxNzEuODc1JTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgLmJveCB7XHJcbiAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgICAgICAgICAgYm90dG9tOiAwO1xyXG4gICAgICAgICAgICBsZWZ0OiAwO1xyXG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgICAgICAgcGFkZGluZzogMi41cmVtIDMuNjI1cmVtO1xyXG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDI0NSwxNDMsMCwuOSk7XHJcbiAgICAgICAgICAgIG1pbi1oZWlnaHQ6IDUwJTtcclxuICAgICAgICAgICAgY29sb3I6ICNmZmY7XHJcblxyXG4gICAgICAgICAgICBAaW5jbHVkZSBtcShtZCwgeHhsZykge1xyXG4gICAgICAgICAgICAgICAgcGFkZGluZzogMi41cmVtO1xyXG4gICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICBAaW5jbHVkZSBtcShzbSwgbWQpIHtcclxuICAgICAgICAgICAgICAgIHBhZGRpbmc6IDIuNXJlbSAyLjc1cmVtO1xyXG4gICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICBAaW5jbHVkZSBtcXUoc20pIHtcclxuICAgICAgICAgICAgICAgIG1pbi1oZWlnaHQ6IDA7XHJcbiAgICAgICAgICAgICAgICBwYWRkaW5nOiAyLjI1cmVtIDFyZW0gMi41cmVtO1xyXG4gICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICBoMyB7XHJcbiAgICAgICAgICAgICAgICBmb250LXNpemU6IDMuNDM3NXJlbTtcclxuICAgICAgICAgICAgICAgIG1hcmdpbjogMCAwIDAuMjVyZW07XHJcbiAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgIHAge1xyXG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiAyLjM3NXJlbTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgJjpudGgtb2YtdHlwZSgybikge1xyXG4gICAgICAgICAgICAuYm94IHtcclxuICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMjU1LDI1NSwyNTUsLjkpO1xyXG4gICAgICAgICAgICAgICAgY29sb3I6ICRtYWluQ29sb3I7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcbn1cclxuIiwiLnNlY3Rpb24tcGRmLWRvd25sb2FkcyB7XHJcbiAgYmFja2dyb3VuZC1jb2xvcjogI0RFREVERTtcclxuICBwYWRkaW5nOiAzLjc1cmVtIDA7XHJcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG5cclxuICAuYW5jaG9yIHtcclxuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgIHRvcDogLTIuODc1cmVtO1xyXG4gIH1cclxuXHJcbiAgLnBkZi1kb3dubG9hZHMge1xyXG4gICAgZGlzcGxheTogZmxleDtcclxuICAgIGZsZXgtd3JhcDogd3JhcDtcclxuICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcclxuICB9XHJcblxyXG4gIC5wZGYtd3JhcCB7XHJcbiAgICBmbGV4OiAwIDEgNTAlO1xyXG5cclxuICAgICY6bnRoLWNoaWxkKDJuKSB7XHJcbiAgICAgIC5wZGYge1xyXG4gICAgICAgIG1hcmdpbjogMS44NzVyZW0gMCAxLjg3NXJlbSA0LjI1cmVtO1xyXG4gICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgQGluY2x1ZGUgbXF1KG1kKSB7XHJcbiAgICAgIGZsZXg6IDEgMSAxMDAlO1xyXG5cclxuICAgICAgJjpudGgtY2hpbGQoMm4pIHtcclxuICAgICAgICAucGRmIHtcclxuICAgICAgICAgIG1hcmdpbjogMS44NzVyZW0gMDtcclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcblxyXG4gIC5wZGYge1xyXG4gICAgZGlzcGxheTogZmxleDtcclxuICAgIGNvbG9yOiAkbWFpbkNvbG9yO1xyXG4gICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xyXG4gICAgYm9yZGVyOiAwO1xyXG4gICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICR0ZXJ0aWFyeUNvbG9yO1xyXG4gICAgbWFyZ2luOiAxLjg3NXJlbSA0LjI1cmVtIDEuODc1cmVtIDA7XHJcbiAgICBwYWRkaW5nOiAwIDAgMnJlbTtcclxuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuXHJcbiAgICAudGV4dCB7XHJcbiAgICAgIGZsZXg6IDEgMSA1MCU7XHJcblxyXG4gICAgICAubmFtZSB7XHJcbiAgICAgICAgbWFyZ2luOiAwIDAgMS43NXJlbTtcclxuICAgICAgfVxyXG5cclxuICAgICAgLmRhdGUge1xyXG4gICAgICAgIGNvbG9yOiAkdGVydGlhcnlDb2xvcjtcclxuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICAgICAgYm90dG9tOiAxLjE4NzVyZW07XHJcbiAgICAgICAgbGVmdDogMDtcclxuICAgICAgICByaWdodDogNXJlbTtcclxuICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIC5pY29uIHtcclxuICAgICAgZmxleDogMCAwIGF1dG87XHJcblxyXG4gICAgICAuZG93bmxvYWRzLXdyYXAge1xyXG4gICAgICAgIG1hcmdpbjogMDtcclxuICAgICAgICBwYWRkaW5nLWxlZnQ6IDAuNjI1cmVtO1xyXG4gICAgICB9XHJcblxyXG4gICAgICAuZG93bmxvYWQtaWNvbiB7XHJcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICAgICAgbWFyZ2luOiAwIGF1dG8gMCAwO1xyXG4gICAgICB9XHJcbiAgICAgIC5kb3dubG9hZC10ZXh0IHtcclxuXHJcbiAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAmOmhvdmVyIHtcclxuICAgICAgY29sb3I6ICR0ZXJ0aWFyeUNvbG9yO1xyXG5cclxuICAgICAgLmljb24ge1xyXG4gICAgICAgIC5kb3dubG9hZC1pY29uIHtcclxuICAgICAgICAgICY6OmFmdGVyIHtcclxuICAgICAgICAgICAgb3BhY2l0eTogMTtcclxuICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICBAaW5jbHVkZSBtcXUobWQpIHtcclxuICAgICAgbWFyZ2luOiAxLjg3NXJlbSAwO1xyXG4gICAgfVxyXG5cclxuICAgIEBpbmNsdWRlIG1xdShzbSkge1xyXG4gICAgICBkaXNwbGF5OiBibG9jaztcclxuICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xyXG5cclxuICAgICAgLnRleHQge1xyXG4gICAgICAgIGZsZXg6IG5vbmU7XHJcblxyXG4gICAgICAgIC5uYW1lIHtcclxuICAgICAgICAgIG1hcmdpbjogMDtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIC5kYXRlIHtcclxuICAgICAgICAgIHBvc2l0aW9uOiBzdGF0aWM7XHJcbiAgICAgICAgICBib3R0b206IGF1dG87XHJcbiAgICAgICAgICBsZWZ0OiBhdXRvO1xyXG4gICAgICAgICAgcmlnaHQ6IGF1dG87XHJcbiAgICAgICAgICBtYXJnaW46IDAgMCAwLjY4NzVyZW07XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcblxyXG4gICAgICAuaWNvbiB7XHJcbiAgICAgICAgZmxleDogbm9uZTtcclxuXHJcbiAgICAgICAgLmRvd25sb2Fkcy13cmFwIHtcclxuICAgICAgICAgIHBhZGRpbmctbGVmdDogMDtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIC5kb3dubG9hZC1pY29uIHtcclxuICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgICAgICAgbWFyZ2luOiAwIGF1dG87XHJcbiAgICAgICAgfVxyXG4gICAgICAgIC5kb3dubG9hZC10ZXh0IHtcclxuXHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICAubGlua3MtaGVhZCB7XHJcbiAgICBkaXNwbGF5OiBub25lO1xyXG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xyXG4gICAgcGFkZGluZzogMS44MTI1cmVtIDAgMy41cmVtO1xyXG5cclxuICAgIC5oMyB7XHJcbiAgICAgIGNvbG9yOiAkbWFpbkNvbG9yO1xyXG5cclxuICAgICAgJjpob3ZlciB7XHJcbiAgICAgICAgY29sb3I6ICR0ZXJ0aWFyeUNvbG9yO1xyXG4gICAgICB9XHJcblxyXG4gICAgICBzcGFuIHtcclxuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcbiAgICAgICAgZm9udC1zaXplOiAxLjVyZW07XHJcbiAgICAgICAgbWFyZ2luOiAwIDAgMCAxLjI1cmVtO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICAubGlua3Mge1xyXG4gICAgZGlzcGxheTogZmxleDtcclxuICAgIGZsZXgtd3JhcDogd3JhcDtcclxuICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcclxuICAgIG1hcmdpbjogMy41cmVtIGF1dG8gMDtcclxuXHJcbiAgICBAaW5jbHVkZSBtcXUoc20pIHtcclxuICAgICAgbWFyZ2luLXRvcDogMDtcclxuICAgIH1cclxuXHJcbiAgICAubGluay13cmFwIHtcclxuICAgICAgZmxleDogMCAxIGF1dG87XHJcblxyXG4gICAgICBAaW5jbHVkZSBtcXUoc20pIHtcclxuICAgICAgICBmbGV4OiAxIDEgMTAwJTtcclxuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbiAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICBhIHtcclxuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG4gICAgICBjb2xvcjogJHNlY29uZGFyeUNvbG9yO1xyXG4gICAgICBmb250LXNpemU6IDEuNTYyNXJlbTtcclxuXHJcbiAgICAgICY6aG92ZXIsICYuYWN0aXZlLCAmOmFjdGl2ZSB7XHJcbiAgICAgICAgY29sb3I6ICRtYWluQ29sb3I7XHJcbiAgICAgIH1cclxuXHJcbiAgICAgIEBpbmNsdWRlIG1xdShzbSkge1xyXG4gICAgICAgIG1hcmdpbi10b3A6IDEuNjI1cmVtO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG59Iiwi77u/I2Nvb2tpZU5vdGljZSB7XHJcbiAgICBkaXNwbGF5OiBub25lO1xyXG4gICAgcG9zaXRpb246IGZpeGVkO1xyXG4gICAgei1pbmRleDogMTMzOTtcclxuICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgYm90dG9tOiAwO1xyXG4gICAgbGVmdDogMDtcclxuICAgIHBhZGRpbmc6IDMwcHggMjBweDtcclxuICAgIGJhY2tncm91bmQtY29sb3I6ICM0ZTViNTk7XHJcbiAgICBjb2xvcjogI2ZmZjtcclxuICAgIGZvbnQtc2l6ZTogMTZweDtcclxuICAgIGZvbnQtd2VpZ2h0OiA0MDA7XHJcbiAgICBsaW5lLWhlaWdodDogMS41ZW07XHJcbiAgICAuY29udGFpbmVyIHtcclxuICAgICAgICBAaW5jbHVkZSBjb250YWluZXIoKTtcclxuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcblxyXG4gICAgICAgIEBpbmNsdWRlIG1xKHNtKSB7XHJcbiAgICAgICAgICAgIHBhZGRpbmctcmlnaHQ6IDEwZW0gIWltcG9ydGFudDtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIEBpbmNsdWRlIG1xdShzbSkge1xyXG4gICAgICAgICAgICBwYWRkaW5nLWJvdHRvbTogNWVtO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICB9XHJcbiAgICBhOm5vdCgjY29va2llQ2xvc2VyMikge1xyXG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuICAgICAgICBjb2xvcjogI2ZmZjtcclxuICAgICAgICBib3JkZXI6IDA7XHJcbiAgICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICNmZmY7XHJcbiAgICAgICAgLW1vei10cmFuc2l0aW9uOiBib3JkZXIgLjNzIGVhc2UtaW4tb3V0IDBzO1xyXG4gICAgICAgIC1tcy10cmFuc2l0aW9uOiBib3JkZXIgLjNzIGVhc2UtaW4tb3V0IDBzO1xyXG4gICAgICAgIC1vLXRyYW5zaXRpb246IGJvcmRlciAuM3MgZWFzZS1pbi1vdXQgMHM7XHJcbiAgICAgICAgLXdlYmtpdC10cmFuc2l0aW9uOiBib3JkZXIgLjNzIGVhc2UtaW4tb3V0IDBzO1xyXG5cclxuICAgICAgICAmOmhvdmVyLCAmOmZvY3VzIHtcclxuICAgICAgICAgICAgY29sb3I6ICNmZmY7XHJcbiAgICAgICAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCB0cmFuc3BhcmVudDtcclxuICAgICAgICB9XHJcbiAgICAgICAgJi5jbG9zZUNvb2tpZSB7XHJcbiAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgICAgICAgICAgdG9wOiAtMTVweDtcclxuICAgICAgICAgICAgcmlnaHQ6IDA7XHJcbiAgICAgICAgICAgIGJvcmRlcjogMDtcclxuICAgICAgICAgICAgJjpob3ZlciwgJjpmb2N1cyB7XHJcbiAgICAgICAgICAgICAgICBib3JkZXItYm90dG9tOiAwO1xyXG4gICAgICAgICAgICAgICAgb3BhY2l0eTogLjg7XHJcbiAgICAgICAgICAgICAgICAtbW96LXRyYW5zaXRpb246IG9wYWNpdHkgLjNzIGxpbmVhciAwcztcclxuICAgICAgICAgICAgICAgIC1tcy10cmFuc2l0aW9uOiBvcGFjaXR5IC4zcyBsaW5lYXIgMHM7XHJcbiAgICAgICAgICAgICAgICAtby10cmFuc2l0aW9uOiBvcGFjaXR5IC4zcyBsaW5lYXIgMHM7XHJcbiAgICAgICAgICAgICAgICAtd2Via2l0LXRyYW5zaXRpb246IG9wYWNpdHkgLjNzIGxpbmVhciAwcztcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIEBtZWRpYSAobWF4LXdpZHRoOiA3NjdweCkge1xyXG4gICAgICAgIGZvbnQtc2l6ZTogMTFweDtcclxuICAgIH1cclxuXHJcbiAgICAjY29va2llQ2xvc2VyMiB7XHJcblxyXG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgICAgICBkaXNwbGF5OiBibG9jaztcclxuICAgICAgICBwYWRkaW5nOiAuNzVlbSAxLjI1ZW07XHJcbiAgICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcclxuICAgICAgICBmb250LXNpemU6IDE0cHg7XHJcbiAgICAgICAgZm9udC13ZWlnaHQ6IGJvbGQ7XHJcbiAgICAgICAgY29sb3I6ICNmZmY7XHJcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2Y1OTEwMDtcclxuICAgICAgICBib3JkZXItcmFkaXVzOiAxLjVlbTtcclxuXHJcbiAgICAgICAgQGluY2x1ZGUgbXEoc20pIHtcclxuICAgICAgICAgICAgcmlnaHQ6ICRnLWd1dHRlci8yO1xyXG4gICAgICAgICAgICB0b3A6IDUwJTtcclxuICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgQGluY2x1ZGUgbXF1KHNtKSB7XHJcbiAgICAgICAgICAgIHJpZ2h0OiA1MCU7XHJcbiAgICAgICAgICAgIGJvdHRvbTogMDtcclxuICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDUwJSk7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAmOmhvdmVyIHtcclxuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjtcclxuICAgICAgICAgICAgY29sb3I6ICNmNTkxMDA7XHJcbiAgICAgICAgfVxyXG5cclxuICAgIH1cclxuXHJcbn1cclxuIiwiZm9vdGVyIHtcclxuICBmb250LWZhbWlseTogUmFsZXdheSwgYXJpYWwsIGhlbHZldGljYSwgU2Fucy1TZXJpZjtcclxuXHJcbiAgLmZvb3Rlci1saW5rcyB7XHJcbiAgICAvL2JhY2tncm91bmQtY29sb3I6ICNERURFREU7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjNEU1QjU5O1xyXG4gICAgcGFkZGluZzogMS42ODc1cmVtIDAgMS4yNXJlbTtcclxuICAgIGZvbnQtc2l6ZTogMC45Mzc1cmVtO1xyXG5cclxuICAgIEBpbmNsdWRlIG1xdShtZCkge1xyXG4gICAgICBwYWRkaW5nOiAwIDAgMi41cmVtO1xyXG4gICAgfVxyXG5cclxuICAgIGEge1xyXG4gICAgICBjb2xvcjogIzAwMDtcclxuICAgICAgdHJhbnNpdGlvbjogb3BhY2l0eSAuM3MgZWFzZS1pbi1vdXQgMHM7XHJcblxyXG4gICAgICAmOmhvdmVyIHtcclxuICAgICAgICBvcGFjaXR5OiAuNTtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgLmZvb3Rlci1wYXJ0cyB7XHJcbiAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgbWFyZ2luLWJvdHRvbTogMS4yNXJlbTtcclxuXHJcbiAgICBAaW5jbHVkZSBtcXUobWQpIHtcclxuICAgICAgZmxleC13cmFwOiB3cmFwO1xyXG4gICAgICBtYXJnaW4tYm90dG9tOiAwLjVyZW07XHJcbiAgICB9XHJcblxyXG4gICAgLmZvb3Rlci1wYXJ0IHtcclxuICAgICAgLy9mbGV4OiAxIDEgMjUlO1xyXG4gICAgICBmbGV4OiAxIDEgMzMuMzMzMyU7XHJcblxyXG4gICAgICAucGFydC13cmFwIHtcclxuICAgICAgICBwYWRkaW5nLXRvcDogMDtcclxuICAgICAgICBwYWRkaW5nLWJvdHRvbTogMC4zMTI1cmVtO1xyXG4gICAgICB9XHJcblxyXG4gICAgICAmOmZpcnN0LW9mLXR5cGUge1xyXG4gICAgICAgIC8vZmxleDogNSAxIDI1JTtcclxuICAgICAgICAucGFydC13cmFwIHtcclxuICAgICAgICAgIC8vcGFkZGluZy1yaWdodDogNS4zMTI1cmVtO1xyXG4gICAgICAgICAgcGFkZGluZy1yaWdodDogMS4yNXJlbTtcclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuXHJcbiAgICAgICY6bm90KDpmaXJzdC1vZi10eXBlKTpub3QoOmxhc3Qtb2YtdHlwZSkge1xyXG4gICAgICAgIGJvcmRlcjogMDtcclxuICAgICAgICAvL2JvcmRlci1yaWdodDogMXB4IHNvbGlkICMzZjNiMzc7XHJcbiAgICAgICAgYm9yZGVyLXJpZ2h0OiAxcHggc29saWQgIzViNjE2MDtcclxuICAgICAgICAvL2JvcmRlci1sZWZ0OiAxcHggc29saWQgIzNmM2IzNzsgXHJcbiAgICAgICAgYm9yZGVyLWxlZnQ6IDFweCBzb2xpZCAjNWI2MTYwO1xyXG5cclxuXHJcbiAgICAgICAgLnBhcnQtd3JhcCB7XHJcbiAgICAgICAgICBwYWRkaW5nLXJpZ2h0OiAxLjI1cmVtO1xyXG4gICAgICAgICAgcGFkZGluZy1sZWZ0OiAxLjI1cmVtO1xyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG5cclxuICAgICAgJjpsYXN0LW9mLXR5cGUge1xyXG4gICAgICAgIC5wYXJ0LXdyYXAge1xyXG4gICAgICAgICAgcGFkZGluZy1sZWZ0OiAxLjI1cmVtO1xyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG5cclxuICAgICAgQGluY2x1ZGUgbXEoc20sIG1kKSB7XHJcbiAgICAgICAgZmxleDogMCAxIDYwJTtcclxuICAgICAgICBtYXJnaW4tbGVmdDogMjAlO1xyXG4gICAgICAgIG1hcmdpbi1yaWdodDogMjAlO1xyXG5cclxuICAgICAgICAucGFydC13cmFwIHtcclxuICAgICAgICAgIHBhZGRpbmc6IDIuMTI1cmVtIDEuNDM3NXJlbTtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgICY6Zmlyc3Qtb2YtdHlwZSB7XHJcbiAgICAgICAgICAucGFydC13cmFwIHtcclxuICAgICAgICAgICAgcGFkZGluZy1yaWdodDogMS40Mzc1cmVtO1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgJjpub3QoOmZpcnN0LW9mLXR5cGUpOm5vdCg6bGFzdC1vZi10eXBlKSB7XHJcbiAgICAgICAgICBib3JkZXI6IDA7XHJcbiAgICAgICAgICBib3JkZXItcmlnaHQ6IDA7XHJcbiAgICAgICAgICBib3JkZXItbGVmdDogMDtcclxuICAgICAgICAgIGJvcmRlci10b3A6IDJweCBzb2xpZCAkc2Vjb25kYXJ5Q29sb3I7XHJcbiAgICAgICAgICBib3JkZXItYm90dG9tOiAycHggc29saWQgJHNlY29uZGFyeUNvbG9yO1xyXG5cclxuICAgICAgICAgIC5wYXJ0LXdyYXAge1xyXG4gICAgICAgICAgICBwYWRkaW5nLXJpZ2h0OiAxLjQzNzVyZW07XHJcbiAgICAgICAgICAgIHBhZGRpbmctbGVmdDogMS40Mzc1cmVtO1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgJjpsYXN0LW9mLXR5cGUge1xyXG4gICAgICAgICAgLnBhcnQtd3JhcCB7XHJcbiAgICAgICAgICAgIHBhZGRpbmctbGVmdDogMS40Mzc1cmVtO1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG5cclxuICAgICAgQGluY2x1ZGUgbXF1KHNtKSB7XHJcbiAgICAgICAgZmxleDogMSAxIDEwMCU7XHJcbiAgICAgICAgbWFyZ2luLWxlZnQ6IDA7XHJcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAwO1xyXG5cclxuICAgICAgICAucGFydC13cmFwIHtcclxuICAgICAgICAgIHBhZGRpbmc6IDIuMTI1cmVtIDA7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAmOmZpcnN0LW9mLXR5cGUge1xyXG4gICAgICAgICAgLnBhcnQtd3JhcCB7XHJcbiAgICAgICAgICAgIHBhZGRpbmctcmlnaHQ6IDA7XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAmOm5vdCg6Zmlyc3Qtb2YtdHlwZSk6bm90KDpsYXN0LW9mLXR5cGUpIHtcclxuICAgICAgICAgIGJvcmRlcjogMDtcclxuICAgICAgICAgIGJvcmRlci1yaWdodDogMDtcclxuICAgICAgICAgIGJvcmRlci1sZWZ0OiAwO1xyXG4gICAgICAgICAgYm9yZGVyLXRvcDogMXB4IHNvbGlkICRzZWNvbmRhcnlDb2xvcjtcclxuICAgICAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAkc2Vjb25kYXJ5Q29sb3I7XHJcblxyXG4gICAgICAgICAgLnBhcnQtd3JhcCB7XHJcbiAgICAgICAgICAgIHBhZGRpbmctcmlnaHQ6IDA7XHJcbiAgICAgICAgICAgIHBhZGRpbmctbGVmdDogMDtcclxuICAgICAgICAgIH1cclxuICAgICAgICB9XHJcblxyXG4gICAgICAgICY6bGFzdC1vZi10eXBlIHtcclxuICAgICAgICAgIC5wYXJ0LXdyYXAge1xyXG4gICAgICAgICAgICBwYWRkaW5nLWxlZnQ6IDA7XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcblxyXG4gICAgICAuaGVhZCB7XHJcbiAgICAgICAgbWFyZ2luOiAwO1xyXG4gICAgICAgIHBhZGRpbmc6IDhweCAwIDIycHg7XHJcbiAgICAgICAgZm9udC1zaXplOiAyM3B4O1xyXG4gICAgICAgIGxpbmUtaGVpZ2h0OiAyM3B4O1xyXG4gICAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7XHJcbiAgICAgICAgLy9jb2xvcjogIzNmM2IzNztcclxuICAgICAgICBjb2xvcjogI2ZmZjtcclxuXHJcbiAgICAgICAgQGluY2x1ZGUgbXF1KGxnKSB7XHJcbiAgICAgICAgICAvL2ZvbnQtc2l6ZTogMTdweDtcclxuICAgICAgICAgIC8vbGluZS1oZWlnaHQ6IDE3cHg7XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcblxyXG4gICAgICAuZm9vdGVyLXNvY2lhbHMge1xyXG4gICAgICAgIGZvbnQtc2l6ZTogMDtcclxuICAgICAgICBwYWRkaW5nLXRvcDogNnB4O1xyXG5cclxuICAgICAgICBhIHtcclxuICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuICAgICAgICAgIHZlcnRpY2FsLWFsaWduOiB0b3A7XHJcbiAgICAgICAgICB3aWR0aDogNDJweDtcclxuICAgICAgICAgIGhlaWdodDogNDJweDtcclxuICAgICAgICAgIG1hcmdpbi1ib3R0b206IDEwcHg7XHJcbiAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDEwcHg7XHJcbiAgICAgICAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xyXG4gICAgICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogNTAlIDUwJTtcclxuICAgICAgICAgIGJhY2tncm91bmQtc2l6ZTogY29udGFpbjtcclxuXHJcbiAgICAgICAgICAmLmZhY2Vib29rIHtcclxuICAgICAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKCcvTWVkaWEvaWNvbnMvU29jaWFsL2ZhY2Vib29rLnN2ZycpO1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgICAgJi50d2l0dGVyIHtcclxuICAgICAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKCcvTWVkaWEvaWNvbnMvU29jaWFsL3R3aXR0ZXIuc3ZnJyk7XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgICAmLmJsb2dkYXkge1xyXG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoJy9NZWRpYS9pY29ucy9Tb2NpYWwvYmxvZ19kYXkuc3ZnJyk7XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgICAmLmxpbmtlZGluIHtcclxuICAgICAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKCcvTWVkaWEvaWNvbnMvU29jaWFsL2xpbmtlZGluLnN2ZycpO1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgICAgJi5pbnN0YWdyYW0ge1xyXG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoJy9NZWRpYS9pY29ucy9Tb2NpYWwvaW5zdGFncmFtLnN2ZycpO1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgICAgJi5nb29nbGVwbHVzIHtcclxuICAgICAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKCcvTWVkaWEvaWNvbnMvU29jaWFsL2dwbHVzLnN2ZycpO1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgICAgJi55b3V0dWJlIHtcclxuICAgICAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKCcvTWVkaWEvaWNvbnMvU29jaWFsL3lvdXR1YmUuc3ZnJyk7XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgICAmLnBpbnRlcmVzdCB7XHJcbiAgICAgICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCgnL01lZGlhL2ljb25zL1NvY2lhbC9waW50ZXJlc3Quc3ZnJyk7XHJcbiAgICAgICAgICB9XHJcblxyXG5cclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIEBpbmNsdWRlIG1xdShtZCkge1xyXG4gICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xyXG5cclxuICAgICAgICAgIGEge1xyXG4gICAgICAgICAgICAvL3dpZHRoOiA0NXB4OyBcclxuICAgICAgICAgICAgLy9oZWlnaHQ6IDQ1cHg7XHJcbiAgICAgICAgICAgIG1hcmdpbjogMCAxNXB4IDE1cHggMDtcclxuICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcblxyXG4gIC5mb290ZXItc3VicGFydHMge1xyXG4gICAgZGlzcGxheTogZmxleDtcclxuICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcclxuICAgIG1hcmdpbi10b3A6IDA7XHJcblxyXG4gICAgLmZvb3Rlci1zdWJwYXJ0IHtcclxuICAgICAgZmxleDogMCAxIDQ1JTtcclxuICAgIH1cclxuXHJcbiAgICAuc3ViaGVhZCB7XHJcbiAgICAgIG1hcmdpbjogMDtcclxuICAgICAgZm9udC1zaXplOiAxNHB4O1xyXG4gICAgICBmb250LXdlaWdodDogNzAwO1xyXG4gICAgICAvL2NvbG9yOiAjM2YzYjM3O1xyXG4gICAgICBjb2xvcjogI2ZmZjtcclxuICAgICAgdGV4dC10cmFuc2Zvcm06IG5vbmU7XHJcbiAgICAgIGxpbmUtaGVpZ2h0OiAyNHB4O1xyXG5cclxuICAgICAgQGluY2x1ZGUgbXF1KGxnKSB7XHJcbiAgICAgICAgLy9saW5lLWhlaWdodDogMjBweDtcclxuICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgICYtLW5vZmxleCB7XHJcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xyXG5cclxuICAgICAgLnN1YmhlYWQ6bm90KDpmaXJzdC1vZi10eXBlKSB7XHJcbiAgICAgICAgbWFyZ2luLXRvcDogMS41ZW07XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcblxyXG4gIC5saW5rLWhvbGRlciB7XHJcbiAgICBhIHtcclxuICAgICAgLy9jb2xvcjogcmdiKDYzLCA1OSwgNTUpO1xyXG4gICAgICBjb2xvcjogI2ZmZjtcclxuICAgICAgZm9udC1zaXplOiAxMnB4O1xyXG4gICAgICBsaW5lLWhlaWdodDogMjRweDtcclxuICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcclxuXHJcbiAgICAgICY6aG92ZXIge1xyXG4gICAgICAgIG9wYWNpdHk6IDE7XHJcbiAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XHJcbiAgICAgIH1cclxuXHJcbiAgICAgIEBpbmNsdWRlIG1xdShsZykge1xyXG4gICAgICAgIC8vZm9udC1zaXplOiAxMHB4O1xyXG4gICAgICAgIC8vbGluZS1oZWlnaHQ6IDIwcHg7XHJcbiAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAubGluay1ob2xkZXJfX3dyYXAge1xyXG4gICAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xyXG4gICAgfVxyXG5cclxuICAgIC5saW5rLWhvbGRlcl9faWNvbnMtbGFiZWwge1xyXG4gICAgICBjb2xvcjogI2ZmZjtcclxuICAgICAgZm9udC1zaXplOiAxMnB4O1xyXG4gICAgICBsaW5lLWhlaWdodDogMjRweDtcclxuICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcclxuICAgIH1cclxuXHJcbiAgICAubGluay1ob2xkZXJfX2ljb24ge1xyXG4gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcbiAgICAgIHdpZHRoOiA0MnB4O1xyXG4gICAgICBoZWlnaHQ6IDQycHg7XHJcbiAgICAgIG1hcmdpbjogMCAwIDAgMTBweDtcclxuICAgICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcclxuICAgICAgYmFja2dyb3VuZC1zaXplOiBjb250YWluO1xyXG4gICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiA1MCUgNTAlO1xyXG4gICAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xyXG5cclxuICAgICAgJi0tYXBwc3RvcmUge1xyXG4gICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybChcIi9hc3NldHMvbWlzYy9pY29ucy9BcHBfc3RvcmUucG5nXCIpO1xyXG4gICAgICB9XHJcbiAgICAgICYtLXBsYXlzdG9yZSB7XHJcbiAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiL2Fzc2V0cy9taXNjL2ljb25zL1BsYXlfc3RvcmUucG5nXCIpO1xyXG4gICAgICB9XHJcblxyXG4gICAgICAmOmhvdmVyIHtcclxuICAgICAgICBvcGFjaXR5OiAuNTtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgLmZvb3Rlci1sb2dvIHtcclxuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcclxuICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcclxuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcblxyXG4gICAgLmxvZ28ge1xyXG4gICAgICBmbGV4OiAwIDAgYXV0bztcclxuICAgICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICAgIC8vbWFyZ2luOiAwIGF1dG8gMC43NXJlbTsgXHJcbiAgICAgIG1hcmdpbjogMCAxcmVtIDAgMDtcclxuICAgICAgLy93aWR0aDogMy4xMjVyZW07XHJcbiAgICAgIC8vd2lkdGg6IDMuODc1cmVtO1xyXG4gICAgICAvL2hlaWdodDogMy4xMjVyZW07XHJcbiAgICAgIC8vaGVpZ2h0OiAzLjg3NXJlbTtcclxuICAgICAgd2lkdGg6IDk2cHg7XHJcbiAgICAgIGhlaWdodDogOTZweDtcclxuICAgICAgYmFja2dyb3VuZDogdXJsKCcvTWVkaWEvbG9nb3MvTG9nb19VUC5wbmcnKSBuby1yZXBlYXQgNTAlIDUwJTtcclxuICAgICAgYmFja2dyb3VuZC1zaXplOiBjb250YWluO1xyXG5cclxuICAgICAgQGluY2x1ZGUgbXEobGcsIHh4bGcpIHtcclxuICAgICAgICAvL3dpZHRoOiA0LjQyODZyZW07XHJcbiAgICAgICAgLy9oZWlnaHQ6IDQuNDI4NnJlbTtcclxuICAgICAgfVxyXG4gICAgICBAaW5jbHVkZSBtcShtZCwgbGcpIHtcclxuICAgICAgICAvL3dpZHRoOiA1LjYzNjRyZW07XHJcbiAgICAgICAgLy9oZWlnaHQ6IDUuNjM2NHJlbTtcclxuICAgICAgfVxyXG4gICAgICBAaW5jbHVkZSBtcXUoc20pIHtcclxuICAgICAgICB3aWR0aDogMi42MjVyZW07XHJcbiAgICAgICAgaGVpZ2h0OiAyLjYyNXJlbTtcclxuICAgICAgICBtYXJnaW4tbGVmdDogMDtcclxuICAgICAgICBtYXJnaW4tcmlnaHQ6IDAuNjI1cmVtO1xyXG4gICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgLm1vdHRvIHtcclxuICAgICAgZmxleDogMCAwIGF1dG87XHJcblxyXG4gICAgICAvL2NvbG9yOiAjRjU4RjAwO1xyXG4gICAgICBjb2xvcjogI0Y1OTEwMDtcclxuICAgICAgLy9mb250LXNpemU6IDEuMzc1cmVtO1xyXG4gICAgICAvL2ZvbnQtc2l6ZTogMS4zMTI1cmVtO1xyXG4gICAgICAvL2ZvbnQtc2l6ZTogMS42MjVyZW07XHJcbiAgICAgIGZvbnQtc2l6ZTogMjBweDtcclxuICAgICAgZm9udC13ZWlnaHQ6IDcwMDtcclxuICAgICAgZm9udC1mYW1pbHk6IFJhbGV3YXksIGFyaWFsLCBoZWx2ZXRpY2EsIFNhbnMtU2VyaWY7XHJcblxyXG4gICAgICBAaW5jbHVkZSBtcShsZywgeHhsZykge1xyXG4gICAgICAgIC8vZm9udC1zaXplOiAxLjg1NzFyZW07XHJcbiAgICAgIH1cclxuICAgICAgQGluY2x1ZGUgbXEobWQsIGxnKSB7XHJcbiAgICAgICAgLy9mb250LXNpemU6IDIuMzYzNnJlbTtcclxuICAgICAgfVxyXG4gICAgfVxyXG5cclxuXHJcblxyXG4gICAgQGluY2x1ZGUgbXF1KHNtKSB7XHJcbiAgICAgIGZsZXgtd3JhcDogd3JhcDtcclxuXHJcbiAgICAgIC5tb3R0byB7XHJcbiAgICAgICAgbWFyZ2luLXRvcDogMXJlbTtcclxuICAgICAgICBtYXJnaW4tYm90dG9tOiAxcmVtO1xyXG4gICAgICAgIGZvbnQtc2l6ZTogMXJlbTtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgLmZvb3Rlci1sZWdhbCB7XHJcbiAgICBwYWRkaW5nOiAyLjVyZW0gMDtcclxuICAgIGZvbnQtc2l6ZTogMC44NzVyZW07XHJcbiAgICBsaW5lLWhlaWdodDogMS43ODZlbTtcclxuXHJcbiAgICBhIHtcclxuICAgICAgY29sb3I6ICR0ZXJ0aWFyeUNvbG9yO1xyXG4gICAgfVxyXG5cclxuICAgIC52c2VwYXJhdG9yIHtcclxuICAgICAgY29sb3I6ICR0ZXJ0aWFyeUNvbG9yO1xyXG4gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcbiAgICAgIG1hcmdpbjogMCAwLjYyNXJlbTtcclxuICAgIH1cclxuXHJcbiAgICBwIHtcclxuICAgICAgY29sb3I6ICRkZWVtcGhhc2l6ZWRDb2xvcjtcclxuICAgICAgbWFyZ2luOiAwO1xyXG4gICAgICBmb250LXNpemU6IDAuODc1cmVtO1xyXG4gICAgfVxyXG4gIH1cclxufVxyXG4iLCIuc2VjdGlvbi1pbnZvaWNlLWdlbmVyYXRvciB7XHJcbiAgYmFja2dyb3VuZC1jb2xvcjogJGRlZW1waGFzaXplZENvbG9yMjtcclxuICBwYWRkaW5nOiAzLjc1cmVtIDA7XHJcblxyXG4gIEBpbmNsdWRlIG1xdShzbSkge1xyXG4gICAgcGFkZGluZzogMi4wNjI1cmVtIDAgMS45Mzc1cmVtO1xyXG4gIH1cclxuICBcclxuICAuZ2VuZXJhdG9yLXRhYmxlIHtcclxuICAgIGRpc3BsYXk6IHRhYmxlO1xyXG4gICAgd2lkdGg6IDEwMCU7XHJcbiAgICBtYXJnaW46IDIwcHggYXV0bztcclxuICAgIFxyXG4gICAgLnRhYmxlLXJvdy1ncm91cCB7XHJcbiAgICAgIGRpc3BsYXk6IHRhYmxlLXJvdy1ncm91cDtcclxuICAgICAgXHJcbiAgICAgLnRhYmxlLXJvdzpsYXN0LWNoaWxkIC50YWJsZS1jZWxsIHtcclxuICAgICAgIHBhZGRpbmctYm90dG9tOiAxcmVtO1xyXG4gICAgIH0gXHJcbiAgICB9XHJcbiAgICBcclxuICAgIC50YWJsZS1yb3cge1xyXG4gICAgICBkaXNwbGF5OiB0YWJsZS1yb3c7XHJcbiAgICAgIFxyXG4gICAgICAmLnRhYmxlLWhlYWRyb3cge1xyXG4gICAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7XHJcbiAgICAgICAgXHJcbiAgICAgICAgLnRhYmxlLWNlbGw6bm90KDpmaXJzdC1jaGlsZCkge1xyXG4gICAgICAgICAgdGV4dC1hbGlnbjogcmlnaHQ7XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgICBcclxuICAgIC50YWJsZS1jZWxsIHtcclxuICAgICAgZGlzcGxheTogdGFibGUtY2VsbDtcclxuICAgICAgXHJcbiAgICAgIHBhZGRpbmc6IDAuMTg3NXJlbTtcclxuICAgICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcclxuICAgIH1cclxuXHJcbiAgICAubW9iaWxlLWV4dHJhIHtcclxuICAgICAgZGlzcGxheTogbm9uZTtcclxuICAgIH1cclxuICAgIFxyXG4gICAgQGluY2x1ZGUgbXF1KHNtKSB7XHJcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgICBcclxuICAgICAgLnRhYmxlLXJvdy1ncm91cCB7XHJcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICAgICAgcGFkZGluZy1ib3R0b206IDFyZW07XHJcblxyXG4gICAgICAgIC50YWJsZS1yb3c6bGFzdC1jaGlsZCAudGFibGUtY2VsbCB7XHJcbiAgICAgICAgICBwYWRkaW5nLWJvdHRvbTogMC4xODc1cmVtO1xyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG5cclxuICAgICAgLnRhYmxlLXJvdyB7XHJcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XHJcblxyXG4gICAgICAgICYudGFibGUtaGVhZHJvdyB7XHJcbiAgICAgICAgICBkaXNwbGF5OiBub25lO1xyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG5cclxuICAgICAgLnRhYmxlLWNlbGwge1xyXG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgICB9XHJcbiAgICAgIFxyXG4gICAgICAubW9iaWxlLWV4dHJhIHtcclxuICAgICAgICBkaXNwbGF5OiBibG9jaztcclxuICAgICAgICBtYXJnaW4tYm90dG9tOiAwLjI1cmVtO1xyXG4gICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgaW5wdXRbdHlwZT1cInRleHRcIl0ge1xyXG4gICAgICBkaXNwbGF5OiBibG9jaztcclxuICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgIGJvcmRlcjogMDtcclxuICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjtcclxuICAgICAgY29sb3I6ICMwMDA7XHJcbiAgICAgIHBhZGRpbmc6IDAgMC4zMTI1cmVtO1xyXG4gICAgICBtYXJnaW46IDA7XHJcbiAgICAgIGxpbmUtaGVpZ2h0OiAxZW07XHJcbiAgICAgIGhlaWdodDogMS40ZW07XHJcbiAgICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XHJcbiAgICAgIFxyXG4gICAgICB0ZXh0LWFsaWduOiByaWdodDtcclxuICAgIH1cclxuICAgIFxyXG4gICAgLnNwb29mIHtcclxuICAgICAgLy9kaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcbiAgICAgIHBhZGRpbmc6IDAgMC4zMTI1cmVtO1xyXG4gICAgICBcclxuICAgICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICAgIHRleHQtYWxpZ246IHJpZ2h0O1xyXG4gICAgfVxyXG4gICAgXHJcbiAgICBhIHtcclxuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG4gICAgICBjb2xvcjogI2ZmZjtcclxuICAgICAgYmFja2dyb3VuZC1jb2xvcjogJG1haW5Db2xvcjtcclxuICAgICAgd2lkdGg6IDEuMjVyZW07XHJcbiAgICAgIGhlaWdodDogMS4yNXJlbTtcclxuICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xyXG5cclxuICAgICAgJjpob3ZlciB7XHJcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHRlcnRpYXJ5Q29sb3I7XHJcbiAgICAgIH1cclxuICAgICAgXHJcbiAgICAgIEBpbmNsdWRlIG1xdShzbSkge1xyXG4gICAgICAgIG1hcmdpbjogMCBhdXRvO1xyXG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG4gIFxyXG4gIC5nZW5lcmF0b3ItdGFibGUtc21hbGwge1xyXG4gICAgZGlzcGxheTogdGFibGU7XHJcbiAgICBcclxuICAgIC50YWJsZS1yb3cge1xyXG4gICAgICBkaXNwbGF5OiB0YWJsZS1yb3c7XHJcbiAgICB9XHJcblxyXG4gICAgLnRhYmxlLWNlbGwge1xyXG4gICAgICBkaXNwbGF5OiB0YWJsZS1jZWxsOyBcclxuICAgICAgcGFkZGluZy10b3A6IDAuMTg3NXJlbTtcclxuICAgICAgcGFkZGluZy1ib3R0b206IDAuMTg3NXJlbTtcclxuICAgICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcclxuICAgICAgXHJcbiAgICAgICY6bm90KDpmaXJzdC1jaGlsZCkge1xyXG4gICAgICAgIHBhZGRpbmctbGVmdDogMC42MjVyZW07IFxyXG4gICAgICB9XHJcblxyXG4gICAgICBpbnB1dFt0eXBlPVwidGV4dFwiXSB7XHJcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgYm9yZGVyOiAwO1xyXG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmY7XHJcbiAgICAgICAgY29sb3I6ICMwMDA7XHJcbiAgICAgICAgcGFkZGluZzogMCAwLjMxMjVyZW07XHJcbiAgICAgICAgbWFyZ2luOiAwO1xyXG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxZW07XHJcbiAgICAgICAgaGVpZ2h0OiAxLjRlbTtcclxuICAgICAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xyXG5cclxuICAgICAgICBAaW5jbHVkZSBtcXUoc20pIHtcclxuICAgICAgICAgIGZvbnQtc2l6ZTogMS4wNjI1cmVtO1xyXG4gICAgICAgICAgcGFkZGluZzogMCAxLjM3NXJlbTtcclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgICAgXHJcbiAgICAgICYudGV4dC1yaWdodCB7XHJcbiAgICAgICAgdGV4dC1hbGlnbjogcmlnaHQ7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcbiAgXHJcbiAgLmludm9pY2UtYnV0dG9uIHtcclxuICAgIHBhZGRpbmctdG9wOiAxLjI1cmVtO1xyXG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xyXG4gICAgXHJcbiAgICBidXR0b24ge1xyXG4gICAgICBib3JkZXI6IDA7XHJcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICRtYWluQ29sb3I7XHJcbiAgICAgIGNvbG9yOiAjZmZmO1xyXG4gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcbiAgICAgIG1heC13aWR0aDogMTAwJTtcclxuICAgICAgZm9udC1zaXplOiAxLjY4NzVyZW07XHJcbiAgICAgIGxpbmUtaGVpZ2h0OiAxZW07XHJcbiAgICAgIGhlaWdodDogMy4zMTI1cmVtOyBcclxuICAgICAgcGFkZGluZzogMCAwLjYyNXJlbTtcclxuICAgICAgY3Vyc29yOiBwb2ludGVyO1xyXG4gICAgICB0cmFuc2l0aW9uOiBjb2xvciAuM3MgZWFzZS1pbi1vdXQgMHMsIGJhY2tncm91bmQtY29sb3IgLjNzIGVhc2UtaW4tb3V0IDBzO1xyXG4gICAgICBcclxuICAgICAgJjpob3ZlciB7XHJcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHRlcnRpYXJ5Q29sb3I7XHJcbiAgICAgIH1cclxuICAgICAgXHJcbiAgICAgICY6bm90KDpmaXJzdC1vZi10eXBlKSB7XHJcbiAgICAgICAgbWFyZ2luLWxlZnQ6IDAuNjI1cmVtO1xyXG4gICAgICB9XHJcbiAgICB9IFxyXG4gIH1cclxufSIsIiNmaXhlZEJhbm5lciB7XHJcbiAgcG9zaXRpb246IGZpeGVkO1xyXG4gIHotaW5kZXg6IDEwMDtcclxuICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDI0NSwgMTQzLCAwLCAwLjkpO1xyXG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKTtcclxuICB0b3A6IDUwJTtcclxuICBkaXNwbGF5OiBub25lO1xyXG4gICAgXHJcbiAgQGluY2x1ZGUgbXEobWQpIHtcclxuICAgIGxlZnQ6IDUwJTtcclxuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIC01MCUpO1xyXG4gICAgQGluY2x1ZGUgaW5uZXJDb250YWluZXIoKTsgXHJcbiAgfVxyXG5cclxuICBAaW5jbHVkZSBtcXUobWQpIHtcclxuICAgIGxlZnQ6IDA7XHJcbiAgICByaWdodDogMDtcclxuICAgIHdpZHRoOiAxMDAlO1xyXG4gIH0gICBcclxuICBcclxuICAuYmFubmVyLXdyYXAge1xyXG4gICAgcGFkZGluZzogMi42ODc1cmVtIDMuMjVyZW07XHJcbiAgICBcclxuICAgIEBpbmNsdWRlIG1xKHNtLCBtZCkge1xyXG4gICAgICBwYWRkaW5nOiAyLjYyNXJlbSAyLjgxMjVyZW0gMi44MTI1cmVtO1xyXG4gICAgfVxyXG4gICAgQGluY2x1ZGUgbXF1KHNtKSB7XHJcbiAgICAgIHBhZGRpbmc6IDEuMDYyNXJlbSAxcmVtO1xyXG4gICAgfVxyXG4gIH1cclxuICBcclxuICBhIHtcclxuICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgIFxyXG4gICAgaW1nIHtcclxuICAgICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICAgIG1hcmdpbjogMCBhdXRvO1xyXG4gICAgICBtYXgtd2lkdGg6IDEwMCU7XHJcbiAgICAgIEBpbmNsdWRlIHZpZXdwb3J0LXVuaXQobWF4LWhlaWdodCwgODB2aCk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICAuYmFubmVyLWNsb3NlciB7XHJcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICB0b3A6IDAuNjg3NXJlbTtcclxuICAgIHJpZ2h0OiAwLjc1cmVtO1xyXG5cclxuICAgIEBpbmNsdWRlIG1xKHNtLCBtZCkge1xyXG4gICAgICB0b3A6IDAuNjI1cmVtO1xyXG4gICAgICByaWdodDogMC43NXJlbTtcclxuICAgIH1cclxuICAgIFxyXG4gICAgQGluY2x1ZGUgbXF1KHNtKSB7XHJcbiAgICAgIHRvcDogMC4xMjVyZW07XHJcbiAgICAgIHJpZ2h0OiAwLjEyNXJlbTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIC5jbG9zZXItaWNvbiB7XHJcbiAgICBjb2xvcjogJG1haW5Db2xvcjtcclxuICAgIGN1cnNvcjogcG9pbnRlcjtcclxuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuICAgIHdpZHRoOiAxLjU2MjVyZW07XHJcbiAgICBoZWlnaHQ6IDEuNTYyNXJlbTtcclxuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgIHRyYW5zaXRpb246IG9wYWNpdHkgLjNzIGVhc2UtaW4tb3V0IDBzO1xyXG5cclxuICAgICY6aG92ZXIge1xyXG4gICAgICBvcGFjaXR5OiAuNTtcclxuICAgIH1cclxuXHJcbiAgICAmOjphZnRlciB7XHJcbiAgICAgIGNvbnRlbnQ6ICcnO1xyXG4gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgICAgdG9wOiAwO1xyXG4gICAgICBsZWZ0OiAwO1xyXG4gICAgICB2ZXJ0aWNhbC1hbGlnbjogdG9wO1xyXG4gICAgICAvKiB3aWR0aDogMTAwJTtcclxuICAgICAgaGVpZ2h0OiAxMDAlOyAqL1xyXG4gICAgICB3aWR0aDogMS41NjI1cmVtO1xyXG4gICAgICBoZWlnaHQ6IDEuNTYyNXJlbTtcclxuICAgICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcclxuICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogNTAlIDUwJTtcclxuICAgICAgYmFja2dyb3VuZC1zaXplOiBjb250YWluO1xyXG4gICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoJy9NZWRpYS9pY29ucy9jbG9zZV9iaWFuY28uc3ZnJyk7XHJcbiAgICB9XHJcblxyXG4gICAgQGluY2x1ZGUgbXF1KHNtKSB7XHJcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgICAgdG9wOiAwLjMxMjVyZW07XHJcbiAgICAgIHJpZ2h0OiAwLjE4NzVyZW07XHJcbiAgICAgIHdpZHRoOiAwLjYyNXJlbTtcclxuICAgICAgaGVpZ2h0OiAwLjYyNXJlbTtcclxuXHJcbiAgICAgICY6OmFmdGVyIHtcclxuICAgICAgICB3aWR0aDogMC42MjVyZW07XHJcbiAgICAgICAgaGVpZ2h0OiAwLjYyNXJlbTtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxufSIsIiRjYWxjVGFibGVDZWxsU2l6ZTogNXJlbTtcclxuJGNhbGNUYWJsZUNlbGxTaXplU206IDcuNXJlbTtcclxuJGNhbGNUYWJsZUNlbGxTaXplWHM6IDEwcmVtO1xyXG5cclxuQGZ1bmN0aW9uIG11bHRpcGx5Q2VsbFNpemUoJHZhbHVlMSwgJHZhbHVlMikge1xyXG4gIEByZXR1cm4gJHZhbHVlMSAqICR2YWx1ZTI7XHJcbn1cclxuXHJcbi5zZWN0aW9uLWNhbGN0YWJsZSB7XHJcbiBiYWNrZ3JvdW5kLWNvbG9yOiAjRTlFOUU5OyBcclxuICBwYWRkaW5nOiAyLjgxMjVyZW0gMCAyLjY4NzVyZW07XHJcbiAgXHJcbiAgaDIge1xyXG4gICAgbWFyZ2luOiAwIGF1dG8gMi41cmVtO1xyXG4gICAgY29sb3I6ICRtYWluQ29sb3I7XHJcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbiAgfVxyXG4gIFxyXG4gIC5jYWxjdGFibGUge1xyXG4gICAgZGlzcGxheTogZmxleDtcclxuICB9XHJcbiAgXHJcbiAgLmNhbGN0YWJsZS1sZWZ0IHtcclxuICAgIGZsZXg6IDAgMCBhdXRvO1xyXG4gIH1cclxuXHJcbiAgLmNhbGN0YWJsZS1yaWdodCB7XHJcbiAgICBmbGV4OiAxIDEgYXV0bztcclxuICAgIG92ZXJmbG93OiBhdXRvO1xyXG4gIH1cclxuICBcclxuICAuY2FsY3RhYmxlLXNtYWxsdGFibGUge1xyXG4gICAgZGlzcGxheTogdGFibGU7XHJcbiAgICBib3JkZXItY29sbGFwc2U6IGNvbGxhcHNlO1xyXG5cclxuICAgIC50YWJsZS1yb3cge1xyXG4gICAgICBkaXNwbGF5OiB0YWJsZS1yb3c7XHJcblxyXG4gICAgICAudGFibGUtY2VsbCB7XHJcbiAgICAgICAgZGlzcGxheTogdGFibGUtY2VsbDtcclxuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7IFxyXG4gICAgICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XHJcbiAgICAgICAgZm9udC1zaXplOiAycmVtO1xyXG4gICAgICAgIGNvbG9yOiAkbWFpbkNvbG9yO1xyXG4gICAgICAgIGJvcmRlcjogMnB4IHNvbGlkICRkZWVtcGhhc2l6ZWRDb2xvcjtcclxuICAgICAgICBib3JkZXItbGVmdDogMnB4IHNvbGlkIHRyYW5zcGFyZW50O1xyXG4gICAgICAgIHBhZGRpbmc6IDAuMzEyNXJlbTtcclxuICAgICAgICAvL2JhY2tncm91bmQtY29sb3I6ICNmZmY7XHJcblxyXG4gICAgICAgICYuc3Bvb2Yge1xyXG4gICAgICAgICAgaGVpZ2h0OiAkY2FsY1RhYmxlQ2VsbFNpemU7XHJcbiAgICAgICAgICBib3JkZXItdG9wOiAycHggc29saWQgdHJhbnNwYXJlbnQ7XHJcbiAgICAgICAgICBib3JkZXItcmlnaHQ6IDJweCBzb2xpZCB0cmFuc3BhcmVudDtcclxuICAgICAgICAgIC8vYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XHJcblxyXG4gICAgICAgICAgQGluY2x1ZGUgbXEoc20sIG1kKSB7XHJcbiAgICAgICAgICAgIGhlaWdodDogJGNhbGNUYWJsZUNlbGxTaXplU207XHJcbiAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgQGluY2x1ZGUgbXF1KHNtKSB7XHJcbiAgICAgICAgICAgIGhlaWdodDogJGNhbGNUYWJsZUNlbGxTaXplWHM7XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAmLmhlYWQtdHdvIHtcclxuICAgICAgICAgIGhlaWdodDogbXVsdGlwbHlDZWxsU2l6ZSgkY2FsY1RhYmxlQ2VsbFNpemUsIDIpO1xyXG5cclxuICAgICAgICAgIEBpbmNsdWRlIG1xKHNtLCBtZCkge1xyXG4gICAgICAgICAgICBoZWlnaHQ6IG11bHRpcGx5Q2VsbFNpemUoJGNhbGNUYWJsZUNlbGxTaXplU20sIDIpO1xyXG4gICAgICAgICAgfVxyXG5cclxuICAgICAgICAgIEBpbmNsdWRlIG1xdShzbSkge1xyXG4gICAgICAgICAgICBoZWlnaHQ6IG11bHRpcGx5Q2VsbFNpemUoJGNhbGNUYWJsZUNlbGxTaXplWHMsIDIpO1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgJi5oZWFkLXRocmVlIHtcclxuICAgICAgICAgIGhlaWdodDogbXVsdGlwbHlDZWxsU2l6ZSgkY2FsY1RhYmxlQ2VsbFNpemUsIDMpO1xyXG5cclxuICAgICAgICAgIEBpbmNsdWRlIG1xKHNtLCBtZCkge1xyXG4gICAgICAgICAgICBoZWlnaHQ6IG11bHRpcGx5Q2VsbFNpemUoJGNhbGNUYWJsZUNlbGxTaXplU20sIDMpO1xyXG4gICAgICAgICAgfVxyXG5cclxuICAgICAgICAgIEBpbmNsdWRlIG1xdShzbSkge1xyXG4gICAgICAgICAgICBoZWlnaHQ6IG11bHRpcGx5Q2VsbFNpemUoJGNhbGNUYWJsZUNlbGxTaXplWHMsIDMpO1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICBcclxuICAgICAgICBAaW5jbHVkZSBtcXUoc20pIHtcclxuICAgICAgICAgIGZvbnQtc2l6ZTogMS4yNXJlbTtcclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcbiAgXHJcbiAgLmNhbGN0YWJsZS10YWJsZSB7XHJcbiAgICBkaXNwbGF5OiB0YWJsZTtcclxuICAgIG1pbi13aWR0aDogMTAwJTtcclxuICAgIGZvbnQtc2l6ZTogMS4yNXJlbTtcclxuICAgIGJvcmRlci1jb2xsYXBzZTogY29sbGFwc2U7XHJcbiAgICBcclxuICAgIC50YWJsZS1yb3cge1xyXG4gICAgICBkaXNwbGF5OiB0YWJsZS1yb3c7XHJcbiAgICAgIFxyXG4gICAgICAudGFibGUtY2VsbCB7XHJcbiAgICAgICAgZGlzcGxheTogdGFibGUtY2VsbDtcclxuICAgICAgICBoZWlnaHQ6ICRjYWxjVGFibGVDZWxsU2l6ZTtcclxuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbiAgICAgICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcclxuICAgICAgICBwYWRkaW5nOiAwLjMxMjVyZW07XHJcbiAgICAgICAgYm9yZGVyOiAycHggc29saWQgJGRlZW1waGFzaXplZENvbG9yO1xyXG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmY7XHJcbiAgICAgICAgY29sb3I6ICRkZWVtcGhhc2l6ZWRDb2xvcjtcclxuICAgICAgICBcclxuICAgICAgICAmLmhlYWQge1xyXG4gICAgICAgICAgZm9udC1zaXplOiAxLjE4NzVyZW07XHJcbiAgICAgICAgICBjb2xvcjogJG1haW5Db2xvcjtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgICY6Zmlyc3QtY2hpbGQge1xyXG4gICAgICAgICAgICBib3JkZXItbGVmdDogMDtcclxuICAgICAgICB9XHJcbiAgICAgICAgXHJcbiAgICAgICAgQGluY2x1ZGUgbXEoc20sIG1kKSB7XHJcbiAgICAgICAgICBoZWlnaHQ6ICRjYWxjVGFibGVDZWxsU2l6ZVNtO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgQGluY2x1ZGUgbXF1KHNtKSB7XHJcbiAgICAgICAgICBoZWlnaHQ6ICRjYWxjVGFibGVDZWxsU2l6ZVhzO1xyXG4gICAgICAgIH1cclxuICAgICAgICBcclxuICAgICAgICBzcGFuIHtcclxuICAgICAgICAgIGZvbnQtc2l6ZTogMS41cmVtO1xyXG4gICAgICAgICAgY29sb3I6ICRtYWluQ29sb3I7XHJcbiAgICAgICAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgICBcclxuICAgICAgJjpmaXJzdC1jaGlsZCB7XHJcbiAgICAgICAgLnRhYmxlLWNlbGwge1xyXG4gICAgICAgICAgYm9yZGVyLXRvcDogMnB4IHNvbGlkIHRyYW5zcGFyZW50O1xyXG4gICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG59IiwiLmNvZGVjaGVja2VyLWZvcm0td3JhcCB7XHJcbiAgbWFyZ2luOiAwIGF1dG87XHJcbiAgbWF4LXdpZHRoOiA0NXJlbTtcclxuXHJcbiAgLmNvZGVjaGVja2VyLWZvcm0ge1xyXG4gICAgbWFyZ2luLWJvdHRvbTogMC43NXJlbTtcclxuICB9XHJcbiAgXHJcbiAgLnRleHRib3gge1xyXG4gICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICB3aWR0aDogMTAwJTtcclxuICAgIGJvcmRlcjogMDtcclxuICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmY7XHJcbiAgICBjb2xvcjogIzAwMDtcclxuICAgIHBhZGRpbmc6IDAgMS41cmVtO1xyXG4gICAgZm9udC13ZWlnaHQ6IDcwMDtcclxuICAgIG1hcmdpbi1ib3R0b206IDAuNzVyZW07XHJcbiAgICBmb250LXNpemU6IDEuMTI1cmVtO1xyXG4gICAgbGluZS1oZWlnaHQ6IDFlbTtcclxuICAgIGhlaWdodDogMy4zMTI1cmVtO1xyXG4gICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcclxuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcclxuICB9XHJcbiAgXHJcbiAgYnV0dG9uIHtcclxuICAgIGJvcmRlcjogMDtcclxuICAgIGJhY2tncm91bmQtY29sb3I6ICNGNThGMDA7XHJcbiAgICBjb2xvcjogI2ZmZjtcclxuICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgd2lkdGg6IDEwMCU7IFxyXG4gICAgZm9udC1zaXplOiAxLjY4NzVyZW07XHJcbiAgICBsaW5lLWhlaWdodDogMWVtO1xyXG4gICAgbWFyZ2luLWJvdHRvbTogMC43NXJlbTtcclxuICAgIGhlaWdodDogMy4zMTI1cmVtO1xyXG4gICAgcGFkZGluZzogMDtcclxuICAgIGN1cnNvcjogcG9pbnRlcjtcclxuICAgIHRyYW5zaXRpb246IGNvbG9yIC4zcyBlYXNlLWluLW91dCAwcywgYmFja2dyb3VuZC1jb2xvciAuM3MgZWFzZS1pbi1vdXQgMHM7XHJcbiAgfVxyXG4gIFxyXG4gIC5yZWNhcHRjaGEtaG9sZGVyIHtcclxuICAgIG1hcmdpbi1ib3R0b206IDAuNzVyZW07XHJcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbiAgICBcclxuICAgID4gLmctcmVjYXB0Y2hhID4gZGl2IHtcclxuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG4gICAgfVxyXG4gIH1cclxufVxyXG5cclxuLnJlc3VsdC1tc2cge1xyXG4gIGZvbnQtc2l6ZTogMS41cmVtO1xyXG4gIG1hcmdpbi1ib3R0b206IDEuMjVyZW07XHJcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xyXG5cclxuICAmLmVycm9yLW1zZyB7XHJcbiAgICBjb2xvcjogI2ZmMDAwMDtcclxuICB9XHJcbn0iLCIuZGV0dGFnbGlvLXdyYXAge1xyXG4gIGRpc3BsYXk6IG5vbmU7XHJcbn1cclxuXHJcbi5jYWxjdWxhdG9yLWRldHRhZ2xpby1oZWFkaW5nIHtcclxuICBjb2xvcjogJG1haW5Db2xvcjtcclxuICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbiAgbWFyZ2luOiAzLjc1cmVtIDAgMS4yNXJlbTtcclxufVxyXG5cclxuLmNhbGN1bGF0b3ItZGV0dGFnbGlvIHtcclxuICBkaXNwbGF5OiBmbGV4O1xyXG4gIGZsZXgtd3JhcDogd3JhcDtcclxuICBtYXJnaW46IDEuMjVyZW0gMDtcclxuICBcclxuICAuY2FsY3VsYXRvci1kZXR0YWdsaW8taGVhZGVyLXdyYXAge1xyXG4gICAgZmxleDogMSAwIDEwMCU7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkbWFpbkNvbG9yO1xyXG4gICAgY29sb3I6ICNmZmY7XHJcbiAgICBmb250LXNpemU6IDEuNXJlbTtcclxuXHJcbiAgICBAaW5jbHVkZSBtcXUoc20pIHtcclxuICAgICAgZm9udC1zaXplOiAxLjI1cmVtO1xyXG4gICAgfVxyXG4gIH1cclxuICBcclxuICAuY2FsY3VsYXRvci1kZXR0YWdsaW8taGVhZGVyIHtcclxuICAgIHBhZGRpbmc6IDAuOTM3NXJlbTtcclxuICB9XHJcbiAgXHJcbiAgLmNhbGN1bGF0b3ItZGV0dGFnbGlvLWVudHJpZXMge1xyXG4gICAgZmxleDogMSAxIDQ5JTtcclxuICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmY7XHJcbiAgICBcclxuICAgICYuYm9yZGVyZWQgeyBcclxuICAgICAgYm9yZGVyOiAwO1xyXG4gICAgICBib3JkZXItcmlnaHQ6IDFweCBzb2xpZCAkbWFpbkNvbG9yO1xyXG4gICAgfVxyXG4gICAgXHJcbiAgICBAaW5jbHVkZSBtcXUoc20pIHtcclxuICAgICAgZmxleDogMSAxIDEwMCU7XHJcbiAgICAgIFxyXG4gICAgICAmLmJvcmRlcmVkIHtcclxuICAgICAgICBib3JkZXItcmlnaHQ6IDA7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcblxyXG4gIC5jYWxjdWxhdG9yLWRldHRhZ2xpby1zdWJoZWFkZXItd3JhcCB7XHJcbiAgICBmbGV4OiAxIDEgMTAwJTtcclxuICAgIGJhY2tncm91bmQtY29sb3I6ICNmNThmMDA5OTtcclxuICAgIGZvbnQtc2l6ZTogMS4xMjVyZW07XHJcbiAgfVxyXG5cclxuICAuY2FsY3VsYXRvci1kZXR0YWdsaW8tc3ViaGVhZGVyIHtcclxuICAgIHBhZGRpbmc6IDEuMTI1cmVtIDAuOTM3NXJlbTtcclxuICB9XHJcbiAgXHJcbiAgLmNhbGN1bGF0b3ItZGV0dGFnbGlvLWVudHJ5LXdyYXAge1xyXG4gICAgZmxleDogMSAxIDEwMCU7XHJcbiAgICBmb250LXNpemU6IDAuODc1cmVtO1xyXG4gICAgXHJcbiAgICAmLmJvcmRlcmVkIHtcclxuICAgICAgYm9yZGVyOiAwO1xyXG4gICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgJG1haW5Db2xvcjtcclxuICAgIH1cclxuXHJcbiAgICAuY2FsY3VsYXRvci1kZXR0YWdsaW8tZW50cnkge1xyXG4gICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICBwYWRkaW5nOiAxLjI1cmVtIDAuOTM3NXJlbTtcclxuXHJcbiAgICAgIC5jYWxjdWxhdG9yLWRldHRhZ2xpby1lbnRyeS1sZWZ0IHtcclxuICAgICAgICBmbGV4OiAxIDEgYXV0bztcclxuICAgICAgfVxyXG5cclxuICAgICAgLmNhbGN1bGF0b3ItZGV0dGFnbGlvLWVudHJ5LXJpZ2h0IHtcclxuICAgICAgICBmbGV4OiAxIDEgYXV0bztcclxuICAgICAgICB0ZXh0LWFsaWduOiByaWdodDtcclxuICAgICAgICBmb250LXdlaWdodDogNzAwO1xyXG4gICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgQGluY2x1ZGUgbXF1KHNtKSB7XHJcbiAgICAgIGZvbnQtc2l6ZTogMC44MTI1cmVtO1xyXG4gICAgfVxyXG4gIH1cclxuICBcclxuICAuY2FsY3VsYXRvci1kZXR0YWdsaW8tZm9vdGVyLXdyYXAge1xyXG4gICAgZmxleDogMSAxIDEwMCU7XHJcbiAgICBmb250LXNpemU6IDEuNXJlbTtcclxuICAgIGJhY2tncm91bmQtY29sb3I6ICRtYWluQ29sb3I7XHJcbiAgICBjb2xvcjogI2ZmZjtcclxuICAgIFxyXG4gICAgLmNhbGN1bGF0b3ItZGV0dGFnbGlvLWZvb3RlciB7XHJcbiAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgIHBhZGRpbmc6IDAuOTM3NXJlbTtcclxuICAgICAgXHJcbiAgICAgIC5jYWxjdWxhdG9yLWRldHRhZ2xpby1mb290ZXItbGVmdCB7XHJcbiAgICAgICAgZmxleDogMSAxIGF1dG87XHJcbiAgICAgIH1cclxuICAgICAgXHJcbiAgICAgIC5jYWxjdWxhdG9yLWRldHRhZ2xpby1mb290ZXItcmlnaHQge1xyXG4gICAgICAgIGZsZXg6IDEgMSBhdXRvO1xyXG4gICAgICAgIHRleHQtYWxpZ246IHJpZ2h0O1xyXG4gICAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7XHJcbiAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICBAaW5jbHVkZSBtcXUoc20pIHtcclxuICAgICAgZm9udC1zaXplOiAxLjEyNXJlbTtcclxuICAgIH1cclxuICB9XHJcbiAgXHJcbiAgJi5hbHQge1xyXG4gICAgXHJcbiAgICAuY2FsY3VsYXRvci1kZXR0YWdsaW8taGVhZGVyLXdyYXAge1xyXG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjYTJhMmEyO1xyXG4gICAgfVxyXG4gICAgXHJcbiAgICAuY2FsY3VsYXRvci1kZXR0YWdsaW8tc3ViaGVhZGVyLXdyYXAge1xyXG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjY2ZjZmNmO1xyXG4gICAgfVxyXG4gICAgXHJcbiAgICAuY2FsY3VsYXRvci1kZXR0YWdsaW8tZW50cmllcy5ib3JkZXJlZCB7XHJcbiAgICAgIGJvcmRlci1yaWdodDogMXB4IHNvbGlkICNhMmEyYTI7XHJcbiAgICB9XHJcbiAgICBcclxuICAgIC5jYWxjdWxhdG9yLWRldHRhZ2xpby1lbnRyeS13cmFwLmJvcmRlcmVkIHtcclxuICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICNhMmEyYTI7XHJcbiAgICB9XHJcbiAgICBcclxuICAgIC5jYWxjdWxhdG9yLWRldHRhZ2xpby1mb290ZXItd3JhcCB7XHJcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICNhMmEyYTI7XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcblxyXG4uY2FsY3VsYXRvci1kZXR0YWdsaW8tZGlzYyB7XHJcbiAgbWFyZ2luOiAwO1xyXG4gIHRleHQtYWxpZ246IHJpZ2h0O1xyXG4gIGZvbnQtc2l6ZTogMC44NzVyZW07XHJcbn0iLCIuYy1uZXctY29udGFjdC1mb3JtIHtcclxuICAkcm9vdDogJjtcclxuICBcclxuICAkY0Zvcm1NYWluOiAjZTg5ZDQ2O1xyXG4gIFxyXG4gIGJhY2tncm91bmQ6ICRjRm9ybU1haW47XHJcbiAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KDE4MGRlZywgJGNGb3JtTWFpbiA0My4zMyUsIHJnYmEoMjMyLCAxNjcsIDcwLCAwLjg3KSAxMDAlKTtcclxuICBjb2xvcjogI2ZmZjtcclxuICBcclxuICAmX19mbG9hdGVyIHtcclxuICAgIHBvc2l0aW9uOiBmaXhlZDtcclxuICAgIGJvdHRvbTogMTUuNDMyMXZoO1xyXG4gICAgcmlnaHQ6IDM1cHg7XHJcbiAgICB6LWluZGV4OiAyO1xyXG4gICAgd2lkdGg6IDExMXB4O1xyXG4gICAgaGVpZ2h0OiAxMTFweDtcclxuICAgIG1heC13aWR0aDogMTExcHg7XHJcbiAgICBtYXgtaGVpZ2h0OiAxMTFweDtcclxuICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcclxuICAgIGN1cnNvcjogcG9pbnRlcjtcclxuICAgIC8vIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCgxODBkZWcsICRjRm9ybU1haW4gMCUsICNFOEE3NDYgMTAwJSk7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjU4ZjAwO1xyXG4gICAgYm94LXNoYWRvdzogMHB4IDBweCAyMHB4IDVweCByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuNCk7XHJcbiAgICB0cmFuc2l0aW9uOiBtYXgtaGVpZ2h0IC4zcyBlYXNlLWluLW91dCwgbWF4LXdpZHRoIC4zcyBlYXNlLWluLW91dDtcclxuICAgIFxyXG4gICAgQGluY2x1ZGUgbXF1KHNtKSB7XHJcbiAgICAgIGJvdHRvbTogMzVweDtcclxuICAgICAgbWF4LXdpZHRoOiA1MHB4O1xyXG4gICAgICBtYXgtaGVpZ2h0OiA1MHB4O1xyXG4gICAgfVxyXG4gICAgXHJcbiAgICAmOjphZnRlciB7XHJcbiAgICAgIGNvbnRlbnQ6ICcnO1xyXG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICAgIHRvcDogNTAlO1xyXG4gICAgICBsZWZ0OiA1MCU7XHJcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgICB3aWR0aDogNTQuOTU1JTtcclxuICAgICAgcGFkZGluZy1ib3R0b206IDc4LjY4ODUlO1xyXG4gICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoJy9NZWRpYS9pY29ucy9kaWFsb2dfYmlhbmNvLnN2ZycpO1xyXG4gICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXIgY2VudGVyO1xyXG4gICAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xyXG4gICAgICBiYWNrZ3JvdW5kLXNpemU6IGNvbnRhaW47XHJcbiAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIC01MCUpO1xyXG4gICAgfVxyXG5cclxuICAgICYtLXNocnVuayB7XHJcbiAgICAgIEBpbmNsdWRlIG1xKHNtKSB7XHJcbiAgICAgICAgbWF4LXdpZHRoOiA4NnB4O1xyXG4gICAgICAgIG1heC1oZWlnaHQ6IDg2cHg7XHJcbiAgICAgIH1cclxuICAgIH0gICAgXHJcbiAgfVxyXG4gIFxyXG4gICZfX3dyYXBwZXIge1xyXG4gICAgbWF4LXdpZHRoOiAxNDAwcHg7XHJcbiAgICBwYWRkaW5nOiA1MHB4IDIwcHg7XHJcbiAgICBtYXJnaW46IDAgYXV0bztcclxuICAgIFxyXG4gICAgQGluY2x1ZGUgbXEoc20pIHtcclxuICAgICAgcGFkZGluZzogODBweCAxODBweCAxMzBweDtcclxuICAgICAgbWluLWhlaWdodDogNzQwcHg7XHJcbiAgICB9XHJcbiAgfVxyXG4gIFxyXG4gICZfX3N0ZXAge1xyXG4gICAgbWF4LWhlaWdodDogMDtcclxuICAgIG9wYWNpdHk6IDA7XHJcbiAgICB2aXNpYmlsaXR5OiBoaWRkZW47XHJcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xyXG4gICAgdHJhbnNpdGlvbjogb3BhY2l0eSAuMTVzIGVhc2UtaW4tb3V0IDBzLCB2aXNpYmlsaXR5IC4xNXMgZWFzZS1pbi1vdXQgMHMsIG1heC1oZWlnaHQgMHMgZWFzZS1pbi1vdXQgLjE1cztcclxuICBcclxuICAgICYtLXZpc2libGUge1xyXG4gICAgICBtYXgtaGVpZ2h0OiAxMDAwMDB2aDtcclxuICAgICAgb3BhY2l0eTogMTtcclxuICAgICAgdmlzaWJpbGl0eTogdmlzaWJsZTtcclxuICAgICAgdHJhbnNpdGlvbjogb3BhY2l0eSAuMTVzIGVhc2UtaW4tb3V0IC4xNXMsIHZpc2liaWxpdHkgLjE1cyBlYXNlLWluLW91dCAuMTVzLCBtYXgtaGVpZ2h0IDBzIGVhc2UtaW4tb3V0IC4xNXM7XHJcbiAgICB9XHJcbn1cclxuICBcclxuICAmX19oZWFkZXIge1xyXG4gICAgbWFyZ2luOiAwIGF1dG8gMi4zODFlbTtcclxuICAgIGZvbnQtc2l6ZTogNDJweDtcclxuICAgIGxpbmUtaGVpZ2h0OiAxLjE2NjdlbTtcclxuICAgIGZvbnQtd2VpZ2h0OiA3MDA7XHJcbiAgICBcclxuICAgIEBpbmNsdWRlIG1xdShzbSkge1xyXG4gICAgICBmb250LXNpemU6IDIycHg7XHJcbiAgICAgIGxpbmUtaGVpZ2h0OiAyNnB4O1xyXG4gICAgfVxyXG4gIH1cclxuICBcclxuICAmX19jb2x1bW5zIHtcclxuICAgIEBpbmNsdWRlIG1xKG1kKSB7XHJcbiAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyOyAgXHJcbiAgICB9XHJcbiAgfVxyXG4gIFxyXG4gICZfX2NvbHVtbiB7XHJcbiAgICBAaW5jbHVkZSBtcXUobWQpIHtcclxuICAgICAgJjpub3QoOmxhc3QtY2hpbGQpIHtcclxuICAgICAgICBtYXJnaW4tYm90dG9tOiAyMHB4O1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgICBcclxuICAgIEBpbmNsdWRlIG1xKG1kKSB7XHJcbiAgICAgIGZsZXg6IDAgMCAzOTVweDtcclxuXHJcbiAgICAgICY6bGFzdC1jaGlsZDpub3QoOmZpcnN0LWNoaWxkKSB7XHJcbiAgICAgICAgbWFyZ2luLWxlZnQ6IDUwcHg7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcbiAgXHJcbiAgJl9fYXJyb3dzIHtcclxuICAgIG1hcmdpbi10b3A6IDgwcHg7XHJcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbiAgfVxyXG4gIFxyXG4gICZfX2Fycm93IHtcclxuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuICAgIHdpZHRoOiA3OXB4O1xyXG4gICAgaGVpZ2h0OiA3OXB4O1xyXG4gICAgYm9yZGVyOiA1cHggc29saWQgI2ZmZjtcclxuICAgIGJvcmRlci1yYWRpdXM6IDQwcHg7XHJcbiAgICBmb250LXNpemU6IDM1cHg7XHJcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbiAgICB0cmFuc2l0aW9uOiBmaWx0ZXIgLjNzIGVhc2UtaW4tb3V0O1xyXG4gICAgY3Vyc29yOiBwb2ludGVyO1xyXG4gICAgXHJcbiAgICAmOmhvdmVyIHtcclxuICAgICAgZmlsdGVyOiBkcm9wLXNoYWRvdyg0cHggNHB4IDEwcHggcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjM1KSk7XHJcbiAgICB9XHJcbiAgICBcclxuICAgICY6OmJlZm9yZSB7XHJcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgICAgdG9wOiA1MCU7XHJcbiAgICAgIGxlZnQ6IDUwJTtcclxuICAgICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICAgIG1hcmdpbjogMCBhdXRvO1xyXG4gICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAtNTAlKTtcclxuICAgIH1cclxuXHJcbiAgICAmOmxhc3QtY2hpbGQ6bm90KDpmaXJzdC1jaGlsZCkge1xyXG4gICAgICBtYXJnaW4tbGVmdDogMTUwcHg7XHJcbiAgICAgIFxyXG4gICAgICBAaW5jbHVkZSBtcXUoc20pIHtcclxuICAgICAgICBtYXJnaW4tbGVmdDogNTBweDtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxuICBcclxuICAmX19jaGVja3NlbGVjdCB7XHJcbiAgICBcclxuICAgICYtZmllbGQge1xyXG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICAgIHBhZGRpbmc6IDIzcHggMjhweCAyMnB4O1xyXG4gICAgICBtYXJnaW4tYm90dG9tOiAyMHB4O1xyXG4gICAgICBib3JkZXItcmFkaXVzOiA1MHB4O1xyXG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xyXG4gICAgICBjdXJzb3I6IHBvaW50ZXI7XHJcbiAgICAgIFxyXG4gICAgICBAaW5jbHVkZSBtcXUoc20pIHtcclxuICAgICAgICBwYWRkaW5nOiAyN3B4IDI4cHggMjZweDtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gICAgXHJcbiAgICBcclxuICAgICYtdGV4dCB7XHJcbiAgICAgIGZvbnQtc2l6ZTogMjBweDtcclxuICAgICAgZm9udC13ZWlnaHQ6IDcwMDtcclxuICAgICAgbGluZS1oZWlnaHQ6IDEuMTVlbTtcclxuICAgICAgY29sb3I6ICMwMDA7XHJcbiAgICAgIFxyXG4gICAgICAjeyRyb290fV9fY2hlY2tzZWxlY3QtLXNlbGVjdGVkICYge1xyXG4gICAgICAgIGNvbG9yOiAkY0Zvcm1NYWluO1xyXG4gICAgICB9XHJcbiAgICAgIFxyXG4gICAgICAjeyRyb290fV9fY2hlY2tzZWxlY3QtLWVycm9yICYge1xyXG4gICAgICAgIGNvbG9yOiAjZjAwO1xyXG4gICAgICB9XHJcblxyXG4gICAgICBAaW5jbHVkZSBtcXUoc20pIHtcclxuICAgICAgICBmb250LXNpemU6IDEzcHg7XHJcbiAgICAgICAgbGluZS1oZWlnaHQ6IDE1cHg7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICAgIFxyXG4gICAgJi1pY29uIHtcclxuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgICB0b3A6IDUwJTtcclxuICAgICAgcmlnaHQ6IDI4cHg7XHJcbiAgICAgIGZvbnQtc2l6ZTogMTZweDtcclxuICAgICAgY29sb3I6IHJnYmEoMCwgMCwgMCwgLjMpO1xyXG4gICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSk7XHJcbiAgICAgIHRyYW5zaXRpb246IGNvbG9yIC4zcyBlYXNlLWluLW91dDtcclxuICAgICAgXHJcbiAgICAgICY6OmJlZm9yZSB7XHJcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICAgICAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIC4zcyBlYXNlLWluLW91dDtcclxuXHJcbiAgICAgICAgI3skcm9vdH1fX2NoZWNrc2VsZWN0LS1vcGVuICYge1xyXG4gICAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoLTE4MGRlZyk7XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICAgIFxyXG4gICAgICAjeyRyb290fV9fY2hlY2tzZWxlY3QtZmllbGQ6aG92ZXIgJiB7XHJcbiAgICAgICAgY29sb3I6ICRjRm9ybU1haW47XHJcbiAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAmLXJhZGlvcyB7XHJcbiAgICAgIGRpc3BsYXk6IG5vbmU7XHJcbiAgICAgIHBhZGRpbmctbGVmdDogMzRweDtcclxuICAgICAgcGFkZGluZy1ib3R0b206IDM3cHg7XHJcbiAgICAgIFxyXG4gICAgICBAaW5jbHVkZSBtcXUoc20pIHtcclxuICAgICAgICBwYWRkaW5nLWJvdHRvbTogMjVweDtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxuXHJcblxyXG5cclxuICAmX19yYWRpbyB7XHJcbiAgICBkaXNwbGF5OiBibG9jaztcclxuXHJcbiAgICAmOm5vdCg6bGFzdC1jaGlsZCkge1xyXG4gICAgICBtYXJnaW4tYm90dG9tOiAyMnB4O1xyXG4gICAgfVxyXG5cclxuICAgICYtLWlubGluZSB7XHJcbiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuICAgICAgdmVydGljYWwtYWxpZ246IHRvcDtcclxuXHJcbiAgICAgICY6bm90KDpsYXN0LWNoaWxkKSB7XHJcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiA0MHB4O1xyXG4gICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgJi1sYWJlbCB7XHJcbiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuICAgICAgY3Vyc29yOiBwb2ludGVyO1xyXG4gICAgfVxyXG5cclxuICAgICYtaW5wdXQge1xyXG4gICAgICBkaXNwbGF5OiBub25lO1xyXG4gICAgfVxyXG5cclxuICAgICYtdGV4dCB7XHJcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG4gICAgICBtaW4taGVpZ2h0OiAyOHB4O1xyXG4gICAgICBwYWRkaW5nLXRvcDogMnB4O1xyXG4gICAgICBwYWRkaW5nLWxlZnQ6IDM4cHg7XHJcbiAgICAgIGZvbnQtc2l6ZTogMjBweDtcclxuICAgICAgbGluZS1oZWlnaHQ6IDIzcHg7XHJcbiAgICAgIGZvbnQtd2VpZ2h0OiA1MDA7XHJcblxyXG4gICAgICAmOjpiZWZvcmUge1xyXG4gICAgICAgIGNvbnRlbnQ6ICcnO1xyXG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgICAgICB0b3A6IDA7XHJcbiAgICAgICAgbGVmdDogMDtcclxuICAgICAgICBkaXNwbGF5OiBibG9jaztcclxuICAgICAgICB3aWR0aDogMjhweDtcclxuICAgICAgICBoZWlnaHQ6IDI4cHg7XHJcbiAgICAgICAgYm9yZGVyOiAycHggc29saWQgI0ZGRkZGRjtcclxuICAgICAgICBib3JkZXItcmFkaXVzOiAxNHB4O1xyXG4gICAgICAgIFxyXG4gICAgICAgIEBpbmNsdWRlIG1xdShzbSkge1xyXG4gICAgICAgICAgd2lkdGg6IDI1cHg7XHJcbiAgICAgICAgICBoZWlnaHQ6IDI1cHg7XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcblxyXG4gICAgICAmOjphZnRlciB7XHJcbiAgICAgICAgY29udGVudDogJyc7XHJcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgICAgIHRvcDogM3B4O1xyXG4gICAgICAgIGxlZnQ6IDNweDtcclxuICAgICAgICBkaXNwbGF5OiBibG9jaztcclxuICAgICAgICB3aWR0aDogMjJweDtcclxuICAgICAgICBoZWlnaHQ6IDIycHg7XHJcbiAgICAgICAgYm9yZGVyLXJhZGl1czogMTFweDtcclxuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xyXG4gICAgICAgIG9wYWNpdHk6IDA7XHJcbiAgICAgICAgdHJhbnNpdGlvbjogb3BhY2l0eSAuM3MgZWFzZS1pbi1vdXQ7XHJcblxyXG4gICAgICAgICN7JHJvb3R9X19yYWRpbzpob3ZlciAmIHtcclxuICAgICAgICAgIG9wYWNpdHk6IC4zO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgI3skcm9vdH1fX3JhZGlvLWlucHV0OmNoZWNrZWQgfiAmIHtcclxuICAgICAgICAgIG9wYWNpdHk6IDE7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICBAaW5jbHVkZSBtcXUoc20pIHtcclxuICAgICAgICAgIHdpZHRoOiAxOXB4O1xyXG4gICAgICAgICAgaGVpZ2h0OiAxOXB4O1xyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgICBcclxuICAgICAgQGluY2x1ZGUgbXF1KHNtKSB7XHJcbiAgICAgICAgZm9udC1zaXplOiAxNXB4O1xyXG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxOHB4O1xyXG4gICAgICB9XHJcbiAgICAgIFxyXG4gICAgICAmLS1jaGVja2JveCB7XHJcbiAgICAgICAgJjo6YmVmb3JlIHtcclxuICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDdweDtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgICY6OmFmdGVyIHtcclxuICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDRweDtcclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcbiAgXHJcbiAgJl9faW5wdXQtd3JhcHBlciB7XHJcbiAgICAmOm5vdCg6bGFzdC1jaGlsZCkge1xyXG4gICAgICBtYXJnaW4tYm90dG9tOiAyMHB4O1xyXG4gICAgfVxyXG4gICAgXHJcbiAgICAmLS1zZWxlY3Qge1xyXG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICAgIFxyXG4gICAgICAmOjpiZWZvcmUge1xyXG4gICAgICAgIGNvbnRlbnQ6ICcnO1xyXG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgICAgICB0b3A6IDUwJTtcclxuICAgICAgICByaWdodDogMjVweDtcclxuICAgICAgICBkaXNwbGF5OiBibG9jaztcclxuICAgICAgICB3aWR0aDogMThweDtcclxuICAgICAgICBoZWlnaHQ6IDE4cHg7XHJcbiAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKCcvTWVkaWEvaWNvbnMvYXJyb3dfZG93bl9ncmlnaW8uc3ZnJyk7XHJcbiAgICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyIGNlbnRlcjtcclxuICAgICAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0OyBcclxuICAgICAgICBiYWNrZ3JvdW5kLXNpemU6IGNvbnRhaW47XHJcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpO1xyXG4gICAgICB9IFxyXG4gICAgfVxyXG4gICAgXHJcbiAgICAmLS1jb3JyZWN0IHtcclxuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgICBcclxuICAgICAgJjo6YmVmb3JlIHtcclxuICAgICAgICBjb250ZW50OiAnJztcclxuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICAgICAgdG9wOiA1MCU7XHJcbiAgICAgICAgcmlnaHQ6IDI1cHg7XHJcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICAgICAgd2lkdGg6IDE4cHg7XHJcbiAgICAgICAgaGVpZ2h0OiAxOHB4O1xyXG4gICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCgnL01lZGlhL2ljb25zL2NoZWNrX2FyYW5jaW9uZS5zdmcnKTtcclxuICAgICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXIgY2VudGVyO1xyXG4gICAgICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7IFxyXG4gICAgICAgIGJhY2tncm91bmQtc2l6ZTogY29udGFpbjtcclxuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSk7XHJcbiAgICAgIH0gXHJcbiAgICB9XHJcbiAgICBcclxuICAgICYtLWVycm9yIHtcclxuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgICBcclxuICAgICAgJjo6YmVmb3JlIHtcclxuICAgICAgICBjb250ZW50OiAnJztcclxuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICAgICAgdG9wOiA1MCU7XHJcbiAgICAgICAgcmlnaHQ6IDI4cHg7XHJcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICAgICAgd2lkdGg6IDE2cHg7XHJcbiAgICAgICAgaGVpZ2h0OiAxNnB4O1xyXG4gICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCgnL01lZGlhL2ljb25zL2Nyb3NzX2dyaWdpby5zdmcnKTtcclxuICAgICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXIgY2VudGVyO1xyXG4gICAgICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XHJcbiAgICAgICAgYmFja2dyb3VuZC1zaXplOiBjb250YWluO1xyXG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKTtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxuICBcclxuICAmX19pbnB1dC10ZXh0W3R5cGU9XCJ0ZXh0XCJdLFxyXG4gICZfX2lucHV0LXRleHRbdHlwZT1cImVtYWlsXCJdIHtcclxuICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgd2lkdGg6IDEwMCU7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xyXG4gICAgcGFkZGluZzogMjNweCAyOHB4IDIycHg7XHJcbiAgICBib3JkZXI6IDA7XHJcbiAgICBib3JkZXItcmFkaXVzOiA1MHB4O1xyXG4gICAgZm9udC1zaXplOiAyMHB4O1xyXG4gICAgZm9udC13ZWlnaHQ6IDcwMDtcclxuICAgIGxpbmUtaGVpZ2h0OiAxLjE1ZW07XHJcbiAgICBjb2xvcjogIzAwMDtcclxuICAgIHRyYW5zaXRpb246IGNvbG9yIC4zcyBlYXNlLWluLW91dCAwcywgb3BhY2l0eSAuM3MgZWFzZS1pbi1vdXQgMHMsIGJvcmRlci1jb2xvciAuM3MgZWFzZS1pbi1vdXQgMHM7XHJcblxyXG4gICAgJjo6LXdlYmtpdC1pbnB1dC1wbGFjZWhvbGRlcixcclxuICAgICY6Oi1tb3otcGxhY2Vob2xkZXIsXHJcbiAgICAmOi1tcy1pbnB1dC1wbGFjZWhvbGRlcixcclxuICAgICY6LW1vei1wbGFjZWhvbGRlcixcclxuICAgICY6OnBsYWNlaG9sZGVyLFxyXG4gICAgJjotbXMtaW5wdXQtcGxhY2Vob2xkZXIsXHJcbiAgICAmOjotbXMtaW5wdXQtcGxhY2Vob2xkZXIge1xyXG4gICAgICBjb2xvcjogcmdiYSgwLCAwLCAwLCAuMyk7XHJcbiAgICAgIG9wYWNpdHk6IDE7XHJcbiAgICB9XHJcbiAgICBcclxuICAgICN7JHJvb3R9X19pbnB1dC13cmFwcGVyLS1jb3JyZWN0ICYge1xyXG4gICAgICBjb2xvcjogJGNGb3JtTWFpbjtcclxuICAgIH1cclxuICAgIFxyXG4gICAgI3skcm9vdH1fX2lucHV0LXdyYXBwZXItLWVycm9yICYge1xyXG4gICAgICBjb2xvcjogcmdiYSgwLCAwLCAwLCAuMyk7XHJcbiAgICB9XHJcbiAgICBcclxuICAgIEBpbmNsdWRlIG1xdShzbSkge1xyXG4gICAgICBwYWRkaW5nOiAyN3B4IDI4cHggMjZweDtcclxuICAgICAgZm9udC1zaXplOiAxM3B4O1xyXG4gICAgICBsaW5lLWhlaWdodDogMTVweDtcclxuICAgIH1cclxuICB9XHJcbiAgXHJcbiAgJl9fdGV4dGFyZWEge1xyXG4gICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICB3aWR0aDogMTAwJTtcclxuICAgIGhlaWdodDogMjQ0cHg7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xyXG4gICAgcGFkZGluZzogMjNweCAyOHB4IDIycHg7XHJcbiAgICBib3JkZXI6IDA7XHJcbiAgICBib3JkZXItcmFkaXVzOiA1MHB4O1xyXG4gICAgZm9udC1zaXplOiAyMHB4O1xyXG4gICAgZm9udC13ZWlnaHQ6IDcwMDtcclxuICAgIGxpbmUtaGVpZ2h0OiAxLjE1ZW07XHJcbiAgICBjb2xvcjogIzAwMDtcclxuICAgIHJlc2l6ZTogbm9uZTtcclxuICAgIHRyYW5zaXRpb246IGNvbG9yIC4zcyBlYXNlLWluLW91dCAwcywgb3BhY2l0eSAuM3MgZWFzZS1pbi1vdXQgMHMsIGJvcmRlci1jb2xvciAuM3MgZWFzZS1pbi1vdXQgMHM7XHJcblxyXG4gICAgJjo6LXdlYmtpdC1pbnB1dC1wbGFjZWhvbGRlcixcclxuICAgICY6Oi1tb3otcGxhY2Vob2xkZXIsXHJcbiAgICAmOi1tcy1pbnB1dC1wbGFjZWhvbGRlcixcclxuICAgICY6LW1vei1wbGFjZWhvbGRlcixcclxuICAgICY6OnBsYWNlaG9sZGVyLFxyXG4gICAgJjotbXMtaW5wdXQtcGxhY2Vob2xkZXIsXHJcbiAgICAmOjotbXMtaW5wdXQtcGxhY2Vob2xkZXIge1xyXG4gICAgICBjb2xvcjogcmdiYSgwLCAwLCAwLCAuMyk7XHJcbiAgICAgIG9wYWNpdHk6IDE7XHJcbiAgICB9XHJcblxyXG4gICAgQGluY2x1ZGUgbXF1KHNtKSB7XHJcbiAgICAgIHBhZGRpbmc6IDI3cHggMjhweCAyNnB4O1xyXG4gICAgICBmb250LXNpemU6IDEzcHg7XHJcbiAgICAgIGxpbmUtaGVpZ2h0OiAxNXB4O1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgJl9fc2VsZWN0IHtcclxuICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgd2lkdGg6IDEwMCU7XHJcbiAgICBoZWlnaHQ6IDY4cHg7XHJcbiAgICBmb250LXNpemU6IDIwcHg7XHJcbiAgICBsaW5lLWhlaWdodDogNjhweDtcclxuICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XHJcbiAgICBib3JkZXI6IDA7XHJcbiAgICBwYWRkaW5nOiAwIDI4cHg7XHJcbiAgICBtYXJnaW46IDA7XHJcbiAgICBib3JkZXItcmFkaXVzOiA1MHB4O1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjtcclxuICAgIGZvbnQtd2VpZ2h0OiA3MDA7XHJcbiAgICB0ZXh0LWFsaWduOiBsZWZ0O1xyXG4gICAgY29sb3I6ICMwMDA7XHJcbiAgICAtd2Via2l0LXRhcC1oaWdobGlnaHQtY29sb3I6IHRyYW5zcGFyZW50O1xyXG4gICAgYXBwZWFyYW5jZTogbm9uZTtcclxuICAgIC13ZWJraXQtYXBwZWFyYW5jZTogbm9uZTtcclxuICAgIC1tb3otYXBwZWFyYW5jZTogbm9uZTtcclxuICAgIHRleHQtaW5kZW50OiAwLjA2MjVyZW07XHJcbiAgICB0ZXh0LW92ZXJmbG93OiAnJztcclxuICAgIHRyYW5zaXRpb246IGNvbG9yIC4zcyBlYXNlLWluLW91dCAwcywgb3BhY2l0eSAuM3MgZWFzZS1pbi1vdXQgMHMsIGJvcmRlci1jb2xvciAuM3MgZWFzZS1pbi1vdXQgMHM7XHJcbiAgICBjdXJzb3I6IHBvaW50ZXI7XHJcblxyXG4gICAgJjo6LW1zLWV4cGFuZCB7XHJcbiAgICAgIGRpc3BsYXk6IG5vbmU7XHJcbiAgICB9XHJcbiAgICBcclxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6MFxcMCkgYW5kIChtaW4tcmVzb2x1dGlvbjouMDAxZHBjbSkgeyAvLyBJRTlcclxuICAgICAgYmFja2dyb3VuZC1pbWFnZTogbm9uZTtcclxuICAgIH1cclxuXHJcbiAgICBAaW5jbHVkZSBtcXUoc20pIHtcclxuICAgICAgcGFkZGluZzogMCAwLjkzNzVyZW07XHJcbiAgICB9XHJcblxyXG4gICAgJi0tZXJyb3IsICYuLS1lcnJvciwgJi5pbnB1dC12YWxpZGF0aW9uLWVycm9yIHtcclxuICAgICAgY29sb3I6ICNmMDAgIWltcG9ydGFudDtcclxuICAgICAgYm9yZGVyOiAwICFpbXBvcnRhbnQ7XHJcbiAgICAgIG91dGxpbmU6IG5vbmUgIWltcG9ydGFudDtcclxuICAgIH1cclxuXHJcbiAgICAjeyRyb290fV9faW5wdXQtd3JhcHBlci0tY29ycmVjdCAmIHtcclxuICAgICAgY29sb3I6ICRjRm9ybU1haW47XHJcbiAgICB9XHJcblxyXG4gICAgI3skcm9vdH1fX2lucHV0LXdyYXBwZXItLWVycm9yICYsICY6aW52YWxpZCB7XHJcbiAgICAgIGNvbG9yOiAjNzU3NTc1O1xyXG4gICAgICBcclxuICAgICAgb3B0aW9uIHtcclxuICAgICAgICBjb2xvcjogIzAwMDtcclxuICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgICY6Zm9jdXMge1xyXG4gICAgICBvdXRsaW5lOiBub25lICFpbXBvcnRhbnQ7XHJcbiAgICB9XHJcbiAgfVxyXG4gIFxyXG4gICZfX2FncmVlbWVudHMge1xyXG4gICAgJjpub3QoOmxhc3QtY2hpbGQpIHtcclxuICAgICAgbWFyZ2luLWJvdHRvbTogMzBweDtcclxuICAgIH1cclxuICB9XHJcbiAgXHJcbiAgJl9fYWdyZWVtZW50IHtcclxuICAgICY6bm90KDpsYXN0LWNoaWxkKSB7XHJcbiAgICAgIG1hcmdpbi1ib3R0b206IDVweDtcclxuICAgIH1cclxuICAgIFxyXG4gICAgJi1wcmV0ZXh0LFxyXG4gICAgJi10ZXh0IHtcclxuICAgICAgZm9udC13ZWlnaHQ6IDUwMDtcclxuICAgICAgZm9udC1zaXplOiAxNXB4O1xyXG4gICAgICBsaW5lLWhlaWdodDogMThweDtcclxuICAgICAgXHJcbiAgICAgIGEge1xyXG4gICAgICAgIGNvbG9yOiBpbmhlcml0O1xyXG4gICAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7XHJcbiAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XHJcbiAgICAgICAgdHJhbnNpdGlvbjogb3BhY2l0eSAuM3MgZWFzZS1pbi1vdXQ7XHJcbiAgICAgICAgXHJcbiAgICAgICAgJjpob3ZlciB7XHJcbiAgICAgICAgICBvcGFjaXR5OiAuNTtcclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgIH1cclxuICAgIFxyXG4gICAgJi1wcmV0ZXh0IHtcclxuICAgICAgbWFyZ2luLWJvdHRvbTogMzBweDtcclxuICAgIH1cclxuICAgIFxyXG4gICAgJi10ZXh0IHtcclxuICAgICAgbWFyZ2luLWJvdHRvbTogMjBweDtcclxuICAgIH1cclxuXHJcbiAgICAmLWVycm9yIHtcclxuICAgICAgbWFyZ2luLWJvdHRvbTogMzBweDtcclxuICAgICAgY29sb3I6ICNmMDA7XHJcbiAgICAgIG9wYWNpdHk6IDA7XHJcbiAgICAgIHRyYW5zaXRpb246IG9wYWNpdHkgLjNzIGVhc2UtaW4tb3V0O1xyXG4gICAgICBcclxuICAgICAgJi0tdmlzaWJsZSB7XHJcbiAgICAgICAgb3BhY2l0eTogMTtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxuICBcclxuICAmX19zdWNjZXNzIHtcclxuICAgIHBhZGRpbmc6IDEwMHB4IDAgOTBweDtcclxuICAgIFxyXG4gICAgJi1pY29uLXdyYXBwZXIge1xyXG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICAgIHdpZHRoOiAxNDVweDtcclxuICAgICAgbWFyZ2luOiAwIGF1dG8gMzVweDtcclxuICAgICAgYm9yZGVyOiA2cHggc29saWQgI2ZmZjtcclxuICAgICAgYm9yZGVyLXJhZGl1czogNTAlO1xyXG4gICAgICBcclxuICAgICAgJjo6YmVmb3JlIHtcclxuICAgICAgICBjb250ZW50OiAnJztcclxuICAgICAgICBkaXNwbGF5OiBibG9jaztcclxuICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgICBwYWRkaW5nLWJvdHRvbTogMTAwJTtcclxuICAgICAgfVxyXG5cclxuICAgICAgQGluY2x1ZGUgbXF1KHNtKSB7XHJcbiAgICAgICAgd2lkdGg6IDg4cHg7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICAgIFxyXG4gICAgJi1pY29uIHtcclxuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgICB0b3A6IDUwJTtcclxuICAgICAgbGVmdDogNTAlO1xyXG4gICAgICB3aWR0aDogNDguOTY1NSU7XHJcbiAgICAgIGhlaWdodDogNTRweDtcclxuICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKCcvTWVkaWEvaWNvbnMvY2hlY2tfYmlhbmNvLnN2ZycpO1xyXG4gICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXIgY2VudGVyO1xyXG4gICAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xyXG4gICAgICBiYWNrZ3JvdW5kLXNpemU6IGNvbnRhaW47XHJcbiAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIC01MCUpO1xyXG4gICAgICBcclxuICAgICAgJjo6YmVmb3JlIHtcclxuICAgICAgICBjb250ZW50OiAnJztcclxuICAgICAgICBkaXNwbGF5OiBibG9jaztcclxuICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgICBwYWRkaW5nLWJvdHRvbTogNzYuMDU2MyU7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICAgIFxyXG4gICAgJi1oZWFkZXIge1xyXG4gICAgICBtYXJnaW46IDAgYXV0byAzNXB4O1xyXG4gICAgICBtYXgtd2lkdGg6IDUxMHB4O1xyXG4gICAgICBmb250LXNpemU6IDQycHg7XHJcbiAgICAgIGxpbmUtaGVpZ2h0OiA0OXB4O1xyXG4gICAgICBmb250LXdlaWdodDogNzAwO1xyXG4gICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcblxyXG4gICAgICBAaW5jbHVkZSBtcXUoc20pIHtcclxuICAgICAgICBtYXJnaW46IDAgYXV0byAxNXB4O1xyXG4gICAgICAgIGZvbnQtc2l6ZTogMjJweDtcclxuICAgICAgICBsaW5lLWhlaWdodDogMjZweDtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gICAgXHJcbiAgICAmLXN1YmhlYWRlciB7XHJcbiAgICAgIGZvbnQtc2l6ZTogMjVweDtcclxuICAgICAgbGluZS1oZWlnaHQ6IDI5cHg7XHJcbiAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcclxuXHJcbiAgICAgIEBpbmNsdWRlIG1xdShzbSkge1xyXG4gICAgICAgIGZvbnQtc2l6ZTogMTVweDtcclxuICAgICAgICBsaW5lLWhlaWdodDogMThweDtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxufSIsIkBpbXBvcnQgXCJob21lcGFnZVwiO1xyXG5AaW1wb3J0IFwibm90Zm91bmRcIjsiLCIuaHAtaGVhZCB7XHJcbiAgZm9udC1zaXplOiAzcmVtO1xyXG4gIGxpbmUtaGVpZ2h0OiAxLjE4NzVlbTtcclxuXHJcbiAgQGluY2x1ZGUgbXF1KHNtKSB7XHJcbiAgICBmb250LXNpemU6IDIuNXJlbTtcclxuICB9XHJcbn0iLCIucGFnZS1ub3QtZm91bmQge1xyXG4gIHRleHQtYWxpZ246IGNlbnRlcjtcclxuICBoZWlnaHQ6IDMwcmVtO1xyXG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICBcclxuICAuY29udGFpbmVyLXdyYXAge1xyXG4gICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgdG9wOiA1MCU7XHJcbiAgICBsZWZ0OiAwO1xyXG4gICAgd2lkdGg6IDEwMCU7XHJcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSk7XHJcbiAgfVxyXG4gIFxyXG4gIGgxIHtcclxuICAgIGNvbG9yOiAkbWFpbkNvbG9yO1xyXG4gICAgZm9udC1zaXplOiA1cmVtO1xyXG4gICAgbWFyZ2luOiAwIDAgMXJlbTtcclxuICB9XHJcbiAgaDIge1xyXG4gICAgY29sb3I6ICRtYWluQ29sb3I7IFxyXG4gICAgZm9udC1zaXplOiAzcmVtO1xyXG4gICAgbWFyZ2luOiAwO1xyXG4gIH1cclxufSJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FFQUE7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztHQXFCRztBVXJCSCw0RUFBNEU7QUFFNUU7Z0ZBQ2dGO0FBRWhGOzs7R0FHRztBVUlILE9BQU8sQ0FBQyx1Q0FBSTtBQUNaLE9BQU8sQ0FBQyxnR0FBSTtBVkhaLEFBQUEsSUFBSSxDQUFDO0VBQ0gsV0FBVyxFQUFFLElBQUk7RUFBRSxPQUFPO0VBQzFCLHdCQUF3QixFQUFFLElBQUk7RUFBRSxPQUFPLEVBQ3hDOztBQUVEO2dGQUNnRjtBQUVoRjs7R0FFRztBQUVILEFBQUEsSUFBSSxDQUFDO0VBQ0gsTUFBTSxFQUFFLENBQUMsR0FDVjs7QUFFRDs7R0FFRztBQUVILEFBQUEsSUFBSSxDQUFDO0VBQ0gsT0FBTyxFQUFFLEtBQUssR0FDZjs7QUFFRDs7O0dBR0c7QUFFSCxBQUFBLEVBQUUsQ0FBQztFQUNELFNBQVMsRUFBRSxHQUFHO0VBQ2QsTUFBTSxFQUFFLFFBQVEsR0FDakI7O0FBRUQ7Z0ZBQ2dGO0FBRWhGOzs7R0FHRztBQUVILEFBQUEsRUFBRSxDQUFDO0VBQ0QsVUFBVSxFQUFFLFdBQVc7RUFBRSxPQUFPO0VBQ2hDLE1BQU0sRUFBRSxDQUFDO0VBQUUsT0FBTztFQUNsQixRQUFRLEVBQUUsT0FBTztFQUFFLE9BQU8sRUFDM0I7O0FBRUQ7OztHQUdHO0FBRUgsQUFBQSxHQUFHLENBQUM7RUFDRixXQUFXLEVBQUUsb0JBQW9CO0VBQUUsT0FBTztFQUMxQyxTQUFTLEVBQUUsR0FBRztFQUFFLE9BQU8sRUFDeEI7O0FBRUQ7Z0ZBQ2dGO0FBRWhGOztHQUVHO0FBRUgsQUFBQSxDQUFDLENBQUM7RUFDQSxnQkFBZ0IsRUFBRSxXQUFXLEdBQzlCOztBQUVEOzs7R0FH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 */
