/*!***********************************************************************************************************************************************************************************************************************************************************************************************************!*\
  !*** css ./node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[4].oneOf[1].use[1]!./node_modules/resolve-url-loader/index.js??ruleSet[1].rules[4].oneOf[1].use[2]!./node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[4].oneOf[1].use[3]!./vendor/sylius/mollie-plugin/assets/shop/scss/main.scss ***!
  \***********************************************************************************************************************************************************************************************************************************************************************************************************/
.form-fields {
  display: grid;
  grid-template-columns: 1fr;
  grid-gap: 20px;
}

.mollie-hidden {
  display: none;
}

.display-grid {
  display: grid;
}

.label {
  display: inline-block;
  margin-bottom: 8px;
  font-weight: 600;
}

.form-error,
.field-error {
  margin-top: 8px;
  margin-bottom: 0;
  color: #f00;
  font-size: 13px;
  font-weight: 500;
}

.mollie-component {
  width: 100%;
  padding: 10px 15px;
  color: #222;
  border: 2px solid transparent;
  border-radius: 6px;
  background-color: #fff;
  box-shadow: 0px 1px 1px 0px rgba(0, 0, 0, 0.1), 0px 1px 3px 0px rgba(0, 0, 0, 0.1), 0px 0px 0px 1px rgba(0, 0, 0, 0.05);
  transition: all 0.05s ease;
}

.mollie-component.has-focus {
  border-color: #07f;
  box-shadow: 0px 1px 1px 0px rgba(0, 0, 0, 0.1), 0px 2px 6px 0px rgba(0, 0, 0, 0.1), 0px 0px 0px 1px rgba(0, 0, 0, 0.05);
}

.mollie-component.is-invalid {
  border-color: #f00;
  background-color: #fff0f0;
}

@media (min-width: 350px) {
  .form-fields {
    grid-template-columns: 1fr 1fr;
  }
  .form-group--card-number,
  .form-group--card-name,
  .form-group--save-credit-card,
  .form-group--form-error {
    grid-column: span 2;
  }
}
.online-payment__input {
  display: none;
}

.online-payment__label {
  display: flex !important;
  flex-direction: row;
  align-items: center;
  border: 1px solid #dedede;
  padding: 1rem !important;
  border-radius: 5px;
  cursor: pointer;
  font-weight: bold;
  gap: 10px;
}

.online-payment__item {
  min-width: 25%;
  box-sizing: border-box;
  padding: 1rem;
}

.online-payment__input:checked ~ .online-payment__label {
  border-color: #22B99A;
  box-shadow: 0 0 0 2px #22B99A inset;
}

.online-payment__image {
  width: 50px;
}

.online-payment__credit-card {
  display: none;
}

.online-payment__item--active.online-payment__item--creditcard {
  width: 100%;
}

.online-payment__item--active .online-payment__credit-card {
  display: flex;
  flex-wrap: wrap;
}

.online-online-payment__container {
  margin-top: 0 !important;
  margin-bottom: 0 !important;
}

.online-payment__credit-card {
  padding: 1rem;
  border-bottom: 1px solid #d9d9da;
}

#applepay {
  display: none;
}

#mollie_applepay_button {
  display: none;
}

@supports (-webkit-appearance: -apple-pay-button) {
  .apple-pay-button-with-text {
    width: 100%;
    padding: 19px;
    cursor: pointer;
    display: inline-block;
    -webkit-appearance: -apple-pay-button;
    -apple-pay-button-type: buy;
  }
  .apple-pay-button-with-text > * {
    display: none;
  }
}
@supports not (-webkit-appearance: -apple-pay-button) {
  .apple-pay-button-with-text {
    --apple-pay-scale: 1; /* (height / 32) */
    display: inline-flex;
    justify-content: center;
    font-size: 12px;
    border-radius: 5px;
    padding: 0px;
    box-sizing: border-box;
    min-width: 200px;
    min-height: 32px;
    max-height: 64px;
  }
  .apple-pay-button-with-text.apple-pay-button-black-with-text > .logo {
    background-image: -webkit-named-image(apple-pay-logo-white);
    background-color: black;
  }
  .apple-pay-button-with-text.apple-pay-button-white-with-text > .logo {
    background-image: -webkit-named-image(apple-pay-logo-black);
    background-color: white;
  }
  .apple-pay-button-with-text.apple-pay-button-white-with-line-with-text > .logo {
    background-image: -webkit-named-image(apple-pay-logo-black);
    background-color: white;
  }
  .apple-pay-button-with-text > .text {
    font-family: -apple-system;
    font-size: calc(1em * var(--apple-pay-scale));
    font-weight: 300;
    align-self: center;
    margin-right: calc(2px * var(--apple-pay-scale));
  }
  .apple-pay-button-with-text > .logo {
    width: calc(35px * var(--scale));
    height: 100%;
    background-size: 100% 60%;
    background-repeat: no-repeat;
    background-position: 0 50%;
    margin-left: calc(2px * var(--apple-pay-scale));
    border: none;
  }
}
.draggable {
  position: relative;
}

.mollie-every-label-container span.ui.label {
  margin: 0.5rem 0 0 0.5rem;
}

/* Popup container */
.popup-container {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: rgba(0, 0, 0, 0.5); /* Semi-transparent background */
  display: flex;
  justify-content: center;
  align-items: center;
  z-index: 9999; /* Ensure it's above other content */
}

/* Popup */
.popup {
  background-color: #ffffff;
  padding: 20px;
  border-radius: 5px;
  box-shadow: 0 0 10px rgba(0, 0, 0, 0.3);
}

/* Popup header */
.popup-header {
  text-align: left;
  margin-bottom: 10px;
}

.popup-header h2 {
  margin: 0;
}

.popup-header hr {
  margin: 5px 0;
  border: none;
  border-top: 1px solid #cccccc;
}

/* Popup content */
.popup-content {
  text-align: center;
  margin-bottom: 20px;
}

.popup-content img {
  display: block;
  margin: 0 auto;
}

/* Popup buttons */
.popup-buttons {
  text-align: center;
  display: flex;
  flex-direction: column;
  align-items: center;
}

.popup-buttons button {
  margin: 5px;
  padding: 10px 20px;
  border: 1px solid #cccccc;
  border-radius: 5px;
  background-color: #ffffff;
  cursor: pointer;
}

.popup-buttons button:hover {
  background-color: #f0f0f0;
}

/* Styling for cancel button */
.popup-buttons #cancel-button {
  border: none;
}
/*!************************************************************************************************************************************************!*\
  !*** css ./node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[1].oneOf[1].use[1]!./node_modules/tom-select/dist/css/tom-select.default.css ***!
  \************************************************************************************************************************************************/
/**
 * tom-select.css (v2.6.1)
 * Copyright (c) contributors
 *
 * Licensed under the Apache License, Version 2.0 (the "License"); you may not use this
 * file except in compliance with the License. You may obtain a copy of the License at:
 * http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing, software distributed under
 * the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF
 * ANY KIND, either express or implied. See the License for the specific language
 * governing permissions and limitations under the License.
 *
 */
.ts-control {
  border: 1px solid #d0d0d0;
  padding: 8px 8px;
  width: 100%;
  overflow: hidden;
  position: relative;
  z-index: 1;
  box-sizing: border-box;
  box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.1);
  border-radius: 3px;
  display: flex;
  flex-wrap: wrap;
}
.ts-wrapper.multi.has-items .ts-control {
  padding: calc(8px - 2px - 1px) 8px calc(8px - 2px - 3px - 1px);
}
.full .ts-control {
  background-color: #fff;
}
.disabled .ts-control, .disabled .ts-control * {
  cursor: default !important;
}
.focus .ts-control {
  box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.15);
}
.ts-control > * {
  vertical-align: baseline;
  display: inline-block;
}
.ts-wrapper.multi .ts-control > div {
  cursor: pointer;
  margin: 0 3px 3px 0;
  padding: 2px 6px;
  background: #1da7ee;
  color: #fff;
  border: 1px solid #0073bb;
  overflow: auto;
}
.ts-wrapper.multi .ts-control > div.active {
  background: #92c836;
  color: #fff;
  border: 1px solid #00578d;
}
.ts-wrapper.multi.disabled .ts-control > div, .ts-wrapper.multi.disabled .ts-control > div.active {
  color: hsl(0, 0%, 130%);
  background: #d2d2d2;
  border: 1px solid #aaaaaa;
}
.ts-control > input {
  flex: 1 1 auto;
  min-width: 7rem;
  display: inline-block !important;
  padding: 0 !important;
  min-height: 0 !important;
  max-height: none !important;
  max-width: 100% !important;
  margin: 0 !important;
  text-indent: 0 !important;
  border: 0 none !important;
  background: none !important;
  line-height: inherit !important;
  -webkit-user-select: auto !important;
     -moz-user-select: auto !important;
      -ms-user-select: auto !important;
          user-select: auto !important;
  box-shadow: none !important;
}
.ts-control > input::-ms-clear {
  display: none;
}
.ts-control > input:focus {
  outline: none !important;
}
.has-items .ts-control > input {
  margin: 0px 4px !important;
}
.ts-control.rtl {
  text-align: right;
}
.ts-control.rtl.single .ts-control:after {
  left: 15px;
  right: auto;
}
.ts-control.rtl .ts-control > input {
  margin: 0px 4px 0px -2px !important;
}
.disabled .ts-control {
  opacity: 0.5;
  background-color: #fafafa;
}
.input-hidden .ts-control > input {
  opacity: 0;
  position: absolute;
  left: -10000px;
}

.ts-dropdown {
  position: absolute;
  top: 100%;
  left: 0;
  width: 100%;
  z-index: 10;
  border: 1px solid #d0d0d0;
  background: #fff;
  margin: 0.25rem 0 0;
  border-top: 0 none;
  box-sizing: border-box;
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.1);
  border-radius: 0 0 3px 3px;
}
.ts-dropdown [data-selectable] {
  cursor: pointer;
  overflow: hidden;
}
.ts-dropdown [data-selectable] .highlight {
  background: rgba(125, 168, 208, 0.2);
  border-radius: 1px;
}
.ts-dropdown .option,
.ts-dropdown .optgroup-header,
.ts-dropdown .no-results,
.ts-dropdown .create {
  padding: 5px 8px;
}
.ts-dropdown .option, .ts-dropdown [data-disabled], .ts-dropdown [data-disabled] [data-selectable].option {
  cursor: inherit;
  opacity: 0.5;
}
.ts-dropdown [data-selectable].option {
  opacity: 1;
  cursor: pointer;
}
.ts-dropdown .optgroup:first-child .optgroup-header {
  border-top: 0 none;
}
.ts-dropdown .optgroup-header {
  color: #303030;
  background: #fff;
  cursor: default;
}
.ts-dropdown .active {
  background-color: #f5fafd;
  color: #495c68;
}
.ts-dropdown .active.create {
  color: #495c68;
}
.ts-dropdown .create {
  color: rgba(48, 48, 48, 0.5);
}
.ts-dropdown .spinner {
  display: inline-block;
  width: 30px;
  height: 30px;
  margin: 5px 8px;
}
.ts-dropdown .spinner::after {
  content: " ";
  display: block;
  width: 24px;
  height: 24px;
  margin: 3px;
  border-radius: 50%;
  border: 5px solid #d0d0d0;
  border-color: #d0d0d0 transparent #d0d0d0 transparent;
  animation: lds-dual-ring 1.2s linear infinite;
}
@keyframes lds-dual-ring {
  0% {
    transform: rotate(0deg);
  }
  100% {
    transform: rotate(360deg);
  }
}

.ts-dropdown-content {
  overflow: hidden auto;
  max-height: 200px;
  scroll-behavior: smooth;
}

.ts-wrapper.plugin-drag_drop .ts-dragging {
  color: transparent !important;
}
.ts-wrapper.plugin-drag_drop .ts-dragging > * {
  visibility: hidden !important;
}

.plugin-checkbox_options:not(.rtl) .option input {
  margin-right: 0.5rem;
}

.plugin-checkbox_options.rtl .option input {
  margin-left: 0.5rem;
}

/* stylelint-disable function-name-case */
.plugin-clear_button {
  --ts-pr-clear-button: 1em;
}
.plugin-clear_button .clear-button {
  opacity: 0;
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  right: calc(8px - 6px);
  margin-right: 0 !important;
  background: transparent !important;
  transition: opacity 0.5s;
  cursor: pointer;
}
.plugin-clear_button.form-select .clear-button, .plugin-clear_button.single .clear-button {
  right: max(var(--ts-pr-caret), 8px);
}
.plugin-clear_button.focus.has-items .clear-button, .plugin-clear_button:not(.disabled):hover.has-items .clear-button {
  opacity: 1;
}

.ts-wrapper .dropdown-header {
  position: relative;
  padding: 10px 8px;
  border-bottom: 1px solid #d0d0d0;
  background: color-mix(#fff, #d0d0d0, 85%);
  border-radius: 3px 3px 0 0;
}
.ts-wrapper .dropdown-header-close {
  position: absolute;
  right: 8px;
  top: 50%;
  color: #303030;
  opacity: 0.4;
  margin-top: -12px;
  line-height: 20px;
  font-size: 20px !important;
}
.ts-wrapper .dropdown-header-close:hover {
  color: hsl(0, 0%, -6.1764705882%);
}

.plugin-dropdown_input.focus.dropdown-active .ts-control {
  box-shadow: none;
  border: 1px solid #d0d0d0;
}
.plugin-dropdown_input .dropdown-input {
  border: 1px solid #d0d0d0;
  border-width: 0 0 1px;
  display: block;
  padding: 8px 8px;
  box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.1);
  width: 100%;
  background: transparent;
}
.plugin-dropdown_input .items-placeholder {
  border: 0 none !important;
  box-shadow: none !important;
  width: 100%;
}
.plugin-dropdown_input.has-items .items-placeholder, .plugin-dropdown_input.dropdown-active .items-placeholder {
  display: none !important;
}

.ts-wrapper.plugin-input_autogrow.has-items .ts-control > input {
  min-width: 0;
}
.ts-wrapper.plugin-input_autogrow.has-items.focus .ts-control > input {
  flex: none;
  min-width: 4px;
}
.ts-wrapper.plugin-input_autogrow.has-items.focus .ts-control > input::-ms-input-placeholder {
  color: transparent;
}
.ts-wrapper.plugin-input_autogrow.has-items.focus .ts-control > input::placeholder {
  color: transparent;
}

.ts-dropdown.plugin-optgroup_columns .ts-dropdown-content {
  display: flex;
}
.ts-dropdown.plugin-optgroup_columns .optgroup {
  border-right: 1px solid #f2f2f2;
  border-top: 0 none;
  flex-grow: 1;
  flex-basis: 0;
  min-width: 0;
}
.ts-dropdown.plugin-optgroup_columns .optgroup:last-child {
  border-right: 0 none;
}
.ts-dropdown.plugin-optgroup_columns .optgroup::before {
  display: none;
}
.ts-dropdown.plugin-optgroup_columns .optgroup-header {
  border-top: 0 none;
}

.ts-wrapper.plugin-remove_button .item {
  display: inline-flex;
  align-items: center;
}
.ts-wrapper.plugin-remove_button .item .remove {
  color: inherit;
  text-decoration: none;
  vertical-align: middle;
  display: inline-block;
  padding: 0 6px;
  border-radius: 0 2px 2px 0;
  box-sizing: border-box;
}
.ts-wrapper.plugin-remove_button .item .remove:hover {
  background: rgba(0, 0, 0, 0.05);
}
.ts-wrapper.plugin-remove_button.disabled .item .remove:hover {
  background: none;
}
.ts-wrapper.plugin-remove_button .remove-single {
  position: absolute;
  right: 0;
  top: 0;
  font-size: 23px;
}

.ts-wrapper.plugin-remove_button:not(.rtl) .item {
  padding-right: 0 !important;
}
.ts-wrapper.plugin-remove_button:not(.rtl) .item .remove {
  border-left: 1px solid #0073bb;
  margin-left: 6px;
}
.ts-wrapper.plugin-remove_button:not(.rtl) .item.active .remove {
  border-left-color: #00578d;
}
.ts-wrapper.plugin-remove_button:not(.rtl).disabled .item .remove {
  border-left-color: #aaaaaa;
}

.ts-wrapper.plugin-remove_button.rtl .item {
  padding-left: 0 !important;
}
.ts-wrapper.plugin-remove_button.rtl .item .remove {
  border-right: 1px solid #0073bb;
  margin-right: 6px;
}
.ts-wrapper.plugin-remove_button.rtl .item.active .remove {
  border-right-color: #00578d;
}
.ts-wrapper.plugin-remove_button.rtl.disabled .item .remove {
  border-right-color: #aaaaaa;
}

:root {
  --ts-pr-clear-button: 0px;
  --ts-pr-caret: 0px;
  --ts-pr-min: .75rem;
}

.ts-wrapper.single .ts-control, .ts-wrapper.single .ts-control input {
  cursor: pointer;
}

.ts-control:not(.rtl) {
  padding-right: max(var(--ts-pr-min), var(--ts-pr-clear-button) + var(--ts-pr-caret)) !important;
}

.ts-control.rtl {
  padding-left: max(var(--ts-pr-min), var(--ts-pr-clear-button) + var(--ts-pr-caret)) !important;
}

.ts-wrapper {
  position: relative;
}

.ts-dropdown,
.ts-control,
.ts-control input {
  color: #303030;
  font-family: inherit;
  font-size: 13px;
  line-height: 18px;
}

.ts-control,
.ts-wrapper.single.input-active .ts-control {
  background: #fff;
  cursor: text;
}

.ts-hidden-accessible {
  border: 0 !important;
  clip: rect(0 0 0 0) !important;
  -webkit-clip-path: inset(50%) !important;
          clip-path: inset(50%) !important;
  overflow: hidden !important;
  padding: 0 !important;
  position: absolute !important;
  width: 1px !important;
  white-space: nowrap !important;
}

.ts-wrapper.single .ts-control {
  --ts-pr-caret: 2rem;
}
.ts-wrapper.single .ts-control::after {
  content: " ";
  display: block;
  position: absolute;
  top: 50%;
  margin-top: -3px;
  width: 0;
  height: 0;
  border-style: solid;
  border-width: 5px 5px 0 5px;
  border-color: #808080 transparent transparent transparent;
}
.ts-wrapper.single .ts-control:not(.rtl)::after {
  right: 15px;
}
.ts-wrapper.single .ts-control.rtl::after {
  left: 15px;
}
.ts-wrapper.single.dropdown-active .ts-control::after {
  margin-top: -4px;
  border-width: 0 5px 5px 5px;
  border-color: transparent transparent #808080 transparent;
}
.ts-wrapper.single.input-active .ts-control, .ts-wrapper.single.input-active .ts-control input {
  cursor: text;
}

.ts-wrapper {
  display: flex;
  min-height: 36px;
}
.ts-wrapper.multi.has-items .ts-control {
  padding-left: 5px;
  --ts-pr-min: 5px;
}
.ts-wrapper.multi .ts-control [data-value] {
  text-shadow: 0 1px 0 rgba(0, 51, 83, 0.3);
  border-radius: 3px;
  background-color: color-mix(#1da7ee, #178ee9, 60%);
  background-image: linear-gradient(to bottom, #1da7ee, #178ee9);
  background-repeat: repeat-x;
  box-shadow: 0 1px 0 rgba(0, 0, 0, 0.2), inset 0 1px rgba(255, 255, 255, 0.03);
}
.ts-wrapper.multi .ts-control [data-value].active {
  background-color: color-mix(#008fd8, #0075cf, 60%);
  background-image: linear-gradient(to bottom, #008fd8, #0075cf);
  background-repeat: repeat-x;
}
.ts-wrapper.multi.disabled .ts-control [data-value] {
  color: #999;
  text-shadow: none;
  background: none;
  box-shadow: none;
}
.ts-wrapper.multi.disabled .ts-control [data-value], .ts-wrapper.multi.disabled .ts-control [data-value] .remove {
  border-color: #e6e6e6;
}
.ts-wrapper.multi.disabled .ts-control [data-value] .remove {
  background: none;
}
.ts-wrapper.single .ts-control {
  box-shadow: 0 1px 0 rgba(0, 0, 0, 0.05), inset 0 1px 0 rgba(255, 255, 255, 0.8);
  background-color: color-mix(#fefefe, #f2f2f2, 60%);
  background-image: linear-gradient(to bottom, #fefefe, #f2f2f2);
  background-repeat: repeat-x;
}

.ts-wrapper.single .ts-control, .ts-dropdown.single {
  border-color: #b8b8b8;
}

.dropdown-active .ts-control {
  border-radius: 3px 3px 0 0;
}

.ts-dropdown .optgroup-header {
  padding-top: 7px;
  font-weight: bold;
  font-size: 0.85em;
}
.ts-dropdown .optgroup {
  border-top: 1px solid #f0f0f0;
}
.ts-dropdown .optgroup:first-child {
  border-top: 0 none;
}
/*# sourceMappingURL=tom-select.default.css.map */
/*!**************************************************************************************************************************************************!*\
  !*** css ./node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[1].oneOf[1].use[1]!./node_modules/@symfony/ux-live-component/dist/live.min.css ***!
  \**************************************************************************************************************************************************/
[data-loading=""],[data-loading=show],[data-loading*=\|show]{display:none}
/*!*****************************************************************************************************************!*\
  !*** css ./node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[1].oneOf[1].use[1]!./assets/shop/css/rylo.css ***!
  \*****************************************************************************************************************/
:root {
    /* Dark theme palette from colors_are_nice.html */
    --rylo-cyan: #00B8D4;
    --rylo-green: #00C853;
    --rylo-grad: linear-gradient(135deg, var(--rylo-cyan), var(--rylo-green));
    --dark: #0a1120;
    --darker: #05080f;
    --white: #ffffff;
    --gray-bg: #121a2a;
    --gray-pane: #1a2538;
    --text-body: #c5d1e6;
    --text-light: #94a3b8;
    --transition: all 0.5s cubic-bezier(0.16, 1, 0.3, 1);
    --card-bg: #152035;
    --border: #233047;
    --rylo-accent: #00B8D4;
    --rylo-green-muted: rgba(0, 200, 83, 0.35);
}

* {
    margin: 0;
    padding: 0;
    box-sizing: border-box;
    font-family: 'Inter', 'Segoe UI', Roboto, Helvetica, Arial, sans-serif;
}

body {
    background: var(--dark);
    color: var(--text-body);
    line-height: 1.6;
    overflow-x: hidden;
}

body h1, h2 {
    font-weight: 700;
}

.sylius-shop-loader {
    background-color: rgba(var(--bs-dark-rgb), 70%) !important;
}

.container {
    width: 90%;
    max-width: 1200px;
    margin: 0 auto;
    padding: 0 1%;
}

div.clear-float {
    clear: left;
}

/* --- Smart Header --- */
#headerSpacer {
    position: relative;
    height: 95px;
    width: 100%;
}

header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 5px 20px;
    position: absolute;
    width: 95%;
    max-width: 1400px;
    top: 10px;
    left: 50%;
    transform: translateX(-50%);
    background: rgba(10, 17, 32, 0.8);
    backdrop-filter: blur(12px);
    z-index: 1025;
    transition: var(--transition);
    border-radius: 16px;
    border: 1px solid var(--border);
}

header.docked {
    position: fixed;
    top: 0;
    border-radius: 0;
    width: 100%;
    max-width: 100%;
    left: 0;
    transform: none;
    border-bottom: 1px solid var(--border);
    background: var(--darker);
}

header.hidden {
    transform: translateX(-50%) translateY(-120%);
}

header.docked.hidden {
    transform: translateY(-120%);
}

.logo {
    display: flex;
    align-items: center;
    gap: 12px;
    font-size: 1.4rem;
    font-weight: 800;
    color: var(--white);
    text-decoration: none;
    letter-spacing: -0.5px;
}

.logo img {
    width: 120px;
    height: auto;
    object-fit: contain;
}

.footer-logo img {
    width: 150px;
    height: auto;
    object-fit: contain;
}

nav {
    display: flex;
    align-items: center;
}

nav ul {
    display: flex;
    list-style: none;
    gap: 25px;
    flex-wrap: wrap;
    justify-content: flex-end;
    margin-bottom: 0px; /* bootstrap css defines this as 1rem */
}

.mobile-menu-toggle {
    display: none;
    flex-direction: column;
    justify-content: space-between;
    width: 30px;
    height: 21px;
    background: transparent;
    border: none;
    cursor: pointer;
    padding: 0;
    z-index: 1100;
}

.mobile-menu-toggle span {
    width: 100%;
    height: 3px;
    background: var(--white);
    border-radius: 10px;
    transition: var(--transition);
}

nav a {
    color: var(--text-light);
    text-decoration: none;
    font-weight: 500;
    font-size: 0.9rem;
    transition: var(--transition);
    padding: 8px 12px;
    border-radius: 6px;
}

nav a:hover {
    color: var(--rylo-cyan);
    background: rgba(0, 184, 212, 0.1);
}


/* --- Common Components --- */
.btn {
    display: inline-block;
    padding: 12px 18px;
    background: var(--rylo-grad);
    color: var(--white);
    text-decoration: none;
    border-radius: 30px;
    font-weight: 600;
    transition: var(--transition);
    border: none;
    cursor: pointer;
    font-size: 1rem;
    box-shadow: 0 4px 15px rgba(0, 184, 212, 0.3);
}

.btn:hover {
    transform: translateY(-3px);
    box-shadow: 0 6px 20px rgba(0, 184, 212, 0.4);
}

.btn-outline {
    background: transparent;
    border: 2px solid var(--rylo-cyan);
}

.btn-outline:hover {
    background: rgba(0, 184, 212, 0.1);
}

.result-pill {
    display: inline-block;
    padding: 6px 16px;
    border-radius: 20px;
    font-weight: 500;
    font-size: 0.9rem;
    margin-top: 15px;
    transition: var(--transition);
}
.pill-success {
    background: #004d2a;
    color: var(--rylo-green);
    border: 1px solid var(--rylo-green);
}
.pill-error {
    background: #4d0000;
    color: #ff4444;
    border: 1px solid #ff4444;
}

/* House Animation Layout & Elements */
.how-it-works-container {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 60px;
    align-items: center;
    margin-top: 50px;
}

.how-it-works-text {
    display: flex;
    flex-direction: column;
    gap: 30px;
}

.step-item {
    display: flex;
    flex-wrap: wrap;
    gap: 20px;
    align-items: center;
    margin-bottom: 30px;
}

.step-num {
    flex-shrink: 0;
    width: 40px;
    height: 40px;
    background: var(--rylo-grad);
    color: white;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    font-weight: 800;
    font-size: 1.1rem;
}

.step-heading {
    color: var(--white);
    font-size: 1.2rem;
    margin: 0;
    width: 150px;
    flex-shrink: 0;
}

.step-content {
    flex: 1 1 300px;
    min-width: 0;
}

.step-content p {
    color: var(--text-body);
    font-size: 1.1rem;
    margin: 0;
}

/* --- Modern Specs Table Styles --- */
.specs-modern-container {
    display: flex;
    flex-direction: column;
    gap: 0;
    border: 1px solid var(--border);
    border-radius: 16px;
    overflow: hidden;
    background: var(--card-bg);
}
.spec-group {
    display: flex;
    border-bottom: 1px solid var(--border);
}
.spec-group:last-child {
    border-bottom: none;
}
.spec-category {
    flex: 0 0 160px;
    background: rgba(0, 200, 83, 0.1);
    color: var(--rylo-green);
    font-weight: 800;
    text-transform: uppercase;
    font-size: 0.8rem;
    display: flex;
    align-items: center;
    justify-content: center;
    text-align: center;
    padding: 20px;
    border-right: 1px solid var(--border);
    line-height: 1.2;
}
.spec-details {
    flex: 1;
    display: flex;
    flex-direction: column;
}
.spec-item {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 12px 20px;
    border-bottom: 1px solid rgba(35, 52, 71, 0.4);
    transition: background 0.2s ease;
}
.spec-item:last-child {
    border-bottom: none;
}
.spec-item:hover {
    background: rgba(255, 255, 255, 0.02);
}
.spec-param-name {
    color: var(--white);
    font-weight: 500;
    font-size: 0.95rem;
    margin-right: 20px;
}
.spec-param-value {
    color: var(--text-body);
    font-size: 0.95rem;
    text-align: right;
    flex-shrink: 0;
}

@media (max-width: 600px) {
    .spec-group {
        flex-direction: column;
    }
    .spec-category {
        flex: none;
        width: 100%;
        border-right: none;
        border-bottom: 1px solid var(--border);
        padding: 10px;
    }
    .spec-item {
        flex-direction: column;
        align-items: flex-start;
        gap: 4px;
    }
    .spec-param-value {
        text-align: left;
        width: 100%;
    }
}

/* Specs-specific adjustments to reuse step-item style */
.specs-container .step-num {
    width: auto;
    height: auto;
    padding: 6px 12 lapx;
    border-radius: 20px;
    font-size: 0.75rem;
    white-space: nowrap;
    text-transform: uppercase;
    letter-spacing: 0.5px;
}
.specs-container .step-heading {
    width: auto;
    flex: 0 0 auto;
}
.specs-container .step-content {
    flex: 1;
}
.spec-group-header {
    text-align: center;
    color: var(--rylo-cyan);
    font-weight: bold;
    text-transform: uppercase;
    font-size: 0.85rem;
    letter-spacing: 1.5px;
    margin: 40px 0 20px;
    position: relative;
}
.spec-group-header::after {
    content: '';
    position: absolute;
    bottom: -10px;
    left: 50%;
    transform: translateX(-50%);
    width: 40px;
    height: 2px;
    background: var(--rylo-cyan);
    opacity: 0.5;
}

.house-container {
    position: relative;
    width: 500px;
    height: auto;
    display: flex;
    flex-direction: column;
    align-items: center;
    margin: 0 auto;
    box-sizing: content-box;
}

.roof {
    box-sizing: content-box;
    width: 500px;
    height: 100px;
    background: var(--border);
    background-image: repeating-linear-gradient(0deg, transparent, transparent 12px, rgba(0,0,0,0.3) 12px, rgba(0,0,0,0.3) 15px);
    clip-path: polygon(50% 0%, 0% 100%, 100% 100%);
    position: relative;
    z-index: 3;
    filter: drop-shadow(0 2px 2px rgba(0,0,0,0.5));
}

.roof-gutter {
    box-sizing: content-box;
    width: 504px;
    height: 8px;
    background: #1a2538;
    border: 1px solid #0a1120;
    position: relative;
    z-index: 2;
    margin-top: -4px;
    border-radius: 0 0 4px 4px;
    box-shadow: 0 2px 4px rgba(0,0,0,0.3);
}

.house-pill {
    background: var(--gray-pane);
    border: 1px solid var(--border);
    border-radius: 50px;
    padding: 15px 30px;
    margin-top: 20px;
    text-align: center;
    color: var(--white);
    font-family: 'Inter', sans-serif;
    box-shadow: 0 4px 15px rgba(0,0,0,0.2);
}
.pill-slogan {
    font-size: 1.1rem;
    font-weight: 600;
    letter-spacing: 1px;
    text-transform: uppercase;
    line-height: 1.2;
}
.pill-sub-slogan {
    font-size: 0.8rem;
    font-weight: 400;
    text-transform: none;
    margin-top: 8px;
    opacity: 0.8;
    letter-spacing: 0;
    line-height: 1.4;
}

.house-body {
    box-sizing: content-box;
    width: 500px;
    height: 450px;
    background: var(--gray-pane);
    border: 4px solid var(--border);
    border-top: none;
    position: relative;
    z-index: 1;
}

.asset {
    position: absolute;
    display: flex;
    flex-direction: column;
    align-items: center;
    transition: all 0.3s ease;
    z-index: 2;
}

.asset-label {
    font-size: 0.9em;
    color: var(--text-light);
    text-transform: uppercase;
    margin-bottom: 4px;
    text-align: center;
}

.person svg {
    width: 80%;
    height: auto;
    fill: var(--rylo-cyan);
}

.sensor-asset { 
    width: 40%;
    top: 15%;
    left: 2%;
}
.sensor-product-container {
    position: relative;
    height: auto;
    min-height: 140px;
    z-index: 2;
}
.sensor-image {
    width: 38%;
    height: auto;
    object-fit: contain;
    z-index: 1;
}

.sensor-light-dot {
    position: absolute;
    width: 6px;
    height: 6px;
    border-radius: 50%;
    top: 17%;
    left: 25%;
    background: var(--rylo-green);
    box-shadow: 0 0 8px var(--rylo-green);
    transition: all 0.3s ease;
    z-index: 10;
}

.sensor-ppm-callout-line {
    position: absolute;
    top: 30%;
    left: 7%;
    width: 93%;
    height: 30%;
    pointer-events: none;
    z-index: 0;
}

.co2-display {
    position: absolute;
    bottom: 40%;
    right: 1%;
    background: var(--darker);
    border: 2px solid var(--rylo-cyan);
    width: 60px;
    height: 60px;
    border-radius: 8px;
    font-family: 'Courier New', Courier, monospace;
    color: var(--rylo-cyan);
    z-index: 10;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    box-shadow: inset 0 0 10px rgba(0, 184, 212, 0.2);
}
.co2-number {
    font-size: 1.4rem;
    font-weight: bold;
    line-height: 1;
    padding: 2px 0;
    margin: 2px 0;
}
.co2-unit {
    font-size: 0.8em;
    text-transform: uppercase;
    opacity: 0.8;
    margin-top: 2px;
}

.duty-cycle-asset {
    position: absolute;
    bottom: 0%;
    left: 2%;
    display: flex;
    flex-direction: column;
    align-items: center;
}
.duty-cycle-container {
    width: 120px;
    height: 24px;
    background: var(--darker);
    border: 1px solid var(--border);
    border-radius: 4px;
    position: relative;
    overflow: hidden;
    display: flex;
    flex-direction: row;
}
.duty-cycle-bar {
    height: 100%;
    background: var(--rylo-cyan);
    width: 0%;
    transition: width 0.3s ease;
}
.duty-cycle-text {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    font-size: 1em;
    color: var(--white);
    font-weight: bold;
    pointer-events: none;
    z-index: 11;
    text-shadow: 0 0 2px black;
    white-space: nowrap;
}

.vent-asset { 
    top: 7.5%;
    left: 46%;
    width: 18%
}

.fresh-air-svg {
}

.window-asset { 
    top: 20%;
    right: 6%;
    width: 18%;
}

.vent-open {
    transform: translateY(-10px) scale(1.2);
    filter: drop-shadow(0 0 5px var(--rylo-cyan));
}

.window-open {
    transform: translateY(-10px) scale(1.2);
    filter: drop-shadow(0 0 5px var(--rylo-cyan));
}

.people-group {
    position: absolute;
    bottom: 20%;
    left: 2%;
    right: 2%;
    display: flex;
    justify-content: center;
    gap: 1%;
    height: 75px;
}

.person {
    transition: all 0.5s ease;
    opacity: 0;
    display: flex;
    flex-direction: column;
    align-items: center;
    max-width: 16%;
}

.people-label {
    font-size: 0.8rem;
    color: var(--rylo-cyan);
    margin-bottom: 2px;
    font-family: monospace;
    opacity: 0;
    transition: all 0.5s ease;
    position: absolute;
    bottom: 100%;
    left: 50%;
    transform: translateX(-50%);
    white-space: nowrap;
}

.person-label {
    font-size: 0.8rem;
    transform: rotate(-25deg);


    /* Legacy vendor prefixes that you probably don't need... */

    /* Safari */
    -webkit-transform: rotate(-25deg);

    /* Firefox */
    -moz-transform: rotate(-25deg);

    /* IE */
    -ms-transform: rotate(-25deg);

    /* Opera */
    -o-transform: rotate(-25deg);

}

.person.present .person-label {
    opacity: 1;
}

.person.present {
    opacity: 1;
    transform: translateY(0);
}


.sensor-vent-line {
    position: absolute;
    top: 20%;
    left: 5%;
    width: 50%;
    height: 13%;
    pointer-events: none;
    z-index: 1;
    opacity: 0;
    transition: opacity 0.3s ease;
}

.callout-line {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    pointer-events: none;
    z-index: 2;
}

.sensor-vent-line.active {
    opacity: 1;
}

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

.vent-open #fan-blades {
    animation: rotate-fan 1s linear infinite;
}

.chart-container {
    position: absolute;
    bottom: 2%;
    left: 0;
    width: 100%;
    height: 20%;
    background: rgba(18, 26, 42, 0.8);
    border-top: 1px solid var(--border);
    border-radius: 0 0 8px 8px;
    overflow: hidden;
    z-index: 5;
}

.chart-label {
    position: absolute;
    top: 5px;
    left: 10px;
    font-size: 1em;
    color: var(--text-light);
    text-transform: uppercase;
    z-index: 6;
    pointer-events: none;
}

.people-label {
    position: absolute;
    bottom: 20%;
    left: 6%;
    font-size: 1em;
    color: var(--text-light);
    text-transform: uppercase;
    z-index: 6;
    pointer-events: none;
}

#co2-chart {
    width: 100%;
    height: 100%;
}

.progress-container {
    position: absolute;
    bottom: 0;
    left: 0;
    width: 100%;
    height: 2%;
    background: var(--gray-bg);
    overflow: hidden;
    border-top: 1px solid var(--border);
    z-index: 10;
}

#progress-bar {
    width: 0%;
    height: 100%;
    background: var(--rylo-cyan);
    transition: width 0.1s linear;
    box-shadow: 0 0 10px var(--rylo-cyan);
}

@media (max-width: 992px) {
    .how-it-works-container {
        grid-template-columns: 1fr;
    }
    .house-container {
        width: 100%;
        max-width:500px;
        transform: scale(1);
        transform-origin: top center;
    }
    .roof, .house-body {
        width: 100%;
    }
    .roof-gutter {
        width: calc(100% + 4px);
    }
    .asset-label {
        font-size:0.7em;
    }
}

section {
    padding: 30px 0;
    position: relative;
    scroll-margin-top: 100px;
}

.section-header {
    text-align: center;
    margin-bottom: 25px;
}

.how-it-works .section-header {
    margin-bottom: 0;
}

.section-header h2 {
    font-size: 3rem;
    margin-bottom: 20px;
    color: var(--white);
}

.section-header h2 span {
    color: var(--rylo-green);
}

.section-header p {
    max-width: 700px;
    margin: 0 auto;
    color: var(--text-light);
    font-size: 1.2rem;
}

/* --- Hero Section --- */
.hero {
    padding: 20px 0 100px;
    background: radial-gradient(circle at top right, #1a2538, #0a1120);
    min-height: 90vh;
    display: flex;
    align-items: center;
}

.hero-content {
    display: flex;
    align-items: center;
    gap: 60px;
}

.hero-text {
    flex: 1;
}

.hero-text h1 {
    font-size: 4rem;
    line-height: 1.1;
    margin-bottom: 25px;
    color: var(--white);
}

.hero-text h1 span {
    color: var(--rylo-green);
}

.hero-text p {
    font-size: 1.3rem;
    margin-bottom: 40px;
    max-width: 600px;
    color: var(--text-light);
}

.hero-buttons {
    display: flex;
    flex-wrap: wrap;
    gap: 15px;
    justify-content: flex-start;
}

.hero-image {
    flex: 1;
    display: flex;
    justify-content: center;
}

.hero-image img {
    max-width: 100%;
    border-radius: 30px;
    box-shadow: 0 30px 60px rgba(0, 0, 0, 0.5);
    border: 1px solid var(--border);
    animation: float 6s ease-in-out infinite;
}

@keyframes float {
    0%, 100% { transform: translateY(0); }
    50% { transform: translateY(-20px); }
}

/* --- How It Works Section --- */
.how-it-works {
    background: var(--gray-bg);
}

.process-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
    gap: 40px;
    margin-top: 50px;
}

.process-step {
    background: var(--card-bg);
    padding: 40px;
    border-radius: 24px;
    border: 1px solid var(--border);
    text-align: center;
    transition: var(--transition);
}

.process-step:hover {
    transform: translateY(-10px);
    border-color: var(--rylo-cyan);
}

.process-step h3 {
    font-size: 1.5rem;
    color: var(--white);
    margin-bottom: 15px;
}

.relay-explainer {
    margin-top: 60px;
    background: var(--darker);
    padding: 40px;
    border-radius: 24px;
    border-left: 6px solid var(--rylo-green);
    display: flex;
    gap: 30px;
    align-items: center;
}

.relay-explainer p {
    font-size: 1.1rem;
    color: var(--text-body);
}

/* --- Key Features Section --- */
.features-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
    gap: 30px;
}

