

/* Start:/local/assets/css/style.css?1752085690530201*/
@charset "UTF-8";
/* Оформление вертикального скроллбара */
@font-face {
  font-family: "Iosevka";
  src: url("/local/assets/css/../fonts/iosevka/Iosevka-Medium.woff2") format("woff2"), url("/local/assets/css/../fonts/iosevka/Iosevka-Medium.woff") format("woff");
  font-weight: 500;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: "RobotoFlex";
  src: url("/local/assets/css/../fonts/roboto/roboto-flex-upgrade.woff2") format("woff2"), url("/local/assets/css/../fonts/roboto/roboto-flex-upgrade.woff") format("woff");
  font-weight: 400;
  font-style: normal;
  font-display: swap;
}
@keyframes load {
  from {
    transform: rotate(0deg);
  }
  to {
    transform: rotate(360deg);
  }
}
@keyframes display-none {
  0% {
    display: none;
    opacity: 0;
  }
  1% {
    display: block;
  }
  100% {
    opacity: 1;
  }
}
@keyframes creeping-line {
  0% {
    transform: translateX(0);
  }
  100% {
    transform: translateX(-100%);
  }
}
@keyframes rotate {
  from {
    transform: rotate(0deg);
  }
  to {
    transform: rotate(360deg);
  }
}
@keyframes translate-down {
  0% {
    opacity: 0;
    transform: translateY(-20px);
  }
  100% {
    opacity: 1;
    transform: translateY(0);
  }
}
@keyframes cursor-blink {
  0% {
    border-color: var(--color-primary);
  }
  50% {
    border-color: transparent;
  }
  100% {
    border-color: var(--color-primary);
  }
}
@keyframes flicker {
  0% {
    background-color: var(--color-primary);
    color: var(--color-primary-contrast);
  }
  50% {
    background-color: var(--color-primary-contrast);
    color: var(--color-primary);
  }
  100% {
    background-color: var(--color-primary);
    color: var(--color-primary-contrast);
  }
}
@keyframes flicker-text {
  0% {
    color: var(--color-primary-contrast);
  }
  50% {
    color: var(--color-primary);
  }
  100% {
    color: var(--color-primary-contrast);
  }
}
@keyframes custom-caret-blinking {
  0%, 100% {
    opacity: 0;
  }
  50% {
    opacity: 1;
  }
}
*,
*::before,
*::after {
  box-sizing: border-box;
}

html,
body {
  padding: 0;
  margin: 0;
}

html {
  overscroll-behavior: none;
  text-rendering: optimizeLegibility;
}

body {
  background-color: var(--color-white);
}

a {
  text-underline-offset: 0.2em;
  -webkit-tap-highlight-color: var(--color-transparent);
}
button {
  -webkit-tap-highlight-color: var(--color-transparent);
}

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

h1,
h2,
h3,
h4,
h5,
h6,
p,
dl,
blockquote {
  margin: 0;
}

.swiper-slide,
.swiper-slide * {
  box-sizing: border-box;
}

:root {
  --scale-vw: calc(1920 / 100);
  --py-header: calc(16 / var(--scale-vw) * var(--vw, 1vw));
  --height-header: 7.2rem;
  --main-padding: calc(104 / var(--scale-vw) * var(--vw, 1vw));
  --py-section: calc(32 / var(--scale-vw) * var(--vw, 1vw));
  --color-white: #fff;
  --color-black: #000;
  --color-transparent: rgba(0, 0, 0, 0);
  --color-primary: #f0f0f0;
  --color-primary-contrast: #080808;
  --color-primary-contrast-900: #1f1f1f;
  --color-border-primary: #2d2d2d;
  --color-secondary: rgba(240, 240, 240, 0.4);
  --color-secondary-contrast: rgba(8, 8, 8, 0.4);
  --color-border-secondary: #dadada;
  --color-border: #d3d3d3;
  --color-selection: rgba(194, 199, 203, 0.5);
  --color-secondary-90: rgba(8, 8, 8, 0.9);
  --color-secondary-80: rgba(8, 8, 8, 0.8);
  --color-secondary-60: rgba(8, 8, 8, 0.6);
  --color-secondary-30: rgba(8, 8, 8, 0.3);
  --color-secondary-20: rgba(36, 36, 36, 0.2);
  --color-error: #e80000;
  --color-disabled: rgba(226, 226, 226, 0.5);
  --color-checked: #37a336;
  --color-green: #198f51;
  --color-fr-100: #f0da50;
  --color-fr-200: #41b883;
  --color-fr-300: #61dafb;
  --color-fr-400: #18d860;
  --color-fr-500: #ff2d20;
  --color-fr-600: #47c5fb;
  --color-fr-700: #f89917;
  --color-fr-grey: #807c7c;
  --trans-fast: 0.1s ease;
  --trans-base: 0.3s ease;
  --trans-long: 0.5s ease;
  --shadow-block: 0 0 1px #000;
  --z-modal: 71;
  --z-header: 70;
  --z-menu: 69;
  --z-over-chat: 2147000001;
}
@media only screen and (min-width: 1921px) {
  :root {
    --py-section: 32px;
    --py-header: 16px;
    --main-padding: 104px;
  }
}
@media only screen and (max-width: 1440px) {
  :root {
    --scale-vw: calc(1440 / 100);
    --height-header: 6.4rem;
    --main-padding: calc(72 / var(--scale-vw) * var(--vw, 1vw));
    --py-section: calc(24 / var(--scale-vw) * var(--vw, 1vw));
  }
}
@media only screen and (max-width: 1280px) {
  :root {
    --scale-vw: calc(1280 / 100);
  }
}
@media only screen and (max-width: 768px) {
  :root {
    --scale-vw: calc(768 / 100);
    --main-padding: calc(56 / var(--scale-vw) * var(--vw, 1vw));
  }
}
@media only screen and (max-width: 580px) {
  :root {
    --main-padding: 16px;
    --py-section: calc(16 / var(--scale-vw) * var(--vw, 1vw));
  }
}
@media only screen and (max-width: 480px) {
  :root {
    --scale-vw: calc(390 / 100);
  }
}

.noscript {
  background: #f00;
  color: #808080;
  text-align: center;
}

.no-wrap {
  white-space: nowrap;
}

.visually-hidden {
  visibility: hidden;
  position: absolute;
  width: 1px;
  height: 1px;
  margin: -1px;
  clip: rect(0 0 0 0);
}

.icn {
  display: inline-block;
  fill: currentColor;
  flex: 0 0 auto;
  user-select: none;
}

:root {
  font-size: 62.5%;
}

html {
  scroll-behavior: smooth;
  height: 100%;
}

body {
  font-size: calc(16 / var(--scale-vw) * var(--vw, 1vw));
  line-height: 100%;
  font-weight: 500;
  font-variant-numeric: slashed-zero;
  font-feature-settings: "cv77" on, "cv11" on, "cv05" on, "cv04" on, "cv83" on, "ss04" on, "ss15" on, "cv90" on, "ss11" on, "ss07" on, "calt" off;
  height: 100%;
  margin: 0 auto;
  font-family: "Iosevka", sans-serif;
  color: var(--color-primary);
  background-color: var(--color-primary-contrast);
}
@media only screen and (min-width: 1921px) {
  body {
    font-size: 16px;
  }
}
body.menu-open {
  overflow: hidden;
}

*::selection {
  background-color: var(--color-selection);
}

iframe,
img,
svg,
video {
  max-width: 100%;
  display: block;
}

.text-block p:not([class]) {
  font-size: calc(20 / var(--scale-vw) * var(--vw, 1vw));
  line-height: 140%;
  letter-spacing: -0.01em;
  font-weight: 500;
  font-weight: 400;
  font-family: "RobotoFlex", sans-serif;
}
@media only screen and (min-width: 1921px) {
  .text-block p:not([class]) {
    font-size: 20px;
  }
}
@media only screen and (max-width: 1440px) {
  .text-block p:not([class]) {
    font-size: calc(17 / var(--scale-vw) * var(--vw, 1vw));
  }
}
@media only screen and (max-width: 480px) {
  .text-block p:not([class]) {
    font-size: calc(15 / var(--scale-vw) * var(--vw, 1vw));
  }
}
.text-block p:not([class]):not(:first-child) {
  margin-top: 16px;
}
.text-block p:not([class]) + ul:not([class]) {
  margin-top: 8px;
}
.text-block :where(h2, h3, h4, h5, h6):where(:not([class])) {
  text-transform: uppercase;
}
.text-block :where(h2, h3, h4, h5, h6):where(:not([class])):first-child {
  margin-top: calc(200 / var(--scale-vw) * var(--vw, 1vw));
}
.text-block :where(h2, h3, h4, h5, h6):where(:not([class])):not(:last-child) {
  margin-bottom: calc(24 / var(--scale-vw) * var(--vw, 1vw));
}
@media only screen and (min-width: 1921px) {
  .text-block :where(h2, h3, h4, h5, h6):where(:not([class])):first-child {
    margin-top: 200px;
  }
  .text-block :where(h2, h3, h4, h5, h6):where(:not([class])):not(:last-child) {
    margin-bottom: 24px;
  }
}
@media only screen and (max-width: 1440px) {
  .text-block :where(h2, h3, h4, h5, h6):where(:not([class])):first-child {
    margin-top: calc(145 / var(--scale-vw) * var(--vw, 1vw));
  }
  .text-block :where(h2, h3, h4, h5, h6):where(:not([class])):not(:last-child) {
    margin-bottom: calc(16 / var(--scale-vw) * var(--vw, 1vw));
  }
}
@media only screen and (max-width: 768px) {
  .text-block :where(h2, h3, h4, h5, h6):where(:not([class])):first-child {
    margin-top: calc(112 / var(--scale-vw) * var(--vw, 1vw));
  }
  .text-block :where(h2, h3, h4, h5, h6):where(:not([class])):not(:last-child) {
    margin-bottom: calc(16 / var(--scale-vw) * var(--vw, 1vw));
  }
}
@media only screen and (max-width: 480px) {
  .text-block :where(h2, h3, h4, h5, h6):where(:not([class])):first-child {
    margin-top: calc(88 / var(--scale-vw) * var(--vw, 1vw));
  }
  .text-block :where(h2, h3, h4, h5, h6):where(:not([class])):not(:last-child) {
    margin-bottom: calc(12 / var(--scale-vw) * var(--vw, 1vw));
  }
}
.text-block h2:not([class]) {
  font-size: calc(44 / var(--scale-vw) * var(--vw, 1vw));
  line-height: 105%;
  letter-spacing: -0.02em;
  font-weight: 500;
}
@media only screen and (min-width: 1921px) {
  .text-block h2:not([class]) {
    font-size: 44px;
  }
}
@media only screen and (max-width: 1440px) {
  .text-block h2:not([class]) {
    font-size: calc(40 / var(--scale-vw) * var(--vw, 1vw));
    line-height: 115%;
  }
}
@media only screen and (max-width: 768px) {
  .text-block h2:not([class]) {
    font-size: calc(36 / var(--scale-vw) * var(--vw, 1vw));
  }
}
@media only screen and (max-width: 480px) {
  .text-block h2:not([class]) {
    font-size: calc(28 / var(--scale-vw) * var(--vw, 1vw));
  }
}
.text-block h3:not([class]) {
  font-size: calc(32 / var(--scale-vw) * var(--vw, 1vw));
  line-height: 115%;
  letter-spacing: -0.02em;
  font-weight: 500;
}
@media only screen and (min-width: 1921px) {
  .text-block h3:not([class]) {
    font-size: 32px;
  }
}
@media only screen and (max-width: 1440px) {
  .text-block h3:not([class]) {
    font-size: calc(28 / var(--scale-vw) * var(--vw, 1vw));
  }
}
@media only screen and (max-width: 768px) {
  .text-block h3:not([class]) {
    font-size: calc(24 / var(--scale-vw) * var(--vw, 1vw));
  }
}
@media only screen and (max-width: 480px) {
  .text-block h3:not([class]) {
    font-size: calc(17 / var(--scale-vw) * var(--vw, 1vw));
  }
}
.text-block :where(ul, ol):where(:not([class]))::before {
  display: inline-block;
}
.text-block :where(ul, ol):where(:not([class])):not(:first-child) {
  margin-top: 16px;
}
.text-block ul:not([class]) li {
  font-size: calc(20 / var(--scale-vw) * var(--vw, 1vw));
  line-height: 140%;
  letter-spacing: -0.01em;
  font-weight: 500;
  font-family: "RobotoFlex", sans-serif;
}
@media only screen and (min-width: 1921px) {
  .text-block ul:not([class]) li {
    font-size: 20px;
  }
}
@media only screen and (max-width: 1440px) {
  .text-block ul:not([class]) li {
    font-size: calc(17 / var(--scale-vw) * var(--vw, 1vw));
  }
}
@media only screen and (max-width: 480px) {
  .text-block ul:not([class]) li {
    font-size: calc(15 / var(--scale-vw) * var(--vw, 1vw));
  }
}

a:not([class]) {
  color: inherit;
  text-decoration: none;
  transition: color 0.3s ease;
}
@media (hover: hover), screen and (min-width: 0\0 ) {
  a:not([class]):hover {
    color: var(--color-border-primary);
  }
}

/**
 * Swiper 11.2.10
 * Most modern mobile touch slider and framework with hardware accelerated transitions
 * https://swiperjs.com
 *
 * Copyright 2014-2025 Vladimir Kharlampidi
 *
 * Released under the MIT License
 *
 * Released on: June 28, 2025
 */
@font-face {
  font-family: "swiper-icons";
  src: url("data:application/font-woff;charset=utf-8;base64, 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") format("woff");
  font-weight: 400;
  font-style: normal;
}
:root {
  --swiper-theme-color: #007aff;
  /*
  --swiper-preloader-color: var(--swiper-theme-color);
  --swiper-wrapper-transition-timing-function: initial;
  */
}

:host {
  position: relative;
  display: block;
  margin-left: auto;
  margin-right: auto;
  z-index: 1;
}

.swiper {
  margin-left: auto;
  margin-right: auto;
  position: relative;
  overflow: hidden;
  list-style: none;
  padding: 0;
  /* Fix of Webkit flickering */
  z-index: 1;
  display: block;
}

.swiper-vertical > .swiper-wrapper {
  flex-direction: column;
}

.swiper-wrapper {
  position: relative;
  width: 100%;
  height: 100%;
  z-index: 1;
  display: flex;
  transition-property: transform;
  transition-timing-function: var(--swiper-wrapper-transition-timing-function, initial);
  box-sizing: content-box;
}

.swiper-android .swiper-slide,
.swiper-ios .swiper-slide,
.swiper-wrapper {
  transform: translate3d(0px, 0, 0);
}

.swiper-horizontal {
  touch-action: pan-y;
}

.swiper-vertical {
  touch-action: pan-x;
}

.swiper-slide {
  flex-shrink: 0;
  width: 100%;
  height: 100%;
  position: relative;
  transition-property: transform;
  display: block;
}

.swiper-slide-invisible-blank {
  visibility: hidden;
}

/* Auto Height */
.swiper-autoheight,
.swiper-autoheight .swiper-slide {
  height: auto;
}

.swiper-autoheight .swiper-wrapper {
  align-items: flex-start;
  transition-property: transform, height;
}

.swiper-backface-hidden .swiper-slide {
  transform: translateZ(0);
  backface-visibility: hidden;
}

/* 3D Effects */
.swiper-3d.swiper-css-mode .swiper-wrapper {
  perspective: 1200px;
}

.swiper-3d .swiper-wrapper {
  transform-style: preserve-3d;
}

.swiper-3d {
  perspective: 1200px;
}
.swiper-3d .swiper-slide,
.swiper-3d .swiper-cube-shadow {
  transform-style: preserve-3d;
}

/* CSS Mode */
.swiper-css-mode > .swiper-wrapper {
  overflow: auto;
  scrollbar-width: none; /* For Firefox */
  -ms-overflow-style: none; /* For Internet Explorer and Edge */
}
.swiper-css-mode > .swiper-wrapper::-webkit-scrollbar {
  display: none;
}
.swiper-css-mode > .swiper-wrapper > .swiper-slide {
  scroll-snap-align: start start;
}
.swiper-css-mode.swiper-horizontal > .swiper-wrapper {
  scroll-snap-type: x mandatory;
}
.swiper-css-mode.swiper-vertical > .swiper-wrapper {
  scroll-snap-type: y mandatory;
}
.swiper-css-mode.swiper-free-mode > .swiper-wrapper {
  scroll-snap-type: none;
}
.swiper-css-mode.swiper-free-mode > .swiper-wrapper > .swiper-slide {
  scroll-snap-align: none;
}
.swiper-css-mode.swiper-centered > .swiper-wrapper::before {
  content: "";
  flex-shrink: 0;
  order: 9999;
}
.swiper-css-mode.swiper-centered > .swiper-wrapper > .swiper-slide {
  scroll-snap-align: center center;
  scroll-snap-stop: always;
}
.swiper-css-mode.swiper-centered.swiper-horizontal > .swiper-wrapper > .swiper-slide:first-child {
  margin-inline-start: var(--swiper-centered-offset-before);
}
.swiper-css-mode.swiper-centered.swiper-horizontal > .swiper-wrapper::before {
  height: 100%;
  min-height: 1px;
  width: var(--swiper-centered-offset-after);
}
.swiper-css-mode.swiper-centered.swiper-vertical > .swiper-wrapper > .swiper-slide:first-child {
  margin-block-start: var(--swiper-centered-offset-before);
}
.swiper-css-mode.swiper-centered.swiper-vertical > .swiper-wrapper::before {
  width: 100%;
  min-width: 1px;
  height: var(--swiper-centered-offset-after);
}

/* Slide styles start */
/* 3D Shadows */
.swiper-3d .swiper-slide-shadow,
.swiper-3d .swiper-slide-shadow-left,
.swiper-3d .swiper-slide-shadow-right,
.swiper-3d .swiper-slide-shadow-top,
.swiper-3d .swiper-slide-shadow-bottom,
.swiper-3d .swiper-slide-shadow,
.swiper-3d .swiper-slide-shadow-left,
.swiper-3d .swiper-slide-shadow-right,
.swiper-3d .swiper-slide-shadow-top,
.swiper-3d .swiper-slide-shadow-bottom {
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  pointer-events: none;
  z-index: 10;
}
.swiper-3d .swiper-slide-shadow {
  background: rgba(0, 0, 0, 0.15);
}
.swiper-3d .swiper-slide-shadow-left {
  background-image: linear-gradient(to left, rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0));
}
.swiper-3d .swiper-slide-shadow-right {
  background-image: linear-gradient(to right, rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0));
}
.swiper-3d .swiper-slide-shadow-top {
  background-image: linear-gradient(to top, rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0));
}
.swiper-3d .swiper-slide-shadow-bottom {
  background-image: linear-gradient(to bottom, rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0));
}

.swiper-lazy-preloader {
  width: 42px;
  height: 42px;
  position: absolute;
  left: 50%;
  top: 50%;
  margin-left: -21px;
  margin-top: -21px;
  z-index: 10;
  transform-origin: 50%;
  box-sizing: border-box;
  border: 4px solid var(--swiper-preloader-color, var(--swiper-theme-color));
  border-radius: 50%;
  border-top-color: transparent;
}

.swiper:not(.swiper-watch-progress) .swiper-lazy-preloader,
.swiper-watch-progress .swiper-slide-visible .swiper-lazy-preloader {
  animation: swiper-preloader-spin 1s infinite linear;
}

.swiper-lazy-preloader-white {
  --swiper-preloader-color: #fff;
}

.swiper-lazy-preloader-black {
  --swiper-preloader-color: #000;
}

@keyframes swiper-preloader-spin {
  0% {
    transform: rotate(0deg);
  }
  100% {
    transform: rotate(360deg);
  }
}
/* Slide styles end */
.swiper-fade.swiper-free-mode .swiper-slide {
  transition-timing-function: ease-out;
}
.swiper-fade .swiper-slide {
  pointer-events: none;
  transition-property: opacity;
}
.swiper-fade .swiper-slide .swiper-slide {
  pointer-events: none;
}
.swiper-fade .swiper-slide-active, .swiper-fade .swiper-slide-active .swiper-slide-active {
  pointer-events: auto;
}

:root {
  --hystmodal-speed: 0.2s;
  --hystmodal-zindex: 70;
}

.hystmodal {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  overflow: hidden;
  overflow-y: auto;
  -webkit-overflow-scrolling: touch;
  pointer-events: none;
  display: grid;
  grid-template-columns: 100%;
  grid-template-rows: 0px min-content 0px;
  justify-content: center;
  align-content: space-between;
  visibility: hidden;
  scrollbar-width: none;
  -ms-overflow-style: none;
}

.hystmodal::-webkit-scrollbar {
  display: none;
}

.hystmodal::before {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  content: "";
  display: block;
  background-color: #000;
  opacity: 0;
  pointer-events: none;
}

.hystmodal--animated::before {
  transition: opacity var(--hystmodal-speed) ease;
}

.hystmodal--active::before {
  opacity: 0.6;
}

.hystmodal--moved,
.hystmodal--active {
  opacity: 1;
  pointer-events: none;
  visibility: visible;
}

.hystmodal--active {
  pointer-events: auto;
}

.hystmodal__wrap {
  display: block;
  min-width: 0;
  grid-row: 2/3;
}

.hystmodal__window {
  min-width: 0;
  grid-row: 2/3;
  position: relative;
  z-index: 10;
  box-sizing: border-box;
  flex-shrink: 0;
  flex-grow: 0;
  background: #fff;
  width: 600px;
  max-width: 100%;
  overflow: visible;
  transform: scale(0.95);
  opacity: 0;
  margin: 50px auto;
}

.hystmodal__window--loading {
  min-height: 400px;
  background-image: url("data:image/svg+xml,%0A%3Csvg width='105' height='105' viewBox='0 0 105 105' xmlns='http://www.w3.org/2000/svg' fill='%23aaa'%3E%3Ccircle cx='12.5' cy='12.5' r='12.5'%3E%3Canimate attributeName='fill-opacity' begin='0s' dur='1s' values='1;.2;1' calcMode='linear' repeatCount='indefinite' /%3E%3C/circle%3E%3Ccircle cx='12.5' cy='52.5' r='12.5' fill-opacity='.5'%3E%3Canimate attributeName='fill-opacity' begin='100ms' dur='1s' values='1;.2;1' calcMode='linear' repeatCount='indefinite' /%3E%3C/circle%3E%3Ccircle cx='52.5' cy='12.5' r='12.5'%3E%3Canimate attributeName='fill-opacity' begin='300ms' dur='1s' values='1;.2;1' calcMode='linear' repeatCount='indefinite' /%3E%3C/circle%3E%3Ccircle cx='52.5' cy='52.5' r='12.5'%3E%3Canimate attributeName='fill-opacity' begin='600ms' dur='1s' values='1;.2;1' calcMode='linear' repeatCount='indefinite' /%3E%3C/circle%3E%3Ccircle cx='92.5' cy='12.5' r='12.5'%3E%3Canimate attributeName='fill-opacity' begin='800ms' dur='1s' values='1;.2;1' calcMode='linear' repeatCount='indefinite' /%3E%3C/circle%3E%3Ccircle cx='92.5' cy='52.5' r='12.5'%3E%3Canimate attributeName='fill-opacity' begin='400ms' dur='1s' values='1;.2;1' calcMode='linear' repeatCount='indefinite' /%3E%3C/circle%3E%3Ccircle cx='12.5' cy='92.5' r='12.5'%3E%3Canimate attributeName='fill-opacity' begin='700ms' dur='1s' values='1;.2;1' calcMode='linear' repeatCount='indefinite' /%3E%3C/circle%3E%3Ccircle cx='52.5' cy='92.5' r='12.5'%3E%3Canimate attributeName='fill-opacity' begin='500ms' dur='1s' values='1;.2;1' calcMode='linear' repeatCount='indefinite' /%3E%3C/circle%3E%3Ccircle cx='92.5' cy='92.5' r='12.5'%3E%3Canimate attributeName='fill-opacity' begin='200ms' dur='1s' values='1;.2;1' calcMode='linear' repeatCount='indefinite' /%3E%3C/circle%3E%3C/svg%3E%0A");
  background-position: 50%;
  background-repeat: no-repeat;
  background-size: 48px;
}

.hystmodal--animated .hystmodal__window {
  transition: transform var(--hystmodal-speed) ease 0s, opacity var(--hystmodal-speed) ease 0s;
}

.hystmodal--active .hystmodal__window {
  transform: none;
  opacity: 1;
}

.hystmodal__close {
  position: absolute;
  z-index: 10;
  top: 15px;
  right: 15px;
  display: block;
  width: 25px;
  height: 25px;
  background-color: transparent;
  background-position: center center;
  background-repeat: no-repeat;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='%23fff' stroke='%23000' stroke-linecap='square' stroke-miterlimit='50' stroke-width='2' d='M22 2L2 22'/%3E%3Cpath fill='none' stroke='%23000' stroke-linecap='square' stroke-miterlimit='50' stroke-width='2' d='M2 2l20 20'/%3E%3C/svg%3E");
  background-size: 100% 100%;
  border: none;
  font-size: 0;
  cursor: pointer;
  outline: none;
}

.hystmodal__close--wh {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='%23fff' stroke='%23fff' stroke-linecap='square' stroke-miterlimit='50' stroke-width='2' d='M22 2L2 22'/%3E%3Cpath fill='none' stroke='%23fff' stroke-linecap='square' stroke-miterlimit='50' stroke-width='2' d='M2 2l20 20'/%3E%3C/svg%3E");
}

.hystmodal__close:hover {
  opacity: 0.95;
}

.hystmodal__close:focus {
  outline: 2px dotted rgba(0, 0, 0, 0.7);
  outline-offset: 2px;
}

.hystmodal__close--wh:focus {
  outline: 2px dotted rgba(255, 255, 255, 0.7);
}

@media all and (max-width: 767px) {
  .hystmodal__close {
    top: 10px;
    right: 10px;
    width: 24px;
    height: 24px;
  }
  .hystmodal__window {
    margin-top: 0;
    margin-bottom: 0;
  }
}
.award {
  font-size: calc(12 / var(--scale-vw) * var(--vw, 1vw));
  line-height: 120%;
  letter-spacing: 0.02em;
  font-weight: 500;
  text-transform: uppercase;
  position: relative;
  padding: 0 calc(20 / var(--scale-vw) * var(--vw, 1vw));
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
}
@media only screen and (min-width: 1921px) {
  .award {
    font-size: 12px;
  }
}
@media only screen and (max-width: 768px) {
  .award {
    font-size: calc(10 / var(--scale-vw) * var(--vw, 1vw));
  }
}
.award::before, .award::after {
  content: "";
  display: block;
  position: absolute;
  top: 0;
  height: 100%;
  width: calc(14 / var(--scale-vw) * var(--vw, 1vw));
  background-image: url("/local/assets/css/../img/icons/wreath.svg");
  background-repeat: no-repeat;
  background-position: center;
  background-size: contain;
}
.award::before {
  left: 0;
}
.award::after {
  right: 0;
  transform: scale(-1, 1);
}
.award__title {
  color: var(--color-secondary);
}
@media only screen and (min-width: 1921px) {
  .award {
    padding: 0 20px;
  }
  .award::before, .award::after {
    width: 14px;
  }
}
@media only screen and (max-width: 768px) {
  .award__title {
    color: var(--color-secondary-contrast);
  }
}

.border__top {
  border-top: 1px solid;
  border-color: var(--color-border-primary);
}
.border__bottom {
  border-bottom: 1px solid;
  border-color: var(--color-border-primary);
}
.border--grey.border__top, .border--grey.border__bottom {
  border-color: var(--color-border);
}

.box-decor {
  position: relative;
}
.box-decor__decor {
  position: absolute;
  width: 13px;
  top: 0;
  bottom: 0;
  left: 50%;
  transform: translateX(-50%);
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  z-index: 2;
}
.box-decor__decor::before, .box-decor__decor::after {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  display: block;
  width: 13px;
  height: 7px;
  background-image: url("/local/assets/css/../img/bg/connection.svg");
  background-repeat: no-repeat;
  background-position: center;
  background-size: 100% 100%;
}
.box-decor__decor::before {
  top: 0;
}
.box-decor__decor::after {
  bottom: 0;
  transform: rotate(180deg);
}
.box-decor__decor--right {
  left: 100%;
}
.box-decor__decor--top-separator::after {
  display: none;
}
.box-decor__decor--bottom-separator::before {
  display: none;
}
.box-decor__box {
  position: absolute;
  top: 0;
  bottom: 0;
  left: 50%;
  transform: translateX(-50%);
  z-index: -1;
}
.box-decor__line {
  width: 1px;
  height: 0;
  background-color: var(--color-border-primary);
  transition: height 0.5s;
}
.box-decor__sign {
  width: 100%;
  display: flex;
  justify-content: center;
  padding: calc(40 / var(--scale-vw) * var(--vw, 1vw)) 0;
  background-color: var(--color-primary-contrast);
}

.chat {
  border: none;
  padding: 0;
  position: fixed;
  right: calc(32 / var(--scale-vw) * var(--vw, 1vw));
  bottom: calc(16 / var(--scale-vw) * var(--vw, 1vw));
  background-color: var(--color-white);
  width: 4rem;
  height: 4rem;
  border-radius: 15px;
  display: flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  box-shadow: 0 3px 26px -4px rgba(255, 255, 255, 0);
  transition: box-shadow 0.2s ease-in-out;
}
.chat__icon {
  width: 2rem;
  height: 2.5rem;
}
@media (hover: hover), screen and (min-width: 0\0 ) {
  .chat:hover {
    box-shadow: 0 3px 26px -4px rgba(255, 255, 255, 0.57);
  }
}
@media only screen and (min-width: 1921px) {
  .chat {
    width: calc(40 / var(--scale-vw) * var(--vw, 1vw));
    height: calc(40 / var(--scale-vw) * var(--vw, 1vw));
  }
  .chat__icon {
    width: calc(20 / var(--scale-vw) * var(--vw, 1vw));
    height: calc(25 / var(--scale-vw) * var(--vw, 1vw));
  }
}
@media only screen and (max-width: 1440px) {
  .chat {
    right: calc(16 / var(--scale-vw) * var(--vw, 1vw));
  }
}

.creeping-line {
  overflow: hidden;
  position: relative;
}
.creeping-line__track {
  display: flex;
  flex-shrink: 0;
  align-items: center;
  justify-content: space-around;
  min-width: 100%;
}
.creeping-line__text {
  font-size: calc(200 / var(--scale-vw) * var(--vw, 1vw));
  line-height: 92%;
  letter-spacing: -0.05em;
  font-weight: 500;
  flex: 0 0 auto;
  text-transform: uppercase;
  white-space: nowrap;
  will-change: transform;
  padding: 0 calc(40 / var(--scale-vw) * var(--vw, 1vw));
  display: flex;
  animation: creeping-line 20s linear infinite;
}
@media only screen and (min-width: 1921px) {
  .creeping-line__text {
    font-size: 200px;
  }
}
@media only screen and (max-width: 1440px) {
  .creeping-line__text {
    font-size: calc(152 / var(--scale-vw) * var(--vw, 1vw));
  }
}
@media only screen and (max-width: 768px) {
  .creeping-line__text {
    font-size: calc(108 / var(--scale-vw) * var(--vw, 1vw));
    letter-spacing: -0.04em;
  }
}
@media only screen and (max-width: 480px) {
  .creeping-line__text {
    font-size: calc(58 / var(--scale-vw) * var(--vw, 1vw));
  }
}
.creeping-line__text--nopadding {
  padding: 0;
}

.elem-hover {
  width: var(--element-width);
  height: var(--element-height);
  position: relative;
}
.elem-hover--small {
  width: calc(var(--el-team-width) - 1px);
  height: calc(var(--el-team-height) - 1px);
}
.elem-hover__elem {
  width: calc(10 / var(--scale-vw) * var(--vw, 1vw));
  height: calc(10 / var(--scale-vw) * var(--vw, 1vw));
  border: 1px solid transparent;
  position: absolute;
}
.elem-hover__elem--tl {
  top: 0;
  left: 0;
  border-top-color: var(--color-primary);
  border-left-color: var(--color-primary);
}
.elem-hover__elem--tr {
  top: 0;
  right: 0;
  border-top-color: var(--color-primary);
  border-right-color: var(--color-primary);
}
.elem-hover__elem--bl {
  bottom: 0;
  left: 0;
  border-left-color: var(--color-primary);
  border-bottom-color: var(--color-primary);
}
.elem-hover__elem--br {
  bottom: 0;
  right: 0;
  border-bottom-color: var(--color-primary);
  border-right-color: var(--color-primary);
}
@media only screen and (min-width: 1921px) {
  .elem-hover__elem {
    width: 10px;
    height: 10px;
  }
}

.framework {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: calc(16 / var(--scale-vw) * var(--vw, 1vw));
  position: relative;
  cursor: default;
  perspective: 30rem;
  user-select: none;
}
.framework--fr-100 .framework__name {
  background-color: var(--color-fr-100);
}
.framework--fr-200 .framework__name {
  background-color: var(--color-fr-200);
}
.framework--fr-300 .framework__name {
  background-color: var(--color-fr-300);
}
.framework--fr-400 .framework__name {
  background-color: var(--color-fr-400);
}
.framework--fr-500 .framework__name {
  background-color: var(--color-fr-500);
}
.framework--fr-600 .framework__name {
  background-color: var(--color-fr-600);
}
.framework--fr-700 .framework__name {
  background-color: var(--color-fr-700);
}
.framework__box {
  width: calc(128 / var(--scale-vw) * var(--vw, 1vw));
  max-width: 100%;
  aspect-ratio: 1;
  border-radius: 50%;
  background-color: var(--color-primary-contrast);
  border: 1px solid var(--color-border-primary);
  display: flex;
  align-items: center;
  justify-content: center;
  backface-visibility: hidden;
  transition: transform 0.5s;
}
.framework__img {
  display: block;
  width: 85%;
  height: auto;
  margin: 0 auto;
  max-width: 100%;
  max-height: 65%;
}
.framework__name {
  font-size: calc(17 / var(--scale-vw) * var(--vw, 1vw));
  line-height: 100%;
  letter-spacing: 0.01em;
  font-weight: 500;
  width: calc(128 / var(--scale-vw) * var(--vw, 1vw));
  aspect-ratio: 1;
  padding: calc(5 / var(--scale-vw) * var(--vw, 1vw));
  text-align: center;
  border-radius: 50%;
  text-transform: uppercase;
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  color: var(--color-primary-contrast);
  display: flex;
  align-items: center;
  justify-content: center;
  backface-visibility: hidden;
  transform: rotateY(180deg);
  transition: transform 0.5s;
}
@media only screen and (min-width: 1921px) {
  .framework__name {
    font-size: 17px;
  }
}
@media only screen and (max-width: 1440px) {
  .framework__name {
    font-size: calc(15 / var(--scale-vw) * var(--vw, 1vw));
  }
}
.framework__name--fr-100 {
  background-color: var(--color-fr-100);
}
.framework__name--fr-200 {
  background-color: var(--color-fr-200);
}
.framework__name--fr-300 {
  background-color: var(--color-fr-300);
}
.framework__name--fr-400 {
  background-color: var(--color-fr-400);
}
.framework__name--fr-500 {
  background-color: var(--color-fr-500);
}
.framework__name--fr-600 {
  background-color: var(--color-fr-600);
}
.framework__name--fr-700 {
  background-color: var(--color-fr-700);
}
.framework__name--fr-grey {
  background-color: var(--color-fr-grey);
}
@media (hover: hover), screen and (min-width: 0\0 ) {
  .framework:hover .framework__box {
    transform: rotateY(180deg);
  }
  .framework:hover .framework__name {
    transform: rotateY(360deg);
  }
}
@media only screen and (max-width: 1440px) {
  .framework__box, .framework__name {
    width: calc(96 / var(--scale-vw) * var(--vw, 1vw));
  }
}
@media only screen and (max-width: 768px) {
  .framework__box {
    width: calc(144 / var(--scale-vw) * var(--vw, 1vw));
  }
  .framework__name {
    display: block;
    position: static;
    color: var(--color-primary);
    width: auto;
    aspect-ratio: unset;
    transform: none;
    padding: 0;
  }
  .framework__name[class*="--fr"] {
    background-color: transparent;
  }
}
@media only screen and (max-width: 480px) {
  .framework {
    gap: calc(8 / var(--scale-vw) * var(--vw, 1vw));
  }
  .framework__name {
    font-size: calc(13 / var(--scale-vw) * var(--vw, 1vw));
  }
  .framework__box {
    width: calc(104 / var(--scale-vw) * var(--vw, 1vw));
    height: calc(calc(104 / var(--scale-vw) * var(--vw, 1vw)) * 1 / 1);
  }
}

.frameworks-info {
  display: grid;
  grid-template-columns: repeat(6, minmax(0, 1fr));
  grid-template-rows: minmax(0, 1fr) min-content minmax(0, 1fr);
  row-gap: calc(85 / var(--scale-vw) * var(--vw, 1vw));
}
.frameworks-info__text {
  font-size: calc(32 / var(--scale-vw) * var(--vw, 1vw));
  line-height: 115%;
  letter-spacing: -0.02em;
  font-weight: 500;
  text-transform: uppercase;
  grid-column: 2/6;
  grid-row: 2;
  text-align: center;
}
@media only screen and (min-width: 1921px) {
  .frameworks-info__text {
    font-size: 32px;
  }
}
@media only screen and (max-width: 1440px) {
  .frameworks-info__text {
    font-size: calc(28 / var(--scale-vw) * var(--vw, 1vw));
  }
}
@media only screen and (max-width: 768px) {
  .frameworks-info__text {
    font-size: calc(36 / var(--scale-vw) * var(--vw, 1vw));
  }
}
@media only screen and (max-width: 480px) {
  .frameworks-info__text {
    font-size: calc(28 / var(--scale-vw) * var(--vw, 1vw));
  }
}
.frameworks-info__text-box {
  grid-row: 3;
  grid-column: 3/5;
  display: flex;
  flex-direction: column;
  gap: calc(4 / var(--scale-vw) * var(--vw, 1vw));
}
.frameworks-info__subtext {
  font-size: calc(17 / var(--scale-vw) * var(--vw, 1vw));
  line-height: 100%;
  letter-spacing: 0.01em;
  font-weight: 500;
  text-transform: uppercase;
  text-align: center;
  color: var(--color-secondary);
  display: flex;
  align-items: center;
  justify-content: space-between;
}
@media only screen and (min-width: 1921px) {
  .frameworks-info__subtext {
    font-size: 17px;
  }
}
@media only screen and (max-width: 1440px) {
  .frameworks-info__subtext {
    font-size: calc(15 / var(--scale-vw) * var(--vw, 1vw));
  }
}
.frameworks-info__subtext::before {
  content: ">";
}
.frameworks-info__subtext::after {
  content: "<";
}
@media only screen and (max-width: 1440px) {
  .frameworks-info__text {
    grid-column: 1/-1;
  }
}
@media only screen and (max-width: 1280px) {
  .frameworks-info {
    row-gap: calc(20 / var(--scale-vw) * var(--vw, 1vw));
  }
}
@media only screen and (max-width: 768px) {
  .frameworks-info {
    display: block;
  }
  .frameworks-info__text {
    text-align: left;
  }
  .frameworks-info__text-box {
    display: none;
  }
}

.main-logo {
  display: block;
  width: calc(243 / var(--scale-vw) * var(--vw, 1vw));
  height: calc(32 / var(--scale-vw) * var(--vw, 1vw));
}
.main-logo__img {
  display: block;
  width: 100%;
  max-width: 100%;
  height: 100%;
  object-fit: contain;
}
@media only screen and (min-width: 1921px) {
  .main-logo {
    width: 243px;
    height: 32px;
  }
}
@media only screen and (max-width: 1440px) {
  .main-logo {
    width: calc(180 / var(--scale-vw) * var(--vw, 1vw));
    height: calc(30 / var(--scale-vw) * var(--vw, 1vw));
  }
}

.number-elem {
  font-size: calc(15 / var(--scale-vw) * var(--vw, 1vw));
  line-height: 120%;
  letter-spacing: 0.01em;
  font-weight: 500;
  text-transform: uppercase;
}
@media only screen and (min-width: 1921px) {
  .number-elem {
    font-size: 15px;
  }
}
@media only screen and (max-width: 1440px) {
  .number-elem {
    font-size: calc(13 / var(--scale-vw) * var(--vw, 1vw));
    letter-spacing: 0.02em;
  }
}
.number-elem__opacity {
  color: var(--color-secondary);
}
.number-elem--for-white .number-elem__opacity {
  color: var(--color-secondary-contrast);
}

[id*=anchor] {
  scroll-margin-top: calc(var(--header-height) + 40px);
}

.phones {
  display: flex;
  flex-wrap: wrap;
}
.phones__link {
  font-size: calc(15 / var(--scale-vw) * var(--vw, 1vw));
  line-height: 120%;
  letter-spacing: 0.01em;
  font-weight: 500;
}
@media only screen and (min-width: 1921px) {
  .phones__link {
    font-size: 15px;
  }
}
@media only screen and (max-width: 1440px) {
  .phones__link {
    font-size: calc(11 / var(--scale-vw) * var(--vw, 1vw));
    letter-spacing: 0.02em;
  }
}
.phones__link:not(:last-child) .phones__secondtext {
  padding-right: 1.6rem;
  border-right: 1px solid var(--color-border-secondary);
}
@media only screen and (max-width: 580px) {
  .phones__link:nth-child(even) .phones__secondtext {
    border-right: none;
  }
}

.printed {
  font-kerning: none;
}
.printed__subtitle {
  opacity: 0;
}
.printed__subtitle.visible {
  opacity: 1;
  transform: translateY(0);
}
.printed__title {
  opacity: 0;
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
}
.printed__cursor {
  display: inline-block;
  border-left: calc(20 / var(--scale-vw) * var(--vw, 1vw)) solid var(--color-primary);
  animation: cursor-blink 1s step-end infinite;
  line-height: 0.9;
  padding-top: 4px;
  opacity: 0;
  margin-right: -1.8rem;
}
.printed__cursor--small {
  border-width: calc(16 / var(--scale-vw) * var(--vw, 1vw));
}
@media only screen and (min-width: 1921px) {
  .printed__cursor {
    border-width: 20px;
  }
  .printed__cursor--small {
    border-width: 16px;
  }
}
@media only screen and (max-width: 480px) {
  .printed__cursor {
    border-width: calc(10 / var(--scale-vw) * var(--vw, 1vw));
  }
}

[data-scramble] {
  position: relative;
}
[data-scramble]::after {
  content: "";
  position: absolute;
  inset: 0;
}

.text-opacity {
  color: var(--color-secondary);
}
.text-opacity--contrast {
  color: var(--color-secondary-contrast);
}

[data-tabs-blocks] > * {
  display: none;
  opacity: 0;
}
[data-tabs-blocks] > *.is-active {
  opacity: 1;
  display: block;
  animation: display-none var(--trans-base);
}

.btn-corners {
  width: calc(24 / var(--scale-vw) * var(--vw, 1vw));
  height: calc(calc(24 / var(--scale-vw) * var(--vw, 1vw)) * 1 / 1);
  position: relative;
  color: var(--color-primary);
  display: flex;
  align-items: center;
  justify-content: center;
  background: url("/local/assets/css/../img/bg/corners-white.svg");
  background-repeat: no-repeat;
  background-position: center;
  background-size: 100% 100%;
}
.btn-corners__icon {
  flex: none;
  width: calc(15 / var(--scale-vw) * var(--vw, 1vw));
  height: calc(15 / var(--scale-vw) * var(--vw, 1vw));
}
.btn-corners--border {
  background: url("/local/assets/css/../img/bg/corners-border.svg");
  background-size: contain;
}
.btn-corners--size-l {
  width: calc(40 / var(--scale-vw) * var(--vw, 1vw));
  height: calc(calc(40 / var(--scale-vw) * var(--vw, 1vw)) * 1 / 1);
}

.btn {
  font-size: calc(15 / var(--scale-vw) * var(--vw, 1vw));
  line-height: 120%;
  letter-spacing: 0.01em;
  font-weight: 500;
  display: flex;
  justify-content: center;
  align-items: center;
  gap: calc(4 / var(--scale-vw) * var(--vw, 1vw));
  width: fit-content;
  min-height: calc(40 / var(--scale-vw) * var(--vw, 1vw));
  padding: calc(10 / var(--scale-vw) * var(--vw, 1vw)) calc(20 / var(--scale-vw) * var(--vw, 1vw));
  font-family: "Iosevka", sans-serif;
  text-align: center;
  text-decoration: none;
  text-transform: uppercase;
  color: var(--color-primary);
  background-color: transparent;
  border: 1px solid var(--color-primary);
  border-radius: 500px;
  overflow: hidden;
  transition: 0.3s ease;
  transition-property: color, background-color, border-color;
  cursor: pointer;
}
@media only screen and (min-width: 1921px) {
  .btn {
    font-size: 15px;
  }
}
@media only screen and (max-width: 1440px) {
  .btn {
    font-size: calc(13 / var(--scale-vw) * var(--vw, 1vw));
    letter-spacing: 0.02em;
  }
}
.btn:focus {
  outline: none;
}
.btn:focus-visible {
  color: var(--color-primary);
  background-color: var(--color-secondary-contrast);
  outline: none;
}
.btn:hover:not(:disabled), .btn:hover:not(.is-disabled) {
  text-decoration: none;
  cursor: pointer;
}
.btn:active, .btn.is-active {
  outline: none;
}
.btn:disabled, .btn.is-disabled {
  cursor: not-allowed;
  pointer-events: none;
  opacity: 0.5;
}
.btn--var-white {
  color: var(--color-primary-contrast);
  background-color: var(--color-primary);
  box-shadow: 0 3px 26px -4px rgba(255, 255, 255, 0.57);
}
.btn--var-white:focus-visible {
  color: var(--color-secondary-contrast);
  background-color: var(--color-primary);
}
.btn--var-black {
  color: var(--color-primary);
  background-color: var(--color-primary-contrast);
  border: 1px solid var(--color-primary-contrast);
  box-shadow: 0 3px 14px -4px var(--color-secondary-80);
}
.btn--var-noborder {
  color: var(--color-primary-contrast);
  padding: calc(11 / var(--scale-vw) * var(--vw, 1vw)) 0;
  border: none;
  min-height: auto;
}
.btn--var-noborder:focus-visible {
  color: var(--color-secondary-contrast);
  background-color: transparent;
}
.btn--var-noborder-white {
  color: var(--color-primary);
  padding: calc(11 / var(--scale-vw) * var(--vw, 1vw)) 0;
  border: none;
  min-height: auto;
}
.btn--var-noborder-white:focus-visible {
  color: var(--color-primary);
  background-color: transparent;
}
@media only screen and (min-width: 1921px) {
  .btn {
    padding: 10px 20px;
    min-height: 40px;
  }
  .btn--var-noborder {
    padding: 11px 0;
  }
}
@media only screen and (max-width: 1440px) {
  .btn {
    padding: calc(7 / var(--scale-vw) * var(--vw, 1vw)) calc(16 / var(--scale-vw) * var(--vw, 1vw));
    min-height: calc(32 / var(--scale-vw) * var(--vw, 1vw));
  }
  .btn--var-noborder {
    padding: calc(8 / var(--scale-vw) * var(--vw, 1vw)) 0;
  }
  .btn--var-noborder-white {
    padding: calc(8 / var(--scale-vw) * var(--vw, 1vw)) 0;
  }
}
@media only screen and (max-width: 480px) {
  .btn {
    padding: calc(11 / var(--scale-vw) * var(--vw, 1vw)) calc(19 / var(--scale-vw) * var(--vw, 1vw));
    min-height: calc(40 / var(--scale-vw) * var(--vw, 1vw));
  }
  .btn--size-s {
    padding: calc(7 / var(--scale-vw) * var(--vw, 1vw)) calc(15 / var(--scale-vw) * var(--vw, 1vw));
    min-height: calc(32 / var(--scale-vw) * var(--vw, 1vw));
  }
}

.field {
  width: 100%;
  display: block;
}
.field__title {
  display: block;
}
.field__wrapper {
  display: block;
  position: relative;
}
.field__error {
  display: none;
}
.field.has-error .field__error {
  display: block;
}

.input,
.textarea {
  font-size: calc(17 / var(--scale-vw) * var(--vw, 1vw));
  line-height: 105%;
  letter-spacing: -0.01em;
  font-weight: 500;
  text-transform: uppercase;
  border: 1px solid transparent;
  transition: border var(--trans-base), background-color var(--trans-base), color var(--trans-base);
  background: transparent;
  width: 100%;
  text-overflow: ellipsis;
  font-family: "Iosevka", sans-serif;
}
@media only screen and (min-width: 1921px) {
  .input,
  .textarea {
    font-size: 17px;
  }
}
@media only screen and (max-width: 1440px) {
  .input,
  .textarea {
    font-size: calc(15 / var(--scale-vw) * var(--vw, 1vw));
  }
}
@media only screen and (max-width: 480px) {
  .input,
  .textarea {
    font-size: calc(13 / var(--scale-vw) * var(--vw, 1vw));
    line-height: 120%;
    letter-spacing: 0.02em;
  }
}
textarea.input, .textarea {
  overflow: hidden;
}

.input::placeholder,
.textarea::placeholder {
  opacity: 1;
  transition: all var(--trans-base);
}
.input:focus,
.textarea:focus {
  outline: none;
}
.input--var-primary,
.textarea--var-primary {
  border: 1px solid var(--color-black);
}
.input--size-base,
.textarea--size-base {
  height: 40px;
  padding-left: 16px;
  padding-right: 16px;
}
.input--size-s,
.textarea--size-s {
  padding-left: 4px;
  padding-right: 4px;
}
textarea.input, .textarea--size-base {
  min-height: 80px;
}

.textarea {
  min-height: calc(200 / var(--scale-vw) * var(--vw, 1vw));
  max-height: calc(400 / var(--scale-vw) * var(--vw, 1vw));
  padding: calc(11 / var(--scale-vw) * var(--vw, 1vw));
  padding-right: 0;
  resize: vertical;
  overflow-y: auto;
}
@media only screen and (min-width: 1921px) {
  .textarea {
    min-height: 200px;
    max-height: 400px;
    padding: 11px;
    padding-right: 0;
  }
}
@media only screen and (max-width: 1440px) {
  .textarea {
    min-height: calc(140 / var(--scale-vw) * var(--vw, 1vw));
  }
}

.link {
  font-size: calc(15 / var(--scale-vw) * var(--vw, 1vw));
  line-height: 120%;
  letter-spacing: 0.01em;
  font-weight: 500;
  display: flex;
  align-items: center;
  justify-content: flex-start;
  gap: calc(4 / var(--scale-vw) * var(--vw, 1vw));
  padding: calc(11 / var(--scale-vw) * var(--vw, 1vw)) 0;
  border: none;
  background-color: transparent;
  color: var(--color-primary);
  font-family: "Iosevka", sans-serif;
  font-weight: 500;
  text-align: left;
  text-decoration: none;
  text-transform: uppercase;
  transition: color 0.3s ease;
  cursor: pointer;
}
@media only screen and (min-width: 1921px) {
  .link {
    font-size: 15px;
  }
}
@media only screen and (max-width: 1440px) {
  .link {
    font-size: calc(13 / var(--scale-vw) * var(--vw, 1vw));
    letter-spacing: 0.02em;
  }
}
.link:focus {
  outline: none;
  color: var(--color-secondary);
}
.link:focus-visible {
  outline: none;
  color: var(--color-secondary);
}
.link:active {
  color: var(--color-secondary);
}
.link:disabled, .link.is-disabled {
  color: var(--color-disabled);
  cursor: not-allowed;
  pointer-events: none;
}
.link__icon {
  flex: none;
  width: calc(16 / var(--scale-vw) * var(--vw, 1vw));
  height: calc(16 / var(--scale-vw) * var(--vw, 1vw));
  color: inherit;
}
.link__text {
  display: flex;
  align-items: center;
}
.link__text--grey {
  gap: 0.4rem;
  color: var(--color-secondary-contrast);
}
.link--color-black {
  color: var(--color-primary-contrast);
}
.link--color-black:active {
  color: var(--color-primary-contrast);
}
.link--color-black:focus, .link--color-black:focus-visible {
  color: var(--color-secondary-contrast);
}
.link--size-m {
  font-size: calc(17 / var(--scale-vw) * var(--vw, 1vw));
  line-height: 100%;
  letter-spacing: 0.01em;
  font-weight: 500;
}
@media only screen and (min-width: 1921px) {
  .link--size-m {
    font-size: 17px;
  }
}
@media only screen and (max-width: 1440px) {
  .link--size-m {
    font-size: calc(15 / var(--scale-vw) * var(--vw, 1vw));
  }
}
.link--nopadding {
  padding: 0;
}
@media only screen and (min-width: 1921px) {
  .link {
    padding: 11px 0;
    gap: 4px;
  }
}
@media only screen and (max-width: 1440px) {
  .link {
    padding: calc(8 / var(--scale-vw) * var(--vw, 1vw)) 0;
  }
  .link--nopadding {
    padding: 0;
  }
}

.hystmodal {
  display: flex;
  overflow-y: hidden;
}
.hystmodal__content {
  overflow-y: auto;
  width: 100%;
}
.hystmodal__wrap {
  height: 100%;
  width: 100%;
}
.hystmodal__window {
  background-color: var(--color-primary);
  width: 100%;
  height: 100%;
  margin: 0;
  padding: 0;
  display: flex;
}
.hystmodal__close {
  top: 2.4rem;
  right: 2.4rem;
  color: var(--color-primary-contrast);
  background-image: none;
  background-color: var(--color-primary);
  width: 5.6rem;
  height: 5.6rem;
  padding: 0;
  transition: color var(--trans-base);
}
.hystmodal__close-icon {
  width: 100%;
  height: 100%;
}
@media (hover: hover), screen and (min-width: 0\0 ) {
  .hystmodal__close:hover {
    color: var(--color-secondary-contrast);
  }
}
@media only screen and (max-width: 768px) {
  .hystmodal__close {
    top: 5.6rem;
    right: 2.8rem;
  }
}
@media only screen and (max-width: 480px) {
  .hystmodal__close {
    top: 1.6rem;
    right: 1.6rem;
    width: 4rem;
    height: 4rem;
  }
}

.picture {
  --width: auto;
  --aspect-ratio: auto;
  --radius: 0;
  --object-fit: fill;
  --object-position: unset;
  display: block;
  width: var(--width);
  max-width: 100%;
  height: auto;
  aspect-ratio: var(--aspect-ratio);
  overflow: hidden;
  border-radius: var(--radius);
}
.picture__img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: var(--object-fit);
  object-position: var(--object-position);
}

.radio__title {
  font-size: calc(17 / var(--scale-vw) * var(--vw, 1vw));
  line-height: 105%;
  letter-spacing: -0.01em;
  font-weight: 500;
  text-transform: uppercase;
  font-weight: 500;
  display: block;
  padding: calc(8 / var(--scale-vw) * var(--vw, 1vw)) calc(4 / var(--scale-vw) * var(--vw, 1vw));
  cursor: pointer;
  transition: 0.2s ease-in-out;
  transition-property: color, background-color;
}
@media only screen and (min-width: 1921px) {
  .radio__title {
    font-size: 17px;
  }
}
@media only screen and (max-width: 1440px) {
  .radio__title {
    font-size: calc(15 / var(--scale-vw) * var(--vw, 1vw));
  }
}
@media only screen and (max-width: 480px) {
  .radio__title {
    font-size: calc(13 / var(--scale-vw) * var(--vw, 1vw));
    line-height: 120%;
    letter-spacing: 0.02em;
  }
}
.radio__input {
  visibility: hidden;
  position: absolute;
  width: 1px;
  height: 1px;
  margin: -1px;
  clip: rect(0 0 0 0);
  visibility: visible;
}
.radio__input[type=radio]:where(:checked, :focus, :focus-visible) ~ .radio__title {
  background-color: var(--color-primary-contrast);
  color: var(--color-primary);
}
.radio__input[type=radio]:not(:checked):where(:focus, :focus-visible) ~ .radio__title {
  background-color: var(--color-secondary-contrast);
  color: var(--color-primary);
}
.radio.white .radio__input[type=radio]:checked ~ .radio__title {
  background-color: var(--color-primary);
  color: var(--color-primary-contrast);
}
@media (hover: hover), screen and (min-width: 0\0 ) {
  .radio:hover .radio__title {
    background-color: var(--color-primary-contrast);
    color: var(--color-primary);
  }
  .radio.white:hover .radio__title {
    background-color: var(--color-primary);
    color: var(--color-primary-contrast);
  }
}
@media only screen and (min-width: 1921px) {
  .radio__title {
    padding: 8px 4px;
  }
}
@media only screen and (max-width: 580px) {
  .radio__title {
    padding: calc(3 / var(--scale-vw) * var(--vw, 1vw)) calc(3 / var(--scale-vw) * var(--vw, 1vw));
  }
}

.swiper-btn {
  aspect-ratio: 1/1;
  width: calc(40 / var(--scale-vw) * var(--vw, 1vw));
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  border: none;
  padding: 0;
  background-color: var(--color-primary);
}
.swiper-btn::before {
  content: "";
  position: absolute;
  inset: 0;
  background-repeat: no-repeat;
  background-position: center;
  background-size: contain;
  background-image: url("/local/assets/css/../img/bg/corners-border.svg");
  opacity: 0;
  transition: opacity 0.3s ease;
}
.swiper-btn:not(.swiper-button-disabled) {
  cursor: pointer;
}
.swiper-btn:focus {
  outline: none;
}
.swiper-btn:focus::before {
  opacity: 1;
}
.swiper-btn:focus-visible {
  outline: none;
}
.swiper-btn:focus-visible::before {
  opacity: 1;
}
.swiper-btn:active::before {
  opacity: 1;
}
.swiper-btn__icon {
  flex: none;
  width: calc(16 / var(--scale-vw) * var(--vw, 1vw));
  height: calc(16 / var(--scale-vw) * var(--vw, 1vw));
}
.swiper-btn--black {
  background-color: var(--color-primary-contrast);
}
.swiper-btn--black::before {
  background-image: url("/local/assets/css/../img/bg/border-corner-white.svg");
}
.swiper-btn--black .swiper-btn__icon {
  color: var(--color-primary);
}
.swiper-btn.swiper-button-disabled {
  opacity: 0.5;
}
.swiper-btn.swiper-button-disabled::before {
  opacity: 0;
}
@media (hover: hover), screen and (min-width: 0\0 ) {
  .swiper-btn:hover:not(.swiper-button-disabled)::before {
    opacity: 1;
  }
}

.switch {
  position: relative;
  display: block;
  width: calc(28 / var(--scale-vw) * var(--vw, 1vw));
  height: calc(16 / var(--scale-vw) * var(--vw, 1vw));
}
.switch.active .switch__body {
  background-color: var(--color-checked);
}
.switch.active .switch__switch {
  left: calc(100% - calc(14 / var(--scale-vw) * var(--vw, 1vw)));
}
.switch.active .switch__icon {
  color: var(--color-checked);
}
.switch__body {
  position: absolute;
  cursor: pointer;
  padding: 1px;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  border-radius: 270px;
  background-color: var(--color-primary-contrast);
  transition: background-color 0.3s;
}
.switch__switch {
  width: calc(14 / var(--scale-vw) * var(--vw, 1vw));
  aspect-ratio: 1;
  border-radius: 50%;
  background-color: var(--color-primary);
  display: flex;
  align-items: center;
  justify-content: center;
  position: absolute;
  top: 1px;
  left: 1px;
  transition: left 0.3s;
}
.switch__icon {
  width: calc(9 / var(--scale-vw) * var(--vw, 1vw));
  height: calc(4 / var(--scale-vw) * var(--vw, 1vw));
  color: var(--color-primary-contrast);
  transition: color 0.3s;
}
.switch__checkbox {
  display: none;
}
.switch__checkbox:checked + .switch__checkbox__body {
  background-color: var(--color-checked);
}
.switch__checkbox:checked + .switch__checkbox__switch {
  left: calc(100% - calc(14 / var(--scale-vw) * var(--vw, 1vw)));
}
.switch__checkbox:checked + .switch__checkbox__icon {
  color: var(--color-checked);
}
@media only screen and (max-width: 480px) {
  .switch__switch {
    height: calc(calc(14 / var(--scale-vw) * var(--vw, 1vw)) * 1 / 1);
  }
}

.base-accordion__head {
  font-size: calc(17 / var(--scale-vw) * var(--vw, 1vw));
  line-height: 105%;
  letter-spacing: -0.01em;
  font-weight: 500;
  text-transform: uppercase;
  color: var(--color-secondary);
  display: grid;
  grid-template-columns: repeat(12, minmax(0, 1fr));
  padding: calc(24 / var(--scale-vw) * var(--vw, 1vw)) 0;
  border-top: 1px dashed var(--color-secondary);
  background-color: var(--color-primary-contrast);
  transition: background-color 0.3s ease, color 0.3s ease;
  cursor: pointer;
}
@media only screen and (min-width: 1921px) {
  .base-accordion__head {
    font-size: 17px;
  }
}
@media only screen and (max-width: 1440px) {
  .base-accordion__head {
    font-size: calc(15 / var(--scale-vw) * var(--vw, 1vw));
  }
}
@media only screen and (max-width: 480px) {
  .base-accordion__head {
    font-size: calc(13 / var(--scale-vw) * var(--vw, 1vw));
    line-height: 120%;
    letter-spacing: 0.02em;
  }
}
.base-accordion__title {
  grid-column: 7/12;
}
.base-accordion__btn {
  border: none;
  display: flex;
  align-items: center;
  justify-content: center;
  background-color: transparent;
  padding: 0;
  grid-column: 12;
  position: relative;
  color: var(--color-secondary);
  transition: color 0.3s ease;
  margin-left: auto;
}
.base-accordion__icon {
  width: calc(20 / var(--scale-vw) * var(--vw, 1vw));
  height: calc(20 / var(--scale-vw) * var(--vw, 1vw));
}
.base-accordion__icon--minus {
  position: absolute;
  opacity: 0;
}
.base-accordion__body {
  display: grid;
  grid-template-columns: repeat(12, minmax(0, 1fr));
  height: 0;
  overflow: hidden;
  transition: height 0.3s ease;
}
.base-accordion__content {
  font-size: calc(20 / var(--scale-vw) * var(--vw, 1vw));
  line-height: 140%;
  letter-spacing: -0.01em;
  font-weight: 500;
  font-family: "RobotoFlex", sans-serif;
  grid-column: 7/-1;
  padding: calc(24 / var(--scale-vw) * var(--vw, 1vw)) 0;
}
@media only screen and (min-width: 1921px) {
  .base-accordion__content {
    font-size: 20px;
  }
}
@media only screen and (max-width: 1440px) {
  .base-accordion__content {
    font-size: calc(17 / var(--scale-vw) * var(--vw, 1vw));
  }
}
@media only screen and (max-width: 480px) {
  .base-accordion__content {
    font-size: calc(15 / var(--scale-vw) * var(--vw, 1vw));
  }
}
.base-accordion.is-active .base-accordion__head {
  background-color: var(--color-primary);
  color: var(--color-primary-contrast);
  border-top: 1px solid var(--color-primary);
}
.base-accordion.is-active .base-accordion__btn {
  color: var(--color-primary-contrast);
}
.base-accordion.is-active .base-accordion__icon--minus {
  position: absolute;
  opacity: 1;
}
.base-accordion.is-active .base-accordion__icon--plus {
  opacity: 0;
}
@media (hover: hover), screen and (min-width: 0\0 ) {
  .base-accordion__head:hover {
    background-color: var(--color-primary);
    color: var(--color-primary-contrast);
    border-top: 1px solid var(--color-primary);
  }
  .base-accordion__head:hover .base-accordion__btn {
    color: var(--color-primary-contrast);
  }
}
@media only screen and (min-width: 1921px) {
  .base-accordion__head, .base-accordion__content {
    padding: 24px 0;
  }
  .base-accordion__icon {
    width: 20px;
    height: 20px;
  }
}
@media only screen and (max-width: 1440px) {
  .base-accordion__head, .base-accordion__content {
    padding: calc(16 / var(--scale-vw) * var(--vw, 1vw)) 0;
  }
  .base-accordion__icon {
    width: calc(16 / var(--scale-vw) * var(--vw, 1vw));
    height: calc(16 / var(--scale-vw) * var(--vw, 1vw));
  }
}
@media only screen and (max-width: 768px) {
  .base-accordion__title, .base-accordion__content {
    grid-column: 1/12;
  }
  .base-accordion__number {
    display: none;
  }
}

.block-bg {
  position: relative;
  z-index: 1;
  background-color: var(--color-primary-contrast);
  overflow: hidden;
}
.block-bg__spotlight {
  position: absolute;
  height: 100%;
  width: 100%;
  background-image: radial-gradient(circle at 9% 12%, var(--color-secondary-contrast) 0%, var(--color-primary-contrast) 20%);
  z-index: -1;
}
.block-bg__code {
  font-size: calc(15 / var(--scale-vw) * var(--vw, 1vw));
  line-height: 120%;
  letter-spacing: 0.01em;
  font-weight: 500;
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  z-index: -2;
  line-height: 1.5;
}
@media only screen and (min-width: 1921px) {
  .block-bg__code {
    font-size: 15px;
  }
}
@media only screen and (max-width: 1440px) {
  .block-bg__code {
    font-size: calc(11 / var(--scale-vw) * var(--vw, 1vw));
    letter-spacing: 0.02em;
  }
}
@media only screen and (max-width: 768px) {
  .block-bg {
    background-image: none;
  }
  .block-bg__spotlight {
    display: none;
  }
  .block-bg__code {
    display: none;
  }
}

.block-white-bg {
  background-color: var(--color-primary);
  background-image: url("/local/assets/css/../img/bg/dot-grey.svg");
  background-position: center;
  background-size: 8px;
}

.client {
  min-height: calc(320 / var(--scale-vw) * var(--vw, 1vw));
  background-color: var(--color-primary);
  padding: calc(24 / var(--scale-vw) * var(--vw, 1vw));
  display: flex;
  flex-direction: column;
  align-items: center;
}
.client--black {
  background-color: var(--color-primary-contrast);
}
.client--black .client__name, .client--black .client__number {
  font-size: calc(13 / var(--scale-vw) * var(--vw, 1vw));
  line-height: 120%;
  letter-spacing: 0.02em;
  font-weight: 500;
  color: var(--color-secondary);
}
@media only screen and (min-width: 1921px) {
  .client--black .client__name, .client--black .client__number {
    font-size: 13px;
  }
}
.client__top {
  display: flex;
  align-items: center;
  justify-content: space-between;
  width: 100%;
}
.client__name, .client__number {
  font-size: calc(15 / var(--scale-vw) * var(--vw, 1vw));
  line-height: 120%;
  letter-spacing: 0.01em;
  font-weight: 500;
  text-transform: uppercase;
  color: var(--color-secondary-contrast);
}
@media only screen and (min-width: 1921px) {
  .client__name, .client__number {
    font-size: 15px;
  }
}
@media only screen and (max-width: 1440px) {
  .client__name, .client__number {
    font-size: calc(13 / var(--scale-vw) * var(--vw, 1vw));
    letter-spacing: 0.02em;
  }
}
.client__img {
  --width: calc(216 / var(--scale-vw) * var(--vw, 1vw));
  --object-fit: contain;
  max-height: calc(48 / var(--scale-vw) * var(--vw, 1vw));
  display: flex;
  align-items: center;
  justify-content: center;
  flex-grow: 1;
  margin: auto;
}
@media only screen and (min-width: 1921px) {
  .client {
    padding: 24px;
    min-height: 320px;
  }
  .client__img {
    --width: 216px;
    max-height: 48px;
  }
}
@media only screen and (max-width: 1440px) {
  .client {
    padding: calc(16 / var(--scale-vw) * var(--vw, 1vw));
    min-height: calc(260 / var(--scale-vw) * var(--vw, 1vw));
  }
  .client__img {
    max-height: calc(40 / var(--scale-vw) * var(--vw, 1vw));
  }
}
@media only screen and (max-width: 768px) {
  .client {
    min-height: calc(212 / var(--scale-vw) * var(--vw, 1vw));
  }
}
@media only screen and (max-width: 480px) {
  .client {
    min-height: calc(220 / var(--scale-vw) * var(--vw, 1vw));
    justify-content: center;
  }
  .client__top {
    display: contents;
  }
  .client__number {
    order: 1;
  }
  .client__img {
    max-height: calc(36 / var(--scale-vw) * var(--vw, 1vw));
  }
}

.contact-us {
  padding: 2.4rem var(--main-padding) 0;
  color: var(--color-primary-contrast);
  width: 100%;
  height: 100%;
  display: flex;
  flex-direction: column;
}
.contact-us .form-result[data-form-result-state=fail] .form-result__info {
  grid-column: 1/-1;
}
.contact-us__form {
  width: 100%;
  max-width: 64.8rem;
  margin: auto;
}
.contact-us__result {
  margin: auto;
}
.contact-us__bottom {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  align-items: center;
  padding: 1.6rem 0;
  border-top: 1px solid var(--color-border-secondary);
  order: 2;
}
.contact-us__bottom-box {
  display: flex;
  justify-content: space-between;
}
.contact-us__bottom-text {
  font-size: calc(15 / var(--scale-vw) * var(--vw, 1vw));
  line-height: 120%;
  letter-spacing: 0.01em;
  font-weight: 500;
  text-transform: uppercase;
}
@media only screen and (min-width: 1921px) {
  .contact-us__bottom-text {
    font-size: 15px;
  }
}
@media only screen and (max-width: 1440px) {
  .contact-us__bottom-text {
    font-size: calc(13 / var(--scale-vw) * var(--vw, 1vw));
    letter-spacing: 0.02em;
  }
}
.contact-us__phones .phones__link {
  padding-right: 1.6rem;
}
@media only screen and (max-width: 768px) {
  .contact-us__bottom {
    grid-template-columns: auto 1fr;
    column-gap: 5.1rem;
  }
}
@media only screen and (max-width: 480px) {
  .contact-us {
    padding-top: 11.5rem;
  }
  .contact-us__bottom {
    margin-top: 8.2rem;
    padding-top: 2.4rem;
    padding-bottom: 3.2rem;
    grid-template-columns: 1fr;
    text-align: center;
    gap: 0.8rem;
  }
  .contact-us__phones {
    justify-content: center;
  }
  .contact-us__phones .phones__link:nth-child(2) .phones__secondtext {
    border-right: 1px solid var(--color-border-secondary);
  }
  .contact-us__phones .phones__link:nth-child(3) .phones__secondtext {
    border-right: none;
  }
}

.cookie-accept {
  -webkit-backdrop-filter: blur(5px);
  backdrop-filter: blur(5px);
  will-change: backdrop-filter;
  position: fixed;
  left: 0;
  right: 0;
  bottom: 0;
  background-color: var(--color-secondary-90);
  border-top: 1px solid var(--color-border-primary);
  transform: translateY(101%);
  transition: transform 0.3s;
  z-index: var(--z-over-chat);
}
.cookie-accept.is-visible {
  transform: translateY(0);
}
.cookie-accept__body {
  padding: calc(16 / var(--scale-vw) * var(--vw, 1vw)) 0;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: calc(32 / var(--scale-vw) * var(--vw, 1vw));
}
.cookie-accept__text {
  font-size: calc(17 / var(--scale-vw) * var(--vw, 1vw));
  line-height: 100%;
  letter-spacing: 0.01em;
  font-weight: 500;
  text-transform: uppercase;
}
@media only screen and (min-width: 1921px) {
  .cookie-accept__text {
    font-size: 17px;
  }
}
@media only screen and (max-width: 1440px) {
  .cookie-accept__text {
    font-size: calc(15 / var(--scale-vw) * var(--vw, 1vw));
  }
}
@media only screen and (min-width: 1921px) {
  .cookie-accept__body {
    gap: 32px;
    padding: 16px;
  }
}
@media only screen and (max-width: 480px) {
  .cookie-accept__body {
    flex-direction: column;
    gap: 0;
  }
  .cookie-accept__text {
    margin-bottom: calc(16 / var(--scale-vw) * var(--vw, 1vw));
  }
}

.form-result-temp.is-submitted .form-result-temp__result {
  display: contents;
}
.form-result-temp__result {
  display: none;
}
.form-result-temp__block {
  display: none;
}
.form-result-temp__block.is-active {
  display: block;
}

.form-result {
  height: 100%;
  display: grid;
  grid-template-columns: minmax(0, 1fr) calc(610 / var(--scale-vw) * var(--vw, 1vw)) minmax(0, 1fr);
}
.form-result--white .form-result__lottie {
  filter: grayscale(100%) brightness(100%);
}
.form-result[data-form-result-state=fail] .form-result__info {
  grid-column: 2;
}
.form-result__info {
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  gap: calc(24 / var(--scale-vw) * var(--vw, 1vw));
  margin: 0 auto;
  width: 100%;
}
.form-result__head {
  display: flex;
  flex-direction: column;
  row-gap: calc(16 / var(--scale-vw) * var(--vw, 1vw));
  text-align: center;
  width: 100%;
  max-width: calc(620 / var(--scale-vw) * var(--vw, 1vw));
}
.form-result__title {
  font-size: calc(48 / var(--scale-vw) * var(--vw, 1vw));
  line-height: 105%;
  letter-spacing: -0.02em;
  font-weight: 500;
  text-transform: uppercase;
}
@media only screen and (min-width: 1921px) {
  .form-result__title {
    font-size: 48px;
  }
}
@media only screen and (max-width: 1440px) {
  .form-result__title {
    font-size: calc(40 / var(--scale-vw) * var(--vw, 1vw));
    line-height: 115%;
  }
}
@media only screen and (max-width: 768px) {
  .form-result__title {
    font-size: calc(36 / var(--scale-vw) * var(--vw, 1vw));
  }
}
@media only screen and (max-width: 480px) {
  .form-result__title {
    font-size: calc(28 / var(--scale-vw) * var(--vw, 1vw));
  }
}
.form-result__subtitle {
  font-size: calc(20 / var(--scale-vw) * var(--vw, 1vw));
  line-height: 140%;
  letter-spacing: -0.01em;
  font-weight: 500;
  font-family: "RobotoFlex", sans-serif;
}
@media only screen and (min-width: 1921px) {
  .form-result__subtitle {
    font-size: 20px;
  }
}
@media only screen and (max-width: 1440px) {
  .form-result__subtitle {
    font-size: calc(17 / var(--scale-vw) * var(--vw, 1vw));
  }
}
@media only screen and (max-width: 480px) {
  .form-result__subtitle {
    font-size: calc(15 / var(--scale-vw) * var(--vw, 1vw));
  }
}
.form-result__lottie {
  align-self: flex-end;
  height: 70vh;
  filter: grayscale(100%) brightness(40%);
  pointer-events: none;
}
@media only screen and (min-width: 1921px) {
  .form-result {
    grid-template-columns: minmax(0, 1fr) 610px minmax(0, 1fr);
  }
  .form-result__head {
    row-gap: 16px;
    max-width: 620px;
  }
  .form-result__info {
    gap: 24px;
  }
}
@media only screen and (max-width: 1440px) {
  .form-result {
    grid-template-columns: minmax(0, 1fr) calc(520 / var(--scale-vw) * var(--vw, 1vw)) minmax(0, 1fr);
  }
  .form-result__head {
    max-width: calc(520 / var(--scale-vw) * var(--vw, 1vw));
  }
}
@media only screen and (max-width: 1280px) {
  .form-result {
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
  }
  .form-result__info {
    grid-row: 1;
    grid-column: 1/-1;
    position: relative;
    z-index: 1;
  }
  .form-result__lottie {
    grid-row: 1;
  }
  .form-result__lottie--col-1 {
    grid-column: 1;
  }
  .form-result__lottie--col-2 {
    grid-column: 2;
  }
}
@media only screen and (max-width: 480px) {
  .form-result[data-form-result-state=fail] .form-result__info {
    grid-column: 1/-1;
  }
  .form-result__lottie {
    grid-row: 1;
    height: 65vh;
  }
  .form-result__lottie--col-1 {
    grid-column: 1/-1;
  }
  .form-result__lottie--col-2 {
    grid-column: 1/-1;
  }
}

.form.is-submitted {
  display: none;
}
.form--white .form__info {
  color: var(--color-secondary);
}
.form--white .input-elem__label::before,
.form--white .input-elem__label::after {
  border-color: var(--color-primary);
}
.form__head {
  display: flex;
  flex-direction: column;
  gap: 1.6rem;
  width: auto;
  max-width: 100rem;
}
.form__head:not(:last-child) {
  margin-bottom: 2.4rem;
}
.form__title {
  font-size: calc(48 / var(--scale-vw) * var(--vw, 1vw));
  line-height: 105%;
  letter-spacing: -0.02em;
  font-weight: 500;
  text-transform: uppercase;
}
@media only screen and (min-width: 1921px) {
  .form__title {
    font-size: 48px;
  }
}
@media only screen and (max-width: 1440px) {
  .form__title {
    font-size: calc(40 / var(--scale-vw) * var(--vw, 1vw));
    line-height: 115%;
  }
}
@media only screen and (max-width: 768px) {
  .form__title {
    font-size: calc(36 / var(--scale-vw) * var(--vw, 1vw));
  }
}
@media only screen and (max-width: 480px) {
  .form__title {
    font-size: calc(28 / var(--scale-vw) * var(--vw, 1vw));
  }
}
.form__subtitle {
  font-family: "RobotoFlex", sans-serif;
  font-size: calc(24 / var(--scale-vw) * var(--vw, 1vw));
  line-height: 140%;
  letter-spacing: -0.01em;
  font-weight: 500;
  font-family: "RobotoFlex", sans-serif;
}
@media only screen and (min-width: 1921px) {
  .form__subtitle {
    font-size: 24px;
  }
}
@media only screen and (max-width: 1440px) {
  .form__subtitle {
    font-size: calc(20 / var(--scale-vw) * var(--vw, 1vw));
    line-height: 130%;
    letter-spacing: -0.03em;
  }
}
@media only screen and (max-width: 768px) {
  .form__subtitle {
    font-size: calc(17 / var(--scale-vw) * var(--vw, 1vw));
    line-height: 140%;
    letter-spacing: -0.01em;
  }
}
@media only screen and (max-width: 480px) {
  .form__subtitle {
    font-size: calc(15 / var(--scale-vw) * var(--vw, 1vw));
  }
}
.form__inputs {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: 0.4rem;
}
.form__bottom {
  display: flex;
  gap: 1.6rem;
  align-items: center;
}
.form__bottom:not(:first-child) {
  margin-top: 2.4rem;
}
.form__submit {
  flex: none;
}
.form__info {
  font-size: calc(15 / var(--scale-vw) * var(--vw, 1vw));
  line-height: 120%;
  letter-spacing: 0.01em;
  font-weight: 500;
  color: var(--color-secondary-contrast);
  max-width: calc(380 / var(--scale-vw) * var(--vw, 1vw));
  text-transform: uppercase;
}
@media only screen and (min-width: 1921px) {
  .form__info {
    font-size: 15px;
  }
}
@media only screen and (max-width: 1440px) {
  .form__info {
    font-size: calc(11 / var(--scale-vw) * var(--vw, 1vw));
    letter-spacing: 0.02em;
  }
}
.form__info a[href] {
  text-decoration: underline;
}
@media only screen and (min-width: 1921px) {
  .form__info {
    max-width: 380px;
  }
}
@media only screen and (max-width: 1440px) {
  .form__head {
    max-width: calc(540 / var(--scale-vw) * var(--vw, 1vw));
  }
  .form__info {
    max-width: calc(300 / var(--scale-vw) * var(--vw, 1vw));
  }
}
@media only screen and (max-width: 768px) {
  .form__head {
    max-width: 49rem;
  }
}

.header-submenu {
  position: relative;
}
.header-submenu__list {
  position: absolute;
  top: calc(100% - calc(5 / var(--scale-vw) * var(--vw, 1vw)));
  left: 0;
  width: calc(260 / var(--scale-vw) * var(--vw, 1vw));
  counter-reset: sublist;
  padding-top: calc(var(--py-header) + calc(15 / var(--scale-vw) * var(--vw, 1vw)));
}
.header-submenu__link {
  display: grid;
  grid-template-columns: minmax(0, calc(36 / var(--scale-vw) * var(--vw, 1vw))) minmax(0, 1fr);
  gap: 4px;
  padding: 8px 0;
}
.header-submenu__link::before {
  content: "00" counter(sublist) ".";
  counter-increment: sublist;
}
@media only screen and (min-width: 1921px) {
  .header-submenu__list {
    top: calc(100% - 5px);
    width: 260px;
    padding-top: calc(var(--py-header) + 15px);
  }
  .header-submenu__link {
    grid-template-columns: minmax(0, 56px) minmax(0, 1fr);
  }
}

.hystmodal {
  z-index: var(--z-modal);
}
.hystmodal--menu {
  display: block;
}
.hystmodal--menu .hystmodal__wrap {
  grid-row: auto;
  height: 100%;
}
.hystmodal--menu .hystmodal__window {
  width: 100%;
  height: 100%;
  margin: 0;
  background: transparent;
}
.hystmodal__close-menu {
  position: absolute;
  top: calc(16 / var(--scale-vw) * var(--vw, 1vw));
  right: var(--main-padding);
}
@media only screen and (min-width: 1921px) {
  .hystmodal__close-menu {
    top: 16px;
  }
}

.input-elem {
  padding: calc(5 / var(--scale-vw) * var(--vw, 1vw)) 0;
  width: 100%;
}
.input-elem--required .input-elem__box {
  position: relative;
}
.input-elem--required .input-elem__box::after {
  font-size: calc(17 / var(--scale-vw) * var(--vw, 1vw));
  line-height: 105%;
  letter-spacing: -0.01em;
  font-weight: 500;
  content: "*";
  font-weight: 500;
  text-transform: uppercase;
  color: var(--color-error);
}
@media only screen and (min-width: 1921px) {
  .input-elem--required .input-elem__box::after {
    font-size: 17px;
  }
}
@media only screen and (max-width: 1440px) {
  .input-elem--required .input-elem__box::after {
    font-size: calc(15 / var(--scale-vw) * var(--vw, 1vw));
  }
}
@media only screen and (max-width: 480px) {
  .input-elem--required .input-elem__box::after {
    font-size: calc(13 / var(--scale-vw) * var(--vw, 1vw));
    line-height: 120%;
    letter-spacing: 0.02em;
  }
}
.input-elem--radio {
  padding: 0;
}
.input-elem--radio .input-elem__label {
  align-items: center;
}
.input-elem--radio .input-elem__label::before, .input-elem--radio .input-elem__label::after {
  height: calc(24 / var(--scale-vw) * var(--vw, 1vw));
}
.input-elem:has(input.has-error) .input-elem__error, .input-elem:has(input.has-error) .input-elem__error-container {
  display: block;
  opacity: 1;
  /* stylelint-disable-next-line at-rule-no-unknown */
}
@starting-style {
  .input-elem:has(input.has-error) .input-elem__error, .input-elem:has(input.has-error) .input-elem__error-container {
    opacity: 0;
  }
}
.input-elem__label {
  display: flex;
  position: relative;
  padding: 0 calc(10 / var(--scale-vw) * var(--vw, 1vw));
  align-items: flex-end;
}
.input-elem__label::before, .input-elem__label::after {
  display: block;
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  width: calc(4 / var(--scale-vw) * var(--vw, 1vw));
  height: 100%;
  background-repeat: no-repeat;
  background-position: center;
  background-size: auto;
  border-top: 1px solid var(--color-primary-contrast);
  border-bottom: 1px solid var(--color-primary-contrast);
}
.input-elem__label::before {
  content: "";
  left: 0;
  border-left: 1px solid var(--color-primary-contrast);
}
.input-elem__label::after {
  content: "";
  right: 0;
  border-right: 1px solid var(--color-primary-contrast);
}
.input-elem__text {
  font-size: calc(17 / var(--scale-vw) * var(--vw, 1vw));
  line-height: 105%;
  letter-spacing: -0.01em;
  font-weight: 500;
  text-transform: uppercase;
  white-space: nowrap;
  flex: none;
}
@media only screen and (min-width: 1921px) {
  .input-elem__text {
    font-size: 17px;
  }
}
@media only screen and (max-width: 1440px) {
  .input-elem__text {
    font-size: calc(15 / var(--scale-vw) * var(--vw, 1vw));
  }
}
@media only screen and (max-width: 480px) {
  .input-elem__text {
    font-size: calc(13 / var(--scale-vw) * var(--vw, 1vw));
    line-height: 120%;
    letter-spacing: 0.02em;
  }
}
.input-elem__box {
  display: flex;
  flex-grow: 1;
  align-items: center;
  justify-content: flex-end;
}
.input-elem__box--gap {
  gap: calc(20 / var(--scale-vw) * var(--vw, 1vw));
}
.input-elem__error, .input-elem__error-container {
  display: none;
  margin-top: 0.4rem;
  opacity: 0;
  transition: opacity 0.5s;
  transition-behavior: allow-discrete;
}
.input-elem__error .just-validate-error-label, .input-elem__error-container .just-validate-error-label {
  font-family: "RobotoFlex", sans-serif;
  font-size: calc(12 / var(--scale-vw) * var(--vw, 1vw));
  font-weight: 400;
  line-height: 1.2;
  letter-spacing: -0.01em;
  color: var(--color-error);
}
@media only screen and (min-width: 1921px) {
  .input-elem__error .just-validate-error-label, .input-elem__error-container .just-validate-error-label {
    font-size: 12px;
  }
}
.input-elem__input {
  border-bottom: 1px dotted var(--color-secondary-30);
  transition: border-bottom 0.3s;
  padding-bottom: 0;
}
.input-elem__input:focus {
  border-bottom-color: var(--color-primary-contrast);
}
.input-elem.error .input-elem__error {
  display: block;
  opacity: 1;
  /* stylelint-disable-next-line at-rule-no-unknown */
}
@starting-style {
  .input-elem.error .input-elem__error {
    opacity: 0;
  }
}
.input-elem.disabled .input-elem__label {
  color: var(--color-secondary-contrast);
  pointer-events: none;
  cursor: not-allowed;
}
.input-elem.white .input-elem__input {
  color: var(--color-primary);
  border-bottom-color: var(--color-secondary);
}
.input-elem.white .input-elem__input:focus {
  border-bottom-color: var(--color-white);
}
@media (hover: hover), screen and (min-width: 0\0 ) {
  .white .input-elem__label:hover .input-elem__input {
    border-bottom-color: var(--color-white);
  }
  .input-elem__label:hover .input-elem__input {
    border-bottom-color: var(--color-primary-contrast);
  }
}
@media only screen and (min-width: 1921px) {
  .input-elem {
    padding: 5px 0;
  }
  .input-elem__label {
    padding: 0 12px;
  }
  .input-elem__label::before, .input-elem__label::after {
    width: 5px;
  }
  .input-elem__box--gap {
    gap: 20px;
  }
  .input-elem__error {
    margin-top: 4px;
  }
}
@media only screen and (max-width: 1024px) {
  .input-elem__box--gap {
    gap: calc(8 / var(--scale-vw) * var(--vw, 1vw));
  }
}
@media only screen and (max-width: 580px) {
  .input-elem--radio {
    margin-bottom: calc(3 / var(--scale-vw) * var(--vw, 1vw));
  }
  .input-elem--radio .input-elem__text {
    margin-top: calc(4 / var(--scale-vw) * var(--vw, 1vw));
  }
  .input-elem--radio .input-elem__label::before, .input-elem--radio .input-elem__label::after {
    height: calc(21 / var(--scale-vw) * var(--vw, 1vw));
  }
}

.input-textarea {
  width: 100%;
}
.input-textarea__box {
  display: grid;
  grid-template-columns: min-content minmax(0, 1fr);
  border: 1px solid var(--color-primary-contrast);
}
.input-textarea__label {
  font-size: calc(17 / var(--scale-vw) * var(--vw, 1vw));
  line-height: 105%;
  letter-spacing: -0.01em;
  font-weight: 500;
  white-space: nowrap;
  padding: calc(12 / var(--scale-vw) * var(--vw, 1vw));
  padding-right: 0;
  text-transform: uppercase;
  flex: none;
}
@media only screen and (min-width: 1921px) {
  .input-textarea__label {
    font-size: 17px;
  }
}
@media only screen and (max-width: 1440px) {
  .input-textarea__label {
    font-size: calc(15 / var(--scale-vw) * var(--vw, 1vw));
  }
}
@media only screen and (max-width: 480px) {
  .input-textarea__label {
    font-size: calc(13 / var(--scale-vw) * var(--vw, 1vw));
    line-height: 120%;
    letter-spacing: 0.02em;
  }
}
.input-textarea__error {
  font-size: calc(13 / var(--scale-vw) * var(--vw, 1vw));
  line-height: 120%;
  letter-spacing: 0.02em;
  font-weight: 500;
  color: var(--color-error);
  margin-top: calc(4 / var(--scale-vw) * var(--vw, 1vw));
  transition-behavior: allow-discrete;
  display: none;
  opacity: 0;
  transition: opacity 0.5s ease;
}
@media only screen and (min-width: 1921px) {
  .input-textarea__error {
    font-size: 13px;
  }
}
.input-textarea.error .input-textarea__error {
  display: block;
  opacity: 1;
  /* stylelint-disable-next-line at-rule-no-unknown */
}
@starting-style {
  .input-textarea.error .input-textarea__error {
    opacity: 0;
  }
}
.input-textarea.disabled {
  pointer-events: none;
  cursor: not-allowed;
}
.input-textarea.disabled .input-textarea__label {
  color: var(--color-secondary-contrast);
}
.input-textarea.disabled .input-textarea__box {
  border-color: var(--color-secondary-contrast);
}
.input-textarea.white .input-textarea__box {
  border-color: var(--color-primary);
}
.input-textarea.white .input-textarea__textarea {
  color: var(--color-primary);
}
@media only screen and (min-width: 1921px) {
  .input-textarea__label {
    padding: 12px;
    padding-right: 0;
  }
  .input-textarea__error {
    margin-top: 4px;
  }
}

.manager-block {
  display: flex;
  align-items: flex-start;
  column-gap: 2.4rem;
}
.manager-block__pic {
  display: flex;
  flex-shrink: 0;
  justify-content: center;
  align-items: center;
  width: 8rem;
  height: 8rem;
  border-radius: 50%;
  overflow: hidden;
}
.manager-block__pic img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.manager-block__info {
  display: flex;
  flex-direction: column;
  row-gap: 0.4rem;
  width: 100%;
  max-width: 32rem;
}
.manager-block__info p, .manager-block__info a {
  font-size: calc(15 / var(--scale-vw) * var(--vw, 1vw));
  line-height: 120%;
  letter-spacing: 0.01em;
  font-weight: 500;
  text-transform: uppercase;
}
@media only screen and (min-width: 1921px) {
  .manager-block__info p, .manager-block__info a {
    font-size: 15px;
  }
}
@media only screen and (max-width: 1440px) {
  .manager-block__info p, .manager-block__info a {
    font-size: calc(11 / var(--scale-vw) * var(--vw, 1vw));
    letter-spacing: 0.02em;
  }
}
.manager-block__info a {
  padding-block: 1.1rem;
}
@media only screen and (max-width: 1440px) {
  .manager-block__info p, .manager-block__info a {
    font-size: calc(13 / var(--scale-vw) * var(--vw, 1vw));
    line-height: 120%;
    letter-spacing: 0.02em;
    font-weight: 500;
  }
}
@media only screen and (max-width: 1440px) and (min-width: 1921px) {
  .manager-block__info p, .manager-block__info a {
    font-size: 13px;
  }
}
@media only screen and (max-width: 1440px) {
  .manager-block__pic {
    width: 6.4rem;
    height: 6.4rem;
  }
}
@media only screen and (max-width: 1024px) {
  .manager-block {
    column-gap: 1.6rem;
  }
}

.modal-menu {
  position: fixed;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  z-index: var(--z-modal);
  -webkit-overflow-scrolling: touch;
  visibility: hidden;
  opacity: 0;
  pointer-events: none;
  overflow-y: hidden;
  -ms-overflow-style: none;
  scrollbar-width: none;
  overscroll-behavior: contain;
  display: flex;
  flex-direction: column;
  height: 100%;
  background-color: var(--color-primary-contrast);
  transition: opacity 0.2s ease-in-out, visibility 0.2s ease-in-out;
}
.modal-menu.is-open {
  visibility: visible;
  opacity: 1;
  pointer-events: auto;
}
.modal-menu__head {
  background-color: var(--color-primary-contrast);
  padding: 0 var(--main-padding);
  display: flex;
  gap: 1.6rem;
  align-items: center;
  justify-content: space-between;
}
.modal-menu__head-box {
  display: flex;
  align-items: center;
  justify-content: space-between;
  border-bottom: 1px solid var(--color-border-primary);
  padding: var(--py-header) 0;
  width: 100%;
}
.modal-menu__body {
  -webkit-backdrop-filter: blur(24px);
  backdrop-filter: blur(24px);
  will-change: backdrop-filter;
  display: flex;
  flex-direction: column;
  gap: 3.2rem;
  flex-grow: 1;
  padding: 0 0 var(--main-padding) 1.6rem;
  scrollbar-width: none;
  overscroll-behavior: contain;
  overflow: auto;
  max-height: 100%;
}
.modal-menu__list {
  counter-reset: list;
}
.modal-menu__item {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  column-gap: 1rem;
  font-size: calc(13 / var(--scale-vw) * var(--vw, 1vw));
  line-height: 120%;
  letter-spacing: 0.02em;
  font-weight: 500;
}
@media only screen and (min-width: 1921px) {
  .modal-menu__item {
    font-size: 13px;
  }
}
.modal-menu__item-text {
  padding: 0.8rem 0;
  display: grid;
  grid-template-columns: minmax(0, 8.8rem) minmax(0, 1fr);
  gap: 0.4rem;
  width: fit-content;
  height: fit-content;
  text-transform: uppercase;
  color: var(--color-primary);
  text-decoration: none;
}
.modal-menu__item-text::before {
  content: "00" counter(list) ".";
  counter-increment: list;
}
.modal-menu__sublist {
  counter-reset: sublist;
}
.modal-menu__subitem {
  display: grid;
  grid-template-columns: minmax(0, 8.8rem) minmax(0, 1fr);
  gap: 0.4rem;
  padding: 0.8rem 0;
  width: fit-content;
}
.modal-menu__subitem::before {
  content: "001" "." counter(sublist) ".";
  counter-increment: sublist;
}
.modal-menu__bottom {
  margin-top: auto;
  display: flex;
  flex-direction: column;
  gap: 0.8rem;
}
.modal-menu__info {
  font-size: calc(13 / var(--scale-vw) * var(--vw, 1vw));
  line-height: 120%;
  letter-spacing: 0.02em;
  font-weight: 500;
  text-transform: uppercase;
}
@media only screen and (min-width: 1921px) {
  .modal-menu__info {
    font-size: 13px;
  }
}
@media only screen and (max-width: 960px) {
  .modal-menu__body {
    padding: 0 var(--main-padding) 1.6rem;
  }
}
@media only screen and (max-width: 580px) {
  .modal-menu__item {
    grid-template-columns: minmax(0, 1fr);
  }
  .modal-menu__item:has(.modal-menu__sublist) {
    margin-bottom: 3.2rem;
  }
  .modal-menu__phones {
    display: grid;
    grid-template-columns: min-content min-content;
    column-gap: 1.6rem;
  }
}

.page-nav {
  display: flex;
  flex-direction: column;
}
.page-nav__link {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 0.8rem 0;
  padding-right: 1.6rem;
  border: none;
  background-color: transparent;
  color: var(--color-secondary);
  text-decoration: none;
  text-transform: uppercase;
  transition: color 0.3s ease;
  cursor: pointer;
  position: relative;
  z-index: 2;
}
.page-nav__link::before {
  content: "";
  position: absolute;
  right: -2px;
  top: 0;
  width: 1px;
  height: 0;
  background-color: transparent;
  z-index: 1;
  transition: width 0.3s ease-in-out;
}
.page-nav__link.active {
  color: var(--color-primary);
}
.page-nav__link.active::before {
  background-color: var(--color-primary);
  height: 100%;
}
.page-nav__text {
  font-size: calc(15 / var(--scale-vw) * var(--vw, 1vw));
  line-height: 120%;
  letter-spacing: 0.01em;
  font-weight: 500;
  /* autoprefixer: off */
  display: -webkit-box;
  -webkit-line-clamp: 1;
  -webkit-box-orient: vertical;
  /* autoprefixer: on */
  overflow: hidden;
  text-overflow: ellipsis;
  word-wrap: break-word;
}
@media only screen and (min-width: 1921px) {
  .page-nav__text {
    font-size: 15px;
  }
}
@media only screen and (max-width: 1440px) {
  .page-nav__text {
    font-size: calc(13 / var(--scale-vw) * var(--vw, 1vw));
    letter-spacing: 0.02em;
  }
}
.page-nav__title {
  font-size: calc(15 / var(--scale-vw) * var(--vw, 1vw));
  line-height: 120%;
  letter-spacing: 0.01em;
  font-weight: 500;
  color: var(--color-secondary);
  text-transform: uppercase;
}
@media only screen and (min-width: 1921px) {
  .page-nav__title {
    font-size: 15px;
  }
}
@media only screen and (max-width: 1440px) {
  .page-nav__title {
    font-size: calc(15 / var(--scale-vw) * var(--vw, 1vw));
  }
}
@media only screen and (max-width: 768px) {
  .page-nav__title {
    font-size: calc(13 / var(--scale-vw) * var(--vw, 1vw));
    letter-spacing: 0.02em;
  }
}
.page-nav__icon {
  flex: none;
  width: 1.6rem;
  height: 1.6rem;
}
.page-nav--subnav .page-nav__link::before {
  display: none;
}
@media only screen and (max-width: 768px) {
  .page-nav {
    flex-direction: row;
  }
  .page-nav__item:not(:last-child) {
    margin-right: 2.4rem;
  }
  .page-nav__text {
    overflow: visible;
    white-space: nowrap;
  }
  .page-nav__link {
    padding-right: 0;
  }
  .page-nav__link.active::before {
    width: 100%;
    height: 1px;
    left: 0;
    right: 0;
  }
}

.page-section {
  padding-top: calc(32 / var(--scale-vw) * var(--vw, 1vw));
  padding-bottom: calc(200 / var(--scale-vw) * var(--vw, 1vw));
}
.page-section--bottom-padding {
  padding-bottom: 0;
}
@media only screen and (min-width: 1921px) {
  .page-section {
    padding-top: 32px;
    padding-bottom: 200px;
  }
}
@media only screen and (max-width: 1440px) {
  .page-section {
    padding-top: calc(24 / var(--scale-vw) * var(--vw, 1vw));
    padding-bottom: calc(144 / var(--scale-vw) * var(--vw, 1vw));
  }
}
@media only screen and (max-width: 768px) {
  .page-section {
    padding-bottom: calc(112 / var(--scale-vw) * var(--vw, 1vw));
  }
}
@media only screen and (max-width: 480px) {
  .page-section {
    padding-top: calc(16 / var(--scale-vw) * var(--vw, 1vw));
    padding-bottom: calc(88 / var(--scale-vw) * var(--vw, 1vw));
  }
}

.page-section-box {
  padding-bottom: 10.3rem;
}
@media only screen and (min-width: 1921px) {
  .page-section-box {
    padding-bottom: 103px;
  }
}
@media only screen and (max-width: 768px) {
  .page-section-box {
    padding-bottom: 9.2rem;
  }
}
@media only screen and (max-width: 480px) {
  .page-section-box {
    padding-bottom: 6rem;
  }
}

.preloader {
  position: fixed;
  inset: 0;
  color: var(--color-primary);
  z-index: var(--z-modal);
  display: flex;
  justify-content: center;
  align-items: center;
}
.preloader__box {
  width: 100%;
  height: 100%;
  overflow: hidden;
  display: flex;
  align-items: flex-end;
  justify-content: center;
  margin-top: auto;
  background-color: var(--color-primary-contrast);
}
.preloader__el-main {
  opacity: 0;
  padding: 0.5rem;
  margin-bottom: 50vh;
  font-size: calc(26 / var(--scale-vw) * var(--vw, 1vw));
  line-height: 115%;
  letter-spacing: -0.02em;
  font-weight: 700;
  text-transform: uppercase;
}
@media only screen and (min-width: 1921px) {
  .preloader__el-main {
    font-size: 26px;
  }
}
@media only screen and (max-width: 1440px) {
  .preloader__el-main {
    font-size: calc(24 / var(--scale-vw) * var(--vw, 1vw));
  }
}
@media only screen and (max-width: 768px) {
  .preloader__el-main {
    font-size: calc(22 / var(--scale-vw) * var(--vw, 1vw));
  }
}
@media only screen and (max-width: 480px) {
  .preloader__el-main {
    font-size: calc(18 / var(--scale-vw) * var(--vw, 1vw));
  }
}

.preloader-opened {
  overflow: hidden;
  padding-right: var(--scroll-width);
}

.product {
  position: relative;
  display: flex;
  aspect-ratio: 570/520;
}
.product__wrapper {
  padding: calc(32 / var(--scale-vw) * var(--vw, 1vw)) 0;
  display: flex;
  flex-direction: column;
  gap: calc(50 / var(--scale-vw) * var(--vw, 1vw));
  justify-content: space-between;
  height: auto;
  width: 100%;
}
.product__wrapper::after {
  content: "";
  position: absolute;
  left: 2px;
  right: 2px;
  bottom: 2px;
  top: 50%;
  background: linear-gradient(94deg, rgb(8, 8, 8) 0%, rgba(254, 254, 254, 0) 50%, rgb(8, 8, 8) 100%);
}
.product__border {
  position: absolute;
  top: -1px;
  left: -2px;
  bottom: -2px;
  right: -1px;
  z-index: -1;
  border: 1px solid var(--color-border-primary);
  box-shadow: inset 0 0 0 4px var(--color-primary-contrast);
  opacity: 0;
  transition: opacity 0.3s;
}
.product__top {
  padding: 0 calc(32 / var(--scale-vw) * var(--vw, 1vw));
  display: flex;
  align-items: center;
  justify-content: space-between;
  color: var(--color-secondary);
  transition: color 0.3s;
}
.product__number {
  font-size: calc(15 / var(--scale-vw) * var(--vw, 1vw));
  line-height: 120%;
  letter-spacing: 0.01em;
  font-weight: 500;
  text-transform: uppercase;
}
@media only screen and (min-width: 1921px) {
  .product__number {
    font-size: 15px;
  }
}
@media only screen and (max-width: 1440px) {
  .product__number {
    font-size: calc(13 / var(--scale-vw) * var(--vw, 1vw));
    letter-spacing: 0.02em;
  }
}
.product__icon {
  width: calc(20 / var(--scale-vw) * var(--vw, 1vw));
  height: calc(20 / var(--scale-vw) * var(--vw, 1vw));
  margin-left: auto;
}
.product__picture {
  position: relative;
  width: calc(250 / var(--scale-vw) * var(--vw, 1vw));
  margin: 0 auto;
  overflow: hidden;
  aspect-ratio: 1;
}
.product__img {
  display: block;
  position: absolute;
  top: 0;
  width: 100%;
  height: 100%;
  background-color: var(--color-primary-contrast);
}
.product__img img {
  display: block;
  width: 100%;
  height: 100%;
  max-width: 100%;
  object-fit: contain;
}
.product__ascii {
  font-size: calc(3 / var(--scale-vw) * var(--vw, 1vw));
  line-height: 1;
  font-weight: 500;
  display: flex;
  position: absolute;
  top: 0;
  width: 100%;
  height: 0;
  overflow: hidden;
  border-bottom: solid transparent;
  border-width: 0;
  border-image: linear-gradient(to right, rgba(0, 0, 0, 0.3), var(--color-primary), rgba(0, 0, 0, 0.3));
  border-image-slice: 1;
  box-shadow: 0 25px 18px -11px rgba(255, 255, 255, 0.1);
  transition: height 0.4s ease-out, border-width 0.4s ease-out;
  background-color: var(--color-primary-contrast);
}
@media only screen and (max-width: 1440px) {
  .product__ascii {
    font-size: calc(3 / var(--scale-vw) * var(--vw, 1vw));
  }
}
@media only screen and (max-width: 1280px) {
  .product__ascii {
    font-size: calc(2.7 / var(--scale-vw) * var(--vw, 1vw));
  }
}
@media only screen and (max-width: 960px) {
  .product__ascii {
    font-size: calc(2.5 / var(--scale-vw) * var(--vw, 1vw));
  }
}
.product__ascii-pre {
  font-size: calc(3 / var(--scale-vw) * var(--vw, 1vw));
  line-height: 1.1;
  font-weight: 500;
  display: flex;
  position: absolute;
  top: 0;
  left: 50%;
  transform: translateX(-50%);
  overflow: hidden;
  height: 100%;
  width: auto;
  margin: 0 auto;
  background-image: linear-gradient(90deg, #f1f1f1, #99aedc);
  /* stylelint-disable-next-line property-no-vendor-prefix */
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
}
.product__ascii-pre code {
  font-size: calc(3 / var(--scale-vw) * var(--vw, 1vw));
  line-height: 1.1;
  font-weight: 500;
}
.product__ascii-img {
  display: block;
  aspect-ratio: 1;
  max-width: 100%;
  object-fit: contain;
  background-color: var(--color-primary-contrast);
}
.product__bottom {
  overflow: hidden;
  margin: 0 5px;
  flex: none;
}
.product__title {
  font-size: calc(17 / var(--scale-vw) * var(--vw, 1vw));
  line-height: 100%;
  letter-spacing: 0.01em;
  font-weight: 500;
  text-decoration: none;
  color: var(--color-primary);
  display: flex;
  align-items: center;
  justify-content: center;
  text-transform: uppercase;
  text-align: center;
}
@media only screen and (min-width: 1921px) {
  .product__title {
    font-size: 17px;
  }
}
@media only screen and (max-width: 1440px) {
  .product__title {
    font-size: calc(15 / var(--scale-vw) * var(--vw, 1vw));
  }
}
.product__link {
  font-size: 0;
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: 2;
}
.product__text {
  white-space: nowrap;
}
.product__text:not(:first-child) {
  display: none;
}
@media (hover: hover), screen and (min-width: 0\0 ) {
  .product:hover .product__border {
    opacity: 1;
    z-index: 1;
  }
  .product:hover .product__ascii {
    height: calc(100% + 2px);
    border-width: 2px;
  }
  .product:hover .product__top {
    color: var(--color-primary);
  }
  .product:hover .product__title {
    animation: creeping-line 20s linear infinite;
  }
  .product:hover .product__text:not(:first-child) {
    display: block;
  }
}
@media only screen and (min-width: 1921px) {
  .product__wrapper {
    gap: 50px;
  }
}
@media only screen and (max-width: 1440px) {
  .product {
    aspect-ratio: 430/425;
  }
  .product__wrapper {
    padding: calc(24 / var(--scale-vw) * var(--vw, 1vw)) 0;
  }
  .product__top {
    padding: 0 calc(24 / var(--scale-vw) * var(--vw, 1vw));
  }
  .product__icon {
    width: calc(16 / var(--scale-vw) * var(--vw, 1vw));
    height: calc(16 / var(--scale-vw) * var(--vw, 1vw));
  }
}
@media only screen and (max-width: 768px) {
  .product {
    aspect-ratio: auto;
  }
  .product__wrapper {
    gap: calc(43 / var(--scale-vw) * var(--vw, 1vw));
  }
  .product__wrapper::after {
    display: none;
  }
  .product__picture {
    width: calc(180 / var(--scale-vw) * var(--vw, 1vw));
    height: calc(calc(180 / var(--scale-vw) * var(--vw, 1vw)) * 1 / 1);
    margin-bottom: calc(35 / var(--scale-vw) * var(--vw, 1vw));
  }
}
@media only screen and (max-width: 480px) {
  .product {
    min-height: calc(380 / var(--scale-vw) * var(--vw, 1vw));
  }
  .product__wrapper {
    padding: calc(16 / var(--scale-vw) * var(--vw, 1vw)) 0;
  }
  .product__top {
    padding: 0 calc(16 / var(--scale-vw) * var(--vw, 1vw));
  }
}

.project {
  position: relative;
  min-height: calc(800 / var(--scale-vw) * var(--vw, 1vw));
}
.page-product--new .project .project__awards,
.page-product--new .project .project__bottom {
  display: none;
}
.project__border {
  position: absolute;
  top: -1px;
  left: -2px;
  bottom: -2px;
  right: -1px;
  z-index: -1;
  border: 1px solid var(--color-border-primary);
  box-shadow: inset 0 0 0 4px var(--color-primary-contrast);
  opacity: 0;
  transition: opacity 0.3s;
}
.project__cover {
  height: 100%;
  position: absolute;
  inset: 0;
  transition: filter 0.3s ease-in;
}
.project__picture {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  display: flex;
}
.project__img {
  --object-fit: contain;
  max-width: 83%;
  margin: 0 auto;
}
.project__top {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  padding: 3.2rem;
}
.project__bottom {
  position: absolute;
  bottom: 3.2rem;
  left: 3.2rem;
  right: 3.2rem;
  display: flex;
  justify-content: flex-start;
}
.project__open {
  display: none;
}
.project__info-close {
  display: none;
}
.project__info {
  position: relative;
  padding: 3.2rem;
  display: flex;
  height: 100%;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 2rem;
  opacity: 0;
  z-index: 1;
  transition: opacity 0.3s ease-out;
}
.project__info::before {
  content: "";
  position: absolute;
  inset: 0;
  background-color: var(--color-secondary-90);
  z-index: -1;
}
.project__logo {
  --object-fit: contain;
  max-width: 25rem;
}
.project__text {
  font-size: calc(20 / var(--scale-vw) * var(--vw, 1vw));
  line-height: 140%;
  letter-spacing: -0.01em;
  font-weight: 500;
  font-family: "RobotoFlex", sans-serif;
  max-width: 60rem;
  text-align: center;
}
@media only screen and (min-width: 1921px) {
  .project__text {
    font-size: 20px;
  }
}
@media only screen and (max-width: 1440px) {
  .project__text {
    font-size: calc(17 / var(--scale-vw) * var(--vw, 1vw));
  }
}
@media only screen and (max-width: 480px) {
  .project__text {
    font-size: calc(15 / var(--scale-vw) * var(--vw, 1vw));
  }
}
.project__text-box {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 2rem;
  margin: auto 0;
}
.project__awards {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 3.2rem;
  margin-top: auto;
}
.project__title {
  font-size: calc(32 / var(--scale-vw) * var(--vw, 1vw));
  line-height: 115%;
  letter-spacing: -0.02em;
  font-weight: 500;
  text-transform: uppercase;
}
@media only screen and (min-width: 1921px) {
  .project__title {
    font-size: 32px;
  }
}
@media only screen and (max-width: 1440px) {
  .project__title {
    font-size: calc(28 / var(--scale-vw) * var(--vw, 1vw));
  }
}
@media only screen and (max-width: 768px) {
  .project__title {
    font-size: calc(24 / var(--scale-vw) * var(--vw, 1vw));
  }
}
@media only screen and (max-width: 480px) {
  .project__title {
    font-size: calc(17 / var(--scale-vw) * var(--vw, 1vw));
  }
}
.project__number {
  font-size: calc(15 / var(--scale-vw) * var(--vw, 1vw));
  line-height: 120%;
  letter-spacing: 0.01em;
  font-weight: 500;
  color: var(--color-secondary);
}
@media only screen and (min-width: 1921px) {
  .project__number {
    font-size: 15px;
  }
}
@media only screen and (max-width: 1440px) {
  .project__number {
    font-size: calc(13 / var(--scale-vw) * var(--vw, 1vw));
    letter-spacing: 0.02em;
  }
}
.project__link::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  bottom: 0;
  right: 0;
}
.project__stub {
  height: 100%;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  position: relative;
  z-index: 1;
  gap: calc(16 / var(--scale-vw) * var(--vw, 1vw));
}
.project__stub::before {
  content: "";
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  z-index: -1;
  opacity: 0.1;
  transition: opacity 0.3s ease-in;
  background: radial-gradient(circle, rgba(8, 8, 8, 0) -25%, rgb(8, 8, 8) 75%), url("/local/assets/css/../img/bg/dot.svg") repeat center/8px;
}
.project__stub-icon {
  pointer-events: none;
}
.project__icon-plus {
  transition: transform 0.3s ease-in;
}
@media (hover: hover), screen and (min-width: 0\0 ) {
  .project:hover .project__border {
    opacity: 1;
    z-index: 1;
  }
  .project:hover .project__info {
    opacity: 1;
    z-index: 1;
  }
  .project:hover .project__cover {
    filter: blur(25px);
  }
  .project:hover .project__stub::before {
    opacity: 0.4;
  }
  .project:hover .project__icon-plus {
    transform: rotate(90deg);
  }
}
@media only screen and (min-width: 1921px) {
  .project {
    min-height: 800px;
  }
  .project__stub {
    gap: 16px;
  }
  .project__stub::before {
    background: radial-gradient(circle, rgba(8, 8, 8, 0) -25%, rgb(8, 8, 8) 75%), url("/local/assets/css/../img/bg/dot-white.svg") repeat center/14px;
  }
}
@media only screen and (max-width: 1440px) {
  .project {
    min-height: calc(648 / var(--scale-vw) * var(--vw, 1vw));
  }
  .project__top {
    top: 2.4rem;
    left: 2.4rem;
    right: 2.4rem;
  }
  .project__bottom {
    bottom: 2.4rem;
    left: 2.4rem;
    right: 2.4rem;
  }
  .project__info, .project__top {
    padding: 2.4rem;
  }
  .project__text-box {
    max-width: calc(530 / var(--scale-vw) * var(--vw, 1vw));
  }
  .project__stub {
    gap: calc(8 / var(--scale-vw) * var(--vw, 1vw));
  }
}
@media only screen and (max-width: 1024px) {
  .project__number {
    display: none;
  }
  .project__open {
    display: flex;
    flex: none;
    padding: 0;
  }
  .project__open::before {
    content: "";
    position: absolute;
    inset: 0;
    z-index: 1;
  }
  .project__info {
    color: var(--color-primary-contrast);
  }
  .project__info::before {
    background: url("/local/assets/css/../img/bg/dot-grey.svg") repeat center/8px, var(--color-primary);
  }
  .project.active .project__info {
    opacity: 1;
    z-index: 1;
  }
  .project.active .project__open {
    z-index: 0;
  }
  .project__text {
    max-width: calc(525 / var(--scale-vw) * var(--vw, 1vw));
  }
  .project__info-close {
    display: flex;
    position: absolute;
    top: 1.6rem;
    right: 1.6rem;
    background-color: var(--color-primary);
    color: var(--color-primary-contrast);
  }
  .project__award::before, .project__award::after {
    filter: brightness(0%);
  }
  .project__link {
    color: var(--color-primary-contrast);
    position: relative;
    z-index: 1;
  }
  .project__link::before {
    display: none;
  }
  .project__logo {
    filter: invert(1) grayscale(150%);
  }
  .project--stub .project__link {
    color: var(--color-primary);
  }
}
@media only screen and (max-width: 768px) {
  .project--stub {
    display: none;
  }
}
@media only screen and (max-width: 480px) {
  .project {
    min-height: 48rem;
  }
  .project:not(.project--stub) {
    display: flex;
  }
  .project__cover {
    padding: 1.6rem;
    display: flex;
    flex-direction: column;
    gap: 0.4rem;
  }
  .project__picture {
    flex-grow: 1;
  }
  .project__top, .project__bottom, .project__picture {
    position: static;
  }
  .project__top {
    padding: 0;
  }
  .project__info {
    padding: 1.6rem;
    height: auto;
    width: 100%;
  }
  .project__info-close {
    top: 0.8rem;
    right: 0.8rem;
  }
  .project__img {
    max-width: 100%;
  }
  .project__logo {
    align-self: flex-start;
  }
}

.reviews-slider {
  position: relative;
}
.reviews-slider__thumbs {
  width: 6.5rem;
  margin: 0 auto;
}
.reviews-slider__thumbs:not(:last-child) {
  margin-bottom: calc(var(--py-section) + 1rem);
}
.reviews-slider__thumb {
  display: flex;
  align-items: center;
  justify-content: center;
}
.reviews-slider__thumb.swiper-slide-active {
  position: relative;
  z-index: 1;
}
.reviews-slider__thumb.swiper-slide-active .reviews-slider__thumb-card {
  border: 1px dashed var(--color-secondary-contrast);
  filter: grayscale(0);
  transform: scale(1.8);
}
.reviews-slider__thumb.swiper-slide-next.reviews-slider__thumb {
  transform: scale(1.5) translateX(calc(5 / var(--scale-vw) * var(--vw, 1vw)));
}
.reviews-slider__thumb.swiper-slide-prev.reviews-slider__thumb {
  transform: scale(1.5) translateX(calc(-5 / var(--scale-vw) * var(--vw, 1vw)));
}
.reviews-slider__thumb-card {
  border-radius: 50%;
  border: 1px dashed transparent;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 0.3rem;
  filter: grayscale(1);
  transform: scale(1);
  transition: filter 0.3s ease, transform 0.3s ease;
}
.reviews-slider__thumb-img {
  --width: 3.2rem;
  --radius: 50%;
  display: flex;
}
.reviews-slider__card {
  display: flex;
  flex-direction: column;
  align-items: center;
}
.reviews-slider__text {
  font-size: calc(32 / var(--scale-vw) * var(--vw, 1vw));
  line-height: 115%;
  letter-spacing: -0.02em;
  font-weight: 500;
  text-transform: uppercase;
  max-width: 76rem;
  text-align: center;
}
@media only screen and (min-width: 1921px) {
  .reviews-slider__text {
    font-size: 32px;
  }
}
@media only screen and (max-width: 1440px) {
  .reviews-slider__text {
    font-size: calc(28 / var(--scale-vw) * var(--vw, 1vw));
  }
}
@media only screen and (max-width: 768px) {
  .reviews-slider__text {
    font-size: calc(24 / var(--scale-vw) * var(--vw, 1vw));
  }
}
@media only screen and (max-width: 480px) {
  .reviews-slider__text {
    font-size: calc(17 / var(--scale-vw) * var(--vw, 1vw));
  }
}
.reviews-slider__text:not(:last-child) {
  margin-bottom: var(--py-section);
}
.reviews-slider__author {
  font-size: calc(17 / var(--scale-vw) * var(--vw, 1vw));
  line-height: 105%;
  letter-spacing: -0.01em;
  font-weight: 500;
  text-transform: uppercase;
  text-align: center;
  display: flex;
  flex-direction: column;
  gap: 0.4rem;
  max-width: 76rem;
}
@media only screen and (min-width: 1921px) {
  .reviews-slider__author {
    font-size: 17px;
  }
}
@media only screen and (max-width: 1440px) {
  .reviews-slider__author {
    font-size: calc(15 / var(--scale-vw) * var(--vw, 1vw));
  }
}
@media only screen and (max-width: 480px) {
  .reviews-slider__author {
    font-size: calc(13 / var(--scale-vw) * var(--vw, 1vw));
    line-height: 120%;
    letter-spacing: 0.02em;
  }
}
.reviews-slider__subname {
  color: var(--color-secondary-contrast);
}
.reviews-slider__btn {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  z-index: 1;
}
.reviews-slider__btn--prev {
  left: 0;
}
.reviews-slider__btn--next {
  right: 0;
}
@media only screen and (max-width: 960px) {
  .reviews-slider__text, .reviews-slider__author {
    max-width: 56rem;
  }
  .reviews-slider__btn--prev {
    left: 0.8rem;
  }
  .reviews-slider__btn--next {
    right: 0.8rem;
  }
}
@media only screen and (max-width: 768px) {
  .reviews-slider__text, .reviews-slider__author {
    max-width: 46rem;
  }
}
@media only screen and (max-width: 480px) {
  .reviews-slider__btn {
    display: none;
  }
  .reviews-slider__card {
    padding: 0 var(--main-padding);
  }
}

.stack__list {
  -ms-overflow-style: none;
  scrollbar-width: none;
  overscroll-behavior: contain;
  display: flex;
  gap: 1.6rem;
  row-gap: 0.5rem;
  flex-wrap: wrap;
  justify-content: center;
  overflow-x: auto;
}
.stack__list::-webkit-scrollbar {
  display: none;
}
.stack__item {
  display: flex;
  gap: 0.8rem;
  align-items: center;
}
.stack__item:not(:last-child)::after {
  content: "";
  display: block;
  margin-left: 0.8rem;
  width: 1px;
  height: 1.2rem;
  background-color: var(--color-border-primary);
}
.stack__name {
  font-size: calc(15 / var(--scale-vw) * var(--vw, 1vw));
  line-height: 120%;
  letter-spacing: 0.01em;
  font-weight: 500;
  text-transform: uppercase;
  white-space: nowrap;
}
@media only screen and (min-width: 1921px) {
  .stack__name {
    font-size: 15px;
  }
}
@media only screen and (max-width: 1440px) {
  .stack__name {
    font-size: calc(13 / var(--scale-vw) * var(--vw, 1vw));
    letter-spacing: 0.02em;
  }
}
.stack__icon {
  --object-fit: contain;
  --object-position: center;
  width: 3.2rem;
  height: 2.4rem;
  flex: none;
}
.stack--grey {
  color: var(--color-secondary);
}
.stack--start {
  justify-content: flex-start;
}
.stack--l .stack__icon {
  width: 3.2rem;
  height: 3.2rem;
}
.stack--l {
  gap: 2.4rem;
}
.stack--l .stack__name {
  font-size: calc(28 / var(--scale-vw) * var(--vw, 1vw));
  line-height: 140%;
  letter-spacing: -0.01em;
  font-weight: 500;
}
@media only screen and (min-width: 1921px) {
  .stack--l .stack__name {
    font-size: 28px;
  }
}
@media only screen and (max-width: 480px) {
  .stack--l .stack__name {
    font-size: calc(17 / var(--scale-vw) * var(--vw, 1vw));
    letter-spacing: 0;
  }
}
.stack--default .stack__item:not(:last-child)::after {
  display: none;
}
@media only screen and (max-width: 480px) {
  .stack--l .stack__icon {
    width: 2.4rem;
    height: 2.4rem;
  }
}

.sticky-nav {
  width: 100%;
  padding: 0 var(--main-padding);
  position: fixed;
  top: var(--header-height);
  display: flex;
  gap: 1.6rem;
  flex-wrap: wrap;
  justify-content: center;
  background: var(--color-primary-contrast);
  z-index: var(--z-menu);
  transition: opacity 0.3s ease, transform 0.3s ease;
}
.sticky-nav__elem {
  font-size: calc(13 / var(--scale-vw) * var(--vw, 1vw));
  line-height: 120%;
  letter-spacing: 0.02em;
  font-weight: 500;
  text-transform: uppercase;
  text-decoration: none;
  color: var(--color-secondary);
  display: flex;
  gap: 0.8rem;
  align-items: center;
}
@media only screen and (min-width: 1921px) {
  .sticky-nav__elem {
    font-size: 13px;
  }
}
.sticky-nav__elem:not(:last-child)::after {
  content: "";
  display: block;
  margin-left: 0.8rem;
  width: 1px;
  height: 1.2rem;
  background-color: var(--color-border-primary);
}
.sticky-nav__elem.active {
  position: relative;
}
.sticky-nav__elem.active .sticky-nav__text {
  position: relative;
}
.sticky-nav__elem.active .sticky-nav__text::before {
  content: "";
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  height: 1px;
  background-color: var(--color-primary);
}
.sticky-nav__text {
  padding: 1.2rem 0;
}
.sticky-nav.is-hidden {
  opacity: 0;
  transform: translateY(-100%);
  pointer-events: none;
}
@media only screen and (max-width: 768px) {
  .sticky-nav {
    display: none;
  }
}

.team-card {
  display: flex;
  gap: 4rem;
  background-color: var(--color-primary-contrast);
  width: 100%;
}
.team-card__header {
  flex: 0 0 48%;
  position: relative;
  border: 1px solid var(--color-border-primary);
  height: calc(750 / var(--scale-vw) * var(--vw, 1vw));
  transition: border-color 0.3s;
}
.team-card__header.active {
  border: 1px solid var(--color-primary);
}
.team-card__header.active .team-card__ascii {
  opacity: 1;
}
.team-card__header.active .team-card__bottom .team-card__text {
  box-shadow: 0 0 67px 35px var(--color-primary-contrast);
  background: var(--color-secondary-80);
}
.team-card__picture {
  height: 100%;
  background-color: var(--color-primary-contrast);
  position: relative;
  overflow: hidden;
}
.team-card__img {
  --aspect-ratio: 580/750;
  --object-fit: cover;
  --object-position: top;
  display: block;
  height: 100%;
  width: 100%;
}
.team-card__ascii {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background-color: var(--color-primary-contrast);
  overflow: hidden;
  display: flex;
  align-items: flex-end;
  opacity: 0;
  transition: opacity 0.3s;
}
.team-card__ascii-pre {
  font-size: calc(10 / var(--scale-vw) * var(--vw, 1vw));
  line-height: 1.1;
  font-weight: 500;
  display: flex;
  position: absolute;
  top: 0;
  left: 50%;
  transform: translateX(-50%);
  overflow: hidden;
  height: 100%;
  width: auto;
  margin: 0 auto;
}
@media only screen and (max-width: 1440px) {
  .team-card__ascii-pre {
    font-size: calc(7.5 / var(--scale-vw) * var(--vw, 1vw));
  }
}
@media only screen and (max-width: 1280px) {
  .team-card__ascii-pre {
    font-size: calc(6 / var(--scale-vw) * var(--vw, 1vw));
  }
}
@media only screen and (max-width: 768px) {
  .team-card__ascii-pre {
    font-size: calc(7.5 / var(--scale-vw) * var(--vw, 1vw));
  }
}
@media only screen and (max-width: 480px) {
  .team-card__ascii-pre {
    font-size: calc(6 / var(--scale-vw) * var(--vw, 1vw));
    line-height: calc(7 / var(--scale-vw) * var(--vw, 1vw));
  }
}
.team-card__ascii-pre code {
  font-size: calc(10 / var(--scale-vw) * var(--vw, 1vw));
  line-height: 1.1;
  font-weight: 500;
}
@media only screen and (max-width: 1440px) {
  .team-card__ascii-pre code {
    font-size: calc(7.5 / var(--scale-vw) * var(--vw, 1vw));
  }
}
@media only screen and (max-width: 1280px) {
  .team-card__ascii-pre code {
    font-size: calc(6 / var(--scale-vw) * var(--vw, 1vw));
  }
}
@media only screen and (max-width: 768px) {
  .team-card__ascii-pre code {
    font-size: calc(7.5 / var(--scale-vw) * var(--vw, 1vw));
  }
}
@media only screen and (max-width: 480px) {
  .team-card__ascii-pre code {
    font-size: calc(6 / var(--scale-vw) * var(--vw, 1vw));
    line-height: calc(7 / var(--scale-vw) * var(--vw, 1vw));
  }
}
.team-card__top {
  position: absolute;
  top: 0.8rem;
  left: 0.8rem;
  right: 0.8rem;
  display: flex;
  justify-content: space-between;
  z-index: 1;
}
.team-card__bottom {
  position: absolute;
  bottom: 0.8rem;
  left: 0.8rem;
  right: 0.8rem;
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
}
.team-card__text {
  font-size: calc(12 / var(--scale-vw) * var(--vw, 1vw));
  line-height: 100%;
  letter-spacing: 0.02em;
  font-weight: 500;
}
@media only screen and (min-width: 1921px) {
  .team-card__text {
    font-size: 12px;
  }
}
@media only screen and (max-width: 1440px) {
  .team-card__text {
    font-size: calc(10 / var(--scale-vw) * var(--vw, 1vw));
  }
}
@media only screen and (max-width: 768px) {
  .team-card__text {
    font-size: calc(10 / var(--scale-vw) * var(--vw, 1vw));
  }
}
@media only screen and (max-width: 480px) {
  .team-card__text {
    font-size: calc(10 / var(--scale-vw) * var(--vw, 1vw));
  }
}
.team-card__skills {
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  column-gap: 0.5rem;
  flex-wrap: wrap;
  width: calc(90 / var(--scale-vw) * var(--vw, 1vw));
}
.team-card__skill {
  display: flex;
  text-transform: uppercase;
}
.team-card__skill:first-child {
  width: 100%;
}
.team-card__skill::before {
  content: ">";
  padding-right: 0.5rem;
}
.team-card__hint {
  text-transform: uppercase;
}
.team-card__subtitle {
  font-size: calc(15 / var(--scale-vw) * var(--vw, 1vw));
  line-height: 120%;
  letter-spacing: 0.01em;
  font-weight: 500;
  text-transform: uppercase;
}
@media only screen and (min-width: 1921px) {
  .team-card__subtitle {
    font-size: 15px;
  }
}
@media only screen and (max-width: 1440px) {
  .team-card__subtitle {
    font-size: calc(13 / var(--scale-vw) * var(--vw, 1vw));
    letter-spacing: 0.02em;
  }
}
.team-card__title {
  font-size: calc(68 / var(--scale-vw) * var(--vw, 1vw));
  line-height: 105%;
  letter-spacing: -0.02em;
  font-weight: 500;
  text-transform: uppercase;
}
@media only screen and (min-width: 1921px) {
  .team-card__title {
    font-size: 68px;
  }
}
@media only screen and (max-width: 1440px) {
  .team-card__title {
    font-size: calc(60 / var(--scale-vw) * var(--vw, 1vw));
    line-height: 100%;
  }
}
@media only screen and (max-width: 768px) {
  .team-card__title {
    font-size: calc(52 / var(--scale-vw) * var(--vw, 1vw));
  }
}
@media only screen and (max-width: 480px) {
  .team-card__title {
    font-size: calc(40 / var(--scale-vw) * var(--vw, 1vw));
    line-height: 100%;
  }
}
.team-card__body {
  display: flex;
  flex-direction: column;
  gap: 2.4rem;
  background-color: var(--color-primary-contrast);
}
.team-card__content {
  margin-top: auto;
}
.team-card__content p:not([class]) {
  font-size: calc(20 / var(--scale-vw) * var(--vw, 1vw));
  line-height: 140%;
  letter-spacing: -0.01em;
  font-weight: 500;
  font-family: "RobotoFlex", sans-serif;
}
@media only screen and (min-width: 1921px) {
  .team-card__content p:not([class]) {
    font-size: 20px;
  }
}
@media only screen and (max-width: 1440px) {
  .team-card__content p:not([class]) {
    font-size: calc(17 / var(--scale-vw) * var(--vw, 1vw));
  }
}
@media only screen and (max-width: 480px) {
  .team-card__content p:not([class]) {
    font-size: calc(15 / var(--scale-vw) * var(--vw, 1vw));
  }
}
.team-card__icons {
  display: flex;
  flex-wrap: wrap;
  column-gap: 1.6rem;
}
.team-card__icon-box {
  margin: 0.6rem 0;
  display: flex;
  gap: 1.6rem;
  opacity: 0.4;
  align-items: center;
  max-height: 2rem;
}
.team-card__icon-box:not(:last-child)::after {
  content: "";
  display: block;
  height: 12px;
  width: 1px;
  background-color: var(--color-primary);
  flex: none;
}
.team-card__icon {
  display: block;
  width: auto;
  height: 100%;
  object-fit: contain;
  max-width: 7.5rem;
  flex: none;
}
@media only screen and (max-width: 1440px) {
  .team-card__header {
    flex: 0 0 47%;
    height: 56rem;
  }
  .team-card__body {
    gap: 1.6rem;
  }
}
@media only screen and (max-width: 1280px) {
  .team-card {
    gap: 2rem;
  }
  .team-card__header {
    flex: 0 0 35%;
    height: 46rem;
  }
}
@media only screen and (max-width: 768px) {
  .team-card {
    flex-direction: column;
    gap: 4.8rem;
    height: 100%;
  }
  .team-card__header {
    height: 56rem;
    flex: 0 0 auto;
  }
  .team-card__body {
    margin-right: calc(-216 / var(--scale-vw) * var(--vw, 1vw));
    flex-grow: 1;
  }
  .team-card__img {
    --aspect-ratio: auto;
  }
}
@media only screen and (max-width: 480px) {
  .team-card {
    gap: 3.2rem;
  }
  .team-card__header {
    height: auto;
  }
  .team-card__body {
    margin-right: 0;
    gap: 1.2rem;
  }
  .team-card__img {
    height: calc(465 / var(--scale-vw) * var(--vw, 1vw));
  }
}

.team-slider-thumbs {
  position: relative;
}
.team-slider-thumbs__slide {
  padding: 2px;
  height: fit-content;
  position: relative;
  cursor: pointer;
}
.team-slider-thumbs__slide.swiper-slide-thumb-active .team-slider-thumbs__overlay {
  opacity: 0;
}
.team-slider-thumbs__overlay {
  position: absolute;
  top: -1px;
  left: -1px;
  right: -1px;
  bottom: -1px;
  background: var(--color-secondary-60);
  opacity: 1;
  transition: opacity 0.2s ease-in;
}
.team-slider-thumbs__card {
  --aspect-ratio: 150/150;
  --object-fit: cover;
  --object-position: top;
  display: block;
  width: 15rem;
}
.team-slider-thumbs__number {
  font-size: calc(9 / var(--scale-vw) * var(--vw, 1vw));
  line-height: 110%;
  letter-spacing: 0.01em;
  font-weight: 500;
  position: absolute;
  top: 0.4rem;
  left: 0.4rem;
}
@media only screen and (min-width: 1921px) {
  .team-slider-thumbs__number {
    font-size: 15px;
  }
}
@media only screen and (max-width: 1440px) {
  .team-slider-thumbs__number {
    font-size: calc(9 / var(--scale-vw) * var(--vw, 1vw));
  }
}
@media only screen and (max-width: 768px) {
  .team-slider-thumbs__number {
    font-size: calc(9 / var(--scale-vw) * var(--vw, 1vw));
  }
}
@media only screen and (max-width: 480px) {
  .team-slider-thumbs__number {
    font-size: calc(9 / var(--scale-vw) * var(--vw, 1vw));
  }
}
.team-slider-thumbs__name {
  font-size: calc(9 / var(--scale-vw) * var(--vw, 1vw));
  line-height: 110%;
  letter-spacing: 0.01em;
  font-weight: 500;
  text-transform: uppercase;
  position: absolute;
  bottom: 0.4rem;
  left: 0.4rem;
  opacity: 0;
}
@media only screen and (min-width: 1921px) {
  .team-slider-thumbs__name {
    font-size: 15px;
  }
}
@media only screen and (max-width: 1440px) {
  .team-slider-thumbs__name {
    font-size: calc(9 / var(--scale-vw) * var(--vw, 1vw));
  }
}
@media only screen and (max-width: 768px) {
  .team-slider-thumbs__name {
    font-size: calc(9 / var(--scale-vw) * var(--vw, 1vw));
  }
}
@media only screen and (max-width: 480px) {
  .team-slider-thumbs__name {
    font-size: calc(9 / var(--scale-vw) * var(--vw, 1vw));
  }
}
@media (hover: hover), screen and (min-width: 0\0 ) {
  .team-slider-thumbs__slide:hover .team-slider-thumbs__overlay {
    opacity: 0;
  }
  .team-slider-thumbs__slide:hover .team-slider-thumbs__name {
    opacity: 1;
  }
}
@media only screen and (min-width: 1921px) {
  .team-slider-thumbs__card {
    width: 100%;
  }
}
@media only screen and (max-width: 1440px) {
  .team-slider-thumbs__card {
    --aspect-ratio: 108/108;
    width: calc(108 / var(--scale-vw) * var(--vw, 1vw));
  }
}
@media only screen and (min-width: 481px) {
  .team-slider-thumbs__slide {
    width: 100% !important;
  }
}
@media only screen and (max-width: 480px) {
  .team-slider-thumbs__card {
    --aspect-ratio: 108/108;
    width: calc(108 / var(--scale-vw) * var(--vw, 1vw));
    height: calc(calc(108 / var(--scale-vw) * var(--vw, 1vw)) * 1 / 1);
  }
}

.add-section__grid {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
  border-top: 1px solid var(--color-border-primary);
  border-bottom: 1px solid var(--color-border-primary);
  position: relative;
}
.add-section__elem {
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  align-items: flex-start;
  min-height: calc(500 / var(--scale-vw) * var(--vw, 1vw));
  padding: calc(32 / var(--scale-vw) * var(--vw, 1vw)) 0;
  padding-left: 0;
}
.add-section__elem:nth-child(even) {
  padding-left: calc(32 / var(--scale-vw) * var(--vw, 1vw));
}
.add-section__title {
  font-size: calc(32 / var(--scale-vw) * var(--vw, 1vw));
  line-height: 115%;
  letter-spacing: -0.02em;
  font-weight: 500;
  text-transform: uppercase;
  max-width: calc(480 / var(--scale-vw) * var(--vw, 1vw));
}
@media only screen and (min-width: 1921px) {
  .add-section__title {
    font-size: 32px;
  }
}
@media only screen and (max-width: 1440px) {
  .add-section__title {
    font-size: calc(28 / var(--scale-vw) * var(--vw, 1vw));
  }
}
@media only screen and (max-width: 768px) {
  .add-section__title {
    font-size: calc(24 / var(--scale-vw) * var(--vw, 1vw));
  }
}
@media only screen and (max-width: 480px) {
  .add-section__title {
    font-size: calc(17 / var(--scale-vw) * var(--vw, 1vw));
  }
}
.add-section__text {
  font-family: "RobotoFlex", sans-serif;
  font-size: calc(24 / var(--scale-vw) * var(--vw, 1vw));
  line-height: 140%;
  letter-spacing: -0.01em;
  font-weight: 500;
  max-width: calc(480 / var(--scale-vw) * var(--vw, 1vw));
}
@media only screen and (min-width: 1921px) {
  .add-section__text {
    font-size: 24px;
  }
}
@media only screen and (max-width: 1440px) {
  .add-section__text {
    font-size: calc(20 / var(--scale-vw) * var(--vw, 1vw));
    line-height: 130%;
    letter-spacing: -0.03em;
  }
}
@media only screen and (max-width: 768px) {
  .add-section__text {
    font-size: calc(17 / var(--scale-vw) * var(--vw, 1vw));
    line-height: 140%;
    letter-spacing: -0.01em;
  }
}
@media only screen and (max-width: 480px) {
  .add-section__text {
    font-size: calc(15 / var(--scale-vw) * var(--vw, 1vw));
  }
}
.add-section__btn-mobile {
  display: none;
}
@media only screen and (max-width: 768px) {
  .add-section__elem {
    min-height: calc(400 / var(--scale-vw) * var(--vw, 1vw));
    padding: calc(24 / var(--scale-vw) * var(--vw, 1vw)) 0;
  }
  .add-section__elem:nth-child(even) {
    padding-left: calc(24 / var(--scale-vw) * var(--vw, 1vw));
  }
  .add-section__elem:nth-child(odd) {
    padding-right: calc(24 / var(--scale-vw) * var(--vw, 1vw));
  }
  .add-section__elem:not(:first-child) {
    border-top: 1px solid var(--color-primary-contrast);
  }
}
@media only screen and (max-width: 580px) {
  .add-section {
    background-color: var(--color-primary);
    background-image: url("/local/assets/css/../img/bg/dot-grey.svg");
    background-position: center;
    background-size: 8px;
    color: var(--color-primary-contrast);
  }
  .add-section__grid {
    border: none;
    grid-template-columns: 1fr;
    margin-left: calc(var(--main-padding) * -1);
    margin-right: calc(var(--main-padding) * -1);
  }
  .add-section__decor {
    display: none;
  }
  .add-section__elem {
    min-height: calc(270 / var(--scale-vw) * var(--vw, 1vw));
    padding: calc(16 / var(--scale-vw) * var(--vw, 1vw));
  }
  .add-section__elem:nth-child(odd) {
    padding-right: calc(16 / var(--scale-vw) * var(--vw, 1vw));
  }
  .add-section__elem:nth-child(even) {
    padding-left: calc(16 / var(--scale-vw) * var(--vw, 1vw));
  }
  .add-section__btn-mobile {
    display: flex;
  }
  .add-section__btn-deck {
    display: none;
  }
}

.catalog-section__line {
  margin-top: calc(350 / var(--scale-vw) * var(--vw, 1vw));
  margin-bottom: calc(72 / var(--scale-vw) * var(--vw, 1vw));
}
.catalog-section__grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 1px;
  border: 1px dashed var(--color-border-primary);
  border-right: none;
}
.catalog-section__grid:has(:hover) .product::before {
  opacity: 0;
}
.catalog-section__elem {
  background-color: var(--color-primary-contrast);
  border-right: 1px dashed var(--color-border-primary);
}
.catalog-section__elem:nth-child(n+4) {
  border-top: 1px dashed var(--color-border-primary);
}
.catalog-section__elem:nth-child(n+4):not(:nth-child(3n+3))::before {
  content: "";
  display: block;
  position: absolute;
  top: -1px;
  right: -1px;
  transform: translate(50%, -50%);
  width: 10px;
  height: 10px;
  background-image: url("/local/assets/css/../img/bg/connection-2.svg");
  background-repeat: no-repeat;
  background-position: center;
  background-size: 100% 100%;
  background-color: var(--color-primary-contrast);
  z-index: 1;
  transition: opacity 0.3s;
}
.catalog-section__box {
  position: relative;
}
.catalog-section__box:has(:hover) .catalog-section__hover {
  opacity: 1;
}
.catalog-section__hover {
  pointer-events: none;
  position: absolute;
  top: 0;
  left: 0;
  z-index: 1;
  opacity: 0;
  transition: opacity 0.1s;
}
@media only screen and (min-width: 1921px) {
  .catalog-section__line {
    margin-top: 350px;
    margin-bottom: 72px;
  }
}
@media only screen and (max-width: 1440px) {
  .catalog-section__line {
    margin-top: calc(250 / var(--scale-vw) * var(--vw, 1vw));
    margin-bottom: calc(56 / var(--scale-vw) * var(--vw, 1vw));
  }
}
@media only screen and (max-width: 768px) {
  .catalog-section__line {
    margin-top: calc(190 / var(--scale-vw) * var(--vw, 1vw));
    margin-bottom: calc(48 / var(--scale-vw) * var(--vw, 1vw));
  }
  .catalog-section__grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  .catalog-section__elem:nth-child(n+3) {
    border-top: 1px dashed var(--color-border-primary);
  }
  .catalog-section__elem:nth-child(n+4):not(:nth-child(3n+3))::before {
    display: none;
  }
  .catalog-section__elem:nth-child(n+2):nth-child(odd)::before {
    content: "";
    display: block;
    position: absolute;
    top: 0;
    right: 0;
    transform: translate(50%, -50%);
    width: 10px;
    height: 10px;
    background-image: url("/local/assets/css/../img/bg/connection-2.svg");
    background-repeat: no-repeat;
    background-position: center;
    background-size: 100% 100%;
    background-color: var(--color-primary-contrast);
    z-index: 1;
  }
}
@media only screen and (max-width: 480px) {
  .catalog-section__line {
    margin-top: calc(110 / var(--scale-vw) * var(--vw, 1vw));
    margin-bottom: calc(32 / var(--scale-vw) * var(--vw, 1vw));
  }
  .catalog-section__grid {
    grid-template-columns: minmax(0, 1fr);
  }
  .catalog-section__elem:nth-child(n+2) {
    border-top: 1px dashed var(--color-border-primary);
  }
  .catalog-section__elem:nth-child(n+2):nth-child(odd)::before {
    display: none;
  }
}

.clients-section {
  color: var(--color-primary-contrast);
}
.clients-section__list {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  border: 1px dashed var(--color-border-secondary);
  border-right: none;
  counter-reset: client;
}
.clients-section__elem {
  position: relative;
  border-right: 1px dashed var(--color-border-secondary);
}
.clients-section__elem:nth-child(n+5) {
  border-top: 1px dashed var(--color-border-secondary);
}
.clients-section__elem:nth-child(n+5):not(:nth-child(4n+4))::before {
  content: "";
  display: block;
  position: absolute;
  top: -1px;
  right: -1px;
  transform: translate(50%, -50%);
  width: 10px;
  height: 10px;
  background-image: url("/local/assets/css/../img/bg/connection-black.svg");
  background-repeat: no-repeat;
  background-position: center;
  background-size: 100% 100%;
  background-color: var(--color-primary);
  z-index: 1;
}
.clients-section__box {
  position: relative;
}
.clients-section__box:not(:first-child) {
  margin-top: calc(150 / var(--scale-vw) * var(--vw, 1vw));
}
.clients-section__corners {
  position: absolute;
  inset: 0;
  pointer-events: none;
}
.clients-section__corner {
  width: calc(12 / var(--scale-vw) * var(--vw, 1vw));
  height: calc(12 / var(--scale-vw) * var(--vw, 1vw));
  border: 1px solid transparent;
  position: absolute;
}
.clients-section__corner--tl {
  top: 0;
  left: 0;
  border-top-color: var(--color-primary-contrast);
  border-left-color: var(--color-primary-contrast);
}
.clients-section__corner--tr {
  top: 0;
  right: 0;
  border-top-color: var(--color-primary-contrast);
  border-right-color: var(--color-primary-contrast);
}
.clients-section__corner--bl {
  bottom: 0;
  left: 0;
  border-left-color: var(--color-primary-contrast);
  border-bottom-color: var(--color-primary-contrast);
}
.clients-section__corner--br {
  bottom: 0;
  right: 0;
  border-bottom-color: var(--color-primary-contrast);
  border-right-color: var(--color-primary-contrast);
}
@media only screen and (min-width: 1921px) {
  .clients-section__box:not(:first-child) {
    margin-top: 150px;
  }
  .clients-section__corner {
    width: 12px;
    height: 12px;
  }
}
@media only screen and (max-width: 1440px) {
  .clients-section__box:not(:first-child) {
    margin-top: calc(104 / var(--scale-vw) * var(--vw, 1vw));
  }
}
@media only screen and (max-width: 768px) {
  .clients-section__list {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  .clients-section__elem:nth-child(n+3) {
    border-top: 1px dashed var(--color-border-secondary);
  }
  .clients-section__elem:nth-child(n+5):not(:nth-child(4n+4))::before {
    display: none;
  }
  .clients-section__elem:nth-child(n+2):nth-child(odd)::before {
    content: "";
    display: block;
    position: absolute;
    top: -1px;
    right: -1px;
    transform: translate(50%, -50%);
    width: 10px;
    height: 10px;
    background-image: url("/local/assets/css/../img/bg/connection-black.svg");
    background-repeat: no-repeat;
    background-position: center;
    background-size: 100% 100%;
    background-color: var(--color-primary);
    z-index: 1;
    opacity: 1;
    transition: opacity 0.3s;
  }
}
@media only screen and (max-width: 480px) {
  .clients-section__box:not(:first-child) {
    margin-top: calc(56 / var(--scale-vw) * var(--vw, 1vw));
  }
}

.clients-slider {
  overflow: hidden;
  margin-top: 8rem;
}
.clients-slider__btns {
  margin-top: 3.6rem;
  display: flex;
  gap: 2.7rem;
  justify-content: center;
}
.clients-slider__box {
  border-right: 1px dashed var(--color-border-primary);
  border-left: 1px dashed var(--color-border-primary);
  overflow: hidden;
}
.clients-slider__corners {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  position: absolute;
  inset: 0;
  z-index: 3;
  pointer-events: none;
}
.clients-slider__slider {
  position: relative;
}
.clients-slider__slider .swiper-slide {
  margin-bottom: 0.5rem;
  border-bottom: 1px dashed var(--color-border-primary);
  border-top: 1px dashed var(--color-border-primary);
}
.clients-slider__slider .swiper-slide:not(:last-child) {
  border-right: 1px dashed var(--color-border-primary);
}
.clients-slider__slider .corners__elem {
  position: absolute;
  z-index: 2;
}
.clients-slider__slider .corners__elem--cross {
  position: static;
  margin-left: auto;
  margin-right: -0.5rem;
  margin-top: auto;
}
.clients-slider__slider .corners__elem--tl {
  top: 0;
  left: 0;
}
.clients-slider__slider .corners__elem--tr {
  top: 0;
  right: 0;
}
.clients-slider__slider .corners__elem--bl {
  bottom: 0.5rem;
  left: 0;
  box-shadow: -4px 5px 0 4px var(--color-primary-contrast);
}
.clients-slider__slider .corners__elem--br {
  bottom: 0.5rem;
  right: 0;
  box-shadow: 4px 5px 0 4px var(--color-primary-contrast);
}
@media only screen and (max-width: 768px) {
  .clients-slider__corners {
    grid-template-columns: repeat(2, 1fr);
  }
  .clients-slider .corners__elem--cross:not(:first-child) {
    display: none;
  }
}

.corners__elem {
  width: 1.5rem;
  height: 1.5rem;
  background-color: var(--color-primary-contrast);
}
.corners__elem--cross {
  width: 1rem;
  height: 1rem;
  background-color: var(--color-primary-contrast);
  background-image: url("/local/assets/css/../img/bg/connection-2.svg");
  background-repeat: no-repeat;
  background-position: center;
  background-size: 100%;
}
.corners__elem--tl {
  border-top: 1px solid var(--color-primary);
  border-left: 1px solid var(--color-primary);
}
.corners__elem--tr {
  border-top: 1px solid var(--color-primary);
  border-right: 1px solid var(--color-primary);
}
.corners__elem--bl {
  border-bottom: 1px solid var(--color-primary);
  border-left: 1px solid var(--color-primary);
}
.corners__elem--br {
  border-right: 1px solid var(--color-primary);
  border-bottom: 1px solid var(--color-primary);
}

.error-section {
  flex-grow: 1;
  display: flex;
  flex-direction: column;
}
.error-section__line {
  flex-grow: 1;
  display: flex;
}
.error-section__img {
  --aspect-ratio: auto;
  width: calc(310 / var(--scale-vw) * var(--vw, 1vw));
  height: calc(480 / var(--scale-vw) * var(--vw, 1vw));
}
.error-section__info {
  padding: calc(56 / var(--scale-vw) * var(--vw, 1vw)) 0;
  display: flex;
  align-items: center;
  justify-content: space-between;
}
.error-section__content {
  display: flex;
  flex-direction: column;
  gap: 8px;
  max-width: 45%;
}
.error-section__title {
  font-size: calc(32 / var(--scale-vw) * var(--vw, 1vw));
  line-height: 115%;
  letter-spacing: -0.02em;
  font-weight: 500;
  text-transform: uppercase;
}
@media only screen and (min-width: 1921px) {
  .error-section__title {
    font-size: 32px;
  }
}
@media only screen and (max-width: 1440px) {
  .error-section__title {
    font-size: calc(28 / var(--scale-vw) * var(--vw, 1vw));
  }
}
@media only screen and (max-width: 768px) {
  .error-section__title {
    font-size: calc(24 / var(--scale-vw) * var(--vw, 1vw));
  }
}
@media only screen and (max-width: 480px) {
  .error-section__title {
    font-size: calc(17 / var(--scale-vw) * var(--vw, 1vw));
  }
}
.error-section__subtitle {
  font-size: calc(17 / var(--scale-vw) * var(--vw, 1vw));
  line-height: 105%;
  letter-spacing: -0.01em;
  font-weight: 500;
  text-transform: uppercase;
}
@media only screen and (min-width: 1921px) {
  .error-section__subtitle {
    font-size: 17px;
  }
}
@media only screen and (max-width: 1440px) {
  .error-section__subtitle {
    font-size: calc(15 / var(--scale-vw) * var(--vw, 1vw));
  }
}
@media only screen and (max-width: 480px) {
  .error-section__subtitle {
    font-size: calc(13 / var(--scale-vw) * var(--vw, 1vw));
    line-height: 120%;
    letter-spacing: 0.02em;
  }
}
@media only screen and (min-width: 1921px) {
  .error-section__info {
    padding: 56px 0;
  }
}
@media only screen and (max-width: 768px) {
  .error-section__info {
    align-items: flex-end;
    padding: calc(48 / var(--scale-vw) * var(--vw, 1vw)) 0;
  }
}
@media only screen and (max-width: 480px) {
  .error-section__info {
    flex-direction: column;
    align-items: center;
    gap: calc(16 / var(--scale-vw) * var(--vw, 1vw));
    padding: calc(32 / var(--scale-vw) * var(--vw, 1vw)) 0;
  }
  .error-section__content {
    max-width: 100%;
    align-self: flex-start;
  }
  .error-section__img {
    width: calc(205 / var(--scale-vw) * var(--vw, 1vw));
    height: calc(320 / var(--scale-vw) * var(--vw, 1vw));
  }
}

.faq-section__line {
  margin-top: calc(350 / var(--scale-vw) * var(--vw, 1vw));
  margin-bottom: calc(72 / var(--scale-vw) * var(--vw, 1vw));
}
@media only screen and (min-width: 1921px) {
  .faq-section__line {
    margin-top: 350px;
    margin-bottom: 72px;
  }
}
@media only screen and (max-width: 1440px) {
  .faq-section__line {
    margin-top: calc(248 / var(--scale-vw) * var(--vw, 1vw));
    margin-bottom: calc(56 / var(--scale-vw) * var(--vw, 1vw));
  }
}
@media only screen and (max-width: 768px) {
  .faq-section__line {
    margin-top: calc(190 / var(--scale-vw) * var(--vw, 1vw));
    margin-bottom: calc(48 / var(--scale-vw) * var(--vw, 1vw));
  }
}
@media only screen and (max-width: 480px) {
  .faq-section__line {
    margin-top: calc(110 / var(--scale-vw) * var(--vw, 1vw));
    margin-bottom: calc(32 / var(--scale-vw) * var(--vw, 1vw));
  }
}

.form-section--submitted .form-section__core {
  display: flex;
  justify-content: center;
  align-items: center;
  margin-block-start: 0;
}
.form-section__wrapper {
  border-top: 1px solid var(--color-border-primary);
  padding-top: calc(32 / var(--scale-vw) * var(--vw, 1vw));
  padding-bottom: calc(200 / var(--scale-vw) * var(--vw, 1vw));
}
.form-section__core {
  position: relative;
  isolation: isolate;
  display: grid;
  grid-template-columns: 1fr 2fr;
  column-gap: calc(32 / var(--scale-vw) * var(--vw, 1vw));
  margin-block-start: calc(150 / var(--scale-vw) * var(--vw, 1vw));
}
.form-section__connect-block {
  position: sticky;
  top: calc(var(--height-header) + calc(24 / var(--scale-vw) * var(--vw, 1vw)));
  max-height: max-content;
}
.form-section__form {
  justify-self: end;
  width: 100%;
  max-width: calc(1176 / var(--scale-vw) * var(--vw, 1vw));
}
.form-section__result {
  width: 100%;
}
@media only screen and (min-width: 1921px) {
  .form-section__core {
    grid-template-columns: 500px 1fr;
    margin-block-start: 150px;
  }
  .form-section__connect-block {
    top: calc(var(--height-header) + 24px);
  }
  .form-section__form {
    max-width: 1176px;
  }
  .form-section__wrapper {
    padding-top: 32px;
    padding-bottom: 200px;
  }
}
@media only screen and (max-width: 1920px) {
  .form-section__form {
    max-width: calc(856 / var(--scale-vw) * var(--vw, 1vw));
  }
}
@media only screen and (max-width: 1440px) {
  .form-section__wrapper {
    padding-top: calc(24 / var(--scale-vw) * var(--vw, 1vw));
    padding-bottom: calc(144 / var(--scale-vw) * var(--vw, 1vw));
  }
  .form-section__core {
    margin-block-start: calc(72 / var(--scale-vw) * var(--vw, 1vw));
  }
  .form-section__connect-block {
    position: static;
  }
  .form-section__form {
    max-width: calc(648 / var(--scale-vw) * var(--vw, 1vw));
  }
}
@media only screen and (max-width: 1280px) {
  .form-section__core {
    display: flex;
    flex-direction: column;
    row-gap: calc(112 / var(--scale-vw) * var(--vw, 1vw));
  }
  .form-section__form {
    max-width: 100%;
  }
}
@media only screen and (max-width: 580px) {
  .form-section__result {
    margin-top: 8.8rem;
  }
  .form-section__core {
    row-gap: calc(88 / var(--scale-vw) * var(--vw, 1vw));
    margin-block-start: calc(56 / var(--scale-vw) * var(--vw, 1vw));
  }
  .form-section__box-form {
    min-height: calc(535 / var(--scale-vw) * var(--vw, 1vw));
  }
}
@media only screen and (max-width: 768px) {
  .form-section__wrapper {
    padding-bottom: calc(112 / var(--scale-vw) * var(--vw, 1vw));
  }
}

.frameworks-section {
  overflow: hidden;
}
.frameworks-section__grid {
  display: grid;
  margin-top: calc(180 / var(--scale-vw) * var(--vw, 1vw));
}
.frameworks-section__desktop {
  display: none;
}
.frameworks-section__name {
  font-size: calc(17 / var(--scale-vw) * var(--vw, 1vw));
  line-height: 105%;
  letter-spacing: -0.01em;
  font-weight: 500;
  text-transform: uppercase;
}
@media only screen and (min-width: 1921px) {
  .frameworks-section__name {
    font-size: 17px;
  }
}
@media only screen and (max-width: 1440px) {
  .frameworks-section__name {
    font-size: calc(15 / var(--scale-vw) * var(--vw, 1vw));
  }
}
@media only screen and (max-width: 480px) {
  .frameworks-section__name {
    font-size: calc(13 / var(--scale-vw) * var(--vw, 1vw));
    line-height: 120%;
    letter-spacing: 0.02em;
  }
}
.frameworks-section__middle-box {
  width: calc(1300 / var(--scale-vw) * var(--vw, 1vw));
}
.frameworks-section__small-box {
  width: calc(900 / var(--scale-vw) * var(--vw, 1vw));
}
.frameworks-section__info {
  width: calc(750 / var(--scale-vw) * var(--vw, 1vw));
}
@media only screen and (min-width: 769px) {
  .frameworks-section__grid {
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
  }
  .frameworks-section__box {
    position: relative;
    aspect-ratio: 1;
    z-index: 1;
  }
  .frameworks-section__box--middle {
    animation: 90s linear infinite rotate;
  }
  .frameworks-section__box--small {
    animation: 90s linear infinite rotate;
    animation-direction: reverse;
  }
  .frameworks-section__middle-box {
    grid-column: 1/-1;
    grid-row: 1;
    position: relative;
    margin: 0 auto;
    aspect-ratio: 1;
  }
  .frameworks-section__middle-content {
    position: relative;
    aspect-ratio: 1;
    border-radius: 50%;
    border: 2px dashed var(--color-primary);
  }
  .frameworks-section__middle-content::before {
    content: "";
    position: absolute;
    top: -3px;
    left: -3px;
    right: -3px;
    bottom: 15%;
    background: linear-gradient(142deg, var(--color-primary-contrast) 0%, var(--color-transparent) 28%);
    box-shadow: inset calc(180 / var(--scale-vw) * var(--vw, 1vw)) calc(180 / var(--scale-vw) * var(--vw, 1vw)) 170px 0 var(--color-secondary-80);
    z-index: 1;
  }
  .frameworks-section__middle-content::after {
    content: "";
    position: absolute;
    z-index: -1;
    top: -1px;
    left: -1px;
    right: -1px;
    bottom: -1px;
    border-radius: 50%;
    background: radial-gradient(circle, var(--color-transparent) 0%, var(--color-primary-contrast) 75%), url("/local/assets/css/../img/bg/dot-white.svg") repeat center/8px, var(--color-primary-contrast);
  }
  .frameworks-section__middle-el-1 {
    position: absolute;
    left: -5%;
    top: 50%;
    z-index: 1;
    animation: 90s linear infinite rotate;
    animation-direction: reverse;
  }
  .frameworks-section__middle-el-3 {
    position: absolute;
    left: 50%;
    bottom: -5%;
    z-index: 1;
    animation: 90s linear infinite rotate;
    animation-direction: reverse;
  }
  .frameworks-section__middle-el-2 {
    position: absolute;
    right: 5%;
    top: 15%;
    animation: 90s linear infinite rotate;
    animation-direction: reverse;
    z-index: 1;
  }
  .frameworks-section__middle-el-4 {
    position: absolute;
    right: 50%;
    top: -5%;
    animation: 90s linear infinite rotate;
    animation-direction: reverse;
    z-index: 1;
  }
  .frameworks-section__small-box {
    position: relative;
    grid-column: 1/-1;
    grid-row: 1;
    aspect-ratio: 1;
    margin: auto;
    z-index: 1;
  }
  .frameworks-section__small-content {
    aspect-ratio: 1;
    border: 2px solid var(--color-border-primary);
    border-radius: 50%;
    background-color: var(--color-primary-contrast);
    position: relative;
  }
  .frameworks-section__small-content::before {
    content: "";
    position: absolute;
    top: -3px;
    left: -3px;
    right: -3px;
    bottom: 0;
    background: linear-gradient(-142deg, var(--color-primary-contrast) 0%, var(--color-transparent) 100%);
    z-index: 1;
    border-radius: 50%;
  }
  .frameworks-section__small-el-1 {
    position: absolute;
    top: 8%;
    left: 8%;
    animation: 90s linear infinite rotate;
    z-index: 1;
  }
  .frameworks-section__small-el-2 {
    position: absolute;
    bottom: 8%;
    right: 8%;
    animation: 90s linear infinite rotate;
    z-index: 1;
  }
  .frameworks-section__small-el-3 {
    position: absolute;
    bottom: 8%;
    left: 8%;
    animation: 90s linear infinite rotate;
    z-index: 1;
  }
  .frameworks-section__small-el-4 {
    position: absolute;
    top: 8%;
    right: 8%;
    animation: 90s linear infinite rotate;
    z-index: 1;
  }
  .frameworks-section__big-box {
    grid-column: 1;
    grid-row: 1/-1;
    align-self: flex-end;
    width: fit-content;
  }
  .frameworks-section__big-content {
    display: flex;
    align-items: flex-end;
  }
  .frameworks-section__name--border {
    padding-bottom: calc(12 / var(--scale-vw) * var(--vw, 1vw));
    border-bottom: 2px dashed var(--color-primary);
  }
  .frameworks-section__name--border-solid {
    padding-bottom: calc(12 / var(--scale-vw) * var(--vw, 1vw));
    border-bottom: 2px solid var(--color-primary);
  }
  .frameworks-section__name--mobile {
    display: none;
  }
  .frameworks-section__decor {
    display: block;
    position: relative;
  }
  .frameworks-section__decor::before {
    content: "";
    position: absolute;
    bottom: 100%;
    left: 0;
    width: calc(280 / var(--scale-vw) * var(--vw, 1vw));
    height: calc(210 / var(--scale-vw) * var(--vw, 1vw));
    background-image: url("/local/assets/css/../img/bg/frameworks-decor.svg");
    background-repeat: no-repeat;
    background-position: center;
    background-size: 100% 100%;
    z-index: -1;
  }
  .frameworks-section__decor-text {
    padding: calc(12 / var(--scale-vw) * var(--vw, 1vw)) calc(4 / var(--scale-vw) * var(--vw, 1vw));
    margin-bottom: calc(20 / var(--scale-vw) * var(--vw, 1vw));
  }
  .frameworks-section__wrapper {
    position: relative;
  }
  .frameworks-section__desktop {
    position: absolute;
    top: 0;
    right: 0;
    min-width: calc(160 / var(--scale-vw) * var(--vw, 1vw));
    display: flex;
    flex-direction: column;
    gap: calc(32 / var(--scale-vw) * var(--vw, 1vw));
  }
  .frameworks-section__info {
    position: relative;
    z-index: 1;
    grid-column: 1/-1;
    grid-row: 1;
    border-radius: 50%;
    aspect-ratio: 1;
    margin: auto;
  }
}
@media only screen and (min-width: 769px) and (hover: hover), only screen and (min-width: 769px) and (min-width: 0\0 ) {
  .frameworks-section__element:hover .frameworks-section__box {
    animation-play-state: paused;
  }
  .frameworks-section__element:hover {
    /* stylelint-disable-next-line max-nesting-depth */
  }
  .frameworks-section__element:hover [class*=frameworks-section__middle-el],
  .frameworks-section__element:hover [class*=frameworks-section__small-el] {
    animation-play-state: paused;
  }
}
@media only screen and (min-width: 1921px) {
  .frameworks-section__middle-content::after {
    background: radial-gradient(circle, rgba(8, 8, 8, 0) 0%, rgb(8, 8, 8) 75%), url("/local/assets/css/../img/bg/dot-white.svg") repeat center/14px, var(--color-primary-contrast);
  }
}
@media only screen and (max-width: 1440px) {
  .frameworks-section__grid {
    margin-top: calc(104 / var(--scale-vw) * var(--vw, 1vw));
  }
  .frameworks-section__middle-box {
    width: calc(1080 / var(--scale-vw) * var(--vw, 1vw));
  }
  .frameworks-section__small-box {
    width: calc(720 / var(--scale-vw) * var(--vw, 1vw));
  }
  .frameworks-section__info {
    width: calc(520 / var(--scale-vw) * var(--vw, 1vw));
  }
}
@media only screen and (max-width: 1280px) {
  .frameworks-section__middle-box {
    width: calc(900 / var(--scale-vw) * var(--vw, 1vw));
  }
  .frameworks-section__small-box {
    width: calc(650 / var(--scale-vw) * var(--vw, 1vw));
  }
  .frameworks-section__info {
    width: calc(550 / var(--scale-vw) * var(--vw, 1vw));
  }
}
@media only screen and (max-width: 768px) {
  .frameworks-section__grid {
    margin-top: calc(188 / var(--scale-vw) * var(--vw, 1vw));
    grid-template-columns: minmax(0, 1fr);
  }
  .frameworks-section__info {
    grid-row: 1;
    margin-bottom: calc(32 / var(--scale-vw) * var(--vw, 1vw));
    width: auto;
  }
  .frameworks-section__element-content {
    display: grid;
    grid-template-columns: minmax(0, 1.55fr) minmax(0, 5fr);
    flex-direction: row-reverse;
    justify-content: flex-end;
    align-items: end;
    gap: calc(24 / var(--scale-vw) * var(--vw, 1vw));
  }
  .frameworks-section__element {
    padding-top: calc(24 / var(--scale-vw) * var(--vw, 1vw));
    border-top: 1px dashed var(--color-border-primary);
  }
  .frameworks-section__element:not(:last-child) {
    padding-bottom: calc(24 / var(--scale-vw) * var(--vw, 1vw));
  }
  .frameworks-section__box {
    display: flex;
    flex-wrap: wrap;
    gap: calc(24 / var(--scale-vw) * var(--vw, 1vw));
    flex-grow: 1;
    grid-column: 2;
  }
  .frameworks-section__middle-box, .frameworks-section__small-box {
    width: auto;
  }
  .frameworks-section__name--mobile, .frameworks-section__decor {
    max-width: calc(152 / var(--scale-vw) * var(--vw, 1vw));
    grid-row: 1;
    grid-column: 1;
  }
}
@media only screen and (max-width: 480px) {
  .frameworks-section {
    overflow: visible;
  }
  .frameworks-section__grid {
    margin-top: calc(56 / var(--scale-vw) * var(--vw, 1vw));
  }
  .frameworks-section__element-content {
    flex-direction: column-reverse;
    justify-content: flex-end;
    align-items: start;
    gap: 0;
  }
  .frameworks-section__element {
    padding-top: calc(16 / var(--scale-vw) * var(--vw, 1vw));
  }
  .frameworks-section__element:not(:last-child) {
    padding-bottom: calc(16 / var(--scale-vw) * var(--vw, 1vw));
  }
  .frameworks-section__box {
    grid-row: 2;
    grid-column: 1/-1;
    gap: calc(16 / var(--scale-vw) * var(--vw, 1vw));
  }
  .frameworks-section__name--mobile, .frameworks-section__decor {
    grid-column: 1/-1;
    margin-bottom: calc(48 / var(--scale-vw) * var(--vw, 1vw));
  }
}

.functional__article p:not([class]) {
  font-family: "RobotoFlex", sans-serif;
  font-size: calc(24 / var(--scale-vw) * var(--vw, 1vw));
  line-height: 140%;
  letter-spacing: -0.01em;
  font-weight: 500;
  font-weight: 400;
  max-width: calc(720 / var(--scale-vw) * var(--vw, 1vw));
}
@media only screen and (min-width: 1921px) {
  .functional__article p:not([class]) {
    font-size: 24px;
  }
}
@media only screen and (max-width: 1440px) {
  .functional__article p:not([class]) {
    font-size: calc(20 / var(--scale-vw) * var(--vw, 1vw));
    line-height: 130%;
    letter-spacing: -0.03em;
  }
}
@media only screen and (max-width: 768px) {
  .functional__article p:not([class]) {
    font-size: calc(17 / var(--scale-vw) * var(--vw, 1vw));
    line-height: 140%;
    letter-spacing: -0.01em;
  }
}
@media only screen and (max-width: 480px) {
  .functional__article p:not([class]) {
    font-size: calc(15 / var(--scale-vw) * var(--vw, 1vw));
  }
}
@media only screen and (min-width: 1921px) {
  .functional__article p:not([class]) {
    max-width: 720px;
  }
}
@media only screen and (max-width: 1440px) {
  .functional__article p:not([class]) {
    max-width: calc(600 / var(--scale-vw) * var(--vw, 1vw));
  }
}
@media only screen and (max-width: 768px) {
  .functional__article {
    margin-top: calc(112 / var(--scale-vw) * var(--vw, 1vw));
  }
  .functional__article p:not([class]) {
    max-width: calc(540 / var(--scale-vw) * var(--vw, 1vw));
  }
}
@media only screen and (max-width: 480px) {
  .functional__article {
    margin-top: calc(88 / var(--scale-vw) * var(--vw, 1vw));
  }
}

.grid-section__grid {
  display: grid;
  grid-template-columns: repeat(12, minmax(0, 1fr));
}
.grid-section__left {
  grid-column: 1/3;
}
.grid-section__right {
  grid-column: 7/-1;
}
.grid-section__center {
  grid-column: 1/-1;
}
@media only screen and (max-width: 960px) {
  .grid-section__left {
    grid-column: 1/-1;
  }
  .grid-section__right {
    grid-column: 1/-1;
  }
}

.logo-section {
  min-height: calc(100vh - var(--header-height) - 52px);
  display: flex;
  padding-bottom: calc(32 / var(--scale-vw) * var(--vw, 1vw));
}
.logo-section__wrapper {
  height: auto;
  justify-content: flex-start;
  display: flex;
  flex-direction: column-reverse;
}
.logo-section__grid {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
}
.logo-section__content {
  display: flex;
  flex-direction: column;
  gap: 1.6rem;
  width: fit-content;
  background: var(--color-secondary-80);
  box-shadow: 0 0 100px 45px var(--color-primary-contrast);
}
.logo-section__title {
  font-size: calc(48 / var(--scale-vw) * var(--vw, 1vw));
  line-height: 105%;
  letter-spacing: -0.02em;
  font-weight: 500;
  text-transform: uppercase;
}
@media only screen and (min-width: 1921px) {
  .logo-section__title {
    font-size: 48px;
  }
}
@media only screen and (max-width: 1440px) {
  .logo-section__title {
    font-size: calc(40 / var(--scale-vw) * var(--vw, 1vw));
    line-height: 115%;
  }
}
@media only screen and (max-width: 768px) {
  .logo-section__title {
    font-size: calc(36 / var(--scale-vw) * var(--vw, 1vw));
  }
}
@media only screen and (max-width: 480px) {
  .logo-section__title {
    font-size: calc(28 / var(--scale-vw) * var(--vw, 1vw));
  }
}
.logo-section__name {
  font-size: calc(17 / var(--scale-vw) * var(--vw, 1vw));
  line-height: 105%;
  letter-spacing: -0.01em;
  font-weight: 500;
  text-transform: uppercase;
}
@media only screen and (min-width: 1921px) {
  .logo-section__name {
    font-size: 17px;
  }
}
@media only screen and (max-width: 1440px) {
  .logo-section__name {
    font-size: calc(15 / var(--scale-vw) * var(--vw, 1vw));
  }
}
@media only screen and (max-width: 480px) {
  .logo-section__name {
    font-size: calc(13 / var(--scale-vw) * var(--vw, 1vw));
    line-height: 120%;
    letter-spacing: 0.02em;
  }
}
.logo-section__switch {
  width: 28px;
  height: 16px;
  border-radius: 270px;
  background-color: var(--color-primary-contrast-900);
}
.logo-section__switch-decor {
  width: 14px;
  height: 14px;
  border-radius: 50%;
  background-color: var(--color-green);
  padding: 2px;
  display: flex;
  align-items: center;
  justify-content: center;
  margin: 1px;
  margin-left: auto;
}
.logo-section__box {
  display: flex;
  gap: 8px;
  align-items: center;
}
.logo-section__picture {
  flex-grow: 1;
  display: flex;
  align-items: center;
  justify-content: center;
  overflow: hidden;
}
.logo-section__video {
  width: calc(1220 / var(--scale-vw) * var(--vw, 1vw));
  height: calc(764 / var(--scale-vw) * var(--vw, 1vw));
  margin: 0 auto;
  mix-blend-mode: lighten;
  background-blend-mode: lighten;
  transform: rotate(-8deg);
}
.logo-section__btn {
  display: none;
}
@media only screen and (min-width: 1921px) {
  .logo-section {
    padding-bottom: 32px;
  }
  .logo-section__video {
    width: 1220px;
    height: 764px;
  }
}
@media only screen and (max-width: 1440px) {
  .logo-section {
    padding-bottom: calc(24 / var(--scale-vw) * var(--vw, 1vw));
  }
  .logo-section__video {
    width: calc(960 / var(--scale-vw) * var(--vw, 1vw));
    height: calc(600 / var(--scale-vw) * var(--vw, 1vw));
  }
}
@media only screen and (max-width: 768px) {
  .logo-section {
    padding-bottom: 0;
  }
  .logo-section__wrapper {
    flex-direction: column;
    background-color: var(--color-primary-contrast);
  }
  .logo-section__grid {
    grid-template-columns: minmax(0, 1fr);
  }
  .logo-section__content {
    padding: calc(48 / var(--scale-vw) * var(--vw, 1vw)) 0;
  }
  .logo-section__video {
    width: 100%;
    height: 100%;
    max-height: calc(320 / var(--scale-vw) * var(--vw, 1vw));
    object-fit: cover;
  }
}
@media only screen and (max-width: 480px) {
  .logo-section {
    min-height: calc(100vh - var(--header-height) - calc(60 / var(--scale-vw) * var(--vw, 1vw)));
  }
  .logo-section__btn {
    display: flex;
    justify-content: center;
    padding: 24px 0;
  }
  .logo-section__content {
    padding: calc(32 / var(--scale-vw) * var(--vw, 1vw)) 0;
    gap: 0;
  }
  .logo-section__box:not(:last-child) {
    margin-bottom: calc(12 / var(--scale-vw) * var(--vw, 1vw));
  }
}

@media only screen and (max-width: 480px) {
  .ios .logo-section {
    min-height: calc(100vh - var(--header-height) - calc(100 / var(--scale-vw) * var(--vw, 1vw)));
  }
}

.name-product {
  min-height: calc(100vh - var(--header-height));
  display: flex;
}
.page-product--new .name-product .name-product__top {
  display: none;
}
.name-product__wrapper {
  display: flex;
  flex-direction: column;
}
.name-product__grid {
  display: grid;
  grid-template-columns: repeat(12, minmax(0, 1fr));
  grid-template-rows: auto min-content;
  flex-grow: 1;
}
.name-product__center {
  grid-column: 3/11;
  grid-row: 1;
  text-align: center;
  display: flex;
  flex-direction: column;
  justify-content: center;
  height: 100%;
}
.name-product__top {
  font-size: calc(15 / var(--scale-vw) * var(--vw, 1vw));
  line-height: 120%;
  letter-spacing: 0.01em;
  font-weight: 500;
  display: contents;
  justify-content: space-between;
  align-items: center;
  text-transform: uppercase;
}
@media only screen and (min-width: 1921px) {
  .name-product__top {
    font-size: 15px;
  }
}
@media only screen and (max-width: 1440px) {
  .name-product__top {
    font-size: calc(13 / var(--scale-vw) * var(--vw, 1vw));
    letter-spacing: 0.02em;
  }
}
.name-product__top-1 {
  display: flex;
  align-items: center;
  grid-column: 1/3;
  grid-row: 1;
}
.name-product__top-2 {
  display: flex;
  align-items: center;
  grid-column: 11/-1;
  grid-row: 1;
  justify-content: flex-end;
}
.name-product__shadow {
  box-shadow: 0 0 100px 45px var(--color-primary-contrast);
  background: var(--color-secondary-80);
}
.name-product__bottom {
  font-size: calc(15 / var(--scale-vw) * var(--vw, 1vw));
  line-height: 120%;
  letter-spacing: 0.01em;
  font-weight: 500;
  grid-column: 1/-1;
  padding: calc(32 / var(--scale-vw) * var(--vw, 1vw)) 0;
  display: flex;
  align-items: center;
  flex-direction: column;
  gap: calc(24 / var(--scale-vw) * var(--vw, 1vw));
  text-transform: uppercase;
}
@media only screen and (min-width: 1921px) {
  .name-product__bottom {
    font-size: 15px;
  }
}
@media only screen and (max-width: 1440px) {
  .name-product__bottom {
    font-size: calc(13 / var(--scale-vw) * var(--vw, 1vw));
    letter-spacing: 0.02em;
  }
}
.name-product__content {
  display: flex;
  gap: calc(24 / var(--scale-vw) * var(--vw, 1vw));
  flex-direction: column;
  justify-content: center;
  align-items: center;
}
.name-product__title {
  font-size: calc(200 / var(--scale-vw) * var(--vw, 1vw));
  line-height: 92%;
  letter-spacing: -0.05em;
  font-weight: 500;
  text-transform: uppercase;
  align-items: center;
}
@media only screen and (min-width: 1921px) {
  .name-product__title {
    font-size: 200px;
  }
}
@media only screen and (max-width: 1440px) {
  .name-product__title {
    font-size: calc(152 / var(--scale-vw) * var(--vw, 1vw));
  }
}
@media only screen and (max-width: 768px) {
  .name-product__title {
    font-size: calc(108 / var(--scale-vw) * var(--vw, 1vw));
    letter-spacing: -0.04em;
  }
}
@media only screen and (max-width: 480px) {
  .name-product__title {
    font-size: calc(58 / var(--scale-vw) * var(--vw, 1vw));
  }
}
.name-product__subtitle {
  font-size: calc(32 / var(--scale-vw) * var(--vw, 1vw));
  line-height: 115%;
  letter-spacing: -0.02em;
  font-weight: 500;
  text-transform: uppercase;
  max-width: 72rem;
}
@media only screen and (min-width: 1921px) {
  .name-product__subtitle {
    font-size: 32px;
  }
}
@media only screen and (max-width: 1440px) {
  .name-product__subtitle {
    font-size: calc(28 / var(--scale-vw) * var(--vw, 1vw));
  }
}
@media only screen and (max-width: 768px) {
  .name-product__subtitle {
    font-size: calc(24 / var(--scale-vw) * var(--vw, 1vw));
  }
}
@media only screen and (max-width: 480px) {
  .name-product__subtitle {
    font-size: calc(17 / var(--scale-vw) * var(--vw, 1vw));
  }
}
.name-product__icon {
  font-size: calc(15 / var(--scale-vw) * var(--vw, 1vw));
  line-height: 120%;
  letter-spacing: 0.01em;
  font-weight: 500;
  flex-grow: 1;
  display: flex;
  align-items: center;
  justify-content: center;
}
@media only screen and (min-width: 1921px) {
  .name-product__icon {
    font-size: 15px;
  }
}
@media only screen and (max-width: 1440px) {
  .name-product__icon {
    font-size: calc(13 / var(--scale-vw) * var(--vw, 1vw));
    letter-spacing: 0.02em;
  }
}
.name-product__mobile {
  display: none;
}
.name-product__list {
  flex-wrap: nowrap;
  position: relative;
  width: 100%;
}
.name-product__list .stack__list {
  flex-wrap: nowrap;
}
.name-product__list::before, .name-product__list::after {
  content: "";
  position: absolute;
  top: 0;
  bottom: 0;
  width: 15rem;
  background-repeat: no-repeat;
  z-index: 2;
}
.name-product__list::before {
  background-image: linear-gradient(90deg, rgb(8, 8, 8) 0%, rgba(8, 8, 8, 0.4) 100%);
  left: 0;
}
.name-product__list::after {
  right: 0;
  background-image: linear-gradient(280deg, rgb(8, 8, 8) 0%, rgba(8, 8, 8, 0.4) 100%);
}
@media only screen and (min-width: 1921px) {
  .name-product__bottom {
    padding: 32px 0;
    gap: 24px;
  }
  .name-product__content {
    gap: 24px;
  }
}
@media only screen and (max-width: 1440px) {
  .name-product__bottom {
    padding: calc(24 / var(--scale-vw) * var(--vw, 1vw)) 0;
    gap: calc(16 / var(--scale-vw) * var(--vw, 1vw));
  }
  .name-product__content {
    gap: calc(16 / var(--scale-vw) * var(--vw, 1vw));
  }
}
@media only screen and (max-width: 768px) {
  .name-product__grid {
    grid-template-rows: min-content auto min-content;
  }
  .page-product--new .name-product__grid {
    display: flex;
    flex-direction: column;
  }
  .name-product__top {
    grid-column: 1/-1;
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: calc(24 / var(--scale-vw) * var(--vw, 1vw)) 0;
    position: relative;
  }
  .name-product__top::before {
    font-size: calc(15 / var(--scale-vw) * var(--vw, 1vw));
    line-height: 120%;
    letter-spacing: 0.01em;
    font-weight: 500;
    content: "&";
    color: var(--color-secondary);
    text-transform: uppercase;
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
  }
}
@media only screen and (max-width: 768px) and (min-width: 1921px) {
  .name-product__top::before {
    font-size: 15px;
  }
}
@media only screen and (max-width: 768px) and (max-width: 1440px) {
  .name-product__top::before {
    font-size: calc(13 / var(--scale-vw) * var(--vw, 1vw));
    letter-spacing: 0.02em;
  }
}
@media only screen and (max-width: 768px) {
  .name-product__center {
    grid-row: auto;
    grid-column: 1/-1;
  }
  .name-product__icon:first-child {
    display: none;
  }
  .name-product__content {
    margin-top: calc(104 / var(--scale-vw) * var(--vw, 1vw));
  }
  .name-product__list::before, .name-product__list::after {
    width: 5rem;
  }
  .name-product__list::before {
    left: calc(var(--main-padding) * -1);
  }
  .name-product__list::after {
    right: calc(var(--main-padding) * -1);
  }
}
@media only screen and (max-width: 480px) {
  .name-product {
    min-height: calc(100vh - var(--header-height) - calc(60 / var(--scale-vw) * var(--vw, 1vw)));
  }
  .name-product__top {
    padding: calc(16 / var(--scale-vw) * var(--vw, 1vw)) 0;
  }
  .name-product__bottom {
    padding: calc(16 / var(--scale-vw) * var(--vw, 1vw)) 0;
  }
  .name-product__content {
    margin-top: calc(63 / var(--scale-vw) * var(--vw, 1vw));
  }
  .name-product__mobile {
    display: flex;
    justify-content: center;
    padding: calc(24 / var(--scale-vw) * var(--vw, 1vw)) 0;
  }
}

@media only screen and (max-width: 480px) {
  .ios .name-product {
    min-height: calc(100vh - var(--header-height) - calc(100 / var(--scale-vw) * var(--vw, 1vw)));
  }
}

.project-section__line {
  margin-top: calc(350 / var(--scale-vw) * var(--vw, 1vw));
  margin-bottom: calc(72 / var(--scale-vw) * var(--vw, 1vw));
}
.project-section__grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 1px;
  border: 1px dashed var(--color-border-primary);
  border-right: none;
}
.project-section__grid:has(:hover) .project::before {
  opacity: 0;
}
.project-section__elem {
  border-right: 1px dashed var(--color-border-primary);
}
.project-section__elem:nth-child(n+3) {
  border-top: 1px dashed var(--color-border-primary);
}
.project-section__elem.project--stub:nth-child(3), .project-section__elem.project--stub:nth-child(5), .project-section__elem.project--stub:nth-child(7) {
  grid-column: 1/-1;
}
.project-section__box {
  position: relative;
}
.project-section__box:has(:hover) .project-section__hover {
  opacity: 1;
}
.project-section__hover {
  pointer-events: none;
  position: absolute;
  top: 0;
  left: 0;
  z-index: 1;
  opacity: 0;
  transition: opacity 0.1s;
}
@media only screen and (min-width: 1921px) {
  .project-section__line {
    margin-top: 350px;
    margin-bottom: 72px;
  }
}
@media only screen and (max-width: 1440px) {
  .project-section__line {
    margin-top: calc(248 / var(--scale-vw) * var(--vw, 1vw));
    margin-bottom: calc(56 / var(--scale-vw) * var(--vw, 1vw));
  }
}
@media only screen and (max-width: 960px) {
  .project-section__hover {
    display: none;
  }
}
@media only screen and (max-width: 768px) {
  .project-section__line {
    margin-top: calc(190 / var(--scale-vw) * var(--vw, 1vw));
    margin-bottom: calc(48 / var(--scale-vw) * var(--vw, 1vw));
  }
  .project-section__grid {
    grid-template-columns: minmax(0, 1fr);
  }
  .project-section__elem:nth-child(n+2) {
    border-top: 1px dashed var(--color-border-primary);
  }
  .project-section__elem:nth-child(n+2):nth-child(odd)::before {
    display: none;
  }
}
@media only screen and (max-width: 480px) {
  .project-section__line {
    margin-top: calc(110 / var(--scale-vw) * var(--vw, 1vw));
    margin-bottom: calc(32 / var(--scale-vw) * var(--vw, 1vw));
  }
  .project-section__grid {
    grid-template-columns: minmax(0, 1fr);
  }
  .project-section__elem:nth-child(n+2) {
    border-top: 1px dashed var(--color-border-primary);
  }
  .project-section__elem:nth-child(n+2):nth-child(odd)::before {
    display: none;
  }
}

.reviews-section {
  padding-top: var(--py-section);
  color: var(--color-primary-contrast);
  overflow: hidden;
}
.reviews-section__title {
  font-size: calc(68 / var(--scale-vw) * var(--vw, 1vw));
  line-height: 105%;
  letter-spacing: -0.02em;
  font-weight: 500;
  text-transform: uppercase;
}
@media only screen and (min-width: 1921px) {
  .reviews-section__title {
    font-size: 68px;
  }
}
@media only screen and (max-width: 1440px) {
  .reviews-section__title {
    font-size: calc(60 / var(--scale-vw) * var(--vw, 1vw));
    line-height: 100%;
  }
}
@media only screen and (max-width: 768px) {
  .reviews-section__title {
    font-size: calc(52 / var(--scale-vw) * var(--vw, 1vw));
  }
}
@media only screen and (max-width: 480px) {
  .reviews-section__title {
    font-size: calc(40 / var(--scale-vw) * var(--vw, 1vw));
    line-height: 100%;
  }
}
.reviews-section__title:not(:last-child) {
  margin-bottom: var(--py-section);
}
.reviews-section__slider {
  padding: calc(200 / var(--scale-vw) * var(--vw, 1vw)) 0;
}
@media only screen and (min-width: 1921px) {
  .reviews-section__slider {
    padding: 200px 0;
  }
}
@media only screen and (max-width: 1440px) {
  .reviews-section__slider {
    padding: calc(144 / var(--scale-vw) * var(--vw, 1vw)) 0;
  }
}
@media only screen and (max-width: 960px) {
  .reviews-section__slider {
    padding: calc(112 / var(--scale-vw) * var(--vw, 1vw)) 0;
    margin-left: calc(var(--main-padding) * -1);
    margin-right: calc(var(--main-padding) * -1);
  }
  .reviews-section__head {
    text-align: center;
    display: flex;
    flex-direction: column;
    align-items: center;
    max-width: calc(540 / var(--scale-vw) * var(--vw, 1vw));
    margin: calc(72 / var(--scale-vw) * var(--vw, 1vw)) auto 0;
  }
}
@media only screen and (max-width: 768px) {
  .reviews-section__head {
    max-width: calc(440 / var(--scale-vw) * var(--vw, 1vw));
  }
}
@media only screen and (max-width: 480px) {
  .reviews-section__slider {
    padding: calc(88 / var(--scale-vw) * var(--vw, 1vw)) 0;
  }
  .reviews-section__head {
    margin-top: calc(56 / var(--scale-vw) * var(--vw, 1vw));
  }
}

.slogan-section {
  min-height: calc(100vh - var(--header-height) - 7.7rem);
  display: flex;
}
.slogan-section__wrapper {
  height: auto;
  display: flex;
  flex-direction: column;
}
.slogan-section__grid {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
  grid-template-rows: minmax(0, 1fr) minmax(0, min-content) minmax(0, 1fr);
  height: 100%;
  overflow: hidden;
  position: relative;
}
.slogan-section__center {
  grid-column: 1/-1;
  grid-row: 2;
  display: flex;
  flex-direction: column;
  gap: 24px;
  align-items: center;
  justify-content: center;
  max-width: calc(720 / var(--scale-vw) * var(--vw, 1vw));
  width: 100%;
  margin: 0 auto;
  position: relative;
  z-index: 2;
  background: linear-gradient(270deg, var(--color-transparent) 49%, var(--color-primary-contrast) 50%, var(--color-transparent) 51%);
  padding: calc(72 / var(--scale-vw) * var(--vw, 1vw)) 0;
  text-align: center;
}
.slogan-section__center--m {
  max-width: calc(900 / var(--scale-vw) * var(--vw, 1vw));
}
.slogan-section__center--m .slogan-section__title {
  font-size: calc(32 / var(--scale-vw) * var(--vw, 1vw));
  line-height: 115%;
  letter-spacing: -0.02em;
  font-weight: 500;
  box-shadow: 0 0 100px 45px var(--color-primary-contrast);
  background: var(--color-secondary-80);
}
@media only screen and (min-width: 1921px) {
  .slogan-section__center--m .slogan-section__title {
    font-size: 32px;
  }
}
@media only screen and (max-width: 1440px) {
  .slogan-section__center--m .slogan-section__title {
    font-size: calc(28 / var(--scale-vw) * var(--vw, 1vw));
  }
}
@media only screen and (max-width: 768px) {
  .slogan-section__center--m .slogan-section__title {
    font-size: calc(24 / var(--scale-vw) * var(--vw, 1vw));
  }
}
@media only screen and (max-width: 480px) {
  .slogan-section__center--m .slogan-section__title {
    font-size: calc(17 / var(--scale-vw) * var(--vw, 1vw));
  }
}
.slogan-section__center--l {
  max-width: 80rem !important;
}
.slogan-section__center--l .slogan-section__subtitle-text {
  font-family: "RobotoFlex", sans-serif;
  font-size: calc(24 / var(--scale-vw) * var(--vw, 1vw));
  line-height: 140%;
  letter-spacing: -0.01em;
  font-weight: 500;
}
@media only screen and (min-width: 1921px) {
  .slogan-section__center--l .slogan-section__subtitle-text {
    font-size: 24px;
  }
}
@media only screen and (max-width: 480px) {
  .slogan-section__center--l .slogan-section__subtitle-text {
    font-size: calc(20 / var(--scale-vw) * var(--vw, 1vw));
  }
}
.slogan-section__center--l .slogan-section__title {
  font-size: calc(48 / var(--scale-vw) * var(--vw, 1vw));
  line-height: 105%;
  letter-spacing: -0.02em;
  font-weight: 500;
}
@media only screen and (min-width: 1921px) {
  .slogan-section__center--l .slogan-section__title {
    font-size: 48px;
  }
}
@media only screen and (max-width: 1440px) {
  .slogan-section__center--l .slogan-section__title {
    font-size: calc(40 / var(--scale-vw) * var(--vw, 1vw));
    line-height: 115%;
  }
}
@media only screen and (max-width: 480px) {
  .slogan-section__center--l .slogan-section__title {
    font-size: calc(28 / var(--scale-vw) * var(--vw, 1vw));
  }
}
.slogan-section__center--gap {
  gap: 6rem;
}
.slogan-section__center--gap .slogan-section__center-box-s {
  margin-top: 2rem;
}
.slogan-section__center-box {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 2rem;
  box-shadow: 0 0 100px 45px var(--color-primary-contrast);
  background: var(--color-secondary-80);
}
.slogan-section__center-box-s {
  display: flex;
  flex-direction: column;
  align-items: center;
  box-shadow: 0 0 100px 45px var(--color-primary-contrast);
  background: var(--color-secondary-80);
}
.slogan-section__center-box-s .btn {
  margin-top: 2rem;
}
.slogan-section__btn {
  justify-content: center;
  padding: 18px 0;
  transition: transform 0.4s ease-in-out;
}
.slogan-section__btn.is-hidden {
  transform: translateY(-100%);
}
.slogan-section__title {
  font-size: calc(48 / var(--scale-vw) * var(--vw, 1vw));
  line-height: 105%;
  letter-spacing: -0.02em;
  font-weight: 500;
  text-transform: uppercase;
  text-align: center;
}
@media only screen and (min-width: 1921px) {
  .slogan-section__title {
    font-size: 48px;
  }
}
@media only screen and (max-width: 1440px) {
  .slogan-section__title {
    font-size: calc(40 / var(--scale-vw) * var(--vw, 1vw));
    line-height: 115%;
  }
}
@media only screen and (max-width: 768px) {
  .slogan-section__title {
    font-size: calc(36 / var(--scale-vw) * var(--vw, 1vw));
  }
}
@media only screen and (max-width: 480px) {
  .slogan-section__title {
    font-size: calc(28 / var(--scale-vw) * var(--vw, 1vw));
  }
}
.slogan-section__title--color {
  background-image: linear-gradient(150deg, rgb(105, 139, 231) 41%, rgb(234, 144, 106) 100%);
  background-clip: text;
  -webkit-text-fill-color: transparent;
  color: transparent;
}
.slogan-section__subtitle {
  font-size: calc(17 / var(--scale-vw) * var(--vw, 1vw));
  line-height: 105%;
  letter-spacing: -0.01em;
  font-weight: 500;
  text-transform: uppercase;
  text-align: center;
  background: var(--color-secondary-80);
  box-shadow: 0 0 100px 45px var(--color-primary-contrast);
}
@media only screen and (min-width: 1921px) {
  .slogan-section__subtitle {
    font-size: 17px;
  }
}
@media only screen and (max-width: 1440px) {
  .slogan-section__subtitle {
    font-size: calc(15 / var(--scale-vw) * var(--vw, 1vw));
  }
}
@media only screen and (max-width: 480px) {
  .slogan-section__subtitle {
    font-size: calc(13 / var(--scale-vw) * var(--vw, 1vw));
    line-height: 120%;
    letter-spacing: 0.02em;
  }
}
@media (hover: hover), screen and (min-width: 0\0 ) {
  .slogan-section__btn:hover {
    position: relative;
    z-index: 1;
    animation: flicker 0.1s step-end forwards;
  }
  .slogan-section__btn:hover .text-opacity {
    animation: flicker-text 0.01s step-end forwards;
  }
}
@media only screen and (min-width: 1921px) {
  .slogan-section__center {
    padding: 72px 0;
    max-width: 720px;
  }
  .slogan-section__center--m {
    max-width: 900px;
  }
}
@media only screen and (max-width: 1440px) {
  .slogan-section {
    min-height: calc(100vh - var(--header-height) - 11rem);
  }
  .slogan-section__center {
    padding: calc(56 / var(--scale-vw) * var(--vw, 1vw)) 0;
    max-width: calc(655 / var(--scale-vw) * var(--vw, 1vw));
  }
  .slogan-section__center--m {
    max-width: calc(658 / var(--scale-vw) * var(--vw, 1vw));
  }
}
@media only screen and (max-width: 768px) {
  .slogan-section__center {
    padding: calc(48 / var(--scale-vw) * var(--vw, 1vw)) 0;
    background: var(--color-primary-contrast);
    max-width: calc(575 / var(--scale-vw) * var(--vw, 1vw));
  }
  .slogan-section__center--m {
    max-width: calc(575 / var(--scale-vw) * var(--vw, 1vw));
  }
  .slogan-section__center--gap {
    gap: 4.8rem;
  }
  .slogan-section__center-box, .slogan-section__center-box-s {
    box-shadow: none;
    background: none;
  }
}
@media only screen and (max-width: 480px) {
  .slogan-section {
    min-height: calc(100vh - var(--header-height) - 11rem);
    padding-top: 0;
  }
  .slogan-section__btn {
    display: none;
  }
  .slogan-section__subtitle {
    max-width: 80%;
  }
  .slogan-section__center {
    padding: calc(32 / var(--scale-vw) * var(--vw, 1vw)) 0;
    gap: calc(16 / var(--scale-vw) * var(--vw, 1vw));
  }
  .slogan-section__center--m .slogan-section__title {
    font-size: calc(24 / var(--scale-vw) * var(--vw, 1vw));
    width: 99%;
  }
  .slogan-section__center--gap {
    gap: 4rem;
  }
  .slogan-section__center--gap .slogan-section__center-box-s {
    margin-top: 4rem;
  }
  .slogan-section__center--l .slogan-section__title {
    width: 100%;
  }
  .slogan-section__title {
    width: 85%;
  }
}

.smoking-room-section .width {
  padding-inline: 0;
}
.smoking-room-section__core {
  display: grid;
  grid-template-columns: 760px 1fr;
  position: relative;
}
.smoking-room-section__core::before {
  content: "";
  position: absolute;
  top: 0;
  left: var(--main-padding);
  right: var(--main-padding);
  height: 1px;
  background-color: var(--color-border-primary);
}
.smoking-room-section__info {
  position: relative;
  display: flex;
  flex-direction: column;
  width: 100%;
  max-width: 76rem;
  padding-inline-start: var(--main-padding);
  padding-top: calc(32 / var(--scale-vw) * var(--vw, 1vw));
  padding-bottom: calc(72 / var(--scale-vw) * var(--vw, 1vw));
}
.smoking-room-section__text-block {
  display: flex;
  flex-direction: column;
  row-gap: 5.6rem;
  margin-block: auto;
}
.smoking-room-section__text {
  font-size: calc(68 / var(--scale-vw) * var(--vw, 1vw));
  line-height: 105%;
  letter-spacing: -0.02em;
  font-weight: 500;
  text-transform: uppercase;
}
@media only screen and (min-width: 1921px) {
  .smoking-room-section__text {
    font-size: 68px;
  }
}
@media only screen and (max-width: 1440px) {
  .smoking-room-section__text {
    font-size: calc(60 / var(--scale-vw) * var(--vw, 1vw));
    line-height: 100%;
  }
}
@media only screen and (max-width: 768px) {
  .smoking-room-section__text {
    font-size: calc(52 / var(--scale-vw) * var(--vw, 1vw));
  }
}
@media only screen and (max-width: 480px) {
  .smoking-room-section__text {
    font-size: calc(40 / var(--scale-vw) * var(--vw, 1vw));
    line-height: 100%;
  }
}
.smoking-room-section__controls {
  display: flex;
  align-items: center;
  column-gap: 1.6rem;
}
.smoking-room-section__counter {
  font-size: calc(17 / var(--scale-vw) * var(--vw, 1vw));
  line-height: 105%;
  letter-spacing: -0.01em;
  font-weight: 500;
  text-transform: uppercase;
  color: var(--color-secondary);
}
@media only screen and (min-width: 1921px) {
  .smoking-room-section__counter {
    font-size: 17px;
  }
}
@media only screen and (max-width: 1440px) {
  .smoking-room-section__counter {
    font-size: calc(15 / var(--scale-vw) * var(--vw, 1vw));
  }
}
@media only screen and (max-width: 480px) {
  .smoking-room-section__counter {
    font-size: calc(13 / var(--scale-vw) * var(--vw, 1vw));
    line-height: 120%;
    letter-spacing: 0.02em;
  }
}
.smoking-room-section__qr-code {
  width: calc(150 / var(--scale-vw) * var(--vw, 1vw));
  height: calc(150 / var(--scale-vw) * var(--vw, 1vw));
  order: -1;
}
.smoking-room-section__pic {
  --object-fit: cover;
  --object-position: left;
  display: flex;
  justify-content: center;
  align-items: center;
  overflow: hidden;
  height: calc(1140 / var(--scale-vw) * var(--vw, 1vw));
}
.smoking-room-section__text-icn {
  margin-left: calc(-10 / var(--scale-vw) * var(--vw, 1vw));
}
@media only screen and (min-width: 1921px) {
  .smoking-room-section__info {
    padding-top: 32px;
    padding-bottom: 72px;
  }
  .smoking-room-section__core {
    grid-template-columns: 890px 1fr;
  }
  .smoking-room-section__pic {
    height: 1140px;
  }
  .smoking-room-section__qr-code {
    width: 150px;
    height: 150px;
  }
}
@media only screen and (max-width: 1440px) {
  .smoking-room-section__core {
    grid-template-columns: calc(635 / var(--scale-vw) * var(--vw, 1vw)) 1fr;
  }
  .smoking-room-section__info {
    padding-top: calc(24 / var(--scale-vw) * var(--vw, 1vw));
  }
  .smoking-room-section__qr-code {
    width: calc(90 / var(--scale-vw) * var(--vw, 1vw));
    height: calc(90 / var(--scale-vw) * var(--vw, 1vw));
  }
  .smoking-room-section__title {
    margin-block-end: 7.2rem;
  }
  .smoking-room-section__text-block {
    row-gap: 3.5rem;
  }
  .smoking-room-section__text-icn {
    width: 4rem;
    height: 4rem;
  }
  .smoking-room-section__pic {
    height: calc(712 / var(--scale-vw) * var(--vw, 1vw));
  }
}
@media only screen and (max-width: 1280px) {
  .smoking-room-section__core {
    grid-template-columns: calc(715 / var(--scale-vw) * var(--vw, 1vw)) 1fr;
  }
  .smoking-room-section__info {
    padding-top: calc(24 / var(--scale-vw) * var(--vw, 1vw));
  }
  .smoking-room-section__pic {
    --object-fit: contain;
  }
}
@media only screen and (max-width: 768px) {
  .smoking-room-section__core {
    display: flex;
    flex-direction: column;
  }
  .smoking-room-section__qr-code {
    display: none;
  }
  .smoking-room-section__info {
    padding-left: var(--main-padding);
    padding-right: var(--main-padding);
    padding-bottom: 0;
  }
  .smoking-room-section__pic {
    --object-position: center;
    margin-top: -2rem;
  }
}
@media only screen and (max-width: 580px) {
  .smoking-room-section__title {
    margin-block-end: 4.8rem;
  }
  .smoking-room-section__text-icn {
    width: 3.2rem;
    height: 3.2rem;
  }
  .smoking-room-section__pic img {
    min-width: 62.8rem;
  }
}
@media only screen and (max-width: 480px) {
  .smoking-room-section__pic {
    margin-top: calc(-20 / var(--scale-vw) * var(--vw, 1vw));
    height: calc(500 / var(--scale-vw) * var(--vw, 1vw));
  }
}

.standard-block__width {
  height: 100%;
  display: flex;
  flex-direction: column;
}
.standard-block__head {
  padding: calc(24 / var(--scale-vw) * var(--vw, 1vw)) 0;
}
.standard-block__title {
  font-size: calc(68 / var(--scale-vw) * var(--vw, 1vw));
  line-height: 105%;
  letter-spacing: -0.02em;
  font-weight: 500;
  text-transform: uppercase;
  max-width: calc(650 / var(--scale-vw) * var(--vw, 1vw));
}
@media only screen and (min-width: 1921px) {
  .standard-block__title {
    font-size: 68px;
  }
}
@media only screen and (max-width: 1440px) {
  .standard-block__title {
    font-size: calc(60 / var(--scale-vw) * var(--vw, 1vw));
    line-height: 100%;
  }
}
@media only screen and (max-width: 768px) {
  .standard-block__title {
    font-size: calc(52 / var(--scale-vw) * var(--vw, 1vw));
  }
}
@media only screen and (max-width: 480px) {
  .standard-block__title {
    font-size: calc(40 / var(--scale-vw) * var(--vw, 1vw));
    line-height: 100%;
  }
}
.standard-block__title:first-child {
  margin-top: calc(280 / var(--scale-vw) * var(--vw, 1vw));
}
.standard-block__aside {
  display: flex;
  flex-direction: column;
}
.standard-block__aside-sticky {
  position: sticky;
  z-index: 2;
  top: calc(var(--header-height) + 2rem);
  height: 100vh;
  display: flex;
  flex-direction: column;
}
.standard-block__nav {
  position: sticky;
  z-index: 2;
  margin-right: 1px;
  margin-bottom: 1px;
  background-color: var(--color-primary-contrast);
  top: calc(50% - var(--header-height));
}
.standard-block__sub-nav {
  margin: auto calc(16 / var(--scale-vw) * var(--vw, 1vw)) calc(32 / var(--scale-vw) * var(--vw, 1vw)) 0;
  position: sticky;
  bottom: calc(24 / var(--scale-vw) * var(--vw, 1vw));
  transition: opacity 0.3s ease;
}
.standard-block__sub-nav.is-opacity {
  opacity: 0;
}
.standard-block__number {
  padding: calc(32 / var(--scale-vw) * var(--vw, 1vw)) 0;
  background-color: var(--color-primary-contrast);
  position: relative;
  z-index: 1;
  margin-right: 5px;
}
.standard-block__body {
  display: grid;
  grid-template-columns: calc(360 / var(--scale-vw) * var(--vw, 1vw)) minmax(0, 1fr);
  flex-grow: 1;
  border-top: 1px solid var(--color-border-primary);
}
.standard-block__text {
  padding-left: calc(72 / var(--scale-vw) * var(--vw, 1vw));
  padding-right: calc(72 / var(--scale-vw) * var(--vw, 1vw));
  padding-bottom: calc(56 / var(--scale-vw) * var(--vw, 1vw));
}
.standard-block__article:not(:last-child) {
  border-bottom: 1px solid var(--color-border-primary);
}
.standard-block__picture {
  display: flex;
  aspect-ratio: 1350/800;
  width: 100%;
  max-width: calc(1350 / var(--scale-vw) * var(--vw, 1vw));
  background-color: var(--color-secondary-20);
  position: relative;
  z-index: 1;
}
.standard-block__picture::after {
  content: "";
  display: block;
  position: absolute;
  top: 50%;
  left: 50%;
  opacity: 0.2;
  transform: translate(-50%, -50%);
  background-image: url("/local/assets/css/../img/icons/stub.svg");
  background-repeat: no-repeat;
  background-position: center;
  background-size: contain;
  width: calc(345 / var(--scale-vw) * var(--vw, 1vw));
  height: calc(95 / var(--scale-vw) * var(--vw, 1vw));
  z-index: -1;
}
.standard-block__picture:has(picture), .standard-block__picture:has(video) {
  aspect-ratio: auto;
}
.standard-block__img {
  --object-fit: contain;
  width: 100%;
  height: auto;
  background-color: var(--color-primary-contrast);
}
.standard-block__video {
  width: 100%;
  height: 100%;
  max-height: calc(794 / var(--scale-vw) * var(--vw, 1vw));
  object-fit: cover;
}
.standard-block:last-child .standard-block__article:last-child {
  padding-bottom: calc(72 / var(--scale-vw) * var(--vw, 1vw));
}
@media only screen and (min-width: 1921px) {
  .standard-block__sub-nav {
    bottom: 24px;
    margin: auto 32px 32px 0;
  }
  .standard-block__number {
    padding: 32px 0;
  }
  .standard-block__picture {
    max-width: 1350px;
  }
  .standard-block__title:first-child {
    margin-top: 280px;
  }
  .standard-block__text {
    padding-left: 72px;
    padding-right: 72px;
    padding-bottom: 56px;
  }
  .standard-block__video {
    max-height: 790px;
  }
  .standard-block:last-child .standard-block__article:last-child {
    padding-bottom: 72px;
  }
}
@media only screen and (max-width: 1440px) {
  .standard-block__number {
    padding: calc(24 / var(--scale-vw) * var(--vw, 1vw)) 0;
  }
  .standard-block__title:first-child {
    margin-top: calc(280 / var(--scale-vw) * var(--vw, 1vw));
  }
  .standard-block__body {
    grid-template-columns: calc(280 / var(--scale-vw) * var(--vw, 1vw)) minmax(0, 5fr);
  }
  .standard-block__sub-nav {
    margin-right: 0;
  }
}
@media only screen and (max-width: 768px) {
  .standard-block__body {
    display: flex;
    flex-direction: column;
  }
  .standard-block__body .box-decor__decor {
    display: none;
  }
  .standard-block__aside {
    display: contents;
  }
  .standard-block__aside-sticky {
    position: static;
    height: auto;
    display: contents;
  }
  .standard-block__number {
    padding-bottom: calc(72 / var(--scale-vw) * var(--vw, 1vw));
    border-bottom: 1px solid var(--color-border-primary);
  }
  .standard-block__nav {
    background-color: var(--color-primary-contrast);
    top: var(--header-height);
    z-index: var(--z-header);
    margin-left: calc(var(--main-padding) * -1);
    margin-right: calc(var(--main-padding) * -1);
  }
  .standard-block__nav::before, .standard-block__nav::after {
    content: "";
    position: absolute;
    top: 0;
    bottom: 0;
    width: var(--main-padding);
    z-index: 3;
    pointer-events: none;
  }
  .standard-block__nav::after {
    right: 0;
    background: linear-gradient(90deg, var(--color-transparent) 0%, var(--color-primary-contrast) 100%);
  }
  .standard-block__nav::before {
    left: 0;
    background: linear-gradient(-90deg, var(--color-transparent) 0%, var(--color-primary-contrast) 100%);
  }
  .standard-block__sub-nav {
    display: none;
  }
  .standard-block__nav-elem {
    -ms-overflow-style: none;
    scrollbar-width: none;
    overscroll-behavior: contain;
    overflow-x: auto;
    padding-left: var(--main-padding);
    padding-right: var(--main-padding);
  }
  .standard-block__nav-elem::-webkit-scrollbar {
    display: none;
  }
  .standard-block__title:first-child {
    margin-top: calc(176 / var(--scale-vw) * var(--vw, 1vw));
  }
  .standard-block__text {
    padding-left: 0;
    padding-right: 0;
    padding-bottom: calc(48 / var(--scale-vw) * var(--vw, 1vw));
  }
  .standard-block__picture {
    margin-left: calc(var(--main-padding) * -1);
    margin-right: calc(var(--main-padding) * -1);
    max-width: none;
    width: auto;
  }
  .standard-block__picture::after {
    width: calc(173 / var(--scale-vw) * var(--vw, 1vw));
    height: calc(48 / var(--scale-vw) * var(--vw, 1vw));
  }
  .standard-block:last-child .standard-block__article:last-child {
    padding-bottom: calc(64 / var(--scale-vw) * var(--vw, 1vw));
  }
  .standard-block__article:first-child {
    margin-top: calc(78 / var(--scale-vw) * var(--vw, 1vw));
  }
}
@media only screen and (max-width: 480px) {
  .standard-block__head {
    padding: calc(16 / var(--scale-vw) * var(--vw, 1vw)) 0;
  }
  .standard-block__number {
    padding-bottom: calc(46 / var(--scale-vw) * var(--vw, 1vw));
    background-color: var(--color-transparent);
  }
  .standard-block__text {
    padding-bottom: calc(32 / var(--scale-vw) * var(--vw, 1vw));
  }
  .standard-block__picture {
    aspect-ratio: auto;
    min-height: calc(260 / var(--scale-vw) * var(--vw, 1vw));
  }
  .standard-block__picture::after {
    width: calc(173 / var(--scale-vw) * var(--vw, 1vw));
    height: calc(48 / var(--scale-vw) * var(--vw, 1vw));
  }
  .standard-block__video {
    max-height: calc(260 / var(--scale-vw) * var(--vw, 1vw));
  }
  .standard-block__title:first-child {
    margin-top: calc(144 / var(--scale-vw) * var(--vw, 1vw));
  }
  .standard-block:last-child .standard-block__article:last-child {
    padding-bottom: calc(56 / var(--scale-vw) * var(--vw, 1vw));
  }
  .standard-block__article:first-child {
    margin-top: calc(49 / var(--scale-vw) * var(--vw, 1vw));
  }
}

.team-section__wrapper {
  border-top: 1px solid var(--color-border-primary);
  padding-top: calc(32 / var(--scale-vw) * var(--vw, 1vw));
  padding-bottom: calc(200 / var(--scale-vw) * var(--vw, 1vw));
}
.team-section__slider {
  margin-top: calc(150 / var(--scale-vw) * var(--vw, 1vw));
  overflow: hidden;
  display: grid;
  grid-template-columns: minmax(0, 1fr) calc(450 / var(--scale-vw) * var(--vw, 1vw));
  gap: calc(50 / var(--scale-vw) * var(--vw, 1vw));
}
.team-section__slider .swiper-slide {
  display: flex;
}
.team-section__slider-card, .team-section__slider-list {
  min-width: 0;
}
.team-section__slider-box {
  -ms-overflow-style: none;
  scrollbar-width: none;
  overscroll-behavior: contain;
  height: var(--slider-height);
  overflow: auto;
}
.team-section__slider-box::-webkit-scrollbar {
  display: none;
}
.team-section__slider-list {
  height: fit-content;
  position: relative;
}
.team-section__slider-list .swiper-wrapper {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  grid-template-rows: repeat(auto-fill, calc(150 / var(--scale-vw) * var(--vw, 1vw)));
}
.team-section__elem-hover {
  pointer-events: none;
  position: absolute;
  top: 0;
  left: 0;
  z-index: 2;
  transition: opacity 0.1s;
}
@media only screen and (min-width: 1921px) {
  .team-section__wrapper {
    padding-top: 32px;
    padding-bottom: 200px;
  }
}
@media only screen and (max-width: 1440px) {
  .team-section__wrapper {
    padding-top: calc(24 / var(--scale-vw) * var(--vw, 1vw));
    padding-bottom: calc(144 / var(--scale-vw) * var(--vw, 1vw));
  }
  .team-section__slider {
    margin-top: calc(100 / var(--scale-vw) * var(--vw, 1vw));
    grid-template-columns: minmax(0, 1fr) calc(325 / var(--scale-vw) * var(--vw, 1vw));
    gap: calc(40 / var(--scale-vw) * var(--vw, 1vw));
  }
  .team-section__slider-list .swiper-wrapper {
    grid-template-rows: repeat(auto-fill, calc(108 / var(--scale-vw) * var(--vw, 1vw)));
  }
}
@media only screen and (max-width: 1280px) {
  .team-section__slider {
    grid-template-columns: minmax(0, 1fr) calc(216 / var(--scale-vw) * var(--vw, 1vw));
    gap: calc(20 / var(--scale-vw) * var(--vw, 1vw));
  }
  .team-section__slider-list {
    position: relative;
  }
  .team-section__slider-list .swiper-wrapper {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  .team-section__slider-list::after {
    content: "";
    position: absolute;
    left: 0;
    right: 0;
    bottom: 0;
    height: calc(83 / var(--scale-vw) * var(--vw, 1vw));
    background: linear-gradient(180deg, rgba(255, 255, 255, 0) 0%, rgb(8, 8, 8) 100%);
    z-index: 1;
    pointer-events: none;
  }
}
@media only screen and (max-width: 768px) {
  .team-section__wrapper {
    padding-bottom: calc(112 / var(--scale-vw) * var(--vw, 1vw));
  }
  .team-section__slider {
    margin-top: calc(72 / var(--scale-vw) * var(--vw, 1vw));
    gap: calc(8 / var(--scale-vw) * var(--vw, 1vw));
    grid-template-columns: minmax(0, 1fr) calc(216 / var(--scale-vw) * var(--vw, 1vw));
  }
}
@media only screen and (max-width: 480px) {
  .team-section__wrapper {
    padding-top: calc(16 / var(--scale-vw) * var(--vw, 1vw));
    padding-bottom: calc(88 / var(--scale-vw) * var(--vw, 1vw));
  }
  .team-section__slider {
    margin-top: calc(56 / var(--scale-vw) * var(--vw, 1vw));
    grid-template-columns: minmax(0, 1fr);
    gap: calc(8 / var(--scale-vw) * var(--vw, 1vw));
    margin-left: calc(var(--main-padding) * -1);
    margin-right: calc(var(--main-padding) * -1);
  }
  .team-section__slider-card {
    padding-left: var(--main-padding);
    padding-right: var(--main-padding);
  }
  .team-section__slider-list {
    order: -1;
  }
  .team-section__slider-list .swiper-wrapper {
    display: flex;
  }
  .team-section__slider-list::after {
    left: auto;
    right: 0;
    top: 0;
    height: 100%;
    width: calc(100 / var(--scale-vw) * var(--vw, 1vw));
    background: linear-gradient(94deg, rgba(254, 254, 254, 0) 0%, rgb(8, 8, 8) 75%);
    transition: opacity 0.3s;
  }
  .team-section__slider-box {
    height: auto;
    overflow: auto;
    overflow-y: hidden;
    padding-left: var(--main-padding);
    padding-right: var(--main-padding);
  }
}

.page {
  position: relative;
  display: flex;
  flex-direction: column;
  justify-content: flex-start;
  align-items: center;
  min-height: 100vh;
}
.page--ui-kit .page__core {
  padding: 0;
}
.page__core {
  display: flex;
  flex-direction: column;
  width: 100%;
  flex: 0 0 auto;
  position: relative;
  padding-top: var(--header-height);
  flex-grow: 1;
  transform: translate(0, 0) !important;
}
.page__overlay {
  position: absolute;
  z-index: 2;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  pointer-events: none;
  opacity: 0;
  background: var(--color-primary-contrast);
  transition: opacity 0.2s ease-in-out;
}
@media only screen and (max-width: 480px) {
  .page {
    min-height: 100%;
  }
}

.page-product .footer__bottom {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  flex-wrap: wrap;
  justify-content: space-between;
}
.page-product .footer__box {
  display: contents;
}
.page-product .footer__phones {
  order: 2;
  margin-left: auto;
  column-gap: 1.6rem;
}
.page-product .footer__btn {
  margin: 0 auto;
}
@media only screen and (max-width: 768px) {
  .page-product .footer__bottom {
    display: flex;
  }
  .page-product .footer__text {
    width: 100%;
    order: -1;
  }
  .page-product .footer__phones {
    order: inherit;
    margin-left: 0;
  }
  .page-product .footer__box {
    display: flex;
    width: 100%;
  }
  .page-product .footer__btn {
    margin: 0;
  }
}
@media only screen and (max-width: 580px) {
  .page-product .footer__bottom {
    flex-direction: column;
  }
}

.footer {
  flex: 0 0 auto;
  width: 100%;
}
.footer__wrapper {
  margin-top: auto;
  background-color: var(--color-primary);
  color: var(--color-primary-contrast);
  padding: calc(64 / var(--scale-vw) * var(--vw, 1vw)) var(--main-padding) 0;
  border-radius: 48px 48px 0 0;
  overflow: hidden;
  height: calc(100vh - var(--header-height));
  display: flex;
  flex-direction: column;
  position: relative;
}
.footer__wrapper::before {
  content: "";
  position: absolute;
  left: 50%;
  top: 3.2rem;
  transform: translateX(-50%);
  display: block;
  width: 8.4rem;
  height: 2.4rem;
  background-image: url("/local/assets/css/../img/bg/footer-icon.svg");
  background-repeat: no-repeat;
  background-position: center;
  background-size: 100%;
  z-index: 1;
}
.footer__wrapper::after {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  height: 5rem;
  top: 5rem;
  background: linear-gradient(180deg, var(--color-primary) 50%, var(--color-transparent) 100%);
}
.footer__wrapper-mini {
  padding: 0 var(--main-padding);
}
.footer__core {
  -ms-overflow-style: none;
  scrollbar-width: none;
  overscroll-behavior: contain;
  overscroll-behavior: auto;
  flex-grow: 1;
  display: flex;
  flex-direction: column;
  overflow: auto;
}
.footer__core::-webkit-scrollbar {
  display: none;
}
.footer__body {
  flex-grow: 1;
  display: flex;
  flex-direction: column;
  justify-content: center;
}
.footer__body.is-submitted .footer__form {
  display: none;
}
.footer__bottom {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  align-items: center;
  padding: calc(16 / var(--scale-vw) * var(--vw, 1vw)) 0;
  border-top: 1px solid var(--color-border-secondary);
}
.footer__box {
  display: flex;
  justify-content: space-between;
}
.footer__form {
  width: 50%;
  margin-left: auto;
  margin-top: calc(20 / var(--scale-vw) * var(--vw, 1vw));
  margin-bottom: calc(20 / var(--scale-vw) * var(--vw, 1vw));
}
.footer__title {
  font-size: calc(48 / var(--scale-vw) * var(--vw, 1vw));
  line-height: 105%;
  letter-spacing: -0.02em;
  font-weight: 500;
  text-transform: uppercase;
}
@media only screen and (min-width: 1921px) {
  .footer__title {
    font-size: 48px;
  }
}
@media only screen and (max-width: 1440px) {
  .footer__title {
    font-size: calc(40 / var(--scale-vw) * var(--vw, 1vw));
    line-height: 115%;
  }
}
@media only screen and (max-width: 768px) {
  .footer__title {
    font-size: calc(36 / var(--scale-vw) * var(--vw, 1vw));
  }
}
@media only screen and (max-width: 480px) {
  .footer__title {
    font-size: calc(28 / var(--scale-vw) * var(--vw, 1vw));
  }
}
.footer__title:not(:last-child) {
  margin-bottom: calc(16 / var(--scale-vw) * var(--vw, 1vw));
}
.footer__subtitle {
  font-size: calc(17 / var(--scale-vw) * var(--vw, 1vw));
  line-height: 105%;
  letter-spacing: -0.01em;
  font-weight: 500;
  font-family: "RobotoFlex", sans-serif;
}
@media only screen and (min-width: 1921px) {
  .footer__subtitle {
    font-size: 17px;
  }
}
@media only screen and (max-width: 1440px) {
  .footer__subtitle {
    font-size: calc(15 / var(--scale-vw) * var(--vw, 1vw));
  }
}
@media only screen and (max-width: 480px) {
  .footer__subtitle {
    font-size: calc(13 / var(--scale-vw) * var(--vw, 1vw));
    line-height: 120%;
    letter-spacing: 0.02em;
  }
}
.footer__result-info {
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  gap: calc(24 / var(--scale-vw) * var(--vw, 1vw));
  margin: 0 auto;
}
.footer__result-head {
  text-align: center;
  max-width: 80%;
}
.footer__info {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: var(--py-section);
  max-width: calc(1280 / var(--scale-vw) * var(--vw, 1vw));
  margin: 0 auto;
}
.footer__up-text {
  font-size: calc(15 / var(--scale-vw) * var(--vw, 1vw));
  line-height: 120%;
  letter-spacing: 0.01em;
  font-weight: 500;
  text-transform: uppercase;
  color: var(--color-secondary-contrast);
}
@media only screen and (min-width: 1921px) {
  .footer__up-text {
    font-size: 15px;
  }
}
@media only screen and (max-width: 1440px) {
  .footer__up-text {
    font-size: calc(13 / var(--scale-vw) * var(--vw, 1vw));
    letter-spacing: 0.02em;
  }
}
.footer__big-title {
  font-size: calc(200 / var(--scale-vw) * var(--vw, 1vw));
  line-height: 92%;
  letter-spacing: -0.05em;
  font-weight: 500;
  text-transform: uppercase;
  text-align: center;
}
@media only screen and (min-width: 1921px) {
  .footer__big-title {
    font-size: 200px;
  }
}
@media only screen and (max-width: 1440px) {
  .footer__big-title {
    font-size: calc(152 / var(--scale-vw) * var(--vw, 1vw));
  }
}
@media only screen and (max-width: 768px) {
  .footer__big-title {
    font-size: calc(108 / var(--scale-vw) * var(--vw, 1vw));
    letter-spacing: -0.04em;
  }
}
@media only screen and (max-width: 480px) {
  .footer__big-title {
    font-size: calc(58 / var(--scale-vw) * var(--vw, 1vw));
  }
}
.footer__text {
  font-size: calc(15 / var(--scale-vw) * var(--vw, 1vw));
  line-height: 120%;
  letter-spacing: 0.01em;
  font-weight: 500;
  text-transform: uppercase;
}
@media only screen and (min-width: 1921px) {
  .footer__text {
    font-size: 15px;
  }
}
@media only screen and (max-width: 1440px) {
  .footer__text {
    font-size: calc(13 / var(--scale-vw) * var(--vw, 1vw));
    letter-spacing: 0.02em;
  }
}
.footer--black {
  color: var(--color-primary);
}
.footer--mini {
  border-top: 1px solid var(--color-border-primary);
}
.footer--mini .footer__bottom {
  border-top: none;
}
@media only screen and (min-width: 1921px) {
  .footer__wrapper {
    padding: 64px var(--main-padding) 0;
  }
  .footer__form {
    margin-top: 20px;
    margin-bottom: 20px;
  }
  .footer__info {
    max-width: 1280px;
  }
  .footer__bottom {
    padding: 16px 0;
  }
}
@media only screen and (max-width: 1440px) {
  .footer__form {
    margin-top: calc(50 / var(--scale-vw) * var(--vw, 1vw));
    margin-bottom: calc(50 / var(--scale-vw) * var(--vw, 1vw));
  }
  .footer__wrapper::before {
    width: 5.6rem;
    height: 1.8rem;
    top: 2.4rem;
  }
}
@media only screen and (max-width: 1280px) {
  .footer__bottom {
    grid-template-columns: minmax(0, 1fr);
    gap: 8px;
  }
  .footer__body .form-result {
    grid-template-columns: minmax(0, 1fr) minmax(0, 2fr) minmax(0, 1fr);
  }
}
@media only screen and (max-width: 768px) {
  .footer__wrapper {
    border-radius: 32px 32px 0 0;
  }
  .footer__form {
    width: 100%;
    margin-left: 0;
  }
  .footer__bottom {
    padding: calc(24 / var(--scale-vw) * var(--vw, 1vw)) 0 calc(16 / var(--scale-vw) * var(--vw, 1vw));
  }
}
@media only screen and (max-width: 580px) {
  .footer__wrapper {
    height: calc(100vh - var(--header-height));
  }
  .footer__text {
    text-align: center;
  }
  .footer__box {
    flex-direction: column;
    align-items: center;
  }
  .footer__phones {
    display: grid;
    grid-template-columns: 1fr 1fr;
  }
}

.header {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  min-height: 50px;
  padding: 0 var(--main-padding);
  background-color: var(--color-primary-contrast);
  z-index: var(--z-header);
}
.header::after {
  -webkit-backdrop-filter: blur(24px);
  backdrop-filter: blur(24px);
  will-change: backdrop-filter;
  content: "";
  position: fixed;
  z-index: -1;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  pointer-events: none;
  opacity: 0;
  background: var(--color-secondary-80);
  transition: opacity 0.2s ease-in-out;
}
.hystmodal__opened .header {
  padding-right: calc(var(--main-padding) + var(--scroll-width));
}
.header.has-overlay::after {
  opacity: 1;
}
.header.has-overlay .header__submenu {
  display: block;
  opacity: 1;
  transform: translateY(0);
}
.header.has-overlay .header__submenu-item {
  animation: translate-down 0.1s forwards;
}
.header__core {
  padding: var(--py-header) 0;
  display: flex;
  align-items: center;
  gap: calc(16 / var(--scale-vw) * var(--vw, 1vw));
  border-bottom: 1px solid var(--color-border-primary);
  justify-content: space-between;
}
.header__logo {
  display: block;
  flex: none;
}
.header__box {
  flex-grow: 1;
}
.header__btns {
  display: flex;
  gap: calc(4 / var(--scale-vw) * var(--vw, 1vw));
}
.header__burger {
  display: none;
}
.header__menu {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  list-style: none;
  counter-reset: list;
}
.header__menu-item:not(:last-child) {
  padding-right: calc(16 / var(--scale-vw) * var(--vw, 1vw));
}
.header__menu-item:not(:first-child) {
  border-left: 1px solid var(--color-border-primary);
  padding-left: calc(16 / var(--scale-vw) * var(--vw, 1vw));
}
.header__menu-link {
  font-size: calc(15 / var(--scale-vw) * var(--vw, 1vw));
  line-height: 120%;
  letter-spacing: 0.01em;
  font-weight: 500;
  display: flex;
  align-items: center;
  gap: calc(4 / var(--scale-vw) * var(--vw, 1vw));
}
@media only screen and (min-width: 1921px) {
  .header__menu-link {
    font-size: 15px;
  }
}
@media only screen and (max-width: 1440px) {
  .header__menu-link {
    font-size: calc(13 / var(--scale-vw) * var(--vw, 1vw));
    letter-spacing: 0.02em;
  }
}
.header__submenu {
  opacity: 0;
  transform: translateY(10px);
  transition: opacity 0.3s, transform 0.3s;
  display: none;
}
.header__submenu-item {
  opacity: 0;
  transform: translateY(-20px);
}
@media only screen and (min-width: 1921px) {
  .header__core {
    gap: 16px;
  }
  .header__btns {
    display: flex;
    gap: 4px;
  }
  .header__menu-item:not(:last-child) {
    padding-right: 16px;
  }
  .header__menu-item:not(:first-child) {
    padding-left: 16px;
  }
  .header__menu-link {
    gap: 4px;
  }
}
@media only screen and (max-width: 960px) {
  .header__burger {
    display: block;
  }
  .header__box {
    display: none;
  }
}
@media only screen and (max-width: 580px) {
  .header__call {
    display: none;
  }
}

.width {
  width: 100%;
  margin-left: auto;
  margin-right: auto;
  padding-right: var(--main-padding);
  padding-left: var(--main-padding);
  flex: 0 0 auto;
}
@media only screen and (max-width: 1440px) {
  .width {
    max-width: 100%;
  }
}

[data-custom-caret-input=parent] {
  position: relative;
  isolation: isolate;
}
[data-custom-caret-input=parent]:has(input:focus, input:focus-visible) [data-custom-caret-input=caret-box] {
  opacity: 1;
}

[data-custom-caret-input=input] {
  box-sizing: border-box;
  width: 100%;
  caret-color: var(--color-transparent);
}

[data-custom-caret-input=caret-box] {
  box-sizing: border-box;
  width: 100%;
  caret-color: var(--color-transparent);
  position: absolute;
  inset: 0;
  z-index: 1;
  display: flex;
  color: transparent;
  opacity: 0;
  overflow: hidden;
  pointer-events: none;
}

[data-custom-caret-input=caret-content] {
  display: flex;
  white-space: nowrap;
}
[data-custom-caret-input=caret-content] [data-custom-caret-input=caret-before],
[data-custom-caret-input=caret-content] [data-custom-caret-input=caret-after] {
  font-size: inherit;
  line-height: inherit;
}

[data-custom-caret-input=caret] {
  animation-name: custom-caret-blinking;
  animation-duration: 1s;
  animation-timing-function: step-start;
  animation-iteration-count: infinite;
  display: block;
  width: 0.5em;
  height: 100%;
  background-color: currentColor;
}

[data-custom-caret-textarea=container] {
  position: relative;
}
[data-custom-caret-textarea=container]:has(textarea:focus, textarea:focus-visible) [data-custom-caret-textarea=caret] {
  animation-name: custom-caret-blinking;
  animation-duration: 1s;
  animation-timing-function: step-start;
  animation-iteration-count: infinite;
  opacity: 1;
}

[data-custom-caret-textarea=textarea] {
  position: relative;
  background-color: var(--color-transparent);
  caret-color: var(--color-transparent);
}

[data-custom-caret-textarea=mirror] {
  position: absolute;
  inset: 0;
  color: var(--color-transparent);
  overflow: hidden;
  pointer-events: none;
}

[data-custom-caret-textarea=caret] {
  position: absolute;
  width: 0.5em;
  height: 1em;
  background-color: currentColor;
  opacity: 0;
}

:root {
  /* stylelint-disable */
  --ui-kit-bg-grad: radial-gradient(
    circle at right top,
    rgb(28 28 246 / 0.9) 5%,
    rgb(57 43 237 / 0.75) 20%,
    var(--color-transparent) 70%
  );
  /* stylelint-enable */
  --ui-section-gap: 2rem;
  --ui-section-bd-rad: var(--ui-section-gap);
  --ui-section-shadow: 0 0 20px 2px rgb(255 255 255 / 0.5);
  --ui-kit-component-odd-bg: hsl(0 0% 38% / 0.5);
}

.ui-kit {
  display: flex;
  flex-direction: column;
}
.ui-kit::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: -1;
  background-image: var(--ui-kit-bg-grad);
}
.ui-kit__header {
  padding: 5rem;
}
.ui-kit__core {
  position: relative;
  isolation: isolate;
  display: grid;
  grid-template-columns: 25rem 1fr;
}
.ui-kit__sections {
  display: flex;
  flex-direction: column;
  row-gap: 7.2rem;
  padding-inline: 3.5rem;
}
.ui-kit__navigation {
  position: sticky;
  top: 1rem;
  z-index: 1;
  height: max-content;
  background-color: var(--color-primary-contrast);
  border: 0.2rem solid var(--color-white);
  border-left: none;
  border-top-right-radius: var(--ui-section-bd-rad);
  border-bottom-right-radius: var(--ui-section-bd-rad);
  overflow: hidden;
}
.ui-kit__navigation:has(input[type=checkbox]:checked) .ui-kit__nav-menu {
  display: flex;
}
.ui-kit__nav-switcher-label {
  font-size: calc(32 / var(--scale-vw) * var(--vw, 1vw));
  line-height: 115%;
  letter-spacing: -0.02em;
  font-weight: 500;
  display: none;
  align-items: center;
  column-gap: 0.8rem;
  padding: 1.2rem;
  cursor: pointer;
}
@media only screen and (min-width: 1921px) {
  .ui-kit__nav-switcher-label {
    font-size: 32px;
  }
}
@media only screen and (max-width: 1440px) {
  .ui-kit__nav-switcher-label {
    font-size: calc(28 / var(--scale-vw) * var(--vw, 1vw));
  }
}
@media only screen and (max-width: 768px) {
  .ui-kit__nav-switcher-label {
    font-size: calc(24 / var(--scale-vw) * var(--vw, 1vw));
  }
}
@media only screen and (max-width: 480px) {
  .ui-kit__nav-switcher-label {
    font-size: calc(17 / var(--scale-vw) * var(--vw, 1vw));
  }
}
.ui-kit__nav-switcher-label:has(input[type=checkbox]:checked) .ui-kit__nav-switcher-indicator {
  background-color: var(--color-checked);
}
.ui-kit__nav-switcher-label:has(input[type=checkbox]:checked) .ui-kit__nav-switcher-indicator span[data-indicator=on] {
  color: var(--color-white);
}
.ui-kit__nav-switcher-label:has(input[type=checkbox]:checked) .ui-kit__nav-switcher-indicator span[data-indicator=off] {
  color: var(--color-transparent);
}
.ui-kit__nav-switcher-label:has(input[type=checkbox]:checked) .ui-kit__nav-switcher-indicator::before {
  left: 100%;
  transform: translate(calc(-100% - var(--nav-switcher-indicator-padding)), -50%);
}
.ui-kit__nav-switcher-indicator {
  --nav-switcher-indicator-padding: 0.1rem;
  --nav-switcher-indicator-height: 2em;
  --nav-switcher-indicator-width: calc(2 * var(--nav-switcher-indicator-height));
  position: relative;
  isolation: isolate;
  box-sizing: content-box;
  display: flex;
  align-items: center;
  width: var(--nav-switcher-indicator-width);
  height: var(--nav-switcher-indicator-height);
  padding: var(--nav-switcher-indicator-padding);
  background-color: var(--color-primary-contrast);
  border: 0.2rem solid var(--color-white);
  border-radius: var(--nav-switcher-indicator-height);
  overflow: hidden;
  transition: background-color var(--trans-base);
}
.ui-kit__nav-switcher-indicator::before {
  width: var(--nav-switcher-indicator-height);
  height: var(--nav-switcher-indicator-height);
  content: "";
  position: absolute;
  top: 50%;
  left: var(--nav-switcher-indicator-padding);
  transform: translateY(-50%);
  z-index: 1;
  display: block;
  background-color: var(--color-white);
  border-radius: 50%;
  box-shadow: var(--shadow-block);
  transition: var(--trans-base);
  transition-property: left transform;
}
.ui-kit__nav-switcher-indicator span {
  position: absolute;
  inset: 0;
  display: flex;
  align-items: center;
  width: 100%;
  height: 100%;
  padding-inline: 0.6rem;
  color: var(--color-white);
  pointer-events: none;
  user-select: none;
  transition: color var(--trans-base);
}
.ui-kit__nav-switcher-indicator span[data-indicator=on] {
  justify-content: start;
  color: var(--color-transparent);
}
.ui-kit__nav-switcher-indicator span[data-indicator=off] {
  justify-content: end;
}
.ui-kit__nav-menu {
  display: flex;
  flex-direction: column;
  margin: 0;
  padding: 0;
  list-style-type: none;
}
.ui-kit__nav-link {
  font-family: "RobotoFlex", sans-serif;
  font-size: calc(24 / var(--scale-vw) * var(--vw, 1vw));
  line-height: 140%;
  letter-spacing: -0.01em;
  font-weight: 500;
  display: flex;
  justify-content: center;
  align-items: center;
  width: 100%;
  padding: 1.2rem 2.4rem;
  text-decoration: none;
  text-transform: uppercase;
  text-align: center;
  color: var(--color-white);
  cursor: pointer;
  transition: var(--trans-base);
  transition-property: color, background-color;
}
@media only screen and (min-width: 1921px) {
  .ui-kit__nav-link {
    font-size: 24px;
  }
}
@media only screen and (max-width: 1440px) {
  .ui-kit__nav-link {
    font-size: calc(20 / var(--scale-vw) * var(--vw, 1vw));
    line-height: 130%;
    letter-spacing: -0.03em;
  }
}
@media only screen and (max-width: 768px) {
  .ui-kit__nav-link {
    font-size: calc(17 / var(--scale-vw) * var(--vw, 1vw));
    line-height: 140%;
    letter-spacing: -0.01em;
  }
}
@media only screen and (max-width: 480px) {
  .ui-kit__nav-link {
    font-size: calc(15 / var(--scale-vw) * var(--vw, 1vw));
  }
}
.ui-kit__nav-link:where(:hover, :focus-visible) {
  color: var(--color-primary-contrast);
  background-color: var(--color-primary);
}
.ui-kit__title-box {
  display: flex;
  flex-direction: row-reverse;
  justify-content: space-between;
  align-items: center;
  gap: 4.8rem;
}
.ui-kit__title {
  font-family: "Iosevka", sans-serif;
  font-size: 9.6rem;
  font-weight: 700;
  line-height: 1;
  white-space: nowrap;
}
.ui-kit__logo-box {
  width: 100%;
  max-width: 50rem;
}
.ui-kit__logo {
  width: 100%;
  height: auto;
}
.ui-kit__section {
  display: flex;
  flex-direction: column;
  background-color: var(--color-primary-contrast);
  border-radius: var(--ui-section-bd-rad);
  box-shadow: var(--ui-section-shadow);
  overflow: clip;
}
.ui-kit__section-title {
  font-size: calc(68 / var(--scale-vw) * var(--vw, 1vw));
  line-height: 105%;
  letter-spacing: -0.02em;
  font-weight: 500;
  padding: var(--ui-section-gap);
  padding-block: calc(var(--ui-section-gap) * 2);
  text-transform: uppercase;
}
@media only screen and (min-width: 1921px) {
  .ui-kit__section-title {
    font-size: 68px;
  }
}
@media only screen and (max-width: 1440px) {
  .ui-kit__section-title {
    font-size: calc(60 / var(--scale-vw) * var(--vw, 1vw));
    line-height: 100%;
  }
}
@media only screen and (max-width: 768px) {
  .ui-kit__section-title {
    font-size: calc(52 / var(--scale-vw) * var(--vw, 1vw));
  }
}
@media only screen and (max-width: 480px) {
  .ui-kit__section-title {
    font-size: calc(40 / var(--scale-vw) * var(--vw, 1vw));
    line-height: 100%;
  }
}
.ui-kit__section-core, .ui-kit__subsection-core {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
}
.ui-kit__section-core .ui-kit-component:where(:nth-child(4n-3), :nth-child(4n)), .ui-kit__subsection-core .ui-kit-component:where(:nth-child(4n-3), :nth-child(4n)) {
  background-color: var(--ui-kit-component-odd-bg);
}
.ui-kit__section-core--column {
  display: flex;
  flex-direction: column;
}
.ui-kit__section-core--column > .ui-kit-component:is(:nth-child(4n-3), :nth-child(4n)) {
  background-color: inherit;
}
.ui-kit__section-core--column > .ui-kit-component:nth-child(odd) {
  background-color: var(--ui-kit-component-odd-bg);
}
.ui-kit__subsection {
  position: relative;
  isolation: isolate;
}
.ui-kit__subtitle {
  font-size: calc(68 / var(--scale-vw) * var(--vw, 1vw));
  line-height: 105%;
  letter-spacing: -0.02em;
  font-weight: 500;
  position: sticky;
  top: 0;
  z-index: 2;
  max-height: max-content;
  padding: var(--ui-section-gap);
  text-align: center;
  background-color: var(--color-primary-contrast);
  border: 1px solid var(--color-white);
}
@media only screen and (min-width: 1921px) {
  .ui-kit__subtitle {
    font-size: 68px;
  }
}
@media only screen and (max-width: 1440px) {
  .ui-kit__subtitle {
    font-size: calc(60 / var(--scale-vw) * var(--vw, 1vw));
    line-height: 100%;
  }
}
@media only screen and (max-width: 768px) {
  .ui-kit__subtitle {
    font-size: calc(52 / var(--scale-vw) * var(--vw, 1vw));
  }
}
@media only screen and (max-width: 480px) {
  .ui-kit__subtitle {
    font-size: calc(40 / var(--scale-vw) * var(--vw, 1vw));
    line-height: 100%;
  }
}
.ui-kit__typo {
  font-size: 3.2rem;
  line-height: 1;
}
.ui-kit__typo--primary {
  font-family: "Iosevka", sans-serif;
}
.ui-kit__typo--secondary {
  font-family: "RobotoFlex", sans-serif;
}
@media only screen and (max-width: 960px) {
  .ui-kit__core {
    grid-template-columns: 18rem 1fr;
  }
  .ui-kit__section-core, .ui-kit__subsection-core {
    grid-template-columns: 1fr;
    width: auto;
  }
  .ui-kit__section-core .ui-kit-component:where(:nth-child(4n-3), :nth-child(4n)), .ui-kit__subsection-core .ui-kit-component:where(:nth-child(4n-3), :nth-child(4n)) {
    background-color: inherit;
  }
  .ui-kit__section-core .ui-kit-component:nth-child(odd), .ui-kit__subsection-core .ui-kit-component:nth-child(odd) {
    background-color: var(--ui-kit-component-odd-bg);
  }
}
@media only screen and (max-width: 768px) {
  .ui-kit__core {
    display: flex;
    flex-direction: column-reverse;
    row-gap: 7.2rem;
  }
  .ui-kit__navigation {
    top: initial;
    bottom: 0;
    transform: none;
    border-bottom: none;
    border-right: none;
    border-radius: 0;
  }
  .ui-kit__nav-switcher-label {
    display: flex;
  }
  .ui-kit__nav-menu {
    display: none;
  }
  .ui-kit__title-box {
    flex-direction: column-reverse;
  }
}

:root {
  --ui-kit-component-gap: 2rem;
  --ui-kit-box-bd-rad: 0.8rem;
  --ui-kit-copy-code-trigger-icn: url("data:image/svg+xml;base64,PHN2ZyBmaWxsPSJjdXJyZW50Q29sb3IiIHZpZXdCb3g9IjAgMCA2NCA2NCIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB4bWxuczp4bGluaz0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94bGluayI+DQoJPGc+DQoJCTxwYXRoIGQ9Ik01My45NzkxNDg5LDkuMTQyOTAwNUg1MC4wMTA4NDljLTAuMDgyNjk4OCwwLTAuMTU2MjAwNCwwLjAyODM5OTUtMC4yMzMxMDA5LDAuMDQ2OTk5OVY1LjAyMjgNCgkJCUM0OS43Nzc3NDgxLDIuMjUzLDQ3LjQ3MzE0ODMsMCw0NC42Mzk4NDY4LDBoLTM0LjQyMjU5NkM3LjM4Mzk1MTcsMCw1LjA3OTM1MTksMi4yNTMsNS4wNzkzNTE5LDUuMDIyOHY0Ni44NDMyOTk5DQoJCQljMCwyLjc2OTc5ODMsMi4zMDQ1OTk4LDUuMDIyODAwNCw1LjEzNzg5OTksNS4wMjI4MDA0aDYuMDM2NzAwMnYyLjI2Nzg5ODZDMTYuMjUzOTUyLDYxLjgyNzQwMDIsMTguNDcwMjUxMSw2NCwyMS4xOTU0NTE3LDY0DQoJCQloMzIuNzgzNjk5YzIuNzI1MjAwNywwLDQuOTQxNDk3OC0yLjE3MjU5OTgsNC45NDE0OTc4LTQuODQzMjAwN1YxMy45ODYxMDAyDQoJCQlDNTguOTIwNjQ2NywxMS4zMTU1MDAzLDU2LjcwNDM0OTUsOS4xNDI5MDA1LDUzLjk3OTE0ODksOS4xNDI5MDA1eiBNNy4xMTEwNTE2LDUxLjg2NjEwMDNWNS4wMjI4DQoJCQljMC0xLjY0ODc5OTksMS4zOTM4OTk5LTIuOTkwOTk5OSwzLjEwNjIwMDItMi45OTA5OTk5aDM0LjQyMjU5NmMxLjcxMjMwMzIsMCwzLjEwNjIwMTIsMS4zNDIyLDMuMTA2MjAxMiwyLjk5MDk5OTl2NDYuODQzMjk5OQ0KCQkJYzAsMS42NDg3OTk5LTEuMzkzODk4LDIuOTkxMTAwMy0zLjEwNjIwMTIsMi45OTExMDAzaC0zNC40MjI1OTZDOC41MDQ5NTE1LDU0Ljg1NzIwMDYsNy4xMTEwNTE2LDUzLjUxNDkwMDIsNy4xMTEwNTE2LDUxLjg2NjEwMDN6DQoJCQlNNTYuODg4ODQ3NCw1OS4xNTY3OTkzYzAsMS41NTA2MDItMS4zMDU1LDIuODExNTAwNS0yLjkwOTY5ODUsMi44MTE1MDA1aC0zMi43ODM2OTkNCgkJCWMtMS42MDQyMDA0LDAtMi45MDk3OTk2LTEuMjYwODk4Ni0yLjkwOTc5OTYtMi44MTE1MDA1di0yLjI2Nzg5ODZoMjYuMzU0MTk0Ng0KCQkJYzIuODMzMzAxNSwwLDUuMTM3OTAxMy0yLjI1MzAwMjIsNS4xMzc5MDEzLTUuMDIyODAwNFYxMS4xMjc1OTk3YzAuMDc2OTAwNSwwLjAxODYwMDUsMC4xNTA0MDIxLDAuMDQ2OTk5OSwwLjIzMzEwMDksMC4wNDY5OTk5DQoJCQloMy45NjgyOTk5YzEuNjA0MTk4NSwwLDIuOTA5Njk4NSwxLjI2MDkwMDUsMi45MDk2OTg1LDIuODExNTAwNVY1OS4xNTY3OTkzeiIvPg0KCQk8cGF0aCBkPSJNMzguNjAzMTQ5NCwxMy4yMDYzOTk5SDE2LjI1Mzk1MmMtMC41NjE1MDA1LDAtMS4wMTU5MDA2LDAuNDU0Mjk5OS0xLjAxNTkwMDYsMS4wMTU4MDA1DQoJCQljMCwwLjU2MTU5OTcsMC40NTQ0MDAxLDEuMDE1ODk5NywxLjAxNTkwMDYsMS4wMTU4OTk3aDIyLjM0OTE5NzRjMC41NjE1MDA1LDAsMS4wMTU4OTk3LTAuNDU0Mjk5OSwxLjAxNTg5OTctMS4wMTU4OTk3DQoJCQlDMzkuNjE5MDQ5MSwxMy42NjA2OTk4LDM5LjE2NDY1LDEzLjIwNjM5OTksMzguNjAzMTQ5NCwxMy4yMDYzOTk5eiIvPg0KCQk8cGF0aCBkPSJNMzguNjAzMTQ5NCwyMS4zMzM0MDA3SDE2LjI1Mzk1MmMtMC41NjE1MDA1LDAtMS4wMTU5MDA2LDAuNDU0Mjk5OS0xLjAxNTkwMDYsMS4wMTU3OTg2DQoJCQljMCwwLjU2MTUwMDUsMC40NTQ0MDAxLDEuMDE1OTAxNiwxLjAxNTkwMDYsMS4wMTU5MDE2aDIyLjM0OTE5NzRjMC41NjE1MDA1LDAsMS4wMTU4OTk3LTAuNDU0NDAxLDEuMDE1ODk5Ny0xLjAxNTkwMTYNCgkJCUMzOS42MTkwNDkxLDIxLjc4NzcwMDcsMzkuMTY0NjUsMjEuMzMzNDAwNywzOC42MDMxNDk0LDIxLjMzMzQwMDd6Ii8+DQoJCTxwYXRoIGQ9Ik0zOC42MDMxNDk0LDI5LjQ2MDMwMDRIMTYuMjUzOTUyYy0wLjU2MTUwMDUsMC0xLjAxNTkwMDYsMC40NTQzOTkxLTEuMDE1OTAwNiwxLjAxNTg5OTcNCgkJCXMwLjQ1NDQwMDEsMS4wMTU4OTk3LDEuMDE1OTAwNiwxLjAxNTg5OTdoMjIuMzQ5MTk3NGMwLjU2MTUwMDUsMCwxLjAxNTg5OTctMC40NTQzOTkxLDEuMDE1ODk5Ny0xLjAxNTg5OTcNCgkJCVMzOS4xNjQ2NSwyOS40NjAzMDA0LDM4LjYwMzE0OTQsMjkuNDYwMzAwNHoiLz4NCgkJPHBhdGggZD0iTTI4LjQ0NDQ0ODUsMzcuNTg3Mjk5M0gxNi4yNTM5NTJjLTAuNTYxNTAwNSwwLTEuMDE1OTAwNiwwLjQ1NDM5OTEtMS4wMTU5MDA2LDEuMDE1ODk5Nw0KCQkJczAuNDU0NDAwMSwxLjAxNTg5OTcsMS4wMTU5MDA2LDEuMDE1ODk5N2gxMi4xOTA0OTY0YzAuNTYxNTAyNSwwLDEuMDE1ODAwNS0wLjQ1NDM5OTEsMS4wMTU4MDA1LTEuMDE1ODk5Nw0KCQkJUzI5LjAwNTk1MDksMzcuNTg3Mjk5MywyOC40NDQ0NDg1LDM3LjU4NzI5OTN6Ii8+DQoJPC9nPg0KPC9zdmc+DQo=");
}

.ui-kit-component {
  display: flex;
  flex-direction: column;
  row-gap: 2.4rem;
  width: 100%;
  padding: var(--ui-kit-component-gap);
  background-color: var(--color-primary-contrast);
  overflow: hidden;
}
.ui-kit-component.is-contrast .ui-kit-component__box--example {
  padding-inline: var(--ui-kit-component-gap);
  color: var(--color-black);
  background-color: var(--color-white);
  border-radius: var(--ui-kit-box-bd-rad);
}
.ui-kit-component__name {
  font-size: calc(32 / var(--scale-vw) * var(--vw, 1vw));
  line-height: 115%;
  letter-spacing: -0.02em;
  font-weight: 500;
  padding-block-end: var(--ui-kit-component-gap);
  font-weight: 700;
  text-transform: uppercase;
  border-bottom: 1px solid var(--color-border-secondary);
}
@media only screen and (min-width: 1921px) {
  .ui-kit-component__name {
    font-size: 32px;
  }
}
@media only screen and (max-width: 1440px) {
  .ui-kit-component__name {
    font-size: calc(28 / var(--scale-vw) * var(--vw, 1vw));
  }
}
@media only screen and (max-width: 768px) {
  .ui-kit-component__name {
    font-size: calc(24 / var(--scale-vw) * var(--vw, 1vw));
  }
}
@media only screen and (max-width: 480px) {
  .ui-kit-component__name {
    font-size: calc(17 / var(--scale-vw) * var(--vw, 1vw));
  }
}
.ui-kit-component__core {
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  row-gap: 3.2rem;
  height: 100%;
}
.ui-kit-component__box {
  display: flex;
  flex-direction: column;
  row-gap: var(--ui-kit-component-gap);
}
.ui-kit-component__box--example {
  padding-block: var(--ui-kit-component-gap);
}
.ui-kit-component__subtitle {
  font-family: monospace;
  font-size: 2.4rem;
  font-weight: 400;
  line-height: 1;
}
.ui-kit-component__code-box {
  position: relative;
  isolation: isolate;
}
.ui-kit-component__code-box:hover .ui-kit-component__copy-trigger-box {
  opacity: 1;
}
.ui-kit-component__code-box:has(button[data-copycode=trigger]:hover) .ui-kit-component__code {
  border-color: var(--color-white);
}
.ui-kit-component__copy-trigger-box {
  position: absolute;
  top: 0;
  right: 0;
  z-index: 1;
  display: flex;
  min-height: 3.2rem;
  opacity: 0;
  transition: opacity var(--trans-base);
}
.ui-kit-component__copy-trigger-box.is-copied .ui-kit-component__copy-trigger {
  display: none;
}
.ui-kit-component__copy-trigger-box.is-copied .ui-kit-component__copy-trigger-success-text {
  display: flex;
}
.ui-kit-component__copy-trigger {
  width: 3.2rem;
  height: 3.2rem;
  display: flex;
  justify-content: center;
  align-items: center;
  font-size: 0;
  line-height: 0;
  background-color: var(--color-border-secondary);
  background-image: var(--ui-kit-copy-code-trigger-icn);
  background-repeat: no-repeat;
  background-size: 85%;
  background-position: center;
  border: none;
  border-radius: var(--ui-kit-box-bd-rad);
  border-top-left-radius: 0;
  border-bottom-right-radius: 0;
  cursor: pointer;
  transition: background-color var(--trans-base);
}
.ui-kit-component__copy-trigger:where(:hover, :focus-visible) {
  background-color: var(--color-white);
}
.ui-kit-component__copy-trigger:active {
  background-color: var(--color-secondary);
}
.ui-kit-component__copy-trigger-success-text {
  font-size: calc(15 / var(--scale-vw) * var(--vw, 1vw));
  line-height: 120%;
  letter-spacing: 0.01em;
  font-weight: 500;
  display: none;
  justify-content: center;
  align-items: center;
  padding-inline: 0.8rem;
  border: 1px solid var(--color-border-secondary);
  border-radius: var(--ui-kit-box-bd-rad);
  border-top-left-radius: 0;
  border-bottom-right-radius: 0;
}
@media only screen and (min-width: 1921px) {
  .ui-kit-component__copy-trigger-success-text {
    font-size: 15px;
  }
}
@media only screen and (max-width: 1440px) {
  .ui-kit-component__copy-trigger-success-text {
    font-size: calc(11 / var(--scale-vw) * var(--vw, 1vw));
    letter-spacing: 0.02em;
  }
}
.ui-kit-component__code {
  display: flex;
  flex-direction: column;
  row-gap: 0.4rem;
  width: 100%;
  margin: 0;
  padding: 2rem 1.6rem;
  background-color: var(--color-primary-contrast-900);
  border: 1px solid var(--color-border-secondary);
  border-radius: var(--ui-kit-box-bd-rad);
  white-space: pre-wrap;
  overflow-x: auto;
  transition: border-color var(--trans-base);
}
.ui-kit-component__code code {
  width: 100%;
  min-width: max-content;
  font-family: monospace;
}
/*# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInN5c3RlbS9fbWl4LnNjc3MiLCJzeXN0ZW0vZm9udHMuc2NzcyIsInN5c3RlbS9hbmltYXRpb25zLnNjc3MiLCJzeXN0ZW0vcmVzZXQuc2NzcyIsInN5c3RlbS9jb3JlLnNjc3MiLCJzeXN0ZW0vdXRpbHMuc2NzcyIsInN5c3RlbS9iYXNlLnNjc3MiLCJzeXN0ZW0vX3R5cG9ncmFwaHkuc2NzcyIsInN5c3RlbS9fdmFycy5zY3NzIiwic3lzdGVtL3RleHQuc2NzcyIsIi4uLy4uL25vZGVfbW9kdWxlcy9zd2lwZXIvc3dpcGVyLnNjc3MiLCIuLi8uLi9ub2RlX21vZHVsZXMvc3dpcGVyL21vZHVsZXMvZWZmZWN0LWZhZGUuc2NzcyIsIi4uLy4uL25vZGVfbW9kdWxlcy9oeXN0bW9kYWwvbGliL2h5c3Rtb2RhbC5jc3MiLCJlbGVtZW50cy9hd2FyZC5zY3NzIiwiZWxlbWVudHMvYm9yZGVyLnNjc3MiLCJlbGVtZW50cy9ib3gtZGVjb3Iuc2NzcyIsImVsZW1lbnRzL2NoYXQuc2NzcyIsImVsZW1lbnRzL2NyZWVwaW5nLWxpbmUuc2NzcyIsImVsZW1lbnRzL2VsZW0taG92ZXIuc2NzcyIsImVsZW1lbnRzL2ZyYW1ld29yay5zY3NzIiwiZWxlbWVudHMvZnJhbWV3b3Jrcy1pbmZvLnNjc3MiLCJlbGVtZW50cy9tYWluLWxvZ28uc2NzcyIsImVsZW1lbnRzL251bWJlci1lbGVtLnNjc3MiLCJlbGVtZW50cy9waG9uZXMuc2NzcyIsImVsZW1lbnRzL3ByaW50ZWQuc2NzcyIsImVsZW1lbnRzL3NjcmFtYmxlLnNjc3MiLCJlbGVtZW50cy90ZXh0LW9wYWNpdHkuc2NzcyIsInVpLyU1QmRhdGEtdGFicyU1RC5zY3NzIiwidWkvYnRuLWNvcm5lcnMuc2NzcyIsInVpL2J0bi5zY3NzIiwidWkvZmllbGQuc2NzcyIsInVpL2lucHV0JnRleHRhcmVhLnNjc3MiLCJ1aS9saW5rLnNjc3MiLCJ1aS9tb2RhbC5zY3NzIiwidWkvcGljdHVyZS5zY3NzIiwidWkvcmFkaW8uc2NzcyIsInVpL3N3aXBlci5zY3NzIiwidWkvc3dpdGNoLnNjc3MiLCJibG9ja3MvYmFzZS1hY2NvcmRpb24uc2NzcyIsImJsb2Nrcy9ibG9jay1iZy5zY3NzIiwiYmxvY2tzL2Jsb2NrLXdoaXRlLWJnLnNjc3MiLCJibG9ja3MvY2xpZW50LnNjc3MiLCJibG9ja3MvY29udGFjdC11cy5zY3NzIiwiYmxvY2tzL2Nvb2tpZS1hY2NlcHQuc2NzcyIsImJsb2Nrcy9mb3JtLXJlc3VsdC10ZW1wLnNjc3MiLCJibG9ja3MvZm9ybS1yZXN1bHQuc2NzcyIsImJsb2Nrcy9mb3JtLnNjc3MiLCJibG9ja3MvaGVhZGVyLXN1Ym1lbnUuc2NzcyIsImJsb2Nrcy9oeXN0bW9kYWwuc2NzcyIsImJsb2Nrcy9pbnB1dC1lbGVtLnNjc3MiLCJibG9ja3MvaW5wdXQtdGV4dGFyZWEuc2NzcyIsImJsb2Nrcy9tYW5hZ2VyLWJsb2NrLnNjc3MiLCJibG9ja3MvbW9kYWwtbWVudS5zY3NzIiwiYmxvY2tzL3BhZ2UtbmF2LnNjc3MiLCJibG9ja3MvcGFnZS1zZWN0aW9uLnNjc3MiLCJibG9ja3MvcHJlbG9hZGVyLnNjc3MiLCJibG9ja3MvcHJvZHVjdC5zY3NzIiwiYmxvY2tzL3Byb2plY3Quc2NzcyIsImJsb2Nrcy9yZXZpZXdzLXNsaWRlci5zY3NzIiwiYmxvY2tzL3N0YWNrLnNjc3MiLCJibG9ja3Mvc3RpY2t5LW5hdi5zY3NzIiwiYmxvY2tzL3RlYW0tY2FyZC5zY3NzIiwiYmxvY2tzL3RlYW0tc2xpZGVyLXRodW1icy5zY3NzIiwic2VjdGlvbnMvYWRkLXNlY3Rpb24uc2NzcyIsInNlY3Rpb25zL2NhdGFsb2ctc2VjdGlvbi5zY3NzIiwic2VjdGlvbnMvY2xpZW50cy1zZWN0aW9uLnNjc3MiLCJzZWN0aW9ucy9jbGllbnRzLXNsaWRlci5zY3NzIiwic2VjdGlvbnMvZXJyb3Itc2VjdGlvbi5zY3NzIiwic2VjdGlvbnMvZmFxLXNlY3Rpb24uc2NzcyIsInNlY3Rpb25zL2Zvcm0tc2VjdGlvbi5zY3NzIiwic2VjdGlvbnMvZnJhbWV3b3Jrcy1zZWN0aW9uLnNjc3MiLCJzZWN0aW9ucy9mdW5jdGlvbmFsLnNjc3MiLCJzZWN0aW9ucy9ncmlkLXNlY3Rpb24uc2NzcyIsInNlY3Rpb25zL2xvZ28tc2VjdGlvbi5zY3NzIiwic2VjdGlvbnMvbmFtZS1wcm9kdWN0LnNjc3MiLCJzZWN0aW9ucy9wcm9qZWN0LXNlY3Rpb24uc2NzcyIsInNlY3Rpb25zL3Jldmlld3Mtc2VjdGlvbi5zY3NzIiwic2VjdGlvbnMvc2xvZ2FuLXNlY3Rpb24uc2NzcyIsInNlY3Rpb25zL3Ntb2tpbmctcm9vbS1zZWN0aW9uLnNjc3MiLCJzZWN0aW9ucy9zdGFuZGFyZC1ibG9jay5zY3NzIiwic2VjdGlvbnMvdGVhbS1zZWN0aW9uLnNjc3MiLCJwYWdlcy9+cGFnZS5zY3NzIiwibGF5b3V0L2Zvb3Rlci5zY3NzIiwibGF5b3V0L2hlYWRlci5zY3NzIiwibGF5b3V0L3dpZHRoLnNjc3MiLCJ2ZW5kb3JzL2N1c3RvbS1jYXJldC1pbnB1dC5zY3NzIiwidmVuZG9ycy9jdXN0b20tY2FyZXQtdGV4dGFyZWEuc2NzcyIsInNwZWNpYWwvdWkta2l0LnNjc3MiLCJzcGVjaWFsL3VpLWtpdC1jb21wb25lbnQuc2NzcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBNEZBO0FDM0ZBO0VBQ0U7RUFDQSxLQUNFO0VBR0Y7RUFDQTtFQUNBOztBQUdGO0VBQ0U7RUFDQSxLQUNFO0VBR0Y7RUFDQTtFQUNBOztBQ3BCRjtFQUNFO0lBQ0U7O0VBR0Y7SUFDRTs7O0FBSUo7RUFDRTtJQUNFO0lBQ0E7O0VBR0Y7SUFDRTs7RUFHRjtJQUNFOzs7QUFJSjtFQUNFO0lBQ0U7O0VBR0Y7SUFDRTs7O0FBSUo7RUFDRTtJQUNFOztFQUdGO0lBQ0U7OztBQUlKO0VBQ0U7SUFDRTtJQUNBOztFQUdGO0lBQ0U7SUFDQTs7O0FBSUo7RUFDRTtJQUNFOztFQUdGO0lBQ0U7O0VBR0Y7SUFDRTs7O0FBSUo7RUFDRTtJQUNFO0lBQ0E7O0VBR0Y7SUFDRTtJQUNBOztFQUdGO0lBQ0U7SUFDQTs7O0FB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RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7O0FBRUY7QUFBQTtBQUFBO0VBR0U7OztBQUVGO0VBQ0U7OztBQUVGO0VBQ0U7OztBQUVGO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBOzs7QUFFRjtFQUNFOzs7QUFFRjtBQUNBO0FBQUE7RUFFRTs7O0FBRUY7RUFDRTtFQUNBOzs7QUFFRjtFQUNFO0VBQ0E7OztBQUVGO0FBQ0E7RUFDRTs7O0FBRUY7RUFDRTs7O0FBRUY7RUFDRTs7QUFDQTtBQUFBO0VBRUU7OztBQUlKO0FBRUU7RUFDRTtFQUNBO0VBQ0E7O0FBQ0E7RUFDRTs7QUFHSjtFQUNFOztBQUdBO0VBQ0U7O0FBSUY7RUFDRTs7QUFJRjtFQUNFOztBQUVGO0VBQ0U7O0FBSUY7RUFDRTtFQUNBO0VBQ0E7O0FBRUY7RUFDRTtFQUNBOztBQUlGO0VBQ0U7O0FBRUY7RUFDRTtFQUNBO0VBQ0E7O0FBSUY7RUFDRTs7QUFFRjtFQUNFO0VBQ0E7RUFDQTs7O0FBS047QUFDQTtBQUVFO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0VBVUU7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7O0FBRUY7RUFDRTs7QUFFRjtFQUNFOztBQUVGO0VBQ0U7O0FBRUY7RUFDRTs7QUFFRjtFQUNFOzs7QUFHSjtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBOzs7QUFJQTtBQUFBO0VBQ0U7OztBQUdKO0VBQ0U7OztBQUVGO0VBQ0U7OztBQUVGO0VBQ0U7SUFDRTs7RUFFRjtJQUNFOzs7QUFHSjtBQ3RQSTtFQUNFOztBQUdKO0VBQ0U7RUFDQTs7QUFDQTtFQUNFOztBQUlGO0VBRUU7OztBQ2hCTjtFQUNFO0VBQ0E7OztBQUdGO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7O0FB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O0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBOztBQUdGO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7QXZEc01BO0V1RGxNQTtJQUNFOzs7QXZEc01GO0V1RGpNQTtJQUNFOzs7QXZENFBGO0V1RHZQQTtJQUNFOzs7QXZEb1JGO0V1RC9RQTtJQUNFOzs7O0FBS047RUFDRTtFQUNBOzs7QUMxREY7RUFDRTtFQUNBO0VBQ0E7O0FBRUE7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7QUFFQTtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBOztBQUlKO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7O0FBR0Y7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7O0FBR0Y7RWpEa0tBO0VBQ0E7RUFDQTtFQUNBO0VpRG5LRTs7QXhEaUxBO0V3RG5MRjtJakR3S0U7OztBUGdCQTtFd0R4TEY7SWpENEtFO0lBQ0E7OztBaUR4S0Y7RUFDRTtFQUNBO0VBQ0E7O0FBR0Y7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBOztBQUdGO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBOztBQUVBO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7QUFJSjtFakR3VkE7RUFDQTtFQUNBO0VpRHhWRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7QXhEc0lBO0V3RHBKRjtJakQ2VkU7OztBUDFMQTtFd0RuS0Y7SWpEaVdFOzs7QVBoS0E7RXdEak1GO0lqRHFXRTs7O0FpRHBWRjtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0FBQ0E7RUFDQTtFQUNBO0VBQ0E7O0FBRUE7RUFDRTtFQUNBO0VBQ0E7O0FBSUo7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBOztBQUdGO0VBQ0U7RUFDQTtF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RUFDQTtFQUNBO0VzRHBZRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7O0E3RG9LQTtFNkQ5S0Y7SXREeVlFOzs7QVA1TUE7RTZEN0xGO0l0RDZZRTs7O0FQbktBO0U2RDFPRjtJdERpWkU7OztBUHpJQTtFNkR4UUY7SXREcVpFO0lBQ0E7OztBc0QxWUE7RXREd1hGO0VBQ0E7RUFDQTs7QVB4TkU7RTZEbEtBO0l0RDZYQTs7O0FQNU1BO0U2RGpMQTtJdERpWUE7OztBUG5LQTtFNkQ5TkE7SXREcVlBOzs7QVB6SUE7RTZENVBBO0l0RHlZQTtJQUNBOzs7QXNEcllGO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7O0FBR0Y7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7QUFHRjtFdEQ0UEE7RUFDQTtFQUNBO0VBQ0E7O0FQM0hFO0U2RHBJRjtJdERrUUU7OztBUHpIQTtFNkR6SUY7SXREc1FFOzs7QVBqRUE7RTZEck1GO0l0RDBRRTs7O0FQdkNBO0U2RG5PRjtJdEQ4UUU7OztBc0QxUUY7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7O0FBR0Y7RUFDRTtFQUNBOztBQUVBO0VBQ0U7O0FBR0Y7RUFDRTtFQUNBOztBQUlKO0VBQ0U7O0FBR0Y7RXREb0ZBO0VBQ0E7RUFDQTtFQUNBO0VzRHJGRTs7QTdEbUdBO0U2RHJHRjtJdEQwRkU7OztBUGdCQTtFNkQxR0Y7SXREOEZFO0lBQ0E7OztBc0QxRkY7RXREakZBO0VBQ0E7RUFDQTtFQUNBO0VzRGdGRTs7QTdEOEZBO0U2RGhHRjtJdEQzRUU7OztBUGdMQTtFNkRyR0Y7SXREdkVFO0lBQ0E7OztBUHVPQTtFNkRqS0Y7SXREbEVFOzs7QVBpUUE7RTZEL0xGO0l0RDlERTtJQUNBOzs7QXNEa0VGO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7O0FBR0Y7RUFDRTs7QUFFQTtFdEQ0SEY7RUFDQTtFQUNBO0VBQ0E7RXNEN0hJLGFyRDdFa0I7O0FSNEpwQjtFNkRqRkE7SXREa0lBOzs7QVA1Q0E7RTZEdEZB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OztFQUdGO0lBQ0U7O0VBSUE7SUFDRTs7RUFHRjtJQUNFOztFQUdGO0lBQ0U7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTs7O0FoRWdOSjtFZ0UxTUE7SUFDRTtJQUNBOztFQUdGO0lBQ0U7O0VBSUE7SUFDRTs7RUFHRjtJQUNFOzs7O0FDdElSO0VBQ0U7O0FBRUE7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBOztBQUdGO0VBQ0U7RUFDQTs7QUFFQTtFQUNFOztBQUtBO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7QUFLTjtFQUNFOztBQUVBO0VBQ0U7O0FBSUo7RUFDRTtFQUNBO0VBQ0E7O0FBR0Y7RUFDRTtFQUNBO0VBQ0E7RUFDQTs7QUFFQTtFQUNFO0VBQ0E7RUFDQTtFQUNBOztBQUdGO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7O0FBR0Y7RUFDRTtFQUNBO0VBQ0E7RUFDQTs7QUFHRjtFQUNFO0VBQ0E7RUFDQTtFQUNBOztBakU2SUY7RWlFdklFO0lBQ0U7O0VBSUo7SUFDRTtJQUNBOzs7QWpFcUlGO0VpRS9IRTtJQUNFOzs7QWpFMExKO0VpRXBMQTtJQUNFOztFQUlBO0lBQ0U7O0VBR0Y7SUFDRTs7RUFHRjtJQUNFO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBOzs7QWpFcUxKO0VpRTlLRTtJQUNFOzs7O0FDcEpSO0VBQ0U7RUFDQTs7QUFFQTtFQUNFO0VBQ0E7RUFDQTtFQUNBOztBQUdGO0VBQ0U7RUFDQTtFQUNBOztBQUdGO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBOztBQUdGO0VBQ0U7O0FBRUE7RUFDRTtFQUNBO0VBQ0E7O0FBR0Y7RUFDRTs7QUFHRjtFQUNFO0VBQ0E7O0FBRUE7RUFDRTtFQUNBO0VBQ0E7RUFDQTs7QUFHRjtFQUNFO0VBQ0E7O0FBR0Y7RUFDRTtFQUNBOztBQUdGO0VBQ0U7RUFDQTtFQUNBOztBQUdGO0VBQ0U7RUFDQTtFQUNBOztBbEU4Tko7RWtFeE5BO0lBQ0U7O0VBSUE7SUFDRTs7OztBQU1SO0VBQ0U7RUFDQTtFQUNBOztBQUVBO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7O0FBR0Y7RUFDRTtFQUNBOztBQUdGO0VBQ0U7RUFDQTs7QUFHRjtFQUNFO0VBQ0E7O0FBR0Y7RUFDRTtFQUNBOzs7QUN2SEo7RUFDRTtFQUNBO0VBQ0E7O0FBRUE7RUFDRTtFQUNBOztBQUdGO0VBQ0U7RUFDQTtFQUNBOztBQUdGO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7O0FBR0Y7RUFDRTtFQUNBO0VBQ0E7RUFDQTs7QUFHRjtFNURnSEE7RUFDQTtFQUNBO0VBQ0E7RTREakhFOztBbkVrTUE7RW1FcE1GO0k1RHNIRTs7O0FQbUZBO0VtRXpNRjtJNUQwSEU7OztBUDJJQTtFbUVyUUY7STVEOEhFOzs7QVBxS0E7RW1FblNGO0k1RGtJRTs7O0E0RDdIRjtFNUR5SkE7RUFDQTtFQUNBO0VBQ0E7RTREMUpFOztBbkU2TEE7RW1FL0xGO0k1RCtKRTs7O0FQcUNBO0VtRXBNRjtJNURtS0U7OztBUDJIQTtFbUU5UkY7STVEdUtFO0lBQ0E7SUFDQTs7O0FQc0JBO0VtRXpMQTtJQUNFOzs7QW5FeVBGO0VtRXBQQTtJQUNFO0lBQ0E7OztBbkVnUkY7RW1FM1FBO0lBQ0U7SUFDQTtJQUNBO0lBQ0E7O0VBR0Y7SUFDRTtJQUNBOztFQUdGO0lBQ0U7SUFDQTs7OztBQ25FSjtFQUNFO0VBQ0E7O0FwRStOQTtFb0UzTkE7SUFDRTtJQUNBOzs7QXBFOE5GO0VvRXpOQTtJQUNFO0lBQ0E7OztBcEVtUkY7RW9FOVFBO0lBQ0U7SUFDQTs7O0FwRTBTRjtFb0VyU0E7SUFDRTtJQUNBOzs7O0FDN0JKO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7O0FBR0Y7RUFDRTtFQUNBO0VBQ0E7O0FBR0Y7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7O0FBR0Y7RUFDRTtFQUNBO0VBQ0E7O0FBR0Y7RUFDRTtFQUNBO0VBQ0E7O0FBR0Y7RUFDRTs7QXJFOExBO0VxRXpMQTtJQUNFO0lBQ0E7O0VBR0Y7SUFDRTs7RUFHRjtJQUNFOztFQUdGO0lBQ0U7SUFDQTs7O0FyRWdLRjtFcUUzSkE7SUFDRTs7O0FyRXlLRjtFcUVwS0E7SUFDRTtJQUNBOztFQUdGO0lBQ0U7O0VBR0Y7SUFDRTs7RUFHRjtJQUNFOzs7QXJFcUtGO0VxRWhLQTtJQUNFO0lBQ0E7SUFDQTs7RUFHRjtJQUNFOzs7QXJFcU5GO0VxRWhOQTtJQUNFOztFQUdGO0lBQ0U7SUFDQTs7RUFHRjtJQUNFOzs7QXJFdUxGO0VxRWxMQTtJQUNFOzs7O0FDbEhOO0VBQ0U7O0FBRUE7RUFDRTtFQUNBOztBQUdGO0VBQ0U7O0FBR0Y7RS9EZ0xBO0VBQ0E7RUFDQTtFQUNBO0UrRGpMRTs7QXRFb05BO0VzRXRORjtJL0RzTEU7OztBUHFDQTtFc0UzTkY7SS9EMExFOzs7QVAySEE7RXNFclRGO0kvRDhMRTtJQUNBO0lBQ0E7OztBK0QzTEY7RUFDRTs7QUFHRjtFQUNFOztBQUdGO0VBQ0U7O0F0RW1SQTtFc0U5UUE7SUFDRTs7RUFHRjtJQUNFO0lBQ0E7SUFDQTs7RUFFQTtJQUNFOztFQUdGO0lBQ0U7SUFDQTs7RUFJSjtJQUNFO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7O0VBR0Y7SUFDRTtJQUNBO0lBQ0E7SUFDQTs7RUFFQTtJQUNFO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTs7RUFHRjtJQUNFO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTs7RUFJSjtJQUNFO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTs7RUFHRjtJQUNFO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTs7RUFHRjtJQUNFO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTs7RUFHRjtJQUNFO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTs7RUFHRjtJQUNFO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTs7RUFHRjtJQUNFO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7O0VBSUE7SUFDRTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7O0VBSUo7SUFDRTtJQUNBO0lBQ0E7SUFDQTtJQUNBOztFQUdGO0lBQ0U7SUFDQTtJQUNBO0lBQ0E7SUFDQTs7RUFHRjtJQUNFO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7O0VBR0Y7SUFDRTtJQUNBO0lBQ0E7SUFDQTtJQUNBOztFQUdGO0lBQ0U7SUFDQTtJQUNBO0lBQ0E7O0VBR0Y7SUFDRTtJQUNBOztFQUlBO0lBQ0U7SUFDQTs7RUFHRjtJQUNFO0lBQ0E7O0VBR0Y7SUFDRTs7RUFJSjtJQUNFO0lBQ0E7O0VBRUE7SUFDRTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBOztFQUlKO0lBQ0U7SUFDQTs7RUFHRjtJQUNFOztFQUdGO0lBQ0U7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7O0VBR0Y7SUFDRTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTs7O0F0RWlGRjtFc0U3RUU7SUFDRTs7RUFHRjtBQUNFOztFQUNBO0FBQUE7SUFFRTs7O0F0RS9DTjtFc0V1REU7SUFDRTs7O0F0RW5ESjtFc0V5REE7SUFDRTs7RUFHRjtJQUNFOztFQUdGO0lBQ0U7O0VBR0Y7SUFDRTs7O0F0RXZERjtFc0U0REE7SUFDRTs7RUFHRjtJQUNFOztFQUdGO0lBQ0U7OztBdEV4QkY7RXNFNkJBO0lBQ0U7SUFDQTs7RUFHRjtJQUNFO0lBQ0E7SUFDQTs7RUFHRjtJQUNFO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTs7RUFHRjtJQUNFO0lBQ0E7O0VBRUE7SUFDRTs7RUFJSjtJQUNFO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7O0VBR0Y7SUFFRTs7RUFHRjtJQUVFO0lBQ0E7SUFDQTs7O0F0RTdDRjtFc0VqVUo7SUFtWEk7O0VBRUE7SUFDRTs7RUFHRjtJQUNFO0lBQ0E7SUFDQTtJQUNBOztFQUdGO0lBQ0U7O0VBRUE7SUFDRTs7RUFJSjtJQUNFO0lBQ0E7SUFDQTs7RUFHRjtJQUVFO0lBQ0E7Ozs7QUNoWko7RWhFZ09BLGFDM0pzQjtFRDRKdEI7RUFDQTtFQUNBO0VBQ0E7RWdFbE9FO0VBQ0E7O0F2RThOQTtFdUVqT0Y7SWhFdU9FOzs7QVBEQTtFdUV0T0Y7SWhFMk9FO0lBQ0E7SUFDQTs7O0FQcURBO0V1RWxTRjtJaEVpUEU7SUFDQTtJQUNBOzs7QVA2RUE7RXVFaFVGO0loRXVQRTs7O0FQdEJBO0V1RTFOQTtJQUNFOzs7QXZFOE5GO0V1RXpOQTtJQUNFOzs7QXZFb1JGO0V1RS9RQTtJQUNFOztFQUVBO0lBQ0U7OztBdkV5U0o7RXVFblNBO0lBQ0U7Ozs7QUM5Qko7RUFDRTtFQUNBOztBQUdGO0VBQ0U7O0FBR0Y7RUFDRTs7QUFHRjtFQUNFOztBeEVxUUE7RXdFalFBO0lBQ0U7O0VBR0Y7SUFDRTs7OztBQ3hCTjtFQUNFO0VBQ0E7RUFDQTs7QUFFQTtFQUNFO0VBQ0E7RUFDQTtFQUNBOztBQUdGO0VBQ0U7RUFDQTs7QUFHRjtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7QUFHRjtFbEVnREE7RUFDQTtFQUNBO0VBQ0E7RWtFakRFOztBekVzTUE7RXlFeE1GO0lsRXNERTs7O0FQdUpBO0V5RTdNRjtJbEUwREU7SUFDQTs7O0FQOE1BO0V5RXpRRjtJbEUrREU7OztBUHdPQTtFeUV2U0Y7SWxFbUVFOzs7QWtFOURGO0VsRTZKQTtFQUNBO0VBQ0E7RUFDQTtFa0U5SkU7O0F6RWlNQTtFeUVuTUY7SWxFbUtFOzs7QVBxQ0E7RXlFeE1GO0lsRXVLRTs7O0FQMkhBO0V5RWxTRjtJbEUyS0U7SUFDQTtJQUNBOzs7QWtFeEtGO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7O0FBR0Y7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7QUFHRjtFQUNFO0VBQ0E7RUFDQTs7QUFHRjtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7O0FBR0Y7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7O0FBR0Y7RUFDRTs7QXpFa0pB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QUNBO0VBQ0E7O0FBSUo7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBOztBQUdGO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7O0FBR0Y7RXZFVUE7RUFDQTtFQUNBO0VBQ0E7RXVFWEU7O0E5RXlMQTtFOEUzTEY7SXZFZ0JFOzs7QVBnTEE7RThFaE1GO0l2RW9CRTtJQUNBOzs7QVB1T0E7RThFNVBGO0l2RXlCRTs7O0FQaVFBO0U4RTFSRjtJdkU2QkU7SUFDQTs7O0F1RXpCRjtFQUNFO0VBQ0E7RUFDQTs7QUFHRjtFdkUwSUE7RUFDQTtFQUNBO0VBQ0E7RXVFM0lFO0VBQ0E7O0E5RTZLQTtFOEVoTEY7SXZFZ0pFOzs7QVBxQ0E7RThFckxGO0l2RW9KRTs7O0FQMkhBO0U4RS9RRjtJdkV3SkU7SUFDQTtJQUNBOzs7QXVFcEpGO0VBQ0U7RUFDQTtFQUNBOztBQUdGO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7O0FBR0Y7RUFDRTs7QTlFeUpBO0U4RXBKQTtJQUNFO0lBQ0E7O0VBR0Y7SUFDRTs7RUFHRjtJQUNFOztFQUdGO0lBQ0U7SUFDQTs7O0E5RTBJRjtFOEV0SUE7SUFDRTs7RUFHRjtJQUNFOztFQUdGO0lBQ0U7SUFDQTs7RUFHRjtJQUNFOztFQUdGO0lBQ0U7O0VBR0Y7SUFDRTtJQUNBOztFQUdGO0lBQ0U7OztBOUUwSEY7RThFckhBO0lBQ0U7O0VBR0Y7SUFDRTs7RUFHRjtJQUNFOzs7QTlFeUpGO0U4RXBKQTtJQUNFO0lBQ0E7O0VBR0Y7SUFDRTs7RUFHRjtJQUNFO0lBQ0E7SUFDQTs7RUFHRjtJQUNFO0lBQ0E7OztBOUVrSkY7RThFN0lBO0lBQ0U7O0VBR0Y7SUFDRTtJQUNBOztFQUdGO0lBQ0U7OztBOUVrSkY7RThFN0lBO0lBQ0U7SUFDQTs7OztBQ3JMSjtFQUNFO0VBQ0E7RUFDQTs7QUFHRjtFQUNFOztBQUdGO0V4RXNDQTtFQUNBO0VBQ0E7RUFDQTtFd0V2Q0U7RUFDQTs7QS9Fb05BO0UrRXZORjtJeEU0Q0U7OztBUGdMQTtFK0U1TkY7SXhFZ0RFO0lB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OztBaUZqSUY7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBOztBQUdGO0VBQ0U7RUFDQTtFQUNBOztBQUVBO0VBQ0U7O0FBSUo7RUFFSTtFQUNBO0VBQ0E7RUFFRjs7QUFHRjtFQUNFO0VBQ0E7O0FBR0Y7RUFDRTs7QUFHRjtFQUNFOztBQUdGO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7QUFHRjtFQUNFOztBQUdGO0VBQ0U7O0FBR0Y7RXhGdkVBLE93RndFa0I7RXhGdkVsQixRd0Z1RWtCO0VBQ2hCO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFFRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBRUY7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBOztBQUVBO0VBQ0U7O0FBR0Y7RUFDRTs7QUFJSjtFakZ3TEE7RUFDQTtFQUNBO0VBQ0E7RWlGekxFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7O0F4RmlHQTtFd0YxR0Y7SWpGOExFOzs7QVAvRUE7RXdGL0dGO0lqRmtNRTtJQUNBOzs7QWlGdkxGO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBOztBQUVBO0VBQ0U7RUFDQTtFQUNBIiwiZmlsZSI6InN0eWxlLmNzcyIsInNvdXJjZXNDb250ZW50IjpbIkBtaXhpbiBmb250LXNpemUoJHNpemUsICRsaW5lSGVpZ2h0OiAkc2l6ZSkge1xuICBmb250LXNpemU6ICRzaXplO1xuXG4gIEBpZiAkbGluZUhlaWdodCA9PSAwIHtcbiAgICBsaW5lLWhlaWdodDogMTtcbiAgfVxuICBAZWxzZSB7XG4gICAgbGluZS1oZWlnaHQ6IGNhbGMoJGxpbmVIZWlnaHQgLyAkc2l6ZSk7XG4gIH1cbn1cblxuQG1peGluIGZsZXgtd2lkdGgoJHdpZHRoKSB7XG4gIHdpZHRoOiAkd2lkdGg7XG4gIG1heC13aWR0aDogJHdpZHRoO1xuICBmbGV4OiAwIDAgJHdpZHRoO1xuICBtaW4td2lkdGg6IDFweDtcbn1cblxuQG1peGluIHNxdWFyZSgkc2l6ZSkge1xuICB3aWR0aDogJHNpemU7XG4gIGhlaWdodDogJHNpemU7XG59XG5cbkBtaXhpbiBhYnNvbHV0ZS1sYXllcigpIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBsZWZ0OiAwO1xuICB0b3A6IDA7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IDEwMCU7XG59XG5cbkBtaXhpbiBoeXBoZW5zKCRzeW1ib2w6ICctJykge1xuICB3b3JkLXdyYXA6IGJyZWFrLXdvcmQ7XG4gIG92ZXJmbG93LXdyYXA6IGJyZWFrLXdvcmQ7XG4gIC8vIHN0eWxlbGludC1kaXNhYmxlXG4gIC13ZWJraXQtaHlwaGVuczogYXV0bztcbiAgLW1zLWh5cGhlbnM6IGF1dG87XG4gIC8vIHN0eWxlbGludC1lbmFibGVcbiAgaHlwaGVuczogYXV0bztcbiAgaHlwaGVuYXRlLWNoYXJhY3RlcjogJHN5bWJvbDtcbn1cblxuQG1peGluIHRleHQtb3ZlcmZsb3coJHZhbHVlOiAxKSB7XG4gIEBpZiAkdmFsdWUgPT0gMCB7XG4gICAgbWF4LXdpZHRoOiB1bnNldDtcbiAgICBvdmVyZmxvdzogdW5zZXQ7XG4gICAgdGV4dC1vdmVyZmxvdzogdW5zZXQ7XG4gICAgd2hpdGUtc3BhY2U6IHVuc2V0O1xuICB9XG4gIEBlbHNlIHtcbiAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICB0ZXh0LW92ZXJmbG93OiBlbGxpcHNpcztcbiAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICB9XG59XG5cbkBtaXhpbiBsaW5lLWNsYW1wKCRsaW5lczogMykge1xuICBAaWYgJGxpbmVzID09IDAge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIC8qIGF1dG9wcmVmaXhlcjogb2ZmICovXG4gICAgLXdlYmtpdC1saW5lLWNsYW1wOiBub25lO1xuICAgIC13ZWJraXQtYm94LW9yaWVudDogaW5pdGlhbDtcbiAgICAvKiBhdXRvcHJlZml4ZXI6IG9uICovXG4gICAgb3ZlcmZsb3c6IHVuc2V0O1xuICAgIHRleHQtb3ZlcmZsb3c6IHVuc2V0O1xuICAgIHdvcmQtd3JhcDogdW5zZXQ7XG4gIH1cbiAgQGVsc2Uge1xuICAgIC8vIHN0eWxlbGludC1kaXNhYmxlXG4gICAgLyogYXV0b3ByZWZpeGVyOiBvZmYgKi9cbiAgICBkaXNwbGF5OiAtd2Via2l0LWJveDtcbiAgICAtd2Via2l0LWxpbmUtY2xhbXA6ICRsaW5lcztcbiAgICAtd2Via2l0LWJveC1vcmllbnQ6IHZlcnRpY2FsO1xuICAgIC8qIGF1dG9wcmVmaXhlcjogb24gKi9cbiAgICAvLyBzdHlsZWxpbnQtZW5hYmxlXG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICB0ZXh0LW92ZXJmbG93OiBlbGxpcHNpcztcbiAgICB3b3JkLXdyYXA6IGJyZWFrLXdvcmQ7XG4gIH1cbn1cblxuQG1peGluIGhpZGUtc2Nyb2xsIHtcbiAgLW1zLW92ZXJmbG93LXN0eWxlOiBub25lO1xuICBzY3JvbGxiYXItd2lkdGg6IG5vbmU7XG4gIG92ZXJzY3JvbGwtYmVoYXZpb3I6IGNvbnRhaW47XG5cbiAgJjo6LXdlYmtpdC1zY3JvbGxiYXIge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cbn1cblxuLyog0J7RhNC+0YDQvNC70LXQvdC40LUg0LLQtdGA0YLQuNC60LDQu9GM0L3QvtCz0L4g0YHQutGA0L7Qu9C70LHQsNGA0LAgKi9cbkBtaXhpbiB2LXNjcm9sbCgpIHtcbiAgc2Nyb2xsYmFyLWNvbG9yOiB2YXIoLS1jb2xvci1zZWNvbmRhcnktMzApIHZhcigtLWNvbG9yLXNlY29uZGFyeS0yMCk7XG4gIHNjcm9sbGJhci13aWR0aDogdGhpbjtcblxuICAvKiDRgdC60YDQvtC70LvQsdCw0YAgKi9cbiAgJjo6LXdlYmtpdC1zY3JvbGxiYXIge1xuICAgIHdpZHRoOiA0cHg7XG4gICAgLy8gc3R5bGVsaW50LWRpc2FibGVcbiAgICAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7XG4gICAgLy8gc3R5bGVsaW50LWVuYWJsZVxuICAgIGFwcGVhcmFuY2U6IG5vbmU7XG4gIH1cblxuICAvKiDRgtGA0LXQuiAqL1xuICAmOjotd2Via2l0LXNjcm9sbGJhci10cmFjayB7XG4gICAgYm9yZGVyLXJhZGl1czogNHB4O1xuICAgIGJhY2tncm91bmQ6IHZhcigtLWNvbG9yLXNlY29uZGFyeS0yMCk7XG4gIH1cblxuICAvKiDQv9C+0LvQt9GD0L3QvtC6ICovXG4gICY6Oi13ZWJraXQtc2Nyb2xsYmFyLXRodW1iIHtcbiAgICBib3JkZXI6IDJweCBzb2xpZCB2YXIoLS1jb2xvci1zZWNvbmRhcnktMjApO1xuICAgIGJvcmRlci1yYWRpdXM6IDJweDtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jb2xvci1zZWNvbmRhcnktMjApO1xuICB9XG59XG5cbkBtaXhpbiBpbWctY292ZXIoKSB7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IDEwMCU7XG4gIG9iamVjdC1maXQ6IGNvdmVyO1xuICBkaXNwbGF5OiBibG9jaztcbiAgdXNlci1zZWxlY3Q6IG5vbmU7XG59XG5cbkBtaXhpbiBzYWZhcmktcmFkaXVzKCkge1xuICAvLyBGaXggb3ZlcmZsb3cgZnJvbSBiZCByYWRpdXNcbiAgLy8gc3R5bGVsaW50LWRpc2FibGVcbiAgLXdlYmtpdC1iYWNrZmFjZS12aXNpYmlsaXR5OiBoaWRkZW47XG4gIC1tb3otYmFja2ZhY2UtdmlzaWJpbGl0eTogaGlkZGVuO1xuICBiYWNrZmFjZS12aXNpYmlsaXR5OiBoaWRkZW47XG4gIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgLW1vei10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICAtd2Via2l0LW1hc2staW1hZ2U6IC13ZWJraXQtcmFkaWFsLWdyYWRpZW50KCNmZmYsICMwMDApO1xuICAvLyBzdHlsZWxpbnQtZW5hYmxlXG59XG5cbkBtaXhpbiBiZXR0ZXItZm9udHMoKSB7XG4gIC8vIEZvciBkYXJrIGJhY2tncm91bmRzXG4gIC13ZWJraXQtZm9udC1zbW9vdGhpbmc6IGFudGlhbGlhc2VkO1xuICAtbW96LW9zeC1mb250LXNtb290aGluZzogZ3JheXNjYWxlO1xufVxuXG5AbWl4aW4gYnRuLXJlc2V0KCkge1xuICBib3JkZXI6IDA7XG4gIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICBtYXJnaW46IDA7XG4gIHBhZGRpbmc6IDA7XG4gIHVzZXItc2VsZWN0OiBub25lO1xufVxuXG5AbWl4aW4gc2VsZWN0LXJlc2V0KCkge1xuICAvLyBzdHlsZWxpbnQtZGlzYWJsZVxuICAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7XG4gIC1tb3otYXBwZWFyYW5jZTogbm9uZTtcbiAgLy8gc3R5bGVsaW50LWVuYWJsZVxuICBhcHBlYXJhbmNlOiBub25lO1xuICB0ZXh0LWluZGVudDogMXB4O1xuICB0ZXh0LW92ZXJmbG93OiAnJztcblxuICAmOjotbXMtZXhwYW5kIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG59XG5cbkBtaXhpbiBibHVyKCR2YWwpIHtcbiAgLy8gc3R5bGVsaW50LWRpc2FibGVcbiAgLXdlYmtpdC1iYWNrZHJvcC1maWx0ZXI6IGJsdXIoJHZhbCk7XG4gIC8vIHN0eWxlbGludC1lbmFibGVcbiAgYmFja2Ryb3AtZmlsdGVyOiBibHVyKCR2YWwpO1xuICB3aWxsLWNoYW5nZTogYmFja2Ryb3AtZmlsdGVyO1xufVxuXG5AbWl4aW4gdmlzdWFsbHktaGlkZGVuIHtcbiAgdmlzaWJpbGl0eTogaGlkZGVuO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHdpZHRoOiAxcHg7XG4gIGhlaWdodDogMXB4O1xuICBtYXJnaW46IC0xcHg7XG4gIGNsaXA6IHJlY3QoMCAwIDAgMCk7XG59XG5cbkBtaXhpbiBwaWN0dXJlZC1pbWcge1xuICBkaXNwbGF5OiBibG9jaztcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogMTAwJTtcbiAgb2JqZWN0LWZpdDogY292ZXI7XG59XG5cbi8vIFshIFZFTkRPUiAhXSBSZXF1aXJlZCBzZXQgb2Ygc3R5bGVzXG4vLyBmb3IgY29ycmVjdCAnY3VzdG9tLWNhcmV0JyB3b3JrXG5AbWl4aW4gY3VzdG9tLWNhcmV0LXJlcXVpcmVtZW50cyB7XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gIHdpZHRoOiAxMDAlO1xuICBjYXJldC1jb2xvcjogdmFyKC0tY29sb3ItdHJhbnNwYXJlbnQpO1xufVxuXG4vLyBbISBWRU5ET1IgIV0gTWl4IHdpdGggYW5pbWF0aW9uXG4vLyBmb3IgdGhlICdjdXN0b20tY2FyZXQnIGZvciBpbnB1dHMgYW5kIHRleHRhcmVhc1xuQG1peGluIGN1c3RvbS1jYXJldC1ibGlua2luZy1hbmltIHtcbiAgYW5pbWF0aW9uOiB7XG4gICAgbmFtZTogY3VzdG9tLWNhcmV0LWJsaW5raW5nO1xuICAgIGR1cmF0aW9uOiAxcztcbiAgICB0aW1pbmctZnVuY3Rpb246IHN0ZXAtc3RhcnQ7XG4gICAgaXRlcmF0aW9uLWNvdW50OiBpbmZpbml0ZTtcbiAgfVxufVxuXG4vLyBNRURJQVxuLy8g0KPQvdC40LLQtdGA0YHQsNC70YzQvdGL0Lkg0LzQuNC60YHQuNC9INC00LvRjyDQvNC10LTQuNCwLdC30LDQv9GA0L7RgdC+0LJcbkBtaXhpbiBtZWRpYSgkbWVkaWEpIHtcbiAgQGlmICRtZWRpYSA9PSBmdWxsaGQge1xuICAgIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogJG1lZGlhLWZ1bGxoZCkge1xuICAgICAgQGNvbnRlbnQ7XG4gICAgfVxuICB9XG4gIEBlbHNlIGlmICRtZWRpYSA9PSBmdWxsaGQtYWZ0ZXIge1xuICAgIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogY2FsYygkbWVkaWEtZnVsbGhkIC0gMXB4KSkge1xuICAgICAgQGNvbnRlbnQ7XG4gICAgfVxuICB9XG4gIEBlbHNlIGlmICRtZWRpYSA9PSBmdWxsaGQtYmVmb3JlIHtcbiAgICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IGNhbGMoJG1lZGlhLWZ1bGxoZCArIDFweCkpIHtcbiAgICAgIEBjb250ZW50O1xuICAgIH1cbiAgfVxuICBAZWxzZSBpZiAkbWVkaWEgPT0gcXVhZGhkIHtcbiAgICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6ICRtZWRpYS1xdWFkaGQpIHtcbiAgICAgIEBjb250ZW50O1xuICAgIH1cbiAgfVxuICBAZWxzZSBpZiAkbWVkaWEgPT0gcXVhZGhkLWFmdGVyIHtcbiAgICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IGNhbGMoJG1lZGlhLXF1YWRoZCAtIDFweCkpIHtcbiAgICAgIEBjb250ZW50O1xuICAgIH1cbiAgfVxuICBAZWxzZSBpZiAkbWVkaWEgPT0gcXVhZGhkLWJlZm9yZSB7XG4gICAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiBjYWxjKCRtZWRpYS1xdWFkaGQgKyAxcHgpKSB7XG4gICAgICBAY29udGVudDtcbiAgICB9XG4gIH1cbiAgQGVsc2UgaWYgJG1lZGlhID09IGhkIHtcbiAgICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6ICRtZWRpYS1oZCkge1xuICAgICAgQGNvbnRlbnQ7XG4gICAgfVxuICB9XG4gIEBlbHNlIGlmICRtZWRpYSA9PSBoZC1hZnRlciB7XG4gICAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiBjYWxjKCRtZWRpYS1oZCAtIDFweCkpIHtcbiAgICAgIEBjb250ZW50O1xuICAgIH1cbiAgfVxuICBAZWxzZSBpZiAkbWVkaWEgPT0gaGQtYmVmb3JlIHtcbiAgICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IGNhbGMoJG1lZGlhLWhkICsgMXB4KSkge1xuICAgICAgQGNvbnRlbnQ7XG4gICAgfVxuICB9XG4gIEBlbHNlIGlmICRtZWRpYSA9PSBkZXNrdG9wIHtcbiAgICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6ICRtZWRpYS1kZXNrdG9wKSB7XG4gICAgICBAY29udGVudDtcbiAgICB9XG4gIH1cbiAgQGVsc2UgaWYgJG1lZGlhID09IGRlc2t0b3AtYWZ0ZXIge1xuICAgIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogY2FsYygkbWVkaWEtZGVza3RvcCAtIDFweCkpIHtcbiAgICAgIEBjb250ZW50O1xuICAgIH1cbiAgfVxuICBAZWxzZSBpZiAkbWVkaWEgPT0gZGVza3RvcC1iZWZvcmUge1xuICAgIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogY2FsYygkbWVkaWEtZGVza3RvcCArIDFweCkpIHtcbiAgICAgIEBjb250ZW50O1xuICAgIH1cbiAgfVxuICBAZWxzZSBpZiAkbWVkaWEgPT0gbm90ZWJvb2sge1xuICAgIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogJG1lZGlhLW5vdGVib29rKSB7XG4gICAgICBAY29udGVudDtcbiAgICB9XG4gIH1cbiAgQGVsc2UgaWYgJG1lZGlhID09IG5vdGVib29rLWFmdGVyIHtcbiAgICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IGNhbGMoJG1lZGlhLW5vdGVib29rIC0gMXB4KSkge1xuICAgICAgQGNvbnRlbnQ7XG4gICAgfVxuICB9XG4gIEBlbHNlIGlmICRtZWRpYSA9PSBub3RlYm9vay1iZWZvcmUge1xuICAgIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogY2FsYygkbWVkaWEtbm90ZWJvb2sgKyAxcHgpKSB7XG4gICAgICBAY29udGVudDtcbiAgICB9XG4gIH1cbiAgQGVsc2UgaWYgJG1lZGlhID09IHRhYmxldCB7XG4gICAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAkbWVkaWEtdGFibGV0KSB7XG4gICAgICBAY29udGVudDtcbiAgICB9XG4gIH1cbiAgQGVsc2UgaWYgJG1lZGlhID09IHRhYmxldC1hZnRlciB7XG4gICAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiBjYWxjKCRtZWRpYS10YWJsZXQgLSAxcHgpKSB7XG4gICAgICBAY29udGVudDtcbiAgICB9XG4gIH1cbiAgQGVsc2UgaWYgJG1lZGlhID09IHRhYmxldC1iZWZvcmUge1xuICAgIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogY2FsYygkbWVkaWEtdGFibGV0ICsgMXB4KSkge1xuICAgICAgQGNvbnRlbnQ7XG4gICAgfVxuICB9XG4gIEBlbHNlIGlmICRtZWRpYSA9PSBzbWFydHBob25lIHtcbiAgICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6ICRtZWRpYS1zbWFydHBob25lKSB7XG4gICAgICBAY29udGVudDtcbiAgICB9XG4gIH1cbiAgQGVsc2UgaWYgJG1lZGlhID09IHNtYXJ0cGhvbmUtYWZ0ZXIge1xuICAgIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogY2FsYygkbWVkaWEtc21hcnRwaG9uZSAtIDFweCkpIHtcbiAgICAgIEBjb250ZW50O1xuICAgIH1cbiAgfVxuICBAZWxzZSBpZiAkbWVkaWEgPT0gc21hcnRwaG9uZS1iZWZvcmUge1xuICAgIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogY2FsYygkbWVkaWEtc21hcnRwaG9uZSArIDFweCkpIHtcbiAgICAgIEBjb250ZW50O1xuICAgIH1cbiAgfVxuICBAZWxzZSBpZiAkbWVkaWEgPT0gcGhvbmUge1xuICAgIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogJG1lZGlhLXBob25lKSB7XG4gICAgICBAY29udGVudDtcbiAgICB9XG4gIH1cbiAgQGVsc2UgaWYgJG1lZGlhID09IHBob25lLWJlZm9yZSB7XG4gICAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiBjYWxjKCRtZWRpYS1waG9uZSArIDFweCkpIHtcbiAgICAgIEBjb250ZW50O1xuICAgIH1cbiAgfVxuICBAZWxzZSBpZiAkbWVkaWEgPT0gbGFzdCB7XG4gICAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAkbWVkaWEtbGFzdCkge1xuICAgICAgQGNvbnRlbnQ7XG4gICAgfVxuICB9XG4gIEBlbHNlIGlmICRtZWRpYSA9PSByZXRpbmEge1xuICAgIEBtZWRpYSAobWluLXJlc29sdXRpb246ICRyZXRpbmEtZHBpKSwgKG1pbi1yZXNvbHV0aW9uOiAkcmV0aW5hLWRwcHgpIHtcbiAgICAgIEBjb250ZW50O1xuICAgIH1cbiAgfVxuICBAZWxzZSBpZiAkbWVkaWEgPT0gaG92ZXIge1xuICAgIC8vIHN0eWxlbGludC1kaXNhYmxlXG4gICAgQG1lZGlhIChob3ZlcjogaG92ZXIpLCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDBcXDApIHtcbiAgICAgIEBjb250ZW50O1xuICAgIH1cbiAgICAvLyBzdHlsZWxpbnQtZW5hYmxlXG4gIH1cbiAgQGVsc2UgaWYgJG1lZGlhID09IGFuaW1hdGlvbiB7XG4gICAgQG1lZGlhIChwcmVmZXJzLXJlZHVjZWQtbW90aW9uOiBuby1wcmVmZXJlbmNlKSB7XG4gICAgICBAY29udGVudDtcbiAgICB9XG4gIH1cbn1cbiIsIlxuQGZvbnQtZmFjZSB7XG4gIGZvbnQtZmFtaWx5OiAnSW9zZXZrYSc7XG4gIHNyYzpcbiAgICB1cmwoJyN7JHVybC1mb250fS9pb3NldmthL0lvc2V2a2EtTWVkaXVtLndvZmYyJykgZm9ybWF0KCd3b2ZmMicpLFxuICAgIHVybCgnI3skdXJsLWZvbnR9L2lvc2V2a2EvSW9zZXZrYS1NZWRpdW0ud29mZicpIGZvcm1hdCgnd29mZicpO1xuXG4gIGZvbnQtd2VpZ2h0OiA1MDA7XG4gIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgZm9udC1kaXNwbGF5OiBzd2FwO1xufVxuXG5AZm9udC1mYWNlIHtcbiAgZm9udC1mYW1pbHk6ICdSb2JvdG9GbGV4JztcbiAgc3JjOlxuICAgIHVybCgnI3skdXJsLWZvbnR9L3JvYm90by9yb2JvdG8tZmxleC11cGdyYWRlLndvZmYyJykgZm9ybWF0KCd3b2ZmMicpLFxuICAgIHVybCgnI3skdXJsLWZvbnR9L3JvYm90by9yb2JvdG8tZmxleC11cGdyYWRlLndvZmYnKSBmb3JtYXQoJ3dvZmYnKTtcblxuICBmb250LXdlaWdodDogNDAwO1xuICBmb250LXN0eWxlOiBub3JtYWw7XG4gIGZvbnQtZGlzcGxheTogc3dhcDtcbn1cbiIsIkBrZXlmcmFtZXMgbG9hZCB7XG4gIGZyb20ge1xuICAgIHRyYW5zZm9ybTogcm90YXRlKDBkZWcpO1xuICB9XG5cbiAgdG8ge1xuICAgIHRyYW5zZm9ybTogcm90YXRlKDM2MGRlZyk7XG4gIH1cbn1cblxuQGtleWZyYW1lcyBkaXNwbGF5LW5vbmUge1xuICAwJSB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgICBvcGFjaXR5OiAwO1xuICB9XG5cbiAgMSUge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICB9XG5cbiAgMTAwJSB7XG4gICAgb3BhY2l0eTogMTtcbiAgfVxufVxuXG5Aa2V5ZnJhbWVzIGNyZWVwaW5nLWxpbmUge1xuICAwJSB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDApO1xuICB9XG5cbiAgMTAwJSB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0xMDAlKTtcbiAgfVxufVxuXG5Aa2V5ZnJhbWVzIHJvdGF0ZSB7XG4gIGZyb20ge1xuICAgIHRyYW5zZm9ybTogcm90YXRlKDBkZWcpO1xuICB9XG5cbiAgdG8ge1xuICAgIHRyYW5zZm9ybTogcm90YXRlKDM2MGRlZyk7XG4gIH1cbn1cblxuQGtleWZyYW1lcyB0cmFuc2xhdGUtZG93biB7XG4gIDAlIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMjBweCk7XG4gIH1cblxuICAxMDAlIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKTtcbiAgfVxufVxuXG5Aa2V5ZnJhbWVzIGN1cnNvci1ibGluayB7XG4gIDAlIHtcbiAgICBib3JkZXItY29sb3I6IHZhcigtLWNvbG9yLXByaW1hcnkpO1xuICB9XG5cbiAgNTAlIHtcbiAgICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50O1xuICB9XG5cbiAgMTAwJSB7XG4gICAgYm9yZGVyLWNvbG9yOiB2YXIoLS1jb2xvci1wcmltYXJ5KTtcbiAgfVxufVxuXG5Aa2V5ZnJhbWVzIGZsaWNrZXIge1xuICAwJSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY29sb3ItcHJpbWFyeSk7XG4gICAgY29sb3I6IHZhcigtLWNvbG9yLXByaW1hcnktY29udHJhc3QpO1xuICB9XG5cbiAgNTAlIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jb2xvci1wcmltYXJ5LWNvbnRyYXN0KTtcbiAgICBjb2xvcjogdmFyKC0tY29sb3ItcHJpbWFyeSk7XG4gIH1cblxuICAxMDAlIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jb2xvci1wcmltYXJ5KTtcbiAgICBjb2xvcjogdmFyKC0tY29sb3ItcHJpbWFyeS1jb250cmFzdCk7XG4gIH1cbn1cblxuQGtleWZyYW1lcyBmbGlja2VyLXRleHQge1xuICAwJSB7XG4gICAgY29sb3I6IHZhcigtLWNvbG9yLXByaW1hcnktY29udHJhc3QpO1xuICB9XG5cbiAgNTAlIHtcbiAgICBjb2xvcjogdmFyKC0tY29sb3ItcHJpbWFyeSk7XG4gIH1cblxuICAxMDAlIHtcbiAgICBjb2xvcjogdmFyKC0tY29sb3ItcHJpbWFyeS1jb250cmFzdCk7XG4gIH1cbn1cblxuLy8gWyEgVkVORE9SICFdIEFuaW1hdGlvbiBmb3IgYmxpbmtpbmdcbi8vIG9mIHRoZSAnY3VzdG9tLWNhcmV0JyBmb3IgaW5wdXRzIGFuZCB0ZXh0YXJlYXNcbkBrZXlmcmFtZXMgY3VzdG9tLWNhcmV0LWJsaW5raW5nIHtcbiAgMCUsXG4gIDEwMCUge1xuICAgIG9wYWNpdHk6IDA7XG4gIH1cblxuICA1MCUge1xuICAgIG9wYWNpdHk6IDE7XG4gIH1cbn1cbiIsIiosXG4qOjpiZWZvcmUsXG4qOjphZnRlciB7XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG59XG5cbmh0bWwsXG5ib2R5IHtcbiAgcGFkZGluZzogMDtcbiAgbWFyZ2luOiAwO1xufVxuXG5odG1sIHtcbiAgb3ZlcnNjcm9sbC1iZWhhdmlvcjogbm9uZTtcblxuICB0ZXh0LXJlbmRlcmluZzogb3B0aW1pemVMZWdpYmlsaXR5O1xuICAvLyDQvtC/0YLQuNC80LjQt9Cw0YbQuNGPINCy0YvRgNCw0LLQvdC40LLQsNC90LjRjyDRiNGA0LjRhNGC0LAg0L7RgtC90L7RgdC40YLQtdC70YzQvdC+INGG0LXQvdGC0YDQsCDRgdGC0YDQvtC60LhcbiAgLy8g0LXRgdC70Lgg0L/QviDQv9GA0LXQttC90LXQvNGDINC10YHRgtGMINC/0YDQvtCx0LvQtdC80Ysg0YEg0LLRi9GA0LDQstC90LjQstCw0L3QuNC10LxcbiAgLy8gaHR0cHM6Ly90cmFuc2ZvbnRlci5vcmcvIC0g0LLQutC70Y7Rh9C40YLQtSDQvdCw0YHRgtGA0L7QudC60YMgaHR0cHM6Ly9wcm50LnNjLzEycm50Nmcg0Lgg0L/QtdGA0LXQutC+0L3QstC10YDRgtC40YDRg9C50YLQtSDRiNGA0LjRhNGCXG59XG5cbmJvZHkge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jb2xvci13aGl0ZSk7XG4gIC8vIHNjcm9sbGJhci1ndXR0ZXI6IHN0YWJsZTtcbn1cblxuYSB7XG4gIHRleHQtdW5kZXJsaW5lLW9mZnNldDogMC4yZW07XG4gIC13ZWJraXQtdGFwLWhpZ2hsaWdodC1jb2xvcjogdmFyKC0tY29sb3ItdHJhbnNwYXJlbnQpO1xuICBjb2xvcjogY29sb3IobGluayk7XG5cbiAgJjpob3ZlciB7XG4gICAgY29sb3I6IGNvbG9yKGxpbmstaG92ZXIpO1xuICB9XG59XG5cbmJ1dHRvbiB7XG4gIC13ZWJraXQtdGFwLWhpZ2hsaWdodC1jb2xvcjogdmFyKC0tY29sb3ItdHJhbnNwYXJlbnQpO1xufVxuXG5vbCxcbnVsIHtcbiAgbWFyZ2luOiAwO1xuICBwYWRkaW5nOiAwO1xuICBsaXN0LXN0eWxlOiBub25lO1xufVxuXG5oMSxcbmgyLFxuaDMsXG5oNCxcbmg1LFxuaDYsXG5wLFxuZGwsXG5ibG9ja3F1b3RlIHtcbiAgbWFyZ2luOiAwO1xufVxuXG4uc3dpcGVyLXNsaWRlIHtcbiAgJixcbiAgKiB7XG4gICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgfVxufVxuIiwiOnJvb3Qge1xuICAtLXNjYWxlLXZ3OiBjYWxjKDE5MjAgLyAxMDApO1xuICAtLXB5LWhlYWRlcjogI3tzaXplKDE2KX07XG4gIC0taGVpZ2h0LWhlYWRlcjogI3tyZW0oNzJweCl9O1xuICAtLW1haW4tcGFkZGluZzogI3tzaXplKDEwNCl9O1xuICAtLXB5LXNlY3Rpb246ICN7c2l6ZSgzMil9O1xuXG4gIEBlYWNoICRuYW1lLCAkdmFsdWUgaW4gJGNvbG9ycyB7XG4gICAgLS1jb2xvci0jeyRuYW1lfTogI3skdmFsdWV9O1xuICB9XG5cbiAgQGVhY2ggJG5hbWUsICR2YWx1ZSBpbiAkdHJhbnMge1xuICAgIC0tdHJhbnMtI3skbmFtZX06ICN7JHZhbHVlfTtcbiAgfVxuXG4gIEBlYWNoICRuYW1lLCAkc2hhZG93IGluICRzaGFkb3dzIHtcbiAgICAtLXNoYWRvdy0jeyRuYW1lfTogI3skc2hhZG93fTtcbiAgfVxuXG4gIEBlYWNoICRuYW1lLCAkeiBpbiAkemluZGV4IHtcbiAgICAtLXotI3skbmFtZX06ICN7JHp9O1xuICB9XG5cbiAgLy8gTUVESUFcbiAgQGluY2x1ZGUgbWVkaWEoZnVsbGhkLWJlZm9yZSkge1xuICAgIC0tcHktc2VjdGlvbjogI3t2dy10by1weCgzMil9O1xuICAgIC0tcHktaGVhZGVyOiAje3Z3LXRvLXB4KDE2KX07XG4gICAgLS1tYWluLXBhZGRpbmc6ICN7dnctdG8tcHgoMTA0KX07XG4gIH1cblxuICBAaW5jbHVkZSBtZWRpYShxdWFkaGQpIHtcbiAgICAtLXNjYWxlLXZ3OiBjYWxjKCN7c3RyaXAtdW5pdCgkc2NhbGUtcXVhZGhkKX0gLyAxMDApO1xuICAgIC0taGVpZ2h0LWhlYWRlcjogI3tyZW0oNjRweCl9O1xuICAgIC0tbWFpbi1wYWRkaW5nOiAje3NpemUoNzIpfTtcbiAgICAtLXB5LXNlY3Rpb246ICN7c2l6ZSgyNCl9O1xuICB9XG5cbiAgQGluY2x1ZGUgbWVkaWEoaGQpIHtcbiAgICAtLXNjYWxlLXZ3OiBjYWxjKCN7c3RyaXAtdW5pdCgkc2NhbGUtaGQpfSAvIDEwMCk7XG4gIH1cblxuICBAaW5jbHVkZSBtZWRpYSh0YWJsZXQpIHtcbiAgICAtLXNjYWxlLXZ3OiBjYWxjKCN7c3RyaXAtdW5pdCgkc2NhbGUtdGFibGV0KX0gLyAxMDApO1xuICAgIC0tbWFpbi1wYWRkaW5nOiAje3NpemUoNTYpfTtcbiAgfVxuXG4gIEBpbmNsdWRlIG1lZGlhKHNtYXJ0cGhvbmUpIHtcbiAgICAtLW1haW4tcGFkZGluZzogMTZweDtcbiAgICAtLXB5LXNlY3Rpb246ICN7c2l6ZSgxNil9O1xuICB9XG5cbiAgQGluY2x1ZGUgbWVkaWEocGhvbmUpIHtcbiAgICAtLXNjYWxlLXZ3OiBjYWxjKCN7c3RyaXAtdW5pdCgkc2NhbGUtcGhvbmUpfSAvIDEwMCk7XG4gIH1cbn1cblxuLm5vc2NyaXB0IHtcbiAgYmFja2dyb3VuZDogI2YwMDtcbiAgY29sb3I6ICM4MDgwODA7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbn1cbiIsIi5uby13cmFwIHtcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbn1cblxuLnZpc3VhbGx5LWhpZGRlbiB7XG4gIEBpbmNsdWRlIHZpc3VhbGx5LWhpZGRlbjtcbn1cblxuLmljbiB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgZmlsbDogY3VycmVudENvbG9yO1xuICBmbGV4OiAwIDAgYXV0bztcbiAgdXNlci1zZWxlY3Q6IG5vbmU7XG59XG4iLCI6cm9vdCB7XG4gIGZvbnQtc2l6ZTogNjIuNSU7XG59XG5cbmh0bWwge1xuICBzY3JvbGwtYmVoYXZpb3I6IHNtb290aDtcbiAgaGVpZ2h0OiAxMDAlO1xufVxuXG5ib2R5IHtcbiAgQGluY2x1ZGUgdGV4dEJvZHk7XG4gIGhlaWdodDogMTAwJTtcbiAgbWFyZ2luOiAwIGF1dG87XG4gIGZvbnQtZmFtaWx5OiAkZm9udC1mYW1pbHk7XG4gIGNvbG9yOiB2YXIoLS1jb2xvci1wcmltYXJ5KTtcbiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY29sb3ItcHJpbWFyeS1jb250cmFzdCk7XG5cbiAgJi5tZW51LW9wZW4ge1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gIH1cbn1cblxuKjo6c2VsZWN0aW9uIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY29sb3Itc2VsZWN0aW9uKTtcbn1cblxuaWZyYW1lLFxuaW1nLFxuc3ZnLFxudmlkZW8ge1xuICBtYXgtd2lkdGg6IDEwMCU7XG4gIGRpc3BsYXk6IGJsb2NrO1xufVxuIiwiLy8gVGl0bGVzXG5AbWl4aW4gdGV4dEJvZHkoKSB7XG4gIGZvbnQtc2l6ZTogc2l6ZSgxNik7XG4gIGxpbmUtaGVpZ2h0OiAxMDAlO1xuICBmb250LXdlaWdodDogNTAwO1xuICBmb250LXZhcmlhbnQtbnVtZXJpYzogc2xhc2hlZC16ZXJvO1xuICBmb250LWZlYXR1cmUtc2V0dGluZ3M6XG4gICAgJ2N2NzcnIG9uLFxuICAgICdjdjExJyBvbixcbiAgICAnY3YwNScgb24sXG4gICAgJ2N2MDQnIG9uLFxuICAgICdjdjgzJyBvbixcbiAgICAnc3MwNCcgb24sXG4gICAgJ3NzMTUnIG9uLFxuICAgICdjdjkwJyBvbixcbiAgICAnc3MxMScgb24sXG4gICAgJ3NzMDcnIG9uLFxuICAgICdjYWx0JyBvZmY7XG5cbiAgQGluY2x1ZGUgbWVkaWEoZnVsbGhkLWJlZm9yZSkge1xuICAgIGZvbnQtc2l6ZTogdnctdG8tcHgoMTYpO1xuICB9XG59XG5cbkBtaXhpbiB0aXRsZUJpZygpIHtcbiAgZm9udC1zaXplOiBzaXplKDIwMCk7XG4gIGxpbmUtaGVpZ2h0OiA5MiU7XG4gIGxldHRlci1zcGFjaW5nOiAtMC4wNWVtO1xuICBmb250LXdlaWdodDogNTAwO1xuXG4gIEBpbmNsdWRlIG1lZGlhKGZ1bGxoZC1iZWZvcmUpIHtcbiAgICBmb250LXNpemU6IHZ3LXRvLXB4KDIwMCk7XG4gIH1cblxuICBAaW5jbHVkZSBtZWRpYShxdWFkaGQpIHtcbiAgICBmb250LXNpemU6IHNpemUoMTUyKTtcbiAgfVxuXG4gIEBpbmNsdWRlIG1lZGlhKHRhYmxldCkge1xuICAgIGZvbnQtc2l6ZTogc2l6ZSgxMDgpO1xuICAgIGxldHRlci1zcGFjaW5nOiAtMC4wNGVtO1xuICB9XG5cbiAgQGluY2x1ZGUgbWVkaWEocGhvbmUpIHtcbiAgICBmb250LXNpemU6IHNpemUoNTgpO1xuICB9XG59XG5cbkBtaXhpbiB0aXRsZUgxIHtcbiAgZm9udC1zaXplOiBzaXplKDY4KTtcbiAgbGluZS1oZWlnaHQ6IDEwNSU7XG4gIGxldHRlci1zcGFjaW5nOiAtMC4wMmVtO1xuICBmb250LXdlaWdodDogNTAwO1xuXG4gIEBpbmNsdWRlIG1lZGlhKGZ1bGxoZC1iZWZvcmUpIHtcbiAgICBmb250LXNpemU6IHZ3LXRvLXB4KDY4KTtcbiAgfVxuXG4gIEBpbmNsdWRlIG1lZGlhKHF1YWRoZCkge1xuICAgIGZvbnQtc2l6ZTogc2l6ZSg2MCk7XG4gICAgbGluZS1oZWlnaHQ6IDEwMCU7XG4gIH1cblxuICBAaW5jbHVkZSBtZWRpYSh0YWJsZXQpIHtcbiAgICBmb250LXNpemU6IHNpemUoNTIpO1xuICB9XG5cbiAgQGluY2x1ZGUgbWVkaWEocGhvbmUpIHtcbiAgICBmb250LXNpemU6IHNpemUoNDApO1xuICAgIGxpbmUtaGVpZ2h0OiAxMDAlO1xuICB9XG59XG5cbkBtaXhpbiB0aXRsZUgyIHtcbiAgZm9udC1zaXplOiBzaXplKDQ4KTtcbiAgbGluZS1oZWlnaHQ6IDEwNSU7XG4gIGxldHRlci1zcGFjaW5nOiAtMC4wMmVtO1xuICBmb250LXdlaWdodDogNTAwO1xuXG4gIEBpbmNsdWRlIG1lZGlhKGZ1bGxoZC1iZWZvcmUpIHtcbiAgICBmb250LXNpemU6IHZ3LXRvLXB4KDQ4KTtcbiAgfVxuXG4gIEBpbmNsdWRlIG1lZGlhKHF1YWRoZCkge1xuICAgIGZvbnQtc2l6ZTogc2l6ZSg0MCk7XG4gICAgbGluZS1oZWlnaHQ6IDExNSU7XG4gIH1cblxuICBAaW5jbHVkZSBtZWRpYSh0YWJsZXQpIHtcbiAgICBmb250LXNpemU6IHNpemUoMzYpO1xuICB9XG5cbiAgQGluY2x1ZGUgbWVkaWEocGhvbmUpIHtcbiAgICBmb250LXNpemU6IHNpemUoMjgpO1xuICB9XG59XG5cbkBtaXhpbiB0aXRsZUgyTmV3IHtcbiAgZm9udC1zaXplOiBzaXplKDQ4KTtcbiAgbGluZS1oZWlnaHQ6IDEwNSU7XG4gIGxldHRlci1zcGFjaW5nOiAtMC4wMmVtO1xuICBmb250LXdlaWdodDogNTAwO1xuXG4gIEBpbmNsdWRlIG1lZGlhKGZ1bGxoZC1iZWZvcmUpIHtcbiAgICBmb250LXNpemU6IHZ3LXRvLXB4KDQ4KTtcbiAgfVxuXG4gIEBpbmNsdWRlIG1lZGlhKHF1YWRoZCkge1xuICAgIGZvbnQtc2l6ZTogc2l6ZSg0MCk7XG4gICAgbGluZS1oZWlnaHQ6IDExNSU7XG4gIH1cblxuICBAaW5jbHVkZSBtZWRpYShwaG9uZSkge1xuICAgIGZvbnQtc2l6ZTogc2l6ZSgyOCk7XG4gIH1cbn1cblxuQG1peGluIHRpdGxlSDItbSB7XG4gIGZvbnQtc2l6ZTogc2l6ZSg0NCk7XG4gIGxpbmUtaGVpZ2h0OiAxMDUlO1xuICBsZXR0ZXItc3BhY2luZzogLTAuMDJlbTtcbiAgZm9udC13ZWlnaHQ6IDUwMDtcblxuICBAaW5jbHVkZSBtZWRpYShmdWxsaGQtYmVmb3JlKSB7XG4gICAgZm9udC1zaXplOiB2dy10by1weCg0NCk7XG4gIH1cblxuICBAaW5jbHVkZSBtZWRpYShxdWFkaGQpIHtcbiAgICBmb250LXNpemU6IHNpemUoNDApO1xuICAgIGxpbmUtaGVpZ2h0OiAxMTUlO1xuICB9XG5cbiAgQGluY2x1ZGUgbWVkaWEodGFibGV0KSB7XG4gICAgZm9udC1zaXplOiBzaXplKDM2KTtcbiAgfVxuXG4gIEBpbmNsdWRlIG1lZGlhKHBob25lKSB7XG4gICAgZm9udC1zaXplOiBzaXplKDI4KTtcbiAgfVxufVxuXG5AbWl4aW4gdGl0bGVIMyB7XG4gIGZvbnQtc2l6ZTogc2l6ZSgzMik7XG4gIGxpbmUtaGVpZ2h0OiAxMTUlO1xuICBsZXR0ZXItc3BhY2luZzogLTAuMDJlbTtcbiAgZm9udC13ZWlnaHQ6IDUwMDtcblxuICBAaW5jbHVkZSBtZWRpYShmdWxsaGQtYmVmb3JlKSB7XG4gICAgZm9udC1zaXplOiB2dy10by1weCgzMik7XG4gIH1cblxuICBAaW5jbHVkZSBtZWRpYShxdWFkaGQpIHtcbiAgICBmb250LXNpemU6IHNpemUoMjgpO1xuICB9XG5cbiAgQGluY2x1ZGUgbWVkaWEodGFibGV0KSB7XG4gICAgZm9udC1zaXplOiBzaXplKDI0KTtcbiAgfVxuXG4gIEBpbmNsdWRlIG1lZGlhKHBob25lKSB7XG4gICAgZm9udC1zaXplOiBzaXplKDE3KTtcbiAgfVxufVxuXG5AbWl4aW4gdGl0bGVGcmFtZXdvcmtzIHtcbiAgZm9udC1zaXplOiBzaXplKDMyKTtcbiAgbGluZS1oZWlnaHQ6IDExNSU7XG4gIGxldHRlci1zcGFjaW5nOiAtMC4wMmVtO1xuICBmb250LXdlaWdodDogNTAwO1xuXG4gIEBpbmNsdWRlIG1lZGlhKGZ1bGxoZC1iZWZvcmUpIHtcbiAgICBmb250LXNpemU6IHZ3LXRvLXB4KDMyKTtcbiAgfVxuXG4gIEBpbmNsdWRlIG1lZGlhKHF1YWRoZCkge1xuICAgIGZvbnQtc2l6ZTogc2l6ZSgyOCk7XG4gIH1cblxuICBAaW5jbHVkZSBtZWRpYSh0YWJsZXQpIHtcbiAgICBmb250LXNpemU6IHNpemUoMzYpO1xuICB9XG5cbiAgQGluY2x1ZGUgbWVkaWEocGhvbmUpIHtcbiAgICBmb250LXNpemU6IHNpemUoMjgpO1xuICB9XG59XG5cbkBtaXhpbiB0aXRsZUg0IHtcbiAgZm9udC1zaXplOiBzaXplKDE3KTtcbiAgbGluZS1oZWlnaHQ6IDEwNSU7XG4gIGxldHRlci1zcGFjaW5nOiAtMC4wMWVtO1xuICBmb250LXdlaWdodDogNTAwO1xuXG4gIEBpbmNsdWRlIG1lZGlhKGZ1bGxoZC1iZWZvcmUpIHtcbiAgICBmb250LXNpemU6IHZ3LXRvLXB4KDE3KTtcbiAgfVxuXG4gIEBpbmNsdWRlIG1lZGlhKHF1YWRoZCkge1xuICAgIGZvbnQtc2l6ZTogc2l6ZSgxNSk7XG4gIH1cblxuICBAaW5jbHVkZSBtZWRpYShwaG9uZSkge1xuICAgIGZvbnQtc2l6ZTogc2l6ZSgxMyk7XG4gICAgbGluZS1oZWlnaHQ6IDEyMCU7XG4gICAgbGV0dGVyLXNwYWNpbmc6IDAuMDJlbTtcbiAgfVxufVxuXG5AbWl4aW4gdGl0bGVINSB7XG4gIGZvbnQtc2l6ZTogc2l6ZSgxNSk7XG4gIGxpbmUtaGVpZ2h0OiAxMjAlO1xuICBsZXR0ZXItc3BhY2luZzogMC4wMWVtO1xuICBmb250LXdlaWdodDogNTAwO1xuXG4gIEBpbmNsdWRlIG1lZGlhKGZ1bGxoZC1iZWZvcmUpIHtcbiAgICBmb250LXNpemU6IHZ3LXRvLXB4KDE1KTtcbiAgfVxuXG4gIEBpbmNsdWRlIG1lZGlhKHF1YWRoZCkge1xuICAgIGZvbnQtc2l6ZTogc2l6ZSgxMyk7XG4gICAgbGV0dGVyLXNwYWNpbmc6IDAuMDJlbTtcbiAgfVxufVxuXG5AbWl4aW4gdGV4dEwge1xuICBmb250LWZhbWlseTogJGZvbnQtZmFtaWx5LXNlY29uZGFyeTtcbiAgZm9udC1zaXplOiBzaXplKDI0KTtcbiAgbGluZS1oZWlnaHQ6IDE0MCU7XG4gIGxldHRlci1zcGFjaW5nOiAtMC4wMWVtO1xuICBmb250LXdlaWdodDogNTAwO1xuXG4gIEBpbmNsdWRlIG1lZGlhKGZ1bGxoZC1iZWZvcmUpIHtcbiAgICBmb250LXNpemU6IHZ3LXRvLXB4KDI0KTtcbiAgfVxuXG4gIEBpbmNsdWRlIG1lZGlhKHF1YWRoZCkge1xuICAgIGZvbnQtc2l6ZTogc2l6ZSgyMCk7XG4gICAgbGluZS1oZWlnaHQ6IDEzMCU7XG4gICAgbGV0dGVyLXNwYWNpbmc6IC0wLjAzZW07XG4gIH1cblxuICBAaW5jbHVkZSBtZWRpYSh0YWJsZXQpIHtcbiAgICBmb250LXNpemU6IHNpemUoMTcpO1xuICAgIGxpbmUtaGVpZ2h0OiAxNDAlO1xuICAgIGxldHRlci1zcGFjaW5nOiAtMC4wMWVtO1xuICB9XG5cbiAgQGluY2x1ZGUgbWVkaWEocGhvbmUpIHtcbiAgICBmb250LXNpemU6IHNpemUoMTUpO1xuICB9XG59XG5cbkBtaXhpbiB0ZXh0TUwge1xuICBmb250LWZhbWlseTogJGZvbnQtZmFtaWx5LXNlY29uZGFyeTtcbiAgZm9udC1zaXplOiBzaXplKDI0KTtcbiAgbGluZS1oZWlnaHQ6IDE0MCU7XG4gIGxldHRlci1zcGFjaW5nOiAtMC4wMWVtO1xuICBmb250LXdlaWdodDogNTAwO1xuXG4gIEBpbmNsdWRlIG1lZGlhKGZ1bGxoZC1iZWZvcmUpIHtcbiAgICBmb250LXNpemU6IHZ3LXRvLXB4KDI0KTtcbiAgfVxuXG4gIEBpbmNsdWRlIG1lZGlhKHBob25lKSB7XG4gICAgZm9udC1zaXplOiBzaXplKDIwKTtcbiAgfVxufVxuXG5AbWl4aW4gdGV4dE0ge1xuICBmb250LXNpemU6IHNpemUoMjApO1xuICBsaW5lLWhlaWdodDogMTQwJTtcbiAgbGV0dGVyLXNwYWNpbmc6IC0wLjAxZW07XG4gIGZvbnQtd2VpZ2h0OiA1MDA7XG5cbiAgQGluY2x1ZGUgbWVkaWEoZnVsbGhkLWJlZm9yZSkge1xuICAgIGZvbnQtc2l6ZTogdnctdG8tcHgoMjApO1xuICB9XG5cbiAgQGluY2x1ZGUgbWVkaWEocXVhZGhkKSB7XG4gICAgZm9udC1zaXplOiBzaXplKDE3KTtcbiAgfVxuXG4gIEBpbmNsdWRlIG1lZGlhKHBob25lKSB7XG4gICAgZm9udC1zaXplOiBzaXplKDE1KTtcbiAgfVxufVxuXG5AbWl4aW4gdGV4dFhMIHtcbiAgZm9udC1zaXplOiBzaXplKDI4KTtcbiAgbGluZS1oZWlnaHQ6IDE0MCU7XG4gIGxldHRlci1zcGFjaW5nOiAtMC4wMWVtO1xuICBmb250LXdlaWdodDogNTAwO1xuXG4gIEBpbmNsdWRlIG1lZGlhKGZ1bGxoZC1iZWZvcmUpIHtcbiAgICBmb250LXNpemU6IHZ3LXRvLXB4KDI4KTtcbiAgfVxuXG4gIEBpbmNsdWRlIG1lZGlhKHBob25lKSB7XG4gICAgZm9udC1zaXplOiBzaXplKDE3KTtcbiAgICBsZXR0ZXItc3BhY2luZzogMDtcbiAgfVxufVxuXG5AbWl4aW4gdGV4dFMge1xuICBmb250LXNpemU6IHNpemUoMTUpO1xuICBsaW5lLWhlaWdodDogMTIwJTtcbiAgbGV0dGVyLXNwYWNpbmc6IDAuMDFlbTtcbiAgZm9udC13ZWlnaHQ6IDUwMDtcblxuICBAaW5jbHVkZSBtZWRpYShmdWxsaGQtYmVmb3JlKSB7XG4gICAgZm9udC1zaXplOiB2dy10by1weCgxNSk7XG4gIH1cblxuICBAaW5jbHVkZSBtZWRpYShxdWFkaGQpIHtcbiAgICBmb250LXNpemU6IHNpemUoMTEpO1xuICAgIGxldHRlci1zcGFjaW5nOiAwLjAyZW07XG4gIH1cbn1cblxuQG1peGluIHRleHRYUyB7XG4gIGZvbnQtc2l6ZTogc2l6ZSgxMyk7XG4gIGxpbmUtaGVpZ2h0OiAxMjAlO1xuICBsZXR0ZXItc3BhY2luZzogMC4wMmVtO1xuICBmb250LXdlaWdodDogNTAwO1xuXG4gIEBpbmNsdWRlIG1lZGlhKGZ1bGxoZC1iZWZvcmUpIHtcbiAgICBmb250LXNpemU6IHZ3LXRvLXB4KDEzKTtcbiAgfVxufVxuXG5AbWl4aW4gdGV4dE1TIHtcbiAgZm9udC1zaXplOiBzaXplKDEyKTtcbiAgbGluZS1oZWlnaHQ6IDEyMCU7XG4gIGxldHRlci1zcGFjaW5nOiAwLjAyZW07XG4gIGZvbnQtd2VpZ2h0OiA1MDA7XG5cbiAgQGluY2x1ZGUgbWVkaWEoZnVsbGhkLWJlZm9yZSkge1xuICAgIGZvbnQtc2l6ZTogdnctdG8tcHgoMTIpO1xuICB9XG5cbiAgQGluY2x1ZGUgbWVkaWEodGFibGV0KSB7XG4gICAgZm9udC1zaXplOiBzaXplKDEwKTtcbiAgfVxufVxuXG5AbWl4aW4gdGV4dFhYUyB7XG4gIGZvbnQtc2l6ZTogc2l6ZSgxMik7XG4gIGxpbmUtaGVpZ2h0OiAxMDAlO1xuICBsZXR0ZXItc3BhY2luZzogMC4wMmVtO1xuICBmb250LXdlaWdodDogNTAwO1xuXG4gIEBpbmNsdWRlIG1lZGlhKGZ1bGxoZC1iZWZvcmUpIHtcbiAgICBmb250LXNpemU6IHZ3LXRvLXB4KDEyKTtcbiAgfVxuXG4gIEBpbmNsdWRlIG1lZGlhKHF1YWRoZCkge1xuICAgIGZvbnQtc2l6ZTogc2l6ZSgxMCk7XG4gIH1cblxuICBAaW5jbHVkZSBtZWRpYSh0YWJsZXQpIHtcbiAgICBmb250LXNpemU6IHNpemUoMTApO1xuICB9XG5cbiAgQGluY2x1ZGUgbWVkaWEocGhvbmUpIHtcbiAgICBmb250LXNpemU6IHNpemUoMTApO1xuICB9XG59XG5cbkBtaXhpbiB0ZXh0TmFubyB7XG4gIGZvbnQtc2l6ZTogc2l6ZSg5KTtcbiAgbGluZS1oZWlnaHQ6IDExMCU7XG4gIGxldHRlci1zcGFjaW5nOiAwLjAxZW07XG4gIGZvbnQtd2VpZ2h0OiA1MDA7XG5cbiAgQGluY2x1ZGUgbWVkaWEoZnVsbGhkLWJlZm9yZSkge1xuICAgIGZvbnQtc2l6ZTogdnctdG8tcHgoMTUpO1xuICB9XG5cbiAgQGluY2x1ZGUgbWVkaWEocXVhZGhkKSB7XG4gICAgZm9udC1zaXplOiBzaXplKDkpO1xuICB9XG5cbiAgQGluY2x1ZGUgbWVkaWEodGFibGV0KSB7XG4gICAgZm9udC1zaXplOiBzaXplKDkpO1xuICB9XG5cbiAgQGluY2x1ZGUgbWVkaWEocGhvbmUpIHtcbiAgICBmb250LXNpemU6IHNpemUoOSk7XG4gIH1cbn1cblxuQG1peGluIHRleHRMaW5rIHtcbiAgZm9udC1zaXplOiBzaXplKDE1KTtcbiAgbGluZS1oZWlnaHQ6IDEyMCU7XG4gIGxldHRlci1zcGFjaW5nOiAwLjAxZW07XG4gIGZvbnQtd2VpZ2h0OiA1MDA7XG5cbiAgQGluY2x1ZGUgbWVkaWEoZnVsbGhkLWJlZm9yZSkge1xuICAgIGZvbnQtc2l6ZTogdnctdG8tcHgoMTUpO1xuICB9XG5cbiAgQGluY2x1ZGUgbWVkaWEocXVhZGhkKSB7XG4gICAgZm9udC1zaXplOiBzaXplKDE1KTtcbiAgfVxuXG4gIEBpbmNsdWRlIG1lZGlhKHRhYmxldCkge1xuICAgIGZvbnQtc2l6ZTogc2l6ZSgxMyk7XG4gICAgbGV0dGVyLXNwYWNpbmc6IDAuMDJlbTtcbiAgfVxufVxuXG5AbWl4aW4gdGV4dExpbmtNIHtcbiAgZm9udC1zaXplOiBzaXplKDE3KTtcbiAgbGluZS1oZWlnaHQ6IDEwMCU7XG4gIGxldHRlci1zcGFjaW5nOiAwLjAxZW07XG4gIGZvbnQtd2VpZ2h0OiA1MDA7XG5cbiAgQGluY2x1ZGUgbWVkaWEoZnVsbGhkLWJlZm9yZSkge1xuICAgIGZvbnQtc2l6ZTogdnctdG8tcHgoMTcpO1xuICB9XG5cbiAgQGluY2x1ZGUgbWVkaWEocXVhZGhkKSB7XG4gICAgZm9udC1zaXplOiBzaXplKDE1KTtcbiAgfVxufVxuXG5AbWl4aW4gdGV4dFByZSB7XG4gIGZvbnQtc2l6ZTogc2l6ZSgzKTtcbiAgbGluZS1oZWlnaHQ6IDE7XG4gIGZvbnQtd2VpZ2h0OiA1MDA7XG5cbiAgQGluY2x1ZGUgbWVkaWEocXVhZGhkKSB7XG4gICAgZm9udC1zaXplOiBzaXplKDMpO1xuICB9XG5cbiAgQGluY2x1ZGUgbWVkaWEoaGQpIHtcbiAgICBmb250LXNpemU6IHNpemUoMi43KTtcbiAgfVxuXG4gIEBpbmNsdWRlIG1lZGlhKG5vdGVib29rKSB7XG4gICAgZm9udC1zaXplOiBzaXplKDIuNSk7XG4gIH1cbn1cblxuQG1peGluIHRleHRQcmVNaWRkbGUge1xuICBmb250LXNpemU6IHNpemUoMTApO1xuICBsaW5lLWhlaWdodDogMS4xO1xuICBmb250LXdlaWdodDogNTAwO1xuXG4gIEBpbmNsdWRlIG1lZGlhKHF1YWRoZCkge1xuICAgIGZvbnQtc2l6ZTogc2l6ZSg3LjUpO1xuICB9XG5cbiAgQGluY2x1ZGUgbWVkaWEoaGQpIHtcbiAgICBmb250LXNpemU6IHNpemUoNik7XG4gIH1cblxuICBAaW5jbHVkZSBtZWRpYSh0YWJsZXQpIHtcbiAgICBmb250LXNpemU6IHNpemUoNy41KTtcbiAgfVxuXG4gIEBpbmNsdWRlIG1lZGlhKHBob25lKSB7XG4gICAgZm9udC1zaXplOiBzaXplKDYpO1xuICAgIGxpbmUtaGVpZ2h0OiBzaXplKDcpO1xuICB9XG59XG5cbi8vIFtTUEVDSUFMXVxuQG1peGluIHRleHRFcnJvcklucHV0IHtcbiAgZm9udC1mYW1pbHk6ICRmb250LWZhbWlseS1zZWNvbmRhcnk7XG4gIGZvbnQtc2l6ZTogc2l6ZSgxMik7XG4gIGZvbnQtd2VpZ2h0OiA0MDA7XG4gIGxpbmUtaGVpZ2h0OiAxLjI7XG4gIGxldHRlci1zcGFjaW5nOiAtMC4wMWVtO1xuICBjb2xvcjogdmFyKC0tY29sb3ItZXJyb3IpO1xuXG4gIEBpbmNsdWRlIG1lZGlhKGZ1bGxoZC1iZWZvcmUpIHtcbiAgICBmb250LXNpemU6IDEycHg7XG4gIH1cbn1cbiIsIi8vIEJhc2VcbiR3aWR0aDogMTcxMnB4O1xuJHVybC1pbWc6ICdjZWRyby1kZXYvaW1nL2JnJztcbiR1cmwtZm9udDogJy4uL2ZvbnRzJztcblxuLy8g0JzQuNC90LjQvNCw0LvRjNC90LDRjyDRiNC40YDQuNC90LAg0YHRgtGA0LDQvdC40YbRi1xuJG1pbldpZHRoOiAzOTA7XG5cbi8vINCo0LjRgNC40L3QsCDQv9C+0LvQvtGC0L3QsCAo0LzQsNC60LXRgtCwKVxuJG1heFdpZHRoOiAxOTIwO1xuXG4vLyBDb2xvcnNcbiRjb2xvcnM6IChcbiAgJ3doaXRlJzogI2ZmZixcbiAgJ2JsYWNrJzogIzAwMCxcbiAgJ3RyYW5zcGFyZW50JzogcmdiYSgwLCAwLCAwLCAwKSxcbiAgLy8gcHJpbWFyeVxuICAncHJpbWFyeSc6ICNmMGYwZjAsXG4gICdwcmltYXJ5LWNvbnRyYXN0JzogIzA4MDgwOCxcbiAgJ3ByaW1hcnktY29udHJhc3QtOTAwJzogIzFmMWYxZixcbiAgJ2JvcmRlci1wcmltYXJ5JzogIzJkMmQyZCxcbiAgLy8gc2Vjb25kYXJ5XG4gICdzZWNvbmRhcnknOiByZ2JhKDI0MCwgMjQwLCAyNDAsIDAuNCksXG4gICdzZWNvbmRhcnktY29udHJhc3QnOiByZ2JhKDgsIDgsIDgsIDAuNCksXG4gICdib3JkZXItc2Vjb25kYXJ5JzogI2RhZGFkYSxcbiAgJ2JvcmRlcic6ICNkM2QzZDMsXG4gIC8vIHRyYW5zcGFyZW50XG4gICdzZWxlY3Rpb24nOiByZ2JhKDE5NCwgMTk5LCAyMDMsIDAuNSksXG4gICdzZWNvbmRhcnktOTAnOiByZ2JhKDgsIDgsIDgsIDAuOSksXG4gICdzZWNvbmRhcnktODAnOiByZ2JhKDgsIDgsIDgsIDAuOCksXG4gICdzZWNvbmRhcnktNjAnOiByZ2JhKDgsIDgsIDgsIDAuNiksXG4gICdzZWNvbmRhcnktMzAnOiByZ2JhKDgsIDgsIDgsIDAuMyksXG4gICdzZWNvbmRhcnktMjAnOiByZ2JhKDM2LCAzNiwgMzYsIDAuMiksXG4gIC8vIGluZm9cbiAgJ2Vycm9yJzogI2U4MDAwMCxcbiAgJ2Rpc2FibGVkJzogcmdiYSgyMjYsIDIyNiwgMjI2LCAwLjUpLFxuICAnY2hlY2tlZCc6ICMzN2EzMzYsXG4gICdncmVlbic6ICMxOThmNTEsXG4gICdmci0xMDAnOiAjZjBkYTUwLFxuICAnZnItMjAwJzogIzQxYjg4MyxcbiAgJ2ZyLTMwMCc6ICM2MWRhZmIsXG4gICdmci00MDAnOiAjMThkODYwLFxuICAnZnItNTAwJzogI2ZmMmQyMCxcbiAgJ2ZyLTYwMCc6ICM0N2M1ZmIsXG4gICdmci03MDAnOiAjZjg5OTE3LFxuICAnZnItZ3JleSc6ICM4MDdjN2MsXG4pO1xuXG4vLyBUcmFuc2l0aW9ucyAoaHR0cHM6Ly9lYXNpbmdzLm5ldC9ydSlcbiR0cmFuczogKFxuICAnZmFzdCc6IDAuMXMgZWFzZSxcbiAgJ2Jhc2UnOiAwLjNzIGVhc2UsXG4gICdsb25nJzogMC41cyBlYXNlXG4pO1xuXG4kc2hhZG93czogKFxuICAnYmxvY2snOiAnMCAwIDFweCAjMDAwJ1xuKTtcblxuJHppbmRleDogKFxuICAnbW9kYWwnOiA3MSxcbiAgJ2hlYWRlcic6IDcwLFxuICAnbWVudSc6IDY5LFxuICAnb3Zlci1jaGF0JzogMjE0NzAwMDAwMVxuKTtcblxuLy8gRm9udFxuJGZvbnQtYmFzZS1zaXplOiAxNnB4O1xuJGZvbnQtYmFzZS1saDogI3tjYWxjKDIycHggLyAxNnB4KX07XG4kZm9udC1mYW1pbHk6ICdJb3NldmthJywgc2Fucy1zZXJpZjtcbiRmb250LWZhbWlseS1zZWNvbmRhcnk6ICdSb2JvdG9GbGV4Jywgc2Fucy1zZXJpZjtcbiRmb3JtLWxpbmUtaGVpZ2h0OiAxLjE1O1xuXG4vLyBGb3Jtc1xuJGZpZWxkLWJhc2U6IDQwcHg7XG4kZmllbGQtczogMTZweDtcbiRidG4tbGluZS1oZWlnaHQ6ICRmb3JtLWxpbmUtaGVpZ2h0O1xuXG4vLyBTY2FsZSBzdGVwc1xuJHNjYWxlLWZ1bGxoZDogMTkyMHB4OyAvLyAxNjAxcHggLSAxOTIwcHhcbiRzY2FsZS1xdWFkaGQ6IDE0NDBweDsgLy8gOTkxcHggLSAxNjAwcHhcbiRzY2FsZS1oZDogMTI4MHB4OyAvLyA5OTFweCAtIDE2MDBweFxuJHNjYWxlLXRhYmxldDogNzY4cHg7IC8vIDU2OHB4IC0gOTkwcHhcbiRzY2FsZS1waG9uZTogMzkwcHg7IC8vIDMyMHB4IC0gNTY3cHhcblxuLy8gTWVkaWFcbiRtZWRpYS1mdWxsaGQ6IDE5MjBweDtcbiRtZWRpYS1xdWFkaGQ6IDE0NDBweDtcbiRtZWRpYS1oZDogMTI4MHB4O1xuJG1lZGlhLWRlc2t0b3A6IDEwMjRweDtcbiRtZWRpYS1ub3RlYm9vazogOTYwcHg7XG4kbWVkaWEtdGFibGV0OiA3NjhweDtcbiRtZWRpYS1zbWFydHBob25lOiA1ODBweDtcbiRtZWRpYS1waG9uZTogNDgwcHg7XG4kbWVkaWEtbGFzdDogMzkwcHg7XG5cbi8vIFJldGluYVxuJHJldGluYS1kcGk6IDE0NGRwaTtcbiRyZXRpbmEtZHBweDogMS41ZHBweDtcblxuLy8gUmFkaXVzXG4kcmFkaXVzLWw6IDQ4cHg7XG4kcmFkaXVzLW06IDMycHg7XG5cbi8vIEdyYWRpZW50c1xuJGdyYWRpZW50LWNvbnRyYXN0OiByYWRpYWwtZ3JhZGllbnQoY2lyY2xlLCByZ2JhKDgsIDgsIDgsIDApIC0yNSUsIHJnYmEoOCwgOCwgOCkgNzUlKTtcbiRncmFkaWVudC1jb250cmFzdC0wOiByYWRpYWwtZ3JhZGllbnQoY2lyY2xlLCByZ2JhKDgsIDgsIDgsIDApIDAlLCByZ2JhKDgsIDgsIDgpIDc1JSk7XG4kZ3JhZGllbnQtdmVydGljYWw6IGxpbmVhci1ncmFkaWVudCgxODBkZWcsIHJnYmEoOCwgOCwgOCwgMSkgNjUlLCByZ2JhKDI0MCwgMjQwLCAyNDAsIDApIDEwMCUpO1xuIiwiLnRleHQtYmxvY2sge1xuICAvLyBQQVJBR1JBUEhTXG5cbiAgcDpub3QoW2NsYXNzXSkge1xuICAgIEBpbmNsdWRlIHRleHRNO1xuICAgIGZvbnQtd2VpZ2h0OiA0MDA7XG4gICAgZm9udC1mYW1pbHk6ICRmb250LWZhbWlseS1zZWNvbmRhcnk7XG5cbiAgICAmOm5vdCg6Zmlyc3QtY2hpbGQpIHtcbiAgICAgIG1hcmdpbi10b3A6IDE2cHg7XG4gICAgfVxuXG4gICAgKyB1bDpub3QoW2NsYXNzXSkge1xuICAgICAgbWFyZ2luLXRvcDogOHB4O1xuICAgIH1cbiAgfVxuICAvLy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cblxuICAvLyBIRUFESU5HU1xuXG4gIDp3aGVyZShoMiwgaDMsIGg0LCBoNSwgaDYpOndoZXJlKDpub3QoW2NsYXNzXSkpIHtcbiAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuXG4gICAgJjpmaXJzdC1jaGlsZCB7XG4gICAgICBtYXJnaW4tdG9wOiBzaXplKDIwMCk7XG4gICAgfVxuXG4gICAgJjpub3QoOmxhc3QtY2hpbGQpIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IHNpemUoMjQpO1xuICAgIH1cblxuICAgIEBpbmNsdWRlIG1lZGlhKGZ1bGxoZC1iZWZvcmUpIHtcbiAgICAgICY6Zmlyc3QtY2hpbGQge1xuICAgICAgICBtYXJnaW4tdG9wOiAyMDBweDtcbiAgICAgIH1cblxuICAgICAgJjpub3QoOmxhc3QtY2hpbGQpIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMjRweDtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBAaW5jbHVkZSBtZWRpYShxdWFkaGQpIHtcbiAgICAgICY6Zmlyc3QtY2hpbGQge1xuICAgICAgICBtYXJnaW4tdG9wOiBzaXplKDE0NSk7XG4gICAgICB9XG5cbiAgICAgICY6bm90KDpsYXN0LWNoaWxkKSB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IHNpemUoMTYpO1xuICAgICAgfVxuICAgIH1cblxuICAgIEBpbmNsdWRlIG1lZGlhKHRhYmxldCkge1xuICAgICAgJjpmaXJzdC1jaGlsZCB7XG4gICAgICAgIG1hcmdpbi10b3A6IHNpemUoMTEyKTtcbiAgICAgIH1cblxuICAgICAgJjpub3QoOmxhc3QtY2hpbGQpIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogc2l6ZSgxNik7XG4gICAgICB9XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgbWVkaWEocGhvbmUpIHtcbiAgICAgICY6Zmlyc3QtY2hpbGQge1xuICAgICAgICBtYXJnaW4tdG9wOiBzaXplKDg4KTtcbiAgICAgIH1cblxuICAgICAgJjpub3QoOmxhc3QtY2hpbGQpIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogc2l6ZSgxMik7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgaDI6bm90KFtjbGFzc10pIHtcbiAgICBAaW5jbHVkZSB0aXRsZUgyLW07XG4gIH1cblxuICBoMzpub3QoW2NsYXNzXSkge1xuICAgIEBpbmNsdWRlIHRpdGxlSDM7XG4gIH1cbiAgLy8tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4gIC8vIExJU1RcblxuICA6d2hlcmUodWwsIG9sKTp3aGVyZSg6bm90KFtjbGFzc10pKSB7XG4gICAgJjo6YmVmb3JlIHtcbiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICB9XG5cbiAgICAmOm5vdCg6Zmlyc3QtY2hpbGQpIHtcbiAgICAgIG1hcmdpbi10b3A6IDE2cHg7XG4gICAgfVxuICB9XG5cbiAgdWw6bm90KFtjbGFzc10pIHtcbiAgICBsaSB7XG4gICAgICBAaW5jbHVkZSB0ZXh0TTtcbiAgICAgIGZvbnQtZmFtaWx5OiAkZm9udC1mYW1pbHktc2Vjb25kYXJ5O1xuICAgIH1cbiAgfVxufVxuXG5hOm5vdChbY2xhc3NdKSB7XG4gIGNvbG9yOiBpbmhlcml0O1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gIHRyYW5zaXRpb246IGNvbG9yIDAuM3MgZWFzZTtcblxuICBAaW5jbHVkZSBtZWRpYShob3Zlcikge1xuICAgICY6aG92ZXIge1xuICAgICAgY29sb3I6IHZhcigtLWNvbG9yLWJvcmRlci1wcmltYXJ5KTtcbiAgICB9XG4gIH1cbn1cbiIsIi8qKlxuICogU3dpcGVyIDExLjIuMTBcbiAqIE1vc3QgbW9kZXJuIG1vYmlsZSB0b3VjaCBzbGlkZXIgYW5kIGZyYW1ld29yayB3aXRoIGhhcmR3YXJlIGFjY2VsZXJhdGVkIHRyYW5zaXRpb25zXG4gKiBodHRwczovL3N3aXBlcmpzLmNvbVxuICpcbiAqIENvcHlyaWdodCAyMDE0LTIwMjUgVmxhZGltaXIgS2hhcmxhbXBpZGlcbiAqXG4gKiBSZWxlYXNlZCB1bmRlciB0aGUgTUlUIExpY2Vuc2VcbiAqXG4gKiBSZWxlYXNlZCBvbjogSnVuZSAyOCwgMjAyNVxuICovXG5cbkB1c2UgJ3N3aXBlci12YXJzLnNjc3MnIGFzIHZhcnM7XG5AYXQtcm9vdCB7XG4gIEBmb250LWZhY2Uge1xuICAgIGZvbnQtZmFtaWx5OiAnc3dpcGVyLWljb25zJztcbiAgICBzcmM6IHVybCgnZGF0YTphcHBsaWNhdGlvbi9mb250LXdvZmY7Y2hhcnNldD11dGYtODtiYXNlNjQsIGQwOUdSZ0FCQUFBQUFBWmdBQkFBQUFBQURBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFCR1JsUk5BQUFHUkFBQUFCb0FBQUFjaTZxSGtVZEVSVVlBQUFXZ0FBQUFJd0FBQUNRQVlBQlhSMUJQVXdBQUJoUUFBQUF1QUFBQU51QVk3K3hIVTFWQ0FBQUZ4QUFBQUZBQUFBQm0yZlBjelU5VEx6SUFBQUhjQUFBQVNnQUFBR0JQOVY1UlkyMWhjQUFBQWtRQUFBQ0lBQUFCWXQ2RjBjQmpkblFnQUFBQ3pBQUFBQVFBQUFBRUFCRUJSR2RoYzNBQUFBV1lBQUFBQ0FBQUFBai8vd0FEWjJ4NVpnQUFBeXdBQUFETUFBQUQyTUh0cnlWb1pXRmtBQUFCYkFBQUFEQUFBQUEyRTIrZW9XaG9aV0VBQUFHY0FBQUFId0FBQUNRQzlnRHphRzEwZUFBQUFpZ0FBQUFaQUFBQXJnSmtBQkZzYjJOaEFBQUMwQUFBQUZvQUFBQmFGUUFVR0cxaGVIQUFBQUc4QUFBQUh3QUFBQ0FBY0FCQWJtRnRaUUFBQS9nQUFBRTVBQUFDWHZGZEJ3bHdiM04wQUFBRk5BQUFBR0lBQUFDRTVzNzRoWGphWTJCa1lHQUFZcGY1SHUvaitXMitNbkF6TVlEQXphWDZRakQ2LzQvL0J4ajVHQThBdVJ3TVlHa0FQeXdMMTNqYVkyQmtZR0E4OFA4QWd4NGorLzhmUURZZkExQUVCV2dEQUlCMkJPb0FlTnBqWUdSZ1lOQmg0R2RnWWdBQkVNbklBQkp6WU5BRENRQUFDV2dBc1FCNDJtTmdZZnpDT0lHQmxZR0IwWWN4allHQndSMUtmMldRWkdoaFlHQmlZR1ZtZ0FGR0JpUVFrT2Fhd3REQW9NQlF4WGpnL3dFR1BjWUREQTR3TlVBMkNDZ3dzQUFBTzRFTDZnQUFlTnBqMk0wZ3lBQUNxeGdHTldCa1oyRDQvd01BK3hrRGRnQUFBSGphWTJCZ1lHYUFZQmtHUmdZUWlBSHlHTUY4RmdZSElNM0R3TUhBQkdRck1PZ3lXRExFTTFUOS93OFVCZkVNZ0x6RS8vLy9QLzUvL2YvVi94dityNGVhQUFlTWJBeHdJVVltSU1IRWdLWUFZalVjc0RBd3NMS3hjM0J5Y2ZQdzhqRVFBL2daQkFTRmhFVkV4Y1FsSktXa1pXVGw1QlVVbFpSVlZOWFVOVFFaQmdNQUFNUitFK2dBRVFGRUFBQUFLZ0FxQUNvQU5BQStBRWdBVWdCY0FHWUFjQUI2QUlRQWpnQ1lBS0lBckFDMkFNQUF5Z0RVQU40QTZBRHlBUHdCQmdFUUFSb0JKQUV1QVRnQlFnRk1BVllCWUFGcUFYUUJmZ0dJQVpJQm5BR21BYklCemdIc0FBQjQydTJOTVE2Q1VBeUdXNTY4eDlBbmVZWWdtNE1KYmhLRmFFeElPQVZYOEFwZXdTdDRCaWM0QWZlQWlkM1ZPQml4RHhmUFlFemE1TytYZmkwNFlBRGdnaVVJVUxDdUVKSzhWaE80YlN2cGRua3RISTVRQ1l0ZGkyc2w4Wm5YYUhscVVyTkt6ZEtjVDhjamxxK3J3WlN2SVZjek5pZXpzZm5QL3V6bm1mUEZCTk9ETTJLN01UUTQ1WUVBWnFHUDgxQW1HR2NGM2lQcU9vcDByMVNQVGFUYlZrZlVlNEhYajk3d1lFK3lOd1dZeHdXdTR2MXVnV0hnbzNTMVhkWkVWcVdNN0VUMGNmbkxHeFdma2dSNDJvMlB2V3JETUJTRmovSUhMYUYwektqUmdkaVZNd1NjTlJBb1dVb0g3OFkyaWNCL3lJWTA5QW42QUgyQmR1L1VCK3l4b3BZc2hRaUV2bnZ1MGRVUmdEdDhRZUM4UER3N0ZwamkzZkVBNHovUEVKNllPQjVoS2g0ZGozRXZYaHhQcUgvU0tVWTNySjdzclo0RlpuaDFQTUF0UGh3UDZmbDJQTUpNUERnZVE0clk4WVQ2R3phbzBlQUVBNDA5RHVnZ21UbkZuT2NTQ2lFaUxNZ3hDaVRJNkNxNURaVWQzUW1wMTB2TzBMYUxUZDJjak40Zk91bWxjN2xVWWJTUWNaRmt1dFJHN2c2SktaS3kwUm1kTFk2ODBDRG5FSitVTWtwRkZlMVJON254ZFZwWHJDNGFUdG5hdXJPblllcmNaZzJZVm1MTi9kL2djemZFaW1yRS9mcy9iT3VxMjlabW44dGxvT1JhWGdaZ0dhNzh5TzkvY25YbTJCcGFHdnEyNUR2OVM0RTkrNVNJYzlQcXVwSktoWUZTU2w0NytRY3IxbVlOQUFBQWVOcHR3MGNLd2tBQUFNRFpKQThRN09VSnZrTHNQZlo2ekZWRVJQeThxSGgyWUVSKzNpL0JQODN2SUJMTHlTc29LaW1ycUtxcGEyaHA2K2pxNlJzWUdobWJtSnFaU3kwc3JheHRiTzNzSFJ5ZG5FTVU0dVI2eXg3SkpYdmVQN1dyRHljQUFBQUFBQUgvL3dBQ2VOcGpZR1JnWU9BQlloa2daZ0pDWmdaTkJrWUdMUVp0SUpzRkxNWUFBQXczQUxnQWVOb2xpekVLZ0RBUUJDY2hSYkMyc0ZFUjBZRDZxVlFpQkN2L0g5ZXpHSTZaNVhCQXc4Q0JLL201aVFRVmF1VmJYTG5Pck1adjJvTGRLRmE4UGp1cnUyaEp6R2FibU9TTHpOTXp2dXRwQjNONDJtTmdaR0JnNEdLUVl6QmhZTXhKTE1sajRHQmdBWW93L1AvUEFKSmhMTTZzU29XS2ZXQ0FBd0RBamdiUkFBQjQybU5nWUdCa0FJSWJDWm81SVBybVVuMGhHQTBBTzhFRlRRQUEnKVxuICAgICAgZm9ybWF0KCd3b2ZmJyk7XG4gICAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgICBmb250LXN0eWxlOiBub3JtYWw7XG4gIH1cbn1cbkBhdC1yb290IHtcbiAgOnJvb3Qge1xuICAgIC0tc3dpcGVyLXRoZW1lLWNvbG9yOiAje3ZhcnMuJHRoZW1lQ29sb3J9O1xuICAgIC8qXG4gICAgLS1zd2lwZXItcHJlbG9hZGVyLWNvbG9yOiB2YXIoLS1zd2lwZXItdGhlbWUtY29sb3IpO1xuICAgIC0tc3dpcGVyLXdyYXBwZXItdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGluaXRpYWw7XG4gICAgKi9cbiAgfVxufVxuOmhvc3Qge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBtYXJnaW4tbGVmdDogYXV0bztcbiAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xuICB6LWluZGV4OiAxO1xufVxuLnN3aXBlciB7XG4gIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICBtYXJnaW4tcmlnaHQ6IGF1dG87XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgbGlzdC1zdHlsZTogbm9uZTtcbiAgcGFkZGluZzogMDtcbiAgLyogRml4IG9mIFdlYmtpdCBmbGlja2VyaW5nICovXG4gIHotaW5kZXg6IDE7XG4gIGRpc3BsYXk6IGJsb2NrO1xufVxuLnN3aXBlci12ZXJ0aWNhbCA+IC5zd2lwZXItd3JhcHBlciB7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG59XG4uc3dpcGVyLXdyYXBwZXIge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IDEwMCU7XG4gIHotaW5kZXg6IDE7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIHRyYW5zaXRpb24tcHJvcGVydHk6IHRyYW5zZm9ybTtcbiAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IHZhcigtLXN3aXBlci13cmFwcGVyLXRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uLCBpbml0aWFsKTtcbiAgYm94LXNpemluZzogY29udGVudC1ib3g7XG59XG4uc3dpcGVyLWFuZHJvaWQgLnN3aXBlci1zbGlkZSxcbi5zd2lwZXItaW9zIC5zd2lwZXItc2xpZGUsXG4uc3dpcGVyLXdyYXBwZXIge1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDBweCwgMCwgMCk7XG59XG4uc3dpcGVyLWhvcml6b250YWwge1xuICB0b3VjaC1hY3Rpb246IHBhbi15O1xufVxuLnN3aXBlci12ZXJ0aWNhbCB7XG4gIHRvdWNoLWFjdGlvbjogcGFuLXg7XG59XG4uc3dpcGVyLXNsaWRlIHtcbiAgZmxleC1zaHJpbms6IDA7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IDEwMCU7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogdHJhbnNmb3JtO1xuICBkaXNwbGF5OiBibG9jaztcbn1cbi5zd2lwZXItc2xpZGUtaW52aXNpYmxlLWJsYW5rIHtcbiAgdmlzaWJpbGl0eTogaGlkZGVuO1xufVxuLyogQXV0byBIZWlnaHQgKi9cbi5zd2lwZXItYXV0b2hlaWdodCxcbi5zd2lwZXItYXV0b2hlaWdodCAuc3dpcGVyLXNsaWRlIHtcbiAgaGVpZ2h0OiBhdXRvO1xufVxuLnN3aXBlci1hdXRvaGVpZ2h0IC5zd2lwZXItd3JhcHBlciB7XG4gIGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0O1xuICB0cmFuc2l0aW9uLXByb3BlcnR5OiB0cmFuc2Zvcm0sIGhlaWdodDtcbn1cbi5zd2lwZXItYmFja2ZhY2UtaGlkZGVuIC5zd2lwZXItc2xpZGUge1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVooMCk7XG4gIGJhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlbjtcbn1cbi8qIDNEIEVmZmVjdHMgKi9cbi5zd2lwZXItM2Quc3dpcGVyLWNzcy1tb2RlIC5zd2lwZXItd3JhcHBlciB7XG4gIHBlcnNwZWN0aXZlOiAxMjAwcHg7XG59XG4uc3dpcGVyLTNkIC5zd2lwZXItd3JhcHBlciB7XG4gIHRyYW5zZm9ybS1zdHlsZTogcHJlc2VydmUtM2Q7XG59XG4uc3dpcGVyLTNkIHtcbiAgcGVyc3BlY3RpdmU6IDEyMDBweDtcbiAgLnN3aXBlci1zbGlkZSxcbiAgLnN3aXBlci1jdWJlLXNoYWRvdyB7XG4gICAgdHJhbnNmb3JtLXN0eWxlOiBwcmVzZXJ2ZS0zZDtcbiAgfVxufVxuXG4vKiBDU1MgTW9kZSAqL1xuLnN3aXBlci1jc3MtbW9kZSB7XG4gID4gLnN3aXBlci13cmFwcGVyIHtcbiAgICBvdmVyZmxvdzogYXV0bztcbiAgICBzY3JvbGxiYXItd2lkdGg6IG5vbmU7IC8qIEZvciBGaXJlZm94ICovXG4gICAgLW1zLW92ZXJmbG93LXN0eWxlOiBub25lOyAvKiBGb3IgSW50ZXJuZXQgRXhwbG9yZXIgYW5kIEVkZ2UgKi9cbiAgICAmOjotd2Via2l0LXNjcm9sbGJhciB7XG4gICAgICBkaXNwbGF5OiBub25lO1xuICAgIH1cbiAgfVxuICA+IC5zd2lwZXItd3JhcHBlciA+IC5zd2lwZXItc2xpZGUge1xuICAgIHNjcm9sbC1zbmFwLWFsaWduOiBzdGFydCBzdGFydDtcbiAgfVxuICAmLnN3aXBlci1ob3Jpem9udGFsIHtcbiAgICA+IC5zd2lwZXItd3JhcHBlciB7XG4gICAgICBzY3JvbGwtc25hcC10eXBlOiB4IG1hbmRhdG9yeTtcbiAgICB9XG4gIH1cbiAgJi5zd2lwZXItdmVydGljYWwge1xuICAgID4gLnN3aXBlci13cmFwcGVyIHtcbiAgICAgIHNjcm9sbC1zbmFwLXR5cGU6IHkgbWFuZGF0b3J5O1xuICAgIH1cbiAgfVxuICAmLnN3aXBlci1mcmVlLW1vZGUge1xuICAgID4gLnN3aXBlci13cmFwcGVyIHtcbiAgICAgIHNjcm9sbC1zbmFwLXR5cGU6IG5vbmU7XG4gICAgfVxuICAgID4gLnN3aXBlci13cmFwcGVyID4gLnN3aXBlci1zbGlkZSB7XG4gICAgICBzY3JvbGwtc25hcC1hbGlnbjogbm9uZTtcbiAgICB9XG4gIH1cbiAgJi5zd2lwZXItY2VudGVyZWQge1xuICAgID4gLnN3aXBlci13cmFwcGVyOjpiZWZvcmUge1xuICAgICAgY29udGVudDogJyc7XG4gICAgICBmbGV4LXNocmluazogMDtcbiAgICAgIG9yZGVyOiA5OTk5O1xuICAgIH1cbiAgICA+IC5zd2lwZXItd3JhcHBlciA+IC5zd2lwZXItc2xpZGUge1xuICAgICAgc2Nyb2xsLXNuYXAtYWxpZ246IGNlbnRlciBjZW50ZXI7XG4gICAgICBzY3JvbGwtc25hcC1zdG9wOiBhbHdheXM7XG4gICAgfVxuICB9XG4gICYuc3dpcGVyLWNlbnRlcmVkLnN3aXBlci1ob3Jpem9udGFsIHtcbiAgICA+IC5zd2lwZXItd3JhcHBlciA+IC5zd2lwZXItc2xpZGU6Zmlyc3QtY2hpbGQge1xuICAgICAgbWFyZ2luLWlubGluZS1zdGFydDogdmFyKC0tc3dpcGVyLWNlbnRlcmVkLW9mZnNldC1iZWZvcmUpO1xuICAgIH1cbiAgICA+IC5zd2lwZXItd3JhcHBlcjo6YmVmb3JlIHtcbiAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgIG1pbi1oZWlnaHQ6IDFweDtcbiAgICAgIHdpZHRoOiB2YXIoLS1zd2lwZXItY2VudGVyZWQtb2Zmc2V0LWFmdGVyKTtcbiAgICB9XG4gIH1cbiAgJi5zd2lwZXItY2VudGVyZWQuc3dpcGVyLXZlcnRpY2FsIHtcbiAgICA+IC5zd2lwZXItd3JhcHBlciA+IC5zd2lwZXItc2xpZGU6Zmlyc3QtY2hpbGQge1xuICAgICAgbWFyZ2luLWJsb2NrLXN0YXJ0OiB2YXIoLS1zd2lwZXItY2VudGVyZWQtb2Zmc2V0LWJlZm9yZSk7XG4gICAgfVxuICAgID4gLnN3aXBlci13cmFwcGVyOjpiZWZvcmUge1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICBtaW4td2lkdGg6IDFweDtcbiAgICAgIGhlaWdodDogdmFyKC0tc3dpcGVyLWNlbnRlcmVkLW9mZnNldC1hZnRlcik7XG4gICAgfVxuICB9XG59XG5cbi8qIFNsaWRlIHN0eWxlcyBzdGFydCAqL1xuLyogM0QgU2hhZG93cyAqL1xuLnN3aXBlci0zZCB7XG4gIC5zd2lwZXItc2xpZGUtc2hhZG93LFxuICAuc3dpcGVyLXNsaWRlLXNoYWRvdy1sZWZ0LFxuICAuc3dpcGVyLXNsaWRlLXNoYWRvdy1yaWdodCxcbiAgLnN3aXBlci1zbGlkZS1zaGFkb3ctdG9wLFxuICAuc3dpcGVyLXNsaWRlLXNoYWRvdy1ib3R0b20sXG4gIC5zd2lwZXItc2xpZGUtc2hhZG93LFxuICAuc3dpcGVyLXNsaWRlLXNoYWRvdy1sZWZ0LFxuICAuc3dpcGVyLXNsaWRlLXNoYWRvdy1yaWdodCxcbiAgLnN3aXBlci1zbGlkZS1zaGFkb3ctdG9wLFxuICAuc3dpcGVyLXNsaWRlLXNoYWRvdy1ib3R0b20ge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBsZWZ0OiAwO1xuICAgIHRvcDogMDtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gICAgei1pbmRleDogMTA7XG4gIH1cbiAgLnN3aXBlci1zbGlkZS1zaGFkb3cge1xuICAgIGJhY2tncm91bmQ6IHJnYmEoMCwgMCwgMCwgMC4xNSk7XG4gIH1cbiAgLnN3aXBlci1zbGlkZS1zaGFkb3ctbGVmdCB7XG4gICAgYmFja2dyb3VuZC1pbWFnZTogbGluZWFyLWdyYWRpZW50KHRvIGxlZnQsIHJnYmEoMCwgMCwgMCwgMC41KSwgcmdiYSgwLCAwLCAwLCAwKSk7XG4gIH1cbiAgLnN3aXBlci1zbGlkZS1zaGFkb3ctcmlnaHQge1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IGxpbmVhci1ncmFkaWVudCh0byByaWdodCwgcmdiYSgwLCAwLCAwLCAwLjUpLCByZ2JhKDAsIDAsIDAsIDApKTtcbiAgfVxuICAuc3dpcGVyLXNsaWRlLXNoYWRvdy10b3Age1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IGxpbmVhci1ncmFkaWVudCh0byB0b3AsIHJnYmEoMCwgMCwgMCwgMC41KSwgcmdiYSgwLCAwLCAwLCAwKSk7XG4gIH1cbiAgLnN3aXBlci1zbGlkZS1zaGFkb3ctYm90dG9tIHtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiBsaW5lYXItZ3JhZGllbnQodG8gYm90dG9tLCByZ2JhKDAsIDAsIDAsIDAuNSksIHJnYmEoMCwgMCwgMCwgMCkpO1xuICB9XG59XG4uc3dpcGVyLWxhenktcHJlbG9hZGVyIHtcbiAgd2lkdGg6IDQycHg7XG4gIGhlaWdodDogNDJweDtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBsZWZ0OiA1MCU7XG4gIHRvcDogNTAlO1xuICBtYXJnaW4tbGVmdDogLTIxcHg7XG4gIG1hcmdpbi10b3A6IC0yMXB4O1xuICB6LWluZGV4OiAxMDtcbiAgdHJhbnNmb3JtLW9yaWdpbjogNTAlO1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICBib3JkZXI6IDRweCBzb2xpZCB2YXIoLS1zd2lwZXItcHJlbG9hZGVyLWNvbG9yLCB2YXIoLS1zd2lwZXItdGhlbWUtY29sb3IpKTtcbiAgYm9yZGVyLXJhZGl1czogNTAlO1xuICBib3JkZXItdG9wLWNvbG9yOiB0cmFuc3BhcmVudDtcbn1cbi5zd2lwZXI6bm90KC5zd2lwZXItd2F0Y2gtcHJvZ3Jlc3MpLFxuLnN3aXBlci13YXRjaC1wcm9ncmVzcyAuc3dpcGVyLXNsaWRlLXZpc2libGUge1xuICAuc3dpcGVyLWxhenktcHJlbG9hZGVyIHtcbiAgICBhbmltYXRpb246IHN3aXBlci1wcmVsb2FkZXItc3BpbiAxcyBpbmZpbml0ZSBsaW5lYXI7XG4gIH1cbn1cbi5zd2lwZXItbGF6eS1wcmVsb2FkZXItd2hpdGUge1xuICAtLXN3aXBlci1wcmVsb2FkZXItY29sb3I6ICNmZmY7XG59XG4uc3dpcGVyLWxhenktcHJlbG9hZGVyLWJsYWNrIHtcbiAgLS1zd2lwZXItcHJlbG9hZGVyLWNvbG9yOiAjMDAwO1xufVxuQGtleWZyYW1lcyBzd2lwZXItcHJlbG9hZGVyLXNwaW4ge1xuICAwJSB7XG4gICAgdHJhbnNmb3JtOiByb3RhdGUoMGRlZyk7XG4gIH1cbiAgMTAwJSB7XG4gICAgdHJhbnNmb3JtOiByb3RhdGUoMzYwZGVnKTtcbiAgfVxufVxuLyogU2xpZGUgc3R5bGVzIGVuZCAqL1xuXG5cblxuIiwiLnN3aXBlci1mYWRlIHtcbiAgJi5zd2lwZXItZnJlZS1tb2RlIHtcbiAgICAuc3dpcGVyLXNsaWRlIHtcbiAgICAgIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLW91dDtcbiAgICB9XG4gIH1cbiAgLnN3aXBlci1zbGlkZSB7XG4gICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gICAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogb3BhY2l0eTtcbiAgICAuc3dpcGVyLXNsaWRlIHtcbiAgICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICAgIH1cbiAgfVxuICAuc3dpcGVyLXNsaWRlLWFjdGl2ZSB7XG4gICAgJixcbiAgICAmIC5zd2lwZXItc2xpZGUtYWN0aXZlIHtcbiAgICAgIHBvaW50ZXItZXZlbnRzOiBhdXRvO1xuICAgIH1cbiAgfVxufVxuIiwiOnJvb3Qge1xuICAtLWh5c3Rtb2RhbC1zcGVlZDogMC4ycztcbiAgLS1oeXN0bW9kYWwtemluZGV4OiA3MDtcbn1cblxuLmh5c3Rtb2RhbCB7XG4gIHBvc2l0aW9uOiBmaXhlZDtcbiAgdG9wOiAwO1xuICBsZWZ0OiAwO1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAxMDAlO1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICBvdmVyZmxvdy15OiBhdXRvO1xuICAtd2Via2l0LW92ZXJmbG93LXNjcm9sbGluZzogdG91Y2g7XG4gIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICBkaXNwbGF5OiBncmlkO1xuICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDEwMCU7XG4gIGdyaWQtdGVtcGxhdGUtcm93czogMHB4IG1pbi1jb250ZW50IDBweDtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIGFsaWduLWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gIHZpc2liaWxpdHk6IGhpZGRlbjtcbiAgc2Nyb2xsYmFyLXdpZHRoOiBub25lO1xuICAtbXMtb3ZlcmZsb3ctc3R5bGU6IG5vbmU7XG59XG5cbi5oeXN0bW9kYWw6Oi13ZWJraXQtc2Nyb2xsYmFyIHtcbiAgZGlzcGxheTogbm9uZTtcbn1cblxuLmh5c3Rtb2RhbDo6YmVmb3JlIHtcbiAgcG9zaXRpb246IGZpeGVkO1xuICB0b3A6IDA7XG4gIGxlZnQ6IDA7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IDEwMCU7XG4gIGNvbnRlbnQ6IFwiXCI7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDAwO1xuICBvcGFjaXR5OiAwO1xuICBwb2ludGVyLWV2ZW50czogbm9uZTtcbn1cblxuLmh5c3Rtb2RhbC0tYW5pbWF0ZWQ6OmJlZm9yZSB7XG4gIHRyYW5zaXRpb246IG9wYWNpdHkgdmFyKC0taHlzdG1vZGFsLXNwZWVkKSBlYXNlO1xufVxuXG4uaHlzdG1vZGFsLS1hY3RpdmU6OmJlZm9yZSB7XG4gIG9wYWNpdHk6IDAuNjtcbn1cblxuLmh5c3Rtb2RhbC0tbW92ZWQsXG4uaHlzdG1vZGFsLS1hY3RpdmUge1xuICBvcGFjaXR5OiAxO1xuICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgdmlzaWJpbGl0eTogdmlzaWJsZTtcbn1cblxuLmh5c3Rtb2RhbC0tYWN0aXZlIHtcbiAgcG9pbnRlci1ldmVudHM6IGF1dG87XG59XG5cbi5oeXN0bW9kYWxfX3dyYXAge1xuICBkaXNwbGF5OiBibG9jaztcbiAgbWluLXdpZHRoOiAwO1xuICBncmlkLXJvdzogMiAvIDM7XG59XG5cbi5oeXN0bW9kYWxfX3dpbmRvdyB7XG4gIG1pbi13aWR0aDogMDtcbiAgZ3JpZC1yb3c6IDIgLyAzO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHotaW5kZXg6IDEwO1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICBmbGV4LXNocmluazogMDtcbiAgZmxleC1ncm93OiAwO1xuICBiYWNrZ3JvdW5kOiAjZmZmO1xuICB3aWR0aDogNjAwcHg7XG4gIG1heC13aWR0aDogMTAwJTtcbiAgb3ZlcmZsb3c6IHZpc2libGU7XG4gIHRyYW5zZm9ybTogc2NhbGUoMC45NSk7XG4gIG9wYWNpdHk6IDA7XG4gIG1hcmdpbjogNTBweCBhdXRvO1xufVxuXG4uaHlzdG1vZGFsX193aW5kb3ctLWxvYWRpbmcge1xuICBtaW4taGVpZ2h0OiA0MDBweDtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiZGF0YTppbWFnZS9zdmcreG1sLCUwQSUzQ3N2ZyB3aWR0aD0nMTA1JyBoZWlnaHQ9JzEwNScgdmlld0JveD0nMCAwIDEwNSAxMDUnIHhtbG5zPSdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZycgZmlsbD0nJTIzYWFhJyUzRSUzQ2NpcmNsZSBjeD0nMTIuNScgY3k9JzEyLjUnIHI9JzEyLjUnJTNFJTNDYW5pbWF0ZSBhdHRyaWJ1dGVOYW1lPSdmaWxsLW9wYWNpdHknIGJlZ2luPScwcycgZHVyPScxcycgdmFsdWVzPScxOy4yOzEnIGNhbGNNb2RlPSdsaW5lYXInIHJlcGVhdENvdW50PSdpbmRlZmluaXRlJyAvJTNFJTNDL2NpcmNsZSUzRSUzQ2NpcmNsZSBjeD0nMTIuNScgY3k9JzUyLjUnIHI9JzEyLjUnIGZpbGwtb3BhY2l0eT0nLjUnJTNFJTNDYW5pbWF0ZSBhdHRyaWJ1dGVOYW1lPSdmaWxsLW9wYWNpdHknIGJlZ2luPScxMDBtcycgZHVyPScxcycgdmFsdWVzPScxOy4yOzEnIGNhbGNNb2RlPSdsaW5lYXInIHJlcGVhdENvdW50PSdpbmRlZmluaXRlJyAvJTNFJTNDL2NpcmNsZSUzRSUzQ2NpcmNsZSBjeD0nNTIuNScgY3k9JzEyLjUnIHI9JzEyLjUnJTNFJTNDYW5pbWF0ZSBhdHRyaWJ1dGVOYW1lPSdmaWxsLW9wYWNpdHknIGJlZ2luPSczMDBtcycgZHVyPScxcycgdmFsdWVzPScxOy4yOzEnIGNhbGNNb2RlPSdsaW5lYXInIHJlcGVhdENvdW50PSdpbmRlZmluaXRlJyAvJTNFJTNDL2NpcmNsZSUzRSUzQ2NpcmNsZSBjeD0nNTIuNScgY3k9JzUyLjUnIHI9JzEyLjUnJTNFJTNDYW5pbWF0ZSBhdHRyaWJ1dGVOYW1lPSdmaWxsLW9wYWNpdHknIGJlZ2luPSc2MDBtcycgZHVyPScxcycgdmFsdWVzPScxOy4yOzEnIGNhbGNNb2RlPSdsaW5lYXInIHJlcGVhdENvdW50PSdpbmRlZmluaXRlJyAvJTNFJTNDL2NpcmNsZSUzRSUzQ2NpcmNsZSBjeD0nOTIuNScgY3k9JzEyLjUnIHI9JzEyLjUnJTNFJTNDYW5pbWF0ZSBhdHRyaWJ1dGVOYW1lPSdmaWxsLW9wYWNpdHknIGJlZ2luPSc4MDBtcycgZHVyPScxcycgdmFsdWVzPScxOy4yOzEnIGNhbGNNb2RlPSdsaW5lYXInIHJlcGVhdENvdW50PSdpbmRlZmluaXRlJyAvJTNFJTNDL2NpcmNsZSUzRSUzQ2NpcmNsZSBjeD0nOTIuNScgY3k9JzUyLjUnIHI9JzEyLjUnJTNFJTNDYW5pbWF0ZSBhdHRyaWJ1dGVOYW1lPSdmaWxsLW9wYWNpdHknIGJlZ2luPSc0MDBtcycgZHVyPScxcycgdmFsdWVzPScxOy4yOzEnIGNhbGNNb2RlPSdsaW5lYXInIHJlcGVhdENvdW50PSdpbmRlZmluaXRlJyAvJTNFJTNDL2NpcmNsZSUzRSUzQ2NpcmNsZSBjeD0nMTIuNScgY3k9JzkyLjUnIHI9JzEyLjUnJTNFJTNDYW5pbWF0ZSBhdHRyaWJ1dGVOYW1lPSdmaWxsLW9wYWNpdHknIGJlZ2luPSc3MDBtcycgZHVyPScxcycgdmFsdWVzPScxOy4yOzEnIGNhbGNNb2RlPSdsaW5lYXInIHJlcGVhdENvdW50PSdpbmRlZmluaXRlJyAvJTNFJTNDL2NpcmNsZSUzRSUzQ2NpcmNsZSBjeD0nNTIuNScgY3k9JzkyLjUnIHI9JzEyLjUnJTNFJTNDYW5pbWF0ZSBhdHRyaWJ1dGVOYW1lPSdmaWxsLW9wYWNpdHknIGJlZ2luPSc1MDBtcycgZHVyPScxcycgdmFsdWVzPScxOy4yOzEnIGNhbGNNb2RlPSdsaW5lYXInIHJlcGVhdENvdW50PSdpbmRlZmluaXRlJyAvJTNFJTNDL2NpcmNsZSUzRSUzQ2NpcmNsZSBjeD0nOTIuNScgY3k9JzkyLjUnIHI9JzEyLjUnJTNFJTNDYW5pbWF0ZSBhdHRyaWJ1dGVOYW1lPSdmaWxsLW9wYWNpdHknIGJlZ2luPScyMDBtcycgZHVyPScxcycgdmFsdWVzPScxOy4yOzEnIGNhbGNNb2RlPSdsaW5lYXInIHJlcGVhdENvdW50PSdpbmRlZmluaXRlJyAvJTNFJTNDL2NpcmNsZSUzRSUzQy9zdmclM0UlMEFcIik7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IDUwJTtcbiAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgYmFja2dyb3VuZC1zaXplOiA0OHB4O1xufVxuXG4uaHlzdG1vZGFsLS1hbmltYXRlZCAuaHlzdG1vZGFsX193aW5kb3cge1xuICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gdmFyKC0taHlzdG1vZGFsLXNwZWVkKSBlYXNlIDBzLCBvcGFjaXR5IHZhcigtLWh5c3Rtb2RhbC1zcGVlZCkgZWFzZSAwcztcbn1cblxuLmh5c3Rtb2RhbC0tYWN0aXZlIC5oeXN0bW9kYWxfX3dpbmRvdyB7XG4gIHRyYW5zZm9ybTogbm9uZTtcbiAgb3BhY2l0eTogMTtcbn1cblxuLmh5c3Rtb2RhbF9fY2xvc2Uge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHotaW5kZXg6IDEwO1xuICB0b3A6IDE1cHg7XG4gIHJpZ2h0OiAxNXB4O1xuICBkaXNwbGF5OiBibG9jaztcbiAgd2lkdGg6IDI1cHg7XG4gIGhlaWdodDogMjVweDtcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlciBjZW50ZXI7XG4gIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImRhdGE6aW1hZ2Uvc3ZnK3htbCwlM0NzdmcgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJyB2aWV3Qm94PScwIDAgMjQgMjQnJTNFJTNDcGF0aCBmaWxsPSclMjNmZmYnIHN0cm9rZT0nJTIzMDAwJyBzdHJva2UtbGluZWNhcD0nc3F1YXJlJyBzdHJva2UtbWl0ZXJsaW1pdD0nNTAnIHN0cm9rZS13aWR0aD0nMicgZD0nTTIyIDJMMiAyMicvJTNFJTNDcGF0aCBmaWxsPSdub25lJyBzdHJva2U9JyUyMzAwMCcgc3Ryb2tlLWxpbmVjYXA9J3NxdWFyZScgc3Ryb2tlLW1pdGVybGltaXQ9JzUwJyBzdHJva2Utd2lkdGg9JzInIGQ9J00yIDJsMjAgMjAnLyUzRSUzQy9zdmclM0VcIik7XG4gIGJhY2tncm91bmQtc2l6ZTogMTAwJSAxMDAlO1xuICBib3JkZXI6IG5vbmU7XG4gIGZvbnQtc2l6ZTogMDtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICBvdXRsaW5lOiBub25lO1xufVxuXG4uaHlzdG1vZGFsX19jbG9zZS0td2gge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJkYXRhOmltYWdlL3N2Zyt4bWwsJTNDc3ZnIHhtbG5zPSdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Zycgdmlld0JveD0nMCAwIDI0IDI0JyUzRSUzQ3BhdGggZmlsbD0nJTIzZmZmJyBzdHJva2U9JyUyM2ZmZicgc3Ryb2tlLWxpbmVjYXA9J3NxdWFyZScgc3Ryb2tlLW1pdGVybGltaXQ9JzUwJyBzdHJva2Utd2lkdGg9JzInIGQ9J00yMiAyTDIgMjInLyUzRSUzQ3BhdGggZmlsbD0nbm9uZScgc3Ryb2tlPSclMjNmZmYnIHN0cm9rZS1saW5lY2FwPSdzcXVhcmUnIHN0cm9rZS1taXRlcmxpbWl0PSc1MCcgc3Ryb2tlLXdpZHRoPScyJyBkPSdNMiAybDIwIDIwJy8lM0UlM0Mvc3ZnJTNFXCIpO1xufVxuXG4uaHlzdG1vZGFsX19jbG9zZTpob3ZlciB7XG4gIG9wYWNpdHk6IDAuOTU7XG59XG5cbi5oeXN0bW9kYWxfX2Nsb3NlOmZvY3VzIHtcbiAgb3V0bGluZTogMnB4IGRvdHRlZCByZ2JhKDAsIDAsIDAsIDAuNyk7XG4gIG91dGxpbmUtb2Zmc2V0OiAycHg7XG59XG5cbi5oeXN0bW9kYWxfX2Nsb3NlLS13aDpmb2N1cyB7XG4gIG91dGxpbmU6IDJweCBkb3R0ZWQgcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjcpO1xufVxuXG5AbWVkaWEgYWxsIGFuZCAobWF4LXdpZHRoOjc2N3B4KSB7XG4gIC5oeXN0bW9kYWxfX2Nsb3NlIHtcbiAgICB0b3A6IDEwcHg7XG4gICAgcmlnaHQ6IDEwcHg7XG4gICAgd2lkdGg6IDI0cHg7XG4gICAgaGVpZ2h0OiAyNHB4O1xuICB9XG5cbiAgLmh5c3Rtb2RhbF9fd2luZG93IHtcbiAgICBtYXJnaW4tdG9wOiAwO1xuICAgIG1hcmdpbi1ib3R0b206IDA7XG4gIH1cbn1cbiIsIi5hd2FyZCB7XG4gIEBpbmNsdWRlIHRleHRNUztcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBwYWRkaW5nOiAwIHNpemUoMjApO1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG5cbiAgJjo6YmVmb3JlLFxuICAmOjphZnRlciB7XG4gICAgY29udGVudDogJyc7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMDtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgd2lkdGg6IHNpemUoMTQpO1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCgnLi4vaW1nL2ljb25zL3dyZWF0aC5zdmcnKTtcbiAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICAgIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlcjtcbiAgICBiYWNrZ3JvdW5kLXNpemU6IGNvbnRhaW47XG4gIH1cblxuICAmOjpiZWZvcmUge1xuICAgIGxlZnQ6IDA7XG4gIH1cblxuICAmOjphZnRlciB7XG4gICAgcmlnaHQ6IDA7XG4gICAgdHJhbnNmb3JtOiBzY2FsZSgtMSwgMSk7XG4gIH1cblxuICAmX190aXRsZSB7XG4gICAgY29sb3I6IHZhcigtLWNvbG9yLXNlY29uZGFyeSk7XG4gIH1cblxuICBAaW5jbHVkZSBtZWRpYShmdWxsaGQtYmVmb3JlKSB7XG4gICAgcGFkZGluZzogMCB2dy10by1weCgyMCk7XG5cbiAgICAmOjpiZWZvcmUsXG4gICAgJjo6YWZ0ZXIge1xuICAgICAgd2lkdGg6IHZ3LXRvLXB4KDE0KTtcbiAgICB9XG4gIH1cblxuICBAaW5jbHVkZSBtZWRpYSh0YWJsZXQpIHtcbiAgICAmX190aXRsZSB7XG4gICAgICBjb2xvcjogdmFyKC0tY29sb3Itc2Vjb25kYXJ5LWNvbnRyYXN0KTtcbiAgICB9XG4gIH1cbn1cbiIsIi5ib3JkZXIge1xuICAmX190b3Age1xuICAgIGJvcmRlci10b3A6IDFweCBzb2xpZDtcbiAgICBib3JkZXItY29sb3I6IHZhcigtLWNvbG9yLWJvcmRlci1wcmltYXJ5KTtcbiAgfVxuXG4gICZfX2JvdHRvbSB7XG4gICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkO1xuICAgIGJvcmRlci1jb2xvcjogdmFyKC0tY29sb3ItYm9yZGVyLXByaW1hcnkpO1xuICB9XG5cbiAgJi0tZ3JleSB7XG4gICAgJi5ib3JkZXJfX3RvcCxcbiAgICAmLmJvcmRlcl9fYm90dG9tIHtcbiAgICAgIGJvcmRlci1jb2xvcjogdmFyKC0tY29sb3ItYm9yZGVyKTtcbiAgICB9XG4gIH1cbn1cbiIsIi5ib3gtZGVjb3Ige1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cbiAgJl9fZGVjb3Ige1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB3aWR0aDogMTNweDtcbiAgICB0b3A6IDA7XG4gICAgYm90dG9tOiAwO1xuICAgIGxlZnQ6IDUwJTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTUwJSk7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgei1pbmRleDogMjtcblxuICAgICY6OmJlZm9yZSxcbiAgICAmOjphZnRlciB7XG4gICAgICBjb250ZW50OiAnJztcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIGxlZnQ6IDA7XG4gICAgICByaWdodDogMDtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgd2lkdGg6IDEzcHg7XG4gICAgICBoZWlnaHQ6IDdweDtcbiAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCgnLi4vaW1nL2JnL2Nvbm5lY3Rpb24uc3ZnJyk7XG4gICAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyO1xuICAgICAgYmFja2dyb3VuZC1zaXplOiAxMDAlIDEwMCU7XG4gICAgfVxuXG4gICAgJjo6YmVmb3JlIHtcbiAgICAgIHRvcDogMDtcbiAgICB9XG5cbiAgICAmOjphZnRlciB7XG4gICAgICBib3R0b206IDA7XG4gICAgICB0cmFuc2Zvcm06IHJvdGF0ZSgxODBkZWcpO1xuICAgIH1cblxuICAgICYtLXJpZ2h0IHtcbiAgICAgIGxlZnQ6IDEwMCU7XG4gICAgfVxuXG4gICAgJi0tdG9wLXNlcGFyYXRvciB7XG4gICAgICAmOjphZnRlciB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICB9XG4gICAgfVxuXG4gICAgJi0tYm90dG9tLXNlcGFyYXRvciB7XG4gICAgICAmOjpiZWZvcmUge1xuICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gICZfX2JveCB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMDtcbiAgICBib3R0b206IDA7XG4gICAgbGVmdDogNTAlO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNTAlKTtcbiAgICB6LWluZGV4OiAtMTtcbiAgfVxuXG4gICZfX2xpbmUge1xuICAgIHdpZHRoOiAxcHg7XG4gICAgaGVpZ2h0OiAwO1xuICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWNvbG9yLWJvcmRlci1wcmltYXJ5KTtcbiAgICB0cmFuc2l0aW9uOiBoZWlnaHQgMC41cztcbiAgfVxuXG4gICZfX3NpZ24ge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgcGFkZGluZzogc2l6ZSg0MCkgMDtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jb2xvci1wcmltYXJ5LWNvbnRyYXN0KTtcbiAgfVxufVxuIiwiLmNoYXQge1xuICBib3JkZXI6IG5vbmU7XG4gIHBhZGRpbmc6IDA7XG4gIHBvc2l0aW9uOiBmaXhlZDtcbiAgcmlnaHQ6IHNpemUoMzIpO1xuICBib3R0b206IHNpemUoMTYpO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jb2xvci13aGl0ZSk7XG4gIHdpZHRoOiByZW0oNDBweCk7XG4gIGhlaWdodDogcmVtKDQwcHgpO1xuICBib3JkZXItcmFkaXVzOiAxNXB4O1xuICBkaXNwbGF5OiBmbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICBib3gtc2hhZG93OiAwIDNweCAyNnB4IC00cHggcmdiYSgyNTUsIDI1NSwgMjU1LCAwKTtcbiAgdHJhbnNpdGlvbjogYm94LXNoYWRvdyAwLjJzIGVhc2UtaW4tb3V0O1xuXG4gICZfX2ljb24ge1xuICAgIHdpZHRoOiByZW0oMjBweCk7XG4gICAgaGVpZ2h0OiByZW0oMjVweCk7XG4gIH1cblxuICBAaW5jbHVkZSBtZWRpYShob3Zlcikge1xuICAgICY6aG92ZXIge1xuICAgICAgYm94LXNoYWRvdzogMCAzcHggMjZweCAtNHB4IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC41Nyk7XG4gICAgfVxuICB9XG5cbiAgQGluY2x1ZGUgbWVkaWEoZnVsbGhkLWJlZm9yZSkge1xuICAgIHdpZHRoOiBzaXplKDQwKTtcbiAgICBoZWlnaHQ6IHNpemUoNDApO1xuXG4gICAgJl9faWNvbiB7XG4gICAgICB3aWR0aDogc2l6ZSgyMCk7XG4gICAgICBoZWlnaHQ6IHNpemUoMjUpO1xuICAgIH1cbiAgfVxuXG4gIEBpbmNsdWRlIG1lZGlhKHF1YWRoZCkge1xuICAgIHJpZ2h0OiBzaXplKDE2KTtcbiAgfVxufVxuIiwiLmNyZWVwaW5nLWxpbmUge1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cbiAgJl9fdHJhY2sge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1zaHJpbms6IDA7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWFyb3VuZDtcbiAgICBtaW4td2lkdGg6IDEwMCU7XG4gIH1cblxuICAmX190ZXh0IHtcbiAgICBAaW5jbHVkZSB0aXRsZUJpZztcbiAgICBmbGV4OiAwIDAgYXV0bztcbiAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gICAgd2lsbC1jaGFuZ2U6IHRyYW5zZm9ybTtcbiAgICBwYWRkaW5nOiAwIHNpemUoNDApO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYW5pbWF0aW9uOiBjcmVlcGluZy1saW5lIDIwcyBsaW5lYXIgaW5maW5pdGU7XG5cbiAgICAmLS1ub3BhZGRpbmcge1xuICAgICAgcGFkZGluZzogMDtcbiAgICB9XG4gIH1cbn1cbiIsIi5lbGVtLWhvdmVyIHtcbiAgd2lkdGg6IHZhcigtLWVsZW1lbnQtd2lkdGgpO1xuICBoZWlnaHQ6IHZhcigtLWVsZW1lbnQtaGVpZ2h0KTtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gICYtLXNtYWxsIHtcbiAgICB3aWR0aDogY2FsYyh2YXIoLS1lbC10ZWFtLXdpZHRoKSAtIDFweCk7XG4gICAgaGVpZ2h0OiBjYWxjKHZhcigtLWVsLXRlYW0taGVpZ2h0KSAtIDFweCk7XG4gIH1cblxuICAmX19lbGVtIHtcbiAgICB3aWR0aDogc2l6ZSgxMCk7XG4gICAgaGVpZ2h0OiBzaXplKDEwKTtcbiAgICBib3JkZXI6IDFweCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG5cbiAgICAmLS10bCB7XG4gICAgICB0b3A6IDA7XG4gICAgICBsZWZ0OiAwO1xuICAgICAgYm9yZGVyLXRvcC1jb2xvcjogdmFyKC0tY29sb3ItcHJpbWFyeSk7XG4gICAgICBib3JkZXItbGVmdC1jb2xvcjogdmFyKC0tY29sb3ItcHJpbWFyeSk7XG4gICAgfVxuXG4gICAgJi0tdHIge1xuICAgICAgdG9wOiAwO1xuICAgICAgcmlnaHQ6IDA7XG4gICAgICBib3JkZXItdG9wLWNvbG9yOiB2YXIoLS1jb2xvci1wcmltYXJ5KTtcbiAgICAgIGJvcmRlci1yaWdodC1jb2xvcjogdmFyKC0tY29sb3ItcHJpbWFyeSk7XG4gICAgfVxuXG4gICAgJi0tYmwge1xuICAgICAgYm90dG9tOiAwO1xuICAgICAgbGVmdDogMDtcbiAgICAgIGJvcmRlci1sZWZ0LWNvbG9yOiB2YXIoLS1jb2xvci1wcmltYXJ5KTtcbiAgICAgIGJvcmRlci1ib3R0b20tY29sb3I6IHZhcigtLWNvbG9yLXByaW1hcnkpO1xuICAgIH1cblxuICAgICYtLWJyIHtcbiAgICAgIGJvdHRvbTogMDtcbiAgICAgIHJpZ2h0OiAwO1xuICAgICAgYm9yZGVyLWJvdHRvbS1jb2xvcjogdmFyKC0tY29sb3ItcHJpbWFyeSk7XG4gICAgICBib3JkZXItcmlnaHQtY29sb3I6IHZhcigtLWNvbG9yLXByaW1hcnkpO1xuICAgIH1cbiAgfVxuXG4gIEBpbmNsdWRlIG1lZGlhKGZ1bGxoZC1iZWZvcmUpIHtcbiAgICAmX19lbGVtIHtcbiAgICAgIHdpZHRoOiAxMHB4O1xuICAgICAgaGVpZ2h0OiAxMHB4O1xuICAgIH1cbiAgfVxufVxuIiwiLmZyYW1ld29yayB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGdhcDogc2l6ZSgxNik7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgY3Vyc29yOiBkZWZhdWx0O1xuICBwZXJzcGVjdGl2ZTogMzByZW07XG4gIHVzZXItc2VsZWN0OiBub25lO1xuXG4gICYtLWZyLTEwMCB7XG4gICAgLmZyYW1ld29ya19fbmFtZSB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jb2xvci1mci0xMDApO1xuICAgIH1cbiAgfVxuXG4gICYtLWZyLTIwMCB7XG4gICAgLmZyYW1ld29ya19fbmFtZSB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jb2xvci1mci0yMDApO1xuICAgIH1cbiAgfVxuXG4gICYtLWZyLTMwMCB7XG4gICAgLmZyYW1ld29ya19fbmFtZSB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jb2xvci1mci0zMDApO1xuICAgIH1cbiAgfVxuXG4gICYtLWZyLTQwMCB7XG4gICAgLmZyYW1ld29ya19fbmFtZSB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jb2xvci1mci00MDApO1xuICAgIH1cbiAgfVxuXG4gICYtLWZyLTUwMCB7XG4gICAgLmZyYW1ld29ya19fbmFtZSB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jb2xvci1mci01MDApO1xuICAgIH1cbiAgfVxuXG4gICYtLWZyLTYwMCB7XG4gICAgLmZyYW1ld29ya19fbmFtZSB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jb2xvci1mci02MDApO1xuICAgIH1cbiAgfVxuXG4gICYtLWZyLTcwMCB7XG4gICAgLmZyYW1ld29ya19fbmFtZSB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jb2xvci1mci03MDApO1xuICAgIH1cbiAgfVxuXG4gICZfX2JveCB7XG4gICAgd2lkdGg6IHNpemUoMTI4KTtcbiAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgYXNwZWN0LXJhdGlvOiAxO1xuICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jb2xvci1wcmltYXJ5LWNvbnRyYXN0KTtcbiAgICBib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1jb2xvci1ib3JkZXItcHJpbWFyeSk7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgIGJhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlbjtcbiAgICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMC41cztcbiAgfVxuXG4gICZfX2ltZyB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgd2lkdGg6IDg1JTtcbiAgICBoZWlnaHQ6IGF1dG87XG4gICAgbWFyZ2luOiAwIGF1dG87XG4gICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgIG1heC1oZWlnaHQ6IDY1JTtcbiAgfVxuXG4gICZfX25hbWUge1xuICAgIEBpbmNsdWRlIHRleHRMaW5rTTtcbiAgICB3aWR0aDogc2l6ZSgxMjgpO1xuICAgIGFzcGVjdC1yYXRpbzogMTtcbiAgICBwYWRkaW5nOiBzaXplKDUpO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICBib3JkZXItcmFkaXVzOiA1MCU7XG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAwO1xuICAgIGxlZnQ6IDA7XG4gICAgcmlnaHQ6IDA7XG4gICAgYm90dG9tOiAwO1xuICAgIGNvbG9yOiB2YXIoLS1jb2xvci1wcmltYXJ5LWNvbnRyYXN0KTtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgYmFja2ZhY2UtdmlzaWJpbGl0eTogaGlkZGVuO1xuICAgIHRyYW5zZm9ybTogcm90YXRlWSgxODBkZWcpO1xuICAgIHRyYW5zaXRpb246IHRyYW5zZm9ybSAwLjVzO1xuXG4gICAgJi0tZnItMTAwIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWNvbG9yLWZyLTEwMCk7XG4gICAgfVxuXG4gICAgJi0tZnItMjAwIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWNvbG9yLWZyLTIwMCk7XG4gICAgfVxuXG4gICAgJi0tZnItMzAwIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWNvbG9yLWZyLTMwMCk7XG4gICAgfVxuXG4gICAgJi0tZnItNDAwIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWNvbG9yLWZyLTQwMCk7XG4gICAgfVxuXG4gICAgJi0tZnItNTAwIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWNvbG9yLWZyLTUwMCk7XG4gICAgfVxuXG4gICAgJi0tZnItNjAwIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWNvbG9yLWZyLTYwMCk7XG4gICAgfVxuXG4gICAgJi0tZnItNzAwIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWNvbG9yLWZyLTcwMCk7XG4gICAgfVxuXG4gICAgJi0tZnItZ3JleSB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jb2xvci1mci1ncmV5KTtcbiAgICB9XG4gIH1cblxuICBAaW5jbHVkZSBtZWRpYShob3Zlcikge1xuICAgICY6aG92ZXIgJl9fYm94IHtcbiAgICAgIHRyYW5zZm9ybTogcm90YXRlWSgxODBkZWcpO1xuICAgIH1cblxuICAgICY6aG92ZXIgJl9fbmFtZSB7XG4gICAgICB0cmFuc2Zvcm06IHJvdGF0ZVkoMzYwZGVnKTtcbiAgICB9XG4gIH1cblxuICBAaW5jbHVkZSBtZWRpYShxdWFkaGQpIHtcbiAgICAmX19ib3gsXG4gICAgJl9fbmFtZSB7XG4gICAgICB3aWR0aDogc2l6ZSg5Nik7XG4gICAgfVxuICB9XG5cbiAgQGluY2x1ZGUgbWVkaWEodGFibGV0KSB7XG4gICAgJl9fYm94IHtcbiAgICAgIHdpZHRoOiBzaXplKDE0NCk7XG4gICAgfVxuXG4gICAgJl9fbmFtZSB7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIHBvc2l0aW9uOiBzdGF0aWM7XG4gICAgICBjb2xvcjogdmFyKC0tY29sb3ItcHJpbWFyeSk7XG4gICAgICB3aWR0aDogYXV0bztcbiAgICAgIGFzcGVjdC1yYXRpbzogdW5zZXQ7XG4gICAgICB0cmFuc2Zvcm06IG5vbmU7XG4gICAgICBwYWRkaW5nOiAwO1xuXG4gICAgICAmW2NsYXNzKj0nLS1mciddIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgQGluY2x1ZGUgbWVkaWEocGhvbmUpIHtcbiAgICBnYXA6IHNpemUoOCk7XG5cbiAgICAmX19uYW1lIHtcbiAgICAgIGZvbnQtc2l6ZTogc2l6ZSgxMyk7XG4gICAgfVxuXG4gICAgJl9fYm94IHtcbiAgICAgIHdpZHRoOiBzaXplKDEwNCk7XG4gICAgICAvLyBpUGhvbmUxMiDQvdC1INGA0LDQsdC+0YLQsNC10YIgYXNwZWN0LXJhdGlvXG4gICAgICBoZWlnaHQ6IGNhbGMoc2l6ZSgxMDQpICogMS8xKTtcbiAgICB9XG4gIH1cbn1cbiIsIi5mcmFtZXdvcmtzLWluZm8ge1xuICBkaXNwbGF5OiBncmlkO1xuICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdCg2LCBtaW5tYXgoMCwgMWZyKSk7XG4gIGdyaWQtdGVtcGxhdGUtcm93czogbWlubWF4KDAsIDFmcikgbWluLWNvbnRlbnQgbWlubWF4KDAsIDFmcik7XG4gIHJvdy1nYXA6IHNpemUoODUpO1xuXG4gICZfX3RleHQge1xuICAgIEBpbmNsdWRlIHRpdGxlRnJhbWV3b3JrcztcbiAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgIGdyaWQtY29sdW1uOiAyLzY7XG4gICAgZ3JpZC1yb3c6IDI7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICB9XG5cbiAgJl9fdGV4dC1ib3gge1xuICAgIGdyaWQtcm93OiAzO1xuICAgIGdyaWQtY29sdW1uOiAzLzU7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgIGdhcDogc2l6ZSg0KTtcbiAgfVxuXG4gICZfX3N1YnRleHQge1xuICAgIEBpbmNsdWRlIHRleHRMaW5rTTtcbiAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICBjb2xvcjogdmFyKC0tY29sb3Itc2Vjb25kYXJ5KTtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuXG4gICAgJjo6YmVmb3JlIHtcbiAgICAgIGNvbnRlbnQ6ICc+JztcbiAgICB9XG5cbiAgICAmOjphZnRlciB7XG4gICAgICBjb250ZW50OiAnPCc7XG4gICAgfVxuICB9XG5cbiAgQGluY2x1ZGUgbWVkaWEocXVhZGhkKSB7XG4gICAgJl9fdGV4dCB7XG4gICAgICBncmlkLWNvbHVtbjogMS8tMTtcbiAgICB9XG4gIH1cblxuICBAaW5jbHVkZSBtZWRpYShoZCkge1xuICAgIHJvdy1nYXA6IHNpemUoMjApO1xuICB9XG5cbiAgQGluY2x1ZGUgbWVkaWEodGFibGV0KSB7XG4gICAgZGlzcGxheTogYmxvY2s7XG5cbiAgICAmX190ZXh0IHtcbiAgICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gICAgfVxuXG4gICAgJl9fdGV4dC1ib3gge1xuICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG4gIH1cbn1cbiIsIi5tYWluLWxvZ28ge1xuICBkaXNwbGF5OiBibG9jaztcbiAgd2lkdGg6IHNpemUoMjQzKTtcbiAgaGVpZ2h0OiBzaXplKDMyKTtcblxuICAmX19pbWcge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIG1heC13aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgb2JqZWN0LWZpdDogY29udGFpbjtcbiAgfVxuXG4gIEBpbmNsdWRlIG1lZGlhKGZ1bGxoZC1iZWZvcmUpIHtcbiAgICB3aWR0aDogdnctdG8tcHgoMjQzKTtcbiAgICBoZWlnaHQ6IHZ3LXRvLXB4KDMyKTtcbiAgfVxuXG4gIEBpbmNsdWRlIG1lZGlhKHF1YWRoZCkge1xuICAgIHdpZHRoOiBzaXplKDE4MCk7XG4gICAgaGVpZ2h0OiBzaXplKDMwKTtcbiAgfVxufVxuIiwiLm51bWJlci1lbGVtIHtcbiAgQGluY2x1ZGUgdGl0bGVINTtcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcblxuICAmX19vcGFjaXR5IHtcbiAgICBjb2xvcjogdmFyKC0tY29sb3Itc2Vjb25kYXJ5KTtcbiAgfVxuXG4gICYtLWZvci13aGl0ZSB7XG4gICAgLm51bWJlci1lbGVtX19vcGFjaXR5IHtcbiAgICAgIGNvbG9yOiB2YXIoLS1jb2xvci1zZWNvbmRhcnktY29udHJhc3QpO1xuICAgIH1cbiAgfVxufVxuXG5baWQqPSdhbmNob3InXSB7XG4gIHNjcm9sbC1tYXJnaW4tdG9wOiBjYWxjKHZhcigtLWhlYWRlci1oZWlnaHQpICsgNDBweCk7XG59XG4iLCIucGhvbmVzIHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC13cmFwOiB3cmFwO1xuXG4gICZfX2xpbmsge1xuICAgIEBpbmNsdWRlIHRleHRTO1xuXG4gICAgJjpub3QoOmxhc3QtY2hpbGQpIHtcbiAgICAgIC5waG9uZXNfX3NlY29uZHRleHQge1xuICAgICAgICBwYWRkaW5nLXJpZ2h0OiByZW0oMTZweCk7XG4gICAgICAgIGJvcmRlci1yaWdodDogMXB4IHNvbGlkIHZhcigtLWNvbG9yLWJvcmRlci1zZWNvbmRhcnkpO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIEBpbmNsdWRlIG1lZGlhKHNtYXJ0cGhvbmUpIHtcbiAgICAmX19saW5rOm50aC1jaGlsZChldmVuKSB7XG4gICAgICAucGhvbmVzX19zZWNvbmR0ZXh0IHtcbiAgICAgICAgYm9yZGVyLXJpZ2h0OiBub25lO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIiwiLnByaW50ZWQge1xuICBmb250LWtlcm5pbmc6IG5vbmU7XG5cbiAgJl9fc3VidGl0bGUge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgLy8gdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0zMHB4KTtcbiAgICAvLyB0cmFuc2l0aW9uOiBvcGFjaXR5IDAuMXMgZWFzZS1pbiwgdHJhbnNmb3JtIDAuM3MgZWFzZS1pbjtcbiAgICAvLyBhbmltYXRpb24tZHVyYXRpb246IDAuNXM7XG5cbiAgICAmLnZpc2libGUge1xuICAgICAgb3BhY2l0eTogMTtcbiAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKTtcbiAgICB9XG4gIH1cblxuICAmX190aXRsZSB7XG4gICAgb3BhY2l0eTogMDtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgbGVmdDogMDtcbiAgICB0b3A6IDA7XG4gICAgd2lkdGg6IDEwMCU7XG4gIH1cblxuICAmX19jdXJzb3Ige1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBib3JkZXItbGVmdDogc2l6ZSgyMCkgc29saWQgdmFyKC0tY29sb3ItcHJpbWFyeSk7XG4gICAgYW5pbWF0aW9uOiBjdXJzb3ItYmxpbmsgMXMgc3RlcC1lbmQgaW5maW5pdGU7XG4gICAgbGluZS1oZWlnaHQ6IDAuOTtcbiAgICBwYWRkaW5nLXRvcDogNHB4O1xuICAgIG9wYWNpdHk6IDA7XG4gICAgbWFyZ2luLXJpZ2h0OiByZW0oLTE4cHgpO1xuXG4gICAgJi0tc21hbGwge1xuICAgICAgYm9yZGVyLXdpZHRoOiBzaXplKDE2KTtcbiAgICB9XG4gIH1cblxuXG4gIEBpbmNsdWRlIG1lZGlhKGZ1bGxoZC1iZWZvcmUpIHtcbiAgICAmX19jdXJzb3Ige1xuICAgICAgYm9yZGVyLXdpZHRoOiB2dy10by1weCgyMCk7XG5cbiAgICAgICYtLXNtYWxsIHtcbiAgICAgICAgYm9yZGVyLXdpZHRoOiB2dy10by1weCgxNik7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgQGluY2x1ZGUgbWVkaWEocGhvbmUpIHtcbiAgICAmX19jdXJzb3Ige1xuICAgICAgYm9yZGVyLXdpZHRoOiBzaXplKDEwKTtcbiAgICB9XG4gIH1cbn1cbiIsIltkYXRhLXNjcmFtYmxlXSB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICAmOjphZnRlciB7XG4gICAgY29udGVudDogJyc7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIGluc2V0OiAwO1xuICB9XG59XG4iLCIudGV4dC1vcGFjaXR5IHtcbiAgY29sb3I6IHZhcigtLWNvbG9yLXNlY29uZGFyeSk7XG5cbiAgJi0tY29udHJhc3Qge1xuICAgIGNvbG9yOiB2YXIoLS1jb2xvci1zZWNvbmRhcnktY29udHJhc3QpO1xuICB9XG59XG4iLCJbZGF0YS10YWJzLWJsb2Nrc10gPiAqIHtcbiAgZGlzcGxheTogbm9uZTtcbiAgb3BhY2l0eTogMDtcblxuICAmLmlzLWFjdGl2ZSB7XG4gICAgb3BhY2l0eTogMTtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBhbmltYXRpb246IGRpc3BsYXktbm9uZSB2YXIoLS10cmFucy1iYXNlKTtcbiAgfVxufVxuIiwiLmJ0bi1jb3JuZXJzIHtcbiAgd2lkdGg6IHNpemUoMjQpO1xuICAvLyBpUGhvbmUxMiDQvdC1INGA0LDQsdC+0YLQsNC10YIgYXNwZWN0LXJhdGlvXG4gIGhlaWdodDogY2FsYyhzaXplKDI0KSAqIDEvMSk7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgY29sb3I6IHZhcigtLWNvbG9yLXByaW1hcnkpO1xuICBkaXNwbGF5OiBmbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgYmFja2dyb3VuZDogdXJsKCcuLi9pbWcvYmcvY29ybmVycy13aGl0ZS5zdmcnKTtcbiAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyO1xuICBiYWNrZ3JvdW5kLXNpemU6IDEwMCUgMTAwJTtcblxuICAmX19pY29uIHtcbiAgICBmbGV4OiBub25lO1xuICAgIHdpZHRoOiBzaXplKDE1KTtcbiAgICBoZWlnaHQ6IHNpemUoMTUpO1xuICB9XG5cbiAgJi0tYm9yZGVyIHtcbiAgICBiYWNrZ3JvdW5kOiB1cmwoJy4uL2ltZy9iZy9jb3JuZXJzLWJvcmRlci5zdmcnKTtcbiAgICBiYWNrZ3JvdW5kLXNpemU6IGNvbnRhaW47XG4gIH1cblxuICAmLS1zaXplLWwge1xuICAgIHdpZHRoOiBzaXplKDQwKTtcbiAgICAvLyBpUGhvbmUxMiDQvdC1INGA0LDQsdC+0YLQsNC10YIgYXNwZWN0LXJhdGlvXG4gICAgaGVpZ2h0OiBjYWxjKHNpemUoNDApICogMS8xKTtcbiAgfVxufVxuIiwiLmJ0biB7XG4gIEBpbmNsdWRlIHRpdGxlSDU7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBnYXA6IHNpemUoNCk7XG4gIHdpZHRoOiBmaXQtY29udGVudDtcbiAgbWluLWhlaWdodDogc2l6ZSg0MCk7XG4gIHBhZGRpbmc6IHNpemUoMTApIHNpemUoMjApO1xuICBmb250LWZhbWlseTogJGZvbnQtZmFtaWx5O1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgY29sb3I6IHZhcigtLWNvbG9yLXByaW1hcnkpO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgYm9yZGVyOiAxcHggc29saWQgdmFyKC0tY29sb3ItcHJpbWFyeSk7XG4gIGJvcmRlci1yYWRpdXM6IDUwMHB4O1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICB0cmFuc2l0aW9uOiAwLjNzIGVhc2U7XG4gIHRyYW5zaXRpb24tcHJvcGVydHk6IGNvbG9yLCBiYWNrZ3JvdW5kLWNvbG9yLCBib3JkZXItY29sb3I7XG4gIGN1cnNvcjogcG9pbnRlcjtcblxuICAmOmZvY3VzIHtcbiAgICBvdXRsaW5lOiBub25lO1xuICB9XG5cbiAgJjpmb2N1cy12aXNpYmxlIHtcbiAgICBjb2xvcjogdmFyKC0tY29sb3ItcHJpbWFyeSk7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY29sb3Itc2Vjb25kYXJ5LWNvbnRyYXN0KTtcbiAgICBvdXRsaW5lOiBub25lO1xuICB9XG5cbiAgLy8gc3RhdGVzXG4gICY6aG92ZXI6bm90KDpkaXNhYmxlZCksXG4gICY6aG92ZXI6bm90KC5pcy1kaXNhYmxlZCkge1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG4gIH1cblxuICAmOmFjdGl2ZSxcbiAgJi5pcy1hY3RpdmUge1xuICAgIG91dGxpbmU6IG5vbmU7XG4gIH1cblxuICAmOmRpc2FibGVkLFxuICAmLmlzLWRpc2FibGVkIHtcbiAgICBjdXJzb3I6IG5vdC1hbGxvd2VkO1xuICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICAgIG9wYWNpdHk6IDAuNTtcbiAgfVxuXG4gICYtLXZhci13aGl0ZSB7XG4gICAgY29sb3I6IHZhcigtLWNvbG9yLXByaW1hcnktY29udHJhc3QpO1xuICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWNvbG9yLXByaW1hcnkpO1xuICAgIGJveC1zaGFkb3c6IDAgM3B4IDI2cHggLTRweCByZ2IoMjU1IDI1NSAyNTUgLyA1NyUpO1xuXG4gICAgJjpmb2N1cy12aXNpYmxlIHtcbiAgICAgIGNvbG9yOiB2YXIoLS1jb2xvci1zZWNvbmRhcnktY29udHJhc3QpO1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY29sb3ItcHJpbWFyeSk7XG4gICAgfVxuICB9XG5cbiAgJi0tdmFyLWJsYWNrIHtcbiAgICBjb2xvcjogdmFyKC0tY29sb3ItcHJpbWFyeSk7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY29sb3ItcHJpbWFyeS1jb250cmFzdCk7XG4gICAgYm9yZGVyOiAxcHggc29saWQgdmFyKC0tY29sb3ItcHJpbWFyeS1jb250cmFzdCk7XG4gICAgYm94LXNoYWRvdzogMCAzcHggMTRweCAtNHB4IHZhcigtLWNvbG9yLXNlY29uZGFyeS04MCk7XG4gIH1cblxuICAmLS12YXItbm9ib3JkZXIge1xuICAgIGNvbG9yOiB2YXIoLS1jb2xvci1wcmltYXJ5LWNvbnRyYXN0KTtcbiAgICBwYWRkaW5nOiBzaXplKDExKSAwO1xuICAgIGJvcmRlcjogbm9uZTtcbiAgICBtaW4taGVpZ2h0OiBhdXRvO1xuXG4gICAgJjpmb2N1cy12aXNpYmxlIHtcbiAgICAgIGNvbG9yOiB2YXIoLS1jb2xvci1zZWNvbmRhcnktY29udHJhc3QpO1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgfVxuICB9XG5cbiAgJi0tdmFyLW5vYm9yZGVyLXdoaXRlIHtcbiAgICBjb2xvcjogdmFyKC0tY29sb3ItcHJpbWFyeSk7XG4gICAgcGFkZGluZzogc2l6ZSgxMSkgMDtcbiAgICBib3JkZXI6IG5vbmU7XG4gICAgbWluLWhlaWdodDogYXV0bztcblxuICAgICY6Zm9jdXMtdmlzaWJsZSB7XG4gICAgICBjb2xvcjogdmFyKC0tY29sb3ItcHJpbWFyeSk7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICB9XG4gIH1cblxuICAvLyBNRURJQVxuICBAaW5jbHVkZSBtZWRpYShmdWxsaGQtYmVmb3JlKSB7XG4gICAgcGFkZGluZzogdnctdG8tcHgoMTApIHZ3LXRvLXB4KDIwKTtcbiAgICBtaW4taGVpZ2h0OiB2dy10by1weCg0MCk7XG5cbiAgICAmLS12YXItbm9ib3JkZXIge1xuICAgICAgcGFkZGluZzogdnctdG8tcHgoMTEpIDA7XG4gICAgfVxuICB9XG5cbiAgQGluY2x1ZGUgbWVkaWEocXVhZGhkKSB7XG4gICAgcGFkZGluZzogc2l6ZSg3KSBzaXplKDE2KTtcbiAgICBtaW4taGVpZ2h0OiBzaXplKDMyKTtcblxuICAgICYtLXZhci1ub2JvcmRlciB7XG4gICAgICBwYWRkaW5nOiBzaXplKDgpIDA7XG4gICAgfVxuXG4gICAgJi0tdmFyLW5vYm9yZGVyLXdoaXRlIHtcbiAgICAgIHBhZGRpbmc6IHNpemUoOCkgMDtcbiAgICB9XG4gIH1cblxuICBAaW5jbHVkZSBtZWRpYShwaG9uZSkge1xuICAgIHBhZGRpbmc6IHNpemUoMTEpIHNpemUoMTkpO1xuICAgIG1pbi1oZWlnaHQ6IHNpemUoNDApO1xuXG4gICAgJi0tc2l6ZS1zIHtcbiAgICAgIHBhZGRpbmc6IHNpemUoNykgc2l6ZSgxNSk7XG4gICAgICBtaW4taGVpZ2h0OiBzaXplKDMyKTtcbiAgICB9XG4gIH1cbn1cbiIsIi5maWVsZCB7XG4gIHdpZHRoOiAxMDAlO1xuICBkaXNwbGF5OiBibG9jaztcblxuICAmX190aXRsZSB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gIH1cblxuICAmX193cmFwcGVyIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIH1cblxuICAmX19lcnJvciB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxuXG4gICYuaGFzLWVycm9yICZfX2Vycm9yIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgfVxufVxuIiwiLmlucHV0LFxuLnRleHRhcmVhIHtcbiAgQGluY2x1ZGUgdGl0bGVINDtcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgYm9yZGVyOiAxcHggc29saWQgdHJhbnNwYXJlbnQ7XG4gIHRyYW5zaXRpb246XG4gICAgYm9yZGVyIHZhcigtLXRyYW5zLWJhc2UpLFxuICAgIGJhY2tncm91bmQtY29sb3IgdmFyKC0tdHJhbnMtYmFzZSksXG4gICAgY29sb3IgdmFyKC0tdHJhbnMtYmFzZSk7XG4gIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICB3aWR0aDogMTAwJTtcbiAgdGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7XG4gIGZvbnQtZmFtaWx5OiAkZm9udC1mYW1pbHk7XG5cbiAgQGF0LXJvb3QgdGV4dGFyZWEjeyZ9IHtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICB9XG5cbiAgJjo6cGxhY2Vob2xkZXIge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgdHJhbnNpdGlvbjogYWxsIHZhcigtLXRyYW5zLWJhc2UpO1xuICB9XG5cbiAgJjpmb2N1cyB7XG4gICAgb3V0bGluZTogbm9uZTtcbiAgfVxuXG4gIC8vIHZhcmlhbnRzXG4gICYtLXZhci1wcmltYXJ5IHtcbiAgICBib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1jb2xvci1ibGFjayk7XG4gIH1cblxuICAvLyBzaXplc1xuICAmLS1zaXplLWJhc2Uge1xuICAgIGhlaWdodDogJGZpZWxkLWJhc2U7XG4gICAgcGFkZGluZy1sZWZ0OiAxNnB4O1xuICAgIHBhZGRpbmctcmlnaHQ6IDE2cHg7XG4gIH1cblxuICAmLS1zaXplLXMge1xuICAgIHBhZGRpbmctbGVmdDogNHB4O1xuICAgIHBhZGRpbmctcmlnaHQ6IDRweDtcbiAgfVxuXG4gIEBhdC1yb290IHRleHRhcmVhI3smfS0tc2l6ZS1iYXNlIHtcbiAgICBtaW4taGVpZ2h0OiAkZmllbGQtYmFzZSAqIDI7XG4gIH1cbn1cblxuLnRleHRhcmVhIHtcbiAgbWluLWhlaWdodDogc2l6ZSgyMDApO1xuICBtYXgtaGVpZ2h0OiBzaXplKDQwMCk7XG4gIHBhZGRpbmc6IHNpemUoMTEpO1xuICBwYWRkaW5nLXJpZ2h0OiAwO1xuICByZXNpemU6IHZlcnRpY2FsO1xuICBvdmVyZmxvdy15OiBhdXRvO1xuXG4gIC8vIE1FRElBXG4gIEBpbmNsdWRlIG1lZGlhKGZ1bGxoZC1iZWZvcmUpIHtcbiAgICBtaW4taGVpZ2h0OiB2dy10by1weCgyMDApO1xuICAgIG1heC1oZWlnaHQ6IHZ3LXRvLXB4KDQwMCk7XG4gICAgcGFkZGluZzogdnctdG8tcHgoMTEpO1xuICAgIHBhZGRpbmctcmlnaHQ6IDA7XG4gIH1cblxuICBAaW5jbHVkZSBtZWRpYShxdWFkaGQpIHtcbiAgICBtaW4taGVpZ2h0OiBzaXplKDE0MCk7XG4gIH1cbn1cbiIsIi5saW5rIHtcbiAgQGluY2x1ZGUgdGl0bGVINTtcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0O1xuICBnYXA6IHNpemUoNCk7XG4gIHBhZGRpbmc6IHNpemUoMTEpIDA7XG4gIGJvcmRlcjogbm9uZTtcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gIGNvbG9yOiB2YXIoLS1jb2xvci1wcmltYXJ5KTtcbiAgZm9udC1mYW1pbHk6ICRmb250LWZhbWlseTtcbiAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgdGV4dC1hbGlnbjogbGVmdDtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICB0cmFuc2l0aW9uOiBjb2xvciAwLjNzIGVhc2U7XG4gIGN1cnNvcjogcG9pbnRlcjtcblxuICAmOmZvY3VzIHtcbiAgICBvdXRsaW5lOiBub25lO1xuICAgIGNvbG9yOiB2YXIoLS1jb2xvci1zZWNvbmRhcnkpO1xuICB9XG5cbiAgJjpmb2N1cy12aXNpYmxlIHtcbiAgICBvdXRsaW5lOiBub25lO1xuICAgIGNvbG9yOiB2YXIoLS1jb2xvci1zZWNvbmRhcnkpO1xuICB9XG5cbiAgJjphY3RpdmUge1xuICAgIGNvbG9yOiB2YXIoLS1jb2xvci1zZWNvbmRhcnkpO1xuICB9XG5cbiAgJjpkaXNhYmxlZCxcbiAgJi5pcy1kaXNhYmxlZCB7XG4gICAgY29sb3I6IHZhcigtLWNvbG9yLWRpc2FibGVkKTtcbiAgICBjdXJzb3I6IG5vdC1hbGxvd2VkO1xuICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICB9XG5cbiAgJl9faWNvbiB7XG4gICAgZmxleDogbm9uZTtcbiAgICB3aWR0aDogc2l6ZSgxNik7XG4gICAgaGVpZ2h0OiBzaXplKDE2KTtcbiAgICBjb2xvcjogaW5oZXJpdDtcbiAgfVxuXG4gICZfX3RleHQge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcblxuICAgICYtLWdyZXkge1xuICAgICAgZ2FwOiByZW0oNHB4KTtcbiAgICAgIGNvbG9yOiB2YXIoLS1jb2xvci1zZWNvbmRhcnktY29udHJhc3QpO1xuICAgIH1cbiAgfVxuXG4gICYtLWNvbG9yLWJsYWNrIHtcbiAgICBjb2xvcjogdmFyKC0tY29sb3ItcHJpbWFyeS1jb250cmFzdCk7XG5cbiAgICAmOmFjdGl2ZSB7XG4gICAgICBjb2xvcjogdmFyKC0tY29sb3ItcHJpbWFyeS1jb250cmFzdCk7XG4gICAgfVxuXG4gICAgJjpmb2N1cyxcbiAgICAmOmZvY3VzLXZpc2libGUge1xuICAgICAgY29sb3I6IHZhcigtLWNvbG9yLXNlY29uZGFyeS1jb250cmFzdCk7XG4gICAgfVxuICB9XG5cbiAgJi0tc2l6ZS1tIHtcbiAgICBAaW5jbHVkZSB0ZXh0TGlua007XG4gIH1cblxuICAmLS1ub3BhZGRpbmcge1xuICAgIHBhZGRpbmc6IDA7XG4gIH1cblxuICBAaW5jbHVkZSBtZWRpYShmdWxsaGQtYmVmb3JlKSB7XG4gICAgcGFkZGluZzogdnctdG8tcHgoMTEpIDA7XG4gICAgZ2FwOiB2dy10by1weCg0KTtcbiAgfVxuXG4gIEBpbmNsdWRlIG1lZGlhKHF1YWRoZCkge1xuICAgIHBhZGRpbmc6IHNpemUoOCkgMDtcblxuICAgICYtLW5vcGFkZGluZyB7XG4gICAgICBwYWRkaW5nOiAwO1xuICAgIH1cbiAgfVxufVxuIiwiLmh5c3Rtb2RhbCB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIG92ZXJmbG93LXk6IGhpZGRlbjtcblxuICAmX19jb250ZW50IHtcbiAgICBvdmVyZmxvdy15OiBhdXRvO1xuICAgIHdpZHRoOiAxMDAlO1xuICB9XG5cbiAgJl9fd3JhcCB7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIHdpZHRoOiAxMDAlO1xuICB9XG5cbiAgJl9fd2luZG93IHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jb2xvci1wcmltYXJ5KTtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgbWFyZ2luOiAwO1xuICAgIHBhZGRpbmc6IDA7XG4gICAgZGlzcGxheTogZmxleDtcbiAgfVxuXG4gICZfX2Nsb3NlIHtcbiAgICB0b3A6IHJlbSgyNHB4KTtcbiAgICByaWdodDogcmVtKDI0cHgpO1xuICAgIGNvbG9yOiB2YXIoLS1jb2xvci1wcmltYXJ5LWNvbnRyYXN0KTtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiBub25lO1xuICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWNvbG9yLXByaW1hcnkpO1xuICAgIHdpZHRoOiByZW0oNTZweCk7XG4gICAgaGVpZ2h0OiByZW0oNTZweCk7XG4gICAgcGFkZGluZzogMDtcbiAgICB0cmFuc2l0aW9uOiBjb2xvciB2YXIoLS10cmFucy1iYXNlKTtcbiAgfVxuXG4gICZfX2Nsb3NlLWljb24ge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogMTAwJTtcbiAgfVxuXG4gIEBpbmNsdWRlIG1lZGlhKGhvdmVyKSB7XG4gICAgJl9fY2xvc2U6aG92ZXIge1xuICAgICAgY29sb3I6IHZhcigtLWNvbG9yLXNlY29uZGFyeS1jb250cmFzdCk7XG4gICAgfVxuICB9XG5cbiAgQGluY2x1ZGUgbWVkaWEodGFibGV0KSB7XG4gICAgJl9fY2xvc2Uge1xuICAgICAgdG9wOiByZW0oNTZweCk7XG4gICAgICByaWdodDogcmVtKDI4cHgpO1xuICAgIH1cbiAgfVxuXG4gIEBpbmNsdWRlIG1lZGlhKHBob25lKSB7XG4gICAgJl9fY2xvc2Uge1xuICAgICAgdG9wOiByZW0oMTZweCk7XG4gICAgICByaWdodDogcmVtKDE2cHgpO1xuICAgICAgd2lkdGg6IHJlbSg0MHB4KTtcbiAgICAgIGhlaWdodDogcmVtKDQwcHgpO1xuICAgIH1cbiAgfVxufVxuIiwiLnBpY3R1cmUge1xuICAtLXdpZHRoOiBhdXRvO1xuICAtLWFzcGVjdC1yYXRpbzogYXV0bztcbiAgLS1yYWRpdXM6IDA7XG4gIC0tb2JqZWN0LWZpdDogZmlsbDtcbiAgLS1vYmplY3QtcG9zaXRpb246IHVuc2V0O1xuICAvLy0tLS0tLS0tLS0tLS0tLS0tXG4gIGRpc3BsYXk6IGJsb2NrO1xuICB3aWR0aDogdmFyKC0td2lkdGgpO1xuICBtYXgtd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogYXV0bztcbiAgYXNwZWN0LXJhdGlvOiB2YXIoLS1hc3BlY3QtcmF0aW8pO1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICBib3JkZXItcmFkaXVzOiB2YXIoLS1yYWRpdXMpO1xuXG4gICZfX2ltZyB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIG9iamVjdC1maXQ6IHZhcigtLW9iamVjdC1maXQpO1xuICAgIG9iamVjdC1wb3NpdGlvbjogdmFyKC0tb2JqZWN0LXBvc2l0aW9uKTtcbiAgfVxufVxuIiwiLnJhZGlvIHtcbiAgJl9fdGl0bGUge1xuICAgIEBpbmNsdWRlIHRpdGxlSDQ7XG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICBmb250LXdlaWdodDogNTAwO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHBhZGRpbmc6IHNpemUoOCkgc2l6ZSg0KTtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgdHJhbnNpdGlvbjogMC4ycyBlYXNlLWluLW91dDtcbiAgICB0cmFuc2l0aW9uLXByb3BlcnR5OiBjb2xvciwgYmFja2dyb3VuZC1jb2xvcjtcbiAgfVxuXG4gICZfX2lucHV0IHtcbiAgICBAaW5jbHVkZSB2aXN1YWxseS1oaWRkZW47XG4gICAgdmlzaWJpbGl0eTogdmlzaWJsZTtcbiAgfVxuXG4gIC8vIGNoZWNrZWRcbiAgJl9faW5wdXRbdHlwZT0ncmFkaW8nXTp3aGVyZSg6Y2hlY2tlZCwgOmZvY3VzLCA6Zm9jdXMtdmlzaWJsZSkgfiAmX190aXRsZSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY29sb3ItcHJpbWFyeS1jb250cmFzdCk7XG4gICAgY29sb3I6IHZhcigtLWNvbG9yLXByaW1hcnkpO1xuICB9XG5cbiAgJl9faW5wdXRbdHlwZT0ncmFkaW8nXTpub3QoOmNoZWNrZWQpOndoZXJlKDpmb2N1cywgOmZvY3VzLXZpc2libGUpIH4gJl9fdGl0bGUge1xuICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWNvbG9yLXNlY29uZGFyeS1jb250cmFzdCk7XG4gICAgY29sb3I6IHZhcigtLWNvbG9yLXByaW1hcnkpO1xuICB9XG5cbiAgJi53aGl0ZSAmX19pbnB1dFt0eXBlPSdyYWRpbyddOmNoZWNrZWQgfiAmX190aXRsZSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY29sb3ItcHJpbWFyeSk7XG4gICAgY29sb3I6IHZhcigtLWNvbG9yLXByaW1hcnktY29udHJhc3QpO1xuICB9XG5cbiAgQGluY2x1ZGUgbWVkaWEoaG92ZXIpIHtcbiAgICAmOmhvdmVyIHtcbiAgICAgIC5yYWRpb19fdGl0bGUge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jb2xvci1wcmltYXJ5LWNvbnRyYXN0KTtcbiAgICAgICAgY29sb3I6IHZhcigtLWNvbG9yLXByaW1hcnkpO1xuICAgICAgfVxuICAgIH1cblxuICAgICYud2hpdGU6aG92ZXIge1xuICAgICAgLnJhZGlvX190aXRsZSB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWNvbG9yLXByaW1hcnkpO1xuICAgICAgICBjb2xvcjogdmFyKC0tY29sb3ItcHJpbWFyeS1jb250cmFzdCk7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgQGluY2x1ZGUgbWVkaWEoZnVsbGhkLWJlZm9yZSkge1xuICAgICZfX3RpdGxlIHtcbiAgICAgIHBhZGRpbmc6IHZ3LXRvLXB4KDgpIHZ3LXRvLXB4KDQpO1xuICAgIH1cbiAgfVxuXG4gIEBpbmNsdWRlIG1lZGlhKHNtYXJ0cGhvbmUpIHtcbiAgICAmX190aXRsZSB7XG4gICAgICBwYWRkaW5nOiBzaXplKDMpIHNpemUoMyk7XG4gICAgfVxuICB9XG59XG4iLCIuc3dpcGVyLWJ0biB7XG4gIGFzcGVjdC1yYXRpbzogMS8xO1xuICB3aWR0aDogc2l6ZSg0MCk7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIGJvcmRlcjogbm9uZTtcbiAgcGFkZGluZzogMDtcbiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY29sb3ItcHJpbWFyeSk7XG5cbiAgJjo6YmVmb3JlIHtcbiAgICBjb250ZW50OiAnJztcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgaW5zZXQ6IDA7XG4gICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXI7XG4gICAgYmFja2dyb3VuZC1zaXplOiBjb250YWluO1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCgnLi4vaW1nL2JnL2Nvcm5lcnMtYm9yZGVyLnN2ZycpO1xuICAgIG9wYWNpdHk6IDA7XG4gICAgdHJhbnNpdGlvbjogb3BhY2l0eSAwLjNzIGVhc2U7XG4gIH1cblxuICAmOm5vdCguc3dpcGVyLWJ1dHRvbi1kaXNhYmxlZCkge1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgfVxuXG4gICY6Zm9jdXMge1xuICAgIG91dGxpbmU6IG5vbmU7XG5cbiAgICAmOjpiZWZvcmUge1xuICAgICAgb3BhY2l0eTogMTtcbiAgICB9XG4gIH1cblxuICAmOmZvY3VzLXZpc2libGUge1xuICAgIG91dGxpbmU6IG5vbmU7XG5cbiAgICAmOjpiZWZvcmUge1xuICAgICAgb3BhY2l0eTogMTtcbiAgICB9XG4gIH1cblxuICAmOmFjdGl2ZSB7XG4gICAgJjo6YmVmb3JlIHtcbiAgICAgIG9wYWNpdHk6IDE7XG4gICAgfVxuICB9XG5cbiAgJl9faWNvbiB7XG4gICAgZmxleDogbm9uZTtcbiAgICB3aWR0aDogc2l6ZSgxNik7XG4gICAgaGVpZ2h0OiBzaXplKDE2KTtcbiAgfVxuXG4gICYtLWJsYWNrIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jb2xvci1wcmltYXJ5LWNvbnRyYXN0KTtcblxuICAgICY6OmJlZm9yZSB7XG4gICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoJy4uL2ltZy9iZy9ib3JkZXItY29ybmVyLXdoaXRlLnN2ZycpO1xuICAgIH1cbiAgfVxuXG4gICYtLWJsYWNrICZfX2ljb24ge1xuICAgIGNvbG9yOiB2YXIoLS1jb2xvci1wcmltYXJ5KTtcbiAgfVxuXG4gICYuc3dpcGVyLWJ1dHRvbi1kaXNhYmxlZCB7XG4gICAgb3BhY2l0eTogMC41O1xuXG4gICAgJjo6YmVmb3JlIHtcbiAgICAgIG9wYWNpdHk6IDA7XG4gICAgfVxuICB9XG5cbiAgQGluY2x1ZGUgbWVkaWEoaG92ZXIpIHtcbiAgICAmOmhvdmVyOm5vdCguc3dpcGVyLWJ1dHRvbi1kaXNhYmxlZCk6OmJlZm9yZSB7XG4gICAgICBvcGFjaXR5OiAxO1xuICAgIH1cbiAgfVxufVxuIiwiLnN3aXRjaCB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHdpZHRoOiBzaXplKDI4KTtcbiAgaGVpZ2h0OiBzaXplKDE2KTtcblxuICAmLmFjdGl2ZSAmX19ib2R5IHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jb2xvci1jaGVja2VkKTtcbiAgfVxuXG4gICYuYWN0aXZlICZfX3N3aXRjaCB7XG4gICAgbGVmdDogY2FsYygxMDAlIC0gc2l6ZSgxNCkpO1xuICB9XG5cbiAgJi5hY3RpdmUgJl9faWNvbiB7XG4gICAgY29sb3I6IHZhcigtLWNvbG9yLWNoZWNrZWQpO1xuICB9XG5cbiAgJl9fYm9keSB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICBwYWRkaW5nOiAxcHg7XG4gICAgdG9wOiAwO1xuICAgIGxlZnQ6IDA7XG4gICAgcmlnaHQ6IDA7XG4gICAgYm90dG9tOiAwO1xuICAgIGJvcmRlci1yYWRpdXM6IDI3MHB4O1xuICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWNvbG9yLXByaW1hcnktY29udHJhc3QpO1xuICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMC4zcztcbiAgfVxuXG4gICZfX3N3aXRjaCB7XG4gICAgd2lkdGg6IHNpemUoMTQpO1xuICAgIGFzcGVjdC1yYXRpbzogMTtcbiAgICBib3JkZXItcmFkaXVzOiA1MCU7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY29sb3ItcHJpbWFyeSk7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDFweDtcbiAgICBsZWZ0OiAxcHg7XG4gICAgdHJhbnNpdGlvbjogbGVmdCAwLjNzO1xuICB9XG5cbiAgJl9faWNvbiB7XG4gICAgd2lkdGg6IHNpemUoOSk7XG4gICAgaGVpZ2h0OiBzaXplKDQpO1xuICAgIGNvbG9yOiB2YXIoLS1jb2xvci1wcmltYXJ5LWNvbnRyYXN0KTtcbiAgICB0cmFuc2l0aW9uOiBjb2xvciAwLjNzO1xuICB9XG5cbiAgJl9fY2hlY2tib3gge1xuICAgIGRpc3BsYXk6IG5vbmU7XG5cbiAgICAmOmNoZWNrZWQgKyAmX19ib2R5IHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWNvbG9yLWNoZWNrZWQpO1xuICAgIH1cblxuICAgICY6Y2hlY2tlZCArICZfX3N3aXRjaCB7XG4gICAgICBsZWZ0OiBjYWxjKDEwMCUgLSBzaXplKDE0KSk7XG4gICAgfVxuXG4gICAgJjpjaGVja2VkICsgJl9faWNvbiB7XG4gICAgICBjb2xvcjogdmFyKC0tY29sb3ItY2hlY2tlZCk7XG4gICAgfVxuICB9XG5cbiAgQGluY2x1ZGUgbWVkaWEocGhvbmUpIHtcbiAgICAmX19zd2l0Y2gge1xuICAgICAgLy8gaVBob25lMTIg0L3QtSDRgNCw0LHQvtGC0LDQtdGCIGFzcGVjdC1yYXRpb1xuICAgICAgaGVpZ2h0OiBjYWxjKHNpemUoMTQpICogMS8xKTtcbiAgICB9XG4gIH1cbn1cbiIsIi5iYXNlLWFjY29yZGlvbiB7XG4gICZfX2hlYWQge1xuICAgIEBpbmNsdWRlIHRpdGxlSDQ7XG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICBjb2xvcjogdmFyKC0tY29sb3Itc2Vjb25kYXJ5KTtcbiAgICBkaXNwbGF5OiBncmlkO1xuICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KDEyLCBtaW5tYXgoMCwgMWZyKSk7XG4gICAgcGFkZGluZzogc2l6ZSgyNCkgMDtcbiAgICBib3JkZXItdG9wOiAxcHggZGFzaGVkIHZhcigtLWNvbG9yLXNlY29uZGFyeSk7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY29sb3ItcHJpbWFyeS1jb250cmFzdCk7XG4gICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAwLjNzIGVhc2UsIGNvbG9yIDAuM3MgZWFzZTtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG4gIH1cblxuICAmX190aXRsZSB7XG4gICAgZ3JpZC1jb2x1bW46IDcvMTI7XG4gIH1cblxuICAmX19idG4ge1xuICAgIGJvcmRlcjogbm9uZTtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgcGFkZGluZzogMDtcbiAgICBncmlkLWNvbHVtbjogMTI7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGNvbG9yOiB2YXIoLS1jb2xvci1zZWNvbmRhcnkpO1xuICAgIHRyYW5zaXRpb246IGNvbG9yIDAuM3MgZWFzZTtcbiAgICBtYXJnaW4tbGVmdDogYXV0bztcbiAgfVxuXG4gICZfX2ljb24ge1xuICAgIHdpZHRoOiBzaXplKDIwKTtcbiAgICBoZWlnaHQ6IHNpemUoMjApO1xuXG4gICAgJi0tbWludXMge1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgb3BhY2l0eTogMDtcbiAgICB9XG4gIH1cblxuICAmX19ib2R5IHtcbiAgICBkaXNwbGF5OiBncmlkO1xuICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KDEyLCBtaW5tYXgoMCwgMWZyKSk7XG4gICAgaGVpZ2h0OiAwO1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgdHJhbnNpdGlvbjogaGVpZ2h0IDAuM3MgZWFzZTtcbiAgfVxuXG4gICZfX2NvbnRlbnQge1xuICAgIEBpbmNsdWRlIHRleHRNO1xuICAgIGZvbnQtZmFtaWx5OiAkZm9udC1mYW1pbHktc2Vjb25kYXJ5O1xuICAgIGdyaWQtY29sdW1uOiA3Ly0xO1xuICAgIHBhZGRpbmc6IHNpemUoMjQpIDA7XG4gIH1cblxuICAmLmlzLWFjdGl2ZSB7XG4gICAgLmJhc2UtYWNjb3JkaW9uX19oZWFkIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWNvbG9yLXByaW1hcnkpO1xuICAgICAgY29sb3I6IHZhcigtLWNvbG9yLXByaW1hcnktY29udHJhc3QpO1xuICAgICAgYm9yZGVyLXRvcDogMXB4IHNvbGlkIHZhcigtLWNvbG9yLXByaW1hcnkpO1xuICAgIH1cblxuICAgIC5iYXNlLWFjY29yZGlvbl9fYnRuIHtcbiAgICAgIGNvbG9yOiB2YXIoLS1jb2xvci1wcmltYXJ5LWNvbnRyYXN0KTtcbiAgICB9XG5cbiAgICAuYmFzZS1hY2NvcmRpb25fX2ljb24ge1xuICAgICAgJi0tbWludXMge1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIG9wYWNpdHk6IDE7XG4gICAgICB9XG5cbiAgICAgICYtLXBsdXMge1xuICAgICAgICBvcGFjaXR5OiAwO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIEBpbmNsdWRlIG1lZGlhKGhvdmVyKSB7XG4gICAgJl9faGVhZDpob3ZlciB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jb2xvci1wcmltYXJ5KTtcbiAgICAgIGNvbG9yOiB2YXIoLS1jb2xvci1wcmltYXJ5LWNvbnRyYXN0KTtcbiAgICAgIGJvcmRlci10b3A6IDFweCBzb2xpZCB2YXIoLS1jb2xvci1wcmltYXJ5KTtcbiAgICB9XG5cbiAgICAmX19oZWFkOmhvdmVyICZfX2J0biB7XG4gICAgICBjb2xvcjogdmFyKC0tY29sb3ItcHJpbWFyeS1jb250cmFzdCk7XG4gICAgfVxuICB9XG5cbiAgQGluY2x1ZGUgbWVkaWEoZnVsbGhkLWJlZm9yZSkge1xuICAgICZfX2hlYWQsXG4gICAgJl9fY29udGVudCB7XG4gICAgICBwYWRkaW5nOiB2dy10by1weCgyNCkgMDtcbiAgICB9XG5cbiAgICAmX19pY29uIHtcbiAgICAgIHdpZHRoOiB2dy10by1weCgyMCk7XG4gICAgICBoZWlnaHQ6IHZ3LXRvLXB4KDIwKTtcbiAgICB9XG4gIH1cblxuICBAaW5jbHVkZSBtZWRpYShxdWFkaGQpIHtcbiAgICAmX19oZWFkLFxuICAgICZfX2NvbnRlbnQge1xuICAgICAgcGFkZGluZzogc2l6ZSgxNikgMDtcbiAgICB9XG5cbiAgICAmX19pY29uIHtcbiAgICAgIHdpZHRoOiBzaXplKDE2KTtcbiAgICAgIGhlaWdodDogc2l6ZSgxNik7XG4gICAgfVxuICB9XG5cbiAgQGluY2x1ZGUgbWVkaWEodGFibGV0KSB7XG4gICAgJl9fdGl0bGUsXG4gICAgJl9fY29udGVudCB7XG4gICAgICBncmlkLWNvbHVtbjogMS8xMjtcbiAgICB9XG5cbiAgICAmX19udW1iZXIge1xuICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG4gIH1cbn1cbiIsIi5ibG9jay1iZyB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgei1pbmRleDogMTtcbiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY29sb3ItcHJpbWFyeS1jb250cmFzdCk7XG4gIG92ZXJmbG93OiBoaWRkZW47XG5cbiAgJl9fc3BvdGxpZ2h0IHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IHJhZGlhbC1ncmFkaWVudChjaXJjbGUgYXQgOSUgMTIlLCB2YXIoLS1jb2xvci1zZWNvbmRhcnktY29udHJhc3QpIDAlLCB2YXIoLS1jb2xvci1wcmltYXJ5LWNvbnRyYXN0KSAyMCUpO1xuICAgIHotaW5kZXg6IC0xO1xuICB9XG5cbiAgJl9fY29kZSB7XG4gICAgQGluY2x1ZGUgdGV4dFM7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMDtcbiAgICBsZWZ0OiAwO1xuICAgIHJpZ2h0OiAwO1xuICAgIHotaW5kZXg6IC0yO1xuICAgIGxpbmUtaGVpZ2h0OiAxLjU7XG4gIH1cblxuICBAaW5jbHVkZSBtZWRpYSh0YWJsZXQpIHtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiBub25lO1xuXG4gICAgJl9fc3BvdGxpZ2h0IHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxuXG4gICAgJl9fY29kZSB7XG4gICAgICBkaXNwbGF5OiBub25lO1xuICAgIH1cbiAgfVxufVxuIiwiLmJsb2NrLXdoaXRlLWJnIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY29sb3ItcHJpbWFyeSk7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybCgnLi4vaW1nL2JnL2RvdC1ncmV5LnN2ZycpO1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXI7XG4gIGJhY2tncm91bmQtc2l6ZTogOHB4O1xufVxuIiwiLmNsaWVudCB7XG4gIG1pbi1oZWlnaHQ6IHNpemUoMzIwKTtcbiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY29sb3ItcHJpbWFyeSk7XG4gIHBhZGRpbmc6IHNpemUoMjQpO1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuXG4gICYtLWJsYWNrIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jb2xvci1wcmltYXJ5LWNvbnRyYXN0KTtcbiAgfVxuXG4gICYtLWJsYWNrIC5jbGllbnRfX25hbWUsXG4gICYtLWJsYWNrIC5jbGllbnRfX251bWJlciB7XG4gICAgQGluY2x1ZGUgdGV4dFhTO1xuICAgIGNvbG9yOiB2YXIoLS1jb2xvci1zZWNvbmRhcnkpO1xuICB9XG5cbiAgJl9fdG9wIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICAgIHdpZHRoOiAxMDAlO1xuICB9XG5cbiAgJl9fbmFtZSxcbiAgJl9fbnVtYmVyIHtcbiAgICBAaW5jbHVkZSB0aXRsZUg1O1xuICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgY29sb3I6IHZhcigtLWNvbG9yLXNlY29uZGFyeS1jb250cmFzdCk7XG4gIH1cblxuICAmX19pbWcge1xuICAgIC0td2lkdGg6ICN7c2l6ZSgyMTYpfTtcbiAgICAtLW9iamVjdC1maXQ6IGNvbnRhaW47XG4gICAgbWF4LWhlaWdodDogc2l6ZSg0OCk7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgIGZsZXgtZ3JvdzogMTtcbiAgICBtYXJnaW46IGF1dG87XG4gICAgLy8gb3BhY2l0eTogMC41O1xuICAgIC8vIHRyYW5zaXRpb246IG9wYWNpdHkgMC4zcyBlYXNlO1xuICB9XG5cbiAgLy8gQGluY2x1ZGUgbWVkaWEoaG92ZXIpIHtcbiAgLy8gICAmOmhvdmVyICZfX2ltZyB7XG4gIC8vICAgICBvcGFjaXR5OiAxO1xuICAvLyAgIH1cbiAgLy8gfVxuXG4gIEBpbmNsdWRlIG1lZGlhKGZ1bGxoZC1iZWZvcmUpIHtcbiAgICBwYWRkaW5nOiB2dy10by1weCgyNCk7XG4gICAgbWluLWhlaWdodDogdnctdG8tcHgoMzIwKTtcblxuICAgICZfX2ltZyB7XG4gICAgICAtLXdpZHRoOiAje3Z3LXRvLXB4KDIxNil9O1xuICAgICAgbWF4LWhlaWdodDogdnctdG8tcHgoNDgpO1xuICAgIH1cbiAgfVxuXG4gIEBpbmNsdWRlIG1lZGlhKHF1YWRoZCkge1xuICAgIHBhZGRpbmc6IHNpemUoMTYpO1xuICAgIG1pbi1oZWlnaHQ6IHNpemUoMjYwKTtcblxuICAgICZfX2ltZyB7XG4gICAgICBtYXgtaGVpZ2h0OiBzaXplKDQwKTtcbiAgICB9XG4gIH1cblxuICBAaW5jbHVkZSBtZWRpYSh0YWJsZXQpIHtcbiAgICBtaW4taGVpZ2h0OiBzaXplKDIxMik7XG4gIH1cblxuICBAaW5jbHVkZSBtZWRpYShwaG9uZSkge1xuICAgIG1pbi1oZWlnaHQ6IHNpemUoMjIwKTtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcblxuICAgICZfX3RvcCB7XG4gICAgICBkaXNwbGF5OiBjb250ZW50cztcbiAgICB9XG5cbiAgICAmX19udW1iZXIge1xuICAgICAgb3JkZXI6IDE7XG4gICAgfVxuXG4gICAgJl9faW1nIHtcbiAgICAgIG1heC1oZWlnaHQ6IHNpemUoMzYpO1xuICAgIH1cbiAgfVxufVxuIiwiLmNvbnRhY3QtdXMge1xuICBwYWRkaW5nOiByZW0oMjRweCkgdmFyKC0tbWFpbi1wYWRkaW5nKSAwO1xuICBjb2xvcjogdmFyKC0tY29sb3ItcHJpbWFyeS1jb250cmFzdCk7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IDEwMCU7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG5cbiAgLmZvcm0tcmVzdWx0W2RhdGEtZm9ybS1yZXN1bHQtc3RhdGU9J2ZhaWwnXSAuZm9ybS1yZXN1bHRfX2luZm8ge1xuICAgIGdyaWQtY29sdW1uOiAxLy0xO1xuICB9XG5cbiAgJl9fZm9ybSB7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgbWF4LXdpZHRoOiByZW0oNjQ4cHgpO1xuICAgIG1hcmdpbjogYXV0bztcbiAgfVxuXG4gICZfX3Jlc3VsdCB7XG4gICAgbWFyZ2luOiBhdXRvO1xuICB9XG5cbiAgJl9fYm90dG9tIHtcbiAgICBkaXNwbGF5OiBncmlkO1xuICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KDIsIG1pbm1heCgwLCAxZnIpKTtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIHBhZGRpbmc6IHJlbSgxNnB4KSAwO1xuICAgIGJvcmRlci10b3A6IDFweCBzb2xpZCB2YXIoLS1jb2xvci1ib3JkZXItc2Vjb25kYXJ5KTtcbiAgICBvcmRlcjogMjtcbiAgfVxuXG4gICZfX2JvdHRvbS1ib3gge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICB9XG5cbiAgJl9fYm90dG9tLXRleHQge1xuICAgIEBpbmNsdWRlIHRpdGxlSDU7XG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgfVxuXG4gICZfX3Bob25lcyB7XG4gICAgLnBob25lc19fbGluayB7XG4gICAgICBwYWRkaW5nLXJpZ2h0OiByZW0oMTZweCk7XG4gICAgfVxuICB9XG5cbiAgQGluY2x1ZGUgbWVkaWEodGFibGV0KSB7XG4gICAgJl9fYm90dG9tIHtcbiAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogYXV0byAxZnI7XG4gICAgICBjb2x1bW4tZ2FwOiByZW0oNTFweCk7XG4gICAgfVxuICB9XG5cbiAgQGluY2x1ZGUgbWVkaWEocGhvbmUpIHtcbiAgICBwYWRkaW5nLXRvcDogcmVtKDExNXB4KTtcblxuICAgICZfX2JvdHRvbSB7XG4gICAgICBtYXJnaW4tdG9wOiByZW0oODJweCk7XG4gICAgICBwYWRkaW5nLXRvcDogcmVtKDI0cHgpO1xuICAgICAgcGFkZGluZy1ib3R0b206IHJlbSgzMnB4KTtcbiAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogMWZyO1xuICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgZ2FwOiByZW0oOHB4KTtcbiAgICB9XG5cbiAgICAmX19waG9uZXMge1xuICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG5cbiAgICAgIC5waG9uZXNfX2xpbms6bnRoLWNoaWxkKDIpIC5waG9uZXNfX3NlY29uZHRleHQge1xuICAgICAgICBib3JkZXItcmlnaHQ6IDFweCBzb2xpZCB2YXIoLS1jb2xvci1ib3JkZXItc2Vjb25kYXJ5KTtcbiAgICAgIH1cblxuICAgICAgLnBob25lc19fbGluazpudGgtY2hpbGQoMykgLnBob25lc19fc2Vjb25kdGV4dCB7XG4gICAgICAgIGJvcmRlci1yaWdodDogbm9uZTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiIsIi5jb29raWUtYWNjZXB0IHtcbiAgQGluY2x1ZGUgYmx1cig1cHgpO1xuICBwb3NpdGlvbjogZml4ZWQ7XG4gIGxlZnQ6IDA7XG4gIHJpZ2h0OiAwO1xuICBib3R0b206IDA7XG4gIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWNvbG9yLXNlY29uZGFyeS05MCk7XG4gIGJvcmRlci10b3A6IDFweCBzb2xpZCB2YXIoLS1jb2xvci1ib3JkZXItcHJpbWFyeSk7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgxMDElKTtcbiAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIDAuM3M7XG4gIHotaW5kZXg6IHZhcigtLXotb3Zlci1jaGF0KTtcblxuICAmLmlzLXZpc2libGUge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKTtcbiAgfVxuXG4gICZfX2JvZHkge1xuICAgIHBhZGRpbmc6IHNpemUoMTYpIDA7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgIGdhcDogc2l6ZSgzMik7XG4gIH1cblxuICAmX190ZXh0IHtcbiAgICBAaW5jbHVkZSB0ZXh0TGlua007XG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgfVxuXG4gIEBpbmNsdWRlIG1lZGlhKGZ1bGxoZC1iZWZvcmUpIHtcbiAgICAmX19ib2R5IHtcbiAgICAgIGdhcDogdnctdG8tcHgoMzIpO1xuICAgICAgcGFkZGluZzogdnctdG8tcHgoMTYpO1xuICAgIH1cbiAgfVxuXG4gIEBpbmNsdWRlIG1lZGlhKHBob25lKSB7XG4gICAgJl9fYm9keSB7XG4gICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAgZ2FwOiAwO1xuICAgIH1cblxuICAgICZfX3RleHQge1xuICAgICAgbWFyZ2luLWJvdHRvbTogc2l6ZSgxNik7XG4gICAgfVxuICB9XG59XG4iLCIuZm9ybS1yZXN1bHQtdGVtcCB7XG4gICYuaXMtc3VibWl0dGVkICZfX3Jlc3VsdCB7XG4gICAgZGlzcGxheTogY29udGVudHM7XG4gIH1cblxuICAmX19yZXN1bHQge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cblxuICAmX19ibG9jayB7XG4gICAgZGlzcGxheTogbm9uZTtcblxuICAgICYuaXMtYWN0aXZlIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIH1cbiAgfVxufVxuIiwiLmZvcm0tcmVzdWx0IHtcbiAgaGVpZ2h0OiAxMDAlO1xuICBkaXNwbGF5OiBncmlkO1xuICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IG1pbm1heCgwLCAxZnIpIHNpemUoNjEwKSBtaW5tYXgoMCwgMWZyKTtcblxuICAmLS13aGl0ZSAmX19sb3R0aWUge1xuICAgIGZpbHRlcjogZ3JheXNjYWxlKDEwMCUpIGJyaWdodG5lc3MoMTAwJSk7XG4gIH1cblxuICAmW2RhdGEtZm9ybS1yZXN1bHQtc3RhdGU9J2ZhaWwnXSAuZm9ybS1yZXN1bHRfX2luZm8ge1xuICAgIGdyaWQtY29sdW1uOiAyO1xuICB9XG5cbiAgJl9faW5mbyB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgZ2FwOiBzaXplKDI0KTtcbiAgICBtYXJnaW46IDAgYXV0bztcbiAgICB3aWR0aDogMTAwJTtcbiAgfVxuXG4gICZfX2hlYWQge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICByb3ctZ2FwOiBzaXplKDE2KTtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgbWF4LXdpZHRoOiBzaXplKDYyMCk7XG4gIH1cblxuICAmX190aXRsZSB7XG4gICAgQGluY2x1ZGUgdGl0bGVIMjtcbiAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICB9XG5cbiAgJl9fc3VidGl0bGUge1xuICAgIEBpbmNsdWRlIHRleHRNO1xuICAgIGZvbnQtZmFtaWx5OiAkZm9udC1mYW1pbHktc2Vjb25kYXJ5O1xuICB9XG5cbiAgJl9fbG90dGllIHtcbiAgICBhbGlnbi1zZWxmOiBmbGV4LWVuZDtcbiAgICBoZWlnaHQ6IDcwdmg7XG4gICAgZmlsdGVyOiBncmF5c2NhbGUoMTAwJSkgYnJpZ2h0bmVzcyg0MCUpO1xuICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICB9XG5cbiAgLy8gTUVESUFcbiAgQGluY2x1ZGUgbWVkaWEoZnVsbGhkLWJlZm9yZSkge1xuICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogbWlubWF4KDAsIDFmcikgdnctdG8tcHgoNjEwKSBtaW5tYXgoMCwgMWZyKTtcblxuICAgICZfX2hlYWQge1xuICAgICAgcm93LWdhcDogdnctdG8tcHgoMTYpO1xuICAgICAgbWF4LXdpZHRoOiB2dy10by1weCg2MjApO1xuICAgIH1cblxuICAgICZfX2luZm8ge1xuICAgICAgZ2FwOiB2dy10by1weCgyNCk7XG4gICAgfVxuICB9XG5cbiAgQGluY2x1ZGUgbWVkaWEocXVhZGhkKSB7XG4gICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiBtaW5tYXgoMCwgMWZyKSBzaXplKDUyMCkgbWlubWF4KDAsIDFmcik7XG5cbiAgICAmX19oZWFkIHtcbiAgICAgIG1heC13aWR0aDogc2l6ZSg1MjApO1xuICAgIH1cbiAgfVxuXG4gIEBpbmNsdWRlIG1lZGlhKGhkKSB7XG4gICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiBtaW5tYXgoMCwgMWZyKSBtaW5tYXgoMCwgMWZyKTtcblxuICAgICZfX2luZm8ge1xuICAgICAgZ3JpZC1yb3c6IDE7XG4gICAgICBncmlkLWNvbHVtbjogMS8tMTtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgIHotaW5kZXg6IDE7XG4gICAgfVxuXG4gICAgJl9fbG90dGllIHtcbiAgICAgIGdyaWQtcm93OiAxO1xuXG4gICAgICAmLS1jb2wtMSB7XG4gICAgICAgIGdyaWQtY29sdW1uOiAxO1xuICAgICAgfVxuXG4gICAgICAmLS1jb2wtMiB7XG4gICAgICAgIGdyaWQtY29sdW1uOiAyO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIEBpbmNsdWRlIG1lZGlhKHBob25lKSB7XG4gICAgJltkYXRhLWZvcm0tcmVzdWx0LXN0YXRlPSdmYWlsJ10gLmZvcm0tcmVzdWx0X19pbmZvIHtcbiAgICAgIGdyaWQtY29sdW1uOiAxLy0xO1xuICAgIH1cblxuICAgICZfX2xvdHRpZSB7XG4gICAgICBncmlkLXJvdzogMTtcbiAgICAgIGhlaWdodDogNjV2aDtcblxuICAgICAgJi0tY29sLTEge1xuICAgICAgICBncmlkLWNvbHVtbjogMS8tMTtcbiAgICAgIH1cblxuICAgICAgJi0tY29sLTIge1xuICAgICAgICBncmlkLWNvbHVtbjogMS8tMTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiIsIi5mb3JtIHtcbiAgJi5pcy1zdWJtaXR0ZWQge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cblxuICAmLS13aGl0ZSAmX19pbmZvIHtcbiAgICBjb2xvcjogdmFyKC0tY29sb3Itc2Vjb25kYXJ5KTtcbiAgfVxuXG4gICYtLXdoaXRlIHtcbiAgICAuaW5wdXQtZWxlbV9fbGFiZWw6OmJlZm9yZSxcbiAgICAuaW5wdXQtZWxlbV9fbGFiZWw6OmFmdGVyIHtcbiAgICAgIGJvcmRlci1jb2xvcjogdmFyKC0tY29sb3ItcHJpbWFyeSk7XG4gICAgfVxuICB9XG5cbiAgJl9faGVhZCB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgIGdhcDogcmVtKDE2cHgpO1xuICAgIHdpZHRoOiBhdXRvO1xuICAgIG1heC13aWR0aDogcmVtKDEwMDBweCk7XG5cbiAgICAmOm5vdCg6bGFzdC1jaGlsZCkge1xuICAgICAgbWFyZ2luLWJvdHRvbTogcmVtKDI0cHgpO1xuICAgIH1cbiAgfVxuXG4gICZfX3RpdGxlIHtcbiAgICBAaW5jbHVkZSB0aXRsZUgyO1xuICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gIH1cblxuICAmX19zdWJ0aXRsZSB7XG4gICAgQGluY2x1ZGUgdGV4dEw7XG4gICAgZm9udC1mYW1pbHk6ICRmb250LWZhbWlseS1zZWNvbmRhcnk7XG4gIH1cblxuICAmX19pbnB1dHMge1xuICAgIGRpc3BsYXk6IGdyaWQ7XG4gICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiBtaW5tYXgoMCwgMWZyKTtcbiAgICBnYXA6IHJlbSg0cHgpO1xuICB9XG5cbiAgJl9fYm90dG9tIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGdhcDogcmVtKDE2cHgpO1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cbiAgICAmOm5vdCg6Zmlyc3QtY2hpbGQpIHtcbiAgICAgIG1hcmdpbi10b3A6IHJlbSgyNHB4KTtcbiAgICB9XG4gIH1cblxuICAmX19zdWJtaXQge1xuICAgIGZsZXg6IG5vbmU7XG4gIH1cblxuICAmX19pbmZvIHtcbiAgICBAaW5jbHVkZSB0ZXh0UztcbiAgICBjb2xvcjogdmFyKC0tY29sb3Itc2Vjb25kYXJ5LWNvbnRyYXN0KTtcbiAgICBtYXgtd2lkdGg6IHNpemUoMzgwKTtcbiAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICB9XG5cbiAgJl9faW5mbyBhW2hyZWZdIHtcbiAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcbiAgfVxuXG4gIC8vIE1FRElBXG4gIEBpbmNsdWRlIG1lZGlhKGZ1bGxoZC1iZWZvcmUpIHtcbiAgICAmX19pbmZvIHtcbiAgICAgIG1heC13aWR0aDogdnctdG8tcHgoMzgwKTtcbiAgICB9XG4gIH1cblxuICBAaW5jbHVkZSBtZWRpYShxdWFkaGQpIHtcbiAgICAmX19oZWFkIHtcbiAgICAgIG1heC13aWR0aDogc2l6ZSg1NDApO1xuICAgIH1cblxuICAgICZfX2luZm8ge1xuICAgICAgbWF4LXdpZHRoOiBzaXplKDMwMCk7XG4gICAgfVxuICB9XG5cbiAgQGluY2x1ZGUgbWVkaWEodGFibGV0KSB7XG4gICAgJl9faGVhZCB7XG4gICAgICBtYXgtd2lkdGg6IHJlbSg0OTBweCk7XG4gICAgfVxuICB9XG59XG4iLCIuaGVhZGVyLXN1Ym1lbnUge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cbiAgJl9fbGlzdCB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogY2FsYygxMDAlIC0gc2l6ZSg1KSk7XG4gICAgbGVmdDogMDtcbiAgICB3aWR0aDogc2l6ZSgyNjApO1xuICAgIGNvdW50ZXItcmVzZXQ6IHN1Ymxpc3Q7XG4gICAgcGFkZGluZy10b3A6IGNhbGModmFyKC0tcHktaGVhZGVyKSArIHNpemUoMTUpKTtcbiAgfVxuXG4gICZfX2xpbmsge1xuICAgIGRpc3BsYXk6IGdyaWQ7XG4gICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiBtaW5tYXgoMCwgc2l6ZSgzNikpIG1pbm1heCgwLCAxZnIpO1xuICAgIGdhcDogNHB4O1xuICAgIHBhZGRpbmc6IDhweCAwO1xuXG4gICAgJjo6YmVmb3JlIHtcbiAgICAgIGNvbnRlbnQ6ICcwMCcgY291bnRlcihzdWJsaXN0KSAnLic7XG4gICAgICBjb3VudGVyLWluY3JlbWVudDogc3VibGlzdDtcbiAgICB9XG4gIH1cblxuICBAaW5jbHVkZSBtZWRpYShmdWxsaGQtYmVmb3JlKSB7XG4gICAgJl9fbGlzdCB7XG4gICAgICB0b3A6IGNhbGMoMTAwJSAtIHZ3LXRvLXB4KDUpKTtcbiAgICAgIHdpZHRoOiB2dy10by1weCgyNjApO1xuICAgICAgcGFkZGluZy10b3A6IGNhbGModmFyKC0tcHktaGVhZGVyKSArIHZ3LXRvLXB4KDE1KSk7XG4gICAgfVxuXG4gICAgJl9fbGluayB7XG4gICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IG1pbm1heCgwLCB2dy10by1weCg1NikpIG1pbm1heCgwLCAxZnIpO1xuICAgIH1cbiAgfVxufVxuIiwiLmh5c3Rtb2RhbCB7XG4gIHotaW5kZXg6IHZhcigtLXotbW9kYWwpO1xuXG4gICYtLW1lbnUge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuXG4gICAgLmh5c3Rtb2RhbCB7XG4gICAgICAmX193cmFwIHtcbiAgICAgICAgZ3JpZC1yb3c6IGF1dG87XG4gICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgIH1cblxuICAgICAgJl9fd2luZG93IHtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAmX19jbG9zZS1tZW51IHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiBzaXplKDE2KTtcbiAgICByaWdodDogdmFyKC0tbWFpbi1wYWRkaW5nKTtcbiAgfVxuXG4gIEBpbmNsdWRlIG1lZGlhKGZ1bGxoZC1iZWZvcmUpIHtcbiAgICAmX19jbG9zZS1tZW51IHtcbiAgICAgIHRvcDogdnctdG8tcHgoMTYpO1xuICAgIH1cbiAgfVxufVxuIiwiLmlucHV0LWVsZW0ge1xuICBwYWRkaW5nOiBzaXplKDUpIDA7XG4gIHdpZHRoOiAxMDAlO1xuXG4gICYtLXJlcXVpcmVkIHtcbiAgICAuaW5wdXQtZWxlbV9fYm94IHtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICAgICAgJjo6YWZ0ZXIge1xuICAgICAgICBAaW5jbHVkZSB0aXRsZUg0O1xuICAgICAgICBjb250ZW50OiAnKic7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiA1MDA7XG4gICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgICAgIGNvbG9yOiB2YXIoLS1jb2xvci1lcnJvcik7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgJi0tcmFkaW8ge1xuICAgIHBhZGRpbmc6IDA7XG4gIH1cblxuICAmLS1yYWRpbyAmX19sYWJlbCB7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcblxuICAgICY6OmJlZm9yZSxcbiAgICAmOjphZnRlciB7XG4gICAgICBoZWlnaHQ6IHNpemUoMjQpO1xuICAgIH1cbiAgfVxuXG4gICY6aGFzKGlucHV0Lmhhcy1lcnJvcikgJl9fZXJyb3IsXG4gICY6aGFzKGlucHV0Lmhhcy1lcnJvcikgJl9fZXJyb3ItY29udGFpbmVyIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBvcGFjaXR5OiAxO1xuXG4gICAgLyogc3R5bGVsaW50LWRpc2FibGUtbmV4dC1saW5lIGF0LXJ1bGUtbm8tdW5rbm93biAqL1xuICAgIEBzdGFydGluZy1zdHlsZSB7XG4gICAgICBvcGFjaXR5OiAwO1xuICAgIH1cbiAgfVxuXG4gICZfX2xhYmVsIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBwYWRkaW5nOiAwIHNpemUoMTApO1xuICAgIGFsaWduLWl0ZW1zOiBmbGV4LWVuZDtcblxuICAgICY6OmJlZm9yZSxcbiAgICAmOjphZnRlciB7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHRvcDogNTAlO1xuICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpO1xuICAgICAgd2lkdGg6IHNpemUoNCk7XG4gICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyO1xuICAgICAgYmFja2dyb3VuZC1zaXplOiBhdXRvO1xuICAgICAgYm9yZGVyLXRvcDogMXB4IHNvbGlkIHZhcigtLWNvbG9yLXByaW1hcnktY29udHJhc3QpO1xuICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIHZhcigtLWNvbG9yLXByaW1hcnktY29udHJhc3QpO1xuICAgIH1cblxuICAgICY6OmJlZm9yZSB7XG4gICAgICBjb250ZW50OiAnJztcbiAgICAgIGxlZnQ6IDA7XG4gICAgICBib3JkZXItbGVmdDogMXB4IHNvbGlkIHZhcigtLWNvbG9yLXByaW1hcnktY29udHJhc3QpO1xuICAgIH1cblxuICAgICY6OmFmdGVyIHtcbiAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgcmlnaHQ6IDA7XG4gICAgICBib3JkZXItcmlnaHQ6IDFweCBzb2xpZCB2YXIoLS1jb2xvci1wcmltYXJ5LWNvbnRyYXN0KTtcbiAgICB9XG4gIH1cblxuICAmX190ZXh0IHtcbiAgICBAaW5jbHVkZSB0aXRsZUg0O1xuICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgICBmbGV4OiBub25lO1xuICB9XG5cbiAgJl9fYm94IHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZ3JvdzogMTtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7XG5cbiAgICAmLS1nYXAge1xuICAgICAgZ2FwOiBzaXplKDIwKTtcbiAgICB9XG4gIH1cblxuICAmX19lcnJvcixcbiAgJl9fZXJyb3ItY29udGFpbmVyIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICAgIG1hcmdpbi10b3A6IHJlbSg0cHgpO1xuICAgIG9wYWNpdHk6IDA7XG4gICAgdHJhbnNpdGlvbjogb3BhY2l0eSAwLjVzO1xuICAgIHRyYW5zaXRpb24tYmVoYXZpb3I6IGFsbG93LWRpc2NyZXRlO1xuICB9XG5cbiAgJl9fZXJyb3IgLmp1c3QtdmFsaWRhdGUtZXJyb3ItbGFiZWwsXG4gICZfX2Vycm9yLWNvbnRhaW5lciAuanVzdC12YWxpZGF0ZS1lcnJvci1sYWJlbCB7XG4gICAgQGluY2x1ZGUgdGV4dEVycm9ySW5wdXQ7XG4gIH1cblxuICAmX19pbnB1dCB7XG4gICAgYm9yZGVyLWJvdHRvbTogMXB4IGRvdHRlZCB2YXIoLS1jb2xvci1zZWNvbmRhcnktMzApO1xuICAgIHRyYW5zaXRpb246IGJvcmRlci1ib3R0b20gMC4zcztcbiAgICBwYWRkaW5nLWJvdHRvbTogMDtcblxuICAgICY6Zm9jdXMge1xuICAgICAgYm9yZGVyLWJvdHRvbS1jb2xvcjogdmFyKC0tY29sb3ItcHJpbWFyeS1jb250cmFzdCk7XG4gICAgfVxuICB9XG5cbiAgJi5lcnJvciAmX19lcnJvciB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgb3BhY2l0eTogMTtcblxuICAgIC8qIHN0eWxlbGludC1kaXNhYmxlLW5leHQtbGluZSBhdC1ydWxlLW5vLXVua25vd24gKi9cbiAgICBAc3RhcnRpbmctc3R5bGUge1xuICAgICAgb3BhY2l0eTogMDtcbiAgICB9XG4gIH1cblxuICAmLmRpc2FibGVkICZfX2xhYmVsIHtcbiAgICBjb2xvcjogdmFyKC0tY29sb3Itc2Vjb25kYXJ5LWNvbnRyYXN0KTtcbiAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgICBjdXJzb3I6IG5vdC1hbGxvd2VkO1xuICB9XG5cbiAgJi53aGl0ZSAmX19pbnB1dCB7XG4gICAgY29sb3I6IHZhcigtLWNvbG9yLXByaW1hcnkpO1xuICAgIGJvcmRlci1ib3R0b20tY29sb3I6IHZhcigtLWNvbG9yLXNlY29uZGFyeSk7XG5cbiAgICAmOmZvY3VzIHtcbiAgICAgIGJvcmRlci1ib3R0b20tY29sb3I6IHZhcigtLWNvbG9yLXdoaXRlKTtcbiAgICB9XG4gIH1cblxuICBAaW5jbHVkZSBtZWRpYShob3Zlcikge1xuICAgIC53aGl0ZSAmX19sYWJlbDpob3ZlciAmX19pbnB1dCB7XG4gICAgICBib3JkZXItYm90dG9tLWNvbG9yOiB2YXIoLS1jb2xvci13aGl0ZSk7XG4gICAgfVxuXG4gICAgJl9fbGFiZWw6aG92ZXIgJl9faW5wdXQge1xuICAgICAgYm9yZGVyLWJvdHRvbS1jb2xvcjogdmFyKC0tY29sb3ItcHJpbWFyeS1jb250cmFzdCk7XG4gICAgfVxuICB9XG5cbiAgQGluY2x1ZGUgbWVkaWEoZnVsbGhkLWJlZm9yZSkge1xuICAgIHBhZGRpbmc6IHZ3LXRvLXB4KDUpIDA7XG5cbiAgICAmX19sYWJlbCB7XG4gICAgICBwYWRkaW5nOiAwIHZ3LXRvLXB4KDEyKTtcblxuICAgICAgJjo6YmVmb3JlLFxuICAgICAgJjo6YWZ0ZXIge1xuICAgICAgICB3aWR0aDogdnctdG8tcHgoNSk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgJl9fYm94IHtcbiAgICAgICYtLWdhcCB7XG4gICAgICAgIGdhcDogdnctdG8tcHgoMjApO1xuICAgICAgfVxuICAgIH1cblxuICAgICZfX2Vycm9yIHtcbiAgICAgIG1hcmdpbi10b3A6IHZ3LXRvLXB4KDQpO1xuICAgIH1cbiAgfVxuXG5cbiAgQGluY2x1ZGUgbWVkaWEoZGVza3RvcCkge1xuICAgICZfX2JveCB7XG4gICAgICAmLS1nYXAge1xuICAgICAgICBnYXA6IHNpemUoOCk7XG4gICAgICB9XG4gICAgfVxuICB9XG4gIEBpbmNsdWRlIG1lZGlhKHNtYXJ0cGhvbmUpIHtcbiAgICAmLS1yYWRpbyB7XG4gICAgICBtYXJnaW4tYm90dG9tOiBzaXplKDMpO1xuICAgIH1cblxuICAgICYtLXJhZGlvICZfX3RleHQge1xuICAgICAgbWFyZ2luLXRvcDogc2l6ZSg0KTtcbiAgICB9XG5cbiAgICAmLS1yYWRpbyAmX19sYWJlbCB7XG4gICAgICAmOjpiZWZvcmUsXG4gICAgICAmOjphZnRlciB7XG4gICAgICAgIGhlaWdodDogc2l6ZSgyMSk7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4iLCIuaW5wdXQtdGV4dGFyZWEge1xuICB3aWR0aDogMTAwJTtcblxuICAmX19ib3gge1xuICAgIGRpc3BsYXk6IGdyaWQ7XG4gICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiBtaW4tY29udGVudCBtaW5tYXgoMCwgMWZyKTtcbiAgICBib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1jb2xvci1wcmltYXJ5LWNvbnRyYXN0KTtcbiAgfVxuXG4gICZfX2xhYmVsIHtcbiAgICBAaW5jbHVkZSB0aXRsZUg0O1xuICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gICAgcGFkZGluZzogc2l6ZSgxMik7XG4gICAgcGFkZGluZy1yaWdodDogMDtcbiAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgIGZsZXg6IG5vbmU7XG4gIH1cblxuICAmX19lcnJvciB7XG4gICAgQGluY2x1ZGUgdGV4dFhTO1xuICAgIGNvbG9yOiB2YXIoLS1jb2xvci1lcnJvcik7XG4gICAgbWFyZ2luLXRvcDogc2l6ZSg0KTtcbiAgICB0cmFuc2l0aW9uLWJlaGF2aW9yOiBhbGxvdy1kaXNjcmV0ZTtcbiAgICBkaXNwbGF5OiBub25lO1xuICAgIG9wYWNpdHk6IDA7XG4gICAgdHJhbnNpdGlvbjogb3BhY2l0eSAwLjVzIGVhc2U7XG4gIH1cblxuICAmLmVycm9yIHtcbiAgICAuaW5wdXQtdGV4dGFyZWFfX2Vycm9yIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgb3BhY2l0eTogMTtcblxuICAgICAgLyogc3R5bGVsaW50LWRpc2FibGUtbmV4dC1saW5lIGF0LXJ1bGUtbm8tdW5rbm93biAqL1xuICAgICAgQHN0YXJ0aW5nLXN0eWxlIHtcbiAgICAgICAgb3BhY2l0eTogMDtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAmLmRpc2FibGVkIHtcbiAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgICBjdXJzb3I6IG5vdC1hbGxvd2VkO1xuICB9XG5cbiAgJi5kaXNhYmxlZCAmX19sYWJlbCB7XG4gICAgY29sb3I6IHZhcigtLWNvbG9yLXNlY29uZGFyeS1jb250cmFzdCk7XG4gIH1cblxuICAmLmRpc2FibGVkICZfX2JveCB7XG4gICAgYm9yZGVyLWNvbG9yOiB2YXIoLS1jb2xvci1zZWNvbmRhcnktY29udHJhc3QpO1xuICB9XG5cbiAgJi53aGl0ZSAmX19ib3gge1xuICAgIGJvcmRlci1jb2xvcjogdmFyKC0tY29sb3ItcHJpbWFyeSk7XG4gIH1cblxuICAmLndoaXRlICZfX3RleHRhcmVhIHtcbiAgICBjb2xvcjogdmFyKC0tY29sb3ItcHJpbWFyeSk7XG4gIH1cblxuICBAaW5jbHVkZSBtZWRpYShmdWxsaGQtYmVmb3JlKSB7XG4gICAgJl9fbGFiZWwge1xuICAgICAgcGFkZGluZzogdnctdG8tcHgoMTIpO1xuICAgICAgcGFkZGluZy1yaWdodDogMDtcbiAgICB9XG5cbiAgICAmX19lcnJvciB7XG4gICAgICBtYXJnaW4tdG9wOiB2dy10by1weCg0KTtcbiAgICB9XG4gIH1cbn1cbiIsIi5tYW5hZ2VyLWJsb2NrIHtcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7XG4gIGNvbHVtbi1nYXA6IHJlbSgyNHB4KTtcblxuICAmX19waWMge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1zaHJpbms6IDA7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICB3aWR0aDogcmVtKDgwcHgpO1xuICAgIGhlaWdodDogcmVtKDgwcHgpO1xuICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuXG4gICAgaW1nIHtcbiAgICAgIEBpbmNsdWRlIHBpY3R1cmVkLWltZztcbiAgICB9XG4gIH1cblxuICAmX19pbmZvIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgcm93LWdhcDogcmVtKDRweCk7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgbWF4LXdpZHRoOiByZW0oMzIwcHgpO1xuICB9XG5cbiAgJl9faW5mbyBwLFxuICAmX19pbmZvIGEge1xuICAgIEBpbmNsdWRlIHRleHRTO1xuICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gIH1cblxuICAmX19pbmZvIGEge1xuICAgIHBhZGRpbmctYmxvY2s6IHJlbSgxMXB4KTtcbiAgfVxuXG4gIC8vIE1FRElBXG4gIEBpbmNsdWRlIG1lZGlhKHF1YWRoZCkge1xuICAgICZfX2luZm8gcCxcbiAgICAmX19pbmZvIGEge1xuICAgICAgQGluY2x1ZGUgdGV4dFhTO1xuICAgIH1cblxuICAgICZfX3BpYyB7XG4gICAgICB3aWR0aDogcmVtKDY0cHgpO1xuICAgICAgaGVpZ2h0OiByZW0oNjRweCk7XG4gICAgfVxuICB9XG5cbiAgQGluY2x1ZGUgbWVkaWEoZGVza3RvcCkge1xuICAgIGNvbHVtbi1nYXA6IHJlbSgxNnB4KTtcbiAgfVxufVxuIiwiLm1vZGFsLW1lbnUge1xuICBwb3NpdGlvbjogZml4ZWQ7XG4gIHRvcDogMDtcbiAgcmlnaHQ6IDA7XG4gIGJvdHRvbTogMDtcbiAgbGVmdDogMDtcbiAgei1pbmRleDogdmFyKC0tei1tb2RhbCk7XG4gIC13ZWJraXQtb3ZlcmZsb3ctc2Nyb2xsaW5nOiB0b3VjaDtcbiAgdmlzaWJpbGl0eTogaGlkZGVuO1xuICBvcGFjaXR5OiAwO1xuICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgb3ZlcmZsb3cteTogaGlkZGVuO1xuICAtbXMtb3ZlcmZsb3ctc3R5bGU6IG5vbmU7XG4gIHNjcm9sbGJhci13aWR0aDogbm9uZTtcbiAgb3ZlcnNjcm9sbC1iZWhhdmlvcjogY29udGFpbjtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgaGVpZ2h0OiAxMDAlO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jb2xvci1wcmltYXJ5LWNvbnRyYXN0KTtcbiAgdHJhbnNpdGlvbjogb3BhY2l0eSAwLjJzIGVhc2UtaW4tb3V0LCB2aXNpYmlsaXR5IDAuMnMgZWFzZS1pbi1vdXQ7XG5cbiAgJi5pcy1vcGVuIHtcbiAgICB2aXNpYmlsaXR5OiB2aXNpYmxlO1xuICAgIG9wYWNpdHk6IDE7XG4gICAgcG9pbnRlci1ldmVudHM6IGF1dG87XG4gIH1cblxuICAmX19oZWFkIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jb2xvci1wcmltYXJ5LWNvbnRyYXN0KTtcbiAgICBwYWRkaW5nOiAwIHZhcigtLW1haW4tcGFkZGluZyk7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBnYXA6IHJlbSgxNnB4KTtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgfVxuXG4gICZfX2hlYWQtYm94IHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCB2YXIoLS1jb2xvci1ib3JkZXItcHJpbWFyeSk7XG4gICAgcGFkZGluZzogdmFyKC0tcHktaGVhZGVyKSAwO1xuICAgIHdpZHRoOiAxMDAlO1xuICB9XG5cbiAgJl9fYm9keSB7XG4gICAgQGluY2x1ZGUgYmx1cigyNHB4KTtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgZ2FwOiByZW0oMzJweCk7XG4gICAgZmxleC1ncm93OiAxO1xuICAgIHBhZGRpbmc6IDAgMCB2YXIoLS1tYWluLXBhZGRpbmcpIHJlbSgxNnB4KTtcbiAgICBzY3JvbGxiYXItd2lkdGg6IG5vbmU7XG4gICAgb3ZlcnNjcm9sbC1iZWhhdmlvcjogY29udGFpbjtcbiAgICBvdmVyZmxvdzogYXV0bztcbiAgICBtYXgtaGVpZ2h0OiAxMDAlO1xuICB9XG5cbiAgJl9fbGlzdCB7XG4gICAgY291bnRlci1yZXNldDogbGlzdDtcbiAgfVxuXG4gICZfX2l0ZW0ge1xuICAgIGRpc3BsYXk6IGdyaWQ7XG4gICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoMiwgbWlubWF4KDAsIDFmcikpO1xuICAgIGNvbHVtbi1nYXA6IHJlbSgxMHB4KTtcblxuICAgIEBpbmNsdWRlIHRleHRYUztcblxuICAgICYtdGV4dCB7XG4gICAgICBwYWRkaW5nOiByZW0oOHB4KSAwO1xuICAgICAgZGlzcGxheTogZ3JpZDtcbiAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogbWlubWF4KDAsIHJlbSg4OHB4KSkgbWlubWF4KDAsIDFmcik7XG4gICAgICBnYXA6IHJlbSg0cHgpO1xuICAgICAgd2lkdGg6IGZpdC1jb250ZW50O1xuICAgICAgaGVpZ2h0OiBmaXQtY29udGVudDtcbiAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgICBjb2xvcjogdmFyKC0tY29sb3ItcHJpbWFyeSk7XG4gICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG5cbiAgICAgICY6OmJlZm9yZSB7XG4gICAgICAgIGNvbnRlbnQ6ICcwMCcgY291bnRlcihsaXN0KSAnLic7XG4gICAgICAgIGNvdW50ZXItaW5jcmVtZW50OiBsaXN0O1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gICZfX3N1Ymxpc3Qge1xuICAgIGNvdW50ZXItcmVzZXQ6IHN1Ymxpc3Q7XG4gIH1cblxuICAmX19zdWJpdGVtIHtcbiAgICBkaXNwbGF5OiBncmlkO1xuICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogbWlubWF4KDAsIHJlbSg4OHB4KSkgbWlubWF4KDAsIDFmcik7XG4gICAgZ2FwOiByZW0oNHB4KTtcbiAgICBwYWRkaW5nOiByZW0oOHB4KSAwO1xuICAgIHdpZHRoOiBmaXQtY29udGVudDtcblxuICAgICY6OmJlZm9yZSB7XG4gICAgICBjb250ZW50OiAnMDAxJyAnLicgY291bnRlcihzdWJsaXN0KSAnLic7XG4gICAgICBjb3VudGVyLWluY3JlbWVudDogc3VibGlzdDtcbiAgICB9XG4gIH1cblxuICAmX19ib3R0b20ge1xuICAgIG1hcmdpbi10b3A6IGF1dG87XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgIGdhcDogcmVtKDhweCk7XG4gIH1cblxuICAmX19pbmZvIHtcbiAgICBAaW5jbHVkZSB0ZXh0WFM7XG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgfVxuXG4gIEBpbmNsdWRlIG1lZGlhKG5vdGVib29rKSB7XG4gICAgJl9fYm9keSB7XG4gICAgICBwYWRkaW5nOiAwIHZhcigtLW1haW4tcGFkZGluZykgcmVtKDE2cHgpO1xuICAgIH1cbiAgfVxuXG4gIEBpbmNsdWRlIG1lZGlhKHNtYXJ0cGhvbmUpIHtcbiAgICAmX19pdGVtIHtcbiAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogbWlubWF4KDAsIDFmcik7XG5cbiAgICAgICY6aGFzKC5tb2RhbC1tZW51X19zdWJsaXN0KSB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IHJlbSgzMnB4KTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAmX19waG9uZXMge1xuICAgICAgZGlzcGxheTogZ3JpZDtcbiAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogbWluLWNvbnRlbnQgbWluLWNvbnRlbnQ7XG4gICAgICBjb2x1bW4tZ2FwOiByZW0oMTZweCk7XG4gICAgfVxuICB9XG59XG4iLCIucGFnZS1uYXYge1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuXG4gICZfX2xpbmsge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gICAgcGFkZGluZzogcmVtKDhweCkgMDtcbiAgICBwYWRkaW5nLXJpZ2h0OiByZW0oMTZweCk7XG4gICAgYm9yZGVyOiBub25lO1xuICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICAgIGNvbG9yOiB2YXIoLS1jb2xvci1zZWNvbmRhcnkpO1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgIHRyYW5zaXRpb246IGNvbG9yIDAuM3MgZWFzZTtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHotaW5kZXg6IDI7XG5cbiAgICAmOjpiZWZvcmUge1xuICAgICAgY29udGVudDogJyc7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICByaWdodDogLTJweDtcbiAgICAgIHRvcDogMDtcbiAgICAgIHdpZHRoOiAxcHg7XG4gICAgICBoZWlnaHQ6IDA7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICAgIHotaW5kZXg6IDE7XG4gICAgICB0cmFuc2l0aW9uOiB3aWR0aCAwLjNzIGVhc2UtaW4tb3V0O1xuICAgIH1cblxuICAgICYuYWN0aXZlIHtcbiAgICAgIGNvbG9yOiB2YXIoLS1jb2xvci1wcmltYXJ5KTtcblxuICAgICAgJjo6YmVmb3JlIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY29sb3ItcHJpbWFyeSk7XG4gICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAmX190ZXh0IHtcbiAgICBAaW5jbHVkZSB0aXRsZUg1O1xuICAgIEBpbmNsdWRlIGxpbmUtY2xhbXAoMSk7XG4gIH1cblxuICAmX190aXRsZSB7XG4gICAgQGluY2x1ZGUgdGV4dExpbms7XG4gICAgY29sb3I6IHZhcigtLWNvbG9yLXNlY29uZGFyeSk7XG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgfVxuXG4gICZfX2ljb24ge1xuICAgIGZsZXg6IG5vbmU7XG4gICAgd2lkdGg6IHJlbSgxNnB4KTtcbiAgICBoZWlnaHQ6IHJlbSgxNnB4KTtcbiAgfVxuXG4gICYtLXN1Ym5hdiB7XG4gICAgLnBhZ2UtbmF2X19saW5rOjpiZWZvcmUge1xuICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG4gIH1cblxuICBAaW5jbHVkZSBtZWRpYSh0YWJsZXQpIHtcbiAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xuXG4gICAgJl9faXRlbTpub3QoOmxhc3QtY2hpbGQpIHtcbiAgICAgIG1hcmdpbi1yaWdodDogcmVtKDI0cHgpO1xuICAgIH1cblxuICAgICZfX3RleHQge1xuICAgICAgb3ZlcmZsb3c6IHZpc2libGU7XG4gICAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICAgIH1cblxuICAgICZfX2xpbmsge1xuICAgICAgcGFkZGluZy1yaWdodDogMDtcblxuICAgICAgJi5hY3RpdmU6OmJlZm9yZSB7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBoZWlnaHQ6IDFweDtcbiAgICAgICAgbGVmdDogMDtcbiAgICAgICAgcmlnaHQ6IDA7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4iLCIucGFnZS1zZWN0aW9uIHtcbiAgcGFkZGluZy10b3A6IHNpemUoMzIpO1xuICBwYWRkaW5nLWJvdHRvbTogc2l6ZSgyMDApO1xuXG4gICYtLWJvdHRvbS1wYWRkaW5nIHtcbiAgICBwYWRkaW5nLWJvdHRvbTogMDtcbiAgfVxuXG4gIEBpbmNsdWRlIG1lZGlhKGZ1bGxoZC1iZWZvcmUpIHtcbiAgICBwYWRkaW5nLXRvcDogdnctdG8tcHgoMzIpO1xuICAgIHBhZGRpbmctYm90dG9tOiB2dy10by1weCgyMDApO1xuICB9XG5cbiAgQGluY2x1ZGUgbWVkaWEocXVhZGhkKSB7XG4gICAgcGFkZGluZy10b3A6IHNpemUoMjQpO1xuICAgIHBhZGRpbmctYm90dG9tOiBzaXplKDE0NCk7XG4gIH1cblxuICBAaW5jbHVkZSBtZWRpYSh0YWJsZXQpIHtcbiAgICBwYWRkaW5nLWJvdHRvbTogc2l6ZSgxMTIpO1xuICB9XG5cbiAgQGluY2x1ZGUgbWVkaWEocGhvbmUpIHtcbiAgICBwYWRkaW5nLXRvcDogc2l6ZSgxNik7XG4gICAgcGFkZGluZy1ib3R0b206IHNpemUoODgpO1xuICB9XG59XG5cbi5wYWdlLXNlY3Rpb24tYm94IHtcbiAgcGFkZGluZy1ib3R0b206IHJlbSgxMDMpO1xuXG4gIEBpbmNsdWRlIG1lZGlhKGZ1bGxoZC1iZWZvcmUpIHtcbiAgICBwYWRkaW5nLWJvdHRvbTogdnctdG8tcHgoMTAzKTtcbiAgfVxuXG4gIEBpbmNsdWRlIG1lZGlhKHRhYmxldCkge1xuICAgIHBhZGRpbmctYm90dG9tOiByZW0oOTIpO1xuICB9XG5cbiAgQGluY2x1ZGUgbWVkaWEocGhvbmUpIHtcbiAgICBwYWRkaW5nLWJvdHRvbTogcmVtKDYwKTtcbiAgfVxufVxuIiwiLnByZWxvYWRlciB7XG4gIHBvc2l0aW9uOiBmaXhlZDtcbiAgaW5zZXQ6IDA7XG4gIGNvbG9yOiB2YXIoLS1jb2xvci1wcmltYXJ5KTtcbiAgei1pbmRleDogdmFyKC0tei1tb2RhbCk7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuXG4gICZfX2JveCB7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogZmxleC1lbmQ7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgbWFyZ2luLXRvcDogYXV0bztcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jb2xvci1wcmltYXJ5LWNvbnRyYXN0KTtcbiAgfVxuXG4gICZfX2VsLW1haW4ge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgcGFkZGluZzogcmVtKDVweCk7XG4gICAgbWFyZ2luLWJvdHRvbTogNTB2aDtcbiAgICBmb250LXNpemU6IHNpemUoMjYpO1xuICAgIGxpbmUtaGVpZ2h0OiAxMTUlO1xuICAgIGxldHRlci1zcGFjaW5nOiAtMC4wMmVtO1xuICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgfVxuXG4gIEBpbmNsdWRlIG1lZGlhKGZ1bGxoZC1iZWZvcmUpIHtcbiAgICAmX19lbC1tYWluIHtcbiAgICAgIGZvbnQtc2l6ZTogdnctdG8tcHgoMjYpO1xuICAgIH1cbiAgfVxuXG4gIEBpbmNsdWRlIG1lZGlhKHF1YWRoZCkge1xuICAgICZfX2VsLW1haW4ge1xuICAgICAgZm9udC1zaXplOiBzaXplKDI0KTtcbiAgICB9XG4gIH1cblxuICBAaW5jbHVkZSBtZWRpYSh0YWJsZXQpIHtcbiAgICAmX19lbC1tYWluIHtcbiAgICAgIGZvbnQtc2l6ZTogc2l6ZSgyMik7XG4gICAgfVxuICB9XG5cbiAgQGluY2x1ZGUgbWVkaWEocGhvbmUpIHtcbiAgICAmX19lbC1tYWluIHtcbiAgICAgIGZvbnQtc2l6ZTogc2l6ZSgxOCk7XG4gICAgfVxuICB9XG59XG5cbi5wcmVsb2FkZXItb3BlbmVkIHtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgcGFkZGluZy1yaWdodDogdmFyKC0tc2Nyb2xsLXdpZHRoKTtcbn1cbiIsIi5wcm9kdWN0IHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBkaXNwbGF5OiBmbGV4O1xuICBhc3BlY3QtcmF0aW86IDU3MC81MjA7XG5cbiAgJl9fd3JhcHBlciB7XG4gICAgcGFkZGluZzogc2l6ZSgzMikgMDtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgZ2FwOiBzaXplKDUwKTtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gICAgaGVpZ2h0OiBhdXRvO1xuICAgIHdpZHRoOiAxMDAlO1xuXG4gICAgJjo6YWZ0ZXIge1xuICAgICAgY29udGVudDogJyc7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICBsZWZ0OiAycHg7XG4gICAgICByaWdodDogMnB4O1xuICAgICAgYm90dG9tOiAycHg7XG4gICAgICB0b3A6IDUwJTtcbiAgICAgIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCg5NGRlZywgcmdiYSg4LCA4LCA4LCAxKSAwJSwgcmdiYSgyNTQsIDI1NCwgMjU0LCAwKSA1MCUsIHJnYmEoOCwgOCwgOCwgMSkgMTAwJSk7XG4gICAgfVxuICB9XG5cbiAgJl9fYm9yZGVyIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAtMXB4O1xuICAgIGxlZnQ6IC0ycHg7XG4gICAgYm90dG9tOiAtMnB4O1xuICAgIHJpZ2h0OiAtMXB4O1xuICAgIHotaW5kZXg6IC0xO1xuICAgIGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLWNvbG9yLWJvcmRlci1wcmltYXJ5KTtcbiAgICBib3gtc2hhZG93OiBpbnNldCAwIDAgMCA0cHggdmFyKC0tY29sb3ItcHJpbWFyeS1jb250cmFzdCk7XG4gICAgb3BhY2l0eTogMDtcbiAgICB0cmFuc2l0aW9uOiBvcGFjaXR5IDAuM3M7XG4gIH1cblxuICAmX190b3Age1xuICAgIHBhZGRpbmc6IDAgc2l6ZSgzMik7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgICBjb2xvcjogdmFyKC0tY29sb3Itc2Vjb25kYXJ5KTtcbiAgICB0cmFuc2l0aW9uOiBjb2xvciAwLjNzO1xuICB9XG5cbiAgJl9fbnVtYmVyIHtcbiAgICBAaW5jbHVkZSB0aXRsZUg1O1xuICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gIH1cblxuICAmX19pY29uIHtcbiAgICB3aWR0aDogc2l6ZSgyMCk7XG4gICAgaGVpZ2h0OiBzaXplKDIwKTtcbiAgICBtYXJnaW4tbGVmdDogYXV0bztcbiAgfVxuXG4gICZfX3BpY3R1cmUge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB3aWR0aDogc2l6ZSgyNTApO1xuICAgIG1hcmdpbjogMCBhdXRvO1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgYXNwZWN0LXJhdGlvOiAxO1xuICB9XG5cbiAgJl9faW1nIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAwO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogMTAwJTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jb2xvci1wcmltYXJ5LWNvbnRyYXN0KTtcblxuICAgIGltZyB7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgICAgb2JqZWN0LWZpdDogY29udGFpbjtcbiAgICB9XG4gIH1cblxuICAmX19hc2NpaSB7XG4gICAgQGluY2x1ZGUgdGV4dFByZTtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDA7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiAwO1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgYm9yZGVyLWJvdHRvbTogc29saWQgdHJhbnNwYXJlbnQ7XG4gICAgYm9yZGVyLXdpZHRoOiAwO1xuICAgIGJvcmRlci1pbWFnZTogbGluZWFyLWdyYWRpZW50KHRvIHJpZ2h0LCByZ2JhKDAsIDAsIDAsIDAuMyksIHZhcigtLWNvbG9yLXByaW1hcnkpLCByZ2JhKDAsIDAsIDAsIDAuMykpO1xuICAgIGJvcmRlci1pbWFnZS1zbGljZTogMTtcbiAgICBib3gtc2hhZG93OiAwIDI1cHggMThweCAtMTFweCByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMSk7XG4gICAgdHJhbnNpdGlvbjogaGVpZ2h0IDAuNHMgZWFzZS1vdXQsIGJvcmRlci13aWR0aCAwLjRzIGVhc2Utb3V0O1xuICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWNvbG9yLXByaW1hcnktY29udHJhc3QpO1xuICB9XG5cbiAgJl9fYXNjaWktcHJlIHtcbiAgICBmb250LXNpemU6IGNhbGMoMyAvIHZhcigtLXNjYWxlLXZ3KSAqIHZhcigtLXZ3LCAxdncpKTtcbiAgICBsaW5lLWhlaWdodDogMS4xO1xuICAgIGZvbnQtd2VpZ2h0OiA1MDA7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAwO1xuICAgIGxlZnQ6IDUwJTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTUwJSk7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgd2lkdGg6IGF1dG87XG4gICAgbWFyZ2luOiAwIGF1dG87XG4gICAgYmFja2dyb3VuZC1pbWFnZTogbGluZWFyLWdyYWRpZW50KDkwZGVnLCAjZjFmMWYxLCAjOTlhZWRjKTtcbiAgICAvKiBzdHlsZWxpbnQtZGlzYWJsZS1uZXh0LWxpbmUgcHJvcGVydHktbm8tdmVuZG9yLXByZWZpeCAqL1xuICAgIC13ZWJraXQtYmFja2dyb3VuZC1jbGlwOiB0ZXh0O1xuICAgIC13ZWJraXQtdGV4dC1maWxsLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICBiYWNrZ3JvdW5kLWNsaXA6IHRleHQ7XG5cbiAgICBjb2RlIHtcbiAgICAgIGZvbnQtc2l6ZTogY2FsYygzIC8gdmFyKC0tc2NhbGUtdncpICogdmFyKC0tdncsIDF2dykpO1xuICAgICAgbGluZS1oZWlnaHQ6IDEuMTtcbiAgICAgIGZvbnQtd2VpZ2h0OiA1MDA7XG4gICAgfVxuICB9XG5cbiAgJl9fYXNjaWktaW1nIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBhc3BlY3QtcmF0aW86IDE7XG4gICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgIG9iamVjdC1maXQ6IGNvbnRhaW47XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY29sb3ItcHJpbWFyeS1jb250cmFzdCk7XG4gIH1cblxuICAmX19ib3R0b20ge1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgbWFyZ2luOiAwIDVweDtcbiAgICBmbGV4OiBub25lO1xuICB9XG5cbiAgJl9fdGl0bGUge1xuICAgIEBpbmNsdWRlIHRleHRMaW5rTTtcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgY29sb3I6IHZhcigtLWNvbG9yLXByaW1hcnkpO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgfVxuXG4gICZfX2xpbmsge1xuICAgIGZvbnQtc2l6ZTogMDtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAwO1xuICAgIGxlZnQ6IDA7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIHotaW5kZXg6IDI7XG4gIH1cblxuICAmX190ZXh0IHtcbiAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuXG4gICAgJjpub3QoOmZpcnN0LWNoaWxkKSB7XG4gICAgICBkaXNwbGF5OiBub25lO1xuICAgIH1cbiAgfVxuXG4gIEBpbmNsdWRlIG1lZGlhKGhvdmVyKSB7XG4gICAgJjpob3ZlciAmX19ib3JkZXIge1xuICAgICAgb3BhY2l0eTogMTtcbiAgICAgIHotaW5kZXg6IDE7XG4gICAgfVxuXG4gICAgJjpob3ZlciAmX19hc2NpaSB7XG4gICAgICBoZWlnaHQ6IGNhbGMoMTAwJSArIDJweCk7XG4gICAgICBib3JkZXItd2lkdGg6IDJweDtcbiAgICB9XG5cbiAgICAmOmhvdmVyICZfX3RvcCB7XG4gICAgICBjb2xvcjogdmFyKC0tY29sb3ItcHJpbWFyeSk7XG4gICAgfVxuXG4gICAgJjpob3ZlciAmX190aXRsZSB7XG4gICAgICBhbmltYXRpb246IGNyZWVwaW5nLWxpbmUgMjBzIGxpbmVhciBpbmZpbml0ZTtcbiAgICB9XG5cbiAgICAmOmhvdmVyICZfX3RleHQge1xuICAgICAgJjpub3QoOmZpcnN0LWNoaWxkKSB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIEBpbmNsdWRlIG1lZGlhKGZ1bGxoZC1iZWZvcmUpIHtcbiAgICAmX193cmFwcGVyIHtcbiAgICAgIGdhcDogdnctdG8tcHgoNTApO1xuICAgIH1cbiAgfVxuXG4gIEBpbmNsdWRlIG1lZGlhKHF1YWRoZCkge1xuICAgIGFzcGVjdC1yYXRpbzogNDMwLzQyNTtcblxuICAgICZfX3dyYXBwZXIge1xuICAgICAgcGFkZGluZzogc2l6ZSgyNCkgMDtcbiAgICB9XG5cbiAgICAmX190b3Age1xuICAgICAgcGFkZGluZzogMCBzaXplKDI0KTtcbiAgICB9XG5cbiAgICAmX19pY29uIHtcbiAgICAgIHdpZHRoOiBzaXplKDE2KTtcbiAgICAgIGhlaWdodDogc2l6ZSgxNik7XG4gICAgfVxuICB9XG5cbiAgQGluY2x1ZGUgbWVkaWEodGFibGV0KSB7XG4gICAgYXNwZWN0LXJhdGlvOiBhdXRvO1xuXG4gICAgJl9fd3JhcHBlciB7XG4gICAgICBnYXA6IHNpemUoNDMpO1xuICAgIH1cblxuICAgICZfX3dyYXBwZXI6OmFmdGVyIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxuXG4gICAgJl9fcGljdHVyZSB7XG4gICAgICB3aWR0aDogc2l6ZSgxODApO1xuICAgICAgLy8gaVBob25lMTIg0L3QtSDRgNCw0LHQvtGC0LDQtdGCIGFzcGVjdC1yYXRpb1xuICAgICAgaGVpZ2h0OiBjYWxjKHNpemUoMTgwKSAqIDEvMSk7XG4gICAgICBtYXJnaW4tYm90dG9tOiBzaXplKDM1KTtcbiAgICB9XG4gIH1cblxuICBAaW5jbHVkZSBtZWRpYShwaG9uZSkge1xuICAgIG1pbi1oZWlnaHQ6IHNpemUoMzgwKTtcblxuICAgICZfX3dyYXBwZXIge1xuICAgICAgcGFkZGluZzogc2l6ZSgxNikgMDtcbiAgICB9XG5cbiAgICAmX190b3Age1xuICAgICAgcGFkZGluZzogMCBzaXplKDE2KTtcbiAgICB9XG4gIH1cbn1cbiIsIi5wcm9qZWN0IHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBtaW4taGVpZ2h0OiBzaXplKDgwMCk7XG5cbiAgLnBhZ2UtcHJvZHVjdC0tbmV3ICYge1xuICAgIC5wcm9qZWN0X19hd2FyZHMsXG4gICAgLnByb2plY3RfX2JvdHRvbSB7XG4gICAgICBkaXNwbGF5OiBub25lO1xuICAgIH1cbiAgfVxuXG4gICZfX2JvcmRlciB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogLTFweDtcbiAgICBsZWZ0OiAtMnB4O1xuICAgIGJvdHRvbTogLTJweDtcbiAgICByaWdodDogLTFweDtcbiAgICB6LWluZGV4OiAtMTtcbiAgICBib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1jb2xvci1ib3JkZXItcHJpbWFyeSk7XG4gICAgYm94LXNoYWRvdzogaW5zZXQgMCAwIDAgNHB4IHZhcigtLWNvbG9yLXByaW1hcnktY29udHJhc3QpO1xuICAgIG9wYWNpdHk6IDA7XG4gICAgdHJhbnNpdGlvbjogb3BhY2l0eSAwLjNzO1xuICB9XG5cbiAgJl9fY292ZXIge1xuICAgIGhlaWdodDogMTAwJTtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgaW5zZXQ6IDA7XG4gICAgdHJhbnNpdGlvbjogZmlsdGVyIDAuM3MgZWFzZS1pbjtcbiAgfVxuXG4gICZfX3BpY3R1cmUge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDA7XG4gICAgbGVmdDogMDtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgZGlzcGxheTogZmxleDtcbiAgfVxuXG4gICZfX2ltZyB7XG4gICAgLS1vYmplY3QtZml0OiBjb250YWluO1xuICAgIG1heC13aWR0aDogODMlO1xuICAgIG1hcmdpbjogMCBhdXRvO1xuICB9XG5cbiAgJl9fdG9wIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgICBhbGlnbi1pdGVtczogZmxleC1zdGFydDtcbiAgICBwYWRkaW5nOiByZW0oMzJweCk7XG4gIH1cblxuICAmX19ib3R0b20ge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBib3R0b206IHJlbSgzMnB4KTtcbiAgICBsZWZ0OiByZW0oMzJweCk7XG4gICAgcmlnaHQ6IHJlbSgzMnB4KTtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDtcbiAgfVxuXG4gICZfX29wZW4ge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cblxuICAmX19pbmZvLWNsb3NlIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG5cbiAgJl9faW5mbyB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHBhZGRpbmc6IHJlbSgzMnB4KTtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGhlaWdodDogMTAwJTtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgZ2FwOiByZW0oMjBweCk7XG4gICAgb3BhY2l0eTogMDtcbiAgICB6LWluZGV4OiAxO1xuICAgIHRyYW5zaXRpb246IG9wYWNpdHkgMC4zcyBlYXNlLW91dDtcblxuICAgICY6OmJlZm9yZSB7XG4gICAgICBjb250ZW50OiAnJztcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIGluc2V0OiAwO1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY29sb3Itc2Vjb25kYXJ5LTkwKTtcbiAgICAgIHotaW5kZXg6IC0xO1xuICAgIH1cbiAgfVxuXG4gICZfX2xvZ28ge1xuICAgIC0tb2JqZWN0LWZpdDogY29udGFpbjtcbiAgICBtYXgtd2lkdGg6IHJlbSgyNTBweCk7XG4gIH1cblxuICAmX190ZXh0IHtcbiAgICBAaW5jbHVkZSB0ZXh0TTtcbiAgICBmb250LWZhbWlseTogJGZvbnQtZmFtaWx5LXNlY29uZGFyeTtcbiAgICBtYXgtd2lkdGg6IHJlbSg2MDBweCk7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICB9XG5cbiAgJl9fdGV4dC1ib3gge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGdhcDogcmVtKDIwcHgpO1xuICAgIG1hcmdpbjogYXV0byAwO1xuICB9XG5cbiAgJl9fYXdhcmRzIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGdhcDogcmVtKDMycHgpO1xuICAgIG1hcmdpbi10b3A6IGF1dG87XG4gIH1cblxuICAmX190aXRsZSB7XG4gICAgQGluY2x1ZGUgdGl0bGVIMztcbiAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICB9XG5cbiAgJl9fbnVtYmVyIHtcbiAgICBAaW5jbHVkZSB0aXRsZUg1O1xuICAgIGNvbG9yOiB2YXIoLS1jb2xvci1zZWNvbmRhcnkpO1xuICB9XG5cbiAgJl9fbGluayB7XG4gICAgJjo6YmVmb3JlIHtcbiAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgdG9wOiAwO1xuICAgICAgbGVmdDogMDtcbiAgICAgIGJvdHRvbTogMDtcbiAgICAgIHJpZ2h0OiAwO1xuICAgIH1cbiAgfVxuXG4gICZfX3N0dWIge1xuICAgIGhlaWdodDogMTAwJTtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgei1pbmRleDogMTtcbiAgICBnYXA6IHNpemUoMTYpO1xuXG4gICAgJjo6YmVmb3JlIHtcbiAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICB0b3A6IDA7XG4gICAgICBsZWZ0OiAwO1xuICAgICAgcmlnaHQ6IDA7XG4gICAgICBib3R0b206IDA7XG4gICAgICB6LWluZGV4OiAtMTtcbiAgICAgIG9wYWNpdHk6IDAuMTtcbiAgICAgIHRyYW5zaXRpb246IG9wYWNpdHkgMC4zcyBlYXNlLWluO1xuICAgICAgYmFja2dyb3VuZDogJGdyYWRpZW50LWNvbnRyYXN0LCB1cmwoJy4uL2ltZy9iZy9kb3Quc3ZnJykgcmVwZWF0IGNlbnRlciAvIDhweDtcbiAgICB9XG4gIH1cblxuICAmX19zdHViLWljb24ge1xuICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICB9XG5cbiAgJl9faWNvbi1wbHVzIHtcbiAgICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMC4zcyBlYXNlLWluO1xuICB9XG5cbiAgQGluY2x1ZGUgbWVkaWEoaG92ZXIpIHtcbiAgICAmOmhvdmVyICZfX2JvcmRlciB7XG4gICAgICBvcGFjaXR5OiAxO1xuICAgICAgei1pbmRleDogMTtcbiAgICB9XG5cbiAgICAmOmhvdmVyICZfX2luZm8ge1xuICAgICAgb3BhY2l0eTogMTtcbiAgICAgIHotaW5kZXg6IDE7XG4gICAgfVxuXG4gICAgJjpob3ZlciAmX19jb3ZlciB7XG4gICAgICBmaWx0ZXI6IGJsdXIoMjVweCk7XG4gICAgfVxuXG4gICAgJjpob3ZlciAmX19zdHViIHtcbiAgICAgICY6OmJlZm9yZSB7XG4gICAgICAgIG9wYWNpdHk6IDAuNDtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAmOmhvdmVyICZfX2ljb24tcGx1cyB7XG4gICAgICB0cmFuc2Zvcm06IHJvdGF0ZSg5MGRlZyk7XG4gICAgfVxuICB9XG5cbiAgQGluY2x1ZGUgbWVkaWEoZnVsbGhkLWJlZm9yZSkge1xuICAgIG1pbi1oZWlnaHQ6IHZ3LXRvLXB4KDgwMCk7XG5cbiAgICAmX19zdHViIHtcbiAgICAgIGdhcDogdnctdG8tcHgoMTYpO1xuXG4gICAgICAmOjpiZWZvcmUge1xuICAgICAgICBiYWNrZ3JvdW5kOiAkZ3JhZGllbnQtY29udHJhc3QsIHVybCgnLi4vaW1nL2JnL2RvdC13aGl0ZS5zdmcnKSByZXBlYXQgY2VudGVyIC8gMTRweDtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBAaW5jbHVkZSBtZWRpYShxdWFkaGQpIHtcbiAgICBtaW4taGVpZ2h0OiBzaXplKDY0OCk7XG5cbiAgICAmX190b3Age1xuICAgICAgdG9wOiByZW0oMjRweCk7XG4gICAgICBsZWZ0OiByZW0oMjRweCk7XG4gICAgICByaWdodDogcmVtKDI0cHgpO1xuICAgIH1cblxuICAgICZfX2JvdHRvbSB7XG4gICAgICBib3R0b206IHJlbSgyNHB4KTtcbiAgICAgIGxlZnQ6IHJlbSgyNHB4KTtcbiAgICAgIHJpZ2h0OiByZW0oMjRweCk7XG4gICAgfVxuXG4gICAgJl9faW5mbyxcbiAgICAmX190b3Age1xuICAgICAgcGFkZGluZzogcmVtKDI0cHgpO1xuICAgIH1cblxuICAgICZfX3RleHQtYm94IHtcbiAgICAgIG1heC13aWR0aDogc2l6ZSg1MzApO1xuICAgIH1cblxuICAgICZfX3N0dWIge1xuICAgICAgZ2FwOiBzaXplKDgpO1xuICAgIH1cbiAgfVxuXG4gIEBpbmNsdWRlIG1lZGlhKGRlc2t0b3ApIHtcbiAgICAmX19udW1iZXIge1xuICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG5cbiAgICAmX19vcGVuIHtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBmbGV4OiBub25lO1xuICAgICAgcGFkZGluZzogMDtcblxuICAgICAgJjo6YmVmb3JlIHtcbiAgICAgICAgY29udGVudDogJyc7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgaW5zZXQ6IDA7XG4gICAgICAgIHotaW5kZXg6IDE7XG4gICAgICB9XG4gICAgfVxuXG4gICAgJl9faW5mbyB7XG4gICAgICBjb2xvcjogdmFyKC0tY29sb3ItcHJpbWFyeS1jb250cmFzdCk7XG5cbiAgICAgICY6OmJlZm9yZSB7XG4gICAgICAgIGJhY2tncm91bmQ6IHVybCgnLi4vaW1nL2JnL2RvdC1ncmV5LnN2ZycpIHJlcGVhdCBjZW50ZXIgLyA4cHgsIHZhcigtLWNvbG9yLXByaW1hcnkpO1xuICAgICAgfVxuICAgIH1cblxuICAgICYuYWN0aXZlICZfX2luZm8ge1xuICAgICAgb3BhY2l0eTogMTtcbiAgICAgIHotaW5kZXg6IDE7XG4gICAgfVxuXG4gICAgJi5hY3RpdmUgJl9fb3BlbiB7XG4gICAgICB6LWluZGV4OiAwO1xuICAgIH1cblxuICAgICZfX3RleHQge1xuICAgICAgbWF4LXdpZHRoOiBzaXplKDUyNSk7XG4gICAgfVxuXG4gICAgJl9faW5mby1jbG9zZSB7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgdG9wOiByZW0oMTZweCk7XG4gICAgICByaWdodDogcmVtKDE2cHgpO1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY29sb3ItcHJpbWFyeSk7XG4gICAgICBjb2xvcjogdmFyKC0tY29sb3ItcHJpbWFyeS1jb250cmFzdCk7XG4gICAgfVxuXG4gICAgJl9fYXdhcmQge1xuICAgICAgJjo6YmVmb3JlLFxuICAgICAgJjo6YWZ0ZXIge1xuICAgICAgICBmaWx0ZXI6IGJyaWdodG5lc3MoMCUpO1xuICAgICAgfVxuICAgIH1cblxuICAgICZfX2xpbmsge1xuICAgICAgY29sb3I6IHZhcigtLWNvbG9yLXByaW1hcnktY29udHJhc3QpO1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgei1pbmRleDogMTtcblxuICAgICAgJjo6YmVmb3JlIHtcbiAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAmX19sb2dvIHtcbiAgICAgIGZpbHRlcjogaW52ZXJ0KDEpIGdyYXlzY2FsZSgxNTAlKTtcbiAgICB9XG5cbiAgICAmLS1zdHViICZfX2xpbmsge1xuICAgICAgY29sb3I6IHZhcigtLWNvbG9yLXByaW1hcnkpO1xuICAgIH1cbiAgfVxuXG4gIEBpbmNsdWRlIG1lZGlhKHRhYmxldCkge1xuICAgICYtLXN0dWIge1xuICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG4gIH1cblxuICBAaW5jbHVkZSBtZWRpYShwaG9uZSkge1xuICAgIG1pbi1oZWlnaHQ6IHJlbSg0ODBweCk7XG5cbiAgICAmOm5vdCgucHJvamVjdC0tc3R1Yikge1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICB9XG5cbiAgICAmX19jb3ZlciB7XG4gICAgICBwYWRkaW5nOiByZW0oMTZweCk7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgIGdhcDogcmVtKDRweCk7XG4gICAgfVxuXG4gICAgJl9fcGljdHVyZSB7XG4gICAgICBmbGV4LWdyb3c6IDE7XG4gICAgfVxuXG4gICAgJl9fdG9wLFxuICAgICZfX2JvdHRvbSxcbiAgICAmX19waWN0dXJlIHtcbiAgICAgIHBvc2l0aW9uOiBzdGF0aWM7XG4gICAgfVxuXG4gICAgJl9fdG9wIHtcbiAgICAgIHBhZGRpbmc6IDA7XG4gICAgfVxuXG4gICAgJl9faW5mbyB7XG4gICAgICBwYWRkaW5nOiByZW0oMTZweCk7XG4gICAgICBoZWlnaHQ6IGF1dG87XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICB9XG5cbiAgICAmX19pbmZvLWNsb3NlIHtcbiAgICAgIHRvcDogcmVtKDhweCk7XG4gICAgICByaWdodDogcmVtKDhweCk7XG4gICAgfVxuXG4gICAgJl9faW1nIHtcbiAgICAgIG1heC13aWR0aDogMTAwJTtcbiAgICB9XG5cbiAgICAmX19sb2dvIHtcbiAgICAgIGFsaWduLXNlbGY6IGZsZXgtc3RhcnQ7XG4gICAgfVxuICB9XG59XG4iLCIucmV2aWV3cy1zbGlkZXIge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cbiAgJl9fdGh1bWJzIHtcbiAgICB3aWR0aDogcmVtKDY1cHgpO1xuICAgIG1hcmdpbjogMCBhdXRvO1xuXG4gICAgJjpub3QoOmxhc3QtY2hpbGQpIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IGNhbGModmFyKC0tcHktc2VjdGlvbikgKyByZW0oMTBweCkpO1xuICAgIH1cbiAgfVxuXG5cbiAgJl9fdGh1bWIge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcblxuICAgICYuc3dpcGVyLXNsaWRlLWFjdGl2ZSB7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICB6LWluZGV4OiAxO1xuXG4gICAgICAucmV2aWV3cy1zbGlkZXJfX3RodW1iLWNhcmQge1xuICAgICAgICBib3JkZXI6IDFweCBkYXNoZWQgdmFyKC0tY29sb3Itc2Vjb25kYXJ5LWNvbnRyYXN0KTtcbiAgICAgICAgZmlsdGVyOiBncmF5c2NhbGUoMCk7XG4gICAgICAgIHRyYW5zZm9ybTogc2NhbGUoMS44KTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAmLnN3aXBlci1zbGlkZS1uZXh0LnJldmlld3Mtc2xpZGVyX190aHVtYiB7XG4gICAgICB0cmFuc2Zvcm06IHNjYWxlKDEuNSkgdHJhbnNsYXRlWChzaXplKDUpKTtcbiAgICB9XG5cbiAgICAmLnN3aXBlci1zbGlkZS1wcmV2LnJldmlld3Mtc2xpZGVyX190aHVtYiB7XG4gICAgICB0cmFuc2Zvcm06IHNjYWxlKDEuNSkgdHJhbnNsYXRlWChzaXplKC01KSk7XG4gICAgfVxuICB9XG5cbiAgJl9fdGh1bWItY2FyZCB7XG4gICAgYm9yZGVyLXJhZGl1czogNTAlO1xuICAgIGJvcmRlcjogMXB4IGRhc2hlZCB0cmFuc3BhcmVudDtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgcGFkZGluZzogcmVtKDNweCk7XG4gICAgZmlsdGVyOiBncmF5c2NhbGUoMSk7XG4gICAgdHJhbnNmb3JtOiBzY2FsZSgxKTtcbiAgICB0cmFuc2l0aW9uOiBmaWx0ZXIgMC4zcyBlYXNlLCB0cmFuc2Zvcm0gMC4zcyBlYXNlO1xuICB9XG5cbiAgJl9fdGh1bWItaW1nIHtcbiAgICAtLXdpZHRoOiAje3JlbSgzMnB4KX07XG4gICAgLS1yYWRpdXM6IDUwJTtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICB9XG5cbiAgJl9fY2FyZCB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIH1cblxuICAmX190ZXh0IHtcbiAgICBAaW5jbHVkZSB0aXRsZUgzO1xuICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgbWF4LXdpZHRoOiByZW0oNzYwcHgpO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcblxuICAgICY6bm90KDpsYXN0LWNoaWxkKSB7XG4gICAgICBtYXJnaW4tYm90dG9tOiB2YXIoLS1weS1zZWN0aW9uKTtcbiAgICB9XG4gIH1cblxuICAmX19hdXRob3Ige1xuICAgIEBpbmNsdWRlIHRpdGxlSDQ7XG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgIGdhcDogcmVtKDRweCk7XG4gICAgbWF4LXdpZHRoOiByZW0oNzYwcHgpO1xuICB9XG5cbiAgJl9fc3VibmFtZSB7XG4gICAgY29sb3I6IHZhcigtLWNvbG9yLXNlY29uZGFyeS1jb250cmFzdCk7XG4gIH1cblxuICAmX19idG4ge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDUwJTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSk7XG4gICAgei1pbmRleDogMTtcblxuICAgICYtLXByZXYge1xuICAgICAgbGVmdDogMDtcbiAgICB9XG5cbiAgICAmLS1uZXh0IHtcbiAgICAgIHJpZ2h0OiAwO1xuICAgIH1cbiAgfVxuXG4gIEBpbmNsdWRlIG1lZGlhKG5vdGVib29rKSB7XG4gICAgJl9fdGV4dCxcbiAgICAmX19hdXRob3Ige1xuICAgICAgbWF4LXdpZHRoOiByZW0oNTYwcHgpO1xuICAgIH1cblxuICAgICZfX2J0biB7XG4gICAgICAmLS1wcmV2IHtcbiAgICAgICAgbGVmdDogcmVtKDhweCk7XG4gICAgICB9XG5cbiAgICAgICYtLW5leHQge1xuICAgICAgICByaWdodDogcmVtKDhweCk7XG4gICAgICB9XG4gICAgfVxuICB9XG4gIEBpbmNsdWRlIG1lZGlhKHRhYmxldCkge1xuICAgICZfX3RleHQsXG4gICAgJl9fYXV0aG9yIHtcbiAgICAgIG1heC13aWR0aDogcmVtKDQ2MHB4KTtcbiAgICB9XG4gIH1cblxuICBAaW5jbHVkZSBtZWRpYShwaG9uZSkge1xuICAgICZfX2J0biB7XG4gICAgICBkaXNwbGF5OiBub25lO1xuICAgIH1cblxuICAgICZfX2NhcmQge1xuICAgICAgcGFkZGluZzogMCB2YXIoLS1tYWluLXBhZGRpbmcpO1xuICAgIH1cbiAgfVxufVxuIiwiLnN0YWNrIHtcbiAgJl9fbGlzdCB7XG4gICAgQGluY2x1ZGUgaGlkZS1zY3JvbGw7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBnYXA6IHJlbSgxNnB4KTtcbiAgICByb3ctZ2FwOiByZW0oNXB4KTtcbiAgICBmbGV4LXdyYXA6IHdyYXA7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgb3ZlcmZsb3cteDogYXV0bztcbiAgfVxuXG4gICZfX2l0ZW0ge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZ2FwOiByZW0oOHB4KTtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuXG4gICAgJjpub3QoOmxhc3QtY2hpbGQpIHtcbiAgICAgICY6OmFmdGVyIHtcbiAgICAgICAgY29udGVudDogJyc7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICBtYXJnaW4tbGVmdDogcmVtKDhweCk7XG4gICAgICAgIHdpZHRoOiAxcHg7XG4gICAgICAgIGhlaWdodDogcmVtKDEycHgpO1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jb2xvci1ib3JkZXItcHJpbWFyeSk7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgJl9fbmFtZSB7XG4gICAgQGluY2x1ZGUgdGl0bGVINTtcbiAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gIH1cblxuICAmX19pY29uIHtcbiAgICAtLW9iamVjdC1maXQ6IGNvbnRhaW47XG4gICAgLS1vYmplY3QtcG9zaXRpb246IGNlbnRlcjtcbiAgICB3aWR0aDogcmVtKDMycHgpO1xuICAgIGhlaWdodDogcmVtKDI0cHgpO1xuICAgIGZsZXg6IG5vbmU7XG4gIH1cblxuICAmLS1ncmV5IHtcbiAgICBjb2xvcjogdmFyKC0tY29sb3Itc2Vjb25kYXJ5KTtcbiAgfVxuXG4gICYtLXN0YXJ0IHtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7XG4gIH1cblxuICAmLS1sICZfX2ljb24ge1xuICAgIHdpZHRoOiByZW0oMzJweCk7XG4gICAgaGVpZ2h0OiByZW0oMzJweCk7XG4gIH1cblxuICAmLS1sIHtcbiAgICBnYXA6IHJlbSgyNHB4KTtcbiAgfVxuXG4gICYtLWwgJl9fbmFtZSB7XG4gICAgQGluY2x1ZGUgdGV4dFhMO1xuICB9XG5cbiAgJi0tZGVmYXVsdCAmX19pdGVtIHtcbiAgICAmOm5vdCg6bGFzdC1jaGlsZCk6OmFmdGVyIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxuICB9XG5cbiAgQGluY2x1ZGUgbWVkaWEocGhvbmUpIHtcbiAgICAmLS1sICZfX2ljb24ge1xuICAgICAgd2lkdGg6IHJlbSgyNHB4KTtcbiAgICAgIGhlaWdodDogcmVtKDI0cHgpO1xuICAgIH1cbiAgfVxufVxuIiwiLnN0aWNreS1uYXYge1xuICB3aWR0aDogMTAwJTtcbiAgcGFkZGluZzogMCB2YXIoLS1tYWluLXBhZGRpbmcpO1xuICBwb3NpdGlvbjogZml4ZWQ7XG4gIHRvcDogdmFyKC0taGVhZGVyLWhlaWdodCk7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGdhcDogcmVtKDE2cHgpO1xuICBmbGV4LXdyYXA6IHdyYXA7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICBiYWNrZ3JvdW5kOiB2YXIoLS1jb2xvci1wcmltYXJ5LWNvbnRyYXN0KTtcbiAgei1pbmRleDogdmFyKC0tei1tZW51KTtcbiAgdHJhbnNpdGlvbjogb3BhY2l0eSAwLjNzIGVhc2UsIHRyYW5zZm9ybSAwLjNzIGVhc2U7XG5cbiAgJl9fZWxlbSB7XG4gICAgQGluY2x1ZGUgdGV4dFhTO1xuICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgIGNvbG9yOiB2YXIoLS1jb2xvci1zZWNvbmRhcnkpO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZ2FwOiByZW0oOHB4KTtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuXG4gICAgJjpub3QoOmxhc3QtY2hpbGQpIHtcbiAgICAgICY6OmFmdGVyIHtcbiAgICAgICAgY29udGVudDogJyc7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICBtYXJnaW4tbGVmdDogcmVtKDhweCk7XG4gICAgICAgIHdpZHRoOiAxcHg7XG4gICAgICAgIGhlaWdodDogcmVtKDEycHgpO1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jb2xvci1ib3JkZXItcHJpbWFyeSk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgJi5hY3RpdmUge1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gICAgICAuc3RpY2t5LW5hdl9fdGV4dCB7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgIH1cblxuICAgICAgLnN0aWNreS1uYXZfX3RleHQ6OmJlZm9yZSB7XG4gICAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICB0b3A6IDA7XG4gICAgICAgIGxlZnQ6IDA7XG4gICAgICAgIHJpZ2h0OiAwO1xuICAgICAgICBoZWlnaHQ6IDFweDtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY29sb3ItcHJpbWFyeSk7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgJl9fdGV4dCB7XG4gICAgcGFkZGluZzogcmVtKDEycHgpIDA7XG4gIH1cblxuICAmLmlzLWhpZGRlbiB7XG4gICAgb3BhY2l0eTogMDtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTEwMCUpO1xuICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICB9XG5cbiAgQGluY2x1ZGUgbWVkaWEodGFibGV0KSB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxufVxuIiwiLnRlYW0tY2FyZCB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGdhcDogcmVtKDQwcHgpO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jb2xvci1wcmltYXJ5LWNvbnRyYXN0KTtcbiAgd2lkdGg6IDEwMCU7XG5cbiAgJl9faGVhZGVyIHtcbiAgICBmbGV4OiAwIDAgNDglO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1jb2xvci1ib3JkZXItcHJpbWFyeSk7XG4gICAgaGVpZ2h0OiBzaXplKDc1MCk7XG4gICAgdHJhbnNpdGlvbjogYm9yZGVyLWNvbG9yIDAuM3M7XG5cbiAgICAmLmFjdGl2ZSB7XG4gICAgICBib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1jb2xvci1wcmltYXJ5KTtcblxuICAgICAgLnRlYW0tY2FyZF9fYXNjaWkge1xuICAgICAgICBvcGFjaXR5OiAxO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gICZfX2hlYWRlci5hY3RpdmUgJl9fYm90dG9tICZfX3RleHQge1xuICAgIGJveC1zaGFkb3c6IDAgMCA2N3B4IDM1cHggdmFyKC0tY29sb3ItcHJpbWFyeS1jb250cmFzdCk7XG4gICAgYmFja2dyb3VuZDogdmFyKC0tY29sb3Itc2Vjb25kYXJ5LTgwKTtcbiAgfVxuXG4gICZfX3BpY3R1cmUge1xuICAgIGhlaWdodDogMTAwJTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jb2xvci1wcmltYXJ5LWNvbnRyYXN0KTtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgfVxuXG4gICZfX2ltZyB7XG4gICAgLS1hc3BlY3QtcmF0aW86IDU4MC83NTA7XG4gICAgLS1vYmplY3QtZml0OiBjb3ZlcjtcbiAgICAtLW9iamVjdC1wb3NpdGlvbjogdG9wO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIGhlaWdodDogMTAwJTtcbiAgICB3aWR0aDogMTAwJTtcbiAgfVxuXG4gICZfX2FzY2lpIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAwO1xuICAgIGxlZnQ6IDA7XG4gICAgcmlnaHQ6IDA7XG4gICAgYm90dG9tOiAwO1xuICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWNvbG9yLXByaW1hcnktY29udHJhc3QpO1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogZmxleC1lbmQ7XG4gICAgb3BhY2l0eTogMDtcbiAgICB0cmFuc2l0aW9uOiBvcGFjaXR5IDAuM3M7XG4gIH1cblxuICAmX19hc2NpaS1wcmUge1xuICAgIEBpbmNsdWRlIHRleHRQcmVNaWRkbGU7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAwO1xuICAgIGxlZnQ6IDUwJTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTUwJSk7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgd2lkdGg6IGF1dG87XG4gICAgbWFyZ2luOiAwIGF1dG87XG5cbiAgICBjb2RlIHtcbiAgICAgIEBpbmNsdWRlIHRleHRQcmVNaWRkbGU7XG4gICAgfVxuICB9XG5cbiAgJl9fdG9wIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiByZW0oOHB4KTtcbiAgICBsZWZ0OiByZW0oOHB4KTtcbiAgICByaWdodDogcmVtKDhweCk7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gICAgei1pbmRleDogMTtcbiAgfVxuXG4gICZfX2JvdHRvbSB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIGJvdHRvbTogcmVtKDhweCk7XG4gICAgbGVmdDogcmVtKDhweCk7XG4gICAgcmlnaHQ6IHJlbSg4cHgpO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGZsZXgtZW5kO1xuICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgfVxuXG4gICZfX3RleHQge1xuICAgIEBpbmNsdWRlIHRleHRYWFM7XG4gIH1cblxuICAmX19za2lsbHMge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gICAgY29sdW1uLWdhcDogcmVtKDVweCk7XG4gICAgZmxleC13cmFwOiB3cmFwO1xuICAgIHdpZHRoOiBzaXplKDkwKTtcbiAgfVxuXG4gICZfX3NraWxsIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG5cbiAgICAmOmZpcnN0LWNoaWxkIHtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgIH1cblxuICAgICY6OmJlZm9yZSB7XG4gICAgICBjb250ZW50OiAnPic7XG4gICAgICBwYWRkaW5nLXJpZ2h0OiByZW0oNXB4KTtcbiAgICB9XG4gIH1cblxuICAmX19oaW50IHtcbiAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICB9XG5cbiAgJl9fc3VidGl0bGUge1xuICAgIEBpbmNsdWRlIHRpdGxlSDU7XG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgfVxuXG4gICZfX3RpdGxlIHtcbiAgICBAaW5jbHVkZSB0aXRsZUgxO1xuICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gIH1cblxuICAmX19ib2R5IHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgZ2FwOiByZW0oMjRweCk7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY29sb3ItcHJpbWFyeS1jb250cmFzdCk7XG4gIH1cblxuICAmX19jb250ZW50IHtcbiAgICBtYXJnaW4tdG9wOiBhdXRvO1xuXG4gICAgcDpub3QoW2NsYXNzXSkge1xuICAgICAgQGluY2x1ZGUgdGV4dE07XG4gICAgICBmb250LWZhbWlseTogJGZvbnQtZmFtaWx5LXNlY29uZGFyeTtcbiAgICB9XG4gIH1cblxuICAmX19pY29ucyB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LXdyYXA6IHdyYXA7XG4gICAgY29sdW1uLWdhcDogcmVtKDE2cHgpO1xuICB9XG5cbiAgJl9faWNvbi1ib3gge1xuICAgIG1hcmdpbjogcmVtKDZweCkgMDtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGdhcDogcmVtKDE2cHgpO1xuICAgIG9wYWNpdHk6IDAuNDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIG1heC1oZWlnaHQ6IHJlbSgyMHB4KTtcblxuICAgICY6bm90KDpsYXN0LWNoaWxkKSB7XG4gICAgICAmOjphZnRlciB7XG4gICAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgaGVpZ2h0OiAxMnB4O1xuICAgICAgICB3aWR0aDogMXB4O1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jb2xvci1wcmltYXJ5KTtcbiAgICAgICAgZmxleDogbm9uZTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAmX19pY29uIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICB3aWR0aDogYXV0bztcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgb2JqZWN0LWZpdDogY29udGFpbjtcbiAgICBtYXgtd2lkdGg6IHJlbSg3NXB4KTtcbiAgICBmbGV4OiBub25lO1xuICB9XG5cbiAgQGluY2x1ZGUgbWVkaWEocXVhZGhkKSB7XG4gICAgJl9faGVhZGVyIHtcbiAgICAgIGZsZXg6IDAgMCA0NyU7XG4gICAgICBoZWlnaHQ6IHJlbSg1NjBweCk7XG4gICAgfVxuXG4gICAgJl9fYm9keSB7XG4gICAgICBnYXA6IHJlbSgxNnB4KTtcbiAgICB9XG4gIH1cblxuICBAaW5jbHVkZSBtZWRpYShoZCkge1xuICAgIGdhcDogcmVtKDIwcHgpO1xuXG4gICAgJl9faGVhZGVyIHtcbiAgICAgIGZsZXg6IDAgMCAzNSU7XG4gICAgICBoZWlnaHQ6IHJlbSg0NjBweCk7XG4gICAgfVxuICB9XG5cbiAgQGluY2x1ZGUgbWVkaWEodGFibGV0KSB7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICBnYXA6IHJlbSg0OHB4KTtcbiAgICBoZWlnaHQ6IDEwMCU7XG5cbiAgICAmX19oZWFkZXIge1xuICAgICAgaGVpZ2h0OiByZW0oNTYwcHgpO1xuICAgICAgZmxleDogMCAwIGF1dG87XG4gICAgfVxuXG4gICAgJl9fYm9keSB7XG4gICAgICBtYXJnaW4tcmlnaHQ6IHNpemUoLTIxNik7XG4gICAgICBmbGV4LWdyb3c6IDE7XG4gICAgfVxuXG4gICAgJl9faW1nIHtcbiAgICAgIC0tYXNwZWN0LXJhdGlvOiBhdXRvO1xuICAgIH1cbiAgfVxuXG4gIEBpbmNsdWRlIG1lZGlhKHBob25lKSB7XG4gICAgZ2FwOiByZW0oMzJweCk7XG5cbiAgICAmX19oZWFkZXIge1xuICAgICAgaGVpZ2h0OiBhdXRvO1xuICAgIH1cblxuICAgICZfX2JvZHkge1xuICAgICAgbWFyZ2luLXJpZ2h0OiAwO1xuICAgICAgZ2FwOiByZW0oMTJweCk7XG4gICAgfVxuXG4gICAgJl9faW1nIHtcbiAgICAgIGhlaWdodDogc2l6ZSg0NjUpO1xuICAgIH1cbiAgfVxufVxuIiwiLnRlYW0tc2xpZGVyLXRodW1icyB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICAmX19zbGlkZSB7XG4gICAgcGFkZGluZzogMnB4O1xuICAgIGhlaWdodDogZml0LWNvbnRlbnQ7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgfVxuXG4gICZfX3NsaWRlLnN3aXBlci1zbGlkZS10aHVtYi1hY3RpdmUgJl9fb3ZlcmxheSB7XG4gICAgb3BhY2l0eTogMDtcbiAgfVxuXG4gICZfX292ZXJsYXkge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IC0xcHg7XG4gICAgbGVmdDogLTFweDtcbiAgICByaWdodDogLTFweDtcbiAgICBib3R0b206IC0xcHg7XG4gICAgYmFja2dyb3VuZDogdmFyKC0tY29sb3Itc2Vjb25kYXJ5LTYwKTtcbiAgICBvcGFjaXR5OiAxO1xuICAgIHRyYW5zaXRpb246IG9wYWNpdHkgMC4ycyBlYXNlLWluO1xuICB9XG5cbiAgJl9fY2FyZCB7XG4gICAgLS1hc3BlY3QtcmF0aW86IDE1MC8xNTA7XG4gICAgLS1vYmplY3QtZml0OiBjb3ZlcjtcbiAgICAtLW9iamVjdC1wb3NpdGlvbjogdG9wO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuXG4gICAgd2lkdGg6IHJlbSgxNTBweCk7XG4gIH1cblxuICAmX19udW1iZXIge1xuICAgIEBpbmNsdWRlIHRleHROYW5vO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IHJlbSg0cHgpO1xuICAgIGxlZnQ6IHJlbSg0cHgpO1xuICB9XG5cbiAgJl9fbmFtZSB7XG4gICAgQGluY2x1ZGUgdGV4dE5hbm87XG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgYm90dG9tOiByZW0oNHB4KTtcbiAgICBsZWZ0OiByZW0oNHB4KTtcbiAgICBvcGFjaXR5OiAwO1xuICB9XG5cbiAgQGluY2x1ZGUgbWVkaWEoaG92ZXIpIHtcbiAgICAmX19zbGlkZTpob3ZlciAmX19vdmVybGF5IHtcbiAgICAgIG9wYWNpdHk6IDA7XG4gICAgfVxuXG4gICAgJl9fc2xpZGU6aG92ZXIgJl9fbmFtZSB7XG4gICAgICBvcGFjaXR5OiAxO1xuICAgIH1cbiAgfVxuXG4gIEBpbmNsdWRlIG1lZGlhKGZ1bGxoZC1iZWZvcmUpIHtcbiAgICAmX19jYXJkIHtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgIH1cbiAgfVxuXG4gIEBpbmNsdWRlIG1lZGlhKHF1YWRoZCkge1xuICAgICZfX2NhcmQge1xuICAgICAgLS1hc3BlY3QtcmF0aW86IDEwOC8xMDg7XG4gICAgICB3aWR0aDogc2l6ZSgxMDgpO1xuICAgIH1cbiAgfVxuXG4gIEBpbmNsdWRlIG1lZGlhKHBob25lLWJlZm9yZSkge1xuICAgICZfX3NsaWRlIHtcbiAgICAgIC8vIHN0eWxlbGludC1kaXNhYmxlXG4gICAgICB3aWR0aDogMTAwJSAhaW1wb3J0YW50O1xuICAgIH1cbiAgfVxuXG4gIEBpbmNsdWRlIG1lZGlhKHBob25lKSB7XG4gICAgJl9fY2FyZCB7XG4gICAgICAtLWFzcGVjdC1yYXRpbzogMTA4LzEwODtcbiAgICAgIHdpZHRoOiBzaXplKDEwOCk7XG4gICAgICAvLyBpUGhvbmUxMiDQvdC1INGA0LDQsdC+0YLQsNC10YIgYXNwZWN0LXJhdGlvXG4gICAgICBoZWlnaHQ6IGNhbGMoc2l6ZSgxMDgpICogMS8xKTtcbiAgICB9XG5cbiAgfVxufVxuIiwiLmFkZC1zZWN0aW9uIHtcbiAgJl9fZ3JpZCB7XG4gICAgZGlzcGxheTogZ3JpZDtcbiAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IG1pbm1heCgwLCAxZnIpIG1pbm1heCgwLCAxZnIpO1xuICAgIGJvcmRlci10b3A6IDFweCBzb2xpZCB2YXIoLS1jb2xvci1ib3JkZXItcHJpbWFyeSk7XG4gICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIHZhcigtLWNvbG9yLWJvcmRlci1wcmltYXJ5KTtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIH1cblxuICAmX19lbGVtIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICAgIGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0O1xuICAgIG1pbi1oZWlnaHQ6IHNpemUoNTAwKTtcbiAgICBwYWRkaW5nOiBzaXplKDMyKSAwO1xuICAgIHBhZGRpbmctbGVmdDogMDtcblxuICAgICY6bnRoLWNoaWxkKGV2ZW4pIHtcbiAgICAgIHBhZGRpbmctbGVmdDogc2l6ZSgzMik7XG4gICAgfVxuICB9XG5cbiAgJl9fdGl0bGUge1xuICAgIEBpbmNsdWRlIHRpdGxlSDM7XG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICBtYXgtd2lkdGg6IHNpemUoNDgwKTtcbiAgfVxuXG4gICZfX3RleHQge1xuICAgIEBpbmNsdWRlIHRleHRMO1xuICAgIG1heC13aWR0aDogc2l6ZSg0ODApO1xuICB9XG5cbiAgJl9fYnRuLW1vYmlsZSB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxuXG4gIEBpbmNsdWRlIG1lZGlhKHRhYmxldCkge1xuICAgICZfX2VsZW0ge1xuICAgICAgbWluLWhlaWdodDogc2l6ZSg0MDApO1xuICAgICAgcGFkZGluZzogc2l6ZSgyNCkgMDtcblxuICAgICAgJjpudGgtY2hpbGQoZXZlbikge1xuICAgICAgICBwYWRkaW5nLWxlZnQ6IHNpemUoMjQpO1xuICAgICAgfVxuXG4gICAgICAmOm50aC1jaGlsZChvZGQpIHtcbiAgICAgICAgcGFkZGluZy1yaWdodDogc2l6ZSgyNCk7XG4gICAgICB9XG5cbiAgICAgICY6bm90KDpmaXJzdC1jaGlsZCkge1xuICAgICAgICBib3JkZXItdG9wOiAxcHggc29saWQgdmFyKC0tY29sb3ItcHJpbWFyeS1jb250cmFzdCk7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgQGluY2x1ZGUgbWVkaWEoc21hcnRwaG9uZSkge1xuICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWNvbG9yLXByaW1hcnkpO1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCgnLi4vaW1nL2JnL2RvdC1ncmV5LnN2ZycpO1xuICAgIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlcjtcbiAgICBiYWNrZ3JvdW5kLXNpemU6IDhweDtcbiAgICBjb2xvcjogdmFyKC0tY29sb3ItcHJpbWFyeS1jb250cmFzdCk7XG5cbiAgICAmX19ncmlkIHtcbiAgICAgIGJvcmRlcjogbm9uZTtcbiAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogMWZyO1xuICAgICAgbWFyZ2luLWxlZnQ6IGNhbGModmFyKC0tbWFpbi1wYWRkaW5nKSAqIC0xKTtcbiAgICAgIG1hcmdpbi1yaWdodDogY2FsYyh2YXIoLS1tYWluLXBhZGRpbmcpICogLTEpO1xuICAgIH1cblxuICAgICZfX2RlY29yIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxuXG4gICAgJl9fZWxlbSB7XG4gICAgICBtaW4taGVpZ2h0OiBzaXplKDI3MCk7XG4gICAgICBwYWRkaW5nOiBzaXplKDE2KTtcblxuICAgICAgJjpudGgtY2hpbGQob2RkKSB7XG4gICAgICAgIHBhZGRpbmctcmlnaHQ6IHNpemUoMTYpO1xuICAgICAgfVxuXG4gICAgICAmOm50aC1jaGlsZChldmVuKSB7XG4gICAgICAgIHBhZGRpbmctbGVmdDogc2l6ZSgxNik7XG4gICAgICB9XG4gICAgfVxuXG4gICAgJl9fYnRuLW1vYmlsZSB7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgIH1cblxuICAgICZfX2J0bi1kZWNrIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxuICB9XG59XG4iLCIuY2F0YWxvZy1zZWN0aW9uIHtcbiAgJl9fbGluZSB7XG4gICAgbWFyZ2luLXRvcDogc2l6ZSgzNTApO1xuICAgIG1hcmdpbi1ib3R0b206IHNpemUoNzIpO1xuICB9XG5cbiAgJl9fZ3JpZCB7XG4gICAgZGlzcGxheTogZ3JpZDtcbiAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdCgzLCBtaW5tYXgoMCwgMWZyKSk7XG4gICAgZ2FwOiAxcHg7XG4gICAgYm9yZGVyOiAxcHggZGFzaGVkIHZhcigtLWNvbG9yLWJvcmRlci1wcmltYXJ5KTtcbiAgICBib3JkZXItcmlnaHQ6IG5vbmU7XG5cbiAgICAmOmhhcyg6aG92ZXIpIC5wcm9kdWN0OjpiZWZvcmUge1xuICAgICAgb3BhY2l0eTogMDtcbiAgICB9XG4gIH1cblxuICAmX19lbGVtIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jb2xvci1wcmltYXJ5LWNvbnRyYXN0KTtcbiAgICBib3JkZXItcmlnaHQ6IDFweCBkYXNoZWQgdmFyKC0tY29sb3ItYm9yZGVyLXByaW1hcnkpO1xuXG4gICAgJjpudGgtY2hpbGQobis0KSB7XG4gICAgICBib3JkZXItdG9wOiAxcHggZGFzaGVkIHZhcigtLWNvbG9yLWJvcmRlci1wcmltYXJ5KTtcbiAgICB9XG5cbiAgICAvLyDQstGB0LUg0Y3Qu9C10LzQtdC90YLRiyDQvdCw0YfQuNC90LDRjyDRgSA0LCDQvdC+INC90LUgNiw5LDEyXG4gICAgJjpudGgtY2hpbGQobis0KTpub3QoOm50aC1jaGlsZCgzbiszKSkge1xuICAgICAgJjo6YmVmb3JlIHtcbiAgICAgICAgY29udGVudDogJyc7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHRvcDogLTFweDtcbiAgICAgICAgcmlnaHQ6IC0xcHg7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKDUwJSwgLTUwJSk7XG4gICAgICAgIHdpZHRoOiAxMHB4O1xuICAgICAgICBoZWlnaHQ6IDEwcHg7XG4gICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCgnLi4vaW1nL2JnL2Nvbm5lY3Rpb24tMi5zdmcnKTtcbiAgICAgICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyO1xuICAgICAgICBiYWNrZ3JvdW5kLXNpemU6IDEwMCUgMTAwJTtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY29sb3ItcHJpbWFyeS1jb250cmFzdCk7XG4gICAgICAgIHotaW5kZXg6IDE7XG4gICAgICAgIHRyYW5zaXRpb246IG9wYWNpdHkgMC4zcztcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAmX19ib3gge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgfVxuXG4gICZfX2JveDpoYXMoOmhvdmVyKSAmX19ob3ZlciB7XG4gICAgb3BhY2l0eTogMTtcbiAgfVxuXG4gICZfX2hvdmVyIHtcbiAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAwO1xuICAgIGxlZnQ6IDA7XG4gICAgei1pbmRleDogMTtcbiAgICBvcGFjaXR5OiAwO1xuICAgIHRyYW5zaXRpb246IG9wYWNpdHkgMC4xcztcbiAgfVxuXG4gIEBpbmNsdWRlIG1lZGlhKGZ1bGxoZC1iZWZvcmUpIHtcbiAgICAmX19saW5lIHtcbiAgICAgIG1hcmdpbi10b3A6IHZ3LXRvLXB4KDM1MCk7XG4gICAgICBtYXJnaW4tYm90dG9tOiB2dy10by1weCg3Mik7XG4gICAgfVxuICB9XG5cbiAgQGluY2x1ZGUgbWVkaWEocXVhZGhkKSB7XG4gICAgJl9fbGluZSB7XG4gICAgICBtYXJnaW4tdG9wOiBzaXplKDI1MCk7XG4gICAgICBtYXJnaW4tYm90dG9tOiBzaXplKDU2KTtcbiAgICB9XG4gIH1cblxuICBAaW5jbHVkZSBtZWRpYSh0YWJsZXQpIHtcbiAgICAmX19saW5lIHtcbiAgICAgIG1hcmdpbi10b3A6IHNpemUoMTkwKTtcbiAgICAgIG1hcmdpbi1ib3R0b206IHNpemUoNDgpO1xuICAgIH1cblxuICAgICZfX2dyaWQge1xuICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoMiwgbWlubWF4KDAsIDFmcikpO1xuICAgIH1cblxuICAgICZfX2VsZW0ge1xuICAgICAgJjpudGgtY2hpbGQobiszKSB7XG4gICAgICAgIGJvcmRlci10b3A6IDFweCBkYXNoZWQgdmFyKC0tY29sb3ItYm9yZGVyLXByaW1hcnkpO1xuICAgICAgfVxuXG4gICAgICAmOm50aC1jaGlsZChuKzQpOm5vdCg6bnRoLWNoaWxkKDNuKzMpKTo6YmVmb3JlIHtcbiAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgIH1cblxuICAgICAgJjpudGgtY2hpbGQobisyKTpudGgtY2hpbGQob2RkKTo6YmVmb3JlIHtcbiAgICAgICAgY29udGVudDogJyc7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHRvcDogMDtcbiAgICAgICAgcmlnaHQ6IDA7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKDUwJSwgLTUwJSk7XG4gICAgICAgIHdpZHRoOiAxMHB4O1xuICAgICAgICBoZWlnaHQ6IDEwcHg7XG4gICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCgnLi4vaW1nL2JnL2Nvbm5lY3Rpb24tMi5zdmcnKTtcbiAgICAgICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyO1xuICAgICAgICBiYWNrZ3JvdW5kLXNpemU6IDEwMCUgMTAwJTtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY29sb3ItcHJpbWFyeS1jb250cmFzdCk7XG4gICAgICAgIHotaW5kZXg6IDE7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgQGluY2x1ZGUgbWVkaWEocGhvbmUpIHtcbiAgICAmX19saW5lIHtcbiAgICAgIG1hcmdpbi10b3A6IHNpemUoMTEwKTtcbiAgICAgIG1hcmdpbi1ib3R0b206IHNpemUoMzIpO1xuICAgIH1cblxuICAgICZfX2dyaWQge1xuICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiBtaW5tYXgoMCwgMWZyKTtcbiAgICB9XG5cbiAgICAmX19lbGVtIHtcbiAgICAgICY6bnRoLWNoaWxkKG4rMikge1xuICAgICAgICBib3JkZXItdG9wOiAxcHggZGFzaGVkIHZhcigtLWNvbG9yLWJvcmRlci1wcmltYXJ5KTtcbiAgICAgIH1cblxuICAgICAgJjpudGgtY2hpbGQobisyKTpudGgtY2hpbGQob2RkKTo6YmVmb3JlIHtcbiAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiIsIi5jbGllbnRzLXNlY3Rpb24ge1xuICBjb2xvcjogdmFyKC0tY29sb3ItcHJpbWFyeS1jb250cmFzdCk7XG5cbiAgJl9fbGlzdCB7XG4gICAgZGlzcGxheTogZ3JpZDtcbiAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdCg0LCBtaW5tYXgoMCwgMWZyKSk7XG4gICAgYm9yZGVyOiAxcHggZGFzaGVkIHZhcigtLWNvbG9yLWJvcmRlci1zZWNvbmRhcnkpO1xuICAgIGJvcmRlci1yaWdodDogbm9uZTtcbiAgICBjb3VudGVyLXJlc2V0OiBjbGllbnQ7XG4gIH1cblxuICAmX19lbGVtIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgYm9yZGVyLXJpZ2h0OiAxcHggZGFzaGVkIHZhcigtLWNvbG9yLWJvcmRlci1zZWNvbmRhcnkpO1xuXG4gICAgJjpudGgtY2hpbGQobis1KSB7XG4gICAgICBib3JkZXItdG9wOiAxcHggZGFzaGVkIHZhcigtLWNvbG9yLWJvcmRlci1zZWNvbmRhcnkpO1xuICAgIH1cblxuICAgIC8vINCy0YHQtSDRjdC70LXQvNC10L3RgtGLINC90LDRh9C40L3QsNGPINGBIDUsINC90L4g0L3QtSA4LDEyLDE2XG4gICAgJjpudGgtY2hpbGQobis1KTpub3QoOm50aC1jaGlsZCg0bis0KSkge1xuICAgICAgJjo6YmVmb3JlIHtcbiAgICAgICAgY29udGVudDogJyc7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHRvcDogLTFweDtcbiAgICAgICAgcmlnaHQ6IC0xcHg7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKDUwJSwgLTUwJSk7XG4gICAgICAgIHdpZHRoOiAxMHB4O1xuICAgICAgICBoZWlnaHQ6IDEwcHg7XG4gICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCgnLi4vaW1nL2JnL2Nvbm5lY3Rpb24tYmxhY2suc3ZnJyk7XG4gICAgICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gICAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlcjtcbiAgICAgICAgYmFja2dyb3VuZC1zaXplOiAxMDAlIDEwMCU7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWNvbG9yLXByaW1hcnkpO1xuICAgICAgICB6LWluZGV4OiAxO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gICZfX2JveCB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gICAgJjpub3QoOmZpcnN0LWNoaWxkKSB7XG4gICAgICBtYXJnaW4tdG9wOiBzaXplKDE1MCk7XG4gICAgfVxuICB9XG5cbiAgJl9fY29ybmVycyB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIGluc2V0OiAwO1xuICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICB9XG5cbiAgJl9fY29ybmVyIHtcbiAgICB3aWR0aDogc2l6ZSgxMik7XG4gICAgaGVpZ2h0OiBzaXplKDEyKTtcbiAgICBib3JkZXI6IDFweCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG5cbiAgICAmLS10bCB7XG4gICAgICB0b3A6IDA7XG4gICAgICBsZWZ0OiAwO1xuICAgICAgYm9yZGVyLXRvcC1jb2xvcjogdmFyKC0tY29sb3ItcHJpbWFyeS1jb250cmFzdCk7XG4gICAgICBib3JkZXItbGVmdC1jb2xvcjogdmFyKC0tY29sb3ItcHJpbWFyeS1jb250cmFzdCk7XG4gICAgfVxuXG4gICAgJi0tdHIge1xuICAgICAgdG9wOiAwO1xuICAgICAgcmlnaHQ6IDA7XG4gICAgICBib3JkZXItdG9wLWNvbG9yOiB2YXIoLS1jb2xvci1wcmltYXJ5LWNvbnRyYXN0KTtcbiAgICAgIGJvcmRlci1yaWdodC1jb2xvcjogdmFyKC0tY29sb3ItcHJpbWFyeS1jb250cmFzdCk7XG4gICAgfVxuXG4gICAgJi0tYmwge1xuICAgICAgYm90dG9tOiAwO1xuICAgICAgbGVmdDogMDtcbiAgICAgIGJvcmRlci1sZWZ0LWNvbG9yOiB2YXIoLS1jb2xvci1wcmltYXJ5LWNvbnRyYXN0KTtcbiAgICAgIGJvcmRlci1ib3R0b20tY29sb3I6IHZhcigtLWNvbG9yLXByaW1hcnktY29udHJhc3QpO1xuICAgIH1cblxuICAgICYtLWJyIHtcbiAgICAgIGJvdHRvbTogMDtcbiAgICAgIHJpZ2h0OiAwO1xuICAgICAgYm9yZGVyLWJvdHRvbS1jb2xvcjogdmFyKC0tY29sb3ItcHJpbWFyeS1jb250cmFzdCk7XG4gICAgICBib3JkZXItcmlnaHQtY29sb3I6IHZhcigtLWNvbG9yLXByaW1hcnktY29udHJhc3QpO1xuICAgIH1cbiAgfVxuXG4gIEBpbmNsdWRlIG1lZGlhKGZ1bGxoZC1iZWZvcmUpIHtcbiAgICAmX19ib3gge1xuICAgICAgJjpub3QoOmZpcnN0LWNoaWxkKSB7XG4gICAgICAgIG1hcmdpbi10b3A6IHZ3LXRvLXB4KDE1MCk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgJl9fY29ybmVyIHtcbiAgICAgIHdpZHRoOiB2dy10by1weCgxMik7XG4gICAgICBoZWlnaHQ6IHZ3LXRvLXB4KDEyKTtcbiAgICB9XG4gIH1cblxuICBAaW5jbHVkZSBtZWRpYShxdWFkaGQpIHtcbiAgICAmX19ib3gge1xuICAgICAgJjpub3QoOmZpcnN0LWNoaWxkKSB7XG4gICAgICAgIG1hcmdpbi10b3A6IHNpemUoMTA0KTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBAaW5jbHVkZSBtZWRpYSh0YWJsZXQpIHtcbiAgICAmX19saXN0IHtcbiAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KDIsIG1pbm1heCgwLCAxZnIpKTtcbiAgICB9XG5cbiAgICAmX19lbGVtIHtcbiAgICAgICY6bnRoLWNoaWxkKG4rMykge1xuICAgICAgICBib3JkZXItdG9wOiAxcHggZGFzaGVkIHZhcigtLWNvbG9yLWJvcmRlci1zZWNvbmRhcnkpO1xuICAgICAgfVxuXG4gICAgICAmOm50aC1jaGlsZChuKzUpOm5vdCg6bnRoLWNoaWxkKDRuKzQpKTo6YmVmb3JlIHtcbiAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgIH1cblxuICAgICAgJjpudGgtY2hpbGQobisyKTpudGgtY2hpbGQob2RkKTo6YmVmb3JlIHtcbiAgICAgICAgY29udGVudDogJyc7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHRvcDogLTFweDtcbiAgICAgICAgcmlnaHQ6IC0xcHg7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKDUwJSwgLTUwJSk7XG4gICAgICAgIHdpZHRoOiAxMHB4O1xuICAgICAgICBoZWlnaHQ6IDEwcHg7XG4gICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCgnLi4vaW1nL2JnL2Nvbm5lY3Rpb24tYmxhY2suc3ZnJyk7XG4gICAgICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gICAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlcjtcbiAgICAgICAgYmFja2dyb3VuZC1zaXplOiAxMDAlIDEwMCU7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWNvbG9yLXByaW1hcnkpO1xuICAgICAgICB6LWluZGV4OiAxO1xuICAgICAgICBvcGFjaXR5OiAxO1xuICAgICAgICB0cmFuc2l0aW9uOiBvcGFjaXR5IDAuM3M7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgQGluY2x1ZGUgbWVkaWEocGhvbmUpIHtcbiAgICAmX19ib3gge1xuICAgICAgJjpub3QoOmZpcnN0LWNoaWxkKSB7XG4gICAgICAgIG1hcmdpbi10b3A6IHNpemUoNTYpO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIiwiLmNsaWVudHMtc2xpZGVyIHtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgbWFyZ2luLXRvcDogcmVtKDgwcHgpO1xuXG4gICZfX2J0bnMge1xuICAgIG1hcmdpbi10b3A6IHJlbSgzNnB4KTtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGdhcDogcmVtKDI3cHgpO1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICB9XG5cbiAgJl9fYm94IHtcbiAgICBib3JkZXItcmlnaHQ6IDFweCBkYXNoZWQgdmFyKC0tY29sb3ItYm9yZGVyLXByaW1hcnkpO1xuICAgIGJvcmRlci1sZWZ0OiAxcHggZGFzaGVkIHZhcigtLWNvbG9yLWJvcmRlci1wcmltYXJ5KTtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICB9XG5cbiAgJl9fY29ybmVycyB7XG4gICAgZGlzcGxheTogZ3JpZDtcbiAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdCg0LCAxZnIpO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBpbnNldDogMDtcbiAgICB6LWluZGV4OiAzO1xuICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICB9XG5cbiAgJl9fc2xpZGVyIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cbiAgICAuc3dpcGVyLXNsaWRlIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IHJlbSg1cHgpO1xuICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IGRhc2hlZCB2YXIoLS1jb2xvci1ib3JkZXItcHJpbWFyeSk7XG4gICAgICBib3JkZXItdG9wOiAxcHggZGFzaGVkIHZhcigtLWNvbG9yLWJvcmRlci1wcmltYXJ5KTtcbiAgICB9XG5cbiAgICAuc3dpcGVyLXNsaWRlOm5vdCg6bGFzdC1jaGlsZCkge1xuICAgICAgYm9yZGVyLXJpZ2h0OiAxcHggZGFzaGVkIHZhcigtLWNvbG9yLWJvcmRlci1wcmltYXJ5KTtcbiAgICB9XG5cbiAgICAuY29ybmVyc19fZWxlbSB7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICB6LWluZGV4OiAyO1xuXG4gICAgICAmLS1jcm9zcyB7XG4gICAgICAgIHBvc2l0aW9uOiBzdGF0aWM7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IHJlbSgtNXB4KTtcbiAgICAgICAgbWFyZ2luLXRvcDogYXV0bztcbiAgICAgIH1cblxuICAgICAgJi0tdGwge1xuICAgICAgICB0b3A6IDA7XG4gICAgICAgIGxlZnQ6IDA7XG4gICAgICB9XG5cbiAgICAgICYtLXRyIHtcbiAgICAgICAgdG9wOiAwO1xuICAgICAgICByaWdodDogMDtcbiAgICAgIH1cblxuICAgICAgJi0tYmwge1xuICAgICAgICBib3R0b206IHJlbSg1cHgpO1xuICAgICAgICBsZWZ0OiAwO1xuICAgICAgICBib3gtc2hhZG93OiAtNHB4IDVweCAwIDRweCB2YXIoLS1jb2xvci1wcmltYXJ5LWNvbnRyYXN0KTtcbiAgICAgIH1cblxuICAgICAgJi0tYnIge1xuICAgICAgICBib3R0b206IHJlbSg1cHgpO1xuICAgICAgICByaWdodDogMDtcbiAgICAgICAgYm94LXNoYWRvdzogNHB4IDVweCAwIDRweCB2YXIoLS1jb2xvci1wcmltYXJ5LWNvbnRyYXN0KTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBAaW5jbHVkZSBtZWRpYSh0YWJsZXQpIHtcbiAgICAmX19jb3JuZXJzIHtcbiAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KDIsIDFmcik7XG4gICAgfVxuXG4gICAgLmNvcm5lcnNfX2VsZW0ge1xuICAgICAgJi0tY3Jvc3M6bm90KDpmaXJzdC1jaGlsZCkge1xuICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG4uY29ybmVyc19fZWxlbSB7XG4gIHdpZHRoOiByZW0oMTVweCk7XG4gIGhlaWdodDogcmVtKDE1cHgpO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jb2xvci1wcmltYXJ5LWNvbnRyYXN0KTtcblxuICAmLS1jcm9zcyB7XG4gICAgd2lkdGg6IHJlbSgxMHB4KTtcbiAgICBoZWlnaHQ6IHJlbSgxMHB4KTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jb2xvci1wcmltYXJ5LWNvbnRyYXN0KTtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoJy4uL2ltZy9iZy9jb25uZWN0aW9uLTIuc3ZnJyk7XG4gICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXI7XG4gICAgYmFja2dyb3VuZC1zaXplOiAxMDAlO1xuICB9XG5cbiAgJi0tdGwge1xuICAgIGJvcmRlci10b3A6IDFweCBzb2xpZCB2YXIoLS1jb2xvci1wcmltYXJ5KTtcbiAgICBib3JkZXItbGVmdDogMXB4IHNvbGlkIHZhcigtLWNvbG9yLXByaW1hcnkpO1xuICB9XG5cbiAgJi0tdHIge1xuICAgIGJvcmRlci10b3A6IDFweCBzb2xpZCB2YXIoLS1jb2xvci1wcmltYXJ5KTtcbiAgICBib3JkZXItcmlnaHQ6IDFweCBzb2xpZCB2YXIoLS1jb2xvci1wcmltYXJ5KTtcbiAgfVxuXG4gICYtLWJsIHtcbiAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgdmFyKC0tY29sb3ItcHJpbWFyeSk7XG4gICAgYm9yZGVyLWxlZnQ6IDFweCBzb2xpZCB2YXIoLS1jb2xvci1wcmltYXJ5KTtcbiAgfVxuXG4gICYtLWJyIHtcbiAgICBib3JkZXItcmlnaHQ6IDFweCBzb2xpZCB2YXIoLS1jb2xvci1wcmltYXJ5KTtcbiAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgdmFyKC0tY29sb3ItcHJpbWFyeSk7XG4gIH1cbn1cbiIsIi5lcnJvci1zZWN0aW9uIHtcbiAgZmxleC1ncm93OiAxO1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuXG4gICZfX2xpbmUge1xuICAgIGZsZXgtZ3JvdzogMTtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICB9XG5cbiAgJl9faW1nIHtcbiAgICAtLWFzcGVjdC1yYXRpbzogYXV0bztcbiAgICB3aWR0aDogc2l6ZSgzMTApO1xuICAgIGhlaWdodDogc2l6ZSg0ODApO1xuICB9XG5cbiAgJl9faW5mbyB7XG4gICAgcGFkZGluZzogc2l6ZSg1NikgMDtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICB9XG5cbiAgJl9fY29udGVudCB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgIGdhcDogOHB4O1xuICAgIG1heC13aWR0aDogNDUlO1xuICB9XG5cbiAgJl9fdGl0bGUge1xuICAgIEBpbmNsdWRlIHRpdGxlSDM7XG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgfVxuXG4gICZfX3N1YnRpdGxlIHtcbiAgICBAaW5jbHVkZSB0aXRsZUg0O1xuICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gIH1cblxuICBAaW5jbHVkZSBtZWRpYShmdWxsaGQtYmVmb3JlKSB7XG4gICAgJl9faW5mbyB7XG4gICAgICBwYWRkaW5nOiA1NnB4IDA7XG4gICAgfVxuICB9XG5cbiAgQGluY2x1ZGUgbWVkaWEodGFibGV0KSB7XG4gICAgJl9faW5mbyB7XG4gICAgICBhbGlnbi1pdGVtczogZmxleC1lbmQ7XG4gICAgICBwYWRkaW5nOiBzaXplKDQ4KSAwO1xuICAgIH1cbiAgfVxuXG4gIEBpbmNsdWRlIG1lZGlhKHBob25lKSB7XG4gICAgJl9faW5mbyB7XG4gICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgIGdhcDogc2l6ZSgxNik7XG4gICAgICBwYWRkaW5nOiBzaXplKDMyKSAwO1xuICAgIH1cblxuICAgICZfX2NvbnRlbnQge1xuICAgICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgICAgYWxpZ24tc2VsZjogZmxleC1zdGFydDtcbiAgICB9XG5cbiAgICAmX19pbWcge1xuICAgICAgd2lkdGg6IHNpemUoMjA1KTtcbiAgICAgIGhlaWdodDogc2l6ZSgzMjApO1xuICAgIH1cbiAgfVxufVxuIiwiLmZhcS1zZWN0aW9uIHtcbiAgJl9fbGluZSB7XG4gICAgbWFyZ2luLXRvcDogc2l6ZSgzNTApO1xuICAgIG1hcmdpbi1ib3R0b206IHNpemUoNzIpO1xuICB9XG5cbiAgQGluY2x1ZGUgbWVkaWEoZnVsbGhkLWJlZm9yZSkge1xuICAgICZfX2xpbmUge1xuICAgICAgbWFyZ2luLXRvcDogdnctdG8tcHgoMzUwKTtcbiAgICAgIG1hcmdpbi1ib3R0b206IHZ3LXRvLXB4KDcyKTtcbiAgICB9XG4gIH1cblxuICBAaW5jbHVkZSBtZWRpYShxdWFkaGQpIHtcbiAgICAmX19saW5lIHtcbiAgICAgIG1hcmdpbi10b3A6IHNpemUoMjQ4KTtcbiAgICAgIG1hcmdpbi1ib3R0b206IHNpemUoNTYpO1xuICAgIH1cbiAgfVxuXG4gIEBpbmNsdWRlIG1lZGlhKHRhYmxldCkge1xuICAgICZfX2xpbmUge1xuICAgICAgbWFyZ2luLXRvcDogc2l6ZSgxOTApO1xuICAgICAgbWFyZ2luLWJvdHRvbTogc2l6ZSg0OCk7XG4gICAgfVxuICB9XG5cbiAgQGluY2x1ZGUgbWVkaWEocGhvbmUpIHtcbiAgICAmX19saW5lIHtcbiAgICAgIG1hcmdpbi10b3A6IHNpemUoMTEwKTtcbiAgICAgIG1hcmdpbi1ib3R0b206IHNpemUoMzIpO1xuICAgIH1cbiAgfVxufVxuIiwiLmZvcm0tc2VjdGlvbiB7XG4gICYtLXN1Ym1pdHRlZCAmX19jb3JlIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgbWFyZ2luLWJsb2NrLXN0YXJ0OiAwO1xuICB9XG5cbiAgJl9fd3JhcHBlciB7XG4gICAgYm9yZGVyLXRvcDogMXB4IHNvbGlkIHZhcigtLWNvbG9yLWJvcmRlci1wcmltYXJ5KTtcbiAgICBwYWRkaW5nLXRvcDogc2l6ZSgzMik7XG4gICAgcGFkZGluZy1ib3R0b206IHNpemUoMjAwKTtcbiAgfVxuXG4gICZfX2NvcmUge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBpc29sYXRpb246IGlzb2xhdGU7XG4gICAgZGlzcGxheTogZ3JpZDtcbiAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDFmciAyZnI7XG4gICAgY29sdW1uLWdhcDogc2l6ZSgzMik7XG4gICAgbWFyZ2luLWJsb2NrLXN0YXJ0OiBzaXplKDE1MCk7XG4gIH1cblxuICAmX19jb25uZWN0LWJsb2NrIHtcbiAgICBwb3NpdGlvbjogc3RpY2t5O1xuICAgIHRvcDogY2FsYyh2YXIoLS1oZWlnaHQtaGVhZGVyKSArIHNpemUoMjQpKTtcbiAgICBtYXgtaGVpZ2h0OiBtYXgtY29udGVudDtcbiAgfVxuXG4gICZfX2Zvcm0ge1xuICAgIGp1c3RpZnktc2VsZjogZW5kO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIG1heC13aWR0aDogc2l6ZSgxMTc2KTtcbiAgfVxuXG4gICZfX3Jlc3VsdCB7XG4gICAgd2lkdGg6IDEwMCU7XG4gIH1cblxuICAvLyBNRURJQVxuICBAaW5jbHVkZSBtZWRpYShmdWxsaGQtYmVmb3JlKSB7XG4gICAgJl9fY29yZSB7XG4gICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHZ3LXRvLXB4KDUwMCkgMWZyO1xuICAgICAgbWFyZ2luLWJsb2NrLXN0YXJ0OiB2dy10by1weCgxNTApO1xuICAgIH1cblxuICAgICZfX2Nvbm5lY3QtYmxvY2sge1xuICAgICAgdG9wOiBjYWxjKHZhcigtLWhlaWdodC1oZWFkZXIpICsgdnctdG8tcHgoMjQpKTtcbiAgICB9XG5cbiAgICAmX19mb3JtIHtcbiAgICAgIG1heC13aWR0aDogdnctdG8tcHgoMTE3Nik7XG4gICAgfVxuXG4gICAgJl9fd3JhcHBlciB7XG4gICAgICBwYWRkaW5nLXRvcDogdnctdG8tcHgoMzIpO1xuICAgICAgcGFkZGluZy1ib3R0b206IHZ3LXRvLXB4KDIwMCk7XG4gICAgfVxuICB9XG5cbiAgQGluY2x1ZGUgbWVkaWEoZnVsbGhkKSB7XG4gICAgJl9fZm9ybSB7XG4gICAgICBtYXgtd2lkdGg6IHNpemUoODU2KTtcbiAgICB9XG4gIH1cblxuICBAaW5jbHVkZSBtZWRpYShxdWFkaGQpIHtcbiAgICAmX193cmFwcGVyIHtcbiAgICAgIHBhZGRpbmctdG9wOiBzaXplKDI0KTtcbiAgICAgIHBhZGRpbmctYm90dG9tOiBzaXplKDE0NCk7XG4gICAgfVxuXG4gICAgJl9fY29yZSB7XG4gICAgICBtYXJnaW4tYmxvY2stc3RhcnQ6IHNpemUoNzIpO1xuICAgIH1cblxuICAgICZfX2Nvbm5lY3QtYmxvY2sge1xuICAgICAgcG9zaXRpb246IHN0YXRpYztcbiAgICB9XG5cbiAgICAmX19mb3JtIHtcbiAgICAgIG1heC13aWR0aDogc2l6ZSg2NDgpO1xuICAgIH1cbiAgfVxuXG4gIEBpbmNsdWRlIG1lZGlhKGhkKSB7XG4gICAgJl9fY29yZSB7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgIHJvdy1nYXA6IHNpemUoMTEyKTtcbiAgICB9XG5cbiAgICAmX19mb3JtIHtcbiAgICAgIG1heC13aWR0aDogMTAwJTtcbiAgICB9XG4gIH1cblxuICBAaW5jbHVkZSBtZWRpYShzbWFydHBob25lKSB7XG4gICAgJl9fcmVzdWx0IHtcbiAgICAgIG1hcmdpbi10b3A6IHJlbSg4OHB4KTtcbiAgICB9XG5cbiAgICAmX19jb3JlIHtcbiAgICAgIHJvdy1nYXA6IHNpemUoODgpO1xuICAgICAgbWFyZ2luLWJsb2NrLXN0YXJ0OiBzaXplKDU2KTtcbiAgICB9XG5cbiAgICAmX19ib3gtZm9ybSB7XG4gICAgICBtaW4taGVpZ2h0OiBzaXplKDUzNSk7XG4gICAgfVxuICB9XG5cbiAgQGluY2x1ZGUgbWVkaWEodGFibGV0KSB7XG4gICAgJl9fd3JhcHBlciB7XG4gICAgICBwYWRkaW5nLWJvdHRvbTogc2l6ZSgxMTIpO1xuICAgIH1cbiAgfVxufVxuIiwiLmZyYW1ld29ya3Mtc2VjdGlvbiB7XG4gIG92ZXJmbG93OiBoaWRkZW47XG5cbiAgJl9fZ3JpZCB7XG4gICAgZGlzcGxheTogZ3JpZDtcbiAgICBtYXJnaW4tdG9wOiBzaXplKDE4MCk7XG4gIH1cblxuICAmX19kZXNrdG9wIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG5cbiAgJl9fbmFtZSB7XG4gICAgQGluY2x1ZGUgdGl0bGVINDtcbiAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICB9XG5cbiAgJl9fbWlkZGxlLWJveCB7XG4gICAgd2lkdGg6IHNpemUoMTMwMCk7XG4gIH1cblxuICAmX19zbWFsbC1ib3gge1xuICAgIHdpZHRoOiBzaXplKDkwMCk7XG4gIH1cblxuICAmX19pbmZvIHtcbiAgICB3aWR0aDogc2l6ZSg3NTApO1xuICB9XG5cblxuICBAaW5jbHVkZSBtZWRpYSh0YWJsZXQtYmVmb3JlKSB7XG4gICAgJl9fZ3JpZCB7XG4gICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IG1pbm1heCgwLCAxZnIpIG1pbm1heCgwLCAxZnIpO1xuICAgIH1cblxuICAgICZfX2JveCB7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICBhc3BlY3QtcmF0aW86IDE7XG4gICAgICB6LWluZGV4OiAxO1xuXG4gICAgICAmLS1taWRkbGUge1xuICAgICAgICBhbmltYXRpb246IDkwcyBsaW5lYXIgaW5maW5pdGUgcm90YXRlO1xuICAgICAgfVxuXG4gICAgICAmLS1zbWFsbCB7XG4gICAgICAgIGFuaW1hdGlvbjogOTBzIGxpbmVhciBpbmZpbml0ZSByb3RhdGU7XG4gICAgICAgIGFuaW1hdGlvbi1kaXJlY3Rpb246IHJldmVyc2U7XG4gICAgICB9XG4gICAgfVxuXG4gICAgJl9fbWlkZGxlLWJveCB7XG4gICAgICBncmlkLWNvbHVtbjogMS8tMTtcbiAgICAgIGdyaWQtcm93OiAxO1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgbWFyZ2luOiAwIGF1dG87XG4gICAgICBhc3BlY3QtcmF0aW86IDE7XG4gICAgfVxuXG4gICAgJl9fbWlkZGxlLWNvbnRlbnQge1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgYXNwZWN0LXJhdGlvOiAxO1xuICAgICAgYm9yZGVyLXJhZGl1czogNTAlO1xuICAgICAgYm9yZGVyOiAycHggZGFzaGVkIHZhcigtLWNvbG9yLXByaW1hcnkpO1xuXG4gICAgICAmOjpiZWZvcmUge1xuICAgICAgICBjb250ZW50OiAnJztcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICB0b3A6IC0zcHg7XG4gICAgICAgIGxlZnQ6IC0zcHg7XG4gICAgICAgIHJpZ2h0OiAtM3B4O1xuICAgICAgICBib3R0b206IDE1JTtcbiAgICAgICAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KDE0MmRlZywgdmFyKC0tY29sb3ItcHJpbWFyeS1jb250cmFzdCkgMCUsIHZhcigtLWNvbG9yLXRyYW5zcGFyZW50KSAyOCUpO1xuICAgICAgICBib3gtc2hhZG93OiBpbnNldCBzaXplKDE4MCkgc2l6ZSgxODApIDE3MHB4IDAgdmFyKC0tY29sb3Itc2Vjb25kYXJ5LTgwKTtcbiAgICAgICAgei1pbmRleDogMTtcbiAgICAgIH1cblxuICAgICAgJjo6YWZ0ZXIge1xuICAgICAgICBjb250ZW50OiAnJztcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICB6LWluZGV4OiAtMTtcbiAgICAgICAgdG9wOiAtMXB4O1xuICAgICAgICBsZWZ0OiAtMXB4O1xuICAgICAgICByaWdodDogLTFweDtcbiAgICAgICAgYm90dG9tOiAtMXB4O1xuICAgICAgICBib3JkZXItcmFkaXVzOiA1MCU7XG4gICAgICAgIGJhY2tncm91bmQ6IHJhZGlhbC1ncmFkaWVudChjaXJjbGUsIHZhcigtLWNvbG9yLXRyYW5zcGFyZW50KSAwJSwgdmFyKC0tY29sb3ItcHJpbWFyeS1jb250cmFzdCkgNzUlKSwgdXJsKCcuLi9pbWcvYmcvZG90LXdoaXRlLnN2ZycpIHJlcGVhdCBjZW50ZXIgLyA4cHgsIHZhcigtLWNvbG9yLXByaW1hcnktY29udHJhc3QpO1xuICAgICAgfVxuICAgIH1cblxuICAgICZfX21pZGRsZS1lbC0xIHtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIGxlZnQ6IC01JTtcbiAgICAgIHRvcDogNTAlO1xuICAgICAgei1pbmRleDogMTtcbiAgICAgIGFuaW1hdGlvbjogOTBzIGxpbmVhciBpbmZpbml0ZSByb3RhdGU7XG4gICAgICBhbmltYXRpb24tZGlyZWN0aW9uOiByZXZlcnNlO1xuICAgIH1cblxuICAgICZfX21pZGRsZS1lbC0zIHtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIGxlZnQ6IDUwJTtcbiAgICAgIGJvdHRvbTogLTUlO1xuICAgICAgei1pbmRleDogMTtcbiAgICAgIGFuaW1hdGlvbjogOTBzIGxpbmVhciBpbmZpbml0ZSByb3RhdGU7XG4gICAgICBhbmltYXRpb24tZGlyZWN0aW9uOiByZXZlcnNlO1xuICAgIH1cblxuICAgICZfX21pZGRsZS1lbC0yIHtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHJpZ2h0OiA1JTtcbiAgICAgIHRvcDogMTUlO1xuICAgICAgYW5pbWF0aW9uOiA5MHMgbGluZWFyIGluZmluaXRlIHJvdGF0ZTtcbiAgICAgIGFuaW1hdGlvbi1kaXJlY3Rpb246IHJldmVyc2U7XG4gICAgICB6LWluZGV4OiAxO1xuICAgIH1cblxuICAgICZfX21pZGRsZS1lbC00IHtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHJpZ2h0OiA1MCU7XG4gICAgICB0b3A6IC01JTtcbiAgICAgIGFuaW1hdGlvbjogOTBzIGxpbmVhciBpbmZpbml0ZSByb3RhdGU7XG4gICAgICBhbmltYXRpb24tZGlyZWN0aW9uOiByZXZlcnNlO1xuICAgICAgei1pbmRleDogMTtcbiAgICB9XG5cbiAgICAmX19zbWFsbC1ib3gge1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgZ3JpZC1jb2x1bW46IDEvLTE7XG4gICAgICBncmlkLXJvdzogMTtcbiAgICAgIGFzcGVjdC1yYXRpbzogMTtcbiAgICAgIG1hcmdpbjogYXV0bztcbiAgICAgIHotaW5kZXg6IDE7XG4gICAgfVxuXG4gICAgJl9fc21hbGwtY29udGVudCB7XG4gICAgICBhc3BlY3QtcmF0aW86IDE7XG4gICAgICBib3JkZXI6IDJweCBzb2xpZCB2YXIoLS1jb2xvci1ib3JkZXItcHJpbWFyeSk7XG4gICAgICBib3JkZXItcmFkaXVzOiA1MCU7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jb2xvci1wcmltYXJ5LWNvbnRyYXN0KTtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgIC8vIGFuaW1hdGlvbjogNjBzIGxpbmVhciBpbmZpbml0ZSBwZXJzcGV2dGl2ZS1yZXZlcnQ7XG4gICAgICAvLyB0cmFuc2Zvcm0tc3R5bGU6IHByZXNlcnZlLTNkO1xuXG4gICAgICAmOjpiZWZvcmUge1xuICAgICAgICBjb250ZW50OiAnJztcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICB0b3A6IC0zcHg7XG4gICAgICAgIGxlZnQ6IC0zcHg7XG4gICAgICAgIHJpZ2h0OiAtM3B4O1xuICAgICAgICBib3R0b206IDA7XG4gICAgICAgIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCgtMTQyZGVnLCB2YXIoLS1jb2xvci1wcmltYXJ5LWNvbnRyYXN0KSAwJSwgdmFyKC0tY29sb3ItdHJhbnNwYXJlbnQpIDEwMCUpO1xuICAgICAgICB6LWluZGV4OiAxO1xuICAgICAgICBib3JkZXItcmFkaXVzOiA1MCU7XG4gICAgICB9XG4gICAgfVxuXG4gICAgJl9fc21hbGwtZWwtMSB7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICB0b3A6IDglO1xuICAgICAgbGVmdDogOCU7XG4gICAgICBhbmltYXRpb246IDkwcyBsaW5lYXIgaW5maW5pdGUgcm90YXRlO1xuICAgICAgei1pbmRleDogMTtcbiAgICB9XG5cbiAgICAmX19zbWFsbC1lbC0yIHtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIGJvdHRvbTogOCU7XG4gICAgICByaWdodDogOCU7XG4gICAgICBhbmltYXRpb246IDkwcyBsaW5lYXIgaW5maW5pdGUgcm90YXRlO1xuICAgICAgei1pbmRleDogMTtcbiAgICB9XG5cbiAgICAmX19zbWFsbC1lbC0zIHtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIGJvdHRvbTogOCU7XG4gICAgICBsZWZ0OiA4JTtcbiAgICAgIGFuaW1hdGlvbjogOTBzIGxpbmVhciBpbmZpbml0ZSByb3RhdGU7XG4gICAgICB6LWluZGV4OiAxO1xuICAgIH1cblxuICAgICZfX3NtYWxsLWVsLTQge1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgdG9wOiA4JTtcbiAgICAgIHJpZ2h0OiA4JTtcbiAgICAgIGFuaW1hdGlvbjogOTBzIGxpbmVhciBpbmZpbml0ZSByb3RhdGU7XG4gICAgICB6LWluZGV4OiAxO1xuICAgIH1cblxuICAgICZfX2JpZy1ib3gge1xuICAgICAgZ3JpZC1jb2x1bW46IDE7XG4gICAgICBncmlkLXJvdzogMS8tMTtcbiAgICAgIGFsaWduLXNlbGY6IGZsZXgtZW5kO1xuICAgICAgd2lkdGg6IGZpdC1jb250ZW50O1xuICAgIH1cblxuICAgICZfX2JpZy1jb250ZW50IHtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBhbGlnbi1pdGVtczogZmxleC1lbmQ7XG4gICAgfVxuXG4gICAgJl9fbmFtZSB7XG4gICAgICAmLS1ib3JkZXIge1xuICAgICAgICBwYWRkaW5nLWJvdHRvbTogc2l6ZSgxMik7XG4gICAgICAgIGJvcmRlci1ib3R0b206IDJweCBkYXNoZWQgdmFyKC0tY29sb3ItcHJpbWFyeSk7XG4gICAgICB9XG5cbiAgICAgICYtLWJvcmRlci1zb2xpZCB7XG4gICAgICAgIHBhZGRpbmctYm90dG9tOiBzaXplKDEyKTtcbiAgICAgICAgYm9yZGVyLWJvdHRvbTogMnB4IHNvbGlkIHZhcigtLWNvbG9yLXByaW1hcnkpO1xuICAgICAgfVxuXG4gICAgICAmLS1tb2JpbGUge1xuICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgfVxuICAgIH1cblxuICAgICZfX2RlY29yIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gICAgICAmOjpiZWZvcmUge1xuICAgICAgICBjb250ZW50OiAnJztcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICBib3R0b206IDEwMCU7XG4gICAgICAgIGxlZnQ6IDA7XG4gICAgICAgIHdpZHRoOiBzaXplKDI4MCk7XG4gICAgICAgIGhlaWdodDogc2l6ZSgyMTApO1xuICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoJy4uL2ltZy9iZy9mcmFtZXdvcmtzLWRlY29yLnN2ZycpO1xuICAgICAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICAgICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXI7XG4gICAgICAgIGJhY2tncm91bmQtc2l6ZTogMTAwJSAxMDAlO1xuICAgICAgICB6LWluZGV4OiAtMTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAmX19kZWNvci10ZXh0IHtcbiAgICAgIHBhZGRpbmc6IHNpemUoMTIpIHNpemUoNCk7XG4gICAgICBtYXJnaW4tYm90dG9tOiBzaXplKDIwKTtcbiAgICB9XG5cbiAgICAmX193cmFwcGVyIHtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB9XG5cbiAgICAmX19kZXNrdG9wIHtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHRvcDogMDtcbiAgICAgIHJpZ2h0OiAwO1xuICAgICAgbWluLXdpZHRoOiBzaXplKDE2MCk7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgIGdhcDogc2l6ZSgzMik7XG4gICAgfVxuXG4gICAgJl9faW5mbyB7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICB6LWluZGV4OiAxO1xuICAgICAgZ3JpZC1jb2x1bW46IDEvLTE7XG4gICAgICBncmlkLXJvdzogMTtcbiAgICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgICAgIGFzcGVjdC1yYXRpbzogMTtcbiAgICAgIG1hcmdpbjogYXV0bztcbiAgICB9XG5cbiAgICBAaW5jbHVkZSBtZWRpYShob3Zlcikge1xuICAgICAgJl9fZWxlbWVudDpob3ZlciAmX19ib3gge1xuICAgICAgICBhbmltYXRpb24tcGxheS1zdGF0ZTogcGF1c2VkO1xuICAgICAgfVxuXG4gICAgICAmX19lbGVtZW50OmhvdmVyIHtcbiAgICAgICAgLyogc3R5bGVsaW50LWRpc2FibGUtbmV4dC1saW5lIG1heC1uZXN0aW5nLWRlcHRoICovXG4gICAgICAgIFtjbGFzcyo9J2ZyYW1ld29ya3Mtc2VjdGlvbl9fbWlkZGxlLWVsJ10sXG4gICAgICAgIFtjbGFzcyo9J2ZyYW1ld29ya3Mtc2VjdGlvbl9fc21hbGwtZWwnXSB7XG4gICAgICAgICAgYW5pbWF0aW9uLXBsYXktc3RhdGU6IHBhdXNlZDtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIEBpbmNsdWRlIG1lZGlhKGZ1bGxoZC1iZWZvcmUpIHtcbiAgICAmX19taWRkbGUtY29udGVudCB7XG4gICAgICAmOjphZnRlciB7XG4gICAgICAgIGJhY2tncm91bmQ6ICRncmFkaWVudC1jb250cmFzdC0wLCB1cmwoJy4uL2ltZy9iZy9kb3Qtd2hpdGUuc3ZnJykgcmVwZWF0IGNlbnRlciAvIDE0cHgsIHZhcigtLWNvbG9yLXByaW1hcnktY29udHJhc3QpO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIEBpbmNsdWRlIG1lZGlhKHF1YWRoZCkge1xuICAgICZfX2dyaWQge1xuICAgICAgbWFyZ2luLXRvcDogc2l6ZSgxMDQpO1xuICAgIH1cblxuICAgICZfX21pZGRsZS1ib3gge1xuICAgICAgd2lkdGg6IHNpemUoMTA4MCk7XG4gICAgfVxuXG4gICAgJl9fc21hbGwtYm94IHtcbiAgICAgIHdpZHRoOiBzaXplKDcyMCk7XG4gICAgfVxuXG4gICAgJl9faW5mbyB7XG4gICAgICB3aWR0aDogc2l6ZSg1MjApO1xuICAgIH1cbiAgfVxuXG4gIEBpbmNsdWRlIG1lZGlhKGhkKSB7XG4gICAgJl9fbWlkZGxlLWJveCB7XG4gICAgICB3aWR0aDogc2l6ZSg5MDApO1xuICAgIH1cblxuICAgICZfX3NtYWxsLWJveCB7XG4gICAgICB3aWR0aDogc2l6ZSg2NTApO1xuICAgIH1cblxuICAgICZfX2luZm8ge1xuICAgICAgd2lkdGg6IHNpemUoNTUwKTtcbiAgICB9XG4gIH1cblxuICBAaW5jbHVkZSBtZWRpYSh0YWJsZXQpIHtcbiAgICAmX19ncmlkIHtcbiAgICAgIG1hcmdpbi10b3A6IHNpemUoMTg4KTtcbiAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogbWlubWF4KDAsIDFmcik7XG4gICAgfVxuXG4gICAgJl9faW5mbyB7XG4gICAgICBncmlkLXJvdzogMTtcbiAgICAgIG1hcmdpbi1ib3R0b206IHNpemUoMzIpO1xuICAgICAgd2lkdGg6IGF1dG87XG4gICAgfVxuXG4gICAgJl9fZWxlbWVudC1jb250ZW50IHtcbiAgICAgIGRpc3BsYXk6IGdyaWQ7XG4gICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IG1pbm1heCgwLCAxLjU1ZnIpIG1pbm1heCgwLCA1ZnIpO1xuICAgICAgZmxleC1kaXJlY3Rpb246IHJvdy1yZXZlcnNlO1xuICAgICAganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDtcbiAgICAgIGFsaWduLWl0ZW1zOiBlbmQ7XG4gICAgICBnYXA6IHNpemUoMjQpO1xuICAgIH1cblxuICAgICZfX2VsZW1lbnQge1xuICAgICAgcGFkZGluZy10b3A6IHNpemUoMjQpO1xuICAgICAgYm9yZGVyLXRvcDogMXB4IGRhc2hlZCB2YXIoLS1jb2xvci1ib3JkZXItcHJpbWFyeSk7XG5cbiAgICAgICY6bm90KDpsYXN0LWNoaWxkKSB7XG4gICAgICAgIHBhZGRpbmctYm90dG9tOiBzaXplKDI0KTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAmX19ib3gge1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICAgIGdhcDogc2l6ZSgyNCk7XG4gICAgICBmbGV4LWdyb3c6IDE7XG4gICAgICBncmlkLWNvbHVtbjogMjtcbiAgICB9XG5cbiAgICAmX19taWRkbGUtYm94LFxuICAgICZfX3NtYWxsLWJveCB7XG4gICAgICB3aWR0aDogYXV0bztcbiAgICB9XG5cbiAgICAmX19uYW1lLS1tb2JpbGUsXG4gICAgJl9fZGVjb3Ige1xuICAgICAgbWF4LXdpZHRoOiBzaXplKDE1Mik7XG4gICAgICBncmlkLXJvdzogMTtcbiAgICAgIGdyaWQtY29sdW1uOiAxO1xuICAgIH1cbiAgfVxuXG4gIEBpbmNsdWRlIG1lZGlhKHBob25lKSB7XG4gICAgb3ZlcmZsb3c6IHZpc2libGU7XG5cbiAgICAmX19ncmlkIHtcbiAgICAgIG1hcmdpbi10b3A6IHNpemUoNTYpO1xuICAgIH1cblxuICAgICZfX2VsZW1lbnQtY29udGVudCB7XG4gICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uLXJldmVyc2U7XG4gICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kO1xuICAgICAgYWxpZ24taXRlbXM6IHN0YXJ0O1xuICAgICAgZ2FwOiAwO1xuICAgIH1cblxuICAgICZfX2VsZW1lbnQge1xuICAgICAgcGFkZGluZy10b3A6IHNpemUoMTYpO1xuXG4gICAgICAmOm5vdCg6bGFzdC1jaGlsZCkge1xuICAgICAgICBwYWRkaW5nLWJvdHRvbTogc2l6ZSgxNik7XG4gICAgICB9XG4gICAgfVxuXG4gICAgJl9fYm94IHtcbiAgICAgIGdyaWQtcm93OiAyO1xuICAgICAgZ3JpZC1jb2x1bW46IDEvLTE7XG4gICAgICBnYXA6IHNpemUoMTYpO1xuICAgIH1cblxuICAgICZfX25hbWUtLW1vYmlsZSxcbiAgICAmX19kZWNvciB7XG4gICAgICBncmlkLWNvbHVtbjogMS8tMTtcbiAgICAgIG1hcmdpbi1ib3R0b206IHNpemUoNDgpO1xuICAgIH1cbiAgfVxufVxuIiwiLmZ1bmN0aW9uYWwge1xuICAmX19hcnRpY2xlIHA6bm90KFtjbGFzc10pIHtcbiAgICBAaW5jbHVkZSB0ZXh0TDtcbiAgICBmb250LXdlaWdodDogNDAwO1xuICAgIG1heC13aWR0aDogc2l6ZSg3MjApO1xuICB9XG5cbiAgQGluY2x1ZGUgbWVkaWEoZnVsbGhkLWJlZm9yZSkge1xuICAgICZfX2FydGljbGUgcDpub3QoW2NsYXNzXSkge1xuICAgICAgbWF4LXdpZHRoOiB2dy10by1weCg3MjApO1xuICAgIH1cbiAgfVxuXG4gIEBpbmNsdWRlIG1lZGlhKHF1YWRoZCkge1xuICAgICZfX2FydGljbGUgcDpub3QoW2NsYXNzXSkge1xuICAgICAgbWF4LXdpZHRoOiBzaXplKDYwMCk7XG4gICAgfVxuICB9XG5cbiAgQGluY2x1ZGUgbWVkaWEodGFibGV0KSB7XG4gICAgJl9fYXJ0aWNsZSB7XG4gICAgICBtYXJnaW4tdG9wOiBzaXplKDExMik7XG5cbiAgICAgIHA6bm90KFtjbGFzc10pIHtcbiAgICAgICAgbWF4LXdpZHRoOiBzaXplKDU0MCk7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgQGluY2x1ZGUgbWVkaWEocGhvbmUpIHtcbiAgICAmX19hcnRpY2xlIHtcbiAgICAgIG1hcmdpbi10b3A6IHNpemUoODgpO1xuICAgIH1cbiAgfVxufVxuIiwiLmdyaWQtc2VjdGlvbiB7XG4gICZfX2dyaWQge1xuICAgIGRpc3BsYXk6IGdyaWQ7XG4gICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoMTIsIG1pbm1heCgwLCAxZnIpKTtcbiAgfVxuXG4gICZfX2xlZnQge1xuICAgIGdyaWQtY29sdW1uOiAxLzM7XG4gIH1cblxuICAmX19yaWdodCB7XG4gICAgZ3JpZC1jb2x1bW46IDcvLTE7XG4gIH1cblxuICAmX19jZW50ZXIge1xuICAgIGdyaWQtY29sdW1uOiAxLy0xO1xuICB9XG5cbiAgQGluY2x1ZGUgbWVkaWEobm90ZWJvb2spIHtcbiAgICAmX19sZWZ0IHtcbiAgICAgIGdyaWQtY29sdW1uOiAxLy0xO1xuICAgIH1cblxuICAgICZfX3JpZ2h0IHtcbiAgICAgIGdyaWQtY29sdW1uOiAxLy0xO1xuICAgIH1cbiAgfVxufVxuIiwiLmxvZ28tc2VjdGlvbiB7XG4gIG1pbi1oZWlnaHQ6IGNhbGMoMTAwdmggLSB2YXIoLS1oZWFkZXItaGVpZ2h0KSAtIDUycHgpO1xuICBkaXNwbGF5OiBmbGV4O1xuICBwYWRkaW5nLWJvdHRvbTogc2l6ZSgzMik7XG5cbiAgJl9fd3JhcHBlciB7XG4gICAgaGVpZ2h0OiBhdXRvO1xuICAgIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW4tcmV2ZXJzZTtcbiAgfVxuXG4gICZfX2dyaWQge1xuICAgIGRpc3BsYXk6IGdyaWQ7XG4gICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiBtaW5tYXgoMCwgMWZyKSBtaW5tYXgoMCwgMWZyKTtcbiAgfVxuXG4gICZfX2NvbnRlbnQge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICBnYXA6IHJlbSgxNnB4KTtcbiAgICB3aWR0aDogZml0LWNvbnRlbnQ7XG4gICAgYmFja2dyb3VuZDogdmFyKC0tY29sb3Itc2Vjb25kYXJ5LTgwKTtcbiAgICBib3gtc2hhZG93OiAwIDAgMTAwcHggNDVweCB2YXIoLS1jb2xvci1wcmltYXJ5LWNvbnRyYXN0KTtcbiAgfVxuXG4gICZfX3RpdGxlIHtcbiAgICBAaW5jbHVkZSB0aXRsZUgyO1xuICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gIH1cblxuICAmX19uYW1lIHtcbiAgICBAaW5jbHVkZSB0aXRsZUg0O1xuICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gIH1cblxuICAmX19zd2l0Y2gge1xuICAgIHdpZHRoOiAyOHB4O1xuICAgIGhlaWdodDogMTZweDtcbiAgICBib3JkZXItcmFkaXVzOiAyNzBweDtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jb2xvci1wcmltYXJ5LWNvbnRyYXN0LTkwMCk7XG4gIH1cblxuICAmX19zd2l0Y2gtZGVjb3Ige1xuICAgIHdpZHRoOiAxNHB4O1xuICAgIGhlaWdodDogMTRweDtcbiAgICBib3JkZXItcmFkaXVzOiA1MCU7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY29sb3ItZ3JlZW4pO1xuICAgIHBhZGRpbmc6IDJweDtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgbWFyZ2luOiAxcHg7XG4gICAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gIH1cblxuICAmX19ib3gge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZ2FwOiA4cHg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgfVxuXG4gICZfX3BpY3R1cmUge1xuICAgIGZsZXgtZ3JvdzogMTtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgfVxuXG4gICZfX3ZpZGVvIHtcbiAgICB3aWR0aDogc2l6ZSgxMjIwKTtcbiAgICBoZWlnaHQ6IHNpemUoNzY0KTtcbiAgICBtYXJnaW46IDAgYXV0bztcbiAgICBtaXgtYmxlbmQtbW9kZTogbGlnaHRlbjtcbiAgICBiYWNrZ3JvdW5kLWJsZW5kLW1vZGU6IGxpZ2h0ZW47XG4gICAgdHJhbnNmb3JtOiByb3RhdGUoLThkZWcpO1xuICB9XG5cbiAgJl9fYnRuIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG5cbiAgQGluY2x1ZGUgbWVkaWEoZnVsbGhkLWJlZm9yZSkge1xuICAgIHBhZGRpbmctYm90dG9tOiB2dy10by1weCgzMik7XG5cbiAgICAmX192aWRlbyB7XG4gICAgICB3aWR0aDogdnctdG8tcHgoMTIyMCk7XG4gICAgICBoZWlnaHQ6IHZ3LXRvLXB4KDc2NCk7XG4gICAgfVxuICB9XG5cbiAgQGluY2x1ZGUgbWVkaWEocXVhZGhkKSB7XG4gICAgcGFkZGluZy1ib3R0b206IHNpemUoMjQpO1xuXG4gICAgJl9fdmlkZW8ge1xuICAgICAgd2lkdGg6IHNpemUoOTYwKTtcbiAgICAgIGhlaWdodDogc2l6ZSg2MDApO1xuICAgIH1cbiAgfVxuXG4gIEBpbmNsdWRlIG1lZGlhKHRhYmxldCkge1xuICAgIHBhZGRpbmctYm90dG9tOiAwO1xuXG4gICAgJl9fd3JhcHBlciB7XG4gICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY29sb3ItcHJpbWFyeS1jb250cmFzdCk7XG4gICAgfVxuXG4gICAgJl9fZ3JpZCB7XG4gICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IG1pbm1heCgwLCAxZnIpO1xuICAgIH1cblxuICAgICZfX2NvbnRlbnQge1xuICAgICAgcGFkZGluZzogc2l6ZSg0OCkgMDtcbiAgICB9XG5cbiAgICAmX192aWRlbyB7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgIG1heC1oZWlnaHQ6IHNpemUoMzIwKTtcbiAgICAgIG9iamVjdC1maXQ6IGNvdmVyO1xuICAgIH1cbiAgfVxuXG4gIEBpbmNsdWRlIG1lZGlhKHBob25lKSB7XG4gICAgLy8tIGlwaG9uZSDQv9GA0L7QsdC70LXQvNGLINGBIHZoKClcbiAgICBtaW4taGVpZ2h0OiBjYWxjKDEwMHZoIC0gdmFyKC0taGVhZGVyLWhlaWdodCkgLSBzaXplKDYwKSk7XG5cbiAgICAmX19idG4ge1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgICAgcGFkZGluZzogMjRweCAwO1xuICAgIH1cblxuICAgICZfX2NvbnRlbnQge1xuICAgICAgcGFkZGluZzogc2l6ZSgzMikgMDtcbiAgICAgIGdhcDogMDtcbiAgICB9XG5cbiAgICAmX19ib3g6bm90KDpsYXN0LWNoaWxkKSB7XG4gICAgICBtYXJnaW4tYm90dG9tOiBzaXplKDEyKTtcbiAgICB9XG4gIH1cbn1cblxuLmlvcyAubG9nby1zZWN0aW9uIHtcbiAgQGluY2x1ZGUgbWVkaWEocGhvbmUpIHtcbiAgICBtaW4taGVpZ2h0OiBjYWxjKDEwMHZoIC0gdmFyKC0taGVhZGVyLWhlaWdodCkgLSBzaXplKDEwMCkpO1xuICB9XG59XG4iLCIubmFtZS1wcm9kdWN0IHtcbiAgbWluLWhlaWdodDogY2FsYygxMDB2aCAtIHZhcigtLWhlYWRlci1oZWlnaHQpKTtcbiAgZGlzcGxheTogZmxleDtcblxuICAucGFnZS1wcm9kdWN0LS1uZXcgJiB7XG4gICAgLm5hbWUtcHJvZHVjdF9fdG9wIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxuICB9XG5cbiAgJl9fd3JhcHBlciB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICB9XG5cbiAgJl9fZ3JpZCB7XG4gICAgZGlzcGxheTogZ3JpZDtcbiAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdCgxMiwgbWlubWF4KDAsIDFmcikpO1xuICAgIGdyaWQtdGVtcGxhdGUtcm93czogYXV0byBtaW4tY29udGVudDtcbiAgICBmbGV4LWdyb3c6IDE7XG4gIH1cblxuICAmX19jZW50ZXIge1xuICAgIGdyaWQtY29sdW1uOiAzLzExO1xuICAgIGdyaWQtcm93OiAxO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICB9XG5cbiAgJl9fdG9wIHtcbiAgICBAaW5jbHVkZSB0aXRsZUg1O1xuICAgIGRpc3BsYXk6IGNvbnRlbnRzO1xuICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gIH1cblxuICAmX190b3AtMSB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGdyaWQtY29sdW1uOiAxLzM7XG4gICAgZ3JpZC1yb3c6IDE7XG4gIH1cblxuICAmX190b3AtMiB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGdyaWQtY29sdW1uOiAxMS8tMTtcbiAgICBncmlkLXJvdzogMTtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kO1xuICB9XG5cbiAgJl9fc2hhZG93IHtcbiAgICBib3gtc2hhZG93OiAwIDAgMTAwcHggNDVweCB2YXIoLS1jb2xvci1wcmltYXJ5LWNvbnRyYXN0KTtcbiAgICBiYWNrZ3JvdW5kOiB2YXIoLS1jb2xvci1zZWNvbmRhcnktODApO1xuICB9XG5cbiAgJl9fYm90dG9tIHtcbiAgICBAaW5jbHVkZSB0aXRsZUg1O1xuICAgIGdyaWQtY29sdW1uOiAxLy0xO1xuICAgIHBhZGRpbmc6IHNpemUoMzIpIDA7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgZ2FwOiBzaXplKDI0KTtcbiAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICB9XG5cbiAgJl9fY29udGVudCB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBnYXA6IHNpemUoMjQpO1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgfVxuXG4gICZfX3RpdGxlIHtcbiAgICBAaW5jbHVkZSB0aXRsZUJpZztcbiAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgIC8vIHdpZHRoOiBtaW4tY29udGVudDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICB9XG5cbiAgJl9fc3VidGl0bGUge1xuICAgIEBpbmNsdWRlIHRpdGxlSDM7XG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICBtYXgtd2lkdGg6IHJlbSg3MjBweCk7XG4gIH1cblxuICAmX19pY29uIHtcbiAgICBAaW5jbHVkZSB0aXRsZUg1O1xuICAgIGZsZXgtZ3JvdzogMTtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIH1cblxuICAmX19tb2JpbGUge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cblxuICAmX19saXN0IHtcbiAgICBmbGV4LXdyYXA6IG5vd3JhcDtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgd2lkdGg6IDEwMCU7XG5cbiAgICAuc3RhY2tfX2xpc3Qge1xuICAgICAgZmxleC13cmFwOiBub3dyYXA7XG4gICAgfVxuXG4gICAgJjo6YmVmb3JlLFxuICAgICY6OmFmdGVyIHtcbiAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgdG9wOiAwO1xuICAgICAgYm90dG9tOiAwO1xuICAgICAgd2lkdGg6IHJlbSgxNTBweCk7XG4gICAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICAgICAgei1pbmRleDogMjtcbiAgICB9XG5cbiAgICAmOjpiZWZvcmUge1xuICAgICAgYmFja2dyb3VuZC1pbWFnZTogbGluZWFyLWdyYWRpZW50KDkwZGVnLCByZ2JhKDgsIDgsIDgsIDEpIDAlLCByZ2JhKDgsIDgsIDgsIDAuNCkgMTAwJSk7XG4gICAgICBsZWZ0OiAwO1xuICAgIH1cblxuICAgICY6OmFmdGVyIHtcbiAgICAgIHJpZ2h0OiAwO1xuICAgICAgYmFja2dyb3VuZC1pbWFnZTogbGluZWFyLWdyYWRpZW50KDI4MGRlZywgcmdiYSg4LCA4LCA4LCAxKSAwJSwgcmdiYSg4LCA4LCA4LCAwLjQpIDEwMCUpO1xuICAgIH1cbiAgfVxuXG4gIEBpbmNsdWRlIG1lZGlhKGZ1bGxoZC1iZWZvcmUpIHtcbiAgICAmX19ib3R0b20ge1xuICAgICAgcGFkZGluZzogdnctdG8tcHgoMzIpIDA7XG4gICAgICBnYXA6IHZ3LXRvLXB4KDI0KTtcbiAgICB9XG5cbiAgICAmX19jb250ZW50IHtcbiAgICAgIGdhcDogdnctdG8tcHgoMjQpO1xuICAgIH1cbiAgfVxuXG4gIEBpbmNsdWRlIG1lZGlhKHF1YWRoZCkge1xuICAgICZfX2JvdHRvbSB7XG4gICAgICBwYWRkaW5nOiBzaXplKDI0KSAwO1xuICAgICAgZ2FwOiBzaXplKDE2KTtcbiAgICB9XG5cbiAgICAmX19jb250ZW50IHtcbiAgICAgIGdhcDogc2l6ZSgxNik7XG4gICAgfVxuICB9XG5cbiAgQGluY2x1ZGUgbWVkaWEodGFibGV0KSB7XG4gICAgJl9fZ3JpZCB7XG4gICAgICBncmlkLXRlbXBsYXRlLXJvd3M6IG1pbi1jb250ZW50IGF1dG8gbWluLWNvbnRlbnQ7XG5cbiAgICAgIC5wYWdlLXByb2R1Y3QtLW5ldyAmIHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAmX190b3Age1xuICAgICAgZ3JpZC1jb2x1bW46IDEvLTE7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgICAgIHBhZGRpbmc6IHNpemUoMjQpIDA7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cbiAgICAgICY6OmJlZm9yZSB7XG4gICAgICAgIEBpbmNsdWRlIHRpdGxlSDU7XG4gICAgICAgIGNvbnRlbnQ6ICcmJztcbiAgICAgICAgY29sb3I6IHZhcigtLWNvbG9yLXNlY29uZGFyeSk7XG4gICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgdG9wOiA1MCU7XG4gICAgICAgIGxlZnQ6IDUwJTtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgLTUwJSk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgJl9fY2VudGVyIHtcbiAgICAgIGdyaWQtcm93OiBhdXRvO1xuICAgICAgZ3JpZC1jb2x1bW46IDEvLTE7XG4gICAgfVxuXG4gICAgJl9faWNvbiB7XG4gICAgICAmOmZpcnN0LWNoaWxkIHtcbiAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAmX19jb250ZW50IHtcbiAgICAgIG1hcmdpbi10b3A6IHNpemUoMTA0KTtcbiAgICB9XG5cbiAgICAmX19saXN0IHtcbiAgICAgICY6OmJlZm9yZSxcbiAgICAgICY6OmFmdGVyIHtcbiAgICAgICAgd2lkdGg6IHJlbSg1MCk7XG4gICAgICB9XG5cbiAgICAgICY6OmJlZm9yZSB7XG4gICAgICAgIGxlZnQ6IGNhbGModmFyKC0tbWFpbi1wYWRkaW5nKSAqIC0xKTtcbiAgICAgIH1cblxuICAgICAgJjo6YWZ0ZXIge1xuICAgICAgICByaWdodDogY2FsYyh2YXIoLS1tYWluLXBhZGRpbmcpICogLTEpO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIEBpbmNsdWRlIG1lZGlhKHBob25lKSB7XG4gICAgLy8tIGlwaG9uZSDQv9GA0L7QsdC70LXQvNGLINGBIHZoKClcbiAgICBtaW4taGVpZ2h0OiBjYWxjKDEwMHZoIC0gdmFyKC0taGVhZGVyLWhlaWdodCkgLSBzaXplKDYwKSk7XG5cbiAgICAmX190b3Age1xuICAgICAgcGFkZGluZzogc2l6ZSgxNikgMDtcbiAgICB9XG5cbiAgICAmX19ib3R0b20ge1xuICAgICAgcGFkZGluZzogc2l6ZSgxNikgMDtcbiAgICB9XG5cbiAgICAmX19jb250ZW50IHtcbiAgICAgIG1hcmdpbi10b3A6IHNpemUoNjMpO1xuICAgIH1cblxuICAgICZfX21vYmlsZSB7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgICBwYWRkaW5nOiBzaXplKDI0KSAwO1xuICAgIH1cbiAgfVxufVxuXG4uaW9zIC5uYW1lLXByb2R1Y3Qge1xuICBAaW5jbHVkZSBtZWRpYShwaG9uZSkge1xuICAgIG1pbi1oZWlnaHQ6IGNhbGMoMTAwdmggLSB2YXIoLS1oZWFkZXItaGVpZ2h0KSAtIHNpemUoMTAwKSk7XG4gIH1cbn1cbiIsIi5wcm9qZWN0LXNlY3Rpb24ge1xuICAmX19saW5lIHtcbiAgICBtYXJnaW4tdG9wOiBzaXplKDM1MCk7XG4gICAgbWFyZ2luLWJvdHRvbTogc2l6ZSg3Mik7XG4gIH1cblxuICAmX19ncmlkIHtcbiAgICBkaXNwbGF5OiBncmlkO1xuICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KDIsIG1pbm1heCgwLCAxZnIpKTtcbiAgICBnYXA6IDFweDtcbiAgICBib3JkZXI6IDFweCBkYXNoZWQgdmFyKC0tY29sb3ItYm9yZGVyLXByaW1hcnkpO1xuICAgIGJvcmRlci1yaWdodDogbm9uZTtcblxuICAgICY6aGFzKDpob3ZlcikgLnByb2plY3Q6OmJlZm9yZSB7XG4gICAgICBvcGFjaXR5OiAwO1xuICAgIH1cbiAgfVxuXG4gICZfX2VsZW0ge1xuICAgIGJvcmRlci1yaWdodDogMXB4IGRhc2hlZCB2YXIoLS1jb2xvci1ib3JkZXItcHJpbWFyeSk7XG5cbiAgICAmOm50aC1jaGlsZChuKzMpIHtcbiAgICAgIGJvcmRlci10b3A6IDFweCBkYXNoZWQgdmFyKC0tY29sb3ItYm9yZGVyLXByaW1hcnkpO1xuICAgIH1cblxuICAgIC8vICY6bnRoLWNoaWxkKG4rMik6bnRoLWNoaWxkKG9kZCkge1xuICAgIC8vICAgJjo6YmVmb3JlIHtcbiAgICAvLyAgICAgY29udGVudDogJyc7XG4gICAgLy8gICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIC8vICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgLy8gICAgIHRvcDogLTFweDtcbiAgICAvLyAgICAgcmlnaHQ6IC0xcHg7XG4gICAgLy8gICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKDUwJSwgLTUwJSk7XG4gICAgLy8gICAgIHdpZHRoOiAxMHB4O1xuICAgIC8vICAgICBoZWlnaHQ6IDEwcHg7XG4gICAgLy8gICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCgnLi4vaW1nL2JnL2Nvbm5lY3Rpb24tMi5zdmcnKTtcbiAgICAvLyAgICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgICAvLyAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyO1xuICAgIC8vICAgICBiYWNrZ3JvdW5kLXNpemU6IDEwMCUgMTAwJTtcbiAgICAvLyAgICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY29sb3ItcHJpbWFyeS1jb250cmFzdCk7XG4gICAgLy8gICAgIHotaW5kZXg6IDE7XG4gICAgLy8gICAgIHRyYW5zaXRpb246IG9wYWNpdHkgMC4zcztcbiAgICAvLyAgIH1cbiAgICAvLyB9XG5cbiAgICAmLnByb2plY3QtLXN0dWI6bnRoLWNoaWxkKDMpLFxuICAgICYucHJvamVjdC0tc3R1YjpudGgtY2hpbGQoNSksXG4gICAgJi5wcm9qZWN0LS1zdHViOm50aC1jaGlsZCg3KSB7XG4gICAgICBncmlkLWNvbHVtbjogMS8tMTtcbiAgICB9XG4gIH1cblxuICAmX19ib3gge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgfVxuXG4gICZfX2JveDpoYXMoOmhvdmVyKSAmX19ob3ZlciB7XG4gICAgb3BhY2l0eTogMTtcbiAgfVxuXG4gICZfX2hvdmVyIHtcbiAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAwO1xuICAgIGxlZnQ6IDA7XG4gICAgei1pbmRleDogMTtcbiAgICBvcGFjaXR5OiAwO1xuICAgIHRyYW5zaXRpb246IG9wYWNpdHkgMC4xcztcbiAgfVxuXG4gIEBpbmNsdWRlIG1lZGlhKGZ1bGxoZC1iZWZvcmUpIHtcbiAgICAmX19saW5lIHtcbiAgICAgIG1hcmdpbi10b3A6IHZ3LXRvLXB4KDM1MCk7XG4gICAgICBtYXJnaW4tYm90dG9tOiB2dy10by1weCg3Mik7XG4gICAgfVxuICB9XG5cbiAgQGluY2x1ZGUgbWVkaWEocXVhZGhkKSB7XG4gICAgJl9fbGluZSB7XG4gICAgICBtYXJnaW4tdG9wOiBzaXplKDI0OCk7XG4gICAgICBtYXJnaW4tYm90dG9tOiBzaXplKDU2KTtcbiAgICB9XG4gIH1cblxuICBAaW5jbHVkZSBtZWRpYShub3RlYm9vaykge1xuICAgICZfX2hvdmVyIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxuICB9XG5cbiAgQGluY2x1ZGUgbWVkaWEodGFibGV0KSB7XG4gICAgJl9fbGluZSB7XG4gICAgICBtYXJnaW4tdG9wOiBzaXplKDE5MCk7XG4gICAgICBtYXJnaW4tYm90dG9tOiBzaXplKDQ4KTtcbiAgICB9XG5cbiAgICAmX19ncmlkIHtcbiAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogbWlubWF4KDAsIDFmcik7XG4gICAgfVxuXG4gICAgJl9fZWxlbSB7XG4gICAgICAmOm50aC1jaGlsZChuKzIpIHtcbiAgICAgICAgYm9yZGVyLXRvcDogMXB4IGRhc2hlZCB2YXIoLS1jb2xvci1ib3JkZXItcHJpbWFyeSk7XG4gICAgICB9XG5cbiAgICAgICY6bnRoLWNoaWxkKG4rMik6bnRoLWNoaWxkKG9kZCk6OmJlZm9yZSB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgQGluY2x1ZGUgbWVkaWEocGhvbmUpIHtcbiAgICAmX19saW5lIHtcbiAgICAgIG1hcmdpbi10b3A6IHNpemUoMTEwKTtcbiAgICAgIG1hcmdpbi1ib3R0b206IHNpemUoMzIpO1xuICAgIH1cblxuICAgICZfX2dyaWQge1xuICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiBtaW5tYXgoMCwgMWZyKTtcbiAgICB9XG5cbiAgICAmX19lbGVtIHtcbiAgICAgICY6bnRoLWNoaWxkKG4rMikge1xuICAgICAgICBib3JkZXItdG9wOiAxcHggZGFzaGVkIHZhcigtLWNvbG9yLWJvcmRlci1wcmltYXJ5KTtcbiAgICAgIH1cblxuICAgICAgJjpudGgtY2hpbGQobisyKTpudGgtY2hpbGQob2RkKTo6YmVmb3JlIHtcbiAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiIsIi5yZXZpZXdzLXNlY3Rpb24ge1xuICBwYWRkaW5nLXRvcDogdmFyKC0tcHktc2VjdGlvbik7XG4gIGNvbG9yOiB2YXIoLS1jb2xvci1wcmltYXJ5LWNvbnRyYXN0KTtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcblxuICAmX190aXRsZSB7XG4gICAgQGluY2x1ZGUgdGl0bGVIMTtcbiAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuXG4gICAgJjpub3QoOmxhc3QtY2hpbGQpIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IHZhcigtLXB5LXNlY3Rpb24pO1xuICAgIH1cbiAgfVxuXG4gICZfX3NsaWRlciB7XG4gICAgcGFkZGluZzogc2l6ZSgyMDApIDA7XG4gIH1cblxuICBAaW5jbHVkZSBtZWRpYShmdWxsaGQtYmVmb3JlKSB7XG4gICAgJl9fc2xpZGVyIHtcbiAgICAgIHBhZGRpbmc6IHZ3LXRvLXB4KDIwMCkgMDtcbiAgICB9XG4gIH1cblxuICBAaW5jbHVkZSBtZWRpYShxdWFkaGQpIHtcbiAgICAmX19zbGlkZXIge1xuICAgICAgcGFkZGluZzogc2l6ZSgxNDQpIDA7XG4gICAgfVxuICB9XG5cbiAgQGluY2x1ZGUgbWVkaWEobm90ZWJvb2spIHtcbiAgICAmX19zbGlkZXIge1xuICAgICAgcGFkZGluZzogc2l6ZSgxMTIpIDA7XG4gICAgICBtYXJnaW4tbGVmdDogY2FsYyh2YXIoLS1tYWluLXBhZGRpbmcpICogLTEpO1xuICAgICAgbWFyZ2luLXJpZ2h0OiBjYWxjKHZhcigtLW1haW4tcGFkZGluZykgKiAtMSk7XG4gICAgfVxuXG4gICAgJl9faGVhZCB7XG4gICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICBtYXgtd2lkdGg6IHNpemUoNTQwKTtcbiAgICAgIG1hcmdpbjogc2l6ZSg3MikgYXV0byAwO1xuICAgIH1cbiAgfVxuXG4gIEBpbmNsdWRlIG1lZGlhKHRhYmxldCkge1xuICAgICZfX2hlYWQge1xuICAgICAgbWF4LXdpZHRoOiBzaXplKDQ0MCk7XG4gICAgfVxuICB9XG5cbiAgQGluY2x1ZGUgbWVkaWEocGhvbmUpIHtcbiAgICAmX19zbGlkZXIge1xuICAgICAgcGFkZGluZzogc2l6ZSg4OCkgMDtcbiAgICB9XG5cbiAgICAmX19oZWFkIHtcbiAgICAgIG1hcmdpbi10b3A6IHNpemUoNTYpO1xuICAgIH1cbiAgfVxufVxuIiwiLnNsb2dhbi1zZWN0aW9uIHtcbiAgbWluLWhlaWdodDogY2FsYygxMDB2aCAtIHZhcigtLWhlYWRlci1oZWlnaHQpIC0gcmVtKDc3cHgpKTtcbiAgZGlzcGxheTogZmxleDtcblxuICAmX193cmFwcGVyIHtcbiAgICBoZWlnaHQ6IGF1dG87XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICB9XG5cbiAgJl9fZ3JpZCB7XG4gICAgZGlzcGxheTogZ3JpZDtcbiAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IG1pbm1heCgwLCAxZnIpIG1pbm1heCgwLCAxZnIpO1xuICAgIGdyaWQtdGVtcGxhdGUtcm93czogbWlubWF4KDAsIDFmcikgbWlubWF4KDAsIG1pbi1jb250ZW50KSBtaW5tYXgoMCwgMWZyKTtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIH1cblxuICAmX19jZW50ZXIge1xuICAgIGdyaWQtY29sdW1uOiAxLy0xO1xuICAgIGdyaWQtcm93OiAyO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICBnYXA6IDI0cHg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICBtYXgtd2lkdGg6IHNpemUoNzIwKTtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBtYXJnaW46IDAgYXV0bztcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgei1pbmRleDogMjtcbiAgICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoMjcwZGVnLCB2YXIoLS1jb2xvci10cmFuc3BhcmVudCkgNDklLCB2YXIoLS1jb2xvci1wcmltYXJ5LWNvbnRyYXN0KSA1MCUsIHZhcigtLWNvbG9yLXRyYW5zcGFyZW50KSA1MSUpO1xuICAgIHBhZGRpbmc6IHNpemUoNzIpIDA7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuXG4gICAgJi0tbSB7XG4gICAgICBtYXgtd2lkdGg6IHNpemUoOTAwKTtcblxuICAgICAgLnNsb2dhbi1zZWN0aW9uX190aXRsZSB7XG4gICAgICAgIEBpbmNsdWRlIHRpdGxlSDM7XG4gICAgICAgIGJveC1zaGFkb3c6IDAgMCAxMDBweCA0NXB4IHZhcigtLWNvbG9yLXByaW1hcnktY29udHJhc3QpO1xuICAgICAgICBiYWNrZ3JvdW5kOiB2YXIoLS1jb2xvci1zZWNvbmRhcnktODApO1xuICAgICAgfVxuICAgIH1cblxuICAgICYtLWwge1xuICAgICAgLy8gc3R5bGVsaW50LWRpc2FibGVcbiAgICAgIG1heC13aWR0aDogcmVtKDgwMHB4KSAhaW1wb3J0YW50O1xuICAgIH1cblxuICAgICYtLWwgLnNsb2dhbi1zZWN0aW9uX19zdWJ0aXRsZS10ZXh0IHtcbiAgICAgIEBpbmNsdWRlIHRleHRNTDtcbiAgICB9XG5cbiAgICAmLS1sIC5zbG9nYW4tc2VjdGlvbl9fdGl0bGUge1xuICAgICAgQGluY2x1ZGUgdGl0bGVIMk5ldztcbiAgICB9XG5cbiAgICAmLS1nYXAge1xuICAgICAgZ2FwOiByZW0oNjBweCk7XG5cbiAgICAgIC5zbG9nYW4tc2VjdGlvbl9fY2VudGVyLWJveC1zIHtcbiAgICAgICAgbWFyZ2luLXRvcDogcmVtKDIwKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAmX19jZW50ZXItYm94IHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBnYXA6IHJlbSgyMHB4KTtcbiAgICBib3gtc2hhZG93OiAwIDAgMTAwcHggNDVweCB2YXIoLS1jb2xvci1wcmltYXJ5LWNvbnRyYXN0KTtcbiAgICBiYWNrZ3JvdW5kOiB2YXIoLS1jb2xvci1zZWNvbmRhcnktODApO1xuXG4gICAgJi1zIHtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgIGJveC1zaGFkb3c6IDAgMCAxMDBweCA0NXB4IHZhcigtLWNvbG9yLXByaW1hcnktY29udHJhc3QpO1xuICAgICAgYmFja2dyb3VuZDogdmFyKC0tY29sb3Itc2Vjb25kYXJ5LTgwKTtcblxuICAgICAgLmJ0biB7XG4gICAgICAgIG1hcmdpbi10b3A6IHJlbSgyMHB4KTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAmX19idG4ge1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgIHBhZGRpbmc6IDE4cHggMDtcbiAgICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMC40cyBlYXNlLWluLW91dDtcblxuICAgICYuaXMtaGlkZGVuIHtcbiAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMTAwJSk7XG4gICAgfVxuICB9XG5cbiAgJl9fdGl0bGUge1xuICAgIEBpbmNsdWRlIHRpdGxlSDI7XG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG5cbiAgICAmLS1jb2xvciB7XG4gICAgICBiYWNrZ3JvdW5kLWltYWdlOiBsaW5lYXItZ3JhZGllbnQoMTUwZGVnLCByZ2JhKDEwNSwgMTM5LCAyMzEsIDEpIDQxJSwgcmdiYSgyMzQsIDE0NCwgMTA2LCAxKSAxMDAlKTtcbiAgICAgIGJhY2tncm91bmQtY2xpcDogdGV4dDtcbiAgICAgIC13ZWJraXQtdGV4dC1maWxsLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICAgIGNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICB9XG4gIH1cblxuICAmX19zdWJ0aXRsZSB7XG4gICAgQGluY2x1ZGUgdGl0bGVINDtcbiAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICBiYWNrZ3JvdW5kOiB2YXIoLS1jb2xvci1zZWNvbmRhcnktODApO1xuICAgIGJveC1zaGFkb3c6IDAgMCAxMDBweCA0NXB4IHZhcigtLWNvbG9yLXByaW1hcnktY29udHJhc3QpO1xuICB9XG5cbiAgQGluY2x1ZGUgbWVkaWEoaG92ZXIpIHtcbiAgICAmX19idG46aG92ZXIge1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgei1pbmRleDogMTtcbiAgICAgIGFuaW1hdGlvbjogZmxpY2tlciAwLjFzIHN0ZXAtZW5kIGZvcndhcmRzO1xuICAgIH1cblxuICAgICZfX2J0bjpob3ZlciAudGV4dC1vcGFjaXR5IHtcbiAgICAgIGFuaW1hdGlvbjogZmxpY2tlci10ZXh0IDAuMDFzIHN0ZXAtZW5kIGZvcndhcmRzO1xuICAgIH1cbiAgfVxuXG4gIEBpbmNsdWRlIG1lZGlhKGZ1bGxoZC1iZWZvcmUpIHtcbiAgICAmX19jZW50ZXIge1xuICAgICAgcGFkZGluZzogdnctdG8tcHgoNzIpIDA7XG4gICAgICBtYXgtd2lkdGg6IHZ3LXRvLXB4KDcyMCk7XG5cbiAgICAgICYtLW0ge1xuICAgICAgICBtYXgtd2lkdGg6IHZ3LXRvLXB4KDkwMCk7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgQGluY2x1ZGUgbWVkaWEocXVhZGhkKSB7XG4gICAgbWluLWhlaWdodDogY2FsYygxMDB2aCAtIHZhcigtLWhlYWRlci1oZWlnaHQpIC0gcmVtKDExMHB4KSk7XG5cbiAgICAmX19jZW50ZXIge1xuICAgICAgcGFkZGluZzogc2l6ZSg1NikgMDtcbiAgICAgIG1heC13aWR0aDogc2l6ZSg2NTUpO1xuXG4gICAgICAmLS1tIHtcbiAgICAgICAgbWF4LXdpZHRoOiBzaXplKDY1OCk7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgQGluY2x1ZGUgbWVkaWEodGFibGV0KSB7XG4gICAgJl9fY2VudGVyIHtcbiAgICAgIHBhZGRpbmc6IHNpemUoNDgpIDA7XG4gICAgICBiYWNrZ3JvdW5kOiB2YXIoLS1jb2xvci1wcmltYXJ5LWNvbnRyYXN0KTtcbiAgICAgIG1heC13aWR0aDogc2l6ZSg1NzUpO1xuXG4gICAgICAmLS1tIHtcbiAgICAgICAgbWF4LXdpZHRoOiBzaXplKDU3NSk7XG4gICAgICB9XG5cbiAgICAgICYtLWdhcCB7XG4gICAgICAgIGdhcDogcmVtKDQ4cHgpO1xuICAgICAgfVxuICAgIH1cblxuICAgICZfX2NlbnRlci1ib3gsXG4gICAgJl9fY2VudGVyLWJveC1zIHtcbiAgICAgIGJveC1zaGFkb3c6IG5vbmU7XG4gICAgICBiYWNrZ3JvdW5kOiBub25lO1xuICAgIH1cbiAgfVxuXG4gIEBpbmNsdWRlIG1lZGlhKHBob25lKSB7XG4gICAgLy8tIGlwaG9uZSDQv9GA0L7QsdC70LXQvNGLINGBIHZoKClcbiAgICBtaW4taGVpZ2h0OiBjYWxjKDEwMHZoIC0gdmFyKC0taGVhZGVyLWhlaWdodCkgLSByZW0oMTEwcHgpKTtcbiAgICBwYWRkaW5nLXRvcDogMDtcblxuICAgICZfX2J0biB7XG4gICAgICBkaXNwbGF5OiBub25lO1xuICAgIH1cblxuICAgICZfX3N1YnRpdGxlIHtcbiAgICAgIG1heC13aWR0aDogODAlO1xuICAgIH1cblxuICAgICZfX2NlbnRlciB7XG4gICAgICBwYWRkaW5nOiBzaXplKDMyKSAwO1xuICAgICAgZ2FwOiBzaXplKDE2KTtcblxuICAgICAgJi0tbSAuc2xvZ2FuLXNlY3Rpb25fX3RpdGxlIHtcbiAgICAgICAgZm9udC1zaXplOiBzaXplKDI0KTtcbiAgICAgICAgd2lkdGg6IDk5JTtcbiAgICAgIH1cblxuICAgICAgJi0tZ2FwIHtcbiAgICAgICAgZ2FwOiByZW0oNDBweCk7XG5cbiAgICAgICAgLnNsb2dhbi1zZWN0aW9uX19jZW50ZXItYm94LXMge1xuICAgICAgICAgIG1hcmdpbi10b3A6IHJlbSg0MCk7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgJi0tbCAuc2xvZ2FuLXNlY3Rpb25fX3RpdGxlIHtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICB9XG4gICAgfVxuXG4gICAgJl9fdGl0bGUge1xuICAgICAgd2lkdGg6IDg1JTtcbiAgICB9XG4gIH1cbn1cbiIsIi5zbW9raW5nLXJvb20tc2VjdGlvbiB7XG4gIC53aWR0aCB7XG4gICAgcGFkZGluZy1pbmxpbmU6IDA7XG4gIH1cblxuICAmX19jb3JlIHtcbiAgICBkaXNwbGF5OiBncmlkO1xuICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogNzYwcHggMWZyO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICAgICY6OmJlZm9yZSB7XG4gICAgICBjb250ZW50OiAnJztcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHRvcDogMDtcbiAgICAgIGxlZnQ6IHZhcigtLW1haW4tcGFkZGluZyk7XG4gICAgICByaWdodDogdmFyKC0tbWFpbi1wYWRkaW5nKTtcbiAgICAgIGhlaWdodDogMXB4O1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY29sb3ItYm9yZGVyLXByaW1hcnkpO1xuICAgIH1cbiAgfVxuXG4gICZfX2luZm8ge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgbWF4LXdpZHRoOiByZW0oNzYwKTtcbiAgICBwYWRkaW5nLWlubGluZS1zdGFydDogdmFyKC0tbWFpbi1wYWRkaW5nKTtcbiAgICBwYWRkaW5nLXRvcDogc2l6ZSgzMik7XG4gICAgcGFkZGluZy1ib3R0b206IHNpemUoNzIpO1xuICB9XG5cbiAgJl9fdGV4dC1ibG9jayB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgIHJvdy1nYXA6IHJlbSg1Nik7XG4gICAgbWFyZ2luLWJsb2NrOiBhdXRvO1xuICB9XG5cbiAgJl9fdGV4dCB7XG4gICAgQGluY2x1ZGUgdGl0bGVIMTtcbiAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICB9XG5cbiAgJl9fY29udHJvbHMge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBjb2x1bW4tZ2FwOiByZW0oMTYpO1xuICB9XG5cbiAgJl9fY291bnRlciB7XG4gICAgQGluY2x1ZGUgdGl0bGVINDtcbiAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgIGNvbG9yOiB2YXIoLS1jb2xvci1zZWNvbmRhcnkpO1xuICB9XG5cbiAgJl9fcXItY29kZSB7XG4gICAgd2lkdGg6IHNpemUoMTUwKTtcbiAgICBoZWlnaHQ6IHNpemUoMTUwKTtcbiAgICBvcmRlcjogLTE7XG4gIH1cblxuICAmX19waWMge1xuICAgIC0tb2JqZWN0LWZpdDogY292ZXI7XG4gICAgLS1vYmplY3QtcG9zaXRpb246IGxlZnQ7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgaGVpZ2h0OiBzaXplKDExNDApO1xuICB9XG5cbiAgJl9fdGV4dC1pY24ge1xuICAgIG1hcmdpbi1sZWZ0OiBzaXplKC0xMCk7XG4gIH1cblxuICAvLyBNRURJQVxuICBAaW5jbHVkZSBtZWRpYShmdWxsaGQtYmVmb3JlKSB7XG4gICAgJl9faW5mbyB7XG4gICAgICBwYWRkaW5nLXRvcDogdnctdG8tcHgoMzIpO1xuICAgICAgcGFkZGluZy1ib3R0b206IHZ3LXRvLXB4KDcyKTtcbiAgICB9XG5cbiAgICAmX19jb3JlIHtcbiAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogODkwcHggMWZyO1xuICAgIH1cblxuICAgICZfX3BpYyB7XG4gICAgICBoZWlnaHQ6IHZ3LXRvLXB4KDExNDApO1xuICAgIH1cblxuICAgICZfX3FyLWNvZGUge1xuICAgICAgd2lkdGg6IHZ3LXRvLXB4KDE1MCk7XG4gICAgICBoZWlnaHQ6IHZ3LXRvLXB4KDE1MCk7XG4gICAgfVxuICB9XG4gIEBpbmNsdWRlIG1lZGlhKHF1YWRoZCkge1xuICAgICZfX2NvcmUge1xuICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiBzaXplKDYzNSkgMWZyO1xuICAgIH1cblxuICAgICZfX2luZm8ge1xuICAgICAgcGFkZGluZy10b3A6IHNpemUoMjQpO1xuICAgIH1cblxuICAgICZfX3FyLWNvZGUge1xuICAgICAgd2lkdGg6IHNpemUoOTApO1xuICAgICAgaGVpZ2h0OiBzaXplKDkwKTtcbiAgICB9XG5cbiAgICAmX190aXRsZSB7XG4gICAgICBtYXJnaW4tYmxvY2stZW5kOiByZW0oNzIpO1xuICAgIH1cblxuICAgICZfX3RleHQtYmxvY2sge1xuICAgICAgcm93LWdhcDogcmVtKDM1KTtcbiAgICB9XG5cbiAgICAmX190ZXh0LWljbiB7XG4gICAgICB3aWR0aDogcmVtKDQwKTtcbiAgICAgIGhlaWdodDogcmVtKDQwKTtcbiAgICB9XG5cbiAgICAmX19waWMge1xuICAgICAgaGVpZ2h0OiBzaXplKDcxMik7XG4gICAgfVxuICB9XG5cbiAgQGluY2x1ZGUgbWVkaWEoaGQpIHtcbiAgICAmX19jb3JlIHtcbiAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogc2l6ZSg3MTUpIDFmcjtcbiAgICB9XG5cbiAgICAmX19pbmZvIHtcbiAgICAgIHBhZGRpbmctdG9wOiBzaXplKDI0KTtcbiAgICB9XG5cbiAgICAmX19waWMge1xuICAgICAgLS1vYmplY3QtZml0OiBjb250YWluO1xuICAgIH1cbiAgfVxuXG4gIEBpbmNsdWRlIG1lZGlhKHRhYmxldCkge1xuICAgICZfX2NvcmUge1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgfVxuXG4gICAgJl9fcXItY29kZSB7XG4gICAgICBkaXNwbGF5OiBub25lO1xuICAgIH1cblxuICAgICZfX2luZm8ge1xuICAgICAgcGFkZGluZy1sZWZ0OiB2YXIoLS1tYWluLXBhZGRpbmcpO1xuICAgICAgcGFkZGluZy1yaWdodDogdmFyKC0tbWFpbi1wYWRkaW5nKTtcbiAgICAgIHBhZGRpbmctYm90dG9tOiAwO1xuICAgIH1cblxuICAgICZfX3BpYyB7XG4gICAgICAtLW9iamVjdC1wb3NpdGlvbjogY2VudGVyO1xuICAgICAgbWFyZ2luLXRvcDogcmVtKC0yMCk7XG4gICAgfVxuICB9XG5cbiAgQGluY2x1ZGUgbWVkaWEoc21hcnRwaG9uZSkge1xuICAgICZfX3RpdGxlIHtcbiAgICAgIG1hcmdpbi1ibG9jay1lbmQ6IHJlbSg0OCk7XG4gICAgfVxuXG4gICAgJl9fdGV4dC1pY24ge1xuICAgICAgd2lkdGg6IHJlbSgzMik7XG4gICAgICBoZWlnaHQ6IHJlbSgzMik7XG4gICAgfVxuXG4gICAgJl9fcGljIGltZyB7XG4gICAgICBtaW4td2lkdGg6IHJlbSg2MjgpO1xuICAgIH1cbiAgfVxuXG4gIEBpbmNsdWRlIG1lZGlhKHBob25lKSB7XG4gICAgJl9fcGljIHtcbiAgICAgIG1hcmdpbi10b3A6IHNpemUoLTIwKTtcbiAgICAgIGhlaWdodDogc2l6ZSg1MDApO1xuICAgIH1cbiAgfVxufVxuIiwiLnN0YW5kYXJkLWJsb2NrIHtcbiAgJl9fd2lkdGgge1xuICAgIGhlaWdodDogMTAwJTtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIH1cblxuICAmX19oZWFkIHtcbiAgICBwYWRkaW5nOiBzaXplKDI0KSAwO1xuICB9XG5cbiAgJl9fdGl0bGUge1xuICAgIEBpbmNsdWRlIHRpdGxlSDE7XG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICBtYXgtd2lkdGg6IHNpemUoNjUwKTtcblxuICAgICY6Zmlyc3QtY2hpbGQge1xuICAgICAgbWFyZ2luLXRvcDogc2l6ZSgyODApO1xuICAgIH1cbiAgfVxuXG4gICZfX2FzaWRlIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIH1cblxuICAmX19hc2lkZS1zdGlja3kge1xuICAgIHBvc2l0aW9uOiBzdGlja3k7XG4gICAgei1pbmRleDogMjtcbiAgICB0b3A6IGNhbGModmFyKC0taGVhZGVyLWhlaWdodCkgKyByZW0oMjApKTtcbiAgICBoZWlnaHQ6IDEwMHZoO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgfVxuXG4gICZfX25hdiB7XG4gICAgcG9zaXRpb246IHN0aWNreTtcbiAgICB6LWluZGV4OiAyO1xuICAgIG1hcmdpbi1yaWdodDogMXB4O1xuICAgIG1hcmdpbi1ib3R0b206IDFweDtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jb2xvci1wcmltYXJ5LWNvbnRyYXN0KTtcbiAgICB0b3A6IGNhbGMoNTAlIC0gdmFyKC0taGVhZGVyLWhlaWdodCkpO1xuICB9XG5cbiAgJl9fc3ViLW5hdiB7XG4gICAgbWFyZ2luOiBhdXRvIHNpemUoMTYpIHNpemUoMzIpIDA7XG4gICAgcG9zaXRpb246IHN0aWNreTtcbiAgICBib3R0b206IHNpemUoMjQpO1xuICAgIHRyYW5zaXRpb246IG9wYWNpdHkgMC4zcyBlYXNlO1xuXG4gICAgJi5pcy1vcGFjaXR5IHtcbiAgICAgIG9wYWNpdHk6IDA7XG4gICAgfVxuICB9XG5cbiAgJl9fbnVtYmVyIHtcbiAgICBwYWRkaW5nOiBzaXplKDMyKSAwO1xuICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWNvbG9yLXByaW1hcnktY29udHJhc3QpO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB6LWluZGV4OiAxO1xuICAgIG1hcmdpbi1yaWdodDogNXB4O1xuICB9XG5cbiAgJl9fYm9keSB7XG4gICAgZGlzcGxheTogZ3JpZDtcbiAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHNpemUoMzYwKSBtaW5tYXgoMCwgMWZyKTtcbiAgICBmbGV4LWdyb3c6IDE7XG4gICAgYm9yZGVyLXRvcDogMXB4IHNvbGlkIHZhcigtLWNvbG9yLWJvcmRlci1wcmltYXJ5KTtcbiAgfVxuXG4gICZfX3RleHQge1xuICAgIHBhZGRpbmctbGVmdDogc2l6ZSg3Mik7XG4gICAgcGFkZGluZy1yaWdodDogc2l6ZSg3Mik7XG4gICAgcGFkZGluZy1ib3R0b206IHNpemUoNTYpO1xuICB9XG5cbiAgJl9fYXJ0aWNsZSB7XG4gICAgJjpub3QoOmxhc3QtY2hpbGQpIHtcbiAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCB2YXIoLS1jb2xvci1ib3JkZXItcHJpbWFyeSk7XG4gICAgfVxuICB9XG5cbiAgJl9fcGljdHVyZSB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhc3BlY3QtcmF0aW86IDEzNTAvODAwO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIG1heC13aWR0aDogc2l6ZSgxMzUwKTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jb2xvci1zZWNvbmRhcnktMjApO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB6LWluZGV4OiAxO1xuXG4gICAgJjo6YWZ0ZXIge1xuICAgICAgY29udGVudDogJyc7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHRvcDogNTAlO1xuICAgICAgbGVmdDogNTAlO1xuICAgICAgb3BhY2l0eTogMC4yO1xuICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgLTUwJSk7XG4gICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoJy4uL2ltZy9pY29ucy9zdHViLnN2ZycpO1xuICAgICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlcjtcbiAgICAgIGJhY2tncm91bmQtc2l6ZTogY29udGFpbjtcbiAgICAgIHdpZHRoOiBzaXplKDM0NSk7XG4gICAgICBoZWlnaHQ6IHNpemUoOTUpO1xuICAgICAgei1pbmRleDogLTE7XG4gICAgfVxuXG4gICAgJjpoYXMocGljdHVyZSksXG4gICAgJjpoYXModmlkZW8pIHtcbiAgICAgIGFzcGVjdC1yYXRpbzogYXV0bztcbiAgICB9XG4gIH1cblxuICAmX19pbWcge1xuICAgIC0tb2JqZWN0LWZpdDogY29udGFpbjtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6IGF1dG87XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY29sb3ItcHJpbWFyeS1jb250cmFzdCk7XG4gIH1cblxuICAmX192aWRlbyB7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIG1heC1oZWlnaHQ6IHNpemUoNzk0KTtcbiAgICBvYmplY3QtZml0OiBjb3ZlcjtcbiAgfVxuXG4gICY6bGFzdC1jaGlsZCAmX19hcnRpY2xlOmxhc3QtY2hpbGQge1xuICAgIHBhZGRpbmctYm90dG9tOiBzaXplKDcyKTtcbiAgfVxuXG4gIEBpbmNsdWRlIG1lZGlhKGZ1bGxoZC1iZWZvcmUpIHtcbiAgICAmX19zdWItbmF2IHtcbiAgICAgIGJvdHRvbTogdnctdG8tcHgoMjQpO1xuICAgICAgbWFyZ2luOiBhdXRvIHZ3LXRvLXB4KDMyKSB2dy10by1weCgzMikgMDtcbiAgICB9XG5cbiAgICAmX19udW1iZXIge1xuICAgICAgcGFkZGluZzogdnctdG8tcHgoMzIpIDA7XG4gICAgfVxuXG4gICAgJl9fcGljdHVyZSB7XG4gICAgICBtYXgtd2lkdGg6IHZ3LXRvLXB4KDEzNTApO1xuICAgIH1cblxuICAgICZfX3RpdGxlIHtcbiAgICAgICY6Zmlyc3QtY2hpbGQge1xuICAgICAgICBtYXJnaW4tdG9wOiB2dy10by1weCgyODApO1xuICAgICAgfVxuICAgIH1cblxuICAgICZfX3RleHQge1xuICAgICAgcGFkZGluZy1sZWZ0OiB2dy10by1weCg3Mik7XG4gICAgICBwYWRkaW5nLXJpZ2h0OiB2dy10by1weCg3Mik7XG4gICAgICBwYWRkaW5nLWJvdHRvbTogdnctdG8tcHgoNTYpO1xuICAgIH1cblxuICAgICZfX3ZpZGVvIHtcbiAgICAgIG1heC1oZWlnaHQ6IHZ3LXRvLXB4KDc5MCk7XG4gICAgfVxuXG4gICAgJjpsYXN0LWNoaWxkICZfX2FydGljbGU6bGFzdC1jaGlsZCB7XG4gICAgICBwYWRkaW5nLWJvdHRvbTogdnctdG8tcHgoNzIpO1xuICAgIH1cbiAgfVxuXG4gIEBpbmNsdWRlIG1lZGlhKHF1YWRoZCkge1xuICAgICZfX251bWJlciB7XG4gICAgICBwYWRkaW5nOiBzaXplKDI0KSAwO1xuICAgIH1cblxuICAgICZfX3RpdGxlIHtcbiAgICAgICY6Zmlyc3QtY2hpbGQge1xuICAgICAgICBtYXJnaW4tdG9wOiBzaXplKDI4MCk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgJl9fYm9keSB7XG4gICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHNpemUoMjgwKSBtaW5tYXgoMCwgNWZyKTtcbiAgICB9XG5cbiAgICAmX19zdWItbmF2IHtcbiAgICAgIG1hcmdpbi1yaWdodDogMDtcbiAgICB9XG4gIH1cblxuICBAaW5jbHVkZSBtZWRpYSh0YWJsZXQpIHtcbiAgICAmX19ib2R5IHtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuXG4gICAgICAuYm94LWRlY29yX19kZWNvciB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICB9XG4gICAgfVxuXG4gICAgJl9fYXNpZGUge1xuICAgICAgZGlzcGxheTogY29udGVudHM7XG4gICAgfVxuXG4gICAgJl9fYXNpZGUtc3RpY2t5IHtcbiAgICAgIHBvc2l0aW9uOiBzdGF0aWM7XG4gICAgICBoZWlnaHQ6IGF1dG87XG4gICAgICBkaXNwbGF5OiBjb250ZW50cztcbiAgICB9XG5cbiAgICAmX19udW1iZXIge1xuICAgICAgcGFkZGluZy1ib3R0b206IHNpemUoNzIpO1xuICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIHZhcigtLWNvbG9yLWJvcmRlci1wcmltYXJ5KTtcbiAgICB9XG5cbiAgICAmX19uYXYge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY29sb3ItcHJpbWFyeS1jb250cmFzdCk7XG4gICAgICB0b3A6IHZhcigtLWhlYWRlci1oZWlnaHQpO1xuICAgICAgei1pbmRleDogdmFyKC0tei1oZWFkZXIpO1xuICAgICAgbWFyZ2luLWxlZnQ6IGNhbGModmFyKC0tbWFpbi1wYWRkaW5nKSAqIC0xKTtcbiAgICAgIG1hcmdpbi1yaWdodDogY2FsYyh2YXIoLS1tYWluLXBhZGRpbmcpICogLTEpO1xuXG4gICAgICAmOjpiZWZvcmUsXG4gICAgICAmOjphZnRlciB7XG4gICAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHRvcDogMDtcbiAgICAgICAgYm90dG9tOiAwO1xuICAgICAgICB3aWR0aDogdmFyKC0tbWFpbi1wYWRkaW5nKTtcbiAgICAgICAgei1pbmRleDogMztcbiAgICAgICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gICAgICB9XG5cbiAgICAgICY6OmFmdGVyIHtcbiAgICAgICAgcmlnaHQ6IDA7XG4gICAgICAgIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCg5MGRlZywgdmFyKC0tY29sb3ItdHJhbnNwYXJlbnQpIDAlLCB2YXIoLS1jb2xvci1wcmltYXJ5LWNvbnRyYXN0KSAxMDAlKTtcbiAgICAgIH1cblxuICAgICAgJjo6YmVmb3JlIHtcbiAgICAgICAgbGVmdDogMDtcbiAgICAgICAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KC05MGRlZywgdmFyKC0tY29sb3ItdHJhbnNwYXJlbnQpIDAlLCB2YXIoLS1jb2xvci1wcmltYXJ5LWNvbnRyYXN0KSAxMDAlKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAmX19zdWItbmF2IHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxuXG4gICAgJl9fbmF2LWVsZW0ge1xuICAgICAgQGluY2x1ZGUgaGlkZS1zY3JvbGw7XG4gICAgICBvdmVyZmxvdy14OiBhdXRvO1xuICAgICAgcGFkZGluZy1sZWZ0OiB2YXIoLS1tYWluLXBhZGRpbmcpO1xuICAgICAgcGFkZGluZy1yaWdodDogdmFyKC0tbWFpbi1wYWRkaW5nKTtcbiAgICB9XG5cbiAgICAmX190aXRsZSB7XG4gICAgICAmOmZpcnN0LWNoaWxkIHtcbiAgICAgICAgbWFyZ2luLXRvcDogc2l6ZSgxNzYpO1xuICAgICAgfVxuICAgIH1cblxuICAgICZfX3RleHQge1xuICAgICAgcGFkZGluZy1sZWZ0OiAwO1xuICAgICAgcGFkZGluZy1yaWdodDogMDtcbiAgICAgIHBhZGRpbmctYm90dG9tOiBzaXplKDQ4KTtcbiAgICB9XG5cbiAgICAmX19waWN0dXJlIHtcbiAgICAgIG1hcmdpbi1sZWZ0OiBjYWxjKHZhcigtLW1haW4tcGFkZGluZykgKiAtMSk7XG4gICAgICBtYXJnaW4tcmlnaHQ6IGNhbGModmFyKC0tbWFpbi1wYWRkaW5nKSAqIC0xKTtcbiAgICAgIG1heC13aWR0aDogbm9uZTtcbiAgICAgIHdpZHRoOiBhdXRvO1xuXG4gICAgICAmOjphZnRlciB7XG4gICAgICAgIHdpZHRoOiBzaXplKDE3Myk7XG4gICAgICAgIGhlaWdodDogc2l6ZSg0OCk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgJjpsYXN0LWNoaWxkICZfX2FydGljbGU6bGFzdC1jaGlsZCB7XG4gICAgICBwYWRkaW5nLWJvdHRvbTogc2l6ZSg2NCk7XG4gICAgfVxuXG4gICAgJl9fYXJ0aWNsZTpmaXJzdC1jaGlsZCB7XG4gICAgICBtYXJnaW4tdG9wOiBzaXplKDc4KTtcbiAgICB9XG4gIH1cblxuICBAaW5jbHVkZSBtZWRpYShwaG9uZSkge1xuICAgICZfX2hlYWQge1xuICAgICAgcGFkZGluZzogc2l6ZSgxNikgMDtcbiAgICB9XG5cbiAgICAmX19udW1iZXIge1xuICAgICAgcGFkZGluZy1ib3R0b206IHNpemUoNDYpO1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY29sb3ItdHJhbnNwYXJlbnQpO1xuICAgIH1cblxuICAgICZfX3RleHQge1xuICAgICAgcGFkZGluZy1ib3R0b206IHNpemUoMzIpO1xuICAgIH1cblxuICAgICZfX3BpY3R1cmUge1xuICAgICAgLy8gaVBob25lMTIg0L3QtSDRgNCw0LHQvtGC0LDQtdGCIGFzcGVjdC1yYXRpb1xuICAgICAgYXNwZWN0LXJhdGlvOiBhdXRvO1xuICAgICAgbWluLWhlaWdodDogc2l6ZSgyNjApO1xuXG4gICAgICAmOjphZnRlciB7XG4gICAgICAgIHdpZHRoOiBzaXplKDE3Myk7XG4gICAgICAgIGhlaWdodDogc2l6ZSg0OCk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgJl9fdmlkZW8ge1xuICAgICAgbWF4LWhlaWdodDogc2l6ZSgyNjApO1xuICAgIH1cblxuICAgICZfX3RpdGxlIHtcbiAgICAgICY6Zmlyc3QtY2hpbGQge1xuICAgICAgICBtYXJnaW4tdG9wOiBzaXplKDE0NCk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgJjpsYXN0LWNoaWxkICZfX2FydGljbGU6bGFzdC1jaGlsZCB7XG4gICAgICBwYWRkaW5nLWJvdHRvbTogc2l6ZSg1Nik7XG4gICAgfVxuXG4gICAgJl9fYXJ0aWNsZTpmaXJzdC1jaGlsZCB7XG4gICAgICBtYXJnaW4tdG9wOiBzaXplKDQ5KTtcbiAgICB9XG4gIH1cbn1cbiIsIi50ZWFtLXNlY3Rpb24ge1xuICAmX193cmFwcGVyIHtcbiAgICBib3JkZXItdG9wOiAxcHggc29saWQgdmFyKC0tY29sb3ItYm9yZGVyLXByaW1hcnkpO1xuICAgIHBhZGRpbmctdG9wOiBzaXplKDMyKTtcbiAgICBwYWRkaW5nLWJvdHRvbTogc2l6ZSgyMDApO1xuICB9XG5cbiAgJl9fc2xpZGVyIHtcbiAgICBtYXJnaW4tdG9wOiBzaXplKDE1MCk7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICBkaXNwbGF5OiBncmlkO1xuICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogbWlubWF4KDAsIDFmcikgc2l6ZSg0NTApO1xuICAgIGdhcDogc2l6ZSg1MCk7XG5cbiAgICAuc3dpcGVyLXNsaWRlIHtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgfVxuICB9XG5cbiAgJl9fc2xpZGVyLWNhcmQsXG4gICZfX3NsaWRlci1saXN0IHtcbiAgICBtaW4td2lkdGg6IDA7XG4gIH1cblxuICAmX19zbGlkZXItYm94IHtcbiAgICBAaW5jbHVkZSBoaWRlLXNjcm9sbDtcbiAgICBoZWlnaHQ6IHZhcigtLXNsaWRlci1oZWlnaHQpO1xuICAgIG92ZXJmbG93OiBhdXRvO1xuICB9XG5cbiAgJl9fc2xpZGVyLWxpc3Qge1xuICAgIGhlaWdodDogZml0LWNvbnRlbnQ7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gICAgLnN3aXBlci13cmFwcGVyIHtcbiAgICAgIGRpc3BsYXk6IGdyaWQ7XG4gICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdCgzLCBtaW5tYXgoMCwgMWZyKSk7XG4gICAgICBncmlkLXRlbXBsYXRlLXJvd3M6IHJlcGVhdChhdXRvLWZpbGwsIHNpemUoMTUwKSk7XG4gICAgfVxuICB9XG5cbiAgJl9fZWxlbS1ob3ZlciB7XG4gICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMDtcbiAgICBsZWZ0OiAwO1xuICAgIHotaW5kZXg6IDI7XG4gICAgdHJhbnNpdGlvbjogb3BhY2l0eSAwLjFzO1xuICB9XG5cbiAgQGluY2x1ZGUgbWVkaWEoZnVsbGhkLWJlZm9yZSkge1xuICAgICZfX3dyYXBwZXIge1xuICAgICAgcGFkZGluZy10b3A6IHZ3LXRvLXB4KDMyKTtcbiAgICAgIHBhZGRpbmctYm90dG9tOiB2dy10by1weCgyMDApO1xuICAgIH1cbiAgfVxuXG4gIEBpbmNsdWRlIG1lZGlhKHF1YWRoZCkge1xuICAgICZfX3dyYXBwZXIge1xuICAgICAgcGFkZGluZy10b3A6IHNpemUoMjQpO1xuICAgICAgcGFkZGluZy1ib3R0b206IHNpemUoMTQ0KTtcbiAgICB9XG5cbiAgICAmX19zbGlkZXIge1xuICAgICAgbWFyZ2luLXRvcDogc2l6ZSgxMDApO1xuICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiBtaW5tYXgoMCwgMWZyKSBzaXplKDMyNSk7XG4gICAgICBnYXA6IHNpemUoNDApO1xuICAgIH1cblxuICAgICZfX3NsaWRlci1saXN0IHtcbiAgICAgIC5zd2lwZXItd3JhcHBlciB7XG4gICAgICAgIGdyaWQtdGVtcGxhdGUtcm93czogcmVwZWF0KGF1dG8tZmlsbCwgc2l6ZSgxMDgpKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBAaW5jbHVkZSBtZWRpYShoZCkge1xuICAgICZfX3NsaWRlciB7XG4gICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IG1pbm1heCgwLCAxZnIpIHNpemUoMjE2KTtcbiAgICAgIGdhcDogc2l6ZSgyMCk7XG4gICAgfVxuXG4gICAgJl9fc2xpZGVyLWxpc3Qge1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gICAgICAuc3dpcGVyLXdyYXBwZXIge1xuICAgICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdCgyLCBtaW5tYXgoMCwgMWZyKSk7XG4gICAgICB9XG5cbiAgICAgICY6OmFmdGVyIHtcbiAgICAgICAgY29udGVudDogJyc7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgbGVmdDogMDtcbiAgICAgICAgcmlnaHQ6IDA7XG4gICAgICAgIGJvdHRvbTogMDtcbiAgICAgICAgaGVpZ2h0OiBzaXplKDgzKTtcbiAgICAgICAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KDE4MGRlZywgcmdiYSgyNTUsIDI1NSwgMjU1LCAwKSAwJSwgcmdiYSg4LCA4LCA4LCAxKSAxMDAlKTtcbiAgICAgICAgei1pbmRleDogMTtcbiAgICAgICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgQGluY2x1ZGUgbWVkaWEodGFibGV0KSB7XG4gICAgJl9fd3JhcHBlciB7XG4gICAgICBwYWRkaW5nLWJvdHRvbTogc2l6ZSgxMTIpO1xuICAgIH1cblxuICAgICZfX3NsaWRlciB7XG4gICAgICBtYXJnaW4tdG9wOiBzaXplKDcyKTtcbiAgICAgIGdhcDogc2l6ZSg4KTtcbiAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogbWlubWF4KDAsIDFmcikgc2l6ZSgyMTYpO1xuICAgIH1cbiAgfVxuXG4gIEBpbmNsdWRlIG1lZGlhKHBob25lKSB7XG4gICAgJl9fd3JhcHBlciB7XG4gICAgICBwYWRkaW5nLXRvcDogc2l6ZSgxNik7XG4gICAgICBwYWRkaW5nLWJvdHRvbTogc2l6ZSg4OCk7XG4gICAgfVxuXG4gICAgJl9fc2xpZGVyIHtcbiAgICAgIG1hcmdpbi10b3A6IHNpemUoNTYpO1xuICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiBtaW5tYXgoMCwgMWZyKTtcbiAgICAgIGdhcDogc2l6ZSg4KTtcbiAgICAgIG1hcmdpbi1sZWZ0OiBjYWxjKHZhcigtLW1haW4tcGFkZGluZykgKiAtMSk7XG4gICAgICBtYXJnaW4tcmlnaHQ6IGNhbGModmFyKC0tbWFpbi1wYWRkaW5nKSAqIC0xKTtcbiAgICB9XG5cbiAgICAmX19zbGlkZXItY2FyZCB7XG4gICAgICBwYWRkaW5nLWxlZnQ6IHZhcigtLW1haW4tcGFkZGluZyk7XG4gICAgICBwYWRkaW5nLXJpZ2h0OiB2YXIoLS1tYWluLXBhZGRpbmcpO1xuICAgIH1cblxuICAgICZfX3NsaWRlci1saXN0IHtcbiAgICAgIG9yZGVyOiAtMTtcblxuICAgICAgLnN3aXBlci13cmFwcGVyIHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIH1cblxuICAgICAgJjo6YWZ0ZXIge1xuICAgICAgICBsZWZ0OiBhdXRvO1xuICAgICAgICByaWdodDogMDtcbiAgICAgICAgdG9wOiAwO1xuICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICAgIHdpZHRoOiBzaXplKDEwMCk7XG4gICAgICAgIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCg5NGRlZywgcmdiYSgyNTQsIDI1NCwgMjU0LCAwKSAwJSwgcmdiYSg4LCA4LCA4LCAxKSA3NSUpO1xuICAgICAgICB0cmFuc2l0aW9uOiBvcGFjaXR5IDAuM3M7XG4gICAgICB9XG4gICAgfVxuXG4gICAgJl9fc2xpZGVyLWJveCB7XG4gICAgICBoZWlnaHQ6IGF1dG87XG4gICAgICBvdmVyZmxvdzogYXV0bztcbiAgICAgIG92ZXJmbG93LXk6IGhpZGRlbjtcbiAgICAgIHBhZGRpbmctbGVmdDogdmFyKC0tbWFpbi1wYWRkaW5nKTtcbiAgICAgIHBhZGRpbmctcmlnaHQ6IHZhcigtLW1haW4tcGFkZGluZyk7XG4gICAgfVxuICB9XG59XG4iLCIucGFnZSB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBtaW4taGVpZ2h0OiAxMDB2aDtcblxuICAmLS11aS1raXQgJl9fY29yZSB7XG4gICAgcGFkZGluZzogMDtcbiAgfVxuXG4gICZfX2NvcmUge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBmbGV4OiAwIDAgYXV0bztcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgcGFkZGluZy10b3A6IHZhcigtLWhlYWRlci1oZWlnaHQpO1xuICAgIGZsZXgtZ3JvdzogMTtcbiAgICAvLyBJcGhvbmUg0LvQvtC80LDQtdGCINCw0L3QuNC80LDRhtC40Y4g0YTRg9GC0LXRgNCwINC4INGB0LrRgNC+0LvQuNGCINCx0L7Qu9GM0YjQtSwg0YfQtdC8INC90LDQtNC+XG4gICAgLy8gc3R5bGVsaW50LWRpc2FibGVcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgwLCAwKSAhaW1wb3J0YW50O1xuICB9XG5cbiAgJl9fb3ZlcmxheSB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHotaW5kZXg6IDI7XG4gICAgdG9wOiAwO1xuICAgIGxlZnQ6IDA7XG4gICAgcmlnaHQ6IDA7XG4gICAgYm90dG9tOiAwO1xuICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICAgIG9wYWNpdHk6IDA7XG4gICAgYmFja2dyb3VuZDogdmFyKC0tY29sb3ItcHJpbWFyeS1jb250cmFzdCk7XG4gICAgdHJhbnNpdGlvbjogb3BhY2l0eSAwLjJzIGVhc2UtaW4tb3V0O1xuICB9XG5cbiAgQGluY2x1ZGUgbWVkaWEocGhvbmUpIHtcbiAgICBtaW4taGVpZ2h0OiAxMDAlO1xuICB9XG59XG5cbi5wYWdlLXByb2R1Y3Qge1xuICAuZm9vdGVyX19ib3R0b20ge1xuICAgIGRpc3BsYXk6IGdyaWQ7XG4gICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoMywgbWlubWF4KDAsIDFmcikpO1xuICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gIH1cblxuICAuZm9vdGVyX19ib3gge1xuICAgIGRpc3BsYXk6IGNvbnRlbnRzO1xuICB9XG5cbiAgLmZvb3Rlcl9fcGhvbmVzIHtcbiAgICBvcmRlcjogMjtcbiAgICBtYXJnaW4tbGVmdDogYXV0bztcbiAgICBjb2x1bW4tZ2FwOiByZW0oMTZweCk7XG4gIH1cblxuICAuZm9vdGVyX19idG4ge1xuICAgIG1hcmdpbjogMCBhdXRvO1xuICB9XG5cbiAgQGluY2x1ZGUgbWVkaWEodGFibGV0KSB7XG4gICAgLmZvb3Rlcl9fYm90dG9tIHtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgfVxuXG4gICAgLmZvb3Rlcl9fdGV4dCB7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIG9yZGVyOiAtMTtcbiAgICB9XG5cbiAgICAuZm9vdGVyX19waG9uZXMge1xuICAgICAgb3JkZXI6IGluaGVyaXQ7XG4gICAgICBtYXJnaW4tbGVmdDogMDtcbiAgICB9XG5cbiAgICAuZm9vdGVyX19ib3gge1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgIH1cblxuICAgIC5mb290ZXJfX2J0biB7XG4gICAgICBtYXJnaW46IDA7XG4gICAgfVxuICB9XG5cbiAgQGluY2x1ZGUgbWVkaWEoc21hcnRwaG9uZSkge1xuICAgIC5mb290ZXJfX2JvdHRvbSB7XG4gICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgIH1cbiAgfVxufVxuIiwiLmZvb3RlciB7XG4gIGZsZXg6IDAgMCBhdXRvO1xuICB3aWR0aDogMTAwJTtcblxuICAmX193cmFwcGVyIHtcbiAgICBtYXJnaW4tdG9wOiBhdXRvO1xuICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWNvbG9yLXByaW1hcnkpO1xuICAgIGNvbG9yOiB2YXIoLS1jb2xvci1wcmltYXJ5LWNvbnRyYXN0KTtcbiAgICBwYWRkaW5nOiBzaXplKDY0KSB2YXIoLS1tYWluLXBhZGRpbmcpIDA7XG4gICAgYm9yZGVyLXJhZGl1czogJHJhZGl1cy1sICRyYWRpdXMtbCAwIDA7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICBoZWlnaHQ6IGNhbGMoMTAwdmggLSB2YXIoLS1oZWFkZXItaGVpZ2h0KSk7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICAgICY6OmJlZm9yZSB7XG4gICAgICBjb250ZW50OiAnJztcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIGxlZnQ6IDUwJTtcbiAgICAgIHRvcDogcmVtKDMycHgpO1xuICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC01MCUpO1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICB3aWR0aDogcmVtKDg0cHgpO1xuICAgICAgaGVpZ2h0OiByZW0oMjRweCk7XG4gICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoJy4uL2ltZy9iZy9mb290ZXItaWNvbi5zdmcnKTtcbiAgICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXI7XG4gICAgICBiYWNrZ3JvdW5kLXNpemU6IDEwMCU7XG4gICAgICB6LWluZGV4OiAxO1xuICAgIH1cblxuICAgICY6OmFmdGVyIHtcbiAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgbGVmdDogMDtcbiAgICAgIHJpZ2h0OiAwO1xuICAgICAgaGVpZ2h0OiByZW0oNTBweCk7XG4gICAgICB0b3A6IHJlbSg1MHB4KTtcbiAgICAgIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCgxODBkZWcsIHZhcigtLWNvbG9yLXByaW1hcnkpIDUwJSwgdmFyKC0tY29sb3ItdHJhbnNwYXJlbnQpIDEwMCUpO1xuICAgIH1cbiAgfVxuXG4gICZfX3dyYXBwZXItbWluaSB7XG4gICAgcGFkZGluZzogMCB2YXIoLS1tYWluLXBhZGRpbmcpO1xuICB9XG5cbiAgJl9fY29yZSB7XG4gICAgQGluY2x1ZGUgaGlkZS1zY3JvbGw7XG4gICAgb3ZlcnNjcm9sbC1iZWhhdmlvcjogYXV0bztcbiAgICBmbGV4LWdyb3c6IDE7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgIG92ZXJmbG93OiBhdXRvO1xuICB9XG5cbiAgJl9fYm9keSB7XG4gICAgZmxleC1ncm93OiAxO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgfVxuXG4gICZfX2JvZHkuaXMtc3VibWl0dGVkICZfX2Zvcm0ge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cblxuICAmX19ib3R0b20ge1xuICAgIGRpc3BsYXk6IGdyaWQ7XG4gICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoMiwgbWlubWF4KDAsIDFmcikpO1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgcGFkZGluZzogc2l6ZSgxNikgMDtcbiAgICBib3JkZXItdG9wOiAxcHggc29saWQgdmFyKC0tY29sb3ItYm9yZGVyLXNlY29uZGFyeSk7XG4gIH1cblxuICAmX19ib3gge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICB9XG5cbiAgJl9fZm9ybSB7XG4gICAgd2lkdGg6IDUwJTtcbiAgICBtYXJnaW4tbGVmdDogYXV0bztcbiAgICBtYXJnaW4tdG9wOiBzaXplKDIwKTtcbiAgICBtYXJnaW4tYm90dG9tOiBzaXplKDIwKTtcbiAgfVxuXG4gICZfX3RpdGxlIHtcbiAgICBAaW5jbHVkZSB0aXRsZUgyO1xuICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG5cbiAgICAmOm5vdCg6bGFzdC1jaGlsZCkge1xuICAgICAgbWFyZ2luLWJvdHRvbTogc2l6ZSgxNik7XG4gICAgfVxuICB9XG5cbiAgJl9fc3VidGl0bGUge1xuICAgIEBpbmNsdWRlIHRpdGxlSDQ7XG4gICAgZm9udC1mYW1pbHk6ICRmb250LWZhbWlseS1zZWNvbmRhcnk7XG4gIH1cblxuICAmX19yZXN1bHQtaW5mbyB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgZ2FwOiBzaXplKDI0KTtcbiAgICBtYXJnaW46IDAgYXV0bztcbiAgfVxuXG4gICZfX3Jlc3VsdC1oZWFkIHtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgbWF4LXdpZHRoOiA4MCU7XG4gIH1cblxuICAmX19pbmZvIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBnYXA6IHZhcigtLXB5LXNlY3Rpb24pO1xuICAgIG1heC13aWR0aDogc2l6ZSgxMjgwKTtcbiAgICBtYXJnaW46IDAgYXV0bztcbiAgfVxuXG4gICZfX3VwLXRleHQge1xuICAgIEBpbmNsdWRlIHRpdGxlSDU7XG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICBjb2xvcjogdmFyKC0tY29sb3Itc2Vjb25kYXJ5LWNvbnRyYXN0KTtcbiAgfVxuXG4gICZfX2JpZy10aXRsZSB7XG4gICAgQGluY2x1ZGUgdGl0bGVCaWc7XG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgLy8gd2lkdGg6IG1pbi1jb250ZW50O1xuICB9XG5cbiAgJl9fdGV4dCB7XG4gICAgQGluY2x1ZGUgdGl0bGVINTtcbiAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICB9XG5cbiAgJi0tYmxhY2sge1xuICAgIGNvbG9yOiB2YXIoLS1jb2xvci1wcmltYXJ5KTtcbiAgfVxuXG4gICYtLW1pbmkge1xuICAgIGJvcmRlci10b3A6IDFweCBzb2xpZCB2YXIoLS1jb2xvci1ib3JkZXItcHJpbWFyeSk7XG4gIH1cblxuICAmLS1taW5pIC5mb290ZXJfX2JvdHRvbSB7XG4gICAgYm9yZGVyLXRvcDogbm9uZTtcbiAgfVxuXG4gIEBpbmNsdWRlIG1lZGlhKGZ1bGxoZC1iZWZvcmUpIHtcbiAgICAmX193cmFwcGVyIHtcbiAgICAgIHBhZGRpbmc6IHZ3LXRvLXB4KDY0KSB2YXIoLS1tYWluLXBhZGRpbmcpIDA7XG4gICAgfVxuXG4gICAgJl9fZm9ybSB7XG4gICAgICBtYXJnaW4tdG9wOiB2dy10by1weCgyMCk7XG4gICAgICBtYXJnaW4tYm90dG9tOiB2dy10by1weCgyMCk7XG4gICAgfVxuXG4gICAgJl9faW5mbyB7XG4gICAgICBtYXgtd2lkdGg6IHZ3LXRvLXB4KDEyODApO1xuICAgIH1cblxuICAgICZfX2JvdHRvbSB7XG4gICAgICBwYWRkaW5nOiB2dy10by1weCgxNikgMDtcbiAgICB9XG4gIH1cblxuICBAaW5jbHVkZSBtZWRpYShxdWFkaGQpIHtcbiAgICAmX19mb3JtIHtcbiAgICAgIG1hcmdpbi10b3A6IHNpemUoNTApO1xuICAgICAgbWFyZ2luLWJvdHRvbTogc2l6ZSg1MCk7XG4gICAgfVxuXG4gICAgJl9fd3JhcHBlciB7XG4gICAgICAmOjpiZWZvcmUge1xuICAgICAgICB3aWR0aDogcmVtKDU2cHgpO1xuICAgICAgICBoZWlnaHQ6IHJlbSgxOHB4KTtcbiAgICAgICAgdG9wOiByZW0oMjRweCk7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgQGluY2x1ZGUgbWVkaWEoaGQpIHtcbiAgICAmX19ib3R0b20ge1xuICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiBtaW5tYXgoMCwgMWZyKTtcbiAgICAgIGdhcDogOHB4O1xuICAgIH1cblxuICAgICZfX2JvZHkgLmZvcm0tcmVzdWx0IHtcbiAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogbWlubWF4KDAsIDFmcikgbWlubWF4KDAsIDJmcikgbWlubWF4KDAsIDFmcik7XG4gICAgfVxuICB9XG5cbiAgQGluY2x1ZGUgbWVkaWEodGFibGV0KSB7XG4gICAgJl9fd3JhcHBlciB7XG4gICAgICBib3JkZXItcmFkaXVzOiAkcmFkaXVzLW0gJHJhZGl1cy1tIDAgMDtcbiAgICB9XG5cbiAgICAmX19mb3JtIHtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgbWFyZ2luLWxlZnQ6IDA7XG4gICAgfVxuXG4gICAgJl9fYm90dG9tIHtcbiAgICAgIHBhZGRpbmc6IHNpemUoMjQpIDAgc2l6ZSgxNik7XG4gICAgfVxuICB9XG5cblxuICBAaW5jbHVkZSBtZWRpYShzbWFydHBob25lKSB7XG4gICAgJl9fd3JhcHBlciB7XG4gICAgICAvLy0gaXBob25lINC/0YDQvtCx0LvQtdC80Ysg0YEgdmgoKVxuICAgICAgaGVpZ2h0OiBjYWxjKDEwMHZoIC0gdmFyKC0taGVhZGVyLWhlaWdodCkpO1xuICAgIH1cblxuICAgICZfX3RleHQge1xuICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIH1cblxuICAgICZfX2JveCB7XG4gICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICB9XG5cbiAgICAmX19waG9uZXMge1xuICAgICAgZGlzcGxheTogZ3JpZDtcbiAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogMWZyIDFmcjtcbiAgICB9XG4gIH1cbn1cbiIsIi5oZWFkZXIge1xuICBwb3NpdGlvbjogZml4ZWQ7XG4gIHRvcDogMDtcbiAgbGVmdDogMDtcbiAgcmlnaHQ6IDA7XG4gIC8vIHdpZHRoOiAxMDAlO1xuICBtaW4taGVpZ2h0OiA1MHB4O1xuICBwYWRkaW5nOiAwIHZhcigtLW1haW4tcGFkZGluZyk7XG4gIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWNvbG9yLXByaW1hcnktY29udHJhc3QpO1xuICB6LWluZGV4OiB2YXIoLS16LWhlYWRlcik7XG5cblxuICAmOjphZnRlciB7XG4gICAgQGluY2x1ZGUgYmx1cigyNHB4KTtcbiAgICBjb250ZW50OiAnJztcbiAgICBwb3NpdGlvbjogZml4ZWQ7XG4gICAgei1pbmRleDogLTE7XG4gICAgdG9wOiAwO1xuICAgIGxlZnQ6IDA7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICAgIG9wYWNpdHk6IDA7XG4gICAgYmFja2dyb3VuZDogdmFyKC0tY29sb3Itc2Vjb25kYXJ5LTgwKTtcbiAgICB0cmFuc2l0aW9uOiBvcGFjaXR5IDAuMnMgZWFzZS1pbi1vdXQ7XG4gIH1cblxuICAuaHlzdG1vZGFsX19vcGVuZWQgJiB7XG4gICAgcGFkZGluZy1yaWdodDogY2FsYyh2YXIoLS1tYWluLXBhZGRpbmcpICsgdmFyKC0tc2Nyb2xsLXdpZHRoKSk7XG4gIH1cblxuICAmLmhhcy1vdmVybGF5IHtcbiAgICAmOjphZnRlciB7XG4gICAgICBvcGFjaXR5OiAxO1xuICAgIH1cblxuICAgIC5oZWFkZXJfX3N1Ym1lbnUge1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICBvcGFjaXR5OiAxO1xuICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApO1xuICAgIH1cblxuICAgIC5oZWFkZXJfX3N1Ym1lbnUtaXRlbSB7XG4gICAgICBhbmltYXRpb246IHRyYW5zbGF0ZS1kb3duIDAuMXMgZm9yd2FyZHM7XG4gICAgfVxuICB9XG5cbiAgJl9fY29yZSB7XG4gICAgcGFkZGluZzogdmFyKC0tcHktaGVhZGVyKSAwO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBnYXA6IHNpemUoMTYpO1xuICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCB2YXIoLS1jb2xvci1ib3JkZXItcHJpbWFyeSk7XG4gICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICB9XG5cbiAgJl9fbG9nbyB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgZmxleDogbm9uZTtcbiAgfVxuXG4gICZfX2JveCB7XG4gICAgZmxleC1ncm93OiAxO1xuICB9XG5cbiAgJl9fYnRucyB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBnYXA6IHNpemUoNCk7XG4gIH1cblxuICAmX19idXJnZXIge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cblxuICAmX19tZW51IHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDtcbiAgICBsaXN0LXN0eWxlOiBub25lO1xuICAgIGNvdW50ZXItcmVzZXQ6IGxpc3Q7XG5cbiAgICAmLWl0ZW0ge1xuICAgICAgJjpub3QoOmxhc3QtY2hpbGQpIHtcbiAgICAgICAgcGFkZGluZy1yaWdodDogc2l6ZSgxNik7XG4gICAgICB9XG5cbiAgICAgICY6bm90KDpmaXJzdC1jaGlsZCkge1xuICAgICAgICBib3JkZXItbGVmdDogMXB4IHNvbGlkIHZhcigtLWNvbG9yLWJvcmRlci1wcmltYXJ5KTtcbiAgICAgICAgcGFkZGluZy1sZWZ0OiBzaXplKDE2KTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAmLWxpbmsge1xuICAgICAgQGluY2x1ZGUgdGl0bGVINTtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgZ2FwOiBzaXplKDQpO1xuXG4gICAgICAvLyAmOjpiZWZvcmUge1xuICAgICAgLy8gICBjb250ZW50OiAnMDAnIGNvdW50ZXIobGlzdCkgJy4gJztcbiAgICAgIC8vICAgY291bnRlci1pbmNyZW1lbnQ6IGxpc3Q7XG4gICAgICAvLyB9XG4gICAgfVxuICB9XG5cbiAgJl9fc3VibWVudSB7XG4gICAgb3BhY2l0eTogMDtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMTBweCk7XG4gICAgdHJhbnNpdGlvbjogb3BhY2l0eSAwLjNzLCB0cmFuc2Zvcm0gMC4zcztcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG5cbiAgJl9fc3VibWVudS1pdGVtIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMjBweCk7XG4gIH1cblxuICBAaW5jbHVkZSBtZWRpYShmdWxsaGQtYmVmb3JlKSB7XG4gICAgJl9fY29yZSB7XG4gICAgICBnYXA6IHZ3LXRvLXB4KDE2KTtcbiAgICB9XG5cbiAgICAmX19idG5zIHtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBnYXA6IHZ3LXRvLXB4KDQpO1xuICAgIH1cblxuICAgICZfX21lbnUtaXRlbSB7XG4gICAgICAmOm5vdCg6bGFzdC1jaGlsZCkge1xuICAgICAgICBwYWRkaW5nLXJpZ2h0OiB2dy10by1weCgxNik7XG4gICAgICB9XG5cbiAgICAgICY6bm90KDpmaXJzdC1jaGlsZCkge1xuICAgICAgICBwYWRkaW5nLWxlZnQ6IHZ3LXRvLXB4KDE2KTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAmX19tZW51LWxpbmsge1xuICAgICAgZ2FwOiB2dy10by1weCg0KTtcbiAgICB9XG4gIH1cblxuICBAaW5jbHVkZSBtZWRpYShub3RlYm9vaykge1xuICAgICZfX2J1cmdlciB7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICB9XG5cbiAgICAmX19ib3gge1xuICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG4gIH1cblxuICBAaW5jbHVkZSBtZWRpYShzbWFydHBob25lKSB7XG4gICAgJl9fY2FsbCB7XG4gICAgICBkaXNwbGF5OiBub25lO1xuICAgIH1cbiAgfVxufVxuIiwiLndpZHRoIHtcbiAgd2lkdGg6IDEwMCU7XG4gIC8vIG1heC13aWR0aDogJHdpZHRoICsgKDEwMHB4ICogMik7XG4gIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICBtYXJnaW4tcmlnaHQ6IGF1dG87XG4gIHBhZGRpbmctcmlnaHQ6IHZhcigtLW1haW4tcGFkZGluZyk7XG4gIHBhZGRpbmctbGVmdDogdmFyKC0tbWFpbi1wYWRkaW5nKTtcbiAgZmxleDogMCAwIGF1dG87XG5cbiAgQGluY2x1ZGUgbWVkaWEocXVhZGhkKSB7XG4gICAgbWF4LXdpZHRoOiAxMDAlO1xuICB9XG59XG4iLCJbZGF0YS1jdXN0b20tY2FyZXQtaW5wdXQ9J3BhcmVudCddIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBpc29sYXRpb246IGlzb2xhdGU7XG5cbiAgJjpoYXMoaW5wdXQ6Zm9jdXMsIGlucHV0OmZvY3VzLXZpc2libGUpIFtkYXRhLWN1c3RvbS1jYXJldC1pbnB1dD0nY2FyZXQtYm94J10ge1xuICAgIG9wYWNpdHk6IDE7XG4gIH1cbn1cblxuW2RhdGEtY3VzdG9tLWNhcmV0LWlucHV0PSdpbnB1dCddIHtcbiAgQGluY2x1ZGUgY3VzdG9tLWNhcmV0LXJlcXVpcmVtZW50cztcbn1cblxuW2RhdGEtY3VzdG9tLWNhcmV0LWlucHV0PSdjYXJldC1ib3gnXSB7XG4gIEBpbmNsdWRlIGN1c3RvbS1jYXJldC1yZXF1aXJlbWVudHM7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgaW5zZXQ6IDA7XG4gIHotaW5kZXg6IDE7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGNvbG9yOiB0cmFuc3BhcmVudDtcbiAgb3BhY2l0eTogMDtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG59XG5cbltkYXRhLWN1c3RvbS1jYXJldC1pbnB1dD0nY2FyZXQtY29udGVudCddIHtcbiAgZGlzcGxheTogZmxleDtcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcblxuICBbZGF0YS1jdXN0b20tY2FyZXQtaW5wdXQ9J2NhcmV0LWJlZm9yZSddLFxuICBbZGF0YS1jdXN0b20tY2FyZXQtaW5wdXQ9J2NhcmV0LWFmdGVyJ10ge1xuICAgIGZvbnQtc2l6ZTogaW5oZXJpdDtcbiAgICBsaW5lLWhlaWdodDogaW5oZXJpdDtcbiAgfVxufVxuXG5bZGF0YS1jdXN0b20tY2FyZXQtaW5wdXQ9J2NhcmV0J10ge1xuICBAaW5jbHVkZSBjdXN0b20tY2FyZXQtYmxpbmtpbmctYW5pbTtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHdpZHRoOiAwLjVlbTtcbiAgaGVpZ2h0OiAxMDAlO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiBjdXJyZW50Q29sb3I7XG59XG4iLCJbZGF0YS1jdXN0b20tY2FyZXQtdGV4dGFyZWE9J2NvbnRhaW5lciddIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gICY6aGFzKHRleHRhcmVhOmZvY3VzLCB0ZXh0YXJlYTpmb2N1cy12aXNpYmxlKSBbZGF0YS1jdXN0b20tY2FyZXQtdGV4dGFyZWE9J2NhcmV0J10ge1xuICAgIEBpbmNsdWRlIGN1c3RvbS1jYXJldC1ibGlua2luZy1hbmltO1xuICAgIG9wYWNpdHk6IDE7XG4gIH1cbn1cblxuW2RhdGEtY3VzdG9tLWNhcmV0LXRleHRhcmVhPSd0ZXh0YXJlYSddIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jb2xvci10cmFuc3BhcmVudCk7XG4gIGNhcmV0LWNvbG9yOiB2YXIoLS1jb2xvci10cmFuc3BhcmVudCk7XG59XG5cbltkYXRhLWN1c3RvbS1jYXJldC10ZXh0YXJlYT0nbWlycm9yJ10ge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGluc2V0OiAwO1xuICBjb2xvcjogdmFyKC0tY29sb3ItdHJhbnNwYXJlbnQpO1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICBwb2ludGVyLWV2ZW50czogbm9uZTtcbn1cblxuW2RhdGEtY3VzdG9tLWNhcmV0LXRleHRhcmVhPSdjYXJldCddIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB3aWR0aDogMC41ZW07XG4gIGhlaWdodDogMWVtO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiBjdXJyZW50Q29sb3I7XG4gIG9wYWNpdHk6IDA7XG59XG4iLCI6cm9vdCB7XG4gIC8qIHN0eWxlbGludC1kaXNhYmxlICovXG4gIC0tdWkta2l0LWJnLWdyYWQ6IHJhZGlhbC1ncmFkaWVudChcbiAgICBjaXJjbGUgYXQgcmlnaHQgdG9wLFxuICAgIHJnYigyOCAyOCAyNDYgLyAwLjkpIDUlLFxuICAgIHJnYig1NyA0MyAyMzcgLyAwLjc1KSAyMCUsXG4gICAgdmFyKC0tY29sb3ItdHJhbnNwYXJlbnQpIDcwJVxuICApO1xuICAvKiBzdHlsZWxpbnQtZW5hYmxlICovXG5cbiAgLS11aS1zZWN0aW9uLWdhcDogI3tyZW0oMjBweCl9O1xuICAtLXVpLXNlY3Rpb24tYmQtcmFkOiB2YXIoLS11aS1zZWN0aW9uLWdhcCk7XG4gIC0tdWktc2VjdGlvbi1zaGFkb3c6IDAgMCAyMHB4IDJweCByZ2IoMjU1IDI1NSAyNTUgLyAwLjUpO1xuICAtLXVpLWtpdC1jb21wb25lbnQtb2RkLWJnOiBoc2woMCAwJSAzOCUgLyAwLjUpO1xufVxuXG4udWkta2l0IHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcblxuICAmOjpiZWZvcmUge1xuICAgIGNvbnRlbnQ6ICcnO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBpbnNldDogMDtcbiAgICB6LWluZGV4OiAtMTtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiB2YXIoLS11aS1raXQtYmctZ3JhZCk7XG4gIH1cblxuICAmX19oZWFkZXIge1xuICAgIHBhZGRpbmc6IHJlbSg1MHB4KTtcbiAgfVxuXG4gICZfX2NvcmUge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBpc29sYXRpb246IGlzb2xhdGU7XG4gICAgZGlzcGxheTogZ3JpZDtcbiAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlbSgyNTBweCkgMWZyO1xuICB9XG5cbiAgJl9fc2VjdGlvbnMge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICByb3ctZ2FwOiByZW0oNzJweCk7XG4gICAgcGFkZGluZy1pbmxpbmU6IHJlbSgzNXB4KTtcbiAgfVxuXG4gICZfX25hdmlnYXRpb24ge1xuICAgIHBvc2l0aW9uOiBzdGlja3k7XG4gICAgdG9wOiByZW0oMTBweCk7XG4gICAgei1pbmRleDogMTtcbiAgICBoZWlnaHQ6IG1heC1jb250ZW50O1xuICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWNvbG9yLXByaW1hcnktY29udHJhc3QpO1xuICAgIGJvcmRlcjogcmVtKDJweCkgc29saWQgdmFyKC0tY29sb3Itd2hpdGUpO1xuICAgIGJvcmRlci1sZWZ0OiBub25lO1xuICAgIGJvcmRlci10b3AtcmlnaHQtcmFkaXVzOiB2YXIoLS11aS1zZWN0aW9uLWJkLXJhZCk7XG4gICAgYm9yZGVyLWJvdHRvbS1yaWdodC1yYWRpdXM6IHZhcigtLXVpLXNlY3Rpb24tYmQtcmFkKTtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICB9XG5cbiAgJl9fbmF2aWdhdGlvbjpoYXMoaW5wdXRbdHlwZT0nY2hlY2tib3gnXTpjaGVja2VkKSAmX19uYXYtbWVudSB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgfVxuXG4gICZfX25hdi1zd2l0Y2hlci1sYWJlbCB7XG4gICAgQGluY2x1ZGUgdGl0bGVIMztcbiAgICBkaXNwbGF5OiBub25lO1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgY29sdW1uLWdhcDogcmVtKDhweCk7XG4gICAgcGFkZGluZzogcmVtKDEycHgpO1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgfVxuXG4gICZfX25hdi1zd2l0Y2hlci1sYWJlbDpoYXMoaW5wdXRbdHlwZT0nY2hlY2tib3gnXTpjaGVja2VkKSAmX19uYXYtc3dpdGNoZXItaW5kaWNhdG9yIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jb2xvci1jaGVja2VkKTtcblxuICAgIHNwYW5bZGF0YS1pbmRpY2F0b3I9J29uJ10ge1xuICAgICAgY29sb3I6IHZhcigtLWNvbG9yLXdoaXRlKTtcbiAgICB9XG5cbiAgICBzcGFuW2RhdGEtaW5kaWNhdG9yPSdvZmYnXSB7XG4gICAgICBjb2xvcjogdmFyKC0tY29sb3ItdHJhbnNwYXJlbnQpO1xuICAgIH1cbiAgfVxuXG4gICZfX25hdi1zd2l0Y2hlci1sYWJlbDpoYXMoaW5wdXRbdHlwZT0nY2hlY2tib3gnXTpjaGVja2VkKSAmX19uYXYtc3dpdGNoZXItaW5kaWNhdG9yOjpiZWZvcmUge1xuICAgIGxlZnQ6IDEwMCU7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoY2FsYygtMTAwJSAtIHZhcigtLW5hdi1zd2l0Y2hlci1pbmRpY2F0b3ItcGFkZGluZykpLCAtNTAlKTtcbiAgfVxuXG4gICZfX25hdi1zd2l0Y2hlci1pbmRpY2F0b3Ige1xuICAgIC0tbmF2LXN3aXRjaGVyLWluZGljYXRvci1wYWRkaW5nOiAje3JlbSgxcHgpfTtcbiAgICAtLW5hdi1zd2l0Y2hlci1pbmRpY2F0b3ItaGVpZ2h0OiAyZW07XG4gICAgLS1uYXYtc3dpdGNoZXItaW5kaWNhdG9yLXdpZHRoOiBjYWxjKDIgKiB2YXIoLS1uYXYtc3dpdGNoZXItaW5kaWNhdG9yLWhlaWdodCkpO1xuXG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGlzb2xhdGlvbjogaXNvbGF0ZTtcbiAgICBib3gtc2l6aW5nOiBjb250ZW50LWJveDtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgd2lkdGg6IHZhcigtLW5hdi1zd2l0Y2hlci1pbmRpY2F0b3Itd2lkdGgpO1xuICAgIGhlaWdodDogdmFyKC0tbmF2LXN3aXRjaGVyLWluZGljYXRvci1oZWlnaHQpO1xuICAgIHBhZGRpbmc6IHZhcigtLW5hdi1zd2l0Y2hlci1pbmRpY2F0b3ItcGFkZGluZyk7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY29sb3ItcHJpbWFyeS1jb250cmFzdCk7XG4gICAgYm9yZGVyOiByZW0oMnB4KSBzb2xpZCB2YXIoLS1jb2xvci13aGl0ZSk7XG4gICAgYm9yZGVyLXJhZGl1czogdmFyKC0tbmF2LXN3aXRjaGVyLWluZGljYXRvci1oZWlnaHQpO1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciB2YXIoLS10cmFucy1iYXNlKTtcblxuICAgICY6OmJlZm9yZSB7XG4gICAgICBAaW5jbHVkZSBzcXVhcmUodmFyKC0tbmF2LXN3aXRjaGVyLWluZGljYXRvci1oZWlnaHQpKTtcbiAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgdG9wOiA1MCU7XG4gICAgICBsZWZ0OiB2YXIoLS1uYXYtc3dpdGNoZXItaW5kaWNhdG9yLXBhZGRpbmcpO1xuICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpO1xuICAgICAgei1pbmRleDogMTtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY29sb3Itd2hpdGUpO1xuICAgICAgYm9yZGVyLXJhZGl1czogNTAlO1xuICAgICAgYm94LXNoYWRvdzogdmFyKC0tc2hhZG93LWJsb2NrKTtcbiAgICAgIHRyYW5zaXRpb246IHZhcigtLXRyYW5zLWJhc2UpO1xuICAgICAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogbGVmdCB0cmFuc2Zvcm07XG4gICAgfVxuXG4gICAgc3BhbiB7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICBpbnNldDogMDtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICBwYWRkaW5nLWlubGluZTogcmVtKDZweCk7XG4gICAgICBjb2xvcjogdmFyKC0tY29sb3Itd2hpdGUpO1xuICAgICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gICAgICB1c2VyLXNlbGVjdDogbm9uZTtcbiAgICAgIHRyYW5zaXRpb246IGNvbG9yIHZhcigtLXRyYW5zLWJhc2UpO1xuXG4gICAgICAmW2RhdGEtaW5kaWNhdG9yPSdvbiddIHtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBzdGFydDtcbiAgICAgICAgY29sb3I6IHZhcigtLWNvbG9yLXRyYW5zcGFyZW50KTtcbiAgICAgIH1cblxuICAgICAgJltkYXRhLWluZGljYXRvcj0nb2ZmJ10ge1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGVuZDtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAmX19uYXYtbWVudSB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgIG1hcmdpbjogMDtcbiAgICBwYWRkaW5nOiAwO1xuICAgIGxpc3Qtc3R5bGUtdHlwZTogbm9uZTtcbiAgfVxuXG4gICZfX25hdi1saW5rIHtcbiAgICBAaW5jbHVkZSB0ZXh0TDtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgcGFkZGluZzogcmVtKDEycHgpIHJlbSgyNHB4KTtcbiAgICB0ZXh0OiB7XG4gICAgICBkZWNvcmF0aW9uOiBub25lO1xuICAgICAgdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgICBhbGlnbjogY2VudGVyO1xuICAgIH1cbiAgICBjb2xvcjogdmFyKC0tY29sb3Itd2hpdGUpO1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICB0cmFuc2l0aW9uOiB2YXIoLS10cmFucy1iYXNlKTtcbiAgICB0cmFuc2l0aW9uLXByb3BlcnR5OiBjb2xvciwgYmFja2dyb3VuZC1jb2xvcjtcblxuICAgICY6d2hlcmUoOmhvdmVyLCA6Zm9jdXMtdmlzaWJsZSkge1xuICAgICAgY29sb3I6IHZhcigtLWNvbG9yLXByaW1hcnktY29udHJhc3QpO1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY29sb3ItcHJpbWFyeSk7XG4gICAgfVxuICB9XG5cbiAgJl9fdGl0bGUtYm94IHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiByb3ctcmV2ZXJzZTtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBnYXA6IHJlbSg0OHB4KTtcbiAgfVxuXG4gICZfX3RpdGxlIHtcbiAgICBmb250LWZhbWlseTogJGZvbnQtZmFtaWx5O1xuICAgIGZvbnQtc2l6ZTogcmVtKDk2cHgpO1xuICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgbGluZS1oZWlnaHQ6IDE7XG4gICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgfVxuXG4gICZfX2xvZ28tYm94IHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBtYXgtd2lkdGg6IHJlbSg1MDBweCk7XG4gIH1cblxuICAmX19sb2dvIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6IGF1dG87XG4gIH1cblxuICAmX19zZWN0aW9uIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY29sb3ItcHJpbWFyeS1jb250cmFzdCk7XG4gICAgYm9yZGVyLXJhZGl1czogdmFyKC0tdWktc2VjdGlvbi1iZC1yYWQpO1xuICAgIGJveC1zaGFkb3c6IHZhcigtLXVpLXNlY3Rpb24tc2hhZG93KTtcbiAgICBvdmVyZmxvdzogY2xpcDtcbiAgfVxuXG4gICZfX3NlY3Rpb24tdGl0bGUge1xuICAgIEBpbmNsdWRlIHRpdGxlSDE7XG4gICAgcGFkZGluZzogdmFyKC0tdWktc2VjdGlvbi1nYXApO1xuICAgIHBhZGRpbmctYmxvY2s6IGNhbGModmFyKC0tdWktc2VjdGlvbi1nYXApICogMik7XG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgfVxuXG4gICZfX3NlY3Rpb24tY29yZSxcbiAgJl9fc3Vic2VjdGlvbi1jb3JlIHtcbiAgICBkaXNwbGF5OiBncmlkO1xuICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KDIsIDFmcik7XG5cbiAgICAudWkta2l0LWNvbXBvbmVudDp3aGVyZSg6bnRoLWNoaWxkKDRuIC0gMyksIDpudGgtY2hpbGQoNG4pKSB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS11aS1raXQtY29tcG9uZW50LW9kZC1iZyk7XG4gICAgfVxuICB9XG5cbiAgJl9fc2VjdGlvbi1jb3JlIHtcbiAgICAmLS1jb2x1bW4ge1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgfVxuXG4gICAgJi0tY29sdW1uID4gLnVpLWtpdC1jb21wb25lbnQge1xuICAgICAgJjppcyg6bnRoLWNoaWxkKDRuIC0gMyksIDpudGgtY2hpbGQoNG4pKSB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IGluaGVyaXQ7XG4gICAgICB9XG5cbiAgICAgICY6bnRoLWNoaWxkKG9kZCkge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS11aS1raXQtY29tcG9uZW50LW9kZC1iZyk7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgJl9fc3Vic2VjdGlvbiB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGlzb2xhdGlvbjogaXNvbGF0ZTtcbiAgfVxuXG4gICZfX3N1YnRpdGxlIHtcbiAgICBAaW5jbHVkZSB0aXRsZUgxO1xuICAgIHBvc2l0aW9uOiBzdGlja3k7XG4gICAgdG9wOiAwO1xuICAgIHotaW5kZXg6IDI7XG4gICAgbWF4LWhlaWdodDogbWF4LWNvbnRlbnQ7XG4gICAgcGFkZGluZzogdmFyKC0tdWktc2VjdGlvbi1nYXApO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jb2xvci1wcmltYXJ5LWNvbnRyYXN0KTtcbiAgICBib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1jb2xvci13aGl0ZSk7XG4gIH1cblxuICAmX190eXBvIHtcbiAgICBmb250LXNpemU6IHJlbSgzMnB4KTtcbiAgICBsaW5lLWhlaWdodDogMTtcblxuICAgICYtLXByaW1hcnkge1xuICAgICAgZm9udC1mYW1pbHk6ICRmb250LWZhbWlseTtcbiAgICB9XG5cbiAgICAmLS1zZWNvbmRhcnkge1xuICAgICAgZm9udC1mYW1pbHk6ICRmb250LWZhbWlseS1zZWNvbmRhcnk7XG4gICAgfVxuICB9XG5cbiAgLy8gTUVESUFcbiAgQGluY2x1ZGUgbWVkaWEobm90ZWJvb2spIHtcbiAgICAmX19jb3JlIHtcbiAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVtKDE4MHB4KSAxZnI7XG4gICAgfVxuXG4gICAgJl9fc2VjdGlvbi1jb3JlLFxuICAgICZfX3N1YnNlY3Rpb24tY29yZSB7XG4gICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDFmcjtcbiAgICAgIHdpZHRoOiBhdXRvO1xuXG4gICAgICAudWkta2l0LWNvbXBvbmVudDp3aGVyZSg6bnRoLWNoaWxkKDRuIC0gMyksIDpudGgtY2hpbGQoNG4pKSB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IGluaGVyaXQ7XG4gICAgICB9XG5cbiAgICAgIC51aS1raXQtY29tcG9uZW50Om50aC1jaGlsZChvZGQpIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tdWkta2l0LWNvbXBvbmVudC1vZGQtYmcpO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIEBpbmNsdWRlIG1lZGlhKHRhYmxldCkge1xuICAgICZfX2NvcmUge1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW4tcmV2ZXJzZTtcbiAgICAgIHJvdy1nYXA6IHJlbSg3MnB4KTtcbiAgICB9XG5cbiAgICAmX19uYXZpZ2F0aW9uIHtcbiAgICAgIHRvcDogaW5pdGlhbDtcbiAgICAgIGJvdHRvbTogMDtcbiAgICAgIHRyYW5zZm9ybTogbm9uZTtcbiAgICAgIGJvcmRlcjoge1xuICAgICAgICBib3R0b206IG5vbmU7XG4gICAgICAgIHJpZ2h0OiBub25lO1xuICAgICAgICByYWRpdXM6IDA7XG4gICAgICB9XG4gICAgfVxuXG4gICAgJl9fbmF2LXN3aXRjaGVyLWxhYmVsIHtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgfVxuXG4gICAgJl9fbmF2LW1lbnUge1xuICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG5cbiAgICAmX190aXRsZS1ib3gge1xuICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbi1yZXZlcnNlO1xuICAgIH1cbiAgfVxufVxuIiwiOnJvb3Qge1xuICAtLXVpLWtpdC1jb21wb25lbnQtZ2FwOiAje3JlbSgyMHB4KX07XG4gIC0tdWkta2l0LWJveC1iZC1yYWQ6ICN7cmVtKDhweCl9O1xuXG4gIC0tdWkta2l0LWNvcHktY29kZS10cmlnZ2VyLWljbjogdXJsKCdkYXRhOmltYWdlL3N2Zyt4bWw7YmFzZTY0LFBITjJaeUJtYVd4c1BTSmpkWEp5Wlc1MFEyOXNiM0lpSUhacFpYZENiM2c5SWpBZ01DQTJOQ0EyTkNJZ2VHMXNibk05SW1oMGRIQTZMeTkzZDNjdWR6TXViM0puTHpJd01EQXZjM1puSWlCNGJXeHVjenA0YkdsdWF6MGlhSFIwY0RvdkwzZDNkeTUzTXk1dmNtY3ZNVGs1T1M5NGJHbHVheUkrRFFvSlBHYytEUW9KQ1R4d1lYUm9JR1E5SWswMU15NDVOemt4TkRnNUxEa3VNVFF5T1RBd05VZzFNQzR3TVRBNE5EbGpMVEF1TURneU5qazRPQ3d3TFRBdU1UVTJNakF3TkN3d0xqQXlPRE01T1RVdE1DNHlNek14TURBNUxEQXVNRFEyT1RrNU9WWTFMakF5TWpnTkNna0pDVU0wT1M0M056YzNORGd4TERJdU1qVXpMRFEzTGpRM016RTBPRE1zTUN3ME5DNDJNems0TkRZNExEQm9MVE0wTGpReU1qVTVOa00zTGpNNE16azFNVGNzTUN3MUxqQTNPVE0xTVRrc01pNHlOVE1zTlM0d056a3pOVEU1TERVdU1ESXlPSFkwTmk0NE5ETXlPVGs1RFFvSkNRbGpNQ3d5TGpjMk9UYzVPRE1zTWk0ek1EUTFPVGs0TERVdU1ESXlPREF3TkN3MUxqRXpOemc1T1Rrc05TNHdNakk0TURBMGFEWXVNRE0yTnpBd01uWXlMakkyTnpnNU9EWkRNVFl1TWpVek9UVXlMRFl4TGpneU56UXdNRElzTVRndU5EY3dNalV4TVN3Mk5Dd3lNUzR4T1RVME5URTNMRFkwRFFvSkNRbG9Nekl1Tnpnek5qazVZekl1TnpJMU1qQXdOeXd3TERRdU9UUXhORGszT0MweUxqRTNNalU1T1Rnc05DNDVOREUwT1RjNExUUXVPRFF6TWpBd04xWXhNeTQ1T0RZeE1EQXlEUW9KQ1FsRE5UZ3VPVEl3TmpRMk55d3hNUzR6TVRVMU1EQXpMRFUyTGpjd05ETTBPVFVzT1M0eE5ESTVNREExTERVekxqazNPVEUwT0Rrc09TNHhOREk1TURBMWVpQk5OeTR4TVRFd05URTJMRFV4TGpnMk5qRXdNRE5XTlM0d01qSTREUW9KQ1Fsak1DMHhMalkwT0RjNU9Ua3NNUzR6T1RNNE9UazVMVEl1T1Rrd09UazVPU3d6TGpFd05qSXdNREl0TWk0NU9UQTVPVGs1YURNMExqUXlNalU1Tm1NeExqY3hNak13TXpJc01Dd3pMakV3TmpJd01USXNNUzR6TkRJeUxETXVNVEEyTWpBeE1pd3lMams1TURrNU9UbDJORFl1T0RRek1qazVPUTBLQ1FrSll6QXNNUzQyTkRnM09UazVMVEV1TXprek9EazRMREl1T1RreE1UQXdNeTB6TGpFd05qSXdNVElzTWk0NU9URXhNREF6YUMwek5DNDBNakkxT1RaRE9DNDFNRFE1TlRFMUxEVTBMamcxTnpJd01EWXNOeTR4TVRFd05URTJMRFV6TGpVeE5Ea3dNRElzTnk0eE1URXdOVEUyTERVeExqZzJOakV3TURONkRRb0pDUWxOTlRZdU9EZzRPRFEzTkN3MU9TNHhOVFkzT1Rrell6QXNNUzQxTlRBMk1ESXRNUzR6TURVMUxESXVPREV4TlRBd05TMHlMamt3T1RZNU9EVXNNaTQ0TVRFMU1EQTFhQzB6TWk0M09ETTJPVGtOQ2drSkNXTXRNUzQyTURReU1EQTBMREF0TWk0NU1EazNPVGsyTFRFdU1qWXdPRGs0TmkweUxqa3dPVGM1T1RZdE1pNDRNVEUxTURBMWRpMHlMakkyTnpnNU9EWm9Nall1TXpVME1UazBOZzBLQ1FrSll6SXVPRE16TXpBeE5Td3dMRFV1TVRNM09UQXhNeTB5TGpJMU16QXdNaklzTlM0eE16YzVNREV6TFRVdU1ESXlPREF3TkZZeE1TNHhNamMxT1RrM1l6QXVNRGMyT1RBd05Td3dMakF4T0RZd01EVXNNQzR4TlRBME1ESXhMREF1TURRMk9UazVPU3d3TGpJek16RXdNRGtzTUM0d05EWTVPVGs1RFFvSkNRbG9NeTQ1TmpneU9UazVZekV1TmpBME1UazROU3d3TERJdU9UQTVOams0TlN3eExqSTJNRGt3TURVc01pNDVNRGsyT1RnMUxESXVPREV4TlRBd05WWTFPUzR4TlRZM09Ua3plaUl2UGcwS0NRazhjR0YwYUNCa1BTSk5Nemd1TmpBek1UUTVOQ3d4TXk0eU1EWXpPVGs1U0RFMkxqSTFNemsxTW1NdE1DNDFOakUxTURBMUxEQXRNUzR3TVRVNU1EQTJMREF1TkRVME1qazVPUzB4TGpBeE5Ua3dNRFlzTVM0d01UVTRNREExRFFvSkNRbGpNQ3d3TGpVMk1UVTVPVGNzTUM0ME5UUTBNREF4TERFdU1ERTFPRGs1Tnl3eExqQXhOVGt3TURZc01TNHdNVFU0T1RrM2FESXlMak0wT1RFNU56UmpNQzQxTmpFMU1EQTFMREFzTVM0d01UVTRPVGszTFRBdU5EVTBNams1T1N3eExqQXhOVGc1T1RjdE1TNHdNVFU0T1RrM0RRb0pDUWxETXprdU5qRTVNRFE1TVN3eE15NDJOakEyT1RrNExETTVMakUyTkRZMUxERXpMakl3TmpNNU9Ua3NNemd1TmpBek1UUTVOQ3d4TXk0eU1EWXpPVGs1ZWlJdlBnMEtDUWs4Y0dGMGFDQmtQU0pOTXpndU5qQXpNVFE1TkN3eU1TNHpNek0wTURBM1NERTJMakkxTXprMU1tTXRNQzQxTmpFMU1EQTFMREF0TVM0d01UVTVNREEyTERBdU5EVTBNams1T1MweExqQXhOVGt3TURZc01TNHdNVFUzT1RnMkRRb0pDUWxqTUN3d0xqVTJNVFV3TURVc01DNDBOVFEwTURBeExERXVNREUxT1RBeE5pd3hMakF4TlRrd01EWXNNUzR3TVRVNU1ERTJhREl5TGpNME9URTVOelJqTUM0MU5qRTFNREExTERBc01TNHdNVFU0T1RrM0xUQXVORFUwTkRBeExERXVNREUxT0RrNU55MHhMakF4TlRrd01UWU5DZ2tKQ1VNek9TNDJNVGt3TkRreExESXhMamM0Tnpjd01EY3NNemt1TVRZME5qVXNNakV1TXpNek5EQXdOeXd6T0M0Mk1ETXhORGswTERJeExqTXpNelF3TURkNklpOCtEUW9KQ1R4d1lYUm9JR1E5SWswek9DNDJNRE14TkRrMExESTVMalEyTURNd01EUklNVFl1TWpVek9UVXlZeTB3TGpVMk1UVXdNRFVzTUMweExqQXhOVGt3TURZc01DNDBOVFF6T1RreExURXVNREUxT1RBd05pd3hMakF4TlRnNU9UY05DZ2tKQ1hNd0xqUTFORFF3TURFc01TNHdNVFU0T1RrM0xERXVNREUxT1RBd05pd3hMakF4TlRnNU9UZG9Nakl1TXpRNU1UazNOR013TGpVMk1UVXdNRFVzTUN3eExqQXhOVGc1T1RjdE1DNDBOVFF6T1RreExERXVNREUxT0RrNU55MHhMakF4TlRnNU9UY05DZ2tKQ1ZNek9TNHhOalEyTlN3eU9TNDBOakF6TURBMExETTRMall3TXpFME9UUXNNamt1TkRZd016QXdOSG9pTHo0TkNna0pQSEJoZEdnZ1pEMGlUVEk0TGpRME5EUTBPRFVzTXpjdU5UZzNNams1TTBneE5pNHlOVE01TlRKakxUQXVOVFl4TlRBd05Td3dMVEV1TURFMU9UQXdOaXd3TGpRMU5ETTVPVEV0TVM0d01UVTVNREEyTERFdU1ERTFPRGs1TncwS0NRa0pjekF1TkRVME5EQXdNU3d4TGpBeE5UZzVPVGNzTVM0d01UVTVNREEyTERFdU1ERTFPRGs1TjJneE1pNHhPVEEwT1RZMFl6QXVOVFl4TlRBeU5Td3dMREV1TURFMU9EQXdOUzB3TGpRMU5ETTVPVEVzTVM0d01UVTRNREExTFRFdU1ERTFPRGs1TncwS0NRa0pVekk1TGpBd05UazFNRGtzTXpjdU5UZzNNams1TXl3eU9DNDBORFEwTkRnMUxETTNMalU0TnpJNU9UTjZJaTgrRFFvSlBDOW5QZzBLUEM5emRtYytEUW89Jyk7XG59XG5cbi51aS1raXQtY29tcG9uZW50IHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgcm93LWdhcDogcmVtKDI0cHgpO1xuICB3aWR0aDogMTAwJTtcbiAgcGFkZGluZzogdmFyKC0tdWkta2l0LWNvbXBvbmVudC1nYXApO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jb2xvci1wcmltYXJ5LWNvbnRyYXN0KTtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcblxuICAmLmlzLWNvbnRyYXN0ICZfX2JveC0tZXhhbXBsZSB7XG4gICAgcGFkZGluZy1pbmxpbmU6IHZhcigtLXVpLWtpdC1jb21wb25lbnQtZ2FwKTtcbiAgICBjb2xvcjogdmFyKC0tY29sb3ItYmxhY2spO1xuICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWNvbG9yLXdoaXRlKTtcbiAgICBib3JkZXItcmFkaXVzOiB2YXIoLS11aS1raXQtYm94LWJkLXJhZCk7XG4gIH1cblxuICAmX19uYW1lIHtcbiAgICBAaW5jbHVkZSB0aXRsZUgzO1xuICAgIHBhZGRpbmctYmxvY2stZW5kOiB2YXIoLS11aS1raXQtY29tcG9uZW50LWdhcCk7XG4gICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCB2YXIoLS1jb2xvci1ib3JkZXItc2Vjb25kYXJ5KTtcbiAgfVxuXG4gICZfX2NvcmUge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gICAgcm93LWdhcDogcmVtKDMycHgpO1xuICAgIGhlaWdodDogMTAwJTtcbiAgfVxuXG4gICZfX2JveCB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgIHJvdy1nYXA6IHZhcigtLXVpLWtpdC1jb21wb25lbnQtZ2FwKTtcblxuICAgICYtLWV4YW1wbGUge1xuICAgICAgcGFkZGluZy1ibG9jazogdmFyKC0tdWkta2l0LWNvbXBvbmVudC1nYXApO1xuICAgIH1cbiAgfVxuXG4gICZfX3N1YnRpdGxlIHtcbiAgICBmb250OiB7XG4gICAgICBmYW1pbHk6IG1vbm9zcGFjZTtcbiAgICAgIHNpemU6IHJlbSgyNHB4KTtcbiAgICAgIHdlaWdodDogNDAwO1xuICAgIH1cbiAgICBsaW5lLWhlaWdodDogMTtcbiAgfVxuXG4gICZfX2NvZGUtYm94IHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgaXNvbGF0aW9uOiBpc29sYXRlO1xuICB9XG5cbiAgJl9fY29kZS1ib3g6aG92ZXIgJl9fY29weS10cmlnZ2VyLWJveCB7XG4gICAgb3BhY2l0eTogMTtcbiAgfVxuXG4gICZfX2NvZGUtYm94OmhhcyhidXR0b25bZGF0YS1jb3B5Y29kZT0ndHJpZ2dlciddOmhvdmVyKSAmX19jb2RlIHtcbiAgICBib3JkZXItY29sb3I6IHZhcigtLWNvbG9yLXdoaXRlKTtcbiAgfVxuXG4gICZfX2NvcHktdHJpZ2dlci1ib3gge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDA7XG4gICAgcmlnaHQ6IDA7XG4gICAgei1pbmRleDogMTtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIG1pbi1oZWlnaHQ6IHJlbSgzMnB4KTtcbiAgICBvcGFjaXR5OiAwO1xuICAgIHRyYW5zaXRpb246IG9wYWNpdHkgdmFyKC0tdHJhbnMtYmFzZSk7XG4gIH1cblxuICAmX19jb3B5LXRyaWdnZXItYm94LmlzLWNvcGllZCAmX19jb3B5LXRyaWdnZXIge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cblxuICAmX19jb3B5LXRyaWdnZXItYm94LmlzLWNvcGllZCAmX19jb3B5LXRyaWdnZXItc3VjY2Vzcy10ZXh0IHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICB9XG5cbiAgJl9fY29weS10cmlnZ2VyIHtcbiAgICBAaW5jbHVkZSBzcXVhcmUocmVtKDMycHgpKTtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgZm9udC1zaXplOiAwO1xuICAgIGxpbmUtaGVpZ2h0OiAwO1xuICAgIGJhY2tncm91bmQ6IHtcbiAgICAgIGNvbG9yOiB2YXIoLS1jb2xvci1ib3JkZXItc2Vjb25kYXJ5KTtcbiAgICAgIGltYWdlOiB2YXIoLS11aS1raXQtY29weS1jb2RlLXRyaWdnZXItaWNuKTtcbiAgICAgIHJlcGVhdDogbm8tcmVwZWF0O1xuICAgICAgc2l6ZTogODUlO1xuICAgICAgcG9zaXRpb246IGNlbnRlcjtcbiAgICB9XG4gICAgYm9yZGVyOiBub25lO1xuICAgIGJvcmRlci1yYWRpdXM6IHZhcigtLXVpLWtpdC1ib3gtYmQtcmFkKTtcbiAgICBib3JkZXItdG9wLWxlZnQtcmFkaXVzOiAwO1xuICAgIGJvcmRlci1ib3R0b20tcmlnaHQtcmFkaXVzOiAwO1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIHZhcigtLXRyYW5zLWJhc2UpO1xuXG4gICAgJjp3aGVyZSg6aG92ZXIsIDpmb2N1cy12aXNpYmxlKSB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jb2xvci13aGl0ZSk7XG4gICAgfVxuXG4gICAgJjphY3RpdmUge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY29sb3Itc2Vjb25kYXJ5KTtcbiAgICB9XG4gIH1cblxuICAmX19jb3B5LXRyaWdnZXItc3VjY2Vzcy10ZXh0IHtcbiAgICBAaW5jbHVkZSB0ZXh0UztcbiAgICBkaXNwbGF5OiBub25lO1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgcGFkZGluZy1pbmxpbmU6IHJlbSg4cHgpO1xuICAgIGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLWNvbG9yLWJvcmRlci1zZWNvbmRhcnkpO1xuICAgIGJvcmRlci1yYWRpdXM6IHZhcigtLXVpLWtpdC1ib3gtYmQtcmFkKTtcbiAgICBib3JkZXItdG9wLWxlZnQtcmFkaXVzOiAwO1xuICAgIGJvcmRlci1ib3R0b20tcmlnaHQtcmFkaXVzOiAwO1xuICB9XG5cbiAgJl9fY29kZSB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgIHJvdy1nYXA6IHJlbSg0cHgpO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIG1hcmdpbjogMDtcbiAgICBwYWRkaW5nOiByZW0oMjBweCkgcmVtKDE2cHgpO1xuICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWNvbG9yLXByaW1hcnktY29udHJhc3QtOTAwKTtcbiAgICBib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1jb2xvci1ib3JkZXItc2Vjb25kYXJ5KTtcbiAgICBib3JkZXItcmFkaXVzOiB2YXIoLS11aS1raXQtYm94LWJkLXJhZCk7XG4gICAgd2hpdGUtc3BhY2U6IHByZS13cmFwO1xuICAgIG92ZXJmbG93LXg6IGF1dG87XG4gICAgdHJhbnNpdGlvbjogYm9yZGVyLWNvbG9yIHZhcigtLXRyYW5zLWJhc2UpO1xuXG4gICAgY29kZSB7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIG1pbi13aWR0aDogbWF4LWNvbnRlbnQ7XG4gICAgICBmb250LWZhbWlseTogbW9ub3NwYWNlO1xuICAgIH1cbiAgfVxufVxuIl19 */

/* End */
/* /local/assets/css/style.css?1752085690530201 */
