@charset "UTF-8";
/*! 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("https://fonts.googleapis.com/css?family=Open+Sans:400,400i,600,700,700i");
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 {
  -webkit-box-sizing: content-box;
          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 */
  -webkit-text-decoration: underline dotted;
          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 {
  -webkit-box-sizing: border-box;
          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"] {
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  /* 1 */
  padding: 0;
  /* 2 */ }

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

/**
 * 1. Correct the odd appearance in Chrome and Safari.
 * 2. Correct the outline style in Safari.
 */
[type="search"] {
  -webkit-appearance: textfield;
  /* 1 */
  outline-offset: -2px;
  /* 2 */ }
  [type="search"]::-webkit-search-decoration {
    -webkit-appearance: none; }

/**
 * Remove the inner padding in Chrome and Safari on macOS.
 */
/**
 * 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, [hidden] {
  display: none; }

/**
 * Add the correct display in IE 10.
 */
/**
 * Path
 */
/**
 * Colors
 */
/**
 * Text
 */
/**
 * Responsive
 */
/**
 * Susy
 */
/**
 * Easing
 */
.wysiwyg h2,
.wysiwyg h3,
.wysiwyg h4,
.wysiwyg h5,
.wysiwyg h6, .listing__title, .filters__subtitle, .download__subtitle, .download__label {
  font-weight: 300; }

.btn, .nf-form-content .nf-previous-item .nf-previous, .nf-form-content .nf-previous-item .nf-next, .nf-form-content .nf-next-item .nf-previous, .nf-form-content .nf-next-item .nf-next, .nf-form-wrap .submit-container .nf-field-element input, .nf-form-wrap .nmc-register-submit .nf-field-element input, .btn-link, .btn--transparent, .form, .listing--list .listing__column--name,
.listing--list .listing__column--version,
.listing--list .listing__column--format,
.listing--list .listing__column--size, .filters__title, .details-block__picto li, .details-block__list {
  font-weight: 400; }


.wysiwyg h5,
.wysiwyg h6, .main-nav > ul > li {
  font-weight: 500; }

.listing__label, .listing__subtitle {
  font-weight: 600; }

.main-title b,
.main-title strong, .wysiwyg strong,
.wysiwyg b, .main-nav .sub-menu li.current_page_item a {
  font-weight: 700; }

.btn--delete {
  font-weight: 800; }

.download__title {
  font-weight: 900; }

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

.icon:before, .lb-cancel:before, .lb-data .lb-close:before, .btn-cart span:before, .dk-selected:before, select:before, .select2 .select2-selection--single:before, .product__languages .add_to_cart__container .btn:before, .product__languages .add_to_cart__container .nf-form-content .nf-previous-item .nf-previous:before, .nf-form-content .nf-previous-item .product__languages .add_to_cart__container .nf-previous:before, .product__languages .add_to_cart__container .nf-form-content .nf-previous-item .nf-next:before, .nf-form-content .nf-previous-item .product__languages .add_to_cart__container .nf-next:before, .product__languages .add_to_cart__container .nf-form-content .nf-next-item .nf-previous:before, .nf-form-content .nf-next-item .product__languages .add_to_cart__container .nf-previous:before, .product__languages .add_to_cart__container .nf-form-content .nf-next-item .nf-next:before, .nf-form-content .nf-next-item .product__languages .add_to_cart__container .nf-next:before, .product__languages .add_to_cart__container .nf-form-wrap .submit-container .nf-field-element input:before, .nf-form-wrap .submit-container .nf-field-element .product__languages .add_to_cart__container input:before, .product__languages .add_to_cart__container .nf-form-wrap .nmc-register-submit .nf-field-element input:before, .nf-form-wrap .nmc-register-submit .nf-field-element .product__languages .add_to_cart__container input:before, .product__languages .add_to_cart__container .added_to_cart:before, .main-nav > ul > li.menu-item-has-children > a:before {
  font-family: "nmc";
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  font-style: normal;
  font-variant: normal;
  font-weight: normal;
  /* speak: none; only necessary if not using the private unicode range (firstGlyph option) */
  text-decoration: none;
  text-transform: none; }

.icon-ajax-loader:before, .lb-cancel:before {
  content: "\E001"; }

.icon-arrow-down:before, .dk-selected:before, select:before, .select2 .select2-selection--single:before, .main-nav > ul > li.menu-item-has-children > a:before {
  content: "\E002"; }

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

.icon-arrow-right:before {
  content: "\E004"; }

.icon-arrow-up:before, .main-nav > ul > li.is-open > a:before, .main-nav > ul > li.current_page_parent.is-open > a:before {
  content: "\E005"; }

.icon-cart:before, .btn-cart span:before, .product__languages .add_to_cart__container .btn:before, .product__languages .add_to_cart__container .nf-form-content .nf-previous-item .nf-previous:before, .nf-form-content .nf-previous-item .product__languages .add_to_cart__container .nf-previous:before, .product__languages .add_to_cart__container .nf-form-content .nf-previous-item .nf-next:before, .nf-form-content .nf-previous-item .product__languages .add_to_cart__container .nf-next:before, .product__languages .add_to_cart__container .nf-form-content .nf-next-item .nf-previous:before, .nf-form-content .nf-next-item .product__languages .add_to_cart__container .nf-previous:before, .product__languages .add_to_cart__container .nf-form-content .nf-next-item .nf-next:before, .nf-form-content .nf-next-item .product__languages .add_to_cart__container .nf-next:before, .product__languages .add_to_cart__container .nf-form-wrap .submit-container .nf-field-element input:before, .nf-form-wrap .submit-container .nf-field-element .product__languages .add_to_cart__container input:before, .product__languages .add_to_cart__container .nf-form-wrap .nmc-register-submit .nf-field-element input:before, .nf-form-wrap .nmc-register-submit .nf-field-element .product__languages .add_to_cart__container input:before, .product__languages .add_to_cart__container .added_to_cart:before {
  content: "\E006"; }

.icon-check:before, .listing__checkbox:checked + label span:before {
  content: "\E007"; }

.icon-cross:before, .lb-data .lb-close:before {
  content: "\E008"; }

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

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

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

.icon-file-dxf:before {
  content: "\E00C"; }

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

@-webkit-keyframes rotating {
  from {
    -webkit-transform: rotate(0deg);
            transform: rotate(0deg); }
  to {
    -webkit-transform: rotate(360deg);
            transform: rotate(360deg); } }

@keyframes rotating {
  from {
    -webkit-transform: rotate(0deg);
            transform: rotate(0deg); }
  to {
    -webkit-transform: rotate(360deg);
            transform: rotate(360deg); } }

html.lb-disable-scrolling {
  overflow: hidden;
  /* Position fixed required for iOS. Just putting overflow: hidden; on the body is not enough. */
  position: fixed;
  height: 100vh;
  width: 100vw; }

.lightboxOverlay {
  position: absolute;
  top: 0;
  left: 0;
  z-index: 9999;
  background-color: black;
  filter: progid:DXImageTransform.Microsoft.Alpha(Opacity=80);
  opacity: 0.8;
  display: none; }

.lightbox {
  position: absolute;
  left: 0;
  width: 100%;
  z-index: 10000;
  text-align: center;
  line-height: 0;
  font-weight: normal; }

.lightbox .lb-image {
  display: block;
  height: auto;
  max-width: inherit;
  max-height: none;
  border-radius: 3px;
  /* Image border */
  border: 4px solid white; }

.lightbox a img {
  border: none; }

.lb-outerContainer {
  position: relative;
  *zoom: 1;
  width: 250px;
  height: 250px;
  margin: 0 auto;
  border-radius: 4px;
  /* Background color behind image.
	 This is visible during transitions. */
  background-color: white; }

.lb-outerContainer:after {
  content: "";
  display: table;
  clear: both; }

.lb-loader {
  position: absolute;
  top: 43%;
  left: 0;
  height: 25%;
  width: 100%;
  text-align: center;
  line-height: 0; }

.lb-cancel {
  display: block;
  width: 32px;
  height: 32px;
  margin: 0 auto; }
  .lb-cancel::before {
    color: #ffffff;
    line-height: 32px;
    font-size: 32px;
    text-align: center; }

.lb-nav {
  position: absolute;
  top: 0;
  left: 0;
  height: 100%;
  width: 100%;
  z-index: 10; }

.lb-container > .nav {
  left: 0; }

.lb-nav a {
  outline: none;
  background-image: url("data:image/gif;base64,R0lGODlhAQABAPAAAP///wAAACH5BAEAAAAALAAAAAABAAEAAAICRAEAOw=="); }

.lb-prev, .lb-next {
  height: 100%;
  cursor: pointer;
  display: block; }

.lb-nav a.lb-prev {
  width: 34%;
  left: 0;
  float: left;
  filter: progid:DXImageTransform.Microsoft.Alpha(Opacity=0);
  opacity: 0;
  -webkit-transition: opacity 0.6s;
  transition: opacity 0.6s; }

.lb-nav a.lb-prev:hover {
  filter: progid:DXImageTransform.Microsoft.Alpha(Opacity=100);
  opacity: 1; }

.lb-nav a.lb-next {
  width: 64%;
  right: 0;
  float: right;
  filter: progid:DXImageTransform.Microsoft.Alpha(Opacity=0);
  opacity: 0;
  -webkit-transition: opacity 0.6s;
  transition: opacity 0.6s; }

.lb-nav a.lb-next:hover {
  filter: progid:DXImageTransform.Microsoft.Alpha(Opacity=100);
  opacity: 1; }

.lb-dataContainer {
  margin: 0 auto;
  padding-top: 5px;
  *zoom: 1;
  width: 100%;
  border-bottom-left-radius: 4px;
  border-bottom-right-radius: 4px; }

.lb-dataContainer:after {
  content: "";
  display: table;
  clear: both; }

.lb-data {
  padding: 0 4px;
  color: #ccc; }

.lb-data .lb-details {
  width: 85%;
  float: left;
  text-align: left;
  line-height: 1.1em; }

.lb-data .lb-caption {
  font-size: 13px;
  font-weight: bold;
  line-height: 1em; }

.lb-data .lb-caption a {
  color: #4ae; }

.lb-data .lb-number {
  display: block;
  clear: left;
  padding-bottom: 1em;
  font-size: 12px;
  color: #999999; }

.lb-data .lb-close {
  display: block;
  float: right;
  width: 30px;
  height: 30px;
  text-align: right;
  outline: none;
  filter: progid:DXImageTransform.Microsoft.Alpha(Opacity=70);
  opacity: 0.7;
  -webkit-transition: opacity 0.2s;
  transition: opacity 0.2s; }
  .lb-data .lb-close::before {
    vertical-align: top;
    font-size: 17px;
    line-height: 1;
    color: #ffffff; }
  .lb-data .lb-close:hover {
    text-decoration: none; }

.lb-data .lb-close:hover {
  cursor: pointer;
  filter: progid:DXImageTransform.Microsoft.Alpha(Opacity=100);
  opacity: 1; }

/**
 * 
 * 
 * Noomia Lightbox
 * 
 * 
 */
.noo_lightbox {
  -webkit-transform: translate(-50%, -50%);
  transform: translate(-50%, -50%);
  position: absolute;
  z-index: 10;
  top: 50%;
  left: 50%;
  overflow-x: hidden;
  overflow-y: auto;
  width: 90%;
  max-width: 570px;
  max-height: 90%;
  padding: 30px;
  border-radius: 4px;
  background-color: #ffffff; }
  @media screen and (max-width: 970px) {
    .noo_lightbox {
      -webkit-overflow-scrolling: touch; } }
  @media screen and (max-width: 600px) {
    .noo_lightbox {
      -webkit-box-sizing: border-box;
              box-sizing: border-box;
      width: 90%; } }
  .noo_lightbox__container {
    position: fixed;
    z-index: 10000;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    display: none; }
  .noo_lightbox__content {
    text-align: center; }
    .noo_lightbox__content .wysiwyg {
      margin-bottom: 50px; }
  .noo_lightbox__close {
    position: absolute;
    top: 20px;
    right: 20px; }
  .noo_lightbox__overlay {
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    opacity: 0.8;
    background-color: #131820; }
  .noo_lightbox .tabs {
    margin-bottom: 30px;
    text-align: left; }
    @media screen and (max-width: 500px) {
      .noo_lightbox .tabs {
        padding-left: 10px;
        padding-right: 10px; } }

.noo_lightbox__container[data-lightbox=confirm] .noo_lightbox {
  max-width: 500px; }
  .noo_lightbox__container[data-lightbox=confirm] .noo_lightbox .title {
    margin-bottom: 15px; }
  .noo_lightbox__container[data-lightbox=confirm] .noo_lightbox .wysiwyg {
    margin-bottom: 30px; }

.main-title {
  font-family: "futura-pt", Futura, "Trebuchet MS", Arial, sans-serif;
  font-size: 2rem;
  font-weight: 300;
  margin: 0;
  letter-spacing: 4px;
  text-transform: uppercase;
  color: #202124; }
  .main-title--center {
    margin: 0 auto;
    text-align: center; }
  .main-title b,
  .main-title strong {
    display: inline-block; }
  .main-title span {
    position: relative; }
    .main-title span:before {
      position: absolute;
      right: -2px;
      bottom: 5px;
      left: -2px;
      display: block;
      height: 10px;
      content: "";
      background-color: rgba(247, 101, 0, 0.1); }

.wysiwyg {
  font-size: 1rem;
  line-height: 1.7;
  /**
     * Title
     */
  /**
     * Style
     */
  /**
     * Quote
     */
  /**
     * iFrame
     */
  /**
     * hr
     */
  /**
     * List
     */ }
  .wysiwyg h2,
  .wysiwyg h3,
  .wysiwyg h4,
  .wysiwyg h5,
  .wysiwyg h6 {
    font-family: "futura-pt", Futura, "Trebuchet MS", Arial, sans-serif;
    margin-top: 0; }
  .wysiwyg h2 {
    font-size: 1.75rem; }
  .wysiwyg h3 {
    font-size: 1.5rem; }
  .wysiwyg h4 {
    font-size: 1.25rem; }
  .wysiwyg h5 {
    font-size: 1.125rem; }
  .wysiwyg h6 {
    font-size: 1rem; }
  .wysiwyg em,
  .wysiwyg i {
    font-style: italic; }
  .wysiwyg p {
    margin-top: 0; }
  .wysiwyg a:hover {
    text-decoration: underline; }
  .wysiwyg figure {
    display: block;
    max-width: 100%;
    margin: 0 0 1.875rem 0; }
    .wysiwyg figure figcaption {
      font-size: 0.75rem;
      position: relative;
      display: block; }
    .wysiwyg figure img {
      display: block;
      max-width: 100%;
      height: auto; }
    .wysiwyg figure.align-left {
      float: left;
      margin-right: 1.875rem; }
    .wysiwyg figure.align-right {
      float: right;
      margin-left: 1.875rem; }
    .wysiwyg figure.align-center img {
      margin: 0 auto; }
  .wysiwyg img {
    display: block;
    max-width: 100%;
    height: auto;
    margin: 0 0 1.875rem 0; }
    .wysiwyg img.alignleft {
      float: left;
      margin-right: 1.875rem; }
    .wysiwyg img.alignright {
      float: right;
      margin-left: 1.875rem; }
    .wysiwyg img.aligncenter img {
      margin: 0 auto; }
  .wysiwyg blockquote {
    font-size: 1.5rem;
    font-style: italic;
    padding-left: 3.75rem; }
  .wysiwyg iframe {
    width: 100%; }
  .wysiwyg hr {
    margin: 1.875rem;
    border: 1px solid #ebebeb; }
  .wysiwyg ul,
  .wysiwyg ol {
    margin: 0 0 1.875rem; }
    .wysiwyg ul li,
    .wysiwyg ol li {
      position: relative;
      margin-bottom: 0.3125rem; }
      .wysiwyg ul li:last-child,
      .wysiwyg ol li:last-child {
        margin-bottom: 0; }
    .wysiwyg ul ul,
    .wysiwyg ul ol,
    .wysiwyg ol ul,
    .wysiwyg ol ol {
      margin-bottom: 0.625rem; }
  .wysiwyg ul li {
    padding-left: 1.25rem;
    list-style: none; }
    .wysiwyg ul li::before {
      border-radius: 50%;
      -khtml-border-radius: 50%;
      display: block;
      width: 0.3125rem;
      height: 0.3125rem;
      position: absolute;
      top: 0.625rem;
      left: 0;
      content: "";
      background-color: #f76500; }
  .wysiwyg ol {
    counter-reset: list; }
    .wysiwyg ol li {
      padding-left: 1.25rem;
      list-style: none; }
      .wysiwyg ol li::before {
        position: absolute;
        top: 0;
        left: 0;
        content: counter(list) ". ";
        counter-increment: list;
        color: #f76500; }

button {
  cursor: pointer;
  border: none;
  background: none; }
  button:focus, button:active {
    outline: none; }

.btn, .nf-form-content .nf-previous-item .nf-previous, .nf-form-content .nf-previous-item .nf-next, .nf-form-content .nf-next-item .nf-previous, .nf-form-content .nf-next-item .nf-next, .nf-form-wrap .submit-container .nf-field-element input, .nf-form-wrap .nmc-register-submit .nf-field-element input {
  font-family: "futura-pt", Futura, "Trebuchet MS", Arial, sans-serif;
  font-size: 0.75rem;
  line-height: 1.2;
  position: relative;
  padding: 22px 25px;
  -webkit-transition: background-color 0.2s cubic-bezier(0.455, 0.03, 0.515, 0.955), color 0.2s cubic-bezier(0.455, 0.03, 0.515, 0.955);
  transition: background-color 0.2s cubic-bezier(0.455, 0.03, 0.515, 0.955), color 0.2s cubic-bezier(0.455, 0.03, 0.515, 0.955);
  letter-spacing: 0.1875rem;
  text-transform: uppercase;
  color: #ffffff;
  border: none;
  background-color: #f76500;
  -webkit-user-select: none;
     -moz-user-select: none;
      -ms-user-select: none;
          user-select: none; }
  .btn span, .nf-form-content .nf-previous-item .nf-previous span, .nf-form-content .nf-previous-item .nf-next span, .nf-form-content .nf-next-item .nf-previous span, .nf-form-content .nf-next-item .nf-next span, .nf-form-wrap .submit-container .nf-field-element input span, .nf-form-wrap .nmc-register-submit .nf-field-element input span {
    position: relative;
    z-index: 10; }
  .btn:hover, .nf-form-content .nf-previous-item .nf-previous:hover, .nf-form-content .nf-previous-item .nf-next:hover, .nf-form-content .nf-next-item .nf-previous:hover, .nf-form-content .nf-next-item .nf-next:hover, .nf-form-wrap .submit-container .nf-field-element input:hover, .nf-form-wrap .nmc-register-submit .nf-field-element input:hover, .btn:focus, .nf-form-content .nf-previous-item .nf-previous:focus, .nf-form-content .nf-previous-item .nf-next:focus, .nf-form-content .nf-next-item .nf-previous:focus, .nf-form-content .nf-next-item .nf-next:focus, .nf-form-wrap .submit-container .nf-field-element input:focus, .nf-form-wrap .nmc-register-submit .nf-field-element input:focus {
    background: #ce5400; }
  .btn--compact {
    padding: 10px 25px; }
  .btn--hide {
    opacity: 0; }
  .btn--stroke {
    color: #f76500;
    background-color: transparent;
    border: 2px solid #f76500; }
    .btn--stroke:hover, .btn--stroke:focus {
      color: #ffffff;
      background: #ce5400; }
  .btn:disabled, .nf-form-content .nf-previous-item .nf-previous:disabled, .nf-form-content .nf-previous-item .nf-next:disabled, .nf-form-content .nf-next-item .nf-previous:disabled, .nf-form-content .nf-next-item .nf-next:disabled, .nf-form-wrap .submit-container .nf-field-element input:disabled, .nf-form-wrap .nmc-register-submit .nf-field-element input:disabled {
    background-color: #d8d8d8;
    color: #202124;
    cursor: not-allowed; }

.btn-cart {
  float: right;
  display: inline-block;
  background-color: #d8d8d8;
  color: #202124; }
  .btn-cart:hover {
    text-decoration: none;
    background-color: #bfbfbf; }
  .btn-cart span:before {
    margin-right: 5px; }

.btn-link {
  font-family: "futura-pt", Futura, "Trebuchet MS", Arial, sans-serif;
  font-size: 0.75rem;
  line-height: 1.25rem;
  padding: 0;
  letter-spacing: 0.1875rem;
  text-transform: uppercase;
  color: #f76500; }
  .btn-link--is-hide {
    opacity: 0; }
  .btn-link mark {
    color: #f76500;
    background: none; }
  .btn-link span {
    display: inline-block; }
    .btn-link span::before {
      position: relative;
      top: -0.0625rem;
      display: inline-block;
      width: 1.25rem;
      height: 0.0625rem;
      margin-right: 0.625rem;
      content: "";
      vertical-align: middle;
      background-color: #f76500; }

.btn--delete {
  position: relative;
  font-family: "Open Sans", Helvetica, Arial, sans-serif;
  font-size: 12px;
  line-height: 50px;
  display: inline-block;
  padding: 0 10px;
  margin-left: -10px;
  letter-spacing: 2px;
  text-transform: uppercase;
  color: #f76500;
  -webkit-transition: color 0.2s cubic-bezier(0.6, 0, 0.735, 0.045);
  transition: color 0.2s cubic-bezier(0.6, 0, 0.735, 0.045); }
  .btn--delete:hover {
    text-decoration: none;
    color: #dc0000; }

.btn--close {
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  width: 15px;
  height: 15px;
  margin: 0;
  padding: 0;
  cursor: pointer;
  border: none;
  background: none; }
  .btn--close:before, .btn--close:after {
    position: absolute;
    display: block;
    width: 20px;
    height: 3px;
    content: "";
    -webkit-transition: opacity 0.3s cubic-bezier(0.95, 0.05, 0.795, 0.035), -webkit-transform 0.3s cubic-bezier(0.95, 0.05, 0.795, 0.035);
    transition: opacity 0.3s cubic-bezier(0.95, 0.05, 0.795, 0.035), -webkit-transform 0.3s cubic-bezier(0.95, 0.05, 0.795, 0.035);
    transition: transform 0.3s cubic-bezier(0.95, 0.05, 0.795, 0.035), opacity 0.3s cubic-bezier(0.95, 0.05, 0.795, 0.035);
    transition: transform 0.3s cubic-bezier(0.95, 0.05, 0.795, 0.035), opacity 0.3s cubic-bezier(0.95, 0.05, 0.795, 0.035), -webkit-transform 0.3s cubic-bezier(0.95, 0.05, 0.795, 0.035);
    -webkit-transform-origin: 50% 50%;
            transform-origin: 50% 50%;
    background-color: #ffaa4c; }
  .btn--close:before {
    top: 50%;
    -webkit-transform: translateY(-50%) rotate(45deg);
            transform: translateY(-50%) rotate(45deg); }
  .btn--close:after {
    top: 50%;
    -webkit-transition-delay: .15s;
            transition-delay: .15s;
    -webkit-transform: translateY(-50%) rotate(-45deg);
            transform: translateY(-50%) rotate(-45deg); }

.btn--transparent {
  font-family: "futura-pt", Futura, "Trebuchet MS", Arial, sans-serif;
  font-size: 0.75rem;
  line-height: 1.2;
  position: relative;
  padding: 22px 25px;
  -webkit-transition: background-color 0.2s cubic-bezier(0.455, 0.03, 0.515, 0.955), color 0.2s cubic-bezier(0.455, 0.03, 0.515, 0.955);
  transition: background-color 0.2s cubic-bezier(0.455, 0.03, 0.515, 0.955), color 0.2s cubic-bezier(0.455, 0.03, 0.515, 0.955);
  letter-spacing: 0.1875rem;
  text-transform: uppercase;
  color: #d8d8d8;
  border: none;
  background-color: transparent; }
  .btn--transparent span {
    position: relative;
    z-index: 10; }
  .btn--transparent:hover, .btn--transparent:focus {
    background: #ce5400; }
  .btn--transparent--compact {
    padding: 10px 25px; }
  .btn--transparent--hide {
    opacity: 0; }
  .btn--transparent--stroke {
    color: #f76500;
    background-color: transparent;
    border: 2px solid #f76500; }
    .btn--transparent--stroke:hover, .btn--transparent--stroke:focus {
      color: #ffaa4c;
      -webkit-transition: color .2s linear;
      transition: color .2s linear;
      background: transparent; }
  .btn--transparent:disabled {
    background-color: #d8d8d8;
    color: #202124;
    cursor: not-allowed; }

form input, form select, form textarea, form .dk-selected, form select, form .dk-select-options {
  font-family: "Open Sans", Helvetica, Arial, sans-serif;
  font-size: 13px;
  letter-spacing: normal; }

form .nf-field-label {
  font-size: 14px; }

form fieldset {
  margin-bottom: 30px;
  padding: 0;
  border: none; }
  form fieldset:last-child {
    margin-bottom: 0; }

.form__notice {
  font-size: 0.8125rem;
  margin-bottom: 1.875rem;
  padding: 0.9375rem 1.25rem;
  text-align: center;
  color: #f76500;
  border: 0.0625rem solid #f76500;
  background-color: rgba(247, 101, 0, 0.2); }
  .form__notice p {
    margin-top: 0; }
  .form__notice--errors {
    color: #dc0000;
    border-color: #dc0000;
    background-color: rgba(220, 0, 0, 0.2); }
  .form__notice--success {
    color: #78ae11;
    border-color: #78ae11;
    background-color: rgba(120, 174, 17, 0.2); }
  .form__notice--is-hidden {
    display: none; }

.form__submit {
  position: relative; }
  .form__submit span {
    -webkit-transition: opacity 0.2s cubic-bezier(0.455, 0.03, 0.515, 0.955);
    transition: opacity 0.2s cubic-bezier(0.455, 0.03, 0.515, 0.955); }
  .form__submit::before {
    width: 1.25rem;
    height: 1.25rem;
    font-size: 1.25rem;
    line-height: 1;
    position: absolute;
    z-index: 0;
    top: 50%;
    left: 50%;
    display: block;
    margin-top: -0.625rem;
    margin-left: -0.625rem;
    -webkit-transition: opacity 0.2s cubic-bezier(0.455, 0.03, 0.515, 0.955);
    transition: opacity 0.2s cubic-bezier(0.455, 0.03, 0.515, 0.955);
    -webkit-transform-origin: 50% 50%;
            transform-origin: 50% 50%;
    -webkit-animation: rotating .8s infinite both;
            animation: rotating .8s infinite both;
    opacity: 0; }
  .form__submit.is-load {
    cursor: none; }
    .form__submit.is-load span {
      opacity: 0; }
    .form__submit.is-load::before {
      opacity: 1; }

.form__response {
  font-size: 0.8125rem;
  text-align: center; }

.field {
  position: relative;
  margin-bottom: 1.375rem;
  clear: both; }
  .field:last-child {
    margin-bottom: 0; }
  .field--icon {
    position: relative; }
    .field--icon::before {
      font-size: 1.125rem;
      line-height: 1;
      position: absolute;
      z-index: 10;
      top: 50%;
      left: 1.3125rem;
      -webkit-transform: translate3d(0, -50%, 0);
              transform: translate3d(0, -50%, 0);
      opacity: .5;
      color: #202124; }
  .field--half {
    clear: none;
    width: calc( ( 100% - 30px ) / 2);
    float: left;
    margin-right: 30px; }
    .field--half + .field {
      margin-right: 0; }
    @media screen and (max-width: 700px) {
      .field--half {
        float: none;
        width: auto;
        margin-right: auto; } }
  .field__required, .field__required[title] {
    text-decoration: none;
    color: red;
    border: none; }

@media screen and (min-width: 600px) {
  .action.is-recaptcha {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: reverse;
        -ms-flex-direction: row-reverse;
            flex-direction: row-reverse;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between; }
    .action.is-recaptcha .btn, .action.is-recaptcha .nf-form-content .nf-previous-item .nf-previous, .nf-form-content .nf-previous-item .action.is-recaptcha .nf-previous, .action.is-recaptcha .nf-form-content .nf-previous-item .nf-next, .nf-form-content .nf-previous-item .action.is-recaptcha .nf-next, .action.is-recaptcha .nf-form-content .nf-next-item .nf-previous, .nf-form-content .nf-next-item .action.is-recaptcha .nf-previous, .action.is-recaptcha .nf-form-content .nf-next-item .nf-next, .nf-form-content .nf-next-item .action.is-recaptcha .nf-next, .action.is-recaptcha .nf-form-wrap .submit-container .nf-field-element input, .nf-form-wrap .submit-container .nf-field-element .action.is-recaptcha input, .action.is-recaptcha .nf-form-wrap .nmc-register-submit .nf-field-element input, .nf-form-wrap .nmc-register-submit .nf-field-element .action.is-recaptcha input {
      margin-right: 1.375rem; } }

.action.is-recaptcha .grecaptcha-badge {
  -webkit-box-shadow: none !important;
          box-shadow: none !important; }
  @media screen and (max-width: 600px) {
    .action.is-recaptcha .grecaptcha-badge {
      margin: auto; } }

@media screen and (max-width: 600px) {
  .action.is-recaptcha {
    text-align: center; }
    .action.is-recaptcha .btn, .action.is-recaptcha .nf-form-content .nf-previous-item .nf-previous, .nf-form-content .nf-previous-item .action.is-recaptcha .nf-previous, .action.is-recaptcha .nf-form-content .nf-previous-item .nf-next, .nf-form-content .nf-previous-item .action.is-recaptcha .nf-next, .action.is-recaptcha .nf-form-content .nf-next-item .nf-previous, .nf-form-content .nf-next-item .action.is-recaptcha .nf-previous, .action.is-recaptcha .nf-form-content .nf-next-item .nf-next, .nf-form-content .nf-next-item .action.is-recaptcha .nf-next, .action.is-recaptcha .nf-form-wrap .submit-container .nf-field-element input, .nf-form-wrap .submit-container .nf-field-element .action.is-recaptcha input, .action.is-recaptcha .nf-form-wrap .nmc-register-submit .nf-field-element input, .nf-form-wrap .nmc-register-submit .nf-field-element .action.is-recaptcha input {
      margin-top: 1.875rem; } }

.input {
  font-size: 0.8125rem;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  color: #202124; }
  .input:-moz-placeholder {
    color: rgba(32, 33, 36, 0.5); }
  .input::-moz-placeholder {
    color: rgba(32, 33, 36, 0.5); }
  .input:-ms-input-placeholder {
    color: rgba(32, 33, 36, 0.5); }
  .input::-webkit-input-placeholder {
    color: rgba(32, 33, 36, 0.5); }
  .input--text {
    width: 100%;
    padding: 1.25rem 3.125rem;
    border: none;
    background-color: #ffffff; }
  .input--checkbox, .input--radio {
    position: absolute;
    z-index: 0;
    width: 0;
    height: 0;
    opacity: 0; }
    .input--checkbox:checked + label::after, .input--radio:checked + label::after {
      opacity: 1; }
  .input:focus {
    outline: none; }
  .input--darken {
    background-color: #f8f8f8; }

textarea {
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  width: 100%;
  height: 150px;
  border: 1px solid #ebebeb;
  resize: vertical;
  outline: none;
  padding: 1em;
  line-height: 1.5; }

.label, .page .checkbox-wrap label, .page .list-checkbox-wrap ul label {
  font-size: 0.8125rem;
  position: relative;
  cursor: pointer;
  letter-spacing: 0.03125rem;
  color: rgba(32, 33, 36, 0.5); }
  .label--hidden {
    font: 0/0 a;
    color: transparent;
    border: 0;
    background-color: transparent;
    text-shadow: none;
    position: absolute; }
  .label--center {
    left: 50%;
    -webkit-transform: translate3d(-50%, 0, 0);
            transform: translate3d(-50%, 0, 0); }
  .label--checkbox, .page .checkbox-wrap label, .page .list-checkbox-wrap ul label, .label--radio {
    display: inline-block;
    padding-left: 28px; }
    .label--checkbox::before, .page .checkbox-wrap label::before, .page .list-checkbox-wrap ul label::before, .label--radio::before {
      position: absolute;
      top: 2px;
      left: 0;
      display: inline-block;
      -webkit-box-sizing: border-box;
              box-sizing: border-box;
      width: 18px;
      height: 18px;
      content: "";
      vertical-align: top;
      background-color: #ffffff; }
    .label--checkbox::after, .page .checkbox-wrap label::after, .page .list-checkbox-wrap ul label::after, .label--radio::after {
      position: absolute;
      top: 8px;
      left: 6px;
      display: block;
      width: 5px;
      height: 5px;
      content: "";
      -webkit-transition: opacity 0.2s cubic-bezier(0.455, 0.03, 0.515, 0.955);
      transition: opacity 0.2s cubic-bezier(0.455, 0.03, 0.515, 0.955);
      vertical-align: middle;
      opacity: 0;
      background-color: #f76500; }
    .label--checkbox--darken::before, .label--radio--darken::before {
      border: 1px solid #a7a7a8; }
  .label--radio::before {
    border-radius: 50%; }
  .label--radio::after {
    border-radius: 50%; }

/*************************
Form Message
*************************/
.noo__form__message {
  font-size: 14px;
  line-height: 1.5;
  position: absolute;
  top: 100%;
  left: 50%;
  display: inline-block;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  min-width: 200px;
  max-width: 500px;
  padding: 8px 30px;
  margin: 0;
  margin-top: -10px;
  -webkit-transform: translate3d(-50%, 0, 0);
          transform: translate3d(-50%, 0, 0);
  color: #ffffff;
  border-radius: 5px;
  background: #f76500;
  -webkit-box-shadow: 0 15px 6px -10px rgba(120, 25, 25, 0.1);
          box-shadow: 0 15px 6px -10px rgba(120, 25, 25, 0.1); }
  @media screen and (max-width: 600pxpx) {
    .noo__form__message {
      width: 100%; } }
  .noo__form__message::before {
    position: absolute;
    top: 0;
    left: 50%;
    width: 0;
    height: 0;
    content: "";
    -webkit-transform: translate3d(-50%, -100%, 0);
            transform: translate3d(-50%, -100%, 0);
    border-right: 5px solid transparent;
    border-bottom: 5px solid #f76500;
    border-left: 5px solid transparent; }
  .noo__form__message.is-success {
    background: #26a051;
    -webkit-box-shadow: 0 15px 6px -10px rgba(38, 160, 81, 0.1);
            box-shadow: 0 15px 6px -10px rgba(38, 160, 81, 0.1); }
    .noo__form__message.is-success::before {
      border-bottom-color: #26a051; }
  .noo__form__message.--error {
    -webkit-animation: swing_show 0.35s cubic-bezier(0.95, 0.05, 0.795, 0.035);
            animation: swing_show 0.35s cubic-bezier(0.95, 0.05, 0.795, 0.035);
    margin-bottom: auto;
    color: #f76500; }

/*************************
NINJA FORMS
*************************/
.nf-form-wrap {
  margin: 3.125rem 0; }
  .nf-form-wrap:before, .nf-form-wrap:after {
    display: table;
    /* 2 */
    content: " ";
    /* 1 */ }
  .nf-form-wrap:after {
    clear: both; }
  .nf-form-wrap .nf-form-fields-required {
    font-size: 0.875rem;
    font-style: italic;
    margin-bottom: 0.625rem;
    text-align: right; }
  .nf-form-wrap .nf-error-msg {
    font-size: 0.875rem;
    font-style: italic; }
  @media screen and (max-width: 600px) {
    .nf-form-wrap .submit-container {
      text-align: center; } }
  .nf-form-wrap .nf-field-container {
    -webkit-box-sizing: border-box;
            box-sizing: border-box;
    padding: 0; }
    .nf-form-wrap .nf-field-container.middle {
      float: left;
      clear: none;
      width: calc(150px + ((100% - 330px) / 12 * 6));
      margin-right: 30px; }
      @media screen and (max-width: 600px) {
        .nf-form-wrap .nf-field-container.middle {
          width: 100%;
          margin-right: 0; } }
      .nf-form-wrap .nf-field-container.middle--last {
        margin-right: 0; }
    .nf-form-wrap .nf-field-container input:not([type=submit]),
    .nf-form-wrap .nf-field-container textarea {
      font-size: 0.8125rem;
      -webkit-box-sizing: border-box;
              box-sizing: border-box;
      width: 100%;
      padding: 1.25rem 1.25rem;
      border: none;
      color: #202124;
      background-color: #ffffff; }
      .nf-form-wrap .nf-field-container input:not([type=submit]):-moz-placeholder,
      .nf-form-wrap .nf-field-container textarea:-moz-placeholder {
        color: rgba(32, 33, 36, 0.5); }
      .nf-form-wrap .nf-field-container input:not([type=submit])::-moz-placeholder,
      .nf-form-wrap .nf-field-container textarea::-moz-placeholder {
        color: rgba(32, 33, 36, 0.5); }
      .nf-form-wrap .nf-field-container input:not([type=submit]):-ms-input-placeholder,
      .nf-form-wrap .nf-field-container textarea:-ms-input-placeholder {
        color: rgba(32, 33, 36, 0.5); }
      .nf-form-wrap .nf-field-container input:not([type=submit])::-webkit-input-placeholder,
      .nf-form-wrap .nf-field-container textarea::-webkit-input-placeholder {
        color: rgba(32, 33, 36, 0.5); }
      .page__account .nf-form-wrap .nf-field-container input:not([type=submit]), .page__account
      .nf-form-wrap .nf-field-container textarea {
        color: #202124;
        background-color: #f8f8f8; }
      .nf-form-wrap .nf-field-container input:not([type=submit]):focus,
      .nf-form-wrap .nf-field-container textarea:focus {
        outline: none; }
    .nf-form-wrap .nf-field-container textarea {
      line-height: 1.6;
      resize: vertical; }
    .nf-form-wrap .nf-field-container input[type="button"] {
      line-height: 3.75rem;
      height: 3.75rem;
      margin-top: 0.4375rem;
      padding: 0 1.5625rem;
      color: #ffffff;
      background: #f76500; }
  .nf-form-wrap .nf-field-element select {
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    border: none;
    outline: none;
    height: 54px;
    padding-left: 1.5em;
    font-size: 0.8125rem;
    color: #202124;
    color: rgba(32, 33, 36, 0.5);
    background-color: #ffffff; }
    .page__account .nf-form-wrap .nf-field-element select {
      color: #202124;
      background-color: #f8f8f8; }

.contact-category-choose .nf-field-element li:last-child {
  margin-top: 1.3em !important; }

.nf-form-content .nf-next-previous {
  margin: 0 !important; }

.nf-form-content .nf-previous-item:before, .nf-form-content .nf-previous-item:after, .nf-form-content .nf-next-item:before, .nf-form-content .nf-next-item:after {
  display: none; }

.nf-form-content .nf-previous-item .nf-previous, .nf-form-content .nf-previous-item .nf-next, .nf-form-content .nf-next-item .nf-previous, .nf-form-content .nf-next-item .nf-next {
  cursor: pointer; }

.nf-form-content .nf-previous-item .nf-previous, .nf-form-content .nf-next-item .nf-previous {
  background-color: #d8d8d8;
  color: #202124; }
  .nf-form-content .nf-previous-item .nf-previous:hover, .nf-form-content .nf-previous-item .nf-previous:focus, .nf-form-content .nf-next-item .nf-previous:hover, .nf-form-content .nf-next-item .nf-previous:focus {
    color: #ffffff; }

.nf-form-wrap .submit-container .nf-field-element input {
  cursor: pointer; }

.nf-form-wrap .nmc-register-submit {
  margin-bottom: 0 !important; }
  .nf-form-wrap .nmc-register-submit .nf-field {
    position: absolute;
    right: 0; }
  .nf-form-wrap .nmc-register-submit .nf-field-element input {
    cursor: pointer; }

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

.dk-select,
.dk-select-multi {
  line-height: 50px;
  position: relative;
  display: inline-block;
  width: 100%;
  cursor: pointer;
  vertical-align: middle;
  letter-spacing: 2px;
  color: rgba(32, 33, 36, 0.5);
  font-weight: 500;
  font-size: 13px;
  font-family: "futura-pt", Futura, "Trebuchet MS", Arial, sans-serif; }
  .dk-select .dk-option:before,
  .dk-select-multi .dk-option:before {
    content: '';
    display: none; }

.dk-selected, select {
  height: 54px;
  position: relative;
  overflow: hidden;
  width: 100%;
  line-height: 1;
  font-size: 13px;
  padding: 18px 20px;
  padding-right: 2.5em;
  background-color: #ffffff;
  color: #202124; }
  .dk-selected:before, select:before {
    font-size: 6px;
    position: absolute;
    right: 20px;
    top: 20px;
    pointer-events: none;
    color: rgba(32, 33, 36, 0.5); }

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

.dk-selected:before, select:before {
  -webkit-transform: translate(0, -50%);
  transform: translate(0, -50%);
  -webkit-transition: transform 0.2s ease-out;
  -webkit-transition: -webkit-transform 0.2s ease-out;
  transition: -webkit-transform 0.2s ease-out;
  transition: transform 0.2s ease-out;
  transition: transform 0.2s ease-out, -webkit-transform 0.2s ease-out;
  top: 50%;
  right: 20px;
  font-size: 4px;
  color: #f76500; }

.dk-select-open-down {
  z-index: 500; }

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

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

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

.dk-select-open-down .dk-select-options {
  top: 100%; }

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

.dk-select-options {
  font-size: 14px;
  z-index: 100;
  overflow-x: hidden;
  overflow-y: auto;
  -webkit-overflow-scrolling: touch;
  width: auto;
  min-width: 100%;
  max-height: 275px;
  margin: 0;
  list-style: none;
  -webkit-box-shadow: 0 10px 10px #ebebeb;
          box-shadow: 0 10px 10px #ebebeb;
  -webkit-box-shadow: 0 5px 10px rgba(235, 235, 235, 0.5);
          box-shadow: 0 5px 10px rgba(235, 235, 235, 0.5);
  background-color: #ffffff; }
  .dk-select-options::-webkit-scrollbar {
    width: 9px; }
  .dk-select-options::-webkit-scrollbar-track {
    border-radius: 5px;
    background: rgba(32, 33, 36, 0.1); }
  .dk-select-options::-webkit-scrollbar-thumb {
    border-radius: 5px;
    background: rgba(32, 33, 36, 0.2); }
  .dk-select-options::-webkit-scrollbar-thumb:hover {
    background: rgba(32, 33, 36, 0.4); }
  .dk-select-options::-webkit-scrollbar-thumb:window-inactive {
    background: rgba(32, 33, 36, 0.05); }

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

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

.dk-option {
  padding: 0 20px; }

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

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

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

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

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

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

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

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

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

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

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

.dk-select-open-down .dk-selected, .dk-select-open-down select {
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  color: #ffffff;
  background: #f76500; }

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

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

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

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

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

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

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

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

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

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

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

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

/*
 *
 * Styles for Dropkick optgroup
 *
 */
.dk-optgroup {
  margin-top: 0;
  padding-top: 0;
  border: none; }
  .dk-optgroup-label {
    background-color: #ffffff;
    color: #ebebeb;
    font-size: 1em;
    font-weight: 500;
    padding-top: 0;
    padding-bottom: 0; }

/*
 *
 * Styles for Dropkick with Ninja Forms
 *
 */
.list-select-wrap .dk-select {
  display: block; }
  .list-select-wrap .dk-select div {
    display: block; }

.nf-field .dk-select {
  line-height: 60px; }

.nf-field .dk-selected, .nf-field select {
  padding-top: 20px;
  padding-bottom: 20px; }

select {
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  border: none; }

.select2-container {
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  display: inline-block;
  margin: 0;
  position: relative;
  vertical-align: middle; }

.select2-container .select2-selection--single {
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  cursor: pointer;
  display: block;
  height: 28px;
  -moz-user-select: none;
   -ms-user-select: none;
       user-select: none;
  -webkit-user-select: none; }

.select2-container .select2-selection--single .select2-selection__rendered {
  display: block;
  padding-left: 8px;
  padding-right: 20px;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap; }

.select2-container .select2-selection--single .select2-selection__clear {
  position: relative; }

.select2-container[dir="rtl"] .select2-selection--single .select2-selection__rendered {
  padding-right: 8px;
  padding-left: 20px; }

.select2-container .select2-selection--multiple {
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  cursor: pointer;
  display: block;
  min-height: 32px;
  -moz-user-select: none;
   -ms-user-select: none;
       user-select: none;
  -webkit-user-select: none; }

.select2-container .select2-selection--multiple .select2-selection__rendered {
  display: inline-block;
  overflow: hidden;
  padding-left: 8px;
  text-overflow: ellipsis;
  white-space: nowrap; }

.select2-container .select2-search--inline {
  float: left; }

.select2-container .select2-search--inline .select2-search__field {
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  border: none;
  font-size: 100%;
  margin-top: 5px;
  padding: 0; }

.select2-container .select2-search--inline .select2-search__field::-webkit-search-cancel-button {
  -webkit-appearance: none; }

.select2-dropdown {
  background-color: white;
  border: 1px solid #aaa;
  border-radius: 4px;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  display: block;
  position: absolute;
  left: -100000px;
  width: 100%;
  z-index: 1051; }

.select2-results {
  display: block; }

.select2-results__options {
  list-style: none;
  margin: 0;
  padding: 0; }

.select2-results__option {
  padding: 6px;
  -moz-user-select: none;
   -ms-user-select: none;
       user-select: none;
  -webkit-user-select: none; }

.select2-results__option[aria-selected] {
  cursor: pointer; }

.select2-container--open .select2-dropdown {
  left: 0; }

.select2-container--open .select2-dropdown--above {
  border-bottom: none;
  border-bottom-left-radius: 0;
  border-bottom-right-radius: 0; }

.select2-container--open .select2-dropdown--below {
  border-top: none;
  border-top-left-radius: 0;
  border-top-right-radius: 0; }

.select2-search--dropdown {
  display: block;
  padding: 4px; }

.select2-search--dropdown .select2-search__field {
  padding: 4px;
  width: 100%;
  -webkit-box-sizing: border-box;
          box-sizing: border-box; }

.select2-search--dropdown .select2-search__field::-webkit-search-cancel-button {
  -webkit-appearance: none; }

.select2-search--dropdown.select2-search--hide {
  display: none; }

.select2-close-mask {
  border: 0;
  margin: 0;
  padding: 0;
  display: block;
  position: fixed;
  left: 0;
  top: 0;
  min-height: 100%;
  min-width: 100%;
  height: auto;
  width: auto;
  opacity: 0;
  z-index: 99;
  background-color: #fff;
  filter: alpha(opacity=0); }

.select2-hidden-accessible {
  border: 0 !important;
  clip: rect(0 0 0 0) !important;
  height: 1px !important;
  margin: -1px !important;
  overflow: hidden !important;
  padding: 0 !important;
  position: absolute !important;
  width: 1px !important; }

.select2-container--default .select2-selection--single {
  background-color: #fff;
  border: 1px solid #aaa;
  border-radius: 4px; }

.select2-container--default .select2-selection--single .select2-selection__rendered {
  color: #444;
  line-height: 28px; }

.select2-container--default .select2-selection--single .select2-selection__clear {
  cursor: pointer;
  float: right;
  font-weight: bold; }

.select2-container--default .select2-selection--single .select2-selection__placeholder {
  color: #999; }

.select2-container--default .select2-selection--single .select2-selection__arrow {
  height: 26px;
  position: absolute;
  top: 1px;
  right: 1px;
  width: 20px; }

.select2-container--default .select2-selection--single .select2-selection__arrow b {
  border-color: #888 transparent transparent transparent;
  border-style: solid;
  border-width: 5px 4px 0 4px;
  height: 0;
  left: 50%;
  margin-left: -4px;
  margin-top: -2px;
  position: absolute;
  top: 50%;
  width: 0; }

.select2-container--default[dir="rtl"] .select2-selection--single .select2-selection__clear {
  float: left; }

.select2-container--default[dir="rtl"] .select2-selection--single .select2-selection__arrow {
  left: 1px;
  right: auto; }

.select2-container--default.select2-container--disabled .select2-selection--single {
  background-color: #eee;
  cursor: default; }

.select2-container--default.select2-container--disabled .select2-selection--single .select2-selection__clear {
  display: none; }

.select2-container--default.select2-container--open .select2-selection--single .select2-selection__arrow b {
  border-color: transparent transparent #888 transparent;
  border-width: 0 4px 5px 4px; }

.select2-container--default .select2-selection--multiple {
  background-color: white;
  border: 1px solid #aaa;
  border-radius: 4px;
  cursor: text; }

.select2-container--default .select2-selection--multiple .select2-selection__rendered {
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  list-style: none;
  margin: 0;
  padding: 0 5px;
  width: 100%; }

.select2-container--default .select2-selection--multiple .select2-selection__placeholder {
  color: #999;
  margin-top: 5px;
  float: left; }

.select2-container--default .select2-selection--multiple .select2-selection__clear {
  cursor: pointer;
  float: right;
  font-weight: bold;
  margin-top: 5px;
  margin-right: 10px; }

.select2-container--default .select2-selection--multiple .select2-selection__choice {
  background-color: #e4e4e4;
  border: 1px solid #aaa;
  border-radius: 4px;
  cursor: default;
  float: left;
  margin-right: 5px;
  margin-top: 5px;
  padding: 0 5px; }

.select2-container--default .select2-selection--multiple .select2-selection__choice__remove {
  color: #999;
  cursor: pointer;
  display: inline-block;
  font-weight: bold;
  margin-right: 2px; }

.select2-container--default .select2-selection--multiple .select2-selection__choice__remove:hover {
  color: #333; }

.select2-container--default[dir="rtl"] .select2-selection--multiple .select2-selection__choice, .select2-container--default[dir="rtl"] .select2-selection--multiple .select2-selection__placeholder, .select2-container--default[dir="rtl"] .select2-selection--multiple .select2-search--inline {
  float: right; }

.select2-container--default[dir="rtl"] .select2-selection--multiple .select2-selection__choice {
  margin-left: 5px;
  margin-right: auto; }

.select2-container--default[dir="rtl"] .select2-selection--multiple .select2-selection__choice__remove {
  margin-left: 2px;
  margin-right: auto; }

.select2-container--default.select2-container--focus .select2-selection--multiple {
  border: solid #000 1px;
  outline: 0; }

.select2-container--default.select2-container--disabled .select2-selection--multiple {
  background-color: #eee;
  cursor: default; }

.select2-container--default.select2-container--disabled .select2-selection__choice__remove {
  display: none; }

.select2-container--default.select2-container--open.select2-container--above .select2-selection--single, .select2-container--default.select2-container--open.select2-container--above .select2-selection--multiple {
  border-top-left-radius: 0;
  border-top-right-radius: 0; }

.select2-container--default.select2-container--open.select2-container--below .select2-selection--single, .select2-container--default.select2-container--open.select2-container--below .select2-selection--multiple {
  border-bottom-left-radius: 0;
  border-bottom-right-radius: 0; }

.select2-container--default .select2-search--dropdown .select2-search__field {
  border: 1px solid #aaa; }

.select2-container--default .select2-search--inline .select2-search__field {
  background: transparent;
  border: none;
  outline: 0;
  -webkit-box-shadow: none;
          box-shadow: none;
  -webkit-appearance: textfield; }

.select2-container--default .select2-results > .select2-results__options {
  max-height: 200px;
  overflow-y: auto; }

.select2-container--default .select2-results__option[role=group] {
  padding: 0; }

.select2-container--default .select2-results__option[aria-disabled=true] {
  color: #999; }

.select2-container--default .select2-results__option[aria-selected=true] {
  background-color: #ddd; }

.select2-container--default .select2-results__option .select2-results__option {
  padding-left: 1em; }

.select2-container--default .select2-results__option .select2-results__option .select2-results__group {
  padding-left: 0; }

.select2-container--default .select2-results__option .select2-results__option .select2-results__option {
  margin-left: -1em;
  padding-left: 2em; }

.select2-container--default .select2-results__option .select2-results__option .select2-results__option .select2-results__option {
  margin-left: -2em;
  padding-left: 3em; }

.select2-container--default .select2-results__option .select2-results__option .select2-results__option .select2-results__option .select2-results__option {
  margin-left: -3em;
  padding-left: 4em; }

.select2-container--default .select2-results__option .select2-results__option .select2-results__option .select2-results__option .select2-results__option .select2-results__option {
  margin-left: -4em;
  padding-left: 5em; }

.select2-container--default .select2-results__option .select2-results__option .select2-results__option .select2-results__option .select2-results__option .select2-results__option .select2-results__option {
  margin-left: -5em;
  padding-left: 6em; }

.select2-container--default .select2-results__option--highlighted[aria-selected] {
  background-color: #5897fb;
  color: white; }

.select2-container--default .select2-results__group {
  cursor: default;
  display: block;
  padding: 6px; }

.select2-container--classic .select2-selection--single {
  background-color: #f7f7f7;
  border: 1px solid #aaa;
  border-radius: 4px;
  outline: 0;
  background-image: -webkit-gradient(linear, left top, left bottom, color-stop(50%, #fff), to(#eee));
  background-image: linear-gradient(to bottom, #fff 50%, #eee 100%);
  background-repeat: repeat-x;
  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#FFFFFFFF', endColorstr='#FFEEEEEE', GradientType=0); }

.select2-container--classic .select2-selection--single:focus {
  border: 1px solid #5897fb; }

.select2-container--classic .select2-selection--single .select2-selection__rendered {
  color: #444;
  line-height: 28px; }

.select2-container--classic .select2-selection--single .select2-selection__clear {
  cursor: pointer;
  float: right;
  font-weight: bold;
  margin-right: 10px; }

.select2-container--classic .select2-selection--single .select2-selection__placeholder {
  color: #999; }

.select2-container--classic .select2-selection--single .select2-selection__arrow {
  background-color: #ddd;
  border: none;
  border-left: 1px solid #aaa;
  border-top-right-radius: 4px;
  border-bottom-right-radius: 4px;
  height: 26px;
  position: absolute;
  top: 1px;
  right: 1px;
  width: 20px;
  background-image: -webkit-gradient(linear, left top, left bottom, color-stop(50%, #eee), to(#ccc));
  background-image: linear-gradient(to bottom, #eee 50%, #ccc 100%);
  background-repeat: repeat-x;
  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#FFEEEEEE', endColorstr='#FFCCCCCC', GradientType=0); }

.select2-container--classic .select2-selection--single .select2-selection__arrow b {
  border-color: #888 transparent transparent transparent;
  border-style: solid;
  border-width: 5px 4px 0 4px;
  height: 0;
  left: 50%;
  margin-left: -4px;
  margin-top: -2px;
  position: absolute;
  top: 50%;
  width: 0; }

.select2-container--classic[dir="rtl"] .select2-selection--single .select2-selection__clear {
  float: left; }

.select2-container--classic[dir="rtl"] .select2-selection--single .select2-selection__arrow {
  border: none;
  border-right: 1px solid #aaa;
  border-radius: 0;
  border-top-left-radius: 4px;
  border-bottom-left-radius: 4px;
  left: 1px;
  right: auto; }

.select2-container--classic.select2-container--open .select2-selection--single {
  border: 1px solid #5897fb; }

.select2-container--classic.select2-container--open .select2-selection--single .select2-selection__arrow {
  background: transparent;
  border: none; }

.select2-container--classic.select2-container--open .select2-selection--single .select2-selection__arrow b {
  border-color: transparent transparent #888 transparent;
  border-width: 0 4px 5px 4px; }

.select2-container--classic.select2-container--open.select2-container--above .select2-selection--single {
  border-top: none;
  border-top-left-radius: 0;
  border-top-right-radius: 0;
  background-image: -webkit-gradient(linear, left top, left bottom, from(#fff), color-stop(50%, #eee));
  background-image: linear-gradient(to bottom, #fff 0%, #eee 50%);
  background-repeat: repeat-x;
  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#FFFFFFFF', endColorstr='#FFEEEEEE', GradientType=0); }

.select2-container--classic.select2-container--open.select2-container--below .select2-selection--single {
  border-bottom: none;
  border-bottom-left-radius: 0;
  border-bottom-right-radius: 0;
  background-image: -webkit-gradient(linear, left top, left bottom, color-stop(50%, #eee), to(#fff));
  background-image: linear-gradient(to bottom, #eee 50%, #fff 100%);
  background-repeat: repeat-x;
  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#FFEEEEEE', endColorstr='#FFFFFFFF', GradientType=0); }

.select2-container--classic .select2-selection--multiple {
  background-color: white;
  border: 1px solid #aaa;
  border-radius: 4px;
  cursor: text;
  outline: 0; }

.select2-container--classic .select2-selection--multiple:focus {
  border: 1px solid #5897fb; }

.select2-container--classic .select2-selection--multiple .select2-selection__rendered {
  list-style: none;
  margin: 0;
  padding: 0 5px; }

.select2-container--classic .select2-selection--multiple .select2-selection__clear {
  display: none; }

.select2-container--classic .select2-selection--multiple .select2-selection__choice {
  background-color: #e4e4e4;
  border: 1px solid #aaa;
  border-radius: 4px;
  cursor: default;
  float: left;
  margin-right: 5px;
  margin-top: 5px;
  padding: 0 5px; }

.select2-container--classic .select2-selection--multiple .select2-selection__choice__remove {
  color: #888;
  cursor: pointer;
  display: inline-block;
  font-weight: bold;
  margin-right: 2px; }

.select2-container--classic .select2-selection--multiple .select2-selection__choice__remove:hover {
  color: #555; }

.select2-container--classic[dir="rtl"] .select2-selection--multiple .select2-selection__choice {
  float: right; }

.select2-container--classic[dir="rtl"] .select2-selection--multiple .select2-selection__choice {
  margin-left: 5px;
  margin-right: auto; }

.select2-container--classic[dir="rtl"] .select2-selection--multiple .select2-selection__choice__remove {
  margin-left: 2px;
  margin-right: auto; }

.select2-container--classic.select2-container--open .select2-selection--multiple {
  border: 1px solid #5897fb; }

.select2-container--classic.select2-container--open.select2-container--above .select2-selection--multiple {
  border-top: none;
  border-top-left-radius: 0;
  border-top-right-radius: 0; }

.select2-container--classic.select2-container--open.select2-container--below .select2-selection--multiple {
  border-bottom: none;
  border-bottom-left-radius: 0;
  border-bottom-right-radius: 0; }

.select2-container--classic .select2-search--dropdown .select2-search__field {
  border: 1px solid #aaa;
  outline: 0; }

.select2-container--classic .select2-search--inline .select2-search__field {
  outline: 0;
  -webkit-box-shadow: none;
          box-shadow: none; }

.select2-container--classic .select2-dropdown {
  background-color: #fff;
  border: 1px solid transparent; }

.select2-container--classic .select2-dropdown--above {
  border-bottom: none; }

.select2-container--classic .select2-dropdown--below {
  border-top: none; }

.select2-container--classic .select2-results > .select2-results__options {
  max-height: 200px;
  overflow-y: auto; }

.select2-container--classic .select2-results__option[role=group] {
  padding: 0; }

.select2-container--classic .select2-results__option[aria-disabled=true] {
  color: grey; }

.select2-container--classic .select2-results__option--highlighted[aria-selected] {
  background-color: #3875d7;
  color: #fff; }

.select2-container--classic .select2-results__group {
  cursor: default;
  display: block;
  padding: 6px; }

.select2-container--classic.select2-container--open .select2-dropdown {
  border-color: #5897fb; }

.select2 {
  margin-bottom: auto;
  line-height: 1;
  width: 100% !important;
  outline: none;
  color: rgba(32, 33, 36, 0.5);
  font-size: 13px; }
  .select2 * {
    outline: none; }
  .select2-search__field {
    outline: none; }
  .select2 .select2-selection__arrow {
    display: none; }
  .select2 .select2-selection--single {
    position: relative;
    height: 54px;
    overflow: hidden;
    width: 100%;
    padding: 0;
    color: inherit;
    border-radius: 0;
    border: none;
    background-color: #ffffff; }
    .page__account .select2 .select2-selection--single {
      color: #202124;
      background-color: #f8f8f8; }
    .select2 .select2-selection--single:before {
      font-size: 6px;
      position: absolute;
      right: 20px;
      top: 20px;
      pointer-events: none;
      color: rgba(32, 33, 36, 0.5); }
    .select2 .select2-selection--single:before {
      -webkit-transform: translate(0, -50%);
      transform: translate(0, -50%);
      -webkit-transition: transform 0.2s ease-out;
      -webkit-transition: -webkit-transform 0.2s ease-out;
      transition: -webkit-transform 0.2s ease-out;
      transition: transform 0.2s ease-out;
      transition: transform 0.2s ease-out, -webkit-transform 0.2s ease-out;
      top: 50%;
      right: 20px;
      font-size: 4px;
      color: #f76500; }
  .select2 .select2-selection--single[aria-expanded=true] {
    background-color: #f76500;
    color: #ffffff; }
    .select2 .select2-selection--single[aria-expanded=true]:before {
      -webkit-transform: translate(0, -50%) rotate(180deg);
      transform: translate(0, -50%) rotate(180deg);
      color: #ffffff; }
  .select2-search {
    display: none; }
  .select2-dropdown {
    border: none;
    border-radius: 0;
    -webkit-box-shadow: 0 10px 10px #ebebeb;
            box-shadow: 0 10px 10px #ebebeb;
    -webkit-box-shadow: 0 10px 10px rgba(235, 235, 235, 0.5);
            box-shadow: 0 10px 10px rgba(235, 235, 235, 0.5); }
  .select2-results__option {
    padding: 15px 20px;
    line-height: 1;
    font-size: 13px;
    color: rgba(32, 33, 36, 0.5); }
    .select2-results__option--highlighted, .select2-results__option--highlighted[aria-selected=true], .select2-results__option[aria-selected=true] {
      color: #ffffff; }
  .select2-container--default .select2-results__option--highlighted[aria-selected] {
    background-color: #f76500; }
  .select2-container--default .select2-results__option[aria-selected=true] {
    background-color: #f76500; }
  .select2-container--default .select2-results__option--highlighted[aria-selected=true] {
    background-color: #f76500; }

.select2-container--default .select2-selection--single .select2-selection__rendered {
  height: 54px;
  overflow: hidden;
  width: 100%;
  line-height: 1;
  font-size: 13px;
  padding: 18px 20px;
  padding-right: 2.5em;
  color: inherit; }

.listing {
  position: relative;
  -webkit-box-flex: 1;
      -ms-flex-positive: 1;
          flex-grow: 1;
  -ms-flex-preferred-size: 0%;
      flex-basis: 0%; }
  .listing .loader {
    position: fixed;
    /* Fixé par rapport à la fenêtre, pour centrer en hauteur */
    left: auto;
    /* Pas de centrage horizontal */
    left: 50%;
    /* Positionné à droite (ou modifiez cette valeur selon vos besoins) */
    top: 50%;
    /* Centré en hauteur */
    -webkit-transform: translateY(-50%) translateX(calc(50% + 240px));
            transform: translateY(-50%) translateX(calc(50% + 240px));
    /* Décalage de 50% de la largeur du loader */
    z-index: 1000;
    background: rgba(255, 255, 255, 0.9);
    /* Fond semi-transparent */
    -webkit-box-shadow: 0 0 10px rgba(0, 0, 0, 0.2);
            box-shadow: 0 0 10px rgba(0, 0, 0, 0.2);
    padding: 10px;
    /* Réduire le padding */
    border-radius: 8px;
    width: 60px;
    /* Réduire la largeur */
    height: 60px;
    /* Réduire la hauteur */
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center; }
    .listing .loader img {
      width: 50px;
      /* Ajuster la taille du GIF */
      height: 50px; }
    @media screen and (max-width: 1100px) {
      .listing .loader {
        -webkit-transform: translateY(-50%) translateX(calc(50% - 80px));
                transform: translateY(-50%) translateX(calc(50% - 80px)); } }
  .listing__download {
    display: block;
    text-decoration: none;
    width: 100%;
    height: 100%; }
    .listing__download:hover {
      text-decoration: none; }
      .listing__download:hover .listing__link::before {
        opacity: 0.6; }
      .listing__download:hover .listing__icon {
        -webkit-transform: translate3d(-50%, -50%, 0);
                transform: translate3d(-50%, -50%, 0);
        opacity: 1; }
  .listing__container {
    position: relative;
    margin: 0;
    padding: 0; }
    .listing__container.loading::after {
      content: "";
      position: absolute;
      z-index: 5;
      top: 0;
      left: 0;
      right: 0;
      bottom: 0;
      background-color: #ffffff;
      opacity: 0.6; }
    @media screen and (min-width: 600px) {
      .listing__container {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -ms-flex-wrap: wrap;
            flex-wrap: wrap; } }
  .listing__action {
    position: relative;
    margin-bottom: 1.25rem;
    margin-left: -10px;
    margin-right: -10px; }
    .listing__action .btn, .listing__action .nf-form-content .nf-previous-item .nf-previous, .nf-form-content .nf-previous-item .listing__action .nf-previous, .listing__action .nf-form-content .nf-previous-item .nf-next, .nf-form-content .nf-previous-item .listing__action .nf-next, .listing__action .nf-form-content .nf-next-item .nf-previous, .nf-form-content .nf-next-item .listing__action .nf-previous, .listing__action .nf-form-content .nf-next-item .nf-next, .nf-form-content .nf-next-item .listing__action .nf-next, .listing__action .nf-form-wrap .submit-container .nf-field-element input, .nf-form-wrap .submit-container .nf-field-element .listing__action input, .listing__action .nf-form-wrap .nmc-register-submit .nf-field-element input, .nf-form-wrap .nmc-register-submit .nf-field-element .listing__action input {
      margin: 10px; }
    .listing__action .js-listing-marks .js-listing-results {
      border: none !important;
      text-transform: none !important;
      font-size: 16px !important; }
      .listing__action .js-listing-marks .js-listing-results:hover {
        border: none !important;
        background-color: transparent !important;
        color: #f76500 !important; }
      .listing__action .js-listing-marks .js-listing-results-count {
        font-size: 16px;
        font-weight: 500; }
    @media screen and (min-width: 600px) {
      .listing__action {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -ms-flex-wrap: wrap;
            flex-wrap: wrap; }
        .listing__action .btn__selections {
          margin-left: auto; } }
  .listing__pagination {
    text-align: center; }
    .listing__pagination button {
      display: inline-block; }
  .listing--grid .listing__columns {
    display: none; }
  .listing--grid .listing__item__grid {
    display: block; }
  .listing--grid .listing__item__list {
    display: none; }
  .listing--list {
    width: 100%;
    overflow-x: auto;
    padding-bottom: 20px; }
    .listing--list .listing__columns {
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex;
      gap: 2rem;
      border-bottom: 1px solid #d8d8d8;
      min-width: 600px;
      padding: 0 0.625rem 0 0.625rem;
      -webkit-box-sizing: border-box;
              box-sizing: border-box;
      min-width: 750px; }
    .listing--list .listing__container {
      min-width: 750px; }
    .listing--list .listing__column--name {
      width: 45%; }
      @media screen and (max-width: 1600px) {
        .listing--list .listing__column--name {
          width: 40%; } }
    .listing--list .listing__column--version {
      width: 35%; }
      @media screen and (max-width: 1600px) {
        .listing--list .listing__column--version {
          width: 30%; } }
    .listing--list .listing__column--format {
      width: 10%; }
      @media screen and (max-width: 1600px) {
        .listing--list .listing__column--format {
          width: 15%; } }
    .listing--list .listing__column--size {
      width: 10%; }
      @media screen and (max-width: 1600px) {
        .listing--list .listing__column--size {
          width: 15%; } }
    .listing--list .listing__column--name,
    .listing--list .listing__column--version,
    .listing--list .listing__column--format,
    .listing--list .listing__column--size {
      font-family: "futura-pt", Futura, "Trebuchet MS", Arial, sans-serif;
      font-size: 1.125rem;
      line-height: 1.25rem;
      position: relative;
      margin: 0;
      margin-bottom: 1.25rem;
      letter-spacing: 0.15625rem;
      text-transform: uppercase; }
      .listing--list .listing__column--name::before,
      .listing--list .listing__column--version::before,
      .listing--list .listing__column--format::before,
      .listing--list .listing__column--size::before {
        font-size: 1rem;
        line-height: 20px;
        position: absolute;
        right: 0;
        display: none;
        text-align: right;
        vertical-align: top;
        color: #f76500; }
        @media screen and (max-width: 1100px) {
          .listing--list .listing__column--name::before,
          .listing--list .listing__column--version::before,
          .listing--list .listing__column--format::before,
          .listing--list .listing__column--size::before {
            display: block; } }
      .listing--list .listing__column--name.icon-less::before,
      .listing--list .listing__column--version.icon-less::before,
      .listing--list .listing__column--format.icon-less::before,
      .listing--list .listing__column--size.icon-less::before {
        font-size: 3px; }
    .listing--list .listing__item__grid {
      display: none; }
    .listing--list .listing__item__list {
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex;
      width: 100%;
      border-bottom: 1px solid #d8d8d8;
      -webkit-box-flex: 0;
          -ms-flex: 0 0 auto;
              flex: 0 0 auto;
      -webkit-transition: background-color 0.2s linear;
      transition: background-color 0.2s linear; }
      .listing--list .listing__item__list:hover {
        background-color: #f8f8f8; }
    .listing--list .listing__download .listing__content {
      padding: 1rem 0.625rem;
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex;
      gap: 2rem; }
      .listing--list .listing__download .listing__content__name {
        width: 45%; }
        .listing--list .listing__download .listing__content__name .icon, .listing--list .listing__download .listing__content__name .lb-cancel, .listing--list .listing__download .listing__content__name .lb-data .lb-close, .lb-data .listing--list .listing__download .listing__content__name .lb-close, .listing--list .listing__download .listing__content__name .btn-cart span, .btn-cart .listing--list .listing__download .listing__content__name span, .listing--list .listing__download .listing__content__name .dk-selected, .listing--list .listing__download .listing__content__name select, .listing--list .listing__download .listing__content__name .select2 .select2-selection--single, .select2 .listing--list .listing__download .listing__content__name .select2-selection--single, .listing--list .listing__download .listing__content__name .product__languages .add_to_cart__container .btn, .product__languages .add_to_cart__container .listing--list .listing__download .listing__content__name .btn, .listing--list .listing__download .listing__content__name .product__languages .add_to_cart__container .nf-form-content .nf-previous-item .nf-previous, .product__languages .add_to_cart__container .nf-form-content .nf-previous-item .listing--list .listing__download .listing__content__name .nf-previous, .listing--list .listing__download .listing__content__name .nf-form-content .nf-previous-item .product__languages .add_to_cart__container .nf-previous, .nf-form-content .nf-previous-item .product__languages .add_to_cart__container .listing--list .listing__download .listing__content__name .nf-previous, .listing--list .listing__download .listing__content__name .product__languages .add_to_cart__container .nf-form-content .nf-previous-item .nf-next, .product__languages .add_to_cart__container .nf-form-content .nf-previous-item .listing--list .listing__download .listing__content__name .nf-next, .listing--list .listing__download .listing__content__name .nf-form-content .nf-previous-item .product__languages .add_to_cart__container .nf-next, .nf-form-content .nf-previous-item .product__languages .add_to_cart__container .listing--list .listing__download .listing__content__name .nf-next, .listing--list .listing__download .listing__content__name .product__languages .add_to_cart__container .nf-form-content .nf-next-item .nf-previous, .product__languages .add_to_cart__container .nf-form-content .nf-next-item .listing--list .listing__download .listing__content__name .nf-previous, .listing--list .listing__download .listing__content__name .nf-form-content .nf-next-item .product__languages .add_to_cart__container .nf-previous, .nf-form-content .nf-next-item .product__languages .add_to_cart__container .listing--list .listing__download .listing__content__name .nf-previous, .listing--list .listing__download .listing__content__name .product__languages .add_to_cart__container .nf-form-content .nf-next-item .nf-next, .product__languages .add_to_cart__container .nf-form-content .nf-next-item .listing--list .listing__download .listing__content__name .nf-next, .listing--list .listing__download .listing__content__name .nf-form-content .nf-next-item .product__languages .add_to_cart__container .nf-next, .nf-form-content .nf-next-item .product__languages .add_to_cart__container .listing--list .listing__download .listing__content__name .nf-next, .listing--list .listing__download .listing__content__name .product__languages .add_to_cart__container .nf-form-wrap .submit-container .nf-field-element input, .product__languages .add_to_cart__container .nf-form-wrap .submit-container .nf-field-element .listing--list .listing__download .listing__content__name input, .listing--list .listing__download .listing__content__name .nf-form-wrap .submit-container .nf-field-element .product__languages .add_to_cart__container input, .nf-form-wrap .submit-container .nf-field-element .product__languages .add_to_cart__container .listing--list .listing__download .listing__content__name input, .listing--list .listing__download .listing__content__name .product__languages .add_to_cart__container .nf-form-wrap .nmc-register-submit .nf-field-element input, .product__languages .add_to_cart__container .nf-form-wrap .nmc-register-submit .nf-field-element .listing--list .listing__download .listing__content__name input, .listing--list .listing__download .listing__content__name .nf-form-wrap .nmc-register-submit .nf-field-element .product__languages .add_to_cart__container input, .nf-form-wrap .nmc-register-submit .nf-field-element .product__languages .add_to_cart__container .listing--list .listing__download .listing__content__name input, .listing--list .listing__download .listing__content__name .product__languages .add_to_cart__container .added_to_cart, .product__languages .add_to_cart__container .listing--list .listing__download .listing__content__name .added_to_cart, .listing--list .listing__download .listing__content__name .main-nav > ul > li.menu-item-has-children > a {
          position: relative;
          top: 2px;
          margin-right: 0.5rem; }
        @media screen and (max-width: 1600px) {
          .listing--list .listing__download .listing__content__name {
            width: 40%; } }
      .listing--list .listing__download .listing__content__version {
        width: 35%; }
        @media screen and (max-width: 1600px) {
          .listing--list .listing__download .listing__content__version {
            width: 30%; } }
      .listing--list .listing__download .listing__content__format {
        width: 10%; }
        @media screen and (max-width: 1600px) {
          .listing--list .listing__download .listing__content__format {
            width: 15%; } }
      .listing--list .listing__download .listing__content__size {
        width: 10%; }
        @media screen and (max-width: 1600px) {
          .listing--list .listing__download .listing__content__size {
            width: 15%; } }
  .listing .is_download_item .listing__preview {
    background-color: #f8f8f8; }
    .listing .is_download_item .listing__preview .listing__icon {
      font-size: 5rem;
      color: #f76500; }
  .listing .is_download_item .listing__content .listing__title {
    text-transform: none;
    font-weight: 400;
    font-size: 1rem; }
  .listing .is_download_item .button__download {
    font-size: 0.875rem;
    font-weight: 600;
    line-height: 14px;
    position: absolute;
    z-index: 0;
    bottom: 0.625rem;
    left: 0.625rem;
    display: block;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    width: calc(100% - 20px);
    padding: 0.9375rem 1.875rem;
    cursor: pointer;
    -webkit-transition: color 0.2s linear, background-color 0.2s linear, border-color 0.2s linear;
    transition: color 0.2s linear, background-color 0.2s linear, border-color 0.2s linear;
    text-align: center;
    text-transform: uppercase;
    color: #202124;
    border: 0.0625rem solid #d9d9d9;
    background: #ffffff; }
    .listing .is_download_item .button__download:hover {
      color: #ffffff;
      border-color: rgba(32, 33, 36, 0.3);
      background-color: rgba(32, 33, 36, 0.3); }
  .listing__item {
    position: relative;
    overflow: hidden;
    -webkit-box-sizing: border-box;
            box-sizing: border-box;
    width: 100%;
    margin-right: 30px;
    margin-bottom: 30px;
    list-style: none;
    text-align: center;
    opacity: 0;
    background: #f8f8f8; }
    @media screen and (min-width: 600px) {
      .listing__item {
        -webkit-box-flex: 0;
            -ms-flex-positive: 0;
                flex-grow: 0;
        -ms-flex-negative: 0;
            flex-shrink: 0; } }
    @media screen and (min-width: 600px) and (max-width: 850px) {
      .listing__item {
        width: calc((100% - 31px) / 2);
        margin-right: 30px; }
        .listing__item:nth-child(2n + 2) {
          margin-right: 0; } }
    @media screen and (min-width: 851px) and (max-width: 1100px) {
      .listing__item {
        width: calc((100% - 61px) / 3); }
        .listing__item:nth-child(3n + 3) {
          margin-right: 0; } }
    @media screen and (min-width: 1100px) and (max-width: 1250px) {
      .listing__item {
        width: calc((100% - 31px) / 2); }
        .listing__item:nth-child(2n + 2) {
          margin-right: 0; } }
    @media screen and (min-width: 1251px) and (max-width: 1920px) {
      .listing__item {
        width: calc((100% - 61px) / 3); }
        .listing__item:nth-child(3n + 3) {
          margin-right: 0; }
        .listing--documents .listing__item {
          width: calc((100% - 91px) / 4); }
          .listing--documents .listing__item:nth-child(3n + 3) {
            margin-right: 30px; }
          .listing--documents .listing__item:nth-child(4n + 4) {
            margin-right: 0; } }
    @media screen and (min-width: 1921px) {
      .listing__item {
        width: calc((100% - 91px) / 4); }
        .listing__item:nth-child(4n + 4) {
          margin-right: 0; } }
  .listing__preview {
    position: relative;
    /* > * {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
  } */
    position: relative;
    margin: 0;
    background-repeat: no-repeat;
    background-position: center;
    background-size: cover; }
    .listing__preview:before {
      display: block;
      width: 100%;
      padding-top: 66.66667%;
      content: " "; }
    .listing--documents .listing__preview {
      position: relative;
      /* > * {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
  } */ }
      .listing--documents .listing__preview:before {
        display: block;
        width: 100%;
        padding-top: 141.42857%;
        content: " "; }
    .listing__preview--video {
      position: relative;
      /* > * {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
  } */ }
      .listing__preview--video:before {
        display: block;
        width: 100%;
        padding-top: 56.25%;
        content: " "; }
  .listing__link {
    position: absolute;
    top: 0;
    left: 0;
    display: block;
    width: 100%;
    height: 100%; }
    .listing__link::before {
      position: absolute;
      top: 0;
      left: 0;
      width: 100%;
      height: 100%;
      content: "";
      -webkit-transition: opacity 0.2s linear;
      transition: opacity 0.2s linear;
      opacity: 0;
      background-color: #202124; }
    .listing__link:hover::before {
      opacity: 0.6; }
    .listing__link:hover .listing__icon {
      -webkit-transform: translate3d(-50%, -50%, 0);
              transform: translate3d(-50%, -50%, 0);
      opacity: 1; }
  .listing__content {
    position: relative;
    z-index: 0;
    display: block;
    -webkit-box-sizing: border-box;
            box-sizing: border-box;
    padding: 2.1875rem 0.625rem;
    -webkit-transition: background-color 0.2s linear;
    transition: background-color 0.2s linear;
    color: #202124; }
    .listing__content--padding {
      padding-bottom: 4.8125rem; }
    .listing__content--notitle {
      padding: 0; }
    .listing__content--two {
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex;
      -webkit-box-align: start;
          -ms-flex-align: start;
              align-items: flex-start;
      justify-self: center;
      padding-top: 0;
      padding-right: 0;
      padding-bottom: 0; }
      .listing__content--two .listing__content__left {
        -webkit-box-flex: 1;
            -ms-flex: 1;
                flex: 1;
        padding: 10px 0; }
      .listing__content--two .listing__content__right {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-align: center;
            -ms-flex-align: center;
                align-items: center;
        -webkit-box-pack: center;
            -ms-flex-pack: center;
                justify-content: center;
        margin-left: 5px; }
      .listing__content--two .listing__title {
        margin-bottom: 5px;
        text-align: left;
        font-weight: 400;
        line-height: 1.2; }
      .listing__content--two .listing__meta {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-align: center;
            -ms-flex-align: center;
                align-items: center;
        font-size: 12px;
        font-weight: 300;
        line-height: 1;
        font-family: "futura-pt", Futura, "Trebuchet MS", Arial, sans-serif; }
      .listing__content--two .listing__item__download {
        -webkit-appearance: none;
        -moz-appearance: none;
        appearance: none;
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-align: center;
            -ms-flex-align: center;
                align-items: center;
        -webkit-box-pack: center;
            -ms-flex-pack: center;
                justify-content: center;
        color: #ffffff;
        text-decoration: none;
        width: 54px;
        height: 54px;
        background-color: #f76500;
        -webkit-transition: background-color 0.3s cubic-bezier(0.6, 0.04, 0.98, 0.335);
        transition: background-color 0.3s cubic-bezier(0.6, 0.04, 0.98, 0.335); }
        .listing__content--two .listing__item__download:hover {
          background-color: #c45000; }
  .listing a.listing__content:hover {
    background-color: #f0f0f0; }
  .listing__label {
    font-size: 0.875rem;
    line-height: 14px;
    position: absolute;
    z-index: 0;
    bottom: 0.625rem;
    left: 0.625rem;
    display: block;
    -webkit-box-sizing: border-box;
            box-sizing: border-box;
    width: calc(100% - 20px);
    padding: 0.9375rem 1.875rem;
    cursor: pointer;
    -webkit-transition: color 0.2s linear, background-color 0.2s linear, border-color 0.2s linear;
    transition: color 0.2s linear, background-color 0.2s linear, border-color 0.2s linear;
    text-align: center;
    text-transform: uppercase;
    color: #202124;
    border: 0.0625rem solid #d9d9d9;
    background: #ffffff; }
    .listing__label:hover {
      color: #ffffff;
      border-color: rgba(32, 33, 36, 0.3);
      background-color: rgba(32, 33, 36, 0.3); }
    .listing__label span {
      display: inline-block; }
      .listing__label span::before {
        line-height: 15px;
        margin-right: 0.625rem;
        vertical-align: top; }
    .listing__container[data-post-type="nmc_deco_bimcad"] .listing__label,
    .listing__container[data-post-type="nmc_deco_tendtxt"] .listing__label,
    .listing__container[data-post-type="nmc_under_tendtxt"] .listing__label {
      position: relative;
      bottom: 0;
      left: 0;
      width: 100%; }
  .listing__checkbox {
    position: absolute;
    bottom: 0; }
    .listing__checkbox:checked + label {
      color: #ffffff;
      border-color: rgba(32, 33, 36, 0.6);
      background-color: rgba(32, 33, 36, 0.6); }
  .listing__title {
    font-family: "futura-pt", Futura, "Trebuchet MS", Arial, sans-serif;
    font-size: 0.875rem;
    margin-top: 0;
    margin-bottom: 0.3125rem;
    text-align: center;
    letter-spacing: 0.125rem;
    text-transform: uppercase;
    word-wrap: break-word; }
  .listing__summary {
    font-size: 0.875rem;
    margin-top: 1.25rem;
    text-align: left; }
  .listing__subtitle {
    font-size: 0.75rem; }
  .listing__icon {
    font-size: 3.125rem;
    position: absolute;
    top: 50%;
    left: 50%;
    display: block;
    -webkit-transition: opacity 0.2s linear, -webkit-transform 0.2s linear;
    transition: opacity 0.2s linear, -webkit-transform 0.2s linear;
    transition: opacity 0.2s linear, transform 0.2s linear;
    transition: opacity 0.2s linear, transform 0.2s linear, -webkit-transform 0.2s linear;
    -webkit-transform: translate3d(-50%, -50%, 0);
            transform: translate3d(-50%, -50%, 0);
    vertical-align: top;
    opacity: 0.5;
    color: #202124; }
    .listing__icon::before {
      vertical-align: top; }
    .listing__icon--preview {
      -webkit-transform: translate3d(-50%, -40%, 0);
              transform: translate3d(-50%, -40%, 0);
      opacity: 0;
      color: #ffffff; }
  .listing__errors {
    overflow: hidden;
    height: 0;
    margin: 0;
    margin-bottom: 0;
    padding: 1.875rem 0;
    text-align: center;
    opacity: 0;
    color: #f76500; }
  .listing__loadmore::before {
    font-size: 1.875rem;
    line-height: 1;
    position: absolute;
    z-index: 0;
    top: 50%;
    left: 50%;
    display: block;
    width: 1.875rem;
    height: 1.875rem;
    margin-top: -0.9375rem;
    margin-left: -0.9375rem;
    -webkit-transform: translate3d(-50%, -50%, 0);
            transform: translate3d(-50%, -50%, 0);
    -webkit-transform-origin: center;
            transform-origin: center;
    -webkit-animation: rotating 0.7s linear infinite;
            animation: rotating 0.7s linear infinite;
    vertical-align: top;
    opacity: 0;
    color: #ffffff; }
  .listing__loadmore span {
    position: relative;
    z-index: 10; }
  .listing__loadmore.is-load span {
    opacity: 0; }
  .listing__loadmore.is-load::before {
    opacity: 1; }

.listing__view {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: end;
      -ms-flex-pack: end;
          justify-content: flex-end;
  padding: 0 6.25rem 0 0;
  position: relative;
  left: 0.7rem; }
  @media screen and (max-width: 1600px) {
    .listing__view {
      padding: 0 2.5rem 1rem 0; } }
  @media screen and (max-width: 1100px) {
    .listing__view {
      padding: 0 1.875rem 1rem 1.875rem; } }
  .listing__view .icon, .listing__view .lb-cancel, .listing__view .lb-data .lb-close, .lb-data .listing__view .lb-close, .listing__view .btn-cart span, .btn-cart .listing__view span, .listing__view .dk-selected, .listing__view select, .listing__view .select2 .select2-selection--single, .select2 .listing__view .select2-selection--single, .listing__view .product__languages .add_to_cart__container .btn, .product__languages .add_to_cart__container .listing__view .btn, .listing__view .product__languages .add_to_cart__container .nf-form-content .nf-previous-item .nf-previous, .product__languages .add_to_cart__container .nf-form-content .nf-previous-item .listing__view .nf-previous, .listing__view .nf-form-content .nf-previous-item .product__languages .add_to_cart__container .nf-previous, .nf-form-content .nf-previous-item .product__languages .add_to_cart__container .listing__view .nf-previous, .listing__view .product__languages .add_to_cart__container .nf-form-content .nf-previous-item .nf-next, .product__languages .add_to_cart__container .nf-form-content .nf-previous-item .listing__view .nf-next, .listing__view .nf-form-content .nf-previous-item .product__languages .add_to_cart__container .nf-next, .nf-form-content .nf-previous-item .product__languages .add_to_cart__container .listing__view .nf-next, .listing__view .product__languages .add_to_cart__container .nf-form-content .nf-next-item .nf-previous, .product__languages .add_to_cart__container .nf-form-content .nf-next-item .listing__view .nf-previous, .listing__view .nf-form-content .nf-next-item .product__languages .add_to_cart__container .nf-previous, .nf-form-content .nf-next-item .product__languages .add_to_cart__container .listing__view .nf-previous, .listing__view .product__languages .add_to_cart__container .nf-form-content .nf-next-item .nf-next, .product__languages .add_to_cart__container .nf-form-content .nf-next-item .listing__view .nf-next, .listing__view .nf-form-content .nf-next-item .product__languages .add_to_cart__container .nf-next, .nf-form-content .nf-next-item .product__languages .add_to_cart__container .listing__view .nf-next, .listing__view .product__languages .add_to_cart__container .nf-form-wrap .submit-container .nf-field-element input, .product__languages .add_to_cart__container .nf-form-wrap .submit-container .nf-field-element .listing__view input, .listing__view .nf-form-wrap .submit-container .nf-field-element .product__languages .add_to_cart__container input, .nf-form-wrap .submit-container .nf-field-element .product__languages .add_to_cart__container .listing__view input, .listing__view .product__languages .add_to_cart__container .nf-form-wrap .nmc-register-submit .nf-field-element input, .product__languages .add_to_cart__container .nf-form-wrap .nmc-register-submit .nf-field-element .listing__view input, .listing__view .nf-form-wrap .nmc-register-submit .nf-field-element .product__languages .add_to_cart__container input, .nf-form-wrap .nmc-register-submit .nf-field-element .product__languages .add_to_cart__container .listing__view input, .listing__view .product__languages .add_to_cart__container .added_to_cart, .product__languages .add_to_cart__container .listing__view .added_to_cart, .listing__view .main-nav > ul > li.menu-item-has-children > a {
    font-size: 1.375rem;
    line-height: 1;
    position: relative;
    top: 0.125rem;
    display: inline-block;
    background: transparent;
    -webkit-transition: -webkit-transform 0.2s linear;
    transition: -webkit-transform 0.2s linear;
    transition: transform 0.2s linear;
    transition: transform 0.2s linear, -webkit-transform 0.2s linear;
    vertical-align: top; }
    .listing__view .icon:hover, .listing__view .lb-cancel:hover, .listing__view .lb-data .lb-close:hover, .lb-data .listing__view .lb-close:hover, .listing__view .btn-cart span:hover, .btn-cart .listing__view span:hover, .listing__view .dk-selected:hover, .listing__view select:hover, .listing__view .select2 .select2-selection--single:hover, .select2 .listing__view .select2-selection--single:hover, .listing__view .product__languages .add_to_cart__container .btn:hover, .product__languages .add_to_cart__container .listing__view .btn:hover, .listing__view .product__languages .add_to_cart__container .nf-form-content .nf-previous-item .nf-previous:hover, .product__languages .add_to_cart__container .nf-form-content .nf-previous-item .listing__view .nf-previous:hover, .listing__view .nf-form-content .nf-previous-item .product__languages .add_to_cart__container .nf-previous:hover, .nf-form-content .nf-previous-item .product__languages .add_to_cart__container .listing__view .nf-previous:hover, .listing__view .product__languages .add_to_cart__container .nf-form-content .nf-previous-item .nf-next:hover, .product__languages .add_to_cart__container .nf-form-content .nf-previous-item .listing__view .nf-next:hover, .listing__view .nf-form-content .nf-previous-item .product__languages .add_to_cart__container .nf-next:hover, .nf-form-content .nf-previous-item .product__languages .add_to_cart__container .listing__view .nf-next:hover, .listing__view .product__languages .add_to_cart__container .nf-form-content .nf-next-item .nf-previous:hover, .product__languages .add_to_cart__container .nf-form-content .nf-next-item .listing__view .nf-previous:hover, .listing__view .nf-form-content .nf-next-item .product__languages .add_to_cart__container .nf-previous:hover, .nf-form-content .nf-next-item .product__languages .add_to_cart__container .listing__view .nf-previous:hover, .listing__view .product__languages .add_to_cart__container .nf-form-content .nf-next-item .nf-next:hover, .product__languages .add_to_cart__container .nf-form-content .nf-next-item .listing__view .nf-next:hover, .listing__view .nf-form-content .nf-next-item .product__languages .add_to_cart__container .nf-next:hover, .nf-form-content .nf-next-item .product__languages .add_to_cart__container .listing__view .nf-next:hover, .listing__view .product__languages .add_to_cart__container .nf-form-wrap .submit-container .nf-field-element input:hover, .product__languages .add_to_cart__container .nf-form-wrap .submit-container .nf-field-element .listing__view input:hover, .listing__view .nf-form-wrap .submit-container .nf-field-element .product__languages .add_to_cart__container input:hover, .nf-form-wrap .submit-container .nf-field-element .product__languages .add_to_cart__container .listing__view input:hover, .listing__view .product__languages .add_to_cart__container .nf-form-wrap .nmc-register-submit .nf-field-element input:hover, .product__languages .add_to_cart__container .nf-form-wrap .nmc-register-submit .nf-field-element .listing__view input:hover, .listing__view .nf-form-wrap .nmc-register-submit .nf-field-element .product__languages .add_to_cart__container input:hover, .nf-form-wrap .nmc-register-submit .nf-field-element .product__languages .add_to_cart__container .listing__view input:hover, .listing__view .product__languages .add_to_cart__container .added_to_cart:hover, .product__languages .add_to_cart__container .listing__view .added_to_cart:hover, .listing__view .main-nav > ul > li.menu-item-has-children > a:hover {
      color: #f16522;
      -webkit-transition: color 0.2s linear;
      transition: color 0.2s linear;
      background: transparent; }
  .listing__view .listing__view-btn {
    padding-left: 0.7rem;
    padding-right: 0.7rem; }
  .listing__view .listing__view-btn.is-active {
    background-color: transparent;
    color: #f16522; }

.popup {
  position: fixed;
  z-index: 1000;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  display: none;
  /**
     * Cache
     */
  /**
     * Close
     */
  /**
     * Content
     */ }
  .popup[data-type="video"] .popup__overflow {
    padding: 0; }
  .popup__cache {
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    cursor: pointer;
    opacity: .8;
    background: #ffffff; }
  .popup__close {
    font-size: 1.875em;
    position: absolute;
    top: -1.33333em;
    right: -1em;
    width: 1em;
    height: 1em;
    cursor: pointer;
    -webkit-transition: color 0.2s cubic-bezier(0.47, 0, 0.745, 0.715);
    transition: color 0.2s cubic-bezier(0.47, 0, 0.745, 0.715);
    color: #f76500;
    border: none;
    background: none; }
    .popup__close:hover {
      color: #de5b00; }
    .popup__close:focus {
      outline: none; }
  .popup__content {
    position: absolute;
    top: 50%;
    left: 50%;
    -webkit-transform: translate3d(-50%, -50%, 0);
            transform: translate3d(-50%, -50%, 0);
    border: 0.125em solid #f76500;
    background: #ffffff; }
  .popup__overflow {
    -webkit-box-sizing: border-box;
            box-sizing: border-box;
    width: 61.25em;
    max-height: 40.625em;
    padding: 1.875em 2.5em;
    overflow: auto; }
    @media screen and (max-width: 800px) {
      .popup__overflow {
        padding: 20px; } }
    .popup__overflow iframe {
      position: absolute;
      top: 0;
      left: 0;
      width: 100%;
      height: 100%; }

@media screen and (max-width: 1100px) {
  .popup__content {
    width: 90%;
    max-height: 90%; }
  .popup__overflow {
    overflow-y: auto;
    width: 100%; } }

@media screen and (max-width: 800px) {
  .popup__content {
    width: 80%; } }

/**
 * Topbar
 */
.topbar {
  font-size: 0.8125rem;
  line-height: 1.875rem;
  position: relative;
  z-index: 100;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
      -ms-flex-direction: row;
          flex-direction: row;
  padding: 1.375rem 6.25rem;
  background-color: #ebebeb;
  -webkit-box-pack: end;
      -ms-flex-pack: end;
          justify-content: flex-end; }
  @media screen and (max-width: 1100px) {
    .topbar {
      position: fixed;
      top: 0;
      left: 0;
      -webkit-box-sizing: border-box;
              box-sizing: border-box;
      width: 100%;
      padding: 0.625rem 1.875rem; } }
  .topbar a {
    -webkit-transition: color 0.2s cubic-bezier(0.455, 0.03, 0.515, 0.955);
    transition: color 0.2s cubic-bezier(0.455, 0.03, 0.515, 0.955);
    color: rgba(32, 33, 36, 0.5); }
    .topbar a:hover {
      text-decoration: none;
      color: #f76500; }
  .topbar__mobile-nav {
    position: absolute;
    display: none;
    width: 3.75rem;
    height: 1.875rem; }
    @media screen and (max-width: 1100px) {
      .topbar__mobile-nav {
        display: block; } }
  .topbar__user {
    margin-right: 10px;
    color: rgba(32, 33, 36, 0.5); }
    @media screen and (max-width: 600px) {
      .topbar__user span {
        display: none; } }

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

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

.lang_switcher_open .language_switcher__list {
  display: block; }

/**
 * Mobile NAV
 */
.mobile-nav {
  left: 0;
  padding: 0 0 0 1.875rem;
  background-color: #ebebeb; }
  .mobile-nav__item {
    position: relative;
    display: block;
    width: 100%;
    height: 0.125rem;
    margin-bottom: 0.375rem;
    -webkit-transform: translate3d(0, 0, 0);
            transform: translate3d(0, 0, 0);
    -webkit-transform-origin: center center;
            transform-origin: center center;
    background-color: #f76500; }
    .mobile-nav__item:last-child {
      margin-bottom: 0; }
  @media screen and (max-width: 1100px) {
    .mobile-nav.is-open {
      -webkit-transform: translate3d(40vw, 0, 0);
              transform: translate3d(40vw, 0, 0); } }
  @media screen and (max-width: 600px) {
    .mobile-nav.is-open {
      -webkit-transform: translate3d(75vw, 0, 0);
              transform: translate3d(75vw, 0, 0); } }

.heading {
  padding: 5rem 6.25rem;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  width: 100%;
  display: block;
  overflow: hidden; }
  .heading__title {
    margin-bottom: 2.5rem; }
  @media screen and (max-width: 1600px) {
    .heading {
      padding: 3.125rem 2.5rem; } }
  @media screen and (max-width: 1100px) {
    .heading {
      margin-top: 3.125rem;
      padding: 3.125rem 1.875rem; } }
  .heading__content {
    color: rgba(32, 33, 36, 0.4); }

.filters {
  position: relative;
  width: 12.5rem;
  -ms-flex-negative: 0;
      flex-shrink: 0; }
  .filters__field {
    margin-bottom: 3.125rem; }
  @media screen and (max-width: 1100px) {
    .filters__container {
      position: relative;
      overflow: hidden;
      height: 0; }
      .filters__container.is-open {
        height: auto; } }
  @media screen and (max-width: 1100px) and (min-width: 600px) {
    .filters__group {
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex; }
      .filters__group .filters__field {
        margin-right: 30px;
        margin-bottom: 0;
        -webkit-box-flex: 1;
            -ms-flex-positive: 1;
                flex-grow: 1; }
        .filters__group .filters__field:last-child {
          margin-right: 0; } }
  .filters__summary {
    display: none;
    padding: 1.5625rem;
    background-color: #888889; }
    .filters__summary__list {
      padding: 0; }
      .filters__summary__list li {
        font-size: 0.8125rem;
        line-height: 1.1875rem;
        position: relative;
        margin-bottom: 0.9375rem;
        padding-right: 1.25rem;
        list-style: none;
        color: #ffffff; }
        .filters__summary__list li button {
          font-size: 0.5rem;
          line-height: 1.1875rem;
          position: absolute;
          top: 0;
          right: 0;
          width: 1.25rem;
          padding: 0;
          text-align: center;
          color: #ffffff; }
          .filters__summary__list li button::before {
            vertical-align: top; }
  .filters__search input {
    padding-right: 1.875rem;
    padding-left: 1.25rem; }
  .filters__search::before {
    font-size: 0.6875rem;
    right: 0.875rem;
    left: inherit;
    opacity: 1; }
  .filters__title {
    font-family: "futura-pt", Futura, "Trebuchet MS", Arial, sans-serif;
    font-size: 1.125rem;
    line-height: 1.25rem;
    position: relative;
    margin: 0;
    margin-bottom: 1.25rem;
    letter-spacing: 0.15625rem;
    text-transform: uppercase; }
    @media screen and (max-width: 1100px) {
      .filters__title {
        cursor: pointer; } }
    .filters__title::before {
      font-size: 1rem;
      line-height: 20px;
      position: absolute;
      right: 0;
      display: none;
      text-align: right;
      vertical-align: top;
      color: #f76500; }
      @media screen and (max-width: 1100px) {
        .filters__title::before {
          display: block; } }
    .filters__title.icon-less::before {
      font-size: 3px; }
  .filters__subtitle {
    font-family: "futura-pt", Futura, "Trebuchet MS", Arial, sans-serif;
    font-size: 0.875rem;
    position: relative;
    margin: 0;
    cursor: pointer;
    letter-spacing: 2.5px;
    text-transform: uppercase; }
    .filters__subtitle::before {
      font-size: 2px;
      line-height: 21px;
      position: absolute;
      top: 0;
      right: 0;
      vertical-align: top;
      color: #f76500; }
    .filters__subtitle.icon-more::before {
      font-size: 10px; }
  .filters__list {
    line-height: 1.5;
    overflow: hidden;
    margin: 0.9375rem 0;
    padding: 0; }
    .filters__list li {
      margin-bottom: 0.625rem;
      list-style: none; }
      .filters__list li:last-child {
        margin-bottom: 0; }
    .filters__list--childs {
      padding: 0.625rem 0 0.625rem 1.875rem; }

/**
 * Download
 */
.download {
  position: relative;
  padding: 1.25rem; }
  .download__title {
    font-size: 2.25rem;
    line-height: 2.5rem;
    margin: 0;
    text-align: center;
    letter-spacing: 0.5rem;
    text-transform: uppercase; }
    @media screen and (max-width: 600px) {
      .download__title {
        font-size: 1.375rem;
        line-height: 1.75rem; } }
  .download__subtitle {
    font-family: "futura-pt", Futura, "Trebuchet MS", Arial, sans-serif;
    font-size: 1rem;
    margin-bottom: 3.125rem;
    text-align: center;
    color: #202124; }
    .download__subtitle:last-of-type {
      margin-bottom: 3.125rem; }
  .download__form {
    position: relative;
    z-index: 10;
    margin: 0 auto; }
    @media screen and (min-width: 801px) {
      .download__form {
        width: 37.5rem; } }
  @media screen and (min-width: 801px) {
    .download--media .download__form__list {
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex;
      -ms-flex-wrap: wrap;
          flex-wrap: wrap;
      -webkit-box-pack: center;
          -ms-flex-pack: center;
              justify-content: center;
      margin-left: -15px;
      width: calc( 100% + 30px); } }
  .download--bimcad .download__form__list, .download--tender-texts .download__form__list {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    margin-left: -15px;
    width: calc( 100% + 30px); }
  .download__field {
    width: calc( (100% - 90px) / 3);
    margin: 0 15px;
    margin-bottom: 10px; }
    .download--bimcad .download__field, .download--tender-texts .download__field {
      width: calc( (100% - 120px) / 4); }
      @media screen and (max-width: 600px) {
        .download--bimcad .download__field, .download--tender-texts .download__field {
          width: calc( (100% - 90px) / 3); } }
      @media screen and (max-width: 320px) {
        .download--bimcad .download__field, .download--tender-texts .download__field {
          width: calc( (100% - 60px) / 2); } }
    @media screen and (max-width: 800px) {
      .download--media .download__field {
        width: 100%;
        margin: 0;
        margin-bottom: 20px; } }
    .download__field__title {
      text-align: center;
      text-transform: uppercase;
      letter-spacing: 0.125rem;
      margin-bottom: 5px;
      letter-spacing: 0.2px; }
      @media screen and (max-width: 800px) {
        .download__field__title {
          text-align: left; } }
      .download--tender-texts .download__field__title {
        border-radius: 50%;
        -khtml-border-radius: 50%;
        display: block;
        width: 5rem;
        height: 5rem;
        font-size: 1.875rem;
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-align: center;
            -ms-flex-align: center;
                align-items: center;
        -webkit-box-pack: center;
            -ms-flex-pack: center;
                justify-content: center;
        margin: 0 auto 1.375rem;
        -webkit-transition: color 0.2s cubic-bezier(0.47, 0, 0.745, 0.715), background-color 0.2s cubic-bezier(0.47, 0, 0.745, 0.715);
        transition: color 0.2s cubic-bezier(0.47, 0, 0.745, 0.715), background-color 0.2s cubic-bezier(0.47, 0, 0.745, 0.715);
        color: #f76500;
        border: 0.125rem solid #f76500; }
        @media screen and (max-width: 600px) {
          .download--tender-texts .download__field__title {
            border-radius: 50%;
            -khtml-border-radius: 50%;
            display: block;
            width: 2.5rem;
            height: 2.5rem;
            display: -webkit-box;
            display: -ms-flexbox;
            display: flex;
            font-size: 1.125rem;
            margin-right: 20px;
            margin-bottom: 20px; } }
    .download__field__settings {
      list-style: none;
      padding: 0;
      margin: 0;
      display: table;
      margin-top: 25px; }
      .download__field__settings li {
        display: table-row; }
        .download__field__settings li span {
          display: table-cell; }
        .download__field__settings li span + span {
          padding-left: 30px; }
  .download__action {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    margin-top: 3.125rem; }
  .download__input:checked + label .label__icon::before {
    color: #ffffff;
    background-color: #f76500; }
  .download--tender-texts .download__input:checked + label .download__field__title {
    color: #ffffff;
    background-color: #f76500; }
  .download__label {
    display: block;
    font-family: "futura-pt", Futura, "Trebuchet MS", Arial, sans-serif;
    line-height: 1.2;
    cursor: pointer;
    color: #202124; }
    .download__label .label__icon::before {
      border-radius: 50%;
      -khtml-border-radius: 50%;
      display: block;
      width: 5rem;
      height: 5rem;
      font-size: 1.875rem;
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex;
      -webkit-box-align: center;
          -ms-flex-align: center;
              align-items: center;
      -webkit-box-pack: center;
          -ms-flex-pack: center;
              justify-content: center;
      margin: 0 auto 1.375rem;
      -webkit-transition: color 0.2s cubic-bezier(0.47, 0, 0.745, 0.715), background-color 0.2s cubic-bezier(0.47, 0, 0.745, 0.715);
      transition: color 0.2s cubic-bezier(0.47, 0, 0.745, 0.715), background-color 0.2s cubic-bezier(0.47, 0, 0.745, 0.715);
      color: #f76500;
      border: 0.125rem solid #f76500; }
      @media screen and (max-width: 800px) {
        .download__label .label__icon::before {
          border-radius: 50%;
          -khtml-border-radius: 50%;
          display: block;
          width: 2.5rem;
          height: 2.5rem;
          display: -webkit-box;
          display: -ms-flexbox;
          display: flex;
          font-size: 1.125rem;
          margin-right: 20px; }
          .download--bimcad .download__label .label__icon::before {
            margin-bottom: 0; } }
    @media screen and (max-width: 800px) {
      .download__label {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-align: start;
            -ms-flex-align: start;
                align-items: flex-start;
        -webkit-box-pack: center;
            -ms-flex-pack: center;
                justify-content: center; } }
  .download__iframe {
    position: absolute;
    z-index: 0;
    display: none; }

#shop main {
  -ms-flex-wrap: wrap;
      flex-wrap: wrap; }

#shop .shop__action {
  width: 100%; }

.shop__action {
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  overflow: hidden;
  margin-bottom: 1em;
  padding: 0 6.25rem;
  text-align: right; }
  @media screen and (max-width: 1600px) {
    .shop__action {
      padding: 0 2.5rem; } }
  @media screen and (max-width: 1100px) {
    .shop__action {
      padding: 0 1.875rem; } }

.product__languages {
  list-style: none;
  padding: 0; }
  @media screen and (min-width: 560px) {
    .product__languages {
      display: table;
      border-collapse: collapse; } }
  .product__languages li {
    border-bottom: 1px solid #ebebeb; }
    @media screen and (min-width: 560px) {
      .product__languages li {
        display: table-row; } }
    .product__languages li:last-child {
      padding-bottom: 0;
      border-bottom: 0;
      margin-bottom: 0; }
  .product__languages p {
    padding-top: 10px;
    padding-bottom: 10px;
    margin: 0;
    display: table-cell; }
  .product__languages strong {
    font-weight: 600; }
  .product__languages .add_to_cart__container {
    padding-bottom: 10px; }
    @media screen and (min-width: 560px) {
      .product__languages .add_to_cart__container {
        padding-top: 10px;
        display: table-cell;
        padding-left: 50px; } }
    .product__languages .add_to_cart__container input {
      width: 30px;
      text-align: right; }
      @media screen and (min-width: 560px) {
        .product__languages .add_to_cart__container input {
          margin-left: 20px; } }
    .product__languages .add_to_cart__container .btn, .product__languages .add_to_cart__container .nf-form-content .nf-previous-item .nf-previous, .nf-form-content .nf-previous-item .product__languages .add_to_cart__container .nf-previous, .product__languages .add_to_cart__container .nf-form-content .nf-previous-item .nf-next, .nf-form-content .nf-previous-item .product__languages .add_to_cart__container .nf-next, .product__languages .add_to_cart__container .nf-form-content .nf-next-item .nf-previous, .nf-form-content .nf-next-item .product__languages .add_to_cart__container .nf-previous, .product__languages .add_to_cart__container .nf-form-content .nf-next-item .nf-next, .nf-form-content .nf-next-item .product__languages .add_to_cart__container .nf-next, .product__languages .add_to_cart__container .nf-form-wrap .submit-container .nf-field-element input, .nf-form-wrap .submit-container .nf-field-element .product__languages .add_to_cart__container input, .product__languages .add_to_cart__container .nf-form-wrap .nmc-register-submit .nf-field-element input, .nf-form-wrap .nmc-register-submit .nf-field-element .product__languages .add_to_cart__container input {
      padding: .618em 1em;
      display: inline-block;
      border-radius: 3px;
      background-color: #ebebeb;
      color: #202124;
      line-height: 1;
      text-decoration: none;
      font-weight: 600;
      letter-spacing: 1px;
      margin-left: 5px; }
      .product__languages .add_to_cart__container .btn:hover, .product__languages .add_to_cart__container .nf-form-content .nf-previous-item .nf-previous:hover, .nf-form-content .nf-previous-item .product__languages .add_to_cart__container .nf-previous:hover, .product__languages .add_to_cart__container .nf-form-content .nf-previous-item .nf-next:hover, .nf-form-content .nf-previous-item .product__languages .add_to_cart__container .nf-next:hover, .product__languages .add_to_cart__container .nf-form-content .nf-next-item .nf-previous:hover, .nf-form-content .nf-next-item .product__languages .add_to_cart__container .nf-previous:hover, .product__languages .add_to_cart__container .nf-form-content .nf-next-item .nf-next:hover, .nf-form-content .nf-next-item .product__languages .add_to_cart__container .nf-next:hover, .product__languages .add_to_cart__container .nf-form-wrap .submit-container .nf-field-element input:hover, .nf-form-wrap .submit-container .nf-field-element .product__languages .add_to_cart__container input:hover, .product__languages .add_to_cart__container .nf-form-wrap .nmc-register-submit .nf-field-element input:hover, .nf-form-wrap .nmc-register-submit .nf-field-element .product__languages .add_to_cart__container input:hover {
        text-decoration: none; }
      .product__languages .add_to_cart__container .btn:before, .product__languages .add_to_cart__container .nf-form-content .nf-previous-item .nf-previous:before, .nf-form-content .nf-previous-item .product__languages .add_to_cart__container .nf-previous:before, .product__languages .add_to_cart__container .nf-form-content .nf-previous-item .nf-next:before, .nf-form-content .nf-previous-item .product__languages .add_to_cart__container .nf-next:before, .product__languages .add_to_cart__container .nf-form-content .nf-next-item .nf-previous:before, .nf-form-content .nf-next-item .product__languages .add_to_cart__container .nf-previous:before, .product__languages .add_to_cart__container .nf-form-content .nf-next-item .nf-next:before, .nf-form-content .nf-next-item .product__languages .add_to_cart__container .nf-next:before, .product__languages .add_to_cart__container .nf-form-wrap .submit-container .nf-field-element input:before, .nf-form-wrap .submit-container .nf-field-element .product__languages .add_to_cart__container input:before, .product__languages .add_to_cart__container .nf-form-wrap .nmc-register-submit .nf-field-element input:before, .nf-form-wrap .nmc-register-submit .nf-field-element .product__languages .add_to_cart__container input:before {
        margin-right: 5px; }
    .product__languages .add_to_cart__container .added_to_cart {
      padding-top: 0;
      margin-left: 20px;
      -webkit-transition: color 0.2s cubic-bezier(0.47, 0, 0.745, 0.715);
      transition: color 0.2s cubic-bezier(0.47, 0, 0.745, 0.715); }
      .product__languages .add_to_cart__container .added_to_cart:hover {
        color: #c45000;
        text-decoration: none; }
      .product__languages .add_to_cart__container .added_to_cart:before {
        margin-right: 5px; }

#product .btn-cart {
  margin-top: -20px; }

#basket main {
  display: block; }

.cart-empty {
  text-align: center;
  margin-top: 100px;
  color: rgba(32, 33, 36, 0.5); }

.woocommerce-cart table.cart img {
  width: 100px;
  height: auto; }

.basket__info {
  margin-top: 20px; }
  @media screen and (min-width: 769px) {
    .basket__info {
      float: left;
      width: 48%; } }

.basket__form {
  margin-top: 30px; }
  @media screen and (min-width: 769px) {
    .basket__form__recap {
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex; } }
  .basket__form__recap__fields:before, .basket__form__recap__fields:after {
    display: table;
    /* 2 */
    content: " ";
    /* 1 */ }
  .basket__form__recap__fields:after {
    clear: both; }
  @media screen and (min-width: 769px) {
    .basket__form__recap__fields {
      width: 48%;
      -webkit-box-flex: 0;
          -ms-flex-positive: 0;
              flex-grow: 0;
      -ms-flex-negative: 0;
          flex-shrink: 0; } }
  .basket__form__recap__fields input[disabled] {
    background-color: #ebebeb;
    padding: 20px 15px;
    color: #9f9f9f; }
  .basket__form__recap__text {
    margin-bottom: 30px; }
    @media screen and (min-width: 769px) {
      .basket__form__recap__text {
        width: 48%;
        -webkit-box-flex: 0;
            -ms-flex-positive: 0;
                flex-grow: 0;
        -ms-flex-negative: 0;
            flex-shrink: 0;
        padding: 30px 0;
        margin-left: 30px; } }
  .basket__form, .basket__form input, .basket__form label, .basket__form textarea, .basket__form select {
    width: 100%; }
  .basket__form .label, .basket__form .page .checkbox-wrap label, .page .checkbox-wrap .basket__form label, .basket__form .page .list-checkbox-wrap ul label, .page .list-checkbox-wrap ul .basket__form label {
    display: block;
    font-weight: 700;
    color: #202124;
    margin-bottom: 10px; }
  .basket__form .btn, .basket__form .nf-form-content .nf-previous-item .nf-previous, .nf-form-content .nf-previous-item .basket__form .nf-previous, .basket__form .nf-form-content .nf-previous-item .nf-next, .nf-form-content .nf-previous-item .basket__form .nf-next, .basket__form .nf-form-content .nf-next-item .nf-previous, .nf-form-content .nf-next-item .basket__form .nf-previous, .basket__form .nf-form-content .nf-next-item .nf-next, .nf-form-content .nf-next-item .basket__form .nf-next, .basket__form .nf-form-wrap .submit-container .nf-field-element input, .nf-form-wrap .submit-container .nf-field-element .basket__form input, .basket__form .nf-form-wrap .nmc-register-submit .nf-field-element input, .nf-form-wrap .nmc-register-submit .nf-field-element .basket__form input {
    margin-top: 20px; }

/**
 * Html
 */
html {
  font-size: 100%; }

/**
 * Body
 */
body {
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  font-family: "Open Sans", Helvetica, Arial, sans-serif;
  font-size: 1em;
  font-weight: normal;
  line-height: 1.5625;
  margin-bottom: 0em;
  color: #202124; }
  body .center {
    position: relative;
    -webkit-box-sizing: border-box;
            box-sizing: border-box;
    width: 100%;
    max-width: 93.75rem;
    min-height: 100%;
    margin: 0 auto; }
    @media screen and (max-width: 1100px) {
      body .center {
        max-width: 90%; } }
  body.login .container__login {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column; }
    body.login .container__login .header--login {
      background-color: #f8f8f8;
      padding-bottom: 2rem;
      padding-top: 2rem;
      z-index: 5000; }
    body.login .container__login .content__header--sigin {
      background-color: #ffffff;
      margin: 0 auto 5rem auto; }
      body.login .container__login .content__header--sigin .center .page__content {
        margin-top: 0; }
    body.login .container__login .content {
      background-color: #ffffff; }
      body.login .container__login .content .main-title {
        margin: 3rem auto 0 auto;
        padding: 0 20px; }
      body.login .container__login .content .center {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        padding: 3rem 0; }
        @media screen and (max-width: 1100px) {
          body.login .container__login .content .center {
            -webkit-box-orient: vertical;
            -webkit-box-direction: normal;
                -ms-flex-direction: column;
                    flex-direction: column; } }
        body.login .container__login .content .center .center__left {
          width: 50%;
          border-right: 1px solid #ebebeb; }
          @media screen and (max-width: 1100px) {
            body.login .container__login .content .center .center__left {
              border-right: none;
              border-bottom: 1px solid #ebebeb;
              width: 100%;
              padding-bottom: 5rem; } }
          body.login .container__login .content .center .center__left .form__title {
            margin: auto;
            width: -webkit-fit-content;
            width: -moz-fit-content;
            width: fit-content;
            text-align: center; }
        body.login .container__login .content .center .center__right {
          width: 50%;
          display: -webkit-box;
          display: -ms-flexbox;
          display: flex;
          -webkit-box-orient: vertical;
          -webkit-box-direction: normal;
              -ms-flex-direction: column;
                  flex-direction: column; }
          @media screen and (max-width: 1100px) {
            body.login .container__login .content .center .center__right {
              width: 100%;
              margin-top: 5rem; } }
          body.login .container__login .content .center .center__right .form__title {
            margin: auto;
            width: -webkit-fit-content;
            width: -moz-fit-content;
            width: fit-content;
            margin-top: 0;
            margin-bottom: 2rem;
            text-align: center; }
          body.login .container__login .content .center .center__right .page__content {
            margin-top: 0;
            margin-bottom: 0;
            width: 60% !important; }
            @media screen and (max-width: 1100px) {
              body.login .container__login .content .center .center__right .page__content {
                width: 100% !important; } }
          body.login .container__login .content .center .center__right .btn--submit {
            width: -webkit-fit-content;
            width: -moz-fit-content;
            width: fit-content;
            margin: 3.2rem auto 3.2rem auto;
            text-decoration: none; }
    body.login .container__login #page .center {
      display: block; }
    body.login .container__login #page input:not(.nf-previous):not(.nf-next):not([type=submit]), body.login .container__login #page .select2 .select2-selection--single[aria-expanded=false], body.login .container__login #page textarea {
      background-color: #f8f8f8; }
    body.login .container__login #page input[type=submit] {
      -webkit-user-select: none;
         -moz-user-select: none;
          -ms-user-select: none;
              user-select: none; }
      body.login .container__login #page input[type=submit] span {
        position: relative;
        z-index: 10; }
      body.login .container__login #page input[type=submit]:hover, body.login .container__login #page input[type=submit]:focus {
        background: #ce5400; }
      body.login .container__login #page input[type=submit]--compact {
        padding: 10px 25px; }
      body.login .container__login #page input[type=submit]--hide {
        opacity: 0; }
      body.login .container__login #page input[type=submit]--stroke {
        color: #f76500;
        background-color: transparent;
        border: 2px solid #f76500; }
        body.login .container__login #page input[type=submit]--stroke:hover, body.login .container__login #page input[type=submit]--stroke:focus {
          color: #ffffff;
          background: #ce5400; }
      body.login .container__login #page input[type=submit]:disabled {
        background-color: #d8d8d8;
        color: #202124;
        cursor: not-allowed; }
      body.login .container__login #page input[type=submit] .nf-form-content .nf-next-item .nf-next {
        color: black; }
  body.menu-is-open {
    overflow: hidden; }
  body.dashboard #container {
    position: relative;
    overflow: hidden;
    min-height: 100vh; }
    body.dashboard #container .content {
      position: relative;
      min-height: 100%;
      padding-bottom: 3.125rem; }
      @media screen and (min-width: 1100px) {
        body.dashboard #container .content {
          float: right;
          top: 0;
          right: 0; } }
  body.dashboard main {
    padding: 0 6.25rem; }
    body.dashboard main .sidebar {
      width: 100%; }
      @media screen and (max-width: 1100px) {
        body.dashboard main .sidebar {
          margin-bottom: 1.875rem; } }
      @media screen and (min-width: 1100px) {
        body.dashboard main .sidebar {
          width: auto;
          min-width: 12.5rem;
          margin-right: 1.875rem;
          max-width: 18.75rem; } }
    @media screen and (max-width: 1600px) {
      body.dashboard main {
        padding: 0 2.5rem; } }
    @media screen and (max-width: 1100px) {
      body.dashboard main {
        padding: 0 1.875rem; } }
    @media screen and (min-width: 1100px) {
      body.dashboard main {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex; } }

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

/**
 * Mark
 */
mark {
  background: transparent;
  color: inherit; }

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

/**
 * Paragraph
 */
p {
  margin-bottom: 1.875em; }
  p:last-of-type {
    margin-bottom: 0; }

/**
 * Title
 */
h1 {
  font-family: "Open Sans", Helvetica, Arial, sans-serif;
  font-size: 3.5em;
  font-weight: normal;
  line-height: 1.25;
  margin-bottom: 0em;
  color: #d8d8d8;
  font-weight: 700;
  position: relative;
  text-transform: uppercase; }
  h1 strong {
    display: block; }

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

.hidden {
  display: none; }

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

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

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

/**
 * Gallery
 */
.gallery__featured {
  position: relative;
  /* > * {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
  } */
  margin: 0;
  padding: 0; }
  .gallery__featured:before {
    display: block;
    width: 100%;
    padding-top: 66.66667%;
    content: " "; }
  .gallery__featured__items {
    position: absolute;
    z-index: 0;
    top: 0;
    left: 0;
    display: block;
    overflow: hidden;
    width: 100%;
    height: 100%;
    opacity: 0; }
  .gallery__featured::before {
    background-color: #ebebeb; }
  .gallery__featured figure {
    position: absolute;
    z-index: 0;
    top: 0;
    left: 0;
    display: block;
    overflow: hidden;
    width: 100%;
    height: 100%;
    margin: 0;
    padding: 0;
    opacity: 0; }
    .gallery__featured figure a {
      position: absolute;
      top: 0;
      left: 0;
      display: block;
      width: 100%;
      height: 100%;
      background-repeat: no-repeat;
      background-position: center;
      background-size: auto 100%; }
      #single .gallery__featured figure a {
        background-size: cover; }
      .gallery__featured figure a img {
        position: absolute;
        top: 50%;
        left: 0%;
        display: block;
        display: none;
        width: 100%;
        height: auto;
        -webkit-transform: translate3d(0, -50%, 0);
                transform: translate3d(0, -50%, 0);
        opacity: 0; }
    .gallery__featured figure figcaption {
      font: 0/0 a;
      color: transparent;
      border: 0;
      background-color: transparent;
      text-shadow: none; }
    .gallery__featured figure.current {
      z-index: 10;
      opacity: 1; }

.gallery__btn {
  position: absolute;
  top: 0;
  display: block;
  overflow: visible;
  width: 33%;
  width: calc(33% - 10px);
  height: 100%;
  padding: 0;
  cursor: pointer;
  text-align: center;
  color: #ffffff;
  border: none;
  background: none; }
  .gallery__btn:focus, .gallery__btn:hover {
    outline: none; }
  .gallery__btn::before {
    border-radius: 50%;
    -khtml-border-radius: 50%;
    display: block;
    width: 40px;
    height: 40px;
    font-size: 12px;
    line-height: 40px;
    position: absolute;
    top: 50%;
    display: block;
    -webkit-transition: background-color 0.2s cubic-bezier(0.55, 0.085, 0.68, 0.53);
    transition: background-color 0.2s cubic-bezier(0.55, 0.085, 0.68, 0.53);
    vertical-align: top;
    background-color: #f76500; }
    .gallery__btn::before:focus, .gallery__btn::before:hover {
      outline: none;
      background-color: #f16522; }
  .gallery__btn--prev {
    left: 0; }
    .gallery__btn--prev::before {
      left: 0;
      -webkit-transform: translate3d(-50%, -50%, 0);
              transform: translate3d(-50%, -50%, 0); }
  .gallery__btn--next {
    right: 0; }
    .gallery__btn--next::before {
      right: 0;
      -webkit-transform: translate3d(50%, -50%, 0);
              transform: translate3d(50%, -50%, 0); }

.gallery__navigation {
  position: relative;
  margin-top: 20px;
  opacity: 0; }
  .gallery__navigation__mask {
    overflow: hidden; }
  .gallery__navigation ul {
    position: relative;
    margin: 0;
    padding: 0; }
    .gallery__navigation ul:before, .gallery__navigation ul:after {
      display: table;
      /* 2 */
      content: " ";
      /* 1 */ }
    .gallery__navigation ul:after {
      clear: both; }
    .gallery__navigation ul li {
      position: relative;
      /* > * {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
  } */
      float: left;
      -webkit-box-sizing: border-box;
              box-sizing: border-box;
      margin-right: 20px;
      padding: 0;
      list-style: none;
      -webkit-transition: border 0.4s cubic-bezier(0.455, 0.03, 0.515, 0.955);
      transition: border 0.4s cubic-bezier(0.455, 0.03, 0.515, 0.955);
      border: 3px solid transparent;
      background-repeat: no-repeat;
      background-position: center;
      background-size: cover; }
      .gallery__navigation ul li:before {
        display: block;
        width: 100%;
        padding-top: 66.66667%;
        content: " "; }
      .gallery__navigation ul li.current {
        border-color: #f76500; }
      .gallery__navigation ul li:last-child {
        margin-right: 0; }

.details-block {
  position: relative;
  margin-bottom: 50px; }
  .details-block:before, .details-block:after {
    display: table;
    /* 2 */
    content: " ";
    /* 1 */ }
  .details-block:after {
    clear: both; }
  .details-block:last-child {
    margin-bottom: 0; }
  @media only screen and (max-width: 1100pxpx) {
    .details-block {
      width: calc(150px + ((100% - 330px) / 12 * 6)); }
      .details-block:nth-child(2n+2) {
        margin-right: 0; } }
  @media only screen and (max-width: 600pxpx) {
    .details-block {
      width: 100%;
      margin-right: 0; } }
  .details-block__title {
    font-size: 14px;
    line-height: 19px;
    margin-bottom: 22px; }
    .details-block__title span::before {
      bottom: 3px;
      height: 6px; }
  .details-block__label {
    display: inline-block;
    min-width: 130px;
    opacity: .4; }
  .details-block__picto {
    margin: 0;
    padding: 0; }
    .details-block__picto:before, .details-block__picto:after {
      display: table;
      /* 2 */
      content: " ";
      /* 1 */ }
    .details-block__picto:after {
      clear: both; }
    .details-block__picto li {
      font-size: 14px;
      float: left;
      min-width: 160px;
      margin: 0;
      margin-bottom: 20px;
      padding: 0;
      list-style: none;
      color: #202124; }
      .details-block__picto li:before, .details-block__picto li:after {
        display: table;
        /* 2 */
        content: " ";
        /* 1 */ }
      .details-block__picto li:after {
        clear: both; }
      .details-block__picto li a {
        color: #202124; }
        .details-block__picto li a:before, .details-block__picto li a:after {
          display: table;
          /* 2 */
          content: " ";
          /* 1 */ }
        .details-block__picto li a:after {
          clear: both; }
      .details-block__picto li img {
        display: block;
        float: left; }
      .details-block__picto li span {
        line-height: 40px;
        display: block;
        float: left;
        -webkit-box-sizing: border-box;
                box-sizing: border-box;
        padding: 0 18px; }
  .details-block__list {
    -webkit-box-sizing: border-box;
            box-sizing: border-box;
    margin: 0;
    padding: 0;
    color: #202124; }
    .details-block__list--packaging.details-block__list--packaging {
      padding-top: 30px; }
    @media only screen and (min-width: 1100pxpx) {
      .details-block__list {
        float: left;
        width: calc(150px + ((100% - 330px) / 12 * 6));
        padding-right: 30px; }
        .details-block--full .details-block__list {
          float: none;
          clear: both;
          width: 100%;
          border: none; }
        .details-block__list--full {
          float: none;
          clear: both;
          width: 100%;
          padding: 0;
          border: none; } }
    .details-block__list + ul.details-block__list--full {
      padding-left: 0;
      border: none; }
    @media only screen and (min-width: 1100pxpx) {
      .details-block__list + ul {
        padding-right: 0;
        padding-left: 30px;
        border-left: 1px solid rgba(32, 33, 36, 0.1); } }
    .details-block__list li {
      font-size: 14px;
      line-height: 25px;
      padding: 0;
      list-style: none; }

/**
 * Success message
 */
.block__success_message {
  z-index: 100;
  background-color: #78ae11;
  overflow: hidden;
  max-height: 0;
  display: block;
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  -webkit-transition: max-height 0.2s cubic-bezier(0.445, 0.05, 0.55, 0.95);
  transition: max-height 0.2s cubic-bezier(0.445, 0.05, 0.55, 0.95); }
  .block__success_message__content {
    text-align: center;
    padding-top: 15px;
    padding-bottom: 15px;
    font-size: 14px;
    font-weight: bold;
    text-transform: uppercase;
    letter-spacing: 1px;
    color: #202124; }
  .block__success_message.active {
    max-height: 200px; }

/**
 * Video
 */
.popup__video {
  position: relative;
  /* > * {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
  } */
  width: 100%; }
  .popup__video:before {
    display: block;
    width: 100%;
    padding-top: 56.25%;
    content: " "; }
  .popup__video .player {
    position: absolute;
    inset: 0; }

.header {
  background-color: #ffffff; }
  .header .center {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center; }
    @media screen and (max-width: 600px) {
      .header .center {
        display: block; } }
  .login .header .logo {
    width: 11.875rem;
    margin-bottom: 1.375rem;
    background-repeat: no-repeat;
    background-position: center;
    margin: 0;
    position: relative; }
    .login .header .logo .logo__text {
      position: absolute;
      /* left: 200px; */
      right: -60%;
      -webkit-transform: translateY(-50%);
              transform: translateY(-50%);
      top: 50%;
      width: -webkit-fit-content;
      width: -moz-fit-content;
      width: fit-content;
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex;
      -webkit-box-align: center;
          -ms-flex-align: center;
              align-items: center;
      height: 100%; }
      @media screen and (max-width: 600px) {
        .login .header .logo .logo__text {
          right: 32px;
          bottom: -75%;
          -webkit-transform: translateY(0);
                  transform: translateY(0);
          top: auto; } }
      .login .header .logo .logo__text span {
        font-family: "futura-pt", Futura, "Trebuchet MS", Arial, sans-serif;
        color: #202124;
        font-size: 1.5625rem;
        letter-spacing: 0.125rem;
        text-transform: uppercase; }
  .dashboard .header {
    position: relative;
    overflow: auto;
    width: 20.3125rem;
    background-color: #ebebeb; }
    @media screen and (min-width: 1100px) {
      .dashboard .header {
        float: left;
        top: 0;
        left: 0;
        bottom: 0; } }
    @media screen and (max-width: 1100px) {
      .dashboard .header {
        position: fixed;
        z-index: 1000;
        width: 40%;
        height: 100%;
        -webkit-transform: translate3d(-100%, 0, 0);
                transform: translate3d(-100%, 0, 0); }
        .dashboard .header.is-open {
          -webkit-transform: translate3d(0%, 0, 0);
                  transform: translate3d(0%, 0, 0); } }
    @media screen and (max-width: 600px) {
      .dashboard .header {
        width: 75%; } }
    .dashboard .header:before {
      content: '';
      position: fixed;
      top: 0;
      left: 0;
      bottom: 0;
      width: 20.3125rem;
      background-color: #ebebeb; }
      @media screen and (max-width: 1400px) and (min-width: 1100px) {
        .dashboard .header:before {
          width: 17.5rem; } }
      @media screen and (max-width: 600px) {
        .dashboard .header:before {
          width: 75%; } }
    @media screen and (max-width: 1400px) and (min-width: 1100px) {
      .dashboard .header {
        width: 17.5rem; } }
    .dashboard .header + .content {
      width: calc( 100% - 325px); }
      @media screen and (max-width: 1400px) and (min-width: 1100px) {
        .dashboard .header + .content {
          width: calc( 100% - 280px); } }
      @media screen and (max-width: 1100px) {
        .dashboard .header + .content {
          float: none;
          width: auto; } }
    .dashboard .header .logo {
      width: 100%;
      height: 15.3125rem;
      margin: 0;
      padding: 0;
      background-color: #f8f8f8;
      background-repeat: no-repeat;
      background-position: center;
      background-size: 9.8125rem auto; }
      @media screen and (max-width: 1100px) {
        .dashboard .header .logo {
          height: 6.25rem;
          background-size: 6.25rem auto; } }
      .dashboard .header .logo::before {
        display: none; }
  .header__content {
    margin-top: 1.875rem;
    text-align: center;
    color: rgba(32, 33, 36, 0.4); }

@media screen and (max-width: 600px) {
  .header--login {
    padding-bottom: 3.75rem !important; } }

.header--login .topbar {
  background-color: transparent;
  position: absolute;
  left: 0;
  height: 100%;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  width: 100%;
  margin: 0;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  z-index: 0; }

/**
 * Logo
 */
.logo {
  position: relative;
  /* > * {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
  } */
  display: block;
  width: 9.8125rem;
  margin: 0 auto;
  background-image: url(../img/logo-nmc.svg); }
  .logo:before {
    display: block;
    width: 100%;
    padding-top: 44.22222%;
    content: " "; }

/**
 * Navigatimn
 */
.main-nav {
  position: relative; }
  .main-nav > ul {
    margin: 0;
    padding: 0; }
    .main-nav > ul > li {
      font-size: 0.8125rem;
      list-style: none;
      letter-spacing: 0.125rem;
      text-transform: uppercase;
      color: rgba(32, 33, 36, 0.5);
      border-bottom: 0.0625rem solid #d8d8d8; }
      .main-nav > ul > li > a {
        font-family: "futura-pt", Futura, "Trebuchet MS", Arial, sans-serif;
        position: relative;
        display: block;
        padding: 2.375rem 2.5rem;
        -webkit-transition: background-color 0.2s cubic-bezier(0.455, 0.03, 0.515, 0.955);
        transition: background-color 0.2s cubic-bezier(0.455, 0.03, 0.515, 0.955);
        color: rgba(32, 33, 36, 0.4); }
        @media screen and (max-width: 1100px) {
          .main-nav > ul > li > a {
            padding: 1.875rem 1.25rem; } }
        @media screen and (max-width: 600px) {
          .main-nav > ul > li > a {
            padding: 1.25rem 1.25rem; } }
        .main-nav > ul > li > a:hover {
          text-decoration: none;
          background-color: #d8d8d8; }
      .main-nav > ul > li.is-open {
        background-color: #d8d8d8; }
        .main-nav > ul > li.is-open > a {
          color: rgba(32, 33, 36, 0.4);
          background-color: #d8d8d8; }
      .main-nav > ul > li.menu-item-has-children > a::before {
        font-size: 0.3125rem;
        line-height: 1;
        position: absolute;
        top: 50%;
        right: 2.5rem;
        -webkit-transform: translate3d(0, -50%, 0);
                transform: translate3d(0, -50%, 0);
        vertical-align: top;
        color: #f76500; }
        @media screen and (max-width: 1100px) {
          .main-nav > ul > li.menu-item-has-children > a::before {
            right: 1.25rem; } }
      .main-nav > ul > li.current_page_item > a {
        color: #ffffff;
        background-color: #f76500; }
      .main-nav > ul > li.current_page_parent > a {
        color: #ffffff;
        background-color: #f76500; }
        .main-nav > ul > li.current_page_parent > a::before {
          color: #ffffff; }
      .main-nav > ul > li.current_page_parent.is-open {
        background-color: #d8d8d8; }
        .main-nav > ul > li.current_page_parent.is-open > a {
          color: rgba(32, 33, 36, 0.4);
          background-color: #d8d8d8; }
          .main-nav > ul > li.current_page_parent.is-open > a::before {
            color: rgba(32, 33, 36, 0.4); }
      .main-nav > ul > li.is-open .sub-menu {
        height: auto;
        padding-bottom: 2.375rem; }
  .main-nav .sub-menu {
    overflow: hidden;
    height: 0;
    padding: 0rem 2.5rem;
    background-color: #d8d8d8; }
    @media screen and (max-width: 1100px) {
      .main-nav .sub-menu {
        padding: 0rem 2.5rem; } }
    @media screen and (max-width: 600px) {
      .main-nav .sub-menu {
        padding: 0rem 1.25rem; } }
    .main-nav .sub-menu li {
      margin-bottom: 1.375rem;
      padding-left: 1.25rem;
      list-style: none; }
      .main-nav .sub-menu li:last-child {
        margin-bottom: 0; }
      .main-nav .sub-menu li a {
        font-family: "Open Sans", Helvetica, Arial, sans-serif;
        display: block;
        -webkit-transition: color 0.2s cubic-bezier(0.455, 0.03, 0.515, 0.955);
        transition: color 0.2s cubic-bezier(0.455, 0.03, 0.515, 0.955);
        letter-spacing: 0.03125rem;
        text-transform: none;
        color: rgba(32, 33, 36, 0.3); }
        .main-nav .sub-menu li a:hover {
          text-decoration: none;
          color: #f76500; }
      .main-nav .sub-menu li.current_page_item a {
        color: rgba(32, 33, 36, 0.6); }

/**
 * Lang switcher - V1
 */
.lang-switcher {
  position: relative;
  margin: 3.125rem 0;
  padding: 0;
  text-align: center; }
  .lang-switcher li {
    font-size: 0.8125rem;
    display: inline-block;
    margin-right: 0.9375rem;
    list-style: none;
    text-align: center; }
    .lang-switcher li:last-child {
      margin-right: 0; }
    .lang-switcher li a {
      -webkit-transition: color 0.2s cubic-bezier(0.47, 0, 0.745, 0.715);
      transition: color 0.2s cubic-bezier(0.47, 0, 0.745, 0.715);
      text-transform: capitalize;
      color: rgba(32, 33, 36, 0.3); }
      .lang-switcher li a:hover {
        text-decoration: none;
        color: #f76500; }
    .lang-switcher li.current-lang a {
      color: #202124; }
      .lang-switcher li.current-lang a:hover {
        color: #f76500; }

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

.footer:after {
  clear: both; }

.footer .noomia {
  position: relative;
  display: inline-block;
  width: 81px;
  height: 15px;
  vertical-align: middle;
  text-indent: -9999px; }
  .footer .noomia:before {
    position: absolute;
    top: 0;
    left: 0;
    display: block;
    width: 100%;
    height: 100%;
    content: "";
    opacity: .7;
    background-repeat: no-repeat;
    background-position: left center;
    background-size: 81px 15px;
    background-image: url(../img/logo-noomia--dark.svg); }
  .footer .noomia:after {
    -webkit-transition: width 0.3s cubic-bezier(0.55, 0.085, 0.68, 0.53);
    transition: width 0.3s cubic-bezier(0.55, 0.085, 0.68, 0.53);
    position: absolute;
    top: 0;
    left: 0;
    display: block;
    width: 0;
    height: 100%;
    content: "";
    background-repeat: no-repeat;
    background-position: left center;
    background-size: 81px 15px;
    background-image: url(../img/logo-noomia--dark.svg); }
  .footer .noomia:hover:after {
    width: 100%; }

.sidebar {
  margin-right: 2.5rem; }

.sigin,
.forgotpassword,
.resetpassword {
  width: 28.125rem;
  margin: 0 auto;
  padding: 3.125rem 0 0 0; }
  @media screen and (max-width: 600px) {
    .sigin,
    .forgotpassword,
    .resetpassword {
      width: 100%; } }
  .sigin__forgot-password,
  .forgotpassword__forgot-password,
  .resetpassword__forgot-password {
    font-size: 0.8125rem;
    display: block;
    margin-top: 1.875rem;
    text-align: center; }

#container {
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column; }

#login .page__content {
  margin-left: auto;
  margin-right: auto;
  width: 90%;
  max-width: 1300px; }

#login .label--checkbox, #login .page .checkbox-wrap label, .page .checkbox-wrap #login label, #login .page .list-checkbox-wrap ul label, .page .list-checkbox-wrap ul #login label {
  display: block; }
  #login .label--checkbox a, #login .page .checkbox-wrap label a, .page .checkbox-wrap #login label a, #login .page .list-checkbox-wrap ul label a, .page .list-checkbox-wrap ul #login label a {
    font-style: italic;
    color: inherit;
    text-decoration: underline;
    -webkit-transition: color 0.2s cubic-bezier(0.455, 0.03, 0.515, 0.955);
    transition: color 0.2s cubic-bezier(0.455, 0.03, 0.515, 0.955); }
    #login .label--checkbox a:hover, #login .page .checkbox-wrap label a:hover, .page .checkbox-wrap #login label a:hover, #login .page .list-checkbox-wrap ul label a:hover, .page .list-checkbox-wrap ul #login label a:hover {
      color: #f76500; }

#login .input--text {
  background-color: #f8f8f8;
  position: relative; }

#login .field.icon-user:after, #login .field.icon-lock:after {
  content: "";
  position: absolute;
  left: 0;
  width: 3px;
  height: 100%;
  background-color: #f76500;
  opacity: 1; }

.forgotpassword,
.resetpassword {
  width: 31.25rem; }
  @media screen and (max-width: 600px) {
    .forgotpassword,
    .resetpassword {
      width: 100%; } }

.page__content {
  max-width: 970px;
  margin: auto; }
  .page__content--small {
    max-width: 60.625rem; }
  .page__content--center {
    text-align: center; }
  .page__content--top {
    margin-top: 3.125rem; }

.page .dk-selected, .page select, .page select {
  color: rgba(32, 33, 36, 0.5); }

.page .dk-select-open-down .dk-selected, .page .dk-select-open-down select, .page .dk-select-open-down select, .page .dk-select-open-up .dk-selected, .page .dk-select-open-up select, .page .dk-select-open-up select {
  color: #ffffff; }

.page .checkbox-wrap .nf-field-label {
  margin-left: 0;
  padding-left: 0; }

.page .checkbox-wrap .nf-field-element {
  display: none; }

.page .checkbox-wrap label:before {
  border: 2px solid #ebebeb; }

.page .checkbox-wrap li:before {
  display: none; }

.page .checkbox-wrap .nf-checked-label:after {
  opacity: 1; }

.page .list-checkbox-wrap ul {
  padding: 0;
  margin: 0;
  list-style: none; }
  .page .list-checkbox-wrap ul li label {
    margin-left: 0; }
  .page .list-checkbox-wrap ul label:before {
    border: 2px solid #ebebeb; }

.page .list-checkbox-wrap li:before {
  display: none; }

.page .list-checkbox-wrap input {
  visibility: hidden; }
  .page .list-checkbox-wrap input:checked + label:after {
    opacity: 1; }

.page .nf-fu-fileinput-button {
  position: relative;
  border-radius: 20px;
  font: bold 24px arial;
  text-align: center;
  width: 100%;
  height: 150px;
  background: none;
  border: 3px dotted rgba(32, 33, 36, 0.5);
  color: rgba(32, 33, 36, 0.5);
  padding: 10px;
  letter-spacing: normal;
  text-transform: none;
  font-size: 18px; }
  .page .nf-fu-fileinput-button span {
    line-height: 1.3; }

.page .files_uploaded {
  margin-top: 10px; }

.page .nf-fu-button-cancel {
  display: none !important; }

.page .nf-fu-progress {
  position: absolute;
  top: 120px;
  width: 250px;
  left: calc(50% - 125px);
  height: 10px;
  -webkit-box-shadow: none;
          box-shadow: none;
  background: transparent; }

.page .nf-fu-progress-bar {
  background: #f76500; }

.page .file_upload-wrap input[type=file] {
  display: none !important; }

.page__account__inner {
  padding: 0 6.25rem; }
  @media screen and (max-width: 1600px) {
    .page__account__inner {
      padding: 0 2.5rem; } }
  @media screen and (max-width: 1100px) {
    .page__account__inner {
      padding: 0 1.875rem; } }

.page__account .nf-form-wrap {
  margin-top: 0; }

.page__account .form_title {
  margin: 0;
  margin-top: 30px;
  margin-bottom: 10px;
  font-size: 24px; }
  .page__account .form_title.first {
    margin-top: 0; }

#product {
  /**
     * Informations
     */
  /**
     * Details bloc
     */ }
  #product main {
    display: block; }
  #product .product {
    /**
         * Thumb & Gallery
         */ }
    #product .product__thumb {
      position: relative;
      z-index: 20;
      width: 100%;
      max-width: 800px;
      margin: 0 auto;
      margin-bottom: 30px;
      padding: 0; }
      #product .product__thumb figcaption {
        font: 0/0 a;
        color: transparent;
        border: 0;
        background-color: transparent;
        text-shadow: none; }
      @media screen and (min-width: 1100px) {
        #product .product__thumb {
          width: calc(150px + ((100% - 330px) / 12 * 6));
          margin-right: 30px;
          margin-bottom: 0;
          -webkit-box-flex: 0;
              -ms-flex: 0 0 auto;
                  flex: 0 0 auto; } }
    #product .product__details:before, #product .product__details:after {
      display: table;
      /* 2 */
      content: " ";
      /* 1 */ }
    #product .product__details:after {
      clear: both; }
    @media screen and (min-width: 1100px) {
      #product .product__details {
        -webkit-box-flex: 1;
            -ms-flex: 1;
                flex: 1; } }
    #product .product__details.no-content {
      margin-top: 90px; }
    #product .product__details .subtitle {
      margin-top: 0; }
    #product .product__content {
      padding-bottom: 40px; }
    #product .product__featured {
      position: relative;
      /* > * {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
  } */ }
      #product .product__featured:before {
        display: block;
        width: 100%;
        padding-top: 66.66667%;
        content: " "; }
      #product .product__featured::before {
        background-color: #ebebeb; }
      #product .product__featured figure {
        position: absolute;
        top: 0;
        left: 0;
        display: block;
        width: 100%;
        height: 100%;
        margin: 0;
        padding: 0;
        opacity: 0;
        background-repeat: no-repeat;
        background-position: center;
        background-size: cover; }
        #product .product__featured figure a {
          position: absolute;
          top: 0;
          left: 0;
          width: 100%;
          height: 100%;
          background-repeat: no-repeat;
          background-position: center;
          background-size: auto 100%; }
        #product .product__featured figure img {
          position: absolute;
          top: 50%;
          left: 0;
          display: block;
          display: none;
          width: 100%;
          height: auto;
          -webkit-transform: translate3d(0, -50%, 0);
                  transform: translate3d(0, -50%, 0);
          opacity: 0; }
  @media screen and (min-width: 1100px) {
    #product .product__container {
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex; } }
  @media only screen and (max-width: 1100px) {
    #product .details {
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex;
      -ms-flex-wrap: wrap;
          flex-wrap: wrap; } }
  @media only screen and (max-width: 600px) {
    #product .details {
      display: block; } }

.error404.dashboard #container .content {
  position: static;
  float: none; }

.error404 .footer, .error404 .header {
  display: none; }

.error404 .error404__group {
  position: absolute;
  top: 50%;
  left: 50%;
  -webkit-transform: translate(-50%, -50%);
  transform: translate(-50%, -50%);
  text-align: center; }

.error404 .mainTitle__first {
  font-family: "Open Sans", Helvetica, Arial, sans-serif;
  color: #ffaa4c;
  position: absolute;
  top: -1em;
  left: 1.5em;
  font-size: 1.5em; }

.error404 .mainTitle__second {
  font-family: "Open Sans", Helvetica, Arial, sans-serif;
  font-size: 12em;
  font-weight: bold;
  color: #f76500;
  line-height: 1;
  overflow: hidden;
  display: block; }
  .error404 .mainTitle__second span {
    display: inline-block; }

.error404 .error404__link {
  font-size: 1.2em; }

/*# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInN0eWxlcy5jc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvbm9kZS1ub3JtYWxpemUtc2Nzcy9fbm9ybWFsaXplLnNjc3MiLCJzaGFyZWQvX2ZvbnRzLnNjc3MiLCJzaGFyZWQvX3ZhcmlhYmxlcy5zY3NzIiwic2hhcmVkL19pY29ucy5zY3NzIiwic2hhcmVkL19hbmltYXRpb25zLnNjc3MiLCJtb2R1bGVzL19saWdodGJveC5zY3NzIiwic2hhcmVkL19taXhpbnMuc2NzcyIsIm1vZHVsZXMvX3RpdGxlLnNjc3MiLCJtb2R1bGVzL193eXN5d2lnLnNjc3MiLCJtb2R1bGVzL19idXR0b25zLnNjc3MiLCJtb2R1bGVzL19mb3Jtcy5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL3N1c3kvc2Fzcy9zdXN5L19zdS1tYXRoLnNjc3MiLCJtb2R1bGVzL19kcm9wa2ljay5zY3NzIiwibW9kdWxlcy9fc2VsZWN0SnMuc2NzcyIsIm1vZHVsZXMvX2xpc3Rpbmcuc2NzcyIsIm1vZHVsZXMvX3BvcHVwLnNjc3MiLCJtb2R1bGVzL3RvcGJhci5zY3NzIiwibW9kdWxlcy9oZWFkaW5nLnNjc3MiLCJtb2R1bGVzL19maWx0ZXJzLnNjc3MiLCJtb2R1bGVzL2Rvd25sb2FkLnNjc3MiLCJtb2R1bGVzL3Nob3Auc2NzcyIsImdsb2JhbC5zY3NzIiwidWkuc2NzcyIsInBhcnRpYWxzL2hlYWRlci5zY3NzIiwicGFydGlhbHMvc2lkZWJhci5zY3NzIiwicGFydHMvbG9naW4uc2NzcyIsInBhcnRzL3BhZ2Uuc2NzcyIsInBhcnRzL2FjY291bnQuc2NzcyIsInBhcnRzL3Byb2R1Y3Quc2NzcyIsInBhcnRzL2Vycm9yNDA0LnNjc3MiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsZ0JBQWdCO0FDQWhCLDJFQUFBO0FBRUE7K0VEQytFO0FDRS9FOzs7RURFRTtBRXlDRixzRkFBWTtBRHRDWDtFQUNDLGlCQUFpQjtFQUFFLE1BQUE7RUFDbkIsOEJBQThCO0VBQUUsTUFBQSxF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LGdCQUFnQixFQUFBOztBQXpCeEI7RUE2QlEsc0QzQkhzRDtFMkJJdEQsZUFBZTtFQUNmLGlCQUFpQjtFQUNqQixjM0JuQmlCO0UyQm9CakIsY0FBYztFQUNkLGdCQUFnQjtFQUNoQixjQUFjLEVBQUE7RUFuQ3RCO0lBcUNZLHFCQUFxQixFQUFBOztBQXJDakM7RUEwQ1EsZ0JBQWdCLEVBQUEiLCJmaWxlIjoic3R5bGVzLmNzcyIsInNvdXJjZXNDb250ZW50IjpbIkBjaGFyc2V0IFwiVVRGLThcIjtcbi8qISBub3JtYWxpemUuY3NzIHY4LjAuMSB8IE1JVCBMaWNlbnNlIHwgZ2l0aHViLmNvbS9uZWNvbGFzL25vcm1hbGl6ZS5jc3MgKi9cbi8qIERvY3VtZW50XG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLyoqXG4gKiAxLiBDb3JyZWN0IHRoZSBsaW5lIGhlaWdodCBpbiBhbGwgYnJvd3NlcnMuXG4gKiAyLiBQcmV2ZW50IGFkanVzdG1lbnRzIG9mIGZvbnQgc2l6ZSBhZnRlciBvcmllbnRhdGlvbiBjaGFuZ2VzIGluIGlPUy5cbiAqL1xuQGltcG9ydCB1cmwoXCJodHRwczovL2ZvbnRzLmdvb2dsZWFwaXMuY29tL2Nzcz9mYW1pbHk9T3BlbitTYW5zOjQwMCw0MDBpLDYwMCw3MDAsNzAwaVwiKTtcbmh0bWwge1xuICBsaW5lLWhlaWdodDogMS4xNTtcbiAgLyogMSAqL1xuICAtd2Via2l0LXRleHQtc2l6ZS1hZGp1c3Q6IDEwMCU7XG4gIC8qIDIgKi8gfVxuXG4vKiBTZWN0aW9uc1xuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8qKlxuICogUmVtb3ZlIHRoZSBtYXJnaW4gaW4gYWxsIGJyb3dzZXJzLlxuICovXG5ib2R5IHtcbiAgbWFyZ2luOiAwOyB9XG5cbi8qKlxuICogUmVuZGVyIHRoZSBgbWFpbmAgZWxlbWVudCBjb25zaXN0ZW50bHkgaW4gSUUuXG4gKi9cbm1haW4ge1xuICBkaXNwbGF5OiBibG9jazsgfVxuXG4vKipcbiAqIENvcnJlY3QgdGhlIGZvbnQgc2l6ZSBhbmQgbWFyZ2luIG9uIGBoMWAgZWxlbWVudHMgd2l0aGluIGBzZWN0aW9uYCBhbmRcbiAqIGBhcnRpY2xlYCBjb250ZXh0cyBpbiBDaHJvbWUsIEZpcmVmb3gsIGFuZCBTYWZhcmkuXG4gKi9cbmgxIHtcbiAgZm9udC1zaXplOiAyZW07XG4gIG1hcmdpbjogMC42N2VtIDA7IH1cblxuLyogR3JvdXBpbmcgY29udGVudFxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8qKlxuICogMS4gQWRkIHRoZSBjb3JyZWN0IGJveCBzaXppbmcgaW4gRmlyZWZveC5cbiAqIDIuIFNob3cgdGhlIG92ZXJmbG93IGluIEVkZ2UgYW5kIElFLlxuICovXG5ociB7XG4gIGJveC1zaXppbmc6IGNvbnRlbnQtYm94O1xuICAvKiAxICovXG4gIGhlaWdodDogMDtcbiAgLyogMSAqL1xuICBvdmVyZmxvdzogdmlzaWJsZTtcbiAgLyogMiAqLyB9XG5cbi8qKlxuICogMS4gQ29ycmVjdCB0aGUgaW5oZXJpdGFuY2UgYW5kIHNjYWxpbmcgb2YgZm9udCBzaXplIGluIGFsbCBicm93c2Vycy5cbiAqIDIuIENvcnJlY3QgdGhlIG9kZCBgZW1gIGZvbnQgc2l6aW5nIGluIGFsbCBicm93c2Vycy5cbiAqL1xucHJlIHtcbiAgZm9udC1mYW1pbHk6IG1vbm9zcGFjZSwgbW9ub3NwYWNlO1xuICAvKiAxICovXG4gIGZvbnQtc2l6ZTogMWVtO1xuICAvKiAyICovIH1cblxuLyogVGV4dC1sZXZlbCBzZW1hbnRpY3NcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKipcbiAqIFJlbW92ZSB0aGUgZ3JheSBiYWNrZ3JvdW5kIG9uIGFjdGl2ZSBsaW5rcyBpbiBJRSAxMC5cbiAqL1xuYSB7XG4gIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50OyB9XG5cbi8qKlxuICogMS4gUmVtb3ZlIHRoZSBib3R0b20gYm9yZGVyIGluIENocm9tZSA1Ny1cbiAqIDIuIEFkZCB0aGUgY29ycmVjdCB0ZXh0IGRlY29yYXRpb24gaW4gQ2hyb21lLCBFZGdlLCBJRSwgT3BlcmEsIGFuZCBTYWZhcmkuXG4gKi9cbmFiYnJbdGl0bGVdIHtcbiAgYm9yZGVyLWJvdHRvbTogbm9uZTtcbiAgLyogMSAqL1xuICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcbiAgLyogMiAqL1xuICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZSBkb3R0ZWQ7XG4gIC8qIDIgKi8gfVxuXG4vKipcbiAqIEFkZCB0aGUgY29ycmVjdCBmb250IHdlaWdodCBpbiBDaHJvbWUsIEVkZ2UsIGFuZCBTYWZhcmkuXG4gKi9cbmIsIHN0cm9uZyB7XG4gIGZvbnQtd2VpZ2h0OiBib2xkZXI7IH1cblxuLyoqXG4gKiAxLiBDb3JyZWN0IHRoZSBpbmhlcml0YW5jZSBhbmQgc2NhbGluZyBvZiBmb250IHNpemUgaW4gYWxsIGJyb3dzZXJzLlxuICogMi4gQ29ycmVjdCB0aGUgb2RkIGBlbWAgZm9udCBzaXppbmcgaW4gYWxsIGJyb3dzZXJzLlxuICovXG5jb2RlLCBrYmQsIHNhbXAge1xuICBmb250LWZhbWlseTogbW9ub3NwYWNlLCBtb25vc3BhY2U7XG4gIC8qIDEgKi9cbiAgZm9udC1zaXplOiAxZW07XG4gIC8qIDIgKi8gfVxuXG4vKipcbiAqIEFkZCB0aGUgY29ycmVjdCBmb250IHNpemUgaW4gYWxsIGJyb3dzZXJzLlxuICovXG5zbWFsbCB7XG4gIGZvbnQtc2l6ZTogODAlOyB9XG5cbi8qKlxuICogUHJldmVudCBgc3ViYCBhbmQgYHN1cGAgZWxlbWVudHMgZnJvbSBhZmZlY3RpbmcgdGhlIGxpbmUgaGVpZ2h0IGluXG4gKiBhbGwgYnJvd3NlcnMuXG4gKi9cbnN1Yiwgc3VwIHtcbiAgZm9udC1zaXplOiA3NSU7XG4gIGxpbmUtaGVpZ2h0OiAwO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHZlcnRpY2FsLWFsaWduOiBiYXNlbGluZTsgfVxuXG5zdWIge1xuICBib3R0b206IC0wLjI1ZW07IH1cblxuc3VwIHtcbiAgdG9wOiAtMC41ZW07IH1cblxuLyogRW1iZWRkZWQgY29udGVudFxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8qKlxuICogUmVtb3ZlIHRoZSBib3JkZXIgb24gaW1hZ2VzIGluc2lkZSBsaW5rcyBpbiBJRSAxMC5cbiAqL1xuaW1nIHtcbiAgYm9yZGVyLXN0eWxlOiBub25lOyB9XG5cbi8qIEZvcm1zXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLyoqXG4gKiAxLiBDaGFuZ2UgdGhlIGZvbnQgc3R5bGVzIGluIGFsbCBicm93c2Vycy5cbiAqIDIuIFJlbW92ZSB0aGUgbWFyZ2luIGluIEZpcmVmb3ggYW5kIFNhZmFyaS5cbiAqL1xuYnV0dG9uLCBpbnB1dCwgb3B0Z3JvdXAsIHNlbGVjdCwgdGV4dGFyZWEge1xuICBmb250LWZhbWlseTogaW5oZXJpdDtcbiAgLyogMSAqL1xuICBmb250LXNpemU6IDEwMCU7XG4gIC8qIDEgKi9cbiAgbGluZS1oZWlnaHQ6IDEuMTU7XG4gIC8qIDEgKi9cbiAgbWFyZ2luOiAwO1xuICAvKiAyICovIH1cblxuLyoqXG4gKiBTaG93IHRoZSBvdmVyZmxvdyBpbiBJRS5cbiAqIDEuIFNob3cgdGhlIG92ZXJmbG93IGluIEVkZ2UuXG4gKi9cbmJ1dHRvbiwgaW5wdXQge1xuICAvKiAxICovXG4gIG92ZXJmbG93OiB2aXNpYmxlOyB9XG5cbi8qKlxuICogUmVtb3ZlIHRoZSBpbmhlcml0YW5jZSBvZiB0ZXh0IHRyYW5zZm9ybSBpbiBFZGdlLCBGaXJlZm94LCBhbmQgSUUuXG4gKiAxLiBSZW1vdmUgdGhlIGluaGVyaXRhbmNlIG9mIHRleHQgdHJhbnNmb3JtIGluIEZpcmVmb3guXG4gKi9cbmJ1dHRvbiwgc2VsZWN0IHtcbiAgLyogMSAqL1xuICB0ZXh0LXRyYW5zZm9ybTogbm9uZTsgfVxuXG4vKipcbiAqIENvcnJlY3QgdGhlIGluYWJpbGl0eSB0byBzdHlsZSBjbGlja2FibGUgdHlwZXMgaW4gaU9TIGFuZCBTYWZhcmkuXG4gKi9cbmJ1dHRvbiwgW3R5cGU9XCJidXR0b25cIl0sIFt0eXBlPVwicmVzZXRcIl0sIFt0eXBlPVwic3VibWl0XCJdIHtcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiBidXR0b247IH1cblxuLyoqXG4gKiBSZW1vdmUgdGhlIGlubmVyIGJvcmRlciBhbmQgcGFkZGluZyBpbiBGaXJlZm94LlxuICovXG5idXR0b246Oi1tb3otZm9jdXMtaW5uZXIsIFt0eXBlPVwiYnV0dG9uXCJdOjotbW96LWZvY3VzLWlubmVyLCBbdHlwZT1cInJlc2V0XCJdOjotbW96LWZvY3VzLWlubmVyLCBbdHlwZT1cInN1Ym1pdFwiXTo6LW1vei1mb2N1cy1pbm5lciB7XG4gIGJvcmRlci1zdHlsZTogbm9uZTtcbiAgcGFkZGluZzogMDsgfVxuXG4vKipcbiAqIFJlc3RvcmUgdGhlIGZvY3VzIHN0eWxlcyB1bnNldCBieSB0aGUgcHJldmlvdXMgcnVsZS5cbiAqL1xuYnV0dG9uOi1tb3otZm9jdXNyaW5nLCBbdHlwZT1cImJ1dHRvblwiXTotbW96LWZvY3VzcmluZywgW3R5cGU9XCJyZXNldFwiXTotbW96LWZvY3VzcmluZywgW3R5cGU9XCJzdWJtaXRcIl06LW1vei1mb2N1c3Jpbmcge1xuICBvdXRsaW5lOiAxcHggZG90dGVkIEJ1dHRvblRleHQ7IH1cblxuLyoqXG4gKiBDb3JyZWN0IHRoZSBwYWRkaW5nIGluIEZpcmVmb3guXG4gKi9cbmZpZWxkc2V0IHtcbiAgcGFkZGluZzogMC4zNWVtIDAuNzVlbSAwLjYyNWVtOyB9XG5cbi8qKlxuICogMS4gQ29ycmVjdCB0aGUgdGV4dCB3cmFwcGluZyBpbiBFZGdlIGFuZCBJRS5cbiAqIDIuIENvcnJlY3QgdGhlIGNvbG9yIGluaGVyaXRhbmNlIGZyb20gYGZpZWxkc2V0YCBlbGVtZW50cyBpbiBJRS5cbiAqIDMuIFJlbW92ZSB0aGUgcGFkZGluZyBzbyBkZXZlbG9wZXJzIGFyZSBub3QgY2F1Z2h0IG91dCB3aGVuIHRoZXkgemVybyBvdXRcbiAqICAgIGBmaWVsZHNldGAgZWxlbWVudHMgaW4gYWxsIGJyb3dzZXJzLlxuICovXG5sZWdlbmQge1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAvKiAxICovXG4gIGNvbG9yOiBpbmhlcml0O1xuICAvKiAyICovXG4gIGRpc3BsYXk6IHRhYmxlO1xuICAvKiAxICovXG4gIG1heC13aWR0aDogMTAwJTtcbiAgLyogMSAqL1xuICBwYWRkaW5nOiAwO1xuICAvKiAzICovXG4gIHdoaXRlLXNwYWNlOiBub3JtYWw7XG4gIC8qIDEgKi8gfVxuXG4vKipcbiAqIEFkZCB0aGUgY29ycmVjdCB2ZXJ0aWNhbCBhbGlnbm1lbnQgaW4gQ2hyb21lLCBGaXJlZm94LCBhbmQgT3BlcmEuXG4gKi9cbnByb2dyZXNzIHtcbiAgdmVydGljYWwtYWxpZ246IGJhc2VsaW5lOyB9XG5cbi8qKlxuICogUmVtb3ZlIHRoZSBkZWZhdWx0IHZlcnRpY2FsIHNjcm9sbGJhciBpbiBJRSAxMCsuXG4gKi9cbnRleHRhcmVhIHtcbiAgb3ZlcmZsb3c6IGF1dG87IH1cblxuLyoqXG4gKiAxLiBBZGQgdGhlIGNvcnJlY3QgYm94IHNpemluZyBpbiBJRSAxMC5cbiAqIDIuIFJlbW92ZSB0aGUgcGFkZGluZyBpbiBJRSAxMC5cbiAqL1xuW3R5cGU9XCJjaGVja2JveFwiXSwgW3R5cGU9XCJyYWRpb1wiXSB7XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gIC8qIDEgKi9cbiAgcGFkZGluZzogMDtcbiAgLyogMiAqLyB9XG5cbi8qKlxuICogQ29ycmVjdCB0aGUgY3Vyc29yIHN0eWxlIG9mIGluY3JlbWVudCBhbmQgZGVjcmVtZW50IGJ1dHRvbnMgaW4gQ2hyb21lLlxuICovXG5bdHlwZT1cIm51bWJlclwiXTo6LXdlYmtpdC1pbm5lci1zcGluLWJ1dHRvbiwgW3R5cGU9XCJudW1iZXJcIl06Oi13ZWJraXQtb3V0ZXItc3Bpbi1idXR0b24ge1xuICBoZWlnaHQ6IGF1dG87IH1cblxuLyoqXG4gKiAxLiBDb3JyZWN0IHRoZSBvZGQgYXBwZWFyYW5jZSBpbiBDaHJvbWUgYW5kIFNhZmFyaS5cbiAqIDIuIENvcnJlY3QgdGhlIG91dGxpbmUgc3R5bGUgaW4gU2FmYXJpLlxuICovXG5bdHlwZT1cInNlYXJjaFwiXSB7XG4gIC13ZWJraXQtYXBwZWFyYW5jZTogdGV4dGZpZWxkO1xuICAvKiAxICovXG4gIG91dGxpbmUtb2Zmc2V0OiAtMnB4O1xuICAvKiAyICovIH1cbiAgW3R5cGU9XCJzZWFyY2hcIl06Oi13ZWJraXQtc2VhcmNoLWRlY29yYXRpb24ge1xuICAgIC13ZWJraXQtYXBwZWFyYW5jZTogbm9uZTsgfVxuXG4vKipcbiAqIFJlbW92ZSB0aGUgaW5uZXIgcGFkZGluZyBpbiBDaHJvbWUgYW5kIFNhZmFyaSBvbiBtYWNPUy5cbiAqL1xuLyoqXG4gKiAxLiBDb3JyZWN0IHRoZSBpbmFiaWxpdHkgdG8gc3R5bGUgY2xpY2thYmxlIHR5cGVzIGluIGlPUyBhbmQgU2FmYXJpLlxuICogMi4gQ2hhbmdlIGZvbnQgcHJvcGVydGllcyB0byBgaW5oZXJpdGAgaW4gU2FmYXJpLlxuICovXG46Oi13ZWJraXQtZmlsZS11cGxvYWQtYnV0dG9uIHtcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiBidXR0b247XG4gIC8qIDEgKi9cbiAgZm9udDogaW5oZXJpdDtcbiAgLyogMiAqLyB9XG5cbi8qIEludGVyYWN0aXZlXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLypcbiAqIEFkZCB0aGUgY29ycmVjdCBkaXNwbGF5IGluIEVkZ2UsIElFIDEwKywgYW5kIEZpcmVmb3guXG4gKi9cbmRldGFpbHMge1xuICBkaXNwbGF5OiBibG9jazsgfVxuXG4vKlxuICogQWRkIHRoZSBjb3JyZWN0IGRpc3BsYXkgaW4gYWxsIGJyb3dzZXJzLlxuICovXG5zdW1tYXJ5IHtcbiAgZGlzcGxheTogbGlzdC1pdGVtOyB9XG5cbi8qIE1pc2NcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKipcbiAqIEFkZCB0aGUgY29ycmVjdCBkaXNwbGF5IGluIElFIDEwKy5cbiAqL1xudGVtcGxhdGUsIFtoaWRkZW5dIHtcbiAgZGlzcGxheTogbm9uZTsgfVxuXG4vKipcbiAqIEFkZCB0aGUgY29ycmVjdCBkaXNwbGF5IGluIElFIDEwLlxuICovXG4vKipcbiAqIFBhdGhcbiAqL1xuLyoqXG4gKiBDb2xvcnNcbiAqL1xuLyoqXG4gKiBUZXh0XG4gKi9cbi8qKlxuICogUmVzcG9uc2l2ZVxuICovXG4vKipcbiAqIFN1c3lcbiAqL1xuLyoqXG4gKiBFYXNpbmdcbiAqL1xuLnd5c2l3eWcgaDIsXG4ud3lzaXd5ZyBoMyxcbi53eXNpd3lnIGg0LFxuLnd5c2l3eWcgaDUsXG4ud3lzaXd5ZyBoNiwgLmxpc3RpbmdfX3RpdGxlLCAuZmlsdGVyc19fc3VidGl0bGUsIC5kb3dubG9hZF9fc3VidGl0bGUsIC5kb3dubG9hZF9fbGFiZWwge1xuICBmb250LXdlaWdodDogMzAwOyB9XG5cbi5idG4sIC5uZi1mb3JtLWNvbnRlbnQgLm5mLXByZXZpb3VzLWl0ZW0gLm5mLXByZXZpb3VzLCAubmYtZm9ybS1jb250ZW50IC5uZi1wcmV2aW91cy1pdGVtIC5uZi1uZXh0LCAubmYtZm9ybS1jb250ZW50IC5uZi1uZXh0LWl0ZW0gLm5mLXByZXZpb3VzLCAubmYtZm9ybS1jb250ZW50IC5uZi1uZXh0LWl0ZW0gLm5mLW5leHQsIC5uZi1mb3JtLXdyYXAgLnN1Ym1pdC1jb250YWluZXIgLm5mLWZpZWxkLWVsZW1lbnQgaW5wdXQsIC5uZi1mb3JtLXdyYXAgLm5tYy1yZWdpc3Rlci1zdWJtaXQgLm5mLWZpZWxkLWVsZW1lbnQgaW5wdXQsIC5idG4tbGluaywgLmJ0bi0tdHJhbnNwYXJlbnQsIC5mb3JtLCAubGlzdGluZy0tbGlzdCAubGlzdGluZ19fY29sdW1uLS1uYW1lLFxuLmxpc3RpbmctLWxpc3QgLmxpc3RpbmdfX2NvbHVtbi0tdmVyc2lvbixcbi5saXN0aW5nLS1saXN0IC5saXN0aW5nX19jb2x1bW4tLWZvcm1hdCxcbi5saXN0aW5nLS1saXN0IC5saXN0aW5nX19jb2x1bW4tLXNpemUsIC5maWx0ZXJzX190aXRsZSwgLmRldGFpbHMtYmxvY2tfX3BpY3RvIGxpLCAuZGV0YWlscy1ibG9ja19fbGlzdCB7XG4gIGZvbnQtd2VpZ2h0OiA0MDA7IH1cblxuXG4ud3lzaXd5ZyBoNSxcbi53eXNpd3lnIGg2LCAubWFpbi1uYXYgPiB1bCA+IGxpIHtcbiAgZm9udC13ZWlnaHQ6IDUwMDsgfVxuXG4ubGlzdGluZ19fbGFiZWwsIC5saXN0aW5nX19zdWJ0aXRsZSB7XG4gIGZvbnQtd2VpZ2h0OiA2MDA7IH1cblxuLm1haW4tdGl0bGUgYixcbi5tYWluLXRpdGxlIHN0cm9uZywgLnd5c2l3eWcgc3Ryb25nLFxuLnd5c2l3eWcgYiwgLm1haW4tbmF2IC5zdWItbWVudSBsaS5jdXJyZW50X3BhZ2VfaXRlbSBhIHtcbiAgZm9udC13ZWlnaHQ6IDcwMDsgfVxuXG4uYnRuLS1kZWxldGUge1xuICBmb250LXdlaWdodDogODAwOyB9XG5cbi5kb3dubG9hZF9fdGl0bGUge1xuICBmb250LXdlaWdodDogOTAwOyB9XG5cbkBmb250LWZhY2Uge1xuICBmb250LWZhbWlseTogXCJubWNcIjtcbiAgc3JjOiB1cmwoXCIuLi9mb250cy9ubWMvbm1jLmVvdD8yMDI0LTAwMVwiKTtcbiAgc3JjOiB1cmwoXCIuLi9mb250cy9ubWMvbm1jLmVvdD8yMDI0LTAwMSNpZWZpeFwiKSBmb3JtYXQoXCJlb3RcIiksIHVybChcIi4uL2ZvbnRzL25tYy9ubWMud29mZjI/MjAyNC0wMDFcIikgZm9ybWF0KFwid29mZjJcIiksIHVybChcIi4uL2ZvbnRzL25tYy9ubWMud29mZj8yMDI0LTAwMVwiKSBmb3JtYXQoXCJ3b2ZmXCIpLCB1cmwoXCIuLi9mb250cy9ubWMvbm1jLnR0Zj8yMDI0LTAwMVwiKSBmb3JtYXQoXCJ0cnVldHlwZVwiKSwgdXJsKFwiLi4vZm9udHMvbm1jL25tYy5zdmc/MjAyNC0wMDEjbm1jXCIpIGZvcm1hdChcInN2Z1wiKTsgfVxuXG4uaWNvbjpiZWZvcmUsIC5sYi1jYW5jZWw6YmVmb3JlLCAubGItZGF0YSAubGItY2xvc2U6YmVmb3JlLCAuYnRuLWNhcnQgc3BhbjpiZWZvcmUsIC5kay1zZWxlY3RlZDpiZWZvcmUsIHNlbGVjdDpiZWZvcmUsIC5zZWxlY3QyIC5zZWxlY3QyLXNlbGVjdGlvbi0tc2luZ2xlOmJlZm9yZSwgLnByb2R1Y3RfX2xhbmd1YWdlcyAuYWRkX3RvX2NhcnRfX2NvbnRhaW5lciAuYnRuOmJlZm9yZSwgLnByb2R1Y3RfX2xhbmd1YWdlcyAuYWRkX3RvX2NhcnRfX2NvbnRhaW5lciAubmYtZm9ybS1jb250ZW50IC5uZi1wcmV2aW91cy1pdGVtIC5uZi1wcmV2aW91czpiZWZvcmUsIC5uZi1mb3JtLWNvbnRlbnQgLm5mLXByZXZpb3VzLWl0ZW0gLnByb2R1Y3RfX2xhbmd1YWdlcyAuYWRkX3RvX2NhcnRfX2NvbnRhaW5lciAubmYtcHJldmlvdXM6YmVmb3JlLCAucHJvZHVjdF9fbGFuZ3VhZ2VzIC5hZGRfdG9fY2FydF9fY29udGFpbmVyIC5uZi1mb3JtLWNvbnRlbnQgLm5mLXByZXZpb3VzLWl0ZW0gLm5mLW5leHQ6YmVmb3JlLCAubmYtZm9ybS1jb250ZW50IC5uZi1wcmV2aW91cy1pdGVtIC5wcm9kdWN0X19sYW5ndWFnZXMgLmFkZF90b19jYXJ0X19jb250YWluZXIgLm5mLW5leHQ6YmVmb3JlLCAucHJvZHVjdF9fbGFuZ3VhZ2VzIC5hZGRfdG9fY2FydF9fY29udGFpbmVyIC5uZi1mb3JtLWNvbnRlbnQgLm5mLW5leHQtaXRlbSAubmYtcHJldmlvdXM6YmVmb3JlLCAubmYtZm9ybS1jb250ZW50IC5uZi1uZXh0LWl0ZW0gLnByb2R1Y3RfX2xhbmd1YWdlcyAuYWRkX3RvX2NhcnRfX2NvbnRhaW5lciAubmYtcHJldmlvdXM6YmVmb3JlLCAucHJvZHVjdF9fbGFuZ3VhZ2VzIC5hZGRfdG9fY2FydF9fY29udGFpbmVyIC5uZi1mb3JtLWNvbnRlbnQgLm5mLW5leHQtaXRlbSAubmYtbmV4dDpiZWZvcmUsIC5uZi1mb3JtLWNvbnRlbnQgLm5mLW5leHQtaXRlbSAucHJvZHVjdF9fbGFuZ3VhZ2VzIC5hZGRfdG9fY2FydF9fY29udGFpbmVyIC5uZi1uZXh0OmJlZm9yZSwgLnByb2R1Y3RfX2xhbmd1YWdlcyAuYWRkX3RvX2NhcnRfX2NvbnRhaW5lciAubmYtZm9ybS13cmFwIC5zdWJtaXQtY29udGFpbmVyIC5uZi1maWVsZC1lbGVtZW50IGlucHV0OmJlZm9yZSwgLm5mLWZvcm0td3JhcCAuc3VibWl0LWNvbnRhaW5lciAubmYtZmllbGQtZWxlbWVudCAucHJvZHVjdF9fbGFuZ3VhZ2VzIC5hZGRfdG9fY2FydF9fY29udGFpbmVyIGlucHV0OmJlZm9yZSwgLnByb2R1Y3RfX2xhbmd1YWdlcyAuYWRkX3RvX2NhcnRfX2NvbnRhaW5lciAubmYtZm9ybS13cmFwIC5ubWMtcmVnaXN0ZXItc3VibWl0IC5uZi1maWVsZC1lbGVtZW50IGlucHV0OmJlZm9yZSwgLm5mLWZvcm0td3JhcCAubm1jLXJlZ2lzdGVyLXN1Ym1pdCAubmYtZmllbGQtZWxlbWVudCAucHJvZHVjdF9fbGFuZ3VhZ2VzIC5hZGRfdG9fY2FydF9fY29udGFpbmVyIGlucHV0OmJlZm9yZSwgLnByb2R1Y3RfX2xhbmd1YWdlcyAuYWRkX3RvX2NhcnRfX2NvbnRhaW5lciAuYWRkZWRfdG9fY2FydDpiZWZvcmUsIC5tYWluLW5hdiA+IHVsID4gbGkubWVudS1pdGVtLWhhcy1jaGlsZHJlbiA+IGE6YmVmb3JlIHtcbiAgZm9udC1mYW1pbHk6IFwibm1jXCI7XG4gIC13ZWJraXQtZm9udC1zbW9vdGhpbmc6IGFudGlhbGlhc2VkO1xuICAtbW96LW9zeC1mb250LXNtb290aGluZzogZ3JheXNjYWxlO1xuICBmb250LXN0eWxlOiBub3JtYWw7XG4gIGZvbnQtdmFyaWFudDogbm9ybWFsO1xuICBmb250LXdlaWdodDogbm9ybWFsO1xuICAvKiBzcGVhazogbm9uZTsgb25seSBuZWNlc3NhcnkgaWYgbm90IHVzaW5nIHRoZSBwcml2YXRlIHVuaWNvZGUgcmFuZ2UgKGZpcnN0R2x5cGggb3B0aW9uKSAqL1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gIHRleHQtdHJhbnNmb3JtOiBub25lOyB9XG5cbi5pY29uLWFqYXgtbG9hZGVyOmJlZm9yZSwgLmxiLWNhbmNlbDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcRTAwMVwiOyB9XG5cbi5pY29uLWFycm93LWRvd246YmVmb3JlLCAuZGstc2VsZWN0ZWQ6YmVmb3JlLCBzZWxlY3Q6YmVmb3JlLCAuc2VsZWN0MiAuc2VsZWN0Mi1zZWxlY3Rpb24tLXNpbmdsZTpiZWZvcmUsIC5tYWluLW5hdiA+IHVsID4gbGkubWVudS1pdGVtLWhhcy1jaGlsZHJlbiA+IGE6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXEUwMDJcIjsgfVxuXG4uaWNvbi1hcnJvdy1sZWZ0OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxFMDAzXCI7IH1cblxuLmljb24tYXJyb3ctcmlnaHQ6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXEUwMDRcIjsgfVxuXG4uaWNvbi1hcnJvdy11cDpiZWZvcmUsIC5tYWluLW5hdiA+IHVsID4gbGkuaXMtb3BlbiA+IGE6YmVmb3JlLCAubWFpbi1uYXYgPiB1bCA+IGxpLmN1cnJlbnRfcGFnZV9wYXJlbnQuaXMtb3BlbiA+IGE6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXEUwMDVcIjsgfVxuXG4uaWNvbi1jYXJ0OmJlZm9yZSwgLmJ0bi1jYXJ0IHNwYW46YmVmb3JlLCAucHJvZHVjdF9fbGFuZ3VhZ2VzIC5hZGRfdG9fY2FydF9fY29udGFpbmVyIC5idG46YmVmb3JlLCAucHJvZHVjdF9fbGFuZ3VhZ2VzIC5hZGRfdG9fY2FydF9fY29udGFpbmVyIC5uZi1mb3JtLWNvbnRlbnQgLm5mLXByZXZpb3VzLWl0ZW0gLm5mLXByZXZpb3VzOmJlZm9yZSwgLm5mLWZvcm0tY29udGVudCAubmYtcHJldmlvdXMtaXRlbSAucHJvZHVjdF9fbGFuZ3VhZ2VzIC5hZGRfdG9fY2FydF9fY29udGFpbmVyIC5uZi1wcmV2aW91czpiZWZvcmUsIC5wcm9kdWN0X19sYW5ndWFnZXMgLmFkZF90b19jYXJ0X19jb250YWluZXIgLm5mLWZvcm0tY29udGVudCAubmYtcHJldmlvdXMtaXRlbSAubmYtbmV4dDpiZWZvcmUsIC5uZi1mb3JtLWNvbnRlbnQgLm5mLXByZXZpb3VzLWl0ZW0gLnByb2R1Y3RfX2xhbmd1YWdlcyAuYWRkX3RvX2NhcnRfX2NvbnRhaW5lciAubmYtbmV4dDpiZWZvcmUsIC5wcm9kdWN0X19sYW5ndWFnZXMgLmFkZF90b19jYXJ0X19jb250YWluZXIgLm5mLWZvcm0tY29udGVudCAubmYtbmV4dC1pdGVtIC5uZi1wcmV2aW91czpiZWZvcmUsIC5uZi1mb3JtLWNvbnRlbnQgLm5mLW5leHQtaXRlbSAucHJvZHVjdF9fbGFuZ3VhZ2VzIC5hZGRfdG9fY2FydF9fY29udGFpbmVyIC5uZi1wcmV2aW91czpiZWZvcmUsIC5wcm9kdWN0X19sYW5ndWFnZXMgLmFkZF90b19jYXJ0X19jb250YWluZXIgLm5mLWZvcm0tY29udGVudCAubmYtbmV4dC1pdGVtIC5uZi1uZXh0OmJlZm9yZSwgLm5mLWZvcm0tY29udGVudCAubmYtbmV4dC1pdGVtIC5wcm9kdWN0X19sYW5ndWFnZXMgLmFkZF90b19jYXJ0X19jb250YWluZXIgLm5mLW5leHQ6YmVmb3JlLCAucHJvZHVjdF9fbGFuZ3VhZ2VzIC5hZGRfdG9fY2FydF9fY29udGFpbmVyIC5uZi1mb3JtLXdyYXAgLnN1Ym1pdC1jb250YWluZXIgLm5mLWZpZWxkLWVsZW1lbnQgaW5wdXQ6YmVmb3JlLCAubmYtZm9ybS13cmFwIC5zdWJtaXQtY29udGFpbmVyIC5uZi1maWVsZC1lbGVtZW50IC5wcm9kdWN0X19sYW5ndWFnZXMgLmFkZF90b19jYXJ0X19jb250YWluZXIgaW5wdXQ6YmVmb3JlLCAucHJvZHVjdF9fbGFuZ3VhZ2VzIC5hZGRfdG9fY2FydF9fY29udGFpbmVyIC5uZi1mb3JtLXdyYXAgLm5tYy1yZWdpc3Rlci1zdWJtaXQgLm5mLWZpZWxkLWVsZW1lbnQgaW5wdXQ6YmVmb3JlLCAubmYtZm9ybS13cmFwIC5ubWMtcmVnaXN0ZXItc3VibWl0IC5uZi1maWVsZC1lbGVtZW50IC5wcm9kdWN0X19sYW5ndWFnZXMgLmFkZF90b19jYXJ0X19jb250YWluZXIgaW5wdXQ6YmVmb3JlLCAucHJvZHVjdF9fbGFuZ3VhZ2VzIC5hZGRfdG9fY2FydF9fY29udGFpbmVyIC5hZGRlZF90b19jYXJ0OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxFMDA2XCI7IH1cblxuLmljb24tY2hlY2s6YmVmb3JlLCAubGlzdGluZ19fY2hlY2tib3g6Y2hlY2tlZCArIGxhYmVsIHNwYW46YmVmb3JlIHtcbiAgY29udGVudDogXCJcXEUwMDdcIjsgfVxuXG4uaWNvbi1jcm9zczpiZWZvcmUsIC5sYi1kYXRhIC5sYi1jbG9zZTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcRTAwOFwiOyB9XG5cbi5pY29uLWRvd25sb2FkOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxFMDA5XCI7IH1cblxuLmljb24tZW1haWw6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXEUwMEFcIjsgfVxuXG4uaWNvbi1maWxlLWR3ZzpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcRTAwQlwiOyB9XG5cbi5pY29uLWZpbGUtZHhmOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxFMDBDXCI7IH1cblxuLmljb24tZmlsZS1vYmo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXEUwMERcIjsgfVxuXG4uaWNvbi1maWxlLXBkZjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcRTAwRVwiOyB9XG5cbi5pY29uLWZpbGUtc2twOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxFMDBGXCI7IH1cblxuLmljb24tZmlsZS1zbGRkcnc6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXEUwMTBcIjsgfVxuXG4uaWNvbi1maWxlLXN0ZXA6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXEUwMTFcIjsgfVxuXG4uaWNvbi1maWxlLXN0bDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcRTAxMlwiOyB9XG5cbi5pY29uLWZpbGU6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXEUwMTNcIjsgfVxuXG4uaWNvbi1mbGFnOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxFMDE0XCI7IH1cblxuLmljb24tZ3JpZDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcRTAxNVwiOyB9XG5cbi5pY29uLWxlc3M6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXEUwMTZcIjsgfVxuXG4uaWNvbi1saXN0OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxFMDE3XCI7IH1cblxuLmljb24tbG9hZGVyOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxFMDE4XCI7IH1cblxuLmljb24tbG9jazpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcRTAxOVwiOyB9XG5cbi5pY29uLW1vcmU6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXEUwMUFcIjsgfVxuXG4uaWNvbi1wbGF5OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxFMDFCXCI7IH1cblxuLmljb24tcXVhbGl0eS1oaWdoOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxFMDFDXCI7IH1cblxuLmljb24tcXVhbGl0eS1sb3c6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXEUwMURcIjsgfVxuXG4uaWNvbi1xdWFsaXR5LW1pZDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcRTAxRVwiOyB9XG5cbi5pY29uLXNlYXJjaDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcRTAxRlwiOyB9XG5cbi5pY29uLXN1aXRjYXNlOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxFMDIwXCI7IH1cblxuLmljb24tdGh1bWI6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXEUwMjFcIjsgfVxuXG4uaWNvbi11c2VyOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxFMDIyXCI7IH1cblxuQGtleWZyYW1lcyByb3RhdGluZyB7XG4gIGZyb20ge1xuICAgIHRyYW5zZm9ybTogcm90YXRlKDBkZWcpOyB9XG4gIHRvIHtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZSgzNjBkZWcpOyB9IH1cblxuaHRtbC5sYi1kaXNhYmxlLXNjcm9sbGluZyB7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIC8qIFBvc2l0aW9uIGZpeGVkIHJlcXVpcmVkIGZvciBpT1MuIEp1c3QgcHV0dGluZyBvdmVyZmxvdzogaGlkZGVuOyBvbiB0aGUgYm9keSBpcyBub3QgZW5vdWdoLiAqL1xuICBwb3NpdGlvbjogZml4ZWQ7XG4gIGhlaWdodDogMTAwdmg7XG4gIHdpZHRoOiAxMDB2dzsgfVxuXG4ubGlnaHRib3hPdmVybGF5IHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDA7XG4gIGxlZnQ6IDA7XG4gIHotaW5kZXg6IDk5OTk7XG4gIGJhY2tncm91bmQtY29sb3I6IGJsYWNrO1xuICBmaWx0ZXI6IHByb2dpZDpEWEltYWdlVHJhbnNmb3JtLk1pY3Jvc29mdC5BbHBoYShPcGFjaXR5PTgwKTtcbiAgb3BhY2l0eTogMC44O1xuICBkaXNwbGF5OiBub25lOyB9XG5cbi5saWdodGJveCB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgbGVmdDogMDtcbiAgd2lkdGg6IDEwMCU7XG4gIHotaW5kZXg6IDEwMDAwO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIGxpbmUtaGVpZ2h0OiAwO1xuICBmb250LXdlaWdodDogbm9ybWFsOyB9XG5cbi5saWdodGJveCAubGItaW1hZ2Uge1xuICBkaXNwbGF5OiBibG9jaztcbiAgaGVpZ2h0OiBhdXRvO1xuICBtYXgtd2lkdGg6IGluaGVyaXQ7XG4gIG1heC1oZWlnaHQ6IG5vbmU7XG4gIGJvcmRlci1yYWRpdXM6IDNweDtcbiAgLyogSW1hZ2UgYm9yZGVyICovXG4gIGJvcmRlcjogNHB4IHNvbGlkIHdoaXRlOyB9XG5cbi5saWdodGJveCBhIGltZyB7XG4gIGJvcmRlcjogbm9uZTsgfVxuXG4ubGItb3V0ZXJDb250YWluZXIge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICp6b29tOiAxO1xuICB3aWR0aDogMjUwcHg7XG4gIGhlaWdodDogMjUwcHg7XG4gIG1hcmdpbjogMCBhdXRvO1xuICBib3JkZXItcmFkaXVzOiA0cHg7XG4gIC8qIEJhY2tncm91bmQgY29sb3IgYmVoaW5kIGltYWdlLlxuXHQgVGhpcyBpcyB2aXNpYmxlIGR1cmluZyB0cmFuc2l0aW9ucy4gKi9cbiAgYmFja2dyb3VuZC1jb2xvcjogd2hpdGU7IH1cblxuLmxiLW91dGVyQ29udGFpbmVyOmFmdGVyIHtcbiAgY29udGVudDogXCJcIjtcbiAgZGlzcGxheTogdGFibGU7XG4gIGNsZWFyOiBib3RoOyB9XG5cbi5sYi1sb2FkZXIge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogNDMlO1xuICBsZWZ0OiAwO1xuICBoZWlnaHQ6IDI1JTtcbiAgd2lkdGg6IDEwMCU7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgbGluZS1oZWlnaHQ6IDA7IH1cblxuLmxiLWNhbmNlbCB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICB3aWR0aDogMzJweDtcbiAgaGVpZ2h0OiAzMnB4O1xuICBtYXJnaW46IDAgYXV0bzsgfVxuICAubGItY2FuY2VsOjpiZWZvcmUge1xuICAgIGNvbG9yOiAjZmZmZmZmO1xuICAgIGxpbmUtaGVpZ2h0OiAzMnB4O1xuICAgIGZvbnQtc2l6ZTogMzJweDtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7IH1cblxuLmxiLW5hdiB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAwO1xuICBsZWZ0OiAwO1xuICBoZWlnaHQ6IDEwMCU7XG4gIHdpZHRoOiAxMDAlO1xuICB6LWluZGV4OiAxMDsgfVxuXG4ubGItY29udGFpbmVyID4gLm5hdiB7XG4gIGxlZnQ6IDA7IH1cblxuLmxiLW5hdiBhIHtcbiAgb3V0bGluZTogbm9uZTtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiZGF0YTppbWFnZS9naWY7YmFzZTY0LFIwbEdPRGxoQVFBQkFQQUFBUC8vL3dBQUFDSDVCQUVBQUFBQUxBQUFBQUFCQUFFQUFBSUNSQUVBT3c9PVwiKTsgfVxuXG4ubGItcHJldiwgLmxiLW5leHQge1xuICBoZWlnaHQ6IDEwMCU7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgZGlzcGxheTogYmxvY2s7IH1cblxuLmxiLW5hdiBhLmxiLXByZXYge1xuICB3aWR0aDogMzQlO1xuICBsZWZ0OiAwO1xuICBmbG9hdDogbGVmdDtcbiAgZmlsdGVyOiBwcm9naWQ6RFhJbWFnZVRyYW5zZm9ybS5NaWNyb3NvZnQuQWxwaGEoT3BhY2l0eT0wKTtcbiAgb3BhY2l0eTogMDtcbiAgLXdlYmtpdC10cmFuc2l0aW9uOiBvcGFjaXR5IDAuNnM7XG4gIC1tb3otdHJhbnNpdGlvbjogb3BhY2l0eSAwLjZzO1xuICAtby10cmFuc2l0aW9uOiBvcGFjaXR5IDAuNnM7XG4gIHRyYW5zaXRpb246IG9wYWNpdHkgMC42czsgfVxuXG4ubGItbmF2IGEubGItcHJldjpob3ZlciB7XG4gIGZpbHRlcjogcHJvZ2lkOkRYSW1hZ2VUcmFuc2Zvcm0uTWljcm9zb2Z0LkFscGhhKE9wYWNpdHk9MTAwKTtcbiAgb3BhY2l0eTogMTsgfVxuXG4ubGItbmF2IGEubGItbmV4dCB7XG4gIHdpZHRoOiA2NCU7XG4gIHJpZ2h0OiAwO1xuICBmbG9hdDogcmlnaHQ7XG4gIGZpbHRlcjogcHJvZ2lkOkRYSW1hZ2VUcmFuc2Zvcm0uTWljcm9zb2Z0LkFscGhhKE9wYWNpdHk9MCk7XG4gIG9wYWNpdHk6IDA7XG4gIC13ZWJraXQtdHJhbnNpdGlvbjogb3BhY2l0eSAwLjZzO1xuICAtbW96LXRyYW5zaXRpb246IG9wYWNpdHkgMC42cztcbiAgLW8tdHJhbnNpdGlvbjogb3BhY2l0eSAwLjZzO1xuICB0cmFuc2l0aW9uOiBvcGFjaXR5IDAuNnM7IH1cblxuLmxiLW5hdiBhLmxiLW5leHQ6aG92ZXIge1xuICBmaWx0ZXI6IHByb2dpZDpEWEltYWdlVHJhbnNmb3JtLk1pY3Jvc29mdC5BbHBoYShPcGFjaXR5PTEwMCk7XG4gIG9wYWNpdHk6IDE7IH1cblxuLmxiLWRhdGFDb250YWluZXIge1xuICBtYXJnaW46IDAgYXV0bztcbiAgcGFkZGluZy10b3A6IDVweDtcbiAgKnpvb206IDE7XG4gIHdpZHRoOiAxMDAlO1xuICBib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzOiA0cHg7XG4gIGJvcmRlci1ib3R0b20tcmlnaHQtcmFkaXVzOiA0cHg7IH1cblxuLmxiLWRhdGFDb250YWluZXI6YWZ0ZXIge1xuICBjb250ZW50OiBcIlwiO1xuICBkaXNwbGF5OiB0YWJsZTtcbiAgY2xlYXI6IGJvdGg7IH1cblxuLmxiLWRhdGEge1xuICBwYWRkaW5nOiAwIDRweDtcbiAgY29sb3I6ICNjY2M7IH1cblxuLmxiLWRhdGEgLmxiLWRldGFpbHMge1xuICB3aWR0aDogODUlO1xuICBmbG9hdDogbGVmdDtcbiAgdGV4dC1hbGlnbjogbGVmdDtcbiAgbGluZS1oZWlnaHQ6IDEuMWVtOyB9XG5cbi5sYi1kYXRhIC5sYi1jYXB0aW9uIHtcbiAgZm9udC1zaXplOiAxM3B4O1xuICBmb250LXdlaWdodDogYm9sZDtcbiAgbGluZS1oZWlnaHQ6IDFlbTsgfVxuXG4ubGItZGF0YSAubGItY2FwdGlvbiBhIHtcbiAgY29sb3I6ICM0YWU7IH1cblxuLmxiLWRhdGEgLmxiLW51bWJlciB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBjbGVhcjogbGVmdDtcbiAgcGFkZGluZy1ib3R0b206IDFlbTtcbiAgZm9udC1zaXplOiAxMnB4O1xuICBjb2xvcjogIzk5OTk5OTsgfVxuXG4ubGItZGF0YSAubGItY2xvc2Uge1xuICBkaXNwbGF5OiBibG9jaztcbiAgZmxvYXQ6IHJpZ2h0O1xuICB3aWR0aDogMzBweDtcbiAgaGVpZ2h0OiAzMHB4O1xuICB0ZXh0LWFsaWduOiByaWdodDtcbiAgb3V0bGluZTogbm9uZTtcbiAgZmlsdGVyOiBwcm9naWQ6RFhJbWFnZVRyYW5zZm9ybS5NaWNyb3NvZnQuQWxwaGEoT3BhY2l0eT03MCk7XG4gIG9wYWNpdHk6IDAuNztcbiAgLXdlYmtpdC10cmFuc2l0aW9uOiBvcGFjaXR5IDAuMnM7XG4gIC1tb3otdHJhbnNpdGlvbjogb3BhY2l0eSAwLjJzO1xuICAtby10cmFuc2l0aW9uOiBvcGFjaXR5IDAuMnM7XG4gIHRyYW5zaXRpb246IG9wYWNpdHkgMC4yczsgfVxuICAubGItZGF0YSAubGItY2xvc2U6OmJlZm9yZSB7XG4gICAgdmVydGljYWwtYWxpZ246IHRvcDtcbiAgICBmb250LXNpemU6IDE3cHg7XG4gICAgbGluZS1oZWlnaHQ6IDE7XG4gICAgY29sb3I6ICNmZmZmZmY7IH1cbiAgLmxiLWRhdGEgLmxiLWNsb3NlOmhvdmVyIHtcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7IH1cblxuLmxiLWRhdGEgLmxiLWNsb3NlOmhvdmVyIHtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICBmaWx0ZXI6IHByb2dpZDpEWEltYWdlVHJhbnNmb3JtLk1pY3Jvc29mdC5BbHBoYShPcGFjaXR5PTEwMCk7XG4gIG9wYWNpdHk6IDE7IH1cblxuLyoqXG4gKiBcbiAqIFxuICogTm9vbWlhIExpZ2h0Ym94XG4gKiBcbiAqIFxuICovXG4ubm9vX2xpZ2h0Ym94IHtcbiAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAtNTAlKTtcbiAgLW1zLXRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIC01MCUpO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAtNTAlKTtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB6LWluZGV4OiAxMDtcbiAgdG9wOiA1MCU7XG4gIGxlZnQ6IDUwJTtcbiAgb3ZlcmZsb3cteDogaGlkZGVuO1xuICBvdmVyZmxvdy15OiBhdXRvO1xuICB3aWR0aDogOTAlO1xuICBtYXgtd2lkdGg6IDU3MHB4O1xuICBtYXgtaGVpZ2h0OiA5MCU7XG4gIHBhZGRpbmc6IDMwcHg7XG4gIGJvcmRlci1yYWRpdXM6IDRweDtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZmZmZjsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA5NzBweCkge1xuICAgIC5ub29fbGlnaHRib3gge1xuICAgICAgLXdlYmtpdC1vdmVyZmxvdy1zY3JvbGxpbmc6IHRvdWNoOyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNjAwcHgpIHtcbiAgICAubm9vX2xpZ2h0Ym94IHtcbiAgICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgICB3aWR0aDogOTAlOyB9IH1cbiAgLm5vb19saWdodGJveF9fY29udGFpbmVyIHtcbiAgICBwb3NpdGlvbjogZml4ZWQ7XG4gICAgei1pbmRleDogMTAwMDA7XG4gICAgdG9wOiAwO1xuICAgIHJpZ2h0OiAwO1xuICAgIGJvdHRvbTogMDtcbiAgICBsZWZ0OiAwO1xuICAgIGRpc3BsYXk6IG5vbmU7IH1cbiAgLm5vb19saWdodGJveF9fY29udGVudCB7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyOyB9XG4gICAgLm5vb19saWdodGJveF9fY29udGVudCAud3lzaXd5ZyB7XG4gICAgICBtYXJnaW4tYm90dG9tOiA1MHB4OyB9XG4gIC5ub29fbGlnaHRib3hfX2Nsb3NlIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAyMHB4O1xuICAgIHJpZ2h0OiAyMHB4OyB9XG4gIC5ub29fbGlnaHRib3hfX292ZXJsYXkge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDA7XG4gICAgcmlnaHQ6IDA7XG4gICAgYm90dG9tOiAwO1xuICAgIGxlZnQ6IDA7XG4gICAgb3BhY2l0eTogMC44O1xuICAgIGJhY2tncm91bmQtY29sb3I6ICMxMzE4MjA7IH1cbiAgLm5vb19saWdodGJveCAudGFicyB7XG4gICAgbWFyZ2luLWJvdHRvbTogMzBweDtcbiAgICB0ZXh0LWFsaWduOiBsZWZ0OyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNTAwcHgpIHtcbiAgICAgIC5ub29fbGlnaHRib3ggLnRhYnMge1xuICAgICAgICBwYWRkaW5nLWxlZnQ6IDEwcHg7XG4gICAgICAgIHBhZGRpbmctcmlnaHQ6IDEwcHg7IH0gfVxuXG4ubm9vX2xpZ2h0Ym94X19jb250YWluZXJbZGF0YS1saWdodGJveD1jb25maXJtXSAubm9vX2xpZ2h0Ym94IHtcbiAgbWF4LXdpZHRoOiA1MDBweDsgfVxuICAubm9vX2xpZ2h0Ym94X19jb250YWluZXJbZGF0YS1saWdodGJveD1jb25maXJtXSAubm9vX2xpZ2h0Ym94IC50aXRsZSB7XG4gICAgbWFyZ2luLWJvdHRvbTogMTVweDsgfVxuICAubm9vX2xpZ2h0Ym94X19jb250YWluZXJbZGF0YS1saWdodGJveD1jb25maXJtXSAubm9vX2xpZ2h0Ym94IC53eXNpd3lnIHtcbiAgICBtYXJnaW4tYm90dG9tOiAzMHB4OyB9XG5cbi5tYWluLXRpdGxlIHtcbiAgZm9udC1mYW1pbHk6IFwiZnV0dXJhLXB0XCIsIEZ1dHVyYSwgXCJUcmVidWNoZXQgTVNcIiwgQXJpYWwsIHNhbnMtc2VyaWY7XG4gIGZvbnQtc2l6ZTogMnJlbTtcbiAgZm9udC13ZWlnaHQ6IDMwMDtcbiAgbWFyZ2luOiAwO1xuICBsZXR0ZXItc3BhY2luZzogNHB4O1xuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICBjb2xvcjogIzIwMjEyNDsgfVxuICAubWFpbi10aXRsZS0tY2VudGVyIHtcbiAgICBtYXJnaW46IDAgYXV0bztcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7IH1cbiAgLm1haW4tdGl0bGUgYixcbiAgLm1haW4tdGl0bGUgc3Ryb25nIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7IH1cbiAgLm1haW4tdGl0bGUgc3BhbiB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlOyB9XG4gICAgLm1haW4tdGl0bGUgc3BhbjpiZWZvcmUge1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgcmlnaHQ6IC0ycHg7XG4gICAgICBib3R0b206IDVweDtcbiAgICAgIGxlZnQ6IC0ycHg7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIGhlaWdodDogMTBweDtcbiAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDI0NywgMTAxLCAwLCAwLjEpOyB9XG5cbi53eXNpd3lnIHtcbiAgZm9udC1zaXplOiAxcmVtO1xuICBsaW5lLWhlaWdodDogMS43O1xuICAvKipcbiAgICAgKiBUaXRsZVxuICAgICAqL1xuICAvKipcbiAgICAgKiBTdHlsZVxuICAgICAqL1xuICAvKipcbiAgICAgKiBRdW90ZVxuICAgICAqL1xuICAvKipcbiAgICAgKiBpRnJhbWVcbiAgICAgKi9cbiAgLyoqXG4gICAgICogaHJcbiAgICAgKi9cbiAgLyoqXG4gICAgICogTGlzdFxuICAgICAqLyB9XG4gIC53eXNpd3lnIGgyLFxuICAud3lzaXd5ZyBoMyxcbiAgLnd5c2l3eWcgaDQsXG4gIC53eXNpd3lnIGg1LFxuICAud3lzaXd5ZyBoNiB7XG4gICAgZm9udC1mYW1pbHk6IFwiZnV0dXJhLXB0XCIsIEZ1dHVyYSwgXCJUcmVidWNoZXQgTVNcIiwgQXJpYWwsIHNhbnMtc2VyaWY7XG4gICAgbWFyZ2luLXRvcDogMDsgfVxuICAud3lzaXd5ZyBoMiB7XG4gICAgZm9udC1zaXplOiAxLjc1cmVtOyB9XG4gIC53eXNpd3lnIGgzIHtcbiAgICBmb250LXNpemU6IDEuNXJlbTsgfVxuICAud3lzaXd5ZyBoNCB7XG4gICAgZm9udC1zaXplOiAxLjI1cmVtOyB9XG4gIC53eXNpd3lnIGg1IHtcbiAgICBmb250LXNpemU6IDEuMTI1cmVtOyB9XG4gIC53eXNpd3lnIGg2IHtcbiAgICBmb250LXNpemU6IDFyZW07IH1cbiAgLnd5c2l3eWcgZW0sXG4gIC53eXNpd3lnIGkge1xuICAgIGZvbnQtc3R5bGU6IGl0YWxpYzsgfVxuICAud3lzaXd5ZyBwIHtcbiAgICBtYXJnaW4tdG9wOiAwOyB9XG4gIC53eXNpd3lnIGE6aG92ZXIge1xuICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lOyB9XG4gIC53eXNpd3lnIGZpZ3VyZSB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgIG1hcmdpbjogMCAwIDEuODc1cmVtIDA7IH1cbiAgICAud3lzaXd5ZyBmaWd1cmUgZmlnY2FwdGlvbiB7XG4gICAgICBmb250LXNpemU6IDAuNzVyZW07XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICBkaXNwbGF5OiBibG9jazsgfVxuICAgIC53eXNpd3lnIGZpZ3VyZSBpbWcge1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgICBoZWlnaHQ6IGF1dG87IH1cbiAgICAud3lzaXd5ZyBmaWd1cmUuYWxpZ24tbGVmdCB7XG4gICAgICBmbG9hdDogbGVmdDtcbiAgICAgIG1hcmdpbi1yaWdodDogMS44NzVyZW07IH1cbiAgICAud3lzaXd5ZyBmaWd1cmUuYWxpZ24tcmlnaHQge1xuICAgICAgZmxvYXQ6IHJpZ2h0O1xuICAgICAgbWFyZ2luLWxlZnQ6IDEuODc1cmVtOyB9XG4gICAgLnd5c2l3eWcgZmlndXJlLmFsaWduLWNlbnRlciBpbWcge1xuICAgICAgbWFyZ2luOiAwIGF1dG87IH1cbiAgLnd5c2l3eWcgaW1nIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiBhdXRvO1xuICAgIG1hcmdpbjogMCAwIDEuODc1cmVtIDA7IH1cbiAgICAud3lzaXd5ZyBpbWcuYWxpZ25sZWZ0IHtcbiAgICAgIGZsb2F0OiBsZWZ0O1xuICAgICAgbWFyZ2luLXJpZ2h0OiAxLjg3NXJlbTsgfVxuICAgIC53eXNpd3lnIGltZy5hbGlnbnJpZ2h0IHtcbiAgICAgIGZsb2F0OiByaWdodDtcbiAgICAgIG1hcmdpbi1sZWZ0OiAxLjg3NXJlbTsgfVxuICAgIC53eXNpd3lnIGltZy5hbGlnbmNlbnRlciBpbWcge1xuICAgICAgbWFyZ2luOiAwIGF1dG87IH1cbiAgLnd5c2l3eWcgYmxvY2txdW90ZSB7XG4gICAgZm9udC1zaXplOiAxLjVyZW07XG4gICAgZm9udC1zdHlsZTogaXRhbGljO1xuICAgIHBhZGRpbmctbGVmdDogMy43NXJlbTsgfVxuICAud3lzaXd5ZyBpZnJhbWUge1xuICAgIHdpZHRoOiAxMDAlOyB9XG4gIC53eXNpd3lnIGhyIHtcbiAgICBtYXJnaW46IDEuODc1cmVtO1xuICAgIGJvcmRlcjogMXB4IHNvbGlkICNlYmViZWI7IH1cbiAgLnd5c2l3eWcgdWwsXG4gIC53eXNpd3lnIG9sIHtcbiAgICBtYXJnaW46IDAgMCAxLjg3NXJlbTsgfVxuICAgIC53eXNpd3lnIHVsIGxpLFxuICAgIC53eXNpd3lnIG9sIGxpIHtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgIG1hcmdpbi1ib3R0b206IDAuMzEyNXJlbTsgfVxuICAgICAgLnd5c2l3eWcgdWwgbGk6bGFzdC1jaGlsZCxcbiAgICAgIC53eXNpd3lnIG9sIGxpOmxhc3QtY2hpbGQge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAwOyB9XG4gICAgLnd5c2l3eWcgdWwgdWwsXG4gICAgLnd5c2l3eWcgdWwgb2wsXG4gICAgLnd5c2l3eWcgb2wgdWwsXG4gICAgLnd5c2l3eWcgb2wgb2wge1xuICAgICAgbWFyZ2luLWJvdHRvbTogMC42MjVyZW07IH1cbiAgLnd5c2l3eWcgdWwgbGkge1xuICAgIHBhZGRpbmctbGVmdDogMS4yNXJlbTtcbiAgICBsaXN0LXN0eWxlOiBub25lOyB9XG4gICAgLnd5c2l3eWcgdWwgbGk6OmJlZm9yZSB7XG4gICAgICAtd2Via2l0LWJvcmRlci1yYWRpdXM6IDUwJTtcbiAgICAgIC1tb3otYm9yZGVyLXJhZGl1czogNTAlO1xuICAgICAgYm9yZGVyLXJhZGl1czogNTAlO1xuICAgICAgLWtodG1sLWJvcmRlci1yYWRpdXM6IDUwJTtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgd2lkdGg6IDAuMzEyNXJlbTtcbiAgICAgIGhlaWdodDogMC4zMTI1cmVtO1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgdG9wOiAwLjYyNXJlbTtcbiAgICAgIGxlZnQ6IDA7XG4gICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2Y3NjUwMDsgfVxuICAud3lzaXd5ZyBvbCB7XG4gICAgY291bnRlci1yZXNldDogbGlzdDsgfVxuICAgIC53eXNpd3lnIG9sIGxpIHtcbiAgICAgIHBhZGRpbmctbGVmdDogMS4yNXJlbTtcbiAgICAgIGxpc3Qtc3R5bGU6IG5vbmU7IH1cbiAgICAgIC53eXNpd3lnIG9sIGxpOjpiZWZvcmUge1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHRvcDogMDtcbiAgICAgICAgbGVmdDogMDtcbiAgICAgICAgY29udGVudDogY291bnRlcihsaXN0KSBcIi4gXCI7XG4gICAgICAgIGNvdW50ZXItaW5jcmVtZW50OiBsaXN0O1xuICAgICAgICBjb2xvcjogI2Y3NjUwMDsgfVxuXG5idXR0b24ge1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIGJvcmRlcjogbm9uZTtcbiAgYmFja2dyb3VuZDogbm9uZTsgfVxuICBidXR0b246Zm9jdXMsIGJ1dHRvbjphY3RpdmUge1xuICAgIG91dGxpbmU6IG5vbmU7IH1cblxuLmJ0biwgLm5mLWZvcm0tY29udGVudCAubmYtcHJldmlvdXMtaXRlbSAubmYtcHJldmlvdXMsIC5uZi1mb3JtLWNvbnRlbnQgLm5mLXByZXZpb3VzLWl0ZW0gLm5mLW5leHQsIC5uZi1mb3JtLWNvbnRlbnQgLm5mLW5leHQtaXRlbSAubmYtcHJldmlvdXMsIC5uZi1mb3JtLWNvbnRlbnQgLm5mLW5leHQtaXRlbSAubmYtbmV4dCwgLm5mLWZvcm0td3JhcCAuc3VibWl0LWNvbnRhaW5lciAubmYtZmllbGQtZWxlbWVudCBpbnB1dCwgLm5mLWZvcm0td3JhcCAubm1jLXJlZ2lzdGVyLXN1Ym1pdCAubmYtZmllbGQtZWxlbWVudCBpbnB1dCB7XG4gIGZvbnQtZmFtaWx5OiBcImZ1dHVyYS1wdFwiLCBGdXR1cmEsIFwiVHJlYnVjaGV0IE1TXCIsIEFyaWFsLCBzYW5zLXNlcmlmO1xuICBmb250LXNpemU6IDAuNzVyZW07XG4gIGxpbmUtaGVpZ2h0OiAxLjI7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgcGFkZGluZzogMjJweCAyNXB4O1xuICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDAuMnMgY3ViaWMtYmV6aWVyKDAuNDU1LCAwLjAzLCAwLjUxNSwgMC45NTUpLCBjb2xvciAwLjJzIGN1YmljLWJlemllcigwLjQ1NSwgMC4wMywgMC41MTUsIDAuOTU1KTtcbiAgbGV0dGVyLXNwYWNpbmc6IDAuMTg3NXJlbTtcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgY29sb3I6ICNmZmZmZmY7XG4gIGJvcmRlcjogbm9uZTtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2Y3NjUwMDtcbiAgdXNlci1zZWxlY3Q6IG5vbmU7IH1cbiAgLmJ0biBzcGFuLCAubmYtZm9ybS1jb250ZW50IC5uZi1wcmV2aW91cy1pdGVtIC5uZi1wcmV2aW91cyBzcGFuLCAubmYtZm9ybS1jb250ZW50IC5uZi1wcmV2aW91cy1pdGVtIC5uZi1uZXh0IHNwYW4sIC5uZi1mb3JtLWNvbnRlbnQgLm5mLW5leHQtaXRlbSAubmYtcHJldmlvdXMgc3BhbiwgLm5mLWZvcm0tY29udGVudCAubmYtbmV4dC1pdGVtIC5uZi1uZXh0IHNwYW4sIC5uZi1mb3JtLXdyYXAgLnN1Ym1pdC1jb250YWluZXIgLm5mLWZpZWxkLWVsZW1lbnQgaW5wdXQgc3BhbiwgLm5mLWZvcm0td3JhcCAubm1jLXJlZ2lzdGVyLXN1Ym1pdCAubmYtZmllbGQtZWxlbWVudCBpbnB1dCBzcGFuIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgei1pbmRleDogMTA7IH1cbiAgLmJ0bjpob3ZlciwgLm5mLWZvcm0tY29udGVudCAubmYtcHJldmlvdXMtaXRlbSAubmYtcHJldmlvdXM6aG92ZXIsIC5uZi1mb3JtLWNvbnRlbnQgLm5mLXByZXZpb3VzLWl0ZW0gLm5mLW5leHQ6aG92ZXIsIC5uZi1mb3JtLWNvbnRlbnQgLm5mLW5leHQtaXRlbSAubmYtcHJldmlvdXM6aG92ZXIsIC5uZi1mb3JtLWNvbnRlbnQgLm5mLW5leHQtaXRlbSAubmYtbmV4dDpob3ZlciwgLm5mLWZvcm0td3JhcCAuc3VibWl0LWNvbnRhaW5lciAubmYtZmllbGQtZWxlbWVudCBpbnB1dDpob3ZlciwgLm5mLWZvcm0td3JhcCAubm1jLXJlZ2lzdGVyLXN1Ym1pdCAubmYtZmllbGQtZWxlbWVudCBpbnB1dDpob3ZlciwgLmJ0bjpmb2N1cywgLm5mLWZvcm0tY29udGVudCAubmYtcHJldmlvdXMtaXRlbSAubmYtcHJldmlvdXM6Zm9jdXMsIC5uZi1mb3JtLWNvbnRlbnQgLm5mLXByZXZpb3VzLWl0ZW0gLm5mLW5leHQ6Zm9jdXMsIC5uZi1mb3JtLWNvbnRlbnQgLm5mLW5leHQtaXRlbSAubmYtcHJldmlvdXM6Zm9jdXMsIC5uZi1mb3JtLWNvbnRlbnQgLm5mLW5leHQtaXRlbSAubmYtbmV4dDpmb2N1cywgLm5mLWZvcm0td3JhcCAuc3VibWl0LWNvbnRhaW5lciAubmYtZmllbGQtZWxlbWVudCBpbnB1dDpmb2N1cywgLm5mLWZvcm0td3JhcCAubm1jLXJlZ2lzdGVyLXN1Ym1pdCAubmYtZmllbGQtZWxlbWVudCBpbnB1dDpmb2N1cyB7XG4gICAgYmFja2dyb3VuZDogI2NlNTQwMDsgfVxuICAuYnRuLS1jb21wYWN0IHtcbiAgICBwYWRkaW5nOiAxMHB4IDI1cHg7IH1cbiAgLmJ0bi0taGlkZSB7XG4gICAgb3BhY2l0eTogMDsgfVxuICAuYnRuLS1zdHJva2Uge1xuICAgIGNvbG9yOiAjZjc2NTAwO1xuICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICAgIGJvcmRlcjogMnB4IHNvbGlkICNmNzY1MDA7IH1cbiAgICAuYnRuLS1zdHJva2U6aG92ZXIsIC5idG4tLXN0cm9rZTpmb2N1cyB7XG4gICAgICBjb2xvcjogI2ZmZmZmZjtcbiAgICAgIGJhY2tncm91bmQ6ICNjZTU0MDA7IH1cbiAgLmJ0bjpkaXNhYmxlZCwgLm5mLWZvcm0tY29udGVudCAubmYtcHJldmlvdXMtaXRlbSAubmYtcHJldmlvdXM6ZGlzYWJsZWQsIC5uZi1mb3JtLWNvbnRlbnQgLm5mLXByZXZpb3VzLWl0ZW0gLm5mLW5leHQ6ZGlzYWJsZWQsIC5uZi1mb3JtLWNvbnRlbnQgLm5mLW5leHQtaXRlbSAubmYtcHJldmlvdXM6ZGlzYWJsZWQsIC5uZi1mb3JtLWNvbnRlbnQgLm5mLW5leHQtaXRlbSAubmYtbmV4dDpkaXNhYmxlZCwgLm5mLWZvcm0td3JhcCAuc3VibWl0LWNvbnRhaW5lciAubmYtZmllbGQtZWxlbWVudCBpbnB1dDpkaXNhYmxlZCwgLm5mLWZvcm0td3JhcCAubm1jLXJlZ2lzdGVyLXN1Ym1pdCAubmYtZmllbGQtZWxlbWVudCBpbnB1dDpkaXNhYmxlZCB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2Q4ZDhkODtcbiAgICBjb2xvcjogIzIwMjEyNDtcbiAgICBjdXJzb3I6IG5vdC1hbGxvd2VkOyB9XG5cbi5idG4tY2FydCB7XG4gIGZsb2F0OiByaWdodDtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZDhkOGQ4O1xuICBjb2xvcjogIzIwMjEyNDsgfVxuICAuYnRuLWNhcnQ6aG92ZXIge1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjYmZiZmJmOyB9XG4gIC5idG4tY2FydCBzcGFuOmJlZm9yZSB7XG4gICAgbWFyZ2luLXJpZ2h0OiA1cHg7IH1cblxuLmJ0bi1saW5rIHtcbiAgZm9udC1mYW1pbHk6IFwiZnV0dXJhLXB0XCIsIEZ1dHVyYSwgXCJUcmVidWNoZXQgTVNcIiwgQXJpYWwsIHNhbnMtc2VyaWY7XG4gIGZvbnQtc2l6ZTogMC43NXJlbTtcbiAgbGluZS1oZWlnaHQ6IDEuMjVyZW07XG4gIHBhZGRpbmc6IDA7XG4gIGxldHRlci1zcGFjaW5nOiAwLjE4NzVyZW07XG4gIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gIGNvbG9yOiAjZjc2NTAwOyB9XG4gIC5idG4tbGluay0taXMtaGlkZSB7XG4gICAgb3BhY2l0eTogMDsgfVxuICAuYnRuLWxpbmsgbWFyayB7XG4gICAgY29sb3I6ICNmNzY1MDA7XG4gICAgYmFja2dyb3VuZDogbm9uZTsgfVxuICAuYnRuLWxpbmsgc3BhbiB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrOyB9XG4gICAgLmJ0bi1saW5rIHNwYW46OmJlZm9yZSB7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICB0b3A6IC0wLjA2MjVyZW07XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICB3aWR0aDogMS4yNXJlbTtcbiAgICAgIGhlaWdodDogMC4wNjI1cmVtO1xuICAgICAgbWFyZ2luLXJpZ2h0OiAwLjYyNXJlbTtcbiAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2Y3NjUwMDsgfVxuXG4uYnRuLS1kZWxldGUge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGZvbnQtZmFtaWx5OiBcIk9wZW4gU2Fuc1wiLCBIZWx2ZXRpY2EsIEFyaWFsLCBzYW5zLXNlcmlmO1xuICBmb250LXNpemU6IDEycHg7XG4gIGxpbmUtaGVpZ2h0OiA1MHB4O1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHBhZGRpbmc6IDAgMTBweDtcbiAgbWFyZ2luLWxlZnQ6IC0xMHB4O1xuICBsZXR0ZXItc3BhY2luZzogMnB4O1xuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICBjb2xvcjogI2Y3NjUwMDtcbiAgdHJhbnNpdGlvbjogY29sb3IgMC4ycyBjdWJpYy1iZXppZXIoMC42LCAwLCAwLjczNSwgMC4wNDUpOyB9XG4gIC5idG4tLWRlbGV0ZTpob3ZlciB7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgIGNvbG9yOiAjZGMwMDAwOyB9XG5cbi5idG4tLWNsb3NlIHtcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lO1xuICAtbW96LWFwcGVhcmFuY2U6IG5vbmU7XG4gIGFwcGVhcmFuY2U6IG5vbmU7XG4gIHdpZHRoOiAxNXB4O1xuICBoZWlnaHQ6IDE1cHg7XG4gIG1hcmdpbjogMDtcbiAgcGFkZGluZzogMDtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICBib3JkZXI6IG5vbmU7XG4gIGJhY2tncm91bmQ6IG5vbmU7IH1cbiAgLmJ0bi0tY2xvc2U6YmVmb3JlLCAuYnRuLS1jbG9zZTphZnRlciB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHdpZHRoOiAyMHB4O1xuICAgIGhlaWdodDogM3B4O1xuICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIDAuM3MgY3ViaWMtYmV6aWVyKDAuOTUsIDAuMDUsIDAuNzk1LCAwLjAzNSksIG9wYWNpdHkgMC4zcyBjdWJpYy1iZXppZXIoMC45NSwgMC4wNSwgMC43OTUsIDAuMDM1KTtcbiAgICB0cmFuc2Zvcm0tb3JpZ2luOiA1MCUgNTAlO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmFhNGM7IH1cbiAgLmJ0bi0tY2xvc2U6YmVmb3JlIHtcbiAgICB0b3A6IDUwJTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSkgcm90YXRlKDQ1ZGVnKTsgfVxuICAuYnRuLS1jbG9zZTphZnRlciB7XG4gICAgdG9wOiA1MCU7XG4gICAgdHJhbnNpdGlvbi1kZWxheTogLjE1cztcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSkgcm90YXRlKC00NWRlZyk7IH1cblxuLmJ0bi0tdHJhbnNwYXJlbnQge1xuICBmb250LWZhbWlseTogXCJmdXR1cmEtcHRcIiwgRnV0dXJhLCBcIlRyZWJ1Y2hldCBNU1wiLCBBcmlhbCwgc2Fucy1zZXJpZjtcbiAgZm9udC1zaXplOiAwLjc1cmVtO1xuICBsaW5lLWhlaWdodDogMS4yO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHBhZGRpbmc6IDIycHggMjVweDtcbiAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAwLjJzIGN1YmljLWJlemllcigwLjQ1NSwgMC4wMywgMC41MTUsIDAuOTU1KSwgY29sb3IgMC4ycyBjdWJpYy1iZXppZXIoMC40NTUsIDAuMDMsIDAuNTE1LCAwLjk1NSk7XG4gIGxldHRlci1zcGFjaW5nOiAwLjE4NzVyZW07XG4gIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gIGNvbG9yOiAjZDhkOGQ4O1xuICBib3JkZXI6IG5vbmU7XG4gIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50OyB9XG4gIC5idG4tLXRyYW5zcGFyZW50IHNwYW4ge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB6LWluZGV4OiAxMDsgfVxuICAuYnRuLS10cmFuc3BhcmVudDpob3ZlciwgLmJ0bi0tdHJhbnNwYXJlbnQ6Zm9jdXMge1xuICAgIGJhY2tncm91bmQ6ICNjZTU0MDA7IH1cbiAgLmJ0bi0tdHJhbnNwYXJlbnQtLWNvbXBhY3Qge1xuICAgIHBhZGRpbmc6IDEwcHggMjVweDsgfVxuICAuYnRuLS10cmFuc3BhcmVudC0taGlkZSB7XG4gICAgb3BhY2l0eTogMDsgfVxuICAuYnRuLS10cmFuc3BhcmVudC0tc3Ryb2tlIHtcbiAgICBjb2xvcjogI2Y3NjUwMDtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICBib3JkZXI6IDJweCBzb2xpZCAjZjc2NTAwOyB9XG4gICAgLmJ0bi0tdHJhbnNwYXJlbnQtLXN0cm9rZTpob3ZlciwgLmJ0bi0tdHJhbnNwYXJlbnQtLXN0cm9rZTpmb2N1cyB7XG4gICAgICBjb2xvcjogI2ZmYWE0YztcbiAgICAgIHRyYW5zaXRpb246IGNvbG9yIC4ycyBsaW5lYXI7XG4gICAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDsgfVxuICAuYnRuLS10cmFuc3BhcmVudDpkaXNhYmxlZCB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2Q4ZDhkODtcbiAgICBjb2xvcjogIzIwMjEyNDtcbiAgICBjdXJzb3I6IG5vdC1hbGxvd2VkOyB9XG5cbmZvcm0gaW5wdXQsIGZvcm0gc2VsZWN0LCBmb3JtIHRleHRhcmVhLCBmb3JtIC5kay1zZWxlY3RlZCwgZm9ybSBzZWxlY3QsIGZvcm0gLmRrLXNlbGVjdC1vcHRpb25zIHtcbiAgZm9udC1mYW1pbHk6IFwiT3BlbiBTYW5zXCIsIEhlbHZldGljYSwgQXJpYWwsIHNhbnMtc2VyaWY7XG4gIGZvbnQtc2l6ZTogMTNweDtcbiAgbGV0dGVyLXNwYWNpbmc6IG5vcm1hbDsgfVxuXG5mb3JtIC5uZi1maWVsZC1sYWJlbCB7XG4gIGZvbnQtc2l6ZTogMTRweDsgfVxuXG5mb3JtIGZpZWxkc2V0IHtcbiAgbWFyZ2luLWJvdHRvbTogMzBweDtcbiAgcGFkZGluZzogMDtcbiAgYm9yZGVyOiBub25lOyB9XG4gIGZvcm0gZmllbGRzZXQ6bGFzdC1jaGlsZCB7XG4gICAgbWFyZ2luLWJvdHRvbTogMDsgfVxuXG4uZm9ybV9fbm90aWNlIHtcbiAgZm9udC1zaXplOiAwLjgxMjVyZW07XG4gIG1hcmdpbi1ib3R0b206IDEuODc1cmVtO1xuICBwYWRkaW5nOiAwLjkzNzVyZW0gMS4yNXJlbTtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBjb2xvcjogI2Y3NjUwMDtcbiAgYm9yZGVyOiAwLjA2MjVyZW0gc29saWQgI2Y3NjUwMDtcbiAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgyNDcsIDEwMSwgMCwgMC4yKTsgfVxuICAuZm9ybV9fbm90aWNlIHAge1xuICAgIG1hcmdpbi10b3A6IDA7IH1cbiAgLmZvcm1fX25vdGljZS0tZXJyb3JzIHtcbiAgICBjb2xvcjogI2RjMDAwMDtcbiAgICBib3JkZXItY29sb3I6ICNkYzAwMDA7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgyMjAsIDAsIDAsIDAuMik7IH1cbiAgLmZvcm1fX25vdGljZS0tc3VjY2VzcyB7XG4gICAgY29sb3I6ICM3OGFlMTE7XG4gICAgYm9yZGVyLWNvbG9yOiAjNzhhZTExO1xuICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMTIwLCAxNzQsIDE3LCAwLjIpOyB9XG4gIC5mb3JtX19ub3RpY2UtLWlzLWhpZGRlbiB7XG4gICAgZGlzcGxheTogbm9uZTsgfVxuXG4uZm9ybV9fc3VibWl0IHtcbiAgcG9zaXRpb246IHJlbGF0aXZlOyB9XG4gIC5mb3JtX19zdWJtaXQgc3BhbiB7XG4gICAgdHJhbnNpdGlvbjogb3BhY2l0eSAwLjJzIGN1YmljLWJlemllcigwLjQ1NSwgMC4wMywgMC41MTUsIDAuOTU1KTsgfVxuICAuZm9ybV9fc3VibWl0OjpiZWZvcmUge1xuICAgIHdpZHRoOiAxLjI1cmVtO1xuICAgIGhlaWdodDogMS4yNXJlbTtcbiAgICBmb250LXNpemU6IDEuMjVyZW07XG4gICAgbGluZS1oZWlnaHQ6IDE7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHotaW5kZXg6IDA7XG4gICAgdG9wOiA1MCU7XG4gICAgbGVmdDogNTAlO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIG1hcmdpbi10b3A6IC0wLjYyNXJlbTtcbiAgICBtYXJnaW4tbGVmdDogLTAuNjI1cmVtO1xuICAgIHRyYW5zaXRpb246IG9wYWNpdHkgMC4ycyBjdWJpYy1iZXppZXIoMC40NTUsIDAuMDMsIDAuNTE1LCAwLjk1NSk7XG4gICAgdHJhbnNmb3JtLW9yaWdpbjogNTAlIDUwJTtcbiAgICBhbmltYXRpb246IHJvdGF0aW5nIC44cyBpbmZpbml0ZSBib3RoO1xuICAgIG9wYWNpdHk6IDA7IH1cbiAgLmZvcm1fX3N1Ym1pdC5pcy1sb2FkIHtcbiAgICBjdXJzb3I6IG5vbmU7IH1cbiAgICAuZm9ybV9fc3VibWl0LmlzLWxvYWQgc3BhbiB7XG4gICAgICBvcGFjaXR5OiAwOyB9XG4gICAgLmZvcm1fX3N1Ym1pdC5pcy1sb2FkOjpiZWZvcmUge1xuICAgICAgb3BhY2l0eTogMTsgfVxuXG4uZm9ybV9fcmVzcG9uc2Uge1xuICBmb250LXNpemU6IDAuODEyNXJlbTtcbiAgdGV4dC1hbGlnbjogY2VudGVyOyB9XG5cbi5maWVsZCB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgbWFyZ2luLWJvdHRvbTogMS4zNzVyZW07XG4gIGNsZWFyOiBib3RoOyB9XG4gIC5maWVsZDpsYXN0LWNoaWxkIHtcbiAgICBtYXJnaW4tYm90dG9tOiAwOyB9XG4gIC5maWVsZC0taWNvbiB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlOyB9XG4gICAgLmZpZWxkLS1pY29uOjpiZWZvcmUge1xuICAgICAgZm9udC1zaXplOiAxLjEyNXJlbTtcbiAgICAgIGxpbmUtaGVpZ2h0OiAxO1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgei1pbmRleDogMTA7XG4gICAgICB0b3A6IDUwJTtcbiAgICAgIGxlZnQ6IDEuMzEyNXJlbTtcbiAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgLTUwJSwgMCk7XG4gICAgICBvcGFjaXR5OiAuNTtcbiAgICAgIGNvbG9yOiAjMjAyMTI0OyB9XG4gIC5maWVsZC0taGFsZiB7XG4gICAgY2xlYXI6IG5vbmU7XG4gICAgd2lkdGg6IGNhbGMoICggMTAwJSAtIDMwcHggKSAvIDIpO1xuICAgIGZsb2F0OiBsZWZ0O1xuICAgIG1hcmdpbi1yaWdodDogMzBweDsgfVxuICAgIC5maWVsZC0taGFsZiArIC5maWVsZCB7XG4gICAgICBtYXJnaW4tcmlnaHQ6IDA7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA3MDBweCkge1xuICAgICAgLmZpZWxkLS1oYWxmIHtcbiAgICAgICAgZmxvYXQ6IG5vbmU7XG4gICAgICAgIHdpZHRoOiBhdXRvO1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IGF1dG87IH0gfVxuICAuZmllbGRfX3JlcXVpcmVkLCAuZmllbGRfX3JlcXVpcmVkW3RpdGxlXSB7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgIGNvbG9yOiByZWQ7XG4gICAgYm9yZGVyOiBub25lOyB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDYwMHB4KSB7XG4gIC5hY3Rpb24uaXMtcmVjYXB0Y2hhIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiByb3ctcmV2ZXJzZTtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47IH1cbiAgICAuYWN0aW9uLmlzLXJlY2FwdGNoYSAuYnRuLCAuYWN0aW9uLmlzLXJlY2FwdGNoYSAubmYtZm9ybS1jb250ZW50IC5uZi1wcmV2aW91cy1pdGVtIC5uZi1wcmV2aW91cywgLm5mLWZvcm0tY29udGVudCAubmYtcHJldmlvdXMtaXRlbSAuYWN0aW9uLmlzLXJlY2FwdGNoYSAubmYtcHJldmlvdXMsIC5hY3Rpb24uaXMtcmVjYXB0Y2hhIC5uZi1mb3JtLWNvbnRlbnQgLm5mLXByZXZpb3VzLWl0ZW0gLm5mLW5leHQsIC5uZi1mb3JtLWNvbnRlbnQgLm5mLXByZXZpb3VzLWl0ZW0gLmFjdGlvbi5pcy1yZWNhcHRjaGEgLm5mLW5leHQsIC5hY3Rpb24uaXMtcmVjYXB0Y2hhIC5uZi1mb3JtLWNvbnRlbnQgLm5mLW5leHQtaXRlbSAubmYtcHJldmlvdXMsIC5uZi1mb3JtLWNvbnRlbnQgLm5mLW5leHQtaXRlbSAuYWN0aW9uLmlzLXJlY2FwdGNoYSAubmYtcHJldmlvdXMsIC5hY3Rpb24uaXMtcmVjYXB0Y2hhIC5uZi1mb3JtLWNvbnRlbnQgLm5mLW5leHQtaXRlbSAubmYtbmV4dCwgLm5mLWZvcm0tY29udGVudCAubmYtbmV4dC1pdGVtIC5hY3Rpb24uaXMtcmVjYXB0Y2hhIC5uZi1uZXh0LCAuYWN0aW9uLmlzLXJlY2FwdGNoYSAubmYtZm9ybS13cmFwIC5zdWJtaXQtY29udGFpbmVyIC5uZi1maWVsZC1lbGVtZW50IGlucHV0LCAubmYtZm9ybS13cmFwIC5zdWJtaXQtY29udGFpbmVyIC5uZi1maWVsZC1lbGVtZW50IC5hY3Rpb24uaXMtcmVjYXB0Y2hhIGlucHV0LCAuYWN0aW9uLmlzLXJlY2FwdGNoYSAubmYtZm9ybS13cmFwIC5ubWMtcmVnaXN0ZXItc3VibWl0IC5uZi1maWVsZC1lbGVtZW50IGlucHV0LCAubmYtZm9ybS13cmFwIC5ubWMtcmVnaXN0ZXItc3VibWl0IC5uZi1maWVsZC1lbGVtZW50IC5hY3Rpb24uaXMtcmVjYXB0Y2hhIGlucHV0IHtcbiAgICAgIG1hcmdpbi1yaWdodDogMS4zNzVyZW07IH0gfVxuXG4uYWN0aW9uLmlzLXJlY2FwdGNoYSAuZ3JlY2FwdGNoYS1iYWRnZSB7XG4gIGJveC1zaGFkb3c6IG5vbmUgIWltcG9ydGFudDsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA2MDBweCkge1xuICAgIC5hY3Rpb24uaXMtcmVjYXB0Y2hhIC5ncmVjYXB0Y2hhLWJhZGdlIHtcbiAgICAgIG1hcmdpbjogYXV0bzsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDYwMHB4KSB7XG4gIC5hY3Rpb24uaXMtcmVjYXB0Y2hhIHtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7IH1cbiAgICAuYWN0aW9uLmlzLXJlY2FwdGNoYSAuYnRuLCAuYWN0aW9uLmlzLXJlY2FwdGNoYSAubmYtZm9ybS1jb250ZW50IC5uZi1wcmV2aW91cy1pdGVtIC5uZi1wcmV2aW91cywgLm5mLWZvcm0tY29udGVudCAubmYtcHJldmlvdXMtaXRlbSAuYWN0aW9uLmlzLXJlY2FwdGNoYSAubmYtcHJldmlvdXMsIC5hY3Rpb24uaXMtcmVjYXB0Y2hhIC5uZi1mb3JtLWNvbnRlbnQgLm5mLXByZXZpb3VzLWl0ZW0gLm5mLW5leHQsIC5uZi1mb3JtLWNvbnRlbnQgLm5mLXByZXZpb3VzLWl0ZW0gLmFjdGlvbi5pcy1yZWNhcHRjaGEgLm5mLW5leHQsIC5hY3Rpb24uaXMtcmVjYXB0Y2hhIC5uZi1mb3JtLWNvbnRlbnQgLm5mLW5leHQtaXRlbSAubmYtcHJldmlvdXMsIC5uZi1mb3JtLWNvbnRlbnQgLm5mLW5leHQtaXRlbSAuYWN0aW9uLmlzLXJlY2FwdGNoYSAubmYtcHJldmlvdXMsIC5hY3Rpb24uaXMtcmVjYXB0Y2hhIC5uZi1mb3JtLWNvbnRlbnQgLm5mLW5leHQtaXRlbSAubmYtbmV4dCwgLm5mLWZvcm0tY29udGVudCAubmYtbmV4dC1pdGVtIC5hY3Rpb24uaXMtcmVjYXB0Y2hhIC5uZi1uZXh0LCAuYWN0aW9uLmlzLXJlY2FwdGNoYSAubmYtZm9ybS13cmFwIC5zdWJtaXQtY29udGFpbmVyIC5uZi1maWVsZC1lbGVtZW50IGlucHV0LCAubmYtZm9ybS13cmFwIC5zdWJtaXQtY29udGFpbmVyIC5uZi1maWVsZC1lbGVtZW50IC5hY3Rpb24uaXMtcmVjYXB0Y2hhIGlucHV0LCAuYWN0aW9uLmlzLXJlY2FwdGNoYSAubmYtZm9ybS13cmFwIC5ubWMtcmVnaXN0ZXItc3VibWl0IC5uZi1maWVsZC1lbGVtZW50IGlucHV0LCAubmYtZm9ybS13cmFwIC5ubWMtcmVnaXN0ZXItc3VibWl0IC5uZi1maWVsZC1lbGVtZW50IC5hY3Rpb24uaXMtcmVjYXB0Y2hhIGlucHV0IHtcbiAgICAgIG1hcmdpbi10b3A6IDEuODc1cmVtOyB9IH1cblxuLmlucHV0IHtcbiAgZm9udC1zaXplOiAwLjgxMjVyZW07XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gIGNvbG9yOiAjMjAyMTI0OyB9XG4gIC5pbnB1dDotbW96LXBsYWNlaG9sZGVyIHtcbiAgICBjb2xvcjogcmdiYSgzMiwgMzMsIDM2LCAwLjUpOyB9XG4gIC5pbnB1dDo6LW1vei1wbGFjZWhvbGRlciB7XG4gICAgY29sb3I6IHJnYmEoMzIsIDMzLCAzNiwgMC41KTsgfVxuICAuaW5wdXQ6LW1zLWlucHV0LXBsYWNlaG9sZGVyIHtcbiAgICBjb2xvcjogcmdiYSgzMiwgMzMsIDM2LCAwLjUpOyB9XG4gIC5pbnB1dDo6LXdlYmtpdC1pbnB1dC1wbGFjZWhvbGRlciB7XG4gICAgY29sb3I6IHJnYmEoMzIsIDMzLCAzNiwgMC41KTsgfVxuICAuaW5wdXQtLXRleHQge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIHBhZGRpbmc6IDEuMjVyZW0gMy4xMjVyZW07XG4gICAgYm9yZGVyOiBub25lO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmZmZmY7IH1cbiAgLmlucHV0LS1jaGVja2JveCwgLmlucHV0LS1yYWRpbyB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHotaW5kZXg6IDA7XG4gICAgd2lkdGg6IDA7XG4gICAgaGVpZ2h0OiAwO1xuICAgIG9wYWNpdHk6IDA7IH1cbiAgICAuaW5wdXQtLWNoZWNrYm94OmNoZWNrZWQgKyBsYWJlbDo6YWZ0ZXIsIC5pbnB1dC0tcmFkaW86Y2hlY2tlZCArIGxhYmVsOjphZnRlciB7XG4gICAgICBvcGFjaXR5OiAxOyB9XG4gIC5pbnB1dDpmb2N1cyB7XG4gICAgb3V0bGluZTogbm9uZTsgfVxuICAuaW5wdXQtLWRhcmtlbiB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2Y4ZjhmODsgfVxuXG50ZXh0YXJlYSB7XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IDE1MHB4O1xuICBib3JkZXI6IDFweCBzb2xpZCAjZWJlYmViO1xuICByZXNpemU6IHZlcnRpY2FsO1xuICBvdXRsaW5lOiBub25lO1xuICBwYWRkaW5nOiAxZW07XG4gIGxpbmUtaGVpZ2h0OiAxLjU7IH1cblxuLmxhYmVsLCAucGFnZSAuY2hlY2tib3gtd3JhcCBsYWJlbCwgLnBhZ2UgLmxpc3QtY2hlY2tib3gtd3JhcCB1bCBsYWJlbCB7XG4gIGZvbnQtc2l6ZTogMC44MTI1cmVtO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgbGV0dGVyLXNwYWNpbmc6IDAuMDMxMjVyZW07XG4gIGNvbG9yOiByZ2JhKDMyLCAzMywgMzYsIDAuNSk7IH1cbiAgLmxhYmVsLS1oaWRkZW4ge1xuICAgIGZvbnQ6IDAvMCBhO1xuICAgIGNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICBib3JkZXI6IDA7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgdGV4dC1zaGFkb3c6IG5vbmU7XG4gICAgcG9zaXRpb246IGFic29sdXRlOyB9XG4gIC5sYWJlbC0tY2VudGVyIHtcbiAgICBsZWZ0OiA1MCU7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtNTAlLCAwLCAwKTsgfVxuICAubGFiZWwtLWNoZWNrYm94LCAucGFnZSAuY2hlY2tib3gtd3JhcCBsYWJlbCwgLnBhZ2UgLmxpc3QtY2hlY2tib3gtd3JhcCB1bCBsYWJlbCwgLmxhYmVsLS1yYWRpbyB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIHBhZGRpbmctbGVmdDogMjhweDsgfVxuICAgIC5sYWJlbC0tY2hlY2tib3g6OmJlZm9yZSwgLnBhZ2UgLmNoZWNrYm94LXdyYXAgbGFiZWw6OmJlZm9yZSwgLnBhZ2UgLmxpc3QtY2hlY2tib3gtd3JhcCB1bCBsYWJlbDo6YmVmb3JlLCAubGFiZWwtLXJhZGlvOjpiZWZvcmUge1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgdG9wOiAycHg7XG4gICAgICBsZWZ0OiAwO1xuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICAgIHdpZHRoOiAxOHB4O1xuICAgICAgaGVpZ2h0OiAxOHB4O1xuICAgICAgY29udGVudDogXCJcIjtcbiAgICAgIHZlcnRpY2FsLWFsaWduOiB0b3A7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmZmZmOyB9XG4gICAgLmxhYmVsLS1jaGVja2JveDo6YWZ0ZXIsIC5wYWdlIC5jaGVja2JveC13cmFwIGxhYmVsOjphZnRlciwgLnBhZ2UgLmxpc3QtY2hlY2tib3gtd3JhcCB1bCBsYWJlbDo6YWZ0ZXIsIC5sYWJlbC0tcmFkaW86OmFmdGVyIHtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHRvcDogOHB4O1xuICAgICAgbGVmdDogNnB4O1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICB3aWR0aDogNXB4O1xuICAgICAgaGVpZ2h0OiA1cHg7XG4gICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgdHJhbnNpdGlvbjogb3BhY2l0eSAwLjJzIGN1YmljLWJlemllcigwLjQ1NSwgMC4wMywgMC41MTUsIDAuOTU1KTtcbiAgICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gICAgICBvcGFjaXR5OiAwO1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2Y3NjUwMDsgfVxuICAgIC5sYWJlbC0tY2hlY2tib3gtLWRhcmtlbjo6YmVmb3JlLCAubGFiZWwtLXJhZGlvLS1kYXJrZW46OmJlZm9yZSB7XG4gICAgICBib3JkZXI6IDFweCBzb2xpZCAjYTdhN2E4OyB9XG4gIC5sYWJlbC0tcmFkaW86OmJlZm9yZSB7XG4gICAgYm9yZGVyLXJhZGl1czogNTAlOyB9XG4gIC5sYWJlbC0tcmFkaW86OmFmdGVyIHtcbiAgICBib3JkZXItcmFkaXVzOiA1MCU7IH1cblxuLyoqKioqKioqKioqKioqKioqKioqKioqKipcbkZvcm0gTWVzc2FnZVxuKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi5ub29fX2Zvcm1fX21lc3NhZ2Uge1xuICBmb250LXNpemU6IDE0cHg7XG4gIGxpbmUtaGVpZ2h0OiAxLjU7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAxMDAlO1xuICBsZWZ0OiA1MCU7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgbWluLXdpZHRoOiAyMDBweDtcbiAgbWF4LXdpZHRoOiA1MDBweDtcbiAgcGFkZGluZzogOHB4IDMwcHg7XG4gIG1hcmdpbjogMDtcbiAgbWFyZ2luLXRvcDogLTEwcHg7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTUwJSwgMCwgMCk7XG4gIGNvbG9yOiAjZmZmZmZmO1xuICBib3JkZXItcmFkaXVzOiA1cHg7XG4gIGJhY2tncm91bmQ6ICNmNzY1MDA7XG4gIGJveC1zaGFkb3c6IDAgMTVweCA2cHggLTEwcHggcmdiYSgxMjAsIDI1LCAyNSwgMC4xKTsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA2MDBweHB4KSB7XG4gICAgLm5vb19fZm9ybV9fbWVzc2FnZSB7XG4gICAgICB3aWR0aDogMTAwJTsgfSB9XG4gIC5ub29fX2Zvcm1fX21lc3NhZ2U6OmJlZm9yZSB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMDtcbiAgICBsZWZ0OiA1MCU7XG4gICAgd2lkdGg6IDA7XG4gICAgaGVpZ2h0OiAwO1xuICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtNTAlLCAtMTAwJSwgMCk7XG4gICAgYm9yZGVyLXJpZ2h0OiA1cHggc29saWQgdHJhbnNwYXJlbnQ7XG4gICAgYm9yZGVyLWJvdHRvbTogNXB4IHNvbGlkICNmNzY1MDA7XG4gICAgYm9yZGVyLWxlZnQ6IDVweCBzb2xpZCB0cmFuc3BhcmVudDsgfVxuICAubm9vX19mb3JtX19tZXNzYWdlLmlzLXN1Y2Nlc3Mge1xuICAgIGJhY2tncm91bmQ6ICMyNmEwNTE7XG4gICAgYm94LXNoYWRvdzogMCAxNXB4IDZweCAtMTBweCByZ2JhKDM4LCAxNjAsIDgxLCAwLjEpOyB9XG4gICAgLm5vb19fZm9ybV9fbWVzc2FnZS5pcy1zdWNjZXNzOjpiZWZvcmUge1xuICAgICAgYm9yZGVyLWJvdHRvbS1jb2xvcjogIzI2YTA1MTsgfVxuICAubm9vX19mb3JtX19tZXNzYWdlLi0tZXJyb3Ige1xuICAgIGFuaW1hdGlvbjogc3dpbmdfc2hvdyAwLjM1cyBjdWJpYy1iZXppZXIoMC45NSwgMC4wNSwgMC43OTUsIDAuMDM1KTtcbiAgICBtYXJnaW4tYm90dG9tOiBhdXRvO1xuICAgIGNvbG9yOiAjZjc2NTAwOyB9XG5cbi8qKioqKioqKioqKioqKioqKioqKioqKioqXG5OSU5KQSBGT1JNU1xuKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi5uZi1mb3JtLXdyYXAge1xuICBtYXJnaW46IDMuMTI1cmVtIDA7IH1cbiAgLm5mLWZvcm0td3JhcDpiZWZvcmUsIC5uZi1mb3JtLXdyYXA6YWZ0ZXIge1xuICAgIGRpc3BsYXk6IHRhYmxlO1xuICAgIC8qIDIgKi9cbiAgICBjb250ZW50OiBcIiBcIjtcbiAgICAvKiAxICovIH1cbiAgLm5mLWZvcm0td3JhcDphZnRlciB7XG4gICAgY2xlYXI6IGJvdGg7IH1cbiAgLm5mLWZvcm0td3JhcCAubmYtZm9ybS1maWVsZHMtcmVxdWlyZWQge1xuICAgIGZvbnQtc2l6ZTogMC44NzVyZW07XG4gICAgZm9udC1zdHlsZTogaXRhbGljO1xuICAgIG1hcmdpbi1ib3R0b206IDAuNjI1cmVtO1xuICAgIHRleHQtYWxpZ246IHJpZ2h0OyB9XG4gIC5uZi1mb3JtLXdyYXAgLm5mLWVycm9yLW1zZyB7XG4gICAgZm9udC1zaXplOiAwLjg3NXJlbTtcbiAgICBmb250LXN0eWxlOiBpdGFsaWM7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNjAwcHgpIHtcbiAgICAubmYtZm9ybS13cmFwIC5zdWJtaXQtY29udGFpbmVyIHtcbiAgICAgIHRleHQtYWxpZ246IGNlbnRlcjsgfSB9XG4gIC5uZi1mb3JtLXdyYXAgLm5mLWZpZWxkLWNvbnRhaW5lciB7XG4gICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICBwYWRkaW5nOiAwOyB9XG4gICAgLm5mLWZvcm0td3JhcCAubmYtZmllbGQtY29udGFpbmVyLm1pZGRsZSB7XG4gICAgICBmbG9hdDogbGVmdDtcbiAgICAgIGNsZWFyOiBub25lO1xuICAgICAgd2lkdGg6IGNhbGMoMTUwcHggKyAoKDEwMCUgLSAzMzBweCkgLyAxMiAqIDYpKTtcbiAgICAgIG1hcmdpbi1yaWdodDogMzBweDsgfVxuICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNjAwcHgpIHtcbiAgICAgICAgLm5mLWZvcm0td3JhcCAubmYtZmllbGQtY29udGFpbmVyLm1pZGRsZSB7XG4gICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgbWFyZ2luLXJpZ2h0OiAwOyB9IH1cbiAgICAgIC5uZi1mb3JtLXdyYXAgLm5mLWZpZWxkLWNvbnRhaW5lci5taWRkbGUtLWxhc3Qge1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IDA7IH1cbiAgICAubmYtZm9ybS13cmFwIC5uZi1maWVsZC1jb250YWluZXIgaW5wdXQ6bm90KFt0eXBlPXN1Ym1pdF0pLFxuICAgIC5uZi1mb3JtLXdyYXAgLm5mLWZpZWxkLWNvbnRhaW5lciB0ZXh0YXJlYSB7XG4gICAgICBmb250LXNpemU6IDAuODEyNXJlbTtcbiAgICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIHBhZGRpbmc6IDEuMjVyZW0gMS4yNXJlbTtcbiAgICAgIGJvcmRlcjogbm9uZTtcbiAgICAgIGNvbG9yOiAjMjAyMTI0O1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZmZmZjsgfVxuICAgICAgLm5mLWZvcm0td3JhcCAubmYtZmllbGQtY29udGFpbmVyIGlucHV0Om5vdChbdHlwZT1zdWJtaXRdKTotbW96LXBsYWNlaG9sZGVyLFxuICAgICAgLm5mLWZvcm0td3JhcCAubmYtZmllbGQtY29udGFpbmVyIHRleHRhcmVhOi1tb3otcGxhY2Vob2xkZXIge1xuICAgICAgICBjb2xvcjogcmdiYSgzMiwgMzMsIDM2LCAwLjUpOyB9XG4gICAgICAubmYtZm9ybS13cmFwIC5uZi1maWVsZC1jb250YWluZXIgaW5wdXQ6bm90KFt0eXBlPXN1Ym1pdF0pOjotbW96LXBsYWNlaG9sZGVyLFxuICAgICAgLm5mLWZvcm0td3JhcCAubmYtZmllbGQtY29udGFpbmVyIHRleHRhcmVhOjotbW96LXBsYWNlaG9sZGVyIHtcbiAgICAgICAgY29sb3I6IHJnYmEoMzIsIDMzLCAzNiwgMC41KTsgfVxuICAgICAgLm5mLWZvcm0td3JhcCAubmYtZmllbGQtY29udGFpbmVyIGlucHV0Om5vdChbdHlwZT1zdWJtaXRdKTotbXMtaW5wdXQtcGxhY2Vob2xkZXIsXG4gICAgICAubmYtZm9ybS13cmFwIC5uZi1maWVsZC1jb250YWluZXIgdGV4dGFyZWE6LW1zLWlucHV0LXBsYWNlaG9sZGVyIHtcbiAgICAgICAgY29sb3I6IHJnYmEoMzIsIDMzLCAzNiwgMC41KTsgfVxuICAgICAgLm5mLWZvcm0td3JhcCAubmYtZmllbGQtY29udGFpbmVyIGlucHV0Om5vdChbdHlwZT1zdWJtaXRdKTo6LXdlYmtpdC1pbnB1dC1wbGFjZWhvbGRlcixcbiAgICAgIC5uZi1mb3JtLXdyYXAgLm5mLWZpZWxkLWNvbnRhaW5lciB0ZXh0YXJlYTo6LXdlYmtpdC1pbnB1dC1wbGFjZWhvbGRlciB7XG4gICAgICAgIGNvbG9yOiByZ2JhKDMyLCAzMywgMzYsIDAuNSk7IH1cbiAgICAgIC5wYWdlX19hY2NvdW50IC5uZi1mb3JtLXdyYXAgLm5mLWZpZWxkLWNvbnRhaW5lciBpbnB1dDpub3QoW3R5cGU9c3VibWl0XSksIC5wYWdlX19hY2NvdW50XG4gICAgICAubmYtZm9ybS13cmFwIC5uZi1maWVsZC1jb250YWluZXIgdGV4dGFyZWEge1xuICAgICAgICBjb2xvcjogIzIwMjEyNDtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2Y4ZjhmODsgfVxuICAgICAgLm5mLWZvcm0td3JhcCAubmYtZmllbGQtY29udGFpbmVyIGlucHV0Om5vdChbdHlwZT1zdWJtaXRdKTpmb2N1cyxcbiAgICAgIC5uZi1mb3JtLXdyYXAgLm5mLWZpZWxkLWNvbnRhaW5lciB0ZXh0YXJlYTpmb2N1cyB7XG4gICAgICAgIG91dGxpbmU6IG5vbmU7IH1cbiAgICAubmYtZm9ybS13cmFwIC5uZi1maWVsZC1jb250YWluZXIgdGV4dGFyZWEge1xuICAgICAgbGluZS1oZWlnaHQ6IDEuNjtcbiAgICAgIHJlc2l6ZTogdmVydGljYWw7IH1cbiAgICAubmYtZm9ybS13cmFwIC5uZi1maWVsZC1jb250YWluZXIgaW5wdXRbdHlwZT1cImJ1dHRvblwiXSB7XG4gICAgICBsaW5lLWhlaWdodDogMy43NXJlbTtcbiAgICAgIGhlaWdodDogMy43NXJlbTtcbiAgICAgIG1hcmdpbi10b3A6IDAuNDM3NXJlbTtcbiAgICAgIHBhZGRpbmc6IDAgMS41NjI1cmVtO1xuICAgICAgY29sb3I6ICNmZmZmZmY7XG4gICAgICBiYWNrZ3JvdW5kOiAjZjc2NTAwOyB9XG4gIC5uZi1mb3JtLXdyYXAgLm5mLWZpZWxkLWVsZW1lbnQgc2VsZWN0IHtcbiAgICAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7XG4gICAgLW1vei1hcHBlYXJhbmNlOiBub25lO1xuICAgIGFwcGVhcmFuY2U6IG5vbmU7XG4gICAgYm9yZGVyOiBub25lO1xuICAgIG91dGxpbmU6IG5vbmU7XG4gICAgaGVpZ2h0OiA1NHB4O1xuICAgIHBhZGRpbmctbGVmdDogMS41ZW07XG4gICAgZm9udC1zaXplOiAwLjgxMjVyZW07XG4gICAgY29sb3I6ICMyMDIxMjQ7XG4gICAgY29sb3I6IHJnYmEoMzIsIDMzLCAzNiwgMC41KTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmZmZmOyB9XG4gICAgLnBhZ2VfX2FjY291bnQgLm5mLWZvcm0td3JhcCAubmYtZmllbGQtZWxlbWVudCBzZWxlY3Qge1xuICAgICAgY29sb3I6ICMyMDIxMjQ7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjhmOGY4OyB9XG5cbi5jb250YWN0LWNhdGVnb3J5LWNob29zZSAubmYtZmllbGQtZWxlbWVudCBsaTpsYXN0LWNoaWxkIHtcbiAgbWFyZ2luLXRvcDogMS4zZW0gIWltcG9ydGFudDsgfVxuXG4ubmYtZm9ybS1jb250ZW50IC5uZi1uZXh0LXByZXZpb3VzIHtcbiAgbWFyZ2luOiAwICFpbXBvcnRhbnQ7IH1cblxuLm5mLWZvcm0tY29udGVudCAubmYtcHJldmlvdXMtaXRlbTpiZWZvcmUsIC5uZi1mb3JtLWNvbnRlbnQgLm5mLXByZXZpb3VzLWl0ZW06YWZ0ZXIsIC5uZi1mb3JtLWNvbnRlbnQgLm5mLW5leHQtaXRlbTpiZWZvcmUsIC5uZi1mb3JtLWNvbnRlbnQgLm5mLW5leHQtaXRlbTphZnRlciB7XG4gIGRpc3BsYXk6IG5vbmU7IH1cblxuLm5mLWZvcm0tY29udGVudCAubmYtcHJldmlvdXMtaXRlbSAubmYtcHJldmlvdXMsIC5uZi1mb3JtLWNvbnRlbnQgLm5mLXByZXZpb3VzLWl0ZW0gLm5mLW5leHQsIC5uZi1mb3JtLWNvbnRlbnQgLm5mLW5leHQtaXRlbSAubmYtcHJldmlvdXMsIC5uZi1mb3JtLWNvbnRlbnQgLm5mLW5leHQtaXRlbSAubmYtbmV4dCB7XG4gIGN1cnNvcjogcG9pbnRlcjsgfVxuXG4ubmYtZm9ybS1jb250ZW50IC5uZi1wcmV2aW91cy1pdGVtIC5uZi1wcmV2aW91cywgLm5mLWZvcm0tY29udGVudCAubmYtbmV4dC1pdGVtIC5uZi1wcmV2aW91cyB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNkOGQ4ZDg7XG4gIGNvbG9yOiAjMjAyMTI0OyB9XG4gIC5uZi1mb3JtLWNvbnRlbnQgLm5mLXByZXZpb3VzLWl0ZW0gLm5mLXByZXZpb3VzOmhvdmVyLCAubmYtZm9ybS1jb250ZW50IC5uZi1wcmV2aW91cy1pdGVtIC5uZi1wcmV2aW91czpmb2N1cywgLm5mLWZvcm0tY29udGVudCAubmYtbmV4dC1pdGVtIC5uZi1wcmV2aW91czpob3ZlciwgLm5mLWZvcm0tY29udGVudCAubmYtbmV4dC1pdGVtIC5uZi1wcmV2aW91czpmb2N1cyB7XG4gICAgY29sb3I6ICNmZmZmZmY7IH1cblxuLm5mLWZvcm0td3JhcCAuc3VibWl0LWNvbnRhaW5lciAubmYtZmllbGQtZWxlbWVudCBpbnB1dCB7XG4gIGN1cnNvcjogcG9pbnRlcjsgfVxuXG4ubmYtZm9ybS13cmFwIC5ubWMtcmVnaXN0ZXItc3VibWl0IHtcbiAgbWFyZ2luLWJvdHRvbTogMCAhaW1wb3J0YW50OyB9XG4gIC5uZi1mb3JtLXdyYXAgLm5tYy1yZWdpc3Rlci1zdWJtaXQgLm5mLWZpZWxkIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgcmlnaHQ6IDA7IH1cbiAgLm5mLWZvcm0td3JhcCAubm1jLXJlZ2lzdGVyLXN1Ym1pdCAubmYtZmllbGQtZWxlbWVudCBpbnB1dCB7XG4gICAgY3Vyc29yOiBwb2ludGVyOyB9XG5cbi5kay1zZWxlY3QsXG4uZGstc2VsZWN0ICosXG4uZGstc2VsZWN0ICo6YmVmb3JlLFxuLmRrLXNlbGVjdCAqOmFmdGVyLFxuLmRrLXNlbGVjdC1tdWx0aSxcbi5kay1zZWxlY3QtbXVsdGkgKixcbi5kay1zZWxlY3QtbXVsdGkgKjpiZWZvcmUsXG4uZGstc2VsZWN0LW11bHRpICo6YWZ0ZXIge1xuICAtd2Via2l0LWJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gIC1tb3otYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDsgfVxuXG4uZGstc2VsZWN0LFxuLmRrLXNlbGVjdC1tdWx0aSB7XG4gIGxpbmUtaGVpZ2h0OiA1MHB4O1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgd2lkdGg6IDEwMCU7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgbGV0dGVyLXNwYWNpbmc6IDJweDtcbiAgY29sb3I6IHJnYmEoMzIsIDMzLCAzNiwgMC41KTtcbiAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgZm9udC1zaXplOiAxM3B4O1xuICBmb250LWZhbWlseTogXCJmdXR1cmEtcHRcIiwgRnV0dXJhLCBcIlRyZWJ1Y2hldCBNU1wiLCBBcmlhbCwgc2Fucy1zZXJpZjsgfVxuICAuZGstc2VsZWN0IC5kay1vcHRpb246YmVmb3JlLFxuICAuZGstc2VsZWN0LW11bHRpIC5kay1vcHRpb246YmVmb3JlIHtcbiAgICBjb250ZW50OiAnJztcbiAgICBkaXNwbGF5OiBub25lOyB9XG5cbi5kay1zZWxlY3RlZCwgc2VsZWN0IHtcbiAgaGVpZ2h0OiA1NHB4O1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIHdpZHRoOiAxMDAlO1xuICBsaW5lLWhlaWdodDogMTtcbiAgZm9udC1zaXplOiAxM3B4O1xuICBwYWRkaW5nOiAxOHB4IDIwcHg7XG4gIHBhZGRpbmctcmlnaHQ6IDIuNWVtO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmZmZmO1xuICBjb2xvcjogIzIwMjEyNDsgfVxuICAuZGstc2VsZWN0ZWQ6YmVmb3JlLCBzZWxlY3Q6YmVmb3JlIHtcbiAgICBmb250LXNpemU6IDZweDtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgcmlnaHQ6IDIwcHg7XG4gICAgdG9wOiAyMHB4O1xuICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICAgIGNvbG9yOiByZ2JhKDMyLCAzMywgMzYsIDAuNSk7IH1cblxuLmRrLXNlbGVjdGVkOmJlZm9yZSwgc2VsZWN0OmJlZm9yZSxcbi5kay1zZWxlY3RlZDphZnRlcixcbnNlbGVjdDphZnRlciB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgcmlnaHQ6IDA7XG4gIGRpc3BsYXk6IGJsb2NrOyB9XG5cbi5kay1zZWxlY3RlZDpiZWZvcmUsIHNlbGVjdDpiZWZvcmUge1xuICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlKDAsIC01MCUpO1xuICAtbXMtdHJhbnNmb3JtOiB0cmFuc2xhdGUoMCwgLTUwJSk7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlKDAsIC01MCUpO1xuICAtd2Via2l0LXRyYW5zaXRpb246IHRyYW5zZm9ybSAwLjJzIGVhc2Utb3V0O1xuICAtbW96LXRyYW5zaXRpb246IHRyYW5zZm9ybSAwLjJzIGVhc2Utb3V0O1xuICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMC4ycyBlYXNlLW91dDtcbiAgdG9wOiA1MCU7XG4gIHJpZ2h0OiAyMHB4O1xuICBmb250LXNpemU6IDRweDtcbiAgY29sb3I6ICNmNzY1MDA7IH1cblxuLmRrLXNlbGVjdC1vcGVuLWRvd24ge1xuICB6LWluZGV4OiA1MDA7IH1cblxuLmRrLXNlbGVjdC1vcGVuLWRvd24gLmRrLXNlbGVjdGVkOmJlZm9yZSwgLmRrLXNlbGVjdC1vcGVuLWRvd24gc2VsZWN0OmJlZm9yZSB7XG4gIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUoMCwgLTUwJSkgcm90YXRlKDE4MGRlZyk7XG4gIC1tcy10cmFuc2Zvcm06IHRyYW5zbGF0ZSgwLCAtNTAlKSByb3RhdGUoMTgwZGVnKTtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoMCwgLTUwJSkgcm90YXRlKDE4MGRlZyk7XG4gIGNvbG9yOiAjZmZmZmZmOyB9XG5cbi5kay1zZWxlY3QgLmRrLXNlbGVjdC1vcHRpb25zIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICByaWdodDogMDtcbiAgbGVmdDogMDtcbiAgZGlzcGxheTogbm9uZTtcbiAgcGFkZGluZzogMDsgfVxuXG4uZGstc2VsZWN0LW9wZW4tdXAgLmRrLXNlbGVjdC1vcHRpb25zIHtcbiAgYm90dG9tOiAxMDAlO1xuICBtYXJnaW4tYm90dG9tOiAtMXB4OyB9XG5cbi5kay1zZWxlY3Qtb3Blbi1kb3duIC5kay1zZWxlY3Qtb3B0aW9ucyB7XG4gIHRvcDogMTAwJTsgfVxuXG4uZGstc2VsZWN0LW11bHRpIC5kay1zZWxlY3Qtb3B0aW9ucyB7XG4gIG1heC1oZWlnaHQ6IDEwZW07IH1cblxuLmRrLXNlbGVjdC1vcHRpb25zIHtcbiAgZm9udC1zaXplOiAxNHB4O1xuICB6LWluZGV4OiAxMDA7XG4gIG92ZXJmbG93LXg6IGhpZGRlbjtcbiAgb3ZlcmZsb3cteTogYXV0bztcbiAgLXdlYmtpdC1vdmVyZmxvdy1zY3JvbGxpbmc6IHRvdWNoO1xuICB3aWR0aDogYXV0bztcbiAgbWluLXdpZHRoOiAxMDAlO1xuICBtYXgtaGVpZ2h0OiAyNzVweDtcbiAgbWFyZ2luOiAwO1xuICBsaXN0LXN0eWxlOiBub25lO1xuICBib3gtc2hhZG93OiAwIDEwcHggMTBweCAjZWJlYmViO1xuICBib3gtc2hhZG93OiAwIDVweCAxMHB4IHJnYmEoMjM1LCAyMzUsIDIzNSwgMC41KTtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZmZmZjsgfVxuICAuZGstc2VsZWN0LW9wdGlvbnM6Oi13ZWJraXQtc2Nyb2xsYmFyIHtcbiAgICB3aWR0aDogOXB4OyB9XG4gIC5kay1zZWxlY3Qtb3B0aW9uczo6LXdlYmtpdC1zY3JvbGxiYXItdHJhY2sge1xuICAgIC13ZWJraXQtYm9yZGVyLXJhZGl1czogNXB4O1xuICAgIGJvcmRlci1yYWRpdXM6IDVweDtcbiAgICBiYWNrZ3JvdW5kOiByZ2JhKDMyLCAzMywgMzYsIDAuMSk7IH1cbiAgLmRrLXNlbGVjdC1vcHRpb25zOjotd2Via2l0LXNjcm9sbGJhci10aHVtYiB7XG4gICAgLXdlYmtpdC1ib3JkZXItcmFkaXVzOiA1cHg7XG4gICAgYm9yZGVyLXJhZGl1czogNXB4O1xuICAgIGJhY2tncm91bmQ6IHJnYmEoMzIsIDMzLCAzNiwgMC4yKTsgfVxuICAuZGstc2VsZWN0LW9wdGlvbnM6Oi13ZWJraXQtc2Nyb2xsYmFyLXRodW1iOmhvdmVyIHtcbiAgICBiYWNrZ3JvdW5kOiByZ2JhKDMyLCAzMywgMzYsIDAuNCk7IH1cbiAgLmRrLXNlbGVjdC1vcHRpb25zOjotd2Via2l0LXNjcm9sbGJhci10aHVtYjp3aW5kb3ctaW5hY3RpdmUge1xuICAgIGJhY2tncm91bmQ6IHJnYmEoMzIsIDMzLCAzNiwgMC4wNSk7IH1cblxuLmRrLW9wdGlvbi1zZWxlY3RlZCB7XG4gIGNvbG9yOiAjZmZmZmZmO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjc2NTAwOyB9XG5cbi5kay1zZWxlY3Qtb3B0aW9ucy1oaWdobGlnaHQgLmRrLW9wdGlvbi1zZWxlY3RlZCB7XG4gIGNvbG9yOiBpbmhlcml0O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDsgfVxuXG4uZGstb3B0aW9uIHtcbiAgcGFkZGluZzogMCAyMHB4OyB9XG5cbi5kay1zZWxlY3Qtb3B0aW9ucyAuZGstb3B0aW9uLWhpZ2hsaWdodCB7XG4gIGNvbG9yOiAjZmZmZmZmO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjc2NTAwOyB9XG5cbi5kay1zZWxlY3Qtb3B0aW9ucyAuZGstb3B0aW9uLWRpc2FibGVkIHtcbiAgY29sb3I6ICNiYmJiYmI7IH1cblxuLmRrLW9wdGdyb3VwIHtcbiAgbWFyZ2luLXRvcDogLjI1ZW07XG4gIHBhZGRpbmc6IC4yNWVtIDA7XG4gIGJvcmRlcjogc29saWQgI2NjY2NjYztcbiAgYm9yZGVyLXdpZHRoOiAxcHggMDsgfVxuXG4uZGstb3B0Z3JvdXAgKyAuZGstb3B0aW9uIHtcbiAgbWFyZ2luLXRvcDogLjI1ZW07IH1cblxuLmRrLW9wdGdyb3VwICsgLmRrLW9wdGdyb3VwIHtcbiAgbWFyZ2luLXRvcDogMDtcbiAgYm9yZGVyLXRvcC13aWR0aDogMDsgfVxuXG4uZGstb3B0Z3JvdXA6bnRoLWNoaWxkKDIpIHtcbiAgbWFyZ2luLXRvcDogMDtcbiAgcGFkZGluZy10b3A6IDA7XG4gIGJvcmRlci10b3A6IG5vbmU7IH1cblxuLmRrLW9wdGdyb3VwOmxhc3QtY2hpbGQge1xuICBtYXJnaW4tYm90dG9tOiAwO1xuICBwYWRkaW5nLWJvdHRvbTogMDtcbiAgYm9yZGVyLWJvdHRvbS13aWR0aDogMDsgfVxuXG4uZGstb3B0Z3JvdXAtbGFiZWwge1xuICBmb250LXNpemU6IDE2cHg7XG4gIGZvbnQtd2VpZ2h0OiBib2xkO1xuICBkaXNwbGF5OiBibG9jaztcbiAgd2lkdGg6IDEwMCU7XG4gIHBhZGRpbmc6IDAgMjBweCAxMHB4OyB9XG5cbi5kay1vcHRncm91cC1vcHRpb25zIHtcbiAgcGFkZGluZy1sZWZ0OiAwO1xuICBsaXN0LXN0eWxlOiBub25lOyB9XG5cbi5kay1vcHRncm91cC1vcHRpb25zIGxpIHtcbiAgcGFkZGluZy1sZWZ0OiAxLjJlbTsgfVxuXG4uZGstc2VsZWN0LW9wZW4tdXAgLmRrLXNlbGVjdGVkLCAuZGstc2VsZWN0LW9wZW4tdXAgc2VsZWN0IHtcbiAgYm9yZGVyLWNvbG9yOiAjZjc2NTAwO1xuICBib3JkZXItdG9wLWxlZnQtcmFkaXVzOiAwO1xuICBib3JkZXItdG9wLXJpZ2h0LXJhZGl1czogMDsgfVxuXG4uZGstc2VsZWN0LW9wZW4tZG93biAuZGstc2VsZWN0ZWQsIC5kay1zZWxlY3Qtb3Blbi1kb3duIHNlbGVjdCB7XG4gIC13ZWJraXQtYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgLW1vei1ib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICBjb2xvcjogI2ZmZmZmZjtcbiAgYmFja2dyb3VuZDogI2Y3NjUwMDsgfVxuXG4uZGstc2VsZWN0LW9wZW4tdXAgLmRrLXNlbGVjdGVkOmJlZm9yZSwgLmRrLXNlbGVjdC1vcGVuLXVwIHNlbGVjdDpiZWZvcmUsIC5kay1zZWxlY3Qtb3Blbi1kb3duIC5kay1zZWxlY3RlZDpiZWZvcmUsIC5kay1zZWxlY3Qtb3Blbi1kb3duIHNlbGVjdDpiZWZvcmUge1xuICBib3JkZXItd2lkdGg6IDAgLjI1ZW0gLjI1ZW07XG4gIGJvcmRlci1ib3R0b20tY29sb3I6ICNmNzY1MDA7IH1cblxuLmRrLXNlbGVjdC1vcGVuLXVwIC5kay1zZWxlY3RlZDphZnRlciwgLmRrLXNlbGVjdC1vcGVuLXVwIHNlbGVjdDphZnRlcixcbi5kay1zZWxlY3Qtb3Blbi1kb3duIC5kay1zZWxlY3RlZDphZnRlcixcbi5kay1zZWxlY3Qtb3Blbi1kb3duIHNlbGVjdDphZnRlciB7XG4gIGJvcmRlci1sZWZ0LWNvbG9yOiAjZjc2NTAwOyB9XG5cbi5kay1zZWxlY3Qtb3Blbi11cCAuZGstc2VsZWN0LW9wdGlvbnMsXG4uZGstc2VsZWN0LW9wZW4tZG93biAuZGstc2VsZWN0LW9wdGlvbnMsXG4uZGstc2VsZWN0LW11bHRpOmZvY3VzIC5kay1zZWxlY3Qtb3B0aW9ucyB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBib3JkZXItY29sb3I6ICNmNzY1MDA7IH1cblxuLmRrLXNlbGVjdC1tdWx0aTpob3Zlcixcbi5kay1zZWxlY3QtbXVsdGk6Zm9jdXMge1xuICBvdXRsaW5lOiBub25lOyB9XG5cbi5kay1zZWxlY3RlZDpob3Zlciwgc2VsZWN0OmhvdmVyLFxuLmRrLXNlbGVjdGVkOmZvY3VzLFxuc2VsZWN0OmZvY3VzIHtcbiAgYm9yZGVyLWNvbG9yOiAjZjc2NTAwO1xuICBvdXRsaW5lOiBub25lOyB9XG5cbi5kay1zZWxlY3RlZDpob3ZlcjpiZWZvcmUsIHNlbGVjdDpob3ZlcjpiZWZvcmUsXG4uZGstc2VsZWN0ZWQ6Zm9jdXM6YmVmb3JlLFxuc2VsZWN0OmZvY3VzOmJlZm9yZSB7XG4gIGJvcmRlci10b3AtY29sb3I6ICNmNzY1MDA7IH1cblxuLmRrLXNlbGVjdGVkOmhvdmVyOmFmdGVyLCBzZWxlY3Q6aG92ZXI6YWZ0ZXIsXG4uZGstc2VsZWN0ZWQ6Zm9jdXM6YWZ0ZXIsXG5zZWxlY3Q6Zm9jdXM6YWZ0ZXIge1xuICBib3JkZXItbGVmdC1jb2xvcjogI2Y3NjUwMDsgfVxuXG4uZGstc2VsZWN0LWRpc2FibGVkIHtcbiAgY3Vyc29yOiBub3QtYWxsb3dlZDtcbiAgb3BhY2l0eTogLjY7XG4gIGNvbG9yOiAjYmJiYmJiOyB9XG5cbi5kay1zZWxlY3QtZGlzYWJsZWQgLmRrLXNlbGVjdGVkOmhvdmVyLCAuZGstc2VsZWN0LWRpc2FibGVkIHNlbGVjdDpob3Zlcixcbi5kay1zZWxlY3QtZGlzYWJsZWQgLmRrLXNlbGVjdGVkOmZvY3VzLFxuLmRrLXNlbGVjdC1kaXNhYmxlZCBzZWxlY3Q6Zm9jdXMge1xuICBib3JkZXItY29sb3I6IGluaGVyaXQ7IH1cblxuLmRrLXNlbGVjdC1kaXNhYmxlZCAuZGstc2VsZWN0ZWQ6aG92ZXI6YmVmb3JlLCAuZGstc2VsZWN0LWRpc2FibGVkIHNlbGVjdDpob3ZlcjpiZWZvcmUsXG4uZGstc2VsZWN0LWRpc2FibGVkIC5kay1zZWxlY3RlZDpmb2N1czpiZWZvcmUsXG4uZGstc2VsZWN0LWRpc2FibGVkIHNlbGVjdDpmb2N1czpiZWZvcmUge1xuICBib3JkZXItdG9wLWNvbG9yOiBpbmhlcml0OyB9XG5cbi5kay1zZWxlY3QtZGlzYWJsZWQgLmRrLXNlbGVjdGVkOmhvdmVyOmFmdGVyLCAuZGstc2VsZWN0LWRpc2FibGVkIHNlbGVjdDpob3ZlcjphZnRlcixcbi5kay1zZWxlY3QtZGlzYWJsZWQgLmRrLXNlbGVjdGVkOmZvY3VzOmFmdGVyLFxuLmRrLXNlbGVjdC1kaXNhYmxlZCBzZWxlY3Q6Zm9jdXM6YWZ0ZXIge1xuICBib3JkZXItbGVmdC1jb2xvcjogaW5oZXJpdDsgfVxuXG5zZWxlY3RbZGF0YS1ka2NhY2hlaWRdIHtcbiAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50OyB9XG5cbi8qXG4gKlxuICogU3R5bGVzIGZvciBEcm9wa2ljayBvcHRncm91cFxuICpcbiAqL1xuLmRrLW9wdGdyb3VwIHtcbiAgbWFyZ2luLXRvcDogMDtcbiAgcGFkZGluZy10b3A6IDA7XG4gIGJvcmRlcjogbm9uZTsgfVxuICAuZGstb3B0Z3JvdXAtbGFiZWwge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmZmZmY7XG4gICAgY29sb3I6ICNlYmViZWI7XG4gICAgZm9udC1zaXplOiAxZW07XG4gICAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgICBwYWRkaW5nLXRvcDogMDtcbiAgICBwYWRkaW5nLWJvdHRvbTogMDsgfVxuXG4vKlxuICpcbiAqIFN0eWxlcyBmb3IgRHJvcGtpY2sgd2l0aCBOaW5qYSBGb3Jtc1xuICpcbiAqL1xuLmxpc3Qtc2VsZWN0LXdyYXAgLmRrLXNlbGVjdCB7XG4gIGRpc3BsYXk6IGJsb2NrOyB9XG4gIC5saXN0LXNlbGVjdC13cmFwIC5kay1zZWxlY3QgZGl2IHtcbiAgICBkaXNwbGF5OiBibG9jazsgfVxuXG4ubmYtZmllbGQgLmRrLXNlbGVjdCB7XG4gIGxpbmUtaGVpZ2h0OiA2MHB4OyB9XG5cbi5uZi1maWVsZCAuZGstc2VsZWN0ZWQsIC5uZi1maWVsZCBzZWxlY3Qge1xuICBwYWRkaW5nLXRvcDogMjBweDtcbiAgcGFkZGluZy1ib3R0b206IDIwcHg7IH1cblxuc2VsZWN0IHtcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lO1xuICAtbW96LWFwcGVhcmFuY2U6IG5vbmU7XG4gIGFwcGVhcmFuY2U6IG5vbmU7XG4gIGJvcmRlcjogbm9uZTsgfVxuXG4uc2VsZWN0Mi1jb250YWluZXIge1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIG1hcmdpbjogMDtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlOyB9XG5cbi5zZWxlY3QyLWNvbnRhaW5lciAuc2VsZWN0Mi1zZWxlY3Rpb24tLXNpbmdsZSB7XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgZGlzcGxheTogYmxvY2s7XG4gIGhlaWdodDogMjhweDtcbiAgdXNlci1zZWxlY3Q6IG5vbmU7XG4gIC13ZWJraXQtdXNlci1zZWxlY3Q6IG5vbmU7IH1cblxuLnNlbGVjdDItY29udGFpbmVyIC5zZWxlY3QyLXNlbGVjdGlvbi0tc2luZ2xlIC5zZWxlY3QyLXNlbGVjdGlvbl9fcmVuZGVyZWQge1xuICBkaXNwbGF5OiBibG9jaztcbiAgcGFkZGluZy1sZWZ0OiA4cHg7XG4gIHBhZGRpbmctcmlnaHQ6IDIwcHg7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzO1xuICB3aGl0ZS1zcGFjZTogbm93cmFwOyB9XG5cbi5zZWxlY3QyLWNvbnRhaW5lciAuc2VsZWN0Mi1zZWxlY3Rpb24tLXNpbmdsZSAuc2VsZWN0Mi1zZWxlY3Rpb25fX2NsZWFyIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlOyB9XG5cbi5zZWxlY3QyLWNvbnRhaW5lcltkaXI9XCJydGxcIl0gLnNlbGVjdDItc2VsZWN0aW9uLS1zaW5nbGUgLnNlbGVjdDItc2VsZWN0aW9uX19yZW5kZXJlZCB7XG4gIHBhZGRpbmctcmlnaHQ6IDhweDtcbiAgcGFkZGluZy1sZWZ0OiAyMHB4OyB9XG5cbi5zZWxlY3QyLWNvbnRhaW5lciAuc2VsZWN0Mi1zZWxlY3Rpb24tLW11bHRpcGxlIHtcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICBkaXNwbGF5OiBibG9jaztcbiAgbWluLWhlaWdodDogMzJweDtcbiAgdXNlci1zZWxlY3Q6IG5vbmU7XG4gIC13ZWJraXQtdXNlci1zZWxlY3Q6IG5vbmU7IH1cblxuLnNlbGVjdDItY29udGFpbmVyIC5zZWxlY3QyLXNlbGVjdGlvbi0tbXVsdGlwbGUgLnNlbGVjdDItc2VsZWN0aW9uX19yZW5kZXJlZCB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgcGFkZGluZy1sZWZ0OiA4cHg7XG4gIHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzO1xuICB3aGl0ZS1zcGFjZTogbm93cmFwOyB9XG5cbi5zZWxlY3QyLWNvbnRhaW5lciAuc2VsZWN0Mi1zZWFyY2gtLWlubGluZSB7XG4gIGZsb2F0OiBsZWZ0OyB9XG5cbi5zZWxlY3QyLWNvbnRhaW5lciAuc2VsZWN0Mi1zZWFyY2gtLWlubGluZSAuc2VsZWN0Mi1zZWFyY2hfX2ZpZWxkIHtcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgYm9yZGVyOiBub25lO1xuICBmb250LXNpemU6IDEwMCU7XG4gIG1hcmdpbi10b3A6IDVweDtcbiAgcGFkZGluZzogMDsgfVxuXG4uc2VsZWN0Mi1jb250YWluZXIgLnNlbGVjdDItc2VhcmNoLS1pbmxpbmUgLnNlbGVjdDItc2VhcmNoX19maWVsZDo6LXdlYmtpdC1zZWFyY2gtY2FuY2VsLWJ1dHRvbiB7XG4gIC13ZWJraXQtYXBwZWFyYW5jZTogbm9uZTsgfVxuXG4uc2VsZWN0Mi1kcm9wZG93biB7XG4gIGJhY2tncm91bmQtY29sb3I6IHdoaXRlO1xuICBib3JkZXI6IDFweCBzb2xpZCAjYWFhO1xuICBib3JkZXItcmFkaXVzOiA0cHg7XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGxlZnQ6IC0xMDAwMDBweDtcbiAgd2lkdGg6IDEwMCU7XG4gIHotaW5kZXg6IDEwNTE7IH1cblxuLnNlbGVjdDItcmVzdWx0cyB7XG4gIGRpc3BsYXk6IGJsb2NrOyB9XG5cbi5zZWxlY3QyLXJlc3VsdHNfX29wdGlvbnMge1xuICBsaXN0LXN0eWxlOiBub25lO1xuICBtYXJnaW46IDA7XG4gIHBhZGRpbmc6IDA7IH1cblxuLnNlbGVjdDItcmVzdWx0c19fb3B0aW9uIHtcbiAgcGFkZGluZzogNnB4O1xuICB1c2VyLXNlbGVjdDogbm9uZTtcbiAgLXdlYmtpdC11c2VyLXNlbGVjdDogbm9uZTsgfVxuXG4uc2VsZWN0Mi1yZXN1bHRzX19vcHRpb25bYXJpYS1zZWxlY3RlZF0ge1xuICBjdXJzb3I6IHBvaW50ZXI7IH1cblxuLnNlbGVjdDItY29udGFpbmVyLS1vcGVuIC5zZWxlY3QyLWRyb3Bkb3duIHtcbiAgbGVmdDogMDsgfVxuXG4uc2VsZWN0Mi1jb250YWluZXItLW9wZW4gLnNlbGVjdDItZHJvcGRvd24tLWFib3ZlIHtcbiAgYm9yZGVyLWJvdHRvbTogbm9uZTtcbiAgYm9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1czogMDtcbiAgYm9yZGVyLWJvdHRvbS1yaWdodC1yYWRpdXM6IDA7IH1cblxuLnNlbGVjdDItY29udGFpbmVyLS1vcGVuIC5zZWxlY3QyLWRyb3Bkb3duLS1iZWxvdyB7XG4gIGJvcmRlci10b3A6IG5vbmU7XG4gIGJvcmRlci10b3AtbGVmdC1yYWRpdXM6IDA7XG4gIGJvcmRlci10b3AtcmlnaHQtcmFkaXVzOiAwOyB9XG5cbi5zZWxlY3QyLXNlYXJjaC0tZHJvcGRvd24ge1xuICBkaXNwbGF5OiBibG9jaztcbiAgcGFkZGluZzogNHB4OyB9XG5cbi5zZWxlY3QyLXNlYXJjaC0tZHJvcGRvd24gLnNlbGVjdDItc2VhcmNoX19maWVsZCB7XG4gIHBhZGRpbmc6IDRweDtcbiAgd2lkdGg6IDEwMCU7XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7IH1cblxuLnNlbGVjdDItc2VhcmNoLS1kcm9wZG93biAuc2VsZWN0Mi1zZWFyY2hfX2ZpZWxkOjotd2Via2l0LXNlYXJjaC1jYW5jZWwtYnV0dG9uIHtcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lOyB9XG5cbi5zZWxlY3QyLXNlYXJjaC0tZHJvcGRvd24uc2VsZWN0Mi1zZWFyY2gtLWhpZGUge1xuICBkaXNwbGF5OiBub25lOyB9XG5cbi5zZWxlY3QyLWNsb3NlLW1hc2sge1xuICBib3JkZXI6IDA7XG4gIG1hcmdpbjogMDtcbiAgcGFkZGluZzogMDtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHBvc2l0aW9uOiBmaXhlZDtcbiAgbGVmdDogMDtcbiAgdG9wOiAwO1xuICBtaW4taGVpZ2h0OiAxMDAlO1xuICBtaW4td2lkdGg6IDEwMCU7XG4gIGhlaWdodDogYXV0bztcbiAgd2lkdGg6IGF1dG87XG4gIG9wYWNpdHk6IDA7XG4gIHotaW5kZXg6IDk5O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xuICBmaWx0ZXI6IGFscGhhKG9wYWNpdHk9MCk7IH1cblxuLnNlbGVjdDItaGlkZGVuLWFjY2Vzc2libGUge1xuICBib3JkZXI6IDAgIWltcG9ydGFudDtcbiAgY2xpcDogcmVjdCgwIDAgMCAwKSAhaW1wb3J0YW50O1xuICBoZWlnaHQ6IDFweCAhaW1wb3J0YW50O1xuICBtYXJnaW46IC0xcHggIWltcG9ydGFudDtcbiAgb3ZlcmZsb3c6IGhpZGRlbiAhaW1wb3J0YW50O1xuICBwYWRkaW5nOiAwICFpbXBvcnRhbnQ7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZSAhaW1wb3J0YW50O1xuICB3aWR0aDogMXB4ICFpbXBvcnRhbnQ7IH1cblxuLnNlbGVjdDItY29udGFpbmVyLS1kZWZhdWx0IC5zZWxlY3QyLXNlbGVjdGlvbi0tc2luZ2xlIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjtcbiAgYm9yZGVyOiAxcHggc29saWQgI2FhYTtcbiAgYm9yZGVyLXJhZGl1czogNHB4OyB9XG5cbi5zZWxlY3QyLWNvbnRhaW5lci0tZGVmYXVsdCAuc2VsZWN0Mi1zZWxlY3Rpb24tLXNpbmdsZSAuc2VsZWN0Mi1zZWxlY3Rpb25fX3JlbmRlcmVkIHtcbiAgY29sb3I6ICM0NDQ7XG4gIGxpbmUtaGVpZ2h0OiAyOHB4OyB9XG5cbi5zZWxlY3QyLWNvbnRhaW5lci0tZGVmYXVsdCAuc2VsZWN0Mi1zZWxlY3Rpb24tLXNpbmdsZSAuc2VsZWN0Mi1zZWxlY3Rpb25fX2NsZWFyIHtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICBmbG9hdDogcmlnaHQ7XG4gIGZvbnQtd2VpZ2h0OiBib2xkOyB9XG5cbi5zZWxlY3QyLWNvbnRhaW5lci0tZGVmYXVsdCAuc2VsZWN0Mi1zZWxlY3Rpb24tLXNpbmdsZSAuc2VsZWN0Mi1zZWxlY3Rpb25fX3BsYWNlaG9sZGVyIHtcbiAgY29sb3I6ICM5OTk7IH1cblxuLnNlbGVjdDItY29udGFpbmVyLS1kZWZhdWx0IC5zZWxlY3QyLXNlbGVjdGlvbi0tc2luZ2xlIC5zZWxlY3QyLXNlbGVjdGlvbl9fYXJyb3cge1xuICBoZWlnaHQ6IDI2cHg7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAxcHg7XG4gIHJpZ2h0OiAxcHg7XG4gIHdpZHRoOiAyMHB4OyB9XG5cbi5zZWxlY3QyLWNvbnRhaW5lci0tZGVmYXVsdCAuc2VsZWN0Mi1zZWxlY3Rpb24tLXNpbmdsZSAuc2VsZWN0Mi1zZWxlY3Rpb25fX2Fycm93IGIge1xuICBib3JkZXItY29sb3I6ICM4ODggdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQ7XG4gIGJvcmRlci1zdHlsZTogc29saWQ7XG4gIGJvcmRlci13aWR0aDogNXB4IDRweCAwIDRweDtcbiAgaGVpZ2h0OiAwO1xuICBsZWZ0OiA1MCU7XG4gIG1hcmdpbi1sZWZ0OiAtNHB4O1xuICBtYXJnaW4tdG9wOiAtMnB4O1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogNTAlO1xuICB3aWR0aDogMDsgfVxuXG4uc2VsZWN0Mi1jb250YWluZXItLWRlZmF1bHRbZGlyPVwicnRsXCJdIC5zZWxlY3QyLXNlbGVjdGlvbi0tc2luZ2xlIC5zZWxlY3QyLXNlbGVjdGlvbl9fY2xlYXIge1xuICBmbG9hdDogbGVmdDsgfVxuXG4uc2VsZWN0Mi1jb250YWluZXItLWRlZmF1bHRbZGlyPVwicnRsXCJdIC5zZWxlY3QyLXNlbGVjdGlvbi0tc2luZ2xlIC5zZWxlY3QyLXNlbGVjdGlvbl9fYXJyb3cge1xuICBsZWZ0OiAxcHg7XG4gIHJpZ2h0OiBhdXRvOyB9XG5cbi5zZWxlY3QyLWNvbnRhaW5lci0tZGVmYXVsdC5zZWxlY3QyLWNvbnRhaW5lci0tZGlzYWJsZWQgLnNlbGVjdDItc2VsZWN0aW9uLS1zaW5nbGUge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZWVlO1xuICBjdXJzb3I6IGRlZmF1bHQ7IH1cblxuLnNlbGVjdDItY29udGFpbmVyLS1kZWZhdWx0LnNlbGVjdDItY29udGFpbmVyLS1kaXNhYmxlZCAuc2VsZWN0Mi1zZWxlY3Rpb24tLXNpbmdsZSAuc2VsZWN0Mi1zZWxlY3Rpb25fX2NsZWFyIHtcbiAgZGlzcGxheTogbm9uZTsgfVxuXG4uc2VsZWN0Mi1jb250YWluZXItLWRlZmF1bHQuc2VsZWN0Mi1jb250YWluZXItLW9wZW4gLnNlbGVjdDItc2VsZWN0aW9uLS1zaW5nbGUgLnNlbGVjdDItc2VsZWN0aW9uX19hcnJvdyBiIHtcbiAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudCB0cmFuc3BhcmVudCAjODg4IHRyYW5zcGFyZW50O1xuICBib3JkZXItd2lkdGg6IDAgNHB4IDVweCA0cHg7IH1cblxuLnNlbGVjdDItY29udGFpbmVyLS1kZWZhdWx0IC5zZWxlY3QyLXNlbGVjdGlvbi0tbXVsdGlwbGUge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB3aGl0ZTtcbiAgYm9yZGVyOiAxcHggc29saWQgI2FhYTtcbiAgYm9yZGVyLXJhZGl1czogNHB4O1xuICBjdXJzb3I6IHRleHQ7IH1cblxuLnNlbGVjdDItY29udGFpbmVyLS1kZWZhdWx0IC5zZWxlY3QyLXNlbGVjdGlvbi0tbXVsdGlwbGUgLnNlbGVjdDItc2VsZWN0aW9uX19yZW5kZXJlZCB7XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gIGxpc3Qtc3R5bGU6IG5vbmU7XG4gIG1hcmdpbjogMDtcbiAgcGFkZGluZzogMCA1cHg7XG4gIHdpZHRoOiAxMDAlOyB9XG5cbi5zZWxlY3QyLWNvbnRhaW5lci0tZGVmYXVsdCAuc2VsZWN0Mi1zZWxlY3Rpb24tLW11bHRpcGxlIC5zZWxlY3QyLXNlbGVjdGlvbl9fcGxhY2Vob2xkZXIge1xuICBjb2xvcjogIzk5OTtcbiAgbWFyZ2luLXRvcDogNXB4O1xuICBmbG9hdDogbGVmdDsgfVxuXG4uc2VsZWN0Mi1jb250YWluZXItLWRlZmF1bHQgLnNlbGVjdDItc2VsZWN0aW9uLS1tdWx0aXBsZSAuc2VsZWN0Mi1zZWxlY3Rpb25fX2NsZWFyIHtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICBmbG9hdDogcmlnaHQ7XG4gIGZvbnQtd2VpZ2h0OiBib2xkO1xuICBtYXJnaW4tdG9wOiA1cHg7XG4gIG1hcmdpbi1yaWdodDogMTBweDsgfVxuXG4uc2VsZWN0Mi1jb250YWluZXItLWRlZmF1bHQgLnNlbGVjdDItc2VsZWN0aW9uLS1tdWx0aXBsZSAuc2VsZWN0Mi1zZWxlY3Rpb25fX2Nob2ljZSB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNlNGU0ZTQ7XG4gIGJvcmRlcjogMXB4IHNvbGlkICNhYWE7XG4gIGJvcmRlci1yYWRpdXM6IDRweDtcbiAgY3Vyc29yOiBkZWZhdWx0O1xuICBmbG9hdDogbGVmdDtcbiAgbWFyZ2luLXJpZ2h0OiA1cHg7XG4gIG1hcmdpbi10b3A6IDVweDtcbiAgcGFkZGluZzogMCA1cHg7IH1cblxuLnNlbGVjdDItY29udGFpbmVyLS1kZWZhdWx0IC5zZWxlY3QyLXNlbGVjdGlvbi0tbXVsdGlwbGUgLnNlbGVjdDItc2VsZWN0aW9uX19jaG9pY2VfX3JlbW92ZSB7XG4gIGNvbG9yOiAjOTk5O1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gIG1hcmdpbi1yaWdodDogMnB4OyB9XG5cbi5zZWxlY3QyLWNvbnRhaW5lci0tZGVmYXVsdCAuc2VsZWN0Mi1zZWxlY3Rpb24tLW11bHRpcGxlIC5zZWxlY3QyLXNlbGVjdGlvbl9fY2hvaWNlX19yZW1vdmU6aG92ZXIge1xuICBjb2xvcjogIzMzMzsgfVxuXG4uc2VsZWN0Mi1jb250YWluZXItLWRlZmF1bHRbZGlyPVwicnRsXCJdIC5zZWxlY3QyLXNlbGVjdGlvbi0tbXVsdGlwbGUgLnNlbGVjdDItc2VsZWN0aW9uX19jaG9pY2UsIC5zZWxlY3QyLWNvbnRhaW5lci0tZGVmYXVsdFtkaXI9XCJydGxcIl0gLnNlbGVjdDItc2VsZWN0aW9uLS1tdWx0aXBsZSAuc2VsZWN0Mi1zZWxlY3Rpb25fX3BsYWNlaG9sZGVyLCAuc2VsZWN0Mi1jb250YWluZXItLWRlZmF1bHRbZGlyPVwicnRsXCJdIC5zZWxlY3QyLXNlbGVjdGlvbi0tbXVsdGlwbGUgLnNlbGVjdDItc2VhcmNoLS1pbmxpbmUge1xuICBmbG9hdDogcmlnaHQ7IH1cblxuLnNlbGVjdDItY29udGFpbmVyLS1kZWZhdWx0W2Rpcj1cInJ0bFwiXSAuc2VsZWN0Mi1zZWxlY3Rpb24tLW11bHRpcGxlIC5zZWxlY3QyLXNlbGVjdGlvbl9fY2hvaWNlIHtcbiAgbWFyZ2luLWxlZnQ6IDVweDtcbiAgbWFyZ2luLXJpZ2h0OiBhdXRvOyB9XG5cbi5zZWxlY3QyLWNvbnRhaW5lci0tZGVmYXVsdFtkaXI9XCJydGxcIl0gLnNlbGVjdDItc2VsZWN0aW9uLS1tdWx0aXBsZSAuc2VsZWN0Mi1zZWxlY3Rpb25fX2Nob2ljZV9fcmVtb3ZlIHtcbiAgbWFyZ2luLWxlZnQ6IDJweDtcbiAgbWFyZ2luLXJpZ2h0OiBhdXRvOyB9XG5cbi5zZWxlY3QyLWNvbnRhaW5lci0tZGVmYXVsdC5zZWxlY3QyLWNvbnRhaW5lci0tZm9jdXMgLnNlbGVjdDItc2VsZWN0aW9uLS1tdWx0aXBsZSB7XG4gIGJvcmRlcjogc29saWQgIzAwMCAxcHg7XG4gIG91dGxpbmU6IDA7IH1cblxuLnNlbGVjdDItY29udGFpbmVyLS1kZWZhdWx0LnNlbGVjdDItY29udGFpbmVyLS1kaXNhYmxlZCAuc2VsZWN0Mi1zZWxlY3Rpb24tLW11bHRpcGxlIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2VlZTtcbiAgY3Vyc29yOiBkZWZhdWx0OyB9XG5cbi5zZWxlY3QyLWNvbnRhaW5lci0tZGVmYXVsdC5zZWxlY3QyLWNvbnRhaW5lci0tZGlzYWJsZWQgLnNlbGVjdDItc2VsZWN0aW9uX19jaG9pY2VfX3JlbW92ZSB7XG4gIGRpc3BsYXk6IG5vbmU7IH1cblxuLnNlbGVjdDItY29udGFpbmVyLS1kZWZhdWx0LnNlbGVjdDItY29udGFpbmVyLS1vcGVuLnNlbGVjdDItY29udGFpbmVyLS1hYm92ZSAuc2VsZWN0Mi1zZWxlY3Rpb24tLXNpbmdsZSwgLnNlbGVjdDItY29udGFpbmVyLS1kZWZhdWx0LnNlbGVjdDItY29udGFpbmVyLS1vcGVuLnNlbGVjdDItY29udGFpbmVyLS1hYm92ZSAuc2VsZWN0Mi1zZWxlY3Rpb24tLW11bHRpcGxlIHtcbiAgYm9yZGVyLXRvcC1sZWZ0LXJhZGl1czogMDtcbiAgYm9yZGVyLXRvcC1yaWdodC1yYWRpdXM6IDA7IH1cblxuLnNlbGVjdDItY29udGFpbmVyLS1kZWZhdWx0LnNlbGVjdDItY29udGFpbmVyLS1vcGVuLnNlbGVjdDItY29udGFpbmVyLS1iZWxvdyAuc2VsZWN0Mi1zZWxlY3Rpb24tLXNpbmdsZSwgLnNlbGVjdDItY29udGFpbmVyLS1kZWZhdWx0LnNlbGVjdDItY29udGFpbmVyLS1vcGVuLnNlbGVjdDItY29udGFpbmVyLS1iZWxvdyAuc2VsZWN0Mi1zZWxlY3Rpb24tLW11bHRpcGxlIHtcbiAgYm9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1czogMDtcbiAgYm9yZGVyLWJvdHRvbS1yaWdodC1yYWRpdXM6IDA7IH1cblxuLnNlbGVjdDItY29udGFpbmVyLS1kZWZhdWx0IC5zZWxlY3QyLXNlYXJjaC0tZHJvcGRvd24gLnNlbGVjdDItc2VhcmNoX19maWVsZCB7XG4gIGJvcmRlcjogMXB4IHNvbGlkICNhYWE7IH1cblxuLnNlbGVjdDItY29udGFpbmVyLS1kZWZhdWx0IC5zZWxlY3QyLXNlYXJjaC0taW5saW5lIC5zZWxlY3QyLXNlYXJjaF9fZmllbGQge1xuICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgYm9yZGVyOiBub25lO1xuICBvdXRsaW5lOiAwO1xuICBib3gtc2hhZG93OiBub25lO1xuICAtd2Via2l0LWFwcGVhcmFuY2U6IHRleHRmaWVsZDsgfVxuXG4uc2VsZWN0Mi1jb250YWluZXItLWRlZmF1bHQgLnNlbGVjdDItcmVzdWx0cyA+IC5zZWxlY3QyLXJlc3VsdHNfX29wdGlvbnMge1xuICBtYXgtaGVpZ2h0OiAyMDBweDtcbiAgb3ZlcmZsb3cteTogYXV0bzsgfVxuXG4uc2VsZWN0Mi1jb250YWluZXItLWRlZmF1bHQgLnNlbGVjdDItcmVzdWx0c19fb3B0aW9uW3JvbGU9Z3JvdXBdIHtcbiAgcGFkZGluZzogMDsgfVxuXG4uc2VsZWN0Mi1jb250YWluZXItLWRlZmF1bHQgLnNlbGVjdDItcmVzdWx0c19fb3B0aW9uW2FyaWEtZGlzYWJsZWQ9dHJ1ZV0ge1xuICBjb2xvcjogIzk5OTsgfVxuXG4uc2VsZWN0Mi1jb250YWluZXItLWRlZmF1bHQgLnNlbGVjdDItcmVzdWx0c19fb3B0aW9uW2FyaWEtc2VsZWN0ZWQ9dHJ1ZV0ge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZGRkOyB9XG5cbi5zZWxlY3QyLWNvbnRhaW5lci0tZGVmYXVsdCAuc2VsZWN0Mi1yZXN1bHRzX19vcHRpb24gLnNlbGVjdDItcmVzdWx0c19fb3B0aW9uIHtcbiAgcGFkZGluZy1sZWZ0OiAxZW07IH1cblxuLnNlbGVjdDItY29udGFpbmVyLS1kZWZhdWx0IC5zZWxlY3QyLXJlc3VsdHNfX29wdGlvbiAuc2VsZWN0Mi1yZXN1bHRzX19vcHRpb24gLnNlbGVjdDItcmVzdWx0c19fZ3JvdXAge1xuICBwYWRkaW5nLWxlZnQ6IDA7IH1cblxuLnNlbGVjdDItY29udGFpbmVyLS1kZWZhdWx0IC5zZWxlY3QyLXJlc3VsdHNfX29wdGlvbiAuc2VsZWN0Mi1yZXN1bHRzX19vcHRpb24gLnNlbGVjdDItcmVzdWx0c19fb3B0aW9uIHtcbiAgbWFyZ2luLWxlZnQ6IC0xZW07XG4gIHBhZGRpbmctbGVmdDogMmVtOyB9XG5cbi5zZWxlY3QyLWNvbnRhaW5lci0tZGVmYXVsdCAuc2VsZWN0Mi1yZXN1bHRzX19vcHRpb24gLnNlbGVjdDItcmVzdWx0c19fb3B0aW9uIC5zZWxlY3QyLXJlc3VsdHNfX29wdGlvbiAuc2VsZWN0Mi1yZXN1bHRzX19vcHRpb24ge1xuICBtYXJnaW4tbGVmdDogLTJlbTtcbiAgcGFkZGluZy1sZWZ0OiAzZW07IH1cblxuLnNlbGVjdDItY29udGFpbmVyLS1kZWZhdWx0IC5zZWxlY3QyLXJlc3VsdHNfX29wdGlvbiAuc2VsZWN0Mi1yZXN1bHRzX19vcHRpb24gLnNlbGVjdDItcmVzdWx0c19fb3B0aW9uIC5zZWxlY3QyLXJlc3VsdHNfX29wdGlvbiAuc2VsZWN0Mi1yZXN1bHRzX19vcHRpb24ge1xuICBtYXJnaW4tbGVmdDogLTNlbTtcbiAgcGFkZGluZy1sZWZ0OiA0ZW07IH1cblxuLnNlbGVjdDItY29udGFpbmVyLS1kZWZhdWx0IC5zZWxlY3QyLXJlc3VsdHNfX29wdGlvbiAuc2VsZWN0Mi1yZXN1bHRzX19vcHRpb24gLnNlbGVjdDItcmVzdWx0c19fb3B0aW9uIC5zZWxlY3QyLXJlc3VsdHNfX29wdGlvbiAuc2VsZWN0Mi1yZXN1bHRzX19vcHRpb24gLnNlbGVjdDItcmVzdWx0c19fb3B0aW9uIHtcbiAgbWFyZ2luLWxlZnQ6IC00ZW07XG4gIHBhZGRpbmctbGVmdDogNWVtOyB9XG5cbi5zZWxlY3QyLWNvbnRhaW5lci0tZGVmYXVsdCAuc2VsZWN0Mi1yZXN1bHRzX19vcHRpb24gLnNlbGVjdDItcmVzdWx0c19fb3B0aW9uIC5zZWxlY3QyLXJlc3VsdHNfX29wdGlvbiAuc2VsZWN0Mi1yZXN1bHRzX19vcHRpb24gLnNlbGVjdDItcmVzdWx0c19fb3B0aW9uIC5zZWxlY3QyLXJlc3VsdHNfX29wdGlvbiAuc2VsZWN0Mi1yZXN1bHRzX19vcHRpb24ge1xuICBtYXJnaW4tbGVmdDogLTVlbTtcbiAgcGFkZGluZy1sZWZ0OiA2ZW07IH1cblxuLnNlbGVjdDItY29udGFpbmVyLS1kZWZhdWx0IC5zZWxlY3QyLXJlc3VsdHNfX29wdGlvbi0taGlnaGxpZ2h0ZWRbYXJpYS1zZWxlY3RlZF0ge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjNTg5N2ZiO1xuICBjb2xvcjogd2hpdGU7IH1cblxuLnNlbGVjdDItY29udGFpbmVyLS1kZWZhdWx0IC5zZWxlY3QyLXJlc3VsdHNfX2dyb3VwIHtcbiAgY3Vyc29yOiBkZWZhdWx0O1xuICBkaXNwbGF5OiBibG9jaztcbiAgcGFkZGluZzogNnB4OyB9XG5cbi5zZWxlY3QyLWNvbnRhaW5lci0tY2xhc3NpYyAuc2VsZWN0Mi1zZWxlY3Rpb24tLXNpbmdsZSB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmN2Y3Zjc7XG4gIGJvcmRlcjogMXB4IHNvbGlkICNhYWE7XG4gIGJvcmRlci1yYWRpdXM6IDRweDtcbiAgb3V0bGluZTogMDtcbiAgYmFja2dyb3VuZC1pbWFnZTogLXdlYmtpdC1saW5lYXItZ3JhZGllbnQodG9wLCAjZmZmIDUwJSwgI2VlZSAxMDAlKTtcbiAgYmFja2dyb3VuZC1pbWFnZTogLW8tbGluZWFyLWdyYWRpZW50KHRvcCwgI2ZmZiA1MCUsICNlZWUgMTAwJSk7XG4gIGJhY2tncm91bmQtaW1hZ2U6IGxpbmVhci1ncmFkaWVudCh0byBib3R0b20sICNmZmYgNTAlLCAjZWVlIDEwMCUpO1xuICBiYWNrZ3JvdW5kLXJlcGVhdDogcmVwZWF0LXg7XG4gIGZpbHRlcjogcHJvZ2lkOkRYSW1hZ2VUcmFuc2Zvcm0uTWljcm9zb2Z0LmdyYWRpZW50KHN0YXJ0Q29sb3JzdHI9JyNGRkZGRkZGRicsIGVuZENvbG9yc3RyPScjRkZFRUVFRUUnLCBHcmFkaWVudFR5cGU9MCk7IH1cblxuLnNlbGVjdDItY29udGFpbmVyLS1jbGFzc2ljIC5zZWxlY3QyLXNlbGVjdGlvbi0tc2luZ2xlOmZvY3VzIHtcbiAgYm9yZGVyOiAxcHggc29saWQgIzU4OTdmYjsgfVxuXG4uc2VsZWN0Mi1jb250YWluZXItLWNsYXNzaWMgLnNlbGVjdDItc2VsZWN0aW9uLS1zaW5nbGUgLnNlbGVjdDItc2VsZWN0aW9uX19yZW5kZXJlZCB7XG4gIGNvbG9yOiAjNDQ0O1xuICBsaW5lLWhlaWdodDogMjhweDsgfVxuXG4uc2VsZWN0Mi1jb250YWluZXItLWNsYXNzaWMgLnNlbGVjdDItc2VsZWN0aW9uLS1zaW5nbGUgLnNlbGVjdDItc2VsZWN0aW9uX19jbGVhciB7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgZmxvYXQ6IHJpZ2h0O1xuICBmb250LXdlaWdodDogYm9sZDtcbiAgbWFyZ2luLXJpZ2h0OiAxMHB4OyB9XG5cbi5zZWxlY3QyLWNvbnRhaW5lci0tY2xhc3NpYyAuc2VsZWN0Mi1zZWxlY3Rpb24tLXNpbmdsZSAuc2VsZWN0Mi1zZWxlY3Rpb25fX3BsYWNlaG9sZGVyIHtcbiAgY29sb3I6ICM5OTk7IH1cblxuLnNlbGVjdDItY29udGFpbmVyLS1jbGFzc2ljIC5zZWxlY3QyLXNlbGVjdGlvbi0tc2luZ2xlIC5zZWxlY3QyLXNlbGVjdGlvbl9fYXJyb3cge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZGRkO1xuICBib3JkZXI6IG5vbmU7XG4gIGJvcmRlci1sZWZ0OiAxcHggc29saWQgI2FhYTtcbiAgYm9yZGVyLXRvcC1yaWdodC1yYWRpdXM6IDRweDtcbiAgYm9yZGVyLWJvdHRvbS1yaWdodC1yYWRpdXM6IDRweDtcbiAgaGVpZ2h0OiAyNnB4O1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogMXB4O1xuICByaWdodDogMXB4O1xuICB3aWR0aDogMjBweDtcbiAgYmFja2dyb3VuZC1pbWFnZTogLXdlYmtpdC1saW5lYXItZ3JhZGllbnQodG9wLCAjZWVlIDUwJSwgI2NjYyAxMDAlKTtcbiAgYmFja2dyb3VuZC1pbWFnZTogLW8tbGluZWFyLWdyYWRpZW50KHRvcCwgI2VlZSA1MCUsICNjY2MgMTAwJSk7XG4gIGJhY2tncm91bmQtaW1hZ2U6IGxpbmVhci1ncmFkaWVudCh0byBib3R0b20sICNlZWUgNTAlLCAjY2NjIDEwMCUpO1xuICBiYWNrZ3JvdW5kLXJlcGVhdDogcmVwZWF0LXg7XG4gIGZpbHRlcjogcHJvZ2lkOkRYSW1hZ2VUcmFuc2Zvcm0uTWljcm9zb2Z0LmdyYWRpZW50KHN0YXJ0Q29sb3JzdHI9JyNGRkVFRUVFRScsIGVuZENvbG9yc3RyPScjRkZDQ0NDQ0MnLCBHcmFkaWVudFR5cGU9MCk7IH1cblxuLnNlbGVjdDItY29udGFpbmVyLS1jbGFzc2ljIC5zZWxlY3QyLXNlbGVjdGlvbi0tc2luZ2xlIC5zZWxlY3QyLXNlbGVjdGlvbl9fYXJyb3cgYiB7XG4gIGJvcmRlci1jb2xvcjogIzg4OCB0cmFuc3BhcmVudCB0cmFuc3BhcmVudCB0cmFuc3BhcmVudDtcbiAgYm9yZGVyLXN0eWxlOiBzb2xpZDtcbiAgYm9yZGVyLXdpZHRoOiA1cHggNHB4IDAgNHB4O1xuICBoZWlnaHQ6IDA7XG4gIGxlZnQ6IDUwJTtcbiAgbWFyZ2luLWxlZnQ6IC00cHg7XG4gIG1hcmdpbi10b3A6IC0ycHg7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiA1MCU7XG4gIHdpZHRoOiAwOyB9XG5cbi5zZWxlY3QyLWNvbnRhaW5lci0tY2xhc3NpY1tkaXI9XCJydGxcIl0gLnNlbGVjdDItc2VsZWN0aW9uLS1zaW5nbGUgLnNlbGVjdDItc2VsZWN0aW9uX19jbGVhciB7XG4gIGZsb2F0OiBsZWZ0OyB9XG5cbi5zZWxlY3QyLWNvbnRhaW5lci0tY2xhc3NpY1tkaXI9XCJydGxcIl0gLnNlbGVjdDItc2VsZWN0aW9uLS1zaW5nbGUgLnNlbGVjdDItc2VsZWN0aW9uX19hcnJvdyB7XG4gIGJvcmRlcjogbm9uZTtcbiAgYm9yZGVyLXJpZ2h0OiAxcHggc29saWQgI2FhYTtcbiAgYm9yZGVyLXJhZGl1czogMDtcbiAgYm9yZGVyLXRvcC1sZWZ0LXJhZGl1czogNHB4O1xuICBib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzOiA0cHg7XG4gIGxlZnQ6IDFweDtcbiAgcmlnaHQ6IGF1dG87IH1cblxuLnNlbGVjdDItY29udGFpbmVyLS1jbGFzc2ljLnNlbGVjdDItY29udGFpbmVyLS1vcGVuIC5zZWxlY3QyLXNlbGVjdGlvbi0tc2luZ2xlIHtcbiAgYm9yZGVyOiAxcHggc29saWQgIzU4OTdmYjsgfVxuXG4uc2VsZWN0Mi1jb250YWluZXItLWNsYXNzaWMuc2VsZWN0Mi1jb250YWluZXItLW9wZW4gLnNlbGVjdDItc2VsZWN0aW9uLS1zaW5nbGUgLnNlbGVjdDItc2VsZWN0aW9uX19hcnJvdyB7XG4gIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICBib3JkZXI6IG5vbmU7IH1cblxuLnNlbGVjdDItY29udGFpbmVyLS1jbGFzc2ljLnNlbGVjdDItY29udGFpbmVyLS1vcGVuIC5zZWxlY3QyLXNlbGVjdGlvbi0tc2luZ2xlIC5zZWxlY3QyLXNlbGVjdGlvbl9fYXJyb3cgYiB7XG4gIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQgIzg4OCB0cmFuc3BhcmVudDtcbiAgYm9yZGVyLXdpZHRoOiAwIDRweCA1cHggNHB4OyB9XG5cbi5zZWxlY3QyLWNvbnRhaW5lci0tY2xhc3NpYy5zZWxlY3QyLWNvbnRhaW5lci0tb3Blbi5zZWxlY3QyLWNvbnRhaW5lci0tYWJvdmUgLnNlbGVjdDItc2VsZWN0aW9uLS1zaW5nbGUge1xuICBib3JkZXItdG9wOiBub25lO1xuICBib3JkZXItdG9wLWxlZnQtcmFkaXVzOiAwO1xuICBib3JkZXItdG9wLXJpZ2h0LXJhZGl1czogMDtcbiAgYmFja2dyb3VuZC1pbWFnZTogLXdlYmtpdC1saW5lYXItZ3JhZGllbnQodG9wLCAjZmZmIDAlLCAjZWVlIDUwJSk7XG4gIGJhY2tncm91bmQtaW1hZ2U6IC1vLWxpbmVhci1ncmFkaWVudCh0b3AsICNmZmYgMCUsICNlZWUgNTAlKTtcbiAgYmFja2dyb3VuZC1pbWFnZTogbGluZWFyLWdyYWRpZW50KHRvIGJvdHRvbSwgI2ZmZiAwJSwgI2VlZSA1MCUpO1xuICBiYWNrZ3JvdW5kLXJlcGVhdDogcmVwZWF0LXg7XG4gIGZpbHRlcjogcHJvZ2lkOkRYSW1hZ2VUcmFuc2Zvcm0uTWljcm9zb2Z0LmdyYWRpZW50KHN0YXJ0Q29sb3JzdHI9JyNGRkZGRkZGRicsIGVuZENvbG9yc3RyPScjRkZFRUVFRUUnLCBHcmFkaWVudFR5cGU9MCk7IH1cblxuLnNlbGVjdDItY29udGFpbmVyLS1jbGFzc2ljLnNlbGVjdDItY29udGFpbmVyLS1vcGVuLnNlbGVjdDItY29udGFpbmVyLS1iZWxvdyAuc2VsZWN0Mi1zZWxlY3Rpb24tLXNpbmdsZSB7XG4gIGJvcmRlci1ib3R0b206IG5vbmU7XG4gIGJvcmRlci1ib3R0b20tbGVmdC1yYWRpdXM6IDA7XG4gIGJvcmRlci1ib3R0b20tcmlnaHQtcmFkaXVzOiAwO1xuICBiYWNrZ3JvdW5kLWltYWdlOiAtd2Via2l0LWxpbmVhci1ncmFkaWVudCh0b3AsICNlZWUgNTAlLCAjZmZmIDEwMCUpO1xuICBiYWNrZ3JvdW5kLWltYWdlOiAtby1saW5lYXItZ3JhZGllbnQodG9wLCAjZWVlIDUwJSwgI2ZmZiAxMDAlKTtcbiAgYmFja2dyb3VuZC1pbWFnZTogbGluZWFyLWdyYWRpZW50KHRvIGJvdHRvbSwgI2VlZSA1MCUsICNmZmYgMTAwJSk7XG4gIGJhY2tncm91bmQtcmVwZWF0OiByZXBlYXQteDtcbiAgZmlsdGVyOiBwcm9naWQ6RFhJbWFnZVRyYW5zZm9ybS5NaWNyb3NvZnQuZ3JhZGllbnQoc3RhcnRDb2xvcnN0cj0nI0ZGRUVFRUVFJywgZW5kQ29sb3JzdHI9JyNGRkZGRkZGRicsIEdyYWRpZW50VHlwZT0wKTsgfVxuXG4uc2VsZWN0Mi1jb250YWluZXItLWNsYXNzaWMgLnNlbGVjdDItc2VsZWN0aW9uLS1tdWx0aXBsZSB7XG4gIGJhY2tncm91bmQtY29sb3I6IHdoaXRlO1xuICBib3JkZXI6IDFweCBzb2xpZCAjYWFhO1xuICBib3JkZXItcmFkaXVzOiA0cHg7XG4gIGN1cnNvcjogdGV4dDtcbiAgb3V0bGluZTogMDsgfVxuXG4uc2VsZWN0Mi1jb250YWluZXItLWNsYXNzaWMgLnNlbGVjdDItc2VsZWN0aW9uLS1tdWx0aXBsZTpmb2N1cyB7XG4gIGJvcmRlcjogMXB4IHNvbGlkICM1ODk3ZmI7IH1cblxuLnNlbGVjdDItY29udGFpbmVyLS1jbGFzc2ljIC5zZWxlY3QyLXNlbGVjdGlvbi0tbXVsdGlwbGUgLnNlbGVjdDItc2VsZWN0aW9uX19yZW5kZXJlZCB7XG4gIGxpc3Qtc3R5bGU6IG5vbmU7XG4gIG1hcmdpbjogMDtcbiAgcGFkZGluZzogMCA1cHg7IH1cblxuLnNlbGVjdDItY29udGFpbmVyLS1jbGFzc2ljIC5zZWxlY3QyLXNlbGVjdGlvbi0tbXVsdGlwbGUgLnNlbGVjdDItc2VsZWN0aW9uX19jbGVhciB7XG4gIGRpc3BsYXk6IG5vbmU7IH1cblxuLnNlbGVjdDItY29udGFpbmVyLS1jbGFzc2ljIC5zZWxlY3QyLXNlbGVjdGlvbi0tbXVsdGlwbGUgLnNlbGVjdDItc2VsZWN0aW9uX19jaG9pY2Uge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZTRlNGU0O1xuICBib3JkZXI6IDFweCBzb2xpZCAjYWFhO1xuICBib3JkZXItcmFkaXVzOiA0cHg7XG4gIGN1cnNvcjogZGVmYXVsdDtcbiAgZmxvYXQ6IGxlZnQ7XG4gIG1hcmdpbi1yaWdodDogNXB4O1xuICBtYXJnaW4tdG9wOiA1cHg7XG4gIHBhZGRpbmc6IDAgNXB4OyB9XG5cbi5zZWxlY3QyLWNvbnRhaW5lci0tY2xhc3NpYyAuc2VsZWN0Mi1zZWxlY3Rpb24tLW11bHRpcGxlIC5zZWxlY3QyLXNlbGVjdGlvbl9fY2hvaWNlX19yZW1vdmUge1xuICBjb2xvcjogIzg4ODtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIGZvbnQtd2VpZ2h0OiBib2xkO1xuICBtYXJnaW4tcmlnaHQ6IDJweDsgfVxuXG4uc2VsZWN0Mi1jb250YWluZXItLWNsYXNzaWMgLnNlbGVjdDItc2VsZWN0aW9uLS1tdWx0aXBsZSAuc2VsZWN0Mi1zZWxlY3Rpb25fX2Nob2ljZV9fcmVtb3ZlOmhvdmVyIHtcbiAgY29sb3I6ICM1NTU7IH1cblxuLnNlbGVjdDItY29udGFpbmVyLS1jbGFzc2ljW2Rpcj1cInJ0bFwiXSAuc2VsZWN0Mi1zZWxlY3Rpb24tLW11bHRpcGxlIC5zZWxlY3QyLXNlbGVjdGlvbl9fY2hvaWNlIHtcbiAgZmxvYXQ6IHJpZ2h0OyB9XG5cbi5zZWxlY3QyLWNvbnRhaW5lci0tY2xhc3NpY1tkaXI9XCJydGxcIl0gLnNlbGVjdDItc2VsZWN0aW9uLS1tdWx0aXBsZSAuc2VsZWN0Mi1zZWxlY3Rpb25fX2Nob2ljZSB7XG4gIG1hcmdpbi1sZWZ0OiA1cHg7XG4gIG1hcmdpbi1yaWdodDogYXV0bzsgfVxuXG4uc2VsZWN0Mi1jb250YWluZXItLWNsYXNzaWNbZGlyPVwicnRsXCJdIC5zZWxlY3QyLXNlbGVjdGlvbi0tbXVsdGlwbGUgLnNlbGVjdDItc2VsZWN0aW9uX19jaG9pY2VfX3JlbW92ZSB7XG4gIG1hcmdpbi1sZWZ0OiAycHg7XG4gIG1hcmdpbi1yaWdodDogYXV0bzsgfVxuXG4uc2VsZWN0Mi1jb250YWluZXItLWNsYXNzaWMuc2VsZWN0Mi1jb250YWluZXItLW9wZW4gLnNlbGVjdDItc2VsZWN0aW9uLS1tdWx0aXBsZSB7XG4gIGJvcmRlcjogMXB4IHNvbGlkICM1ODk3ZmI7IH1cblxuLnNlbGVjdDItY29udGFpbmVyLS1jbGFzc2ljLnNlbGVjdDItY29udGFpbmVyLS1vcGVuLnNlbGVjdDItY29udGFpbmVyLS1hYm92ZSAuc2VsZWN0Mi1zZWxlY3Rpb24tLW11bHRpcGxlIHtcbiAgYm9yZGVyLXRvcDogbm9uZTtcbiAgYm9yZGVyLXRvcC1sZWZ0LXJhZGl1czogMDtcbiAgYm9yZGVyLXRvcC1yaWdodC1yYWRpdXM6IDA7IH1cblxuLnNlbGVjdDItY29udGFpbmVyLS1jbGFzc2ljLnNlbGVjdDItY29udGFpbmVyLS1vcGVuLnNlbGVjdDItY29udGFpbmVyLS1iZWxvdyAuc2VsZWN0Mi1zZWxlY3Rpb24tLW11bHRpcGxlIHtcbiAgYm9yZGVyLWJvdHRvbTogbm9uZTtcbiAgYm9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1czogMDtcbiAgYm9yZGVyLWJvdHRvbS1yaWdodC1yYWRpdXM6IDA7IH1cblxuLnNlbGVjdDItY29udGFpbmVyLS1jbGFzc2ljIC5zZWxlY3QyLXNlYXJjaC0tZHJvcGRvd24gLnNlbGVjdDItc2VhcmNoX19maWVsZCB7XG4gIGJvcmRlcjogMXB4IHNvbGlkICNhYWE7XG4gIG91dGxpbmU6IDA7IH1cblxuLnNlbGVjdDItY29udGFpbmVyLS1jbGFzc2ljIC5zZWxlY3QyLXNlYXJjaC0taW5saW5lIC5zZWxlY3QyLXNlYXJjaF9fZmllbGQge1xuICBvdXRsaW5lOiAwO1xuICBib3gtc2hhZG93OiBub25lOyB9XG5cbi5zZWxlY3QyLWNvbnRhaW5lci0tY2xhc3NpYyAuc2VsZWN0Mi1kcm9wZG93biB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmZmY7XG4gIGJvcmRlcjogMXB4IHNvbGlkIHRyYW5zcGFyZW50OyB9XG5cbi5zZWxlY3QyLWNvbnRhaW5lci0tY2xhc3NpYyAuc2VsZWN0Mi1kcm9wZG93bi0tYWJvdmUge1xuICBib3JkZXItYm90dG9tOiBub25lOyB9XG5cbi5zZWxlY3QyLWNvbnRhaW5lci0tY2xhc3NpYyAuc2VsZWN0Mi1kcm9wZG93bi0tYmVsb3cge1xuICBib3JkZXItdG9wOiBub25lOyB9XG5cbi5zZWxlY3QyLWNvbnRhaW5lci0tY2xhc3NpYyAuc2VsZWN0Mi1yZXN1bHRzID4gLnNlbGVjdDItcmVzdWx0c19fb3B0aW9ucyB7XG4gIG1heC1oZWlnaHQ6IDIwMHB4O1xuICBvdmVyZmxvdy15OiBhdXRvOyB9XG5cbi5zZWxlY3QyLWNvbnRhaW5lci0tY2xhc3NpYyAuc2VsZWN0Mi1yZXN1bHRzX19vcHRpb25bcm9sZT1ncm91cF0ge1xuICBwYWRkaW5nOiAwOyB9XG5cbi5zZWxlY3QyLWNvbnRhaW5lci0tY2xhc3NpYyAuc2VsZWN0Mi1yZXN1bHRzX19vcHRpb25bYXJpYS1kaXNhYmxlZD10cnVlXSB7XG4gIGNvbG9yOiBncmV5OyB9XG5cbi5zZWxlY3QyLWNvbnRhaW5lci0tY2xhc3NpYyAuc2VsZWN0Mi1yZXN1bHRzX19vcHRpb24tLWhpZ2hsaWdodGVkW2FyaWEtc2VsZWN0ZWRdIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzM4NzVkNztcbiAgY29sb3I6ICNmZmY7IH1cblxuLnNlbGVjdDItY29udGFpbmVyLS1jbGFzc2ljIC5zZWxlY3QyLXJlc3VsdHNfX2dyb3VwIHtcbiAgY3Vyc29yOiBkZWZhdWx0O1xuICBkaXNwbGF5OiBibG9jaztcbiAgcGFkZGluZzogNnB4OyB9XG5cbi5zZWxlY3QyLWNvbnRhaW5lci0tY2xhc3NpYy5zZWxlY3QyLWNvbnRhaW5lci0tb3BlbiAuc2VsZWN0Mi1kcm9wZG93biB7XG4gIGJvcmRlci1jb2xvcjogIzU4OTdmYjsgfVxuXG4uc2VsZWN0MiB7XG4gIG1hcmdpbi1ib3R0b206IGF1dG87XG4gIGxpbmUtaGVpZ2h0OiAxO1xuICB3aWR0aDogMTAwJSAhaW1wb3J0YW50O1xuICBvdXRsaW5lOiBub25lO1xuICBjb2xvcjogcmdiYSgzMiwgMzMsIDM2LCAwLjUpO1xuICBmb250LXNpemU6IDEzcHg7IH1cbiAgLnNlbGVjdDIgKiB7XG4gICAgb3V0bGluZTogbm9uZTsgfVxuICAuc2VsZWN0Mi1zZWFyY2hfX2ZpZWxkIHtcbiAgICBvdXRsaW5lOiBub25lOyB9XG4gIC5zZWxlY3QyIC5zZWxlY3QyLXNlbGVjdGlvbl9fYXJyb3cge1xuICAgIGRpc3BsYXk6IG5vbmU7IH1cbiAgLnNlbGVjdDIgLnNlbGVjdDItc2VsZWN0aW9uLS1zaW5nbGUge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBoZWlnaHQ6IDU0cHg7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBwYWRkaW5nOiAwO1xuICAgIGNvbG9yOiBpbmhlcml0O1xuICAgIGJvcmRlci1yYWRpdXM6IDA7XG4gICAgYm9yZGVyOiBub25lO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmZmZmY7IH1cbiAgICAucGFnZV9fYWNjb3VudCAuc2VsZWN0MiAuc2VsZWN0Mi1zZWxlY3Rpb24tLXNpbmdsZSB7XG4gICAgICBjb2xvcjogIzIwMjEyNDtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICNmOGY4Zjg7IH1cbiAgICAuc2VsZWN0MiAuc2VsZWN0Mi1zZWxlY3Rpb24tLXNpbmdsZTpiZWZvcmUge1xuICAgICAgZm9udC1zaXplOiA2cHg7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICByaWdodDogMjBweDtcbiAgICAgIHRvcDogMjBweDtcbiAgICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICAgICAgY29sb3I6IHJnYmEoMzIsIDMzLCAzNiwgMC41KTsgfVxuICAgIC5zZWxlY3QyIC5zZWxlY3QyLXNlbGVjdGlvbi0tc2luZ2xlOmJlZm9yZSB7XG4gICAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlKDAsIC01MCUpO1xuICAgICAgLW1zLXRyYW5zZm9ybTogdHJhbnNsYXRlKDAsIC01MCUpO1xuICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoMCwgLTUwJSk7XG4gICAgICAtd2Via2l0LXRyYW5zaXRpb246IHRyYW5zZm9ybSAwLjJzIGVhc2Utb3V0O1xuICAgICAgLW1vei10cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMC4ycyBlYXNlLW91dDtcbiAgICAgIHRyYW5zaXRpb246IHRyYW5zZm9ybSAwLjJzIGVhc2Utb3V0O1xuICAgICAgdG9wOiA1MCU7XG4gICAgICByaWdodDogMjBweDtcbiAgICAgIGZvbnQtc2l6ZTogNHB4O1xuICAgICAgY29sb3I6ICNmNzY1MDA7IH1cbiAgLnNlbGVjdDIgLnNlbGVjdDItc2VsZWN0aW9uLS1zaW5nbGVbYXJpYS1leHBhbmRlZD10cnVlXSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2Y3NjUwMDtcbiAgICBjb2xvcjogI2ZmZmZmZjsgfVxuICAgIC5zZWxlY3QyIC5zZWxlY3QyLXNlbGVjdGlvbi0tc2luZ2xlW2FyaWEtZXhwYW5kZWQ9dHJ1ZV06YmVmb3JlIHtcbiAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUoMCwgLTUwJSkgcm90YXRlKDE4MGRlZyk7XG4gICAgICAtbXMtdHJhbnNmb3JtOiB0cmFuc2xhdGUoMCwgLTUwJSkgcm90YXRlKDE4MGRlZyk7XG4gICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgwLCAtNTAlKSByb3RhdGUoMTgwZGVnKTtcbiAgICAgIGNvbG9yOiAjZmZmZmZmOyB9XG4gIC5zZWxlY3QyLXNlYXJjaCB7XG4gICAgZGlzcGxheTogbm9uZTsgfVxuICAuc2VsZWN0Mi1kcm9wZG93biB7XG4gICAgYm9yZGVyOiBub25lO1xuICAgIGJvcmRlci1yYWRpdXM6IDA7XG4gICAgYm94LXNoYWRvdzogMCAxMHB4IDEwcHggI2ViZWJlYjtcbiAgICBib3gtc2hhZG93OiAwIDEwcHggMTBweCByZ2JhKDIzNSwgMjM1LCAyMzUsIDAuNSk7IH1cbiAgLnNlbGVjdDItcmVzdWx0c19fb3B0aW9uIHtcbiAgICBwYWRkaW5nOiAxNXB4IDIwcHg7XG4gICAgbGluZS1oZWlnaHQ6IDE7XG4gICAgZm9udC1zaXplOiAxM3B4O1xuICAgIGNvbG9yOiByZ2JhKDMyLCAzMywgMzYsIDAuNSk7IH1cbiAgICAuc2VsZWN0Mi1yZXN1bHRzX19vcHRpb24tLWhpZ2hsaWdodGVkLCAuc2VsZWN0Mi1yZXN1bHRzX19vcHRpb24tLWhpZ2hsaWdodGVkW2FyaWEtc2VsZWN0ZWQ9dHJ1ZV0sIC5zZWxlY3QyLXJlc3VsdHNfX29wdGlvblthcmlhLXNlbGVjdGVkPXRydWVdIHtcbiAgICAgIGNvbG9yOiAjZmZmZmZmOyB9XG4gIC5zZWxlY3QyLWNvbnRhaW5lci0tZGVmYXVsdCAuc2VsZWN0Mi1yZXN1bHRzX19vcHRpb24tLWhpZ2hsaWdodGVkW2FyaWEtc2VsZWN0ZWRdIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjc2NTAwOyB9XG4gIC5zZWxlY3QyLWNvbnRhaW5lci0tZGVmYXVsdCAuc2VsZWN0Mi1yZXN1bHRzX19vcHRpb25bYXJpYS1zZWxlY3RlZD10cnVlXSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2Y3NjUwMDsgfVxuICAuc2VsZWN0Mi1jb250YWluZXItLWRlZmF1bHQgLnNlbGVjdDItcmVzdWx0c19fb3B0aW9uLS1oaWdobGlnaHRlZFthcmlhLXNlbGVjdGVkPXRydWVdIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjc2NTAwOyB9XG5cbi5zZWxlY3QyLWNvbnRhaW5lci0tZGVmYXVsdCAuc2VsZWN0Mi1zZWxlY3Rpb24tLXNpbmdsZSAuc2VsZWN0Mi1zZWxlY3Rpb25fX3JlbmRlcmVkIHtcbiAgaGVpZ2h0OiA1NHB4O1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICB3aWR0aDogMTAwJTtcbiAgbGluZS1oZWlnaHQ6IDE7XG4gIGZvbnQtc2l6ZTogMTNweDtcbiAgcGFkZGluZzogMThweCAyMHB4O1xuICBwYWRkaW5nLXJpZ2h0OiAyLjVlbTtcbiAgY29sb3I6IGluaGVyaXQ7IH1cblxuLmxpc3Rpbmcge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGZsZXgtZ3JvdzogMTtcbiAgZmxleC1iYXNpczogMCU7IH1cbiAgLmxpc3RpbmcgLmxvYWRlciB7XG4gICAgcG9zaXRpb246IGZpeGVkO1xuICAgIC8qIEZpeMOpIHBhciByYXBwb3J0IMOgIGxhIGZlbsOqdHJlLCBwb3VyIGNlbnRyZXIgZW4gaGF1dGV1ciAqL1xuICAgIGxlZnQ6IGF1dG87XG4gICAgLyogUGFzIGRlIGNlbnRyYWdlIGhvcml6b250YWwgKi9cbiAgICBsZWZ0OiA1MCU7XG4gICAgLyogUG9zaXRpb25uw6kgw6AgZHJvaXRlIChvdSBtb2RpZmlleiBjZXR0ZSB2YWxldXIgc2Vsb24gdm9zIGJlc29pbnMpICovXG4gICAgdG9wOiA1MCU7XG4gICAgLyogQ2VudHLDqSBlbiBoYXV0ZXVyICovXG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpIHRyYW5zbGF0ZVgoY2FsYyg1MCUgKyAyNDBweCkpO1xuICAgIC8qIETDqWNhbGFnZSBkZSA1MCUgZGUgbGEgbGFyZ2V1ciBkdSBsb2FkZXIgKi9cbiAgICB6LWluZGV4OiAxMDAwO1xuICAgIGJhY2tncm91bmQ6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC45KTtcbiAgICAvKiBGb25kIHNlbWktdHJhbnNwYXJlbnQgKi9cbiAgICBib3gtc2hhZG93OiAwIDAgMTBweCByZ2JhKDAsIDAsIDAsIDAuMik7XG4gICAgcGFkZGluZzogMTBweDtcbiAgICAvKiBSw6lkdWlyZSBsZSBwYWRkaW5nICovXG4gICAgYm9yZGVyLXJhZGl1czogOHB4O1xuICAgIHdpZHRoOiA2MHB4O1xuICAgIC8qIFLDqWR1aXJlIGxhIGxhcmdldXIgKi9cbiAgICBoZWlnaHQ6IDYwcHg7XG4gICAgLyogUsOpZHVpcmUgbGEgaGF1dGV1ciAqL1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjsgfVxuICAgIC5saXN0aW5nIC5sb2FkZXIgaW1nIHtcbiAgICAgIHdpZHRoOiA1MHB4O1xuICAgICAgLyogQWp1c3RlciBsYSB0YWlsbGUgZHUgR0lGICovXG4gICAgICBoZWlnaHQ6IDUwcHg7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAxMTAwcHgpIHtcbiAgICAgIC5saXN0aW5nIC5sb2FkZXIge1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSkgdHJhbnNsYXRlWChjYWxjKDUwJSAtIDgwcHgpKTsgfSB9XG4gIC5saXN0aW5nX19kb3dubG9hZCB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogMTAwJTsgfVxuICAgIC5saXN0aW5nX19kb3dubG9hZDpob3ZlciB7XG4gICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7IH1cbiAgICAgIC5saXN0aW5nX19kb3dubG9hZDpob3ZlciAubGlzdGluZ19fbGluazo6YmVmb3JlIHtcbiAgICAgICAgb3BhY2l0eTogMC42OyB9XG4gICAgICAubGlzdGluZ19fZG93bmxvYWQ6aG92ZXIgLmxpc3RpbmdfX2ljb24ge1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC01MCUsIC01MCUsIDApO1xuICAgICAgICBvcGFjaXR5OiAxOyB9XG4gIC5saXN0aW5nX19jb250YWluZXIge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBtYXJnaW46IDA7XG4gICAgcGFkZGluZzogMDsgfVxuICAgIC5saXN0aW5nX19jb250YWluZXIubG9hZGluZzo6YWZ0ZXIge1xuICAgICAgY29udGVudDogXCJcIjtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHotaW5kZXg6IDU7XG4gICAgICB0b3A6IDA7XG4gICAgICBsZWZ0OiAwO1xuICAgICAgcmlnaHQ6IDA7XG4gICAgICBib3R0b206IDA7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmZmZmO1xuICAgICAgb3BhY2l0eTogMC42OyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjAwcHgpIHtcbiAgICAgIC5saXN0aW5nX19jb250YWluZXIge1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBmbGV4LXdyYXA6IHdyYXA7IH0gfVxuICAubGlzdGluZ19fYWN0aW9uIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgbWFyZ2luLWJvdHRvbTogMS4yNXJlbTtcbiAgICBtYXJnaW4tbGVmdDogLTEwcHg7XG4gICAgbWFyZ2luLXJpZ2h0OiAtMTBweDsgfVxuICAgIC5saXN0aW5nX19hY3Rpb24gLmJ0biwgLmxpc3RpbmdfX2FjdGlvbiAubmYtZm9ybS1jb250ZW50IC5uZi1wcmV2aW91cy1pdGVtIC5uZi1wcmV2aW91cywgLm5mLWZvcm0tY29udGVudCAubmYtcHJldmlvdXMtaXRlbSAubGlzdGluZ19fYWN0aW9uIC5uZi1wcmV2aW91cywgLmxpc3RpbmdfX2FjdGlvbiAubmYtZm9ybS1jb250ZW50IC5uZi1wcmV2aW91cy1pdGVtIC5uZi1uZXh0LCAubmYtZm9ybS1jb250ZW50IC5uZi1wcmV2aW91cy1pdGVtIC5saXN0aW5nX19hY3Rpb24gLm5mLW5leHQsIC5saXN0aW5nX19hY3Rpb24gLm5mLWZvcm0tY29udGVudCAubmYtbmV4dC1pdGVtIC5uZi1wcmV2aW91cywgLm5mLWZvcm0tY29udGVudCAubmYtbmV4dC1pdGVtIC5saXN0aW5nX19hY3Rpb24gLm5mLXByZXZpb3VzLCAubGlzdGluZ19fYWN0aW9uIC5uZi1mb3JtLWNvbnRlbnQgLm5mLW5leHQtaXRlbSAubmYtbmV4dCwgLm5mLWZvcm0tY29udGVudCAubmYtbmV4dC1pdGVtIC5saXN0aW5nX19hY3Rpb24gLm5mLW5leHQsIC5saXN0aW5nX19hY3Rpb24gLm5mLWZvcm0td3JhcCAuc3VibWl0LWNvbnRhaW5lciAubmYtZmllbGQtZWxlbWVudCBpbnB1dCwgLm5mLWZvcm0td3JhcCAuc3VibWl0LWNvbnRhaW5lciAubmYtZmllbGQtZWxlbWVudCAubGlzdGluZ19fYWN0aW9uIGlucHV0LCAubGlzdGluZ19fYWN0aW9uIC5uZi1mb3JtLXdyYXAgLm5tYy1yZWdpc3Rlci1zdWJtaXQgLm5mLWZpZWxkLWVsZW1lbnQgaW5wdXQsIC5uZi1mb3JtLXdyYXAgLm5tYy1yZWdpc3Rlci1zdWJtaXQgLm5mLWZpZWxkLWVsZW1lbnQgLmxpc3RpbmdfX2FjdGlvbiBpbnB1dCB7XG4gICAgICBtYXJnaW46IDEwcHg7IH1cbiAgICAubGlzdGluZ19fYWN0aW9uIC5qcy1saXN0aW5nLW1hcmtzIC5qcy1saXN0aW5nLXJlc3VsdHMge1xuICAgICAgYm9yZGVyOiBub25lICFpbXBvcnRhbnQ7XG4gICAgICB0ZXh0LXRyYW5zZm9ybTogbm9uZSAhaW1wb3J0YW50O1xuICAgICAgZm9udC1zaXplOiAxNnB4ICFpbXBvcnRhbnQ7IH1cbiAgICAgIC5saXN0aW5nX19hY3Rpb24gLmpzLWxpc3RpbmctbWFya3MgLmpzLWxpc3RpbmctcmVzdWx0czpob3ZlciB7XG4gICAgICAgIGJvcmRlcjogbm9uZSAhaW1wb3J0YW50O1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudCAhaW1wb3J0YW50O1xuICAgICAgICBjb2xvcjogI2Y3NjUwMCAhaW1wb3J0YW50OyB9XG4gICAgICAubGlzdGluZ19fYWN0aW9uIC5qcy1saXN0aW5nLW1hcmtzIC5qcy1saXN0aW5nLXJlc3VsdHMtY291bnQge1xuICAgICAgICBmb250LXNpemU6IDE2cHg7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiA1MDA7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2MDBweCkge1xuICAgICAgLmxpc3RpbmdfX2FjdGlvbiB7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGZsZXgtd3JhcDogd3JhcDsgfVxuICAgICAgICAubGlzdGluZ19fYWN0aW9uIC5idG5fX3NlbGVjdGlvbnMge1xuICAgICAgICAgIG1hcmdpbi1sZWZ0OiBhdXRvOyB9IH1cbiAgLmxpc3RpbmdfX3BhZ2luYXRpb24ge1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjsgfVxuICAgIC5saXN0aW5nX19wYWdpbmF0aW9uIGJ1dHRvbiB7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7IH1cbiAgLmxpc3RpbmctLWdyaWQgLmxpc3RpbmdfX2NvbHVtbnMge1xuICAgIGRpc3BsYXk6IG5vbmU7IH1cbiAgLmxpc3RpbmctLWdyaWQgLmxpc3RpbmdfX2l0ZW1fX2dyaWQge1xuICAgIGRpc3BsYXk6IGJsb2NrOyB9XG4gIC5saXN0aW5nLS1ncmlkIC5saXN0aW5nX19pdGVtX19saXN0IHtcbiAgICBkaXNwbGF5OiBub25lOyB9XG4gIC5saXN0aW5nLS1saXN0IHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBvdmVyZmxvdy14OiBhdXRvO1xuICAgIHBhZGRpbmctYm90dG9tOiAyMHB4OyB9XG4gICAgLmxpc3RpbmctLWxpc3QgLmxpc3RpbmdfX2NvbHVtbnMge1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGdhcDogMnJlbTtcbiAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjZDhkOGQ4O1xuICAgICAgbWluLXdpZHRoOiA2MDBweDtcbiAgICAgIHBhZGRpbmc6IDAgMC42MjVyZW0gMCAwLjYyNXJlbTtcbiAgICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgICBtaW4td2lkdGg6IDc1MHB4OyB9XG4gICAgLmxpc3RpbmctLWxpc3QgLmxpc3RpbmdfX2NvbnRhaW5lciB7XG4gICAgICBtaW4td2lkdGg6IDc1MHB4OyB9XG4gICAgLmxpc3RpbmctLWxpc3QgLmxpc3RpbmdfX2NvbHVtbi0tbmFtZSB7XG4gICAgICB3aWR0aDogNDUlOyB9XG4gICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAxNjAwcHgpIHtcbiAgICAgICAgLmxpc3RpbmctLWxpc3QgLmxpc3RpbmdfX2NvbHVtbi0tbmFtZSB7XG4gICAgICAgICAgd2lkdGg6IDQwJTsgfSB9XG4gICAgLmxpc3RpbmctLWxpc3QgLmxpc3RpbmdfX2NvbHVtbi0tdmVyc2lvbiB7XG4gICAgICB3aWR0aDogMzUlOyB9XG4gICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAxNjAwcHgpIHtcbiAgICAgICAgLmxpc3RpbmctLWxpc3QgLmxpc3RpbmdfX2NvbHVtbi0tdmVyc2lvbiB7XG4gICAgICAgICAgd2lkdGg6IDMwJTsgfSB9XG4gICAgLmxpc3RpbmctLWxpc3QgLmxpc3RpbmdfX2NvbHVtbi0tZm9ybWF0IHtcbiAgICAgIHdpZHRoOiAxMCU7IH1cbiAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDE2MDBweCkge1xuICAgICAgICAubGlzdGluZy0tbGlzdCAubGlzdGluZ19fY29sdW1uLS1mb3JtYXQge1xuICAgICAgICAgIHdpZHRoOiAxNSU7IH0gfVxuICAgIC5saXN0aW5nLS1saXN0IC5saXN0aW5nX19jb2x1bW4tLXNpemUge1xuICAgICAgd2lkdGg6IDEwJTsgfVxuICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogMTYwMHB4KSB7XG4gICAgICAgIC5saXN0aW5nLS1saXN0IC5saXN0aW5nX19jb2x1bW4tLXNpemUge1xuICAgICAgICAgIHdpZHRoOiAxNSU7IH0gfVxuICAgIC5saXN0aW5nLS1saXN0IC5saXN0aW5nX19jb2x1bW4tLW5hbWUsXG4gICAgLmxpc3RpbmctLWxpc3QgLmxpc3RpbmdfX2NvbHVtbi0tdmVyc2lvbixcbiAgICAubGlzdGluZy0tbGlzdCAubGlzdGluZ19fY29sdW1uLS1mb3JtYXQsXG4gICAgLmxpc3RpbmctLWxpc3QgLmxpc3RpbmdfX2NvbHVtbi0tc2l6ZSB7XG4gICAgICBmb250LWZhbWlseTogXCJmdXR1cmEtcHRcIiwgRnV0dXJhLCBcIlRyZWJ1Y2hldCBNU1wiLCBBcmlhbCwgc2Fucy1zZXJpZjtcbiAgICAgIGZvbnQtc2l6ZTogMS4xMjVyZW07XG4gICAgICBsaW5lLWhlaWdodDogMS4yNXJlbTtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgIG1hcmdpbjogMDtcbiAgICAgIG1hcmdpbi1ib3R0b206IDEuMjVyZW07XG4gICAgICBsZXR0ZXItc3BhY2luZzogMC4xNTYyNXJlbTtcbiAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7IH1cbiAgICAgIC5saXN0aW5nLS1saXN0IC5saXN0aW5nX19jb2x1bW4tLW5hbWU6OmJlZm9yZSxcbiAgICAgIC5saXN0aW5nLS1saXN0IC5saXN0aW5nX19jb2x1bW4tLXZlcnNpb246OmJlZm9yZSxcbiAgICAgIC5saXN0aW5nLS1saXN0IC5saXN0aW5nX19jb2x1bW4tLWZvcm1hdDo6YmVmb3JlLFxuICAgICAgLmxpc3RpbmctLWxpc3QgLmxpc3RpbmdfX2NvbHVtbi0tc2l6ZTo6YmVmb3JlIHtcbiAgICAgICAgZm9udC1zaXplOiAxcmVtO1xuICAgICAgICBsaW5lLWhlaWdodDogMjBweDtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICByaWdodDogMDtcbiAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgdGV4dC1hbGlnbjogcmlnaHQ7XG4gICAgICAgIHZlcnRpY2FsLWFsaWduOiB0b3A7XG4gICAgICAgIGNvbG9yOiAjZjc2NTAwOyB9XG4gICAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDExMDBweCkge1xuICAgICAgICAgIC5saXN0aW5nLS1saXN0IC5saXN0aW5nX19jb2x1bW4tLW5hbWU6OmJlZm9yZSxcbiAgICAgICAgICAubGlzdGluZy0tbGlzdCAubGlzdGluZ19fY29sdW1uLS12ZXJzaW9uOjpiZWZvcmUsXG4gICAgICAgICAgLmxpc3RpbmctLWxpc3QgLmxpc3RpbmdfX2NvbHVtbi0tZm9ybWF0OjpiZWZvcmUsXG4gICAgICAgICAgLmxpc3RpbmctLWxpc3QgLmxpc3RpbmdfX2NvbHVtbi0tc2l6ZTo6YmVmb3JlIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrOyB9IH1cbiAgICAgIC5saXN0aW5nLS1saXN0IC5saXN0aW5nX19jb2x1bW4tLW5hbWUuaWNvbi1sZXNzOjpiZWZvcmUsXG4gICAgICAubGlzdGluZy0tbGlzdCAubGlzdGluZ19fY29sdW1uLS12ZXJzaW9uLmljb24tbGVzczo6YmVmb3JlLFxuICAgICAgLmxpc3RpbmctLWxpc3QgLmxpc3RpbmdfX2NvbHVtbi0tZm9ybWF0Lmljb24tbGVzczo6YmVmb3JlLFxuICAgICAgLmxpc3RpbmctLWxpc3QgLmxpc3RpbmdfX2NvbHVtbi0tc2l6ZS5pY29uLWxlc3M6OmJlZm9yZSB7XG4gICAgICAgIGZvbnQtc2l6ZTogM3B4OyB9XG4gICAgLmxpc3RpbmctLWxpc3QgLmxpc3RpbmdfX2l0ZW1fX2dyaWQge1xuICAgICAgZGlzcGxheTogbm9uZTsgfVxuICAgIC5saXN0aW5nLS1saXN0IC5saXN0aW5nX19pdGVtX19saXN0IHtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjZDhkOGQ4O1xuICAgICAgZmxleDogMCAwIGF1dG87XG4gICAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDAuMnMgbGluZWFyOyB9XG4gICAgICAubGlzdGluZy0tbGlzdCAubGlzdGluZ19faXRlbV9fbGlzdDpob3ZlciB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICNmOGY4Zjg7IH1cbiAgICAubGlzdGluZy0tbGlzdCAubGlzdGluZ19fZG93bmxvYWQgLmxpc3RpbmdfX2NvbnRlbnQge1xuICAgICAgcGFkZGluZzogMXJlbSAwLjYyNXJlbTtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBnYXA6IDJyZW07IH1cbiAgICAgIC5saXN0aW5nLS1saXN0IC5saXN0aW5nX19kb3dubG9hZCAubGlzdGluZ19fY29udGVudF9fbmFtZSB7XG4gICAgICAgIHdpZHRoOiA0NSU7IH1cbiAgICAgICAgLmxpc3RpbmctLWxpc3QgLmxpc3RpbmdfX2Rvd25sb2FkIC5saXN0aW5nX19jb250ZW50X19uYW1lIC5pY29uLCAubGlzdGluZy0tbGlzdCAubGlzdGluZ19fZG93bmxvYWQgLmxpc3RpbmdfX2NvbnRlbnRfX25hbWUgLmxiLWNhbmNlbCwgLmxpc3RpbmctLWxpc3QgLmxpc3RpbmdfX2Rvd25sb2FkIC5saXN0aW5nX19jb250ZW50X19uYW1lIC5sYi1kYXRhIC5sYi1jbG9zZSwgLmxiLWRhdGEgLmxpc3RpbmctLWxpc3QgLmxpc3RpbmdfX2Rvd25sb2FkIC5saXN0aW5nX19jb250ZW50X19uYW1lIC5sYi1jbG9zZSwgLmxpc3RpbmctLWxpc3QgLmxpc3RpbmdfX2Rvd25sb2FkIC5saXN0aW5nX19jb250ZW50X19uYW1lIC5idG4tY2FydCBzcGFuLCAuYnRuLWNhcnQgLmxpc3RpbmctLWxpc3QgLmxpc3RpbmdfX2Rvd25sb2FkIC5saXN0aW5nX19jb250ZW50X19uYW1lIHNwYW4sIC5saXN0aW5nLS1saXN0IC5saXN0aW5nX19kb3dubG9hZCAubGlzdGluZ19fY29udGVudF9fbmFtZSAuZGstc2VsZWN0ZWQsIC5saXN0aW5nLS1saXN0IC5saXN0aW5nX19kb3dubG9hZCAubGlzdGluZ19fY29udGVudF9fbmFtZSBzZWxlY3QsIC5saXN0aW5nLS1saXN0IC5saXN0aW5nX19kb3dubG9hZCAubGlzdGluZ19fY29udGVudF9fbmFtZSAuc2VsZWN0MiAuc2VsZWN0Mi1zZWxlY3Rpb24tLXNpbmdsZSwgLnNlbGVjdDIgLmxpc3RpbmctLWxpc3QgLmxpc3RpbmdfX2Rvd25sb2FkIC5saXN0aW5nX19jb250ZW50X19uYW1lIC5zZWxlY3QyLXNlbGVjdGlvbi0tc2luZ2xlLCAubGlzdGluZy0tbGlzdCAubGlzdGluZ19fZG93bmxvYWQgLmxpc3RpbmdfX2NvbnRlbnRfX25hbWUgLnByb2R1Y3RfX2xhbmd1YWdlcyAuYWRkX3RvX2NhcnRfX2NvbnRhaW5lciAuYnRuLCAucHJvZHVjdF9fbGFuZ3VhZ2VzIC5hZGRfdG9fY2FydF9fY29udGFpbmVyIC5saXN0aW5nLS1saXN0IC5saXN0aW5nX19kb3dubG9hZCAubGlzdGluZ19fY29udGVudF9fbmFtZSAuYnRuLCAubGlzdGluZy0tbGlzdCAubGlzdGluZ19fZG93bmxvYWQgLmxpc3RpbmdfX2NvbnRlbnRfX25hbWUgLnByb2R1Y3RfX2xhbmd1YWdlcyAuYWRkX3RvX2NhcnRfX2NvbnRhaW5lciAubmYtZm9ybS1jb250ZW50IC5uZi1wcmV2aW91cy1pdGVtIC5uZi1wcmV2aW91cywgLnByb2R1Y3RfX2xhbmd1YWdlcyAuYWRkX3RvX2NhcnRfX2NvbnRhaW5lciAubmYtZm9ybS1jb250ZW50IC5uZi1wcmV2aW91cy1pdGVtIC5saXN0aW5nLS1saXN0IC5saXN0aW5nX19kb3dubG9hZCAubGlzdGluZ19fY29udGVudF9fbmFtZSAubmYtcHJldmlvdXMsIC5saXN0aW5nLS1saXN0IC5saXN0aW5nX19kb3dubG9hZCAubGlzdGluZ19fY29udGVudF9fbmFtZSAubmYtZm9ybS1jb250ZW50IC5uZi1wcmV2aW91cy1pdGVtIC5wcm9kdWN0X19sYW5ndWFnZXMgLmFkZF90b19jYXJ0X19jb250YWluZXIgLm5mLXByZXZpb3VzLCAubmYtZm9ybS1jb250ZW50IC5uZi1wcmV2aW91cy1pdGVtIC5wcm9kdWN0X19sYW5ndWFnZXMgLmFkZF90b19jYXJ0X19jb250YWluZXIgLmxpc3RpbmctLWxpc3QgLmxpc3RpbmdfX2Rvd25sb2FkIC5saXN0aW5nX19jb250ZW50X19uYW1lIC5uZi1wcmV2aW91cywgLmxpc3RpbmctLWxpc3QgLmxpc3RpbmdfX2Rvd25sb2FkIC5saXN0aW5nX19jb250ZW50X19uYW1lIC5wcm9kdWN0X19sYW5ndWFnZXMgLmFkZF90b19jYXJ0X19jb250YWluZXIgLm5mLWZvcm0tY29udGVudCAubmYtcHJldmlvdXMtaXRlbSAubmYtbmV4dCwgLnByb2R1Y3RfX2xhbmd1YWdlcyAuYWRkX3RvX2NhcnRfX2NvbnRhaW5lciAubmYtZm9ybS1jb250ZW50IC5uZi1wcmV2aW91cy1pdGVtIC5saXN0aW5nLS1saXN0IC5saXN0aW5nX19kb3dubG9hZCAubGlzdGluZ19fY29udGVudF9fbmFtZSAubmYtbmV4dCwgLmxpc3RpbmctLWxpc3QgLmxpc3RpbmdfX2Rvd25sb2FkIC5saXN0aW5nX19jb250ZW50X19uYW1lIC5uZi1mb3JtLWNvbnRlbnQgLm5mLXByZXZpb3VzLWl0ZW0gLnByb2R1Y3RfX2xhbmd1YWdlcyAuYWRkX3RvX2NhcnRfX2NvbnRhaW5lciAubmYtbmV4dCwgLm5mLWZvcm0tY29udGVudCAubmYtcHJldmlvdXMtaXRlbSAucHJvZHVjdF9fbGFuZ3VhZ2VzIC5hZGRfdG9fY2FydF9fY29udGFpbmVyIC5saXN0aW5nLS1saXN0IC5saXN0aW5nX19kb3dubG9hZCAubGlzdGluZ19fY29udGVudF9fbmFtZSAubmYtbmV4dCwgLmxpc3RpbmctLWxpc3QgLmxpc3RpbmdfX2Rvd25sb2FkIC5saXN0aW5nX19jb250ZW50X19uYW1lIC5wcm9kdWN0X19sYW5ndWFnZXMgLmFkZF90b19jYXJ0X19jb250YWluZXIgLm5mLWZvcm0tY29udGVudCAubmYtbmV4dC1pdGVtIC5uZi1wcmV2aW91cywgLnByb2R1Y3RfX2xhbmd1YWdlcyAuYWRkX3RvX2NhcnRfX2NvbnRhaW5lciAubmYtZm9ybS1jb250ZW50IC5uZi1uZXh0LWl0ZW0gLmxpc3RpbmctLWxpc3QgLmxpc3RpbmdfX2Rvd25sb2FkIC5saXN0aW5nX19jb250ZW50X19uYW1lIC5uZi1wcmV2aW91cywgLmxpc3RpbmctLWxpc3QgLmxpc3RpbmdfX2Rvd25sb2FkIC5saXN0aW5nX19jb250ZW50X19uYW1lIC5uZi1mb3JtLWNvbnRlbnQgLm5mLW5leHQtaXRlbSAucHJvZHVjdF9fbGFuZ3VhZ2VzIC5hZGRfdG9fY2FydF9fY29udGFpbmVyIC5uZi1wcmV2aW91cywgLm5mLWZvcm0tY29udGVudCAubmYtbmV4dC1pdGVtIC5wcm9kdWN0X19sYW5ndWFnZXMgLmFkZF90b19jYXJ0X19jb250YWluZXIgLmxpc3RpbmctLWxpc3QgLmxpc3RpbmdfX2Rvd25sb2FkIC5saXN0aW5nX19jb250ZW50X19uYW1lIC5uZi1wcmV2aW91cywgLmxpc3RpbmctLWxpc3QgLmxpc3RpbmdfX2Rvd25sb2FkIC5saXN0aW5nX19jb250ZW50X19uYW1lIC5wcm9kdWN0X19sYW5ndWFnZXMgLmFkZF90b19jYXJ0X19jb250YWluZXIgLm5mLWZvcm0tY29udGVudCAubmYtbmV4dC1pdGVtIC5uZi1uZXh0LCAucHJvZHVjdF9fbGFuZ3VhZ2VzIC5hZGRfdG9fY2FydF9fY29udGFpbmVyIC5uZi1mb3JtLWNvbnRlbnQgLm5mLW5leHQtaXRlbSAubGlzdGluZy0tbGlzdCAubGlzdGluZ19fZG93bmxvYWQgLmxpc3RpbmdfX2NvbnRlbnRfX25hbWUgLm5mLW5leHQsIC5saXN0aW5nLS1saXN0IC5saXN0aW5nX19kb3dubG9hZCAubGlzdGluZ19fY29udGVudF9fbmFtZSAubmYtZm9ybS1jb250ZW50IC5uZi1uZXh0LWl0ZW0gLnByb2R1Y3RfX2xhbmd1YWdlcyAuYWRkX3RvX2NhcnRfX2NvbnRhaW5lciAubmYtbmV4dCwgLm5mLWZvcm0tY29udGVudCAubmYtbmV4dC1pdGVtIC5wcm9kdWN0X19sYW5ndWFnZXMgLmFkZF90b19jYXJ0X19jb250YWluZXIgLmxpc3RpbmctLWxpc3QgLmxpc3RpbmdfX2Rvd25sb2FkIC5saXN0aW5nX19jb250ZW50X19uYW1lIC5uZi1uZXh0LCAubGlzdGluZy0tbGlzdCAubGlzdGluZ19fZG93bmxvYWQgLmxpc3RpbmdfX2NvbnRlbnRfX25hbWUgLnByb2R1Y3RfX2xhbmd1YWdlcyAuYWRkX3RvX2NhcnRfX2NvbnRhaW5lciAubmYtZm9ybS13cmFwIC5zdWJtaXQtY29udGFpbmVyIC5uZi1maWVsZC1lbGVtZW50IGlucHV0LCAucHJvZHVjdF9fbGFuZ3VhZ2VzIC5hZGRfdG9fY2FydF9fY29udGFpbmVyIC5uZi1mb3JtLXdyYXAgLnN1Ym1pdC1jb250YWluZXIgLm5mLWZpZWxkLWVsZW1lbnQgLmxpc3RpbmctLWxpc3QgLmxpc3RpbmdfX2Rvd25sb2FkIC5saXN0aW5nX19jb250ZW50X19uYW1lIGlucHV0LCAubGlzdGluZy0tbGlzdCAubGlzdGluZ19fZG93bmxvYWQgLmxpc3RpbmdfX2NvbnRlbnRfX25hbWUgLm5mLWZvcm0td3JhcCAuc3VibWl0LWNvbnRhaW5lciAubmYtZmllbGQtZWxlbWVudCAucHJvZHVjdF9fbGFuZ3VhZ2VzIC5hZGRfdG9fY2FydF9fY29udGFpbmVyIGlucHV0LCAubmYtZm9ybS13cmFwIC5zdWJtaXQtY29udGFpbmVyIC5uZi1maWVsZC1lbGVtZW50IC5wcm9kdWN0X19sYW5ndWFnZXMgLmFkZF90b19jYXJ0X19jb250YWluZXIgLmxpc3RpbmctLWxpc3QgLmxpc3RpbmdfX2Rvd25sb2FkIC5saXN0aW5nX19jb250ZW50X19uYW1lIGlucHV0LCAubGlzdGluZy0tbGlzdCAubGlzdGluZ19fZG93bmxvYWQgLmxpc3RpbmdfX2NvbnRlbnRfX25hbWUgLnByb2R1Y3RfX2xhbmd1YWdlcyAuYWRkX3RvX2NhcnRfX2NvbnRhaW5lciAubmYtZm9ybS13cmFwIC5ubWMtcmVnaXN0ZXItc3VibWl0IC5uZi1maWVsZC1lbGVtZW50IGlucHV0LCAucHJvZHVjdF9fbGFuZ3VhZ2VzIC5hZGRfdG9fY2FydF9fY29udGFpbmVyIC5uZi1mb3JtLXdyYXAgLm5tYy1yZWdpc3Rlci1zdWJtaXQgLm5mLWZpZWxkLWVsZW1lbnQgLmxpc3RpbmctLWxpc3QgLmxpc3RpbmdfX2Rvd25sb2FkIC5saXN0aW5nX19jb250ZW50X19uYW1lIGlucHV0LCAubGlzdGluZy0tbGlzdCAubGlzdGluZ19fZG93bmxvYWQgLmxpc3RpbmdfX2NvbnRlbnRfX25hbWUgLm5mLWZvcm0td3JhcCAubm1jLXJlZ2lzdGVyLXN1Ym1pdCAubmYtZmllbGQtZWxlbWVudCAucHJvZHVjdF9fbGFuZ3VhZ2VzIC5hZGRfdG9fY2FydF9fY29udGFpbmVyIGlucHV0LCAubmYtZm9ybS13cmFwIC5ubWMtcmVnaXN0ZXItc3VibWl0IC5uZi1maWVsZC1lbGVtZW50IC5wcm9kdWN0X19sYW5ndWFnZXMgLmFkZF90b19jYXJ0X19jb250YWluZXIgLmxpc3RpbmctLWxpc3QgLmxpc3RpbmdfX2Rvd25sb2FkIC5saXN0aW5nX19jb250ZW50X19uYW1lIGlucHV0LCAubGlzdGluZy0tbGlzdCAubGlzdGluZ19fZG93bmxvYWQgLmxpc3RpbmdfX2NvbnRlbnRfX25hbWUgLnByb2R1Y3RfX2xhbmd1YWdlcyAuYWRkX3RvX2NhcnRfX2NvbnRhaW5lciAuYWRkZWRfdG9fY2FydCwgLnByb2R1Y3RfX2xhbmd1YWdlcyAuYWRkX3RvX2NhcnRfX2NvbnRhaW5lciAubGlzdGluZy0tbGlzdCAubGlzdGluZ19fZG93bmxvYWQgLmxpc3RpbmdfX2NvbnRlbnRfX25hbWUgLmFkZGVkX3RvX2NhcnQsIC5saXN0aW5nLS1saXN0IC5saXN0aW5nX19kb3dubG9hZCAubGlzdGluZ19fY29udGVudF9fbmFtZSAubWFpbi1uYXYgPiB1bCA+IGxpLm1lbnUtaXRlbS1oYXMtY2hpbGRyZW4gPiBhIHtcbiAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgICAgdG9wOiAycHg7XG4gICAgICAgICAgbWFyZ2luLXJpZ2h0OiAwLjVyZW07IH1cbiAgICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogMTYwMHB4KSB7XG4gICAgICAgICAgLmxpc3RpbmctLWxpc3QgLmxpc3RpbmdfX2Rvd25sb2FkIC5saXN0aW5nX19jb250ZW50X19uYW1lIHtcbiAgICAgICAgICAgIHdpZHRoOiA0MCU7IH0gfVxuICAgICAgLmxpc3RpbmctLWxpc3QgLmxpc3RpbmdfX2Rvd25sb2FkIC5saXN0aW5nX19jb250ZW50X192ZXJzaW9uIHtcbiAgICAgICAgd2lkdGg6IDM1JTsgfVxuICAgICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAxNjAwcHgpIHtcbiAgICAgICAgICAubGlzdGluZy0tbGlzdCAubGlzdGluZ19fZG93bmxvYWQgLmxpc3RpbmdfX2NvbnRlbnRfX3ZlcnNpb24ge1xuICAgICAgICAgICAgd2lkdGg6IDMwJTsgfSB9XG4gICAgICAubGlzdGluZy0tbGlzdCAubGlzdGluZ19fZG93bmxvYWQgLmxpc3RpbmdfX2NvbnRlbnRfX2Zvcm1hdCB7XG4gICAgICAgIHdpZHRoOiAxMCU7IH1cbiAgICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogMTYwMHB4KSB7XG4gICAgICAgICAgLmxpc3RpbmctLWxpc3QgLmxpc3RpbmdfX2Rvd25sb2FkIC5saXN0aW5nX19jb250ZW50X19mb3JtYXQge1xuICAgICAgICAgICAgd2lkdGg6IDE1JTsgfSB9XG4gICAgICAubGlzdGluZy0tbGlzdCAubGlzdGluZ19fZG93bmxvYWQgLmxpc3RpbmdfX2NvbnRlbnRfX3NpemUge1xuICAgICAgICB3aWR0aDogMTAlOyB9XG4gICAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDE2MDBweCkge1xuICAgICAgICAgIC5saXN0aW5nLS1saXN0IC5saXN0aW5nX19kb3dubG9hZCAubGlzdGluZ19fY29udGVudF9fc2l6ZSB7XG4gICAgICAgICAgICB3aWR0aDogMTUlOyB9IH1cbiAgLmxpc3RpbmcgLmlzX2Rvd25sb2FkX2l0ZW0gLmxpc3RpbmdfX3ByZXZpZXcge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNmOGY4Zjg7IH1cbiAgICAubGlzdGluZyAuaXNfZG93bmxvYWRfaXRlbSAubGlzdGluZ19fcHJldmlldyAubGlzdGluZ19faWNvbiB7XG4gICAgICBmb250LXNpemU6IDVyZW07XG4gICAgICBjb2xvcjogI2Y3NjUwMDsgfVxuICAubGlzdGluZyAuaXNfZG93bmxvYWRfaXRlbSAubGlzdGluZ19fY29udGVudCAubGlzdGluZ19fdGl0bGUge1xuICAgIHRleHQtdHJhbnNmb3JtOiBub25lO1xuICAgIGZvbnQtd2VpZ2h0OiA0MDA7XG4gICAgZm9udC1zaXplOiAxcmVtOyB9XG4gIC5saXN0aW5nIC5pc19kb3dubG9hZF9pdGVtIC5idXR0b25fX2Rvd25sb2FkIHtcbiAgICBmb250LXNpemU6IDAuODc1cmVtO1xuICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgbGluZS1oZWlnaHQ6IDE0cHg7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHotaW5kZXg6IDA7XG4gICAgYm90dG9tOiAwLjYyNXJlbTtcbiAgICBsZWZ0OiAwLjYyNXJlbTtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICAtd2Via2l0LWJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICB3aWR0aDogY2FsYygxMDAlIC0gMjBweCk7XG4gICAgcGFkZGluZzogMC45Mzc1cmVtIDEuODc1cmVtO1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICAtd2Via2l0LXRyYW5zaXRpb246IGNvbG9yIDAuMnMgbGluZWFyLCBiYWNrZ3JvdW5kLWNvbG9yIDAuMnMgbGluZWFyLCBib3JkZXItY29sb3IgMC4ycyBsaW5lYXI7XG4gICAgdHJhbnNpdGlvbjogY29sb3IgMC4ycyBsaW5lYXIsIGJhY2tncm91bmQtY29sb3IgMC4ycyBsaW5lYXIsIGJvcmRlci1jb2xvciAwLjJzIGxpbmVhcjtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICBjb2xvcjogIzIwMjEyNDtcbiAgICBib3JkZXI6IDAuMDYyNXJlbSBzb2xpZCAjZDlkOWQ5O1xuICAgIGJhY2tncm91bmQ6ICNmZmZmZmY7IH1cbiAgICAubGlzdGluZyAuaXNfZG93bmxvYWRfaXRlbSAuYnV0dG9uX19kb3dubG9hZDpob3ZlciB7XG4gICAgICBjb2xvcjogI2ZmZmZmZjtcbiAgICAgIGJvcmRlci1jb2xvcjogcmdiYSgzMiwgMzMsIDM2LCAwLjMpO1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgzMiwgMzMsIDM2LCAwLjMpOyB9XG4gIC5saXN0aW5nX19pdGVtIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIG1hcmdpbi1yaWdodDogMzBweDtcbiAgICBtYXJnaW4tYm90dG9tOiAzMHB4O1xuICAgIGxpc3Qtc3R5bGU6IG5vbmU7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIG9wYWNpdHk6IDA7XG4gICAgYmFja2dyb3VuZDogI2Y4ZjhmODsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDYwMHB4KSB7XG4gICAgICAubGlzdGluZ19faXRlbSB7XG4gICAgICAgIGZsZXgtZ3JvdzogMDtcbiAgICAgICAgZmxleC1zaHJpbms6IDA7IH0gfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDYwMHB4KSBhbmQgKG1heC13aWR0aDogODUwcHgpIHtcbiAgICAgIC5saXN0aW5nX19pdGVtIHtcbiAgICAgICAgd2lkdGg6IGNhbGMoKDEwMCUgLSAzMXB4KSAvIDIpO1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IDMwcHg7IH1cbiAgICAgICAgLmxpc3RpbmdfX2l0ZW06bnRoLWNoaWxkKDJuICsgMikge1xuICAgICAgICAgIG1hcmdpbi1yaWdodDogMDsgfSB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODUxcHgpIGFuZCAobWF4LXdpZHRoOiAxMTAwcHgpIHtcbiAgICAgIC5saXN0aW5nX19pdGVtIHtcbiAgICAgICAgd2lkdGg6IGNhbGMoKDEwMCUgLSA2MXB4KSAvIDMpOyB9XG4gICAgICAgIC5saXN0aW5nX19pdGVtOm50aC1jaGlsZCgzbiArIDMpIHtcbiAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDA7IH0gfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDExMDBweCkgYW5kIChtYXgtd2lkdGg6IDEyNTBweCkge1xuICAgICAgLmxpc3RpbmdfX2l0ZW0ge1xuICAgICAgICB3aWR0aDogY2FsYygoMTAwJSAtIDMxcHgpIC8gMik7IH1cbiAgICAgICAgLmxpc3RpbmdfX2l0ZW06bnRoLWNoaWxkKDJuICsgMikge1xuICAgICAgICAgIG1hcmdpbi1yaWdodDogMDsgfSB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTI1MXB4KSBhbmQgKG1heC13aWR0aDogMTkyMHB4KSB7XG4gICAgICAubGlzdGluZ19faXRlbSB7XG4gICAgICAgIHdpZHRoOiBjYWxjKCgxMDAlIC0gNjFweCkgLyAzKTsgfVxuICAgICAgICAubGlzdGluZ19faXRlbTpudGgtY2hpbGQoM24gKyAzKSB7XG4gICAgICAgICAgbWFyZ2luLXJpZ2h0OiAwOyB9XG4gICAgICAgIC5saXN0aW5nLS1kb2N1bWVudHMgLmxpc3RpbmdfX2l0ZW0ge1xuICAgICAgICAgIHdpZHRoOiBjYWxjKCgxMDAlIC0gOTFweCkgLyA0KTsgfVxuICAgICAgICAgIC5saXN0aW5nLS1kb2N1bWVudHMgLmxpc3RpbmdfX2l0ZW06bnRoLWNoaWxkKDNuICsgMykge1xuICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiAzMHB4OyB9XG4gICAgICAgICAgLmxpc3RpbmctLWRvY3VtZW50cyAubGlzdGluZ19faXRlbTpudGgtY2hpbGQoNG4gKyA0KSB7XG4gICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDA7IH0gfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDE5MjFweCkge1xuICAgICAgLmxpc3RpbmdfX2l0ZW0ge1xuICAgICAgICB3aWR0aDogY2FsYygoMTAwJSAtIDkxcHgpIC8gNCk7IH1cbiAgICAgICAgLmxpc3RpbmdfX2l0ZW06bnRoLWNoaWxkKDRuICsgNCkge1xuICAgICAgICAgIG1hcmdpbi1yaWdodDogMDsgfSB9XG4gIC5saXN0aW5nX19wcmV2aWV3IHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgLyogPiAqIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAwO1xuICAgIGxlZnQ6IDA7XG4gICAgcmlnaHQ6IDA7XG4gICAgYm90dG9tOiAwO1xuICB9ICovXG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIG1hcmdpbjogMDtcbiAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICAgIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlcjtcbiAgICBiYWNrZ3JvdW5kLXNpemU6IGNvdmVyOyB9XG4gICAgLmxpc3RpbmdfX3ByZXZpZXc6YmVmb3JlIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICBwYWRkaW5nLXRvcDogNjYuNjY2NjclO1xuICAgICAgY29udGVudDogXCIgXCI7IH1cbiAgICAubGlzdGluZy0tZG9jdW1lbnRzIC5saXN0aW5nX19wcmV2aWV3IHtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgIC8qID4gKiB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMDtcbiAgICBsZWZ0OiAwO1xuICAgIHJpZ2h0OiAwO1xuICAgIGJvdHRvbTogMDtcbiAgfSAqLyB9XG4gICAgICAubGlzdGluZy0tZG9jdW1lbnRzIC5saXN0aW5nX19wcmV2aWV3OmJlZm9yZSB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgcGFkZGluZy10b3A6IDE0MS40Mjg1NyU7XG4gICAgICAgIGNvbnRlbnQ6IFwiIFwiOyB9XG4gICAgLmxpc3RpbmdfX3ByZXZpZXctLXZpZGVvIHtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgIC8qID4gKiB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMDtcbiAgICBsZWZ0OiAwO1xuICAgIHJpZ2h0OiAwO1xuICAgIGJvdHRvbTogMDtcbiAgfSAqLyB9XG4gICAgICAubGlzdGluZ19fcHJldmlldy0tdmlkZW86YmVmb3JlIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBwYWRkaW5nLXRvcDogNTYuMjUlO1xuICAgICAgICBjb250ZW50OiBcIiBcIjsgfVxuICAubGlzdGluZ19fbGluayB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMDtcbiAgICBsZWZ0OiAwO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogMTAwJTsgfVxuICAgIC5saXN0aW5nX19saW5rOjpiZWZvcmUge1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgdG9wOiAwO1xuICAgICAgbGVmdDogMDtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgY29udGVudDogXCJcIjtcbiAgICAgIHRyYW5zaXRpb246IG9wYWNpdHkgMC4ycyBsaW5lYXI7XG4gICAgICBvcGFjaXR5OiAwO1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzIwMjEyNDsgfVxuICAgIC5saXN0aW5nX19saW5rOmhvdmVyOjpiZWZvcmUge1xuICAgICAgb3BhY2l0eTogMC42OyB9XG4gICAgLmxpc3RpbmdfX2xpbms6aG92ZXIgLmxpc3RpbmdfX2ljb24ge1xuICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtNTAlLCAtNTAlLCAwKTtcbiAgICAgIG9wYWNpdHk6IDE7IH1cbiAgLmxpc3RpbmdfX2NvbnRlbnQge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB6LWluZGV4OiAwO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgcGFkZGluZzogMi4xODc1cmVtIDAuNjI1cmVtO1xuICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMC4ycyBsaW5lYXI7XG4gICAgY29sb3I6ICMyMDIxMjQ7IH1cbiAgICAubGlzdGluZ19fY29udGVudC0tcGFkZGluZyB7XG4gICAgICBwYWRkaW5nLWJvdHRvbTogNC44MTI1cmVtOyB9XG4gICAgLmxpc3RpbmdfX2NvbnRlbnQtLW5vdGl0bGUge1xuICAgICAgcGFkZGluZzogMDsgfVxuICAgIC5saXN0aW5nX19jb250ZW50LS10d28ge1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0O1xuICAgICAganVzdGlmeS1zZWxmOiBjZW50ZXI7XG4gICAgICBwYWRkaW5nLXRvcDogMDtcbiAgICAgIHBhZGRpbmctcmlnaHQ6IDA7XG4gICAgICBwYWRkaW5nLWJvdHRvbTogMDsgfVxuICAgICAgLmxpc3RpbmdfX2NvbnRlbnQtLXR3byAubGlzdGluZ19fY29udGVudF9fbGVmdCB7XG4gICAgICAgIGZsZXg6IDE7XG4gICAgICAgIHBhZGRpbmc6IDEwcHggMDsgfVxuICAgICAgLmxpc3RpbmdfX2NvbnRlbnQtLXR3byAubGlzdGluZ19fY29udGVudF9fcmlnaHQge1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IDVweDsgfVxuICAgICAgLmxpc3RpbmdfX2NvbnRlbnQtLXR3byAubGlzdGluZ19fdGl0bGUge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiA1cHg7XG4gICAgICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiA0MDA7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxLjI7IH1cbiAgICAgIC5saXN0aW5nX19jb250ZW50LS10d28gLmxpc3RpbmdfX21ldGEge1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICBmb250LXNpemU6IDEycHg7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiAzMDA7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxO1xuICAgICAgICBmb250LWZhbWlseTogXCJmdXR1cmEtcHRcIiwgRnV0dXJhLCBcIlRyZWJ1Y2hldCBNU1wiLCBBcmlhbCwgc2Fucy1zZXJpZjsgfVxuICAgICAgLmxpc3RpbmdfX2NvbnRlbnQtLXR3byAubGlzdGluZ19faXRlbV9fZG93bmxvYWQge1xuICAgICAgICAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7XG4gICAgICAgIC1tb3otYXBwZWFyYW5jZTogbm9uZTtcbiAgICAgICAgYXBwZWFyYW5jZTogbm9uZTtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgICAgIGNvbG9yOiAjZmZmZmZmO1xuICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgICAgIHdpZHRoOiA1NHB4O1xuICAgICAgICBoZWlnaHQ6IDU0cHg7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICNmNzY1MDA7XG4gICAgICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMC4zcyBjdWJpYy1iZXppZXIoMC42LCAwLjA0LCAwLjk4LCAwLjMzNSk7IH1cbiAgICAgICAgLmxpc3RpbmdfX2NvbnRlbnQtLXR3byAubGlzdGluZ19faXRlbV9fZG93bmxvYWQ6aG92ZXIge1xuICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICNjNDUwMDA7IH1cbiAgLmxpc3RpbmcgYS5saXN0aW5nX19jb250ZW50OmhvdmVyIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjBmMGYwOyB9XG4gIC5saXN0aW5nX19sYWJlbCB7XG4gICAgZm9udC1zaXplOiAwLjg3NXJlbTtcbiAgICBsaW5lLWhlaWdodDogMTRweDtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgei1pbmRleDogMDtcbiAgICBib3R0b206IDAuNjI1cmVtO1xuICAgIGxlZnQ6IDAuNjI1cmVtO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgd2lkdGg6IGNhbGMoMTAwJSAtIDIwcHgpO1xuICAgIHBhZGRpbmc6IDAuOTM3NXJlbSAxLjg3NXJlbTtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgdHJhbnNpdGlvbjogY29sb3IgMC4ycyBsaW5lYXIsIGJhY2tncm91bmQtY29sb3IgMC4ycyBsaW5lYXIsIGJvcmRlci1jb2xvciAwLjJzIGxpbmVhcjtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICBjb2xvcjogIzIwMjEyNDtcbiAgICBib3JkZXI6IDAuMDYyNXJlbSBzb2xpZCAjZDlkOWQ5O1xuICAgIGJhY2tncm91bmQ6ICNmZmZmZmY7IH1cbiAgICAubGlzdGluZ19fbGFiZWw6aG92ZXIge1xuICAgICAgY29sb3I6ICNmZmZmZmY7XG4gICAgICBib3JkZXItY29sb3I6IHJnYmEoMzIsIDMzLCAzNiwgMC4zKTtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMzIsIDMzLCAzNiwgMC4zKTsgfVxuICAgIC5saXN0aW5nX19sYWJlbCBzcGFuIHtcbiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jazsgfVxuICAgICAgLmxpc3RpbmdfX2xhYmVsIHNwYW46OmJlZm9yZSB7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxNXB4O1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IDAuNjI1cmVtO1xuICAgICAgICB2ZXJ0aWNhbC1hbGlnbjogdG9wOyB9XG4gICAgLmxpc3RpbmdfX2NvbnRhaW5lcltkYXRhLXBvc3QtdHlwZT1cIm5tY19kZWNvX2JpbWNhZFwiXSAubGlzdGluZ19fbGFiZWwsXG4gICAgLmxpc3RpbmdfX2NvbnRhaW5lcltkYXRhLXBvc3QtdHlwZT1cIm5tY19kZWNvX3RlbmR0eHRcIl0gLmxpc3RpbmdfX2xhYmVsLFxuICAgIC5saXN0aW5nX19jb250YWluZXJbZGF0YS1wb3N0LXR5cGU9XCJubWNfdW5kZXJfdGVuZHR4dFwiXSAubGlzdGluZ19fbGFiZWwge1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgYm90dG9tOiAwO1xuICAgICAgbGVmdDogMDtcbiAgICAgIHdpZHRoOiAxMDAlOyB9XG4gIC5saXN0aW5nX19jaGVja2JveCB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIGJvdHRvbTogMDsgfVxuICAgIC5saXN0aW5nX19jaGVja2JveDpjaGVja2VkICsgbGFiZWwge1xuICAgICAgY29sb3I6ICNmZmZmZmY7XG4gICAgICBib3JkZXItY29sb3I6IHJnYmEoMzIsIDMzLCAzNiwgMC42KTtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMzIsIDMzLCAzNiwgMC42KTsgfVxuICAubGlzdGluZ19fdGl0bGUge1xuICAgIGZvbnQtZmFtaWx5OiBcImZ1dHVyYS1wdFwiLCBGdXR1cmEsIFwiVHJlYnVjaGV0IE1TXCIsIEFyaWFsLCBzYW5zLXNlcmlmO1xuICAgIGZvbnQtc2l6ZTogMC44NzVyZW07XG4gICAgbWFyZ2luLXRvcDogMDtcbiAgICBtYXJnaW4tYm90dG9tOiAwLjMxMjVyZW07XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIGxldHRlci1zcGFjaW5nOiAwLjEyNXJlbTtcbiAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgIHdvcmQtd3JhcDogYnJlYWstd29yZDsgfVxuICAubGlzdGluZ19fc3VtbWFyeSB7XG4gICAgZm9udC1zaXplOiAwLjg3NXJlbTtcbiAgICBtYXJnaW4tdG9wOiAxLjI1cmVtO1xuICAgIHRleHQtYWxpZ246IGxlZnQ7IH1cbiAgLmxpc3RpbmdfX3N1YnRpdGxlIHtcbiAgICBmb250LXNpemU6IDAuNzVyZW07IH1cbiAgLmxpc3RpbmdfX2ljb24ge1xuICAgIGZvbnQtc2l6ZTogMy4xMjVyZW07XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogNTAlO1xuICAgIGxlZnQ6IDUwJTtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICB0cmFuc2l0aW9uOiBvcGFjaXR5IDAuMnMgbGluZWFyLCB0cmFuc2Zvcm0gMC4ycyBsaW5lYXI7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtNTAlLCAtNTAlLCAwKTtcbiAgICB2ZXJ0aWNhbC1hbGlnbjogdG9wO1xuICAgIG9wYWNpdHk6IDAuNTtcbiAgICBjb2xvcjogIzIwMjEyNDsgfVxuICAgIC5saXN0aW5nX19pY29uOjpiZWZvcmUge1xuICAgICAgdmVydGljYWwtYWxpZ246IHRvcDsgfVxuICAgIC5saXN0aW5nX19pY29uLS1wcmV2aWV3IHtcbiAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTUwJSwgLTQwJSwgMCk7XG4gICAgICBvcGFjaXR5OiAwO1xuICAgICAgY29sb3I6ICNmZmZmZmY7IH1cbiAgLmxpc3RpbmdfX2Vycm9ycyB7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICBoZWlnaHQ6IDA7XG4gICAgbWFyZ2luOiAwO1xuICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgcGFkZGluZzogMS44NzVyZW0gMDtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgb3BhY2l0eTogMDtcbiAgICBjb2xvcjogI2Y3NjUwMDsgfVxuICAubGlzdGluZ19fbG9hZG1vcmU6OmJlZm9yZSB7XG4gICAgZm9udC1zaXplOiAxLjg3NXJlbTtcbiAgICBsaW5lLWhlaWdodDogMTtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgei1pbmRleDogMDtcbiAgICB0b3A6IDUwJTtcbiAgICBsZWZ0OiA1MCU7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgd2lkdGg6IDEuODc1cmVtO1xuICAgIGhlaWdodDogMS44NzVyZW07XG4gICAgbWFyZ2luLXRvcDogLTAuOTM3NXJlbTtcbiAgICBtYXJnaW4tbGVmdDogLTAuOTM3NXJlbTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC01MCUsIC01MCUsIDApO1xuICAgIHRyYW5zZm9ybS1vcmlnaW46IGNlbnRlcjtcbiAgICBhbmltYXRpb246IHJvdGF0aW5nIDAuN3MgbGluZWFyIGluZmluaXRlO1xuICAgIHZlcnRpY2FsLWFsaWduOiB0b3A7XG4gICAgb3BhY2l0eTogMDtcbiAgICBjb2xvcjogI2ZmZmZmZjsgfVxuICAubGlzdGluZ19fbG9hZG1vcmUgc3BhbiB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHotaW5kZXg6IDEwOyB9XG4gIC5saXN0aW5nX19sb2FkbW9yZS5pcy1sb2FkIHNwYW4ge1xuICAgIG9wYWNpdHk6IDA7IH1cbiAgLmxpc3RpbmdfX2xvYWRtb3JlLmlzLWxvYWQ6OmJlZm9yZSB7XG4gICAgb3BhY2l0eTogMTsgfVxuXG4ubGlzdGluZ19fdmlldyB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7XG4gIHBhZGRpbmc6IDAgNi4yNXJlbSAwIDA7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgbGVmdDogMC43cmVtOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDE2MDBweCkge1xuICAgIC5saXN0aW5nX192aWV3IHtcbiAgICAgIHBhZGRpbmc6IDAgMi41cmVtIDFyZW0gMDsgfSB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDExMDBweCkge1xuICAgIC5saXN0aW5nX192aWV3IHtcbiAgICAgIHBhZGRpbmc6IDAgMS44NzVyZW0gMXJlbSAxLjg3NXJlbTsgfSB9XG4gIC5saXN0aW5nX192aWV3IC5pY29uLCAubGlzdGluZ19fdmlldyAubGItY2FuY2VsLCAubGlzdGluZ19fdmlldyAubGItZGF0YSAubGItY2xvc2UsIC5sYi1kYXRhIC5saXN0aW5nX192aWV3IC5sYi1jbG9zZSwgLmxpc3RpbmdfX3ZpZXcgLmJ0bi1jYXJ0IHNwYW4sIC5idG4tY2FydCAubGlzdGluZ19fdmlldyBzcGFuLCAubGlzdGluZ19fdmlldyAuZGstc2VsZWN0ZWQsIC5saXN0aW5nX192aWV3IHNlbGVjdCwgLmxpc3RpbmdfX3ZpZXcgLnNlbGVjdDIgLnNlbGVjdDItc2VsZWN0aW9uLS1zaW5nbGUsIC5zZWxlY3QyIC5saXN0aW5nX192aWV3IC5zZWxlY3QyLXNlbGVjdGlvbi0tc2luZ2xlLCAubGlzdGluZ19fdmlldyAucHJvZHVjdF9fbGFuZ3VhZ2VzIC5hZGRfdG9fY2FydF9fY29udGFpbmVyIC5idG4sIC5wcm9kdWN0X19sYW5ndWFnZXMgLmFkZF90b19jYXJ0X19jb250YWluZXIgLmxpc3RpbmdfX3ZpZXcgLmJ0biwgLmxpc3RpbmdfX3ZpZXcgLnByb2R1Y3RfX2xhbmd1YWdlcyAuYWRkX3RvX2NhcnRfX2NvbnRhaW5lciAubmYtZm9ybS1jb250ZW50IC5uZi1wcmV2aW91cy1pdGVtIC5uZi1wcmV2aW91cywgLnByb2R1Y3RfX2xhbmd1YWdlcyAuYWRkX3RvX2NhcnRfX2NvbnRhaW5lciAubmYtZm9ybS1jb250ZW50IC5uZi1wcmV2aW91cy1pdGVtIC5saXN0aW5nX192aWV3IC5uZi1wcmV2aW91cywgLmxpc3RpbmdfX3ZpZXcgLm5mLWZvcm0tY29udGVudCAubmYtcHJldmlvdXMtaXRlbSAucHJvZHVjdF9fbGFuZ3VhZ2VzIC5hZGRfdG9fY2FydF9fY29udGFpbmVyIC5uZi1wcmV2aW91cywgLm5mLWZvcm0tY29udGVudCAubmYtcHJldmlvdXMtaXRlbSAucHJvZHVjdF9fbGFuZ3VhZ2VzIC5hZGRfdG9fY2FydF9fY29udGFpbmVyIC5saXN0aW5nX192aWV3IC5uZi1wcmV2aW91cywgLmxpc3RpbmdfX3ZpZXcgLnByb2R1Y3RfX2xhbmd1YWdlcyAuYWRkX3RvX2NhcnRfX2NvbnRhaW5lciAubmYtZm9ybS1jb250ZW50IC5uZi1wcmV2aW91cy1pdGVtIC5uZi1uZXh0LCAucHJvZHVjdF9fbGFuZ3VhZ2VzIC5hZGRfdG9fY2FydF9fY29udGFpbmVyIC5uZi1mb3JtLWNvbnRlbnQgLm5mLXByZXZpb3VzLWl0ZW0gLmxpc3RpbmdfX3ZpZXcgLm5mLW5leHQsIC5saXN0aW5nX192aWV3IC5uZi1mb3JtLWNvbnRlbnQgLm5mLXByZXZpb3VzLWl0ZW0gLnByb2R1Y3RfX2xhbmd1YWdlcyAuYWRkX3RvX2NhcnRfX2NvbnRhaW5lciAubmYtbmV4dCwgLm5mLWZvcm0tY29udGVudCAubmYtcHJldmlvdXMtaXRlbSAucHJvZHVjdF9fbGFuZ3VhZ2VzIC5hZGRfdG9fY2FydF9fY29udGFpbmVyIC5saXN0aW5nX192aWV3IC5uZi1uZXh0LCAubGlzdGluZ19fdmlldyAucHJvZHVjdF9fbGFuZ3VhZ2VzIC5hZGRfdG9fY2FydF9fY29udGFpbmVyIC5uZi1mb3JtLWNvbnRlbnQgLm5mLW5leHQtaXRlbSAubmYtcHJldmlvdXMsIC5wcm9kdWN0X19sYW5ndWFnZXMgLmFkZF90b19jYXJ0X19jb250YWluZXIgLm5mLWZvcm0tY29udGVudCAubmYtbmV4dC1pdGVtIC5saXN0aW5nX192aWV3IC5uZi1wcmV2aW91cywgLmxpc3RpbmdfX3ZpZXcgLm5mLWZvcm0tY29udGVudCAubmYtbmV4dC1pdGVtIC5wcm9kdWN0X19sYW5ndWFnZXMgLmFkZF90b19jYXJ0X19jb250YWluZXIgLm5mLXByZXZpb3VzLCAubmYtZm9ybS1jb250ZW50IC5uZi1uZXh0LWl0ZW0gLnByb2R1Y3RfX2xhbmd1YWdlcyAuYWRkX3RvX2NhcnRfX2NvbnRhaW5lciAubGlzdGluZ19fdmlldyAubmYtcHJldmlvdXMsIC5saXN0aW5nX192aWV3IC5wcm9kdWN0X19sYW5ndWFnZXMgLmFkZF90b19jYXJ0X19jb250YWluZXIgLm5mLWZvcm0tY29udGVudCAubmYtbmV4dC1pdGVtIC5uZi1uZXh0LCAucHJvZHVjdF9fbGFuZ3VhZ2VzIC5hZGRfdG9fY2FydF9fY29udGFpbmVyIC5uZi1mb3JtLWNvbnRlbnQgLm5mLW5leHQtaXRlbSAubGlzdGluZ19fdmlldyAubmYtbmV4dCwgLmxpc3RpbmdfX3ZpZXcgLm5mLWZvcm0tY29udGVudCAubmYtbmV4dC1pdGVtIC5wcm9kdWN0X19sYW5ndWFnZXMgLmFkZF90b19jYXJ0X19jb250YWluZXIgLm5mLW5leHQsIC5uZi1mb3JtLWNvbnRlbnQgLm5mLW5leHQtaXRlbSAucHJvZHVjdF9fbGFuZ3VhZ2VzIC5hZGRfdG9fY2FydF9fY29udGFpbmVyIC5saXN0aW5nX192aWV3IC5uZi1uZXh0LCAubGlzdGluZ19fdmlldyAucHJvZHVjdF9fbGFuZ3VhZ2VzIC5hZGRfdG9fY2FydF9fY29udGFpbmVyIC5uZi1mb3JtLXdyYXAgLnN1Ym1pdC1jb250YWluZXIgLm5mLWZpZWxkLWVsZW1lbnQgaW5wdXQsIC5wcm9kdWN0X19sYW5ndWFnZXMgLmFkZF90b19jYXJ0X19jb250YWluZXIgLm5mLWZvcm0td3JhcCAuc3VibWl0LWNvbnRhaW5lciAubmYtZmllbGQtZWxlbWVudCAubGlzdGluZ19fdmlldyBpbnB1dCwgLmxpc3RpbmdfX3ZpZXcgLm5mLWZvcm0td3JhcCAuc3VibWl0LWNvbnRhaW5lciAubmYtZmllbGQtZWxlbWVudCAucHJvZHVjdF9fbGFuZ3VhZ2VzIC5hZGRfdG9fY2FydF9fY29udGFpbmVyIGlucHV0LCAubmYtZm9ybS13cmFwIC5zdWJtaXQtY29udGFpbmVyIC5uZi1maWVsZC1lbGVtZW50IC5wcm9kdWN0X19sYW5ndWFnZXMgLmFkZF90b19jYXJ0X19jb250YWluZXIgLmxpc3RpbmdfX3ZpZXcgaW5wdXQsIC5saXN0aW5nX192aWV3IC5wcm9kdWN0X19sYW5ndWFnZXMgLmFkZF90b19jYXJ0X19jb250YWluZXIgLm5mLWZvcm0td3JhcCAubm1jLXJlZ2lzdGVyLXN1Ym1pdCAubmYtZmllbGQtZWxlbWVudCBpbnB1dCwgLnByb2R1Y3RfX2xhbmd1YWdlcyAuYWRkX3RvX2NhcnRfX2NvbnRhaW5lciAubmYtZm9ybS13cmFwIC5ubWMtcmVnaXN0ZXItc3VibWl0IC5uZi1maWVsZC1lbGVtZW50IC5saXN0aW5nX192aWV3IGlucHV0LCAubGlzdGluZ19fdmlldyAubmYtZm9ybS13cmFwIC5ubWMtcmVnaXN0ZXItc3VibWl0IC5uZi1maWVsZC1lbGVtZW50IC5wcm9kdWN0X19sYW5ndWFnZXMgLmFkZF90b19jYXJ0X19jb250YWluZXIgaW5wdXQsIC5uZi1mb3JtLXdyYXAgLm5tYy1yZWdpc3Rlci1zdWJtaXQgLm5mLWZpZWxkLWVsZW1lbnQgLnByb2R1Y3RfX2xhbmd1YWdlcyAuYWRkX3RvX2NhcnRfX2NvbnRhaW5lciAubGlzdGluZ19fdmlldyBpbnB1dCwgLmxpc3RpbmdfX3ZpZXcgLnByb2R1Y3RfX2xhbmd1YWdlcyAuYWRkX3RvX2NhcnRfX2NvbnRhaW5lciAuYWRkZWRfdG9fY2FydCwgLnByb2R1Y3RfX2xhbmd1YWdlcyAuYWRkX3RvX2NhcnRfX2NvbnRhaW5lciAubGlzdGluZ19fdmlldyAuYWRkZWRfdG9fY2FydCwgLmxpc3RpbmdfX3ZpZXcgLm1haW4tbmF2ID4gdWwgPiBsaS5tZW51LWl0ZW0taGFzLWNoaWxkcmVuID4gYSB7XG4gICAgZm9udC1zaXplOiAxLjM3NXJlbTtcbiAgICBsaW5lLWhlaWdodDogMTtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgdG9wOiAwLjEyNXJlbTtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gICAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIDAuMnMgbGluZWFyO1xuICAgIHZlcnRpY2FsLWFsaWduOiB0b3A7IH1cbiAgICAubGlzdGluZ19fdmlldyAuaWNvbjpob3ZlciwgLmxpc3RpbmdfX3ZpZXcgLmxiLWNhbmNlbDpob3ZlciwgLmxpc3RpbmdfX3ZpZXcgLmxiLWRhdGEgLmxiLWNsb3NlOmhvdmVyLCAubGItZGF0YSAubGlzdGluZ19fdmlldyAubGItY2xvc2U6aG92ZXIsIC5saXN0aW5nX192aWV3IC5idG4tY2FydCBzcGFuOmhvdmVyLCAuYnRuLWNhcnQgLmxpc3RpbmdfX3ZpZXcgc3Bhbjpob3ZlciwgLmxpc3RpbmdfX3ZpZXcgLmRrLXNlbGVjdGVkOmhvdmVyLCAubGlzdGluZ19fdmlldyBzZWxlY3Q6aG92ZXIsIC5saXN0aW5nX192aWV3IC5zZWxlY3QyIC5zZWxlY3QyLXNlbGVjdGlvbi0tc2luZ2xlOmhvdmVyLCAuc2VsZWN0MiAubGlzdGluZ19fdmlldyAuc2VsZWN0Mi1zZWxlY3Rpb24tLXNpbmdsZTpob3ZlciwgLmxpc3RpbmdfX3ZpZXcgLnByb2R1Y3RfX2xhbmd1YWdlcyAuYWRkX3RvX2NhcnRfX2NvbnRhaW5lciAuYnRuOmhvdmVyLCAucHJvZHVjdF9fbGFuZ3VhZ2VzIC5hZGRfdG9fY2FydF9fY29udGFpbmVyIC5saXN0aW5nX192aWV3IC5idG46aG92ZXIsIC5saXN0aW5nX192aWV3IC5wcm9kdWN0X19sYW5ndWFnZXMgLmFkZF90b19jYXJ0X19jb250YWluZXIgLm5mLWZvcm0tY29udGVudCAubmYtcHJldmlvdXMtaXRlbSAubmYtcHJldmlvdXM6aG92ZXIsIC5wcm9kdWN0X19sYW5ndWFnZXMgLmFkZF90b19jYXJ0X19jb250YWluZXIgLm5mLWZvcm0tY29udGVudCAubmYtcHJldmlvdXMtaXRlbSAubGlzdGluZ19fdmlldyAubmYtcHJldmlvdXM6aG92ZXIsIC5saXN0aW5nX192aWV3IC5uZi1mb3JtLWNvbnRlbnQgLm5mLXByZXZpb3VzLWl0ZW0gLnByb2R1Y3RfX2xhbmd1YWdlcyAuYWRkX3RvX2NhcnRfX2NvbnRhaW5lciAubmYtcHJldmlvdXM6aG92ZXIsIC5uZi1mb3JtLWNvbnRlbnQgLm5mLXByZXZpb3VzLWl0ZW0gLnByb2R1Y3RfX2xhbmd1YWdlcyAuYWRkX3RvX2NhcnRfX2NvbnRhaW5lciAubGlzdGluZ19fdmlldyAubmYtcHJldmlvdXM6aG92ZXIsIC5saXN0aW5nX192aWV3IC5wcm9kdWN0X19sYW5ndWFnZXMgLmFkZF90b19jYXJ0X19jb250YWluZXIgLm5mLWZvcm0tY29udGVudCAubmYtcHJldmlvdXMtaXRlbSAubmYtbmV4dDpob3ZlciwgLnByb2R1Y3RfX2xhbmd1YWdlcyAuYWRkX3RvX2NhcnRfX2NvbnRhaW5lciAubmYtZm9ybS1jb250ZW50IC5uZi1wcmV2aW91cy1pdGVtIC5saXN0aW5nX192aWV3IC5uZi1uZXh0OmhvdmVyLCAubGlzdGluZ19fdmlldyAubmYtZm9ybS1jb250ZW50IC5uZi1wcmV2aW91cy1pdGVtIC5wcm9kdWN0X19sYW5ndWFnZXMgLmFkZF90b19jYXJ0X19jb250YWluZXIgLm5mLW5leHQ6aG92ZXIsIC5uZi1mb3JtLWNvbnRlbnQgLm5mLXByZXZpb3VzLWl0ZW0gLnByb2R1Y3RfX2xhbmd1YWdlcyAuYWRkX3RvX2NhcnRfX2NvbnRhaW5lciAubGlzdGluZ19fdmlldyAubmYtbmV4dDpob3ZlciwgLmxpc3RpbmdfX3ZpZXcgLnByb2R1Y3RfX2xhbmd1YWdlcyAuYWRkX3RvX2NhcnRfX2NvbnRhaW5lciAubmYtZm9ybS1jb250ZW50IC5uZi1uZXh0LWl0ZW0gLm5mLXByZXZpb3VzOmhvdmVyLCAucHJvZHVjdF9fbGFuZ3VhZ2VzIC5hZGRfdG9fY2FydF9fY29udGFpbmVyIC5uZi1mb3JtLWNvbnRlbnQgLm5mLW5leHQtaXRlbSAubGlzdGluZ19fdmlldyAubmYtcHJldmlvdXM6aG92ZXIsIC5saXN0aW5nX192aWV3IC5uZi1mb3JtLWNvbnRlbnQgLm5mLW5leHQtaXRlbSAucHJvZHVjdF9fbGFuZ3VhZ2VzIC5hZGRfdG9fY2FydF9fY29udGFpbmVyIC5uZi1wcmV2aW91czpob3ZlciwgLm5mLWZvcm0tY29udGVudCAubmYtbmV4dC1pdGVtIC5wcm9kdWN0X19sYW5ndWFnZXMgLmFkZF90b19jYXJ0X19jb250YWluZXIgLmxpc3RpbmdfX3ZpZXcgLm5mLXByZXZpb3VzOmhvdmVyLCAubGlzdGluZ19fdmlldyAucHJvZHVjdF9fbGFuZ3VhZ2VzIC5hZGRfdG9fY2FydF9fY29udGFpbmVyIC5uZi1mb3JtLWNvbnRlbnQgLm5mLW5leHQtaXRlbSAubmYtbmV4dDpob3ZlciwgLnByb2R1Y3RfX2xhbmd1YWdlcyAuYWRkX3RvX2NhcnRfX2NvbnRhaW5lciAubmYtZm9ybS1jb250ZW50IC5uZi1uZXh0LWl0ZW0gLmxpc3RpbmdfX3ZpZXcgLm5mLW5leHQ6aG92ZXIsIC5saXN0aW5nX192aWV3IC5uZi1mb3JtLWNvbnRlbnQgLm5mLW5leHQtaXRlbSAucHJvZHVjdF9fbGFuZ3VhZ2VzIC5hZGRfdG9fY2FydF9fY29udGFpbmVyIC5uZi1uZXh0OmhvdmVyLCAubmYtZm9ybS1jb250ZW50IC5uZi1uZXh0LWl0ZW0gLnByb2R1Y3RfX2xhbmd1YWdlcyAuYWRkX3RvX2NhcnRfX2NvbnRhaW5lciAubGlzdGluZ19fdmlldyAubmYtbmV4dDpob3ZlciwgLmxpc3RpbmdfX3ZpZXcgLnByb2R1Y3RfX2xhbmd1YWdlcyAuYWRkX3RvX2NhcnRfX2NvbnRhaW5lciAubmYtZm9ybS13cmFwIC5zdWJtaXQtY29udGFpbmVyIC5uZi1maWVsZC1lbGVtZW50IGlucHV0OmhvdmVyLCAucHJvZHVjdF9fbGFuZ3VhZ2VzIC5hZGRfdG9fY2FydF9fY29udGFpbmVyIC5uZi1mb3JtLXdyYXAgLnN1Ym1pdC1jb250YWluZXIgLm5mLWZpZWxkLWVsZW1lbnQgLmxpc3RpbmdfX3ZpZXcgaW5wdXQ6aG92ZXIsIC5saXN0aW5nX192aWV3IC5uZi1mb3JtLXdyYXAgLnN1Ym1pdC1jb250YWluZXIgLm5mLWZpZWxkLWVsZW1lbnQgLnByb2R1Y3RfX2xhbmd1YWdlcyAuYWRkX3RvX2NhcnRfX2NvbnRhaW5lciBpbnB1dDpob3ZlciwgLm5mLWZvcm0td3JhcCAuc3VibWl0LWNvbnRhaW5lciAubmYtZmllbGQtZWxlbWVudCAucHJvZHVjdF9fbGFuZ3VhZ2VzIC5hZGRfdG9fY2FydF9fY29udGFpbmVyIC5saXN0aW5nX192aWV3IGlucHV0OmhvdmVyLCAubGlzdGluZ19fdmlldyAucHJvZHVjdF9fbGFuZ3VhZ2VzIC5hZGRfdG9fY2FydF9fY29udGFpbmVyIC5uZi1mb3JtLXdyYXAgLm5tYy1yZWdpc3Rlci1zdWJtaXQgLm5mLWZpZWxkLWVsZW1lbnQgaW5wdXQ6aG92ZXIsIC5wcm9kdWN0X19sYW5ndWFnZXMgLmFkZF90b19jYXJ0X19jb250YWluZXIgLm5mLWZvcm0td3JhcCAubm1jLXJlZ2lzdGVyLXN1Ym1pdCAubmYtZmllbGQtZWxlbWVudCAubGlzdGluZ19fdmlldyBpbnB1dDpob3ZlciwgLmxpc3RpbmdfX3ZpZXcgLm5mLWZvcm0td3JhcCAubm1jLXJlZ2lzdGVyLXN1Ym1pdCAubmYtZmllbGQtZWxlbWVudCAucHJvZHVjdF9fbGFuZ3VhZ2VzIC5hZGRfdG9fY2FydF9fY29udGFpbmVyIGlucHV0OmhvdmVyLCAubmYtZm9ybS13cmFwIC5ubWMtcmVnaXN0ZXItc3VibWl0IC5uZi1maWVsZC1lbGVtZW50IC5wcm9kdWN0X19sYW5ndWFnZXMgLmFkZF90b19jYXJ0X19jb250YWluZXIgLmxpc3RpbmdfX3ZpZXcgaW5wdXQ6aG92ZXIsIC5saXN0aW5nX192aWV3IC5wcm9kdWN0X19sYW5ndWFnZXMgLmFkZF90b19jYXJ0X19jb250YWluZXIgLmFkZGVkX3RvX2NhcnQ6aG92ZXIsIC5wcm9kdWN0X19sYW5ndWFnZXMgLmFkZF90b19jYXJ0X19jb250YWluZXIgLmxpc3RpbmdfX3ZpZXcgLmFkZGVkX3RvX2NhcnQ6aG92ZXIsIC5saXN0aW5nX192aWV3IC5tYWluLW5hdiA+IHVsID4gbGkubWVudS1pdGVtLWhhcy1jaGlsZHJlbiA+IGE6aG92ZXIge1xuICAgICAgY29sb3I6ICNmMTY1MjI7XG4gICAgICB0cmFuc2l0aW9uOiBjb2xvciAwLjJzIGxpbmVhcjtcbiAgICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50OyB9XG4gIC5saXN0aW5nX192aWV3IC5saXN0aW5nX192aWV3LWJ0biB7XG4gICAgcGFkZGluZy1sZWZ0OiAwLjdyZW07XG4gICAgcGFkZGluZy1yaWdodDogMC43cmVtOyB9XG4gIC5saXN0aW5nX192aWV3IC5saXN0aW5nX192aWV3LWJ0bi5pcy1hY3RpdmUge1xuICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICAgIGNvbG9yOiAjZjE2NTIyOyB9XG5cbi5wb3B1cCB7XG4gIHBvc2l0aW9uOiBmaXhlZDtcbiAgei1pbmRleDogMTAwMDtcbiAgdG9wOiAwO1xuICByaWdodDogMDtcbiAgYm90dG9tOiAwO1xuICBsZWZ0OiAwO1xuICBkaXNwbGF5OiBub25lO1xuICAvKipcbiAgICAgKiBDYWNoZVxuICAgICAqL1xuICAvKipcbiAgICAgKiBDbG9zZVxuICAgICAqL1xuICAvKipcbiAgICAgKiBDb250ZW50XG4gICAgICovIH1cbiAgLnBvcHVwW2RhdGEtdHlwZT1cInZpZGVvXCJdIC5wb3B1cF9fb3ZlcmZsb3cge1xuICAgIHBhZGRpbmc6IDA7IH1cbiAgLnBvcHVwX19jYWNoZSB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMDtcbiAgICByaWdodDogMDtcbiAgICBib3R0b206IDA7XG4gICAgbGVmdDogMDtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgb3BhY2l0eTogLjg7XG4gICAgYmFja2dyb3VuZDogI2ZmZmZmZjsgfVxuICAucG9wdXBfX2Nsb3NlIHtcbiAgICBmb250LXNpemU6IDEuODc1ZW07XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogLTEuMzMzMzNlbTtcbiAgICByaWdodDogLTFlbTtcbiAgICB3aWR0aDogMWVtO1xuICAgIGhlaWdodDogMWVtO1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICB0cmFuc2l0aW9uOiBjb2xvciAwLjJzIGN1YmljLWJlemllcigwLjQ3LCAwLCAwLjc0NSwgMC43MTUpO1xuICAgIGNvbG9yOiAjZjc2NTAwO1xuICAgIGJvcmRlcjogbm9uZTtcbiAgICBiYWNrZ3JvdW5kOiBub25lOyB9XG4gICAgLnBvcHVwX19jbG9zZTpob3ZlciB7XG4gICAgICBjb2xvcjogI2RlNWIwMDsgfVxuICAgIC5wb3B1cF9fY2xvc2U6Zm9jdXMge1xuICAgICAgb3V0bGluZTogbm9uZTsgfVxuICAucG9wdXBfX2NvbnRlbnQge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDUwJTtcbiAgICBsZWZ0OiA1MCU7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtNTAlLCAtNTAlLCAwKTtcbiAgICBib3JkZXI6IDAuMTI1ZW0gc29saWQgI2Y3NjUwMDtcbiAgICBiYWNrZ3JvdW5kOiAjZmZmZmZmOyB9XG4gIC5wb3B1cF9fb3ZlcmZsb3cge1xuICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgd2lkdGg6IDYxLjI1ZW07XG4gICAgbWF4LWhlaWdodDogNDAuNjI1ZW07XG4gICAgcGFkZGluZzogMS44NzVlbSAyLjVlbTtcbiAgICBvdmVyZmxvdzogYXV0bzsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDgwMHB4KSB7XG4gICAgICAucG9wdXBfX292ZXJmbG93IHtcbiAgICAgICAgcGFkZGluZzogMjBweDsgfSB9XG4gICAgLnBvcHVwX19vdmVyZmxvdyBpZnJhbWUge1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgdG9wOiAwO1xuICAgICAgbGVmdDogMDtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgaGVpZ2h0OiAxMDAlOyB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDExMDBweCkge1xuICAucG9wdXBfX2NvbnRlbnQge1xuICAgIHdpZHRoOiA5MCU7XG4gICAgbWF4LWhlaWdodDogOTAlOyB9XG4gIC5wb3B1cF9fb3ZlcmZsb3cge1xuICAgIG92ZXJmbG93LXk6IGF1dG87XG4gICAgd2lkdGg6IDEwMCU7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA4MDBweCkge1xuICAucG9wdXBfX2NvbnRlbnQge1xuICAgIHdpZHRoOiA4MCU7IH0gfVxuXG4vKipcbiAqIFRvcGJhclxuICovXG4udG9wYmFyIHtcbiAgZm9udC1zaXplOiAwLjgxMjVyZW07XG4gIGxpbmUtaGVpZ2h0OiAxLjg3NXJlbTtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB6LWluZGV4OiAxMDA7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gIHBhZGRpbmc6IDEuMzc1cmVtIDYuMjVyZW07XG4gIGJhY2tncm91bmQtY29sb3I6ICNlYmViZWI7XG4gIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogMTEwMHB4KSB7XG4gICAgLnRvcGJhciB7XG4gICAgICBwb3NpdGlvbjogZml4ZWQ7XG4gICAgICB0b3A6IDA7XG4gICAgICBsZWZ0OiAwO1xuICAgICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgcGFkZGluZzogMC42MjVyZW0gMS44NzVyZW07IH0gfVxuICAudG9wYmFyIGEge1xuICAgIHRyYW5zaXRpb246IGNvbG9yIDAuMnMgY3ViaWMtYmV6aWVyKDAuNDU1LCAwLjAzLCAwLjUxNSwgMC45NTUpO1xuICAgIGNvbG9yOiByZ2JhKDMyLCAzMywgMzYsIDAuNSk7IH1cbiAgICAudG9wYmFyIGE6aG92ZXIge1xuICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgICAgY29sb3I6ICNmNzY1MDA7IH1cbiAgLnRvcGJhcl9fbW9iaWxlLW5hdiB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgd2lkdGg6IDMuNzVyZW07XG4gICAgaGVpZ2h0OiAxLjg3NXJlbTsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDExMDBweCkge1xuICAgICAgLnRvcGJhcl9fbW9iaWxlLW5hdiB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrOyB9IH1cbiAgLnRvcGJhcl9fdXNlciB7XG4gICAgbWFyZ2luLXJpZ2h0OiAxMHB4O1xuICAgIGNvbG9yOiByZ2JhKDMyLCAzMywgMzYsIDAuNSk7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA2MDBweCkge1xuICAgICAgLnRvcGJhcl9fdXNlciBzcGFuIHtcbiAgICAgICAgZGlzcGxheTogbm9uZTsgfSB9XG5cbi8qKlxuICogTGFuZ3VhZ2Ugc3dpdGNoZXIgLSBWMiAoZHJvcGRvd24pXG4gKi9cbi5sYW5ndWFnZV9zd2l0Y2hlciB7XG4gIGZsb2F0OiByaWdodDtcbiAgbWFyZ2luOiAwO1xuICBmb250LXNpemU6IDAuODEyNWVtO1xuICBsaW5lLWhlaWdodDogMTtcbiAgcGFkZGluZzogMTFweCAxNXB4O1xuICBtYXJnaW4tbGVmdDogMHB4O1xuICBtYXJnaW4tcmlnaHQ6IDI1cHg7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgY3Vyc29yOiBwb2ludGVyOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDUwMHB4KSB7XG4gICAgLnJpZ2h0ID4gLmxhbmd1YWdlX3N3aXRjaGVyIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7IH0gfVxuICAubGFuZ3VhZ2Vfc3dpdGNoZXI6YmVmb3JlLCAubGFuZ3VhZ2Vfc3dpdGNoZXI6YWZ0ZXIge1xuICAgIGRpc3BsYXk6IHRhYmxlO1xuICAgIC8qIDIgKi9cbiAgICBjb250ZW50OiBcIiBcIjtcbiAgICAvKiAxICovIH1cbiAgLmxhbmd1YWdlX3N3aXRjaGVyOmFmdGVyIHtcbiAgICBjbGVhcjogYm90aDsgfVxuICAubGFuZ3VhZ2Vfc3dpdGNoZXIgLmxhbmd1YWdlX3N3aXRjaGVyX19hY3RpdmUge1xuICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGNvbG9yOiByZ2JhKDMyLCAzMywgMzYsIDAuNSk7IH1cbiAgICAubGFuZ3VhZ2Vfc3dpdGNoZXIgLmxhbmd1YWdlX3N3aXRjaGVyX19hY3RpdmU6YWZ0ZXIge1xuICAgICAgY29udGVudDogJyc7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIHdpZHRoOiA0cHg7XG4gICAgICBoZWlnaHQ6IDRweDtcbiAgICAgIGJvcmRlci1ib3R0b206IDJweCBzb2xpZCByZ2JhKDMyLCAzMywgMzYsIDAuNSk7XG4gICAgICBib3JkZXItcmlnaHQ6IDJweCBzb2xpZCByZ2JhKDMyLCAzMywgMzYsIDAuNSk7XG4gICAgICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlKDQ1ZGVnKTtcbiAgICAgIC1tcy10cmFuc2Zvcm06IHJvdGF0ZSg0NWRlZyk7XG4gICAgICB0cmFuc2Zvcm06IHJvdGF0ZSg0NWRlZyk7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICB0b3A6IDUwJTtcbiAgICAgIHJpZ2h0OiAtMTVweDtcbiAgICAgIG1hcmdpbi10b3A6IC01cHg7XG4gICAgICAtd2Via2l0LXRyYW5zaXRpb246IHRyYW5zZm9ybSAwLjJzIGVhc2Utb3V0O1xuICAgICAgLW1vei10cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMC4ycyBlYXNlLW91dDtcbiAgICAgIHRyYW5zaXRpb246IHRyYW5zZm9ybSAwLjJzIGVhc2Utb3V0OyB9XG4gIC5sYW5ndWFnZV9zd2l0Y2hlciAubGFuZ3VhZ2Vfc3dpdGNoZXJfX2xpc3Qge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMTAwJTtcbiAgICBsZWZ0OiAwO1xuICAgIHJpZ2h0OiAwO1xuICAgIHotaW5kZXg6IDEwMDtcbiAgICBtYXJnaW46IDA7XG4gICAgcGFkZGluZzogMDtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmZmZmO1xuICAgIGJveC1zaGFkb3c6IDAgMTBweCAxNXB4IDVweCByZ2JhKDMyLCAzMywgMzYsIDAuMDUpOyB9XG4gICAgLmxhbmd1YWdlX3N3aXRjaGVyIC5sYW5ndWFnZV9zd2l0Y2hlcl9fbGlzdCAubGFuZ3VhZ2Vfc3dpdGNoZXJfX2l0ZW0ge1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICBmbG9hdDogbm9uZTtcbiAgICAgIGJvcmRlci10b3A6IDFweCBzb2xpZCByZ2JhKDMyLCAzMywgMzYsIDAuMDUpOyB9XG4gICAgICAubGFuZ3VhZ2Vfc3dpdGNoZXIgLmxhbmd1YWdlX3N3aXRjaGVyX19saXN0IC5sYW5ndWFnZV9zd2l0Y2hlcl9faXRlbSBhIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIHBhZGRpbmc6IDEuNWVtIDAuNGVtO1xuICAgICAgICBjb2xvcjogIzIwMjEyNDtcbiAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgICAgICAtd2Via2l0LXRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMC4xNXMgZWFzZS1vdXQ7XG4gICAgICAgIC1tb3otdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAwLjE1cyBlYXNlLW91dDtcbiAgICAgICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAwLjE1cyBlYXNlLW91dDsgfVxuICAgICAgICAubGFuZ3VhZ2Vfc3dpdGNoZXIgLmxhbmd1YWdlX3N3aXRjaGVyX19saXN0IC5sYW5ndWFnZV9zd2l0Y2hlcl9faXRlbSBhOmhvdmVyIHtcbiAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDMyLCAzMywgMzYsIDAuMDUpOyB9XG4gICAgICAubGFuZ3VhZ2Vfc3dpdGNoZXIgLmxhbmd1YWdlX3N3aXRjaGVyX19saXN0IC5sYW5ndWFnZV9zd2l0Y2hlcl9faXRlbTpmaXJzdC1jaGlsZCB7XG4gICAgICAgIGJvcmRlci10b3A6IG5vbmU7IH1cbiAgLmxhbmd1YWdlX3N3aXRjaGVyIGxpIHtcbiAgICBmbG9hdDogbGVmdDtcbiAgICBsaXN0LXN0eWxlOiBub25lOyB9XG5cbi5sYW5nX3N3aXRjaGVyX29wZW4gLmxhbmd1YWdlX3N3aXRjaGVyX19hY3RpdmU6YWZ0ZXIge1xuICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlKDIyNWRlZyk7XG4gIC1tcy10cmFuc2Zvcm06IHJvdGF0ZSgyMjVkZWcpO1xuICB0cmFuc2Zvcm06IHJvdGF0ZSgyMjVkZWcpO1xuICBtYXJnaW4tdG9wOiAtM3B4OyB9XG5cbi5sYW5nX3N3aXRjaGVyX29wZW4gLmxhbmd1YWdlX3N3aXRjaGVyX19saXN0IHtcbiAgZGlzcGxheTogYmxvY2s7IH1cblxuLyoqXG4gKiBNb2JpbGUgTkFWXG4gKi9cbi5tb2JpbGUtbmF2IHtcbiAgbGVmdDogMDtcbiAgcGFkZGluZzogMCAwIDAgMS44NzVyZW07XG4gIGJhY2tncm91bmQtY29sb3I6ICNlYmViZWI7IH1cbiAgLm1vYmlsZS1uYXZfX2l0ZW0ge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICB3aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6IDAuMTI1cmVtO1xuICAgIG1hcmdpbi1ib3R0b206IDAuMzc1cmVtO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gICAgdHJhbnNmb3JtLW9yaWdpbjogY2VudGVyIGNlbnRlcjtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjc2NTAwOyB9XG4gICAgLm1vYmlsZS1uYXZfX2l0ZW06bGFzdC1jaGlsZCB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAwOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDExMDBweCkge1xuICAgIC5tb2JpbGUtbmF2LmlzLW9wZW4ge1xuICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCg0MHZ3LCAwLCAwKTsgfSB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDYwMHB4KSB7XG4gICAgLm1vYmlsZS1uYXYuaXMtb3BlbiB7XG4gICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDc1dncsIDAsIDApOyB9IH1cblxuLmhlYWRpbmcge1xuICBwYWRkaW5nOiA1cmVtIDYuMjVyZW07XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gIHdpZHRoOiAxMDAlO1xuICBkaXNwbGF5OiBibG9jaztcbiAgb3ZlcmZsb3c6IGhpZGRlbjsgfVxuICAuaGVhZGluZ19fdGl0bGUge1xuICAgIG1hcmdpbi1ib3R0b206IDIuNXJlbTsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAxNjAwcHgpIHtcbiAgICAuaGVhZGluZyB7XG4gICAgICBwYWRkaW5nOiAzLjEyNXJlbSAyLjVyZW07IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAxMTAwcHgpIHtcbiAgICAuaGVhZGluZyB7XG4gICAgICBtYXJnaW4tdG9wOiAzLjEyNXJlbTtcbiAgICAgIHBhZGRpbmc6IDMuMTI1cmVtIDEuODc1cmVtOyB9IH1cbiAgLmhlYWRpbmdfX2NvbnRlbnQge1xuICAgIGNvbG9yOiByZ2JhKDMyLCAzMywgMzYsIDAuNCk7IH1cblxuLmZpbHRlcnMge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHdpZHRoOiAxMi41cmVtO1xuICBmbGV4LXNocmluazogMDsgfVxuICAuZmlsdGVyc19fZmllbGQge1xuICAgIG1hcmdpbi1ib3R0b206IDMuMTI1cmVtOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDExMDBweCkge1xuICAgIC5maWx0ZXJzX19jb250YWluZXIge1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICAgIGhlaWdodDogMDsgfVxuICAgICAgLmZpbHRlcnNfX2NvbnRhaW5lci5pcy1vcGVuIHtcbiAgICAgICAgaGVpZ2h0OiBhdXRvOyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogMTEwMHB4KSBhbmQgKG1pbi13aWR0aDogNjAwcHgpIHtcbiAgICAuZmlsdGVyc19fZ3JvdXAge1xuICAgICAgZGlzcGxheTogZmxleDsgfVxuICAgICAgLmZpbHRlcnNfX2dyb3VwIC5maWx0ZXJzX19maWVsZCB7XG4gICAgICAgIG1hcmdpbi1yaWdodDogMzBweDtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICAgICAgZmxleC1ncm93OiAxOyB9XG4gICAgICAgIC5maWx0ZXJzX19ncm91cCAuZmlsdGVyc19fZmllbGQ6bGFzdC1jaGlsZCB7XG4gICAgICAgICAgbWFyZ2luLXJpZ2h0OiAwOyB9IH1cbiAgLmZpbHRlcnNfX3N1bW1hcnkge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgcGFkZGluZzogMS41NjI1cmVtO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICM4ODg4ODk7IH1cbiAgICAuZmlsdGVyc19fc3VtbWFyeV9fbGlzdCB7XG4gICAgICBwYWRkaW5nOiAwOyB9XG4gICAgICAuZmlsdGVyc19fc3VtbWFyeV9fbGlzdCBsaSB7XG4gICAgICAgIGZvbnQtc2l6ZTogMC44MTI1cmVtO1xuICAgICAgICBsaW5lLWhlaWdodDogMS4xODc1cmVtO1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDAuOTM3NXJlbTtcbiAgICAgICAgcGFkZGluZy1yaWdodDogMS4yNXJlbTtcbiAgICAgICAgbGlzdC1zdHlsZTogbm9uZTtcbiAgICAgICAgY29sb3I6ICNmZmZmZmY7IH1cbiAgICAgICAgLmZpbHRlcnNfX3N1bW1hcnlfX2xpc3QgbGkgYnV0dG9uIHtcbiAgICAgICAgICBmb250LXNpemU6IDAuNXJlbTtcbiAgICAgICAgICBsaW5lLWhlaWdodDogMS4xODc1cmVtO1xuICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICB0b3A6IDA7XG4gICAgICAgICAgcmlnaHQ6IDA7XG4gICAgICAgICAgd2lkdGg6IDEuMjVyZW07XG4gICAgICAgICAgcGFkZGluZzogMDtcbiAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgICAgY29sb3I6ICNmZmZmZmY7IH1cbiAgICAgICAgICAuZmlsdGVyc19fc3VtbWFyeV9fbGlzdCBsaSBidXR0b246OmJlZm9yZSB7XG4gICAgICAgICAgICB2ZXJ0aWNhbC1hbGlnbjogdG9wOyB9XG4gIC5maWx0ZXJzX19zZWFyY2ggaW5wdXQge1xuICAgIHBhZGRpbmctcmlnaHQ6IDEuODc1cmVtO1xuICAgIHBhZGRpbmctbGVmdDogMS4yNXJlbTsgfVxuICAuZmlsdGVyc19fc2VhcmNoOjpiZWZvcmUge1xuICAgIGZvbnQtc2l6ZTogMC42ODc1cmVtO1xuICAgIHJpZ2h0OiAwLjg3NXJlbTtcbiAgICBsZWZ0OiBpbmhlcml0O1xuICAgIG9wYWNpdHk6IDE7IH1cbiAgLmZpbHRlcnNfX3RpdGxlIHtcbiAgICBmb250LWZhbWlseTogXCJmdXR1cmEtcHRcIiwgRnV0dXJhLCBcIlRyZWJ1Y2hldCBNU1wiLCBBcmlhbCwgc2Fucy1zZXJpZjtcbiAgICBmb250LXNpemU6IDEuMTI1cmVtO1xuICAgIGxpbmUtaGVpZ2h0OiAxLjI1cmVtO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBtYXJnaW46IDA7XG4gICAgbWFyZ2luLWJvdHRvbTogMS4yNXJlbTtcbiAgICBsZXR0ZXItc3BhY2luZzogMC4xNTYyNXJlbTtcbiAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlOyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogMTEwMHB4KSB7XG4gICAgICAuZmlsdGVyc19fdGl0bGUge1xuICAgICAgICBjdXJzb3I6IHBvaW50ZXI7IH0gfVxuICAgIC5maWx0ZXJzX190aXRsZTo6YmVmb3JlIHtcbiAgICAgIGZvbnQtc2l6ZTogMXJlbTtcbiAgICAgIGxpbmUtaGVpZ2h0OiAyMHB4O1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgcmlnaHQ6IDA7XG4gICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgdGV4dC1hbGlnbjogcmlnaHQ7XG4gICAgICB2ZXJ0aWNhbC1hbGlnbjogdG9wO1xuICAgICAgY29sb3I6ICNmNzY1MDA7IH1cbiAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDExMDBweCkge1xuICAgICAgICAuZmlsdGVyc19fdGl0bGU6OmJlZm9yZSB7XG4gICAgICAgICAgZGlzcGxheTogYmxvY2s7IH0gfVxuICAgIC5maWx0ZXJzX190aXRsZS5pY29uLWxlc3M6OmJlZm9yZSB7XG4gICAgICBmb250LXNpemU6IDNweDsgfVxuICAuZmlsdGVyc19fc3VidGl0bGUge1xuICAgIGZvbnQtZmFtaWx5OiBcImZ1dHVyYS1wdFwiLCBGdXR1cmEsIFwiVHJlYnVjaGV0IE1TXCIsIEFyaWFsLCBzYW5zLXNlcmlmO1xuICAgIGZvbnQtc2l6ZTogMC44NzVyZW07XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIG1hcmdpbjogMDtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgbGV0dGVyLXNwYWNpbmc6IDIuNXB4O1xuICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7IH1cbiAgICAuZmlsdGVyc19fc3VidGl0bGU6OmJlZm9yZSB7XG4gICAgICBmb250LXNpemU6IDJweDtcbiAgICAgIGxpbmUtaGVpZ2h0OiAyMXB4O1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgdG9wOiAwO1xuICAgICAgcmlnaHQ6IDA7XG4gICAgICB2ZXJ0aWNhbC1hbGlnbjogdG9wO1xuICAgICAgY29sb3I6ICNmNzY1MDA7IH1cbiAgICAuZmlsdGVyc19fc3VidGl0bGUuaWNvbi1tb3JlOjpiZWZvcmUge1xuICAgICAgZm9udC1zaXplOiAxMHB4OyB9XG4gIC5maWx0ZXJzX19saXN0IHtcbiAgICBsaW5lLWhlaWdodDogMS41O1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgbWFyZ2luOiAwLjkzNzVyZW0gMDtcbiAgICBwYWRkaW5nOiAwOyB9XG4gICAgLmZpbHRlcnNfX2xpc3QgbGkge1xuICAgICAgbWFyZ2luLWJvdHRvbTogMC42MjVyZW07XG4gICAgICBsaXN0LXN0eWxlOiBub25lOyB9XG4gICAgICAuZmlsdGVyc19fbGlzdCBsaTpsYXN0LWNoaWxkIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMDsgfVxuICAgIC5maWx0ZXJzX19saXN0LS1jaGlsZHMge1xuICAgICAgcGFkZGluZzogMC42MjVyZW0gMCAwLjYyNXJlbSAxLjg3NXJlbTsgfVxuXG4vKipcbiAqIERvd25sb2FkXG4gKi9cbi5kb3dubG9hZCB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgcGFkZGluZzogMS4yNXJlbTsgfVxuICAuZG93bmxvYWRfX3RpdGxlIHtcbiAgICBmb250LXNpemU6IDIuMjVyZW07XG4gICAgbGluZS1oZWlnaHQ6IDIuNXJlbTtcbiAgICBtYXJnaW46IDA7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIGxldHRlci1zcGFjaW5nOiAwLjVyZW07XG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDYwMHB4KSB7XG4gICAgICAuZG93bmxvYWRfX3RpdGxlIHtcbiAgICAgICAgZm9udC1zaXplOiAxLjM3NXJlbTtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDEuNzVyZW07IH0gfVxuICAuZG93bmxvYWRfX3N1YnRpdGxlIHtcbiAgICBmb250LWZhbWlseTogXCJmdXR1cmEtcHRcIiwgRnV0dXJhLCBcIlRyZWJ1Y2hldCBNU1wiLCBBcmlhbCwgc2Fucy1zZXJpZjtcbiAgICBmb250LXNpemU6IDFyZW07XG4gICAgbWFyZ2luLWJvdHRvbTogMy4xMjVyZW07XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIGNvbG9yOiAjMjAyMTI0OyB9XG4gICAgLmRvd25sb2FkX19zdWJ0aXRsZTpsYXN0LW9mLXR5cGUge1xuICAgICAgbWFyZ2luLWJvdHRvbTogMy4xMjVyZW07IH1cbiAgLmRvd25sb2FkX19mb3JtIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgei1pbmRleDogMTA7XG4gICAgbWFyZ2luOiAwIGF1dG87IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MDFweCkge1xuICAgICAgLmRvd25sb2FkX19mb3JtIHtcbiAgICAgICAgd2lkdGg6IDM3LjVyZW07IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MDFweCkge1xuICAgIC5kb3dubG9hZC0tbWVkaWEgLmRvd25sb2FkX19mb3JtX19saXN0IHtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBmbGV4LXdyYXA6IHdyYXA7XG4gICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgIG1hcmdpbi1sZWZ0OiAtMTVweDtcbiAgICAgIHdpZHRoOiBjYWxjKCAxMDAlICsgMzBweCk7IH0gfVxuICAuZG93bmxvYWQtLWJpbWNhZCAuZG93bmxvYWRfX2Zvcm1fX2xpc3QsIC5kb3dubG9hZC0tdGVuZGVyLXRleHRzIC5kb3dubG9hZF9fZm9ybV9fbGlzdCB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LXdyYXA6IHdyYXA7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgbWFyZ2luLWxlZnQ6IC0xNXB4O1xuICAgIHdpZHRoOiBjYWxjKCAxMDAlICsgMzBweCk7IH1cbiAgLmRvd25sb2FkX19maWVsZCB7XG4gICAgd2lkdGg6IGNhbGMoICgxMDAlIC0gOTBweCkgLyAzKTtcbiAgICBtYXJnaW46IDAgMTVweDtcbiAgICBtYXJnaW4tYm90dG9tOiAxMHB4OyB9XG4gICAgLmRvd25sb2FkLS1iaW1jYWQgLmRvd25sb2FkX19maWVsZCwgLmRvd25sb2FkLS10ZW5kZXItdGV4dHMgLmRvd25sb2FkX19maWVsZCB7XG4gICAgICB3aWR0aDogY2FsYyggKDEwMCUgLSAxMjBweCkgLyA0KTsgfVxuICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNjAwcHgpIHtcbiAgICAgICAgLmRvd25sb2FkLS1iaW1jYWQgLmRvd25sb2FkX19maWVsZCwgLmRvd25sb2FkLS10ZW5kZXItdGV4dHMgLmRvd25sb2FkX19maWVsZCB7XG4gICAgICAgICAgd2lkdGg6IGNhbGMoICgxMDAlIC0gOTBweCkgLyAzKTsgfSB9XG4gICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAzMjBweCkge1xuICAgICAgICAuZG93bmxvYWQtLWJpbWNhZCAuZG93bmxvYWRfX2ZpZWxkLCAuZG93bmxvYWQtLXRlbmRlci10ZXh0cyAuZG93bmxvYWRfX2ZpZWxkIHtcbiAgICAgICAgICB3aWR0aDogY2FsYyggKDEwMCUgLSA2MHB4KSAvIDIpOyB9IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA4MDBweCkge1xuICAgICAgLmRvd25sb2FkLS1tZWRpYSAuZG93bmxvYWRfX2ZpZWxkIHtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMjBweDsgfSB9XG4gICAgLmRvd25sb2FkX19maWVsZF9fdGl0bGUge1xuICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICAgIGxldHRlci1zcGFjaW5nOiAwLjEyNXJlbTtcbiAgICAgIG1hcmdpbi1ib3R0b206IDVweDtcbiAgICAgIGxldHRlci1zcGFjaW5nOiAwLjJweDsgfVxuICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogODAwcHgpIHtcbiAgICAgICAgLmRvd25sb2FkX19maWVsZF9fdGl0bGUge1xuICAgICAgICAgIHRleHQtYWxpZ246IGxlZnQ7IH0gfVxuICAgICAgLmRvd25sb2FkLS10ZW5kZXItdGV4dHMgLmRvd25sb2FkX19maWVsZF9fdGl0bGUge1xuICAgICAgICAtd2Via2l0LWJvcmRlci1yYWRpdXM6IDUwJTtcbiAgICAgICAgLW1vei1ib3JkZXItcmFkaXVzOiA1MCU7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgICAgICAgLWtodG1sLWJvcmRlci1yYWRpdXM6IDUwJTtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIHdpZHRoOiA1cmVtO1xuICAgICAgICBoZWlnaHQ6IDVyZW07XG4gICAgICAgIGZvbnQtc2l6ZTogMS44NzVyZW07XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgICAgICBtYXJnaW46IDAgYXV0byAxLjM3NXJlbTtcbiAgICAgICAgdHJhbnNpdGlvbjogY29sb3IgMC4ycyBjdWJpYy1iZXppZXIoMC40NywgMCwgMC43NDUsIDAuNzE1KSwgYmFja2dyb3VuZC1jb2xvciAwLjJzIGN1YmljLWJlemllcigwLjQ3LCAwLCAwLjc0NSwgMC43MTUpO1xuICAgICAgICBjb2xvcjogI2Y3NjUwMDtcbiAgICAgICAgYm9yZGVyOiAwLjEyNXJlbSBzb2xpZCAjZjc2NTAwOyB9XG4gICAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDYwMHB4KSB7XG4gICAgICAgICAgLmRvd25sb2FkLS10ZW5kZXItdGV4dHMgLmRvd25sb2FkX19maWVsZF9fdGl0bGUge1xuICAgICAgICAgICAgLXdlYmtpdC1ib3JkZXItcmFkaXVzOiA1MCU7XG4gICAgICAgICAgICAtbW96LWJvcmRlci1yYWRpdXM6IDUwJTtcbiAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgICAgICAgICAgIC1raHRtbC1ib3JkZXItcmFkaXVzOiA1MCU7XG4gICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgIHdpZHRoOiAyLjVyZW07XG4gICAgICAgICAgICBoZWlnaHQ6IDIuNXJlbTtcbiAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgICBmb250LXNpemU6IDEuMTI1cmVtO1xuICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiAyMHB4O1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMjBweDsgfSB9XG4gICAgLmRvd25sb2FkX19maWVsZF9fc2V0dGluZ3Mge1xuICAgICAgbGlzdC1zdHlsZTogbm9uZTtcbiAgICAgIHBhZGRpbmc6IDA7XG4gICAgICBtYXJnaW46IDA7XG4gICAgICBkaXNwbGF5OiB0YWJsZTtcbiAgICAgIG1hcmdpbi10b3A6IDI1cHg7IH1cbiAgICAgIC5kb3dubG9hZF9fZmllbGRfX3NldHRpbmdzIGxpIHtcbiAgICAgICAgZGlzcGxheTogdGFibGUtcm93OyB9XG4gICAgICAgIC5kb3dubG9hZF9fZmllbGRfX3NldHRpbmdzIGxpIHNwYW4ge1xuICAgICAgICAgIGRpc3BsYXk6IHRhYmxlLWNlbGw7IH1cbiAgICAgICAgLmRvd25sb2FkX19maWVsZF9fc2V0dGluZ3MgbGkgc3BhbiArIHNwYW4ge1xuICAgICAgICAgIHBhZGRpbmctbGVmdDogMzBweDsgfVxuICAuZG93bmxvYWRfX2FjdGlvbiB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgIG1hcmdpbi10b3A6IDMuMTI1cmVtOyB9XG4gIC5kb3dubG9hZF9faW5wdXQ6Y2hlY2tlZCArIGxhYmVsIC5sYWJlbF9faWNvbjo6YmVmb3JlIHtcbiAgICBjb2xvcjogI2ZmZmZmZjtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjc2NTAwOyB9XG4gIC5kb3dubG9hZC0tdGVuZGVyLXRleHRzIC5kb3dubG9hZF9faW5wdXQ6Y2hlY2tlZCArIGxhYmVsIC5kb3dubG9hZF9fZmllbGRfX3RpdGxlIHtcbiAgICBjb2xvcjogI2ZmZmZmZjtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjc2NTAwOyB9XG4gIC5kb3dubG9hZF9fbGFiZWwge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIGZvbnQtZmFtaWx5OiBcImZ1dHVyYS1wdFwiLCBGdXR1cmEsIFwiVHJlYnVjaGV0IE1TXCIsIEFyaWFsLCBzYW5zLXNlcmlmO1xuICAgIGxpbmUtaGVpZ2h0OiAxLjI7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIGNvbG9yOiAjMjAyMTI0OyB9XG4gICAgLmRvd25sb2FkX19sYWJlbCAubGFiZWxfX2ljb246OmJlZm9yZSB7XG4gICAgICAtd2Via2l0LWJvcmRlci1yYWRpdXM6IDUwJTtcbiAgICAgIC1tb3otYm9yZGVyLXJhZGl1czogNTAlO1xuICAgICAgYm9yZGVyLXJhZGl1czogNTAlO1xuICAgICAgLWtodG1sLWJvcmRlci1yYWRpdXM6IDUwJTtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgd2lkdGg6IDVyZW07XG4gICAgICBoZWlnaHQ6IDVyZW07XG4gICAgICBmb250LXNpemU6IDEuODc1cmVtO1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgIG1hcmdpbjogMCBhdXRvIDEuMzc1cmVtO1xuICAgICAgdHJhbnNpdGlvbjogY29sb3IgMC4ycyBjdWJpYy1iZXppZXIoMC40NywgMCwgMC43NDUsIDAuNzE1KSwgYmFja2dyb3VuZC1jb2xvciAwLjJzIGN1YmljLWJlemllcigwLjQ3LCAwLCAwLjc0NSwgMC43MTUpO1xuICAgICAgY29sb3I6ICNmNzY1MDA7XG4gICAgICBib3JkZXI6IDAuMTI1cmVtIHNvbGlkICNmNzY1MDA7IH1cbiAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDgwMHB4KSB7XG4gICAgICAgIC5kb3dubG9hZF9fbGFiZWwgLmxhYmVsX19pY29uOjpiZWZvcmUge1xuICAgICAgICAgIC13ZWJraXQtYm9yZGVyLXJhZGl1czogNTAlO1xuICAgICAgICAgIC1tb3otYm9yZGVyLXJhZGl1czogNTAlO1xuICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgICAgICAgICAta2h0bWwtYm9yZGVyLXJhZGl1czogNTAlO1xuICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgIHdpZHRoOiAyLjVyZW07XG4gICAgICAgICAgaGVpZ2h0OiAyLjVyZW07XG4gICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICBmb250LXNpemU6IDEuMTI1cmVtO1xuICAgICAgICAgIG1hcmdpbi1yaWdodDogMjBweDsgfVxuICAgICAgICAgIC5kb3dubG9hZC0tYmltY2FkIC5kb3dubG9hZF9fbGFiZWwgLmxhYmVsX19pY29uOjpiZWZvcmUge1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMDsgfSB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogODAwcHgpIHtcbiAgICAgIC5kb3dubG9hZF9fbGFiZWwge1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBhbGlnbi1pdGVtczogZmxleC1zdGFydDtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7IH0gfVxuICAuZG93bmxvYWRfX2lmcmFtZSB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHotaW5kZXg6IDA7XG4gICAgZGlzcGxheTogbm9uZTsgfVxuXG4jc2hvcCBtYWluIHtcbiAgZmxleC13cmFwOiB3cmFwOyB9XG5cbiNzaG9wIC5zaG9wX19hY3Rpb24ge1xuICB3aWR0aDogMTAwJTsgfVxuXG4uc2hvcF9fYWN0aW9uIHtcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgbWFyZ2luLWJvdHRvbTogMWVtO1xuICBwYWRkaW5nOiAwIDYuMjVyZW07XG4gIHRleHQtYWxpZ246IHJpZ2h0OyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDE2MDBweCkge1xuICAgIC5zaG9wX19hY3Rpb24ge1xuICAgICAgcGFkZGluZzogMCAyLjVyZW07IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAxMTAwcHgpIHtcbiAgICAuc2hvcF9fYWN0aW9uIHtcbiAgICAgIHBhZGRpbmc6IDAgMS44NzVyZW07IH0gfVxuXG4ucHJvZHVjdF9fbGFuZ3VhZ2VzIHtcbiAgbGlzdC1zdHlsZTogbm9uZTtcbiAgcGFkZGluZzogMDsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA1NjBweCkge1xuICAgIC5wcm9kdWN0X19sYW5ndWFnZXMge1xuICAgICAgZGlzcGxheTogdGFibGU7XG4gICAgICBib3JkZXItY29sbGFwc2U6IGNvbGxhcHNlOyB9IH1cbiAgLnByb2R1Y3RfX2xhbmd1YWdlcyBsaSB7XG4gICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICNlYmViZWI7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA1NjBweCkge1xuICAgICAgLnByb2R1Y3RfX2xhbmd1YWdlcyBsaSB7XG4gICAgICAgIGRpc3BsYXk6IHRhYmxlLXJvdzsgfSB9XG4gICAgLnByb2R1Y3RfX2xhbmd1YWdlcyBsaTpsYXN0LWNoaWxkIHtcbiAgICAgIHBhZGRpbmctYm90dG9tOiAwO1xuICAgICAgYm9yZGVyLWJvdHRvbTogMDtcbiAgICAgIG1hcmdpbi1ib3R0b206IDA7IH1cbiAgLnByb2R1Y3RfX2xhbmd1YWdlcyBwIHtcbiAgICBwYWRkaW5nLXRvcDogMTBweDtcbiAgICBwYWRkaW5nLWJvdHRvbTogMTBweDtcbiAgICBtYXJnaW46IDA7XG4gICAgZGlzcGxheTogdGFibGUtY2VsbDsgfVxuICAucHJvZHVjdF9fbGFuZ3VhZ2VzIHN0cm9uZyB7XG4gICAgZm9udC13ZWlnaHQ6IDYwMDsgfVxuICAucHJvZHVjdF9fbGFuZ3VhZ2VzIC5hZGRfdG9fY2FydF9fY29udGFpbmVyIHtcbiAgICBwYWRkaW5nLWJvdHRvbTogMTBweDsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDU2MHB4KSB7XG4gICAgICAucHJvZHVjdF9fbGFuZ3VhZ2VzIC5hZGRfdG9fY2FydF9fY29udGFpbmVyIHtcbiAgICAgICAgcGFkZGluZy10b3A6IDEwcHg7XG4gICAgICAgIGRpc3BsYXk6IHRhYmxlLWNlbGw7XG4gICAgICAgIHBhZGRpbmctbGVmdDogNTBweDsgfSB9XG4gICAgLnByb2R1Y3RfX2xhbmd1YWdlcyAuYWRkX3RvX2NhcnRfX2NvbnRhaW5lciBpbnB1dCB7XG4gICAgICB3aWR0aDogMzBweDtcbiAgICAgIHRleHQtYWxpZ246IHJpZ2h0OyB9XG4gICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA1NjBweCkge1xuICAgICAgICAucHJvZHVjdF9fbGFuZ3VhZ2VzIC5hZGRfdG9fY2FydF9fY29udGFpbmVyIGlucHV0IHtcbiAgICAgICAgICBtYXJnaW4tbGVmdDogMjBweDsgfSB9XG4gICAgLnByb2R1Y3RfX2xhbmd1YWdlcyAuYWRkX3RvX2NhcnRfX2NvbnRhaW5lciAuYnRuLCAucHJvZHVjdF9fbGFuZ3VhZ2VzIC5hZGRfdG9fY2FydF9fY29udGFpbmVyIC5uZi1mb3JtLWNvbnRlbnQgLm5mLXByZXZpb3VzLWl0ZW0gLm5mLXByZXZpb3VzLCAubmYtZm9ybS1jb250ZW50IC5uZi1wcmV2aW91cy1pdGVtIC5wcm9kdWN0X19sYW5ndWFnZXMgLmFkZF90b19jYXJ0X19jb250YWluZXIgLm5mLXByZXZpb3VzLCAucHJvZHVjdF9fbGFuZ3VhZ2VzIC5hZGRfdG9fY2FydF9fY29udGFpbmVyIC5uZi1mb3JtLWNvbnRlbnQgLm5mLXByZXZpb3VzLWl0ZW0gLm5mLW5leHQsIC5uZi1mb3JtLWNvbnRlbnQgLm5mLXByZXZpb3VzLWl0ZW0gLnByb2R1Y3RfX2xhbmd1YWdlcyAuYWRkX3RvX2NhcnRfX2NvbnRhaW5lciAubmYtbmV4dCwgLnByb2R1Y3RfX2xhbmd1YWdlcyAuYWRkX3RvX2NhcnRfX2NvbnRhaW5lciAubmYtZm9ybS1jb250ZW50IC5uZi1uZXh0LWl0ZW0gLm5mLXByZXZpb3VzLCAubmYtZm9ybS1jb250ZW50IC5uZi1uZXh0LWl0ZW0gLnByb2R1Y3RfX2xhbmd1YWdlcyAuYWRkX3RvX2NhcnRfX2NvbnRhaW5lciAubmYtcHJldmlvdXMsIC5wcm9kdWN0X19sYW5ndWFnZXMgLmFkZF90b19jYXJ0X19jb250YWluZXIgLm5mLWZvcm0tY29udGVudCAubmYtbmV4dC1pdGVtIC5uZi1uZXh0LCAubmYtZm9ybS1jb250ZW50IC5uZi1uZXh0LWl0ZW0gLnByb2R1Y3RfX2xhbmd1YWdlcyAuYWRkX3RvX2NhcnRfX2NvbnRhaW5lciAubmYtbmV4dCwgLnByb2R1Y3RfX2xhbmd1YWdlcyAuYWRkX3RvX2NhcnRfX2NvbnRhaW5lciAubmYtZm9ybS13cmFwIC5zdWJtaXQtY29udGFpbmVyIC5uZi1maWVsZC1lbGVtZW50IGlucHV0LCAubmYtZm9ybS13cmFwIC5zdWJtaXQtY29udGFpbmVyIC5uZi1maWVsZC1lbGVtZW50IC5wcm9kdWN0X19sYW5ndWFnZXMgLmFkZF90b19jYXJ0X19jb250YWluZXIgaW5wdXQsIC5wcm9kdWN0X19sYW5ndWFnZXMgLmFkZF90b19jYXJ0X19jb250YWluZXIgLm5mLWZvcm0td3JhcCAubm1jLXJlZ2lzdGVyLXN1Ym1pdCAubmYtZmllbGQtZWxlbWVudCBpbnB1dCwgLm5mLWZvcm0td3JhcCAubm1jLXJlZ2lzdGVyLXN1Ym1pdCAubmYtZmllbGQtZWxlbWVudCAucHJvZHVjdF9fbGFuZ3VhZ2VzIC5hZGRfdG9fY2FydF9fY29udGFpbmVyIGlucHV0IHtcbiAgICAgIHBhZGRpbmc6IC42MThlbSAxZW07XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICBib3JkZXItcmFkaXVzOiAzcHg7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZWJlYmViO1xuICAgICAgY29sb3I6ICMyMDIxMjQ7XG4gICAgICBsaW5lLWhlaWdodDogMTtcbiAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgICBsZXR0ZXItc3BhY2luZzogMXB4O1xuICAgICAgbWFyZ2luLWxlZnQ6IDVweDsgfVxuICAgICAgLnByb2R1Y3RfX2xhbmd1YWdlcyAuYWRkX3RvX2NhcnRfX2NvbnRhaW5lciAuYnRuOmhvdmVyLCAucHJvZHVjdF9fbGFuZ3VhZ2VzIC5hZGRfdG9fY2FydF9fY29udGFpbmVyIC5uZi1mb3JtLWNvbnRlbnQgLm5mLXByZXZpb3VzLWl0ZW0gLm5mLXByZXZpb3VzOmhvdmVyLCAubmYtZm9ybS1jb250ZW50IC5uZi1wcmV2aW91cy1pdGVtIC5wcm9kdWN0X19sYW5ndWFnZXMgLmFkZF90b19jYXJ0X19jb250YWluZXIgLm5mLXByZXZpb3VzOmhvdmVyLCAucHJvZHVjdF9fbGFuZ3VhZ2VzIC5hZGRfdG9fY2FydF9fY29udGFpbmVyIC5uZi1mb3JtLWNvbnRlbnQgLm5mLXByZXZpb3VzLWl0ZW0gLm5mLW5leHQ6aG92ZXIsIC5uZi1mb3JtLWNvbnRlbnQgLm5mLXByZXZpb3VzLWl0ZW0gLnByb2R1Y3RfX2xhbmd1YWdlcyAuYWRkX3RvX2NhcnRfX2NvbnRhaW5lciAubmYtbmV4dDpob3ZlciwgLnByb2R1Y3RfX2xhbmd1YWdlcyAuYWRkX3RvX2NhcnRfX2NvbnRhaW5lciAubmYtZm9ybS1jb250ZW50IC5uZi1uZXh0LWl0ZW0gLm5mLXByZXZpb3VzOmhvdmVyLCAubmYtZm9ybS1jb250ZW50IC5uZi1uZXh0LWl0ZW0gLnByb2R1Y3RfX2xhbmd1YWdlcyAuYWRkX3RvX2NhcnRfX2NvbnRhaW5lciAubmYtcHJldmlvdXM6aG92ZXIsIC5wcm9kdWN0X19sYW5ndWFnZXMgLmFkZF90b19jYXJ0X19jb250YWluZXIgLm5mLWZvcm0tY29udGVudCAubmYtbmV4dC1pdGVtIC5uZi1uZXh0OmhvdmVyLCAubmYtZm9ybS1jb250ZW50IC5uZi1uZXh0LWl0ZW0gLnByb2R1Y3RfX2xhbmd1YWdlcyAuYWRkX3RvX2NhcnRfX2NvbnRhaW5lciAubmYtbmV4dDpob3ZlciwgLnByb2R1Y3RfX2xhbmd1YWdlcyAuYWRkX3RvX2NhcnRfX2NvbnRhaW5lciAubmYtZm9ybS13cmFwIC5zdWJtaXQtY29udGFpbmVyIC5uZi1maWVsZC1lbGVtZW50IGlucHV0OmhvdmVyLCAubmYtZm9ybS13cmFwIC5zdWJtaXQtY29udGFpbmVyIC5uZi1maWVsZC1lbGVtZW50IC5wcm9kdWN0X19sYW5ndWFnZXMgLmFkZF90b19jYXJ0X19jb250YWluZXIgaW5wdXQ6aG92ZXIsIC5wcm9kdWN0X19sYW5ndWFnZXMgLmFkZF90b19jYXJ0X19jb250YWluZXIgLm5mLWZvcm0td3JhcCAubm1jLXJlZ2lzdGVyLXN1Ym1pdCAubmYtZmllbGQtZWxlbWVudCBpbnB1dDpob3ZlciwgLm5mLWZvcm0td3JhcCAubm1jLXJlZ2lzdGVyLXN1Ym1pdCAubmYtZmllbGQtZWxlbWVudCAucHJvZHVjdF9fbGFuZ3VhZ2VzIC5hZGRfdG9fY2FydF9fY29udGFpbmVyIGlucHV0OmhvdmVyIHtcbiAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lOyB9XG4gICAgICAucHJvZHVjdF9fbGFuZ3VhZ2VzIC5hZGRfdG9fY2FydF9fY29udGFpbmVyIC5idG46YmVmb3JlLCAucHJvZHVjdF9fbGFuZ3VhZ2VzIC5hZGRfdG9fY2FydF9fY29udGFpbmVyIC5uZi1mb3JtLWNvbnRlbnQgLm5mLXByZXZpb3VzLWl0ZW0gLm5mLXByZXZpb3VzOmJlZm9yZSwgLm5mLWZvcm0tY29udGVudCAubmYtcHJldmlvdXMtaXRlbSAucHJvZHVjdF9fbGFuZ3VhZ2VzIC5hZGRfdG9fY2FydF9fY29udGFpbmVyIC5uZi1wcmV2aW91czpiZWZvcmUsIC5wcm9kdWN0X19sYW5ndWFnZXMgLmFkZF90b19jYXJ0X19jb250YWluZXIgLm5mLWZvcm0tY29udGVudCAubmYtcHJldmlvdXMtaXRlbSAubmYtbmV4dDpiZWZvcmUsIC5uZi1mb3JtLWNvbnRlbnQgLm5mLXByZXZpb3VzLWl0ZW0gLnByb2R1Y3RfX2xhbmd1YWdlcyAuYWRkX3RvX2NhcnRfX2NvbnRhaW5lciAubmYtbmV4dDpiZWZvcmUsIC5wcm9kdWN0X19sYW5ndWFnZXMgLmFkZF90b19jYXJ0X19jb250YWluZXIgLm5mLWZvcm0tY29udGVudCAubmYtbmV4dC1pdGVtIC5uZi1wcmV2aW91czpiZWZvcmUsIC5uZi1mb3JtLWNvbnRlbnQgLm5mLW5leHQtaXRlbSAucHJvZHVjdF9fbGFuZ3VhZ2VzIC5hZGRfdG9fY2FydF9fY29udGFpbmVyIC5uZi1wcmV2aW91czpiZWZvcmUsIC5wcm9kdWN0X19sYW5ndWFnZXMgLmFkZF90b19jYXJ0X19jb250YWluZXIgLm5mLWZvcm0tY29udGVudCAubmYtbmV4dC1pdGVtIC5uZi1uZXh0OmJlZm9yZSwgLm5mLWZvcm0tY29udGVudCAubmYtbmV4dC1pdGVtIC5wcm9kdWN0X19sYW5ndWFnZXMgLmFkZF90b19jYXJ0X19jb250YWluZXIgLm5mLW5leHQ6YmVmb3JlLCAucHJvZHVjdF9fbGFuZ3VhZ2VzIC5hZGRfdG9fY2FydF9fY29udGFpbmVyIC5uZi1mb3JtLXdyYXAgLnN1Ym1pdC1jb250YWluZXIgLm5mLWZpZWxkLWVsZW1lbnQgaW5wdXQ6YmVmb3JlLCAubmYtZm9ybS13cmFwIC5zdWJtaXQtY29udGFpbmVyIC5uZi1maWVsZC1lbGVtZW50IC5wcm9kdWN0X19sYW5ndWFnZXMgLmFkZF90b19jYXJ0X19jb250YWluZXIgaW5wdXQ6YmVmb3JlLCAucHJvZHVjdF9fbGFuZ3VhZ2VzIC5hZGRfdG9fY2FydF9fY29udGFpbmVyIC5uZi1mb3JtLXdyYXAgLm5tYy1yZWdpc3Rlci1zdWJtaXQgLm5mLWZpZWxkLWVsZW1lbnQgaW5wdXQ6YmVmb3JlLCAubmYtZm9ybS13cmFwIC5ubWMtcmVnaXN0ZXItc3VibWl0IC5uZi1maWVsZC1lbGVtZW50IC5wcm9kdWN0X19sYW5ndWFnZXMgLmFkZF90b19jYXJ0X19jb250YWluZXIgaW5wdXQ6YmVmb3JlIHtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiA1cHg7IH1cbiAgICAucHJvZHVjdF9fbGFuZ3VhZ2VzIC5hZGRfdG9fY2FydF9fY29udGFpbmVyIC5hZGRlZF90b19jYXJ0IHtcbiAgICAgIHBhZGRpbmctdG9wOiAwO1xuICAgICAgbWFyZ2luLWxlZnQ6IDIwcHg7XG4gICAgICB0cmFuc2l0aW9uOiBjb2xvciAwLjJzIGN1YmljLWJlemllcigwLjQ3LCAwLCAwLjc0NSwgMC43MTUpOyB9XG4gICAgICAucHJvZHVjdF9fbGFuZ3VhZ2VzIC5hZGRfdG9fY2FydF9fY29udGFpbmVyIC5hZGRlZF90b19jYXJ0OmhvdmVyIHtcbiAgICAgICAgY29sb3I6ICNjNDUwMDA7XG4gICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTsgfVxuICAgICAgLnByb2R1Y3RfX2xhbmd1YWdlcyAuYWRkX3RvX2NhcnRfX2NvbnRhaW5lciAuYWRkZWRfdG9fY2FydDpiZWZvcmUge1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IDVweDsgfVxuXG4jcHJvZHVjdCAuYnRuLWNhcnQge1xuICBtYXJnaW4tdG9wOiAtMjBweDsgfVxuXG4jYmFza2V0IG1haW4ge1xuICBkaXNwbGF5OiBibG9jazsgfVxuXG4uY2FydC1lbXB0eSB7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgbWFyZ2luLXRvcDogMTAwcHg7XG4gIGNvbG9yOiByZ2JhKDMyLCAzMywgMzYsIDAuNSk7IH1cblxuLndvb2NvbW1lcmNlLWNhcnQgdGFibGUuY2FydCBpbWcge1xuICB3aWR0aDogMTAwcHg7XG4gIGhlaWdodDogYXV0bzsgfVxuXG4uYmFza2V0X19pbmZvIHtcbiAgbWFyZ2luLXRvcDogMjBweDsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NjlweCkge1xuICAgIC5iYXNrZXRfX2luZm8ge1xuICAgICAgZmxvYXQ6IGxlZnQ7XG4gICAgICB3aWR0aDogNDglOyB9IH1cblxuLmJhc2tldF9fZm9ybSB7XG4gIG1hcmdpbi10b3A6IDMwcHg7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzY5cHgpIHtcbiAgICAuYmFza2V0X19mb3JtX19yZWNhcCB7XG4gICAgICBkaXNwbGF5OiBmbGV4OyB9IH1cbiAgLmJhc2tldF9fZm9ybV9fcmVjYXBfX2ZpZWxkczpiZWZvcmUsIC5iYXNrZXRfX2Zvcm1fX3JlY2FwX19maWVsZHM6YWZ0ZXIge1xuICAgIGRpc3BsYXk6IHRhYmxlO1xuICAgIC8qIDIgKi9cbiAgICBjb250ZW50OiBcIiBcIjtcbiAgICAvKiAxICovIH1cbiAgLmJhc2tldF9fZm9ybV9fcmVjYXBfX2ZpZWxkczphZnRlciB7XG4gICAgY2xlYXI6IGJvdGg7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzY5cHgpIHtcbiAgICAuYmFza2V0X19mb3JtX19yZWNhcF9fZmllbGRzIHtcbiAgICAgIHdpZHRoOiA0OCU7XG4gICAgICBmbGV4LWdyb3c6IDA7XG4gICAgICBmbGV4LXNocmluazogMDsgfSB9XG4gIC5iYXNrZXRfX2Zvcm1fX3JlY2FwX19maWVsZHMgaW5wdXRbZGlzYWJsZWRdIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZWJlYmViO1xuICAgIHBhZGRpbmc6IDIwcHggMTVweDtcbiAgICBjb2xvcjogIzlmOWY5ZjsgfVxuICAuYmFza2V0X19mb3JtX19yZWNhcF9fdGV4dCB7XG4gICAgbWFyZ2luLWJvdHRvbTogMzBweDsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc2OXB4KSB7XG4gICAgICAuYmFza2V0X19mb3JtX19yZWNhcF9fdGV4dCB7XG4gICAgICAgIHdpZHRoOiA0OCU7XG4gICAgICAgIGZsZXgtZ3JvdzogMDtcbiAgICAgICAgZmxleC1zaHJpbms6IDA7XG4gICAgICAgIHBhZGRpbmc6IDMwcHggMDtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IDMwcHg7IH0gfVxuICAuYmFza2V0X19mb3JtLCAuYmFza2V0X19mb3JtIGlucHV0LCAuYmFza2V0X19mb3JtIGxhYmVsLCAuYmFza2V0X19mb3JtIHRleHRhcmVhLCAuYmFza2V0X19mb3JtIHNlbGVjdCB7XG4gICAgd2lkdGg6IDEwMCU7IH1cbiAgLmJhc2tldF9fZm9ybSAubGFiZWwsIC5iYXNrZXRfX2Zvcm0gLnBhZ2UgLmNoZWNrYm94LXdyYXAgbGFiZWwsIC5wYWdlIC5jaGVja2JveC13cmFwIC5iYXNrZXRfX2Zvcm0gbGFiZWwsIC5iYXNrZXRfX2Zvcm0gLnBhZ2UgLmxpc3QtY2hlY2tib3gtd3JhcCB1bCBsYWJlbCwgLnBhZ2UgLmxpc3QtY2hlY2tib3gtd3JhcCB1bCAuYmFza2V0X19mb3JtIGxhYmVsIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBmb250LXdlaWdodDogNzAwO1xuICAgIGNvbG9yOiAjMjAyMTI0O1xuICAgIG1hcmdpbi1ib3R0b206IDEwcHg7IH1cbiAgLmJhc2tldF9fZm9ybSAuYnRuLCAuYmFza2V0X19mb3JtIC5uZi1mb3JtLWNvbnRlbnQgLm5mLXByZXZpb3VzLWl0ZW0gLm5mLXByZXZpb3VzLCAubmYtZm9ybS1jb250ZW50IC5uZi1wcmV2aW91cy1pdGVtIC5iYXNrZXRfX2Zvcm0gLm5mLXByZXZpb3VzLCAuYmFza2V0X19mb3JtIC5uZi1mb3JtLWNvbnRlbnQgLm5mLXByZXZpb3VzLWl0ZW0gLm5mLW5leHQsIC5uZi1mb3JtLWNvbnRlbnQgLm5mLXByZXZpb3VzLWl0ZW0gLmJhc2tldF9fZm9ybSAubmYtbmV4dCwgLmJhc2tldF9fZm9ybSAubmYtZm9ybS1jb250ZW50IC5uZi1uZXh0LWl0ZW0gLm5mLXByZXZpb3VzLCAubmYtZm9ybS1jb250ZW50IC5uZi1uZXh0LWl0ZW0gLmJhc2tldF9fZm9ybSAubmYtcHJldmlvdXMsIC5iYXNrZXRfX2Zvcm0gLm5mLWZvcm0tY29udGVudCAubmYtbmV4dC1pdGVtIC5uZi1uZXh0LCAubmYtZm9ybS1jb250ZW50IC5uZi1uZXh0LWl0ZW0gLmJhc2tldF9fZm9ybSAubmYtbmV4dCwgLmJhc2tldF9fZm9ybSAubmYtZm9ybS13cmFwIC5zdWJtaXQtY29udGFpbmVyIC5uZi1maWVsZC1lbGVtZW50IGlucHV0LCAubmYtZm9ybS13cmFwIC5zdWJtaXQtY29udGFpbmVyIC5uZi1maWVsZC1lbGVtZW50IC5iYXNrZXRfX2Zvcm0gaW5wdXQsIC5iYXNrZXRfX2Zvcm0gLm5mLWZvcm0td3JhcCAubm1jLXJlZ2lzdGVyLXN1Ym1pdCAubmYtZmllbGQtZWxlbWVudCBpbnB1dCwgLm5mLWZvcm0td3JhcCAubm1jLXJlZ2lzdGVyLXN1Ym1pdCAubmYtZmllbGQtZWxlbWVudCAuYmFza2V0X19mb3JtIGlucHV0IHtcbiAgICBtYXJnaW4tdG9wOiAyMHB4OyB9XG5cbi8qKlxuICogSHRtbFxuICovXG5odG1sIHtcbiAgZm9udC1zaXplOiAxMDAlOyB9XG5cbi8qKlxuICogQm9keVxuICovXG5ib2R5IHtcbiAgLXdlYmtpdC1mb250LXNtb290aGluZzogYW50aWFsaWFzZWQ7XG4gIC1tb3otb3N4LWZvbnQtc21vb3RoaW5nOiBncmF5c2NhbGU7XG4gIGZvbnQtZmFtaWx5OiBcIk9wZW4gU2Fuc1wiLCBIZWx2ZXRpY2EsIEFyaWFsLCBzYW5zLXNlcmlmO1xuICBmb250LXNpemU6IDFlbTtcbiAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgbGluZS1oZWlnaHQ6IDEuNTYyNTtcbiAgbWFyZ2luLWJvdHRvbTogMGVtO1xuICBjb2xvcjogIzIwMjEyNDsgfVxuICBib2R5IC5jZW50ZXIge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIG1heC13aWR0aDogOTMuNzVyZW07XG4gICAgbWluLWhlaWdodDogMTAwJTtcbiAgICBtYXJnaW46IDAgYXV0bzsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDExMDBweCkge1xuICAgICAgYm9keSAuY2VudGVyIHtcbiAgICAgICAgbWF4LXdpZHRoOiA5MCU7IH0gfVxuICBib2R5LmxvZ2luIC5jb250YWluZXJfX2xvZ2luIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47IH1cbiAgICBib2R5LmxvZ2luIC5jb250YWluZXJfX2xvZ2luIC5oZWFkZXItLWxvZ2luIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICNmOGY4Zjg7XG4gICAgICBwYWRkaW5nLWJvdHRvbTogMnJlbTtcbiAgICAgIHBhZGRpbmctdG9wOiAycmVtO1xuICAgICAgei1pbmRleDogNTAwMDsgfVxuICAgIGJvZHkubG9naW4gLmNvbnRhaW5lcl9fbG9naW4gLmNvbnRlbnRfX2hlYWRlci0tc2lnaW4ge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZmZmZjtcbiAgICAgIG1hcmdpbjogMCBhdXRvIDVyZW0gYXV0bzsgfVxuICAgICAgYm9keS5sb2dpbiAuY29udGFpbmVyX19sb2dpbiAuY29udGVudF9faGVhZGVyLS1zaWdpbiAuY2VudGVyIC5wYWdlX19jb250ZW50IHtcbiAgICAgICAgbWFyZ2luLXRvcDogMDsgfVxuICAgIGJvZHkubG9naW4gLmNvbnRhaW5lcl9fbG9naW4gLmNvbnRlbnQge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZmZmZjsgfVxuICAgICAgYm9keS5sb2dpbiAuY29udGFpbmVyX19sb2dpbiAuY29udGVudCAubWFpbi10aXRsZSB7XG4gICAgICAgIG1hcmdpbjogM3JlbSBhdXRvIDAgYXV0bztcbiAgICAgICAgcGFkZGluZzogMCAyMHB4OyB9XG4gICAgICBib2R5LmxvZ2luIC5jb250YWluZXJfX2xvZ2luIC5jb250ZW50IC5jZW50ZXIge1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBwYWRkaW5nOiAzcmVtIDA7IH1cbiAgICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogMTEwMHB4KSB7XG4gICAgICAgICAgYm9keS5sb2dpbiAuY29udGFpbmVyX19sb2dpbiAuY29udGVudCAuY2VudGVyIHtcbiAgICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47IH0gfVxuICAgICAgICBib2R5LmxvZ2luIC5jb250YWluZXJfX2xvZ2luIC5jb250ZW50IC5jZW50ZXIgLmNlbnRlcl9fbGVmdCB7XG4gICAgICAgICAgd2lkdGg6IDUwJTtcbiAgICAgICAgICBib3JkZXItcmlnaHQ6IDFweCBzb2xpZCAjZWJlYmViOyB9XG4gICAgICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogMTEwMHB4KSB7XG4gICAgICAgICAgICBib2R5LmxvZ2luIC5jb250YWluZXJfX2xvZ2luIC5jb250ZW50IC5jZW50ZXIgLmNlbnRlcl9fbGVmdCB7XG4gICAgICAgICAgICAgIGJvcmRlci1yaWdodDogbm9uZTtcbiAgICAgICAgICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICNlYmViZWI7XG4gICAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgICBwYWRkaW5nLWJvdHRvbTogNXJlbTsgfSB9XG4gICAgICAgICAgYm9keS5sb2dpbiAuY29udGFpbmVyX19sb2dpbiAuY29udGVudCAuY2VudGVyIC5jZW50ZXJfX2xlZnQgLmZvcm1fX3RpdGxlIHtcbiAgICAgICAgICAgIG1hcmdpbjogYXV0bztcbiAgICAgICAgICAgIHdpZHRoOiBmaXQtY29udGVudDtcbiAgICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjsgfVxuICAgICAgICBib2R5LmxvZ2luIC5jb250YWluZXJfX2xvZ2luIC5jb250ZW50IC5jZW50ZXIgLmNlbnRlcl9fcmlnaHQge1xuICAgICAgICAgIHdpZHRoOiA1MCU7XG4gICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uOyB9XG4gICAgICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogMTEwMHB4KSB7XG4gICAgICAgICAgICBib2R5LmxvZ2luIC5jb250YWluZXJfX2xvZ2luIC5jb250ZW50IC5jZW50ZXIgLmNlbnRlcl9fcmlnaHQge1xuICAgICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgICAgbWFyZ2luLXRvcDogNXJlbTsgfSB9XG4gICAgICAgICAgYm9keS5sb2dpbiAuY29udGFpbmVyX19sb2dpbiAuY29udGVudCAuY2VudGVyIC5jZW50ZXJfX3JpZ2h0IC5mb3JtX190aXRsZSB7XG4gICAgICAgICAgICBtYXJnaW46IGF1dG87XG4gICAgICAgICAgICB3aWR0aDogZml0LWNvbnRlbnQ7XG4gICAgICAgICAgICBtYXJnaW4tdG9wOiAwO1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMnJlbTtcbiAgICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjsgfVxuICAgICAgICAgIGJvZHkubG9naW4gLmNvbnRhaW5lcl9fbG9naW4gLmNvbnRlbnQgLmNlbnRlciAuY2VudGVyX19yaWdodCAucGFnZV9fY29udGVudCB7XG4gICAgICAgICAgICBtYXJnaW4tdG9wOiAwO1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICAgICAgICAgIHdpZHRoOiA2MCUgIWltcG9ydGFudDsgfVxuICAgICAgICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogMTEwMHB4KSB7XG4gICAgICAgICAgICAgIGJvZHkubG9naW4gLmNvbnRhaW5lcl9fbG9naW4gLmNvbnRlbnQgLmNlbnRlciAuY2VudGVyX19yaWdodCAucGFnZV9fY29udGVudCB7XG4gICAgICAgICAgICAgICAgd2lkdGg6IDEwMCUgIWltcG9ydGFudDsgfSB9XG4gICAgICAgICAgYm9keS5sb2dpbiAuY29udGFpbmVyX19sb2dpbiAuY29udGVudCAuY2VudGVyIC5jZW50ZXJfX3JpZ2h0IC5idG4tLXN1Ym1pdCB7XG4gICAgICAgICAgICB3aWR0aDogZml0LWNvbnRlbnQ7XG4gICAgICAgICAgICBtYXJnaW46IDMuMnJlbSBhdXRvIDMuMnJlbSBhdXRvO1xuICAgICAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lOyB9XG4gICAgYm9keS5sb2dpbiAuY29udGFpbmVyX19sb2dpbiAjcGFnZSAuY2VudGVyIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrOyB9XG4gICAgYm9keS5sb2dpbiAuY29udGFpbmVyX19sb2dpbiAjcGFnZSBpbnB1dDpub3QoLm5mLXByZXZpb3VzKTpub3QoLm5mLW5leHQpOm5vdChbdHlwZT1zdWJtaXRdKSwgYm9keS5sb2dpbiAuY29udGFpbmVyX19sb2dpbiAjcGFnZSAuc2VsZWN0MiAuc2VsZWN0Mi1zZWxlY3Rpb24tLXNpbmdsZVthcmlhLWV4cGFuZGVkPWZhbHNlXSwgYm9keS5sb2dpbiAuY29udGFpbmVyX19sb2dpbiAjcGFnZSB0ZXh0YXJlYSB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjhmOGY4OyB9XG4gICAgYm9keS5sb2dpbiAuY29udGFpbmVyX19sb2dpbiAjcGFnZSBpbnB1dFt0eXBlPXN1Ym1pdF0ge1xuICAgICAgdXNlci1zZWxlY3Q6IG5vbmU7IH1cbiAgICAgIGJvZHkubG9naW4gLmNvbnRhaW5lcl9fbG9naW4gI3BhZ2UgaW5wdXRbdHlwZT1zdWJtaXRdIHNwYW4ge1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIHotaW5kZXg6IDEwOyB9XG4gICAgICBib2R5LmxvZ2luIC5jb250YWluZXJfX2xvZ2luICNwYWdlIGlucHV0W3R5cGU9c3VibWl0XTpob3ZlciwgYm9keS5sb2dpbiAuY29udGFpbmVyX19sb2dpbiAjcGFnZSBpbnB1dFt0eXBlPXN1Ym1pdF06Zm9jdXMge1xuICAgICAgICBiYWNrZ3JvdW5kOiAjY2U1NDAwOyB9XG4gICAgICBib2R5LmxvZ2luIC5jb250YWluZXJfX2xvZ2luICNwYWdlIGlucHV0W3R5cGU9c3VibWl0XS0tY29tcGFjdCB7XG4gICAgICAgIHBhZGRpbmc6IDEwcHggMjVweDsgfVxuICAgICAgYm9keS5sb2dpbiAuY29udGFpbmVyX19sb2dpbiAjcGFnZSBpbnB1dFt0eXBlPXN1Ym1pdF0tLWhpZGUge1xuICAgICAgICBvcGFjaXR5OiAwOyB9XG4gICAgICBib2R5LmxvZ2luIC5jb250YWluZXJfX2xvZ2luICNwYWdlIGlucHV0W3R5cGU9c3VibWl0XS0tc3Ryb2tlIHtcbiAgICAgICAgY29sb3I6ICNmNzY1MDA7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICAgICAgICBib3JkZXI6IDJweCBzb2xpZCAjZjc2NTAwOyB9XG4gICAgICAgIGJvZHkubG9naW4gLmNvbnRhaW5lcl9fbG9naW4gI3BhZ2UgaW5wdXRbdHlwZT1zdWJtaXRdLS1zdHJva2U6aG92ZXIsIGJvZHkubG9naW4gLmNvbnRhaW5lcl9fbG9naW4gI3BhZ2UgaW5wdXRbdHlwZT1zdWJtaXRdLS1zdHJva2U6Zm9jdXMge1xuICAgICAgICAgIGNvbG9yOiAjZmZmZmZmO1xuICAgICAgICAgIGJhY2tncm91bmQ6ICNjZTU0MDA7IH1cbiAgICAgIGJvZHkubG9naW4gLmNvbnRhaW5lcl9fbG9naW4gI3BhZ2UgaW5wdXRbdHlwZT1zdWJtaXRdOmRpc2FibGVkIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2Q4ZDhkODtcbiAgICAgICAgY29sb3I6ICMyMDIxMjQ7XG4gICAgICAgIGN1cnNvcjogbm90LWFsbG93ZWQ7IH1cbiAgICAgIGJvZHkubG9naW4gLmNvbnRhaW5lcl9fbG9naW4gI3BhZ2UgaW5wdXRbdHlwZT1zdWJtaXRdIC5uZi1mb3JtLWNvbnRlbnQgLm5mLW5leHQtaXRlbSAubmYtbmV4dCB7XG4gICAgICAgIGNvbG9yOiBibGFjazsgfVxuICBib2R5Lm1lbnUtaXMtb3BlbiB7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjsgfVxuICBib2R5LmRhc2hib2FyZCAjY29udGFpbmVyIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICBtaW4taGVpZ2h0OiAxMDB2aDsgfVxuICAgIGJvZHkuZGFzaGJvYXJkICNjb250YWluZXIgLmNvbnRlbnQge1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgbWluLWhlaWdodDogMTAwJTtcbiAgICAgIHBhZGRpbmctYm90dG9tOiAzLjEyNXJlbTsgfVxuICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTEwMHB4KSB7XG4gICAgICAgIGJvZHkuZGFzaGJvYXJkICNjb250YWluZXIgLmNvbnRlbnQge1xuICAgICAgICAgIGZsb2F0OiByaWdodDtcbiAgICAgICAgICB0b3A6IDA7XG4gICAgICAgICAgcmlnaHQ6IDA7IH0gfVxuICBib2R5LmRhc2hib2FyZCBtYWluIHtcbiAgICBwYWRkaW5nOiAwIDYuMjVyZW07IH1cbiAgICBib2R5LmRhc2hib2FyZCBtYWluIC5zaWRlYmFyIHtcbiAgICAgIHdpZHRoOiAxMDAlOyB9XG4gICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAxMTAwcHgpIHtcbiAgICAgICAgYm9keS5kYXNoYm9hcmQgbWFpbiAuc2lkZWJhciB7XG4gICAgICAgICAgbWFyZ2luLWJvdHRvbTogMS44NzVyZW07IH0gfVxuICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTEwMHB4KSB7XG4gICAgICAgIGJvZHkuZGFzaGJvYXJkIG1haW4gLnNpZGViYXIge1xuICAgICAgICAgIHdpZHRoOiBhdXRvO1xuICAgICAgICAgIG1pbi13aWR0aDogMTIuNXJlbTtcbiAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDEuODc1cmVtO1xuICAgICAgICAgIG1heC13aWR0aDogMTguNzVyZW07IH0gfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDE2MDBweCkge1xuICAgICAgYm9keS5kYXNoYm9hcmQgbWFpbiB7XG4gICAgICAgIHBhZGRpbmc6IDAgMi41cmVtOyB9IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAxMTAwcHgpIHtcbiAgICAgIGJvZHkuZGFzaGJvYXJkIG1haW4ge1xuICAgICAgICBwYWRkaW5nOiAwIDEuODc1cmVtOyB9IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMTAwcHgpIHtcbiAgICAgIGJvZHkuZGFzaGJvYXJkIG1haW4ge1xuICAgICAgICBkaXNwbGF5OiBmbGV4OyB9IH1cblxuLyoqXG4gKiBMaW5rXG4gKi9cbmEge1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gIGNvbG9yOiAjZjc2NTAwOyB9XG4gIGE6aG92ZXIge1xuICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lOyB9XG5cbi8qKlxuICogTWFya1xuICovXG5tYXJrIHtcbiAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gIGNvbG9yOiBpbmhlcml0OyB9XG5cbi8qKlxuICogSW1hZ2VzXG4gKi9cbmltZyB7XG4gIGRpc3BsYXk6IGJsb2NrOyB9XG5cbi8qKlxuICogUGFyYWdyYXBoXG4gKi9cbnAge1xuICBtYXJnaW4tYm90dG9tOiAxLjg3NWVtOyB9XG4gIHA6bGFzdC1vZi10eXBlIHtcbiAgICBtYXJnaW4tYm90dG9tOiAwOyB9XG5cbi8qKlxuICogVGl0bGVcbiAqL1xuaDEge1xuICBmb250LWZhbWlseTogXCJPcGVuIFNhbnNcIiwgSGVsdmV0aWNhLCBBcmlhbCwgc2Fucy1zZXJpZjtcbiAgZm9udC1zaXplOiAzLjVlbTtcbiAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgbGluZS1oZWlnaHQ6IDEuMjU7XG4gIG1hcmdpbi1ib3R0b206IDBlbTtcbiAgY29sb3I6ICNkOGQ4ZDg7XG4gIGZvbnQtd2VpZ2h0OiA3MDA7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTsgfVxuICBoMSBzdHJvbmcge1xuICAgIGRpc3BsYXk6IGJsb2NrOyB9XG5cbi8qXG4gKiBWaWRlb1xuICovXG52aWRlbyB7XG4gIGRpc3BsYXk6IGJsb2NrOyB9XG5cbi5oaWRkZW4ge1xuICBkaXNwbGF5OiBub25lOyB9XG5cbjo6c2VsZWN0aW9uIHtcbiAgY29sb3I6ICNmZmZmZmY7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmNzY1MDA7IH1cblxuOjotbW96LXNlbGVjdGlvbiB7XG4gIGNvbG9yOiAjZmZmZmZmO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjc2NTAwOyB9XG5cbi8qKlxuICogR2FsbGVyeVxuICovXG4uZ2FsbGVyeV9fZmVhdHVyZWQge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIC8qID4gKiB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMDtcbiAgICBsZWZ0OiAwO1xuICAgIHJpZ2h0OiAwO1xuICAgIGJvdHRvbTogMDtcbiAgfSAqL1xuICBtYXJnaW46IDA7XG4gIHBhZGRpbmc6IDA7IH1cbiAgLmdhbGxlcnlfX2ZlYXR1cmVkOmJlZm9yZSB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgcGFkZGluZy10b3A6IDY2LjY2NjY3JTtcbiAgICBjb250ZW50OiBcIiBcIjsgfVxuICAuZ2FsbGVyeV9fZmVhdHVyZWRfX2l0ZW1zIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgei1pbmRleDogMDtcbiAgICB0b3A6IDA7XG4gICAgbGVmdDogMDtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogMTAwJTtcbiAgICBvcGFjaXR5OiAwOyB9XG4gIC5nYWxsZXJ5X19mZWF0dXJlZDo6YmVmb3JlIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZWJlYmViOyB9XG4gIC5nYWxsZXJ5X19mZWF0dXJlZCBmaWd1cmUge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB6LWluZGV4OiAwO1xuICAgIHRvcDogMDtcbiAgICBsZWZ0OiAwO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIG1hcmdpbjogMDtcbiAgICBwYWRkaW5nOiAwO1xuICAgIG9wYWNpdHk6IDA7IH1cbiAgICAuZ2FsbGVyeV9fZmVhdHVyZWQgZmlndXJlIGEge1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgdG9wOiAwO1xuICAgICAgbGVmdDogMDtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyO1xuICAgICAgYmFja2dyb3VuZC1zaXplOiBhdXRvIDEwMCU7IH1cbiAgICAgICNzaW5nbGUgLmdhbGxlcnlfX2ZlYXR1cmVkIGZpZ3VyZSBhIHtcbiAgICAgICAgYmFja2dyb3VuZC1zaXplOiBjb3ZlcjsgfVxuICAgICAgLmdhbGxlcnlfX2ZlYXR1cmVkIGZpZ3VyZSBhIGltZyB7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgdG9wOiA1MCU7XG4gICAgICAgIGxlZnQ6IDAlO1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIGhlaWdodDogYXV0bztcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAtNTAlLCAwKTtcbiAgICAgICAgb3BhY2l0eTogMDsgfVxuICAgIC5nYWxsZXJ5X19mZWF0dXJlZCBmaWd1cmUgZmlnY2FwdGlvbiB7XG4gICAgICBmb250OiAwLzAgYTtcbiAgICAgIGNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICAgIGJvcmRlcjogMDtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICAgICAgdGV4dC1zaGFkb3c6IG5vbmU7IH1cbiAgICAuZ2FsbGVyeV9fZmVhdHVyZWQgZmlndXJlLmN1cnJlbnQge1xuICAgICAgei1pbmRleDogMTA7XG4gICAgICBvcGFjaXR5OiAxOyB9XG5cbi5nYWxsZXJ5X19idG4ge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogMDtcbiAgZGlzcGxheTogYmxvY2s7XG4gIG92ZXJmbG93OiB2aXNpYmxlO1xuICB3aWR0aDogMzMlO1xuICB3aWR0aDogY2FsYygzMyUgLSAxMHB4KTtcbiAgaGVpZ2h0OiAxMDAlO1xuICBwYWRkaW5nOiAwO1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgY29sb3I6ICNmZmZmZmY7XG4gIGJvcmRlcjogbm9uZTtcbiAgYmFja2dyb3VuZDogbm9uZTsgfVxuICAuZ2FsbGVyeV9fYnRuOmZvY3VzLCAuZ2FsbGVyeV9fYnRuOmhvdmVyIHtcbiAgICBvdXRsaW5lOiBub25lOyB9XG4gIC5nYWxsZXJ5X19idG46OmJlZm9yZSB7XG4gICAgLXdlYmtpdC1ib3JkZXItcmFkaXVzOiA1MCU7XG4gICAgLW1vei1ib3JkZXItcmFkaXVzOiA1MCU7XG4gICAgYm9yZGVyLXJhZGl1czogNTAlO1xuICAgIC1raHRtbC1ib3JkZXItcmFkaXVzOiA1MCU7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgd2lkdGg6IDQwcHg7XG4gICAgaGVpZ2h0OiA0MHB4O1xuICAgIGZvbnQtc2l6ZTogMTJweDtcbiAgICBsaW5lLWhlaWdodDogNDBweDtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiA1MCU7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAwLjJzIGN1YmljLWJlemllcigwLjU1LCAwLjA4NSwgMC42OCwgMC41Myk7XG4gICAgdmVydGljYWwtYWxpZ246IHRvcDtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjc2NTAwOyB9XG4gICAgLmdhbGxlcnlfX2J0bjo6YmVmb3JlOmZvY3VzLCAuZ2FsbGVyeV9fYnRuOjpiZWZvcmU6aG92ZXIge1xuICAgICAgb3V0bGluZTogbm9uZTtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICNmMTY1MjI7IH1cbiAgLmdhbGxlcnlfX2J0bi0tcHJldiB7XG4gICAgbGVmdDogMDsgfVxuICAgIC5nYWxsZXJ5X19idG4tLXByZXY6OmJlZm9yZSB7XG4gICAgICBsZWZ0OiAwO1xuICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtNTAlLCAtNTAlLCAwKTsgfVxuICAuZ2FsbGVyeV9fYnRuLS1uZXh0IHtcbiAgICByaWdodDogMDsgfVxuICAgIC5nYWxsZXJ5X19idG4tLW5leHQ6OmJlZm9yZSB7XG4gICAgICByaWdodDogMDtcbiAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoNTAlLCAtNTAlLCAwKTsgfVxuXG4uZ2FsbGVyeV9fbmF2aWdhdGlvbiB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgbWFyZ2luLXRvcDogMjBweDtcbiAgb3BhY2l0eTogMDsgfVxuICAuZ2FsbGVyeV9fbmF2aWdhdGlvbl9fbWFzayB7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjsgfVxuICAuZ2FsbGVyeV9fbmF2aWdhdGlvbiB1bCB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIG1hcmdpbjogMDtcbiAgICBwYWRkaW5nOiAwOyB9XG4gICAgLmdhbGxlcnlfX25hdmlnYXRpb24gdWw6YmVmb3JlLCAuZ2FsbGVyeV9fbmF2aWdhdGlvbiB1bDphZnRlciB7XG4gICAgICBkaXNwbGF5OiB0YWJsZTtcbiAgICAgIC8qIDIgKi9cbiAgICAgIGNvbnRlbnQ6IFwiIFwiO1xuICAgICAgLyogMSAqLyB9XG4gICAgLmdhbGxlcnlfX25hdmlnYXRpb24gdWw6YWZ0ZXIge1xuICAgICAgY2xlYXI6IGJvdGg7IH1cbiAgICAuZ2FsbGVyeV9fbmF2aWdhdGlvbiB1bCBsaSB7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAvKiA+ICoge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDA7XG4gICAgbGVmdDogMDtcbiAgICByaWdodDogMDtcbiAgICBib3R0b206IDA7XG4gIH0gKi9cbiAgICAgIGZsb2F0OiBsZWZ0O1xuICAgICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICAgIG1hcmdpbi1yaWdodDogMjBweDtcbiAgICAgIHBhZGRpbmc6IDA7XG4gICAgICBsaXN0LXN0eWxlOiBub25lO1xuICAgICAgdHJhbnNpdGlvbjogYm9yZGVyIDAuNHMgY3ViaWMtYmV6aWVyKDAuNDU1LCAwLjAzLCAwLjUxNSwgMC45NTUpO1xuICAgICAgYm9yZGVyOiAzcHggc29saWQgdHJhbnNwYXJlbnQ7XG4gICAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyO1xuICAgICAgYmFja2dyb3VuZC1zaXplOiBjb3ZlcjsgfVxuICAgICAgLmdhbGxlcnlfX25hdmlnYXRpb24gdWwgbGk6YmVmb3JlIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBwYWRkaW5nLXRvcDogNjYuNjY2NjclO1xuICAgICAgICBjb250ZW50OiBcIiBcIjsgfVxuICAgICAgLmdhbGxlcnlfX25hdmlnYXRpb24gdWwgbGkuY3VycmVudCB7XG4gICAgICAgIGJvcmRlci1jb2xvcjogI2Y3NjUwMDsgfVxuICAgICAgLmdhbGxlcnlfX25hdmlnYXRpb24gdWwgbGk6bGFzdC1jaGlsZCB7XG4gICAgICAgIG1hcmdpbi1yaWdodDogMDsgfVxuXG4uZGV0YWlscy1ibG9jayB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgbWFyZ2luLWJvdHRvbTogNTBweDsgfVxuICAuZGV0YWlscy1ibG9jazpiZWZvcmUsIC5kZXRhaWxzLWJsb2NrOmFmdGVyIHtcbiAgICBkaXNwbGF5OiB0YWJsZTtcbiAgICAvKiAyICovXG4gICAgY29udGVudDogXCIgXCI7XG4gICAgLyogMSAqLyB9XG4gIC5kZXRhaWxzLWJsb2NrOmFmdGVyIHtcbiAgICBjbGVhcjogYm90aDsgfVxuICAuZGV0YWlscy1ibG9jazpsYXN0LWNoaWxkIHtcbiAgICBtYXJnaW4tYm90dG9tOiAwOyB9XG4gIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogMTEwMHB4cHgpIHtcbiAgICAuZGV0YWlscy1ibG9jayB7XG4gICAgICB3aWR0aDogY2FsYygxNTBweCArICgoMTAwJSAtIDMzMHB4KSAvIDEyICogNikpOyB9XG4gICAgICAuZGV0YWlscy1ibG9jazpudGgtY2hpbGQoMm4rMikge1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IDA7IH0gfVxuICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDYwMHB4cHgpIHtcbiAgICAuZGV0YWlscy1ibG9jayB7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIG1hcmdpbi1yaWdodDogMDsgfSB9XG4gIC5kZXRhaWxzLWJsb2NrX190aXRsZSB7XG4gICAgZm9udC1zaXplOiAxNHB4O1xuICAgIGxpbmUtaGVpZ2h0OiAxOXB4O1xuICAgIG1hcmdpbi1ib3R0b206IDIycHg7IH1cbiAgICAuZGV0YWlscy1ibG9ja19fdGl0bGUgc3Bhbjo6YmVmb3JlIHtcbiAgICAgIGJvdHRvbTogM3B4O1xuICAgICAgaGVpZ2h0OiA2cHg7IH1cbiAgLmRldGFpbHMtYmxvY2tfX2xhYmVsIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgbWluLXdpZHRoOiAxMzBweDtcbiAgICBvcGFjaXR5OiAuNDsgfVxuICAuZGV0YWlscy1ibG9ja19fcGljdG8ge1xuICAgIG1hcmdpbjogMDtcbiAgICBwYWRkaW5nOiAwOyB9XG4gICAgLmRldGFpbHMtYmxvY2tfX3BpY3RvOmJlZm9yZSwgLmRldGFpbHMtYmxvY2tfX3BpY3RvOmFmdGVyIHtcbiAgICAgIGRpc3BsYXk6IHRhYmxlO1xuICAgICAgLyogMiAqL1xuICAgICAgY29udGVudDogXCIgXCI7XG4gICAgICAvKiAxICovIH1cbiAgICAuZGV0YWlscy1ibG9ja19fcGljdG86YWZ0ZXIge1xuICAgICAgY2xlYXI6IGJvdGg7IH1cbiAgICAuZGV0YWlscy1ibG9ja19fcGljdG8gbGkge1xuICAgICAgZm9udC1zaXplOiAxNHB4O1xuICAgICAgZmxvYXQ6IGxlZnQ7XG4gICAgICBtaW4td2lkdGg6IDE2MHB4O1xuICAgICAgbWFyZ2luOiAwO1xuICAgICAgbWFyZ2luLWJvdHRvbTogMjBweDtcbiAgICAgIHBhZGRpbmc6IDA7XG4gICAgICBsaXN0LXN0eWxlOiBub25lO1xuICAgICAgY29sb3I6ICMyMDIxMjQ7IH1cbiAgICAgIC5kZXRhaWxzLWJsb2NrX19waWN0byBsaTpiZWZvcmUsIC5kZXRhaWxzLWJsb2NrX19waWN0byBsaTphZnRlciB7XG4gICAgICAgIGRpc3BsYXk6IHRhYmxlO1xuICAgICAgICAvKiAyICovXG4gICAgICAgIGNvbnRlbnQ6IFwiIFwiO1xuICAgICAgICAvKiAxICovIH1cbiAgICAgIC5kZXRhaWxzLWJsb2NrX19waWN0byBsaTphZnRlciB7XG4gICAgICAgIGNsZWFyOiBib3RoOyB9XG4gICAgICAuZGV0YWlscy1ibG9ja19fcGljdG8gbGkgYSB7XG4gICAgICAgIGNvbG9yOiAjMjAyMTI0OyB9XG4gICAgICAgIC5kZXRhaWxzLWJsb2NrX19waWN0byBsaSBhOmJlZm9yZSwgLmRldGFpbHMtYmxvY2tfX3BpY3RvIGxpIGE6YWZ0ZXIge1xuICAgICAgICAgIGRpc3BsYXk6IHRhYmxlO1xuICAgICAgICAgIC8qIDIgKi9cbiAgICAgICAgICBjb250ZW50OiBcIiBcIjtcbiAgICAgICAgICAvKiAxICovIH1cbiAgICAgICAgLmRldGFpbHMtYmxvY2tfX3BpY3RvIGxpIGE6YWZ0ZXIge1xuICAgICAgICAgIGNsZWFyOiBib3RoOyB9XG4gICAgICAuZGV0YWlscy1ibG9ja19fcGljdG8gbGkgaW1nIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIGZsb2F0OiBsZWZ0OyB9XG4gICAgICAuZGV0YWlscy1ibG9ja19fcGljdG8gbGkgc3BhbiB7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiA0MHB4O1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgZmxvYXQ6IGxlZnQ7XG4gICAgICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgICAgIHBhZGRpbmc6IDAgMThweDsgfVxuICAuZGV0YWlscy1ibG9ja19fbGlzdCB7XG4gICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICBtYXJnaW46IDA7XG4gICAgcGFkZGluZzogMDtcbiAgICBjb2xvcjogIzIwMjEyNDsgfVxuICAgIC5kZXRhaWxzLWJsb2NrX19saXN0LS1wYWNrYWdpbmcuZGV0YWlscy1ibG9ja19fbGlzdC0tcGFja2FnaW5nIHtcbiAgICAgIHBhZGRpbmctdG9wOiAzMHB4OyB9XG4gICAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMTAwcHhweCkge1xuICAgICAgLmRldGFpbHMtYmxvY2tfX2xpc3Qge1xuICAgICAgICBmbG9hdDogbGVmdDtcbiAgICAgICAgd2lkdGg6IGNhbGMoMTUwcHggKyAoKDEwMCUgLSAzMzBweCkgLyAxMiAqIDYpKTtcbiAgICAgICAgcGFkZGluZy1yaWdodDogMzBweDsgfVxuICAgICAgICAuZGV0YWlscy1ibG9jay0tZnVsbCAuZGV0YWlscy1ibG9ja19fbGlzdCB7XG4gICAgICAgICAgZmxvYXQ6IG5vbmU7XG4gICAgICAgICAgY2xlYXI6IGJvdGg7XG4gICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgYm9yZGVyOiBub25lOyB9XG4gICAgICAgIC5kZXRhaWxzLWJsb2NrX19saXN0LS1mdWxsIHtcbiAgICAgICAgICBmbG9hdDogbm9uZTtcbiAgICAgICAgICBjbGVhcjogYm90aDtcbiAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICBwYWRkaW5nOiAwO1xuICAgICAgICAgIGJvcmRlcjogbm9uZTsgfSB9XG4gICAgLmRldGFpbHMtYmxvY2tfX2xpc3QgKyB1bC5kZXRhaWxzLWJsb2NrX19saXN0LS1mdWxsIHtcbiAgICAgIHBhZGRpbmctbGVmdDogMDtcbiAgICAgIGJvcmRlcjogbm9uZTsgfVxuICAgIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTEwMHB4cHgpIHtcbiAgICAgIC5kZXRhaWxzLWJsb2NrX19saXN0ICsgdWwge1xuICAgICAgICBwYWRkaW5nLXJpZ2h0OiAwO1xuICAgICAgICBwYWRkaW5nLWxlZnQ6IDMwcHg7XG4gICAgICAgIGJvcmRlci1sZWZ0OiAxcHggc29saWQgcmdiYSgzMiwgMzMsIDM2LCAwLjEpOyB9IH1cbiAgICAuZGV0YWlscy1ibG9ja19fbGlzdCBsaSB7XG4gICAgICBmb250LXNpemU6IDE0cHg7XG4gICAgICBsaW5lLWhlaWdodDogMjVweDtcbiAgICAgIHBhZGRpbmc6IDA7XG4gICAgICBsaXN0LXN0eWxlOiBub25lOyB9XG5cbi8qKlxuICogU3VjY2VzcyBtZXNzYWdlXG4gKi9cbi5ibG9ja19fc3VjY2Vzc19tZXNzYWdlIHtcbiAgei1pbmRleDogMTAwO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjNzhhZTExO1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICBtYXgtaGVpZ2h0OiAwO1xuICBkaXNwbGF5OiBibG9jaztcbiAgcG9zaXRpb246IGZpeGVkO1xuICB0b3A6IDA7XG4gIGxlZnQ6IDA7XG4gIHJpZ2h0OiAwO1xuICB0cmFuc2l0aW9uOiBtYXgtaGVpZ2h0IDAuMnMgY3ViaWMtYmV6aWVyKDAuNDQ1LCAwLjA1LCAwLjU1LCAwLjk1KTsgfVxuICAuYmxvY2tfX3N1Y2Nlc3NfbWVzc2FnZV9fY29udGVudCB7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIHBhZGRpbmctdG9wOiAxNXB4O1xuICAgIHBhZGRpbmctYm90dG9tOiAxNXB4O1xuICAgIGZvbnQtc2l6ZTogMTRweDtcbiAgICBmb250LXdlaWdodDogYm9sZDtcbiAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgIGxldHRlci1zcGFjaW5nOiAxcHg7XG4gICAgY29sb3I6ICMyMDIxMjQ7IH1cbiAgLmJsb2NrX19zdWNjZXNzX21lc3NhZ2UuYWN0aXZlIHtcbiAgICBtYXgtaGVpZ2h0OiAyMDBweDsgfVxuXG4vKipcbiAqIFZpZGVvXG4gKi9cbi5wb3B1cF9fdmlkZW8ge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIC8qID4gKiB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMDtcbiAgICBsZWZ0OiAwO1xuICAgIHJpZ2h0OiAwO1xuICAgIGJvdHRvbTogMDtcbiAgfSAqL1xuICB3aWR0aDogMTAwJTsgfVxuICAucG9wdXBfX3ZpZGVvOmJlZm9yZSB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgcGFkZGluZy10b3A6IDU2LjI1JTtcbiAgICBjb250ZW50OiBcIiBcIjsgfVxuICAucG9wdXBfX3ZpZGVvIC5wbGF5ZXIge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBpbnNldDogMDsgfVxuXG4uaGVhZGVyIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZmZmZjsgfVxuICAuaGVhZGVyIC5jZW50ZXIge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDYwMHB4KSB7XG4gICAgICAuaGVhZGVyIC5jZW50ZXIge1xuICAgICAgICBkaXNwbGF5OiBibG9jazsgfSB9XG4gIC5sb2dpbiAuaGVhZGVyIC5sb2dvIHtcbiAgICB3aWR0aDogMTEuODc1cmVtO1xuICAgIG1hcmdpbi1ib3R0b206IDEuMzc1cmVtO1xuICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gICAgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyO1xuICAgIG1hcmdpbjogMDtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cbiAgICAubG9naW4gLmhlYWRlciAubG9nbyAubG9nb19fdGV4dCB7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAvKiBsZWZ0OiAyMDBweDsgKi9cbiAgICAgIHJpZ2h0OiAtNjAlO1xuICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpO1xuICAgICAgdG9wOiA1MCU7XG4gICAgICB3aWR0aDogZml0LWNvbnRlbnQ7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgIGhlaWdodDogMTAwJTsgfVxuICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNjAwcHgpIHtcbiAgICAgICAgLmxvZ2luIC5oZWFkZXIgLmxvZ28gLmxvZ29fX3RleHQge1xuICAgICAgICAgIHJpZ2h0OiAzMnB4O1xuICAgICAgICAgIGJvdHRvbTogLTc1JTtcbiAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCk7XG4gICAgICAgICAgdG9wOiBhdXRvOyB9IH1cbiAgICAgIC5sb2dpbiAuaGVhZGVyIC5sb2dvIC5sb2dvX190ZXh0IHNwYW4ge1xuICAgICAgICBmb250LWZhbWlseTogXCJmdXR1cmEtcHRcIiwgRnV0dXJhLCBcIlRyZWJ1Y2hldCBNU1wiLCBBcmlhbCwgc2Fucy1zZXJpZjtcbiAgICAgICAgY29sb3I6ICMyMDIxMjQ7XG4gICAgICAgIGZvbnQtc2l6ZTogMS41NjI1cmVtO1xuICAgICAgICBsZXR0ZXItc3BhY2luZzogMC4xMjVyZW07XG4gICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7IH1cbiAgLmRhc2hib2FyZCAuaGVhZGVyIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgb3ZlcmZsb3c6IGF1dG87XG4gICAgd2lkdGg6IDIwLjMxMjVyZW07XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2ViZWJlYjsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDExMDBweCkge1xuICAgICAgLmRhc2hib2FyZCAuaGVhZGVyIHtcbiAgICAgICAgZmxvYXQ6IGxlZnQ7XG4gICAgICAgIHRvcDogMDtcbiAgICAgICAgbGVmdDogMDtcbiAgICAgICAgYm90dG9tOiAwOyB9IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAxMTAwcHgpIHtcbiAgICAgIC5kYXNoYm9hcmQgLmhlYWRlciB7XG4gICAgICAgIHBvc2l0aW9uOiBmaXhlZDtcbiAgICAgICAgei1pbmRleDogMTAwMDtcbiAgICAgICAgd2lkdGg6IDQwJTtcbiAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC0xMDAlLCAwLCAwKTsgfVxuICAgICAgICAuZGFzaGJvYXJkIC5oZWFkZXIuaXMtb3BlbiB7XG4gICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwJSwgMCwgMCk7IH0gfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDYwMHB4KSB7XG4gICAgICAuZGFzaGJvYXJkIC5oZWFkZXIge1xuICAgICAgICB3aWR0aDogNzUlOyB9IH1cbiAgICAuZGFzaGJvYXJkIC5oZWFkZXI6YmVmb3JlIHtcbiAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgcG9zaXRpb246IGZpeGVkO1xuICAgICAgdG9wOiAwO1xuICAgICAgbGVmdDogMDtcbiAgICAgIGJvdHRvbTogMDtcbiAgICAgIHdpZHRoOiAyMC4zMTI1cmVtO1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2ViZWJlYjsgfVxuICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogMTQwMHB4KSBhbmQgKG1pbi13aWR0aDogMTEwMHB4KSB7XG4gICAgICAgIC5kYXNoYm9hcmQgLmhlYWRlcjpiZWZvcmUge1xuICAgICAgICAgIHdpZHRoOiAxNy41cmVtOyB9IH1cbiAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDYwMHB4KSB7XG4gICAgICAgIC5kYXNoYm9hcmQgLmhlYWRlcjpiZWZvcmUge1xuICAgICAgICAgIHdpZHRoOiA3NSU7IH0gfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDE0MDBweCkgYW5kIChtaW4td2lkdGg6IDExMDBweCkge1xuICAgICAgLmRhc2hib2FyZCAuaGVhZGVyIHtcbiAgICAgICAgd2lkdGg6IDE3LjVyZW07IH0gfVxuICAgIC5kYXNoYm9hcmQgLmhlYWRlciArIC5jb250ZW50IHtcbiAgICAgIHdpZHRoOiBjYWxjKCAxMDAlIC0gMzI1cHgpOyB9XG4gICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAxNDAwcHgpIGFuZCAobWluLXdpZHRoOiAxMTAwcHgpIHtcbiAgICAgICAgLmRhc2hib2FyZCAuaGVhZGVyICsgLmNvbnRlbnQge1xuICAgICAgICAgIHdpZHRoOiBjYWxjKCAxMDAlIC0gMjgwcHgpOyB9IH1cbiAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDExMDBweCkge1xuICAgICAgICAuZGFzaGJvYXJkIC5oZWFkZXIgKyAuY29udGVudCB7XG4gICAgICAgICAgZmxvYXQ6IG5vbmU7XG4gICAgICAgICAgd2lkdGg6IGF1dG87IH0gfVxuICAgIC5kYXNoYm9hcmQgLmhlYWRlciAubG9nbyB7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIGhlaWdodDogMTUuMzEyNXJlbTtcbiAgICAgIG1hcmdpbjogMDtcbiAgICAgIHBhZGRpbmc6IDA7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjhmOGY4O1xuICAgICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlcjtcbiAgICAgIGJhY2tncm91bmQtc2l6ZTogOS44MTI1cmVtIGF1dG87IH1cbiAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDExMDBweCkge1xuICAgICAgICAuZGFzaGJvYXJkIC5oZWFkZXIgLmxvZ28ge1xuICAgICAgICAgIGhlaWdodDogNi4yNXJlbTtcbiAgICAgICAgICBiYWNrZ3JvdW5kLXNpemU6IDYuMjVyZW0gYXV0bzsgfSB9XG4gICAgICAuZGFzaGJvYXJkIC5oZWFkZXIgLmxvZ286OmJlZm9yZSB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7IH1cbiAgLmhlYWRlcl9fY29udGVudCB7XG4gICAgbWFyZ2luLXRvcDogMS44NzVyZW07XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIGNvbG9yOiByZ2JhKDMyLCAzMywgMzYsIDAuNCk7IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNjAwcHgpIHtcbiAgLmhlYWRlci0tbG9naW4ge1xuICAgIHBhZGRpbmctYm90dG9tOiAzLjc1cmVtICFpbXBvcnRhbnQ7IH0gfVxuXG4uaGVhZGVyLS1sb2dpbiAudG9wYmFyIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgbGVmdDogMDtcbiAgaGVpZ2h0OiAxMDAlO1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICB3aWR0aDogMTAwJTtcbiAgbWFyZ2luOiAwO1xuICBkaXNwbGF5OiBmbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICB6LWluZGV4OiAwOyB9XG5cbi8qKlxuICogTG9nb1xuICovXG4ubG9nbyB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgLyogPiAqIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAwO1xuICAgIGxlZnQ6IDA7XG4gICAgcmlnaHQ6IDA7XG4gICAgYm90dG9tOiAwO1xuICB9ICovXG4gIGRpc3BsYXk6IGJsb2NrO1xuICB3aWR0aDogOS44MTI1cmVtO1xuICBtYXJnaW46IDAgYXV0bztcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKC4uL2ltZy9sb2dvLW5tYy5zdmcpOyB9XG4gIC5sb2dvOmJlZm9yZSB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgcGFkZGluZy10b3A6IDQ0LjIyMjIyJTtcbiAgICBjb250ZW50OiBcIiBcIjsgfVxuXG4vKipcbiAqIE5hdmlnYXRpbW5cbiAqL1xuLm1haW4tbmF2IHtcbiAgcG9zaXRpb246IHJlbGF0aXZlOyB9XG4gIC5tYWluLW5hdiA+IHVsIHtcbiAgICBtYXJnaW46IDA7XG4gICAgcGFkZGluZzogMDsgfVxuICAgIC5tYWluLW5hdiA+IHVsID4gbGkge1xuICAgICAgZm9udC1zaXplOiAwLjgxMjVyZW07XG4gICAgICBsaXN0LXN0eWxlOiBub25lO1xuICAgICAgbGV0dGVyLXNwYWNpbmc6IDAuMTI1cmVtO1xuICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICAgIGNvbG9yOiByZ2JhKDMyLCAzMywgMzYsIDAuNSk7XG4gICAgICBib3JkZXItYm90dG9tOiAwLjA2MjVyZW0gc29saWQgI2Q4ZDhkODsgfVxuICAgICAgLm1haW4tbmF2ID4gdWwgPiBsaSA+IGEge1xuICAgICAgICBmb250LWZhbWlseTogXCJmdXR1cmEtcHRcIiwgRnV0dXJhLCBcIlRyZWJ1Y2hldCBNU1wiLCBBcmlhbCwgc2Fucy1zZXJpZjtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgcGFkZGluZzogMi4zNzVyZW0gMi41cmVtO1xuICAgICAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDAuMnMgY3ViaWMtYmV6aWVyKDAuNDU1LCAwLjAzLCAwLjUxNSwgMC45NTUpO1xuICAgICAgICBjb2xvcjogcmdiYSgzMiwgMzMsIDM2LCAwLjQpOyB9XG4gICAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDExMDBweCkge1xuICAgICAgICAgIC5tYWluLW5hdiA+IHVsID4gbGkgPiBhIHtcbiAgICAgICAgICAgIHBhZGRpbmc6IDEuODc1cmVtIDEuMjVyZW07IH0gfVxuICAgICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA2MDBweCkge1xuICAgICAgICAgIC5tYWluLW5hdiA+IHVsID4gbGkgPiBhIHtcbiAgICAgICAgICAgIHBhZGRpbmc6IDEuMjVyZW0gMS4yNXJlbTsgfSB9XG4gICAgICAgIC5tYWluLW5hdiA+IHVsID4gbGkgPiBhOmhvdmVyIHtcbiAgICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2Q4ZDhkODsgfVxuICAgICAgLm1haW4tbmF2ID4gdWwgPiBsaS5pcy1vcGVuIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2Q4ZDhkODsgfVxuICAgICAgICAubWFpbi1uYXYgPiB1bCA+IGxpLmlzLW9wZW4gPiBhIHtcbiAgICAgICAgICBjb2xvcjogcmdiYSgzMiwgMzMsIDM2LCAwLjQpO1xuICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICNkOGQ4ZDg7IH1cbiAgICAgIC5tYWluLW5hdiA+IHVsID4gbGkubWVudS1pdGVtLWhhcy1jaGlsZHJlbiA+IGE6OmJlZm9yZSB7XG4gICAgICAgIGZvbnQtc2l6ZTogMC4zMTI1cmVtO1xuICAgICAgICBsaW5lLWhlaWdodDogMTtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICB0b3A6IDUwJTtcbiAgICAgICAgcmlnaHQ6IDIuNXJlbTtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAtNTAlLCAwKTtcbiAgICAgICAgdmVydGljYWwtYWxpZ246IHRvcDtcbiAgICAgICAgY29sb3I6ICNmNzY1MDA7IH1cbiAgICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogMTEwMHB4KSB7XG4gICAgICAgICAgLm1haW4tbmF2ID4gdWwgPiBsaS5tZW51LWl0ZW0taGFzLWNoaWxkcmVuID4gYTo6YmVmb3JlIHtcbiAgICAgICAgICAgIHJpZ2h0OiAxLjI1cmVtOyB9IH1cbiAgICAgIC5tYWluLW5hdiA+IHVsID4gbGkuY3VycmVudF9wYWdlX2l0ZW0gPiBhIHtcbiAgICAgICAgY29sb3I6ICNmZmZmZmY7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICNmNzY1MDA7IH1cbiAgICAgIC5tYWluLW5hdiA+IHVsID4gbGkuY3VycmVudF9wYWdlX3BhcmVudCA+IGEge1xuICAgICAgICBjb2xvcjogI2ZmZmZmZjtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2Y3NjUwMDsgfVxuICAgICAgICAubWFpbi1uYXYgPiB1bCA+IGxpLmN1cnJlbnRfcGFnZV9wYXJlbnQgPiBhOjpiZWZvcmUge1xuICAgICAgICAgIGNvbG9yOiAjZmZmZmZmOyB9XG4gICAgICAubWFpbi1uYXYgPiB1bCA+IGxpLmN1cnJlbnRfcGFnZV9wYXJlbnQuaXMtb3BlbiB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICNkOGQ4ZDg7IH1cbiAgICAgICAgLm1haW4tbmF2ID4gdWwgPiBsaS5jdXJyZW50X3BhZ2VfcGFyZW50LmlzLW9wZW4gPiBhIHtcbiAgICAgICAgICBjb2xvcjogcmdiYSgzMiwgMzMsIDM2LCAwLjQpO1xuICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICNkOGQ4ZDg7IH1cbiAgICAgICAgICAubWFpbi1uYXYgPiB1bCA+IGxpLmN1cnJlbnRfcGFnZV9wYXJlbnQuaXMtb3BlbiA+IGE6OmJlZm9yZSB7XG4gICAgICAgICAgICBjb2xvcjogcmdiYSgzMiwgMzMsIDM2LCAwLjQpOyB9XG4gICAgICAubWFpbi1uYXYgPiB1bCA+IGxpLmlzLW9wZW4gLnN1Yi1tZW51IHtcbiAgICAgICAgaGVpZ2h0OiBhdXRvO1xuICAgICAgICBwYWRkaW5nLWJvdHRvbTogMi4zNzVyZW07IH1cbiAgLm1haW4tbmF2IC5zdWItbWVudSB7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICBoZWlnaHQ6IDA7XG4gICAgcGFkZGluZzogMHJlbSAyLjVyZW07XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2Q4ZDhkODsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDExMDBweCkge1xuICAgICAgLm1haW4tbmF2IC5zdWItbWVudSB7XG4gICAgICAgIHBhZGRpbmc6IDByZW0gMi41cmVtOyB9IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA2MDBweCkge1xuICAgICAgLm1haW4tbmF2IC5zdWItbWVudSB7XG4gICAgICAgIHBhZGRpbmc6IDByZW0gMS4yNXJlbTsgfSB9XG4gICAgLm1haW4tbmF2IC5zdWItbWVudSBsaSB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAxLjM3NXJlbTtcbiAgICAgIHBhZGRpbmctbGVmdDogMS4yNXJlbTtcbiAgICAgIGxpc3Qtc3R5bGU6IG5vbmU7IH1cbiAgICAgIC5tYWluLW5hdiAuc3ViLW1lbnUgbGk6bGFzdC1jaGlsZCB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDA7IH1cbiAgICAgIC5tYWluLW5hdiAuc3ViLW1lbnUgbGkgYSB7XG4gICAgICAgIGZvbnQtZmFtaWx5OiBcIk9wZW4gU2Fuc1wiLCBIZWx2ZXRpY2EsIEFyaWFsLCBzYW5zLXNlcmlmO1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgdHJhbnNpdGlvbjogY29sb3IgMC4ycyBjdWJpYy1iZXppZXIoMC40NTUsIDAuMDMsIDAuNTE1LCAwLjk1NSk7XG4gICAgICAgIGxldHRlci1zcGFjaW5nOiAwLjAzMTI1cmVtO1xuICAgICAgICB0ZXh0LXRyYW5zZm9ybTogbm9uZTtcbiAgICAgICAgY29sb3I6IHJnYmEoMzIsIDMzLCAzNiwgMC4zKTsgfVxuICAgICAgICAubWFpbi1uYXYgLnN1Yi1tZW51IGxpIGE6aG92ZXIge1xuICAgICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICAgICAgICBjb2xvcjogI2Y3NjUwMDsgfVxuICAgICAgLm1haW4tbmF2IC5zdWItbWVudSBsaS5jdXJyZW50X3BhZ2VfaXRlbSBhIHtcbiAgICAgICAgY29sb3I6IHJnYmEoMzIsIDMzLCAzNiwgMC42KTsgfVxuXG4vKipcbiAqIExhbmcgc3dpdGNoZXIgLSBWMVxuICovXG4ubGFuZy1zd2l0Y2hlciB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgbWFyZ2luOiAzLjEyNXJlbSAwO1xuICBwYWRkaW5nOiAwO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7IH1cbiAgLmxhbmctc3dpdGNoZXIgbGkge1xuICAgIGZvbnQtc2l6ZTogMC44MTI1cmVtO1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBtYXJnaW4tcmlnaHQ6IDAuOTM3NXJlbTtcbiAgICBsaXN0LXN0eWxlOiBub25lO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjsgfVxuICAgIC5sYW5nLXN3aXRjaGVyIGxpOmxhc3QtY2hpbGQge1xuICAgICAgbWFyZ2luLXJpZ2h0OiAwOyB9XG4gICAgLmxhbmctc3dpdGNoZXIgbGkgYSB7XG4gICAgICB0cmFuc2l0aW9uOiBjb2xvciAwLjJzIGN1YmljLWJlemllcigwLjQ3LCAwLCAwLjc0NSwgMC43MTUpO1xuICAgICAgdGV4dC10cmFuc2Zvcm06IGNhcGl0YWxpemU7XG4gICAgICBjb2xvcjogcmdiYSgzMiwgMzMsIDM2LCAwLjMpOyB9XG4gICAgICAubGFuZy1zd2l0Y2hlciBsaSBhOmhvdmVyIHtcbiAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgICAgICBjb2xvcjogI2Y3NjUwMDsgfVxuICAgIC5sYW5nLXN3aXRjaGVyIGxpLmN1cnJlbnQtbGFuZyBhIHtcbiAgICAgIGNvbG9yOiAjMjAyMTI0OyB9XG4gICAgICAubGFuZy1zd2l0Y2hlciBsaS5jdXJyZW50LWxhbmcgYTpob3ZlciB7XG4gICAgICAgIGNvbG9yOiAjZjc2NTAwOyB9XG5cbi5mb290ZXI6YmVmb3JlLCAuZm9vdGVyOmFmdGVyIHtcbiAgZGlzcGxheTogdGFibGU7XG4gIC8qIDIgKi9cbiAgY29udGVudDogXCIgXCI7XG4gIC8qIDEgKi8gfVxuXG4uZm9vdGVyOmFmdGVyIHtcbiAgY2xlYXI6IGJvdGg7IH1cblxuLmZvb3RlciAubm9vbWlhIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHdpZHRoOiA4MXB4O1xuICBoZWlnaHQ6IDE1cHg7XG4gIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gIHRleHQtaW5kZW50OiAtOTk5OXB4OyB9XG4gIC5mb290ZXIgLm5vb21pYTpiZWZvcmUge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDA7XG4gICAgbGVmdDogMDtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICB3aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgY29udGVudDogXCJcIjtcbiAgICBvcGFjaXR5OiAuNztcbiAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICAgIGJhY2tncm91bmQtcG9zaXRpb246IGxlZnQgY2VudGVyO1xuICAgIGJhY2tncm91bmQtc2l6ZTogODFweCAxNXB4O1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCguLi9pbWcvbG9nby1ub29taWEtLWRhcmsuc3ZnKTsgfVxuICAuZm9vdGVyIC5ub29taWE6YWZ0ZXIge1xuICAgIC13ZWJraXQtdHJhbnNpdGlvbjogd2lkdGggMC4zcyBjdWJpYy1iZXppZXIoMC41NSwgMC4wODUsIDAuNjgsIDAuNTMpO1xuICAgIC1tb3otdHJhbnNpdGlvbjogd2lkdGggMC4zcyBjdWJpYy1iZXppZXIoMC41NSwgMC4wODUsIDAuNjgsIDAuNTMpO1xuICAgIHRyYW5zaXRpb246IHdpZHRoIDAuM3MgY3ViaWMtYmV6aWVyKDAuNTUsIDAuMDg1LCAwLjY4LCAwLjUzKTtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAwO1xuICAgIGxlZnQ6IDA7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgd2lkdGg6IDA7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBsZWZ0IGNlbnRlcjtcbiAgICBiYWNrZ3JvdW5kLXNpemU6IDgxcHggMTVweDtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoLi4vaW1nL2xvZ28tbm9vbWlhLS1kYXJrLnN2Zyk7IH1cbiAgLmZvb3RlciAubm9vbWlhOmhvdmVyOmFmdGVyIHtcbiAgICB3aWR0aDogMTAwJTsgfVxuXG4uc2lkZWJhciB7XG4gIG1hcmdpbi1yaWdodDogMi41cmVtOyB9XG5cbi5zaWdpbixcbi5mb3Jnb3RwYXNzd29yZCxcbi5yZXNldHBhc3N3b3JkIHtcbiAgd2lkdGg6IDI4LjEyNXJlbTtcbiAgbWFyZ2luOiAwIGF1dG87XG4gIHBhZGRpbmc6IDMuMTI1cmVtIDAgMCAwOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDYwMHB4KSB7XG4gICAgLnNpZ2luLFxuICAgIC5mb3Jnb3RwYXNzd29yZCxcbiAgICAucmVzZXRwYXNzd29yZCB7XG4gICAgICB3aWR0aDogMTAwJTsgfSB9XG4gIC5zaWdpbl9fZm9yZ290LXBhc3N3b3JkLFxuICAuZm9yZ290cGFzc3dvcmRfX2ZvcmdvdC1wYXNzd29yZCxcbiAgLnJlc2V0cGFzc3dvcmRfX2ZvcmdvdC1wYXNzd29yZCB7XG4gICAgZm9udC1zaXplOiAwLjgxMjVyZW07XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgbWFyZ2luLXRvcDogMS44NzVyZW07XG4gICAgdGV4dC1hbGlnbjogY2VudGVyOyB9XG5cbiNjb250YWluZXIge1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uOyB9XG5cbiNsb2dpbiAucGFnZV9fY29udGVudCB7XG4gIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICBtYXJnaW4tcmlnaHQ6IGF1dG87XG4gIHdpZHRoOiA5MCU7XG4gIG1heC13aWR0aDogMTMwMHB4OyB9XG5cbiNsb2dpbiAubGFiZWwtLWNoZWNrYm94LCAjbG9naW4gLnBhZ2UgLmNoZWNrYm94LXdyYXAgbGFiZWwsIC5wYWdlIC5jaGVja2JveC13cmFwICNsb2dpbiBsYWJlbCwgI2xvZ2luIC5wYWdlIC5saXN0LWNoZWNrYm94LXdyYXAgdWwgbGFiZWwsIC5wYWdlIC5saXN0LWNoZWNrYm94LXdyYXAgdWwgI2xvZ2luIGxhYmVsIHtcbiAgZGlzcGxheTogYmxvY2s7IH1cbiAgI2xvZ2luIC5sYWJlbC0tY2hlY2tib3ggYSwgI2xvZ2luIC5wYWdlIC5jaGVja2JveC13cmFwIGxhYmVsIGEsIC5wYWdlIC5jaGVja2JveC13cmFwICNsb2dpbiBsYWJlbCBhLCAjbG9naW4gLnBhZ2UgLmxpc3QtY2hlY2tib3gtd3JhcCB1bCBsYWJlbCBhLCAucGFnZSAubGlzdC1jaGVja2JveC13cmFwIHVsICNsb2dpbiBsYWJlbCBhIHtcbiAgICBmb250LXN0eWxlOiBpdGFsaWM7XG4gICAgY29sb3I6IGluaGVyaXQ7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XG4gICAgdHJhbnNpdGlvbjogY29sb3IgMC4ycyBjdWJpYy1iZXppZXIoMC40NTUsIDAuMDMsIDAuNTE1LCAwLjk1NSk7IH1cbiAgICAjbG9naW4gLmxhYmVsLS1jaGVja2JveCBhOmhvdmVyLCAjbG9naW4gLnBhZ2UgLmNoZWNrYm94LXdyYXAgbGFiZWwgYTpob3ZlciwgLnBhZ2UgLmNoZWNrYm94LXdyYXAgI2xvZ2luIGxhYmVsIGE6aG92ZXIsICNsb2dpbiAucGFnZSAubGlzdC1jaGVja2JveC13cmFwIHVsIGxhYmVsIGE6aG92ZXIsIC5wYWdlIC5saXN0LWNoZWNrYm94LXdyYXAgdWwgI2xvZ2luIGxhYmVsIGE6aG92ZXIge1xuICAgICAgY29sb3I6ICNmNzY1MDA7IH1cblxuI2xvZ2luIC5pbnB1dC0tdGV4dCB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmOGY4Zjg7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuXG4jbG9naW4gLmZpZWxkLmljb24tdXNlcjphZnRlciwgI2xvZ2luIC5maWVsZC5pY29uLWxvY2s6YWZ0ZXIge1xuICBjb250ZW50OiBcIlwiO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGxlZnQ6IDA7XG4gIHdpZHRoOiAzcHg7XG4gIGhlaWdodDogMTAwJTtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2Y3NjUwMDtcbiAgb3BhY2l0eTogMTsgfVxuXG4uZm9yZ290cGFzc3dvcmQsXG4ucmVzZXRwYXNzd29yZCB7XG4gIHdpZHRoOiAzMS4yNXJlbTsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA2MDBweCkge1xuICAgIC5mb3Jnb3RwYXNzd29yZCxcbiAgICAucmVzZXRwYXNzd29yZCB7XG4gICAgICB3aWR0aDogMTAwJTsgfSB9XG5cbi5wYWdlX19jb250ZW50IHtcbiAgbWF4LXdpZHRoOiA5NzBweDtcbiAgbWFyZ2luOiBhdXRvOyB9XG4gIC5wYWdlX19jb250ZW50LS1zbWFsbCB7XG4gICAgbWF4LXdpZHRoOiA2MC42MjVyZW07IH1cbiAgLnBhZ2VfX2NvbnRlbnQtLWNlbnRlciB7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyOyB9XG4gIC5wYWdlX19jb250ZW50LS10b3Age1xuICAgIG1hcmdpbi10b3A6IDMuMTI1cmVtOyB9XG5cbi5wYWdlIC5kay1zZWxlY3RlZCwgLnBhZ2Ugc2VsZWN0LCAucGFnZSBzZWxlY3Qge1xuICBjb2xvcjogcmdiYSgzMiwgMzMsIDM2LCAwLjUpOyB9XG5cbi5wYWdlIC5kay1zZWxlY3Qtb3Blbi1kb3duIC5kay1zZWxlY3RlZCwgLnBhZ2UgLmRrLXNlbGVjdC1vcGVuLWRvd24gc2VsZWN0LCAucGFnZSAuZGstc2VsZWN0LW9wZW4tZG93biBzZWxlY3QsIC5wYWdlIC5kay1zZWxlY3Qtb3Blbi11cCAuZGstc2VsZWN0ZWQsIC5wYWdlIC5kay1zZWxlY3Qtb3Blbi11cCBzZWxlY3QsIC5wYWdlIC5kay1zZWxlY3Qtb3Blbi11cCBzZWxlY3Qge1xuICBjb2xvcjogI2ZmZmZmZjsgfVxuXG4ucGFnZSAuY2hlY2tib3gtd3JhcCAubmYtZmllbGQtbGFiZWwge1xuICBtYXJnaW4tbGVmdDogMDtcbiAgcGFkZGluZy1sZWZ0OiAwOyB9XG5cbi5wYWdlIC5jaGVja2JveC13cmFwIC5uZi1maWVsZC1lbGVtZW50IHtcbiAgZGlzcGxheTogbm9uZTsgfVxuXG4ucGFnZSAuY2hlY2tib3gtd3JhcCBsYWJlbDpiZWZvcmUge1xuICBib3JkZXI6IDJweCBzb2xpZCAjZWJlYmViOyB9XG5cbi5wYWdlIC5jaGVja2JveC13cmFwIGxpOmJlZm9yZSB7XG4gIGRpc3BsYXk6IG5vbmU7IH1cblxuLnBhZ2UgLmNoZWNrYm94LXdyYXAgLm5mLWNoZWNrZWQtbGFiZWw6YWZ0ZXIge1xuICBvcGFjaXR5OiAxOyB9XG5cbi5wYWdlIC5saXN0LWNoZWNrYm94LXdyYXAgdWwge1xuICBwYWRkaW5nOiAwO1xuICBtYXJnaW46IDA7XG4gIGxpc3Qtc3R5bGU6IG5vbmU7IH1cbiAgLnBhZ2UgLmxpc3QtY2hlY2tib3gtd3JhcCB1bCBsaSBsYWJlbCB7XG4gICAgbWFyZ2luLWxlZnQ6IDA7IH1cbiAgLnBhZ2UgLmxpc3QtY2hlY2tib3gtd3JhcCB1bCBsYWJlbDpiZWZvcmUge1xuICAgIGJvcmRlcjogMnB4IHNvbGlkICNlYmViZWI7IH1cblxuLnBhZ2UgLmxpc3QtY2hlY2tib3gtd3JhcCBsaTpiZWZvcmUge1xuICBkaXNwbGF5OiBub25lOyB9XG5cbi5wYWdlIC5saXN0LWNoZWNrYm94LXdyYXAgaW5wdXQge1xuICB2aXNpYmlsaXR5OiBoaWRkZW47IH1cbiAgLnBhZ2UgLmxpc3QtY2hlY2tib3gtd3JhcCBpbnB1dDpjaGVja2VkICsgbGFiZWw6YWZ0ZXIge1xuICAgIG9wYWNpdHk6IDE7IH1cblxuLnBhZ2UgLm5mLWZ1LWZpbGVpbnB1dC1idXR0b24ge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGJvcmRlci1yYWRpdXM6IDIwcHg7XG4gIGZvbnQ6IGJvbGQgMjRweCBhcmlhbDtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAxNTBweDtcbiAgYmFja2dyb3VuZDogbm9uZTtcbiAgYm9yZGVyOiAzcHggZG90dGVkIHJnYmEoMzIsIDMzLCAzNiwgMC41KTtcbiAgY29sb3I6IHJnYmEoMzIsIDMzLCAzNiwgMC41KTtcbiAgcGFkZGluZzogMTBweDtcbiAgbGV0dGVyLXNwYWNpbmc6IG5vcm1hbDtcbiAgdGV4dC10cmFuc2Zvcm06IG5vbmU7XG4gIGZvbnQtc2l6ZTogMThweDsgfVxuICAucGFnZSAubmYtZnUtZmlsZWlucHV0LWJ1dHRvbiBzcGFuIHtcbiAgICBsaW5lLWhlaWdodDogMS4zOyB9XG5cbi5wYWdlIC5maWxlc191cGxvYWRlZCB7XG4gIG1hcmdpbi10b3A6IDEwcHg7IH1cblxuLnBhZ2UgLm5mLWZ1LWJ1dHRvbi1jYW5jZWwge1xuICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7IH1cblxuLnBhZ2UgLm5mLWZ1LXByb2dyZXNzIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDEyMHB4O1xuICB3aWR0aDogMjUwcHg7XG4gIGxlZnQ6IGNhbGMoNTAlIC0gMTI1cHgpO1xuICBoZWlnaHQ6IDEwcHg7XG4gIGJveC1zaGFkb3c6IG5vbmU7XG4gIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50OyB9XG5cbi5wYWdlIC5uZi1mdS1wcm9ncmVzcy1iYXIge1xuICBiYWNrZ3JvdW5kOiAjZjc2NTAwOyB9XG5cbi5wYWdlIC5maWxlX3VwbG9hZC13cmFwIGlucHV0W3R5cGU9ZmlsZV0ge1xuICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7IH1cblxuLnBhZ2VfX2FjY291bnRfX2lubmVyIHtcbiAgcGFkZGluZzogMCA2LjI1cmVtOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDE2MDBweCkge1xuICAgIC5wYWdlX19hY2NvdW50X19pbm5lciB7XG4gICAgICBwYWRkaW5nOiAwIDIuNXJlbTsgfSB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDExMDBweCkge1xuICAgIC5wYWdlX19hY2NvdW50X19pbm5lciB7XG4gICAgICBwYWRkaW5nOiAwIDEuODc1cmVtOyB9IH1cblxuLnBhZ2VfX2FjY291bnQgLm5mLWZvcm0td3JhcCB7XG4gIG1hcmdpbi10b3A6IDA7IH1cblxuLnBhZ2VfX2FjY291bnQgLmZvcm1fdGl0bGUge1xuICBtYXJnaW46IDA7XG4gIG1hcmdpbi10b3A6IDMwcHg7XG4gIG1hcmdpbi1ib3R0b206IDEwcHg7XG4gIGZvbnQtc2l6ZTogMjRweDsgfVxuICAucGFnZV9fYWNjb3VudCAuZm9ybV90aXRsZS5maXJzdCB7XG4gICAgbWFyZ2luLXRvcDogMDsgfVxuXG4jcHJvZHVjdCB7XG4gIC8qKlxuICAgICAqIEluZm9ybWF0aW9uc1xuICAgICAqL1xuICAvKipcbiAgICAgKiBEZXRhaWxzIGJsb2NcbiAgICAgKi8gfVxuICAjcHJvZHVjdCBtYWluIHtcbiAgICBkaXNwbGF5OiBibG9jazsgfVxuICAjcHJvZHVjdCAucHJvZHVjdCB7XG4gICAgLyoqXG4gICAgICAgICAqIFRodW1iICYgR2FsbGVyeVxuICAgICAgICAgKi8gfVxuICAgICNwcm9kdWN0IC5wcm9kdWN0X190aHVtYiB7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICB6LWluZGV4OiAyMDtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgbWF4LXdpZHRoOiA4MDBweDtcbiAgICAgIG1hcmdpbjogMCBhdXRvO1xuICAgICAgbWFyZ2luLWJvdHRvbTogMzBweDtcbiAgICAgIHBhZGRpbmc6IDA7IH1cbiAgICAgICNwcm9kdWN0IC5wcm9kdWN0X190aHVtYiBmaWdjYXB0aW9uIHtcbiAgICAgICAgZm9udDogMC8wIGE7XG4gICAgICAgIGNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICAgICAgYm9yZGVyOiAwO1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICAgICAgdGV4dC1zaGFkb3c6IG5vbmU7IH1cbiAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDExMDBweCkge1xuICAgICAgICAjcHJvZHVjdCAucHJvZHVjdF9fdGh1bWIge1xuICAgICAgICAgIHdpZHRoOiBjYWxjKDE1MHB4ICsgKCgxMDAlIC0gMzMwcHgpIC8gMTIgKiA2KSk7XG4gICAgICAgICAgbWFyZ2luLXJpZ2h0OiAzMHB4O1xuICAgICAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgICAgICAgZmxleDogMCAwIGF1dG87IH0gfVxuICAgICNwcm9kdWN0IC5wcm9kdWN0X19kZXRhaWxzOmJlZm9yZSwgI3Byb2R1Y3QgLnByb2R1Y3RfX2RldGFpbHM6YWZ0ZXIge1xuICAgICAgZGlzcGxheTogdGFibGU7XG4gICAgICAvKiAyICovXG4gICAgICBjb250ZW50OiBcIiBcIjtcbiAgICAgIC8qIDEgKi8gfVxuICAgICNwcm9kdWN0IC5wcm9kdWN0X19kZXRhaWxzOmFmdGVyIHtcbiAgICAgIGNsZWFyOiBib3RoOyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTEwMHB4KSB7XG4gICAgICAjcHJvZHVjdCAucHJvZHVjdF9fZGV0YWlscyB7XG4gICAgICAgIGZsZXg6IDE7IH0gfVxuICAgICNwcm9kdWN0IC5wcm9kdWN0X19kZXRhaWxzLm5vLWNvbnRlbnQge1xuICAgICAgbWFyZ2luLXRvcDogOTBweDsgfVxuICAgICNwcm9kdWN0IC5wcm9kdWN0X19kZXRhaWxzIC5zdWJ0aXRsZSB7XG4gICAgICBtYXJnaW4tdG9wOiAwOyB9XG4gICAgI3Byb2R1Y3QgLnByb2R1Y3RfX2NvbnRlbnQge1xuICAgICAgcGFkZGluZy1ib3R0b206IDQwcHg7IH1cbiAgICAjcHJvZHVjdCAucHJvZHVjdF9fZmVhdHVyZWQge1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgLyogPiAqIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAwO1xuICAgIGxlZnQ6IDA7XG4gICAgcmlnaHQ6IDA7XG4gICAgYm90dG9tOiAwO1xuICB9ICovIH1cbiAgICAgICNwcm9kdWN0IC5wcm9kdWN0X19mZWF0dXJlZDpiZWZvcmUge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIHBhZGRpbmctdG9wOiA2Ni42NjY2NyU7XG4gICAgICAgIGNvbnRlbnQ6IFwiIFwiOyB9XG4gICAgICAjcHJvZHVjdCAucHJvZHVjdF9fZmVhdHVyZWQ6OmJlZm9yZSB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICNlYmViZWI7IH1cbiAgICAgICNwcm9kdWN0IC5wcm9kdWN0X19mZWF0dXJlZCBmaWd1cmUge1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHRvcDogMDtcbiAgICAgICAgbGVmdDogMDtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgcGFkZGluZzogMDtcbiAgICAgICAgb3BhY2l0eTogMDtcbiAgICAgICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyO1xuICAgICAgICBiYWNrZ3JvdW5kLXNpemU6IGNvdmVyOyB9XG4gICAgICAgICNwcm9kdWN0IC5wcm9kdWN0X19mZWF0dXJlZCBmaWd1cmUgYSB7XG4gICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgIHRvcDogMDtcbiAgICAgICAgICBsZWZ0OiAwO1xuICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgICAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICAgICAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlcjtcbiAgICAgICAgICBiYWNrZ3JvdW5kLXNpemU6IGF1dG8gMTAwJTsgfVxuICAgICAgICAjcHJvZHVjdCAucHJvZHVjdF9fZmVhdHVyZWQgZmlndXJlIGltZyB7XG4gICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgIHRvcDogNTAlO1xuICAgICAgICAgIGxlZnQ6IDA7XG4gICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICBoZWlnaHQ6IGF1dG87XG4gICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAtNTAlLCAwKTtcbiAgICAgICAgICBvcGFjaXR5OiAwOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDExMDBweCkge1xuICAgICNwcm9kdWN0IC5wcm9kdWN0X19jb250YWluZXIge1xuICAgICAgZGlzcGxheTogZmxleDsgfSB9XG4gIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogMTEwMHB4KSB7XG4gICAgI3Byb2R1Y3QgLmRldGFpbHMge1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGZsZXgtd3JhcDogd3JhcDsgfSB9XG4gIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogNjAwcHgpIHtcbiAgICAjcHJvZHVjdCAuZGV0YWlscyB7XG4gICAgICBkaXNwbGF5OiBibG9jazsgfSB9XG5cbi5lcnJvcjQwNC5kYXNoYm9hcmQgI2NvbnRhaW5lciAuY29udGVudCB7XG4gIHBvc2l0aW9uOiBzdGF0aWM7XG4gIGZsb2F0OiBub25lOyB9XG5cbi5lcnJvcjQwNCAuZm9vdGVyLCAuZXJyb3I0MDQgLmhlYWRlciB7XG4gIGRpc3BsYXk6IG5vbmU7IH1cblxuLmVycm9yNDA0IC5lcnJvcjQwNF9fZ3JvdXAge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogNTAlO1xuICBsZWZ0OiA1MCU7XG4gIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgLTUwJSk7XG4gIC1tcy10cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAtNTAlKTtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgLTUwJSk7XG4gIHRleHQtYWxpZ246IGNlbnRlcjsgfVxuXG4uZXJyb3I0MDQgLm1haW5UaXRsZV9fZmlyc3Qge1xuICBmb250LWZhbWlseTogXCJPcGVuIFNhbnNcIiwgSGVsdmV0aWNhLCBBcmlhbCwgc2Fucy1zZXJpZjtcbiAgY29sb3I6ICNmZmFhNGM7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAtMWVtO1xuICBsZWZ0OiAxLjVlbTtcbiAgZm9udC1zaXplOiAxLjVlbTsgfVxuXG4uZXJyb3I0MDQgLm1haW5UaXRsZV9fc2Vjb25kIHtcbiAgZm9udC1mYW1pbHk6IFwiT3BlbiBTYW5zXCIsIEhlbHZldGljYSwgQXJpYWwsIHNhbnMtc2VyaWY7XG4gIGZvbnQtc2l6ZTogMTJlbTtcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gIGNvbG9yOiAjZjc2NTAwO1xuICBsaW5lLWhlaWdodDogMTtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgZGlzcGxheTogYmxvY2s7IH1cbiAgLmVycm9yNDA0IC5tYWluVGl0bGVfX3NlY29uZCBzcGFuIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7IH1cblxuLmVycm9yNDA0IC5lcnJvcjQwNF9fbGluayB7XG4gIGZvbnQtc2l6ZTogMS4yZW07IH1cbiIsIi8qISBub3JtYWxpemUuY3NzIHY4LjAuMSB8IE1JVCBMaWNlbnNlIHwgZ2l0aHViLmNvbS9uZWNvbGFzL25vcm1hbGl6ZS5jc3MgKi9cblxuLyogRG9jdW1lbnRcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qKlxuICogMS4gQ29ycmVjdCB0aGUgbGluZSBoZWlnaHQgaW4gYWxsIGJyb3dzZXJzLlxuICogMi4gUHJldmVudCBhZGp1c3RtZW50cyBvZiBmb250IHNpemUgYWZ0ZXIgb3JpZW50YXRpb24gY2hhbmdlcyBpbiBpT1MuXG4gKi9cblxuIGh0bWwge1xuICBsaW5lLWhlaWdodDogMS4xNTsgLyogMSAqL1xuICAtd2Via2l0LXRleHQtc2l6ZS1hZGp1c3Q6IDEwMCU7IC8qIDIgKi9cbn1cblxuLyogU2VjdGlvbnNcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qKlxuICogUmVtb3ZlIHRoZSBtYXJnaW4gaW4gYWxsIGJyb3dzZXJzLlxuICovXG5cbmJvZHkge1xuICBtYXJnaW46IDA7XG59XG5cbi8qKlxuICogUmVuZGVyIHRoZSBgbWFpbmAgZWxlbWVudCBjb25zaXN0ZW50bHkgaW4gSUUuXG4gKi9cblxubWFpbiB7XG4gIGRpc3BsYXk6IGJsb2NrO1xufVxuXG4vKipcbiAqIENvcnJlY3QgdGhlIGZvbnQgc2l6ZSBhbmQgbWFyZ2luIG9uIGBoMWAgZWxlbWVudHMgd2l0aGluIGBzZWN0aW9uYCBhbmRcbiAqIGBhcnRpY2xlYCBjb250ZXh0cyBpbiBDaHJvbWUsIEZpcmVmb3gsIGFuZCBTYWZhcmkuXG4gKi9cblxuaDEge1xuICBmb250LXNpemU6IDJlbTtcbiAgbWFyZ2luOiAwLjY3ZW0gMDtcbn1cblxuLyogR3JvdXBpbmcgY29udGVudFxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLyoqXG4gKiAxLiBBZGQgdGhlIGNvcnJlY3QgYm94IHNpemluZyBpbiBGaXJlZm94LlxuICogMi4gU2hvdyB0aGUgb3ZlcmZsb3cgaW4gRWRnZSBhbmQgSUUuXG4gKi9cblxuaHIge1xuICBib3gtc2l6aW5nOiBjb250ZW50LWJveDsgLyogMSAqL1xuICBoZWlnaHQ6IDA7IC8qIDEgKi9cbiAgb3ZlcmZsb3c6IHZpc2libGU7IC8qIDIgKi9cbn1cblxuLyoqXG4gKiAxLiBDb3JyZWN0IHRoZSBpbmhlcml0YW5jZSBhbmQgc2NhbGluZyBvZiBmb250IHNpemUgaW4gYWxsIGJyb3dzZXJzLlxuICogMi4gQ29ycmVjdCB0aGUgb2RkIGBlbWAgZm9udCBzaXppbmcgaW4gYWxsIGJyb3dzZXJzLlxuICovXG5cbnByZSB7XG4gIGZvbnQtZmFtaWx5OiBtb25vc3BhY2UsIG1vbm9zcGFjZTsgLyogMSAqL1xuICBmb250LXNpemU6IDFlbTsgLyogMiAqL1xufVxuXG4vKiBUZXh0LWxldmVsIHNlbWFudGljc1xuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLyoqXG4gKiBSZW1vdmUgdGhlIGdyYXkgYmFja2dyb3VuZCBvbiBhY3RpdmUgbGlua3MgaW4gSUUgMTAuXG4gKi9cblxuYSB7XG4gIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xufVxuXG4vKipcbiAqIDEuIFJlbW92ZSB0aGUgYm90dG9tIGJvcmRlciBpbiBDaHJvbWUgNTctXG4gKiAyLiBBZGQgdGhlIGNvcnJlY3QgdGV4dCBkZWNvcmF0aW9uIGluIENocm9tZSwgRWRnZSwgSUUsIE9wZXJhLCBhbmQgU2FmYXJpLlxuICovXG5cbmFiYnJbdGl0bGVdIHtcbiAgYm9yZGVyLWJvdHRvbTogbm9uZTsgLyogMSAqL1xuICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTsgLyogMiAqL1xuICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZSBkb3R0ZWQ7IC8qIDIgKi9cbn1cblxuLyoqXG4gKiBBZGQgdGhlIGNvcnJlY3QgZm9udCB3ZWlnaHQgaW4gQ2hyb21lLCBFZGdlLCBhbmQgU2FmYXJpLlxuICovXG5cbmIsIHN0cm9uZyB7XG4gIGZvbnQtd2VpZ2h0OiBib2xkZXI7XG59XG5cbi8qKlxuICogMS4gQ29ycmVjdCB0aGUgaW5oZXJpdGFuY2UgYW5kIHNjYWxpbmcgb2YgZm9udCBzaXplIGluIGFsbCBicm93c2Vycy5cbiAqIDIuIENvcnJlY3QgdGhlIG9kZCBgZW1gIGZvbnQgc2l6aW5nIGluIGFsbCBicm93c2Vycy5cbiAqL1xuXG5jb2RlLCBrYmQsIHNhbXAge1xuICBmb250LWZhbWlseTogbW9ub3NwYWNlLCBtb25vc3BhY2U7IC8qIDEgKi9cbiAgZm9udC1zaXplOiAxZW07IC8qIDIgKi9cbn1cblxuLyoqXG4gKiBBZGQgdGhlIGNvcnJlY3QgZm9udCBzaXplIGluIGFsbCBicm93c2Vycy5cbiAqL1xuXG5zbWFsbCB7XG4gIGZvbnQtc2l6ZTogODAlO1xufVxuXG4vKipcbiAqIFByZXZlbnQgYHN1YmAgYW5kIGBzdXBgIGVsZW1lbnRzIGZyb20gYWZmZWN0aW5nIHRoZSBsaW5lIGhlaWdodCBpblxuICogYWxsIGJyb3dzZXJzLlxuICovXG5cbnN1Yiwgc3VwIHtcbiAgZm9udC1zaXplOiA3NSU7XG4gIGxpbmUtaGVpZ2h0OiAwO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHZlcnRpY2FsLWFsaWduOiBiYXNlbGluZTtcbn1cblxuc3ViIHtcbiAgYm90dG9tOiAtMC4yNWVtO1xufVxuXG5zdXAge1xuICB0b3A6IC0wLjVlbTtcbn1cblxuLyogRW1iZWRkZWQgY29udGVudFxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLyoqXG4gKiBSZW1vdmUgdGhlIGJvcmRlciBvbiBpbWFnZXMgaW5zaWRlIGxpbmtzIGluIElFIDEwLlxuICovXG5cbmltZyB7XG4gIGJvcmRlci1zdHlsZTogbm9uZTtcbn1cblxuLyogRm9ybXNcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qKlxuICogMS4gQ2hhbmdlIHRoZSBmb250IHN0eWxlcyBpbiBhbGwgYnJvd3NlcnMuXG4gKiAyLiBSZW1vdmUgdGhlIG1hcmdpbiBpbiBGaXJlZm94IGFuZCBTYWZhcmkuXG4gKi9cblxuYnV0dG9uLCBpbnB1dCwgb3B0Z3JvdXAsIHNlbGVjdCwgdGV4dGFyZWEge1xuICBmb250LWZhbWlseTogaW5oZXJpdDsgLyogMSAqL1xuICBmb250LXNpemU6IDEwMCU7ICAvKiAxICovXG4gIGxpbmUtaGVpZ2h0OiAxLjE1OyAvKiAxICovXG4gIG1hcmdpbjogMDsgLyogMiAqL1xufVxuXG4vKipcbiAqIFNob3cgdGhlIG92ZXJmbG93IGluIElFLlxuICogMS4gU2hvdyB0aGUgb3ZlcmZsb3cgaW4gRWRnZS5cbiAqL1xuXG5idXR0b24sIGlucHV0IHsgLyogMSAqL1xuICBvdmVyZmxvdzogdmlzaWJsZTtcbn1cblxuLyoqXG4gKiBSZW1vdmUgdGhlIGluaGVyaXRhbmNlIG9mIHRleHQgdHJhbnNmb3JtIGluIEVkZ2UsIEZpcmVmb3gsIGFuZCBJRS5cbiAqIDEuIFJlbW92ZSB0aGUgaW5oZXJpdGFuY2Ugb2YgdGV4dCB0cmFuc2Zvcm0gaW4gRmlyZWZveC5cbiAqL1xuXG5idXR0b24sIHNlbGVjdCB7IC8qIDEgKi9cbiAgdGV4dC10cmFuc2Zvcm06IG5vbmU7XG59XG5cbi8qKlxuICogQ29ycmVjdCB0aGUgaW5hYmlsaXR5IHRvIHN0eWxlIGNsaWNrYWJsZSB0eXBlcyBpbiBpT1MgYW5kIFNhZmFyaS5cbiAqL1xuXG5idXR0b24sIFt0eXBlPVwiYnV0dG9uXCJdLCBbdHlwZT1cInJlc2V0XCJdLCBbdHlwZT1cInN1Ym1pdFwiXSB7XG4gIC13ZWJraXQtYXBwZWFyYW5jZTogYnV0dG9uO1xufVxuXG4vKipcbiAqIFJlbW92ZSB0aGUgaW5uZXIgYm9yZGVyIGFuZCBwYWRkaW5nIGluIEZpcmVmb3guXG4gKi9cblxuYnV0dG9uOjotbW96LWZvY3VzLWlubmVyLCBbdHlwZT1cImJ1dHRvblwiXTo6LW1vei1mb2N1cy1pbm5lciwgW3R5cGU9XCJyZXNldFwiXTo6LW1vei1mb2N1cy1pbm5lciwgW3R5cGU9XCJzdWJtaXRcIl06Oi1tb3otZm9jdXMtaW5uZXIge1xuICBib3JkZXItc3R5bGU6IG5vbmU7XG4gIHBhZGRpbmc6IDA7XG59XG5cbi8qKlxuICogUmVzdG9yZSB0aGUgZm9jdXMgc3R5bGVzIHVuc2V0IGJ5IHRoZSBwcmV2aW91cyBydWxlLlxuICovXG5cbmJ1dHRvbjotbW96LWZvY3VzcmluZywgW3R5cGU9XCJidXR0b25cIl06LW1vei1mb2N1c3JpbmcsIFt0eXBlPVwicmVzZXRcIl06LW1vei1mb2N1c3JpbmcsIFt0eXBlPVwic3VibWl0XCJdOi1tb3otZm9jdXNyaW5nIHtcbiAgb3V0bGluZTogMXB4IGRvdHRlZCBCdXR0b25UZXh0O1xufVxuXG4vKipcbiAqIENvcnJlY3QgdGhlIHBhZGRpbmcgaW4gRmlyZWZveC5cbiAqL1xuXG5maWVsZHNldCB7XG4gIHBhZGRpbmc6IDAuMzVlbSAwLjc1ZW0gMC42MjVlbTtcbn1cblxuLyoqXG4gKiAxLiBDb3JyZWN0IHRoZSB0ZXh0IHdyYXBwaW5nIGluIEVkZ2UgYW5kIElFLlxuICogMi4gQ29ycmVjdCB0aGUgY29sb3IgaW5oZXJpdGFuY2UgZnJvbSBgZmllbGRzZXRgIGVsZW1lbnRzIGluIElFLlxuICogMy4gUmVtb3ZlIHRoZSBwYWRkaW5nIHNvIGRldmVsb3BlcnMgYXJlIG5vdCBjYXVnaHQgb3V0IHdoZW4gdGhleSB6ZXJvIG91dFxuICogICAgYGZpZWxkc2V0YCBlbGVtZW50cyBpbiBhbGwgYnJvd3NlcnMuXG4gKi9cblxubGVnZW5kIHtcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDsgLyogMSAqL1xuICBjb2xvcjogaW5oZXJpdDsgLyogMiAqL1xuICBkaXNwbGF5OiB0YWJsZTsgIC8qIDEgKi9cbiAgbWF4LXdpZHRoOiAxMDAlOyAvKiAxICovXG4gIHBhZGRpbmc6IDA7IC8qIDMgKi9cbiAgd2hpdGUtc3BhY2U6IG5vcm1hbDsgLyogMSAqL1xufVxuXG4vKipcbiAqIEFkZCB0aGUgY29ycmVjdCB2ZXJ0aWNhbCBhbGlnbm1lbnQgaW4gQ2hyb21lLCBGaXJlZm94LCBhbmQgT3BlcmEuXG4gKi9cblxucHJvZ3Jlc3Mge1xuICB2ZXJ0aWNhbC1hbGlnbjogYmFzZWxpbmU7XG59XG5cbi8qKlxuICogUmVtb3ZlIHRoZSBkZWZhdWx0IHZlcnRpY2FsIHNjcm9sbGJhciBpbiBJRSAxMCsuXG4gKi9cblxudGV4dGFyZWEge1xuICBvdmVyZmxvdzogYXV0bztcbn1cblxuLyoqXG4gKiAxLiBBZGQgdGhlIGNvcnJlY3QgYm94IHNpemluZyBpbiBJRSAxMC5cbiAqIDIuIFJlbW92ZSB0aGUgcGFkZGluZyBpbiBJRSAxMC5cbiAqL1xuXG5bdHlwZT1cImNoZWNrYm94XCJdLCBbdHlwZT1cInJhZGlvXCJdIHtcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDsgLyogMSAqL1xuICBwYWRkaW5nOiAwOyAvKiAyICovXG59XG5cbi8qKlxuICogQ29ycmVjdCB0aGUgY3Vyc29yIHN0eWxlIG9mIGluY3JlbWVudCBhbmQgZGVjcmVtZW50IGJ1dHRvbnMgaW4gQ2hyb21lLlxuICovXG5cblt0eXBlPVwibnVtYmVyXCJdIHtcbiAgJjo6LXdlYmtpdC1pbm5lci1zcGluLWJ1dHRvbiwgJjo6LXdlYmtpdC1vdXRlci1zcGluLWJ1dHRvbiB7XG4gICAgaGVpZ2h0OiBhdXRvO1xuICB9XG59XG5cbi8qKlxuICogMS4gQ29ycmVjdCB0aGUgb2RkIGFwcGVhcmFuY2UgaW4gQ2hyb21lIGFuZCBTYWZhcmkuXG4gKiAyLiBDb3JyZWN0IHRoZSBvdXRsaW5lIHN0eWxlIGluIFNhZmFyaS5cbiAqL1xuXG5bdHlwZT1cInNlYXJjaFwiXSB7XG4gIC13ZWJraXQtYXBwZWFyYW5jZTogdGV4dGZpZWxkOyAvKiAxICovXG4gIG91dGxpbmUtb2Zmc2V0OiAtMnB4OyAvKiAyICovXG4gICY6Oi13ZWJraXQtc2VhcmNoLWRlY29yYXRpb24ge1xuICAgIC13ZWJraXQtYXBwZWFyYW5jZTogbm9uZTtcbiAgfVxufVxuXG4vKipcbiAqIFJlbW92ZSB0aGUgaW5uZXIgcGFkZGluZyBpbiBDaHJvbWUgYW5kIFNhZmFyaSBvbiBtYWNPUy5cbiAqL1xuXG4vKipcbiAqIDEuIENvcnJlY3QgdGhlIGluYWJpbGl0eSB0byBzdHlsZSBjbGlja2FibGUgdHlwZXMgaW4gaU9TIGFuZCBTYWZhcmkuXG4gKiAyLiBDaGFuZ2UgZm9udCBwcm9wZXJ0aWVzIHRvIGBpbmhlcml0YCBpbiBTYWZhcmkuXG4gKi9cblxuOjotd2Via2l0LWZpbGUtdXBsb2FkLWJ1dHRvbiB7XG4gIC13ZWJraXQtYXBwZWFyYW5jZTogYnV0dG9uOyAvKiAxICovXG4gIGZvbnQ6IGluaGVyaXQ7IC8qIDIgKi9cbn1cblxuLyogSW50ZXJhY3RpdmVcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qXG4gKiBBZGQgdGhlIGNvcnJlY3QgZGlzcGxheSBpbiBFZGdlLCBJRSAxMCssIGFuZCBGaXJlZm94LlxuICovXG5cbmRldGFpbHMge1xuICBkaXNwbGF5OiBibG9jaztcbn1cblxuLypcbiAqIEFkZCB0aGUgY29ycmVjdCBkaXNwbGF5IGluIGFsbCBicm93c2Vycy5cbiAqL1xuXG5zdW1tYXJ5IHtcbiAgZGlzcGxheTogbGlzdC1pdGVtO1xufVxuXG4vKiBNaXNjXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKipcbiAqIEFkZCB0aGUgY29ycmVjdCBkaXNwbGF5IGluIElFIDEwKy5cbiAqL1xuXG50ZW1wbGF0ZSwgW2hpZGRlbl0ge1xuICBkaXNwbGF5OiBub25lO1xufVxuXG4vKipcbiAqIEFkZCB0aGUgY29ycmVjdCBkaXNwbGF5IGluIElFIDEwLlxuICovXG4iLCJcbkBtaXhpbiBpbXBvcnRGb250KCRuYW1lLCAkcGF0aCwgJHdlaWdodCA6IDQwMCwgJHN0eWxlOiBub3JtYWwpIHtcbiAgICBAZm9udC1mYWNlIHtcbiAgICAgICAgZm9udC1mYW1pbHkgOiAkbmFtZTtcbiAgICAgICAgZm9udC13ZWlnaHQgOiAkd2VpZ2h0O1xuICAgICAgICBmb250LXN0eWxlIDogJHN0eWxlO1xuXG4gICAgICAgIHNyYyA6IHVybChcIiN7JGZvbnRzfSN7JHBhdGh9LmVvdFwiKTtcbiAgICAgICAgc3JjIDogdXJsKFwiI3skZm9udHN9I3skcGF0aH0uZW90PyNpZWZpeFwiKSBmb3JtYXQoXCJlbWJlZGRlZC1vcGVudHlwZVwiKSxcbiAgICAgICAgdXJsKFwiI3skZm9udHN9I3skcGF0aH0ud29mZlwiKSBmb3JtYXQoXCJ3b2ZmXCIpLFxuICAgICAgICB1cmwoXCIjeyRmb250c30jeyRwYXRofS50dGZcIikgZm9ybWF0KFwidHJ1ZXR5cGVcIiksXG4gICAgICAgIHVybChcIiN7JGZvbnRzfSN7JHBhdGh9LnN2Z1wiKSBmb3JtYXQoXCJzdmdcIik7XG4gICAgfVxufVxuXG5cbiV0aGluIHtcbiAgICBmb250LXdlaWdodCA6IDEwMDtcbn1cblxuJWxpZ2h0IHtcbiAgICBmb250LXdlaWdodCA6IDMwMDtcbn1cblxuJXJlZ3VsYXIge1xuICAgIGZvbnQtd2VpZ2h0IDogNDAwO1xufVxuXG4lbWVkaXVtIHtcbiAgICBmb250LXdlaWdodCA6IDUwMDtcbn1cblxuJXNlbWktYm9sZCB7XG4gICAgZm9udC13ZWlnaHQgOiA2MDA7XG59XG5cbiVib2xkIHtcbiAgICBmb250LXdlaWdodCA6IDcwMDtcbn1cblxuJWV4dHJhLWJvbGQge1xuICAgIGZvbnQtd2VpZ2h0IDogODAwO1xufVxuXG4lYmxhY2sge1xuICAgIGZvbnQtd2VpZ2h0IDogOTAwO1xufVxuXG5AaW1wb3J0IHVybChcImh0dHBzOi8vZm9udHMuZ29vZ2xlYXBpcy5jb20vY3NzP2ZhbWlseT1PcGVuK1NhbnM6NDAwLDQwMGksNjAwLDcwMCw3MDBpXCIpO1xuXG4vL0BpbmNsdWRlIGltcG9ydEZvbnQoJ2ZvbnQtbmFtZScsICdmaWxlLW5hbWUnKTtcbiIsIi8qKlxuICogUGF0aFxuICovXG5cbiRpbWcgOiBcIi4uL2ltZy9cIjtcbiRmb250cyA6IFwiLi4vZm9udHMvXCI7XG5cbi8qKlxuICogQ29sb3JzXG4gKi9cblxuJGNvbG9yX193aGl0ZSA6ICNmZmZmZmY7XG4kY29sb3JfX2JsYWNrIDogIzIwMjEyNDtcbiRjb2xvcl9fcHJpbWFyeSA6ICNmNzY1MDA7XG4kY29sb3JfX3NlY29uZGFyeSA6ICNmZmFhNGM7XG4kY29sb3JfX3NlY29uZGFyeS0tZGFyayA6ICNmMTY1MjI7XG4kY29sb3JfX25ldXRyYWwtLWxpZ2h0IDogI2Y4ZjhmODtcbiRjb2xvcl9fbmV1dHJhbCA6ICNlYmViZWI7XG4kY29sb3JfX25ldXRyYWwtLWRhcmsgOiAjZDhkOGQ4O1xuJGNvbG9yX19lcnJvcnMgOiAjZGMwMDAwO1xuJGNvbG9yX19zdWNjZXNzIDogIzc4YWUxMTtcblxuLyoqXG4gKiBUZXh0XG4gKi9cblxuJHRleHRfX2ZhbWlseS1zYW5zIDogXCJPcGVuIFNhbnNcIiwgSGVsdmV0aWNhLCBBcmlhbCwgc2Fucy1zZXJpZjtcbiR0ZXh0X19mYW1pbHktc2Fucy0tdGl0bGUgOiBcImZ1dHVyYS1wdFwiLCBGdXR1cmEsIFwiVHJlYnVjaGV0IE1TXCIsIEFyaWFsLCBzYW5zLXNlcmlmO1xuJHRleHRfX2NvbG9yLS1iYXNlIDogIzIwMjEyNDtcbiRiYXNlX19mb250LXNpemUgOiAxNjtcbiRiYXNlX19saW5lIDogMjU7XG5cbi8qKlxuICogUmVzcG9uc2l2ZVxuICovXG5cbiR2aWV3cG9ydCA6IDExMDBweDtcbiR0YWJsZXQgOiAxMTAwcHg7XG4kbW9iaWxlIDogNjAwcHg7XG5cblxuLyoqXG4gKiBTdXN5XG4gKi9cblxuJHN1c3kgOiAoXG4gICBcImNvbHVtbnNcIjogc3VzeS1yZXBlYXQoMTIpLFxuICAgXCJndXR0ZXJzXCI6IDMwcHgsXG4gICBcInNwcmVhZFwiOiBcIm5hcnJvd1wiLFxuICAgXCJjb250YWluZXItc3ByZWFkXCI6IFwibmFycm93XCIsXG4pO1xuXG4vKipcbiAqIEVhc2luZ1xuICovXG5cbiRsaW5lYXIgOiBjdWJpYy1iZXppZXIoLjI1MCwgLjI1MCwgLjc1MCwgLjc1MCk7XG4kZWFzZUluUXVhZCA6IGN1YmljLWJlemllciguNTUwLCAuMDg1LCAuNjgwLCAuNTMwKTtcbiRlYXNlSW5DdWJpYyA6IGN1YmljLWJlemllciguNTUwLCAuMDU1LCAuNjc1LCAuMTkwKTtcbiRlYXNlSW5RdWFydCA6IGN1YmljLWJlemllciguODk1LCAuMDMwLCAuNjg1LCAuMjIwKTtcbiRlYXNlSW5RdWludCA6IGN1YmljLWJlemllciguNzU1LCAuMDUwLCAuODU1LCAuMDYwKTtcbiRlYXNlSW5TaW5lIDogY3ViaWMtYmV6aWVyKC40NzAsIC4wMDAsIC43NDUsIC43MTUpO1xuJGVhc2VJbkV4cG8gOiBjdWJpYy1iZXppZXIoLjk1MCwgLjA1MCwgLjc5NSwgLjAzNSk7XG4kZWFzZUluQ2lyYyA6IGN1YmljLWJlemllciguNjAwLCAuMDQwLCAuOTgwLCAuMzM1KTtcbiRlYXNlSW5CYWNrIDogY3ViaWMtYmV6aWVyKC42MDAsIDAsIC43MzUsIC4wNDUpO1xuJGVhc2VPdXRRdWFkIDogY3ViaWMtYmV6aWVyKC4yNTAsIC40NjAsIC40NTAsIC45NDApO1xuJGVhc2VPdXRDdWJpYyA6IGN1YmljLWJlemllciguMjE1LCAuNjEwLCAuMzU1LCAxLjAwMCk7XG4kZWFzZU91dFF1YXJ0IDogY3ViaWMtYmV6aWVyKC4xNjUsIC44NDAsIC40NDAsIDEuMDAwKTtcbiRlYXNlT3V0UXVpbnQgOiBjdWJpYy1iZXppZXIoLjIzMCwgMS4wMDAsIC4zMjAsIDEuMDAwKTtcbiRlYXNlT3V0U2luZSA6IGN1YmljLWJlemllciguMzkwLCAuNTc1LCAuNTY1LCAxLjAwMCk7XG4kZWFzZU91dEV4cG8gOiBjdWJpYy1iZXppZXIoLjE5MCwgMS4wMDAsIC4yMjAsIDEuMDAwKTtcbiRlYXNlT3V0Q2lyYyA6IGN1YmljLWJlemllciguMDc1LCAuODIwLCAuMTY1LCAxLjAwMCk7XG4kZWFzZU91dEJhY2sgOiBjdWJpYy1iZXppZXIoLjE3NSwgLjg4NSwgLjMyMCwgMSk7XG4kZWFzZUluT3V0UXVhZCA6IGN1YmljLWJlemllciguNDU1LCAuMDMwLCAuNTE1LCAuOTU1KTtcbiRlYXNlSW5PdXRDdWJpYyA6IGN1YmljLWJlemllciguNjQ1LCAuMDQ1LCAuMzU1LCAxLjAwMCk7XG4kZWFzZUluT3V0UXVhcnQgOiBjdWJpYy1iZXppZXIoLjc3MCwgLjAwMCwgLjE3NSwgMS4wMDApO1xuJGVhc2VJbk91dFF1aW50IDogY3ViaWMtYmV6aWVyKC44NjAsIC4wMDAsIC4wNzAsIDEuMDAwKTtcbiRlYXNlSW5PdXRTaW5lIDogY3ViaWMtYmV6aWVyKC40NDUsIC4wNTAsIC41NTAsIC45NTApO1xuJGVhc2VJbk91dEV4cG8gOiBjdWJpYy1iZXppZXIoMS4wMDAsIC4wMDAsIC4wMDAsIDEuMDAwKTtcbiRlYXNlSW5PdXRDaXJjIDogY3ViaWMtYmV6aWVyKC43ODUsIC4xMzUsIC4xNTAsIC44NjApO1xuJGVhc2VJbk91dEJhY2sgOiBjdWJpYy1iZXppZXIoLjY4MCwgMCwgLjI2NSwgMSk7XG5cbiRtYWluRWFzZSA6ICRlYXNlSW5FeHBvO1xuIiwiQGZvbnQtZmFjZSB7XG5cdGZvbnQtZmFtaWx5OiBcIm5tY1wiO1xuXHRzcmM6IHVybCgnLi4vZm9udHMvbm1jL25tYy5lb3Q/MjAyNC0wMDEnKTtcblx0c3JjOiB1cmwoJy4uL2ZvbnRzL25tYy9ubWMuZW90PzIwMjQtMDAxI2llZml4JykgZm9ybWF0KCdlb3QnKSxcblx0XHR1cmwoJy4uL2ZvbnRzL25tYy9ubWMud29mZjI/MjAyNC0wMDEnKSBmb3JtYXQoJ3dvZmYyJyksXG5cdFx0dXJsKCcuLi9mb250cy9ubWMvbm1jLndvZmY/MjAyNC0wMDEnKSBmb3JtYXQoJ3dvZmYnKSxcblx0XHR1cmwoJy4uL2ZvbnRzL25tYy9ubWMudHRmPzIwMjQtMDAxJykgZm9ybWF0KCd0cnVldHlwZScpLFxuXHRcdHVybCgnLi4vZm9udHMvbm1jL25tYy5zdmc/MjAyNC0wMDEjbm1jJykgZm9ybWF0KCdzdmcnKTtcbn1cblxuLmljb246YmVmb3JlIHtcblx0Zm9udC1mYW1pbHk6IFwibm1jXCI7XG5cdFx0LXdlYmtpdC1mb250LXNtb290aGluZzogYW50aWFsaWFzZWQ7XG5cdFx0LW1vei1vc3gtZm9udC1zbW9vdGhpbmc6IGdyYXlzY2FsZTtcblx0Zm9udC1zdHlsZTogbm9ybWFsO1xuXHRmb250LXZhcmlhbnQ6IG5vcm1hbDtcblx0Zm9udC13ZWlnaHQ6IG5vcm1hbDtcblx0Lyogc3BlYWs6IG5vbmU7IG9ubHkgbmVjZXNzYXJ5IGlmIG5vdCB1c2luZyB0aGUgcHJpdmF0ZSB1bmljb2RlIHJhbmdlIChmaXJzdEdseXBoIG9wdGlvbikgKi9cblx0dGV4dC1kZWNvcmF0aW9uOiBub25lO1xuXHR0ZXh0LXRyYW5zZm9ybTogbm9uZTtcbn1cblxuXG4uaWNvbi1hamF4LWxvYWRlcjpiZWZvcmUge1xuXHRjb250ZW50OiBcIlxcRTAwMVwiO1xufVxuXG4uaWNvbi1hcnJvdy1kb3duOmJlZm9yZSB7XG5cdGNvbnRlbnQ6IFwiXFxFMDAyXCI7XG59XG5cbi5pY29uLWFycm93LWxlZnQ6YmVmb3JlIHtcblx0Y29udGVudDogXCJcXEUwMDNcIjtcbn1cblxuLmljb24tYXJyb3ctcmlnaHQ6YmVmb3JlIHtcblx0Y29udGVudDogXCJcXEUwMDRcIjtcbn1cblxuLmljb24tYXJyb3ctdXA6YmVmb3JlIHtcblx0Y29udGVudDogXCJcXEUwMDVcIjtcbn1cblxuLmljb24tY2FydDpiZWZvcmUge1xuXHRjb250ZW50OiBcIlxcRTAwNlwiO1xufVxuXG4uaWNvbi1jaGVjazpiZWZvcmUge1xuXHRjb250ZW50OiBcIlxcRTAwN1wiO1xufVxuXG4uaWNvbi1jcm9zczpiZWZvcmUge1xuXHRjb250ZW50OiBcIlxcRTAwOFwiO1xufVxuXG4uaWNvbi1kb3dubG9hZDpiZWZvcmUge1xuXHRjb250ZW50OiBcIlxcRTAwOVwiO1xufVxuXG4uaWNvbi1lbWFpbDpiZWZvcmUge1xuXHRjb250ZW50OiBcIlxcRTAwQVwiO1xufVxuXG4uaWNvbi1maWxlLWR3ZzpiZWZvcmUge1xuXHRjb250ZW50OiBcIlxcRTAwQlwiO1xufVxuXG4uaWNvbi1maWxlLWR4ZjpiZWZvcmUge1xuXHRjb250ZW50OiBcIlxcRTAwQ1wiO1xufVxuXG4uaWNvbi1maWxlLW9iajpiZWZvcmUge1xuXHRjb250ZW50OiBcIlxcRTAwRFwiO1xufVxuXG4uaWNvbi1maWxlLXBkZjpiZWZvcmUge1xuXHRjb250ZW50OiBcIlxcRTAwRVwiO1xufVxuXG4uaWNvbi1maWxlLXNrcDpiZWZvcmUge1xuXHRjb250ZW50OiBcIlxcRTAwRlwiO1xufVxuXG4uaWNvbi1maWxlLXNsZGRydzpiZWZvcmUge1xuXHRjb250ZW50OiBcIlxcRTAxMFwiO1xufVxuXG4uaWNvbi1maWxlLXN0ZXA6YmVmb3JlIHtcblx0Y29udGVudDogXCJcXEUwMTFcIjtcbn1cblxuLmljb24tZmlsZS1zdGw6YmVmb3JlIHtcblx0Y29udGVudDogXCJcXEUwMTJcIjtcbn1cblxuLmljb24tZmlsZTpiZWZvcmUge1xuXHRjb250ZW50OiBcIlxcRTAxM1wiO1xufVxuXG4uaWNvbi1mbGFnOmJlZm9yZSB7XG5cdGNvbnRlbnQ6IFwiXFxFMDE0XCI7XG59XG5cbi5pY29uLWdyaWQ6YmVmb3JlIHtcblx0Y29udGVudDogXCJcXEUwMTVcIjtcbn1cblxuLmljb24tbGVzczpiZWZvcmUge1xuXHRjb250ZW50OiBcIlxcRTAxNlwiO1xufVxuXG4uaWNvbi1saXN0OmJlZm9yZSB7XG5cdGNvbnRlbnQ6IFwiXFxFMDE3XCI7XG59XG5cbi5pY29uLWxvYWRlcjpiZWZvcmUge1xuXHRjb250ZW50OiBcIlxcRTAxOFwiO1xufVxuXG4uaWNvbi1sb2NrOmJlZm9yZSB7XG5cdGNvbnRlbnQ6IFwiXFxFMDE5XCI7XG59XG5cbi5pY29uLW1vcmU6YmVmb3JlIHtcblx0Y29udGVudDogXCJcXEUwMUFcIjtcbn1cblxuLmljb24tcGxheTpiZWZvcmUge1xuXHRjb250ZW50OiBcIlxcRTAxQlwiO1xufVxuXG4uaWNvbi1xdWFsaXR5LWhpZ2g6YmVmb3JlIHtcblx0Y29udGVudDogXCJcXEUwMUNcIjtcbn1cblxuLmljb24tcXVhbGl0eS1sb3c6YmVmb3JlIHtcblx0Y29udGVudDogXCJcXEUwMURcIjtcbn1cblxuLmljb24tcXVhbGl0eS1taWQ6YmVmb3JlIHtcblx0Y29udGVudDogXCJcXEUwMUVcIjtcbn1cblxuLmljb24tc2VhcmNoOmJlZm9yZSB7XG5cdGNvbnRlbnQ6IFwiXFxFMDFGXCI7XG59XG5cbi5pY29uLXN1aXRjYXNlOmJlZm9yZSB7XG5cdGNvbnRlbnQ6IFwiXFxFMDIwXCI7XG59XG5cbi5pY29uLXRodW1iOmJlZm9yZSB7XG5cdGNvbnRlbnQ6IFwiXFxFMDIxXCI7XG59XG5cbi5pY29uLXVzZXI6YmVmb3JlIHtcblx0Y29udGVudDogXCJcXEUwMjJcIjtcbn1cbiIsIkBrZXlmcmFtZXMgcm90YXRpbmcge1xuICAgIGZyb20ge1xuICAgICAgICB0cmFuc2Zvcm0gOiByb3RhdGUoMGRlZyk7XG4gICAgfVxuICAgIHRvIHtcbiAgICAgICAgdHJhbnNmb3JtIDogcm90YXRlKDM2MGRlZyk7XG4gICAgfVxufVxuIiwiaHRtbC5sYi1kaXNhYmxlLXNjcm9sbGluZyB7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIC8qIFBvc2l0aW9uIGZpeGVkIHJlcXVpcmVkIGZvciBpT1MuIEp1c3QgcHV0dGluZyBvdmVyZmxvdzogaGlkZGVuOyBvbiB0aGUgYm9keSBpcyBub3QgZW5vdWdoLiAqL1xuICBwb3NpdGlvbjogZml4ZWQ7XG4gIGhlaWdodDogMTAwdmg7XG4gIHdpZHRoOiAxMDB2dztcbn1cblxuLmxpZ2h0Ym94T3ZlcmxheSB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAwO1xuICBsZWZ0OiAwO1xuICB6LWluZGV4OiA5OTk5O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiBibGFjaztcbiAgZmlsdGVyOiBwcm9naWQ6RFhJbWFnZVRyYW5zZm9ybS5NaWNyb3NvZnQuQWxwaGEoT3BhY2l0eT04MCk7XG4gIG9wYWNpdHk6IDAuODtcbiAgZGlzcGxheTogbm9uZTtcbn1cblxuLmxpZ2h0Ym94IHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBsZWZ0OiAwO1xuICB3aWR0aDogMTAwJTtcbiAgei1pbmRleDogMTAwMDA7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgbGluZS1oZWlnaHQ6IDA7XG4gIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG59XG5cbi5saWdodGJveCAubGItaW1hZ2Uge1xuICBkaXNwbGF5OiBibG9jaztcbiAgaGVpZ2h0OiBhdXRvO1xuICBtYXgtd2lkdGg6IGluaGVyaXQ7XG4gIG1heC1oZWlnaHQ6IG5vbmU7XG4gIGJvcmRlci1yYWRpdXM6IDNweDtcblxuICAvKiBJbWFnZSBib3JkZXIgKi9cbiAgYm9yZGVyOiA0cHggc29saWQgd2hpdGU7XG59XG5cbi5saWdodGJveCBhIGltZyB7XG4gIGJvcmRlcjogbm9uZTtcbn1cblxuLmxiLW91dGVyQ29udGFpbmVyIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAqem9vbTogMTtcbiAgd2lkdGg6IDI1MHB4O1xuICBoZWlnaHQ6IDI1MHB4O1xuICBtYXJnaW46IDAgYXV0bztcbiAgYm9yZGVyLXJhZGl1czogNHB4O1xuXG4gIC8qIEJhY2tncm91bmQgY29sb3IgYmVoaW5kIGltYWdlLlxuXHQgVGhpcyBpcyB2aXNpYmxlIGR1cmluZyB0cmFuc2l0aW9ucy4gKi9cbiAgYmFja2dyb3VuZC1jb2xvcjogd2hpdGU7XG59XG5cbi5sYi1vdXRlckNvbnRhaW5lcjphZnRlciB7XG4gIGNvbnRlbnQ6IFwiXCI7XG4gIGRpc3BsYXk6IHRhYmxlO1xuICBjbGVhcjogYm90aDtcbn1cblxuLmxiLWxvYWRlciB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiA0MyU7XG4gIGxlZnQ6IDA7XG4gIGhlaWdodDogMjUlO1xuICB3aWR0aDogMTAwJTtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBsaW5lLWhlaWdodDogMDtcbn1cblxuLmxiLWNhbmNlbCB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICB3aWR0aDogMzJweDtcbiAgaGVpZ2h0OiAzMnB4O1xuICBtYXJnaW46IDAgYXV0bztcblxuICBAZXh0ZW5kIC5pY29uO1xuICBAZXh0ZW5kIC5pY29uLWFqYXgtbG9hZGVyO1xuXG4gICY6OmJlZm9yZXtcblx0ICBjb2xvcjogJGNvbG9yX193aGl0ZTtcblx0ICBsaW5lLWhlaWdodDogMzJweDtcblx0ICBmb250LXNpemU6IDMycHg7XG5cdCAgdGV4dC1hbGlnbjogY2VudGVyO1xuICB9XG59XG5cbi5sYi1uYXYge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogMDtcbiAgbGVmdDogMDtcbiAgaGVpZ2h0OiAxMDAlO1xuICB3aWR0aDogMTAwJTtcbiAgei1pbmRleDogMTA7XG59XG5cbi5sYi1jb250YWluZXIgPiAubmF2IHtcbiAgbGVmdDogMDtcbn1cblxuLmxiLW5hdiBhIHtcbiAgb3V0bGluZTogbm9uZTtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKCdkYXRhOmltYWdlL2dpZjtiYXNlNjQsUjBsR09EbGhBUUFCQVBBQUFQLy8vd0FBQUNINUJBRUFBQUFBTEFBQUFBQUJBQUVBQUFJQ1JBRUFPdz09Jyk7XG59XG5cbi5sYi1wcmV2LCAubGItbmV4dCB7XG4gIGhlaWdodDogMTAwJTtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICBkaXNwbGF5OiBibG9jaztcbn1cblxuLmxiLW5hdiBhLmxiLXByZXYge1xuICB3aWR0aDogMzQlO1xuICBsZWZ0OiAwO1xuICBmbG9hdDogbGVmdDtcbiAgLy9iYWNrZ3JvdW5kOiB1cmwoLi4vaW1hZ2VzL3ByZXYucG5nKSBsZWZ0IDQ4JSBuby1yZXBlYXQ7XG4gIGZpbHRlcjogcHJvZ2lkOkRYSW1hZ2VUcmFuc2Zvcm0uTWljcm9zb2Z0LkFscGhhKE9wYWNpdHk9MCk7XG4gIG9wYWNpdHk6IDA7XG4gIC13ZWJraXQtdHJhbnNpdGlvbjogb3BhY2l0eSAwLjZzO1xuICAtbW96LXRyYW5zaXRpb246IG9wYWNpdHkgMC42cztcbiAgLW8tdHJhbnNpdGlvbjogb3BhY2l0eSAwLjZzO1xuICB0cmFuc2l0aW9uOiBvcGFjaXR5IDAuNnM7XG59XG5cbi5sYi1uYXYgYS5sYi1wcmV2OmhvdmVyIHtcbiAgZmlsdGVyOiBwcm9naWQ6RFhJbWFnZVRyYW5zZm9ybS5NaWNyb3NvZnQuQWxwaGEoT3BhY2l0eT0xMDApO1xuICBvcGFjaXR5OiAxO1xufVxuXG4ubGItbmF2IGEubGItbmV4dCB7XG4gIHdpZHRoOiA2NCU7XG4gIHJpZ2h0OiAwO1xuICBmbG9hdDogcmlnaHQ7XG4gIC8vYmFja2dyb3VuZDogdXJsKC4uL2ltYWdlcy9uZXh0LnBuZykgcmlnaHQgNDglIG5vLXJlcGVhdDtcbiAgZmlsdGVyOiBwcm9naWQ6RFhJbWFnZVRyYW5zZm9ybS5NaWNyb3NvZnQuQWxwaGEoT3BhY2l0eT0wKTtcbiAgb3BhY2l0eTogMDtcbiAgLXdlYmtpdC10cmFuc2l0aW9uOiBvcGFjaXR5IDAuNnM7XG4gIC1tb3otdHJhbnNpdGlvbjogb3BhY2l0eSAwLjZzO1xuICAtby10cmFuc2l0aW9uOiBvcGFjaXR5IDAuNnM7XG4gIHRyYW5zaXRpb246IG9wYWNpdHkgMC42cztcbn1cblxuLmxiLW5hdiBhLmxiLW5leHQ6aG92ZXIge1xuICBmaWx0ZXI6IHByb2dpZDpEWEltYWdlVHJhbnNmb3JtLk1pY3Jvc29mdC5BbHBoYShPcGFjaXR5PTEwMCk7XG4gIG9wYWNpdHk6IDE7XG59XG5cbi5sYi1kYXRhQ29udGFpbmVyIHtcbiAgbWFyZ2luOiAwIGF1dG87XG4gIHBhZGRpbmctdG9wOiA1cHg7XG4gICp6b29tOiAxO1xuICB3aWR0aDogMTAwJTtcbiAgYm9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1czogNHB4O1xuICBib3JkZXItYm90dG9tLXJpZ2h0LXJhZGl1czogNHB4O1xufVxuXG4ubGItZGF0YUNvbnRhaW5lcjphZnRlciB7XG4gIGNvbnRlbnQ6IFwiXCI7XG4gIGRpc3BsYXk6IHRhYmxlO1xuICBjbGVhcjogYm90aDtcbn1cblxuLmxiLWRhdGEge1xuICBwYWRkaW5nOiAwIDRweDtcbiAgY29sb3I6ICNjY2M7XG59XG5cbi5sYi1kYXRhIC5sYi1kZXRhaWxzIHtcbiAgd2lkdGg6IDg1JTtcbiAgZmxvYXQ6IGxlZnQ7XG4gIHRleHQtYWxpZ246IGxlZnQ7XG4gIGxpbmUtaGVpZ2h0OiAxLjFlbTtcbn1cblxuLmxiLWRhdGEgLmxiLWNhcHRpb24ge1xuICBmb250LXNpemU6IDEzcHg7XG4gIGZvbnQtd2VpZ2h0OiBib2xkO1xuICBsaW5lLWhlaWdodDogMWVtO1xufVxuXG4ubGItZGF0YSAubGItY2FwdGlvbiBhIHtcbiAgY29sb3I6ICM0YWU7XG59XG5cbi5sYi1kYXRhIC5sYi1udW1iZXIge1xuICBkaXNwbGF5OiBibG9jaztcbiAgY2xlYXI6IGxlZnQ7XG4gIHBhZGRpbmctYm90dG9tOiAxZW07XG4gIGZvbnQtc2l6ZTogMTJweDtcbiAgY29sb3I6ICM5OTk5OTk7XG59XG5cbi5sYi1kYXRhIC5sYi1jbG9zZSB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBmbG9hdDogcmlnaHQ7XG4gIHdpZHRoOiAzMHB4O1xuICBoZWlnaHQ6IDMwcHg7XG4gIHRleHQtYWxpZ246IHJpZ2h0O1xuICBvdXRsaW5lOiBub25lO1xuICBmaWx0ZXI6IHByb2dpZDpEWEltYWdlVHJhbnNmb3JtLk1pY3Jvc29mdC5BbHBoYShPcGFjaXR5PTcwKTtcbiAgb3BhY2l0eTogMC43O1xuICAtd2Via2l0LXRyYW5zaXRpb246IG9wYWNpdHkgMC4ycztcbiAgLW1vei10cmFuc2l0aW9uOiBvcGFjaXR5IDAuMnM7XG4gIC1vLXRyYW5zaXRpb246IG9wYWNpdHkgMC4ycztcbiAgdHJhbnNpdGlvbjogb3BhY2l0eSAwLjJzO1xuXG4gIEBleHRlbmQgLmljb247XG4gIEBleHRlbmQgLmljb24tY3Jvc3M7XG5cbiAgJjo6YmVmb3Jle1xuXHR2ZXJ0aWNhbC1hbGlnbjogdG9wO1xuXHRmb250LXNpemU6IDE3cHg7XG5cdGxpbmUtaGVpZ2h0OiAxO1xuXHRjb2xvcjogJGNvbG9yX193aGl0ZTtcbiAgfVxuXG4gICY6aG92ZXJ7XG5cdHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgfVxufVxuXG4ubGItZGF0YSAubGItY2xvc2U6aG92ZXIge1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIGZpbHRlcjogcHJvZ2lkOkRYSW1hZ2VUcmFuc2Zvcm0uTWljcm9zb2Z0LkFscGhhKE9wYWNpdHk9MTAwKTtcbiAgb3BhY2l0eTogMTtcbn1cblxuXG4vKipcbiAqIFxuICogXG4gKiBOb29taWEgTGlnaHRib3hcbiAqIFxuICogXG4gKi9cbiRiYWNrZ3JvdW5kIDogIzEzMTgyMDtcblxuLm5vb19saWdodGJveCB7XG4gICAgQGluY2x1ZGUgdHJhbnNsYXRlKCAtNTAlLCAtNTAlICk7XG5cbiAgICBwb3NpdGlvbiA6IGFic29sdXRlO1xuICAgIHotaW5kZXggOiAxMDtcbiAgICB0b3AgOiA1MCU7XG4gICAgbGVmdCA6IDUwJTtcblxuICAgIG92ZXJmbG93LXggOiBoaWRkZW47XG4gICAgb3ZlcmZsb3cteSA6IGF1dG87XG5cbiAgICB3aWR0aCA6IDkwJTtcbiAgICBtYXgtd2lkdGggOiA1NzBweDtcbiAgICBtYXgtaGVpZ2h0IDogOTAlO1xuXG4gICAgcGFkZGluZzogMzBweDtcblxuICAgIGJvcmRlci1yYWRpdXMgOiA0cHg7XG4gICAgYmFja2dyb3VuZC1jb2xvciA6ICRjb2xvcl9fd2hpdGU7XG5cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA5NzBweCkge1xuICAgICAgICAtd2Via2l0LW92ZXJmbG93LXNjcm9sbGluZyA6IHRvdWNoO1xuICAgIH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA2MDBweCkge1xuICAgICAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgICAgICB3aWR0aDogOTAlO1xuICAgIH1cblxuXG4gICAgJl9fY29udGFpbmVyIHtcbiAgICAgICAgcG9zaXRpb24gOiBmaXhlZDtcbiAgICAgICAgei1pbmRleCA6IDEwMDAwO1xuICAgICAgICB0b3AgOiAwO1xuICAgICAgICByaWdodCA6IDA7XG4gICAgICAgIGJvdHRvbSA6IDA7XG4gICAgICAgIGxlZnQgOiAwO1xuXG4gICAgICAgIGRpc3BsYXkgOiBub25lO1xuICAgIH1cblxuICAgICZfX2NvbnRlbnQge1xuICAgICAgICB0ZXh0LWFsaWduIDogY2VudGVyO1xuICAgICAgICBcbiAgICAgICAgLnd5c2l3eWcge1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbSA6IDUwcHg7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmX19jbG9zZSB7XG4gICAgICAgIHBvc2l0aW9uIDogYWJzb2x1dGU7XG4gICAgICAgIHRvcCA6IDIwcHg7XG4gICAgICAgIHJpZ2h0IDogMjBweDtcbiAgICB9XG5cbiAgICAmX19vdmVybGF5IHtcbiAgICAgICAgcG9zaXRpb24gOiBhYnNvbHV0ZTtcbiAgICAgICAgdG9wIDogMDtcbiAgICAgICAgcmlnaHQgOiAwO1xuICAgICAgICBib3R0b20gOiAwO1xuICAgICAgICBsZWZ0IDogMDtcblxuICAgICAgICBvcGFjaXR5IDogMC44O1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yIDogJGJhY2tncm91bmQ7XG4gICAgfVxuXG4gICAgLnRhYnMge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAzMHB4O1xuICAgICAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuXG4gICAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDUwMHB4KSB7XG4gICAgICAgICAgICBwYWRkaW5nLWxlZnQ6IDEwcHg7XG4gICAgICAgICAgICBwYWRkaW5nLXJpZ2h0OiAxMHB4O1xuICAgICAgICB9XG4gICAgfVxufVxuLm5vb19saWdodGJveF9fY29udGFpbmVyW2RhdGEtbGlnaHRib3g9Y29uZmlybV0gLm5vb19saWdodGJveCB7XG4gICAgbWF4LXdpZHRoOiA1MDBweDtcblxuICAgIC50aXRsZSB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDE1cHg7XG4gICAgfVxuXG4gICAgLnd5c2l3eWcge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAzMHB4O1xuICAgIH1cbn0iLCIvL1xuLy8gTWl4aW5zXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG5cbi8vIFV0aWxpdGllc1xuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4vLyBDbGVhcmZpeFxuLy8gU291cmNlOiBodHRwOi8vbmljb2xhc2dhbGxhZ2hlci5jb20vbWljcm8tY2xlYXJmaXgtaGFjay9cbi8vXG4vLyBGb3IgbW9kZXJuIGJyb3dzZXJzXG4vLyAxLiBUaGUgc3BhY2UgY29udGVudCBpcyBvbmUgd2F5IHRvIGF2b2lkIGFuIE9wZXJhIGJ1ZyB3aGVuIHRoZVxuLy8gICAgY29udGVudGVkaXRhYmxlIGF0dHJpYnV0ZSBpcyBpbmNsdWRlZCBhbnl3aGVyZSBlbHNlIGluIHRoZSBkb2N1bWVudC5cbi8vICAgIE90aGVyd2lzZSBpdCBjYXVzZXMgc3BhY2UgdG8gYXBwZWFyIGF0IHRoZSB0b3AgYW5kIGJvdHRvbSBvZiBlbGVtZW50c1xuLy8gICAgdGhhdCBhcmUgY2xlYXJmaXhlZC5cbi8vIDIuIFRoZSB1c2Ugb2YgYHRhYmxlYCByYXRoZXIgdGhhbiBgYmxvY2tgIGlzIG9ubHkgbmVjZXNzYXJ5IGlmIHVzaW5nXG4vLyAgICBgOmJlZm9yZWAgdG8gY29udGFpbiB0aGUgdG9wLW1hcmdpbnMgb2YgY2hpbGQgZWxlbWVudHMuXG5cbkBtaXhpbiBjbGVhcmZpeCgpIHtcbiAgICAmOmJlZm9yZSxcbiAgICAmOmFmdGVyIHtcbiAgICAgICAgZGlzcGxheSA6IHRhYmxlOyAvKiAyICovXG5cbiAgICAgICAgY29udGVudCA6IFwiIFwiOyAvKiAxICovXG4gICAgfVxuICAgICY6YWZ0ZXIge1xuICAgICAgICBjbGVhciA6IGJvdGg7XG4gICAgfVxufVxuXG5AbWl4aW4gc21vb3RoKCkge1xuICAgIC13ZWJraXQtZm9udC1zbW9vdGhpbmcgOiBhbnRpYWxpYXNlZDtcbiAgICAtbW96LW9zeC1mb250LXNtb290aGluZyA6IGdyYXlzY2FsZTtcbn1cblxuQG1peGluIGFwcGVhcmFuY2UoKSB7XG4gICAgLXdlYmtpdC1hcHBlYXJhbmNlIDogbm9uZTtcbiAgICAgICAtbW96LWFwcGVhcmFuY2UgOiBub25lO1xuICAgICAgICAgICAgYXBwZWFyYW5jZSA6IG5vbmU7XG59XG5cbi8vIFdlYktpdC1zdHlsZSBmb2N1c1xuQG1peGluIHRhYi1mb2N1cygpIHtcbiAgICAvLyBEZWZhdWx0XG4gICAgb3V0bGluZSA6IHRoaW4gZG90dGVkICMzMzMzMzM7XG4gICAgLy8gV2ViS2l0XG4gICAgb3V0bGluZSA6IDVweCBhdXRvIC13ZWJraXQtZm9jdXMtcmluZy1jb2xvcjtcbiAgICBvdXRsaW5lLW9mZnNldCA6IC0ycHg7XG59XG5cbi8vIENlbnRlci1hbGlnbiBhIGJsb2NrIGxldmVsIGVsZW1lbnRcbkBtaXhpbiBjZW50ZXItYmxvY2soKSB7XG4gICAgZGlzcGxheSA6IGJsb2NrO1xuXG4gICAgbWFyZ2luLXJpZ2h0IDogYXV0bztcbiAgICBtYXJnaW4tbGVmdCA6IGF1dG87XG59XG5cbi8vIFNpemluZyBzaG9ydGN1dHNcbkBtaXhpbiBzaXplKCR3aWR0aCwgJGhlaWdodCkge1xuICAgIHdpZHRoIDogJHdpZHRoO1xuICAgIGhlaWdodCA6ICRoZWlnaHQ7XG59XG5AbWl4aW4gc3F1YXJlKCRzaXplKSB7XG4gICAgQGluY2x1ZGUgc2l6ZSgkc2l6ZSwgJHNpemUpO1xufVxuXG4vLyBQbGFjZWhvbGRlciB0ZXh0XG5AbWl4aW4gcGxhY2Vob2xkZXIoJGNvbG9yIDogJGlucHV0LWNvbG9yLXBsYWNlaG9sZGVyKSB7XG4gICAgJjotbW96LXBsYWNlaG9sZGVyIHtcbiAgICAgICAgY29sb3IgOiAkY29sb3I7XG4gICAgfSAvLyBGaXJlZm94IDQtMThcbiAgICAmOjotbW96LXBsYWNlaG9sZGVyIHtcbiAgICAgICAgY29sb3IgOiAkY29sb3I7XG4gICAgfSAvLyBGaXJlZm94IDE5K1xuICAgICY6LW1zLWlucHV0LXBsYWNlaG9sZGVyIHtcbiAgICAgICAgY29sb3IgOiAkY29sb3I7XG4gICAgfSAvLyBJbnRlcm5ldCBFeHBsb3JlciAxMCtcbiAgICAmOjotd2Via2l0LWlucHV0LXBsYWNlaG9sZGVyIHtcbiAgICAgICAgY29sb3IgOiAkY29sb3I7XG4gICAgfSAvLyBTYWZhcmkgYW5kIENocm9tZVxufVxuXG4vLyBUZXh0IG92ZXJmbG93XG4vLyBSZXF1aXJlcyBpbmxpbmUtYmxvY2sgb3IgYmxvY2sgZm9yIHByb3BlciBzdHlsaW5nXG5AbWl4aW4gdGV4dC1vdmVyZmxvdygpIHtcbiAgICBvdmVyZmxvdyA6IGhpZGRlbjtcblxuICAgIHdoaXRlLXNwYWNlIDogbm93cmFwO1xuICAgIHRleHQtb3ZlcmZsb3cgOiBlbGxpcHNpcztcbn1cblxuLy8gQ1NTIGltYWdlIHJlcGxhY2VtZW50XG4vL1xuLy8gSGVhZHMgdXAhIHYzIGxhdW5jaGVkIHdpdGggd2l0aCBvbmx5IGAuaGlkZS10ZXh0KClgLCBidXQgcGVyIG91ciBwYXR0ZXJuIGZvclxuLy8gbWl4aW5zIGJlaW5nIHJldXNlZCBhcyBjbGFzc2VzIHdpdGggdGhlIHNhbWUgbmFtZSwgdGhpcyBkb2Vzbid0IGhvbGQgdXAuIEFzXG4vLyBvZiB2My4wLjEgd2UgaGF2ZSBhZGRlZCBgLnRleHQtaGlkZSgpYCBhbmQgZGVwcmVjYXRlZCBgLmhpZGUtdGV4dCgpYC4gTm90ZVxuLy8gdGhhdCB3ZSBjYW5ub3QgY2hhaW4gdGhlIG1peGlucyB0b2dldGhlciBpbiBMZXNzLCBzbyB0aGV5IGFyZSByZXBlYXRlZC5cbi8vXG4vLyBTb3VyY2U6IGh0dHBzOi8vZ2l0aHViLmNvbS9oNWJwL2h0bWw1LWJvaWxlcnBsYXRlL2NvbW1pdC9hYTAzOTZlYWU3NTdcblxuLy8gRGVwcmVjYXRlZCBhcyBvZiB2My4wLjEgKHdpbGwgYmUgcmVtb3ZlZCBpbiB2NClcbkBtaXhpbiBoaWRlLXRleHQoKSB7XG4gICAgZm9udCA6ICN7MC8wfSBhO1xuXG4gICAgY29sb3IgOiB0cmFuc3BhcmVudDtcbiAgICBib3JkZXIgOiAwO1xuICAgIGJhY2tncm91bmQtY29sb3IgOiB0cmFuc3BhcmVudDtcbiAgICB0ZXh0LXNoYWRvdyA6IG5vbmU7XG59XG4vLyBOZXcgbWl4aW4gdG8gdXNlIGFzIG9mIHYzLjAuMVxuQG1peGluIHRleHQtaGlkZSgpIHtcbiAgICBmb250IDogI3swLzB9IGE7XG5cbiAgICBjb2xvciA6IHRyYW5zcGFyZW50O1xuICAgIGJvcmRlciA6IDA7XG4gICAgYmFja2dyb3VuZC1jb2xvciA6IHRyYW5zcGFyZW50O1xuICAgIHRleHQtc2hhZG93IDogbm9uZTtcbn1cblxuJWhpZGRlbiB7XG4gICAgcG9zaXRpb24gOiBhYnNvbHV0ZTtcblxuICAgIG92ZXJmbG93IDogaGlkZGVuO1xuICAgIGNsaXAgOiByZWN0KDAgMCAwIDApO1xuICAgIGNsaXAgOiByZWN0KDAsIDAsIDAsIDApO1xuXG4gICAgd2lkdGggOiAxcHg7XG4gICAgaGVpZ2h0IDogMXB4O1xuICAgIG1hcmdpbiA6IC0xcHg7XG4gICAgcGFkZGluZyA6IDA7XG59XG5cblxuLy8gQ1NTMyBQUk9QRVJUSUVTXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4vLyBTaW5nbGUgc2lkZSBib3JkZXItcmFkaXVzXG5AbWl4aW4gYm9yZGVyLXRvcC1yYWRpdXMoJHJhZGl1cykge1xuICAgIGJvcmRlci10b3AtbGVmdC1yYWRpdXMgOiAkcmFkaXVzO1xuICAgIGJvcmRlci10b3AtcmlnaHQtcmFkaXVzIDogJHJhZGl1cztcbn1cbkBtaXhpbiBib3JkZXItcmlnaHQtcmFkaXVzKCRyYWRpdXMpIHtcbiAgICBib3JkZXItdG9wLXJpZ2h0LXJhZGl1cyA6ICRyYWRpdXM7XG4gICAgYm9yZGVyLWJvdHRvbS1yaWdodC1yYWRpdXMgOiAkcmFkaXVzO1xufVxuQG1peGluIGJvcmRlci1ib3R0b20tcmFkaXVzKCRyYWRpdXMpIHtcbiAgICBib3JkZXItYm90dG9tLXJpZ2h0LXJhZGl1cyA6ICRyYWRpdXM7XG4gICAgYm9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1cyA6ICRyYWRpdXM7XG59XG5AbWl4aW4gYm9yZGVyLWxlZnQtcmFkaXVzKCRyYWRpdXMpIHtcbiAgICBib3JkZXItdG9wLWxlZnQtcmFkaXVzIDogJHJhZGl1cztcbiAgICBib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzIDogJHJhZGl1cztcbn1cblxuQG1peGluIGJvcmRlci1yYWRpdXMoJHJhZGl1cykge1xuICAgIC13ZWJraXQtYm9yZGVyLXJhZGl1cyA6ICRyYWRpdXM7XG4gICAgICAgLW1vei1ib3JkZXItcmFkaXVzIDogJHJhZGl1cztcbiAgICAgICAgICAgIGJvcmRlci1yYWRpdXMgOiAkcmFkaXVzO1xuXG4gICAgIC1raHRtbC1ib3JkZXItcmFkaXVzIDogJHJhZGl1cztcbn1cbi8vIERyb3Agc2hhZG93c1xuQG1peGluIGJveC1zaGFkb3coJHNoYWRvdy4uLikge1xuICAgIC13ZWJraXQtYm94LXNoYWRvdyA6ICRzaGFkb3c7IC8vIGlPUyA8NC4zICYgQW5kcm9pZCA8NC4xXG4gICAgICAgICAgICBib3gtc2hhZG93IDogJHNoYWRvdztcbn1cblxuLy8gVHJhbnNpdGlvbnNcbkBtaXhpbiB0cmFuc2l0aW9uKCR0cmFuc2l0aW9uLi4uKSB7XG4gICAgLXdlYmtpdC10cmFuc2l0aW9uIDogJHRyYW5zaXRpb247XG4gICAgICAgLW1vei10cmFuc2l0aW9uIDogJHRyYW5zaXRpb247XG4gICAgICAgICAgICB0cmFuc2l0aW9uIDogJHRyYW5zaXRpb247XG59XG5AbWl4aW4gdHJhbnNpdGlvbi1wcm9wZXJ0eSgkdHJhbnNpdGlvbi1wcm9wZXJ0eSkge1xuICAgIC13ZWJraXQtdHJhbnNpdGlvbi1wcm9wZXJ0eSA6ICR0cmFuc2l0aW9uLXByb3BlcnR5O1xuICAgICAgIC1tb3otdHJhbnNpdGlvbi1wcm9wZXJ0eSA6ICR0cmFuc2l0aW9uLXByb3BlcnR5O1xuICAgICAgICAgICAgdHJhbnNpdGlvbi1wcm9wZXJ0eSA6ICR0cmFuc2l0aW9uLXByb3BlcnR5O1xufVxuQG1peGluIHRyYW5zaXRpb24tZGVsYXkoJHRyYW5zaXRpb24tZGVsYXkpIHtcbiAgICAtd2Via2l0LXRyYW5zaXRpb24tZGVsYXkgOiAkdHJhbnNpdGlvbi1kZWxheTtcbiAgICAgICAtbW96LXRyYW5zaXRpb24tZGVsYXkgOiAkdHJhbnNpdGlvbi1kZWxheTtcbiAgICAgICAgICAgIHRyYW5zaXRpb24tZGVsYXkgOiAkdHJhbnNpdGlvbi1kZWxheTtcbn1cbkBtaXhpbiB0cmFuc2l0aW9uLWR1cmF0aW9uKCR0cmFuc2l0aW9uLWR1cmF0aW9uKSB7XG4gICAgLXdlYmtpdC10cmFuc2l0aW9uLWR1cmF0aW9uIDogJHRyYW5zaXRpb24tZHVyYXRpb247XG4gICAgICAgLW1vei10cmFuc2l0aW9uLWR1cmF0aW9uIDogJHRyYW5zaXRpb24tZHVyYXRpb247XG4gICAgICAgICAgICB0cmFuc2l0aW9uLWR1cmF0aW9uIDogJHRyYW5zaXRpb24tZHVyYXRpb247XG59XG5AbWl4aW4gdHJhbnNpdGlvbi10cmFuc2Zvcm0oJHRyYW5zaXRpb24uLi4pIHtcbiAgICAtd2Via2l0LXRyYW5zaXRpb24gOiAtd2Via2l0LXRyYW5zZm9ybSAkdHJhbnNpdGlvbjtcbiAgICAgICAtbW96LXRyYW5zaXRpb24gOiAgICAtbW96LXRyYW5zZm9ybSAkdHJhbnNpdGlvbjtcbiAgICAgICAgIC1vLXRyYW5zaXRpb24gOiAgICAgIC1vLXRyYW5zZm9ybSAkdHJhbnNpdGlvbjtcbiAgICAgICAgICAgIHRyYW5zaXRpb24gOiAgICAgICAgIHRyYW5zZm9ybSAkdHJhbnNpdGlvbjtcbn1cblxuLy8gVHJhbnNmb3JtYXRpb25zXG5AbWl4aW4gdHJhbnNmb3JtKCR0cmFuc2Zvcm0pIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybSA6ICR0cmFuc2Zvcm07XG4gICAgICAgIC1tcy10cmFuc2Zvcm0gOiAkdHJhbnNmb3JtOyAvLyBJRTkrXG4gICAgICAgICAgICB0cmFuc2Zvcm0gOiAkdHJhbnNmb3JtO1xufVxuXG5AbWl4aW4gcm90YXRlKCRkZWdyZWVzKSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm0gOiByb3RhdGUoJGRlZ3JlZXMpO1xuICAgICAgICAtbXMtdHJhbnNmb3JtIDogcm90YXRlKCRkZWdyZWVzKTsgLy8gSUU5K1xuICAgICAgICAgICAgdHJhbnNmb3JtIDogcm90YXRlKCRkZWdyZWVzKTtcbn1cbkBtaXhpbiBzY2FsZSgkcmF0aW8uLi4pIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybSA6IHNjYWxlKCRyYXRpbyk7XG4gICAgICAgIC1tcy10cmFuc2Zvcm0gOiBzY2FsZSgkcmF0aW8pOyAvLyBJRTkrXG4gICAgICAgICAgICB0cmFuc2Zvcm0gOiBzY2FsZSgkcmF0aW8pO1xufVxuQG1peGluIHRyYW5zbGF0ZSgkeCwgJHkpIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybSA6IHRyYW5zbGF0ZSgkeCwgJHkpO1xuICAgICAgICAtbXMtdHJhbnNmb3JtIDogdHJhbnNsYXRlKCR4LCAkeSk7IC8vIElFOStcbiAgICAgICAgICAgIHRyYW5zZm9ybSA6IHRyYW5zbGF0ZSgkeCwgJHkpO1xufVxuQG1peGluIHNrZXcoJHgsICR5KSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm0gOiBza2V3KCR4LCAkeSk7XG4gICAgICAgIC1tcy10cmFuc2Zvcm0gOiBza2V3WCgkeCkgc2tld1koJHkpOyAvLyBTZWUgaHR0cHM6Ly9naXRodWIuY29tL3R3YnMvYm9vdHN0cmFwL2lzc3Vlcy80ODg1OyBJRTkrXG4gICAgICAgICAgICB0cmFuc2Zvcm0gOiBza2V3KCR4LCAkeSk7XG59XG5AbWl4aW4gdHJhbnNsYXRlM2QoJHgsICR5LCAkeikge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtIDogdHJhbnNsYXRlM2QoJHgsICR5LCAkeik7XG4gICAgICAgICAgICB0cmFuc2Zvcm0gOiB0cmFuc2xhdGUzZCgkeCwgJHksICR6KTtcbn1cblxuQG1peGluIHJvdGF0ZVgoJGRlZ3JlZXMpIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybSA6IHJvdGF0ZVgoJGRlZ3JlZXMpO1xuICAgICAgICAtbXMtdHJhbnNmb3JtIDogcm90YXRlWCgkZGVncmVlcyk7IC8vIElFOStcbiAgICAgICAgICAgIHRyYW5zZm9ybSA6IHJvdGF0ZVgoJGRlZ3JlZXMpO1xufVxuQG1peGluIHJvdGF0ZVkoJGRlZ3JlZXMpIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybSA6IHJvdGF0ZVkoJGRlZ3JlZXMpO1xuICAgICAgICAtbXMtdHJhbnNmb3JtIDogcm90YXRlWSgkZGVncmVlcyk7IC8vIElFOStcbiAgICAgICAgICAgIHRyYW5zZm9ybSA6IHJvdGF0ZVkoJGRlZ3JlZXMpO1xufVxuQG1peGluIHBlcnNwZWN0aXZlKCRwZXJzcGVjdGl2ZSkge1xuICAgIC13ZWJraXQtcGVyc3BlY3RpdmUgOiAkcGVyc3BlY3RpdmU7XG4gICAgICAgLW1vei1wZXJzcGVjdGl2ZSA6ICRwZXJzcGVjdGl2ZTtcbiAgICAgICAgICAgIHBlcnNwZWN0aXZlIDogJHBlcnNwZWN0aXZlO1xufVxuQG1peGluIHBlcnNwZWN0aXZlLW9yaWdpbigkcGVyc3BlY3RpdmUpIHtcbiAgICAtd2Via2l0LXBlcnNwZWN0aXZlLW9yaWdpbiA6ICRwZXJzcGVjdGl2ZTtcbiAgICAgICAtbW96LXBlcnNwZWN0aXZlLW9yaWdpbiA6ICRwZXJzcGVjdGl2ZTtcbiAgICAgICAgICAgIHBlcnNwZWN0aXZlLW9yaWdpbiA6ICRwZXJzcGVjdGl2ZTtcbn1cbkBtaXhpbiB0cmFuc2Zvcm0tb3JpZ2luKCRvcmlnaW4uLi4pIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybS1vcmlnaW4gOiAkb3JpZ2luO1xuICAgICAgIC1tb3otdHJhbnNmb3JtLW9yaWdpbiA6ICRvcmlnaW47XG4gICAgICAgICAgICB0cmFuc2Zvcm0tb3JpZ2luIDogJG9yaWdpbjtcbn1cbkBtaXhpbiB0cmFuc2Zvcm0tc3R5bGUoJHN0eWxlKSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm0tc3R5bGUgOiAkc3R5bGU7XG4gICAgICAgLW1vei10cmFuc2Zvcm0tc3R5bGUgOiAkc3R5bGU7XG4gICAgICAgICAgICB0cmFuc2Zvcm0tc3R5bGUgOiAkc3R5bGU7XG59XG5cbi8vIEFuaW1hdGlvbnNcbkBtaXhpbiBhbmltYXRpb24oJGFuaW1hdGlvbikge1xuICAgIC13ZWJraXQtYW5pbWF0aW9uIDogJGFuaW1hdGlvbjtcbiAgICAgICAtbW96LWFuaW1hdGlvbiA6ICRhbmltYXRpb247XG4gICAgICAgICAgICBhbmltYXRpb24gOiAkYW5pbWF0aW9uO1xufVxuXG5AbWl4aW4gYW5pbWF0aW9uLXBsYXkoJGFuaW1hdGlvbi1wbGF5KSB7XG4gICAgLXdlYmtpdC1hbmltYXRpb24tcGxheS1zdGF0ZSA6ICRhbmltYXRpb24tcGxheTtcbiAgICAgICAtbW96LWFuaW1hdGlvbi1wbGF5LXN0YXRlIDogJGFuaW1hdGlvbi1wbGF5O1xuICAgICAgICAgICAgYW5pbWF0aW9uLXBsYXktc3RhdGUgOiAkYW5pbWF0aW9uLXBsYXk7XG59XG5cbi8vIEJhY2tmYWNlIHZpc2liaWxpdHlcbi8vIFByZXZlbnQgYnJvd3NlcnMgZnJvbSBmbGlja2VyaW5nIHdoZW4gdXNpbmcgQ1NTIDNEIHRyYW5zZm9ybXMuXG4vLyBEZWZhdWx0IHZhbHVlIGlzIGB2aXNpYmxlYCwgYnV0IGNhbiBiZSBjaGFuZ2VkIHRvIGBoaWRkZW5gXG5AbWl4aW4gYmFja2ZhY2UtdmlzaWJpbGl0eSgkdmlzaWJpbGl0eSkge1xuICAgIC13ZWJraXQtYmFja2ZhY2UtdmlzaWJpbGl0eSA6ICR2aXNpYmlsaXR5O1xuICAgICAgIC1tb3otYmFja2ZhY2UtdmlzaWJpbGl0eSA6ICR2aXNpYmlsaXR5O1xuICAgICAgICAgICAgYmFja2ZhY2UtdmlzaWJpbGl0eSA6ICR2aXNpYmlsaXR5O1xufVxuXG4vLyBCb3ggc2l6aW5nXG5AbWl4aW4gYm94LXNpemluZygkYm94bW9kZWwpIHtcbiAgICAtd2Via2l0LWJveC1zaXppbmcgOiAkYm94bW9kZWw7XG4gICAgICAgLW1vei1ib3gtc2l6aW5nIDogJGJveG1vZGVsO1xuICAgICAgICAgICAgYm94LXNpemluZyA6ICRib3htb2RlbDtcbn1cblxuLy8gVXNlciBzZWxlY3Rcbi8vIEZvciBzZWxlY3RpbmcgdGV4dCBvbiB0aGUgcGFnZVxuQG1peGluIHVzZXItc2VsZWN0KCRzZWxlY3QpIHtcbiAgICAtd2Via2l0LXVzZXItc2VsZWN0IDogJHNlbGVjdDtcbiAgICAgICAtbW96LXVzZXItc2VsZWN0IDogJHNlbGVjdDtcbiAgICAgICAgLW1zLXVzZXItc2VsZWN0IDogJHNlbGVjdDsgLy8gSUUxMCtcbiAgICAgICAgICAgIHVzZXItc2VsZWN0IDogJHNlbGVjdDtcblxuICAgIC13ZWJraXQtdG91Y2gtY2FsbG91dCA6ICRzZWxlY3Q7XG4gICAgICAgICAtby11c2VyLXNlbGVjdCA6ICRzZWxlY3Q7XG59XG5cbi8vIFJlc2l6ZSBhbnl0aGluZ1xuQG1peGluIHJlc2l6YWJsZSgkZGlyZWN0aW9uKSB7XG4gICAgb3ZlcmZsb3cgOiBhdXRvOyAvLyBTYWZhcmkgZml4XG5cbiAgICByZXNpemUgOiAkZGlyZWN0aW9uOyAvLyBPcHRpb25zOiBob3Jpem9udGFsLCB2ZXJ0aWNhbCwgYm90aFxufVxuXG4vLyBDU1MzIENvbnRlbnQgQ29sdW1uc1xuQG1peGluIGNvbnRlbnQtY29sdW1ucygkY29sdW1uLWNvdW50LCAkY29sdW1uLWdhcCA6ICRncmlkLWd1dHRlci13aWR0aCkge1xuICAgIC13ZWJraXQtY29sdW1uLWNvdW50IDogJGNvbHVtbi1jb3VudDtcbiAgICAgICAtbW96LWNvbHVtbi1jb3VudCA6ICRjb2x1bW4tY291bnQ7XG4gICAgICAgICAgICBjb2x1bW4tY291bnQgOiAkY29sdW1uLWNvdW50O1xuICAgIC13ZWJraXQtY29sdW1uLWdhcCA6ICRjb2x1bW4tZ2FwO1xuICAgICAgIC1tb3otY29sdW1uLWdhcCA6ICRjb2x1bW4tZ2FwO1xuICAgICAgICAgICAgY29sdW1uLWdhcCA6ICRjb2x1bW4tZ2FwO1xufVxuXG4vLyBPcHRpb25hbCBoeXBoZW5hdGlvblxuQG1peGluIGh5cGhlbnMoJG1vZGUgOiBhdXRvKSB7XG4gICAgd29yZC13cmFwIDogYnJlYWstd29yZDtcbiAgICAtd2Via2l0LWh5cGhlbnMgOiAkbW9kZTtcbiAgICAgICAtbW96LWh5cGhlbnMgOiAkbW9kZTtcbiAgICAgICAgICAgIGh5cGhlbnMgOiAkbW9kZTtcblxuICAgICAgICAtbXMtaHlwaGVucyA6ICRtb2RlOyAvLyBJRTEwK1xuICAgICAgICAgLW8taHlwaGVucyA6ICRtb2RlO1xufVxuXG4vLyBPcGFjaXR5XG5AbWl4aW4gb3BhY2l0eSgkb3BhY2l0eSkge1xuICAgIG9wYWNpdHkgOiAkb3BhY2l0eTtcbiAgICAvLyBJRTggZmlsdGVyXG5cbiAgICAkb3BhY2l0eS1pZSA6ICgkb3BhY2l0eSAqIDEwMCk7XG4gICAgZmlsdGVyIDogI3thbHBoYShvcGFjaXR5PSRvcGFjaXR5LWllKX07XG59XG5cblxuXG4vLyBHUkFESUVOVFNcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cblxuXG4vLyBIb3Jpem9udGFsIGdyYWRpZW50LCBmcm9tIGxlZnQgdG8gcmlnaHRcbi8vXG4vLyBDcmVhdGVzIHR3byBjb2xvciBzdG9wcywgc3RhcnQgYW5kIGVuZCwgYnkgc3BlY2lmeWluZyBhIGNvbG9yIGFuZCBwb3NpdGlvbiBmb3IgZWFjaCBjb2xvciBzdG9wLlxuLy8gQ29sb3Igc3RvcHMgYXJlIG5vdCBhdmFpbGFibGUgaW4gSUU5IGFuZCBiZWxvdy5cbkBtaXhpbiBncmFkaWVudC1ob3Jpem9udGFsKCRzdGFydC1jb2xvciA6ICM1NTU1NTUsICRlbmQtY29sb3I6ICMzMzMzMzMsICRzdGFydC1wZXJjZW50OiAwJSwgJGVuZC1wZXJjZW50OiAxMDAlKSB7XG4gICAgYmFja2dyb3VuZC1pbWFnZSA6IC13ZWJraXQtZ3JhZGllbnQobGluZWFyLCAkc3RhcnQtcGVyY2VudCB0b3AsICRlbmQtcGVyY2VudCB0b3AsIGZyb20oJHN0YXJ0LWNvbG9yKSwgdG8oJGVuZC1jb2xvcikpOyAvLyBTYWZhcmkgNCssIENocm9tZSAyK1xuICAgIGJhY2tncm91bmQtaW1hZ2UgOiAtd2Via2l0LWxpbmVhci1ncmFkaWVudChsZWZ0LCBjb2xvci1zdG9wKCRzdGFydC1jb2xvciAkc3RhcnQtcGVyY2VudCksIGNvbG9yLXN0b3AoJGVuZC1jb2xvciAkZW5kLXBlcmNlbnQpKTsgLy8gU2FmYXJpIDUuMSssIENocm9tZSAxMCtcbiAgICBiYWNrZ3JvdW5kLWltYWdlIDogICAgLW1vei1saW5lYXItZ3JhZGllbnQobGVmdCwgJHN0YXJ0LWNvbG9yICRzdGFydC1wZXJjZW50LCAkZW5kLWNvbG9yICRlbmQtcGVyY2VudCk7IC8vIEZGIDMuNitcbiAgICBiYWNrZ3JvdW5kLWltYWdlIDogICAgICAgICBsaW5lYXItZ3JhZGllbnQodG8gcmlnaHQsICRzdGFydC1jb2xvciAkc3RhcnQtcGVyY2VudCwgJGVuZC1jb2xvciAkZW5kLXBlcmNlbnQpOyAvLyBTdGFuZGFyZCwgSUUxMFxuICAgIGJhY2tncm91bmQtcmVwZWF0IDogcmVwZWF0LXg7XG5cbiAgICBmaWx0ZXIgOiBwcm9naWQ6RFhJbWFnZVRyYW5zZm9ybS5NaWNyb3NvZnQuZ3JhZGllbnQoc3RhcnRDb2xvcnN0cj0nI3tpZS1oZXgtc3RyKCRzdGFydC1jb2xvcil9JywgZW5kQ29sb3JzdHI9JyN7aWUtaGV4LXN0cigkZW5kLWNvbG9yKX0nLCBHcmFkaWVudFR5cGU9MSk7IC8vIElFOSBhbmQgZG93blxufVxuXG4vLyBWZXJ0aWNhbCBncmFkaWVudCwgZnJvbSB0b3AgdG8gYm90dG9tXG4vL1xuLy8gQ3JlYXRlcyB0d28gY29sb3Igc3RvcHMsIHN0YXJ0IGFuZCBlbmQsIGJ5IHNwZWNpZnlpbmcgYSBjb2xvciBhbmQgcG9zaXRpb24gZm9yIGVhY2ggY29sb3Igc3RvcC5cbi8vIENvbG9yIHN0b3BzIGFyZSBub3QgYXZhaWxhYmxlIGluIElFOSBhbmQgYmVsb3cuXG5AbWl4aW4gZ3JhZGllbnQtdmVydGljYWwoJHN0YXJ0LWNvbG9yIDogIzU1NTU1NSwgJGVuZC1jb2xvcjogIzMzMzMzMywgJHN0YXJ0LXBlcmNlbnQ6IDAlLCAkZW5kLXBlcmNlbnQ6IDEwMCUpIHtcbiAgICBiYWNrZ3JvdW5kLWltYWdlIDogLXdlYmtpdC1ncmFkaWVudChsaW5lYXIsIGxlZnQgJHN0YXJ0LXBlcmNlbnQsIGxlZnQgJGVuZC1wZXJjZW50LCBmcm9tKCRzdGFydC1jb2xvciksIHRvKCRlbmQtY29sb3IpKTsgLy8gU2FmYXJpIDQrLCBDaHJvbWUgMitcbiAgICBiYWNrZ3JvdW5kLWltYWdlIDogLXdlYmtpdC1saW5lYXItZ3JhZGllbnQodG9wLCAkc3RhcnQtY29sb3IgJHN0YXJ0LXBlcmNlbnQsICRlbmQtY29sb3IgJGVuZC1wZXJjZW50KTsgLy8gU2FmYXJpIDUuMSssIENocm9tZSAxMCtcbiAgICBiYWNrZ3JvdW5kLWltYWdlIDogICAgLW1vei1saW5lYXItZ3JhZGllbnQodG9wLCAkc3RhcnQtY29sb3IgJHN0YXJ0LXBlcmNlbnQsICRlbmQtY29sb3IgJGVuZC1wZXJjZW50KTsgLy8gRkYgMy42K1xuICAgIGJhY2tncm91bmQtaW1hZ2UgOiAgICAgICAgIGxpbmVhci1ncmFkaWVudCh0byBib3R0b20sICRzdGFydC1jb2xvciAkc3RhcnQtcGVyY2VudCwgJGVuZC1jb2xvciAkZW5kLXBlcmNlbnQpOyAvLyBTdGFuZGFyZCwgSUUxMFxuICAgIGJhY2tncm91bmQtcmVwZWF0IDogcmVwZWF0LXg7XG5cbiAgICBmaWx0ZXIgOiBwcm9naWQ6RFhJbWFnZVRyYW5zZm9ybS5NaWNyb3NvZnQuZ3JhZGllbnQoc3RhcnRDb2xvcnN0cj0nI3tpZS1oZXgtc3RyKCRzdGFydC1jb2xvcil9JywgZW5kQ29sb3JzdHI9JyN7aWUtaGV4LXN0cigkZW5kLWNvbG9yKX0nLCBHcmFkaWVudFR5cGU9MCk7IC8vIElFOSBhbmQgZG93blxufVxuXG5AbWl4aW4gZ3JhZGllbnQtZGlyZWN0aW9uYWwoJHN0YXJ0LWNvbG9yIDogIzU1NTU1NSwgJGVuZC1jb2xvcjogIzMzMzMzMywgJGRlZzogNDVkZWcpIHtcbiAgICBiYWNrZ3JvdW5kLWltYWdlIDogLXdlYmtpdC1saW5lYXItZ3JhZGllbnQoJGRlZywgJHN0YXJ0LWNvbG9yLCAkZW5kLWNvbG9yKTsgLy8gU2FmYXJpIDUuMSssIENocm9tZSAxMCtcbiAgICBiYWNrZ3JvdW5kLWltYWdlIDogICAgLW1vei1saW5lYXItZ3JhZGllbnQoJGRlZywgJHN0YXJ0LWNvbG9yLCAkZW5kLWNvbG9yKTsgLy8gRkYgMy42K1xuICAgIGJhY2tncm91bmQtaW1hZ2UgOiAgICAgICAgIGxpbmVhci1ncmFkaWVudCgkZGVnLCAkc3RhcnQtY29sb3IsICRlbmQtY29sb3IpOyAvLyBTdGFuZGFyZCwgSUUxMFxuICAgIGJhY2tncm91bmQtcmVwZWF0IDogcmVwZWF0LXg7XG59XG5AbWl4aW4gZ3JhZGllbnQtaG9yaXpvbnRhbC10aHJlZS1jb2xvcnMoJHN0YXJ0LWNvbG9yIDogIzAwYjNlZSwgJG1pZC1jb2xvcjogIzdhNDNiNiwgJGNvbG9yLXN0b3A6IDUwJSwgJGVuZC1jb2xvcjogI2MzMzI1Zikge1xuICAgIGJhY2tncm91bmQtaW1hZ2UgOiAtd2Via2l0LWdyYWRpZW50KGxlZnQsIGxpbmVhciwgMCAwLCAwIDEwMCUsIGZyb20oJHN0YXJ0LWNvbG9yKSwgY29sb3Itc3RvcCgkY29sb3Itc3RvcCwgJG1pZC1jb2xvciksIHRvKCRlbmQtY29sb3IpKTtcbiAgICBiYWNrZ3JvdW5kLWltYWdlIDogLXdlYmtpdC1saW5lYXItZ3JhZGllbnQobGVmdCwgJHN0YXJ0LWNvbG9yLCAkbWlkLWNvbG9yICRjb2xvci1zdG9wLCAkZW5kLWNvbG9yKTtcbiAgICBiYWNrZ3JvdW5kLWltYWdlIDogICAgLW1vei1saW5lYXItZ3JhZGllbnQobGVmdCwgJHN0YXJ0LWNvbG9yLCAkbWlkLWNvbG9yICRjb2xvci1zdG9wLCAkZW5kLWNvbG9yKTtcbiAgICBiYWNrZ3JvdW5kLWltYWdlIDogICAgICAgICBsaW5lYXItZ3JhZGllbnQodG8gcmlnaHQsICRzdGFydC1jb2xvciwgJG1pZC1jb2xvciAkY29sb3Itc3RvcCwgJGVuZC1jb2xvcik7XG4gICAgYmFja2dyb3VuZC1yZXBlYXQgOiBuby1yZXBlYXQ7XG5cbiAgICBmaWx0ZXIgOiBwcm9naWQ6RFhJbWFnZVRyYW5zZm9ybS5NaWNyb3NvZnQuZ3JhZGllbnQoc3RhcnRDb2xvcnN0cj0nI3tpZS1oZXgtc3RyKCRzdGFydC1jb2xvcil9JywgZW5kQ29sb3JzdHI9JyN7aWUtaGV4LXN0cigkZW5kLWNvbG9yKX0nLCBHcmFkaWVudFR5cGU9MSk7IC8vIElFOSBhbmQgZG93biwgZ2V0cyBubyBjb2xvci1zdG9wIGF0IGFsbCBmb3IgcHJvcGVyIGZhbGxiYWNrXG59XG5AbWl4aW4gZ3JhZGllbnQtdmVydGljYWwtdGhyZWUtY29sb3JzKCRzdGFydC1jb2xvciA6ICMwMGIzZWUsICRtaWQtY29sb3I6ICM3YTQzYjYsICRjb2xvci1zdG9wOiA1MCUsICRlbmQtY29sb3I6ICNjMzMyNWYpIHtcbiAgICBiYWNrZ3JvdW5kLWltYWdlIDogLXdlYmtpdC1ncmFkaWVudChsaW5lYXIsIDAgMCwgMCAxMDAlLCBmcm9tKCRzdGFydC1jb2xvciksIGNvbG9yLXN0b3AoJGNvbG9yLXN0b3AsICRtaWQtY29sb3IpLCB0bygkZW5kLWNvbG9yKSk7XG4gICAgYmFja2dyb3VuZC1pbWFnZSA6IC13ZWJraXQtbGluZWFyLWdyYWRpZW50KCRzdGFydC1jb2xvciwgJG1pZC1jb2xvciAkY29sb3Itc3RvcCwgJGVuZC1jb2xvcik7XG4gICAgYmFja2dyb3VuZC1pbWFnZSA6ICAgIC1tb3otbGluZWFyLWdyYWRpZW50KHRvcCwgJHN0YXJ0LWNvbG9yLCAkbWlkLWNvbG9yICRjb2xvci1zdG9wLCAkZW5kLWNvbG9yKTtcbiAgICBiYWNrZ3JvdW5kLWltYWdlIDogICAgICAgICBsaW5lYXItZ3JhZGllbnQoJHN0YXJ0LWNvbG9yLCAkbWlkLWNvbG9yICRjb2xvci1zdG9wLCAkZW5kLWNvbG9yKTtcbiAgICBiYWNrZ3JvdW5kLXJlcGVhdCA6IG5vLXJlcGVhdDtcblxuICAgIGZpbHRlciA6IHByb2dpZDpEWEltYWdlVHJhbnNmb3JtLk1pY3Jvc29mdC5ncmFkaWVudChzdGFydENvbG9yc3RyPScje2llLWhleC1zdHIoJHN0YXJ0LWNvbG9yKX0nLCBlbmRDb2xvcnN0cj0nI3tpZS1oZXgtc3RyKCRlbmQtY29sb3IpfScsIEdyYWRpZW50VHlwZT0wKTsgLy8gSUU5IGFuZCBkb3duLCBnZXRzIG5vIGNvbG9yLXN0b3AgYXQgYWxsIGZvciBwcm9wZXIgZmFsbGJhY2tcbn1cbkBtaXhpbiBncmFkaWVudC1yYWRpYWwoJGlubmVyLWNvbG9yIDogIzU1NTU1NSwgJG91dGVyLWNvbG9yOiAjMzMzMzMzKSB7XG4gICAgYmFja2dyb3VuZC1pbWFnZSA6IC13ZWJraXQtZ3JhZGllbnQocmFkaWFsLCBjZW50ZXIgY2VudGVyLCAwLCBjZW50ZXIgY2VudGVyLCA0NjAsIGZyb20oJGlubmVyLWNvbG9yKSwgdG8oJG91dGVyLWNvbG9yKSk7XG4gICAgYmFja2dyb3VuZC1pbWFnZSA6IC13ZWJraXQtcmFkaWFsLWdyYWRpZW50KGNpcmNsZSwgJGlubmVyLWNvbG9yLCAkb3V0ZXItY29sb3IpO1xuICAgIGJhY2tncm91bmQtaW1hZ2UgOiAgICAtbW96LXJhZGlhbC1ncmFkaWVudChjaXJjbGUsICRpbm5lci1jb2xvciwgJG91dGVyLWNvbG9yKTtcbiAgICBiYWNrZ3JvdW5kLWltYWdlIDogICAgICAgICByYWRpYWwtZ3JhZGllbnQoY2lyY2xlLCAkaW5uZXItY29sb3IsICRvdXRlci1jb2xvcik7XG4gICAgYmFja2dyb3VuZC1yZXBlYXQgOiBuby1yZXBlYXQ7XG59XG5AbWl4aW4gZ3JhZGllbnQtc3RyaXBlZCgkY29sb3IgOiByZ2JhKDI1NSwyNTUsMjU1LC4xNSksICRhbmdsZTogNDVkZWcpIHtcbiAgICBiYWNrZ3JvdW5kLWltYWdlIDogLXdlYmtpdC1ncmFkaWVudChsaW5lYXIsIDAgMTAwJSwgMTAwJSAwLCBjb2xvci1zdG9wKC4yNSwgJGNvbG9yKSwgY29sb3Itc3RvcCguMjUsIHRyYW5zcGFyZW50KSwgY29sb3Itc3RvcCguNSwgdHJhbnNwYXJlbnQpLCBjb2xvci1zdG9wKC41LCAkY29sb3IpLCBjb2xvci1zdG9wKC43NSwgJGNvbG9yKSwgY29sb3Itc3RvcCguNzUsIHRyYW5zcGFyZW50KSwgdG8odHJhbnNwYXJlbnQpKTtcbiAgICBiYWNrZ3JvdW5kLWltYWdlIDogLXdlYmtpdC1saW5lYXItZ3JhZGllbnQoJGFuZ2xlLCAkY29sb3IgMjUlLCB0cmFuc3BhcmVudCAyNSUsIHRyYW5zcGFyZW50IDUwJSwgJGNvbG9yIDUwJSwgJGNvbG9yIDc1JSwgdHJhbnNwYXJlbnQgNzUlLCB0cmFuc3BhcmVudCk7XG4gICAgYmFja2dyb3VuZC1pbWFnZSA6ICAgIC1tb3otbGluZWFyLWdyYWRpZW50KCRhbmdsZSwgJGNvbG9yIDI1JSwgdHJhbnNwYXJlbnQgMjUlLCB0cmFuc3BhcmVudCA1MCUsICRjb2xvciA1MCUsICRjb2xvciA3NSUsIHRyYW5zcGFyZW50IDc1JSwgdHJhbnNwYXJlbnQpO1xuICAgIGJhY2tncm91bmQtaW1hZ2UgOiAgICAgICAgIGxpbmVhci1ncmFkaWVudCgkYW5nbGUsICRjb2xvciAyNSUsIHRyYW5zcGFyZW50IDI1JSwgdHJhbnNwYXJlbnQgNTAlLCAkY29sb3IgNTAlLCAkY29sb3IgNzUlLCB0cmFuc3BhcmVudCA3NSUsIHRyYW5zcGFyZW50KTtcbn1cblxuLy8gUmVzZXQgZmlsdGVycyBmb3IgSUVcbi8vXG4vLyBXaGVuIHlvdSBuZWVkIHRvIHJlbW92ZSBhIGdyYWRpZW50IGJhY2tncm91bmQsIGRvIG5vdCBmb3JnZXQgdG8gdXNlIHRoaXMgdG8gcmVzZXRcbi8vIHRoZSBJRSBmaWx0ZXIgZm9yIElFOSBhbmQgYmVsb3cuXG5AbWl4aW4gcmVzZXQtZmlsdGVyKCkge1xuICAgIGZpbHRlciA6IHByb2dpZDpEWEltYWdlVHJhbnNmb3JtLk1pY3Jvc29mdC5ncmFkaWVudChlbmFibGVkID0gZmFsc2UpO1xufVxuXG5cblxuLy8gUmV0aW5hIGltYWdlc1xuLy9cbi8vIFNob3J0IHJldGluYSBtaXhpbiBmb3Igc2V0dGluZyBiYWNrZ3JvdW5kLWltYWdlIGFuZCAtc2l6ZVxuXG5AbWl4aW4gaW1nLXJldGluYSgkZmlsZS0xeCwgJGZpbGUtMngsICR3aWR0aC0xeCwgJGhlaWdodC0xeCkge1xuICAgIGJhY2tncm91bmQtaW1hZ2UgOiB1cmwoXCIjeyRmaWxlLTF4fVwiKTtcblxuICAgIEBtZWRpYVxuICAgIG9ubHkgc2NyZWVuIGFuZCAoLXdlYmtpdC1taW4tZGV2aWNlLXBpeGVsLXJhdGlvOiAyKSxcbiAgICBvbmx5IHNjcmVlbiBhbmQgKCAgIG1pbi0tbW96LWRldmljZS1waXhlbC1yYXRpbzogMiksXG4gICAgb25seSBzY3JlZW4gYW5kICggICAgIC1vLW1pbi1kZXZpY2UtcGl4ZWwtcmF0aW86IDIvMSksXG4gICAgb25seSBzY3JlZW4gYW5kICggICAgICAgIG1pbi1kZXZpY2UtcGl4ZWwtcmF0aW86IDIpLFxuICAgIG9ubHkgc2NyZWVuIGFuZCAoICAgICAgICAgICAgICAgIG1pbi1yZXNvbHV0aW9uOiAxOTJkcGkpLFxuICAgIG9ubHkgc2NyZWVuIGFuZCAoICAgICAgICAgICAgICAgIG1pbi1yZXNvbHV0aW9uOiAyZHBweCkge1xuICAgICAgICBiYWNrZ3JvdW5kLWltYWdlIDogdXJsKFwiI3skZmlsZS0yeH1cIik7XG4gICAgICAgIGJhY2tncm91bmQtc2l6ZSA6ICR3aWR0aC0xeCAkaGVpZ2h0LTF4O1xuICAgIH1cbn1cblxuXG4vLyBSZXNwb25zaXZlIGltYWdlXG4vL1xuLy8gS2VlcCBpbWFnZXMgZnJvbSBzY2FsaW5nIGJleW9uZCB0aGUgd2lkdGggb2YgdGhlaXIgcGFyZW50cy5cblxuQG1peGluIGltZy1yZXNwb25zaXZlKCRkaXNwbGF5IDogYmxvY2spIHtcbiAgICBkaXNwbGF5IDogJGRpc3BsYXk7XG5cbiAgICBtYXgtd2lkdGggOiAxMDAlOyAvLyBQYXJ0IDE6IFNldCBhIG1heGltdW0gcmVsYXRpdmUgdG8gdGhlIHBhcmVudFxuICAgIGhlaWdodCA6IGF1dG87IC8vIFBhcnQgMjogU2NhbGUgdGhlIGhlaWdodCBhY2NvcmRpbmcgdG8gdGhlIHdpZHRoLCBvdGhlcndpc2UgeW91IGdldCBzdHJldGNoaW5nXG59XG5cblxuQG1peGluIGJhY2tncm91bmQtc2l6ZSgkdmFsdWUpIHtcbiAgICAtd2Via2l0LWJhY2tncm91bmQtc2l6ZSA6ICR2YWx1ZTtcbiAgICAgICAtbW96LWJhY2tncm91bmQtc2l6ZSA6ICR2YWx1ZTtcbiAgICAgICAgIC1vLWJhY2tncm91bmQtc2l6ZSA6ICR2YWx1ZTtcbiAgICAgICAgICAgIGJhY2tncm91bmQtc2l6ZSA6ICR2YWx1ZTtcbn1cblxuLy8gQ09NUE9ORU5UIE1JWElOU1xuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuLy8gSG9yaXpvbnRhbCBkaXZpZGVyc1xuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuLy8gRGl2aWRlcnMgKGJhc2ljYWxseSBhbiBocikgd2l0aGluIGRyb3Bkb3ducyBhbmQgbmF2IGxpc3RzXG5AbWl4aW4gbmF2LWRpdmlkZXIoJGNvbG9yIDogI2U1ZTVlNSkge1xuICAgIG92ZXJmbG93IDogaGlkZGVuO1xuXG4gICAgaGVpZ2h0IDogMXB4O1xuICAgIG1hcmdpbiA6ICgoJGxpbmUtaGVpZ2h0LWNvbXB1dGVkIC8gMikgLSAxKSAwO1xuXG4gICAgYmFja2dyb3VuZC1jb2xvciA6ICRjb2xvcjtcbn1cblxuLy8gUGFuZWxzXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5AbWl4aW4gcGFuZWwtdmFyaWFudCgkYm9yZGVyLCAkaGVhZGluZy10ZXh0LWNvbG9yLCAkaGVhZGluZy1iZy1jb2xvciwgJGhlYWRpbmctYm9yZGVyKSB7XG4gICAgYm9yZGVyLWNvbG9yIDogJGJvcmRlcjtcblxuICAgICYgPiAucGFuZWwtaGVhZGluZyB7XG4gICAgICAgIGNvbG9yIDogJGhlYWRpbmctdGV4dC1jb2xvcjtcbiAgICAgICAgYm9yZGVyLWNvbG9yIDogJGhlYWRpbmctYm9yZGVyO1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yIDogJGhlYWRpbmctYmctY29sb3I7XG5cbiAgICAgICAgICsgLnBhbmVsLWNvbGxhcHNlIC5wYW5lbC1ib2R5IHtcbiAgICAgICAgICAgIGJvcmRlci10b3AtY29sb3IgOiAkYm9yZGVyO1xuICAgICAgICB9XG4gICAgICAgICYgPiAuZHJvcGRvd24gLmNhcmV0IHtcbiAgICAgICAgICAgIGJvcmRlci1jb2xvciA6ICRoZWFkaW5nLXRleHQtY29sb3IgdHJhbnNwYXJlbnQ7XG4gICAgICAgIH1cbiAgICB9XG4gICAgJiA+IC5wYW5lbC1mb290ZXIge1xuICAgICAgICAgKyAucGFuZWwtY29sbGFwc2UgLnBhbmVsLWJvZHkge1xuICAgICAgICAgICAgYm9yZGVyLWJvdHRvbS1jb2xvciA6ICRib3JkZXI7XG4gICAgICAgIH1cbiAgICB9XG59XG5cbi8vIEFsZXJ0c1xuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuQG1peGluIGFsZXJ0LXZhcmlhbnQoJGJhY2tncm91bmQsICRib3JkZXIsICR0ZXh0LWNvbG9yKSB7XG4gICAgY29sb3IgOiAkdGV4dC1jb2xvcjtcbiAgICBib3JkZXItY29sb3IgOiAkYm9yZGVyO1xuICAgIGJhY2tncm91bmQtY29sb3IgOiAkYmFja2dyb3VuZDtcblxuICAgIGhyIHtcbiAgICAgICAgYm9yZGVyLXRvcC1jb2xvciA6IGRhcmtlbigkYm9yZGVyLCA1JSk7XG4gICAgfVxuICAgIC5hbGVydC1saW5rIHtcbiAgICAgICAgY29sb3IgOiBkYXJrZW4oJHRleHQtY29sb3IsIDEwJSk7XG4gICAgfVxufVxuXG4vLyBUYWJsZXNcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbkBtaXhpbiB0YWJsZS1yb3ctdmFyaWFudCgkc3RhdGUsICRiYWNrZ3JvdW5kLCAkYm9yZGVyKSB7XG4gICAgLy8gRXhhY3Qgc2VsZWN0b3JzIGJlbG93IHJlcXVpcmVkIHRvIG92ZXJyaWRlIGAudGFibGUtc3RyaXBlZGAgYW5kIHByZXZlbnRcbiAgICAvLyBpbmhlcml0YW5jZSB0byBuZXN0ZWQgdGFibGVzLlxuICAgIC50YWJsZSA+IHRoZWFkID4gdHIsXG4gICAgLnRhYmxlID4gdGJvZHkgPiB0cixcbiAgICAudGFibGUgPiB0Zm9vdCA+IHRyIHtcbiAgICAgICAgID4gdGQuI3skc3RhdGV9LFxuICAgICAgICAgPiB0aC4jeyRzdGF0ZX0sXG4gICAgICAgICYuI3skc3RhdGV9ID4gdGQsXG4gICAgICAgICYuI3skc3RhdGV9ID4gdGgge1xuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvciA6ICRiYWNrZ3JvdW5kO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLy8gSG92ZXIgc3RhdGVzIGZvciBgLnRhYmxlLWhvdmVyYFxuICAgIC8vIE5vdGU6IHRoaXMgaXMgbm90IGF2YWlsYWJsZSBmb3IgY2VsbHMgb3Igcm93cyB3aXRoaW4gYHRoZWFkYCBvciBgdGZvb3RgLlxuICAgIC50YWJsZS1ob3ZlciA+IHRib2R5ID4gdHIge1xuICAgICAgICAgPiB0ZC4jeyRzdGF0ZX06aG92ZXIsXG4gICAgICAgICA+IHRoLiN7JHN0YXRlfTpob3ZlcixcbiAgICAgICAgJi4jeyRzdGF0ZX06aG92ZXIgPiB0ZCxcbiAgICAgICAgJi4jeyRzdGF0ZX06aG92ZXIgPiB0aCB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yIDogZGFya2VuKCRiYWNrZ3JvdW5kLCA1JSk7XG4gICAgICAgIH1cbiAgICB9XG59XG5cbi8vIEJ1dHRvbiB2YXJpYW50c1xuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuLy8gRWFzaWx5IHB1bXAgb3V0IGRlZmF1bHQgc3R5bGVzLCBhcyB3ZWxsIGFzIDpob3ZlciwgOmZvY3VzLCA6YWN0aXZlLFxuLy8gYW5kIGRpc2FibGVkIG9wdGlvbnMgZm9yIGFsbCBidXR0b25zXG5AbWl4aW4gYnV0dG9uLXZhcmlhbnQoJGNvbG9yLCAkYmFja2dyb3VuZCwgJGJvcmRlcikge1xuICAgIGNvbG9yIDogJGNvbG9yO1xuICAgIGJvcmRlci1jb2xvciA6ICRib3JkZXI7XG4gICAgYmFja2dyb3VuZC1jb2xvciA6ICRiYWNrZ3JvdW5kO1xuXG4gICAgJjpob3ZlcixcbiAgICAmOmZvY3VzLFxuICAgICY6YWN0aXZlLFxuICAgICYuYWN0aXZlIHtcbiAgICAgICAgY29sb3IgOiAkY29sb3I7XG4gICAgICAgIGJvcmRlci1jb2xvciA6IGRhcmtlbigkYm9yZGVyLCAxMiUpO1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yIDogZGFya2VuKCRiYWNrZ3JvdW5kLCA4JSk7XG4gICAgfVxuICAgIC5vcGVuICYge1xuICAgICAgICAmLmRyb3Bkb3duLXRvZ2dsZSB7XG4gICAgICAgICAgICBjb2xvciA6ICRjb2xvcjtcbiAgICAgICAgICAgIGJvcmRlci1jb2xvciA6IGRhcmtlbigkYm9yZGVyLCAxMiUpO1xuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvciA6IGRhcmtlbigkYmFja2dyb3VuZCwgOCUpO1xuICAgICAgICB9XG4gICAgfVxuICAgICY6YWN0aXZlLFxuICAgICYuYWN0aXZlIHtcbiAgICAgICAgYmFja2dyb3VuZC1pbWFnZSA6IG5vbmU7XG4gICAgfVxuICAgIC5vcGVuICYge1xuICAgICAgICAmLmRyb3Bkb3duLXRvZ2dsZSB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWltYWdlIDogbm9uZTtcbiAgICAgICAgfVxuICAgIH1cbiAgICAmLmRpc2FibGVkLFxuICAgICZbZGlzYWJsZWRdLFxuICAgIGZpZWxkc2V0W2Rpc2FibGVkXSAmIHtcbiAgICAgICAgJixcbiAgICAgICAgJjpob3ZlcixcbiAgICAgICAgJjpmb2N1cyxcbiAgICAgICAgJjphY3RpdmUsXG4gICAgICAgICYuYWN0aXZlIHtcbiAgICAgICAgICAgIGJvcmRlci1jb2xvciA6ICRib3JkZXI7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yIDogJGJhY2tncm91bmQ7XG4gICAgICAgIH1cbiAgICB9XG59XG5cbi8vIEJ1dHRvbiBzaXplc1xuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuQG1peGluIGJ1dHRvbi1zaXplKCRwYWRkaW5nLXZlcnRpY2FsLCAkcGFkZGluZy1ob3Jpem9udGFsLCAkZm9udC1zaXplLCAkbGluZS1oZWlnaHQsICRib3JkZXItcmFkaXVzKSB7XG4gICAgZm9udC1zaXplIDogJGZvbnQtc2l6ZTtcbiAgICBsaW5lLWhlaWdodCA6ICRsaW5lLWhlaWdodDtcblxuICAgIHBhZGRpbmcgOiAkcGFkZGluZy12ZXJ0aWNhbCAkcGFkZGluZy1ob3Jpem9udGFsO1xuXG4gICAgYm9yZGVyLXJhZGl1cyA6ICRib3JkZXItcmFkaXVzO1xufVxuXG4vLyBQYWdpbmF0aW9uXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5AbWl4aW4gcGFnaW5hdGlvbi1zaXplKCRwYWRkaW5nLXZlcnRpY2FsLCAkcGFkZGluZy1ob3Jpem9udGFsLCAkZm9udC1zaXplLCAkYm9yZGVyLXJhZGl1cykge1xuICAgICA+IGxpIHtcbiAgICAgICAgID4gYSxcbiAgICAgICAgID4gc3BhbiB7XG4gICAgICAgICAgICBmb250LXNpemUgOiAkZm9udC1zaXplO1xuXG4gICAgICAgICAgICBwYWRkaW5nIDogJHBhZGRpbmctdmVydGljYWwgJHBhZGRpbmctaG9yaXpvbnRhbDtcbiAgICAgICAgfVxuICAgICAgICAmOmZpcnN0LWNoaWxkIHtcbiAgICAgICAgICAgICA+IGEsXG4gICAgICAgICAgICAgPiBzcGFuIHtcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBib3JkZXItbGVmdC1yYWRpdXMoJGJvcmRlci1yYWRpdXMpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgICY6bGFzdC1jaGlsZCB7XG4gICAgICAgICAgICAgPiBhLFxuICAgICAgICAgICAgID4gc3BhbiB7XG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgYm9yZGVyLXJpZ2h0LXJhZGl1cygkYm9yZGVyLXJhZGl1cyk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG59XG5cbi8vIExhYmVsc1xuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuQG1peGluIGxhYmVsLXZhcmlhbnQoJGNvbG9yKSB7XG4gICAgYmFja2dyb3VuZC1jb2xvciA6ICRjb2xvcjtcbiAgICAmW2hyZWZdIHtcbiAgICAgICAgJjpob3ZlcixcbiAgICAgICAgJjpmb2N1cyB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yIDogZGFya2VuKCRjb2xvciwgMTAlKTtcbiAgICAgICAgfVxuICAgIH1cbn1cblxuLy8gTmF2YmFyIHZlcnRpY2FsIGFsaWduXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4vLyBWZXJ0aWNhbGx5IGNlbnRlciBlbGVtZW50cyBpbiB0aGUgbmF2YmFyLlxuLy8gRXhhbXBsZTogYW4gZWxlbWVudCBoYXMgYSBoZWlnaHQgb2YgMzBweCwgc28gd3JpdGUgb3V0IGAubmF2YmFyLXZlcnRpY2FsLWFsaWduKDMwcHgpO2AgdG8gY2FsY3VsYXRlIHRoZSBhcHByb3ByaWF0ZSB0b3AgbWFyZ2luLlxuQG1peGluIG5hdmJhci12ZXJ0aWNhbC1hbGlnbigkZWxlbWVudC1oZWlnaHQpIHtcbiAgICBtYXJnaW4tdG9wIDogKCgkbmF2YmFyLWhlaWdodCAtICRlbGVtZW50LWhlaWdodCkgLyAyKTtcbiAgICBtYXJnaW4tYm90dG9tIDogKCgkbmF2YmFyLWhlaWdodCAtICRlbGVtZW50LWhlaWdodCkgLyAyKTtcbn1cblxuLy8gUHJvZ3Jlc3MgYmFyc1xuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuQG1peGluIHByb2dyZXNzLWJhci12YXJpYW50KCRjb2xvcikge1xuICAgIGJhY2tncm91bmQtY29sb3IgOiAkY29sb3I7XG4gICAgLnByb2dyZXNzLXN0cmlwZWQgJiB7XG4gICAgICAgIEBpbmNsdWRlIGdyYWRpZW50LXN0cmlwZWQoKTtcbiAgICB9XG59XG5cbi8vIFJlc3BvbnNpdmUgdXRpbGl0aWVzXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4vLyBNb3JlIGVhc2lseSBpbmNsdWRlIGFsbCB0aGUgc3RhdGVzIGZvciByZXNwb25zaXZlLXV0aWxpdGllcy5sZXNzLlxuLy8gW2NvbnZlcnRlcl0gJHBhcmVudCBoYWNrXG5AbWl4aW4gcmVzcG9uc2l2ZS12aXNpYmlsaXR5KCRwYXJlbnQpIHtcbiAgICAjeyRwYXJlbnR9IHtcbiAgICAgICAgZGlzcGxheSA6IGJsb2NrICFpbXBvcnRhbnQ7XG4gICAgfVxuICAgIHRyI3skcGFyZW50fSB7XG4gICAgICAgIGRpc3BsYXkgOiB0YWJsZS1yb3cgIWltcG9ydGFudDtcbiAgICB9XG4gICAgdGgjeyRwYXJlbnR9LFxuICAgIHRkI3skcGFyZW50fSB7XG4gICAgICAgIGRpc3BsYXkgOiB0YWJsZS1jZWxsICFpbXBvcnRhbnQ7XG4gICAgfVxufVxuXG4vLyBbY29udmVydGVyXSAkcGFyZW50IGhhY2tcbkBtaXhpbiByZXNwb25zaXZlLWludmlzaWJpbGl0eSgkcGFyZW50KSB7XG4gICAgI3skcGFyZW50fSxcbiAgICB0ciN7JHBhcmVudH0sXG4gICAgdGgjeyRwYXJlbnR9LFxuICAgIHRkI3skcGFyZW50fSB7XG4gICAgICAgIGRpc3BsYXkgOiBub25lICFpbXBvcnRhbnQ7XG4gICAgfVxufVxuXG5cbi8vIEdyaWQgU3lzdGVtXG4vLyAtLS0tLS0tLS0tLVxuXG4vLyBDZW50ZXJlZCBjb250YWluZXIgZWxlbWVudFxuQG1peGluIGNvbnRhaW5lci1maXhlZCgpIHtcbiAgICBAaW5jbHVkZSBjbGVhcmZpeCgpO1xuXG4gICAgbWFyZ2luLXJpZ2h0IDogYXV0bztcbiAgICBtYXJnaW4tbGVmdCA6IGF1dG87XG4gICAgcGFkZGluZy1yaWdodCA6ICgkZ3JpZC1ndXR0ZXItd2lkdGggLyAyKTtcbiAgICBwYWRkaW5nLWxlZnQgOiAoJGdyaWQtZ3V0dGVyLXdpZHRoIC8gMik7XG59XG5cbi8vIENyZWF0ZXMgYSB3cmFwcGVyIGZvciBhIHNlcmllcyBvZiBjb2x1bW5zXG5AbWl4aW4gbWFrZS1yb3coJGd1dHRlciA6ICRncmlkLWd1dHRlci13aWR0aCkge1xuICAgIEBpbmNsdWRlIGNsZWFyZml4KCk7XG5cbiAgICBtYXJnaW4tcmlnaHQgOiAoJGd1dHRlciAvIC0yKTtcbiAgICBtYXJnaW4tbGVmdCA6ICgkZ3V0dGVyIC8gLTIpO1xufVxuXG4vLyBHZW5lcmF0ZSB0aGUgZXh0cmEgc21hbGwgY29sdW1uc1xuQG1peGluIG1ha2UteHMtY29sdW1uKCRjb2x1bW5zLCAkZ3V0dGVyIDogJGdyaWQtZ3V0dGVyLXdpZHRoKSB7XG4gICAgcG9zaXRpb24gOiByZWxhdGl2ZTtcblxuICAgIGZsb2F0IDogbGVmdDtcblxuICAgIHdpZHRoIDogcGVyY2VudGFnZSgoJGNvbHVtbnMgLyAkZ3JpZC1jb2x1bW5zKSk7XG4gICAgLy8gUHJldmVudCBjb2x1bW5zIGZyb20gY29sbGFwc2luZyB3aGVuIGVtcHR5XG4gICAgbWluLWhlaWdodCA6IDFweDtcbiAgICBwYWRkaW5nLXJpZ2h0IDogKCRndXR0ZXIgLyAyKTtcbiAgICAvLyBJbm5lciBndXR0ZXIgdmlhIHBhZGRpbmdcbiAgICBwYWRkaW5nLWxlZnQgOiAoJGd1dHRlciAvIDIpO1xufVxuXG4vLyBHZW5lcmF0ZSB0aGUgc21hbGwgY29sdW1uc1xuQG1peGluIG1ha2Utc20tY29sdW1uKCRjb2x1bW5zLCAkZ3V0dGVyIDogJGdyaWQtZ3V0dGVyLXdpZHRoKSB7XG4gICAgcG9zaXRpb24gOiByZWxhdGl2ZTtcbiAgICAvLyBQcmV2ZW50IGNvbHVtbnMgZnJvbSBjb2xsYXBzaW5nIHdoZW4gZW1wdHlcblxuICAgIG1pbi1oZWlnaHQgOiAxcHg7XG4gICAgcGFkZGluZy1yaWdodCA6ICgkZ3V0dGVyIC8gMik7XG4gICAgLy8gSW5uZXIgZ3V0dGVyIHZpYSBwYWRkaW5nXG4gICAgcGFkZGluZy1sZWZ0IDogKCRndXR0ZXIgLyAyKTtcblxuICAgIC8vIENhbGN1bGF0ZSB3aWR0aCBiYXNlZCBvbiBudW1iZXIgb2YgY29sdW1ucyBhdmFpbGFibGVcbiAgICBAbWVkaWEgKG1pbi13aWR0aDogJHNjcmVlbi1zbS1taW4pIHtcbiAgICAgICAgZmxvYXQgOiBsZWZ0O1xuXG4gICAgICAgIHdpZHRoIDogcGVyY2VudGFnZSgoJGNvbHVtbnMgLyAkZ3JpZC1jb2x1bW5zKSk7XG4gICAgfVxufVxuXG4vLyBHZW5lcmF0ZSB0aGUgc21hbGwgY29sdW1uIG9mZnNldHNcbkBtaXhpbiBtYWtlLXNtLWNvbHVtbi1vZmZzZXQoJGNvbHVtbnMpIHtcbiAgICBAbWVkaWEgKG1pbi13aWR0aDogJHNjcmVlbi1zbS1taW4pIHtcbiAgICAgICAgbWFyZ2luLWxlZnQgOiBwZXJjZW50YWdlKCgkY29sdW1ucyAvICRncmlkLWNvbHVtbnMpKTtcbiAgICB9XG59XG5AbWl4aW4gbWFrZS1zbS1jb2x1bW4tcHVzaCgkY29sdW1ucykge1xuICAgIEBtZWRpYSAobWluLXdpZHRoOiAkc2NyZWVuLXNtLW1pbikge1xuICAgICAgICBsZWZ0IDogcGVyY2VudGFnZSgoJGNvbHVtbnMgLyAkZ3JpZC1jb2x1bW5zKSk7XG4gICAgfVxufVxuQG1peGluIG1ha2Utc20tY29sdW1uLXB1bGwoJGNvbHVtbnMpIHtcbiAgICBAbWVkaWEgKG1pbi13aWR0aDogJHNjcmVlbi1zbS1taW4pIHtcbiAgICAgICAgcmlnaHQgOiBwZXJjZW50YWdlKCgkY29sdW1ucyAvICRncmlkLWNvbHVtbnMpKTtcbiAgICB9XG59XG5cbi8vIEdlbmVyYXRlIHRoZSBtZWRpdW0gY29sdW1uc1xuQG1peGluIG1ha2UtbWQtY29sdW1uKCRjb2x1bW5zLCAkZ3V0dGVyIDogJGdyaWQtZ3V0dGVyLXdpZHRoKSB7XG4gICAgcG9zaXRpb24gOiByZWxhdGl2ZTtcbiAgICAvLyBQcmV2ZW50IGNvbHVtbnMgZnJvbSBjb2xsYXBzaW5nIHdoZW4gZW1wdHlcblxuICAgIG1pbi1oZWlnaHQgOiAxcHg7XG4gICAgcGFkZGluZy1yaWdodCA6ICgkZ3V0dGVyIC8gMik7XG4gICAgLy8gSW5uZXIgZ3V0dGVyIHZpYSBwYWRkaW5nXG4gICAgcGFkZGluZy1sZWZ0IDogKCRndXR0ZXIgLyAyKTtcblxuICAgIC8vIENhbGN1bGF0ZSB3aWR0aCBiYXNlZCBvbiBudW1iZXIgb2YgY29sdW1ucyBhdmFpbGFibGVcbiAgICBAbWVkaWEgKG1pbi13aWR0aDogJHNjcmVlbi1tZC1taW4pIHtcbiAgICAgICAgZmxvYXQgOiBsZWZ0O1xuXG4gICAgICAgIHdpZHRoIDogcGVyY2VudGFnZSgoJGNvbHVtbnMgLyAkZ3JpZC1jb2x1bW5zKSk7XG4gICAgfVxufVxuXG4vLyBHZW5lcmF0ZSB0aGUgbWVkaXVtIGNvbHVtbiBvZmZzZXRzXG5AbWl4aW4gbWFrZS1tZC1jb2x1bW4tb2Zmc2V0KCRjb2x1bW5zKSB7XG4gICAgQG1lZGlhIChtaW4td2lkdGg6ICRzY3JlZW4tbWQtbWluKSB7XG4gICAgICAgIG1hcmdpbi1sZWZ0IDogcGVyY2VudGFnZSgoJGNvbHVtbnMgLyAkZ3JpZC1jb2x1bW5zKSk7XG4gICAgfVxufVxuQG1peGluIG1ha2UtbWQtY29sdW1uLXB1c2goJGNvbHVtbnMpIHtcbiAgICBAbWVkaWEgKG1pbi13aWR0aDogJHNjcmVlbi1tZCkge1xuICAgICAgICBsZWZ0IDogcGVyY2VudGFnZSgoJGNvbHVtbnMgLyAkZ3JpZC1jb2x1bW5zKSk7XG4gICAgfVxufVxuQG1peGluIG1ha2UtbWQtY29sdW1uLXB1bGwoJGNvbHVtbnMpIHtcbiAgICBAbWVkaWEgKG1pbi13aWR0aDogJHNjcmVlbi1tZC1taW4pIHtcbiAgICAgICAgcmlnaHQgOiBwZXJjZW50YWdlKCgkY29sdW1ucyAvICRncmlkLWNvbHVtbnMpKTtcbiAgICB9XG59XG5cbi8vIEdlbmVyYXRlIHRoZSBsYXJnZSBjb2x1bW5zXG5AbWl4aW4gbWFrZS1sZy1jb2x1bW4oJGNvbHVtbnMsICRndXR0ZXIgOiAkZ3JpZC1ndXR0ZXItd2lkdGgpIHtcbiAgICBwb3NpdGlvbiA6IHJlbGF0aXZlO1xuICAgIC8vIFByZXZlbnQgY29sdW1ucyBmcm9tIGNvbGxhcHNpbmcgd2hlbiBlbXB0eVxuXG4gICAgbWluLWhlaWdodCA6IDFweDtcbiAgICBwYWRkaW5nLXJpZ2h0IDogKCRndXR0ZXIgLyAyKTtcbiAgICAvLyBJbm5lciBndXR0ZXIgdmlhIHBhZGRpbmdcbiAgICBwYWRkaW5nLWxlZnQgOiAoJGd1dHRlciAvIDIpO1xuXG4gICAgLy8gQ2FsY3VsYXRlIHdpZHRoIGJhc2VkIG9uIG51bWJlciBvZiBjb2x1bW5zIGF2YWlsYWJsZVxuICAgIEBtZWRpYSAobWluLXdpZHRoOiAkc2NyZWVuLWxnLW1pbikge1xuICAgICAgICBmbG9hdCA6IGxlZnQ7XG5cbiAgICAgICAgd2lkdGggOiBwZXJjZW50YWdlKCgkY29sdW1ucyAvICRncmlkLWNvbHVtbnMpKTtcbiAgICB9XG59XG5cbi8vIEdlbmVyYXRlIHRoZSBsYXJnZSBjb2x1bW4gb2Zmc2V0c1xuQG1peGluIG1ha2UtbGctY29sdW1uLW9mZnNldCgkY29sdW1ucykge1xuICAgIEBtZWRpYSAobWluLXdpZHRoOiAkc2NyZWVuLWxnLW1pbikge1xuICAgICAgICBtYXJnaW4tbGVmdCA6IHBlcmNlbnRhZ2UoKCRjb2x1bW5zIC8gJGdyaWQtY29sdW1ucykpO1xuICAgIH1cbn1cbkBtaXhpbiBtYWtlLWxnLWNvbHVtbi1wdXNoKCRjb2x1bW5zKSB7XG4gICAgQG1lZGlhIChtaW4td2lkdGg6ICRzY3JlZW4tbGctbWluKSB7XG4gICAgICAgIGxlZnQgOiBwZXJjZW50YWdlKCgkY29sdW1ucyAvICRncmlkLWNvbHVtbnMpKTtcbiAgICB9XG59XG5AbWl4aW4gbWFrZS1sZy1jb2x1bW4tcHVsbCgkY29sdW1ucykge1xuICAgIEBtZWRpYSAobWluLXdpZHRoOiAkc2NyZWVuLWxnLW1pbikge1xuICAgICAgICByaWdodCA6IHBlcmNlbnRhZ2UoKCRjb2x1bW5zIC8gJGdyaWQtY29sdW1ucykpO1xuICAgIH1cbn1cblxuXG4vLyBGcmFtZXdvcmsgZ3JpZCBnZW5lcmF0aW9uXG4vL1xuLy8gVXNlZCBvbmx5IGJ5IEJvb3RzdHJhcCB0byBnZW5lcmF0ZSB0aGUgY29ycmVjdCBudW1iZXIgb2YgZ3JpZCBjbGFzc2VzIGdpdmVuXG4vLyBhbnkgdmFsdWUgb2YgYCRncmlkLWNvbHVtbnNgLlxuXG4vLyBbY29udmVydGVyXSBHcmlkIGNvbnZlcnRlZCB0byB1c2UgU0FTUyBjeWNsZXMgKExFU1MgdXNlcyByZWN1cnNpdmUgbmVzdGVkIG1peGluIGRlZnMgbm90IHN1cHBvcnRlZCBieSBTQVNTKVxuQG1peGluIG1ha2UtZ3JpZC1jb2x1bW5zKCkge1xuICAgICRsaXN0IDogXCJcIjtcbiAgICAkaSA6IDE7XG4gICAgJGxpc3QgOiBcIi5jb2wteHMtI3skaX0sIC5jb2wtc20tI3skaX0sIC5jb2wtbWQtI3skaX0sIC5jb2wtbGctI3skaX1cIjtcbiAgICBAZm9yICRpIGZyb20gMiB0aHJvdWdoICRncmlkLWNvbHVtbnMge1xuICAgICAgICAkbGlzdCA6IFwiLmNvbC14cy0jeyRpfSwgLmNvbC1zbS0jeyRpfSwgLmNvbC1tZC0jeyRpfSwgLmNvbC1sZy0jeyRpfSwgI3skbGlzdH1cIjtcbiAgICB9XG4gICAgI3skbGlzdH0ge1xuICAgICAgICBwb3NpdGlvbiA6IHJlbGF0aXZlO1xuICAgICAgICAvLyBQcmV2ZW50IGNvbHVtbnMgZnJvbSBjb2xsYXBzaW5nIHdoZW4gZW1wdHlcblxuICAgICAgICBtaW4taGVpZ2h0IDogMXB4O1xuICAgICAgICBwYWRkaW5nLXJpZ2h0IDogKCRncmlkLWd1dHRlci13aWR0aCAvIDIpO1xuICAgICAgICAvLyBJbm5lciBndXR0ZXIgdmlhIHBhZGRpbmdcbiAgICAgICAgcGFkZGluZy1sZWZ0IDogKCRncmlkLWd1dHRlci13aWR0aCAvIDIpO1xuICAgIH1cbn1cblxuXG4vLyBbY29udmVydGVyXSBHcmlkIGNvbnZlcnRlZCB0byB1c2UgU0FTUyBjeWNsZXMgKExFU1MgdXNlcyByZWN1cnNpdmUgbmVzdGVkIG1peGluIGRlZnMgbm90IHN1cHBvcnRlZCBieSBTQVNTKVxuQG1peGluIG1ha2UtZ3JpZC1jb2x1bW5zLWZsb2F0KCRjbGFzcykge1xuICAgICRsaXN0IDogXCJcIjtcbiAgICAkaSA6IDE7XG4gICAgJGxpc3QgOiBcIi5jb2wtI3skY2xhc3N9LSN7JGl9XCI7XG4gICAgQGZvciAkaSBmcm9tIDIgdGhyb3VnaCAkZ3JpZC1jb2x1bW5zIHtcbiAgICAgICAgJGxpc3QgOiBcIi5jb2wtI3skY2xhc3N9LSN7JGl9LCAjeyRsaXN0fVwiO1xuICAgIH1cbiAgICAjeyRsaXN0fSB7XG4gICAgICAgIGZsb2F0IDogbGVmdDtcbiAgICB9XG59XG5cblxuQG1peGluIGNhbGMtZ3JpZCgkaW5kZXgsICRjbGFzcywgJHR5cGUpIHtcbiAgICBAaWYgKCR0eXBlID09IHdpZHRoKSBhbmQgKCRpbmRleCA+IDApIHtcbiAgICAgICAgLmNvbC0jeyRjbGFzc30tI3skaW5kZXh9IHtcbiAgICAgICAgICAgIHdpZHRoIDogcGVyY2VudGFnZSgoJGluZGV4IC8gJGdyaWQtY29sdW1ucykpO1xuICAgICAgICB9XG4gICAgfVxuICAgIEBpZiAoJHR5cGUgPT0gcHVzaCkge1xuICAgICAgICAuY29sLSN7JGNsYXNzfS1wdXNoLSN7JGluZGV4fSB7XG4gICAgICAgICAgICBsZWZ0IDogcGVyY2VudGFnZSgoJGluZGV4IC8gJGdyaWQtY29sdW1ucykpO1xuICAgICAgICB9XG4gICAgfVxuICAgIEBpZiAoJHR5cGUgPT0gcHVsbCkge1xuICAgICAgICAuY29sLSN7JGNsYXNzfS1wdWxsLSN7JGluZGV4fSB7XG4gICAgICAgICAgICByaWdodCA6IHBlcmNlbnRhZ2UoKCRpbmRleCAvICRncmlkLWNvbHVtbnMpKTtcbiAgICAgICAgfVxuICAgIH1cbiAgICBAaWYgKCR0eXBlID09IG9mZnNldCkge1xuICAgICAgICAuY29sLSN7JGNsYXNzfS1vZmZzZXQtI3skaW5kZXh9IHtcbiAgICAgICAgICAgIG1hcmdpbi1sZWZ0IDogcGVyY2VudGFnZSgoJGluZGV4IC8gJGdyaWQtY29sdW1ucykpO1xuICAgICAgICB9XG4gICAgfVxufVxuXG4vLyBbY29udmVydGVyXSBUaGlzIGlzIGRlZmluZWQgcmVjdXJzaXZlbHkgaW4gTEVTUywgYnV0IFNBU1Mgc3VwcG9ydHMgcmVhbCBsb29wc1xuQG1peGluIG1ha2UtZ3JpZCgkY29sdW1ucywgJGNsYXNzLCAkdHlwZSkge1xuICAgIEBmb3IgJGkgZnJvbSAwIHRocm91Z2ggJGNvbHVtbnMge1xuICAgICAgICBAaW5jbHVkZSBjYWxjLWdyaWQoJGksICRjbGFzcywgJHR5cGUpO1xuICAgIH1cbn1cblxuXG5cbi8vIEZvcm0gdmFsaWRhdGlvbiBzdGF0ZXNcbi8vXG4vLyBVc2VkIGluIGZvcm1zLmxlc3MgdG8gZ2VuZXJhdGUgdGhlIGZvcm0gdmFsaWRhdGlvbiBDU1MgZm9yIHdhcm5pbmdzLCBlcnJvcnMsXG4vLyBhbmQgc3VjY2Vzc2VzLlxuXG5AbWl4aW4gZm9ybS1jb250cm9sLXZhbGlkYXRpb24oJHRleHQtY29sb3IgOiAjNTU1NTU1LCAkYm9yZGVyLWNvbG9yOiAjY2NjY2NjLCAkYmFja2dyb3VuZC1jb2xvcjogI2Y1ZjVmNSkge1xuICAgIC8vIENvbG9yIHRoZSBsYWJlbCBhbmQgaGVscCB0ZXh0XG4gICAgLmhlbHAtYmxvY2ssXG4gICAgLmNvbnRyb2wtbGFiZWwsXG4gICAgLnJhZGlvLFxuICAgIC5jaGVja2JveCxcbiAgICAucmFkaW8taW5saW5lLFxuICAgIC5jaGVja2JveC1pbmxpbmUge1xuICAgICAgICBjb2xvciA6ICR0ZXh0LWNvbG9yO1xuICAgIH1cbiAgICAvLyBTZXQgdGhlIGJvcmRlciBhbmQgYm94IHNoYWRvdyBvbiBzcGVjaWZpYyBpbnB1dHMgdG8gbWF0Y2hcbiAgICAuZm9ybS1jb250cm9sIHtcbiAgICAgICAgQGluY2x1ZGUgYm94LXNoYWRvdyhpbnNldCAwIDFweCAxcHggcmdiYSgwLDAsMCwuMDc1KSk7IC8vIFJlZGVjbGFyZSBzbyB0cmFuc2l0aW9ucyB3b3JrXG5cbiAgICAgICAgYm9yZGVyLWNvbG9yIDogJGJvcmRlci1jb2xvcjtcbiAgICAgICAgJjpmb2N1cyB7XG4gICAgICAgICAgICBAaW5jbHVkZSBib3gtc2hhZG93KCRzaGFkb3cpO1xuXG4gICAgICAgICAgICBib3JkZXItY29sb3IgOiBkYXJrZW4oJGJvcmRlci1jb2xvciwgMTAlKTtcblxuICAgICAgICAgICAgJHNoYWRvdyA6IGluc2V0IDAgMXB4IDFweCByZ2JhKDAsMCwwLC4wNzUpLCAwIDAgNnB4IGxpZ2h0ZW4oJGJvcmRlci1jb2xvciwgMjAlKTtcbiAgICAgICAgfVxuICAgIH1cbiAgICAvLyBTZXQgdmFsaWRhdGlvbiBzdGF0ZXMgYWxzbyBmb3IgYWRkb25zXG4gICAgLmlucHV0LWdyb3VwLWFkZG9uIHtcbiAgICAgICAgY29sb3IgOiAkdGV4dC1jb2xvcjtcbiAgICAgICAgYm9yZGVyLWNvbG9yIDogJGJvcmRlci1jb2xvcjtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvciA6ICRiYWNrZ3JvdW5kLWNvbG9yO1xuICAgIH1cbn1cblxuLy8gRm9ybSBjb250cm9sIGZvY3VzIHN0YXRlXG4vL1xuLy8gR2VuZXJhdGUgYSBjdXN0b21pemVkIGZvY3VzIHN0YXRlIGFuZCBmb3IgYW55IGlucHV0IHdpdGggdGhlIHNwZWNpZmllZCBjb2xvcixcbi8vIHdoaWNoIGRlZmF1bHRzIHRvIHRoZSBgJGlucHV0LWZvY3VzLWJvcmRlcmAgdmFyaWFibGUuXG4vL1xuLy8gV2UgaGlnaGx5IGVuY291cmFnZSB5b3UgdG8gbm90IGN1c3RvbWl6ZSB0aGUgZGVmYXVsdCB2YWx1ZSwgYnV0IGluc3RlYWQgdXNlXG4vLyB0aGlzIHRvIHR3ZWFrIGNvbG9ycyBvbiBhbiBhcy1uZWVkZWQgYmFzaXMuIFRoaXMgYWVzdGhldGljIGNoYW5nZSBpcyBiYXNlZCBvblxuLy8gV2ViS2l0J3MgZGVmYXVsdCBzdHlsZXMsIGJ1dCBhcHBsaWNhYmxlIHRvIGEgd2lkZXIgcmFuZ2Ugb2YgYnJvd3NlcnMuIEl0c1xuLy8gdXNhYmlsaXR5IGFuZCBhY2Nlc3NpYmlsaXR5IHNob3VsZCBiZSB0YWtlbiBpbnRvIGFjY291bnQgd2l0aCBhbnkgY2hhbmdlLlxuLy9cbi8vIEV4YW1wbGUgdXNhZ2U6IGNoYW5nZSB0aGUgZGVmYXVsdCBibHVlIGJvcmRlciBhbmQgc2hhZG93IHRvIHdoaXRlIGZvciBiZXR0ZXJcbi8vIGNvbnRyYXN0IGFnYWluc3QgYSBkYXJrIGdyYXkgYmFja2dyb3VuZC5cblxuQG1peGluIGZvcm0tY29udHJvbC1mb2N1cygkY29sb3IgOiAkaW5wdXQtYm9yZGVyLWZvY3VzKSB7XG4gICAgJGNvbG9yLXJnYmEgOiByZ2JhKHJlZCgkY29sb3IpLCBncmVlbigkY29sb3IpLCBibHVlKCRjb2xvciksIC42KTtcbiAgICAmOmZvY3VzIHtcbiAgICAgICAgQGluY2x1ZGUgYm94LXNoYWRvdyhpbnNldCAwIDFweCAxcHggcmdiYSgwLDAsMCwuMDc1KSwgMCAwIDhweCAkY29sb3ItcmdiYSk7XG5cbiAgICAgICAgYm9yZGVyLWNvbG9yIDogJGNvbG9yO1xuICAgICAgICBvdXRsaW5lIDogMDtcbiAgICB9XG59XG5cbi8vIEZvcm0gY29udHJvbCBzaXppbmdcbi8vXG4vLyBSZWxhdGl2ZSB0ZXh0IHNpemUsIHBhZGRpbmcsIGFuZCBib3JkZXItcmFkaWkgY2hhbmdlcyBmb3IgZm9ybSBjb250cm9scy4gRm9yXG4vLyBob3Jpem9udGFsIHNpemluZywgd3JhcCBjb250cm9scyBpbiB0aGUgcHJlZGVmaW5lZCBncmlkIGNsYXNzZXMuIGA8c2VsZWN0PmBcbi8vIGVsZW1lbnQgZ2V0cyBzcGVjaWFsIGxvdmUgYmVjYXVzZSBpdCdzIHNwZWNpYWwsIGFuZCB0aGF0J3MgYSBmYWN0IVxuXG4vLyBbY29udmVydGVyXSAkcGFyZW50IGhhY2tcbkBtaXhpbiBpbnB1dC1zaXplKCRwYXJlbnQsICRpbnB1dC1oZWlnaHQsICRwYWRkaW5nLXZlcnRpY2FsLCAkcGFkZGluZy1ob3Jpem9udGFsLCAkZm9udC1zaXplLCAkbGluZS1oZWlnaHQsICRib3JkZXItcmFkaXVzKSB7XG4gICAgI3skcGFyZW50fSB7XG4gICAgICAgIGZvbnQtc2l6ZSA6ICRmb250LXNpemU7XG4gICAgICAgIGxpbmUtaGVpZ2h0IDogJGxpbmUtaGVpZ2h0O1xuXG4gICAgICAgIGhlaWdodCA6ICRpbnB1dC1oZWlnaHQ7XG4gICAgICAgIHBhZGRpbmcgOiAkcGFkZGluZy12ZXJ0aWNhbCAkcGFkZGluZy1ob3Jpem9udGFsO1xuXG4gICAgICAgIGJvcmRlci1yYWRpdXMgOiAkYm9yZGVyLXJhZGl1cztcbiAgICB9XG4gICAgc2VsZWN0I3skcGFyZW50fSB7XG4gICAgICAgIGxpbmUtaGVpZ2h0IDogJGlucHV0LWhlaWdodDtcblxuICAgICAgICBoZWlnaHQgOiAkaW5wdXQtaGVpZ2h0O1xuICAgIH1cblxuICAgIHRleHRhcmVhI3skcGFyZW50fSB7XG4gICAgICAgIGhlaWdodCA6IGF1dG87XG4gICAgfVxufVxuXG4vL01JWElPTiBQT1NJVElPTiBGUk9NIEJPVVJCT05cbkBtaXhpbiBwb3NpdGlvbiAoJHBvc2l0aW9uIDogcmVsYXRpdmUsICRjb29yZGluYXRlczogMCAwIDAgMCkge1xuICAgIHBvc2l0aW9uIDogJHBvc2l0aW9uO1xuXG4gICAgJGNvb3JkaW5hdGVzIDogdW5wYWNrKCRjb29yZGluYXRlcyk7XG4gICAgJHRvcCA6IG50aCgkY29vcmRpbmF0ZXMsIDEpO1xuICAgICRyaWdodCA6IG50aCgkY29vcmRpbmF0ZXMsIDIpO1xuICAgICRib3R0b20gOiBudGgoJGNvb3JkaW5hdGVzLCAzKTtcbiAgICAkbGVmdCA6IG50aCgkY29vcmRpbmF0ZXMsIDQpO1xuICAgIEBpZiB0eXBlLW9mKCRwb3NpdGlvbikgPT0gbGlzdCB7XG4gICAgICAgICRjb29yZGluYXRlcyA6ICRwb3NpdGlvbjtcbiAgICAgICAgJHBvc2l0aW9uIDogcmVsYXRpdmU7XG4gICAgfVxuXG4gICAgQGlmICgkdG9wIGFuZCAkdG9wID09IGF1dG8pIG9yICh0eXBlLW9mKCR0b3ApID09IG51bWJlciBhbmQgbm90IHVuaXRsZXNzKCR0b3ApKSB7XG4gICAgICAgIHRvcCA6ICR0b3A7XG4gICAgfVxuXG4gICAgQGlmICgkcmlnaHQgYW5kICRyaWdodCA9PSBhdXRvKSBvciAodHlwZS1vZigkcmlnaHQpID09IG51bWJlciBhbmQgbm90IHVuaXRsZXNzKCRyaWdodCkpIHtcbiAgICAgICAgcmlnaHQgOiAkcmlnaHQ7XG4gICAgfVxuXG4gICAgQGlmICgkYm90dG9tIGFuZCAkYm90dG9tID09IGF1dG8pIG9yICh0eXBlLW9mKCRib3R0b20pID09IG51bWJlciBhbmQgbm90IHVuaXRsZXNzKCRib3R0b20pKSB7XG4gICAgICAgIGJvdHRvbSA6ICRib3R0b207XG4gICAgfVxuXG4gICAgQGlmICgkbGVmdCBhbmQgJGxlZnQgPT0gYXV0bykgb3IgKHR5cGUtb2YoJGxlZnQpID09IG51bWJlciBhbmQgbm90IHVuaXRsZXNzKCRsZWZ0KSkge1xuICAgICAgICBsZWZ0IDogJGxlZnQ7XG4gICAgfVxufVxuXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuLy8gY2hhbmdlczogTm9vbWlhLlxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuQG1peGluIG5vb21pYSgkc3R5bGUgOiBkYXJrKSB7XG4gICAgLm5vb21pYSB7XG4gICAgICAgIHBvc2l0aW9uIDogcmVsYXRpdmU7XG5cbiAgICAgICAgZGlzcGxheSA6IGlubGluZS1ibG9jaztcblxuICAgICAgICB3aWR0aCA6IDgxcHg7XG4gICAgICAgIGhlaWdodCA6IDE1cHg7XG5cbiAgICAgICAgdmVydGljYWwtYWxpZ24gOiBtaWRkbGU7XG4gICAgICAgIHRleHQtaW5kZW50IDogLTk5OTlweDtcblxuICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgICBwb3NpdGlvbiA6IGFic29sdXRlO1xuICAgICAgICAgICAgdG9wIDogMDtcbiAgICAgICAgICAgIGxlZnQgOiAwO1xuXG4gICAgICAgICAgICBkaXNwbGF5IDogYmxvY2s7XG5cbiAgICAgICAgICAgIHdpZHRoIDogMTAwJTtcbiAgICAgICAgICAgIGhlaWdodCA6IDEwMCU7XG5cbiAgICAgICAgICAgIGNvbnRlbnQgOiBcIlwiO1xuXG4gICAgICAgICAgICBvcGFjaXR5IDogLjc7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLXJlcGVhdCA6IG5vLXJlcGVhdDtcbiAgICAgICAgICAgIGJhY2tncm91bmQtcG9zaXRpb24gOiBsZWZ0IGNlbnRlcjtcbiAgICAgICAgICAgIGJhY2tncm91bmQtc2l6ZSA6IDgxcHggMTVweDtcblxuICAgICAgICAgICAgQGlmICgkc3R5bGUgPT0gZGFyaykge1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQtaW1hZ2UgOiB1cmwoI3skaW1nfWxvZ28tbm9vbWlhLS1kYXJrLnN2Zyk7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIEBpZiAoJHN0eWxlID09IGxpZ2h0KSB7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1pbWFnZSA6IHVybCgjeyRpbWd9bG9nby1ub29taWEtLWxpZ2h0LnN2Zyk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAmOmFmdGVyIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIHRyYW5zaXRpb24od2lkdGggLjNzICRlYXNlSW5RdWFkKTtcblxuICAgICAgICAgICAgcG9zaXRpb24gOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgIHRvcCA6IDA7XG4gICAgICAgICAgICBsZWZ0IDogMDtcblxuICAgICAgICAgICAgZGlzcGxheSA6IGJsb2NrO1xuXG4gICAgICAgICAgICB3aWR0aCA6IDA7XG4gICAgICAgICAgICBoZWlnaHQgOiAxMDAlO1xuXG4gICAgICAgICAgICBjb250ZW50IDogXCJcIjtcblxuICAgICAgICAgICAgYmFja2dyb3VuZC1yZXBlYXQgOiBuby1yZXBlYXQ7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uIDogbGVmdCBjZW50ZXI7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLXNpemUgOiA4MXB4IDE1cHg7XG5cbiAgICAgICAgICAgIEBpZiAoJHN0eWxlID09IGRhcmspIHtcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWltYWdlIDogdXJsKCN7JGltZ31sb2dvLW5vb21pYS0tZGFyay5zdmcpO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBAaWYgKCRzdHlsZSA9PSBsaWdodCkge1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQtaW1hZ2UgOiB1cmwoI3skaW1nfWxvZ28tbm9vbWlhLS1saWdodC5zdmcpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgJjpob3ZlcjphZnRlciB7XG4gICAgICAgICAgICB3aWR0aCA6IDEwMCU7XG4gICAgICAgIH1cbiAgICB9XG59XG5cbkBtaXhpbiBncmF5c2NhbGVfZWxlbWVudCgkdmFsdWUpIHtcbiAgICAtd2Via2l0LWZpbHRlciA6ICN7XCJncmF5c2NhbGUoI3skdmFsdWV9KVwifTtcbiAgICAgICAtbW96LWZpbHRlciA6ICN7XCJncmF5c2NhbGUoI3skdmFsdWV9KVwifTtcbiAgICAgICAgICAgIGZpbHRlciA6ICN7XCJncmF5c2NhbGUoI3skdmFsdWV9KVwifTtcbn1cblxuLy8vIEJsb2NrIEVsZW1lbnRcbi8vLyBAYWNjZXNzIHB1YmxpY1xuLy8vIEBwYXJhbSB7U3RyaW5nfSAkZWxlbWVudCAtIEVsZW1lbnQncyBuYW1lXG5AbWl4aW4gZSgkZWxlbWVudCkge1xuICAgICZfXyN7JGVsZW1lbnR9IHtcbiAgICAgICAgQGNvbnRlbnQ7XG4gICAgfVxufVxuXG4vLy8gQmxvY2sgTW9kaWZpZXJcbi8vLyBAYWNjZXNzIHB1YmxpY1xuLy8vIEBwYXJhbSB7U3RyaW5nfSAkbW9kaWZpZXIgLSBNb2RpZmllcidzIG5hbWVcbkBtaXhpbiBtKCRtb2RpZmllcikge1xuICAgICYtLSN7JG1vZGlmaWVyfSB7XG4gICAgICAgIEBjb250ZW50O1xuICAgIH1cbn1cblxuQGZ1bmN0aW9uIGVtKCR0YXJnZXQsICRjb250ZXh0IDogJGJhc2VfX2ZvbnQtc2l6ZSkge1xuICAgIEByZXR1cm4gKCR0YXJnZXQgLyAkY29udGV4dCkgKiAxZW07XG59XG5cbkBmdW5jdGlvbiByZW0oJHRhcmdldCkge1xuICAgIEByZXR1cm4gKCR0YXJnZXQgLyAkYmFzZV9fZm9udC1zaXplKSAqIDFyZW07XG59XG5cbkBtaXhpbiB0ZXh0KCRzaXplLCAkbGluZSwgJG1hcmdpbiA6IDAsICRmYW1pbHk6ICR0ZXh0X19mYW1pbHktc2FucywgJGNvbG9yOiAkdGV4dF9fY29sb3ItLWJhc2UsICR3ZWlnaHQ6IG5vcm1hbCkge1xuICAgIGZvbnQtZmFtaWx5IDogJGZhbWlseTtcbiAgICBmb250LXNpemUgOiBlbSgkc2l6ZSk7XG4gICAgZm9udC13ZWlnaHQgOiAkd2VpZ2h0O1xuICAgIGxpbmUtaGVpZ2h0IDogKCRsaW5lLyRzaXplKTtcblxuICAgIG1hcmdpbi1ib3R0b20gOiBlbSgkbWFyZ2luLCAkc2l6ZSk7XG5cbiAgICBjb2xvciA6ICRjb2xvcjtcbn1cblxuQG1peGluIG1haW50YWluLWFzcGVjdC1yYXRpbygkd2lkdGgsICRoZWlnaHQpIHtcbiAgICBwb3NpdGlvbiA6IHJlbGF0aXZlO1xuXG4gICAgJjpiZWZvcmUge1xuICAgICAgICBkaXNwbGF5IDogYmxvY2s7XG5cbiAgICAgICAgd2lkdGggOiAxMDAlO1xuICAgICAgICBwYWRkaW5nLXRvcCA6ICgkaGVpZ2h0IC8gJHdpZHRoKSAqIDEwMCU7XG5cbiAgICAgICAgY29udGVudCA6IFwiIFwiO1xuICAgIH1cblxuICAgIC8qID4gKiB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMDtcbiAgICBsZWZ0OiAwO1xuICAgIHJpZ2h0OiAwO1xuICAgIGJvdHRvbTogMDtcbiAgfSAqL1xufVxuXG5AbWl4aW4gcmF0aW8oJHdpZHRoLCAkaGVpZ2h0KSB7XG4gICAgcG9zaXRpb24gOiByZWxhdGl2ZTtcblxuICAgICY6YmVmb3JlIHtcbiAgICAgICAgZGlzcGxheSA6IGJsb2NrO1xuXG4gICAgICAgIHdpZHRoIDogMTAwJTtcbiAgICAgICAgcGFkZGluZy10b3AgOiAoJGhlaWdodCAvICR3aWR0aCkgKiAxMDAlO1xuXG4gICAgICAgIGNvbnRlbnQgOiBcIiBcIjtcbiAgICB9XG5cbiAgICAvKiA+ICoge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDA7XG4gICAgbGVmdDogMDtcbiAgICByaWdodDogMDtcbiAgICBib3R0b206IDA7XG4gIH0gKi9cbn1cblxuQG1peGluIGNpcmNsZSgkd2lkdGgpIHtcbiAgICBAaW5jbHVkZSBib3JkZXItcmFkaXVzKDUwJSk7XG5cbiAgICBkaXNwbGF5IDogYmxvY2s7XG5cbiAgICB3aWR0aCA6ICR3aWR0aDtcbiAgICBoZWlnaHQgOiAkd2lkdGg7XG59XG5cbkBtaXhpbiBtZWRpYS10YWJsZXQoKSB7XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogJHRhYmxldCkge1xuICAgICAgICBAY29udGVudDtcbiAgICB9XG59XG5cbkBtaXhpbiBtZWRpYS1tb2JpbGUoKSB7XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogJG1vYmlsZSkge1xuICAgICAgICBAY29udGVudDtcbiAgICB9XG59XG4iLCIubWFpbi10aXRsZSB7XG4gICAgZm9udC1mYW1pbHkgOiAkdGV4dF9fZmFtaWx5LXNhbnMtLXRpdGxlO1xuICAgIGZvbnQtc2l6ZSA6IHJlbSgzMik7XG4gICAgZm9udC13ZWlnaHQgOiAzMDA7XG5cbiAgICBtYXJnaW4gOiAwO1xuXG4gICAgbGV0dGVyLXNwYWNpbmcgOiA0cHg7XG4gICAgdGV4dC10cmFuc2Zvcm0gOiB1cHBlcmNhc2U7XG5cbiAgICBjb2xvciA6ICRjb2xvcl9fYmxhY2s7XG5cbiAgICAmLS1jZW50ZXIge1xuICAgICAgICBtYXJnaW4gOiAwIGF1dG87XG5cbiAgICAgICAgdGV4dC1hbGlnbiA6IGNlbnRlcjtcbiAgICB9XG5cbiAgICBiLFxuICAgIHN0cm9uZyB7XG4gICAgICAgIGRpc3BsYXkgOiBpbmxpbmUtYmxvY2s7XG5cbiAgICAgICAgQGV4dGVuZCAlYm9sZDtcbiAgICB9XG5cbiAgICBzcGFuIHtcbiAgICAgICAgcG9zaXRpb24gOiByZWxhdGl2ZTtcblxuICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgICBwb3NpdGlvbiA6IGFic29sdXRlO1xuICAgICAgICAgICAgcmlnaHQgOiAtMnB4O1xuICAgICAgICAgICAgYm90dG9tIDogNXB4O1xuICAgICAgICAgICAgbGVmdCA6IC0ycHg7XG5cbiAgICAgICAgICAgIGRpc3BsYXkgOiBibG9jaztcblxuICAgICAgICAgICAgaGVpZ2h0IDogMTBweDtcblxuICAgICAgICAgICAgY29udGVudCA6IFwiXCI7XG5cbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3IgOiByZ2JhKCAkY29sb3JfX3ByaW1hcnksIC4xICk7XG4gICAgICAgIH1cbiAgICB9XG59XG4iLCIud3lzaXd5ZyB7XG4gICAgZm9udC1zaXplIDogcmVtKDE2KTtcbiAgICBsaW5lLWhlaWdodCA6IDEuNztcblxuICAgIC8qKlxuICAgICAqIFRpdGxlXG4gICAgICovXG5cbiAgICBoMixcbiAgICBoMyxcbiAgICBoNCxcbiAgICBoNSxcbiAgICBoNiB7XG4gICAgICAgIGZvbnQtZmFtaWx5IDogJHRleHRfX2ZhbWlseS1zYW5zLS10aXRsZTtcblxuICAgICAgICBtYXJnaW4tdG9wIDogMDtcblxuICAgICAgICBAZXh0ZW5kICVsaWdodDtcbiAgICB9XG5cbiAgICBoMiB7XG4gICAgICAgIGZvbnQtc2l6ZSA6IHJlbSgyOCk7XG4gICAgfVxuXG4gICAgaDMge1xuICAgICAgICBmb250LXNpemUgOiByZW0oMjQpO1xuICAgIH1cblxuICAgIGg0IHtcbiAgICAgICAgZm9udC1zaXplIDogcmVtKDIwKTtcbiAgICB9XG5cbiAgICBoNSB7XG4gICAgICAgIGZvbnQtc2l6ZSA6IHJlbSgxOCk7XG5cbiAgICAgICAgQGV4dGVuZCAlbWVkaXVtO1xuICAgIH1cblxuICAgIGg2IHtcbiAgICAgICAgZm9udC1zaXplIDogcmVtKDE2KTtcblxuICAgICAgICBAZXh0ZW5kICVtZWRpdW07XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogU3R5bGVcbiAgICAgKi9cblxuICAgIHN0cm9uZyxcbiAgICBiIHtcbiAgICAgICAgQGV4dGVuZCAlYm9sZDtcbiAgICB9XG5cbiAgICBlbSxcbiAgICBpIHtcbiAgICAgICAgZm9udC1zdHlsZSA6IGl0YWxpYztcbiAgICB9XG5cbiAgICBwIHtcbiAgICAgICAgbWFyZ2luLXRvcCA6IDA7XG4gICAgfVxuXG4gICAgYSB7XG4gICAgICAgICY6aG92ZXIge1xuICAgICAgICAgICAgdGV4dC1kZWNvcmF0aW9uIDogdW5kZXJsaW5lO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgZmlndXJlIHtcbiAgICAgICAgZGlzcGxheSA6IGJsb2NrO1xuXG4gICAgICAgIG1heC13aWR0aCA6IDEwMCU7XG4gICAgICAgIG1hcmdpbiA6IDAgMCByZW0oMzApIDA7XG5cbiAgICAgICAgZmlnY2FwdGlvbiB7XG4gICAgICAgICAgICBmb250LXNpemUgOiByZW0oMTIpO1xuXG4gICAgICAgICAgICBwb3NpdGlvbiA6IHJlbGF0aXZlO1xuXG4gICAgICAgICAgICBkaXNwbGF5IDogYmxvY2s7XG4gICAgICAgIH1cblxuICAgICAgICBpbWcge1xuICAgICAgICAgICAgZGlzcGxheSA6IGJsb2NrO1xuXG4gICAgICAgICAgICBtYXgtd2lkdGggOiAxMDAlO1xuICAgICAgICAgICAgaGVpZ2h0IDogYXV0bztcbiAgICAgICAgfVxuXG4gICAgICAgICYuYWxpZ24tbGVmdCB7XG4gICAgICAgICAgICBmbG9hdCA6IGxlZnQ7XG5cbiAgICAgICAgICAgIG1hcmdpbi1yaWdodCA6IHJlbSgzMCk7XG4gICAgICAgIH1cblxuICAgICAgICAmLmFsaWduLXJpZ2h0IHtcbiAgICAgICAgICAgIGZsb2F0IDogcmlnaHQ7XG5cbiAgICAgICAgICAgIG1hcmdpbi1sZWZ0IDogcmVtKDMwKTtcbiAgICAgICAgfVxuXG4gICAgICAgICYuYWxpZ24tY2VudGVyIHtcbiAgICAgICAgICAgIGltZyB7XG4gICAgICAgICAgICAgICAgbWFyZ2luIDogMCBhdXRvO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgaW1nIHtcbiAgICAgICAgZGlzcGxheSA6IGJsb2NrO1xuXG4gICAgICAgIG1heC13aWR0aCA6IDEwMCU7XG4gICAgICAgIGhlaWdodCA6IGF1dG87XG4gICAgICAgIG1hcmdpbiA6IDAgMCByZW0oMzApIDA7XG5cbiAgICAgICAgJi5hbGlnbmxlZnQge1xuICAgICAgICAgICAgZmxvYXQgOiBsZWZ0O1xuXG4gICAgICAgICAgICBtYXJnaW4tcmlnaHQgOiByZW0oMzApO1xuICAgICAgICB9XG5cbiAgICAgICAgJi5hbGlnbnJpZ2h0IHtcbiAgICAgICAgICAgIGZsb2F0IDogcmlnaHQ7XG5cbiAgICAgICAgICAgIG1hcmdpbi1sZWZ0IDogcmVtKDMwKTtcbiAgICAgICAgfVxuXG4gICAgICAgICYuYWxpZ25jZW50ZXIge1xuICAgICAgICAgICAgaW1nIHtcbiAgICAgICAgICAgICAgICBtYXJnaW4gOiAwIGF1dG87XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBRdW90ZVxuICAgICAqL1xuXG4gICAgYmxvY2txdW90ZSB7XG4gICAgICAgIGZvbnQtc2l6ZSA6IHJlbSgyNCk7XG4gICAgICAgIGZvbnQtc3R5bGUgOiBpdGFsaWM7XG5cbiAgICAgICAgcGFkZGluZy1sZWZ0IDogcmVtKDYwKTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBpRnJhbWVcbiAgICAgKi9cblxuICAgIGlmcmFtZSB7XG4gICAgICAgIHdpZHRoIDogMTAwJTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBoclxuICAgICAqL1xuXG4gICAgaHIge1xuICAgICAgICBtYXJnaW4gOiByZW0oMzApO1xuXG4gICAgICAgIGJvcmRlciA6IDFweCBzb2xpZCAkY29sb3JfX25ldXRyYWw7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogTGlzdFxuICAgICAqL1xuXG4gICAgdWwsXG4gICAgb2wge1xuICAgICAgICBtYXJnaW4gOiAwIDAgcmVtKDMwKTtcblxuICAgICAgICBsaSB7XG4gICAgICAgICAgICBwb3NpdGlvbiA6IHJlbGF0aXZlO1xuXG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tIDogcmVtKDUpO1xuXG4gICAgICAgICAgICAmOmxhc3QtY2hpbGQge1xuICAgICAgICAgICAgICAgIG1hcmdpbi1ib3R0b20gOiAwO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgdWwsXG4gICAgICAgIG9sIHtcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b20gOiByZW0oMTApO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgdWwge1xuICAgICAgICBsaSB7XG4gICAgICAgICAgICBwYWRkaW5nLWxlZnQgOiByZW0oMjApO1xuXG4gICAgICAgICAgICBsaXN0LXN0eWxlIDogbm9uZTtcblxuICAgICAgICAgICAgJjo6YmVmb3JlIHtcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBjaXJjbGUocmVtKDUpKTtcblxuICAgICAgICAgICAgICAgIHBvc2l0aW9uIDogYWJzb2x1dGU7XG4gICAgICAgICAgICAgICAgdG9wIDogcmVtKDEwKTtcbiAgICAgICAgICAgICAgICBsZWZ0IDogMDtcblxuICAgICAgICAgICAgICAgIGNvbnRlbnQgOiBcIlwiO1xuXG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvciA6ICRjb2xvcl9fcHJpbWFyeTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgIG9sIHtcbiAgICAgICAgY291bnRlci1yZXNldCA6IGxpc3Q7XG5cbiAgICAgICAgbGkge1xuICAgICAgICAgICAgcGFkZGluZy1sZWZ0IDogcmVtKDIwKTtcblxuICAgICAgICAgICAgbGlzdC1zdHlsZSA6IG5vbmU7XG5cbiAgICAgICAgICAgICY6OmJlZm9yZSB7XG4gICAgICAgICAgICAgICAgcG9zaXRpb24gOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgICAgICB0b3AgOiAwO1xuICAgICAgICAgICAgICAgIGxlZnQgOiAwO1xuXG4gICAgICAgICAgICAgICAgY29udGVudCA6IGNvdW50ZXIobGlzdCkgXCIuIFwiO1xuICAgICAgICAgICAgICAgIGNvdW50ZXItaW5jcmVtZW50IDogbGlzdDtcblxuICAgICAgICAgICAgICAgIGNvbG9yIDogJGNvbG9yX19wcmltYXJ5O1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxufVxuIiwiYnV0dG9uIHtcbiAgICBjdXJzb3IgOiBwb2ludGVyO1xuXG4gICAgYm9yZGVyIDogbm9uZTtcbiAgICBiYWNrZ3JvdW5kIDogbm9uZTtcblxuICAgICY6Zm9jdXMsXG4gICAgJjphY3RpdmUge1xuICAgICAgICBvdXRsaW5lIDogbm9uZTtcbiAgICB9XG59XG5cbi5idG4ge1xuICAgIGZvbnQtZmFtaWx5IDogJHRleHRfX2ZhbWlseS1zYW5zLS10aXRsZTtcbiAgICBmb250LXNpemUgOiByZW0oMTIpO1xuICAgIGxpbmUtaGVpZ2h0IDogMS4yO1xuXG4gICAgcG9zaXRpb24gOiByZWxhdGl2ZTtcblxuICAgIHBhZGRpbmcgOiAyMnB4IDI1cHg7XG5cbiAgICB0cmFuc2l0aW9uIDogYmFja2dyb3VuZC1jb2xvciAuMnMgJGVhc2VJbk91dFF1YWQsIGNvbG9yIC4ycyAkZWFzZUluT3V0UXVhZDtcbiAgICBsZXR0ZXItc3BhY2luZyA6IHJlbSgzKTtcbiAgICB0ZXh0LXRyYW5zZm9ybSA6IHVwcGVyY2FzZTtcblxuICAgIGNvbG9yIDogJGNvbG9yX193aGl0ZTtcbiAgICBib3JkZXIgOiBub25lO1xuICAgIGJhY2tncm91bmQtY29sb3IgOiAkY29sb3JfX3ByaW1hcnk7XG5cbiAgICBAZXh0ZW5kICVyZWd1bGFyO1xuXG4gICAgc3BhbiB7XG4gICAgICAgIHBvc2l0aW9uIDogcmVsYXRpdmU7XG4gICAgICAgIHotaW5kZXggOiAxMDtcbiAgICB9XG5cbiAgICAmOmhvdmVyLFxuICAgICY6Zm9jdXMge1xuICAgICAgICBiYWNrZ3JvdW5kIDogZGFya2VuKCRjb2xvcl9fcHJpbWFyeSwgOCk7XG4gICAgfVxuXG5cdHVzZXItc2VsZWN0OiBub25lO1xuXG4gICAgJi0tY29tcGFjdCB7XG4gICAgICAgIHBhZGRpbmc6IDEwcHggMjVweDtcbiAgICB9XG5cbiAgICAmLS1oaWRlIHtcbiAgICAgICAgb3BhY2l0eSA6IDA7XG4gICAgfVxuXG4gICAgJi0tc3Ryb2tlIHtcbiAgICAgICAgY29sb3I6ICRjb2xvcl9fcHJpbWFyeTtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvciA6IHRyYW5zcGFyZW50O1xuICAgICAgICBib3JkZXI6IDJweCBzb2xpZCAkY29sb3JfX3ByaW1hcnk7XG4gICAgICAgICY6aG92ZXIsXG4gICAgICAgICY6Zm9jdXMge1xuICAgICAgICAgICAgY29sb3I6ICRjb2xvcl9fd2hpdGU7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kIDogZGFya2VuKCRjb2xvcl9fcHJpbWFyeSwgOCk7XG4gICAgICAgIH1cbiAgICB9XG5cblx0JjpkaXNhYmxlZCB7XG5cdFx0YmFja2dyb3VuZC1jb2xvciA6ICRjb2xvcl9fbmV1dHJhbC0tZGFyaztcblx0XHRjb2xvcjogJGNvbG9yX19ibGFjaztcblx0XHRjdXJzb3I6IG5vdC1hbGxvd2VkO1xuXHR9XG59XG5cbi5idG4tY2FydCB7XG4gICAgZmxvYXQ6IHJpZ2h0O1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcblxuICAgIGJhY2tncm91bmQtY29sb3I6ICRjb2xvcl9fbmV1dHJhbC0tZGFyaztcbiAgICBjb2xvcjogJGNvbG9yX19ibGFjaztcblxuICAgICY6aG92ZXIge1xuICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IGRhcmtlbiggJGNvbG9yX19uZXV0cmFsLS1kYXJrLCAxMCUgKTtcbiAgICB9XG5cbiAgICBzcGFuIHtcbiAgICAgICAgQGV4dGVuZCAuaWNvbjtcbiAgICAgICAgQGV4dGVuZCAuaWNvbi1jYXJ0O1xuXG4gICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICAgIG1hcmdpbi1yaWdodDogNXB4O1xuICAgICAgICB9XG4gICAgfVxufVxuXG4uYnRuLWxpbmsge1xuICAgIGZvbnQtZmFtaWx5IDogJHRleHRfX2ZhbWlseS1zYW5zLS10aXRsZTtcbiAgICBmb250LXNpemUgOiByZW0oMTIpO1xuICAgIGxpbmUtaGVpZ2h0IDogcmVtKDIwKTtcblxuICAgIHBhZGRpbmcgOiAwO1xuXG4gICAgbGV0dGVyLXNwYWNpbmcgOiByZW0oMyk7XG4gICAgdGV4dC10cmFuc2Zvcm0gOiB1cHBlcmNhc2U7XG5cbiAgICBjb2xvciA6ICRjb2xvcl9fcHJpbWFyeTtcblxuICAgIEBleHRlbmQgJXJlZ3VsYXI7XG5cbiAgICAmLS1pcy1oaWRlIHtcbiAgICAgICAgb3BhY2l0eSA6IDA7XG4gICAgfVxuXG4gICAgbWFyayB7XG4gICAgICAgIGNvbG9yIDogJGNvbG9yX19wcmltYXJ5O1xuICAgICAgICBiYWNrZ3JvdW5kIDogbm9uZTtcbiAgICB9XG5cbiAgICBzcGFuIHtcbiAgICAgICAgZGlzcGxheSA6IGlubGluZS1ibG9jaztcblxuICAgICAgICAmOjpiZWZvcmUge1xuICAgICAgICAgICAgcG9zaXRpb24gOiByZWxhdGl2ZTtcbiAgICAgICAgICAgIHRvcCA6IHJlbSgtMSk7XG5cbiAgICAgICAgICAgIGRpc3BsYXkgOiBpbmxpbmUtYmxvY2s7XG5cbiAgICAgICAgICAgIHdpZHRoIDogcmVtKDIwKTtcbiAgICAgICAgICAgIGhlaWdodCA6IHJlbSgxKTtcbiAgICAgICAgICAgIG1hcmdpbi1yaWdodCA6IHJlbSgxMCk7XG5cbiAgICAgICAgICAgIGNvbnRlbnQgOiBcIlwiO1xuICAgICAgICAgICAgdmVydGljYWwtYWxpZ24gOiBtaWRkbGU7XG5cbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3IgOiAkY29sb3JfX3ByaW1hcnk7O1xuICAgICAgICB9XG4gICAgfVxufVxuXG4uYnRuLS1kZWxldGUge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICAgIGZvbnQtZmFtaWx5IDogJHRleHRfX2ZhbWlseS1zYW5zO1xuICAgIGZvbnQtc2l6ZSA6IDEycHg7XG4gICAgbGluZS1oZWlnaHQgOiA1MHB4O1xuXG4gICAgZGlzcGxheSA6IGlubGluZS1ibG9jaztcblxuICAgIEBleHRlbmQgJWV4dHJhLWJvbGQ7XG4gICAgcGFkZGluZyA6IDAgMTBweDtcblx0bWFyZ2luLWxlZnQ6IC0xMHB4OyAvLyBhbGlnbiB0byB0aGUgY29udGFpbmVyXG4gICAgbGV0dGVyLXNwYWNpbmcgOiAycHg7XG4gICAgdGV4dC10cmFuc2Zvcm0gOiB1cHBlcmNhc2U7XG4gICAgY29sb3IgOiAkY29sb3JfX3ByaW1hcnk7XG5cblx0dHJhbnNpdGlvbjogY29sb3IgMC4ycyAkZWFzZUluQmFjaztcbiAgICAmOmhvdmVyIHtcbiAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuXHRcdGNvbG9yOiAkY29sb3JfX2Vycm9ycztcbiAgICB9XG59XG5cbi5idG4tLWNsb3NlIHtcbiAgICBAaW5jbHVkZSBhcHBlYXJhbmNlKCk7XG5cbiAgICB3aWR0aCA6IDE1cHg7XG4gICAgaGVpZ2h0IDogMTVweDtcbiAgICBtYXJnaW4gOiAwO1xuICAgIHBhZGRpbmcgOiAwO1xuXG4gICAgY3Vyc29yIDogcG9pbnRlcjtcblxuICAgIGJvcmRlciA6IG5vbmU7XG4gICAgYmFja2dyb3VuZCA6IG5vbmU7XG5cbiAgICAmOmJlZm9yZSxcbiAgICAmOmFmdGVyIHtcbiAgICAgICAgcG9zaXRpb24gOiBhYnNvbHV0ZTtcblxuICAgICAgICBkaXNwbGF5IDogYmxvY2s7XG5cbiAgICAgICAgd2lkdGggOiAyMHB4O1xuICAgICAgICBoZWlnaHQgOiAzcHg7XG5cbiAgICAgICAgY29udGVudCA6IFwiXCI7XG4gICAgICAgIHRyYW5zaXRpb24gOiB0cmFuc2Zvcm0gLjNzICRlYXNlSW5FeHBvLCBvcGFjaXR5IC4zcyAkZWFzZUluRXhwbztcbiAgICAgICAgdHJhbnNmb3JtLW9yaWdpbiA6IDUwJSA1MCU7XG5cbiAgICAgICAgYmFja2dyb3VuZC1jb2xvciA6ICRjb2xvcl9fc2Vjb25kYXJ5O1xuICAgIH1cbiAgICAmOmJlZm9yZSB7XG4gICAgICAgIHRvcCA6IDUwJTtcblxuICAgICAgICB0cmFuc2Zvcm0gOiB0cmFuc2xhdGVZKC01MCUpIHJvdGF0ZSg0NWRlZyk7XG4gICAgfVxuICAgICY6YWZ0ZXIge1xuICAgICAgICB0b3AgOiA1MCU7XG5cbiAgICAgICAgdHJhbnNpdGlvbi1kZWxheSA6IC4xNXM7XG4gICAgICAgIHRyYW5zZm9ybSA6IHRyYW5zbGF0ZVkoLTUwJSkgcm90YXRlKC00NWRlZyk7XG4gICAgfVxufVxuXG4uYnRuLS10cmFuc3BhcmVudCB7XG4gICAgZm9udC1mYW1pbHkgOiAkdGV4dF9fZmFtaWx5LXNhbnMtLXRpdGxlO1xuICAgIGZvbnQtc2l6ZSA6IHJlbSgxMik7XG4gICAgbGluZS1oZWlnaHQgOiAxLjI7XG5cbiAgICBwb3NpdGlvbiA6IHJlbGF0aXZlO1xuXG4gICAgcGFkZGluZyA6IDIycHggMjVweDtcblxuICAgIHRyYW5zaXRpb24gOiBiYWNrZ3JvdW5kLWNvbG9yIC4ycyAkZWFzZUluT3V0UXVhZCwgY29sb3IgLjJzICRlYXNlSW5PdXRRdWFkO1xuICAgIGxldHRlci1zcGFjaW5nIDogcmVtKDMpO1xuICAgIHRleHQtdHJhbnNmb3JtIDogdXBwZXJjYXNlO1xuXG4gICAgY29sb3IgOiAkY29sb3JfX25ldXRyYWwtLWRhcms7XG4gICAgYm9yZGVyIDogbm9uZTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yIDogdHJhbnNwYXJlbnQ7XG5cbiAgICBAZXh0ZW5kICVyZWd1bGFyO1xuXG4gICAgc3BhbiB7XG4gICAgICAgIHBvc2l0aW9uIDogcmVsYXRpdmU7XG4gICAgICAgIHotaW5kZXggOiAxMDtcbiAgICB9XG5cbiAgICAmOmhvdmVyLFxuICAgICY6Zm9jdXMge1xuICAgICAgICBiYWNrZ3JvdW5kIDogZGFya2VuKCRjb2xvcl9fcHJpbWFyeSwgOCk7XG4gICAgfVxuXG4gICAgJi0tY29tcGFjdCB7XG4gICAgICAgIHBhZGRpbmc6IDEwcHggMjVweDtcbiAgICB9XG5cbiAgICAmLS1oaWRlIHtcbiAgICAgICAgb3BhY2l0eSA6IDA7XG4gICAgfVxuXG4gICAgJi0tc3Ryb2tlIHtcbiAgICAgICAgY29sb3I6ICRjb2xvcl9fcHJpbWFyeTtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvciA6IHRyYW5zcGFyZW50O1xuICAgICAgICBib3JkZXI6IDJweCBzb2xpZCAkY29sb3JfX3ByaW1hcnk7XG4gICAgICAgICY6aG92ZXIsXG4gICAgICAgICY6Zm9jdXMge1xuICAgICAgICAgICAgY29sb3IgOiAkY29sb3JfX3NlY29uZGFyeTtcbiAgICAgICAgICAgIHRyYW5zaXRpb24gOiBjb2xvciAuMnMgbGluZWFyO1xuICAgICAgICAgICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmOmRpc2FibGVkIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvciA6ICRjb2xvcl9fbmV1dHJhbC0tZGFyaztcbiAgICAgICAgY29sb3I6ICRjb2xvcl9fYmxhY2s7XG4gICAgICAgIGN1cnNvcjogbm90LWFsbG93ZWQ7XG4gICAgfVxufVxuIiwiZm9ybSB7XG4gICAgaW5wdXQsIHNlbGVjdCwgdGV4dGFyZWEsIC5kay1zZWxlY3RlZCwgLmRrLXNlbGVjdC1vcHRpb25zICB7XG4gICAgICAgIGZvbnQtZmFtaWx5OiAkdGV4dF9fZmFtaWx5LXNhbnM7XG4gICAgICAgIGZvbnQtc2l6ZTogMTNweDtcbiAgICAgICAgbGV0dGVyLXNwYWNpbmc6IG5vcm1hbDtcbiAgICB9XG5cbiAgICAubmYtZmllbGQtbGFiZWwge1xuICAgICAgICBmb250LXNpemU6IDE0cHg7XG4gICAgfVxuXG4gICAgZmllbGRzZXQge1xuICAgICAgICBtYXJnaW4tYm90dG9tIDogMzBweDtcbiAgICAgICAgcGFkZGluZyA6IDA7XG5cbiAgICAgICAgYm9yZGVyIDogbm9uZTtcblxuICAgICAgICAmOmxhc3QtY2hpbGQge1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbSA6IDA7XG4gICAgICAgIH1cbiAgICB9XG59XG5cbi5mb3JtIHtcbiAgICBAZXh0ZW5kICVyZWd1bGFyO1xuXG5cbiAgICAmX19ub3RpY2Uge1xuICAgICAgICBmb250LXNpemUgOiByZW0oMTMpO1xuXG4gICAgICAgIG1hcmdpbi1ib3R0b20gOiByZW0oMzApO1xuICAgICAgICBwYWRkaW5nIDogcmVtKDE1KSByZW0oMjApO1xuXG4gICAgICAgIHRleHQtYWxpZ24gOiBjZW50ZXI7XG5cbiAgICAgICAgY29sb3IgOiAkY29sb3JfX3ByaW1hcnk7XG4gICAgICAgIGJvcmRlciA6IHJlbSgxKSBzb2xpZCAkY29sb3JfX3ByaW1hcnk7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3IgOiByZ2JhKCRjb2xvcl9fcHJpbWFyeSwgLjIpO1xuXG4gICAgICAgIHAge1xuICAgICAgICAgICAgbWFyZ2luLXRvcCA6IDA7XG4gICAgICAgIH1cblxuICAgICAgICAmLS1lcnJvcnMge1xuICAgICAgICAgICAgY29sb3IgOiAkY29sb3JfX2Vycm9ycztcbiAgICAgICAgICAgIGJvcmRlci1jb2xvciA6ICRjb2xvcl9fZXJyb3JzO1xuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvciA6IHJnYmEoJGNvbG9yX19lcnJvcnMsIC4yKTtcbiAgICAgICAgfVxuXG4gICAgICAgICYtLXN1Y2Nlc3Mge1xuICAgICAgICAgICAgY29sb3IgOiAkY29sb3JfX3N1Y2Nlc3M7XG4gICAgICAgICAgICBib3JkZXItY29sb3IgOiAkY29sb3JfX3N1Y2Nlc3M7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yIDogcmdiYSgkY29sb3JfX3N1Y2Nlc3MsIC4yKTtcbiAgICAgICAgfVxuXG4gICAgICAgICYtLWlzLWhpZGRlbiB7XG4gICAgICAgICAgICBkaXNwbGF5IDogbm9uZTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgICZfX3N1Ym1pdCB7XG4gICAgICAgIHBvc2l0aW9uIDogcmVsYXRpdmU7XG5cbiAgICAgICAgc3BhbiB7XG4gICAgICAgICAgICB0cmFuc2l0aW9uIDogb3BhY2l0eSAuMnMgJGVhc2VJbk91dFF1YWQ7XG4gICAgICAgIH1cblxuICAgICAgICAmOjpiZWZvcmUge1xuICAgICAgICAgICAgQGluY2x1ZGUgc3F1YXJlKHJlbSgyMCkpO1xuXG4gICAgICAgICAgICBmb250LXNpemUgOiByZW0oMjApO1xuICAgICAgICAgICAgbGluZS1oZWlnaHQgOiAxO1xuXG4gICAgICAgICAgICBwb3NpdGlvbiA6IGFic29sdXRlO1xuICAgICAgICAgICAgei1pbmRleCA6IDA7XG4gICAgICAgICAgICB0b3AgOiA1MCU7XG4gICAgICAgICAgICBsZWZ0IDogNTAlO1xuXG4gICAgICAgICAgICBkaXNwbGF5IDogYmxvY2s7XG5cbiAgICAgICAgICAgIG1hcmdpbi10b3AgOiByZW0oLTEwKTtcbiAgICAgICAgICAgIG1hcmdpbi1sZWZ0IDogcmVtKC0xMCk7XG5cbiAgICAgICAgICAgIHRyYW5zaXRpb24gOiBvcGFjaXR5IC4ycyAkZWFzZUluT3V0UXVhZDtcbiAgICAgICAgICAgIHRyYW5zZm9ybS1vcmlnaW4gOiA1MCUgNTAlO1xuICAgICAgICAgICAgYW5pbWF0aW9uIDogcm90YXRpbmcgLjhzIGluZmluaXRlIGJvdGg7XG5cbiAgICAgICAgICAgIG9wYWNpdHkgOiAwO1xuICAgICAgICB9XG5cbiAgICAgICAgJi5pcy1sb2FkIHtcbiAgICAgICAgICAgIGN1cnNvciA6IG5vbmU7XG5cbiAgICAgICAgICAgIHNwYW4ge1xuICAgICAgICAgICAgICAgIG9wYWNpdHkgOiAwO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAmOjpiZWZvcmUge1xuICAgICAgICAgICAgICAgIG9wYWNpdHkgOiAxO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgJl9fcmVzcG9uc2Uge1xuICAgICAgICBmb250LXNpemUgOiByZW0oMTMpO1xuXG4gICAgICAgIHRleHQtYWxpZ24gOiBjZW50ZXI7XG4gICAgfVxufVxuXG4uZmllbGQge1xuICAgIHBvc2l0aW9uIDogcmVsYXRpdmU7XG5cbiAgICBtYXJnaW4tYm90dG9tIDogcmVtKDIyKTtcbiAgICBjbGVhcjogYm90aDtcblxuICAgICY6bGFzdC1jaGlsZCB7XG4gICAgICAgIG1hcmdpbi1ib3R0b20gOiAwO1xuICAgIH1cblxuICAgICYtLWljb24ge1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cbiAgICAgICAgJjo6YmVmb3JlIHtcbiAgICAgICAgICAgIGZvbnQtc2l6ZSA6IHJlbSgxOCk7XG4gICAgICAgICAgICBsaW5lLWhlaWdodCA6IDE7XG5cbiAgICAgICAgICAgIHBvc2l0aW9uIDogYWJzb2x1dGU7XG4gICAgICAgICAgICB6LWluZGV4OiAxMDtcbiAgICAgICAgICAgIHRvcCA6IDUwJTtcbiAgICAgICAgICAgIGxlZnQgOiByZW0oMjEpO1xuXG4gICAgICAgICAgICB0cmFuc2Zvcm0gOiB0cmFuc2xhdGUzZCgwLCAtNTAlLCAwKTtcblxuICAgICAgICAgICAgb3BhY2l0eSA6IC41O1xuICAgICAgICAgICAgY29sb3IgOiAkdGV4dF9fY29sb3ItLWJhc2U7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmLS1oYWxmIHtcbiAgICAgICAgY2xlYXI6IG5vbmU7XG4gICAgICAgIHdpZHRoOiBjYWxjKCAoIDEwMCUgLSAzMHB4ICkgLyAyKTtcbiAgICAgICAgZmxvYXQ6IGxlZnQ7XG4gICAgICAgIG1hcmdpbi1yaWdodDogMzBweDtcbiAgICAgICAgJiArIC5maWVsZCB7XG4gICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gICAgICAgIH1cblxuICAgICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA3MDBweCkge1xuICAgICAgICAgICAgZmxvYXQ6IG5vbmU7XG4gICAgICAgICAgICB3aWR0aDogYXV0bztcbiAgICAgICAgICAgIG1hcmdpbi1yaWdodDogYXV0bztcbiAgICAgICAgfVxuICAgIH1cblxuICAgICZfX3JlcXVpcmVkLFxuICAgICZfX3JlcXVpcmVkW3RpdGxlXSB7XG4gICAgICAgIHRleHQtZGVjb3JhdGlvbiA6IG5vbmU7XG5cbiAgICAgICAgY29sb3IgOiByZWQ7XG4gICAgICAgIGJvcmRlciA6IG5vbmU7XG4gICAgfVxufVxuXG4uYWN0aW9uIHtcbiAgICAmLmlzLXJlY2FwdGNoYSB7XG4gICAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6ICRtb2JpbGUpIHtcbiAgICAgICAgICAgIGRpc3BsYXkgOiBmbGV4O1xuICAgICAgICAgICAgZmxleC1kaXJlY3Rpb24gOiByb3ctcmV2ZXJzZTtcblxuICAgICAgICAgICAganVzdGlmeS1jb250ZW50IDogc3BhY2UtYmV0d2VlbjtcblxuICAgICAgICAgICAgLmJ0biB7XG4gICAgICAgICAgICAgICAgbWFyZ2luLXJpZ2h0IDogcmVtKDIyKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC5ncmVjYXB0Y2hhLWJhZGdlIHtcbiAgICAgICAgICAgIGJveC1zaGFkb3cgOiBub25lIWltcG9ydGFudDtcblxuICAgICAgICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogJG1vYmlsZSkge1xuICAgICAgICAgICAgICAgIG1hcmdpbjogYXV0bztcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6ICRtb2JpbGUpIHtcbiAgICAgICAgICAgIHRleHQtYWxpZ24gOiBjZW50ZXI7XG5cbiAgICAgICAgICAgIC5idG4ge1xuICAgICAgICAgICAgICAgIG1hcmdpbi10b3AgOiByZW0oMzApO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxufVxuXG4uaW5wdXQge1xuICAgIEBpbmNsdWRlIHBsYWNlaG9sZGVyKHJnYmEoJHRleHRfX2NvbG9yLS1iYXNlLCAuNSkpO1xuXG4gICAgZm9udC1zaXplIDogcmVtKDEzKTtcblxuICAgIGJveC1zaXppbmcgOiBib3JkZXItYm94O1xuXG4gICAgY29sb3IgOiAkdGV4dF9fY29sb3ItLWJhc2U7XG5cbiAgICAmLS10ZXh0IHtcbiAgICAgICAgd2lkdGggOiAxMDAlO1xuICAgICAgICBwYWRkaW5nIDogcmVtKDIwKSByZW0oNTApO1xuXG4gICAgICAgIGJvcmRlciA6IG5vbmU7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3IgOiAkY29sb3JfX3doaXRlO1xuICAgIH1cblxuICAgICYtLWNoZWNrYm94LFxuICAgICYtLXJhZGlvIHtcbiAgICAgICAgcG9zaXRpb24gOiBhYnNvbHV0ZTtcbiAgICAgICAgei1pbmRleCA6IDA7XG5cbiAgICAgICAgd2lkdGggOiAwO1xuICAgICAgICBoZWlnaHQgOiAwO1xuXG4gICAgICAgIG9wYWNpdHkgOiAwO1xuXG4gICAgICAgICY6Y2hlY2tlZCArIGxhYmVsOjphZnRlciB7XG4gICAgICAgICAgICBvcGFjaXR5IDogMTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgICY6Zm9jdXMge1xuICAgICAgICBvdXRsaW5lIDogbm9uZTtcbiAgICB9XG5cbiAgICAmLS1kYXJrZW4ge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yIDogJGNvbG9yX19uZXV0cmFsLS1saWdodDtcbiAgICB9XG59XG5cbnRleHRhcmVhIHtcbiAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogMTUwcHg7XG4gICAgYm9yZGVyOiAxcHggc29saWQgJGNvbG9yX19uZXV0cmFsO1xuICAgIHJlc2l6ZTogdmVydGljYWw7XG4gICAgb3V0bGluZTogbm9uZTtcbiAgICBwYWRkaW5nOiAxZW07XG4gICAgbGluZS1oZWlnaHQ6IDEuNTtcbn1cblxuLmxhYmVsIHtcbiAgICBmb250LXNpemUgOiByZW0oMTMpO1xuXG4gICAgcG9zaXRpb24gOiByZWxhdGl2ZTtcblxuICAgIGN1cnNvciA6IHBvaW50ZXI7XG4gICAgbGV0dGVyLXNwYWNpbmcgOiByZW0oLjUpO1xuXG4gICAgY29sb3IgOiByZ2JhKCR0ZXh0X19jb2xvci0tYmFzZSwgLjUpO1xuXG4gICAgJi0taGlkZGVuIHtcbiAgICAgICAgQGluY2x1ZGUgaGlkZS10ZXh0KCk7XG5cbiAgICAgICAgcG9zaXRpb24gOiBhYnNvbHV0ZTtcbiAgICB9XG5cbiAgICAmLS1jZW50ZXIge1xuICAgICAgICBsZWZ0IDogNTAlO1xuXG4gICAgICAgIHRyYW5zZm9ybSA6IHRyYW5zbGF0ZTNkKC01MCUsIDAsIDApO1xuICAgIH1cblxuICAgICYtLWNoZWNrYm94LFxuICAgICYtLXJhZGlvIHtcbiAgICAgICAgZGlzcGxheSA6IGlubGluZS1ibG9jaztcbiAgICAgICAgcGFkZGluZy1sZWZ0IDogMjhweDtcblxuICAgICAgICAmOjpiZWZvcmUge1xuICAgICAgICAgICAgcG9zaXRpb24gOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgIHRvcCA6IDJweDtcbiAgICAgICAgICAgIGxlZnQgOiAwO1xuXG4gICAgICAgICAgICBkaXNwbGF5IDogaW5saW5lLWJsb2NrO1xuXG4gICAgICAgICAgICBib3gtc2l6aW5nIDogYm9yZGVyLWJveDtcbiAgICAgICAgICAgIHdpZHRoIDogMThweDtcbiAgICAgICAgICAgIGhlaWdodCA6IDE4cHg7XG5cbiAgICAgICAgICAgIGNvbnRlbnQgOiBcIlwiO1xuICAgICAgICAgICAgdmVydGljYWwtYWxpZ24gOiB0b3A7XG5cbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3IgOiAkY29sb3JfX3doaXRlO1xuICAgICAgICB9XG5cbiAgICAgICAgJjo6YWZ0ZXIge1xuICAgICAgICAgICAgcG9zaXRpb24gOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgIHRvcCA6IDhweDtcbiAgICAgICAgICAgIGxlZnQgOiA2cHg7XG5cbiAgICAgICAgICAgIGRpc3BsYXkgOiBibG9jaztcblxuICAgICAgICAgICAgd2lkdGggOiA1cHg7XG4gICAgICAgICAgICBoZWlnaHQgOiA1cHg7XG5cbiAgICAgICAgICAgIGNvbnRlbnQgOiBcIlwiO1xuICAgICAgICAgICAgdHJhbnNpdGlvbiA6IG9wYWNpdHkgLjJzICRlYXNlSW5PdXRRdWFkO1xuICAgICAgICAgICAgdmVydGljYWwtYWxpZ24gOiBtaWRkbGU7XG5cbiAgICAgICAgICAgIG9wYWNpdHkgOiAwO1xuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvciA6ICRjb2xvcl9fcHJpbWFyeTtcbiAgICAgICAgfVxuXG4gICAgICAgICYtLWRhcmtlbiB7XG4gICAgICAgICAgICAmOjpiZWZvcmUge1xuICAgICAgICAgICAgICAgIGJvcmRlciA6IDFweCBzb2xpZCAjYTdhN2E4O1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgJi0tcmFkaW8ge1xuICAgICAgICAmOjpiZWZvcmUge1xuICAgICAgICAgICAgYm9yZGVyLXJhZGl1cyA6IDUwJTtcbiAgICAgICAgfVxuXG4gICAgICAgICY6OmFmdGVyIHtcbiAgICAgICAgICAgIGJvcmRlci1yYWRpdXMgOiA1MCU7XG4gICAgICAgIH1cbiAgICB9XG59XG5cbi8qKioqKioqKioqKioqKioqKioqKioqKioqXG5Gb3JtIE1lc3NhZ2VcbioqKioqKioqKioqKioqKioqKioqKioqKiovXG4ubm9vX19mb3JtX19tZXNzYWdlIHtcbiAgICBmb250LXNpemU6IDE0cHg7XG4gICAgbGluZS1oZWlnaHQ6IDEuNTtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAxMDAlO1xuICAgIGxlZnQ6IDUwJTtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICBtaW4td2lkdGg6IDIwMHB4O1xuICAgIG1heC13aWR0aDogNTAwcHg7XG4gICAgcGFkZGluZzogOHB4IDMwcHg7XG4gICAgbWFyZ2luOiAwO1xuICAgIG1hcmdpbi10b3A6IC0xMHB4O1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTUwJSwgMCwgMCk7XG4gICAgY29sb3I6ICRjb2xvcl9fd2hpdGU7XG4gICAgYm9yZGVyLXJhZGl1czogNXB4O1xuICAgIGJhY2tncm91bmQ6ICRjb2xvcl9fcHJpbWFyeTtcbiAgICBib3gtc2hhZG93OiAwIDE1cHggNnB4IC0xMHB4IHJnYmEoMTIwLCAyNSwgMjUsIC4xKTtcblxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6ICN7JG1vYmlsZX1weCkge1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICB9XG5cbiAgICAmOjpiZWZvcmUge1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHRvcDogMDtcbiAgICAgICAgbGVmdDogNTAlO1xuICAgICAgICB3aWR0aDogMDtcbiAgICAgICAgaGVpZ2h0OiAwO1xuICAgICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC01MCUsIC0xMDAlLCAwKTtcbiAgICAgICAgYm9yZGVyLXJpZ2h0OiA1cHggc29saWQgdHJhbnNwYXJlbnQ7XG4gICAgICAgIGJvcmRlci1ib3R0b206IDVweCBzb2xpZCAkY29sb3JfX3ByaW1hcnk7XG4gICAgICAgIGJvcmRlci1sZWZ0OiA1cHggc29saWQgdHJhbnNwYXJlbnQ7XG4gICAgfVxuXG4gICAgJi5pcy1zdWNjZXNzIHtcbiAgICAgICAgYmFja2dyb3VuZDogIzI2YTA1MTtcbiAgICAgICAgYm94LXNoYWRvdzogMCAxNXB4IDZweCAtMTBweCByZ2JhKCMyNmEwNTEsIC4xKTtcblxuICAgICAgICAmOjpiZWZvcmV7XG4gICAgICAgICAgICBib3JkZXItYm90dG9tLWNvbG9yOiAjMjZhMDUxO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgJi4tLWVycm9yIHtcbiAgICAgICAgYW5pbWF0aW9uIDogc3dpbmdfc2hvdyAuMzVzICRlYXNlSW5FeHBvO1xuICAgICAgICBtYXJnaW4tYm90dG9tOiBhdXRvO1xuICAgICAgICBjb2xvciA6ICRjb2xvcl9fcHJpbWFyeTtcbiAgICB9XG59XG5cbi8qKioqKioqKioqKioqKioqKioqKioqKioqXG5OSU5KQSBGT1JNU1xuKioqKioqKioqKioqKioqKioqKioqKioqKi9cblxuLm5mLWZvcm0td3JhcCB7XG4gICAgQGluY2x1ZGUgY2xlYXJmaXgoKTtcblxuICAgIG1hcmdpbiA6IHJlbSg1MCkgMDtcblxuICAgIC5uZi1mb3JtLWZpZWxkcy1yZXF1aXJlZCB7XG4gICAgICAgIGZvbnQtc2l6ZSA6IHJlbSgxNCk7XG4gICAgICAgIGZvbnQtc3R5bGUgOiBpdGFsaWM7XG5cbiAgICAgICAgbWFyZ2luLWJvdHRvbSA6IHJlbSgxMCk7XG5cbiAgICAgICAgdGV4dC1hbGlnbiA6IHJpZ2h0O1xuICAgIH1cblxuICAgIC5uZi1lcnJvci1tc2cge1xuICAgICAgICBmb250LXNpemUgOiByZW0oMTQpO1xuICAgICAgICBmb250LXN0eWxlIDogaXRhbGljO1xuICAgIH1cblxuICAgIC5zdWJtaXQtY29udGFpbmVyIHtcbiAgICAgICAgQGluY2x1ZGUgbWVkaWEtbW9iaWxlKCkge1xuICAgICAgICAgICAgdGV4dC1hbGlnbiA6IGNlbnRlcjtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5uZi1maWVsZC1jb250YWluZXIge1xuICAgICAgICBib3gtc2l6aW5nIDogYm9yZGVyLWJveDtcbiAgICAgICAgcGFkZGluZyA6IDA7XG5cbiAgICAgICAgJi5taWRkbGUge1xuICAgICAgICAgICAgQGluY2x1ZGUgbWVkaWEtbW9iaWxlKCkge1xuICAgICAgICAgICAgICAgIHdpZHRoIDogMTAwJTtcbiAgICAgICAgICAgICAgICBtYXJnaW4tcmlnaHQgOiAwO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBmbG9hdCA6IGxlZnQ7XG4gICAgICAgICAgICBjbGVhciA6IG5vbmU7XG5cbiAgICAgICAgICAgIHdpZHRoIDogc3Bhbig2KTtcbiAgICAgICAgICAgIG1hcmdpbi1yaWdodCA6IGd1dHRlcigpO1xuXG4gICAgICAgICAgICAmLS1sYXN0IHtcbiAgICAgICAgICAgICAgICBtYXJnaW4tcmlnaHQgOiAwO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgaW5wdXQ6bm90KFt0eXBlPXN1Ym1pdF0pLFxuICAgICAgICB0ZXh0YXJlYSB7XG4gICAgICAgICAgICBAaW5jbHVkZSBwbGFjZWhvbGRlcihyZ2JhKCR0ZXh0X19jb2xvci0tYmFzZSwgLjUpKTtcblxuICAgICAgICAgICAgZm9udC1zaXplIDogcmVtKDEzKTtcblxuICAgICAgICAgICAgYm94LXNpemluZyA6IGJvcmRlci1ib3g7XG4gICAgICAgICAgICB3aWR0aCA6IDEwMCU7XG4gICAgICAgICAgICBwYWRkaW5nIDogcmVtKDIwKSByZW0oMjApO1xuXG4gICAgICAgICAgICBib3JkZXIgOiBub25lO1xuXG4gICAgICAgICAgICBjb2xvciA6ICR0ZXh0X19jb2xvci0tYmFzZTtcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3IgOiAkY29sb3JfX3doaXRlO1xuXG5cdFx0XHQucGFnZV9fYWNjb3VudCAmIHtcblx0XHRcdFx0Y29sb3IgOiAkdGV4dF9fY29sb3ItLWJhc2U7XG4gICAgICAgICAgICBcdGJhY2tncm91bmQtY29sb3IgOiAkY29sb3JfX25ldXRyYWwtLWxpZ2h0O1xuXHRcdFx0fVxuXG4gICAgICAgICAgICAmOmZvY3VzIHtcbiAgICAgICAgICAgICAgICBvdXRsaW5lIDogbm9uZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIHRleHRhcmVhIHtcbiAgICAgICAgICAgIGxpbmUtaGVpZ2h0IDogMS42O1xuXG4gICAgICAgICAgICByZXNpemUgOiB2ZXJ0aWNhbDtcbiAgICAgICAgfVxuXG4gICAgICAgIGlucHV0W3R5cGU9XCJidXR0b25cIl0ge1xuICAgICAgICAgICAgbGluZS1oZWlnaHQgOiByZW0oNjApO1xuXG4gICAgICAgICAgICBoZWlnaHQgOiByZW0oNjApO1xuICAgICAgICAgICAgbWFyZ2luLXRvcCA6IHJlbSg3KTtcbiAgICAgICAgICAgIHBhZGRpbmcgOiAwIHJlbSgyNSk7XG5cbiAgICAgICAgICAgIGNvbG9yIDogJGNvbG9yX193aGl0ZTtcbiAgICAgICAgICAgIGJhY2tncm91bmQgOiAkY29sb3JfX3ByaW1hcnk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAubmYtZmllbGQtZWxlbWVudCBzZWxlY3Qge1xuICAgICAgICBAaW5jbHVkZSBhcHBlYXJhbmNlKCk7XG4gICAgICAgIGJvcmRlcjogbm9uZTtcbiAgICAgICAgb3V0bGluZTogbm9uZTtcblxuICAgICAgICBoZWlnaHQ6IDU0cHg7XG4gICAgICAgIHBhZGRpbmctbGVmdDogMS41ZW07XG4gICAgICAgIGZvbnQtc2l6ZSA6IHJlbSgxMyk7XG5cbiAgICAgICAgY29sb3I6ICR0ZXh0X19jb2xvci0tYmFzZTtcbiAgICAgICAgY29sb3I6IHJnYmEoJHRleHRfX2NvbG9yLS1iYXNlLCAuNSk7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3IgOiAkY29sb3JfX3doaXRlO1xuXG5cdFx0LnBhZ2VfX2FjY291bnQgJiB7XG5cdFx0XHRjb2xvciA6ICR0ZXh0X19jb2xvci0tYmFzZTtcblx0XHRcdGJhY2tncm91bmQtY29sb3IgOiAkY29sb3JfX25ldXRyYWwtLWxpZ2h0O1xuXHRcdH1cbiAgICB9XG59XG5cbi5jb250YWN0LWNhdGVnb3J5LWNob29zZSAubmYtZmllbGQtZWxlbWVudCBsaTpsYXN0LWNoaWxkIHtcblx0bWFyZ2luLXRvcDogMS4zZW0gIWltcG9ydGFudDtcbn1cblxuLm5mLWZvcm0tY29udGVudCAubmYtbmV4dC1wcmV2aW91cyB7XG5cdG1hcmdpbjogMCAhaW1wb3J0YW50OyAvLyBSZW1vdmUgdWwgc3BhY2luZ1xufVxuXG4ubmYtZm9ybS1jb250ZW50IC5uZi1wcmV2aW91cy1pdGVtLCAubmYtZm9ybS1jb250ZW50IC5uZi1uZXh0LWl0ZW0ge1xuXHQmOmJlZm9yZSwgJjphZnRlciB7XG5cdFx0ZGlzcGxheTogbm9uZTtcblx0fVxuXG5cdC5uZi1wcmV2aW91cywgLm5mLW5leHQge1xuXHRcdGN1cnNvcjogcG9pbnRlcjtcblx0XHRAZXh0ZW5kIC5idG47XG5cdH1cblxuXHQubmYtcHJldmlvdXMge1xuXHRcdGJhY2tncm91bmQtY29sb3I6ICRjb2xvcl9fbmV1dHJhbC0tZGFyaztcblx0XHRjb2xvcjogJGNvbG9yX19ibGFjaztcblxuXHRcdCY6aG92ZXIsXG4gICAgXHQmOmZvY3VzIHtcblx0XHRcdGNvbG9yOiAkY29sb3JfX3doaXRlO1xuXHRcdH1cblx0fVxufVxuXG4ubmYtZm9ybS13cmFwIC5zdWJtaXQtY29udGFpbmVyIHtcblx0Lm5mLWZpZWxkLWVsZW1lbnQgaW5wdXQge1xuXHRcdGN1cnNvcjogcG9pbnRlcjtcblx0XHRAZXh0ZW5kIC5idG47XG5cdH1cbn1cbi5uZi1mb3JtLXdyYXAgLm5tYy1yZWdpc3Rlci1zdWJtaXQge1xuXHRtYXJnaW4tYm90dG9tOiAwICFpbXBvcnRhbnQ7XG5cblx0Lm5mLWZpZWxkIHtcblx0XHRwb3NpdGlvbjogYWJzb2x1dGU7XG5cdFx0cmlnaHQ6IDA7XG5cdH1cblxuXHQubmYtZmllbGQtZWxlbWVudCBpbnB1dCB7XG5cdFx0Y3Vyc29yOiBwb2ludGVyO1xuXHRcdEBleHRlbmQgLmJ0bjtcblx0fVxufVxuIiwiLy8vIEdyaWQgTWF0aCBFbmdpbmVcbi8vLyA9PT09PT09PT09PT09PT09XG4vLy8gVGhlIGBzdWAgZnVuY3Rpb25zIGdpdmUgeW91IGRpcmVjdCBhY2Nlc3MgdG8gdGhlIG1hdGggbGF5ZXIsXG4vLy8gd2l0aG91dCBhbnkgc3ludGF4LXN1Z2FyIGxpa2Ugc2hvcnRoYW5kIHBhcnNpbmcsIGFuZCBub3JtYWxpemF0aW9uLlxuLy8vIElmIHlvdSBwcmVmZXIgbmFtZWQgYXJndW1lbnRzLCBhbmQgc3RyaXBwZWQtZG93biBzeW50YXgsXG4vLy8geW91IGNhbiB1c2UgdGhlc2UgZnVuY3Rpb25zIGRpcmVjdGx5IGluIHlvdXIgY29kZSDigJNcbi8vLyByZXBsYWNpbmcgYHNwYW5gLCBgZ3V0dGVyYCwgYW5kIGBzbGljZWAuXG4vLy9cbi8vLyBUaGVzZSBmdW5jdGlvbnMgYXJlIGFsc28gdXNlZnVsXG4vLy8gZm9yIGJ1aWxkaW5nIG1peGlucyBvciBvdGhlciBleHRlbnNpb25zIHRvIFN1c3kuXG4vLy8gQXBwbHkgdGhlIFN1c3kgc3ludGF4IHRvIG5ldyBtaXhpbnMgYW5kIGZ1bmN0aW9ucyxcbi8vLyB1c2luZyBvdXIgXCJQbHVnaW4gSGVscGVyc1wiLFxuLy8vIG9yIHdyaXRlIHlvdXIgb3duIHN5bnRheCBhbmQgcGFzcyB0aGUgbm9ybWFsaXplZCByZXN1bHRzIGFsb25nXG4vLy8gdG8gYHN1YCBmb3IgY29tcGlsYXRpb24uXG4vLy9cbi8vLyBAZ3JvdXAgc3UtbWF0aFxuLy8vXG4vLy8gQHNlZSBzdS1zcGFuXG4vLy8gQHNlZSBzdS1ndXR0ZXJcbi8vLyBAc2VlIHN1LXNsaWNlXG4vLy8gQGlnbm9yZSBfc3Utc3VtXG4vLy8gQGlnbm9yZSBfc3UtY2FsYy1zcGFuXG4vLy8gQGlnbm9yZSBfc3UtY2FsYy1zdW1cbi8vLyBAaWdub3JlIF9zdS1uZWVkcy1jYWxjLW91dHB1dFxuXG5cblxuLy8gU3UgU3BhblxuLy8gLS0tLS0tLVxuLy8vIENhbGN1bGF0ZXMgYW5kIHJldHVybnMgYSBDU1MtcmVhZHkgc3BhbiB3aWR0aCxcbi8vLyBiYXNlZCBvbiBub3JtYWxpemVkIHNwYW4gYW5kIGNvbnRleHQgZGF0YSDigJNcbi8vLyBhIGxvdy1sZXZlbCB2ZXJzaW9uIG9mIGBzdXN5LXNwYW5gLFxuLy8vIHdpdGggYWxsIG9mIHRoZSBsb2dpYyBhbmQgbm9uZSBvZiB0aGUgc3ludGF4IHN1Z2FyLlxuLy8vXG4vLy8gLSBHcmlkcyBkZWZpbmVkIHdpdGggdW5pdGxlc3MgbnVtYmVycyB3aWxsIHJldHVybiBgJWAgdmFsdWVzLlxuLy8vIC0gR3JpZHMgZGVmaW5lZCB3aXRoIGNvbXBhcmFibGUgdW5pdHNcbi8vLyAgIHdpbGwgcmV0dXJuIGEgdmFsdWUgaW4gdGhlIHVuaXRzIHByb3ZpZGVkLlxuLy8vIC0gR3JpZHMgZGVmaW5lZCB3aXRoIGEgbWl4IG9mIHVuaXRzLFxuLy8vICAgb3IgYSBjb21iaW5hdGlvbiBvZiB1bnRpbGVzcyBudW1iZXJzIGFuZCB1bml0LWxlbmd0aHMsXG4vLy8gICB3aWxsIHJldHVybiBhIGBjYWxjKClgIHN0cmluZy5cbi8vL1xuLy8vIEBncm91cCBzdS1tYXRoXG4vLy8gQHNlZSBzdXN5LXNwYW5cbi8vL1xuLy8vIEBwYXJhbSB7bnVtYmVyIHwgbGlzdH0gJHNwYW4gLVxuLy8vICAgTnVtYmVyIG9yIGxpc3Qgb2YgZ3JpZCBjb2x1bW5zIHRvIHNwYW5cbi8vLyBAcGFyYW0ge2xpc3R9ICRjb2x1bW5zIC1cbi8vLyAgIExpc3Qgb2YgY29sdW1ucyBhdmFpbGFibGVcbi8vLyBAcGFyYW0ge251bWJlcn0gJGd1dHRlcnMgLVxuLy8vICAgV2lkdGggb2YgYSBndXR0ZXIgaW4gY29sdW1uLWNvbXBhcmFibGUgdW5pdHNcbi8vLyBAcGFyYW0gezAgfCAxIHwgLTF9ICRzcHJlYWQgLVxuLy8vICAgTnVtYmVyIG9mIGd1dHRlcnMgc3Bhbm5lZCxcbi8vLyAgIHJlbGF0aXZlIHRvIGBzcGFuYCBjb3VudFxuLy8vIEBwYXJhbSB7MCB8IDEgfCAtMX0gJGNvbnRhaW5lci1zcHJlYWQgWyRzcHJlYWRdIC1cbi8vLyAgIE51bWJlciBvZiBndXR0ZXJzIHNwYW5uZWQsXG4vLy8gICByZWxhdGl2ZSB0byBgY29sdW1uc2AgY291bnRcbi8vLyBAcGFyYW0ge2ludGVnZXJ9ICRsb2NhdGlvbiBbMV0gLVxuLy8vICAgT3B0aW9uYWwgcG9zaXRpb24gb2Ygc3ViLXNwYW4gYW1vbmcgZnVsbCBzZXQgb2YgY29sdW1uc1xuLy8vXG4vLy8gQHJldHVybiB7bGVuZ3RofSAtXG4vLy8gICBSZWxhdGl2ZSBvciBzdGF0aWMgbGVuZ3RoIG9mIGEgc3BhbiBvbiB0aGUgZ3JpZFxuQGZ1bmN0aW9uIHN1LXNwYW4oXG4gICRzcGFuLFxuICAkY29sdW1ucyxcbiAgJGd1dHRlcnMsXG4gICRzcHJlYWQsXG4gICRjb250YWluZXItc3ByZWFkOiAkc3ByZWFkLFxuICAkbG9jYXRpb246IDFcbikge1xuICAkc3Bhbjogc3UtdmFsaWQtc3Bhbigkc3Bhbik7XG4gICRjb2x1bW5zOiBzdS12YWxpZC1jb2x1bW5zKCRjb2x1bW5zKTtcbiAgJGd1dHRlcnM6IHN1LXZhbGlkLWd1dHRlcnMoJGd1dHRlcnMpO1xuICAkc3ByZWFkOiBzdS12YWxpZC1zcHJlYWQoJHNwcmVhZCk7XG5cbiAgQGlmICh0eXBlLW9mKCRzcGFuKSA9PSAnbnVtYmVyJykge1xuICAgIEBpZiAobm90IHVuaXRsZXNzKCRzcGFuKSkge1xuICAgICAgQHJldHVybiAkc3BhbjtcbiAgICB9XG5cbiAgICAkbG9jYXRpb246IHN1LXZhbGlkLWxvY2F0aW9uKCRzcGFuLCAkbG9jYXRpb24sICRjb2x1bW5zKTtcbiAgICAkc3Bhbjogc3Utc2xpY2UoJHNwYW4sICRjb2x1bW5zLCAkbG9jYXRpb24sICR2YWxpZGF0ZTogZmFsc2UpO1xuICB9XG5cbiAgQGlmIF9zdS1uZWVkcy1jYWxjLW91dHB1dCgkc3BhbiwgJGNvbHVtbnMsICRndXR0ZXJzLCAkc3ByZWFkLCBub3QgJ3ZhbGlkYXRlJykge1xuICAgIEByZXR1cm4gX3N1LWNhbGMtc3Bhbigkc3BhbiwgJGNvbHVtbnMsICRndXR0ZXJzLCAkc3ByZWFkLCAkY29udGFpbmVyLXNwcmVhZCwgbm90ICd2YWxpZGF0ZScpO1xuICB9XG5cbiAgJHNwYW4td2lkdGg6IF9zdS1zdW0oJHNwYW4sICRndXR0ZXJzLCAkc3ByZWFkLCAkdmFsaWRhdGU6IGZhbHNlKTtcblxuICBAaWYgdW5pdGxlc3MoJHNwYW4td2lkdGgpIHtcbiAgICAkY29udGFpbmVyLXNwcmVhZDogc3UtdmFsaWQtc3ByZWFkKCRjb250YWluZXItc3ByZWFkKTtcbiAgICAkY29udGFpbmVyOiBfc3Utc3VtKCRjb2x1bW5zLCAkZ3V0dGVycywgJGNvbnRhaW5lci1zcHJlYWQsICR2YWxpZGF0ZTogZmFsc2UpO1xuICAgIEByZXR1cm4gcGVyY2VudGFnZSgkc3Bhbi13aWR0aCAvICRjb250YWluZXIpO1xuICB9XG5cbiAgQHJldHVybiAkc3Bhbi13aWR0aDtcbn1cblxuXG5cbi8vIFN1IEd1dHRlclxuLy8gLS0tLS0tLS0tXG4vLy8gQ2FsY3VsYXRlcyBhbmQgcmV0dXJucyBhIENTUy1yZWFkeSBndXR0ZXIgd2lkdGgsXG4vLy8gYmFzZWQgb24gbm9ybWFsaXplZCBncmlkIGRhdGEg4oCTXG4vLy8gYSBsb3ctbGV2ZWwgdmVyc2lvbiBvZiBgc3VzeS1ndXR0ZXJgLFxuLy8vIHdpdGggYWxsIG9mIHRoZSBsb2dpYyBhbmQgbm9uZSBvZiB0aGUgc3ludGF4IHN1Z2FyLlxuLy8vXG4vLy8gLSBHcmlkcyBkZWZpbmVkIHdpdGggdW5pdGxlc3MgbnVtYmVycyB3aWxsIHJldHVybiBgJWAgdmFsdWVzLlxuLy8vIC0gR3JpZHMgZGVmaW5lZCB3aXRoIGNvbXBhcmFibGUgdW5pdHNcbi8vLyAgIHdpbGwgcmV0dXJuIGEgdmFsdWUgaW4gdGhlIHVuaXRzIHByb3ZpZGVkLlxuLy8vIC0gR3JpZHMgZGVmaW5lZCB3aXRoIGEgbWl4IG9mIHVuaXRzLFxuLy8vICAgb3IgYSBjb21iaW5hdGlvbiBvZiB1bnRpbGVzcyBudW1iZXJzIGFuZCB1bml0LWxlbmd0aHMsXG4vLy8gICB3aWxsIHJldHVybiBhIGBjYWxjKClgIHN0cmluZy5cbi8vL1xuLy8vIEBncm91cCBzdS1tYXRoXG4vLy8gQHNlZSBzdXN5LWd1dHRlclxuLy8vXG4vLy8gQHBhcmFtIHtsaXN0fSAkY29sdW1ucyAtXG4vLy8gICBMaXN0IG9mIGNvbHVtbnMgaW4gdGhlIGdyaWRcbi8vLyBAcGFyYW0ge251bWJlcn0gJGd1dHRlcnMgLVxuLy8vICAgV2lkdGggb2YgYSBndXR0ZXIgaW4gY29sdW1uLWNvbXBhcmFibGUgdW5pdHNcbi8vLyBAcGFyYW0gezAgfCAxIHwgLTF9ICRjb250YWluZXItc3ByZWFkIC1cbi8vLyAgIE51bWJlciBvZiBndXR0ZXJzIHNwYW5uZWQsXG4vLy8gICByZWxhdGl2ZSB0byBgY29sdW1uc2AgY291bnRcbi8vL1xuLy8vIEByZXR1cm4ge2xlbmd0aH0gLVxuLy8vICAgUmVsYXRpdmUgb3Igc3RhdGljIGxlbmd0aCBvZiBvbmUgZ3V0dGVyIGluIGEgZ3JpZFxuQGZ1bmN0aW9uIHN1LWd1dHRlcihcbiAgJGNvbHVtbnMsXG4gICRndXR0ZXJzLFxuICAkY29udGFpbmVyLXNwcmVhZFxuKSB7XG4gIEBpZiAodHlwZS1vZigkZ3V0dGVycykgPT0gJ251bWJlcicpIHtcbiAgICBAaWYgKCRndXR0ZXJzID09IDApIG9yIChub3QgdW5pdGxlc3MoJGd1dHRlcnMpKSB7XG4gICAgICBAcmV0dXJuICRndXR0ZXJzO1xuICAgIH1cbiAgfVxuXG4gIEBpZiBfc3UtbmVlZHMtY2FsYy1vdXRwdXQoJGd1dHRlcnMsICRjb2x1bW5zLCAkZ3V0dGVycywgLTEsIG5vdCAndmFsaWRhdGUnKSB7XG4gICAgQHJldHVybiBfc3UtY2FsYy1zcGFuKCRndXR0ZXJzLCAkY29sdW1ucywgJGd1dHRlcnMsIC0xLCAkY29udGFpbmVyLXNwcmVhZCwgbm90ICd2YWxpZGF0ZScpO1xuICB9XG5cbiAgJGNvbnRhaW5lcjogX3N1LXN1bSgkY29sdW1ucywgJGd1dHRlcnMsICRjb250YWluZXItc3ByZWFkKTtcbiAgQHJldHVybiBwZXJjZW50YWdlKCRndXR0ZXJzIC8gJGNvbnRhaW5lcik7XG59XG5cblxuXG4vLyBTdSBTbGljZVxuLy8gLS0tLS0tLS1cbi8vLyBSZXR1cm5zIGEgbGlzdCBvZiBjb2x1bW5zXG4vLy8gYmFzZWQgb24gYSBnaXZlbiBzcGFuL2xvY2F0aW9uIHNsaWNlIG9mIHRoZSBncmlkIOKAk1xuLy8vIGEgbG93LWxldmVsIHZlcnNpb24gb2YgYHN1c3ktc2xpY2VgLFxuLy8vIHdpdGggYWxsIG9mIHRoZSBsb2dpYyBhbmQgbm9uZSBvZiB0aGUgc3ludGF4IHN1Z2FyLlxuLy8vXG4vLy8gQGdyb3VwIHN1LW1hdGhcbi8vLyBAc2VlIHN1c3ktc2xpY2Vcbi8vL1xuLy8vIEBwYXJhbSB7bnVtYmVyfSAkc3BhbiAtXG4vLy8gICBOdW1iZXIgb2YgZ3JpZCBjb2x1bW5zIHRvIHNwYW5cbi8vLyBAcGFyYW0ge2xpc3R9ICRjb2x1bW5zIC1cbi8vLyAgIExpc3Qgb2YgY29sdW1ucyBpbiB0aGUgZ3JpZFxuLy8vIEBwYXJhbSB7bnVtYmVyfSAkbG9jYXRpb24gWzFdIC1cbi8vLyAgIFN0YXJ0aW5nIGluZGV4IG9mIGEgc3BhbiBpbiB0aGUgbGlzdCBvZiBjb2x1bW5zXG4vLy8gQHBhcmFtIHtib29sfSAkdmFsaWRhdGUgW3RydWVdIC1cbi8vLyAgIENoZWNrIHRoYXQgYXJndW1lbnRzIGFyZSB2YWxpZCBiZWZvcmUgcHJvY2VlZGluZ1xuLy8vXG4vLy8gQHJldHVybiB7bGlzdH0gLVxuLy8vICAgU3Vic2V0IGxpc3Qgb2YgZ3JpZCBjb2x1bW5zLCBiYXNlZCBvbiBzcGFuIGFuZCBsb2NhdGlvblxuQGZ1bmN0aW9uIHN1LXNsaWNlKFxuICAkc3BhbixcbiAgJGNvbHVtbnMsXG4gICRsb2NhdGlvbjogMSxcbiAgJHZhbGlkYXRlOiB0cnVlXG4pIHtcbiAgQGlmICR2YWxpZGF0ZSB7XG4gICAgJGNvbHVtbnM6IHN1LXZhbGlkLWNvbHVtbnMoJGNvbHVtbnMpO1xuICAgICRsb2NhdGlvbjogc3UtdmFsaWQtbG9jYXRpb24oJHNwYW4sICRsb2NhdGlvbiwgJGNvbHVtbnMpO1xuICB9XG5cbiAgJGZsb29yOiBmbG9vcigkc3Bhbik7XG4gICRzdWItY29sdW1uczogKCk7XG5cbiAgQGZvciAkaSBmcm9tICRsb2NhdGlvbiB0byAoJGxvY2F0aW9uICsgJGZsb29yKSB7XG4gICAgJHN1Yi1jb2x1bW5zOiBhcHBlbmQoJHN1Yi1jb2x1bW5zLCBudGgoJGNvbHVtbnMsICRpKSk7XG4gIH1cblxuICBAaWYgJGZsb29yICE9ICRzcGFuIHtcbiAgICAkcmVtYWluZGVyOiAkc3BhbiAtICRmbG9vcjtcbiAgICAkY29sdW1uOiAkbG9jYXRpb24gKyAkZmxvb3I7XG4gICAgJHN1Yi1jb2x1bW5zOiBhcHBlbmQoJHN1Yi1jb2x1bW5zLCBudGgoJGNvbHVtbnMsICRjb2x1bW4pICogJHJlbWFpbmRlcik7XG4gIH1cblxuICBAcmV0dXJuICRzdWItY29sdW1ucztcbn1cblxuXG5cbi8vIFN1IFN1bVxuLy8gLS0tLS0tXG4vLy8gR2V0IHRoZSB0b3RhbCBzdW0gb2YgY29sdW1uLXVuaXRzIGluIGEgbGF5b3V0LlxuLy8vXG4vLy8gQGdyb3VwIHN1LW1hdGhcbi8vLyBAYWNjZXNzIHByaXZhdGVcbi8vL1xuLy8vIEBwYXJhbSB7bGlzdH0gJGNvbHVtbnMgLVxuLy8vICAgTGlzdCBvZiBjb2x1bW5zIGluIHRoZSBncmlkXG4vLy8gQHBhcmFtIHtudW1iZXJ9ICRndXR0ZXJzIC1cbi8vLyAgIFdpZHRoIG9mIGEgZ3V0dGVyIGluIGNvbHVtbi1jb21wYXJhYmxlIHVuaXRzXG4vLy8gQHBhcmFtIHswIHwgMSB8IC0xfSAkc3ByZWFkIC1cbi8vLyAgIE51bWJlciBvZiBndXR0ZXJzIHNwYW5uZWQsXG4vLy8gICByZWxhdGl2ZSB0byBgY29sdW1uc2AgY291bnRcbi8vLyBAcGFyYW0ge2Jvb2x9ICR2YWxpZGF0ZSBbdHJ1ZV0gLVxuLy8vICAgQ2hlY2sgdGhhdCBhcmd1bWVudHMgYXJlIHZhbGlkIGJlZm9yZSBwcm9jZWVkaW5nXG4vLy9cbi8vLyBAcmV0dXJuIHtudW1iZXJ9IC1cbi8vLyAgIFRvdGFsIHN1bSBvZiBjb2x1bW4tdW5pdHMgaW4gYSBncmlkXG5AZnVuY3Rpb24gX3N1LXN1bShcbiAgJGNvbHVtbnMsXG4gICRndXR0ZXJzLFxuICAkc3ByZWFkLFxuICAkdmFsaWRhdGU6IHRydWVcbikge1xuICBAaWYgJHZhbGlkYXRlIHtcbiAgICAkY29sdW1uczogc3UtdmFsaWQtc3BhbigkY29sdW1ucyk7XG4gICAgJGd1dHRlcnM6IHN1LXZhbGlkLWd1dHRlcnMoJGd1dHRlcnMpO1xuICAgICRzcHJlYWQ6IHN1LXZhbGlkLXNwcmVhZCgkc3ByZWFkKTtcbiAgfVxuXG4gIC8vIENhbGN1bGF0ZSBjb2x1bW4tc3VtXG4gICRjb2x1bW4tc3VtOiAwO1xuICBAZWFjaCAkY29sdW1uIGluICRjb2x1bW5zIHtcbiAgICAkY29sdW1uLXN1bTogJGNvbHVtbi1zdW0gKyAkY29sdW1uO1xuICB9XG5cbiAgJGd1dHRlci1zdW06IChjZWlsKGxlbmd0aCgkY29sdW1ucykpICsgJHNwcmVhZCkgKiAkZ3V0dGVycztcbiAgJHRvdGFsOiBpZigoJGd1dHRlci1zdW0gPiAwKSwgJGNvbHVtbi1zdW0gKyAkZ3V0dGVyLXN1bSwgJGNvbHVtbi1zdW0pO1xuXG4gIEByZXR1cm4gJHRvdGFsO1xufVxuXG5cblxuLy8gU3UgQ2FsY1xuLy8gLS0tLS0tLVxuLy8vIFJldHVybiBhIHVzYWJsZSBzcGFuIHdpZHRoIGFzIGEgYGNhbGMoKWAgZnVuY3Rpb24sXG4vLy8gaW4gb3JkZXIgdG8gY3JlYXRlIG1peGVkLXVuaXQgZ3JpZHMuXG4vLy9cbi8vLyBAZ3JvdXAgc3UtbWF0aFxuLy8vIEBhY2Nlc3MgcHJpdmF0ZVxuLy8vXG4vLy8gQHBhcmFtIHtudW1iZXIgfCBsaXN0fSAkc3BhbiAtXG4vLy8gICBQcmUtc2xpY2VkIGxpc3Qgb2YgZ3JpZCBjb2x1bW5zIHRvIHNwYW5cbi8vLyBAcGFyYW0ge2xpc3R9ICRjb2x1bW5zIC1cbi8vLyAgIExpc3Qgb2YgY29sdW1ucyBhdmFpbGFibGVcbi8vLyBAcGFyYW0ge251bWJlcn0gJGd1dHRlcnMgLVxuLy8vICAgV2lkdGggb2YgYSBndXR0ZXIgaW4gY29sdW1uLWNvbXBhcmFibGUgdW5pdHNcbi8vLyBAcGFyYW0gezAgfCAxIHwgLTF9ICRzcHJlYWQgLVxuLy8vICAgTnVtYmVyIG9mIGd1dHRlcnMgc3Bhbm5lZCxcbi8vLyAgIHJlbGF0aXZlIHRvIGBzcGFuYCBjb3VudFxuLy8vIEBwYXJhbSB7MCB8IDEgfCAtMX0gJGNvbnRhaW5lci1zcHJlYWQgWyRzcHJlYWRdIC1cbi8vLyAgIE51bWJlciBvZiBndXR0ZXJzIHNwYW5uZWQsXG4vLy8gICByZWxhdGl2ZSB0byBgY29sdW1uc2AgY291bnRcbi8vLyBAcGFyYW0ge2Jvb2x9ICR2YWxpZGF0ZSBbdHJ1ZV0gLVxuLy8vICAgQ2hlY2sgdGhhdCBhcmd1bWVudHMgYXJlIHZhbGlkIGJlZm9yZSBwcm9jZWVkaW5nXG4vLy9cbi8vLyBAcmV0dXJuIHtsZW5ndGh9IC1cbi8vLyAgIFJlbGF0aXZlIG9yIHN0YXRpYyBsZW5ndGggb2YgYSBzcGFuIG9uIHRoZSBncmlkXG5AZnVuY3Rpb24gX3N1LWNhbGMtc3BhbihcbiAgJHNwYW4sXG4gICRjb2x1bW5zLFxuICAkZ3V0dGVycyxcbiAgJHNwcmVhZCxcbiAgJGNvbnRhaW5lci1zcHJlYWQ6ICRzcHJlYWQsXG4gICR2YWxpZGF0ZTogdHJ1ZVxuKSB7XG4gIEBpZiAkdmFsaWRhdGUge1xuICAgICRzcGFuOiBzdS12YWxpZC1zcGFuKCRzcGFuKTtcbiAgICAkY29sdW1uczogc3UtdmFsaWQtY29sdW1ucygkY29sdW1ucyk7XG4gICAgJGd1dHRlcnM6IHN1LXZhbGlkLWd1dHRlcnMoJGd1dHRlcnMpO1xuICAgICRzcHJlYWQ6IHN1LXZhbGlkLXNwcmVhZCgkc3ByZWFkKTtcbiAgICAkY29udGFpbmVyLXNwcmVhZDogc3UtdmFsaWQtc3ByZWFkKCRjb250YWluZXItc3ByZWFkKTtcbiAgfVxuXG4gIC8vIFNwYW4gYW5kIGNvbnRleHRcbiAgJHNwYW46IF9zdS1jYWxjLXN1bSgkc3BhbiwgJGd1dHRlcnMsICRzcHJlYWQsIG5vdCAndmFsaWRhdGUnKTtcbiAgJGNvbnRleHQ6IF9zdS1jYWxjLXN1bSgkY29sdW1ucywgJGd1dHRlcnMsICRjb250YWluZXItc3ByZWFkLCBub3QgJ3ZhbGlkYXRlJyk7XG5cbiAgLy8gRml4ZWQgYW5kIGZsdWlkXG4gICRmaXhlZC1zcGFuOiBtYXAtZ2V0KCRzcGFuLCAnZml4ZWQnKTtcbiAgJGZsdWlkLXNwYW46IG1hcC1nZXQoJHNwYW4sICdmbHVpZCcpO1xuICAkZml4ZWQtY29udGV4dDogbWFwLWdldCgkY29udGV4dCwgJ2ZpeGVkJyk7XG4gICRmbHVpZC1jb250ZXh0OiBtYXAtZ2V0KCRjb250ZXh0LCAnZmx1aWQnKTtcblxuICAkY2FsYzogJyN7JGZpeGVkLXNwYW59JztcbiAgJGZsdWlkLWNhbGM6ICcoMTAwJSAtICN7JGZpeGVkLWNvbnRleHR9KSc7XG5cbiAgLy8gRmx1aWQtdmFsdWVzXG4gIEBpZiAobm90ICRmbHVpZC1zcGFuKSB7XG4gICAgJGZsdWlkLWNhbGM6IG51bGw7XG4gIH0gQGVsc2UgaWYgKCRmbHVpZC1zcGFuICE9ICRmbHVpZC1jb250ZXh0KSB7XG4gICAgJGZsdWlkLXNwYW46ICcqICN7JGZsdWlkLXNwYW59JztcbiAgICAkZmx1aWQtY29udGV4dDogaWYoJGZsdWlkLWNvbnRleHQsICcvICN7JGZsdWlkLWNvbnRleHR9JywgJycpO1xuICAgICRmbHVpZC1jYWxjOiAnKCN7JGZsdWlkLWNhbGMgJGZsdWlkLWNvbnRleHQgJGZsdWlkLXNwYW59KSc7XG4gIH1cblxuICBAaWYgJGZsdWlkLWNhbGMge1xuICAgICRjYWxjOiBpZigoJGNhbGMgIT0gJycpLCAnI3skY2FsY30gKyAnLCAnJyk7XG4gICAgJGNhbGM6ICcjeyRjYWxjICsgJGZsdWlkLWNhbGN9JztcbiAgfVxuXG4gIEByZXR1cm4gY2FsYygje3VucXVvdGUoJGNhbGMpfSk7XG59XG5cblxuXG4vLyBTdSBDYWxjLVN1bVxuLy8gLS0tLS0tLS0tLS1cbi8vLyBHZXQgdGhlIHRvdGFsIHN1bSBvZiBmaXhlZCBhbmQgZmx1aWQgY29sdW1uLXVuaXRzXG4vLy8gZm9yIGNyZWF0aW5nIGEgbWl4ZWQtdW5pdCBsYXlvdXQgd2l0aCBgY2FsYygpYCB2YWx1ZXMuXG4vLy9cbi8vLyBAZ3JvdXAgc3UtbWF0aFxuLy8vIEBhY2Nlc3MgcHJpdmF0ZVxuLy8vXG4vLy8gQHBhcmFtIHtsaXN0fSAkY29sdW1ucyAtXG4vLy8gICBMaXN0IG9mIGNvbHVtbnMgYXZhaWxhYmxlXG4vLy8gQHBhcmFtIHtudW1iZXJ9ICRndXR0ZXJzIC1cbi8vLyAgIFdpZHRoIG9mIGEgZ3V0dGVyIGluIGNvbHVtbi1jb21wYXJhYmxlIHVuaXRzXG4vLy8gQHBhcmFtIHswIHwgMSB8IC0xfSAkc3ByZWFkIC1cbi8vLyAgIE51bWJlciBvZiBndXR0ZXJzIHNwYW5uZWQsXG4vLy8gICByZWxhdGl2ZSB0byBgc3BhbmAgY291bnRcbi8vLyBAcGFyYW0ge2Jvb2x9ICR2YWxpZGF0ZSBbdHJ1ZV0gLVxuLy8vICAgQ2hlY2sgdGhhdCBhcmd1bWVudHMgYXJlIHZhbGlkIGJlZm9yZSBwcm9jZWVkaW5nXG4vLy9cbi8vLyBAcmV0dXJuIHttYXB9IC1cbi8vLyAgIE1hcCB3aXRoIGBmaXhlZGAgYW5kIGBmbHVpZGAga2V5c1xuLy8vICAgY29udGFpbmluZyB0aGUgcHJvcGVyIG1hdGggYXMgc3RyaW5nc1xuQGZ1bmN0aW9uIF9zdS1jYWxjLXN1bShcbiAgJGNvbHVtbnMsXG4gICRndXR0ZXJzLFxuICAkc3ByZWFkLFxuICAkdmFsaWRhdGU6IHRydWVcbikge1xuICBAaWYgJHZhbGlkYXRlIHtcbiAgICAkY29sdW1uczogc3UtdmFsaWQtc3BhbigkY29sdW1ucyk7XG4gICAgJGd1dHRlcnM6IHN1LXZhbGlkLWd1dHRlcnMoJGd1dHRlcnMpO1xuICAgICRzcHJlYWQ6IHN1LXZhbGlkLXNwcmVhZCgkc3ByZWFkKTtcbiAgfVxuXG4gICRmbHVpZDogMDtcbiAgJGZpeGVkOiAoKTtcbiAgJGNhbGM6IG51bGw7XG5cbiAgLy8gR3V0dGVyc1xuICAkZ3V0dGVyczogICRndXR0ZXJzICogKGxlbmd0aCgkY29sdW1ucykgKyAkc3ByZWFkKTtcblxuICAvLyBDb2x1bW5zXG4gIEBlYWNoICRjb2wgaW4gYXBwZW5kKCRjb2x1bW5zLCAkZ3V0dGVycykge1xuICAgIEBpZiB1bml0bGVzcygkY29sKSB7XG4gICAgICAkZmx1aWQ6ICRmbHVpZCArICRjb2w7XG4gICAgfSBAZWxzZSB7XG4gICAgICAkZml4ZWQ6IF9zdS1tYXAtYWRkLXVuaXRzKCRmaXhlZCwgJGNvbCk7XG4gICAgfVxuICB9XG5cbiAgLy8gQ29tcGlsZSBGaXhlZCBVbml0c1xuICBAZWFjaCAkdW5pdCwgJHRvdGFsIGluICRmaXhlZCB7XG4gICAgQGlmICgkdG90YWwgIT0gKDAgKiAkdG90YWwpKSB7XG4gICAgICAkY2FsYzogaWYoJGNhbGMsICcjeyRjYWxjfSArICN7JHRvdGFsfScsICcjeyR0b3RhbH0nKTtcbiAgICB9XG4gIH1cblxuICAvLyBDYWxjIG51bGwgb3Igc3RyaW5nXG4gIEBpZiAkY2FsYyB7XG4gICAgJGNhbGM6IGlmKHN0ci1pbmRleCgkY2FsYywgJysnKSwgJygjeyRjYWxjfSknLCAnI3skY2FsY30nKTtcbiAgfVxuXG4gIC8vIEZsdWlkIDAgPT4gbnVsbFxuICAkZmx1aWQ6IGlmKCgkZmx1aWQgPT0gMCksIG51bGwsICRmbHVpZCk7XG5cblxuICAvLyBSZXR1cm4gbWFwXG4gICRyZXR1cm46IChcbiAgICAnZml4ZWQnOiAkY2FsYyxcbiAgICAnZmx1aWQnOiAkZmx1aWQsXG4gICk7XG5cbiAgQHJldHVybiAkcmV0dXJuO1xufVxuXG5cblxuLy8gTmVlZHMgQ2FsY1xuLy8gLS0tLS0tLS0tLVxuLy8vIENoZWNrIGlmIGBjYWxjKClgIHdpbGwgYmUgbmVlZGVkIGluIGRlZmluaW5nIGEgc3Bhbixcbi8vLyBpZiB0aGUgbmVjZXNzYXJ5IHVuaXRzIGluIGEgZ3JpZCBhcmUgbm90IGNvbXBhcmFibGUuXG4vLy9cbi8vLyBAZ3JvdXAgc3UtbWF0aFxuLy8vIEBhY2Nlc3MgcHJpdmF0ZVxuLy8vXG4vLy8gQHBhcmFtIHtsaXN0fSAkc3BhbiAtXG4vLy8gICBTbGljZSBvZiBjb2x1bW5zIHRvIHNwYW5cbi8vLyBAcGFyYW0ge2xpc3R9ICRjb2x1bW5zIC1cbi8vLyAgIExpc3Qgb2YgYXZhaWxhYmxlIGNvbHVtbnMgaW4gdGhlIGdyaWRcbi8vLyBAcGFyYW0ge251bWJlcn0gJGd1dHRlcnMgLVxuLy8vICAgV2lkdGggb2YgYSBndXR0ZXJcbi8vLyBAcGFyYW0gezAgfCAxIHwgLTF9ICRzcHJlYWQgLVxuLy8vICAgTnVtYmVyIG9mIGd1dHRlcnMgc3Bhbm5lZCxcbi8vLyAgIHJlbGF0aXZlIHRvIGBzcGFuYCBjb3VudFxuLy8vIEBwYXJhbSB7Ym9vbH0gJHZhbGlkYXRlIFt0cnVlXSAtXG4vLy8gICBDaGVjayB0aGF0IGFyZ3VtZW50cyBhcmUgdmFsaWQgYmVmb3JlIHByb2NlZWRpbmdcbi8vL1xuLy8vIEByZXR1cm4ge2Jvb2x9IC1cbi8vLyAgIGBUcnVlYCB3aGVuIHVuaXRzIGRvIG5vdCBtYXRjaCwgYW5kIGBjYWxjKClgIHdpbGwgYmUgcmVxdWlyZWRcbkBmdW5jdGlvbiBfc3UtbmVlZHMtY2FsYy1vdXRwdXQoXG4gICRzcGFuLFxuICAkY29sdW1ucyxcbiAgJGd1dHRlcnMsXG4gICRzcHJlYWQsXG4gICR2YWxpZGF0ZTogdHJ1ZVxuKSB7XG4gIEBpZiAkdmFsaWRhdGUge1xuICAgICRzcGFuOiBzdS12YWxpZC1zcGFuKCRzcGFuKTtcbiAgICAkY29sdW1uczogc3UtdmFsaWQtY29sdW1ucygkY29sdW1ucyk7XG4gICAgJGd1dHRlcnM6IHN1LXZhbGlkLWd1dHRlcnMoJGd1dHRlcnMpO1xuICB9XG5cbiAgJGhhcy1ndXR0ZXI6IGlmKChsZW5ndGgoJHNwYW4pID4gMSkgb3IgKCRzcHJlYWQgPj0gMCksIHRydWUsIGZhbHNlKTtcbiAgJGNoZWNrOiBpZigkaGFzLWd1dHRlciwgYXBwZW5kKCRzcGFuLCAkZ3V0dGVycyksICRzcGFuKTtcbiAgJHNhZmUtc3BhbjogX3N1LWlzLWNvbXBhcmFibGUoJGNoZWNrLi4uKTtcblxuICBAaWYgKCRzYWZlLXNwYW4gPT0gJ3N0YXRpYycpIHtcbiAgICBAcmV0dXJuIGZhbHNlO1xuICB9IEBlbHNlIGlmIChub3QgJHNhZmUtc3Bhbikge1xuICAgIEByZXR1cm4gdHJ1ZTtcbiAgfVxuXG4gICRzYWZlLWZsdWlkOiBfc3UtaXMtY29tcGFyYWJsZSgkZ3V0dGVycywgJGNvbHVtbnMuLi4pO1xuXG4gIEByZXR1cm4gbm90ICRzYWZlLWZsdWlkO1xufVxuIiwiLy8gV2l0aCBEcm9wa2lja1xuLmRrLXNlbGVjdCxcbi5kay1zZWxlY3QgKixcbi5kay1zZWxlY3QgKjpiZWZvcmUsXG4uZGstc2VsZWN0ICo6YWZ0ZXIsXG4uZGstc2VsZWN0LW11bHRpLFxuLmRrLXNlbGVjdC1tdWx0aSAqLFxuLmRrLXNlbGVjdC1tdWx0aSAqOmJlZm9yZSxcbi5kay1zZWxlY3QtbXVsdGkgKjphZnRlciB7XG4gICAgLXdlYmtpdC1ib3gtc2l6aW5nIDogYm9yZGVyLWJveDtcbiAgICAgICAtbW96LWJveC1zaXppbmcgOiBib3JkZXItYm94O1xuICAgICAgICAgICAgYm94LXNpemluZyA6IGJvcmRlci1ib3g7XG59XG5cbi5kay1zZWxlY3QsXG4uZGstc2VsZWN0LW11bHRpIHtcbiAgICBsaW5lLWhlaWdodCA6IDUwcHg7XG5cbiAgICBwb3NpdGlvbiA6IHJlbGF0aXZlO1xuXG4gICAgZGlzcGxheSA6IGlubGluZS1ibG9jaztcblxuICAgIHdpZHRoIDogMTAwJTtcblxuICAgIGN1cnNvciA6IHBvaW50ZXI7XG4gICAgdmVydGljYWwtYWxpZ24gOiBtaWRkbGU7XG5cbiAgICBsZXR0ZXItc3BhY2luZzogMnB4O1xuICAgIGNvbG9yOiByZ2JhKCR0ZXh0X19jb2xvci0tYmFzZSwgLjUpO1xuICAgIGZvbnQtd2VpZ2h0OiA1MDA7XG4gICAgZm9udC1zaXplOiAxM3B4O1xuICAgIGZvbnQtZmFtaWx5OiAkdGV4dF9fZmFtaWx5LXNhbnMtLXRpdGxlO1xuXG4gICAgLmRrLW9wdGlvbjpiZWZvcmUge1xuICAgICAgICBjb250ZW50OiAnJztcbiAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG59XG5cbi5kay1zZWxlY3RlZCB7XG5cbiAgICBoZWlnaHQ6IDU0cHg7XG5cbiAgICBwb3NpdGlvbiA6IHJlbGF0aXZlO1xuXG4gICAgb3ZlcmZsb3cgOiBoaWRkZW47XG5cbiAgICB3aWR0aCA6IDEwMCU7XG4gICAgbGluZS1oZWlnaHQ6IDE7XG5cbiAgICBmb250LXNpemU6IDEzcHg7XG5cbiAgICBwYWRkaW5nOiAxOHB4IDIwcHg7XG4gICAgcGFkZGluZy1yaWdodDogMi41ZW07XG4gICAgLy8gbWFyZ2luLWJvdHRvbTogMjBweDtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yIDogJGNvbG9yX193aGl0ZTtcbiAgICBjb2xvcjogJGNvbG9yX19ibGFjaztcblxuICAgICY6YmVmb3JlIHtcbiAgICAgICAgZm9udC1zaXplOiA2cHg7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgcmlnaHQ6IDIwcHg7XG4gICAgICAgIHRvcDogMjBweDtcbiAgICAgICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gICAgICAgIGNvbG9yOiByZ2JhKCR0ZXh0X19jb2xvci0tYmFzZSwgLjUpO1xuICAgIH1cbn1cbi5kay1zZWxlY3RlZDpiZWZvcmUsXG4uZGstc2VsZWN0ZWQ6YWZ0ZXIge1xuICAgIHBvc2l0aW9uIDogYWJzb2x1dGU7XG4gICAgcmlnaHQgOiAwO1xuXG4gICAgZGlzcGxheSA6IGJsb2NrO1xufVxuLmRrLXNlbGVjdGVkIHtcbiAgICBAZXh0ZW5kIC5pY29uO1xuICAgIEBleHRlbmQgLmljb24tYXJyb3ctZG93bjtcbn1cbi5kay1zZWxlY3RlZDpiZWZvcmUge1xuICAgIEBpbmNsdWRlIHRyYW5zbGF0ZSgwLCAtNTAlKTtcbiAgICBAaW5jbHVkZSB0cmFuc2l0aW9uKCB0cmFuc2Zvcm0gMC4ycyBlYXNlLW91dCApO1xuXG4gICAgdG9wIDogNTAlO1xuICAgIHJpZ2h0IDogMjBweDtcbiAgICBmb250LXNpemU6IDRweDtcblxuICAgIGNvbG9yOiAkY29sb3JfX3ByaW1hcnk7XG59XG5cbi5kay1zZWxlY3Qtb3Blbi1kb3duIHtcbiAgICB6LWluZGV4OiA1MDA7IC8vIEhpZGUgbGFiZWwgd2hlbiBkcm9wa2ljayBpcyBvcGVuXG59XG5cbi5kay1zZWxlY3Qtb3Blbi1kb3duIC5kay1zZWxlY3RlZDpiZWZvcmUge1xuICAgIEBpbmNsdWRlIHRyYW5zZm9ybSggdHJhbnNsYXRlKDAsIC01MCUpIHJvdGF0ZSggMTgwZGVnICkgKTtcbiAgICBjb2xvcjogJGNvbG9yX193aGl0ZTtcbn1cblxuLmRrLXNlbGVjdCAuZGstc2VsZWN0LW9wdGlvbnMge1xuICAgIHBvc2l0aW9uIDogYWJzb2x1dGU7XG4gICAgcmlnaHQgOiAwO1xuICAgIGxlZnQgOiAwO1xuXG4gICAgZGlzcGxheSA6IG5vbmU7XG4gICAgcGFkZGluZzogMDtcbn1cblxuLmRrLXNlbGVjdC1vcGVuLXVwIC5kay1zZWxlY3Qtb3B0aW9ucyB7XG4gICAgYm90dG9tIDogMTAwJTtcblxuICAgIG1hcmdpbi1ib3R0b20gOiAtMXB4O1xufVxuXG4uZGstc2VsZWN0LW9wZW4tZG93biAuZGstc2VsZWN0LW9wdGlvbnMge1xuICAgIHRvcCA6IDEwMCU7XG59XG5cbi5kay1zZWxlY3QtbXVsdGkgLmRrLXNlbGVjdC1vcHRpb25zIHtcbiAgICBtYXgtaGVpZ2h0IDogMTBlbTtcbn1cblxuLmRrLXNlbGVjdC1vcHRpb25zIHtcbiAgICBmb250LXNpemUgOiAxNHB4O1xuXG4gICAgei1pbmRleCA6IDEwMDtcblxuICAgIG92ZXJmbG93LXggOiBoaWRkZW47XG4gICAgb3ZlcmZsb3cteSA6IGF1dG87XG4gICAgLXdlYmtpdC1vdmVyZmxvdy1zY3JvbGxpbmc6IHRvdWNoO1xuXG4gICAgd2lkdGggOiBhdXRvO1xuICAgIG1pbi13aWR0aCA6IDEwMCU7XG4gICAgbWF4LWhlaWdodCA6IDI3NXB4O1xuICAgIG1hcmdpbiA6IDA7XG5cbiAgICBsaXN0LXN0eWxlIDogbm9uZTtcblxuICAgIGJveC1zaGFkb3c6IDAgMTBweCAxMHB4ICRjb2xvcl9fbmV1dHJhbDtcbiAgICBib3gtc2hhZG93OiAwIDVweCAxMHB4IHJnYmEoICRjb2xvcl9fbmV1dHJhbCwgMC41ICk7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG9yX193aGl0ZTtcblxuICAgICY6Oi13ZWJraXQtc2Nyb2xsYmFyIHtcbiAgICAgICAgd2lkdGg6IDlweDtcbiAgICB9XG5cbiAgICAmOjotd2Via2l0LXNjcm9sbGJhci10cmFjayB7XG4gICAgICAgIC13ZWJraXQtYm9yZGVyLXJhZGl1czogNXB4O1xuICAgICAgICBib3JkZXItcmFkaXVzOiA1cHg7XG4gICAgICAgIGJhY2tncm91bmQ6IHJnYmEoICRjb2xvcl9fYmxhY2ssIDAuMSApO1xuICAgIH1cblxuICAgICY6Oi13ZWJraXQtc2Nyb2xsYmFyLXRodW1iIHtcbiAgICAgICAgLXdlYmtpdC1ib3JkZXItcmFkaXVzOiA1cHg7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDVweDtcbiAgICAgICAgYmFja2dyb3VuZDogcmdiYSggJGNvbG9yX19ibGFjayAsMC4yICk7XG4gICAgfVxuXG4gICAgJjo6LXdlYmtpdC1zY3JvbGxiYXItdGh1bWI6aG92ZXIge1xuICAgICAgICBiYWNrZ3JvdW5kOiByZ2JhKCAkY29sb3JfX2JsYWNrICwwLjQgKTtcbiAgICB9XG5cbiAgICAmOjotd2Via2l0LXNjcm9sbGJhci10aHVtYjp3aW5kb3ctaW5hY3RpdmUge1xuICAgICAgICBiYWNrZ3JvdW5kOiByZ2JhKCAkY29sb3JfX2JsYWNrICwwLjA1ICk7XG4gICAgfVxufVxuXG4uZGstb3B0aW9uLXNlbGVjdGVkIHtcbiAgICBjb2xvciA6ICRjb2xvcl9fd2hpdGU7XG4gICAgYmFja2dyb3VuZC1jb2xvciA6ICRjb2xvcl9fcHJpbWFyeTtcbn1cblxuLmRrLXNlbGVjdC1vcHRpb25zLWhpZ2hsaWdodCAuZGstb3B0aW9uLXNlbGVjdGVkIHtcbiAgICBjb2xvciA6IGluaGVyaXQ7XG4gICAgYmFja2dyb3VuZC1jb2xvciA6IHRyYW5zcGFyZW50O1xufVxuXG4uZGstb3B0aW9uIHtcbiAgICBwYWRkaW5nIDogMCAyMHB4O1xufVxuXG4uZGstc2VsZWN0LW9wdGlvbnMgLmRrLW9wdGlvbi1oaWdobGlnaHQge1xuICAgIGNvbG9yIDogJGNvbG9yX193aGl0ZTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yIDogJGNvbG9yX19wcmltYXJ5O1xufVxuXG4uZGstc2VsZWN0LW9wdGlvbnMgLmRrLW9wdGlvbi1kaXNhYmxlZCB7XG4gICAgY29sb3IgOiAjYmJiYmJiO1xufVxuXG4uZGstb3B0Z3JvdXAge1xuICAgIG1hcmdpbi10b3AgOiAuMjVlbTtcbiAgICBwYWRkaW5nIDogLjI1ZW0gMDtcblxuICAgIGJvcmRlciA6IHNvbGlkICNjY2NjY2M7XG4gICAgYm9yZGVyLXdpZHRoIDogMXB4IDA7XG59XG4uZGstb3B0Z3JvdXAgKyAuZGstb3B0aW9uIHtcbiAgICBtYXJnaW4tdG9wIDogLjI1ZW07XG59XG4uZGstb3B0Z3JvdXAgKyAuZGstb3B0Z3JvdXAge1xuICAgIG1hcmdpbi10b3AgOiAwO1xuXG4gICAgYm9yZGVyLXRvcC13aWR0aCA6IDA7XG59XG4uZGstb3B0Z3JvdXA6bnRoLWNoaWxkKDIpIHtcbiAgICBtYXJnaW4tdG9wIDogMDtcbiAgICBwYWRkaW5nLXRvcCA6IDA7XG5cbiAgICBib3JkZXItdG9wIDogbm9uZTtcbn1cbi5kay1vcHRncm91cDpsYXN0LWNoaWxkIHtcbiAgICBtYXJnaW4tYm90dG9tIDogMDtcbiAgICBwYWRkaW5nLWJvdHRvbSA6IDA7XG5cbiAgICBib3JkZXItYm90dG9tLXdpZHRoIDogMDtcbn1cblxuLmRrLW9wdGdyb3VwLWxhYmVsIHtcbiAgICBmb250LXNpemUgOiAxNnB4O1xuICAgIGZvbnQtd2VpZ2h0IDogYm9sZDtcblxuICAgIGRpc3BsYXkgOiBibG9jaztcblxuICAgIHdpZHRoIDogMTAwJTtcbiAgICBwYWRkaW5nIDogMCAyMHB4IDEwcHg7XG59XG5cbi5kay1vcHRncm91cC1vcHRpb25zIHtcbiAgICBwYWRkaW5nLWxlZnQgOiAwO1xuXG4gICAgbGlzdC1zdHlsZSA6IG5vbmU7XG59XG4uZGstb3B0Z3JvdXAtb3B0aW9ucyBsaSB7XG4gICAgcGFkZGluZy1sZWZ0IDogMS4yZW07XG59XG5cbi5kay1zZWxlY3Qtb3Blbi11cCAuZGstc2VsZWN0ZWQge1xuICAgIGJvcmRlci1jb2xvciA6ICRjb2xvcl9fcHJpbWFyeTtcbiAgICBib3JkZXItdG9wLWxlZnQtcmFkaXVzIDogMDtcbiAgICBib3JkZXItdG9wLXJpZ2h0LXJhZGl1cyA6IDA7XG59XG5cbi5kay1zZWxlY3Qtb3Blbi1kb3duIC5kay1zZWxlY3RlZCB7XG4gICAgQGluY2x1ZGUgYm94LXNpemluZyhib3JkZXItYm94KTtcblxuICAgIGNvbG9yIDogJGNvbG9yX193aGl0ZTtcbiAgICBiYWNrZ3JvdW5kIDogJGNvbG9yX19wcmltYXJ5O1xufVxuXG4uZGstc2VsZWN0LW9wZW4tdXAgLmRrLXNlbGVjdGVkOmJlZm9yZSxcbi5kay1zZWxlY3Qtb3Blbi1kb3duIC5kay1zZWxlY3RlZDpiZWZvcmUge1xuICAgIGJvcmRlci13aWR0aCA6IDAgLjI1ZW0gLjI1ZW07XG4gICAgYm9yZGVyLWJvdHRvbS1jb2xvciA6ICRjb2xvcl9fcHJpbWFyeTtcbn1cblxuLmRrLXNlbGVjdC1vcGVuLXVwIC5kay1zZWxlY3RlZDphZnRlcixcbi5kay1zZWxlY3Qtb3Blbi1kb3duIC5kay1zZWxlY3RlZDphZnRlciB7XG4gICAgYm9yZGVyLWxlZnQtY29sb3IgOiAkY29sb3JfX3ByaW1hcnk7XG59XG5cbi5kay1zZWxlY3Qtb3Blbi11cCAuZGstc2VsZWN0LW9wdGlvbnMsXG4uZGstc2VsZWN0LW9wZW4tZG93biAuZGstc2VsZWN0LW9wdGlvbnMsXG4uZGstc2VsZWN0LW11bHRpOmZvY3VzIC5kay1zZWxlY3Qtb3B0aW9ucyB7XG4gICAgZGlzcGxheSA6IGJsb2NrO1xuXG4gICAgYm9yZGVyLWNvbG9yIDogJGNvbG9yX19wcmltYXJ5O1xufVxuXG4uZGstc2VsZWN0LW11bHRpOmhvdmVyLFxuLmRrLXNlbGVjdC1tdWx0aTpmb2N1cyB7XG4gICAgb3V0bGluZSA6IG5vbmU7XG59XG5cbi5kay1zZWxlY3RlZDpob3Zlcixcbi5kay1zZWxlY3RlZDpmb2N1cyB7XG4gICAgYm9yZGVyLWNvbG9yIDogJGNvbG9yX19wcmltYXJ5O1xuICAgIG91dGxpbmUgOiBub25lO1xufVxuLmRrLXNlbGVjdGVkOmhvdmVyOmJlZm9yZSxcbi5kay1zZWxlY3RlZDpmb2N1czpiZWZvcmUge1xuICAgIGJvcmRlci10b3AtY29sb3IgOiAkY29sb3JfX3ByaW1hcnk7XG59XG4uZGstc2VsZWN0ZWQ6aG92ZXI6YWZ0ZXIsXG4uZGstc2VsZWN0ZWQ6Zm9jdXM6YWZ0ZXIge1xuICAgIGJvcmRlci1sZWZ0LWNvbG9yIDogJGNvbG9yX19wcmltYXJ5O1xufVxuXG4uZGstc2VsZWN0LWRpc2FibGVkIHtcbiAgICBjdXJzb3IgOiBub3QtYWxsb3dlZDtcblxuICAgIG9wYWNpdHkgOiAuNjtcbiAgICBjb2xvciA6ICNiYmJiYmI7XG59XG4uZGstc2VsZWN0LWRpc2FibGVkIC5kay1zZWxlY3RlZDpob3Zlcixcbi5kay1zZWxlY3QtZGlzYWJsZWQgLmRrLXNlbGVjdGVkOmZvY3VzIHtcbiAgICBib3JkZXItY29sb3IgOiBpbmhlcml0O1xufVxuLmRrLXNlbGVjdC1kaXNhYmxlZCAuZGstc2VsZWN0ZWQ6aG92ZXI6YmVmb3JlLFxuLmRrLXNlbGVjdC1kaXNhYmxlZCAuZGstc2VsZWN0ZWQ6Zm9jdXM6YmVmb3JlIHtcbiAgICBib3JkZXItdG9wLWNvbG9yIDogaW5oZXJpdDtcbn1cbi5kay1zZWxlY3QtZGlzYWJsZWQgLmRrLXNlbGVjdGVkOmhvdmVyOmFmdGVyLFxuLmRrLXNlbGVjdC1kaXNhYmxlZCAuZGstc2VsZWN0ZWQ6Zm9jdXM6YWZ0ZXIge1xuICAgIGJvcmRlci1sZWZ0LWNvbG9yIDogaW5oZXJpdDtcbn1cblxuc2VsZWN0W2RhdGEtZGtjYWNoZWlkXSB7XG4gICAgZGlzcGxheSA6IG5vbmUgIWltcG9ydGFudDtcbn1cblxuLypcbiAqXG4gKiBTdHlsZXMgZm9yIERyb3BraWNrIG9wdGdyb3VwXG4gKlxuICovXG5cbi5kay1vcHRncm91cCB7XG4gICAgbWFyZ2luLXRvcDogMDtcbiAgICBwYWRkaW5nLXRvcDogMDtcbiAgICBib3JkZXI6IG5vbmU7XG4gICAgJi1sYWJlbCB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRjb2xvcl9fd2hpdGU7XG4gICAgICAgIGNvbG9yOiAkY29sb3JfX25ldXRyYWw7XG4gICAgICAgIGZvbnQtc2l6ZTogMWVtO1xuICAgICAgICBmb250LXdlaWdodDogNTAwO1xuICAgICAgICBwYWRkaW5nLXRvcDogMDtcbiAgICAgICAgcGFkZGluZy1ib3R0b206IDA7XG4gICAgfVxufVxuXG5cbi8qXG4gKlxuICogU3R5bGVzIGZvciBEcm9wa2ljayB3aXRoIE5pbmphIEZvcm1zXG4gKlxuICovXG5cbiAvLyBOaW5qYSBmb3JtIGZpeFxuLmxpc3Qtc2VsZWN0LXdyYXAgLmRrLXNlbGVjdCB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgZGl2IHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgfVxufVxuXG4ubmYtZmllbGQge1xuICAgIC5kay1zZWxlY3Qge1xuICAgICAgICBsaW5lLWhlaWdodDogNjBweDtcbiAgICB9XG4gICAgLmRrLXNlbGVjdGVkIHtcbiAgICAgICAgcGFkZGluZy10b3A6IDIwcHg7XG4gICAgICAgIHBhZGRpbmctYm90dG9tOiAyMHB4O1xuICAgIH1cbn1cblxuXG5cblxuXG5cblxuXG4vLyBXaXRob3V0IERyb3BraWNrXG5zZWxlY3Qge1xuICAgIEBpbmNsdWRlIGFwcGVhcmFuY2UoKTtcbiAgICBib3JkZXI6IG5vbmU7XG4gICAgQGV4dGVuZCAuZGstc2VsZWN0ZWQ7XG59XG5cbiIsIi8vIERlZmF1bHQgc3R5bGVzXG4uc2VsZWN0Mi1jb250YWluZXJ7Ym94LXNpemluZzpib3JkZXItYm94O2Rpc3BsYXk6aW5saW5lLWJsb2NrO21hcmdpbjowO3Bvc2l0aW9uOnJlbGF0aXZlO3ZlcnRpY2FsLWFsaWduOm1pZGRsZX0uc2VsZWN0Mi1jb250YWluZXIgLnNlbGVjdDItc2VsZWN0aW9uLS1zaW5nbGV7Ym94LXNpemluZzpib3JkZXItYm94O2N1cnNvcjpwb2ludGVyO2Rpc3BsYXk6YmxvY2s7aGVpZ2h0OjI4cHg7dXNlci1zZWxlY3Q6bm9uZTstd2Via2l0LXVzZXItc2VsZWN0Om5vbmV9LnNlbGVjdDItY29udGFpbmVyIC5zZWxlY3QyLXNlbGVjdGlvbi0tc2luZ2xlIC5zZWxlY3QyLXNlbGVjdGlvbl9fcmVuZGVyZWR7ZGlzcGxheTpibG9jaztwYWRkaW5nLWxlZnQ6OHB4O3BhZGRpbmctcmlnaHQ6MjBweDtvdmVyZmxvdzpoaWRkZW47dGV4dC1vdmVyZmxvdzplbGxpcHNpczt3aGl0ZS1zcGFjZTpub3dyYXB9LnNlbGVjdDItY29udGFpbmVyIC5zZWxlY3QyLXNlbGVjdGlvbi0tc2luZ2xlIC5zZWxlY3QyLXNlbGVjdGlvbl9fY2xlYXJ7cG9zaXRpb246cmVsYXRpdmV9LnNlbGVjdDItY29udGFpbmVyW2Rpcj1cInJ0bFwiXSAuc2VsZWN0Mi1zZWxlY3Rpb24tLXNpbmdsZSAuc2VsZWN0Mi1zZWxlY3Rpb25fX3JlbmRlcmVke3BhZGRpbmctcmlnaHQ6OHB4O3BhZGRpbmctbGVmdDoyMHB4fS5zZWxlY3QyLWNvbnRhaW5lciAuc2VsZWN0Mi1zZWxlY3Rpb24tLW11bHRpcGxle2JveC1zaXppbmc6Ym9yZGVyLWJveDtjdXJzb3I6cG9pbnRlcjtkaXNwbGF5OmJsb2NrO21pbi1oZWlnaHQ6MzJweDt1c2VyLXNlbGVjdDpub25lOy13ZWJraXQtdXNlci1zZWxlY3Q6bm9uZX0uc2VsZWN0Mi1jb250YWluZXIgLnNlbGVjdDItc2VsZWN0aW9uLS1tdWx0aXBsZSAuc2VsZWN0Mi1zZWxlY3Rpb25fX3JlbmRlcmVke2Rpc3BsYXk6aW5saW5lLWJsb2NrO292ZXJmbG93OmhpZGRlbjtwYWRkaW5nLWxlZnQ6OHB4O3RleHQtb3ZlcmZsb3c6ZWxsaXBzaXM7d2hpdGUtc3BhY2U6bm93cmFwfS5zZWxlY3QyLWNvbnRhaW5lciAuc2VsZWN0Mi1zZWFyY2gtLWlubGluZXtmbG9hdDpsZWZ0fS5zZWxlY3QyLWNvbnRhaW5lciAuc2VsZWN0Mi1zZWFyY2gtLWlubGluZSAuc2VsZWN0Mi1zZWFyY2hfX2ZpZWxke2JveC1zaXppbmc6Ym9yZGVyLWJveDtib3JkZXI6bm9uZTtmb250LXNpemU6MTAwJTttYXJnaW4tdG9wOjVweDtwYWRkaW5nOjB9LnNlbGVjdDItY29udGFpbmVyIC5zZWxlY3QyLXNlYXJjaC0taW5saW5lIC5zZWxlY3QyLXNlYXJjaF9fZmllbGQ6Oi13ZWJraXQtc2VhcmNoLWNhbmNlbC1idXR0b257LXdlYmtpdC1hcHBlYXJhbmNlOm5vbmV9LnNlbGVjdDItZHJvcGRvd257YmFja2dyb3VuZC1jb2xvcjp3aGl0ZTtib3JkZXI6MXB4IHNvbGlkICNhYWE7Ym9yZGVyLXJhZGl1czo0cHg7Ym94LXNpemluZzpib3JkZXItYm94O2Rpc3BsYXk6YmxvY2s7cG9zaXRpb246YWJzb2x1dGU7bGVmdDotMTAwMDAwcHg7d2lkdGg6MTAwJTt6LWluZGV4OjEwNTF9LnNlbGVjdDItcmVzdWx0c3tkaXNwbGF5OmJsb2NrfS5zZWxlY3QyLXJlc3VsdHNfX29wdGlvbnN7bGlzdC1zdHlsZTpub25lO21hcmdpbjowO3BhZGRpbmc6MH0uc2VsZWN0Mi1yZXN1bHRzX19vcHRpb257cGFkZGluZzo2cHg7dXNlci1zZWxlY3Q6bm9uZTstd2Via2l0LXVzZXItc2VsZWN0Om5vbmV9LnNlbGVjdDItcmVzdWx0c19fb3B0aW9uW2FyaWEtc2VsZWN0ZWRde2N1cnNvcjpwb2ludGVyfS5zZWxlY3QyLWNvbnRhaW5lci0tb3BlbiAuc2VsZWN0Mi1kcm9wZG93bntsZWZ0OjB9LnNlbGVjdDItY29udGFpbmVyLS1vcGVuIC5zZWxlY3QyLWRyb3Bkb3duLS1hYm92ZXtib3JkZXItYm90dG9tOm5vbmU7Ym9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1czowO2JvcmRlci1ib3R0b20tcmlnaHQtcmFkaXVzOjB9LnNlbGVjdDItY29udGFpbmVyLS1vcGVuIC5zZWxlY3QyLWRyb3Bkb3duLS1iZWxvd3tib3JkZXItdG9wOm5vbmU7Ym9yZGVyLXRvcC1sZWZ0LXJhZGl1czowO2JvcmRlci10b3AtcmlnaHQtcmFkaXVzOjB9LnNlbGVjdDItc2VhcmNoLS1kcm9wZG93bntkaXNwbGF5OmJsb2NrO3BhZGRpbmc6NHB4fS5zZWxlY3QyLXNlYXJjaC0tZHJvcGRvd24gLnNlbGVjdDItc2VhcmNoX19maWVsZHtwYWRkaW5nOjRweDt3aWR0aDoxMDAlO2JveC1zaXppbmc6Ym9yZGVyLWJveH0uc2VsZWN0Mi1zZWFyY2gtLWRyb3Bkb3duIC5zZWxlY3QyLXNlYXJjaF9fZmllbGQ6Oi13ZWJraXQtc2VhcmNoLWNhbmNlbC1idXR0b257LXdlYmtpdC1hcHBlYXJhbmNlOm5vbmV9LnNlbGVjdDItc2VhcmNoLS1kcm9wZG93bi5zZWxlY3QyLXNlYXJjaC0taGlkZXtkaXNwbGF5Om5vbmV9LnNlbGVjdDItY2xvc2UtbWFza3tib3JkZXI6MDttYXJnaW46MDtwYWRkaW5nOjA7ZGlzcGxheTpibG9jaztwb3NpdGlvbjpmaXhlZDtsZWZ0OjA7dG9wOjA7bWluLWhlaWdodDoxMDAlO21pbi13aWR0aDoxMDAlO2hlaWdodDphdXRvO3dpZHRoOmF1dG87b3BhY2l0eTowO3otaW5kZXg6OTk7YmFja2dyb3VuZC1jb2xvcjojZmZmO2ZpbHRlcjphbHBoYShvcGFjaXR5PTApfS5zZWxlY3QyLWhpZGRlbi1hY2Nlc3NpYmxle2JvcmRlcjowICFpbXBvcnRhbnQ7Y2xpcDpyZWN0KDAgMCAwIDApICFpbXBvcnRhbnQ7aGVpZ2h0OjFweCAhaW1wb3J0YW50O21hcmdpbjotMXB4ICFpbXBvcnRhbnQ7b3ZlcmZsb3c6aGlkZGVuICFpbXBvcnRhbnQ7cGFkZGluZzowICFpbXBvcnRhbnQ7cG9zaXRpb246YWJzb2x1dGUgIWltcG9ydGFudDt3aWR0aDoxcHggIWltcG9ydGFudH0uc2VsZWN0Mi1jb250YWluZXItLWRlZmF1bHQgLnNlbGVjdDItc2VsZWN0aW9uLS1zaW5nbGV7YmFja2dyb3VuZC1jb2xvcjojZmZmO2JvcmRlcjoxcHggc29saWQgI2FhYTtib3JkZXItcmFkaXVzOjRweH0uc2VsZWN0Mi1jb250YWluZXItLWRlZmF1bHQgLnNlbGVjdDItc2VsZWN0aW9uLS1zaW5nbGUgLnNlbGVjdDItc2VsZWN0aW9uX19yZW5kZXJlZHtjb2xvcjojNDQ0O2xpbmUtaGVpZ2h0OjI4cHh9LnNlbGVjdDItY29udGFpbmVyLS1kZWZhdWx0IC5zZWxlY3QyLXNlbGVjdGlvbi0tc2luZ2xlIC5zZWxlY3QyLXNlbGVjdGlvbl9fY2xlYXJ7Y3Vyc29yOnBvaW50ZXI7ZmxvYXQ6cmlnaHQ7Zm9udC13ZWlnaHQ6Ym9sZH0uc2VsZWN0Mi1jb250YWluZXItLWRlZmF1bHQgLnNlbGVjdDItc2VsZWN0aW9uLS1zaW5nbGUgLnNlbGVjdDItc2VsZWN0aW9uX19wbGFjZWhvbGRlcntjb2xvcjojOTk5fS5zZWxlY3QyLWNvbnRhaW5lci0tZGVmYXVsdCAuc2VsZWN0Mi1zZWxlY3Rpb24tLXNpbmdsZSAuc2VsZWN0Mi1zZWxlY3Rpb25fX2Fycm93e2hlaWdodDoyNnB4O3Bvc2l0aW9uOmFic29sdXRlO3RvcDoxcHg7cmlnaHQ6MXB4O3dpZHRoOjIwcHh9LnNlbGVjdDItY29udGFpbmVyLS1kZWZhdWx0IC5zZWxlY3QyLXNlbGVjdGlvbi0tc2luZ2xlIC5zZWxlY3QyLXNlbGVjdGlvbl9fYXJyb3cgYntib3JkZXItY29sb3I6Izg4OCB0cmFuc3BhcmVudCB0cmFuc3BhcmVudCB0cmFuc3BhcmVudDtib3JkZXItc3R5bGU6c29saWQ7Ym9yZGVyLXdpZHRoOjVweCA0cHggMCA0cHg7aGVpZ2h0OjA7bGVmdDo1MCU7bWFyZ2luLWxlZnQ6LTRweDttYXJnaW4tdG9wOi0ycHg7cG9zaXRpb246YWJzb2x1dGU7dG9wOjUwJTt3aWR0aDowfS5zZWxlY3QyLWNvbnRhaW5lci0tZGVmYXVsdFtkaXI9XCJydGxcIl0gLnNlbGVjdDItc2VsZWN0aW9uLS1zaW5nbGUgLnNlbGVjdDItc2VsZWN0aW9uX19jbGVhcntmbG9hdDpsZWZ0fS5zZWxlY3QyLWNvbnRhaW5lci0tZGVmYXVsdFtkaXI9XCJydGxcIl0gLnNlbGVjdDItc2VsZWN0aW9uLS1zaW5nbGUgLnNlbGVjdDItc2VsZWN0aW9uX19hcnJvd3tsZWZ0OjFweDtyaWdodDphdXRvfS5zZWxlY3QyLWNvbnRhaW5lci0tZGVmYXVsdC5zZWxlY3QyLWNvbnRhaW5lci0tZGlzYWJsZWQgLnNlbGVjdDItc2VsZWN0aW9uLS1zaW5nbGV7YmFja2dyb3VuZC1jb2xvcjojZWVlO2N1cnNvcjpkZWZhdWx0fS5zZWxlY3QyLWNvbnRhaW5lci0tZGVmYXVsdC5zZWxlY3QyLWNvbnRhaW5lci0tZGlzYWJsZWQgLnNlbGVjdDItc2VsZWN0aW9uLS1zaW5nbGUgLnNlbGVjdDItc2VsZWN0aW9uX19jbGVhcntkaXNwbGF5Om5vbmV9LnNlbGVjdDItY29udGFpbmVyLS1kZWZhdWx0LnNlbGVjdDItY29udGFpbmVyLS1vcGVuIC5zZWxlY3QyLXNlbGVjdGlvbi0tc2luZ2xlIC5zZWxlY3QyLXNlbGVjdGlvbl9fYXJyb3cgYntib3JkZXItY29sb3I6dHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQgIzg4OCB0cmFuc3BhcmVudDtib3JkZXItd2lkdGg6MCA0cHggNXB4IDRweH0uc2VsZWN0Mi1jb250YWluZXItLWRlZmF1bHQgLnNlbGVjdDItc2VsZWN0aW9uLS1tdWx0aXBsZXtiYWNrZ3JvdW5kLWNvbG9yOndoaXRlO2JvcmRlcjoxcHggc29saWQgI2FhYTtib3JkZXItcmFkaXVzOjRweDtjdXJzb3I6dGV4dH0uc2VsZWN0Mi1jb250YWluZXItLWRlZmF1bHQgLnNlbGVjdDItc2VsZWN0aW9uLS1tdWx0aXBsZSAuc2VsZWN0Mi1zZWxlY3Rpb25fX3JlbmRlcmVke2JveC1zaXppbmc6Ym9yZGVyLWJveDtsaXN0LXN0eWxlOm5vbmU7bWFyZ2luOjA7cGFkZGluZzowIDVweDt3aWR0aDoxMDAlfS5zZWxlY3QyLWNvbnRhaW5lci0tZGVmYXVsdCAuc2VsZWN0Mi1zZWxlY3Rpb24tLW11bHRpcGxlIC5zZWxlY3QyLXNlbGVjdGlvbl9fcGxhY2Vob2xkZXJ7Y29sb3I6Izk5OTttYXJnaW4tdG9wOjVweDtmbG9hdDpsZWZ0fS5zZWxlY3QyLWNvbnRhaW5lci0tZGVmYXVsdCAuc2VsZWN0Mi1zZWxlY3Rpb24tLW11bHRpcGxlIC5zZWxlY3QyLXNlbGVjdGlvbl9fY2xlYXJ7Y3Vyc29yOnBvaW50ZXI7ZmxvYXQ6cmlnaHQ7Zm9udC13ZWlnaHQ6Ym9sZDttYXJnaW4tdG9wOjVweDttYXJnaW4tcmlnaHQ6MTBweH0uc2VsZWN0Mi1jb250YWluZXItLWRlZmF1bHQgLnNlbGVjdDItc2VsZWN0aW9uLS1tdWx0aXBsZSAuc2VsZWN0Mi1zZWxlY3Rpb25fX2Nob2ljZXtiYWNrZ3JvdW5kLWNvbG9yOiNlNGU0ZTQ7Ym9yZGVyOjFweCBzb2xpZCAjYWFhO2JvcmRlci1yYWRpdXM6NHB4O2N1cnNvcjpkZWZhdWx0O2Zsb2F0OmxlZnQ7bWFyZ2luLXJpZ2h0OjVweDttYXJnaW4tdG9wOjVweDtwYWRkaW5nOjAgNXB4fS5zZWxlY3QyLWNvbnRhaW5lci0tZGVmYXVsdCAuc2VsZWN0Mi1zZWxlY3Rpb24tLW11bHRpcGxlIC5zZWxlY3QyLXNlbGVjdGlvbl9fY2hvaWNlX19yZW1vdmV7Y29sb3I6Izk5OTtjdXJzb3I6cG9pbnRlcjtkaXNwbGF5OmlubGluZS1ibG9jaztmb250LXdlaWdodDpib2xkO21hcmdpbi1yaWdodDoycHh9LnNlbGVjdDItY29udGFpbmVyLS1kZWZhdWx0IC5zZWxlY3QyLXNlbGVjdGlvbi0tbXVsdGlwbGUgLnNlbGVjdDItc2VsZWN0aW9uX19jaG9pY2VfX3JlbW92ZTpob3Zlcntjb2xvcjojMzMzfS5zZWxlY3QyLWNvbnRhaW5lci0tZGVmYXVsdFtkaXI9XCJydGxcIl0gLnNlbGVjdDItc2VsZWN0aW9uLS1tdWx0aXBsZSAuc2VsZWN0Mi1zZWxlY3Rpb25fX2Nob2ljZSwuc2VsZWN0Mi1jb250YWluZXItLWRlZmF1bHRbZGlyPVwicnRsXCJdIC5zZWxlY3QyLXNlbGVjdGlvbi0tbXVsdGlwbGUgLnNlbGVjdDItc2VsZWN0aW9uX19wbGFjZWhvbGRlciwuc2VsZWN0Mi1jb250YWluZXItLWRlZmF1bHRbZGlyPVwicnRsXCJdIC5zZWxlY3QyLXNlbGVjdGlvbi0tbXVsdGlwbGUgLnNlbGVjdDItc2VhcmNoLS1pbmxpbmV7ZmxvYXQ6cmlnaHR9LnNlbGVjdDItY29udGFpbmVyLS1kZWZhdWx0W2Rpcj1cInJ0bFwiXSAuc2VsZWN0Mi1zZWxlY3Rpb24tLW11bHRpcGxlIC5zZWxlY3QyLXNlbGVjdGlvbl9fY2hvaWNle21hcmdpbi1sZWZ0OjVweDttYXJnaW4tcmlnaHQ6YXV0b30uc2VsZWN0Mi1jb250YWluZXItLWRlZmF1bHRbZGlyPVwicnRsXCJdIC5zZWxlY3QyLXNlbGVjdGlvbi0tbXVsdGlwbGUgLnNlbGVjdDItc2VsZWN0aW9uX19jaG9pY2VfX3JlbW92ZXttYXJnaW4tbGVmdDoycHg7bWFyZ2luLXJpZ2h0OmF1dG99LnNlbGVjdDItY29udGFpbmVyLS1kZWZhdWx0LnNlbGVjdDItY29udGFpbmVyLS1mb2N1cyAuc2VsZWN0Mi1zZWxlY3Rpb24tLW11bHRpcGxle2JvcmRlcjpzb2xpZCAjMDAwIDFweDtvdXRsaW5lOjB9LnNlbGVjdDItY29udGFpbmVyLS1kZWZhdWx0LnNlbGVjdDItY29udGFpbmVyLS1kaXNhYmxlZCAuc2VsZWN0Mi1zZWxlY3Rpb24tLW11bHRpcGxle2JhY2tncm91bmQtY29sb3I6I2VlZTtjdXJzb3I6ZGVmYXVsdH0uc2VsZWN0Mi1jb250YWluZXItLWRlZmF1bHQuc2VsZWN0Mi1jb250YWluZXItLWRpc2FibGVkIC5zZWxlY3QyLXNlbGVjdGlvbl9fY2hvaWNlX19yZW1vdmV7ZGlzcGxheTpub25lfS5zZWxlY3QyLWNvbnRhaW5lci0tZGVmYXVsdC5zZWxlY3QyLWNvbnRhaW5lci0tb3Blbi5zZWxlY3QyLWNvbnRhaW5lci0tYWJvdmUgLnNlbGVjdDItc2VsZWN0aW9uLS1zaW5nbGUsLnNlbGVjdDItY29udGFpbmVyLS1kZWZhdWx0LnNlbGVjdDItY29udGFpbmVyLS1vcGVuLnNlbGVjdDItY29udGFpbmVyLS1hYm92ZSAuc2VsZWN0Mi1zZWxlY3Rpb24tLW11bHRpcGxle2JvcmRlci10b3AtbGVmdC1yYWRpdXM6MDtib3JkZXItdG9wLXJpZ2h0LXJhZGl1czowfS5zZWxlY3QyLWNvbnRhaW5lci0tZGVmYXVsdC5zZWxlY3QyLWNvbnRhaW5lci0tb3Blbi5zZWxlY3QyLWNvbnRhaW5lci0tYmVsb3cgLnNlbGVjdDItc2VsZWN0aW9uLS1zaW5nbGUsLnNlbGVjdDItY29udGFpbmVyLS1kZWZhdWx0LnNlbGVjdDItY29udGFpbmVyLS1vcGVuLnNlbGVjdDItY29udGFpbmVyLS1iZWxvdyAuc2VsZWN0Mi1zZWxlY3Rpb24tLW11bHRpcGxle2JvcmRlci1ib3R0b20tbGVmdC1yYWRpdXM6MDtib3JkZXItYm90dG9tLXJpZ2h0LXJhZGl1czowfS5zZWxlY3QyLWNvbnRhaW5lci0tZGVmYXVsdCAuc2VsZWN0Mi1zZWFyY2gtLWRyb3Bkb3duIC5zZWxlY3QyLXNlYXJjaF9fZmllbGR7Ym9yZGVyOjFweCBzb2xpZCAjYWFhfS5zZWxlY3QyLWNvbnRhaW5lci0tZGVmYXVsdCAuc2VsZWN0Mi1zZWFyY2gtLWlubGluZSAuc2VsZWN0Mi1zZWFyY2hfX2ZpZWxke2JhY2tncm91bmQ6dHJhbnNwYXJlbnQ7Ym9yZGVyOm5vbmU7b3V0bGluZTowO2JveC1zaGFkb3c6bm9uZTstd2Via2l0LWFwcGVhcmFuY2U6dGV4dGZpZWxkfS5zZWxlY3QyLWNvbnRhaW5lci0tZGVmYXVsdCAuc2VsZWN0Mi1yZXN1bHRzPi5zZWxlY3QyLXJlc3VsdHNfX29wdGlvbnN7bWF4LWhlaWdodDoyMDBweDtvdmVyZmxvdy15OmF1dG99LnNlbGVjdDItY29udGFpbmVyLS1kZWZhdWx0IC5zZWxlY3QyLXJlc3VsdHNfX29wdGlvbltyb2xlPWdyb3VwXXtwYWRkaW5nOjB9LnNlbGVjdDItY29udGFpbmVyLS1kZWZhdWx0IC5zZWxlY3QyLXJlc3VsdHNfX29wdGlvblthcmlhLWRpc2FibGVkPXRydWVde2NvbG9yOiM5OTl9LnNlbGVjdDItY29udGFpbmVyLS1kZWZhdWx0IC5zZWxlY3QyLXJlc3VsdHNfX29wdGlvblthcmlhLXNlbGVjdGVkPXRydWVde2JhY2tncm91bmQtY29sb3I6I2RkZH0uc2VsZWN0Mi1jb250YWluZXItLWRlZmF1bHQgLnNlbGVjdDItcmVzdWx0c19fb3B0aW9uIC5zZWxlY3QyLXJlc3VsdHNfX29wdGlvbntwYWRkaW5nLWxlZnQ6MWVtfS5zZWxlY3QyLWNvbnRhaW5lci0tZGVmYXVsdCAuc2VsZWN0Mi1yZXN1bHRzX19vcHRpb24gLnNlbGVjdDItcmVzdWx0c19fb3B0aW9uIC5zZWxlY3QyLXJlc3VsdHNfX2dyb3Vwe3BhZGRpbmctbGVmdDowfS5zZWxlY3QyLWNvbnRhaW5lci0tZGVmYXVsdCAuc2VsZWN0Mi1yZXN1bHRzX19vcHRpb24gLnNlbGVjdDItcmVzdWx0c19fb3B0aW9uIC5zZWxlY3QyLXJlc3VsdHNfX29wdGlvbnttYXJnaW4tbGVmdDotMWVtO3BhZGRpbmctbGVmdDoyZW19LnNlbGVjdDItY29udGFpbmVyLS1kZWZhdWx0IC5zZWxlY3QyLXJlc3VsdHNfX29wdGlvbiAuc2VsZWN0Mi1yZXN1bHRzX19vcHRpb24gLnNlbGVjdDItcmVzdWx0c19fb3B0aW9uIC5zZWxlY3QyLXJlc3VsdHNfX29wdGlvbnttYXJnaW4tbGVmdDotMmVtO3BhZGRpbmctbGVmdDozZW19LnNlbGVjdDItY29udGFpbmVyLS1kZWZhdWx0IC5zZWxlY3QyLXJlc3VsdHNfX29wdGlvbiAuc2VsZWN0Mi1yZXN1bHRzX19vcHRpb24gLnNlbGVjdDItcmVzdWx0c19fb3B0aW9uIC5zZWxlY3QyLXJlc3VsdHNfX29wdGlvbiAuc2VsZWN0Mi1yZXN1bHRzX19vcHRpb257bWFyZ2luLWxlZnQ6LTNlbTtwYWRkaW5nLWxlZnQ6NGVtfS5zZWxlY3QyLWNvbnRhaW5lci0tZGVmYXVsdCAuc2VsZWN0Mi1yZXN1bHRzX19vcHRpb24gLnNlbGVjdDItcmVzdWx0c19fb3B0aW9uIC5zZWxlY3QyLXJlc3VsdHNfX29wdGlvbiAuc2VsZWN0Mi1yZXN1bHRzX19vcHRpb24gLnNlbGVjdDItcmVzdWx0c19fb3B0aW9uIC5zZWxlY3QyLXJlc3VsdHNfX29wdGlvbnttYXJnaW4tbGVmdDotNGVtO3BhZGRpbmctbGVmdDo1ZW19LnNlbGVjdDItY29udGFpbmVyLS1kZWZhdWx0IC5zZWxlY3QyLXJlc3VsdHNfX29wdGlvbiAuc2VsZWN0Mi1yZXN1bHRzX19vcHRpb24gLnNlbGVjdDItcmVzdWx0c19fb3B0aW9uIC5zZWxlY3QyLXJlc3VsdHNfX29wdGlvbiAuc2VsZWN0Mi1yZXN1bHRzX19vcHRpb24gLnNlbGVjdDItcmVzdWx0c19fb3B0aW9uIC5zZWxlY3QyLXJlc3VsdHNfX29wdGlvbnttYXJnaW4tbGVmdDotNWVtO3BhZGRpbmctbGVmdDo2ZW19LnNlbGVjdDItY29udGFpbmVyLS1kZWZhdWx0IC5zZWxlY3QyLXJlc3VsdHNfX29wdGlvbi0taGlnaGxpZ2h0ZWRbYXJpYS1zZWxlY3RlZF17YmFja2dyb3VuZC1jb2xvcjojNTg5N2ZiO2NvbG9yOndoaXRlfS5zZWxlY3QyLWNvbnRhaW5lci0tZGVmYXVsdCAuc2VsZWN0Mi1yZXN1bHRzX19ncm91cHtjdXJzb3I6ZGVmYXVsdDtkaXNwbGF5OmJsb2NrO3BhZGRpbmc6NnB4fS5zZWxlY3QyLWNvbnRhaW5lci0tY2xhc3NpYyAuc2VsZWN0Mi1zZWxlY3Rpb24tLXNpbmdsZXtiYWNrZ3JvdW5kLWNvbG9yOiNmN2Y3Zjc7Ym9yZGVyOjFweCBzb2xpZCAjYWFhO2JvcmRlci1yYWRpdXM6NHB4O291dGxpbmU6MDtiYWNrZ3JvdW5kLWltYWdlOi13ZWJraXQtbGluZWFyLWdyYWRpZW50KHRvcCwgI2ZmZiA1MCUsICNlZWUgMTAwJSk7YmFja2dyb3VuZC1pbWFnZTotby1saW5lYXItZ3JhZGllbnQodG9wLCAjZmZmIDUwJSwgI2VlZSAxMDAlKTtiYWNrZ3JvdW5kLWltYWdlOmxpbmVhci1ncmFkaWVudCh0byBib3R0b20sICNmZmYgNTAlLCAjZWVlIDEwMCUpO2JhY2tncm91bmQtcmVwZWF0OnJlcGVhdC14O2ZpbHRlcjpwcm9naWQ6RFhJbWFnZVRyYW5zZm9ybS5NaWNyb3NvZnQuZ3JhZGllbnQoc3RhcnRDb2xvcnN0cj0nI0ZGRkZGRkZGJywgZW5kQ29sb3JzdHI9JyNGRkVFRUVFRScsIEdyYWRpZW50VHlwZT0wKX0uc2VsZWN0Mi1jb250YWluZXItLWNsYXNzaWMgLnNlbGVjdDItc2VsZWN0aW9uLS1zaW5nbGU6Zm9jdXN7Ym9yZGVyOjFweCBzb2xpZCAjNTg5N2ZifS5zZWxlY3QyLWNvbnRhaW5lci0tY2xhc3NpYyAuc2VsZWN0Mi1zZWxlY3Rpb24tLXNpbmdsZSAuc2VsZWN0Mi1zZWxlY3Rpb25fX3JlbmRlcmVke2NvbG9yOiM0NDQ7bGluZS1oZWlnaHQ6MjhweH0uc2VsZWN0Mi1jb250YWluZXItLWNsYXNzaWMgLnNlbGVjdDItc2VsZWN0aW9uLS1zaW5nbGUgLnNlbGVjdDItc2VsZWN0aW9uX19jbGVhcntjdXJzb3I6cG9pbnRlcjtmbG9hdDpyaWdodDtmb250LXdlaWdodDpib2xkO21hcmdpbi1yaWdodDoxMHB4fS5zZWxlY3QyLWNvbnRhaW5lci0tY2xhc3NpYyAuc2VsZWN0Mi1zZWxlY3Rpb24tLXNpbmdsZSAuc2VsZWN0Mi1zZWxlY3Rpb25fX3BsYWNlaG9sZGVye2NvbG9yOiM5OTl9LnNlbGVjdDItY29udGFpbmVyLS1jbGFzc2ljIC5zZWxlY3QyLXNlbGVjdGlvbi0tc2luZ2xlIC5zZWxlY3QyLXNlbGVjdGlvbl9fYXJyb3d7YmFja2dyb3VuZC1jb2xvcjojZGRkO2JvcmRlcjpub25lO2JvcmRlci1sZWZ0OjFweCBzb2xpZCAjYWFhO2JvcmRlci10b3AtcmlnaHQtcmFkaXVzOjRweDtib3JkZXItYm90dG9tLXJpZ2h0LXJhZGl1czo0cHg7aGVpZ2h0OjI2cHg7cG9zaXRpb246YWJzb2x1dGU7dG9wOjFweDtyaWdodDoxcHg7d2lkdGg6MjBweDtiYWNrZ3JvdW5kLWltYWdlOi13ZWJraXQtbGluZWFyLWdyYWRpZW50KHRvcCwgI2VlZSA1MCUsICNjY2MgMTAwJSk7YmFja2dyb3VuZC1pbWFnZTotby1saW5lYXItZ3JhZGllbnQodG9wLCAjZWVlIDUwJSwgI2NjYyAxMDAlKTtiYWNrZ3JvdW5kLWltYWdlOmxpbmVhci1ncmFkaWVudCh0byBib3R0b20sICNlZWUgNTAlLCAjY2NjIDEwMCUpO2JhY2tncm91bmQtcmVwZWF0OnJlcGVhdC14O2ZpbHRlcjpwcm9naWQ6RFhJbWFnZVRyYW5zZm9ybS5NaWNyb3NvZnQuZ3JhZGllbnQoc3RhcnRDb2xvcnN0cj0nI0ZGRUVFRUVFJywgZW5kQ29sb3JzdHI9JyNGRkNDQ0NDQycsIEdyYWRpZW50VHlwZT0wKX0uc2VsZWN0Mi1jb250YWluZXItLWNsYXNzaWMgLnNlbGVjdDItc2VsZWN0aW9uLS1zaW5nbGUgLnNlbGVjdDItc2VsZWN0aW9uX19hcnJvdyBie2JvcmRlci1jb2xvcjojODg4IHRyYW5zcGFyZW50IHRyYW5zcGFyZW50IHRyYW5zcGFyZW50O2JvcmRlci1zdHlsZTpzb2xpZDtib3JkZXItd2lkdGg6NXB4IDRweCAwIDRweDtoZWlnaHQ6MDtsZWZ0OjUwJTttYXJnaW4tbGVmdDotNHB4O21hcmdpbi10b3A6LTJweDtwb3NpdGlvbjphYnNvbHV0ZTt0b3A6NTAlO3dpZHRoOjB9LnNlbGVjdDItY29udGFpbmVyLS1jbGFzc2ljW2Rpcj1cInJ0bFwiXSAuc2VsZWN0Mi1zZWxlY3Rpb24tLXNpbmdsZSAuc2VsZWN0Mi1zZWxlY3Rpb25fX2NsZWFye2Zsb2F0OmxlZnR9LnNlbGVjdDItY29udGFpbmVyLS1jbGFzc2ljW2Rpcj1cInJ0bFwiXSAuc2VsZWN0Mi1zZWxlY3Rpb24tLXNpbmdsZSAuc2VsZWN0Mi1zZWxlY3Rpb25fX2Fycm93e2JvcmRlcjpub25lO2JvcmRlci1yaWdodDoxcHggc29saWQgI2FhYTtib3JkZXItcmFkaXVzOjA7Ym9yZGVyLXRvcC1sZWZ0LXJhZGl1czo0cHg7Ym9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1czo0cHg7bGVmdDoxcHg7cmlnaHQ6YXV0b30uc2VsZWN0Mi1jb250YWluZXItLWNsYXNzaWMuc2VsZWN0Mi1jb250YWluZXItLW9wZW4gLnNlbGVjdDItc2VsZWN0aW9uLS1zaW5nbGV7Ym9yZGVyOjFweCBzb2xpZCAjNTg5N2ZifS5zZWxlY3QyLWNvbnRhaW5lci0tY2xhc3NpYy5zZWxlY3QyLWNvbnRhaW5lci0tb3BlbiAuc2VsZWN0Mi1zZWxlY3Rpb24tLXNpbmdsZSAuc2VsZWN0Mi1zZWxlY3Rpb25fX2Fycm93e2JhY2tncm91bmQ6dHJhbnNwYXJlbnQ7Ym9yZGVyOm5vbmV9LnNlbGVjdDItY29udGFpbmVyLS1jbGFzc2ljLnNlbGVjdDItY29udGFpbmVyLS1vcGVuIC5zZWxlY3QyLXNlbGVjdGlvbi0tc2luZ2xlIC5zZWxlY3QyLXNlbGVjdGlvbl9fYXJyb3cgYntib3JkZXItY29sb3I6dHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQgIzg4OCB0cmFuc3BhcmVudDtib3JkZXItd2lkdGg6MCA0cHggNXB4IDRweH0uc2VsZWN0Mi1jb250YWluZXItLWNsYXNzaWMuc2VsZWN0Mi1jb250YWluZXItLW9wZW4uc2VsZWN0Mi1jb250YWluZXItLWFib3ZlIC5zZWxlY3QyLXNlbGVjdGlvbi0tc2luZ2xle2JvcmRlci10b3A6bm9uZTtib3JkZXItdG9wLWxlZnQtcmFkaXVzOjA7Ym9yZGVyLXRvcC1yaWdodC1yYWRpdXM6MDtiYWNrZ3JvdW5kLWltYWdlOi13ZWJraXQtbGluZWFyLWdyYWRpZW50KHRvcCwgI2ZmZiAwJSwgI2VlZSA1MCUpO2JhY2tncm91bmQtaW1hZ2U6LW8tbGluZWFyLWdyYWRpZW50KHRvcCwgI2ZmZiAwJSwgI2VlZSA1MCUpO2JhY2tncm91bmQtaW1hZ2U6bGluZWFyLWdyYWRpZW50KHRvIGJvdHRvbSwgI2ZmZiAwJSwgI2VlZSA1MCUpO2JhY2tncm91bmQtcmVwZWF0OnJlcGVhdC14O2ZpbHRlcjpwcm9naWQ6RFhJbWFnZVRyYW5zZm9ybS5NaWNyb3NvZnQuZ3JhZGllbnQoc3RhcnRDb2xvcnN0cj0nI0ZGRkZGRkZGJywgZW5kQ29sb3JzdHI9JyNGRkVFRUVFRScsIEdyYWRpZW50VHlwZT0wKX0uc2VsZWN0Mi1jb250YWluZXItLWNsYXNzaWMuc2VsZWN0Mi1jb250YWluZXItLW9wZW4uc2VsZWN0Mi1jb250YWluZXItLWJlbG93IC5zZWxlY3QyLXNlbGVjdGlvbi0tc2luZ2xle2JvcmRlci1ib3R0b206bm9uZTtib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzOjA7Ym9yZGVyLWJvdHRvbS1yaWdodC1yYWRpdXM6MDtiYWNrZ3JvdW5kLWltYWdlOi13ZWJraXQtbGluZWFyLWdyYWRpZW50KHRvcCwgI2VlZSA1MCUsICNmZmYgMTAwJSk7YmFja2dyb3VuZC1pbWFnZTotby1saW5lYXItZ3JhZGllbnQodG9wLCAjZWVlIDUwJSwgI2ZmZiAxMDAlKTtiYWNrZ3JvdW5kLWltYWdlOmxpbmVhci1ncmFkaWVudCh0byBib3R0b20sICNlZWUgNTAlLCAjZmZmIDEwMCUpO2JhY2tncm91bmQtcmVwZWF0OnJlcGVhdC14O2ZpbHRlcjpwcm9naWQ6RFhJbWFnZVRyYW5zZm9ybS5NaWNyb3NvZnQuZ3JhZGllbnQoc3RhcnRDb2xvcnN0cj0nI0ZGRUVFRUVFJywgZW5kQ29sb3JzdHI9JyNGRkZGRkZGRicsIEdyYWRpZW50VHlwZT0wKX0uc2VsZWN0Mi1jb250YWluZXItLWNsYXNzaWMgLnNlbGVjdDItc2VsZWN0aW9uLS1tdWx0aXBsZXtiYWNrZ3JvdW5kLWNvbG9yOndoaXRlO2JvcmRlcjoxcHggc29saWQgI2FhYTtib3JkZXItcmFkaXVzOjRweDtjdXJzb3I6dGV4dDtvdXRsaW5lOjB9LnNlbGVjdDItY29udGFpbmVyLS1jbGFzc2ljIC5zZWxlY3QyLXNlbGVjdGlvbi0tbXVsdGlwbGU6Zm9jdXN7Ym9yZGVyOjFweCBzb2xpZCAjNTg5N2ZifS5zZWxlY3QyLWNvbnRhaW5lci0tY2xhc3NpYyAuc2VsZWN0Mi1zZWxlY3Rpb24tLW11bHRpcGxlIC5zZWxlY3QyLXNlbGVjdGlvbl9fcmVuZGVyZWR7bGlzdC1zdHlsZTpub25lO21hcmdpbjowO3BhZGRpbmc6MCA1cHh9LnNlbGVjdDItY29udGFpbmVyLS1jbGFzc2ljIC5zZWxlY3QyLXNlbGVjdGlvbi0tbXVsdGlwbGUgLnNlbGVjdDItc2VsZWN0aW9uX19jbGVhcntkaXNwbGF5Om5vbmV9LnNlbGVjdDItY29udGFpbmVyLS1jbGFzc2ljIC5zZWxlY3QyLXNlbGVjdGlvbi0tbXVsdGlwbGUgLnNlbGVjdDItc2VsZWN0aW9uX19jaG9pY2V7YmFja2dyb3VuZC1jb2xvcjojZTRlNGU0O2JvcmRlcjoxcHggc29saWQgI2FhYTtib3JkZXItcmFkaXVzOjRweDtjdXJzb3I6ZGVmYXVsdDtmbG9hdDpsZWZ0O21hcmdpbi1yaWdodDo1cHg7bWFyZ2luLXRvcDo1cHg7cGFkZGluZzowIDVweH0uc2VsZWN0Mi1jb250YWluZXItLWNsYXNzaWMgLnNlbGVjdDItc2VsZWN0aW9uLS1tdWx0aXBsZSAuc2VsZWN0Mi1zZWxlY3Rpb25fX2Nob2ljZV9fcmVtb3Zle2NvbG9yOiM4ODg7Y3Vyc29yOnBvaW50ZXI7ZGlzcGxheTppbmxpbmUtYmxvY2s7Zm9udC13ZWlnaHQ6Ym9sZDttYXJnaW4tcmlnaHQ6MnB4fS5zZWxlY3QyLWNvbnRhaW5lci0tY2xhc3NpYyAuc2VsZWN0Mi1zZWxlY3Rpb24tLW11bHRpcGxlIC5zZWxlY3QyLXNlbGVjdGlvbl9fY2hvaWNlX19yZW1vdmU6aG92ZXJ7Y29sb3I6IzU1NX0uc2VsZWN0Mi1jb250YWluZXItLWNsYXNzaWNbZGlyPVwicnRsXCJdIC5zZWxlY3QyLXNlbGVjdGlvbi0tbXVsdGlwbGUgLnNlbGVjdDItc2VsZWN0aW9uX19jaG9pY2V7ZmxvYXQ6cmlnaHR9LnNlbGVjdDItY29udGFpbmVyLS1jbGFzc2ljW2Rpcj1cInJ0bFwiXSAuc2VsZWN0Mi1zZWxlY3Rpb24tLW11bHRpcGxlIC5zZWxlY3QyLXNlbGVjdGlvbl9fY2hvaWNle21hcmdpbi1sZWZ0OjVweDttYXJnaW4tcmlnaHQ6YXV0b30uc2VsZWN0Mi1jb250YWluZXItLWNsYXNzaWNbZGlyPVwicnRsXCJdIC5zZWxlY3QyLXNlbGVjdGlvbi0tbXVsdGlwbGUgLnNlbGVjdDItc2VsZWN0aW9uX19jaG9pY2VfX3JlbW92ZXttYXJnaW4tbGVmdDoycHg7bWFyZ2luLXJpZ2h0OmF1dG99LnNlbGVjdDItY29udGFpbmVyLS1jbGFzc2ljLnNlbGVjdDItY29udGFpbmVyLS1vcGVuIC5zZWxlY3QyLXNlbGVjdGlvbi0tbXVsdGlwbGV7Ym9yZGVyOjFweCBzb2xpZCAjNTg5N2ZifS5zZWxlY3QyLWNvbnRhaW5lci0tY2xhc3NpYy5zZWxlY3QyLWNvbnRhaW5lci0tb3Blbi5zZWxlY3QyLWNvbnRhaW5lci0tYWJvdmUgLnNlbGVjdDItc2VsZWN0aW9uLS1tdWx0aXBsZXtib3JkZXItdG9wOm5vbmU7Ym9yZGVyLXRvcC1sZWZ0LXJhZGl1czowO2JvcmRlci10b3AtcmlnaHQtcmFkaXVzOjB9LnNlbGVjdDItY29udGFpbmVyLS1jbGFzc2ljLnNlbGVjdDItY29udGFpbmVyLS1vcGVuLnNlbGVjdDItY29udGFpbmVyLS1iZWxvdyAuc2VsZWN0Mi1zZWxlY3Rpb24tLW11bHRpcGxle2JvcmRlci1ib3R0b206bm9uZTtib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzOjA7Ym9yZGVyLWJvdHRvbS1yaWdodC1yYWRpdXM6MH0uc2VsZWN0Mi1jb250YWluZXItLWNsYXNzaWMgLnNlbGVjdDItc2VhcmNoLS1kcm9wZG93biAuc2VsZWN0Mi1zZWFyY2hfX2ZpZWxke2JvcmRlcjoxcHggc29saWQgI2FhYTtvdXRsaW5lOjB9LnNlbGVjdDItY29udGFpbmVyLS1jbGFzc2ljIC5zZWxlY3QyLXNlYXJjaC0taW5saW5lIC5zZWxlY3QyLXNlYXJjaF9fZmllbGR7b3V0bGluZTowO2JveC1zaGFkb3c6bm9uZX0uc2VsZWN0Mi1jb250YWluZXItLWNsYXNzaWMgLnNlbGVjdDItZHJvcGRvd257YmFja2dyb3VuZC1jb2xvcjojZmZmO2JvcmRlcjoxcHggc29saWQgdHJhbnNwYXJlbnR9LnNlbGVjdDItY29udGFpbmVyLS1jbGFzc2ljIC5zZWxlY3QyLWRyb3Bkb3duLS1hYm92ZXtib3JkZXItYm90dG9tOm5vbmV9LnNlbGVjdDItY29udGFpbmVyLS1jbGFzc2ljIC5zZWxlY3QyLWRyb3Bkb3duLS1iZWxvd3tib3JkZXItdG9wOm5vbmV9LnNlbGVjdDItY29udGFpbmVyLS1jbGFzc2ljIC5zZWxlY3QyLXJlc3VsdHM+LnNlbGVjdDItcmVzdWx0c19fb3B0aW9uc3ttYXgtaGVpZ2h0OjIwMHB4O292ZXJmbG93LXk6YXV0b30uc2VsZWN0Mi1jb250YWluZXItLWNsYXNzaWMgLnNlbGVjdDItcmVzdWx0c19fb3B0aW9uW3JvbGU9Z3JvdXBde3BhZGRpbmc6MH0uc2VsZWN0Mi1jb250YWluZXItLWNsYXNzaWMgLnNlbGVjdDItcmVzdWx0c19fb3B0aW9uW2FyaWEtZGlzYWJsZWQ9dHJ1ZV17Y29sb3I6Z3JleX0uc2VsZWN0Mi1jb250YWluZXItLWNsYXNzaWMgLnNlbGVjdDItcmVzdWx0c19fb3B0aW9uLS1oaWdobGlnaHRlZFthcmlhLXNlbGVjdGVkXXtiYWNrZ3JvdW5kLWNvbG9yOiMzODc1ZDc7Y29sb3I6I2ZmZn0uc2VsZWN0Mi1jb250YWluZXItLWNsYXNzaWMgLnNlbGVjdDItcmVzdWx0c19fZ3JvdXB7Y3Vyc29yOmRlZmF1bHQ7ZGlzcGxheTpibG9jaztwYWRkaW5nOjZweH0uc2VsZWN0Mi1jb250YWluZXItLWNsYXNzaWMuc2VsZWN0Mi1jb250YWluZXItLW9wZW4gLnNlbGVjdDItZHJvcGRvd257Ym9yZGVyLWNvbG9yOiM1ODk3ZmJ9XG5cbi8vIEN1c3RvbSBzdHlsZXNcblxuLnNlbGVjdDIge1xuICAgIG1hcmdpbi1ib3R0b206IGF1dG87XG4gICAgbGluZS1oZWlnaHQ6IDE7XG4gICAgd2lkdGg6IDEwMCUgIWltcG9ydGFudDtcbiAgICBvdXRsaW5lOiBub25lO1xuXG4gICAgLy8gbGV0dGVyLXNwYWNpbmc6IDJweDtcbiAgICBjb2xvcjogcmdiYSgkdGV4dF9fY29sb3ItLWJhc2UsIDAuNSk7XG4gICAgLy8gZm9udC13ZWlnaHQ6IDUwMDtcbiAgICBmb250LXNpemU6IDEzcHg7XG5cblxuICAgICYgKiB7XG4gICAgICAgIG91dGxpbmU6IG5vbmU7XG4gICAgfVxuXG4gICAgJi1zZWFyY2hfX2ZpZWxkIHtcbiAgICAgICAgb3V0bGluZTogbm9uZTtcbiAgICB9XG5cbiAgICAuc2VsZWN0Mi1zZWxlY3Rpb25fX2Fycm93IHtcbiAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG5cbiAgICAuc2VsZWN0Mi1zZWxlY3Rpb24tLXNpbmdsZSB7XG4gICAgICAgIHBvc2l0aW9uIDogcmVsYXRpdmU7XG4gICAgICAgIGhlaWdodDogNTRweDtcbiAgICAgICAgb3ZlcmZsb3cgOiBoaWRkZW47XG4gICAgICAgIHdpZHRoIDogMTAwJTtcbiAgICAgICAgcGFkZGluZzogMDtcblxuICAgICAgICBjb2xvcjogaW5oZXJpdDtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogMDtcbiAgICAgICAgYm9yZGVyOiBub25lO1xuXG4gICAgICAgIGJhY2tncm91bmQtY29sb3IgOiAkY29sb3JfX3doaXRlO1xuXHRcdC5wYWdlX19hY2NvdW50ICYge1xuXHRcdFx0Y29sb3IgOiAkdGV4dF9fY29sb3ItLWJhc2U7XG5cdFx0XHRiYWNrZ3JvdW5kLWNvbG9yIDogJGNvbG9yX19uZXV0cmFsLS1saWdodDtcblx0XHR9XG5cbiAgICAgICAgQGV4dGVuZCAuaWNvbjtcbiAgICAgICAgQGV4dGVuZCAuaWNvbi1hcnJvdy1kb3duO1xuXG4gICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogNnB4O1xuICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgcmlnaHQ6IDIwcHg7XG4gICAgICAgICAgICB0b3A6IDIwcHg7XG4gICAgICAgICAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgICAgICAgICAgIGNvbG9yOiByZ2JhKCR0ZXh0X19jb2xvci0tYmFzZSwgLjUpO1xuICAgICAgICB9XG5cbiAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgICAgQGluY2x1ZGUgdHJhbnNsYXRlKDAsIC01MCUpO1xuICAgICAgICAgICAgQGluY2x1ZGUgdHJhbnNpdGlvbiggdHJhbnNmb3JtIDAuMnMgZWFzZS1vdXQgKTtcblxuICAgICAgICAgICAgdG9wIDogNTAlO1xuICAgICAgICAgICAgcmlnaHQgOiAyMHB4O1xuICAgICAgICAgICAgZm9udC1zaXplOiA0cHg7XG5cbiAgICAgICAgICAgIGNvbG9yOiAkY29sb3JfX3ByaW1hcnk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAuc2VsZWN0Mi1zZWxlY3Rpb24tLXNpbmdsZVthcmlhLWV4cGFuZGVkPXRydWVdIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG9yX19wcmltYXJ5O1xuICAgICAgICBjb2xvcjogJGNvbG9yX193aGl0ZTtcbiAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgICAgQGluY2x1ZGUgdHJhbnNmb3JtKCB0cmFuc2xhdGUoMCwgLTUwJSkgcm90YXRlKCAxODBkZWcgKSApO1xuICAgICAgICAgICAgY29sb3I6ICRjb2xvcl9fd2hpdGU7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmLXNlYXJjaCB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxuXG4gICAgJi1kcm9wZG93biB7XG4gICAgICAgIGJvcmRlcjogbm9uZTtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogMDtcbiAgICAgICAgYm94LXNoYWRvdzogMCAxMHB4IDEwcHggJGNvbG9yX19uZXV0cmFsO1xuICAgICAgICBib3gtc2hhZG93OiAwIDEwcHggMTBweCByZ2JhKCAkY29sb3JfX25ldXRyYWwsIDAuNSApO1xuICAgIH1cblxuICAgICYtcmVzdWx0c19fb3B0aW9uIHtcbiAgICAgICAgcGFkZGluZzogMTVweCAyMHB4O1xuICAgICAgICBsaW5lLWhlaWdodDogMTtcbiAgICAgICAgZm9udC1zaXplOiAxM3B4O1xuICAgICAgICBjb2xvcjogcmdiYSgkdGV4dF9fY29sb3ItLWJhc2UsIDAuNSk7XG5cbiAgICAgICAgJi0taGlnaGxpZ2h0ZWQsICYtLWhpZ2hsaWdodGVkW2FyaWEtc2VsZWN0ZWQ9dHJ1ZV0sICZbYXJpYS1zZWxlY3RlZD10cnVlXSB7XG4gICAgICAgICAgICBjb2xvcjogJGNvbG9yX193aGl0ZVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgJi1jb250YWluZXItLWRlZmF1bHQgLnNlbGVjdDItcmVzdWx0c19fb3B0aW9uLS1oaWdobGlnaHRlZFthcmlhLXNlbGVjdGVkXSB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRjb2xvcl9fcHJpbWFyeTtcbiAgICB9XG4gICAgJi1jb250YWluZXItLWRlZmF1bHQgLnNlbGVjdDItcmVzdWx0c19fb3B0aW9uW2FyaWEtc2VsZWN0ZWQ9dHJ1ZV0ge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3JfX3ByaW1hcnk7XG4gICAgfVxuICAgICYtY29udGFpbmVyLS1kZWZhdWx0IC5zZWxlY3QyLXJlc3VsdHNfX29wdGlvbi0taGlnaGxpZ2h0ZWRbYXJpYS1zZWxlY3RlZD10cnVlXSB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRjb2xvcl9fcHJpbWFyeTtcbiAgICB9XG5cbn1cblxuLnNlbGVjdDItY29udGFpbmVyLS1kZWZhdWx0IC5zZWxlY3QyLXNlbGVjdGlvbi0tc2luZ2xlIC5zZWxlY3QyLXNlbGVjdGlvbl9fcmVuZGVyZWQge1xuICAgIGhlaWdodDogNTRweDtcbiAgICBvdmVyZmxvdyA6IGhpZGRlbjtcbiAgICB3aWR0aCA6IDEwMCU7XG4gICAgbGluZS1oZWlnaHQ6IDE7XG4gICAgZm9udC1zaXplOiAxM3B4O1xuICAgIHBhZGRpbmc6IDE4cHggMjBweDtcbiAgICBwYWRkaW5nLXJpZ2h0OiAyLjVlbTtcbiAgICBjb2xvcjogaW5oZXJpdDtcbn0iLCIubGlzdGluZyB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZmxleC1ncm93OiAxO1xuICBmbGV4LWJhc2lzOiAwJTtcbiAgJHNlbGY6ICY7XG5cbiAgLmxvYWRlciB7XG4gICAgcG9zaXRpb246IGZpeGVkOyAvKiBGaXjDqSBwYXIgcmFwcG9ydCDDoCBsYSBmZW7DqnRyZSwgcG91ciBjZW50cmVyIGVuIGhhdXRldXIgKi9cbiAgICBsZWZ0OiBhdXRvOyAvKiBQYXMgZGUgY2VudHJhZ2UgaG9yaXpvbnRhbCAqL1xuICAgIGxlZnQ6IDUwJTsgLyogUG9zaXRpb25uw6kgw6AgZHJvaXRlIChvdSBtb2RpZmlleiBjZXR0ZSB2YWxldXIgc2Vsb24gdm9zIGJlc29pbnMpICovXG4gICAgdG9wOiA1MCU7IC8qIENlbnRyw6kgZW4gaGF1dGV1ciAqL1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKSB0cmFuc2xhdGVYKGNhbGMoNTAlICsgMjQwcHgpKTsgLyogRMOpY2FsYWdlIGRlIDUwJSBkZSBsYSBsYXJnZXVyIGR1IGxvYWRlciAqL1xuICAgIHotaW5kZXg6IDEwMDA7XG4gICAgYmFja2dyb3VuZDogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjkpOyAvKiBGb25kIHNlbWktdHJhbnNwYXJlbnQgKi9cbiAgICBib3gtc2hhZG93OiAwIDAgMTBweCByZ2JhKDAsIDAsIDAsIDAuMik7XG4gICAgcGFkZGluZzogMTBweDsgLyogUsOpZHVpcmUgbGUgcGFkZGluZyAqL1xuICAgIGJvcmRlci1yYWRpdXM6IDhweDtcbiAgICB3aWR0aDogNjBweDsgLyogUsOpZHVpcmUgbGEgbGFyZ2V1ciAqL1xuICAgIGhlaWdodDogNjBweDsgLyogUsOpZHVpcmUgbGEgaGF1dGV1ciAqL1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcblxuICAgICYgaW1nIHtcbiAgICAgIHdpZHRoOiA1MHB4OyAvKiBBanVzdGVyIGxhIHRhaWxsZSBkdSBHSUYgKi9cbiAgICAgIGhlaWdodDogNTBweDtcbiAgICB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogJHRhYmxldCkge1xuICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpIHRyYW5zbGF0ZVgoY2FsYyg1MCUgLSA4MHB4KSk7XG4gICAgfVxuICB9XG5cbiAgJl9fZG93bmxvYWQge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgJjpob3ZlciB7XG4gICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG5cbiAgICAgICN7JHNlbGZ9X19saW5rIHtcbiAgICAgICAgJjo6YmVmb3JlIHtcbiAgICAgICAgICBvcGFjaXR5OiAwLjY7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgI3skc2VsZn1fX2ljb24ge1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC01MCUsIC01MCUsIDApO1xuICAgICAgICBvcGFjaXR5OiAxO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gICZfX2NvbnRhaW5lciB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIG1hcmdpbjogMDtcbiAgICBwYWRkaW5nOiAwO1xuXG4gICAgJi5sb2FkaW5nIHtcbiAgICAgICY6OmFmdGVyIHtcbiAgICAgICAgY29udGVudDogXCJcIjtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICB6LWluZGV4OiA1O1xuICAgICAgICB0b3A6IDA7XG4gICAgICAgIGxlZnQ6IDA7XG4gICAgICAgIHJpZ2h0OiAwO1xuICAgICAgICBib3R0b206IDA7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRjb2xvcl9fd2hpdGU7XG4gICAgICAgIG9wYWNpdHk6IDAuNjtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAkbW9iaWxlKSB7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgZmxleC13cmFwOiB3cmFwO1xuICAgIH1cbiAgfVxuXG4gICZfX2FjdGlvbiB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIG1hcmdpbi1ib3R0b206IHJlbSgyMCk7XG4gICAgbWFyZ2luLWxlZnQ6IC0xMHB4O1xuICAgIG1hcmdpbi1yaWdodDogLTEwcHg7XG5cbiAgICAuYnRuIHtcbiAgICAgIG1hcmdpbjogMTBweDtcbiAgICB9XG4gICAgLmpzLWxpc3RpbmctbWFya3MgLmpzLWxpc3RpbmctcmVzdWx0cyB7XG4gICAgICBib3JkZXI6IG5vbmUgIWltcG9ydGFudDtcbiAgICAgIHRleHQtdHJhbnNmb3JtOiBub25lICFpbXBvcnRhbnQ7XG4gICAgICBmb250LXNpemU6IDE2cHggIWltcG9ydGFudDtcbiAgICAgICY6aG92ZXIge1xuICAgICAgICBib3JkZXI6IG5vbmUgIWltcG9ydGFudDtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQgIWltcG9ydGFudDtcbiAgICAgICAgY29sb3I6ICRjb2xvcl9fcHJpbWFyeSAhaW1wb3J0YW50O1xuICAgICAgfVxuICAgICAgJi1jb3VudCB7XG4gICAgICAgIGZvbnQtc2l6ZTogMTZweDtcbiAgICAgICAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAkbW9iaWxlKSB7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgZmxleC13cmFwOiB3cmFwO1xuXG4gICAgICAuYnRuX19zZWxlY3Rpb25zIHtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgJl9fcGFnaW5hdGlvbiB7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIGJ1dHRvbiB7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgfVxuICB9XG5cbiAgJi0tZ3JpZCB7XG4gICAgLmxpc3RpbmdfX2NvbHVtbnMge1xuICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG5cbiAgICAmIC5saXN0aW5nX19pdGVtX19ncmlkIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIH1cblxuICAgICYgLmxpc3RpbmdfX2l0ZW1fX2xpc3Qge1xuICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG4gIH1cblxuICAmLS1saXN0IHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBvdmVyZmxvdy14OiBhdXRvO1xuICAgIHBhZGRpbmctYm90dG9tOiAyMHB4O1xuXG4gICAgJiAubGlzdGluZ19fY29sdW1ucyB7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgZ2FwOiAycmVtO1xuICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICRjb2xvcl9fbmV1dHJhbC0tZGFyaztcbiAgICAgIG1pbi13aWR0aDogNjAwcHg7XG4gICAgICBwYWRkaW5nOiAwIDAuNjI1cmVtIDAgMC42MjVyZW07XG4gICAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgICAgbWluLXdpZHRoOiA3NTBweDtcbiAgICB9XG4gICAgJiAubGlzdGluZ19fY29udGFpbmVyIHtcbiAgICAgIG1pbi13aWR0aDogNzUwcHg7XG4gICAgfVxuICAgIC5saXN0aW5nX19jb2x1bW4tLW5hbWUge1xuICAgICAgd2lkdGg6IDQ1JTtcbiAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDE2MDBweCkge1xuICAgICAgICB3aWR0aDogNDAlO1xuICAgICAgfVxuICAgIH1cbiAgICAubGlzdGluZ19fY29sdW1uLS12ZXJzaW9uIHtcbiAgICAgIHdpZHRoOiAzNSU7XG4gICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAxNjAwcHgpIHtcbiAgICAgICAgd2lkdGg6IDMwJTtcbiAgICAgIH1cbiAgICB9XG4gICAgLmxpc3RpbmdfX2NvbHVtbi0tZm9ybWF0IHtcbiAgICAgIHdpZHRoOiAxMCU7XG4gICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAxNjAwcHgpIHtcbiAgICAgICAgd2lkdGg6IDE1JTtcbiAgICAgIH1cbiAgICB9XG4gICAgLmxpc3RpbmdfX2NvbHVtbi0tc2l6ZSB7XG4gICAgICB3aWR0aDogMTAlO1xuICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogMTYwMHB4KSB7XG4gICAgICAgIHdpZHRoOiAxNSU7XG4gICAgICB9XG4gICAgfVxuICAgIC5saXN0aW5nX19jb2x1bW4tLW5hbWUsXG4gICAgLmxpc3RpbmdfX2NvbHVtbi0tdmVyc2lvbixcbiAgICAubGlzdGluZ19fY29sdW1uLS1mb3JtYXQsXG4gICAgLmxpc3RpbmdfX2NvbHVtbi0tc2l6ZSB7XG4gICAgICBmb250LWZhbWlseTogJHRleHRfX2ZhbWlseS1zYW5zLS10aXRsZTtcbiAgICAgIGZvbnQtc2l6ZTogcmVtKDE4KTtcbiAgICAgIGxpbmUtaGVpZ2h0OiByZW0oMjApO1xuXG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cbiAgICAgIG1hcmdpbjogMDtcbiAgICAgIG1hcmdpbi1ib3R0b206IHJlbSgyMCk7XG5cbiAgICAgIGxldHRlci1zcGFjaW5nOiByZW0oMi41KTtcbiAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG5cbiAgICAgIEBleHRlbmQgJXJlZ3VsYXI7XG5cbiAgICAgICY6OmJlZm9yZSB7XG4gICAgICAgIGZvbnQtc2l6ZTogcmVtKDE2KTtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDIwcHg7XG5cbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICByaWdodDogMDtcblxuICAgICAgICBkaXNwbGF5OiBub25lO1xuXG4gICAgICAgIHRleHQtYWxpZ246IHJpZ2h0O1xuICAgICAgICB2ZXJ0aWNhbC1hbGlnbjogdG9wO1xuXG4gICAgICAgIGNvbG9yOiAkY29sb3JfX3ByaW1hcnk7XG5cbiAgICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogJHRhYmxldCkge1xuICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgICYuaWNvbi1sZXNzIHtcbiAgICAgICAgJjo6YmVmb3JlIHtcbiAgICAgICAgICBmb250LXNpemU6IDNweDtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgICYgLmxpc3RpbmdfX2l0ZW1fX2dyaWQge1xuICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG5cbiAgICAmIC5saXN0aW5nX19pdGVtX19saXN0IHtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAkY29sb3JfX25ldXRyYWwtLWRhcms7XG4gICAgICBmbGV4OiAwIDAgYXV0bztcbiAgICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMC4ycyBsaW5lYXI7XG4gICAgICAmOmhvdmVyIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG9yX19uZXV0cmFsLS1saWdodDtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAubGlzdGluZ19fZG93bmxvYWQge1xuICAgICAgLmxpc3RpbmdfX2NvbnRlbnQge1xuICAgICAgICBwYWRkaW5nOiAxcmVtIDAuNjI1cmVtO1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBnYXA6IDJyZW07XG4gICAgICAgICZfX25hbWUge1xuICAgICAgICAgIHdpZHRoOiA0NSU7XG4gICAgICAgICAgLmljb24ge1xuICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICAgICAgdG9wOiAycHg7XG4gICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDAuNXJlbTtcbiAgICAgICAgICB9XG4gICAgICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogMTYwMHB4KSB7XG4gICAgICAgICAgICB3aWR0aDogNDAlO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAmX192ZXJzaW9uIHtcbiAgICAgICAgICB3aWR0aDogMzUlO1xuICAgICAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDE2MDBweCkge1xuICAgICAgICAgICAgd2lkdGg6IDMwJTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgJl9fZm9ybWF0IHtcbiAgICAgICAgICB3aWR0aDogMTAlO1xuICAgICAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDE2MDBweCkge1xuICAgICAgICAgICAgd2lkdGg6IDE1JTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgJl9fc2l6ZSB7XG4gICAgICAgICAgd2lkdGg6IDEwJTtcbiAgICAgICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAxNjAwcHgpIHtcbiAgICAgICAgICAgIHdpZHRoOiAxNSU7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLmlzX2Rvd25sb2FkX2l0ZW0ge1xuICAgIC5saXN0aW5nX19wcmV2aWV3IHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICRjb2xvcl9fbmV1dHJhbC0tbGlnaHQ7XG4gICAgICAubGlzdGluZ19faWNvbiB7XG4gICAgICAgIGZvbnQtc2l6ZTogNXJlbTtcbiAgICAgICAgY29sb3I6ICRjb2xvcl9fcHJpbWFyeTtcbiAgICAgIH1cbiAgICB9XG4gICAgLmxpc3RpbmdfX2NvbnRlbnQge1xuICAgICAgLmxpc3RpbmdfX3RpdGxlIHtcbiAgICAgICAgdGV4dC10cmFuc2Zvcm06IG5vbmU7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiA0MDA7XG4gICAgICAgIGZvbnQtc2l6ZTogMXJlbTtcbiAgICAgIH1cbiAgICB9XG4gICAgLmJ1dHRvbl9fZG93bmxvYWQge1xuICAgICAgZm9udC1zaXplOiAwLjg3NXJlbTtcbiAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgICBsaW5lLWhlaWdodDogMTRweDtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHotaW5kZXg6IDA7XG4gICAgICBib3R0b206IDAuNjI1cmVtO1xuICAgICAgbGVmdDogMC42MjVyZW07XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIC13ZWJraXQtYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgICB3aWR0aDogY2FsYygxMDAlIC0gMjBweCk7XG4gICAgICBwYWRkaW5nOiAwLjkzNzVyZW0gMS44NzVyZW07XG4gICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgICAtd2Via2l0LXRyYW5zaXRpb246IGNvbG9yIDAuMnMgbGluZWFyLCBiYWNrZ3JvdW5kLWNvbG9yIDAuMnMgbGluZWFyLFxuICAgICAgICBib3JkZXItY29sb3IgMC4ycyBsaW5lYXI7XG4gICAgICB0cmFuc2l0aW9uOiBjb2xvciAwLjJzIGxpbmVhciwgYmFja2dyb3VuZC1jb2xvciAwLjJzIGxpbmVhcixcbiAgICAgICAgYm9yZGVyLWNvbG9yIDAuMnMgbGluZWFyO1xuICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICAgIGNvbG9yOiAjMjAyMTI0O1xuICAgICAgYm9yZGVyOiAwLjA2MjVyZW0gc29saWQgI2Q5ZDlkOTtcbiAgICAgIGJhY2tncm91bmQ6ICNmZmZmZmY7XG4gICAgICAmOmhvdmVyIHtcbiAgICAgICAgY29sb3I6ICNmZmZmZmY7XG4gICAgICAgIGJvcmRlci1jb2xvcjogcmdiYSgzMiwgMzMsIDM2LCAwLjMpO1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDMyLCAzMywgMzYsIDAuMyk7XG4gICAgICB9XG4gICAgfVxuICB9XG4gICZfX2l0ZW0ge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgbWFyZ2luLXJpZ2h0OiBndXR0ZXIoKTtcbiAgICBtYXJnaW4tYm90dG9tOiBndXR0ZXIoKTtcbiAgICBsaXN0LXN0eWxlOiBub25lO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICBvcGFjaXR5OiAwO1xuICAgIGJhY2tncm91bmQ6ICRjb2xvcl9fbmV1dHJhbC0tbGlnaHQ7XG5cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAkbW9iaWxlKSB7XG4gICAgICBmbGV4LWdyb3c6IDA7XG4gICAgICBmbGV4LXNocmluazogMDtcbiAgICB9XG5cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAkbW9iaWxlKSBhbmQgKG1heC13aWR0aDogODUwcHgpIHtcbiAgICAgIHdpZHRoOiBjYWxjKCgxMDAlIC0gMzFweCkgLyAyKTtcbiAgICAgIG1hcmdpbi1yaWdodDogZ3V0dGVyKCk7XG5cbiAgICAgICY6bnRoLWNoaWxkKDJuICsgMikge1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gICAgICB9XG4gICAgfVxuXG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODUxcHgpIGFuZCAobWF4LXdpZHRoOiAkdGFibGV0KSB7XG4gICAgICB3aWR0aDogY2FsYygoMTAwJSAtIDYxcHgpIC8gMyk7XG5cbiAgICAgICY6bnRoLWNoaWxkKDNuICsgMykge1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gICAgICB9XG4gICAgfVxuXG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogJHRhYmxldCkgYW5kIChtYXgtd2lkdGg6IDEyNTBweCkge1xuICAgICAgd2lkdGg6IGNhbGMoKDEwMCUgLSAzMXB4KSAvIDIpO1xuXG4gICAgICAmOm50aC1jaGlsZCgybiArIDIpIHtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAwO1xuICAgICAgfVxuICAgIH1cblxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDEyNTFweCkgYW5kIChtYXgtd2lkdGg6IDE5MjBweCkge1xuICAgICAgd2lkdGg6IGNhbGMoKDEwMCUgLSA2MXB4KSAvIDMpO1xuXG4gICAgICAmOm50aC1jaGlsZCgzbiArIDMpIHtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAwO1xuICAgICAgfVxuXG4gICAgICAjeyRzZWxmfS0tZG9jdW1lbnRzICYge1xuICAgICAgICB3aWR0aDogY2FsYygoMTAwJSAtIDkxcHgpIC8gNCk7XG5cbiAgICAgICAgJjpudGgtY2hpbGQoM24gKyAzKSB7XG4gICAgICAgICAgbWFyZ2luLXJpZ2h0OiBndXR0ZXIoKTtcbiAgICAgICAgfVxuXG4gICAgICAgICY6bnRoLWNoaWxkKDRuICsgNCkge1xuICAgICAgICAgIG1hcmdpbi1yaWdodDogMDtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDE5MjFweCkge1xuICAgICAgd2lkdGg6IGNhbGMoKDEwMCUgLSA5MXB4KSAvIDQpO1xuXG4gICAgICAmOm50aC1jaGlsZCg0biArIDQpIHtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAwO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gICZfX3ByZXZpZXcge1xuICAgIEBpbmNsdWRlIHJhdGlvKDMsIDIpO1xuXG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gICAgbWFyZ2luOiAwO1xuXG4gICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXI7XG4gICAgYmFja2dyb3VuZC1zaXplOiBjb3ZlcjtcblxuICAgICN7JHNlbGZ9LS1kb2N1bWVudHMgJiB7XG4gICAgICBAaW5jbHVkZSByYXRpbygyMTAsIDI5Nyk7XG4gICAgfVxuXG4gICAgJi0tdmlkZW8ge1xuICAgICAgQGluY2x1ZGUgcmF0aW8oMTYsIDkpO1xuICAgIH1cbiAgfVxuXG4gICZfX2xpbmsge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDA7XG4gICAgbGVmdDogMDtcblxuICAgIGRpc3BsYXk6IGJsb2NrO1xuXG4gICAgd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiAxMDAlO1xuXG4gICAgJjo6YmVmb3JlIHtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHRvcDogMDtcbiAgICAgIGxlZnQ6IDA7XG5cbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgaGVpZ2h0OiAxMDAlO1xuXG4gICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgdHJhbnNpdGlvbjogb3BhY2l0eSAwLjJzIGxpbmVhcjtcblxuICAgICAgb3BhY2l0eTogMDtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICRjb2xvcl9fYmxhY2s7XG4gICAgfVxuXG4gICAgJjpob3ZlciB7XG4gICAgICAmOjpiZWZvcmUge1xuICAgICAgICBvcGFjaXR5OiAwLjY7XG4gICAgICB9XG5cbiAgICAgICN7JHNlbGZ9X19pY29uIHtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtNTAlLCAtNTAlLCAwKTtcblxuICAgICAgICBvcGFjaXR5OiAxO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gICZfX2NvbnRlbnQge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB6LWluZGV4OiAwO1xuXG4gICAgZGlzcGxheTogYmxvY2s7XG5cbiAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgIHBhZGRpbmc6IHJlbSgzNSkgcmVtKDEwKTtcblxuICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMC4ycyBsaW5lYXI7XG5cbiAgICBjb2xvcjogJGNvbG9yX19ibGFjaztcblxuICAgICYtLXBhZGRpbmcge1xuICAgICAgcGFkZGluZy1ib3R0b206IHJlbSg3Nyk7XG4gICAgfVxuXG4gICAgJi0tbm90aXRsZSB7XG4gICAgICBwYWRkaW5nOiAwO1xuICAgIH1cblxuICAgICYtLXR3byB7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7XG4gICAgICBqdXN0aWZ5LXNlbGY6IGNlbnRlcjtcblxuICAgICAgLy8gaGVpZ2h0OiA3MHB4O1xuICAgICAgcGFkZGluZy10b3A6IDA7XG4gICAgICBwYWRkaW5nLXJpZ2h0OiAwO1xuICAgICAgcGFkZGluZy1ib3R0b206IDA7XG5cbiAgICAgIC5saXN0aW5nX19jb250ZW50X19sZWZ0IHtcbiAgICAgICAgZmxleDogMTtcbiAgICAgICAgcGFkZGluZzogMTBweCAwO1xuICAgICAgfVxuICAgICAgLmxpc3RpbmdfX2NvbnRlbnRfX3JpZ2h0IHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiA1cHg7XG4gICAgICB9XG5cbiAgICAgIC5saXN0aW5nX190aXRsZSB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDVweDtcbiAgICAgICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgICAgICAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDEuMjtcbiAgICAgIH1cblxuICAgICAgLmxpc3RpbmdfX21ldGEge1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICBmb250LXNpemU6IDEycHg7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiAzMDA7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxO1xuXG4gICAgICAgIGZvbnQtZmFtaWx5OiAkdGV4dF9fZmFtaWx5LXNhbnMtLXRpdGxlO1xuICAgICAgfVxuXG4gICAgICAubGlzdGluZ19faXRlbV9fZG93bmxvYWQge1xuICAgICAgICBAaW5jbHVkZSBhcHBlYXJhbmNlKCk7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuXG4gICAgICAgIGNvbG9yOiAkY29sb3JfX3doaXRlO1xuICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG5cbiAgICAgICAgd2lkdGg6IDU0cHg7XG4gICAgICAgIGhlaWdodDogNTRweDtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG9yX19wcmltYXJ5O1xuXG4gICAgICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMC4zcyAkZWFzZUluQ2lyYztcblxuICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBkYXJrZW4oJGNvbG9yX19wcmltYXJ5LCAxMCUpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgYSN7JHNlbGZ9X19jb250ZW50IHtcbiAgICAmOmhvdmVyIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IGRhcmtlbigkY29sb3JfX25ldXRyYWwtLWxpZ2h0LCAzKTtcbiAgICB9XG4gIH1cblxuICAmX19sYWJlbCB7XG4gICAgZm9udC1zaXplOiByZW0oMTQpO1xuICAgIGxpbmUtaGVpZ2h0OiAxNHB4O1xuXG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHotaW5kZXg6IDA7XG4gICAgYm90dG9tOiByZW0oMTApO1xuICAgIGxlZnQ6IHJlbSgxMCk7XG5cbiAgICBkaXNwbGF5OiBibG9jaztcblxuICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgd2lkdGg6IGNhbGMoMTAwJSAtIDIwcHgpO1xuICAgIHBhZGRpbmc6IHJlbSgxNSkgcmVtKDMwKTtcblxuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICB0cmFuc2l0aW9uOiBjb2xvciAwLjJzIGxpbmVhciwgYmFja2dyb3VuZC1jb2xvciAwLjJzIGxpbmVhcixcbiAgICAgIGJvcmRlci1jb2xvciAwLjJzIGxpbmVhcjtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcblxuICAgIGNvbG9yOiAkdGV4dF9fY29sb3ItLWJhc2U7XG4gICAgYm9yZGVyOiByZW0oMSkgc29saWQgbGlnaHRlbigjY2NjY2NjLCA1KTtcbiAgICBiYWNrZ3JvdW5kOiAkY29sb3JfX3doaXRlO1xuXG4gICAgQGV4dGVuZCAlc2VtaS1ib2xkO1xuXG4gICAgJjpob3ZlciB7XG4gICAgICBjb2xvcjogJGNvbG9yX193aGl0ZTtcbiAgICAgIGJvcmRlci1jb2xvcjogcmdiYSgkdGV4dF9fY29sb3ItLWJhc2UsIDAuMyk7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKCR0ZXh0X19jb2xvci0tYmFzZSwgMC4zKTtcbiAgICB9XG5cbiAgICBzcGFuIHtcbiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcblxuICAgICAgJjo6YmVmb3JlIHtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDE1cHg7XG5cbiAgICAgICAgbWFyZ2luLXJpZ2h0OiByZW0oMTApO1xuXG4gICAgICAgIHZlcnRpY2FsLWFsaWduOiB0b3A7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLmxpc3RpbmdfX2NvbnRhaW5lcltkYXRhLXBvc3QtdHlwZT1cIm5tY19kZWNvX2JpbWNhZFwiXSAmLFxuICAgIC5saXN0aW5nX19jb250YWluZXJbZGF0YS1wb3N0LXR5cGU9XCJubWNfZGVjb190ZW5kdHh0XCJdICYsXG4gICAgLmxpc3RpbmdfX2NvbnRhaW5lcltkYXRhLXBvc3QtdHlwZT1cIm5tY191bmRlcl90ZW5kdHh0XCJdICYge1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgYm90dG9tOiAwO1xuICAgICAgbGVmdDogMDtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgIH1cbiAgfVxuXG4gICZfX2NoZWNrYm94IHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgYm90dG9tOiAwO1xuICAgICY6Y2hlY2tlZCArIGxhYmVsIHtcbiAgICAgIGNvbG9yOiAkY29sb3JfX3doaXRlO1xuICAgICAgYm9yZGVyLWNvbG9yOiByZ2JhKCR0ZXh0X19jb2xvci0tYmFzZSwgMC42KTtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoJHRleHRfX2NvbG9yLS1iYXNlLCAwLjYpO1xuXG4gICAgICBzcGFuIHtcbiAgICAgICAgQGV4dGVuZCAuaWNvbi1jaGVjaztcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAmX190aXRsZSB7XG4gICAgZm9udC1mYW1pbHk6ICR0ZXh0X19mYW1pbHktc2Fucy0tdGl0bGU7XG4gICAgZm9udC1zaXplOiByZW0oMTQpO1xuXG4gICAgbWFyZ2luLXRvcDogMDtcbiAgICBtYXJnaW4tYm90dG9tOiByZW0oNSk7XG5cbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgbGV0dGVyLXNwYWNpbmc6IHJlbSgyKTtcbiAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgIHdvcmQtd3JhcDogYnJlYWstd29yZDtcblxuICAgIEBleHRlbmQgJWxpZ2h0O1xuICB9XG5cbiAgJl9fc3VtbWFyeSB7XG4gICAgZm9udC1zaXplOiByZW0oMTQpO1xuICAgIG1hcmdpbi10b3A6IHJlbSgyMCk7XG4gICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgfVxuXG4gICZfX3N1YnRpdGxlIHtcbiAgICBmb250LXNpemU6IHJlbSgxMik7XG5cbiAgICBAZXh0ZW5kICVzZW1pLWJvbGQ7XG4gIH1cblxuICAmX19pY29uIHtcbiAgICBmb250LXNpemU6IHJlbSg1MCk7XG5cbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiA1MCU7XG4gICAgbGVmdDogNTAlO1xuXG4gICAgZGlzcGxheTogYmxvY2s7XG5cbiAgICB0cmFuc2l0aW9uOiBvcGFjaXR5IDAuMnMgbGluZWFyLCB0cmFuc2Zvcm0gMC4ycyBsaW5lYXI7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtNTAlLCAtNTAlLCAwKTtcbiAgICB2ZXJ0aWNhbC1hbGlnbjogdG9wO1xuXG4gICAgb3BhY2l0eTogMC41O1xuICAgIGNvbG9yOiAkdGV4dF9fY29sb3ItLWJhc2U7XG5cbiAgICAmOjpiZWZvcmUge1xuICAgICAgdmVydGljYWwtYWxpZ246IHRvcDtcbiAgICB9XG5cbiAgICAmLS1wcmV2aWV3IHtcbiAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTUwJSwgLTQwJSwgMCk7XG5cbiAgICAgIG9wYWNpdHk6IDA7XG4gICAgICBjb2xvcjogJGNvbG9yX193aGl0ZTtcbiAgICB9XG4gIH1cblxuICAmX19lcnJvcnMge1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG5cbiAgICBoZWlnaHQ6IDA7XG4gICAgbWFyZ2luOiAwO1xuICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgcGFkZGluZzogcmVtKDMwKSAwO1xuXG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuXG4gICAgb3BhY2l0eTogMDtcbiAgICBjb2xvcjogJGNvbG9yX19wcmltYXJ5O1xuICB9XG5cbiAgJl9fbG9hZG1vcmUge1xuICAgICY6OmJlZm9yZSB7XG4gICAgICBmb250LXNpemU6IHJlbSgzMCk7XG4gICAgICBsaW5lLWhlaWdodDogMTtcblxuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgei1pbmRleDogMDtcbiAgICAgIHRvcDogNTAlO1xuICAgICAgbGVmdDogNTAlO1xuXG4gICAgICBkaXNwbGF5OiBibG9jaztcblxuICAgICAgd2lkdGg6IHJlbSgzMCk7XG4gICAgICBoZWlnaHQ6IHJlbSgzMCk7XG4gICAgICBtYXJnaW4tdG9wOiByZW0oLTE1KTtcbiAgICAgIG1hcmdpbi1sZWZ0OiByZW0oLTE1KTtcblxuICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtNTAlLCAtNTAlLCAwKTtcbiAgICAgIHRyYW5zZm9ybS1vcmlnaW46IGNlbnRlcjtcbiAgICAgIGFuaW1hdGlvbjogcm90YXRpbmcgMC43cyBsaW5lYXIgaW5maW5pdGU7XG4gICAgICB2ZXJ0aWNhbC1hbGlnbjogdG9wO1xuXG4gICAgICBvcGFjaXR5OiAwO1xuICAgICAgY29sb3I6ICRjb2xvcl9fd2hpdGU7XG4gICAgfVxuXG4gICAgc3BhbiB7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICB6LWluZGV4OiAxMDtcbiAgICB9XG5cbiAgICAmLmlzLWxvYWQge1xuICAgICAgc3BhbiB7XG4gICAgICAgIG9wYWNpdHk6IDA7XG4gICAgICB9XG5cbiAgICAgICY6OmJlZm9yZSB7XG4gICAgICAgIG9wYWNpdHk6IDE7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbi5saXN0aW5nX192aWV3IHtcbiAgZGlzcGxheTogZmxleDtcbiAganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDtcbiAgcGFkZGluZzogMCA2LjI1cmVtIDAgMDtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBsZWZ0OiAwLjdyZW07XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDE2MDBweCkge1xuICAgIHBhZGRpbmc6IDAgMi41cmVtIDFyZW0gMDtcbiAgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAxMTAwcHgpIHtcbiAgICBwYWRkaW5nOiAwIDEuODc1cmVtIDFyZW0gMS44NzVyZW07XG4gIH1cbiAgLmljb24ge1xuICAgIGZvbnQtc2l6ZTogcmVtKDIyKTtcbiAgICBsaW5lLWhlaWdodDogMTtcblxuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB0b3A6IHJlbSgyKTtcblxuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMC4ycyBsaW5lYXI7XG4gICAgdmVydGljYWwtYWxpZ246IHRvcDtcbiAgICAmOmhvdmVyIHtcbiAgICAgIGNvbG9yOiAkY29sb3JfX3NlY29uZGFyeS0tZGFyaztcbiAgICAgIHRyYW5zaXRpb246IGNvbG9yIDAuMnMgbGluZWFyO1xuICAgICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gICAgfVxuICB9XG4gIC5saXN0aW5nX192aWV3LWJ0biB7XG4gICAgcGFkZGluZy1sZWZ0OiAwLjdyZW07XG4gICAgcGFkZGluZy1yaWdodDogMC43cmVtO1xuICB9XG4gIC5saXN0aW5nX192aWV3LWJ0bi5pcy1hY3RpdmUge1xuICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICAgIGNvbG9yOiAkY29sb3JfX3NlY29uZGFyeS0tZGFyaztcbiAgfVxufVxuIiwiLnBvcHVwIHtcbiAgICBwb3NpdGlvbiA6IGZpeGVkO1xuICAgIHotaW5kZXggOiAxMDAwO1xuICAgIHRvcCA6IDA7XG4gICAgcmlnaHQgOiAwO1xuICAgIGJvdHRvbSA6IDA7XG4gICAgbGVmdCA6IDA7XG5cbiAgICBkaXNwbGF5IDogbm9uZTtcblxuXHQmW2RhdGEtdHlwZT1cInZpZGVvXCJdIC5wb3B1cF9fb3ZlcmZsb3cge1xuXHRcdHBhZGRpbmc6IDA7XG5cdH1cblxuICAgIC8qKlxuICAgICAqIENhY2hlXG4gICAgICovXG5cbiAgICAmX19jYWNoZSB7XG4gICAgICAgIHBvc2l0aW9uIDogYWJzb2x1dGU7XG4gICAgICAgIHRvcCA6IDA7XG4gICAgICAgIHJpZ2h0IDogMDtcbiAgICAgICAgYm90dG9tIDogMDtcbiAgICAgICAgbGVmdCA6IDA7XG5cbiAgICAgICAgY3Vyc29yIDogcG9pbnRlcjtcblxuICAgICAgICBvcGFjaXR5IDogLjg7XG4gICAgICAgIGJhY2tncm91bmQgOiAkY29sb3JfX3doaXRlO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIENsb3NlXG4gICAgICovXG5cbiAgICAmX19jbG9zZSB7XG4gICAgICAgIGZvbnQtc2l6ZSA6IGVtKDMwKTtcblxuICAgICAgICBwb3NpdGlvbiA6IGFic29sdXRlO1xuICAgICAgICB0b3AgOiBlbSgtNDAsIDMwKTtcbiAgICAgICAgcmlnaHQgOiBlbSgtMzAsIDMwKTtcblxuICAgICAgICB3aWR0aCA6IGVtKDMwLCAzMCk7XG4gICAgICAgIGhlaWdodCA6IGVtKDMwLCAzMCk7XG5cbiAgICAgICAgY3Vyc29yIDogcG9pbnRlcjtcbiAgICAgICAgdHJhbnNpdGlvbiA6IGNvbG9yIC4ycyAkZWFzZUluU2luZTtcblxuICAgICAgICBjb2xvciA6ICRjb2xvcl9fcHJpbWFyeTtcbiAgICAgICAgYm9yZGVyIDogbm9uZTtcbiAgICAgICAgYmFja2dyb3VuZCA6IG5vbmU7XG5cbiAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgICBjb2xvciA6IGRhcmtlbigkY29sb3JfX3ByaW1hcnksIDUpO1xuICAgICAgICB9XG5cbiAgICAgICAgJjpmb2N1cyB7XG4gICAgICAgICAgICBvdXRsaW5lIDogbm9uZTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC8qKlxuICAgICAqIENvbnRlbnRcbiAgICAgKi9cblxuICAgICZfX2NvbnRlbnQge1xuICAgICAgICBwb3NpdGlvbiA6IGFic29sdXRlO1xuICAgICAgICB0b3AgOiA1MCU7XG4gICAgICAgIGxlZnQgOiA1MCU7XG5cbiAgICAgICAgdHJhbnNmb3JtIDogdHJhbnNsYXRlM2QoLTUwJSwtNTAlLCAwKTtcblxuICAgICAgICBib3JkZXIgOiBlbSgyKSBzb2xpZCAkY29sb3JfX3ByaW1hcnk7XG4gICAgICAgIGJhY2tncm91bmQgOiAkY29sb3JfX3doaXRlO1xuICAgIH1cblxuICAgICZfX292ZXJmbG93IHtcbiAgICAgICAgYm94LXNpemluZyA6IGJvcmRlci1ib3g7XG4gICAgICAgIHdpZHRoIDogZW0oOTgwKTtcbiAgICAgICAgbWF4LWhlaWdodCA6IGVtKDY1MCk7XG4gICAgICAgIHBhZGRpbmcgOiBlbSgzMCkgZW0oNDApO1xuXG5cdFx0b3ZlcmZsb3c6IGF1dG87XG5cblx0XHRAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA4MDBweCkge1xuXHRcdFx0cGFkZGluZzogMjBweDtcblx0XHR9XG5cbiAgICAgICAgaWZyYW1lIHtcbiAgICAgICAgICAgIHBvc2l0aW9uIDogYWJzb2x1dGU7XG4gICAgICAgICAgICB0b3AgOiAwO1xuICAgICAgICAgICAgbGVmdCA6IDA7XG5cbiAgICAgICAgICAgIHdpZHRoIDogMTAwJTtcbiAgICAgICAgICAgIGhlaWdodCA6IDEwMCU7XG4gICAgICAgIH1cbiAgICB9XG59XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDExMDBweCkge1xuICAgIC5wb3B1cF9fY29udGVudCB7XG4gICAgICAgIHdpZHRoIDogOTAlO1xuICAgICAgICBtYXgtaGVpZ2h0IDogOTAlO1xuICAgIH1cbiAgICAucG9wdXBfX292ZXJmbG93IHtcbiAgICAgICAgb3ZlcmZsb3cteSA6IGF1dG87XG5cbiAgICAgICAgd2lkdGggOiAxMDAlO1xuICAgIH1cbn1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogODAwcHgpIHtcbiAgICAucG9wdXBfX2NvbnRlbnQge1xuICAgICAgICB3aWR0aCA6IDgwJTtcbiAgICB9XG59XG4iLCIvKipcbiAqIFRvcGJhclxuICovXG5cbi50b3BiYXIge1xuICAgIEBpbmNsdWRlIG1lZGlhLXRhYmxldCgpIHtcbiAgICAgICAgcG9zaXRpb24gOiBmaXhlZDtcbiAgICAgICAgdG9wIDogMDtcbiAgICAgICAgbGVmdCA6IDA7XG5cbiAgICAgICAgYm94LXNpemluZyA6IGJvcmRlci1ib3g7XG4gICAgICAgIHdpZHRoIDogMTAwJTtcbiAgICAgICAgcGFkZGluZyA6IHJlbSgxMCkgcmVtKDMwKTtcbiAgICB9XG5cbiAgICBmb250LXNpemUgOiByZW0oMTMpO1xuICAgIGxpbmUtaGVpZ2h0IDogcmVtKDMwKTtcblxuICAgIHBvc2l0aW9uIDogcmVsYXRpdmU7XG4gICAgei1pbmRleCA6IDEwMDtcblxuICAgIGRpc3BsYXkgOiBmbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uIDogcm93O1xuXG4gICAgcGFkZGluZyA6IHJlbSgyMikgcmVtKDEwMCk7XG5cbiAgICBiYWNrZ3JvdW5kLWNvbG9yIDogJGNvbG9yX19uZXV0cmFsO1xuXG4gICAganVzdGlmeS1jb250ZW50IDogZmxleC1lbmQ7O1xuXG4gICAgYSB7XG4gICAgICAgIHRyYW5zaXRpb24gOiBjb2xvciAuMnMgJGVhc2VJbk91dFF1YWQ7XG5cbiAgICAgICAgY29sb3IgOiByZ2JhKCR0ZXh0X19jb2xvci0tYmFzZSwgLjUpO1xuICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICAgIHRleHQtZGVjb3JhdGlvbiA6IG5vbmU7XG5cbiAgICAgICAgICAgIGNvbG9yIDogJGNvbG9yX19wcmltYXJ5O1xuICAgICAgICB9XG4gICAgfVxuICAgICZfX21vYmlsZS1uYXYge1xuICAgICAgICBAaW5jbHVkZSBtZWRpYS10YWJsZXQoKSB7XG4gICAgICAgICAgICBkaXNwbGF5IDogYmxvY2s7XG4gICAgICAgIH1cblxuICAgICAgICBwb3NpdGlvbiA6IGFic29sdXRlO1xuXG4gICAgICAgIGRpc3BsYXkgOiBub25lO1xuXG4gICAgICAgIHdpZHRoIDogcmVtKDYwKTtcbiAgICAgICAgaGVpZ2h0IDogcmVtKDMwKTtcbiAgICB9XG4gICAgJl9fdXNlciB7XG4gICAgICAgIG1hcmdpbi1yaWdodCA6IDEwcHg7XG4gICAgICAgIGNvbG9yIDogcmdiYSgkdGV4dF9fY29sb3ItLWJhc2UsIC41KTtcblxuICAgICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAkbW9iaWxlKSB7XG4gICAgICAgICAgICBzcGFuIHtcbiAgICAgICAgICAgICAgICBkaXNwbGF5IDogbm9uZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbn1cblxuLyoqXG4gKiBMYW5ndWFnZSBzd2l0Y2hlciAtIFYyIChkcm9wZG93bilcbiAqL1xuXG4ubGFuZ3VhZ2Vfc3dpdGNoZXIge1xuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDUwMHB4KSB7XG4gICAgICAgIC5yaWdodCA+ICYge1xuICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIGZsb2F0OiByaWdodDtcblxuICAgIEBpbmNsdWRlIGNsZWFyZml4KCk7XG5cbiAgICBtYXJnaW4gOiAwO1xuICAgIGZvbnQtc2l6ZTogMC44MTI1ZW07IC8vIDEzcHhcbiAgICBsaW5lLWhlaWdodDogMTtcblxuICAgIHBhZGRpbmc6IDExcHggMTVweDtcbiAgICBtYXJnaW4tbGVmdDogMHB4O1xuICAgIG1hcmdpbi1yaWdodDogMjVweDtcblxuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG5cbiAgICAubGFuZ3VhZ2Vfc3dpdGNoZXJfX2FjdGl2ZSB7XG4gICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICAgICAgICBjb2xvcjogcmdiYSgkdGV4dF9fY29sb3ItLWJhc2UsIC41KTtcblxuICAgICAgICAmOmFmdGVyIHtcbiAgICAgICAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICB3aWR0aDogNHB4O1xuICAgICAgICAgICAgaGVpZ2h0OiA0cHg7XG4gICAgICAgICAgICBib3JkZXItYm90dG9tOiAycHggc29saWQgcmdiYSgkdGV4dF9fY29sb3ItLWJhc2UsIC41KTtcbiAgICAgICAgICAgIGJvcmRlci1yaWdodDogMnB4IHNvbGlkIHJnYmEoJHRleHRfX2NvbG9yLS1iYXNlLCAuNSk7XG4gICAgICAgICAgICBAaW5jbHVkZSByb3RhdGUoIDQ1ZGVnICk7XG4gICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICB0b3A6IDUwJTtcbiAgICAgICAgICAgIHJpZ2h0OiAtMTVweDtcbiAgICAgICAgICAgIG1hcmdpbi10b3A6IC01cHg7XG4gICAgICAgICAgICBAaW5jbHVkZSB0cmFuc2l0aW9uKCB0cmFuc2Zvcm0gMC4ycyBlYXNlLW91dCApO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLmxhbmd1YWdlX3N3aXRjaGVyX19saXN0IHtcbiAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICB0b3A6IDEwMCU7XG4gICAgICAgIGxlZnQ6IDA7XG4gICAgICAgIHJpZ2h0OiAwO1xuICAgICAgICB6LWluZGV4OiAxMDA7XG4gICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgcGFkZGluZzogMDtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG9yX193aGl0ZTtcbiAgICAgICAgYm94LXNoYWRvdzogMCAxMHB4IDE1cHggNXB4IHJnYmEoICRjb2xvcl9fYmxhY2ssIDAuMDUgKTtcbiAgICAgICAgLmxhbmd1YWdlX3N3aXRjaGVyX19pdGVtIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICAgICAgZmxvYXQ6IG5vbmU7XG4gICAgICAgICAgICBib3JkZXItdG9wOiAxcHggc29saWQgcmdiYSggJGNvbG9yX19ibGFjaywgMC4wNSApO1xuICAgICAgICAgICAgYSB7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICAgICAgcGFkZGluZzogMS41ZW0gMC40ZW07XG4gICAgICAgICAgICAgICAgY29sb3I6ICRjb2xvcl9fYmxhY2s7XG4gICAgICAgICAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgICAgICAgICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgdHJhbnNpdGlvbiggYmFja2dyb3VuZC1jb2xvciAwLjE1cyBlYXNlLW91dCApO1xuICAgICAgICAgICAgICAgICY6aG92ZXIge1xuICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKCAkY29sb3JfX2JsYWNrLCAwLjA1ICk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgJjpmaXJzdC1jaGlsZCB7XG4gICAgICAgICAgICAgICAgYm9yZGVyLXRvcDogbm9uZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgIGxpIHtcbiAgICAgICAgZmxvYXQgOiBsZWZ0O1xuXG4gICAgICAgIGxpc3Qtc3R5bGUgOiBub25lO1xuICAgIH1cbn1cblxuLmxhbmdfc3dpdGNoZXJfb3BlbiAubGFuZ3VhZ2Vfc3dpdGNoZXJfX2FjdGl2ZTphZnRlciB7XG4gICAgQGluY2x1ZGUgcm90YXRlKCAyMjVkZWcgKTtcbiAgICBtYXJnaW4tdG9wOiAtM3B4O1xufVxuXG4ubGFuZ19zd2l0Y2hlcl9vcGVuIC5sYW5ndWFnZV9zd2l0Y2hlcl9fbGlzdCB7XG4gICAgZGlzcGxheTogYmxvY2s7XG59XG5cbi8qKlxuICogTW9iaWxlIE5BVlxuICovXG5cbi5tb2JpbGUtbmF2IHtcbiAgICBsZWZ0IDogMDtcblxuICAgIHBhZGRpbmcgOiAwIDAgMCByZW0oMzApO1xuXG4gICAgYmFja2dyb3VuZC1jb2xvciA6ICRjb2xvcl9fbmV1dHJhbDtcbiAgICAmX19pdGVtIHtcbiAgICAgICAgcG9zaXRpb24gOiByZWxhdGl2ZTtcblxuICAgICAgICBkaXNwbGF5IDogYmxvY2s7XG5cbiAgICAgICAgd2lkdGggOiAxMDAlO1xuICAgICAgICBoZWlnaHQgOiByZW0oMik7XG4gICAgICAgIG1hcmdpbi1ib3R0b20gOiByZW0oNik7XG5cbiAgICAgICAgdHJhbnNmb3JtIDogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gICAgICAgIHRyYW5zZm9ybS1vcmlnaW4gOiBjZW50ZXIgY2VudGVyO1xuXG4gICAgICAgIGJhY2tncm91bmQtY29sb3IgOiAkY29sb3JfX3ByaW1hcnk7XG4gICAgICAgICY6bGFzdC1jaGlsZCB7XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tIDogMDtcbiAgICAgICAgfVxuICAgIH1cbiAgICAmLmlzLW9wZW4ge1xuICAgICAgICBAaW5jbHVkZSBtZWRpYS10YWJsZXQoKSB7XG4gICAgICAgICAgICB0cmFuc2Zvcm0gOiB0cmFuc2xhdGUzZCg0MHZ3LCAwLCAwKTtcbiAgICAgICAgfVxuICAgICAgICBAaW5jbHVkZSBtZWRpYS1tb2JpbGUoKSB7XG4gICAgICAgICAgICB0cmFuc2Zvcm0gOiB0cmFuc2xhdGUzZCg3NXZ3LCAwLCAwKTtcbiAgICAgICAgfVxuICAgIH1cbn1cbiIsIi5oZWFkaW5nIHtcbiAgICBwYWRkaW5nIDogcmVtKDgwKSByZW0oMTAwKTtcbiAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG5cbiAgICAmX190aXRsZSB7XG4gICAgICAgIG1hcmdpbi1ib3R0b20gOiByZW0oNDApO1xuICAgIH1cblxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDE2MDBweCkge1xuICAgICAgICBwYWRkaW5nIDogcmVtKDUwKSByZW0oNDApO1xuICAgIH1cblxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6ICR0YWJsZXQpIHtcbiAgICAgICAgbWFyZ2luLXRvcCA6IHJlbSg1MCk7XG4gICAgICAgIHBhZGRpbmcgOiByZW0oNTApIHJlbSgzMCk7XG4gICAgfVxuXG4gICAgJl9fY29udGVudCB7XG4gICAgICAgIGNvbG9yIDogcmdiYSgkdGV4dF9fY29sb3ItLWJhc2UsIC40KTtcbiAgICB9XG59XG4iLCIuZmlsdGVycyB7XG4gICAgcG9zaXRpb24gOiByZWxhdGl2ZTtcblxuICAgIHdpZHRoIDogcmVtKDIwMCk7XG5cbiAgICBmbGV4LXNocmluayA6IDA7XG5cbiAgICAmX19maWVsZCB7XG4gICAgICAgIG1hcmdpbi1ib3R0b20gOiByZW0oNTApO1xuICAgIH1cblxuICAgICZfX2NvbnRhaW5lciB7XG4gICAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6ICR0YWJsZXQpIHtcbiAgICAgICAgICAgIHBvc2l0aW9uIDogcmVsYXRpdmU7XG5cbiAgICAgICAgICAgIG92ZXJmbG93IDogaGlkZGVuO1xuXG4gICAgICAgICAgICBoZWlnaHQgOiAwO1xuXG4gICAgICAgICAgICAmLmlzLW9wZW4ge1xuICAgICAgICAgICAgICAgIGhlaWdodCA6IGF1dG87XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmX19ncm91cCB7XG4gICAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6ICR0YWJsZXQpIGFuZCAobWluLXdpZHRoOiAkbW9iaWxlKSB7XG4gICAgICAgICAgICBkaXNwbGF5IDogZmxleDtcblxuICAgICAgICAgICAgLmZpbHRlcnNfX2ZpZWxkIHtcbiAgICAgICAgICAgICAgICBtYXJnaW4tcmlnaHQgOiBndXR0ZXIoKTtcbiAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tIDogMDtcblxuICAgICAgICAgICAgICAgIGZsZXgtZ3JvdyA6IDE7XG5cbiAgICAgICAgICAgICAgICAmOmxhc3QtY2hpbGQge1xuICAgICAgICAgICAgICAgICAgICBtYXJnaW4tcmlnaHQgOiAwO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgICZfX3N1bW1hcnkge1xuICAgICAgICBkaXNwbGF5IDogbm9uZTtcblxuICAgICAgICBwYWRkaW5nIDogcmVtKDI1KTtcblxuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yIDogIzg4ODg4OTtcblxuICAgICAgICAmX19saXN0IHtcbiAgICAgICAgICAgIHBhZGRpbmcgOiAwO1xuXG4gICAgICAgICAgICBsaSB7XG4gICAgICAgICAgICAgICAgZm9udC1zaXplIDogcmVtKDEzKTtcbiAgICAgICAgICAgICAgICBsaW5lLWhlaWdodCA6IHJlbSgxOSk7XG5cbiAgICAgICAgICAgICAgICBwb3NpdGlvbiA6IHJlbGF0aXZlO1xuXG4gICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbSA6IHJlbSgxNSk7XG4gICAgICAgICAgICAgICAgcGFkZGluZy1yaWdodCA6IHJlbSgyMCk7XG5cbiAgICAgICAgICAgICAgICBsaXN0LXN0eWxlIDogbm9uZTtcblxuICAgICAgICAgICAgICAgIGNvbG9yIDogJGNvbG9yX193aGl0ZTtcblxuICAgICAgICAgICAgICAgIGJ1dHRvbiB7XG4gICAgICAgICAgICAgICAgICAgIGZvbnQtc2l6ZSA6IHJlbSg4KTtcbiAgICAgICAgICAgICAgICAgICAgbGluZS1oZWlnaHQgOiByZW0oMTkpO1xuXG4gICAgICAgICAgICAgICAgICAgIHBvc2l0aW9uIDogYWJzb2x1dGU7XG4gICAgICAgICAgICAgICAgICAgIHRvcCA6IDA7XG4gICAgICAgICAgICAgICAgICAgIHJpZ2h0IDogMDtcblxuICAgICAgICAgICAgICAgICAgICB3aWR0aCA6IHJlbSgyMCk7XG4gICAgICAgICAgICAgICAgICAgIHBhZGRpbmcgOiAwO1xuXG4gICAgICAgICAgICAgICAgICAgIHRleHQtYWxpZ24gOiBjZW50ZXI7XG5cbiAgICAgICAgICAgICAgICAgICAgY29sb3IgOiAkY29sb3JfX3doaXRlO1xuXG4gICAgICAgICAgICAgICAgICAgICY6OmJlZm9yZSB7XG4gICAgICAgICAgICAgICAgICAgICAgICB2ZXJ0aWNhbC1hbGlnbiA6IHRvcDtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgICZfX3NlYXJjaCB7XG4gICAgICAgIGlucHV0IHtcbiAgICAgICAgICAgIHBhZGRpbmctcmlnaHQgOiByZW0oMzApO1xuICAgICAgICAgICAgcGFkZGluZy1sZWZ0IDogcmVtKDIwKTtcbiAgICAgICAgfVxuXG4gICAgICAgICY6OmJlZm9yZSB7XG4gICAgICAgICAgICBmb250LXNpemUgOiByZW0oMTEpO1xuXG4gICAgICAgICAgICByaWdodCA6IHJlbSgxNCk7XG4gICAgICAgICAgICBsZWZ0IDogaW5oZXJpdDtcblxuICAgICAgICAgICAgb3BhY2l0eSA6IDE7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmX190aXRsZSB7XG4gICAgICAgIGZvbnQtZmFtaWx5IDogJHRleHRfX2ZhbWlseS1zYW5zLS10aXRsZTtcbiAgICAgICAgZm9udC1zaXplIDogcmVtKDE4KTtcbiAgICAgICAgbGluZS1oZWlnaHQgOiByZW0oMjApO1xuXG4gICAgICAgIHBvc2l0aW9uIDogcmVsYXRpdmU7XG5cbiAgICAgICAgbWFyZ2luIDogMDtcbiAgICAgICAgbWFyZ2luLWJvdHRvbSA6IHJlbSgyMCk7XG5cbiAgICAgICAgbGV0dGVyLXNwYWNpbmcgOiByZW0oMi41KTtcbiAgICAgICAgdGV4dC10cmFuc2Zvcm0gOiB1cHBlcmNhc2U7XG5cbiAgICAgICAgQGV4dGVuZCAlcmVndWxhcjtcblxuICAgICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAkdGFibGV0KSB7XG4gICAgICAgICAgICBjdXJzb3IgOiBwb2ludGVyO1xuICAgICAgICB9XG5cbiAgICAgICAgJjo6YmVmb3JlIHtcbiAgICAgICAgICAgIGZvbnQtc2l6ZSA6IHJlbSgxNik7XG4gICAgICAgICAgICBsaW5lLWhlaWdodCA6IDIwcHg7XG5cbiAgICAgICAgICAgIHBvc2l0aW9uIDogYWJzb2x1dGU7XG4gICAgICAgICAgICByaWdodCA6IDA7XG5cbiAgICAgICAgICAgIGRpc3BsYXkgOiBub25lO1xuXG4gICAgICAgICAgICB0ZXh0LWFsaWduIDogcmlnaHQ7XG4gICAgICAgICAgICB2ZXJ0aWNhbC1hbGlnbiA6IHRvcDtcblxuICAgICAgICAgICAgY29sb3IgOiAkY29sb3JfX3ByaW1hcnk7XG5cbiAgICAgICAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6ICR0YWJsZXQpIHtcbiAgICAgICAgICAgICAgICBkaXNwbGF5IDogYmxvY2s7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAmLmljb24tbGVzcyB7XG4gICAgICAgICAgICAmOjpiZWZvcmUge1xuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZSA6IDNweDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgICZfX3N1YnRpdGxlIHtcbiAgICAgICAgZm9udC1mYW1pbHkgOiAkdGV4dF9fZmFtaWx5LXNhbnMtLXRpdGxlO1xuICAgICAgICBmb250LXNpemUgOiByZW0oMTQpO1xuXG4gICAgICAgIHBvc2l0aW9uIDogcmVsYXRpdmU7XG5cbiAgICAgICAgbWFyZ2luIDogMDtcblxuICAgICAgICBjdXJzb3IgOiBwb2ludGVyO1xuICAgICAgICBsZXR0ZXItc3BhY2luZyA6IDIuNXB4O1xuICAgICAgICB0ZXh0LXRyYW5zZm9ybSA6IHVwcGVyY2FzZTtcblxuICAgICAgICBAZXh0ZW5kICVsaWdodDtcblxuICAgICAgICAmOjpiZWZvcmUge1xuICAgICAgICAgICAgZm9udC1zaXplIDogMnB4O1xuICAgICAgICAgICAgbGluZS1oZWlnaHQgOiAyMXB4O1xuXG4gICAgICAgICAgICBwb3NpdGlvbiA6IGFic29sdXRlO1xuICAgICAgICAgICAgdG9wIDogMDtcbiAgICAgICAgICAgIHJpZ2h0IDogMDtcblxuICAgICAgICAgICAgdmVydGljYWwtYWxpZ24gOiB0b3A7XG5cbiAgICAgICAgICAgIGNvbG9yIDogJGNvbG9yX19wcmltYXJ5O1xuICAgICAgICB9XG5cbiAgICAgICAgJi5pY29uLW1vcmUge1xuICAgICAgICAgICAgJjo6YmVmb3JlIHtcbiAgICAgICAgICAgICAgICBmb250LXNpemUgOiAxMHB4O1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgJl9fbGlzdCB7XG4gICAgICAgIGxpbmUtaGVpZ2h0IDogMS41O1xuXG4gICAgICAgIG92ZXJmbG93IDogaGlkZGVuO1xuXG4gICAgICAgIG1hcmdpbiA6IHJlbSgxNSkgMDtcbiAgICAgICAgcGFkZGluZyA6IDA7XG5cbiAgICAgICAgbGkge1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbSA6IHJlbSgxMCk7XG5cbiAgICAgICAgICAgIGxpc3Qtc3R5bGUgOiBub25lO1xuXG4gICAgICAgICAgICAmOmxhc3QtY2hpbGQge1xuICAgICAgICAgICAgICAgIG1hcmdpbi1ib3R0b20gOiAwO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgJi0tY2hpbGRzIHtcbiAgICAgICAgICAgIHBhZGRpbmcgOiByZW0oMTApIDAgcmVtKDEwKSByZW0oMzApO1xuICAgICAgICB9XG4gICAgfVxufVxuIiwiLyoqXG4gKiBEb3dubG9hZFxuICovXG5cbi5kb3dubG9hZCB7XG4gICAgcG9zaXRpb24gOiByZWxhdGl2ZTtcblxuICAgIHBhZGRpbmcgOiByZW0oMjApO1xuICAgICZfX3RpdGxlIHtcbiAgICAgICAgZm9udC1zaXplIDogcmVtKDM2KTtcbiAgICAgICAgbGluZS1oZWlnaHQgOiByZW0oNDApO1xuXG4gICAgICAgIG1hcmdpbiA6IDA7XG5cbiAgICAgICAgdGV4dC1hbGlnbiA6IGNlbnRlcjtcbiAgICAgICAgbGV0dGVyLXNwYWNpbmcgOiByZW0oOCk7XG4gICAgICAgIHRleHQtdHJhbnNmb3JtIDogdXBwZXJjYXNlO1xuXG5cdFx0QG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNjAwcHgpIHtcblx0XHRcdGZvbnQtc2l6ZSA6IHJlbSgyMik7XG4gICAgICAgIFx0bGluZS1oZWlnaHQgOiByZW0oMjgpO1xuXHRcdH1cblxuICAgICAgICBAZXh0ZW5kICVibGFjaztcbiAgICB9XG4gICAgJl9fc3VidGl0bGUge1xuICAgICAgICBmb250LWZhbWlseSA6ICR0ZXh0X19mYW1pbHktc2Fucy0tdGl0bGU7XG4gICAgICAgIGZvbnQtc2l6ZSA6IHJlbSgxNik7XG5cbiAgICAgICAgbWFyZ2luLWJvdHRvbSA6IHJlbSg1MCk7XG5cbiAgICAgICAgdGV4dC1hbGlnbiA6IGNlbnRlcjtcblxuICAgICAgICBjb2xvciA6ICRjb2xvcl9fYmxhY2s7XG5cbiAgICAgICAgQGV4dGVuZCAlbGlnaHQ7XG4gICAgICAgICY6bGFzdC1vZi10eXBlIHtcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b20gOiByZW0oNTApO1xuICAgICAgICB9XG4gICAgfVxuICAgICZfX2Zvcm0ge1xuICAgICAgICBwb3NpdGlvbiA6IHJlbGF0aXZlO1xuICAgICAgICB6LWluZGV4IDogMTA7XG5cbiAgICAgICAgbWFyZ2luIDogMCBhdXRvO1xuXG5cdFx0QG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODAxcHgpIHtcblx0XHRcdHdpZHRoIDogcmVtKDYwMCk7XG5cdFx0fVxuICAgIH1cblx0Jl9fZm9ybV9fbGlzdCB7XG5cdFx0LmRvd25sb2FkLS1tZWRpYSAmIHtcblx0XHRcdEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgwMXB4KSB7XG5cdFx0XHRcdGRpc3BsYXkgOiBmbGV4O1xuXHRcdFx0XHRmbGV4LXdyYXAgOiB3cmFwO1xuXHRcdFx0XHRqdXN0aWZ5LWNvbnRlbnQgOiBjZW50ZXI7XG5cblx0XHRcdFx0Ly8gT2Zmc2V0XG5cdFx0XHRcdG1hcmdpbi1sZWZ0OiAtMTVweDtcblx0XHRcdFx0d2lkdGg6IGNhbGMoIDEwMCUgKyAzMHB4ICk7XG5cdFx0XHR9XG5cdFx0fVxuXG5cdFx0LmRvd25sb2FkLS1iaW1jYWQgJiwgLmRvd25sb2FkLS10ZW5kZXItdGV4dHMgJiB7XG5cdFx0XHRkaXNwbGF5IDogZmxleDtcblx0XHRcdGZsZXgtd3JhcCA6IHdyYXA7XG5cdFx0XHRqdXN0aWZ5LWNvbnRlbnQgOiBjZW50ZXI7XG5cblx0XHRcdC8vIE9mZnNldFxuXHRcdFx0bWFyZ2luLWxlZnQ6IC0xNXB4O1xuXHRcdFx0d2lkdGg6IGNhbGMoIDEwMCUgKyAzMHB4ICk7XG5cdFx0fVxuXHR9XG4gICAgJl9fZmllbGQge1xuICAgICAgICB3aWR0aCA6IGNhbGMoICgxMDAlIC0gOTBweCkgLyAzICk7XG5cdFx0bWFyZ2luOiAwIDE1cHg7XG5cdFx0bWFyZ2luLWJvdHRvbTogMTBweDtcblxuXHRcdC5kb3dubG9hZC0tYmltY2FkICYsIC5kb3dubG9hZC0tdGVuZGVyLXRleHRzICYge1xuXHRcdFx0d2lkdGggOiBjYWxjKCAoMTAwJSAtIDEyMHB4KSAvIDQgKTtcblxuXHRcdFx0QG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNjAwcHgpIHtcblx0XHRcdFx0d2lkdGggOiBjYWxjKCAoMTAwJSAtIDkwcHgpIC8gMyApO1xuXHRcdFx0fVxuXG5cdFx0XHRAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAzMjBweCkge1xuXHRcdFx0XHR3aWR0aCA6IGNhbGMoICgxMDAlIC0gNjBweCkgLyAyICk7XG5cdFx0XHR9XG5cdFx0fVxuXG5cdFx0LmRvd25sb2FkLS1tZWRpYSAmIHtcblx0XHRcdEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDgwMHB4KSB7XG5cdFx0XHRcdHdpZHRoOiAxMDAlO1xuXHRcdFx0XHRtYXJnaW46IDA7XG5cdFx0XHRcdG1hcmdpbi1ib3R0b206IDIwcHg7XG5cdFx0XHR9XG5cdFx0fVxuXG4gICAgICAgICZfX3RpdGxlIHtcblx0XHRcdHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgICAgICAgICBsZXR0ZXItc3BhY2luZyA6IHJlbSgyKTtcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDVweDtcbiAgICAgICAgICAgIGxldHRlci1zcGFjaW5nOiAwLjJweDtcblxuXHRcdFx0QG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogODAwcHgpIHtcblx0XHRcdFx0dGV4dC1hbGlnbjogbGVmdDtcblx0XHRcdH1cblxuXHRcdFx0LmRvd25sb2FkLS10ZW5kZXItdGV4dHMgJiB7XG5cdFx0XHRcdEBpbmNsdWRlIGNpcmNsZShyZW0oODApKTtcblx0XHRcdFx0Zm9udC1zaXplIDogcmVtKDMwKTtcblxuXHRcdFx0XHRkaXNwbGF5IDogZmxleDtcblx0XHRcdFx0YWxpZ24taXRlbXM6IGNlbnRlcjtcblx0XHRcdFx0anVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG5cblx0XHRcdFx0bWFyZ2luIDogMCBhdXRvIHJlbSgyMik7XG5cblx0XHRcdFx0dHJhbnNpdGlvbiA6IGNvbG9yIC4ycyAkZWFzZUluU2luZSwgYmFja2dyb3VuZC1jb2xvciAuMnMgJGVhc2VJblNpbmU7XG5cblx0XHRcdFx0Y29sb3IgOiAkY29sb3JfX3ByaW1hcnk7XG5cdFx0XHRcdGJvcmRlciA6IHJlbSgyKSBzb2xpZCAkY29sb3JfX3ByaW1hcnk7XG5cblx0XHRcdFx0QG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNjAwcHgpIHtcblx0XHRcdFx0XHRAaW5jbHVkZSBjaXJjbGUocmVtKDQwKSk7XG5cdFx0XHRcdFx0ZGlzcGxheSA6IGZsZXg7IC8vIE92ZXJ3cml0ZSBjaXJjbGUgbWl4aW5cblx0XHRcdFx0XHRmb250LXNpemU6IHJlbSgxOCk7XG5cdFx0XHRcdFx0bWFyZ2luLXJpZ2h0OiAyMHB4O1xuXHRcdFx0XHRcdG1hcmdpbi1ib3R0b206IDIwcHg7XG5cdFx0XHRcdH1cblx0XHRcdH1cbiAgICAgICAgfVxuXG4gICAgICAgICZfX3NldHRpbmdzIHtcbiAgICAgICAgICAgIGxpc3Qtc3R5bGU6IG5vbmU7XG4gICAgICAgICAgICBwYWRkaW5nOiAwO1xuICAgICAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICAgICAgZGlzcGxheTogdGFibGU7XG4gICAgICAgICAgICBtYXJnaW4tdG9wOiAyNXB4O1xuICAgICAgICAgICAgbGkge1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IHRhYmxlLXJvdztcbiAgICAgICAgICAgICAgICBzcGFuIHtcbiAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogdGFibGUtY2VsbDtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgc3BhbiArIHNwYW4ge1xuICAgICAgICAgICAgICAgICAgICBwYWRkaW5nLWxlZnQ6IDMwcHg7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuICAgICZfX2FjdGlvbiB7XG5cdFx0ZGlzcGxheTogZmxleDtcblx0XHRhbGlnbi1pdGVtczogY2VudGVyO1xuXHRcdGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgICAgICBtYXJnaW4tdG9wIDogcmVtKDUwKTtcbiAgICB9XG4gICAgJl9faW5wdXQge1xuICAgICAgICAmOmNoZWNrZWQge1xuICAgICAgICAgICAgJiArIGxhYmVsIC5sYWJlbF9faWNvbjo6YmVmb3JlIHtcblx0XHRcdFx0Y29sb3IgOiAkY29sb3JfX3doaXRlO1xuXHRcdFx0XHRiYWNrZ3JvdW5kLWNvbG9yIDogJGNvbG9yX19wcmltYXJ5O1xuXHRcdFx0fVxuICAgICAgICB9XG5cdFx0LmRvd25sb2FkLS10ZW5kZXItdGV4dHMgJjpjaGVja2VkIHtcblx0XHRcdCYgKyBsYWJlbCAuZG93bmxvYWRfX2ZpZWxkX190aXRsZSB7XG5cdFx0XHRcdGNvbG9yIDogJGNvbG9yX193aGl0ZTtcblx0XHRcdFx0YmFja2dyb3VuZC1jb2xvciA6ICRjb2xvcl9fcHJpbWFyeTtcblx0XHRcdH1cblx0XHR9XG4gICAgfVxuICAgICZfX2xhYmVsIHtcbiAgICAgICAgZGlzcGxheSA6IGJsb2NrO1xuXHRcdGZvbnQtZmFtaWx5IDogJHRleHRfX2ZhbWlseS1zYW5zLS10aXRsZTtcbiAgICAgICAgbGluZS1oZWlnaHQgOiAxLjI7XG4gICAgICAgIGN1cnNvciA6IHBvaW50ZXI7XG5cbiAgICAgICAgY29sb3IgOiAkY29sb3JfX2JsYWNrO1xuXG4gICAgICAgIEBleHRlbmQgJWxpZ2h0O1xuICAgICAgICAubGFiZWxfX2ljb246OmJlZm9yZSB7XG4gICAgICAgICAgICBAaW5jbHVkZSBjaXJjbGUocmVtKDgwKSk7XG4gICAgICAgICAgICBmb250LXNpemUgOiByZW0oMzApO1xuXG4gICAgICAgICAgICBkaXNwbGF5IDogZmxleDtcblx0XHRcdGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cdFx0XHRqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcblxuICAgICAgICAgICAgbWFyZ2luIDogMCBhdXRvIHJlbSgyMik7XG5cbiAgICAgICAgICAgIHRyYW5zaXRpb24gOiBjb2xvciAuMnMgJGVhc2VJblNpbmUsIGJhY2tncm91bmQtY29sb3IgLjJzICRlYXNlSW5TaW5lO1xuXG4gICAgICAgICAgICBjb2xvciA6ICRjb2xvcl9fcHJpbWFyeTtcbiAgICAgICAgICAgIGJvcmRlciA6IHJlbSgyKSBzb2xpZCAkY29sb3JfX3ByaW1hcnk7XG5cblx0XHRcdEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDgwMHB4KSB7XG5cdFx0XHRcdEBpbmNsdWRlIGNpcmNsZShyZW0oNDApKTtcblx0XHRcdFx0ZGlzcGxheSA6IGZsZXg7IC8vIE92ZXJ3cml0ZSBjaXJjbGUgbWl4aW5cblx0XHRcdFx0Zm9udC1zaXplOiByZW0oMTgpO1xuXHRcdFx0XHRtYXJnaW4tcmlnaHQ6IDIwcHg7XG5cblx0XHRcdFx0LmRvd25sb2FkLS1iaW1jYWQgJiB7XG5cdFx0XHRcdFx0bWFyZ2luLWJvdHRvbTogMDtcblx0XHRcdFx0fVxuXHRcdFx0fVxuICAgICAgICB9XG5cblx0XHRAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA4MDBweCkge1xuXHRcdFx0ZGlzcGxheTogZmxleDtcblx0XHRcdGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0O1xuXHRcdFx0anVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG5cdFx0fVxuICAgIH1cbiAgICAmX19pZnJhbWUge1xuICAgICAgICBwb3NpdGlvbiA6IGFic29sdXRlO1xuICAgICAgICB6LWluZGV4IDogMDtcblxuICAgICAgICBkaXNwbGF5IDogbm9uZTtcbiAgICB9XG59XG4iLCIvLyBTSE9QXG4jc2hvcCBtYWluIHtcbiAgICBmbGV4LXdyYXA6IHdyYXA7XG59XG4jc2hvcCAuc2hvcF9fYWN0aW9uIHtcbiAgICB3aWR0aDogMTAwJTtcbn1cbi5zaG9wX19hY3Rpb24ge1xuICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcblxuICAgIG1hcmdpbi1ib3R0b206IDFlbTtcbiAgICBwYWRkaW5nIDogMCByZW0oMTAwKTtcbiAgICBcbiAgICB0ZXh0LWFsaWduOiByaWdodDtcblxuXG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogMTYwMHB4KSB7XG4gICAgICAgIHBhZGRpbmcgOiAwIHJlbSg0MCk7XG4gICAgfVxuXG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogJHRhYmxldCkge1xuICAgICAgICBwYWRkaW5nIDogMCByZW0oMzApO1xuICAgIH1cbn1cblxuXG4vLyBQUk9EVUNUIFBBR0Vcbi5wcm9kdWN0X19sYW5ndWFnZXMge1xuICAgIGxpc3Qtc3R5bGU6IG5vbmU7XG4gICAgcGFkZGluZzogMDtcblxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDU2MHB4KSB7XG4gICAgICAgIGRpc3BsYXk6IHRhYmxlO1xuICAgICAgICBib3JkZXItY29sbGFwc2U6IGNvbGxhcHNlO1xuICAgIH1cblxuICAgIGxpIHtcbiAgICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICRjb2xvcl9fbmV1dHJhbDtcbiAgICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNTYwcHgpIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IHRhYmxlLXJvdztcbiAgICAgICAgfVxuXG4gICAgICAgICY6bGFzdC1jaGlsZCB7XG4gICAgICAgICAgICBwYWRkaW5nLWJvdHRvbTogMDtcbiAgICAgICAgICAgIGJvcmRlci1ib3R0b206IDA7XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgcCB7XG4gICAgICAgIHBhZGRpbmctdG9wOiAxMHB4O1xuICAgICAgICBwYWRkaW5nLWJvdHRvbTogMTBweDtcbiAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICBkaXNwbGF5OiB0YWJsZS1jZWxsO1xuICAgIH1cblxuICAgIHN0cm9uZyB7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7IC8vIHNlbWlcbiAgICB9XG5cbiAgICAuYWRkX3RvX2NhcnRfX2NvbnRhaW5lciB7XG4gICAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDU2MHB4KSB7XG4gICAgICAgICAgICBwYWRkaW5nLXRvcDogMTBweDtcbiAgICAgICAgICAgIGRpc3BsYXk6IHRhYmxlLWNlbGw7XG4gICAgICAgICAgICBwYWRkaW5nLWxlZnQ6IDUwcHg7XG4gICAgICAgIH1cbiAgICAgICAgcGFkZGluZy1ib3R0b206IDEwcHg7XG5cbiAgICAgICAgaW5wdXQge1xuICAgICAgICAgICAgd2lkdGg6IDMwcHg7XG4gICAgICAgICAgICB0ZXh0LWFsaWduOiByaWdodDtcbiAgICAgICAgICAgIFxuICAgICAgICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNTYwcHgpIHtcbiAgICAgICAgICAgICAgICBtYXJnaW4tbGVmdDogMjBweDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAuYnRuIHtcbiAgICAgICAgICAgIHBhZGRpbmc6IC42MThlbSAxZW07XG4gICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgICAgICBib3JkZXItcmFkaXVzOiAzcHg7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3JfX25ldXRyYWw7XG4gICAgICAgICAgICBjb2xvcjogJGNvbG9yX19ibGFjaztcbiAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAxO1xuICAgICAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgICAgICAgICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICAgICAgICAgIGxldHRlci1zcGFjaW5nOiAxcHg7XG4gICAgICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiA1cHg7XG4gICAgICAgICAgICBAZXh0ZW5kIC5pY29uO1xuICAgICAgICAgICAgQGV4dGVuZCAuaWNvbi1jYXJ0O1xuICAgICAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgICAgICAgIG1hcmdpbi1yaWdodDogNXB4O1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIC5hZGRlZF90b19jYXJ0IHtcbiAgICAgICAgICAgIHBhZGRpbmctdG9wOiAwO1xuICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IDIwcHg7XG4gICAgICAgICAgICB0cmFuc2l0aW9uOiBjb2xvciAwLjJzICRlYXNlSW5TaW5lO1xuXG4gICAgICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICAgICAgICBjb2xvcjogZGFya2VuKCAkY29sb3JfX3ByaW1hcnksIDEwJSApO1xuICAgICAgICAgICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgQGV4dGVuZCAuaWNvbjtcbiAgICAgICAgICAgIEBleHRlbmQgLmljb24tY2FydDtcbiAgICAgICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDVweDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbn1cblxuI3Byb2R1Y3QgLmJ0bi1jYXJ0IHtcbiAgICBtYXJnaW4tdG9wOiAtMjBweDtcbn1cblxuXG4vLyBDQVJUXG4jYmFza2V0IG1haW4ge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xufVxuLmNhcnQtZW1wdHkge1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICBtYXJnaW4tdG9wOiAxMDBweDtcbiAgICBjb2xvciA6IHJnYmEoJHRleHRfX2NvbG9yLS1iYXNlLCAuNSk7XG59XG5cbi53b29jb21tZXJjZS1jYXJ0IHRhYmxlLmNhcnQgaW1nIHtcbiAgICB3aWR0aDogMTAwcHg7XG4gICAgaGVpZ2h0OiBhdXRvO1xufVxuXG4uYmFza2V0X19pbmZvIHtcbiAgICBtYXJnaW4tdG9wOiAyMHB4O1xuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc2OXB4KSB7XG4gICAgICAgIGZsb2F0OiBsZWZ0O1xuICAgICAgICB3aWR0aDogNDglO1xuICAgIH1cbn1cblxuLmJhc2tldF9fZm9ybSB7XG4gICAgbWFyZ2luLXRvcDogMzBweDtcblxuICAgICZfX3JlY2FwIHtcbiAgICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzY5cHgpIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmX19yZWNhcF9fZmllbGRzIHtcbiAgICAgICAgQGluY2x1ZGUgY2xlYXJmaXgoKTtcbiAgICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzY5cHgpIHtcbiAgICAgICAgICAgIHdpZHRoOiA0OCU7XG4gICAgICAgICAgICBmbGV4LWdyb3c6IDA7XG4gICAgICAgICAgICBmbGV4LXNocmluazogMDtcbiAgICAgICAgfVxuXG4gICAgICAgIGlucHV0W2Rpc2FibGVkXSB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3JfX25ldXRyYWw7XG4gICAgICAgICAgICBwYWRkaW5nOiAyMHB4IDE1cHg7XG4gICAgICAgICAgICBjb2xvcjogZGFya2VuKCAkY29sb3JfX25ldXRyYWwsIDMwJSApO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgJl9fcmVjYXBfX3RleHQge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAzMHB4O1xuICAgICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NjlweCkge1xuICAgICAgICAgICAgd2lkdGg6IDQ4JTtcbiAgICAgICAgICAgIGZsZXgtZ3JvdzogMDtcbiAgICAgICAgICAgIGZsZXgtc2hyaW5rOiAwO1xuXG4gICAgICAgICAgICBwYWRkaW5nOiAzMHB4IDAgO1xuICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IDMwcHg7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmLCAmIGlucHV0LCAmIGxhYmVsLCAmIHRleHRhcmVhLCAmIHNlbGVjdCB7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgIH1cblxuICAgIC5sYWJlbCB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICBmb250LXdlaWdodDogNzAwOyAvLyBCb2xkXG4gICAgICAgIGNvbG9yOiAkY29sb3JfX2JsYWNrO1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAxMHB4O1xuICAgIH1cblxuICAgIC5idG4ge1xuICAgICAgICBtYXJnaW4tdG9wOiAyMHB4O1xuICAgIH1cbn1cbiIsIi8qKlxuICogSHRtbFxuICovXG5cbmh0bWwge1xuICAgIGZvbnQtc2l6ZSA6IDEwMCU7XG59XG5cbi8qKlxuICogQm9keVxuICovXG5cbmJvZHkge1xuICAgIEBpbmNsdWRlIHNtb290aCgpO1xuICAgIEBpbmNsdWRlIHRleHQoJHNpemUgOiAkYmFzZV9fZm9udC1zaXplLCAkbGluZTogJGJhc2VfX2xpbmUsICRjb2xvcjogJGNvbG9yX19ibGFjaywgJGZhbWlseTogJHRleHRfX2ZhbWlseS1zYW5zKTtcblxuICAgIC5jZW50ZXIge1xuICAgICAgICBAaW5jbHVkZSBtZWRpYS10YWJsZXQoKSB7XG4gICAgICAgICAgICBtYXgtd2lkdGggOiA5MCU7XG4gICAgICAgIH1cblxuICAgICAgICBwb3NpdGlvbiA6IHJlbGF0aXZlO1xuXG4gICAgICAgIGJveC1zaXppbmcgOiBib3JkZXItYm94O1xuICAgICAgICB3aWR0aCA6IDEwMCU7XG4gICAgICAgIG1heC13aWR0aCA6IHJlbSgxNTAwKTtcbiAgICAgICAgbWluLWhlaWdodCA6IDEwMCU7XG4gICAgICAgIG1hcmdpbiA6IDAgYXV0bztcbiAgICB9XG5cbiAgICAmLmxvZ2luIHtcbiAgICAgXG4gICAgICAgIC5jb250YWluZXJfX2xvZ2luIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAgICAgICAgLmhlYWRlci0tbG9naW4ge1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRjb2xvcl9fbmV1dHJhbC0tbGlnaHQ7XG4gICAgICAgICAgICAgICAgcGFkZGluZy1ib3R0b206IDJyZW07XG4gICAgICAgICAgICAgICAgcGFkZGluZy10b3A6IDJyZW07XG4gICAgICAgICAgICAgICAgei1pbmRleDogNTAwMDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIC5jb250ZW50X19oZWFkZXItLXNpZ2luIHtcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3JfX3doaXRlO1xuICAgICAgICAgICAgICAgIG1hcmdpbjogMCBhdXRvIDVyZW0gYXV0bztcbiAgICAgICAgICAgICAgICAuY2VudGVyIHtcbiAgICAgICAgICAgICAgICAgICAgLnBhZ2VfX2NvbnRlbnQge1xuICAgICAgICAgICAgICAgICAgICAgICAgbWFyZ2luLXRvcDogMDtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIC5jb250ZW50IHtcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3JfX3doaXRlO1xuICAgICAgICAgICAgICAgIC5tYWluLXRpdGxlIHtcbiAgICAgICAgICAgICAgICAgICAgbWFyZ2luOiAzcmVtIGF1dG8gMCBhdXRvO1xuICAgICAgICAgICAgICAgICAgICBwYWRkaW5nOiAwIDIwcHg7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIC5jZW50ZXIge1xuICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgICAgICAgICAgICBwYWRkaW5nOiAzcmVtIDA7XG4gICAgICAgICAgICAgICAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6ICR0YWJsZXQpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgLmNlbnRlcl9fbGVmdCB7XG4gICAgICAgICAgICAgICAgICAgICAgICB3aWR0aDogNTAlO1xuICAgICAgICAgICAgICAgICAgICAgICAgYm9yZGVyLXJpZ2h0OiAxcHggc29saWQgJGNvbG9yX19uZXV0cmFsO1xuICAgICAgICAgICAgICAgICAgICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogJHRhYmxldCkge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJvcmRlci1yaWdodDogbm9uZTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgJGNvbG9yX19uZXV0cmFsO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBhZGRpbmctYm90dG9tOiA1cmVtO1xuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgLmZvcm1fX3RpdGxlIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYXJnaW46IGF1dG87XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgd2lkdGg6IGZpdC1jb250ZW50O1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgIC8vIC5pbnB1dC0tdGV4dCB7XG4gICAgICAgICAgICAgICAgICAgICAgICAvLyAgICAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG9yX19uZXV0cmFsLS1saWdodDtcbiAgICAgICAgICAgICAgICAgICAgICAgIC8vICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgICAgICAgICAgICAgICAgICAvLyB9XG4gICAgICAgICAgICAgICAgICAgICAgICAvLyAuZmllbGQuaWNvbi11c2VyLCAuZmllbGQuaWNvbi1sb2NrIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIC8vICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAvLyAgICAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICAgICAgICAgICAgICAgICAgICAvLyAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgICAgICAgICAgICAgIC8vICAgICAgICAgbGVmdDogMDtcbiAgICAgICAgICAgICAgICAgICAgICAgIC8vICAgICAgICAgLy8gdG9wOiAwO1xuICAgICAgICAgICAgICAgICAgICAgICAgLy8gICAgICAgICB3aWR0aDogM3B4O1xuICAgICAgICAgICAgICAgICAgICAgICAgLy8gICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICAgICAgICAgICAgICAgICAgICAvLyAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRjb2xvcl9fcHJpbWFyeTtcbiAgICAgICAgICAgICAgICAgICAgICAgIC8vICAgICAgICAgb3BhY2l0eTogMTtcbiAgICAgICAgICAgICAgICAgICAgICAgIC8vICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICAvLyB9XG4gICAgICAgICAgICAgICAgICAgICAgICBcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAuY2VudGVyX19yaWdodCB7XG4gICAgICAgICAgICAgICAgICAgICAgICB3aWR0aDogNTAlO1xuICAgICAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgICAgICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICAgICAgICAgICAgICAgICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAkdGFibGV0KSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgbWFyZ2luLXRvcDogNXJlbTtcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgIC5mb3JtX190aXRsZSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgbWFyZ2luOiBhdXRvO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHdpZHRoOiBmaXQtY29udGVudDtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYXJnaW4tdG9wOiAwO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDJyZW07XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgLnBhZ2VfX2NvbnRlbnQge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hcmdpbi10b3A6IDA7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB3aWR0aDogNjAlIWltcG9ydGFudDtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAkdGFibGV0KSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlIWltcG9ydGFudDtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICAuYnRuLS1zdWJtaXQge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHdpZHRoOiBmaXQtY29udGVudDtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYXJnaW46IDMuMnJlbSBhdXRvIDMuMnJlbSBhdXRvO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICBcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICAjcGFnZSB7XG4gICAgICAgICAgICAgICAgLmNlbnRlciB7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIGlucHV0Om5vdCgubmYtcHJldmlvdXMpOm5vdCgubmYtbmV4dCk6bm90KFt0eXBlPXN1Ym1pdF0pLCAuc2VsZWN0MiAuc2VsZWN0Mi1zZWxlY3Rpb24tLXNpbmdsZVthcmlhLWV4cGFuZGVkPWZhbHNlXSwgdGV4dGFyZWEge1xuICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG9yX19uZXV0cmFsLS1saWdodDtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgaW5wdXRbdHlwZT1zdWJtaXRdIHtcbiAgICAgICAgICAgICAgICAgICAgLy8gZm9udC1mYW1pbHkgOiAkdGV4dF9fZmFtaWx5LXNhbnMtLXRpdGxlO1xuICAgICAgICAgICAgICAgICAgICAvLyBmb250LXNpemUgOiByZW0oMTIpO1xuICAgICAgICAgICAgICAgICAgICAvLyBsaW5lLWhlaWdodCA6IDEuMjtcbiAgICAgICAgICAgICAgICAgICAgLy8gY3Vyc29yOiBwb2ludGVyO1xuICAgICAgICAgICAgICAgICAgICAvLyBwb3NpdGlvbiA6IHJlbGF0aXZlO1xuICAgICAgICAgICAgICAgIFxuICAgICAgICAgICAgICAgICAgICAvLyBwYWRkaW5nIDogMjJweCAyNXB4O1xuICAgICAgICAgICAgICAgIFxuICAgICAgICAgICAgICAgICAgICAvLyB0cmFuc2l0aW9uIDogYmFja2dyb3VuZC1jb2xvciAuMnMgJGVhc2VJbk91dFF1YWQsIGNvbG9yIC4ycyAkZWFzZUluT3V0UXVhZDtcbiAgICAgICAgICAgICAgICAgICAgLy8gbGV0dGVyLXNwYWNpbmcgOiByZW0oMyk7XG4gICAgICAgICAgICAgICAgICAgIC8vIHRleHQtdHJhbnNmb3JtIDogdXBwZXJjYXNlO1xuICAgICAgICAgICAgICAgIFxuICAgICAgICAgICAgICAgICAgICAvLyBjb2xvciA6ICRjb2xvcl9fd2hpdGU7XG4gICAgICAgICAgICAgICAgICAgIC8vIGJvcmRlciA6IG5vbmU7XG4gICAgICAgICAgICAgICAgICAgIC8vIGJhY2tncm91bmQtY29sb3IgOiAkY29sb3JfX3ByaW1hcnk7XG4gICAgICAgICAgICAgICAgXG4gICAgICAgICAgICAgICAgICAgIC8vIEBleHRlbmQgJXJlZ3VsYXI7XG4gICAgICAgICAgICAgICAgXG4gICAgICAgICAgICAgICAgICAgIHNwYW4ge1xuICAgICAgICAgICAgICAgICAgICAgICAgcG9zaXRpb24gOiByZWxhdGl2ZTtcbiAgICAgICAgICAgICAgICAgICAgICAgIHotaW5kZXggOiAxMDtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIFxuICAgICAgICAgICAgICAgICAgICAmOmhvdmVyLFxuICAgICAgICAgICAgICAgICAgICAmOmZvY3VzIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQgOiBkYXJrZW4oJGNvbG9yX19wcmltYXJ5LCA4KTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIFxuICAgICAgICAgICAgICAgICAgICB1c2VyLXNlbGVjdDogbm9uZTtcbiAgICAgICAgICAgICAgICBcbiAgICAgICAgICAgICAgICAgICAgJi0tY29tcGFjdCB7XG4gICAgICAgICAgICAgICAgICAgICAgICBwYWRkaW5nOiAxMHB4IDI1cHg7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBcbiAgICAgICAgICAgICAgICAgICAgJi0taGlkZSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBvcGFjaXR5IDogMDtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIFxuICAgICAgICAgICAgICAgICAgICAmLS1zdHJva2Uge1xuICAgICAgICAgICAgICAgICAgICAgICAgY29sb3I6ICRjb2xvcl9fcHJpbWFyeTtcbiAgICAgICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3IgOiB0cmFuc3BhcmVudDtcbiAgICAgICAgICAgICAgICAgICAgICAgIGJvcmRlcjogMnB4IHNvbGlkICRjb2xvcl9fcHJpbWFyeTtcbiAgICAgICAgICAgICAgICAgICAgICAgICY6aG92ZXIsXG4gICAgICAgICAgICAgICAgICAgICAgICAmOmZvY3VzIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb2xvcjogJGNvbG9yX193aGl0ZTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kIDogZGFya2VuKCRjb2xvcl9fcHJpbWFyeSwgOCk7XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBcbiAgICAgICAgICAgICAgICAgICAgJjpkaXNhYmxlZCB7XG4gICAgICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yIDogJGNvbG9yX19uZXV0cmFsLS1kYXJrO1xuICAgICAgICAgICAgICAgICAgICAgICAgY29sb3I6ICRjb2xvcl9fYmxhY2s7XG4gICAgICAgICAgICAgICAgICAgICAgICBjdXJzb3I6IG5vdC1hbGxvd2VkO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIC5uZi1mb3JtLWNvbnRlbnQgLm5mLW5leHQtaXRlbSAubmYtbmV4dCB7XG4gICAgICAgICAgICAgICAgICAgICAgICBjb2xvcjogYmxhY2s7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmLm1lbnUtaXMtb3BlbiB7XG4gICAgICAgIG92ZXJmbG93IDogaGlkZGVuO1xuICAgIH1cblxuICAgICYuZGFzaGJvYXJkIHtcbiAgICAgICAgI2NvbnRhaW5lciB7XG4gICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgICAgICAgICAgLy8gZGlzcGxheSA6IGZsZXg7XG4gICAgICAgICAgICAvLyBmbGV4LWRpcmVjdGlvbiA6IHJvdztcblxuICAgICAgICAgICAgbWluLWhlaWdodCA6IDEwMHZoO1xuICAgICAgICAgICAgLy8gYWxpZ24taXRlbXMgOiBzdHJldGNoO1xuXG4gICAgICAgICAgICAuaGVhZGVyIHtcbiAgICAgICAgICAgICAgICAvLyBHbyB0byBoZWFkZXIuc2Nzc1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAuY29udGVudCB7XG4gICAgICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICAgICAgICAgIG1pbi1oZWlnaHQgOiAxMDAlO1xuICAgICAgICAgICAgICAgIHBhZGRpbmctYm90dG9tIDogcmVtKDUwKTtcblxuICAgICAgICAgICAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6ICN7JHRhYmxldH0gKSB7XG4gICAgICAgICAgICAgICAgICAgIGZsb2F0OiByaWdodDtcbiAgICAgICAgICAgICAgICAgICAgdG9wOiAwO1xuICAgICAgICAgICAgICAgICAgICByaWdodDogMDtcbiAgICAgICAgICAgICAgICB9ICAgIFxuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgbWFpbiB7XG4gICAgICAgICAgICBwYWRkaW5nIDogMCByZW0oMTAwKTtcblxuICAgICAgICAgICAgLnNpZGViYXIge1xuICAgICAgICAgICAgICAgIHdpZHRoIDogMTAwJTtcblxuICAgICAgICAgICAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6ICR0YWJsZXQpIHtcbiAgICAgICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbSA6IHJlbSgzMCk7XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogJHRhYmxldCkge1xuICAgICAgICAgICAgICAgICAgICB3aWR0aCA6IGF1dG87XG4gICAgICAgICAgICAgICAgICAgIG1pbi13aWR0aCA6IHJlbSgyMDApO1xuICAgICAgICAgICAgICAgICAgICBtYXJnaW4tcmlnaHQgOiByZW0oMzApO1xuICAgICAgICAgICAgICAgICAgICBtYXgtd2lkdGggOiByZW0oMzAwKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDE2MDBweCkge1xuICAgICAgICAgICAgICAgIHBhZGRpbmcgOiAwIHJlbSg0MCk7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6ICR0YWJsZXQpIHtcbiAgICAgICAgICAgICAgICBwYWRkaW5nIDogMCByZW0oMzApO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAkdGFibGV0KSB7XG4gICAgICAgICAgICAgICAgZGlzcGxheSA6IGZsZXg7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG59XG5cbi8qKlxuICogTGlua1xuICovXG5cbmEge1xuICAgIHRleHQtZGVjb3JhdGlvbiA6IG5vbmU7XG5cbiAgICBjb2xvciA6ICRjb2xvcl9fcHJpbWFyeTtcblxuICAgICY6aG92ZXIge1xuICAgICAgICB0ZXh0LWRlY29yYXRpb24gOiB1bmRlcmxpbmU7XG4gICAgfVxufVxuXG4vKipcbiAqIE1hcmtcbiAqL1xubWFyayB7XG4gICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gICAgY29sb3I6IGluaGVyaXQ7XG59XG5cbi8qKlxuICogSW1hZ2VzXG4gKi9cblxuaW1nIHtcbiAgICBkaXNwbGF5IDogYmxvY2s7XG59XG5cbi8qKlxuICogUGFyYWdyYXBoXG4gKi9cblxucCB7XG4gICAgbWFyZ2luLWJvdHRvbSA6IGVtKDMwLCAkYmFzZV9fZm9udC1zaXplKTtcblxuICAgICY6bGFzdC1vZi10eXBlIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbSA6IDA7XG4gICAgfVxufVxuXG4vKipcbiAqIFRpdGxlXG4gKi9cblxuaDEge1xuICAgIEBpbmNsdWRlIHRleHQoJHNpemUgOiA1NiwgJGxpbmU6IDcwLCAkY29sb3I6ICRjb2xvcl9fbmV1dHJhbC0tZGFyayk7XG5cbiAgICBmb250LXdlaWdodCA6IDcwMDtcblxuICAgIHBvc2l0aW9uIDogcmVsYXRpdmU7XG5cbiAgICB0ZXh0LXRyYW5zZm9ybSA6IHVwcGVyY2FzZTtcblxuICAgIHN0cm9uZyB7XG4gICAgICAgIGRpc3BsYXkgOiBibG9jaztcbiAgICB9XG59XG5cblxuLypcbiAqIFZpZGVvXG4gKi9cblxudmlkZW8ge1xuICAgIGRpc3BsYXkgOiBibG9jaztcbn1cblxuLmhpZGRlbiB7XG4gICAgZGlzcGxheTogbm9uZTtcbn1cblxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbi8vIHNlbGVjdGlvbnMgY29sb3Jcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbjo6c2VsZWN0aW9uIHtcbiAgICBjb2xvciA6ICRjb2xvcl9fd2hpdGU7XG4gICAgYmFja2dyb3VuZC1jb2xvciA6ICRjb2xvcl9fcHJpbWFyeTtcbn1cbjo6LW1vei1zZWxlY3Rpb24ge1xuICAgIGNvbG9yIDogJGNvbG9yX193aGl0ZTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yIDogJGNvbG9yX19wcmltYXJ5O1xufVxuIiwiLyoqXG4gKiBHYWxsZXJ5XG4gKi9cblxuLmdhbGxlcnkge1xuICAgICZfX2ZlYXR1cmVkIHtcbiAgICAgICAgQGluY2x1ZGUgbWFpbnRhaW4tYXNwZWN0LXJhdGlvKDMsIDIpO1xuXG4gICAgICAgIG1hcmdpbiA6IDA7XG4gICAgICAgIHBhZGRpbmcgOiAwO1xuXG4gICAgICAgICZfX2l0ZW1zIHtcbiAgICAgICAgICAgIHBvc2l0aW9uIDogYWJzb2x1dGU7XG4gICAgICAgICAgICB6LWluZGV4IDogMDtcbiAgICAgICAgICAgIHRvcCA6IDA7XG4gICAgICAgICAgICBsZWZ0IDogMDtcblxuICAgICAgICAgICAgZGlzcGxheSA6IGJsb2NrO1xuICAgICAgICAgICAgb3ZlcmZsb3cgOiBoaWRkZW47XG5cbiAgICAgICAgICAgIHdpZHRoIDogMTAwJTtcbiAgICAgICAgICAgIGhlaWdodCA6IDEwMCU7XG5cbiAgICAgICAgICAgIG9wYWNpdHkgOiAwO1xuICAgICAgICB9XG5cbiAgICAgICAgJjo6YmVmb3JlIHtcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3IgOiBkYXJrZW4oJGNvbG9yX19uZXV0cmFsLS1saWdodCwgNSk7XG4gICAgICAgIH1cblxuICAgICAgICBmaWd1cmUge1xuICAgICAgICAgICAgcG9zaXRpb24gOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgIHotaW5kZXggOiAwO1xuICAgICAgICAgICAgdG9wIDogMDtcbiAgICAgICAgICAgIGxlZnQgOiAwO1xuXG4gICAgICAgICAgICBkaXNwbGF5IDogYmxvY2s7XG4gICAgICAgICAgICBvdmVyZmxvdyA6IGhpZGRlbjtcblxuICAgICAgICAgICAgd2lkdGggOiAxMDAlO1xuICAgICAgICAgICAgaGVpZ2h0IDogMTAwJTtcbiAgICAgICAgICAgIG1hcmdpbiA6IDA7XG4gICAgICAgICAgICBwYWRkaW5nIDogMDtcblxuICAgICAgICAgICAgb3BhY2l0eSA6IDA7XG5cbiAgICAgICAgICAgIGEge1xuICAgICAgICAgICAgICAgIHBvc2l0aW9uIDogYWJzb2x1dGU7XG4gICAgICAgICAgICAgICAgdG9wIDogMDtcbiAgICAgICAgICAgICAgICBsZWZ0IDogMDtcblxuICAgICAgICAgICAgICAgIGRpc3BsYXkgOiBibG9jaztcblxuICAgICAgICAgICAgICAgIHdpZHRoIDogMTAwJTtcbiAgICAgICAgICAgICAgICBoZWlnaHQgOiAxMDAlO1xuXG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1yZXBlYXQgOiBuby1yZXBlYXQ7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbiA6IGNlbnRlcjtcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLXNpemUgOiBhdXRvIDEwMCU7XG5cbiAgICAgICAgICAgICAgICAjc2luZ2xlICYge1xuICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLXNpemUgOiBjb3ZlcjtcbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICBpbWcge1xuICAgICAgICAgICAgICAgICAgICBwb3NpdGlvbiA6IGFic29sdXRlO1xuICAgICAgICAgICAgICAgICAgICB0b3AgOiA1MCU7XG4gICAgICAgICAgICAgICAgICAgIGxlZnQgOiAwJTtcblxuICAgICAgICAgICAgICAgICAgICBkaXNwbGF5IDogYmxvY2s7XG4gICAgICAgICAgICAgICAgICAgIGRpc3BsYXkgOiBub25lO1xuXG4gICAgICAgICAgICAgICAgICAgIHdpZHRoIDogMTAwJTtcbiAgICAgICAgICAgICAgICAgICAgaGVpZ2h0IDogYXV0bztcblxuICAgICAgICAgICAgICAgICAgICB0cmFuc2Zvcm0gOiB0cmFuc2xhdGUzZCgwLCAtNTAlLCAwKTtcblxuICAgICAgICAgICAgICAgICAgICBvcGFjaXR5IDogMDtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIGZpZ2NhcHRpb24ge1xuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGhpZGUtdGV4dCgpO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAmLmN1cnJlbnQge1xuICAgICAgICAgICAgICAgIHotaW5kZXggOiAxMDtcblxuICAgICAgICAgICAgICAgIG9wYWNpdHkgOiAxO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgJl9fYnRuIHtcbiAgICAgICAgcG9zaXRpb24gOiBhYnNvbHV0ZTtcbiAgICAgICAgdG9wIDogMDtcblxuICAgICAgICBkaXNwbGF5IDogYmxvY2s7XG4gICAgICAgIG92ZXJmbG93IDogdmlzaWJsZTtcblxuICAgICAgICB3aWR0aCA6IDMzJTtcbiAgICAgICAgd2lkdGggOiBjYWxjKDMzJSAtIDEwcHgpO1xuICAgICAgICBoZWlnaHQgOiAxMDAlO1xuICAgICAgICBwYWRkaW5nIDogMDtcblxuICAgICAgICBjdXJzb3IgOiBwb2ludGVyO1xuICAgICAgICB0ZXh0LWFsaWduIDogY2VudGVyO1xuXG4gICAgICAgIGNvbG9yIDogJGNvbG9yX193aGl0ZTtcbiAgICAgICAgYm9yZGVyIDogbm9uZTtcbiAgICAgICAgYmFja2dyb3VuZCA6IG5vbmU7XG5cbiAgICAgICAgJjpmb2N1cyxcbiAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgICBvdXRsaW5lIDogbm9uZTtcbiAgICAgICAgfVxuXG4gICAgICAgICY6OmJlZm9yZSB7XG4gICAgICAgICAgICBAaW5jbHVkZSBjaXJjbGUoNDBweCk7XG5cbiAgICAgICAgICAgIGZvbnQtc2l6ZSA6IDEycHg7XG4gICAgICAgICAgICBsaW5lLWhlaWdodCA6IDQwcHg7XG5cbiAgICAgICAgICAgIHBvc2l0aW9uIDogYWJzb2x1dGU7XG4gICAgICAgICAgICB0b3AgOiA1MCU7XG5cbiAgICAgICAgICAgIGRpc3BsYXkgOiBibG9jaztcblxuICAgICAgICAgICAgdHJhbnNpdGlvbiA6IGJhY2tncm91bmQtY29sb3IgLjJzICRlYXNlSW5RdWFkO1xuICAgICAgICAgICAgdmVydGljYWwtYWxpZ24gOiB0b3A7XG5cbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3IgOiAkY29sb3JfX3ByaW1hcnk7XG5cbiAgICAgICAgICAgICY6Zm9jdXMsXG4gICAgICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICAgICAgICBvdXRsaW5lIDogbm9uZTtcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yIDogJGNvbG9yX19zZWNvbmRhcnktLWRhcms7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAmLS1wcmV2IHtcbiAgICAgICAgICAgIGxlZnQgOiAwO1xuXG4gICAgICAgICAgICAmOjpiZWZvcmUge1xuICAgICAgICAgICAgICAgIGxlZnQgOiAwO1xuXG4gICAgICAgICAgICAgICAgdHJhbnNmb3JtIDogdHJhbnNsYXRlM2QoLTUwJSwtNTAlLDApO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgJi0tbmV4dCB7XG4gICAgICAgICAgICByaWdodCA6IDA7XG5cbiAgICAgICAgICAgICY6OmJlZm9yZSB7XG4gICAgICAgICAgICAgICAgcmlnaHQgOiAwO1xuXG4gICAgICAgICAgICAgICAgdHJhbnNmb3JtIDogdHJhbnNsYXRlM2QoNTAlLC01MCUsMCk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmX19uYXZpZ2F0aW9uIHtcbiAgICAgICAgcG9zaXRpb24gOiByZWxhdGl2ZTtcblxuICAgICAgICBtYXJnaW4tdG9wIDogMjBweDtcblxuICAgICAgICBvcGFjaXR5IDogMDtcblxuICAgICAgICAmX19tYXNrIHtcbiAgICAgICAgICAgIG92ZXJmbG93IDogaGlkZGVuO1xuICAgICAgICB9XG5cbiAgICAgICAgdWwge1xuICAgICAgICAgICAgQGluY2x1ZGUgY2xlYXJmaXgoKTtcblxuICAgICAgICAgICAgcG9zaXRpb24gOiByZWxhdGl2ZTtcblxuICAgICAgICAgICAgbWFyZ2luIDogMDtcbiAgICAgICAgICAgIHBhZGRpbmcgOiAwO1xuXG4gICAgICAgICAgICBsaSB7XG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgbWFpbnRhaW4tYXNwZWN0LXJhdGlvKDMsIDIpO1xuXG4gICAgICAgICAgICAgICAgZmxvYXQgOiBsZWZ0O1xuXG4gICAgICAgICAgICAgICAgYm94LXNpemluZyA6IGJvcmRlci1ib3g7XG4gICAgICAgICAgICAgICAgbWFyZ2luLXJpZ2h0IDogMjBweDtcbiAgICAgICAgICAgICAgICBwYWRkaW5nIDogMDtcblxuICAgICAgICAgICAgICAgIGxpc3Qtc3R5bGUgOiBub25lO1xuXG4gICAgICAgICAgICAgICAgdHJhbnNpdGlvbiA6IGJvcmRlciAuNHMgJGVhc2VJbk91dFF1YWQ7XG5cbiAgICAgICAgICAgICAgICBib3JkZXIgOiAzcHggc29saWQgdHJhbnNwYXJlbnQ7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1yZXBlYXQgOiBuby1yZXBlYXQ7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbiA6IGNlbnRlcjtcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLXNpemUgOiBjb3ZlcjtcblxuICAgICAgICAgICAgICAgICYuY3VycmVudCB7XG4gICAgICAgICAgICAgICAgICAgIGJvcmRlci1jb2xvciA6ICRjb2xvcl9fcHJpbWFyeTtcbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAmOmxhc3QtY2hpbGQge1xuICAgICAgICAgICAgICAgICAgICBtYXJnaW4tcmlnaHQgOiAwO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbn1cblxuLmRldGFpbHMtYmxvY2sge1xuICAgIEBpbmNsdWRlIGNsZWFyZml4KCk7XG5cbiAgICBwb3NpdGlvbiA6IHJlbGF0aXZlO1xuXG4gICAgbWFyZ2luLWJvdHRvbSA6IDUwcHg7XG5cbiAgICAmOmxhc3QtY2hpbGQge1xuICAgICAgICBtYXJnaW4tYm90dG9tIDogMDtcbiAgICB9XG5cbiAgICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6ICN7JHRhYmxldH1weCApIHtcbiAgICAgICAgd2lkdGg6IHNwYW4oNik7XG5cbiAgICAgICAgJjpudGgtY2hpbGQoMm4rMikge1xuICAgICAgICAgICAgbWFyZ2luLXJpZ2h0IDogMDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogI3skbW9iaWxlfXB4ICkge1xuICAgICAgICB3aWR0aCA6IDEwMCU7XG4gICAgICAgIG1hcmdpbi1yaWdodCA6IDA7XG4gICAgfVxuXG4gICAgJl9fdGl0bGUge1xuICAgICAgICBmb250LXNpemUgOiAxNHB4O1xuICAgICAgICBsaW5lLWhlaWdodCA6IDE5cHg7XG5cbiAgICAgICAgbWFyZ2luLWJvdHRvbSA6IDIycHg7XG5cbiAgICAgICAgLy8gQGV4dGVuZCAubWFpbnRpdGxlO1xuICAgICAgICAvLyBAZXh0ZW5kICVyZWd1bGFyO1xuXG4gICAgICAgIHNwYW4ge1xuICAgICAgICAgICAgJjo6YmVmb3JlIHtcbiAgICAgICAgICAgICAgICBib3R0b20gOiAzcHg7XG5cbiAgICAgICAgICAgICAgICBoZWlnaHQgOiA2cHg7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmX19sYWJlbCB7XG4gICAgICAgIGRpc3BsYXkgOiBpbmxpbmUtYmxvY2s7XG5cbiAgICAgICAgbWluLXdpZHRoIDogMTMwcHg7XG5cbiAgICAgICAgb3BhY2l0eSA6IC40O1xuICAgIH1cblxuICAgICZfX3BpY3RvIHtcbiAgICAgICAgQGluY2x1ZGUgY2xlYXJmaXgoKTtcblxuICAgICAgICBtYXJnaW4gOiAwO1xuICAgICAgICBwYWRkaW5nIDogMDtcblxuICAgICAgICBsaSB7XG4gICAgICAgICAgICBAaW5jbHVkZSBjbGVhcmZpeCgpO1xuXG4gICAgICAgICAgICBmb250LXNpemUgOiAxNHB4O1xuXG4gICAgICAgICAgICBmbG9hdCA6IGxlZnQ7XG5cbiAgICAgICAgICAgIG1pbi13aWR0aCA6IDE2MHB4O1xuICAgICAgICAgICAgbWFyZ2luIDogMDtcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b20gOiAyMHB4O1xuICAgICAgICAgICAgcGFkZGluZyA6IDA7XG5cbiAgICAgICAgICAgIGxpc3Qtc3R5bGUgOiBub25lO1xuXG4gICAgICAgICAgICBjb2xvciA6ICRjb2xvcl9fYmxhY2s7XG5cbiAgICAgICAgICAgIEBleHRlbmQgJXJlZ3VsYXI7O1xuXG4gICAgICAgICAgICBhIHtcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBjbGVhcmZpeCgpO1xuXG4gICAgICAgICAgICAgICAgY29sb3IgOiAkY29sb3JfX2JsYWNrO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBpbWcge1xuICAgICAgICAgICAgICAgIGRpc3BsYXkgOiBibG9jaztcbiAgICAgICAgICAgICAgICBmbG9hdCA6IGxlZnQ7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIHNwYW4ge1xuICAgICAgICAgICAgICAgIGxpbmUtaGVpZ2h0IDogNDBweDtcblxuICAgICAgICAgICAgICAgIGRpc3BsYXkgOiBibG9jaztcbiAgICAgICAgICAgICAgICBmbG9hdCA6IGxlZnQ7XG5cbiAgICAgICAgICAgICAgICBib3gtc2l6aW5nIDogYm9yZGVyLWJveDtcbiAgICAgICAgICAgICAgICBwYWRkaW5nIDogMCAxOHB4O1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgJl9fbGlzdCB7XG4gICAgICAgIGJveC1zaXppbmcgOiBib3JkZXItYm94O1xuICAgICAgICBtYXJnaW4gOiAwO1xuICAgICAgICBwYWRkaW5nIDogMDtcblxuICAgICAgICBjb2xvciA6ICRjb2xvcl9fYmxhY2s7XG5cbiAgICAgICAgQGV4dGVuZCAlcmVndWxhcjtcblxuICAgICAgICAmLS1wYWNrYWdpbmcuZGV0YWlscy1ibG9ja19fbGlzdC0tcGFja2FnaW5nIHtcbiAgICAgICAgICAgIHBhZGRpbmctdG9wIDogMzBweDtcbiAgICAgICAgfVxuXG4gICAgICAgIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogI3skdGFibGV0fXB4ICkge1xuICAgICAgICAgICAgZmxvYXQgOiBsZWZ0O1xuXG4gICAgICAgICAgICB3aWR0aCA6IHNwYW4oNiAgKTtcbiAgICAgICAgICAgIHBhZGRpbmctcmlnaHQgOiAzMHB4O1xuXG4gICAgICAgICAgICAuZGV0YWlscy1ibG9jay0tZnVsbCAmIHtcbiAgICAgICAgICAgICAgICBmbG9hdCA6IG5vbmU7XG4gICAgICAgICAgICAgICAgY2xlYXIgOiBib3RoO1xuXG4gICAgICAgICAgICAgICAgd2lkdGggOiAxMDAlO1xuXG4gICAgICAgICAgICAgICAgYm9yZGVyIDogbm9uZTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgJi0tZnVsbCB7XG4gICAgICAgICAgICAgICAgZmxvYXQgOiBub25lO1xuICAgICAgICAgICAgICAgIGNsZWFyIDogYm90aDtcblxuICAgICAgICAgICAgICAgIHdpZHRoIDogMTAwJTtcbiAgICAgICAgICAgICAgICBwYWRkaW5nIDogMDtcblxuICAgICAgICAgICAgICAgIGJvcmRlciA6IG5vbmU7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAmICsgdWwge1xuICAgICAgICAgICAgJi5kZXRhaWxzLWJsb2NrX19saXN0LS1mdWxsIHtcbiAgICAgICAgICAgICAgICBwYWRkaW5nLWxlZnQgOiAwO1xuXG4gICAgICAgICAgICAgICAgYm9yZGVyIDogbm9uZTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAjeyR0YWJsZXR9cHggKSB7XG4gICAgICAgICAgICAgICAgcGFkZGluZy1yaWdodCA6IDA7XG4gICAgICAgICAgICAgICAgcGFkZGluZy1sZWZ0IDogMzBweDtcblxuICAgICAgICAgICAgICAgIGJvcmRlci1sZWZ0IDogMXB4IHNvbGlkIHJnYmEoJGNvbG9yX19ibGFjaywgLjEpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgbGkge1xuICAgICAgICAgICAgZm9udC1zaXplIDogMTRweDtcbiAgICAgICAgICAgIGxpbmUtaGVpZ2h0IDogMjVweDtcblxuICAgICAgICAgICAgcGFkZGluZyA6IDA7XG5cbiAgICAgICAgICAgIGxpc3Qtc3R5bGUgOiBub25lO1xuICAgICAgICB9XG4gICAgfVxufVxuXG4vKipcbiAqIFN1Y2Nlc3MgbWVzc2FnZVxuICovXG4uYmxvY2tfX3N1Y2Nlc3NfbWVzc2FnZSB7XG4gICAgLy8gcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIC8vIHotaW5kZXg6IDEwO1xuICAgIHotaW5kZXg6IDEwMDtcblxuICAgIGJhY2tncm91bmQtY29sb3I6ICRjb2xvcl9fc3VjY2VzcztcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIG1heC1oZWlnaHQ6IDA7XG5cbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBwb3NpdGlvbjogZml4ZWQ7XG4gICAgdG9wOiAwO1xuICAgIGxlZnQ6IDA7XG4gICAgcmlnaHQ6IDA7XG5cbiAgICB0cmFuc2l0aW9uOiBtYXgtaGVpZ2h0IDAuMnMgJGVhc2VJbk91dFNpbmU7XG5cbiAgICAmX19jb250ZW50IHtcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICBwYWRkaW5nLXRvcDogMTVweDtcbiAgICAgICAgcGFkZGluZy1ib3R0b206IDE1cHg7XG4gICAgICAgIGZvbnQtc2l6ZTogMTRweDtcbiAgICAgICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgICAgIGxldHRlci1zcGFjaW5nOiAxcHg7XG4gICAgICAgIGNvbG9yOiAkY29sb3JfX2JsYWNrO1xuICAgIH1cblxuICAgICYuYWN0aXZlIHtcbiAgICAgICAgbWF4LWhlaWdodDogMjAwcHg7XG4gICAgfVxufVxuXG4vKipcbiAqIFZpZGVvXG4gKi9cbi5wb3B1cF9fdmlkZW8ge1xuXHRAaW5jbHVkZSByYXRpbygxNiw5KTtcblx0d2lkdGg6IDEwMCU7XG5cblx0LnBsYXllciB7XG5cdFx0cG9zaXRpb246IGFic29sdXRlO1xuXHRcdGluc2V0OiAwO1xuXHR9XG59XG4iLCJcblxuLmhlYWRlciB7XG4gICAgYmFja2dyb3VuZC1jb2xvciA6ICRjb2xvcl9fd2hpdGU7XG4gICAgLmNlbnRlciB7XG4gICAgICAgIGRpc3BsYXkgOiBmbGV4O1xuICAgICAgICBhbGlnbi1pdGVtcyA6IGNlbnRlcjtcbiAgICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogJG1vYmlsZSkge1xuICAgICAgICAgICAgZGlzcGxheSA6IGJsb2NrO1xuICAgICAgICB9XG4gICAgfVxuICAgIC5sb2dpbiAmIHtcbiAgICAgICAgLy8gcGFkZGluZyA6IHJlbSg5MCkgMDtcblxuICAgICAgICAubG9nbyB7XG4gICAgICAgICAgICB3aWR0aCA6IHJlbSgxOTApO1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbSA6IHJlbSgyMik7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLXJlcGVhdCA6IG5vLXJlcGVhdDtcbiAgICAgICAgICAgIGJhY2tncm91bmQtcG9zaXRpb24gOiBjZW50ZXI7XG4gICAgICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgICAgICAubG9nb19fdGV4dCB7XG4gICAgICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgICAgIC8qIGxlZnQ6IDIwMHB4OyAqL1xuICAgICAgICAgICAgICAgIHJpZ2h0OiAtNjAlO1xuICAgICAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKTtcbiAgICAgICAgICAgICAgICB0b3A6IDUwJTtcbiAgICAgICAgICAgICAgICB3aWR0aCA6IGZpdC1jb250ZW50O1xuICAgICAgICAgICAgICAgIGRpc3BsYXkgOiBmbGV4O1xuICAgICAgICAgICAgICAgIGFsaWduLWl0ZW1zIDogY2VudGVyO1xuICAgICAgICAgICAgICAgIGhlaWdodCA6IDEwMCU7XG4gICAgICAgICAgICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogJG1vYmlsZSkge1xuICAgICAgICAgICAgICAgICAgICByaWdodDogMzJweDtcbiAgICAgICAgICAgICAgICAgICAgYm90dG9tOiAtNzUlO1xuICAgICAgICAgICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCk7XG4gICAgICAgICAgICAgICAgICAgIHRvcDogYXV0bztcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgc3BhbiB7XG4gICAgICAgICAgICAgICAgICAgIGZvbnQtZmFtaWx5IDogJHRleHRfX2ZhbWlseS1zYW5zLS10aXRsZTtcbiAgICAgICAgICAgICAgICAgICAgY29sb3IgOiAkY29sb3JfX2JsYWNrO1xuICAgICAgICAgICAgICAgICAgICBmb250LXNpemUgOiByZW0oMjUpO1xuICAgICAgICAgICAgICAgICAgICBsZXR0ZXItc3BhY2luZyA6IHJlbSgyKTtcbiAgICAgICAgICAgICAgICAgICAgdGV4dC10cmFuc2Zvcm0gOiB1cHBlcmNhc2U7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgLmRhc2hib2FyZCAmIHtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICBvdmVyZmxvdzogYXV0bztcblxuICAgICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAjeyR0YWJsZXR9ICkge1xuICAgICAgICAgICAgZmxvYXQ6IGxlZnQ7XG4gICAgICAgICAgICB0b3A6IDA7XG4gICAgICAgICAgICBsZWZ0OiAwO1xuICAgICAgICAgICAgYm90dG9tOiAwO1xuICAgICAgICB9XG5cbiAgICAgICAgQGluY2x1ZGUgbWVkaWEtdGFibGV0KCkge1xuICAgICAgICAgICAgcG9zaXRpb24gOiBmaXhlZDtcbiAgICAgICAgICAgIHotaW5kZXggOiAxMDAwO1xuXG4gICAgICAgICAgICB3aWR0aCA6IDQwJTtcbiAgICAgICAgICAgIGhlaWdodCA6IDEwMCU7XG5cbiAgICAgICAgICAgIHRyYW5zZm9ybSA6IHRyYW5zbGF0ZTNkKC0xMDAlLCAwLCAwKTtcblxuICAgICAgICAgICAgJi5pcy1vcGVuIHtcbiAgICAgICAgICAgICAgICB0cmFuc2Zvcm0gOiB0cmFuc2xhdGUzZCgwJSwgMCwgMCk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgQGluY2x1ZGUgbWVkaWEtbW9iaWxlKCkge1xuICAgICAgICAgICAgd2lkdGggOiA3NSU7XG4gICAgICAgIH1cblxuICAgICAgICB3aWR0aCA6IHJlbSgzMjUpO1xuXG4gICAgICAgIGJhY2tncm91bmQtY29sb3IgOiAkY29sb3JfX25ldXRyYWw7XG5cbiAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgICAgY29udGVudDogJyc7XG4gICAgICAgICAgICBwb3NpdGlvbjogZml4ZWQ7XG4gICAgICAgICAgICB0b3A6IDA7XG4gICAgICAgICAgICBsZWZ0OiAwO1xuICAgICAgICAgICAgYm90dG9tOiAwO1xuICAgICAgICAgICAgd2lkdGggOiByZW0oMzI1KTtcblxuICAgICAgICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogMTQwMHB4KSBhbmQgKG1pbi13aWR0aDogJHRhYmxldCkge1xuICAgICAgICAgICAgICAgIHdpZHRoIDogcmVtKDI4MCk7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIEBpbmNsdWRlIG1lZGlhLW1vYmlsZSgpIHtcbiAgICAgICAgICAgICAgICB3aWR0aCA6IDc1JTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvciA6ICRjb2xvcl9fbmV1dHJhbDtcbiAgICAgICAgfVxuXG4gICAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDE0MDBweCkgYW5kIChtaW4td2lkdGg6ICR0YWJsZXQpIHtcbiAgICAgICAgICAgIHdpZHRoIDogcmVtKDI4MCk7XG4gICAgICAgIH1cblxuICAgICAgICAmICsgLmNvbnRlbnQge1xuICAgICAgICAgICAgd2lkdGg6IGNhbGMoIDEwMCUgLSAzMjVweCApO1xuXG4gICAgICAgICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAxNDAwcHgpIGFuZCAobWluLXdpZHRoOiAkdGFibGV0KSB7XG4gICAgICAgICAgICAgICAgd2lkdGg6IGNhbGMoIDEwMCUgLSAyODBweCApO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAkdGFibGV0KSB7XG4gICAgICAgICAgICAgICAgZmxvYXQ6IG5vbmU7XG4gICAgICAgICAgICAgICAgd2lkdGg6IGF1dG87XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAubG9nbyB7XG4gICAgICAgICAgICBAaW5jbHVkZSBtZWRpYS10YWJsZXQoKSB7XG4gICAgICAgICAgICAgICAgaGVpZ2h0IDogcmVtKDEwMCk7XG5cbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLXNpemUgOiByZW0oMTAwKSBhdXRvO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICB3aWR0aCA6IDEwMCU7XG4gICAgICAgICAgICBoZWlnaHQgOiByZW0oMjQ1KTtcbiAgICAgICAgICAgIG1hcmdpbiA6IDA7XG4gICAgICAgICAgICBwYWRkaW5nIDogMDtcblxuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvciA6ICNmOGY4Zjg7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLXJlcGVhdCA6IG5vLXJlcGVhdDtcbiAgICAgICAgICAgIGJhY2tncm91bmQtcG9zaXRpb24gOiBjZW50ZXI7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLXNpemUgOiByZW0oMTU3KSBhdXRvO1xuXG4gICAgICAgICAgICAmOjpiZWZvcmUge1xuICAgICAgICAgICAgICAgIGRpc3BsYXkgOiBub25lO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgJl9fY29udGVudCB7XG4gICAgICAgIG1hcmdpbi10b3AgOiByZW0oMzApO1xuXG4gICAgICAgIHRleHQtYWxpZ24gOiBjZW50ZXI7XG5cbiAgICAgICAgY29sb3IgOiByZ2JhKCR0ZXh0X19jb2xvci0tYmFzZSwgLjQpO1xuICAgIH1cbn1cblxuLmhlYWRlci0tbG9naW4ge1xuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6ICRtb2JpbGUpIHtcbiAgICAgICAgcGFkZGluZy1ib3R0b20gOiByZW0oNjApIWltcG9ydGFudDtcbiAgICB9XG4gICAgLnRvcGJhciB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3IgOiB0cmFuc3BhcmVudDtcbiAgICAgICAgcG9zaXRpb24gOiBhYnNvbHV0ZTtcbiAgICAgICAgbGVmdCA6IDA7XG4gICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgei1pbmRleDogMDtcbiAgICB9XG59XG5cbi8qKlxuICogTG9nb1xuICovXG5cbi5sb2dvIHtcbiAgICBAaW5jbHVkZSByYXRpbyg0NTAsIDE5OSk7XG5cbiAgICBkaXNwbGF5IDogYmxvY2s7XG5cbiAgICB3aWR0aCA6IHJlbSgxNTcpO1xuICAgIG1hcmdpbiA6IDAgYXV0bztcblxuICAgIGJhY2tncm91bmQtaW1hZ2UgOiB1cmwoI3skaW1nfWxvZ28tbm1jLnN2Zyk7XG59XG5cbi8qKlxuICogTmF2aWdhdGltblxuICovXG5cbi5tYWluLW5hdiB7XG4gICAgcG9zaXRpb24gOiByZWxhdGl2ZTtcblxuICAgICYgPiB1bCB7XG4gICAgICAgIG1hcmdpbiA6IDA7XG4gICAgICAgIHBhZGRpbmcgOiAwIDtcblxuICAgICAgICAmID4gbGkge1xuICAgICAgICAgICAgZm9udC1zaXplIDogcmVtKDEzKTtcblxuICAgICAgICAgICAgbGlzdC1zdHlsZSA6IG5vbmU7XG5cbiAgICAgICAgICAgIGxldHRlci1zcGFjaW5nIDogcmVtKDIpO1xuICAgICAgICAgICAgdGV4dC10cmFuc2Zvcm0gOiB1cHBlcmNhc2U7XG5cbiAgICAgICAgICAgIGNvbG9yIDogcmdiYSgkdGV4dF9fY29sb3ItLWJhc2UsIC41KTtcbiAgICAgICAgICAgIGJvcmRlci1ib3R0b20gOiByZW0oMSkgc29saWQgJGNvbG9yX19uZXV0cmFsLS1kYXJrO1xuXG4gICAgICAgICAgICBAZXh0ZW5kICVtZWRpdW07XG5cbiAgICAgICAgICAgICYgPiBhIHtcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBtZWRpYS10YWJsZXQoKSB7XG4gICAgICAgICAgICAgICAgICAgIHBhZGRpbmcgOiByZW0oMzApIHJlbSgyMCk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIEBpbmNsdWRlIG1lZGlhLW1vYmlsZSgpIHtcbiAgICAgICAgICAgICAgICAgICAgcGFkZGluZyA6IHJlbSgyMCkgcmVtKDIwKTtcbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICBmb250LWZhbWlseSA6ICR0ZXh0X19mYW1pbHktc2Fucy0tdGl0bGU7XG5cbiAgICAgICAgICAgICAgICBwb3NpdGlvbiA6IHJlbGF0aXZlO1xuXG4gICAgICAgICAgICAgICAgZGlzcGxheSA6IGJsb2NrO1xuXG4gICAgICAgICAgICAgICAgcGFkZGluZyA6IHJlbSgzOCkgcmVtKDQwKTtcblxuICAgICAgICAgICAgICAgIHRyYW5zaXRpb24gOiBiYWNrZ3JvdW5kLWNvbG9yIC4ycyAkZWFzZUluT3V0UXVhZDtcblxuICAgICAgICAgICAgICAgIGNvbG9yIDogcmdiYSgkdGV4dF9fY29sb3ItLWJhc2UsIC40KTtcblxuICAgICAgICAgICAgICAgICY6aG92ZXIge1xuICAgICAgICAgICAgICAgICAgICB0ZXh0LWRlY29yYXRpb24gOiBub25lO1xuXG4gICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3IgOiAkY29sb3JfX25ldXRyYWwtLWRhcms7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAmLmlzLW9wZW4ge1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3IgOiAkY29sb3JfX25ldXRyYWwtLWRhcms7XG5cbiAgICAgICAgICAgICAgICAmID4gYSB7XG4gICAgICAgICAgICAgICAgICAgIGNvbG9yIDogcmdiYSgkdGV4dF9fY29sb3ItLWJhc2UsIC40KTtcbiAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvciA6ICRjb2xvcl9fbmV1dHJhbC0tZGFyaztcblxuICAgICAgICAgICAgICAgICAgICBAZXh0ZW5kIC5pY29uLWFycm93LXVwO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgJi5tZW51LWl0ZW0taGFzLWNoaWxkcmVuIHtcbiAgICAgICAgICAgICAgICAmID4gYSB7XG4gICAgICAgICAgICAgICAgICAgIEBleHRlbmQgLmljb247XG4gICAgICAgICAgICAgICAgICAgIEBleHRlbmQgLmljb24tYXJyb3ctZG93bjtcblxuICAgICAgICAgICAgICAgICAgICAmOjpiZWZvcmUge1xuICAgICAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgbWVkaWEtdGFibGV0KCkge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJpZ2h0IDogcmVtKDIwKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICAgICAgICAgZm9udC1zaXplIDogcmVtKDUpO1xuICAgICAgICAgICAgICAgICAgICAgICAgbGluZS1oZWlnaHQgOiAxO1xuXG4gICAgICAgICAgICAgICAgICAgICAgICBwb3NpdGlvbiA6IGFic29sdXRlO1xuICAgICAgICAgICAgICAgICAgICAgICAgdG9wIDogNTAlO1xuICAgICAgICAgICAgICAgICAgICAgICAgcmlnaHQgOiByZW0oNDApO1xuXG4gICAgICAgICAgICAgICAgICAgICAgICB0cmFuc2Zvcm0gOiB0cmFuc2xhdGUzZCgwLCAtNTAlLCAwKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIHZlcnRpY2FsLWFsaWduIDogdG9wO1xuXG4gICAgICAgICAgICAgICAgICAgICAgICBjb2xvciA6ICRjb2xvcl9fcHJpbWFyeTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgJi5jdXJyZW50X3BhZ2VfaXRlbSB7XG4gICAgICAgICAgICAgICAgJiA+IGEge1xuICAgICAgICAgICAgICAgICAgICBjb2xvciA6ICRjb2xvcl9fd2hpdGU7XG4gICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3IgOiAkY29sb3JfX3ByaW1hcnk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAmLmN1cnJlbnRfcGFnZV9wYXJlbnQge1xuICAgICAgICAgICAgICAgICYgPiBhIHtcbiAgICAgICAgICAgICAgICAgICAgY29sb3IgOiAkY29sb3JfX3doaXRlO1xuICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yIDogJGNvbG9yX19wcmltYXJ5O1xuXG4gICAgICAgICAgICAgICAgICAgICY6OmJlZm9yZSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBjb2xvciA6ICRjb2xvcl9fd2hpdGU7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAmLmlzLW9wZW4ge1xuICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yIDogJGNvbG9yX19uZXV0cmFsLS1kYXJrO1xuXG4gICAgICAgICAgICAgICAgICAgICYgPiBhIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbG9yIDogcmdiYSgkdGV4dF9fY29sb3ItLWJhc2UsIC40KTtcbiAgICAgICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3IgOiAkY29sb3JfX25ldXRyYWwtLWRhcms7XG5cbiAgICAgICAgICAgICAgICAgICAgICAgIEBleHRlbmQgLmljb24tYXJyb3ctdXA7XG5cbiAgICAgICAgICAgICAgICAgICAgICAgICY6OmJlZm9yZSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgY29sb3IgOiByZ2JhKCR0ZXh0X19jb2xvci0tYmFzZSwgLjQpO1xuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAmLmlzLW9wZW4ge1xuICAgICAgICAgICAgICAgIC5zdWItbWVudSB7XG4gICAgICAgICAgICAgICAgICAgIGhlaWdodCA6IGF1dG87XG4gICAgICAgICAgICAgICAgICAgIHBhZGRpbmctYm90dG9tIDogcmVtKDM4KTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAuc3ViLW1lbnUge1xuICAgICAgICBAaW5jbHVkZSBtZWRpYS10YWJsZXQoKSB7XG4gICAgICAgICAgICBwYWRkaW5nIDogcmVtKDApIHJlbSg0MCk7XG4gICAgICAgIH1cbiAgICAgICAgQGluY2x1ZGUgbWVkaWEtbW9iaWxlKCkge1xuICAgICAgICAgICAgcGFkZGluZyA6IHJlbSgwKSByZW0oMjApO1xuICAgICAgICB9XG5cbiAgICAgICAgb3ZlcmZsb3cgOiBoaWRkZW47XG5cbiAgICAgICAgaGVpZ2h0IDogMDtcbiAgICAgICAgcGFkZGluZyA6IHJlbSgwKSByZW0oNDApO1xuXG4gICAgICAgIGJhY2tncm91bmQtY29sb3IgOiAkY29sb3JfX25ldXRyYWwtLWRhcms7XG5cbiAgICAgICAgbGkge1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbSA6IHJlbSgyMik7XG4gICAgICAgICAgICBwYWRkaW5nLWxlZnQgOiByZW0oMjApO1xuXG4gICAgICAgICAgICBsaXN0LXN0eWxlIDogbm9uZTtcblxuICAgICAgICAgICAgJjpsYXN0LWNoaWxkIHtcbiAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tIDogMDtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgYSB7XG4gICAgICAgICAgICAgICAgZm9udC1mYW1pbHkgOiAkdGV4dF9fZmFtaWx5LXNhbnM7XG5cbiAgICAgICAgICAgICAgICBkaXNwbGF5IDogYmxvY2s7XG5cbiAgICAgICAgICAgICAgICB0cmFuc2l0aW9uIDogY29sb3IgLjJzICRlYXNlSW5PdXRRdWFkO1xuICAgICAgICAgICAgICAgIGxldHRlci1zcGFjaW5nIDogcmVtKC41KTtcbiAgICAgICAgICAgICAgICB0ZXh0LXRyYW5zZm9ybSA6IG5vbmU7XG5cbiAgICAgICAgICAgICAgICBjb2xvciA6IHJnYmEoJHRleHRfX2NvbG9yLS1iYXNlLCAuMyk7XG5cbiAgICAgICAgICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICAgICAgICAgICAgdGV4dC1kZWNvcmF0aW9uIDogbm9uZTtcblxuICAgICAgICAgICAgICAgICAgICBjb2xvciA6ICRjb2xvcl9fcHJpbWFyeTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICYuY3VycmVudF9wYWdlX2l0ZW0gYSB7XG4gICAgICAgICAgICAgICAgY29sb3IgOiByZ2JhKCR0ZXh0X19jb2xvci0tYmFzZSwgLjYpO1xuXG4gICAgICAgICAgICAgICAgQGV4dGVuZCAlYm9sZDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbn1cblxuLyoqXG4gKiBMYW5nIHN3aXRjaGVyIC0gVjFcbiAqL1xuXG4ubGFuZy1zd2l0Y2hlciB7XG4gICAgcG9zaXRpb24gOiByZWxhdGl2ZTtcblxuICAgIG1hcmdpbiA6IHJlbSg1MCkgMDtcbiAgICBwYWRkaW5nIDogMDtcblxuICAgIHRleHQtYWxpZ24gOiBjZW50ZXI7XG5cbiAgICBsaSB7XG4gICAgICAgIGZvbnQtc2l6ZSA6IHJlbSgxMyk7XG5cbiAgICAgICAgZGlzcGxheSA6IGlubGluZS1ibG9jaztcblxuICAgICAgICBtYXJnaW4tcmlnaHQgOiByZW0oMTUpO1xuXG4gICAgICAgIGxpc3Qtc3R5bGUgOiBub25lO1xuXG4gICAgICAgIHRleHQtYWxpZ24gOiBjZW50ZXI7XG5cbiAgICAgICAgJjpsYXN0LWNoaWxkIHtcbiAgICAgICAgICAgIG1hcmdpbi1yaWdodCA6IDA7XG4gICAgICAgIH1cblxuICAgICAgICBhIHtcbiAgICAgICAgICAgIHRyYW5zaXRpb24gOiBjb2xvciAuMnMgJGVhc2VJblNpbmU7XG4gICAgICAgICAgICB0ZXh0LXRyYW5zZm9ybSA6IGNhcGl0YWxpemU7XG5cbiAgICAgICAgICAgIGNvbG9yIDogcmdiYSgkY29sb3JfX2JsYWNrLCAuMyk7XG5cbiAgICAgICAgICAgICY6aG92ZXIge1xuICAgICAgICAgICAgICAgIHRleHQtZGVjb3JhdGlvbiA6IG5vbmU7XG5cbiAgICAgICAgICAgICAgICBjb2xvciA6ICRjb2xvcl9fcHJpbWFyeTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgICYuY3VycmVudC1sYW5nIHtcbiAgICAgICAgICAgIGEge1xuICAgICAgICAgICAgICAgIGNvbG9yIDogJGNvbG9yX19ibGFjaztcblxuICAgICAgICAgICAgICAgICY6aG92ZXIge1xuICAgICAgICAgICAgICAgICAgICBjb2xvciA6ICRjb2xvcl9fcHJpbWFyeTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG59XG4iLCIuc2lkZWJhciB7XG4gICAgbWFyZ2luLXJpZ2h0IDogcmVtKDQwKTtcbn1cbiIsIi5zaWdpbixcbi5mb3Jnb3RwYXNzd29yZCxcbi5yZXNldHBhc3N3b3JkIHtcbiAgICB3aWR0aCA6IHJlbSg0NTApO1xuICAgIG1hcmdpbiA6IDAgYXV0bztcbiAgICBwYWRkaW5nIDogcmVtKDUwKSAwIDAgMDtcblxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6ICRtb2JpbGUpIHtcbiAgICAgICAgd2lkdGggOiAxMDAlO1xuICAgIH1cblxuICAgICZfX2ZvcmdvdC1wYXNzd29yZCB7XG4gICAgICAgIGZvbnQtc2l6ZSA6IHJlbSgxMyk7XG5cbiAgICAgICAgZGlzcGxheSA6IGJsb2NrO1xuXG4gICAgICAgIG1hcmdpbi10b3AgOiByZW0oMzApO1xuXG4gICAgICAgIHRleHQtYWxpZ24gOiBjZW50ZXI7XG4gICAgfVxufVxuXG4jY29udGFpbmVyIHtcbiAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgIC8vIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbn1cblxuI2xvZ2luIHtcbiAgICAucGFnZV9fY29udGVudCB7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IGF1dG87XG4gICAgICAgIHdpZHRoOiA5MCU7XG4gICAgICAgIG1heC13aWR0aDogMTMwMHB4O1xuICAgIH1cblx0LmxhYmVsLS1jaGVja2JveCB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuXHRcdGEge1xuICAgICAgICAgICAgZm9udC1zdHlsZTogaXRhbGljO1xuXHRcdFx0Y29sb3I6IGluaGVyaXQ7XG5cdFx0XHR0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcbiAgICAgICAgICAgIFxuXHRcdFx0dHJhbnNpdGlvbjogY29sb3IgMC4ycyAkZWFzZUluT3V0UXVhZDtcbiAgICAgICAgICAgIFxuXHRcdFx0Jjpob3ZlciB7XG4gICAgICAgICAgICAgICAgY29sb3I6ICRjb2xvcl9fcHJpbWFyeTtcblx0XHRcdH1cblx0XHR9XG5cdH1cbiAgICAuaW5wdXQtLXRleHQge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3JfX25ldXRyYWwtLWxpZ2h0O1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgfVxuICAgIC5maWVsZC5pY29uLXVzZXIsIC5maWVsZC5pY29uLWxvY2sge1xuICAgICAgICAmOmFmdGVyIHtcbiAgICAgICAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICBsZWZ0OiAwO1xuICAgICAgICAgICAgLy8gdG9wOiAwO1xuICAgICAgICAgICAgd2lkdGg6IDNweDtcbiAgICAgICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRjb2xvcl9fcHJpbWFyeTtcbiAgICAgICAgICAgIG9wYWNpdHk6IDE7XG4gICAgICAgIH1cbiAgICB9XG59XG5cbi5mb3Jnb3RwYXNzd29yZCxcbi5yZXNldHBhc3N3b3JkIHtcbiAgICB3aWR0aCA6IHJlbSg1MDApO1xuXG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogJG1vYmlsZSkge1xuICAgICAgICB3aWR0aCA6IDEwMCU7XG4gICAgfVxufVxuIiwiLnBhZ2Uge1xuICAgICZfX2NvbnRlbnQge1xuICAgICAgICBtYXgtd2lkdGg6IDk3MHB4O1xuICAgICAgICBtYXJnaW46IGF1dG87XG5cbiAgICAgICAgJi0tc21hbGwge1xuICAgICAgICAgICAgbWF4LXdpZHRoIDogcmVtKDk3MCk7XG4gICAgICAgIH1cblxuICAgICAgICAmLS1jZW50ZXIge1xuICAgICAgICAgICAgdGV4dC1hbGlnbiA6IGNlbnRlcjtcbiAgICAgICAgfVxuXG4gICAgICAgICYtLXRvcCB7XG4gICAgICAgICAgICBtYXJnaW4tdG9wIDogcmVtKDUwKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5kay1zZWxlY3RlZCwgc2VsZWN0ICB7XG4gICAgICAgIGNvbG9yOiByZ2JhKCR0ZXh0X19jb2xvci0tYmFzZSwgMC41KTtcbiAgICB9XG5cbiAgICAuZGstc2VsZWN0LW9wZW4tZG93biwgLmRrLXNlbGVjdC1vcGVuLXVwIHtcbiAgICAgICAgLmRrLXNlbGVjdGVkLCBzZWxlY3QgIHtcbiAgICAgICAgICAgIGNvbG9yOiAkY29sb3JfX3doaXRlO1xuICAgICAgICB9XG4gICAgfVxuXG5cdC5jaGVja2JveC13cmFwIHtcblx0XHQubmYtZmllbGQtbGFiZWwge1xuXHRcdFx0bWFyZ2luLWxlZnQ6IDA7XG5cdFx0XHRwYWRkaW5nLWxlZnQ6IDA7XG5cdFx0fVxuXHRcdC5uZi1maWVsZC1lbGVtZW50IHtcblx0XHRcdGRpc3BsYXk6IG5vbmU7XG5cdFx0fVxuXG5cdFx0bGFiZWwge1xuXHRcdFx0QGV4dGVuZCAubGFiZWw7XG5cdFx0XHRAZXh0ZW5kIC5sYWJlbC0tY2hlY2tib3g7XG5cblx0XHRcdCY6YmVmb3JlIHtcblx0XHRcdFx0Ym9yZGVyOiAycHggc29saWQgJGNvbG9yX19uZXV0cmFsO1xuXHRcdFx0fVxuXHRcdH1cblx0XHRsaTpiZWZvcmUge1xuICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgfVxuXHRcdC5uZi1jaGVja2VkLWxhYmVsOmFmdGVyIHtcblx0XHRcdG9wYWNpdHk6IDE7XG5cdFx0fVxuXHR9XG5cbiAgICAubGlzdC1jaGVja2JveC13cmFwIHtcbiAgICAgICAgdWwge1xuICAgICAgICAgICAgcGFkZGluZzogMDtcbiAgICAgICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgICAgIGxpc3Qtc3R5bGU6IG5vbmU7XG5cbiAgICAgICAgICAgIGxpIGxhYmVsIHtcbiAgICAgICAgICAgICAgICBtYXJnaW4tbGVmdDogMDtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgbGFiZWwge1xuICAgICAgICAgICAgICAgIEBleHRlbmQgLmxhYmVsO1xuICAgICAgICAgICAgICAgIEBleHRlbmQgLmxhYmVsLS1jaGVja2JveDtcblxuICAgICAgICAgICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICAgICAgICAgICAgYm9yZGVyOiAycHggc29saWQgJGNvbG9yX19uZXV0cmFsO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICBsaTpiZWZvcmUge1xuICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgfVxuICAgICAgICBpbnB1dCB7XG4gICAgICAgICAgICB2aXNpYmlsaXR5OiBoaWRkZW47XG5cbiAgICAgICAgICAgICY6Y2hlY2tlZCArIGxhYmVsOmFmdGVyIHtcbiAgICAgICAgICAgICAgICBvcGFjaXR5OiAxO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG5cdC8vIEVaRFogRGlzcGxheSBzbyBoaWRlIHRoZSBkZWZhdWx0IGVsZW1lbnRzXG5cdC5uZi1mdS1maWxlaW5wdXQtYnV0dG9uIHtcblx0XHRwb3NpdGlvbjogcmVsYXRpdmU7XG5cdFx0Ym9yZGVyLXJhZGl1czogMjBweDtcblx0XHRmb250OiBib2xkIDI0cHggYXJpYWw7XG5cdFx0dGV4dC1hbGlnbjogY2VudGVyO1xuXHRcdHdpZHRoOiAxMDAlO1xuXHRcdGhlaWdodDogMTUwcHg7XG5cdFx0YmFja2dyb3VuZDogbm9uZTtcblx0XHRib3JkZXI6IDNweCBkb3R0ZWQgcmdiYSgkY29sb3JfX2JsYWNrLCAwLjUpO1xuXHRcdGNvbG9yOiByZ2JhKCRjb2xvcl9fYmxhY2ssIDAuNSk7XG5cdFx0cGFkZGluZzogMTBweDtcblx0XHRsZXR0ZXItc3BhY2luZzogbm9ybWFsO1xuXHRcdHRleHQtdHJhbnNmb3JtOiBub25lO1xuXHRcdGZvbnQtc2l6ZTogMThweDtcblxuXHRcdHNwYW4ge1xuXHRcdFx0bGluZS1oZWlnaHQ6IDEuMztcblx0XHR9XG5cdH1cblx0LmZpbGVzX3VwbG9hZGVkIHtcblx0XHRtYXJnaW4tdG9wOiAxMHB4O1xuXHR9XG5cdC5uZi1mdS1idXR0b24tY2FuY2VsIHtcblx0XHRkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG5cdH1cblx0Lm5mLWZ1LXByb2dyZXNzIHtcblx0XHRwb3NpdGlvbjogYWJzb2x1dGU7XG5cdFx0dG9wOiAxMjBweDtcblx0XHR3aWR0aDogMjUwcHg7XG5cdFx0bGVmdDogY2FsYyg1MCUgLSAxMjVweCk7XG5cdFx0aGVpZ2h0OiAxMHB4O1xuXHRcdGJveC1zaGFkb3c6IG5vbmU7XG5cdFx0YmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG5cdH1cblx0Lm5mLWZ1LXByb2dyZXNzLWJhciB7XG5cdFx0YmFja2dyb3VuZDogJGNvbG9yX19wcmltYXJ5O1xuXHR9XG5cdC5maWxlX3VwbG9hZC13cmFwIGlucHV0W3R5cGU9ZmlsZV0ge1xuXHRcdGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcblx0fVxufVxuXG5cbiIsIi5wYWdlX19hY2NvdW50IHtcblxuXHQmX19pbm5lciB7XG5cdFx0cGFkZGluZyA6IDAgcmVtKDEwMCk7XG5cblx0XHRAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAxNjAwcHgpIHtcblx0XHRcdHBhZGRpbmcgOiAwIHJlbSg0MCk7XG5cdFx0fVxuXG5cdFx0QG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogJHRhYmxldCkge1xuXHRcdFx0cGFkZGluZyA6IDAgcmVtKDMwKTtcblx0XHR9XG5cdH1cblxuXHQubmYtZm9ybS13cmFwIHtcblx0XHRtYXJnaW4tdG9wOiAwO1xuXHR9XG5cblx0LmZvcm1fdGl0bGUge1xuXHRcdG1hcmdpbjogMDtcblx0XHRtYXJnaW4tdG9wOiAzMHB4O1xuXHRcdG1hcmdpbi1ib3R0b206IDEwcHg7XG5cdFx0Zm9udC1zaXplOiAyNHB4O1xuXG5cdFx0Ji5maXJzdCB7XG5cdFx0XHRtYXJnaW4tdG9wOiAwO1xuXHRcdH1cblx0fVxuXG4gICAgLmJ0bi0tZGVsZXRlIHtcblxuICAgIH1cblxufSIsIiNwcm9kdWN0IHtcbiAgICBtYWluIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgfVxuXG4gICAgLnByb2R1Y3Qge1xuICAgICAgICAvKipcbiAgICAgICAgICogVGh1bWIgJiBHYWxsZXJ5XG4gICAgICAgICAqL1xuXG4gICAgICAgICZfX3RodW1iIHtcbiAgICAgICAgICAgIHBvc2l0aW9uIDogcmVsYXRpdmU7XG4gICAgICAgICAgICB6LWluZGV4IDogMjA7XG5cbiAgICAgICAgICAgIHdpZHRoIDogMTAwJTtcbiAgICAgICAgICAgIG1heC13aWR0aDogODAwcHg7XG4gICAgICAgICAgICBtYXJnaW4gOiAwIGF1dG87XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tIDogZ3V0dGVyKCk7XG4gICAgICAgICAgICBwYWRkaW5nIDogMDtcblxuICAgICAgICAgICAgZmlnY2FwdGlvbiB7XG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgaGlkZS10ZXh0KCk7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6ICN7JHRhYmxldH0gKSB7XG4gICAgICAgICAgICAgICAgd2lkdGggOiBzcGFuKDYpO1xuICAgICAgICAgICAgICAgIG1hcmdpbi1yaWdodCA6IGd1dHRlcigpO1xuICAgICAgICAgICAgICAgIG1hcmdpbi1ib3R0b20gOiAwO1xuXG4gICAgICAgICAgICAgICAgZmxleCA6IDAgMCBhdXRvO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgJl9fZGV0YWlscyB7XG4gICAgICAgICAgICBAaW5jbHVkZSBjbGVhcmZpeCgpO1xuXG4gICAgICAgICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAjeyR0YWJsZXR9ICkge1xuICAgICAgICAgICAgICAgIGZsZXggOiAxO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAmLm5vLWNvbnRlbnQge1xuICAgICAgICAgICAgICAgIG1hcmdpbi10b3AgOiA5MHB4O1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAuc3VidGl0bGUge1xuICAgICAgICAgICAgICAgIG1hcmdpbi10b3A6IDA7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAmX19jb250ZW50IHtcbiAgICAgICAgICAgIHBhZGRpbmctYm90dG9tIDogNDBweDtcbiAgICAgICAgfVxuXG4gICAgICAgICZfX2ZlYXR1cmVkIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIG1haW50YWluLWFzcGVjdC1yYXRpbygzLCAyKTtcblxuICAgICAgICAgICAgJjo6YmVmb3JlIHtcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yIDogZGFya2VuKCRjb2xvcl9fbmV1dHJhbC0tbGlnaHQsIDUpO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBmaWd1cmUge1xuICAgICAgICAgICAgICAgIHBvc2l0aW9uIDogYWJzb2x1dGU7XG4gICAgICAgICAgICAgICAgdG9wIDogMDtcbiAgICAgICAgICAgICAgICBsZWZ0IDogMDtcblxuICAgICAgICAgICAgICAgIGRpc3BsYXkgOiBibG9jaztcblxuICAgICAgICAgICAgICAgIHdpZHRoIDogMTAwJTtcbiAgICAgICAgICAgICAgICBoZWlnaHQgOiAxMDAlO1xuICAgICAgICAgICAgICAgIG1hcmdpbiA6IDA7XG4gICAgICAgICAgICAgICAgcGFkZGluZyA6IDA7XG5cbiAgICAgICAgICAgICAgICBvcGFjaXR5IDogMDtcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLXJlcGVhdCA6IG5vLXJlcGVhdDtcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uIDogY2VudGVyO1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQtc2l6ZSA6IGNvdmVyO1xuXG4gICAgICAgICAgICAgICAgYSB7XG4gICAgICAgICAgICAgICAgICAgIHBvc2l0aW9uIDogYWJzb2x1dGU7XG4gICAgICAgICAgICAgICAgICAgIHRvcCA6IDA7XG4gICAgICAgICAgICAgICAgICAgIGxlZnQgOiAwO1xuXG4gICAgICAgICAgICAgICAgICAgIHdpZHRoIDogMTAwJTtcbiAgICAgICAgICAgICAgICAgICAgaGVpZ2h0IDogMTAwJTtcblxuICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLXJlcGVhdCA6IG5vLXJlcGVhdDtcbiAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbiA6IGNlbnRlcjtcbiAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZC1zaXplIDogYXV0byAxMDAlO1xuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgIGltZyB7XG4gICAgICAgICAgICAgICAgICAgIHBvc2l0aW9uIDogYWJzb2x1dGU7XG4gICAgICAgICAgICAgICAgICAgIHRvcCA6IDUwJTtcbiAgICAgICAgICAgICAgICAgICAgbGVmdCA6IDA7XG5cbiAgICAgICAgICAgICAgICAgICAgZGlzcGxheSA6IGJsb2NrO1xuICAgICAgICAgICAgICAgICAgICBkaXNwbGF5IDogbm9uZTtcblxuICAgICAgICAgICAgICAgICAgICB3aWR0aCA6IDEwMCU7XG4gICAgICAgICAgICAgICAgICAgIGhlaWdodCA6IGF1dG87XG5cbiAgICAgICAgICAgICAgICAgICAgdHJhbnNmb3JtIDogdHJhbnNsYXRlM2QoMCwgLTUwJSwgMCk7XG5cbiAgICAgICAgICAgICAgICAgICAgb3BhY2l0eSA6IDA7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogSW5mb3JtYXRpb25zXG4gICAgICovXG5cbiAgICAucHJvZHVjdF9fY29udGFpbmVyIHtcbiAgICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogI3skdGFibGV0fSApIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBEZXRhaWxzIGJsb2NcbiAgICAgKi9cblxuICAgIC5kZXRhaWxzIHtcbiAgICAgICAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAjeyR0YWJsZXR9ICkge1xuICAgICAgICAgICAgZGlzcGxheSA6IGZsZXg7XG5cbiAgICAgICAgICAgIGZsZXgtd3JhcCA6IHdyYXA7XG4gICAgICAgIH1cblxuICAgICAgICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6ICN7JG1vYmlsZX0gKSB7XG4gICAgICAgICAgICBkaXNwbGF5IDogYmxvY2s7XG4gICAgICAgIH1cbiAgICB9XG4gICAgXG59XG4iLCIuZXJyb3I0MDQge1xuXG4gICAgJi5kYXNoYm9hcmQgI2NvbnRhaW5lciAuY29udGVudCB7XG4gICAgICAgIHBvc2l0aW9uOiBzdGF0aWM7XG4gICAgICAgIGZsb2F0OiBub25lO1xuICAgIH1cblxuICAgIC5mb290ZXIsIC5oZWFkZXIge1xuICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgIH1cblxuICAgIC5lcnJvcjQwNF9fZ3JvdXAge1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHRvcDogNTAlO1xuICAgICAgICBsZWZ0OiA1MCU7XG4gICAgICAgIEBpbmNsdWRlIHRyYW5zbGF0ZSggLTUwJSwgLTUwJSApO1xuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgfVxuICAgIFxuICAgIC5tYWluVGl0bGVfX2ZpcnN0IHtcbiAgICAgICAgZm9udC1mYW1pbHk6ICR0ZXh0X19mYW1pbHktc2FucztcbiAgICAgICAgY29sb3I6ICRjb2xvcl9fc2Vjb25kYXJ5O1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHRvcDogLTFlbTtcbiAgICAgICAgbGVmdDogMS41ZW07XG4gICAgICAgIGZvbnQtc2l6ZTogMS41ZW07XG4gICAgfVxuXG4gICAgLm1haW5UaXRsZV9fc2Vjb25kIHtcbiAgICAgICAgZm9udC1mYW1pbHk6ICR0ZXh0X19mYW1pbHktc2FucztcbiAgICAgICAgZm9udC1zaXplOiAxMmVtO1xuICAgICAgICBmb250LXdlaWdodDogYm9sZDtcbiAgICAgICAgY29sb3I6ICRjb2xvcl9fcHJpbWFyeTtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDE7XG4gICAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICBzcGFuIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5lcnJvcjQwNF9fbGluayB7XG4gICAgICAgIGZvbnQtc2l6ZTogMS4yZW07XG4gICAgfVxufSJdfQ== */