.feature-card {
    background: var(--card-bg);
    border-radius: 20px;
    padding: 40px;
    transition: var(--transition);
    border: 1px solid var(--border);
}

.feature-card:hover {
    transform: translateY(-10px);
    box-shadow: 0 10px 30px rgba(0, 0, 0, 0.4);
    border-color: var(--rylo-cyan);
}

.feature-icon {
    width: 40px;
    height: 40px;
    background: rgba(0, 184, 212, 0.1);
    border-radius: 12px;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 1.8rem;
				float:left;
				margin-right: 10px;
}

.feature-card h3 {
    font-size: 1.6rem;
    margin-bottom: 15px;
    color: var(--white);
}

/* --- Tech Specs Section --- */
.specs-section {
    /* background: var(--gray-bg);*/
}

.specs-install {
    background: var(--gray-bg);
}

.specs-container {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 80px;
    align-items: center;
}

.specs-image img {
    width: 100%;
    border-radius: 30px;
    box-shadow: 0 20px 40px rgba(0, 0, 0, 0.4);
    border: 1px solid var(--border);
}

.specs-table {
    width: 100%;
    border-collapse: collapse;
}

.specs-table tr {
    border-bottom: 1px solid var(--border);
}

.specs-table td {
    padding: 20px 10px;
    color: var(--text-body);
}

.specs-table td:first-child {
    font-weight: 600;
    color: var(--white);
    width: 40%;
}

/* --- Installation Section --- */
.install-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 60px;
    align-items: center;
}

.diagram-box {
    background: var(--card-bg);
    padding: 20px;
    border-radius: 20px;
    border: 1px solid var(--border);
    text-align: center;
}

.diagram-box img {
    max-height: 400px;
    border-radius: 12px;
}

/* --- Testimonials Section --- */
.testimonials {
    background: var(--darker);
}

.testimonial-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(350px, 1fr));
    gap: 30px;
}

.testimonial-card {
    background: var(--gray-pane);
    padding: 40px;
    border-radius: 24px;
    border: 1px solid var(--border);
    position: relative;
}

.testimonial-card p {
    font-style: italic;
    font-size: 1.1rem;
    margin-bottom: 20px;
    color: var(--white);
}

.testimonial-author {
    display: flex;
    align-items: center;
    gap: 15px;
}

.testimonial-author img {
    width: 50px;
    height: 50px;
    border-radius: 50%;
    background: var(--rylo-cyan);
}

.author-info h4 {
    color: var(--white);
    font-size: 1rem;
    margin: 0;
}

.author-info p {
    color: var(--text-light);
    font-size: 0.85rem;
    margin: 0;
    font-style: normal;
}

/* --- About Section --- */
.about-section {
    display: flex;
    gap: 80px;
    align-items: center;
}

.about-text {
    flex: 1;
}

.about-text h2 {
    font-size: 2.5rem;
    color: var(--white);
    margin-bottom: 20px;
}

.about-text p {
    font-size: 1.1rem;
    margin-bottom: 20px;
}

.about-image {
    flex: 1;
    position: relative;
}

.about-image img {
    width: 100%;
    border-radius: 30px;
    border: 1px solid var(--border);
}

/* --- CTA Section --- */
.cta-section {
    background: var(--rylo-grad);
    text-align: center;
    padding: 100px 0;
}

.cta-section h2 {
    font-size: 3rem;
    color: var(--white);
    margin-bottom: 20px;
    text-shadow: 0 2px 4px rgba(0,0,0,0.3);
}

.cta-section p {
    font-size: 1.2rem;
    color: var(--white);
    margin-bottom: 40px;
    opacity: 0.9;
    text-shadow: 0 2px 6px rgba(0,0,0,0.5);
}

.newsletter-form {
    display: flex;
    justify-content: center;
    gap: 10px;
    max-width: 600px;
    margin: 0 auto;
}

.newsletter-form input {
    padding: 15px 25px;
    border-radius: 30px;
    border: none;
    flex: 1;
    font-size: 1rem;
    outline: none;
}

.newsletter-form .btn {
    background: var(--dark);
    color: var(--white);
}

/* --- Footer --- */
footer {
    background: var(--darker);
    padding: 80px 0 40px;
    border-top: 1px solid var(--border);
}

footer ul {
    margin-bottom:0;
    padding-left:0;
}

footer p {
    margin-bottom:0;
}

.footer-grid {
    display: grid;
    grid-template-columns: 2fr 1fr 1fr 1fr;
    gap: 60px;
    margin-bottom: 60px;
}

.footer-col h3 {
    color: var(--white);
    font-size: 1.1rem;
    margin-bottom: 25px;
    text-transform: uppercase;
    letter-spacing: 1px;
}

.footer-col ul {
    list-style: none;
}

.footer-col ul li {
    margin-bottom: 12px;
}

.footer-col ul li a {
    color: var(--text-light);
    text-decoration: none;
    transition: var(--transition);
}

.footer-col ul li a:hover {
    color: var(--rylo-cyan);
}

.footer-logo {
    display: flex;
    align-items: center;
    gap: 12px;
    font-size: 1.4rem;
    font-weight: 800;
    color: var(--white);
    margin-bottom: 20px;
    text-decoration: none;
}

.copyright {
    text-align: center;
    padding-top: 40px;
    border-top: 1px solid var(--border);
    color: var(--text-light);
    font-size: 0.9rem;
}

/* --- Animations --- */
.reveal {
    opacity: 0;
    transform: translateY(40px);
    transition: var(--transition);
}

.reveal.active {
    opacity: 1;
    transform: translateY(0);
}

/* Responsive */
@media (max-width: 992px) {
    .hero-content, .specs-container, .install-grid, .about-section {
        flex-direction: column;
        grid-template-columns: 1fr;
        text-align: center;
    }
    .hero-buttons {
        justify-content: center;
    }
    .hero-text h1 { font-size: 3rem; }
    .footer-grid { grid-template-columns: 1fr 1fr; }
    .about-section { flex-direction: column-reverse; }
    .relay-explainer { flex-direction: column; text-align: center; }
}

@media (max-width: 1024px) {
    .mobile-menu-toggle {
        display: flex;
    }
    
    .hero {
        padding: 100px 0 100px;
    }

    nav ul {
        position: fixed;
        top: 0;
        right: -100%;
        width: 70%;
        height: 100vh;
        background: var(--darker);
        flex-direction: column;
        justify-content: center;
        align-items: center;
        transition: var(--transition);
        box-shadow: -10px 0 30px rgba(0,0,0,0.5);
        z-index: 1050;
        padding: 40px;
        border-left: 1px solid var(--border);
    }

    nav ul.active {
        right: 0;
    }

    .mobile-menu-toggle.active span:nth-child(1) {
        transform: translateY(9px) rotate(45deg);
    }

    .mobile-menu-toggle.active span:nth-child(2) {
        opacity: 0;
    }

    .mobile-menu-toggle.active span:nth-child(3) {
        transform: translateY(-9px) rotate(-45deg);
    }

    .hero-text h1 { font-size: 2.5rem; }
    .footer-grid { grid-template-columns: 1fr; }
}

/* Error Page Styles */
.error-container {
    height: 80vh;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    text-align: center;
    padding: 0 20px;
}

.error-code {
    font-size: 10rem;
    font-weight: 900;
    background: var(--rylo-grad);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    line-height: 1;
    margin-bottom: 20px;
}

.error-message {
    font-size: 2rem;
    color: var(--white);
    margin-bottom: 15px;
}

@media (max-width: 600px) {
    .newsletter-form {
        flex-direction: column;
    }
    .newsletter-form input,
    .newsletter-form .btn {
        width: 100%;
    }
}

div.cart-items {
    border: 1px solid var(--border);
    border-radius: 6px;
}

@media (max-width: 1199.98px) {
    .cart-items-left {
        width: 100% !important;
        max-width: 100% !important;
        margin-left: 0 !important;
        margin-right: 0 !important;
        padding-left: 0 !important;
        padding-right: 0 !important;
    }
}

div.square-form-container {
    border: 1px solid var(--border);
    border-radius: 6px;
    padding: 10px;
}

div.container img {
    /* --- This fixes the sigature on the about us page from overflowing the horizontal --- */
    max-width: 100%;
}

/* --- About Us Page --- */
.about-hero {
    background: radial-gradient(circle at top right, #1a2538, #0a1120);
    padding: 40px 0 60px;
    text-align: center;
}

.about-hero-content h1 {
    font-size: 4rem;
    color: var(--white);
    margin-bottom: 20px;
}

.about-hero-content p {
    font-size: 1.3rem;
    color: var(--text-light);
    max-width: 700px;
    margin: 0 auto;
}

.about-mission {
    background: radial-gradient(circle at top right, #00526d, #015F55);
    padding: 80px 0;
}

.mission-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 80px;
    align-items: center;
}

.mission-text h2 {
    font-size: 2.5rem;
    color: var(--white);
    margin-bottom: 25px;
}

.mission-text p {
    font-size: 1.1rem;
    color: var(--text-body);
    margin-bottom: 20px;
}

.mission-visual {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(140px, 1fr));
    gap: 20px;
}

.mission-stat {
    background: var(--card-bg);
    border: 1px solid var(--border);
    border-radius: 20px;
    padding: 30px;
    text-align: center;
    transition: var(--transition);
}

.mission-stat:hover {
    transform: translateY(-5px);
    border-color: var(--rylo-cyan);
}

.stat-number {
    display: block;
    font-size: 2.5rem;
    font-weight: 800;
    background: var(--rylo-grad);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    margin-bottom: 10px;
}

.stat-label {
    font-size: 0.9rem;
    color: var(--text-light);
    text-transform: uppercase;
    letter-spacing: 1px;
}

.about-story {
    padding: 80px 0;
}

.about-story h2 {
    font-size: 2.5rem;
    color: var(--white);
    text-align: center;
    margin-bottom: 60px;
}

.story-timeline {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
    gap: 30px;
}

.story-event {
    background: var(--card-bg);
    border: 1px solid var(--border);
    border-radius: 20px;
    padding: 40px;
    transition: var(--transition);
    position: relative;
    overflow: hidden;
}

.story-event:hover {
    transform: translateY(-5px);
    border-color: var(--rylo-cyan);
}

.story-event::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 4px;
    background: var(--rylo-grad);
}

.story-year {
    display: inline-block;
    background: rgba(0, 184, 212, 0.1);
    color: var(--rylo-cyan);
    font-weight: 700;
    font-size: 0.85rem;
    padding: 6px 14px;
    border-radius: 20px;
    margin-bottom: 20px;
    text-transform: uppercase;
    letter-spacing: 1px;
}

.story-event h3 {
    font-size: 1.4rem;
    color: var(--white);
    margin-bottom: 15px;
}

.story-event p {
    font-size: 1rem;
    color: var(--text-body);
}

.about-team {
    background: var(--darker);
    padding: 80px 0;
}

.about-team h2 {
    font-size: 2.5rem;
    color: var(--white);
    text-align: center;
    margin-bottom: 15px;
}

.team-intro {
    text-align: center;
    color: var(--text-light);
    font-size: 1.1rem;
    max-width: 600px;
    margin: 0 auto 50px;
}

.team-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
    gap: 30px;
}

.team-member {
    background: var(--card-bg);
    border: 1px solid var(--border);
    border-radius: 20px;
    padding: 40px;
    text-align: center;
    transition: var(--transition);
}

.team-member:hover {
    transform: translateY(-5px);
    border-color: var(--rylo-cyan);
}

.member-photo {
    width: 100px;
    height: 100px;
    border-radius: 50%;
    background: var(--gray-pane);
    margin: 0 auto 25px;
    display: flex;
    align-items: center;
    justify-content: center;
    border: 2px solid var(--border);
}

.team-member h3 {
    font-size: 1.3rem;
    color: var(--white);
    margin-bottom: 10px;
}

.member-role {
    color: var(--text-light);
    font-size: 0.95rem;
}

.member-role a {
    color: var(--rylo-cyan);
    text-decoration: none;
}

.member-role a:hover {
    text-decoration: underline;
}

@media (max-width: 992px) {
    .mission-grid {
        grid-template-columns: 1fr;
        text-align: center;
    }
    .about-hero-content h1 {
        font-size: 3rem;
    }
}

/* --- Stuffy Bedroom Landing Page --- */
.problem-section {
    background: var(--gray-bg);
    padding: 80px 0;
}

.problem-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
    gap: 30px;
    margin-top: 50px;
}

.problem-card {
    background: var(--card-bg);
    border-radius: 20px;
    padding: 40px;
    border: 1px solid var(--border);
    transition: var(--transition);
}

.problem-card:hover {
    transform: translateY(-10px);
    border-color: var(--rylo-cyan);
}

.problem-icon {
    width: 48px;
    height: 48px;
    background: rgba(0, 184, 212, 0.1);
    border-radius: 12px;
    display: flex;
    align-items: center;
    justify-content: center;
    color: var(--rylo-cyan);
    margin-bottom: 20px;
}

.problem-icon svg {
    width: 24px;
    height: 24px;
}

.problem-card h3 {
    font-size: 1.4rem;
    color: var(--white);
    margin-bottom: 15px;
}

.problem-card p {
    color: var(--text-body);
    font-size: 1rem;
    line-height: 1.6;
}

.science-section {
    padding: 100px 0;
    background: var(--dark);
}

.science-layout {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 80px;
    align-items: center;
}

.science-text h2 {
    font-size: 2.5rem;
    color: var(--white);
    margin-bottom: 25px;
}

.science-text p {
    font-size: 1.1rem;
    color: var(--text-body);
    margin-bottom: 20px;
}

.science-text ul {
    list-style: none;
    padding: 0;
    margin-bottom: 25px;
}

.science-text ul li {
    color: var(--text-body);
    font-size: 1.05rem;
    padding: 8px 0;
    border-bottom: 1px solid var(--border);
}

.science-text ul li:last-child {
    border-bottom: none;
}

.science-visual {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 20px;
}

.ppm-meter {
    background: var(--card-bg);
    border: 1px solid var(--border);
    border-radius: 24px;
    padding: 40px;
    text-align: center;
    width: 100%;
    max-width: 340px;
    position: relative;
    overflow: hidden;
}

.ppm-meter::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 4px;
    background: var(--rylo-grad);
}

.ppm-label {
    font-size: 0.9rem;
    color: var(--text-light);
    text-transform: uppercase;
    letter-spacing: 1px;
    margin-bottom: 15px;
}

.ppm-value {
    font-size: 4rem;
    font-weight: 800;
    color: var(--white);
    line-height: 1;
    margin-bottom: 8px;
}

.ppm-unit {
    font-size: 1rem;
    color: var(--text-light);
    margin-bottom: 20px;
}

.ppm-bar {
    width: 100%;
    height: 8px;
    background: var(--gray-bg);
    border-radius: 4px;
    overflow: hidden;
}

.ppm-bar span {
    display: block;
    height: 100%;
    background: var(--rylo-grad);
    border-radius: 4px;
}

.ppm-note {
    color: var(--rylo-cyan);
    font-size: 0.95rem;
    font-weight: 500;
    background: rgba(0, 184, 212, 0.1);
    padding: 10px 20px;
    border-radius: 20px;
    border: 1px solid rgba(0, 184, 212, 0.2);
}

.solution-section {
    background: var(--gray-bg);
    padding: 100px 0;
}

.solution-layout {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 80px;
    align-items: center;
}

.solution-visual {
    display: flex;
    justify-content: center;
}

.solution-visual img {
    max-width: 100%;
    filter: drop-shadow(0 20px 40px rgba(0, 0, 0, 0.4));
}

.solution-text h2 {
    font-size: 2.5rem;
    color: var(--white);
    margin-bottom: 25px;
}

.solution-text p {
    font-size: 1.1rem;
    color: var(--text-body);
    margin-bottom: 20px;
}

.solution-benefits {
    margin-top: 30px;
    display: flex;
    flex-direction: column;
    gap: 16px;
}

.benefit-row {
    display: flex;
    align-items: center;
    gap: 15px;
    background: var(--card-bg);
    padding: 16px 20px;
    border-radius: 12px;
    border: 1px solid var(--border);
    transition: var(--transition);
}

.benefit-row:hover {
    border-color: var(--rylo-cyan);
}

.benefit-check {
    width: 28px;
    height: 28px;
    background: rgba(0, 200, 83, 0.15);
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    color: var(--rylo-green);
    flex-shrink: 0;
}

.benefit-check svg {
    width: 14px;
    height: 14px;
}

.benefit-row span {
    color: var(--white);
    font-size: 1rem;
}

.install-options {
    display: flex;
    flex-direction: column;
    gap: 25px;
}

.install-option {
    display: flex;
    gap: 20px;
    align-items: flex-start;
    background: var(--card-bg);
    padding: 30px;
    border-radius: 20px;
    border: 1px solid var(--border);
    transition: var(--transition);
}

.install-option:hover {
    border-color: var(--rylo-cyan);
}

.install-detail h3 {
    font-size: 1.3rem;
    color: var(--white);
    margin-bottom: 10px;
}

.install-detail p {
    color: var(--text-body);
    font-size: 1rem;
    margin: 0;
}

.install-specs-note {
    background: rgba(0, 184, 212, 0.05);
    border: 1px solid rgba(0, 184, 212, 0.2);
    border-radius: 16px;
    padding: 20px 25px;
    color: var(--text-body);
    font-size: 0.95rem;
}

.btn-large {
    padding: 16px 36px;
    font-size: 1.2rem;
}

.cta-note {
    margin-top: 20px !important;
    font-size: 0.95rem !important;
    opacity: 0.8;
}

@media (max-width: 992px) {
    .science-layout,
    .solution-layout {
        grid-template-columns: 1fr;
        text-align: center;
    }
    .solution-benefits {
        text-align: left;
    }
    .install-option {
        flex-direction: column;
        align-items: center;
        text-align: center;
    }
}

/* --- Checkout Overrides --- */
.rylo-checkout-header {
    background: var(--darker);
    border-bottom: 1px solid var(--border);
}

.rylo-checkout-header .col:first-child a {
    display: inline-block;
}

.rylo-checkout-header .col:first-child img {
    width: 120px;
    height: auto;
    object-fit: contain;
}

.checkout-sidebar::before {
    background: var(--gray-bg) !important;
}

.checkout-sidebar {
    color: var(--text-body);
}

/* --- Cart item layout --- */
.cart-items table {
    margin-bottom: 0;
    border-collapse: collapse;
}

.cart-items table tbody tr.cart-item-row {
    /* This was a weird color border-bottom: 2px solid var(--rylo-green-muted);*/
}

.cart-item-info {
    display: flex;
    flex-direction: row;
    align-items: center;
    gap: 1rem;
}

.cart-item-image {
    width: 6rem;
    flex-shrink: 0;
}

.cart-item-details {
    min-width: 0;
}

.cart-item-remove-mobile {
    display: none;
    font-size: 0.85rem;
    color: var(--text-light);
    text-decoration: underline;
    cursor: pointer;
}

.cart-item-remove-mobile:hover {
    color: var(--rylo-cyan);
}

.coupon-col {
    min-width: 300px;
}

.clear-cart-col {
    flex-shrink: 0;
}

.cart-item-label {
    display: block;
    font-size: 0.75rem;
    color: var(--text-light);
    text-transform: uppercase;
    letter-spacing: 0.5px;
    margin-bottom: 0.25rem;
}

.cart-item-quantity-input {
    min-width: 60px;
    max-width: 80px;
    margin-left: auto;
}

@media (max-width: 768px) {
    .cart-items table thead {
        display: none;
    }

    .cart-items table tbody tr.cart-item-row {
        display: flex;
        flex-wrap: wrap;
        border-bottom: 2px solid var(--rylo-green-muted);
        padding: 1rem 0;
        align-items: flex-start;
    }

    .cart-items table tbody tr.cart-item-row:last-child {
        border-bottom: 2px solid var(--rylo-green-muted);
    }

    .cart-items table tbody tr.cart-item-row::after {
        content: "";
        display: block;
        width: 100%;
        height: 0;
        order: 3;
    }

    .cart-items table tbody td {
        display: block;
        width: 100%;
        border: none !important;
        padding: 0;
    }

    .cart-item-product {
        order: 1;
        width: 100%;
    }

    .cart-item-info {
        flex-direction: row-reverse;
        justify-content: space-between;
        align-items: flex-start;
    }

    .cart-item-image {
        width: 5rem;
    }

    .cart-item-details {
        width: 60%;
        min-width: 0;
    }

    .cart-item-remove-mobile {
        display: inline-block;
    }

    .cart-item-remove {
        display: none !important;
    }

    .cart-item-price,
    .cart-item-quantity,
    .cart-item-total {
        order: 2;
        flex: 0 0 33.333%;
        width: 33.333%;
        margin-top: 1rem;
        text-align: center !important;
    }

    .cart-item-price .cart-item-label,
    .cart-item-quantity .cart-item-label,
    .cart-item-total .cart-item-label {
        margin-bottom: 0.5rem;
    }

    .cart-item-quantity-input {
        margin-left: auto;
        margin-right: auto;
    }
}

/* Product listing */
img#main-image {
    /*max-height:450px;*/
}

.product-info-accordion .accordion-button,
.product-info-accordion .accordion-body {
    padding-left: 1.5rem !important;
    padding-right: 1.5rem !important;
}

/* --- Product info accordion --- */
.product-info-accordion .accordion-item {
    background: linear-gradient(160deg, rgba(26, 37, 56, 0.95) 0%, rgba(21, 32, 53, 0.92) 50%, rgba(10, 17, 32, 0.9) 100%);
    border-color: rgba(0, 184, 212, 0.25);
    border-left: 1px solid rgba(0, 184, 212, 0.25);
    border-right: 1px solid rgba(0, 184, 212, 0.25);
    box-shadow:
        inset 0 0 40px rgba(0, 184, 212, 0.08),
        0 8px 30px rgba(0, 0, 0, 0.35);
}

.product-info-accordion .accordion-item:first-of-type {
    border-top-left-radius: var(--bs-accordion-border-radius);
    border-top-right-radius: var(--bs-accordion-border-radius);
}

.product-info-accordion .accordion-item:last-of-type {
    border-bottom-left-radius: var(--bs-accordion-border-radius);
    border-bottom-right-radius: var(--bs-accordion-border-radius);
}

.product-info-accordion .accordion-button,
.product-info-accordion .accordion-button:not(.collapsed) {
    background: linear-gradient(160deg, rgba(26, 37, 56, 0.95) 0%, rgba(21, 32, 53, 0.92) 50%, rgba(10, 17, 32, 0.9) 100%);
    color: var(--white);
}

.accordion-flat.product-info-accordion .accordion-item .accordion-button:active {
    background-color: rgba(255, 255, 255, 0.08) !important;
    color: var(--white) !important;
}

.product-info-accordion .accordion-body {
    padding-left: 1.5rem;
    padding-right: 1.5rem;
}

.product-info-accordion .accordion-button .h5 {
    color: var(--text-body);
}

.product-info-accordion .accordion-body {
    color: var(--text-body);
}

.product-info-summary {
    border: 1px solid rgba(0, 184, 212, 0.25);
    border-radius: 0.75rem;
    padding: 1.25rem;
    background: rgba(0, 184, 212, 0.05);
    box-shadow: 0 8px 30px rgba(0, 0, 0, 0.35);
}

/* --- Blog & Article Pages --- */
.blog-hero,
.article-header {
    position: relative;
    z-index: auto;
}

