@charset "UTF-8";
/**
 * Swiper 6.5.7
 * Most modern mobile touch slider and framework with hardware accelerated transitions
 * https://swiperjs.com
 *
 * Copyright 2014-2021 Vladimir Kharlampidi
 *
 * Released under the MIT License
 *
 * Released on: April 16, 2021
 */
@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-container {
  margin-left: auto;
  margin-right: auto;
  position: relative;
  overflow: hidden;
  list-style: none;
  padding: 0;
  /* Fix of Webkit flickering */
  z-index: 1;
}

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

.swiper-wrapper {
  position: relative;
  width: 100%;
  height: 100%;
  z-index: 1;
  display: flex;
  transition-property: transform;
  box-sizing: content-box;
}

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

.swiper-container-multirow > .swiper-wrapper {
  flex-wrap: wrap;
}

.swiper-container-multirow-column > .swiper-wrapper {
  flex-wrap: wrap;
  flex-direction: column;
}

.swiper-container-free-mode > .swiper-wrapper {
  transition-timing-function: ease-out;
  margin: 0 auto;
}

.swiper-container-pointer-events {
  touch-action: pan-y;
}

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

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

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

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

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

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

.swiper-container-3d .swiper-wrapper,
.swiper-container-3d .swiper-slide,
.swiper-container-3d .swiper-slide-shadow-left,
.swiper-container-3d .swiper-slide-shadow-right,
.swiper-container-3d .swiper-slide-shadow-top,
.swiper-container-3d .swiper-slide-shadow-bottom,
.swiper-container-3d .swiper-cube-shadow {
  transform-style: preserve-3d;
}

.swiper-container-3d .swiper-slide-shadow-left,
.swiper-container-3d .swiper-slide-shadow-right,
.swiper-container-3d .swiper-slide-shadow-top,
.swiper-container-3d .swiper-slide-shadow-bottom {
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  pointer-events: none;
  z-index: 10;
}

.swiper-container-3d .swiper-slide-shadow-left {
  background-image: linear-gradient(to left, rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0));
}

.swiper-container-3d .swiper-slide-shadow-right {
  background-image: linear-gradient(to right, rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0));
}

.swiper-container-3d .swiper-slide-shadow-top {
  background-image: linear-gradient(to top, rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0));
}

.swiper-container-3d .swiper-slide-shadow-bottom {
  background-image: linear-gradient(to bottom, rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0));
}

/* CSS Mode */
.swiper-container-css-mode > .swiper-wrapper {
  overflow: auto;
  scrollbar-width: none;
  /* For Firefox */
  -ms-overflow-style: none;
  /* For Internet Explorer and Edge */
}

.swiper-container-css-mode > .swiper-wrapper::-webkit-scrollbar {
  display: none;
}

.swiper-container-css-mode > .swiper-wrapper > .swiper-slide {
  scroll-snap-align: start start;
}

.swiper-container-horizontal.swiper-container-css-mode > .swiper-wrapper {
  scroll-snap-type: x mandatory;
}

.swiper-container-vertical.swiper-container-css-mode > .swiper-wrapper {
  scroll-snap-type: y mandatory;
}

:root {
  --swiper-navigation-size: 44px;
  /*
  --swiper-navigation-color: var(--swiper-theme-color);
  */
}

.swiper-button-prev,
.swiper-button-next {
  position: absolute;
  top: 50%;
  width: calc(var(--swiper-navigation-size) / 44 * 27);
  height: var(--swiper-navigation-size);
  margin-top: calc(0px - (var(--swiper-navigation-size) / 2));
  z-index: 10;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  color: var(--swiper-navigation-color, var(--swiper-theme-color));
}

.swiper-button-prev.swiper-button-disabled,
.swiper-button-next.swiper-button-disabled {
  opacity: 0.35;
  cursor: auto;
  pointer-events: none;
}

.swiper-button-prev:after,
.swiper-button-next:after {
  font-family: swiper-icons;
  font-size: var(--swiper-navigation-size);
  text-transform: none !important;
  letter-spacing: 0;
  text-transform: none;
  font-variant: initial;
  line-height: 1;
}

.swiper-button-prev,
.swiper-container-rtl .swiper-button-next {
  left: 10px;
  right: auto;
}

.swiper-button-prev:after,
.swiper-container-rtl .swiper-button-next:after {
  content: 'prev';
}

.swiper-button-next,
.swiper-container-rtl .swiper-button-prev {
  right: 10px;
  left: auto;
}

.swiper-button-next:after,
.swiper-container-rtl .swiper-button-prev:after {
  content: 'next';
}

.swiper-button-prev.swiper-button-white,
.swiper-button-next.swiper-button-white {
  --swiper-navigation-color: #ffffff;
}

.swiper-button-prev.swiper-button-black,
.swiper-button-next.swiper-button-black {
  --swiper-navigation-color: #000000;
}

.swiper-button-lock {
  display: none;
}

:root {
  /*
  --swiper-pagination-color: var(--swiper-theme-color);
  */
}

.swiper-pagination {
  position: absolute;
  text-align: center;
  transition: 300ms opacity;
  transform: translate3d(0, 0, 0);
  z-index: 10;
}

.swiper-pagination.swiper-pagination-hidden {
  opacity: 0;
}

/* Common Styles */
.swiper-pagination-fraction,
.swiper-pagination-custom,
.swiper-container-horizontal > .swiper-pagination-bullets {
  bottom: 10px;
  left: 0;
  width: 100%;
}

/* Bullets */
.swiper-pagination-bullets-dynamic {
  overflow: hidden;
  font-size: 0;
}

.swiper-pagination-bullets-dynamic .swiper-pagination-bullet {
  transform: scale(0.33);
  position: relative;
}

.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active {
  transform: scale(1);
}

.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-main {
  transform: scale(1);
}

.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-prev {
  transform: scale(0.66);
}

.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-prev-prev {
  transform: scale(0.33);
}

.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-next {
  transform: scale(0.66);
}

.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-next-next {
  transform: scale(0.33);
}

.swiper-pagination-bullet {
  width: 8px;
  height: 8px;
  display: inline-block;
  border-radius: 50%;
  background: #000;
  opacity: 0.2;
}

button.swiper-pagination-bullet {
  border: none;
  margin: 0;
  padding: 0;
  box-shadow: none;
  -webkit-appearance: none;
  appearance: none;
}

.swiper-pagination-clickable .swiper-pagination-bullet {
  cursor: pointer;
}

.swiper-pagination-bullet-active {
  opacity: 1;
  background: var(--swiper-pagination-color, var(--swiper-theme-color));
}

.swiper-container-vertical > .swiper-pagination-bullets {
  right: 10px;
  top: 50%;
  transform: translate3d(0px, -50%, 0);
}

.swiper-container-vertical > .swiper-pagination-bullets .swiper-pagination-bullet {
  margin: 6px 0;
  display: block;
}

.swiper-container-vertical > .swiper-pagination-bullets.swiper-pagination-bullets-dynamic {
  top: 50%;
  transform: translateY(-50%);
  width: 8px;
}

.swiper-container-vertical > .swiper-pagination-bullets.swiper-pagination-bullets-dynamic .swiper-pagination-bullet {
  display: inline-block;
  transition: 200ms transform, 200ms top;
}

.swiper-container-horizontal > .swiper-pagination-bullets .swiper-pagination-bullet {
  margin: 0 4px;
}

.swiper-container-horizontal > .swiper-pagination-bullets.swiper-pagination-bullets-dynamic {
  left: 50%;
  transform: translateX(-50%);
  white-space: nowrap;
}

.swiper-container-horizontal > .swiper-pagination-bullets.swiper-pagination-bullets-dynamic .swiper-pagination-bullet {
  transition: 200ms transform, 200ms left;
}

.swiper-container-horizontal.swiper-container-rtl > .swiper-pagination-bullets-dynamic .swiper-pagination-bullet {
  transition: 200ms transform, 200ms right;
}

/* Progress */
.swiper-pagination-progressbar {
  background: rgba(0, 0, 0, 0.25);
  position: absolute;
}

.swiper-pagination-progressbar .swiper-pagination-progressbar-fill {
  background: var(--swiper-pagination-color, var(--swiper-theme-color));
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  transform: scale(0);
  transform-origin: left top;
}

.swiper-container-rtl .swiper-pagination-progressbar .swiper-pagination-progressbar-fill {
  transform-origin: right top;
}

.swiper-container-horizontal > .swiper-pagination-progressbar,
.swiper-container-vertical > .swiper-pagination-progressbar.swiper-pagination-progressbar-opposite {
  width: 100%;
  height: 4px;
  left: 0;
  top: 0;
}

.swiper-container-vertical > .swiper-pagination-progressbar,
.swiper-container-horizontal > .swiper-pagination-progressbar.swiper-pagination-progressbar-opposite {
  width: 4px;
  height: 100%;
  left: 0;
  top: 0;
}

.swiper-pagination-white {
  --swiper-pagination-color: #ffffff;
}

.swiper-pagination-black {
  --swiper-pagination-color: #000000;
}

.swiper-pagination-lock {
  display: none;
}

/* Scrollbar */
.swiper-scrollbar {
  border-radius: 10px;
  position: relative;
  -ms-touch-action: none;
  background: rgba(0, 0, 0, 0.1);
}

.swiper-container-horizontal > .swiper-scrollbar {
  position: absolute;
  left: 1%;
  bottom: 3px;
  z-index: 50;
  height: 5px;
  width: 98%;
}

.swiper-container-vertical > .swiper-scrollbar {
  position: absolute;
  right: 3px;
  top: 1%;
  z-index: 50;
  width: 5px;
  height: 98%;
}

.swiper-scrollbar-drag {
  height: 100%;
  width: 100%;
  position: relative;
  background: rgba(0, 0, 0, 0.5);
  border-radius: 10px;
  left: 0;
  top: 0;
}

.swiper-scrollbar-cursor-drag {
  cursor: move;
}

.swiper-scrollbar-lock {
  display: none;
}

.swiper-zoom-container {
  width: 100%;
  height: 100%;
  display: flex;
  justify-content: center;
  align-items: center;
  text-align: center;
}

.swiper-zoom-container > img,
.swiper-zoom-container > svg,
.swiper-zoom-container > canvas {
  max-width: 100%;
  max-height: 100%;
  object-fit: contain;
}

.swiper-slide-zoomed {
  cursor: move;
}

/* Preloader */
:root {
  /*
  --swiper-preloader-color: var(--swiper-theme-color);
  */
}

.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%;
  animation: swiper-preloader-spin 1s infinite linear;
  box-sizing: border-box;
  border: 4px solid var(--swiper-preloader-color, var(--swiper-theme-color));
  border-radius: 50%;
  border-top-color: transparent;
}

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

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

@keyframes swiper-preloader-spin {
  100% {
    transform: rotate(360deg);
  }
}

/* a11y */
.swiper-container .swiper-notification {
  position: absolute;
  left: 0;
  top: 0;
  pointer-events: none;
  opacity: 0;
  z-index: -1000;
}

.swiper-container-fade.swiper-container-free-mode .swiper-slide {
  transition-timing-function: ease-out;
}

.swiper-container-fade .swiper-slide {
  pointer-events: none;
  transition-property: opacity;
}

.swiper-container-fade .swiper-slide .swiper-slide {
  pointer-events: none;
}

.swiper-container-fade .swiper-slide-active,
.swiper-container-fade .swiper-slide-active .swiper-slide-active {
  pointer-events: auto;
}

.swiper-container-cube {
  overflow: visible;
}

.swiper-container-cube .swiper-slide {
  pointer-events: none;
  -webkit-backface-visibility: hidden;
  backface-visibility: hidden;
  z-index: 1;
  visibility: hidden;
  transform-origin: 0 0;
  width: 100%;
  height: 100%;
}

.swiper-container-cube .swiper-slide .swiper-slide {
  pointer-events: none;
}

.swiper-container-cube.swiper-container-rtl .swiper-slide {
  transform-origin: 100% 0;
}

.swiper-container-cube .swiper-slide-active,
.swiper-container-cube .swiper-slide-active .swiper-slide-active {
  pointer-events: auto;
}

.swiper-container-cube .swiper-slide-active,
.swiper-container-cube .swiper-slide-next,
.swiper-container-cube .swiper-slide-prev,
.swiper-container-cube .swiper-slide-next + .swiper-slide {
  pointer-events: auto;
  visibility: visible;
}

.swiper-container-cube .swiper-slide-shadow-top,
.swiper-container-cube .swiper-slide-shadow-bottom,
.swiper-container-cube .swiper-slide-shadow-left,
.swiper-container-cube .swiper-slide-shadow-right {
  z-index: 0;
  -webkit-backface-visibility: hidden;
  backface-visibility: hidden;
}

.swiper-container-cube .swiper-cube-shadow {
  position: absolute;
  left: 0;
  bottom: 0px;
  width: 100%;
  height: 100%;
  opacity: 0.6;
  z-index: 0;
}

.swiper-container-cube .swiper-cube-shadow:before {
  content: '';
  background: #000;
  position: absolute;
  left: 0;
  top: 0;
  bottom: 0;
  right: 0;
  filter: blur(50px);
}

.swiper-container-flip {
  overflow: visible;
}

.swiper-container-flip .swiper-slide {
  pointer-events: none;
  -webkit-backface-visibility: hidden;
  backface-visibility: hidden;
  z-index: 1;
}

.swiper-container-flip .swiper-slide .swiper-slide {
  pointer-events: none;
}

.swiper-container-flip .swiper-slide-active,
.swiper-container-flip .swiper-slide-active .swiper-slide-active {
  pointer-events: auto;
}

.swiper-container-flip .swiper-slide-shadow-top,
.swiper-container-flip .swiper-slide-shadow-bottom,
.swiper-container-flip .swiper-slide-shadow-left,
.swiper-container-flip .swiper-slide-shadow-right {
  z-index: 0;
  -webkit-backface-visibility: hidden;
  backface-visibility: hidden;
}

/**
Ion.RangeSlider, 2.3.0
© Denis Ineshin, 2010 - 2018, IonDen.com
Build date: 2018-12-11 23:23:51
*/
.irs {
  position: relative;
  display: block;
  -webkit-touch-callout: none;
  -webkit-user-select: none;
  -khtml-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
  font-size: 12px;
  font-family: Arial, sans-serif;
}

.irs-line {
  position: relative;
  display: block;
  overflow: hidden;
  outline: none !important;
}

.irs-bar {
  position: absolute;
  display: block;
  left: 0;
  width: 0;
}

.irs-shadow {
  position: absolute;
  display: none;
  left: 0;
  width: 0;
}

.irs-handle {
  position: absolute;
  display: block;
  box-sizing: border-box;
  cursor: default;
  z-index: 1;
}

.irs-handle.type_last {
  z-index: 2;
}

.irs-min,
.irs-max {
  position: absolute;
  display: block;
  cursor: default;
}

.irs-min {
  left: 0;
}

.irs-max {
  right: 0;
}

.irs-from,
.irs-to,
.irs-single {
  position: absolute;
  display: block;
  top: 0;
  left: 0;
  cursor: default;
  white-space: nowrap;
}

.irs-grid {
  position: absolute;
  display: none;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 20px;
}

.irs-with-grid .irs-grid {
  display: block;
}

.irs-grid-pol {
  position: absolute;
  top: 0;
  left: 0;
  width: 1px;
  height: 8px;
  background: #000;
}

.irs-grid-pol.small {
  height: 4px;
}

.irs-grid-text {
  position: absolute;
  bottom: 0;
  left: 0;
  white-space: nowrap;
  text-align: center;
  font-size: 9px;
  line-height: 9px;
  padding: 0 3px;
  color: #000;
}

.irs-disable-mask {
  position: absolute;
  display: block;
  top: 0;
  left: -1%;
  width: 102%;
  height: 100%;
  cursor: default;
  background: rgba(0, 0, 0, 0);
  z-index: 2;
}

.lt-ie9 .irs-disable-mask {
  background: #000;
  filter: alpha(opacity=0);
  cursor: not-allowed;
}

.irs-disabled {
  opacity: 0.4;
}

.irs-hidden-input {
  position: absolute !important;
  display: block !important;
  top: 0 !important;
  left: 0 !important;
  width: 0 !important;
  height: 0 !important;
  font-size: 0 !important;
  line-height: 0 !important;
  padding: 0 !important;
  margin: 0 !important;
  overflow: hidden;
  outline: none !important;
  z-index: -9999 !important;
  background: none !important;
  border-style: solid !important;
  border-color: transparent !important;
}

.irs--flat {
  height: 40px;
}

.irs--flat.irs-with-grid {
  height: 60px;
}

.irs--flat .irs-line {
  top: 25px;
  height: 12px;
  background-color: #e1e4e9;
  border-radius: 4px;
}

.irs--flat .irs-bar {
  top: 25px;
  height: 12px;
  background-color: #ed5565;
}

.irs--flat .irs-bar--single {
  border-radius: 4px 0 0 4px;
}

.irs--flat .irs-shadow {
  height: 1px;
  bottom: 16px;
  background-color: #e1e4e9;
}

.irs--flat .irs-handle {
  top: 22px;
  width: 16px;
  height: 18px;
  background-color: transparent;
}

.irs--flat .irs-handle > i:first-child {
  position: absolute;
  display: block;
  top: 0;
  left: 50%;
  width: 2px;
  height: 100%;
  margin-left: -1px;
  background-color: #da4453;
}

.irs--flat .irs-handle.state_hover > i:first-child,
.irs--flat .irs-handle:hover > i:first-child {
  background-color: #a43540;
}

.irs--flat .irs-min,
.irs--flat .irs-max {
  top: 0;
  padding: 1px 3px;
  color: #999;
  font-size: 10px;
  line-height: 1.333;
  text-shadow: none;
  background-color: #e1e4e9;
  border-radius: 4px;
}

.irs--flat .irs-from,
.irs--flat .irs-to,
.irs--flat .irs-single {
  color: white;
  font-size: 10px;
  line-height: 1.333;
  text-shadow: none;
  padding: 1px 5px;
  background-color: #ed5565;
  border-radius: 4px;
}

.irs--flat .irs-from:before,
.irs--flat .irs-to:before,
.irs--flat .irs-single:before {
  position: absolute;
  display: block;
  content: "";
  bottom: -6px;
  left: 50%;
  width: 0;
  height: 0;
  margin-left: -3px;
  overflow: hidden;
  border: 3px solid transparent;
  border-top-color: #ed5565;
}

.irs--flat .irs-grid-pol {
  background-color: #e1e4e9;
}

.irs--flat .irs-grid-text {
  color: #999;
}

.irs--big {
  height: 55px;
}

.irs--big.irs-with-grid {
  height: 70px;
}

.irs--big .irs-line {
  top: 33px;
  height: 12px;
  background-color: white;
  background: linear-gradient(to bottom, #ddd -50%, white 150%);
  border: 1px solid #ccc;
  border-radius: 12px;
}

.irs--big .irs-bar {
  top: 33px;
  height: 12px;
  background-color: #92bce0;
  border: 1px solid #428bca;
  background: linear-gradient(to bottom, #ffffff 0%, #428bca 30%, #b9d4ec 100%);
  box-shadow: inset 0 0 1px 1px rgba(255, 255, 255, 0.5);
}

.irs--big .irs-bar--single {
  border-radius: 12px 0 0 12px;
}

.irs--big .irs-shadow {
  height: 1px;
  bottom: 16px;
  background-color: rgba(66, 139, 202, 0.5);
}

.irs--big .irs-handle {
  top: 25px;
  width: 30px;
  height: 30px;
  border: 1px solid rgba(0, 0, 0, 0.3);
  background-color: #cbcfd5;
  background: linear-gradient(to bottom, white 0%, #B4B9BE 30%, white 100%);
  box-shadow: 1px 1px 2px rgba(0, 0, 0, 0.2), inset 0 0 3px 1px white;
  border-radius: 30px;
}

.irs--big .irs-handle.state_hover,
.irs--big .irs-handle:hover {
  border-color: rgba(0, 0, 0, 0.45);
  background-color: #939ba7;
  background: linear-gradient(to bottom, white 0%, #919BA5 30%, white 100%);
}

.irs--big .irs-min,
.irs--big .irs-max {
  top: 0;
  padding: 1px 5px;
  color: white;
  text-shadow: none;
  background-color: #9f9f9f;
  border-radius: 3px;
}

.irs--big .irs-from,
.irs--big .irs-to,
.irs--big .irs-single {
  color: white;
  text-shadow: none;
  padding: 1px 5px;
  background-color: #428bca;
  background: linear-gradient(to bottom, #428bca 0%, #3071a9 100%);
  border-radius: 3px;
}

.irs--big .irs-grid-pol {
  background-color: #428bca;
}

.irs--big .irs-grid-text {
  color: #428bca;
}

.irs--modern {
  height: 55px;
}

.irs--modern.irs-with-grid {
  height: 55px;
}

.irs--modern .irs-line {
  top: 25px;
  height: 5px;
  background-color: #d1d6e0;
  background: linear-gradient(to bottom, #e0e4ea 0%, #d1d6e0 100%);
  border: 1px solid #a3adc1;
  border-bottom-width: 0;
  border-radius: 5px;
}

.irs--modern .irs-bar {
  top: 25px;
  height: 5px;
  background: #20b426;
  background: linear-gradient(to bottom, #20b426 0%, #18891d 100%);
}

.irs--modern .irs-bar--single {
  border-radius: 5px 0 0 5px;
}

.irs--modern .irs-shadow {
  height: 1px;
  bottom: 21px;
  background-color: rgba(209, 214, 224, 0.5);
}

.irs--modern .irs-handle {
  top: 37px;
  width: 12px;
  height: 13px;
  border: 1px solid #a3adc1;
  border-top-width: 0;
  box-shadow: 1px 1px 1px rgba(0, 0, 0, 0.1);
  border-radius: 0 0 3px 3px;
}

.irs--modern .irs-handle > i:nth-child(1) {
  position: absolute;
  display: block;
  top: -4px;
  left: 1px;
  width: 6px;
  height: 6px;
  border: 1px solid #a3adc1;
  background: white;
  transform: rotate(45deg);
}

.irs--modern .irs-handle > i:nth-child(2) {
  position: absolute;
  display: block;
  box-sizing: border-box;
  top: 0;
  left: 0;
  width: 10px;
  height: 12px;
  background: #e9e6e6;
  background: linear-gradient(to bottom, white 0%, #e9e6e6 100%);
  border-radius: 0 0 3px 3px;
}

.irs--modern .irs-handle > i:nth-child(3) {
  position: absolute;
  display: block;
  box-sizing: border-box;
  top: 3px;
  left: 3px;
  width: 4px;
  height: 5px;
  border-left: 1px solid #a3adc1;
  border-right: 1px solid #a3adc1;
}

.irs--modern .irs-handle.state_hover,
.irs--modern .irs-handle:hover {
  border-color: #7685a2;
  background: #c3c7cd;
  background: linear-gradient(to bottom, #ffffff 0%, #919ba5 30%, #ffffff 100%);
}

.irs--modern .irs-handle.state_hover > i:nth-child(1),
.irs--modern .irs-handle:hover > i:nth-child(1) {
  border-color: #7685a2;
}

.irs--modern .irs-handle.state_hover > i:nth-child(3),
.irs--modern .irs-handle:hover > i:nth-child(3) {
  border-color: #48536a;
}

.irs--modern .irs-min,
.irs--modern .irs-max {
  top: 0;
  font-size: 10px;
  line-height: 1.333;
  text-shadow: none;
  padding: 1px 5px;
  color: white;
  background-color: #d1d6e0;
  border-radius: 5px;
}

.irs--modern .irs-from,
.irs--modern .irs-to,
.irs--modern .irs-single {
  font-size: 10px;
  line-height: 1.333;
  text-shadow: none;
  padding: 1px 5px;
  background-color: #20b426;
  color: white;
  border-radius: 5px;
}

.irs--modern .irs-from:before,
.irs--modern .irs-to:before,
.irs--modern .irs-single:before {
  position: absolute;
  display: block;
  content: "";
  bottom: -6px;
  left: 50%;
  width: 0;
  height: 0;
  margin-left: -3px;
  overflow: hidden;
  border: 3px solid transparent;
  border-top-color: #20b426;
}

.irs--modern .irs-grid {
  height: 25px;
}

.irs--modern .irs-grid-pol {
  background-color: #dedede;
}

.irs--modern .irs-grid-text {
  color: silver;
  font-size: 13px;
}

.irs--sharp {
  height: 50px;
  font-size: 12px;
  line-height: 1;
}

.irs--sharp.irs-with-grid {
  height: 57px;
}

.irs--sharp .irs-line {
  top: 30px;
  height: 2px;
  background-color: black;
  border-radius: 2px;
}

.irs--sharp .irs-bar {
  top: 30px;
  height: 2px;
  background-color: #ee22fa;
}

.irs--sharp .irs-bar--single {
  border-radius: 2px 0 0 2px;
}

.irs--sharp .irs-shadow {
  height: 1px;
  bottom: 21px;
  background-color: rgba(0, 0, 0, 0.5);
}

.irs--sharp .irs-handle {
  top: 25px;
  width: 10px;
  height: 10px;
  background-color: #a804b2;
}

.irs--sharp .irs-handle > i:first-child {
  position: absolute;
  display: block;
  top: 100%;
  left: 0;
  width: 0;
  height: 0;
  border: 5px solid transparent;
  border-top-color: #a804b2;
}

.irs--sharp .irs-handle.state_hover,
.irs--sharp .irs-handle:hover {
  background-color: black;
}

.irs--sharp .irs-handle.state_hover > i:first-child,
.irs--sharp .irs-handle:hover > i:first-child {
  border-top-color: black;
}

.irs--sharp .irs-min,
.irs--sharp .irs-max {
  color: white;
  font-size: 14px;
  line-height: 1;
  top: 0;
  padding: 3px 4px;
  opacity: 0.4;
  background-color: #a804b2;
  border-radius: 2px;
}

.irs--sharp .irs-from,
.irs--sharp .irs-to,
.irs--sharp .irs-single {
  font-size: 14px;
  line-height: 1;
  text-shadow: none;
  padding: 3px 4px;
  background-color: #a804b2;
  color: white;
  border-radius: 2px;
}

.irs--sharp .irs-from:before,
.irs--sharp .irs-to:before,
.irs--sharp .irs-single:before {
  position: absolute;
  display: block;
  content: "";
  bottom: -6px;
  left: 50%;
  width: 0;
  height: 0;
  margin-left: -3px;
  overflow: hidden;
  border: 3px solid transparent;
  border-top-color: #a804b2;
}

.irs--sharp .irs-grid {
  height: 25px;
}

.irs--sharp .irs-grid-pol {
  background-color: #dedede;
}

.irs--sharp .irs-grid-text {
  color: silver;
  font-size: 13px;
}

.irs--round {
  height: 50px;
}

.irs--round.irs-with-grid {
  height: 65px;
}

.irs--round .irs-line {
  top: 36px;
  height: 4px;
  background-color: #dee4ec;
  border-radius: 4px;
}

.irs--round .irs-bar {
  top: 36px;
  height: 4px;
  background-color: #006cfa;
}

.irs--round .irs-bar--single {
  border-radius: 4px 0 0 4px;
}

.irs--round .irs-shadow {
  height: 4px;
  bottom: 21px;
  background-color: rgba(222, 228, 236, 0.5);
}

.irs--round .irs-handle {
  top: 26px;
  width: 24px;
  height: 24px;
  border: 4px solid #006cfa;
  background-color: white;
  border-radius: 24px;
  box-shadow: 0 1px 3px rgba(0, 0, 255, 0.3);
}

.irs--round .irs-handle.state_hover,
.irs--round .irs-handle:hover {
  background-color: #f0f6ff;
}

.irs--round .irs-min,
.irs--round .irs-max {
  color: #333;
  font-size: 14px;
  line-height: 1;
  top: 0;
  padding: 3px 5px;
  background-color: rgba(0, 0, 0, 0.1);
  border-radius: 4px;
}

.irs--round .irs-from,
.irs--round .irs-to,
.irs--round .irs-single {
  font-size: 14px;
  line-height: 1;
  text-shadow: none;
  padding: 3px 5px;
  background-color: #006cfa;
  color: white;
  border-radius: 4px;
}

.irs--round .irs-from:before,
.irs--round .irs-to:before,
.irs--round .irs-single:before {
  position: absolute;
  display: block;
  content: "";
  bottom: -6px;
  left: 50%;
  width: 0;
  height: 0;
  margin-left: -3px;
  overflow: hidden;
  border: 3px solid transparent;
  border-top-color: #006cfa;
}

.irs--round .irs-grid {
  height: 25px;
}

.irs--round .irs-grid-pol {
  background-color: #dedede;
}

.irs--round .irs-grid-text {
  color: silver;
  font-size: 13px;
}

.irs--square {
  height: 50px;
}

.irs--square.irs-with-grid {
  height: 60px;
}

.irs--square .irs-line {
  top: 31px;
  height: 4px;
  background-color: #dedede;
}

.irs--square .irs-bar {
  top: 31px;
  height: 4px;
  background-color: black;
}

.irs--square .irs-shadow {
  height: 2px;
  bottom: 21px;
  background-color: #dedede;
}

.irs--square .irs-handle {
  top: 25px;
  width: 16px;
  height: 16px;
  border: 3px solid black;
  background-color: white;
  -webkit-transform: rotate(45deg);
  -ms-transform: rotate(45deg);
  transform: rotate(45deg);
}

.irs--square .irs-handle.state_hover,
.irs--square .irs-handle:hover {
  background-color: #f0f6ff;
}

.irs--square .irs-min,
.irs--square .irs-max {
  color: #333;
  font-size: 14px;
  line-height: 1;
  top: 0;
  padding: 3px 5px;
  background-color: rgba(0, 0, 0, 0.1);
}

.irs--square .irs-from,
.irs--square .irs-to,
.irs--square .irs-single {
  font-size: 14px;
  line-height: 1;
  text-shadow: none;
  padding: 3px 5px;
  background-color: black;
  color: white;
}

.irs--square .irs-grid {
  height: 25px;
}

.irs--square .irs-grid-pol {
  background-color: #dedede;
}

.irs--square .irs-grid-text {
  color: silver;
  font-size: 11px;
}

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

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

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

@font-face {
  font-family: "Mont";
  font-weight: 400;
  font-style: "normal";
  src: url("../fonts/montRegular/Mont-Regular.ttf") format("truetype");
}

@font-face {
  font-family: "Cormorant Garamond";
  font-weight: 300;
  font-style: "normal";
  src: url("../fonts/cormorantGaramondLight/CormorantGaramond-Light.ttf") format("truetype");
}

@font-face {
  font-family: "Tenor Sans";
  font-weight: 400;
  font-style: "normal";
  src: url("../fonts/tenorSansRegular/TenorSans-Regular.ttf") format("truetype");
}

@font-face {
  font-family: "Nanum";
  font-weight: 400;
  font-style: "normal";
  src: url("../fonts/nanumMyeongjoRegular/NanumMyeongjo-Regular.ttf") format("truetype");
}

:root {
  --lr-paddings: 120px;
  --btm-padding: 150px;
  --top-padding: 50px;
  --sec-btm-indent: 200px;
  --elem-btm-margin: 100px;
  --popular-indent: 60px;
}

@media (max-width: 1920px) {
  :root {
    --lr-paddings: 80px;
    --elem-btm-margin: 60px;
    --sec-btm-indent: 120px;
  }
}

@media (max-width: 1360px) {
  :root {
    --lr-paddings: 40px;
  }
}

@media (max-width: 1024px) {
  :root {
    --lr-paddings: 40px;
    --elem-btm-margin: 40px;
    --sec-btm-indent: 80px;
    --popular-indent: 40px;
    --btm-padding: 80px;
  }
}

@media (max-width: 767px) {
  :root {
    --lr-paddings: 15px;
    --btm-padding: 60px;
    --popular-indent: 40px;
    --sec-btm-indent: 60px;
    --elem-btm-margin: 20px;
  }
}

* {
  box-sizing: border-box;
}

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

body,
div,
dl,
dt,
dd,
ul,
li,
h1,
h2,
h3,
h4,
h5,
h6,
pre,
code,
form,
fieldset,
figure,
input,
textarea,
p,
blockquote,
th,
td {
  margin: 0;
  padding: 0;
}

table {
  border-collapse: collapse;
  border-spacing: 0;
}

fieldset,
img,
abbr {
  border: 0;
}

address,
caption,
cite,
code,
dfn,
em,
strong,
th,
var {
  font-style: normal;
  font-weight: normal;
}

ul li {
  list-style: none;
}

caption,
th {
  text-align: left;
}

h1,
h2,
h3,
h4,
h5,
h6 {
  font-size: 100%;
  font-weight: normal;
}

sup {
  vertical-align: text-top;
}

sub {
  vertical-align: text-bottom;
}

input,
textarea,
select {
  font-family: inherit;
  font-size: inherit;
  font-weight: inherit;
}

legend {
  color: #000;
}

article,
aside,
details,
figcaption,
figure,
footer,
header,
hgroup,
menu,
nav,
section,
main {
  display: block;
}

.debug {
  z-index: 999999;
  height: 100vh;
  position: fixed;
  width: 100%;
}

.debug > div {
  height: inherit;
  max-width: 1760px;
  margin: 0 auto;
  padding-left: 30px;
  padding-right: 30px;
}

@media screen and (max-width: 576px) {
  .debug > div {
    padding-left: 10px;
    padding-right: 10px;
  }
}

.debug > div > div {
  height: inherit;
  display: flex;
  flex-wrap: wrap;
  margin-left: -10px;
  margin-right: -10px;
}

.debug > div > div > div {
  box-sizing: border-box;
  word-wrap: break-word;
  margin-left: 10px;
  margin-right: 10px;
  width: calc(8.33333% - 20px);
  height: inherit;
  outline: 1px solid #ff0;
  background: rgba(0, 0, 0, 0.5);
}

.container {
  max-width: 1760px;
  margin: 0 auto;
  padding-left: 30px;
  padding-right: 30px;
}

@media screen and (max-width: 576px) {
  .container {
    padding-left: 10px;
    padding-right: 10px;
  }
}

html {
  font-size: 14px;
  scrollbar-width: none;
  -webkit-font-smoothing: antialiased;
}

body {
  margin: 0;
  min-width: 320px;
  font-family: "Mont";
  font-weight: 600;
  overflow-x: hidden;
  font-size: 14px;
  background-color: #f9f8fc;
}

body.disabled-scroll {
  overflow: hidden;
}

body::-webkit-scrollbar {
  display: none;
}

a {
  text-decoration: none;
  text-transform: uppercase;
}

button {
  border: none;
  outline: none;
  background: transparent;
  cursor: pointer;
  padding: 0;
  font: inherit;
}

img {
  vertical-align: middle;
}

.loader-wrap {
  position: fixed;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  background-color: #fff;
  z-index: 1000;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: opacity 1s ease-out;
}

.loader-wrap svg {
  animation: loaderLogo 1.5s ease-out 1;
}

@keyframes loaderLogo {
  from {
    clip-path: polygon(0 100%, 100% 100%, 100% 100%, 0% 100%);
    -webkit-clip-path: polygon(0 100%, 100% 100%, 100% 100%, 0% 100%);
  }
  to {
    clip-path: polygon(0 100%, 100% 100%, 100% 0, 0 0);
    -webkit-clip-path: polygon(0 100%, 100% 100%, 100% 0, 0 0);
  }
}

@media screen and (min-width: 576px) {
  .desktop-hide {
    display: none;
  }
}

@media screen and (max-width: 575px) {
  .hide-on-mobile {
    display: none !important;
  }
}

.mfp-3d-unfold .mfp-content {
  perspective: 2000px;
}

.mfp-3d-unfold .mfp-with-anim {
  opacity: 0;
  transition: all 0.3s ease-in-out;
  transform-style: preserve-3d;
  transform: rotateY(-60deg);
}

.mfp-3d-unfold .mfp-bg {
  opacity: 0;
  transition: all 0.5s;
}

.mfp-ready .mfp-with-anim {
  opacity: 1;
  transform: rotateY(0deg);
}

.mfp-ready .mfp-bg {
  opacity: 0.8;
}

.mfp-removing .mfp-with-anim {
  transform: rotateY(60deg);
  opacity: 0;
}

.mfp-removing .mfp-bg {
  opacity: 0;
}

@keyframes scroll {
  from {
    transform: translate(0, 0);
  }
  to {
    transform: translate(0, 40%);
  }
}

:root {
  --btn-link-width: 270px;
  --btn-link-height: 70px;
  --btn-link-font-size: 14px;
  --headers-margin-bottom: 30px;
  --menu-call-block-max-width: 857px;
}

@media (max-width: 767px) {
  :root {
    --headers-margin-bottom: 20px;
  }
}

.page__content {
  min-height: 100vh;
}

.main {
  --top-padding: 50px;
  padding: calc(var(--header-height) + var(--top-padding)) 0 var(--btm-padding);
  padding-bottom: 0;
}

.main-home {
  --top-padding: 0px;
}

@media screen and (max-width: 575px) {
  .main-home {
    padding-bottom: 0;
  }
}

.headers {
  font-family: "Cormorant Garamond";
  font-size: 62px;
  font-weight: 300;
  color: #1f1f1f;
  line-height: 100%;
  letter-spacing: 0.01em;
  text-transform: uppercase;
}

@media (max-width: 1920px) {
  .headers {
    font-size: 50px;
  }
}

@media (max-width: 767px) {
  .headers {
    font-size: 30px;
  }
}

.section-text {
  font-size: 16px;
  line-height: 170%;
  color: #8a8a8a;
  font-weight: 300;
}

@media (max-width: 1024px) {
  .section-text {
    font-size: 14px;
  }
}

@media (max-width: 767px) {
  .section-text {
    font-size: 12px;
  }
}

.card {
  display: flex;
  align-items: stretch;
  justify-content: flex-start;
  flex-direction: column;
  height: 100%;
  max-width: 100%;
  overflow-x: hidden;
}

.card-img {
  width: 100%;
  height: auto;
  object-fit: cover;
}

.card-top {
  position: relative;
  overflow: hidden;
}

@media (max-width: 1024px) {
  .card-top {
    overflow: hidden;
  }
}

@media screen and (min-width: 1025px) {
  .card img {
    transition: 0.25s ease-out;
  }
  .card:hover img {
    transform: scale(1.05);
  }
}

.card-bottom {
  --paddings-lrb: 50px;
  padding: 40px var(--paddings-lrb) var(--paddings-lrb);
  background-color: #f9f8fc;
  border: 1px solid #bbbbbb;
  border-top: 0;
  flex-grow: 1;
}

@media (max-width: 1024px) {
  .card-bottom {
    padding: 30px 35px;
  }
}

@media (max-width: 767px) {
  .card-bottom {
    padding: 25px 30px;
  }
}

.card-date {
  margin-bottom: 20px;
  font-family: "Mont";
  font-size: 16px;
  font-weight: 600;
  color: #919191;
  line-height: 100%;
  letter-spacing: initial;
  text-transform: uppercase;
}

@media (max-width: 1024px) {
  .card-date {
    font-size: 14px;
  }
}

@media (max-width: 767px) {
  .card-date {
    font-size: 12px;
    margin-bottom: 10px;
  }
}

.card-date.hidden {
  visibility: hidden;
}

.card-text {
  font-family: "Mont";
  font-size: 20px;
  font-weight: 600;
  color: #4a4a49;
  line-height: 170%;
  letter-spacing: initial;
  text-transform: uppercase;
  min-height: calc(1.7em * 3);
  display: -webkit-box;
  -webkit-line-clamp: 3;
  -webkit-box-orient: vertical;
  overflow: hidden;
}

@media (max-width: 1024px) {
  .card-text {
    font-size: 16px;
  }
}

@media (max-width: 767px) {
  .card-text {
    font-size: 14px;
  }
}

.progress-card {
  display: flex;
  align-items: stretch;
  justify-content: flex-start;
  flex-direction: column;
  cursor: pointer;
}

@media (max-width: 1024px) {
  .progress-card {
    margin-bottom: 40px;
  }
}

@media (max-width: 1024px) {
  .progress-card:last-child {
    margin-bottom: 0;
  }
}

.progress-card:hover .progress-card__img {
  transform: scale(1.02);
}

.progress-card:hover .progress-card__img-plus {
  opacity: 1;
}

.progress-card__img {
  width: 100%;
  height: auto;
  object-fit: cover;
  transition: transform 0.5s ease-in-out;
}

.progress-card__img-plus {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  opacity: 0;
  transition: opacity 0.5s ease-in-out;
}

.progress-card-top {
  position: relative;
  overflow: hidden;
}

.progress-card-bottom {
  padding: 30px 40px;
  background-color: #f9f8fc;
  border: 1px solid #bbbbbb;
  border-top: 0;
  flex-grow: 1;
  display: flex;
  align-items: center;
  justify-content: space-between;
  flex-direction: row;
  font-family: "Mont";
  font-size: 20px;
  font-weight: 600;
  color: #4a4a49;
  line-height: 100%;
  letter-spacing: initial;
  text-transform: uppercase;
}

@media (max-width: 1024px) {
  .progress-card-bottom {
    font-size: 16px;
  }
}

@media (max-width: 767px) {
  .progress-card-bottom {
    padding: 20px;
    font-size: 14px;
  }
}

.progress-card__numbers {
  display: flex;
}

.progress-card__numbers-info {
  display: flex;
  align-items: center;
  justify-content: flex-start;
  flex-direction: row;
  display: inline-flex;
}

.progress-card__numbers-info:not(:last-child) {
  margin-right: 34px;
}

.progress-card__numbers-info::before {
  content: '';
  background-image: url("");
  background-size: 20px 20px;
  display: inline-block;
  width: 20px;
  height: 20px;
  margin-right: 10px;
}

.progress-card__numbers-info_video::before {
  background-image: url("../images/progress/video.svg");
}

.progress-card__numbers-info_pages::before {
  background-image: url("../images/progress/pages.svg");
}

.menu {
  position: fixed;
  width: 100%;
  height: 100%;
  background-color: rgba(0, 0, 0, 0.8);
  top: 0;
  z-index: 20;
  display: flex;
  align-items: flex-start;
  justify-content: flex-end;
  flex-direction: row;
  visibility: hidden;
  opacity: 0;
  transition-property: opacity, visibility;
  transition-duration: 0.3s;
  transition-timing-function: ease-in-out;
}

@media screen and (max-width: 575px) {
  .menu {
    min-height: -webkit-fill-available;
  }
}

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

.menu.active {
  visibility: visible;
  opacity: 1;
  overflow-y: auto;
}

.menu .menu-block {
  background-color: #f9f8fc;
  min-height: 100%;
  flex: 0 0 var(--menu-call-block-max-width);
  padding: var(--header-tb-padding) var(--lr-paddings);
  padding-left: 0;
  display: grid;
  grid-template: auto 1fr auto/auto;
  justify-content: flex-end;
}

@media (max-width: 1024px) {
  .menu .menu-block {
    display: flex;
    flex-direction: column;
    padding: 15px 40px;
    width: 100%;
    min-height: auto;
    flex: auto;
    height: 100%;
    justify-content: space-between;
  }
}

@media screen and (max-width: 1024px) and (max-width: 575px) {
  .menu .menu-block {
    min-height: -webkit-fill-available;
  }
}

@media (max-width: 767px) {
  .menu .menu-block {
    padding: 10px 15px;
  }
}

.menu .menu-block__header {
  display: flex;
  align-items: center;
  justify-content: flex-start;
  flex-direction: row;
}

@media (max-width: 1024px) {
  .menu .menu-block__header {
    justify-content: space-between;
  }
}

.menu .menu-block__header * {
  font-family: "Mont";
  font-size: 16px;
  font-weight: 500;
  color: #4a4a49;
  line-height: 100%;
  letter-spacing: 0.01em;
  text-transform: uppercase;
}

@media (max-width: 767px) {
  .menu .menu-block__header * {
    font-size: 14px;
  }
}

@media screen and (min-width: 1025px) {
  .menu .menu-block__header * {
    transition: 0.3s ease-out;
  }
  .menu .menu-block__header *:hover {
    color: #4a3a5e;
  }
}

.menu .menu-block__header *:not(:last-child) {
  margin-right: 117px;
}

@media (max-width: 767px) {
  .menu .menu-block__header *:not(:last-child) {
    margin-right: auto;
  }
}

.menu .menu-block__call-btn {
  font-size: 14px;
}

@media (max-width: 767px) {
  .menu .menu-block__call-btn {
    font-size: 0;
    width: 45px;
    height: 45px;
    border: 1px solid #4a3a5e;
    border-radius: 50%;
    margin-right: 15px !important;
    display: flex;
    justify-content: center;
    align-items: center;
  }
  .menu .menu-block__call-btn:after {
    content: '';
    width: 13px;
    height: 14px;
    background-image: url("data:image/svg+xml,%3Csvg width='15' height='16' viewBox='0 0 15 16' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M13.716 11.2538V13.3156C13.7167 13.507 13.6803 13.6964 13.6089 13.8718C13.5376 14.0472 13.4329 14.2046 13.3017 14.334C13.1705 14.4634 13.0156 14.5619 12.8469 14.6232C12.6782 14.6845 12.4994 14.7073 12.3221 14.6901C10.3544 14.4603 8.46441 13.7376 6.80382 12.5802C5.25885 11.5251 3.94899 10.1172 2.96725 8.45672C1.88661 6.66383 1.2141 4.62255 1.00421 2.49827C0.988235 2.30822 1.00925 2.11668 1.06592 1.93584C1.12259 1.755 1.21367 1.58883 1.33337 1.44789C1.45307 1.30696 1.59876 1.19436 1.76116 1.11726C1.92357 1.04016 2.09913 1.00025 2.27667 1.00007H4.19495C4.50527 0.996784 4.80611 1.11489 5.0414 1.33237C5.27669 1.54986 5.43038 1.85188 5.47381 2.18214C5.55477 2.84194 5.70493 3.48978 5.92141 4.11331C6.00744 4.35929 6.02606 4.62662 5.97506 4.88363C5.92406 5.14064 5.80558 5.37655 5.63366 5.5634L4.82159 6.43621C5.73185 8.15677 7.05732 9.58137 8.65815 10.5597L9.47023 9.6869C9.64408 9.50212 9.86357 9.37478 10.1027 9.31997C10.3418 9.26516 10.5906 9.28517 10.8194 9.37764C11.3996 9.6103 12.0023 9.77169 12.6162 9.85871C12.9268 9.90581 13.2105 10.074 13.4133 10.3312C13.6161 10.5884 13.7238 10.9168 13.716 11.2538Z' stroke='%234A3A5E' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E%0A");
    background-repeat: no-repeat;
    background-size: contain;
  }
}

.menu .menu-block__close-btn {
  display: flex;
  cursor: pointer;
}

@media (max-width: 767px) {
  .menu .menu-block__close-btn::after {
    height: 45px;
    width: 45px;
    background-size: 45px 45px;
  }
}

@media (max-width: 767px) {
  .menu .menu-block__close-btn {
    height: 45px;
    width: 45px;
    background-size: 45px 45px;
  }
}

.menu .menu-block__close-btn .hover,
.menu .menu-block__close-btn .default {
  transition: 0.25s ease-out;
  transform-origin: center;
  transform-box: fill-box;
}

.menu .menu-block__close-btn .default {
  transform: scale(1);
}

.menu .menu-block__close-btn .hover {
  transform: scale(0);
  fill: #9c91c5;
}

@media screen and (min-width: 1025px) {
  .menu .menu-block__close-btn:hover .hover {
    transform: scale(1);
  }
  .menu .menu-block__close-btn:hover .default {
    transform: scale(0);
  }
}

.menu .menu-block__content {
  display: flex;
  align-items: center;
  justify-content: flex-start;
  flex-direction: row;
}

.menu .menu-block__element:not(:last-child) {
  margin-bottom: 30px;
}

@media (max-width: 767px) {
  .menu .menu-block__element:not(:last-child) {
    margin-bottom: 20px;
  }
}

.menu .menu-block__link {
  font-family: "Cormorant Garamond";
  font-size: 50px;
  font-weight: 400;
  color: #1f1f1f;
  line-height: 100%;
  letter-spacing: 0.01em;
  text-transform: uppercase;
}

@media (max-width: 1024px) {
  .menu .menu-block__link {
    font-size: 40px;
  }
}

@media (max-width: 767px) {
  .menu .menu-block__link {
    font-size: 30px;
  }
}

.menu .menu-block__link {
  position: relative;
  overflow: hidden;
  display: block;
}

@media screen and (min-width: 1025px) {
  .menu .menu-block__link {
    color: transparent;
  }
  .menu .menu-block__link:after {
    content: attr(data-text);
    position: absolute;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
    transition: 0.25s ease-out;
    transform: translateY(-100%);
    color: #4a3a5e;
    line-height: 110%;
    opacity: 0;
  }
  .menu .menu-block__link:before {
    content: attr(data-text);
    position: absolute;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
    line-height: 110%;
    color: #1f1f1f;
    transition: 0.25s ease-out;
  }
  .menu .menu-block__link:hover:before {
    transform: translateY(110%);
  }
  .menu .menu-block__link:hover:after {
    opacity: 1;
    transform: translateY(0);
  }
}

.menu .menu-block .lang-block ul {
  display: flex;
  gap: 5px;
}

.menu .menu-block .lang-block ul a {
  color: #4a4a49;
}

.menu .menu-block .lang-block ul li.active a {
  font-weight: bold;
}

.menu .menu-block__footer {
  display: flex;
  align-items: center;
  justify-content: space-between;
  flex-direction: row;
  font-family: "Mont";
  font-size: 14px;
  font-weight: 400;
  color: #4a4a49;
  line-height: 100%;
  letter-spacing: 0.01em;
  text-transform: uppercase;
}

.menu .menu-block__soc-link {
  color: #4a4a49;
}

@media (max-width: 1024px) {
  .menu .menu-block__soc-link {
    font-size: 12px;
  }
}

@media (max-width: 767px) {
  .menu .menu-block__soc-link {
    font-size: 10px;
  }
}

.menu .menu-block__soc-link_insta {
  margin-left: 60px;
}

@media (max-width: 767px) {
  .menu .menu-block__soc-link_insta {
    margin-left: 40px;
  }
}

.menu .menu-block__lang-btn {
  border-radius: 50%;
  border: 2px solid rgba(74, 58, 94, 0.25);
  background: transparent;
  width: 70px;
  height: 70px;
  border-width: 1px;
  text-transform: uppercase;
}

@media (max-width: 767px) {
  .menu .menu-block__lang-btn {
    width: 45px;
    height: 45px;
    font-size: 10px;
  }
}

.call {
  position: fixed;
  width: 100%;
  height: 100%;
  background-color: rgba(0, 0, 0, 0.8);
  top: 0;
  z-index: 30;
  display: flex;
  align-items: flex-start;
  justify-content: flex-end;
  flex-direction: row;
  visibility: hidden;
  opacity: 0;
  transition-property: opacity, visibility;
  transition-duration: 0.3s;
  transition-timing-function: ease-in-out;
}

.call.active {
  visibility: visible;
  opacity: 1;
  overflow-y: auto;
}

.call .call-block,
.call .call-thanks-block {
  background-color: #f9f8fc;
  min-height: 100%;
  flex: 0 0 var(--menu-call-block-max-width);
  padding: var(--header-tb-padding) var(--lr-paddings);
  padding-left: 0;
  display: grid;
  grid-template: auto 1fr/1fr repeat(2, auto);
  justify-content: flex-end;
  transition-property: opacity, visibility;
  transition-duration: 0.5s;
  transition-timing-function: ease-in-out;
  /* THANKS BLOCK */
}

@media (max-width: 1024px) {
  .call .call-block,
  .call .call-thanks-block {
    padding: 15px 40px;
    display: flex;
    width: 100%;
    justify-content: flex-start;
    flex-direction: column;
    flex: 0 0 auto;
  }
}

@media (max-width: 767px) {
  .call .call-block,
  .call .call-thanks-block {
    padding: 10px 15px;
  }
}

.call .call-block.active,
.call .call-thanks-block.active {
  transform: translateY(0);
}

.call .call-block.hidden,
.call .call-thanks-block.hidden {
  visibility: hidden;
  opacity: 0;
}

.call .call-block__header,
.call .call-thanks-block__header {
  grid-column-start: 3;
  display: flex;
  align-items: flex-start;
  justify-content: flex-end;
  flex-direction: row;
}

.call .call-block__close-btn,
.call .call-thanks-block__close-btn {
  display: flex;
}

.call .call-block__close-btn svg,
.call .call-thanks-block__close-btn svg {
  width: 70px;
  height: 70px;
}

.call .call-block__close-btn svg .hover,
.call .call-block__close-btn svg .default,
.call .call-thanks-block__close-btn svg .hover,
.call .call-thanks-block__close-btn svg .default {
  transition: 0.25s ease-out;
  transform-origin: center;
  transform-box: fill-box;
}

.call .call-block__close-btn svg .default,
.call .call-thanks-block__close-btn svg .default {
  transform: scale(1);
}

.call .call-block__close-btn svg .hover,
.call .call-thanks-block__close-btn svg .hover {
  transform: scale(0);
  fill: #9c91c5;
}

@media (max-width: 767px) {
  .call .call-block__close-btn svg,
  .call .call-thanks-block__close-btn svg {
    height: 45px;
    width: 45px;
    background-size: 45px 45px;
  }
}

@media screen and (min-width: 1025px) {
  .call .call-block__close-btn svg:hover .hover,
  .call .call-thanks-block__close-btn svg:hover .hover {
    transform: scale(1);
  }
  .call .call-block__close-btn svg:hover .default,
  .call .call-thanks-block__close-btn svg:hover .default {
    transform: scale(0);
  }
}

.call .call-block__content,
.call .call-thanks-block__content {
  grid-row-start: 2;
  grid-column-start: 2;
  max-width: 520px;
  display: flex;
  align-items: flex-start;
  justify-content: center;
  flex-direction: column;
}

@media (max-width: 1024px) {
  .call .call-block__content,
  .call .call-thanks-block__content {
    height: 50vh;
  }
}

@media (max-width: 767px) {
  .call .call-block__content,
  .call .call-thanks-block__content {
    height: 80vh;
  }
}

.call .call-block__header-text,
.call .call-thanks-block__header-text {
  margin-bottom: 60px;
}

@media (max-width: 1024px) {
  .call .call-block__header-text,
  .call .call-thanks-block__header-text {
    width: 50%;
  }
}

@media (max-width: 767px) {
  .call .call-block__header-text,
  .call .call-thanks-block__header-text {
    margin-bottom: 30px;
  }
}

.call .call-block__form,
.call .call-thanks-block__form {
  display: flex;
  align-items: flex-start;
  justify-content: flex-start;
  flex-direction: column;
  width: 100%;
}

.call .call-block .form-field,
.call .call-thanks-block .form-field {
  width: 100%;
  position: relative;
}

.call .call-block .form-field .input-message,
.call .call-thanks-block .form-field .input-message {
  margin-top: 0;
  color: red;
  margin-bottom: 7px;
  position: absolute;
  left: 0;
  bottom: 0;
}

.call .call-block__input,
.call .call-thanks-block__input {
  border: none;
  outline: none;
  background: transparent;
  padding: 0;
  font: inherit;
  padding-bottom: 10px;
  margin-bottom: 40px;
  border-bottom: 2px solid rgba(74, 58, 94, 0.15);
  width: 100%;
  font-family: "Mont";
  font-size: 16px;
  font-weight: 400;
  color: #4a4a49;
  line-height: 170%;
  letter-spacing: initial;
  text-transform: none;
}

@media (max-width: 1024px) {
  .call .call-block__input,
  .call .call-thanks-block__input {
    font-size: 14px;
  }
}

@media (max-width: 767px) {
  .call .call-block__input,
  .call .call-thanks-block__input {
    margin-bottom: 30px;
    padding-bottom: 7px;
    font-size: 12px;
  }
}

.call .call-block__checkbox-wrapper,
.call .call-thanks-block__checkbox-wrapper {
  margin-bottom: 60px;
  position: relative;
  display: flex;
  align-items: center;
  justify-content: flex-start;
  flex-direction: row;
}

.call .call-block__checkbox-wrapper .input-message,
.call .call-thanks-block__checkbox-wrapper .input-message {
  position: absolute;
  top: calc(100% + 10px);
  color: red;
}

@media (max-width: 767px) {
  .call .call-block__checkbox-wrapper,
  .call .call-thanks-block__checkbox-wrapper {
    margin-bottom: 30px;
  }
}

.call .call-block__checkbox,
.call .call-thanks-block__checkbox {
  width: 25px;
  height: 25px;
  position: absolute;
  appearance: none;
  -webkit-appearance: none;
  cursor: pointer;
}

@media (max-width: 767px) {
  .call .call-block__checkbox,
  .call .call-thanks-block__checkbox {
    height: 20px;
    width: 20px;
  }
}

.call .call-block__checkbox:checked + .call-block__checkbox-custom,
.call .call-thanks-block__checkbox:checked + .call-block__checkbox-custom {
  background: no-repeat center #4a3a5e url("../images/call/ok.svg");
}

.call .call-block__checkbox-label,
.call .call-thanks-block__checkbox-label {
  padding-left: 15px;
  font-family: "Mont";
  font-size: 12px;
  font-weight: 500;
  color: #4a4a49;
  line-height: 100%;
  letter-spacing: initial;
  text-transform: none;
  cursor: pointer;
}

.call .call-block__checkbox-custom,
.call .call-thanks-block__checkbox-custom {
  position: relative;
  border: 1px solid #4a3a5e;
  width: 25px;
  height: 25px;
  pointer-events: none;
}

.call .call-block__submit,
.call .call-thanks-block__submit {
  display: flex;
}

.call .call-block__submit [data-btn-submit-text],
.call .call-thanks-block__submit [data-btn-submit-text] {
  display: none;
}

.call .call-block__submit svg,
.call .call-thanks-block__submit svg {
  width: 110px;
  height: 110px;
}

.call .call-block__submit svg .hover,
.call .call-block__submit svg .default,
.call .call-thanks-block__submit svg .hover,
.call .call-thanks-block__submit svg .default {
  transition: 0.25s ease-out;
  transform-origin: center;
  transform-box: fill-box;
}

.call .call-block__submit svg .default,
.call .call-thanks-block__submit svg .default {
  transform: scale(1);
}

.call .call-block__submit svg .hover,
.call .call-thanks-block__submit svg .hover {
  transform: scale(0);
  fill: #9c91c5;
}

@media (max-width: 767px) {
  .call .call-block__submit svg,
  .call .call-thanks-block__submit svg {
    height: 80px;
    width: 80px;
  }
}

@media screen and (min-width: 1025px) {
  .call .call-block__submit svg:hover .hover,
  .call .call-thanks-block__submit svg:hover .hover {
    transform: scale(1);
  }
  .call .call-block__submit svg:hover .default,
  .call .call-thanks-block__submit svg:hover .default {
    transform: scale(0);
  }
}

.call .call-block__text-header,
.call .call-thanks-block__text-header {
  margin-bottom: 40px;
}

.call .call-block__text,
.call .call-thanks-block__text {
  font-family: "Mont";
  font-size: 16px;
  font-weight: 400;
  color: #8a8a8a;
  line-height: 170%;
  letter-spacing: initial;
  text-transform: none;
}

.call .call-thanks-block {
  grid-template: repeat(2, auto) 1fr/1fr repeat(2, auto);
  position: absolute;
  transform: translateY(-100%);
}

.call .call-thanks-block__content {
  margin-top: 96px;
}

@media (max-width: 1024px) {
  .call .call-thanks-block__content {
    margin-top: 0;
  }
}

@media (max-width: 767px) {
  .call .call-thanks-block__content {
    margin-top: 0;
    height: 55vh;
  }
}

.call .call-thanks-block__img {
  grid-column: 1 / 4;
  grid-row-start: 4;
  max-width: 100%;
}

@media (max-width: 767px) {
  .call .call-thanks-block__img {
    transform: translateX(calc(var(--lr-paddings) * -1));
  }
}

.lr-paddings {
  padding: 0 var(--lr-paddings);
}

.white-btn-link,
.violet-btn-link {
  --btn-link-width: 270px;
  --btn-link-height: 70px;
  --btn-link-font-size: 14px;
}

@media (max-width: 767px) {
  .white-btn-link,
  .violet-btn-link {
    --btn-link-width: 170px;
    --btn-link-height: 45px;
    --btn-link-font-size: 10px;
  }
}

.white-btn-link {
  width: var(--btn-link-width);
  height: var(--btn-link-height);
  background-color: transparent;
  font-weight: 400;
  font-size: var(--btn-link-font-size);
  line-height: 100%;
  text-transform: uppercase;
  color: #4a3a5e;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-direction: row;
  text-decoration: none;
  border: 1px solid #4a3a5e;
  outline: none;
  cursor: pointer;
  border-radius: 100px;
}

.violet-btn-link {
  width: var(--btn-link-width);
  height: var(--btn-link-height);
  background-color: #4a3a5e;
  font-weight: 400;
  font-size: var(--btn-link-font-size);
  line-height: 100%;
  text-transform: uppercase;
  color: #ffffff;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-direction: row;
  text-decoration: none;
  border: none;
  outline: none;
  cursor: pointer;
  border-radius: 100px;
}

@media screen and (min-width: 1025px) {
  .violet-btn-link {
    transition: 0.25s ease-out;
  }
  .violet-btn-link:hover {
    background-color: #9885b5;
  }
}

.gallery-pop-up {
  position: fixed;
  width: 100%;
  height: 100%;
  background-color: #f9f8fc;
  top: 0;
  z-index: 30;
  overflow-y: auto;
  visibility: hidden;
  opacity: 0;
  transition-property: opacity, visibility;
  transition-duration: 0.3s;
  transition-timing-function: ease-in-out;
  padding: 50px var(--lr-paddings);
  display: grid;
  grid-template: auto/repeat(24, 1fr);
}

.gallery-pop-up.active {
  visibility: visible;
  opacity: 1;
}

@media (max-width: 1024px) {
  .gallery-pop-up.active {
    display: none;
  }
}

.gallery-pop-up .pop-up-content {
  grid-column: 3 / 23;
  overflow-x: hidden;
  height: 100%;
}

.gallery-pop-up .pop-up-content::-webkit-scrollbar {
  display: none;
}

.gallery-pop-up .pop-up-main-slide {
  margin-bottom: 30px;
}

.gallery-pop-up .pop-up-main-slide .slide-img {
  width: 100%;
  height: auto;
  object-fit: cover;
  object-fit: contain;
  /*Верхний паддинг контейнера, нижний паддинг контейнера, высота нижней панели навигации, отступ основного слайдера от панели навигации*/
  height: calc(100vh - 50px - 50px - 80px - 30px);
}

.gallery-pop-up .pop-up-slides {
  display: flex;
  align-items: center;
  justify-content: center;
  flex-direction: row;
}

.gallery-pop-up .pop-up-slides .slide-img {
  width: 100%;
  object-fit: cover;
  height: 100%;
  cursor: pointer;
}

.gallery-pop-up .pop-up-slides .slide-img:not(:first-child) {
  margin-left: 30px;
}

.gallery-pop-up .pop-up-slides__content {
  display: flex;
  align-items: flex-start;
  justify-content: flex-start;
  flex-direction: row;
  flex-wrap: nowrap;
  height: 80px;
}

.gallery-pop-up .pop-up-slides .swiper-slide {
  opacity: 0.75;
  transition: opacity 0.5s ease-out;
}

.gallery-pop-up .pop-up-slides .swiper-slide:hover {
  opacity: 1;
}

.gallery-pop-up .pop-up-slides .swiper-slide-thumb-active {
  opacity: 1;
}

.gallery-pop-up .pop-up__btn-wrapper {
  grid-column-end: 25;
}

.gallery-pop-up .pop-up__close-btn {
  display: flex;
  align-items: flex-start;
  justify-content: flex-start;
  flex-direction: row;
  margin-left: auto;
}

.gallery-pop-up .pop-up__close-btn svg {
  width: 70px;
  height: 70px;
}

.gallery-pop-up .pop-up__close-btn svg .hover,
.gallery-pop-up .pop-up__close-btn svg .default {
  transition: 0.25s ease-out;
  transform-origin: center;
  transform-box: fill-box;
}

.gallery-pop-up .pop-up__close-btn svg .default {
  transform: scale(1);
}

.gallery-pop-up .pop-up__close-btn svg .hover {
  transform: scale(0);
  fill: #9c91c5;
}

@media (max-width: 767px) {
  .gallery-pop-up .pop-up__close-btn svg {
    height: 45px;
    width: 45px;
    background-size: 45px 45px;
  }
}

@media screen and (min-width: 1025px) {
  .gallery-pop-up .pop-up__close-btn svg:hover .hover {
    transform: scale(1);
  }
  .gallery-pop-up .pop-up__close-btn svg:hover .default {
    transform: scale(0);
  }
}

.progress-pop-up {
  position: fixed;
  width: 100%;
  height: 100%;
  background-color: #f9f8fc;
  top: 0;
  left: 0;
  z-index: 30;
  visibility: hidden;
  opacity: 0;
  transition-property: opacity, visibility;
  transition-duration: 0.3s;
  transition-timing-function: ease-in-out;
  display: grid;
  grid-template: var(--top-padding) repeat(4, auto) var(--top-padding)/var(--lr-paddings) repeat(24, minmax(var(--popular-indent), 1fr)) var(--lr-paddings);
  overflow-x: hidden;
}

@media (max-width: 1920px) {
  .progress-pop-up {
    grid-template: var(--top-padding) repeat(4, auto) var(--top-padding)/var(--lr-paddings) repeat(21, minmax(var(--popular-indent), 1fr)) var(--lr-paddings);
  }
}

@media screen and (max-width: 1360px) {
  .progress-pop-up {
    display: grid;
    grid-template: var(--top-padding) repeat(4, auto) var(--top-padding)/var(--lr-paddings) repeat(21, 1fr) var(--lr-paddings);
  }
}

@media (max-width: 1024px) {
  .progress-pop-up {
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    padding: 15px 40px;
  }
}

@media (max-width: 767px) {
  .progress-pop-up {
    padding: 10px 15px;
  }
}

.progress-pop-up::-webkit-scrollbar {
  display: none;
}

.progress-pop-up.active {
  visibility: visible;
  opacity: 1;
}

.progress-pop-up .pop-up__left-side {
  grid-column: 1 / 9;
  grid-row: 1 / -1;
  box-shadow: 7px 0 25px rgba(56, 56, 56, 0.07);
  background-color: #f9f8fc;
  z-index: 10;
}

.progress-pop-up .pop-up__btn-wrapper {
  margin-bottom: 30px;
  grid-column-end: 26;
  grid-row-start: 2;
  display: flex;
  align-items: flex-start;
  justify-content: flex-end;
  flex-direction: row;
}

@media (max-width: 1920px) {
  .progress-pop-up .pop-up__btn-wrapper {
    grid-column-end: 23;
  }
}

@media (max-width: 767px) {
  .progress-pop-up .pop-up__btn-wrapper {
    margin-bottom: 20px;
  }
}

.progress-pop-up .pop-up__close-btn {
  display: flex;
  align-items: flex-start;
  justify-content: flex-start;
  flex-direction: row;
  width: 70px;
  height: 70px;
  cursor: pointer;
}

@media (max-width: 767px) {
  .progress-pop-up .pop-up__close-btn {
    height: 45px;
    width: 45px;
  }
}

.progress-pop-up .pop-up__close-btn .hover,
.progress-pop-up .pop-up__close-btn .default {
  transition: 0.25s ease-out;
  transform-origin: center;
  transform-box: fill-box;
}

.progress-pop-up .pop-up__close-btn .default {
  transform: scale(1);
}

.progress-pop-up .pop-up__close-btn .hover {
  transform: scale(0);
  fill: #9c91c5;
}

@media screen and (min-width: 1025px) {
  .progress-pop-up .pop-up__close-btn:hover .hover {
    transform: scale(1);
  }
  .progress-pop-up .pop-up__close-btn:hover .default {
    transform: scale(0);
  }
}

.progress-pop-up .pop-up__header {
  grid-column: 2 / 8;
  grid-row: 3 / 4;
  margin-bottom: 30px;
  z-index: 10;
}

@media (max-width: 767px) {
  .progress-pop-up .pop-up__header {
    margin-bottom: 20px;
  }
}

.progress-pop-up .pop-up__header-month {
  font-family: "Cormorant Garamond";
  font-size: 50px;
  font-weight: 300;
  color: #1f1f1f;
  line-height: 100%;
  letter-spacing: 0.01em;
  text-transform: uppercase;
  margin-right: 15px;
}

@media (max-width: 1360px) {
  .progress-pop-up .pop-up__header-month {
    font-size: 36px;
  }
}

@media (max-width: 1024px) {
  .progress-pop-up .pop-up__header-month {
    font-size: 40px;
  }
}

@media (max-width: 767px) {
  .progress-pop-up .pop-up__header-month {
    font-size: 30px;
  }
}

.progress-pop-up .pop-up__header-year {
  font-family: "Nanum";
  font-size: 42px;
  font-weight: 400;
  color: #1f1f1f;
  line-height: 100%;
  letter-spacing: 0.01em;
  text-transform: uppercase;
}

@media (max-width: 1360px) {
  .progress-pop-up .pop-up__header-year {
    font-size: 36px;
  }
}

@media (max-width: 1024px) {
  .progress-pop-up .pop-up__header-year {
    font-size: 40px;
  }
}

@media (max-width: 767px) {
  .progress-pop-up .pop-up__header-year {
    font-size: 30px;
  }
}

.progress-pop-up .pop-up__text-wrapper {
  overflow-y: auto;
  grid-row: 4 / 5;
  grid-column: 2 / 8;
  padding-right: 30px;
  font-family: "Mont";
  font-size: 16px;
  font-weight: 400;
  color: #8a8a8a;
  line-height: 160%;
  letter-spacing: initial;
  text-transform: none;
  z-index: 10;
}

@media (max-width: 1024px) {
  .progress-pop-up .pop-up__text-wrapper {
    font-size: 14px;
    margin-bottom: 20px;
  }
}

@media (max-width: 767px) {
  .progress-pop-up .pop-up__text-wrapper {
    font-size: 12px;
    margin-bottom: 15px;
  }
}

.progress-pop-up .pop-up__text-wrapper::-webkit-scrollbar {
  cursor: none;
}

.progress-pop-up .pop-up__text-wrapper::-webkit-scrollbar {
  appearance: none;
  width: 2px;
}

.progress-pop-up .pop-up__text-wrapper::-webkit-scrollbar-track {
  background-color: rgba(74, 58, 94, 0.15);
}

.progress-pop-up .pop-up__text-wrapper::-webkit-scrollbar-thumb {
  background-color: #4a3a5e;
}

.progress-pop-up .pop-up__slider {
  grid-row: 3 / 5;
  grid-column: 10 / -2;
  overflow: hidden;
}

.progress-pop-up .pop-up__slider-slide {
  overflow-x: hidden;
}

.progress-pop-up .pop-up__slider-slide_video {
  position: relative;
}

.progress-pop-up .pop-up__slider-img, .progress-pop-up .pop-up__slider-video {
  width: 100%;
  height: 670px;
  object-fit: cover;
  vertical-align: middle;
}

@media (max-width: 1920px) {
  .progress-pop-up .pop-up__slider-img, .progress-pop-up .pop-up__slider-video {
    height: 500px;
  }
}

@media (max-width: 1024px) {
  .progress-pop-up .pop-up__slider-img, .progress-pop-up .pop-up__slider-video {
    height: 412px;
  }
}

@media (max-width: 767px) {
  .progress-pop-up .pop-up__slider-img, .progress-pop-up .pop-up__slider-video {
    height: 216px;
  }
}

.progress-pop-up .pop-up__slider-btn-wrapper {
  grid-row: 5 / 6;
  grid-column: 10 / -2;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-direction: row;
  margin-top: 30px;
  position: relative;
}

.progress-pop-up .pop-up__slider-btn {
  width: 70px;
  height: 70px;
  border-radius: 50%;
  border: 2px solid rgba(74, 58, 94, 0.15);
  background: transparent;
}

@media (max-width: 767px) {
  .progress-pop-up .pop-up__slider-btn {
    height: 45px;
    width: 45px;
    background-size: 45px 45px;
    border: 1px solid rgba(74, 58, 94, 0.15);
  }
}

@media screen and (min-width: 1025px) {
  .progress-pop-up .pop-up__slider-btn {
    transition: 0.3s ease-out;
  }
  .progress-pop-up .pop-up__slider-btn:hover {
    background-color: #9885b5;
    border-color: #9885b5;
  }
}

.progress-pop-up .pop-up__slider-play {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
}

@media (max-width: 767px) {
  .progress-pop-up .pop-up__slider-play {
    width: 45px;
    height: 45px;
  }
}

.progress-pop-up .pop-up__element {
  margin-top: 10px;
  display: flex;
  align-items: flex-start;
  justify-content: flex-start;
  flex-direction: row;
}

.progress-pop-up .pop-up__slide-num {
  margin: 0 40px;
  font-family: "Mont";
  font-size: 22px;
  font-weight: 400;
  color: #4a4a49;
  line-height: 100%;
  letter-spacing: initial;
  text-transform: uppercase;
}

@media (max-width: 1024px) {
  .progress-pop-up .pop-up__slide-num {
    font-size: 14px;
    margin: 0 20px;
  }
}

@media (max-width: 767px) {
  .progress-pop-up .pop-up__slide-num {
    font-size: 12px;
    margin: 0 10px;
  }
}

@media (max-width: 767px) {
  .progress-pop-up .pop-up__slider-btn-img {
    height: 10px;
    width: 5px;
  }
}

.progress-pop-up .pop-up__hidden-content {
  grid-row: 6 / -1;
  grid-column: 1 / -1;
  visibility: hidden;
}

.swiper-pagination-fraction {
  position: static;
  width: 50px;
}

.slider-controller {
  display: flex;
  align-items: center;
  justify-content: center;
  flex-direction: row;
  border-radius: 50%;
  background-color: #4a3a5e;
  position: absolute;
  top: 0;
  left: 0;
  opacity: 1;
  width: 110px;
  height: 110px;
  transition-property: transform, opacity;
  transition-duration: 0.5s;
  transition-timing-function: ease-out;
  transform: scale(0);
}

.slider-controller.active {
  transform: scale(1);
  opacity: 1;
}

.slider-controller.left-side .slider-controller-arrow {
  order: -1;
  transform: rotate(180deg);
}

.slider-controller-text {
  font-family: "Mont";
  font-size: 22px;
  font-weight: 400;
  color: #f9f8fc;
  line-height: 100%;
  letter-spacing: initial;
  text-transform: uppercase;
  min-width: 55px;
}

.slider-controller-arrow {
  width: 10px;
  height: auto;
  object-fit: cover;
  order: 1;
  transition: 0.6s ease-in-out transform;
}

.breadcrumbs {
  display: flex;
  align-items: center;
  justify-content: center;
  flex-direction: row;
  font-family: "Mont";
  font-size: 14px;
  font-weight: 400;
  color: #4a4a49;
  line-height: 100%;
  letter-spacing: 0.01em;
  text-transform: uppercase;
  margin-bottom: 30px;
}

@media (max-width: 767px) {
  .breadcrumbs {
    margin-bottom: 10px;
    font-size: 10px;
  }
}

.breadcrumbs-item {
  display: flex;
  align-items: center;
  justify-content: flex-start;
  flex-direction: row;
  white-space: nowrap;
}

.breadcrumbs-item__link {
  color: #4a3a5e;
  border-bottom: 1px solid #4a3a5e;
}

.breadcrumbs-item__current--color {
  white-space: nowrap;
  overflow-x: hidden;
  text-overflow: ellipsis;
  display: inline;
  max-width: 255px;
}

.breadcrumbs-item__current--color::-webkit-scrollbar {
  display: none;
}

.breadcrumbs .icon--dot {
  width: 5px;
  height: 5px;
  margin: 0 15px;
}

:root {
  --header-margin-outer: 90px;
  --header-margin-inner: 20px;
  --header-height: 170px;
  --header-tb-padding: 50px;
}

@media (max-width: 1920px) {
  :root {
    --header-margin-outer: 90px;
    --header-margin-inner: 10px;
    --header-height: 120px;
    --header-tb-padding: 25px;
  }
}

@media (max-width: 1360px) {
  :root {
    --header-margin-outer: 40px;
  }
}

@media (max-width: 1024px) {
  :root {
    --header-height: 100px;
    --header-tb-padding: 15px 40px;
  }
}

@media (max-width: 767px) {
  :root {
    --header-height: 65px;
    --header-tb-padding: 12px;
  }
}

.header {
  padding: var(--header-tb-padding) var(--lr-paddings);
  padding-top: calc(var(--header-tb-padding) * 2);
  position: fixed;
  background: #f9f8fc;
  width: 100%;
  height: var(--header-height);
  display: flex;
  align-items: center;
  justify-content: space-between;
  flex-direction: row;
  z-index: 20;
  font-weight: 400;
  transition: transform .55s ease-out, padding-top .55s ease-out;
}

@media (max-width: 1024px) {
  .header {
    padding: 15px 40px;
  }
}

@media (max-width: 767px) {
  .header {
    padding: 15px;
  }
}

.header.not-on-top {
  padding: var(--header-tb-padding) var(--lr-paddings);
}

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

.header-left {
  display: flex;
  align-items: center;
  justify-content: flex-start;
  flex-direction: row;
}

@media (max-width: 1024px) {
  .header-left {
    order: 2;
    justify-content: flex-end;
    width: 80%;
    margin-right: 30px;
  }
}

@media (max-width: 767px) {
  .header-left {
    margin-right: 0;
  }
}

.header-left__link {
  color: #4a4a49;
  font-size: 14px;
}

@media (max-width: 1024px) {
  .header-left__link {
    order: 2;
    font-size: 0;
  }
}

.header-link-houses {
  display: flex;
  align-items: center;
  justify-content: flex-start;
  flex-direction: row;
  font-weight: 600;
}

.header-link-houses > svg {
  margin-right: var(--header-margin-inner);
}

.header-link-houses > svg .hover,
.header-link-houses > svg .default {
  transition: 0.25s ease-out;
  transform-origin: center;
  transform-box: fill-box;
}

.header-link-houses > svg .default {
  transform: scale(1);
}

.header-link-houses > svg .hover {
  transform: scale(0);
  fill: #9c91c5;
}

@media screen and (min-width: 1025px) {
  .header-link-houses > svg:hover .hover {
    transform: scale(1);
  }
  .header-link-houses > svg:hover .default {
    transform: scale(0);
  }
}

@media (max-width: 767px) {
  .header-link-houses > svg {
    background-size: 45px 45px;
    width: 45px;
    height: 45px;
  }
}

.header-link-tel {
  font-size: 18px;
  margin-left: var(--header-margin-outer);
}

@media (max-width: 1024px) {
  .header-link-tel {
    display: none;
  }
}

.header__logo-link {
  display: flex;
  align-items: center;
  justify-content: flex-start;
  flex-direction: row;
}

@media (max-width: 1024px) {
  .header__logo-link {
    order: 1;
  }
}

.header__logo-img {
  width: 240px;
  height: auto;
  object-fit: cover;
}

@media (max-width: 1024px) {
  .header__logo-img {
    width: 226px;
  }
}

@media (max-width: 767px) {
  .header__logo-img {
    width: 139px;
  }
}

.header-right {
  display: flex;
  align-items: center;
  justify-content: flex-start;
  flex-direction: row;
}

@media (max-width: 1024px) {
  .header-right {
    order: 3;
  }
}

.header-right__btn {
  font-family: "Mont";
  font-size: 14px;
  font-weight: 500;
  color: #4a4a49;
  line-height: 100%;
  letter-spacing: 0.01em;
  text-transform: uppercase;
}

.header-btn-call {
  margin-right: var(--header-margin-outer);
}

@media (max-width: 1024px) {
  .header-btn-call {
    font-size: 0;
    margin-right: 30px;
  }
  .header-btn-call::after {
    content: '';
    background-image: url("../images/header/phone.svg");
    background-size: 70px 70px;
    display: inline-block;
    width: 70px;
    height: 70px;
    margin-left: var(--header-margin-inner);
  }
}

@media (max-width: 767px) {
  .header-btn-call {
    margin-right: 0;
    font-size: 0;
  }
  .header-btn-call::after {
    background-size: 45px 45px;
    width: 45px;
    height: 45px;
    margin-left: var(--header-margin-inner);
  }
}

@media screen and (min-width: 1025px) {
  .header-btn-call {
    transition: .3s ease-out;
  }
  .header-btn-call:hover {
    color: #4a3a5e;
  }
}

.header-btn-menu {
  font-weight: 600;
  display: flex;
  align-items: center;
  justify-content: flex-start;
  flex-direction: row;
}

@media (max-width: 1024px) {
  .header-btn-menu {
    font-size: 0;
  }
}

.header-btn-menu > svg {
  margin-left: var(--header-margin-inner);
}

@media (max-width: 767px) {
  .header-btn-menu > svg {
    background-size: 45px 45px;
    width: 45px;
    height: 45px;
  }
}

.header-btn-menu svg .hover,
.header-btn-menu svg .default {
  transition: .25s ease-out;
  transform-origin: center;
  transform-box: fill-box;
}

.header-btn-menu svg .default {
  transform: scale(1);
}

.header-btn-menu svg .hover {
  transform: scale(0);
  fill: #9c91c5;
}

@media screen and (min-width: 1025px) {
  .header-btn-menu svg:hover .hover {
    transform: scale(1);
  }
  .header-btn-menu svg:hover .default {
    transform: scale(0);
  }
}

.mobile-callback-popup {
  position: fixed;
  left: 0;
  top: 0;
  width: 100vw;
  height: 100%;
  min-height: -webkit-fill-available;
  /* Mozilla-based browsers will ignore this. */
  background-color: rgba(115, 115, 115, 0.5);
  z-index: 61 !important;
  display: flex;
  flex-direction: column;
  align-content: flex-end;
  justify-content: flex-end;
  padding: 10px 35px;
  font-size: 15px;
  line-height: 100%;
  font-weight: 500;
  opacity: 0;
  visibility: hidden;
  transition: .35s ease-out;
}

.mobile-callback-popup a {
  text-transform: none;
}

.mobile-callback-popup.active {
  opacity: 1;
  visibility: visible;
}

.mobile-callback-popup > * {
  text-decoration: none;
  width: 100%;
  height: 50px;
  display: flex;
  justify-content: center;
  align-items: center;
  background: #F3EFE9;
  border-radius: 10px;
  color: #4a3a5e;
}

.mobile-callback-popup > :nth-child(n+2) {
  margin-top: 6px;
}

.mobile-callback-popup__close {
  background-color: #4a3a5e;
  color: #F4F7F9;
}

.header-logo {
  width: 222px;
}

.header-logo svg.header-logo {
  width: 100%;
  height: 100%;
}

@media screen and (max-width: 1920px) {
  .header-logo {
    width: 194px;
  }
}

@media screen and (max-width: 575px) {
  .header-logo {
    width: 130px;
  }
}

@media screen and (max-width: 360px) {
  .header-logo {
    width: 100px;
  }
}

.footer {
  display: flex;
  width: 100%;
  justify-content: space-between;
}

@media (max-width: 1024px) {
  .footer {
    flex-direction: column;
  }
}

.footer-menu {
  background-color: #9885b5;
  padding: 172px 0 48px 120px;
  width: 30%;
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  flex-direction: column;
}

@media (max-width: 1920px) {
  .footer-menu {
    padding: 120px 80px 40px 80px;
  }
}

@media (max-width: 1360px) {
  .footer-menu {
    padding: 80px 40px 40px 40px;
  }
}

@media (max-width: 1024px) {
  .footer-menu {
    padding: 80px 40px;
    width: 100%;
  }
}

@media (max-width: 767px) {
  .footer-menu {
    padding: 40px 15px;
  }
}

.footer-element:not(:last-child) {
  margin-bottom: 30px;
}

@media (max-width: 767px) {
  .footer-element:not(:last-child) {
    margin-bottom: 15px;
  }
}

.footer-link {
  font-family: "Mont";
  font-size: 28px;
  font-weight: 500;
  color: #f9f8fc;
  line-height: 130%;
  letter-spacing: initial;
  text-transform: uppercase;
}

@media (max-width: 767px) {
  .footer-link {
    font-size: 18px;
  }
}

.footer-link {
  position: relative;
  overflow: hidden;
  display: block;
}

@media screen and (min-width: 1025px) {
  .footer-link {
    color: transparent;
  }
  .footer-link:after {
    content: attr(data-text);
    position: absolute;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
    transition: 0.25s ease-out;
    transform: translateY(-100%);
    color: #4a3a5e;
    line-height: 110%;
    opacity: 0;
  }
  .footer-link:before {
    content: attr(data-text);
    position: absolute;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
    line-height: 110%;
    color: #ffffff;
    transition: 0.25s ease-out;
  }
  .footer-link:hover:before {
    transform: translateY(110%);
  }
  .footer-link:hover:after {
    opacity: 1;
    transform: translateY(0);
  }
}

@media screen and (max-width: 575px) {
  .footer-link {
    line-height: 140%;
  }
}

.footer-copyright {
  font-family: "Mont";
  font-size: 13px;
  font-weight: 500;
  color: #dedede;
  line-height: 140%;
  letter-spacing: initial;
  text-transform: none;
}

@media (max-width: 1024px) {
  .footer-copyright {
    display: none;
  }
}

.footer-copyright-mobile {
  display: none;
  font-family: "Mont";
  font-size: 13px;
  font-weight: 500;
  color: #dedede;
  line-height: 140%;
  letter-spacing: initial;
  text-transform: none;
}

@media (max-width: 1024px) {
  .footer-copyright-mobile {
    display: block;
    margin-top: 30px;
  }
}

@media (max-width: 767px) {
  .footer-copyright-mobile {
    margin-top: 20px;
    font-size: 10px;
    color: #b8b1ba;
  }
}

.footer-content {
  background-color: #4a3a5e;
  position: relative;
  padding: 172px 120px 48px 100px;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  overflow: hidden;
  width: 70%;
}

@media (max-width: 1920px) {
  .footer-content {
    padding: 120px 80px 40px 80px;
  }
}

@media (max-width: 1360px) {
  .footer-content {
    padding: 80px 40px 40px 40px;
  }
}

@media (max-width: 1024px) {
  .footer-content {
    padding: 80px 40px;
    width: 100%;
  }
}

@media (max-width: 767px) {
  .footer-content {
    display: flex;
    padding: 60px 15px;
    flex-direction: column;
    padding-bottom: 27px;
  }
}

.footer-table {
  font-family: "Mont";
  font-size: 20px;
  font-weight: 500;
  color: #f9f8fc;
  line-height: 170%;
  letter-spacing: initial;
  text-transform: none;
}

.footer-row-wrap {
  display: flex;
  width: 85%;
  border-bottom: 1px solid rgba(127, 115, 142, 0.5);
}

@media (max-width: 1024px) {
  .footer-row-wrap {
    border-bottom: none;
  }
}

.footer-row {
  display: flex;
  justify-content: space-between;
  width: 100%;
  padding-bottom: 40px;
}

@media (max-width: 1024px) {
  .footer-row {
    flex-direction: column;
    padding-bottom: 80px;
  }
}

@media (max-width: 767px) {
  .footer-row {
    padding-bottom: 60px;
  }
}

.footer-cell {
  vertical-align: top;
}

@media (max-width: 1024px) {
  .footer-cell {
    width: 100%;
  }
}

.footer-cell:nth-child(1) {
  width: 20%;
  margin-right: 98px;
}

@media (max-width: 1360px) {
  .footer-cell:nth-child(1) {
    margin-right: 20px;
  }
}

@media (max-width: 1024px) {
  .footer-cell:nth-child(1) {
    width: 100%;
  }
}

.footer-cell:nth-child(2) {
  width: 30%;
  margin-right: 80px;
}

@media (max-width: 1024px) {
  .footer-cell:nth-child(2) {
    width: 100%;
  }
}

.footer-cell:nth-child(3) {
  width: fit-content;
}

@media (max-width: 1024px) {
  .footer-cell:nth-child(3) {
    width: 100%;
    margin-top: 40px;
  }
}

@media (max-width: 767px) {
  .footer-cell:nth-child(3) {
    margin-top: 20px;
  }
}

.footer-cell__name {
  text-transform: uppercase;
}

@media (max-width: 1024px) {
  .footer-cell__name {
    font-size: 20px;
    margin-bottom: 20px;
  }
}

@media (max-width: 767px) {
  .footer-cell__name {
    font-size: 14px;
    margin-bottom: 10px;
  }
}

@media (max-width: 1024px) {
  .footer-cell__address {
    font-size: 22px;
    margin-top: 10px;
  }
}

@media (max-width: 767px) {
  .footer-cell__address {
    font-size: 16px;
  }
}

.footer-cell__schedule {
  margin-top: 20px;
}

@media (max-width: 1024px) {
  .footer-cell__schedule {
    font-size: 22px;
    margin-top: 10px;
  }
}

@media (max-width: 767px) {
  .footer-cell__schedule {
    font-size: 16px;
  }
}

table p:not(.footer-cell__name) {
  font-weight: 400;
  font-size: 22px;
  color: #efefef;
}

.footer-cell__map {
  width: 270px;
  height: 70px;
  background-color: #7f738e;
  font-weight: 600;
  font-size: 14px;
  line-height: 100%;
  text-transform: uppercase;
  color: #f9f8fc;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-direction: row;
  text-decoration: none;
  border: none;
  outline: none;
  cursor: pointer;
  border-radius: 100px;
  transition: 0.25s ease-out;
}

@media (max-width: 767px) {
  .footer-cell__map {
    width: 170px;
    height: 45px;
    background-color: #7f738e;
    font-weight: 600;
    font-size: 10px;
    line-height: 100%;
    text-transform: uppercase;
    color: #f9f8fc;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-direction: row;
    text-decoration: none;
    border: none;
    outline: none;
    cursor: pointer;
    border-radius: 100px;
  }
}

@media screen and (min-width: 1025px) {
  .footer-cell__map:hover {
    background-color: #ffffff;
    color: #4a3a5e;
  }
}

.footer-cell__tel-wrapper {
  display: flex;
  align-items: flex-start;
  justify-content: flex-start;
  flex-direction: column;
}

@media (max-width: 1024px) {
  .footer-cell__tel-wrapper {
    margin-bottom: 20px;
  }
}

@media (max-width: 767px) {
  .footer-cell__tel-wrapper {
    margin-bottom: 10px;
  }
}

.footer-cell__call-btn {
  width: 270px;
  height: 70px;
  background-color: #f9f8fc;
  font-weight: 600;
  font-size: 14px;
  line-height: 100%;
  text-transform: uppercase;
  color: #1f1f1f;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-direction: row;
  text-decoration: none;
  border: none;
  outline: none;
  cursor: pointer;
  border-radius: 100px;
  font-family: 'Mont';
  transition: 0.25s ease-out;
}

@media (max-width: 767px) {
  .footer-cell__call-btn {
    width: 170px;
    height: 45px;
    background-color: #f9f8fc;
    font-weight: 600;
    font-size: 10px;
    line-height: 100%;
    text-transform: uppercase;
    color: #1f1f1f;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-direction: row;
    text-decoration: none;
    border: none;
    outline: none;
    cursor: pointer;
    border-radius: 100px;
  }
}

@media screen and (min-width: 1025px) {
  .footer-cell__call-btn:hover {
    background-color: #9885b5;
    color: #ffffff;
  }
}

.footer-cell__soc-netw {
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
  width: 300px;
}

@media (max-width: 1024px) {
  .footer-cell__soc-netw {
    justify-content: flex-start;
  }
}

.footer-cell__contacts {
  padding-top: 20px;
}

@media (max-width: 1024px) {
  .footer-cell__contacts {
    padding-top: 0;
  }
}

.footer-to-top {
  border-radius: 50%;
  border: 2px solid transparent;
  background: #7f738e;
  border: none;
  width: 70px;
  height: 70px;
  position: absolute;
  top: 172px;
  right: 120px;
}

@media (max-width: 1920px) {
  .footer-to-top {
    top: 120px;
    right: 80px;
  }
}

@media (max-width: 1360px) {
  .footer-to-top {
    top: 80px;
    right: 40px;
  }
}

@media (max-width: 1024px) {
  .footer-to-top {
    top: 80px;
    right: 40px;
  }
}

@media (max-width: 767px) {
  .footer-to-top {
    top: 60px;
    right: 15px;
    height: 45px;
    width: 45px;
  }
}

@media screen and (min-width: 1025px) {
  .footer-to-top {
    transition: 0.25s ease-out;
    transform-origin: center;
  }
  .footer-to-top:hover {
    transform: scale(1.1);
  }
}

.footer-top-arrow {
  width: 12px;
  height: 6px;
}

.footer-bottom {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  flex-direction: row;
}

@media (max-width: 1024px) {
  .footer-bottom {
    align-items: flex-start;
    height: 50px;
  }
}

@media (max-width: 767px) {
  .footer-bottom {
    height: auto;
  }
}

.footer-bottom__text {
  font-family: "Mont";
  font-size: 13px;
  font-weight: 600;
  color: #b8b1ba;
  line-height: 140%;
  letter-spacing: initial;
  text-transform: none;
}

@media (max-width: 767px) {
  .footer-bottom__text {
    font-family: "Mont";
    font-size: 10px;
    font-weight: 600;
    color: #b8b1ba;
    line-height: 140%;
    letter-spacing: initial;
    text-transform: none;
  }
}

.footer-bottom__link {
  width: 78px;
  display: block;
  transform: translateY(80px);
  transform: translateY(40px);
  transition: all ease-in-out 0.3s;
}

@media screen and (min-width: 1361px) {
  .footer-bottom__link {
    transform: translateY(120px);
    transform: translateY(40px);
  }
}

@media screen and (min-width: 1921px) {
  .footer-bottom__link {
    transform: translateY(50px);
  }
}

@media (max-width: 1024px) {
  .footer-bottom__link {
    transform: translateY(40px);
  }
}

@media (max-width: 767px) {
  .footer-bottom__link {
    transform: translateY(50px);
  }
}

.footer-bottom__link:hover {
  transform: translateY(0);
}

.footer-bottom__img {
  width: 78px;
  height: auto;
  object-fit: cover;
  position: relative;
}

@media (max-width: 767px) {
  .footer-bottom__img {
    width: 51px;
  }
}

.footer-table-link {
  width: 50%;
  font-family: "Mont";
  font-size: 22px;
  font-weight: 400;
  color: #efefef;
  line-height: 170%;
  letter-spacing: initial;
  text-transform: none;
}

@media (max-width: 767px) {
  .footer-table-link {
    font-family: "Mont";
    font-size: 16px;
    font-weight: 400;
    color: #efefef;
    line-height: 170%;
    letter-spacing: initial;
    text-transform: none;
  }
}

@media screen and (min-width: 1025px) {
  .footer-table-link {
    transition: 0.25s ease-out;
  }
  .footer-table-link:hover {
    color: #9885b5;
  }
}

.footer-table-link.footer-cell__tel {
  min-width: max-content;
  width: 100%;
}

.footer .pb {
  padding-bottom: 40px;
}

.footer .pt {
  padding-top: 60px;
}

@media (max-width: 1024px) {
  .footer .pt {
    padding-top: 0;
  }
}

.page404 {
  min-height: 100vh;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-direction: column;
}

.page404__img {
  width: auto;
  height: 400px;
  object-fit: cover;
  margin-bottom: 10px;
}

@media (max-width: 767px) {
  .page404__img {
    height: 125px;
  }
}

.page404__text {
  font-family: "Mont";
  font-size: 18px;
  font-weight: 400;
  color: #2d2d2d;
  line-height: 170%;
  letter-spacing: initial;
  text-transform: none;
  margin-bottom: 40px;
}

.page404__btns-wrapper {
  display: flex;
  align-items: center;
  justify-content: flex-start;
  flex-direction: row;
}

@media (max-width: 767px) {
  .page404__btns-wrapper {
    flex-direction: column;
    align-items: center;
    justify-content: center;
  }
}

.page404__home-link {
  margin-left: 40px;
}

@media (max-width: 767px) {
  .page404__home-link {
    margin-left: 0;
    margin-top: 10px;
  }
}

.menu.active .menu-block__element {
  overflow: hidden;
}

/*
* toast start
*/
.toast-wrapper {
  position: fixed;
  right: 0;
  bottom: 0;
  display: flex;
  flex-direction: column;
  width: 360px;
  z-index: 31;
}

.toast {
  position: relative;
  display: flex;
  width: 100%;
  height: 103px;
  background: #FFFFFF;
}

.toast .toast-logo-block {
  display: flex;
  align-items: center;
  justify-content: center;
  min-width: 60px;
  width: 60px;
  height: 100%;
}

.toast .toast__logo {
  width: 37px;
  height: 37px;
}

.toast .toast__logo svg {
  width: 100%;
  height: 100%;
  fill: white;
}

.toast .toast-content-block {
  padding: 20px 50px 20px 20px;
  display: flex;
  flex-direction: column;
}

.toast .toast__title {
  margin-bottom: 15px;
  font-weight: 700;
  font-size: 12px;
  line-height: 12px;
  text-transform: uppercase;
}

.toast .toast__text {
  font-weight: 500;
  font-size: 12px;
  line-height: 18px;
  color: #8E8E8E;
}

.toast .toast__colose-btn {
  position: absolute;
  padding: 0;
  display: flex;
  top: 17px;
  right: 20px;
  width: 12px;
  height: 12px;
  background-color: transparent;
  border: none;
  transition: transform 0.7s var(--in);
}

@media screen and (min-width: 1024px) {
  .toast .toast__colose-btn:hover {
    transform: rotate(90deg) scale(1.4);
    transition: transform 0.7s var(--in);
  }
}

.toast .toast__colose-btn svg {
  width: 100%;
  height: 100%;
  fill: white;
}

[data-toast-item][data-toast-status="error"]:not(#r) .toast-logo-block {
  background-color: #E88E8E;
}

[data-toast-item][data-toast-status="error"]:not(#r) .toast__title {
  color: #E88E8E;
}

[data-toast-item][data-toast-status="success"]:not(#r) .toast-logo-block {
  background-color: #96C380;
}

[data-toast-item][data-toast-status="success"]:not(#r) .toast__title {
  color: #96C380;
}

/*
  * toast end
*/
.main-about {
  padding-bottom: var(--sec-btm-indent);
  display: grid;
  grid-template: auto/repeat(auto-fill, minmax(60px, 1fr));
}

@media (max-width: 1024px) {
  .main-about {
    display: flex;
    flex-direction: column;
  }
}

.main-about .breadcrumbs {
  grid-column: 1 / -1;
}

.about__content {
  grid-column: 1 / -1;
}

.about-section-content:not(:first-child):not(:last-child) {
  padding-bottom: var(--sec-btm-indent);
}

.about-headers {
  font-family: "Cormorant Garamond";
  font-size: 100px;
  font-weight: 400;
  color: #1f1f1f;
  line-height: 100%;
  letter-spacing: initial;
  text-transform: uppercase;
}

@media (max-width: 1024px) {
  .about-headers {
    font-size: 62px;
  }
}

@media (max-width: 767px) {
  .about-headers {
    font-size: 30px;
  }
}

.about__header {
  text-align: center;
  margin-bottom: 60px;
  grid-column: 1 / -1;
}

@media (max-width: 767px) {
  .about__header {
    margin-bottom: 20px;
  }
}

.about__main-img {
  width: 100%;
  height: auto;
  object-fit: cover;
  margin-bottom: var(--elem-btm-margin);
  grid-column: 1 / -1;
}

@media (max-width: 1024px) {
  .about__main-img {
    margin-bottom: 40px;
  }
}

.philosophy {
  display: grid;
  grid-template: repeat(3, auto)/repeat(auto-fill, minmax(60px, 1fr));
}

@media (max-width: 1920px) {
  .philosophy {
    grid-template: repeat(3, auto)/repeat(auto-fill, minmax(40px, 1fr));
  }
}

@media (max-width: 1024px) {
  .philosophy {
    display: flex;
    flex-direction: column;
  }
}

.philosophy__header {
  grid-column: 1 / 13;
  margin-bottom: var(--elem-btm-margin);
}

@media (max-width: 1024px) {
  .philosophy__header {
    order: 1;
  }
}

@media (max-width: 767px) {
  .philosophy__header {
    margin-bottom: 20px;
  }
}

.philosophy__right-text {
  font-family: "Mont";
  font-size: 20px;
  font-weight: 500;
  color: #4a4a49;
  line-height: 130%;
  letter-spacing: initial;
  text-transform: uppercase;
  margin-bottom: 150px;
}

@media (max-width: 1920px) {
  .philosophy__right-text {
    margin-bottom: 100px;
  }
}

@media (max-width: 1024px) {
  .philosophy__right-text {
    margin-bottom: 40px;
    font-size: 15px;
    text-transform: uppercase;
    order: 2;
  }
}

@media (max-width: 767px) {
  .philosophy__right-text {
    margin-bottom: 20px;
    font-size: 12px;
  }
}

.philosophy__right-text_left {
  grid-row-start: 2;
  grid-column: 13 / 20;
}

.philosophy__right-text_right {
  grid-row-start: 2;
  grid-column: 21 / -1;
}

.philosophy__left-text, .philosophy__img {
  grid-row-start: 3;
}

.philosophy__left-text {
  font-family: "Mont";
  font-size: 16px;
  font-weight: 500;
  color: #8a8a8a;
  line-height: 160%;
  letter-spacing: initial;
  text-transform: none;
  grid-column: 1 / 10;
}

@media (max-width: 1024px) {
  .philosophy__left-text {
    order: 4;
    font-size: 15px;
  }
}

@media (max-width: 767px) {
  .philosophy__left-text {
    font-size: 12px;
  }
}

.philosophy__img {
  grid-column: 13 / -1;
  width: 100%;
  height: auto;
  object-fit: cover;
}

@media (max-width: 1024px) {
  .philosophy__img {
    margin-top: 30px;
    margin-bottom: 30px;
    order: 3;
  }
}

@media (max-width: 767px) {
  .philosophy__img {
    margin-top: 20px;
    margin-bottom: 20px;
  }
}

.describe {
  position: relative;
  display: grid;
  grid-template: repeat(2, auto) 80px calc(532px - 150px) 150px auto 200px/repeat(auto-fill, minmax(60px, 1fr));
  background: linear-gradient(0.5deg, #4a3a5e 47%, #f9f8fc 47%);
}

@media (max-width: 1920px) {
  .describe {
    display: grid;
    grid-template: repeat(2, auto) 80px calc(532px - 150px) 120px auto 100px/repeat(auto-fill, minmax(40px, 1fr));
  }
}

@media (max-width: 1024px) {
  .describe {
    display: flex;
    flex-direction: column;
    background: linear-gradient(0deg, #4a3a5e 70%, transparent 50%);
    padding: 0 40px 80px 40px;
    margin-bottom: -2px;
  }
}

@media (max-width: 767px) {
  .describe {
    padding: 0 15px 60px 15px;
    background: linear-gradient(0.5deg, #4a3a5e 70%, transparent 50%);
  }
}

.describe__header {
  grid-column: 3 / 16;
  margin-bottom: var(--elem-btm-margin);
}

.describe__right-text {
  grid-row-start: 2;
  grid-column: 15 / 23;
  font-family: "Mont";
  font-size: 20px;
  font-weight: 500;
  color: #4a4a49;
  line-height: 130%;
  letter-spacing: initial;
  text-transform: uppercase;
  margin-bottom: var(--elem-btm-margin);
}

@media (max-width: 1920px) {
  .describe__right-text {
    grid-column: 15 / 26;
  }
}

@media (max-width: 1024px) {
  .describe__right-text {
    font-size: 15px;
  }
}

@media (max-width: 767px) {
  .describe__right-text {
    font-size: 12px;
  }
}

.describe__img {
  width: 100%;
  height: 530px;
  object-fit: cover;
}

@media (max-width: 1920px) {
  .describe__img {
    height: 450px;
  }
}

@media (max-width: 1024px) {
  .describe__img {
    height: 300px;
  }
}

@media (max-width: 767px) {
  .describe__img {
    height: 183px;
  }
}

.describe__img_left {
  grid-column: 3 / 19;
  grid-row: 3 / 4;
}

@media (max-width: 1920px) {
  .describe__img_left {
    grid-column: 3 / 22;
  }
}

.describe__img_right {
  grid-column: 15 / -3;
  grid-row-start: 4;
}

@media (max-width: 1920px) {
  .describe__img_right {
    grid-column: 16 / -3;
  }
}

.describe__figcaption {
  font-family: "Mont";
  font-size: 16px;
  font-weight: 500;
  color: #ffffff;
  line-height: 160%;
  letter-spacing: initial;
  text-transform: none;
  margin-top: 30px;
}

@media (max-width: 1920px) {
  .describe__figcaption {
    margin-top: 0;
  }
}

@media (max-width: 1024px) {
  .describe__figcaption {
    font-size: 15px;
    margin-top: 30px;
    margin-bottom: 30px;
  }
}

@media (max-width: 767px) {
  .describe__figcaption {
    font-size: 12px;
    margin-top: 20px;
    margin-bottom: 40px;
  }
}

.describe__figcaption_left {
  grid-column: 3 / 11;
  grid-row-start: 5;
}

.describe__figcaption_right {
  grid-column: 15 / 23;
  grid-row-start: 6;
}

@media (max-width: 1920px) {
  .describe__figcaption_right {
    grid-column: 16 / 23;
  }
}

@media (max-width: 1024px) {
  .describe__figcaption_right {
    margin-bottom: 0;
  }
}

.describe__background {
  background-color: #4a3a5e;
  grid-column: 1 / -1;
  grid-row: 4 / 8;
  position: relative;
  z-index: -1;
  top: 131px;
  height: 100%;
}

.advantages {
  background-color: #4a3a5e;
  margin-bottom: var(--sec-btm-indent);
  padding: 0 120px;
}

@media (max-width: 1920px) {
  .advantages {
    padding: 0 80px;
  }
}

@media (max-width: 1024px) {
  .advantages {
    padding: 0 40px;
    margin-bottom: 0;
  }
}

@media (max-width: 767px) {
  .advantages {
    padding: 0 15px;
  }
}

.advantages__header {
  text-align: center;
  margin-bottom: var(--elem-btm-margin);
  color: #f9f8fc;
}

@media (max-width: 1024px) {
  .advantages__header {
    text-align: left;
  }
}

.advantages__content-wrapper {
  display: flex;
  justify-content: space-between;
}

@media (max-width: 1024px) {
  .advantages__content-wrapper {
    display: flex;
    flex-direction: column;
  }
}

.advantages__content-left {
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  width: 30%;
}

@media (max-width: 1024px) {
  .advantages__content-left {
    width: 80%;
    height: 100px;
  }
}

.advantages__content-right {
  width: 56%;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  margin-right: -35px;
}

@media (max-width: 1920px) {
  .advantages__content-right {
    width: 61%;
  }
}

@media (max-width: 1024px) {
  .advantages__content-right {
    width: 100%;
    flex-direction: row;
  }
}

.advantages__text {
  font-family: "Mont";
  font-size: 20px;
  font-weight: 500;
  color: #f9f8fc;
  line-height: 130%;
  letter-spacing: initial;
  text-transform: uppercase;
  grid-column: 3 / 10;
}

@media (max-width: 1920px) {
  .advantages__text {
    grid-column: 3 / 12;
  }
}

@media (max-width: 1024px) {
  .advantages__text {
    font-size: 15px;
    order: 1;
    margin-bottom: 40px;
  }
}

@media (max-width: 767px) {
  .advantages__text {
    font-size: 12px;
    margin-bottom: 30px;
  }
}

.advantages__main-slide-img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  grid-column: 15 / 31;
  grid-row: 1 / 4;
}

@media (max-width: 1024px) {
  .advantages__main-slide-img {
    order: 2;
    width: 80%;
  }
}

.advantages__slide-img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.advantages__btn-wrapper {
  display: flex;
  align-items: center;
  justify-content: flex-start;
  flex-direction: row;
  align-self: flex-start;
  margin-bottom: 50px;
}

@media (max-width: 1024px) {
  .advantages__btn-wrapper {
    display: none;
  }
}

@media (max-width: 1024px) {
  .advantages__btn-wrapper {
    order: 3;
    flex-direction: column;
    width: 20%;
    align-self: flex-start;
  }
}

.advantages__btn-wrapper-mobile {
  display: none;
}

@media (max-width: 1920px) {
  .advantages__btn-wrapper-mobile {
    display: none;
  }
}

@media (max-width: 1024px) {
  .advantages__btn-wrapper-mobile {
    display: flex;
    align-items: center;
    justify-content: flex-start;
    flex-direction: row;
    align-self: flex-start;
    margin-bottom: 50px;
  }
}

@media (max-width: 1024px) {
  .advantages__btn-wrapper-mobile {
    order: 3;
    flex-direction: column;
    width: 20%;
    align-self: flex-start;
  }
}

.advantages__btn {
  border-radius: 50%;
  border: 2px solid transparent;
  background: #7f738e;
  width: 70px;
  height: 70px;
}

@media (max-width: 767px) {
  .advantages__btn {
    height: 45px;
    width: 45px;
  }
}

@media screen and (min-width: 1025px) {
  .advantages__btn {
    transition: 0.25s ease-out;
  }
  .advantages__btn img {
    transition: 0.25s ease-out;
  }
  .advantages__btn:hover {
    background-color: #ffffff;
  }
  .advantages__btn:hover img {
    filter: brightness(0);
  }
}

.advantages__btn-img {
  width: 6px;
  height: 12px;
}

.advantages__slide-num {
  font-family: "Mont";
  font-size: 22px;
  font-weight: 500;
  color: #f9f8fc;
  line-height: 100%;
  letter-spacing: initial;
  text-transform: uppercase;
  margin: 0 40px;
}

@media (max-width: 1024px) {
  .advantages__slide-num {
    font-size: 15px;
    margin-top: 30px;
    margin-bottom: 30px;
  }
}

@media (max-width: 767px) {
  .advantages__slide-num {
    font-size: 12px;
    margin-top: 20px;
    margin-bottom: 20px;
  }
}

.advantages__nav-wrapper {
  width: 47.5%;
  height: 2px;
  margin-top: 40px;
  position: relative;
  background-color: rgba(255, 255, 255, 0.15);
}

@media (max-width: 1024px) {
  .advantages__nav-wrapper {
    display: none;
  }
}

.advantages__nav-wrapper .swiper-pagination-progressbar-fill {
  background: #ffffff !important;
}

.advantages__nav-line {
  width: 142px;
  height: 100%;
  background-color: #f9f8fc;
}

.infra {
  display: grid;
  grid-template: auto/repeat(auto-fill, minmax(60px, 1fr));
  margin-bottom: 150px;
}

@media (max-width: 1920px) {
  .infra {
    grid-template: auto/repeat(auto-fill, minmax(40px, 1fr));
    margin-bottom: 120px;
  }
}

@media (max-width: 1024px) {
  .infra {
    display: flex;
    flex-direction: column;
    padding-top: 80px;
    margin-bottom: 0;
    padding-bottom: 80px;
  }
}

@media (max-width: 767px) {
  .infra {
    padding-top: 60px;
    padding-bottom: 60px;
  }
}

.infra__header {
  grid-column: 1 / -1;
  margin-bottom: var(--elem-btm-margin);
}

.infra__right-text {
  font-family: "Mont";
  font-size: 20px;
  font-weight: 500;
  color: #4a4a49;
  line-height: 130%;
  letter-spacing: initial;
  text-transform: uppercase;
  margin-bottom: var(--elem-btm-margin);
}

@media (max-width: 1024px) {
  .infra__right-text {
    font-size: 15px;
  }
}

@media (max-width: 767px) {
  .infra__right-text {
    font-size: 12px;
  }
}

.infra__right-text_left {
  grid-column: 13 / 21;
}

.infra__right-text_right {
  grid-column: 22 / -1;
}

@media (max-width: 1024px) {
  .infra__right-text_right {
    margin-bottom: 60px;
  }
}

@media (max-width: 767px) {
  .infra__right-text_right {
    margin-bottom: 40px;
  }
}

.infra__map-wrapper {
  grid-column: 1 / -1;
  height: 755px;
  margin-bottom: 150px;
  position: relative;
}

@media (max-width: 1024px) {
  .infra__map-wrapper {
    margin-bottom: 60px;
  }
}

@media (max-width: 767px) {
  .infra__map-wrapper {
    margin-bottom: 40px;
  }
}

.infra__map-wrapper #map,
.infra__map-wrapper .map,
.infra__map-wrapper iframe {
  width: 100%;
  height: 100%;
  vertical-align: middle;
}

.infra__map-icons-list {
  position: absolute;
  top: 50%;
  left: 100px;
  transform: translateY(-50%);
  background-color: #f9f8fc;
  width: 320px;
  z-index: 5;
  max-height: 50vh;
  overflow-y: auto;
  overflow-x: hidden;
}

.infra__map-icons-list li:first-child {
  position: sticky;
  top: 0;
}

@media (max-width: 767px) {
  .infra__map-icons-list {
    width: 100%;
    left: 0;
    top: auto;
    overflow: hidden;
    overflow-y: auto;
    overflow-x: hidden;
    bottom: 0;
    transform: none;
  }
}

.infra__map-icons-element {
  border: 1px solid rgba(74, 58, 94, 0.15);
  cursor: pointer;
  padding: 20px 0 20px 40px;
  transition-property: padding-left, background-color;
  transition-duration: 0.3s;
  transition-timing-function: ease-in-out;
  display: flex;
  align-items: center;
}

.infra__map-icons-element img {
  width: 23px;
  height: 20px;
  object-fit: contain;
  margin-right: 20px;
}

.infra__map-icons-element:hover, .infra__map-icons-element.active {
  background-color: #9c91c5;
  padding-left: 60px;
}

.infra__map-icons-element:hover .infra__map-icons-text, .infra__map-icons-element.active .infra__map-icons-text {
  color: #f9f8fc;
}

.infra__map-icons-element:hover .infra__map-icons-text::before, .infra__map-icons-element.active .infra__map-icons-text::before {
  background-image: url("../images/about/white-horse.svg");
}

.infra__map-icons-element--mobile {
  padding-left: 30px;
  display: flex;
  align-items: center;
  background-color: #4a3a5e;
}

@media screen and (min-width: 576px) {
  .infra__map-icons-element--mobile {
    display: none;
  }
}

.infra__map-icons-element--mobile svg {
  margin-left: 10px;
  transform-origin: center;
  transform-box: fill-box;
}

.infra__map-icons-element--mobile span::before {
  display: none;
}

.infra__map-icons-element--mobile span {
  color: #ffffff;
}

.infra__map-icons-list[data-opened='false'] .infra__map-icons-element--mobile svg {
  transform: rotate(180deg);
}

.infra__map-icons-text {
  font-family: "Gilroy";
  font-size: 18px;
  font-weight: 400;
  color: #4a4a49;
  line-height: 100%;
  letter-spacing: 0.01em;
  text-transform: none;
  display: flex;
  align-items: center;
  justify-content: flex-start;
  flex-direction: row;
  transition: color 0.3s ease-in-out;
}

.infra__map-icons-text::before {
  content: '';
  background-image: url("../images/about/horse.svg");
  background-size: 23px 20px;
  display: inline-block;
  width: 23px;
  height: 20px;
  margin-right: 20px;
  transition: background-image 0.3s ease-in-out;
  display: none;
}

.infra__bottom-text-content {
  grid-column: 1 / 11;
}

.infra__subheader {
  font-family: "Mont";
  font-size: 20px;
  font-weight: 500;
  color: #4a4a49;
  line-height: 130%;
  letter-spacing: initial;
  text-transform: uppercase;
  margin-bottom: 40px;
}

@media (max-width: 1024px) {
  .infra__subheader {
    font-size: 15px;
    margin-bottom: 30px;
  }
}

@media (max-width: 767px) {
  .infra__subheader {
    font-size: 12px;
    margin-bottom: 20px;
  }
}

.infra__list {
  position: relative;
  transform: translateX(20px);
}

@media (max-width: 1024px) {
  .infra__list {
    padding-bottom: 40px;
    padding-right: 80px;
  }
}

@media (max-width: 767px) {
  .infra__list {
    padding-bottom: 20px;
    padding-right: 50px;
  }
}

.infra__element {
  list-style-type: disc;
  font-family: "Mont";
  font-size: 16px;
  font-weight: 500;
  color: #8a8a8a;
  line-height: 160%;
  letter-spacing: initial;
  text-transform: none;
  color: #8a8a8a;
}

@media (max-width: 1024px) {
  .infra__element {
    font-size: 15px;
  }
}

@media (max-width: 767px) {
  .infra__element {
    font-size: 12px;
  }
}

.infra__element:not(:last-child) {
  margin-bottom: 20px;
}

@media (max-width: 767px) {
  .infra__element:not(:last-child) {
    margin-bottom: 10px;
  }
}

.infra__img {
  grid-column: 13 / -1;
  width: 100%;
  height: auto;
  object-fit: cover;
}

.charact__header {
  text-align: center;
  margin-bottom: var(--elem-btm-margin);
}

@media (max-width: 767px) {
  .charact__header {
    margin-bottom: 40px;
  }
}

.charact__content {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  flex-direction: row;
  margin-bottom: 150px;
}

@media (max-width: 1920px) {
  .charact__content {
    margin-bottom: 120px;
  }
}

@media (max-width: 1024px) {
  .charact__content {
    flex-direction: column;
    align-items: center;
    margin-bottom: 60px;
  }
}

@media (max-width: 767px) {
  .charact__content {
    margin-bottom: 40px;
  }
}

.charact__figure {
  display: flex;
  align-items: center;
  justify-content: flex-start;
  flex-direction: column;
  max-width: 330px;
}

@media (max-width: 1024px) {
  .charact__figure:not(:last-child) {
    margin-bottom: 60px;
  }
}

@media (max-width: 767px) {
  .charact__figure:not(:last-child) {
    margin-bottom: 40px;
  }
}

.charact__img {
  width: 50px;
  height: 50px;
  object-fit: cover;
  margin-bottom: 30px;
}

@media (max-width: 767px) {
  .charact__img {
    margin-bottom: 20px;
    width: 40px;
    height: 40px;
  }
}

.charact__img_conditioner {
  height: 42px;
}

@media (max-width: 767px) {
  .charact__img_conditioner {
    height: 33px;
  }
}

.charact__figcaption {
  text-align: center;
  font-family: "Mont";
  font-size: 16px;
  font-weight: 400;
  color: #8a8a8a;
  line-height: 160%;
  letter-spacing: initial;
  text-transform: none;
}

@media (max-width: 1024px) {
  .charact__figcaption {
    font-size: 15px;
  }
}

@media (max-width: 767px) {
  .charact__figcaption {
    font-size: 12px;
  }
}

.charact__btn-wrapper {
  display: flex;
  align-items: flex-start;
  justify-content: center;
  flex-direction: row;
}

.charact__btn-link {
  transition: 0.25s ease-out;
  width: 270px;
  height: 70px;
  background-color: #4a3a5e;
  font-weight: 400;
  font-size: 14px;
  line-height: 100%;
  text-transform: uppercase;
  color: #ffffff;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-direction: row;
  text-decoration: none;
  border: none;
  outline: none;
  cursor: pointer;
  border-radius: 100px;
}

@media (max-width: 1024px) {
  .charact__btn-link {
    width: 220px;
    height: 60px;
    font-size: 12px;
  }
}

@media (max-width: 767px) {
  .charact__btn-link {
    width: 170px;
    height: 45px;
    font-size: 10px;
  }
}

@media screen and (min-width: 1025px) {
  .charact__btn-link:hover {
    background-color: #9885b5;
  }
}

@media screen and (min-width: 1025px) {
  .about .swiper-wrapper {
    transition-timing-function: ease-out;
  }
}

.about-slider {
  overflow: hidden;
}

.about-slider .swiper-slide {
  transition: all ease-out 1.25s;
}

.about-slider .swiper-slide-active {
  transform: scale(1);
  transition: all ease-out 1.25s;
}

.about-slider .swiper-slide-duplicate-prev,
.about-slider .swiper-slide-duplicate-next,
.about-slider .swiper-slide-prev,
.about-slider .swiper-slide-next {
  transform: scale(0.85);
  transition: all ease-out 1.25s;
  transform-origin: 25% 50%;
}

@media (max-width: 1024px) {
  .about-slider .swiper-slide-duplicate-prev,
  .about-slider .swiper-slide-duplicate-next,
  .about-slider .swiper-slide-prev,
  .about-slider .swiper-slide-next {
    transform: scale(1);
  }
}

.about-slider img {
  width: 100%;
  height: 625px;
  object-fit: cover;
}

@media (max-width: 1920px) {
  .about-slider img {
    height: 500px;
  }
}

@media (max-width: 1024px) {
  .about-slider img {
    height: 400px;
  }
}

@media (max-width: 767px) {
  .about-slider img {
    height: 320px;
  }
}

@keyframes sliderText {
  0% {
    transform: translateY(100%);
  }
  100% {
    transform: translateY(0%);
  }
}

.about-text-slider {
  overflow: hidden;
  width: 100%;
}

@media (max-width: 1024px) {
  .about-text-slider {
    pointer-events: none;
  }
}

.main-contacts {
  font-family: "Mont";
  font-size: 22px;
  font-weight: 400;
  color: #4a4a49;
  line-height: 170%;
  letter-spacing: initial;
  text-transform: uppercase;
}

@media (max-width: 1024px) {
  .main-contacts {
    font-size: 18px;
  }
}

@media (max-width: 767px) {
  .main-contacts {
    font-size: 16px;
  }
}

.main .contacts__header {
  text-align: center;
  margin-bottom: 50px;
}

@media (max-width: 767px) {
  .main .contacts__header {
    margin-bottom: 40px;
  }
}

.main .contacts__content {
  padding: 0 var(--lr-paddings);
  display: flex;
  align-items: normal;
  justify-content: space-between;
  flex-direction: row;
}

@media (max-width: 1024px) {
  .main .contacts__content {
    flex-direction: column;
  }
}

.main .contacts-map-wrapper {
  margin-left: 100px;
  flex-grow: 1;
}

@media (max-width: 1024px) {
  .main .contacts-map-wrapper {
    margin-left: 0;
    margin-top: 60px;
    height: 400px;
  }
}

@media (max-width: 767px) {
  .main .contacts-map-wrapper {
    margin-top: 40px;
    height: 205px;
  }
}

.main .contacts-map-wrapper > div > div,
.main .contacts-map-wrapper > div,
.main .contacts-map-wrapper iframe {
  width: 100%;
  height: 100%;
  vertical-align: middle;
}

.main .contacts-container li:last-child {
  margin-bottom: 40px;
}

.main .contacts-container li.contacts-soc-netw {
  display: flex;
}

.main .contacts-container li a,
.main .contacts-container li div {
  display: flex;
  align-items: center;
  justify-content: flex-start;
  flex-direction: row;
}

.main .contacts-container li a::before,
.main .contacts-container li div::before {
  content: '';
  background-image: url("");
  background-size: 50px 50px;
  display: inline-block;
  width: 50px;
  height: 50px;
  margin-right: var(--header-margin-inner);
}

@media (max-width: 767px) {
  .main .contacts-container li a::before,
  .main .contacts-container li div::before {
    background-size: 30px 30px;
    height: 30px;
    width: 30px;
  }
}

@media screen and (min-width: 1025px) {
  .main .contacts-container li a span,
  .main .contacts-container li div span {
    position: relative;
  }
  .main .contacts-container li a span:after,
  .main .contacts-container li div span:after {
    content: '';
    position: absolute;
    bottom: 0;
    left: 0;
    background-color: currentColor;
    height: 1px;
    width: 100%;
    transform-origin: left;
    transform: scale(0);
    transition: .25s ease-out;
  }
  .main .contacts-container li a:hover span:after,
  .main .contacts-container li div:hover span:after {
    transform: scale(1);
  }
}

.main .contacts-container li a.contacts-address::before,
.main .contacts-container li div.contacts-address::before {
  background-image: url("../images/contacts/location.svg");
}

.main .contacts-container li a.contacts-schedule,
.main .contacts-container li div.contacts-schedule {
  display: flex;
  align-items: flex-start;
  justify-content: flex-start;
  flex-direction: row;
}

.main .contacts-container li a.contacts-schedule::before,
.main .contacts-container li div.contacts-schedule::before {
  background-image: url("../images/contacts/clock.svg");
}

.main .contacts-container li a.contacts-telephone::before,
.main .contacts-container li div.contacts-telephone::before {
  background-image: url("../images/contacts/tel.svg");
}

.main .contacts-container li a.contacts-email::before,
.main .contacts-container li div.contacts-email::before {
  background-image: url("../images/contacts/message.svg");
}

.main .contacts-container li a.contacts-facebook,
.main .contacts-container li div.contacts-facebook {
  display: inline-flex;
}

.main .contacts-container li a.contacts-facebook::before,
.main .contacts-container li div.contacts-facebook::before {
  background-image: url("../images/contacts/facebook.svg");
}

.main .contacts-container li a.contacts-insta,
.main .contacts-container li div.contacts-insta {
  display: inline-flex;
  margin-left: 40px;
}

.main .contacts-container li a.contacts-insta::before,
.main .contacts-container li div.contacts-insta::before {
  background-image: url("../images/contacts/insta.svg");
}

.main .contacts-container .contacts-text-content {
  text-transform: none;
  color: #4a4a49;
}

.main .contacts-container-headers {
  color: #4a3a5e;
  font-size: 20px;
  margin-bottom: 20px;
}

@media (max-width: 1024px) {
  .main .contacts-container-headers {
    font-size: 16px;
  }
}

@media (max-width: 767px) {
  .main .contacts-container-headers {
    font-size: 14px;
    margin-bottom: 11px;
  }
}

.main .contacts-sb {
  margin-bottom: 60px;
}

@media (max-width: 767px) {
  .main .contacts-sb {
    margin-bottom: 40px;
  }
}

.main .contacts-sb__element {
  margin-bottom: 10px;
}

.main .contacts-sb__btn-link {
  width: 270px;
  height: 70px;
  background-color: transparent;
  font-weight: 400;
  font-size: 14px;
  line-height: 100%;
  text-transform: uppercase;
  color: #1f1f1f;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-direction: row;
  text-decoration: none;
  border: 1px solid #9c91c5;
  outline: none;
  cursor: pointer;
  border-radius: 100px;
}

@media (max-width: 767px) {
  .main .contacts-sb__btn-link {
    width: 170px;
    height: 45px;
    font-size: 10px;
  }
}

@media screen and (min-width: 1025px) {
  .main .contacts-sb__btn-link {
    transition: .25s ease-out;
  }
  .main .contacts-sb__btn-link:hover {
    background-color: #9885b5;
  }
}

.main .contacts-cb__element {
  margin-bottom: 10px;
}

.main .contacts-cb__call-btn {
  width: 270px;
  height: 70px;
  background-color: #4a3a5e;
  font-weight: 400;
  font-size: 14px;
  line-height: 100%;
  text-transform: uppercase;
  color: #f9f8fc;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-direction: row;
  text-decoration: none;
  border: none;
  outline: none;
  cursor: pointer;
  border-radius: 100px;
}

@media (max-width: 767px) {
  .main .contacts-cb__call-btn {
    height: 45px;
    width: 170px;
    font-size: 10px;
  }
}

@media screen and (min-width: 1025px) {
  .main .contacts-cb__call-btn {
    transition: .25s ease-out;
  }
  .main .contacts-cb__call-btn:hover {
    background-color: #9885b5;
  }
}

.gallery__header {
  text-align: center;
  margin-bottom: 50px;
}

@media (max-width: 1024px) {
  .gallery__header {
    margin-bottom: 40px;
  }
}

@media (max-width: 767px) {
  .gallery__header {
    margin-bottom: 20px;
  }
}

.gallery__content {
  padding: 0 var(--lr-paddings);
  display: grid;
  grid-template: minmax(340px, 1fr)/repeat(3, 1fr);
  grid-auto-rows: minmax(340px, 1fr);
  grid-gap: 60px;
}

@media (max-width: 1024px) {
  .gallery__content {
    grid-template-columns: 1fr;
    grid-auto-rows: minmax(216px, 1fr);
    grid-template-rows: min-content;
    grid-gap: 30px;
  }
}

@media (max-width: 767px) {
  .gallery__content {
    grid-gap: 20px;
  }
}

.gallery__figure {
  position: relative;
  cursor: pointer;
  overflow: hidden;
}

.gallery__figure:hover .gallery__img {
  transform: scale(1.02);
}

.gallery__figure:hover .gallery__img-loupe {
  opacity: 1;
}

@media (max-width: 1024px) {
  .gallery__figure:hover .gallery__img-loupe {
    opacity: 0;
  }
}

.gallery__img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform 0.5s ease-in-out;
}

.gallery__img-loupe {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  opacity: 0;
  transition: opacity 0.5s ease-in-out;
}

:root {
  --section-padding-bottom: 150px;
}

@media (max-width: 1024px) {
  :root {
    --section-padding-bottom: 120px;
  }
}

@media (max-width: 767px) {
  :root {
    --section-padding-bottom: 60px;
  }
}

.main-home section {
  padding: 0 var(--lr-paddings);
}

.main-home .start-section {
  position: relative;
  z-index: 1;
  display: flex;
  justify-content: space-between;
  padding-top: 60px;
  padding-bottom: 150px;
  gap: 3.125vw;
  min-height: 750px;
  height: 95vh;
}

@media screen and (max-width: 1024px) {
  .main-home .start-section {
    height: auto;
    flex-direction: column;
  }
}

@media (max-width: 767px) {
  .main-home .start-section {
    min-height: auto;
    padding-top: 40px;
    padding-bottom: 100px;
  }
}

.main-home .start-section .first-column {
  position: relative;
  display: flex;
  flex-direction: column;
  min-width: 290px;
  width: 27vw;
}

.main-home .start-section .first-column__social {
  display: flex;
  gap: 28px;
  margin-bottom: 3.125vw;
}

.main-home .start-section .first-column__social svg {
  min-width: 16px;
  width: 1.25vw;
  min-height: 16px;
  height: 1.25vw;
}

@media screen and (max-width: 1024px) {
  .main-home .start-section .first-column__social {
    position: absolute;
    right: 0;
    bottom: 0;
    align-items: center;
    height: 70px;
    margin: 0;
  }
}

@media (max-width: 767px) {
  .main-home .start-section .first-column__social {
    height: 45px;
  }
}

@media screen and (max-width: 1024px) {
  .main-home .start-section .first-column {
    width: 100%;
    margin-bottom: 30px;
  }
}

@media (max-width: 767px) {
  .main-home .start-section .first-column__social {
    margin-bottom: 0;
  }
}

.main-home .start-section .first-column__header {
  margin-bottom: 34px;
  font-size: 3.22vw;
}

@media (max-width: 767px) {
  .main-home .start-section .first-column__header {
    margin-bottom: 20px;
    font-size: 30px;
  }
}

.main-home .start-section .first-column__text {
  min-width: 310px;
  width: 23.33vw;
  margin-bottom: 34px;
}

@media screen and (max-width: 1024px) {
  .main-home .start-section .first-column__text {
    width: 100%;
  }
}

@media (max-width: 767px) {
  .main-home .start-section .first-column__text {
    margin-bottom: 20px;
  }
}

.main-home .start-section .first-column__btn-link {
  -webkit-animation-duration: 8s;
  -webkit-transform-origin: 50% 50%;
  -webkit-animation-iteration-count: infinite;
  -webkit-animation-timing-function: linear;
  -webkit-animation-name: tremble;
  width: 270px;
  height: 70px;
  background-color: #9cff00;
  font-weight: 600;
  font-size: 14px;
  line-height: 100%;
  text-transform: uppercase;
  color: #ffffff;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-direction: row;
  text-decoration: none;
  border: none;
  outline: none;
  cursor: pointer;
  border-radius: 100px;
  color: #4a3a5e;
}

@media (max-width: 1024px) {
  .main-home .start-section .first-column__btn-link {
    width: 270px;
    height: 70px;
    font-size: 14px;
  }
}

@media (max-width: 767px) {
  .main-home .start-section .first-column__btn-link {
    width: 170px;
    height: 45px;
    font-size: 10px;
  }
}

@media screen and (min-width: 1025px) {
  .main-home .start-section .first-column__btn-link {
    transition: 0.25s ease-out;
  }
  .main-home .start-section .first-column__btn-link:hover {
    color: #4a3a5e;
    border: 1px solid #4a3a5e;
    background-color: #f9f8fc;
  }
}

@-webkit-keyframes tremble {
  0% {
    -webkit-transform: translate(2px, 1px) rotate(0deg);
  }
  1% {
    -webkit-transform: translate(-1px, -2px) rotate(-1deg);
  }
  2% {
    -webkit-transform: translate(-3px, 0px) rotate(1deg);
  }
  3% {
    -webkit-transform: translate(0px, 2px) rotate(0deg);
  }
  4% {
    -webkit-transform: translate(5px, -1px) rotate(1deg);
  }
  5% {
    -webkit-transform: translate(-1px, 2px) rotate(-1deg);
  }
  6% {
    -webkit-transform: translate(-2px, 1px) rotate(0deg);
  }
  7% {
    -webkit-transform: translate(6px, 2px) rotate(-1deg);
  }
  8% {
    -webkit-transform: translate(-1px, -3px) rotate(1deg);
  }
  9% {
    -webkit-transform: translate(2px, 1px) rotate(0deg);
  }
  10% {
    -webkit-transform: translate(5px, -2px) rotate(-1deg);
  }
  11% {
    -webkit-transform: translate(0px, 0px) rotate(0deg);
  }
}

.main-home .start-section .second-column {
  min-width: 290px;
  width: 27vw;
}

.main-home .start-section .second-column .second-column__slide {
  display: none;
}

.main-home .start-section .second-column .second-column__slide_pagination {
  display: none;
}

@media screen and (max-width: 1024px) {
  .main-home .start-section .second-column {
    display: flex;
    justify-content: space-between;
    min-width: 100%;
  }
  .main-home .start-section .second-column .second-column__slide {
    display: block;
    width: 45%;
    height: 58vw;
    overflow: hidden;
  }
}

@media screen and (max-width: 1024px) and (max-width: 767px) {
  .main-home .start-section .second-column .second-column__slide {
    width: 100%;
    height: 100%;
  }
}

@media (max-width: 767px) {
  .main-home .start-section .second-column {
    flex-direction: column;
    gap: 10px;
  }
  .main-home .start-section .second-column .second-column__slide_pagination {
    display: block;
    margin-top: 20px;
  }
  .main-home .start-section .second-column .second-column__slide_pagination .progress-container {
    position: relative;
    margin-left: auto;
    margin-right: auto;
    width: 60px;
    height: 2px;
    background-color: #bbbbbb;
    overflow: hidden;
  }
  .main-home .start-section .second-column .second-column__slide_pagination .progress-bar {
    height: 100%;
    width: 0;
    background-color: #4a3a5e;
  }
  @keyframes fillProgress {
    0% {
      width: 0;
    }
    100% {
      width: 100%;
    }
  }
}

.main-home .start-section .second-column__video_wrapper {
  position: relative;
  width: 100%;
  height: 100%;
}

@media screen and (max-width: 1024px) {
  .main-home .start-section .second-column__video_wrapper {
    width: 45%;
    height: 58vw;
  }
}

@media (max-width: 767px) {
  .main-home .start-section .second-column__video_wrapper {
    width: 100%;
    height: 560px;
  }
}

.main-home .start-section .second-column video {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.main-home .start-section .second-column button {
  position: absolute;
  top: 100px;
  left: 20px;
  width: 45px;
  height: 45px;
  border-radius: 50%;
  display: flex;
  justify-content: center;
  align-items: center;
  background: #fff;
}

.main-home .start-section .second-column button svg {
  width: 24px;
  height: auto;
}

.main-home .start-section .second-column button svg:first-child {
  display: none;
}

.main-home .start-section .second-column__slide_top {
  position: relative;
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 12px;
  min-height: 56px;
  height: 10%;
  padding: 18px 0;
  border: 1px solid #bbb;
}

.main-home .start-section .second-column__slide_top img {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
}

.main-home .start-section .second-column__slide_top svg {
  width: 24px;
  height: 24px;
}

.main-home .start-section .second-column__slide_top span {
  font-size: 12px;
  font-weight: 600;
  line-height: 170%;
  color: #4a3a5e;
  border-bottom: 1px solid #4a3a5e;
}

.main-home .start-section .second-column__slide_wrapper {
  position: relative;
  height: 90%;
}

@media (max-width: 767px) {
  .main-home .start-section .second-column__slide_wrapper {
    height: 430px;
  }
}

.main-home .start-section .second-column__slide_wrapper .swiper {
  height: 100%;
}

.main-home .start-section .second-column__slide_wrapper .swiper-slide {
  width: 100%;
  height: 100%;
  overflow: hidden;
}

.main-home .start-section .second-column__slide_wrapper .swiper-slide img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
}

.main-home .start-section .third-column {
  display: flex;
  flex-direction: column;
  align-items: start;
  justify-content: space-between;
  min-width: 290px;
  width: 27vw;
}

@media screen and (max-width: 1024px) {
  .main-home .start-section .third-column {
    display: none;
  }
}

.main-home .start-section .third-column__top {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 12px;
  width: 100%;
  min-height: 44px;
  height: 8vh;
  border: 1px solid #bbb;
}

.main-home .start-section .third-column__top img {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
}

.main-home .start-section .third-column__top svg {
  width: 24px;
  height: 24px;
}

@media screen and (max-width: 1366px) {
  .main-home .start-section .third-column__top svg {
    width: 16px;
    height: 16px;
  }
}

.main-home .start-section .third-column__top span {
  font-size: 0.83vw;
  font-weight: 600;
  line-height: 170%;
  color: #4a3a5e;
  border-bottom: 1px solid #4a3a5e;
}

@media screen and (max-width: 1366px) {
  .main-home .start-section .third-column__top span {
    font-size: 12px;
  }
}

.main-home .start-section .third-column__wrapper {
  width: 100%;
  height: 50vh;
  overflow: hidden;
}

.main-home .start-section .third-column .scroll-container {
  position: relative;
  width: 100%;
  height: 100%;
}

.main-home .start-section .third-column .swiper-slide {
  height: 50vh;
}

.main-home .start-section .third-column .card-link {
  width: 100%;
  transform: none !important;
}

.main-home .start-section .third-column .card {
  width: 100%;
  height: 50vh;
  border: 1px solid #bbb;
}

.main-home .start-section .third-column .card .card-top {
  height: auto;
}

.main-home .start-section .third-column .card .card-top img {
  display: block;
  height: auto;
  width: 100%;
  object-fit: contain;
}

.main-home .start-section .third-column .card .card-bottom {
  flex: 1;
  display: flex;
  flex-direction: column;
  align-items: start;
  justify-content: center;
  width: 100%;
  padding: 1.6vw 2.4vw;
  overflow-y: auto;
}

.main-home .start-section .third-column .card .card-date {
  margin-bottom: 1.04vw;
}

.main-home .start-section .third-column .card .card-text {
  display: flex;
  width: 100%;
  min-height: auto;
  font-size: 14px;
}

.main-home .start-section .third-column .progress-bar-container {
  position: relative;
  margin-left: auto;
  margin-right: auto;
  width: 140px;
  height: 2px;
  background-color: #bbbbbb;
  overflow: hidden;
}

.main-home .start-section .third-column .progress-bar {
  height: 100%;
  width: 0;
  background-color: #4a3a5e;
  transition: width 0.1s linear;
}

.main-home .start-section .third-column__btn-link {
  width: 270px;
  height: 70px;
  background-color: #f9f8fc;
  font-weight: 600;
  font-size: 14px;
  line-height: 100%;
  text-transform: uppercase;
  color: #ffffff;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-direction: row;
  text-decoration: none;
  border: none;
  outline: none;
  cursor: pointer;
  border-radius: 100px;
  margin: 0 auto;
  border: 1px solid #4a3a5e;
  color: #4a3a5e;
}

@media (max-width: 1024px) {
  .main-home .start-section .third-column__btn-link {
    width: 270px;
    height: 70px;
    font-size: 14px;
  }
}

@media (max-width: 767px) {
  .main-home .start-section .third-column__btn-link {
    width: 170px;
    height: 45px;
    font-size: 10px;
  }
}

@media screen and (min-width: 1025px) {
  .main-home .start-section .third-column__btn-link {
    transition: 0.25s ease-out;
  }
  .main-home .start-section .third-column__btn-link:hover {
    color: #ffffff;
    border: 1px solid #9885b5;
    background-color: #9885b5;
  }
}

.main-home .start-section__scroll-down {
  position: absolute;
  right: 0;
  bottom: 0;
  cursor: pointer;
}

.main-home .start-section__scroll-down path,
.main-home .start-section__scroll-down circle {
  transition: 0.25s ease-out;
}

.main-home .start-section__scroll-down circle {
  fill: transparent;
}

@media screen and (min-width: 1025px) {
  .main-home .start-section__scroll-down:hover circle {
    fill: #4a3a5e;
    stroke: transparent;
  }
  .main-home .start-section__scroll-down:hover path {
    stroke: #ffffff;
  }
}

@media screen and (max-width: 1024px) {
  .main-home .start-section__scroll-down {
    display: none;
  }
}

.main-home .lavanda-park {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  flex-direction: row;
  --paddings-tb: 270px;
  padding-top: var(--paddings-tb);
  padding-bottom: var(--paddings-tb);
  background: no-repeat url("../images/home/lavanda-park.jpg");
  background-size: cover;
}

@media (max-width: 1024px) {
  .main-home .lavanda-park {
    flex-direction: column;
    --paddings-tb: 120px;
  }
}

@media (max-width: 1360px) {
  .main-home .lavanda-park {
    --paddings-tb: 80px;
  }
}

@media (max-width: 767px) {
  .main-home .lavanda-park {
    --paddings-tb: 60px;
  }
}

.main-home .lavanda-park .left-side {
  width: 33%;
}

@media (max-width: 1024px) {
  .main-home .lavanda-park .left-side {
    width: 75%;
  }
}

@media (max-width: 767px) {
  .main-home .lavanda-park .left-side {
    width: 100%;
  }
}

.main-home .lavanda-park .left-side__header {
  font-family: "Cormorant Garamond";
  font-size: 110px;
  font-weight: 400;
  color: #ffffff;
  line-height: 100%;
  letter-spacing: -0.01em;
  text-transform: uppercase;
}

@media (max-width: 1920px) {
  .main-home .lavanda-park .left-side__header {
    font-size: 80px;
  }
}

@media (max-width: 1360px) {
  .main-home .lavanda-park .left-side__header {
    font-size: 56px;
  }
}

@media (max-width: 1024px) {
  .main-home .lavanda-park .left-side__header {
    font-size: 110px;
    margin-bottom: 50px;
  }
}

@media (max-width: 767px) {
  .main-home .lavanda-park .left-side__header {
    font-size: 60px;
    margin-bottom: 40px;
  }
}

.main-home .lavanda-park .right-side {
  display: grid;
  grid-template-columns: repeat(3, auto);
  grid-template-rows: repeat(2, auto);
  column-gap: 130px;
  row-gap: 80px;
}

@media (max-width: 1920px) {
  .main-home .lavanda-park .right-side {
    column-gap: 100px;
  }
}

@media (max-width: 1024px) {
  .main-home .lavanda-park .right-side {
    grid-template-columns: repeat(2, auto);
    grid-template-rows: repeat(3, auto);
    column-gap: 130px;
    row-gap: 80px;
  }
}

@media (max-width: 767px) {
  .main-home .lavanda-park .right-side {
    column-gap: 50px;
    row-gap: 60px;
    column-gap: 25px;
  }
}

.main-home .lavanda-park .right-side__cell {
  white-space: nowrap;
}

@media (max-width: 767px) {
  .main-home .lavanda-park .right-side__cell {
    white-space: wrap;
  }
}

.main-home .lavanda-park .right-side__header {
  font-family: "Tenor Sans";
  font-size: 70px;
  font-weight: 400;
  color: #ffffff;
  line-height: 120%;
  letter-spacing: initial;
  text-transform: none;
}

@media (max-width: 767px) {
  .main-home .lavanda-park .right-side__header {
    font-size: 50px;
  }
}

.main-home .lavanda-park .right-side__subheader {
  font-size: 16px;
  font-weight: 500;
  line-height: 160%;
  color: #f9f8fc;
}

@media (max-width: 767px) {
  .main-home .lavanda-park .right-side__subheader {
    font-size: 12px;
  }
}

.main-home .gallery {
  padding-right: 0;
  padding-left: 0;
}

.main-home .gallery__wrapper {
  padding: 150px 0;
}

@media (max-width: 767px) {
  .main-home .gallery__wrapper {
    padding: 100px 0;
  }
}

.main-home .gallery__title {
  margin-bottom: 12px;
  padding-left: var(--lr-paddings);
  padding-right: var(--lr-paddings);
  text-align: center;
  font-size: 3.22vw;
}

@media (max-width: 767px) {
  .main-home .gallery__title {
    font-size: 30px;
  }
}

.main-home .gallery__text {
  margin-bottom: 20px;
  padding-left: var(--lr-paddings);
  padding-right: var(--lr-paddings);
  color: #4a3a5e;
  text-align: center;
}

.main-home .gallery__tabs {
  display: flex;
  justify-content: center;
  gap: 12px;
  margin-bottom: 60px;
  padding-left: var(--lr-paddings);
  padding-right: var(--lr-paddings);
}

@media (max-width: 767px) {
  .main-home .gallery__tabs {
    margin-bottom: 40px;
  }
}

.main-home .gallery__display {
  position: relative;
  width: 100vw;
  overflow: hidden;
}

@media (max-width: 767px) {
  .main-home .gallery__display .swiper {
    padding: 0 var(--lr-paddings);
  }
}

.main-home .gallery__display .swiper-slide {
  width: 508px;
  height: 380px !important;
  margin-right: 20px;
  cursor: grab;
}

@media (max-width: 767px) {
  .main-home .gallery__display .swiper-slide {
    height: 428px !important;
    margin-right: 0;
  }
}

.main-home .gallery__display .swiper-slide img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
}

.main-home .gallery__display .gallery__videos .swiper-slide {
  width: auto;
}

.main-home .gallery__display .swiper-slide {
  position: relative;
}

.main-home .gallery__display .swiper-slide .video-container {
  width: 100%;
  height: 100%;
}

.main-home .gallery__display .swiper-slide video {
  width: 100%;
  height: 100%;
  object-fit: contain;
  object-position: bottom;
}

.main-home .gallery__display .swiper-slide .controls {
  position: absolute;
  left: 50%;
  transform: translateX(-50%);
  bottom: 10px;
  display: flex;
  gap: 20px;
}

.main-home .gallery__display .swiper-slide .controls svg {
  width: 30px;
  height: 30px;
}

.main-home .gallery__display .swiper-slide:first-child {
  margin-left: var(--lr-paddings);
}

@media (max-width: 767px) {
  .main-home .gallery__display .swiper-slide:first-child {
    margin-left: 0;
  }
}

.main-home .gallery__display .swiper-slide:last-child {
  margin-right: var(--lr-paddings);
}

@media (max-width: 767px) {
  .main-home .gallery__display .swiper-slide:last-child {
    margin-right: 0;
  }
}

.main-home .gallery__display .gallery_nav {
  display: flex;
  justify-content: center;
  gap: 20px;
  margin-top: 12px;
}

.main-home .gallery__display .gallery__nav_btn svg {
  display: none;
}

@media (max-width: 767px) {
  .main-home .gallery__display .gallery__nav_btn svg {
    display: block;
    width: 44px;
    height: 44px;
  }
}

.main-home .gallery__display .gallery__nav_btn_prev svg {
  transform: rotate(90deg);
}

.main-home .gallery__display .gallery__nav_btn_next svg {
  transform: rotate(-90deg);
}

.main-home .gallery__display .swiper-button-disabled {
  opacity: 0.5;
}

.main-home .gallery__display_wrapper.active {
  position: relative;
  opacity: 1;
  visibility: visible;
}

.main-home .gallery__display_wrapper {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  opacity: 0;
  visibility: hidden;
  transition: all 0.5s ease-out;
}

.main-home .gallery__btn.active {
  background-color: #9cff00;
  border: 1px solid #9cff00;
  pointer-events: none;
}

.main-home .gallery__btn {
  width: 180px;
  height: 70px;
  background-color: #f9f8fc;
  font-weight: 600;
  font-size: 14px;
  line-height: 100%;
  text-transform: uppercase;
  color: #ffffff;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-direction: row;
  text-decoration: none;
  border: none;
  outline: none;
  cursor: pointer;
  border-radius: 100px;
  border: 1px solid #4a3a5e;
  color: #4a3a5e;
}

@media (max-width: 1024px) {
  .main-home .gallery__btn {
    width: 180px;
    height: 70px;
    font-size: 14px;
  }
}

@media (max-width: 767px) {
  .main-home .gallery__btn {
    width: 124px;
    height: 45px;
    font-size: 12px;
  }
}

@media screen and (min-width: 1025px) {
  .main-home .gallery__btn {
    transition: 0.25s ease-out;
  }
  .main-home .gallery__btn:hover {
    border: 1px solid #9cff00;
    background-color: #9cff00;
  }
}

.main-home .about {
  margin-bottom: 150px;
}

@media (max-width: 767px) {
  .main-home .about .mob-none {
    display: none;
  }
}

@media (max-width: 767px) {
  .main-home .about {
    margin-bottom: 100px;
  }
}

.main-home .about__wrapper {
  position: relative;
  display: flex;
  flex-direction: column;
  gap: 5.2vw;
  overflow: visible;
}

.main-home .about__block {
  position: sticky;
  top: 120px;
  min-height: 500px;
  height: 35.41vw;
  padding: 9.27vw 40px 40px 40px;
  border-radius: 40px;
  overflow: hidden;
}

@media (max-height: 440px) {
  .main-home .about__block {
    position: relative;
    top: 0 !important;
  }
}

@media screen and (max-width: 1600px) {
  .main-home .about__block {
    padding: 6vw 40px 40px 40px;
  }
}

@media screen and (max-width: 1024px) {
  .main-home .about__block {
    top: 100px;
  }
}

@media (max-width: 767px) {
  .main-home .about__block {
    top: 65px;
    padding: 28px 20px;
    border-radius: 20px;
  }
}

@media (max-width: 767px) {
  .main-home .about__block::after {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 50%;
    background: linear-gradient(to bottom, rgba(0, 0, 0, 0.6), transparent);
    pointer-events: none;
    /* Не мешает кликам */
    z-index: 2;
    /* Выше фона, ниже текста — можешь подстроить */
  }
}

.main-home .about__block img {
  position: absolute;
  z-index: 0;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
}

.main-home .about__block_number {
  position: absolute;
  z-index: 1;
  top: 0;
  right: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 70px;
  height: 70px;
  border-radius: 50%;
  background-color: #ffffff;
  font-size: 28px;
  font-weight: 600;
  line-height: 130%;
  color: #4a3a5e;
}

@media (max-width: 767px) {
  .main-home .about__block_number {
    top: auto;
    right: auto;
    left: 0;
    bottom: 0;
    width: 40px;
    height: 40px;
    font-size: 16px;
  }
}

.main-home .about__block_lavanda#lavanda-icon {
  position: absolute;
  top: auto;
  left: auto;
  bottom: 0;
  right: 0;
  width: 52px;
  height: auto;
}

.main-home .about .about__location {
  top: 130px;
}

@media screen and (max-width: 1024px) {
  .main-home .about .about__location {
    top: 110px;
  }
}

@media (max-width: 767px) {
  .main-home .about .about__location {
    top: 75px;
  }
}

.main-home .about .about__infrastructure {
  top: 140px;
}

@media screen and (max-width: 1024px) {
  .main-home .about .about__infrastructure {
    top: 120px;
  }
}

@media (max-width: 767px) {
  .main-home .about .about__infrastructure {
    top: 85px;
  }
}

.main-home .about .about__territory {
  top: 150px;
}

@media screen and (max-width: 1024px) {
  .main-home .about .about__territory {
    top: 130px;
  }
}

@media (max-width: 767px) {
  .main-home .about .about__territory {
    top: 95px;
  }
}

.main-home .about .about__parking {
  top: 160px;
}

@media screen and (max-width: 1024px) {
  .main-home .about .about__parking {
    top: 140px;
  }
}

@media (max-width: 767px) {
  .main-home .about .about__parking {
    top: 105px;
  }
}

.main-home .about .about__atmosphere {
  top: 170px;
}

@media screen and (max-width: 1024px) {
  .main-home .about .about__atmosphere {
    top: 150px;
  }
}

@media (max-width: 767px) {
  .main-home .about .about__atmosphere {
    top: 115px;
  }
}

.main-home .about .about__relax {
  top: 180px;
}

@media screen and (max-width: 1024px) {
  .main-home .about .about__relax {
    top: 160px;
  }
}

@media (max-width: 767px) {
  .main-home .about .about__relax {
    top: 125px;
  }
}

.main-home .about__block_content {
  position: relative;
  z-index: 3;
}

.main-home .about__block_title {
  margin-bottom: 28px;
  font-size: 3.22vw;
  color: #f9f8fc;
}

@media (max-width: 767px) {
  .main-home .about__block_title {
    margin-bottom: 12px;
    font-size: 30px;
  }
}

.main-home .about__block_text {
  max-width: 398px;
  margin-bottom: 28px;
  color: #f9f8fc;
}

@media (max-width: 767px) {
  .main-home .about__block_text {
    margin-bottom: 12px;
  }
}

.main-home .about__block_button button {
  width: 270px;
  height: 70px;
  background-color: #9cff00;
  font-weight: 600;
  font-size: 14px;
  line-height: 100%;
  text-transform: uppercase;
  color: #ffffff;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-direction: row;
  text-decoration: none;
  border: none;
  outline: none;
  cursor: pointer;
  border-radius: 100px;
  color: #4a3a5e;
}

@media (max-width: 1024px) {
  .main-home .about__block_button button {
    width: 270px;
    height: 70px;
    font-size: 14px;
  }
}

@media (max-width: 767px) {
  .main-home .about__block_button button {
    width: 170px;
    height: 45px;
    font-size: 10px;
  }
}

@media screen and (min-width: 1025px) {
  .main-home .about__block_button button {
    transition: 0.25s ease-out;
  }
  .main-home .about__block_button button:hover {
    color: #4a3a5e;
    border: 1px solid #4a3a5e;
    background-color: #f9f8fc;
  }
}

.main-home .planning__display.active {
  position: relative;
  opacity: 1;
  visibility: visible;
}

.main-home .planning__display {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  opacity: 0;
  visibility: hidden;
  transition: all 1s ease-out;
}

.main-home .planning__wrapper {
  margin-bottom: 40px;
}

@media (max-width: 767px) {
  .main-home .planning__wrapper {
    margin-bottom: 12px;
  }
}

.main-home .planning__top {
  display: flex;
  text-align: center;
  justify-content: space-between;
  gap: 12px;
  margin-bottom: 40px;
}

@media screen and (max-width: 1024px) {
  .main-home .planning__top {
    flex-direction: column;
  }
}

@media (max-width: 767px) {
  .main-home .planning__top {
    margin-bottom: 12px;
  }
}

.main-home .planning__title {
  display: flex;
  align-items: center;
  font-size: 3.22vw;
  color: #1f1f1f;
}

@media screen and (max-width: 1024px) {
  .main-home .planning__title {
    text-align: center;
    justify-content: center;
  }
}

@media (max-width: 767px) {
  .main-home .planning__title {
    font-size: 30px;
  }
}

.main-home .planning__buttons {
  display: flex;
  justify-content: center;
  flex-wrap: wrap;
  gap: 12px;
}

.main-home .planning__buttons button.active {
  border: 1px solid #9cff00;
  background-color: #9cff00;
  pointer-events: none;
}

.main-home .planning__buttons button {
  width: 180px;
  height: 70px;
  background-color: #f9f8fc;
  font-weight: 600;
  font-size: 14px;
  line-height: 100%;
  text-transform: uppercase;
  color: #ffffff;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-direction: row;
  text-decoration: none;
  border: none;
  outline: none;
  cursor: pointer;
  border-radius: 100px;
  width: max-content;
  padding: 0 40px;
  border: 1px solid #4a3a5e;
  color: #4a3a5e;
}

@media (max-width: 1024px) {
  .main-home .planning__buttons button {
    padding: 0 24px;
    height: 70px;
    font-size: 14px;
  }
}

@media (max-width: 767px) {
  .main-home .planning__buttons button {
    height: 45px;
    font-size: 12px;
  }
}

@media screen and (min-width: 1025px) {
  .main-home .planning__buttons button {
    transition: 0.25s ease-out;
  }
  .main-home .planning__buttons button:hover {
    border: 1px solid #9cff00;
    background-color: #9cff00;
  }
}

.main-home .planning__center {
  display: flex;
  gap: 12px;
}

@media screen and (max-width: 1366px) {
  .main-home .planning__center {
    flex-direction: column;
  }
}

.main-home .planning__center_left {
  position: relative;
  display: flex;
  gap: 12px;
  flex-grow: 1;
}

@media (max-width: 767px) {
  .main-home .planning__center_left {
    flex-direction: column-reverse;
  }
}

.main-home .planning__center_left_left {
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  gap: 20px;
  width: 31.25vw;
  padding: 40px;
  border-radius: 40px;
  background-color: #ffffff;
}

@media screen and (max-width: 1366px) {
  .main-home .planning__center_left_left {
    width: 50%;
  }
}

@media (max-width: 767px) {
  .main-home .planning__center_left_left {
    position: absolute;
    top: 100px;
    left: 0;
    z-index: 1;
    width: 100%;
    padding: 32px 20px;
    border-radius: 20px;
    background-color: rgba(0, 0, 0, 0);
  }
  .main-home .planning__center_left_left .planning__subtitle {
    color: #ffffff;
  }
  .main-home .planning__center_left_left .planning__text {
    color: #ffffff;
  }
  .main-home .planning__center_left_left .planning__benefits span {
    color: #ffffff;
  }
}

.main-home .planning__center_left_left .planning__subtitle {
  text-align: start;
}

.main-home .planning__center_left_left_top {
  display: flex;
  flex-direction: column;
  gap: 20px;
}

@media (max-width: 767px) {
  .main-home .planning__center_left_left_top {
    gap: 12px;
  }
}

@media (max-width: 767px) {
  .main-home .planning__center_left_left_top .planning__subtitle {
    font-size: 16px;
    text-align: center;
  }
}

@media (max-width: 767px) {
  .main-home .planning__center_left_left_top .planning__text {
    font-size: 14px;
    text-align: center;
  }
}

.main-home .planning__subtitle {
  text-align: center;
  font-size: 28px;
  font-weight: 600;
  line-height: 130%;
  color: #4a3a5e;
  text-transform: uppercase;
  word-break: keep-all;
}

@media (max-width: 767px) {
  .main-home .planning__subtitle {
    font-size: 20px;
  }
}

.main-home .planning__text.active {
  position: relative;
  opacity: 1;
  visibility: visible;
}

.main-home .planning__text {
  position: absolute;
  top: 0;
  left: 0;
  font-size: 16px;
  font-weight: 600;
  line-height: 170%;
  color: #8a8a8a;
  opacity: 0;
  visibility: hidden;
  transition: opacity 0.5s ease-out;
}

@media (max-width: 767px) {
  .main-home .planning__text {
    gap: 12px;
  }
}

.main-home .planning__text_benefits {
  font-size: 16px;
  font-weight: 600;
  line-height: 170%;
  color: #8a8a8a;
}

@media (max-width: 767px) {
  .main-home .planning__text_benefits {
    gap: 12px;
  }
}

.main-home .planning__benefits {
  display: flex;
  flex-direction: column;
  gap: 20px;
}

@media (max-width: 767px) {
  .main-home .planning__benefits {
    gap: 4px;
  }
}

.main-home .planning__benefits div {
  display: flex;
  align-items: center;
  gap: 20px;
}

.main-home .planning__benefits div img {
  width: 70px;
  height: 70px;
}

@media (max-width: 767px) {
  .main-home .planning__benefits div img {
    width: 48px;
    height: 48px;
  }
}

.main-home .planning__center_left_right {
  position: relative;
  z-index: 0;
  flex-grow: 1;
  position: relative;
  min-width: 19.47vw;
  border-radius: 40px;
  overflow: hidden;
}

@media screen and (max-width: 1366px) {
  .main-home .planning__center_left_right {
    width: 50%;
  }
}

@media (max-width: 767px) {
  .main-home .planning__center_left_right {
    width: 100%;
    min-height: 550px;
    height: 70vh;
    border-radius: 20px;
  }
  .main-home .planning__center_left_right .planning__subtitle {
    position: relative;
    z-index: 3;
    color: #ffffff;
  }
  .main-home .planning__center_left_right::after {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: linear-gradient(to bottom, black 0%, rgba(0, 0, 0, 0.8) 30%, rgba(0, 0, 0, 0.4) 70%, rgba(0, 0, 0, 0.1) 95%, rgba(0, 0, 0, 0) 100%);
    pointer-events: none;
    /* Не мешает кликам */
    z-index: 2;
    /* Выше фона, ниже текста — можешь подстроить */
  }
}

.main-home .planning__center_left_right img {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: bottom;
}

.main-home .planning__center_left_right .planning__subtitle {
  position: absolute;
  top: 40px;
  left: 40px;
  right: 40px;
}

.main-home .planning__center_right {
  display: flex;
  flex-direction: column;
  width: 35.41vw;
  padding: 40px;
  border-radius: 40px;
  background-color: #ffffff;
}

@media screen and (max-width: 1366px) {
  .main-home .planning__center_right {
    width: 100%;
  }
}

@media (max-width: 767px) {
  .main-home .planning__center_right {
    padding: 32px 20px;
    border-radius: 20px;
  }
}

.main-home .planning__center_right .planning__subtitle {
  margin-bottom: 40px;
}

@media (max-width: 767px) {
  .main-home .planning__center_right .planning__subtitle {
    margin-bottom: 28px;
  }
}

.main-home .planning__swiper {
  margin-bottom: 20px;
}

.main-home .planning .swiper-wrapper {
  height: 50vh;
}

.main-home .planning__slides {
  overflow: hidden;
}

.main-home .planning__slides .swiper-slide {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  height: min-content;
}

.main-home .planning__slides .swiper-slide .planning__img {
  max-height: 40vh;
  height: 40vh;
  width: auto;
}

.main-home .planning__slides .swiper-slide img {
  height: 100%;
  width: auto;
  max-width: 80vw;
  object-fit: contain;
  object-position: center;
}

.main-home .planning__slides .bottom_navigation {
  display: flex;
  align-items: center;
  justify-content: center;
  margin-bottom: 40px;
}

@media (max-width: 767px) {
  .main-home .planning__slides .bottom_navigation {
    margin-bottom: 28px;
  }
}

.main-home .planning__slides .swiper-pagination-fraction {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 66px;
  margin: 0 20px;
}

.main-home .planning__slides .swiper-pagination-fraction .swiper-pagination-current {
  margin-right: 12px;
  font-size: 16px;
  font-weight: 600;
  line-height: 170%;
  color: #4a3a5e;
}

@media (max-width: 767px) {
  .main-home .planning__slides .swiper-pagination-fraction .swiper-pagination-current {
    font-size: 12px;
  }
}

.main-home .planning__slides .swiper-pagination-fraction .swiper-pagination-total {
  margin-left: 12px;
  font-size: 16px;
  font-weight: 600;
  line-height: 170%;
  color: #8a8a8a;
}

@media (max-width: 767px) {
  .main-home .planning__slides .swiper-pagination-fraction .swiper-pagination-total {
    font-size: 12px;
  }
}

.main-home .planning__slides .planning__nav_btn {
  cursor: pointer;
}

.main-home .planning__slides .planning__nav_btn svg {
  width: 70px;
  height: 70px;
}

@media (max-width: 767px) {
  .main-home .planning__slides .planning__nav_btn svg {
    width: 44px;
    height: 44px;
  }
}

.main-home .planning__slides .planning__nav_btn svg {
  transition: all 0.25s ease-out;
}

.main-home .planning__slides .planning__nav_btn svg circle {
  transition: all 0.25s ease-out;
}

.main-home .planning__slides .planning__nav_btn svg path {
  transition: all 0.25s ease-out;
}

.main-home .planning__slides .planning__nav_btn:hover svg circle {
  fill: #4a3a5e;
  stroke: transparent;
}

.main-home .planning__slides .planning__nav_btn:hover svg path {
  stroke: #ffffff;
}

.main-home .planning__slides .planning__swiper-button-prev {
  transform: rotate(90deg);
}

.main-home .planning__slides .planning__swiper-button-next {
  transform: rotate(-90deg);
}

.main-home .planning__center_right_bottom {
  display: flex;
  justify-content: space-between;
  gap: 12px;
}

@media (max-width: 767px) {
  .main-home .planning__center_right_bottom {
    flex-direction: column;
    gap: 8px;
  }
}

.main-home .planning__center_right_bottom a button {
  width: 100%;
}

.main-home .planning__center_right_bottom button {
  width: 50%;
  height: 70px;
  background-color: #f9f8fc;
  font-weight: 600;
  font-size: 14px;
  line-height: 100%;
  text-transform: uppercase;
  color: #ffffff;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-direction: row;
  text-decoration: none;
  border: none;
  outline: none;
  cursor: pointer;
  border-radius: 100px;
  padding-left: 10px;
  padding-right: 10px;
  border: 1px solid #4a3a5e;
  line-height: 110%;
  color: #4a3a5e;
}

@media (max-width: 1024px) {
  .main-home .planning__center_right_bottom button {
    height: 70px;
    font-size: 14px;
  }
}

@media (max-width: 767px) {
  .main-home .planning__center_right_bottom button {
    width: 100%;
    height: 45px;
    font-size: 12px;
  }
}

@media screen and (min-width: 1025px) {
  .main-home .planning__center_right_bottom button {
    transition: 0.25s ease-out;
  }
  .main-home .planning__center_right_bottom button:hover {
    border: 1px solid #9cff00;
    background-color: #9cff00;
  }
}

.main-home .planning__center_right_bottom button:nth-child(2) {
  background-color: #4a3a5e;
  color: #ffffff;
}

@media screen and (min-width: 1025px) {
  .main-home .planning__center_right_bottom button:nth-child(2) {
    transition: 0.25s ease-out;
  }
  .main-home .planning__center_right_bottom button:nth-child(2):hover {
    border: 1px solid #4a3a5e;
    background-color: #f9f8fc;
    color: #4a3a5e;
  }
}

.main-home .call-back-section {
  margin-bottom: 150px;
}

@media (max-width: 767px) {
  .main-home .call-back-section {
    margin-bottom: 100px;
  }
}

.main-home .call-back-section__wrapper {
  display: flex;
  align-items: center;
  padding: 60px 40px;
  border-radius: 40px;
  background-color: #9cff00;
}

@media screen and (max-width: 1024px) {
  .main-home .call-back-section__wrapper {
    flex-direction: column;
    gap: 40px;
  }
}

@media (max-width: 767px) {
  .main-home .call-back-section__wrapper {
    padding: 60px 20px;
    border-radius: 20px;
  }
}

.main-home .call-back-section__left {
  width: 50%;
  padding-right: 7vw;
}

@media screen and (max-width: 1024px) {
  .main-home .call-back-section__left {
    width: 100%;
    padding-right: 0;
    text-align: center;
  }
}

.main-home .call-back-section__right {
  display: flex;
  width: 50%;
}

@media screen and (max-width: 1024px) {
  .main-home .call-back-section__right {
    width: 100%;
  }
}

.main-home .call-back-section__right .call-block__form {
  display: flex;
  align-items: center;
  gap: 20px;
  width: 100%;
}

@media (max-width: 767px) {
  .main-home .call-back-section__right .call-block__form {
    flex-direction: column;
  }
}

.main-home .call-back-section__right .form-field {
  position: relative;
  flex-grow: 1;
}

@media (max-width: 767px) {
  .main-home .call-back-section__right .form-field {
    width: 100%;
  }
}

.main-home .call-back-section__right .form-field input {
  display: flex;
  align-items: center;
  width: 100%;
  height: 70px;
  padding: 0 40px;
  border: none;
  border-radius: 100px;
  box-sizing: border-box;
  background-color: #f9f8fc;
}

@media (max-width: 767px) {
  .main-home .call-back-section__right .form-field input {
    height: 45px;
  }
}

.main-home .call-back-section__right .form-field input:focus {
  outline: none;
}

.main-home .call-back-section__right .input-message {
  position: absolute;
  left: 50%;
  transform: translateX(-50%);
  bottom: -30px;
  width: max-content;
  font-size: 12px;
  color: red;
}

.main-home .call-back-section__right .call-block__submit {
  width: 270px;
  height: 70px;
  background-color: #4a3a5e;
  font-weight: 600;
  font-size: 14px;
  line-height: 100%;
  text-transform: uppercase;
  color: #ffffff;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-direction: row;
  text-decoration: none;
  border: none;
  outline: none;
  cursor: pointer;
  border-radius: 100px;
  padding-left: 10px;
  padding-right: 10px;
  border: 1px solid #4a3a5e;
  line-height: 110%;
  color: #ffffff;
}

@media (max-width: 1024px) {
  .main-home .call-back-section__right .call-block__submit {
    height: 70px;
    font-size: 14px;
  }
}

@media (max-width: 767px) {
  .main-home .call-back-section__right .call-block__submit {
    width: 100%;
    height: 45px;
    font-size: 12px;
  }
}

@media screen and (min-width: 1025px) {
  .main-home .call-back-section__right .call-block__submit {
    transition: 0.25s ease-out;
  }
  .main-home .call-back-section__right .call-block__submit:hover {
    border: 1px solid #4a3a5e;
    background-color: #f9f8fc;
    color: #4a3a5e;
  }
}

.main-home .iframe {
  margin-bottom: 150px;
}

@media (max-width: 767px) {
  .main-home .iframe {
    margin-bottom: 100px;
  }
}

.main-home .iframe__wrapper {
  position: relative;
  border-radius: 40px;
  background-color: #2a343b;
  overflow: hidden;
}

@media (max-width: 767px) {
  .main-home .iframe__wrapper {
    border-radius: 20px;
  }
}

.main-home .iframe #loadIframeButton {
  position: absolute;
  z-index: 2;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: max-content;
  height: 70px;
  background-color: #f9f8fc;
  font-weight: 600;
  font-size: 14px;
  line-height: 100%;
  text-transform: uppercase;
  color: #ffffff;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-direction: row;
  text-decoration: none;
  border: none;
  outline: none;
  cursor: pointer;
  border-radius: 100px;
  padding-left: 50px;
  padding-right: 50px;
  border: 1px solid #4a3a5e;
  line-height: 110%;
  color: #4a3a5e;
}

@media (max-width: 1024px) {
  .main-home .iframe #loadIframeButton {
    height: 70px;
    font-size: 14px;
  }
}

@media (max-width: 767px) {
  .main-home .iframe #loadIframeButton {
    height: 45px;
    font-size: 12px;
  }
}

@media screen and (min-width: 1025px) {
  .main-home .iframe #loadIframeButton {
    transition: 0.25s ease-out;
  }
  .main-home .iframe #loadIframeButton:hover {
    border: 1px solid #9cff00;
    background-color: #9cff00;
  }
}

.main-home .iframe__container {
  position: relative;
  width: 100%;
  height: 80vh;
  min-height: 50vw;
}

.main-home .iframe__container iframe {
  width: 100%;
  height: 100%;
  border: none;
  display: none;
}

.main-home .iframe__container img {
  position: absolute;
  z-index: 0;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  border-radius: 8px;
  object-fit: cover;
}

.main-home .iframe__container.active-iframe img {
  display: none;
}

.main-home .iframe__container::after {
  content: '';
  position: absolute;
  z-index: 1;
  top: 0;
  left: 0;
  display: block;
  width: 100%;
  height: 100%;
  background-color: rgba(0, 0, 0, 0.5);
}

.main-home .iframe__container.active-iframe::after {
  display: none;
}

.main-home .construction_news {
  position: relative;
  margin-bottom: 150px;
}

@media screen and (min-width: 1024px) {
  .main-home .construction_news {
    padding: 0;
  }
}

@media (max-width: 767px) {
  .main-home .construction_news {
    margin-bottom: 100px;
  }
}

.main-home .construction_news__top {
  display: flex;
  justify-content: space-around;
  gap: 8px;
  margin-bottom: 20px;
}

@media screen and (min-width: 1025px) {
  .main-home .construction_news__top {
    display: none;
  }
}

.main-home .construction_news__top button.active {
  background-color: #4a3a5e;
  color: #f9f8fc;
}

.main-home .construction_news__top button {
  width: 355px;
  height: 70px;
  background-color: #f9f8fc;
  font-weight: 600;
  font-size: 14px;
  line-height: 100%;
  text-transform: uppercase;
  color: #ffffff;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-direction: row;
  text-decoration: none;
  border: none;
  outline: none;
  cursor: pointer;
  border-radius: 100px;
  border: 1px solid #4a3a5e;
  line-height: 110%;
  color: #4a3a5e;
}

@media (max-width: 1024px) {
  .main-home .construction_news__top button {
    height: 70px;
    font-size: 14px;
  }
}

@media (max-width: 767px) {
  .main-home .construction_news__top button {
    height: 45px;
    font-size: 12px;
  }
}

.main-home .construction_news__wrapper.active {
  position: relative;
  opacity: 1;
  visibility: visible;
}

.main-home .construction_news__wrapper {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  opacity: 0;
  visibility: hidden;
  transition: all 0.5s ease-out;
  overflow: hidden;
}

.main-home .construction_news__wrapper .swiper {
  margin-bottom: 20px;
}

@media screen and (min-width: 1025px) {
  .main-home .construction_news__wrapper .swiper {
    margin-bottom: 40px;
  }
}

@media screen and (min-width: 1025px) {
  .main-home .construction_news__wrapper .swiper-slide {
    width: 624px !important;
    cursor: grab;
  }
}

.main-home .construction_news__wrapper .swiper-slide .progress-card {
  width: 100%;
  height: 100%;
}

@media screen and (min-width: 1024px) {
  .main-home .construction_news .news__wrapper {
    position: absolute;
    opacity: 0;
    visibility: hidden;
  }
}

@media screen and (min-width: 1024px) {
  .main-home .construction_news .construction__wrapper {
    position: relative;
    opacity: 1;
    visibility: visible;
  }
}

.main-home .construction_news__title {
  margin-bottom: 20px;
  text-align: center;
}

@media screen and (min-width: 1025px) {
  .main-home .construction_news__title {
    display: none;
  }
}

.main-home .construction_news__slider_nav {
  display: flex;
  justify-content: center;
  gap: 20px;
  margin-bottom: 20px;
}

@media screen and (min-width: 1025px) {
  .main-home .construction_news__slider_nav {
    display: none;
  }
}

@media (max-width: 767px) {
  .main-home .construction_news__slider_nav {
    gap: 8px;
  }
}

.main-home .construction_news__slider_nav svg {
  width: 70px;
  height: 70px;
}

@media (max-width: 767px) {
  .main-home .construction_news__slider_nav svg {
    width: 44px;
    height: 44px;
  }
}

.main-home .construction_news__slider_nav .construction_news__swiper-button-prev {
  transform: rotate(90deg);
}

.main-home .construction_news__slider_nav .construction_news__swiper-button-next {
  transform: rotate(-90deg);
}

.main-home .construction_news .construction_news__button a {
  width: max-content;
  height: 70px;
  background-color: #f9f8fc;
  font-weight: 600;
  font-size: 14px;
  line-height: 100%;
  text-transform: uppercase;
  color: #ffffff;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-direction: row;
  text-decoration: none;
  border: none;
  outline: none;
  cursor: pointer;
  border-radius: 100px;
  margin: 0 auto;
  padding-left: 50px;
  padding-right: 50px;
  border: 1px solid #4a3a5e;
  line-height: 110%;
  color: #4a3a5e;
}

@media (max-width: 1024px) {
  .main-home .construction_news .construction_news__button a {
    height: 70px;
    font-size: 14px;
  }
}

@media (max-width: 767px) {
  .main-home .construction_news .construction_news__button a {
    height: 45px;
    font-size: 12px;
  }
}

@media screen and (min-width: 1025px) {
  .main-home .construction_news .construction_news__button a {
    transition: 0.25s ease-out;
  }
  .main-home .construction_news .construction_news__button a:hover {
    border: 1px solid #9cff00;
    background-color: #9cff00;
  }
}

.main-home .construction_news .ticker-wrapper {
  position: absolute;
  top: -65px;
  width: 100%;
  color: #313131;
  overflow: hidden;
  height: 130px;
  display: flex;
  align-items: center;
  z-index: 0;
  font-family: 'Cormorant Garamond';
  font-size: 100px;
  font-weight: 300;
  letter-spacing: -1px;
  text-transform: uppercase;
  letter-spacing: normal;
}

@media screen and (max-width: 1024px) {
  .main-home .construction_news .ticker-wrapper {
    display: none;
  }
}

.main-home .construction_news .ticker-wrapper span {
  margin: 0 60px;
  opacity: 0.2;
}

.main-home .construction_news .ticker {
  display: flex;
  align-items: center;
  gap: 40px;
  white-space: nowrap;
  animation: scroll-left 40s linear infinite;
}

@keyframes scroll-left {
  0% {
    transform: translateX(0);
  }
  100% {
    transform: translateX(-50%);
  }
}

.main-inner-stocks-news {
  padding-left: var(--lr-paddings);
  padding-right: var(--lr-paddings);
}

.main .isn-content-wrapper {
  display: grid;
  grid-template: auto/repeat(24, minmax(var(--popular-indent), 1fr));
}

@media (max-width: 1920px) {
  .main .isn-content-wrapper {
    grid-template: auto/repeat(20, minmax(var(--popular-indent), 1fr));
  }
}

@media (max-width: 1360px) {
  .main .isn-content-wrapper {
    display: flex;
    flex-direction: column;
  }
}

.main .isn__back-link-wrapper {
  grid-column: 1 / 3;
}

@media (max-width: 1920px) {
  .main .isn__back-link-wrapper {
    display: none;
  }
}

.main .isn__back-link {
  display: flex;
  align-items: center;
  justify-content: flex-start;
  flex-direction: row;
  font-weight: 400;
  line-height: 100%;
  color: #4a4a49;
}

.main .isn__back-link::before {
  content: '';
  background-image: url("../images/stocks-news/inner/back.svg");
  background-size: 70px 70px;
  display: inline-block;
  width: 70px;
  height: 70px;
  margin-right: 20px;
}

.main .isn__content {
  grid-column: 4 / 22;
}

@media (max-width: 1920px) {
  .main .isn__content {
    grid-column: 1 / 22;
  }
}

.main .isn__header {
  text-align: center;
  margin-bottom: 30px;
}

@media (max-width: 1024px) {
  .main .isn__header {
    margin-bottom: 40px;
  }
}

@media (max-width: 767px) {
  .main .isn__header {
    margin-bottom: 20px;
  }
}

.main .isn__date {
  font-family: "Mont";
  font-size: 20px;
  font-weight: 400;
  color: #4a3a5e;
  line-height: 100%;
  letter-spacing: initial;
  text-transform: uppercase;
  text-align: center;
  margin-bottom: 50px;
}

@media (max-width: 1024px) {
  .main .isn__date {
    font-size: 16px;
    margin-bottom: 40px;
  }
}

@media (max-width: 767px) {
  .main .isn__date {
    font-size: 14px;
    margin-bottom: 20px;
  }
}

.main .isn__slider-img {
  width: 100%;
  height: auto;
  object-fit: cover;
  margin-bottom: 50px;
}

.main .isn__text {
  font-family: "Mont";
  font-size: 16px;
  font-weight: 400;
  color: #8a8a8a;
  line-height: 170%;
  letter-spacing: initial;
  text-transform: none;
}

@media (max-width: 1024px) {
  .main .isn__text {
    font-size: 14px;
    margin-bottom: 30px;
  }
}

@media (max-width: 767px) {
  .main .isn__text {
    font-size: 12px;
    margin-bottom: 20px;
  }
}

@media (max-width: 1024px) {
  .main .isn__text:last-child {
    margin-bottom: 0;
  }
}

.main .isn__text-wrapper {
  margin-bottom: 50px;
}

@media (max-width: 767px) {
  .main .isn__text-wrapper {
    margin-bottom: 40px;
  }
}

.main .isn__text_link {
  text-decoration: underline;
  color: #4a3a5e;
}

.main .isn__element {
  list-style-type: disc;
  list-style-position: inside;
}

.main .isn__btn-link {
  margin-bottom: 120px;
}

@media (max-width: 1024px) {
  .main .isn__btn-link {
    margin-bottom: 80px;
  }
}

@media (max-width: 767px) {
  .main .isn__btn-link {
    margin-bottom: 40px;
  }
}

.main .isn__video-wrapper {
  position: relative;
  margin-bottom: var(--sec-btm-indent);
}

@media (max-width: 767px) {
  .main .isn__video-wrapper {
    margin-bottom: 60px;
  }
}

.main .isn__video {
  width: 100%;
  height: auto;
  object-fit: cover;
  height: 52.5vw;
  vertical-align: middle;
}

.main .isn__video-btn-play {
  display: flex;
  align-items: flex-start;
  justify-content: flex-start;
  flex-direction: row;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
}

@media screen and (min-width: 1025px) {
  .main .isn__video-btn-play:before {
    transition: .25s ease-out;
    transform-origin: center;
  }
  .main .isn__video-btn-play:hover:before {
    transform: scale(1.1);
  }
}

.main .isn__video-btn-play::before {
  content: '';
  background-image: url("../images/stocks-news/inner/play.svg");
  background-size: 110px 110px;
  display: inline-block;
  width: 110px;
  height: 110px;
}

@media (max-width: 767px) {
  .main .isn__video-btn-play::before {
    height: 45px;
    width: 45px;
    background-size: 45px 45px;
  }
}

.main .isn__stocks-news-header {
  text-align: center;
}

.main .isn__cards-wrapper {
  display: flex;
  align-items: flex-start;
  justify-content: center;
  flex-direction: row;
}

@media (max-width: 1024px) {
  .main .isn__cards-wrapper {
    flex-direction: column;
  }
}

.main .isn__cards-wrapper .card-link {
  flex: 0 0 520px;
  margin-top: var(--popular-indent);
}

@media (max-width: 1024px) {
  .main .isn__cards-wrapper .card-link {
    flex: 0 0 420px;
    width: 100%;
  }
}

@media (max-width: 767px) {
  .main .isn__cards-wrapper .card-link {
    flex: 0 0 330px;
  }
}

.main .isn__cards-wrapper .card-link:nth-child(2n) {
  margin-left: var(--popular-indent);
}

@media (max-width: 1024px) {
  .main .isn__cards-wrapper .card-link:nth-child(2n) {
    margin-left: 0;
  }
}

.progress__header {
  text-align: center;
  margin-bottom: 60px;
}

@media (max-width: 767px) {
  .progress__header {
    margin-bottom: 40px;
  }
}

.progress__content {
  padding: 0 var(--lr-paddings);
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  flex-direction: row;
}

@media (max-width: 1024px) {
  .progress__content {
    flex-direction: column;
  }
}

.progress__filter {
  display: flex;
  align-items: flex-start;
  justify-content: flex-start;
  flex-direction: column;
  width: 25%;
}

@media (max-width: 1024px) {
  .progress__filter {
    width: 100%;
  }
}

@media (max-width: 767px) {
  .progress__filter {
    margin-bottom: 40px;
  }
}

.progress__result {
  width: 70%;
}

@media (max-width: 1024px) {
  .progress__result {
    width: 100%;
    margin-top: 40px;
  }
}

@media (max-width: 767px) {
  .progress__result {
    margin-top: 0;
  }
}

.progress__cards-wrapper {
  display: grid;
  grid-template: auto/repeat(2, 1fr);
  grid-auto-rows: minmax(420px, 1fr);
  grid-gap: 60px;
  margin-bottom: 60px;
}

@media (max-width: 1024px) {
  .progress__cards-wrapper {
    display: block;
    margin-bottom: 40px;
  }
}

@media (max-width: 767px) {
  .progress__cards-wrapper {
    margin-bottom: 40px;
  }
}

.progress__btn-wrapper {
  display: flex;
  align-items: flex-start;
  justify-content: center;
  flex-direction: row;
}

.progress__load-more-btn {
  width: 270px;
  height: 70px;
  background-color: #4a3a5e;
  font-weight: 600;
  font-size: 14px;
  line-height: 100%;
  text-transform: uppercase;
  color: #f9f8fc;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-direction: row;
  text-decoration: none;
  border: none;
  outline: none;
  cursor: pointer;
  border-radius: 100px;
}

@media (max-width: 1024px) {
  .progress__load-more-btn {
    font-size: 15px;
    margin-top: 30px;
    margin-bottom: 30px;
  }
}

@media (max-width: 767px) {
  .progress__load-more-btn {
    width: 170px;
    height: 45px;
    font-size: 10px;
    margin-top: 20px;
    margin-bottom: 20px;
  }
}

@media screen and (min-width: 1025px) {
  .progress__load-more-btn {
    transition: .25s ease-out;
  }
  .progress__load-more-btn:hover {
    background-color: #9885b5;
  }
}

.filter__label {
  position: relative;
  display: flex;
  align-items: flex-start;
  justify-content: flex-start;
  flex-direction: column;
  width: 100%;
  pointer-events: none;
}

.filter__label:not(:last-child) {
  margin-bottom: 40px;
}

@media (max-width: 1024px) {
  .filter__label:not(:last-child) {
    margin-bottom: 30px;
  }
}

@media (max-width: 767px) {
  .filter__label:not(:last-child) {
    margin-bottom: 20px;
  }
}

.filter__label-text {
  font-family: "Mont";
  font-size: 20px;
  font-weight: 400;
  color: #1f1f1f;
  line-height: 100%;
  letter-spacing: initial;
  text-transform: uppercase;
  border-bottom: 1px solid #1f1f1f;
  margin-bottom: 15px;
  cursor: pointer;
  transition-property: color, border-color;
  transition-duration: 0.3s;
  transition-timing-function: ease-in-out;
}

@media (max-width: 1024px) {
  .filter__label-text {
    font-size: 16px;
  }
}

@media (max-width: 767px) {
  .filter__label-text {
    font-size: 14px;
    margin-bottom: 10px;
  }
}

.filter__label-text:hover {
  border-color: #4a3a5e;
  color: #4a3a5e;
}

.filter__input {
  border: none;
  outline: none;
  background: transparent;
  padding: 0;
  font: inherit;
}

.irs--flat {
  width: 100%;
}

.irs--flat .irs-bar {
  background-color: #4a3a5e;
  height: 2px;
  top: 0;
}

.irs--flat .irs-handle {
  cursor: pointer;
  top: 0;
  content: '';
  background-image: url("../images/progress/rangeHandler.svg");
  background-size: 7px 12px;
  display: inline-block;
  width: 7px;
  height: 12px;
}

@media (max-width: 1024px) {
  .irs--flat .irs-handle {
    height: 9px;
    width: 5px;
    background-size: 5px 9px;
  }
}

.irs--flat .irs-handle > i:first-child,
.irs--flat .irs-handle:hover > i:first-child {
  display: none;
}

.irs--flat .irs-line {
  height: 2px;
  top: 0;
}

.irs--flat .irs-single {
  font-family: "Mont";
  font-size: 20px;
  font-weight: 500;
  color: #4a4a49;
  line-height: 100%;
  letter-spacing: initial;
  text-transform: uppercase;
  background-color: transparent;
  border-radius: 0;
  top: 17px;
  padding: 0 5px;
}

@media (max-width: 1024px) {
  .irs--flat .irs-single {
    font-size: 16px;
  }
}

@media (max-width: 767px) {
  .irs--flat .irs-single {
    font-size: 14px;
  }
}

.irs--flat .irs-single:before {
  display: none;
}

.irs--flat .irs-single::after {
  content: '%';
}

.irs-min, .irs-max {
  display: none;
}

.purple-block {
  background: #9c91c5;
  border-radius: 15px 15px 15px 0px;
  padding: 23px 30px;
  padding-right: 0;
  min-width: 316px;
  position: absolute;
  transform: translateY(-100%);
  top: -30px;
  z-index: 1;
  visibility: hidden;
  opacity: 0;
  transition-property: visibility, opacity;
  transition-duration: 0.3s;
  transition-timing-function: ease-in-out;
}

.purple-block.active {
  visibility: visible;
  opacity: 1;
}

.purple-block::before {
  content: '';
  display: block;
  border-style: solid;
  border-width: 11px 11.5px 0 11.5px;
  border-color: #9c91c5 transparent transparent transparent;
  position: absolute;
  left: 0;
  bottom: 0;
  transform: translateY(100%);
}

.purple-block__par {
  font-family: "Mont";
  font-size: 14px;
  font-weight: 400;
  color: #ffffff;
  line-height: 100%;
  letter-spacing: 0.01em;
  text-transform: none;
}

.purple-block__par:not(:last-child) {
  margin-bottom: 10px;
}

.icon--purple-block-close {
  width: 10px;
  height: 10px;
  cursor: pointer;
  position: absolute;
  top: 15px;
  right: 15px;
}

.stocks-news__header {
  text-align: center;
  margin-bottom: 30px;
}

@media (max-width: 767px) {
  .stocks-news__header {
    margin-bottom: 20px;
  }
}

.stocks-news__content {
  padding: 0 var(--lr-paddings);
}

.stocks-news__btn-wrapper {
  display: flex;
  align-items: flex-start;
  justify-content: center;
  flex-direction: row;
  margin-bottom: 50px;
}

@media (max-width: 767px) {
  .stocks-news__btn-wrapper {
    margin-bottom: 20px;
  }
}

.stocks-news__btn {
  width: 125px;
  height: 50px;
  background-color: transparent;
  font-weight: 400;
  font-size: 14px;
  line-height: 100%;
  text-transform: uppercase;
  color: #4a4a49;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-direction: row;
  text-decoration: none;
  border: 1px solid rgba(74, 58, 94, 0.15);
  outline: none;
  cursor: pointer;
  border-radius: 0;
  transition-property: color, background-color;
  transition-duration: 0.3s;
  transition-timing-function: ease-in-out;
  letter-spacing: 0.01em;
  text-transform: none;
}

@media (max-width: 767px) {
  .stocks-news__btn {
    height: 30px;
    width: 69px;
    font-size: 10px;
  }
}

@media screen and (min-width: 1025px) {
  .stocks-news__btn:hover {
    background-color: #4a3a5e;
    color: #ffffff;
  }
}

.stocks-news__btn.active {
  color: #f9f8fc;
  background-color: #4a3a5e;
}

.stocks-news__btn_left {
  border-radius: 100px 0px 0px 100px;
}

.stocks-news__btn_right {
  border-radius: 0px 100px 100px 0px;
}

.stocks-news__cards-wrapper {
  display: grid;
  grid-template: minmax(340px, 1fr)/repeat(3, 1fr);
  grid-auto-rows: minmax(340px, 1fr);
  grid-gap: 60px;
  margin-bottom: 100px;
}

@media (max-width: 1024px) {
  .stocks-news__cards-wrapper {
    grid-template-columns: 1fr;
    grid-auto-rows: minmax(216px, 1fr);
    grid-template-rows: min-content;
    grid-gap: 40px;
    margin-bottom: 40px;
  }
}

@media (max-width: 767px) {
  .stocks-news__cards-wrapper {
    grid-gap: 20px;
  }
}

.stocks-news__load-more-wrapper {
  display: flex;
  align-items: flex-start;
  justify-content: center;
  flex-direction: row;
}

.stocks-news__load-more-btn {
  width: 270px;
  height: 70px;
  background-color: #4a3a5e;
  font-weight: 400;
  font-size: 14px;
  line-height: 100%;
  text-transform: uppercase;
  color: #f9f8fc;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-direction: row;
  text-decoration: none;
  border: none;
  outline: none;
  cursor: pointer;
  border-radius: 100px;
}

@media (max-width: 767px) {
  .stocks-news__load-more-btn {
    width: 170px;
    height: 45px;
    font-size: 10px;
  }
}

@media screen and (min-width: 1025px) {
  .stocks-news__load-more-btn {
    transition: .25s ease-out;
  }
  .stocks-news__load-more-btn:hover {
    background-color: #9885b5;
  }
}

.icon--discount {
  position: absolute;
  top: 0;
  left: 0;
  width: 50px;
  height: 50px;
}

/*# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWFpbi5jc3MiLCJzb3VyY2VzIjpbIm1haW4uc2NzcyIsImFzc2V0cy92YXJzLnNjc3MiLCJhc3NldHMvc21hcnQtZ3JpZC5zY3NzIiwiYXNzZXRzL21lZGlhLXJ1bGVzLnNjc3MiLCJsaWJzLnNjc3MiLCIuLi9zY3JpcHRzL2xpYnMvc3dpcGVyL3N3aXBlci5jc3MiLCIuLi9zY3JpcHRzL2xpYnMvcmFuZ2VTbGlkZXIvY3NzL3JhbmdlU2xpZGVyLmNzcyIsImFzc2V0cy9taXhpbnMuc2NzcyIsImFzc2V0cy9mdW5jdGlvbnMuc2NzcyIsImFzc2V0cy9mb250cy5zY3NzIiwiYXNzZXRzL2Jhc2Uuc2NzcyIsImFzc2V0cy9hbmltYXRpb24uc2NzcyIsImFzc2V0cy9pbnRlcmZhY2Uuc2NzcyIsImFzc2V0cy9icmVhZGNydWJzLnNjc3MiLCJoZWFkZXIuc2NzcyIsImZvb3Rlci5zY3NzIiwiNDA0LnNjc3MiLCJsb2FkZXIuc2NzcyIsIm1lbnUuc2NzcyIsIi4uLy4uL3B1Zy9jb21wb25lbnRzL2Zvcm0vZm9ybS5zY3NzIiwiLi4vLi4vcHVnL2NvbXBvbmVudHMvdG9zdGVyL3Rvc3Rlci5zY3NzIiwiYXNzZXRzL3RlbXBsYXRlcy5zY3NzIiwicGFnZXMvYWJvdXQuc2NzcyIsInBhZ2VzL2NvbnRhY3RzLnNjc3MiLCJwYWdlcy9nYWxsZXJ5LnNjc3MiLCJwYWdlcy9ob21lLnNjc3MiLCJwYWdlcy9pbm5lci1zdG9ja3MtbmV3cy5zY3NzIiwicGFnZXMvcHJvZ3Jlc3Muc2NzcyIsInBhZ2VzL3N0b2Nrcy1uZXdzLnNjc3MiLCJwYWdlcy9zd2lwZXItcGFnZS5zY3NzIl0sInNvdXJjZXNDb250ZW50IjpbIkBpbXBvcnQgJy4vYXNzZXRzL3ZhcnMnOyAvLyDQv9C10YDQtdC80LXQvdC90YvQtVxuQGltcG9ydCAnLi9hc3NldHMvc21hcnQtZ3JpZCc7IC8vIG1peGlucyBzbWFydGdyaWQuanNcbkBpbXBvcnQgJy4vYXNzZXRzL21lZGlhLXJ1bGVzJztcbi8vIGxpYnJhcmllc1xuQGltcG9ydCAnLi9saWJzJztcblxuLy8gYXNzZXRzXG5AaW1wb3J0ICcuL2Fzc2V0cy9taXhpbnMnOyAvLyDQvNC40LrRgdC40L3Riy8qICAqL1xuQGltcG9ydCAnLi9hc3NldHMvZnVuY3Rpb25zJzsgLy8g0YTRg9C90LrRhtC40LhcbkBpbXBvcnQgJy4vYXNzZXRzL2ZvbnRzJzsgLy8g0YjRgNC40YTRgtGLXG5AaW1wb3J0ICcuL2Fzc2V0cy9iYXNlJzsgLy8g0L7QsdGJ0LjQtSDRgdGC0LjQu9C4XG5AaW1wb3J0ICcuL2Fzc2V0cy9hbmltYXRpb24nOyAvLyDQsNC90LjQvNCw0YbQuNC4XG4vLyBAaW1wb3J0ICcuL2Fzc2V0cy9jbGFzcyc7IC8vIG1haW4gc3R5bGVcbkBpbXBvcnQgJy4vYXNzZXRzL2ludGVyZmFjZSc7IC8vIG1haW4gc3R5bGVcbkBpbXBvcnQgJy4vYXNzZXRzL2JyZWFkY3J1YnMnOyAvLyBtYWluIHN0eWxlXG5cbi8vIHNhc3MgZGltYVxuQGltcG9ydCAnLi9oZWFkZXInO1xuQGltcG9ydCAnLi9mb290ZXInO1xuQGltcG9ydCAnLi80MDQnO1xuQGltcG9ydCAnLi9sb2FkZXInO1xuQGltcG9ydCAnLi9tZW51JztcblxuQGltcG9ydCAnLi4vLi4vcHVnL2NvbXBvbmVudHMvZm9ybS9mb3JtJztcbkBpbXBvcnQgJy4uLy4uL3B1Zy9jb21wb25lbnRzL3Rvc3Rlci90b3N0ZXInO1xuXG4vL0BpbXBvcnQgJ3BhZ2VzL2NvbnRhY3RzJztcbi8vQGltcG9ydCAncGFnZXMvY29udGFjdCc7XG4vL0BpbXBvcnQgJ3BhZ2VzL2hvbWUnO1xuQGltcG9ydCAnLi9hc3NldHMvdGVtcGxhdGVzJzsgLy8gbWFpbiBzdHlsZVxuIiwiLy8gQ29sb3JzXG4kd2hpdGUtY29sb3I6ICNmZmZmZmY7XG4kZ3JleUJnOiAjZTVlNWU1O1xuJGRhcmstdmlvbGV0OiAjNGEzYTVlO1xuJGxhdmFuZGVyOiAjOWM5MWM1O1xuJGxpZ2h0LWxhdmFuZGVyOiAjOTg4NWI1O1xuJGRhcmstZ3JleTogIzRhNGE0OTtcbiRsaWdodC1ncmV5OiAjZjlmOGZjO1xuJGhlYWRlcnMtY29sb3I6ICMxZjFmMWY7XG4kaGVhZGVycy1jb2xvci10d286ICMzMDMwMzA7XG4kdGV4dC1jb2xvcjogIzhhOGE4YTtcbiRzdG9ja3MtY29sb3I6ICMzMTMxMzE7XG4kYm9yZGVyLWNvbG9yOiAjYmJiYmJiO1xuJGRhdGUtY29sb3I6ICM5MTkxOTE7XG4kY29weXJpZ2h0LWNvbG9yOiAjZGVkZWRlO1xuJHRhYmxlLXAtY29sb3I6ICNlZmVmZWY7XG4kZ3JleS1saW5rLWJ0bjogIzdmNzM4ZTtcbiRib3R0b20tZm9vdGVyLXRleHQ6ICNiOGIxYmE7XG4kdGV4dC1jb2xvci00MDQ6ICMyZDJkMmQ7XG5cbiRmcmVzaC1ncmVlbjogIzljZmYwMDtcbiRob3Zlci1mcmVzaC1ncmVlbjogIzlkZmYwMDllO1xuXG4vL0ZvbnRzXG4kZGVmYXVsdC1mb250OiAnTW9udCc7XG4iLCIkY29sdW1uczogMTI7XG4kYXRvbTogKDEwMCUgLyAkY29sdW1ucyk7XG5cbiRicmVha19sZzogMTIwMHB4O1xuJGJyZWFrX21kOiA5OTJweDtcbiRicmVha19zbTogNzY4cHg7XG4kYnJlYWtfc3M6IDU3NnB4O1xuJGJyZWFrX3hzOiA1NjBweDtcblxuJG9mZnNldDogMjBweDtcbiRvZmZzZXRfbGc6ICRvZmZzZXQ7XG4kb2Zmc2V0X21kOiAkb2Zmc2V0O1xuJG9mZnNldF9zbTogJG9mZnNldDtcbiRvZmZzZXRfc3M6ICRvZmZzZXQ7XG4kb2Zmc2V0X3hzOiAkb2Zmc2V0O1xuXG4kb2Zmc2V0X29uZV9zaWRlOiAoJG9mZnNldCAvIDIpO1xuJG9mZnNldF9sZ19vbmVfc2lkZTogKCRvZmZzZXRfbGcgLyAyKTtcbiRvZmZzZXRfbWRfb25lX3NpZGU6ICgkb2Zmc2V0X21kIC8gMik7XG4kb2Zmc2V0X3NtX29uZV9zaWRlOiAoJG9mZnNldF9zbSAvIDIpO1xuJG9mZnNldF9zc19vbmVfc2lkZTogKCRvZmZzZXRfc3MgLyAyKTtcbiRvZmZzZXRfeHNfb25lX3NpZGU6ICgkb2Zmc2V0X3hzIC8gMik7XG5cbiRmaWVsZHM6IDMwcHg7XG4kZmllbGRzX3NzOiAxMHB4O1xuXG5AbWl4aW4gd3JhcHBlci1mdWxsKCkge1xuICBwYWRkaW5nLWxlZnQ6ICRmaWVsZHM7XG4gIHBhZGRpbmctcmlnaHQ6ICRmaWVsZHM7XG5cbiAgQGluY2x1ZGUgc3MtYmxvY2soKSB7XG4gICAgcGFkZGluZy1sZWZ0OiAkZmllbGRzX3NzO1xuICAgIHBhZGRpbmctcmlnaHQ6ICRmaWVsZHNfc3M7XG4gIH1cbn1cblxuQG1peGluIHJvdy1vZmZzZXRzKCkge1xuICBtYXJnaW4tbGVmdDogKCRvZmZzZXRfb25lX3NpZGUgKiAtMSk7XG4gIG1hcmdpbi1yaWdodDogKCRvZmZzZXRfb25lX3NpZGUgKiAtMSk7XG59XG5cbkBtaXhpbiBjb2wtb2Zmc2V0cygkdHlwZSkge1xuICAjeyR0eXBlfS1sZWZ0OiAkb2Zmc2V0X29uZV9zaWRlO1xuICAjeyR0eXBlfS1yaWdodDogJG9mZnNldF9vbmVfc2lkZTtcbn1cblxuQG1peGluIHdyYXBwZXIoKSB7XG4gIG1heC13aWR0aDogMTc2MHB4O1xuICBtYXJnaW46IDAgYXV0bztcbiAgQGluY2x1ZGUgd3JhcHBlci1mdWxsKCk7XG59XG5cbkBtaXhpbiByb3ctZmxleCgpIHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC13cmFwOiB3cmFwO1xuICBAaW5jbHVkZSByb3ctb2Zmc2V0cygpO1xufVxuXG5AbWl4aW4gcm93LWZsb2F0KCkge1xuICBAaW5jbHVkZSByb3ctb2Zmc2V0cygpO1xuICBAaW5jbHVkZSBjbGVhcmZpeCgpO1xufVxuXG5AbWl4aW4gcm93LWliKCkge1xuICBAaW5jbHVkZSByb3ctb2Zmc2V0cygpO1xufVxuXG5AbWl4aW4gY29sKCkge1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICB3b3JkLXdyYXA6IGJyZWFrLXdvcmQ7XG4gIEBpbmNsdWRlIGNvbC1vZmZzZXRzKG1hcmdpbik7XG59XG5cbkBtaXhpbiBjb2wtZmxvYXQoKSB7XG4gIGZsb2F0OiBsZWZ0O1xufVxuXG5AbWl4aW4gY29sLWliKCkge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHZlcnRpY2FsLWFsaWduOiB0b3A7XG59XG5cbkBtaXhpbiBjb2wtcGFkZGluZygpIHtcbiAgd29yZC13cmFwOiBicmVhay13b3JkO1xuICBAaW5jbHVkZSBjb2wtb2Zmc2V0cyhwYWRkaW5nKTtcbn1cblxuQG1peGluIHNpemUoJG4pIHtcbiAgJHZhbDogMTAwJSAvICRjb2x1bW5zICogJG47XG4gIHdpZHRoOiAje2NhbGMoI3skdmFsfSAtICN7JG9mZnNldH0pfTtcbn1cblxuQG1peGluIHNpemUtbGcoJG4pIHtcbiAgJHZhbDogMTAwJSAvICRjb2x1bW5zICogJG47XG4gIEBpbmNsdWRlIGxnKHdpZHRoLCAje2NhbGMoI3skdmFsfSAtICN7JG9mZnNldF9sZ30pfSk7XG59XG5cbkBtaXhpbiBzaXplLW1kKCRuKSB7XG4gICR2YWw6IDEwMCUgLyAkY29sdW1ucyAqICRuO1xuICBAaW5jbHVkZSBtZCh3aWR0aCwgI3tjYWxjKCN7JHZhbH0gLSAjeyRvZmZzZXRfbWR9KX0pO1xufVxuXG5AbWl4aW4gc2l6ZS1zbSgkbikge1xuICAkdmFsOiAxMDAlIC8gJGNvbHVtbnMgKiAkbjtcbiAgQGluY2x1ZGUgc20od2lkdGgsICN7Y2FsYygjeyR2YWx9IC0gI3skb2Zmc2V0X3NtfSl9KTtcbn1cblxuQG1peGluIHNpemUtc3MoJG4pIHtcbiAgJHZhbDogMTAwJSAvICRjb2x1bW5zICogJG47XG4gIEBpbmNsdWRlIHNzKHdpZHRoLCAje2NhbGMoI3skdmFsfSAtICN7JG9mZnNldF9zc30pfSk7XG59XG5cbkBtaXhpbiBzaXplLXhzKCRuKSB7XG4gICR2YWw6IDEwMCUgLyAkY29sdW1ucyAqICRuO1xuICBAaW5jbHVkZSB4cyh3aWR0aCwgI3tjYWxjKCN7JHZhbH0gLSAjeyRvZmZzZXRfeHN9KX0pO1xufVxuXG5AbWl4aW4gc2hpZnQoJG4pIHtcbiAgJHZhbDogMTAwJSAvICRjb2x1bW5zICogJG47XG4gIG1hcmdpbi1sZWZ0OiAje2NhbGMoI3skdmFsfSArICN7JG9mZnNldF9vbmVfc2lkZX0pfTtcbiAgbWFyZ2luLXJpZ2h0OiAje2NhbGMoI3skdmFsfSArICN7JG9mZnNldF9vbmVfc2lkZX0pfTtcbn1cblxuQG1peGluIHNoaWZ0LWxlZnQoJG4pIHtcbiAgJHZhbDogMTAwJSAvICRjb2x1bW5zICogJG47XG4gIG1hcmdpbi1sZWZ0OiAje2NhbGMoI3skdmFsfSArICN7JG9mZnNldF9vbmVfc2lkZX0pfTtcbn1cblxuQG1peGluIHNoaWZ0LXJpZ2h0KCRuKSB7XG4gICR2YWw6IDEwMCUgLyAkY29sdW1ucyAqICRuO1xuICBtYXJnaW4tcmlnaHQ6ICN7Y2FsYygjeyR2YWx9ICsgI3skb2Zmc2V0X29uZV9zaWRlfSl9O1xufVxuXG5AbWl4aW4gc2hpZnQtcGFkZGluZygkbikge1xuICAkdmFsOiAxMDAlIC8gJGNvbHVtbnMgKiAkbjtcbiAgcGFkZGluZy1sZWZ0OiAje2NhbGMoI3skdmFsfSArICN7JG9mZnNldF9vbmVfc2lkZX0pfTtcbiAgcGFkZGluZy1yaWdodDogI3tjYWxjKCN7JHZhbH0gKyAjeyRvZmZzZXRfb25lX3NpZGV9KX07XG59XG5cbkBtaXhpbiBzaGlmdC1wYWRkaW5nLWxlZnQoJG4pIHtcbiAgJHZhbDogMTAwJSAvICRjb2x1bW5zICogJG47XG4gIHBhZGRpbmctbGVmdDogI3tjYWxjKCN7JHZhbH0gKyAjeyRvZmZzZXRfb25lX3NpZGV9KX07XG59XG5cbkBtaXhpbiBzaGlmdC1wYWRkaW5nLXJpZ2h0KCRuKSB7XG4gICR2YWw6IDEwMCUgLyAkY29sdW1ucyAqICRuO1xuICBwYWRkaW5nLXJpZ2h0OiAje2NhbGMoI3skdmFsfSArICN7JG9mZnNldF9vbmVfc2lkZX0pfTtcbn1cblxuQG1peGluIHNoaWZ0LWxnKCRuKSB7XG4gICR2YWw6IDEwMCUgLyAkY29sdW1ucyAqICRuO1xuICBAaW5jbHVkZSBsZyhtYXJnaW4tbGVmdCwgI3tjYWxjKCN7JHZhbH0gKyAjeyRvZmZzZXRfbGdfb25lX3NpZGV9KX0pO1xuICBAaW5jbHVkZSBsZyhtYXJnaW4tcmlnaHQsICN7Y2FsYygjeyR2YWx9ICsgI3skb2Zmc2V0X2xnX29uZV9zaWRlfSl9KTtcbn1cblxuQG1peGluIHNoaWZ0LWxnLWxlZnQoJG4pIHtcbiAgJHZhbDogMTAwJSAvICRjb2x1bW5zICogJG47XG4gIEBpbmNsdWRlIGxnKG1hcmdpbi1sZWZ0LCAje2NhbGMoI3skdmFsfSArICN7JG9mZnNldF9sZ19vbmVfc2lkZX0pfSk7XG59XG5cbkBtaXhpbiBzaGlmdC1sZy1yaWdodCgkbikge1xuICAkdmFsOiAxMDAlIC8gJGNvbHVtbnMgKiAkbjtcbiAgQGluY2x1ZGUgbGcobWFyZ2luLXJpZ2h0LCAje2NhbGMoI3skdmFsfSArICN7JG9mZnNldF9sZ19vbmVfc2lkZX0pfSk7XG59XG5cbkBtaXhpbiBzaGlmdC1sZy1wYWRkaW5nKCRuKSB7XG4gICR2YWw6IDEwMCUgLyAkY29sdW1ucyAqICRuO1xuICBAaW5jbHVkZSBsZyhwYWRkaW5nLWxlZnQsICN7Y2FsYygjeyR2YWx9ICsgI3skb2Zmc2V0X2xnX29uZV9zaWRlfSl9KTtcbiAgQGluY2x1ZGUgbGcocGFkZGluZy1yaWdodCwgI3tjYWxjKCN7JHZhbH0gKyAjeyRvZmZzZXRfbGdfb25lX3NpZGV9KX0pO1xufVxuXG5AbWl4aW4gc2hpZnQtbGctcGFkZGluZy1sZWZ0KCRuKSB7XG4gICR2YWw6IDEwMCUgLyAkY29sdW1ucyAqICRuO1xuICBAaW5jbHVkZSBsZyhwYWRkaW5nLWxlZnQsICN7Y2FsYygjeyR2YWx9ICsgI3skb2Zmc2V0X2xnX29uZV9zaWRlfSl9KTtcbn1cblxuQG1peGluIHNoaWZ0LWxnLXBhZGRpbmctcmlnaHQoJG4pIHtcbiAgJHZhbDogMTAwJSAvICRjb2x1bW5zICogJG47XG4gIEBpbmNsdWRlIGxnKHBhZGRpbmctcmlnaHQsICN7Y2FsYygjeyR2YWx9ICsgI3skb2Zmc2V0X2xnX29uZV9zaWRlfSl9KTtcbn1cblxuQG1peGluIHNoaWZ0LW1kKCRuKSB7XG4gICR2YWw6IDEwMCUgLyAkY29sdW1ucyAqICRuO1xuICBAaW5jbHVkZSBtZChtYXJnaW4tbGVmdCwgI3tjYWxjKCN7JHZhbH0gKyAjeyRvZmZzZXRfbWRfb25lX3NpZGV9KX0pO1xuICBAaW5jbHVkZSBtZChtYXJnaW4tcmlnaHQsICN7Y2FsYygjeyR2YWx9ICsgI3skb2Zmc2V0X21kX29uZV9zaWRlfSl9KTtcbn1cblxuQG1peGluIHNoaWZ0LW1kLWxlZnQoJG4pIHtcbiAgJHZhbDogMTAwJSAvICRjb2x1bW5zICogJG47XG4gIEBpbmNsdWRlIG1kKG1hcmdpbi1sZWZ0LCAje2NhbGMoI3skdmFsfSArICN7JG9mZnNldF9tZF9vbmVfc2lkZX0pfSk7XG59XG5cbkBtaXhpbiBzaGlmdC1tZC1yaWdodCgkbikge1xuICAkdmFsOiAxMDAlIC8gJGNvbHVtbnMgKiAkbjtcbiAgQGluY2x1ZGUgbWQobWFyZ2luLXJpZ2h0LCAje2NhbGMoI3skdmFsfSArICN7JG9mZnNldF9tZF9vbmVfc2lkZX0pfSk7XG59XG5cbkBtaXhpbiBzaGlmdC1tZC1wYWRkaW5nKCRuKSB7XG4gICR2YWw6IDEwMCUgLyAkY29sdW1ucyAqICRuO1xuICBAaW5jbHVkZSBtZChwYWRkaW5nLWxlZnQsICN7Y2FsYygjeyR2YWx9ICsgI3skb2Zmc2V0X21kX29uZV9zaWRlfSl9KTtcbiAgQGluY2x1ZGUgbWQocGFkZGluZy1yaWdodCwgI3tjYWxjKCN7JHZhbH0gKyAjeyRvZmZzZXRfbWRfb25lX3NpZGV9KX0pO1xufVxuXG5AbWl4aW4gc2hpZnQtbWQtcGFkZGluZy1sZWZ0KCRuKSB7XG4gICR2YWw6IDEwMCUgLyAkY29sdW1ucyAqICRuO1xuICBAaW5jbHVkZSBtZChwYWRkaW5nLWxlZnQsICN7Y2FsYygjeyR2YWx9ICsgI3skb2Zmc2V0X21kX29uZV9zaWRlfSl9KTtcbn1cblxuQG1peGluIHNoaWZ0LW1kLXBhZGRpbmctcmlnaHQoJG4pIHtcbiAgJHZhbDogMTAwJSAvICRjb2x1bW5zICogJG47XG4gIEBpbmNsdWRlIG1kKHBhZGRpbmctcmlnaHQsICN7Y2FsYygjeyR2YWx9ICsgI3skb2Zmc2V0X21kX29uZV9zaWRlfSl9KTtcbn1cblxuQG1peGluIHNoaWZ0LXNtKCRuKSB7XG4gICR2YWw6IDEwMCUgLyAkY29sdW1ucyAqICRuO1xuICBAaW5jbHVkZSBzbShtYXJnaW4tbGVmdCwgI3tjYWxjKCN7JHZhbH0gKyAjeyRvZmZzZXRfc21fb25lX3NpZGV9KX0pO1xuICBAaW5jbHVkZSBzbShtYXJnaW4tcmlnaHQsICN7Y2FsYygjeyR2YWx9ICsgI3skb2Zmc2V0X3NtX29uZV9zaWRlfSl9KTtcbn1cblxuQG1peGluIHNoaWZ0LXNtLWxlZnQoJG4pIHtcbiAgJHZhbDogMTAwJSAvICRjb2x1bW5zICogJG47XG4gIEBpbmNsdWRlIHNtKG1hcmdpbi1sZWZ0LCAje2NhbGMoI3skdmFsfSArICN7JG9mZnNldF9zbV9vbmVfc2lkZX0pfSk7XG59XG5cbkBtaXhpbiBzaGlmdC1zbS1yaWdodCgkbikge1xuICAkdmFsOiAxMDAlIC8gJGNvbHVtbnMgKiAkbjtcbiAgQGluY2x1ZGUgc20obWFyZ2luLXJpZ2h0LCAje2NhbGMoI3skdmFsfSArICN7JG9mZnNldF9zbV9vbmVfc2lkZX0pfSk7XG59XG5cbkBtaXhpbiBzaGlmdC1zbS1wYWRkaW5nKCRuKSB7XG4gICR2YWw6IDEwMCUgLyAkY29sdW1ucyAqICRuO1xuICBAaW5jbHVkZSBzbShwYWRkaW5nLWxlZnQsICN7Y2FsYygjeyR2YWx9ICsgI3skb2Zmc2V0X3NtX29uZV9zaWRlfSl9KTtcbiAgQGluY2x1ZGUgc20ocGFkZGluZy1yaWdodCwgI3tjYWxjKCN7JHZhbH0gKyAjeyRvZmZzZXRfc21fb25lX3NpZGV9KX0pO1xufVxuXG5AbWl4aW4gc2hpZnQtc20tcGFkZGluZy1sZWZ0KCRuKSB7XG4gICR2YWw6IDEwMCUgLyAkY29sdW1ucyAqICRuO1xuICBAaW5jbHVkZSBzbShwYWRkaW5nLWxlZnQsICN7Y2FsYygjeyR2YWx9ICsgI3skb2Zmc2V0X3NtX29uZV9zaWRlfSl9KTtcbn1cblxuQG1peGluIHNoaWZ0LXNtLXBhZGRpbmctcmlnaHQoJG4pIHtcbiAgJHZhbDogMTAwJSAvICRjb2x1bW5zICogJG47XG4gIEBpbmNsdWRlIHNtKHBhZGRpbmctcmlnaHQsICN7Y2FsYygjeyR2YWx9ICsgI3skb2Zmc2V0X3NtX29uZV9zaWRlfSl9KTtcbn1cblxuQG1peGluIHNoaWZ0LXNzKCRuKSB7XG4gICR2YWw6IDEwMCUgLyAkY29sdW1ucyAqICRuO1xuICBAaW5jbHVkZSBzcyhtYXJnaW4tbGVmdCwgI3tjYWxjKCN7JHZhbH0gKyAjeyRvZmZzZXRfc3Nfb25lX3NpZGV9KX0pO1xuICBAaW5jbHVkZSBzcyhtYXJnaW4tcmlnaHQsICN7Y2FsYygjeyR2YWx9ICsgI3skb2Zmc2V0X3NzX29uZV9zaWRlfSl9KTtcbn1cblxuQG1peGluIHNoaWZ0LXNzLWxlZnQoJG4pIHtcbiAgJHZhbDogMTAwJSAvICRjb2x1bW5zICogJG47XG4gIEBpbmNsdWRlIHNzKG1hcmdpbi1sZWZ0LCAje2NhbGMoI3skdmFsfSArICN7JG9mZnNldF9zc19vbmVfc2lkZX0pfSk7XG59XG5cbkBtaXhpbiBzaGlmdC1zcy1yaWdodCgkbikge1xuICAkdmFsOiAxMDAlIC8gJGNvbHVtbnMgKiAkbjtcbiAgQGluY2x1ZGUgc3MobWFyZ2luLXJpZ2h0LCAje2NhbGMoI3skdmFsfSArICN7JG9mZnNldF9zc19vbmVfc2lkZX0pfSk7XG59XG5cbkBtaXhpbiBzaGlmdC1zcy1wYWRkaW5nKCRuKSB7XG4gICR2YWw6IDEwMCUgLyAkY29sdW1ucyAqICRuO1xuICBAaW5jbHVkZSBzcyhwYWRkaW5nLWxlZnQsICN7Y2FsYygjeyR2YWx9ICsgI3skb2Zmc2V0X3NzX29uZV9zaWRlfSl9KTtcbiAgQGluY2x1ZGUgc3MocGFkZGluZy1yaWdodCwgI3tjYWxjKCN7JHZhbH0gKyAjeyRvZmZzZXRfc3Nfb25lX3NpZGV9KX0pO1xufVxuXG5AbWl4aW4gc2hpZnQtc3MtcGFkZGluZy1sZWZ0KCRuKSB7XG4gICR2YWw6IDEwMCUgLyAkY29sdW1ucyAqICRuO1xuICBAaW5jbHVkZSBzcyhwYWRkaW5nLWxlZnQsICN7Y2FsYygjeyR2YWx9ICsgI3skb2Zmc2V0X3NzX29uZV9zaWRlfSl9KTtcbn1cblxuQG1peGluIHNoaWZ0LXNzLXBhZGRpbmctcmlnaHQoJG4pIHtcbiAgJHZhbDogMTAwJSAvICRjb2x1bW5zICogJG47XG4gIEBpbmNsdWRlIHNzKHBhZGRpbmctcmlnaHQsICN7Y2FsYygjeyR2YWx9ICsgI3skb2Zmc2V0X3NzX29uZV9zaWRlfSl9KTtcbn1cblxuQG1peGluIHNoaWZ0LXhzKCRuKSB7XG4gICR2YWw6IDEwMCUgLyAkY29sdW1ucyAqICRuO1xuICBAaW5jbHVkZSB4cyhtYXJnaW4tbGVmdCwgI3tjYWxjKCN7JHZhbH0gKyAjeyRvZmZzZXRfeHNfb25lX3NpZGV9KX0pO1xuICBAaW5jbHVkZSB4cyhtYXJnaW4tcmlnaHQsICN7Y2FsYygjeyR2YWx9ICsgI3skb2Zmc2V0X3hzX29uZV9zaWRlfSl9KTtcbn1cblxuQG1peGluIHNoaWZ0LXhzLWxlZnQoJG4pIHtcbiAgJHZhbDogMTAwJSAvICRjb2x1bW5zICogJG47XG4gIEBpbmNsdWRlIHhzKG1hcmdpbi1sZWZ0LCAje2NhbGMoI3skdmFsfSArICN7JG9mZnNldF94c19vbmVfc2lkZX0pfSk7XG59XG5cbkBtaXhpbiBzaGlmdC14cy1yaWdodCgkbikge1xuICAkdmFsOiAxMDAlIC8gJGNvbHVtbnMgKiAkbjtcbiAgQGluY2x1ZGUgeHMobWFyZ2luLXJpZ2h0LCAje2NhbGMoI3skdmFsfSArICN7JG9mZnNldF94c19vbmVfc2lkZX0pfSk7XG59XG5cbkBtaXhpbiBzaGlmdC14cy1wYWRkaW5nKCRuKSB7XG4gICR2YWw6IDEwMCUgLyAkY29sdW1ucyAqICRuO1xuICBAaW5jbHVkZSB4cyhwYWRkaW5nLWxlZnQsICN7Y2FsYygjeyR2YWx9ICsgI3skb2Zmc2V0X3hzX29uZV9zaWRlfSl9KTtcbiAgQGluY2x1ZGUgeHMocGFkZGluZy1yaWdodCwgI3tjYWxjKCN7JHZhbH0gKyAjeyRvZmZzZXRfeHNfb25lX3NpZGV9KX0pO1xufVxuXG5AbWl4aW4gc2hpZnQteHMtcGFkZGluZy1sZWZ0KCRuKSB7XG4gICR2YWw6IDEwMCUgLyAkY29sdW1ucyAqICRuO1xuICBAaW5jbHVkZSB4cyhwYWRkaW5nLWxlZnQsICN7Y2FsYygjeyR2YWx9ICsgI3skb2Zmc2V0X3hzX29uZV9zaWRlfSl9KTtcbn1cblxuQG1peGluIHNoaWZ0LXhzLXBhZGRpbmctcmlnaHQoJG4pIHtcbiAgJHZhbDogMTAwJSAvICRjb2x1bW5zICogJG47XG4gIEBpbmNsdWRlIHhzKHBhZGRpbmctcmlnaHQsICN7Y2FsYygjeyR2YWx9ICsgI3skb2Zmc2V0X3hzX29uZV9zaWRlfSl9KTtcbn1cblxuQG1peGluIGxnKCRuYW1lLCAkdmFsdWUpIHtcbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogJGJyZWFrX2xnKSB7XG4gICAgI3skbmFtZX06ICR2YWx1ZTtcbiAgfVxufVxuXG5AbWl4aW4gbGctYmxvY2soKSB7XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6ICRicmVha19sZykge1xuICAgIEBjb250ZW50O1xuICB9XG59XG5cbkBtaXhpbiBtZCgkbmFtZSwgJHZhbHVlKSB7XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6ICRicmVha19tZCkge1xuICAgICN7JG5hbWV9OiAkdmFsdWU7XG4gIH1cbn1cblxuQG1peGluIG1kLWJsb2NrKCkge1xuICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAkYnJlYWtfbWQpIHtcbiAgICBAY29udGVudDtcbiAgfVxufVxuXG5AbWl4aW4gc20oJG5hbWUsICR2YWx1ZSkge1xuICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAkYnJlYWtfc20pIHtcbiAgICAjeyRuYW1lfTogJHZhbHVlO1xuICB9XG59XG5cbkBtaXhpbiBzbS1ibG9jaygpIHtcbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogJGJyZWFrX3NtKSB7XG4gICAgQGNvbnRlbnQ7XG4gIH1cbn1cblxuQG1peGluIHNzKCRuYW1lLCAkdmFsdWUpIHtcbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogJGJyZWFrX3NzKSB7XG4gICAgI3skbmFtZX06ICR2YWx1ZTtcbiAgfVxufVxuXG5AbWl4aW4gc3MtYmxvY2soKSB7XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6ICRicmVha19zcykge1xuICAgIEBjb250ZW50O1xuICB9XG59XG5cbkBtaXhpbiB4cygkbmFtZSwgJHZhbHVlKSB7XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6ICRicmVha194cykge1xuICAgICN7JG5hbWV9OiAkdmFsdWU7XG4gIH1cbn1cblxuQG1peGluIHhzLWJsb2NrKCkge1xuICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAkYnJlYWtfeHMpIHtcbiAgICBAY29udGVudDtcbiAgfVxufVxuXG5AbWl4aW4gZnJvbSgkbWluX3dpZHRoKSB7XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6ICRtaW5fd2lkdGgpIHtcbiAgICBAY29udGVudDtcbiAgfVxufVxuXG5AbWl4aW4gdG8oJG1heF93aWR0aCkge1xuICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAkbWF4X3dpZHRoKSB7XG4gICAgQGNvbnRlbnQ7XG4gIH1cbn1cblxuQG1peGluIGZyb20tdG8oJG1pbl93aWR0aCwgJG1heF93aWR0aCkge1xuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAkbWluX3dpZHRoKSBhbmQgKG1heC13aWR0aDogJG1heF93aWR0aCkge1xuICAgIEBjb250ZW50O1xuICB9XG59XG5cbkBtaXhpbiB1LXJvdy1mbGV4KCRvZmZzZXQpIHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC13cmFwOiB3cmFwO1xuICBtYXJnaW4tbGVmdDogKCRvZmZzZXQgLyAtMik7XG4gIG1hcmdpbi1yaWdodDogKCRvZmZzZXQgLyAtMik7XG59XG5cbkBtaXhpbiB1LWNvbCgkb2Zmc2V0KSB7XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gIHdvcmQtd3JhcDogYnJlYWstd29yZDtcbiAgbWFyZ2luLWxlZnQ6ICgkb2Zmc2V0IC8gMik7XG4gIG1hcmdpbi1yaWdodDogKCRvZmZzZXQgLyAyKTtcbn1cblxuQG1peGluIHUtc2l6ZSgkbiwgJGNvbHVtbnMsICRvZmZzZXQpIHtcbiAgd2lkdGg6ICN7Y2FsYygxMDAlIC8gI3skY29sdW1uc30gKiAjeyRufSAtICN7JG9mZnNldH0pfTtcbn1cblxuQG1peGluIHJlc2V0KCkge1xuICBib2R5LFxuICBkaXYsXG4gIGRsLFxuICBkdCxcbiAgZGQsXG4gIHVsLFxuICBsaSxcbiAgaDEsXG4gIGgyLFxuICBoMyxcbiAgaDQsXG4gIGg1LFxuICBoNixcbiAgcHJlLFxuICBjb2RlLFxuICBmb3JtLFxuICBmaWVsZHNldCxcbiAgZmlndXJlLFxuICBpbnB1dCxcbiAgdGV4dGFyZWEsXG4gIHAsXG4gIGJsb2NrcXVvdGUsXG4gIHRoLFxuICB0ZCB7XG4gICAgbWFyZ2luOiAwO1xuICAgIHBhZGRpbmc6IDA7XG4gIH1cbiAgdGFibGUge1xuICAgIGJvcmRlci1jb2xsYXBzZTogY29sbGFwc2U7XG4gICAgYm9yZGVyLXNwYWNpbmc6IDA7XG4gIH1cbiAgZmllbGRzZXQsXG4gIGltZyxcbiAgYWJiciB7XG4gICAgYm9yZGVyOiAwO1xuICB9XG4gIGFkZHJlc3MsXG4gIGNhcHRpb24sXG4gIGNpdGUsXG4gIGNvZGUsXG4gIGRmbixcbiAgZW0sXG4gIHN0cm9uZyxcbiAgdGgsXG4gIHZhciB7XG4gICAgZm9udC1zdHlsZTogbm9ybWFsO1xuICAgIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gIH1cbiAgdWwgbGkge1xuICAgIGxpc3Qtc3R5bGU6IG5vbmU7XG4gIH1cbiAgY2FwdGlvbixcbiAgdGgge1xuICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gIH1cbiAgaDEsXG4gIGgyLFxuICBoMyxcbiAgaDQsXG4gIGg1LFxuICBoNiB7XG4gICAgZm9udC1zaXplOiAxMDAlO1xuICAgIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gIH1cbiAgc3VwIHtcbiAgICB2ZXJ0aWNhbC1hbGlnbjogdGV4dC10b3A7XG4gIH1cbiAgc3ViIHtcbiAgICB2ZXJ0aWNhbC1hbGlnbjogdGV4dC1ib3R0b207XG4gIH1cbiAgaW5wdXQsXG4gIHRleHRhcmVhLFxuICBzZWxlY3Qge1xuICAgIGZvbnQtZmFtaWx5OiBpbmhlcml0O1xuICAgIGZvbnQtc2l6ZTogaW5oZXJpdDtcbiAgICBmb250LXdlaWdodDogaW5oZXJpdDtcbiAgfVxuICBsZWdlbmQge1xuICAgIGNvbG9yOiAjMDAwO1xuICB9XG4gIGFydGljbGUsXG4gIGFzaWRlLFxuICBkZXRhaWxzLFxuICBmaWdjYXB0aW9uLFxuICBmaWd1cmUsXG4gIGZvb3RlcixcbiAgaGVhZGVyLFxuICBoZ3JvdXAsXG4gIG1lbnUsXG4gIG5hdixcbiAgc2VjdGlvbixcbiAgbWFpbiB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gIH1cbiAgLy8gaW1ne1xuICAvLyAgICAgbWF4LXdpZHRoOiAxMDAlO1xuICAvLyAgICAgaGVpZ2h0OiBhdXRvO1xuICAvLyB9XG59XG5cbkBtaXhpbiBkZWJ1ZygkYmFja2dyb3VuZCwgJG91dGxpbmUpIHtcbiAgaGVpZ2h0OiAxMDB2aDtcbiAgcG9zaXRpb246IGZpeGVkO1xuICB3aWR0aDogMTAwJTtcblxuICA+IGRpdiB7XG4gICAgaGVpZ2h0OiBpbmhlcml0O1xuICAgIEBpbmNsdWRlIHdyYXBwZXIoKTtcblxuICAgID4gZGl2IHtcbiAgICAgIGhlaWdodDogaW5oZXJpdDtcbiAgICAgIEBpbmNsdWRlIHJvdy1mbGV4KCk7XG5cbiAgICAgID4gZGl2IHtcbiAgICAgICAgQGluY2x1ZGUgY29sKCk7XG4gICAgICAgIEBpbmNsdWRlIHNpemUoMSk7XG4gICAgICAgIGhlaWdodDogaW5oZXJpdDtcbiAgICAgICAgb3V0bGluZTogJG91dGxpbmU7XG4gICAgICAgIGJhY2tncm91bmQ6ICRiYWNrZ3JvdW5kO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG5AbWl4aW4gY2xlYXJmaXgoKSB7XG4gICY6OmFmdGVyIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBjb250ZW50OiAnJztcbiAgICBjbGVhcjogYm90aDtcbiAgfVxufVxuIiwiJHhzOiA3NjdweDtcbiRub3RlYm9vazogMTM2MHB4O1xuJHNtOiAxMDI0cHg7XG4kbWQ6IDE5MjBweDtcblxuQG1peGluIG1lZGlhKCRzaXplKSB7XG4gIEBtZWRpYSAobWF4LXdpZHRoOiAkc2l6ZSkge1xuICAgIEBjb250ZW50O1xuICB9XG59XG5cbkBtaXhpbiBtb2JpbGUge1xuICBAaW5jbHVkZSBtZWRpYSgkeHMpIHtcbiAgICBAY29udGVudDtcbiAgfVxufVxuXG5AbWl4aW4gdGFibGV0IHtcbiAgQGluY2x1ZGUgbWVkaWEoJHNtKSB7XG4gICAgQGNvbnRlbnQ7XG4gIH1cbn1cblxuQG1peGluIG5vdGVib29rIHtcbiAgQGluY2x1ZGUgbWVkaWEoJG5vdGVib29rKSB7XG4gICAgQGNvbnRlbnQ7XG4gIH1cbn1cbkBtaXhpbiB0YWJsZXRMYXJnZSB7XG4gIEBpbmNsdWRlIG1lZGlhKCRtZCkge1xuICAgIEBjb250ZW50O1xuICB9XG59XG4iLCJAaW1wb3J0ICcuLi9zY3JpcHRzL2xpYnMvc3dpcGVyL3N3aXBlcic7XG5AaW1wb3J0ICcuLi9zY3JpcHRzL2xpYnMvcmFuZ2VTbGlkZXIvY3NzL3JhbmdlU2xpZGVyJztcbiIsIi8qKlxuICogU3dpcGVyIDYuNS43XG4gKiBNb3N0IG1vZGVybiBtb2JpbGUgdG91Y2ggc2xpZGVyIGFuZCBmcmFtZXdvcmsgd2l0aCBoYXJkd2FyZSBhY2NlbGVyYXRlZCB0cmFuc2l0aW9uc1xuICogaHR0cHM6Ly9zd2lwZXJqcy5jb21cbiAqXG4gKiBDb3B5cmlnaHQgMjAxNC0yMDIxIFZsYWRpbWlyIEtoYXJsYW1waWRpXG4gKlxuICogUmVsZWFzZWQgdW5kZXIgdGhlIE1JVCBMaWNlbnNlXG4gKlxuICogUmVsZWFzZWQgb246IEFwcmlsIDE2LCAyMDIxXG4gKi9cblxuQGZvbnQtZmFjZSB7XG4gIGZvbnQtZmFtaWx5OiAnc3dpcGVyLWljb25zJztcbiAgc3JjOiB1cmwoJ2RhdGE6YXBwbGljYXRpb24vZm9udC13b2ZmO2NoYXJzZXQ9dXRmLTg7YmFzZTY0LCBkMDlHUmdBQkFBQUFBQVpnQUJBQUFBQUFEQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQkdSbFJOQUFBR1JBQUFBQm9BQUFBY2k2cUhrVWRFUlVZQUFBV2dBQUFBSXdBQUFDUUFZQUJYUjFCUFV3QUFCaFFBQUFBdUFBQUFOdUFZNyt4SFUxVkNBQUFGeEFBQUFGQUFBQUJtMmZQY3pVOVRMeklBQUFIY0FBQUFTZ0FBQUdCUDlWNVJZMjFoY0FBQUFrUUFBQUNJQUFBQll0NkYwY0JqZG5RZ0FBQUN6QUFBQUFRQUFBQUVBQkVCUkdkaGMzQUFBQVdZQUFBQUNBQUFBQWovL3dBRFoyeDVaZ0FBQXl3QUFBRE1BQUFEMk1IdHJ5Vm9aV0ZrQUFBQmJBQUFBREFBQUFBMkUyK2VvV2hvWldFQUFBR2NBQUFBSHdBQUFDUUM5Z0R6YUcxMGVBQUFBaWdBQUFBWkFBQUFyZ0prQUJGc2IyTmhBQUFDMEFBQUFGb0FBQUJhRlFBVUdHMWhlSEFBQUFHOEFBQUFId0FBQUNBQWNBQkFibUZ0WlFBQUEvZ0FBQUU1QUFBQ1h2RmRCd2x3YjNOMEFBQUZOQUFBQUdJQUFBQ0U1czc0aFhqYVkyQmtZR0FBWXBmNUh1L2orVzIrTW5Bek1ZREF6YVg2UWpENi80Ly9CeGo1R0E4QXVSd01ZR2tBUHl3TDEzamFZMkJrWUdBODhQOEFneDRqKy84ZlFEWWZBMUFFQldnREFJQjJCT29BZU5wallHUmdZTkJoNEdkZ1lnQUJFTW5JQUJKellOQURDUUFBQ1dnQXNRQjQybU5nWWZ6Q09JR0JsWUdCMFljeGpZR0J3UjFLZjJXUVpHaGhZR0JpWUdWbWdBRkdCaVFRa09hYXd0REFvTUJReFhqZy93RUdQY1lEREE0d05VQTJDQ2d3c0FBQU80RUw2Z0FBZU5wajJNMGd5QUFDcXhnR05XQmtaMkQ0L3dNQSt4a0RkZ0FBQUhqYVkyQmdZR2FBWUJrR1JnWVFpQUh5R01GOEZnWUhJTTNEd01IQUJHUXJNT2d5V0RMRU0xVDkvdzhVQmZFTWdMekUvLy8vUC81Ly9mL1YveHYrcjRlYUFBZU1iQXh3SVVZbUlNSEVnS1lBWWpVY3NEQXdzTEt4YzNCeWNmUHc4akVRQS9nWkJBU0ZoRVZFeGNRbEpLV2taV1RsNUJVVWxaUlZWTlhVTlRRWkJnTUFBTVIrRStnQUVRRkVBQUFBS2dBcUFDb0FOQUErQUVnQVVnQmNBR1lBY0FCNkFJUUFqZ0NZQUtJQXJBQzJBTUFBeWdEVUFONEE2QUR5QVB3QkJnRVFBUm9CSkFFdUFUZ0JRZ0ZNQVZZQllBRnFBWFFCZmdHSUFaSUJuQUdtQWJJQnpnSHNBQUI0MnUyTk1RNkNVQXlHVzU2OHg5QW5lWVlnbTRNSmJoS0ZhRXhJT0FWWDhBcGV3U3Q0QmljNEFmZUFpZDNWT0JpeER4ZlBZRXphNU8rWGZpMDRZQURnZ2lVSVVMQ3VFSks4VmhPNGJTdnBkbmt0SEk1UUNZdGRpMnNsOFpuWGFIbHFVck5LemRLY1Q4Y2pscStyd1pTdklWY3pOaWV6c2ZuUC91em5tZlBGQk5PRE0ySzdNVFE0NVlFQVpxR1A4MUFtR0djRjNpUHFPb3AwcjFTUFRhVGJWa2ZVZTRIWGo5N3dZRSt5TndXWXh3V3U0djF1Z1dIZ28zUzFYZFpFVnFXTTdFVDBjZm5MR3hXZmtnUjQybzJQdldyRE1CU0ZqL0lITGFGMHpLalJnZGlWTXdTY05SQW9XVW9INzhZMmljQi95SVkwOUFuNkFIMkJkdS9VQit5eG9wWXNoUWlFdm52dTBkVVJnRHQ4UWVDOFBEdzdGcGppM2ZFQTR6L1BFSjZZT0I1aEtoNGRqM0V2WGh4UHFIL1NLVVkzcko3c3JaNEZabmgxUE1BdFBod1A2ZmwyUE1KTVBEZ2VRNHJZOFlUNkd6YW8wZUFFQTQwOUR1Z2dtVG5Gbk9jU0NpRWlMTWd4Q2lUSTZDcTVEWlVkM1FtcDEwdk8wTGFMVGQyY2pONGZPdW1sYzdsVVliU1FjWkZrdXRSRzdnNkpLWkt5MFJtZExZNjgwQ0RuRUorVU1rcEZGZTFSTjdueGRWcFhyQzRhVHRuYXVyT25ZZXJjWmcyWVZtTE4vZC9nY3pmRWltckUvZnMvYk91cTI5Wm1uOHRsb09SYVhnWmdHYTc4eU85L2NuWG0yQnBhR3ZxMjVEdjlTNEU5KzVTSWM5UHF1cEpLaFlGU1NsNDcrUWNyMW1ZTkFBQUFlTnB0dzBjS3drQUFBTURaSkE4UTdPVUp2a0xzUGZaNnpGVkVSUHk4cUhoMllFUiszaS9CUDgzdklCTEx5U3NvS2ltcnFLcXBhMmhwNitqcTZSc1lHaG1ibUpxWlN5MHNyYXh0Yk8zc0hSeWRuRU1VNHVSNnl4N0pKWHZlUDdXckR5Y0FBQUFBQUFILy93QUNlTnBqWUdSZ1lPQUJZaGtnWmdKQ1pnWk5Ca1lHTFFadElKc0ZMTVlBQUF3M0FMZ0FlTm9saXpFS2dEQVFCQ2NoUmJDMnNGRVIwWUQ2cVZRaUJDdi9IOWV6R0k2WjVYQkF3OENCSy9tNWlRUVZhdVZiWExuT3JNWnYyb0xkS0ZhOFBqdXJ1MmhKekdhYm1PU0x6Tk16dnV0cEIzTjQybU5nWkdCZzRHS1FZekJoWU14SkxNbGo0R0JnQVlvdy9QL1BBSkpoTE02c1NvV0tmV0NBQXdEQWpnYlJBQUI0Mm1OZ1lHQmtBSUliQ1pvNUlQcm1VbjBoR0EwQU84RUZUUUFBJykgZm9ybWF0KCd3b2ZmJyk7XG4gIGZvbnQtd2VpZ2h0OiA0MDA7XG4gIGZvbnQtc3R5bGU6IG5vcm1hbDtcbn1cbjpyb290IHtcbiAgLS1zd2lwZXItdGhlbWUtY29sb3I6ICMwMDdhZmY7XG59XG4uc3dpcGVyLWNvbnRhaW5lciB7XG4gIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICBtYXJnaW4tcmlnaHQ6IGF1dG87XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgbGlzdC1zdHlsZTogbm9uZTtcbiAgcGFkZGluZzogMDtcbiAgLyogRml4IG9mIFdlYmtpdCBmbGlja2VyaW5nICovXG4gIHotaW5kZXg6IDE7XG59XG4uc3dpcGVyLWNvbnRhaW5lci12ZXJ0aWNhbCA+IC5zd2lwZXItd3JhcHBlciB7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG59XG4uc3dpcGVyLXdyYXBwZXIge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IDEwMCU7XG4gIHotaW5kZXg6IDE7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIHRyYW5zaXRpb24tcHJvcGVydHk6IHRyYW5zZm9ybTtcbiAgYm94LXNpemluZzogY29udGVudC1ib3g7XG59XG4uc3dpcGVyLWNvbnRhaW5lci1hbmRyb2lkIC5zd2lwZXItc2xpZGUsXG4uc3dpcGVyLXdyYXBwZXIge1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDBweCwgMCwgMCk7XG59XG4uc3dpcGVyLWNvbnRhaW5lci1tdWx0aXJvdyA+IC5zd2lwZXItd3JhcHBlciB7XG4gIGZsZXgtd3JhcDogd3JhcDtcbn1cbi5zd2lwZXItY29udGFpbmVyLW11bHRpcm93LWNvbHVtbiA+IC5zd2lwZXItd3JhcHBlciB7XG4gIGZsZXgtd3JhcDogd3JhcDtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbn1cbi5zd2lwZXItY29udGFpbmVyLWZyZWUtbW9kZSA+IC5zd2lwZXItd3JhcHBlciB7XG4gIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLW91dDtcbiAgbWFyZ2luOiAwIGF1dG87XG59XG4uc3dpcGVyLWNvbnRhaW5lci1wb2ludGVyLWV2ZW50cyB7XG4gIHRvdWNoLWFjdGlvbjogcGFuLXk7XG59XG4uc3dpcGVyLWNvbnRhaW5lci1wb2ludGVyLWV2ZW50cy5zd2lwZXItY29udGFpbmVyLXZlcnRpY2FsIHtcbiAgdG91Y2gtYWN0aW9uOiBwYW4teDtcbn1cbi5zd2lwZXItc2xpZGUge1xuICBmbGV4LXNocmluazogMDtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogMTAwJTtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB0cmFuc2l0aW9uLXByb3BlcnR5OiB0cmFuc2Zvcm07XG59XG4uc3dpcGVyLXNsaWRlLWludmlzaWJsZS1ibGFuayB7XG4gIHZpc2liaWxpdHk6IGhpZGRlbjtcbn1cbi8qIEF1dG8gSGVpZ2h0ICovXG4uc3dpcGVyLWNvbnRhaW5lci1hdXRvaGVpZ2h0LFxuLnN3aXBlci1jb250YWluZXItYXV0b2hlaWdodCAuc3dpcGVyLXNsaWRlIHtcbiAgaGVpZ2h0OiBhdXRvO1xufVxuLnN3aXBlci1jb250YWluZXItYXV0b2hlaWdodCAuc3dpcGVyLXdyYXBwZXIge1xuICBhbGlnbi1pdGVtczogZmxleC1zdGFydDtcbiAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogdHJhbnNmb3JtLCBoZWlnaHQ7XG59XG4vKiAzRCBFZmZlY3RzICovXG4uc3dpcGVyLWNvbnRhaW5lci0zZCB7XG4gIHBlcnNwZWN0aXZlOiAxMjAwcHg7XG59XG4uc3dpcGVyLWNvbnRhaW5lci0zZCAuc3dpcGVyLXdyYXBwZXIsXG4uc3dpcGVyLWNvbnRhaW5lci0zZCAuc3dpcGVyLXNsaWRlLFxuLnN3aXBlci1jb250YWluZXItM2QgLnN3aXBlci1zbGlkZS1zaGFkb3ctbGVmdCxcbi5zd2lwZXItY29udGFpbmVyLTNkIC5zd2lwZXItc2xpZGUtc2hhZG93LXJpZ2h0LFxuLnN3aXBlci1jb250YWluZXItM2QgLnN3aXBlci1zbGlkZS1zaGFkb3ctdG9wLFxuLnN3aXBlci1jb250YWluZXItM2QgLnN3aXBlci1zbGlkZS1zaGFkb3ctYm90dG9tLFxuLnN3aXBlci1jb250YWluZXItM2QgLnN3aXBlci1jdWJlLXNoYWRvdyB7XG4gIHRyYW5zZm9ybS1zdHlsZTogcHJlc2VydmUtM2Q7XG59XG4uc3dpcGVyLWNvbnRhaW5lci0zZCAuc3dpcGVyLXNsaWRlLXNoYWRvdy1sZWZ0LFxuLnN3aXBlci1jb250YWluZXItM2QgLnN3aXBlci1zbGlkZS1zaGFkb3ctcmlnaHQsXG4uc3dpcGVyLWNvbnRhaW5lci0zZCAuc3dpcGVyLXNsaWRlLXNoYWRvdy10b3AsXG4uc3dpcGVyLWNvbnRhaW5lci0zZCAuc3dpcGVyLXNsaWRlLXNoYWRvdy1ib3R0b20ge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGxlZnQ6IDA7XG4gIHRvcDogMDtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogMTAwJTtcbiAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gIHotaW5kZXg6IDEwO1xufVxuLnN3aXBlci1jb250YWluZXItM2QgLnN3aXBlci1zbGlkZS1zaGFkb3ctbGVmdCB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IGxpbmVhci1ncmFkaWVudCh0byBsZWZ0LCByZ2JhKDAsIDAsIDAsIDAuNSksIHJnYmEoMCwgMCwgMCwgMCkpO1xufVxuLnN3aXBlci1jb250YWluZXItM2QgLnN3aXBlci1zbGlkZS1zaGFkb3ctcmlnaHQge1xuICBiYWNrZ3JvdW5kLWltYWdlOiBsaW5lYXItZ3JhZGllbnQodG8gcmlnaHQsIHJnYmEoMCwgMCwgMCwgMC41KSwgcmdiYSgwLCAwLCAwLCAwKSk7XG59XG4uc3dpcGVyLWNvbnRhaW5lci0zZCAuc3dpcGVyLXNsaWRlLXNoYWRvdy10b3Age1xuICBiYWNrZ3JvdW5kLWltYWdlOiBsaW5lYXItZ3JhZGllbnQodG8gdG9wLCByZ2JhKDAsIDAsIDAsIDAuNSksIHJnYmEoMCwgMCwgMCwgMCkpO1xufVxuLnN3aXBlci1jb250YWluZXItM2QgLnN3aXBlci1zbGlkZS1zaGFkb3ctYm90dG9tIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogbGluZWFyLWdyYWRpZW50KHRvIGJvdHRvbSwgcmdiYSgwLCAwLCAwLCAwLjUpLCByZ2JhKDAsIDAsIDAsIDApKTtcbn1cbi8qIENTUyBNb2RlICovXG4uc3dpcGVyLWNvbnRhaW5lci1jc3MtbW9kZSA+IC5zd2lwZXItd3JhcHBlciB7XG4gIG92ZXJmbG93OiBhdXRvO1xuICBzY3JvbGxiYXItd2lkdGg6IG5vbmU7XG4gIC8qIEZvciBGaXJlZm94ICovXG4gIC1tcy1vdmVyZmxvdy1zdHlsZTogbm9uZTtcbiAgLyogRm9yIEludGVybmV0IEV4cGxvcmVyIGFuZCBFZGdlICovXG59XG4uc3dpcGVyLWNvbnRhaW5lci1jc3MtbW9kZSA+IC5zd2lwZXItd3JhcHBlcjo6LXdlYmtpdC1zY3JvbGxiYXIge1xuICBkaXNwbGF5OiBub25lO1xufVxuLnN3aXBlci1jb250YWluZXItY3NzLW1vZGUgPiAuc3dpcGVyLXdyYXBwZXIgPiAuc3dpcGVyLXNsaWRlIHtcbiAgc2Nyb2xsLXNuYXAtYWxpZ246IHN0YXJ0IHN0YXJ0O1xufVxuLnN3aXBlci1jb250YWluZXItaG9yaXpvbnRhbC5zd2lwZXItY29udGFpbmVyLWNzcy1tb2RlID4gLnN3aXBlci13cmFwcGVyIHtcbiAgc2Nyb2xsLXNuYXAtdHlwZTogeCBtYW5kYXRvcnk7XG59XG4uc3dpcGVyLWNvbnRhaW5lci12ZXJ0aWNhbC5zd2lwZXItY29udGFpbmVyLWNzcy1tb2RlID4gLnN3aXBlci13cmFwcGVyIHtcbiAgc2Nyb2xsLXNuYXAtdHlwZTogeSBtYW5kYXRvcnk7XG59XG46cm9vdCB7XG4gIC0tc3dpcGVyLW5hdmlnYXRpb24tc2l6ZTogNDRweDtcbiAgLypcbiAgLS1zd2lwZXItbmF2aWdhdGlvbi1jb2xvcjogdmFyKC0tc3dpcGVyLXRoZW1lLWNvbG9yKTtcbiAgKi9cbn1cbi5zd2lwZXItYnV0dG9uLXByZXYsXG4uc3dpcGVyLWJ1dHRvbi1uZXh0IHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDUwJTtcbiAgd2lkdGg6IGNhbGModmFyKC0tc3dpcGVyLW5hdmlnYXRpb24tc2l6ZSkgLyA0NCAqIDI3KTtcbiAgaGVpZ2h0OiB2YXIoLS1zd2lwZXItbmF2aWdhdGlvbi1zaXplKTtcbiAgbWFyZ2luLXRvcDogY2FsYygwcHggLSAodmFyKC0tc3dpcGVyLW5hdmlnYXRpb24tc2l6ZSkgLyAyKSk7XG4gIHotaW5kZXg6IDEwO1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICBjb2xvcjogdmFyKC0tc3dpcGVyLW5hdmlnYXRpb24tY29sb3IsIHZhcigtLXN3aXBlci10aGVtZS1jb2xvcikpO1xufVxuLnN3aXBlci1idXR0b24tcHJldi5zd2lwZXItYnV0dG9uLWRpc2FibGVkLFxuLnN3aXBlci1idXR0b24tbmV4dC5zd2lwZXItYnV0dG9uLWRpc2FibGVkIHtcbiAgb3BhY2l0eTogMC4zNTtcbiAgY3Vyc29yOiBhdXRvO1xuICBwb2ludGVyLWV2ZW50czogbm9uZTtcbn1cbi5zd2lwZXItYnV0dG9uLXByZXY6YWZ0ZXIsXG4uc3dpcGVyLWJ1dHRvbi1uZXh0OmFmdGVyIHtcbiAgZm9udC1mYW1pbHk6IHN3aXBlci1pY29ucztcbiAgZm9udC1zaXplOiB2YXIoLS1zd2lwZXItbmF2aWdhdGlvbi1zaXplKTtcbiAgdGV4dC10cmFuc2Zvcm06IG5vbmUgIWltcG9ydGFudDtcbiAgbGV0dGVyLXNwYWNpbmc6IDA7XG4gIHRleHQtdHJhbnNmb3JtOiBub25lO1xuICBmb250LXZhcmlhbnQ6IGluaXRpYWw7XG4gIGxpbmUtaGVpZ2h0OiAxO1xufVxuLnN3aXBlci1idXR0b24tcHJldixcbi5zd2lwZXItY29udGFpbmVyLXJ0bCAuc3dpcGVyLWJ1dHRvbi1uZXh0IHtcbiAgbGVmdDogMTBweDtcbiAgcmlnaHQ6IGF1dG87XG59XG4uc3dpcGVyLWJ1dHRvbi1wcmV2OmFmdGVyLFxuLnN3aXBlci1jb250YWluZXItcnRsIC5zd2lwZXItYnV0dG9uLW5leHQ6YWZ0ZXIge1xuICBjb250ZW50OiAncHJldic7XG59XG4uc3dpcGVyLWJ1dHRvbi1uZXh0LFxuLnN3aXBlci1jb250YWluZXItcnRsIC5zd2lwZXItYnV0dG9uLXByZXYge1xuICByaWdodDogMTBweDtcbiAgbGVmdDogYXV0bztcbn1cbi5zd2lwZXItYnV0dG9uLW5leHQ6YWZ0ZXIsXG4uc3dpcGVyLWNvbnRhaW5lci1ydGwgLnN3aXBlci1idXR0b24tcHJldjphZnRlciB7XG4gIGNvbnRlbnQ6ICduZXh0Jztcbn1cbi5zd2lwZXItYnV0dG9uLXByZXYuc3dpcGVyLWJ1dHRvbi13aGl0ZSxcbi5zd2lwZXItYnV0dG9uLW5leHQuc3dpcGVyLWJ1dHRvbi13aGl0ZSB7XG4gIC0tc3dpcGVyLW5hdmlnYXRpb24tY29sb3I6ICNmZmZmZmY7XG59XG4uc3dpcGVyLWJ1dHRvbi1wcmV2LnN3aXBlci1idXR0b24tYmxhY2ssXG4uc3dpcGVyLWJ1dHRvbi1uZXh0LnN3aXBlci1idXR0b24tYmxhY2sge1xuICAtLXN3aXBlci1uYXZpZ2F0aW9uLWNvbG9yOiAjMDAwMDAwO1xufVxuLnN3aXBlci1idXR0b24tbG9jayB7XG4gIGRpc3BsYXk6IG5vbmU7XG59XG46cm9vdCB7XG4gIC8qXG4gIC0tc3dpcGVyLXBhZ2luYXRpb24tY29sb3I6IHZhcigtLXN3aXBlci10aGVtZS1jb2xvcik7XG4gICovXG59XG4uc3dpcGVyLXBhZ2luYXRpb24ge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgdHJhbnNpdGlvbjogMzAwbXMgb3BhY2l0eTtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgei1pbmRleDogMTA7XG59XG4uc3dpcGVyLXBhZ2luYXRpb24uc3dpcGVyLXBhZ2luYXRpb24taGlkZGVuIHtcbiAgb3BhY2l0eTogMDtcbn1cbi8qIENvbW1vbiBTdHlsZXMgKi9cbi5zd2lwZXItcGFnaW5hdGlvbi1mcmFjdGlvbixcbi5zd2lwZXItcGFnaW5hdGlvbi1jdXN0b20sXG4uc3dpcGVyLWNvbnRhaW5lci1ob3Jpem9udGFsID4gLnN3aXBlci1wYWdpbmF0aW9uLWJ1bGxldHMge1xuICBib3R0b206IDEwcHg7XG4gIGxlZnQ6IDA7XG4gIHdpZHRoOiAxMDAlO1xufVxuLyogQnVsbGV0cyAqL1xuLnN3aXBlci1wYWdpbmF0aW9uLWJ1bGxldHMtZHluYW1pYyB7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIGZvbnQtc2l6ZTogMDtcbn1cbi5zd2lwZXItcGFnaW5hdGlvbi1idWxsZXRzLWR5bmFtaWMgLnN3aXBlci1wYWdpbmF0aW9uLWJ1bGxldCB7XG4gIHRyYW5zZm9ybTogc2NhbGUoMC4zMyk7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbn1cbi5zd2lwZXItcGFnaW5hdGlvbi1idWxsZXRzLWR5bmFtaWMgLnN3aXBlci1wYWdpbmF0aW9uLWJ1bGxldC1hY3RpdmUge1xuICB0cmFuc2Zvcm06IHNjYWxlKDEpO1xufVxuLnN3aXBlci1wYWdpbmF0aW9uLWJ1bGxldHMtZHluYW1pYyAuc3dpcGVyLXBhZ2luYXRpb24tYnVsbGV0LWFjdGl2ZS1tYWluIHtcbiAgdHJhbnNmb3JtOiBzY2FsZSgxKTtcbn1cbi5zd2lwZXItcGFnaW5hdGlvbi1idWxsZXRzLWR5bmFtaWMgLnN3aXBlci1wYWdpbmF0aW9uLWJ1bGxldC1hY3RpdmUtcHJldiB7XG4gIHRyYW5zZm9ybTogc2NhbGUoMC42Nik7XG59XG4uc3dpcGVyLXBhZ2luYXRpb24tYnVsbGV0cy1keW5hbWljIC5zd2lwZXItcGFnaW5hdGlvbi1idWxsZXQtYWN0aXZlLXByZXYtcHJldiB7XG4gIHRyYW5zZm9ybTogc2NhbGUoMC4zMyk7XG59XG4uc3dpcGVyLXBhZ2luYXRpb24tYnVsbGV0cy1keW5hbWljIC5zd2lwZXItcGFnaW5hdGlvbi1idWxsZXQtYWN0aXZlLW5leHQge1xuICB0cmFuc2Zvcm06IHNjYWxlKDAuNjYpO1xufVxuLnN3aXBlci1wYWdpbmF0aW9uLWJ1bGxldHMtZHluYW1pYyAuc3dpcGVyLXBhZ2luYXRpb24tYnVsbGV0LWFjdGl2ZS1uZXh0LW5leHQge1xuICB0cmFuc2Zvcm06IHNjYWxlKDAuMzMpO1xufVxuLnN3aXBlci1wYWdpbmF0aW9uLWJ1bGxldCB7XG4gIHdpZHRoOiA4cHg7XG4gIGhlaWdodDogOHB4O1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgYmFja2dyb3VuZDogIzAwMDtcbiAgb3BhY2l0eTogMC4yO1xufVxuYnV0dG9uLnN3aXBlci1wYWdpbmF0aW9uLWJ1bGxldCB7XG4gIGJvcmRlcjogbm9uZTtcbiAgbWFyZ2luOiAwO1xuICBwYWRkaW5nOiAwO1xuICBib3gtc2hhZG93OiBub25lO1xuICAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7XG4gIGFwcGVhcmFuY2U6IG5vbmU7XG59XG4uc3dpcGVyLXBhZ2luYXRpb24tY2xpY2thYmxlIC5zd2lwZXItcGFnaW5hdGlvbi1idWxsZXQge1xuICBjdXJzb3I6IHBvaW50ZXI7XG59XG4uc3dpcGVyLXBhZ2luYXRpb24tYnVsbGV0LWFjdGl2ZSB7XG4gIG9wYWNpdHk6IDE7XG4gIGJhY2tncm91bmQ6IHZhcigtLXN3aXBlci1wYWdpbmF0aW9uLWNvbG9yLCB2YXIoLS1zd2lwZXItdGhlbWUtY29sb3IpKTtcbn1cbi5zd2lwZXItY29udGFpbmVyLXZlcnRpY2FsID4gLnN3aXBlci1wYWdpbmF0aW9uLWJ1bGxldHMge1xuICByaWdodDogMTBweDtcbiAgdG9wOiA1MCU7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMHB4LCAtNTAlLCAwKTtcbn1cbi5zd2lwZXItY29udGFpbmVyLXZlcnRpY2FsID4gLnN3aXBlci1wYWdpbmF0aW9uLWJ1bGxldHMgLnN3aXBlci1wYWdpbmF0aW9uLWJ1bGxldCB7XG4gIG1hcmdpbjogNnB4IDA7XG4gIGRpc3BsYXk6IGJsb2NrO1xufVxuLnN3aXBlci1jb250YWluZXItdmVydGljYWwgPiAuc3dpcGVyLXBhZ2luYXRpb24tYnVsbGV0cy5zd2lwZXItcGFnaW5hdGlvbi1idWxsZXRzLWR5bmFtaWMge1xuICB0b3A6IDUwJTtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpO1xuICB3aWR0aDogOHB4O1xufVxuLnN3aXBlci1jb250YWluZXItdmVydGljYWwgPiAuc3dpcGVyLXBhZ2luYXRpb24tYnVsbGV0cy5zd2lwZXItcGFnaW5hdGlvbi1idWxsZXRzLWR5bmFtaWMgLnN3aXBlci1wYWdpbmF0aW9uLWJ1bGxldCB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgdHJhbnNpdGlvbjogMjAwbXMgdHJhbnNmb3JtLCAyMDBtcyB0b3A7XG59XG4uc3dpcGVyLWNvbnRhaW5lci1ob3Jpem9udGFsID4gLnN3aXBlci1wYWdpbmF0aW9uLWJ1bGxldHMgLnN3aXBlci1wYWdpbmF0aW9uLWJ1bGxldCB7XG4gIG1hcmdpbjogMCA0cHg7XG59XG4uc3dpcGVyLWNvbnRhaW5lci1ob3Jpem9udGFsID4gLnN3aXBlci1wYWdpbmF0aW9uLWJ1bGxldHMuc3dpcGVyLXBhZ2luYXRpb24tYnVsbGV0cy1keW5hbWljIHtcbiAgbGVmdDogNTAlO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTUwJSk7XG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7XG59XG4uc3dpcGVyLWNvbnRhaW5lci1ob3Jpem9udGFsID4gLnN3aXBlci1wYWdpbmF0aW9uLWJ1bGxldHMuc3dpcGVyLXBhZ2luYXRpb24tYnVsbGV0cy1keW5hbWljIC5zd2lwZXItcGFnaW5hdGlvbi1idWxsZXQge1xuICB0cmFuc2l0aW9uOiAyMDBtcyB0cmFuc2Zvcm0sIDIwMG1zIGxlZnQ7XG59XG4uc3dpcGVyLWNvbnRhaW5lci1ob3Jpem9udGFsLnN3aXBlci1jb250YWluZXItcnRsID4gLnN3aXBlci1wYWdpbmF0aW9uLWJ1bGxldHMtZHluYW1pYyAuc3dpcGVyLXBhZ2luYXRpb24tYnVsbGV0IHtcbiAgdHJhbnNpdGlvbjogMjAwbXMgdHJhbnNmb3JtLCAyMDBtcyByaWdodDtcbn1cbi8qIFByb2dyZXNzICovXG4uc3dpcGVyLXBhZ2luYXRpb24tcHJvZ3Jlc3NiYXIge1xuICBiYWNrZ3JvdW5kOiByZ2JhKDAsIDAsIDAsIDAuMjUpO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG59XG4uc3dpcGVyLXBhZ2luYXRpb24tcHJvZ3Jlc3NiYXIgLnN3aXBlci1wYWdpbmF0aW9uLXByb2dyZXNzYmFyLWZpbGwge1xuICBiYWNrZ3JvdW5kOiB2YXIoLS1zd2lwZXItcGFnaW5hdGlvbi1jb2xvciwgdmFyKC0tc3dpcGVyLXRoZW1lLWNvbG9yKSk7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgbGVmdDogMDtcbiAgdG9wOiAwO1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAxMDAlO1xuICB0cmFuc2Zvcm06IHNjYWxlKDApO1xuICB0cmFuc2Zvcm0tb3JpZ2luOiBsZWZ0IHRvcDtcbn1cbi5zd2lwZXItY29udGFpbmVyLXJ0bCAuc3dpcGVyLXBhZ2luYXRpb24tcHJvZ3Jlc3NiYXIgLnN3aXBlci1wYWdpbmF0aW9uLXByb2dyZXNzYmFyLWZpbGwge1xuICB0cmFuc2Zvcm0tb3JpZ2luOiByaWdodCB0b3A7XG59XG4uc3dpcGVyLWNvbnRhaW5lci1ob3Jpem9udGFsID4gLnN3aXBlci1wYWdpbmF0aW9uLXByb2dyZXNzYmFyLFxuLnN3aXBlci1jb250YWluZXItdmVydGljYWwgPiAuc3dpcGVyLXBhZ2luYXRpb24tcHJvZ3Jlc3NiYXIuc3dpcGVyLXBhZ2luYXRpb24tcHJvZ3Jlc3NiYXItb3Bwb3NpdGUge1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiA0cHg7XG4gIGxlZnQ6IDA7XG4gIHRvcDogMDtcbn1cbi5zd2lwZXItY29udGFpbmVyLXZlcnRpY2FsID4gLnN3aXBlci1wYWdpbmF0aW9uLXByb2dyZXNzYmFyLFxuLnN3aXBlci1jb250YWluZXItaG9yaXpvbnRhbCA+IC5zd2lwZXItcGFnaW5hdGlvbi1wcm9ncmVzc2Jhci5zd2lwZXItcGFnaW5hdGlvbi1wcm9ncmVzc2Jhci1vcHBvc2l0ZSB7XG4gIHdpZHRoOiA0cHg7XG4gIGhlaWdodDogMTAwJTtcbiAgbGVmdDogMDtcbiAgdG9wOiAwO1xufVxuLnN3aXBlci1wYWdpbmF0aW9uLXdoaXRlIHtcbiAgLS1zd2lwZXItcGFnaW5hdGlvbi1jb2xvcjogI2ZmZmZmZjtcbn1cbi5zd2lwZXItcGFnaW5hdGlvbi1ibGFjayB7XG4gIC0tc3dpcGVyLXBhZ2luYXRpb24tY29sb3I6ICMwMDAwMDA7XG59XG4uc3dpcGVyLXBhZ2luYXRpb24tbG9jayB7XG4gIGRpc3BsYXk6IG5vbmU7XG59XG4vKiBTY3JvbGxiYXIgKi9cbi5zd2lwZXItc2Nyb2xsYmFyIHtcbiAgYm9yZGVyLXJhZGl1czogMTBweDtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAtbXMtdG91Y2gtYWN0aW9uOiBub25lO1xuICBiYWNrZ3JvdW5kOiByZ2JhKDAsIDAsIDAsIDAuMSk7XG59XG4uc3dpcGVyLWNvbnRhaW5lci1ob3Jpem9udGFsID4gLnN3aXBlci1zY3JvbGxiYXIge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGxlZnQ6IDElO1xuICBib3R0b206IDNweDtcbiAgei1pbmRleDogNTA7XG4gIGhlaWdodDogNXB4O1xuICB3aWR0aDogOTglO1xufVxuLnN3aXBlci1jb250YWluZXItdmVydGljYWwgPiAuc3dpcGVyLXNjcm9sbGJhciB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgcmlnaHQ6IDNweDtcbiAgdG9wOiAxJTtcbiAgei1pbmRleDogNTA7XG4gIHdpZHRoOiA1cHg7XG4gIGhlaWdodDogOTglO1xufVxuLnN3aXBlci1zY3JvbGxiYXItZHJhZyB7XG4gIGhlaWdodDogMTAwJTtcbiAgd2lkdGg6IDEwMCU7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgYmFja2dyb3VuZDogcmdiYSgwLCAwLCAwLCAwLjUpO1xuICBib3JkZXItcmFkaXVzOiAxMHB4O1xuICBsZWZ0OiAwO1xuICB0b3A6IDA7XG59XG4uc3dpcGVyLXNjcm9sbGJhci1jdXJzb3ItZHJhZyB7XG4gIGN1cnNvcjogbW92ZTtcbn1cbi5zd2lwZXItc2Nyb2xsYmFyLWxvY2sge1xuICBkaXNwbGF5OiBub25lO1xufVxuLnN3aXBlci16b29tLWNvbnRhaW5lciB7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IDEwMCU7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG59XG4uc3dpcGVyLXpvb20tY29udGFpbmVyID4gaW1nLFxuLnN3aXBlci16b29tLWNvbnRhaW5lciA+IHN2Zyxcbi5zd2lwZXItem9vbS1jb250YWluZXIgPiBjYW52YXMge1xuICBtYXgtd2lkdGg6IDEwMCU7XG4gIG1heC1oZWlnaHQ6IDEwMCU7XG4gIG9iamVjdC1maXQ6IGNvbnRhaW47XG59XG4uc3dpcGVyLXNsaWRlLXpvb21lZCB7XG4gIGN1cnNvcjogbW92ZTtcbn1cbi8qIFByZWxvYWRlciAqL1xuOnJvb3Qge1xuICAvKlxuICAtLXN3aXBlci1wcmVsb2FkZXItY29sb3I6IHZhcigtLXN3aXBlci10aGVtZS1jb2xvcik7XG4gICovXG59XG4uc3dpcGVyLWxhenktcHJlbG9hZGVyIHtcbiAgd2lkdGg6IDQycHg7XG4gIGhlaWdodDogNDJweDtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBsZWZ0OiA1MCU7XG4gIHRvcDogNTAlO1xuICBtYXJnaW4tbGVmdDogLTIxcHg7XG4gIG1hcmdpbi10b3A6IC0yMXB4O1xuICB6LWluZGV4OiAxMDtcbiAgdHJhbnNmb3JtLW9yaWdpbjogNTAlO1xuICBhbmltYXRpb246IHN3aXBlci1wcmVsb2FkZXItc3BpbiAxcyBpbmZpbml0ZSBsaW5lYXI7XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gIGJvcmRlcjogNHB4IHNvbGlkIHZhcigtLXN3aXBlci1wcmVsb2FkZXItY29sb3IsIHZhcigtLXN3aXBlci10aGVtZS1jb2xvcikpO1xuICBib3JkZXItcmFkaXVzOiA1MCU7XG4gIGJvcmRlci10b3AtY29sb3I6IHRyYW5zcGFyZW50O1xufVxuLnN3aXBlci1sYXp5LXByZWxvYWRlci13aGl0ZSB7XG4gIC0tc3dpcGVyLXByZWxvYWRlci1jb2xvcjogI2ZmZjtcbn1cbi5zd2lwZXItbGF6eS1wcmVsb2FkZXItYmxhY2sge1xuICAtLXN3aXBlci1wcmVsb2FkZXItY29sb3I6ICMwMDA7XG59XG5Aa2V5ZnJhbWVzIHN3aXBlci1wcmVsb2FkZXItc3BpbiB7XG4gIDEwMCUge1xuICAgIHRyYW5zZm9ybTogcm90YXRlKDM2MGRlZyk7XG4gIH1cbn1cbi8qIGExMXkgKi9cbi5zd2lwZXItY29udGFpbmVyIC5zd2lwZXItbm90aWZpY2F0aW9uIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBsZWZ0OiAwO1xuICB0b3A6IDA7XG4gIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICBvcGFjaXR5OiAwO1xuICB6LWluZGV4OiAtMTAwMDtcbn1cbi5zd2lwZXItY29udGFpbmVyLWZhZGUuc3dpcGVyLWNvbnRhaW5lci1mcmVlLW1vZGUgLnN3aXBlci1zbGlkZSB7XG4gIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLW91dDtcbn1cbi5zd2lwZXItY29udGFpbmVyLWZhZGUgLnN3aXBlci1zbGlkZSB7XG4gIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICB0cmFuc2l0aW9uLXByb3BlcnR5OiBvcGFjaXR5O1xufVxuLnN3aXBlci1jb250YWluZXItZmFkZSAuc3dpcGVyLXNsaWRlIC5zd2lwZXItc2xpZGUge1xuICBwb2ludGVyLWV2ZW50czogbm9uZTtcbn1cbi5zd2lwZXItY29udGFpbmVyLWZhZGUgLnN3aXBlci1zbGlkZS1hY3RpdmUsXG4uc3dpcGVyLWNvbnRhaW5lci1mYWRlIC5zd2lwZXItc2xpZGUtYWN0aXZlIC5zd2lwZXItc2xpZGUtYWN0aXZlIHtcbiAgcG9pbnRlci1ldmVudHM6IGF1dG87XG59XG4uc3dpcGVyLWNvbnRhaW5lci1jdWJlIHtcbiAgb3ZlcmZsb3c6IHZpc2libGU7XG59XG4uc3dpcGVyLWNvbnRhaW5lci1jdWJlIC5zd2lwZXItc2xpZGUge1xuICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgLXdlYmtpdC1iYWNrZmFjZS12aXNpYmlsaXR5OiBoaWRkZW47XG4gIGJhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlbjtcbiAgei1pbmRleDogMTtcbiAgdmlzaWJpbGl0eTogaGlkZGVuO1xuICB0cmFuc2Zvcm0tb3JpZ2luOiAwIDA7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IDEwMCU7XG59XG4uc3dpcGVyLWNvbnRhaW5lci1jdWJlIC5zd2lwZXItc2xpZGUgLnN3aXBlci1zbGlkZSB7XG4gIHBvaW50ZXItZXZlbnRzOiBub25lO1xufVxuLnN3aXBlci1jb250YWluZXItY3ViZS5zd2lwZXItY29udGFpbmVyLXJ0bCAuc3dpcGVyLXNsaWRlIHtcbiAgdHJhbnNmb3JtLW9yaWdpbjogMTAwJSAwO1xufVxuLnN3aXBlci1jb250YWluZXItY3ViZSAuc3dpcGVyLXNsaWRlLWFjdGl2ZSxcbi5zd2lwZXItY29udGFpbmVyLWN1YmUgLnN3aXBlci1zbGlkZS1hY3RpdmUgLnN3aXBlci1zbGlkZS1hY3RpdmUge1xuICBwb2ludGVyLWV2ZW50czogYXV0bztcbn1cbi5zd2lwZXItY29udGFpbmVyLWN1YmUgLnN3aXBlci1zbGlkZS1hY3RpdmUsXG4uc3dpcGVyLWNvbnRhaW5lci1jdWJlIC5zd2lwZXItc2xpZGUtbmV4dCxcbi5zd2lwZXItY29udGFpbmVyLWN1YmUgLnN3aXBlci1zbGlkZS1wcmV2LFxuLnN3aXBlci1jb250YWluZXItY3ViZSAuc3dpcGVyLXNsaWRlLW5leHQgKyAuc3dpcGVyLXNsaWRlIHtcbiAgcG9pbnRlci1ldmVudHM6IGF1dG87XG4gIHZpc2liaWxpdHk6IHZpc2libGU7XG59XG4uc3dpcGVyLWNvbnRhaW5lci1jdWJlIC5zd2lwZXItc2xpZGUtc2hhZG93LXRvcCxcbi5zd2lwZXItY29udGFpbmVyLWN1YmUgLnN3aXBlci1zbGlkZS1zaGFkb3ctYm90dG9tLFxuLnN3aXBlci1jb250YWluZXItY3ViZSAuc3dpcGVyLXNsaWRlLXNoYWRvdy1sZWZ0LFxuLnN3aXBlci1jb250YWluZXItY3ViZSAuc3dpcGVyLXNsaWRlLXNoYWRvdy1yaWdodCB7XG4gIHotaW5kZXg6IDA7XG4gIC13ZWJraXQtYmFja2ZhY2UtdmlzaWJpbGl0eTogaGlkZGVuO1xuICBiYWNrZmFjZS12aXNpYmlsaXR5OiBoaWRkZW47XG59XG4uc3dpcGVyLWNvbnRhaW5lci1jdWJlIC5zd2lwZXItY3ViZS1zaGFkb3cge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGxlZnQ6IDA7XG4gIGJvdHRvbTogMHB4O1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAxMDAlO1xuICBvcGFjaXR5OiAwLjY7XG4gIHotaW5kZXg6IDA7XG59XG4uc3dpcGVyLWNvbnRhaW5lci1jdWJlIC5zd2lwZXItY3ViZS1zaGFkb3c6YmVmb3JlIHtcbiAgY29udGVudDogJyc7XG4gIGJhY2tncm91bmQ6ICMwMDA7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgbGVmdDogMDtcbiAgdG9wOiAwO1xuICBib3R0b206IDA7XG4gIHJpZ2h0OiAwO1xuICBmaWx0ZXI6IGJsdXIoNTBweCk7XG59XG4uc3dpcGVyLWNvbnRhaW5lci1mbGlwIHtcbiAgb3ZlcmZsb3c6IHZpc2libGU7XG59XG4uc3dpcGVyLWNvbnRhaW5lci1mbGlwIC5zd2lwZXItc2xpZGUge1xuICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgLXdlYmtpdC1iYWNrZmFjZS12aXNpYmlsaXR5OiBoaWRkZW47XG4gIGJhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlbjtcbiAgei1pbmRleDogMTtcbn1cbi5zd2lwZXItY29udGFpbmVyLWZsaXAgLnN3aXBlci1zbGlkZSAuc3dpcGVyLXNsaWRlIHtcbiAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG59XG4uc3dpcGVyLWNvbnRhaW5lci1mbGlwIC5zd2lwZXItc2xpZGUtYWN0aXZlLFxuLnN3aXBlci1jb250YWluZXItZmxpcCAuc3dpcGVyLXNsaWRlLWFjdGl2ZSAuc3dpcGVyLXNsaWRlLWFjdGl2ZSB7XG4gIHBvaW50ZXItZXZlbnRzOiBhdXRvO1xufVxuLnN3aXBlci1jb250YWluZXItZmxpcCAuc3dpcGVyLXNsaWRlLXNoYWRvdy10b3AsXG4uc3dpcGVyLWNvbnRhaW5lci1mbGlwIC5zd2lwZXItc2xpZGUtc2hhZG93LWJvdHRvbSxcbi5zd2lwZXItY29udGFpbmVyLWZsaXAgLnN3aXBlci1zbGlkZS1zaGFkb3ctbGVmdCxcbi5zd2lwZXItY29udGFpbmVyLWZsaXAgLnN3aXBlci1zbGlkZS1zaGFkb3ctcmlnaHQge1xuICB6LWluZGV4OiAwO1xuICAtd2Via2l0LWJhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlbjtcbiAgYmFja2ZhY2UtdmlzaWJpbGl0eTogaGlkZGVuO1xufVxuIiwiLyoqXG5Jb24uUmFuZ2VTbGlkZXIsIDIuMy4wXG7CqSBEZW5pcyBJbmVzaGluLCAyMDEwIC0gMjAxOCwgSW9uRGVuLmNvbVxuQnVpbGQgZGF0ZTogMjAxOC0xMi0xMSAyMzoyMzo1MVxuKi9cbi5pcnMge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICAtd2Via2l0LXRvdWNoLWNhbGxvdXQ6IG5vbmU7XG4gIC13ZWJraXQtdXNlci1zZWxlY3Q6IG5vbmU7XG4gIC1raHRtbC11c2VyLXNlbGVjdDogbm9uZTtcbiAgLW1vei11c2VyLXNlbGVjdDogbm9uZTtcbiAgLW1zLXVzZXItc2VsZWN0OiBub25lO1xuICB1c2VyLXNlbGVjdDogbm9uZTtcbiAgZm9udC1zaXplOiAxMnB4O1xuICBmb250LWZhbWlseTogQXJpYWwsIHNhbnMtc2VyaWY7XG59XG4uaXJzLWxpbmUge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICBvdXRsaW5lOiBub25lICFpbXBvcnRhbnQ7XG59XG4uaXJzLWJhciB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgZGlzcGxheTogYmxvY2s7XG4gIGxlZnQ6IDA7XG4gIHdpZHRoOiAwO1xufVxuLmlycy1zaGFkb3cge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGRpc3BsYXk6IG5vbmU7XG4gIGxlZnQ6IDA7XG4gIHdpZHRoOiAwO1xufVxuLmlycy1oYW5kbGUge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICBjdXJzb3I6IGRlZmF1bHQ7XG4gIHotaW5kZXg6IDE7XG59XG4uaXJzLWhhbmRsZS50eXBlX2xhc3Qge1xuICB6LWluZGV4OiAyO1xufVxuLmlycy1taW4sXG4uaXJzLW1heCB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgZGlzcGxheTogYmxvY2s7XG4gIGN1cnNvcjogZGVmYXVsdDtcbn1cbi5pcnMtbWluIHtcbiAgbGVmdDogMDtcbn1cbi5pcnMtbWF4IHtcbiAgcmlnaHQ6IDA7XG59XG4uaXJzLWZyb20sXG4uaXJzLXRvLFxuLmlycy1zaW5nbGUge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICB0b3A6IDA7XG4gIGxlZnQ6IDA7XG4gIGN1cnNvcjogZGVmYXVsdDtcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbn1cbi5pcnMtZ3JpZCB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgZGlzcGxheTogbm9uZTtcbiAgYm90dG9tOiAwO1xuICBsZWZ0OiAwO1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAyMHB4O1xufVxuLmlycy13aXRoLWdyaWQgLmlycy1ncmlkIHtcbiAgZGlzcGxheTogYmxvY2s7XG59XG4uaXJzLWdyaWQtcG9sIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDA7XG4gIGxlZnQ6IDA7XG4gIHdpZHRoOiAxcHg7XG4gIGhlaWdodDogOHB4O1xuICBiYWNrZ3JvdW5kOiAjMDAwO1xufVxuLmlycy1ncmlkLXBvbC5zbWFsbCB7XG4gIGhlaWdodDogNHB4O1xufVxuLmlycy1ncmlkLXRleHQge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGJvdHRvbTogMDtcbiAgbGVmdDogMDtcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBmb250LXNpemU6IDlweDtcbiAgbGluZS1oZWlnaHQ6IDlweDtcbiAgcGFkZGluZzogMCAzcHg7XG4gIGNvbG9yOiAjMDAwO1xufVxuLmlycy1kaXNhYmxlLW1hc2sge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICB0b3A6IDA7XG4gIGxlZnQ6IC0xJTtcbiAgd2lkdGg6IDEwMiU7XG4gIGhlaWdodDogMTAwJTtcbiAgY3Vyc29yOiBkZWZhdWx0O1xuICBiYWNrZ3JvdW5kOiByZ2JhKDAsIDAsIDAsIDApO1xuICB6LWluZGV4OiAyO1xufVxuLmx0LWllOSAuaXJzLWRpc2FibGUtbWFzayB7XG4gIGJhY2tncm91bmQ6ICMwMDA7XG4gIGZpbHRlcjogYWxwaGEob3BhY2l0eT0wKTtcbiAgY3Vyc29yOiBub3QtYWxsb3dlZDtcbn1cbi5pcnMtZGlzYWJsZWQge1xuICBvcGFjaXR5OiAwLjQ7XG59XG4uaXJzLWhpZGRlbi1pbnB1dCB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZSAhaW1wb3J0YW50O1xuICBkaXNwbGF5OiBibG9jayAhaW1wb3J0YW50O1xuICB0b3A6IDAgIWltcG9ydGFudDtcbiAgbGVmdDogMCAhaW1wb3J0YW50O1xuICB3aWR0aDogMCAhaW1wb3J0YW50O1xuICBoZWlnaHQ6IDAgIWltcG9ydGFudDtcbiAgZm9udC1zaXplOiAwICFpbXBvcnRhbnQ7XG4gIGxpbmUtaGVpZ2h0OiAwICFpbXBvcnRhbnQ7XG4gIHBhZGRpbmc6IDAgIWltcG9ydGFudDtcbiAgbWFyZ2luOiAwICFpbXBvcnRhbnQ7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIG91dGxpbmU6IG5vbmUgIWltcG9ydGFudDtcbiAgei1pbmRleDogLTk5OTkgIWltcG9ydGFudDtcbiAgYmFja2dyb3VuZDogbm9uZSAhaW1wb3J0YW50O1xuICBib3JkZXItc3R5bGU6IHNvbGlkICFpbXBvcnRhbnQ7XG4gIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQgIWltcG9ydGFudDtcbn1cbi5pcnMtLWZsYXQge1xuICBoZWlnaHQ6IDQwcHg7XG59XG4uaXJzLS1mbGF0Lmlycy13aXRoLWdyaWQge1xuICBoZWlnaHQ6IDYwcHg7XG59XG4uaXJzLS1mbGF0IC5pcnMtbGluZSB7XG4gIHRvcDogMjVweDtcbiAgaGVpZ2h0OiAxMnB4O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZTFlNGU5O1xuICBib3JkZXItcmFkaXVzOiA0cHg7XG59XG4uaXJzLS1mbGF0IC5pcnMtYmFyIHtcbiAgdG9wOiAyNXB4O1xuICBoZWlnaHQ6IDEycHg7XG4gIGJhY2tncm91bmQtY29sb3I6ICNlZDU1NjU7XG59XG4uaXJzLS1mbGF0IC5pcnMtYmFyLS1zaW5nbGUge1xuICBib3JkZXItcmFkaXVzOiA0cHggMCAwIDRweDtcbn1cbi5pcnMtLWZsYXQgLmlycy1zaGFkb3cge1xuICBoZWlnaHQ6IDFweDtcbiAgYm90dG9tOiAxNnB4O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZTFlNGU5O1xufVxuLmlycy0tZmxhdCAuaXJzLWhhbmRsZSB7XG4gIHRvcDogMjJweDtcbiAgd2lkdGg6IDE2cHg7XG4gIGhlaWdodDogMThweDtcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG59XG4uaXJzLS1mbGF0IC5pcnMtaGFuZGxlID4gaTpmaXJzdC1jaGlsZCB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHRvcDogMDtcbiAgbGVmdDogNTAlO1xuICB3aWR0aDogMnB4O1xuICBoZWlnaHQ6IDEwMCU7XG4gIG1hcmdpbi1sZWZ0OiAtMXB4O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZGE0NDUzO1xufVxuLmlycy0tZmxhdCAuaXJzLWhhbmRsZS5zdGF0ZV9ob3ZlciA+IGk6Zmlyc3QtY2hpbGQsXG4uaXJzLS1mbGF0IC5pcnMtaGFuZGxlOmhvdmVyID4gaTpmaXJzdC1jaGlsZCB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNhNDM1NDA7XG59XG4uaXJzLS1mbGF0IC5pcnMtbWluLFxuLmlycy0tZmxhdCAuaXJzLW1heCB7XG4gIHRvcDogMDtcbiAgcGFkZGluZzogMXB4IDNweDtcbiAgY29sb3I6ICM5OTk7XG4gIGZvbnQtc2l6ZTogMTBweDtcbiAgbGluZS1oZWlnaHQ6IDEuMzMzO1xuICB0ZXh0LXNoYWRvdzogbm9uZTtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2UxZTRlOTtcbiAgYm9yZGVyLXJhZGl1czogNHB4O1xufVxuLmlycy0tZmxhdCAuaXJzLWZyb20sXG4uaXJzLS1mbGF0IC5pcnMtdG8sXG4uaXJzLS1mbGF0IC5pcnMtc2luZ2xlIHtcbiAgY29sb3I6IHdoaXRlO1xuICBmb250LXNpemU6IDEwcHg7XG4gIGxpbmUtaGVpZ2h0OiAxLjMzMztcbiAgdGV4dC1zaGFkb3c6IG5vbmU7XG4gIHBhZGRpbmc6IDFweCA1cHg7XG4gIGJhY2tncm91bmQtY29sb3I6ICNlZDU1NjU7XG4gIGJvcmRlci1yYWRpdXM6IDRweDtcbn1cbi5pcnMtLWZsYXQgLmlycy1mcm9tOmJlZm9yZSxcbi5pcnMtLWZsYXQgLmlycy10bzpiZWZvcmUsXG4uaXJzLS1mbGF0IC5pcnMtc2luZ2xlOmJlZm9yZSB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgZGlzcGxheTogYmxvY2s7XG4gIGNvbnRlbnQ6IFwiXCI7XG4gIGJvdHRvbTogLTZweDtcbiAgbGVmdDogNTAlO1xuICB3aWR0aDogMDtcbiAgaGVpZ2h0OiAwO1xuICBtYXJnaW4tbGVmdDogLTNweDtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgYm9yZGVyOiAzcHggc29saWQgdHJhbnNwYXJlbnQ7XG4gIGJvcmRlci10b3AtY29sb3I6ICNlZDU1NjU7XG59XG4uaXJzLS1mbGF0IC5pcnMtZ3JpZC1wb2wge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZTFlNGU5O1xufVxuLmlycy0tZmxhdCAuaXJzLWdyaWQtdGV4dCB7XG4gIGNvbG9yOiAjOTk5O1xufVxuLmlycy0tYmlnIHtcbiAgaGVpZ2h0OiA1NXB4O1xufVxuLmlycy0tYmlnLmlycy13aXRoLWdyaWQge1xuICBoZWlnaHQ6IDcwcHg7XG59XG4uaXJzLS1iaWcgLmlycy1saW5lIHtcbiAgdG9wOiAzM3B4O1xuICBoZWlnaHQ6IDEycHg7XG4gIGJhY2tncm91bmQtY29sb3I6IHdoaXRlO1xuICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQodG8gYm90dG9tLCAjZGRkIC01MCUsIHdoaXRlIDE1MCUpO1xuICBib3JkZXI6IDFweCBzb2xpZCAjY2NjO1xuICBib3JkZXItcmFkaXVzOiAxMnB4O1xufVxuLmlycy0tYmlnIC5pcnMtYmFyIHtcbiAgdG9wOiAzM3B4O1xuICBoZWlnaHQ6IDEycHg7XG4gIGJhY2tncm91bmQtY29sb3I6ICM5MmJjZTA7XG4gIGJvcmRlcjogMXB4IHNvbGlkICM0MjhiY2E7XG4gIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCh0byBib3R0b20sICNmZmZmZmYgMCUsICM0MjhiY2EgMzAlLCAjYjlkNGVjIDEwMCUpO1xuICBib3gtc2hhZG93OiBpbnNldCAwIDAgMXB4IDFweCByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuNSk7XG59XG4uaXJzLS1iaWcgLmlycy1iYXItLXNpbmdsZSB7XG4gIGJvcmRlci1yYWRpdXM6IDEycHggMCAwIDEycHg7XG59XG4uaXJzLS1iaWcgLmlycy1zaGFkb3cge1xuICBoZWlnaHQ6IDFweDtcbiAgYm90dG9tOiAxNnB4O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDY2LCAxMzksIDIwMiwgMC41KTtcbn1cbi5pcnMtLWJpZyAuaXJzLWhhbmRsZSB7XG4gIHRvcDogMjVweDtcbiAgd2lkdGg6IDMwcHg7XG4gIGhlaWdodDogMzBweDtcbiAgYm9yZGVyOiAxcHggc29saWQgcmdiYSgwLCAwLCAwLCAwLjMpO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjY2JjZmQ1O1xuICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQodG8gYm90dG9tLCB3aGl0ZSAwJSwgI0I0QjlCRSAzMCUsIHdoaXRlIDEwMCUpO1xuICBib3gtc2hhZG93OiAxcHggMXB4IDJweCByZ2JhKDAsIDAsIDAsIDAuMiksIGluc2V0IDAgMCAzcHggMXB4IHdoaXRlO1xuICBib3JkZXItcmFkaXVzOiAzMHB4O1xufVxuLmlycy0tYmlnIC5pcnMtaGFuZGxlLnN0YXRlX2hvdmVyLFxuLmlycy0tYmlnIC5pcnMtaGFuZGxlOmhvdmVyIHtcbiAgYm9yZGVyLWNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuNDUpO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjOTM5YmE3O1xuICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQodG8gYm90dG9tLCB3aGl0ZSAwJSwgIzkxOUJBNSAzMCUsIHdoaXRlIDEwMCUpO1xufVxuLmlycy0tYmlnIC5pcnMtbWluLFxuLmlycy0tYmlnIC5pcnMtbWF4IHtcbiAgdG9wOiAwO1xuICBwYWRkaW5nOiAxcHggNXB4O1xuICBjb2xvcjogd2hpdGU7XG4gIHRleHQtc2hhZG93OiBub25lO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjOWY5ZjlmO1xuICBib3JkZXItcmFkaXVzOiAzcHg7XG59XG4uaXJzLS1iaWcgLmlycy1mcm9tLFxuLmlycy0tYmlnIC5pcnMtdG8sXG4uaXJzLS1iaWcgLmlycy1zaW5nbGUge1xuICBjb2xvcjogd2hpdGU7XG4gIHRleHQtc2hhZG93OiBub25lO1xuICBwYWRkaW5nOiAxcHggNXB4O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjNDI4YmNhO1xuICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQodG8gYm90dG9tLCAjNDI4YmNhIDAlLCAjMzA3MWE5IDEwMCUpO1xuICBib3JkZXItcmFkaXVzOiAzcHg7XG59XG4uaXJzLS1iaWcgLmlycy1ncmlkLXBvbCB7XG4gIGJhY2tncm91bmQtY29sb3I6ICM0MjhiY2E7XG59XG4uaXJzLS1iaWcgLmlycy1ncmlkLXRleHQge1xuICBjb2xvcjogIzQyOGJjYTtcbn1cbi5pcnMtLW1vZGVybiB7XG4gIGhlaWdodDogNTVweDtcbn1cbi5pcnMtLW1vZGVybi5pcnMtd2l0aC1ncmlkIHtcbiAgaGVpZ2h0OiA1NXB4O1xufVxuLmlycy0tbW9kZXJuIC5pcnMtbGluZSB7XG4gIHRvcDogMjVweDtcbiAgaGVpZ2h0OiA1cHg7XG4gIGJhY2tncm91bmQtY29sb3I6ICNkMWQ2ZTA7XG4gIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCh0byBib3R0b20sICNlMGU0ZWEgMCUsICNkMWQ2ZTAgMTAwJSk7XG4gIGJvcmRlcjogMXB4IHNvbGlkICNhM2FkYzE7XG4gIGJvcmRlci1ib3R0b20td2lkdGg6IDA7XG4gIGJvcmRlci1yYWRpdXM6IDVweDtcbn1cbi5pcnMtLW1vZGVybiAuaXJzLWJhciB7XG4gIHRvcDogMjVweDtcbiAgaGVpZ2h0OiA1cHg7XG4gIGJhY2tncm91bmQ6ICMyMGI0MjY7XG4gIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCh0byBib3R0b20sICMyMGI0MjYgMCUsICMxODg5MWQgMTAwJSk7XG59XG4uaXJzLS1tb2Rlcm4gLmlycy1iYXItLXNpbmdsZSB7XG4gIGJvcmRlci1yYWRpdXM6IDVweCAwIDAgNXB4O1xufVxuLmlycy0tbW9kZXJuIC5pcnMtc2hhZG93IHtcbiAgaGVpZ2h0OiAxcHg7XG4gIGJvdHRvbTogMjFweDtcbiAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgyMDksIDIxNCwgMjI0LCAwLjUpO1xufVxuLmlycy0tbW9kZXJuIC5pcnMtaGFuZGxlIHtcbiAgdG9wOiAzN3B4O1xuICB3aWR0aDogMTJweDtcbiAgaGVpZ2h0OiAxM3B4O1xuICBib3JkZXI6IDFweCBzb2xpZCAjYTNhZGMxO1xuICBib3JkZXItdG9wLXdpZHRoOiAwO1xuICBib3gtc2hhZG93OiAxcHggMXB4IDFweCByZ2JhKDAsIDAsIDAsIDAuMSk7XG4gIGJvcmRlci1yYWRpdXM6IDAgMCAzcHggM3B4O1xufVxuLmlycy0tbW9kZXJuIC5pcnMtaGFuZGxlID4gaTpudGgtY2hpbGQoMSkge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICB0b3A6IC00cHg7XG4gIGxlZnQ6IDFweDtcbiAgd2lkdGg6IDZweDtcbiAgaGVpZ2h0OiA2cHg7XG4gIGJvcmRlcjogMXB4IHNvbGlkICNhM2FkYzE7XG4gIGJhY2tncm91bmQ6IHdoaXRlO1xuICB0cmFuc2Zvcm06IHJvdGF0ZSg0NWRlZyk7XG59XG4uaXJzLS1tb2Rlcm4gLmlycy1oYW5kbGUgPiBpOm50aC1jaGlsZCgyKSB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgZGlzcGxheTogYmxvY2s7XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gIHRvcDogMDtcbiAgbGVmdDogMDtcbiAgd2lkdGg6IDEwcHg7XG4gIGhlaWdodDogMTJweDtcbiAgYmFja2dyb3VuZDogI2U5ZTZlNjtcbiAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KHRvIGJvdHRvbSwgd2hpdGUgMCUsICNlOWU2ZTYgMTAwJSk7XG4gIGJvcmRlci1yYWRpdXM6IDAgMCAzcHggM3B4O1xufVxuLmlycy0tbW9kZXJuIC5pcnMtaGFuZGxlID4gaTpudGgtY2hpbGQoMykge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICB0b3A6IDNweDtcbiAgbGVmdDogM3B4O1xuICB3aWR0aDogNHB4O1xuICBoZWlnaHQ6IDVweDtcbiAgYm9yZGVyLWxlZnQ6IDFweCBzb2xpZCAjYTNhZGMxO1xuICBib3JkZXItcmlnaHQ6IDFweCBzb2xpZCAjYTNhZGMxO1xufVxuLmlycy0tbW9kZXJuIC5pcnMtaGFuZGxlLnN0YXRlX2hvdmVyLFxuLmlycy0tbW9kZXJuIC5pcnMtaGFuZGxlOmhvdmVyIHtcbiAgYm9yZGVyLWNvbG9yOiAjNzY4NWEyO1xuICBiYWNrZ3JvdW5kOiAjYzNjN2NkO1xuICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQodG8gYm90dG9tLCAjZmZmZmZmIDAlLCAjOTE5YmE1IDMwJSwgI2ZmZmZmZiAxMDAlKTtcbn1cbi5pcnMtLW1vZGVybiAuaXJzLWhhbmRsZS5zdGF0ZV9ob3ZlciA+IGk6bnRoLWNoaWxkKDEpLFxuLmlycy0tbW9kZXJuIC5pcnMtaGFuZGxlOmhvdmVyID4gaTpudGgtY2hpbGQoMSkge1xuICBib3JkZXItY29sb3I6ICM3Njg1YTI7XG59XG4uaXJzLS1tb2Rlcm4gLmlycy1oYW5kbGUuc3RhdGVfaG92ZXIgPiBpOm50aC1jaGlsZCgzKSxcbi5pcnMtLW1vZGVybiAuaXJzLWhhbmRsZTpob3ZlciA+IGk6bnRoLWNoaWxkKDMpIHtcbiAgYm9yZGVyLWNvbG9yOiAjNDg1MzZhO1xufVxuLmlycy0tbW9kZXJuIC5pcnMtbWluLFxuLmlycy0tbW9kZXJuIC5pcnMtbWF4IHtcbiAgdG9wOiAwO1xuICBmb250LXNpemU6IDEwcHg7XG4gIGxpbmUtaGVpZ2h0OiAxLjMzMztcbiAgdGV4dC1zaGFkb3c6IG5vbmU7XG4gIHBhZGRpbmc6IDFweCA1cHg7XG4gIGNvbG9yOiB3aGl0ZTtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2QxZDZlMDtcbiAgYm9yZGVyLXJhZGl1czogNXB4O1xufVxuLmlycy0tbW9kZXJuIC5pcnMtZnJvbSxcbi5pcnMtLW1vZGVybiAuaXJzLXRvLFxuLmlycy0tbW9kZXJuIC5pcnMtc2luZ2xlIHtcbiAgZm9udC1zaXplOiAxMHB4O1xuICBsaW5lLWhlaWdodDogMS4zMzM7XG4gIHRleHQtc2hhZG93OiBub25lO1xuICBwYWRkaW5nOiAxcHggNXB4O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMjBiNDI2O1xuICBjb2xvcjogd2hpdGU7XG4gIGJvcmRlci1yYWRpdXM6IDVweDtcbn1cbi5pcnMtLW1vZGVybiAuaXJzLWZyb206YmVmb3JlLFxuLmlycy0tbW9kZXJuIC5pcnMtdG86YmVmb3JlLFxuLmlycy0tbW9kZXJuIC5pcnMtc2luZ2xlOmJlZm9yZSB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgZGlzcGxheTogYmxvY2s7XG4gIGNvbnRlbnQ6IFwiXCI7XG4gIGJvdHRvbTogLTZweDtcbiAgbGVmdDogNTAlO1xuICB3aWR0aDogMDtcbiAgaGVpZ2h0OiAwO1xuICBtYXJnaW4tbGVmdDogLTNweDtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgYm9yZGVyOiAzcHggc29saWQgdHJhbnNwYXJlbnQ7XG4gIGJvcmRlci10b3AtY29sb3I6ICMyMGI0MjY7XG59XG4uaXJzLS1tb2Rlcm4gLmlycy1ncmlkIHtcbiAgaGVpZ2h0OiAyNXB4O1xufVxuLmlycy0tbW9kZXJuIC5pcnMtZ3JpZC1wb2wge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZGVkZWRlO1xufVxuLmlycy0tbW9kZXJuIC5pcnMtZ3JpZC10ZXh0IHtcbiAgY29sb3I6IHNpbHZlcjtcbiAgZm9udC1zaXplOiAxM3B4O1xufVxuLmlycy0tc2hhcnAge1xuICBoZWlnaHQ6IDUwcHg7XG4gIGZvbnQtc2l6ZTogMTJweDtcbiAgbGluZS1oZWlnaHQ6IDE7XG59XG4uaXJzLS1zaGFycC5pcnMtd2l0aC1ncmlkIHtcbiAgaGVpZ2h0OiA1N3B4O1xufVxuLmlycy0tc2hhcnAgLmlycy1saW5lIHtcbiAgdG9wOiAzMHB4O1xuICBoZWlnaHQ6IDJweDtcbiAgYmFja2dyb3VuZC1jb2xvcjogYmxhY2s7XG4gIGJvcmRlci1yYWRpdXM6IDJweDtcbn1cbi5pcnMtLXNoYXJwIC5pcnMtYmFyIHtcbiAgdG9wOiAzMHB4O1xuICBoZWlnaHQ6IDJweDtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2VlMjJmYTtcbn1cbi5pcnMtLXNoYXJwIC5pcnMtYmFyLS1zaW5nbGUge1xuICBib3JkZXItcmFkaXVzOiAycHggMCAwIDJweDtcbn1cbi5pcnMtLXNoYXJwIC5pcnMtc2hhZG93IHtcbiAgaGVpZ2h0OiAxcHg7XG4gIGJvdHRvbTogMjFweDtcbiAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgwLCAwLCAwLCAwLjUpO1xufVxuLmlycy0tc2hhcnAgLmlycy1oYW5kbGUge1xuICB0b3A6IDI1cHg7XG4gIHdpZHRoOiAxMHB4O1xuICBoZWlnaHQ6IDEwcHg7XG4gIGJhY2tncm91bmQtY29sb3I6ICNhODA0YjI7XG59XG4uaXJzLS1zaGFycCAuaXJzLWhhbmRsZSA+IGk6Zmlyc3QtY2hpbGQge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICB0b3A6IDEwMCU7XG4gIGxlZnQ6IDA7XG4gIHdpZHRoOiAwO1xuICBoZWlnaHQ6IDA7XG4gIGJvcmRlcjogNXB4IHNvbGlkIHRyYW5zcGFyZW50O1xuICBib3JkZXItdG9wLWNvbG9yOiAjYTgwNGIyO1xufVxuLmlycy0tc2hhcnAgLmlycy1oYW5kbGUuc3RhdGVfaG92ZXIsXG4uaXJzLS1zaGFycCAuaXJzLWhhbmRsZTpob3ZlciB7XG4gIGJhY2tncm91bmQtY29sb3I6IGJsYWNrO1xufVxuLmlycy0tc2hhcnAgLmlycy1oYW5kbGUuc3RhdGVfaG92ZXIgPiBpOmZpcnN0LWNoaWxkLFxuLmlycy0tc2hhcnAgLmlycy1oYW5kbGU6aG92ZXIgPiBpOmZpcnN0LWNoaWxkIHtcbiAgYm9yZGVyLXRvcC1jb2xvcjogYmxhY2s7XG59XG4uaXJzLS1zaGFycCAuaXJzLW1pbixcbi5pcnMtLXNoYXJwIC5pcnMtbWF4IHtcbiAgY29sb3I6IHdoaXRlO1xuICBmb250LXNpemU6IDE0cHg7XG4gIGxpbmUtaGVpZ2h0OiAxO1xuICB0b3A6IDA7XG4gIHBhZGRpbmc6IDNweCA0cHg7XG4gIG9wYWNpdHk6IDAuNDtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2E4MDRiMjtcbiAgYm9yZGVyLXJhZGl1czogMnB4O1xufVxuLmlycy0tc2hhcnAgLmlycy1mcm9tLFxuLmlycy0tc2hhcnAgLmlycy10byxcbi5pcnMtLXNoYXJwIC5pcnMtc2luZ2xlIHtcbiAgZm9udC1zaXplOiAxNHB4O1xuICBsaW5lLWhlaWdodDogMTtcbiAgdGV4dC1zaGFkb3c6IG5vbmU7XG4gIHBhZGRpbmc6IDNweCA0cHg7XG4gIGJhY2tncm91bmQtY29sb3I6ICNhODA0YjI7XG4gIGNvbG9yOiB3aGl0ZTtcbiAgYm9yZGVyLXJhZGl1czogMnB4O1xufVxuLmlycy0tc2hhcnAgLmlycy1mcm9tOmJlZm9yZSxcbi5pcnMtLXNoYXJwIC5pcnMtdG86YmVmb3JlLFxuLmlycy0tc2hhcnAgLmlycy1zaW5nbGU6YmVmb3JlIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBkaXNwbGF5OiBibG9jaztcbiAgY29udGVudDogXCJcIjtcbiAgYm90dG9tOiAtNnB4O1xuICBsZWZ0OiA1MCU7XG4gIHdpZHRoOiAwO1xuICBoZWlnaHQ6IDA7XG4gIG1hcmdpbi1sZWZ0OiAtM3B4O1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICBib3JkZXI6IDNweCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgYm9yZGVyLXRvcC1jb2xvcjogI2E4MDRiMjtcbn1cbi5pcnMtLXNoYXJwIC5pcnMtZ3JpZCB7XG4gIGhlaWdodDogMjVweDtcbn1cbi5pcnMtLXNoYXJwIC5pcnMtZ3JpZC1wb2wge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZGVkZWRlO1xufVxuLmlycy0tc2hhcnAgLmlycy1ncmlkLXRleHQge1xuICBjb2xvcjogc2lsdmVyO1xuICBmb250LXNpemU6IDEzcHg7XG59XG4uaXJzLS1yb3VuZCB7XG4gIGhlaWdodDogNTBweDtcbn1cbi5pcnMtLXJvdW5kLmlycy13aXRoLWdyaWQge1xuICBoZWlnaHQ6IDY1cHg7XG59XG4uaXJzLS1yb3VuZCAuaXJzLWxpbmUge1xuICB0b3A6IDM2cHg7XG4gIGhlaWdodDogNHB4O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZGVlNGVjO1xuICBib3JkZXItcmFkaXVzOiA0cHg7XG59XG4uaXJzLS1yb3VuZCAuaXJzLWJhciB7XG4gIHRvcDogMzZweDtcbiAgaGVpZ2h0OiA0cHg7XG4gIGJhY2tncm91bmQtY29sb3I6ICMwMDZjZmE7XG59XG4uaXJzLS1yb3VuZCAuaXJzLWJhci0tc2luZ2xlIHtcbiAgYm9yZGVyLXJhZGl1czogNHB4IDAgMCA0cHg7XG59XG4uaXJzLS1yb3VuZCAuaXJzLXNoYWRvdyB7XG4gIGhlaWdodDogNHB4O1xuICBib3R0b206IDIxcHg7XG4gIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMjIyLCAyMjgsIDIzNiwgMC41KTtcbn1cbi5pcnMtLXJvdW5kIC5pcnMtaGFuZGxlIHtcbiAgdG9wOiAyNnB4O1xuICB3aWR0aDogMjRweDtcbiAgaGVpZ2h0OiAyNHB4O1xuICBib3JkZXI6IDRweCBzb2xpZCAjMDA2Y2ZhO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB3aGl0ZTtcbiAgYm9yZGVyLXJhZGl1czogMjRweDtcbiAgYm94LXNoYWRvdzogMCAxcHggM3B4IHJnYmEoMCwgMCwgMjU1LCAwLjMpO1xufVxuLmlycy0tcm91bmQgLmlycy1oYW5kbGUuc3RhdGVfaG92ZXIsXG4uaXJzLS1yb3VuZCAuaXJzLWhhbmRsZTpob3ZlciB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmMGY2ZmY7XG59XG4uaXJzLS1yb3VuZCAuaXJzLW1pbixcbi5pcnMtLXJvdW5kIC5pcnMtbWF4IHtcbiAgY29sb3I6ICMzMzM7XG4gIGZvbnQtc2l6ZTogMTRweDtcbiAgbGluZS1oZWlnaHQ6IDE7XG4gIHRvcDogMDtcbiAgcGFkZGluZzogM3B4IDVweDtcbiAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgwLCAwLCAwLCAwLjEpO1xuICBib3JkZXItcmFkaXVzOiA0cHg7XG59XG4uaXJzLS1yb3VuZCAuaXJzLWZyb20sXG4uaXJzLS1yb3VuZCAuaXJzLXRvLFxuLmlycy0tcm91bmQgLmlycy1zaW5nbGUge1xuICBmb250LXNpemU6IDE0cHg7XG4gIGxpbmUtaGVpZ2h0OiAxO1xuICB0ZXh0LXNoYWRvdzogbm9uZTtcbiAgcGFkZGluZzogM3B4IDVweDtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzAwNmNmYTtcbiAgY29sb3I6IHdoaXRlO1xuICBib3JkZXItcmFkaXVzOiA0cHg7XG59XG4uaXJzLS1yb3VuZCAuaXJzLWZyb206YmVmb3JlLFxuLmlycy0tcm91bmQgLmlycy10bzpiZWZvcmUsXG4uaXJzLS1yb3VuZCAuaXJzLXNpbmdsZTpiZWZvcmUge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBjb250ZW50OiBcIlwiO1xuICBib3R0b206IC02cHg7XG4gIGxlZnQ6IDUwJTtcbiAgd2lkdGg6IDA7XG4gIGhlaWdodDogMDtcbiAgbWFyZ2luLWxlZnQ6IC0zcHg7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIGJvcmRlcjogM3B4IHNvbGlkIHRyYW5zcGFyZW50O1xuICBib3JkZXItdG9wLWNvbG9yOiAjMDA2Y2ZhO1xufVxuLmlycy0tcm91bmQgLmlycy1ncmlkIHtcbiAgaGVpZ2h0OiAyNXB4O1xufVxuLmlycy0tcm91bmQgLmlycy1ncmlkLXBvbCB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNkZWRlZGU7XG59XG4uaXJzLS1yb3VuZCAuaXJzLWdyaWQtdGV4dCB7XG4gIGNvbG9yOiBzaWx2ZXI7XG4gIGZvbnQtc2l6ZTogMTNweDtcbn1cbi5pcnMtLXNxdWFyZSB7XG4gIGhlaWdodDogNTBweDtcbn1cbi5pcnMtLXNxdWFyZS5pcnMtd2l0aC1ncmlkIHtcbiAgaGVpZ2h0OiA2MHB4O1xufVxuLmlycy0tc3F1YXJlIC5pcnMtbGluZSB7XG4gIHRvcDogMzFweDtcbiAgaGVpZ2h0OiA0cHg7XG4gIGJhY2tncm91bmQtY29sb3I6ICNkZWRlZGU7XG59XG4uaXJzLS1zcXVhcmUgLmlycy1iYXIge1xuICB0b3A6IDMxcHg7XG4gIGhlaWdodDogNHB4O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiBibGFjaztcbn1cbi5pcnMtLXNxdWFyZSAuaXJzLXNoYWRvdyB7XG4gIGhlaWdodDogMnB4O1xuICBib3R0b206IDIxcHg7XG4gIGJhY2tncm91bmQtY29sb3I6ICNkZWRlZGU7XG59XG4uaXJzLS1zcXVhcmUgLmlycy1oYW5kbGUge1xuICB0b3A6IDI1cHg7XG4gIHdpZHRoOiAxNnB4O1xuICBoZWlnaHQ6IDE2cHg7XG4gIGJvcmRlcjogM3B4IHNvbGlkIGJsYWNrO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB3aGl0ZTtcbiAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZSg0NWRlZyk7XG4gIC1tcy10cmFuc2Zvcm06IHJvdGF0ZSg0NWRlZyk7XG4gIHRyYW5zZm9ybTogcm90YXRlKDQ1ZGVnKTtcbn1cbi5pcnMtLXNxdWFyZSAuaXJzLWhhbmRsZS5zdGF0ZV9ob3Zlcixcbi5pcnMtLXNxdWFyZSAuaXJzLWhhbmRsZTpob3ZlciB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmMGY2ZmY7XG59XG4uaXJzLS1zcXVhcmUgLmlycy1taW4sXG4uaXJzLS1zcXVhcmUgLmlycy1tYXgge1xuICBjb2xvcjogIzMzMztcbiAgZm9udC1zaXplOiAxNHB4O1xuICBsaW5lLWhlaWdodDogMTtcbiAgdG9wOiAwO1xuICBwYWRkaW5nOiAzcHggNXB4O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuMSk7XG59XG4uaXJzLS1zcXVhcmUgLmlycy1mcm9tLFxuLmlycy0tc3F1YXJlIC5pcnMtdG8sXG4uaXJzLS1zcXVhcmUgLmlycy1zaW5nbGUge1xuICBmb250LXNpemU6IDE0cHg7XG4gIGxpbmUtaGVpZ2h0OiAxO1xuICB0ZXh0LXNoYWRvdzogbm9uZTtcbiAgcGFkZGluZzogM3B4IDVweDtcbiAgYmFja2dyb3VuZC1jb2xvcjogYmxhY2s7XG4gIGNvbG9yOiB3aGl0ZTtcbn1cbi5pcnMtLXNxdWFyZSAuaXJzLWdyaWQge1xuICBoZWlnaHQ6IDI1cHg7XG59XG4uaXJzLS1zcXVhcmUgLmlycy1ncmlkLXBvbCB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNkZWRlZGU7XG59XG4uaXJzLS1zcXVhcmUgLmlycy1ncmlkLXRleHQge1xuICBjb2xvcjogc2lsdmVyO1xuICBmb250LXNpemU6IDExcHg7XG59XG4iLCJAbWl4aW4gZm9udC1mYWNlKCRmb250LWZhbWlseSwgJHVybCwgJHdlaWdodDogbm9ybWFsLCAkc3R5bGU6IG5vcm1hbCwgJGFzc2V0LXBpcGVsaW5lOiBmYWxzZSkge1xuICBAZm9udC1mYWNlIHtcbiAgICBmb250LWZhbWlseTogJyN7JGZvbnQtZmFtaWx5fSc7XG4gICAgZm9udC13ZWlnaHQ6ICN7JHdlaWdodH07XG4gICAgZm9udC1zdHlsZTogJyN7JHN0eWxlfSc7XG5cbiAgICBzcmM6IHVybCgnI3skdXJsfS5lb3QnKTtcbiAgICBzcmM6IHVybCgnI3skdXJsfS5lb3Q/I2llZml4JykgZm9ybWF0KCdlbWJlZGRlZC1vcGVudHlwZScpLCB1cmwoJyN7JHVybH0ud29mZicpIGZvcm1hdCgnd29mZicpLFxuICAgICAgdXJsKCcjeyR1cmx9LnR0ZicpIGZvcm1hdCgndHJ1ZXR5cGUnKTtcbiAgfVxufVxuXG5AbWl4aW4gZm9udC1mYWNlLW9uZS10eXBlKFxuICAkZm9udC1mYW1pbHksXG4gICR1cmwsXG4gICR0eXBlLFxuICAkd2VpZ2h0OiBub3JtYWwsXG4gICRzdHlsZTogbm9ybWFsLFxuICAkYXNzZXQtcGlwZWxpbmU6IGZhbHNlXG4pIHtcbiAgQGZvbnQtZmFjZSB7XG4gICAgZm9udC1mYW1pbHk6ICcjeyRmb250LWZhbWlseX0nO1xuICAgIGZvbnQtd2VpZ2h0OiAjeyR3ZWlnaHR9O1xuICAgIGZvbnQtc3R5bGU6ICcjeyRzdHlsZX0nO1xuXG4gICAgJGZvcm1hdDogJyc7XG5cbiAgICBAaWYgJHR5cGUgPT0gJ3R0Zicge1xuICAgICAgJGZvcm1hdDogJ3RydWV0eXBlJztcbiAgICB9IEBlbHNlIGlmICR0eXBlID09ICdlb3QnIHtcbiAgICAgICRmb3JtYXQ6ICdlbWJlZGRlZC1vcGVudHlwZSc7XG4gICAgfSBAZWxzZSBpZiAkdHlwZSA9PSAnd29mZicge1xuICAgICAgJGZvcm1hdDogJ3dvZmYnO1xuICAgIH1cbiAgICBzcmM6IHVybCgnI3skdXJsfS4jeyR0eXBlfScpIGZvcm1hdCgkZm9ybWF0KTtcbiAgfVxufVxuXG4vLyBGdW5jdGlvbiBmb3IgY29udmVydGluZyBhIHB4IGJhc2VkIGZvbnQtc2l6ZSB0byByZW0uXG5AZnVuY3Rpb24gcmVtKCRzaXplKSB7XG4gICRyZW1TaXplOiAkc2l6ZSAvIDE0cHg7XG4gIEByZXR1cm4gI3skcmVtU2l6ZX1yZW07XG59XG5cbkBtaXhpbiB0b2goJG1heF9oZWlnaHQpIHtcbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC1oZWlnaHQ6ICRtYXhfaGVpZ2h0KSB7XG4gICAgQGNvbnRlbnQ7XG4gIH1cbn1cblxuQG1peGluIHJlc2V0TGlua1N0eWxlcyB7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbn1cblxuQG1peGluIHJlc2V0QnRuU3R5bGVzIHtcbiAgYm9yZGVyOiBub25lO1xuICBvdXRsaW5lOiBub25lO1xuICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICBwYWRkaW5nOiAwO1xuICBmb250OiBpbmhlcml0O1xufVxuXG5AbWl4aW4gcmVzZXRJbnB1dFN0eWxlcyB7XG4gIGJvcmRlcjogbm9uZTtcbiAgb3V0bGluZTogbm9uZTtcbiAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gIHBhZGRpbmc6IDA7XG4gIGZvbnQ6IGluaGVyaXQ7XG59XG5cbkBtaXhpbiBhZnRlci1iZWZvcmUtaW1nKCR1cmwsICR3aWR0aCwgJGhlaWdodDogJHdpZHRoKSB7XG4gIGNvbnRlbnQ6ICcnO1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoJHVybCk7XG4gIGJhY2tncm91bmQtc2l6ZTogJHdpZHRoICRoZWlnaHQ7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgd2lkdGg6ICR3aWR0aDtcbiAgaGVpZ2h0OiAkaGVpZ2h0O1xufVxuXG5AbWl4aW4gYmFzZUZsZXhTdHlsZSgkYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQsICRqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQsICRmbGV4LWRpcmVjdGlvbjogcm93KSB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiAkYWxpZ24taXRlbXM7XG4gIGp1c3RpZnktY29udGVudDogJGp1c3RpZnktY29udGVudDtcbiAgZmxleC1kaXJlY3Rpb246ICRmbGV4LWRpcmVjdGlvbjtcbn1cblxuQG1peGluIGJhc2VHcmlkU3R5bGUoJHJvd3MsICRjb2x1bW5zKSB7XG4gIGRpc3BsYXk6IGdyaWQ7XG4gIGdyaWQtdGVtcGxhdGU6ICRyb3dzIC8gJGNvbHVtbnM7XG59XG5cbkBtaXhpbiBzZXRJbWdXaWR0aCgkd2lkdGgpIHtcbiAgd2lkdGg6ICR3aWR0aDtcbiAgaGVpZ2h0OiBhdXRvO1xuICBvYmplY3QtZml0OiBjb3Zlcjtcbn1cblxuQG1peGluIHNldEltZ01heFdpZHRoKCR3aWR0aCkge1xuICBtYXgtd2lkdGg6ICR3aWR0aDtcbiAgaGVpZ2h0OiBhdXRvO1xuICBvYmplY3QtZml0OiBjb3Zlcjtcbn1cblxuQG1peGluIHNldEltZ0hlaWdodCgkaGVpZ2h0KSB7XG4gIHdpZHRoOiBhdXRvO1xuICBoZWlnaHQ6ICRoZWlnaHQ7XG4gIG9iamVjdC1maXQ6IGNvdmVyO1xufVxuXG5AbWl4aW4gd2lkdGgtaGVpZ3RoKCR3aWR0aCwgJGhlaWdodDogJHdpZHRoKSB7XG4gIHdpZHRoOiAkd2lkdGg7XG4gIGhlaWdodDogJGhlaWdodDtcbn1cblxuQG1peGluIHNldEZvbnRTdHlsZShcbiAgJGZvbnQtZmFtaWx5LFxuICAkZm9udC1zaXplLFxuICAkZm9udC13ZWlnaHQsXG4gICRjb2xvcixcbiAgJGxpbmUtaGVpZ2h0OiBpbml0aWFsLFxuICAkbGV0dGVyLXNwYWNpbmc6IGluaXRpYWwsXG4gICR0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlXG4pIHtcbiAgZm9udC1mYW1pbHk6ICRmb250LWZhbWlseTtcbiAgZm9udC1zaXplOiAkZm9udC1zaXplO1xuICBmb250LXdlaWdodDogJGZvbnQtd2VpZ2h0O1xuICBjb2xvcjogJGNvbG9yO1xuICBsaW5lLWhlaWdodDogJGxpbmUtaGVpZ2h0O1xuICBsZXR0ZXItc3BhY2luZzogJGxldHRlci1zcGFjaW5nO1xuICB0ZXh0LXRyYW5zZm9ybTogJHRleHQtdHJhbnNmb3JtO1xufVxuXG5AbWl4aW4gbGluay1idG5zKFxuICAkd2lkdGgsXG4gICRoZWlnaHQsXG4gICRiZ2NvbG9yLFxuICAkZm9udC1zaXplLFxuICAkY29sb3I6ICR3aGl0ZS1jb2xvcixcbiAgJGZvbnQtd2VpZ2h0OiA2MDAsXG4gICRib3JkZXI6IG5vbmUsXG4gICRib3JkZXItcmFkaXVzOiAxMDBweFxuKSB7XG4gIHdpZHRoOiAkd2lkdGg7XG4gIGhlaWdodDogJGhlaWdodDtcbiAgYmFja2dyb3VuZC1jb2xvcjogJGJnY29sb3I7XG4gIGZvbnQtd2VpZ2h0OiAkZm9udC13ZWlnaHQ7XG4gIGZvbnQtc2l6ZTogJGZvbnQtc2l6ZTtcbiAgbGluZS1oZWlnaHQ6IDEwMCU7XG4gIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gIGNvbG9yOiAkY29sb3I7XG4gIEBpbmNsdWRlIGJhc2VGbGV4U3R5bGUoY2VudGVyLCBjZW50ZXIpO1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gIGJvcmRlcjogJGJvcmRlcjtcbiAgb3V0bGluZTogbm9uZTtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICBib3JkZXItcmFkaXVzOiAkYm9yZGVyLXJhZGl1cztcbn1cblxuQG1peGluIHNsaWRlQnRucygkYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudCwgJGJhY2tncm91bmQ6IHRyYW5zcGFyZW50KSB7XG4gIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgYm9yZGVyOiAycHggc29saWQgJGJvcmRlci1jb2xvcjtcbiAgYmFja2dyb3VuZDogJGJhY2tncm91bmQ7XG59XG5cbkBtaXhpbiBtdWx0aXBsZS10cmFuc2l0aW9ucygkZHVyYXRpb24sICR0aW1pbmctZnVuYywgJHByb3BlcnRpZXMuLi4pIHtcbiAgJHRyYW5zaXRpb24tcHJvcGVydHk6ICcnO1xuICBAZm9yICRpIGZyb20gMSB0aHJvdWdoIGxlbmd0aCgkcHJvcGVydGllcykge1xuICAgIEBpZiAoJGkgPT0gbGVuZ3RoKCRwcm9wZXJ0aWVzKSkge1xuICAgICAgJHRyYW5zaXRpb24tcHJvcGVydHk6ICN7JHRyYW5zaXRpb24tcHJvcGVydHkgKyBudGgoJHByb3BlcnRpZXMsICRpKX07XG4gICAgfSBAZWxzZSB7XG4gICAgICAkdHJhbnNpdGlvbi1wcm9wZXJ0eTogI3skdHJhbnNpdGlvbi1wcm9wZXJ0eSArIG50aCgkcHJvcGVydGllcywgJGkpICsgJywgJ307XG4gICAgfVxuICB9XG4gIHRyYW5zaXRpb24tcHJvcGVydHk6ICR0cmFuc2l0aW9uLXByb3BlcnR5O1xuICB0cmFuc2l0aW9uLWR1cmF0aW9uOiAkZHVyYXRpb247XG4gIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiAkdGltaW5nLWZ1bmM7XG59XG5cbkBtaXhpbiBncmlkLWNhcmQtY29udGVudChcbiAgJHJvd3M6IG1pbm1heCgzNDBweCwgMWZyKSxcbiAgJGNvbHVtbnM6IHJlcGVhdCgzLCAxZnIpLFxuICAkYXV0by1yb3dzOiAzNDBweCxcbiAgJGdhcDogNjBweFxuKSB7XG4gIEBpbmNsdWRlIGJhc2VHcmlkU3R5bGUoJHJvd3MsICRjb2x1bW5zKTtcbiAgZ3JpZC1hdXRvLXJvd3M6IG1pbm1heCgkYXV0by1yb3dzLCAxZnIpO1xuICBncmlkLWdhcDogJGdhcDtcbn1cblxuQG1peGluIGFicy1wb3NpdGlvbigkdG9wOiA1MCUsICRsZWZ0OiA1MCUsICR0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtJHRvcCwgLSRsZWZ0KSkge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogJHRvcDtcbiAgbGVmdDogJGxlZnQ7XG4gIHRyYW5zZm9ybTogJHRyYW5zZm9ybTtcbn1cblxuQG1peGluIGxpbmtzSG92ZXIoKSB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgLy8gbGluZS1oZWlnaHQ6IDEwMCU7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIGRpc3BsYXk6IGJsb2NrO1xuXG4gIEBpbmNsdWRlIGZyb20oMTAyNXB4KSB7XG4gICAgY29sb3I6IHRyYW5zcGFyZW50O1xuICAgICY6YWZ0ZXIge1xuICAgICAgY29udGVudDogYXR0cihkYXRhLXRleHQpO1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgbGVmdDogMDtcbiAgICAgIHRvcDogMDtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgLy8gY29sb3I6IGdyZWVuO1xuICAgICAgdHJhbnNpdGlvbjogMC4yNXMgZWFzZS1vdXQ7XG4gICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTEwMCUpO1xuICAgICAgY29sb3I6ICRkYXJrLXZpb2xldDtcbiAgICAgIGxpbmUtaGVpZ2h0OiAxMTAlO1xuICAgICAgb3BhY2l0eTogMDtcbiAgICB9XG4gICAgJjpiZWZvcmUge1xuICAgICAgY29udGVudDogYXR0cihkYXRhLXRleHQpO1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgLy8gY29sb3I6IHZhcigtLWNvbG9yLXdoaXRlKTtcbiAgICAgIGxlZnQ6IDA7XG4gICAgICB0b3A6IDA7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgIGxpbmUtaGVpZ2h0OiAxMTAlO1xuICAgICAgY29sb3I6ICRoZWFkZXJzLWNvbG9yO1xuICAgICAgdHJhbnNpdGlvbjogMC4yNXMgZWFzZS1vdXQ7XG4gICAgfVxuICAgICY6aG92ZXI6YmVmb3JlIHtcbiAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgxMTAlKTtcbiAgICB9XG4gICAgJjpob3ZlcjphZnRlciB7XG4gICAgICBvcGFjaXR5OiAxO1xuICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApO1xuICAgIH1cbiAgfVxufVxuXG5AbWl4aW4gaG92ZXJTdmcge1xuICAuaG92ZXIsXG4gIC5kZWZhdWx0IHtcbiAgICB0cmFuc2l0aW9uOiAwLjI1cyBlYXNlLW91dDtcbiAgICB0cmFuc2Zvcm0tb3JpZ2luOiBjZW50ZXI7XG4gICAgdHJhbnNmb3JtLWJveDogZmlsbC1ib3g7XG4gIH1cbiAgLmRlZmF1bHQge1xuICAgIHRyYW5zZm9ybTogc2NhbGUoMSk7XG4gIH1cbiAgLmhvdmVyIHtcbiAgICB0cmFuc2Zvcm06IHNjYWxlKDApO1xuICAgIGZpbGw6ICRsYXZhbmRlcjtcbiAgfVxuICBAaW5jbHVkZSBmcm9tKDEwMjVweCkge1xuICAgICY6aG92ZXIgLmhvdmVyIHtcbiAgICAgIHRyYW5zZm9ybTogc2NhbGUoMSk7XG4gICAgfVxuICAgICY6aG92ZXIgLmRlZmF1bHQge1xuICAgICAgdHJhbnNmb3JtOiBzY2FsZSgwKTtcbiAgICB9XG4gIH1cbn1cbiIsIiIsIkBpbmNsdWRlIGZvbnQtZmFjZSgnTW9udCcsICcuLi9mb250cy9tb250U2VtaUJvbGQvTW9udC1TZW1pQm9sZCcsIDYwMCk7XG4vLyDQqNGA0LjRhNGCINGBINC90LDRgdGL0YnQtdC90L3QvtGB0YLRjNGOIDUwMCBNZWRpdW0g0L3QtSDQvdCw0LnQtNC10L1cbkBpbmNsdWRlIGZvbnQtZmFjZSgnTW9udCcsICcuLi9mb250cy9tb250UmVndWxhci9Nb250LVJlZ3VsYXInLCA1MDApO1xuXG5AaW5jbHVkZSBmb250LWZhY2UoJ0dpbHJveScsICcuLi9mb250cy9naWxyb3lSZWd1bGFyL0dpbHJveS1SZWd1bGFyJywgNDAwKTtcblxuLy8g0KjRgNC40YTRgiDRgSDQvtC00L3QuNC8INGC0LjQv9C+0LxcbkBpbmNsdWRlIGZvbnQtZmFjZS1vbmUtdHlwZSgnTW9udCcsICcuLi9mb250cy9tb250UmVndWxhci9Nb250LVJlZ3VsYXInLCAndHRmJywgNDAwKTtcblxuQGluY2x1ZGUgZm9udC1mYWNlLW9uZS10eXBlKFxuICAnQ29ybW9yYW50IEdhcmFtb25kJyxcbiAgJy4uL2ZvbnRzL2Nvcm1vcmFudEdhcmFtb25kTGlnaHQvQ29ybW9yYW50R2FyYW1vbmQtTGlnaHQnLFxuICAndHRmJyxcbiAgMzAwXG4pO1xuXG5AaW5jbHVkZSBmb250LWZhY2Utb25lLXR5cGUoXG4gICdUZW5vciBTYW5zJyxcbiAgJy4uL2ZvbnRzL3Rlbm9yU2Fuc1JlZ3VsYXIvVGVub3JTYW5zLVJlZ3VsYXInLFxuICAndHRmJyxcbiAgNDAwXG4pO1xuXG5AaW5jbHVkZSBmb250LWZhY2Utb25lLXR5cGUoXG4gICdOYW51bScsXG4gICcuLi9mb250cy9uYW51bU15ZW9uZ2pvUmVndWxhci9OYW51bU15ZW9uZ2pvLVJlZ3VsYXInLFxuICAndHRmJyxcbiAgNDAwXG4pO1xuIiwiOnJvb3Qge1xuICAvLyBJbmRlbnRzXG4gIC0tbHItcGFkZGluZ3M6IDEyMHB4OyAvLyBsciAtIGxlZnQtcmlnaHRcbiAgLS1idG0tcGFkZGluZzogMTUwcHg7IC8vIGJ0bSAtIGJvdHRvbSBwYWRkaW5nXG4gIC0tdG9wLXBhZGRpbmc6IDUwcHg7XG4gIC0tc2VjLWJ0bS1pbmRlbnQ6IDIwMHB4O1xuICAtLWVsZW0tYnRtLW1hcmdpbjogMTAwcHg7XG4gIC0tcG9wdWxhci1pbmRlbnQ6IDYwcHg7XG4gIEBpbmNsdWRlIHRhYmxldExhcmdlIHtcbiAgICAtLWxyLXBhZGRpbmdzOiA4MHB4O1xuICAgIC0tZWxlbS1idG0tbWFyZ2luOiA2MHB4O1xuICAgIC0tc2VjLWJ0bS1pbmRlbnQ6IDEyMHB4O1xuICB9XG4gIEBpbmNsdWRlIG5vdGVib29rIHtcbiAgICAtLWxyLXBhZGRpbmdzOiA0MHB4O1xuICB9XG4gIEBpbmNsdWRlIHRhYmxldCB7XG4gICAgLS1sci1wYWRkaW5nczogNDBweDtcbiAgICAtLWVsZW0tYnRtLW1hcmdpbjogNDBweDtcbiAgICAtLXNlYy1idG0taW5kZW50OiA4MHB4O1xuICAgIC0tcG9wdWxhci1pbmRlbnQ6IDQwcHg7XG4gICAgLS1idG0tcGFkZGluZzogODBweDtcbiAgfVxuICBAaW5jbHVkZSBtb2JpbGUge1xuICAgIC0tbHItcGFkZGluZ3M6IDE1cHg7XG4gICAgLS1idG0tcGFkZGluZzogNjBweDtcbiAgICAtLXBvcHVsYXItaW5kZW50OiA0MHB4O1xuICAgIC0tc2VjLWJ0bS1pbmRlbnQ6IDYwcHg7XG4gICAgLS1lbGVtLWJ0bS1tYXJnaW46IDIwcHg7XG4gIH1cbn1cblxuKiB7XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG59XG5cbio6OmFmdGVyLFxuKjo6YmVmb3JlIHtcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbn1cblxuQGluY2x1ZGUgcmVzZXQoKTtcblxuLmRlYnVnIHtcbiAgei1pbmRleDogOTk5OTk5O1xuICBAaW5jbHVkZSBkZWJ1ZyhyZ2JhKDAsIDAsIDAsIDAuNSksIDFweCBzb2xpZCAjZmYwKTtcbn1cblxuLmNvbnRhaW5lciB7XG4gIEBpbmNsdWRlIHdyYXBwZXIoKTtcbn1cblxuaHRtbCB7XG4gIGZvbnQtc2l6ZTogMTRweDtcbiAgc2Nyb2xsYmFyLXdpZHRoOiBub25lOyAvLyBmb3IgRmlyZWZveCA2NCBhbmQgYWJvdmUgZGlzYWJsZWQgc2Nyb2xsXG4gIC13ZWJraXQtZm9udC1zbW9vdGhpbmc6IGFudGlhbGlhc2VkO1xuICAvLyAmOjotd2Via2l0LXNjcm9sbGJhciB7XG4gIC8vICAgZGlzcGxheTogbm9uZTtcbiAgLy8gfVxufVxuYm9keSB7XG4gIG1hcmdpbjogMDtcbiAgbWluLXdpZHRoOiAzMjBweDtcbiAgZm9udC1mYW1pbHk6ICRkZWZhdWx0LWZvbnQ7XG4gIGZvbnQtd2VpZ2h0OiA2MDA7XG4gIG92ZXJmbG93LXg6IGhpZGRlbjtcbiAgZm9udC1zaXplOiAxNHB4O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjlmOGZjO1xuXG4gICYuZGlzYWJsZWQtc2Nyb2xsIHtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICB9XG5cbiAgJjo6LXdlYmtpdC1zY3JvbGxiYXIge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cbn1cbi8vIC5wYWdlX19pbm5lciB7XG4vLyAgIEBpbmNsdWRlIHRvKDU3NnB4KXtcbi8vICAgICBvdmVyZmxvdy14OiBoaWRkZW5cbi8vICAgfVxuLy8gfVxuYSB7XG4gIEBpbmNsdWRlIHJlc2V0TGlua1N0eWxlcztcbn1cblxuYnV0dG9uIHtcbiAgQGluY2x1ZGUgcmVzZXRCdG5TdHlsZXM7XG59XG5cbmltZyB7XG4gIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG59XG5cbi8vIDo6LXdlYmtpdC1zY3JvbGxiYXIge1xuLy8gICBkaXNwbGF5OiBub25lO1xuLy8gfVxuXG4ubG9hZGVyLXdyYXAge1xuICBwb3NpdGlvbjogZml4ZWQ7XG4gIGxlZnQ6IDA7XG4gIHRvcDogMDtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogMTAwJTtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjtcbiAgei1pbmRleDogMTAwMDtcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIHRyYW5zaXRpb246IG9wYWNpdHkgMXMgZWFzZS1vdXQ7XG4gIHN2ZyB7XG4gICAgYW5pbWF0aW9uOiBsb2FkZXJMb2dvIDEuNXMgZWFzZS1vdXQgMTtcbiAgfVxufVxuQGtleWZyYW1lcyBsb2FkZXJMb2dvIHtcbiAgZnJvbSB7XG4gICAgY2xpcC1wYXRoOiBwb2x5Z29uKDAgMTAwJSwgMTAwJSAxMDAlLCAxMDAlIDEwMCUsIDAlIDEwMCUpO1xuICAgIC13ZWJraXQtY2xpcC1wYXRoOiBwb2x5Z29uKDAgMTAwJSwgMTAwJSAxMDAlLCAxMDAlIDEwMCUsIDAlIDEwMCUpO1xuICB9XG4gIHRvIHtcbiAgICBjbGlwLXBhdGg6IHBvbHlnb24oMCAxMDAlLCAxMDAlIDEwMCUsIDEwMCUgMCwgMCAwKTtcbiAgICAtd2Via2l0LWNsaXAtcGF0aDogcG9seWdvbigwIDEwMCUsIDEwMCUgMTAwJSwgMTAwJSAwLCAwIDApO1xuICB9XG59XG5cbi5kZXNrdG9wLWhpZGUge1xuICBAaW5jbHVkZSBmcm9tKDU3NnB4KSB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxufVxuLmhpZGUtb24tbW9iaWxlIHtcbiAgQGluY2x1ZGUgdG8oNTc1cHgpIHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG4gIH1cbn1cbiIsIkBpbXBvcnQgXCJ2YXJzXCI7XG5cbi5tZnAtM2QtdW5mb2xkIHtcblx0Lm1mcC1jb250ZW50IHtcblx0XHRwZXJzcGVjdGl2ZTogMjAwMHB4O1xuXHR9XG5cblx0Lm1mcC13aXRoLWFuaW0ge1xuXHRcdG9wYWNpdHk6IDA7XG5cdFx0dHJhbnNpdGlvbjogYWxsIDAuM3MgZWFzZS1pbi1vdXQ7XG5cdFx0dHJhbnNmb3JtLXN0eWxlOiBwcmVzZXJ2ZS0zZDtcblx0XHR0cmFuc2Zvcm06IHJvdGF0ZVkoLTYwZGVnKTtcblx0fVxuXG5cdC5tZnAtYmcge1xuXHRcdG9wYWNpdHk6IDA7XG5cdFx0dHJhbnNpdGlvbjogYWxsIDAuNXM7XG5cdH1cbn1cblxuLm1mcC1yZWFkeSB7XG5cdC5tZnAtd2l0aC1hbmltIHtcblx0XHRvcGFjaXR5OiAxO1xuXHRcdHRyYW5zZm9ybTogcm90YXRlWSgwZGVnKTtcblx0fVxuXG5cdC5tZnAtYmcge1xuXHRcdG9wYWNpdHk6IDAuODtcblx0fVxufVxuXG4ubWZwLXJlbW92aW5nIHtcblx0Lm1mcC13aXRoLWFuaW0ge1xuXHRcdHRyYW5zZm9ybTogcm90YXRlWSg2MGRlZyk7XG5cdFx0b3BhY2l0eTogMDtcblx0fVxuXG5cdC5tZnAtYmcge1xuXHRcdG9wYWNpdHk6IDA7XG5cdH1cbn1cblxuXG5Aa2V5ZnJhbWVzIHNjcm9sbCB7XG4gIGZyb20ge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKDAsIDApO1xuICB9XG4gIHRvIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgwLCA0MCUpO1xuICB9XG59XG4iLCI6cm9vdCB7XG4gIC0tYnRuLWxpbmstd2lkdGg6IDI3MHB4O1xuICAtLWJ0bi1saW5rLWhlaWdodDogNzBweDtcbiAgLS1idG4tbGluay1mb250LXNpemU6IDE0cHg7XG4gIC0taGVhZGVycy1tYXJnaW4tYm90dG9tOiAzMHB4O1xuICAtLW1lbnUtY2FsbC1ibG9jay1tYXgtd2lkdGg6IDg1N3B4O1xuXG4gIEBpbmNsdWRlIG1vYmlsZSB7XG4gICAgLS1oZWFkZXJzLW1hcmdpbi1ib3R0b206IDIwcHg7XG4gIH1cbn1cblxuLnBhZ2Uge1xuICAvLyAmX19pbm5lciB7XG4gIC8vICAgQGluY2x1ZGUgYmFzZUZsZXhTdHlsZSgkZmxleC1kaXJlY3Rpb246IGNvbHVtbik7XG4gIC8vIH1cblxuICAmX19jb250ZW50IHtcbiAgICBtaW4taGVpZ2h0OiAxMDB2aDtcbiAgfVxufVxuXG4ubWFpbiB7XG4gIC0tdG9wLXBhZGRpbmc6IDUwcHg7XG4gIHBhZGRpbmc6IGNhbGModmFyKC0taGVhZGVyLWhlaWdodCkgKyB2YXIoLS10b3AtcGFkZGluZykpIDAgdmFyKC0tYnRtLXBhZGRpbmcpO1xuICBwYWRkaW5nLWJvdHRvbTogMDtcbiAgJi1ob21lIHtcbiAgICAtLXRvcC1wYWRkaW5nOiAwcHg7XG4gICAgQGluY2x1ZGUgdG8oNTc1cHgpIHtcbiAgICAgIHBhZGRpbmctYm90dG9tOiAwO1xuICAgIH1cbiAgfVxufVxuXG4uaGVhZGVycyB7XG4gIEBpbmNsdWRlIHNldEZvbnRTdHlsZSgnQ29ybW9yYW50IEdhcmFtb25kJywgNjJweCwgMzAwLCAkaGVhZGVycy1jb2xvciwgMTAwJSwgMC4wMWVtKTtcblxuICBAaW5jbHVkZSB0YWJsZXRMYXJnZSB7XG4gICAgZm9udC1zaXplOiA1MHB4O1xuICB9XG4gIEBpbmNsdWRlIG1vYmlsZSB7XG4gICAgZm9udC1zaXplOiAzMHB4O1xuICB9XG59XG5cbi5zZWN0aW9uLXRleHQge1xuICBmb250LXNpemU6IDE2cHg7XG4gIGxpbmUtaGVpZ2h0OiAxNzAlO1xuICBjb2xvcjogJHRleHQtY29sb3I7XG4gIGZvbnQtd2VpZ2h0OiAzMDA7XG4gIEBpbmNsdWRlIHRhYmxldCB7XG4gICAgZm9udC1zaXplOiAxNHB4O1xuICB9XG4gIEBpbmNsdWRlIG1vYmlsZSB7XG4gICAgZm9udC1zaXplOiAxMnB4O1xuICB9XG59XG5cbi5jYXJkIHtcbiAgLy8gd2lkdGg6IDUyMHB4O1xuICBAaW5jbHVkZSBiYXNlRmxleFN0eWxlKHN0cmV0Y2gsICRmbGV4LWRpcmVjdGlvbjogY29sdW1uKTtcbiAgaGVpZ2h0OiAxMDAlO1xuICBtYXgtd2lkdGg6IDEwMCU7XG4gIG92ZXJmbG93LXg6IGhpZGRlbjtcblxuICAvLyAmID4gKiB7XG4gIC8vICAgZmxleC1ncm93OiAxO1xuICAvLyB9XG5cbiAgJi1pbWcge1xuICAgIEBpbmNsdWRlIHNldEltZ1dpZHRoKDEwMCUpO1xuICB9XG5cbiAgJi10b3Age1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIEBpbmNsdWRlIHRhYmxldCB7XG4gICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIH1cbiAgfVxuICBAaW5jbHVkZSBmcm9tKDEwMjVweCkge1xuICAgIGltZyB7XG4gICAgICB0cmFuc2l0aW9uOiAwLjI1cyBlYXNlLW91dDtcbiAgICB9XG4gICAgJjpob3ZlciBpbWcge1xuICAgICAgdHJhbnNmb3JtOiBzY2FsZSgxLjA1KTtcbiAgICB9XG4gIH1cblxuICAmLWJvdHRvbSB7XG4gICAgLS1wYWRkaW5ncy1scmI6IDUwcHg7IC8vIGxyYi0gbGVmdC1yaWdodC1ib3R0b21cbiAgICBwYWRkaW5nOiA0MHB4IHZhcigtLXBhZGRpbmdzLWxyYikgdmFyKC0tcGFkZGluZ3MtbHJiKTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkbGlnaHQtZ3JleTtcbiAgICBib3JkZXI6IDFweCBzb2xpZCAkYm9yZGVyLWNvbG9yO1xuICAgIGJvcmRlci10b3A6IDA7XG4gICAgZmxleC1ncm93OiAxO1xuICAgIEBpbmNsdWRlIHRhYmxldCB7XG4gICAgICBwYWRkaW5nOiAzMHB4IDM1cHg7XG4gICAgfVxuICAgIEBpbmNsdWRlIG1vYmlsZSB7XG4gICAgICBwYWRkaW5nOiAyNXB4IDMwcHg7XG4gICAgfVxuICB9XG5cbiAgJi1kYXRlIHtcbiAgICBtYXJnaW4tYm90dG9tOiAyMHB4O1xuICAgIEBpbmNsdWRlIHNldEZvbnRTdHlsZSgnTW9udCcsIDE2cHgsIDYwMCwgJGRhdGUtY29sb3IsIDEwMCUpO1xuICAgIEBpbmNsdWRlIHRhYmxldCB7XG4gICAgICBmb250LXNpemU6IDE0cHg7XG4gICAgfVxuICAgIEBpbmNsdWRlIG1vYmlsZSB7XG4gICAgICBmb250LXNpemU6IDEycHg7XG4gICAgICBtYXJnaW4tYm90dG9tOiAxMHB4O1xuICAgIH1cblxuICAgICYuaGlkZGVuIHtcbiAgICAgIHZpc2liaWxpdHk6IGhpZGRlbjtcbiAgICB9XG4gIH1cblxuICAmLXRleHQge1xuICAgIEBpbmNsdWRlIHNldEZvbnRTdHlsZSgnTW9udCcsIDIwcHgsIDYwMCwgJGRhcmstZ3JleSwgMTcwJSk7XG4gICAgQGluY2x1ZGUgdGFibGV0IHtcbiAgICAgIGZvbnQtc2l6ZTogMTZweDtcbiAgICB9XG4gICAgQGluY2x1ZGUgbW9iaWxlIHtcbiAgICAgIGZvbnQtc2l6ZTogMTRweDtcbiAgICB9XG4gICAgbWluLWhlaWdodDogY2FsYygxLjdlbSAqIDMpO1xuICAgIC8vIG92ZXJmbG93OiBoaWRkZW47XG4gICAgLy8gdGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7XG4gICAgZGlzcGxheTogLXdlYmtpdC1ib3g7XG4gICAgLXdlYmtpdC1saW5lLWNsYW1wOiAzO1xuICAgIC13ZWJraXQtYm94LW9yaWVudDogdmVydGljYWw7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgfVxufVxuXG4ucHJvZ3Jlc3MtY2FyZCB7XG4gIEBpbmNsdWRlIGJhc2VGbGV4U3R5bGUoc3RyZXRjaCwgJGZsZXgtZGlyZWN0aW9uOiBjb2x1bW4pO1xuICBjdXJzb3I6IHBvaW50ZXI7XG5cbiAgQGluY2x1ZGUgdGFibGV0IHtcbiAgICBtYXJnaW4tYm90dG9tOiA0MHB4O1xuICB9XG4gICY6bGFzdC1jaGlsZCB7XG4gICAgQGluY2x1ZGUgdGFibGV0IHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgfVxuICB9XG4gICY6aG92ZXIge1xuICAgIC5wcm9ncmVzcy1jYXJkX19pbWcge1xuICAgICAgdHJhbnNmb3JtOiBzY2FsZSgxLjAyKTtcblxuICAgICAgJi1wbHVzIHtcbiAgICAgICAgb3BhY2l0eTogMTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAmX19pbWcge1xuICAgIEBpbmNsdWRlIHNldEltZ1dpZHRoKDEwMCUpO1xuICAgIHRyYW5zaXRpb246IHRyYW5zZm9ybSAwLjVzIGVhc2UtaW4tb3V0O1xuXG4gICAgJi1wbHVzIHtcbiAgICAgIEBpbmNsdWRlIGFicy1wb3NpdGlvbigpO1xuICAgICAgb3BhY2l0eTogMDtcbiAgICAgIHRyYW5zaXRpb246IG9wYWNpdHkgMC41cyBlYXNlLWluLW91dDtcbiAgICB9XG4gIH1cblxuICAmLXRvcCB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gIH1cblxuICAmLWJvdHRvbSB7XG4gICAgcGFkZGluZzogMzBweCA0MHB4O1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRsaWdodC1ncmV5O1xuICAgIGJvcmRlcjogMXB4IHNvbGlkICRib3JkZXItY29sb3I7XG4gICAgYm9yZGVyLXRvcDogMDtcbiAgICBmbGV4LWdyb3c6IDE7XG4gICAgQGluY2x1ZGUgYmFzZUZsZXhTdHlsZShjZW50ZXIsIHNwYWNlLWJldHdlZW4pO1xuICAgIEBpbmNsdWRlIHNldEZvbnRTdHlsZSgnTW9udCcsIDIwcHgsIDYwMCwgJGRhcmstZ3JleSwgMTAwJSk7XG4gICAgQGluY2x1ZGUgdGFibGV0IHtcbiAgICAgIGZvbnQtc2l6ZTogMTZweDtcbiAgICB9XG4gICAgQGluY2x1ZGUgbW9iaWxlIHtcbiAgICAgIHBhZGRpbmc6IDIwcHg7XG4gICAgICBmb250LXNpemU6IDE0cHg7XG4gICAgfVxuICB9XG4gICZfX251bWJlcnMge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gIH1cblxuICAmX19udW1iZXJzLWluZm8ge1xuICAgIEBpbmNsdWRlIGJhc2VGbGV4U3R5bGUoY2VudGVyKTtcbiAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcblxuICAgICY6bm90KDpsYXN0LWNoaWxkKSB7XG4gICAgICBtYXJnaW4tcmlnaHQ6IDM0cHg7XG4gICAgfVxuXG4gICAgJjo6YmVmb3JlIHtcbiAgICAgIEBpbmNsdWRlIGFmdGVyLWJlZm9yZS1pbWcoJycsIDIwcHgpO1xuICAgICAgbWFyZ2luLXJpZ2h0OiAxMHB4O1xuICAgIH1cblxuICAgICZfdmlkZW8ge1xuICAgICAgJjo6YmVmb3JlIHtcbiAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKCcuLi9pbWFnZXMvcHJvZ3Jlc3MvdmlkZW8uc3ZnJyk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgJl9wYWdlcyB7XG4gICAgICAmOjpiZWZvcmUge1xuICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoJy4uL2ltYWdlcy9wcm9ncmVzcy9wYWdlcy5zdmcnKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuLm1lbnUge1xuICBwb3NpdGlvbjogZml4ZWQ7XG4gIEBpbmNsdWRlIHdpZHRoLWhlaWd0aCgxMDAlKTtcbiAgQGluY2x1ZGUgdG8oNTc1cHgpIHtcbiAgICBtaW4taGVpZ2h0OiAtd2Via2l0LWZpbGwtYXZhaWxhYmxlO1xuICB9XG4gIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMCwgMCwgMCwgMC44KTtcbiAgdG9wOiAwO1xuICB6LWluZGV4OiAyMDtcbiAgQGluY2x1ZGUgYmFzZUZsZXhTdHlsZSgkanVzdGlmeS1jb250ZW50OiBmbGV4LWVuZCk7XG4gIHZpc2liaWxpdHk6IGhpZGRlbjtcbiAgb3BhY2l0eTogMDtcbiAgLy8gdHJhbnNpdGlvbjogb3BhY2l0eSAwLjNzIGVhc2UtaW4tb3V0O1xuICBAaW5jbHVkZSBtdWx0aXBsZS10cmFuc2l0aW9ucygwLjNzLCBlYXNlLWluLW91dCwgb3BhY2l0eSwgdmlzaWJpbGl0eSk7XG5cbiAgJjo6LXdlYmtpdC1zY3JvbGxiYXIge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cblxuICAmLmFjdGl2ZSB7XG4gICAgdmlzaWJpbGl0eTogdmlzaWJsZTtcbiAgICBvcGFjaXR5OiAxO1xuICAgIG92ZXJmbG93LXk6IGF1dG87XG4gIH1cblxuICAubWVudS1ibG9jayB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGxpZ2h0LWdyZXk7XG4gICAgbWluLWhlaWdodDogMTAwJTtcbiAgICAvLyBtYXgtd2lkdGg6IHZhcigtLW1lbnUtY2FsbC1ibG9jay1tYXgtd2lkdGgpO1xuICAgIC8vIGZsZXgtc2hyaW5rOiA7XG4gICAgZmxleDogMCAwIHZhcigtLW1lbnUtY2FsbC1ibG9jay1tYXgtd2lkdGgpO1xuICAgIHBhZGRpbmc6IHZhcigtLWhlYWRlci10Yi1wYWRkaW5nKSB2YXIoLS1sci1wYWRkaW5ncyk7XG4gICAgcGFkZGluZy1sZWZ0OiAwO1xuICAgIC8vIEBpbmNsdWRlIGJhc2VGbGV4U3R5bGUoZmxleC1lbmQsIHNwYWNlLWJldHdlZW4sIGNvbHVtbik7XG4gICAgLy8gQGluY2x1ZGUgYmFzZUdyaWRTdHlsZShyZXBlYXQoMywgYXV0byksIGF1dG8pO1xuICAgIC8vIEBpbmNsdWRlIGJhc2VHcmlkU3R5bGUoYXV0byByZXBlYXQoMiwgMWZyKSwgYXV0byk7XG4gICAgQGluY2x1ZGUgYmFzZUdyaWRTdHlsZShhdXRvIDFmciBhdXRvLCBhdXRvKTtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kO1xuICAgIEBpbmNsdWRlIHRhYmxldCB7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgIHBhZGRpbmc6IDE1cHggNDBweDtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgbWluLWhlaWdodDogYXV0bztcbiAgICAgIGZsZXg6IGF1dG87XG4gICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICBAaW5jbHVkZSB0byg1NzVweCkge1xuICAgICAgICBtaW4taGVpZ2h0OiAtd2Via2l0LWZpbGwtYXZhaWxhYmxlO1xuICAgICAgfVxuICAgICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICAgIH1cbiAgICBAaW5jbHVkZSBtb2JpbGUge1xuICAgICAgcGFkZGluZzogMTBweCAxNXB4O1xuICAgIH1cblxuICAgICZfX2hlYWRlciB7XG4gICAgICBAaW5jbHVkZSBiYXNlRmxleFN0eWxlKGNlbnRlcik7XG5cbiAgICAgIEBpbmNsdWRlIHRhYmxldCB7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgICAgIH1cblxuICAgICAgJiAqIHtcbiAgICAgICAgQGluY2x1ZGUgc2V0Rm9udFN0eWxlKCdNb250JywgMTZweCwgNTAwLCAkZGFyay1ncmV5LCAxMDAlLCAwLjAxZW0pO1xuICAgICAgICBAaW5jbHVkZSBtb2JpbGUge1xuICAgICAgICAgIGZvbnQtc2l6ZTogMTRweDtcbiAgICAgICAgfVxuICAgICAgICBAaW5jbHVkZSBmcm9tKDEwMjVweCkge1xuICAgICAgICAgIHRyYW5zaXRpb246IDAuM3MgZWFzZS1vdXQ7XG4gICAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgICBjb2xvcjogJGRhcmstdmlvbGV0O1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAmOm5vdCg6bGFzdC1jaGlsZCkge1xuICAgICAgICAgIG1hcmdpbi1yaWdodDogMTE3cHg7XG4gICAgICAgICAgQGluY2x1ZGUgbW9iaWxlIHtcbiAgICAgICAgICAgIG1hcmdpbi1yaWdodDogYXV0bztcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gICAgJl9fY2FsbC1idG4ge1xuICAgICAgZm9udC1zaXplOiAxNHB4O1xuICAgICAgLy8gQGluY2x1ZGUgdGFibGV0IHtcbiAgICAgIC8vICAgZGlzcGxheTogbm9uZTtcbiAgICAgIC8vIH1cbiAgICAgIEBpbmNsdWRlIG1vYmlsZSB7XG4gICAgICAgIGZvbnQtc2l6ZTogMDtcbiAgICAgICAgd2lkdGg6IDQ1cHg7XG4gICAgICAgIGhlaWdodDogNDVweDtcbiAgICAgICAgYm9yZGVyOiAxcHggc29saWQgJGRhcmstdmlvbGV0O1xuICAgICAgICBib3JkZXItcmFkaXVzOiA1MCU7XG4gICAgICAgIG1hcmdpbi1yaWdodDogMTVweCAhaW1wb3J0YW50O1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgJjphZnRlciB7XG4gICAgICAgICAgY29udGVudDogJyc7XG4gICAgICAgICAgd2lkdGg6IDEzcHg7XG4gICAgICAgICAgaGVpZ2h0OiAxNHB4O1xuICAgICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImRhdGE6aW1hZ2Uvc3ZnK3htbCwlM0Nzdmcgd2lkdGg9JzE1JyBoZWlnaHQ9JzE2JyB2aWV3Qm94PScwIDAgMTUgMTYnIGZpbGw9J25vbmUnIHhtbG5zPSdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyclM0UlM0NwYXRoIGQ9J00xMy43MTYgMTEuMjUzOFYxMy4zMTU2QzEzLjcxNjcgMTMuNTA3IDEzLjY4MDMgMTMuNjk2NCAxMy42MDg5IDEzLjg3MThDMTMuNTM3NiAxNC4wNDcyIDEzLjQzMjkgMTQuMjA0NiAxMy4zMDE3IDE0LjMzNEMxMy4xNzA1IDE0LjQ2MzQgMTMuMDE1NiAxNC41NjE5IDEyLjg0NjkgMTQuNjIzMkMxMi42NzgyIDE0LjY4NDUgMTIuNDk5NCAxNC43MDczIDEyLjMyMjEgMTQuNjkwMUMxMC4zNTQ0IDE0LjQ2MDMgOC40NjQ0MSAxMy43Mzc2IDYuODAzODIgMTIuNTgwMkM1LjI1ODg1IDExLjUyNTEgMy45NDg5OSAxMC4xMTcyIDIuOTY3MjUgOC40NTY3MkMxLjg4NjYxIDYuNjYzODMgMS4yMTQxIDQuNjIyNTUgMS4wMDQyMSAyLjQ5ODI3QzAuOTg4MjM1IDIuMzA4MjIgMS4wMDkyNSAyLjExNjY4IDEuMDY1OTIgMS45MzU4NEMxLjEyMjU5IDEuNzU1IDEuMjEzNjcgMS41ODg4MyAxLjMzMzM3IDEuNDQ3ODlDMS40NTMwNyAxLjMwNjk2IDEuNTk4NzYgMS4xOTQzNiAxLjc2MTE2IDEuMTE3MjZDMS45MjM1NyAxLjA0MDE2IDIuMDk5MTMgMS4wMDAyNSAyLjI3NjY3IDEuMDAwMDdINC4xOTQ5NUM0LjUwNTI3IDAuOTk2Nzg0IDQuODA2MTEgMS4xMTQ4OSA1LjA0MTQgMS4zMzIzN0M1LjI3NjY5IDEuNTQ5ODYgNS40MzAzOCAxLjg1MTg4IDUuNDczODEgMi4xODIxNEM1LjU1NDc3IDIuODQxOTQgNS43MDQ5MyAzLjQ4OTc4IDUuOTIxNDEgNC4xMTMzMUM2LjAwNzQ0IDQuMzU5MjkgNi4wMjYwNiA0LjYyNjYyIDUuOTc1MDYgNC44ODM2M0M1LjkyNDA2IDUuMTQwNjQgNS44MDU1OCA1LjM3NjU1IDUuNjMzNjYgNS41NjM0TDQuODIxNTkgNi40MzYyMUM1LjczMTg1IDguMTU2NzcgNy4wNTczMiA5LjU4MTM3IDguNjU4MTUgMTAuNTU5N0w5LjQ3MDIzIDkuNjg2OUM5LjY0NDA4IDkuNTAyMTIgOS44NjM1NyA5LjM3NDc4IDEwLjEwMjcgOS4zMTk5N0MxMC4zNDE4IDkuMjY1MTYgMTAuNTkwNiA5LjI4NTE3IDEwLjgxOTQgOS4zNzc2NEMxMS4zOTk2IDkuNjEwMyAxMi4wMDIzIDkuNzcxNjkgMTIuNjE2MiA5Ljg1ODcxQzEyLjkyNjggOS45MDU4MSAxMy4yMTA1IDEwLjA3NCAxMy40MTMzIDEwLjMzMTJDMTMuNjE2MSAxMC41ODg0IDEzLjcyMzggMTAuOTE2OCAxMy43MTYgMTEuMjUzOFonIHN0cm9rZT0nJTIzNEEzQTVFJyBzdHJva2UtbGluZWNhcD0ncm91bmQnIHN0cm9rZS1saW5lam9pbj0ncm91bmQnLyUzRSUzQy9zdmclM0UlMEFcIik7XG4gICAgICAgICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgICAgICAgICBiYWNrZ3JvdW5kLXNpemU6IGNvbnRhaW47XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICAmX19jbG9zZS1idG4ge1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICAgICY6OmFmdGVyIHtcbiAgICAgICAgLy8gQGluY2x1ZGUgYWZ0ZXItYmVmb3JlLWltZygnLi4vaW1hZ2VzL2Zvb3Rlci9jbG9zZS1pY29uLnN2ZycsIDcwcHgsIDcwcHgpO1xuICAgICAgICBAaW5jbHVkZSBtb2JpbGUge1xuICAgICAgICAgIGhlaWdodDogNDVweDtcbiAgICAgICAgICB3aWR0aDogNDVweDtcbiAgICAgICAgICBiYWNrZ3JvdW5kLXNpemU6IDQ1cHggNDVweDtcbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgQGluY2x1ZGUgbW9iaWxlIHtcbiAgICAgICAgaGVpZ2h0OiA0NXB4O1xuICAgICAgICB3aWR0aDogNDVweDtcbiAgICAgICAgYmFja2dyb3VuZC1zaXplOiA0NXB4IDQ1cHg7XG4gICAgICB9XG4gICAgICAuaG92ZXIsXG4gICAgICAuZGVmYXVsdCB7XG4gICAgICAgIHRyYW5zaXRpb246IDAuMjVzIGVhc2Utb3V0O1xuICAgICAgICB0cmFuc2Zvcm0tb3JpZ2luOiBjZW50ZXI7XG4gICAgICAgIHRyYW5zZm9ybS1ib3g6IGZpbGwtYm94O1xuICAgICAgfVxuICAgICAgLmRlZmF1bHQge1xuICAgICAgICB0cmFuc2Zvcm06IHNjYWxlKDEpO1xuICAgICAgfVxuICAgICAgLmhvdmVyIHtcbiAgICAgICAgdHJhbnNmb3JtOiBzY2FsZSgwKTtcbiAgICAgICAgZmlsbDogJGxhdmFuZGVyO1xuICAgICAgfVxuICAgICAgQGluY2x1ZGUgZnJvbSgxMDI1cHgpIHtcbiAgICAgICAgJjpob3ZlciAuaG92ZXIge1xuICAgICAgICAgIHRyYW5zZm9ybTogc2NhbGUoMSk7XG4gICAgICAgIH1cbiAgICAgICAgJjpob3ZlciAuZGVmYXVsdCB7XG4gICAgICAgICAgdHJhbnNmb3JtOiBzY2FsZSgwKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgICZfX2NvbnRlbnQge1xuICAgICAgQGluY2x1ZGUgYmFzZUZsZXhTdHlsZShjZW50ZXIpO1xuICAgIH1cblxuICAgICZfX2VsZW1lbnQge1xuICAgICAgJjpub3QoOmxhc3QtY2hpbGQpIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMzBweDtcbiAgICAgICAgQGluY2x1ZGUgbW9iaWxlIHtcbiAgICAgICAgICBtYXJnaW4tYm90dG9tOiAyMHB4O1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgJl9fbGluayB7XG4gICAgICBAaW5jbHVkZSBzZXRGb250U3R5bGUoJ0Nvcm1vcmFudCBHYXJhbW9uZCcsIDUwcHgsIDQwMCwgJGhlYWRlcnMtY29sb3IsIDEwMCUsIDAuMDFlbSk7XG4gICAgICBAaW5jbHVkZSB0YWJsZXQge1xuICAgICAgICBmb250LXNpemU6IDQwcHg7XG4gICAgICB9XG4gICAgICBAaW5jbHVkZSBtb2JpbGUge1xuICAgICAgICBmb250LXNpemU6IDMwcHg7XG4gICAgICB9XG4gICAgfVxuICAgICZfX2xpbmsge1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgLy8gbGluZS1oZWlnaHQ6IDEwMCU7XG4gICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgICAgZGlzcGxheTogYmxvY2s7XG5cbiAgICAgIEBpbmNsdWRlIGZyb20oMTAyNXB4KSB7XG4gICAgICAgIGNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICAgICAgJjphZnRlciB7XG4gICAgICAgICAgY29udGVudDogYXR0cihkYXRhLXRleHQpO1xuICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICBsZWZ0OiAwO1xuICAgICAgICAgIHRvcDogMDtcbiAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICAgICAgLy8gY29sb3I6IGdyZWVuO1xuICAgICAgICAgIHRyYW5zaXRpb246IDAuMjVzIGVhc2Utb3V0O1xuICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMTAwJSk7XG4gICAgICAgICAgY29sb3I6ICRkYXJrLXZpb2xldDtcbiAgICAgICAgICBsaW5lLWhlaWdodDogMTEwJTtcbiAgICAgICAgICBvcGFjaXR5OiAwO1xuICAgICAgICB9XG4gICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICBjb250ZW50OiBhdHRyKGRhdGEtdGV4dCk7XG4gICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgIC8vIGNvbG9yOiB2YXIoLS1jb2xvci13aGl0ZSk7XG4gICAgICAgICAgbGVmdDogMDtcbiAgICAgICAgICB0b3A6IDA7XG4gICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgICAgIGxpbmUtaGVpZ2h0OiAxMTAlO1xuICAgICAgICAgIGNvbG9yOiAkaGVhZGVycy1jb2xvcjtcbiAgICAgICAgICB0cmFuc2l0aW9uOiAwLjI1cyBlYXNlLW91dDtcbiAgICAgICAgfVxuICAgICAgICAmOmhvdmVyOmJlZm9yZSB7XG4gICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDExMCUpO1xuICAgICAgICB9XG4gICAgICAgICY6aG92ZXI6YWZ0ZXIge1xuICAgICAgICAgIG9wYWNpdHk6IDE7XG4gICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICAgIC5sYW5nLWJsb2NrIHtcbiAgICAgIHVsIHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgZ2FwOiA1cHg7XG4gICAgICAgIGEge1xuICAgICAgICAgIGNvbG9yOiAkZGFyay1ncmV5O1xuICAgICAgICB9XG4gICAgICAgIGxpLmFjdGl2ZSBhIHtcbiAgICAgICAgICBmb250LXdlaWdodDogYm9sZDtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgICAmX19mb290ZXIge1xuICAgICAgQGluY2x1ZGUgYmFzZUZsZXhTdHlsZShjZW50ZXIsIHNwYWNlLWJldHdlZW4pO1xuICAgICAgQGluY2x1ZGUgc2V0Rm9udFN0eWxlKCdNb250JywgMTRweCwgNDAwLCAkZGFyay1ncmV5LCAxMDAlLCAwLjAxZW0pO1xuICAgIH1cblxuICAgICZfX3NvYy1saW5rIHtcbiAgICAgIC8vIEBpbmNsdWRlIHNldEZvbnRTdHlsZSgnTW9udCcsIDE0cHgsIDQwMCwgJGRhcmstZ3JleSwgMTAwJSwgMC4wMWVtKTtcbiAgICAgIGNvbG9yOiAkZGFyay1ncmV5O1xuICAgICAgQGluY2x1ZGUgdGFibGV0IHtcbiAgICAgICAgZm9udC1zaXplOiAxMnB4O1xuICAgICAgfVxuICAgICAgQGluY2x1ZGUgbW9iaWxlIHtcbiAgICAgICAgZm9udC1zaXplOiAxMHB4O1xuICAgICAgfVxuXG4gICAgICAmX2luc3RhIHtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IDYwcHg7XG4gICAgICAgIEBpbmNsdWRlIG1vYmlsZSB7XG4gICAgICAgICAgbWFyZ2luLWxlZnQ6IDQwcHg7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICAmX19sYW5nLWJ0biB7XG4gICAgICAvLyBAaW5jbHVkZSBsaW5rLWJ0bnMoNzBweCwgNzBweCwgdHJhbnNwYXJlbnQsIDE0cHgsICRoZWFkZXJzLWNvbG9yKTtcbiAgICAgIC8vIGJvcmRlcjogO1xuICAgICAgQGluY2x1ZGUgc2xpZGVCdG5zKHJnYmEoNzQsIDU4LCA5NCwgMC4yNSkpO1xuICAgICAgQGluY2x1ZGUgd2lkdGgtaGVpZ3RoKDcwcHgpO1xuICAgICAgYm9yZGVyLXdpZHRoOiAxcHg7XG4gICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgICAgQGluY2x1ZGUgbW9iaWxlIHtcbiAgICAgICAgd2lkdGg6IDQ1cHg7XG4gICAgICAgIGhlaWdodDogNDVweDtcbiAgICAgICAgZm9udC1zaXplOiAxMHB4O1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG4uY2FsbCB7XG4gIHBvc2l0aW9uOiBmaXhlZDtcbiAgQGluY2x1ZGUgd2lkdGgtaGVpZ3RoKDEwMCUpO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuOCk7XG4gIHRvcDogMDtcbiAgei1pbmRleDogMzA7XG4gIEBpbmNsdWRlIGJhc2VGbGV4U3R5bGUoJGp1c3RpZnktY29udGVudDogZmxleC1lbmQpO1xuICB2aXNpYmlsaXR5OiBoaWRkZW47XG4gIG9wYWNpdHk6IDA7XG4gIEBpbmNsdWRlIG11bHRpcGxlLXRyYW5zaXRpb25zKDAuM3MsIGVhc2UtaW4tb3V0LCBvcGFjaXR5LCB2aXNpYmlsaXR5KTtcblxuICAmLmFjdGl2ZSB7XG4gICAgdmlzaWJpbGl0eTogdmlzaWJsZTtcbiAgICBvcGFjaXR5OiAxO1xuICAgIG92ZXJmbG93LXk6IGF1dG87XG4gIH1cblxuICAuY2FsbC1ibG9jayxcbiAgLmNhbGwtdGhhbmtzLWJsb2NrIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkbGlnaHQtZ3JleTtcbiAgICBtaW4taGVpZ2h0OiAxMDAlO1xuICAgIGZsZXg6IDAgMCB2YXIoLS1tZW51LWNhbGwtYmxvY2stbWF4LXdpZHRoKTtcbiAgICBwYWRkaW5nOiB2YXIoLS1oZWFkZXItdGItcGFkZGluZykgdmFyKC0tbHItcGFkZGluZ3MpO1xuICAgIHBhZGRpbmctbGVmdDogMDtcbiAgICAvLyBAaW5jbHVkZSBiYXNlR3JpZFN0eWxlKGF1dG8gMWZyLCBhdXRvKTtcbiAgICBAaW5jbHVkZSBiYXNlR3JpZFN0eWxlKGF1dG8gMWZyLCAxZnIgcmVwZWF0KDIsIGF1dG8pKTtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kO1xuICAgIEBpbmNsdWRlIG11bHRpcGxlLXRyYW5zaXRpb25zKDAuNXMsIGVhc2UtaW4tb3V0LCBvcGFjaXR5LCB2aXNpYmlsaXR5KTtcbiAgICBAaW5jbHVkZSB0YWJsZXQge1xuICAgICAgcGFkZGluZzogMTVweCA0MHB4O1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0O1xuICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgIGZsZXg6IDAgMCBhdXRvO1xuICAgIH1cbiAgICBAaW5jbHVkZSBtb2JpbGUge1xuICAgICAgcGFkZGluZzogMTBweCAxNXB4O1xuICAgIH1cblxuICAgICYuYWN0aXZlIHtcbiAgICAgIC8vIHRvcDogMTAwJTtcbiAgICAgIC8vIHZpc2liaWxpdHk6IHZpc2libGU7XG4gICAgICAvLyBvcGFjaXR5OiAxO1xuICAgICAgLy8gYW5pbWF0aW9uOiBmYWRlSW4gNXMgZWFzZS1pbi1vdXQ7XG4gICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCk7XG4gICAgfVxuXG4gICAgJi5oaWRkZW4ge1xuICAgICAgdmlzaWJpbGl0eTogaGlkZGVuO1xuICAgICAgb3BhY2l0eTogMDtcbiAgICAgIC8vIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxuXG4gICAgJl9faGVhZGVyIHtcbiAgICAgIGdyaWQtY29sdW1uLXN0YXJ0OiAzO1xuICAgICAgQGluY2x1ZGUgYmFzZUZsZXhTdHlsZSgkanVzdGlmeS1jb250ZW50OiBmbGV4LWVuZCk7XG4gICAgfVxuXG4gICAgJl9fY2xvc2UtYnRuIHtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBzdmcge1xuICAgICAgICB3aWR0aDogNzBweDtcbiAgICAgICAgaGVpZ2h0OiA3MHB4O1xuICAgICAgICAuaG92ZXIsXG4gICAgICAgIC5kZWZhdWx0IHtcbiAgICAgICAgICB0cmFuc2l0aW9uOiAwLjI1cyBlYXNlLW91dDtcbiAgICAgICAgICB0cmFuc2Zvcm0tb3JpZ2luOiBjZW50ZXI7XG4gICAgICAgICAgdHJhbnNmb3JtLWJveDogZmlsbC1ib3g7XG4gICAgICAgIH1cbiAgICAgICAgLmRlZmF1bHQge1xuICAgICAgICAgIHRyYW5zZm9ybTogc2NhbGUoMSk7XG4gICAgICAgIH1cbiAgICAgICAgLmhvdmVyIHtcbiAgICAgICAgICB0cmFuc2Zvcm06IHNjYWxlKDApO1xuICAgICAgICAgIGZpbGw6ICRsYXZhbmRlcjtcbiAgICAgICAgfVxuICAgICAgICBAaW5jbHVkZSBtb2JpbGUge1xuICAgICAgICAgIGhlaWdodDogNDVweDtcbiAgICAgICAgICB3aWR0aDogNDVweDtcbiAgICAgICAgICBiYWNrZ3JvdW5kLXNpemU6IDQ1cHggNDVweDtcbiAgICAgICAgfVxuICAgICAgICBAaW5jbHVkZSBmcm9tKDEwMjVweCkge1xuICAgICAgICAgICY6aG92ZXIgLmhvdmVyIHtcbiAgICAgICAgICAgIHRyYW5zZm9ybTogc2NhbGUoMSk7XG4gICAgICAgICAgfVxuICAgICAgICAgICY6aG92ZXIgLmRlZmF1bHQge1xuICAgICAgICAgICAgdHJhbnNmb3JtOiBzY2FsZSgwKTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgIC8vICY6OmFmdGVyIHtcbiAgICAgIC8vICAgQGluY2x1ZGUgYWZ0ZXItYmVmb3JlLWltZygnLi4vaW1hZ2VzL2Zvb3Rlci9jbG9zZS1pY29uLnN2ZycsIDcwcHgsIDcwcHgpO1xuICAgICAgLy8gICBAaW5jbHVkZSBtb2JpbGUge1xuICAgICAgLy8gICAgIGhlaWdodDogNDVweDtcbiAgICAgIC8vICAgICB3aWR0aDogNDVweDtcbiAgICAgIC8vICAgICBiYWNrZ3JvdW5kLXNpemU6IDQ1cHggNDVweDtcbiAgICAgIC8vICAgfVxuICAgICAgLy8gfVxuICAgIH1cblxuICAgICZfX2NvbnRlbnQge1xuICAgICAgZ3JpZC1yb3ctc3RhcnQ6IDI7XG4gICAgICBncmlkLWNvbHVtbi1zdGFydDogMjtcbiAgICAgIG1heC13aWR0aDogNTIwcHg7XG4gICAgICBAaW5jbHVkZSBiYXNlRmxleFN0eWxlKCRqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlciwgJGZsZXgtZGlyZWN0aW9uOiBjb2x1bW4pO1xuICAgICAgQGluY2x1ZGUgdGFibGV0IHtcbiAgICAgICAgaGVpZ2h0OiA1MHZoO1xuICAgICAgfVxuICAgICAgQGluY2x1ZGUgbW9iaWxlIHtcbiAgICAgICAgaGVpZ2h0OiA4MHZoO1xuICAgICAgfVxuICAgIH1cblxuICAgICZfX2hlYWRlci10ZXh0IHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDYwcHg7XG4gICAgICBAaW5jbHVkZSB0YWJsZXQge1xuICAgICAgICB3aWR0aDogNTAlO1xuICAgICAgfVxuICAgICAgQGluY2x1ZGUgbW9iaWxlIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMzBweDtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAmX19mb3JtIHtcbiAgICAgIEBpbmNsdWRlIGJhc2VGbGV4U3R5bGUoJGZsZXgtZGlyZWN0aW9uOiBjb2x1bW4pO1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgfVxuICAgIC5mb3JtLWZpZWxkIHtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgLmlucHV0LW1lc3NhZ2Uge1xuICAgICAgICBtYXJnaW4tdG9wOiAwO1xuICAgICAgICBjb2xvcjogcmVkO1xuICAgICAgICBtYXJnaW4tYm90dG9tOiA3cHg7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgbGVmdDogMDtcbiAgICAgICAgYm90dG9tOiAwO1xuICAgICAgfVxuICAgIH1cbiAgICAmX19pbnB1dCB7XG4gICAgICBAaW5jbHVkZSByZXNldElucHV0U3R5bGVzO1xuICAgICAgcGFkZGluZy1ib3R0b206IDEwcHg7XG4gICAgICBtYXJnaW4tYm90dG9tOiA0MHB4O1xuICAgICAgYm9yZGVyLWJvdHRvbTogMnB4IHNvbGlkIHJnYmEoNzQsIDU4LCA5NCwgMC4xNSk7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIEBpbmNsdWRlIHNldEZvbnRTdHlsZSgnTW9udCcsIDE2cHgsIDQwMCwgJGRhcmstZ3JleSwgMTcwJSwgJHRleHQtdHJhbnNmb3JtOiBub25lKTtcbiAgICAgIEBpbmNsdWRlIHRhYmxldCB7XG4gICAgICAgIGZvbnQtc2l6ZTogMTRweDtcbiAgICAgIH1cbiAgICAgIEBpbmNsdWRlIG1vYmlsZSB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDMwcHg7XG4gICAgICAgIHBhZGRpbmctYm90dG9tOiA3cHg7XG4gICAgICAgIGZvbnQtc2l6ZTogMTJweDtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAmX19jaGVja2JveCB7XG4gICAgICAmLXdyYXBwZXIge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiA2MHB4O1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIC5pbnB1dC1tZXNzYWdlIHtcbiAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgdG9wOiBjYWxjKDEwMCUgKyAxMHB4KTtcbiAgICAgICAgICBjb2xvcjogcmVkO1xuICAgICAgICB9XG4gICAgICAgIEBpbmNsdWRlIGJhc2VGbGV4U3R5bGUoY2VudGVyKTtcbiAgICAgICAgQGluY2x1ZGUgbW9iaWxlIHtcbiAgICAgICAgICBtYXJnaW4tYm90dG9tOiAzMHB4O1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgICYge1xuICAgICAgICBAaW5jbHVkZSB3aWR0aC1oZWlndGgoMjVweCk7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgYXBwZWFyYW5jZTogbm9uZTtcbiAgICAgICAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lO1xuICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgICAgIEBpbmNsdWRlIG1vYmlsZSB7XG4gICAgICAgICAgaGVpZ2h0OiAyMHB4O1xuICAgICAgICAgIHdpZHRoOiAyMHB4O1xuICAgICAgICB9XG4gICAgICAgIC8vICY6Y2hlY2tlZCArIC5jYWxsLWJsb2NrX19jaGVja2JveC1jdXN0b20ge1xuICAgICAgICAvLyAgIC8vIGJhY2tncm91bmQ6IG5vLXJlcGVhdCBjZW50ZXIgJGRhcmstdmlvbGV0IHVybCgnLi4vaW1hZ2VzL2NhbGwvb2suc3ZnJyk7XG4gICAgICAgIC8vICAgYmFja2dyb3VuZC1jb2xvcjogdG9tYXRvO1xuICAgICAgICAvLyB9XG4gICAgICAgIC8vICY6Y2hlY2tlZCB7XG4gICAgICAgIC8vICAgYmFja2dyb3VuZC1jb2xvcjogdG9tYXRvO1xuICAgICAgICAvLyB9XG4gICAgICB9XG5cbiAgICAgICY6Y2hlY2tlZCArIC5jYWxsLWJsb2NrX19jaGVja2JveC1jdXN0b20ge1xuICAgICAgICBiYWNrZ3JvdW5kOiBuby1yZXBlYXQgY2VudGVyICRkYXJrLXZpb2xldCB1cmwoJy4uL2ltYWdlcy9jYWxsL29rLnN2ZycpO1xuICAgICAgfVxuXG4gICAgICAmLWxhYmVsIHtcbiAgICAgICAgcGFkZGluZy1sZWZ0OiAxNXB4O1xuICAgICAgICBAaW5jbHVkZSBzZXRGb250U3R5bGUoJ01vbnQnLCAxMnB4LCA1MDAsICRkYXJrLWdyZXksIDEwMCUsICR0ZXh0LXRyYW5zZm9ybTogbm9uZSk7XG4gICAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICAgIH1cblxuICAgICAgJi1jdXN0b20ge1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIC8vIGJhY2tncm91bmQ6IG5vLXJlcGVhdCBjZW50ZXIgJGRhcmstdmlvbGV0IHVybCgnLi4vaW1hZ2VzL2NhbGwvb2suc3ZnJyk7XG4gICAgICAgIGJvcmRlcjogMXB4IHNvbGlkICM0YTNhNWU7XG4gICAgICAgIEBpbmNsdWRlIHdpZHRoLWhlaWd0aCgyNXB4KTtcbiAgICAgICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gICAgICB9XG4gICAgfVxuXG4gICAgJl9fc3VibWl0IHtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBbZGF0YS1idG4tc3VibWl0LXRleHRdIHtcbiAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgIH1cbiAgICAgIHN2ZyB7XG4gICAgICAgIHdpZHRoOiAxMTBweDtcbiAgICAgICAgaGVpZ2h0OiAxMTBweDtcbiAgICAgICAgLmhvdmVyLFxuICAgICAgICAuZGVmYXVsdCB7XG4gICAgICAgICAgdHJhbnNpdGlvbjogMC4yNXMgZWFzZS1vdXQ7XG4gICAgICAgICAgdHJhbnNmb3JtLW9yaWdpbjogY2VudGVyO1xuICAgICAgICAgIHRyYW5zZm9ybS1ib3g6IGZpbGwtYm94O1xuICAgICAgICB9XG4gICAgICAgIC5kZWZhdWx0IHtcbiAgICAgICAgICB0cmFuc2Zvcm06IHNjYWxlKDEpO1xuICAgICAgICB9XG4gICAgICAgIC5ob3ZlciB7XG4gICAgICAgICAgdHJhbnNmb3JtOiBzY2FsZSgwKTtcbiAgICAgICAgICBmaWxsOiAkbGF2YW5kZXI7XG4gICAgICAgIH1cbiAgICAgICAgQGluY2x1ZGUgbW9iaWxlIHtcbiAgICAgICAgICBoZWlnaHQ6IDgwcHg7XG4gICAgICAgICAgd2lkdGg6IDgwcHg7XG4gICAgICAgIH1cbiAgICAgICAgQGluY2x1ZGUgZnJvbSgxMDI1cHgpIHtcbiAgICAgICAgICAmOmhvdmVyIC5ob3ZlciB7XG4gICAgICAgICAgICB0cmFuc2Zvcm06IHNjYWxlKDEpO1xuICAgICAgICAgIH1cbiAgICAgICAgICAmOmhvdmVyIC5kZWZhdWx0IHtcbiAgICAgICAgICAgIHRyYW5zZm9ybTogc2NhbGUoMCk7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgICAvLyAmOjpiZWZvcmUge1xuICAgICAgLy8gICBAaW5jbHVkZSBhZnRlci1iZWZvcmUtaW1nKCcuLi9pbWFnZXMvY2FsbC9zdWJtaXQuc3ZnJywgMTEwcHgpO1xuICAgICAgLy8gICBAaW5jbHVkZSBtb2JpbGUge1xuICAgICAgLy8gICAgIHdpZHRoOiA4MHB4O1xuICAgICAgLy8gICAgIGhlaWdodDogODBweDtcbiAgICAgIC8vICAgICBiYWNrZ3JvdW5kLXNpemU6IDgwcHggODBweDtcbiAgICAgIC8vICAgfVxuICAgICAgLy8gfVxuICAgICAgLy8gQGluY2x1ZGUgc2xpZGVCdG5zKCRiYWNrZ3JvdW5kOiApO1xuICAgIH1cblxuICAgIC8qIFRIQU5LUyBCTE9DSyAqL1xuICAgIC8vIC5jYWxsLXRoYW5rcy1oZWFkZXIge1xuICAgIC8vICAgbWFyZ2luLWJvdHRvbTogNDBweDtcbiAgICAvLyB9XG5cbiAgICAmX190ZXh0IHtcbiAgICAgIC8vICYtd3JhcHBlciB7XG4gICAgICAvLyAgIG1hcmdpbi1ib3R0b206IDg0cHg7XG4gICAgICAvLyB9XG5cbiAgICAgICYtaGVhZGVyIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogNDBweDtcbiAgICAgIH1cblxuICAgICAgJiB7XG4gICAgICAgIEBpbmNsdWRlIHNldEZvbnRTdHlsZSgnTW9udCcsIDE2cHgsIDQwMCwgJHRleHQtY29sb3IsIDE3MCUsICR0ZXh0LXRyYW5zZm9ybTogbm9uZSk7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLmNhbGwtdGhhbmtzLWJsb2NrIHtcbiAgICAvLyBiYWNrZ3JvdW5kLWNvbG9yOiB0b21hdG87XG4gICAgZ3JpZC10ZW1wbGF0ZTogcmVwZWF0KDIsIGF1dG8pIDFmci8xZnIgcmVwZWF0KDIsIGF1dG8pO1xuICAgIC8vIHZpc2liaWxpdHk6IGhpZGRlbjtcbiAgICAvLyBvcGFjaXR5OiAwO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTEwMCUpO1xuICAgIC8vIGRpc3BsYXk6IG5vbmU7XG5cbiAgICAmX19jb250ZW50IHtcbiAgICAgIG1hcmdpbi10b3A6IDk2cHg7XG4gICAgICBAaW5jbHVkZSB0YWJsZXQge1xuICAgICAgICBtYXJnaW4tdG9wOiAwO1xuICAgICAgfVxuICAgICAgQGluY2x1ZGUgbW9iaWxlIHtcbiAgICAgICAgbWFyZ2luLXRvcDogMDtcbiAgICAgICAgaGVpZ2h0OiA1NXZoO1xuICAgICAgfVxuICAgIH1cblxuICAgICZfX2ltZyB7XG4gICAgICBncmlkLWNvbHVtbjogMSAvIDQ7XG4gICAgICBncmlkLXJvdy1zdGFydDogNDtcbiAgICAgIG1heC13aWR0aDogMTAwJTtcbiAgICAgIEBpbmNsdWRlIG1vYmlsZSB7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWChjYWxjKHZhcigtLWxyLXBhZGRpbmdzKSAqIC0xKSk7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbi5sci1wYWRkaW5ncyB7XG4gIHBhZGRpbmc6IDAgdmFyKC0tbHItcGFkZGluZ3MpO1xufVxuXG4ud2hpdGUtYnRuLWxpbmssXG4udmlvbGV0LWJ0bi1saW5rIHtcbiAgLS1idG4tbGluay13aWR0aDogMjcwcHg7XG4gIC0tYnRuLWxpbmstaGVpZ2h0OiA3MHB4O1xuICAtLWJ0bi1saW5rLWZvbnQtc2l6ZTogMTRweDtcbiAgQGluY2x1ZGUgbW9iaWxlIHtcbiAgICAtLWJ0bi1saW5rLXdpZHRoOiAxNzBweDtcbiAgICAtLWJ0bi1saW5rLWhlaWdodDogNDVweDtcbiAgICAtLWJ0bi1saW5rLWZvbnQtc2l6ZTogMTBweDtcbiAgfVxufVxuXG4ud2hpdGUtYnRuLWxpbmsge1xuICBAaW5jbHVkZSBsaW5rLWJ0bnMoXG4gICAgdmFyKC0tYnRuLWxpbmstd2lkdGgpLFxuICAgIHZhcigtLWJ0bi1saW5rLWhlaWdodCksXG4gICAgdHJhbnNwYXJlbnQsXG4gICAgdmFyKC0tYnRuLWxpbmstZm9udC1zaXplKSxcbiAgICAkZGFyay12aW9sZXQsXG4gICAgNDAwLFxuICAgIDFweCBzb2xpZCAkZGFyay12aW9sZXRcbiAgKTtcbn1cblxuLnZpb2xldC1idG4tbGluayB7XG4gIEBpbmNsdWRlIGxpbmstYnRucyhcbiAgICB2YXIoLS1idG4tbGluay13aWR0aCksXG4gICAgdmFyKC0tYnRuLWxpbmstaGVpZ2h0KSxcbiAgICAkZGFyay12aW9sZXQsXG4gICAgdmFyKC0tYnRuLWxpbmstZm9udC1zaXplKSxcbiAgICAkd2hpdGUtY29sb3IsXG4gICAgNDAwLFxuICAgIG5vbmVcbiAgKTtcbiAgQGluY2x1ZGUgZnJvbSgxMDI1cHgpIHtcbiAgICB0cmFuc2l0aW9uOiAwLjI1cyBlYXNlLW91dDtcbiAgICAmOmhvdmVyIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICRsaWdodC1sYXZhbmRlcjtcbiAgICB9XG4gIH1cbn1cblxuLmdhbGxlcnktcG9wLXVwIHtcbiAgcG9zaXRpb246IGZpeGVkO1xuICBAaW5jbHVkZSB3aWR0aC1oZWlndGgoMTAwJSk7XG4gIGJhY2tncm91bmQtY29sb3I6ICRsaWdodC1ncmV5O1xuICB0b3A6IDA7XG4gIHotaW5kZXg6IDMwO1xuICBvdmVyZmxvdy15OiBhdXRvO1xuICB2aXNpYmlsaXR5OiBoaWRkZW47XG4gIG9wYWNpdHk6IDA7XG4gIEBpbmNsdWRlIG11bHRpcGxlLXRyYW5zaXRpb25zKDAuM3MsIGVhc2UtaW4tb3V0LCBvcGFjaXR5LCB2aXNpYmlsaXR5KTtcbiAgcGFkZGluZzogNTBweCB2YXIoLS1sci1wYWRkaW5ncyk7XG4gIEBpbmNsdWRlIGJhc2VHcmlkU3R5bGUoYXV0bywgcmVwZWF0KDI0LCAxZnIpKTtcblxuICAmLmFjdGl2ZSB7XG4gICAgdmlzaWJpbGl0eTogdmlzaWJsZTtcbiAgICBvcGFjaXR5OiAxO1xuXG4gICAgQGluY2x1ZGUgdGFibGV0IHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxuICB9XG5cbiAgLnBvcC11cCB7XG4gICAgJi1jb250ZW50IHtcbiAgICAgIGdyaWQtY29sdW1uOiAzIC8gMjM7XG4gICAgICBvdmVyZmxvdy14OiBoaWRkZW47XG4gICAgICBoZWlnaHQ6IDEwMCU7XG5cbiAgICAgICY6Oi13ZWJraXQtc2Nyb2xsYmFyIHtcbiAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAmLW1haW4tc2xpZGUge1xuICAgICAgbWFyZ2luLWJvdHRvbTogMzBweDtcblxuICAgICAgLnNsaWRlLWltZyB7XG4gICAgICAgIEBpbmNsdWRlIHNldEltZ1dpZHRoKDEwMCUpO1xuICAgICAgICBvYmplY3QtZml0OiBjb250YWluO1xuICAgICAgICAvLyBtYXgtaGVpZ2h0OiA3NjBweDtcbiAgICAgICAgLyrQktC10YDRhdC90LjQuSDQv9Cw0LTQtNC40L3QsyDQutC+0L3RgtC10LnQvdC10YDQsCwg0L3QuNC20L3QuNC5INC/0LDQtNC00LjQvdCzINC60L7QvdGC0LXQudC90LXRgNCwLCDQstGL0YHQvtGC0LAg0L3QuNC20L3QtdC5INC/0LDQvdC10LvQuCDQvdCw0LLQuNCz0LDRhtC40LgsINC+0YLRgdGC0YPQvyDQvtGB0L3QvtCy0L3QvtCz0L4g0YHQu9Cw0LnQtNC10YDQsCDQvtGCINC/0LDQvdC10LvQuCDQvdCw0LLQuNCz0LDRhtC40LgqL1xuICAgICAgICBoZWlnaHQ6IGNhbGMoMTAwdmggLSA1MHB4IC0gNTBweCAtIDgwcHggLSAzMHB4KTtcbiAgICAgIH1cblxuICAgICAgLnN3aXBlci1nYWxsZXJ5IHtcbiAgICAgICAgJl9fc2xpZGUge1xuICAgICAgICAgICY6bm90KDpmaXJzdC1jaGlsZCkge1xuICAgICAgICAgICAgLy8gbWFyZ2luLWxlZnQ6IDMwcHg7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gLnN3aXBlciB7XG4gICAgLy8gICAmLXdyYXBwZXIge1xuICAgIC8vICAgICBoZWlnaHQ6IGF1dG87XG4gICAgLy8gICB9XG5cbiAgICAvLyAgICYtc2xpZGUge1xuICAgIC8vICAgICAmOm5vdCg6Zmlyc3QtY2hpbGQpIHtcbiAgICAvLyAgICAgICBtYXJnaW4tbGVmdDogMzBweDtcbiAgICAvLyAgICAgfVxuICAgIC8vICAgfVxuICAgIC8vIH1cblxuICAgICYtc2xpZGVzIHtcbiAgICAgIEBpbmNsdWRlIGJhc2VGbGV4U3R5bGUoY2VudGVyLCBjZW50ZXIpO1xuXG4gICAgICAuc2xpZGUtaW1nIHtcbiAgICAgICAgLy8gbWFyZ2luLXRvcDogMzBweDtcbiAgICAgICAgLy8gQGluY2x1ZGUgc2V0SW1nV2lkdGgoMTQwcHgpO1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgb2JqZWN0LWZpdDogY292ZXI7XG4gICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xuXG4gICAgICAgICY6bm90KDpmaXJzdC1jaGlsZCkge1xuICAgICAgICAgIG1hcmdpbi1sZWZ0OiAzMHB4O1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgICZfX2NvbnRlbnQge1xuICAgICAgICBAaW5jbHVkZSBiYXNlRmxleFN0eWxlKCk7XG4gICAgICAgIGZsZXgtd3JhcDogbm93cmFwO1xuICAgICAgICAvLyBtYXgtd2lkdGg6IDEwMDBweDtcbiAgICAgICAgaGVpZ2h0OiA4MHB4O1xuICAgICAgICAvLyBvdmVyZmxvdy14OiBoaWRkZW47XG4gICAgICB9XG4gICAgICAuc3dpcGVyLXNsaWRlIHtcbiAgICAgICAgb3BhY2l0eTogMC43NTtcbiAgICAgICAgdHJhbnNpdGlvbjogb3BhY2l0eSAwLjVzIGVhc2Utb3V0O1xuICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICBvcGFjaXR5OiAxO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgICAuc3dpcGVyLXNsaWRlLXRodW1iLWFjdGl2ZSB7XG4gICAgICAgIG9wYWNpdHk6IDE7XG4gICAgICB9XG4gICAgfVxuXG4gICAgJl9fYnRuLXdyYXBwZXIge1xuICAgICAgZ3JpZC1jb2x1bW4tZW5kOiAyNTtcbiAgICB9XG5cbiAgICAmX19jbG9zZS1idG4ge1xuICAgICAgQGluY2x1ZGUgYmFzZUZsZXhTdHlsZSgpO1xuICAgICAgbWFyZ2luLWxlZnQ6IGF1dG87XG5cbiAgICAgIC8vICY6OmJlZm9yZSB7XG4gICAgICAvLyAgIEBpbmNsdWRlIGFmdGVyLWJlZm9yZS1pbWcoJy4uL2ltYWdlcy9mb290ZXIvY2xvc2UtaWNvbi5zdmcnLCA3MHB4LCA3MHB4KTtcblxuICAgICAgLy8gfVxuICAgICAgc3ZnIHtcbiAgICAgICAgd2lkdGg6IDcwcHg7XG4gICAgICAgIGhlaWdodDogNzBweDtcbiAgICAgICAgLmhvdmVyLFxuICAgICAgICAuZGVmYXVsdCB7XG4gICAgICAgICAgdHJhbnNpdGlvbjogMC4yNXMgZWFzZS1vdXQ7XG4gICAgICAgICAgdHJhbnNmb3JtLW9yaWdpbjogY2VudGVyO1xuICAgICAgICAgIHRyYW5zZm9ybS1ib3g6IGZpbGwtYm94O1xuICAgICAgICB9XG4gICAgICAgIC5kZWZhdWx0IHtcbiAgICAgICAgICB0cmFuc2Zvcm06IHNjYWxlKDEpO1xuICAgICAgICB9XG4gICAgICAgIC5ob3ZlciB7XG4gICAgICAgICAgdHJhbnNmb3JtOiBzY2FsZSgwKTtcbiAgICAgICAgICBmaWxsOiAkbGF2YW5kZXI7XG4gICAgICAgIH1cbiAgICAgICAgQGluY2x1ZGUgbW9iaWxlIHtcbiAgICAgICAgICBoZWlnaHQ6IDQ1cHg7XG4gICAgICAgICAgd2lkdGg6IDQ1cHg7XG4gICAgICAgICAgYmFja2dyb3VuZC1zaXplOiA0NXB4IDQ1cHg7XG4gICAgICAgIH1cbiAgICAgICAgQGluY2x1ZGUgZnJvbSgxMDI1cHgpIHtcbiAgICAgICAgICAmOmhvdmVyIC5ob3ZlciB7XG4gICAgICAgICAgICB0cmFuc2Zvcm06IHNjYWxlKDEpO1xuICAgICAgICAgIH1cbiAgICAgICAgICAmOmhvdmVyIC5kZWZhdWx0IHtcbiAgICAgICAgICAgIHRyYW5zZm9ybTogc2NhbGUoMCk7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbi5wcm9ncmVzcy1wb3AtdXAge1xuICBwb3NpdGlvbjogZml4ZWQ7XG4gIEBpbmNsdWRlIHdpZHRoLWhlaWd0aCgxMDAlKTtcbiAgYmFja2dyb3VuZC1jb2xvcjogJGxpZ2h0LWdyZXk7XG4gIHRvcDogMDtcbiAgbGVmdDogMDtcbiAgei1pbmRleDogMzA7XG4gIC8vIG92ZXJmbG93LXk6IGF1dG87XG4gIC8vIHBhZGRpbmctYm90dG9tOiB2YXIoLS10b3AtcGFkZGluZyk7XG4gIHZpc2liaWxpdHk6IGhpZGRlbjtcbiAgb3BhY2l0eTogMDtcbiAgQGluY2x1ZGUgbXVsdGlwbGUtdHJhbnNpdGlvbnMoMC4zcywgZWFzZS1pbi1vdXQsIG9wYWNpdHksIHZpc2liaWxpdHkpO1xuICAvLyBwYWRkaW5nOiA1MHB4IHZhcigtLWxyLXBhZGRpbmdzKTtcbiAgLy8gcGFkZGluZzogMCB2YXIoLS1sci1wYWRkaW5ncyk7XG4gIC8vIEBpbmNsdWRlIGJhc2VHcmlkU3R5bGUoXG4gIC8vICAgdmFyKC0tdG9wLXBhZGRpbmcpIHJlcGVhdCg0LCBhdXRvKSB2YXIoLS10b3AtcGFkZGluZyksXG4gIC8vICAgdmFyKC0tbHItcGFkZGluZ3MpIHJlcGVhdCgyNCwgbWlubWF4KHZhcigtLXBvcHVsYXItaW5kZW50KSwgMWZyKSkgdmFyKC0tbHItcGFkZGluZ3MpXG4gIC8vICk7XG4gIEBpbmNsdWRlIGJhc2VHcmlkU3R5bGUoXG4gICAgdmFyKC0tdG9wLXBhZGRpbmcpIHJlcGVhdCg0LCBhdXRvKSB2YXIoLS10b3AtcGFkZGluZyksXG4gICAgdmFyKC0tbHItcGFkZGluZ3MpIHJlcGVhdCgyNCwgbWlubWF4KHZhcigtLXBvcHVsYXItaW5kZW50KSwgMWZyKSkgdmFyKC0tbHItcGFkZGluZ3MpXG4gICk7XG5cbiAgb3ZlcmZsb3cteDogaGlkZGVuO1xuICBAaW5jbHVkZSB0YWJsZXRMYXJnZSB7XG4gICAgZ3JpZC10ZW1wbGF0ZTpcbiAgICAgIHZhcigtLXRvcC1wYWRkaW5nKSByZXBlYXQoNCwgYXV0bykgdmFyKC0tdG9wLXBhZGRpbmcpIC8gdmFyKC0tbHItcGFkZGluZ3MpIHJlcGVhdChcbiAgICAgICAgMjEsXG4gICAgICAgIG1pbm1heCh2YXIoLS1wb3B1bGFyLWluZGVudCksIDFmcilcbiAgICAgIClcbiAgICAgIHZhcigtLWxyLXBhZGRpbmdzKTtcbiAgfVxuICBAaW5jbHVkZSB0bygxMzYwcHgpIHtcbiAgICBAaW5jbHVkZSBiYXNlR3JpZFN0eWxlKFxuICAgICAgdmFyKC0tdG9wLXBhZGRpbmcpIHJlcGVhdCg0LCBhdXRvKSB2YXIoLS10b3AtcGFkZGluZyksXG4gICAgICB2YXIoLS1sci1wYWRkaW5ncykgcmVwZWF0KDIxLCAxZnIpIHZhcigtLWxyLXBhZGRpbmdzKVxuICAgICk7XG4gIH1cbiAgQGluY2x1ZGUgdGFibGV0IHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICAgIHBhZGRpbmc6IDE1cHggNDBweDtcbiAgfVxuICBAaW5jbHVkZSBtb2JpbGUge1xuICAgIHBhZGRpbmc6IDEwcHggMTVweDtcbiAgfVxuXG4gICY6Oi13ZWJraXQtc2Nyb2xsYmFyIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG5cbiAgJi5hY3RpdmUge1xuICAgIHZpc2liaWxpdHk6IHZpc2libGU7XG4gICAgb3BhY2l0eTogMTtcbiAgfVxuXG4gIC5wb3AtdXAge1xuICAgIC8vICYtY29udGVudCB7XG4gICAgLy8gICAvLyBAaW5jbHVkZSBiYXNlRmxleFN0eWxlKCRqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW4pO1xuICAgIC8vIH1cblxuICAgICZfX2xlZnQtc2lkZSB7XG4gICAgICBncmlkLWNvbHVtbjogMSAvIDk7XG4gICAgICBncmlkLXJvdzogMSAvIC0xO1xuICAgICAgLy8gYmFja2dyb3VuZC1jb2xvcjogJGRhcmstdmlvbGV0O1xuICAgICAgYm94LXNoYWRvdzogN3B4IDAgMjVweCByZ2JhKDU2LCA1NiwgNTYsIDAuMDcpO1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGxpZ2h0LWdyZXk7XG4gICAgICB6LWluZGV4OiAxMDtcbiAgICB9XG5cbiAgICAvLyAmX190ZXh0LWNvbnRlbnQge1xuICAgIC8vICAgZ3JpZC1jb2x1bW46IDIgLyA3O1xuICAgIC8vICAgZ3JpZC1yb3c6IDMgLyA0O1xuICAgIC8vICAgb3ZlcmZsb3cteTogc2Nyb2xsO1xuICAgIC8vIH1cblxuICAgIC8vICZfX3RleHQtd3JhcHBlciB7XG4gICAgLy8gICBvdmVyZmxvdy15OiBzY3JvbGw7XG4gICAgLy8gfVxuXG4gICAgLy8gJl9fcmlnaHQtc2lkZSB7XG4gICAgLy8gICBncmlkLWNvbHVtbjogOSAvIC0xO1xuICAgIC8vICAgZ3JpZC1yb3c6IDMgLyA0O1xuICAgIC8vIH1cblxuICAgICZfX2J0bi13cmFwcGVyIHtcbiAgICAgIC8vIEBpbmNsdWRlIGJhc2VGbGV4U3R5bGUoJGp1c3RpZnktY29udGVudDogZmxleC1lbmQpO1xuICAgICAgbWFyZ2luLWJvdHRvbTogMzBweDtcbiAgICAgIGdyaWQtY29sdW1uLWVuZDogMjY7XG4gICAgICBncmlkLXJvdy1zdGFydDogMjtcbiAgICAgIEBpbmNsdWRlIGJhc2VGbGV4U3R5bGUoJGp1c3RpZnktY29udGVudDogZmxleC1lbmQpO1xuICAgICAgQGluY2x1ZGUgdGFibGV0TGFyZ2Uge1xuICAgICAgICBncmlkLWNvbHVtbi1lbmQ6IDIzO1xuICAgICAgfVxuICAgICAgQGluY2x1ZGUgbW9iaWxlIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMjBweDtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAmX19jbG9zZS1idG4ge1xuICAgICAgQGluY2x1ZGUgYmFzZUZsZXhTdHlsZSgpO1xuICAgICAgd2lkdGg6IDcwcHg7XG4gICAgICBoZWlnaHQ6IDcwcHg7XG4gICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgICBAaW5jbHVkZSBtb2JpbGUge1xuICAgICAgICBoZWlnaHQ6IDQ1cHg7XG4gICAgICAgIHdpZHRoOiA0NXB4O1xuICAgICAgfVxuICAgICAgLmhvdmVyLFxuICAgICAgLmRlZmF1bHQge1xuICAgICAgICB0cmFuc2l0aW9uOiAwLjI1cyBlYXNlLW91dDtcbiAgICAgICAgdHJhbnNmb3JtLW9yaWdpbjogY2VudGVyO1xuICAgICAgICB0cmFuc2Zvcm0tYm94OiBmaWxsLWJveDtcbiAgICAgIH1cbiAgICAgIC5kZWZhdWx0IHtcbiAgICAgICAgdHJhbnNmb3JtOiBzY2FsZSgxKTtcbiAgICAgIH1cbiAgICAgIC5ob3ZlciB7XG4gICAgICAgIHRyYW5zZm9ybTogc2NhbGUoMCk7XG4gICAgICAgIGZpbGw6ICRsYXZhbmRlcjtcbiAgICAgIH1cbiAgICAgIEBpbmNsdWRlIGZyb20oMTAyNXB4KSB7XG4gICAgICAgICY6aG92ZXIgLmhvdmVyIHtcbiAgICAgICAgICB0cmFuc2Zvcm06IHNjYWxlKDEpO1xuICAgICAgICB9XG4gICAgICAgICY6aG92ZXIgLmRlZmF1bHQge1xuICAgICAgICAgIHRyYW5zZm9ybTogc2NhbGUoMCk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgIHN2ZyB7XG4gICAgICB9XG4gICAgICAvLyAmOjpiZWZvcmUge1xuICAgICAgLy8gICBAaW5jbHVkZSBhZnRlci1iZWZvcmUtaW1nKCcuLi9pbWFnZXMvZm9vdGVyL2Nsb3NlLWljb24uc3ZnJywgNzBweCwgNzBweCk7XG4gICAgICAvLyAgIEBpbmNsdWRlIG1vYmlsZSB7XG4gICAgICAvLyAgICAgaGVpZ2h0OiA0NXB4O1xuICAgICAgLy8gICAgIHdpZHRoOiA0NXB4O1xuICAgICAgLy8gICAgIGJhY2tncm91bmQtc2l6ZTogNDVweCA0NXB4O1xuICAgICAgLy8gICB9XG4gICAgICAvLyB9XG4gICAgfVxuXG4gICAgJl9faGVhZGVyIHtcbiAgICAgIGdyaWQtY29sdW1uOiAyIC8gODtcbiAgICAgIGdyaWQtcm93OiAzIC8gNDtcbiAgICAgIG1hcmdpbi1ib3R0b206IDMwcHg7XG4gICAgICB6LWluZGV4OiAxMDtcbiAgICAgIEBpbmNsdWRlIG1vYmlsZSB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDIwcHg7XG4gICAgICB9XG5cbiAgICAgICYtbW9udGgge1xuICAgICAgICBAaW5jbHVkZSBzZXRGb250U3R5bGUoJ0Nvcm1vcmFudCBHYXJhbW9uZCcsIDUwcHgsIDMwMCwgJGhlYWRlcnMtY29sb3IsIDEwMCUsIDAuMDFlbSk7XG4gICAgICAgIG1hcmdpbi1yaWdodDogMTVweDtcbiAgICAgICAgQGluY2x1ZGUgbm90ZWJvb2sge1xuICAgICAgICAgIGZvbnQtc2l6ZTogMzZweDtcbiAgICAgICAgfVxuICAgICAgICBAaW5jbHVkZSB0YWJsZXQge1xuICAgICAgICAgIGZvbnQtc2l6ZTogNDBweDtcbiAgICAgICAgfVxuICAgICAgICBAaW5jbHVkZSBtb2JpbGUge1xuICAgICAgICAgIGZvbnQtc2l6ZTogMzBweDtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICAmLXllYXIge1xuICAgICAgICBAaW5jbHVkZSBzZXRGb250U3R5bGUoJ05hbnVtJywgNDJweCwgNDAwLCAkaGVhZGVycy1jb2xvciwgMTAwJSwgMC4wMWVtKTtcbiAgICAgICAgQGluY2x1ZGUgbm90ZWJvb2sge1xuICAgICAgICAgIGZvbnQtc2l6ZTogMzZweDtcbiAgICAgICAgfVxuICAgICAgICBAaW5jbHVkZSB0YWJsZXQge1xuICAgICAgICAgIGZvbnQtc2l6ZTogNDBweDtcbiAgICAgICAgfVxuICAgICAgICBAaW5jbHVkZSBtb2JpbGUge1xuICAgICAgICAgIGZvbnQtc2l6ZTogMzBweDtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgICZfX3RleHQtd3JhcHBlciB7XG4gICAgICBvdmVyZmxvdy15OiBhdXRvO1xuICAgICAgZ3JpZC1yb3c6IDQgLyA1O1xuICAgICAgZ3JpZC1jb2x1bW46IDIgLyA4O1xuICAgICAgcGFkZGluZy1yaWdodDogMzBweDtcbiAgICAgIEBpbmNsdWRlIHNldEZvbnRTdHlsZSgnTW9udCcsIDE2cHgsIDQwMCwgJHRleHQtY29sb3IsIDE2MCUsICR0ZXh0LXRyYW5zZm9ybTogbm9uZSk7XG4gICAgICB6LWluZGV4OiAxMDtcbiAgICAgIEBpbmNsdWRlIHRhYmxldCB7XG4gICAgICAgIGZvbnQtc2l6ZTogMTRweDtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMjBweDtcbiAgICAgIH1cbiAgICAgIEBpbmNsdWRlIG1vYmlsZSB7XG4gICAgICAgIC8vIGhlaWdodDogNDAlO1xuICAgICAgICBmb250LXNpemU6IDEycHg7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDE1cHg7XG4gICAgICB9XG5cbiAgICAgICY6Oi13ZWJraXQtc2Nyb2xsYmFyIHtcbiAgICAgICAgY3Vyc29yOiBub25lO1xuXG4gICAgICAgICYge1xuICAgICAgICAgIGFwcGVhcmFuY2U6IG5vbmU7XG4gICAgICAgICAgd2lkdGg6IDJweDtcbiAgICAgICAgfVxuXG4gICAgICAgICYtdHJhY2sge1xuICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoNzQsIDU4LCA5NCwgMC4xNSk7XG4gICAgICAgIH1cblxuICAgICAgICAmLXRodW1iIHtcbiAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkZGFyay12aW9sZXQ7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICAmX19zbGlkZXIge1xuICAgICAgZ3JpZC1yb3c6IDMgLyA1O1xuICAgICAgZ3JpZC1jb2x1bW46IDEwIC8gLTI7XG4gICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgICAgLy8gb3ZlcmZsb3c6IGhpZGRlbjtcblxuICAgICAgLy8gJi13cmFwcGVyIHtcbiAgICAgIC8vICAgbWF4LWhlaWdodDogNjcwcHg7XG4gICAgICAvLyB9XG5cbiAgICAgICYtc2xpZGUge1xuICAgICAgICBvdmVyZmxvdy14OiBoaWRkZW47XG5cbiAgICAgICAgLy8gJjpub3QoOmZpcnN0LWNoaWxkKSB7XG4gICAgICAgIC8vICAgbWFyZ2luLWxlZnQ6IDYwcHg7XG4gICAgICAgIC8vIH1cblxuICAgICAgICAmX3ZpZGVvIHtcbiAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgJi1pbWcsXG4gICAgICAmLXZpZGVvIHtcbiAgICAgICAgLy8gQGluY2x1ZGUgc2V0SW1nV2lkdGgoMTAwJSk7XG4gICAgICAgIC8vIG1heC1oZWlnaHQ6IDY3MHB4O1xuICAgICAgICAvLyBAaW5jbHVkZSBzZXRJbWdIZWlnaHQoMTAwJSk7XG4gICAgICAgIEBpbmNsdWRlIHdpZHRoLWhlaWd0aCgxMDAlLCA2NzBweCk7XG4gICAgICAgIG9iamVjdC1maXQ6IGNvdmVyO1xuICAgICAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICAgICAgICAvLyBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIC8vIG9iamVjdC1maXQ6IGNvdmVyO1xuICAgICAgICBAaW5jbHVkZSB0YWJsZXRMYXJnZSB7XG4gICAgICAgICAgaGVpZ2h0OiA1MDBweDtcbiAgICAgICAgfVxuICAgICAgICBAaW5jbHVkZSB0YWJsZXQge1xuICAgICAgICAgIGhlaWdodDogNDEycHg7XG4gICAgICAgIH1cbiAgICAgICAgQGluY2x1ZGUgbW9iaWxlIHtcbiAgICAgICAgICBoZWlnaHQ6IDIxNnB4O1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgICYtYnRuLXdyYXBwZXIge1xuICAgICAgICBncmlkLXJvdzogNSAvIDY7XG4gICAgICAgIGdyaWQtY29sdW1uOiAxMCAvIC0yO1xuICAgICAgICBAaW5jbHVkZSBiYXNlRmxleFN0eWxlKGNlbnRlciwgY2VudGVyKTtcbiAgICAgICAgbWFyZ2luLXRvcDogMzBweDtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgfVxuXG4gICAgICAmLWJ0biB7XG4gICAgICAgIEBpbmNsdWRlIHdpZHRoLWhlaWd0aCg3MHB4KTtcbiAgICAgICAgQGluY2x1ZGUgc2xpZGVCdG5zKHJnYmEoNzQsIDU4LCA5NCwgMC4xNSkpO1xuICAgICAgICBAaW5jbHVkZSBtb2JpbGUge1xuICAgICAgICAgIGhlaWdodDogNDVweDtcbiAgICAgICAgICB3aWR0aDogNDVweDtcbiAgICAgICAgICBiYWNrZ3JvdW5kLXNpemU6IDQ1cHggNDVweDtcbiAgICAgICAgICBib3JkZXI6IDFweCBzb2xpZCByZ2JhKDc0LCA1OCwgOTQsIDAuMTUpO1xuICAgICAgICB9XG4gICAgICAgIEBpbmNsdWRlIGZyb20oMTAyNXB4KSB7XG4gICAgICAgICAgdHJhbnNpdGlvbjogMC4zcyBlYXNlLW91dDtcbiAgICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRsaWdodC1sYXZhbmRlcjtcbiAgICAgICAgICAgIGJvcmRlci1jb2xvcjogJGxpZ2h0LWxhdmFuZGVyO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICAmLXBsYXkge1xuICAgICAgICBAaW5jbHVkZSBhYnMtcG9zaXRpb24oKTtcbiAgICAgICAgQGluY2x1ZGUgbW9iaWxlIHtcbiAgICAgICAgICB3aWR0aDogNDVweDtcbiAgICAgICAgICBoZWlnaHQ6IDQ1cHg7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICAmX19lbGVtZW50IHtcbiAgICAgIG1hcmdpbi10b3A6IDEwcHg7XG4gICAgICBAaW5jbHVkZSBiYXNlRmxleFN0eWxlKCk7XG5cbiAgICAgIC8vICY6OmJlZm9yZSB7XG4gICAgICAvLyAgIGNvbnRlbnQ6ICcvJztcbiAgICAgIC8vICAgbWFyZ2luLXJpZ2h0OiAyM3B4O1xuICAgICAgLy8gfVxuICAgIH1cblxuICAgICZfX3NsaWRlLW51bSB7XG4gICAgICAvLyBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICBtYXJnaW46IDAgNDBweDtcbiAgICAgIEBpbmNsdWRlIHNldEZvbnRTdHlsZSgnTW9udCcsIDIycHgsIDQwMCwgJGRhcmstZ3JleSwgMTAwJSk7XG4gICAgICBAaW5jbHVkZSB0YWJsZXQge1xuICAgICAgICBmb250LXNpemU6IDE0cHg7XG4gICAgICAgIG1hcmdpbjogMCAyMHB4O1xuICAgICAgfVxuICAgICAgQGluY2x1ZGUgbW9iaWxlIHtcbiAgICAgICAgZm9udC1zaXplOiAxMnB4O1xuICAgICAgICBtYXJnaW46IDAgMTBweDtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAmX19zbGlkZXItYnRuLWltZyB7XG4gICAgICBAaW5jbHVkZSBtb2JpbGUge1xuICAgICAgICBoZWlnaHQ6IDEwcHg7XG4gICAgICAgIHdpZHRoOiA1cHg7XG4gICAgICB9XG4gICAgfVxuXG4gICAgJl9faGlkZGVuLWNvbnRlbnQge1xuICAgICAgZ3JpZC1yb3c6IDYgLyAtMTtcbiAgICAgIGdyaWQtY29sdW1uOiAxIC8gLTE7XG4gICAgICB2aXNpYmlsaXR5OiBoaWRkZW47XG4gICAgfVxuICB9XG59XG5cbi5zd2lwZXItcGFnaW5hdGlvbi1mcmFjdGlvbiB7XG4gIC8vIGJvdHRvbTogMDtcbiAgcG9zaXRpb246IHN0YXRpYztcbiAgd2lkdGg6IDUwcHg7XG59XG5cbi5zbGlkZXIge1xuICAmLWNvbnRyb2xsZXIge1xuICAgIEBpbmNsdWRlIGJhc2VGbGV4U3R5bGUoY2VudGVyLCBjZW50ZXIpO1xuICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkZGFyay12aW9sZXQ7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMDtcbiAgICBsZWZ0OiAwO1xuICAgIG9wYWNpdHk6IDE7XG4gICAgLy8gQGluY2x1ZGUgd2lkdGgtaGVpZ3RoKDApO1xuICAgIEBpbmNsdWRlIHdpZHRoLWhlaWd0aCgxMTBweCk7XG4gICAgQGluY2x1ZGUgbXVsdGlwbGUtdHJhbnNpdGlvbnMoMC41cywgZWFzZS1vdXQsIHRyYW5zZm9ybSwgb3BhY2l0eSk7XG4gICAgdHJhbnNmb3JtOiBzY2FsZSgwKTtcblxuICAgICYuYWN0aXZlIHtcbiAgICAgIHRyYW5zZm9ybTogc2NhbGUoMSk7XG4gICAgICBvcGFjaXR5OiAxO1xuICAgIH1cblxuICAgICYubGVmdC1zaWRlIHtcbiAgICAgIC5zbGlkZXItY29udHJvbGxlci1hcnJvdyB7XG4gICAgICAgIG9yZGVyOiAtMTtcbiAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoMTgwZGVnKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAmLXRleHQge1xuICAgICAgQGluY2x1ZGUgc2V0Rm9udFN0eWxlKCdNb250JywgMjJweCwgNDAwLCAkbGlnaHQtZ3JleSwgMTAwJSk7XG4gICAgICBtaW4td2lkdGg6IDU1cHg7XG4gICAgfVxuXG4gICAgJi1hcnJvdyB7XG4gICAgICBAaW5jbHVkZSBzZXRJbWdXaWR0aCgxMHB4KTtcbiAgICAgIG9yZGVyOiAxO1xuICAgICAgdHJhbnNpdGlvbjogMC42cyBlYXNlLWluLW91dCB0cmFuc2Zvcm07XG4gICAgfVxuICB9XG59XG4iLCIuYnJlYWRjcnVtYnMge1xuICBAaW5jbHVkZSBiYXNlRmxleFN0eWxlKGNlbnRlciwgY2VudGVyKTtcbiAgQGluY2x1ZGUgc2V0Rm9udFN0eWxlKCdNb250JywgMTRweCwgNDAwLCAkZGFyay1ncmV5LCAxMDAlLCAwLjAxZW0pO1xuICBtYXJnaW4tYm90dG9tOiAzMHB4O1xuICBAaW5jbHVkZSBtb2JpbGUge1xuICAgIG1hcmdpbi1ib3R0b206IDEwcHg7XG4gICAgZm9udC1zaXplOiAxMHB4O1xuICB9XG5cbiAgJi1pdGVtIHtcbiAgICBAaW5jbHVkZSBiYXNlRmxleFN0eWxlKGNlbnRlcik7XG4gICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgICAmX19saW5rIHtcbiAgICAgIGNvbG9yOiAkZGFyay12aW9sZXQ7XG4gICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgJGRhcmstdmlvbGV0O1xuICAgIH1cblxuICAgICZfX2N1cnJlbnQtLWNvbG9yIHtcbiAgICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gICAgICBvdmVyZmxvdy14OiBoaWRkZW47XG4gICAgICB0ZXh0LW92ZXJmbG93OiBlbGxpcHNpcztcbiAgICAgIGRpc3BsYXk6IGlubGluZTtcbiAgICAgIG1heC13aWR0aDogMjU1cHg7XG5cbiAgICAgICY6Oi13ZWJraXQtc2Nyb2xsYmFyIHtcbiAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAuaWNvbiB7XG4gICAgJi0tZG90IHtcbiAgICAgIEBpbmNsdWRlIHdpZHRoLWhlaWd0aCg1cHgpO1xuICAgICAgbWFyZ2luOiAwIDE1cHg7XG4gICAgfVxuICB9XG59XG4iLCI6cm9vdCB7XG4gIC0taGVhZGVyLW1hcmdpbi1vdXRlcjogOTBweDtcbiAgLS1oZWFkZXItbWFyZ2luLWlubmVyOiAyMHB4O1xuICAtLWhlYWRlci1oZWlnaHQ6IDE3MHB4O1xuICAtLWhlYWRlci10Yi1wYWRkaW5nOiA1MHB4OyAvLyB0YiAtIHRvcC1ib3R0b21cbiAgQGluY2x1ZGUgdGFibGV0TGFyZ2Uge1xuICAgIC0taGVhZGVyLW1hcmdpbi1vdXRlcjogOTBweDtcbiAgICAtLWhlYWRlci1tYXJnaW4taW5uZXI6IDEwcHg7XG4gICAgLS1oZWFkZXItaGVpZ2h0OiAxMjBweDtcbiAgICAtLWhlYWRlci10Yi1wYWRkaW5nOiAyNXB4O1xuICAgIFxuICB9XG4gIEBpbmNsdWRlIG5vdGVib29rIHtcbiAgICAtLWhlYWRlci1tYXJnaW4tb3V0ZXI6IDQwcHg7XG4gIH1cbiAgQGluY2x1ZGUgdGFibGV0IHtcbiAgICAtLWhlYWRlci1oZWlnaHQ6IDEwMHB4O1xuICAgIC0taGVhZGVyLXRiLXBhZGRpbmc6IDE1cHggNDBweDtcblxuICB9XG4gIEBpbmNsdWRlIG1vYmlsZSB7XG4gICAgLS1oZWFkZXItaGVpZ2h0OiA2NXB4O1xuICAgIC0taGVhZGVyLXRiLXBhZGRpbmc6IDEycHg7XG4gIH1cblxuICBcbn1cblxuLy8vLy8vLy8vLy8vLy9cblxuLmhlYWRlciB7XG4gIHBhZGRpbmc6IHZhcigtLWhlYWRlci10Yi1wYWRkaW5nKSB2YXIoLS1sci1wYWRkaW5ncyk7XG4gIHBhZGRpbmctdG9wOiBjYWxjKHZhcigtLWhlYWRlci10Yi1wYWRkaW5nKSAqIDIpO1xuICBwb3NpdGlvbjogZml4ZWQ7XG4gIGJhY2tncm91bmQ6ICRsaWdodC1ncmV5O1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiB2YXIoLS1oZWFkZXItaGVpZ2h0KTtcbiAgQGluY2x1ZGUgYmFzZUZsZXhTdHlsZShjZW50ZXIsIHNwYWNlLWJldHdlZW4pO1xuICB6LWluZGV4OiAyMDtcbiAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIC41NXMgZWFzZS1vdXQsIHBhZGRpbmctdG9wIC41NXMgZWFzZS1vdXQ7XG4gIEBpbmNsdWRlIHRhYmxldCB7XG4gICAgcGFkZGluZzogMTVweCA0MHB4O1xuICB9XG4gIEBpbmNsdWRlIG1vYmlsZSB7XG4gICAgcGFkZGluZzogMTVweDtcbiAgfVxuICAmLm5vdC1vbi10b3Age1xuICAgIHBhZGRpbmc6IHZhcigtLWhlYWRlci10Yi1wYWRkaW5nKSB2YXIoLS1sci1wYWRkaW5ncyk7XG4gICAgXG4gIH1cbiAgJi5oaWRkZW4ge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMTAwJSlcbiAgfVxuXG4gICYtbGVmdCB7XG4gICAgQGluY2x1ZGUgYmFzZUZsZXhTdHlsZShjZW50ZXIpO1xuICAgIEBpbmNsdWRlIHRhYmxldCB7XG4gICAgICBvcmRlcjogMjtcbiAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7XG4gICAgICB3aWR0aDogODAlO1xuICAgICAgbWFyZ2luLXJpZ2h0OiAzMHB4O1xuICAgIH1cbiAgICBAaW5jbHVkZSBtb2JpbGUge1xuICAgICAgbWFyZ2luLXJpZ2h0OiAwO1xuICAgIH1cblxuICAgICZfX2xpbmsge1xuICAgICAgY29sb3I6ICRkYXJrLWdyZXk7XG4gICAgICBmb250LXNpemU6IDE0cHg7XG4gICAgICBAaW5jbHVkZSB0YWJsZXQge1xuICAgICAgICBvcmRlcjogMjtcbiAgICAgICAgZm9udC1zaXplOiAwO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gICYtbGluayB7XG4gICAgJi1ob3VzZXMge1xuICAgICAgQGluY2x1ZGUgYmFzZUZsZXhTdHlsZShjZW50ZXIpO1xuICAgICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICAgICY+c3ZnIHtcbiAgICAgICAgQGluY2x1ZGUgaG92ZXJTdmcoKTtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiB2YXIoLS1oZWFkZXItbWFyZ2luLWlubmVyKTtcbiAgICAgICAgQGluY2x1ZGUgbW9iaWxlIHtcbiAgICAgICAgICBiYWNrZ3JvdW5kLXNpemU6IDQ1cHggNDVweDtcbiAgICAgICAgICB3aWR0aDogNDVweDtcbiAgICAgICAgICBoZWlnaHQ6IDQ1cHg7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgIC8vICY6OmJlZm9yZSB7XG4gICAgICAvLyAgIEBpbmNsdWRlIGFmdGVyLWJlZm9yZS1pbWcoJy4uL2ltYWdlcy9oZWFkZXIvaG91c2VzLWljb24uc3ZnJywgNzBweCwgNzBweCk7XG4gICAgICAvLyAgIG1hcmdpbi1yaWdodDogdmFyKC0taGVhZGVyLW1hcmdpbi1pbm5lcik7XG4gICAgICAvLyAgIEBpbmNsdWRlIHRhYmxldCB7XG4gICAgICAvLyAgICAgbWFyZ2luLXJpZ2h0OiAwO1xuICAgICAgLy8gICB9XG4gICAgICAvLyAgIEBpbmNsdWRlIG1vYmlsZSB7XG4gICAgICAvLyAgICAgYmFja2dyb3VuZC1zaXplOiA0NXB4IDQ1cHg7XG4gICAgICAvLyAgICAgd2lkdGg6IDQ1cHg7XG4gICAgICAvLyAgICAgaGVpZ2h0OiA0NXB4O1xuICAgICAgLy8gICB9XG4gICAgICAvLyB9XG4gICAgfVxuXG4gICAgJi10ZWwge1xuICAgICAgZm9udC1zaXplOiAxOHB4O1xuICAgICAgbWFyZ2luLWxlZnQ6IHZhcigtLWhlYWRlci1tYXJnaW4tb3V0ZXIpO1xuICAgICAgQGluY2x1ZGUgdGFibGV0IHtcbiAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAmX19sb2dvIHtcbiAgICAmLWxpbmsge1xuICAgICAgQGluY2x1ZGUgYmFzZUZsZXhTdHlsZShjZW50ZXIpO1xuICAgICAgQGluY2x1ZGUgdGFibGV0IHtcbiAgICAgICAgb3JkZXI6IDE7XG4gICAgICB9XG4gICAgfVxuXG4gICAgJi1pbWcge1xuICAgICAgQGluY2x1ZGUgc2V0SW1nV2lkdGgoMjQwcHgpO1xuICAgICAgQGluY2x1ZGUgdGFibGV0IHtcbiAgICAgICAgd2lkdGg6IDIyNnB4OyBcbiAgICAgIH1cbiAgICAgIEBpbmNsdWRlIG1vYmlsZSB7XG4gICAgICAgIHdpZHRoOiAxMzlweDtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAmLXJpZ2h0IHtcbiAgICBAaW5jbHVkZSBiYXNlRmxleFN0eWxlKGNlbnRlcik7XG4gICAgQGluY2x1ZGUgdGFibGV0IHtcbiAgICAgIG9yZGVyOiAzO1xuICAgIH1cblxuICAgICZfX2J0biB7XG4gICAgICAvLyBmb250LWZhbWlseTogJ01vbnQnO1xuICAgICAgLy8gZm9udC13ZWlnaHQ6IDUwMDtcbiAgICAgIC8vIGZvbnQtc2l6ZTogMTRweDtcbiAgICAgIC8vIGxpbmUtaGVpZ2h0OiAxMDAlO1xuICAgICAgLy8gbGV0dGVyLXNwYWNpbmc6IDAuMDFlbTtcbiAgICAgIC8vIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgICAvLyBjb2xvcjogJGRhcmstZ3JleTtcbiAgICAgIEBpbmNsdWRlIHNldEZvbnRTdHlsZSgnTW9udCcsIDE0cHgsIDUwMCwgJGRhcmstZ3JleSwgMTAwJSwgMC4wMWVtKTtcbiAgICB9XG4gIH1cblxuICAmLWJ0biB7XG4gICAgXG4gICAgJi1jYWxsIHtcbiAgICAgIG1hcmdpbi1yaWdodDogdmFyKC0taGVhZGVyLW1hcmdpbi1vdXRlcik7XG4gICAgICBAaW5jbHVkZSB0YWJsZXQge1xuICAgICAgICBmb250LXNpemU6IDA7XG4gICAgICAgIG1hcmdpbi1yaWdodDogMzBweDtcbiAgICAgICAgJjo6YWZ0ZXIge1xuICAgICAgICAgIEBpbmNsdWRlIGFmdGVyLWJlZm9yZS1pbWcoJy4uL2ltYWdlcy9oZWFkZXIvcGhvbmUuc3ZnJywgNzBweCwgNzBweCk7XG4gICAgICAgICAgbWFyZ2luLWxlZnQ6IHZhcigtLWhlYWRlci1tYXJnaW4taW5uZXIpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgICBAaW5jbHVkZSBtb2JpbGUge1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gICAgICAgIGZvbnQtc2l6ZTogMDtcbiAgICAgICAgJjo6YWZ0ZXIge1xuICAgICAgICAgIGJhY2tncm91bmQtc2l6ZTogNDVweCA0NXB4O1xuICAgICAgICAgIHdpZHRoOiA0NXB4O1xuICAgICAgICAgIGhlaWdodDogNDVweDtcbiAgICAgICAgICBtYXJnaW4tbGVmdDogdmFyKC0taGVhZGVyLW1hcmdpbi1pbm5lcik7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgIEBpbmNsdWRlIGZyb20oMTAyNXB4KXtcbiAgICAgICAgdHJhbnNpdGlvbjogLjNzIGVhc2Utb3V0O1xuICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICBcbiAgICAgICAgICBjb2xvcjogJGRhcmstdmlvbGV0O1xuICAgICAgICB9XG4gICAgICB9XG4gICAgICBcbiAgICB9XG5cbiAgICAmLW1lbnUge1xuICAgICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICAgIEBpbmNsdWRlIGJhc2VGbGV4U3R5bGUoY2VudGVyKTtcbiAgICAgIEBpbmNsdWRlIHRhYmxldCB7XG4gICAgICAgIGZvbnQtc2l6ZTogMDtcbiAgICAgIH1cbiAgICAgICY+c3ZnIHtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IHZhcigtLWhlYWRlci1tYXJnaW4taW5uZXIpO1xuICAgICAgICBAaW5jbHVkZSBtb2JpbGUge1xuICAgICAgICAgIGJhY2tncm91bmQtc2l6ZTogNDVweCA0NXB4O1xuICAgICAgICAgIHdpZHRoOiA0NXB4O1xuICAgICAgICAgIGhlaWdodDogNDVweDtcbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgLy8gJjo6YWZ0ZXIge1xuICAgICAgLy8gICBAaW5jbHVkZSBhZnRlci1iZWZvcmUtaW1nKCcuLi9pbWFnZXMvaGVhZGVyL2J1cmdlci1pY29uLnN2ZycsIDcwcHgsIDcwcHgpO1xuICAgICAgLy8gICBtYXJnaW4tbGVmdDogdmFyKC0taGVhZGVyLW1hcmdpbi1pbm5lcik7XG4gICAgICAvLyAgIEBpbmNsdWRlIG1vYmlsZSB7XG4gICAgICAvLyAgICAgYmFja2dyb3VuZC1zaXplOiA0NXB4IDQ1cHg7XG4gICAgICAvLyAgICAgd2lkdGg6IDQ1cHg7XG4gICAgICAvLyAgICAgaGVpZ2h0OiA0NXB4O1xuICAgICAgLy8gICB9XG4gICAgICAvLyB9XG4gICAgICAvLyAmOjphZnRlciB7XG4gICAgICAvLyAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAvLyB9XG4gICAgICBzdmcge1xuICAgICAgICAuaG92ZXIsXG4gICAgICAgIC5kZWZhdWx0IHtcbiAgICAgICAgICB0cmFuc2l0aW9uOiAuMjVzIGVhc2Utb3V0O1xuICAgICAgICAgIHRyYW5zZm9ybS1vcmlnaW46IGNlbnRlcjtcbiAgICAgICAgICB0cmFuc2Zvcm0tYm94OiBmaWxsLWJveDtcbiAgICAgICAgfVxuICAgICAgICAuZGVmYXVsdCB7XG4gICAgICAgICAgdHJhbnNmb3JtOiBzY2FsZSgxKTtcblxuICAgICAgICB9XG4gICAgICAgIC5ob3ZlciB7XG4gICAgICAgICAgdHJhbnNmb3JtOiBzY2FsZSgwKTtcbiAgICAgICAgICBmaWxsOiAkbGF2YW5kZXI7XG4gICAgICAgIH1cbiAgICAgICAgQGluY2x1ZGUgZnJvbSgxMDI1cHgpe1xuICAgICAgICAgICY6aG92ZXIgLmhvdmVyIHtcbiAgICAgICAgICAgIHRyYW5zZm9ybTogc2NhbGUoMSk7XG4gICAgICAgICAgfVxuICAgICAgICAgICY6aG92ZXIgLmRlZmF1bHQge1xuICAgICAgICAgICAgdHJhbnNmb3JtOiBzY2FsZSgwKTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAvLyAuZnctNjAwIHtcbiAgLy8gICBmb250LXdlaWdodDogNjAwO1xuICAvLyB9XG59XG5cbi5tb2JpbGUtY2FsbGJhY2stcG9wdXAge1xuXHRwb3NpdGlvbjogZml4ZWQ7XG5cdGxlZnQ6IDA7XG5cdHRvcDogMDtcblx0d2lkdGg6IDEwMHZ3O1xuXHRoZWlnaHQ6IDEwMCU7XG5cdC8vIGhlaWdodDogZmlsbC1hdmFpbGFibGU7XG5cdC8vIGhlaWdodDogLW1vei1hdmFpbGFibGU7ICAgICAgICAgIC8qIFdlYktpdC1iYXNlZCBicm93c2VycyB3aWxsIGlnbm9yZSB0aGlzLiAqL1xuXHRtaW4taGVpZ2h0OiAtd2Via2l0LWZpbGwtYXZhaWxhYmxlOyAgLyogTW96aWxsYS1iYXNlZCBicm93c2VycyB3aWxsIGlnbm9yZSB0aGlzLiAqL1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDExNSwxMTUsMTE1LCAwLjUpO1xuXHR6LWluZGV4OiA2MSAhaW1wb3J0YW50O1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuXHRhbGlnbi1jb250ZW50OiBmbGV4LWVuZDtcblx0anVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDtcblx0cGFkZGluZzogMTBweCAzNXB4O1xuXHRmb250LXNpemU6IDE1cHg7XG4gIGxpbmUtaGVpZ2h0OiAxMDAlO1xuICBmb250LXdlaWdodDogNTAwO1xuICBvcGFjaXR5OiAwO1xuICB2aXNpYmlsaXR5OiBoaWRkZW47XG4gIHRyYW5zaXRpb246IC4zNXMgZWFzZS1vdXQ7XG4gIGEge1xuICAgIHRleHQtdHJhbnNmb3JtOiBub25lO1xuICB9XG4gICYuYWN0aXZlIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIHZpc2liaWxpdHk6IHZpc2libGU7XG4gIH1cblx0Jj4qIHtcblx0ICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG5cdCAgd2lkdGg6IDEwMCU7XG5cdCAgaGVpZ2h0OiA1MHB4O1xuXHQgIGRpc3BsYXk6IGZsZXg7XG5cdCAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG5cdCAgYWxpZ24taXRlbXM6IGNlbnRlcjtcblx0ICBiYWNrZ3JvdW5kOiAjRjNFRkU5O1xuXHQgIGJvcmRlci1yYWRpdXM6IDEwcHg7XG5cdCAgY29sb3I6ICRkYXJrLXZpb2xldDtcblx0fVxuXHQmPjpudGgtY2hpbGQobisyKSB7XG5cdCAgbWFyZ2luLXRvcDogNnB4O1xuXHR9XG5cdCZfX2Nsb3NlIHtcblx0ICBiYWNrZ3JvdW5kLWNvbG9yOiAkZGFyay12aW9sZXQ7XG5cdCAgY29sb3I6ICNGNEY3Rjk7XG5cdH1cbiAgfVxuXG4uaGVhZGVyLWxvZ28ge1xuXHR3aWR0aDogMjIycHg7XG5cdHN2Zy5oZWFkZXItbG9nbyB7XG5cdFx0d2lkdGg6IDEwMCU7XG5cdFx0aGVpZ2h0OiAxMDAlO1xuXHR9XG5cdEBpbmNsdWRlIHRvKDE5MjBweCl7XG5cdFx0d2lkdGg6IDE5NHB4O1xuXHR9XG5cdEBpbmNsdWRlIHRvKDU3NXB4KXtcblx0XHR3aWR0aDogMTMwcHg7XG5cdFx0Ly8gJj5zdmcge1xuXHRcdC8vIFx0d2lkdGg6IDEwMCU7XG5cdFx0Ly8gXHRoZWlnaHQ6IDEwMCU7XG5cdFx0Ly8gfVxuXHR9XG5cdEBpbmNsdWRlIHRvKDM2MHB4KXtcblx0XHR3aWR0aDogMTAwcHg7XG5cdH1cbn0iLCIuZm9vdGVyIHtcbiAgLy8gLS1hc2lkZS13aWR0aDogNTY4cHg7XG4gIC8vIC0tZm9vdGVyLW1pbi1oZWlnaHQ6IDg2MHB4O1xuICAvLyBAaW5jbHVkZSBiYXNlR3JpZFN0eWxlKGF1dG8sIHZhcigtLWFzaWRlLXdpZHRoKSBjYWxjKDEwMHZ3IC0gdmFyKC0tYXNpZGUtd2lkdGgpKSk7XG4gIC8vIG1pbi1oZWlnaHQ6IHZhcigtLWZvb3Rlci1taW4taGVpZ2h0KTtcbiAgLy8gZGlzcGxheTogZ3JpZDtcbiAgLy8gZ3JpZC10ZW1wbGF0ZTogcmVwZWF0KDEwLCBhdXRvKSAvIHJlcGVhdCg1LCBhdXRvKTtcbiAgZGlzcGxheTogZmxleDtcbiAgd2lkdGg6IDEwMCU7XG4gIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgQGluY2x1ZGUgdGFibGV0IHtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICB9XG5cbiAgJi1tZW51IHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkbGlnaHQtbGF2YW5kZXI7XG4gICAgcGFkZGluZzogMTcycHggMCA0OHB4IDEyMHB4O1xuICAgIHdpZHRoOiAzMCU7XG4gICAgQGluY2x1ZGUgYmFzZUZsZXhTdHlsZShmbGV4LXN0YXJ0LCBzcGFjZS1iZXR3ZWVuLCBjb2x1bW4pO1xuICAgIC8vIEBpbmNsdWRlIGJhc2VHcmlkU3R5bGUoMTcycHggYXV0byA0OHB4LCAxMjBweCBhdXRvKTtcbiAgICAvLyBhbGlnbi1zZWxmOiBjZW50ZXI7XG4gICAgLy8gcGFkZGluZy1sZWZ0OiAxMjBweDtcbiAgICAvLyBwYWRkaW5nOiAxNzJweCAwIDQ4cHggMTIwcHg7XG4gICAgQGluY2x1ZGUgdGFibGV0TGFyZ2Uge1xuICAgICAgcGFkZGluZzogMTIwcHggODBweCA0MHB4IDgwcHg7XG4gICAgfVxuICAgIEBpbmNsdWRlIG5vdGVib29rIHtcbiAgICAgIHBhZGRpbmc6IDgwcHggNDBweCA0MHB4IDQwcHg7XG4gICAgfVxuICAgIEBpbmNsdWRlIHRhYmxldCB7XG4gICAgICBwYWRkaW5nOiA4MHB4IDQwcHg7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICB9XG4gICAgQGluY2x1ZGUgbW9iaWxlIHtcbiAgICAgIHBhZGRpbmc6IDQwcHggMTVweDtcbiAgICB9XG4gIH1cblxuICAmLWVsZW1lbnQge1xuICAgICY6bm90KDpsYXN0LWNoaWxkKSB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAzMHB4O1xuICAgICAgQGluY2x1ZGUgbW9iaWxlIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMTVweDtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAmLWxpbmsge1xuICAgIEBpbmNsdWRlIHNldEZvbnRTdHlsZSgnTW9udCcsIDI4cHgsIDUwMCwgJGxpZ2h0LWdyZXksIDEzMCUpO1xuICAgIEBpbmNsdWRlIG1vYmlsZSB7XG4gICAgICBmb250LXNpemU6IDE4cHg7XG4gICAgfVxuICB9XG4gICYtbGluayB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIC8vIGxpbmUtaGVpZ2h0OiAxMDAlO1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgZGlzcGxheTogYmxvY2s7XG5cbiAgICBAaW5jbHVkZSBmcm9tKDEwMjVweCkge1xuICAgICAgY29sb3I6IHRyYW5zcGFyZW50O1xuICAgICAgJjphZnRlciB7XG4gICAgICAgIGNvbnRlbnQ6IGF0dHIoZGF0YS10ZXh0KTtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICBsZWZ0OiAwO1xuICAgICAgICB0b3A6IDA7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICAgIC8vIGNvbG9yOiBncmVlbjtcbiAgICAgICAgdHJhbnNpdGlvbjogMC4yNXMgZWFzZS1vdXQ7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMTAwJSk7XG4gICAgICAgIGNvbG9yOiAkZGFyay12aW9sZXQ7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxMTAlO1xuICAgICAgICBvcGFjaXR5OiAwO1xuICAgICAgfVxuICAgICAgJjpiZWZvcmUge1xuICAgICAgICBjb250ZW50OiBhdHRyKGRhdGEtdGV4dCk7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgLy8gY29sb3I6IHZhcigtLWNvbG9yLXdoaXRlKTtcbiAgICAgICAgbGVmdDogMDtcbiAgICAgICAgdG9wOiAwO1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgICBsaW5lLWhlaWdodDogMTEwJTtcbiAgICAgICAgY29sb3I6ICR3aGl0ZS1jb2xvcjtcbiAgICAgICAgdHJhbnNpdGlvbjogMC4yNXMgZWFzZS1vdXQ7XG4gICAgICB9XG4gICAgICAmOmhvdmVyOmJlZm9yZSB7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgxMTAlKTtcbiAgICAgIH1cbiAgICAgICY6aG92ZXI6YWZ0ZXIge1xuICAgICAgICBvcGFjaXR5OiAxO1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCk7XG4gICAgICB9XG4gICAgfVxuICAgIEBpbmNsdWRlIHRvKDU3NXB4KSB7XG4gICAgICBsaW5lLWhlaWdodDogMTQwJTtcbiAgICB9XG4gIH1cbiAgJi1jb3B5cmlnaHQge1xuICAgIEBpbmNsdWRlIHNldEZvbnRTdHlsZSgnTW9udCcsIDEzcHgsIDUwMCwgJGNvcHlyaWdodC1jb2xvciwgMTQwJSwgJHRleHQtdHJhbnNmb3JtOiBub25lKTtcbiAgICBAaW5jbHVkZSB0YWJsZXQge1xuICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG4gIH1cbiAgJi1jb3B5cmlnaHQtbW9iaWxlIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICAgIEBpbmNsdWRlIHNldEZvbnRTdHlsZSgnTW9udCcsIDEzcHgsIDUwMCwgJGNvcHlyaWdodC1jb2xvciwgMTQwJSwgJHRleHQtdHJhbnNmb3JtOiBub25lKTtcbiAgICBAaW5jbHVkZSB0YWJsZXQge1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICBtYXJnaW4tdG9wOiAzMHB4O1xuICAgIH1cbiAgICBAaW5jbHVkZSBtb2JpbGUge1xuICAgICAgbWFyZ2luLXRvcDogMjBweDtcbiAgICAgIGZvbnQtc2l6ZTogMTBweDtcbiAgICAgIGNvbG9yOiAkYm90dG9tLWZvb3Rlci10ZXh0O1xuICAgIH1cbiAgfVxuXG4gIC8vICYtbGlzdCxcbiAgLy8gJi1jb3B5cmlnaHQge1xuICAvLyAgIGdyaWQtY29sdW1uLXN0YXJ0OiAyO1xuICAvLyB9XG5cbiAgLy8gJi1saXN0IHtcbiAgLy8gICBncmlkLXJvdy1zdGFydDogMjtcbiAgLy8gfVxuXG4gIC8vICYtY29weXJpZ2h0IHtcbiAgLy8gICBncmlkLXJvdy1lbmQ6IDM7XG4gIC8vIH1cblxuICAmLWNvbnRlbnQge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRkYXJrLXZpb2xldDtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgLy8gcGFkZGluZzogMTcycHggMTIwcHggNDhweCAxMzJweDtcbiAgICAvLyBAaW5jbHVkZSBiYXNlRmxleFN0eWxlKGZsZXgtZW5kLCBzcGFjZS1iZXR3ZWVuLCBjb2x1bW4pO1xuICAgIHBhZGRpbmc6IDE3MnB4IDEyMHB4IDQ4cHggMTAwcHg7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIHdpZHRoOiA3MCU7XG4gICAgLy8gcGFkZGluZy1sZWZ0OiAxMzJweDtcbiAgICBAaW5jbHVkZSB0YWJsZXRMYXJnZSB7XG4gICAgICBwYWRkaW5nOiAxMjBweCA4MHB4IDQwcHggODBweDtcbiAgICB9XG4gICAgQGluY2x1ZGUgbm90ZWJvb2sge1xuICAgICAgcGFkZGluZzogODBweCA0MHB4IDQwcHggNDBweDtcbiAgICB9XG4gICAgQGluY2x1ZGUgdGFibGV0IHtcbiAgICAgIHBhZGRpbmc6IDgwcHggNDBweDtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgIH1cbiAgICBAaW5jbHVkZSBtb2JpbGUge1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIHBhZGRpbmc6IDYwcHggMTVweDtcbiAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICBwYWRkaW5nLWJvdHRvbTogMjdweDtcbiAgICB9XG4gIH1cblxuICAmLXRhYmxlIHtcbiAgICBAaW5jbHVkZSBzZXRGb250U3R5bGUoJ01vbnQnLCAyMHB4LCA1MDAsICRsaWdodC1ncmV5LCAxNzAlLCAkdGV4dC10cmFuc2Zvcm06IG5vbmUpO1xuICB9XG4gICYtcm93LXdyYXAge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgd2lkdGg6IDg1JTtcbiAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgcmdiYSgxMjcsIDExNSwgMTQyLCAwLjUpO1xuICAgIEBpbmNsdWRlIHRhYmxldCB7XG4gICAgICBib3JkZXItYm90dG9tOiBub25lO1xuICAgIH1cbiAgfVxuXG4gICYtcm93IHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBwYWRkaW5nLWJvdHRvbTogNDBweDtcbiAgICBAaW5jbHVkZSB0YWJsZXQge1xuICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgIHBhZGRpbmctYm90dG9tOiA4MHB4O1xuICAgIH1cbiAgICBAaW5jbHVkZSBtb2JpbGUge1xuICAgICAgcGFkZGluZy1ib3R0b206IDYwcHg7XG4gICAgfVxuICB9XG5cbiAgJi1jZWxsIHtcbiAgICB2ZXJ0aWNhbC1hbGlnbjogdG9wO1xuICAgIEBpbmNsdWRlIHRhYmxldCB7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICB9XG5cbiAgICAmOm50aC1jaGlsZCgxKSB7XG4gICAgICB3aWR0aDogMjAlO1xuICAgICAgbWFyZ2luLXJpZ2h0OiA5OHB4O1xuICAgICAgQGluY2x1ZGUgbm90ZWJvb2sge1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IDIwcHg7XG4gICAgICB9XG4gICAgICBAaW5jbHVkZSB0YWJsZXQge1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAmOm50aC1jaGlsZCgyKSB7XG4gICAgICB3aWR0aDogMzAlO1xuICAgICAgbWFyZ2luLXJpZ2h0OiA4MHB4O1xuICAgICAgQGluY2x1ZGUgdGFibGV0IHtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICB9XG4gICAgfVxuXG4gICAgJjpudGgtY2hpbGQoMykge1xuICAgICAgd2lkdGg6IGZpdC1jb250ZW50O1xuICAgICAgQGluY2x1ZGUgdGFibGV0IHtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIG1hcmdpbi10b3A6IDQwcHg7XG4gICAgICB9XG4gICAgICBAaW5jbHVkZSBtb2JpbGUge1xuICAgICAgICBtYXJnaW4tdG9wOiAyMHB4O1xuICAgICAgfVxuICAgIH1cblxuICAgICZfX25hbWUge1xuICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICAgIEBpbmNsdWRlIHRhYmxldCB7XG4gICAgICAgIGZvbnQtc2l6ZTogMjBweDtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMjBweDtcbiAgICAgIH1cblxuICAgICAgQGluY2x1ZGUgbW9iaWxlIHtcbiAgICAgICAgZm9udC1zaXplOiAxNHB4O1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAxMHB4O1xuICAgICAgfVxuICAgIH1cblxuICAgICZfX2FkZHJlc3Mge1xuICAgICAgQGluY2x1ZGUgdGFibGV0IHtcbiAgICAgICAgZm9udC1zaXplOiAyMnB4O1xuICAgICAgICBtYXJnaW4tdG9wOiAxMHB4O1xuICAgICAgfVxuICAgICAgQGluY2x1ZGUgbW9iaWxlIHtcbiAgICAgICAgZm9udC1zaXplOiAxNnB4O1xuICAgICAgfVxuICAgIH1cbiAgICAmX19zY2hlZHVsZSB7XG4gICAgICBtYXJnaW4tdG9wOiAyMHB4O1xuICAgICAgQGluY2x1ZGUgdGFibGV0IHtcbiAgICAgICAgZm9udC1zaXplOiAyMnB4O1xuICAgICAgICBtYXJnaW4tdG9wOiAxMHB4O1xuICAgICAgfVxuICAgICAgQGluY2x1ZGUgbW9iaWxlIHtcbiAgICAgICAgZm9udC1zaXplOiAxNnB4O1xuICAgICAgfVxuICAgIH1cblxuICAgIHRhYmxlIHA6bm90KCZfX25hbWUpIHtcbiAgICAgIGZvbnQtd2VpZ2h0OiA0MDA7XG4gICAgICBmb250LXNpemU6IDIycHg7XG4gICAgICBjb2xvcjogJHRhYmxlLXAtY29sb3I7XG4gICAgfVxuXG4gICAgLy8gJl9fc2NoZWR1bGUge1xuICAgIC8vICAgcGFkZGluZy10b3A6IDIwcHg7XG4gICAgLy8gfVxuXG4gICAgJl9fbWFwIHtcbiAgICAgIEBpbmNsdWRlIGxpbmstYnRucygyNzBweCwgNzBweCwgJGdyZXktbGluay1idG4sIDE0cHgsICRsaWdodC1ncmV5KTtcbiAgICAgIEBpbmNsdWRlIG1vYmlsZSB7XG4gICAgICAgIEBpbmNsdWRlIGxpbmstYnRucygxNzBweCwgNDVweCwgJGdyZXktbGluay1idG4sIDEwcHgsICRsaWdodC1ncmV5KTtcbiAgICAgIH1cbiAgICAgIHRyYW5zaXRpb246IDAuMjVzIGVhc2Utb3V0O1xuICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTAyNXB4KSB7XG4gICAgICAgICY6aG92ZXIge1xuICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICR3aGl0ZS1jb2xvcjtcbiAgICAgICAgICBjb2xvcjogJGRhcmstdmlvbGV0O1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgJl9fdGVsLXdyYXBwZXIge1xuICAgICAgQGluY2x1ZGUgYmFzZUZsZXhTdHlsZSgkZmxleC1kaXJlY3Rpb246IGNvbHVtbik7XG4gICAgICBAaW5jbHVkZSB0YWJsZXQge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAyMHB4O1xuICAgICAgfVxuICAgICAgQGluY2x1ZGUgbW9iaWxlIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMTBweDtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAmX19jYWxsLWJ0biB7XG4gICAgICBAaW5jbHVkZSBsaW5rLWJ0bnMoMjcwcHgsIDcwcHgsICRsaWdodC1ncmV5LCAxNHB4LCAkaGVhZGVycy1jb2xvcik7XG4gICAgICBmb250LWZhbWlseTogJ01vbnQnO1xuICAgICAgQGluY2x1ZGUgbW9iaWxlIHtcbiAgICAgICAgQGluY2x1ZGUgbGluay1idG5zKDE3MHB4LCA0NXB4LCAkbGlnaHQtZ3JleSwgMTBweCwgJGhlYWRlcnMtY29sb3IpO1xuICAgICAgfVxuICAgICAgdHJhbnNpdGlvbjogMC4yNXMgZWFzZS1vdXQ7XG4gICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMDI1cHgpIHtcbiAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGxpZ2h0LWxhdmFuZGVyO1xuICAgICAgICAgIGNvbG9yOiAkd2hpdGUtY29sb3I7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gICAgJl9fc29jLW5ldHcge1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICAgIHdpZHRoOiAzMDBweDtcbiAgICAgIEBpbmNsdWRlIHRhYmxldCB7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDtcbiAgICAgIH1cbiAgICB9XG4gICAgJl9fY29udGFjdHMge1xuICAgICAgcGFkZGluZy10b3A6IDIwcHg7XG4gICAgICBAaW5jbHVkZSB0YWJsZXQge1xuICAgICAgICBwYWRkaW5nLXRvcDogMDtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAvLyAmX19zb2MtbmV0dyB7XG4gICAgLy8gICBAaW5jbHVkZSBiYXNlRmxleFN0eWxlKCRqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW4pO1xuICAgIC8vIH1cblxuICAgICZfX2luc3RhIHtcbiAgICAgIC8vIG1hcmdpbi1sZWZ0OiA2MHB4O1xuICAgIH1cbiAgfVxuXG4gICYtdG8tdG9wIHtcbiAgICBAaW5jbHVkZSBzbGlkZUJ0bnMoJGJhY2tncm91bmQ6ICRncmV5LWxpbmstYnRuKTtcbiAgICBib3JkZXI6IG5vbmU7XG4gICAgQGluY2x1ZGUgd2lkdGgtaGVpZ3RoKDcwcHgpO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDE3MnB4O1xuICAgIHJpZ2h0OiAxMjBweDtcbiAgICBAaW5jbHVkZSB0YWJsZXRMYXJnZSB7XG4gICAgICB0b3A6IDEyMHB4O1xuICAgICAgcmlnaHQ6IDgwcHg7XG4gICAgfVxuICAgIEBpbmNsdWRlIG5vdGVib29rIHtcbiAgICAgIHRvcDogODBweDtcbiAgICAgIHJpZ2h0OiA0MHB4O1xuICAgIH1cbiAgICBAaW5jbHVkZSB0YWJsZXQge1xuICAgICAgdG9wOiA4MHB4O1xuICAgICAgcmlnaHQ6IDQwcHg7XG4gICAgfVxuICAgIEBpbmNsdWRlIG1vYmlsZSB7XG4gICAgICB0b3A6IDYwcHg7XG4gICAgICByaWdodDogMTVweDtcbiAgICAgIGhlaWdodDogNDVweDtcbiAgICAgIHdpZHRoOiA0NXB4O1xuICAgIH1cbiAgICBAaW5jbHVkZSBmcm9tKDEwMjVweCkge1xuICAgICAgdHJhbnNpdGlvbjogMC4yNXMgZWFzZS1vdXQ7XG4gICAgICB0cmFuc2Zvcm0tb3JpZ2luOiBjZW50ZXI7XG5cbiAgICAgICY6aG92ZXIge1xuICAgICAgICB0cmFuc2Zvcm06IHNjYWxlKDEuMSk7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgJi10b3AtYXJyb3cge1xuICAgIEBpbmNsdWRlIHdpZHRoLWhlaWd0aCgxMnB4LCA2cHgpO1xuICB9XG5cbiAgJi1ib3R0b20ge1xuICAgIEBpbmNsdWRlIGJhc2VGbGV4U3R5bGUoZmxleC1lbmQsIHNwYWNlLWJldHdlZW4pO1xuICAgIEBpbmNsdWRlIHRhYmxldCB7XG4gICAgICBhbGlnbi1pdGVtczogZmxleC1zdGFydDtcbiAgICAgIGhlaWdodDogNTBweDtcbiAgICB9XG4gICAgQGluY2x1ZGUgbW9iaWxlIHtcbiAgICAgIGhlaWdodDogYXV0bztcbiAgICB9XG5cbiAgICAmX190ZXh0IHtcbiAgICAgIEBpbmNsdWRlIHNldEZvbnRTdHlsZSgnTW9udCcsIDEzcHgsIDYwMCwgJGJvdHRvbS1mb290ZXItdGV4dCwgMTQwJSwgJHRleHQtdHJhbnNmb3JtOiBub25lKTtcbiAgICAgIEBpbmNsdWRlIG1vYmlsZSB7XG4gICAgICAgIEBpbmNsdWRlIHNldEZvbnRTdHlsZSgnTW9udCcsIDEwcHgsIDYwMCwgJGJvdHRvbS1mb290ZXItdGV4dCwgMTQwJSwgJHRleHQtdHJhbnNmb3JtOiBub25lKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAmX19saW5rIHtcbiAgICAgIHdpZHRoOiA3OHB4O1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoODBweCk7XG4gICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoNDBweCk7XG4gICAgICB0cmFuc2l0aW9uOiBhbGwgZWFzZS1pbi1vdXQgMC4zcztcblxuICAgICAgQGluY2x1ZGUgZnJvbSgxMzYxcHgpIHtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDEyMHB4KTtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDQwcHgpO1xuICAgICAgfVxuICAgICAgQGluY2x1ZGUgZnJvbSgxOTIxcHgpIHtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDUwcHgpO1xuICAgICAgfVxuICAgICAgQGluY2x1ZGUgdGFibGV0IHtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDQwcHgpO1xuICAgICAgfVxuICAgICAgQGluY2x1ZGUgbW9iaWxlIHtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDUwcHgpO1xuICAgICAgfVxuICAgICAgJjpob3ZlciB7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAmX19pbWcge1xuICAgICAgQGluY2x1ZGUgc2V0SW1nV2lkdGgoNzhweCk7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICBAaW5jbHVkZSBtb2JpbGUge1xuICAgICAgICB3aWR0aDogNTFweDtcbiAgICAgIH1cbiAgICAgIC8vIHRyYW5zZm9ybTogdHJhbnNsYXRlWSg4MHB4KTtcbiAgICB9XG4gIH1cblxuICAmLXRhYmxlLWxpbmsge1xuICAgIHdpZHRoOiA1MCU7XG4gICAgQGluY2x1ZGUgc2V0Rm9udFN0eWxlKCdNb250JywgMjJweCwgNDAwLCAkdGFibGUtcC1jb2xvciwgMTcwJSwgJHRleHQtdHJhbnNmb3JtOiBub25lKTtcbiAgICBAaW5jbHVkZSBtb2JpbGUge1xuICAgICAgQGluY2x1ZGUgc2V0Rm9udFN0eWxlKCdNb250JywgMTZweCwgNDAwLCAkdGFibGUtcC1jb2xvciwgMTcwJSwgJHRleHQtdHJhbnNmb3JtOiBub25lKTtcbiAgICB9XG4gICAgQGluY2x1ZGUgZnJvbSgxMDI1cHgpIHtcbiAgICAgIHRyYW5zaXRpb246IDAuMjVzIGVhc2Utb3V0O1xuICAgICAgJjpob3ZlciB7XG4gICAgICAgIGNvbG9yOiAkbGlnaHQtbGF2YW5kZXI7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgJi10YWJsZS1saW5rLmZvb3Rlci1jZWxsX190ZWwge1xuICAgIG1pbi13aWR0aDogbWF4LWNvbnRlbnQ7XG4gICAgd2lkdGg6IDEwMCU7XG4gIH1cblxuICAucGIge1xuICAgIHBhZGRpbmctYm90dG9tOiA0MHB4O1xuICB9XG5cbiAgLnB0IHtcbiAgICBwYWRkaW5nLXRvcDogNjBweDtcbiAgICBAaW5jbHVkZSB0YWJsZXQge1xuICAgICAgcGFkZGluZy10b3A6IDA7XG4gICAgfVxuICB9XG59XG4iLCIucGFnZTQwNCB7XG4gIG1pbi1oZWlnaHQ6IDEwMHZoO1xuICBAaW5jbHVkZSBiYXNlRmxleFN0eWxlKGNlbnRlciwgY2VudGVyLCBjb2x1bW4pO1xuXG4gICZfX2ltZyB7XG4gICAgQGluY2x1ZGUgc2V0SW1nSGVpZ2h0KDQwMHB4KTtcbiAgICBtYXJnaW4tYm90dG9tOiAxMHB4O1xuICAgIEBpbmNsdWRlIG1vYmlsZSB7XG4gICAgICBoZWlnaHQ6IDEyNXB4O1xuICAgIH1cbiAgfVxuXG4gICZfX3RleHQge1xuICAgIEBpbmNsdWRlIHNldEZvbnRTdHlsZSgnTW9udCcsIDE4cHgsIDQwMCwgJHRleHQtY29sb3ItNDA0LCAxNzAlLCAkdGV4dC10cmFuc2Zvcm06IG5vbmUpO1xuICAgIG1hcmdpbi1ib3R0b206IDQwcHg7XG4gIH1cblxuICAmX19idG5zLXdyYXBwZXIge1xuICAgIEBpbmNsdWRlIGJhc2VGbGV4U3R5bGUoY2VudGVyKTtcbiAgICBAaW5jbHVkZSBtb2JpbGUge1xuICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICB9XG4gIH1cblxuICAmX19ob21lLWxpbmsge1xuICAgIG1hcmdpbi1sZWZ0OiA0MHB4O1xuICAgIEBpbmNsdWRlIG1vYmlsZSB7XG4gICAgICBtYXJnaW4tbGVmdDogMDtcbiAgICAgIG1hcmdpbi10b3A6IDEwcHg7XG4gICAgfVxuICB9XG59XG4iLCIiLCIubWVudS5hY3RpdmUge1xuICAgIC5tZW51LWJsb2NrX19lbGVtZW50IHtcbiAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICB9XG59XG4iLCIiLCIvKlxuKiB0b2FzdCBzdGFydFxuKi9cbi50b2FzdC13cmFwcGVyIHtcbiAgcG9zaXRpb246IGZpeGVkO1xuICByaWdodDogMDtcbiAgYm90dG9tOiAwO1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICB3aWR0aDogMzYwcHg7XG4gIHotaW5kZXg6IDMxO1xuXG59XG5cbi50b2FzdCB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZGlzcGxheTogZmxleDtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogMTAzcHg7XG4gIGJhY2tncm91bmQ6ICNGRkZGRkY7XG5cbiAgLnRvYXN0LWxvZ28tYmxvY2sge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICBtaW4td2lkdGg6IDYwcHg7XG4gICAgd2lkdGg6IDYwcHg7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICB9XG5cbiAgLnRvYXN0X19sb2dvIHtcbiAgICB3aWR0aDogMzdweDtcbiAgICBoZWlnaHQ6IDM3cHg7XG5cbiAgICBzdmcge1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICBmaWxsOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDEpO1xuICAgIH1cbiAgfVxuXG4gIC50b2FzdC1jb250ZW50LWJsb2NrIHtcbiAgICBwYWRkaW5nOiAyMHB4IDUwcHggMjBweCAyMHB4O1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcblxuICB9XG5cbiAgLnRvYXN0X190aXRsZSB7XG4gICAgbWFyZ2luLWJvdHRvbTogMTVweDtcbiAgICBmb250LXdlaWdodDogNzAwO1xuICAgIGZvbnQtc2l6ZTogMTJweDtcbiAgICBsaW5lLWhlaWdodDogMTJweDtcbiAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICB9XG5cbiAgLnRvYXN0X190ZXh0IHtcbiAgICBmb250LXdlaWdodDogNTAwO1xuICAgIGZvbnQtc2l6ZTogMTJweDtcbiAgICBsaW5lLWhlaWdodDogMThweDtcbiAgICBjb2xvcjogIzhFOEU4RTtcbiAgfVxuXG4gIC50b2FzdF9fY29sb3NlLWJ0biB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHBhZGRpbmc6IDA7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICB0b3A6IDE3cHg7XG4gICAgcmlnaHQ6IDIwcHg7XG4gICAgd2lkdGg6IDEycHg7XG4gICAgaGVpZ2h0OiAxMnB4O1xuICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICAgIGJvcmRlcjogbm9uZTtcbiAgICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMC43cyB2YXIoLS1pbik7XG5cbiAgICBAaW5jbHVkZSBmcm9tKDEwMjRweCkge1xuICAgICAgJjpob3ZlciB7XG4gICAgICAgIHRyYW5zZm9ybTogcm90YXRlKDkwZGVnKSBzY2FsZSgxLjQpO1xuICAgICAgICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMC43cyB2YXIoLS1pbilcbiAgICAgIH1cbiAgICB9XG5cbiAgICBzdmcge1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICBmaWxsOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDEpO1xuICAgIH1cbiAgfVxufVxuXG5bZGF0YS10b2FzdC1pdGVtXSB7fVxuXG5bZGF0YS10b2FzdC1pdGVtXVtkYXRhLXRvYXN0LXN0YXR1cz1cImVycm9yXCJdOm5vdCgjcikge1xuICAudG9hc3QtbG9nby1ibG9jayB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI0U4OEU4RTtcbiAgfVxuXG4gIC50b2FzdF9fdGl0bGUge1xuICAgIGNvbG9yOiAjRTg4RThFO1xuICB9XG59XG5cbltkYXRhLXRvYXN0LWl0ZW1dW2RhdGEtdG9hc3Qtc3RhdHVzPVwic3VjY2Vzc1wiXTpub3QoI3IpIHtcbiAgLnRvYXN0LWxvZ28tYmxvY2sge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICM5NkMzODA7XG4gIH1cblxuICAudG9hc3RfX3RpdGxlIHtcbiAgICBjb2xvcjogIzk2QzM4MDtcbiAgfVxufVxuXG4vKlxuICAqIHRvYXN0IGVuZFxuKi8iLCJAaW1wb3J0ICcuL3BhZ2VzL2Fib3V0JztcbkBpbXBvcnQgJy4vcGFnZXMvY29udGFjdHMnO1xuQGltcG9ydCAnLi9wYWdlcy9nYWxsZXJ5JztcbkBpbXBvcnQgJy4vcGFnZXMvaG9tZSc7XG5AaW1wb3J0ICcuL3BhZ2VzL2lubmVyLXN0b2Nrcy1uZXdzJztcbkBpbXBvcnQgJy4vcGFnZXMvcHJvZ3Jlc3MnO1xuQGltcG9ydCAnLi9wYWdlcy9zdG9ja3MtbmV3cyc7XG5AaW1wb3J0ICcuL3BhZ2VzL3N3aXBlci1wYWdlJztcbiIsIi8vIDpyb290IHtcbi8vICAgLS1zZWMtYnRtLWluZGVudDogMjAwcHg7XG4vLyAgIC0tZWxlbS1idG0tbWFyZ2luOiAxMDBweDtcbi8vIH1cblxuLm1haW4ge1xuICAmLWFib3V0IHtcbiAgICBwYWRkaW5nLWJvdHRvbTogdmFyKC0tc2VjLWJ0bS1pbmRlbnQpO1xuICAgIC8vIGRpc3BsYXk6IGdyaWQ7XG4gICAgLy8gZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoYXV0by1maWxsLCBtaW5tYXgoNjBweCwgMWZyKSk7XG4gICAgQGluY2x1ZGUgYmFzZUdyaWRTdHlsZShhdXRvLCByZXBlYXQoYXV0by1maWxsLCBtaW5tYXgoNjBweCwgMWZyKSkpO1xuICAgIC8vIHBhZGRpbmctbGVmdDogdmFyKC0tbHItcGFkZGluZ3MpO1xuICAgIC8vIHBhZGRpbmctcmlnaHQ6IHZhcigtLWxyLXBhZGRpbmdzKTtcbiAgICBAaW5jbHVkZSB0YWJsZXQge1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgfVxuXG4gICAgLmJyZWFkY3J1bWJzIHtcbiAgICAgIGdyaWQtY29sdW1uOiAxIC8gLTE7XG4gICAgfVxuICB9XG59XG5cbi5hYm91dCB7XG4gICZfX2NvbnRlbnQge1xuICAgIGdyaWQtY29sdW1uOiAxIC8gLTE7XG4gIH1cblxuICAmLXNlY3Rpb24tY29udGVudCB7XG4gICAgLy8gcGFkZGluZzogMCB2YXIoLS1sci1wYWRkaW5ncyk7XG5cbiAgICAmOm5vdCg6Zmlyc3QtY2hpbGQpOm5vdCg6bGFzdC1jaGlsZCkge1xuICAgICAgLy8gbWFyZ2luLWJvdHRvbTogdmFyKC0tc2VjLWJ0bS1pbmRlbnQpO1xuICAgICAgcGFkZGluZy1ib3R0b206IHZhcigtLXNlYy1idG0taW5kZW50KTtcbiAgICAgIEBpbmNsdWRlIG1vYmlsZSB7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgJi1oZWFkZXJzIHtcbiAgICBAaW5jbHVkZSBzZXRGb250U3R5bGUoJ0Nvcm1vcmFudCBHYXJhbW9uZCcsIDEwMHB4LCA0MDAsICRoZWFkZXJzLWNvbG9yLCAxMDAlKTtcbiAgICBAaW5jbHVkZSB0YWJsZXQge1xuICAgICAgZm9udC1zaXplOiA2MnB4O1xuICAgIH1cbiAgICBAaW5jbHVkZSBtb2JpbGUge1xuICAgICAgZm9udC1zaXplOiAzMHB4O1xuICAgIH1cbiAgfVxuXG4gICZfX2hlYWRlciB7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIG1hcmdpbi1ib3R0b206IDYwcHg7XG4gICAgZ3JpZC1jb2x1bW46IDEgLyAtMTtcbiAgICBAaW5jbHVkZSBtb2JpbGUge1xuICAgICAgbWFyZ2luLWJvdHRvbTogMjBweDtcbiAgICB9XG4gIH1cblxuICAmX19tYWluLWltZyB7XG4gICAgQGluY2x1ZGUgc2V0SW1nV2lkdGgoMTAwJSk7XG4gICAgbWFyZ2luLWJvdHRvbTogdmFyKC0tZWxlbS1idG0tbWFyZ2luKTtcbiAgICBncmlkLWNvbHVtbjogMSAvIC0xO1xuICAgIEBpbmNsdWRlIHRhYmxldCB7XG4gICAgICBtYXJnaW4tYm90dG9tOiA0MHB4O1xuICAgIH1cbiAgfVxufVxuXG4ucGhpbG9zb3BoeSB7XG4gIEBpbmNsdWRlIGJhc2VHcmlkU3R5bGUocmVwZWF0KDMsIGF1dG8pLCByZXBlYXQoYXV0by1maWxsLCBtaW5tYXgoNjBweCwgMWZyKSkpO1xuICBAaW5jbHVkZSB0YWJsZXRMYXJnZSB7XG4gICAgZ3JpZC10ZW1wbGF0ZTogcmVwZWF0KDMsIGF1dG8pIC8gcmVwZWF0KGF1dG8tZmlsbCwgbWlubWF4KDQwcHgsIDFmcikpO1xuICB9XG4gIEBpbmNsdWRlIHRhYmxldCB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICB9XG5cbiAgJl9faGVhZGVyIHtcbiAgICAvLyBncmlkLWNvbHVtbjogMSAvIDM7XG4gICAgZ3JpZC1jb2x1bW46IDEgLyAxMztcbiAgICBtYXJnaW4tYm90dG9tOiB2YXIoLS1lbGVtLWJ0bS1tYXJnaW4pO1xuICAgIEBpbmNsdWRlIHRhYmxldCB7XG4gICAgICBvcmRlcjogMTtcbiAgICB9XG4gICAgQGluY2x1ZGUgbW9iaWxlIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDIwcHg7XG4gICAgfVxuICB9XG5cbiAgJl9fcmlnaHQtdGV4dCB7XG4gICAgLy8gJi13cmFwcGVyIHtcbiAgICAvLyAgIGdyaWQtcm93LXN0YXJ0OiAyO1xuICAgIC8vICAgZ3JpZC1jb2x1bW46IDEzIC8gLTE7XG4gICAgLy8gICBAaW5jbHVkZSBzZXRGb250U3R5bGUoJ01vbnQnLCAyMHB4LCA1MDAsICRkYXJrLWdyZXksIDEzMCUpO1xuICAgIC8vICAgQGluY2x1ZGUgYmFzZUZsZXhTdHlsZSgkanVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuKTtcbiAgICAvLyB9XG4gICAgLy8gZ3JpZC1yb3ctc3RhcnQ6IDI7XG4gICAgLy8gQGluY2x1ZGUgc2V0Rm9udFN0eWxlKCdNb250JywgMjBweCwgNTAwLCAkZGFyay1ncmV5LCAxMzAlKTtcbiAgICAvLyBtYXJnaW4tYm90dG9tOiAxNTBweDtcbiAgICBAaW5jbHVkZSBzZXRGb250U3R5bGUoJ01vbnQnLCAyMHB4LCA1MDAsICRkYXJrLWdyZXksIDEzMCUpO1xuICAgIG1hcmdpbi1ib3R0b206IDE1MHB4O1xuICAgIEBpbmNsdWRlIHRhYmxldExhcmdlIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDEwMHB4O1xuICAgIH1cbiAgICBAaW5jbHVkZSB0YWJsZXQge1xuICAgICAgbWFyZ2luLWJvdHRvbTogNDBweDtcbiAgICAgIGZvbnQtc2l6ZTogMTVweDtcbiAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgICBvcmRlcjogMjtcbiAgICB9XG4gICAgQGluY2x1ZGUgbW9iaWxlIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDIwcHg7XG4gICAgICBmb250LXNpemU6IDEycHg7XG4gICAgfVxuXG4gICAgJl9sZWZ0IHtcbiAgICAgIGdyaWQtcm93LXN0YXJ0OiAyO1xuICAgICAgZ3JpZC1jb2x1bW46IDEzIC8gMjA7XG4gICAgICAvLyBtYXJnaW4tcmlnaHQ6IDYwcHg7XG4gICAgfVxuXG4gICAgJl9yaWdodCB7XG4gICAgICAvLyBncmlkLWNvbHVtbi1zdGFydDogNDtcbiAgICAgIGdyaWQtcm93LXN0YXJ0OiAyO1xuICAgICAgZ3JpZC1jb2x1bW46IDIxIC8gLTE7XG4gICAgfVxuICB9XG5cbiAgJl9fbGVmdC10ZXh0LFxuICAmX19pbWcge1xuICAgIGdyaWQtcm93LXN0YXJ0OiAzO1xuICB9XG5cbiAgJl9fbGVmdC10ZXh0IHtcbiAgICBAaW5jbHVkZSBzZXRGb250U3R5bGUoJ01vbnQnLCAxNnB4LCA1MDAsICR0ZXh0LWNvbG9yLCAxNjAlLCAkdGV4dC10cmFuc2Zvcm06IG5vbmUpO1xuICAgIGdyaWQtY29sdW1uOiAxIC8gMTA7XG4gICAgQGluY2x1ZGUgdGFibGV0IHtcbiAgICAgIG9yZGVyOiA0O1xuICAgICAgZm9udC1zaXplOiAxNXB4O1xuICAgIH1cbiAgICBAaW5jbHVkZSBtb2JpbGUge1xuICAgICAgZm9udC1zaXplOiAxMnB4O1xuICAgICAgLy8gbWFyZ2luLWJvdHRvbTogMjBweDtcbiAgICAgIC8vIGZvbnQtc2l6ZTogMTJweDtcbiAgICAgIC8vIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgfVxuICB9XG5cbiAgJl9faW1nIHtcbiAgICAvLyBncmlkLWNvbHVtbi1zdGFydDogMztcbiAgICAvLyBncmlkLWNvbHVtbi1lbmQ6IDU7XG4gICAgZ3JpZC1jb2x1bW46IDEzIC8gLTE7XG4gICAgQGluY2x1ZGUgc2V0SW1nV2lkdGgoMTAwJSk7XG4gICAgQGluY2x1ZGUgdGFibGV0IHtcbiAgICAgIG1hcmdpbi10b3A6IDMwcHg7XG4gICAgICBtYXJnaW4tYm90dG9tOiAzMHB4O1xuICAgICAgb3JkZXI6IDM7XG4gICAgfVxuICAgIEBpbmNsdWRlIG1vYmlsZSB7XG4gICAgICBtYXJnaW4tdG9wOiAyMHB4O1xuICAgICAgbWFyZ2luLWJvdHRvbTogMjBweDtcbiAgICB9XG4gIH1cbn1cblxuLmRlc2NyaWJlIHtcbiAgLy8gQGluY2x1ZGUgYmFzZUdyaWRTdHlsZShyZXBlYXQoYXV0by1maWxsLCBhdXRvKSwgNTIwcHggYXV0byA1MjBweCBhdXRvKTtcbiAgLy8gQGluY2x1ZGUgYmFzZUdyaWRTdHlsZShyZXBlYXQoNCwgYXV0byksIHJlcGVhdCgyLCA1MjBweCBhdXRvKSk7XG4gIC8vIEBpbmNsdWRlIGJhc2VHcmlkU3R5bGUocmVwZWF0KDQsIGF1dG8pLCA1MjBweCBjYWxjKGF1dG8gLSA1MjBweCkgNTIwcHggMWZyKTtcbiAgLy8gcm93LWdhcDogdmFyKC0tZWxlbS1idG0tbWFyZ2luKTtcbiAgLy8gQGluY2x1ZGUgYmFzZUdyaWRTdHlsZShyZXBlYXQoNSwgYXV0byksIHJlcGVhdChhdXRvLWZpbGwsIG1pbm1heCg2MHB4LCAxZnIpKSk7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgLy8gQGluY2x1ZGUgYmFzZUdyaWRTdHlsZShyZXBlYXQoNCwgYXV0byksIHJlcGVhdChhdXRvLWZpbGwsIG1pbm1heCg2MHB4LCAxZnIpKSk7XG4gIC8vIEBpbmNsdWRlIGJhc2VHcmlkU3R5bGUoXG4gIC8vICAgcmVwZWF0KDIsIGF1dG8pIDE1MHB4IGNhbGMoNTMycHggLSAxNTBweCkgMTUwcHgsXG4gIC8vICAgcmVwZWF0KGF1dG8tZmlsbCwgbWlubWF4KDYwcHgsIDFmcikpXG4gIC8vICk7XG4gIEBpbmNsdWRlIGJhc2VHcmlkU3R5bGUoXG4gICAgcmVwZWF0KDIsIGF1dG8pIDgwcHggY2FsYyg1MzJweCAtIDE1MHB4KSAxNTBweCBhdXRvIDIwMHB4LFxuICAgIHJlcGVhdChhdXRvLWZpbGwsIG1pbm1heCg2MHB4LCAxZnIpKVxuICApO1xuICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoMC41ZGVnLCAjNGEzYTVlIDQ3JSwgJGxpZ2h0LWdyZXkgNDclKTtcbiAgQGluY2x1ZGUgdGFibGV0TGFyZ2Uge1xuICAgIEBpbmNsdWRlIGJhc2VHcmlkU3R5bGUoXG4gICAgICByZXBlYXQoMiwgYXV0bykgODBweCBjYWxjKDUzMnB4IC0gMTUwcHgpIDEyMHB4IGF1dG8gMTAwcHgsXG4gICAgICByZXBlYXQoYXV0by1maWxsLCBtaW5tYXgoNDBweCwgMWZyKSlcbiAgICApO1xuICB9XG4gIEBpbmNsdWRlIHRhYmxldCB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCgwZGVnLCAjNGEzYTVlIDcwJSwgdHJhbnNwYXJlbnQgNTAlKTtcbiAgICBwYWRkaW5nOiAwIDQwcHggODBweCA0MHB4O1xuICAgIG1hcmdpbi1ib3R0b206IC0ycHg7XG4gIH1cbiAgQGluY2x1ZGUgbW9iaWxlIHtcbiAgICBwYWRkaW5nOiAwIDE1cHggNjBweCAxNXB4O1xuICAgIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCgwLjVkZWcsICM0YTNhNWUgNzAlLCB0cmFuc3BhcmVudCA1MCUpO1xuICB9XG4gIC8vIEBpbmNsdWRlIGJhc2VHcmlkU3R5bGUocmVwZWF0KDIsIGF1dG8pIDE1MHB4IGF1dG8gMTUwcHgsIHJlcGVhdChhdXRvLWZpbGwsIG1pbm1heCg2MHB4LCAxZnIpKSk7XG4gIC8vIG1hcmdpbi1ib3R0b206IHZhcigtLXNlYy1idG0taW5kZW50KTtcblxuICAmX19oZWFkZXIge1xuICAgIC8vIGdyaWQtY29sdW1uOiAxIC8gMTM7XG4gICAgLy8gZ3JpZC1jb2x1bW46IDEgLyAxNDtcbiAgICBncmlkLWNvbHVtbjogMyAvIDE2O1xuICAgIG1hcmdpbi1ib3R0b206IHZhcigtLWVsZW0tYnRtLW1hcmdpbik7XG4gIH1cblxuICAmX19yaWdodC10ZXh0IHtcbiAgICBncmlkLXJvdy1zdGFydDogMjtcbiAgICBncmlkLWNvbHVtbjogMTUgLyAyMztcbiAgICBAaW5jbHVkZSBzZXRGb250U3R5bGUoJ01vbnQnLCAyMHB4LCA1MDAsICRkYXJrLWdyZXksIDEzMCUpO1xuICAgIG1hcmdpbi1ib3R0b206IHZhcigtLWVsZW0tYnRtLW1hcmdpbik7XG4gICAgQGluY2x1ZGUgdGFibGV0TGFyZ2Uge1xuICAgICAgZ3JpZC1jb2x1bW46IDE1IC8gMjY7XG4gICAgfVxuICAgIEBpbmNsdWRlIHRhYmxldCB7XG4gICAgICBmb250LXNpemU6IDE1cHg7XG4gICAgfVxuICAgIEBpbmNsdWRlIG1vYmlsZSB7XG4gICAgICBmb250LXNpemU6IDEycHg7XG4gICAgfVxuICB9XG5cbiAgJl9faW1nIHtcbiAgICAvLyBAaW5jbHVkZSBzZXRJbWdXaWR0aCg5NTVweCk7LlxuICAgIC8vIEBpbmNsdWRlIHNldEltZ1dpZHRoKDEwMCUpO1xuICAgIC8vIGhlaWdodDogNTMycHg7XG4gICAgLy8gQGluY2x1ZGUgc2V0SW1nSGVpZ2h0KDUzMHB4KTtcbiAgICBAaW5jbHVkZSB3aWR0aC1oZWlndGgoMTAwJSwgNTMwcHgpO1xuICAgIG9iamVjdC1maXQ6IGNvdmVyO1xuICAgIEBpbmNsdWRlIHRhYmxldExhcmdlIHtcbiAgICAgIGhlaWdodDogNDUwcHg7XG4gICAgfVxuICAgIEBpbmNsdWRlIHRhYmxldCB7XG4gICAgICBoZWlnaHQ6IDMwMHB4O1xuICAgIH1cbiAgICBAaW5jbHVkZSBtb2JpbGUge1xuICAgICAgaGVpZ2h0OiAxODNweDtcbiAgICB9XG5cbiAgICAmX2xlZnQge1xuICAgICAgZ3JpZC1jb2x1bW46IDMgLyAxOTtcbiAgICAgIC8vIGdyaWQtY29sdW1uLXN0YXJ0OiAxO1xuICAgICAgZ3JpZC1yb3c6IDMgLyA0O1xuICAgICAgLy8gbWF4LXdpZHRoOiAxMDAlO1xuICAgICAgLy8gaGVpZ2h0OiBhdXRvO1xuICAgICAgLy8gQGluY2x1ZGUgc2V0SW1nTWF4V2lkdGgoMTAwJSk7XG4gICAgICAvLyBAaW5jbHVkZSBzZXRJbWdXaWR0aCgxMDAlKTtcbiAgICAgIEBpbmNsdWRlIHRhYmxldExhcmdlIHtcbiAgICAgICAgZ3JpZC1jb2x1bW46IDMgLyAyMjtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAmX3JpZ2h0IHtcbiAgICAgIC8vIGdyaWQtY29sdW1uOiAxNCAvIC0xO1xuICAgICAgZ3JpZC1jb2x1bW46IDE1IC8gLTM7XG4gICAgICAvLyBncmlkLXJvdy1zdGFydDogMztcbiAgICAgIGdyaWQtcm93LXN0YXJ0OiA0O1xuICAgICAgLy8gcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgLy8gbWFyZ2luLXRvcDogMTUwcHg7XG4gICAgICAvLyB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMTUwcHgpO1xuXG4gICAgICAvLyBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAvLyB0b3A6IDE1MHB4O1xuICAgICAgLy8gQGluY2x1ZGUgc2V0SW1nV2lkdGgoMTAwJSk7XG4gICAgICAvLyBAaW5jbHVkZSBzZXRJbWdNYXhXaWR0aCgxMDAlKTtcbiAgICAgIEBpbmNsdWRlIHRhYmxldExhcmdlIHtcbiAgICAgICAgZ3JpZC1jb2x1bW46IDE2IC8gLTM7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgJl9fZmlnY2FwdGlvbiB7XG4gICAgQGluY2x1ZGUgc2V0Rm9udFN0eWxlKCdNb250JywgMTZweCwgNTAwLCAkd2hpdGUtY29sb3IsIDE2MCUsICR0ZXh0LXRyYW5zZm9ybTogbm9uZSk7XG4gICAgLy8gYmFja2dyb3VuZC1jb2xvcjogJGRhcmstdmlvbGV0O1xuICAgIG1hcmdpbi10b3A6IDMwcHg7XG4gICAgQGluY2x1ZGUgdGFibGV0TGFyZ2Uge1xuICAgICAgbWFyZ2luLXRvcDogMDtcbiAgICB9XG4gICAgQGluY2x1ZGUgdGFibGV0IHtcbiAgICAgIGZvbnQtc2l6ZTogMTVweDtcbiAgICAgIG1hcmdpbi10b3A6IDMwcHg7XG4gICAgICBtYXJnaW4tYm90dG9tOiAzMHB4O1xuICAgIH1cbiAgICBAaW5jbHVkZSBtb2JpbGUge1xuICAgICAgZm9udC1zaXplOiAxMnB4O1xuICAgICAgbWFyZ2luLXRvcDogMjBweDtcbiAgICAgIG1hcmdpbi1ib3R0b206IDQwcHg7XG4gICAgfVxuXG4gICAgJl9sZWZ0IHtcbiAgICAgIC8vIGdyaWQtY29sdW1uLXN0YXJ0OiAxO1xuICAgICAgZ3JpZC1jb2x1bW46IDMgLyAxMTtcbiAgICAgIGdyaWQtcm93LXN0YXJ0OiA1O1xuICAgICAgLy8gcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgLy8gdG9wOiAtMTUwcHg7XG4gICAgfVxuXG4gICAgJl9yaWdodCB7XG4gICAgICAvLyBncmlkLWNvbHVtbi1zdGFydDogMTQ7XG4gICAgICBncmlkLWNvbHVtbjogMTUgLyAyMztcbiAgICAgIGdyaWQtcm93LXN0YXJ0OiA2O1xuICAgICAgLy8gcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgLy8gdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDE1MHB4KTtcbiAgICAgIC8vIGdyaWQtcm93LWVuZDogLTE7XG4gICAgICAvLyBncmlkLXJvdy1zdGFydDogNDtcbiAgICAgIEBpbmNsdWRlIHRhYmxldExhcmdlIHtcbiAgICAgICAgZ3JpZC1jb2x1bW46IDE2IC8gMjM7XG4gICAgICB9XG4gICAgICBAaW5jbHVkZSB0YWJsZXQge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gICZfX2JhY2tncm91bmQge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRkYXJrLXZpb2xldDtcbiAgICBncmlkLWNvbHVtbjogMSAvIC0xO1xuICAgIC8vIGdyaWQtcm93OiA0IC8gNztcbiAgICBncmlkLXJvdzogNCAvIDg7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHotaW5kZXg6IC0xO1xuICAgIHRvcDogMTMxcHg7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICB9XG59XG5cbi5hZHZhbnRhZ2VzIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogJGRhcmstdmlvbGV0O1xuICAvLyBwYWRkaW5nLWJvdHRvbTogdmFyKC0tc2VjLWJ0bS1pbmRlbnQpO1xuICBtYXJnaW4tYm90dG9tOiB2YXIoLS1zZWMtYnRtLWluZGVudCk7XG4gIHBhZGRpbmc6IDAgMTIwcHg7XG4gIEBpbmNsdWRlIHRhYmxldExhcmdlIHtcbiAgICBwYWRkaW5nOiAwIDgwcHg7XG4gIH1cbiAgQGluY2x1ZGUgdGFibGV0IHtcbiAgICBwYWRkaW5nOiAwIDQwcHg7XG4gICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgfVxuICBAaW5jbHVkZSBtb2JpbGUge1xuICAgIHBhZGRpbmc6IDAgMTVweDtcbiAgfVxuXG4gICZfX2hlYWRlciB7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIG1hcmdpbi1ib3R0b206IHZhcigtLWVsZW0tYnRtLW1hcmdpbik7XG4gICAgY29sb3I6ICRsaWdodC1ncmV5O1xuICAgIEBpbmNsdWRlIHRhYmxldCB7XG4gICAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAgIH1cbiAgfVxuXG4gICZfX2NvbnRlbnQtd3JhcHBlciB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gICAgQGluY2x1ZGUgdGFibGV0IHtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgIH1cbiAgfVxuXG4gICZfX2NvbnRlbnQtbGVmdCB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgICB3aWR0aDogMzAlO1xuICAgIEBpbmNsdWRlIHRhYmxldCB7XG4gICAgICB3aWR0aDogODAlO1xuICAgICAgaGVpZ2h0OiAxMDBweDtcbiAgICB9XG4gIH1cbiAgJl9fY29udGVudC1yaWdodCB7XG4gICAgd2lkdGg6IDU2JTtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICAgIG1hcmdpbi1yaWdodDogLTM1cHg7XG4gICAgQGluY2x1ZGUgdGFibGV0TGFyZ2Uge1xuICAgICAgd2lkdGg6IDYxJTtcbiAgICB9XG4gICAgQGluY2x1ZGUgdGFibGV0IHtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgICB9XG4gIH1cblxuICAmX190ZXh0IHtcbiAgICBAaW5jbHVkZSBzZXRGb250U3R5bGUoJ01vbnQnLCAyMHB4LCA1MDAsICRsaWdodC1ncmV5LCAxMzAlKTtcbiAgICAvLyBncmlkLWNvbHVtbjogMSAvIDk7XG4gICAgZ3JpZC1jb2x1bW46IDMgLyAxMDtcbiAgICBAaW5jbHVkZSB0YWJsZXRMYXJnZSB7XG4gICAgICBncmlkLWNvbHVtbjogMyAvIDEyO1xuICAgIH1cbiAgICBAaW5jbHVkZSB0YWJsZXQge1xuICAgICAgZm9udC1zaXplOiAxNXB4O1xuICAgICAgb3JkZXI6IDE7XG4gICAgICBtYXJnaW4tYm90dG9tOiA0MHB4O1xuICAgIH1cbiAgICBAaW5jbHVkZSBtb2JpbGUge1xuICAgICAgZm9udC1zaXplOiAxMnB4O1xuICAgICAgbWFyZ2luLWJvdHRvbTogMzBweDtcbiAgICB9XG4gIH1cblxuICAmX19tYWluLXNsaWRlLWltZyB7XG4gICAgLy8gQGluY2x1ZGUgc2V0SW1nV2lkdGgoMTAwJSk7XG4gICAgQGluY2x1ZGUgd2lkdGgtaGVpZ3RoKDEwMCUpO1xuICAgIG9iamVjdC1maXQ6IGNvdmVyO1xuICAgIC8vIGdyaWQtY29sdW1uOiAxMyAvIDIyO1xuICAgIGdyaWQtY29sdW1uOiAxNSAvIDMxO1xuICAgIGdyaWQtcm93OiAxIC8gNDtcbiAgICBAaW5jbHVkZSB0YWJsZXQge1xuICAgICAgb3JkZXI6IDI7XG4gICAgICB3aWR0aDogODAlO1xuICAgIH1cbiAgfVxuXG4gICZfX3NsaWRlLWltZyB7XG4gICAgLy8gQGluY2x1ZGUgc2V0SW1nV2lkdGgoMTAwJSk7XG4gICAgQGluY2x1ZGUgd2lkdGgtaGVpZ3RoKDEwMCUpO1xuICAgIG9iamVjdC1maXQ6IGNvdmVyO1xuICB9XG5cbiAgJl9fYnRuLXdyYXBwZXIge1xuICAgIEBpbmNsdWRlIGJhc2VGbGV4U3R5bGUoY2VudGVyKTtcbiAgICBhbGlnbi1zZWxmOiBmbGV4LXN0YXJ0O1xuICAgIG1hcmdpbi1ib3R0b206IDUwcHg7XG4gICAgQGluY2x1ZGUgdGFibGV0IHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgdGFibGV0IHtcbiAgICAgIG9yZGVyOiAzO1xuICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgIHdpZHRoOiAyMCU7XG4gICAgICBhbGlnbi1zZWxmOiBmbGV4LXN0YXJ0O1xuICAgIH1cbiAgfVxuICAmX19idG4td3JhcHBlci1tb2JpbGUge1xuICAgIGRpc3BsYXk6IG5vbmU7XG5cbiAgICBAaW5jbHVkZSB0YWJsZXRMYXJnZSB7XG4gICAgICBkaXNwbGF5OiBub25lO1xuICAgIH1cbiAgICBAaW5jbHVkZSB0YWJsZXQge1xuICAgICAgQGluY2x1ZGUgYmFzZUZsZXhTdHlsZShjZW50ZXIpO1xuICAgICAgYWxpZ24tc2VsZjogZmxleC1zdGFydDtcbiAgICAgIG1hcmdpbi1ib3R0b206IDUwcHg7XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgdGFibGV0IHtcbiAgICAgIG9yZGVyOiAzO1xuICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgIHdpZHRoOiAyMCU7XG4gICAgICBhbGlnbi1zZWxmOiBmbGV4LXN0YXJ0O1xuICAgIH1cbiAgfVxuXG4gICZfX2J0biB7XG4gICAgQGluY2x1ZGUgc2xpZGVCdG5zKCRiYWNrZ3JvdW5kOiAkZ3JleS1saW5rLWJ0bik7XG4gICAgQGluY2x1ZGUgd2lkdGgtaGVpZ3RoKDcwcHgpO1xuICAgIEBpbmNsdWRlIG1vYmlsZSB7XG4gICAgICBoZWlnaHQ6IDQ1cHg7XG4gICAgICB3aWR0aDogNDVweDtcbiAgICB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTAyNXB4KSB7XG4gICAgICB0cmFuc2l0aW9uOiAwLjI1cyBlYXNlLW91dDtcbiAgICAgIGltZyB7XG4gICAgICAgIHRyYW5zaXRpb246IDAuMjVzIGVhc2Utb3V0O1xuICAgICAgfVxuICAgICAgJjpob3ZlciB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICR3aGl0ZS1jb2xvcjtcbiAgICAgICAgaW1nIHtcbiAgICAgICAgICBmaWx0ZXI6IGJyaWdodG5lc3MoMCk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAmX19idG4taW1nIHtcbiAgICBAaW5jbHVkZSB3aWR0aC1oZWlndGgoNnB4LCAxMnB4KTtcbiAgfVxuXG4gICZfX3NsaWRlLW51bSB7XG4gICAgQGluY2x1ZGUgc2V0Rm9udFN0eWxlKCdNb250JywgMjJweCwgNTAwLCAkbGlnaHQtZ3JleSwgMTAwJSk7XG4gICAgbWFyZ2luOiAwIDQwcHg7XG4gICAgQGluY2x1ZGUgdGFibGV0IHtcbiAgICAgIGZvbnQtc2l6ZTogMTVweDtcbiAgICAgIG1hcmdpbi10b3A6IDMwcHg7XG4gICAgICBtYXJnaW4tYm90dG9tOiAzMHB4O1xuICAgIH1cbiAgICBAaW5jbHVkZSBtb2JpbGUge1xuICAgICAgZm9udC1zaXplOiAxMnB4O1xuICAgICAgbWFyZ2luLXRvcDogMjBweDtcbiAgICAgIG1hcmdpbi1ib3R0b206IDIwcHg7XG4gICAgfVxuICB9XG5cbiAgJl9fbmF2LXdyYXBwZXIge1xuICAgIHdpZHRoOiA0Ny41JTtcbiAgICBoZWlnaHQ6IDJweDtcbiAgICBtYXJnaW4tdG9wOiA0MHB4O1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMTUpO1xuXG4gICAgQGluY2x1ZGUgdGFibGV0IHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxuICAgIC5zd2lwZXItcGFnaW5hdGlvbi1wcm9ncmVzc2Jhci1maWxsIHtcbiAgICAgIGJhY2tncm91bmQ6ICR3aGl0ZS1jb2xvciAhaW1wb3J0YW50O1xuICAgIH1cbiAgfVxuXG4gICZfX25hdi1saW5lIHtcbiAgICBAaW5jbHVkZSB3aWR0aC1oZWlndGgoMTQycHgsIDEwMCUpO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRsaWdodC1ncmV5O1xuICB9XG59XG5cbi5pbmZyYSB7XG4gIEBpbmNsdWRlIGJhc2VHcmlkU3R5bGUoYXV0bywgcmVwZWF0KGF1dG8tZmlsbCwgbWlubWF4KDYwcHgsIDFmcikpKTtcbiAgbWFyZ2luLWJvdHRvbTogMTUwcHg7XG4gIEBpbmNsdWRlIHRhYmxldExhcmdlIHtcbiAgICBncmlkLXRlbXBsYXRlOiBhdXRvL3JlcGVhdChhdXRvLWZpbGwsIG1pbm1heCg0MHB4LCAxZnIpKTtcbiAgICBtYXJnaW4tYm90dG9tOiAxMjBweDtcbiAgfVxuICBAaW5jbHVkZSB0YWJsZXQge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICBwYWRkaW5nLXRvcDogODBweDtcbiAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgIHBhZGRpbmctYm90dG9tOiA4MHB4O1xuICB9XG4gIEBpbmNsdWRlIG1vYmlsZSB7XG4gICAgcGFkZGluZy10b3A6IDYwcHg7XG4gICAgcGFkZGluZy1ib3R0b206IDYwcHg7XG4gIH1cblxuICAmX19oZWFkZXIge1xuICAgIGdyaWQtY29sdW1uOiAxIC8gLTE7XG4gICAgbWFyZ2luLWJvdHRvbTogdmFyKC0tZWxlbS1idG0tbWFyZ2luKTtcbiAgfVxuXG4gICZfX3JpZ2h0LXRleHQge1xuICAgIEBpbmNsdWRlIHNldEZvbnRTdHlsZSgnTW9udCcsIDIwcHgsIDUwMCwgJGRhcmstZ3JleSwgMTMwJSk7XG4gICAgbWFyZ2luLWJvdHRvbTogdmFyKC0tZWxlbS1idG0tbWFyZ2luKTtcbiAgICBAaW5jbHVkZSB0YWJsZXQge1xuICAgICAgZm9udC1zaXplOiAxNXB4O1xuICAgIH1cbiAgICBAaW5jbHVkZSBtb2JpbGUge1xuICAgICAgZm9udC1zaXplOiAxMnB4O1xuICAgIH1cblxuICAgICZfbGVmdCB7XG4gICAgICBncmlkLWNvbHVtbjogMTMgLyAyMTtcbiAgICB9XG5cbiAgICAmX3JpZ2h0IHtcbiAgICAgIGdyaWQtY29sdW1uOiAyMiAvIC0xO1xuICAgICAgQGluY2x1ZGUgdGFibGV0IHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogNjBweDtcbiAgICAgIH1cbiAgICAgIEBpbmNsdWRlIG1vYmlsZSB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDQwcHg7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgJl9fbWFwLXdyYXBwZXIge1xuICAgIGdyaWQtY29sdW1uOiAxIC8gLTE7XG4gICAgaGVpZ2h0OiA3NTVweDtcbiAgICBtYXJnaW4tYm90dG9tOiAxNTBweDtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgQGluY2x1ZGUgdGFibGV0IHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDYwcHg7XG4gICAgfVxuICAgIEBpbmNsdWRlIG1vYmlsZSB7XG4gICAgICBtYXJnaW4tYm90dG9tOiA0MHB4O1xuICAgIH1cbiAgICAjbWFwLFxuICAgIC5tYXAsXG4gICAgaWZyYW1lIHtcbiAgICAgIEBpbmNsdWRlIHdpZHRoLWhlaWd0aCgxMDAlKTtcbiAgICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gICAgfVxuICB9XG5cbiAgJl9fbWFwLWljb25zIHtcbiAgICAmLWxpc3Qge1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgdG9wOiA1MCU7XG4gICAgICBsZWZ0OiAxMDBweDtcbiAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKTtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICRsaWdodC1ncmV5O1xuICAgICAgd2lkdGg6IDMyMHB4O1xuICAgICAgei1pbmRleDogNTtcbiAgICAgIG1heC1oZWlnaHQ6IDUwdmg7XG4gICAgICBvdmVyZmxvdy15OiBhdXRvO1xuICAgICAgb3ZlcmZsb3cteDogaGlkZGVuO1xuICAgICAgbGk6Zmlyc3QtY2hpbGQge1xuICAgICAgICBwb3NpdGlvbjogc3RpY2t5O1xuICAgICAgICB0b3A6IDA7XG4gICAgICB9XG4gICAgICBAaW5jbHVkZSBtb2JpbGUge1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgbGVmdDogMDtcbiAgICAgICAgdG9wOiBhdXRvO1xuICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgICAgICBvdmVyZmxvdy15OiBhdXRvO1xuICAgICAgICBvdmVyZmxvdy14OiBoaWRkZW47XG4gICAgICAgIGJvdHRvbTogMDtcbiAgICAgICAgdHJhbnNmb3JtOiBub25lO1xuICAgICAgfVxuICAgIH1cblxuICAgICYtZWxlbWVudCB7XG4gICAgICBib3JkZXI6IDFweCBzb2xpZCByZ2JhKDc0LCA1OCwgOTQsIDAuMTUpO1xuICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgICAgcGFkZGluZzogMjBweCAwIDIwcHggNDBweDtcbiAgICAgIEBpbmNsdWRlIG11bHRpcGxlLXRyYW5zaXRpb25zKDAuM3MsIGVhc2UtaW4tb3V0LCBwYWRkaW5nLWxlZnQsIGJhY2tncm91bmQtY29sb3IpO1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICBpbWcge1xuICAgICAgICB3aWR0aDogMjNweDtcbiAgICAgICAgaGVpZ2h0OiAyMHB4O1xuICAgICAgICBvYmplY3QtZml0OiBjb250YWluO1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IDIwcHg7XG4gICAgICB9XG4gICAgICAmOmhvdmVyLFxuICAgICAgJi5hY3RpdmUge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkbGF2YW5kZXI7XG4gICAgICAgIHBhZGRpbmctbGVmdDogNjBweDtcblxuICAgICAgICAuaW5mcmFfX21hcC1pY29ucy10ZXh0IHtcbiAgICAgICAgICBjb2xvcjogJGxpZ2h0LWdyZXk7XG4gICAgICAgICAgJjo6YmVmb3JlIHtcbiAgICAgICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCgnLi4vaW1hZ2VzL2Fib3V0L3doaXRlLWhvcnNlLnN2ZycpO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICAmLS1tb2JpbGUge1xuICAgICAgICBAaW5jbHVkZSBmcm9tKDU3NnB4KSB7XG4gICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgfVxuICAgICAgICBwYWRkaW5nLWxlZnQ6IDMwcHg7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgIHN2ZyB7XG4gICAgICAgICAgbWFyZ2luLWxlZnQ6IDEwcHg7XG4gICAgICAgICAgdHJhbnNmb3JtLW9yaWdpbjogY2VudGVyO1xuICAgICAgICAgIHRyYW5zZm9ybS1ib3g6IGZpbGwtYm94O1xuICAgICAgICB9XG4gICAgICAgIHNwYW46OmJlZm9yZSB7XG4gICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgfVxuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkZGFyay12aW9sZXQ7XG4gICAgICAgIHNwYW4ge1xuICAgICAgICAgIGNvbG9yOiAkd2hpdGUtY29sb3I7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gICAgJi1saXN0W2RhdGEtb3BlbmVkPSdmYWxzZSddIC5pbmZyYV9fbWFwLWljb25zLWVsZW1lbnQtLW1vYmlsZSB7XG4gICAgICBzdmcge1xuICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSgxODBkZWcpO1xuICAgICAgfVxuICAgIH1cbiAgICAmLXRleHQge1xuICAgICAgQGluY2x1ZGUgc2V0Rm9udFN0eWxlKCdHaWxyb3knLCAxOHB4LCA0MDAsICRkYXJrLWdyZXksIDEwMCUsIDAuMDFlbSwgbm9uZSk7XG4gICAgICBAaW5jbHVkZSBiYXNlRmxleFN0eWxlKGNlbnRlcik7XG4gICAgICB0cmFuc2l0aW9uOiBjb2xvciAwLjNzIGVhc2UtaW4tb3V0O1xuXG4gICAgICAmOjpiZWZvcmUge1xuICAgICAgICBAaW5jbHVkZSBhZnRlci1iZWZvcmUtaW1nKCcuLi9pbWFnZXMvYWJvdXQvaG9yc2Uuc3ZnJywgMjNweCwgMjBweCk7XG4gICAgICAgIG1hcmdpbi1yaWdodDogMjBweDtcbiAgICAgICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1pbWFnZSAwLjNzIGVhc2UtaW4tb3V0O1xuICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC8vICZfX2xpc3Qge1xuICAvLyAgIGdyaWQtcm93LXN0YXJ0OiA1O1xuICAvLyB9XG5cbiAgJl9fYm90dG9tLXRleHQtY29udGVudCB7XG4gICAgZ3JpZC1jb2x1bW46IDEgLyAxMTtcbiAgfVxuXG4gICZfX3N1YmhlYWRlciB7XG4gICAgQGluY2x1ZGUgc2V0Rm9udFN0eWxlKCdNb250JywgMjBweCwgNTAwLCAkZGFyay1ncmV5LCAxMzAlKTtcbiAgICBtYXJnaW4tYm90dG9tOiA0MHB4O1xuICAgIEBpbmNsdWRlIHRhYmxldCB7XG4gICAgICBmb250LXNpemU6IDE1cHg7XG4gICAgICBtYXJnaW4tYm90dG9tOiAzMHB4O1xuICAgIH1cbiAgICBAaW5jbHVkZSBtb2JpbGUge1xuICAgICAgZm9udC1zaXplOiAxMnB4O1xuICAgICAgbWFyZ2luLWJvdHRvbTogMjBweDtcbiAgICB9XG4gIH1cblxuICAmX19saXN0IHtcbiAgICAvLyBsaXN0LXN0eWxlLXBvc2l0aW9uOiBpbnNpZGU7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgyMHB4KTtcbiAgICBAaW5jbHVkZSB0YWJsZXQge1xuICAgICAgcGFkZGluZy1ib3R0b206IDQwcHg7XG4gICAgICBwYWRkaW5nLXJpZ2h0OiA4MHB4O1xuICAgIH1cbiAgICBAaW5jbHVkZSBtb2JpbGUge1xuICAgICAgcGFkZGluZy1ib3R0b206IDIwcHg7XG4gICAgICBwYWRkaW5nLXJpZ2h0OiA1MHB4O1xuICAgIH1cbiAgfVxuXG4gICZfX2VsZW1lbnQge1xuICAgIGxpc3Qtc3R5bGUtdHlwZTogZGlzYztcbiAgICAvLyBsaXN0LXN0eWxlLXBvc2l0aW9uOiBpbnNpZGU7XG4gICAgQGluY2x1ZGUgc2V0Rm9udFN0eWxlKCdNb250JywgMTZweCwgNTAwLCAkdGV4dC1jb2xvciwgMTYwJSwgJHRleHQtdHJhbnNmb3JtOiBub25lKTtcbiAgICBjb2xvcjogJHRleHQtY29sb3I7XG4gICAgQGluY2x1ZGUgdGFibGV0IHtcbiAgICAgIGZvbnQtc2l6ZTogMTVweDtcbiAgICB9XG4gICAgQGluY2x1ZGUgbW9iaWxlIHtcbiAgICAgIGZvbnQtc2l6ZTogMTJweDtcbiAgICB9XG5cbiAgICAmOm5vdCg6bGFzdC1jaGlsZCkge1xuICAgICAgbWFyZ2luLWJvdHRvbTogMjBweDtcbiAgICAgIEBpbmNsdWRlIG1vYmlsZSB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDEwcHg7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gJjo6YmVmb3JlIHtcbiAgICAvLyAgIC0tZG90LXNpemU6IDEwcHg7XG4gICAgLy8gICBjb250ZW50OiAnJztcbiAgICAvLyAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAvLyAgIEBpbmNsdWRlIHdpZHRoLWhlaWd0aCh2YXIoLS1kb3Qtc2l6ZSkpO1xuICAgIC8vICAgYmFja2dyb3VuZC1zaXplOiB2YXIoLS1kb3Qtc2l6ZSkgdmFyKC0tZG90LXNpemUpO1xuICAgIC8vICAgYmFja2dyb3VuZC1jb2xvcjogJHRleHQtY29sb3I7XG4gICAgLy8gICBib3JkZXItcmFkaXVzOiA1MCU7XG4gICAgLy8gfVxuXG4gICAgLy8gJjo6bWFya2VyIHtcbiAgICAvLyAgIG1hcmdpbi1sZWZ0OiAwICFpbXBvcnRhbnQ7XG4gICAgLy8gfVxuICB9XG5cbiAgJl9faW1nIHtcbiAgICBncmlkLWNvbHVtbjogMTMgLyAtMTtcbiAgICBAaW5jbHVkZSBzZXRJbWdXaWR0aCgxMDAlKTtcbiAgfVxufVxuXG4uY2hhcmFjdCB7XG4gICZfX2hlYWRlciB7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIG1hcmdpbi1ib3R0b206IHZhcigtLWVsZW0tYnRtLW1hcmdpbik7XG4gICAgQGluY2x1ZGUgbW9iaWxlIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDQwcHg7XG4gICAgfVxuICB9XG5cbiAgJl9fY29udGVudCB7XG4gICAgQGluY2x1ZGUgYmFzZUZsZXhTdHlsZShmbGV4LWVuZCwgc3BhY2UtYmV0d2Vlbik7XG4gICAgbWFyZ2luLWJvdHRvbTogMTUwcHg7XG4gICAgQGluY2x1ZGUgdGFibGV0TGFyZ2Uge1xuICAgICAgbWFyZ2luLWJvdHRvbTogMTIwcHg7XG4gICAgfVxuICAgIEBpbmNsdWRlIHRhYmxldCB7XG4gICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgIG1hcmdpbi1ib3R0b206IDYwcHg7XG4gICAgfVxuICAgIEBpbmNsdWRlIG1vYmlsZSB7XG4gICAgICBtYXJnaW4tYm90dG9tOiA0MHB4O1xuICAgIH1cbiAgfVxuXG4gICZfX2ZpZ3VyZSB7XG4gICAgQGluY2x1ZGUgYmFzZUZsZXhTdHlsZShjZW50ZXIsICRmbGV4LWRpcmVjdGlvbjogY29sdW1uKTtcbiAgICBtYXgtd2lkdGg6IDMzMHB4O1xuICAgIEBpbmNsdWRlIHRhYmxldCB7XG4gICAgICAmOm5vdCg6bGFzdC1jaGlsZCkge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiA2MHB4O1xuICAgICAgfVxuICAgIH1cbiAgICBAaW5jbHVkZSBtb2JpbGUge1xuICAgICAgJjpub3QoOmxhc3QtY2hpbGQpIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogNDBweDtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAmX19pbWcge1xuICAgIEBpbmNsdWRlIHdpZHRoLWhlaWd0aCg1MHB4KTtcbiAgICBvYmplY3QtZml0OiBjb3ZlcjtcbiAgICBtYXJnaW4tYm90dG9tOiAzMHB4O1xuICAgIEBpbmNsdWRlIG1vYmlsZSB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAyMHB4O1xuICAgICAgd2lkdGg6IDQwcHg7XG4gICAgICBoZWlnaHQ6IDQwcHg7XG4gICAgfVxuXG4gICAgJl9jb25kaXRpb25lciB7XG4gICAgICBoZWlnaHQ6IDQycHg7XG4gICAgICBAaW5jbHVkZSBtb2JpbGUge1xuICAgICAgICBoZWlnaHQ6IDMzcHg7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgJl9fZmlnY2FwdGlvbiB7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIEBpbmNsdWRlIHNldEZvbnRTdHlsZSgnTW9udCcsIDE2cHgsIDQwMCwgJHRleHQtY29sb3IsIDE2MCUsICR0ZXh0LXRyYW5zZm9ybTogbm9uZSk7XG4gICAgQGluY2x1ZGUgdGFibGV0IHtcbiAgICAgIGZvbnQtc2l6ZTogMTVweDtcbiAgICB9XG4gICAgQGluY2x1ZGUgbW9iaWxlIHtcbiAgICAgIGZvbnQtc2l6ZTogMTJweDtcbiAgICB9XG4gIH1cblxuICAmX19idG4ge1xuICAgICYtd3JhcHBlciB7XG4gICAgICBAaW5jbHVkZSBiYXNlRmxleFN0eWxlKCRqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcik7XG4gICAgfVxuXG4gICAgJi1saW5rIHtcbiAgICAgIHRyYW5zaXRpb246IDAuMjVzIGVhc2Utb3V0O1xuICAgICAgQGluY2x1ZGUgbGluay1idG5zKDI3MHB4LCA3MHB4LCAkZGFyay12aW9sZXQsIDE0cHgsICRmb250LXdlaWdodDogNDAwKTtcbiAgICAgIEBpbmNsdWRlIHRhYmxldCB7XG4gICAgICAgIHdpZHRoOiAyMjBweDtcbiAgICAgICAgaGVpZ2h0OiA2MHB4O1xuICAgICAgICBmb250LXNpemU6IDEycHg7XG4gICAgICB9XG4gICAgICBAaW5jbHVkZSBtb2JpbGUge1xuICAgICAgICB3aWR0aDogMTcwcHg7XG4gICAgICAgIGhlaWdodDogNDVweDtcbiAgICAgICAgZm9udC1zaXplOiAxMHB4O1xuICAgICAgfVxuICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTAyNXB4KSB7XG4gICAgICAgICY6aG92ZXIge1xuICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRsaWdodC1sYXZhbmRlcjtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG4uYWJvdXQge1xuICBAaW5jbHVkZSBmcm9tKDEwMjVweCkge1xuICAgIC5zd2lwZXItd3JhcHBlciB7XG4gICAgICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1vdXQ7XG4gICAgfVxuICB9XG4gICYtc2xpZGVyIHtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIC5zd2lwZXItc2xpZGUge1xuICAgICAgdHJhbnNpdGlvbjogYWxsIGVhc2Utb3V0IDEuMjVzO1xuICAgIH1cbiAgICAuc3dpcGVyLXNsaWRlLWFjdGl2ZSB7XG4gICAgICB0cmFuc2Zvcm06IHNjYWxlKDEpO1xuICAgICAgdHJhbnNpdGlvbjogYWxsIGVhc2Utb3V0IDEuMjVzO1xuICAgIH1cbiAgICAuc3dpcGVyLXNsaWRlLWR1cGxpY2F0ZS1wcmV2LFxuICAgIC5zd2lwZXItc2xpZGUtZHVwbGljYXRlLW5leHQsXG4gICAgLnN3aXBlci1zbGlkZS1wcmV2LFxuICAgIC5zd2lwZXItc2xpZGUtbmV4dCB7XG4gICAgICB0cmFuc2Zvcm06IHNjYWxlKDAuODUpO1xuICAgICAgdHJhbnNpdGlvbjogYWxsIGVhc2Utb3V0IDEuMjVzO1xuICAgICAgdHJhbnNmb3JtLW9yaWdpbjogMjUlIDUwJTtcbiAgICAgIEBpbmNsdWRlIHRhYmxldCB7XG4gICAgICAgIHRyYW5zZm9ybTogc2NhbGUoMSk7XG4gICAgICB9XG4gICAgfVxuICAgIGltZyB7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIGhlaWdodDogNjI1cHg7XG4gICAgICBvYmplY3QtZml0OiBjb3ZlcjtcbiAgICAgIEBpbmNsdWRlIHRhYmxldExhcmdlIHtcbiAgICAgICAgaGVpZ2h0OiA1MDBweDtcbiAgICAgIH1cbiAgICAgIEBpbmNsdWRlIHRhYmxldCB7XG4gICAgICAgIGhlaWdodDogNDAwcHg7XG4gICAgICB9XG4gICAgICBAaW5jbHVkZSBtb2JpbGUge1xuICAgICAgICBoZWlnaHQ6IDMyMHB4O1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuQGtleWZyYW1lcyBzbGlkZXJUZXh0IHtcbiAgMCUge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgxMDAlKTtcbiAgfVxuICAxMDAlIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCUpO1xuICB9XG59XG4uYWJvdXQge1xuICAmLXRleHQtc2xpZGVyIHtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIC5zd2lwZXItc2xpZGUtYWN0aXZlIHtcbiAgICAgID4gLmFkdmFudGFnZXNfX3RleHQge1xuICAgICAgICAvLyBhbmltYXRpb246IHNsaWRlclRleHQgMS41cztcbiAgICAgIH1cbiAgICB9XG4gICAgQGluY2x1ZGUgdGFibGV0IHtcbiAgICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICAgIH1cbiAgfVxufVxuIiwiLm1haW4ge1xuICAmLWNvbnRhY3RzIHtcbiAgICBAaW5jbHVkZSBzZXRGb250U3R5bGUoJ01vbnQnLCAyMnB4LCA0MDAsICRkYXJrLWdyZXksIDE3MCUpO1xuICAgIEBpbmNsdWRlIHRhYmxldCB7XG4gICAgICBmb250LXNpemU6IDE4cHg7ICAgIFxuICAgIH1cbiAgICBAaW5jbHVkZSBtb2JpbGUge1xuICAgICAgZm9udC1zaXplOiAxNnB4O1xuICAgIH1cbiAgfVxuXG4gIC5jb250YWN0cyB7XG4gICAgJl9faGVhZGVyIHtcbiAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgIG1hcmdpbi1ib3R0b206IDUwcHg7XG4gICAgICBAaW5jbHVkZSBtb2JpbGUge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiA0MHB4O1xuICAgICAgfVxuICAgIH1cblxuICAgICZfX2NvbnRlbnQge1xuICAgICAgcGFkZGluZzogMCB2YXIoLS1sci1wYWRkaW5ncyk7XG4gICAgICBAaW5jbHVkZSBiYXNlRmxleFN0eWxlKG5vcm1hbCwgc3BhY2UtYmV0d2Vlbik7XG4gICAgICBAaW5jbHVkZSB0YWJsZXQge1xuICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAgICAgIFxuICAgICAgfVxuICAgIH1cblxuICAgICYtbWFwLXdyYXBwZXIge1xuICAgICAgbWFyZ2luLWxlZnQ6IDEwMHB4O1xuICAgICAgZmxleC1ncm93OiAxO1xuICAgICAgQGluY2x1ZGUgdGFibGV0IHtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IDA7XG4gICAgICAgIG1hcmdpbi10b3A6IDYwcHg7ICBcbiAgICAgICAgaGVpZ2h0OiA0MDBweDsgIFxuICAgICAgfVxuICAgICAgQGluY2x1ZGUgbW9iaWxlIHtcbiAgICAgICAgbWFyZ2luLXRvcDogNDBweDtcbiAgICAgICAgaGVpZ2h0OiAyMDVweDsgXG4gICAgICB9XG4gICAgICAmPmRpdj5kaXYsXG4gICAgICAmPmRpdixcbiAgICAgIGlmcmFtZSB7XG4gICAgICAgIEBpbmNsdWRlIHdpZHRoLWhlaWd0aCgxMDAlKTtcbiAgICAgICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAmLWNvbnRhaW5lciB7XG4gICAgICBsaSB7XG4gICAgICAgIC8vIEBpbmNsdWRlIGJhc2VGbGV4U3R5bGUoY2VudGVyKTtcblxuICAgICAgICAvLyAmOm5vdCg6bGFzdC1jaGlsZCkge1xuICAgICAgICAvLyAgIG1hcmdpbi1ib3R0b206IDEwcHg7XG4gICAgICAgIC8vIH1cblxuICAgICAgICAmOmxhc3QtY2hpbGQge1xuICAgICAgICAgIG1hcmdpbi1ib3R0b206IDQwcHg7XG4gICAgICAgIH1cblxuICAgICAgICAvLyAmOmxhc3QtY2hpbGQge1xuICAgICAgICAvLyAgICYge1xuICAgICAgICAvLyAgICAgbWFyZ2luLWJvdHRvbTogNDBweDtcbiAgICAgICAgLy8gICB9XG5cbiAgICAgICAgLy8gICA6bm90KCYpIHtcbiAgICAgICAgLy8gICAgIG1hcmdpbi1ib3R0b206IDEwcHg7XG4gICAgICAgIC8vICAgfVxuICAgICAgICAvLyB9XG5cbiAgICAgICAgLy8gJjpub3QoLmNvbnRhY3RzLXNvYy1uZXR3KTo6YmVmb3JlIHtcbiAgICAgICAgLy8gICBAaW5jbHVkZSBhZnRlci1iZWZvcmUtaW1nKCcnLCA1MHB4LCA1MHB4KTtcbiAgICAgICAgLy8gICBtYXJnaW4tcmlnaHQ6IHZhcigtLWhlYWRlci1tYXJnaW4taW5uZXIpO1xuICAgICAgICAvLyB9XG5cbiAgICAgICAgJi5jb250YWN0cy1zb2MtbmV0dyB7XG4gICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgfVxuXG4gICAgICAgIGEsXG4gICAgICAgIGRpdiB7XG4gICAgICAgICAgQGluY2x1ZGUgYmFzZUZsZXhTdHlsZShjZW50ZXIpO1xuXG4gICAgICAgICAgJjo6YmVmb3JlIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIGFmdGVyLWJlZm9yZS1pbWcoJycsIDUwcHgsIDUwcHgpO1xuICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiB2YXIoLS1oZWFkZXItbWFyZ2luLWlubmVyKTtcbiAgICAgICAgICAgIEBpbmNsdWRlIG1vYmlsZSB7XG4gICAgICAgICAgICAgIGJhY2tncm91bmQtc2l6ZTogMzBweCAzMHB4O1xuICAgICAgICAgICAgICBoZWlnaHQ6IDMwcHg7XG4gICAgICAgICAgICAgIHdpZHRoOiAzMHB4O1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgICBAaW5jbHVkZSBmcm9tKDEwMjVweCl7XG4gICAgICAgICAgICBzcGFuIHtcbiAgICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgc3BhbjphZnRlciB7XG4gICAgICAgICAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICAgIGJvdHRvbTogMDtcbiAgICAgICAgICAgICAgbGVmdDogMDtcbiAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogY3VycmVudENvbG9yO1xuICAgICAgICAgICAgICBoZWlnaHQ6IDFweDtcbiAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICAgIHRyYW5zZm9ybS1vcmlnaW46IGxlZnQ7XG4gICAgICAgICAgICAgIHRyYW5zZm9ybTogc2NhbGUoMCk7XG4gICAgICAgICAgICAgIHRyYW5zaXRpb246IC4yNXMgZWFzZS1vdXQ7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICAmOmhvdmVyIHNwYW46YWZ0ZXIge1xuICAgICAgICAgICAgICB0cmFuc2Zvcm06IHNjYWxlKDEpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgICAmLmNvbnRhY3RzIHtcbiAgICAgICAgICAgICYtYWRkcmVzcyB7XG4gICAgICAgICAgICAgICY6OmJlZm9yZSB7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKCcuLi9pbWFnZXMvY29udGFjdHMvbG9jYXRpb24uc3ZnJyk7XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgJi1zY2hlZHVsZSB7XG4gICAgICAgICAgICAgIEBpbmNsdWRlIGJhc2VGbGV4U3R5bGUoZmxleC1zdGFydCk7XG4gICAgICAgICAgICAgIC8vIEBpbmNsdWRlIGJhc2VGbGV4U3R5bGUoZmxleC1zdGFydCwgJGZsZXgtZGlyZWN0aW9uOiBjb2x1bW4pO1xuXG4gICAgICAgICAgICAgICY6OmJlZm9yZSB7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKCcuLi9pbWFnZXMvY29udGFjdHMvY2xvY2suc3ZnJyk7XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgJi10ZWxlcGhvbmUge1xuICAgICAgICAgICAgICAmOjpiZWZvcmUge1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCgnLi4vaW1hZ2VzL2NvbnRhY3RzL3RlbC5zdmcnKTtcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAmLWVtYWlsIHtcbiAgICAgICAgICAgICAgJjo6YmVmb3JlIHtcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoJy4uL2ltYWdlcy9jb250YWN0cy9tZXNzYWdlLnN2ZycpO1xuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICYtZmFjZWJvb2sge1xuICAgICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcblxuICAgICAgICAgICAgICAmOjpiZWZvcmUge1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCgnLi4vaW1hZ2VzL2NvbnRhY3RzL2ZhY2Vib29rLnN2ZycpO1xuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICYtaW5zdGEge1xuICAgICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IDQwcHg7XG5cbiAgICAgICAgICAgICAgJjo6YmVmb3JlIHtcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoJy4uL2ltYWdlcy9jb250YWN0cy9pbnN0YS5zdmcnKTtcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICAvLyBhLFxuICAgICAgLy8gcCB7XG4gICAgICAvLyAgIHRleHQtdHJhbnNmb3JtOiBub25lO1xuICAgICAgLy8gICBjb2xvcjogJGRhcmstZ3JleTtcbiAgICAgIC8vIH1cblxuICAgICAgLmNvbnRhY3RzLXRleHQtY29udGVudCB7XG4gICAgICAgIHRleHQtdHJhbnNmb3JtOiBub25lO1xuICAgICAgICBjb2xvcjogJGRhcmstZ3JleTtcbiAgICAgIH1cblxuICAgICAgJi1oZWFkZXJzIHtcbiAgICAgICAgY29sb3I6ICRkYXJrLXZpb2xldDtcbiAgICAgICAgZm9udC1zaXplOiAyMHB4O1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAyMHB4O1xuICAgICAgICBAaW5jbHVkZSB0YWJsZXQge1xuICAgICAgICAgIGZvbnQtc2l6ZTogMTZweDsgICAgXG4gICAgICAgIH1cbiAgICAgICAgQGluY2x1ZGUgbW9iaWxlIHtcbiAgICAgICAgICBmb250LXNpemU6IDE0cHg7XG4gICAgICAgICAgbWFyZ2luLWJvdHRvbTogMTFweDtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgICYtc2Ige1xuICAgICAgbWFyZ2luLWJvdHRvbTogNjBweDtcbiAgICAgIEBpbmNsdWRlIG1vYmlsZSB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDQwcHg7ICAgIFxuICAgICAgfVxuXG4gICAgICAmX19lbGVtZW50IHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMTBweDtcbiAgICAgIH1cblxuICAgICAgJl9fYnRuLWxpbmsge1xuICAgICAgICBAaW5jbHVkZSBsaW5rLWJ0bnMoXG4gICAgICAgICAgMjcwcHgsXG4gICAgICAgICAgNzBweCxcbiAgICAgICAgICB0cmFuc3BhcmVudCxcbiAgICAgICAgICAxNHB4LFxuICAgICAgICAgICRoZWFkZXJzLWNvbG9yLFxuICAgICAgICAgIDQwMCxcbiAgICAgICAgICAxcHggc29saWQgJGxhdmFuZGVyXG4gICAgICAgICk7XG4gICAgICAgIEBpbmNsdWRlIG1vYmlsZSB7XG4gICAgICAgICAgd2lkdGg6IDE3MHB4O1xuICAgICAgICAgIGhlaWdodDogNDVweDtcbiAgICAgICAgICBmb250LXNpemU6IDEwcHg7XG4gICAgICAgIH1cbiAgICAgICAgQGluY2x1ZGUgZnJvbSgxMDI1cHgpe1xuICAgICAgICAgIHRyYW5zaXRpb246IC4yNXMgZWFzZS1vdXQ7XG4gICAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkbGlnaHQtbGF2YW5kZXI7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgJi1jYiB7XG4gICAgICAmX19lbGVtZW50IHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMTBweDtcbiAgICAgIH1cbiAgICAgIC8vICZfX2VsZW1lbnQge1xuICAgICAgLy8gICAmOm50aC1sYXN0LWNoaWxkKC1uICsgMikge1xuICAgICAgLy8gICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgIC8vICAgfVxuICAgICAgLy8gfVxuXG4gICAgICAmX19jYWxsLWJ0biB7XG4gICAgICAgIEBpbmNsdWRlIGxpbmstYnRucygyNzBweCwgNzBweCwgJGRhcmstdmlvbGV0LCAxNHB4LCAkbGlnaHQtZ3JleSwgNDAwKTtcbiAgICAgICAgQGluY2x1ZGUgbW9iaWxlIHtcbiAgICAgICAgICBoZWlnaHQ6IDQ1cHg7XG4gICAgICAgICAgd2lkdGg6IDE3MHB4O1xuICAgICAgICAgIGZvbnQtc2l6ZTogMTBweDsgIFxuICAgICAgICB9XG4gICAgICAgIEBpbmNsdWRlIGZyb20oMTAyNXB4KXtcbiAgICAgICAgICB0cmFuc2l0aW9uOiAuMjVzIGVhc2Utb3V0O1xuICAgICAgICAgICY6aG92ZXIge1xuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGxpZ2h0LWxhdmFuZGVyO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIiwiLmdhbGxlcnkge1xuICAmX19oZWFkZXIge1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICBtYXJnaW4tYm90dG9tOiA1MHB4O1xuICAgIEBpbmNsdWRlIHRhYmxldCB7XG4gICAgICBtYXJnaW4tYm90dG9tOiA0MHB4OyAgIFxuICAgIH1cbiAgICBAaW5jbHVkZSBtb2JpbGUge1xuICAgICAgbWFyZ2luLWJvdHRvbTogMjBweDtcbiAgICB9XG4gIH1cblxuICAmX19jb250ZW50IHtcbiAgICBwYWRkaW5nOiAwIHZhcigtLWxyLXBhZGRpbmdzKTtcbiAgICBAaW5jbHVkZSBncmlkLWNhcmQtY29udGVudDtcbiAgICBAaW5jbHVkZSB0YWJsZXQge1xuICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiAxZnI7XG4gICAgICBncmlkLWF1dG8tcm93czogbWlubWF4KDIxNnB4LCAxZnIpO1xuICAgICAgZ3JpZC10ZW1wbGF0ZS1yb3dzOiBtaW4tY29udGVudDtcbiAgICAgIGdyaWQtZ2FwOiAzMHB4O1xuICAgIH1cbiAgICBAaW5jbHVkZSBtb2JpbGUge1xuICAgICAgZ3JpZC1nYXA6IDIwcHg7XG4gICAgfVxuICB9XG5cbiAgJl9fZmlndXJlIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG5cbiAgICAmOmhvdmVyIHtcbiAgICAgIC5nYWxsZXJ5X19pbWcge1xuICAgICAgICB0cmFuc2Zvcm06IHNjYWxlKDEuMDIpO1xuXG4gICAgICAgICYtbG91cGUge1xuICAgICAgICAgIG9wYWNpdHk6IDE7XG4gICAgICAgICAgQGluY2x1ZGUgdGFibGV0IHtcbiAgICAgICAgICAgIG9wYWNpdHk6IDA7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgJl9faW1nIHtcbiAgICAmIHtcbiAgICAgIEBpbmNsdWRlIHdpZHRoLWhlaWd0aCgxMDAlKTtcbiAgICAgIG9iamVjdC1maXQ6IGNvdmVyO1xuICAgICAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIDAuNXMgZWFzZS1pbi1vdXQ7XG4gICAgfVxuXG4gICAgJi1sb3VwZSB7XG4gICAgICBAaW5jbHVkZSBhYnMtcG9zaXRpb24oKTtcbiAgICAgIG9wYWNpdHk6IDA7XG4gICAgICB0cmFuc2l0aW9uOiBvcGFjaXR5IDAuNXMgZWFzZS1pbi1vdXQ7XG4gICAgfVxuICB9XG59XG4iLCI6cm9vdCB7XG4gIC8vIC0tc3MtY29sLWdhcDogNjBweDtcbiAgLS1zZWN0aW9uLXBhZGRpbmctYm90dG9tOiAxNTBweDtcbiAgQGluY2x1ZGUgdGFibGV0IHtcbiAgICAtLXNlY3Rpb24tcGFkZGluZy1ib3R0b206IDEyMHB4O1xuICB9XG4gIEBpbmNsdWRlIG1vYmlsZSB7XG4gICAgLS1zZWN0aW9uLXBhZGRpbmctYm90dG9tOiA2MHB4O1xuICB9XG59XG4uaG9tZSAucGFnZV9faW5uZXIge1xuICAvLyBAaW5jbHVkZSB0bygxMDI0cHgpIHtcbiAgLy8gICBvdmVyZmxvdy14OiB2aXNpYmxlO1xuICAvLyB9XG59XG4ubWFpbiB7XG4gICYtaG9tZSB7XG4gICAgc2VjdGlvbiB7XG4gICAgICBwYWRkaW5nOiAwIHZhcigtLWxyLXBhZGRpbmdzKTtcbiAgICB9XG4gICAgLnN0YXJ0LXNlY3Rpb24ge1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgei1pbmRleDogMTtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gICAgICBwYWRkaW5nLXRvcDogNjBweDtcbiAgICAgIHBhZGRpbmctYm90dG9tOiAxNTBweDtcbiAgICAgIGdhcDogMy4xMjV2dztcbiAgICAgIG1pbi1oZWlnaHQ6IDc1MHB4O1xuICAgICAgaGVpZ2h0OiA5NXZoO1xuICAgICAgQGluY2x1ZGUgdG8oMTAyNHB4KSB7XG4gICAgICAgIGhlaWdodDogYXV0bztcbiAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgIH1cbiAgICAgIEBpbmNsdWRlIHRhYmxldExhcmdlIHtcbiAgICAgIH1cbiAgICAgIEBpbmNsdWRlIHRhYmxldCB7XG4gICAgICB9XG4gICAgICBAaW5jbHVkZSBtb2JpbGUge1xuICAgICAgICBtaW4taGVpZ2h0OiBhdXRvO1xuICAgICAgICBwYWRkaW5nLXRvcDogNDBweDtcbiAgICAgICAgcGFkZGluZy1ib3R0b206IDEwMHB4O1xuICAgICAgfVxuICAgICAgLmZpcnN0LWNvbHVtbiB7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgICAgbWluLXdpZHRoOiAyOTBweDtcbiAgICAgICAgd2lkdGg6IDI3dnc7XG4gICAgICAgICZfX3NvY2lhbCB7XG4gICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICBnYXA6IDI4cHg7XG4gICAgICAgICAgbWFyZ2luLWJvdHRvbTogMy4xMjV2dztcbiAgICAgICAgICBzdmcge1xuICAgICAgICAgICAgbWluLXdpZHRoOiAxNnB4O1xuICAgICAgICAgICAgd2lkdGg6IDEuMjV2dztcbiAgICAgICAgICAgIG1pbi1oZWlnaHQ6IDE2cHg7XG4gICAgICAgICAgICBoZWlnaHQ6IDEuMjV2dztcbiAgICAgICAgICB9XG4gICAgICAgICAgQGluY2x1ZGUgdG8oMTAyNHB4KSB7XG4gICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICByaWdodDogMDtcbiAgICAgICAgICAgIGJvdHRvbTogMDtcbiAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgICAgICBoZWlnaHQ6IDcwcHg7XG4gICAgICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgICAgfVxuICAgICAgICAgIEBpbmNsdWRlIG1vYmlsZSB7XG4gICAgICAgICAgICBoZWlnaHQ6IDQ1cHg7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIEBpbmNsdWRlIHRvKDEwMjRweCkge1xuICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgIG1hcmdpbi1ib3R0b206IDMwcHg7XG4gICAgICAgIH1cbiAgICAgICAgQGluY2x1ZGUgbW9iaWxlIHtcbiAgICAgICAgICAmX19zb2NpYWwge1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgJl9faGVhZGVyIHtcbiAgICAgICAgICBtYXJnaW4tYm90dG9tOiAzNHB4O1xuICAgICAgICAgIGZvbnQtc2l6ZTogMy4yMnZ3O1xuICAgICAgICAgIEBpbmNsdWRlIHRhYmxldCB7XG4gICAgICAgICAgfVxuICAgICAgICAgIEBpbmNsdWRlIHRhYmxldExhcmdlIHtcbiAgICAgICAgICB9XG4gICAgICAgICAgQGluY2x1ZGUgbW9iaWxlIHtcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDIwcHg7XG4gICAgICAgICAgICBmb250LXNpemU6IDMwcHg7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgICZfX3RleHQge1xuICAgICAgICAgIG1pbi13aWR0aDogMzEwcHg7XG4gICAgICAgICAgd2lkdGg6IDIzLjMzdnc7XG4gICAgICAgICAgbWFyZ2luLWJvdHRvbTogMzRweDtcbiAgICAgICAgICBAaW5jbHVkZSB0bygxMDI0cHgpIHtcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgIH1cbiAgICAgICAgICBAaW5jbHVkZSBtb2JpbGUge1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMjBweDtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgJl9fYnRuLWxpbmsge1xuICAgICAgICAgIC13ZWJraXQtYW5pbWF0aW9uLWR1cmF0aW9uOiA4cztcbiAgICAgICAgICAtd2Via2l0LXRyYW5zZm9ybS1vcmlnaW46IDUwJSA1MCU7XG4gICAgICAgICAgLXdlYmtpdC1hbmltYXRpb24taXRlcmF0aW9uLWNvdW50OiBpbmZpbml0ZTtcbiAgICAgICAgICAtd2Via2l0LWFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGxpbmVhcjtcbiAgICAgICAgICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiB0cmVtYmxlO1xuICAgICAgICAgIEBpbmNsdWRlIGxpbmstYnRucygyNzBweCwgNzBweCwgJGZyZXNoLWdyZWVuLCAxNHB4KTtcbiAgICAgICAgICBjb2xvcjogJGRhcmstdmlvbGV0O1xuICAgICAgICAgIEBpbmNsdWRlIHRhYmxldCB7XG4gICAgICAgICAgICB3aWR0aDogMjcwcHg7XG4gICAgICAgICAgICBoZWlnaHQ6IDcwcHg7XG4gICAgICAgICAgICBmb250LXNpemU6IDE0cHg7XG4gICAgICAgICAgfVxuICAgICAgICAgIEBpbmNsdWRlIG1vYmlsZSB7XG4gICAgICAgICAgICB3aWR0aDogMTcwcHg7XG4gICAgICAgICAgICBoZWlnaHQ6IDQ1cHg7XG4gICAgICAgICAgICBmb250LXNpemU6IDEwcHg7XG4gICAgICAgICAgfVxuICAgICAgICAgIEBpbmNsdWRlIGZyb20oMTAyNXB4KSB7XG4gICAgICAgICAgICB0cmFuc2l0aW9uOiAwLjI1cyBlYXNlLW91dDtcbiAgICAgICAgICAgICY6aG92ZXIge1xuICAgICAgICAgICAgICBjb2xvcjogJGRhcmstdmlvbGV0O1xuICAgICAgICAgICAgICBib3JkZXI6IDFweCBzb2xpZCAkZGFyay12aW9sZXQ7XG4gICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRsaWdodC1ncmV5O1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICBALXdlYmtpdC1rZXlmcmFtZXMgdHJlbWJsZSB7XG4gICAgICAgICAgMCUge1xuICAgICAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZSgycHgsIDFweCkgcm90YXRlKDBkZWcpO1xuICAgICAgICAgIH1cbiAgICAgICAgICAxJSB7XG4gICAgICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlKC0xcHgsIC0ycHgpIHJvdGF0ZSgtMWRlZyk7XG4gICAgICAgICAgfVxuICAgICAgICAgIDIlIHtcbiAgICAgICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTNweCwgMHB4KSByb3RhdGUoMWRlZyk7XG4gICAgICAgICAgfVxuICAgICAgICAgIDMlIHtcbiAgICAgICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUoMHB4LCAycHgpIHJvdGF0ZSgwZGVnKTtcbiAgICAgICAgICB9XG4gICAgICAgICAgNCUge1xuICAgICAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZSg1cHgsIC0xcHgpIHJvdGF0ZSgxZGVnKTtcbiAgICAgICAgICB9XG4gICAgICAgICAgNSUge1xuICAgICAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZSgtMXB4LCAycHgpIHJvdGF0ZSgtMWRlZyk7XG4gICAgICAgICAgfVxuICAgICAgICAgIDYlIHtcbiAgICAgICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTJweCwgMXB4KSByb3RhdGUoMGRlZyk7XG4gICAgICAgICAgfVxuICAgICAgICAgIDclIHtcbiAgICAgICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUoNnB4LCAycHgpIHJvdGF0ZSgtMWRlZyk7XG4gICAgICAgICAgfVxuICAgICAgICAgIDglIHtcbiAgICAgICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTFweCwgLTNweCkgcm90YXRlKDFkZWcpO1xuICAgICAgICAgIH1cbiAgICAgICAgICA5JSB7XG4gICAgICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlKDJweCwgMXB4KSByb3RhdGUoMGRlZyk7XG4gICAgICAgICAgfVxuICAgICAgICAgIDEwJSB7XG4gICAgICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlKDVweCwgLTJweCkgcm90YXRlKC0xZGVnKTtcbiAgICAgICAgICB9XG4gICAgICAgICAgMTElIHtcbiAgICAgICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUoMHB4LCAwcHgpIHJvdGF0ZSgwZGVnKTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgIC5zZWNvbmQtY29sdW1uIHtcbiAgICAgICAgbWluLXdpZHRoOiAyOTBweDtcbiAgICAgICAgd2lkdGg6IDI3dnc7XG4gICAgICAgIC5zZWNvbmQtY29sdW1uX19zbGlkZSB7XG4gICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgfVxuICAgICAgICAuc2Vjb25kLWNvbHVtbl9fc2xpZGVfcGFnaW5hdGlvbiB7XG4gICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgfVxuICAgICAgICBAaW5jbHVkZSB0bygxMDI0cHgpIHtcbiAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgICAgICAgICBtaW4td2lkdGg6IDEwMCU7XG4gICAgICAgICAgLnNlY29uZC1jb2x1bW5fX3NsaWRlIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgd2lkdGg6IDQ1JTtcbiAgICAgICAgICAgIGhlaWdodDogNTh2dztcbiAgICAgICAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgICAgICAgICBAaW5jbHVkZSBtb2JpbGUge1xuICAgICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICBAaW5jbHVkZSB0YWJsZXQge1xuICAgICAgICB9XG4gICAgICAgIEBpbmNsdWRlIG1vYmlsZSB7XG4gICAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgICAgICBnYXA6IDEwcHg7XG4gICAgICAgICAgLnNlY29uZC1jb2x1bW5fX3NsaWRlX3BhZ2luYXRpb24ge1xuICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICBtYXJnaW4tdG9wOiAyMHB4O1xuICAgICAgICAgICAgLnByb2dyZXNzLWNvbnRhaW5lciB7XG4gICAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gICAgICAgICAgICAgIG1hcmdpbi1yaWdodDogYXV0bztcbiAgICAgICAgICAgICAgd2lkdGg6IDYwcHg7XG4gICAgICAgICAgICAgIGhlaWdodDogMnB4O1xuICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjYmJiYmJiO1xuICAgICAgICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAucHJvZ3Jlc3MtYmFyIHtcbiAgICAgICAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgICAgICAgICB3aWR0aDogMDtcbiAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGRhcmstdmlvbGV0O1xuICAgICAgICAgICAgICAvLyBhbmltYXRpb246IGZpbGxQcm9ncmVzcyA1LjRzIGxpbmVhciBpbmZpbml0ZTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgQGtleWZyYW1lcyBmaWxsUHJvZ3Jlc3Mge1xuICAgICAgICAgICAgICAwJSB7XG4gICAgICAgICAgICAgICAgd2lkdGg6IDA7XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgMTAwJSB7XG4gICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgJl9fdmlkZW9fd3JhcHBlciB7XG4gICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgICAgICBAaW5jbHVkZSB0bygxMDI0cHgpIHtcbiAgICAgICAgICAgIHdpZHRoOiA0NSU7XG4gICAgICAgICAgICBoZWlnaHQ6IDU4dnc7XG4gICAgICAgICAgfVxuICAgICAgICAgIEBpbmNsdWRlIG1vYmlsZSB7XG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgIGhlaWdodDogNTYwcHg7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIHZpZGVvIHtcbiAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICAgICAgb2JqZWN0LWZpdDogY292ZXI7XG4gICAgICAgIH1cbiAgICAgICAgYnV0dG9uIHtcbiAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgdG9wOiAxMDBweDtcbiAgICAgICAgICBsZWZ0OiAyMHB4O1xuICAgICAgICAgIHdpZHRoOiA0NXB4O1xuICAgICAgICAgIGhlaWdodDogNDVweDtcbiAgICAgICAgICBib3JkZXItcmFkaXVzOiA1MCU7XG4gICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICAgIGJhY2tncm91bmQ6ICNmZmY7XG4gICAgICAgICAgc3ZnIHtcbiAgICAgICAgICAgIHdpZHRoOiAyNHB4O1xuICAgICAgICAgICAgaGVpZ2h0OiBhdXRvO1xuICAgICAgICAgIH1cbiAgICAgICAgICBzdmc6Zmlyc3QtY2hpbGQge1xuICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgJl9fc2xpZGVfdG9wIHtcbiAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICAgIGdhcDogMTJweDtcbiAgICAgICAgICBtaW4taGVpZ2h0OiA1NnB4O1xuICAgICAgICAgIGhlaWdodDogMTAlO1xuICAgICAgICAgIHBhZGRpbmc6IDE4cHggMDtcbiAgICAgICAgICBib3JkZXI6IDFweCBzb2xpZCAjYmJiO1xuICAgICAgICAgIGltZyB7XG4gICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICB0b3A6IDA7XG4gICAgICAgICAgICBsZWZ0OiAwO1xuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICAgICAgICBvYmplY3QtZml0OiBjb3ZlcjtcbiAgICAgICAgICAgIG9iamVjdC1wb3NpdGlvbjogY2VudGVyO1xuICAgICAgICAgIH1cbiAgICAgICAgICBzdmcge1xuICAgICAgICAgICAgd2lkdGg6IDI0cHg7XG4gICAgICAgICAgICBoZWlnaHQ6IDI0cHg7XG4gICAgICAgICAgfVxuICAgICAgICAgIHNwYW4ge1xuICAgICAgICAgICAgZm9udC1zaXplOiAxMnB4O1xuICAgICAgICAgICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAxNzAlO1xuICAgICAgICAgICAgY29sb3I6ICRkYXJrLXZpb2xldDtcbiAgICAgICAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAkZGFyay12aW9sZXQ7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgICZfX3NsaWRlX3dyYXBwZXIge1xuICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgICBoZWlnaHQ6IDkwJTtcbiAgICAgICAgICBAaW5jbHVkZSBtb2JpbGUge1xuICAgICAgICAgICAgaGVpZ2h0OiA0MzBweDtcbiAgICAgICAgICB9XG4gICAgICAgICAgLnN3aXBlciB7XG4gICAgICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICAgICAgfVxuICAgICAgICAgIC5zd2lwZXItc2xpZGUge1xuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgICAgICAgICAgaW1nIHtcbiAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgICAgICAgICAgb2JqZWN0LWZpdDogY292ZXI7XG4gICAgICAgICAgICAgIG9iamVjdC1wb3NpdGlvbjogY2VudGVyO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgICAuc3dpcGVyLXBhZ2luYXRpb24ge1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgLnRoaXJkLWNvbHVtbiB7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICAgIGFsaWduLWl0ZW1zOiBzdGFydDtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICAgICAgICBtaW4td2lkdGg6IDI5MHB4O1xuICAgICAgICB3aWR0aDogMjd2dztcbiAgICAgICAgQGluY2x1ZGUgdG8oMTAyNHB4KSB7XG4gICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgfVxuICAgICAgICBAaW5jbHVkZSB0YWJsZXQge1xuICAgICAgICB9XG4gICAgICAgIEBpbmNsdWRlIG1vYmlsZSB7XG4gICAgICAgIH1cbiAgICAgICAgJl9fdG9wIHtcbiAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgICAgICAgIGdhcDogMTJweDtcbiAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICBtaW4taGVpZ2h0OiA0NHB4O1xuICAgICAgICAgIGhlaWdodDogOHZoO1xuICAgICAgICAgIGJvcmRlcjogMXB4IHNvbGlkICNiYmI7XG5cbiAgICAgICAgICBpbWcge1xuICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgdG9wOiAwO1xuICAgICAgICAgICAgbGVmdDogMDtcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgICAgICAgb2JqZWN0LWZpdDogY292ZXI7XG4gICAgICAgICAgICBvYmplY3QtcG9zaXRpb246IGNlbnRlcjtcbiAgICAgICAgICB9XG4gICAgICAgICAgc3ZnIHtcbiAgICAgICAgICAgIHdpZHRoOiAyNHB4O1xuICAgICAgICAgICAgaGVpZ2h0OiAyNHB4O1xuICAgICAgICAgICAgQGluY2x1ZGUgdG8oMTM2NnB4KSB7XG4gICAgICAgICAgICAgIHdpZHRoOiAxNnB4O1xuICAgICAgICAgICAgICBoZWlnaHQ6IDE2cHg7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICAgIHNwYW4ge1xuICAgICAgICAgICAgZm9udC1zaXplOiAwLjgzdnc7XG4gICAgICAgICAgICBmb250LXdlaWdodDogNjAwO1xuICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDE3MCU7XG4gICAgICAgICAgICBjb2xvcjogJGRhcmstdmlvbGV0O1xuICAgICAgICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICRkYXJrLXZpb2xldDtcbiAgICAgICAgICAgIEBpbmNsdWRlIHRvKDEzNjZweCkge1xuICAgICAgICAgICAgICBmb250LXNpemU6IDEycHg7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgICZfX3dyYXBwZXIge1xuICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgIGhlaWdodDogNTB2aDtcbiAgICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgICAgICB9XG4gICAgICAgIC5zY3JvbGwtY29udGFpbmVyIHtcbiAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgICB9XG4gICAgICAgIC5zd2lwZXItc2xpZGUge1xuICAgICAgICAgIGhlaWdodDogNTB2aDtcbiAgICAgICAgfVxuICAgICAgICAuY2FyZC1saW5rIHtcbiAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICB0cmFuc2Zvcm06IG5vbmUgIWltcG9ydGFudDtcbiAgICAgICAgfVxuICAgICAgICAuY2FyZCB7XG4gICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgaGVpZ2h0OiA1MHZoO1xuICAgICAgICAgIGJvcmRlcjogMXB4IHNvbGlkICNiYmI7XG4gICAgICAgICAgLmNhcmQtdG9wIHtcbiAgICAgICAgICAgIGhlaWdodDogYXV0bztcbiAgICAgICAgICAgIGltZyB7XG4gICAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgICBoZWlnaHQ6IGF1dG87XG4gICAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgICBvYmplY3QtZml0OiBjb250YWluO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgICAuY2FyZC1ib3R0b20ge1xuICAgICAgICAgICAgZmxleDogMTtcbiAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAgICAgICAgYWxpZ24taXRlbXM6IHN0YXJ0O1xuICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgIHBhZGRpbmc6IDEuNnZ3IDIuNHZ3O1xuICAgICAgICAgICAgb3ZlcmZsb3cteTogYXV0bztcbiAgICAgICAgICB9XG4gICAgICAgICAgLmNhcmQtZGF0ZSB7XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAxLjA0dnc7XG4gICAgICAgICAgfVxuICAgICAgICAgIC5jYXJkLXRleHQge1xuICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgbWluLWhlaWdodDogYXV0bztcbiAgICAgICAgICAgIC8vIG1heC1oZWlnaHQ6IDIuNXZ3O1xuICAgICAgICAgICAgZm9udC1zaXplOiAxNHB4O1xuICAgICAgICAgICAgLy8gb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgLnByb2dyZXNzLWJhci1jb250YWluZXIge1xuICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgICBtYXJnaW4tbGVmdDogYXV0bztcbiAgICAgICAgICBtYXJnaW4tcmlnaHQ6IGF1dG87XG4gICAgICAgICAgd2lkdGg6IDE0MHB4O1xuICAgICAgICAgIGhlaWdodDogMnB4O1xuICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICNiYmJiYmI7XG4gICAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICAgICAgfVxuICAgICAgICAucHJvZ3Jlc3MtYmFyIHtcbiAgICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICAgICAgd2lkdGg6IDA7XG4gICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGRhcmstdmlvbGV0O1xuICAgICAgICAgIHRyYW5zaXRpb246IHdpZHRoIDAuMXMgbGluZWFyO1xuICAgICAgICB9XG4gICAgICAgICZfX2J0bi1saW5rIHtcbiAgICAgICAgICBAaW5jbHVkZSBsaW5rLWJ0bnMoMjcwcHgsIDcwcHgsICRsaWdodC1ncmV5LCAxNHB4KTtcbiAgICAgICAgICBtYXJnaW46IDAgYXV0bztcbiAgICAgICAgICBib3JkZXI6IDFweCBzb2xpZCAkZGFyay12aW9sZXQ7XG4gICAgICAgICAgY29sb3I6ICRkYXJrLXZpb2xldDtcbiAgICAgICAgICBAaW5jbHVkZSB0YWJsZXQge1xuICAgICAgICAgICAgd2lkdGg6IDI3MHB4O1xuICAgICAgICAgICAgaGVpZ2h0OiA3MHB4O1xuICAgICAgICAgICAgZm9udC1zaXplOiAxNHB4O1xuICAgICAgICAgIH1cbiAgICAgICAgICBAaW5jbHVkZSBtb2JpbGUge1xuICAgICAgICAgICAgd2lkdGg6IDE3MHB4O1xuICAgICAgICAgICAgaGVpZ2h0OiA0NXB4O1xuICAgICAgICAgICAgZm9udC1zaXplOiAxMHB4O1xuICAgICAgICAgIH1cbiAgICAgICAgICBAaW5jbHVkZSBmcm9tKDEwMjVweCkge1xuICAgICAgICAgICAgdHJhbnNpdGlvbjogMC4yNXMgZWFzZS1vdXQ7XG4gICAgICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICAgICAgY29sb3I6ICR3aGl0ZS1jb2xvcjtcbiAgICAgICAgICAgICAgYm9yZGVyOiAxcHggc29saWQgJGxpZ2h0LWxhdmFuZGVyO1xuICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkbGlnaHQtbGF2YW5kZXI7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgICAmX19zY3JvbGwtZG93biB7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgcmlnaHQ6IDA7XG4gICAgICAgIGJvdHRvbTogMDtcbiAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgICAgICBwYXRoLFxuICAgICAgICBjaXJjbGUge1xuICAgICAgICAgIHRyYW5zaXRpb246IDAuMjVzIGVhc2Utb3V0O1xuICAgICAgICB9XG4gICAgICAgIGNpcmNsZSB7XG4gICAgICAgICAgZmlsbDogdHJhbnNwYXJlbnQ7XG4gICAgICAgIH1cbiAgICAgICAgQGluY2x1ZGUgZnJvbSgxMDI1cHgpIHtcbiAgICAgICAgICAmOmhvdmVyIGNpcmNsZSB7XG4gICAgICAgICAgICBmaWxsOiAkZGFyay12aW9sZXQ7XG4gICAgICAgICAgICBzdHJva2U6IHRyYW5zcGFyZW50O1xuICAgICAgICAgIH1cbiAgICAgICAgICAmOmhvdmVyIHBhdGgge1xuICAgICAgICAgICAgc3Ryb2tlOiAkd2hpdGUtY29sb3I7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIEBpbmNsdWRlIHRvKDEwMjRweCkge1xuICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICAvLy0tLS0tLS0tLS0vL1xuXG4gICAgLmxhdmFuZGEtcGFyayB7XG4gICAgICBAaW5jbHVkZSBiYXNlRmxleFN0eWxlKCRqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW4pO1xuICAgICAgLS1wYWRkaW5ncy10YjogMjcwcHg7XG4gICAgICBwYWRkaW5nLXRvcDogdmFyKC0tcGFkZGluZ3MtdGIpO1xuICAgICAgcGFkZGluZy1ib3R0b206IHZhcigtLXBhZGRpbmdzLXRiKTtcbiAgICAgIGJhY2tncm91bmQ6IG5vLXJlcGVhdCB1cmwoJy4uL2ltYWdlcy9ob21lL2xhdmFuZGEtcGFyay5qcGcnKTtcbiAgICAgIGJhY2tncm91bmQtc2l6ZTogY292ZXI7XG4gICAgICBAaW5jbHVkZSB0YWJsZXQge1xuICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAgICAtLXBhZGRpbmdzLXRiOiAxMjBweDtcbiAgICAgIH1cbiAgICAgIEBpbmNsdWRlIG5vdGVib29rIHtcbiAgICAgICAgLS1wYWRkaW5ncy10YjogODBweDtcbiAgICAgIH1cbiAgICAgIEBpbmNsdWRlIG1vYmlsZSB7XG4gICAgICAgIC0tcGFkZGluZ3MtdGI6IDYwcHg7XG4gICAgICB9XG5cbiAgICAgIC5sZWZ0LXNpZGUge1xuICAgICAgICB3aWR0aDogMzMlO1xuICAgICAgICBAaW5jbHVkZSB0YWJsZXQge1xuICAgICAgICAgIHdpZHRoOiA3NSU7XG4gICAgICAgIH1cbiAgICAgICAgQGluY2x1ZGUgbW9iaWxlIHtcbiAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgfVxuXG4gICAgICAgICZfX2hlYWRlciB7XG4gICAgICAgICAgQGluY2x1ZGUgc2V0Rm9udFN0eWxlKCdDb3Jtb3JhbnQgR2FyYW1vbmQnLCAxMTBweCwgNDAwLCAkd2hpdGUtY29sb3IsIDEwMCUsIC0wLjAxZW0pO1xuXG4gICAgICAgICAgQGluY2x1ZGUgdGFibGV0TGFyZ2Uge1xuICAgICAgICAgICAgZm9udC1zaXplOiA4MHB4O1xuICAgICAgICAgIH1cbiAgICAgICAgICBAaW5jbHVkZSBub3RlYm9vayB7XG4gICAgICAgICAgICBmb250LXNpemU6IDU2cHg7XG4gICAgICAgICAgfVxuICAgICAgICAgIEBpbmNsdWRlIHRhYmxldCB7XG4gICAgICAgICAgICBmb250LXNpemU6IDExMHB4O1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogNTBweDtcbiAgICAgICAgICB9XG5cbiAgICAgICAgICBAaW5jbHVkZSBtb2JpbGUge1xuICAgICAgICAgICAgZm9udC1zaXplOiA2MHB4O1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogNDBweDtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgLnJpZ2h0LXNpZGUge1xuICAgICAgICBkaXNwbGF5OiBncmlkO1xuICAgICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdCgzLCBhdXRvKTtcbiAgICAgICAgZ3JpZC10ZW1wbGF0ZS1yb3dzOiByZXBlYXQoMiwgYXV0byk7XG4gICAgICAgIGNvbHVtbi1nYXA6IDEzMHB4O1xuICAgICAgICByb3ctZ2FwOiA4MHB4O1xuICAgICAgICBAaW5jbHVkZSB0YWJsZXRMYXJnZSB7XG4gICAgICAgICAgY29sdW1uLWdhcDogMTAwcHg7XG4gICAgICAgIH1cbiAgICAgICAgQGluY2x1ZGUgdGFibGV0IHtcbiAgICAgICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdCgyLCBhdXRvKTtcbiAgICAgICAgICBncmlkLXRlbXBsYXRlLXJvd3M6IHJlcGVhdCgzLCBhdXRvKTtcbiAgICAgICAgICBjb2x1bW4tZ2FwOiAxMzBweDtcbiAgICAgICAgICByb3ctZ2FwOiA4MHB4O1xuICAgICAgICB9XG5cbiAgICAgICAgQGluY2x1ZGUgbW9iaWxlIHtcbiAgICAgICAgICBjb2x1bW4tZ2FwOiA1MHB4O1xuICAgICAgICAgIHJvdy1nYXA6IDYwcHg7XG4gICAgICAgICAgY29sdW1uLWdhcDogMjVweDtcbiAgICAgICAgfVxuXG4gICAgICAgICZfX2NlbGwge1xuICAgICAgICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gICAgICAgICAgQGluY2x1ZGUgbW9iaWxlIHtcbiAgICAgICAgICAgIHdoaXRlLXNwYWNlOiB3cmFwO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgICZfX2hlYWRlciB7XG4gICAgICAgICAgQGluY2x1ZGUgc2V0Rm9udFN0eWxlKCdUZW5vciBTYW5zJywgNzBweCwgNDAwLCAkd2hpdGUtY29sb3IsIDEyMCUsICR0ZXh0LXRyYW5zZm9ybTogbm9uZSk7XG4gICAgICAgICAgQGluY2x1ZGUgbW9iaWxlIHtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogNTBweDtcbiAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAmX19zdWJoZWFkZXIge1xuICAgICAgICAgIGZvbnQtc2l6ZTogMTZweDtcbiAgICAgICAgICBmb250LXdlaWdodDogNTAwO1xuICAgICAgICAgIGxpbmUtaGVpZ2h0OiAxNjAlO1xuICAgICAgICAgIGNvbG9yOiAkbGlnaHQtZ3JleTtcbiAgICAgICAgICBAaW5jbHVkZSBtb2JpbGUge1xuICAgICAgICAgICAgZm9udC1zaXplOiAxMnB4O1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgIC8vLS0tLS0tLS0tLS8vXG5cbiAgICAuZ2FsbGVyeSB7XG4gICAgICBwYWRkaW5nLXJpZ2h0OiAwO1xuICAgICAgcGFkZGluZy1sZWZ0OiAwO1xuICAgICAgJl9fd3JhcHBlciB7XG4gICAgICAgIHBhZGRpbmc6IDE1MHB4IDA7XG4gICAgICAgIEBpbmNsdWRlIG1vYmlsZSB7XG4gICAgICAgICAgcGFkZGluZzogMTAwcHggMDtcbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgJl9fdGl0bGUge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAxMnB4O1xuICAgICAgICBwYWRkaW5nLWxlZnQ6IHZhcigtLWxyLXBhZGRpbmdzKTtcbiAgICAgICAgcGFkZGluZy1yaWdodDogdmFyKC0tbHItcGFkZGluZ3MpO1xuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgIGZvbnQtc2l6ZTogMy4yMnZ3O1xuICAgICAgICBAaW5jbHVkZSBtb2JpbGUge1xuICAgICAgICAgIGZvbnQtc2l6ZTogMzBweDtcbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgJl9fdGV4dCB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDIwcHg7XG4gICAgICAgIHBhZGRpbmctbGVmdDogdmFyKC0tbHItcGFkZGluZ3MpO1xuICAgICAgICBwYWRkaW5nLXJpZ2h0OiB2YXIoLS1sci1wYWRkaW5ncyk7XG4gICAgICAgIGNvbG9yOiAkZGFyay12aW9sZXQ7XG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgIH1cbiAgICAgICZfX3RhYnMge1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgICAgZ2FwOiAxMnB4O1xuICAgICAgICBtYXJnaW4tYm90dG9tOiA2MHB4O1xuICAgICAgICBwYWRkaW5nLWxlZnQ6IHZhcigtLWxyLXBhZGRpbmdzKTtcbiAgICAgICAgcGFkZGluZy1yaWdodDogdmFyKC0tbHItcGFkZGluZ3MpO1xuICAgICAgICBAaW5jbHVkZSBtb2JpbGUge1xuICAgICAgICAgIG1hcmdpbi1ib3R0b206IDQwcHg7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgICZfX2Rpc3BsYXkge1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIHdpZHRoOiAxMDB2dztcbiAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcblxuICAgICAgICAuc3dpcGVyIHtcbiAgICAgICAgICBAaW5jbHVkZSBtb2JpbGUge1xuICAgICAgICAgICAgcGFkZGluZzogMCB2YXIoLS1sci1wYWRkaW5ncyk7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIC5zd2lwZXItc2xpZGUge1xuICAgICAgICAgIHdpZHRoOiA1MDhweDtcbiAgICAgICAgICBoZWlnaHQ6IDM4MHB4ICFpbXBvcnRhbnQ7XG4gICAgICAgICAgbWFyZ2luLXJpZ2h0OiAyMHB4O1xuICAgICAgICAgIGN1cnNvcjogZ3JhYjtcbiAgICAgICAgICBAaW5jbHVkZSBtb2JpbGUge1xuICAgICAgICAgICAgaGVpZ2h0OiA0MjhweCAhaW1wb3J0YW50O1xuICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiAwO1xuICAgICAgICAgIH1cbiAgICAgICAgICBpbWcge1xuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICAgICAgICBvYmplY3QtZml0OiBjb3ZlcjtcbiAgICAgICAgICAgIG9iamVjdC1wb3NpdGlvbjogY2VudGVyO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAuZ2FsbGVyeV9fdmlkZW9zIC5zd2lwZXItc2xpZGUge1xuICAgICAgICAgIHdpZHRoOiBhdXRvO1xuICAgICAgICB9XG4gICAgICAgIC5zd2lwZXItc2xpZGUge1xuICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgICAudmlkZW8tY29udGFpbmVyIHtcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgICAgIH1cbiAgICAgICAgICB2aWRlbyB7XG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgICAgICAgIG9iamVjdC1maXQ6IGNvbnRhaW47XG4gICAgICAgICAgICBvYmplY3QtcG9zaXRpb246IGJvdHRvbTtcbiAgICAgICAgICB9XG4gICAgICAgICAgLmNvbnRyb2xzIHtcbiAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgIGxlZnQ6IDUwJTtcbiAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNTAlKTtcbiAgICAgICAgICAgIGJvdHRvbTogMTBweDtcbiAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgICBnYXA6IDIwcHg7XG4gICAgICAgICAgICBzdmcge1xuICAgICAgICAgICAgICB3aWR0aDogMzBweDtcbiAgICAgICAgICAgICAgaGVpZ2h0OiAzMHB4O1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAuc3dpcGVyLXNsaWRlOmZpcnN0LWNoaWxkIHtcbiAgICAgICAgICBtYXJnaW4tbGVmdDogdmFyKC0tbHItcGFkZGluZ3MpO1xuICAgICAgICAgIEBpbmNsdWRlIG1vYmlsZSB7XG4gICAgICAgICAgICBtYXJnaW4tbGVmdDogMDtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgLnN3aXBlci1zbGlkZTpsYXN0LWNoaWxkIHtcbiAgICAgICAgICBtYXJnaW4tcmlnaHQ6IHZhcigtLWxyLXBhZGRpbmdzKTtcbiAgICAgICAgICBAaW5jbHVkZSBtb2JpbGUge1xuICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiAwO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAuZ2FsbGVyeV9uYXYge1xuICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgICAgICAgZ2FwOiAyMHB4O1xuICAgICAgICAgIG1hcmdpbi10b3A6IDEycHg7XG4gICAgICAgIH1cbiAgICAgICAgLmdhbGxlcnlfX25hdl9idG4gc3ZnIHtcbiAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICAgIEBpbmNsdWRlIG1vYmlsZSB7XG4gICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgIHdpZHRoOiA0NHB4O1xuICAgICAgICAgICAgaGVpZ2h0OiA0NHB4O1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAuZ2FsbGVyeV9fbmF2X2J0bl9wcmV2IHN2ZyB7XG4gICAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoOTBkZWcpO1xuICAgICAgICB9XG4gICAgICAgIC5nYWxsZXJ5X19uYXZfYnRuX25leHQgc3ZnIHtcbiAgICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSgtOTBkZWcpO1xuICAgICAgICB9XG4gICAgICAgIC5zd2lwZXItYnV0dG9uLWRpc2FibGVkIHtcbiAgICAgICAgICBvcGFjaXR5OiAwLjU7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgICZfX2Rpc3BsYXlfd3JhcHBlci5hY3RpdmUge1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIG9wYWNpdHk6IDE7XG4gICAgICAgIHZpc2liaWxpdHk6IHZpc2libGU7XG4gICAgICB9XG4gICAgICAmX19kaXNwbGF5X3dyYXBwZXIge1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHRvcDogMDtcbiAgICAgICAgbGVmdDogMDtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIG9wYWNpdHk6IDA7XG4gICAgICAgIHZpc2liaWxpdHk6IGhpZGRlbjtcbiAgICAgICAgdHJhbnNpdGlvbjogYWxsIDAuNXMgZWFzZS1vdXQ7XG4gICAgICB9XG4gICAgICAmX19idG4uYWN0aXZlIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGZyZXNoLWdyZWVuO1xuICAgICAgICBib3JkZXI6IDFweCBzb2xpZCAkZnJlc2gtZ3JlZW47XG4gICAgICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICAgICAgfVxuICAgICAgJl9fYnRuIHtcbiAgICAgICAgQGluY2x1ZGUgbGluay1idG5zKDE4MHB4LCA3MHB4LCAkbGlnaHQtZ3JleSwgMTRweCk7XG4gICAgICAgIGJvcmRlcjogMXB4IHNvbGlkICRkYXJrLXZpb2xldDtcbiAgICAgICAgY29sb3I6ICRkYXJrLXZpb2xldDtcbiAgICAgICAgQGluY2x1ZGUgdGFibGV0IHtcbiAgICAgICAgICB3aWR0aDogMTgwcHg7XG4gICAgICAgICAgaGVpZ2h0OiA3MHB4O1xuICAgICAgICAgIGZvbnQtc2l6ZTogMTRweDtcbiAgICAgICAgfVxuICAgICAgICBAaW5jbHVkZSBtb2JpbGUge1xuICAgICAgICAgIHdpZHRoOiAxMjRweDtcbiAgICAgICAgICBoZWlnaHQ6IDQ1cHg7XG4gICAgICAgICAgZm9udC1zaXplOiAxMnB4O1xuICAgICAgICB9XG4gICAgICAgIEBpbmNsdWRlIGZyb20oMTAyNXB4KSB7XG4gICAgICAgICAgdHJhbnNpdGlvbjogMC4yNXMgZWFzZS1vdXQ7XG4gICAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgICBib3JkZXI6IDFweCBzb2xpZCAkZnJlc2gtZ3JlZW47XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkZnJlc2gtZ3JlZW47XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8tLS0tLS0tLS0tLy9cblxuICAgIC5hYm91dCB7XG4gICAgICAubW9iLW5vbmUge1xuICAgICAgICBAaW5jbHVkZSBtb2JpbGUge1xuICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgIG1hcmdpbi1ib3R0b206IDE1MHB4O1xuICAgICAgQGluY2x1ZGUgbW9iaWxlIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMTAwcHg7XG4gICAgICB9XG4gICAgICAmX193cmFwcGVyIHtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAgICBnYXA6IDUuMnZ3O1xuICAgICAgICBvdmVyZmxvdzogdmlzaWJsZTtcbiAgICAgIH1cbiAgICAgICZfX2Jsb2NrIHtcbiAgICAgICAgcG9zaXRpb246IHN0aWNreTtcbiAgICAgICAgdG9wOiAxMjBweDtcbiAgICAgICAgbWluLWhlaWdodDogNTAwcHg7XG4gICAgICAgIGhlaWdodDogMzUuNDF2dztcbiAgICAgICAgcGFkZGluZzogOS4yN3Z3IDQwcHggNDBweCA0MHB4O1xuICAgICAgICBib3JkZXItcmFkaXVzOiA0MHB4O1xuICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgICAgICBAbWVkaWEgKG1heC1oZWlnaHQ6IDQ0MHB4KSB7XG4gICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICAgIHRvcDogMCAhaW1wb3J0YW50O1xuICAgICAgICB9XG4gICAgICAgIEBpbmNsdWRlIHRvKDE2MDBweCkge1xuICAgICAgICAgIHBhZGRpbmc6IDZ2dyA0MHB4IDQwcHggNDBweDtcbiAgICAgICAgfVxuICAgICAgICBAaW5jbHVkZSB0bygxMDI0cHgpIHtcbiAgICAgICAgICB0b3A6IDEwMHB4O1xuICAgICAgICB9XG4gICAgICAgIEBpbmNsdWRlIG1vYmlsZSB7XG4gICAgICAgICAgdG9wOiA2NXB4O1xuICAgICAgICAgIHBhZGRpbmc6IDI4cHggMjBweDtcbiAgICAgICAgICBib3JkZXItcmFkaXVzOiAyMHB4O1xuICAgICAgICB9XG4gICAgICAgIEBpbmNsdWRlIG1vYmlsZSB7XG4gICAgICAgICAgJjo6YWZ0ZXIge1xuICAgICAgICAgICAgY29udGVudDogJyc7XG4gICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICB0b3A6IDA7XG4gICAgICAgICAgICBsZWZ0OiAwO1xuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICBoZWlnaHQ6IDUwJTtcbiAgICAgICAgICAgIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCh0byBib3R0b20sIHJnYmEoMCwgMCwgMCwgMC42KSwgdHJhbnNwYXJlbnQpO1xuICAgICAgICAgICAgcG9pbnRlci1ldmVudHM6IG5vbmU7IC8qINCd0LUg0LzQtdGI0LDQtdGCINC60LvQuNC60LDQvCAqL1xuICAgICAgICAgICAgei1pbmRleDogMjsgLyog0JLRi9GI0LUg0YTQvtC90LAsINC90LjQttC1INGC0LXQutGB0YLQsCDigJQg0LzQvtC20LXRiNGMINC/0L7QtNGB0YLRgNC+0LjRgtGMICovXG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIGltZyB7XG4gICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgIHotaW5kZXg6IDA7XG4gICAgICAgICAgdG9wOiAwO1xuICAgICAgICAgIGxlZnQ6IDA7XG4gICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgICAgIG9iamVjdC1maXQ6IGNvdmVyO1xuICAgICAgICAgIG9iamVjdC1wb3NpdGlvbjogY2VudGVyO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgICAmX19ibG9ja19udW1iZXIge1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHotaW5kZXg6IDE7XG4gICAgICAgIHRvcDogMDtcbiAgICAgICAgcmlnaHQ6IDA7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgICAgICB3aWR0aDogNzBweDtcbiAgICAgICAgaGVpZ2h0OiA3MHB4O1xuICAgICAgICBib3JkZXItcmFkaXVzOiA1MCU7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICR3aGl0ZS1jb2xvcjtcbiAgICAgICAgZm9udC1zaXplOiAyOHB4O1xuICAgICAgICBmb250LXdlaWdodDogNjAwO1xuICAgICAgICBsaW5lLWhlaWdodDogMTMwJTtcbiAgICAgICAgY29sb3I6ICRkYXJrLXZpb2xldDtcbiAgICAgICAgQGluY2x1ZGUgbW9iaWxlIHtcbiAgICAgICAgICB0b3A6IGF1dG87XG4gICAgICAgICAgcmlnaHQ6IGF1dG87XG4gICAgICAgICAgbGVmdDogMDtcbiAgICAgICAgICBib3R0b206IDA7XG4gICAgICAgICAgd2lkdGg6IDQwcHg7XG4gICAgICAgICAgaGVpZ2h0OiA0MHB4O1xuICAgICAgICAgIGZvbnQtc2l6ZTogMTZweDtcbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgJl9fYmxvY2tfbGF2YW5kYSNsYXZhbmRhLWljb24ge1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHRvcDogYXV0bztcbiAgICAgICAgbGVmdDogYXV0bztcbiAgICAgICAgYm90dG9tOiAwO1xuICAgICAgICByaWdodDogMDtcbiAgICAgICAgd2lkdGg6IDUycHg7XG4gICAgICAgIGhlaWdodDogYXV0bztcbiAgICAgIH1cbiAgICAgIC5hYm91dF9fbG9jYXRpb24ge1xuICAgICAgICB0b3A6IDEzMHB4O1xuICAgICAgICBAaW5jbHVkZSB0bygxMDI0cHgpIHtcbiAgICAgICAgICB0b3A6IDExMHB4O1xuICAgICAgICB9XG4gICAgICAgIEBpbmNsdWRlIG1vYmlsZSB7XG4gICAgICAgICAgdG9wOiA3NXB4O1xuICAgICAgICB9XG4gICAgICB9XG4gICAgICAuYWJvdXRfX2luZnJhc3RydWN0dXJlIHtcbiAgICAgICAgdG9wOiAxNDBweDtcbiAgICAgICAgQGluY2x1ZGUgdG8oMTAyNHB4KSB7XG4gICAgICAgICAgdG9wOiAxMjBweDtcbiAgICAgICAgfVxuICAgICAgICBAaW5jbHVkZSBtb2JpbGUge1xuICAgICAgICAgIHRvcDogODVweDtcbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgLmFib3V0X190ZXJyaXRvcnkge1xuICAgICAgICB0b3A6IDE1MHB4O1xuICAgICAgICBAaW5jbHVkZSB0bygxMDI0cHgpIHtcbiAgICAgICAgICB0b3A6IDEzMHB4O1xuICAgICAgICB9XG4gICAgICAgIEBpbmNsdWRlIG1vYmlsZSB7XG4gICAgICAgICAgdG9wOiA5NXB4O1xuICAgICAgICB9XG4gICAgICB9XG4gICAgICAuYWJvdXRfX3Bhcmtpbmcge1xuICAgICAgICB0b3A6IDE2MHB4O1xuICAgICAgICBAaW5jbHVkZSB0bygxMDI0cHgpIHtcbiAgICAgICAgICB0b3A6IDE0MHB4O1xuICAgICAgICB9XG4gICAgICAgIEBpbmNsdWRlIG1vYmlsZSB7XG4gICAgICAgICAgdG9wOiAxMDVweDtcbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgLmFib3V0X19hdG1vc3BoZXJlIHtcbiAgICAgICAgdG9wOiAxNzBweDtcbiAgICAgICAgQGluY2x1ZGUgdG8oMTAyNHB4KSB7XG4gICAgICAgICAgdG9wOiAxNTBweDtcbiAgICAgICAgfVxuICAgICAgICBAaW5jbHVkZSBtb2JpbGUge1xuICAgICAgICAgIHRvcDogMTE1cHg7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgIC5hYm91dF9fcmVsYXgge1xuICAgICAgICB0b3A6IDE4MHB4O1xuICAgICAgICBAaW5jbHVkZSB0bygxMDI0cHgpIHtcbiAgICAgICAgICB0b3A6IDE2MHB4O1xuICAgICAgICB9XG4gICAgICAgIEBpbmNsdWRlIG1vYmlsZSB7XG4gICAgICAgICAgdG9wOiAxMjVweDtcbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgJl9fYmxvY2tfY29udGVudCB7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgei1pbmRleDogMztcbiAgICAgIH1cbiAgICAgICZfX2Jsb2NrX3RpdGxlIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMjhweDtcbiAgICAgICAgZm9udC1zaXplOiAzLjIydnc7XG4gICAgICAgIGNvbG9yOiAkbGlnaHQtZ3JleTtcbiAgICAgICAgQGluY2x1ZGUgbW9iaWxlIHtcbiAgICAgICAgICBtYXJnaW4tYm90dG9tOiAxMnB4O1xuICAgICAgICAgIGZvbnQtc2l6ZTogMzBweDtcbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgJl9fYmxvY2tfdGV4dCB7XG4gICAgICAgIG1heC13aWR0aDogMzk4cHg7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDI4cHg7XG4gICAgICAgIGNvbG9yOiAkbGlnaHQtZ3JleTtcbiAgICAgICAgQGluY2x1ZGUgbW9iaWxlIHtcbiAgICAgICAgICBtYXJnaW4tYm90dG9tOiAxMnB4O1xuICAgICAgICB9XG4gICAgICB9XG4gICAgICAmX19ibG9ja19idXR0b24ge1xuICAgICAgICBidXR0b24ge1xuICAgICAgICAgIEBpbmNsdWRlIGxpbmstYnRucygyNzBweCwgNzBweCwgJGZyZXNoLWdyZWVuLCAxNHB4KTtcbiAgICAgICAgICBjb2xvcjogJGRhcmstdmlvbGV0O1xuICAgICAgICAgIEBpbmNsdWRlIHRhYmxldCB7XG4gICAgICAgICAgICB3aWR0aDogMjcwcHg7XG4gICAgICAgICAgICBoZWlnaHQ6IDcwcHg7XG4gICAgICAgICAgICBmb250LXNpemU6IDE0cHg7XG4gICAgICAgICAgfVxuICAgICAgICAgIEBpbmNsdWRlIG1vYmlsZSB7XG4gICAgICAgICAgICB3aWR0aDogMTcwcHg7XG4gICAgICAgICAgICBoZWlnaHQ6IDQ1cHg7XG4gICAgICAgICAgICBmb250LXNpemU6IDEwcHg7XG4gICAgICAgICAgfVxuICAgICAgICAgIEBpbmNsdWRlIGZyb20oMTAyNXB4KSB7XG4gICAgICAgICAgICB0cmFuc2l0aW9uOiAwLjI1cyBlYXNlLW91dDtcbiAgICAgICAgICAgICY6aG92ZXIge1xuICAgICAgICAgICAgICBjb2xvcjogJGRhcmstdmlvbGV0O1xuICAgICAgICAgICAgICBib3JkZXI6IDFweCBzb2xpZCAkZGFyay12aW9sZXQ7XG4gICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRsaWdodC1ncmV5O1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgIC8vLS0tLS0tLS0tLS8vXG5cbiAgICAucGxhbm5pbmcge1xuICAgICAgJl9fZGlzcGxheS5hY3RpdmUge1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIG9wYWNpdHk6IDE7XG4gICAgICAgIHZpc2liaWxpdHk6IHZpc2libGU7XG4gICAgICB9XG4gICAgICAmX19kaXNwbGF5IHtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICB0b3A6IDA7XG4gICAgICAgIGxlZnQ6IDA7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBvcGFjaXR5OiAwO1xuICAgICAgICB2aXNpYmlsaXR5OiBoaWRkZW47XG4gICAgICAgIHRyYW5zaXRpb246IGFsbCAxcyBlYXNlLW91dDtcbiAgICAgIH1cbiAgICAgICZfX3dyYXBwZXIge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiA0MHB4O1xuICAgICAgICBAaW5jbHVkZSBtb2JpbGUge1xuICAgICAgICAgIG1hcmdpbi1ib3R0b206IDEycHg7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgICZfX3RvcCB7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICAgICAgICBnYXA6IDEycHg7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDQwcHg7XG4gICAgICAgIEBpbmNsdWRlIHRvKDEwMjRweCkge1xuICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICAgIH1cbiAgICAgICAgQGluY2x1ZGUgbW9iaWxlIHtcbiAgICAgICAgICBtYXJnaW4tYm90dG9tOiAxMnB4O1xuICAgICAgICB9XG4gICAgICB9XG4gICAgICAmX190aXRsZSB7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgIGZvbnQtc2l6ZTogMy4yMnZ3O1xuICAgICAgICBjb2xvcjogJGhlYWRlcnMtY29sb3I7XG4gICAgICAgIEBpbmNsdWRlIHRvKDEwMjRweCkge1xuICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgICAgfVxuICAgICAgICBAaW5jbHVkZSBtb2JpbGUge1xuICAgICAgICAgIGZvbnQtc2l6ZTogMzBweDtcbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgJl9fYnV0dG9ucyB7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgICAgICBmbGV4LXdyYXA6IHdyYXA7XG4gICAgICAgIGdhcDogMTJweDtcbiAgICAgICAgYnV0dG9uLmFjdGl2ZSB7XG4gICAgICAgICAgYm9yZGVyOiAxcHggc29saWQgJGZyZXNoLWdyZWVuO1xuICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRmcmVzaC1ncmVlbjtcbiAgICAgICAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgICAgICAgfVxuICAgICAgICBidXR0b24ge1xuICAgICAgICAgIEBpbmNsdWRlIGxpbmstYnRucygxODBweCwgNzBweCwgJGxpZ2h0LWdyZXksIDE0cHgpO1xuICAgICAgICAgIHdpZHRoOiBtYXgtY29udGVudDtcbiAgICAgICAgICBwYWRkaW5nOiAwIDQwcHg7XG4gICAgICAgICAgYm9yZGVyOiAxcHggc29saWQgJGRhcmstdmlvbGV0O1xuICAgICAgICAgIGNvbG9yOiAkZGFyay12aW9sZXQ7XG4gICAgICAgICAgQGluY2x1ZGUgdGFibGV0IHtcbiAgICAgICAgICAgIHBhZGRpbmc6IDAgMjRweDtcbiAgICAgICAgICAgIGhlaWdodDogNzBweDtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMTRweDtcbiAgICAgICAgICB9XG4gICAgICAgICAgQGluY2x1ZGUgbW9iaWxlIHtcbiAgICAgICAgICAgIGhlaWdodDogNDVweDtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMTJweDtcbiAgICAgICAgICB9XG4gICAgICAgICAgQGluY2x1ZGUgZnJvbSgxMDI1cHgpIHtcbiAgICAgICAgICAgIHRyYW5zaXRpb246IDAuMjVzIGVhc2Utb3V0O1xuICAgICAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgICAgIGJvcmRlcjogMXB4IHNvbGlkICRmcmVzaC1ncmVlbjtcbiAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGZyZXNoLWdyZWVuO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgJl9fY2VudGVyIHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgZ2FwOiAxMnB4O1xuICAgICAgICBAaW5jbHVkZSB0bygxMzY2cHgpIHtcbiAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgICAmX19jZW50ZXJfbGVmdCB7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgZ2FwOiAxMnB4O1xuICAgICAgICBmbGV4LWdyb3c6IDE7XG4gICAgICAgIEBpbmNsdWRlIG1vYmlsZSB7XG4gICAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbi1yZXZlcnNlO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgICAmX19jZW50ZXJfbGVmdF9sZWZ0IHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICAgICAgICBnYXA6IDIwcHg7XG4gICAgICAgIHdpZHRoOiAzMS4yNXZ3O1xuICAgICAgICBwYWRkaW5nOiA0MHB4O1xuICAgICAgICBib3JkZXItcmFkaXVzOiA0MHB4O1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkd2hpdGUtY29sb3I7XG4gICAgICAgIEBpbmNsdWRlIHRvKDEzNjZweCkge1xuICAgICAgICAgIHdpZHRoOiA1MCU7XG4gICAgICAgIH1cbiAgICAgICAgQGluY2x1ZGUgbW9iaWxlIHtcbiAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgdG9wOiAxMDBweDtcbiAgICAgICAgICBsZWZ0OiAwO1xuICAgICAgICAgIHotaW5kZXg6IDE7XG4gICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgcGFkZGluZzogMzJweCAyMHB4O1xuICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDIwcHg7XG4gICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgwLCAwLCAwLCAwKTtcbiAgICAgICAgICAucGxhbm5pbmdfX3N1YnRpdGxlIHtcbiAgICAgICAgICAgIGNvbG9yOiAkd2hpdGUtY29sb3I7XG4gICAgICAgICAgfVxuICAgICAgICAgIC5wbGFubmluZ19fdGV4dCB7XG4gICAgICAgICAgICBjb2xvcjogJHdoaXRlLWNvbG9yO1xuICAgICAgICAgIH1cbiAgICAgICAgICAucGxhbm5pbmdfX2JlbmVmaXRzIHNwYW4ge1xuICAgICAgICAgICAgY29sb3I6ICR3aGl0ZS1jb2xvcjtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgLnBsYW5uaW5nX19zdWJ0aXRsZSB7XG4gICAgICAgICAgdGV4dC1hbGlnbjogc3RhcnQ7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgICZfX2NlbnRlcl9sZWZ0X2xlZnRfdG9wIHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgICAgZ2FwOiAyMHB4O1xuICAgICAgICBAaW5jbHVkZSBtb2JpbGUge1xuICAgICAgICAgIGdhcDogMTJweDtcbiAgICAgICAgfVxuICAgICAgICAucGxhbm5pbmdfX3N1YnRpdGxlIHtcbiAgICAgICAgICBAaW5jbHVkZSBtb2JpbGUge1xuICAgICAgICAgICAgZm9udC1zaXplOiAxNnB4O1xuICAgICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAucGxhbm5pbmdfX3RleHQge1xuICAgICAgICAgIEBpbmNsdWRlIG1vYmlsZSB7XG4gICAgICAgICAgICBmb250LXNpemU6IDE0cHg7XG4gICAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgICAmX19zdWJ0aXRsZSB7XG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgZm9udC1zaXplOiAyOHB4O1xuICAgICAgICBmb250LXdlaWdodDogNjAwO1xuICAgICAgICBsaW5lLWhlaWdodDogMTMwJTtcbiAgICAgICAgY29sb3I6ICRkYXJrLXZpb2xldDtcbiAgICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICAgICAgd29yZC1icmVhazoga2VlcC1hbGw7XG4gICAgICAgIEBpbmNsdWRlIG1vYmlsZSB7XG4gICAgICAgICAgZm9udC1zaXplOiAyMHB4O1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgICZfX3RleHQuYWN0aXZlIHtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICBvcGFjaXR5OiAxO1xuICAgICAgICB2aXNpYmlsaXR5OiB2aXNpYmxlO1xuICAgICAgfVxuICAgICAgJl9fdGV4dCB7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgdG9wOiAwO1xuICAgICAgICBsZWZ0OiAwO1xuICAgICAgICBmb250LXNpemU6IDE2cHg7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxNzAlO1xuICAgICAgICBjb2xvcjogJHRleHQtY29sb3I7XG4gICAgICAgIG9wYWNpdHk6IDA7XG4gICAgICAgIHZpc2liaWxpdHk6IGhpZGRlbjtcbiAgICAgICAgdHJhbnNpdGlvbjogb3BhY2l0eSAwLjVzIGVhc2Utb3V0O1xuICAgICAgICBAaW5jbHVkZSBtb2JpbGUge1xuICAgICAgICAgIGdhcDogMTJweDtcbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgJl9fdGV4dF9iZW5lZml0cyB7XG4gICAgICAgIGZvbnQtc2l6ZTogMTZweDtcbiAgICAgICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDE3MCU7XG4gICAgICAgIGNvbG9yOiAkdGV4dC1jb2xvcjtcbiAgICAgICAgQGluY2x1ZGUgbW9iaWxlIHtcbiAgICAgICAgICBnYXA6IDEycHg7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgICZfX2JlbmVmaXRzIHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgICAgZ2FwOiAyMHB4O1xuICAgICAgICBAaW5jbHVkZSBtb2JpbGUge1xuICAgICAgICAgIGdhcDogNHB4O1xuICAgICAgICB9XG4gICAgICAgIGRpdiB7XG4gICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICAgIGdhcDogMjBweDtcbiAgICAgICAgICBpbWcge1xuICAgICAgICAgICAgd2lkdGg6IDcwcHg7XG4gICAgICAgICAgICBoZWlnaHQ6IDcwcHg7XG4gICAgICAgICAgICBAaW5jbHVkZSBtb2JpbGUge1xuICAgICAgICAgICAgICB3aWR0aDogNDhweDtcbiAgICAgICAgICAgICAgaGVpZ2h0OiA0OHB4O1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgJl9fY2VudGVyX2xlZnRfcmlnaHQge1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIHotaW5kZXg6IDA7XG4gICAgICAgIGZsZXgtZ3JvdzogMTtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICBtaW4td2lkdGg6IDE5LjQ3dnc7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDQwcHg7XG4gICAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgICAgIEBpbmNsdWRlIHRvKDEzNjZweCkge1xuICAgICAgICAgIHdpZHRoOiA1MCU7XG4gICAgICAgIH1cbiAgICAgICAgQGluY2x1ZGUgbW9iaWxlIHtcbiAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICBtaW4taGVpZ2h0OiA1NTBweDtcbiAgICAgICAgICBoZWlnaHQ6IDcwdmg7XG4gICAgICAgICAgYm9yZGVyLXJhZGl1czogMjBweDtcbiAgICAgICAgICAucGxhbm5pbmdfX3N1YnRpdGxlIHtcbiAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgICAgIHotaW5kZXg6IDM7XG4gICAgICAgICAgICBjb2xvcjogJHdoaXRlLWNvbG9yO1xuICAgICAgICAgIH1cbiAgICAgICAgICAmOjphZnRlciB7XG4gICAgICAgICAgICBjb250ZW50OiAnJztcbiAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgIHRvcDogMDtcbiAgICAgICAgICAgIGxlZnQ6IDA7XG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgICAgICAgIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudChcbiAgICAgICAgICAgICAgdG8gYm90dG9tLFxuICAgICAgICAgICAgICByZ2JhKDAsIDAsIDAsIDEpIDAlLFxuICAgICAgICAgICAgICByZ2JhKDAsIDAsIDAsIDAuOCkgMzAlLFxuICAgICAgICAgICAgICByZ2JhKDAsIDAsIDAsIDAuNCkgNzAlLFxuICAgICAgICAgICAgICByZ2JhKDAsIDAsIDAsIDAuMSkgOTUlLFxuICAgICAgICAgICAgICByZ2JhKDAsIDAsIDAsIDApIDEwMCVcbiAgICAgICAgICAgICk7XG4gICAgICAgICAgICBwb2ludGVyLWV2ZW50czogbm9uZTsgLyog0J3QtSDQvNC10YjQsNC10YIg0LrQu9C40LrQsNC8ICovXG4gICAgICAgICAgICB6LWluZGV4OiAyOyAvKiDQktGL0YjQtSDRhNC+0L3QsCwg0L3QuNC20LUg0YLQtdC60YHRgtCwIOKAlCDQvNC+0LbQtdGI0Ywg0L/QvtC00YHRgtGA0L7QuNGC0YwgKi9cbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgaW1nIHtcbiAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgdG9wOiAwO1xuICAgICAgICAgIGxlZnQ6IDA7XG4gICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgICAgIG9iamVjdC1maXQ6IGNvdmVyO1xuICAgICAgICAgIG9iamVjdC1wb3NpdGlvbjogYm90dG9tO1xuICAgICAgICB9XG4gICAgICAgIC5wbGFubmluZ19fc3VidGl0bGUge1xuICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICB0b3A6IDQwcHg7XG4gICAgICAgICAgbGVmdDogNDBweDtcbiAgICAgICAgICByaWdodDogNDBweDtcbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgJl9fY2VudGVyX3JpZ2h0IHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgICAgd2lkdGg6IDM1LjQxdnc7XG4gICAgICAgIHBhZGRpbmc6IDQwcHg7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDQwcHg7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICR3aGl0ZS1jb2xvcjtcbiAgICAgICAgQGluY2x1ZGUgdG8oMTM2NnB4KSB7XG4gICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIH1cbiAgICAgICAgQGluY2x1ZGUgbW9iaWxlIHtcbiAgICAgICAgICBwYWRkaW5nOiAzMnB4IDIwcHg7XG4gICAgICAgICAgYm9yZGVyLXJhZGl1czogMjBweDtcbiAgICAgICAgfVxuICAgICAgICAucGxhbm5pbmdfX3N1YnRpdGxlIHtcbiAgICAgICAgICBtYXJnaW4tYm90dG9tOiA0MHB4O1xuICAgICAgICAgIEBpbmNsdWRlIG1vYmlsZSB7XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAyOHB4O1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgJl9fc3dpcGVyIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMjBweDtcbiAgICAgIH1cbiAgICAgIC5zd2lwZXItd3JhcHBlciB7XG4gICAgICAgIGhlaWdodDogNTB2aDtcbiAgICAgIH1cbiAgICAgICZfX3NsaWRlcyB7XG4gICAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgICAgIC5zd2lwZXItc2xpZGUge1xuICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgICAgICAgIGhlaWdodDogbWluLWNvbnRlbnQ7XG4gICAgICAgICAgLnBsYW5uaW5nX19pbWcge1xuICAgICAgICAgICAgbWF4LWhlaWdodDogNDB2aDtcbiAgICAgICAgICAgIGhlaWdodDogNDB2aDtcbiAgICAgICAgICAgIHdpZHRoOiBhdXRvO1xuICAgICAgICAgIH1cbiAgICAgICAgICBpbWcge1xuICAgICAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgICAgICAgd2lkdGg6IGF1dG87XG4gICAgICAgICAgICBtYXgtd2lkdGg6IDgwdnc7XG4gICAgICAgICAgICBvYmplY3QtZml0OiBjb250YWluO1xuICAgICAgICAgICAgb2JqZWN0LXBvc2l0aW9uOiBjZW50ZXI7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIC5ib3R0b21fbmF2aWdhdGlvbiB7XG4gICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgICAgICAgIG1hcmdpbi1ib3R0b206IDQwcHg7XG4gICAgICAgICAgQGluY2x1ZGUgbW9iaWxlIHtcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDI4cHg7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIC5zd2lwZXItcGFnaW5hdGlvbi1mcmFjdGlvbiB7XG4gICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgICAgICAgIHdpZHRoOiA2NnB4O1xuICAgICAgICAgIG1hcmdpbjogMCAyMHB4O1xuICAgICAgICAgIC5zd2lwZXItcGFnaW5hdGlvbi1jdXJyZW50IHtcbiAgICAgICAgICAgIG1hcmdpbi1yaWdodDogMTJweDtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMTZweDtcbiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgICAgICAgICBsaW5lLWhlaWdodDogMTcwJTtcbiAgICAgICAgICAgIGNvbG9yOiAkZGFyay12aW9sZXQ7XG4gICAgICAgICAgICBAaW5jbHVkZSBtb2JpbGUge1xuICAgICAgICAgICAgICBmb250LXNpemU6IDEycHg7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICAgIC5zd2lwZXItcGFnaW5hdGlvbi10b3RhbCB7XG4gICAgICAgICAgICBtYXJnaW4tbGVmdDogMTJweDtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMTZweDtcbiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgICAgICAgICBsaW5lLWhlaWdodDogMTcwJTtcbiAgICAgICAgICAgIGNvbG9yOiAkdGV4dC1jb2xvcjtcbiAgICAgICAgICAgIEBpbmNsdWRlIG1vYmlsZSB7XG4gICAgICAgICAgICAgIGZvbnQtc2l6ZTogMTJweDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgLnBsYW5uaW5nX19uYXZfYnRuIHtcbiAgICAgICAgICBzdmcge1xuICAgICAgICAgICAgd2lkdGg6IDcwcHg7XG4gICAgICAgICAgICBoZWlnaHQ6IDcwcHg7XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgICAgICAgIEBpbmNsdWRlIG1vYmlsZSB7XG4gICAgICAgICAgICBzdmcge1xuICAgICAgICAgICAgICB3aWR0aDogNDRweDtcbiAgICAgICAgICAgICAgaGVpZ2h0OiA0NHB4O1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgICBzdmcge1xuICAgICAgICAgICAgdHJhbnNpdGlvbjogYWxsIDAuMjVzIGVhc2Utb3V0O1xuICAgICAgICAgIH1cbiAgICAgICAgICBzdmcgY2lyY2xlIHtcbiAgICAgICAgICAgIHRyYW5zaXRpb246IGFsbCAwLjI1cyBlYXNlLW91dDtcbiAgICAgICAgICB9XG4gICAgICAgICAgc3ZnIHBhdGgge1xuICAgICAgICAgICAgdHJhbnNpdGlvbjogYWxsIDAuMjVzIGVhc2Utb3V0O1xuICAgICAgICAgIH1cbiAgICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICAgIHN2ZyBjaXJjbGUge1xuICAgICAgICAgICAgICBmaWxsOiAjNGEzYTVlO1xuICAgICAgICAgICAgICBzdHJva2U6IHRyYW5zcGFyZW50O1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgc3ZnIHBhdGgge1xuICAgICAgICAgICAgICBzdHJva2U6ICNmZmZmZmY7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIC5wbGFubmluZ19fc3dpcGVyLWJ1dHRvbi1wcmV2IHtcbiAgICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSg5MGRlZyk7XG4gICAgICAgIH1cbiAgICAgICAgLnBsYW5uaW5nX19zd2lwZXItYnV0dG9uLW5leHQge1xuICAgICAgICAgIHRyYW5zZm9ybTogcm90YXRlKC05MGRlZyk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgICZfX2NlbnRlcl9yaWdodF9ib3R0b20ge1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gICAgICAgIGdhcDogMTJweDtcbiAgICAgICAgQGluY2x1ZGUgbW9iaWxlIHtcbiAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAgICAgIGdhcDogOHB4O1xuICAgICAgICB9XG4gICAgICAgIGEgYnV0dG9uIHtcbiAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgfVxuICAgICAgICBidXR0b24ge1xuICAgICAgICAgIEBpbmNsdWRlIGxpbmstYnRucyg1MCUsIDcwcHgsICRsaWdodC1ncmV5LCAxNHB4KTtcbiAgICAgICAgICBwYWRkaW5nLWxlZnQ6IDEwcHg7XG4gICAgICAgICAgcGFkZGluZy1yaWdodDogMTBweDtcbiAgICAgICAgICBib3JkZXI6IDFweCBzb2xpZCAkZGFyay12aW9sZXQ7XG4gICAgICAgICAgbGluZS1oZWlnaHQ6IDExMCU7XG4gICAgICAgICAgY29sb3I6ICRkYXJrLXZpb2xldDtcbiAgICAgICAgICBAaW5jbHVkZSB0YWJsZXQge1xuICAgICAgICAgICAgaGVpZ2h0OiA3MHB4O1xuICAgICAgICAgICAgZm9udC1zaXplOiAxNHB4O1xuICAgICAgICAgIH1cbiAgICAgICAgICBAaW5jbHVkZSBtb2JpbGUge1xuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICBoZWlnaHQ6IDQ1cHg7XG4gICAgICAgICAgICBmb250LXNpemU6IDEycHg7XG4gICAgICAgICAgfVxuICAgICAgICAgIEBpbmNsdWRlIGZyb20oMTAyNXB4KSB7XG4gICAgICAgICAgICB0cmFuc2l0aW9uOiAwLjI1cyBlYXNlLW91dDtcbiAgICAgICAgICAgICY6aG92ZXIge1xuICAgICAgICAgICAgICBib3JkZXI6IDFweCBzb2xpZCAkZnJlc2gtZ3JlZW47XG4gICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRmcmVzaC1ncmVlbjtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgYnV0dG9uOm50aC1jaGlsZCgyKSB7XG4gICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGRhcmstdmlvbGV0O1xuICAgICAgICAgIGNvbG9yOiAkd2hpdGUtY29sb3I7XG4gICAgICAgICAgQGluY2x1ZGUgZnJvbSgxMDI1cHgpIHtcbiAgICAgICAgICAgIHRyYW5zaXRpb246IDAuMjVzIGVhc2Utb3V0O1xuICAgICAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgICAgIGJvcmRlcjogMXB4IHNvbGlkICRkYXJrLXZpb2xldDtcbiAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGxpZ2h0LWdyZXk7XG4gICAgICAgICAgICAgIGNvbG9yOiAkZGFyay12aW9sZXQ7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8tLS0tLS0tLS0tLy9cblxuICAgIC5jYWxsLWJhY2stc2VjdGlvbiB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAxNTBweDtcbiAgICAgIEBpbmNsdWRlIG1vYmlsZSB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDEwMHB4O1xuICAgICAgfVxuICAgICAgJl9fd3JhcHBlciB7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgIHBhZGRpbmc6IDYwcHggNDBweDtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogNDBweDtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGZyZXNoLWdyZWVuO1xuICAgICAgICBAaW5jbHVkZSB0bygxMDI0cHgpIHtcbiAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAgICAgIGdhcDogNDBweDtcbiAgICAgICAgfVxuICAgICAgICBAaW5jbHVkZSBtb2JpbGUge1xuICAgICAgICAgIHBhZGRpbmc6IDYwcHggMjBweDtcbiAgICAgICAgICBib3JkZXItcmFkaXVzOiAyMHB4O1xuICAgICAgICB9XG4gICAgICB9XG4gICAgICAmX19sZWZ0IHtcbiAgICAgICAgd2lkdGg6IDUwJTtcbiAgICAgICAgcGFkZGluZy1yaWdodDogN3Z3O1xuICAgICAgICBAaW5jbHVkZSB0bygxMDI0cHgpIHtcbiAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICBwYWRkaW5nLXJpZ2h0OiAwO1xuICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgJl9fcmlnaHQge1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICB3aWR0aDogNTAlO1xuICAgICAgICBAaW5jbHVkZSB0bygxMDI0cHgpIHtcbiAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgfVxuICAgICAgICAuY2FsbC1ibG9ja19fZm9ybSB7XG4gICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICAgIGdhcDogMjBweDtcbiAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICBAaW5jbHVkZSBtb2JpbGUge1xuICAgICAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgLmZvcm0tZmllbGQge1xuICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgICBmbGV4LWdyb3c6IDE7XG4gICAgICAgICAgQGluY2x1ZGUgbW9iaWxlIHtcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgIH1cbiAgICAgICAgICBpbnB1dCB7XG4gICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgaGVpZ2h0OiA3MHB4O1xuICAgICAgICAgICAgcGFkZGluZzogMCA0MHB4O1xuICAgICAgICAgICAgYm9yZGVyOiBub25lO1xuICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogMTAwcHg7XG4gICAgICAgICAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGxpZ2h0LWdyZXk7XG4gICAgICAgICAgICBAaW5jbHVkZSBtb2JpbGUge1xuICAgICAgICAgICAgICBoZWlnaHQ6IDQ1cHg7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICAgIGlucHV0OmZvY3VzIHtcbiAgICAgICAgICAgIG91dGxpbmU6IG5vbmU7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIC5pbnB1dC1tZXNzYWdlIHtcbiAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgbGVmdDogNTAlO1xuICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNTAlKTtcbiAgICAgICAgICBib3R0b206IC0zMHB4O1xuICAgICAgICAgIHdpZHRoOiBtYXgtY29udGVudDtcbiAgICAgICAgICBmb250LXNpemU6IDEycHg7XG4gICAgICAgICAgY29sb3I6IHJlZDtcbiAgICAgICAgfVxuICAgICAgICAuY2FsbC1ibG9ja19fc3VibWl0IHtcbiAgICAgICAgICBAaW5jbHVkZSBsaW5rLWJ0bnMoMjcwcHgsIDcwcHgsICRkYXJrLXZpb2xldCwgMTRweCk7XG4gICAgICAgICAgcGFkZGluZy1sZWZ0OiAxMHB4O1xuICAgICAgICAgIHBhZGRpbmctcmlnaHQ6IDEwcHg7XG4gICAgICAgICAgYm9yZGVyOiAxcHggc29saWQgJGRhcmstdmlvbGV0O1xuICAgICAgICAgIGxpbmUtaGVpZ2h0OiAxMTAlO1xuICAgICAgICAgIGNvbG9yOiAkd2hpdGUtY29sb3I7XG4gICAgICAgICAgQGluY2x1ZGUgdGFibGV0IHtcbiAgICAgICAgICAgIGhlaWdodDogNzBweDtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMTRweDtcbiAgICAgICAgICB9XG4gICAgICAgICAgQGluY2x1ZGUgbW9iaWxlIHtcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgaGVpZ2h0OiA0NXB4O1xuICAgICAgICAgICAgZm9udC1zaXplOiAxMnB4O1xuICAgICAgICAgIH1cbiAgICAgICAgICBAaW5jbHVkZSBmcm9tKDEwMjVweCkge1xuICAgICAgICAgICAgdHJhbnNpdGlvbjogMC4yNXMgZWFzZS1vdXQ7XG4gICAgICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICAgICAgYm9yZGVyOiAxcHggc29saWQgJGRhcmstdmlvbGV0O1xuICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkbGlnaHQtZ3JleTtcbiAgICAgICAgICAgICAgY29sb3I6ICRkYXJrLXZpb2xldDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICAvLy0tLS0tLS0tLS0vL1xuXG4gICAgLmlmcmFtZSB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAxNTBweDtcbiAgICAgIEBpbmNsdWRlIG1vYmlsZSB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDEwMHB4O1xuICAgICAgfVxuICAgICAgJl9fd3JhcHBlciB7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogNDBweDtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzJhMzQzYjtcbiAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICAgICAgQGluY2x1ZGUgbW9iaWxlIHtcbiAgICAgICAgICBib3JkZXItcmFkaXVzOiAyMHB4O1xuICAgICAgICB9XG4gICAgICB9XG4gICAgICAjbG9hZElmcmFtZUJ1dHRvbiB7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgei1pbmRleDogMjtcbiAgICAgICAgdG9wOiA1MCU7XG4gICAgICAgIGxlZnQ6IDUwJTtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgLTUwJSk7XG4gICAgICAgIEBpbmNsdWRlIGxpbmstYnRucyhtYXgtY29udGVudCwgNzBweCwgJGxpZ2h0LWdyZXksIDE0cHgpO1xuICAgICAgICBwYWRkaW5nLWxlZnQ6IDUwcHg7XG4gICAgICAgIHBhZGRpbmctcmlnaHQ6IDUwcHg7XG4gICAgICAgIGJvcmRlcjogMXB4IHNvbGlkICRkYXJrLXZpb2xldDtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDExMCU7XG4gICAgICAgIGNvbG9yOiAkZGFyay12aW9sZXQ7XG4gICAgICAgIEBpbmNsdWRlIHRhYmxldCB7XG4gICAgICAgICAgaGVpZ2h0OiA3MHB4O1xuICAgICAgICAgIGZvbnQtc2l6ZTogMTRweDtcbiAgICAgICAgfVxuICAgICAgICBAaW5jbHVkZSBtb2JpbGUge1xuICAgICAgICAgIGhlaWdodDogNDVweDtcbiAgICAgICAgICBmb250LXNpemU6IDEycHg7XG4gICAgICAgIH1cbiAgICAgICAgQGluY2x1ZGUgZnJvbSgxMDI1cHgpIHtcbiAgICAgICAgICB0cmFuc2l0aW9uOiAwLjI1cyBlYXNlLW91dDtcbiAgICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICAgIGJvcmRlcjogMXB4IHNvbGlkICRmcmVzaC1ncmVlbjtcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRmcmVzaC1ncmVlbjtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgICZfX2NvbnRhaW5lciB7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIGhlaWdodDogODB2aDtcbiAgICAgICAgbWluLWhlaWdodDogNTB2dztcbiAgICAgIH1cbiAgICAgICZfX2NvbnRhaW5lciBpZnJhbWUge1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgICBib3JkZXI6IG5vbmU7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICB9XG5cbiAgICAgICZfX2NvbnRhaW5lciBpbWcge1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHotaW5kZXg6IDA7XG4gICAgICAgIHRvcDogMDtcbiAgICAgICAgbGVmdDogMDtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogOHB4O1xuICAgICAgICBvYmplY3QtZml0OiBjb3ZlcjtcbiAgICAgIH1cbiAgICAgICZfX2NvbnRhaW5lci5hY3RpdmUtaWZyYW1lIGltZyB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICB9XG4gICAgICAmX19jb250YWluZXI6OmFmdGVyIHtcbiAgICAgICAgY29udGVudDogJyc7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgei1pbmRleDogMTtcbiAgICAgICAgdG9wOiAwO1xuICAgICAgICBsZWZ0OiAwO1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgwLCAwLCAwLCAwLjUpO1xuICAgICAgfVxuICAgICAgJl9fY29udGFpbmVyLmFjdGl2ZS1pZnJhbWU6OmFmdGVyIHtcbiAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAvLy0tLS0tLS0tLS0vL1xuXG4gICAgLmNvbnN0cnVjdGlvbl9uZXdzIHtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgIG1hcmdpbi1ib3R0b206IDE1MHB4O1xuICAgICAgQGluY2x1ZGUgZnJvbSgxMDI0cHgpIHtcbiAgICAgICAgcGFkZGluZzogMDtcbiAgICAgIH1cbiAgICAgIEBpbmNsdWRlIG1vYmlsZSB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDEwMHB4O1xuICAgICAgfVxuICAgICAgJl9fdG9wIHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1hcm91bmQ7XG4gICAgICAgIGdhcDogOHB4O1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAyMHB4O1xuICAgICAgICBAaW5jbHVkZSBmcm9tKDEwMjVweCkge1xuICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgIH1cbiAgICAgICAgYnV0dG9uLmFjdGl2ZSB7XG4gICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGRhcmstdmlvbGV0O1xuICAgICAgICAgIGNvbG9yOiAkbGlnaHQtZ3JleTtcbiAgICAgICAgfVxuICAgICAgICBidXR0b24ge1xuICAgICAgICAgIEBpbmNsdWRlIGxpbmstYnRucygzNTVweCwgNzBweCwgJGxpZ2h0LWdyZXksIDE0cHgpO1xuICAgICAgICAgIGJvcmRlcjogMXB4IHNvbGlkICRkYXJrLXZpb2xldDtcbiAgICAgICAgICBsaW5lLWhlaWdodDogMTEwJTtcbiAgICAgICAgICBjb2xvcjogJGRhcmstdmlvbGV0O1xuICAgICAgICAgIEBpbmNsdWRlIHRhYmxldCB7XG4gICAgICAgICAgICBoZWlnaHQ6IDcwcHg7XG4gICAgICAgICAgICBmb250LXNpemU6IDE0cHg7XG4gICAgICAgICAgfVxuICAgICAgICAgIEBpbmNsdWRlIG1vYmlsZSB7XG4gICAgICAgICAgICBoZWlnaHQ6IDQ1cHg7XG4gICAgICAgICAgICBmb250LXNpemU6IDEycHg7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgICAmX193cmFwcGVyLmFjdGl2ZSB7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgb3BhY2l0eTogMTtcbiAgICAgICAgdmlzaWJpbGl0eTogdmlzaWJsZTtcbiAgICAgIH1cbiAgICAgICZfX3dyYXBwZXIge1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHRvcDogMDtcbiAgICAgICAgbGVmdDogMDtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIG9wYWNpdHk6IDA7XG4gICAgICAgIHZpc2liaWxpdHk6IGhpZGRlbjtcbiAgICAgICAgdHJhbnNpdGlvbjogYWxsIDAuNXMgZWFzZS1vdXQ7XG4gICAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgICAgIC5zd2lwZXIge1xuICAgICAgICAgIG1hcmdpbi1ib3R0b206IDIwcHg7XG4gICAgICAgICAgQGluY2x1ZGUgZnJvbSgxMDI1cHgpIHtcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDQwcHg7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIC5zd2lwZXItc2xpZGUge1xuICAgICAgICAgIEBpbmNsdWRlIGZyb20oMTAyNXB4KSB7XG4gICAgICAgICAgICB3aWR0aDogNjI0cHggIWltcG9ydGFudDtcbiAgICAgICAgICAgIGN1cnNvcjogZ3JhYjtcbiAgICAgICAgICB9XG5cbiAgICAgICAgICAucHJvZ3Jlc3MtY2FyZCB7XG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgIC5uZXdzX193cmFwcGVyIHtcbiAgICAgICAgQGluY2x1ZGUgZnJvbSgxMDI0cHgpIHtcbiAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgb3BhY2l0eTogMDtcbiAgICAgICAgICB2aXNpYmlsaXR5OiBoaWRkZW47XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgIC5jb25zdHJ1Y3Rpb25fX3dyYXBwZXIge1xuICAgICAgICBAaW5jbHVkZSBmcm9tKDEwMjRweCkge1xuICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgICBvcGFjaXR5OiAxO1xuICAgICAgICAgIHZpc2liaWxpdHk6IHZpc2libGU7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgICZfX3RpdGxlIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMjBweDtcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICBAaW5jbHVkZSBmcm9tKDEwMjVweCkge1xuICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgICZfX3NsaWRlcl9uYXYge1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgICAgZ2FwOiAyMHB4O1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAyMHB4O1xuICAgICAgICBAaW5jbHVkZSBmcm9tKDEwMjVweCkge1xuICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgIH1cbiAgICAgICAgQGluY2x1ZGUgbW9iaWxlIHtcbiAgICAgICAgICBnYXA6IDhweDtcbiAgICAgICAgfVxuICAgICAgICBzdmcge1xuICAgICAgICAgIHdpZHRoOiA3MHB4O1xuICAgICAgICAgIGhlaWdodDogNzBweDtcbiAgICAgICAgICBAaW5jbHVkZSBtb2JpbGUge1xuICAgICAgICAgICAgd2lkdGg6IDQ0cHg7XG4gICAgICAgICAgICBoZWlnaHQ6IDQ0cHg7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIC5jb25zdHJ1Y3Rpb25fbmV3c19fc3dpcGVyLWJ1dHRvbi1wcmV2IHtcbiAgICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSg5MGRlZyk7XG4gICAgICAgIH1cbiAgICAgICAgLmNvbnN0cnVjdGlvbl9uZXdzX19zd2lwZXItYnV0dG9uLW5leHQge1xuICAgICAgICAgIHRyYW5zZm9ybTogcm90YXRlKC05MGRlZyk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgIC5jb25zdHJ1Y3Rpb25fbmV3c19fYnV0dG9uIGEge1xuICAgICAgICBAaW5jbHVkZSBsaW5rLWJ0bnMobWF4LWNvbnRlbnQsIDcwcHgsICRsaWdodC1ncmV5LCAxNHB4KTtcbiAgICAgICAgbWFyZ2luOiAwIGF1dG87XG4gICAgICAgIHBhZGRpbmctbGVmdDogNTBweDtcbiAgICAgICAgcGFkZGluZy1yaWdodDogNTBweDtcbiAgICAgICAgYm9yZGVyOiAxcHggc29saWQgJGRhcmstdmlvbGV0O1xuICAgICAgICBsaW5lLWhlaWdodDogMTEwJTtcbiAgICAgICAgY29sb3I6ICRkYXJrLXZpb2xldDtcbiAgICAgICAgQGluY2x1ZGUgdGFibGV0IHtcbiAgICAgICAgICBoZWlnaHQ6IDcwcHg7XG4gICAgICAgICAgZm9udC1zaXplOiAxNHB4O1xuICAgICAgICB9XG4gICAgICAgIEBpbmNsdWRlIG1vYmlsZSB7XG4gICAgICAgICAgaGVpZ2h0OiA0NXB4O1xuICAgICAgICAgIGZvbnQtc2l6ZTogMTJweDtcbiAgICAgICAgfVxuICAgICAgICBAaW5jbHVkZSBmcm9tKDEwMjVweCkge1xuICAgICAgICAgIHRyYW5zaXRpb246IDAuMjVzIGVhc2Utb3V0O1xuICAgICAgICAgICY6aG92ZXIge1xuICAgICAgICAgICAgYm9yZGVyOiAxcHggc29saWQgJGZyZXNoLWdyZWVuO1xuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGZyZXNoLWdyZWVuO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgLnRpY2tlci13cmFwcGVyIHtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICB0b3A6IC02NXB4O1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgY29sb3I6ICRzdG9ja3MtY29sb3I7XG4gICAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgICAgIGhlaWdodDogMTMwcHg7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgIHotaW5kZXg6IDA7XG4gICAgICAgIGZvbnQtZmFtaWx5OiAnQ29ybW9yYW50IEdhcmFtb25kJztcbiAgICAgICAgZm9udC1zaXplOiAxMDBweDtcbiAgICAgICAgZm9udC13ZWlnaHQ6IDMwMDtcbiAgICAgICAgbGV0dGVyLXNwYWNpbmc6IC0xcHg7XG4gICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgICAgIGxldHRlci1zcGFjaW5nOiBub3JtYWw7XG4gICAgICAgIEBpbmNsdWRlIHRvKDEwMjRweCkge1xuICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgIH1cbiAgICAgICAgc3BhbiB7XG4gICAgICAgICAgbWFyZ2luOiAwIDYwcHg7XG4gICAgICAgICAgb3BhY2l0eTogMC4yO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIC50aWNrZXIge1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICBnYXA6IDQwcHg7XG4gICAgICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gICAgICAgIGFuaW1hdGlvbjogc2Nyb2xsLWxlZnQgNDBzIGxpbmVhciBpbmZpbml0ZTtcbiAgICAgIH1cblxuICAgICAgQGtleWZyYW1lcyBzY3JvbGwtbGVmdCB7XG4gICAgICAgIDAlIHtcbiAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMCk7XG4gICAgICAgIH1cbiAgICAgICAgMTAwJSB7XG4gICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC01MCUpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gLmFkdmFudGFnZXMtc2VjdGlvbiB7XG4gICAgLy8gICBwYWRkaW5nLXRvcDogMTUwcHg7XG4gICAgLy8gICBkaXNwbGF5OiBmbGV4O1xuICAgIC8vICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICAgIC8vICAgQGluY2x1ZGUgdGFibGV0IHtcbiAgICAvLyAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAvLyAgICAgcGFkZGluZy10b3A6IDEyMHB4O1xuICAgIC8vICAgfVxuICAgIC8vICAgQGluY2x1ZGUgbW9iaWxlIHtcbiAgICAvLyAgICAgcGFkZGluZy10b3A6IDYwcHg7XG4gICAgLy8gICAgIHBhZGRpbmctdG9wOiAwO1xuICAgIC8vICAgfVxuXG4gICAgLy8gICAuZmlyc3QtY29sdW1uIHtcbiAgICAvLyAgICAgQGluY2x1ZGUgYmFzZUZsZXhTdHlsZSgkZmxleC1kaXJlY3Rpb246IGNvbHVtbiwgJGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2Vlbik7XG4gICAgLy8gICAgIHdpZHRoOiAzMiU7XG4gICAgLy8gICAgIEBpbmNsdWRlIHRhYmxldExhcmdlIHtcbiAgICAvLyAgICAgICB3aWR0aDogMzQlO1xuICAgIC8vICAgICB9XG4gICAgLy8gICAgIEBpbmNsdWRlIHRhYmxldCB7XG4gICAgLy8gICAgICAgd2lkdGg6IDEwMCU7XG4gICAgLy8gICAgIH1cblxuICAgIC8vICAgICAmX190ZXh0LXdyYXBwZXIge1xuICAgIC8vICAgICAgIHdpZHRoOiAxMDAlO1xuICAgIC8vICAgICAgIEBpbmNsdWRlIHRhYmxldCB7XG4gICAgLy8gICAgICAgICBtYXJnaW4tYm90dG9tOiA0MHB4O1xuICAgIC8vICAgICAgIH1cbiAgICAvLyAgICAgICBAaW5jbHVkZSBtb2JpbGUge1xuICAgIC8vICAgICAgICAgbWFyZ2luLWJvdHRvbTogMzBweDtcbiAgICAvLyAgICAgICB9XG4gICAgLy8gICAgIH1cblxuICAgIC8vICAgICAmX19oZWFkZXIge1xuICAgIC8vICAgICAgIGxldHRlci1zcGFjaW5nOiAtMC4wMWVtO1xuICAgIC8vICAgICAgIGNvbG9yOiAkaGVhZGVycy1jb2xvci10d287XG4gICAgLy8gICAgICAgLy8gbWFyZ2luLWJvdHRvbTogMzBweDtcbiAgICAvLyAgICAgICBtYXJnaW4tYm90dG9tOiB2YXIoLS1oZWFkZXJzLW1hcmdpbi1ib3R0b20pO1xuICAgIC8vICAgICB9XG5cbiAgICAvLyAgICAgJl9fdGV4dCB7XG4gICAgLy8gICAgICAgd2lkdGg6IDY2JTtcbiAgICAvLyAgICAgICBmb250LXdlaWdodDogNTAwO1xuICAgIC8vICAgICAgIC8vIGZvbnQtc2l6ZTogMTZweDtcbiAgICAvLyAgICAgICAvLyBsaW5lLWhlaWdodDogMTcwJTtcbiAgICAvLyAgICAgICAvLyBjb2xvcjogJHRleHQtY29sb3I7XG4gICAgLy8gICAgICAgQGluY2x1ZGUgbW9iaWxlIHtcbiAgICAvLyAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgIC8vICAgICAgIH1cbiAgICAvLyAgICAgfVxuXG4gICAgLy8gICAgICZfX2J0bi13cmFwcGVyIHtcbiAgICAvLyAgICAgICBAaW5jbHVkZSBiYXNlRmxleFN0eWxlKGNlbnRlcik7XG4gICAgLy8gICAgICAgbWFyZ2luLWJvdHRvbTogNTBweDtcblxuICAgIC8vICAgICAgIEBpbmNsdWRlIHRhYmxldCB7XG4gICAgLy8gICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgIC8vICAgICAgIH1cbiAgICAvLyAgICAgfVxuXG4gICAgLy8gICAgICZfX2J0biB7XG4gICAgLy8gICAgICAgLy8gQGluY2x1ZGUgc2xpZGVCdG5zKDcwcHgsIDcwcHgsIHJnYmEoNzQsIDU4LCA5NCwgMC4xNSkpO1xuICAgIC8vICAgICAgIEBpbmNsdWRlIHNsaWRlQnRucyhyZ2JhKDc0LCA1OCwgOTQsIDAuMTUpKTtcbiAgICAvLyAgICAgICBAaW5jbHVkZSB3aWR0aC1oZWlndGgoNzBweCk7XG5cbiAgICAvLyAgICAgICAmLWltZyB7XG4gICAgLy8gICAgICAgICAvLyBAaW5jbHVkZSBzZXRJbWdXaWR0aCg2cHgpO1xuICAgIC8vICAgICAgICAgQGluY2x1ZGUgd2lkdGgtaGVpZ3RoKDZweCwgMTJweCk7XG4gICAgLy8gICAgICAgfVxuICAgIC8vICAgICAgIEBpbmNsdWRlIGZyb20oMTAyNXB4KSB7XG4gICAgLy8gICAgICAgICB0cmFuc2l0aW9uOiAwLjI1cyBlYXNlLW91dDtcbiAgICAvLyAgICAgICAgICY6aG92ZXIge1xuICAgIC8vICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkbGlnaHQtbGF2YW5kZXI7XG4gICAgLy8gICAgICAgICAgIGJvcmRlci1jb2xvcjogJGxpZ2h0LWxhdmFuZGVyO1xuICAgIC8vICAgICAgICAgfVxuICAgIC8vICAgICAgIH1cbiAgICAvLyAgICAgfVxuXG4gICAgLy8gICAgICZfX3NsaWRlLW51bSB7XG4gICAgLy8gICAgICAgQGluY2x1ZGUgc2V0Rm9udFN0eWxlKCdNb250JywgMjJweCwgNTAwLCAkZGFyay1ncmV5LCAxMDAlKTtcbiAgICAvLyAgICAgICBtYXJnaW46IDAgNDBweDtcbiAgICAvLyAgICAgfVxuICAgIC8vICAgfVxuXG4gICAgLy8gICAuc2Vjb25kLWNvbHVtbiB7XG4gICAgLy8gICAgIGhlaWdodDogNjcwcHg7XG4gICAgLy8gICAgIHdpZHRoOiA1NiU7XG4gICAgLy8gICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgLy8gICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgLy8gICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgICAvLyAgICAgQGluY2x1ZGUgdGFibGV0TGFyZ2Uge1xuICAgIC8vICAgICAgIHdpZHRoOiA1NyU7XG4gICAgLy8gICAgICAgaGVpZ2h0OiA1NTBweDtcbiAgICAvLyAgICAgfVxuXG4gICAgLy8gICAgIEBpbmNsdWRlIHRhYmxldCB7XG4gICAgLy8gICAgICAgd2lkdGg6IDEwMCU7XG4gICAgLy8gICAgICAgaGVpZ2h0OiBhdXRvO1xuICAgIC8vICAgICB9XG5cbiAgICAvLyAgICAgJl9faW1nIHtcbiAgICAvLyAgICAgICAvLyBAaW5jbHVkZSBzZXRJbWdXaWR0aCg1MjBweCk7XG4gICAgLy8gICAgICAgQGluY2x1ZGUgc2V0SW1nV2lkdGgoMTAwJSk7XG4gICAgLy8gICAgICAgaGVpZ2h0OiA2MjVweDtcbiAgICAvLyAgICAgICBAaW5jbHVkZSB0YWJsZXRMYXJnZSB7XG4gICAgLy8gICAgICAgICBoZWlnaHQ6IDUwMHB4O1xuICAgIC8vICAgICAgIH1cbiAgICAvLyAgICAgICBAaW5jbHVkZSB0YWJsZXQge1xuICAgIC8vICAgICAgICAgaGVpZ2h0OiA0MDBweDtcbiAgICAvLyAgICAgICAgIGhlaWdodDogMTIwdnc7XG4gICAgLy8gICAgICAgICB0cmFuc2Zvcm06IG5vbmUgIWltcG9ydGFudDtcbiAgICAvLyAgICAgICB9XG4gICAgLy8gICAgICAgQGluY2x1ZGUgbW9iaWxlIHtcbiAgICAvLyAgICAgICAgIGhlaWdodDogYXV0bztcbiAgICAvLyAgICAgICB9XG4gICAgLy8gICAgIH1cblxuICAgIC8vICAgICAmX19uYXYtd3JhcHBlciB7XG4gICAgLy8gICAgICAgd2lkdGg6IDQ5JTtcbiAgICAvLyAgICAgICBoZWlnaHQ6IDJweDtcbiAgICAvLyAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDc0LCA1OCwgOTQsIDAuMTUpO1xuICAgIC8vICAgICAgIG1hcmdpbi10b3A6IDQwcHg7XG4gICAgLy8gICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIC8vICAgICAgIEBpbmNsdWRlIHRhYmxldCB7XG4gICAgLy8gICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgIC8vICAgICAgIH1cbiAgICAvLyAgICAgICAuc3dpcGVyLXBhZ2luYXRpb24tcHJvZ3Jlc3NiYXItZmlsbCB7XG4gICAgLy8gICAgICAgICBiYWNrZ3JvdW5kOiAjMDAwMDAwICFpbXBvcnRhbnQ7XG4gICAgLy8gICAgICAgfVxuICAgIC8vICAgICB9XG5cbiAgICAvLyAgICAgJl9fbmF2LWxpbmUge1xuICAgIC8vICAgICAgIHdpZHRoOiAxNDJweDtcbiAgICAvLyAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgLy8gICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIC8vICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRkYXJrLXZpb2xldDtcbiAgICAvLyAgICAgfVxuICAgIC8vICAgfVxuXG4gICAgLy8gICAudGhpcmQtY29sdW1uIHtcbiAgICAvLyAgICAgZ3JpZC1yb3ctc3RhcnQ6IDI7XG4gICAgLy8gICAgIGdyaWQtY29sdW1uLXN0YXJ0OiAzO1xuICAgIC8vICAgICBkaXNwbGF5OiBub25lO1xuICAgIC8vICAgICBAaW5jbHVkZSB0YWJsZXQge1xuICAgIC8vICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIC8vICAgICAgIHBhZGRpbmctdG9wOiA4MHB4O1xuICAgIC8vICAgICB9XG5cbiAgICAvLyAgICAgQGluY2x1ZGUgbW9iaWxlIHtcbiAgICAvLyAgICAgICBwYWRkaW5nLXRvcDogNjBweDtcbiAgICAvLyAgICAgfVxuXG4gICAgLy8gICAgICZfX3RleHQtd3JhcHBlciB7XG4gICAgLy8gICAgICAgQGluY2x1ZGUgdGFibGV0IHtcbiAgICAvLyAgICAgICAgIG1hcmdpbi1ib3R0b206IDQwcHg7XG4gICAgLy8gICAgICAgfVxuICAgIC8vICAgICAgIEBpbmNsdWRlIG1vYmlsZSB7XG4gICAgLy8gICAgICAgICBtYXJnaW4tYm90dG9tOiAzMHB4O1xuICAgIC8vICAgICAgIH1cbiAgICAvLyAgICAgfVxuICAgIC8vICAgICAmX19pbWcge1xuICAgIC8vICAgICAgIEBpbmNsdWRlIHRhYmxldCB7XG4gICAgLy8gICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAvLyAgICAgICAgIHRyYW5zZm9ybTogbm9uZSAhaW1wb3J0YW50O1xuICAgIC8vICAgICAgIH1cbiAgICAvLyAgICAgfVxuXG4gICAgLy8gICAgICZfX2hlYWRlciB7XG4gICAgLy8gICAgICAgbGV0dGVyLXNwYWNpbmc6IC0wLjAxZW07XG4gICAgLy8gICAgICAgY29sb3I6ICRoZWFkZXJzLWNvbG9yLXR3bztcbiAgICAvLyAgICAgICAvLyBtYXJnaW4tYm90dG9tOiAzMHB4O1xuICAgIC8vICAgICAgIG1hcmdpbi1ib3R0b206IHZhcigtLWhlYWRlcnMtbWFyZ2luLWJvdHRvbSk7XG4gICAgLy8gICAgIH1cblxuICAgIC8vICAgICAmX190ZXh0IHtcbiAgICAvLyAgICAgICB3aWR0aDogNjYlO1xuICAgIC8vICAgICAgIGZvbnQtd2VpZ2h0OiA1MDA7XG4gICAgLy8gICAgICAgLy8gZm9udC1zaXplOiAxNnB4O1xuICAgIC8vICAgICAgIC8vIGxpbmUtaGVpZ2h0OiAxNzAlO1xuICAgIC8vICAgICAgIC8vIGNvbG9yOiAkdGV4dC1jb2xvcjtcblxuICAgIC8vICAgICAgIEBpbmNsdWRlIG1vYmlsZSB7XG4gICAgLy8gICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAvLyAgICAgICB9XG4gICAgLy8gICAgIH1cblxuICAgIC8vICAgICAvLyAmX19pbWcge1xuICAgIC8vICAgICAvLyAgIEBpbmNsdWRlIHNldEltZ1dpZHRoKDUyMHB4KTtcbiAgICAvLyAgICAgLy8gfVxuICAgIC8vICAgfVxuICAgIC8vIH1cblxuICAgIC8vIC5zbGlkZXItc2VjdGlvbiB7XG4gICAgLy8gICAvLyBwYWRkaW5nLXRvcDogMTU1cHg7XG4gICAgLy8gICAvLyBwYWRkaW5nLWJvdHRvbTogMTUwcHg7XG4gICAgLy8gICBwYWRkaW5nOiAxNTVweCAwIDE1MHB4O1xuICAgIC8vICAgbWFyZ2luOiAwIDEyMHB4O1xuXG4gICAgLy8gICBAaW5jbHVkZSB0YWJsZXQge1xuICAgIC8vICAgICBwYWRkaW5nOiA4MHB4IDUwcHg7XG4gICAgLy8gICAgIG1hcmdpbjogMDtcbiAgICAvLyAgIH1cblxuICAgIC8vICAgQGluY2x1ZGUgbW9iaWxlIHtcbiAgICAvLyAgICAgcGFkZGluZzogNjBweCAxNXB4O1xuICAgIC8vICAgfVxuXG4gICAgLy8gICAmX19oZWFkZXIge1xuICAgIC8vICAgICBsZXR0ZXItc3BhY2luZzogLTAuMDFlbTtcbiAgICAvLyAgICAgY29sb3I6ICRoZWFkZXJzLWNvbG9yLXR3bztcbiAgICAvLyAgICAgbWFyZ2luLWJvdHRvbTogMTA0cHg7XG4gICAgLy8gICAgIHdpZHRoOiA3MCU7XG4gICAgLy8gICAgIEBpbmNsdWRlIHRhYmxldCB7XG4gICAgLy8gICAgICAgd2lkdGg6IDEwMCU7XG4gICAgLy8gICAgICAgbWFyZ2luLWJvdHRvbTogNDBweDtcbiAgICAvLyAgICAgfVxuICAgIC8vICAgICBAaW5jbHVkZSBtb2JpbGUge1xuICAgIC8vICAgICAgIG1hcmdpbi1ib3R0b206IDMwcHg7XG4gICAgLy8gICAgIH1cbiAgICAvLyAgIH1cblxuICAgIC8vICAgJl9fYnRuLXdyYXBwZXIge1xuICAgIC8vICAgICBkaXNwbGF5OiBub25lO1xuICAgIC8vICAgICBAaW5jbHVkZSB0YWJsZXQge1xuICAgIC8vICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgLy8gICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAvLyAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAvLyAgICAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICAgIC8vICAgICAgIG1hcmdpbi10b3A6IDQwcHg7XG4gICAgLy8gICAgIH1cbiAgICAvLyAgICAgQGluY2x1ZGUgbW9iaWxlIHtcbiAgICAvLyAgICAgICBtYXJnaW4tdG9wOiAyMHB4O1xuICAgIC8vICAgICB9XG4gICAgLy8gICB9XG4gICAgLy8gICAmX19idG4ge1xuICAgIC8vICAgICAvLyBAaW5jbHVkZSBzbGlkZUJ0bnMoNzBweCwgNzBweCwgcmdiYSg3NCwgNTgsIDk0LCAwLjE1KSk7XG4gICAgLy8gICAgIEBpbmNsdWRlIHNsaWRlQnRucyhyZ2JhKDc0LCA1OCwgOTQsIDAuMTUpKTtcbiAgICAvLyAgICAgQGluY2x1ZGUgd2lkdGgtaGVpZ3RoKDcwcHgpO1xuXG4gICAgLy8gICAgIEBpbmNsdWRlIG1vYmlsZSB7XG4gICAgLy8gICAgICAgd2lkdGg6IDQ1cHg7XG4gICAgLy8gICAgICAgaGVpZ2h0OiA0NXB4O1xuICAgIC8vICAgICB9XG5cbiAgICAvLyAgICAgJi1pbWcge1xuICAgIC8vICAgICAgIC8vIEBpbmNsdWRlIHNldEltZ1dpZHRoKDZweCk7XG4gICAgLy8gICAgICAgQGluY2x1ZGUgd2lkdGgtaGVpZ3RoKDZweCwgMTJweCk7XG4gICAgLy8gICAgIH1cbiAgICAvLyAgIH1cblxuICAgIC8vICAgJl9fc2xpZGUtbnVtIHtcbiAgICAvLyAgICAgQGluY2x1ZGUgc2V0Rm9udFN0eWxlKCdNb250JywgMjJweCwgNTAwLCAkZGFyay1ncmV5LCAxMDAlKTtcbiAgICAvLyAgICAgbWFyZ2luOiAwIDQwcHg7XG4gICAgLy8gICB9XG5cbiAgICAvLyAgICZfX2NvbnRyb2xsZXIge1xuICAgIC8vICAgICAvLyBAaW5jbHVkZSB3aWR0aC1oZWlndGgoMTEwcHgpO1xuICAgIC8vICAgICBAaW5jbHVkZSBiYXNlRmxleFN0eWxlKGNlbnRlciwgY2VudGVyKTtcbiAgICAvLyAgICAgYm9yZGVyLXJhZGl1czogNTAlO1xuICAgIC8vICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkZGFyay12aW9sZXQ7XG4gICAgLy8gICAgIC8vIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAvLyAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIC8vICAgICB0b3A6IDA7XG4gICAgLy8gICAgIGxlZnQ6IDA7XG4gICAgLy8gICAgIG9wYWNpdHk6IDE7XG4gICAgLy8gICAgIC8vIHRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIC01MCUpO1xuICAgIC8vICAgICAvLyB6LWluZGV4OiAyMDtcbiAgICAvLyAgICAgLy8gQGluY2x1ZGUgd2lkdGgtaGVpZ3RoKDApO1xuICAgIC8vICAgICAvLyBAaW5jbHVkZSBtdWx0aXBsZS10cmFuc2l0aW9ucygwLjVzLCBlYXNlLWluLW91dCwgb3BhY2l0eSwgd2lkdGgsIGhlaWdodCk7XG4gICAgLy8gICAgIEBpbmNsdWRlIHdpZHRoLWhlaWd0aCgxMTBweCk7XG4gICAgLy8gICAgIEBpbmNsdWRlIG11bHRpcGxlLXRyYW5zaXRpb25zKDAuNXMsIGVhc2Utb3V0LCB0cmFuc2Zvcm0sIG9wYWNpdHkpO1xuXG4gICAgLy8gICAgIHRyYW5zZm9ybTogc2NhbGUoMCk7XG4gICAgLy8gICAgIHRyYW5zZm9ybS1vcmlnaW46IGNlbnRlcjtcbiAgICAvLyAgICAgLy8gdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgLTUwJSk7XG5cbiAgICAvLyAgICAgJi5hY3RpdmUge1xuICAgIC8vICAgICAgIHRyYW5zZm9ybTogc2NhbGUoMSk7XG4gICAgLy8gICAgICAgb3BhY2l0eTogMTtcbiAgICAvLyAgICAgfVxuXG4gICAgLy8gICAgICYubGVmdC1zaWRlIHtcbiAgICAvLyAgICAgICAuc2xpZGVyLXNlY3Rpb25fX2NvbnRyb2xsZXItYXJyb3cge1xuICAgIC8vICAgICAgICAgb3JkZXI6IC0xO1xuICAgIC8vICAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoMTgwZGVnKTtcbiAgICAvLyAgICAgICB9XG4gICAgLy8gICAgIH1cblxuICAgIC8vICAgICAmLXRleHQge1xuICAgIC8vICAgICAgIEBpbmNsdWRlIHNldEZvbnRTdHlsZSgnTW9udCcsIDIycHgsIDQwMCwgJGxpZ2h0LWdyZXksIDEwMCUpO1xuICAgIC8vICAgICAgIG1pbi13aWR0aDogNTVweDtcbiAgICAvLyAgICAgfVxuXG4gICAgLy8gICAgICYtYXJyb3cge1xuICAgIC8vICAgICAgIC8vIEBpbmNsdWRlIHdpZHRoLWhlaWd0aCg3cHgsIDE0cHgpO1xuICAgIC8vICAgICAgIEBpbmNsdWRlIHNldEltZ1dpZHRoKDEwcHgpO1xuICAgIC8vICAgICAgIG9yZGVyOiAxO1xuICAgIC8vICAgICAgIHRyYW5zaXRpb246IDAuNnMgZWFzZS1pbi1vdXQgdHJhbnNmb3JtO1xuICAgIC8vICAgICAgIC8vIHRyYW5zZm9ybTogcm90YXRlKDApO1xuICAgIC8vICAgICB9XG4gICAgLy8gICB9XG5cbiAgICAvLyAgICZfX3NsaWRlci13cmFwcGVyIHtcbiAgICAvLyAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIC8vICAgICAvLyBtYXJnaW46IDAgMTIwcHg7XG4gICAgLy8gICAgIC8vIG92ZXJmbG93LXg6IGhpZGRlbjtcbiAgICAvLyAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICAvLyAgICAgLy8gY3Vyc29yOiBub25lO1xuICAgIC8vICAgfVxuXG4gICAgLy8gICAmX19zbGlkZSB7XG4gICAgLy8gICAgIC8vIGhlaWdodDogNzA4cHg7XG4gICAgLy8gICAgIEBpbmNsdWRlIHNldEltZ0hlaWdodCg3MDhweCk7XG4gICAgLy8gICAgIG9iamVjdC1maXQ6IGNvbnRhaW47XG4gICAgLy8gICAgIEBpbmNsdWRlIHRhYmxldCB7XG4gICAgLy8gICAgICAgaGVpZ2h0OiAzNTFweDtcbiAgICAvLyAgICAgfVxuXG4gICAgLy8gICAgICY6bm90KDpmaXJzdC1jaGlsZCkge1xuICAgIC8vICAgICAgIHBhZGRpbmctbGVmdDogNjBweDtcbiAgICAvLyAgICAgICBAaW5jbHVkZSBtb2JpbGUge1xuICAgIC8vICAgICAgICAgcGFkZGluZy1sZWZ0OiAwO1xuICAgIC8vICAgICAgIH1cbiAgICAvLyAgICAgfVxuICAgIC8vICAgfVxuICAgIC8vIH1cblxuICAgIC8vIC5jYWxtLXBsYWNlIHtcbiAgICAvLyAgIHBhZGRpbmc6IDE1MHB4IDA7XG4gICAgLy8gICAvLyBwYWRkaW5nOiAwO1xuICAgIC8vICAgYmFja2dyb3VuZC1jb2xvcjogJGRhcmstdmlvbGV0O1xuICAgIC8vICAgLy8gZGlzcGxheTogZ3JpZDtcbiAgICAvLyAgIC8vIGdyaWQtdGVtcGxhdGU6IHJlcGVhdCgxMiwgMWZyKSAvIHJlcGVhdCgyNCwgMWZyKTtcbiAgICAvLyAgIC8vIGdyaWQtdGVtcGxhdGUtYXJlYXM6XG4gICAgLy8gICAvLyAgICcuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLidcbiAgICAvLyAgIC8vICAgJy4gLiAuIC4gLiAuIC4gLiAuIGJhYnkgYmFieSBiYWJ5IGJhYnkgYmFieSBiYWJ5IC4gLiAuIC4gLiAuIC4gLiAuJ1xuICAgIC8vICAgLy8gICAnLiAuIC4gLiAuIC4gLiAuIC4gYmFieSBiYWJ5IGJhYnkgYmFieSBiYWJ5IGJhYnkgLiAuIC4gLiAuIC4gLiAuIC4nXG4gICAgLy8gICAvLyAgICcuIGN1cCBjdXAgY3VwIGN1cCAuIC4gLiAuIGJhYnkgYmFieSBiYWJ5IGJhYnkgYmFieSBiYWJ5IC4gLiBmbG93ZXIgZmxvd2VyIGZsb3dlciAuIC4gLiAuJ1xuICAgIC8vICAgLy8gICAnLiBjdXAgY3VwIGN1cCBjdXAgLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gZmxvd2VyIGZsb3dlciBmbG93ZXIgLiAuIC4gLidcbiAgICAvLyAgIC8vICAgJy4gLiAuIC4gLiAuIGhlYWRlciBoZWFkZXIgaGVhZGVyIGhlYWRlciBoZWFkZXIgaGVhZGVyIGhlYWRlciBoZWFkZXIgaGVhZGVyIGhlYWRlciAuIC4gLiAuIC4gLiAuIC4nXG4gICAgLy8gICAvLyAgICcuIC4gLiAuIC4gLiBoZWFkZXIgaGVhZGVyIGhlYWRlciBoZWFkZXIgaGVhZGVyIGhlYWRlciBoZWFkZXIgaGVhZGVyIGhlYWRlciBoZWFkZXIgLiAuIC4gLiBicnVzaGVzIGJydXNoZXMgYnJ1c2hlcyBicnVzaGVzJ1xuICAgIC8vICAgLy8gICAnLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIGJydXNoZXMgYnJ1c2hlcyBicnVzaGVzIGJydXNoZXMnXG4gICAgLy8gICAvLyAgICdmYW1pbHkgZmFtaWx5IGZhbWlseSBmYW1pbHkgZmFtaWx5IGZhbWlseSBmYW1pbHkgZmFtaWx5IC4gLiBib29rIGJvb2sgYm9vayBib29rIGJvb2sgYm9vayBib29rIC4gLiAuIC4gLiAuIC4nXG4gICAgLy8gICAvLyAgICdmYW1pbHkgZmFtaWx5IGZhbWlseSBmYW1pbHkgZmFtaWx5IGZhbWlseSBmYW1pbHkgZmFtaWx5IC4gLiBib29rIGJvb2sgYm9vayBib29rIGJvb2sgYm9vayBib29rIC4gLiAuIC4gLiAuIC4nXG4gICAgLy8gICAvLyAgICdmYW1pbHkgZmFtaWx5IGZhbWlseSBmYW1pbHkgZmFtaWx5IGZhbWlseSBmYW1pbHkgZmFtaWx5IC4gLiBib29rIGJvb2sgYm9vayBib29rIGJvb2sgYm9vayBib29rIC4gLiAuIC4gLiAuIC4nXG4gICAgLy8gICAvLyAgICcuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLic7XG4gICAgLy8gICBoZWlnaHQ6IDEzNjBweDtcbiAgICAvLyAgIEBpbmNsdWRlIHRhYmxldCB7XG4gICAgLy8gICAgIGhlaWdodDogMTQxNHB4O1xuICAgIC8vICAgICBwYWRkaW5nOiAxMjBweCA1MHB4O1xuICAgIC8vICAgfVxuICAgIC8vICAgQGluY2x1ZGUgbW9iaWxlIHtcbiAgICAvLyAgICAgcGFkZGluZzogNjBweCAxNXB4O1xuICAgIC8vICAgICBoZWlnaHQ6IDcyMHB4O1xuICAgIC8vICAgfVxuICAgIC8vICAgJl9fY29udGVudC13cmFwcGVyIHtcbiAgICAvLyAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIC8vICAgICBAaW5jbHVkZSBiYXNlRmxleFN0eWxlKGNlbnRlciwgY2VudGVyLCBjb2x1bW4pO1xuICAgIC8vICAgICAvLyBkaXNwbGF5OiBncmlkO1xuICAgIC8vICAgICAvLyBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDtcbiAgICAvLyAgICAgaGVpZ2h0OiAxMDAlO1xuICAgIC8vICAgfVxuICAgIC8vICAgJl9faW1nIHtcbiAgICAvLyAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIC8vICAgICBpbWcge1xuICAgIC8vICAgICAgIHdpZHRoOiAxMDAlO1xuICAgIC8vICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAvLyAgICAgICBvYmplY3QtZml0OiBjb3ZlcjtcbiAgICAvLyAgICAgfVxuICAgIC8vICAgfVxuXG4gICAgLy8gICAmX19oZWFkZXIge1xuICAgIC8vICAgICBAaW5jbHVkZSBzZXRGb250U3R5bGUoJ0Nvcm1vcmFudCBHYXJhbW9uZCcsIE1pbig2dncsIDEwMHB4KSwgNDAwLCAkbGlnaHQtZ3JleSwgMTAwJSk7XG4gICAgLy8gICAgIG1hcmdpbi1ib3R0b206IDMwcHg7XG4gICAgLy8gICAgIG1heC13aWR0aDogNTAlO1xuICAgIC8vICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgLy8gICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAvLyAgICAgei1pbmRleDogMjtcbiAgICAvLyAgICAgLy8gZ3JpZC1hcmVhOiBoZWFkZXI7XG4gICAgLy8gICAgIEBpbmNsdWRlIHRhYmxldCB7XG4gICAgLy8gICAgICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgIC8vICAgICB9XG4gICAgLy8gICAgIEBpbmNsdWRlIG1vYmlsZSB7XG4gICAgLy8gICAgICAgZm9udC1zaXplOiA2MHB4O1xuICAgIC8vICAgICB9XG4gICAgLy8gICB9XG5cbiAgICAvLyAgICZfX2xpbmsge1xuICAgIC8vICAgICBAaW5jbHVkZSBsaW5rLWJ0bnMoMjcwcHgsIDcwcHgsICR3aGl0ZS1jb2xvciwgMTRweCwgJGhlYWRlcnMtY29sb3ItdHdvKTtcbiAgICAvLyAgICAgQGluY2x1ZGUgdGFibGV0IHtcbiAgICAvLyAgICAgICB3aWR0aDogMjcwcHg7XG4gICAgLy8gICAgICAgaGVpZ2h0OiA3MHB4O1xuICAgIC8vICAgICAgIGZvbnQtc2l6ZTogMTRweDtcbiAgICAvLyAgICAgfVxuICAgIC8vICAgICBAaW5jbHVkZSBtb2JpbGUge1xuICAgIC8vICAgICAgIHdpZHRoOiAxNzBweDtcbiAgICAvLyAgICAgICBoZWlnaHQ6IDQ1cHg7XG4gICAgLy8gICAgICAgZm9udC1zaXplOiAxMHB4O1xuICAgIC8vICAgICB9XG4gICAgLy8gICAgIEBpbmNsdWRlIGZyb20oMTAyNXB4KSB7XG4gICAgLy8gICAgICAgdHJhbnNpdGlvbjogMC4yNXMgZWFzZS1vdXQ7XG4gICAgLy8gICAgICAgJjpob3ZlciB7XG4gICAgLy8gICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkbGlnaHQtbGF2YW5kZXI7XG4gICAgLy8gICAgICAgICBjb2xvcjogJHdoaXRlLWNvbG9yO1xuICAgIC8vICAgICAgIH1cbiAgICAvLyAgICAgfVxuICAgIC8vICAgfVxuXG4gICAgLy8gICAuaW1nIHtcbiAgICAvLyAgICAgJi1iYWJ5IHtcbiAgICAvLyAgICAgICAvLyBncmlkLWFyZWE6IGJhYnk7XG4gICAgLy8gICAgICAgQGluY2x1ZGUgc2V0SW1nV2lkdGgoNTIwcHgpO1xuICAgIC8vICAgICAgIHRvcDogMDtcbiAgICAvLyAgICAgICB0b3A6IDA7XG4gICAgLy8gICAgICAgQGluY2x1ZGUgdG8oMTY4MHB4KSB7XG4gICAgLy8gICAgICAgICB3aWR0aDogMzB2dztcbiAgICAvLyAgICAgICB9XG4gICAgLy8gICAgICAgaGVpZ2h0OiBhdXRvO1xuICAgIC8vICAgICAgIG9iamVjdC1maXQ6IGNvdmVyO1xuICAgIC8vICAgICAgIGxlZnQ6IDQwJTtcbiAgICAvLyAgICAgICBAaW5jbHVkZSB0YWJsZXQge1xuICAgIC8vICAgICAgICAgcmlnaHQ6IDA7XG4gICAgLy8gICAgICAgICB3aWR0aDogMzkxcHg7XG4gICAgLy8gICAgICAgfVxuXG4gICAgLy8gICAgICAgQGluY2x1ZGUgbW9iaWxlIHtcbiAgICAvLyAgICAgICAgIHdpZHRoOiAxOTBweDtcbiAgICAvLyAgICAgICB9XG4gICAgLy8gICAgIH1cblxuICAgIC8vICAgICAmLWZsb3dlciB7XG4gICAgLy8gICAgICAgLy8gZ3JpZC1hcmVhOiBmbG93ZXI7XG4gICAgLy8gICAgICAgdG9wOiAyMDBweDtcbiAgICAvLyAgICAgICByaWdodDogMjY1cHg7XG4gICAgLy8gICAgICAgQGluY2x1ZGUgc2V0SW1nV2lkdGgoMjMwcHgpO1xuICAgIC8vICAgICAgIHJpZ2h0OiA5dnc7XG4gICAgLy8gICAgICAgd2lkdGg6IDEzLjV2dztcbiAgICAvLyAgICAgICBAaW5jbHVkZSBub3RlYm9vayB7XG4gICAgLy8gICAgICAgICByaWdodDogNSU7XG4gICAgLy8gICAgICAgfVxuICAgIC8vICAgICAgIEBpbmNsdWRlIHRhYmxldCB7XG4gICAgLy8gICAgICAgICByaWdodDogMDtcbiAgICAvLyAgICAgICAgIHdpZHRoOiAyNTdweDtcbiAgICAvLyAgICAgICAgIGhlaWdodDogMTQ2cHg7XG4gICAgLy8gICAgICAgICB0b3A6IGF1dG87XG4gICAgLy8gICAgICAgICBib3R0b206IDE1OXB4O1xuICAgIC8vICAgICAgIH1cblxuICAgIC8vICAgICAgIEBpbmNsdWRlIG1vYmlsZSB7XG4gICAgLy8gICAgICAgICB3aWR0aDogMTI1cHg7XG4gICAgLy8gICAgICAgICByaWdodDogMDtcbiAgICAvLyAgICAgICAgIGJvdHRvbTogNzhweDtcbiAgICAvLyAgICAgICAgIHRvcDogYXV0bztcbiAgICAvLyAgICAgICAgIGhlaWdodDogNzFweDtcbiAgICAvLyAgICAgICB9XG4gICAgLy8gICAgIH1cblxuICAgIC8vICAgICAmLWJydXNoZXMge1xuICAgIC8vICAgICAgIHJpZ2h0OiAwO1xuICAgIC8vICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgxMjBweCk7XG4gICAgLy8gICAgICAgLy8gZ3JpZC1hcmVhOiBicnVzaGVzO1xuICAgIC8vICAgICAgIEBpbmNsdWRlIHNldEltZ1dpZHRoKDI2NXB4KTtcblxuICAgIC8vICAgICAgIEBpbmNsdWRlIHRhYmxldCB7XG4gICAgLy8gICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgIC8vICAgICAgIH1cbiAgICAvLyAgICAgfVxuXG4gICAgLy8gICAgICYtYm9vayB7XG4gICAgLy8gICAgICAgLy8gZ3JpZC1hcmVhOiBib29rO1xuICAgIC8vICAgICAgIGJvdHRvbTogMDtcbiAgICAvLyAgICAgICByaWdodDogNDEwcHg7XG4gICAgLy8gICAgICAgcmlnaHQ6IDE3dnc7XG4gICAgLy8gICAgICAgQGluY2x1ZGUgc2V0SW1nV2lkdGgoNTIwcHgpO1xuICAgIC8vICAgICAgIEBpbmNsdWRlIHRvKDE2ODBweCkge1xuICAgIC8vICAgICAgICAgd2lkdGg6IDMxdnc7XG4gICAgLy8gICAgICAgfVxuICAgIC8vICAgICAgIEBpbmNsdWRlIG5vdGVib29rIHtcbiAgICAvLyAgICAgICAgIHdpZHRoOiAzNSU7XG4gICAgLy8gICAgICAgfVxuICAgIC8vICAgICAgIEBpbmNsdWRlIG5vdGVib29rIHtcbiAgICAvLyAgICAgICAgIHJpZ2h0OiA1JTtcbiAgICAvLyAgICAgICB9XG4gICAgLy8gICAgICAgQGluY2x1ZGUgdGFibGV0IHtcbiAgICAvLyAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgLy8gICAgICAgfVxuICAgIC8vICAgICB9XG5cbiAgICAvLyAgICAgJi1mYW1pbHkge1xuICAgIC8vICAgICAgIGxlZnQ6IDA7XG4gICAgLy8gICAgICAgYm90dG9tOiAwO1xuXG4gICAgLy8gICAgICAgLy8gZ3JpZC1hcmVhOiBmYW1pbHk7XG4gICAgLy8gICAgICAgQGluY2x1ZGUgc2V0SW1nV2lkdGgoNjQwcHgpO1xuICAgIC8vICAgICAgIHdpZHRoOiAzMy42NXZ3O1xuICAgIC8vICAgICAgIEBpbmNsdWRlIG5vdGVib29rIHtcbiAgICAvLyAgICAgICAgIHdpZHRoOiAzNSU7XG4gICAgLy8gICAgICAgfVxuICAgIC8vICAgICAgIEBpbmNsdWRlIHRhYmxldCB7XG4gICAgLy8gICAgICAgICB3aWR0aDogMzkxcHg7XG4gICAgLy8gICAgICAgfVxuXG4gICAgLy8gICAgICAgQGluY2x1ZGUgbW9iaWxlIHtcbiAgICAvLyAgICAgICAgIHdpZHRoOiAxOTBweDtcbiAgICAvLyAgICAgICAgIGJvdHRvbTogMDtcbiAgICAvLyAgICAgICB9XG4gICAgLy8gICAgIH1cblxuICAgIC8vICAgICAmLWN1cCB7XG4gICAgLy8gICAgICAgLy8gZ3JpZC1hcmVhOiBjdXA7XG4gICAgLy8gICAgICAgdG9wOiAyMDBweDtcbiAgICAvLyAgICAgICB0b3A6IDEwdnc7XG4gICAgLy8gICAgICAgbGVmdDogNnZ3O1xuXG4gICAgLy8gICAgICAgQGluY2x1ZGUgc2V0SW1nV2lkdGgoMzc1cHgpO1xuICAgIC8vICAgICAgIEBpbmNsdWRlIG5vdGVib29rIHtcbiAgICAvLyAgICAgICAgIC8vIGxlZnQ6IDUlO1xuICAgIC8vICAgICAgIH1cbiAgICAvLyAgICAgICBAaW5jbHVkZSB0YWJsZXQge1xuICAgIC8vICAgICAgICAgd2lkdGg6IDI1N3B4O1xuICAgIC8vICAgICAgICAgdG9wOiAxNTlweDtcbiAgICAvLyAgICAgICAgIGxlZnQ6IDA7XG4gICAgLy8gICAgICAgfVxuXG4gICAgLy8gICAgICAgQGluY2x1ZGUgbW9iaWxlIHtcbiAgICAvLyAgICAgICAgIHdpZHRoOiAxMjVweDtcbiAgICAvLyAgICAgICAgIHRvcDogNzhweDtcbiAgICAvLyAgICAgICB9XG4gICAgLy8gICAgIH1cbiAgICAvLyAgIH1cbiAgICAvLyB9XG5cbiAgICAvLyAuc3RvY2tzLXNlY3Rpb24ge1xuICAgIC8vICAgcGFkZGluZzogMCAwIDA7XG4gICAgLy8gICAvLyBvdmVyZmxvdzogaGlkZGVuO1xuICAgIC8vICAgLy8gQGluY2x1ZGUgYmFzZUZsZXhTdHlsZShjZW50ZXIsIGNlbnRlcik7XG4gICAgLy8gICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgLy8gICBAaW5jbHVkZSB0YWJsZXQge1xuICAgIC8vICAgICBwYWRkaW5nOiAwcHggMTI0cHggMHB4IDEyNHB4O1xuICAgIC8vICAgfVxuICAgIC8vICAgQGluY2x1ZGUgbW9iaWxlIHtcbiAgICAvLyAgICAgcGFkZGluZzogMHB4IDE1cHggMHB4IDE1cHg7XG4gICAgLy8gICB9XG5cbiAgICAvLyAgICYgPiAuY2FyZC1saW5rIHtcbiAgICAvLyAgICAgZGlzcGxheTogYmxvY2s7XG5cbiAgICAvLyAgICAgJiA+IC5jYXJkIHtcbiAgICAvLyAgICAgICBtYXgtd2lkdGg6IDUyMHB4O1xuICAgIC8vICAgICAgIEBpbmNsdWRlIHRhYmxldCB7XG4gICAgLy8gICAgICAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgLy8gICAgICAgfVxuICAgIC8vICAgICB9XG4gICAgLy8gICB9XG4gICAgLy8gICAmLXNsaWRlciB7XG4gICAgLy8gICAgIG92ZXJmbG93OiBpbml0aWFsICFpbXBvcnRhbnQ7XG4gICAgLy8gICB9XG4gICAgLy8gICAmLXNsaWRlcl9fd3JwIHtcbiAgICAvLyAgICAgQGluY2x1ZGUgZnJvbSgxMDI1cHgpIHtcbiAgICAvLyAgICAgICB3aWR0aDogMTAwJTtcbiAgICAvLyAgICAgICBoZWlnaHQ6IDEwMHZoO1xuICAgIC8vICAgICAgIG92ZXJmbG93LXk6IGF1dG87XG4gICAgLy8gICAgICAgLW1zLW92ZXJmbG93LXN0eWxlOiBub25lOyAvKiBJRSBhbmQgRWRnZSAqL1xuICAgIC8vICAgICAgIHNjcm9sbGJhci13aWR0aDogbm9uZTsgLyogRmlyZWZveCAqL1xuICAgIC8vICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAvLyAgICAgfVxuICAgIC8vICAgICBAaW5jbHVkZSB0bygxMDI0cHgpIHtcbiAgICAvLyAgICAgICB3aWR0aDogMTAwJTtcbiAgICAvLyAgICAgfVxuICAgIC8vICAgICAmOjotd2Via2l0LXNjcm9sbGJhciB7XG4gICAgLy8gICAgICAgd2lkdGg6IDBweDtcbiAgICAvLyAgICAgfVxuXG4gICAgLy8gICAgIC8qIFRyYWNrICovXG4gICAgLy8gICAgICY6Oi13ZWJraXQtc2Nyb2xsYmFyLXRyYWNrIHtcbiAgICAvLyAgICAgICAvLyAtd2Via2l0LWJveC1zaGFkb3c6IGluc2V0IDAgMCA2cHggI2UyZTNlNDtcbiAgICAvLyAgICAgICAvLy13ZWJraXQtYm94LXNoYWRvdzogaW5zZXQgMCAwIDZweCByZ2JhKDAsIDAsIDAsIDAuMyk7XG4gICAgLy8gICAgIH1cblxuICAgIC8vICAgICAvKiBIYW5kbGUgKi9cbiAgICAvLyAgICAgJjo6LXdlYmtpdC1zY3JvbGxiYXItdGh1bWIge1xuICAgIC8vICAgICB9XG5cbiAgICAvLyAgICAgJjo6LXdlYmtpdC1zY3JvbGxiYXItdGh1bWI6d2luZG93LWluYWN0aXZlIHtcbiAgICAvLyAgICAgICAvLyBiYWNrZ3JvdW5kOiAjYzFjMWMxO1xuICAgIC8vICAgICB9XG4gICAgLy8gICB9XG4gICAgLy8gICBAaW5jbHVkZSBmcm9tKDEwMjRweCkge1xuICAgIC8vICAgICAmLXNsaWRlcl9faXRlbTpudGgtY2hpbGQoMikgLmNhcmQtbGluayB7XG4gICAgLy8gICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDdweCk7XG4gICAgLy8gICAgIH1cbiAgICAvLyAgICAgJi1zbGlkZXJfX2l0ZW06bnRoLWNoaWxkKDMpIC5jYXJkLWxpbmsge1xuICAgIC8vICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgxNHB4KTtcbiAgICAvLyAgICAgfVxuICAgIC8vICAgICAmLXNsaWRlcl9faXRlbTpudGgtY2hpbGQoNCkgLmNhcmQtbGluayB7XG4gICAgLy8gICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDIxcHgpO1xuICAgIC8vICAgICB9XG4gICAgLy8gICAgICYtc2xpZGVyX19pdGVtOm50aC1jaGlsZCg1KSAuY2FyZC1saW5rIHtcbiAgICAvLyAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMjhweCk7XG4gICAgLy8gICAgIH1cbiAgICAvLyAgIH1cbiAgICAvLyAgICYtc2xpZGVyX19pdGVtIHtcbiAgICAvLyAgICAgd2lkdGg6IDEwMCU7XG4gICAgLy8gICAgIGhlaWdodDogMTAwdmg7XG4gICAgLy8gICAgIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICAgIC8vICAgICBtYXJnaW4tcmlnaHQ6IGF1dG87XG4gICAgLy8gICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgLy8gICAgIGFsaWduLWl0ZW1zOiBzdGFydDtcbiAgICAvLyAgICAgcG9zaXRpb246IHN0aWNreTtcbiAgICAvLyAgICAgdG9wOiAwO1xuICAgIC8vICAgICBAaW5jbHVkZSB0bygxMDI0cHgpIHtcbiAgICAvLyAgICAgICB3aWR0aDogMTAwJTtcbiAgICAvLyAgICAgfVxuICAgIC8vICAgICAvLyAmOmZpcnN0LWNoaWxkIHtcbiAgICAvLyAgICAgLy8gICBtYXJnaW4tdG9wOiAtMTAwdmg7XG4gICAgLy8gICAgIC8vIH1cbiAgICAvLyAgIH1cbiAgICAvLyAgICZfYWJzIHtcbiAgICAvLyAgICAgLy8gcG9zaXRpb246IGFic29sdXRlO1xuICAgIC8vICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgLy8gICAgIGxlZnQ6IC0xMDAlO1xuICAgIC8vICAgICAvLyB0b3A6IDUwJTtcbiAgICAvLyAgICAgLy8gdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpO1xuICAgIC8vICAgICB3aWR0aDogMTAwJTtcbiAgICAvLyAgICAgLy8gb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICAvLyAgICAgLy8gd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgICAvLyAgICAgJi13cmFwcGVyIHtcbiAgICAvLyAgICAgICBwb3NpdGlvbjogc3RpY2t5O1xuICAgIC8vICAgICAgIHRvcDogMHZoO1xuICAgIC8vICAgICAgIGRpc3BsYXk6IC13ZWJraXQtYm94O1xuICAgIC8vICAgICAgIGRpc3BsYXk6IC13ZWJraXQtZmxleDtcbiAgICAvLyAgICAgICBkaXNwbGF5OiAtbXMtZmxleGJveDtcbiAgICAvLyAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgIC8vICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgLy8gICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICAvLyAgICAgICBoZWlnaHQ6IDEwMHZoO1xuICAgIC8vICAgICAgIEBpbmNsdWRlIHRvKDEwMjRweCkge1xuICAgIC8vICAgICAgICAgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7XG4gICAgLy8gICAgICAgICBwYWRkaW5nLXRvcDogMzBweDtcbiAgICAvLyAgICAgICB9XG4gICAgLy8gICAgICAgLy8gbWFyZ2luLWJvdHRvbTogMTB2dztcbiAgICAvLyAgICAgfVxuICAgIC8vICAgICBAaW5jbHVkZSB0YWJsZXQge1xuICAgIC8vICAgICAgIC8vIHRvcDogMTIwcHg7XG4gICAgLy8gICAgIH1cbiAgICAvLyAgICAgQGluY2x1ZGUgbW9iaWxlIHtcbiAgICAvLyAgICAgICAvLyB0b3A6IDYwcHg7XG4gICAgLy8gICAgIH1cbiAgICAvLyAgIH1cblxuICAgIC8vICAgJl9hYnMtaW5uIHtcbiAgICAvLyAgICAgLy8gZGlzcGxheTogZmxleDtcbiAgICAvLyAgICAgQGluY2x1ZGUgYmFzZUZsZXhTdHlsZSgkanVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuKTtcbiAgICAvLyAgIH1cblxuICAgIC8vICAgJl9fdGV4dC13cmFwcGVyIHtcbiAgICAvLyAgICAgQGluY2x1ZGUgc2V0Rm9udFN0eWxlKCdDb3Jtb3JhbnQgR2FyYW1vbmQnLCAxMDBweCwgMzAwLCAkc3RvY2tzLWNvbG9yLCAxMzAlLCAtMC4wMWVtKTtcbiAgICAvLyAgICAgei1pbmRleDogLTE7XG4gICAgLy8gICAgIEBpbmNsdWRlIG1vYmlsZSB7XG4gICAgLy8gICAgICAgZm9udC1zaXplOiA2MHB4O1xuICAgIC8vICAgICB9XG4gICAgLy8gICB9XG5cbiAgICAvLyAgIC8vICZfX3RleHQge1xuICAgIC8vICAgLy8gICBwYWRkaW5nLXJpZ2h0OiA2MHB4O1xuICAgIC8vICAgLy8gfVxuXG4gICAgLy8gICAmX19hbXBlcnNhbmQge1xuICAgIC8vICAgICBwYWRkaW5nOiAwIDYwcHg7XG4gICAgLy8gICB9XG4gICAgLy8gfVxuICB9XG59XG4vLyBAa2V5ZnJhbWVzIHNsaWRlclRleHQge1xuLy8gICAwJSB7XG4vLyAgICAgb3BhY2l0eTogMDtcbi8vICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMzAlKTtcbi8vICAgfVxuLy8gICAxMDAlIHtcbi8vICAgICBvcGFjaXR5OiAxO1xuLy8gICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgwJSk7XG4vLyAgIH1cbi8vIH1cbi8vIC5hZHZhbnRhZ2VzIHtcbi8vICAgQGluY2x1ZGUgZnJvbSgxMDI1cHgpIHtcbi8vICAgICAuc3dpcGVyLXdyYXBwZXIge1xuLy8gICAgICAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2Utb3V0O1xuLy8gICAgIH1cbi8vICAgfVxuLy8gICAmLXNsaWRlciB7XG4vLyAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbi8vICAgICBtYXJnaW4tcmlnaHQ6IC0zNXB4O1xuLy8gICAgIEBpbmNsdWRlIHRhYmxldCB7XG4vLyAgICAgICBtYXJnaW4tcmlnaHQ6IDA7XG4vLyAgICAgfVxuLy8gICAgIC5zd2lwZXItc2xpZGUge1xuLy8gICAgICAgdHJhbnNpdGlvbjogYWxsIGVhc2Utb3V0IDEuMjVzO1xuLy8gICAgIH1cbi8vICAgICAuc3dpcGVyLXNsaWRlLWFjdGl2ZSB7XG4vLyAgICAgICB0cmFuc2Zvcm06IHNjYWxlKDEpO1xuLy8gICAgICAgdHJhbnNpdGlvbjogYWxsIGVhc2Utb3V0IDEuMjVzO1xuLy8gICAgIH1cbi8vICAgICAuc3dpcGVyLXNsaWRlLWR1cGxpY2F0ZS1wcmV2LFxuLy8gICAgIC5zd2lwZXItc2xpZGUtZHVwbGljYXRlLW5leHQsXG4vLyAgICAgLnN3aXBlci1zbGlkZS1wcmV2LFxuLy8gICAgIC5zd2lwZXItc2xpZGUtbmV4dCB7XG4vLyAgICAgICB0cmFuc2Zvcm06IHNjYWxlKDAuODUpO1xuLy8gICAgICAgdHJhbnNpdGlvbjogYWxsIGVhc2Utb3V0IDEuMjVzO1xuLy8gICAgICAgdHJhbnNmb3JtLW9yaWdpbjogNTAlIDUwJTtcbi8vICAgICB9XG4vLyAgICAgaW1nIHtcbi8vICAgICAgIHdpZHRoOiAxMDAlO1xuLy8gICAgIH1cbi8vICAgfVxuLy8gICAmLXRleHQtc2xpZGVyIHtcbi8vICAgICBvdmVyZmxvdzogaGlkZGVuO1xuLy8gICAgIHdpZHRoOiAxMDAlO1xuLy8gICAgIEBpbmNsdWRlIHRhYmxldCB7XG4vLyAgICAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcbi8vICAgICB9XG4vLyAgICAgLnN3aXBlci1zbGlkZS1hY3RpdmUge1xuLy8gICAgICAgPiAuZmlyc3QtY29sdW1uX190ZXh0IHtcbi8vICAgICAgICAgLy8gYW5pbWF0aW9uOiBzbGlkZXJUZXh0IDEuNXM7XG4vLyAgICAgICB9XG4vLyAgICAgICA+IC5maXJzdC1jb2x1bW5fX2hlYWRlciB7XG4vLyAgICAgICAgIC8vIGFuaW1hdGlvbjogc2xpZGVyVGV4dCAxLjVzO1xuLy8gICAgICAgfVxuLy8gICAgIH1cbi8vICAgfVxuLy8gfVxuLy8gLnN0b2Nrcy1zZWN0aW9uLXNsaWRlciB7XG4vLyAgIG92ZXJmbG93OiBoaWRkZW47XG4vLyAgIC8vIHdpZHRoOiAzMCU7XG4vLyAgIEBpbmNsdWRlIHRhYmxldCB7XG4vLyAgICAgd2lkdGg6IDEwMCU7XG4vLyAgIH1cbi8vICAgLnN0b2Nrcy1zZWN0aW9uLXNsaWRlcl9fd3JwIHtcbi8vICAgICBAaW5jbHVkZSB0YWJsZXQge1xuLy8gICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbi8vICAgICB9XG4vLyAgIH1cbi8vICAgLnN3aXBlci1zbGlkZSB7XG4vLyAgICAgQGluY2x1ZGUgdGFibGV0IHtcbi8vICAgICAgIC8vIGhlaWdodDogYXV0byAhaW1wb3J0YW50O1xuLy8gICAgICAgLy8gbWFyZ2luLWJvdHRvbTogNTBweDtcbi8vICAgICB9XG4vLyAgICAgQGluY2x1ZGUgbW9iaWxlIHtcbi8vICAgICAgIG1hcmdpbi1ib3R0b206IDMwcHg7XG4vLyAgICAgfVxuLy8gICAgICY6bGFzdC1jaGlsZCB7XG4vLyAgICAgICBAaW5jbHVkZSB0YWJsZXQge1xuLy8gICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xuLy8gICAgICAgfVxuLy8gICAgIH1cbi8vICAgfVxuLy8gICAuY2FyZCB7XG4vLyAgICAgb3ZlcmZsb3cteDogaW5pdGlhbDtcbi8vICAgfVxuLy8gfVxuLy8gLmZyb250LXNjcmVlbi1tb2RhbCB7XG4vLyAgIHBvc2l0aW9uOiBmaXhlZDtcbi8vICAgd2lkdGg6IDEwMCU7XG4vLyAgIGhlaWdodDogMTAwJTtcbi8vICAgbGVmdDogMDtcbi8vICAgdG9wOiAwO1xuLy8gICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKCMwMDAwMDAsIDAuNzUpO1xuLy8gICB6LWluZGV4OiA1MDtcbi8vICAgb3BhY2l0eTogMDtcbi8vICAgdmlzaWJpbGl0eTogaGlkZGVuO1xuLy8gICB6LWluZGV4OiAtMTtcbi8vICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4vLyAgICYuYWN0aXZlIHtcbi8vICAgICBvcGFjaXR5OiAxO1xuLy8gICAgIHZpc2liaWxpdHk6IHZpc2libGU7XG4vLyAgICAgei1pbmRleDogMTAwMDA7XG4vLyAgICAgcG9pbnRlci1ldmVudHM6IGFsbDtcbi8vICAgfVxuLy8gICAmLWNsb3NlIHtcbi8vICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4vLyAgICAgcmlnaHQ6IDIwcHg7XG4vLyAgICAgdG9wOiAyMHB4O1xuLy8gICAgIHdpZHRoOiA0OHB4O1xuLy8gICAgIGhlaWdodDogNDhweDtcbi8vICAgICBjdXJzb3I6IHBvaW50ZXI7XG4vLyAgICAgdHJhbnNpdGlvbjogMC4yNXMgZWFzZS1vdXQ7XG4vLyAgICAgdHJhbnNmb3JtLW9yaWdpbjogY2VudGVyO1xuLy8gICAgIHRyYW5zZm9ybS1ib3g6IGZpbGwtYm94O1xuLy8gICAgICY6aG92ZXIge1xuLy8gICAgICAgdHJhbnNmb3JtOiBzY2FsZSgxLjA1KTtcbi8vICAgICB9XG4vLyAgIH1cbi8vICAgJi1iYWNrZHJvcCB7XG4vLyAgIH1cbi8vICAgJi1jb250ZW50IHtcbi8vICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4vLyAgICAgbGVmdDogNTAlO1xuLy8gICAgIHRvcDogNTAlO1xuLy8gICAgIHdpZHRoOiA4MCU7XG4vLyAgICAgaGVpZ2h0OiA4MCU7XG4vLyAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgLTUwJSk7XG4vLyAgICAgdmlkZW8ge1xuLy8gICAgICAgd2lkdGg6IDEwMCU7XG4vLyAgICAgICBoZWlnaHQ6IDEwMCU7XG4vLyAgICAgICBvYmplY3QtZml0OiBjb3Zlcjtcbi8vICAgICAgIGNsaXAtcGF0aDogbm9uZSAhaW1wb3J0YW50O1xuLy8gICAgIH1cbi8vICAgfVxuLy8gfVxuIiwiLm1haW4ge1xuICAmLWlubmVyLXN0b2Nrcy1uZXdzIHtcbiAgICBwYWRkaW5nLWxlZnQ6IHZhcigtLWxyLXBhZGRpbmdzKTtcbiAgICBwYWRkaW5nLXJpZ2h0OiB2YXIoLS1sci1wYWRkaW5ncyk7XG4gIH1cblxuICAuaXNuIHtcbiAgICAmLWNvbnRlbnQtd3JhcHBlciB7XG4gICAgICBAaW5jbHVkZSBiYXNlR3JpZFN0eWxlKGF1dG8sIHJlcGVhdCgyNCwgbWlubWF4KHZhcigtLXBvcHVsYXItaW5kZW50KSwgMWZyKSkpO1xuICAgICAgQGluY2x1ZGUgdGFibGV0TGFyZ2Uge1xuICAgICAgICBncmlkLXRlbXBsYXRlOiBhdXRvL3JlcGVhdCgyMCwgbWlubWF4KHZhcigtLXBvcHVsYXItaW5kZW50KSwgMWZyKSk7XG5cbiAgICAgIH1cbiAgICAgIEBpbmNsdWRlIG5vdGVib29rIHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAmX19iYWNrLWxpbmsge1xuICAgICAgJi13cmFwcGVyIHtcbiAgICAgICAgZ3JpZC1jb2x1bW46IDEgLyAzO1xuICAgICAgICBAaW5jbHVkZSB0YWJsZXRMYXJnZSB7XG4gICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICAmIHtcbiAgICAgICAgQGluY2x1ZGUgYmFzZUZsZXhTdHlsZShjZW50ZXIpO1xuICAgICAgICBmb250LXdlaWdodDogNDAwO1xuICAgICAgICBsaW5lLWhlaWdodDogMTAwJTtcbiAgICAgICAgY29sb3I6ICRkYXJrLWdyZXk7XG5cbiAgICAgICAgJjo6YmVmb3JlIHtcbiAgICAgICAgICBAaW5jbHVkZSBhZnRlci1iZWZvcmUtaW1nKCcuLi9pbWFnZXMvc3RvY2tzLW5ld3MvaW5uZXIvYmFjay5zdmcnLCA3MHB4LCA3MHB4KTtcbiAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDIwcHg7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICAmX19jb250ZW50IHtcbiAgICAgIGdyaWQtY29sdW1uOiA0IC8gMjI7XG4gICAgICAvLyBtYXJnaW4tYm90dG9tOiAzMHB4O1xuICAgICAgQGluY2x1ZGUgdGFibGV0TGFyZ2Uge1xuICAgICAgICBncmlkLWNvbHVtbjogMSAvIDIyO1xuICAgICAgfVxuICAgIH1cblxuICAgICZfX2hlYWRlciB7XG4gICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICBtYXJnaW4tYm90dG9tOiAzMHB4O1xuICAgICAgQGluY2x1ZGUgdGFibGV0IHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogNDBweDtcbiAgICAgIH1cbiAgICAgIEBpbmNsdWRlIG1vYmlsZSB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDIwcHg7XG4gICAgICB9XG5cbiAgICB9XG5cbiAgICAmX19kYXRlIHtcbiAgICAgIEBpbmNsdWRlIHNldEZvbnRTdHlsZSgnTW9udCcsIDIwcHgsIDQwMCwgJGRhcmstdmlvbGV0LCAxMDAlKTtcbiAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgIG1hcmdpbi1ib3R0b206IDUwcHg7XG4gICAgICBAaW5jbHVkZSB0YWJsZXQge1xuICAgICAgICBmb250LXNpemU6IDE2cHg7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDQwcHg7XG4gICAgICB9XG4gICAgICBAaW5jbHVkZSBtb2JpbGUge1xuICAgICAgICBmb250LXNpemU6IDE0cHg7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDIwcHg7XG4gICAgICB9XG4gICAgfVxuXG4gICAgJl9fc2xpZGVyLWltZyB7XG4gICAgICBAaW5jbHVkZSBzZXRJbWdXaWR0aCgxMDAlKTtcbiAgICAgIG1hcmdpbi1ib3R0b206IDUwcHg7XG4gICAgfVxuXG4gICAgJl9fdGV4dCB7XG4gICAgICBAaW5jbHVkZSBzZXRGb250U3R5bGUoJ01vbnQnLCAxNnB4LCA0MDAsICR0ZXh0LWNvbG9yLCAxNzAlLCAkdGV4dC10cmFuc2Zvcm06IG5vbmUpO1xuICAgICAgQGluY2x1ZGUgdGFibGV0IHtcbiAgICAgICAgZm9udC1zaXplOiAxNHB4O1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAzMHB4OyAgICBcbiAgICAgIH1cbiAgICAgIEBpbmNsdWRlIG1vYmlsZSB7XG4gICAgICAgIGZvbnQtc2l6ZTogMTJweDtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMjBweDtcbiAgICAgIH1cbiAgICAgICY6bGFzdC1jaGlsZCB7XG4gICAgICAgIEBpbmNsdWRlIHRhYmxldCB7XG4gICAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICAgICAgfVxuXG4gICAgICB9XG4gICAgICAmLXdyYXBwZXIge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiA1MHB4O1xuICAgICAgICBAaW5jbHVkZSBtb2JpbGUge1xuICAgICAgICAgIG1hcmdpbi1ib3R0b206IDQwcHg7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgJl9saW5rIHtcbiAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XG4gICAgICAgIGNvbG9yOiAkZGFyay12aW9sZXQ7XG4gICAgICB9XG4gICAgfVxuXG4gICAgJl9fZWxlbWVudCB7XG4gICAgICBsaXN0LXN0eWxlLXR5cGU6IGRpc2M7XG4gICAgICBsaXN0LXN0eWxlLXBvc2l0aW9uOiBpbnNpZGU7XG4gICAgfVxuXG4gICAgJl9fYnRuLWxpbmsge1xuICAgICAgbWFyZ2luLWJvdHRvbTogMTIwcHg7XG4gICAgICBAaW5jbHVkZSB0YWJsZXQge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiA4MHB4OyAgICBcbiAgICAgIH1cbiAgICAgIEBpbmNsdWRlIG1vYmlsZSB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDQwcHg7XG4gICAgICB9XG4gICAgfVxuXG4gICAgJl9fdmlkZW8ge1xuICAgICAgJi13cmFwcGVyIHtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICBtYXJnaW4tYm90dG9tOiB2YXIoLS1zZWMtYnRtLWluZGVudCk7XG4gICAgICAgIEBpbmNsdWRlIG1vYmlsZSB7XG4gICAgICAgICAgbWFyZ2luLWJvdHRvbTogNjBweDtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICAmIHtcbiAgICAgICAgQGluY2x1ZGUgc2V0SW1nV2lkdGgoMTAwJSk7XG4gICAgICAgIGhlaWdodDogNTIuNXZ3O1xuICAgICAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICAgICAgfVxuXG4gICAgICAmLWJ0bi1wbGF5IHtcbiAgICAgICAgQGluY2x1ZGUgYmFzZUZsZXhTdHlsZSgpO1xuICAgICAgICBAaW5jbHVkZSBhYnMtcG9zaXRpb24oKTtcbiAgICAgICAgQGluY2x1ZGUgZnJvbSgxMDI1cHgpe1xuICAgICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICAgIHRyYW5zaXRpb246IC4yNXMgZWFzZS1vdXQ7XG4gICAgICAgICAgICB0cmFuc2Zvcm0tb3JpZ2luOiBjZW50ZXI7XG4gICAgICAgICAgfVxuICAgICAgICAgICY6aG92ZXI6YmVmb3JlIHtcbiAgICAgICAgICAgIHRyYW5zZm9ybTogc2NhbGUoMS4xKTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgJjo6YmVmb3JlIHtcbiAgICAgICAgICBAaW5jbHVkZSBhZnRlci1iZWZvcmUtaW1nKCcuLi9pbWFnZXMvc3RvY2tzLW5ld3MvaW5uZXIvcGxheS5zdmcnLCAxMTBweCk7XG4gICAgICAgICAgQGluY2x1ZGUgbW9iaWxlIHtcbiAgICAgICAgICAgIGhlaWdodDogNDVweDtcbiAgICAgICAgICAgIHdpZHRoOiA0NXB4O1xuICAgICAgICAgICAgYmFja2dyb3VuZC1zaXplOiA0NXB4IDQ1cHg7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgJl9fc3RvY2tzLW5ld3MtaGVhZGVyIHtcbiAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICB9XG5cbiAgICAmX19jYXJkcy13cmFwcGVyIHtcbiAgICAgIEBpbmNsdWRlIGJhc2VGbGV4U3R5bGUoJGp1c3RpZnktY29udGVudDogY2VudGVyKTtcbiAgICAgIEBpbmNsdWRlIHRhYmxldCB7XG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICB9XG5cbiAgICAgIC5jYXJkIHtcbiAgICAgICAgJi1saW5rIHtcbiAgICAgICAgICBmbGV4OiAwIDAgNTIwcHg7XG4gICAgICAgICAgbWFyZ2luLXRvcDogdmFyKC0tcG9wdWxhci1pbmRlbnQpO1xuICAgICAgICAgIEBpbmNsdWRlIHRhYmxldCB7XG4gICAgICAgICAgICBmbGV4OiAwIDAgNDIwcHg7IFxuICAgICAgICAgICAgd2lkdGg6IDEwMCU7ICAgXG4gICAgICAgICAgfVxuICAgICAgICAgIEBpbmNsdWRlIG1vYmlsZSB7XG4gICAgICAgICAgICBmbGV4OiAwIDAgMzMwcHg7XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgJjpudGgtY2hpbGQoMm4pIHtcbiAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiB2YXIoLS1wb3B1bGFyLWluZGVudCk7XG4gICAgICAgICAgICBAaW5jbHVkZSB0YWJsZXQge1xuICAgICAgICAgICAgICBtYXJnaW4tbGVmdDogMDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiIsIi5wcm9ncmVzcyB7XG4gICZfX2hlYWRlciB7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIG1hcmdpbi1ib3R0b206IDYwcHg7XG4gICAgQGluY2x1ZGUgbW9iaWxlIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDQwcHg7ICAgICAgXG4gICAgfVxuICB9XG5cbiAgJl9fY29udGVudCB7XG4gICAgcGFkZGluZzogMCB2YXIoLS1sci1wYWRkaW5ncyk7XG4gICAgQGluY2x1ZGUgYmFzZUZsZXhTdHlsZSgkanVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuKTtcbiAgICBAaW5jbHVkZSB0YWJsZXQge1xuICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjsgICAgIFxuICAgIH1cbiAgfVxuXG4gICZfX2ZpbHRlciB7XG4gICAgQGluY2x1ZGUgYmFzZUZsZXhTdHlsZSgkZmxleC1kaXJlY3Rpb246IGNvbHVtbik7XG4gICAgd2lkdGg6IDI1JTtcbiAgICBAaW5jbHVkZSB0YWJsZXQge1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgfVxuICAgIEBpbmNsdWRlIG1vYmlsZSB7XG4gICAgICBtYXJnaW4tYm90dG9tOiA0MHB4OyAgICAgICBcbiAgICB9XG4gIH1cbiAgJl9fcmVzdWx0IHtcbiAgICB3aWR0aDogNzAlO1xuICAgIEBpbmNsdWRlIHRhYmxldCB7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIG1hcmdpbi10b3A6IDQwcHg7XG4gICAgfVxuICAgIEBpbmNsdWRlIG1vYmlsZSB7XG4gICAgICBtYXJnaW4tdG9wOiAwO1xuICAgIH1cbiAgfVxuXG4gICZfX2NhcmRzLXdyYXBwZXIge1xuICAgIEBpbmNsdWRlIGdyaWQtY2FyZC1jb250ZW50KGF1dG8sIHJlcGVhdCgyLCAxZnIpLCA0MjBweCk7XG4gICAgbWFyZ2luLWJvdHRvbTogNjBweDtcbiAgICBAaW5jbHVkZSB0YWJsZXQge1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICBtYXJnaW4tYm90dG9tOiA0MHB4O1xuICAgIH1cbiAgICBAaW5jbHVkZSBtb2JpbGUge1xuICAgICAgbWFyZ2luLWJvdHRvbTogNDBweDsgICAgICAgIFxuICAgIH1cbiAgfVxuXG4gICZfX2J0bi13cmFwcGVyIHtcbiAgICBAaW5jbHVkZSBiYXNlRmxleFN0eWxlKCRqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcik7XG4gIH1cblxuICAmX19sb2FkLW1vcmUtYnRuIHtcbiAgICBAaW5jbHVkZSBsaW5rLWJ0bnMoMjcwcHgsIDcwcHgsICRkYXJrLXZpb2xldCwgMTRweCwgJGxpZ2h0LWdyZXkpO0BpbmNsdWRlIHRhYmxldCB7XG4gICAgICBmb250LXNpemU6IDE1cHg7XG4gICAgICBtYXJnaW4tdG9wOiAzMHB4O1xuICAgICAgbWFyZ2luLWJvdHRvbTogMzBweDtcbiAgICB9XG4gICAgQGluY2x1ZGUgbW9iaWxlIHtcbiAgICAgIHdpZHRoOiAxNzBweDtcbiAgICAgIGhlaWdodDogNDVweDtcbiAgICAgIGZvbnQtc2l6ZTogMTBweDtcbiAgICAgIG1hcmdpbi10b3A6IDIwcHg7XG4gICAgICBtYXJnaW4tYm90dG9tOiAyMHB4O1xuICAgIH1cbiAgICBAaW5jbHVkZSBmcm9tKDEwMjVweCl7XG4gICAgICB0cmFuc2l0aW9uOiAuMjVzIGVhc2Utb3V0O1xuICAgICAgJjpob3ZlciB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRsaWdodC1sYXZhbmRlcjtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuLmZpbHRlciB7XG4gICZfX2xhYmVsIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgQGluY2x1ZGUgYmFzZUZsZXhTdHlsZSgkZmxleC1kaXJlY3Rpb246IGNvbHVtbik7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gICAgJjpub3QoOmxhc3QtY2hpbGQpIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDQwcHg7XG4gICAgICBAaW5jbHVkZSB0YWJsZXQge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAzMHB4O1xuICAgICAgfVxuICAgICAgQGluY2x1ZGUgbW9iaWxlIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMjBweDsgICAgXG4gICAgICB9XG4gICAgfVxuXG4gICAgJi10ZXh0IHtcbiAgICAgIEBpbmNsdWRlIHNldEZvbnRTdHlsZSgnTW9udCcsIDIwcHgsIDQwMCwgJGhlYWRlcnMtY29sb3IsIDEwMCUpO1xuICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICRoZWFkZXJzLWNvbG9yO1xuICAgICAgbWFyZ2luLWJvdHRvbTogMTVweDtcbiAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICAgIEBpbmNsdWRlIG11bHRpcGxlLXRyYW5zaXRpb25zKDAuM3MsIGVhc2UtaW4tb3V0LCBjb2xvciwgYm9yZGVyLWNvbG9yKTtcbiAgICAgIEBpbmNsdWRlIHRhYmxldCB7XG4gICAgICAgIGZvbnQtc2l6ZTogMTZweDtcbiAgICAgIH1cbiAgICAgIEBpbmNsdWRlIG1vYmlsZSB7XG4gICAgICAgIGZvbnQtc2l6ZTogMTRweDtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMTBweDsgICAgICAgIFxuICAgICAgfVxuXG4gICAgICAmOmhvdmVyIHtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiAkZGFyay12aW9sZXQ7XG4gICAgICAgIGNvbG9yOiAkZGFyay12aW9sZXQ7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgJl9faW5wdXQge1xuICAgIEBpbmNsdWRlIHJlc2V0SW5wdXRTdHlsZXM7XG4gIH1cbn1cblxuLmlycyB7XG4gICYtLWZsYXQge1xuICAgIHdpZHRoOiAxMDAlO1xuXG4gICAgLmlycy1iYXIge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGRhcmstdmlvbGV0O1xuICAgICAgaGVpZ2h0OiAycHg7XG4gICAgICB0b3A6IDA7XG4gICAgfVxuXG4gICAgLy8gLmlycy1oYW5kbGUgPiBpOmZpcnN0LWNoaWxkLFxuICAgIC8vIC5pcnMtaGFuZGxlOmhvdmVyID4gaTpmaXJzdC1jaGlsZCB7XG4gICAgLy8gICBiYWNrZ3JvdW5kLWNvbG9yOiAkZGFyay12aW9sZXQ7XG4gICAgLy8gfVxuXG4gICAgLmlycy1oYW5kbGUge1xuICAgICAgJiB7XG4gICAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICAgICAgLy8gYmFja2dyb3VuZC1jb2xvcjogJGRhcmstdmlvbGV0O1xuICAgICAgICAvLyB0b3A6IDI1cHg7XG4gICAgICAgIHRvcDogMDtcbiAgICAgICAgQGluY2x1ZGUgYWZ0ZXItYmVmb3JlLWltZygnLi4vaW1hZ2VzL3Byb2dyZXNzL3JhbmdlSGFuZGxlci5zdmcnLCA3cHgsIDEycHgpO1xuICAgICAgICBAaW5jbHVkZSB0YWJsZXQge1xuICAgICAgICAgIGhlaWdodDogOXB4O1xuICAgICAgICAgIHdpZHRoOiA1cHg7XG4gICAgICAgICAgYmFja2dyb3VuZC1zaXplOiA1cHggOXB4O1xuICAgICAgICB9XG4gICAgICAgIC8vIHdpZHRoOiA3cHg7XG4gICAgICAgIC8vIGhlaWdodDogMTJweDtcbiAgICAgIH1cblxuICAgICAgJiA+IGk6Zmlyc3QtY2hpbGQsXG4gICAgICAmOmhvdmVyID4gaTpmaXJzdC1jaGlsZCB7XG4gICAgICAgIC8vIGJhY2tncm91bmQtY29sb3I6ICRkYXJrLXZpb2xldDtcbiAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAuaXJzLWxpbmUge1xuICAgICAgaGVpZ2h0OiAycHg7XG4gICAgICB0b3A6IDA7XG4gICAgfVxuXG4gICAgLmlycy1zaW5nbGUge1xuICAgICAgQGluY2x1ZGUgc2V0Rm9udFN0eWxlKCdNb250JywgMjBweCwgNTAwLCAkZGFyay1ncmV5LCAxMDAlKTtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICAgICAgYm9yZGVyLXJhZGl1czogMDtcbiAgICAgIHRvcDogMTdweDtcbiAgICAgIHBhZGRpbmc6IDAgNXB4O1xuICAgICAgLy8gdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDEwMCUpO1xuICAgICAgQGluY2x1ZGUgdGFibGV0IHtcbiAgICAgICAgZm9udC1zaXplOiAxNnB4O1xuICAgICAgfVxuICAgICAgQGluY2x1ZGUgbW9iaWxlIHtcbiAgICAgICAgZm9udC1zaXplOiAxNHB4OyAgICBcbiAgICAgIH1cblxuICAgICAgJjpiZWZvcmUge1xuICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgfVxuXG4gICAgICAmOjphZnRlciB7XG4gICAgICAgIGNvbnRlbnQ6ICclJztcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAmLW1pbixcbiAgJi1tYXgge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cbn1cblxuLnB1cnBsZS1ibG9jayB7XG4gIGJhY2tncm91bmQ6ICRsYXZhbmRlcjtcbiAgYm9yZGVyLXJhZGl1czogMTVweCAxNXB4IDE1cHggMHB4O1xuICBwYWRkaW5nOiAyM3B4IDMwcHg7XG4gIHBhZGRpbmctcmlnaHQ6IDA7XG4gIG1pbi13aWR0aDogMzE2cHg7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0xMDAlKTtcbiAgdG9wOiAtMzBweDtcbiAgei1pbmRleDogMTtcbiAgdmlzaWJpbGl0eTogaGlkZGVuO1xuICBvcGFjaXR5OiAwO1xuICBAaW5jbHVkZSBtdWx0aXBsZS10cmFuc2l0aW9ucygwLjNzLCBlYXNlLWluLW91dCwgdmlzaWJpbGl0eSwgb3BhY2l0eSk7XG5cbiAgJi5hY3RpdmUge1xuICAgIHZpc2liaWxpdHk6IHZpc2libGU7XG4gICAgb3BhY2l0eTogMTtcbiAgfVxuXG4gICY6OmJlZm9yZSB7XG4gICAgY29udGVudDogJyc7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgLy8gYmFja2dyb3VuZC1jb2xvcjogJGxhdmFuZGVyO1xuICAgIC8vIGJvcmRlcjogMjRweCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgICAvLyBib3JkZXItYm90dG9tOiAwO1xuICAgIGJvcmRlci1zdHlsZTogc29saWQ7XG4gICAgYm9yZGVyLXdpZHRoOiAxMXB4IDExLjVweCAwIDExLjVweDtcbiAgICBib3JkZXItY29sb3I6ICRsYXZhbmRlciB0cmFuc3BhcmVudCB0cmFuc3BhcmVudCB0cmFuc3BhcmVudDtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgbGVmdDogMDtcbiAgICBib3R0b206IDA7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDEwMCUpO1xuICB9XG5cbiAgJl9fcGFyIHtcbiAgICBAaW5jbHVkZSBzZXRGb250U3R5bGUoJ01vbnQnLCAxNHB4LCA0MDAsICR3aGl0ZS1jb2xvciwgMTAwJSwgMC4wMWVtLCBub25lKTtcblxuICAgICY6bm90KDpsYXN0LWNoaWxkKSB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAxMHB4O1xuICAgIH1cbiAgfVxufVxuXG4uaWNvbi0ge1xuICAmLXB1cnBsZS1ibG9jay1jbG9zZSB7XG4gICAgQGluY2x1ZGUgd2lkdGgtaGVpZ3RoKDEwcHgpO1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAxNXB4O1xuICAgIHJpZ2h0OiAxNXB4O1xuICB9XG59XG4iLCIuc3RvY2tzLW5ld3Mge1xuICAmX19oZWFkZXIge1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICBtYXJnaW4tYm90dG9tOiAzMHB4O1xuICAgIEBpbmNsdWRlIG1vYmlsZSB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAyMHB4O1xuICAgIH1cbiAgfVxuXG4gICZfX2NvbnRlbnQge1xuICAgIHBhZGRpbmc6IDAgdmFyKC0tbHItcGFkZGluZ3MpO1xuICB9XG5cbiAgJl9fYnRuLXdyYXBwZXIge1xuICAgIEBpbmNsdWRlIGJhc2VGbGV4U3R5bGUoJGp1c3RpZnktY29udGVudDogY2VudGVyKTtcbiAgICBtYXJnaW4tYm90dG9tOiA1MHB4O1xuICAgIEBpbmNsdWRlIG1vYmlsZSB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAyMHB4O1xuICAgIH1cbiAgfVxuXG4gICZfX2J0biB7XG4gICAgQGluY2x1ZGUgbGluay1idG5zKFxuICAgICAgMTI1cHgsXG4gICAgICA1MHB4LFxuICAgICAgdHJhbnNwYXJlbnQsXG4gICAgICAxNHB4LFxuICAgICAgJGRhcmstZ3JleSxcbiAgICAgIDQwMCxcbiAgICAgIDFweCBzb2xpZCByZ2JhKDc0LCA1OCwgOTQsIDAuMTUpLFxuICAgICAgMFxuICAgICk7XG4gICAgQGluY2x1ZGUgbXVsdGlwbGUtdHJhbnNpdGlvbnMoMC4zcywgZWFzZS1pbi1vdXQsIGNvbG9yLCBiYWNrZ3JvdW5kLWNvbG9yKTtcbiAgICBsZXR0ZXItc3BhY2luZzogMC4wMWVtO1xuICAgIHRleHQtdHJhbnNmb3JtOiBub25lO1xuICAgIEBpbmNsdWRlIG1vYmlsZSB7XG4gICAgICBoZWlnaHQ6IDMwcHg7XG4gICAgICB3aWR0aDogNjlweDtcbiAgICAgIGZvbnQtc2l6ZTogMTBweDtcbiAgICB9XG4gICAgQGluY2x1ZGUgZnJvbSgxMDI1cHgpe1xuICAgICAgJjpob3ZlciB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRkYXJrLXZpb2xldDtcbiAgICAgICAgY29sb3I6ICR3aGl0ZS1jb2xvcjtcbiAgICAgIH1cbiAgICB9XG4gICAgLy8gY29sb3I6ICRkYXJrLWdyZXk7XG5cbiAgICAmLmFjdGl2ZSB7XG4gICAgICBjb2xvcjogJGxpZ2h0LWdyZXk7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkZGFyay12aW9sZXQ7XG4gICAgfVxuXG4gICAgJl9sZWZ0IHtcbiAgICAgIGJvcmRlci1yYWRpdXM6IDEwMHB4IDBweCAwcHggMTAwcHg7XG4gICAgfVxuXG4gICAgJl9yaWdodCB7XG4gICAgICBib3JkZXItcmFkaXVzOiAwcHggMTAwcHggMTAwcHggMHB4O1xuICAgIH1cbiAgfVxuXG4gICZfX2NhcmRzLXdyYXBwZXIge1xuICAgIEBpbmNsdWRlIGdyaWQtY2FyZC1jb250ZW50O1xuICAgIG1hcmdpbi1ib3R0b206IDEwMHB4O1xuICAgIEBpbmNsdWRlIHRhYmxldCB7XG4gICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDFmcjtcbiAgICAgIGdyaWQtYXV0by1yb3dzOiBtaW5tYXgoMjE2cHgsIDFmcik7XG4gICAgICBncmlkLXRlbXBsYXRlLXJvd3M6IG1pbi1jb250ZW50O1xuICAgICAgZ3JpZC1nYXA6IDQwcHg7XG4gICAgICBtYXJnaW4tYm90dG9tOiA0MHB4O1xuICAgIH1cbiAgICBAaW5jbHVkZSBtb2JpbGUge1xuICAgICAgZ3JpZC1nYXA6IDIwcHg7XG4gICAgfVxuICB9XG5cbiAgJl9fbG9hZC1tb3JlIHtcbiAgICAmLXdyYXBwZXIge1xuICAgICAgQGluY2x1ZGUgYmFzZUZsZXhTdHlsZSgkanVzdGlmeS1jb250ZW50OiBjZW50ZXIpO1xuICAgIH1cblxuICAgICYtYnRuIHtcbiAgICAgIEBpbmNsdWRlIGxpbmstYnRucygyNzBweCwgNzBweCwgJGRhcmstdmlvbGV0LCAxNHB4LCAkbGlnaHQtZ3JleSwgNDAwKTtcbiAgICAgIEBpbmNsdWRlIG1vYmlsZSB7XG4gICAgICAgIHdpZHRoOiAxNzBweDtcbiAgICAgICAgaGVpZ2h0OiA0NXB4O1xuICAgICAgICBmb250LXNpemU6IDEwcHg7XG4gICAgICB9XG4gICAgICBAaW5jbHVkZSBmcm9tKDEwMjVweCl7XG4gICAgICAgIHRyYW5zaXRpb246IC4yNXMgZWFzZS1vdXQ7XG4gICAgICAgICY6aG92ZXIge1xuICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRsaWdodC1sYXZhbmRlcjtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG4uaWNvbiB7XG4gICYtLWRpc2NvdW50IHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAwO1xuICAgIGxlZnQ6IDA7XG4gICAgQGluY2x1ZGUgd2lkdGgtaGVpZ3RoKDUwcHgpO1xuICB9XG59XG4iLCIvLyAuc3dpcGVyIHtcbi8vICAgLy8gcGFkZGluZzogMTIwcHg7XG4vLyAgIC8vIG92ZXJmbG93OiBoaWRkZW47XG5cbi8vICAgJi1zbGlkZSB7XG4vLyAgICAgJjpub3QoOmZpcnN0LWNoaWxkKSB7XG4vLyAgICAgICAvLyBwYWRkaW5nOiAwIDEwcHg7XG4vLyAgICAgfVxuLy8gICB9XG5cbi8vICAgJi13cmFwcGVyIHtcbi8vICAgICAvLyBwYWRkaW5nOiAxMjBweDtcbi8vICAgICAvLyBtYXgtd2lkdGg6IDE2ODBweDtcbi8vICAgfVxuLy8gfVxuXG4vLyAuc3dpcGVyLXBhZ2Utd3JhcHBlciB7XG4vLyAgIG1hcmdpbjogMTIwcHg7XG4vLyAgIG92ZXJmbG93LXg6IGhpZGRlbjtcbi8vIH1cblxuLy8gLnNsaWRlci1zZWN0aW9uIHtcbi8vICAgJl9fY29udHJvbGxlciB7XG4vLyAgICAgQGluY2x1ZGUgYmFzZUZsZXhTdHlsZShjZW50ZXIsIGNlbnRlcik7XG4vLyAgICAgYm9yZGVyLXJhZGl1czogNTAlO1xuLy8gICAgIGJhY2tncm91bmQtY29sb3I6ICRkYXJrLXZpb2xldDtcbi8vICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4vLyAgICAgb3BhY2l0eTogMDtcbi8vICAgICB6LWluZGV4OiAyMDtcbi8vICAgICBAaW5jbHVkZSB3aWR0aC1oZWlndGgoMCk7XG4vLyAgICAgLy8gQGluY2x1ZGUgbXVsdGlwbGUtdHJhbnNpdGlvbnMoMC41cywgZWFzZS1pbi1vdXQsIG9wYWNpdHksIHdpZHRoLCBoZWlnaHQpO1xuLy8gICAgIEBpbmNsdWRlIG11bHRpcGxlLXRyYW5zaXRpb25zKDAuNXMsIGVhc2UtaW4tb3V0LCB3aWR0aCwgaGVpZ2h0KTtcbi8vICAgICBwb3NpdGlvbjogZml4ZWQ7XG4vLyAgICAgdG9wOiAwO1xuLy8gICAgIGxlZnQ6IDA7XG4vLyAgICAgLy8gdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgLTUwJSk7XG5cbi8vICAgICAmLmFjdGl2ZSB7XG4vLyAgICAgICBAaW5jbHVkZSB3aWR0aC1oZWlndGgoMTEwcHgpO1xuLy8gICAgICAgb3BhY2l0eTogMTtcbi8vICAgICB9XG5cbi8vICAgICAmLXRleHQge1xuLy8gICAgICAgQGluY2x1ZGUgc2V0Rm9udFN0eWxlKCdNb250JywgMjJweCwgNDAwLCAkbGlnaHQtZ3JleSwgMTAwJSk7XG4vLyAgICAgICBtYXJnaW4tcmlnaHQ6IDlweDtcbi8vICAgICAgIC8vIG9wYWNpdHk6IDA7XG5cbi8vICAgICAgIC8vICYuYWN0aXZlIHtcbi8vICAgICAgIC8vICAgdHJhbnNpdGlvbjogb3BhY2l0eSAwLjVzIGVhc2UtaW4tb3V0O1xuLy8gICAgICAgLy8gICBvcGFjaXR5OiAxO1xuLy8gICAgICAgLy8gfVxuLy8gICAgIH1cblxuLy8gICAgICYtYXJyb3cge1xuLy8gICAgICAgQGluY2x1ZGUgd2lkdGgtaGVpZ3RoKDdweCwgMTRweCk7XG4vLyAgICAgfVxuLy8gICB9XG4vLyB9XG4iXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBS0FBOzs7Ozs7Ozs7O0dBVUc7QUFFSCxVQUFVO0VBQ1IsV0FBVyxFQUFFLGNBQWM7RUFDM0IsR0FBRyxFQUFFLHdyRUFBd3JFLENBQUMsY0FBYztFQUM1c0UsV0FBVyxFQUFFLEdBQUc7RUFDaEIsVUFBVSxFQUFFLE1BQU07OztBQUVwQixBQUFBLEtBQUssQ0FBQztFQUNKLG9CQUFvQixDQUFBLFFBQUM7Q0FDdEI7O0FBQ0QsQUFBQSxpQkFBaUIsQ0FBQztFQUNoQixXQUFXLEVBQUUsSUFBSTtFQUNqQixZQUFZLEVBQUUsSUFBSTtFQUNsQixRQUFRLEVBQUUsUUFBUTtFQUNsQixRQUFRLEVBQUUsTUFBTTtFQUNoQixVQUFVLEVBQUUsSUFBSTtFQUNoQixPQUFPLEVBQUUsQ0FBQztFQUNWLDhCQUE4QjtFQUM5QixPQUFPLEVBQUUsQ0FBQztDQUNYOztBQUNELEFBQUEsMEJBQTBCLEdBQUcsZUFBZSxDQUFDO0VBQzNDLGNBQWMsRUFBRSxNQUFNO0NBQ3ZCOztBQUNELEFBQUEsZUFBZSxDQUFDO0VBQ2QsUUFBUSxFQUFFLFFBQVE7RUFDbEIsS0FBSyxFQUFFLElBQUk7RUFDWCxNQUFNLEVBQUUsSUFBSTtFQUNaLE9BQU8sRUFBRSxDQUFDO0VBQ1YsT0FBTyxFQUFFLElBQUk7RUFDYixtQkFBbUIsRUFBRSxTQUFTO0VBQzlCLFVBQVUsRUFBRSxXQUFXO0NBQ3hCOztBQUNELEFBQUEseUJBQXlCLENBQUMsYUFBYTtBQUN2QyxlQUFlLENBQUM7RUFDZCxTQUFTLEVBQUUsc0JBQXNCO0NBQ2xDOztBQUNELEFBQUEsMEJBQTBCLEdBQUcsZUFBZSxDQUFDO0VBQzNDLFNBQVMsRUFBRSxJQUFJO0NBQ2hCOztBQUNELEFBQUEsaUNBQWlDLEdBQUcsZUFBZSxDQUFDO0VBQ2xELFNBQVMsRUFBRSxJQUFJO0VBQ2YsY0FBYyxFQUFFLE1BQU07Q0FDdkI7O0FB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 */