.blog-hero {
    background: radial-gradient(circle at top right, #1a2538, var(--dark));
    padding: 30px 0 15px;
}

.article-header {
    background: radial-gradient(circle at top right, #1a2538, #0a1120);
}

.article-page {
    padding-top: 0;
}

.article {
    position: relative;
    background: var(--gray-bg);
    border-top: 1px solid var(--border);
    box-shadow: 0 30px 60px rgba(0, 0, 0, 0.3);
    margin: 0 auto;
}

.article-container {
    max-width: 900px;
    padding-bottom: 20px;
}

.article-content-container {
    background-color: var(--dark);
}

.article-container-header {
}

.article-breadcrumb {
    margin-bottom: 25px;
}

.breadcrumb-list {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 8px;
    list-style: none;
    padding: 0;
    margin: 0;
    font-size: 0.9rem;
    color: var(--text-light);
}

.breadcrumb-item {
    display: inline-flex;
    align-items: center;
}

/* Disable the backslash (/) from breadcrumb.scss */
.article-breadcrumb .breadcrumb-item + .breadcrumb-item::before {
    content: '' !important;
}

.breadcrumb-item:not(:last-child)::after {
    content: '/';
    margin-left: 8px;
    color: var(--border);
}

.breadcrumb-item a {
    color: var(--text-light);
    text-decoration: none;
    transition: var(--transition);
}

.breadcrumb-item a:hover {
    color: var(--rylo-cyan);
}

.breadcrumb-item.active {
    color: var(--rylo-cyan);
    font-weight: 500;
}

.blog-hero h1,
.article-title {
    font-size: 3rem;
    color: var(--white);
    line-height: 1.15;
    margin-bottom: 20px;
}

.blog-intro,
.article-lead {
    font-size: 1.25rem;
    color: var(--text-light);
    line-height: 1.7;
}

.article-meta {
    display: flex;
    align-items: center;
    gap: 12px;
    margin-top: 15px;
    font-size: 0.9rem;
    color: var(--text-light);
}

.article-category {
    background: rgba(0, 184, 212, 0.1);
    color: var(--rylo-cyan);
    padding: 4px 12px;
    border-radius: 20px;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.5px;
    font-size: 0.75rem;
}

.article-date {
    color: var(--text-light);
}

.article-lead-row {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 40px;
    align-items: center;
    margin-top: 25px;
}

.article-header-text {
    display: flex;
    flex-direction: column;
    gap: 20px;
}

.article-header-text .article-title {
    margin-bottom: 0;
}

.article-lead-row .article-lead {
    margin: 0;
}

.article-lead-row .article-hero-image {
    margin: 0;
}

.article-lead-row .article-hero-image img {
    width: 100%;
    border-radius: 24px;
    border: 1px solid var(--border);
    box-shadow: 0 20px 40px rgba(0, 0, 0, 0.4);
}

@media (max-width: 768px) {
    .article-lead-row {
        grid-template-columns: 1fr;
    }
}

.article-body {
    margin-top: -20px;
}

.article-body h2 {
    font-size: 2rem;
    color: var(--white);
    padding: 60px 0 20px;
}

.article-body h3 {
    font-size: 1.4rem;
    color: var(--white);
    margin: 40px 0 15px;
}

.article-body p {
    font-size: 1.1rem;
    color: var(--text-body);
    margin-bottom: 20px;
}

.article-body ul,
.article-body ol {
    margin-bottom: 25px;
    padding-left: 25px;
}

.article-body li {
    font-size: 1.1rem;
    color: var(--text-body);
    margin-bottom: 12px;
    line-height: 1.6;
}

.article-figure {
    margin: 40px 0;
}

.article-figure figcaption {
    color: var(--text-light);
    font-size: 0.95rem;
    text-align: center;
    margin-top: 15px;
}

.article-figure-meter {
    display: flex;
    flex-direction: column;
    align-items: center;
}

.article-figure-wide .how-it-works {
    padding-left: 0;
    padding-right: 0;
}

.article-cta {
    background: var(--gray-bg);
    padding: 80px 0;
    text-align: center;
}

.article-cta h2 {
    font-size: 2.2rem;
    color: var(--white);
    margin-bottom: 20px;
}

.article-cta p {
    font-size: 1.1rem;
    color: var(--text-body);
    max-width: 600px;
    margin: 0 auto 25px;
}

.article-cta-note {
    font-size: 0.95rem !important;
    color: var(--text-light) !important;
    margin-top: 20px !important;
}

/* Blog listing */
.blog-listing {
    padding: 60px 0 100px;
}

.blog-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(320px, 1fr));
    gap: 30px;
}

.blog-card {
    background: var(--card-bg);
    border: 1px solid var(--border);
    border-radius: 20px;
    overflow: hidden;
    transition: var(--transition);
}

.blog-card:hover {
    transform: translateY(-5px);
    border-color: var(--rylo-cyan);
}

.blog-card-link {
    display: block;
    color: inherit;
    text-decoration: none;
}

.blog-card-image {
    aspect-ratio: 16 / 9;
    overflow: hidden;
    background: var(--gray-pane);
}

.blog-card-image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform 0.5s ease;
}

.blog-card:hover .blog-card-image img {
    transform: scale(1.03);
}

.blog-card-body {
    padding: 30px;
}

.blog-card-meta {
    display: flex;
    align-items: center;
    gap: 12px;
    margin-bottom: 15px;
    font-size: 0.85rem;
    color: var(--text-light);
}

.blog-card-category {
    background: rgba(0, 184, 212, 0.1);
    color: var(--rylo-cyan);
    padding: 3px 10px;
    border-radius: 20px;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.5px;
    font-size: 0.7rem;
}

.blog-card-title {
    font-size: 1.5rem;
    color: var(--white);
    margin-bottom: 12px;
    line-height: 1.3;
}

.blog-card-excerpt {
    font-size: 1rem;
    color: var(--text-body);
    line-height: 1.6;
    margin-bottom: 20px;
}

.blog-card-cta {
    color: var(--rylo-cyan);
    font-weight: 600;
}

@media (max-width: 768px) {
    .blog-hero,
    .article-header {
        padding: 100px 0 40px;
    }

    .blog-hero h1,
    .article-title {
        font-size: 2.2rem;
    }

    .article-body h2 {
        font-size: 1.6rem;
    }

    .article-body p,
    .article-body li {
        font-size: 1rem;
    }
}


/*# sourceMappingURL=data:application/json;charset=utf-8;base64,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O0lBQ2QsY0FBYztJQUNkLHFCQUFxQjtBQUN6Qjs7QUFFQTtJQUNJLG9CQUFvQjtJQUNwQixnQkFBZ0I7SUFDaEIsNEJBQTRCO0FBQ2hDOztBQUVBO0lBQ0ksV0FBVztJQUNYLFlBQVk7SUFDWixpQkFBaUI7SUFDakIsK0JBQStCO0FBQ25DOztBQUVBO0lBQ0ksc0JBQXNCO0FBQzFCOztBQUVBO0lBQ0ksYUFBYTtBQUNqQjs7QUFFQTtJQUNJLGFBQWE7SUFDYixtQkFBbUI7SUFDbkIsU0FBUztJQUNULG1CQUFtQjtJQUNuQixrQkFBa0I7SUFDbEIsd0JBQXdCO0FBQzVCOztBQUVBO0lBQ0ksa0NBQWtDO0lBQ2xDLHVCQUF1QjtJQUN2QixpQkFBaUI7SUFDakIsbUJBQW1CO0lBQ25CLGdCQUFnQjtJQUNoQix5QkFBeUI7SUFDekIscUJBQXFCO0lBQ3JCLGlCQUFpQjtBQUNyQjs7QUFFQTtJQUNJLGlCQUFpQjtJQUNqQixtQkFBbUI7SUFDbkIsbUJBQW1CO0lBQ25CLGdCQUFnQjtBQUNwQjs7QUFFQTtJQUNJLGVBQWU7SUFDZix1QkFBdUI7SUFDdkIsZ0JBQWdCO0lBQ2hCLG1CQUFtQjtBQUN2Qjs7QUFFQTtJQUNJLHVCQUF1QjtJQUN2QixnQkFBZ0I7QUFDcEI7O0FBRUE7SUFDSTs7UUFFSSxxQkFBcUI7SUFDekI7O0lBRUE7O1FBRUksaUJBQWlCO0lBQ3JCOztJQUVBO1FBQ0ksaUJBQWlCO0lBQ3JCOztJQUVBOztRQUVJLGVBQWU7SUFDbkI7QUFDSiIsInNvdXJjZXMiOlsid2VicGFjazovLy8uL3ZlbmRvci9zeWxpdXMvbW9sbGllLXBsdWdpbi9hc3NldHMvc2hvcC9zY3NzL3N0eWxlLnNjc3MiLCJ3ZWJwYWNrOi8vLy4vdmVuZG9yL3N5bGl1cy9tb2xsaWUtcGx1Z2luL2Fzc2V0cy9zaG9wL3Njc3MvbWFpbi5zY3NzIiwid2VicGFjazovLy8uL3ZlbmRvci9zeWxpdXMvbW9sbGllLXBsdWdpbi9hc3NldHMvc2hvcC9zY3NzL2NoZWNrb3V0LnNjc3MiLCJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL3RvbS1zZWxlY3QvZGlzdC9jc3MvdG9tLXNlbGVjdC5kZWZhdWx0LmNzcyIsIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvQHN5bWZvbnkvdXgtbGl2ZS1jb21wb25lbnQvZGlzdC9saXZlLm1pbi5jc3MiLCJ3ZWJwYWNrOi8vLy4vYXNzZXRzL3Nob3AvY3NzL3J5bG8uY3NzIl0sInNvdXJjZXNDb250ZW50IjpbIi5mb3JtLWZpZWxkcyB7XG4gICAgZGlzcGxheTogZ3JpZDtcbiAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDFmcjtcbiAgICBncmlkLWdhcDogMjBweDtcbn1cblxuLm1vbGxpZS1oaWRkZW4ge1xuICAgIGRpc3BsYXk6IG5vbmU7XG59XG5cbi5kaXNwbGF5LWdyaWQge1xuICAgIGRpc3BsYXk6IGdyaWQ7XG59XG5cbi5sYWJlbCB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIG1hcmdpbi1ib3R0b206IDhweDtcbiAgICBmb250LXdlaWdodDogNjAwO1xufVxuXG4uZm9ybS1lcnJvcixcbi5maWVsZC1lcnJvciB7XG4gICAgbWFyZ2luLXRvcDogOHB4O1xuICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgY29sb3I6ICNmMDA7XG4gICAgZm9udC1zaXplOiAxM3B4O1xuICAgIGZvbnQtd2VpZ2h0OiA1MDA7XG59XG5cbi5tb2xsaWUtY29tcG9uZW50IHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBwYWRkaW5nOiAxMHB4IDE1cHg7XG4gICAgY29sb3I6ICMyMjI7XG5cbiAgICBib3JkZXI6IDJweCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgICBib3JkZXItcmFkaXVzOiA2cHg7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjtcbiAgICBib3gtc2hhZG93OiAwcHggMXB4IDFweCAwcHggcmdiYSgwLCAwLCAwLCAwLjEpLCAwcHggMXB4IDNweCAwcHggcmdiYSgwLCAwLCAwLCAwLjEpLFxuICAgIDBweCAwcHggMHB4IDFweCByZ2JhKDAsIDAsIDAsIDAuMDUpO1xuXG4gICAgdHJhbnNpdGlvbjogYWxsIDAuMDVzIGVhc2U7XG59XG5cbi5tb2xsaWUtY29tcG9uZW50Lmhhcy1mb2N1cyB7XG4gICAgYm9yZGVyLWNvbG9yOiAjMDdmO1xuICAgIGJveC1zaGFkb3c6IDBweCAxcHggMXB4IDBweCByZ2JhKDAsIDAsIDAsIDAuMSksIDBweCAycHggNnB4IDBweCByZ2JhKDAsIDAsIDAsIDAuMSksXG4gICAgMHB4IDBweCAwcHggMXB4IHJnYmEoMCwgMCwgMCwgMC4wNSk7XG59XG5cbi5tb2xsaWUtY29tcG9uZW50LmlzLWludmFsaWQge1xuICAgIGJvcmRlci1jb2xvcjogI2YwMDtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmMGYwO1xufVxuXG5AbWVkaWEgKG1pbi13aWR0aDogMzUwcHgpIHtcbiAgICAuZm9ybS1maWVsZHMge1xuICAgICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDFmciAxZnI7XG4gICAgfVxuXG4gICAgLmZvcm0tZ3JvdXAtLWNhcmQtbnVtYmVyLFxuICAgIC5mb3JtLWdyb3VwLS1jYXJkLW5hbWUsXG4gICAgLmZvcm0tZ3JvdXAtLXNhdmUtY3JlZGl0LWNhcmQsXG4gICAgLmZvcm0tZ3JvdXAtLWZvcm0tZXJyb3J7XG4gICAgICAgIGdyaWQtY29sdW1uOiBzcGFuIDI7XG4gICAgfVxufVxuXG4ub25saW5lLXBheW1lbnRfX2lucHV0IHtcbiAgICBkaXNwbGF5OiBub25lO1xufVxuXG4ub25saW5lLXBheW1lbnRfX2xhYmVsIHtcbiAgICBkaXNwbGF5OiBmbGV4IWltcG9ydGFudDtcbiAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgYm9yZGVyOiAxcHggc29saWQgI2RlZGVkZTtcbiAgICBwYWRkaW5nOiAxcmVtIWltcG9ydGFudDtcbiAgICBib3JkZXItcmFkaXVzOiA1cHg7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xuICAgIGdhcDogMTBweDtcbn1cblxuLm9ubGluZS1wYXltZW50X19pdGVtIHtcbiAgICBtaW4td2lkdGg6IDI1JTtcbiAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgIHBhZGRpbmc6IDFyZW07XG59XG5cbi5vbmxpbmUtcGF5bWVudF9faW5wdXQ6Y2hlY2tlZH4ub25saW5lLXBheW1lbnRfX2xhYmVsIHtcbiAgICBib3JkZXItY29sb3I6ICMyMkI5OUE7XG4gICAgYm94LXNoYWRvdzogMCAwIDAgMnB4ICMyMkI5OUEgaW5zZXQ7XG59XG5cbi5vbmxpbmUtcGF5bWVudF9faW1hZ2Uge1xuICAgIHdpZHRoOiA1MHB4O1xufVxuXG4ub25saW5lLXBheW1lbnRfX2NyZWRpdC1jYXJkIHtcbiAgICBkaXNwbGF5OiBub25lO1xufVxuXG4ub25saW5lLXBheW1lbnRfX2l0ZW0tLWFjdGl2ZS5vbmxpbmUtcGF5bWVudF9faXRlbS0tY3JlZGl0Y2FyZCB7XG4gICAgd2lkdGg6IDEwMCVcbn1cblxuLm9ubGluZS1wYXltZW50X19pdGVtLS1hY3RpdmUgLm9ubGluZS1wYXltZW50X19jcmVkaXQtY2FyZCB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LXdyYXA6IHdyYXA7XG59XG5cbi5vbmxpbmUtb25saW5lLXBheW1lbnRfX2NvbnRhaW5lciB7XG4gICAgbWFyZ2luLXRvcDogMCAhaW1wb3J0YW50O1xuICAgIG1hcmdpbi1ib3R0b206IDAgIWltcG9ydGFudDtcbn1cblxuLm9ubGluZS1wYXltZW50X19jcmVkaXQtY2FyZCB7XG4gICAgcGFkZGluZzogMXJlbTtcbiAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgI2Q5ZDlkYVxufVxuXG4jYXBwbGVwYXkge1xuICAgIGRpc3BsYXk6IG5vbmU7XG59XG5cbiNtb2xsaWVfYXBwbGVwYXlfYnV0dG9uIHtcbiAgICBkaXNwbGF5OiBub25lO1xufVxuXG5Ac3VwcG9ydHMgKC13ZWJraXQtYXBwZWFyYW5jZTogLWFwcGxlLXBheS1idXR0b24pIHtcbiAgICAuYXBwbGUtcGF5LWJ1dHRvbi13aXRoLXRleHQge1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgcGFkZGluZzogMTlweDtcbiAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgIC13ZWJraXQtYXBwZWFyYW5jZTogLWFwcGxlLXBheS1idXR0b247XG4gICAgICAgIC1hcHBsZS1wYXktYnV0dG9uLXR5cGU6IGJ1eTtcbiAgICB9XG4gICAgLmFwcGxlLXBheS1idXR0b24td2l0aC10ZXh0ID4gKiB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxufVxuXG5Ac3VwcG9ydHMgbm90ICgtd2Via2l0LWFwcGVhcmFuY2U6IC1hcHBsZS1wYXktYnV0dG9uKSB7XG4gICAgLmFwcGxlLXBheS1idXR0b24td2l0aC10ZXh0IHtcbiAgICAgICAgLS1hcHBsZS1wYXktc2NhbGU6IDE7IC8qIChoZWlnaHQgLyAzMikgKi9cbiAgICAgICAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgICAgICBmb250LXNpemU6IDEycHg7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDVweDtcbiAgICAgICAgcGFkZGluZzogMHB4O1xuICAgICAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgICAgICBtaW4td2lkdGg6IDIwMHB4O1xuICAgICAgICBtaW4taGVpZ2h0OiAzMnB4O1xuICAgICAgICBtYXgtaGVpZ2h0OiA2NHB4O1xuICAgIH1cbiAgICAuYXBwbGUtcGF5LWJ1dHRvbi13aXRoLXRleHQuYXBwbGUtcGF5LWJ1dHRvbi1ibGFjay13aXRoLXRleHQgPiAubG9nbyB7XG4gICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IC13ZWJraXQtbmFtZWQtaW1hZ2UoYXBwbGUtcGF5LWxvZ28td2hpdGUpO1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBibGFjaztcbiAgICB9XG4gICAgLmFwcGxlLXBheS1idXR0b24td2l0aC10ZXh0LmFwcGxlLXBheS1idXR0b24td2hpdGUtd2l0aC10ZXh0ID4gLmxvZ28ge1xuICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiAtd2Via2l0LW5hbWVkLWltYWdlKGFwcGxlLXBheS1sb2dvLWJsYWNrKTtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogd2hpdGU7XG4gICAgfVxuICAgIC5hcHBsZS1wYXktYnV0dG9uLXdpdGgtdGV4dC5hcHBsZS1wYXktYnV0dG9uLXdoaXRlLXdpdGgtbGluZS13aXRoLXRleHQgPiAubG9nbyB7XG4gICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IC13ZWJraXQtbmFtZWQtaW1hZ2UoYXBwbGUtcGF5LWxvZ28tYmxhY2spO1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB3aGl0ZTtcbiAgICB9XG4gICAgLmFwcGxlLXBheS1idXR0b24td2l0aC10ZXh0ID4gLnRleHQge1xuICAgICAgICBmb250LWZhbWlseTogLWFwcGxlLXN5c3RlbTtcbiAgICAgICAgZm9udC1zaXplOiBjYWxjKDFlbSAqIHZhcigtLWFwcGxlLXBheS1zY2FsZSkpO1xuICAgICAgICBmb250LXdlaWdodDogMzAwO1xuICAgICAgICBhbGlnbi1zZWxmOiBjZW50ZXI7XG4gICAgICAgIG1hcmdpbi1yaWdodDogY2FsYygycHggKiB2YXIoLS1hcHBsZS1wYXktc2NhbGUpKTtcbiAgICB9XG4gICAgLmFwcGxlLXBheS1idXR0b24td2l0aC10ZXh0ID4gLmxvZ28ge1xuICAgICAgICB3aWR0aDogY2FsYygzNXB4ICogdmFyKC0tc2NhbGUpKTtcbiAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgICBiYWNrZ3JvdW5kLXNpemU6IDEwMCUgNjAlO1xuICAgICAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICAgICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAwIDUwJTtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IGNhbGMoMnB4ICogdmFyKC0tYXBwbGUtcGF5LXNjYWxlKSk7XG4gICAgICAgIGJvcmRlcjogbm9uZTtcbiAgICB9XG59XG5cbi5kcmFnZ2FibGUge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbn1cbiIsIi5mb3JtLWZpZWxkcyB7XG4gIGRpc3BsYXk6IGdyaWQ7XG4gIGdyaWQtdGVtcGxhdGUtY29sdW1uczogMWZyO1xuICBncmlkLWdhcDogMjBweDtcbn1cblxuLm1vbGxpZS1oaWRkZW4ge1xuICBkaXNwbGF5OiBub25lO1xufVxuXG4uZGlzcGxheS1ncmlkIHtcbiAgZGlzcGxheTogZ3JpZDtcbn1cblxuLmxhYmVsIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBtYXJnaW4tYm90dG9tOiA4cHg7XG4gIGZvbnQtd2VpZ2h0OiA2MDA7XG59XG5cbi5mb3JtLWVycm9yLFxuLmZpZWxkLWVycm9yIHtcbiAgbWFyZ2luLXRvcDogOHB4O1xuICBtYXJnaW4tYm90dG9tOiAwO1xuICBjb2xvcjogI2YwMDtcbiAgZm9udC1zaXplOiAxM3B4O1xuICBmb250LXdlaWdodDogNTAwO1xufVxuXG4ubW9sbGllLWNvbXBvbmVudCB7XG4gIHdpZHRoOiAxMDAlO1xuICBwYWRkaW5nOiAxMHB4IDE1cHg7XG4gIGNvbG9yOiAjMjIyO1xuICBib3JkZXI6IDJweCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgYm9yZGVyLXJhZGl1czogNnB4O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xuICBib3gtc2hhZG93OiAwcHggMXB4IDFweCAwcHggcmdiYSgwLCAwLCAwLCAwLjEpLCAwcHggMXB4IDNweCAwcHggcmdiYSgwLCAwLCAwLCAwLjEpLCAwcHggMHB4IDBweCAxcHggcmdiYSgwLCAwLCAwLCAwLjA1KTtcbiAgdHJhbnNpdGlvbjogYWxsIDAuMDVzIGVhc2U7XG59XG5cbi5tb2xsaWUtY29tcG9uZW50Lmhhcy1mb2N1cyB7XG4gIGJvcmRlci1jb2xvcjogIzA3ZjtcbiAgYm94LXNoYWRvdzogMHB4IDFweCAxcHggMHB4IHJnYmEoMCwgMCwgMCwgMC4xKSwgMHB4IDJweCA2cHggMHB4IHJnYmEoMCwgMCwgMCwgMC4xKSwgMHB4IDBweCAwcHggMXB4IHJnYmEoMCwgMCwgMCwgMC4wNSk7XG59XG5cbi5tb2xsaWUtY29tcG9uZW50LmlzLWludmFsaWQge1xuICBib3JkZXItY29sb3I6ICNmMDA7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmZmYwZjA7XG59XG5cbkBtZWRpYSAobWluLXdpZHRoOiAzNTBweCkge1xuICAuZm9ybS1maWVsZHMge1xuICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogMWZyIDFmcjtcbiAgfVxuICAuZm9ybS1ncm91cC0tY2FyZC1udW1iZXIsXG4gIC5mb3JtLWdyb3VwLS1jYXJkLW5hbWUsXG4gIC5mb3JtLWdyb3VwLS1zYXZlLWNyZWRpdC1jYXJkLFxuICAuZm9ybS1ncm91cC0tZm9ybS1lcnJvciB7XG4gICAgZ3JpZC1jb2x1bW46IHNwYW4gMjtcbiAgfVxufVxuLm9ubGluZS1wYXltZW50X19pbnB1dCB7XG4gIGRpc3BsYXk6IG5vbmU7XG59XG5cbi5vbmxpbmUtcGF5bWVudF9fbGFiZWwge1xuICBkaXNwbGF5OiBmbGV4ICFpbXBvcnRhbnQ7XG4gIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGJvcmRlcjogMXB4IHNvbGlkICNkZWRlZGU7XG4gIHBhZGRpbmc6IDFyZW0gIWltcG9ydGFudDtcbiAgYm9yZGVyLXJhZGl1czogNXB4O1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIGZvbnQtd2VpZ2h0OiBib2xkO1xuICBnYXA6IDEwcHg7XG59XG5cbi5vbmxpbmUtcGF5bWVudF9faXRlbSB7XG4gIG1pbi13aWR0aDogMjUlO1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICBwYWRkaW5nOiAxcmVtO1xufVxuXG4ub25saW5lLXBheW1lbnRfX2lucHV0OmNoZWNrZWQgfiAub25saW5lLXBheW1lbnRfX2xhYmVsIHtcbiAgYm9yZGVyLWNvbG9yOiAjMjJCOTlBO1xuICBib3gtc2hhZG93OiAwIDAgMCAycHggIzIyQjk5QSBpbnNldDtcbn1cblxuLm9ubGluZS1wYXltZW50X19pbWFnZSB7XG4gIHdpZHRoOiA1MHB4O1xufVxuXG4ub25saW5lLXBheW1lbnRfX2NyZWRpdC1jYXJkIHtcbiAgZGlzcGxheTogbm9uZTtcbn1cblxuLm9ubGluZS1wYXltZW50X19pdGVtLS1hY3RpdmUub25saW5lLXBheW1lbnRfX2l0ZW0tLWNyZWRpdGNhcmQge1xuICB3aWR0aDogMTAwJTtcbn1cblxuLm9ubGluZS1wYXltZW50X19pdGVtLS1hY3RpdmUgLm9ubGluZS1wYXltZW50X19jcmVkaXQtY2FyZCB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtd3JhcDogd3JhcDtcbn1cblxuLm9ubGluZS1vbmxpbmUtcGF5bWVudF9fY29udGFpbmVyIHtcbiAgbWFyZ2luLXRvcDogMCAhaW1wb3J0YW50O1xuICBtYXJnaW4tYm90dG9tOiAwICFpbXBvcnRhbnQ7XG59XG5cbi5vbmxpbmUtcGF5bWVudF9fY3JlZGl0LWNhcmQge1xuICBwYWRkaW5nOiAxcmVtO1xuICBib3JkZXItYm90dG9tOiAxcHggc29saWQgI2Q5ZDlkYTtcbn1cblxuI2FwcGxlcGF5IHtcbiAgZGlzcGxheTogbm9uZTtcbn1cblxuI21vbGxpZV9hcHBsZXBheV9idXR0b24ge1xuICBkaXNwbGF5OiBub25lO1xufVxuXG5Ac3VwcG9ydHMgKC13ZWJraXQtYXBwZWFyYW5jZTogLWFwcGxlLXBheS1idXR0b24pIHtcbiAgLmFwcGxlLXBheS1idXR0b24td2l0aC10ZXh0IHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBwYWRkaW5nOiAxOXB4O1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgLXdlYmtpdC1hcHBlYXJhbmNlOiAtYXBwbGUtcGF5LWJ1dHRvbjtcbiAgICAtYXBwbGUtcGF5LWJ1dHRvbi10eXBlOiBidXk7XG4gIH1cbiAgLmFwcGxlLXBheS1idXR0b24td2l0aC10ZXh0ID4gKiB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxufVxuQHN1cHBvcnRzIG5vdCAoLXdlYmtpdC1hcHBlYXJhbmNlOiAtYXBwbGUtcGF5LWJ1dHRvbikge1xuICAuYXBwbGUtcGF5LWJ1dHRvbi13aXRoLXRleHQge1xuICAgIC0tYXBwbGUtcGF5LXNjYWxlOiAxOyAvKiAoaGVpZ2h0IC8gMzIpICovXG4gICAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgZm9udC1zaXplOiAxMnB4O1xuICAgIGJvcmRlci1yYWRpdXM6IDVweDtcbiAgICBwYWRkaW5nOiAwcHg7XG4gICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICBtaW4td2lkdGg6IDIwMHB4O1xuICAgIG1pbi1oZWlnaHQ6IDMycHg7XG4gICAgbWF4LWhlaWdodDogNjRweDtcbiAgfVxuICAuYXBwbGUtcGF5LWJ1dHRvbi13aXRoLXRleHQuYXBwbGUtcGF5LWJ1dHRvbi1ibGFjay13aXRoLXRleHQgPiAubG9nbyB7XG4gICAgYmFja2dyb3VuZC1pbWFnZTogLXdlYmtpdC1uYW1lZC1pbWFnZShhcHBsZS1wYXktbG9nby13aGl0ZSk7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogYmxhY2s7XG4gIH1cbiAgLmFwcGxlLXBheS1idXR0b24td2l0aC10ZXh0LmFwcGxlLXBheS1idXR0b24td2hpdGUtd2l0aC10ZXh0ID4gLmxvZ28ge1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IC13ZWJraXQtbmFtZWQtaW1hZ2UoYXBwbGUtcGF5LWxvZ28tYmxhY2spO1xuICAgIGJhY2tncm91bmQtY29sb3I6IHdoaXRlO1xuICB9XG4gIC5hcHBsZS1wYXktYnV0dG9uLXdpdGgtdGV4dC5hcHBsZS1wYXktYnV0dG9uLXdoaXRlLXdpdGgtbGluZS13aXRoLXRleHQgPiAubG9nbyB7XG4gICAgYmFja2dyb3VuZC1pbWFnZTogLXdlYmtpdC1uYW1lZC1pbWFnZShhcHBsZS1wYXktbG9nby1ibGFjayk7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogd2hpdGU7XG4gIH1cbiAgLmFwcGxlLXBheS1idXR0b24td2l0aC10ZXh0ID4gLnRleHQge1xuICAgIGZvbnQtZmFtaWx5OiAtYXBwbGUtc3lzdGVtO1xuICAgIGZvbnQtc2l6ZTogY2FsYygxZW0gKiB2YXIoLS1hcHBsZS1wYXktc2NhbGUpKTtcbiAgICBmb250LXdlaWdodDogMzAwO1xuICAgIGFsaWduLXNlbGY6IGNlbnRlcjtcbiAgICBtYXJnaW4tcmlnaHQ6IGNhbGMoMnB4ICogdmFyKC0tYXBwbGUtcGF5LXNjYWxlKSk7XG4gIH1cbiAgLmFwcGxlLXBheS1idXR0b24td2l0aC10ZXh0ID4gLmxvZ28ge1xuICAgIHdpZHRoOiBjYWxjKDM1cHggKiB2YXIoLS1zY2FsZSkpO1xuICAgIGhlaWdodDogMTAwJTtcbiAgICBiYWNrZ3JvdW5kLXNpemU6IDEwMCUgNjAlO1xuICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gICAgYmFja2dyb3VuZC1wb3NpdGlvbjogMCA1MCU7XG4gICAgbWFyZ2luLWxlZnQ6IGNhbGMoMnB4ICogdmFyKC0tYXBwbGUtcGF5LXNjYWxlKSk7XG4gICAgYm9yZGVyOiBub25lO1xuICB9XG59XG4uZHJhZ2dhYmxlIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xufVxuXG4ubW9sbGllLWV2ZXJ5LWxhYmVsLWNvbnRhaW5lciBzcGFuLnVpLmxhYmVsIHtcbiAgbWFyZ2luOiAwLjVyZW0gMCAwIDAuNXJlbTtcbn1cblxuLyogUG9wdXAgY29udGFpbmVyICovXG4ucG9wdXAtY29udGFpbmVyIHtcbiAgcG9zaXRpb246IGZpeGVkO1xuICB0b3A6IDA7XG4gIGxlZnQ6IDA7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IDEwMCU7XG4gIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMCwgMCwgMCwgMC41KTsgLyogU2VtaS10cmFuc3BhcmVudCBiYWNrZ3JvdW5kICovXG4gIGRpc3BsYXk6IGZsZXg7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICB6LWluZGV4OiA5OTk5OyAvKiBFbnN1cmUgaXQncyBhYm92ZSBvdGhlciBjb250ZW50ICovXG59XG5cbi8qIFBvcHVwICovXG4ucG9wdXAge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmZmZmO1xuICBwYWRkaW5nOiAyMHB4O1xuICBib3JkZXItcmFkaXVzOiA1cHg7XG4gIGJveC1zaGFkb3c6IDAgMCAxMHB4IHJnYmEoMCwgMCwgMCwgMC4zKTtcbn1cblxuLyogUG9wdXAgaGVhZGVyICovXG4ucG9wdXAtaGVhZGVyIHtcbiAgdGV4dC1hbGlnbjogbGVmdDtcbiAgbWFyZ2luLWJvdHRvbTogMTBweDtcbn1cblxuLnBvcHVwLWhlYWRlciBoMiB7XG4gIG1hcmdpbjogMDtcbn1cblxuLnBvcHVwLWhlYWRlciBociB7XG4gIG1hcmdpbjogNXB4IDA7XG4gIGJvcmRlcjogbm9uZTtcbiAgYm9yZGVyLXRvcDogMXB4IHNvbGlkICNjY2NjY2M7XG59XG5cbi8qIFBvcHVwIGNvbnRlbnQgKi9cbi5wb3B1cC1jb250ZW50IHtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBtYXJnaW4tYm90dG9tOiAyMHB4O1xufVxuXG4ucG9wdXAtY29udGVudCBpbWcge1xuICBkaXNwbGF5OiBibG9jaztcbiAgbWFyZ2luOiAwIGF1dG87XG59XG5cbi8qIFBvcHVwIGJ1dHRvbnMgKi9cbi5wb3B1cC1idXR0b25zIHtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xufVxuXG4ucG9wdXAtYnV0dG9ucyBidXR0b24ge1xuICBtYXJnaW46IDVweDtcbiAgcGFkZGluZzogMTBweCAyMHB4O1xuICBib3JkZXI6IDFweCBzb2xpZCAjY2NjY2NjO1xuICBib3JkZXItcmFkaXVzOiA1cHg7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmZmZmZmY7XG4gIGN1cnNvcjogcG9pbnRlcjtcbn1cblxuLnBvcHVwLWJ1dHRvbnMgYnV0dG9uOmhvdmVyIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2YwZjBmMDtcbn1cblxuLyogU3R5bGluZyBmb3IgY2FuY2VsIGJ1dHRvbiAqL1xuLnBvcHVwLWJ1dHRvbnMgI2NhbmNlbC1idXR0b24ge1xuICBib3JkZXI6IG5vbmU7XG59IiwiLm1vbGxpZS1ldmVyeS1sYWJlbC1jb250YWluZXIge1xuICBzcGFuLnVpLmxhYmVsIHtcbiAgICBtYXJnaW46IDAuNXJlbSAwIDAgMC41cmVtO1xuICB9XG59XG5cbi8qIFBvcHVwIGNvbnRhaW5lciAqL1xuLnBvcHVwLWNvbnRhaW5lciB7XG4gICAgcG9zaXRpb246IGZpeGVkO1xuICAgIHRvcDogMDtcbiAgICBsZWZ0OiAwO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogMTAwJTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuNSk7IC8qIFNlbWktdHJhbnNwYXJlbnQgYmFja2dyb3VuZCAqL1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICB6LWluZGV4OiA5OTk5OyAvKiBFbnN1cmUgaXQncyBhYm92ZSBvdGhlciBjb250ZW50ICovXG59XG5cbi8qIFBvcHVwICovXG4ucG9wdXAge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmZmZmY7XG4gICAgcGFkZGluZzogMjBweDtcbiAgICBib3JkZXItcmFkaXVzOiA1cHg7XG4gICAgYm94LXNoYWRvdzogMCAwIDEwcHggcmdiYSgwLCAwLCAwLCAwLjMpO1xufVxuXG4vKiBQb3B1cCBoZWFkZXIgKi9cbi5wb3B1cC1oZWFkZXIge1xuICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gICAgbWFyZ2luLWJvdHRvbTogMTBweDtcbn1cblxuLnBvcHVwLWhlYWRlciBoMiB7XG4gICAgbWFyZ2luOiAwO1xufVxuXG4ucG9wdXAtaGVhZGVyIGhyIHtcbiAgICBtYXJnaW46IDVweCAwO1xuICAgIGJvcmRlcjogbm9uZTtcbiAgICBib3JkZXItdG9wOiAxcHggc29saWQgI2NjY2NjYztcbn1cblxuLyogUG9wdXAgY29udGVudCAqL1xuLnBvcHVwLWNvbnRlbnQge1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICBtYXJnaW4tYm90dG9tOiAyMHB4O1xufVxuXG4ucG9wdXAtY29udGVudCBpbWcge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIG1hcmdpbjogMCBhdXRvO1xufVxuXG4vKiBQb3B1cCBidXR0b25zICovXG4ucG9wdXAtYnV0dG9ucyB7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xufVxuXG4ucG9wdXAtYnV0dG9ucyBidXR0b24ge1xuICAgIG1hcmdpbjogNXB4O1xuICAgIHBhZGRpbmc6IDEwcHggMjBweDtcbiAgICBib3JkZXI6IDFweCBzb2xpZCAjY2NjY2NjO1xuICAgIGJvcmRlci1yYWRpdXM6IDVweDtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmZmZmO1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbn1cblxuLnBvcHVwLWJ1dHRvbnMgYnV0dG9uOmhvdmVyIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjBmMGYwO1xufVxuXG4vKiBTdHlsaW5nIGZvciBjYW5jZWwgYnV0dG9uICovXG4ucG9wdXAtYnV0dG9ucyAjY2FuY2VsLWJ1dHRvbiB7XG4gICAgYm9yZGVyOiBub25lO1xufVxuXG4iLCIvKipcbiAqIHRvbS1zZWxlY3QuY3NzICh2Ly9AQHZlcnNpb24pXG4gKiBDb3B5cmlnaHQgKGMpIGNvbnRyaWJ1dG9yc1xuICpcbiAqIExpY2Vuc2VkIHVuZGVyIHRoZSBBcGFjaGUgTGljZW5zZSwgVmVyc2lvbiAyLjAgKHRoZSBcIkxpY2Vuc2VcIik7IHlvdSBtYXkgbm90IHVzZSB0aGlzXG4gKiBmaWxlIGV4Y2VwdCBpbiBjb21wbGlhbmNlIHdpdGggdGhlIExpY2Vuc2UuIFlvdSBtYXkgb2J0YWluIGEgY29weSBvZiB0aGUgTGljZW5zZSBhdDpcbiAqIGh0dHA6Ly93d3cuYXBhY2hlLm9yZy9saWNlbnNlcy9MSUNFTlNFLTIuMFxuICpcbiAqIFVubGVzcyByZXF1aXJlZCBieSBhcHBsaWNhYmxlIGxhdyBvciBhZ3JlZWQgdG8gaW4gd3JpdGluZywgc29mdHdhcmUgZGlzdHJpYnV0ZWQgdW5kZXJcbiAqIHRoZSBMaWNlbnNlIGlzIGRpc3RyaWJ1dGVkIG9uIGFuIFwiQVMgSVNcIiBCQVNJUywgV0lUSE9VVCBXQVJSQU5USUVTIE9SIENPTkRJVElPTlMgT0ZcbiAqIEFOWSBLSU5ELCBlaXRoZXIgZXhwcmVzcyBvciBpbXBsaWVkLiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZVxuICogZ292ZXJuaW5nIHBlcm1pc3Npb25zIGFuZCBsaW1pdGF0aW9ucyB1bmRlciB0aGUgTGljZW5zZS5cbiAqXG4gKi9cbi50cy1jb250cm9sIHtcbiAgYm9yZGVyOiAxcHggc29saWQgI2QwZDBkMDtcbiAgcGFkZGluZzogOHB4IDhweDtcbiAgd2lkdGg6IDEwMCU7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgei1pbmRleDogMTtcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgYm94LXNoYWRvdzogaW5zZXQgMCAxcHggMXB4IHJnYmEoMCwgMCwgMCwgMC4xKTtcbiAgYm9yZGVyLXJhZGl1czogM3B4O1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LXdyYXA6IHdyYXA7XG59XG4udHMtd3JhcHBlci5tdWx0aS5oYXMtaXRlbXMgLnRzLWNvbnRyb2wge1xuICBwYWRkaW5nOiBjYWxjKDhweCAtIDJweCAtIDFweCkgOHB4IGNhbGMoOHB4IC0gMnB4IC0gM3B4IC0gMXB4KTtcbn1cbi5mdWxsIC50cy1jb250cm9sIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjtcbn1cbi5kaXNhYmxlZCAudHMtY29udHJvbCwgLmRpc2FibGVkIC50cy1jb250cm9sICoge1xuICBjdXJzb3I6IGRlZmF1bHQgIWltcG9ydGFudDtcbn1cbi5mb2N1cyAudHMtY29udHJvbCB7XG4gIGJveC1zaGFkb3c6IGluc2V0IDAgMXB4IDJweCByZ2JhKDAsIDAsIDAsIDAuMTUpO1xufVxuLnRzLWNvbnRyb2wgPiAqIHtcbiAgdmVydGljYWwtYWxpZ246IGJhc2VsaW5lO1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG59XG4udHMtd3JhcHBlci5tdWx0aSAudHMtY29udHJvbCA+IGRpdiB7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgbWFyZ2luOiAwIDNweCAzcHggMDtcbiAgcGFkZGluZzogMnB4IDZweDtcbiAgYmFja2dyb3VuZDogIzFkYTdlZTtcbiAgY29sb3I6ICNmZmY7XG4gIGJvcmRlcjogMXB4IHNvbGlkICMwMDczYmI7XG4gIG92ZXJmbG93OiBhdXRvO1xufVxuLnRzLXdyYXBwZXIubXVsdGkgLnRzLWNvbnRyb2wgPiBkaXYuYWN0aXZlIHtcbiAgYmFja2dyb3VuZDogIzkyYzgzNjtcbiAgY29sb3I6ICNmZmY7XG4gIGJvcmRlcjogMXB4IHNvbGlkICMwMDU3OGQ7XG59XG4udHMtd3JhcHBlci5tdWx0aS5kaXNhYmxlZCAudHMtY29udHJvbCA+IGRpdiwgLnRzLXdyYXBwZXIubXVsdGkuZGlzYWJsZWQgLnRzLWNvbnRyb2wgPiBkaXYuYWN0aXZlIHtcbiAgY29sb3I6IGhzbCgwLCAwJSwgMTMwJSk7XG4gIGJhY2tncm91bmQ6ICNkMmQyZDI7XG4gIGJvcmRlcjogMXB4IHNvbGlkICNhYWFhYWE7XG59XG4udHMtY29udHJvbCA+IGlucHV0IHtcbiAgZmxleDogMSAxIGF1dG87XG4gIG1pbi13aWR0aDogN3JlbTtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrICFpbXBvcnRhbnQ7XG4gIHBhZGRpbmc6IDAgIWltcG9ydGFudDtcbiAgbWluLWhlaWdodDogMCAhaW1wb3J0YW50O1xuICBtYXgtaGVpZ2h0OiBub25lICFpbXBvcnRhbnQ7XG4gIG1heC13aWR0aDogMTAwJSAhaW1wb3J0YW50O1xuICBtYXJnaW46IDAgIWltcG9ydGFudDtcbiAgdGV4dC1pbmRlbnQ6IDAgIWltcG9ydGFudDtcbiAgYm9yZGVyOiAwIG5vbmUgIWltcG9ydGFudDtcbiAgYmFja2dyb3VuZDogbm9uZSAhaW1wb3J0YW50O1xuICBsaW5lLWhlaWdodDogaW5oZXJpdCAhaW1wb3J0YW50O1xuICB1c2VyLXNlbGVjdDogYXV0byAhaW1wb3J0YW50O1xuICBib3gtc2hhZG93OiBub25lICFpbXBvcnRhbnQ7XG59XG4udHMtY29udHJvbCA+IGlucHV0OjotbXMtY2xlYXIge1xuICBkaXNwbGF5OiBub25lO1xufVxuLnRzLWNvbnRyb2wgPiBpbnB1dDpmb2N1cyB7XG4gIG91dGxpbmU6IG5vbmUgIWltcG9ydGFudDtcbn1cbi5oYXMtaXRlbXMgLnRzLWNvbnRyb2wgPiBpbnB1dCB7XG4gIG1hcmdpbjogMHB4IDRweCAhaW1wb3J0YW50O1xufVxuLnRzLWNvbnRyb2wucnRsIHtcbiAgdGV4dC1hbGlnbjogcmlnaHQ7XG59XG4udHMtY29udHJvbC5ydGwuc2luZ2xlIC50cy1jb250cm9sOmFmdGVyIHtcbiAgbGVmdDogMTVweDtcbiAgcmlnaHQ6IGF1dG87XG59XG4udHMtY29udHJvbC5ydGwgLnRzLWNvbnRyb2wgPiBpbnB1dCB7XG4gIG1hcmdpbjogMHB4IDRweCAwcHggLTJweCAhaW1wb3J0YW50O1xufVxuLmRpc2FibGVkIC50cy1jb250cm9sIHtcbiAgb3BhY2l0eTogMC41O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmFmYWZhO1xufVxuLmlucHV0LWhpZGRlbiAudHMtY29udHJvbCA+IGlucHV0IHtcbiAgb3BhY2l0eTogMDtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBsZWZ0OiAtMTAwMDBweDtcbn1cblxuLnRzLWRyb3Bkb3duIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDEwMCU7XG4gIGxlZnQ6IDA7XG4gIHdpZHRoOiAxMDAlO1xuICB6LWluZGV4OiAxMDtcbiAgYm9yZGVyOiAxcHggc29saWQgI2QwZDBkMDtcbiAgYmFja2dyb3VuZDogI2ZmZjtcbiAgbWFyZ2luOiAwLjI1cmVtIDAgMDtcbiAgYm9yZGVyLXRvcDogMCBub25lO1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICBib3gtc2hhZG93OiAwIDFweCAzcHggcmdiYSgwLCAwLCAwLCAwLjEpO1xuICBib3JkZXItcmFkaXVzOiAwIDAgM3B4IDNweDtcbn1cbi50cy1kcm9wZG93biBbZGF0YS1zZWxlY3RhYmxlXSB7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbn1cbi50cy1kcm9wZG93biBbZGF0YS1zZWxlY3RhYmxlXSAuaGlnaGxpZ2h0IHtcbiAgYmFja2dyb3VuZDogcmdiYSgxMjUsIDE2OCwgMjA4LCAwLjIpO1xuICBib3JkZXItcmFkaXVzOiAxcHg7XG59XG4udHMtZHJvcGRvd24gLm9wdGlvbixcbi50cy1kcm9wZG93biAub3B0Z3JvdXAtaGVhZGVyLFxuLnRzLWRyb3Bkb3duIC5uby1yZXN1bHRzLFxuLnRzLWRyb3Bkb3duIC5jcmVhdGUge1xuICBwYWRkaW5nOiA1cHggOHB4O1xufVxuLnRzLWRyb3Bkb3duIC5vcHRpb24sIC50cy1kcm9wZG93biBbZGF0YS1kaXNhYmxlZF0sIC50cy1kcm9wZG93biBbZGF0YS1kaXNhYmxlZF0gW2RhdGEtc2VsZWN0YWJsZV0ub3B0aW9uIHtcbiAgY3Vyc29yOiBpbmhlcml0O1xuICBvcGFjaXR5OiAwLjU7XG59XG4udHMtZHJvcGRvd24gW2RhdGEtc2VsZWN0YWJsZV0ub3B0aW9uIHtcbiAgb3BhY2l0eTogMTtcbiAgY3Vyc29yOiBwb2ludGVyO1xufVxuLnRzLWRyb3Bkb3duIC5vcHRncm91cDpmaXJzdC1jaGlsZCAub3B0Z3JvdXAtaGVhZGVyIHtcbiAgYm9yZGVyLXRvcDogMCBub25lO1xufVxuLnRzLWRyb3Bkb3duIC5vcHRncm91cC1oZWFkZXIge1xuICBjb2xvcjogIzMwMzAzMDtcbiAgYmFja2dyb3VuZDogI2ZmZjtcbiAgY3Vyc29yOiBkZWZhdWx0O1xufVxuLnRzLWRyb3Bkb3duIC5hY3RpdmUge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjVmYWZkO1xuICBjb2xvcjogIzQ5NWM2ODtcbn1cbi50cy1kcm9wZG93biAuYWN0aXZlLmNyZWF0ZSB7XG4gIGNvbG9yOiAjNDk1YzY4O1xufVxuLnRzLWRyb3Bkb3duIC5jcmVhdGUge1xuICBjb2xvcjogcmdiYSg0OCwgNDgsIDQ4LCAwLjUpO1xufVxuLnRzLWRyb3Bkb3duIC5zcGlubmVyIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICB3aWR0aDogMzBweDtcbiAgaGVpZ2h0OiAzMHB4O1xuICBtYXJnaW46IDVweCA4cHg7XG59XG4udHMtZHJvcGRvd24gLnNwaW5uZXI6OmFmdGVyIHtcbiAgY29udGVudDogXCIgXCI7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICB3aWR0aDogMjRweDtcbiAgaGVpZ2h0OiAyNHB4O1xuICBtYXJnaW46IDNweDtcbiAgYm9yZGVyLXJhZGl1czogNTAlO1xuICBib3JkZXI6IDVweCBzb2xpZCAjZDBkMGQwO1xuICBib3JkZXItY29sb3I6ICNkMGQwZDAgdHJhbnNwYXJlbnQgI2QwZDBkMCB0cmFuc3BhcmVudDtcbiAgYW5pbWF0aW9uOiBsZHMtZHVhbC1yaW5nIDEuMnMgbGluZWFyIGluZmluaXRlO1xufVxuQGtleWZyYW1lcyBsZHMtZHVhbC1yaW5nIHtcbiAgMCUge1xuICAgIHRyYW5zZm9ybTogcm90YXRlKDBkZWcpO1xuICB9XG4gIDEwMCUge1xuICAgIHRyYW5zZm9ybTogcm90YXRlKDM2MGRlZyk7XG4gIH1cbn1cblxuLnRzLWRyb3Bkb3duLWNvbnRlbnQge1xuICBvdmVyZmxvdzogaGlkZGVuIGF1dG87XG4gIG1heC1oZWlnaHQ6IDIwMHB4O1xuICBzY3JvbGwtYmVoYXZpb3I6IHNtb290aDtcbn1cblxuLnRzLXdyYXBwZXIucGx1Z2luLWRyYWdfZHJvcCAudHMtZHJhZ2dpbmcge1xuICBjb2xvcjogdHJhbnNwYXJlbnQgIWltcG9ydGFudDtcbn1cbi50cy13cmFwcGVyLnBsdWdpbi1kcmFnX2Ryb3AgLnRzLWRyYWdnaW5nID4gKiB7XG4gIHZpc2liaWxpdHk6IGhpZGRlbiAhaW1wb3J0YW50O1xufVxuXG4ucGx1Z2luLWNoZWNrYm94X29wdGlvbnM6bm90KC5ydGwpIC5vcHRpb24gaW5wdXQge1xuICBtYXJnaW4tcmlnaHQ6IDAuNXJlbTtcbn1cblxuLnBsdWdpbi1jaGVja2JveF9vcHRpb25zLnJ0bCAub3B0aW9uIGlucHV0IHtcbiAgbWFyZ2luLWxlZnQ6IDAuNXJlbTtcbn1cblxuLyogc3R5bGVsaW50LWRpc2FibGUgZnVuY3Rpb24tbmFtZS1jYXNlICovXG4ucGx1Z2luLWNsZWFyX2J1dHRvbiB7XG4gIC0tdHMtcHItY2xlYXItYnV0dG9uOiAxZW07XG59XG4ucGx1Z2luLWNsZWFyX2J1dHRvbiAuY2xlYXItYnV0dG9uIHtcbiAgb3BhY2l0eTogMDtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDUwJTtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpO1xuICByaWdodDogY2FsYyg4cHggLSA2cHgpO1xuICBtYXJnaW4tcmlnaHQ6IDAgIWltcG9ydGFudDtcbiAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQgIWltcG9ydGFudDtcbiAgdHJhbnNpdGlvbjogb3BhY2l0eSAwLjVzO1xuICBjdXJzb3I6IHBvaW50ZXI7XG59XG4ucGx1Z2luLWNsZWFyX2J1dHRvbi5mb3JtLXNlbGVjdCAuY2xlYXItYnV0dG9uLCAucGx1Z2luLWNsZWFyX2J1dHRvbi5zaW5nbGUgLmNsZWFyLWJ1dHRvbiB7XG4gIHJpZ2h0OiBtYXgodmFyKC0tdHMtcHItY2FyZXQpLCA4cHgpO1xufVxuLnBsdWdpbi1jbGVhcl9idXR0b24uZm9jdXMuaGFzLWl0ZW1zIC5jbGVhci1idXR0b24sIC5wbHVnaW4tY2xlYXJfYnV0dG9uOm5vdCguZGlzYWJsZWQpOmhvdmVyLmhhcy1pdGVtcyAuY2xlYXItYnV0dG9uIHtcbiAgb3BhY2l0eTogMTtcbn1cblxuLnRzLXdyYXBwZXIgLmRyb3Bkb3duLWhlYWRlciB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgcGFkZGluZzogMTBweCA4cHg7XG4gIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjZDBkMGQwO1xuICBiYWNrZ3JvdW5kOiBjb2xvci1taXgoI2ZmZiwgI2QwZDBkMCwgODUlKTtcbiAgYm9yZGVyLXJhZGl1czogM3B4IDNweCAwIDA7XG59XG4udHMtd3JhcHBlciAuZHJvcGRvd24taGVhZGVyLWNsb3NlIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICByaWdodDogOHB4O1xuICB0b3A6IDUwJTtcbiAgY29sb3I6ICMzMDMwMzA7XG4gIG9wYWNpdHk6IDAuNDtcbiAgbWFyZ2luLXRvcDogLTEycHg7XG4gIGxpbmUtaGVpZ2h0OiAyMHB4O1xuICBmb250LXNpemU6IDIwcHggIWltcG9ydGFudDtcbn1cbi50cy13cmFwcGVyIC5kcm9wZG93bi1oZWFkZXItY2xvc2U6aG92ZXIge1xuICBjb2xvcjogaHNsKDAsIDAlLCAtNi4xNzY0NzA1ODgyJSk7XG59XG5cbi5wbHVnaW4tZHJvcGRvd25faW5wdXQuZm9jdXMuZHJvcGRvd24tYWN0aXZlIC50cy1jb250cm9sIHtcbiAgYm94LXNoYWRvdzogbm9uZTtcbiAgYm9yZGVyOiAxcHggc29saWQgI2QwZDBkMDtcbn1cbi5wbHVnaW4tZHJvcGRvd25faW5wdXQgLmRyb3Bkb3duLWlucHV0IHtcbiAgYm9yZGVyOiAxcHggc29saWQgI2QwZDBkMDtcbiAgYm9yZGVyLXdpZHRoOiAwIDAgMXB4O1xuICBkaXNwbGF5OiBibG9jaztcbiAgcGFkZGluZzogOHB4IDhweDtcbiAgYm94LXNoYWRvdzogaW5zZXQgMCAxcHggMXB4IHJnYmEoMCwgMCwgMCwgMC4xKTtcbiAgd2lkdGg6IDEwMCU7XG4gIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xufVxuLnBsdWdpbi1kcm9wZG93bl9pbnB1dCAuaXRlbXMtcGxhY2Vob2xkZXIge1xuICBib3JkZXI6IDAgbm9uZSAhaW1wb3J0YW50O1xuICBib3gtc2hhZG93OiBub25lICFpbXBvcnRhbnQ7XG4gIHdpZHRoOiAxMDAlO1xufVxuLnBsdWdpbi1kcm9wZG93bl9pbnB1dC5oYXMtaXRlbXMgLml0ZW1zLXBsYWNlaG9sZGVyLCAucGx1Z2luLWRyb3Bkb3duX2lucHV0LmRyb3Bkb3duLWFjdGl2ZSAuaXRlbXMtcGxhY2Vob2xkZXIge1xuICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG59XG5cbi50cy13cmFwcGVyLnBsdWdpbi1pbnB1dF9hdXRvZ3Jvdy5oYXMtaXRlbXMgLnRzLWNvbnRyb2wgPiBpbnB1dCB7XG4gIG1pbi13aWR0aDogMDtcbn1cbi50cy13cmFwcGVyLnBsdWdpbi1pbnB1dF9hdXRvZ3Jvdy5oYXMtaXRlbXMuZm9jdXMgLnRzLWNvbnRyb2wgPiBpbnB1dCB7XG4gIGZsZXg6IG5vbmU7XG4gIG1pbi13aWR0aDogNHB4O1xufVxuLnRzLXdyYXBwZXIucGx1Z2luLWlucHV0X2F1dG9ncm93Lmhhcy1pdGVtcy5mb2N1cyAudHMtY29udHJvbCA+IGlucHV0OjpwbGFjZWhvbGRlciB7XG4gIGNvbG9yOiB0cmFuc3BhcmVudDtcbn1cblxuLnRzLWRyb3Bkb3duLnBsdWdpbi1vcHRncm91cF9jb2x1bW5zIC50cy1kcm9wZG93bi1jb250ZW50IHtcbiAgZGlzcGxheTogZmxleDtcbn1cbi50cy1kcm9wZG93bi5wbHVnaW4tb3B0Z3JvdXBfY29sdW1ucyAub3B0Z3JvdXAge1xuICBib3JkZXItcmlnaHQ6IDFweCBzb2xpZCAjZjJmMmYyO1xuICBib3JkZXItdG9wOiAwIG5vbmU7XG4gIGZsZXgtZ3JvdzogMTtcbiAgZmxleC1iYXNpczogMDtcbiAgbWluLXdpZHRoOiAwO1xufVxuLnRzLWRyb3Bkb3duLnBsdWdpbi1vcHRncm91cF9jb2x1bW5zIC5vcHRncm91cDpsYXN0LWNoaWxkIHtcbiAgYm9yZGVyLXJpZ2h0OiAwIG5vbmU7XG59XG4udHMtZHJvcGRvd24ucGx1Z2luLW9wdGdyb3VwX2NvbHVtbnMgLm9wdGdyb3VwOjpiZWZvcmUge1xuICBkaXNwbGF5OiBub25lO1xufVxuLnRzLWRyb3Bkb3duLnBsdWdpbi1vcHRncm91cF9jb2x1bW5zIC5vcHRncm91cC1oZWFkZXIge1xuICBib3JkZXItdG9wOiAwIG5vbmU7XG59XG5cbi50cy13cmFwcGVyLnBsdWdpbi1yZW1vdmVfYnV0dG9uIC5pdGVtIHtcbiAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG59XG4udHMtd3JhcHBlci5wbHVnaW4tcmVtb3ZlX2J1dHRvbiAuaXRlbSAucmVtb3ZlIHtcbiAgY29sb3I6IGluaGVyaXQ7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBwYWRkaW5nOiAwIDZweDtcbiAgYm9yZGVyLXJhZGl1czogMCAycHggMnB4IDA7XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG59XG4udHMtd3JhcHBlci5wbHVnaW4tcmVtb3ZlX2J1dHRvbiAuaXRlbSAucmVtb3ZlOmhvdmVyIHtcbiAgYmFja2dyb3VuZDogcmdiYSgwLCAwLCAwLCAwLjA1KTtcbn1cbi50cy13cmFwcGVyLnBsdWdpbi1yZW1vdmVfYnV0dG9uLmRpc2FibGVkIC5pdGVtIC5yZW1vdmU6aG92ZXIge1xuICBiYWNrZ3JvdW5kOiBub25lO1xufVxuLnRzLXdyYXBwZXIucGx1Z2luLXJlbW92ZV9idXR0b24gLnJlbW92ZS1zaW5nbGUge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHJpZ2h0OiAwO1xuICB0b3A6IDA7XG4gIGZvbnQtc2l6ZTogMjNweDtcbn1cblxuLnRzLXdyYXBwZXIucGx1Z2luLXJlbW92ZV9idXR0b246bm90KC5ydGwpIC5pdGVtIHtcbiAgcGFkZGluZy1yaWdodDogMCAhaW1wb3J0YW50O1xufVxuLnRzLXdyYXBwZXIucGx1Z2luLXJlbW92ZV9idXR0b246bm90KC5ydGwpIC5pdGVtIC5yZW1vdmUge1xuICBib3JkZXItbGVmdDogMXB4IHNvbGlkICMwMDczYmI7XG4gIG1hcmdpbi1sZWZ0OiA2cHg7XG59XG4udHMtd3JhcHBlci5wbHVnaW4tcmVtb3ZlX2J1dHRvbjpub3QoLnJ0bCkgLml0ZW0uYWN0aXZlIC5yZW1vdmUge1xuICBib3JkZXItbGVmdC1jb2xvcjogIzAwNTc4ZDtcbn1cbi50cy13cmFwcGVyLnBsdWdpbi1yZW1vdmVfYnV0dG9uOm5vdCgucnRsKS5kaXNhYmxlZCAuaXRlbSAucmVtb3ZlIHtcbiAgYm9yZGVyLWxlZnQtY29sb3I6ICNhYWFhYWE7XG59XG5cbi50cy13cmFwcGVyLnBsdWdpbi1yZW1vdmVfYnV0dG9uLnJ0bCAuaXRlbSB7XG4gIHBhZGRpbmctbGVmdDogMCAhaW1wb3J0YW50O1xufVxuLnRzLXdyYXBwZXIucGx1Z2luLXJlbW92ZV9idXR0b24ucnRsIC5pdGVtIC5yZW1vdmUge1xuICBib3JkZXItcmlnaHQ6IDFweCBzb2xpZCAjMDA3M2JiO1xuICBtYXJnaW4tcmlnaHQ6IDZweDtcbn1cbi50cy13cmFwcGVyLnBsdWdpbi1yZW1vdmVfYnV0dG9uLnJ0bCAuaXRlbS5hY3RpdmUgLnJlbW92ZSB7XG4gIGJvcmRlci1yaWdodC1jb2xvcjogIzAwNTc4ZDtcbn1cbi50cy13cmFwcGVyLnBsdWdpbi1yZW1vdmVfYnV0dG9uLnJ0bC5kaXNhYmxlZCAuaXRlbSAucmVtb3ZlIHtcbiAgYm9yZGVyLXJpZ2h0LWNvbG9yOiAjYWFhYWFhO1xufVxuXG46cm9vdCB7XG4gIC0tdHMtcHItY2xlYXItYnV0dG9uOiAwcHg7XG4gIC0tdHMtcHItY2FyZXQ6IDBweDtcbiAgLS10cy1wci1taW46IC43NXJlbTtcbn1cblxuLnRzLXdyYXBwZXIuc2luZ2xlIC50cy1jb250cm9sLCAudHMtd3JhcHBlci5zaW5nbGUgLnRzLWNvbnRyb2wgaW5wdXQge1xuICBjdXJzb3I6IHBvaW50ZXI7XG59XG5cbi50cy1jb250cm9sOm5vdCgucnRsKSB7XG4gIHBhZGRpbmctcmlnaHQ6IG1heCh2YXIoLS10cy1wci1taW4pLCB2YXIoLS10cy1wci1jbGVhci1idXR0b24pICsgdmFyKC0tdHMtcHItY2FyZXQpKSAhaW1wb3J0YW50O1xufVxuXG4udHMtY29udHJvbC5ydGwge1xuICBwYWRkaW5nLWxlZnQ6IG1heCh2YXIoLS10cy1wci1taW4pLCB2YXIoLS10cy1wci1jbGVhci1idXR0b24pICsgdmFyKC0tdHMtcHItY2FyZXQpKSAhaW1wb3J0YW50O1xufVxuXG4udHMtd3JhcHBlciB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbn1cblxuLnRzLWRyb3Bkb3duLFxuLnRzLWNvbnRyb2wsXG4udHMtY29udHJvbCBpbnB1dCB7XG4gIGNvbG9yOiAjMzAzMDMwO1xuICBmb250LWZhbWlseTogaW5oZXJpdDtcbiAgZm9udC1zaXplOiAxM3B4O1xuICBsaW5lLWhlaWdodDogMThweDtcbn1cblxuLnRzLWNvbnRyb2wsXG4udHMtd3JhcHBlci5zaW5nbGUuaW5wdXQtYWN0aXZlIC50cy1jb250cm9sIHtcbiAgYmFja2dyb3VuZDogI2ZmZjtcbiAgY3Vyc29yOiB0ZXh0O1xufVxuXG4udHMtaGlkZGVuLWFjY2Vzc2libGUge1xuICBib3JkZXI6IDAgIWltcG9ydGFudDtcbiAgY2xpcDogcmVjdCgwIDAgMCAwKSAhaW1wb3J0YW50O1xuICBjbGlwLXBhdGg6IGluc2V0KDUwJSkgIWltcG9ydGFudDtcbiAgb3ZlcmZsb3c6IGhpZGRlbiAhaW1wb3J0YW50O1xuICBwYWRkaW5nOiAwICFpbXBvcnRhbnQ7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZSAhaW1wb3J0YW50O1xuICB3aWR0aDogMXB4ICFpbXBvcnRhbnQ7XG4gIHdoaXRlLXNwYWNlOiBub3dyYXAgIWltcG9ydGFudDtcbn1cblxuLnRzLXdyYXBwZXIuc2luZ2xlIC50cy1jb250cm9sIHtcbiAgLS10cy1wci1jYXJldDogMnJlbTtcbn1cbi50cy13cmFwcGVyLnNpbmdsZSAudHMtY29udHJvbDo6YWZ0ZXIge1xuICBjb250ZW50OiBcIiBcIjtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiA1MCU7XG4gIG1hcmdpbi10b3A6IC0zcHg7XG4gIHdpZHRoOiAwO1xuICBoZWlnaHQ6IDA7XG4gIGJvcmRlci1zdHlsZTogc29saWQ7XG4gIGJvcmRlci13aWR0aDogNXB4IDVweCAwIDVweDtcbiAgYm9yZGVyLWNvbG9yOiAjODA4MDgwIHRyYW5zcGFyZW50IHRyYW5zcGFyZW50IHRyYW5zcGFyZW50O1xufVxuLnRzLXdyYXBwZXIuc2luZ2xlIC50cy1jb250cm9sOm5vdCgucnRsKTo6YWZ0ZXIge1xuICByaWdodDogMTVweDtcbn1cbi50cy13cmFwcGVyLnNpbmdsZSAudHMtY29udHJvbC5ydGw6OmFmdGVyIHtcbiAgbGVmdDogMTVweDtcbn1cbi50cy13cmFwcGVyLnNpbmdsZS5kcm9wZG93bi1hY3RpdmUgLnRzLWNvbnRyb2w6OmFmdGVyIHtcbiAgbWFyZ2luLXRvcDogLTRweDtcbiAgYm9yZGVyLXdpZHRoOiAwIDVweCA1cHggNXB4O1xuICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50IHRyYW5zcGFyZW50ICM4MDgwODAgdHJhbnNwYXJlbnQ7XG59XG4udHMtd3JhcHBlci5zaW5nbGUuaW5wdXQtYWN0aXZlIC50cy1jb250cm9sLCAudHMtd3JhcHBlci5zaW5nbGUuaW5wdXQtYWN0aXZlIC50cy1jb250cm9sIGlucHV0IHtcbiAgY3Vyc29yOiB0ZXh0O1xufVxuXG4udHMtd3JhcHBlciB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIG1pbi1oZWlnaHQ6IDM2cHg7XG59XG4udHMtd3JhcHBlci5tdWx0aS5oYXMtaXRlbXMgLnRzLWNvbnRyb2wge1xuICBwYWRkaW5nLWxlZnQ6IDVweDtcbiAgLS10cy1wci1taW46IDVweDtcbn1cbi50cy13cmFwcGVyLm11bHRpIC50cy1jb250cm9sIFtkYXRhLXZhbHVlXSB7XG4gIHRleHQtc2hhZG93OiAwIDFweCAwIHJnYmEoMCwgNTEsIDgzLCAwLjMpO1xuICBib3JkZXItcmFkaXVzOiAzcHg7XG4gIGJhY2tncm91bmQtY29sb3I6IGNvbG9yLW1peCgjMWRhN2VlLCAjMTc4ZWU5LCA2MCUpO1xuICBiYWNrZ3JvdW5kLWltYWdlOiBsaW5lYXItZ3JhZGllbnQodG8gYm90dG9tLCAjMWRhN2VlLCAjMTc4ZWU5KTtcbiAgYmFja2dyb3VuZC1yZXBlYXQ6IHJlcGVhdC14O1xuICBib3gtc2hhZG93OiAwIDFweCAwIHJnYmEoMCwgMCwgMCwgMC4yKSwgaW5zZXQgMCAxcHggcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjAzKTtcbn1cbi50cy13cmFwcGVyLm11bHRpIC50cy1jb250cm9sIFtkYXRhLXZhbHVlXS5hY3RpdmUge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiBjb2xvci1taXgoIzAwOGZkOCwgIzAwNzVjZiwgNjAlKTtcbiAgYmFja2dyb3VuZC1pbWFnZTogbGluZWFyLWdyYWRpZW50KHRvIGJvdHRvbSwgIzAwOGZkOCwgIzAwNzVjZik7XG4gIGJhY2tncm91bmQtcmVwZWF0OiByZXBlYXQteDtcbn1cbi50cy13cmFwcGVyLm11bHRpLmRpc2FibGVkIC50cy1jb250cm9sIFtkYXRhLXZhbHVlXSB7XG4gIGNvbG9yOiAjOTk5O1xuICB0ZXh0LXNoYWRvdzogbm9uZTtcbiAgYmFja2dyb3VuZDogbm9uZTtcbiAgYm94LXNoYWRvdzogbm9uZTtcbn1cbi50cy13cmFwcGVyLm11bHRpLmRpc2FibGVkIC50cy1jb250cm9sIFtkYXRhLXZhbHVlXSwgLnRzLXdyYXBwZXIubXVsdGkuZGlzYWJsZWQgLnRzLWNvbnRyb2wgW2RhdGEtdmFsdWVdIC5yZW1vdmUge1xuICBib3JkZXItY29sb3I6ICNlNmU2ZTY7XG59XG4udHMtd3JhcHBlci5tdWx0aS5kaXNhYmxlZCAudHMtY29udHJvbCBbZGF0YS12YWx1ZV0gLnJlbW92ZSB7XG4gIGJhY2tncm91bmQ6IG5vbmU7XG59XG4udHMtd3JhcHBlci5zaW5nbGUgLnRzLWNvbnRyb2wge1xuICBib3gtc2hhZG93OiAwIDFweCAwIHJnYmEoMCwgMCwgMCwgMC4wNSksIGluc2V0IDAgMXB4IDAgcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjgpO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiBjb2xvci1taXgoI2ZlZmVmZSwgI2YyZjJmMiwgNjAlKTtcbiAgYmFja2dyb3VuZC1pbWFnZTogbGluZWFyLWdyYWRpZW50KHRvIGJvdHRvbSwgI2ZlZmVmZSwgI2YyZjJmMik7XG4gIGJhY2tncm91bmQtcmVwZWF0OiByZXBlYXQteDtcbn1cblxuLnRzLXdyYXBwZXIuc2luZ2xlIC50cy1jb250cm9sLCAudHMtZHJvcGRvd24uc2luZ2xlIHtcbiAgYm9yZGVyLWNvbG9yOiAjYjhiOGI4O1xufVxuXG4uZHJvcGRvd24tYWN0aXZlIC50cy1jb250cm9sIHtcbiAgYm9yZGVyLXJhZGl1czogM3B4IDNweCAwIDA7XG59XG5cbi50cy1kcm9wZG93biAub3B0Z3JvdXAtaGVhZGVyIHtcbiAgcGFkZGluZy10b3A6IDdweDtcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gIGZvbnQtc2l6ZTogMC44NWVtO1xufVxuLnRzLWRyb3Bkb3duIC5vcHRncm91cCB7XG4gIGJvcmRlci10b3A6IDFweCBzb2xpZCAjZjBmMGYwO1xufVxuLnRzLWRyb3Bkb3duIC5vcHRncm91cDpmaXJzdC1jaGlsZCB7XG4gIGJvcmRlci10b3A6IDAgbm9uZTtcbn0iLCJbZGF0YS1sb2FkaW5nPVwiXCJdLFtkYXRhLWxvYWRpbmc9c2hvd10sW2RhdGEtbG9hZGluZyo9XFx8c2hvd117ZGlzcGxheTpub25lfSIsIjpyb290IHtcbiAgICAvKiBEYXJrIHRoZW1lIHBhbGV0dGUgZnJvbSBjb2xvcnNfYXJlX25pY2UuaHRtbCAqL1xuICAgIC0tcnlsby1jeWFuOiAjMDBCOEQ0O1xuICAgIC0tcnlsby1ncmVlbjogIzAwQzg1MztcbiAgICAtLXJ5bG8tZ3JhZDogbGluZWFyLWdyYWRpZW50KDEzNWRlZywgdmFyKC0tcnlsby1jeWFuKSwgdmFyKC0tcnlsby1ncmVlbikpO1xuICAgIC0tZGFyazogIzBhMTEyMDtcbiAgICAtLWRhcmtlcjogIzA1MDgwZjtcbiAgICAtLXdoaXRlOiAjZmZmZmZmO1xuICAgIC0tZ3JheS1iZzogIzEyMWEyYTtcbiAgICAtLWdyYXktcGFuZTogIzFhMjUzODtcbiAgICAtLXRleHQtYm9keTogI2M1ZDFlNjtcbiAgICAtLXRleHQtbGlnaHQ6ICM5NGEzYjg7XG4gICAgLS10cmFuc2l0aW9uOiBhbGwgMC41cyBjdWJpYy1iZXppZXIoMC4xNiwgMSwgMC4zLCAxKTtcbiAgICAtLWNhcmQtYmc6ICMxNTIwMzU7XG4gICAgLS1ib3JkZXI6ICMyMzMwNDc7XG4gICAgLS1yeWxvLWFjY2VudDogIzAwQjhENDtcbiAgICAtLXJ5bG8tZ3JlZW4tbXV0ZWQ6IHJnYmEoMCwgMjAwLCA4MywgMC4zNSk7XG59XG5cbioge1xuICAgIG1hcmdpbjogMDtcbiAgICBwYWRkaW5nOiAwO1xuICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgZm9udC1mYW1pbHk6ICdJbnRlcicsICdTZWdvZSBVSScsIFJvYm90bywgSGVsdmV0aWNhLCBBcmlhbCwgc2Fucy1zZXJpZjtcbn1cblxuYm9keSB7XG4gICAgYmFja2dyb3VuZDogdmFyKC0tZGFyayk7XG4gICAgY29sb3I6IHZhcigtLXRleHQtYm9keSk7XG4gICAgbGluZS1oZWlnaHQ6IDEuNjtcbiAgICBvdmVyZmxvdy14OiBoaWRkZW47XG59XG5cbmJvZHkgaDEsIGgyIHtcbiAgICBmb250LXdlaWdodDogNzAwO1xufVxuXG4uc3lsaXVzLXNob3AtbG9hZGVyIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKHZhcigtLWJzLWRhcmstcmdiKSwgNzAlKSAhaW1wb3J0YW50O1xufVxuXG4uY29udGFpbmVyIHtcbiAgICB3aWR0aDogOTAlO1xuICAgIG1heC13aWR0aDogMTIwMHB4O1xuICAgIG1hcmdpbjogMCBhdXRvO1xuICAgIHBhZGRpbmc6IDAgMSU7XG59XG5cbmRpdi5jbGVhci1mbG9hdCB7XG4gICAgY2xlYXI6IGxlZnQ7XG59XG5cbi8qIC0tLSBTbWFydCBIZWFkZXIgLS0tICovXG4jaGVhZGVyU3BhY2VyIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgaGVpZ2h0OiA5NXB4O1xuICAgIHdpZHRoOiAxMDAlO1xufVxuXG5oZWFkZXIge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgcGFkZGluZzogNXB4IDIwcHg7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHdpZHRoOiA5NSU7XG4gICAgbWF4LXdpZHRoOiAxNDAwcHg7XG4gICAgdG9wOiAxMHB4O1xuICAgIGxlZnQ6IDUwJTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTUwJSk7XG4gICAgYmFja2dyb3VuZDogcmdiYSgxMCwgMTcsIDMyLCAwLjgpO1xuICAgIGJhY2tkcm9wLWZpbHRlcjogYmx1cigxMnB4KTtcbiAgICB6LWluZGV4OiAxMDI1O1xuICAgIHRyYW5zaXRpb246IHZhcigtLXRyYW5zaXRpb24pO1xuICAgIGJvcmRlci1yYWRpdXM6IDE2cHg7XG4gICAgYm9yZGVyOiAxcHggc29saWQgdmFyKC0tYm9yZGVyKTtcbn1cblxuaGVhZGVyLmRvY2tlZCB7XG4gICAgcG9zaXRpb246IGZpeGVkO1xuICAgIHRvcDogMDtcbiAgICBib3JkZXItcmFkaXVzOiAwO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIG1heC13aWR0aDogMTAwJTtcbiAgICBsZWZ0OiAwO1xuICAgIHRyYW5zZm9ybTogbm9uZTtcbiAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgdmFyKC0tYm9yZGVyKTtcbiAgICBiYWNrZ3JvdW5kOiB2YXIoLS1kYXJrZXIpO1xufVxuXG5oZWFkZXIuaGlkZGVuIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTUwJSkgdHJhbnNsYXRlWSgtMTIwJSk7XG59XG5cbmhlYWRlci5kb2NrZWQuaGlkZGVuIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTEyMCUpO1xufVxuXG4ubG9nbyB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGdhcDogMTJweDtcbiAgICBmb250LXNpemU6IDEuNHJlbTtcbiAgICBmb250LXdlaWdodDogODAwO1xuICAgIGNvbG9yOiB2YXIoLS13aGl0ZSk7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgIGxldHRlci1zcGFjaW5nOiAtMC41cHg7XG59XG5cbi5sb2dvIGltZyB7XG4gICAgd2lkdGg6IDEyMHB4O1xuICAgIGhlaWdodDogYXV0bztcbiAgICBvYmplY3QtZml0OiBjb250YWluO1xufVxuXG4uZm9vdGVyLWxvZ28gaW1nIHtcbiAgICB3aWR0aDogMTUwcHg7XG4gICAgaGVpZ2h0OiBhdXRvO1xuICAgIG9iamVjdC1maXQ6IGNvbnRhaW47XG59XG5cbm5hdiB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xufVxuXG5uYXYgdWwge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgbGlzdC1zdHlsZTogbm9uZTtcbiAgICBnYXA6IDI1cHg7XG4gICAgZmxleC13cmFwOiB3cmFwO1xuICAgIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7XG4gICAgbWFyZ2luLWJvdHRvbTogMHB4OyAvKiBib290c3RyYXAgY3NzIGRlZmluZXMgdGhpcyBhcyAxcmVtICovXG59XG5cbi5tb2JpbGUtbWVudS10b2dnbGUge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gICAgd2lkdGg6IDMwcHg7XG4gICAgaGVpZ2h0OiAyMXB4O1xuICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICAgIGJvcmRlcjogbm9uZTtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgcGFkZGluZzogMDtcbiAgICB6LWluZGV4OiAxMTAwO1xufVxuXG4ubW9iaWxlLW1lbnUtdG9nZ2xlIHNwYW4ge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogM3B4O1xuICAgIGJhY2tncm91bmQ6IHZhcigtLXdoaXRlKTtcbiAgICBib3JkZXItcmFkaXVzOiAxMHB4O1xuICAgIHRyYW5zaXRpb246IHZhcigtLXRyYW5zaXRpb24pO1xufVxuXG5uYXYgYSB7XG4gICAgY29sb3I6IHZhcigtLXRleHQtbGlnaHQpO1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICBmb250LXdlaWdodDogNTAwO1xuICAgIGZvbnQtc2l6ZTogMC45cmVtO1xuICAgIHRyYW5zaXRpb246IHZhcigtLXRyYW5zaXRpb24pO1xuICAgIHBhZGRpbmc6IDhweCAxMnB4O1xuICAgIGJvcmRlci1yYWRpdXM6IDZweDtcbn1cblxubmF2IGE6aG92ZXIge1xuICAgIGNvbG9yOiB2YXIoLS1yeWxvLWN5YW4pO1xuICAgIGJhY2tncm91bmQ6IHJnYmEoMCwgMTg0LCAyMTIsIDAuMSk7XG59XG5cblxuLyogLS0tIENvbW1vbiBDb21wb25lbnRzIC0tLSAqL1xuLmJ0biB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIHBhZGRpbmc6IDEycHggMThweDtcbiAgICBiYWNrZ3JvdW5kOiB2YXIoLS1yeWxvLWdyYWQpO1xuICAgIGNvbG9yOiB2YXIoLS13aGl0ZSk7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgIGJvcmRlci1yYWRpdXM6IDMwcHg7XG4gICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICB0cmFuc2l0aW9uOiB2YXIoLS10cmFuc2l0aW9uKTtcbiAgICBib3JkZXI6IG5vbmU7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIGZvbnQtc2l6ZTogMXJlbTtcbiAgICBib3gtc2hhZG93OiAwIDRweCAxNXB4IHJnYmEoMCwgMTg0LCAyMTIsIDAuMyk7XG59XG5cbi5idG46aG92ZXIge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtM3B4KTtcbiAgICBib3gtc2hhZG93OiAwIDZweCAyMHB4IHJnYmEoMCwgMTg0LCAyMTIsIDAuNCk7XG59XG5cbi5idG4tb3V0bGluZSB7XG4gICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gICAgYm9yZGVyOiAycHggc29saWQgdmFyKC0tcnlsby1jeWFuKTtcbn1cblxuLmJ0bi1vdXRsaW5lOmhvdmVyIHtcbiAgICBiYWNrZ3JvdW5kOiByZ2JhKDAsIDE4NCwgMjEyLCAwLjEpO1xufVxuXG4ucmVzdWx0LXBpbGwge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBwYWRkaW5nOiA2cHggMTZweDtcbiAgICBib3JkZXItcmFkaXVzOiAyMHB4O1xuICAgIGZvbnQtd2VpZ2h0OiA1MDA7XG4gICAgZm9udC1zaXplOiAwLjlyZW07XG4gICAgbWFyZ2luLXRvcDogMTVweDtcbiAgICB0cmFuc2l0aW9uOiB2YXIoLS10cmFuc2l0aW9uKTtcbn1cbi5waWxsLXN1Y2Nlc3Mge1xuICAgIGJhY2tncm91bmQ6ICMwMDRkMmE7XG4gICAgY29sb3I6IHZhcigtLXJ5bG8tZ3JlZW4pO1xuICAgIGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLXJ5bG8tZ3JlZW4pO1xufVxuLnBpbGwtZXJyb3Ige1xuICAgIGJhY2tncm91bmQ6ICM0ZDAwMDA7XG4gICAgY29sb3I6ICNmZjQ0NDQ7XG4gICAgYm9yZGVyOiAxcHggc29saWQgI2ZmNDQ0NDtcbn1cblxuLyogSG91c2UgQW5pbWF0aW9uIExheW91dCAmIEVsZW1lbnRzICovXG4uaG93LWl0LXdvcmtzLWNvbnRhaW5lciB7XG4gICAgZGlzcGxheTogZ3JpZDtcbiAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDFmciAxZnI7XG4gICAgZ2FwOiA2MHB4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgbWFyZ2luLXRvcDogNTBweDtcbn1cblxuLmhvdy1pdC13b3Jrcy10ZXh0IHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgZ2FwOiAzMHB4O1xufVxuXG4uc3RlcC1pdGVtIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICBnYXA6IDIwcHg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBtYXJnaW4tYm90dG9tOiAzMHB4O1xufVxuXG4uc3RlcC1udW0ge1xuICAgIGZsZXgtc2hyaW5rOiAwO1xuICAgIHdpZHRoOiA0MHB4O1xuICAgIGhlaWdodDogNDBweDtcbiAgICBiYWNrZ3JvdW5kOiB2YXIoLS1yeWxvLWdyYWQpO1xuICAgIGNvbG9yOiB3aGl0ZTtcbiAgICBib3JkZXItcmFkaXVzOiA1MCU7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgIGZvbnQtd2VpZ2h0OiA4MDA7XG4gICAgZm9udC1zaXplOiAxLjFyZW07XG59XG5cbi5zdGVwLWhlYWRpbmcge1xuICAgIGNvbG9yOiB2YXIoLS13aGl0ZSk7XG4gICAgZm9udC1zaXplOiAxLjJyZW07XG4gICAgbWFyZ2luOiAwO1xuICAgIHdpZHRoOiAxNTBweDtcbiAgICBmbGV4LXNocmluazogMDtcbn1cblxuLnN0ZXAtY29udGVudCB7XG4gICAgZmxleDogMSAxIDMwMHB4O1xuICAgIG1pbi13aWR0aDogMDtcbn1cblxuLnN0ZXAtY29udGVudCBwIHtcbiAgICBjb2xvcjogdmFyKC0tdGV4dC1ib2R5KTtcbiAgICBmb250LXNpemU6IDEuMXJlbTtcbiAgICBtYXJnaW46IDA7XG59XG5cbi8qIC0tLSBNb2Rlcm4gU3BlY3MgVGFibGUgU3R5bGVzIC0tLSAqL1xuLnNwZWNzLW1vZGVybi1jb250YWluZXIge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICBnYXA6IDA7XG4gICAgYm9yZGVyOiAxcHggc29saWQgdmFyKC0tYm9yZGVyKTtcbiAgICBib3JkZXItcmFkaXVzOiAxNnB4O1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgYmFja2dyb3VuZDogdmFyKC0tY2FyZC1iZyk7XG59XG4uc3BlYy1ncm91cCB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgdmFyKC0tYm9yZGVyKTtcbn1cbi5zcGVjLWdyb3VwOmxhc3QtY2hpbGQge1xuICAgIGJvcmRlci1ib3R0b206IG5vbmU7XG59XG4uc3BlYy1jYXRlZ29yeSB7XG4gICAgZmxleDogMCAwIDE2MHB4O1xuICAgIGJhY2tncm91bmQ6IHJnYmEoMCwgMjAwLCA4MywgMC4xKTtcbiAgICBjb2xvcjogdmFyKC0tcnlsby1ncmVlbik7XG4gICAgZm9udC13ZWlnaHQ6IDgwMDtcbiAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgIGZvbnQtc2l6ZTogMC44cmVtO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgcGFkZGluZzogMjBweDtcbiAgICBib3JkZXItcmlnaHQ6IDFweCBzb2xpZCB2YXIoLS1ib3JkZXIpO1xuICAgIGxpbmUtaGVpZ2h0OiAxLjI7XG59XG4uc3BlYy1kZXRhaWxzIHtcbiAgICBmbGV4OiAxO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbn1cbi5zcGVjLWl0ZW0ge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgcGFkZGluZzogMTJweCAyMHB4O1xuICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCByZ2JhKDM1LCA1MiwgNzEsIDAuNCk7XG4gICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZCAwLjJzIGVhc2U7XG59XG4uc3BlYy1pdGVtOmxhc3QtY2hpbGQge1xuICAgIGJvcmRlci1ib3R0b206IG5vbmU7XG59XG4uc3BlYy1pdGVtOmhvdmVyIHtcbiAgICBiYWNrZ3JvdW5kOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMDIpO1xufVxuLnNwZWMtcGFyYW0tbmFtZSB7XG4gICAgY29sb3I6IHZhcigtLXdoaXRlKTtcbiAgICBmb250LXdlaWdodDogNTAwO1xuICAgIGZvbnQtc2l6ZTogMC45NXJlbTtcbiAgICBtYXJnaW4tcmlnaHQ6IDIwcHg7XG59XG4uc3BlYy1wYXJhbS12YWx1ZSB7XG4gICAgY29sb3I6IHZhcigtLXRleHQtYm9keSk7XG4gICAgZm9udC1zaXplOiAwLjk1cmVtO1xuICAgIHRleHQtYWxpZ246IHJpZ2h0O1xuICAgIGZsZXgtc2hyaW5rOiAwO1xufVxuXG5AbWVkaWEgKG1heC13aWR0aDogNjAwcHgpIHtcbiAgICAuc3BlYy1ncm91cCB7XG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgfVxuICAgIC5zcGVjLWNhdGVnb3J5IHtcbiAgICAgICAgZmxleDogbm9uZTtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIGJvcmRlci1yaWdodDogbm9uZTtcbiAgICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIHZhcigtLWJvcmRlcik7XG4gICAgICAgIHBhZGRpbmc6IDEwcHg7XG4gICAgfVxuICAgIC5zcGVjLWl0ZW0ge1xuICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAgICBhbGlnbi1pdGVtczogZmxleC1zdGFydDtcbiAgICAgICAgZ2FwOiA0cHg7XG4gICAgfVxuICAgIC5zcGVjLXBhcmFtLXZhbHVlIHtcbiAgICAgICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgfVxufVxuXG4vKiBTcGVjcy1zcGVjaWZpYyBhZGp1c3RtZW50cyB0byByZXVzZSBzdGVwLWl0ZW0gc3R5bGUgKi9cbi5zcGVjcy1jb250YWluZXIgLnN0ZXAtbnVtIHtcbiAgICB3aWR0aDogYXV0bztcbiAgICBoZWlnaHQ6IGF1dG87XG4gICAgcGFkZGluZzogNnB4IDEyIGxhcHg7XG4gICAgYm9yZGVyLXJhZGl1czogMjBweDtcbiAgICBmb250LXNpemU6IDAuNzVyZW07XG4gICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgIGxldHRlci1zcGFjaW5nOiAwLjVweDtcbn1cbi5zcGVjcy1jb250YWluZXIgLnN0ZXAtaGVhZGluZyB7XG4gICAgd2lkdGg6IGF1dG87XG4gICAgZmxleDogMCAwIGF1dG87XG59XG4uc3BlY3MtY29udGFpbmVyIC5zdGVwLWNvbnRlbnQge1xuICAgIGZsZXg6IDE7XG59XG4uc3BlYy1ncm91cC1oZWFkZXIge1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICBjb2xvcjogdmFyKC0tcnlsby1jeWFuKTtcbiAgICBmb250LXdlaWdodDogYm9sZDtcbiAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgIGZvbnQtc2l6ZTogMC44NXJlbTtcbiAgICBsZXR0ZXItc3BhY2luZzogMS41cHg7XG4gICAgbWFyZ2luOiA0MHB4IDAgMjBweDtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG59XG4uc3BlYy1ncm91cC1oZWFkZXI6OmFmdGVyIHtcbiAgICBjb250ZW50OiAnJztcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgYm90dG9tOiAtMTBweDtcbiAgICBsZWZ0OiA1MCU7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC01MCUpO1xuICAgIHdpZHRoOiA0MHB4O1xuICAgIGhlaWdodDogMnB4O1xuICAgIGJhY2tncm91bmQ6IHZhcigtLXJ5bG8tY3lhbik7XG4gICAgb3BhY2l0eTogMC41O1xufVxuXG4uaG91c2UtY29udGFpbmVyIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgd2lkdGg6IDUwMHB4O1xuICAgIGhlaWdodDogYXV0bztcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBtYXJnaW46IDAgYXV0bztcbiAgICBib3gtc2l6aW5nOiBjb250ZW50LWJveDtcbn1cblxuLnJvb2Yge1xuICAgIGJveC1zaXppbmc6IGNvbnRlbnQtYm94O1xuICAgIHdpZHRoOiA1MDBweDtcbiAgICBoZWlnaHQ6IDEwMHB4O1xuICAgIGJhY2tncm91bmQ6IHZhcigtLWJvcmRlcik7XG4gICAgYmFja2dyb3VuZC1pbWFnZTogcmVwZWF0aW5nLWxpbmVhci1ncmFkaWVudCgwZGVnLCB0cmFuc3BhcmVudCwgdHJhbnNwYXJlbnQgMTJweCwgcmdiYSgwLDAsMCwwLjMpIDEycHgsIHJnYmEoMCwwLDAsMC4zKSAxNXB4KTtcbiAgICBjbGlwLXBhdGg6IHBvbHlnb24oNTAlIDAlLCAwJSAxMDAlLCAxMDAlIDEwMCUpO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB6LWluZGV4OiAzO1xuICAgIGZpbHRlcjogZHJvcC1zaGFkb3coMCAycHggMnB4IHJnYmEoMCwwLDAsMC41KSk7XG59XG5cbi5yb29mLWd1dHRlciB7XG4gICAgYm94LXNpemluZzogY29udGVudC1ib3g7XG4gICAgd2lkdGg6IDUwNHB4O1xuICAgIGhlaWdodDogOHB4O1xuICAgIGJhY2tncm91bmQ6ICMxYTI1Mzg7XG4gICAgYm9yZGVyOiAxcHggc29saWQgIzBhMTEyMDtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgei1pbmRleDogMjtcbiAgICBtYXJnaW4tdG9wOiAtNHB4O1xuICAgIGJvcmRlci1yYWRpdXM6IDAgMCA0cHggNHB4O1xuICAgIGJveC1zaGFkb3c6IDAgMnB4IDRweCByZ2JhKDAsMCwwLDAuMyk7XG59XG5cbi5ob3VzZS1waWxsIHtcbiAgICBiYWNrZ3JvdW5kOiB2YXIoLS1ncmF5LXBhbmUpO1xuICAgIGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLWJvcmRlcik7XG4gICAgYm9yZGVyLXJhZGl1czogNTBweDtcbiAgICBwYWRkaW5nOiAxNXB4IDMwcHg7XG4gICAgbWFyZ2luLXRvcDogMjBweDtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgY29sb3I6IHZhcigtLXdoaXRlKTtcbiAgICBmb250LWZhbWlseTogJ0ludGVyJywgc2Fucy1zZXJpZjtcbiAgICBib3gtc2hhZG93OiAwIDRweCAxNXB4IHJnYmEoMCwwLDAsMC4yKTtcbn1cbi5waWxsLXNsb2dhbiB7XG4gICAgZm9udC1zaXplOiAxLjFyZW07XG4gICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICBsZXR0ZXItc3BhY2luZzogMXB4O1xuICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgbGluZS1oZWlnaHQ6IDEuMjtcbn1cbi5waWxsLXN1Yi1zbG9nYW4ge1xuICAgIGZvbnQtc2l6ZTogMC44cmVtO1xuICAgIGZvbnQtd2VpZ2h0OiA0MDA7XG4gICAgdGV4dC10cmFuc2Zvcm06IG5vbmU7XG4gICAgbWFyZ2luLXRvcDogOHB4O1xuICAgIG9wYWNpdHk6IDAuODtcbiAgICBsZXR0ZXItc3BhY2luZzogMDtcbiAgICBsaW5lLWhlaWdodDogMS40O1xufVxuXG4uaG91c2UtYm9keSB7XG4gICAgYm94LXNpemluZzogY29udGVudC1ib3g7XG4gICAgd2lkdGg6IDUwMHB4O1xuICAgIGhlaWdodDogNDUwcHg7XG4gICAgYmFja2dyb3VuZDogdmFyKC0tZ3JheS1wYW5lKTtcbiAgICBib3JkZXI6IDRweCBzb2xpZCB2YXIoLS1ib3JkZXIpO1xuICAgIGJvcmRlci10b3A6IG5vbmU7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHotaW5kZXg6IDE7XG59XG5cbi5hc3NldCB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIHRyYW5zaXRpb246IGFsbCAwLjNzIGVhc2U7XG4gICAgei1pbmRleDogMjtcbn1cblxuLmFzc2V0LWxhYmVsIHtcbiAgICBmb250LXNpemU6IDAuOWVtO1xuICAgIGNvbG9yOiB2YXIoLS10ZXh0LWxpZ2h0KTtcbiAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgIG1hcmdpbi1ib3R0b206IDRweDtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG59XG5cbi5wZXJzb24gc3ZnIHtcbiAgICB3aWR0aDogODAlO1xuICAgIGhlaWdodDogYXV0bztcbiAgICBmaWxsOiB2YXIoLS1yeWxvLWN5YW4pO1xufVxuXG4uc2Vuc29yLWFzc2V0IHsgXG4gICAgd2lkdGg6IDQwJTtcbiAgICB0b3A6IDE1JTtcbiAgICBsZWZ0OiAyJTtcbn1cbi5zZW5zb3ItcHJvZHVjdC1jb250YWluZXIge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBoZWlnaHQ6IGF1dG87XG4gICAgbWluLWhlaWdodDogMTQwcHg7XG4gICAgei1pbmRleDogMjtcbn1cbi5zZW5zb3ItaW1hZ2Uge1xuICAgIHdpZHRoOiAzOCU7XG4gICAgaGVpZ2h0OiBhdXRvO1xuICAgIG9iamVjdC1maXQ6IGNvbnRhaW47XG4gICAgei1pbmRleDogMTtcbn1cblxuLnNlbnNvci1saWdodC1kb3Qge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB3aWR0aDogNnB4O1xuICAgIGhlaWdodDogNnB4O1xuICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgICB0b3A6IDE3JTtcbiAgICBsZWZ0OiAyNSU7XG4gICAgYmFja2dyb3VuZDogdmFyKC0tcnlsby1ncmVlbik7XG4gICAgYm94LXNoYWRvdzogMCAwIDhweCB2YXIoLS1yeWxvLWdyZWVuKTtcbiAgICB0cmFuc2l0aW9uOiBhbGwgMC4zcyBlYXNlO1xuICAgIHotaW5kZXg6IDEwO1xufVxuXG4uc2Vuc29yLXBwbS1jYWxsb3V0LWxpbmUge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDMwJTtcbiAgICBsZWZ0OiA3JTtcbiAgICB3aWR0aDogOTMlO1xuICAgIGhlaWdodDogMzAlO1xuICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICAgIHotaW5kZXg6IDA7XG59XG5cbi5jbzItZGlzcGxheSB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIGJvdHRvbTogNDAlO1xuICAgIHJpZ2h0OiAxJTtcbiAgICBiYWNrZ3JvdW5kOiB2YXIoLS1kYXJrZXIpO1xuICAgIGJvcmRlcjogMnB4IHNvbGlkIHZhcigtLXJ5bG8tY3lhbik7XG4gICAgd2lkdGg6IDYwcHg7XG4gICAgaGVpZ2h0OiA2MHB4O1xuICAgIGJvcmRlci1yYWRpdXM6IDhweDtcbiAgICBmb250LWZhbWlseTogJ0NvdXJpZXIgTmV3JywgQ291cmllciwgbW9ub3NwYWNlO1xuICAgIGNvbG9yOiB2YXIoLS1yeWxvLWN5YW4pO1xuICAgIHotaW5kZXg6IDEwO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgIGJveC1zaGFkb3c6IGluc2V0IDAgMCAxMHB4IHJnYmEoMCwgMTg0LCAyMTIsIDAuMik7XG59XG4uY28yLW51bWJlciB7XG4gICAgZm9udC1zaXplOiAxLjRyZW07XG4gICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gICAgbGluZS1oZWlnaHQ6IDE7XG4gICAgcGFkZGluZzogMnB4IDA7XG4gICAgbWFyZ2luOiAycHggMDtcbn1cbi5jbzItdW5pdCB7XG4gICAgZm9udC1zaXplOiAwLjhlbTtcbiAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgIG9wYWNpdHk6IDAuODtcbiAgICBtYXJnaW4tdG9wOiAycHg7XG59XG5cbi5kdXR5LWN5Y2xlLWFzc2V0IHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgYm90dG9tOiAwJTtcbiAgICBsZWZ0OiAyJTtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbn1cbi5kdXR5LWN5Y2xlLWNvbnRhaW5lciB7XG4gICAgd2lkdGg6IDEyMHB4O1xuICAgIGhlaWdodDogMjRweDtcbiAgICBiYWNrZ3JvdW5kOiB2YXIoLS1kYXJrZXIpO1xuICAgIGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLWJvcmRlcik7XG4gICAgYm9yZGVyLXJhZGl1czogNHB4O1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1kaXJlY3Rpb246IHJvdztcbn1cbi5kdXR5LWN5Y2xlLWJhciB7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIGJhY2tncm91bmQ6IHZhcigtLXJ5bG8tY3lhbik7XG4gICAgd2lkdGg6IDAlO1xuICAgIHRyYW5zaXRpb246IHdpZHRoIDAuM3MgZWFzZTtcbn1cbi5kdXR5LWN5Y2xlLXRleHQge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDUwJTtcbiAgICBsZWZ0OiA1MCU7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgLTUwJSk7XG4gICAgZm9udC1zaXplOiAxZW07XG4gICAgY29sb3I6IHZhcigtLXdoaXRlKTtcbiAgICBmb250LXdlaWdodDogYm9sZDtcbiAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgICB6LWluZGV4OiAxMTtcbiAgICB0ZXh0LXNoYWRvdzogMCAwIDJweCBibGFjaztcbiAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xufVxuXG4udmVudC1hc3NldCB7IFxuICAgIHRvcDogNy41JTtcbiAgICBsZWZ0OiA0NiU7XG4gICAgd2lkdGg6IDE4JVxufVxuXG4uZnJlc2gtYWlyLXN2ZyB7XG59XG5cbi53aW5kb3ctYXNzZXQgeyBcbiAgICB0b3A6IDIwJTtcbiAgICByaWdodDogNiU7XG4gICAgd2lkdGg6IDE4JTtcbn1cblxuLnZlbnQtb3BlbiB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0xMHB4KSBzY2FsZSgxLjIpO1xuICAgIGZpbHRlcjogZHJvcC1zaGFkb3coMCAwIDVweCB2YXIoLS1yeWxvLWN5YW4pKTtcbn1cblxuLndpbmRvdy1vcGVuIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTEwcHgpIHNjYWxlKDEuMik7XG4gICAgZmlsdGVyOiBkcm9wLXNoYWRvdygwIDAgNXB4IHZhcigtLXJ5bG8tY3lhbikpO1xufVxuXG4ucGVvcGxlLWdyb3VwIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgYm90dG9tOiAyMCU7XG4gICAgbGVmdDogMiU7XG4gICAgcmlnaHQ6IDIlO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgZ2FwOiAxJTtcbiAgICBoZWlnaHQ6IDc1cHg7XG59XG5cbi5wZXJzb24ge1xuICAgIHRyYW5zaXRpb246IGFsbCAwLjVzIGVhc2U7XG4gICAgb3BhY2l0eTogMDtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBtYXgtd2lkdGg6IDE2JTtcbn1cblxuLnBlb3BsZS1sYWJlbCB7XG4gICAgZm9udC1zaXplOiAwLjhyZW07XG4gICAgY29sb3I6IHZhcigtLXJ5bG8tY3lhbik7XG4gICAgbWFyZ2luLWJvdHRvbTogMnB4O1xuICAgIGZvbnQtZmFtaWx5OiBtb25vc3BhY2U7XG4gICAgb3BhY2l0eTogMDtcbiAgICB0cmFuc2l0aW9uOiBhbGwgMC41cyBlYXNlO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBib3R0b206IDEwMCU7XG4gICAgbGVmdDogNTAlO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNTAlKTtcbiAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xufVxuXG4ucGVyc29uLWxhYmVsIHtcbiAgICBmb250LXNpemU6IDAuOHJlbTtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZSgtMjVkZWcpO1xuXG5cbiAgICAvKiBMZWdhY3kgdmVuZG9yIHByZWZpeGVzIHRoYXQgeW91IHByb2JhYmx5IGRvbid0IG5lZWQuLi4gKi9cblxuICAgIC8qIFNhZmFyaSAqL1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUoLTI1ZGVnKTtcblxuICAgIC8qIEZpcmVmb3ggKi9cbiAgICAtbW96LXRyYW5zZm9ybTogcm90YXRlKC0yNWRlZyk7XG5cbiAgICAvKiBJRSAqL1xuICAgIC1tcy10cmFuc2Zvcm06IHJvdGF0ZSgtMjVkZWcpO1xuXG4gICAgLyogT3BlcmEgKi9cbiAgICAtby10cmFuc2Zvcm06IHJvdGF0ZSgtMjVkZWcpO1xuXG59XG5cbi5wZXJzb24ucHJlc2VudCAucGVyc29uLWxhYmVsIHtcbiAgICBvcGFjaXR5OiAxO1xufVxuXG4ucGVyc29uLnByZXNlbnQge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApO1xufVxuXG5cbi5zZW5zb3ItdmVudC1saW5lIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAyMCU7XG4gICAgbGVmdDogNSU7XG4gICAgd2lkdGg6IDUwJTtcbiAgICBoZWlnaHQ6IDEzJTtcbiAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgICB6LWluZGV4OiAxO1xuICAgIG9wYWNpdHk6IDA7XG4gICAgdHJhbnNpdGlvbjogb3BhY2l0eSAwLjNzIGVhc2U7XG59XG5cbi5jYWxsb3V0LWxpbmUge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDA7XG4gICAgbGVmdDogMDtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gICAgei1pbmRleDogMjtcbn1cblxuLnNlbnNvci12ZW50LWxpbmUuYWN0aXZlIHtcbiAgICBvcGFjaXR5OiAxO1xufVxuXG5Aa2V5ZnJhbWVzIHJvdGF0ZS1mYW4ge1xuICAgIGZyb20geyB0cmFuc2Zvcm06IHJvdGF0ZSgwZGVnKTsgfVxuICAgIHRvIHsgdHJhbnNmb3JtOiByb3RhdGUoMzYwZGVnKTsgfVxufVxuXG4udmVudC1vcGVuICNmYW4tYmxhZGVzIHtcbiAgICBhbmltYXRpb246IHJvdGF0ZS1mYW4gMXMgbGluZWFyIGluZmluaXRlO1xufVxuXG4uY2hhcnQtY29udGFpbmVyIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgYm90dG9tOiAyJTtcbiAgICBsZWZ0OiAwO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogMjAlO1xuICAgIGJhY2tncm91bmQ6IHJnYmEoMTgsIDI2LCA0MiwgMC44KTtcbiAgICBib3JkZXItdG9wOiAxcHggc29saWQgdmFyKC0tYm9yZGVyKTtcbiAgICBib3JkZXItcmFkaXVzOiAwIDAgOHB4IDhweDtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIHotaW5kZXg6IDU7XG59XG5cbi5jaGFydC1sYWJlbCB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogNXB4O1xuICAgIGxlZnQ6IDEwcHg7XG4gICAgZm9udC1zaXplOiAxZW07XG4gICAgY29sb3I6IHZhcigtLXRleHQtbGlnaHQpO1xuICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgei1pbmRleDogNjtcbiAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcbn1cblxuLnBlb3BsZS1sYWJlbCB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIGJvdHRvbTogMjAlO1xuICAgIGxlZnQ6IDYlO1xuICAgIGZvbnQtc2l6ZTogMWVtO1xuICAgIGNvbG9yOiB2YXIoLS10ZXh0LWxpZ2h0KTtcbiAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgIHotaW5kZXg6IDY7XG4gICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG59XG5cbiNjbzItY2hhcnQge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogMTAwJTtcbn1cblxuLnByb2dyZXNzLWNvbnRhaW5lciB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIGJvdHRvbTogMDtcbiAgICBsZWZ0OiAwO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogMiU7XG4gICAgYmFja2dyb3VuZDogdmFyKC0tZ3JheS1iZyk7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICBib3JkZXItdG9wOiAxcHggc29saWQgdmFyKC0tYm9yZGVyKTtcbiAgICB6LWluZGV4OiAxMDtcbn1cblxuI3Byb2dyZXNzLWJhciB7XG4gICAgd2lkdGg6IDAlO1xuICAgIGhlaWdodDogMTAwJTtcbiAgICBiYWNrZ3JvdW5kOiB2YXIoLS1yeWxvLWN5YW4pO1xuICAgIHRyYW5zaXRpb246IHdpZHRoIDAuMXMgbGluZWFyO1xuICAgIGJveC1zaGFkb3c6IDAgMCAxMHB4IHZhcigtLXJ5bG8tY3lhbik7XG59XG5cbkBtZWRpYSAobWF4LXdpZHRoOiA5OTJweCkge1xuICAgIC5ob3ctaXQtd29ya3MtY29udGFpbmVyIHtcbiAgICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiAxZnI7XG4gICAgfVxuICAgIC5ob3VzZS1jb250YWluZXIge1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgbWF4LXdpZHRoOjUwMHB4O1xuICAgICAgICB0cmFuc2Zvcm06IHNjYWxlKDEpO1xuICAgICAgICB0cmFuc2Zvcm0tb3JpZ2luOiB0b3AgY2VudGVyO1xuICAgIH1cbiAgICAucm9vZiwgLmhvdXNlLWJvZHkge1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICB9XG4gICAgLnJvb2YtZ3V0dGVyIHtcbiAgICAgICAgd2lkdGg6IGNhbGMoMTAwJSArIDRweCk7XG4gICAgfVxuICAgIC5hc3NldC1sYWJlbCB7XG4gICAgICAgIGZvbnQtc2l6ZTowLjdlbTtcbiAgICB9XG59XG5cbnNlY3Rpb24ge1xuICAgIHBhZGRpbmc6IDMwcHggMDtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgc2Nyb2xsLW1hcmdpbi10b3A6IDEwMHB4O1xufVxuXG4uc2VjdGlvbi1oZWFkZXIge1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICBtYXJnaW4tYm90dG9tOiAyNXB4O1xufVxuXG4uaG93LWl0LXdvcmtzIC5zZWN0aW9uLWhlYWRlciB7XG4gICAgbWFyZ2luLWJvdHRvbTogMDtcbn1cblxuLnNlY3Rpb24taGVhZGVyIGgyIHtcbiAgICBmb250LXNpemU6IDNyZW07XG4gICAgbWFyZ2luLWJvdHRvbTogMjBweDtcbiAgICBjb2xvcjogdmFyKC0td2hpdGUpO1xufVxuXG4uc2VjdGlvbi1oZWFkZXIgaDIgc3BhbiB7XG4gICAgY29sb3I6IHZhcigtLXJ5bG8tZ3JlZW4pO1xufVxuXG4uc2VjdGlvbi1oZWFkZXIgcCB7XG4gICAgbWF4LXdpZHRoOiA3MDBweDtcbiAgICBtYXJnaW46IDAgYXV0bztcbiAgICBjb2xvcjogdmFyKC0tdGV4dC1saWdodCk7XG4gICAgZm9udC1zaXplOiAxLjJyZW07XG59XG5cbi8qIC0tLSBIZXJvIFNlY3Rpb24gLS0tICovXG4uaGVybyB7XG4gICAgcGFkZGluZzogMjBweCAwIDEwMHB4O1xuICAgIGJhY2tncm91bmQ6IHJhZGlhbC1ncmFkaWVudChjaXJjbGUgYXQgdG9wIHJpZ2h0LCAjMWEyNTM4LCAjMGExMTIwKTtcbiAgICBtaW4taGVpZ2h0OiA5MHZoO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbn1cblxuLmhlcm8tY29udGVudCB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGdhcDogNjBweDtcbn1cblxuLmhlcm8tdGV4dCB7XG4gICAgZmxleDogMTtcbn1cblxuLmhlcm8tdGV4dCBoMSB7XG4gICAgZm9udC1zaXplOiA0cmVtO1xuICAgIGxpbmUtaGVpZ2h0OiAxLjE7XG4gICAgbWFyZ2luLWJvdHRvbTogMjVweDtcbiAgICBjb2xvcjogdmFyKC0td2hpdGUpO1xufVxuXG4uaGVyby10ZXh0IGgxIHNwYW4ge1xuICAgIGNvbG9yOiB2YXIoLS1yeWxvLWdyZWVuKTtcbn1cblxuLmhlcm8tdGV4dCBwIHtcbiAgICBmb250LXNpemU6IDEuM3JlbTtcbiAgICBtYXJnaW4tYm90dG9tOiA0MHB4O1xuICAgIG1heC13aWR0aDogNjAwcHg7XG4gICAgY29sb3I6IHZhcigtLXRleHQtbGlnaHQpO1xufVxuXG4uaGVyby1idXR0b25zIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICBnYXA6IDE1cHg7XG4gICAganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0O1xufVxuXG4uaGVyby1pbWFnZSB7XG4gICAgZmxleDogMTtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xufVxuXG4uaGVyby1pbWFnZSBpbWcge1xuICAgIG1heC13aWR0aDogMTAwJTtcbiAgICBib3JkZXItcmFkaXVzOiAzMHB4O1xuICAgIGJveC1zaGFkb3c6IDAgMzBweCA2MHB4IHJnYmEoMCwgMCwgMCwgMC41KTtcbiAgICBib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1ib3JkZXIpO1xuICAgIGFuaW1hdGlvbjogZmxvYXQgNnMgZWFzZS1pbi1vdXQgaW5maW5pdGU7XG59XG5cbkBrZXlmcmFtZXMgZmxvYXQge1xuICAgIDAlLCAxMDAlIHsgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApOyB9XG4gICAgNTAlIHsgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0yMHB4KTsgfVxufVxuXG4vKiAtLS0gSG93IEl0IFdvcmtzIFNlY3Rpb24gLS0tICovXG4uaG93LWl0LXdvcmtzIHtcbiAgICBiYWNrZ3JvdW5kOiB2YXIoLS1ncmF5LWJnKTtcbn1cblxuLnByb2Nlc3MtZ3JpZCB7XG4gICAgZGlzcGxheTogZ3JpZDtcbiAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdChhdXRvLWZpdCwgbWlubWF4KDMwMHB4LCAxZnIpKTtcbiAgICBnYXA6IDQwcHg7XG4gICAgbWFyZ2luLXRvcDogNTBweDtcbn1cblxuLnByb2Nlc3Mtc3RlcCB7XG4gICAgYmFja2dyb3VuZDogdmFyKC0tY2FyZC1iZyk7XG4gICAgcGFkZGluZzogNDBweDtcbiAgICBib3JkZXItcmFkaXVzOiAyNHB4O1xuICAgIGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLWJvcmRlcik7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIHRyYW5zaXRpb246IHZhcigtLXRyYW5zaXRpb24pO1xufVxuXG4ucHJvY2Vzcy1zdGVwOmhvdmVyIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTEwcHgpO1xuICAgIGJvcmRlci1jb2xvcjogdmFyKC0tcnlsby1jeWFuKTtcbn1cblxuLnByb2Nlc3Mtc3RlcCBoMyB7XG4gICAgZm9udC1zaXplOiAxLjVyZW07XG4gICAgY29sb3I6IHZhcigtLXdoaXRlKTtcbiAgICBtYXJnaW4tYm90dG9tOiAxNXB4O1xufVxuXG4ucmVsYXktZXhwbGFpbmVyIHtcbiAgICBtYXJnaW4tdG9wOiA2MHB4O1xuICAgIGJhY2tncm91bmQ6IHZhcigtLWRhcmtlcik7XG4gICAgcGFkZGluZzogNDBweDtcbiAgICBib3JkZXItcmFkaXVzOiAyNHB4O1xuICAgIGJvcmRlci1sZWZ0OiA2cHggc29saWQgdmFyKC0tcnlsby1ncmVlbik7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBnYXA6IDMwcHg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbn1cblxuLnJlbGF5LWV4cGxhaW5lciBwIHtcbiAgICBmb250LXNpemU6IDEuMXJlbTtcbiAgICBjb2xvcjogdmFyKC0tdGV4dC1ib2R5KTtcbn1cblxuLyogLS0tIEtleSBGZWF0dXJlcyBTZWN0aW9uIC0tLSAqL1xuLmZlYXR1cmVzLWdyaWQge1xuICAgIGRpc3BsYXk6IGdyaWQ7XG4gICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoYXV0by1maXQsIG1pbm1heCgzMDBweCwgMWZyKSk7XG4gICAgZ2FwOiAzMHB4O1xufVxuXG4uZmVhdHVyZS1jYXJkIHtcbiAgICBiYWNrZ3JvdW5kOiB2YXIoLS1jYXJkLWJnKTtcbiAgICBib3JkZXItcmFkaXVzOiAyMHB4O1xuICAgIHBhZGRpbmc6IDQwcHg7XG4gICAgdHJhbnNpdGlvbjogdmFyKC0tdHJhbnNpdGlvbik7XG4gICAgYm9yZGVyOiAxcHggc29saWQgdmFyKC0tYm9yZGVyKTtcbn1cblxuLmZlYXR1cmUtY2FyZDpob3ZlciB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0xMHB4KTtcbiAgICBib3gtc2hhZG93OiAwIDEwcHggMzBweCByZ2JhKDAsIDAsIDAsIDAuNCk7XG4gICAgYm9yZGVyLWNvbG9yOiB2YXIoLS1yeWxvLWN5YW4pO1xufVxuXG4uZmVhdHVyZS1pY29uIHtcbiAgICB3aWR0aDogNDBweDtcbiAgICBoZWlnaHQ6IDQwcHg7XG4gICAgYmFja2dyb3VuZDogcmdiYSgwLCAxODQsIDIxMiwgMC4xKTtcbiAgICBib3JkZXItcmFkaXVzOiAxMnB4O1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICBmb250LXNpemU6IDEuOHJlbTtcblx0XHRcdFx0ZmxvYXQ6bGVmdDtcblx0XHRcdFx0bWFyZ2luLXJpZ2h0OiAxMHB4O1xufVxuXG4uZmVhdHVyZS1jYXJkIGgzIHtcbiAgICBmb250LXNpemU6IDEuNnJlbTtcbiAgICBtYXJnaW4tYm90dG9tOiAxNXB4O1xuICAgIGNvbG9yOiB2YXIoLS13aGl0ZSk7XG59XG5cbi8qIC0tLSBUZWNoIFNwZWNzIFNlY3Rpb24gLS0tICovXG4uc3BlY3Mtc2VjdGlvbiB7XG4gICAgLyogYmFja2dyb3VuZDogdmFyKC0tZ3JheS1iZyk7Ki9cbn1cblxuLnNwZWNzLWluc3RhbGwge1xuICAgIGJhY2tncm91bmQ6IHZhcigtLWdyYXktYmcpO1xufVxuXG4uc3BlY3MtY29udGFpbmVyIHtcbiAgICBkaXNwbGF5OiBncmlkO1xuICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogMWZyIDFmcjtcbiAgICBnYXA6IDgwcHg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbn1cblxuLnNwZWNzLWltYWdlIGltZyB7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgYm9yZGVyLXJhZGl1czogMzBweDtcbiAgICBib3gtc2hhZG93OiAwIDIwcHggNDBweCByZ2JhKDAsIDAsIDAsIDAuNCk7XG4gICAgYm9yZGVyOiAxcHggc29saWQgdmFyKC0tYm9yZGVyKTtcbn1cblxuLnNwZWNzLXRhYmxlIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBib3JkZXItY29sbGFwc2U6IGNvbGxhcHNlO1xufVxuXG4uc3BlY3MtdGFibGUgdHIge1xuICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCB2YXIoLS1ib3JkZXIpO1xufVxuXG4uc3BlY3MtdGFibGUgdGQge1xuICAgIHBhZGRpbmc6IDIwcHggMTBweDtcbiAgICBjb2xvcjogdmFyKC0tdGV4dC1ib2R5KTtcbn1cblxuLnNwZWNzLXRhYmxlIHRkOmZpcnN0LWNoaWxkIHtcbiAgICBmb250LXdlaWdodDogNjAwO1xuICAgIGNvbG9yOiB2YXIoLS13aGl0ZSk7XG4gICAgd2lkdGg6IDQwJTtcbn1cblxuLyogLS0tIEluc3RhbGxhdGlvbiBTZWN0aW9uIC0tLSAqL1xuLmluc3RhbGwtZ3JpZCB7XG4gICAgZGlzcGxheTogZ3JpZDtcbiAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDFmciAxZnI7XG4gICAgZ2FwOiA2MHB4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG59XG5cbi5kaWFncmFtLWJveCB7XG4gICAgYmFja2dyb3VuZDogdmFyKC0tY2FyZC1iZyk7XG4gICAgcGFkZGluZzogMjBweDtcbiAgICBib3JkZXItcmFkaXVzOiAyMHB4O1xuICAgIGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLWJvcmRlcik7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xufVxuXG4uZGlhZ3JhbS1ib3ggaW1nIHtcbiAgICBtYXgtaGVpZ2h0OiA0MDBweDtcbiAgICBib3JkZXItcmFkaXVzOiAxMnB4O1xufVxuXG4vKiAtLS0gVGVzdGltb25pYWxzIFNlY3Rpb24gLS0tICovXG4udGVzdGltb25pYWxzIHtcbiAgICBiYWNrZ3JvdW5kOiB2YXIoLS1kYXJrZXIpO1xufVxuXG4udGVzdGltb25pYWwtZ3JpZCB7XG4gICAgZGlzcGxheTogZ3JpZDtcbiAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdChhdXRvLWZpdCwgbWlubWF4KDM1MHB4LCAxZnIpKTtcbiAgICBnYXA6IDMwcHg7XG59XG5cbi50ZXN0aW1vbmlhbC1jYXJkIHtcbiAgICBiYWNrZ3JvdW5kOiB2YXIoLS1ncmF5LXBhbmUpO1xuICAgIHBhZGRpbmc6IDQwcHg7XG4gICAgYm9yZGVyLXJhZGl1czogMjRweDtcbiAgICBib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1ib3JkZXIpO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbn1cblxuLnRlc3RpbW9uaWFsLWNhcmQgcCB7XG4gICAgZm9udC1zdHlsZTogaXRhbGljO1xuICAgIGZvbnQtc2l6ZTogMS4xcmVtO1xuICAgIG1hcmdpbi1ib3R0b206IDIwcHg7XG4gICAgY29sb3I6IHZhcigtLXdoaXRlKTtcbn1cblxuLnRlc3RpbW9uaWFsLWF1dGhvciB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGdhcDogMTVweDtcbn1cblxuLnRlc3RpbW9uaWFsLWF1dGhvciBpbWcge1xuICAgIHdpZHRoOiA1MHB4O1xuICAgIGhlaWdodDogNTBweDtcbiAgICBib3JkZXItcmFkaXVzOiA1MCU7XG4gICAgYmFja2dyb3VuZDogdmFyKC0tcnlsby1jeWFuKTtcbn1cblxuLmF1dGhvci1pbmZvIGg0IHtcbiAgICBjb2xvcjogdmFyKC0td2hpdGUpO1xuICAgIGZvbnQtc2l6ZTogMXJlbTtcbiAgICBtYXJnaW46IDA7XG59XG5cbi5hdXRob3ItaW5mbyBwIHtcbiAgICBjb2xvcjogdmFyKC0tdGV4dC1saWdodCk7XG4gICAgZm9udC1zaXplOiAwLjg1cmVtO1xuICAgIG1hcmdpbjogMDtcbiAgICBmb250LXN0eWxlOiBub3JtYWw7XG59XG5cbi8qIC0tLSBBYm91dCBTZWN0aW9uIC0tLSAqL1xuLmFib3V0LXNlY3Rpb24ge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZ2FwOiA4MHB4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG59XG5cbi5hYm91dC10ZXh0IHtcbiAgICBmbGV4OiAxO1xufVxuXG4uYWJvdXQtdGV4dCBoMiB7XG4gICAgZm9udC1zaXplOiAyLjVyZW07XG4gICAgY29sb3I6IHZhcigtLXdoaXRlKTtcbiAgICBtYXJnaW4tYm90dG9tOiAyMHB4O1xufVxuXG4uYWJvdXQtdGV4dCBwIHtcbiAgICBmb250LXNpemU6IDEuMXJlbTtcbiAgICBtYXJnaW4tYm90dG9tOiAyMHB4O1xufVxuXG4uYWJvdXQtaW1hZ2Uge1xuICAgIGZsZXg6IDE7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xufVxuXG4uYWJvdXQtaW1hZ2UgaW1nIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBib3JkZXItcmFkaXVzOiAzMHB4O1xuICAgIGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLWJvcmRlcik7XG59XG5cbi8qIC0tLSBDVEEgU2VjdGlvbiAtLS0gKi9cbi5jdGEtc2VjdGlvbiB7XG4gICAgYmFja2dyb3VuZDogdmFyKC0tcnlsby1ncmFkKTtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgcGFkZGluZzogMTAwcHggMDtcbn1cblxuLmN0YS1zZWN0aW9uIGgyIHtcbiAgICBmb250LXNpemU6IDNyZW07XG4gICAgY29sb3I6IHZhcigtLXdoaXRlKTtcbiAgICBtYXJnaW4tYm90dG9tOiAyMHB4O1xuICAgIHRleHQtc2hhZG93OiAwIDJweCA0cHggcmdiYSgwLDAsMCwwLjMpO1xufVxuXG4uY3RhLXNlY3Rpb24gcCB7XG4gICAgZm9udC1zaXplOiAxLjJyZW07XG4gICAgY29sb3I6IHZhcigtLXdoaXRlKTtcbiAgICBtYXJnaW4tYm90dG9tOiA0MHB4O1xuICAgIG9wYWNpdHk6IDAuOTtcbiAgICB0ZXh0LXNoYWRvdzogMCAycHggNnB4IHJnYmEoMCwwLDAsMC41KTtcbn1cblxuLm5ld3NsZXR0ZXItZm9ybSB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICBnYXA6IDEwcHg7XG4gICAgbWF4LXdpZHRoOiA2MDBweDtcbiAgICBtYXJnaW46IDAgYXV0bztcbn1cblxuLm5ld3NsZXR0ZXItZm9ybSBpbnB1dCB7XG4gICAgcGFkZGluZzogMTVweCAyNXB4O1xuICAgIGJvcmRlci1yYWRpdXM6IDMwcHg7XG4gICAgYm9yZGVyOiBub25lO1xuICAgIGZsZXg6IDE7XG4gICAgZm9udC1zaXplOiAxcmVtO1xuICAgIG91dGxpbmU6IG5vbmU7XG59XG5cbi5uZXdzbGV0dGVyLWZvcm0gLmJ0biB7XG4gICAgYmFja2dyb3VuZDogdmFyKC0tZGFyayk7XG4gICAgY29sb3I6IHZhcigtLXdoaXRlKTtcbn1cblxuLyogLS0tIEZvb3RlciAtLS0gKi9cbmZvb3RlciB7XG4gICAgYmFja2dyb3VuZDogdmFyKC0tZGFya2VyKTtcbiAgICBwYWRkaW5nOiA4MHB4IDAgNDBweDtcbiAgICBib3JkZXItdG9wOiAxcHggc29saWQgdmFyKC0tYm9yZGVyKTtcbn1cblxuZm9vdGVyIHVsIHtcbiAgICBtYXJnaW4tYm90dG9tOjA7XG4gICAgcGFkZGluZy1sZWZ0OjA7XG59XG5cbmZvb3RlciBwIHtcbiAgICBtYXJnaW4tYm90dG9tOjA7XG59XG5cbi5mb290ZXItZ3JpZCB7XG4gICAgZGlzcGxheTogZ3JpZDtcbiAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDJmciAxZnIgMWZyIDFmcjtcbiAgICBnYXA6IDYwcHg7XG4gICAgbWFyZ2luLWJvdHRvbTogNjBweDtcbn1cblxuLmZvb3Rlci1jb2wgaDMge1xuICAgIGNvbG9yOiB2YXIoLS13aGl0ZSk7XG4gICAgZm9udC1zaXplOiAxLjFyZW07XG4gICAgbWFyZ2luLWJvdHRvbTogMjVweDtcbiAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgIGxldHRlci1zcGFjaW5nOiAxcHg7XG59XG5cbi5mb290ZXItY29sIHVsIHtcbiAgICBsaXN0LXN0eWxlOiBub25lO1xufVxuXG4uZm9vdGVyLWNvbCB1bCBsaSB7XG4gICAgbWFyZ2luLWJvdHRvbTogMTJweDtcbn1cblxuLmZvb3Rlci1jb2wgdWwgbGkgYSB7XG4gICAgY29sb3I6IHZhcigtLXRleHQtbGlnaHQpO1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICB0cmFuc2l0aW9uOiB2YXIoLS10cmFuc2l0aW9uKTtcbn1cblxuLmZvb3Rlci1jb2wgdWwgbGkgYTpob3ZlciB7XG4gICAgY29sb3I6IHZhcigtLXJ5bG8tY3lhbik7XG59XG5cbi5mb290ZXItbG9nbyB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGdhcDogMTJweDtcbiAgICBmb250LXNpemU6IDEuNHJlbTtcbiAgICBmb250LXdlaWdodDogODAwO1xuICAgIGNvbG9yOiB2YXIoLS13aGl0ZSk7XG4gICAgbWFyZ2luLWJvdHRvbTogMjBweDtcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG59XG5cbi5jb3B5cmlnaHQge1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICBwYWRkaW5nLXRvcDogNDBweDtcbiAgICBib3JkZXItdG9wOiAxcHggc29saWQgdmFyKC0tYm9yZGVyKTtcbiAgICBjb2xvcjogdmFyKC0tdGV4dC1saWdodCk7XG4gICAgZm9udC1zaXplOiAwLjlyZW07XG59XG5cbi8qIC0tLSBBbmltYXRpb25zIC0tLSAqL1xuLnJldmVhbCB7XG4gICAgb3BhY2l0eTogMDtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoNDBweCk7XG4gICAgdHJhbnNpdGlvbjogdmFyKC0tdHJhbnNpdGlvbik7XG59XG5cbi5yZXZlYWwuYWN0aXZlIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKTtcbn1cblxuLyogUmVzcG9uc2l2ZSAqL1xuQG1lZGlhIChtYXgtd2lkdGg6IDk5MnB4KSB7XG4gICAgLmhlcm8tY29udGVudCwgLnNwZWNzLWNvbnRhaW5lciwgLmluc3RhbGwtZ3JpZCwgLmFib3V0LXNlY3Rpb24ge1xuICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDFmcjtcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIH1cbiAgICAuaGVyby1idXR0b25zIHtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgfVxuICAgIC5oZXJvLXRleHQgaDEgeyBmb250LXNpemU6IDNyZW07IH1cbiAgICAuZm9vdGVyLWdyaWQgeyBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDFmciAxZnI7IH1cbiAgICAuYWJvdXQtc2VjdGlvbiB7IGZsZXgtZGlyZWN0aW9uOiBjb2x1bW4tcmV2ZXJzZTsgfVxuICAgIC5yZWxheS1leHBsYWluZXIgeyBmbGV4LWRpcmVjdGlvbjogY29sdW1uOyB0ZXh0LWFsaWduOiBjZW50ZXI7IH1cbn1cblxuQG1lZGlhIChtYXgtd2lkdGg6IDEwMjRweCkge1xuICAgIC5tb2JpbGUtbWVudS10b2dnbGUge1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgIH1cbiAgICBcbiAgICAuaGVybyB7XG4gICAgICAgIHBhZGRpbmc6IDEwMHB4IDAgMTAwcHg7XG4gICAgfVxuXG4gICAgbmF2IHVsIHtcbiAgICAgICAgcG9zaXRpb246IGZpeGVkO1xuICAgICAgICB0b3A6IDA7XG4gICAgICAgIHJpZ2h0OiAtMTAwJTtcbiAgICAgICAgd2lkdGg6IDcwJTtcbiAgICAgICAgaGVpZ2h0OiAxMDB2aDtcbiAgICAgICAgYmFja2dyb3VuZDogdmFyKC0tZGFya2VyKTtcbiAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgIHRyYW5zaXRpb246IHZhcigtLXRyYW5zaXRpb24pO1xuICAgICAgICBib3gtc2hhZG93OiAtMTBweCAwIDMwcHggcmdiYSgwLDAsMCwwLjUpO1xuICAgICAgICB6LWluZGV4OiAxMDUwO1xuICAgICAgICBwYWRkaW5nOiA0MHB4O1xuICAgICAgICBib3JkZXItbGVmdDogMXB4IHNvbGlkIHZhcigtLWJvcmRlcik7XG4gICAgfVxuXG4gICAgbmF2IHVsLmFjdGl2ZSB7XG4gICAgICAgIHJpZ2h0OiAwO1xuICAgIH1cblxuICAgIC5tb2JpbGUtbWVudS10b2dnbGUuYWN0aXZlIHNwYW46bnRoLWNoaWxkKDEpIHtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDlweCkgcm90YXRlKDQ1ZGVnKTtcbiAgICB9XG5cbiAgICAubW9iaWxlLW1lbnUtdG9nZ2xlLmFjdGl2ZSBzcGFuOm50aC1jaGlsZCgyKSB7XG4gICAgICAgIG9wYWNpdHk6IDA7XG4gICAgfVxuXG4gICAgLm1vYmlsZS1tZW51LXRvZ2dsZS5hY3RpdmUgc3BhbjpudGgtY2hpbGQoMykge1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTlweCkgcm90YXRlKC00NWRlZyk7XG4gICAgfVxuXG4gICAgLmhlcm8tdGV4dCBoMSB7IGZvbnQtc2l6ZTogMi41cmVtOyB9XG4gICAgLmZvb3Rlci1ncmlkIHsgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiAxZnI7IH1cbn1cblxuLyogRXJyb3IgUGFnZSBTdHlsZXMgKi9cbi5lcnJvci1jb250YWluZXIge1xuICAgIGhlaWdodDogODB2aDtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgcGFkZGluZzogMCAyMHB4O1xufVxuXG4uZXJyb3ItY29kZSB7XG4gICAgZm9udC1zaXplOiAxMHJlbTtcbiAgICBmb250LXdlaWdodDogOTAwO1xuICAgIGJhY2tncm91bmQ6IHZhcigtLXJ5bG8tZ3JhZCk7XG4gICAgLXdlYmtpdC1iYWNrZ3JvdW5kLWNsaXA6IHRleHQ7XG4gICAgLXdlYmtpdC10ZXh0LWZpbGwtY29sb3I6IHRyYW5zcGFyZW50O1xuICAgIGxpbmUtaGVpZ2h0OiAxO1xuICAgIG1hcmdpbi1ib3R0b206IDIwcHg7XG59XG5cbi5lcnJvci1tZXNzYWdlIHtcbiAgICBmb250LXNpemU6IDJyZW07XG4gICAgY29sb3I6IHZhcigtLXdoaXRlKTtcbiAgICBtYXJnaW4tYm90dG9tOiAxNXB4O1xufVxuXG5AbWVkaWEgKG1heC13aWR0aDogNjAwcHgpIHtcbiAgICAubmV3c2xldHRlci1mb3JtIHtcbiAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICB9XG4gICAgLm5ld3NsZXR0ZXItZm9ybSBpbnB1dCxcbiAgICAubmV3c2xldHRlci1mb3JtIC5idG4ge1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICB9XG59XG5cbmRpdi5jYXJ0LWl0ZW1zIHtcbiAgICBib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1ib3JkZXIpO1xuICAgIGJvcmRlci1yYWRpdXM6IDZweDtcbn1cblxuQG1lZGlhIChtYXgtd2lkdGg6IDExOTkuOThweCkge1xuICAgIC5jYXJ0LWl0ZW1zLWxlZnQge1xuICAgICAgICB3aWR0aDogMTAwJSAhaW1wb3J0YW50O1xuICAgICAgICBtYXgtd2lkdGg6IDEwMCUgIWltcG9ydGFudDtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IDAgIWltcG9ydGFudDtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAwICFpbXBvcnRhbnQ7XG4gICAgICAgIHBhZGRpbmctbGVmdDogMCAhaW1wb3J0YW50O1xuICAgICAgICBwYWRkaW5nLXJpZ2h0OiAwICFpbXBvcnRhbnQ7XG4gICAgfVxufVxuXG5kaXYuc3F1YXJlLWZvcm0tY29udGFpbmVyIHtcbiAgICBib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1ib3JkZXIpO1xuICAgIGJvcmRlci1yYWRpdXM6IDZweDtcbiAgICBwYWRkaW5nOiAxMHB4O1xufVxuXG5kaXYuY29udGFpbmVyIGltZyB7XG4gICAgLyogLS0tIFRoaXMgZml4ZXMgdGhlIHNpZ2F0dXJlIG9uIHRoZSBhYm91dCB1cyBwYWdlIGZyb20gb3ZlcmZsb3dpbmcgdGhlIGhvcml6b250YWwgLS0tICovXG4gICAgbWF4LXdpZHRoOiAxMDAlO1xufVxuXG4vKiAtLS0gQWJvdXQgVXMgUGFnZSAtLS0gKi9cbi5hYm91dC1oZXJvIHtcbiAgICBiYWNrZ3JvdW5kOiByYWRpYWwtZ3JhZGllbnQoY2lyY2xlIGF0IHRvcCByaWdodCwgIzFhMjUzOCwgIzBhMTEyMCk7XG4gICAgcGFkZGluZzogNDBweCAwIDYwcHg7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xufVxuXG4uYWJvdXQtaGVyby1jb250ZW50IGgxIHtcbiAgICBmb250LXNpemU6IDRyZW07XG4gICAgY29sb3I6IHZhcigtLXdoaXRlKTtcbiAgICBtYXJnaW4tYm90dG9tOiAyMHB4O1xufVxuXG4uYWJvdXQtaGVyby1jb250ZW50IHAge1xuICAgIGZvbnQtc2l6ZTogMS4zcmVtO1xuICAgIGNvbG9yOiB2YXIoLS10ZXh0LWxpZ2h0KTtcbiAgICBtYXgtd2lkdGg6IDcwMHB4O1xuICAgIG1hcmdpbjogMCBhdXRvO1xufVxuXG4uYWJvdXQtbWlzc2lvbiB7XG4gICAgYmFja2dyb3VuZDogcmFkaWFsLWdyYWRpZW50KGNpcmNsZSBhdCB0b3AgcmlnaHQsICMwMDUyNmQsICMwMTVGNTUpO1xuICAgIHBhZGRpbmc6IDgwcHggMDtcbn1cblxuLm1pc3Npb24tZ3JpZCB7XG4gICAgZGlzcGxheTogZ3JpZDtcbiAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDFmciAxZnI7XG4gICAgZ2FwOiA4MHB4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG59XG5cbi5taXNzaW9uLXRleHQgaDIge1xuICAgIGZvbnQtc2l6ZTogMi41cmVtO1xuICAgIGNvbG9yOiB2YXIoLS13aGl0ZSk7XG4gICAgbWFyZ2luLWJvdHRvbTogMjVweDtcbn1cblxuLm1pc3Npb24tdGV4dCBwIHtcbiAgICBmb250LXNpemU6IDEuMXJlbTtcbiAgICBjb2xvcjogdmFyKC0tdGV4dC1ib2R5KTtcbiAgICBtYXJnaW4tYm90dG9tOiAyMHB4O1xufVxuXG4ubWlzc2lvbi12aXN1YWwge1xuICAgIGRpc3BsYXk6IGdyaWQ7XG4gICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoYXV0by1maXQsIG1pbm1heCgxNDBweCwgMWZyKSk7XG4gICAgZ2FwOiAyMHB4O1xufVxuXG4ubWlzc2lvbi1zdGF0IHtcbiAgICBiYWNrZ3JvdW5kOiB2YXIoLS1jYXJkLWJnKTtcbiAgICBib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1ib3JkZXIpO1xuICAgIGJvcmRlci1yYWRpdXM6IDIwcHg7XG4gICAgcGFkZGluZzogMzBweDtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgdHJhbnNpdGlvbjogdmFyKC0tdHJhbnNpdGlvbik7XG59XG5cbi5taXNzaW9uLXN0YXQ6aG92ZXIge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNXB4KTtcbiAgICBib3JkZXItY29sb3I6IHZhcigtLXJ5bG8tY3lhbik7XG59XG5cbi5zdGF0LW51bWJlciB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgZm9udC1zaXplOiAyLjVyZW07XG4gICAgZm9udC13ZWlnaHQ6IDgwMDtcbiAgICBiYWNrZ3JvdW5kOiB2YXIoLS1yeWxvLWdyYWQpO1xuICAgIC13ZWJraXQtYmFja2dyb3VuZC1jbGlwOiB0ZXh0O1xuICAgIC13ZWJraXQtdGV4dC1maWxsLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICBtYXJnaW4tYm90dG9tOiAxMHB4O1xufVxuXG4uc3RhdC1sYWJlbCB7XG4gICAgZm9udC1zaXplOiAwLjlyZW07XG4gICAgY29sb3I6IHZhcigtLXRleHQtbGlnaHQpO1xuICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgbGV0dGVyLXNwYWNpbmc6IDFweDtcbn1cblxuLmFib3V0LXN0b3J5IHtcbiAgICBwYWRkaW5nOiA4MHB4IDA7XG59XG5cbi5hYm91dC1zdG9yeSBoMiB7XG4gICAgZm9udC1zaXplOiAyLjVyZW07XG4gICAgY29sb3I6IHZhcigtLXdoaXRlKTtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgbWFyZ2luLWJvdHRvbTogNjBweDtcbn1cblxuLnN0b3J5LXRpbWVsaW5lIHtcbiAgICBkaXNwbGF5OiBncmlkO1xuICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KGF1dG8tZml0LCBtaW5tYXgoMjUwcHgsIDFmcikpO1xuICAgIGdhcDogMzBweDtcbn1cblxuLnN0b3J5LWV2ZW50IHtcbiAgICBiYWNrZ3JvdW5kOiB2YXIoLS1jYXJkLWJnKTtcbiAgICBib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1ib3JkZXIpO1xuICAgIGJvcmRlci1yYWRpdXM6IDIwcHg7XG4gICAgcGFkZGluZzogNDBweDtcbiAgICB0cmFuc2l0aW9uOiB2YXIoLS10cmFuc2l0aW9uKTtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbn1cblxuLnN0b3J5LWV2ZW50OmhvdmVyIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTVweCk7XG4gICAgYm9yZGVyLWNvbG9yOiB2YXIoLS1yeWxvLWN5YW4pO1xufVxuXG4uc3RvcnktZXZlbnQ6OmJlZm9yZSB7XG4gICAgY29udGVudDogJyc7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMDtcbiAgICBsZWZ0OiAwO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogNHB4O1xuICAgIGJhY2tncm91bmQ6IHZhcigtLXJ5bG8tZ3JhZCk7XG59XG5cbi5zdG9yeS15ZWFyIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgYmFja2dyb3VuZDogcmdiYSgwLCAxODQsIDIxMiwgMC4xKTtcbiAgICBjb2xvcjogdmFyKC0tcnlsby1jeWFuKTtcbiAgICBmb250LXdlaWdodDogNzAwO1xuICAgIGZvbnQtc2l6ZTogMC44NXJlbTtcbiAgICBwYWRkaW5nOiA2cHggMTRweDtcbiAgICBib3JkZXItcmFkaXVzOiAyMHB4O1xuICAgIG1hcmdpbi1ib3R0b206IDIwcHg7XG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICBsZXR0ZXItc3BhY2luZzogMXB4O1xufVxuXG4uc3RvcnktZXZlbnQgaDMge1xuICAgIGZvbnQtc2l6ZTogMS40cmVtO1xuICAgIGNvbG9yOiB2YXIoLS13aGl0ZSk7XG4gICAgbWFyZ2luLWJvdHRvbTogMTVweDtcbn1cblxuLnN0b3J5LWV2ZW50IHAge1xuICAgIGZvbnQtc2l6ZTogMXJlbTtcbiAgICBjb2xvcjogdmFyKC0tdGV4dC1ib2R5KTtcbn1cblxuLmFib3V0LXRlYW0ge1xuICAgIGJhY2tncm91bmQ6IHZhcigtLWRhcmtlcik7XG4gICAgcGFkZGluZzogODBweCAwO1xufVxuXG4uYWJvdXQtdGVhbSBoMiB7XG4gICAgZm9udC1zaXplOiAyLjVyZW07XG4gICAgY29sb3I6IHZhcigtLXdoaXRlKTtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgbWFyZ2luLWJvdHRvbTogMTVweDtcbn1cblxuLnRlYW0taW50cm8ge1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICBjb2xvcjogdmFyKC0tdGV4dC1saWdodCk7XG4gICAgZm9udC1zaXplOiAxLjFyZW07XG4gICAgbWF4LXdpZHRoOiA2MDBweDtcbiAgICBtYXJnaW46IDAgYXV0byA1MHB4O1xufVxuXG4udGVhbS1ncmlkIHtcbiAgICBkaXNwbGF5OiBncmlkO1xuICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KGF1dG8tZml0LCBtaW5tYXgoMjgwcHgsIDFmcikpO1xuICAgIGdhcDogMzBweDtcbn1cblxuLnRlYW0tbWVtYmVyIHtcbiAgICBiYWNrZ3JvdW5kOiB2YXIoLS1jYXJkLWJnKTtcbiAgICBib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1ib3JkZXIpO1xuICAgIGJvcmRlci1yYWRpdXM6IDIwcHg7XG4gICAgcGFkZGluZzogNDBweDtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgdHJhbnNpdGlvbjogdmFyKC0tdHJhbnNpdGlvbik7XG59XG5cbi50ZWFtLW1lbWJlcjpob3ZlciB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01cHgpO1xuICAgIGJvcmRlci1jb2xvcjogdmFyKC0tcnlsby1jeWFuKTtcbn1cblxuLm1lbWJlci1waG90byB7XG4gICAgd2lkdGg6IDEwMHB4O1xuICAgIGhlaWdodDogMTAwcHg7XG4gICAgYm9yZGVyLXJhZGl1czogNTAlO1xuICAgIGJhY2tncm91bmQ6IHZhcigtLWdyYXktcGFuZSk7XG4gICAgbWFyZ2luOiAwIGF1dG8gMjVweDtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgYm9yZGVyOiAycHggc29saWQgdmFyKC0tYm9yZGVyKTtcbn1cblxuLnRlYW0tbWVtYmVyIGgzIHtcbiAgICBmb250LXNpemU6IDEuM3JlbTtcbiAgICBjb2xvcjogdmFyKC0td2hpdGUpO1xuICAgIG1hcmdpbi1ib3R0b206IDEwcHg7XG59XG5cbi5tZW1iZXItcm9sZSB7XG4gICAgY29sb3I6IHZhcigtLXRleHQtbGlnaHQpO1xuICAgIGZvbnQtc2l6ZTogMC45NXJlbTtcbn1cblxuLm1lbWJlci1yb2xlIGEge1xuICAgIGNvbG9yOiB2YXIoLS1yeWxvLWN5YW4pO1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbn1cblxuLm1lbWJlci1yb2xlIGE6aG92ZXIge1xuICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xufVxuXG5AbWVkaWEgKG1heC13aWR0aDogOTkycHgpIHtcbiAgICAubWlzc2lvbi1ncmlkIHtcbiAgICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiAxZnI7XG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICB9XG4gICAgLmFib3V0LWhlcm8tY29udGVudCBoMSB7XG4gICAgICAgIGZvbnQtc2l6ZTogM3JlbTtcbiAgICB9XG59XG5cbi8qIC0tLSBTdHVmZnkgQmVkcm9vbSBMYW5kaW5nIFBhZ2UgLS0tICovXG4ucHJvYmxlbS1zZWN0aW9uIHtcbiAgICBiYWNrZ3JvdW5kOiB2YXIoLS1ncmF5LWJnKTtcbiAgICBwYWRkaW5nOiA4MHB4IDA7XG59XG5cbi5wcm9ibGVtLWdyaWQge1xuICAgIGRpc3BsYXk6IGdyaWQ7XG4gICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoYXV0by1maXQsIG1pbm1heCgzMDBweCwgMWZyKSk7XG4gICAgZ2FwOiAzMHB4O1xuICAgIG1hcmdpbi10b3A6IDUwcHg7XG59XG5cbi5wcm9ibGVtLWNhcmQge1xuICAgIGJhY2tncm91bmQ6IHZhcigtLWNhcmQtYmcpO1xuICAgIGJvcmRlci1yYWRpdXM6IDIwcHg7XG4gICAgcGFkZGluZzogNDBweDtcbiAgICBib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1ib3JkZXIpO1xuICAgIHRyYW5zaXRpb246IHZhcigtLXRyYW5zaXRpb24pO1xufVxuXG4ucHJvYmxlbS1jYXJkOmhvdmVyIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTEwcHgpO1xuICAgIGJvcmRlci1jb2xvcjogdmFyKC0tcnlsby1jeWFuKTtcbn1cblxuLnByb2JsZW0taWNvbiB7XG4gICAgd2lkdGg6IDQ4cHg7XG4gICAgaGVpZ2h0OiA0OHB4O1xuICAgIGJhY2tncm91bmQ6IHJnYmEoMCwgMTg0LCAyMTIsIDAuMSk7XG4gICAgYm9yZGVyLXJhZGl1czogMTJweDtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgY29sb3I6IHZhcigtLXJ5bG8tY3lhbik7XG4gICAgbWFyZ2luLWJvdHRvbTogMjBweDtcbn1cblxuLnByb2JsZW0taWNvbiBzdmcge1xuICAgIHdpZHRoOiAyNHB4O1xuICAgIGhlaWdodDogMjRweDtcbn1cblxuLnByb2JsZW0tY2FyZCBoMyB7XG4gICAgZm9udC1zaXplOiAxLjRyZW07XG4gICAgY29sb3I6IHZhcigtLXdoaXRlKTtcbiAgICBtYXJnaW4tYm90dG9tOiAxNXB4O1xufVxuXG4ucHJvYmxlbS1jYXJkIHAge1xuICAgIGNvbG9yOiB2YXIoLS10ZXh0LWJvZHkpO1xuICAgIGZvbnQtc2l6ZTogMXJlbTtcbiAgICBsaW5lLWhlaWdodDogMS42O1xufVxuXG4uc2NpZW5jZS1zZWN0aW9uIHtcbiAgICBwYWRkaW5nOiAxMDBweCAwO1xuICAgIGJhY2tncm91bmQ6IHZhcigtLWRhcmspO1xufVxuXG4uc2NpZW5jZS1sYXlvdXQge1xuICAgIGRpc3BsYXk6IGdyaWQ7XG4gICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiAxZnIgMWZyO1xuICAgIGdhcDogODBweDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xufVxuXG4uc2NpZW5jZS10ZXh0IGgyIHtcbiAgICBmb250LXNpemU6IDIuNXJlbTtcbiAgICBjb2xvcjogdmFyKC0td2hpdGUpO1xuICAgIG1hcmdpbi1ib3R0b206IDI1cHg7XG59XG5cbi5zY2llbmNlLXRleHQgcCB7XG4gICAgZm9udC1zaXplOiAxLjFyZW07XG4gICAgY29sb3I6IHZhcigtLXRleHQtYm9keSk7XG4gICAgbWFyZ2luLWJvdHRvbTogMjBweDtcbn1cblxuLnNjaWVuY2UtdGV4dCB1bCB7XG4gICAgbGlzdC1zdHlsZTogbm9uZTtcbiAgICBwYWRkaW5nOiAwO1xuICAgIG1hcmdpbi1ib3R0b206IDI1cHg7XG59XG5cbi5zY2llbmNlLXRleHQgdWwgbGkge1xuICAgIGNvbG9yOiB2YXIoLS10ZXh0LWJvZHkpO1xuICAgIGZvbnQtc2l6ZTogMS4wNXJlbTtcbiAgICBwYWRkaW5nOiA4cHggMDtcbiAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgdmFyKC0tYm9yZGVyKTtcbn1cblxuLnNjaWVuY2UtdGV4dCB1bCBsaTpsYXN0LWNoaWxkIHtcbiAgICBib3JkZXItYm90dG9tOiBub25lO1xufVxuXG4uc2NpZW5jZS12aXN1YWwge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGdhcDogMjBweDtcbn1cblxuLnBwbS1tZXRlciB7XG4gICAgYmFja2dyb3VuZDogdmFyKC0tY2FyZC1iZyk7XG4gICAgYm9yZGVyOiAxcHggc29saWQgdmFyKC0tYm9yZGVyKTtcbiAgICBib3JkZXItcmFkaXVzOiAyNHB4O1xuICAgIHBhZGRpbmc6IDQwcHg7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIG1heC13aWR0aDogMzQwcHg7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG59XG5cbi5wcG0tbWV0ZXI6OmJlZm9yZSB7XG4gICAgY29udGVudDogJyc7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMDtcbiAgICBsZWZ0OiAwO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogNHB4O1xuICAgIGJhY2tncm91bmQ6IHZhcigtLXJ5bG8tZ3JhZCk7XG59XG5cbi5wcG0tbGFiZWwge1xuICAgIGZvbnQtc2l6ZTogMC45cmVtO1xuICAgIGNvbG9yOiB2YXIoLS10ZXh0LWxpZ2h0KTtcbiAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgIGxldHRlci1zcGFjaW5nOiAxcHg7XG4gICAgbWFyZ2luLWJvdHRvbTogMTVweDtcbn1cblxuLnBwbS12YWx1ZSB7XG4gICAgZm9udC1zaXplOiA0cmVtO1xuICAgIGZvbnQtd2VpZ2h0OiA4MDA7XG4gICAgY29sb3I6IHZhcigtLXdoaXRlKTtcbiAgICBsaW5lLWhlaWdodDogMTtcbiAgICBtYXJnaW4tYm90dG9tOiA4cHg7XG59XG5cbi5wcG0tdW5pdCB7XG4gICAgZm9udC1zaXplOiAxcmVtO1xuICAgIGNvbG9yOiB2YXIoLS10ZXh0LWxpZ2h0KTtcbiAgICBtYXJnaW4tYm90dG9tOiAyMHB4O1xufVxuXG4ucHBtLWJhciB7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiA4cHg7XG4gICAgYmFja2dyb3VuZDogdmFyKC0tZ3JheS1iZyk7XG4gICAgYm9yZGVyLXJhZGl1czogNHB4O1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG59XG5cbi5wcG0tYmFyIHNwYW4ge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIGhlaWdodDogMTAwJTtcbiAgICBiYWNrZ3JvdW5kOiB2YXIoLS1yeWxvLWdyYWQpO1xuICAgIGJvcmRlci1yYWRpdXM6IDRweDtcbn1cblxuLnBwbS1ub3RlIHtcbiAgICBjb2xvcjogdmFyKC0tcnlsby1jeWFuKTtcbiAgICBmb250LXNpemU6IDAuOTVyZW07XG4gICAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgICBiYWNrZ3JvdW5kOiByZ2JhKDAsIDE4NCwgMjEyLCAwLjEpO1xuICAgIHBhZGRpbmc6IDEwcHggMjBweDtcbiAgICBib3JkZXItcmFkaXVzOiAyMHB4O1xuICAgIGJvcmRlcjogMXB4IHNvbGlkIHJnYmEoMCwgMTg0LCAyMTIsIDAuMik7XG59XG5cbi5zb2x1dGlvbi1zZWN0aW9uIHtcbiAgICBiYWNrZ3JvdW5kOiB2YXIoLS1ncmF5LWJnKTtcbiAgICBwYWRkaW5nOiAxMDBweCAwO1xufVxuXG4uc29sdXRpb24tbGF5b3V0IHtcbiAgICBkaXNwbGF5OiBncmlkO1xuICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogMWZyIDFmcjtcbiAgICBnYXA6IDgwcHg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbn1cblxuLnNvbHV0aW9uLXZpc3VhbCB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbn1cblxuLnNvbHV0aW9uLXZpc3VhbCBpbWcge1xuICAgIG1heC13aWR0aDogMTAwJTtcbiAgICBmaWx0ZXI6IGRyb3Atc2hhZG93KDAgMjBweCA0MHB4IHJnYmEoMCwgMCwgMCwgMC40KSk7XG59XG5cbi5zb2x1dGlvbi10ZXh0IGgyIHtcbiAgICBmb250LXNpemU6IDIuNXJlbTtcbiAgICBjb2xvcjogdmFyKC0td2hpdGUpO1xuICAgIG1hcmdpbi1ib3R0b206IDI1cHg7XG59XG5cbi5zb2x1dGlvbi10ZXh0IHAge1xuICAgIGZvbnQtc2l6ZTogMS4xcmVtO1xuICAgIGNvbG9yOiB2YXIoLS10ZXh0LWJvZHkpO1xuICAgIG1hcmdpbi1ib3R0b206IDIwcHg7XG59XG5cbi5zb2x1dGlvbi1iZW5lZml0cyB7XG4gICAgbWFyZ2luLXRvcDogMzBweDtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgZ2FwOiAxNnB4O1xufVxuXG4uYmVuZWZpdC1yb3cge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBnYXA6IDE1cHg7XG4gICAgYmFja2dyb3VuZDogdmFyKC0tY2FyZC1iZyk7XG4gICAgcGFkZGluZzogMTZweCAyMHB4O1xuICAgIGJvcmRlci1yYWRpdXM6IDEycHg7XG4gICAgYm9yZGVyOiAxcHggc29saWQgdmFyKC0tYm9yZGVyKTtcbiAgICB0cmFuc2l0aW9uOiB2YXIoLS10cmFuc2l0aW9uKTtcbn1cblxuLmJlbmVmaXQtcm93OmhvdmVyIHtcbiAgICBib3JkZXItY29sb3I6IHZhcigtLXJ5bG8tY3lhbik7XG59XG5cbi5iZW5lZml0LWNoZWNrIHtcbiAgICB3aWR0aDogMjhweDtcbiAgICBoZWlnaHQ6IDI4cHg7XG4gICAgYmFja2dyb3VuZDogcmdiYSgwLCAyMDAsIDgzLCAwLjE1KTtcbiAgICBib3JkZXItcmFkaXVzOiA1MCU7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgIGNvbG9yOiB2YXIoLS1yeWxvLWdyZWVuKTtcbiAgICBmbGV4LXNocmluazogMDtcbn1cblxuLmJlbmVmaXQtY2hlY2sgc3ZnIHtcbiAgICB3aWR0aDogMTRweDtcbiAgICBoZWlnaHQ6IDE0cHg7XG59XG5cbi5iZW5lZml0LXJvdyBzcGFuIHtcbiAgICBjb2xvcjogdmFyKC0td2hpdGUpO1xuICAgIGZvbnQtc2l6ZTogMXJlbTtcbn1cblxuLmluc3RhbGwtb3B0aW9ucyB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgIGdhcDogMjVweDtcbn1cblxuLmluc3RhbGwtb3B0aW9uIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGdhcDogMjBweDtcbiAgICBhbGlnbi1pdGVtczogZmxleC1zdGFydDtcbiAgICBiYWNrZ3JvdW5kOiB2YXIoLS1jYXJkLWJnKTtcbiAgICBwYWRkaW5nOiAzMHB4O1xuICAgIGJvcmRlci1yYWRpdXM6IDIwcHg7XG4gICAgYm9yZGVyOiAxcHggc29saWQgdmFyKC0tYm9yZGVyKTtcbiAgICB0cmFuc2l0aW9uOiB2YXIoLS10cmFuc2l0aW9uKTtcbn1cblxuLmluc3RhbGwtb3B0aW9uOmhvdmVyIHtcbiAgICBib3JkZXItY29sb3I6IHZhcigtLXJ5bG8tY3lhbik7XG59XG5cbi5pbnN0YWxsLWRldGFpbCBoMyB7XG4gICAgZm9udC1zaXplOiAxLjNyZW07XG4gICAgY29sb3I6IHZhcigtLXdoaXRlKTtcbiAgICBtYXJnaW4tYm90dG9tOiAxMHB4O1xufVxuXG4uaW5zdGFsbC1kZXRhaWwgcCB7XG4gICAgY29sb3I6IHZhcigtLXRleHQtYm9keSk7XG4gICAgZm9udC1zaXplOiAxcmVtO1xuICAgIG1hcmdpbjogMDtcbn1cblxuLmluc3RhbGwtc3BlY3Mtbm90ZSB7XG4gICAgYmFja2dyb3VuZDogcmdiYSgwLCAxODQsIDIxMiwgMC4wNSk7XG4gICAgYm9yZGVyOiAxcHggc29saWQgcmdiYSgwLCAxODQsIDIxMiwgMC4yKTtcbiAgICBib3JkZXItcmFkaXVzOiAxNnB4O1xuICAgIHBhZGRpbmc6IDIwcHggMjVweDtcbiAgICBjb2xvcjogdmFyKC0tdGV4dC1ib2R5KTtcbiAgICBmb250LXNpemU6IDAuOTVyZW07XG59XG5cbi5idG4tbGFyZ2Uge1xuICAgIHBhZGRpbmc6IDE2cHggMzZweDtcbiAgICBmb250LXNpemU6IDEuMnJlbTtcbn1cblxuLmN0YS1ub3RlIHtcbiAgICBtYXJnaW4tdG9wOiAyMHB4ICFpbXBvcnRhbnQ7XG4gICAgZm9udC1zaXplOiAwLjk1cmVtICFpbXBvcnRhbnQ7XG4gICAgb3BhY2l0eTogMC44O1xufVxuXG5AbWVkaWEgKG1heC13aWR0aDogOTkycHgpIHtcbiAgICAuc2NpZW5jZS1sYXlvdXQsXG4gICAgLnNvbHV0aW9uLWxheW91dCB7XG4gICAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogMWZyO1xuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgfVxuICAgIC5zb2x1dGlvbi1iZW5lZml0cyB7XG4gICAgICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gICAgfVxuICAgIC5pbnN0YWxsLW9wdGlvbiB7XG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICB9XG59XG5cbi8qIC0tLSBDaGVja291dCBPdmVycmlkZXMgLS0tICovXG4ucnlsby1jaGVja291dC1oZWFkZXIge1xuICAgIGJhY2tncm91bmQ6IHZhcigtLWRhcmtlcik7XG4gICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIHZhcigtLWJvcmRlcik7XG59XG5cbi5yeWxvLWNoZWNrb3V0LWhlYWRlciAuY29sOmZpcnN0LWNoaWxkIGEge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbn1cblxuLnJ5bG8tY2hlY2tvdXQtaGVhZGVyIC5jb2w6Zmlyc3QtY2hpbGQgaW1nIHtcbiAgICB3aWR0aDogMTIwcHg7XG4gICAgaGVpZ2h0OiBhdXRvO1xuICAgIG9iamVjdC1maXQ6IGNvbnRhaW47XG59XG5cbi5jaGVja291dC1zaWRlYmFyOjpiZWZvcmUge1xuICAgIGJhY2tncm91bmQ6IHZhcigtLWdyYXktYmcpICFpbXBvcnRhbnQ7XG59XG5cbi5jaGVja291dC1zaWRlYmFyIHtcbiAgICBjb2xvcjogdmFyKC0tdGV4dC1ib2R5KTtcbn1cblxuLyogLS0tIENhcnQgaXRlbSBsYXlvdXQgLS0tICovXG4uY2FydC1pdGVtcyB0YWJsZSB7XG4gICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICBib3JkZXItY29sbGFwc2U6IGNvbGxhcHNlO1xufVxuXG4uY2FydC1pdGVtcyB0YWJsZSB0Ym9keSB0ci5jYXJ0LWl0ZW0tcm93IHtcbiAgICAvKiBUaGlzIHdhcyBhIHdlaXJkIGNvbG9yIGJvcmRlci1ib3R0b206IDJweCBzb2xpZCB2YXIoLS1yeWxvLWdyZWVuLW11dGVkKTsqL1xufVxuXG4uY2FydC1pdGVtLWluZm8ge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGdhcDogMXJlbTtcbn1cblxuLmNhcnQtaXRlbS1pbWFnZSB7XG4gICAgd2lkdGg6IDZyZW07XG4gICAgZmxleC1zaHJpbms6IDA7XG59XG5cbi5jYXJ0LWl0ZW0tZGV0YWlscyB7XG4gICAgbWluLXdpZHRoOiAwO1xufVxuXG4uY2FydC1pdGVtLXJlbW92ZS1tb2JpbGUge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgZm9udC1zaXplOiAwLjg1cmVtO1xuICAgIGNvbG9yOiB2YXIoLS10ZXh0LWxpZ2h0KTtcbiAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG59XG5cbi5jYXJ0LWl0ZW0tcmVtb3ZlLW1vYmlsZTpob3ZlciB7XG4gICAgY29sb3I6IHZhcigtLXJ5bG8tY3lhbik7XG59XG5cbi5jb3Vwb24tY29sIHtcbiAgICBtaW4td2lkdGg6IDMwMHB4O1xufVxuXG4uY2xlYXItY2FydC1jb2wge1xuICAgIGZsZXgtc2hyaW5rOiAwO1xufVxuXG4uY2FydC1pdGVtLWxhYmVsIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBmb250LXNpemU6IDAuNzVyZW07XG4gICAgY29sb3I6IHZhcigtLXRleHQtbGlnaHQpO1xuICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgbGV0dGVyLXNwYWNpbmc6IDAuNXB4O1xuICAgIG1hcmdpbi1ib3R0b206IDAuMjVyZW07XG59XG5cbi5jYXJ0LWl0ZW0tcXVhbnRpdHktaW5wdXQge1xuICAgIG1pbi13aWR0aDogNjBweDtcbiAgICBtYXgtd2lkdGg6IDgwcHg7XG4gICAgbWFyZ2luLWxlZnQ6IGF1dG87XG59XG5cbkBtZWRpYSAobWF4LXdpZHRoOiA3NjhweCkge1xuICAgIC5jYXJ0LWl0ZW1zIHRhYmxlIHRoZWFkIHtcbiAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG5cbiAgICAuY2FydC1pdGVtcyB0YWJsZSB0Ym9keSB0ci5jYXJ0LWl0ZW0tcm93IHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgZmxleC13cmFwOiB3cmFwO1xuICAgICAgICBib3JkZXItYm90dG9tOiAycHggc29saWQgdmFyKC0tcnlsby1ncmVlbi1tdXRlZCk7XG4gICAgICAgIHBhZGRpbmc6IDFyZW0gMDtcbiAgICAgICAgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7XG4gICAgfVxuXG4gICAgLmNhcnQtaXRlbXMgdGFibGUgdGJvZHkgdHIuY2FydC1pdGVtLXJvdzpsYXN0LWNoaWxkIHtcbiAgICAgICAgYm9yZGVyLWJvdHRvbTogMnB4IHNvbGlkIHZhcigtLXJ5bG8tZ3JlZW4tbXV0ZWQpO1xuICAgIH1cblxuICAgIC5jYXJ0LWl0ZW1zIHRhYmxlIHRib2R5IHRyLmNhcnQtaXRlbS1yb3c6OmFmdGVyIHtcbiAgICAgICAgY29udGVudDogXCJcIjtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBoZWlnaHQ6IDA7XG4gICAgICAgIG9yZGVyOiAzO1xuICAgIH1cblxuICAgIC5jYXJ0LWl0ZW1zIHRhYmxlIHRib2R5IHRkIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBib3JkZXI6IG5vbmUgIWltcG9ydGFudDtcbiAgICAgICAgcGFkZGluZzogMDtcbiAgICB9XG5cbiAgICAuY2FydC1pdGVtLXByb2R1Y3Qge1xuICAgICAgICBvcmRlcjogMTtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgfVxuXG4gICAgLmNhcnQtaXRlbS1pbmZvIHtcbiAgICAgICAgZmxleC1kaXJlY3Rpb246IHJvdy1yZXZlcnNlO1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gICAgICAgIGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0O1xuICAgIH1cblxuICAgIC5jYXJ0LWl0ZW0taW1hZ2Uge1xuICAgICAgICB3aWR0aDogNXJlbTtcbiAgICB9XG5cbiAgICAuY2FydC1pdGVtLWRldGFpbHMge1xuICAgICAgICB3aWR0aDogNjAlO1xuICAgICAgICBtaW4td2lkdGg6IDA7XG4gICAgfVxuXG4gICAgLmNhcnQtaXRlbS1yZW1vdmUtbW9iaWxlIHtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIH1cblxuICAgIC5jYXJ0LWl0ZW0tcmVtb3ZlIHtcbiAgICAgICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xuICAgIH1cblxuICAgIC5jYXJ0LWl0ZW0tcHJpY2UsXG4gICAgLmNhcnQtaXRlbS1xdWFudGl0eSxcbiAgICAuY2FydC1pdGVtLXRvdGFsIHtcbiAgICAgICAgb3JkZXI6IDI7XG4gICAgICAgIGZsZXg6IDAgMCAzMy4zMzMlO1xuICAgICAgICB3aWR0aDogMzMuMzMzJTtcbiAgICAgICAgbWFyZ2luLXRvcDogMXJlbTtcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyICFpbXBvcnRhbnQ7XG4gICAgfVxuXG4gICAgLmNhcnQtaXRlbS1wcmljZSAuY2FydC1pdGVtLWxhYmVsLFxuICAgIC5jYXJ0LWl0ZW0tcXVhbnRpdHkgLmNhcnQtaXRlbS1sYWJlbCxcbiAgICAuY2FydC1pdGVtLXRvdGFsIC5jYXJ0LWl0ZW0tbGFiZWwge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAwLjVyZW07XG4gICAgfVxuXG4gICAgLmNhcnQtaXRlbS1xdWFudGl0eS1pbnB1dCB7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IGF1dG87XG4gICAgfVxufVxuXG4vKiBQcm9kdWN0IGxpc3RpbmcgKi9cbmltZyNtYWluLWltYWdlIHtcbiAgICAvKm1heC1oZWlnaHQ6NDUwcHg7Ki9cbn1cblxuLnByb2R1Y3QtaW5mby1hY2NvcmRpb24gLmFjY29yZGlvbi1idXR0b24sXG4ucHJvZHVjdC1pbmZvLWFjY29yZGlvbiAuYWNjb3JkaW9uLWJvZHkge1xuICAgIHBhZGRpbmctbGVmdDogMS41cmVtICFpbXBvcnRhbnQ7XG4gICAgcGFkZGluZy1yaWdodDogMS41cmVtICFpbXBvcnRhbnQ7XG59XG5cbi8qIC0tLSBQcm9kdWN0IGluZm8gYWNjb3JkaW9uIC0tLSAqL1xuLnByb2R1Y3QtaW5mby1hY2NvcmRpb24gLmFjY29yZGlvbi1pdGVtIHtcbiAgICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoMTYwZGVnLCByZ2JhKDI2LCAzNywgNTYsIDAuOTUpIDAlLCByZ2JhKDIxLCAzMiwgNTMsIDAuOTIpIDUwJSwgcmdiYSgxMCwgMTcsIDMyLCAwLjkpIDEwMCUpO1xuICAgIGJvcmRlci1jb2xvcjogcmdiYSgwLCAxODQsIDIxMiwgMC4yNSk7XG4gICAgYm9yZGVyLWxlZnQ6IDFweCBzb2xpZCByZ2JhKDAsIDE4NCwgMjEyLCAwLjI1KTtcbiAgICBib3JkZXItcmlnaHQ6IDFweCBzb2xpZCByZ2JhKDAsIDE4NCwgMjEyLCAwLjI1KTtcbiAgICBib3gtc2hhZG93OlxuICAgICAgICBpbnNldCAwIDAgNDBweCByZ2JhKDAsIDE4NCwgMjEyLCAwLjA4KSxcbiAgICAgICAgMCA4cHggMzBweCByZ2JhKDAsIDAsIDAsIDAuMzUpO1xufVxuXG4ucHJvZHVjdC1pbmZvLWFjY29yZGlvbiAuYWNjb3JkaW9uLWl0ZW06Zmlyc3Qtb2YtdHlwZSB7XG4gICAgYm9yZGVyLXRvcC1sZWZ0LXJhZGl1czogdmFyKC0tYnMtYWNjb3JkaW9uLWJvcmRlci1yYWRpdXMpO1xuICAgIGJvcmRlci10b3AtcmlnaHQtcmFkaXVzOiB2YXIoLS1icy1hY2NvcmRpb24tYm9yZGVyLXJhZGl1cyk7XG59XG5cbi5wcm9kdWN0LWluZm8tYWNjb3JkaW9uIC5hY2NvcmRpb24taXRlbTpsYXN0LW9mLXR5cGUge1xuICAgIGJvcmRlci1ib3R0b20tbGVmdC1yYWRpdXM6IHZhcigtLWJzLWFjY29yZGlvbi1ib3JkZXItcmFkaXVzKTtcbiAgICBib3JkZXItYm90dG9tLXJpZ2h0LXJhZGl1czogdmFyKC0tYnMtYWNjb3JkaW9uLWJvcmRlci1yYWRpdXMpO1xufVxuXG4ucHJvZHVjdC1pbmZvLWFjY29yZGlvbiAuYWNjb3JkaW9uLWJ1dHRvbixcbi5wcm9kdWN0LWluZm8tYWNjb3JkaW9uIC5hY2NvcmRpb24tYnV0dG9uOm5vdCguY29sbGFwc2VkKSB7XG4gICAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KDE2MGRlZywgcmdiYSgyNiwgMzcsIDU2LCAwLjk1KSAwJSwgcmdiYSgyMSwgMzIsIDUzLCAwLjkyKSA1MCUsIHJnYmEoMTAsIDE3LCAzMiwgMC45KSAxMDAlKTtcbiAgICBjb2xvcjogdmFyKC0td2hpdGUpO1xufVxuXG4uYWNjb3JkaW9uLWZsYXQucHJvZHVjdC1pbmZvLWFjY29yZGlvbiAuYWNjb3JkaW9uLWl0ZW0gLmFjY29yZGlvbi1idXR0b246YWN0aXZlIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMDgpICFpbXBvcnRhbnQ7XG4gICAgY29sb3I6IHZhcigtLXdoaXRlKSAhaW1wb3J0YW50O1xufVxuXG4ucHJvZHVjdC1pbmZvLWFjY29yZGlvbiAuYWNjb3JkaW9uLWJvZHkge1xuICAgIHBhZGRpbmctbGVmdDogMS41cmVtO1xuICAgIHBhZGRpbmctcmlnaHQ6IDEuNXJlbTtcbn1cblxuLnByb2R1Y3QtaW5mby1hY2NvcmRpb24gLmFjY29yZGlvbi1idXR0b24gLmg1IHtcbiAgICBjb2xvcjogdmFyKC0tdGV4dC1ib2R5KTtcbn1cblxuLnByb2R1Y3QtaW5mby1hY2NvcmRpb24gLmFjY29yZGlvbi1ib2R5IHtcbiAgICBjb2xvcjogdmFyKC0tdGV4dC1ib2R5KTtcbn1cblxuLnByb2R1Y3QtaW5mby1zdW1tYXJ5IHtcbiAgICBib3JkZXI6IDFweCBzb2xpZCByZ2JhKDAsIDE4NCwgMjEyLCAwLjI1KTtcbiAgICBib3JkZXItcmFkaXVzOiAwLjc1cmVtO1xuICAgIHBhZGRpbmc6IDEuMjVyZW07XG4gICAgYmFja2dyb3VuZDogcmdiYSgwLCAxODQsIDIxMiwgMC4wNSk7XG4gICAgYm94LXNoYWRvdzogMCA4cHggMzBweCByZ2JhKDAsIDAsIDAsIDAuMzUpO1xufVxuXG4vKiAtLS0gQmxvZyAmIEFydGljbGUgUGFnZXMgLS0tICovXG4uYmxvZy1oZXJvLFxuLmFydGljbGUtaGVhZGVyIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgei1pbmRleDogYXV0bztcbn1cblxuLmJsb2ctaGVybyB7XG4gICAgYmFja2dyb3VuZDogcmFkaWFsLWdyYWRpZW50KGNpcmNsZSBhdCB0b3AgcmlnaHQsICMxYTI1MzgsIHZhcigtLWRhcmspKTtcbiAgICBwYWRkaW5nOiAzMHB4IDAgMTVweDtcbn1cblxuLmFydGljbGUtaGVhZGVyIHtcbiAgICBiYWNrZ3JvdW5kOiByYWRpYWwtZ3JhZGllbnQoY2lyY2xlIGF0IHRvcCByaWdodCwgIzFhMjUzOCwgIzBhMTEyMCk7XG59XG5cbi5hcnRpY2xlLXBhZ2Uge1xuICAgIHBhZGRpbmctdG9wOiAwO1xufVxuXG4uYXJ0aWNsZSB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGJhY2tncm91bmQ6IHZhcigtLWdyYXktYmcpO1xuICAgIGJvcmRlci10b3A6IDFweCBzb2xpZCB2YXIoLS1ib3JkZXIpO1xuICAgIGJveC1zaGFkb3c6IDAgMzBweCA2MHB4IHJnYmEoMCwgMCwgMCwgMC4zKTtcbiAgICBtYXJnaW46IDAgYXV0bztcbn1cblxuLmFydGljbGUtY29udGFpbmVyIHtcbiAgICBtYXgtd2lkdGg6IDkwMHB4O1xuICAgIHBhZGRpbmctYm90dG9tOiAyMHB4O1xufVxuXG4uYXJ0aWNsZS1jb250ZW50LWNvbnRhaW5lciB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tZGFyayk7XG59XG5cbi5hcnRpY2xlLWNvbnRhaW5lci1oZWFkZXIge1xufVxuXG4uYXJ0aWNsZS1icmVhZGNydW1iIHtcbiAgICBtYXJnaW4tYm90dG9tOiAyNXB4O1xufVxuXG4uYnJlYWRjcnVtYi1saXN0IHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGdhcDogOHB4O1xuICAgIGxpc3Qtc3R5bGU6IG5vbmU7XG4gICAgcGFkZGluZzogMDtcbiAgICBtYXJnaW46IDA7XG4gICAgZm9udC1zaXplOiAwLjlyZW07XG4gICAgY29sb3I6IHZhcigtLXRleHQtbGlnaHQpO1xufVxuXG4uYnJlYWRjcnVtYi1pdGVtIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xufVxuXG4vKiBEaXNhYmxlIHRoZSBiYWNrc2xhc2ggKC8pIGZyb20gYnJlYWRjcnVtYi5zY3NzICovXG4uYXJ0aWNsZS1icmVhZGNydW1iIC5icmVhZGNydW1iLWl0ZW0gKyAuYnJlYWRjcnVtYi1pdGVtOjpiZWZvcmUge1xuICAgIGNvbnRlbnQ6ICcnICFpbXBvcnRhbnQ7XG59XG5cbi5icmVhZGNydW1iLWl0ZW06bm90KDpsYXN0LWNoaWxkKTo6YWZ0ZXIge1xuICAgIGNvbnRlbnQ6ICcvJztcbiAgICBtYXJnaW4tbGVmdDogOHB4O1xuICAgIGNvbG9yOiB2YXIoLS1ib3JkZXIpO1xufVxuXG4uYnJlYWRjcnVtYi1pdGVtIGEge1xuICAgIGNvbG9yOiB2YXIoLS10ZXh0LWxpZ2h0KTtcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgdHJhbnNpdGlvbjogdmFyKC0tdHJhbnNpdGlvbik7XG59XG5cbi5icmVhZGNydW1iLWl0ZW0gYTpob3ZlciB7XG4gICAgY29sb3I6IHZhcigtLXJ5bG8tY3lhbik7XG59XG5cbi5icmVhZGNydW1iLWl0ZW0uYWN0aXZlIHtcbiAgICBjb2xvcjogdmFyKC0tcnlsby1jeWFuKTtcbiAgICBmb250LXdlaWdodDogNTAwO1xufVxuXG4uYmxvZy1oZXJvIGgxLFxuLmFydGljbGUtdGl0bGUge1xuICAgIGZvbnQtc2l6ZTogM3JlbTtcbiAgICBjb2xvcjogdmFyKC0td2hpdGUpO1xuICAgIGxpbmUtaGVpZ2h0OiAxLjE1O1xuICAgIG1hcmdpbi1ib3R0b206IDIwcHg7XG59XG5cbi5ibG9nLWludHJvLFxuLmFydGljbGUtbGVhZCB7XG4gICAgZm9udC1zaXplOiAxLjI1cmVtO1xuICAgIGNvbG9yOiB2YXIoLS10ZXh0LWxpZ2h0KTtcbiAgICBsaW5lLWhlaWdodDogMS43O1xufVxuXG4uYXJ0aWNsZS1tZXRhIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgZ2FwOiAxMnB4O1xuICAgIG1hcmdpbi10b3A6IDE1cHg7XG4gICAgZm9udC1zaXplOiAwLjlyZW07XG4gICAgY29sb3I6IHZhcigtLXRleHQtbGlnaHQpO1xufVxuXG4uYXJ0aWNsZS1jYXRlZ29yeSB7XG4gICAgYmFja2dyb3VuZDogcmdiYSgwLCAxODQsIDIxMiwgMC4xKTtcbiAgICBjb2xvcjogdmFyKC0tcnlsby1jeWFuKTtcbiAgICBwYWRkaW5nOiA0cHggMTJweDtcbiAgICBib3JkZXItcmFkaXVzOiAyMHB4O1xuICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICBsZXR0ZXItc3BhY2luZzogMC41cHg7XG4gICAgZm9udC1zaXplOiAwLjc1cmVtO1xufVxuXG4uYXJ0aWNsZS1kYXRlIHtcbiAgICBjb2xvcjogdmFyKC0tdGV4dC1saWdodCk7XG59XG5cbi5hcnRpY2xlLWxlYWQtcm93IHtcbiAgICBkaXNwbGF5OiBncmlkO1xuICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogMWZyIDFmcjtcbiAgICBnYXA6IDQwcHg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBtYXJnaW4tdG9wOiAyNXB4O1xufVxuXG4uYXJ0aWNsZS1oZWFkZXItdGV4dCB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgIGdhcDogMjBweDtcbn1cblxuLmFydGljbGUtaGVhZGVyLXRleHQgLmFydGljbGUtdGl0bGUge1xuICAgIG1hcmdpbi1ib3R0b206IDA7XG59XG5cbi5hcnRpY2xlLWxlYWQtcm93IC5hcnRpY2xlLWxlYWQge1xuICAgIG1hcmdpbjogMDtcbn1cblxuLmFydGljbGUtbGVhZC1yb3cgLmFydGljbGUtaGVyby1pbWFnZSB7XG4gICAgbWFyZ2luOiAwO1xufVxuXG4uYXJ0aWNsZS1sZWFkLXJvdyAuYXJ0aWNsZS1oZXJvLWltYWdlIGltZyB7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgYm9yZGVyLXJhZGl1czogMjRweDtcbiAgICBib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1ib3JkZXIpO1xuICAgIGJveC1zaGFkb3c6IDAgMjBweCA0MHB4IHJnYmEoMCwgMCwgMCwgMC40KTtcbn1cblxuQG1lZGlhIChtYXgtd2lkdGg6IDc2OHB4KSB7XG4gICAgLmFydGljbGUtbGVhZC1yb3cge1xuICAgICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDFmcjtcbiAgICB9XG59XG5cbi5hcnRpY2xlLWJvZHkge1xuICAgIG1hcmdpbi10b3A6IC0yMHB4O1xufVxuXG4uYXJ0aWNsZS1ib2R5IGgyIHtcbiAgICBmb250LXNpemU6IDJyZW07XG4gICAgY29sb3I6IHZhcigtLXdoaXRlKTtcbiAgICBwYWRkaW5nOiA2MHB4IDAgMjBweDtcbn1cblxuLmFydGljbGUtYm9keSBoMyB7XG4gICAgZm9udC1zaXplOiAxLjRyZW07XG4gICAgY29sb3I6IHZhcigtLXdoaXRlKTtcbiAgICBtYXJnaW46IDQwcHggMCAxNXB4O1xufVxuXG4uYXJ0aWNsZS1ib2R5IHAge1xuICAgIGZvbnQtc2l6ZTogMS4xcmVtO1xuICAgIGNvbG9yOiB2YXIoLS10ZXh0LWJvZHkpO1xuICAgIG1hcmdpbi1ib3R0b206IDIwcHg7XG59XG5cbi5hcnRpY2xlLWJvZHkgdWwsXG4uYXJ0aWNsZS1ib2R5IG9sIHtcbiAgICBtYXJnaW4tYm90dG9tOiAyNXB4O1xuICAgIHBhZGRpbmctbGVmdDogMjVweDtcbn1cblxuLmFydGljbGUtYm9keSBsaSB7XG4gICAgZm9udC1zaXplOiAxLjFyZW07XG4gICAgY29sb3I6IHZhcigtLXRleHQtYm9keSk7XG4gICAgbWFyZ2luLWJvdHRvbTogMTJweDtcbiAgICBsaW5lLWhlaWdodDogMS42O1xufVxuXG4uYXJ0aWNsZS1maWd1cmUge1xuICAgIG1hcmdpbjogNDBweCAwO1xufVxuXG4uYXJ0aWNsZS1maWd1cmUgZmlnY2FwdGlvbiB7XG4gICAgY29sb3I6IHZhcigtLXRleHQtbGlnaHQpO1xuICAgIGZvbnQtc2l6ZTogMC45NXJlbTtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgbWFyZ2luLXRvcDogMTVweDtcbn1cblxuLmFydGljbGUtZmlndXJlLW1ldGVyIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbn1cblxuLmFydGljbGUtZmlndXJlLXdpZGUgLmhvdy1pdC13b3JrcyB7XG4gICAgcGFkZGluZy1sZWZ0OiAwO1xuICAgIHBhZGRpbmctcmlnaHQ6IDA7XG59XG5cbi5hcnRpY2xlLWN0YSB7XG4gICAgYmFja2dyb3VuZDogdmFyKC0tZ3JheS1iZyk7XG4gICAgcGFkZGluZzogODBweCAwO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbn1cblxuLmFydGljbGUtY3RhIGgyIHtcbiAgICBmb250LXNpemU6IDIuMnJlbTtcbiAgICBjb2xvcjogdmFyKC0td2hpdGUpO1xuICAgIG1hcmdpbi1ib3R0b206IDIwcHg7XG59XG5cbi5hcnRpY2xlLWN0YSBwIHtcbiAgICBmb250LXNpemU6IDEuMXJlbTtcbiAgICBjb2xvcjogdmFyKC0tdGV4dC1ib2R5KTtcbiAgICBtYXgtd2lkdGg6IDYwMHB4O1xuICAgIG1hcmdpbjogMCBhdXRvIDI1cHg7XG59XG5cbi5hcnRpY2xlLWN0YS1ub3RlIHtcbiAgICBmb250LXNpemU6IDAuOTVyZW0gIWltcG9ydGFudDtcbiAgICBjb2xvcjogdmFyKC0tdGV4dC1saWdodCkgIWltcG9ydGFudDtcbiAgICBtYXJnaW4tdG9wOiAyMHB4ICFpbXBvcnRhbnQ7XG59XG5cbi8qIEJsb2cgbGlzdGluZyAqL1xuLmJsb2ctbGlzdGluZyB7XG4gICAgcGFkZGluZzogNjBweCAwIDEwMHB4O1xufVxuXG4uYmxvZy1ncmlkIHtcbiAgICBkaXNwbGF5OiBncmlkO1xuICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KGF1dG8tZml0LCBtaW5tYXgoMzIwcHgsIDFmcikpO1xuICAgIGdhcDogMzBweDtcbn1cblxuLmJsb2ctY2FyZCB7XG4gICAgYmFja2dyb3VuZDogdmFyKC0tY2FyZC1iZyk7XG4gICAgYm9yZGVyOiAxcHggc29saWQgdmFyKC0tYm9yZGVyKTtcbiAgICBib3JkZXItcmFkaXVzOiAyMHB4O1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgdHJhbnNpdGlvbjogdmFyKC0tdHJhbnNpdGlvbik7XG59XG5cbi5ibG9nLWNhcmQ6aG92ZXIge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNXB4KTtcbiAgICBib3JkZXItY29sb3I6IHZhcigtLXJ5bG8tY3lhbik7XG59XG5cbi5ibG9nLWNhcmQtbGluayB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgY29sb3I6IGluaGVyaXQ7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xufVxuXG4uYmxvZy1jYXJkLWltYWdlIHtcbiAgICBhc3BlY3QtcmF0aW86IDE2IC8gOTtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIGJhY2tncm91bmQ6IHZhcigtLWdyYXktcGFuZSk7XG59XG5cbi5ibG9nLWNhcmQtaW1hZ2UgaW1nIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgb2JqZWN0LWZpdDogY292ZXI7XG4gICAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIDAuNXMgZWFzZTtcbn1cblxuLmJsb2ctY2FyZDpob3ZlciAuYmxvZy1jYXJkLWltYWdlIGltZyB7XG4gICAgdHJhbnNmb3JtOiBzY2FsZSgxLjAzKTtcbn1cblxuLmJsb2ctY2FyZC1ib2R5IHtcbiAgICBwYWRkaW5nOiAzMHB4O1xufVxuXG4uYmxvZy1jYXJkLW1ldGEge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBnYXA6IDEycHg7XG4gICAgbWFyZ2luLWJvdHRvbTogMTVweDtcbiAgICBmb250LXNpemU6IDAuODVyZW07XG4gICAgY29sb3I6IHZhcigtLXRleHQtbGlnaHQpO1xufVxuXG4uYmxvZy1jYXJkLWNhdGVnb3J5IHtcbiAgICBiYWNrZ3JvdW5kOiByZ2JhKDAsIDE4NCwgMjEyLCAwLjEpO1xuICAgIGNvbG9yOiB2YXIoLS1yeWxvLWN5YW4pO1xuICAgIHBhZGRpbmc6IDNweCAxMHB4O1xuICAgIGJvcmRlci1yYWRpdXM6IDIwcHg7XG4gICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgIGxldHRlci1zcGFjaW5nOiAwLjVweDtcbiAgICBmb250LXNpemU6IDAuN3JlbTtcbn1cblxuLmJsb2ctY2FyZC10aXRsZSB7XG4gICAgZm9udC1zaXplOiAxLjVyZW07XG4gICAgY29sb3I6IHZhcigtLXdoaXRlKTtcbiAgICBtYXJnaW4tYm90dG9tOiAxMnB4O1xuICAgIGxpbmUtaGVpZ2h0OiAxLjM7XG59XG5cbi5ibG9nLWNhcmQtZXhjZXJwdCB7XG4gICAgZm9udC1zaXplOiAxcmVtO1xuICAgIGNvbG9yOiB2YXIoLS10ZXh0LWJvZHkpO1xuICAgIGxpbmUtaGVpZ2h0OiAxLjY7XG4gICAgbWFyZ2luLWJvdHRvbTogMjBweDtcbn1cblxuLmJsb2ctY2FyZC1jdGEge1xuICAgIGNvbG9yOiB2YXIoLS1yeWxvLWN5YW4pO1xuICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG59XG5cbkBtZWRpYSAobWF4LXdpZHRoOiA3NjhweCkge1xuICAgIC5ibG9nLWhlcm8sXG4gICAgLmFydGljbGUtaGVhZGVyIHtcbiAgICAgICAgcGFkZGluZzogMTAwcHggMCA0MHB4O1xuICAgIH1cblxuICAgIC5ibG9nLWhlcm8gaDEsXG4gICAgLmFydGljbGUtdGl0bGUge1xuICAgICAgICBmb250LXNpemU6IDIuMnJlbTtcbiAgICB9XG5cbiAgICAuYXJ0aWNsZS1ib2R5IGgyIHtcbiAgICAgICAgZm9udC1zaXplOiAxLjZyZW07XG4gICAgfVxuXG4gICAgLmFydGljbGUtYm9keSBwLFxuICAgIC5hcnRpY2xlLWJvZHkgbGkge1xuICAgICAgICBmb250LXNpemU6IDFyZW07XG4gICAgfVxufVxuIl0sIm5hbWVzIjpbXSwic291cmNlUm9vdCI6IiJ9*/