/**
 * Swiper 9.0.5
 * Most modern mobile touch slider and framework with hardware accelerated transitions
 * https://swiperjs.com
 *
 * Copyright 2014-2023 Vladimir Kharlampidi
 *
 * Released under the MIT License
 *
 * Released on: February 13, 2023
 */

/* FONT_START */
@font-face {
  font-family: 'swiper-icons';
  src: url('data:application/font-woff;charset=utf-8;base64, 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');
  font-weight: 400;
  font-style: normal;
}
/* FONT_END */
:root {
  --swiper-theme-color: #007aff;
  /*
  --swiper-preloader-color: var(--swiper-theme-color);
  --swiper-wrapper-transition-timing-function: initial;
  */
}
.swiper,
swiper-container {
  margin-left: auto;
  margin-right: auto;
  position: relative;
  overflow: hidden;
  list-style: none;
  padding: 0;
  /* Fix of Webkit flickering */
  z-index: 1;
  display: block;
}
.swiper-vertical > .swiper-wrapper {
  flex-direction: column;
}
.swiper-wrapper {
  position: relative;
  width: 100%;
  height: 100%;
  z-index: 1;
  display: flex;
  transition-property: transform;
  transition-timing-function: var(--swiper-wrapper-transition-timing-function, initial);
  box-sizing: content-box;
}
.swiper-android .swiper-slide,
.swiper-wrapper {
  transform: translate3d(0px, 0, 0);
}
.swiper-horizontal {
  touch-action: pan-y;
}
.swiper-vertical {
  touch-action: pan-x;
}
.swiper-slide,
swiper-slide {
  flex-shrink: 0;
  width: 100%;
  height: 100%;
  position: relative;
  transition-property: transform;
  display: block;
}
.swiper-slide-invisible-blank {
  visibility: hidden;
}
/* Auto Height */
.swiper-autoheight,
.swiper-autoheight .swiper-slide {
  height: auto;
}
.swiper-autoheight .swiper-wrapper {
  align-items: flex-start;
  transition-property: transform, height;
}
.swiper-backface-hidden .swiper-slide {
  transform: translateZ(0);
  -webkit-backface-visibility: hidden;
          backface-visibility: hidden;
}
/* 3D Effects */
.swiper-3d.swiper-css-mode .swiper-wrapper {
  perspective: 1200px;
}
.swiper-3d .swiper-wrapper {
  transform-style: preserve-3d;
}
.swiper-3d {
  perspective: 1200px;
}
.swiper-3d .swiper-slide,
.swiper-3d .swiper-slide-shadow,
.swiper-3d .swiper-slide-shadow-left,
.swiper-3d .swiper-slide-shadow-right,
.swiper-3d .swiper-slide-shadow-top,
.swiper-3d .swiper-slide-shadow-bottom,
.swiper-3d .swiper-cube-shadow {
  transform-style: preserve-3d;
}
.swiper-3d .swiper-slide-shadow,
.swiper-3d .swiper-slide-shadow-left,
.swiper-3d .swiper-slide-shadow-right,
.swiper-3d .swiper-slide-shadow-top,
.swiper-3d .swiper-slide-shadow-bottom {
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  pointer-events: none;
  z-index: 10;
}
.swiper-3d .swiper-slide-shadow {
  background: rgba(0, 0, 0, 0.15);
}
.swiper-3d .swiper-slide-shadow-left {
  background-image: linear-gradient(to left, rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0));
}
.swiper-3d .swiper-slide-shadow-right {
  background-image: linear-gradient(to right, rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0));
}
.swiper-3d .swiper-slide-shadow-top {
  background-image: linear-gradient(to top, rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0));
}
.swiper-3d .swiper-slide-shadow-bottom {
  background-image: linear-gradient(to bottom, rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0));
}
/* CSS Mode */
.swiper-css-mode > .swiper-wrapper {
  overflow: auto;
  scrollbar-width: none;
  /* For Firefox */
  -ms-overflow-style: none;
  /* For Internet Explorer and Edge */
}
.swiper-css-mode > .swiper-wrapper::-webkit-scrollbar {
  display: none;
}
.swiper-css-mode > .swiper-wrapper > .swiper-slide {
  scroll-snap-align: start start;
}
.swiper-horizontal.swiper-css-mode > .swiper-wrapper {
  -ms-scroll-snap-type: x mandatory;
      scroll-snap-type: x mandatory;
}
.swiper-vertical.swiper-css-mode > .swiper-wrapper {
  -ms-scroll-snap-type: y mandatory;
      scroll-snap-type: y mandatory;
}
.swiper-centered > .swiper-wrapper::before {
  content: '';
  flex-shrink: 0;
  order: 9999;
}
.swiper-centered > .swiper-wrapper > .swiper-slide {
  scroll-snap-align: center center;
  scroll-snap-stop: always;
}
.swiper-centered.swiper-horizontal > .swiper-wrapper > .swiper-slide:first-child {
  -webkit-margin-start: var(--swiper-centered-offset-before);
          margin-inline-start: var(--swiper-centered-offset-before);
}
.swiper-centered.swiper-horizontal > .swiper-wrapper::before {
  height: 100%;
  min-height: 1px;
  width: var(--swiper-centered-offset-after);
}
.swiper-centered.swiper-vertical > .swiper-wrapper > .swiper-slide:first-child {
  -webkit-margin-before: var(--swiper-centered-offset-before);
          margin-block-start: var(--swiper-centered-offset-before);
}
.swiper-centered.swiper-vertical > .swiper-wrapper::before {
  width: 100%;
  min-width: 1px;
  height: var(--swiper-centered-offset-after);
}
.swiper-lazy-preloader {
  width: 42px;
  height: 42px;
  position: absolute;
  left: 50%;
  top: 50%;
  margin-left: -21px;
  margin-top: -21px;
  z-index: 10;
  transform-origin: 50%;
  box-sizing: border-box;
  border: 4px solid var(--swiper-preloader-color, var(--swiper-theme-color));
  border-radius: 50%;
  border-top-color: transparent;
}
.swiper:not(.swiper-watch-progress) .swiper-lazy-preloader,
swiper-container:not(.swiper-watch-progress) .swiper-lazy-preloader,
.swiper-watch-progress .swiper-slide-visible .swiper-lazy-preloader {
  -webkit-animation: swiper-preloader-spin 1s infinite linear;
          animation: swiper-preloader-spin 1s infinite linear;
}
.swiper-lazy-preloader-white {
  --swiper-preloader-color: #fff;
}
.swiper-lazy-preloader-black {
  --swiper-preloader-color: #000;
}
@-webkit-keyframes swiper-preloader-spin {
  0% {
    transform: rotate(0deg);
  }
  100% {
    transform: rotate(360deg);
  }
}
@keyframes swiper-preloader-spin {
  0% {
    transform: rotate(0deg);
  }
  100% {
    transform: rotate(360deg);
  }
}
.swiper-virtual .swiper-slide {
  -webkit-backface-visibility: hidden;
  transform: translateZ(0);
}
.swiper-virtual.swiper-css-mode .swiper-wrapper::after {
  content: '';
  position: absolute;
  left: 0;
  top: 0;
  pointer-events: none;
}
.swiper-virtual.swiper-css-mode.swiper-horizontal .swiper-wrapper::after {
  height: 1px;
  width: var(--swiper-virtual-size);
}
.swiper-virtual.swiper-css-mode.swiper-vertical .swiper-wrapper::after {
  width: 1px;
  height: var(--swiper-virtual-size);
}
:root {
  --swiper-navigation-size: 44px;
  /*
  --swiper-navigation-top-offset: 50%;
  --swiper-navigation-sides-offset: 10px;
  --swiper-navigation-color: var(--swiper-theme-color);
  */
}
.swiper-button-prev,
.swiper-button-next {
  position: absolute;
  top: var(--swiper-navigation-top-offset, 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.swiper-button-hidden,
.swiper-button-next.swiper-button-hidden {
  opacity: 0;
  cursor: auto;
  pointer-events: none;
}
.swiper-navigation-disabled .swiper-button-prev,
.swiper-navigation-disabled .swiper-button-next {
  display: none !important;
}
.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;
  font-variant: initial;
  line-height: 1;
}
.swiper-button-prev,
.swiper-rtl .swiper-button-next {
  left: var(--swiper-navigation-sides-offset, 10px);
  right: auto;
}
.swiper-button-prev:after,
.swiper-rtl .swiper-button-next:after {
  content: 'prev';
}
.swiper-button-next,
.swiper-rtl .swiper-button-prev {
  right: var(--swiper-navigation-sides-offset, 10px);
  left: auto;
}
.swiper-button-next:after,
.swiper-rtl .swiper-button-prev:after {
  content: 'next';
}
.swiper-button-lock {
  display: none;
}
:root {
  /*
  --swiper-pagination-color: var(--swiper-theme-color);
  --swiper-pagination-left: auto;
  --swiper-pagination-right: 8px;
  --swiper-pagination-bottom: 8px;
  --swiper-pagination-top: auto;
  --swiper-pagination-fraction-color: inherit;
  --swiper-pagination-progressbar-bg-color: rgba(0,0,0,0.25);
  --swiper-pagination-progressbar-size: 4px;
  --swiper-pagination-bullet-size: 8px;
  --swiper-pagination-bullet-width: 8px;
  --swiper-pagination-bullet-height: 8px;
  --swiper-pagination-bullet-inactive-color: #000;
  --swiper-pagination-bullet-inactive-opacity: 0.2;
  --swiper-pagination-bullet-opacity: 1;
  --swiper-pagination-bullet-horizontal-gap: 4px;
  --swiper-pagination-bullet-vertical-gap: 6px;
  */
}
.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;
}
.swiper-pagination-disabled > .swiper-pagination,
.swiper-pagination.swiper-pagination-disabled {
  display: none !important;
}
/* Common Styles */
.swiper-pagination-fraction,
.swiper-pagination-custom,
.swiper-horizontal > .swiper-pagination-bullets,
.swiper-pagination-bullets.swiper-pagination-horizontal {
  bottom: var(--swiper-pagination-bottom, 8px);
  top: var(--swiper-pagination-top, auto);
  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: var(--swiper-pagination-bullet-width, var(--swiper-pagination-bullet-size, 8px));
  height: var(--swiper-pagination-bullet-height, var(--swiper-pagination-bullet-size, 8px));
  display: inline-block;
  border-radius: 50%;
  background: var(--swiper-pagination-bullet-inactive-color, #000);
  opacity: var(--swiper-pagination-bullet-inactive-opacity, 0.2);
}
button.swiper-pagination-bullet {
  border: none;
  margin: 0;
  padding: 0;
  box-shadow: none;
  -webkit-appearance: none;
          -moz-appearance: none;
       appearance: none;
}
.swiper-pagination-clickable .swiper-pagination-bullet {
  cursor: pointer;
}
.swiper-pagination-bullet:only-child {
  display: none !important;
}
.swiper-pagination-bullet-active {
  opacity: var(--swiper-pagination-bullet-opacity, 1);
  background: var(--swiper-pagination-color, var(--swiper-theme-color));
}
.swiper-vertical > .swiper-pagination-bullets,
.swiper-pagination-vertical.swiper-pagination-bullets {
  right: var(--swiper-pagination-right, 8px);
  left: var(--swiper-pagination-left, auto);
  top: 50%;
  transform: translate3d(0px, -50%, 0);
}
.swiper-vertical > .swiper-pagination-bullets .swiper-pagination-bullet,
.swiper-pagination-vertical.swiper-pagination-bullets .swiper-pagination-bullet {
  margin: var(--swiper-pagination-bullet-vertical-gap, 6px) 0;
  display: block;
}
.swiper-vertical > .swiper-pagination-bullets.swiper-pagination-bullets-dynamic,
.swiper-pagination-vertical.swiper-pagination-bullets.swiper-pagination-bullets-dynamic {
  top: 50%;
  transform: translateY(-50%);
  width: 8px;
}
.swiper-vertical > .swiper-pagination-bullets.swiper-pagination-bullets-dynamic .swiper-pagination-bullet,
.swiper-pagination-vertical.swiper-pagination-bullets.swiper-pagination-bullets-dynamic .swiper-pagination-bullet {
  display: inline-block;
  transition: 200ms transform, 200ms top;
}
.swiper-horizontal > .swiper-pagination-bullets .swiper-pagination-bullet,
.swiper-pagination-horizontal.swiper-pagination-bullets .swiper-pagination-bullet {
  margin: 0 var(--swiper-pagination-bullet-horizontal-gap, 4px);
}
.swiper-horizontal > .swiper-pagination-bullets.swiper-pagination-bullets-dynamic,
.swiper-pagination-horizontal.swiper-pagination-bullets.swiper-pagination-bullets-dynamic {
  left: 50%;
  transform: translateX(-50%);
  white-space: nowrap;
}
.swiper-horizontal > .swiper-pagination-bullets.swiper-pagination-bullets-dynamic .swiper-pagination-bullet,
.swiper-pagination-horizontal.swiper-pagination-bullets.swiper-pagination-bullets-dynamic .swiper-pagination-bullet {
  transition: 200ms transform, 200ms left;
}
.swiper-horizontal.swiper-rtl > .swiper-pagination-bullets-dynamic .swiper-pagination-bullet,
:host(.swiper-horizontal.swiper-rtl) .swiper-pagination-bullets-dynamic .swiper-pagination-bullet {
  transition: 200ms transform, 200ms right;
}
/* Fraction */
.swiper-pagination-fraction {
  color: var(--swiper-pagination-fraction-color, inherit);
}
/* Progress */
.swiper-pagination-progressbar {
  background: var(--swiper-pagination-progressbar-bg-color, rgba(0, 0, 0, 0.25));
  position: absolute;
  /*ADD_HOST*/
}
.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-rtl .swiper-pagination-progressbar .swiper-pagination-progressbar-fill {
  transform-origin: right top;
}
.swiper-horizontal > .swiper-pagination-progressbar,
.swiper-pagination-progressbar.swiper-pagination-horizontal,
.swiper-vertical > .swiper-pagination-progressbar.swiper-pagination-progressbar-opposite,
.swiper-pagination-progressbar.swiper-pagination-vertical.swiper-pagination-progressbar-opposite {
  width: 100%;
  height: var(--swiper-pagination-progressbar-size, 4px);
  left: 0;
  top: 0;
}
.swiper-vertical > .swiper-pagination-progressbar,
.swiper-pagination-progressbar.swiper-pagination-vertical,
.swiper-horizontal > .swiper-pagination-progressbar.swiper-pagination-progressbar-opposite,
.swiper-pagination-progressbar.swiper-pagination-horizontal.swiper-pagination-progressbar-opposite {
  width: var(--swiper-pagination-progressbar-size, 4px);
  height: 100%;
  left: 0;
  top: 0;
}
.swiper-pagination-lock {
  display: none;
}
:root {
  /*
  --swiper-scrollbar-border-radius: 10px;
  --swiper-scrollbar-top: auto;
  --swiper-scrollbar-bottom: 4px;
  --swiper-scrollbar-left: auto;
  --swiper-scrollbar-right: 4px;
  --swiper-scrollbar-sides-offset: 1%;
  --swiper-scrollbar-bg-color: rgba(0, 0, 0, 0.1);
  --swiper-scrollbar-drag-bg-color: rgba(0, 0, 0, 0.5);
  --swiper-scrollbar-size: 4px;
  */
}
.swiper-scrollbar {
  border-radius: var(--swiper-scrollbar-border-radius, 10px);
  position: relative;
  -ms-touch-action: none;
  background: var(--swiper-scrollbar-bg-color, rgba(0, 0, 0, 0.1));
}
.swiper-scrollbar-disabled > .swiper-scrollbar,
.swiper-scrollbar.swiper-scrollbar-disabled {
  display: none !important;
}
.swiper-horizontal > .swiper-scrollbar,
.swiper-scrollbar.swiper-scrollbar-horizontal {
  position: absolute;
  left: var(--swiper-scrollbar-sides-offset, 1%);
  bottom: var(--swiper-scrollbar-bottom, 4px);
  top: var(--swiper-scrollbar-top, auto);
  z-index: 50;
  height: var(--swiper-scrollbar-size, 4px);
  width: calc(100% - 2 * var(--swiper-scrollbar-sides-offset, 1%));
}
.swiper-vertical > .swiper-scrollbar,
.swiper-scrollbar.swiper-scrollbar-vertical {
  position: absolute;
  left: var(--swiper-scrollbar-left, auto);
  right: var(--swiper-scrollbar-right, 4px);
  top: var(--swiper-scrollbar-sides-offset, 1%);
  z-index: 50;
  width: var(--swiper-scrollbar-size, 4px);
  height: calc(100% - 2 * var(--swiper-scrollbar-sides-offset, 1%));
}
.swiper-scrollbar-drag {
  height: 100%;
  width: 100%;
  position: relative;
  background: var(--swiper-scrollbar-drag-bg-color, rgba(0, 0, 0, 0.5));
  border-radius: var(--swiper-scrollbar-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%;
  -o-object-fit: contain;
     object-fit: contain;
}
.swiper-slide-zoomed {
  cursor: move;
  touch-action: none;
}
/* a11y */
.swiper .swiper-notification,
swiper-container .swiper-notification {
  position: absolute;
  left: 0;
  top: 0;
  pointer-events: none;
  opacity: 0;
  z-index: -1000;
}
.swiper-free-mode > .swiper-wrapper {
  transition-timing-function: ease-out;
  margin: 0 auto;
}
.swiper-grid > .swiper-wrapper {
  flex-wrap: wrap;
}
.swiper-grid-column > .swiper-wrapper {
  flex-wrap: wrap;
  flex-direction: column;
}
.swiper-fade.swiper-free-mode .swiper-slide {
  transition-timing-function: ease-out;
}
.swiper-fade .swiper-slide {
  pointer-events: none;
  transition-property: opacity;
}
.swiper-fade .swiper-slide .swiper-slide {
  pointer-events: none;
}
.swiper-fade .swiper-slide-active,
.swiper-fade .swiper-slide-active .swiper-slide-active {
  pointer-events: auto;
}
.swiper-cube {
  overflow: visible;
}
.swiper-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-cube .swiper-slide .swiper-slide {
  pointer-events: none;
}
.swiper-cube.swiper-rtl .swiper-slide {
  transform-origin: 100% 0;
}
.swiper-cube .swiper-slide-active,
.swiper-cube .swiper-slide-active .swiper-slide-active {
  pointer-events: auto;
}
.swiper-cube .swiper-slide-active,
.swiper-cube .swiper-slide-next,
.swiper-cube .swiper-slide-prev,
.swiper-cube .swiper-slide-next + .swiper-slide {
  pointer-events: auto;
  visibility: visible;
}
.swiper-cube .swiper-slide-shadow-top,
.swiper-cube .swiper-slide-shadow-bottom,
.swiper-cube .swiper-slide-shadow-left,
.swiper-cube .swiper-slide-shadow-right {
  z-index: 0;
  -webkit-backface-visibility: hidden;
          backface-visibility: hidden;
}
.swiper-cube .swiper-cube-shadow {
  position: absolute;
  left: 0;
  bottom: 0px;
  width: 100%;
  height: 100%;
  opacity: 0.6;
  z-index: 0;
}
.swiper-cube .swiper-cube-shadow:before {
  content: '';
  background: #000;
  position: absolute;
  left: 0;
  top: 0;
  bottom: 0;
  right: 0;
  filter: blur(50px);
}
.swiper-flip {
  overflow: visible;
}
.swiper-flip .swiper-slide {
  pointer-events: none;
  -webkit-backface-visibility: hidden;
          backface-visibility: hidden;
  z-index: 1;
}
.swiper-flip .swiper-slide .swiper-slide {
  pointer-events: none;
}
.swiper-flip .swiper-slide-active,
.swiper-flip .swiper-slide-active .swiper-slide-active {
  pointer-events: auto;
}
.swiper-flip .swiper-slide-shadow-top,
.swiper-flip .swiper-slide-shadow-bottom,
.swiper-flip .swiper-slide-shadow-left,
.swiper-flip .swiper-slide-shadow-right {
  z-index: 0;
  -webkit-backface-visibility: hidden;
          backface-visibility: hidden;
}
.swiper-creative .swiper-slide {
  -webkit-backface-visibility: hidden;
          backface-visibility: hidden;
  overflow: hidden;
  transition-property: transform, opacity, height;
}
.swiper-cards {
  overflow: visible;
}
.swiper-cards .swiper-slide {
  transform-origin: center bottom;
  -webkit-backface-visibility: hidden;
          backface-visibility: hidden;
  overflow: hidden;
}

.choices{position:relative;margin-bottom:24px;font-size:16px}.choices:focus{outline:0}.choices:last-child{margin-bottom:0}.choices.is-disabled .choices__inner,.choices.is-disabled .choices__input{background-color:#eaeaea;cursor:not-allowed;-webkit-user-select:none;-ms-user-select:none;-moz-user-select:none;user-select:none}.choices.is-disabled .choices__item{cursor:not-allowed}.choices [hidden]{display:none!important}.choices[data-type*=select-one]{cursor:pointer}.choices[data-type*=select-one] .choices__inner{padding-bottom:7.5px}.choices[data-type*=select-one] .choices__input{display:block;width:100%;padding:10px;border-bottom:1px solid #ddd;background-color:#fff;margin:0}.choices[data-type*=select-one] .choices__button{background-image:url(data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMjEiIGhlaWdodD0iMjEiIHZpZXdCb3g9IjAgMCAyMSAyMSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj48ZyBmaWxsPSIjMDAwIiBmaWxsLXJ1bGU9ImV2ZW5vZGQiPjxwYXRoIGQ9Ik0yLjU5Mi4wNDRsMTguMzY0IDE4LjM2NC0yLjU0OCAyLjU0OEwuMDQ0IDIuNTkyeiIvPjxwYXRoIGQ9Ik0wIDE4LjM2NEwxOC4zNjQgMGwyLjU0OCAyLjU0OEwyLjU0OCAyMC45MTJ6Ii8+PC9nPjwvc3ZnPg==);padding:0;background-size:8px;position:absolute;top:50%;right:0;margin-top:-10px;margin-right:25px;height:20px;width:20px;border-radius:10em;opacity:.5}.choices[data-type*=select-one] .choices__button:focus,.choices[data-type*=select-one] .choices__button:hover{opacity:1}.choices[data-type*=select-one] .choices__button:focus{box-shadow:0 0 0 2px #00bcd4}.choices[data-type*=select-one] .choices__item[data-value=''] .choices__button{display:none}.choices[data-type*=select-one]:after{content:'';height:0;width:0;border-style:solid;border-color:#333 transparent transparent;border-width:5px;position:absolute;right:11.5px;top:50%;margin-top:-2.5px;pointer-events:none}.choices[data-type*=select-one].is-open:after{border-color:transparent transparent #333;margin-top:-7.5px}.choices[data-type*=select-one][dir=rtl]:after{left:11.5px;right:auto}.choices[data-type*=select-one][dir=rtl] .choices__button{right:auto;left:0;margin-left:25px;margin-right:0}.choices[data-type*=select-multiple] .choices__inner,.choices[data-type*=text] .choices__inner{cursor:text}.choices[data-type*=select-multiple] .choices__button,.choices[data-type*=text] .choices__button{position:relative;display:inline-block;margin:0 -4px 0 8px;padding-left:16px;border-left:1px solid #008fa1;background-image:url(data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMjEiIGhlaWdodD0iMjEiIHZpZXdCb3g9IjAgMCAyMSAyMSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj48ZyBmaWxsPSIjRkZGIiBmaWxsLXJ1bGU9ImV2ZW5vZGQiPjxwYXRoIGQ9Ik0yLjU5Mi4wNDRsMTguMzY0IDE4LjM2NC0yLjU0OCAyLjU0OEwuMDQ0IDIuNTkyeiIvPjxwYXRoIGQ9Ik0wIDE4LjM2NEwxOC4zNjQgMGwyLjU0OCAyLjU0OEwyLjU0OCAyMC45MTJ6Ii8+PC9nPjwvc3ZnPg==);background-size:8px;width:8px;line-height:1;opacity:.75;border-radius:0}.choices[data-type*=select-multiple] .choices__button:focus,.choices[data-type*=select-multiple] .choices__button:hover,.choices[data-type*=text] .choices__button:focus,.choices[data-type*=text] .choices__button:hover{opacity:1}.choices__inner{display:inline-block;vertical-align:top;width:100%;background-color:#f9f9f9;padding:7.5px 7.5px 3.75px;border:1px solid #ddd;border-radius:2.5px;font-size:14px;min-height:44px;overflow:hidden}.is-focused .choices__inner,.is-open .choices__inner{border-color:#b7b7b7}.is-open .choices__inner{border-radius:2.5px 2.5px 0 0}.is-flipped.is-open .choices__inner{border-radius:0 0 2.5px 2.5px}.choices__list{margin:0;padding-left:0;list-style:none}.choices__list--single{display:inline-block;padding:4px 16px 4px 4px;width:100%}[dir=rtl] .choices__list--single{padding-right:4px;padding-left:16px}.choices__list--single .choices__item{width:100%}.choices__list--multiple{display:inline}.choices__list--multiple .choices__item{display:inline-block;vertical-align:middle;border-radius:20px;padding:4px 10px;font-size:12px;font-weight:500;margin-right:3.75px;margin-bottom:3.75px;background-color:#00bcd4;border:1px solid #00a5bb;color:#fff;word-break:break-all;box-sizing:border-box}.choices__list--multiple .choices__item[data-deletable]{padding-right:5px}[dir=rtl] .choices__list--multiple .choices__item{margin-right:0;margin-left:3.75px}.choices__list--multiple .choices__item.is-highlighted{background-color:#00a5bb;border:1px solid #008fa1}.is-disabled .choices__list--multiple .choices__item{background-color:#aaa;border:1px solid #919191}.choices__list--dropdown{visibility:hidden;z-index:1;position:absolute;width:100%;background-color:#fff;border:1px solid #ddd;top:100%;margin-top:-1px;border-bottom-left-radius:2.5px;border-bottom-right-radius:2.5px;overflow:hidden;word-break:break-all;will-change:visibility}.choices__list--dropdown.is-active{visibility:visible}.is-open .choices__list--dropdown{border-color:#b7b7b7}.is-flipped .choices__list--dropdown{top:auto;bottom:100%;margin-top:0;margin-bottom:-1px;border-radius:.25rem .25rem 0 0}.choices__list--dropdown .choices__list{position:relative;max-height:300px;overflow:auto;-webkit-overflow-scrolling:touch;will-change:scroll-position}.choices__list--dropdown .choices__item{position:relative;padding:10px;font-size:14px}[dir=rtl] .choices__list--dropdown .choices__item{text-align:right}@media (min-width:640px){.choices__list--dropdown .choices__item--selectable{padding-right:100px}.choices__list--dropdown .choices__item--selectable:after{content:attr(data-select-text);font-size:12px;opacity:0;position:absolute;right:10px;top:50%;transform:translateY(-50%)}[dir=rtl] .choices__list--dropdown .choices__item--selectable{text-align:right;padding-left:100px;padding-right:10px}[dir=rtl] .choices__list--dropdown .choices__item--selectable:after{right:auto;left:10px}}.choices__list--dropdown .choices__item--selectable.is-highlighted{background-color:#f2f2f2}.choices__list--dropdown .choices__item--selectable.is-highlighted:after{opacity:.5}.choices__item{cursor:default}.choices__item--selectable{cursor:pointer}.choices__item--disabled{cursor:not-allowed;-webkit-user-select:none;-ms-user-select:none;-moz-user-select:none;user-select:none;opacity:.5}.choices__heading{font-weight:600;font-size:12px;padding:10px;border-bottom:1px solid #f7f7f7;color:gray}.choices__button{text-indent:-9999px;-webkit-appearance:none;-moz-appearance:none;appearance:none;border:0;background-color:transparent;background-repeat:no-repeat;background-position:center;cursor:pointer}.choices__button:focus,.choices__input:focus{outline:0}.choices__input{display:inline-block;vertical-align:baseline;background-color:#f9f9f9;font-size:14px;margin-bottom:5px;border:0;border-radius:0;max-width:100%;padding:4px 0 4px 2px}[dir=rtl] .choices__input{padding-right:2px;padding-left:0}.choices__placeholder{opacity:.5}
/**
 * ----------------------
 * Un.titled
 * Main - Global
 * ----------------------
 */
/**
 * Dependencies
 */
/*!
 * baguetteBox.js
 * @author  feimosi
 * @version %%INJECT_VERSION%%
 * @url https://github.com/feimosi/baguetteBox.js
 */
#baguetteBox-overlay {
  display: none;
  opacity: 0;
  position: fixed;
  overflow: hidden;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: 1000000;
  background-color: #222;
  background-color: rgba(0, 0, 0, 0.8);
  transition: opacity 0.5s ease;
}
#baguetteBox-overlay.visible {
  opacity: 1;
}
#baguetteBox-overlay .full-image {
  display: inline-block;
  position: relative;
  width: 100%;
  height: 100%;
  text-align: center;
}
#baguetteBox-overlay .full-image figure {
  display: inline;
  margin: 0;
  height: 100%;
}
#baguetteBox-overlay .full-image img {
  display: inline-block;
  width: auto;
  height: auto;
  max-height: 100%;
  max-width: 100%;
  vertical-align: middle;
  box-shadow: 0 0 8px rgba(0, 0, 0, 0.6);
}
#baguetteBox-overlay .full-image figcaption {
  display: block;
  position: absolute;
  bottom: 0;
  width: 100%;
  text-align: center;
  line-height: 1.8;
  white-space: normal;
  color: #ccc;
  background-color: #000;
  background-color: rgba(0, 0, 0, 0.6);
  font-family: sans-serif;
}
#baguetteBox-overlay .full-image:before {
  content: "";
  display: inline-block;
  height: 50%;
  width: 1px;
  margin-right: -1px;
}

#baguetteBox-slider {
  position: absolute;
  left: 0;
  top: 0;
  height: 100%;
  width: 100%;
  white-space: nowrap;
  transition: left 0.4s ease, transform 0.4s ease;
}
#baguetteBox-slider.bounce-from-right {
  -webkit-animation: bounceFromRight 0.4s ease-out;
          animation: bounceFromRight 0.4s ease-out;
}
#baguetteBox-slider.bounce-from-left {
  -webkit-animation: bounceFromLeft 0.4s ease-out;
          animation: bounceFromLeft 0.4s ease-out;
}

@-webkit-keyframes bounceFromRight {
  0% {
    margin-left: 0;
  }
  50% {
    margin-left: -30px;
  }
  100% {
    margin-left: 0;
  }
}

@keyframes bounceFromRight {
  0% {
    margin-left: 0;
  }
  50% {
    margin-left: -30px;
  }
  100% {
    margin-left: 0;
  }
}
@-webkit-keyframes bounceFromLeft {
  0% {
    margin-left: 0;
  }
  50% {
    margin-left: 30px;
  }
  100% {
    margin-left: 0;
  }
}
@keyframes bounceFromLeft {
  0% {
    margin-left: 0;
  }
  50% {
    margin-left: 30px;
  }
  100% {
    margin-left: 0;
  }
}
.baguetteBox-button#previous-button, .baguetteBox-button#next-button {
  top: 50%;
  top: calc(50% - 30px);
  width: 44px;
  height: 60px;
}

.baguetteBox-button {
  position: absolute;
  cursor: pointer;
  outline: none;
  padding: 0;
  margin: 0;
  border: 0;
  border-radius: 15%;
  background-color: #323232;
  background-color: rgba(50, 50, 50, 0.5);
  color: #ddd;
  font: 1.6em sans-serif;
  transition: background-color 0.4s ease;
}
.baguetteBox-button:focus, .baguetteBox-button:hover {
  background-color: rgba(50, 50, 50, 0.9);
}
.baguetteBox-button#next-button {
  right: 2%;
}
.baguetteBox-button#previous-button {
  left: 2%;
}
.baguetteBox-button#close-button {
  top: 20px;
  right: 2%;
  right: calc(2% + 6px);
  width: 30px;
  height: 30px;
}
.baguetteBox-button svg {
  position: absolute;
  left: 0;
  top: 0;
}

/*
    Preloader
    Borrowed from http://tobiasahlin.com/spinkit/
*/
.baguetteBox-spinner {
  width: 40px;
  height: 40px;
  display: inline-block;
  position: absolute;
  top: 50%;
  left: 50%;
  margin-top: -20px;
  margin-left: -20px;
}

.baguetteBox-double-bounce1,
.baguetteBox-double-bounce2 {
  width: 100%;
  height: 100%;
  border-radius: 50%;
  background-color: #fff;
  opacity: 0.6;
  position: absolute;
  top: 0;
  left: 0;
  -webkit-animation: bounce 2s infinite ease-in-out;
          animation: bounce 2s infinite ease-in-out;
}

.baguetteBox-double-bounce2 {
  -webkit-animation-delay: -1s;
          animation-delay: -1s;
}

@-webkit-keyframes bounce {
  0%, 100% {
    transform: scale(0);
  }
  50% {
    transform: scale(1);
  }
}

@keyframes bounce {
  0%, 100% {
    transform: scale(0);
  }
  50% {
    transform: scale(1);
  }
}
/*! normalize.scss v0.1.0 | MIT License | based on git.io/normalize */
/**
 * 1. Set default font family to sans-serif.
 * 2. Prevent iOS text size adjust after orientation change, without disabling
 *    user zoom.
 */
html {
  font-family: sans-serif;
  /* 1 */
  -ms-text-size-adjust: 100%;
  /* 2 */
  -webkit-text-size-adjust: 100%;
  /* 2 */
}

/**
 * Remove default margin.
 */
body {
  margin: 0;
}

/* HTML5 display definitions
   ========================================================================== */
/**
 * Correct `block` display not defined for any HTML5 element in IE 8/9.
 * Correct `block` display not defined for `details` or `summary` in IE 10/11
 * and Firefox.
 * Correct `block` display not defined for `main` in IE 11.
 */
article,
aside,
details,
figcaption,
figure,
footer,
header,
hgroup,
main,
menu,
nav,
section,
summary {
  display: block;
}

/**
 * 1. Correct `inline-block` display not defined in IE 8/9.
 * 2. Normalize vertical alignment of `progress` in Chrome, Firefox, and Opera.
 */
audio,
canvas,
progress,
video {
  display: inline-block;
  /* 1 */
  vertical-align: baseline;
  /* 2 */
}

/**
 * Prevent modern browsers from displaying `audio` without controls.
 * Remove excess height in iOS 5 devices.
 */
audio:not([controls]) {
  display: none;
  height: 0;
}

/**
 * Address `[hidden]` styling not present in IE 8/9/10.
 * Hide the `template` element in IE 8/9/11, Safari, and Firefox < 22.
 */
[hidden],
template {
  display: none;
}

/* Links
   ========================================================================== */
/**
 * Remove the gray background color from active links in IE 10.
 */
a {
  background-color: transparent;
}

/**
 * Improve readability when focused and also mouse hovered in all browsers.
 */
a:active,
a:hover {
  outline: 0;
}

/* Text-level semantics
   ========================================================================== */
/**
 * Address styling not present in IE 8/9/10/11, Safari, and Chrome.
 */
abbr[title] {
  border-bottom: 1px dotted;
}

/**
 * Address style set to `bolder` in Firefox 4+, Safari, and Chrome.
 */
b,
strong {
  font-weight: bold;
}

/**
 * Address styling not present in Safari and Chrome.
 */
dfn {
  font-style: italic;
}

/**
 * Address variable `h1` font-size and margin within `section` and `article`
 * contexts in Firefox 4+, Safari, and Chrome.
 */
h1 {
  font-size: 2em;
  margin: 0.67em 0;
}

/**
 * Address styling not present in IE 8/9.
 */
mark {
  background: #ff0;
  color: #000;
}

/**
 * Address inconsistent and variable font size in all browsers.
 */
small {
  font-size: 80%;
}

/**
 * Prevent `sub` and `sup` affecting `line-height` in all browsers.
 */
sub,
sup {
  font-size: 75%;
  line-height: 0;
  position: relative;
  vertical-align: baseline;
}

sup {
  top: -0.5em;
}

sub {
  bottom: -0.25em;
}

/* Embedded content
   ========================================================================== */
/**
 * Remove border when inside `a` element in IE 8/9/10.
 */
img {
  border: 0;
}

/**
 * Correct overflow not hidden in IE 9/10/11.
 */
svg:not(:root) {
  overflow: hidden;
}

/* Grouping content
   ========================================================================== */
/**
 * Address margin not present in IE 8/9 and Safari.
 */
figure {
  margin: 1em 40px;
}

/**
 * Address differences between Firefox and other browsers.
 */
hr {
  -moz-box-sizing: content-box;
  box-sizing: content-box;
  height: 0;
}

/**
 * Contain overflow in all browsers.
 */
pre {
  overflow: auto;
}

/**
 * Address odd `em`-unit font size rendering in all browsers.
 */
code,
kbd,
pre,
samp {
  font-family: monospace, monospace;
  font-size: 1em;
}

/* Forms
   ========================================================================== */
/**
 * Known limitation: by default, Chrome and Safari on OS X allow very limited
 * styling of `select`, unless a `border` property is set.
 */
/**
 * 1. Correct color not being inherited.
 *    Known issue: affects color of disabled elements.
 * 2. Correct font properties not being inherited.
 * 3. Address margins set differently in Firefox 4+, Safari, and Chrome.
 */
button,
input,
optgroup,
select,
textarea {
  color: inherit;
  /* 1 */
  font: inherit;
  /* 2 */
  margin: 0;
  /* 3 */
}

/**
 * Address `overflow` set to `hidden` in IE 8/9/10/11.
 */
button {
  overflow: visible;
}

/**
 * Address inconsistent `text-transform` inheritance for `button` and `select`.
 * All other form control elements do not inherit `text-transform` values.
 * Correct `button` style inheritance in Firefox, IE 8/9/10/11, and Opera.
 * Correct `select` style inheritance in Firefox.
 */
button,
select {
  text-transform: none;
}

/**
 * 1. Avoid the WebKit bug in Android 4.0.* where (2) destroys native `audio`
 *    and `video` controls.
 * 2. Correct inability to style clickable `input` types in iOS.
 * 3. Improve usability and consistency of cursor style between image-type
 *    `input` and others.
 */
button,
html input[type=button],
input[type=reset],
input[type=submit] {
  -webkit-appearance: button;
  /* 2 */
  cursor: pointer;
  /* 3 */
}

/**
 * Re-set default cursor for disabled elements.
 */
button[disabled],
html input[disabled] {
  cursor: default;
}

/**
 * Remove inner padding and border in Firefox 4+.
 */
button::-moz-focus-inner,
input::-moz-focus-inner {
  border: 0;
  padding: 0;
}

/**
 * Address Firefox 4+ setting `line-height` on `input` using `!important` in
 * the UA stylesheet.
 */
input {
  line-height: normal;
}

/**
 * It's recommended that you don't attempt to style these elements.
 * Firefox's implementation doesn't respect box-sizing, padding, or width.
 *
 * 1. Address box sizing set to `content-box` in IE 8/9/10.
 * 2. Remove excess padding in IE 8/9/10.
 */
input[type=checkbox],
input[type=radio] {
  box-sizing: border-box;
  /* 1 */
  padding: 0;
  /* 2 */
}

/**
 * Fix the cursor style for Chrome's increment/decrement buttons. For certain
 * `font-size` values of the `input`, it causes the cursor style of the
 * decrement button to change from `default` to `text`.
 */
input[type=number]::-webkit-inner-spin-button,
input[type=number]::-webkit-outer-spin-button {
  height: auto;
}

/**
 * 1. Address `appearance` set to `searchfield` in Safari and Chrome.
 * 2. Address `box-sizing` set to `border-box` in Safari and Chrome
 *    (include `-moz` to future-proof).
 */
input[type=search] {
  -webkit-appearance: textfield;
  /* 1 */
  -moz-box-sizing: content-box;
  -webkit-box-sizing: content-box;
  /* 2 */
  box-sizing: content-box;
}

/**
 * Remove inner padding and search cancel button in Safari and Chrome on OS X.
 * Safari (but not Chrome) clips the cancel button when the search input has
 * padding (and `textfield` appearance).
 */
input[type=search]::-webkit-search-cancel-button,
input[type=search]::-webkit-search-decoration {
  -webkit-appearance: none;
}

/**
 * Define consistent border, margin, and padding.
 */
fieldset {
  border: 1px solid #c0c0c0;
  margin: 0 2px;
  padding: 0.35em 0.625em 0.75em;
}

/**
 * 1. Correct `color` not being inherited in IE 8/9/10/11.
 * 2. Remove padding so people aren't caught out if they zero out fieldsets.
 */
legend {
  border: 0;
  /* 1 */
  padding: 0;
  /* 2 */
}

/**
 * Remove default vertical scrollbar in IE 8/9/10/11.
 */
textarea {
  overflow: auto;
}

/**
 * Don't inherit the `font-weight` (applied by a rule above).
 * NOTE: the default cannot safely be changed in Chrome and Safari on OS X.
 */
optgroup {
  font-weight: bold;
}

/* Tables
   ========================================================================== */
/**
 * Remove most spacing between table cells.
 */
table {
  border-collapse: collapse;
  border-spacing: 0;
}

td,
th {
  padding: 0;
}

:root {
  --reflex-columns: 12;
  --reflex-grid-spacing: 15px;
  --reflex-xs: 576px;
  --reflex-sm: 768px;
  --reflex-md: 992px;
  --reflex-lg: 1200px;
  --reflex-xlg: 1600px;
  --reflex-xxs-max: 575px;
  --reflex-xs-max: 767px;
  --reflex-sm-max: 991px;
  --reflex-md-max: 1199px;
  --reflex-lg-max: 1599px;
}

.container,
.container-full {
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box;
  width: 100%;
  margin-right: auto;
  margin-left: auto;
  padding-right: 30px;
  padding-left: 30px;
}
.container .grid,
.container-full .grid {
  margin-right: -15px;
  margin-left: -15px;
}

@media (min-width: 576px) {
  .container {
    max-width: 576px;
  }
}
@media (min-width: 768px) {
  .container {
    max-width: 768px;
  }
}
@media (min-width: 992px) {
  .container {
    max-width: 992px;
  }
}
@media (min-width: 1200px) {
  .container {
    max-width: 1200px;
  }
}
@media (min-width: 1600px) {
  .container {
    max-width: 1600px;
  }
}

.grid {
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box;
  display: block;
  display: -ms-flexbox;
  display: -webkit-flex;
  display: flex;
  -ms-flex-wrap: wrap;
  -webkit-flex-wrap: wrap;
  flex-wrap: wrap;
  padding: 0;
  margin: 0 auto;
  position: relative;
  letter-spacing: -0.31em;
  *letter-spacing: normal;
  word-spacing: -0.43em;
  list-style-type: none;
}
.grid::before, .grid::after {
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box;
  letter-spacing: normal;
  word-spacing: normal;
  white-space: normal;
}

[class*=col-] {
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box;
  letter-spacing: normal;
  word-spacing: normal;
  white-space: normal;
  position: relative;
  width: 100%;
  vertical-align: top;
  padding: 15px;
  display: inline-block;
  *display: inline;
  zoom: 1;
}
[class*=col-]::before, [class*=col-]::after {
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box;
  letter-spacing: normal;
  word-spacing: normal;
  white-space: normal;
}
[class*=col-] .grid {
  -ms-flex: 1 1 auto;
  -webkit-flex: 1 1 auto;
  flex: 1 1 auto;
  margin: -15px;
}

.col-12 {
  width: 100%;
  *width: 99.9%;
}

.col-11 {
  width: 91.6666666667%;
  *width: 91.5666666667%;
}

.col-10 {
  width: 83.3333333333%;
  *width: 83.2333333333%;
}

.col-9 {
  width: 75%;
  *width: 74.9%;
}

.col-8 {
  width: 66.6666666667%;
  *width: 66.5666666667%;
}

.col-7 {
  width: 58.3333333333%;
  *width: 58.2333333333%;
}

.col-6 {
  width: 50%;
  *width: 49.9%;
}

.col-5 {
  width: 41.6666666667%;
  *width: 41.5666666667%;
}

.col-4 {
  width: 33.3333333333%;
  *width: 33.2333333333%;
}

.col-3 {
  width: 25%;
  *width: 24.9%;
}

.col-2 {
  width: 16.6666666667%;
  *width: 16.5666666667%;
}

.col-1 {
  width: 8.3333333333%;
  *width: 8.2333333333%;
}

@media (min-width: 576px) {
  .col-xs-12 {
    width: 100%;
    *width: 99.9%;
  }

  .col-xs-11 {
    width: 91.6666666667%;
    *width: 91.5666666667%;
  }

  .col-xs-10 {
    width: 83.3333333333%;
    *width: 83.2333333333%;
  }

  .col-xs-9 {
    width: 75%;
    *width: 74.9%;
  }

  .col-xs-8 {
    width: 66.6666666667%;
    *width: 66.5666666667%;
  }

  .col-xs-7 {
    width: 58.3333333333%;
    *width: 58.2333333333%;
  }

  .col-xs-6 {
    width: 50%;
    *width: 49.9%;
  }

  .col-xs-5 {
    width: 41.6666666667%;
    *width: 41.5666666667%;
  }

  .col-xs-4 {
    width: 33.3333333333%;
    *width: 33.2333333333%;
  }

  .col-xs-3 {
    width: 25%;
    *width: 24.9%;
  }

  .col-xs-2 {
    width: 16.6666666667%;
    *width: 16.5666666667%;
  }

  .col-xs-1 {
    width: 8.3333333333%;
    *width: 8.2333333333%;
  }
}
@media (min-width: 768px) {
  .col-sm-12 {
    width: 100%;
    *width: 99.9%;
  }

  .col-sm-11 {
    width: 91.6666666667%;
    *width: 91.5666666667%;
  }

  .col-sm-10 {
    width: 83.3333333333%;
    *width: 83.2333333333%;
  }

  .col-sm-9 {
    width: 75%;
    *width: 74.9%;
  }

  .col-sm-8 {
    width: 66.6666666667%;
    *width: 66.5666666667%;
  }

  .col-sm-7 {
    width: 58.3333333333%;
    *width: 58.2333333333%;
  }

  .col-sm-6 {
    width: 50%;
    *width: 49.9%;
  }

  .col-sm-5 {
    width: 41.6666666667%;
    *width: 41.5666666667%;
  }

  .col-sm-4 {
    width: 33.3333333333%;
    *width: 33.2333333333%;
  }

  .col-sm-3 {
    width: 25%;
    *width: 24.9%;
  }

  .col-sm-2 {
    width: 16.6666666667%;
    *width: 16.5666666667%;
  }

  .col-sm-1 {
    width: 8.3333333333%;
    *width: 8.2333333333%;
  }
}
@media (min-width: 992px) {
  .col-md-12 {
    width: 100%;
    *width: 99.9%;
  }

  .col-md-11 {
    width: 91.6666666667%;
    *width: 91.5666666667%;
  }

  .col-md-10 {
    width: 83.3333333333%;
    *width: 83.2333333333%;
  }

  .col-md-9 {
    width: 75%;
    *width: 74.9%;
  }

  .col-md-8 {
    width: 66.6666666667%;
    *width: 66.5666666667%;
  }

  .col-md-7 {
    width: 58.3333333333%;
    *width: 58.2333333333%;
  }

  .col-md-6 {
    width: 50%;
    *width: 49.9%;
  }

  .col-md-5 {
    width: 41.6666666667%;
    *width: 41.5666666667%;
  }

  .col-md-4 {
    width: 33.3333333333%;
    *width: 33.2333333333%;
  }

  .col-md-3 {
    width: 25%;
    *width: 24.9%;
  }

  .col-md-2 {
    width: 16.6666666667%;
    *width: 16.5666666667%;
  }

  .col-md-1 {
    width: 8.3333333333%;
    *width: 8.2333333333%;
  }
}
@media (min-width: 1200px) {
  .col-lg-12 {
    width: 100%;
    *width: 99.9%;
  }

  .col-lg-11 {
    width: 91.6666666667%;
    *width: 91.5666666667%;
  }

  .col-lg-10 {
    width: 83.3333333333%;
    *width: 83.2333333333%;
  }

  .col-lg-9 {
    width: 75%;
    *width: 74.9%;
  }

  .col-lg-8 {
    width: 66.6666666667%;
    *width: 66.5666666667%;
  }

  .col-lg-7 {
    width: 58.3333333333%;
    *width: 58.2333333333%;
  }

  .col-lg-6 {
    width: 50%;
    *width: 49.9%;
  }

  .col-lg-5 {
    width: 41.6666666667%;
    *width: 41.5666666667%;
  }

  .col-lg-4 {
    width: 33.3333333333%;
    *width: 33.2333333333%;
  }

  .col-lg-3 {
    width: 25%;
    *width: 24.9%;
  }

  .col-lg-2 {
    width: 16.6666666667%;
    *width: 16.5666666667%;
  }

  .col-lg-1 {
    width: 8.3333333333%;
    *width: 8.2333333333%;
  }
}
@media (min-width: 1600px) {
  .col-xlg-12 {
    width: 100%;
    *width: 99.9%;
  }

  .col-xlg-11 {
    width: 91.6666666667%;
    *width: 91.5666666667%;
  }

  .col-xlg-10 {
    width: 83.3333333333%;
    *width: 83.2333333333%;
  }

  .col-xlg-9 {
    width: 75%;
    *width: 74.9%;
  }

  .col-xlg-8 {
    width: 66.6666666667%;
    *width: 66.5666666667%;
  }

  .col-xlg-7 {
    width: 58.3333333333%;
    *width: 58.2333333333%;
  }

  .col-xlg-6 {
    width: 50%;
    *width: 49.9%;
  }

  .col-xlg-5 {
    width: 41.6666666667%;
    *width: 41.5666666667%;
  }

  .col-xlg-4 {
    width: 33.3333333333%;
    *width: 33.2333333333%;
  }

  .col-xlg-3 {
    width: 25%;
    *width: 24.9%;
  }

  .col-xlg-2 {
    width: 16.6666666667%;
    *width: 16.5666666667%;
  }

  .col-xlg-1 {
    width: 8.3333333333%;
    *width: 8.2333333333%;
  }
}
.col-auto {
  -ms-flex: 1 0 0px;
  -webkit-flex: 1 0 0px;
  flex: 1 0 0px;
  width: auto;
}

@media (min-width: 576px) {
  .col-xs-auto {
    -ms-flex: 1 0 0px;
    -webkit-flex: 1 0 0px;
    flex: 1 0 0px;
    width: auto;
  }
}
@media (min-width: 768px) {
  .col-sm-auto {
    -ms-flex: 1 0 0px;
    -webkit-flex: 1 0 0px;
    flex: 1 0 0px;
    width: auto;
  }
}
@media (min-width: 992px) {
  .col-md-auto {
    -ms-flex: 1 0 0px;
    -webkit-flex: 1 0 0px;
    flex: 1 0 0px;
    width: auto;
  }
}
@media (min-width: 1200px) {
  .col-lg-auto {
    -ms-flex: 1 0 0px;
    -webkit-flex: 1 0 0px;
    flex: 1 0 0px;
    width: auto;
  }
}
@media (min-width: 1600px) {
  .col-xlg-auto {
    -ms-flex: 1 0 0px;
    -webkit-flex: 1 0 0px;
    flex: 1 0 0px;
    width: auto;
  }
}
.order-12 {
  -ms-flex-order: 12;
  -webkit-order: 12;
  order: 12;
}

.order-11 {
  -ms-flex-order: 11;
  -webkit-order: 11;
  order: 11;
}

.order-10 {
  -ms-flex-order: 10;
  -webkit-order: 10;
  order: 10;
}

.order-9 {
  -ms-flex-order: 9;
  -webkit-order: 9;
  order: 9;
}

.order-8 {
  -ms-flex-order: 8;
  -webkit-order: 8;
  order: 8;
}

.order-7 {
  -ms-flex-order: 7;
  -webkit-order: 7;
  order: 7;
}

.order-6 {
  -ms-flex-order: 6;
  -webkit-order: 6;
  order: 6;
}

.order-5 {
  -ms-flex-order: 5;
  -webkit-order: 5;
  order: 5;
}

.order-4 {
  -ms-flex-order: 4;
  -webkit-order: 4;
  order: 4;
}

.order-3 {
  -ms-flex-order: 3;
  -webkit-order: 3;
  order: 3;
}

.order-2 {
  -ms-flex-order: 2;
  -webkit-order: 2;
  order: 2;
}

.order-1 {
  -ms-flex-order: 1;
  -webkit-order: 1;
  order: 1;
}

.order-0 {
  -ms-flex-order: 0;
  -webkit-order: 0;
  order: 0;
}

@media only screen and (min-width: 576px) {
  .order-xs-12 {
    -ms-flex-order: 12;
    -webkit-order: 12;
    order: 12;
  }

  .order-xs-11 {
    -ms-flex-order: 11;
    -webkit-order: 11;
    order: 11;
  }

  .order-xs-10 {
    -ms-flex-order: 10;
    -webkit-order: 10;
    order: 10;
  }

  .order-xs-9 {
    -ms-flex-order: 9;
    -webkit-order: 9;
    order: 9;
  }

  .order-xs-8 {
    -ms-flex-order: 8;
    -webkit-order: 8;
    order: 8;
  }

  .order-xs-7 {
    -ms-flex-order: 7;
    -webkit-order: 7;
    order: 7;
  }

  .order-xs-6 {
    -ms-flex-order: 6;
    -webkit-order: 6;
    order: 6;
  }

  .order-xs-5 {
    -ms-flex-order: 5;
    -webkit-order: 5;
    order: 5;
  }

  .order-xs-4 {
    -ms-flex-order: 4;
    -webkit-order: 4;
    order: 4;
  }

  .order-xs-3 {
    -ms-flex-order: 3;
    -webkit-order: 3;
    order: 3;
  }

  .order-xs-2 {
    -ms-flex-order: 2;
    -webkit-order: 2;
    order: 2;
  }

  .order-xs-1 {
    -ms-flex-order: 1;
    -webkit-order: 1;
    order: 1;
  }

  .order-xs-0 {
    -ms-flex-order: 0;
    -webkit-order: 0;
    order: 0;
  }
}
@media only screen and (min-width: 768px) {
  .order-sm-12 {
    -ms-flex-order: 12;
    -webkit-order: 12;
    order: 12;
  }

  .order-sm-11 {
    -ms-flex-order: 11;
    -webkit-order: 11;
    order: 11;
  }

  .order-sm-10 {
    -ms-flex-order: 10;
    -webkit-order: 10;
    order: 10;
  }

  .order-sm-9 {
    -ms-flex-order: 9;
    -webkit-order: 9;
    order: 9;
  }

  .order-sm-8 {
    -ms-flex-order: 8;
    -webkit-order: 8;
    order: 8;
  }

  .order-sm-7 {
    -ms-flex-order: 7;
    -webkit-order: 7;
    order: 7;
  }

  .order-sm-6 {
    -ms-flex-order: 6;
    -webkit-order: 6;
    order: 6;
  }

  .order-sm-5 {
    -ms-flex-order: 5;
    -webkit-order: 5;
    order: 5;
  }

  .order-sm-4 {
    -ms-flex-order: 4;
    -webkit-order: 4;
    order: 4;
  }

  .order-sm-3 {
    -ms-flex-order: 3;
    -webkit-order: 3;
    order: 3;
  }

  .order-sm-2 {
    -ms-flex-order: 2;
    -webkit-order: 2;
    order: 2;
  }

  .order-sm-1 {
    -ms-flex-order: 1;
    -webkit-order: 1;
    order: 1;
  }

  .order-sm-0 {
    -ms-flex-order: 0;
    -webkit-order: 0;
    order: 0;
  }
}
@media only screen and (min-width: 992px) {
  .order-md-12 {
    -ms-flex-order: 12;
    -webkit-order: 12;
    order: 12;
  }

  .order-md-11 {
    -ms-flex-order: 11;
    -webkit-order: 11;
    order: 11;
  }

  .order-md-10 {
    -ms-flex-order: 10;
    -webkit-order: 10;
    order: 10;
  }

  .order-md-9 {
    -ms-flex-order: 9;
    -webkit-order: 9;
    order: 9;
  }

  .order-md-8 {
    -ms-flex-order: 8;
    -webkit-order: 8;
    order: 8;
  }

  .order-md-7 {
    -ms-flex-order: 7;
    -webkit-order: 7;
    order: 7;
  }

  .order-md-6 {
    -ms-flex-order: 6;
    -webkit-order: 6;
    order: 6;
  }

  .order-md-5 {
    -ms-flex-order: 5;
    -webkit-order: 5;
    order: 5;
  }

  .order-md-4 {
    -ms-flex-order: 4;
    -webkit-order: 4;
    order: 4;
  }

  .order-md-3 {
    -ms-flex-order: 3;
    -webkit-order: 3;
    order: 3;
  }

  .order-md-2 {
    -ms-flex-order: 2;
    -webkit-order: 2;
    order: 2;
  }

  .order-md-1 {
    -ms-flex-order: 1;
    -webkit-order: 1;
    order: 1;
  }

  .order-md-0 {
    -ms-flex-order: 0;
    -webkit-order: 0;
    order: 0;
  }
}
@media only screen and (min-width: 1200px) {
  .order-lg-12 {
    -ms-flex-order: 12;
    -webkit-order: 12;
    order: 12;
  }

  .order-lg-11 {
    -ms-flex-order: 11;
    -webkit-order: 11;
    order: 11;
  }

  .order-lg-10 {
    -ms-flex-order: 10;
    -webkit-order: 10;
    order: 10;
  }

  .order-lg-9 {
    -ms-flex-order: 9;
    -webkit-order: 9;
    order: 9;
  }

  .order-lg-8 {
    -ms-flex-order: 8;
    -webkit-order: 8;
    order: 8;
  }

  .order-lg-7 {
    -ms-flex-order: 7;
    -webkit-order: 7;
    order: 7;
  }

  .order-lg-6 {
    -ms-flex-order: 6;
    -webkit-order: 6;
    order: 6;
  }

  .order-lg-5 {
    -ms-flex-order: 5;
    -webkit-order: 5;
    order: 5;
  }

  .order-lg-4 {
    -ms-flex-order: 4;
    -webkit-order: 4;
    order: 4;
  }

  .order-lg-3 {
    -ms-flex-order: 3;
    -webkit-order: 3;
    order: 3;
  }

  .order-lg-2 {
    -ms-flex-order: 2;
    -webkit-order: 2;
    order: 2;
  }

  .order-lg-1 {
    -ms-flex-order: 1;
    -webkit-order: 1;
    order: 1;
  }

  .order-lg-0 {
    -ms-flex-order: 0;
    -webkit-order: 0;
    order: 0;
  }
}
@media only screen and (min-width: 1600px) {
  .order-xlg-12 {
    -ms-flex-order: 12;
    -webkit-order: 12;
    order: 12;
  }

  .order-xlg-11 {
    -ms-flex-order: 11;
    -webkit-order: 11;
    order: 11;
  }

  .order-xlg-10 {
    -ms-flex-order: 10;
    -webkit-order: 10;
    order: 10;
  }

  .order-xlg-9 {
    -ms-flex-order: 9;
    -webkit-order: 9;
    order: 9;
  }

  .order-xlg-8 {
    -ms-flex-order: 8;
    -webkit-order: 8;
    order: 8;
  }

  .order-xlg-7 {
    -ms-flex-order: 7;
    -webkit-order: 7;
    order: 7;
  }

  .order-xlg-6 {
    -ms-flex-order: 6;
    -webkit-order: 6;
    order: 6;
  }

  .order-xlg-5 {
    -ms-flex-order: 5;
    -webkit-order: 5;
    order: 5;
  }

  .order-xlg-4 {
    -ms-flex-order: 4;
    -webkit-order: 4;
    order: 4;
  }

  .order-xlg-3 {
    -ms-flex-order: 3;
    -webkit-order: 3;
    order: 3;
  }

  .order-xlg-2 {
    -ms-flex-order: 2;
    -webkit-order: 2;
    order: 2;
  }

  .order-xlg-1 {
    -ms-flex-order: 1;
    -webkit-order: 1;
    order: 1;
  }

  .order-xlg-0 {
    -ms-flex-order: 0;
    -webkit-order: 0;
    order: 0;
  }
}
.offset-11 {
  margin-left: 91.6666666667%;
  *margin-left: 91.5666666667%;
}

.offset-10 {
  margin-left: 83.3333333333%;
  *margin-left: 83.2333333333%;
}

.offset-9 {
  margin-left: 75%;
  *margin-left: 74.9%;
}

.offset-8 {
  margin-left: 66.6666666667%;
  *margin-left: 66.5666666667%;
}

.offset-7 {
  margin-left: 58.3333333333%;
  *margin-left: 58.2333333333%;
}

.offset-6 {
  margin-left: 50%;
  *margin-left: 49.9%;
}

.offset-5 {
  margin-left: 41.6666666667%;
  *margin-left: 41.5666666667%;
}

.offset-4 {
  margin-left: 33.3333333333%;
  *margin-left: 33.2333333333%;
}

.offset-3 {
  margin-left: 25%;
  *margin-left: 24.9%;
}

.offset-2 {
  margin-left: 16.6666666667%;
  *margin-left: 16.5666666667%;
}

.offset-1 {
  margin-left: 8.3333333333%;
  *margin-left: 8.2333333333%;
}

@media only screen and (min-width: 576px) {
  .offset-xs-11 {
    margin-left: 91.6666666667%;
    *margin-left: 91.5666666667%;
  }

  .offset-xs-10 {
    margin-left: 83.3333333333%;
    *margin-left: 83.2333333333%;
  }

  .offset-xs-9 {
    margin-left: 75%;
    *margin-left: 74.9%;
  }

  .offset-xs-8 {
    margin-left: 66.6666666667%;
    *margin-left: 66.5666666667%;
  }

  .offset-xs-7 {
    margin-left: 58.3333333333%;
    *margin-left: 58.2333333333%;
  }

  .offset-xs-6 {
    margin-left: 50%;
    *margin-left: 49.9%;
  }

  .offset-xs-5 {
    margin-left: 41.6666666667%;
    *margin-left: 41.5666666667%;
  }

  .offset-xs-4 {
    margin-left: 33.3333333333%;
    *margin-left: 33.2333333333%;
  }

  .offset-xs-3 {
    margin-left: 25%;
    *margin-left: 24.9%;
  }

  .offset-xs-2 {
    margin-left: 16.6666666667%;
    *margin-left: 16.5666666667%;
  }

  .offset-xs-1 {
    margin-left: 8.3333333333%;
    *margin-left: 8.2333333333%;
  }

  .offset-xs-0 {
    margin-left: 0;
    *margin-left: -0.1%;
  }
}
@media only screen and (min-width: 768px) {
  .offset-sm-11 {
    margin-left: 91.6666666667%;
    *margin-left: 91.5666666667%;
  }

  .offset-sm-10 {
    margin-left: 83.3333333333%;
    *margin-left: 83.2333333333%;
  }

  .offset-sm-9 {
    margin-left: 75%;
    *margin-left: 74.9%;
  }

  .offset-sm-8 {
    margin-left: 66.6666666667%;
    *margin-left: 66.5666666667%;
  }

  .offset-sm-7 {
    margin-left: 58.3333333333%;
    *margin-left: 58.2333333333%;
  }

  .offset-sm-6 {
    margin-left: 50%;
    *margin-left: 49.9%;
  }

  .offset-sm-5 {
    margin-left: 41.6666666667%;
    *margin-left: 41.5666666667%;
  }

  .offset-sm-4 {
    margin-left: 33.3333333333%;
    *margin-left: 33.2333333333%;
  }

  .offset-sm-3 {
    margin-left: 25%;
    *margin-left: 24.9%;
  }

  .offset-sm-2 {
    margin-left: 16.6666666667%;
    *margin-left: 16.5666666667%;
  }

  .offset-sm-1 {
    margin-left: 8.3333333333%;
    *margin-left: 8.2333333333%;
  }

  .offset-sm-0 {
    margin-left: 0;
    *margin-left: -0.1%;
  }
}
@media only screen and (min-width: 992px) {
  .offset-md-11 {
    margin-left: 91.6666666667%;
    *margin-left: 91.5666666667%;
  }

  .offset-md-10 {
    margin-left: 83.3333333333%;
    *margin-left: 83.2333333333%;
  }

  .offset-md-9 {
    margin-left: 75%;
    *margin-left: 74.9%;
  }

  .offset-md-8 {
    margin-left: 66.6666666667%;
    *margin-left: 66.5666666667%;
  }

  .offset-md-7 {
    margin-left: 58.3333333333%;
    *margin-left: 58.2333333333%;
  }

  .offset-md-6 {
    margin-left: 50%;
    *margin-left: 49.9%;
  }

  .offset-md-5 {
    margin-left: 41.6666666667%;
    *margin-left: 41.5666666667%;
  }

  .offset-md-4 {
    margin-left: 33.3333333333%;
    *margin-left: 33.2333333333%;
  }

  .offset-md-3 {
    margin-left: 25%;
    *margin-left: 24.9%;
  }

  .offset-md-2 {
    margin-left: 16.6666666667%;
    *margin-left: 16.5666666667%;
  }

  .offset-md-1 {
    margin-left: 8.3333333333%;
    *margin-left: 8.2333333333%;
  }

  .offset-md-0 {
    margin-left: 0;
    *margin-left: -0.1%;
  }
}
@media only screen and (min-width: 1200px) {
  .offset-lg-11 {
    margin-left: 91.6666666667%;
    *margin-left: 91.5666666667%;
  }

  .offset-lg-10 {
    margin-left: 83.3333333333%;
    *margin-left: 83.2333333333%;
  }

  .offset-lg-9 {
    margin-left: 75%;
    *margin-left: 74.9%;
  }

  .offset-lg-8 {
    margin-left: 66.6666666667%;
    *margin-left: 66.5666666667%;
  }

  .offset-lg-7 {
    margin-left: 58.3333333333%;
    *margin-left: 58.2333333333%;
  }

  .offset-lg-6 {
    margin-left: 50%;
    *margin-left: 49.9%;
  }

  .offset-lg-5 {
    margin-left: 41.6666666667%;
    *margin-left: 41.5666666667%;
  }

  .offset-lg-4 {
    margin-left: 33.3333333333%;
    *margin-left: 33.2333333333%;
  }

  .offset-lg-3 {
    margin-left: 25%;
    *margin-left: 24.9%;
  }

  .offset-lg-2 {
    margin-left: 16.6666666667%;
    *margin-left: 16.5666666667%;
  }

  .offset-lg-1 {
    margin-left: 8.3333333333%;
    *margin-left: 8.2333333333%;
  }

  .offset-lg-0 {
    margin-left: 0;
    *margin-left: -0.1%;
  }
}
@media only screen and (min-width: 1600px) {
  .offset-xlg-11 {
    margin-left: 91.6666666667%;
    *margin-left: 91.5666666667%;
  }

  .offset-xlg-10 {
    margin-left: 83.3333333333%;
    *margin-left: 83.2333333333%;
  }

  .offset-xlg-9 {
    margin-left: 75%;
    *margin-left: 74.9%;
  }

  .offset-xlg-8 {
    margin-left: 66.6666666667%;
    *margin-left: 66.5666666667%;
  }

  .offset-xlg-7 {
    margin-left: 58.3333333333%;
    *margin-left: 58.2333333333%;
  }

  .offset-xlg-6 {
    margin-left: 50%;
    *margin-left: 49.9%;
  }

  .offset-xlg-5 {
    margin-left: 41.6666666667%;
    *margin-left: 41.5666666667%;
  }

  .offset-xlg-4 {
    margin-left: 33.3333333333%;
    *margin-left: 33.2333333333%;
  }

  .offset-xlg-3 {
    margin-left: 25%;
    *margin-left: 24.9%;
  }

  .offset-xlg-2 {
    margin-left: 16.6666666667%;
    *margin-left: 16.5666666667%;
  }

  .offset-xlg-1 {
    margin-left: 8.3333333333%;
    *margin-left: 8.2333333333%;
  }

  .offset-xlg-0 {
    margin-left: 0;
    *margin-left: -0.1%;
  }
}
.wrap {
  -ms-flex-wrap: wrap;
  -webkit-flex-wrap: wrap;
  flex-wrap: wrap;
}

.no-wrap {
  -ms-flex-wrap: nowrap;
  -webkit-flex-wrap: nowrap;
  flex-wrap: nowrap;
}
.no-wrap [class*=col-] {
  -ms-flex-negative: 1;
  -webkit-flex-shrink: 1;
  flex-shrink: 1;
}

.wrap-reverse {
  -ms-flex-wrap: wrap-reverse;
  -webkit-flex-wrap: wrap-reverse;
  flex-wrap: wrap-reverse;
}

.direction-row {
  -ms-flex-direction: row;
  -webkit-flex-direction: row;
  flex-direction: row;
}

.direction-row-reverse {
  -ms-flex-direction: row-reverse;
  -webkit-flex-direction: row-reverse;
  flex-direction: row-reverse;
}

.direction-column {
  -ms-flex-direction: column;
  -webkit-flex-direction: column;
  flex-direction: column;
}

.direction-column-reverse {
  -ms-flex-direction: column-reverse;
  -webkit-flex-direction: column-reverse;
  flex-direction: column-reverse;
}

.align-start {
  -ms-flex-align: start;
  -webkit-align-items: flex-start;
  align-items: flex-start;
}

.align-end {
  -ms-flex-align: end;
  -webkit-align-items: flex-end;
  align-items: flex-end;
}
.align-end [class*=col-] {
  vertical-align: bottom;
}

.align-center {
  -ms-flex-align: center;
  -webkit-align-items: center;
  align-items: center;
}
.align-center [class*=col-] {
  vertical-align: middle;
}

.align-baseline {
  -ms-flex-align: baseline;
  -webkit-align-items: baseline;
  align-items: baseline;
}

.align-content-start {
  -ms-flex-line-pack: start;
  -webkit-align-content: flex-start;
  align-content: flex-start;
}

.align-content-end {
  -ms-flex-line-pack: end;
  -webkit-align-content: flex-end;
  align-content: flex-end;
}
.align-content-end [class*=col-] {
  vertical-align: bottom;
}

.align-content-center {
  -ms-flex-line-pack: center;
  -webkit-align-content: center;
  align-content: center;
}

.align-content-space-between {
  -ms-flex-line-pack: justify;
  -webkit-align-content: space-between;
  align-content: space-between;
}

.align-content-space-around {
  -ms-flex-line-pack: distribute;
  -webkit-align-content: space-around;
  align-content: space-around;
}

.align-self-stretch {
  -ms-flex-item-align: stretch;
  -webkit-align-self: stretch;
  align-self: stretch;
}

.align-self-start {
  -ms-flex-item-align: start;
  -webkit-align-self: flex-start;
  align-self: flex-start;
}

.align-self-end {
  -ms-flex-item-align: end;
  -webkit-align-self: flex-end;
  align-self: flex-end;
  vertical-align: bottom;
}

.align-self-center {
  -ms-flex-item-align: center;
  -webkit-align-self: center;
  align-self: center;
  vertical-align: middle;
}

.align-self-baseline {
  -ms-flex-item-align: baseline;
  -webkit-align-self: baseline;
  align-self: baseline;
  vertical-align: baseline;
}

.justify-start {
  -ms-flex-pack: start;
  -webkit-justify-content: flex-start;
  justify-content: flex-start;
}
.justify-start.grid {
  text-align: left;
}

.justify-end {
  -ms-flex-pack: end;
  -webkit-justify-content: flex-end;
  justify-content: flex-end;
}
.justify-end.grid {
  text-align: right;
  -moz-text-align-last: right;
  text-align-last: right;
}
.justify-end.grid [class*=col-] {
  text-align: left;
  text-align: start;
  -moz-text-align-last: left;
  -moz-text-align-last: start;
  text-align-last: left;
  text-align-last: start;
}

.justify-center {
  -ms-flex-pack: center;
  -webkit-justify-content: center;
  justify-content: center;
}
.justify-center.grid {
  text-align: center;
  -moz-text-align-last: center;
  text-align-last: center;
}
.justify-center.grid [class*=col-] {
  text-align: left;
  text-align: start;
  -moz-text-align-last: left;
  -moz-text-align-last: start;
  text-align-last: left;
  text-align-last: start;
}

.justify-space-between {
  -ms-flex-pack: justify;
  -webkit-justify-content: space-between;
  justify-content: space-between;
}
.justify-space-between.grid {
  text-align: justify;
  -moz-text-align-last: justify;
  text-align-last: justify;
}
.justify-space-between.grid [class*=col-] {
  text-align: left;
  text-align: start;
  -moz-text-align-last: left;
  -moz-text-align-last: start;
  text-align-last: left;
  text-align-last: start;
}

.justify-space-around {
  -ms-flex-pack: distribute;
  -webkit-justify-content: space-around;
  justify-content: space-around;
}
.justify-space-around.grid {
  text-align: justify;
  -moz-text-align-last: justify;
  text-align-last: justify;
}
.justify-space-around.grid [class*=col-] {
  text-align: left;
  text-align: start;
  -moz-text-align-last: left;
  -moz-text-align-last: start;
  text-align-last: left;
  text-align-last: start;
}

.grid-bleed [class*=col-] {
  padding: 0;
}

.col-grid {
  display: -ms-flexbox;
  display: -webkit-flex;
  display: flex;
  -ms-flex-direction: column;
  -webkit-flex-direction: column;
  flex-direction: column;
}
.col-grid.direction-row {
  -ms-flex-direction: row;
  -webkit-flex-direction: row;
  flex-direction: row;
}

.col-bleed {
  padding: 0;
}

.col-bleed-x {
  padding: 15px 0;
}

.col-bleed-y {
  padding: 0 15px;
}

.flex-img {
  display: block;
  -ms-flex: 0 0 auto;
  -webkit-flex: 0 0 auto;
  flex: 0 0 auto;
  max-width: 100%;
  height: auto;
  width: 100%;
  *width: auto;
}

.flex-footer {
  width: 100%;
  margin-top: auto;
  margin-bottom: 0;
}
.flex-footer > :last-child {
  margin-bottom: 0;
}

@media (max-width: 575px) {
  .hidden-xxs {
    display: none;
  }
}

@media (min-width: 576px) and (max-width: 767px) {
  .hidden-xs {
    display: none;
  }
}

@media (min-width: 768px) and (max-width: 991px) {
  .hidden-sm {
    display: none;
  }
}

@media (min-width: 992px) and (max-width: 1199px) {
  .hidden-md {
    display: none;
  }
}

@media (min-width: 1200px) and (max-width: 1599px) {
  .hidden-lg {
    display: none;
  }
}

@media (min-width: 1600px) {
  .hidden-xlg {
    display: none;
  }
}

/**
 * Config
 */
/**
 * ----------------------
 * Un.titled
 * Config - Fonts
 * ----------------------
 */
/**
   * Font Size
   */
/**
   * Line height
   */
/**
   * Custom fonts
   */
@font-face {
  font-family: "Letteratextpro";
  src: url("../font/LetteraTextPro.woff2") format("woff2"), url("../font/LetteraTextPro.woff") format("woff");
  font-weight: normal;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: "Letteratextproitalic";
  src: url("../font/LetteraTextPro-Italic.woff2") format("woff2"), url("../font/LetteraTextPro-Italic.woff") format("woff");
  font-weight: normal;
  font-style: italic;
  font-display: swap;
}
@font-face {
  font-family: "Letteratextprobolditalic";
  src: url("../font/LetteraTextPro-BoldItalic.woff2") format("woff2"), url("../font/LetteraTextPro-BoldItalic.woff") format("woff");
  font-weight: bold;
  font-style: italic;
  font-display: swap;
}
@font-face {
  font-family: "Letteratextprobold";
  src: url("../font/LetteraTextPro-Bold.woff2") format("woff2"), url("../font/LetteraTextPro-Bold.woff") format("woff");
  font-weight: bold;
  font-style: normal;
  font-display: swap;
}
/**
 * ----------------------
 * Un.titled
 * Config - Vars
 * ----------------------
 */
:root {
  --c-primary: #1b1b1b;
  --c-secondary: #ffffff;
  --c-tertiary: #ffe400;
  --c-white: #ffffff;
  --c-black: #000000;
  --c-grey: #ababab;
  --c-charcoal: #3b3b3b;
  --fontSizeSm: 14px;
  --fontSize: 16px;
  --fontSizeLg: 18px;
  --fontSizeHeadingFour: 20px;
  --fontSizeHeadingThree: 26px;
  --fontSizeHeadingTwo: 42px;
  --fontSizeHeadingOne: 54px;
  --containerWidthLaptop: 1021px;
  --containerWidthDesktop: 1270px;
  --fontBody: "Letteratextpro", sans-serif;
  --fontTitle: "Letteratextprobold", sans-serif;
  --fontBold: "Letteratextprobold", sans-serif;
  --fontSize: 16px;
  --lineHeight: 1.5;
  --bump: 30px;
  --smallBump: 24px;
  --easing: cubic-bezier(0.83, 0, 0.17, 1);
  --vh: 1vh;
  --teaserBackground: #ffffff;
  --header-height: 105px;
  --header-height-mobile: 90px;
  --transition: var(--easing);
}

/**
 * Breakpoints
 */
/**
 * Helpers
 */
/**
 * ----------------------
 * Un.titled
 * Helpers - Focus Visible
 * ----------------------
 */
/**
 * Focus Visible
 * https://github.com/WICG/focus-visible
 * Override base focus styles for mouse and touch interactions
 */
/**
 * ----------------------
 * Un.titled
 * Helpers - Font Smoothing
 * ----------------------
 */
/** 
 * Font Smoothing
 * Enables font smoothing for capable browsers.
 * Optionally force font-smoothing on non-retina devices.
 * @param {boolean} $force [false]
 * @return {string}
 */
/**
 * ----------------------
 * Un.titled
 * Helpers - Global mixins
 * ----------------------
 */
/**
 * ----------------------
 * Un.titled
 * Helpers - Table
 * ----------------------
 */
/**
 * Responsive Table
 * Creates a responsive table
 * Accepts a list of headers to replace main 
 * table headers on mobile.
 * @param {map} $headers
 * @return {string}
 */
.padding-clear {
  padding: 0 !important;
}

.margin-clear {
  margin: 0 !important;
}

.col-bleed {
  padding: 0;
}

.col-bleed-x {
  padding: 15px 0;
}

.col-bleed-y {
  padding: 0 15px;
}

.pad-bottom {
  padding: 0 0 calc(var(--bump) * 2);
}

.margin-top {
  margin: var(--bump) 0 0;
}

.margin-bottom {
  margin: 0 0 calc(var(--bump) * 2);
}

.display-flex {
  display: flex;
}

.vertical-center {
  align-items: center;
}

.self-start {
  align-self: start;
}

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

.align-items-start {
  align-items: flex-start;
}

.flex-center {
  align-items: center;
  align-content: center;
  justify-content: center;
}

.flex-end {
  justify-content: flex-end;
}

.flex-start {
  justify-content: flex-start;
}

.space-between {
  justify-content: space-between;
}

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

@media (max-width: 575px) {
  .hidden-xxs {
    display: none;
  }
}
@media (min-width: 576px) {
  .hidden-xs-up {
    display: none;
  }
}
@media (max-width: 767px) {
  .hidden-xs-down {
    display: none;
  }
}
@media (min-width: 576px) and (max-width: 767px) {
  .hidden-xs {
    display: none;
  }
}
@media (min-width: 768px) {
  .hidden-sm-up {
    display: none;
  }
}
@media (max-width: 991px) {
  .hidden-sm-down {
    display: none;
  }
}
@media (min-width: 768px) and (max-width: 991px) {
  .hidden-sm {
    display: none;
  }
}
@media (min-width: 992px) {
  .hidden-md-up {
    display: none;
  }
}
@media (max-width: 1199px) {
  .hidden-md-down {
    display: none;
  }
}
@media (min-width: 992px) and (max-width: 1199px) {
  .hidden-md {
    display: none;
  }
}
@media (min-width: 1200px) {
  .hidden-lg-up {
    display: none;
  }
}
@media (max-width: 1599px) {
  .hidden-lg-down {
    display: none;
  }
}
@media (min-width: 1200px) and (max-width: 1599px) {
  .hidden-lg {
    display: none;
  }
}
@media (min-width: 1600px) {
  .hidden-xlg {
    display: none;
  }
}
.no-underline {
  text-decoration: none;
}
.no-underline:hover {
  text-decoration: none;
}

.bold {
  font-weight: bold;
}

@media (max-width: 767px) {
  .mobile-hide {
    display: none;
  }
}

@media (max-width: 991px) {
  .tab-hide {
    display: none;
  }
}

.pointer-events-none {
  pointer-events: none;
}

.blue-bg {
  background-color: var(--c-bg-alt);
}

.yellow-bg {
  background-color: var(--c-tertiary);
}

section.pre-footer-pull,
div.pre-footer-pull {
  padding: calc(var(--bump) * 2) calc(var(--bump) / 2);
  margin-bottom: 0;
}
@media (max-width: 991px) {
  section.pre-footer-pull,
div.pre-footer-pull {
    padding: calc(var(--bump) * 1) calc(var(--bump) / 2) calc(var(--bump) * 2);
  }
}

.black-text {
  color: var(--c-black);
}

.screen-readers {
  text-align: left;
  text-indent: -9999px;
  display: block;
  height: 0;
  width: 0;
}

.language-switcher-language-url,
.display-none {
  display: none;
}

.grid.max-width-100 {
  max-width: 100%;
}

.video__wall {
  position: relative;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
}
@media (max-width: 767px) {
  .video__wall {
    left: 15px;
  }
}
@media (max-width: 575px) {
  .video__wall {
    display: none;
  }
}
.video__wall .video__wall__controls {
  text-align: left;
  text-indent: -9999px;
  background-position: center center;
  background-repeat: no-repeat;
  background-size: var(--bump);
  background-image: url("../img/play.svg");
  border: 0;
  display: block;
  height: var(--bump);
  width: var(--bump);
  z-index: 5;
}
@media (max-width: 991px) {
  .video__wall .video__wall__controls {
    background-image: url("../img/pause.svg");
  }
}
.video__wall .video__wall__controls:hover {
  background-color: var(--c-primary);
}
.video__wall .video__wall__controls[data-playstate=paused] {
  background-image: url("../img/pause.svg");
}
@media (max-width: 991px) {
  .video__wall .video__wall__controls[data-playstate=paused] {
    background-image: url("../img/play.svg");
  }
}
@media (max-width: 575px) {
  .video__wall .video__wall__controls {
    display: none;
    visibility: hidden;
  }
}
.video__wall p {
  color: var(--c-secondary);
  font-size: 14px;
  letter-spacing: 0;
  line-height: 20px;
}

/**
 * Base
 */
/**
 * ----------------------
 * Un.titled
 * Base - Defaults
 * ----------------------
 */
.grid {
  max-width: var(--containerWidthDesktop);
}
@media (max-width: 1439px) {
  .grid {
    max-width: 90%;
  }
  .grid .grid {
    max-width: var(--containerWidthDesktop);
  }
}
@media (max-width: 767px) {
  .grid {
    max-width: var(--containerWidthLaptop);
  }
}

.container-full > .grid {
  max-width: none;
}

ul.menu,
ul.plain {
  list-style: none;
  margin: 0;
  padding: 0;
}
ul.menu li,
ul.plain li {
  list-style: none;
  margin: 0;
  padding: 0;
}

img {
  -webkit-backface-visibility: hidden;
  transition: var(--transition);
}
img.lazy {
  opacity: 0;
}
@media not all and (-webkit-min-device-pixel-ratio: 0), not all and (min-resolution: 0.001dpcm) {
  @supports (-webkit-appearance: none) {
    img.lazy {
      opacity: 1;
    }
  }
}
img.loaded {
  opacity: 1;
}

.svg {
  transition: all var(--transition);
}

.hidden {
  display: none !important;
  visibility: hidden !important;
}

.video-container,
.media-vimeo-video,
.embed-container {
  position: relative;
  padding-bottom: 50%;
  padding-top: 25px;
  height: 0;
  margin: 0 !important;
}
.video-container.normal,
.media-vimeo-video.normal,
.embed-container.normal {
  padding-bottom: 50%;
}
.video-container.map,
.media-vimeo-video.map,
.embed-container.map {
  padding-bottom: 75.25%;
}
.video-container.audio,
.media-vimeo-video.audio,
.embed-container.audio {
  padding-bottom: 20%;
}
.video-container iframe,
.media-vimeo-video iframe,
.embed-container iframe {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}

.ct__what-s-on-listing section.m-entity > .grid,
.ct__collection-page section.m-entity > .grid,
.ct__photography-culture-landing section.m-entity > .grid,
.ct__photography-culture-listing section.m-entity > .grid,
.ct__landing-page section.m-entity > .grid,
.ct__season-page section.m-entity > .grid,
.ct__homepage section.m-entity > .grid,
.ct__what-s-on-listing section.m-entity > .grid {
  display: flex;
  justify-content: center;
}

.ct__page section.m-entity > .grid > [class*=col-],
.ct__event section.m-entity > .grid > [class*=col-],
.ct__on-photography-post section.m-entity > .grid > [class*=col-],
.ct__extension-page section.m-entity > .grid > [class*=col-],
.ct__landing-pagev2 section.m-entity > .grid > [class*=col-] {
  width: 100%;
}

/**
 * ----------------------
 * Un.titled
 * Base - Typography
 * ----------------------
 */
/**
 * Config
 */
/**
 * Heading
 */
h1,
.h1,
h2,
.h2,
h3,
.h3,
h4,
.h4,
h5,
.h5,
h6,
.h6 {
  margin-top: 0;
  font-family: var(--fontTitle);
  font-weight: normal;
  letter-spacing: 0;
}

h1,
.h1 {
  line-height: 1.24;
  font-size: clamp(32px, 7vw, var(--fontSizeHeadingOne));
}

h2,
.h2 {
  line-height: 1.34;
  font-size: clamp(25px, 7vw, var(--fontSizeHeadingTwo));
}

h3,
.h3 {
  line-height: 1.4;
  font-size: clamp(20px, 5vw, var(--fontSizeHeadingThree));
}

h4,
.h4 {
  line-height: 1.2;
  font-size: clamp(18px, 7vw, var(--fontSizeHeadingFour));
}

h5,
.h5 {
  line-height: 1.5;
  font-size: clamp(16px, 7vw, var(--fontSizeLg));
}

h6,
.h6 {
  line-height: 1.5;
  font-size: clamp(16px, 7vw, var(--fontSize));
}

/**
 * Paragraphs
 */
p {
  margin: 1.5em 0;
}
p:first-of-type {
  margin-top: 0;
}
p:last-of-type {
  margin-bottom: 0;
}

/**
 * Lists
 */
ul,
ol {
  margin: 1.5rem 0;
  list-style-position: inside;
  padding-left: 0;
}

/**
 * Links
 */
a {
  color: inherit;
  font-weight: inherit;
  text-decoration: none;
  transition: 0.1s var(--easing);
}
a:hover, a:focus {
  text-decoration: underline;
}
a:focus {
  outline: 3px dashed currentColor;
}
.js-focus-visible a:focus:not(.focus-visible) {
  outline: 0;
}

.no-click {
  pointer-events: none;
  cursor: default;
}

::-moz-selection {
  background-color: var(--c-secondary);
  color: var(--c-primary);
}

::selection {
  background-color: var(--c-secondary);
  color: var(--c-primary);
}

/**
 * Buttons
 */
button:focus {
  outline: 3px dashed currentColor;
}
.js-focus-visible button:focus:not(.focus-visible) {
  outline: 0;
}

/**
 * Inline
 */
strong {
  font-weight: bold;
}

em {
  font-style: italic;
}

span {
  font-family: inherit;
  font-weight: inherit;
  line-height: inherit;
  letter-spacing: inherit;
  font-size: inherit;
}

address {
  font-family: inherit;
  font-weight: inherit;
  line-height: inherit;
  letter-spacing: inherit;
  font-size: inherit;
  font-style: normal;
}

small {
  font-size: 90%;
}

hr {
  border: solid var(--c-secondary);
  border-width: 0 0 1px 0;
  margin: 1.5rem 0;
}

figure {
  margin: 0;
}

/**
 * ----------------------
 * Un.titled
 * Base - Drupal 8 specific
 * ----------------------
 */
.pager {
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  justify-content: center;
  align-items: center;
  margin-top: var(--bump);
  flex-wrap: wrap;
}
.pager li {
  list-style: none;
  margin: 0;
  padding: 0;
}
@media (max-width: 767px) {
  .pager {
    margin-top: calc(var(--bump) / 2);
  }
}
.pager li {
  display: inline-block;
}
.pager li a {
  display: block;
  padding: 0 10px;
  font-size: 16px;
  font-weight: bold;
  letter-spacing: 0;
  line-height: 27px;
  color: var(--c-grey);
}
.pager li a:hover {
  color: var(--c-secondary);
  text-decoration: none;
}
.pager li:last-child a {
  border-right: 0;
  padding-right: 5px;
}
.pager li.is-active a {
  background-color: var(--c-white);
  color: var(--c-primary);
}

.admin-functions {
  position: -webkit-sticky;
  position: sticky;
  top: 0;
  width: 100%;
  background-color: var(--c-primary);
  max-width: 100%;
  z-index: 31;
}
.user-logged-in .admin-functions {
  top: 39px;
}
.toolbar-tray-open .admin-functions {
  top: 79px;
}
.admin-functions [class*=col-] {
  padding: 0 calc(var(--bump) / 2);
}
.admin-functions ul {
  list-style: none;
  margin: 0;
  padding: 0;
  border: 0;
  margin: calc(var(--bump) / 2) 0;
  padding: 0;
}
.admin-functions ul li {
  list-style: none;
  margin: 0;
  padding: 0;
}
.admin-functions ul li {
  margin-right: var(--bump);
  display: inline-block;
}
.admin-functions ul li a {
  color: var(--c-white);
}

.visually-hidden {
  position: absolute !important;
  clip: rect(1px, 1px, 1px, 1px);
  overflow: hidden;
  height: 1px;
  width: 1px;
  word-wrap: normal;
}

a.skip-main {
  left: -999px;
  position: absolute;
  top: auto;
  width: 1px;
  height: 1px;
  overflow: hidden;
  z-index: -999;
}

a.skip-main:focus,
a.skip-main:active {
  font-weight: bold;
  color: var(--c-white);
  background-color: var(--c-primary);
  left: auto;
  top: auto;
  width: 30%;
  height: auto;
  overflow: auto;
  margin: 10px 35%;
  padding: 5px;
  text-align: center;
  font-size: 1.2em;
  z-index: 999;
}

.ajax-progress-throbber {
  display: none;
}

/**
 * ----------------------
 * Un.titled
 * Base - Main
 * ----------------------
 */
/**
 * Styles
 */
html,
body {
  -moz-font-smoothing: grayscale;
  -moz-osx-font-smoothing: grayscale;
  -webkit-font-smoothing: antialiased;
  font-size: var(--fontSize);
  box-sizing: border-box;
  line-height: var(--lineHeight);
  font-family: var(--fontBody);
  background-color: var(--c-primary);
  color: var(--c-secondary);
}

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

body {
  display: flex;
  flex-direction: column;
}
body p {
  line-height: 1.9;
  color: var(--c-secondary);
}

@media (max-width: 991px) {
  [data-nav=open] {
    overflow: hidden;
    position: fixed;
    width: 100%;
  }
}
/**
 * ----------------------
 * Un.titled
 * Base - Animations
 * ----------------------
 */
@-webkit-keyframes fadeIn {
  0% {
    opacity: 0;
    visibility: hidden;
  }
  100% {
    opacity: 1;
    visibility: visible;
  }
}
@keyframes fadeIn {
  0% {
    opacity: 0;
    visibility: hidden;
  }
  100% {
    opacity: 1;
    visibility: visible;
  }
}
@-webkit-keyframes fadeOut {
  0% {
    opacity: 1;
    visibility: visible;
  }
  100% {
    opacity: 0;
    visibility: hidden;
  }
}
@keyframes fadeOut {
  0% {
    opacity: 1;
    visibility: visible;
  }
  100% {
    opacity: 0;
    visibility: hidden;
  }
}
@-webkit-keyframes zoomFadeIn {
  0% {
    transform: translateY(-10%) scale(0.8);
    opacity: 0;
    visibility: hidden;
  }
  100% {
    transform: translateY(0) scale(1);
    opacity: 1;
    visibility: visible;
  }
}
@keyframes zoomFadeIn {
  0% {
    transform: translateY(-10%) scale(0.8);
    opacity: 0;
    visibility: hidden;
  }
  100% {
    transform: translateY(0) scale(1);
    opacity: 1;
    visibility: visible;
  }
}
@-webkit-keyframes zoomFadeOut {
  0% {
    transform: translateY(0) scale(1);
    opacity: 1;
    visibility: visible;
  }
  100% {
    transform: translateY(-10%) scale(0.8);
    opacity: 0;
    visibility: hidden;
  }
}
@keyframes zoomFadeOut {
  0% {
    transform: translateY(0) scale(1);
    opacity: 1;
    visibility: visible;
  }
  100% {
    transform: translateY(-10%) scale(0.8);
    opacity: 0;
    visibility: hidden;
  }
}
@-webkit-keyframes navOverlayIn {
  0% {
    transform-origin: top;
    transform: scaleY(0);
    opacity: 0;
    visibility: hidden;
  }
  100% {
    transform-origin: top;
    transform: scaleY(1);
    opacity: 1;
    visibility: visible;
  }
}
@keyframes navOverlayIn {
  0% {
    transform-origin: top;
    transform: scaleY(0);
    opacity: 0;
    visibility: hidden;
  }
  100% {
    transform-origin: top;
    transform: scaleY(1);
    opacity: 1;
    visibility: visible;
  }
}
@-webkit-keyframes navOverlayOut {
  0% {
    transform-origin: top;
    transform: scaleY(1);
    opacity: 1;
    visibility: visible;
  }
  100% {
    transform-origin: top;
    transform: scaleY(0);
    opacity: 0;
    visibility: hidden;
  }
}
@keyframes navOverlayOut {
  0% {
    transform-origin: top;
    transform: scaleY(1);
    opacity: 1;
    visibility: visible;
  }
  100% {
    transform-origin: top;
    transform: scaleY(0);
    opacity: 0;
    visibility: hidden;
  }
}
@-webkit-keyframes navOverlayInnerIn {
  0% {
    opacity: 0;
    visibility: hidden;
  }
  100% {
    opacity: 1;
    visibility: visible;
  }
}
@keyframes navOverlayInnerIn {
  0% {
    opacity: 0;
    visibility: hidden;
  }
  100% {
    opacity: 1;
    visibility: visible;
  }
}
@-webkit-keyframes navOverlayInnerOut {
  0% {
    opacity: 1;
    visibility: visible;
  }
  100% {
    opacity: 0;
    visibility: hidden;
  }
}
@keyframes navOverlayInnerOut {
  0% {
    opacity: 1;
    visibility: visible;
  }
  100% {
    opacity: 0;
    visibility: hidden;
  }
}
/**
* Atoms
*/
/**
 * ----------------------
 * Un.titled
 * Atoms - Grid
 * ----------------------
 */
/**
 * Styling
 */
.a-grid {
  display: grid;
  gap: calc(var(--bump) / 2);
}
.a-grid--1 {
  grid-template-columns: 1fr;
}
.a-grid--2 {
  grid-template-columns: repeat(2, 1fr);
}
@media (max-width: 767px) {
  .a-grid--2 {
    grid-template-columns: 1fr;
  }
}
.a-grid--3 {
  grid-template-columns: repeat(3, 1fr);
}
@media (max-width: 991px) {
  .a-grid--3 {
    grid-template-columns: repeat(2, 1fr);
  }
}
@media (max-width: 767px) {
  .a-grid--3 {
    grid-template-columns: 1fr;
  }
}
.a-grid--4 {
  grid-template-columns: repeat(4, 1fr);
}
@media (max-width: 991px) {
  .a-grid--4 {
    grid-template-columns: repeat(2, 1fr);
  }
}
@media (max-width: 767px) {
  .a-grid--4 {
    grid-template-columns: repeat(1, 1fr);
  }
}

/**
 * ----------------------
 * Un.titled
 * Atoms - Nav Toggle
 * ----------------------
 */
/**
 * Config
 */
/**
 * Styles
 */
.a-nav-toggle {
  border: 0;
  padding: 0;
  background-color: transparent;
  width: 30px;
  height: 22px;
  position: relative;
  display: none;
  outline: none;
  margin: 0 0 0 auto;
}
@media (max-width: 767px) {
  .a-nav-toggle {
    display: block;
  }
}
.a-nav-toggle:hover, .a-nav-toggle:focus {
  outline: none;
}
.a-nav-toggle__line {
  display: block;
  background: var(--c-secondary);
  width: 30px;
  height: 3px;
  position: absolute;
  left: 0;
  border-radius: 0;
  transition: var(--transition);
}
.a-nav-toggle__line-1 {
  top: 0;
}
:hover > .a-nav-toggle__line-1 {
  transform: translateY(-1.5px);
}
[data-nav=open] .a-nav-toggle__line-1 {
  transform: translateY(11px) translateX(0) rotate(45deg);
}
.a-nav-toggle__line-2 {
  top: 50%;
}
[data-nav=open] .a-nav-toggle__line-2 {
  opacity: 0;
}
.a-nav-toggle__line-3 {
  top: 100%;
}
:hover > .a-nav-toggle__line-3 {
  transform: translateY(1.5px);
}
[data-nav=open] .a-nav-toggle__line-3 {
  transform: translateY(-11px) translateX(0) rotate(-45deg);
}

/**
 * ----------------------
 * Un.titled
 * Atoms - Buttons
 * ----------------------
 */
/**
 * Config
 **/
/**
 * Styles
 **/
.a-btn {
  font-family: "Letteratextprobold", sans-serif;
  cursor: pointer;
  background-color: var(--c-tertiary);
  color: var(--c-primary);
  padding: calc(var(--bump) / 4) calc(var(--bump) / 2);
  display: inline-block;
  transition: 0.3s var(--easing);
  text-align: center;
  -moz-text-align-last: center;
       text-align-last: center;
  text-decoration: none;
}
.a-btn:hover {
  background-color: var(--c-secondary);
  text-decoration: none;
}
.a-btn--alt {
  font-family: "Letteratextprobold", sans-serif;
  cursor: pointer;
  background-color: var(--c-tertiary);
  color: var(--c-primary);
  padding: calc(var(--bump) / 4) calc(var(--bump) / 2);
  display: inline-block;
  transition: 0.3s var(--easing);
  text-align: center;
  -moz-text-align-last: center;
       text-align-last: center;
  text-decoration: none;
  background-color: var(--c-secondary);
}
.a-btn--alt:hover {
  background-color: var(--c-tertiary);
  color: var(--c-primary);
  text-decoration: none;
}
.a-btn--black-bg {
  background-color: var(--c-primary);
}
.a-btn--grey-bg {
  background-color: var(--c-charcoal);
  color: var(--c-secondary);
}
.a-btn--white-text {
  color: var(--c-secondary);
}
.a-btn--white-text:hover {
  color: var(--c-primary);
}
.a-btn--non-clickable {
  pointer-events: none;
}
.a-btn--full {
  width: 100%;
}
.a-btn--no-bg {
  font-family: "Letteratextprobold", sans-serif;
  cursor: pointer;
  background-color: var(--c-tertiary);
  color: var(--c-primary);
  padding: calc(var(--bump) / 4) calc(var(--bump) / 2);
  display: inline-block;
  transition: 0.3s var(--easing);
  text-align: center;
  -moz-text-align-last: center;
       text-align-last: center;
  text-decoration: none;
  border: none;
  color: var(--c-secondary);
  background-color: transparent;
  display: inline-flex;
  justify-content: center;
  align-items: center;
  border: 0;
  text-decoration: underline;
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
  transition: 0.3s var(--easing);
  white-space: nowrap;
}
.a-btn--no-bg:hover {
  background-color: transparent;
  text-decoration: none;
}
.a-btn--no-bg-wide {
  font-family: "Letteratextprobold", sans-serif;
  cursor: pointer;
  background-color: var(--c-tertiary);
  color: var(--c-primary);
  padding: calc(var(--bump) / 4) calc(var(--bump) / 2);
  display: inline-block;
  transition: 0.3s var(--easing);
  text-align: center;
  -moz-text-align-last: center;
       text-align-last: center;
  text-decoration: none;
  border: none;
  color: var(--c-secondary);
  background-color: transparent;
  display: inline-flex;
  justify-content: center;
  align-items: center;
  border: 0;
  text-decoration: underline;
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
  transition: 0.3s var(--easing);
  white-space: nowrap;
  border: 2px solid var(--c-white);
}
.a-btn--no-bg-wide:hover {
  background-color: transparent;
  text-decoration: none;
}
.a-btn--arrow {
  font-family: "Letteratextprobold", sans-serif;
  cursor: pointer;
  background-color: var(--c-tertiary);
  color: var(--c-primary);
  padding: calc(var(--bump) / 4) calc(var(--bump) / 2);
  display: inline-block;
  transition: 0.3s var(--easing);
  text-align: center;
  -moz-text-align-last: center;
       text-align-last: center;
  text-decoration: none;
  border: none;
  color: var(--c-primary);
  display: inline-flex;
  justify-content: center;
  border: 0;
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
  transition: 0.3s var(--easing);
  white-space: nowrap;
  padding: calc(var(--bump) / 4) calc(var(--bump) * 3.5);
}
.a-btn--arrow::after {
  background-position: center center;
  background-repeat: no-repeat;
  background-size: cover;
  content: "";
  margin-left: 10px;
  width: 25px;
  height: 20px;
  display: block;
  background-image: url("../img/arrow-right.svg");
  background-position: 0px center;
  transition: 0.3s var(--easing);
}
.a-btn--right-double-arrow::after {
  background-position: center center;
  background-repeat: no-repeat;
  background-size: 10px;
  content: "";
  margin-left: 10px;
  width: 20px;
  height: 20px;
  display: block;
  background-image: url("../img/right-double-arrow.svg");
  background-position: 5px center;
}
.a-btn--left-double-arrow::before {
  background-position: center center;
  background-repeat: no-repeat;
  background-size: 10px;
  content: "";
  margin-right: 10px;
  width: 20px;
  height: 20px;
  display: block;
  background-image: url("../img/left-double-arrow.svg");
  background-position: 5px center;
}

/**
 * ----------------------
 * Un.titled
 * Atoms - Image credits
 * ----------------------
 */
.a-image-credit {
  position: absolute;
  top: var(--bump);
  right: var(--bump);
  z-index: 4;
  cursor: help !important;
  height: 20px;
  width: 20px;
  border: 0;
  background-color: var(--c-tertiary);
  border-radius: var(--bump);
  color: var(--c-primary);
  padding: 0;
  margin: 0;
}
@media (max-width: 767px) {
  .a-image-credit {
    display: none;
    visibility: hidden;
  }
}
.a-image-credit span {
  display: flex;
  justify-content: center;
  align-items: center;
  align-self: center;
  width: 100%;
  text-transform: none;
  text-align: center;
  margin: auto;
  font-weight: 900;
}
.a-image-credit:before {
  content: attr(data-credit);
  text-indent: 0;
  background: var(--c-primary);
  color: var(--c-white);
  opacity: 0;
  position: absolute;
  right: var(--bump);
  top: 0;
  z-index: -1;
  padding: 0 21px;
  line-height: 22px;
  font-size: 16px;
  transition: opacity var(--transition);
  pointer-events: none;
  border-radius: 3px;
  letter-spacing: 0;
  word-spacing: 0;
  white-space: normal;
  max-width: 20vw;
  width: 100vw;
  height: auto;
}
.a-image-credit:focus::before, .a-image-credit:active::before, .a-image-credit:hover::before {
  opacity: 1;
}

/**
* ----------------------
* Un.titled
* Atoms - Breadcrumbs
* ----------------------
*/
/**
* Styling
*/
.a-breadcrumb {
  margin-bottom: var(--bump);
  padding: calc(var(--bump) / 2) 0;
}
@media (max-width: 575px) {
  .a-breadcrumb {
    margin-bottom: calc(var(--bump) / 2);
  }
}
.a-breadcrumb ol {
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  align-items: center;
  flex-wrap: wrap;
}
.a-breadcrumb ol li {
  list-style: none;
  margin: 0;
  padding: 0;
}
.a-breadcrumb ol li {
  margin-right: calc(var(--bump) / 6);
  white-space: nowrap;
}
.a-breadcrumb ol li::after {
  content: "/";
  margin-left: calc(var(--bump) / 10);
}
.a-breadcrumb ol li:last-child::after {
  display: none;
}

/**
* ----------------------
* Un.titled
* Atoms - Search button
* ----------------------
*/
/**
* Config
*/
/**
* Styling
*/
.a-search-button {
  background-color: transparent;
  border: 0;
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
  padding: 0;
  display: flex;
  justify-content: center;
  align-items: center;
  margin: 0 10px 0 auto;
  font-size: var(--fontSizeLg);
  height: 44px;
  width: 44px;
}
@media (max-width: 1199px) {
  .a-search-button {
    margin: 0;
  }
}
@media (max-width: 991px) {
  .a-search-button {
    flex-direction: column-reverse;
    padding-top: 0;
    padding-bottom: 0;
  }
}
@media (max-width: 767px) {
  .a-search-button {
    margin-left: auto;
  }
}
.a-search-button:hover {
  color: var(--c-secondary);
}
.a-search-button span {
  line-height: 1;
}
@media (min-width: 993px) and (max-width: 1199px) {
  .a-search-button span {
    display: none;
    visibility: hidden;
  }
}
@media (max-width: 991px) {
  .a-search-button span {
    font-size: var(--fontSizeSm);
  }
}
.a-search-button > svg {
  width: 20px;
  height: 20px;
  fill: var(--c-secondary);
  display: block;
  visibility: visible;
}
@media (max-width: 767px) {
  .a-search-button > svg {
    margin-left: 0;
    height: 26px;
  }
}
[data-search=open] .a-search-button > svg {
  display: none;
  visibility: hidden;
}
.a-search-button .a-search-button__close {
  display: none;
  visibility: hidden;
  transition: all 0.6s var(--easing);
}
.a-search-button .a-search-button__close::before, .a-search-button .a-search-button__close::after {
  content: "";
  display: block;
  background: var(--c-black);
  width: 30px;
  height: 3px;
  position: absolute;
  right: 0;
  border-radius: 1.5px;
  transition: var(--transition);
}
.a-search-button .a-search-button__close::before {
  transform: translateY(9px) translateX(0) rotate(45deg);
}
.a-search-button .a-search-button__close::after {
  transform: translateY(-9px) translateX(0) rotate(-45deg);
}
[data-search=open] .a-search-button .a-search-button__close {
  display: block;
  position: relative;
  visibility: visible;
  color: var(--c-black);
}
[data-search=open] .a-search-button .a-search-button__close::before, [data-search=open] .a-search-button .a-search-button__close::after {
  display: none;
}
@media (max-width: 767px) {
  [data-search=open] .a-search-button .a-search-button__close {
    text-align: left;
    text-indent: -9999px;
  }
  [data-search=open] .a-search-button .a-search-button__close::before, [data-search=open] .a-search-button .a-search-button__close::after {
    display: block;
  }
}
.a-search-button .a-search-button__close svg {
  display: block;
  height: 20px;
  width: 20px;
}

/**
 * Molecules
 */
/**
 * ----------------------
 * Un.titled
 * Molecules - Emergency Message
 * ----------------------
 */
/**
 * Config
 **/
@-webkit-keyframes slideInUp {
  0% {
    opacity: 0;
    transform: translateY(100%);
  }
  80% {
    transform: scale(1.02);
  }
  100% {
    opacity: 1;
    transform: translateY(0) scale(1);
  }
}
@keyframes slideInUp {
  0% {
    opacity: 0;
    transform: translateY(100%);
  }
  80% {
    transform: scale(1.02);
  }
  100% {
    opacity: 1;
    transform: translateY(0) scale(1);
  }
}
/**
 * Styling
 **/
.m-emmsg {
  position: relative;
  width: 100%;
  background-color: var(--c-tertiary);
  z-index: 100;
  color: var(--c-white);
  padding: calc(var(--bump) / 2) 0;
  display: none;
}
.m-emmsg__inner {
  font-family: var(--fontSemiBold);
}
.m-emmsg[data-state=visible] {
  opacity: 0;
  display: block;
  transform: translateY(100%);
  -webkit-animation: slideInUp 0.2s 0.3s cubic-bezier(0.77, 0.29, 0.35, 0.72) 1 forwards;
          animation: slideInUp 0.2s 0.3s cubic-bezier(0.77, 0.29, 0.35, 0.72) 1 forwards;
}
@media (max-width: 575px) {
  .m-emmsg {
    padding: 0;
  }
}
.m-emmsg h3 {
  color: var(--c-primary);
  margin-bottom: 0;
  width: 85%;
}
.m-emmsg p {
  color: var(--c-primary);
  width: 95%;
}
.m-emmsg button {
  background-color: transparent;
  border: 0;
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
  padding: 0;
  position: absolute;
  top: calc(var(--bump) / 2);
  right: calc(var(--bump) / 2);
  height: 20px;
  width: 20px;
  display: flex;
  justify-content: center;
  align-items: center;
  transition: var(--transition);
}
.m-emmsg button path {
  fill: var(--c-primary);
}

/**
 * ----------------------
 * Un.titled
 * Molecules - Entities
 * ----------------------
 */
.m-entity {
  margin: calc(var(--bump) * 1.5) 0;
  /**
   * ----------------------
   * Un.titled
   * Molecules - Node body copy
   * ----------------------
   */
  /**
   * ----------------------
   * Un.titled
   * Molecules - Image
   * ----------------------
   */
  /**
   * ----------------------
   * Un.titled
   * Molecules - Entity views
   * ----------------------
   */
  /**
   * ----------------------
   * Un.titled
   * Molecules - Quotes
   * ----------------------
   */
  /**
   * Config
   */
  /**
  * Styles
  */
  /**
   * ----------------------
   * Un.titled
   * Molecules - Accordions
   * ----------------------
   */
  /**
   * ----------------------
   * Un.titled
   * Molecules - Gallery
   * ----------------------
   */
  /**
   * ----------------------
   * Un.titled
   * Molecules - Image & Text
   * ----------------------
   */
  /**
  * ----------------------
  * Un.titled
  * Molecules - Downloads
  * ----------------------
  */
  /**
  * Config
  */
  /**
  * Styling
  */
  /**
   * ----------------------
   * Un.titled
   * Molecules - Embed
   * ----------------------
   */
}
@media (max-width: 767px) {
  .m-entity {
    margin: var(--bump) 0;
  }
}
.m-entity img {
  width: 100%;
  height: auto;
  display: block;
}
.ct__on-photography-post .m-entity p, .ct__page .m-entity p {
  font-size: 17px;
  line-height: 1.6;
}
.m-entity__body p a, .m-entity__text p a, .m-entity__accordion p a, .m-entity__image-text p a {
  text-decoration: underline;
}
.m-entity__body p a:hover, .m-entity__text p a:hover, .m-entity__accordion p a:hover, .m-entity__image-text p a:hover {
  text-decoration: none;
}
.m-entity__body ul, .m-entity__text ul, .m-entity__accordion ul {
  margin-left: 15px;
}
.m-entity__body ul li, .m-entity__text ul li, .m-entity__accordion ul li {
  position: relative;
  margin-bottom: 10px;
  list-style-position: outside;
}
.m-entity__text ul {
  color: var(--c-secondary);
}
.m-entity--space-between {
  display: flex;
  justify-content: space-between;
  flex-direction: row;
}
@media (max-width: 575px) {
  .m-entity--space-between {
    flex-direction: column;
  }
}
.m-entity__format {
  display: flex;
  justify-content: space-between;
  flex-direction: row;
  gap: 10px;
}
@media (max-width: 767px) {
  .m-entity__format {
    flex-direction: column;
  }
}
.m-entity__format-link {
  flex-grow: 1;
  margin: 0 20px 0 0;
}
.m-entity__format-link:last-of-type {
  margin: 0;
}
@media (max-width: 767px) {
  .m-entity__format-link {
    margin: 0;
  }
}
.m-entity__past-programme-bar {
  justify-content: space-between;
}
.m-entity__past-programme-bar__cta {
  display: flex;
  align-items: center;
  align-content: center;
  justify-content: center;
}
.m-entity__past-programme-bar__title {
  display: flex;
  align-items: center;
}
@media (max-width: 767px) {
  .m-entity__past-programme-bar__title {
    justify-content: center;
  }
}
@media (max-width: 767px) {
  .m-entity__past-programme-bar__title h2 {
    text-align: center;
    -moz-text-align-last: center;
         text-align-last: center;
  }
}
.m-entity__caption p {
  border-left: 2px solid var(--c-tertiary);
  padding-left: 10px;
  margin: 1.5em 0 0;
}
.m-entity__image a:not(.linked) picture {
  cursor: auto;
}
.m-entity__related {
  margin: 0;
}
.m-entity__curated-signposts__inner {
  padding: 50px 0;
}
@media (max-width: 767px) {
  .m-entity__curated-signposts__inner {
    padding: 40px 0;
  }
}
.m-entity__curated-signposts__inner .eck-entity .a-grid {
  gap: 20px;
}
.m-entity__curated-signposts__inner--dark {
  background-color: var(--c-black);
}
.m-entity__body {
  margin-top: 0;
  color: var(--c-secondary);
}
.ct__photography-culture-listing .m-entity__body p, .ct__what-s-on-listing .m-entity__body p, .ct__landing-page .m-entity__body p, .ct__collection-page .m-entity__body p {
  font-size: 17px;
  line-height: 1.6;
}
.m-entity__image-wrapper {
  position: relative;
}
.m-entity__view:first-child {
  margin-top: 0;
}
.m-entity__view:last-child {
  margin-bottom: 0;
}
.m-entity__quote {
  --quotePadding: 40px;
}
@media (max-width: 991px) {
  .m-entity__quote {
    --quotePadding: 40px;
  }
}
.m-entity__quote blockquote {
  margin: 0;
  padding: 0 calc(var(--quotePadding) * 2) 0;
  position: relative;
}
.m-entity__quote blockquote::before {
  content: "";
  background-position: center center;
  background-repeat: no-repeat;
  background-size: contain;
  position: absolute;
  z-index: 0;
  height: calc(var(--quotePadding) + 20px);
  width: calc(var(--quotePadding) + 20px);
}
.m-entity__quote blockquote::before {
  top: 0;
  left: 0;
  background-image: url("../img/quotation.svg");
}
.m-entity__quote blockquote p {
  color: var(--c-secondary);
  margin-bottom: 0;
  font-size: 1.5rem;
}
.m-entity__quote-info {
  display: flex;
  flex-direction: column;
  justify-content: flex-start;
  align-items: flex-start;
  flex-wrap: wrap;
  margin-top: 10px;
}
.m-entity__quote cite {
  font-family: var(--fontBody);
  font-style: normal;
  color: var(--c-secondary);
  margin-top: 10px;
}
.m-entity__quote .rating {
  display: inline-flex;
  margin-right: calc(var(--bump) / 2);
}
.m-entity__quote .rating__star {
  width: 24px;
  height: 24px;
  margin-right: 5px;
  stroke: var(--c-grey);
}
.m-entity__quote .rating__star:last-child {
  margin-right: 0;
}
.m-entity__quote .rating--1 .rating__star:nth-child(-n+1) path {
  fill: var(--c-grey);
  stroke: var(--c-grey);
}
.m-entity__quote .rating--2 .rating__star:nth-child(-n+2) path {
  fill: var(--c-grey);
  stroke: var(--c-grey);
}
.m-entity__quote .rating--3 .rating__star:nth-child(-n+3) path {
  fill: var(--c-grey);
  stroke: var(--c-grey);
}
.m-entity__quote .rating--4 .rating__star:nth-child(-n+4) path {
  fill: var(--c-grey);
  stroke: var(--c-grey);
}
.m-entity__quote .rating--5 .rating__star:nth-child(-n+5) path {
  fill: var(--c-grey);
  stroke: var(--c-grey);
}
.m-entity__quote--big {
  background-color: var(--c-blueDark);
  position: relative;
  width: 100%;
  display: flex;
  justify-content: center;
  align-items: center;
  color: var(--c-white);
}
@media (max-width: 991px) {
  .m-entity__quote--big {
    margin-bottom: 7.5vh;
  }
}
.m-entity__quote--big img {
  position: absolute;
  top: 0;
  left: 0;
  display: block;
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  z-index: 0;
  opacity: 0.2;
}
.m-entity__quote--big blockquote {
  margin: 10vh 0;
}
@media (max-width: 1199px) {
  .m-entity__quote--big blockquote {
    margin: 5vh 0;
  }
}
@media (max-width: 991px) {
  .m-entity__quote--big blockquote {
    margin-bottom: 10vh;
  }
}
.m-entity__quote--big blockquote::before, .m-entity__quote--big blockquote::after {
  height: calc(var(--quotePadding) * 3);
  width: calc(var(--quotePadding) * 3);
}
@media (max-width: 991px) {
  .m-entity__quote--big blockquote::before, .m-entity__quote--big blockquote::after {
    height: calc(var(--quotePadding) * 2);
    width: calc(var(--quotePadding) * 2);
  }
}
.m-entity__quote--big blockquote::before {
  left: calc(var(--quotePadding) * -1);
  top: calc(var(--quotePadding) * -1);
}
@media (max-width: 991px) {
  .m-entity__quote--big blockquote::before {
    left: 0;
  }
}
.m-entity__quote--big blockquote::after {
  bottom: 0;
  right: 0;
}
@media (max-width: 767px) {
  .m-entity__quote--big blockquote::after {
    right: 0;
  }
}
.m-entity__quote--big blockquote p {
  font-size: clamp(1.5rem, 5vw, 2rem);
  position: relative;
  z-index: 2;
}
.m-entity__quote--big blockquote cite {
  font-size: 1.25rem;
}
.m-entity__quote--big .a-word {
  position: absolute;
  right: 0;
  top: -3rem;
  width: 10vw;
  height: calc(100% + 6rem);
  display: flex;
  justify-content: flex-end;
}
@media (max-width: 991px) {
  .m-entity__quote--big .a-word {
    top: auto;
    bottom: -7.5vh;
    left: 0;
    right: auto;
    width: 100%;
    height: 15vh;
  }
}
.m-entity__quote--big .a-word svg {
  mix-blend-mode: normal;
  width: 100%;
  height: 100%;
  -o-object-fit: contain;
     object-fit: contain;
}
@media (max-width: 991px) {
  .m-entity__quote--big .a-word svg:first-of-type {
    display: none;
    visibility: hidden;
  }
}
.m-entity__quote--big .a-word svg:last-of-type {
  display: none;
  visibility: hidden;
}
@media (max-width: 991px) {
  .m-entity__quote--big .a-word svg:last-of-type {
    display: block;
    visibility: visible;
  }
}
.m-entity__accordion {
  /* title opened */
  /* title closed */
}
.m-entity__accordion .accordion__header {
  display: flex;
  width: 100%;
  border: 0;
  background-color: transparent;
  -moz-text-align-last: left;
       text-align-last: left;
  justify-content: space-between;
  align-items: center;
  padding: calc(var(--bump) / 2);
  color: #fff;
}
.m-entity__accordion .accordion__header::after {
  content: "";
  background-position: center center;
  background-repeat: no-repeat;
  background-size: cover;
  height: calc(var(--bump) / 2);
  width: calc(var(--bump) / 2);
}
.m-entity__accordion .accordion__header:focus, .m-entity__accordion .accordion__header[aria-expanded=true] {
  font-weight: bold;
  outline: none;
}
.m-entity__accordion .accordion__title {
  margin: calc(var(--bump) / 2) 0 0;
  background-color: rgba(215, 215, 215, 0.2);
}
.m-entity__accordion .accordion__title:first-of-type {
  margin-top: 0;
}
.m-entity__accordion .js-accordion__panel {
  display: none;
}
.m-entity__accordion .accordion__panel {
  display: block;
  overflow: hidden;
  background-color: rgba(215, 215, 215, 0.2);
  opacity: 1;
  transition: visibility 0s ease, max-height 0.2s ease, opacity 0.2s ease;
  max-height: 100em;
  visibility: visible;
  transition-delay: 0s;
  padding: 0 calc(var(--bump) / 2) 0;
}
.m-entity__accordion .accordion__panel[aria-hidden=true] {
  display: block;
  max-height: 0;
  opacity: 0;
  visibility: hidden;
  transition-delay: 0.2s, 0s, 0s;
}
.m-entity__accordion .accordion__panel p {
  color: #fff;
}
.m-entity__accordion .accordion__panel p:last-child {
  margin-bottom: calc(var(--bump) / 2);
}
.m-entity__accordion [aria-expanded=true]:after {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3E%3Cline x1='0' y1='10' x2='20' y2='10' stroke='%23ffffff'%3E%3C/line%3E%3C/svg%3E");
}
.m-entity__accordion [aria-expanded=false]:after {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3E%3Cline x1='0' y1='10' x2='20' y2='10' stroke='%23ffffff'%3E%3C/line%3E%3Cline x1='10' y1='0' x2='10' y2='20' stroke='%23ffffff'%3E%3C/line%3E%3C/svg%3E");
}
.m-entity__gallery a:hover {
  opacity: 0.7;
}
.m-entity__image-text__inner {
  display: grid;
  grid-template-columns: 40% 1fr;
  gap: calc(var(--bump) / 1.5);
  align-items: flex-start;
}
@media (max-width: 991px) {
  .m-entity__image-text__inner {
    grid-template-columns: 1fr;
    gap: calc(var(--bump) / 2);
  }
}
.m-entity__image-text-content p {
  margin: 0 0 1.5em;
}
.m-entity__downloads .file {
  padding-left: 0;
  background-image: none;
  font-family: var(--fontTitle);
}
.m-entity__downloads .file a {
  font-family: "Letteratextprobold", sans-serif;
  cursor: pointer;
  background-color: var(--c-tertiary);
  color: var(--c-primary);
  padding: calc(var(--bump) / 4) calc(var(--bump) / 2);
  display: inline-block;
  transition: 0.3s var(--easing);
  text-align: center;
  -moz-text-align-last: center;
       text-align-last: center;
  text-decoration: none;
  border: none;
  color: var(--c-secondary);
  background-color: transparent;
  display: inline-flex;
  justify-content: center;
  align-items: center;
  border: 0;
  text-decoration: underline;
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
  transition: 0.3s var(--easing);
  white-space: nowrap;
  padding: 0;
  color: var(--c-secondary);
  position: relative;
}
.m-entity__downloads .file a:after {
  background-position: center center;
  background-repeat: no-repeat;
  background-size: 16px;
  background-image: url(../img/download.svg);
  content: "";
  position: absolute;
  width: 16px;
  height: 16px;
  right: -10%;
  top: 2px;
  transform: translate(100%, 0%);
}
.m-entity__downloads .file a:hover {
  background-color: transparent;
  text-decoration: none;
}
.m-entity__embed iframe {
  width: 100%;
}
.m-entity__signposts__inner {
  display: grid;
  gap: calc(var(--bump) / 2);
  grid-template-columns: repeat(2, 1fr);
}
@media (max-width: 991px) {
  .m-entity__signposts__inner {
    grid-template-columns: 1fr;
    gap: calc(var(--bump) * 2);
  }
}
.m-entity__related__inner {
  grid-template-columns: repeat(4, 1fr);
}
@media (max-width: 991px) {
  .m-entity__related__inner {
    grid-template-columns: repeat(2, 1fr);
  }
}
@media (max-width: 767px) {
  .m-entity__related__inner {
    grid-template-columns: repeat(1, 1fr);
  }
}
.m-entity__prev-next__inner {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
}
@media (max-width: 767px) {
  .m-entity__prev-next__inner {
    grid-template-columns: repeat(1, 1fr);
  }
}
.m-entity__prev-next__prev .o-teaser-teaser__buttons .o-teaser__button::before {
  background-position: center center;
  background-repeat: no-repeat;
  background-size: 10px;
  content: "";
  margin-right: 10px;
  width: 20px;
  height: 20px;
  display: block;
  background-image: url("../img/left-double-arrow.svg");
  background-position: 5px center;
}
.m-entity__prev-next__view-all {
  display: flex;
}
@media (max-width: 767px) {
  .m-entity__prev-next__view-all {
    order: 3;
  }
}
.m-entity__prev-next__view-all a {
  text-align: center;
}
.m-entity__prev-next__view-all__container {
  margin: auto;
  display: flex;
  flex-direction: column;
  align-items: center;
}
.m-entity__prev-next__next .o-teaser-teaser__buttons .o-teaser__button::after {
  background-position: center center;
  background-repeat: no-repeat;
  background-size: 10px;
  content: "";
  margin-left: 10px;
  width: 20px;
  height: 20px;
  display: block;
  background-image: url("../img/right-double-arrow.svg");
  background-position: 5px center;
}
.m-entity__square-dots__wrapper {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  grid-template-rows: repeat(3, 1fr);
  grid-column-gap: calc(var(--bump) / 6);
  grid-row-gap: calc(var(--bump) / 6);
  height: var(--bump);
  width: var(--bump);
  margin: calc(var(--bump) * 5) 0 20px;
}
@media (max-width: 767px) {
  .m-entity__square-dots__wrapper {
    margin: 0 0 20px;
  }
}
.m-entity__square-dots__dot {
  width: calc(var(--bump) / 6);
  height: calc(var(--bump) / 6);
  background: var(--c-secondary);
  overflow: hidden;
}
.m-entity__curated-themes__heading {
  margin: 0;
}
.m-entity__curated-themes__inner {
  display: flex;
  flex-wrap: wrap;
  align-items: flex-start;
  margin-left: -20px;
}
.m-entity__curated-themes__inner .o-teaser-mini-teaser {
  padding-left: 20px;
  width: 100%;
  max-width: calc(100% / 6);
}
.m-entity__curated-themes__inner .o-teaser-mini-teaser h3 {
  font-family: "Letteratextpro", sans-serif;
  font-weight: bold;
  line-height: 1.2;
  font-size: var(--fontSize);
  margin: 0;
}
.m-entity__curated-themes__inner .o-teaser-mini-teaser__link {
  font-family: "Letteratextprobold", sans-serif;
  cursor: pointer;
  background-color: var(--c-tertiary);
  color: var(--c-primary);
  padding: calc(var(--bump) / 4) calc(var(--bump) / 2);
  display: inline-block;
  transition: 0.3s var(--easing);
  text-align: center;
  -moz-text-align-last: center;
       text-align-last: center;
  text-decoration: none;
  border: none;
  color: var(--c-secondary);
  background-color: transparent;
  display: inline-flex;
  justify-content: center;
  align-items: center;
  border: 0;
  text-decoration: underline;
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
  transition: 0.3s var(--easing);
  white-space: nowrap;
  white-space: normal;
  width: 100%;
}
@media (max-width: 767px) {
  .m-entity__curated-themes__inner .o-teaser-mini-teaser {
    max-width: calc(100% / 2);
  }
}
.m-entity__featured-content__cta {
  justify-content: flex-end;
}
@media (max-width: 767px) {
  .m-entity__featured-content__cta {
    justify-content: flex-start;
  }
}
.m-entity__featured-content-v2__cta {
  justify-content: flex-end;
  align-items: flex-start;
}
@media (max-width: 767px) {
  .m-entity__featured-content-v2__cta {
    justify-content: flex-start;
  }
}
.m-entity__featured-content-v2__grid {
  gap: 20px;
}
.m-entity__featured-content-v2__intro h2.h2 {
  margin: 0 0 15px;
}
.m-entity__featured-content-v2__intro p {
  line-height: 24px;
}
.m-entity__image-and-text-tab__wrapper--black {
  background-color: var(--c-black);
}
.m-entity__image-and-text-tab__inner {
  display: grid;
  grid-template-columns: 37.25% 1fr;
  gap: 20px;
  align-items: flex-start;
}
@media (max-width: 991px) {
  .m-entity__image-and-text-tab__inner {
    grid-template-columns: 1fr;
    gap: calc(var(--bump) / 2);
  }
}
.m-entity__image-and-text-tab-content p {
  margin: 0 0 1.5em;
  line-height: 22px;
}
.m-entity__image-and-text-tab-content__title {
  margin: 0 0 5px;
  line-height: 24px;
}
.m-entity__child-page-signposts__grid {
  gap: 20px;
}
.m-entity__linked-text__inner {
  display: flex;
  align-items: center;
  flex-direction: row;
  gap: var(--smallBump);
  background-color: var(--c-tertiary);
  padding: var(--bump) var(--smallBump);
}
@media (max-width: 767px) {
  .m-entity__linked-text__inner {
    flex-direction: column;
    align-items: flex-start;
    gap: 5px;
    padding: calc(var(--bump) / 2) var(--smallBump);
  }
}
.m-entity__linked-text__title {
  margin: 0;
  color: var(--c-black);
}
.m-entity__linked-text p {
  color: var(--c-black);
  line-height: 17px;
}
@media (max-width: 767px) {
  .m-entity__linked-text p {
    line-height: 24px;
  }
}
.m-entity__linked-text p > a {
  text-decoration: underline;
}
.m-entity__linked-text p > a:hover {
  text-decoration: none;
}
.m-entity__linked-text__links {
  display: flex;
  justify-content: flex-end;
  flex-grow: 1;
}
.m-entity__linked-text__links > a {
  color: var(--c-black);
  text-decoration: underline;
}
@media (max-width: 767px) {
  .m-entity__linked-text__links > a {
    padding: 0 calc(var(--bump) / 2) 0 0;
  }
}
.m-entity__linked-text__links > a:hover {
  text-decoration: none;
}

/**
 * ----------------------
 * Un.titled
 * Molecules - Forms
 * ----------------------
 */
input,
input[type=text],
input[type=password],
input[type=email],
input[type=submit],
textarea,
select {
  font-family: var(--fontBody);
  color: var(--c-primary);
  resize: none;
  padding: calc(var(--bump) / 3) var(--bump);
  -webkit-border-radius: 0px;
  border-radius: 0;
  outline: 0;
  border: 1px solid var(--c-primary);
  transition: all var(--transition);
  background-color: var(--c-white);
  width: 100%;
}
input:focus,
input[type=text]:focus,
input[type=password]:focus,
input[type=email]:focus,
input[type=submit]:focus,
textarea:focus,
select:focus {
  border: 1px solid var(--c-secondary);
}

input[type=search],
input[type=text],
input[type=submit] {
  -webkit-appearance: none;
}

.form-actions input,
input[type=submit] {
  cursor: pointer;
}

button {
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
}

.js-form-item {
  display: flex;
  flex-direction: column;
  justify-content: flex-start;
  align-items: flex-start;
  margin-bottom: calc(var(--bump) / 2);
}

[type=checkbox]:checked,
[type=checkbox]:not(:checked) {
  position: absolute;
  left: -9999px;
}

[type=checkbox]:checked + label,
[type=checkbox]:not(:checked) + label {
  position: relative;
  padding-left: 42px;
  cursor: pointer;
  line-height: 34px;
  display: inline-block;
}

[type=checkbox]:checked + label:before,
[type=checkbox]:not(:checked) + label:before {
  content: "";
  position: absolute;
  left: 0;
  top: 0;
  width: 34px;
  height: 34px;
  background-color: var(--c-white);
  border: 2px solid var(--c-primary);
}

[type=checkbox]:checked + label:after,
[type=checkbox]:not(:checked) + label:after {
  content: "";
  width: 26px;
  height: 26px;
  position: absolute;
  top: 4px;
  left: 4px;
  transition: all var(--transition);
}

[type=checkbox]:not(:checked) + label:after {
  opacity: 0;
  transform: scale(0);
}

[type=checkbox]:checked + label:after {
  opacity: 1;
  transform: scale(1);
}

[type=radio]:checked,
[type=radio]:not(:checked),
[type=checkbox]:checked,
[type=checkbox]:not(:checked) {
  position: absolute;
  left: -9999px;
}

[type=radio]:checked + label,
[type=radio]:not(:checked) + label,
[type=checkbox]:checked + label,
[type=checkbox]:not(:checked) + label {
  position: relative;
  padding-left: 42px;
  cursor: pointer;
  line-height: 34px;
  display: inline-block;
  color: var(--c-primary);
}

[type=radio]:checked + label:before,
[type=radio]:not(:checked) + label:before,
[type=checkbox]:checked + label:before,
[type=checkbox]:not(:checked) + label:before {
  content: "";
  position: absolute;
  left: 0;
  top: 0;
  width: 34px;
  height: 34px;
  border: 2px solid var(--c-primary);
  background-color: var(--c-white);
}

[type=radio]:checked + label:after,
[type=radio]:not(:checked) + label:after,
[type=checkbox]:checked + label:after,
[type=checkbox]:not(:checked) + label:after {
  content: "";
  width: 26px;
  height: 26px;
  position: absolute;
  top: 0;
  left: 0;
  transition: all var(--transition);
}

[type=radio]:not(:checked) + label:after,
[type=checkbox]:not(:checked) + label:after {
  opacity: 0;
  transform: scale(0);
}

[type=radio]:checked + label:after,
[type=checkbox]:checked + label:after {
  opacity: 1;
  transform: scale(1);
}

[type=radio]:checked + label:before,
[type=checkbox]:checked + label:before {
  background-color: var(--c-tertiary);
}

[type=radio]:checked + label:after,
[type=radio]:not(:checked) + label:after,
[type=checkbox]:checked + label:after,
[type=checkbox]:not(:checked) + label:after {
  background-position: center center;
  background-repeat: no-repeat;
  background-size: 10px;
  content: "";
  width: 34px;
  height: 34px;
  display: block;
  background-image: url(../img/tick.svg);
  color: var(--c-primary);
  position: absolute;
  transition: all 0.75s var(--transition);
}

fieldset.fieldset {
  background-color: var(--c-bg-alt);
  border: none;
}
fieldset.fieldset .fieldset-legend {
  font-weight: 900;
}

.webform .webform-submission-form h4 {
  margin: 0;
}
.webform .webform-submission-form button.form-submit {
  font-family: "Letteratextprobold", sans-serif;
  cursor: pointer;
  background-color: var(--c-tertiary);
  color: var(--c-primary);
  padding: calc(var(--bump) / 4) calc(var(--bump) / 2);
  display: inline-block;
  transition: 0.3s var(--easing);
  text-align: center;
  -moz-text-align-last: center;
       text-align-last: center;
  text-decoration: none;
  border: none;
}
.webform .webform-submission-form button.form-submit:hover {
  background-color: var(--c-secondary);
  text-decoration: none;
}
.webform .webform-submission-form .form-textarea-wrapper {
  width: 100%;
}
.webform .webform-submission-form .form-item {
  border: none;
  padding: 0;
}
.webform .webform-submission-form .form-item.form-type-textfield label, .webform .webform-submission-form .form-item.form-type-email label, .webform .webform-submission-form .form-item.form-item-message label, .webform .webform-submission-form .form-item.form-item-email label, .webform .webform-submission-form .form-item.form-item-subject label, .webform .webform-submission-form .form-item.form-item-name label {
  font-weight: bold;
  color: var(--c-secondary);
}
.webform .webform-submission-form .form-item.js-form-item-file {
  flex-direction: row;
  align-items: flex-end;
}
.webform .webform-submission-form .form-item.js-form-type-datelist .container-inline {
  display: flex;
  gap: calc(var(--bump) / 2);
  position: relative;
  width: 100%;
}
.webform .webform-submission-form .form-item .js-form-managed-file button {
  background-color: var(--c-secondary);
}
.webform .webform-submission-form .form-item .js-form-managed-file .js-form-file {
  padding: var(--bump) 0 calc(var(--bump));
  background-color: transparent;
  color: white;
}
.webform .webform-submission-form .form-item .fieldset-wrapper {
  width: 100%;
  padding: calc(var(--bump) / 3) 0 0;
}
.webform .webform-submission-form .form-item .fieldset-wrapper > .form-checkboxes, .webform .webform-submission-form .form-item .fieldset-wrapper > .js-webform-radios {
  grid-template-columns: repeat(1, 1fr);
  display: grid;
  width: 100%;
}
.webform .webform-submission-form .form-item .fieldset-wrapper > .form-checkboxes label.option, .webform .webform-submission-form .form-item .fieldset-wrapper > .form-radios label.option {
  font-weight: bold;
  color: var(--c-secondary);
}
.webform .webform-submission-form .form-item .js-form-type-select {
  position: relative;
}
.webform .webform-submission-form .form-item .js-form-type-select .field-children {
  width: 100%;
}
.webform .webform-submission-form .form-item .js-form-type-select.js-form-item-address-country:after {
  display: none;
}
.webform .webform-submission-form .form-item .js-form-type-select.js-form-item-address-country .field-children {
  position: relative;
}
.webform .webform-submission-form .form-item .js-form-type-select:after {
  background-position: center center;
  background-repeat: no-repeat;
  background-size: 10px;
  background-image: url(../img/dropdown.svg);
  content: "";
  position: absolute;
  width: 20px;
  height: 20px;
  right: 7.5px;
  transform: translateY(75%);
}
.webform .webform-submission-form .form-item label,
.webform .webform-submission-form .form-item .fieldset-legend {
  font-weight: bold;
  color: var(--c-secondary);
}
.webform .webform-submission-form .form-item select {
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
}
.webform .webform-submission-form label.option a {
  text-decoration: underline;
}
.webform .webform-submission-form details.captcha {
  margin-bottom: calc(var(--bump) / 2);
}
.webform .webform-submission-form .webform-progress {
  display: none;
}
.webform .webform-submission-form #edit-book-now-button-link {
  font-family: "Letteratextprobold", sans-serif;
  cursor: pointer;
  background-color: var(--c-tertiary);
  color: var(--c-primary);
  padding: calc(var(--bump) / 4) calc(var(--bump) / 2);
  display: inline-block;
  transition: 0.3s var(--easing);
  text-align: center;
  -moz-text-align-last: center;
       text-align-last: center;
  text-decoration: none;
  margin: 20px 0 0;
}
.webform .webform-submission-form #edit-book-now-button-link:hover {
  background-color: var(--c-secondary);
  text-decoration: none;
}

.view__what_s_on__form form.views-exposed-form fieldset,
.view__photography_culture__form form.views-exposed-form fieldset,
.view__past_programme__form form.views-exposed-form fieldset {
  background-color: var(--c-bg-alt);
  border: none;
  padding: 0;
}
.view__what_s_on__form form.views-exposed-form fieldset .fieldset-legend,
.view__photography_culture__form form.views-exposed-form fieldset .fieldset-legend,
.view__past_programme__form form.views-exposed-form fieldset .fieldset-legend {
  font-weight: 900;
}
.view__what_s_on__form form.views-exposed-form [type=radio]:checked + label:after,
.view__what_s_on__form form.views-exposed-form [type=radio]:not(:checked) + label:after,
.view__what_s_on__form form.views-exposed-form [type=checkbox]:checked + label:after,
.view__what_s_on__form form.views-exposed-form [type=checkbox]:not(:checked) + label:after,
.view__photography_culture__form form.views-exposed-form [type=radio]:checked + label:after,
.view__photography_culture__form form.views-exposed-form [type=radio]:not(:checked) + label:after,
.view__photography_culture__form form.views-exposed-form [type=checkbox]:checked + label:after,
.view__photography_culture__form form.views-exposed-form [type=checkbox]:not(:checked) + label:after,
.view__past_programme__form form.views-exposed-form [type=radio]:checked + label:after,
.view__past_programme__form form.views-exposed-form [type=radio]:not(:checked) + label:after,
.view__past_programme__form form.views-exposed-form [type=checkbox]:checked + label:after,
.view__past_programme__form form.views-exposed-form [type=checkbox]:not(:checked) + label:after {
  width: 12px;
  height: 12px;
  top: 4px;
  left: 4px;
}
.view__what_s_on__form form.views-exposed-form [type=radio]:checked + label:before,
.view__what_s_on__form form.views-exposed-form [type=radio]:not(:checked) + label:before,
.view__what_s_on__form form.views-exposed-form [type=checkbox]:checked + label:before,
.view__what_s_on__form form.views-exposed-form [type=checkbox]:not(:checked) + label:before,
.view__photography_culture__form form.views-exposed-form [type=radio]:checked + label:before,
.view__photography_culture__form form.views-exposed-form [type=radio]:not(:checked) + label:before,
.view__photography_culture__form form.views-exposed-form [type=checkbox]:checked + label:before,
.view__photography_culture__form form.views-exposed-form [type=checkbox]:not(:checked) + label:before,
.view__past_programme__form form.views-exposed-form [type=radio]:checked + label:before,
.view__past_programme__form form.views-exposed-form [type=radio]:not(:checked) + label:before,
.view__past_programme__form form.views-exposed-form [type=checkbox]:checked + label:before,
.view__past_programme__form form.views-exposed-form [type=checkbox]:not(:checked) + label:before {
  width: 20px;
  height: 20px;
}
.view__what_s_on__form form.views-exposed-form [type=radio]:checked + label,
.view__what_s_on__form form.views-exposed-form [type=radio]:not(:checked) + label,
.view__what_s_on__form form.views-exposed-form [type=checkbox]:checked + label,
.view__what_s_on__form form.views-exposed-form [type=checkbox]:not(:checked) + label,
.view__photography_culture__form form.views-exposed-form [type=radio]:checked + label,
.view__photography_culture__form form.views-exposed-form [type=radio]:not(:checked) + label,
.view__photography_culture__form form.views-exposed-form [type=checkbox]:checked + label,
.view__photography_culture__form form.views-exposed-form [type=checkbox]:not(:checked) + label,
.view__past_programme__form form.views-exposed-form [type=radio]:checked + label,
.view__past_programme__form form.views-exposed-form [type=radio]:not(:checked) + label,
.view__past_programme__form form.views-exposed-form [type=checkbox]:checked + label,
.view__past_programme__form form.views-exposed-form [type=checkbox]:not(:checked) + label {
  line-height: inherit;
  color: var(--c-secondary);
  padding-left: var(--bump);
}
.view__what_s_on__form form.views-exposed-form .js-form-item,
.view__photography_culture__form form.views-exposed-form .js-form-item,
.view__past_programme__form form.views-exposed-form .js-form-item {
  margin-right: calc(var(--bump) + 10px);
}
.view__what_s_on__form form.views-exposed-form .a-btn--calendar,
.view__photography_culture__form form.views-exposed-form .a-btn--calendar,
.view__past_programme__form form.views-exposed-form .a-btn--calendar {
  display: none;
}
.view__what_s_on__form form.views-exposed-form .form-radios,
.view__photography_culture__form form.views-exposed-form .form-radios,
.view__past_programme__form form.views-exposed-form .form-radios {
  display: flex;
  flex-flow: row wrap;
}
@media (max-width: 767px) {
  .view__what_s_on__form form.views-exposed-form .form-radios,
.view__photography_culture__form form.views-exposed-form .form-radios,
.view__past_programme__form form.views-exposed-form .form-radios {
    flex-direction: column;
  }
}

.view__what_s_on__form .views-exposed-form {
  display: flex;
  flex-direction: column;
}
.view__what_s_on__form .views-exposed-form .date-field-label {
  display: flex;
  order: 0;
}
.view__what_s_on__form .views-exposed-form .date-fields-wrapper {
  display: flex;
  order: 1;
  margin-bottom: calc(var(--bump) / 2);
}
.view__what_s_on__form .views-exposed-form .fieldgroup {
  display: flex;
  order: 2;
  margin-bottom: calc(var(--bump) / 2);
}
.view__what_s_on__form .views-exposed-form .form-actions {
  display: flex;
  order: 3;
}

/**
 * ----------------------
 * Un.titled
 * Molecules - Main nav
 * ----------------------
 */
.m-main-nav {
  display: flex;
  align-items: center;
  margin: 0 auto 0 0;
  opacity: 1;
  visibility: visible;
}
[data-search=open] .m-main-nav {
  opacity: 0;
  visibility: hidden;
}
@media (max-width: 991px) {
  .m-main-nav {
    position: relative;
    width: 100%;
    padding: 0;
    background-color: transparent;
  }
}
@media (max-width: 767px) {
  .m-main-nav {
    display: none;
    flex-direction: column;
    align-items: flex-start;
    position: absolute;
    top: calc(100%);
    left: 0;
    width: 100%;
    background-color: var(--c-primary);
    padding: var(--bump) 0;
    height: calc((var(--vh) * 100) - var(--header-height-mobile));
  }
  [data-nav=open] .m-main-nav {
    -webkit-animation: fadeIn 0.2s var(--easing) forwards;
            animation: fadeIn 0.2s var(--easing) forwards;
    display: flex;
    z-index: 10;
    top: 0;
    left: 0;
  }
  [data-nav=closed] .m-main-nav {
    -webkit-animation: fadeOut 0.2s var(--easing) forwards;
            animation: fadeOut 0.2s var(--easing) forwards;
    display: flex;
  }
}
@media (max-height: 819px) {
  [data-nav=open] .m-main-nav {
    overflow-y: scroll;
    height: calc((var(--vh) * 100) - 200px);
  }
}
.m-main-nav > ul.menu {
  display: flex;
  align-items: center;
  flex-flow: row wrap;
  gap: calc(var(--bump) / 2);
}
.m-main-nav > ul.menu ul.menu {
  display: none;
}
.m-main-nav > ul.menu:first-of-type {
  font-weight: bold;
  letter-spacing: 0;
  line-height: 20px;
}
@media (min-width: 769px) {
  .m-main-nav > ul.menu:first-of-type li:first-of-type a {
    padding-left: 0;
  }
}
@media (max-width: 1199px) {
  .m-main-nav > ul.menu {
    gap: 0;
    row-gap: 10px;
  }
}
@media (min-width: 769px) {
  .m-main-nav > ul.menu:last-of-type {
    margin-left: auto;
  }
}
@media (max-width: 767px) {
  .m-main-nav > ul.menu {
    flex-direction: column;
    flex-wrap: nowrap;
    flex-shrink: 0;
    align-items: flex-start;
    padding: 0 calc(var(--bump) / 2) var(--bump);
  }
}
.m-main-nav > ul.menu li.is-active-trail a.is-active-trail {
  color: var(--c-secondary);
}
.m-main-nav > ul.menu li.is-active-trail a.is-active-trail:after {
  display: none;
}
.m-main-nav > ul.menu li a {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 15px;
  line-height: 17px;
  font-family: var(--fontBold);
  white-space: nowrap;
}
@media (max-width: 1299px) {
  .m-main-nav > ul.menu li a {
    white-space: normal;
    text-align: center;
  }
}
@media (max-width: 1199px) {
  .m-main-nav > ul.menu li a {
    padding: 0 calc(var(--bump) / 4);
  }
}
@media (max-width: 991px) {
  .m-main-nav > ul.menu li a {
    padding: 0 calc(var(--bump) / 6);
  }
}
@media (max-width: 767px) {
  .m-main-nav > ul.menu li a {
    padding: 0;
    line-height: 20px;
  }
}
.m-main-nav > ul.menu li a:after {
  content: "";
  display: inline-flex;
  position: absolute;
  bottom: 0;
  transform: translateY(0);
  height: 0;
  width: 0;
  background-color: transparent;
  border-radius: 100%;
  transition: 0.4s var(--easing);
}
.m-main-nav > ul.menu li a:active, .m-main-nav > ul.menu li a:hover, .m-main-nav > ul.menu li a.is-active, .m-main-nav > ul.menu li a.is-active-trail {
  text-decoration: none;
  color: var(--c-tertiary);
  transition: 0.4s var(--easing);
}
.m-main-nav > ul.menu li a:active:after, .m-main-nav > ul.menu li a:hover:after, .m-main-nav > ul.menu li a.is-active:after, .m-main-nav > ul.menu li a.is-active-trail:after {
  transform: translateY(100%);
  height: 3px;
  width: 3px;
  background-color: var(--c-tertiary);
}

/**
 * ----------------------
 * Un.titled
 * Molecules - Banner
 * ----------------------
 */
/**
* Config
*/
:root {
  --bannerBottomMargin: 60px;
  --bannerAltTopMargin: 40px;
}

/**
* Styles
*/
.m-no-banner {
  margin-top: 60px;
}
@media (max-width: 767px) {
  .m-no-banner {
    margin-top: 30px;
  }
}
.m-no-banner__inner {
  text-align: center;
  -moz-text-align-last: center;
       text-align-last: center;
}
.m-no-banner h1 {
  margin-bottom: 0;
}
.m-no-banner p:first-of-type {
  margin-top: 30px;
}
@media (max-width: 767px) {
  .m-no-banner p:first-of-type {
    margin-top: 15px;
  }
}
.m-no-banner p:last-of-type {
  margin-bottom: 0;
}

.m-banner {
  position: relative;
  width: 100%;
  margin: 0 0 var(--bannerBottomMargin);
}
@media (max-width: 767px) {
  .m-banner {
    display: flex;
    flex-direction: column-reverse;
  }
}
.m-banner__heading {
  margin-bottom: 3px;
}
@media (max-width: 767px) {
  .m-banner__heading {
    position: absolute;
    transform: translateY(-150%);
  }
}
.m-banner img {
  width: 100%;
  height: auto;
  display: block;
}
.m-banner__overlay {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: 1;
  overflow: hidden;
  color: var(--c-white);
  box-shadow: inset 0px -220px 130px -10px #1b1b1b;
}
@media (max-width: 991px) {
  .m-banner__overlay {
    box-shadow: inset 0px -150px 90px -10px #1b1b1b;
  }
}
@media (max-width: 767px) {
  .m-banner__overlay {
    box-shadow: inset 0px -60px 45px -10px #1b1b1b;
  }
}
.m-banner__overlay + picture > img {
  box-shadow: inset 0px -220px 130px -10px #1b1b1b;
}
.m-banner__pre-title, .m-banner__run-dates {
  font-size: 14px;
  font-weight: bold;
  letter-spacing: 1px;
  line-height: 17px;
  margin: 0;
}
.m-banner__run-dates {
  margin-top: 0 !important;
  margin-bottom: 15px !important;
}
.m-banner__image {
  position: relative;
}
.m-banner__body {
  width: 70%;
  z-index: 2;
}
.m-banner__body--full {
  width: 100%;
}
.m-banner__body p {
  color: var(--c-secondary);
}
.ct__photography-culture-listing .m-banner__body p, .ct__what-s-on-listing .m-banner__body p, .ct__landing-page .m-banner__body p, .ct__collection-page .m-banner__body p {
  font-size: 17px;
  line-height: 1.6;
}
@media (max-width: 399px) {
  .m-banner__body p {
    display: block;
  }
  .ct__event .m-banner__body p {
    display: none;
  }
}
@media (max-width: 991px) {
  .m-banner__body {
    width: 100%;
  }
}
@media (max-width: 767px) {
  .m-banner__heading {
    line-height: 1.4;
    font-size: clamp(20px, 7vw, var(--fontSizeHeadingThree));
  }
}
.m-banner__content {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  overflow: hidden;
  color: var(--c-white);
}
@media (max-width: 767px) {
  .m-banner__content {
    position: relative;
    overflow: visible;
    padding: calc(var(--bump) / 2) 0;
  }
}
.m-banner__content__mobile {
  display: none;
}
@media (max-width: 767px) {
  .m-banner__content__mobile {
    display: block;
  }
}
.m-banner__content__desktop {
  display: block;
}
@media (max-width: 767px) {
  .m-banner__content__desktop {
    display: none;
  }
}
.m-banner__content div.grid {
  height: 100%;
}
.m-banner__content div.grid > div {
  display: flex;
  flex-direction: row;
  align-items: flex-end;
  justify-content: space-between;
}
@media (max-width: 767px) {
  .m-banner__content div.grid > div {
    flex-direction: column;
    align-items: flex-start;
    justify-content: flex-end;
    padding: 0 calc(var(--bump) / 2);
  }
}
.m-banner__content div.grid > div a {
  white-space: nowrap;
  z-index: 2;
}
.m-banner__strapline {
  box-shadow: 15px 0 0 var(--c-primary), -15px 0 0 var(--c-primary);
  padding: 15px 2px;
  font-size: 1.5rem;
  display: inline-flex;
  flex-direction: column;
  align-items: flex-start;
}
.m-banner__strapline p {
  margin: 0 0 15px;
}
.m-banner__strapline p:last-of-type {
  margin-bottom: 0;
}
.m-banner__strapline a {
  font-family: "Letteratextprobold", sans-serif;
  margin-top: 15px;
}
.m-banner__summary {
  font-size: 16px;
  font-weight: bold;
  letter-spacing: 0;
  line-height: 20px;
}
.m-banner__summary p {
  line-height: 20px;
}
.m-banner .title-bg, .m-banner__strapline {
  background-color: var(--c-primary);
}
.m-banner--large-signpost-v2 {
  position: relative;
  margin: 0;
}
@media (max-width: 767px) {
  .m-banner--large-signpost-v2 > .grid > [class*=col-] {
    padding: 0;
  }
}
.m-banner--large-signpost-v2 .m-banner {
  margin: 0;
}
.m-banner--large-signpost-v2 .m-banner__heading {
  margin-bottom: 10px;
  line-height: 1.34;
  font-size: clamp(25px, 7vw, var(--fontSizeHeadingTwo));
}
.m-banner--large-signpost-v2 .m-banner__content > .grid > [class*=col-] {
  padding: 15px 40px 60px;
}
@media (max-width: 767px) {
  .m-banner--large-signpost-v2 .m-banner__content > .grid > [class*=col-] {
    padding: 0 30px 30px;
  }
}
@media (max-width: 767px) {
  .m-banner--large-signpost-v2 .m-banner__content > .grid > [class*=col-] .m-banner__body p {
    display: none;
  }
}
@media (max-width: 767px) {
  .m-banner--large-signpost-v2 .m-banner__content {
    position: absolute;
    padding: 0;
  }
}
.m-banner--large-signpost-v2 .m-banner__body div p {
  line-height: 17px;
}
.m-banner .title-bg {
  box-shadow: 15px 0 0 var(--c-primary), -15px 0 0 var(--c-primary);
  line-height: 1.4;
  padding: 2px 2px 4px;
  display: inline;
  -webkit-box-decoration-break: clone;
          box-decoration-break: clone;
}
.m-banner video {
  position: absolute;
  top: 0;
  left: 0;
  height: 100%;
  width: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
@media (max-width: 575px) {
  .m-banner video {
    display: none;
    visibility: hidden;
  }
}
.m-banner .video__controls {
  text-align: left;
  text-indent: -9999px;
  background-position: center center;
  background-repeat: no-repeat;
  background-size: var(--bump);
  background-image: url("../img/pause.svg");
  position: absolute;
  top: var(--bump);
  left: var(--bump);
  border: 0;
  display: block;
  height: var(--bump);
  width: var(--bump);
  z-index: 5;
}
@media (max-width: 991px) {
  .m-banner .video__controls {
    background-image: url("../img/play.svg");
  }
}
.m-banner .video__controls:hover {
  background-color: var(--c-primary);
}
.m-banner .video__controls[data-playstate=paused] {
  background-image: url("../img/play.svg");
}
@media (max-width: 991px) {
  .m-banner .video__controls[data-playstate=paused] {
    background-image: url("../img/pause.svg");
  }
}
@media (max-width: 575px) {
  .m-banner .video__controls {
    display: none;
    visibility: hidden;
  }
}

.m-banner-alt {
  margin: var(--bannerAltTopMargin) 0 0;
}
@media (max-width: 767px) {
  .m-banner-alt .grid {
    width: 100%;
  }
}
@media (max-width: 991px) {
  .m-banner-alt .a-image-credit:before {
    height: auto;
    white-space: normal;
  }
}
.m-banner-alt__image {
  position: relative;
}
.m-banner-alt__post-type {
  position: relative;
  background-color: var(--c-secondary);
  color: var(--c-primary);
  margin: 0;
  font-weight: bold;
  z-index: 1;
  transition: all 1s var(--transition);
  text-transform: uppercase;
  padding: calc(var(--bump) / 4) calc(var(--bump) / 2);
}
.m-banner-alt__date {
  font-size: 14px;
  line-height: 17px;
  letter-spacing: 1px;
  font-family: var(--fontBold);
  margin: 12px 0 !important;
}
@media (max-width: 767px) {
  .m-banner-alt__date {
    margin: calc(var(--bump) / 3) 0 calc(var(--bump) / 3) !important;
  }
}
.m-banner-alt__content {
  position: relative;
  padding: 0 40px 0 45px;
}
@media (max-width: 767px) {
  .m-banner-alt__content {
    padding: 0;
  }
}
.m-banner-alt__content .grid .col-sm-12 {
  padding: calc(var(--bump) / 2);
}
@media (max-width: 767px) {
  .m-banner-alt__content .grid .col-sm-12 {
    padding: calc(var(--bump) / 2) calc(var(--bump) / 3);
  }
}
.m-banner-alt__content .grid .col-sm-12 .m-banner-alt__title {
  white-space: normal;
}
.m-banner-alt__body {
  width: 100%;
  margin: 0 0 10px;
}
.m-banner-alt__body h1,
.m-banner-alt__body .h1,
.m-banner-alt__body h2,
.m-banner-alt__body .h2,
.m-banner-alt__body h3,
.m-banner-alt__body .h3,
.m-banner-alt__body h4,
.m-banner-alt__body .h4,
.m-banner-alt__body h5,
.m-banner-alt__body .h5,
.m-banner-alt__body h6,
.m-banner-alt__body .h6 {
  margin: 0;
}
.m-banner-alt__body ul,
.m-banner-alt__body ol {
  list-style: none;
  margin: 10px 0;
}
.m-banner-alt__body ul li,
.m-banner-alt__body ol li {
  line-height: 17px;
}
.m-banner-alt__body a {
  display: block;
  text-decoration: underline;
  line-height: 17px;
  white-space: normal !important;
}
.m-banner-alt__body a:hover {
  text-decoration: none;
}
@media (max-width: 767px) {
  .m-banner-alt__heading {
    position: relative;
    transform: none;
  }
}
.m-banner-alt__links {
  display: flex;
  flex-flow: row wrap;
  gap: 25px;
}
.m-banner-alt__links a {
  padding: 0;
}
@media (max-width: 767px) {
  .m-banner-alt__cta {
    width: 100%;
  }
}

.m-banner-slider > .grid {
  max-width: calc(var(--containerWidthDesktop) + 60px);
}
@media (max-width: 1429px) {
  .m-banner-slider > .grid {
    max-width: calc(90% + 30px);
  }
}
@media (max-width: 767px) {
  .m-banner-slider > .grid {
    width: 100%;
    max-width: 100%;
  }
  .m-banner-slider > .grid > [class*=col-] {
    padding: 0;
  }
}
@media (max-width: 1429px) {
  .m-banner-slider > .grid > [class*=col-] {
    padding: 0;
  }
}
.m-banner-slider > .grid > [class*=col-] .m-banner-alt {
  max-width: calc(var(--containerWidthDesktop) - 30px);
  margin: var(--bannerAltTopMargin) auto var(--bannerAltTopMargin);
}
@media (max-width: 1429px) {
  .m-banner-slider > .grid > [class*=col-] .m-banner-alt {
    max-width: calc(100% - 60px);
  }
}
@media (max-width: 767px) {
  .m-banner-slider > .grid > [class*=col-] .m-banner-alt {
    width: 100%;
    max-width: 100%;
    margin: var(--bannerAltTopMargin) auto 0;
  }
  .m-banner-slider > .grid > [class*=col-] .m-banner-alt > .grid {
    margin: 0;
  }
  .m-banner-slider > .grid > [class*=col-] .m-banner-alt > .grid > [class*=col-] {
    padding: 0;
  }
}
.m-banner-slider > .grid > [class*=col-] .m-banner__content__mobile {
  max-width: 100%;
  width: 100%;
  margin: auto;
}
.m-banner-slider > .grid > [class*=col-] .m-banner__content__mobile > .grid {
  padding: calc(var(--bump) / 2);
}
.m-banner-slider > .grid > [class*=col-] .m-banner-alt__content {
  flex-direction: column;
  justify-content: center;
  align-items: flex-start;
}
@media (max-width: 767px) {
  .m-banner-slider > .grid > [class*=col-] .m-banner-alt__content {
    padding: 0;
  }
}
.m-banner-slider > .grid > [class*=col-] .m-banner-alt__post-type {
  display: inline-block;
  margin: 0 0 20px;
}
.m-banner-slider > .grid > [class*=col-] .m-banner__content__desktop {
  display: flex;
}
.m-banner-slider .swiper {
  width: 100%;
  height: auto;
}
.m-banner-slider .swiper-container, .m-banner-slider .swiper-slider {
  height: auto;
}
.m-banner-slider .swiper-button-prev, .m-banner-slider .swiper-button-next {
  width: 11px;
}
@media (max-width: 767px) {
  .m-banner-slider .swiper-button-prev, .m-banner-slider .swiper-button-next {
    top: auto;
    bottom: 0;
    transform: translateY(25%);
  }
}
.m-banner-slider .swiper-button-prev:after, .m-banner-slider .swiper-button-prev:before, .m-banner-slider .swiper-button-next:after, .m-banner-slider .swiper-button-next:before {
  background-position: center center;
  background-repeat: no-repeat;
  background-size: cover;
  content: "";
  width: 11px;
  height: 19px;
  display: block;
  background-position: 0px center;
  transition: 0.3s var(--easing);
}
.m-banner-slider .swiper-button-next {
  right: 0;
}
@media (max-width: 767px) {
  .m-banner-slider .swiper-button-next {
    right: 15px;
  }
}
.m-banner-slider .swiper-button-next:after {
  background-image: url("../img/chevron-right.svg");
}
.m-banner-slider .swiper-button-next:before {
  display: none;
}
.m-banner-slider .swiper-button-prev {
  left: 0;
}
@media (max-width: 767px) {
  .m-banner-slider .swiper-button-prev {
    left: 15px;
  }
}
.m-banner-slider .swiper-button-prev:before {
  background-image: url("../img/chevron-left.svg");
}
.m-banner-slider .swiper-button-prev:after {
  display: none;
}
.m-banner-slider .swiper-pagination {
  bottom: 0 !important;
  top: auto !important;
  left: 25px !important;
  width: auto !important;
}
@media (max-width: 1429px) {
  .m-banner-slider .swiper-pagination {
    left: 25px !important;
  }
}
@media (max-width: 767px) {
  .m-banner-slider .swiper-pagination {
    position: relative;
    bottom: 0 !important;
    top: auto !important;
    left: auto !important;
    right: auto !important;
    width: 100% !important;
    transform: translateY(12.5%);
  }
}
.m-banner-slider .swiper-pagination-bullet {
  background: var(--c-secondary);
  opacity: 0.32;
}
.m-banner-slider .swiper-pagination-bullet-active {
  background: var(--c-secondary);
  opacity: 1;
}

/**
 * ----------------------
 * Un.titled
 * Molecules - Linked logos
 * ----------------------
 */
.m-logos {
  gap: calc(var(--bump) * 4);
  align-items: center;
}
.m-logos a {
  display: block;
}
.m-logos a:hover {
  opacity: 0.7;
}

/**
 * ----------------------
 * Un.titled
 * Molecules - Social links
 * ----------------------
 */
/**
 * Styling
 */
.m-social-links {
  display: flex;
  align-items: center;
  margin-top: calc(var(--bump) / 3);
}
@media (max-width: 991px) {
  .m-social-links {
    justify-content: center;
    margin-top: 0;
  }
}
.m-social-links__link {
  margin-right: calc(var(--bump) / 2);
  height: calc(var(--bump) * 1.75);
  width: calc(var(--bump) * 1.75);
  border-radius: 50%;
  display: block;
}
@media (max-width: 767px) {
  .m-social-links__link {
    height: calc(var(--bump) * 1.25);
    width: calc(var(--bump) * 1.25);
  }
}
.m-social-links__link:last-child {
  margin-right: 0;
}
.m-social-links__link__tiktok {
  background: #1b1b1b;
  display: flex;
  justify-content: center;
}
.m-social-links__link__tiktok svg {
  width: 16px !important;
}
.m-social-links__link svg {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
.m-social-links__link rect {
  transition: 0.5s var(--easing);
  fill: var(--c-primary);
}
.m-social-links__link path {
  fill: var(--c-secondary);
  transition: 0.5s var(--easing);
}
.m-social-links__link circle {
  fill: var(--c-primary);
  transition: 0.5s var(--easing);
}
.m-social-links__link:hover path {
  fill: var(--c-grey);
}
.datepicker {
  display: none;
  visibility: hidden;
}

.datepicker-container {
  display: flex;
  flex-direction: column;
}
.datepicker-container section {
  padding: 0;
  overflow: visible;
}

.lightpick {
  font-family: "Letteratextpro", sans-serif;
  font-weight: bold;
  text-transform: uppercase;
  color: var(--c-secondary);
  box-shadow: none;
  background-color: transparent;
  padding: 0;
  margin: 0;
  border-radius: 0;
}
.lightpick__days-of-the-week {
  gap: calc(var(--bump) / 3);
  padding-bottom: calc(var(--bump) / 3);
}
.lightpick__month-title {
  width: 100%;
  display: flex;
  justify-content: flex-start;
  align-items: center;
  margin: calc(var(--bump) / 3) 0;
}
.lightpick__months {
  background-color: transparent;
  gap: var(--bump);
}
@media (max-width: 619px) {
  .lightpick.lightpick--2-columns .lightpick__months {
    grid-template-columns: 1fr;
  }
}
.lightpick__month {
  width: 100%;
  min-width: 288px;
  background-color: transparent;
}
.lightpick__month-title {
  padding: 0;
}
.lightpick__select, .lightpick__day, .lightpick__day-of-the-week {
  font-weight: normal;
  text-transform: uppercase;
}
.lightpick__month-title > .lightpick__select {
  font-family: "Letteratextpro", sans-serif;
  font-weight: bold;
  color: var(--c-secondary);
  padding: 0 var(--bump) 0 calc(var(--bump) / 3);
  margin: 0 calc(var(--bump) / 3) 0 0;
  cursor: pointer;
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
  border: 1px solid var(--c-secondary);
  background-color: var(--c-primary);
}
.lightpick__month-title > .lightpick__select:hover, .lightpick__month-title > .lightpick__select:focus {
  background-color: var(--c-primary);
  color: var(--c-primary);
  border-color: var(--c-primary);
}
.lightpick__days {
  gap: 10px;
}
.lightpick__day {
  transition: 0.3s var(--easing);
  cursor: pointer;
}
.lightpick__day:hover {
  color: var(--c-primary);
  background-image: none;
}
.lightpick__day.is-available {
  border: 1px solid var(--c-secondary);
  background-image: none;
}
.lightpick__day.is-available:hover, .lightpick__day.is-available:focus, .lightpick__day.is-available:active {
  background-image: none;
  border-color: var(--c-primary);
}
.lightpick__day.is-today {
  background-image: none;
  color: var(--c-black);
  background-color: var(--c-tertiary);
  border-radius: 100%;
}
.lightpick__day.is-in-range {
  border-color: var(--c-primary);
}
.lightpick__day.is-in-range:hover {
  background-image: none;
}
.lightpick__day.is-start-date, .lightpick__day.is-start-date.is-in-range, .lightpick__day.is-end-date.is-in-range, .lightpick__day.is-start-date.is-in-range.is-flipped, .lightpick__day.is-end-date.is-in-range.is-flipped {
  background-color: var(--c-primary);
  color: var(--c-primary);
}
.lightpick__day.is-start-date.is-end-date.is-in-range {
  background-image: none;
  border-radius: 0;
  background-color: var(--c-primary);
  color: var(--c-primary);
  border-color: var(--c-primary);
}
.lightpick__previous-action, .lightpick__next-action {
  text-align: left;
  text-indent: -9999px;
  border-radius: 0;
  border: 1px solid transparent;
  padding: 0;
}
.lightpick__previous-action .chevron, .lightpick__next-action .chevron {
  fill: var(--c-secondary);
}
.lightpick__previous-action:hover, .lightpick__next-action:hover {
  background-color: var(--c-primary);
  border-color: var(--c-primary);
}
.lightpick__previous-action:hover .chevron, .lightpick__next-action:hover .chevron {
  fill: var(--c-primary);
}
.lightpick__previous-action {
  background-image: url("../img/icon-left-chevron.svg");
}
.lightpick__previous-action:hover {
  background-image: url("../img/icon-left-chevron-black.svg");
}
.lightpick__next-action {
  background-image: url("../img/icon-right-chevron.svg");
}
.lightpick__next-action:hover {
  background-image: url("../img/icon-right-chevron-black.svg");
}

.btn--calendar {
  margin-top: var(--bump);
  display: none;
}
.btn--calendar.active {
  display: block;
  -webkit-animation: fadeIn 0.2s var(--easing) forwards;
          animation: fadeIn 0.2s var(--easing) forwards;
}

.sliding-popup-bottom {
  background-color: var(--c-charcoal);
  box-shadow: 0 -2px 28px 0 rgba(29, 29, 27, 0.06);
  width: 100%;
}
.sliding-popup-bottom .eu-cookie-compliance-message {
  max-width: 65%;
}
@media (max-width: 1199px) {
  .sliding-popup-bottom .eu-cookie-compliance-message {
    max-width: 60%;
  }
}
@media (max-width: 991px) {
  .sliding-popup-bottom .eu-cookie-compliance-message {
    max-width: 50%;
  }
}
@media (max-width: 767px) {
  .sliding-popup-bottom .eu-cookie-compliance-message {
    max-width: 100%;
  }
}
.sliding-popup-bottom .eu-cookie-compliance-message h2 {
  line-height: 1.2;
  font-size: clamp(18px, 7vw, var(--fontSizeHeadingFour));
}
.sliding-popup-bottom .eu-cookie-compliance-message p {
  display: inline;
  color: var(--c-secondary);
}
.sliding-popup-bottom .eu-cookie-compliance-message a {
  text-decoration: underline;
}
.sliding-popup-bottom .eu-cookie-compliance-more-button {
  cursor: pointer;
  display: inline;
  height: auto;
  margin: 0;
  padding: 0;
  border: none;
  text-decoration: underline;
  background: none;
  color: var(--c-secondary);
}
.sliding-popup-bottom .eu-cookie-compliance-content {
  margin: 15px auto;
  padding: 15px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  flex-direction: row;
  max-width: 1260px;
}
@media (max-width: 767px) {
  .sliding-popup-bottom .eu-cookie-compliance-content {
    flex-direction: column;
  }
}
.sliding-popup-bottom .eu-cookie-compliance-buttons {
  max-width: 35%;
  transform: translateX(-10%);
  align-self: flex-end;
}
@media (max-width: 1199px) {
  .sliding-popup-bottom .eu-cookie-compliance-buttons {
    max-width: 40%;
  }
}
@media (max-width: 991px) {
  .sliding-popup-bottom .eu-cookie-compliance-buttons {
    max-width: 50%;
  }
}
@media (max-width: 767px) {
  .sliding-popup-bottom .eu-cookie-compliance-buttons {
    max-width: 100%;
    width: 100%;
    transform: none;
  }
}
.sliding-popup-bottom .eu-cookie-compliance-secondary-button {
  font-family: "Letteratextprobold", sans-serif;
  cursor: pointer;
  background-color: var(--c-tertiary);
  color: var(--c-primary);
  padding: calc(var(--bump) / 4) calc(var(--bump) / 2);
  display: inline-block;
  transition: 0.3s var(--easing);
  text-align: center;
  -moz-text-align-last: center;
       text-align-last: center;
  text-decoration: none;
  font-family: "Letteratextprobold", sans-serif;
  cursor: pointer;
  background-color: var(--c-tertiary);
  color: var(--c-primary);
  padding: calc(var(--bump) / 4) calc(var(--bump) / 2);
  display: inline-block;
  transition: 0.3s var(--easing);
  text-align: center;
  text-align-last: center;
  text-decoration: none;
  background-color: var(--c-secondary);
  border: none;
  color: var(--c-black);
  margin: 0 30px 0 0;
}
.sliding-popup-bottom .eu-cookie-compliance-secondary-button:hover {
  background-color: var(--c-tertiary);
  color: var(--c-primary);
  text-decoration: none;
}
@media (max-width: 767px) {
  .sliding-popup-bottom .eu-cookie-compliance-secondary-button {
    margin: 30px 0 0 0;
  }
}
.sliding-popup-bottom .eu-cookie-compliance-secondary-button:hover {
  background-color: var(--c-tertiary);
  color: var(--c-primary);
  text-decoration: none;
}
.sliding-popup-bottom .eu-cookie-compliance-default-button {
  position: relative;
  font-family: "Letteratextprobold", sans-serif;
  cursor: pointer;
  background-color: var(--c-tertiary);
  color: var(--c-primary);
  padding: calc(var(--bump) / 4) calc(var(--bump) / 2);
  display: inline-block;
  transition: 0.3s var(--easing);
  text-align: center;
  -moz-text-align-last: center;
       text-align-last: center;
  text-decoration: none;
  font-family: "Letteratextprobold", sans-serif;
  cursor: pointer;
  background-color: var(--c-tertiary);
  color: var(--c-primary);
  padding: calc(var(--bump) / 4) calc(var(--bump) / 2);
  display: inline-block;
  transition: 0.3s var(--easing);
  text-align: center;
  text-align-last: center;
  text-decoration: none;
  border: none;
  color: var(--c-secondary);
  background-color: transparent;
  display: inline-flex;
  justify-content: center;
  align-items: center;
  border: 0;
  text-decoration: underline;
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
  transition: 0.3s var(--easing);
  white-space: nowrap;
  border: none;
}
.sliding-popup-bottom .eu-cookie-compliance-default-button:hover {
  background-color: transparent;
  text-decoration: none;
}
@media (max-width: 767px) {
  .sliding-popup-bottom .eu-cookie-compliance-default-button {
    max-width: 100%;
    margin: 30px 0 0 0;
  }
}
.sliding-popup-bottom .eu-cookie-compliance-default-button:after {
  position: absolute;
  right: 0;
  background-position: right;
  transform: translateX(100%);
}
/**
* ----------------------
* Un.titled
* Molecules - Archive
* ----------------------
*/
/**
* Config
*/
/**
* Styling
*/
.m-archive {
  display: flex;
  flex-direction: column;
}
.m-archive label {
  font-family: "Letteratextpro", sans-serif;
  font-weight: bold;
  margin-bottom: var(--bump/2);
}

.choices__inner {
  background-color: var(--c-secondary);
  border: 1px solid var(--c-secondary);
  border-radius: 4px;
  color: var(--c-primary);
  padding: 7.5px 15px 3.75px;
}
.choices.is-open .choices__inner {
  border-bottom-left-radius: 0;
  border-bottom-right-radius: 0;
}
.choices__list--dropdown {
  border: 1px solid var(--c-secondary);
}
.choices__list--dropdown .choices__item--selectable {
  background-color: var(--c-secondary);
  color: var(--c-primary);
  padding-right: 0;
}
.choices__list--dropdown .choices__item--selectable.is-highlighted {
  background-color: var(--c-grey);
}
.choices__list--dropdown .choices__item--selectable.is-highlighted::after {
  display: none;
}
.choices:after {
  display: none;
}
.choices:before {
  background-position: center center;
  background-repeat: no-repeat;
  background-size: 10px;
  background-image: url(../img/dropdown.svg);
  content: "";
  position: absolute;
  width: 20px;
  height: 20px;
  right: 7.5px;
  transform: translateY(75%);
}

/**
* ----------------------
* Un.titled
* Molecules - Gallery
* ----------------------
*/
/**
* Config
*/
/**
* Styling
*/
.m-gallery {
  /* pswp__ui--over-close class it added when mouse is over element that should close gallery */
  /* no arrows on touch screens */
  /*
    Arrow buttons hit area
    (icon is added to :before pseudo-element)
  */
  /*

    2. Share modal/popup and links

   */
  /* increase size of share links on touch devices */
  /*

    3. Index indicator ("1 of X" counter)

   */
  /*

    4. Caption

   */
  /* Fake caption element, used to calculate height of next/prev image */
  /*

    5. Loading indicator (preloader)

    You can play with it here - http://codepen.io/dimsemenov/pen/yyBWoR

   */
  /*

    6. Additional styles

   */
  /* root element of UI */
  /* top black bar with buttons and "1 of X" indicator */
  /* pswp--has_mouse class is added only when two subsequent mousemove events occur */
  /* pswp__ui--fit class is added when main image "fits" between top bar and bottom bar (caption) */
  /* pswp__ui--idle class is added when mouse isn't moving for several seconds (JS option timeToIdle) */
  /*
    pswp__ui--hidden class is added when controls are hidden
    e.g. when user taps to toggle visibility of controls
  */
  /* pswp__ui--one-slide class is added when there is just one item in gallery */
}
.m-gallery .pswp__button {
  width: 44px;
  height: 44px;
  position: relative;
  background: none;
  cursor: pointer;
  overflow: visible;
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
  display: block;
  border: 0;
  padding: 0;
  margin: 0;
  float: right;
  opacity: 0.75;
  transition: all var(--transition);
}
.m-gallery .pswp__button:focus,
.m-gallery .pswp__button:hover {
  opacity: 1;
}
.m-gallery .pswp__button:active {
  outline: none;
  opacity: 0.9;
}
.m-gallery .pswp__button::-moz-focus-inner {
  padding: 0;
  border: 0;
}
.m-gallery .pswp__ui--over-close .pswp__button--close {
  opacity: 1;
}
.m-gallery .pswp__button,
.m-gallery .pswp__button--arrow--left:before,
.m-gallery .pswp__button--arrow--right:before {
  background: url("../img/default-skin.png") 0 0 no-repeat;
  background-size: 264px 88px;
  width: 44px;
  height: 44px;
}
@media (-webkit-min-device-pixel-ratio: 1.1), (-webkit-min-device-pixel-ratio: 1.09375), (min-resolution: 105dpi), (min-resolution: 1.1dppx) {
  .m-gallery {
    /* Serve SVG sprite if browser supports SVG and resolution is more than 105dpi */
  }
  .m-gallery .pswp--svg .pswp__button,
.m-gallery .pswp--svg .pswp__button--arrow--left:before,
.m-gallery .pswp--svg .pswp__button--arrow--right:before {
    background-image: url("../img/default-skin.svg");
  }
  .m-gallery .pswp--svg .pswp__button--arrow--left,
.m-gallery .pswp--svg .pswp__button--arrow--right {
    background: none;
  }
}
.m-gallery .pswp__button--close {
  background-position: 0 -44px;
}
.m-gallery .pswp__button--share {
  background-position: -44px -44px;
}
.m-gallery .pswp__button--fs {
  display: none;
}
.m-gallery .pswp--supports-fs .pswp__button--fs {
  display: block;
}
.m-gallery .pswp--fs .pswp__button--fs {
  background-position: -44px 0;
}
.m-gallery .pswp__button--zoom {
  display: none;
  background-position: -88px 0;
}
.m-gallery .pswp--zoom-allowed .pswp__button--zoom {
  display: block;
}
.m-gallery .pswp--zoomed-in .pswp__button--zoom {
  background-position: -132px 0;
}
.m-gallery .pswp--touch .pswp__button--arrow--left,
.m-gallery .pswp--touch .pswp__button--arrow--right {
  visibility: hidden;
}
.m-gallery .pswp__button--arrow--left,
.m-gallery .pswp__button--arrow--right {
  background: none;
  top: 50%;
  margin-top: -50px;
  width: 70px;
  height: 100px;
  position: absolute;
}
.m-gallery .pswp__button--arrow--left {
  left: 0;
}
.m-gallery .pswp__button--arrow--right {
  right: 0;
}
.m-gallery .pswp__button--arrow--left:before,
.m-gallery .pswp__button--arrow--right:before {
  content: "";
  top: 35px;
  height: 30px;
  width: 32px;
  position: absolute;
}
.m-gallery .pswp__button--arrow--left:before {
  left: 6px;
  background-position: -138px -44px;
}
.m-gallery .pswp__button--arrow--right:before {
  right: 6px;
  background-position: -94px -44px;
}
.m-gallery .pswp__counter,
.m-gallery .pswp__share-modal {
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
}
.m-gallery .pswp__share-modal {
  display: block;
  background: rgba(0, 0, 0, 0.5);
  width: 100%;
  height: 100%;
  top: 0;
  left: 0;
  padding: 10px;
  position: absolute;
  z-index: 1600;
  opacity: 0;
  -webkit-transition: opacity 0.25s ease-out;
  transition: opacity 0.25s ease-out;
  -webkit-backface-visibility: hidden;
  backface-visibility: hidden;
  will-change: opacity;
}
.m-gallery .pswp__share-modal--hidden {
  display: none;
}
.m-gallery .pswp__share-tooltip {
  z-index: 1620;
  position: absolute;
  background: var(--c-white);
  top: 56px;
  border-radius: 2px;
  display: block;
  width: auto;
  right: 44px;
  -webkit-box-shadow: 0 2px 5px rgba(0, 0, 0, 0.25);
  box-shadow: 0 2px 5px rgba(0, 0, 0, 0.25);
  -webkit-transform: translateY(6px);
  -ms-transform: translateY(6px);
  transform: translateY(6px);
  -webkit-transition: -webkit-transform 0.25s;
  transition: transform 0.25s;
  -webkit-backface-visibility: hidden;
  backface-visibility: hidden;
  will-change: transform;
}
.m-gallery .pswp__share-tooltip a {
  display: block;
  padding: 8px 12px;
  color: var(--c-primary);
  text-decoration: none;
  font-size: 14px;
  line-height: 18px;
}
.m-gallery .pswp__share-tooltip a:hover {
  text-decoration: none;
  color: var(--c-primary);
}
.m-gallery .pswp__share-tooltip a:first-child {
  /* round corners on the first/last list item */
  border-radius: 2px 2px 0 0;
}
.m-gallery .pswp__share-tooltip a:last-child {
  border-radius: 0 0 2px 2px;
}
.m-gallery .pswp__share-modal--fade-in {
  opacity: 1;
}
.m-gallery .pswp__share-modal--fade-in .pswp__share-tooltip {
  -webkit-transform: translateY(0);
  -ms-transform: translateY(0);
  transform: translateY(0);
}
.m-gallery .pswp--touch .pswp__share-tooltip a {
  padding: 16px 12px;
}
.m-gallery a.pswp__share--facebook:before {
  content: "";
  display: block;
  width: 0;
  height: 0;
  position: absolute;
  top: -12px;
  right: 15px;
  border: 6px solid transparent;
  border-bottom-color: var(--c-white);
  -webkit-pointer-events: none;
  -moz-pointer-events: none;
  pointer-events: none;
}
.m-gallery a.pswp__share--facebook:hover {
  background: #3e5c9a;
  color: var(--c-white);
}
.m-gallery a.pswp__share--facebook:hover:before {
  border-bottom-color: #3e5c9a;
}
.m-gallery a.pswp__share--twitter:hover {
  background: #55acee;
  color: var(--c-white);
}
.m-gallery a.pswp__share--pinterest:hover {
  background: #ccc;
  color: #ce272d;
}
.m-gallery a.pswp__share--download:hover {
  background: #ddd;
}
.m-gallery .pswp__counter {
  position: absolute;
  left: 0;
  top: 0;
  height: 44px;
  font-size: 13px;
  line-height: 44px;
  color: var(--c-white);
  opacity: 0.75;
  padding: 0 10px;
}
.m-gallery .pswp__caption {
  position: absolute;
  left: 0;
  bottom: 0;
  width: 100%;
  min-height: 44px;
}
.m-gallery .pswp__caption small {
  font-size: 11px;
  color: #bbb;
}
.m-gallery .pswp__caption__center {
  text-align: center;
  max-width: 700px;
  margin: 0 auto;
  padding: 0.5rem;
  color: var(--c-primary);
}
.m-gallery .pswp__caption--empty {
  display: none;
}
.m-gallery .pswp__caption--fake {
  visibility: hidden;
}
.m-gallery .pswp__preloader {
  width: 44px;
  height: 44px;
  position: absolute;
  top: 0;
  left: 50%;
  margin-left: -22px;
  opacity: 0;
  -webkit-transition: opacity 0.25s ease-out;
  transition: opacity 0.25s ease-out;
  will-change: opacity;
  direction: ltr;
}
.m-gallery .pswp__preloader__icn {
  width: 20px;
  height: 20px;
  margin: 12px;
}
.m-gallery .pswp__preloader--active {
  opacity: 1;
}
.m-gallery .pswp__preloader--active .pswp__preloader__icn {
  /* We use .gif in browsers that don't support CSS animation */
  background: url(../img/preloader.gif) 0 0 no-repeat;
}
.m-gallery .pswp--css_animation .pswp__preloader--active {
  opacity: 1;
}
.m-gallery .pswp--css_animation .pswp__preloader--active .pswp__preloader__icn {
  -webkit-animation: clockwise 500ms linear infinite;
  animation: clockwise 500ms linear infinite;
}
.m-gallery .pswp--css_animation .pswp__preloader--active .pswp__preloader__donut {
  -webkit-animation: donut-rotate 1000ms cubic-bezier(0.4, 0, 0.22, 1) infinite;
  animation: donut-rotate 1000ms cubic-bezier(0.4, 0, 0.22, 1) infinite;
}
.m-gallery .pswp--css_animation .pswp__preloader__icn {
  background: none;
  opacity: 0.75;
  width: 14px;
  height: 14px;
  position: absolute;
  left: 15px;
  top: 15px;
  margin: 0;
}
.m-gallery .pswp--css_animation .pswp__preloader__cut {
  /* 
      The idea of animating inner circle is based on Polymer ("material") loading indicator 
       by Keanu Lee https://blog.keanulee.com/2014/10/20/the-tale-of-three-spinners.html
    */
  position: relative;
  width: 7px;
  height: 14px;
  overflow: hidden;
}
.m-gallery .pswp--css_animation .pswp__preloader__donut {
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  width: 14px;
  height: 14px;
  border: 2px solid var(--c-white);
  border-radius: 50%;
  border-left-color: transparent;
  border-bottom-color: transparent;
  position: absolute;
  top: 0;
  left: 0;
  background: none;
  margin: 0;
}
@media screen and (max-width: 1024px) {
  .m-gallery .pswp__preloader {
    position: relative;
    left: auto;
    top: auto;
    margin: 0;
    float: right;
  }
}
@-webkit-keyframes clockwise {
  0% {
    -webkit-transform: rotate(0deg);
    transform: rotate(0deg);
  }
  100% {
    -webkit-transform: rotate(360deg);
    transform: rotate(360deg);
  }
}
@keyframes clockwise {
  0% {
    -webkit-transform: rotate(0deg);
    transform: rotate(0deg);
  }
  100% {
    -webkit-transform: rotate(360deg);
    transform: rotate(360deg);
  }
}
@-webkit-keyframes donut-rotate {
  0% {
    -webkit-transform: rotate(0);
    transform: rotate(0);
  }
  50% {
    -webkit-transform: rotate(-140deg);
    transform: rotate(-140deg);
  }
  100% {
    -webkit-transform: rotate(0);
    transform: rotate(0);
  }
}
@keyframes donut-rotate {
  0% {
    -webkit-transform: rotate(0);
    transform: rotate(0);
  }
  50% {
    -webkit-transform: rotate(-140deg);
    transform: rotate(-140deg);
  }
  100% {
    -webkit-transform: rotate(0);
    transform: rotate(0);
  }
}
.m-gallery .pswp__ui {
  -webkit-font-smoothing: auto;
  visibility: visible;
  opacity: 1;
  z-index: 1550;
}
.m-gallery .pswp__top-bar {
  position: absolute;
  left: 0;
  top: 0;
  height: 44px;
  width: 100%;
}
.m-gallery .pswp__caption,
.m-gallery .pswp__top-bar,
.m-gallery .pswp--has_mouse .pswp__button--arrow--left,
.m-gallery .pswp--has_mouse .pswp__button--arrow--right {
  -webkit-backface-visibility: hidden;
  backface-visibility: hidden;
  will-change: opacity;
  -webkit-transition: opacity 333ms cubic-bezier(0.4, 0, 0.22, 1);
  transition: opacity 333ms cubic-bezier(0.4, 0, 0.22, 1);
}
.m-gallery .pswp--has_mouse .pswp__button--arrow--left,
.m-gallery .pswp--has_mouse .pswp__button--arrow--right {
  visibility: visible;
}
.m-gallery .pswp__top-bar,
.m-gallery .pswp__caption {
  background-color: rgba(0, 0, 0, 0.5);
}
.m-gallery .pswp__ui--fit .pswp__top-bar,
.m-gallery .pswp__ui--fit .pswp__caption {
  background-color: rgba(255, 255, 255, 0.8);
}
.m-gallery .pswp__ui--idle .pswp__top-bar {
  opacity: 0;
}
.m-gallery .pswp__ui--idle .pswp__button--arrow--left,
.m-gallery .pswp__ui--idle .pswp__button--arrow--right {
  opacity: 0;
}
.m-gallery .pswp__ui--hidden .pswp__top-bar,
.m-gallery .pswp__ui--hidden .pswp__caption,
.m-gallery .pswp__ui--hidden .pswp__button--arrow--left,
.m-gallery .pswp__ui--hidden .pswp__button--arrow--right {
  /* Force paint & create composition layer for controls. */
  opacity: 0.001;
}
.m-gallery .pswp__ui--one-slide .pswp__button--arrow--left,
.m-gallery .pswp__ui--one-slide .pswp__button--arrow--right,
.m-gallery .pswp__ui--one-slide .pswp__counter {
  display: none;
}
.m-gallery .pswp__element--disabled {
  display: none !important;
}
.m-gallery .pswp--minimal--dark .pswp__top-bar {
  background: none;
}
.m-gallery .pswp__zoom-wrap,
.m-gallery .pswp__container,
.m-gallery .pswp__item {
  background-color: var(--c-white);
}
.m-gallery .pswp__button {
  color: var(--c-primary);
}
.m-gallery .pswp__button:hover {
  background-color: #efefef;
}
.m-gallery .pswp__counter {
  color: var(--c-primary);
}
.m-gallery .pswp--zoomed-in .pswp__caption {
  opacity: 0;
}

/**
 * Organisims
 */
/**
 * ----------------------
 * Un.titled
 * Organisms - Header
 * ----------------------
 */
.o-header {
  position: -webkit-sticky;
  position: sticky;
  top: 0;
  z-index: 5;
  background-color: var(--c-black);
  color: var(--c-secondary);
  padding-top: 10px;
}
@media (max-width: 991px) {
  .o-header {
    padding: calc(var(--bump) / 1.5) 0 calc(var(--bump) / 2);
  }
}
@media (max-width: 767px) {
  .o-header {
    padding: 0;
  }
}
.o-header__inner {
  display: flex;
  justify-content: flex-end;
  align-items: center;
}
@media (max-width: 767px) {
  .o-header__inner {
    align-items: center;
  }
}
.o-header__logo {
  margin-right: auto;
  flex-shrink: 1;
  padding-right: calc(var(--bump) + 5px);
  margin-bottom: 0;
}
@media (max-width: 991px) {
  .o-header__logo {
    padding-right: calc(var(--bump) / 3);
  }
}
@media (max-width: 767px) {
  .o-header__logo {
    padding-right: calc(var(--bump) / 2);
  }
}
.o-header__logo a {
  display: block;
}
.o-header__logo svg {
  display: block;
  max-width: 174px;
  width: 100%;
}
@media (max-width: 767px) {
  .o-header__logo svg {
    max-width: 105px;
    height: 42px;
  }
}
.o-header__logo path {
  transition: var(--transition);
}
.o-header__logo:hover path {
  fill: var(--c-secondary);
}
.o-header__content {
  flex-grow: 1;
}
.o-header__content__top {
  display: flex;
  align-items: center;
}
@media (max-width: 767px) {
  .o-header__content__top {
    display: block;
  }
}
[data-nav=open] .o-header__content__top {
  position: absolute;
  top: 72px;
  left: 0;
  height: 100vh;
  width: 100%;
  background-color: var(--c-primary);
}
.o-header__content__top .o-search {
  flex-grow: 1;
}
@media (max-width: 767px) {
  .o-header__content__top .o-search__inner {
    padding: 0;
  }
}
@media (max-width: 767px) {
  .o-header__primary-cta, .o-header__find-us {
    display: none;
  }
}
.o-header__primary-cta__mobile, .o-header__find-us__mobile {
  display: none;
  margin-top: auto;
  width: 100%;
  padding: 0 calc(var(--bump) / 2) calc(var(--bump) / 2);
}
.o-header__primary-cta__mobile.o-header__find-us__mobile, .o-header__find-us__mobile.o-header__find-us__mobile {
  margin: 0;
}
.o-header__primary-cta__mobile.o-header__primary-cta__mobile, .o-header__find-us__mobile.o-header__primary-cta__mobile {
  margin: auto 0 calc(var(--bump) / 2);
}
.o-header__primary-cta__mobile a.a-btn, .o-header__find-us__mobile a.a-btn {
  width: 100%;
}
@media (max-width: 767px) {
  .o-header__primary-cta__mobile, .o-header__find-us__mobile {
    display: block;
  }
}
.o-header__find-us h4 {
  font-family: "Letteratextpro", sans-serif;
  font-weight: bold;
  line-height: 1.2;
  font-size: clamp(18px, 7vw, var(--fontSizeHeadingFour));
}
.o-header__find-us a {
  font-family: "Letteratextprobold", sans-serif;
  cursor: pointer;
  background-color: var(--c-tertiary);
  color: var(--c-primary);
  padding: calc(var(--bump) / 4) calc(var(--bump) / 2);
  display: inline-block;
  transition: 0.3s var(--easing);
  text-align: center;
  -moz-text-align-last: center;
       text-align-last: center;
  text-decoration: none;
  border: none;
  color: var(--c-secondary);
  background-color: transparent;
  display: inline-flex;
  justify-content: center;
  align-items: center;
  border: 0;
  text-decoration: underline;
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
  transition: 0.3s var(--easing);
  white-space: nowrap;
  padding: 0 0 0 calc(var(--bump) * 1.5);
  color: var(--c-secondary);
}
@media (max-width: 1099px) {
  .o-header__find-us a {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    margin: 0;
    padding: 0;
  }
}
@media (max-width: 991px) {
  .o-header__find-us a {
    display: inline;
    padding: 0 0 0 calc(var(--bump) * 1.5);
  }
}
.o-header__find-us a:first-of-type {
  padding: 0;
}
.o-header__find-us a:hover {
  text-decoration: none;
}
.o-header__find-us h4,
.o-header__find-us a,
.o-header__find-us p {
  margin: 0 0 calc(var(--bump) / 2);
}
.o-header__primary-cta {
  height: 100%;
  width: 100%;
  max-width: 172px;
  transition: none;
}
@media (max-width: 767px) {
  .o-header__primary-cta {
    max-width: 100%;
  }
}
[data-search=open] .o-header__primary-cta {
  width: 0;
  height: 0;
}
.o-header__primary-cta a {
  font-family: "Letteratextprobold", sans-serif;
  cursor: pointer;
  background-color: var(--c-tertiary);
  color: var(--c-primary);
  padding: calc(var(--bump) / 4) calc(var(--bump) / 2);
  display: inline-block;
  transition: 0.3s var(--easing);
  text-align: center;
  -moz-text-align-last: center;
       text-align-last: center;
  text-decoration: none;
  width: 100%;
  padding: calc(var(--bump) / 4) calc(var(--bump) / 2);
  opacity: 1;
  white-space: nowrap;
  transition: none;
}
[data-search=open] .o-header__primary-cta a {
  padding: 0;
  visibility: hidden;
  opacity: 0;
}
.o-header__mobile-menu {
  display: none;
}
@media (max-width: 767px) {
  .o-header__mobile-menu {
    display: flex;
    justify-content: flex-end;
    width: 100%;
  }
  .o-header__mobile-menu .m-block__mobile-menu {
    display: flex;
    opacity: 1;
    visibility: visible;
    transition: all 1s var(--transition);
  }
  [data-nav=open] .o-header__mobile-menu .m-block__mobile-menu {
    opacity: 0;
    visibility: hidden;
  }
  .o-header__mobile-menu .m-block__mobile-menu a {
    display: flex;
    margin: 0 var(--bump) 0 0;
  }
}
.o-header__search-wrapper {
  font-size: var(--fontlarge);
  line-height: var(--smallLineHeight);
  font-family: var(--fontMedium);
  text-decoration: none;
}
[data-nav=open] .o-header__search-wrapper {
  visibility: hidden;
  opacity: 0;
}
@media (max-width: 767px) {
  .o-header__search-wrapper {
    display: none;
  }
}
.o-header__search-modal {
  position: absolute;
  width: 100%;
  background-color: #141414;
  display: flex;
  flex-direction: column;
  padding: calc(var(--bump) * 2) 0 0;
  z-index: 2;
  transition: 0.4s var(--transition);
  visibility: hidden;
  opacity: 0;
}
@media (max-width: 767px) {
  .o-header__search-modal {
    padding: 0;
  }
}
.o-header__search-modal__overlay {
  z-index: -100;
  opacity: 0;
  transition: var(--transition);
  visibility: hidden;
}
[data-search=open] .o-header__search-modal {
  visibility: visible;
  opacity: 1;
}
[data-search=open] .o-header__search-modal__overlay {
  position: fixed;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  background-color: var(--c-black);
  z-index: 1;
  opacity: 0.7;
  visibility: visible;
}
.o-header__search-modal > .grid {
  width: 100%;
}
.o-header__search-modal__exposedformsearchpage {
  display: flex;
  justify-content: flex-start;
  margin: 0 0 calc(var(--bump) * 1.5);
}
.o-header__search-modal__exposedformsearchpage form {
  display: flex;
  align-items: center;
  position: relative;
  width: 100%;
}
.o-header__search-modal__exposedformsearchpage form .js-form-item {
  margin: 0;
  width: 100%;
  border-bottom: 1px solid #979797;
}
.o-header__search-modal__exposedformsearchpage form .js-form-item input {
  border: none;
  width: 100%;
  display: block;
  height: 35px;
  padding: 0;
  margin: 0 0 calc(var(--bump) / 12) 0;
  color: var(--c-white);
  font-family: var(--fontBold);
  font-size: clamp(18px, 2vw, 26px);
  font-weight: 500;
  letter-spacing: 0;
  line-height: 27px;
  background-color: #141414;
}
.o-header__search-modal__exposedformsearchpage form .js-form-item input::-moz-placeholder {
  font-family: var(--fontBold);
  color: var(--c-white);
  font-size: clamp(18px, 2vw, 26px);
  font-weight: 500;
  letter-spacing: 0;
  line-height: 27px;
  display: flex;
  align-self: center;
}
.o-header__search-modal__exposedformsearchpage form .js-form-item input:-ms-input-placeholder {
  font-family: var(--fontBold);
  color: var(--c-white);
  font-size: clamp(18px, 2vw, 26px);
  font-weight: 500;
  letter-spacing: 0;
  line-height: 27px;
  display: flex;
  align-self: center;
}
.o-header__search-modal__exposedformsearchpage form .js-form-item input::placeholder {
  font-family: var(--fontBold);
  color: var(--c-white);
  font-size: clamp(18px, 2vw, 26px);
  font-weight: 500;
  letter-spacing: 0;
  line-height: 27px;
  display: flex;
  align-self: center;
}
.o-header__search-modal__exposedformsearchpage form .js-form-item input:focus::-moz-placeholder {
  color: var(--c-white);
}
.o-header__search-modal__exposedformsearchpage form .js-form-item input:focus:-ms-input-placeholder {
  color: var(--c-white);
}
.o-header__search-modal__exposedformsearchpage form .js-form-item input:focus::placeholder {
  color: var(--c-white);
}
.o-header__search-modal__exposedformsearchpage form .js-form-wrapper {
  position: absolute;
  right: 0;
  bottom: 1px;
  background-color: #141414;
}
.o-header__search-modal__exposedformsearchpage form .js-form-wrapper .a-btn {
  text-align: left;
  text-indent: -9999px;
  background-color: transparent;
  position: relative;
  padding: 0;
  border: none;
  width: 44px;
  height: 44px;
  display: flex;
  align-items: center;
  justify-content: center;
}
.o-header__search-modal__exposedformsearchpage form .js-form-wrapper .a-btn:after {
  content: "";
  position: absolute;
  display: block;
  background-image: url("../img/search-white.svg");
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
  height: clamp(16px, 2vw, 24px);
  width: clamp(16px, 2vw, 24px);
}
.o-header__search-modal__searchsuggestions {
  display: flex;
  justify-content: flex-start;
  flex-flow: row wrap;
  align-items: flex-start;
  gap: calc(var(--bump) * 1.3333);
  margin: calc(var(--bump) * 2) 0 calc(var(--bump) * 3);
}
@media (max-width: 767px) {
  .o-header__search-modal__searchsuggestions {
    flex-flow: column wrap;
    gap: var(--smallBump);
  }
}
.o-header__search-modal__searchsuggestions > a {
  position: relative;
  color: var(--c-black);
  text-decoration: none;
}
/**
 * ----------------------
 * Un.titled
 * Organisms - Footer
 * ----------------------
 */
.o-footer {
  background-color: var(--c-black);
  color: var(--c-secondary);
  padding: calc(var(--bump) / 2) 0 var(--bump);
}
.o-footer__row__bottom {
  display: flex;
  justify-content: space-between;
}
.o-footer__row__bottom small {
  margin: auto 0 auto calc(var(--bump) / 2);
  white-space: nowrap;
}
.o-footer__row__bottom small span {
  text-decoration: underline;
}
@media (max-width: 991px) {
  .o-footer__row__bottom {
    flex-direction: column;
  }
  .o-footer__row__bottom small {
    margin: calc(var(--bump) / 2) 0 0 0;
  }
}
.o-footer__row .grid .o-footer__row__bottom.col-sm-12 {
  padding: 0 calc(var(--bump) / 2);
}
.o-footer__row__newsletter {
  background-color: var(--c-tertiary);
  padding: var(--bump) 0 var(--bump);
  display: flex;
  justify-content: center;
}
.o-footer__row__newsletter__inner {
  display: flex;
  flex-direction: column;
  align-items: center;
  width: 100%;
  max-width: 356px;
}
.o-footer__row__newsletter__inner h2.h2,
.o-footer__row__newsletter__inner h2.h3,
.o-footer__row__newsletter__inner h2.h4,
.o-footer__row__newsletter__inner h2.h5 {
  color: var(--c-black);
  text-align: center;
  -moz-text-align-last: center;
       text-align-last: center;
  font-size: 26px;
  line-height: 41px;
  font-family: var(--fontTitle);
  margin: 0 0 calc(var(--bump) / 6);
}
@media (max-width: 767px) {
  .o-footer__row__newsletter__inner h2.h2,
.o-footer__row__newsletter__inner h2.h3,
.o-footer__row__newsletter__inner h2.h4,
.o-footer__row__newsletter__inner h2.h5 {
    font-size: 20px;
    line-height: 28px;
  }
}
.o-footer__row__newsletter__inner p {
  color: var(--c-black);
  font-size: 16px;
  line-height: 20px;
  font-family: var(--fontBody);
  margin: 0 0 20px;
  text-align: center;
  -moz-text-align-last: center;
       text-align-last: center;
}
.o-footer__row__newsletter__inner a {
  font-family: "Letteratextprobold", sans-serif;
  cursor: pointer;
  background-color: var(--c-tertiary);
  color: var(--c-primary);
  padding: calc(var(--bump) / 4) calc(var(--bump) / 2);
  display: inline-block;
  transition: 0.3s var(--easing);
  text-align: center;
  -moz-text-align-last: center;
       text-align-last: center;
  text-decoration: none;
  background-color: var(--c-black);
  color: var(--c-secondary);
}
.o-footer__row__newsletter__inner a:hover, .o-footer__row__newsletter__inner a:focus {
  background-color: var(--c-secondary);
  text-decoration: none;
  background-color: var(--c-secondary);
  color: var(--c-black);
}
@media (max-width: 767px) {
  .o-footer__row__newsletter__inner a {
    width: 95%;
  }
}
.o-footer__row__opening-times, .o-footer__row__find-us, .o-footer__row__about-us {
  padding: calc(var(--bump) / 2);
}
.o-footer__row__opening-times h4, .o-footer__row__find-us h4, .o-footer__row__about-us h4 {
  font-family: "Letteratextpro", sans-serif;
  font-weight: bold;
  line-height: 1.2;
  font-size: clamp(18px, 7vw, var(--fontSizeHeadingFour));
}
.o-footer__row__opening-times a, .o-footer__row__find-us a, .o-footer__row__about-us a {
  font-family: "Letteratextprobold", sans-serif;
  cursor: pointer;
  background-color: var(--c-tertiary);
  color: var(--c-primary);
  padding: calc(var(--bump) / 4) calc(var(--bump) / 2);
  display: inline-block;
  transition: 0.3s var(--easing);
  text-align: center;
  -moz-text-align-last: center;
       text-align-last: center;
  text-decoration: none;
  border: none;
  color: var(--c-secondary);
  background-color: transparent;
  display: inline-flex;
  justify-content: center;
  align-items: center;
  border: 0;
  text-decoration: underline;
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
  transition: 0.3s var(--easing);
  white-space: nowrap;
  color: var(--c-secondary);
}
@media (max-width: 1099px) {
  .o-footer__row__opening-times a, .o-footer__row__find-us a, .o-footer__row__about-us a {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    margin: 0;
    padding: 0;
  }
}
@media (max-width: 991px) {
  .o-footer__row__opening-times a, .o-footer__row__find-us a, .o-footer__row__about-us a {
    display: inline;
    padding: 0 0 0 calc(var(--bump) * 1.5);
  }
}
.o-footer__row__opening-times a:first-of-type, .o-footer__row__find-us a:first-of-type, .o-footer__row__about-us a:first-of-type {
  padding-left: 0;
  padding-bottom: 0;
  margin: 0;
}
.o-footer__row__opening-times a:hover, .o-footer__row__find-us a:hover, .o-footer__row__about-us a:hover {
  text-decoration: none;
}
.o-footer__row__opening-times h4,
.o-footer__row__opening-times a,
.o-footer__row__opening-times p, .o-footer__row__find-us h4,
.o-footer__row__find-us a,
.o-footer__row__find-us p, .o-footer__row__about-us h4,
.o-footer__row__about-us a,
.o-footer__row__about-us p {
  margin: 0 0 calc(var(--bump) / 2);
}
.o-footer__row__opening-times p, .o-footer__row__find-us p, .o-footer__row__about-us p {
  color: var(--c-secondary);
}
@media (max-width: 767px) {
  .o-footer__row__opening-times p, .o-footer__row__find-us p, .o-footer__row__about-us p {
    display: flex;
    justify-content: space-between;
  }
  .o-footer__row__opening-times p a, .o-footer__row__find-us p a, .o-footer__row__about-us p a {
    padding: 0;
  }
}
@media (max-width: 767px) {
  .o-footer__row__find-us p {
    flex-direction: column;
    align-items: flex-start;
  }
}
.o-footer__row__opening-times .m-block__opening-times > h4 {
  font-family: "Letteratextpro", sans-serif;
  font-weight: bold;
  line-height: 1.2;
  font-size: clamp(18px, 7vw, var(--fontSizeHeadingFour));
}
.o-footer__row__opening-times .m-block__opening-times > ul > li {
  display: flex;
  justify-content: space-between;
  width: 100%;
  list-style-type: none;
  margin: 0 0 calc(var(--bump) / 2);
  border-bottom: 1px solid #ffffff;
}
.o-footer__row__opening-times .m-block__opening-times > ul > li > ul {
  margin: 0 0 0;
  list-style-type: none;
}
@media (max-width: 1199px) {
  .o-footer__row__opening-times .m-block__opening-times > ul > li > ul {
    margin: 0;
    text-align: right;
  }
}
.o-footer__row.o-footer__row__top > .grid > .col-sm-12 {
  padding: calc(var(--bump) / 2) calc(var(--bump) * 1.5);
}
@media (max-width: 991px) {
  .o-footer__row.o-footer__row__top > .grid > .col-sm-12 {
    padding: calc(var(--bump) / 2);
  }
}
.o-footer__row.o-footer__row__top > .grid > .col-sm-12:first-of-type {
  padding: calc(var(--bump) / 2) calc(var(--bump) * 1.5) calc(var(--bump) / 2) calc(var(--bump) / 2);
}
@media (max-width: 991px) {
  .o-footer__row.o-footer__row__top > .grid > .col-sm-12:first-of-type {
    padding: calc(var(--bump) / 2);
  }
}
.o-footer__row.o-footer__row__top > .grid > .col-sm-12:nth-last-of-type(2) {
  padding: calc(var(--bump) / 2) calc(var(--bump) / 2) calc(var(--bump) / 2) calc(var(--bump) * 1.5);
}
@media (max-width: 991px) {
  .o-footer__row.o-footer__row__top > .grid > .col-sm-12:nth-last-of-type(2) {
    padding: calc(var(--bump) / 2);
  }
}
.o-footer__row .grid .col-sm-12.o-footer__row__bottom {
  padding: var(--bump) calc(var(--bump) / 2);
}
.o-footer__row .grid .col-sm-12.o-footer__row__bottom p {
  color: var(--c-secondary);
  font-size: 14px;
  letter-spacing: 0;
  line-height: 20px;
}
@media (max-width: 991px) {
  .o-footer__row .grid .col-sm-12.o-footer__row__bottom {
    padding: calc(var(--bump) / 2) calc(var(--bump) / 2);
  }
}
.o-footer__row__border-bottom {
  display: block;
  height: 1px;
  opacity: 0.3;
  background-color: var(--c-secondary);
  width: 100%;
  margin: 0 calc(var(--bump) / 2);
}
@media (max-width: 991px) {
  .o-footer__row__border-bottom {
    display: none;
  }
}
.o-footer__row:last-of-type .grid, .o-footer__row:nth-last-child(2) .grid {
  border-bottom: none;
}
.o-footer__newsletter-cta {
  display: flex;
}
.o-footer__newsletter-cta .m-block__footer-newsletter-cta {
  margin: auto;
}
@media (max-width: 991px) {
  .o-footer__newsletter-cta .m-block__footer-newsletter-cta {
    width: 100%;
  }
}
.o-footer__newsletter-cta a {
  font-family: "Letteratextprobold", sans-serif;
  cursor: pointer;
  background-color: var(--c-tertiary);
  color: var(--c-primary);
  padding: calc(var(--bump) / 4) calc(var(--bump) / 2);
  display: inline-block;
  transition: 0.3s var(--easing);
  text-align: center;
  -moz-text-align-last: center;
       text-align-last: center;
  text-decoration: none;
  padding: calc(var(--bump) / 4) calc(var(--bump) / 2);
  transition: 0.5s var(--easing);
}
.o-footer__newsletter-cta a:hover {
  background-color: var(--c-secondary);
}
@media (max-width: 767px) {
  .o-footer__newsletter-cta a {
    width: 100%;
  }
}
.o-footer__artscouncil {
  display: flex;
  justify-content: flex-end;
}
@media (max-width: 991px) {
  .o-footer__artscouncil .artscouncil {
    margin: auto auto auto 0;
  }
}
.o-footer__footer-menu > .menu {
  display: flex;
}
@media (max-width: 991px) {
  .o-footer__footer-menu > .menu {
    flex-direction: column;
  }
}
.o-footer__footer-menu > .menu > li > a {
  font-family: "Letteratextprobold", sans-serif;
  cursor: pointer;
  background-color: var(--c-tertiary);
  color: var(--c-primary);
  padding: calc(var(--bump) / 4) calc(var(--bump) / 2);
  display: inline-block;
  transition: 0.3s var(--easing);
  text-align: center;
  -moz-text-align-last: center;
       text-align-last: center;
  text-decoration: none;
  border: none;
  color: var(--c-secondary);
  background-color: transparent;
  display: inline-flex;
  justify-content: center;
  align-items: center;
  border: 0;
  text-decoration: underline;
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
  transition: 0.3s var(--easing);
  white-space: nowrap;
  color: var(--c-secondary);
  padding: 0 20px 0 0;
}
@media (max-width: 991px) {
  .o-footer__footer-menu > .menu > li > a {
    padding: 20px 0 0 0;
  }
}
.o-footer__social-links .m-block__footer---social-links {
  display: flex;
  align-content: flex-start;
}
@media (max-width: 991px) {
  .o-footer__social-links, .o-footer__newsletter-cta, .o-footer__artscouncil {
    padding: calc(var(--bump) / 3) calc(var(--bump) / 2);
  }
}

/**
 * ----------------------
 * Un.titled
 * Organisms - Views
 * ----------------------
 */
.view__what_s_on__form, .view__photography_culture__form, .view__past_programme__form, .view__learn_listing__form {
  margin: var(--bump) 0;
}
.view__what_s_on__button, .view__photography_culture__button, .view__past_programme__button, .view__learn_listing__button {
  display: none;
}
.view__what_s_on__filters, .view__photography_culture__filters, .view__past_programme__filters, .view__learn_listing__filters {
  padding: var(--smallBump) 0;
  border-top: 1px solid var(--c-secondary);
  border-bottom: 1px solid var(--c-secondary);
  margin: calc(var(--bump) / 3) 0;
}
.view__what_s_on__filters .views-exposed-form, .view__photography_culture__filters .views-exposed-form, .view__past_programme__filters .views-exposed-form, .view__learn_listing__filters .views-exposed-form {
  display: flex;
}
@media (max-width: 767px) {
  .view__what_s_on__filters .views-exposed-form, .view__photography_culture__filters .views-exposed-form, .view__past_programme__filters .views-exposed-form, .view__learn_listing__filters .views-exposed-form {
    flex-direction: column;
    gap: var(--bump);
    align-items: flex-start;
  }
}
.view__what_s_on__filters .views-exposed-form > fieldset.js-form-item, .view__photography_culture__filters .views-exposed-form > fieldset.js-form-item, .view__past_programme__filters .views-exposed-form > fieldset.js-form-item, .view__learn_listing__filters .views-exposed-form > fieldset.js-form-item {
  flex-grow: 1;
  border: none;
  margin: auto;
  padding: 0;
}
@media (max-width: 767px) {
  .view__what_s_on__filters .views-exposed-form > fieldset.js-form-item, .view__photography_culture__filters .views-exposed-form > fieldset.js-form-item, .view__past_programme__filters .views-exposed-form > fieldset.js-form-item, .view__learn_listing__filters .views-exposed-form > fieldset.js-form-item {
    margin: 0;
  }
}
.view__what_s_on__filters .views-exposed-form > fieldset.js-form-item > .fieldset-wrapper > .form-checkboxes > .form-checkboxes, .view__photography_culture__filters .views-exposed-form > fieldset.js-form-item > .fieldset-wrapper > .form-checkboxes > .form-checkboxes, .view__past_programme__filters .views-exposed-form > fieldset.js-form-item > .fieldset-wrapper > .form-checkboxes > .form-checkboxes, .view__learn_listing__filters .views-exposed-form > fieldset.js-form-item > .fieldset-wrapper > .form-checkboxes > .form-checkboxes {
  display: flex;
  gap: 40px;
  flex-flow: row wrap;
}
@media (max-width: 767px) {
  .view__what_s_on__filters .views-exposed-form > fieldset.js-form-item > .fieldset-wrapper > .form-checkboxes > .form-checkboxes, .view__photography_culture__filters .views-exposed-form > fieldset.js-form-item > .fieldset-wrapper > .form-checkboxes > .form-checkboxes, .view__past_programme__filters .views-exposed-form > fieldset.js-form-item > .fieldset-wrapper > .form-checkboxes > .form-checkboxes, .view__learn_listing__filters .views-exposed-form > fieldset.js-form-item > .fieldset-wrapper > .form-checkboxes > .form-checkboxes {
    justify-content: center;
    flex-flow: column;
    gap: 15px;
  }
}
.view__what_s_on__filters .views-exposed-form > fieldset.js-form-item > .fieldset-wrapper > .form-checkboxes > .form-checkboxes > .js-form-item, .view__photography_culture__filters .views-exposed-form > fieldset.js-form-item > .fieldset-wrapper > .form-checkboxes > .form-checkboxes > .js-form-item, .view__past_programme__filters .views-exposed-form > fieldset.js-form-item > .fieldset-wrapper > .form-checkboxes > .form-checkboxes > .js-form-item, .view__learn_listing__filters .views-exposed-form > fieldset.js-form-item > .fieldset-wrapper > .form-checkboxes > .form-checkboxes > .js-form-item {
  margin: 0;
}
.view__what_s_on__filters .views-exposed-form > fieldset.js-form-item > .fieldset-wrapper > .form-checkboxes > .form-checkboxes > .js-form-item > [type=checkbox]:checked + label, .view__what_s_on__filters .views-exposed-form > fieldset.js-form-item > .fieldset-wrapper > .form-checkboxes > .form-checkboxes > .js-form-item > [type=checkbox]:not(:checked) + label, .view__photography_culture__filters .views-exposed-form > fieldset.js-form-item > .fieldset-wrapper > .form-checkboxes > .form-checkboxes > .js-form-item > [type=checkbox]:checked + label, .view__photography_culture__filters .views-exposed-form > fieldset.js-form-item > .fieldset-wrapper > .form-checkboxes > .form-checkboxes > .js-form-item > [type=checkbox]:not(:checked) + label, .view__past_programme__filters .views-exposed-form > fieldset.js-form-item > .fieldset-wrapper > .form-checkboxes > .form-checkboxes > .js-form-item > [type=checkbox]:checked + label, .view__past_programme__filters .views-exposed-form > fieldset.js-form-item > .fieldset-wrapper > .form-checkboxes > .form-checkboxes > .js-form-item > [type=checkbox]:not(:checked) + label, .view__learn_listing__filters .views-exposed-form > fieldset.js-form-item > .fieldset-wrapper > .form-checkboxes > .form-checkboxes > .js-form-item > [type=checkbox]:checked + label, .view__learn_listing__filters .views-exposed-form > fieldset.js-form-item > .fieldset-wrapper > .form-checkboxes > .form-checkboxes > .js-form-item > [type=checkbox]:not(:checked) + label {
  padding-left: 25px;
  line-height: 17px;
  letter-spacing: 0;
  text-decoration: underline;
  color: var(--c-secondary);
}
.view__what_s_on__filters .views-exposed-form > fieldset.js-form-item > .fieldset-wrapper > .form-checkboxes > .form-checkboxes > .js-form-item > [type=checkbox]:checked + label:before, .view__what_s_on__filters .views-exposed-form > fieldset.js-form-item > .fieldset-wrapper > .form-checkboxes > .form-checkboxes > .js-form-item > [type=checkbox]:not(:checked) + label:before, .view__photography_culture__filters .views-exposed-form > fieldset.js-form-item > .fieldset-wrapper > .form-checkboxes > .form-checkboxes > .js-form-item > [type=checkbox]:checked + label:before, .view__photography_culture__filters .views-exposed-form > fieldset.js-form-item > .fieldset-wrapper > .form-checkboxes > .form-checkboxes > .js-form-item > [type=checkbox]:not(:checked) + label:before, .view__past_programme__filters .views-exposed-form > fieldset.js-form-item > .fieldset-wrapper > .form-checkboxes > .form-checkboxes > .js-form-item > [type=checkbox]:checked + label:before, .view__past_programme__filters .views-exposed-form > fieldset.js-form-item > .fieldset-wrapper > .form-checkboxes > .form-checkboxes > .js-form-item > [type=checkbox]:not(:checked) + label:before, .view__learn_listing__filters .views-exposed-form > fieldset.js-form-item > .fieldset-wrapper > .form-checkboxes > .form-checkboxes > .js-form-item > [type=checkbox]:checked + label:before, .view__learn_listing__filters .views-exposed-form > fieldset.js-form-item > .fieldset-wrapper > .form-checkboxes > .form-checkboxes > .js-form-item > [type=checkbox]:not(:checked) + label:before {
  width: 20px;
  height: 20px;
  top: -2px;
  left: -2px;
  transition: all 0.4s var(--transition);
}
.view__what_s_on__filters .views-exposed-form > fieldset.js-form-item > .fieldset-wrapper > .form-checkboxes > .form-checkboxes > .js-form-item > [type=checkbox]:checked + label:after, .view__what_s_on__filters .views-exposed-form > fieldset.js-form-item > .fieldset-wrapper > .form-checkboxes > .form-checkboxes > .js-form-item > [type=checkbox]:not(:checked) + label:after, .view__photography_culture__filters .views-exposed-form > fieldset.js-form-item > .fieldset-wrapper > .form-checkboxes > .form-checkboxes > .js-form-item > [type=checkbox]:checked + label:after, .view__photography_culture__filters .views-exposed-form > fieldset.js-form-item > .fieldset-wrapper > .form-checkboxes > .form-checkboxes > .js-form-item > [type=checkbox]:not(:checked) + label:after, .view__past_programme__filters .views-exposed-form > fieldset.js-form-item > .fieldset-wrapper > .form-checkboxes > .form-checkboxes > .js-form-item > [type=checkbox]:checked + label:after, .view__past_programme__filters .views-exposed-form > fieldset.js-form-item > .fieldset-wrapper > .form-checkboxes > .form-checkboxes > .js-form-item > [type=checkbox]:not(:checked) + label:after, .view__learn_listing__filters .views-exposed-form > fieldset.js-form-item > .fieldset-wrapper > .form-checkboxes > .form-checkboxes > .js-form-item > [type=checkbox]:checked + label:after, .view__learn_listing__filters .views-exposed-form > fieldset.js-form-item > .fieldset-wrapper > .form-checkboxes > .form-checkboxes > .js-form-item > [type=checkbox]:not(:checked) + label:after {
  background-position: center center;
  background-repeat: no-repeat;
  background-size: 10px;
  content: "";
  width: 34px;
  height: 34px;
  display: block;
  background-image: url(../img/tick.svg);
  color: var(--c-primary);
  position: absolute;
  transition: all 0.4s var(--transition);
}
.view__what_s_on__filters .views-exposed-form > fieldset.js-form-item > .fieldset-wrapper > .form-checkboxes > .form-checkboxes > .js-form-item > [type=checkbox]:checked + label:before, .view__photography_culture__filters .views-exposed-form > fieldset.js-form-item > .fieldset-wrapper > .form-checkboxes > .form-checkboxes > .js-form-item > [type=checkbox]:checked + label:before, .view__past_programme__filters .views-exposed-form > fieldset.js-form-item > .fieldset-wrapper > .form-checkboxes > .form-checkboxes > .js-form-item > [type=checkbox]:checked + label:before, .view__learn_listing__filters .views-exposed-form > fieldset.js-form-item > .fieldset-wrapper > .form-checkboxes > .form-checkboxes > .js-form-item > [type=checkbox]:checked + label:before {
  background-color: var(--c-tertiary);
}
.view__what_s_on__filters .views-exposed-form > fieldset.js-form-item > .fieldset-wrapper > .form-checkboxes > .form-checkboxes > .js-form-item > [type=checkbox]:checked + label:after, .view__photography_culture__filters .views-exposed-form > fieldset.js-form-item > .fieldset-wrapper > .form-checkboxes > .form-checkboxes > .js-form-item > [type=checkbox]:checked + label:after, .view__past_programme__filters .views-exposed-form > fieldset.js-form-item > .fieldset-wrapper > .form-checkboxes > .form-checkboxes > .js-form-item > [type=checkbox]:checked + label:after, .view__learn_listing__filters .views-exposed-form > fieldset.js-form-item > .fieldset-wrapper > .form-checkboxes > .form-checkboxes > .js-form-item > [type=checkbox]:checked + label:after {
  opacity: 1;
  transform: scale(1);
  width: 12px;
  height: 12px;
  top: 2px;
  left: 2px;
}
.view__what_s_on__filters .views-exposed-form > fieldset.js-form-item > .fieldset-wrapper > .form-checkboxes > .form-checkboxes > .js-form-item > [type=checkbox]:checked + label:after:after, .view__photography_culture__filters .views-exposed-form > fieldset.js-form-item > .fieldset-wrapper > .form-checkboxes > .form-checkboxes > .js-form-item > [type=checkbox]:checked + label:after:after, .view__past_programme__filters .views-exposed-form > fieldset.js-form-item > .fieldset-wrapper > .form-checkboxes > .form-checkboxes > .js-form-item > [type=checkbox]:checked + label:after:after, .view__learn_listing__filters .views-exposed-form > fieldset.js-form-item > .fieldset-wrapper > .form-checkboxes > .form-checkboxes > .js-form-item > [type=checkbox]:checked + label:after:after {
  opacity: 0;
  transform: scale(0);
}
.view__what_s_on__filters .views-exposed-form > .js-form-wrapper > .js-form-submit, .view__photography_culture__filters .views-exposed-form > .js-form-wrapper > .js-form-submit, .view__past_programme__filters .views-exposed-form > .js-form-wrapper > .js-form-submit, .view__learn_listing__filters .views-exposed-form > .js-form-wrapper > .js-form-submit {
  background-color: var(--c-secondary);
}
.view__what_s_on__filters .views-exposed-form > .js-form-wrapper > .js-form-submit:hover, .view__photography_culture__filters .views-exposed-form > .js-form-wrapper > .js-form-submit:hover, .view__past_programme__filters .views-exposed-form > .js-form-wrapper > .js-form-submit:hover, .view__learn_listing__filters .views-exposed-form > .js-form-wrapper > .js-form-submit:hover {
  background-color: var(--c-tertiary);
}

/**
 * ----------------------
 * Un.titled
 * Organisms - Search results
 * ----------------------
 */
#search-form {
  display: none;
  visibility: hidden;
}

.o-search-results__row {
  border-bottom: 1px solid var(--c-grey);
  padding: calc(var(--bump)) 0;
}
.o-search-results__row:first-of-type {
  border-top: 1px solid var(--c-grey);
  margin: calc(var(--bump) * 1.5) 0 0;
}
.o-search-results__row .title-2 {
  font-family: var(--fontTitle);
  font-size: 20px;
  font-weight: 600;
  letter-spacing: 0;
  line-height: 28px;
  margin: 0 var(--bump) 0 0;
}
.o-search-results__row .type {
  display: inline-block;
  color: var(--c-secondary);
  background-color: var(--c-primary);
  padding: 5px 10px;
  margin: 0 0 var(--bump) 0;
}
@media (max-width: 767px) {
  .o-search-results__row .type {
    display: block;
    margin: calc(var(--bump) / 2) 0;
  }
}
.o-search-results__row .field-content P {
  color: var(--c-secondary);
  font-family: var(--fontBody);
  margin: 0 0 calc(var(--bump) / 2) 0;
}
.o-search-results__row .field-content > a {
  font-size: var(--fontSizeHeadingThree);
  font-family: var(--fontBold);
}
.o-search-results__row .field-content .more-link a {
  font-family: "Letteratextprobold", sans-serif;
  cursor: pointer;
  background-color: var(--c-tertiary);
  color: var(--c-primary);
  padding: calc(var(--bump) / 4) calc(var(--bump) / 2);
  display: inline-block;
  transition: 0.3s var(--easing);
  text-align: center;
  -moz-text-align-last: center;
       text-align-last: center;
  text-decoration: none;
  font-family: "Letteratextprobold", sans-serif;
  cursor: pointer;
  background-color: var(--c-tertiary);
  color: var(--c-primary);
  padding: calc(var(--bump) / 4) calc(var(--bump) / 2);
  display: inline-block;
  transition: 0.3s var(--easing);
  text-align: center;
  text-align-last: center;
  text-decoration: none;
  border: none;
  color: var(--c-secondary);
  background-color: transparent;
  display: inline-flex;
  justify-content: center;
  align-items: center;
  border: 0;
  text-decoration: underline;
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
  transition: 0.3s var(--easing);
  white-space: nowrap;
  padding: calc(var(--bump) / 4) 0;
}
.o-search-results__row .field-content .more-link a:hover {
  background-color: transparent;
  text-decoration: none;
}
.o-search-results-wrapper h2 {
  display: none;
}
.o-search-results-wrapper .result__title {
  margin-bottom: 0;
}
.o-search-results-wrapper__list {
  margin-bottom: calc(var(--bump) * 2);
}
.o-search-results-wrapper__list ol {
  list-style: none;
  margin: 0;
  padding: 0;
}
.o-search-results-wrapper__list ol li {
  list-style: none;
  margin: 0;
  padding: 0;
}
.o-search-results-wrapper__list ol li {
  margin-bottom: var(--bump);
}
.o-search-results-autocomplete {
  padding: 20px 0;
}
@media (max-width: 767px) {
  .o-search-results-autocomplete {
    display: none !important;
  }
}
.o-search-results-autocomplete h3, .o-search-results-autocomplete__see-all > a {
  font-family: Arial, Helvetica, sans-serif;
  font-size: 1em;
  font-weight: bold;
  padding-left: 13px;
}
.o-search-results-autocomplete h3 {
  margin-bottom: 10px;
}
.o-search-results-autocomplete__see-all {
  margin: 20px 0;
}
.o-search-results-autocomplete__see-all a {
  text-decoration: underline;
}
.o-search-results-autocomplete .ui-menu-item a {
  display: flex;
  border: none;
  margin: 0;
  text-decoration: none;
  padding: 5px 1em 5px 0.4em;
}
.o-search-results-autocomplete__popular-themes {
  padding: 13px;
  font-weight: bold;
  display: flex;
  flex-wrap: wrap;
}
.o-search-results-autocomplete__popular-themes a {
  font-weight: normal;
  text-decoration: underline;
  margin-right: 5px;
}
.o-search-results-autocomplete__popular-themes a:first-of-type {
  margin-left: 5px;
}
.o-search-results-autocomplete__popular-themes a:last-of-type {
  margin-right: 0;
}

/**
 * ----------------------
 * Un.titled
 * Organisms - sidebar
 * ----------------------
 */
.o-sidebar__member-link-wrapper {
  margin: 20px 0;
}
.o-sidebar__member-link-wrapper > div {
  display: inline-block;
  padding: 0 20px;
  text-align: center;
  -moz-text-align-last: center;
       text-align-last: center;
}
.o-sidebar__member-link-wrapper > div .o-sidebar__member-link-wrapper__text {
  display: inline;
  font-family: "Letteratextprobold", sans-serif;
}
.o-sidebar__member-link-wrapper > div > a {
  font-family: "Letteratextprobold", sans-serif;
  cursor: pointer;
  background-color: var(--c-tertiary);
  color: var(--c-primary);
  padding: calc(var(--bump) / 4) calc(var(--bump) / 2);
  display: inline-block;
  transition: 0.3s var(--easing);
  text-align: center;
  -moz-text-align-last: center;
       text-align-last: center;
  text-decoration: none;
  border: none;
  color: var(--c-secondary);
  background-color: transparent;
  display: inline-flex;
  justify-content: center;
  align-items: center;
  border: 0;
  text-decoration: underline;
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
  transition: 0.3s var(--easing);
  white-space: nowrap;
  padding: 0;
  display: inline;
}
.o-sidebar__member-link-wrapper > div > a:hover {
  background-color: transparent;
  text-decoration: none;
}
.o-sidebar__member-link-wrapper__text {
  display: none;
}
.o-sidebar__inner {
  padding: 20px;
  background-color: rgba(215, 215, 215, 0.2);
}
.o-sidebar__inner__event-states-button {
  margin: 20px 0 0;
}
.o-sidebar p.o-sidebar__text {
  font-size: 16px;
  font-weight: bold;
  letter-spacing: 0;
  line-height: 24px;
  padding: 0 20px;
  color: var(--c-secondary);
  margin-bottom: 20px;
}
.o-sidebar p.o-sidebar__text a {
  text-decoration: underline;
}
.o-sidebar__menu > ul.menu a.is-active {
  font-family: "Letteratextprobold";
  font-weight: bold;
  margin: 0 0 0 calc(var(--bump) / 3);
  display: flex;
}
.o-sidebar__menu > ul.menu > .menu-item {
  list-style: none;
}
.o-sidebar__menu > ul.menu > li:last-child a {
  margin-bottom: 0;
}
.o-sidebar__menu > ul.menu .m-main-nav__link {
  margin: calc(var(--bump) / 2) 0 0;
}
.o-sidebar__menu > ul.menu .menu-item--active-trail > a {
  font-family: "Letteratextprobold";
  font-weight: bold;
}
.o-sidebar__menu > ul.menu ul.menu li {
  padding: 0 0 0 calc(var(--bump) / 1.5);
}
.o-sidebar__menu > ul.menu ul.menu li.is-active-trail {
  text-indent: 0px;
  list-style-type: none;
}
.o-sidebar__menu > ul.menu ul.menu > .m-main-nav__link a {
  position: relative;
}
.o-sidebar__menu > ul.menu ul.menu > .m-main-nav__link a:before {
  content: "-";
  position: absolute;
  left: 0;
  transform: translateX(-150%);
}
.o-sidebar__cta > .a-btn {
  width: 100%;
}
.o-sidebar__cta > .a-btn.no-link {
  background-color: rgba(215, 215, 215, 0.2) !important;
  color: var(--c-grey) !important;
}
.o-sidebar__related {
  color: var(--c-secondary);
}
.o-sidebar__season {
  color: var(--c-white);
}
.o-sidebar__season, .o-sidebar__sub-title {
  font-family: "Letteratextprobold", sans-serif;
  font-size: 18px;
  margin: 0;
  padding: 0 20px;
}
.o-sidebar__item .social-sharing-buttons {
  justify-content: flex-start;
  padding: 0 calc(var(--bump) / 3);
  margin: 0;
}
.o-sidebar__item .social-sharing-buttons a {
  margin: 0 calc(var(--bump) / 2) 0 0;
}
.o-sidebar__item .social-sharing-buttons a svg {
  fill: white;
  width: 30px;
  height: 30px;
}
.o-sidebar__item .social-sharing-buttons a:hover svg {
  transition: 0.8s var(--easing);
  fill: var(--c-grey);
}
.o-sidebar__cta, .o-sidebar__member-link-wrapper, .o-sidebar__inner, .o-sidebar__item {
  margin: 0 0 20px;
}

/**
 * ----------------------
 * Un.titled
 * Organisms - Teasers
 * ----------------------
 */
.o-teaser {
  position: relative;
  height: 100%;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: flex-start;
  transition: all 1s var(--transition);
}
.o-teaser video {
  position: absolute;
  top: 0;
  left: 0;
  height: 100%;
  width: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
@media (max-width: 575px) {
  .o-teaser video {
    display: none;
    visibility: hidden;
  }
}
.o-teaser__inner,
.o-teaser .col-12 {
  display: flex;
  flex-direction: column;
  width: 100%;
}
.o-teaser__thumb {
  display: block;
  width: 100%;
  position: relative;
  background-color: var(--c-primary);
  transition: all 1s var(--transition);
}
.m-entity__signposts__inner .o-teaser__thumb {
  display: flex;
  justify-content: flex-end;
}
.m-entity__signposts__inner .o-teaser__thumb picture {
  width: 100%;
}
.o-teaser__thumb .a-image-credit {
  left: calc(var(--bump) / 1.5);
}
.o-teaser__thumb img {
  width: 100%;
  height: auto;
  display: block;
  transition: var(--transition);
}
.o-teaser__image {
  position: relative;
}
.o-teaser__overlay {
  position: absolute;
  top: 0;
  left: 0;
  bottom: 0;
  right: 0;
  width: 100%;
  height: 100%;
  z-index: 1;
  color: var(--c-white);
  box-shadow: inset 0px -180px 91px -10px var(--c-primary);
}
@media (max-width: 767px) {
  .o-teaser__overlay {
    box-shadow: inset 0px -100px 90px -10px var(--c-primary);
  }
}
.o-teaser__overlay + picture > img {
  box-shadow: inset 0px -220px 130px -10px #1b1b1b;
}
.o-teaser__date {
  font-size: 14px;
  line-height: 17px;
  letter-spacing: 1x;
  font-family: var(--fontBold);
}
.o-teaser__pre-title {
  font-size: 16px;
  font-weight: bold;
  letter-spacing: 0;
  line-height: 20px;
  margin-bottom: calc(var(--bump) / 6);
}
.o-teaser__title {
  line-height: 1.5;
  font-size: clamp(16px, 7vw, var(--fontSize));
  font-weight: bold;
  margin-bottom: calc(var(--bump) / 6);
}
.o-teaser__post-type {
  position: absolute;
  bottom: 0;
  padding: calc(var(--bump) / 5);
  background-color: var(--c-secondary);
  color: var(--c-primary);
  margin: 0;
  font-weight: bold;
  z-index: 1;
  transition: all 1s var(--transition);
  text-transform: uppercase;
  font-size: 14px;
  line-height: 17px;
  letter-spacing: 0.75px;
  font-family: var(--fontBold);
}
.o-teaser__content {
  display: flex;
  flex-direction: column;
  justify-content: flex-start;
  align-items: flex-start;
  padding: calc(var(--bump) / 2) 0;
}
@media (max-width: 767px) {
  .o-teaser__content {
    padding: calc(var(--bump) / 2) 0;
  }
}
.m-entity__signposts__inner .o-teaser__content {
  position: absolute;
  z-index: 1;
}
@media (max-width: 1199px) {
  .m-entity__signposts__inner .o-teaser__content {
    padding: calc(var(--bump) / 2) calc(var(--bump) * 2);
    bottom: -50px;
  }
}
@media (max-width: 767px) {
  .m-entity__signposts__inner .o-teaser__content {
    position: relative;
    padding: calc(var(--bump) / 2) calc(var(--bump) / 2);
  }
}
.o-teaser__content p {
  margin: 0;
}
@media (max-width: 767px) {
  .o-teaser__content p:last-of-type {
    margin-bottom: calc(var(--bump) / 2);
  }
}
.o-teaser__body-text {
  color: var(--c-secondary);
}
.ct__what-s-on-listing .o-teaser__body-text {
  display: none;
}
.o-teaser__link {
  font-family: "Letteratextprobold", sans-serif;
  color: var(--c-secondary);
  text-decoration: underline;
  margin: 0;
  padding: 0;
  white-space: normal;
  -moz-text-align-last: left;
       text-align-last: left;
  text-align: left;
}
.o-teaser__link:hover {
  text-decoration: none;
}
.o-teaser__buttons {
  margin-top: auto;
  padding: 0 0 calc(var(--bump) / 2);
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: calc(var(--bump) / 2);
  align-self: flex-start;
}
@media (max-width: 767px) {
  .o-teaser__buttons {
    padding: 0 0 calc(var(--bump) / 2);
  }
}
.m-entity__signposts__inner .o-teaser__buttons {
  padding: 0;
}
.o-teaser__button {
  padding: calc(var(--bump) / 4) calc(var(--bump) / 3);
  white-space: normal;
}
.o-teaser__button--no-bg {
  padding: calc(var(--bump) / 4) 0;
}
.o-teaser__button--flex-start {
  justify-content: flex-start;
}
.o-teaser__button:after {
  width: 20px;
  height: 20px;
  background-position: center;
  margin: 0;
}
.o-teaser-mini-teaser__content {
  padding: calc(var(--bump) / 2) 0;
}
.o-teaser-mini-teaser__buttons {
  display: none;
}
.o-teaser-v2-teaser__content {
  position: absolute;
  bottom: 0;
  padding: 0;
  margin: 0px 24px 32px;
  z-index: 1;
  height: 100%;
  max-height: 100px;
}
@media (max-width: 767px) {
  .o-teaser-v2-teaser__content {
    margin: 20px;
    height: auto;
  }
}
.o-teaser-v2-teaser__overlay {
  background: linear-gradient(180deg, rgba(0, 0, 0, 0) 0%, #000000 100%);
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  z-index: 1;
}
.o-teaser-v2-teaser__overlay + picture > img {
  box-shadow: inset 0px -220px 130px -10px #1b1b1b;
}
.o-teaser-v2-teaser__thumb img {
  -o-object-fit: cover;
     object-fit: cover;
  height: 470px;
}
@media (max-width: 767px) {
  .o-teaser-v2-teaser__thumb img {
    height: auto;
  }
}
.o-teaser-v2-teaser__thumb:hover .o-teaser-v2-teaser__title {
  text-decoration: underline;
}
.o-teaser-v2-teaser__title {
  line-height: 27px;
  margin: 0 0 5px;
}
.o-teaser-v2-teaser__body-text {
  line-height: 17px;
}
@media (max-width: 767px) {
  .o-teaser-v2-teaser__body-text {
    display: none;
  }
}

/**
* ----------------------
* Un.titled
* Organisms - Search
* ----------------------
*/
/**
* Config
*/
/**
* Styling
*/
[data-search=open] {
  overflow: hidden;
}

@media (max-width: 767px) {
  .o-search {
    padding: calc(var(--bump) * 1.5) 0 calc(var(--bump) * 5);
  }
}
.o-search__mobile {
  display: none;
}
@media (max-width: 767px) {
  .o-search__mobile {
    padding: 0 calc(var(--bump) / 2) calc(var(--bump) / 2);
    width: 100%;
    display: block;
  }
}
.o-search__inner {
  position: relative;
  flex-direction: column;
  align-items: center;
}
@media (max-width: 767px) {
  .o-search__inner {
    padding: 1rem 0 0;
    align-items: flex-start;
  }
}
.o-search .views-exposed-form {
  width: 100%;
}
@media (max-width: 767px) {
  .o-search .views-exposed-form {
    width: 100%;
  }
}
.o-search .views-exposed-form #views-exposed-form-search-search .js-form-item,
.o-search .views-exposed-form #views-exposed-form-search-search .form-actions {
  margin: 0;
  padding: 0;
}
.o-search .views-exposed-form #views-exposed-form-search-search .form-actions {
  display: none;
}
.o-search .views-exposed-form #views-exposed-form-search-search input {
  border: 1px solid var(--c-white);
  background-color: var(--c-primary);
  color: var(--c-white);
  background-position: center center;
  background-repeat: no-repeat;
  background-size: 20px;
  background-position: 99% center;
  background-image: url("../img/search.svg");
  padding: 15px 45px 15px 15px;
  background-color: var(--c-greyLight);
}
.o-search .views-exposed-form #views-exposed-form-search-search input::-moz-placeholder {
  opacity: 0.75;
  color: inherit;
}
.o-search .views-exposed-form #views-exposed-form-search-search input:-ms-input-placeholder {
  opacity: 0.75;
  color: inherit;
}
.o-search .views-exposed-form #views-exposed-form-search-search input::placeholder {
  opacity: 0.75;
  color: inherit;
}
.o-search .views-exposed-form #views-exposed-form-search-search button {
  display: none;
  padding: 0;
  border: none;
}
.o-search .views-exposed-form #views-exposed-form-search-search input,
.o-search .views-exposed-form #views-exposed-form-search-search button {
  width: 100%;
  height: 35px;
}

.ui-widget.ui-widget-content {
  background-color: #141414;
  color: #fff;
  border: none;
}
.ui-widget.ui-widget-content h3, .ui-widget.ui-widget-content li, .ui-widget.ui-widget-content a {
  color: #fff;
}

.o-what-s-on-listing__intro__right {
  display: flex;
  justify-content: flex-end;
  align-items: flex-start;
}
@media (max-width: 767px) {
  .o-what-s-on-listing__intro__right {
    display: none;
  }
}
.o-what-s-on-listing .form-item-performance-daterange {
  flex-direction: row;
}
.o-what-s-on-listing .form-item-performance-daterange .daterange-picker-field {
  border: none;
  background-color: transparent;
  outline: none;
  color: #fff;
}
.o-what-s-on-listing .form-item-performance-daterange .daterange-picker-field::-moz-placeholder {
  color: #fff;
}
.o-what-s-on-listing .form-item-performance-daterange .daterange-picker-field:-ms-input-placeholder {
  color: #fff;
}
.o-what-s-on-listing .form-item-performance-daterange .daterange-picker-field::placeholder {
  color: #fff;
}

/* Litepicker */
:root {
  --litepicker-is-today-color: #000;
  --litepicker-day-color-hover: var(--c-tertiary);
  --litepicker-is-start-color: #000;
  --litepicker-is-start-color-bg: var(--c-tertiary);
  --litepicker-is-in-range-color: rgba(255,228,0,.5);
  --litepicker-is-end-color: #000;
  --litepicker-is-end-color-bg: var(--c-tertiary);
}

.litepicker {
  z-index: 100;
  position: fixed !important;
  top: 0 !important;
  left: 0 !important;
  width: 100%;
  height: 100%;
  background-color: rgba(0, 0, 0, 0.5);
  box-sizing: border-box;
  font-size: 18px;
}
.litepicker .container__main {
  position: fixed !important;
  top: 50% !important;
  left: 50% !important;
  transform: translate(-50%, -50%);
  width: 90%;
  max-width: 688px;
  max-height: 90%;
  flex-direction: column;
  overflow-x: auto;
  background-color: #000;
  -moz-box-shadow: 4px 4px 24px 0 #222222;
  -webkit-box-shadow: 4px 4px 24px 0 #222222;
  box-shadow: 4px 4px 24px 0 #222222;
  padding: 2rem 0.5rem;
}
.litepicker .container__main::before {
  content: "Choose a single date or range";
  display: block;
  width: 100%;
  color: #fff;
  font-size: 20px;
  text-align: center;
  margin-bottom: 0.75rem;
}
.litepicker .container__months {
  box-shadow: none;
  width: 100% !important;
}
.litepicker .container__months .month-item-weekdays-row {
  display: grid;
  grid-template-columns: repeat(7, 1fr);
}
@media (max-width: 767px) {
  .litepicker .container__months {
    display: grid;
  }
  .litepicker .container__months .month-item {
    width: 100% !important;
  }
}
.litepicker .container__days {
  display: grid;
  grid-template-columns: repeat(7, 1fr);
}
.litepicker .month-item {
  background-color: #fff;
  border: 0.5rem solid #000;
  box-sizing: border-box !important;
  width: 50% !important;
  padding: 15px !important;
}
.litepicker .close-btn {
  top: -92px;
  left: 10px;
  color: white;
  position: relative;
  font-size: 18px;
}
.litepicker .month-item-weekdays-row {
  text-transform: uppercase;
}
.litepicker .container__days > div {
  padding: 5px 1px 5px 2px;
}
.litepicker .container__days .day-item:hover {
  color: #000 !important;
  -webkit-box-shadow: inset 0 0 0 1px var(--litepicker-day-color-hover);
  box-shadow: inset 0 0 0 1px var(--litepicker-day-color-hover);
}
.litepicker .container__days .is-today {
  font-weight: bold;
}

.date-field-label {
  font-weight: 900;
}

.date-fields-wrapper {
  display: flex;
  flex-direction: row;
}

.form-item-date {
  flex-direction: row;
}
.form-item-date > * {
  display: inline-block;
}
.form-item-date .field-prefix {
  order: 0;
  margin-right: 5px;
}
.form-item-date label {
  order: 1;
  cursor: pointer;
  text-decoration: underline;
}
.form-item-date.filled .field-prefix img {
  filter: invert(78%) sepia(78%) saturate(2119%) hue-rotate(410deg) brightness(199%) contrast(158%);
}
.form-item-date.filled label span {
  color: #ffe400;
  text-decoration: underline;
}
.form-item-date input {
  display: none;
}

/**
 * Templates
 */

/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9zeWQtZDkvLi9ub2RlX21vZHVsZXMvc3dpcGVyL3N3aXBlci1idW5kbGUuY3NzIiwid2VicGFjazovL3N5ZC1kOS8uL25vZGVfbW9kdWxlcy9jaG9pY2VzLmpzL3B1YmxpYy9hc3NldHMvc3R5bGVzL2Nob2ljZXMubWluLmNzcyIsIndlYnBhY2s6Ly9zeWQtZDkvLi93ZWIvdGhlbWVzL3BpcHBpcC9hc3NldHMvc2Fzcy9nbG9iYWwuc2NzcyIsIndlYnBhY2s6Ly9zeWQtZDkvLi9ub2RlX21vZHVsZXMvYmFndWV0dGVib3guanMvc3JjL2JhZ3VldHRlQm94LnNjc3MiLCJ3ZWJwYWNrOi8vc3lkLWQ5Ly4vbm9kZV9tb2R1bGVzL25vcm1hbGl6ZS5zY3NzL25vcm1hbGl6ZS5zY3NzIiwid2VicGFjazovL3N5ZC1kOS8uL25vZGVfbW9kdWxlcy9yZWZsZXgtZ3JpZC9zY3NzL2luY2x1ZGVzL192YXJpYWJsZXMuc2NzcyIsIndlYnBhY2s6Ly9zeWQtZDkvLi9ub2RlX21vZHVsZXMvcmVmbGV4LWdyaWQvc2Nzcy9pbmNsdWRlcy9fZ3JpZC5zY3NzIiwid2VicGFjazovL3N5ZC1kOS8uL25vZGVfbW9kdWxlcy9yZWZsZXgtZ3JpZC9zY3NzL2luY2x1ZGVzL19taXhpbnMuc2NzcyIsIndlYnBhY2s6Ly9zeWQtZDkvLi9ub2RlX21vZHVsZXMvcmVmbGV4LWdyaWQvc2Nzcy9pbmNsdWRlcy9faGVscGVycy5zY3NzIiwid2VicGFjazovL3N5ZC1kOS8uL3dlYi90aGVtZXMvcGlwcGlwL2Fzc2V0cy9zYXNzL2NvbmZpZy9fZm9udHMuc2NzcyIsIndlYnBhY2s6Ly9zeWQtZDkvLi93ZWIvdGhlbWVzL3BpcHBpcC9hc3NldHMvc2Fzcy9jb25maWcvX3ZhcnMuc2NzcyIsIndlYnBhY2s6Ly9zeWQtZDkvLi93ZWIvdGhlbWVzL3BpcHBpcC9hc3NldHMvc2Fzcy9oZWxwZXJzL19mb2N1cy12aXNpYmxlLnNjc3MiLCJ3ZWJwYWNrOi8vc3lkLWQ5Ly4vd2ViL3RoZW1lcy9waXBwaXAvYXNzZXRzL3Nhc3MvaGVscGVycy9fZm9udC1zbW9vdGhpbmcuc2NzcyIsIndlYnBhY2s6Ly9zeWQtZDkvLi93ZWIvdGhlbWVzL3BpcHBpcC9hc3NldHMvc2Fzcy9oZWxwZXJzL19taXhpbnMuc2NzcyIsIndlYnBhY2s6Ly9zeWQtZDkvLi93ZWIvdGhlbWVzL3BpcHBpcC9hc3NldHMvc2Fzcy9oZWxwZXJzL190YWJsZS5zY3NzIiwid2VicGFjazovL3N5ZC1kOS8uL3dlYi90aGVtZXMvcGlwcGlwL2Fzc2V0cy9zYXNzL2hlbHBlcnMvX2hlbHBlcnMuc2NzcyIsIndlYnBhY2s6Ly9zeWQtZDkvLi9ub2RlX21vZHVsZXMvaW5jbHVkZS1tZWRpYS9kaXN0L19pbmNsdWRlLW1lZGlhLnNjc3MiLCJ3ZWJwYWNrOi8vc3lkLWQ5Ly4vd2ViL3RoZW1lcy9waXBwaXAvYXNzZXRzL3Nhc3MvYmFzZS9fZGVmYXVsdHMuc2NzcyIsIndlYnBhY2s6Ly9zeWQtZDkvLi93ZWIvdGhlbWVzL3BpcHBpcC9hc3NldHMvc2Fzcy9iYXNlL190eXBvZ3JhcGh5LnNjc3MiLCJ3ZWJwYWNrOi8vc3lkLWQ5Ly4vd2ViL3RoZW1lcy9waXBwaXAvYXNzZXRzL3Nhc3MvYmFzZS9fZHJ1cGFsOC5zY3NzIiwid2VicGFjazovL3N5ZC1kOS8uL3dlYi90aGVtZXMvcGlwcGlwL2Fzc2V0cy9zYXNzL2Jhc2UvX21haW4uc2NzcyIsIndlYnBhY2s6Ly9zeWQtZDkvLi93ZWIvdGhlbWVzL3BpcHBpcC9hc3NldHMvc2Fzcy9iYXNlL19hbmltYXRpb25zLnNjc3MiLCJ3ZWJwYWNrOi8vc3lkLWQ5Ly4vd2ViL3RoZW1lcy9waXBwaXAvYXNzZXRzL3Nhc3MvYXRvbXMvX2dyaWQuc2NzcyIsIndlYnBhY2s6Ly9zeWQtZDkvLi93ZWIvdGhlbWVzL3BpcHBpcC9hc3NldHMvc2Fzcy9hdG9tcy9fbmF2LXRvZ2dsZS5zY3NzIiwid2VicGFjazovL3N5ZC1kOS8uL3dlYi90aGVtZXMvcGlwcGlwL2Fzc2V0cy9zYXNzL2F0b21zL19idXR0b25zLnNjc3MiLCJ3ZWJwYWNrOi8vc3lkLWQ5Ly4vd2ViL3RoZW1lcy9waXBwaXAvYXNzZXRzL3Nhc3MvYXRvbXMvX2ltYWdlLWNyZWRpdC5zY3NzIiwid2VicGFjazovL3N5ZC1kOS8uL3dlYi90aGVtZXMvcGlwcGlwL2Fzc2V0cy9zYXNzL2F0b21zL19icmVhZGNydW1icy5zY3NzIiwid2VicGFjazovL3N5ZC1kOS8uL3dlYi90aGVtZXMvcGlwcGlwL2Fzc2V0cy9zYXNzL2F0b21zL19zZWFyY2gtYnV0dG9uLnNjc3MiLCJ3ZWJwYWNrOi8vc3lkLWQ5Ly4vd2ViL3RoZW1lcy9waXBwaXAvYXNzZXRzL3Nhc3MvbW9sZWN1bGVzL19lbW1zZy5zY3NzIiwid2VicGFjazovL3N5ZC1kOS8uL3dlYi90aGVtZXMvcGlwcGlwL2Fzc2V0cy9zYXNzL21vbGVjdWxlcy9fZW50aXR5LnNjc3MiLCJ3ZWJwYWNrOi8vc3lkLWQ5Ly4vd2ViL3RoZW1lcy9waXBwaXAvYXNzZXRzL3Nhc3MvbW9sZWN1bGVzL2VudGl0aWVzL19ib2R5LnNjc3MiLCJ3ZWJwYWNrOi8vc3lkLWQ5Ly4vd2ViL3RoZW1lcy9waXBwaXAvYXNzZXRzL3Nhc3MvbW9sZWN1bGVzL2VudGl0aWVzL19pbWFnZS5zY3NzIiwid2VicGFjazovL3N5ZC1kOS8uL3dlYi90aGVtZXMvcGlwcGlwL2Fzc2V0cy9zYXNzL21vbGVjdWxlcy9lbnRpdGllcy9fdmlldy5zY3NzIiwid2VicGFjazovL3N5ZC1kOS8uL3dlYi90aGVtZXMvcGlwcGlwL2Fzc2V0cy9zYXNzL21vbGVjdWxlcy9lbnRpdGllcy9fcXVvdGUuc2NzcyIsIndlYnBhY2s6Ly9zeWQtZDkvLi93ZWIvdGhlbWVzL3BpcHBpcC9hc3NldHMvc2Fzcy9tb2xlY3VsZXMvZW50aXRpZXMvX2FjY29yZGlvbi5zY3NzIiwid2VicGFjazovL3N5ZC1kOS8uL3dlYi90aGVtZXMvcGlwcGlwL2Fzc2V0cy9zYXNzL21vbGVjdWxlcy9lbnRpdGllcy9fZ2FsbGVyeS5zY3NzIiwid2VicGFjazovL3N5ZC1kOS8uL3dlYi90aGVtZXMvcGlwcGlwL2Fzc2V0cy9zYXNzL21vbGVjdWxlcy9lbnRpdGllcy9faW1hZ2UtdGV4dC5zY3NzIiwid2VicGFjazovL3N5ZC1kOS8uL3dlYi90aGVtZXMvcGlwcGlwL2Fzc2V0cy9zYXNzL21vbGVjdWxlcy9lbnRpdGllcy9fZG93bmxvYWRzLnNjc3MiLCJ3ZWJwYWNrOi8vc3lkLWQ5Ly4vd2ViL3RoZW1lcy9waXBwaXAvYXNzZXRzL3Nhc3MvbW9sZWN1bGVzL2VudGl0aWVzL19lbWJlZC5zY3NzIiwid2VicGFjazovL3N5ZC1kOS8uL3dlYi90aGVtZXMvcGlwcGlwL2Fzc2V0cy9zYXNzL21vbGVjdWxlcy9lbnRpdGllcy9fc2lnbnBvc3RzLnNjc3MiLCJ3ZWJwYWNrOi8vc3lkLWQ5Ly4vd2ViL3RoZW1lcy9waXBwaXAvYXNzZXRzL3Nhc3MvbW9sZWN1bGVzL2VudGl0aWVzL19leHRyYXMuc2NzcyIsIndlYnBhY2s6Ly9zeWQtZDkvLi93ZWIvdGhlbWVzL3BpcHBpcC9hc3NldHMvc2Fzcy9tb2xlY3VsZXMvZW50aXRpZXMvX2ZlYXR1cmVkLWNvbnRlbnQuc2NzcyIsIndlYnBhY2s6Ly9zeWQtZDkvLi93ZWIvdGhlbWVzL3BpcHBpcC9hc3NldHMvc2Fzcy9tb2xlY3VsZXMvZW50aXRpZXMvX2ZlYXR1cmVkLWNvbnRlbnQtdjIuc2NzcyIsIndlYnBhY2s6Ly9zeWQtZDkvLi93ZWIvdGhlbWVzL3BpcHBpcC9hc3NldHMvc2Fzcy9tb2xlY3VsZXMvZW50aXRpZXMvX2ltYWdlLWFuZC10ZXh0LXRhYi5zY3NzIiwid2VicGFjazovL3N5ZC1kOS8uL3dlYi90aGVtZXMvcGlwcGlwL2Fzc2V0cy9zYXNzL21vbGVjdWxlcy9lbnRpdGllcy9fY2hpbGQtcGFnZS1zaWducG9zdHMuc2NzcyIsIndlYnBhY2s6Ly9zeWQtZDkvLi93ZWIvdGhlbWVzL3BpcHBpcC9hc3NldHMvc2Fzcy9tb2xlY3VsZXMvZW50aXRpZXMvX2xpbmtlZC10ZXh0LnNjc3MiLCJ3ZWJwYWNrOi8vc3lkLWQ5Ly4vd2ViL3RoZW1lcy9waXBwaXAvYXNzZXRzL3Nhc3MvbW9sZWN1bGVzL19mb3Jtcy5zY3NzIiwid2VicGFjazovL3N5ZC1kOS8uL3dlYi90aGVtZXMvcGlwcGlwL2Fzc2V0cy9zYXNzL21vbGVjdWxlcy9fbmF2LnNjc3MiLCJ3ZWJwYWNrOi8vc3lkLWQ5Ly4vd2ViL3RoZW1lcy9waXBwaXAvYXNzZXRzL3Nhc3MvbW9sZWN1bGVzL19iYW5uZXIuc2NzcyIsIndlYnBhY2s6Ly9zeWQtZDkvLi93ZWIvdGhlbWVzL3BpcHBpcC9hc3NldHMvc2Fzcy9tb2xlY3VsZXMvX2Jhbm5lci1zbGlkZXIuc2NzcyIsIndlYnBhY2s6Ly9zeWQtZDkvLi93ZWIvdGhlbWVzL3BpcHBpcC9hc3NldHMvc2Fzcy9tb2xlY3VsZXMvX2xpbmtlZC1sb2dvcy5zY3NzIiwid2VicGFjazovL3N5ZC1kOS8uL3dlYi90aGVtZXMvcGlwcGlwL2Fzc2V0cy9zYXNzL21vbGVjdWxlcy9fc29jaWFsLWxpbmtzLnNjc3MiLCJ3ZWJwYWNrOi8vc3lkLWQ5Ly4vd2ViL3RoZW1lcy9waXBwaXAvYXNzZXRzL3Nhc3MvbW9sZWN1bGVzL19kYXRlcGlja2VyLnNjc3MiLCJ3ZWJwYWNrOi8vc3lkLWQ5Ly4vd2ViL3RoZW1lcy9waXBwaXAvYXNzZXRzL3Nhc3MvbW9sZWN1bGVzL19wb3B1cC5zY3NzIiwid2VicGFjazovL3N5ZC1kOS8uL3dlYi90aGVtZXMvcGlwcGlwL2Fzc2V0cy9zYXNzL21vbGVjdWxlcy9fYXJjaGl2ZS5zY3NzIiwid2VicGFjazovL3N5ZC1kOS8uL3dlYi90aGVtZXMvcGlwcGlwL2Fzc2V0cy9zYXNzL21vbGVjdWxlcy9fcGhvdG9zd2lwZS5zY3NzIiwid2VicGFjazovL3N5ZC1kOS8uL3dlYi90aGVtZXMvcGlwcGlwL2Fzc2V0cy9zYXNzL29yZ2FuaXNtcy9faGVhZGVyLnNjc3MiLCJ3ZWJwYWNrOi8vc3lkLWQ5Ly4vd2ViL3RoZW1lcy9waXBwaXAvYXNzZXRzL3Nhc3Mvb3JnYW5pc21zL19mb290ZXIuc2NzcyIsIndlYnBhY2s6Ly9zeWQtZDkvLi93ZWIvdGhlbWVzL3BpcHBpcC9hc3NldHMvc2Fzcy9vcmdhbmlzbXMvX3ZpZXdzLnNjc3MiLCJ3ZWJwYWNrOi8vc3lkLWQ5Ly4vd2ViL3RoZW1lcy9waXBwaXAvYXNzZXRzL3Nhc3Mvb3JnYW5pc21zL19zZWFyY2gtcmVzdWx0cy5zY3NzIiwid2VicGFjazovL3N5ZC1kOS8uL3dlYi90aGVtZXMvcGlwcGlwL2Fzc2V0cy9zYXNzL29yZ2FuaXNtcy9fc2lkZWJhci5zY3NzIiwid2VicGFjazovL3N5ZC1kOS8uL3dlYi90aGVtZXMvcGlwcGlwL2Fzc2V0cy9zYXNzL29yZ2FuaXNtcy9fdGVhc2VyLnNjc3MiLCJ3ZWJwYWNrOi8vc3lkLWQ5Ly4vd2ViL3RoZW1lcy9waXBwaXAvYXNzZXRzL3Nhc3Mvb3JnYW5pc21zL19zZWFyY2guc2NzcyIsIndlYnBhY2s6Ly9zeWQtZDkvLi93ZWIvdGhlbWVzL3BpcHBpcC9hc3NldHMvc2Fzcy9vcmdhbmlzbXMvX3doYXRzLW9uLnNjc3MiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7Ozs7Ozs7RUFVRTs7QUFFRixlQUFlO0FBQ2Y7RUFDRSwyQkFBMkI7RUFDM0IsNnJFQUE2ckU7RUFDN3JFLGdCQUFnQjtFQUNoQixrQkFBa0I7QUFDcEI7QUFDQSxhQUFhO0FBQ2I7RUFDRSw2QkFBNkI7RUFDN0I7OztHQUdDO0FBQ0g7QUFDQTs7RUFFRSxpQkFBaUI7RUFDakIsa0JBQWtCO0VBQ2xCLGtCQUFrQjtFQUNsQixnQkFBZ0I7RUFDaEIsZ0JBQWdCO0VBQ2hCLFVBQVU7RUFDViw2QkFBNkI7RUFDN0IsVUFBVTtFQUNWLGNBQWM7QUFDaEI7QUFDQTtFQUNFLHNCQUFzQjtBQUN4QjtBQUNBO0VBQ0Usa0JBQWtCO0VBQ2xCLFdBQVc7RUFDWCxZQUFZO0VBQ1osVUFBVTtFQUNWLGFBQWE7RUFDYiw4QkFBOEI7RUFDOUIscUZBQXFGO0VBQ3JGLHVCQUF1QjtBQUN6QjtBQUNBOztFQUVFLGlDQUFpQztBQUNuQztBQUNBO0VBQ0UsbUJBQW1CO0FBQ3JCO0FBQ0E7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b0I7RUNoQmhCO0VBQ0E7RUFDQTtFRGdCSjtFQUNBO0VBQ0E7RUFDQSxhRDlCa0I7RUM2Q2Q7R0FDQTtFQUNBO0FKMmxCUjtBSTFtQkk7RUNzT0EsOEJEcE93QjtFQ3FPeEIsMkJEck93QjtFQ3NPeEIsc0JEdE93QjtFQ3pCcEI7RUFDQTtFQUNBO0FMdW9CUjtBSTNtQkk7RUM0RUk7RUFHSjtFQUNBO0VEOUVJO0FKK21CUjs7QUt2ckJRO0VBQ0k7R0FFSTtBTHlyQmhCOztBSzVyQlE7RUFDSTtHQUVJO0FMOHJCaEI7O0FLanNCUTtFQUNJO0dBRUk7QUxtc0JoQjs7QUt0c0JRO0VBQ0k7R0FFSTtBTHdzQmhCOztBSzNzQlE7RUFDSTtHQUVJO0FMNnNCaEI7O0FLaHRCUTtFQUNJO0dBRUk7QUxrdEJoQjs7QUtydEJRO0VBQ0k7R0FFSTtBTHV0QmhCOztBSzF0QlE7RUFDSTtHQUVJO0FMNHRCaEI7O0FLL3RCUTtFQUNJO0dBRUk7QUxpdUJoQjs7QUtwdUJRO0VBQ0k7R0FFSTtBTHN1QmhCOztBS3p1QlE7RUFDSTtHQUVJO0FMMnVCaEI7O0FLOXVCUTtFQUNJO0dBRUk7QUxndkJoQjs7QUkzcEJBO0VDeEZRO0lBQ0k7S0FFSTtFTHN2QmQ7O0VLenZCTTtJQUNJO0tBRUk7RUwydkJkOztFSzl2Qk07SUFDSTtLQUVJO0VMZ3dCZDs7RUtud0JNO0lBQ0k7S0FFSTtFTHF3QmQ7O0VLeHdCTTtJQUNJO0tBRUk7RUwwd0JkOztFSzd3Qk07SUFDSTtLQUVJO0VMK3dCZDs7RUtseEJNO0lBQ0k7S0FFSTtFTG94QmQ7O0VLdnhCTTtJQUNJO0tBRUk7RUx5eEJkOztFSzV4Qk07SUFDSTtLQUVJO0VMOHhCZDs7RUtqeUJNO0lBQ0k7S0FFSTtFTG15QmQ7O0VLdHlCTTtJQUNJO0tBRUk7RUx3eUJkOztFSzN5Qk07SUFDSTtLQUVJO0VMNnlCZDtBQUNGO0FJcnRCQTtFQzVGUTtJQUNJO0tBRUk7RUxtekJkOztFS3R6Qk07SUFDSTtLQUVJO0VMd3pCZDs7RUszekJNO0lBQ0k7S0FFSTtFTDZ6QmQ7O0VLaDBCTTtJQUNJO0tBRUk7RUxrMEJkOztFS3IwQk07SUFDSTtLQUVJO0VMdTBCZDs7RUsxMEJNO0lBQ0k7S0FFSTtFTDQwQmQ7O0VLLzBCTTtJQUNJO0tBRUk7RUxpMUJkOztFS3AxQk07SUFDSTtLQUVJO0VMczFCZDs7RUt6MUJNO0lBQ0k7S0FFSTtFTDIxQmQ7O0VLOTFCTTtJQUNJO0tBRUk7RUxnMkJkOztFS24yQk07SUFDSTtLQUVJO0VMcTJCZDs7RUt4MkJNO0lBQ0k7S0FFSTtFTDAyQmQ7QUFDRjtBSTl3QkE7RUNoR1E7SUFDSTtLQUVJO0VMZzNCZDs7RUtuM0JNO0lBQ0k7S0FFSTtFTHEzQmQ7O0VLeDNCTTtJQUNJO0tBRUk7RUwwM0JkOztFSzczQk07SUFDSTtLQUVJO0VMKzNCZDs7RUtsNEJNO0lBQ0k7S0FFSTtFTG80QmQ7O0VLdjRCTTtJQUNJO0tBRUk7RUx5NEJkOztFSzU0Qk07SUFDSTtLQUVJO0VMODRCZDs7RUtqNUJNO0lBQ0k7S0FFSTtFTG01QmQ7O0VLdDVCTTtJQUNJO0tBRUk7RUx3NUJkOztFSzM1Qk07SUFDSTtLQUVJO0VMNjVCZDs7RUtoNkJNO0lBQ0k7S0FFSTtFTGs2QmQ7O0VLcjZCTTtJQUNJO0tBRUk7RUx1NkJkO0FBQ0Y7QUl2MEJBO0VDcEdRO0lBQ0k7S0FFSTtFTDY2QmQ7O0VLaDdCTTtJQUNJO0tBRUk7RUxrN0JkOztFS3I3Qk07SUFDSTtLQUVJO0VMdTdCZDs7RUsxN0JNO0lBQ0k7S0FFSTtFTDQ3QmQ7O0VLLzdCTTtJQUNJO0tBRUk7RUxpOEJkOztFS3A4Qk07SUFDSTtLQUVJO0VMczhCZDs7RUt6OEJNO0lBQ0k7S0FFSTtFTDI4QmQ7O0VLOThCTTtJQUNJO0tBRUk7RUxnOUJkOztFS245Qk07SUFDSTtLQUVJO0VMcTlCZDs7RUt4OUJNO0lBQ0k7S0FFSTtFTDA5QmQ7O0VLNzlCTTtJQUNJO0tBRUk7RUwrOUJkOztFS2wrQk07SUFDSTtLQUVJO0VMbytCZDtBQUNGO0FJaDRCQTtFQ3hHUTtJQUNJO0tBRUk7RUwwK0JkOztFSzcrQk07SUFDSTtLQUVJO0VMKytCZDs7RUtsL0JNO0lB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LGNBTFM7S0FPTDtFTDRqRE47QUFDRjtBSTMrQ0E7RUNsRVE7SUFsQkosMkJBRmE7S0FJVDtFTGtrRE47O0VLbGpETTtJQWxCSiwyQkFGYTtLQUlUO0VMdWtETjs7RUt2akRNO0lBbEJKLGdCQUZhO0tBSVQ7RUw0a0ROOztFSzVqRE07SUFsQkosMkJBRmE7S0FJVDtFTGlsRE47O0VLamtETTtJQWxCSiwyQkFGYTtLQUlUO0VMc2xETjs7RUt0a0RNO0lBbEJKLGdCQUZhO0tBSVQ7RUwybEROOztFSzNrRE07SUFsQkosMkJBRmE7S0FJVDtFTGdtRE47O0VLaGxETTtJQWxCSiwyQkFGYTtLQUlUO0VMcW1ETjs7RUtybERNO0lBbEJKLGdCQUZhO0tBSVQ7RUwwbUROOztFSzFsRE07SUFsQkosMkJBRmE7S0FJVDtFTCttRE47O0VLL2xETTtJQWxCSiwwQkFGYTtLQUlUO0VMb25ETjs7RUtwbURNO0lBbEJKLGNBTFM7S0FPTDtFTHluRE47QUFDRjtBSXBpREE7RUN0RVE7SUFsQkosMkJBRmE7S0FJVDtFTCtuRE47O0VLL21ETTtJQWxCSiwyQkFGYTtLQUlUO0VMb29ETjs7RUtwbkRNO0lBbEJKLGdCQUZhO0tBSVQ7RUx5b0ROOztFS3puRE07SUFsQkosMkJBRmE7S0FJVDtFTDhvRE47O0VLOW5ETTtJQWxCSiwyQkFGYTtLQUlUO0VMbXBETjs7RUtub0RNO0lBbEJKLGdCQUZhO0tBSVQ7RUx3cEROOztFS3hvRE07SUFsQkosMkJBRmE7S0FJVDtFTDZwRE47O0VLN29ETTtJQWxCSiwyQkFGYTtLQUlUO0VMa3FETjs7RUtscERNO0lBbEJKLGdCQUZhO0tBSVQ7RUx1cUROOztFS3ZwRE07SUFsQkosMkJBRmE7S0FJVDtFTDRxRE47O0VLNXBETTtJQWxCSiwwQkFGYTtLQUlUO0VMaXJETjs7RUtqcURNO0lBbEJKLGNBTFM7S0FPTDtFTHNyRE47QUFDRjtBSTdsREE7RUMxRVE7SUFsQkosMkJBRmE7S0FJVDtFTDRyRE47O0VLNXFETTtJQWxCSiwyQkFGYTtLQUlUO0VMaXNETjs7RUtqckRNO0lBbEJKLGdCQUZhO0tBSVQ7RUxzc0ROOztFS3RyRE07SUFsQkosMkJBRmE7S0FJVDtFTDJzRE47O0VLM3JETTtJQWxCSiwyQkFGYTtLQUlUO0VMZ3RETjs7RUtoc0RNO0lBbEJKLGdCQUZhO0tBSVQ7RUxxdEROOztFS3JzRE07SUFsQkosMkJBRmE7S0FJVDtFTDB0RE47O0VLMXNETTtJQWxCSiwyQkFGYTtLQUlUO0VMK3RETjs7RUsvc0RNO0lBbEJKLGdCQUZhO0tBSVQ7RUxvdUROOztFS3B0RE07SUFsQkosMkJBRmE7S0FJVDtFTHl1RE47O0VLenRETTtJQWxCSiwwQkFGYTtLQUlUO0VMOHVETjs7RUs5dERNO0lBbEJKLGNBTFM7S0FPTDtFTG12RE47QUFDRjtBSXRwREE7RUM5RVE7SUFsQkosMkJBRmE7S0FJVDtFTHl2RE47O0VLenVETTtJQWxCSiwyQkFGYTtLQUlUO0VMOHZETjs7RUs5dURNO0lBbEJKLGdCQUZhO0tBSVQ7RUxtd0ROOztFS252RE07SUFsQkosMkJBRmE7S0FJVDtFTHd3RE47O0VLeHZETTtJQWxCSiwyQkFGYTtLQUlUO0VMNndETjs7RUs3dkRNO0lBbEJKLGdCQUZhO0tBSVQ7RUxreEROOztFS2x3RE07SUFsQkosMkJBRmE7S0FJVDtFTHV4RE47O0VLdndETTtJQWxCSiwyQkFGYTtLQUlUO0VMNHhETjs7RUs1d0RNO0lBbEJKLGdCQUZhO0tBSVQ7RUxpeUROOztFS2p4RE07SUFsQkosMkJBRmE7S0FJVDtFTHN5RE47O0VLdHhETTtJQWxCSiwwQkFGYTtLQUlUO0VMMnlETjs7RUszeERNO0lBbEJKLGNBTFM7S0FPTDtFTGd6RE47QUFDRjtBTTE1REE7RUR3TEksbUJDdkxtQjtFRHdMbkIsdUJDeExtQjtFRHlMbkIsZUN6TG1CO0FOODVEdkI7O0FNMzVEQTtFRG9MSSxxQkNuTG1CO0VEb0xuQix5QkNwTG1CO0VEcUxuQixpQkNyTG1CO0FOZzZEdkI7QU0zNURJO0VEMkpBLG9CQzFKeUI7RUQySnpCLHNCQzNKeUI7RUQ0SnpCLGNDNUp5QjtBTis1RDdCOztBTTM1REE7RUR5S0ksMkJDeEttQjtFRHlLbkIsK0JDekttQjtFRDBLbkIsdUJDMUttQjtBTmc2RHZCOztBTXo1REE7RUR1S0ksdUJDdEt3QjtFRHVLeEIsMkJDdkt3QjtFRHdLeEIsbUJDeEt3QjtBTjg1RDVCOztBTTM1REE7RURtS0ksK0JDbEt3QjtFRG1LeEIsbUNDbkt3QjtFRG9LeEIsMkJDcEt3QjtBTmc2RDVCOztBTTc1REE7RUQrSkksMEJDOUp3QjtFRCtKeEIsOEJDL0p3QjtFRGdLeEIsc0JDaEt3QjtBTms2RDVCOztBTS81REE7RUQySkksa0NDMUp3QjtFRDJKeEIsc0NDM0p3QjtFRDRKeEIsOEJDNUp3QjtBTm82RDVCOztBTTc1REE7RURvTFE7RUF0QkosK0JDN0pxQjtFRDhKckIsdUJDOUpxQjtBTms2RHpCOztBTS81REE7RURrTFE7RUF4QkosNkJDekpxQjtFRDBKckIscUJDMUpxQjtBTm82RHpCO0FNaDZEUTtFQUNJO0FOazZEWjs7QU03NURBO0VEeUtRLHNCQ3hLaUI7RUQ4SXJCLDJCQzlJcUI7RUQrSXJCLG1CQy9JcUI7QU5rNkR6QjtBTTk1RFE7RUFDSTtBTmc2RFo7O0FNMzVEQTtFRDhKUSx3QkM3SmlCO0VEbUlyQiw2QkNuSXFCO0VEb0lyQixxQkNwSXFCO0FOZzZEekI7O0FNejVEQTtFRHNLUTtFQTlCSixpQ0N2SXVCO0VEd0l2Qix5QkN4SXVCO0FOODVEM0I7O0FNMzVEQTtFRG9LUTtFQWhDSiwrQkNuSXVCO0VEb0l2Qix1QkNwSXVCO0FOZzZEM0I7QU03NURJO0VBQ0k7QU4rNURSOztBTTM1REE7RURpS1EsMEJDaEttQjtFRDBIdkIsNkJDMUh1QjtFRDJIdkIscUJDM0h1QjtBTmc2RDNCOztBTTc1REE7RUR5SlE7RUFsQ0osb0NDdEh1QjtFRHVIdkIsNEJDdkh1QjtBTms2RDNCOztBTS81REE7RUR1SlE7RUFwQ0osbUNDbEh1QjtFRG1IdkIsMkJDbkh1QjtBTm82RDNCOztBTTc1REE7RURtSVEsNEJDbElnQjtFRG9HcEIsMkJDcEdvQjtFRHFHcEIsbUJDckdvQjtBTms2RHhCOztBTS81REE7RUQySFE7RUExQkosOEJDaEdvQjtFRGlHcEIsc0JDakdvQjtBTm82RHhCOztBTWo2REE7RUR5SFE7RUE1QkosNEJDNUZvQjtFRDZGcEIsb0JDN0ZvQjtFQUNwQjtBTnM2REo7O0FNbjZEQTtFRHNIUSwyQkNySGdCO0VEdUZwQiwwQkN2Rm9CO0VEd0ZwQixrQkN4Rm9CO0VBQ3BCO0FOdzZESjs7QU1yNkRBO0VEaUhRLDZCQ2hIZ0I7RURrRnBCLDRCQ2xGb0I7RURtRnBCLG9CQ25Gb0I7RUFDcEI7QU4wNkRKOztBTW42REE7RURtSUk7RUFDQTtFQUNBO0FMb3lESjtBTXI2RFE7RUFDSTtBTnU2RFo7O0FNbDZEQTtFRCtISTtFQUNBO0VBQ0E7QUx1eURKO0FNcDZEUTtFQUNJO0VBQ0E7RUFDQTtBTnM2RFo7QU1wNkRZO0VEMUZSO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBTGlnRUo7O0FNcjZEQTtFRHFISTtFQUNBO0VBQ0E7QUxvekRKO0FNdjZEUTtFQUNJO0VBQ0E7RUFDQTtBTnk2RFo7QU12NkRZO0VEMUdSO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBTG9oRUo7O0FNeDZEQTtFRDJHSTtFQUNBO0VBQ0E7QUxpMERKO0FNMTZEUTtFQUNJO0VBQ0E7RUFDQTtBTjQ2RFo7QU0xNkRZO0VEMUhSO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBTHVpRUo7O0FNMzZEQTtFRGlHSTtFQUNBO0VBQ0E7QUw4MERKO0FNNzZEUTtFQUNJO0VBQ0E7RUFDQTtBTis2RFo7QU03NkRZO0VEMUlSO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBTDBqRUo7O0FNeDZESTtFQUNJO0FOMjZEUjs7QU1sNkRBO0VEckZJO0VBQ0E7RUFDQTtFQWtEQSwwQkNtQ3dCO0VEbEN4Qiw4QkNrQ3dCO0VEakN4QixzQkNpQ3dCO0FOeTZENUI7QU12NkRJO0VEckNBLHVCQ3NDNEI7RURyQzVCLDJCQ3FDNEI7RURwQzVCLG1CQ29DNEI7QU4yNkRoQzs7QU10NkRBO0VBQ0k7QU55NkRKOztBTXI2REE7RUFDSTtBTnc2REo7O0FNcDZEQTtFQUNJO0FOdTZESjs7QU1oNkRBO0VBQ0k7RURyR0k7RUFHSjtFQUNBO0VDbUdBO0VBQ0E7RUFDQTtHQUVJO0FObzZEUjs7QU1oNkRBO0VBQ0k7RUFDQTtFQUNBO0FObTZESjtBTWo2REk7RUFDSTtBTm02RFI7O0FLNzNEWTtFQURKO0lBRVE7RUxpNERkO0FBQ0Y7O0FLNzNEWTtFQURKO0lBRVE7RUxpNERkO0FBQ0Y7O0FLNzNEWTtFQURKO0lBRVE7RUxpNERkO0FBQ0Y7O0FLNzNEWTtFQURKO0lBRVE7RUxpNERkO0FBQ0Y7O0FLNzNEWTtFQURKO0lBRVE7RUxpNERkO0FBQ0Y7O0FLNzNEWTtFQURKO0lBRVE7RUxpNERkO0FBQ0Y7O0FBM3NFQTs7RUFBQTtBT2pCQTs7Ozs7RUFBQTtBQU9BOztJQUFBO0FBS0E7O0lBQUE7QUFLQTs7SUFBQTtBQUdBO0VBQ0U7RUFDQTtFQUVBO0VBQ0E7RUFDQTtBUDR0RUY7QU96dEVBO0VBQ0U7RUFDQTtFQUVBO0VBQ0E7RUFDQTtBUDB0RUY7QU92dEVBO0VBQ0U7RUFDQTtFQUVBO0VBQ0E7RUFDQTtBUHd0RUY7QU9ydEVBO0VBQ0U7RUFDQTtFQUVBO0VBQ0E7RUFDQTtBUHN0RUY7QVEzd0VBOzs7OztFQUFBO0FBT0E7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUVBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUVBO0VBQ0E7RUFDQTtFQUVBO0VBQ0E7RUFDQTtFQUNBO0VBRUE7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0FSd3dFRjs7QVFyd0VBOztFQUFBO0FScEJBOztFQUFBO0FTdkJBOzs7OztFQUFBO0FBT0E7Ozs7RUFBQTtBQ1BBOzs7OztFQUFBO0FBT0E7Ozs7OztFQUFBO0FDUEE7Ozs7O0VBQUE7QUNBQTs7Ozs7RUFBQTtBQU9BOzs7Ozs7O0VBQUE7QUNMQTtFQUNFO0FibTJFRjs7QWFoMkVBO0VBQ0U7QWJtMkVGOztBYWgyRUE7RUFDRTtBYm0yRUY7O0FhajJFQTtFQUNFO0FibzJFRjs7QWFsMkVBO0VBQ0U7QWJxMkVGOztBYWwyRUE7RUFDRTtBYnEyRUY7O0FhbDJFQTtFQUNFO0FicTJFRjs7QWFsMkVBO0VBQ0U7QWJxMkVGOztBYWwyRUE7RUFDRTtBYnEyRUY7O0FhbDJFQTtFQUNFO0FicTJFRjs7QWFsMkVBO0VBQ0U7QWJxMkVGOztBYWwyRUE7RUFDRTtBYnEyRUY7O0FhbDJFQTtFQUNFO0FicTJFRjs7QWFsMkVBO0VBQ0U7RUFDQTtFQUNBO0FicTJFRjs7QWFsMkVBO0VBQ0U7QWJxMkVGOztBYWwyRUE7RUFDRTtBYnEyRUY7O0FhbDJFQTtFQUNFO0FicTJFRjs7QWFsMkVBO0VBQ0U7RUFDQTtPQUFBO0FicTJFRjs7QWFqMkVBO0VBQ0U7SUFDRTtFYm8yRUY7QUFDRjtBYWoyRUE7RUFDRTtJQUNFO0VibTJFRjtBQUNGO0FhaDJFQTtFQUNFO0lBQ0U7RWJrMkVGO0FBQ0Y7QWEvMUVBO0VBQ0U7SUFDRTtFYmkyRUY7QUFDRjtBYTkxRUE7RUFDRTtJQUNFO0ViZzJFRjtBQUNGO0FhNzFFQTtFQUNFO0lBQ0U7RWIrMUVGO0FBQ0Y7QWE1MUVBO0VBQ0U7SUFDRTtFYjgxRUY7QUFDRjtBYTMxRUE7RUFDRTtJQUNFO0ViNjFFRjtBQUNGO0FhMTFFQTtFQUNFO0lBQ0U7RWI0MUVGO0FBQ0Y7QWF6MUVBO0VBQ0U7SUFDRTtFYjIxRUY7QUFDRjtBYXgxRUE7RUFDRTtJQUNFO0ViMDFFRjtBQUNGO0FhdjFFQTtFQUNFO0lBQ0U7RWJ5MUVGO0FBQ0Y7QWF0MUVBO0VBQ0U7SUFDRTtFYncxRUY7QUFDRjtBYXIxRUE7RUFDRTtJQUNFO0VidTFFRjtBQUNGO0FhcDFFQTtFQUNFO0FiczFFRjtBYXIxRUU7RUFDRTtBYnUxRUo7O0FhbjFFQTtFQUNFO0FiczFFRjs7QWM3OERJO0VEdFlKO0lBRUk7RWJzMUVGO0FBQ0Y7O0FjbjlESTtFRGhZSjtJQUVJO0ViczFFRjtBQUNGOztBYW4xRUE7RUFDRTtBYnMxRUY7O0FhbjFFQTtFQUNFO0FiczFFRjs7QWFuMUVBO0VBQ0U7QWJzMUVGOztBYW4xRUE7O0VBRUU7RUFDQTtBYnMxRUY7QWMzK0RJO0VEOVdKOztJQUtJO0VieTFFRjtBQUNGOztBYXQxRUE7RUFDRTtBYnkxRUY7O0FhcjFFQTtFRjNMRTtFQUNBO0VFNExBO0VBQ0E7RUFDQTtBYnkxRUY7O0FhdDFFQTs7RUFFRTtBYnkxRUY7O0FhcjFFRTtFQUNFO0FidzFFSjs7QWFwMUVBO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7QWJ1MUVGO0FjN2dFSTtFRDlVSjtJQU9JO0VidzFFRjtBQUNGO0FjbGhFSTtFRDlVSjtJQVdJO0VieTFFRjtBQUNGO0FhdjFFRTtFRjNOQTtFQUNBO0VBS0E7RUFDQTtFQUNBLDRCRXFOa0I7RUFDaEI7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0FiNDFFSjtBY3BpRUk7RURoVUY7SUFZSTtFYjQxRUo7QUFDRjtBYTExRUk7RUFDRTtBYjQxRU47QWF6MUVJO0VBQ0U7QWIyMUVOO0FjL2lFSTtFRDdTQTtJQUlJO0ViNDFFTjtBQUNGO0FjcGpFSTtFRGhVRjtJQTRCSTtJQUNBO0ViNDFFSjtBQUNGO0FhejFFRTtFQUNFO0VBQ0E7RUFDQTtFQUNBO0FiMjFFSjs7QUFqbEZBOztFQUFBO0FlaENBOzs7OztFQUFBO0FBT0E7RUFDRTtBZnNuRkY7QWM3a0VJO0VDMWlCSjtJQUdJO0Vmd25GRjtFZXZuRkU7SUFDRTtFZnluRko7QUFDRjtBY3JsRUk7RUMxaUJKO0lBU0k7RWYwbkZGO0FBQ0Y7O0Fldm5GQTtFQUNFO0FmMG5GRjs7QWV2bkZBOztFSmZFO0VBQ0E7RUFDQTtBWDJvRkY7QVd6b0ZFOztFQUNFO0VBQ0E7RUFDQTtBWDRvRko7O0FlL25GQTtFQUNFO0VBQ0E7QWZrb0ZGO0FlaG9GRTtFQUNFO0Fma29GSjtBZWhvRkk7RUFDRTtJQUpKO01BS007SWZtb0ZKO0VBQ0Y7QUFDRjtBZWhvRkU7RUFDRTtBZmtvRko7O0FlOW5GQTtFQUNFO0FmaW9GRjs7QWU5bkZBO0VBQ0U7RUFDQTtBZmlvRkY7O0FlN25GQTs7O0VBR0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBZmdvRkY7QWU5bkZFOzs7RUFDRTtBZmtvRko7QWVob0ZFOzs7RUFDRTtBZm9vRko7QWVsb0ZFOzs7RUFDRTtBZnNvRko7QWVub0ZFOzs7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0FmdW9GSjs7QWV6bkZNOzs7Ozs7OztFQUNFO0VBQ0E7QWZtb0ZSOztBZXJuRlE7Ozs7O0VBQ0U7QWY0bkZWOztBZ0I3dUZBOzs7OztFQUFBO0FBT0E7O0VBQUE7QUEwQkE7O0VBQUE7QUFHQTs7Ozs7Ozs7Ozs7O0VBWUU7RUFDQTtFQUNBO0VBQ0E7QWhCd3RGRjs7QWdCcnRGQTs7RUFFRTtFQUNBO0FoQnd0RkY7O0FnQnJ0RkE7O0VBRUU7RUFDQTtBaEJ3dEZGOztBZ0JydEZBOztFQUVFO0VBQ0E7QWhCd3RGRjs7QWdCcnRGQTs7RUFFRTtFQUNBO0FoQnd0RkY7O0FnQnJ0RkE7O0VBRUU7RUFDQTtBaEJ3dEZGOztBZ0JydEZBOztFQUVFO0VBQ0E7QWhCd3RGRjs7QWdCcnRGQTs7RUFBQTtBQUdBO0VBQ0U7QWhCd3RGRjtBZ0J0dEZFO0VBQ0U7QWhCd3RGSjtBZ0JydEZFO0VBQ0U7QWhCdXRGSjs7QWdCbnRGQTs7RUFBQTtBQUdBOztFQUVFO0VBQ0E7RUFDQTtBaEJzdEZGOztBZ0JudEZBOztFQUFBO0FBR0E7RUFDRTtFQUNBO0VBQ0E7RUFDQTtBaEJzdEZGO0FnQnB0RkU7RUFFRTtBaEJxdEZKO0FnQmx0RkU7RUFDRTtBaEJvdEZKO0FTeDBGSTtFT3VIRTtBaEJvdEZOOztBZ0Ivc0ZBO0VBQ0U7RUFDQTtBaEJrdEZGOztBZ0Ivc0ZBO0VBQ0U7RUFDQTtBaEJrdEZGOztBZ0JwdEZBO0VBQ0U7RUFDQTtBaEJrdEZGOztBZ0Ivc0ZBOztFQUFBO0FBSUU7RUFDRTtBaEJpdEZKO0FTNTFGSTtFTzhJRTtBaEJpdEZOOztBZ0I1c0ZBOztFQUFBO0FBR0E7RUFDRTtBaEIrc0ZGOztBZ0I1c0ZBO0VBQ0U7QWhCK3NGRjs7QWdCNXNGQTtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QWhCK3NGRjs7QWdCNXNGQTtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBaEIrc0ZGOztBZ0I1c0ZBO0VBQ0U7QWhCK3NGRjs7QWdCNXNGQTtFQUNFO0VBQ0E7RUFDQTtBaEIrc0ZGOztBZ0I1c0ZBO0VBQ0U7QWhCK3NGRjs7QWlCdjVGQTs7Ozs7RUFBQTtBQVFBO0VOQ0U7RUFDQTtFQUNBO0VNREE7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBakIwNUZGO0FXMzVGRTtFQUNFO0VBQ0E7RUFDQTtBWDY1Rko7QWM1M0VJO0VHemlCSjtJQVNJO0VqQmc2RkY7QUFDRjtBaUI5NUZFO0VBQ0U7QWpCZzZGSjtBaUI5NUZJO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QWpCZzZGTjtBaUI5NUZNO0VBQ0U7RUFDQTtBakJnNkZSO0FpQjM1Rk07RUFDRTtFQUNBO0FqQjY1RlI7QWlCejVGSTtFQUNFO0VBQ0E7QWpCMjVGTjs7QWlCcjVGQTtFQUNFO0VBQUE7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0FqQnc1RkY7QWlCdDVGRTtFQUNFO0FqQnc1Rko7QWlCcjVGRTtFQUNFO0FqQnU1Rko7QWlCcDVGRTtFQUNFO0FqQnM1Rko7QWlCbjVGRTtFTmhFQTtFQUNBO0VBQ0E7RU1nRUU7RUFDQTtFQUNBO0FqQnU1Rko7QVd2OUZFO0VBQ0U7RUFDQTtFQUNBO0FYeTlGSjtBaUIxNUZJO0VBQ0U7RUFDQTtBakI0NUZOO0FpQjE1Rk07RUFDRTtBakI0NUZSOztBaUJ0NUZBO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0FqQnk1RkY7O0FpQnQ1RkE7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBakJ5NUZGOztBaUJ2NUZBOztFQUVFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0FqQjA1RkY7O0FpQnY1RkE7RUFDRTtBakIwNUZGOztBa0J4aEdBOzs7OztFQUFBO0FBT0E7O0VBQUE7QUFHQTs7RVJNSTtFQUNBO0VBQ0E7RVFMRjtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QWxCNGhHRjs7QWtCemhHQTs7O0VBR0U7QWxCNGhHRjs7QWtCeGhHQTtFQUNFO0VBQ0E7QWxCMmhHRjtBa0IxaEdFO0VBQ0U7RUFDQTtBbEI0aEdKOztBYzVnRkk7RUkzZ0JGO0lBQ0U7SUFDQTtJQUNBO0VsQjJoR0Y7QUFDRjtBbUJya0dBOzs7OztFQUFBO0FBT0E7RUFDRTtJQUNFO0lBQ0E7RW5Cc2tHRjtFbUJua0dBO0lBQ0U7SUFDQTtFbkJxa0dGO0FBQ0Y7QW1COWtHQTtFQUNFO0lBQ0U7SUFDQTtFbkJza0dGO0VtQm5rR0E7SUFDRTtJQUNBO0VuQnFrR0Y7QUFDRjtBbUJsa0dBO0VBQ0U7SUFDRTtJQUNBO0VuQm9rR0Y7RW1CamtHQTtJQUNFO0lBQ0E7RW5CbWtHRjtBQUNGO0FtQjVrR0E7RUFDRTtJQUNFO0lBQ0E7RW5Cb2tHRjtFbUJqa0dBO0lBQ0U7SUFDQTtFbkJta0dGO0FBQ0Y7QW1CaGtHQTtFQUNFO0lBQ0U7SUFDQTtJQUNBO0VuQmtrR0Y7RW1CL2pHQTtJQUNFO0lBQ0E7SUFDQTtFbkJpa0dGO0FBQ0Y7QW1CNWtHQTtFQUNFO0lBQ0U7SUFDQTtJQUNBO0VuQmtrR0Y7RW1CL2pHQTtJQUNFO0lBQ0E7SUFDQTtFbkJpa0dGO0FBQ0Y7QW1COWpHQTtFQUNFO0lBQ0U7SUFDQTtJQUNBO0VuQmdrR0Y7RW1CN2pHQTtJQUNFO0lBQ0E7SUFDQTtFbkIrakdGO0FBQ0Y7QW1CMWtHQTtFQUNFO0lBQ0U7SUFDQTtJQUNBO0VuQmdrR0Y7RW1CN2pHQTtJQUNFO0lBQ0E7SUFDQTtFbkIrakdGO0FBQ0Y7QW1CNWpHQTtFQUNFO0lBQ0U7SUFDQTtJQUNBO0lBQ0E7RW5COGpHRjtFbUIzakdBO0lBQ0U7SUFDQTtJQUNBO0lBQ0E7RW5CNmpHRjtBQUNGO0FtQjFrR0E7RUFDRTtJQUNFO0lBQ0E7SUFDQTtJQUNBO0VuQjhqR0Y7RW1CM2pHQTtJQUNFO0lBQ0E7SUFDQTtJQUNBO0VuQjZqR0Y7QUFDRjtBbUIxakdBO0VBQ0U7SUFDRTtJQUNBO0lBQ0E7SUFDQTtFbkI0akdGO0VtQnpqR0E7SUFDRTtJQUNBO0lBQ0E7SUFDQTtFbkIyakdGO0FBQ0Y7QW1CeGtHQTtFQUNFO0lBQ0U7SUFDQTtJQUNBO0lBQ0E7RW5CNGpHRjtFbUJ6akdBO0lBQ0U7SUFDQTtJQUNBO0lBQ0E7RW5CMmpHRjtBQUNGO0FtQnhqR0E7RUFDRTtJQUNFO0lBQ0E7RW5CMGpHRjtFbUJ2akdBO0lBQ0U7SUFDQTtFbkJ5akdGO0FBQ0Y7QW1CbGtHQTtFQUNFO0lBQ0U7SUFDQTtFbkIwakdGO0VtQnZqR0E7SUFDRTtJQUNBO0VuQnlqR0Y7QUFDRjtBbUJ0akdBO0VBQ0U7SUFDRTtJQUNBO0VuQndqR0Y7RW1CcmpHQTtJQUNFO0lBQ0E7RW5CdWpHRjtBQUNGO0FtQmhrR0E7RUFDRTtJQUNFO0lBQ0E7RW5Cd2pHRjtFbUJyakdBO0lBQ0U7SUFDQTtFbkJ1akdGO0FBQ0Y7QUE5bkdBOztDQUFBO0FvQnpDQTs7Ozs7RUFBQTtBQU9BOztFQUFBO0FBR0E7RUFDRTtFQUNBO0FwQjJxR0Y7QW9CenFHRTtFQUNFO0FwQjJxR0o7QW9CeHFHRTtFQUNFO0FwQjBxR0o7QWM1b0ZJO0VNL2hCRjtJQUlJO0VwQjJxR0o7QUFDRjtBb0J4cUdFO0VBQ0U7QXBCMHFHSjtBY3BwRkk7RU12aEJGO0lBSUk7RXBCMnFHSjtBQUNGO0FjenBGSTtFTXZoQkY7SUFRSTtFcEI0cUdKO0FBQ0Y7QW9CenFHRTtFQUNFO0FwQjJxR0o7QWNqcUZJO0VNM2dCRjtJQUlJO0VwQjRxR0o7QUFDRjtBY3RxRkk7RU0zZ0JGO0lBUUk7RXBCNnFHSjtBQUNGOztBcUI1dEdBOzs7OztFQUFBO0FBT0E7O0VBQUE7QUFZQTs7RUFBQTtBQUdBO0VBQ0U7RUFDQTtFQUNBO0VBQ0EsV0FoQks7RUFpQkwsWUFoQlk7RUFpQlo7RUFDQTtFQUNBO0VBQ0E7QXJCcXRHRjtBY25zRkk7RU8zaEJKO0lBWUk7RXJCc3RHRjtBQUNGO0FxQnB0R0U7RUFFRTtBckJxdEdKO0FxQmx0R0U7RUFDRTtFQUNBO0VBQ0EsV0FuQ0c7RUFvQ0gsV0FqQ1U7RUFrQ1Y7RUFDQTtFQUNBO0VBQ0E7QXJCb3RHSjtBcUJsdEdJO0VBQ0U7QXJCb3RHTjtBcUJsdEdNO0VBQ0U7QXJCb3RHUjtBcUJqdEdNO0VBQ0U7QXJCbXRHUjtBcUIvc0dJO0VBQ0U7QXJCaXRHTjtBcUIvc0dNO0VBQ0U7QXJCaXRHUjtBcUI5c0dJO0VBQ0U7QXJCZ3RHTjtBcUI5c0dNO0VBQ0U7QXJCZ3RHUjtBcUI3c0dNO0VBQ0U7QXJCK3NHUjs7QXNCOXhHQTs7Ozs7RUFBQTtBQU9BOztHQUFBO0FBMEhBOztHQUFBO0FBSUE7RU52R0U7RU1qQkE7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtPQUFBO0VBQ0E7QXRCa3lHRjtBc0IvcUdFO0VBckdBO0VBQ0E7QXRCdXhHRjtBc0IvcUdFO0VOOUdBO0VNakJBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7T0FBQTtFQUNBO0VBb0JBO0F0Qit4R0Y7QXNCenJHSTtFQWxHRjtFQUNBO0VBQ0E7QXRCOHhHRjtBc0J6ckdFO0VBQ0U7QXRCMnJHSjtBc0J4ckdFO0VBQ0U7RUFDQTtBdEIwckdKO0FzQnZyR0U7RUFDRTtBdEJ5ckdKO0FzQnhyR0k7RUFDRTtBdEIwckdOO0FzQnRyR0U7RUFDRTtBdEJ3ckdKO0FzQnJyR0U7RUFDRTtBdEJ1ckdKO0FzQnByR0U7RU45SUE7RU1qQkE7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtPQUFBO0VBQ0E7RUErQkE7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0tBQUE7VUFBQTtFQUNBO0VBQ0E7QXRCeXpHRjtBc0J6c0dJO0VBQ0U7RUFDQTtBdEIyc0dOO0FzQnZzR0U7RU50SkE7RU1qQkE7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtPQUFBO0VBQ0E7RUErQkE7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0tBQUE7VUFBQTtFQUNBO0VBQ0E7RUF3SEU7QXRCNnRHSjtBc0I1dEdJO0VBQ0U7RUFDQTtBdEI4dEdOO0FzQjF0R0U7RU4vSkE7RU1qQkE7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtPQUFBO0VBQ0E7RUE4Q0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0tBQUE7VUFBQTtFQUNBO0VBQ0E7RUFDQTtBdEJpMkdGO0FzQi8xR0U7RVhqREE7RUFDQTtFQUNBLHNCV2dEa0I7RUFDaEI7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBdEJtMkdKO0FzQmoxR0U7RVg1RUE7RUFDQTtFQUNBLHFCVzJFa0I7RUFDaEI7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QXRCcTFHSjtBc0JoMUdFO0VYekZBO0VBQ0E7RUFDQSxxQld3RmtCO0VBQ2hCO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0F0Qm8xR0o7O0F1Qmo5R0E7Ozs7O0VBQUE7QUFPQTtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0F2Qm05R0Y7QWN0N0ZJO0VTMWlCSjtJQWdCSTtJQUNBO0V2Qm85R0Y7QUFDRjtBdUJsOUdFO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0F2Qm85R0o7QXVCajlHRTtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBdkJtOUdKO0F1Qjc4R0k7RUFDRTtBdkIrOEdOOztBd0JsaEhBOzs7OztDQUFBO0FBT0E7O0NBQUE7QUFHQTtFQUNFO0VBQ0E7QXhCb2hIRjtBYy8rRkk7RVV2aUJKO0lBS0k7RXhCcWhIRjtBQUNGO0F3Qm5oSEU7RWJUQTtFQUNBO0VBQ0E7RWFTRTtFQUNBO0VBQ0E7QXhCdWhISjtBV2hpSEU7RUFDRTtFQUNBO0VBQ0E7QVhraUhKO0F3QjFoSEk7RUFDRTtFQUNBO0F4QjRoSE47QXdCMWhITTtFQUNFO0VBQ0E7QXhCNGhIUjtBd0J4aEhRO0VBQ0U7QXhCMGhIVjs7QXlCN2pIQTs7Ozs7Q0FBQTtBQU9BOztDQUFBO0FBSUE7O0NBQUE7QUFHQTtFZDJCRTtFQUNBO0VBQ0E7S0FBQTtVQUFBO0VBQ0E7RWM1QkU7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QXpCaWtISjtBY3RpR0k7RVduaUJKO0lBV007RXpCa2tISjtBQUNGO0FjM2lHSTtFV25pQko7SUFlTTtJQUNBO0lBQ0E7RXpCbWtISjtBQUNGO0FjbGpHSTtFV25pQko7SUFxQk07RXpCb2tISjtBQUNGO0F5QmxrSEk7RUFDRTtBekJva0hOO0F5QmprSEk7RUFDRTtBekJta0hOO0FjN2pHSTtFV3ZnQkE7SUFJSTtJQUNBO0V6Qm9rSE47QUFDRjtBY25rR0k7RVd2Z0JBO0lBU0k7RXpCcWtITjtBQUNGO0F5QmxrSEk7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0F6Qm9rSE47QWMva0dJO0VXMWZBO0lBUUk7SUFDQTtFekJxa0hOO0FBQ0Y7QXlCbmtITTtFQUNFO0VBQ0E7QXpCcWtIUjtBeUJqa0hJO0VBQ0k7RUFDQTtFQUNBO0F6Qm1rSFI7QXlCamtIUTtFQUVFO0VBQ0E7RUFDQTtFQUNBLFdKekVIO0VJMEVHLFdKdkVJO0VJd0VKO0VBQ0E7RUFDQTtFQUNBO0F6QmtrSFY7QXlCL2pIUTtFQUNFO0F6QmlrSFY7QXlCN2pIUTtFQUNFO0F6QitqSFY7QXlCM2pIUTtFQUNFO0VBQ0E7RUFDQTtFQUNBO0F6QjZqSFY7QXlCM2pIVTtFQUVFO0F6QjRqSFo7QWN4bkdJO0VXNWNJO0lkL0VOO0lBQ0E7RVh1cEhBO0V5QjNqSFU7SUFFRTtFekI0akhaO0FBQ0Y7QXlCeGpIUTtFQUNFO0VBQ0E7RUFDQTtBekIwakhWOztBQXBvSEE7O0VBQUE7QTBCbkRBOzs7OztFQUFBO0FBT0E7O0dBQUE7QUFHQztFQUNDO0lBQ0U7SUFDQTtFMUI0ckhGO0UwQjFySEE7SUFDRTtFMUI0ckhGO0UwQjFySEE7SUFDRTtJQUNBO0UxQjRySEY7QUFDRjtBMEJ2c0hDO0VBQ0M7SUFDRTtJQUNBO0UxQjRySEY7RTBCMXJIQTtJQUNFO0UxQjRySEY7RTBCMXJIQTtJQUNFO0lBQ0E7RTFCNHJIRjtBQUNGO0EwQnpySEE7O0dBQUE7QUFHQTtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0ExQjJySEY7QTBCenJIRTtFQUNFO0ExQjJySEo7QTBCeHJIRTtFQUNFO0VBQ0E7RUFDQTtFQUNBO1VBQUE7QTFCMHJISjtBY3JyR0k7RVl0aEJKO0lBc0JJO0UxQnlySEY7QUFDRjtBMEJ4ckhFO0VBQ0U7RUFDQTtFQUNBO0ExQjBySEo7QTBCdnJIRTtFQUNFO0VBQ0E7QTFCeXJISjtBMEJ0ckhFO0VmckJBO0VBQ0E7RUFDQTtLQUFBO1VBQUE7RUFDQTtFZW9CRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QTFCMnJISjtBMEJ6ckhJO0VBQ0U7QTFCMnJITjs7QTJCdHdIQTs7Ozs7RUFBQTtBQU9BO0VBQ0U7RUNSRjs7Ozs7SUFBQTtFQ0FBOzs7OztJQUFBO0VDQUE7Ozs7O0lBQUE7RUNBQTs7Ozs7SUFBQTtFQU9BOztJQUFBO0VBYUE7O0dBQUE7RUNwQkE7Ozs7O0lBQUE7RUNBQTs7Ozs7SUFBQTtFQ0FBOzs7OztJQUFBO0VDQUE7Ozs7O0dBQUE7RUFPQTs7R0FBQTtFQUlBOztHQUFBO0VDWEE7Ozs7O0lBQUE7QXBDazFIQTtBY2p5R0k7RWExaUJKO0lBSUk7RTNCMjBIRjtBQUNGO0EyQnowSEU7RUFDRTtFQUNBO0VBQ0E7QTNCMjBISjtBMkJ2MEhJO0VBRUU7RUFDQTtBM0J3MEhOO0EyQmgwSEk7RUFDRTtBM0JrMEhOO0EyQmgwSE07RUFDRTtBM0JrMEhSO0EyQjF6SEk7RUFDRTtBM0I0ekhOO0EyQjF6SE07RUFDRTtFQUNBO0VBQ0E7QTNCNHpIUjtBMkJ0ekhJO0VBQ0U7QTNCd3pITjtBMkJwekhFO0VBQ0U7RUFDQTtFQUNBO0EzQnN6SEo7QWNyMEdJO0VhcGZGO0lBTUk7RTNCdXpISjtBQUNGO0EyQnB6SEU7RUFDRTtFQUNBO0VBQ0E7RUFDQTtBM0JzekhKO0FjaDFHSTtFYTFlRjtJQU9JO0UzQnV6SEo7QUFDRjtBMkJyekhJO0VBQ0U7RUFDQTtBM0J1ekhOO0EyQnR6SE07RUFDRTtBM0J3ekhSO0FjNTFHSTtFYWhlQTtJQU9JO0UzQnl6SE47QUFDRjtBMkJyekhFO0VBQ0U7QTNCdXpISjtBMkJ0ekhJO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7QTNCd3pITjtBMkJyekhJO0VBQ0U7RUFDQTtBM0J1ekhOO0FjOTJHSTtFYTNjQTtJQUtJO0UzQnd6SE47QUFDRjtBY24zR0k7RWFwY0U7SUFFSTtJQUNBO1NBQUE7RTNCeXpIUjtBQUNGO0EyQm56SEk7RUFDRTtFQUNBO0VBQ0E7QTNCcXpITjtBMkJoekhJO0VBQ0U7QTNCa3pITjtBMkI5eUhFO0VBQ0U7QTNCZ3pISjtBMkI1eUhJO0VBQ0U7QTNCOHlITjtBY3Y0R0k7RWF4YUE7SUFJSTtFM0IreUhOO0FBQ0Y7QTJCNXlIUTtFQUNFO0EzQjh5SFY7QTJCMXlITTtFQUNFO0EzQjR5SFI7QTRCNTdIQTtFQUNFO0VBQ0E7QTVCODdIRjtBNEIzN0hJO0VBSUU7RUFDQTtBNUIwN0hOO0E2QnA4SEE7RUFDRTtBN0JzOEhGO0E4QnQ4SEU7RUFDRTtBOUJ3OEhKO0E4QnQ4SEU7RUFDRTtBOUJ3OEhKO0ErQjU3SEE7RUFDRTtBL0I4N0hGO0FjdDZHSTtFaUJ6aEJKO0lBR0k7RS9CZzhIRjtBQUNGO0ErQjk3SEU7RUFDRTtFQUNBO0VBQ0E7QS9CZzhISjtBK0I5N0hJO0VBQ0U7RXBCUko7RUFDQTtFQUNBLHdCb0JPb0I7RUFDaEI7RUFDQTtFQUNBO0VBQ0E7QS9CazhITjtBK0IvN0hJO0VBQ0U7RUFDQTtFQUNBO0EvQmk4SE47QStCOTdISTtFQUNFO0VBQ0E7RUFFQTtBL0IrN0hOO0ErQjM3SEU7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QS9CNjdISjtBK0IxN0hFO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7QS9CNDdISjtBK0J6N0hFO0VBQ0U7RUFDQTtBL0IyN0hKO0ErQno3SEk7RUFDRTtFQUNBO0VBQ0E7RUFDQTtBL0IyN0hOO0ErQno3SE07RUFDRTtBL0IyN0hSO0ErQm5nSUk7RUFDRTtFQUNBO0EvQnFnSU47QStCdmdJSTtFQUNFO0VBQ0E7QS9CeWdJTjtBK0IzZ0lJO0VBQ0U7RUFDQTtBL0I2Z0lOO0ErQi9nSUk7RUFDRTtFQUNBO0EvQmloSU47QStCbmhJSTtFQUNFO0VBQ0E7QS9CcWhJTjtBK0JsOEhFO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QS9CbzhISjtBYzUvR0k7RWlCL2NGO0lBVUk7RS9CcThISjtBQUNGO0ErQm44SEk7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtLQUFBO0VBQ0E7RUFDQTtBL0JxOEhOO0ErQmw4SEk7RUFDRTtBL0JvOEhOO0FjL2dISTtFaUJ0YkE7SUFJSTtFL0JxOEhOO0FBQ0Y7QWNwaEhJO0VpQnRiQTtJQVFJO0UvQnM4SE47QUFDRjtBK0JwOEhNO0VBRUU7RUFDQTtBL0JxOEhSO0FjN2hISTtFaUIzYUU7SUFNSTtJQUNBO0UvQnM4SFI7QUFDRjtBK0JuOEhNO0VBQ0U7RUFDQTtBL0JxOEhSO0FjdmlISTtFaUJoYUU7SUFLSTtFL0JzOEhSO0FBQ0Y7QStCbjhITTtFQUNFO0VBQ0E7QS9CcThIUjtBY2hqSEk7RWlCdlpFO0lBS0k7RS9CczhIUjtBQUNGO0ErQm44SE07RUFDRTtFQUNBO0VBQ0E7QS9CcThIUjtBK0JsOEhNO0VBQ0U7QS9CbzhIUjtBK0JoOEhJO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QS9CazhITjtBY3RrSEk7RWlCbllBO0lBVUk7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0UvQm04SE47QUFDRjtBK0JqOEhNO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7S0FBQTtBL0JtOEhSO0FjdGxISTtFaUIzV0k7SUFFSTtJQUNBO0UvQm04SFY7QUFDRjtBK0JoOEhRO0VBQ0U7RUFDQTtBL0JrOEhWO0FjaG1ISTtFaUJwV0k7SUFLSTtJQUNBO0UvQm04SFY7QUFDRjtBZ0NocElBO0VBbUVFO0VBSUE7QWhDNmtJRjtBZ0NqcElFO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtPQUFBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QWhDbXBJSjtBZ0NqcElJO0VBQ0U7RXJCTUo7RUFDQTtFQUNBLHNCcUJQb0I7RUFDaEI7RUFDQTtBaENxcElOO0FnQ2xwSUk7RUFFRTtFQUNBO0FoQ21wSU47QWdDL29JRTtFQUNFO0VBQ0E7QWhDaXBJSjtBZ0NocElJO0VBQ0U7QWhDa3BJTjtBZ0M5b0lFO0VBQ0U7QWhDZ3BJSjtBZ0M3b0lFO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0FoQytvSUo7QWdDN29JSTtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QWhDK29JTjtBZ0M1b0lJO0VBQ0U7QWhDOG9JTjtBZ0M3b0lNO0VBQ0U7QWhDK29JUjtBZ0N6b0lFO0VBQ0U7QWhDMm9JSjtBZ0N4b0lFO0VBQ0U7QWhDMG9JSjtBaUNqdElJO0VBQ0U7QWpDbXRJTjtBa0NydElFO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7QWxDdXRJSjtBY2xySEk7RW9CemlCRjtJQU9JO0lBQ0E7RWxDd3RJSjtBQUNGO0FrQ3J0SUk7RUFDRTtBbEN1dElOO0FtQzd0SUU7RUFDRTtFQUNBO0VBQ0E7QW5DK3RJSjtBbUM5dElJO0VuQldGO0VNakJBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7T0FBQTtFQUNBO0VBK0JBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtLQUFBO1VBQUE7RUFDQTtFQUNBO0VhekNJO0VBQ0E7RUFDQTtBbkNvdklOO0FtQ2x2SU07RXhCR0o7RUFDQTtFQUNBLHFCd0JKc0I7RUFDaEI7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBbkNzdklSO0FtQ252SU07RUFDRTtFQUNBO0FuQ3F2SVI7QW9DcHhJRTtFQUNFO0FwQ3N4SUo7QXFDOXhJRTtFQUNFO0VBQ0E7RUFDQTtBckNneUlKO0FjbnZISTtFdUJoakJGO0lBTUk7SUFDQTtFckNpeUlKO0FBQ0Y7QXNDenlJRTtFQUNFO0F0QzJ5SUo7QWM1dkhJO0V3QmhqQkY7SUFJSTtFdEM0eUlKO0FBQ0Y7QWNqd0hJO0V3QmhqQkY7SUFRSTtFdEM2eUlKO0FBQ0Y7QXNDeHlJRTtFQUNFO0VBQ0E7QXRDMHlJSjtBYzF3SEk7RXdCbGlCRjtJQUlJO0V0QzR5SUo7QUFDRjtBc0Izc0lFO0VYekZBO0VBQ0E7RUFDQSxxQld3RmtCO0VBQ2hCO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0F0QitzSUo7QXNDL3lJRTtFQUNFO0F0Q2l6SUo7QWM5eEhJO0V3QnBoQkY7SUFHSTtFdENteklKO0FBQ0Y7QXNDbHpJSTtFQUNFO0F0Q296SU47QXNDbHpJSTtFQUNFO0VBQ0E7RUFDQTtFQUNBO0F0Q296SU47QXNCcnZJRTtFWDVFQTtFQUNBO0VBQ0EscUJXMkVrQjtFQUNoQjtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBdEJ5dklKO0FzQ256SUU7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0F0Q3F6SUo7QWNsMEhJO0V3QjNmRjtJQVVJO0V0Q3V6SUo7QUFDRjtBc0NweklFO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7QXRDc3pJSjtBc0NqeklFO0VBQ0U7QXRDbXpJSjtBc0NqeklFO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7QXRDbXpJSjtBc0NqeklJO0VBQ0U7RUFDQTtFQUNBO0F0Q216SU47QXNDbHpJTTtFdEJyRUo7RUFDQTtFc0JzRU07RUFDQTtFQUNBO0F0Q3F6SVI7QXNDbnpJTTtFdEJsRUo7RU1qQkE7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtPQUFBO0VBQ0E7RUErQkE7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0tBQUE7VUFBQTtFQUNBO0VBQ0E7RWdCb0NNO0VBQ0E7QXRDeTBJUjtBYzMzSEk7RXdCM2RBO0lBZ0JJO0V0QzAwSU47QUFDRjtBdUNoN0lJO0VBQ0k7QXZDazdJUjtBY240SEk7RXlCaGpCQTtJQUdRO0V2Q283SVY7QUFDRjtBd0N2N0lJO0VBQ0k7RUFDQTtBeEN5N0lSO0FjNTRISTtFMEIvaUJBO0lBS1E7RXhDMDdJVjtBQUNGO0F3Q3Y3SUk7RUFDSTtBeEN5N0lSO0F3Q3I3SVE7RUFDSTtBeEN1N0laO0F3Q3A3SVE7RUFDSTtBeENzN0laO0F5Q3o4SVE7RUFDSTtBekMyOElaO0F5Q3g4SUk7RUFDSTtFQUNBO0VBQ0E7RUFDQTtBekMwOElSO0FjbjZISTtFMkIzaUJBO0lBT1E7SUFDQTtFekMyOElWO0FBQ0Y7QXlDeDhJUTtFQUNJO0VBQ0E7QXpDMDhJWjtBeUN2OElRO0VBQ0k7RUFDQTtBekN5OElaO0EwQ2orSUk7RUFDSTtBMUNtK0lSO0EyQ24rSUk7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QTNDcStJUjtBYzU3SEk7RTZCL2lCQTtJQVNRO0lBQ0E7SUFDQTtJQUNBO0UzQ3MrSVY7QUFDRjtBMkNuK0lJO0VBQ0k7RUFDQTtBM0NxK0lSO0EyQ2wrSUk7RUFDSTtFQUNBO0EzQ28rSVI7QWM1OEhJO0U2QjFoQkE7SUFLUTtFM0NxK0lWO0FBQ0Y7QTJDbitJUTtFQUNJO0EzQ3ErSVo7QTJDbitJWTtFQUNJO0EzQ3ErSWhCO0EyQ2grSUk7RUFDSTtFQUNBO0VBQ0E7QTNDaytJUjtBMkNoK0lRO0VBQ0k7RUFDQTtBM0NrK0laO0FjaCtISTtFNkJwZ0JJO0lBS1E7RTNDbStJZDtBQUNGO0EyQ2orSVk7RUFDSTtBM0NtK0loQjs7QTRDemhKQTs7Ozs7RUFBQTtBQU9BOzs7Ozs7O0VBT0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBNUMyaEpGO0E0Q3poSkU7Ozs7Ozs7RUFDRTtBNUNpaUpKOztBNEM3aEpBOzs7RUFHRTtBNUNnaUpGOztBNEM3aEpBOztFQUVFO0E1Q2dpSkY7O0E0QzdoSkE7RUFDRTtLQUFBO1VBQUE7QTVDZ2lKRjs7QTRDN2hKQTtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QTVDZ2lKRjs7QTRDNWhKQTs7RUFFRTtFQUNBO0E1QytoSkY7O0E0QzdoSkE7O0VBRUU7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBNUNnaUpGOztBNEM5aEpBOztFQUVFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QTVDaWlKRjs7QTRDL2hKQTs7RUFFRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBNUNraUpGOztBNENoaUpBO0VBQ0U7RUFDQTtBNUNtaUpGOztBNENqaUpBO0VBQ0U7RUFDQTtBNUNvaUpGOztBNENoaUpBOzs7O0VBSUU7RUFDQTtBNUNtaUpGOztBNENqaUpBOzs7O0VBSUU7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0E1Q29pSkY7O0E0Q2xpSkE7Ozs7RUFJRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0E1Q3FpSkY7O0E0Q25pSkE7Ozs7RUFJRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBNUNzaUpGOztBNENwaUpBOztFQUVFO0VBQ0E7QTVDdWlKRjs7QTRDcmlKQTs7RUFFRTtFQUNBO0E1Q3dpSkY7O0E0Q3JpSkE7O0VBRUU7QTVDd2lKRjs7QTRDcmlKQTs7OztFakNsSUU7RUFDQTtFQUNBLHFCaUNvSWdCO0VBQ2hCO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QTVDMGlKRjs7QTRDdmlKQTtFQUNFO0VBQ0E7QTVDMGlKRjtBNEN4aUpFO0VBQ0U7QTVDMGlKSjs7QTRDcGlKSTtFQUNFO0E1Q3VpSk47QTRDcGlKSTtFNUI5SkY7RU1qQkE7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtPQUFBO0VBQ0E7RXNCeUtJO0E1QytpSk47QTRDN2lKTTtFdEI3Sko7RUFDQTtBdEI2c0pGO0E0QzVpSkk7RUFDRTtBNUM4aUpOO0E0QzNpSkk7RUFDRTtFQUNBO0E1QzZpSk47QTRDcmlKUTtFQUNFO0VBQ0E7QTVDdWlKVjtBNENuaUpNO0VBQ0U7RUFDQTtBNUNxaUpSO0E0Q2ppSlE7RUFDRTtFQUNBO0VBQ0E7RUFDQTtBNUNtaUpWO0E0Q25oSlE7RUFDRTtBNUNxaEpWO0E0Q25oSlE7RUFDRTtFQUNBO0VBQ0E7QTVDcWhKVjtBNENqaEpNO0VBQ0U7RUFDQTtBNUNt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SUFFSTtFOUMyaUtKO0FBQ0Y7O0ErQ2xoTEk7RUFDSTtBL0NxaExSO0FjdCtKSTtFaUNoakJBO0lBSVE7RS9Dc2hMVjtBQUNGO0FjMytKSTtFaUNoakJBO0lBUVE7SUFDQTtFL0N1aExWO0UrQ3JoTFU7SUFDSTtFL0N1aExkO0FBQ0Y7QWNwL0pJO0VpQ2hpQkk7SUFFUTtFL0NzaExkO0FBQ0Y7QStDcGhMWTtFQUNJO0VBQ0E7QS9Dc2hMaEI7QWM3L0pJO0VpQzNoQlE7SUFLUTtFL0N1aExsQjtBQUNGO0FjbGdLSTtFaUMzaEJRO0lBU1E7SUFDQTtJQUNBO0UvQ3doTGxCO0UrQ3RoTGtCO0lBQ0k7RS9Dd2hMdEI7RStDdmhMc0I7SUFDSTtFL0N5aEwxQjtBQUNGO0ErQ3BoTFk7RUFDSTtFQUNBO0VBQ0E7QS9Dc2hMaEI7QStDcmhMZ0I7RUFDSTtBL0N1aExwQjtBK0NuaExZO0VBQ0k7RUFDQTtFQUNBO0EvQ3FoTGhCO0FjNWhLSTtFaUM1ZlE7SUFNUTtFL0NzaExsQjtBQUNGO0ErQ25oTFk7RUFDSTtFQUNBO0EvQ3FoTGhCO0ErQ2xoTFk7RUFDSTtBL0NvaExoQjtBK0MvZ0xJO0VBQ0k7RUFFQTtBL0NnaExSO0ErQzdnTFE7RUFFSTtBL0M4Z0xaO0ErQzFnTFk7RUFFSTtBL0MyZ0xoQjtBY2xqS0k7RWlDM2RRO0lBS1E7SUFDQTtJQUNBO0UvQzRnTGxCO0FBQ0Y7QStDMWdMZ0I7RXBDcEVkO0VBQ0E7RUFDQSxzQm9Db0VrQztFQUNoQjtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QS9DNmdMcEI7QStDemdMWTtFQUNJO0EvQzJnTGhCO0FjdmtLSTtFaUNyY1E7SUFJUTtFL0M0Z0xsQjtBQUNGO0ErQzFnTGdCO0VBQ0k7QS9DNGdMcEI7QStDMWdMZ0I7RUFDSTtBL0M0Z0xwQjtBK0N4Z0xZO0VBQ0k7QS9DMGdMaEI7QWNybEtJO0VpQ3RiUTtJQUlRO0UvQzJnTGxCO0FBQ0Y7QStDemdMZ0I7RUFDSTtBL0MyZ0xwQjtBK0N6Z0xnQjtFQUNJO0EvQzJnTHBCO0ErQ2xnTFE7RUFDSTtFQUNBO0VBQ0E7RUFDQTtBL0NvZ0xaO0FjdG1LSTtFaUNsYUk7SUFPUTtFL0NxZ0xkO0FBQ0Y7QWMzbUtJO0VpQ2xhSTtJQVdRO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0UvQ3NnTGQ7QUFDRjtBK0NwZ0xZO0VBQ0k7RUFDQTtBL0NzZ0xoQjtBK0NwZ0xnQjtFQUNJO0VBQ0E7QS9Dc2dMcEI7O0FnRC9xTEE7Ozs7O0VBQUE7QUFPQTtFQUNFO0VBQ0E7QWhEaXJMRjtBZ0RockxFO0VBQ0U7QWhEa3JMSjtBZ0RockxJO0VBQ0U7QWhEa3JMTjs7QWlEaHNMQTs7Ozs7RUFBQTtBQU9BOztFQUFBO0FBR0E7RUFDRTtFQUNBO0VBQ0E7QWpEa3NMRjtBYzlwS0k7RW1DdmlCSjtJQU1JO0lBQ0E7RWpEbXNMRjtBQUNGO0FpRGpzTEU7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0FqRG1zTEo7QWMzcUtJO0VtQzdoQkY7SUFRSTtJQUNBO0VqRG9zTEo7QUFDRjtBaURsc0xJO0VBQ0U7QWpEb3NMTjtBaURsc0xJO0VBQ0U7RUFDQTtFQUNBO0FqRG9zTE47QWlEbnNMTTtFQUNFO0FqRHFzTFI7QWlEanNMSTtFQUNFO0VBQ0E7RUFDQTtLQUFBO0FqRG1zTE47QWlEaHNMSTtFQUNFO0VBQ0E7QWpEa3NMTjtBaUQvckxJO0VBQ0U7RUFDQTtBakRpc0xOO0FpRDlyTEk7RUFDRTtFQUNBO0FqRGdzTE47QWlENXJMTTtFQUNFO0FqRDhyTFI7QWtEandMQTtFQUNFO0VBQ0E7QWxEbXdMRjs7QWtEaHdMQTtFQUNFO0VBQ0E7QWxEbXdMRjtBa0Rqd0xFO0VBQ0U7RUFDQTtBbERtd0xKOztBa0QvdkxBO0VsQ01FO0VBQ0E7RWtDTEE7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QWxEbXdMRjtBa0Rqd0xFO0VBQ0U7RUFDQTtBbERtd0xKO0FrRGh3TEU7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0FsRGt3TEo7QWtEL3ZMRTtFQUNFO0VBQ0E7QWxEaXdMSjtBY3h2S0k7RW9DcmdCQTtJQUNFO0VsRGd3TEo7QUFDRjtBa0Q3dkxFO0VBQ0U7RUFDQTtFQUNBO0FsRCt2TEo7QWtEN3ZMSTtFQUNFO0FsRCt2TE47QWtEM3ZMRTtFQUlFO0VBQ0E7QWxEMHZMSjtBa0R4dkxFO0VsQzdDQTtFQUNBO0VrQzhDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0tBQUE7VUFBQTtFQUNBO0VBQ0E7QWxEMnZMSjtBa0R6dkxJO0VBRUU7RUFDQTtFQUNBO0FsRDB2TE47QWtEdHZMRTtFQUNFO0FsRHd2TEo7QWtEcnZMRTtFQUNFO0VBQ0E7QWxEdXZMSjtBa0RydkxJO0VBQ0U7RUFDQTtBbER1dkxOO0FrRHB2TEk7RUFDRTtFQUNBO0FsRHN2TE47QWtEcHZMTTtFQUdFO0VBQ0E7QWxEb3ZMUjtBa0RodkxJO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7QWxEa3ZMTjtBa0RodkxJO0VBRUU7QWxEaXZMTjtBa0QvdUxNO0VBQ0U7QWxEaXZMUjtBa0Q5dUxJO0VBS0U7RUFDQTtBbEQ0dUxOO0FrRHp1TEk7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0FsRDJ1TE47QWtEdnVMRTtFdkN2SEE7RUFDQTtFdUN5SEU7RUFDQTtFQUNBO0FsRHl1TEo7QWtEdnVMSTtFQUNFO0FsRHl1TE47QWtEdHVMSTtFQUNFO0VBQ0E7QWxEd3VMTjtBa0R0dUxNO0VBQ0U7QWxEd3VMUjtBa0RwdUxFO0VBQ0U7QWxEc3VMSjtBa0RwdUxJO0VBQ0U7QWxEc3VMTjtBa0RudUxFO0VBQ0U7QWxEcXVMSjtBa0RudUxJO0VBQ0U7QWxEcXVMTjs7QWtEaHVMQTtFQUNFO0VBQ0E7QWxEbXVMRjtBa0RqdUxFO0VBQ0U7RUFDQTtVQUFBO0FsRG11TEo7O0FtRDE1TEE7RUFDSTtFQUNBO0VBQ0E7QW5ENjVMSjtBbUQxNUxNO0VBQ0U7QW5ENDVMUjtBY2wzS0k7RXFDM2lCRTtJQUdJO0VuRDg1TFI7QUFDRjtBY3YzS0k7RXFDM2lCRTtJQU1JO0VuRGc2TFI7QUFDRjtBYzUzS0k7RXFDM2lCRTtJQVNJO0VuRGs2TFI7QUFDRjtBbURqNkxRO0VBQ0U7RUFDQTtBbkRtNkxWO0FtRGo2TFE7RUFDRTtFQUNBO0Fu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ckQ0cU1OO0FxRHpxTUk7RUFDRTtBckQycU1OO0FxRHhxTUk7RUFDRTtFQUNBO0FyRDBxTU47QXFEdnFNSTtFQUNFO0FyRHlxTU47QXFEdHFNSTtFQUNFO0FyRHdxTU47QXFEcHFNSTs7RUFFRTtBckRzcU1OO0FxRC9wTUk7O0VBRUU7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0FyRGlxTU47QXFEOXBNSTtFQUNFO0FyRGdxTU47QXFEN3BNSTtFQUNFO0FyRCtwTU47QXFENXBNSTs7RUFFRTtFQUNBO0VBRUE7RUFDQTtFQUNBO0FyRDZwTU47QXFEMXBNSTtFQUNFO0VBQ0E7QXJENHBNTjtBcUR6cE1JO0VBQ0U7RUFDQTtBckQycE1OO0FxRG5wTUk7O0VBRUU7RUFDQTtFQUNBO0VBQ0E7QXJEcXBNTjtBcURscE1JO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0FyRG9wTU47QXFEanBNSTtFQUNFO0FyRG1wTU47QXFEaHBNSTtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBckRrcE1OO0FxRGhwTUk7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QXJEa3BNTjtBcURocE1JO0VBQ0U7RUFDQTtBckRrcE1OO0FxRGhwTUk7RUFDRTtFQUNBO0FyRGtwTU47QXFEaHBNSTtFQUNFO0FyRGtwTU47QXFEL29NSTtFQUNFO0FyRGlwTU47QXFEL29NSTtFQUNFO0VBQ0E7RUFDQTtBckRpcE1OO0FxRDdvTUk7RUFDRTtBckQrb01OO0FxRDVvTUk7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QXJEOG9NTjtBcUQzb01JO0VBQ0U7RUFDQTtBckQ2b01OO0FxRDNvTUk7RUFDRTtBckQ2b01OO0FxRDFvTUk7RUFDRTtFQUNBO0FyRDRvTU47QXFEem9NSTtFQUNFO0VBQ0E7QXJEMm9NTjtBcUR4b01JO0VBQ0U7QXJEMG9NTjtBcURsb01JO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0FyRG9vTU47QXFENW5NSTtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QXJEOG5NTjtBcUQ1bk1JO0VBQ0U7RUFDQTtBckQ4bk1OO0FxRDNuTUk7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0FyRDZuTU47QXFEMW5NSTtFQUNFO0FyRDRuTU47QXFEeG5NSTtFQUNFO0FyRDBuTU47QXFEaG5NSTtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QXJEa25NTjtBcUQvbU1JO0VBQ0U7RUFDQTtFQUNBO0FyRGluTU47QXFEOW1NSTtFQUNFO0FyRGduTU47QXFEOW1NSTtFQUNFO0VBQ0E7QXJEZ25NTjtBcUQ3bU1JO0VBQ0U7QXJEK21NTjtBcUQ3bU1JO0VBQ0U7RUFDQTtBckQrbU1OO0FxRDdtTUk7RUFDRTtFQUVBO0FyRDhtTU47QXFEM21NSTtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QXJENm1NTjtBcUQxbU1JO0VBQ0U7OztLQUFBO0VBSUE7RUFDQTtFQUNBO0VBQ0E7QXJENG1NTjtBcUR6bU1JO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QXJEMm1NTjtBcUR4bU1JO0VBQ0U7SUFDRTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0VyRDBtTU47QUFDRjtBcUR2bU1JO0VBQ0U7SUFDRTtJQUNBO0VyRHltTU47RXFEdm1NSTtJQUNFO0lBQ0E7RXJEeW1NTjtBQUNGO0FxRHRtTUk7RUFDRTtJQUNFO0lBQ0E7RXJEd21NTjtFcUR0bU1JO0lBQ0U7SUFDQTtFckR3bU1OO0FBQ0Y7QXFEcm1NSTtFQUNFO0lBQ0U7SUFDQTtFckR1bU1OO0VxRHJtTUk7SUFDRTtJQUNBO0VyRHVtTU47RXFEcm1N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RTtFQUNBO0VBQ0E7QTdEa25RTjtBY3RrUEk7RStDL2lCQTtJQU1JO0U3RG1uUU47QUFDRjtBNkRoblFFO0VBQ0U7QTdEa25RSjtBNkQvbVFJO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7QTdEaW5RTjtBNkQvbVFNO0VBQ0U7QTdEaW5RUjtBNkRsblFNO0VBQ0U7QTdEaW5RUjtBNkRsblFNO0VBQ0U7QTdEaW5RUjs7QTZENW1RQTtBQUNBO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QTdEK21RRjs7QTZEN21RQTtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBN0RnblFGO0E2RC9tUUU7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0E3RGluUUo7QTZEaG5RSTtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0E3RGtuUU47QTZEL21RRTtFQUNFO0VBQ0E7QTdEaW5RSjtBNkRoblFJO0VBQ0U7RUFDQTtBN0RrblFOO0FjL29QSTtFK0N4ZUY7SUFRSTtFN0RtblFKO0U2RGxuUUk7SUFDRTtFN0RvblFOO0FBQ0Y7QTZEam5RRTtFQUNFO0VBQ0E7QTdEbW5RSjtBNkRqblFFO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBN0RtblFKO0E2RGpuUUU7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0E3RG1uUUo7QTZEam5RRTtFQUNFO0E3RG1uUUo7QTZEaG5RSTtFQUNFO0E3RGtuUU47QTZEaG5RSTtFQUNFO0VBQ0E7RUFDQTtBN0RrblFOO0E2RGhuUUk7RUFDRTtBN0RrblFOOztBNkQ5bVFBO0VBQ0U7QTdEaW5RRjs7QTZEL21RQTtFQUNFO0VBQ0E7QTdEa25RRjs7QTZEaG5RQTtFQUNFO0E3RG1uUUY7QTZEbG5RRTtFQUNFO0E3RG9uUUo7QTZEbG5RRTtFQUNFO0VBQ0E7QTdEb25RSjtBNkRsblFFO0VBQ0U7RUFDQTtFQUNBO0E3RG9uUUo7QTZEaG5RTTtFQUNFO0E3RGtuUVI7QTZENW1RTTtFQUNFO0VBQ0E7QTdEOG1RUjtBNkQxbVFFO0VBQ0U7QTdENG1RSjs7QUE1clFBOztFQUFBLEMiLCJmaWxlIjoiY3NzL2dsb2JhbC5jc3MiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIFN3aXBlciA5LjAuNVxuICogTW9zdCBtb2Rlcm4gbW9iaWxlIHRvdWNoIHNsaWRlciBhbmQgZnJhbWV3b3JrIHdpdGggaGFyZHdhcmUgYWNjZWxlcmF0ZWQgdHJhbnNpdGlvbnNcbiAqIGh0dHBzOi8vc3dpcGVyanMuY29tXG4gKlxuICogQ29weXJpZ2h0IDIwMTQtMjAyMyBWbGFkaW1pciBLaGFybGFtcGlkaVxuICpcbiAqIFJlbGVhc2VkIHVuZGVyIHRoZSBNSVQgTGljZW5zZVxuICpcbiAqIFJlbGVhc2VkIG9uOiBGZWJydWFyeSAxMywgMjAyM1xuICovXG5cbi8qIEZPTlRfU1RBUlQgKi9cbkBmb250LWZhY2Uge1xuICBmb250LWZhbWlseTogJ3N3aXBlci1pY29ucyc7XG4gIHNyYzogdXJsKCdkYXRhOmFwcGxpY2F0aW9uL2ZvbnQtd29mZjtjaGFyc2V0PXV0Zi04O2Jhc2U2NCwgZDA5R1JnQUJBQUFBQUFaZ0FCQUFBQUFBREFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUJHUmxSTkFBQUdSQUFBQUJvQUFBQWNpNnFIa1VkRVJVWUFBQVdnQUFBQUl3QUFBQ1FBWUFCWFIxQlBVd0FBQmhRQUFBQXVBQUFBTnVBWTcreEhVMVZDQUFBRnhBQUFBRkFBQUFCbTJmUGN6VTlUTHpJQUFBSGNBQUFBU2dBQUFHQlA5VjVSWTIxaGNBQUFBa1FBQUFDSUFBQUJZdDZGMGNCamRuUWdBQUFDekFBQUFBUUFBQUFFQUJFQlJHZGhjM0FBQUFXWUFBQUFDQUFBQUFqLy93QURaMng1WmdBQUF5d0FBQURNQUFBRDJNSHRyeVZvWldGa0FBQUJiQUFBQURBQUFBQTJFMitlb1dob1pXRUFBQUdjQUFBQUh3QUFBQ1FDOWdEemFHMTBlQUFBQWlnQUFBQVpBQUFBcmdKa0FCRnNiMk5oQUFBQzBBQUFBRm9BQUFCYUZRQVVHRzFoZUhBQUFBRzhBQUFBSHdBQUFDQUFjQUJBYm1GdFpRQUFBL2dBQUFFNUFBQUNYdkZkQndsd2IzTjBBQUFGTkFBQUFHSUFBQUNFNXM3NGhYamFZMkJrWUdBQVlwZjVIdS9qK1cyK01uQXpNWURBemFYNlFqRDYvNC8vQnhqNUdBOEF1UndNWUdrQVB5d0wxM2phWTJCa1lHQTg4UDhBZ3g0aisvOGZRRFlmQTFBRUJXZ0RBSUIyQk9vQWVOcGpZR1JnWU5CaDRHZGdZZ0FCRU1uSUFCSnpZTkFEQ1FBQUNXZ0FzUUI0Mm1OZ1lmekNPSUdCbFlHQjBZY3hqWUdCd1IxS2YyV1FaR2hoWUdCaVlHVm1nQUZHQmlRUWtPYWF3dERBb01CUXhYamcvd0VHUGNZRERBNHdOVUEyQ0Nnd3NBQUFPNEVMNmdBQWVOcGoyTTBneUFBQ3F4Z0dOV0JrWjJENC93TUEreGtEZGdBQUFIamFZMkJnWUdhQVlCa0dSZ1lRaUFIeUdNRjhGZ1lISU0zRHdNSEFCR1FyTU9neVdETEVNMVQ5L3c4VUJmRU1nTHpFLy8vL1AvNS8vZi9WL3h2K3I0ZWFBQWVNYkF4d0lVWW1JTUhFZ0tZQVlqVWNzREF3c0xLeGMzQnljZlB3OGpFUUEvZ1pCQVNGaEVWRXhjUWxKS1drWldUbDVCVVVsWlJWVk5YVU5UUVpCZ01BQU1SK0UrZ0FFUUZFQUFBQUtnQXFBQ29BTkFBK0FFZ0FVZ0JjQUdZQWNBQjZBSVFBamdDWUFLSUFyQUMyQU1BQXlnRFVBTjRBNkFEeUFQd0JCZ0VRQVJvQkpBRXVBVGdCUWdGTUFWWUJZQUZxQVhRQmZnR0lBWklCbkFHbUFiSUJ6Z0hzQUFCNDJ1Mk5NUTZDVUF5R1c1Njh4OUFuZVlZZ200TUpiaEtGYUV4SU9BVlg4QXBld1N0NEJpYzRBZmVBaWQzVk9CaXhEeGZQWUV6YTVPK1hmaTA0WUFEZ2dpVUlVTEN1RUpLOFZoTzRiU3ZwZG5rdEhJNVFDWXRkaTJzbDhablhhSGxxVXJOS3pkS2NUOGNqbHErcndaU3ZJVmN6TmllenNmblAvdXpubWZQRkJOT0RNMks3TVRRNDVZRUFacUdQODFBbUdHY0YzaVBxT29wMHIxU1BUYVRiVmtmVWU0SFhqOTd3WUUreU53V1l4d1d1NHYxdWdXSGdvM1MxWGRaRVZxV003RVQwY2ZuTEd4V2ZrZ1I0Mm8yUHZXckRNQlNGai9JSExhRjB6S2pSZ2RpVk13U2NOUkFvV1VvSDc4WTJpY0IveUlZMDlBbjZBSDJCZHUvVUIreXhvcFlzaFFpRXZudnUwZFVSZ0R0OFFlQzhQRHc3RnBqaTNmRUE0ei9QRUo2WU9CNWhLaDRkajNFdlhoeFBxSC9TS1VZM3JKN3NyWjRGWm5oMVBNQXRQaHdQNmZsMlBNSk1QRGdlUTRyWThZVDZHemFvMGVBRUE0MDlEdWdnbVRuRm5PY1NDaUVpTE1neENpVEk2Q3E1RFpVZDNRbXAxMHZPMExhTFRkMmNqTjRmT3VtbGM3bFVZYlNRY1pGa3V0Ukc3ZzZKS1pLeTBSbWRMWTY4MENEbkVKK1VNa3BGRmUxUk43bnhkVnBYckM0YVR0bmF1ck9uWWVyY1pnMllWbUxOL2QvZ2N6ZkVpbXJFL2ZzL2JPdXEyOVptbjh0bG9PUmFYZ1pnR2E3OHlPOS9jblhtMkJwYUd2cTI1RHY5UzRFOSs1U0ljOVBxdXBKS2hZRlNTbDQ3K1FjcjFtWU5BQUFBZU5wdHcwY0t3a0FBQU1EWkpBOFE3T1VKdmtMc1BmWjZ6RlZFUlB5OHFIaDJZRVIrM2kvQlA4M3ZJQkxMeVNzb0tpbXJxS3FwYTJocDYranE2UnNZR2htYm1KcVpTeTBzcmF4dGJPM3NIUnlkbkVNVTR1UjZ5eDdKSlh2ZVA3V3JEeWNBQUFBQUFBSC8vd0FDZU5wallHUmdZT0FCWWhrZ1pnSkNaZ1pOQmtZR0xRWnRJSnNGTE1ZQUFBdzNBTGdBZU5vbGl6RUtnREFRQkNjaFJiQzJzRkVSMFlENnFWUWlCQ3YvSDllekdJNlo1WEJBdzhDQksvbTVpUVFWYXVWYlhMbk9yTVp2Mm9MZEtGYThQanVydTJoSnpHYWJtT1NMek5NenZ1dHBCM040Mm1OZ1pHQmc0R0tRWXpCaFlNeEpMTWxqNEdCZ0FZb3cvUC9QQUpKaExNNnNTb1dLZldDQUF3REFqZ2JSQUFCNDJtTmdZR0JrQUlJYkNabzVJUHJtVW4waEdBMEFPOEVGVFFBQScpO1xuICBmb250LXdlaWdodDogNDAwO1xuICBmb250LXN0eWxlOiBub3JtYWw7XG59XG4vKiBGT05UX0VORCAqL1xuOnJvb3Qge1xuICAtLXN3aXBlci10aGVtZS1jb2xvcjogIzAwN2FmZjtcbiAgLypcbiAgLS1zd2lwZXItcHJlbG9hZGVyLWNvbG9yOiB2YXIoLS1zd2lwZXItdGhlbWUtY29sb3IpO1xuICAtLXN3aXBlci13cmFwcGVyLXRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBpbml0aWFsO1xuICAqL1xufVxuLnN3aXBlcixcbnN3aXBlci1jb250YWluZXIge1xuICBtYXJnaW4tbGVmdDogYXV0bztcbiAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIGxpc3Qtc3R5bGU6IG5vbmU7XG4gIHBhZGRpbmc6IDA7XG4gIC8qIEZpeCBvZiBXZWJraXQgZmxpY2tlcmluZyAqL1xuICB6LWluZGV4OiAxO1xuICBkaXNwbGF5OiBibG9jaztcbn1cbi5zd2lwZXItdmVydGljYWwgPiAuc3dpcGVyLXdyYXBwZXIge1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xufVxuLnN3aXBlci13cmFwcGVyIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAxMDAlO1xuICB6LWluZGV4OiAxO1xuICBkaXNwbGF5OiBmbGV4O1xuICB0cmFuc2l0aW9uLXByb3BlcnR5OiB0cmFuc2Zvcm07XG4gIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiB2YXIoLS1zd2lwZXItd3JhcHBlci10cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbiwgaW5pdGlhbCk7XG4gIGJveC1zaXppbmc6IGNvbnRlbnQtYm94O1xufVxuLnN3aXBlci1hbmRyb2lkIC5zd2lwZXItc2xpZGUsXG4uc3dpcGVyLXdyYXBwZXIge1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDBweCwgMCwgMCk7XG59XG4uc3dpcGVyLWhvcml6b250YWwge1xuICB0b3VjaC1hY3Rpb246IHBhbi15O1xufVxuLnN3aXBlci12ZXJ0aWNhbCB7XG4gIHRvdWNoLWFjdGlvbjogcGFuLXg7XG59XG4uc3dpcGVyLXNsaWRlLFxuc3dpcGVyLXNsaWRlIHtcbiAgZmxleC1zaHJpbms6IDA7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IDEwMCU7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogdHJhbnNmb3JtO1xuICBkaXNwbGF5OiBibG9jaztcbn1cbi5zd2lwZXItc2xpZGUtaW52aXNpYmxlLWJsYW5rIHtcbiAgdmlzaWJpbGl0eTogaGlkZGVuO1xufVxuLyogQXV0byBIZWlnaHQgKi9cbi5zd2lwZXItYXV0b2hlaWdodCxcbi5zd2lwZXItYXV0b2hlaWdodCAuc3dpcGVyLXNsaWRlIHtcbiAgaGVpZ2h0OiBhdXRvO1xufVxuLnN3aXBlci1hdXRvaGVpZ2h0IC5zd2lwZXItd3JhcHBlciB7XG4gIGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0O1xuICB0cmFuc2l0aW9uLXByb3BlcnR5OiB0cmFuc2Zvcm0sIGhlaWdodDtcbn1cbi5zd2lwZXItYmFja2ZhY2UtaGlkZGVuIC5zd2lwZXItc2xpZGUge1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVooMCk7XG4gIC13ZWJraXQtYmFja2ZhY2UtdmlzaWJpbGl0eTogaGlkZGVuO1xuICAgICAgICAgIGJhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlbjtcbn1cbi8qIDNEIEVmZmVjdHMgKi9cbi5zd2lwZXItM2Quc3dpcGVyLWNzcy1tb2RlIC5zd2lwZXItd3JhcHBlciB7XG4gIHBlcnNwZWN0aXZlOiAxMjAwcHg7XG59XG4uc3dpcGVyLTNkIC5zd2lwZXItd3JhcHBlciB7XG4gIHRyYW5zZm9ybS1zdHlsZTogcHJlc2VydmUtM2Q7XG59XG4uc3dpcGVyLTNkIHtcbiAgcGVyc3BlY3RpdmU6IDEyMDBweDtcbn1cbi5zd2lwZXItM2QgLnN3aXBlci1zbGlkZSxcbi5zd2lwZXItM2QgLnN3aXBlci1zbGlkZS1zaGFkb3csXG4uc3dpcGVyLTNkIC5zd2lwZXItc2xpZGUtc2hhZG93LWxlZnQsXG4uc3dpcGVyLTNkIC5zd2lwZXItc2xpZGUtc2hhZG93LXJpZ2h0LFxuLnN3aXBlci0zZCAuc3dpcGVyLXNsaWRlLXNoYWRvdy10b3AsXG4uc3dpcGVyLTNkIC5zd2lwZXItc2xpZGUtc2hhZG93LWJvdHRvbSxcbi5zd2lwZXItM2QgLnN3aXBlci1jdWJlLXNoYWRvdyB7XG4gIHRyYW5zZm9ybS1zdHlsZTogcHJlc2VydmUtM2Q7XG59XG4uc3dpcGVyLTNkIC5zd2lwZXItc2xpZGUtc2hhZG93LFxuLnN3aXBlci0zZCAuc3dpcGVyLXNsaWRlLXNoYWRvdy1sZWZ0LFxuLnN3aXBlci0zZCAuc3dpcGVyLXNsaWRlLXNoYWRvdy1yaWdodCxcbi5zd2lwZXItM2QgLnN3aXBlci1zbGlkZS1zaGFkb3ctdG9wLFxuLnN3aXBlci0zZCAuc3dpcGVyLXNsaWRlLXNoYWRvdy1ib3R0b20ge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGxlZnQ6IDA7XG4gIHRvcDogMDtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogMTAwJTtcbiAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gIHotaW5kZXg6IDEwO1xufVxuLnN3aXBlci0zZCAuc3dpcGVyLXNsaWRlLXNoYWRvdyB7XG4gIGJhY2tncm91bmQ6IHJnYmEoMCwgMCwgMCwgMC4xNSk7XG59XG4uc3dpcGVyLTNkIC5zd2lwZXItc2xpZGUtc2hhZG93LWxlZnQge1xuICBiYWNrZ3JvdW5kLWltYWdlOiBsaW5lYXItZ3JhZGllbnQodG8gbGVmdCwgcmdiYSgwLCAwLCAwLCAwLjUpLCByZ2JhKDAsIDAsIDAsIDApKTtcbn1cbi5zd2lwZXItM2QgLnN3aXBlci1zbGlkZS1zaGFkb3ctcmlnaHQge1xuICBiYWNrZ3JvdW5kLWltYWdlOiBsaW5lYXItZ3JhZGllbnQodG8gcmlnaHQsIHJnYmEoMCwgMCwgMCwgMC41KSwgcmdiYSgwLCAwLCAwLCAwKSk7XG59XG4uc3dpcGVyLTNkIC5zd2lwZXItc2xpZGUtc2hhZG93LXRvcCB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IGxpbmVhci1ncmFkaWVudCh0byB0b3AsIHJnYmEoMCwgMCwgMCwgMC41KSwgcmdiYSgwLCAwLCAwLCAwKSk7XG59XG4uc3dpcGVyLTNkIC5zd2lwZXItc2xpZGUtc2hhZG93LWJvdHRvbSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IGxpbmVhci1ncmFkaWVudCh0byBib3R0b20sIHJnYmEoMCwgMCwgMCwgMC41KSwgcmdiYSgwLCAwLCAwLCAwKSk7XG59XG4vKiBDU1MgTW9kZSAqL1xuLnN3aXBlci1jc3MtbW9kZSA+IC5zd2lwZXItd3JhcHBlciB7XG4gIG92ZXJmbG93OiBhdXRvO1xuICBzY3JvbGxiYXItd2lkdGg6IG5vbmU7XG4gIC8qIEZvciBGaXJlZm94ICovXG4gIC1tcy1vdmVyZmxvdy1zdHlsZTogbm9uZTtcbiAgLyogRm9yIEludGVybmV0IEV4cGxvcmVyIGFuZCBFZGdlICovXG59XG4uc3dpcGVyLWNzcy1tb2RlID4gLnN3aXBlci13cmFwcGVyOjotd2Via2l0LXNjcm9sbGJhciB7XG4gIGRpc3BsYXk6IG5vbmU7XG59XG4uc3dpcGVyLWNzcy1tb2RlID4gLnN3aXBlci13cmFwcGVyID4gLnN3aXBlci1zbGlkZSB7XG4gIHNjcm9sbC1zbmFwLWFsaWduOiBzdGFydCBzdGFydDtcbn1cbi5zd2lwZXItaG9yaXpvbnRhbC5zd2lwZXItY3NzLW1vZGUgPiAuc3dpcGVyLXdyYXBwZXIge1xuICBzY3JvbGwtc25hcC10eXBlOiB4IG1hbmRhdG9yeTtcbn1cbi5zd2lwZXItdmVydGljYWwuc3dpcGVyLWNzcy1tb2RlID4gLnN3aXBlci13cmFwcGVyIHtcbiAgc2Nyb2xsLXNuYXAtdHlwZTogeSBtYW5kYXRvcnk7XG59XG4uc3dpcGVyLWNlbnRlcmVkID4gLnN3aXBlci13cmFwcGVyOjpiZWZvcmUge1xuICBjb250ZW50OiAnJztcbiAgZmxleC1zaHJpbms6IDA7XG4gIG9yZGVyOiA5OTk5O1xufVxuLnN3aXBlci1jZW50ZXJlZCA+IC5zd2lwZXItd3JhcHBlciA+IC5zd2lwZXItc2xpZGUge1xuICBzY3JvbGwtc25hcC1hbGlnbjogY2VudGVyIGNlbnRlcjtcbiAgc2Nyb2xsLXNuYXAtc3RvcDogYWx3YXlzO1xufVxuLnN3aXBlci1jZW50ZXJlZC5zd2lwZXItaG9yaXpvbnRhbCA+IC5zd2lwZXItd3JhcHBlciA+IC5zd2lwZXItc2xpZGU6Zmlyc3QtY2hpbGQge1xuICBtYXJnaW4taW5saW5lLXN0YXJ0OiB2YXIoLS1zd2lwZXItY2VudGVyZWQtb2Zmc2V0LWJlZm9yZSk7XG59XG4uc3dpcGVyLWNlbnRlcmVkLnN3aXBlci1ob3Jpem9udGFsID4gLnN3aXBlci13cmFwcGVyOjpiZWZvcmUge1xuICBoZWlnaHQ6IDEwMCU7XG4gIG1pbi1oZWlnaHQ6IDFweDtcbiAgd2lkdGg6IHZhcigtLXN3aXBlci1jZW50ZXJlZC1vZmZzZXQtYWZ0ZXIpO1xufVxuLnN3aXBlci1jZW50ZXJlZC5zd2lwZXItdmVydGljYWwgPiAuc3dpcGVyLXdyYXBwZXIgPiAuc3dpcGVyLXNsaWRlOmZpcnN0LWNoaWxkIHtcbiAgbWFyZ2luLWJsb2NrLXN0YXJ0OiB2YXIoLS1zd2lwZXItY2VudGVyZWQtb2Zmc2V0LWJlZm9yZSk7XG59XG4uc3dpcGVyLWNlbnRlcmVkLnN3aXBlci12ZXJ0aWNhbCA+IC5zd2lwZXItd3JhcHBlcjo6YmVmb3JlIHtcbiAgd2lkdGg6IDEwMCU7XG4gIG1pbi13aWR0aDogMXB4O1xuICBoZWlnaHQ6IHZhcigtLXN3aXBlci1jZW50ZXJlZC1vZmZzZXQtYWZ0ZXIpO1xufVxuLnN3aXBlci1sYXp5LXByZWxvYWRlciB7XG4gIHdpZHRoOiA0MnB4O1xuICBoZWlnaHQ6IDQycHg7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgbGVmdDogNTAlO1xuICB0b3A6IDUwJTtcbiAgbWFyZ2luLWxlZnQ6IC0yMXB4O1xuICBtYXJnaW4tdG9wOiAtMjFweDtcbiAgei1pbmRleDogMTA7XG4gIHRyYW5zZm9ybS1vcmlnaW46IDUwJTtcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgYm9yZGVyOiA0cHggc29saWQgdmFyKC0tc3dpcGVyLXByZWxvYWRlci1jb2xvciwgdmFyKC0tc3dpcGVyLXRoZW1lLWNvbG9yKSk7XG4gIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgYm9yZGVyLXRvcC1jb2xvcjogdHJhbnNwYXJlbnQ7XG59XG4uc3dpcGVyOm5vdCguc3dpcGVyLXdhdGNoLXByb2dyZXNzKSAuc3dpcGVyLWxhenktcHJlbG9hZGVyLFxuc3dpcGVyLWNvbnRhaW5lcjpub3QoLnN3aXBlci13YXRjaC1wcm9ncmVzcykgLnN3aXBlci1sYXp5LXByZWxvYWRlcixcbi5zd2lwZXItd2F0Y2gtcHJvZ3Jlc3MgLnN3aXBlci1zbGlkZS12aXNpYmxlIC5zd2lwZXItbGF6eS1wcmVsb2FkZXIge1xuICBhbmltYXRpb246IHN3aXBlci1wcmVsb2FkZXItc3BpbiAxcyBpbmZpbml0ZSBsaW5lYXI7XG59XG4uc3dpcGVyLWxhenktcHJlbG9hZGVyLXdoaXRlIHtcbiAgLS1zd2lwZXItcHJlbG9hZGVyLWNvbG9yOiAjZmZmO1xufVxuLnN3aXBlci1sYXp5LXByZWxvYWRlci1ibGFjayB7XG4gIC0tc3dpcGVyLXByZWxvYWRlci1jb2xvcjogIzAwMDtcbn1cbkBrZXlmcmFtZXMgc3dpcGVyLXByZWxvYWRlci1zcGluIHtcbiAgMCUge1xuICAgIHRyYW5zZm9ybTogcm90YXRlKDBkZWcpO1xuICB9XG4gIDEwMCUge1xuICAgIHRyYW5zZm9ybTogcm90YXRlKDM2MGRlZyk7XG4gIH1cbn1cbi5zd2lwZXItdmlydHVhbCAuc3dpcGVyLXNsaWRlIHtcbiAgLXdlYmtpdC1iYWNrZmFjZS12aXNpYmlsaXR5OiBoaWRkZW47XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWigwKTtcbn1cbi5zd2lwZXItdmlydHVhbC5zd2lwZXItY3NzLW1vZGUgLnN3aXBlci13cmFwcGVyOjphZnRlciB7XG4gIGNvbnRlbnQ6ICcnO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGxlZnQ6IDA7XG4gIHRvcDogMDtcbiAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG59XG4uc3dpcGVyLXZpcnR1YWwuc3dpcGVyLWNzcy1tb2RlLnN3aXBlci1ob3Jpem9udGFsIC5zd2lwZXItd3JhcHBlcjo6YWZ0ZXIge1xuICBoZWlnaHQ6IDFweDtcbiAgd2lkdGg6IHZhcigtLXN3aXBlci12aXJ0dWFsLXNpemUpO1xufVxuLnN3aXBlci12aXJ0dWFsLnN3aXBlci1jc3MtbW9kZS5zd2lwZXItdmVydGljYWwgLnN3aXBlci13cmFwcGVyOjphZnRlciB7XG4gIHdpZHRoOiAxcHg7XG4gIGhlaWdodDogdmFyKC0tc3dpcGVyLXZpcnR1YWwtc2l6ZSk7XG59XG46cm9vdCB7XG4gIC0tc3dpcGVyLW5hdmlnYXRpb24tc2l6ZTogNDRweDtcbiAgLypcbiAgLS1zd2lwZXItbmF2aWdhdGlvbi10b3Atb2Zmc2V0OiA1MCU7XG4gIC0tc3dpcGVyLW5hdmlnYXRpb24tc2lkZXMtb2Zmc2V0OiAxMHB4O1xuICAtLXN3aXBlci1uYXZpZ2F0aW9uLWNvbG9yOiB2YXIoLS1zd2lwZXItdGhlbWUtY29sb3IpO1xuICAqL1xufVxuLnN3aXBlci1idXR0b24tcHJldixcbi5zd2lwZXItYnV0dG9uLW5leHQge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogdmFyKC0tc3dpcGVyLW5hdmlnYXRpb24tdG9wLW9mZnNldCwgNTAlKTtcbiAgd2lkdGg6IGNhbGModmFyKC0tc3dpcGVyLW5hdmlnYXRpb24tc2l6ZSkgLyA0NCAqIDI3KTtcbiAgaGVpZ2h0OiB2YXIoLS1zd2lwZXItbmF2aWdhdGlvbi1zaXplKTtcbiAgbWFyZ2luLXRvcDogY2FsYygwcHggLSAodmFyKC0tc3dpcGVyLW5hdmlnYXRpb24tc2l6ZSkgLyAyKSk7XG4gIHotaW5kZXg6IDEwO1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICBjb2xvcjogdmFyKC0tc3dpcGVyLW5hdmlnYXRpb24tY29sb3IsIHZhcigtLXN3aXBlci10aGVtZS1jb2xvcikpO1xufVxuLnN3aXBlci1idXR0b24tcHJldi5zd2lwZXItYnV0dG9uLWRpc2FibGVkLFxuLnN3aXBlci1idXR0b24tbmV4dC5zd2lwZXItYnV0dG9uLWRpc2FibGVkIHtcbiAgb3BhY2l0eTogMC4zNTtcbiAgY3Vyc29yOiBhdXRvO1xuICBwb2ludGVyLWV2ZW50czogbm9uZTtcbn1cbi5zd2lwZXItYnV0dG9uLXByZXYuc3dpcGVyLWJ1dHRvbi1oaWRkZW4sXG4uc3dpcGVyLWJ1dHRvbi1uZXh0LnN3aXBlci1idXR0b24taGlkZGVuIHtcbiAgb3BhY2l0eTogMDtcbiAgY3Vyc29yOiBhdXRvO1xuICBwb2ludGVyLWV2ZW50czogbm9uZTtcbn1cbi5zd2lwZXItbmF2aWdhdGlvbi1kaXNhYmxlZCAuc3dpcGVyLWJ1dHRvbi1wcmV2LFxuLnN3aXBlci1uYXZpZ2F0aW9uLWRpc2FibGVkIC5zd2lwZXItYnV0dG9uLW5leHQge1xuICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG59XG4uc3dpcGVyLWJ1dHRvbi1wcmV2OmFmdGVyLFxuLnN3aXBlci1idXR0b24tbmV4dDphZnRlciB7XG4gIGZvbnQtZmFtaWx5OiBzd2lwZXItaWNvbnM7XG4gIGZvbnQtc2l6ZTogdmFyKC0tc3dpcGVyLW5hdmlnYXRpb24tc2l6ZSk7XG4gIHRleHQtdHJhbnNmb3JtOiBub25lICFpbXBvcnRhbnQ7XG4gIGxldHRlci1zcGFjaW5nOiAwO1xuICBmb250LXZhcmlhbnQ6IGluaXRpYWw7XG4gIGxpbmUtaGVpZ2h0OiAxO1xufVxuLnN3aXBlci1idXR0b24tcHJldixcbi5zd2lwZXItcnRsIC5zd2lwZXItYnV0dG9uLW5leHQge1xuICBsZWZ0OiB2YXIoLS1zd2lwZXItbmF2aWdhdGlvbi1zaWRlcy1vZmZzZXQsIDEwcHgpO1xuICByaWdodDogYXV0bztcbn1cbi5zd2lwZXItYnV0dG9uLXByZXY6YWZ0ZXIsXG4uc3dpcGVyLXJ0bCAuc3dpcGVyLWJ1dHRvbi1uZXh0OmFmdGVyIHtcbiAgY29udGVudDogJ3ByZXYnO1xufVxuLnN3aXBlci1idXR0b24tbmV4dCxcbi5zd2lwZXItcnRsIC5zd2lwZXItYnV0dG9uLXByZXYge1xuICByaWdodDogdmFyKC0tc3dpcGVyLW5hdmlnYXRpb24tc2lkZXMtb2Zmc2V0LCAxMHB4KTtcbiAgbGVmdDogYXV0bztcbn1cbi5zd2lwZXItYnV0dG9uLW5leHQ6YWZ0ZXIsXG4uc3dpcGVyLXJ0bCAuc3dpcGVyLWJ1dHRvbi1wcmV2OmFmdGVyIHtcbiAgY29udGVudDogJ25leHQnO1xufVxuLnN3aXBlci1idXR0b24tbG9jayB7XG4gIGRpc3BsYXk6IG5vbmU7XG59XG46cm9vdCB7XG4gIC8qXG4gIC0tc3dpcGVyLXBhZ2luYXRpb24tY29sb3I6IHZhcigtLXN3aXBlci10aGVtZS1jb2xvcik7XG4gIC0tc3dpcGVyLXBhZ2luYXRpb24tbGVmdDogYXV0bztcbiAgLS1zd2lwZXItcGFnaW5hdGlvbi1yaWdodDogOHB4O1xuICAtLXN3aXBlci1wYWdpbmF0aW9uLWJvdHRvbTogOHB4O1xuICAtLXN3aXBlci1wYWdpbmF0aW9uLXRvcDogYXV0bztcbiAgLS1zd2lwZXItcGFnaW5hdGlvbi1mcmFjdGlvbi1jb2xvcjogaW5oZXJpdDtcbiAgLS1zd2lwZXItcGFnaW5hdGlvbi1wcm9ncmVzc2Jhci1iZy1jb2xvcjogcmdiYSgwLDAsMCwwLjI1KTtcbiAgLS1zd2lwZXItcGFnaW5hdGlvbi1wcm9ncmVzc2Jhci1zaXplOiA0cHg7XG4gIC0tc3dpcGVyLXBhZ2luYXRpb24tYnVsbGV0LXNpemU6IDhweDtcbiAgLS1zd2lwZXItcGFnaW5hdGlvbi1idWxsZXQtd2lkdGg6IDhweDtcbiAgLS1zd2lwZXItcGFnaW5hdGlvbi1idWxsZXQtaGVpZ2h0OiA4cHg7XG4gIC0tc3dpcGVyLXBhZ2luYXRpb24tYnVsbGV0LWluYWN0aXZlLWNvbG9yOiAjMDAwO1xuICAtLXN3aXBlci1wYWdpbmF0aW9uLWJ1bGxldC1pbmFjdGl2ZS1vcGFjaXR5OiAwLjI7XG4gIC0tc3dpcGVyLXBhZ2luYXRpb24tYnVsbGV0LW9wYWNpdHk6IDE7XG4gIC0tc3dpcGVyLXBhZ2luYXRpb24tYnVsbGV0LWhvcml6b250YWwtZ2FwOiA0cHg7XG4gIC0tc3dpcGVyLXBhZ2luYXRpb24tYnVsbGV0LXZlcnRpY2FsLWdhcDogNnB4O1xuICAqL1xufVxuLnN3aXBlci1wYWdpbmF0aW9uIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIHRyYW5zaXRpb246IDMwMG1zIG9wYWNpdHk7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gIHotaW5kZXg6IDEwO1xufVxuLnN3aXBlci1wYWdpbmF0aW9uLnN3aXBlci1wYWdpbmF0aW9uLWhpZGRlbiB7XG4gIG9wYWNpdHk6IDA7XG59XG4uc3dpcGVyLXBhZ2luYXRpb24tZGlzYWJsZWQgPiAuc3dpcGVyLXBhZ2luYXRpb24sXG4uc3dpcGVyLXBhZ2luYXRpb24uc3dpcGVyLXBhZ2luYXRpb24tZGlzYWJsZWQge1xuICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG59XG4vKiBDb21tb24gU3R5bGVzICovXG4uc3dpcGVyLXBhZ2luYXRpb24tZnJhY3Rpb24sXG4uc3dpcGVyLXBhZ2luYXRpb24tY3VzdG9tLFxuLnN3aXBlci1ob3Jpem9udGFsID4gLnN3aXBlci1wYWdpbmF0aW9uLWJ1bGxldHMsXG4uc3dpcGVyLXBhZ2luYXRpb24tYnVsbGV0cy5zd2lwZXItcGFnaW5hdGlvbi1ob3Jpem9udGFsIHtcbiAgYm90dG9tOiB2YXIoLS1zd2lwZXItcGFnaW5hdGlvbi1ib3R0b20sIDhweCk7XG4gIHRvcDogdmFyKC0tc3dpcGVyLXBhZ2luYXRpb24tdG9wLCBhdXRvKTtcbiAgbGVmdDogMDtcbiAgd2lkdGg6IDEwMCU7XG59XG4vKiBCdWxsZXRzICovXG4uc3dpcGVyLXBhZ2luYXRpb24tYnVsbGV0cy1keW5hbWljIHtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgZm9udC1zaXplOiAwO1xufVxuLnN3aXBlci1wYWdpbmF0aW9uLWJ1bGxldHMtZHluYW1pYyAuc3dpcGVyLXBhZ2luYXRpb24tYnVsbGV0IHtcbiAgdHJhbnNmb3JtOiBzY2FsZSgwLjMzKTtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xufVxuLnN3aXBlci1wYWdpbmF0aW9uLWJ1bGxldHMtZHluYW1pYyAuc3dpcGVyLXBhZ2luYXRpb24tYnVsbGV0LWFjdGl2ZSB7XG4gIHRyYW5zZm9ybTogc2NhbGUoMSk7XG59XG4uc3dpcGVyLXBhZ2luYXRpb24tYnVsbGV0cy1keW5hbWljIC5zd2lwZXItcGFnaW5hdGlvbi1idWxsZXQtYWN0aXZlLW1haW4ge1xuICB0cmFuc2Zvcm06IHNjYWxlKDEpO1xufVxuLnN3aXBlci1wYWdpbmF0aW9uLWJ1bGxldHMtZHluYW1pYyAuc3dpcGVyLXBhZ2luYXRpb24tYnVsbGV0LWFjdGl2ZS1wcmV2IHtcbiAgdHJhbnNmb3JtOiBzY2FsZSgwLjY2KTtcbn1cbi5zd2lwZXItcGFnaW5hdGlvbi1idWxsZXRzLWR5bmFtaWMgLnN3aXBlci1wYWdpbmF0aW9uLWJ1bGxldC1hY3RpdmUtcHJldi1wcmV2IHtcbiAgdHJhbnNmb3JtOiBzY2FsZSgwLjMzKTtcbn1cbi5zd2lwZXItcGFnaW5hdGlvbi1idWxsZXRzLWR5bmFtaWMgLnN3aXBlci1wYWdpbmF0aW9uLWJ1bGxldC1hY3RpdmUtbmV4dCB7XG4gIHRyYW5zZm9ybTogc2NhbGUoMC42Nik7XG59XG4uc3dpcGVyLXBhZ2luYXRpb24tYnVsbGV0cy1keW5hbWljIC5zd2lwZXItcGFnaW5hdGlvbi1idWxsZXQtYWN0aXZlLW5leHQtbmV4dCB7XG4gIHRyYW5zZm9ybTogc2NhbGUoMC4zMyk7XG59XG4uc3dpcGVyLXBhZ2luYXRpb24tYnVsbGV0IHtcbiAgd2lkdGg6IHZhcigtLXN3aXBlci1wYWdpbmF0aW9uLWJ1bGxldC13aWR0aCwgdmFyKC0tc3dpcGVyLXBhZ2luYXRpb24tYnVsbGV0LXNpemUsIDhweCkpO1xuICBoZWlnaHQ6IHZhcigtLXN3aXBlci1wYWdpbmF0aW9uLWJ1bGxldC1oZWlnaHQsIHZhcigtLXN3aXBlci1wYWdpbmF0aW9uLWJ1bGxldC1zaXplLCA4cHgpKTtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBib3JkZXItcmFkaXVzOiA1MCU7XG4gIGJhY2tncm91bmQ6IHZhcigtLXN3aXBlci1wYWdpbmF0aW9uLWJ1bGxldC1pbmFjdGl2ZS1jb2xvciwgIzAwMCk7XG4gIG9wYWNpdHk6IHZhcigtLXN3aXBlci1wYWdpbmF0aW9uLWJ1bGxldC1pbmFjdGl2ZS1vcGFjaXR5LCAwLjIpO1xufVxuYnV0dG9uLnN3aXBlci1wYWdpbmF0aW9uLWJ1bGxldCB7XG4gIGJvcmRlcjogbm9uZTtcbiAgbWFyZ2luOiAwO1xuICBwYWRkaW5nOiAwO1xuICBib3gtc2hhZG93OiBub25lO1xuICAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7XG4gICAgICAgICAgYXBwZWFyYW5jZTogbm9uZTtcbn1cbi5zd2lwZXItcGFnaW5hdGlvbi1jbGlja2FibGUgLnN3aXBlci1wYWdpbmF0aW9uLWJ1bGxldCB7XG4gIGN1cnNvcjogcG9pbnRlcjtcbn1cbi5zd2lwZXItcGFnaW5hdGlvbi1idWxsZXQ6b25seS1jaGlsZCB7XG4gIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbn1cbi5zd2lwZXItcGFnaW5hdGlvbi1idWxsZXQtYWN0aXZlIHtcbiAgb3BhY2l0eTogdmFyKC0tc3dpcGVyLXBhZ2luYXRpb24tYnVsbGV0LW9wYWNpdHksIDEpO1xuICBiYWNrZ3JvdW5kOiB2YXIoLS1zd2lwZXItcGFnaW5hdGlvbi1jb2xvciwgdmFyKC0tc3dpcGVyLXRoZW1lLWNvbG9yKSk7XG59XG4uc3dpcGVyLXZlcnRpY2FsID4gLnN3aXBlci1wYWdpbmF0aW9uLWJ1bGxldHMsXG4uc3dpcGVyLXBhZ2luYXRpb24tdmVydGljYWwuc3dpcGVyLXBhZ2luYXRpb24tYnVsbGV0cyB7XG4gIHJpZ2h0OiB2YXIoLS1zd2lwZXItcGFnaW5hdGlvbi1yaWdodCwgOHB4KTtcbiAgbGVmdDogdmFyKC0tc3dpcGVyLXBhZ2luYXRpb24tbGVmdCwgYXV0byk7XG4gIHRvcDogNTAlO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDBweCwgLTUwJSwgMCk7XG59XG4uc3dpcGVyLXZlcnRpY2FsID4gLnN3aXBlci1wYWdpbmF0aW9uLWJ1bGxldHMgLnN3aXBlci1wYWdpbmF0aW9uLWJ1bGxldCxcbi5zd2lwZXItcGFnaW5hdGlvbi12ZXJ0aWNhbC5zd2lwZXItcGFnaW5hdGlvbi1idWxsZXRzIC5zd2lwZXItcGFnaW5hdGlvbi1idWxsZXQge1xuICBtYXJnaW46IHZhcigtLXN3aXBlci1wYWdpbmF0aW9uLWJ1bGxldC12ZXJ0aWNhbC1nYXAsIDZweCkgMDtcbiAgZGlzcGxheTogYmxvY2s7XG59XG4uc3dpcGVyLXZlcnRpY2FsID4gLnN3aXBlci1wYWdpbmF0aW9uLWJ1bGxldHMuc3dpcGVyLXBhZ2luYXRpb24tYnVsbGV0cy1keW5hbWljLFxuLnN3aXBlci1wYWdpbmF0aW9uLXZlcnRpY2FsLnN3aXBlci1wYWdpbmF0aW9uLWJ1bGxldHMuc3dpcGVyLXBhZ2luYXRpb24tYnVsbGV0cy1keW5hbWljIHtcbiAgdG9wOiA1MCU7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKTtcbiAgd2lkdGg6IDhweDtcbn1cbi5zd2lwZXItdmVydGljYWwgPiAuc3dpcGVyLXBhZ2luYXRpb24tYnVsbGV0cy5zd2lwZXItcGFnaW5hdGlvbi1idWxsZXRzLWR5bmFtaWMgLnN3aXBlci1wYWdpbmF0aW9uLWJ1bGxldCxcbi5zd2lwZXItcGFnaW5hdGlvbi12ZXJ0aWNhbC5zd2lwZXItcGFnaW5hdGlvbi1idWxsZXRzLnN3aXBlci1wYWdpbmF0aW9uLWJ1bGxldHMtZHluYW1pYyAuc3dpcGVyLXBhZ2luYXRpb24tYnVsbGV0IHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICB0cmFuc2l0aW9uOiAyMDBtcyB0cmFuc2Zvcm0sIDIwMG1zIHRvcDtcbn1cbi5zd2lwZXItaG9yaXpvbnRhbCA+IC5zd2lwZXItcGFnaW5hdGlvbi1idWxsZXRzIC5zd2lwZXItcGFnaW5hdGlvbi1idWxsZXQsXG4uc3dpcGVyLXBhZ2luYXRpb24taG9yaXpvbnRhbC5zd2lwZXItcGFnaW5hdGlvbi1idWxsZXRzIC5zd2lwZXItcGFnaW5hdGlvbi1idWxsZXQge1xuICBtYXJnaW46IDAgdmFyKC0tc3dpcGVyLXBhZ2luYXRpb24tYnVsbGV0LWhvcml6b250YWwtZ2FwLCA0cHgpO1xufVxuLnN3aXBlci1ob3Jpem9udGFsID4gLnN3aXBlci1wYWdpbmF0aW9uLWJ1bGxldHMuc3dpcGVyLXBhZ2luYXRpb24tYnVsbGV0cy1keW5hbWljLFxuLnN3aXBlci1wYWdpbmF0aW9uLWhvcml6b250YWwuc3dpcGVyLXBhZ2luYXRpb24tYnVsbGV0cy5zd2lwZXItcGFnaW5hdGlvbi1idWxsZXRzLWR5bmFtaWMge1xuICBsZWZ0OiA1MCU7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNTAlKTtcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbn1cbi5zd2lwZXItaG9yaXpvbnRhbCA+IC5zd2lwZXItcGFnaW5hdGlvbi1idWxsZXRzLnN3aXBlci1wYWdpbmF0aW9uLWJ1bGxldHMtZHluYW1pYyAuc3dpcGVyLXBhZ2luYXRpb24tYnVsbGV0LFxuLnN3aXBlci1wYWdpbmF0aW9uLWhvcml6b250YWwuc3dpcGVyLXBhZ2luYXRpb24tYnVsbGV0cy5zd2lwZXItcGFnaW5hdGlvbi1idWxsZXRzLWR5bmFtaWMgLnN3aXBlci1wYWdpbmF0aW9uLWJ1bGxldCB7XG4gIHRyYW5zaXRpb246IDIwMG1zIHRyYW5zZm9ybSwgMjAwbXMgbGVmdDtcbn1cbi5zd2lwZXItaG9yaXpvbnRhbC5zd2lwZXItcnRsID4gLnN3aXBlci1wYWdpbmF0aW9uLWJ1bGxldHMtZHluYW1pYyAuc3dpcGVyLXBhZ2luYXRpb24tYnVsbGV0LFxuOmhvc3QoLnN3aXBlci1ob3Jpem9udGFsLnN3aXBlci1ydGwpIC5zd2lwZXItcGFnaW5hdGlvbi1idWxsZXRzLWR5bmFtaWMgLnN3aXBlci1wYWdpbmF0aW9uLWJ1bGxldCB7XG4gIHRyYW5zaXRpb246IDIwMG1zIHRyYW5zZm9ybSwgMjAwbXMgcmlnaHQ7XG59XG4vKiBGcmFjdGlvbiAqL1xuLnN3aXBlci1wYWdpbmF0aW9uLWZyYWN0aW9uIHtcbiAgY29sb3I6IHZhcigtLXN3aXBlci1wYWdpbmF0aW9uLWZyYWN0aW9uLWNvbG9yLCBpbmhlcml0KTtcbn1cbi8qIFByb2dyZXNzICovXG4uc3dpcGVyLXBhZ2luYXRpb24tcHJvZ3Jlc3NiYXIge1xuICBiYWNrZ3JvdW5kOiB2YXIoLS1zd2lwZXItcGFnaW5hdGlvbi1wcm9ncmVzc2Jhci1iZy1jb2xvciwgcmdiYSgwLCAwLCAwLCAwLjI1KSk7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgLypBRERfSE9TVCovXG59XG4uc3dpcGVyLXBhZ2luYXRpb24tcHJvZ3Jlc3NiYXIgLnN3aXBlci1wYWdpbmF0aW9uLXByb2dyZXNzYmFyLWZpbGwge1xuICBiYWNrZ3JvdW5kOiB2YXIoLS1zd2lwZXItcGFnaW5hdGlvbi1jb2xvciwgdmFyKC0tc3dpcGVyLXRoZW1lLWNvbG9yKSk7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgbGVmdDogMDtcbiAgdG9wOiAwO1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAxMDAlO1xuICB0cmFuc2Zvcm06IHNjYWxlKDApO1xuICB0cmFuc2Zvcm0tb3JpZ2luOiBsZWZ0IHRvcDtcbn1cbi5zd2lwZXItcnRsIC5zd2lwZXItcGFnaW5hdGlvbi1wcm9ncmVzc2JhciAuc3dpcGVyLXBhZ2luYXRpb24tcHJvZ3Jlc3NiYXItZmlsbCB7XG4gIHRyYW5zZm9ybS1vcmlnaW46IHJpZ2h0IHRvcDtcbn1cbi5zd2lwZXItaG9yaXpvbnRhbCA+IC5zd2lwZXItcGFnaW5hdGlvbi1wcm9ncmVzc2Jhcixcbi5zd2lwZXItcGFnaW5hdGlvbi1wcm9ncmVzc2Jhci5zd2lwZXItcGFnaW5hdGlvbi1ob3Jpem9udGFsLFxuLnN3aXBlci12ZXJ0aWNhbCA+IC5zd2lwZXItcGFnaW5hdGlvbi1wcm9ncmVzc2Jhci5zd2lwZXItcGFnaW5hdGlvbi1wcm9ncmVzc2Jhci1vcHBvc2l0ZSxcbi5zd2lwZXItcGFnaW5hdGlvbi1wcm9ncmVzc2Jhci5zd2lwZXItcGFnaW5hdGlvbi12ZXJ0aWNhbC5zd2lwZXItcGFnaW5hdGlvbi1wcm9ncmVzc2Jhci1vcHBvc2l0ZSB7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IHZhcigtLXN3aXBlci1wYWdpbmF0aW9uLXByb2dyZXNzYmFyLXNpemUsIDRweCk7XG4gIGxlZnQ6IDA7XG4gIHRvcDogMDtcbn1cbi5zd2lwZXItdmVydGljYWwgPiAuc3dpcGVyLXBhZ2luYXRpb24tcHJvZ3Jlc3NiYXIsXG4uc3dpcGVyLXBhZ2luYXRpb24tcHJvZ3Jlc3NiYXIuc3dpcGVyLXBhZ2luYXRpb24tdmVydGljYWwsXG4uc3dpcGVyLWhvcml6b250YWwgPiAuc3dpcGVyLXBhZ2luYXRpb24tcHJvZ3Jlc3NiYXIuc3dpcGVyLXBhZ2luYXRpb24tcHJvZ3Jlc3NiYXItb3Bwb3NpdGUsXG4uc3dpcGVyLXBhZ2luYXRpb24tcHJvZ3Jlc3NiYXIuc3dpcGVyLXBhZ2luYXRpb24taG9yaXpvbnRhbC5zd2lwZXItcGFnaW5hdGlvbi1wcm9ncmVzc2Jhci1vcHBvc2l0ZSB7XG4gIHdpZHRoOiB2YXIoLS1zd2lwZXItcGFnaW5hdGlvbi1wcm9ncmVzc2Jhci1zaXplLCA0cHgpO1xuICBoZWlnaHQ6IDEwMCU7XG4gIGxlZnQ6IDA7XG4gIHRvcDogMDtcbn1cbi5zd2lwZXItcGFnaW5hdGlvbi1sb2NrIHtcbiAgZGlzcGxheTogbm9uZTtcbn1cbjpyb290IHtcbiAgLypcbiAgLS1zd2lwZXItc2Nyb2xsYmFyLWJvcmRlci1yYWRpdXM6IDEwcHg7XG4gIC0tc3dpcGVyLXNjcm9sbGJhci10b3A6IGF1dG87XG4gIC0tc3dpcGVyLXNjcm9sbGJhci1ib3R0b206IDRweDtcbiAgLS1zd2lwZXItc2Nyb2xsYmFyLWxlZnQ6IGF1dG87XG4gIC0tc3dpcGVyLXNjcm9sbGJhci1yaWdodDogNHB4O1xuICAtLXN3aXBlci1zY3JvbGxiYXItc2lkZXMtb2Zmc2V0OiAxJTtcbiAgLS1zd2lwZXItc2Nyb2xsYmFyLWJnLWNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuMSk7XG4gIC0tc3dpcGVyLXNjcm9sbGJhci1kcmFnLWJnLWNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuNSk7XG4gIC0tc3dpcGVyLXNjcm9sbGJhci1zaXplOiA0cHg7XG4gICovXG59XG4uc3dpcGVyLXNjcm9sbGJhciB7XG4gIGJvcmRlci1yYWRpdXM6IHZhcigtLXN3aXBlci1zY3JvbGxiYXItYm9yZGVyLXJhZGl1cywgMTBweCk7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgLW1zLXRvdWNoLWFjdGlvbjogbm9uZTtcbiAgYmFja2dyb3VuZDogdmFyKC0tc3dpcGVyLXNjcm9sbGJhci1iZy1jb2xvciwgcmdiYSgwLCAwLCAwLCAwLjEpKTtcbn1cbi5zd2lwZXItc2Nyb2xsYmFyLWRpc2FibGVkID4gLnN3aXBlci1zY3JvbGxiYXIsXG4uc3dpcGVyLXNjcm9sbGJhci5zd2lwZXItc2Nyb2xsYmFyLWRpc2FibGVkIHtcbiAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xufVxuLnN3aXBlci1ob3Jpem9udGFsID4gLnN3aXBlci1zY3JvbGxiYXIsXG4uc3dpcGVyLXNjcm9sbGJhci5zd2lwZXItc2Nyb2xsYmFyLWhvcml6b250YWwge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGxlZnQ6IHZhcigtLXN3aXBlci1zY3JvbGxiYXItc2lkZXMtb2Zmc2V0LCAxJSk7XG4gIGJvdHRvbTogdmFyKC0tc3dpcGVyLXNjcm9sbGJhci1ib3R0b20sIDRweCk7XG4gIHRvcDogdmFyKC0tc3dpcGVyLXNjcm9sbGJhci10b3AsIGF1dG8pO1xuICB6LWluZGV4OiA1MDtcbiAgaGVpZ2h0OiB2YXIoLS1zd2lwZXItc2Nyb2xsYmFyLXNpemUsIDRweCk7XG4gIHdpZHRoOiBjYWxjKDEwMCUgLSAyICogdmFyKC0tc3dpcGVyLXNjcm9sbGJhci1zaWRlcy1vZmZzZXQsIDElKSk7XG59XG4uc3dpcGVyLXZlcnRpY2FsID4gLnN3aXBlci1zY3JvbGxiYXIsXG4uc3dpcGVyLXNjcm9sbGJhci5zd2lwZXItc2Nyb2xsYmFyLXZlcnRpY2FsIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBsZWZ0OiB2YXIoLS1zd2lwZXItc2Nyb2xsYmFyLWxlZnQsIGF1dG8pO1xuICByaWdodDogdmFyKC0tc3dpcGVyLXNjcm9sbGJhci1yaWdodCwgNHB4KTtcbiAgdG9wOiB2YXIoLS1zd2lwZXItc2Nyb2xsYmFyLXNpZGVzLW9mZnNldCwgMSUpO1xuICB6LWluZGV4OiA1MDtcbiAgd2lkdGg6IHZhcigtLXN3aXBlci1zY3JvbGxiYXItc2l6ZSwgNHB4KTtcbiAgaGVpZ2h0OiBjYWxjKDEwMCUgLSAyICogdmFyKC0tc3dpcGVyLXNjcm9sbGJhci1zaWRlcy1vZmZzZXQsIDElKSk7XG59XG4uc3dpcGVyLXNjcm9sbGJhci1kcmFnIHtcbiAgaGVpZ2h0OiAxMDAlO1xuICB3aWR0aDogMTAwJTtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBiYWNrZ3JvdW5kOiB2YXIoLS1zd2lwZXItc2Nyb2xsYmFyLWRyYWctYmctY29sb3IsIHJnYmEoMCwgMCwgMCwgMC41KSk7XG4gIGJvcmRlci1yYWRpdXM6IHZhcigtLXN3aXBlci1zY3JvbGxiYXItYm9yZGVyLXJhZGl1cywgMTBweCk7XG4gIGxlZnQ6IDA7XG4gIHRvcDogMDtcbn1cbi5zd2lwZXItc2Nyb2xsYmFyLWN1cnNvci1kcmFnIHtcbiAgY3Vyc29yOiBtb3ZlO1xufVxuLnN3aXBlci1zY3JvbGxiYXItbG9jayB7XG4gIGRpc3BsYXk6IG5vbmU7XG59XG4uc3dpcGVyLXpvb20tY29udGFpbmVyIHtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogMTAwJTtcbiAgZGlzcGxheTogZmxleDtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbn1cbi5zd2lwZXItem9vbS1jb250YWluZXIgPiBpbWcsXG4uc3dpcGVyLXpvb20tY29udGFpbmVyID4gc3ZnLFxuLnN3aXBlci16b29tLWNvbnRhaW5lciA+IGNhbnZhcyB7XG4gIG1heC13aWR0aDogMTAwJTtcbiAgbWF4LWhlaWdodDogMTAwJTtcbiAgb2JqZWN0LWZpdDogY29udGFpbjtcbn1cbi5zd2lwZXItc2xpZGUtem9vbWVkIHtcbiAgY3Vyc29yOiBtb3ZlO1xuICB0b3VjaC1hY3Rpb246IG5vbmU7XG59XG4vKiBhMTF5ICovXG4uc3dpcGVyIC5zd2lwZXItbm90aWZpY2F0aW9uLFxuc3dpcGVyLWNvbnRhaW5lciAuc3dpcGVyLW5vdGlmaWNhdGlvbiB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgbGVmdDogMDtcbiAgdG9wOiAwO1xuICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgb3BhY2l0eTogMDtcbiAgei1pbmRleDogLTEwMDA7XG59XG4uc3dpcGVyLWZyZWUtbW9kZSA+IC5zd2lwZXItd3JhcHBlciB7XG4gIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLW91dDtcbiAgbWFyZ2luOiAwIGF1dG87XG59XG4uc3dpcGVyLWdyaWQgPiAuc3dpcGVyLXdyYXBwZXIge1xuICBmbGV4LXdyYXA6IHdyYXA7XG59XG4uc3dpcGVyLWdyaWQtY29sdW1uID4gLnN3aXBlci13cmFwcGVyIHtcbiAgZmxleC13cmFwOiB3cmFwO1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xufVxuLnN3aXBlci1mYWRlLnN3aXBlci1mcmVlLW1vZGUgLnN3aXBlci1zbGlkZSB7XG4gIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLW91dDtcbn1cbi5zd2lwZXItZmFkZSAuc3dpcGVyLXNsaWRlIHtcbiAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gIHRyYW5zaXRpb24tcHJvcGVydHk6IG9wYWNpdHk7XG59XG4uc3dpcGVyLWZhZGUgLnN3aXBlci1zbGlkZSAuc3dpcGVyLXNsaWRlIHtcbiAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG59XG4uc3dpcGVyLWZhZGUgLnN3aXBlci1zbGlkZS1hY3RpdmUsXG4uc3dpcGVyLWZhZGUgLnN3aXBlci1zbGlkZS1hY3RpdmUgLnN3aXBlci1zbGlkZS1hY3RpdmUge1xuICBwb2ludGVyLWV2ZW50czogYXV0bztcbn1cbi5zd2lwZXItY3ViZSB7XG4gIG92ZXJmbG93OiB2aXNpYmxlO1xufVxuLnN3aXBlci1jdWJlIC5zd2lwZXItc2xpZGUge1xuICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgLXdlYmtpdC1iYWNrZmFjZS12aXNpYmlsaXR5OiBoaWRkZW47XG4gICAgICAgICAgYmFja2ZhY2UtdmlzaWJpbGl0eTogaGlkZGVuO1xuICB6LWluZGV4OiAxO1xuICB2aXNpYmlsaXR5OiBoaWRkZW47XG4gIHRyYW5zZm9ybS1vcmlnaW46IDAgMDtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogMTAwJTtcbn1cbi5zd2lwZXItY3ViZSAuc3dpcGVyLXNsaWRlIC5zd2lwZXItc2xpZGUge1xuICBwb2ludGVyLWV2ZW50czogbm9uZTtcbn1cbi5zd2lwZXItY3ViZS5zd2lwZXItcnRsIC5zd2lwZXItc2xpZGUge1xuICB0cmFuc2Zvcm0tb3JpZ2luOiAxMDAlIDA7XG59XG4uc3dpcGVyLWN1YmUgLnN3aXBlci1zbGlkZS1hY3RpdmUsXG4uc3dpcGVyLWN1YmUgLnN3aXBlci1zbGlkZS1hY3RpdmUgLnN3aXBlci1zbGlkZS1hY3RpdmUge1xuICBwb2ludGVyLWV2ZW50czogYXV0bztcbn1cbi5zd2lwZXItY3ViZSAuc3dpcGVyLXNsaWRlLWFjdGl2ZSxcbi5zd2lwZXItY3ViZSAuc3dpcGVyLXNsaWRlLW5leHQsXG4uc3dpcGVyLWN1YmUgLnN3aXBlci1zbGlkZS1wcmV2LFxuLnN3aXBlci1jdWJlIC5zd2lwZXItc2xpZGUtbmV4dCArIC5zd2lwZXItc2xpZGUge1xuICBwb2ludGVyLWV2ZW50czogYXV0bztcbiAgdmlzaWJpbGl0eTogdmlzaWJsZTtcbn1cbi5zd2lwZXItY3ViZSAuc3dpcGVyLXNsaWRlLXNoYWRvdy10b3AsXG4uc3dpcGVyLWN1YmUgLnN3aXBlci1zbGlkZS1zaGFkb3ctYm90dG9tLFxuLnN3aXBlci1jdWJlIC5zd2lwZXItc2xpZGUtc2hhZG93LWxlZnQsXG4uc3dpcGVyLWN1YmUgLnN3aXBlci1zbGlkZS1zaGFkb3ctcmlnaHQge1xuICB6LWluZGV4OiAwO1xuICAtd2Via2l0LWJhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlbjtcbiAgICAgICAgICBiYWNrZmFjZS12aXNpYmlsaXR5OiBoaWRkZW47XG59XG4uc3dpcGVyLWN1YmUgLnN3aXBlci1jdWJlLXNoYWRvdyB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgbGVmdDogMDtcbiAgYm90dG9tOiAwcHg7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IDEwMCU7XG4gIG9wYWNpdHk6IDAuNjtcbiAgei1pbmRleDogMDtcbn1cbi5zd2lwZXItY3ViZSAuc3dpcGVyLWN1YmUtc2hhZG93OmJlZm9yZSB7XG4gIGNvbnRlbnQ6ICcnO1xuICBiYWNrZ3JvdW5kOiAjMDAwO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGxlZnQ6IDA7XG4gIHRvcDogMDtcbiAgYm90dG9tOiAwO1xuICByaWdodDogMDtcbiAgZmlsdGVyOiBibHVyKDUwcHgpO1xufVxuLnN3aXBlci1mbGlwIHtcbiAgb3ZlcmZsb3c6IHZpc2libGU7XG59XG4uc3dpcGVyLWZsaXAgLnN3aXBlci1zbGlkZSB7XG4gIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICAtd2Via2l0LWJhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlbjtcbiAgICAgICAgICBiYWNrZmFjZS12aXNpYmlsaXR5OiBoaWRkZW47XG4gIHotaW5kZXg6IDE7XG59XG4uc3dpcGVyLWZsaXAgLnN3aXBlci1zbGlkZSAuc3dpcGVyLXNsaWRlIHtcbiAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG59XG4uc3dpcGVyLWZsaXAgLnN3aXBlci1zbGlkZS1hY3RpdmUsXG4uc3dpcGVyLWZsaXAgLnN3aXBlci1zbGlkZS1hY3RpdmUgLnN3aXBlci1zbGlkZS1hY3RpdmUge1xuICBwb2ludGVyLWV2ZW50czogYXV0bztcbn1cbi5zd2lwZXItZmxpcCAuc3dpcGVyLXNsaWRlLXNoYWRvdy10b3AsXG4uc3dpcGVyLWZsaXAgLnN3aXBlci1zbGlkZS1zaGFkb3ctYm90dG9tLFxuLnN3aXBlci1mbGlwIC5zd2lwZXItc2xpZGUtc2hhZG93LWxlZnQsXG4uc3dpcGVyLWZsaXAgLnN3aXBlci1zbGlkZS1zaGFkb3ctcmlnaHQge1xuICB6LWluZGV4OiAwO1xuICAtd2Via2l0LWJhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlbjtcbiAgICAgICAgICBiYWNrZmFjZS12aXNpYmlsaXR5OiBoaWRkZW47XG59XG4uc3dpcGVyLWNyZWF0aXZlIC5zd2lwZXItc2xpZGUge1xuICAtd2Via2l0LWJhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlbjtcbiAgICAgICAgICBiYWNrZmFjZS12aXNpYmlsaXR5OiBoaWRkZW47XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIHRyYW5zaXRpb24tcHJvcGVydHk6IHRyYW5zZm9ybSwgb3BhY2l0eSwgaGVpZ2h0O1xufVxuLnN3aXBlci1jYXJkcyB7XG4gIG92ZXJmbG93OiB2aXNpYmxlO1xufVxuLnN3aXBlci1jYXJkcyAuc3dpcGVyLXNsaWRlIHtcbiAgdHJhbnNmb3JtLW9yaWdpbjogY2VudGVyIGJvdHRvbTtcbiAgLXdlYmtpdC1iYWNrZmFjZS12aXNpYmlsaXR5OiBoaWRkZW47XG4gICAgICAgICAgYmFja2ZhY2UtdmlzaWJpbGl0eTogaGlkZGVuO1xuICBvdmVyZmxvdzogaGlkZGVuO1xufVxuIiwiLmNob2ljZXN7cG9zaXRpb246cmVsYXRpdmU7bWFyZ2luLWJvdHRvbToyNHB4O2ZvbnQtc2l6ZToxNnB4fS5jaG9pY2VzOmZvY3Vze291dGxpbmU6MH0uY2hvaWNlczpsYXN0LWNoaWxke21hcmdpbi1ib3R0b206MH0uY2hvaWNlcy5pcy1kaXNhYmxlZCAuY2hvaWNlc19faW5uZXIsLmNob2ljZXMuaXMtZGlzYWJsZWQgLmNob2ljZXNfX2lucHV0e2JhY2tncm91bmQtY29sb3I6I2VhZWFlYTtjdXJzb3I6bm90LWFsbG93ZWQ7LXdlYmtpdC11c2VyLXNlbGVjdDpub25lOy1tcy11c2VyLXNlbGVjdDpub25lO3VzZXItc2VsZWN0Om5vbmV9LmNob2ljZXMuaXMtZGlzYWJsZWQgLmNob2ljZXNfX2l0ZW17Y3Vyc29yOm5vdC1hbGxvd2VkfS5jaG9pY2VzIFtoaWRkZW5de2Rpc3BsYXk6bm9uZSFpbXBvcnRhbnR9LmNob2ljZXNbZGF0YS10eXBlKj1zZWxlY3Qtb25lXXtjdXJzb3I6cG9pbnRlcn0uY2hvaWNlc1tkYXRhLXR5cGUqPXNlbGVjdC1vbmVdIC5jaG9pY2VzX19pbm5lcntwYWRkaW5nLWJvdHRvbTo3LjVweH0uY2hvaWNlc1tkYXRhLXR5cGUqPXNlbGVjdC1vbmVdIC5jaG9pY2VzX19pbnB1dHtkaXNwbGF5OmJsb2NrO3dpZHRoOjEwMCU7cGFkZGluZzoxMHB4O2JvcmRlci1ib3R0b206MXB4IHNvbGlkICNkZGQ7YmFja2dyb3VuZC1jb2xvcjojZmZmO21hcmdpbjowfS5jaG9pY2VzW2RhdGEtdHlwZSo9c2VsZWN0LW9uZV0gLmNob2ljZXNfX2J1dHRvbntiYWNrZ3JvdW5kLWltYWdlOnVybChkYXRhOmltYWdlL3N2Zyt4bWw7YmFzZTY0LFBITjJaeUIzYVdSMGFEMGlNakVpSUdobGFXZG9kRDBpTWpFaUlIWnBaWGRDYjNnOUlqQWdNQ0F5TVNBeU1TSWdlRzFzYm5NOUltaDBkSEE2THk5M2QzY3Vkek11YjNKbkx6SXdNREF2YzNabklqNDhaeUJtYVd4c1BTSWpNREF3SWlCbWFXeHNMWEoxYkdVOUltVjJaVzV2WkdRaVBqeHdZWFJvSUdROUlrMHlMalU1TWk0d05EUnNNVGd1TXpZMElERTRMak0yTkMweUxqVTBPQ0F5TGpVME9Fd3VNRFEwSURJdU5Ua3llaUl2UGp4d1lYUm9JR1E5SWswd0lERTRMak0yTkV3eE9DNHpOalFnTUd3eUxqVTBPQ0F5TGpVME9Fd3lMalUwT0NBeU1DNDVNVEo2SWk4K1BDOW5Qand2YzNablBnPT0pO3BhZGRpbmc6MDtiYWNrZ3JvdW5kLXNpemU6OHB4O3Bvc2l0aW9uOmFic29sdXRlO3RvcDo1MCU7cmlnaHQ6MDttYXJnaW4tdG9wOi0xMHB4O21hcmdpbi1yaWdodDoyNXB4O2hlaWdodDoyMHB4O3dpZHRoOjIwcHg7Ym9yZGVyLXJhZGl1czoxMGVtO29wYWNpdHk6LjV9LmNob2ljZXNbZGF0YS10eXBlKj1zZWxlY3Qtb25lXSAuY2hvaWNlc19fYnV0dG9uOmZvY3VzLC5jaG9pY2VzW2RhdGEtdHlwZSo9c2VsZWN0LW9uZV0gLmNob2ljZXNfX2J1dHRvbjpob3ZlcntvcGFjaXR5OjF9LmNob2ljZXNbZGF0YS10eXBlKj1zZWxlY3Qtb25lXSAuY2hvaWNlc19fYnV0dG9uOmZvY3Vze2JveC1zaGFkb3c6MCAwIDAgMnB4ICMwMGJjZDR9LmNob2ljZXNbZGF0YS10eXBlKj1zZWxlY3Qtb25lXSAuY2hvaWNlc19faXRlbVtkYXRhLXZhbHVlPScnXSAuY2hvaWNlc19fYnV0dG9ue2Rpc3BsYXk6bm9uZX0uY2hvaWNlc1tkYXRhLXR5cGUqPXNlbGVjdC1vbmVdOmFmdGVye2NvbnRlbnQ6Jyc7aGVpZ2h0OjA7d2lkdGg6MDtib3JkZXItc3R5bGU6c29saWQ7Ym9yZGVyLWNvbG9yOiMzMzMgdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQ7Ym9yZGVyLXdpZHRoOjVweDtwb3NpdGlvbjphYnNvbHV0ZTtyaWdodDoxMS41cHg7dG9wOjUwJTttYXJnaW4tdG9wOi0yLjVweDtwb2ludGVyLWV2ZW50czpub25lfS5jaG9pY2VzW2RhdGEtdHlwZSo9c2VsZWN0LW9uZV0uaXMtb3BlbjphZnRlcntib3JkZXItY29sb3I6dHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQgIzMzMzttYXJnaW4tdG9wOi03LjVweH0uY2hvaWNlc1tkYXRhLXR5cGUqPXNlbGVjdC1vbmVdW2Rpcj1ydGxdOmFmdGVye2xlZnQ6MTEuNXB4O3JpZ2h0OmF1dG99LmNob2ljZXNbZGF0YS10eXBlKj1zZWxlY3Qtb25lXVtkaXI9cnRsXSAuY2hvaWNlc19fYnV0dG9ue3JpZ2h0OmF1dG87bGVmdDowO21hcmdpbi1sZWZ0OjI1cHg7bWFyZ2luLXJpZ2h0OjB9LmNob2ljZXNbZGF0YS10eXBlKj1zZWxlY3QtbXVsdGlwbGVdIC5jaG9pY2VzX19pbm5lciwuY2hvaWNlc1tkYXRhLXR5cGUqPXRleHRdIC5jaG9pY2VzX19pbm5lcntjdXJzb3I6dGV4dH0uY2hvaWNlc1tkYXRhLXR5cGUqPXNlbGVjdC1tdWx0aXBsZV0gLmNob2ljZXNfX2J1dHRvbiwuY2hvaWNlc1tkYXRhLXR5cGUqPXRleHRdIC5jaG9pY2VzX19idXR0b257cG9zaXRpb246cmVsYXRpdmU7ZGlzcGxheTppbmxpbmUtYmxvY2s7bWFyZ2luOjAgLTRweCAwIDhweDtwYWRkaW5nLWxlZnQ6MTZweDtib3JkZXItbGVmdDoxcHggc29saWQgIzAwOGZhMTtiYWNrZ3JvdW5kLWltYWdlOnVybChkYXRhOmltYWdlL3N2Zyt4bWw7YmFzZTY0LFBITjJaeUIzYVdSMGFEMGlNakVpSUdobGFXZG9kRDBpTWpFaUlIWnBaWGRDYjNnOUlqQWdNQ0F5TVNBeU1TSWdlRzFzYm5NOUltaDBkSEE2THk5M2QzY3Vkek11YjNKbkx6SXdNREF2YzNabklqNDhaeUJtYVd4c1BTSWpSa1pHSWlCbWFXeHNMWEoxYkdVOUltVjJaVzV2WkdRaVBqeHdZWFJvSUdROUlrMHlMalU1TWk0d05EUnNNVGd1TXpZMElERTRMak0yTkMweUxqVTBPQ0F5TGpVME9Fd3VNRFEwSURJdU5Ua3llaUl2UGp4d1lYUm9JR1E5SWswd0lERTRMak0yTkV3eE9DNHpOalFnTUd3eUxqVTBPQ0F5TGpVME9Fd3lMalUwT0NBeU1DNDVNVEo2SWk4K1BDOW5Qand2YzNablBnPT0pO2JhY2tncm91bmQtc2l6ZTo4cHg7d2lkdGg6OHB4O2xpbmUtaGVpZ2h0OjE7b3BhY2l0eTouNzU7Ym9yZGVyLXJhZGl1czowfS5jaG9pY2VzW2RhdGEtdHlwZSo9c2VsZWN0LW11bHRpcGxlXSAuY2hvaWNlc19fYnV0dG9uOmZvY3VzLC5jaG9pY2VzW2RhdGEtdHlwZSo9c2VsZWN0LW11bHRpcGxlXSAuY2hvaWNlc19fYnV0dG9uOmhvdmVyLC5jaG9pY2VzW2RhdGEtdHlwZSo9dGV4dF0gLmNob2ljZXNfX2J1dHRvbjpmb2N1cywuY2hvaWNlc1tkYXRhLXR5cGUqPXRleHRdIC5jaG9pY2VzX19idXR0b246aG92ZXJ7b3BhY2l0eToxfS5jaG9pY2VzX19pbm5lcntkaXNwbGF5OmlubGluZS1ibG9jazt2ZXJ0aWNhbC1hbGlnbjp0b3A7d2lkdGg6MTAwJTtiYWNrZ3JvdW5kLWNvbG9yOiNmOWY5Zjk7cGFkZGluZzo3LjVweCA3LjVweCAzLjc1cHg7Ym9yZGVyOjFweCBzb2xpZCAjZGRkO2JvcmRlci1yYWRpdXM6Mi41cHg7Zm9udC1zaXplOjE0cHg7bWluLWhlaWdodDo0NHB4O292ZXJmbG93OmhpZGRlbn0uaXMtZm9jdXNlZCAuY2hvaWNlc19faW5uZXIsLmlzLW9wZW4gLmNob2ljZXNfX2lubmVye2JvcmRlci1jb2xvcjojYjdiN2I3fS5pcy1vcGVuIC5jaG9pY2VzX19pbm5lcntib3JkZXItcmFkaXVzOjIuNXB4IDIuNXB4IDAgMH0uaXMtZmxpcHBlZC5pcy1vcGVuIC5jaG9pY2VzX19pbm5lcntib3JkZXItcmFkaXVzOjAgMCAyLjVweCAyLjVweH0uY2hvaWNlc19fbGlzdHttYXJnaW46MDtwYWRkaW5nLWxlZnQ6MDtsaXN0LXN0eWxlOm5vbmV9LmNob2ljZXNfX2xpc3QtLXNpbmdsZXtkaXNwbGF5OmlubGluZS1ibG9jaztwYWRkaW5nOjRweCAxNnB4IDRweCA0cHg7d2lkdGg6MTAwJX1bZGlyPXJ0bF0gLmNob2ljZXNfX2xpc3QtLXNpbmdsZXtwYWRkaW5nLXJpZ2h0OjRweDtwYWRkaW5nLWxlZnQ6MTZweH0uY2hvaWNlc19fbGlzdC0tc2luZ2xlIC5jaG9pY2VzX19pdGVte3dpZHRoOjEwMCV9LmNob2ljZXNfX2xpc3QtLW11bHRpcGxle2Rpc3BsYXk6aW5saW5lfS5jaG9pY2VzX19saXN0LS1tdWx0aXBsZSAuY2hvaWNlc19faXRlbXtkaXNwbGF5OmlubGluZS1ibG9jazt2ZXJ0aWNhbC1hbGlnbjptaWRkbGU7Ym9yZGVyLXJhZGl1czoyMHB4O3BhZGRpbmc6NHB4IDEwcHg7Zm9udC1zaXplOjEycHg7Zm9udC13ZWlnaHQ6NTAwO21hcmdpbi1yaWdodDozLjc1cHg7bWFyZ2luLWJvdHRvbTozLjc1cHg7YmFja2dyb3VuZC1jb2xvcjojMDBiY2Q0O2JvcmRlcjoxcHggc29saWQgIzAwYTViYjtjb2xvcjojZmZmO3dvcmQtYnJlYWs6YnJlYWstYWxsO2JveC1zaXppbmc6Ym9yZGVyLWJveH0uY2hvaWNlc19fbGlzdC0tbXVsdGlwbGUgLmNob2ljZXNfX2l0ZW1bZGF0YS1kZWxldGFibGVde3BhZGRpbmctcmlnaHQ6NXB4fVtkaXI9cnRsXSAuY2hvaWNlc19fbGlzdC0tbXVsdGlwbGUgLmNob2ljZXNfX2l0ZW17bWFyZ2luLXJpZ2h0OjA7bWFyZ2luLWxlZnQ6My43NXB4fS5jaG9pY2VzX19saXN0LS1tdWx0aXBsZSAuY2hvaWNlc19faXRlbS5pcy1oaWdobGlnaHRlZHtiYWNrZ3JvdW5kLWNvbG9yOiMwMGE1YmI7Ym9yZGVyOjFweCBzb2xpZCAjMDA4ZmExfS5pcy1kaXNhYmxlZCAuY2hvaWNlc19fbGlzdC0tbXVsdGlwbGUgLmNob2ljZXNfX2l0ZW17YmFja2dyb3VuZC1jb2xvcjojYWFhO2JvcmRlcjoxcHggc29saWQgIzkxOTE5MX0uY2hvaWNlc19fbGlzdC0tZHJvcGRvd257dmlzaWJpbGl0eTpoaWRkZW47ei1pbmRleDoxO3Bvc2l0aW9uOmFic29sdXRlO3dpZHRoOjEwMCU7YmFja2dyb3VuZC1jb2xvcjojZmZmO2JvcmRlcjoxcHggc29saWQgI2RkZDt0b3A6MTAwJTttYXJnaW4tdG9wOi0xcHg7Ym9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1czoyLjVweDtib3JkZXItYm90dG9tLXJpZ2h0LXJhZGl1czoyLjVweDtvdmVyZmxvdzpoaWRkZW47d29yZC1icmVhazpicmVhay1hbGw7d2lsbC1jaGFuZ2U6dmlzaWJpbGl0eX0uY2hvaWNlc19fbGlzdC0tZHJvcGRvd24uaXMtYWN0aXZle3Zpc2liaWxpdHk6dmlzaWJsZX0uaXMtb3BlbiAuY2hvaWNlc19fbGlzdC0tZHJvcGRvd257Ym9yZGVyLWNvbG9yOiNiN2I3Yjd9LmlzLWZsaXBwZWQgLmNob2ljZXNfX2xpc3QtLWRyb3Bkb3due3RvcDphdXRvO2JvdHRvbToxMDAlO21hcmdpbi10b3A6MDttYXJnaW4tYm90dG9tOi0xcHg7Ym9yZGVyLXJhZGl1czouMjVyZW0gLjI1cmVtIDAgMH0uY2hvaWNlc19fbGlzdC0tZHJvcGRvd24gLmNob2ljZXNfX2xpc3R7cG9zaXRpb246cmVsYXRpdmU7bWF4LWhlaWdodDozMDBweDtvdmVyZmxvdzphdXRvOy13ZWJraXQtb3ZlcmZsb3ctc2Nyb2xsaW5nOnRvdWNoO3dpbGwtY2hhbmdlOnNjcm9sbC1wb3NpdGlvbn0uY2hvaWNlc19fbGlzdC0tZHJvcGRvd24gLmNob2ljZXNfX2l0ZW17cG9zaXRpb246cmVsYXRpdmU7cGFkZGluZzoxMHB4O2ZvbnQtc2l6ZToxNHB4fVtkaXI9cnRsXSAuY2hvaWNlc19fbGlzdC0tZHJvcGRvd24gLmNob2ljZXNfX2l0ZW17dGV4dC1hbGlnbjpyaWdodH1AbWVkaWEgKG1pbi13aWR0aDo2NDBweCl7LmNob2ljZXNfX2xpc3QtLWRyb3Bkb3duIC5jaG9pY2VzX19pdGVtLS1zZWxlY3RhYmxle3BhZGRpbmctcmlnaHQ6MTAwcHh9LmNob2ljZXNfX2xpc3QtLWRyb3Bkb3duIC5jaG9pY2VzX19pdGVtLS1zZWxlY3RhYmxlOmFmdGVye2NvbnRlbnQ6YXR0cihkYXRhLXNlbGVjdC10ZXh0KTtmb250LXNpemU6MTJweDtvcGFjaXR5OjA7cG9zaXRpb246YWJzb2x1dGU7cmlnaHQ6MTBweDt0b3A6NTAlO3RyYW5zZm9ybTp0cmFuc2xhdGVZKC01MCUpfVtkaXI9cnRsXSAuY2hvaWNlc19fbGlzdC0tZHJvcGRvd24gLmNob2ljZXNfX2l0ZW0tLXNlbGVjdGFibGV7dGV4dC1hbGlnbjpyaWdodDtwYWRkaW5nLWxlZnQ6MTAwcHg7cGFkZGluZy1yaWdodDoxMHB4fVtkaXI9cnRsXSAuY2hvaWNlc19fbGlzdC0tZHJvcGRvd24gLmNob2ljZXNfX2l0ZW0tLXNlbGVjdGFibGU6YWZ0ZXJ7cmlnaHQ6YXV0bztsZWZ0OjEwcHh9fS5jaG9pY2VzX19saXN0LS1kcm9wZG93biAuY2hvaWNlc19faXRlbS0tc2VsZWN0YWJsZS5pcy1oaWdobGlnaHRlZHtiYWNrZ3JvdW5kLWNvbG9yOiNmMmYyZjJ9LmNob2ljZXNfX2xpc3QtLWRyb3Bkb3duIC5jaG9pY2VzX19pdGVtLS1zZWxlY3RhYmxlLmlzLWhpZ2hsaWdodGVkOmFmdGVye29wYWNpdHk6LjV9LmNob2ljZXNfX2l0ZW17Y3Vyc29yOmRlZmF1bHR9LmNob2ljZXNfX2l0ZW0tLXNlbGVjdGFibGV7Y3Vyc29yOnBvaW50ZXJ9LmNob2ljZXNfX2l0ZW0tLWRpc2FibGVke2N1cnNvcjpub3QtYWxsb3dlZDstd2Via2l0LXVzZXItc2VsZWN0Om5vbmU7LW1zLXVzZXItc2VsZWN0Om5vbmU7dXNlci1zZWxlY3Q6bm9uZTtvcGFjaXR5Oi41fS5jaG9pY2VzX19oZWFkaW5ne2ZvbnQtd2VpZ2h0OjYwMDtmb250LXNpemU6MTJweDtwYWRkaW5nOjEwcHg7Ym9yZGVyLWJvdHRvbToxcHggc29saWQgI2Y3ZjdmNztjb2xvcjpncmF5fS5jaG9pY2VzX19idXR0b257dGV4dC1pbmRlbnQ6LTk5OTlweDstd2Via2l0LWFwcGVhcmFuY2U6bm9uZTstbW96LWFwcGVhcmFuY2U6bm9uZTthcHBlYXJhbmNlOm5vbmU7Ym9yZGVyOjA7YmFja2dyb3VuZC1jb2xvcjp0cmFuc3BhcmVudDtiYWNrZ3JvdW5kLXJlcGVhdDpuby1yZXBlYXQ7YmFja2dyb3VuZC1wb3NpdGlvbjpjZW50ZXI7Y3Vyc29yOnBvaW50ZXJ9LmNob2ljZXNfX2J1dHRvbjpmb2N1cywuY2hvaWNlc19faW5wdXQ6Zm9jdXN7b3V0bGluZTowfS5jaG9pY2VzX19pbnB1dHtkaXNwbGF5OmlubGluZS1ibG9jazt2ZXJ0aWNhbC1hbGlnbjpiYXNlbGluZTtiYWNrZ3JvdW5kLWNvbG9yOiNmOWY5Zjk7Zm9udC1zaXplOjE0cHg7bWFyZ2luLWJvdHRvbTo1cHg7Ym9yZGVyOjA7Ym9yZGVyLXJhZGl1czowO21heC13aWR0aDoxMDAlO3BhZGRpbmc6NHB4IDAgNHB4IDJweH1bZGlyPXJ0bF0gLmNob2ljZXNfX2lucHV0e3BhZGRpbmctcmlnaHQ6MnB4O3BhZGRpbmctbGVmdDowfS5jaG9pY2VzX19wbGFjZWhvbGRlcntvcGFjaXR5Oi41fSIsIi8qKlxuICogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICogVW4udGl0bGVkXG4gKiBNYWluIC0gR2xvYmFsXG4gKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gKi9cblxuLyoqXG4gKiBEZXBlbmRlbmNpZXNcbiAqL1xuQGltcG9ydCAnfnN3aXBlci9zd2lwZXItYnVuZGxlLmNzcyc7XG5AaW1wb3J0ICd+YmFndWV0dGVib3guanMvc3JjL2JhZ3VldHRlQm94JztcbkBpbXBvcnQgJ35pbmNsdWRlLW1lZGlhL2Rpc3QvX2luY2x1ZGUtbWVkaWEnO1xuQGltcG9ydCAnfm5vcm1hbGl6ZS5zY3NzL25vcm1hbGl6ZS5zY3NzJztcbkBpbXBvcnQgJ35yZWZsZXgtZ3JpZC9zY3NzL3JlZmxleC5zY3NzJztcbkBpbXBvcnQgJ35jaG9pY2VzLmpzL3B1YmxpYy9hc3NldHMvc3R5bGVzL2Nob2ljZXMubWluLmNzcyc7XG5cbi8qKlxuICogQ29uZmlnXG4gKi9cbkBpbXBvcnQgJ2NvbmZpZy9mb250cyc7XG5AaW1wb3J0ICdjb25maWcvdmFycyc7XG5cbi8qKlxuICogSGVscGVyc1xuICovXG5AaW1wb3J0ICdoZWxwZXJzL2ZvY3VzLXZpc2libGUnO1xuQGltcG9ydCAnaGVscGVycy9mb250LXNtb290aGluZyc7XG5AaW1wb3J0ICdoZWxwZXJzL21peGlucyc7XG5AaW1wb3J0ICdoZWxwZXJzL3RhYmxlJztcbkBpbXBvcnQgJ2hlbHBlcnMvaGVscGVycyc7XG5cbi8qKlxuICogQmFzZVxuICovXG5AaW1wb3J0ICdiYXNlL2RlZmF1bHRzJztcbkBpbXBvcnQgJ2Jhc2UvdHlwb2dyYXBoeSc7XG5AaW1wb3J0ICdiYXNlL2RydXBhbDgnO1xuQGltcG9ydCAnYmFzZS9tYWluJztcbkBpbXBvcnQgJ2Jhc2UvYW5pbWF0aW9ucyc7XG5cbi8qKlxuKiBBdG9tc1xuKi9cbkBpbXBvcnQgJ2F0b21zL2dyaWQnO1xuQGltcG9ydCAnYXRvbXMvbmF2LXRvZ2dsZSc7XG5AaW1wb3J0ICdhdG9tcy9idXR0b25zJztcbkBpbXBvcnQgJ2F0b21zL2ltYWdlLWNyZWRpdCc7XG5AaW1wb3J0ICdhdG9tcy9icmVhZGNydW1icyc7XG5AaW1wb3J0ICdhdG9tcy9zZWFyY2gtYnV0dG9uJztcblxuLyoqXG4gKiBNb2xlY3VsZXNcbiAqL1xuQGltcG9ydCAnbW9sZWN1bGVzL2VtbXNnJztcbkBpbXBvcnQgJ21vbGVjdWxlcy9lbnRpdHknO1xuQGltcG9ydCAnbW9sZWN1bGVzL2Zvcm1zJztcbkBpbXBvcnQgJ21vbGVjdWxlcy9uYXYnO1xuQGltcG9ydCAnbW9sZWN1bGVzL2Jhbm5lcic7XG5AaW1wb3J0ICdtb2xlY3VsZXMvYmFubmVyLXNsaWRlcic7XG5AaW1wb3J0ICdtb2xlY3VsZXMvbGlua2VkLWxvZ29zJztcbkBpbXBvcnQgJ21vbGVjdWxlcy9zb2NpYWwtbGlua3MnO1xuQGltcG9ydCAnbW9sZWN1bGVzL2RhdGVwaWNrZXInO1xuQGltcG9ydCAnbW9sZWN1bGVzL3BvcHVwJztcbkBpbXBvcnQgJ21vbGVjdWxlcy9hcmNoaXZlJztcbkBpbXBvcnQgJ21vbGVjdWxlcy9waG90b3N3aXBlJztcblxuLyoqXG4gKiBPcmdhbmlzaW1zXG4gKi9cbkBpbXBvcnQgJ29yZ2FuaXNtcy9oZWFkZXInO1xuQGltcG9ydCAnb3JnYW5pc21zL2Zvb3Rlcic7XG5AaW1wb3J0ICdvcmdhbmlzbXMvdmlld3MnO1xuQGltcG9ydCAnb3JnYW5pc21zL3NlYXJjaC1yZXN1bHRzJztcbkBpbXBvcnQgJ29yZ2FuaXNtcy9zaWRlYmFyJztcbkBpbXBvcnQgJ29yZ2FuaXNtcy90ZWFzZXInO1xuQGltcG9ydCAnb3JnYW5pc21zL3NlYXJjaCc7XG5AaW1wb3J0ICdvcmdhbmlzbXMvd2hhdHMtb24nO1xuXG4vKipcbiAqIFRlbXBsYXRlc1xuICovXG4iLCIvKiFcbiAqIGJhZ3VldHRlQm94LmpzXG4gKiBAYXV0aG9yICBmZWltb3NpXG4gKiBAdmVyc2lvbiAlJUlOSkVDVF9WRVJTSU9OJSVcbiAqIEB1cmwgaHR0cHM6Ly9naXRodWIuY29tL2ZlaW1vc2kvYmFndWV0dGVCb3guanNcbiAqL1xuXG4jYmFndWV0dGVCb3gtb3ZlcmxheSB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgICBvcGFjaXR5OiAwO1xuICAgIHBvc2l0aW9uOiBmaXhlZDtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIHRvcDogMDtcbiAgICBsZWZ0OiAwO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogMTAwJTtcbiAgICB6LWluZGV4OiAxMDAwMDAwO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICMyMjI7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgwLDAsMCwuOCk7XG4gICAgdHJhbnNpdGlvbjogb3BhY2l0eSAuNXMgZWFzZTtcblxuICAgICYudmlzaWJsZSB7XG4gICAgICAgIG9wYWNpdHk6IDE7XG4gICAgfVxuXG4gICAgLmZ1bGwtaW1hZ2Uge1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuXG4gICAgICAgIGZpZ3VyZSB7XG4gICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmU7XG4gICAgICAgICAgICBtYXJnaW46IDA7ICAgICAgLy8gbmVlZGVkIGZvciBtb2JpbGVcbiAgICAgICAgICAgIGhlaWdodDogMTAwJTsgICAvLyBPcGVyYSAxMiBpbWFnZSBzdHJldGNoaW5nIGZpeFxuICAgICAgICB9XG5cbiAgICAgICAgaW1nIHtcbiAgICAgICAgICAgIC8vIElFOCBmaXhcbiAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgICAgIHdpZHRoOiBhdXRvO1xuICAgICAgICAgICAgaGVpZ2h0OiBhdXRvO1xuXG4gICAgICAgICAgICBtYXgtaGVpZ2h0OiAxMDAlO1xuICAgICAgICAgICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgICAgICAgICAgIGJveC1zaGFkb3c6IDAgMCA4cHggcmdiYSgwLDAsMCwuNik7XG4gICAgICAgIH1cblxuICAgICAgICBmaWdjYXB0aW9uIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgYm90dG9tOiAwO1xuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgICAgICBsaW5lLWhlaWdodDogMS44O1xuICAgICAgICAgICAgd2hpdGUtc3BhY2U6IG5vcm1hbDtcbiAgICAgICAgICAgIGNvbG9yOiAjY2NjO1xuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzAwMDtcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMCwwLDAsLjYpO1xuICAgICAgICAgICAgZm9udC1mYW1pbHk6IHNhbnMtc2VyaWY7XG4gICAgICAgIH1cblxuICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICAgICAgaGVpZ2h0OiA1MCU7XG4gICAgICAgICAgICB3aWR0aDogMXB4O1xuICAgICAgICAgICAgbWFyZ2luLXJpZ2h0Oi0xcHg7XG4gICAgICAgIH1cbiAgICB9XG59XG5cbiNiYWd1ZXR0ZUJveC1zbGlkZXIge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBsZWZ0OiAwO1xuICAgIHRvcDogMDtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgICB0cmFuc2l0aW9uOiBsZWZ0IC40cyBlYXNlLCB0cmFuc2Zvcm0gLjRzIGVhc2U7XG5cbiAgICAmLmJvdW5jZS1mcm9tLXJpZ2h0IHtcbiAgICAgICAgYW5pbWF0aW9uOiBib3VuY2VGcm9tUmlnaHQgLjRzIGVhc2Utb3V0O1xuICAgIH1cblxuICAgICYuYm91bmNlLWZyb20tbGVmdCB7XG4gICAgICAgIGFuaW1hdGlvbjogYm91bmNlRnJvbUxlZnQgLjRzIGVhc2Utb3V0O1xuICAgIH1cbn1cblxuQGtleWZyYW1lcyBib3VuY2VGcm9tUmlnaHR7XG4gICAgMCUgeyBtYXJnaW4tbGVmdDogMDsgfVxuICAgIDUwJSB7IG1hcmdpbi1sZWZ0OiAtMzBweDsgfVxuICAgIDEwMCUgeyBtYXJnaW4tbGVmdDogMDsgfVxufVxuXG5Aa2V5ZnJhbWVzIGJvdW5jZUZyb21MZWZ0e1xuICAgIDAlIHsgbWFyZ2luLWxlZnQ6IDA7IH1cbiAgICA1MCUgeyBtYXJnaW4tbGVmdDogMzBweDsgfVxuICAgIDEwMCUgeyBtYXJnaW4tbGVmdDogMDsgfVxufVxuXG4lYXJyb3ctYnV0dG9uIHtcbiAgICB0b3A6IDUwJTtcbiAgICB0b3A6IGNhbGMoNTAlIC0gMzBweCk7XG4gICAgd2lkdGg6IDQ0cHg7XG4gICAgaGVpZ2h0OiA2MHB4O1xufVxuXG4uYmFndWV0dGVCb3gtYnV0dG9uIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIG91dGxpbmU6IG5vbmU7XG4gICAgcGFkZGluZzogMDtcbiAgICBtYXJnaW46IDA7XG4gICAgYm9yZGVyOiAwO1xuICAgIGJvcmRlci1yYWRpdXM6IDE1JTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMzIzMjMyO1xuICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoNTAsNTAsNTAsLjUpO1xuICAgIGNvbG9yOiAjZGRkO1xuICAgIGZvbnQ6IDEuNmVtIHNhbnMtc2VyaWY7XG4gICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAuNHMgZWFzZTtcblxuICAgICY6Zm9jdXMsXG4gICAgJjpob3ZlciB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoNTAsNTAsNTAsLjkpO1xuICAgIH1cblxuICAgICYjbmV4dC1idXR0b24ge1xuICAgICAgICBAZXh0ZW5kICVhcnJvdy1idXR0b247XG4gICAgICAgIHJpZ2h0OiAyJTtcbiAgICB9XG5cbiAgICAmI3ByZXZpb3VzLWJ1dHRvbiB7XG4gICAgICAgIEBleHRlbmQgJWFycm93LWJ1dHRvbjtcbiAgICAgICAgbGVmdDogMiU7XG4gICAgfVxuXG4gICAgJiNjbG9zZS1idXR0b24ge1xuICAgICAgICB0b3A6IDIwcHg7XG4gICAgICAgIHJpZ2h0OiAyJTtcbiAgICAgICAgcmlnaHQ6IGNhbGMoMiUgKyA2cHgpO1xuICAgICAgICB3aWR0aDogMzBweDtcbiAgICAgICAgaGVpZ2h0OiAzMHB4O1xuICAgIH1cblxuICAgIC8vIEZpcmVmb3ggZml4XG4gICAgc3ZnIHtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICBsZWZ0OiAwO1xuICAgICAgICB0b3A6IDA7XG4gICAgfVxufVxuXG4vKlxuICAgIFByZWxvYWRlclxuICAgIEJvcnJvd2VkIGZyb20gaHR0cDovL3RvYmlhc2FobGluLmNvbS9zcGlua2l0L1xuKi9cblxuLmJhZ3VldHRlQm94LXNwaW5uZXIge1xuICAgIHdpZHRoOiA0MHB4O1xuICAgIGhlaWdodDogNDBweDtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogNTAlO1xuICAgIGxlZnQ6IDUwJTtcbiAgICBtYXJnaW4tdG9wOiAtMjBweDtcbiAgICBtYXJnaW4tbGVmdDogLTIwcHg7XG59XG5cbi5iYWd1ZXR0ZUJveC1kb3VibGUtYm91bmNlMSxcbi5iYWd1ZXR0ZUJveC1kb3VibGUtYm91bmNlMiB7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xuICAgIG9wYWNpdHk6IC42O1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDA7XG4gICAgbGVmdDogMDtcbiAgICBhbmltYXRpb246IGJvdW5jZSAycyBpbmZpbml0ZSBlYXNlLWluLW91dDtcbn1cblxuLmJhZ3VldHRlQm94LWRvdWJsZS1ib3VuY2UyIHtcbiAgICBhbmltYXRpb24tZGVsYXk6IC0xcztcbn1cblxuQGtleWZyYW1lcyBib3VuY2Uge1xuICAgIDAlLCAxMDAlIHtcbiAgICAgICAgdHJhbnNmb3JtOiBzY2FsZSgwKTtcbiAgICB9IDUwJSB7XG4gICAgICAgIHRyYW5zZm9ybTogc2NhbGUoMSk7XG4gICAgfVxufVxuIiwiLyohIG5vcm1hbGl6ZS5zY3NzIHYwLjEuMCB8IE1JVCBMaWNlbnNlIHwgYmFzZWQgb24gZ2l0LmlvL25vcm1hbGl6ZSAqL1xuXG4vKipcbiAqIDEuIFNldCBkZWZhdWx0IGZvbnQgZmFtaWx5IHRvIHNhbnMtc2VyaWYuXG4gKiAyLiBQcmV2ZW50IGlPUyB0ZXh0IHNpemUgYWRqdXN0IGFmdGVyIG9yaWVudGF0aW9uIGNoYW5nZSwgd2l0aG91dCBkaXNhYmxpbmdcbiAqICAgIHVzZXIgem9vbS5cbiAqL1xuXG5odG1sIHtcbiAgZm9udC1mYW1pbHk6IHNhbnMtc2VyaWY7IC8qIDEgKi9cbiAgLW1zLXRleHQtc2l6ZS1hZGp1c3Q6IDEwMCU7IC8qIDIgKi9cbiAgLXdlYmtpdC10ZXh0LXNpemUtYWRqdXN0OiAxMDAlOyAvKiAyICovXG59XG5cbi8qKlxuICogUmVtb3ZlIGRlZmF1bHQgbWFyZ2luLlxuICovXG5cbmJvZHkge1xuICBtYXJnaW46IDA7XG59XG5cbi8qIEhUTUw1IGRpc3BsYXkgZGVmaW5pdGlvbnNcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qKlxuICogQ29ycmVjdCBgYmxvY2tgIGRpc3BsYXkgbm90IGRlZmluZWQgZm9yIGFueSBIVE1MNSBlbGVtZW50IGluIElFIDgvOS5cbiAqIENvcnJlY3QgYGJsb2NrYCBkaXNwbGF5IG5vdCBkZWZpbmVkIGZvciBgZGV0YWlsc2Agb3IgYHN1bW1hcnlgIGluIElFIDEwLzExXG4gKiBhbmQgRmlyZWZveC5cbiAqIENvcnJlY3QgYGJsb2NrYCBkaXNwbGF5IG5vdCBkZWZpbmVkIGZvciBgbWFpbmAgaW4gSUUgMTEuXG4gKi9cblxuYXJ0aWNsZSxcbmFzaWRlLFxuZGV0YWlscyxcbmZpZ2NhcHRpb24sXG5maWd1cmUsXG5mb290ZXIsXG5oZWFkZXIsXG5oZ3JvdXAsXG5tYWluLFxubWVudSxcbm5hdixcbnNlY3Rpb24sXG5zdW1tYXJ5IHtcbiAgZGlzcGxheTogYmxvY2s7XG59XG5cbi8qKlxuICogMS4gQ29ycmVjdCBgaW5saW5lLWJsb2NrYCBkaXNwbGF5IG5vdCBkZWZpbmVkIGluIElFIDgvOS5cbiAqIDIuIE5vcm1hbGl6ZSB2ZXJ0aWNhbCBhbGlnbm1lbnQgb2YgYHByb2dyZXNzYCBpbiBDaHJvbWUsIEZpcmVmb3gsIGFuZCBPcGVyYS5cbiAqL1xuXG5hdWRpbyxcbmNhbnZhcyxcbnByb2dyZXNzLFxudmlkZW8ge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7IC8qIDEgKi9cbiAgdmVydGljYWwtYWxpZ246IGJhc2VsaW5lOyAvKiAyICovXG59XG5cbi8qKlxuICogUHJldmVudCBtb2Rlcm4gYnJvd3NlcnMgZnJvbSBkaXNwbGF5aW5nIGBhdWRpb2Agd2l0aG91dCBjb250cm9scy5cbiAqIFJlbW92ZSBleGNlc3MgaGVpZ2h0IGluIGlPUyA1IGRldmljZXMuXG4gKi9cblxuYXVkaW86bm90KFtjb250cm9sc10pIHtcbiAgZGlzcGxheTogbm9uZTtcbiAgaGVpZ2h0OiAwO1xufVxuXG4vKipcbiAqIEFkZHJlc3MgYFtoaWRkZW5dYCBzdHlsaW5nIG5vdCBwcmVzZW50IGluIElFIDgvOS8xMC5cbiAqIEhpZGUgdGhlIGB0ZW1wbGF0ZWAgZWxlbWVudCBpbiBJRSA4LzkvMTEsIFNhZmFyaSwgYW5kIEZpcmVmb3ggPCAyMi5cbiAqL1xuXG5baGlkZGVuXSxcbnRlbXBsYXRlIHtcbiAgZGlzcGxheTogbm9uZTtcbn1cblxuLyogTGlua3NcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qKlxuICogUmVtb3ZlIHRoZSBncmF5IGJhY2tncm91bmQgY29sb3IgZnJvbSBhY3RpdmUgbGlua3MgaW4gSUUgMTAuXG4gKi9cblxuYSB7XG4gIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xufVxuXG4vKipcbiAqIEltcHJvdmUgcmVhZGFiaWxpdHkgd2hlbiBmb2N1c2VkIGFuZCBhbHNvIG1vdXNlIGhvdmVyZWQgaW4gYWxsIGJyb3dzZXJzLlxuICovXG5cbmE6YWN0aXZlLFxuYTpob3ZlciB7XG4gIG91dGxpbmU6IDA7XG59XG5cbi8qIFRleHQtbGV2ZWwgc2VtYW50aWNzXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKipcbiAqIEFkZHJlc3Mgc3R5bGluZyBub3QgcHJlc2VudCBpbiBJRSA4LzkvMTAvMTEsIFNhZmFyaSwgYW5kIENocm9tZS5cbiAqL1xuXG5hYmJyW3RpdGxlXSB7XG4gIGJvcmRlci1ib3R0b206IDFweCBkb3R0ZWQ7XG59XG5cbi8qKlxuICogQWRkcmVzcyBzdHlsZSBzZXQgdG8gYGJvbGRlcmAgaW4gRmlyZWZveCA0KywgU2FmYXJpLCBhbmQgQ2hyb21lLlxuICovXG5cbmIsXG5zdHJvbmcge1xuICBmb250LXdlaWdodDogYm9sZDtcbn1cblxuLyoqXG4gKiBBZGRyZXNzIHN0eWxpbmcgbm90IHByZXNlbnQgaW4gU2FmYXJpIGFuZCBDaHJvbWUuXG4gKi9cblxuZGZuIHtcbiAgZm9udC1zdHlsZTogaXRhbGljO1xufVxuXG4vKipcbiAqIEFkZHJlc3MgdmFyaWFibGUgYGgxYCBmb250LXNpemUgYW5kIG1hcmdpbiB3aXRoaW4gYHNlY3Rpb25gIGFuZCBgYXJ0aWNsZWBcbiAqIGNvbnRleHRzIGluIEZpcmVmb3ggNCssIFNhZmFyaSwgYW5kIENocm9tZS5cbiAqL1xuXG5oMSB7XG4gIGZvbnQtc2l6ZTogMmVtO1xuICBtYXJnaW46IDAuNjdlbSAwO1xufVxuXG4vKipcbiAqIEFkZHJlc3Mgc3R5bGluZyBub3QgcHJlc2VudCBpbiBJRSA4LzkuXG4gKi9cblxubWFyayB7XG4gIGJhY2tncm91bmQ6ICNmZjA7XG4gIGNvbG9yOiAjMDAwO1xufVxuXG4vKipcbiAqIEFkZHJlc3MgaW5jb25zaXN0ZW50IGFuZCB2YXJpYWJsZSBmb250IHNpemUgaW4gYWxsIGJyb3dzZXJzLlxuICovXG5cbnNtYWxsIHtcbiAgZm9udC1zaXplOiA4MCU7XG59XG5cbi8qKlxuICogUHJldmVudCBgc3ViYCBhbmQgYHN1cGAgYWZmZWN0aW5nIGBsaW5lLWhlaWdodGAgaW4gYWxsIGJyb3dzZXJzLlxuICovXG5cbnN1YixcbnN1cCB7XG4gIGZvbnQtc2l6ZTogNzUlO1xuICBsaW5lLWhlaWdodDogMDtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB2ZXJ0aWNhbC1hbGlnbjogYmFzZWxpbmU7XG59XG5cbnN1cCB7XG4gIHRvcDogLTAuNWVtO1xufVxuXG5zdWIge1xuICBib3R0b206IC0wLjI1ZW07XG59XG5cbi8qIEVtYmVkZGVkIGNvbnRlbnRcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qKlxuICogUmVtb3ZlIGJvcmRlciB3aGVuIGluc2lkZSBgYWAgZWxlbWVudCBpbiBJRSA4LzkvMTAuXG4gKi9cblxuaW1nIHtcbiAgYm9yZGVyOiAwO1xufVxuXG4vKipcbiAqIENvcnJlY3Qgb3ZlcmZsb3cgbm90IGhpZGRlbiBpbiBJRSA5LzEwLzExLlxuICovXG5cbnN2Zzpub3QoOnJvb3QpIHtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbn1cblxuLyogR3JvdXBpbmcgY29udGVudFxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLyoqXG4gKiBBZGRyZXNzIG1hcmdpbiBub3QgcHJlc2VudCBpbiBJRSA4LzkgYW5kIFNhZmFyaS5cbiAqL1xuXG5maWd1cmUge1xuICBtYXJnaW46IDFlbSA0MHB4O1xufVxuXG4vKipcbiAqIEFkZHJlc3MgZGlmZmVyZW5jZXMgYmV0d2VlbiBGaXJlZm94IGFuZCBvdGhlciBicm93c2Vycy5cbiAqL1xuXG5ociB7XG4gIC1tb3otYm94LXNpemluZzogY29udGVudC1ib3g7XG4gIGJveC1zaXppbmc6IGNvbnRlbnQtYm94O1xuICBoZWlnaHQ6IDA7XG59XG5cbi8qKlxuICogQ29udGFpbiBvdmVyZmxvdyBpbiBhbGwgYnJvd3NlcnMuXG4gKi9cblxucHJlIHtcbiAgb3ZlcmZsb3c6IGF1dG87XG59XG5cbi8qKlxuICogQWRkcmVzcyBvZGQgYGVtYC11bml0IGZvbnQgc2l6ZSByZW5kZXJpbmcgaW4gYWxsIGJyb3dzZXJzLlxuICovXG5cbmNvZGUsXG5rYmQsXG5wcmUsXG5zYW1wIHtcbiAgZm9udC1mYW1pbHk6IG1vbm9zcGFjZSwgbW9ub3NwYWNlO1xuICBmb250LXNpemU6IDFlbTtcbn1cblxuLyogRm9ybXNcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qKlxuICogS25vd24gbGltaXRhdGlvbjogYnkgZGVmYXVsdCwgQ2hyb21lIGFuZCBTYWZhcmkgb24gT1MgWCBhbGxvdyB2ZXJ5IGxpbWl0ZWRcbiAqIHN0eWxpbmcgb2YgYHNlbGVjdGAsIHVubGVzcyBhIGBib3JkZXJgIHByb3BlcnR5IGlzIHNldC5cbiAqL1xuXG4vKipcbiAqIDEuIENvcnJlY3QgY29sb3Igbm90IGJlaW5nIGluaGVyaXRlZC5cbiAqICAgIEtub3duIGlzc3VlOiBhZmZlY3RzIGNvbG9yIG9mIGRpc2FibGVkIGVsZW1lbnRzLlxuICogMi4gQ29ycmVjdCBmb250IHByb3BlcnRpZXMgbm90IGJlaW5nIGluaGVyaXRlZC5cbiAqIDMuIEFkZHJlc3MgbWFyZ2lucyBzZXQgZGlmZmVyZW50bHkgaW4gRmlyZWZveCA0KywgU2FmYXJpLCBhbmQgQ2hyb21lLlxuICovXG5cbmJ1dHRvbixcbmlucHV0LFxub3B0Z3JvdXAsXG5zZWxlY3QsXG50ZXh0YXJlYSB7XG4gIGNvbG9yOiBpbmhlcml0OyAvKiAxICovXG4gIGZvbnQ6IGluaGVyaXQ7IC8qIDIgKi9cbiAgbWFyZ2luOiAwOyAvKiAzICovXG59XG5cbi8qKlxuICogQWRkcmVzcyBgb3ZlcmZsb3dgIHNldCB0byBgaGlkZGVuYCBpbiBJRSA4LzkvMTAvMTEuXG4gKi9cblxuYnV0dG9uIHtcbiAgb3ZlcmZsb3c6IHZpc2libGU7XG59XG5cbi8qKlxuICogQWRkcmVzcyBpbmNvbnNpc3RlbnQgYHRleHQtdHJhbnNmb3JtYCBpbmhlcml0YW5jZSBmb3IgYGJ1dHRvbmAgYW5kIGBzZWxlY3RgLlxuICogQWxsIG90aGVyIGZvcm0gY29udHJvbCBlbGVtZW50cyBkbyBub3QgaW5oZXJpdCBgdGV4dC10cmFuc2Zvcm1gIHZhbHVlcy5cbiAqIENvcnJlY3QgYGJ1dHRvbmAgc3R5bGUgaW5oZXJpdGFuY2UgaW4gRmlyZWZveCwgSUUgOC85LzEwLzExLCBhbmQgT3BlcmEuXG4gKiBDb3JyZWN0IGBzZWxlY3RgIHN0eWxlIGluaGVyaXRhbmNlIGluIEZpcmVmb3guXG4gKi9cblxuYnV0dG9uLFxuc2VsZWN0IHtcbiAgdGV4dC10cmFuc2Zvcm06IG5vbmU7XG59XG5cbi8qKlxuICogMS4gQXZvaWQgdGhlIFdlYktpdCBidWcgaW4gQW5kcm9pZCA0LjAuKiB3aGVyZSAoMikgZGVzdHJveXMgbmF0aXZlIGBhdWRpb2BcbiAqICAgIGFuZCBgdmlkZW9gIGNvbnRyb2xzLlxuICogMi4gQ29ycmVjdCBpbmFiaWxpdHkgdG8gc3R5bGUgY2xpY2thYmxlIGBpbnB1dGAgdHlwZXMgaW4gaU9TLlxuICogMy4gSW1wcm92ZSB1c2FiaWxpdHkgYW5kIGNvbnNpc3RlbmN5IG9mIGN1cnNvciBzdHlsZSBiZXR3ZWVuIGltYWdlLXR5cGVcbiAqICAgIGBpbnB1dGAgYW5kIG90aGVycy5cbiAqL1xuXG5idXR0b24sXG5odG1sIGlucHV0W3R5cGU9XCJidXR0b25cIl0sIC8qIDEgKi9cbmlucHV0W3R5cGU9XCJyZXNldFwiXSxcbmlucHV0W3R5cGU9XCJzdWJtaXRcIl0ge1xuICAtd2Via2l0LWFwcGVhcmFuY2U6IGJ1dHRvbjsgLyogMiAqL1xuICBjdXJzb3I6IHBvaW50ZXI7IC8qIDMgKi9cbn1cblxuLyoqXG4gKiBSZS1zZXQgZGVmYXVsdCBjdXJzb3IgZm9yIGRpc2FibGVkIGVsZW1lbnRzLlxuICovXG5cbmJ1dHRvbltkaXNhYmxlZF0sXG5odG1sIGlucHV0W2Rpc2FibGVkXSB7XG4gIGN1cnNvcjogZGVmYXVsdDtcbn1cblxuLyoqXG4gKiBSZW1vdmUgaW5uZXIgcGFkZGluZyBhbmQgYm9yZGVyIGluIEZpcmVmb3ggNCsuXG4gKi9cblxuYnV0dG9uOjotbW96LWZvY3VzLWlubmVyLFxuaW5wdXQ6Oi1tb3otZm9jdXMtaW5uZXIge1xuICBib3JkZXI6IDA7XG4gIHBhZGRpbmc6IDA7XG59XG5cbi8qKlxuICogQWRkcmVzcyBGaXJlZm94IDQrIHNldHRpbmcgYGxpbmUtaGVpZ2h0YCBvbiBgaW5wdXRgIHVzaW5nIGAhaW1wb3J0YW50YCBpblxuICogdGhlIFVBIHN0eWxlc2hlZXQuXG4gKi9cblxuaW5wdXQge1xuICBsaW5lLWhlaWdodDogbm9ybWFsO1xufVxuXG4vKipcbiAqIEl0J3MgcmVjb21tZW5kZWQgdGhhdCB5b3UgZG9uJ3QgYXR0ZW1wdCB0byBzdHlsZSB0aGVzZSBlbGVtZW50cy5cbiAqIEZpcmVmb3gncyBpbXBsZW1lbnRhdGlvbiBkb2Vzbid0IHJlc3BlY3QgYm94LXNpemluZywgcGFkZGluZywgb3Igd2lkdGguXG4gKlxuICogMS4gQWRkcmVzcyBib3ggc2l6aW5nIHNldCB0byBgY29udGVudC1ib3hgIGluIElFIDgvOS8xMC5cbiAqIDIuIFJlbW92ZSBleGNlc3MgcGFkZGluZyBpbiBJRSA4LzkvMTAuXG4gKi9cblxuaW5wdXRbdHlwZT1cImNoZWNrYm94XCJdLFxuaW5wdXRbdHlwZT1cInJhZGlvXCJdIHtcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDsgLyogMSAqL1xuICBwYWRkaW5nOiAwOyAvKiAyICovXG59XG5cbi8qKlxuICogRml4IHRoZSBjdXJzb3Igc3R5bGUgZm9yIENocm9tZSdzIGluY3JlbWVudC9kZWNyZW1lbnQgYnV0dG9ucy4gRm9yIGNlcnRhaW5cbiAqIGBmb250LXNpemVgIHZhbHVlcyBvZiB0aGUgYGlucHV0YCwgaXQgY2F1c2VzIHRoZSBjdXJzb3Igc3R5bGUgb2YgdGhlXG4gKiBkZWNyZW1lbnQgYnV0dG9uIHRvIGNoYW5nZSBmcm9tIGBkZWZhdWx0YCB0byBgdGV4dGAuXG4gKi9cblxuaW5wdXRbdHlwZT1cIm51bWJlclwiXTo6LXdlYmtpdC1pbm5lci1zcGluLWJ1dHRvbixcbmlucHV0W3R5cGU9XCJudW1iZXJcIl06Oi13ZWJraXQtb3V0ZXItc3Bpbi1idXR0b24ge1xuICBoZWlnaHQ6IGF1dG87XG59XG5cbi8qKlxuICogMS4gQWRkcmVzcyBgYXBwZWFyYW5jZWAgc2V0IHRvIGBzZWFyY2hmaWVsZGAgaW4gU2FmYXJpIGFuZCBDaHJvbWUuXG4gKiAyLiBBZGRyZXNzIGBib3gtc2l6aW5nYCBzZXQgdG8gYGJvcmRlci1ib3hgIGluIFNhZmFyaSBhbmQgQ2hyb21lXG4gKiAgICAoaW5jbHVkZSBgLW1vemAgdG8gZnV0dXJlLXByb29mKS5cbiAqL1xuXG5pbnB1dFt0eXBlPVwic2VhcmNoXCJdIHtcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiB0ZXh0ZmllbGQ7IC8qIDEgKi9cbiAgLW1vei1ib3gtc2l6aW5nOiBjb250ZW50LWJveDtcbiAgLXdlYmtpdC1ib3gtc2l6aW5nOiBjb250ZW50LWJveDsgLyogMiAqL1xuICBib3gtc2l6aW5nOiBjb250ZW50LWJveDtcbn1cblxuLyoqXG4gKiBSZW1vdmUgaW5uZXIgcGFkZGluZyBhbmQgc2VhcmNoIGNhbmNlbCBidXR0b24gaW4gU2FmYXJpIGFuZCBDaHJvbWUgb24gT1MgWC5cbiAqIFNhZmFyaSAoYnV0IG5vdCBDaHJvbWUpIGNsaXBzIHRoZSBjYW5jZWwgYnV0dG9uIHdoZW4gdGhlIHNlYXJjaCBpbnB1dCBoYXNcbiAqIHBhZGRpbmcgKGFuZCBgdGV4dGZpZWxkYCBhcHBlYXJhbmNlKS5cbiAqL1xuXG5pbnB1dFt0eXBlPVwic2VhcmNoXCJdOjotd2Via2l0LXNlYXJjaC1jYW5jZWwtYnV0dG9uLFxuaW5wdXRbdHlwZT1cInNlYXJjaFwiXTo6LXdlYmtpdC1zZWFyY2gtZGVjb3JhdGlvbiB7XG4gIC13ZWJraXQtYXBwZWFyYW5jZTogbm9uZTtcbn1cblxuLyoqXG4gKiBEZWZpbmUgY29uc2lzdGVudCBib3JkZXIsIG1hcmdpbiwgYW5kIHBhZGRpbmcuXG4gKi9cblxuZmllbGRzZXQge1xuICBib3JkZXI6IDFweCBzb2xpZCAjYzBjMGMwO1xuICBtYXJnaW46IDAgMnB4O1xuICBwYWRkaW5nOiAwLjM1ZW0gMC42MjVlbSAwLjc1ZW07XG59XG5cbi8qKlxuICogMS4gQ29ycmVjdCBgY29sb3JgIG5vdCBiZWluZyBpbmhlcml0ZWQgaW4gSUUgOC85LzEwLzExLlxuICogMi4gUmVtb3ZlIHBhZGRpbmcgc28gcGVvcGxlIGFyZW4ndCBjYXVnaHQgb3V0IGlmIHRoZXkgemVybyBvdXQgZmllbGRzZXRzLlxuICovXG5cbmxlZ2VuZCB7XG4gIGJvcmRlcjogMDsgLyogMSAqL1xuICBwYWRkaW5nOiAwOyAvKiAyICovXG59XG5cbi8qKlxuICogUmVtb3ZlIGRlZmF1bHQgdmVydGljYWwgc2Nyb2xsYmFyIGluIElFIDgvOS8xMC8xMS5cbiAqL1xuXG50ZXh0YXJlYSB7XG4gIG92ZXJmbG93OiBhdXRvO1xufVxuXG4vKipcbiAqIERvbid0IGluaGVyaXQgdGhlIGBmb250LXdlaWdodGAgKGFwcGxpZWQgYnkgYSBydWxlIGFib3ZlKS5cbiAqIE5PVEU6IHRoZSBkZWZhdWx0IGNhbm5vdCBzYWZlbHkgYmUgY2hhbmdlZCBpbiBDaHJvbWUgYW5kIFNhZmFyaSBvbiBPUyBYLlxuICovXG5cbm9wdGdyb3VwIHtcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7XG59XG5cbi8qIFRhYmxlc1xuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLyoqXG4gKiBSZW1vdmUgbW9zdCBzcGFjaW5nIGJldHdlZW4gdGFibGUgY2VsbHMuXG4gKi9cblxudGFibGUge1xuICBib3JkZXItY29sbGFwc2U6IGNvbGxhcHNlO1xuICBib3JkZXItc3BhY2luZzogMDtcbn1cblxudGQsXG50aCB7XG4gIHBhZGRpbmc6IDA7XG59XG4iLCIvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuLy8gcmVmbGV4IHZhcmlhYmxlc1xuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuLy8gUHJlZml4XG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4vLyBZb3UgY2FuIG9wdGlvbmFsbHkgbmFtZXNwYWNlIHJlZmxleCBjbGFzc2VzIHRvIGF2b2lkIGNsYXNoaW5nIHdpdGggb3RoZXIgY3NzIGZyYW1ld29ya3Ncbi8vIGUuZy4gc2V0dGluZyAkcmVmbGV4LXByZWZpeCBhcyBcInJlZmxleC1cIiBoZXJlIHdvdWxkIGNhdXNlIGNvbC1zbS02IHRvIGJlY29tZSByZWZsZXgtY29sLXNtLTZcbi8vIEV4YW1wbGU6ICRyZWZsZXgtcHJlZml4OiByZWZsZXgtO1xuLy8gQnkgZGVmYXVsdCB0aGlzIGlzIGFuIGVtcHR5IHN0cmluZ1xuJHJlZmxleC1wcmVmaXg6IG51bGwgIWRlZmF1bHQ7XG5cblxuLy8gTGVnYWN5IHN1cHBvcnRcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbi8vIFJlZmxleCBhZGRzIGEgbG90IG9mIGNzcyBwcm9wZXJ0aWUgdG8gc3VwcG9ydCBvbGRlciBicm93c2VycyB0aGF0IGRvbid0IHN1cHBvcnQgZmxleGJveCBsYXlvdXQuXG4vLyBJZiB5b3UgcHJlZmVyIHRvIHVzZSB0aGlzIGFzIGEgcHVyZWx5IGZsZXhib3ggZ3JpZCB3aXRob3V0IGxlZ2FjeSBzdXBwb3J0IHRoZW4gc2V0IHRoaXMgdG8gZmFsc2VcbiRsZWdhY3ktc3VwcG9ydDogdHJ1ZSAhZGVmYXVsdDtcblxuLy8gUmVzcG9uc2l2ZSB2aXNpYmlsaXR5IGhlbHBlcnNcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbi8vIFJlZmxleCBoYXMgc29tZSBnZW5lcmljIHZpc2liaWxpdHkgY2xhc3NlcyB0byBoaWRlIGVsZW1lbnRzIGF0IGRpZmZlcmVudCBicmVha3BvaW50cy5cbi8vIElmIHlvdSB3YW50IHRvIGRpc2FibGUgdGhlc2UgdGhlbiBzZXQgdGhpcyB0byBmYWxzZVxuJHZpc2liaWxpdHktaGVscGVyczogdHJ1ZSAhZGVmYXVsdDtcblxuLy8gR3JpZFxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuJHJlZmxleC1jb2x1bW5zOiAxMiAhZGVmYXVsdDsgLy8gbnVtYmVyIG9mIGNvbHVtbnNcblxuLy8gQnJlYWtwb2ludHNcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiRyZWZsZXgteHM6IDU3NnB4ICFkZWZhdWx0O1xuJHJlZmxleC1zbTogNzY4cHggIWRlZmF1bHQ7XG4kcmVmbGV4LW1kOiA5OTJweCAhZGVmYXVsdDtcbiRyZWZsZXgtbGc6IDEyMDBweCAhZGVmYXVsdDtcbiRyZWZsZXgteGxnOiAxNjAwcHggIWRlZmF1bHQ7XG5cbiRyZWZsZXgteHhzLW1heDogKCRyZWZsZXgteHMgLSAxKTtcbiRyZWZsZXgteHMtbWF4OiAoJHJlZmxleC1zbSAtIDEpO1xuJHJlZmxleC1zbS1tYXg6ICgkcmVmbGV4LW1kIC0gMSk7XG4kcmVmbGV4LW1kLW1heDogKCRyZWZsZXgtbGcgLSAxKTtcbiRyZWZsZXgtbGctbWF4OiAoJHJlZmxleC14bGcgLSAxKTtcblxuLy8gU3BhY2luZ1xuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuJHJlZmxleC1ncmlkLXNwYWNpbmc6IDE1cHggIWRlZmF1bHQ7XG5cbi8vIEN1c3RvbSBwcm9wZXJ0aWVzIHNvIG90aGVycyBjYW4gcmVmZXJlbmNlIHRoZSB2YXJpYWJsZXMuXG46cm9vdCB7XG4gIC0tcmVmbGV4LWNvbHVtbnM6ICN7ICRyZWZsZXgtY29sdW1ucyB9O1xuICAtLXJlZmxleC1ncmlkLXNwYWNpbmc6ICN7ICRyZWZsZXgtZ3JpZC1zcGFjaW5nIH07XG4gIC0tcmVmbGV4LXhzOiAjeyAkcmVmbGV4LXhzIH07XG4gIC0tcmVmbGV4LXNtOiAjeyAkcmVmbGV4LXNtIH07XG4gIC0tcmVmbGV4LW1kOiAjeyAkcmVmbGV4LW1kIH07XG4gIC0tcmVmbGV4LWxnOiAjeyAkcmVmbGV4LWxnIH07XG4gIC0tcmVmbGV4LXhsZzogI3sgJHJlZmxleC14bGcgfTtcbiAgLS1yZWZsZXgteHhzLW1heDogI3sgJHJlZmxleC14eHMtbWF4IH07XG4gIC0tcmVmbGV4LXhzLW1heDogI3sgJHJlZmxleC14cy1tYXggfTtcbiAgLS1yZWZsZXgtc20tbWF4OiAjeyAkcmVmbGV4LXNtLW1heCB9O1xuICAtLXJlZmxleC1tZC1tYXg6ICN7ICRyZWZsZXgtbWQtbWF4IH07XG4gIC0tcmVmbGV4LWxnLW1heDogI3sgJHJlZmxleC1sZy1tYXggfTtcbn1cbiIsIi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4vLyByZWZsZXggY29udGFpbmVyc1xuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuLiN7JHJlZmxleC1wcmVmaXh9Y29udGFpbmVyLFxuLiN7JHJlZmxleC1wcmVmaXh9Y29udGFpbmVyLWZ1bGwge1xuICAgIEBpbmNsdWRlIGJveC1zaXppbmcoYm9yZGVyLWJveCk7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xuICAgIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICAgIHBhZGRpbmctcmlnaHQ6ICgkcmVmbGV4LWdyaWQtc3BhY2luZyAqIDIpO1xuICAgIHBhZGRpbmctbGVmdDogKCRyZWZsZXgtZ3JpZC1zcGFjaW5nICogMik7XG5cbiAgICAuI3skcmVmbGV4LXByZWZpeH1ncmlkIHtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAtJHJlZmxleC1ncmlkLXNwYWNpbmc7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiAtJHJlZmxleC1ncmlkLXNwYWNpbmc7XG4gICAgfVxufVxuXG4uI3skcmVmbGV4LXByZWZpeH1jb250YWluZXIge1xuICAgIEBtZWRpYSAobWluLXdpZHRoOiAkcmVmbGV4LXhzKSB7XG4gICAgICAgIG1heC13aWR0aDogJHJlZmxleC14cztcbiAgICB9XG5cbiAgICBAbWVkaWEgKG1pbi13aWR0aDogJHJlZmxleC1zbSkge1xuICAgICAgICBtYXgtd2lkdGg6ICRyZWZsZXgtc207XG4gICAgfVxuXG4gICAgQG1lZGlhIChtaW4td2lkdGg6ICRyZWZsZXgtbWQpIHtcbiAgICAgICAgbWF4LXdpZHRoOiAkcmVmbGV4LW1kO1xuICAgIH1cblxuICAgIEBtZWRpYSAobWluLXdpZHRoOiAkcmVmbGV4LWxnKSB7XG4gICAgICAgIG1heC13aWR0aDogJHJlZmxleC1sZztcbiAgICB9XG5cbiAgICBAbWVkaWEgKG1pbi13aWR0aDogJHJlZmxleC14bGcpIHtcbiAgICAgICAgbWF4LXdpZHRoOiAkcmVmbGV4LXhsZztcbiAgICB9XG59XG5cbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4vLyByZWZsZXggZ3JpZFxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuLiN7JHJlZmxleC1wcmVmaXh9Z3JpZCB7XG4gICAgQGluY2x1ZGUgYm94LXNpemluZyhib3JkZXItYm94KTtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBAaW5jbHVkZSBkaXNwbGF5LWZsZXgoKTtcbiAgICBAaW5jbHVkZSBmbGV4LXdyYXAoKTtcbiAgICBwYWRkaW5nOiAwO1xuICAgIG1hcmdpbjogMCBhdXRvO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBAaW5jbHVkZSBzZXR1cC13aGl0ZXNwYWNlKCk7XG5cbiAgICAmOjpiZWZvcmUsXG4gICAgJjo6YWZ0ZXIge1xuICAgICAgICBAaW5jbHVkZSBib3gtc2l6aW5nKGJvcmRlci1ib3gpO1xuICAgICAgICBAaW5jbHVkZSByZXNldC13aGl0ZXNwYWNlKCk7XG4gICAgfVxuXG4gICAgLy8gaGFuZGxlIHdoZW4gbGlzdHMgYXJlIHVzZWQgYXMgYSBncmlkXG4gICAgbGlzdC1zdHlsZS10eXBlOiBub25lO1xufVxuXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuLy8gcmVmbGV4IGNvbCBkZWZhdWx0c1xuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuW2NsYXNzKj1cIiN7JHJlZmxleC1wcmVmaXh9Y29sLVwiXSB7XG4gICAgQGluY2x1ZGUgYm94LXNpemluZyhib3JkZXItYm94KTtcbiAgICBAaW5jbHVkZSByZXNldC13aGl0ZXNwYWNlKCk7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIHZlcnRpY2FsLWFsaWduOiB0b3A7XG4gICAgcGFkZGluZzogJHJlZmxleC1ncmlkLXNwYWNpbmc7XG5cbiAgICAmOjpiZWZvcmUsXG4gICAgJjo6YWZ0ZXIge1xuICAgICAgICBAaW5jbHVkZSBib3gtc2l6aW5nKGJvcmRlci1ib3gpO1xuICAgICAgICBAaW5jbHVkZSByZXNldC13aGl0ZXNwYWNlKCk7XG4gICAgfVxuXG4gICAgLy8gaGFuZGxlIGdyaWRzIG5lc3RlZCBpbiBjb2x1bW5zXG4gICAgLiN7JHJlZmxleC1wcmVmaXh9Z3JpZCB7XG4gICAgICAgIEBpbmNsdWRlIGZsZXgoMSwgMSwgYXV0byk7XG4gICAgICAgIG1hcmdpbjogLSRyZWZsZXgtZ3JpZC1zcGFjaW5nO1xuICAgIH1cblxuICAgIEBpZiAkbGVnYWN5LXN1cHBvcnQgPT0gdHJ1ZSB7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgKmRpc3BsYXk6IGlubGluZTtcbiAgICAgICAgem9vbTogMTtcbiAgICB9XG59XG5cbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4vLyByZWZsZXggZ3JpZCBnZW5lcmF0aW9uXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG5AaW5jbHVkZSBtYWtlLXJlZmxleC1ncmlkKGNvbC0pO1xuXG5AbWVkaWEgKG1pbi13aWR0aDogJHJlZmxleC14cykge1xuICAgIEBpbmNsdWRlIG1ha2UtcmVmbGV4LWdyaWQoY29sLXhzLSk7XG59XG5cbkBtZWRpYSAobWluLXdpZHRoOiAkcmVmbGV4LXNtKSB7XG4gICAgQGluY2x1ZGUgbWFrZS1yZWZsZXgtZ3JpZChjb2wtc20tKTtcbn1cblxuQG1lZGlhIChtaW4td2lkdGg6ICRyZWZsZXgtbWQpIHtcbiAgICBAaW5jbHVkZSBtYWtlLXJlZmxleC1ncmlkKGNvbC1tZC0pO1xufVxuXG5AbWVkaWEgKG1pbi13aWR0aDogJHJlZmxleC1sZykge1xuICAgIEBpbmNsdWRlIG1ha2UtcmVmbGV4LWdyaWQoY29sLWxnLSk7XG59XG5cbkBtZWRpYSAobWluLXdpZHRoOiAkcmVmbGV4LXhsZykge1xuICAgIEBpbmNsdWRlIG1ha2UtcmVmbGV4LWdyaWQoY29sLXhsZy0pO1xufVxuXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuLy8gcmVmbGV4IGNvbC1hdXRvXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4uI3skcmVmbGV4LXByZWZpeH1jb2wtYXV0byB7XG4gICAgQGluY2x1ZGUgc2V0dXAtYXV0by1jb2xzKCk7XG59XG5cbkBtZWRpYSAobWluLXdpZHRoOiAkcmVmbGV4LXhzKSB7XG4gICAgLiN7JHJlZmxleC1wcmVmaXh9Y29sLXhzLWF1dG8ge1xuICAgICAgICBAaW5jbHVkZSBzZXR1cC1hdXRvLWNvbHMoKTtcbiAgICB9XG59XG5cbkBtZWRpYSAobWluLXdpZHRoOiAkcmVmbGV4LXNtKSB7XG4gICAgLiN7JHJlZmxleC1wcmVmaXh9Y29sLXNtLWF1dG8ge1xuICAgICAgICBAaW5jbHVkZSBzZXR1cC1hdXRvLWNvbHMoKTtcbiAgICB9XG59XG5cbkBtZWRpYSAobWluLXdpZHRoOiAkcmVmbGV4LW1kKSB7XG4gICAgLiN7JHJlZmxleC1wcmVmaXh9Y29sLW1kLWF1dG8ge1xuICAgICAgICBAaW5jbHVkZSBzZXR1cC1hdXRvLWNvbHMoKTtcbiAgICB9XG59XG5cbkBtZWRpYSAobWluLXdpZHRoOiAkcmVmbGV4LWxnKSB7XG4gICAgLiN7JHJlZmxleC1wcmVmaXh9Y29sLWxnLWF1dG8ge1xuICAgICAgICBAaW5jbHVkZSBzZXR1cC1hdXRvLWNvbHMoKTtcbiAgICB9XG59XG5cbkBtZWRpYSAobWluLXdpZHRoOiAkcmVmbGV4LXhsZykge1xuICAgIC4jeyRyZWZsZXgtcHJlZml4fWNvbC14bGctYXV0byB7XG4gICAgICAgIEBpbmNsdWRlIHNldHVwLWF1dG8tY29scygpO1xuICAgIH1cbn1cblxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbi8vIHJlZmxleCBvcmRlciBoZWxwZXJzIGdlbmVyYXRpb25cbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbkBpbmNsdWRlIG1ha2Utb3JkZXItaGVscGVycygpO1xuXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6ICRyZWZsZXgteHMpIHtcbiAgICBAaW5jbHVkZSBsb29wLW9yZGVyLWhlbHBlcnMoJHJlZmxleC1jb2x1bW5zLCAnLXhzJyk7XG59XG5cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogJHJlZmxleC1zbSkge1xuICAgIEBpbmNsdWRlIGxvb3Atb3JkZXItaGVscGVycygkcmVmbGV4LWNvbHVtbnMsICctc20nKTtcbn1cblxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAkcmVmbGV4LW1kKSB7XG4gICAgQGluY2x1ZGUgbG9vcC1vcmRlci1oZWxwZXJzKCRyZWZsZXgtY29sdW1ucywgJy1tZCcpO1xufVxuXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6ICRyZWZsZXgtbGcpIHtcbiAgICBAaW5jbHVkZSBsb29wLW9yZGVyLWhlbHBlcnMoJHJlZmxleC1jb2x1bW5zLCAnLWxnJyk7XG59XG5cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogJHJlZmxleC14bGcpIHtcbiAgICBAaW5jbHVkZSBsb29wLW9yZGVyLWhlbHBlcnMoJHJlZmxleC1jb2x1bW5zLCAnLXhsZycpO1xufVxuXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuLy8gcmVmbGV4IG9mZnNldCBoZWxwZXJzIGdlbmVyYXRpb25cbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbkBpbmNsdWRlIG1ha2Utb2Zmc2V0LWhlbHBlcnMoKTtcblxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAkcmVmbGV4LXhzKSB7XG4gICAgQGluY2x1ZGUgbG9vcC1vZmZzZXQtaGVscGVycygkcmVmbGV4LWNvbHVtbnMgLSAxLCAnLXhzJyk7XG59XG5cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogJHJlZmxleC1zbSkge1xuICAgIEBpbmNsdWRlIGxvb3Atb2Zmc2V0LWhlbHBlcnMoJHJlZmxleC1jb2x1bW5zIC0gMSwgJy1zbScpO1xufVxuXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6ICRyZWZsZXgtbWQpIHtcbiAgICBAaW5jbHVkZSBsb29wLW9mZnNldC1oZWxwZXJzKCRyZWZsZXgtY29sdW1ucyAtIDEsICctbWQnKTtcbn1cblxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAkcmVmbGV4LWxnKSB7XG4gICAgQGluY2x1ZGUgbG9vcC1vZmZzZXQtaGVscGVycygkcmVmbGV4LWNvbHVtbnMgLSAxLCAnLWxnJyk7XG59XG5cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogJHJlZmxleC14bGcpIHtcbiAgICBAaW5jbHVkZSBsb29wLW9mZnNldC1oZWxwZXJzKCRyZWZsZXgtY29sdW1ucyAtIDEsICcteGxnJyk7XG59XG4iLCIvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuLy8gcmVmbGV4IG1peGluc1xuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbi8vXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuLy8gcmVmbGV4IGdyaWQgZ2VuZXJhdGlvbiBtaXhpbnNcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbkBtaXhpbiBtYWtlLXJlZmxleC1ncmlkKCRjbGFzcykge1xuICAgIEBpbmNsdWRlIGxvb3AtcmVmbGV4LWNvbHVtbnMoJHJlZmxleC1jb2x1bW5zLCAkY2xhc3MsIHdpZHRoKTtcbn1cblxuQG1peGluIGNhbGMtcmVmbGV4LWNvbHVtbnMoJGluZGV4LCAkY2xhc3MsICR0eXBlKSB7XG4gICAgQGlmICR0eXBlID09IHdpZHRoIGFuZCAkaW5kZXggPiAwIHtcbiAgICAgICAgLiN7JHJlZmxleC1wcmVmaXh9I3skY2xhc3N9I3skaW5kZXh9IHtcbiAgICAgICAgICAgIHdpZHRoOiBwZXJjZW50YWdlKCgkaW5kZXggLyAkcmVmbGV4LWNvbHVtbnMpKTtcbiAgICAgICAgICAgIEBpZiAkbGVnYWN5LXN1cHBvcnQgPT0gdHJ1ZSB7XG4gICAgICAgICAgICAgICAgKndpZHRoOiBwZXJjZW50YWdlKCgkaW5kZXggLyAkcmVmbGV4LWNvbHVtbnMpKSAtIC4xOyAvLyBpZTcgY3NzIGhhY2tcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbn1cblxuQG1peGluIGxvb3AtcmVmbGV4LWNvbHVtbnMoJGluZGV4LCAkY2xhc3MsICR0eXBlKSB7XG4gICAgQGlmICRpbmRleCA+PSAwIHtcbiAgICAgICAgQGluY2x1ZGUgY2FsYy1yZWZsZXgtY29sdW1ucygkaW5kZXgsICRjbGFzcywgJHR5cGUpO1xuICAgICAgICAvLyBuZXh0IGl0ZXJhdGlvblxuICAgICAgICBAaW5jbHVkZSBsb29wLXJlZmxleC1jb2x1bW5zKCgkaW5kZXggLSAxKSwgJGNsYXNzLCAkdHlwZSk7XG4gICAgfVxufVxuXG4vLyBkZWZhdWx0cyBmb3IgYXV0byBjb2xzXG5AbWl4aW4gc2V0dXAtYXV0by1jb2xzKCkge1xuICAgIEBpbmNsdWRlIGZsZXgoMSwgMCwgMHB4KTsgLy8gYSB1bml0IG9uIGxhc3QgdmFsdWUgaXMgcmVxdWlyZWQgYnkgSUUxMC0xMVxuXG4gICAgQGlmICRsZWdhY3ktc3VwcG9ydCA9PSB0cnVlIHtcbiAgICAgICAgd2lkdGg6IGF1dG87XG4gICAgfVxufVxuXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuLy8gaW5saW5lLWJsb2NrIHNwZWNpZmljIG1peGluc1xuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuQG1peGluIHNldHVwLXdoaXRlc3BhY2UoKSB7XG4gICAgQGlmICRsZWdhY3ktc3VwcG9ydCA9PSB0cnVlIHtcbiAgICAgICAgbGV0dGVyLXNwYWNpbmc6IC0uMzFlbTtcbiAgICAgICAgKmxldHRlci1zcGFjaW5nOiBub3JtYWw7XG4gICAgICAgIHdvcmQtc3BhY2luZzogLS40M2VtO1xuICAgIH1cbn1cblxuQG1peGluIHJlc2V0LXdoaXRlc3BhY2UoKSB7XG4gICAgQGlmICRsZWdhY3ktc3VwcG9ydCA9PSB0cnVlIHtcbiAgICAgICAgbGV0dGVyLXNwYWNpbmc6IG5vcm1hbDtcbiAgICAgICAgd29yZC1zcGFjaW5nOiBub3JtYWw7XG4gICAgICAgIHdoaXRlLXNwYWNlOiBub3JtYWw7XG4gICAgfVxufVxuXG5AbWl4aW4gcmVzZXQtdGV4dC1hbGlnbigpIHtcbiAgICAvL1xuICAgIC8vIFdlIHdhbnQgdG8gcmVzZXQgYW55IHRleHQtYWxpZ24gcHJvcGVydGllcyBzZXQgYnkgdGhlIGdyaWRcbiAgICAvLyAocmVxdWlyZWQgZm9yIHRoZSBpbmxpbmUtYmxvY2sgZmFsbGJhY2spXG4gICAgLy8gYnV0IHdlIGRvbid0IHdhbnQgdG8gb3ZlcnJpZGUgYW55IHRleHQtYWxpZ24gcHJvcGVydGllc1xuICAgIC8vIHNldCBvbiB0aGUgaW5kaXZpZHVhbCBjb2wteCBlbGVtZW50XG4gICAgLy8gb3Igb24gYW55IG9mIGl0J3MgY2hpbGQgZWxlbWVudHNcbiAgICAvL1xuICAgIC8vIDEpIHNldCB0byBsZWZ0IGJ5IGRlZmF1bHQgKHdvcmtzIGV2ZXJ5d2hlcmUpXG4gICAgLy8gMikgc2V0IHRvIHN0YXJ0IChyZXNwZWN0cyByaWdodCB0byBsZWZ0IHRleHQpXG4gICAgLy9cbiAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAgIHRleHQtYWxpZ246IHN0YXJ0O1xuICAgIC1tb3otdGV4dC1hbGlnbi1sYXN0OiBsZWZ0O1xuICAgIC1tb3otdGV4dC1hbGlnbi1sYXN0OiBzdGFydDtcbiAgICB0ZXh0LWFsaWduLWxhc3Q6IGxlZnQ7XG4gICAgdGV4dC1hbGlnbi1sYXN0OiBzdGFydDtcbn1cblxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbi8vIG9yZGVyIGNsYXNzIGdlbmVyYXRpb24gbWl4aW5zXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG5AbWl4aW4gb3JkZXIoJG9yZGVyOiAwKSB7XG4gICAgLW1zLWZsZXgtb3JkZXI6ICRvcmRlcjtcbiAgICAtd2Via2l0LW9yZGVyOiAkb3JkZXI7XG4gICAgb3JkZXI6ICRvcmRlcjtcbn1cblxuQG1peGluIG1ha2Utb3JkZXItaGVscGVycygpIHtcbiAgICBAaW5jbHVkZSBsb29wLW9yZGVyLWhlbHBlcnMoJHJlZmxleC1jb2x1bW5zKTtcbn1cblxuQG1peGluIGxvb3Atb3JkZXItaGVscGVycygkaW5kZXgsICRicmVha3BvaW50OiBudWxsKSB7XG4gICAgQGlmICRpbmRleCA+PSAwIHtcbiAgICAgICAgLiN7JHJlZmxleC1wcmVmaXh9b3JkZXIjeyRicmVha3BvaW50fS0jeyRpbmRleH0ge1xuICAgICAgICAgICAgQGluY2x1ZGUgb3JkZXIoJGluZGV4KTtcbiAgICAgICAgfVxuICAgICAgICAvLyBuZXh0IGl0ZXJhdGlvblxuICAgICAgICBAaW5jbHVkZSBsb29wLW9yZGVyLWhlbHBlcnMoKCRpbmRleCAtIDEpLCAkYnJlYWtwb2ludCk7XG4gICAgfVxufVxuXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuLy8gb2Zmc2V0IGNsYXNzIGdlbmVyYXRpb24gbWl4aW5zXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuQG1peGluIG9mZnNldCgkaW5kZXg6IDApIHtcbiAgICAkb2Zmc2V0OiAoJGluZGV4IC8gJHJlZmxleC1jb2x1bW5zKTtcbiAgICAvLyBjb252ZXJ0IHRvIHBlcmNlbnRhZ2Ugb25seSBpZiBub3QgemVyb1xuICAgIEBpZiAkb2Zmc2V0ICE9IDAge1xuICAgICAgICAkb2Zmc2V0OiBwZXJjZW50YWdlKCRvZmZzZXQpO1xuICAgIH1cbiAgICBtYXJnaW4tbGVmdDogJG9mZnNldDtcbiAgICBAaWYgJGxlZ2FjeS1zdXBwb3J0ID09IHRydWUge1xuICAgICAgICAqbWFyZ2luLWxlZnQ6IHBlcmNlbnRhZ2UoKCRpbmRleCAvICRyZWZsZXgtY29sdW1ucykpIC0gLjE7IC8vIGllNyBjc3MgaGFja1xuICAgIH1cbn1cblxuQG1peGluIG1ha2Utb2Zmc2V0LWhlbHBlcnMoKSB7XG4gICAgQGluY2x1ZGUgbG9vcC1vZmZzZXQtaGVscGVycygkcmVmbGV4LWNvbHVtbnMgLSAxKTtcbn1cblxuQG1peGluIGxvb3Atb2Zmc2V0LWhlbHBlcnMoJGluZGV4LCAkYnJlYWtwb2ludDogbnVsbCkge1xuICAgIEBpZiAkaW5kZXggPiAwIGFuZCAkYnJlYWtwb2ludCA9PSBudWxsIHtcbiAgICAgICAgLiN7JHJlZmxleC1wcmVmaXh9b2Zmc2V0I3skYnJlYWtwb2ludH0tI3skaW5kZXh9IHtcbiAgICAgICAgICAgIEBpbmNsdWRlIG9mZnNldCgkaW5kZXgpO1xuICAgICAgICB9XG4gICAgICAgIC8vIG5leHQgaXRlcmF0aW9uXG4gICAgICAgIEBpbmNsdWRlIGxvb3Atb2Zmc2V0LWhlbHBlcnMoKCRpbmRleCAtIDEpLCAkYnJlYWtwb2ludCk7XG4gICAgfSBAZWxzZSBpZiAkaW5kZXggPj0gMCBhbmQgJGJyZWFrcG9pbnQgIT0gbnVsbCB7XG4gICAgICAgIC4jeyRyZWZsZXgtcHJlZml4fW9mZnNldCN7JGJyZWFrcG9pbnR9LSN7JGluZGV4fSB7XG4gICAgICAgICAgICBAaW5jbHVkZSBvZmZzZXQoJGluZGV4KTtcbiAgICAgICAgfVxuICAgICAgICAvLyBuZXh0IGl0ZXJhdGlvblxuICAgICAgICBAaW5jbHVkZSBsb29wLW9mZnNldC1oZWxwZXJzKCgkaW5kZXggLSAxKSwgJGJyZWFrcG9pbnQpO1xuICAgIH1cbn1cblxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbi8vIHJlZmxleCBtb2RpZmllciBtaXhpbnNcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbi8vXG4vLyBkaXNwbGF5XG4vLyAtLS1cblxuQG1peGluIGRpc3BsYXktZmxleCgpIHtcbiAgICBkaXNwbGF5OiAtbXMtZmxleGJveDtcbiAgICBkaXNwbGF5OiAtd2Via2l0LWZsZXg7XG4gICAgZGlzcGxheTogZmxleDtcbn1cblxuLy9cbi8vIGZsZXhcbi8vIC0tLVxuXG5AbWl4aW4gZmxleCgkZ3JvdzogMCwgJHNocmluazogMSwgJGJhc2lzOiBhdXRvKSB7XG4gICAgQGlmICRiYXNpcyA9PSAwIHtcbiAgICAgICAgLW1zLWZsZXg6ICRncm93ICRzaHJpbmsgYXV0bzsgLy9pZTEwIG5lZWRzIGF1dG9cbiAgICB9IEBlbHNlIHtcbiAgICAgICAgLW1zLWZsZXg6ICRncm93ICRzaHJpbmsgJGJhc2lzO1xuICAgIH1cblxuICAgIC13ZWJraXQtZmxleDogJGdyb3cgJHNocmluayAkYmFzaXM7XG4gICAgZmxleDogJGdyb3cgJHNocmluayAkYmFzaXM7XG59XG5cbkBtaXhpbiBmbGV4LWdyb3coJGdyb3c6MSkge1xuICAgIC1tcy1mbGV4LXBvc2l0aXZlOiAkZ3JvdztcbiAgICAtd2Via2l0LWZsZXgtZ3JvdzogJGdyb3c7XG4gICAgZmxleC1ncm93OiAkZ3Jvdztcbn1cblxuQG1peGluIGZsZXgtc2hyaW5rKCRzaHJpbms6MSkge1xuICAgIC1tcy1mbGV4LW5lZ2F0aXZlOiAkc2hyaW5rO1xuICAgIC13ZWJraXQtZmxleC1zaHJpbms6ICRzaHJpbms7XG4gICAgZmxleC1zaHJpbms6ICRzaHJpbms7XG59XG5cbkBtaXhpbiBmbGV4LWJhc2lzKCRiYXNpczphdXRvKSB7XG4gICAgLW1zLWZsZXgtcHJlZmVycmVkLXNpemU6ICRiYXNpcztcbiAgICAtd2Via2l0LWZsZXgtYmFzaXM6ICRiYXNpcztcbiAgICBmbGV4LWJhc2lzOiAkYmFzaXM7XG59XG5cbkBtaXhpbiBmbGV4LWZsb3coJGRpcmVjdGlvbjogcm93LCAkd3JhcDogbm93cmFwKSB7XG4gICAgLW1zLWZsZXgtd3JhcDogJHdyYXA7XG4gICAgLW1zLWZsZXgtZGlyZWN0aW9uOiAkZGlyZWN0aW9uO1xuICAgIC13ZWJraXQtZmxleC1mbG93OiAkZGlyZWN0aW9uICR3cmFwO1xuICAgIGZsZXgtZmxvdzogJGRpcmVjdGlvbiAkd3JhcDtcbn1cblxuQG1peGluIGZsZXgtd3JhcCgkd3JhcDogd3JhcCkge1xuICAgIC1tcy1mbGV4LXdyYXA6ICR3cmFwO1xuICAgIC13ZWJraXQtZmxleC13cmFwOiAkd3JhcDtcbiAgICBmbGV4LXdyYXA6ICR3cmFwO1xufVxuXG5AbWl4aW4gZmxleC1kaXJlY3Rpb24oJGRpcmVjdGlvbjogcm93KSB7XG4gICAgLW1zLWZsZXgtZGlyZWN0aW9uOiAkZGlyZWN0aW9uO1xuICAgIC13ZWJraXQtZmxleC1kaXJlY3Rpb246ICRkaXJlY3Rpb247XG4gICAgZmxleC1kaXJlY3Rpb246ICRkaXJlY3Rpb247XG59XG5cbi8vXG4vLyBhbGlnblxuLy8gLS0tXG5cbkBtaXhpbiBhbGlnbi1pdGVtcygkYWxpZ246IHN0cmV0Y2gpIHtcbiAgICBAaW5jbHVkZSBtcy1hbGlnbi1pdGVtcygkYWxpZ24pO1xuICAgIC13ZWJraXQtYWxpZ24taXRlbXM6ICRhbGlnbjtcbiAgICBhbGlnbi1pdGVtczogJGFsaWduO1xufVxuXG5AbWl4aW4gYWxpZ24tc2VsZigkYWxpZ246IHN0cmV0Y2gpIHtcbiAgICBAaW5jbHVkZSBtcy1hbGlnbi1zZWxmKCRhbGlnbik7XG4gICAgLXdlYmtpdC1hbGlnbi1zZWxmOiAkYWxpZ247XG4gICAgYWxpZ24tc2VsZjogJGFsaWduO1xufVxuXG5AbWl4aW4gYWxpZ24tY29udGVudCgkYWxpZ246IHN0cmV0Y2gpIHtcbiAgICBAaW5jbHVkZSBtcy1hbGlnbi1jb250ZW50KCRhbGlnbik7XG4gICAgLXdlYmtpdC1hbGlnbi1jb250ZW50OiAkYWxpZ247XG4gICAgYWxpZ24tY29udGVudDogJGFsaWduO1xufVxuXG4vL1xuLy8gaWUxMCBzeW50YXggZm9yIGFsaWduXG4vLyAtLS1cblxuQG1peGluIG1zLWFsaWduLWl0ZW1zKCRhbGlnbikge1xuICAgIEBpZiAkYWxpZ24gPT0gJ2ZsZXgtc3RhcnQnIHtcbiAgICAgICAgLW1zLWZsZXgtYWxpZ246IHN0YXJ0O1xuICAgIH0gQGVsc2UgaWYgJGFsaWduID09ICdmbGV4LWVuZCcge1xuICAgICAgICAtbXMtZmxleC1hbGlnbjogZW5kO1xuICAgIH0gQGVsc2Uge1xuICAgICAgICAtbXMtZmxleC1hbGlnbjogJGFsaWduO1xuICAgIH1cbn1cblxuQG1peGluIG1zLWFsaWduLXNlbGYoJGFsaWduKSB7XG4gICAgQGlmICRhbGlnbiA9PSAnZmxleC1zdGFydCcge1xuICAgICAgICAtbXMtZmxleC1pdGVtLWFsaWduOiBzdGFydDtcbiAgICB9IEBlbHNlIGlmICRhbGlnbiA9PSAnZmxleC1lbmQnIHtcbiAgICAgICAgLW1zLWZsZXgtaXRlbS1hbGlnbjogZW5kO1xuICAgIH0gQGVsc2Uge1xuICAgICAgICAtbXMtZmxleC1pdGVtLWFsaWduOiAkYWxpZ247XG4gICAgfVxufVxuXG5AbWl4aW4gbXMtYWxpZ24tY29udGVudCgkYWxpZ24pIHtcbiAgICBAaWYgJGFsaWduID09ICdmbGV4LXN0YXJ0JyB7XG4gICAgICAgIC1tcy1mbGV4LWxpbmUtcGFjazogc3RhcnQ7XG4gICAgfSBAZWxzZSBpZiAkYWxpZ24gPT0gJ2ZsZXgtZW5kJyB7XG4gICAgICAgIC1tcy1mbGV4LWxpbmUtcGFjazogZW5kO1xuICAgIH0gQGVsc2UgaWYgJGFsaWduID09ICdzcGFjZS1iZXR3ZWVuJyB7XG4gICAgICAgIC1tcy1mbGV4LWxpbmUtcGFjazoganVzdGlmeTtcbiAgICB9IEBlbHNlIGlmICRhbGlnbiA9PSAnc3BhY2UtYXJvdW5kJyB7XG4gICAgICAgIC1tcy1mbGV4LWxpbmUtcGFjazogZGlzdHJpYnV0ZTtcbiAgICB9IEBlbHNlIHtcbiAgICAgICAgLW1zLWZsZXgtbGluZS1wYWNrOiAkYWxpZ247XG4gICAgfVxufVxuXG4vL1xuLy8ganVzdGlmeS1jb250ZW50XG4vL1xuLy8gVXNlcyBcInRleHQtYWxpZ25cIiBmb3IgdGhlIGZhbGxiYWNrIGlubGluZS1ibG9jayBncmlkXG4vLyBcInRleHQtYWxpZ25cIiBpcyBnbG9iYWxseSBzdXBwb3J0ZWQgYW5kIHdvcmtzIG9uIGFsbCByb3dzIGV4Y2VwdCB0aGUgbGFzdFxuLy8gXCJ0ZXh0LWFsaWduLWxhc3RcIiwgd2hlcmUgc3VwcG9ydGVkLCBoYW5kbGVzIHRoZSBsYXN0IGxpbmUgKGFuZCwgaGFwcGlseSwgZ3JpZHMgd2l0aCBvbmx5IG9uZSByb3cpXG4vLyAtLS1cblxuQG1peGluIGp1c3RpZnktY29udGVudC1zdGFydCgpIHtcbiAgICAtbXMtZmxleC1wYWNrOiBzdGFydDtcbiAgICAtd2Via2l0LWp1c3RpZnktY29udGVudDogZmxleC1zdGFydDtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7XG59XG5cbkBtaXhpbiBqdXN0aWZ5LWNvbnRlbnQtZW5kKCkge1xuICAgIC1tcy1mbGV4LXBhY2s6IGVuZDtcbiAgICAtd2Via2l0LWp1c3RpZnktY29udGVudDogZmxleC1lbmQ7XG4gICAganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDtcbn1cblxuQG1peGluIGp1c3RpZnktY29udGVudC1jZW50ZXIoKSB7XG4gICAgLW1zLWZsZXgtcGFjazogY2VudGVyO1xuICAgIC13ZWJraXQtanVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG59XG5cbkBtaXhpbiBqdXN0aWZ5LWNvbnRlbnQtc3BhY2UtYmV0d2VlbigpIHtcbiAgICAtbXMtZmxleC1wYWNrOiBqdXN0aWZ5O1xuICAgIC13ZWJraXQtanVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2Vlbjtcbn1cblxuQG1peGluIGp1c3RpZnktY29udGVudC1zcGFjZS1hcm91bmQoKSB7XG4gICAgLW1zLWZsZXgtcGFjazogZGlzdHJpYnV0ZTtcbiAgICAtd2Via2l0LWp1c3RpZnktY29udGVudDogc3BhY2UtYXJvdW5kO1xuICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYXJvdW5kO1xufVxuXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuLy8gb3RoZXIgbWl4aW5zXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG5AbWl4aW4gYm94LXNpemluZygkYm94bW9kZWwpIHtcbiAgICAtd2Via2l0LWJveC1zaXppbmc6ICRib3htb2RlbDtcbiAgICAtbW96LWJveC1zaXppbmc6ICRib3htb2RlbDtcbiAgICBib3gtc2l6aW5nOiAkYm94bW9kZWw7XG59XG5cbkBtaXhpbiByZXNwb25zaXZlLXZpc2liaWxpdHktaGVscGVycygpIHtcbiAgICBAaWYgJHZpc2liaWxpdHktaGVscGVycyA9PSB0cnVlIHtcbiAgICAgICAgLiN7JHJlZmxleC1wcmVmaXh9aGlkZGVuLXh4cyB7XG4gICAgICAgICAgICBAbWVkaWEgKG1heC13aWR0aDogJHJlZmxleC14eHMtbWF4KSB7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC4jeyRyZWZsZXgtcHJlZml4fWhpZGRlbi14cyB7XG4gICAgICAgICAgICBAbWVkaWEgKG1pbi13aWR0aDogJHJlZmxleC14cykgYW5kIChtYXgtd2lkdGg6ICRyZWZsZXgteHMtbWF4KSB7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC4jeyRyZWZsZXgtcHJlZml4fWhpZGRlbi1zbSB7XG4gICAgICAgICAgICBAbWVkaWEgKG1pbi13aWR0aDogJHJlZmxleC1zbSkgYW5kIChtYXgtd2lkdGg6ICRyZWZsZXgtc20tbWF4KSB7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC4jeyRyZWZsZXgtcHJlZml4fWhpZGRlbi1tZCB7XG4gICAgICAgICAgICBAbWVkaWEgKG1pbi13aWR0aDogJHJlZmxleC1tZCkgYW5kIChtYXgtd2lkdGg6ICRyZWZsZXgtbWQtbWF4KSB7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC4jeyRyZWZsZXgtcHJlZml4fWhpZGRlbi1sZyB7XG4gICAgICAgICAgICBAbWVkaWEgKG1pbi13aWR0aDogJHJlZmxleC1sZykgYW5kIChtYXgtd2lkdGg6ICRyZWZsZXgtbGctbWF4KSB7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC4jeyRyZWZsZXgtcHJlZml4fWhpZGRlbi14bGcge1xuICAgICAgICAgICAgQG1lZGlhIChtaW4td2lkdGg6ICRyZWZsZXgteGxnKSB7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbn1cbiIsIlxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbi8vIGdyaWQgbW9kaWZpZXJzXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuLy8gZmxleC13cmFwXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4uI3skcmVmbGV4LXByZWZpeH13cmFwIHtcbiAgICBAaW5jbHVkZSBmbGV4LXdyYXAod3JhcCk7XG59XG5cbi4jeyRyZWZsZXgtcHJlZml4fW5vLXdyYXAge1xuICAgIEBpbmNsdWRlIGZsZXgtd3JhcChub3dyYXApO1xuXG4gICAgLy8gVGhpcyBpcyBtb3N0bHkgbmVlZGVkIHRvIHN0b3AgdGhlIGdyaWQgY29udGVudHMgb3ZlcmZsb3dpbmcgaW4gdGhlXG4gICAgLy8gaWUxMCBpbXBsZW1lbnRhdGlvbiBvZiBmbGV4Ym94IGJ1dCBpdCBjYW4ndCBodXJ0IGluIG90aGVyIGJyb3dzZXJzXG4gICAgLy8gYXMgaXQgaXMgdGhlIGRlc2lyZWQgYmVoYXZpb3VyIG9mIG5vbiB3cmFwcGluZyBmbGV4IGl0ZW1zXG4gICAgW2NsYXNzKj1cIiN7JHJlZmxleC1wcmVmaXh9Y29sLVwiXSB7XG4gICAgICAgIEBpbmNsdWRlIGZsZXgtc2hyaW5rKDEpO1xuICAgIH1cbn1cblxuLiN7JHJlZmxleC1wcmVmaXh9d3JhcC1yZXZlcnNlIHtcbiAgICBAaW5jbHVkZSBmbGV4LXdyYXAod3JhcC1yZXZlcnNlKTtcbn1cblxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbi8vIGZsZXgtZGlyZWN0aW9uXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4uI3skcmVmbGV4LXByZWZpeH1kaXJlY3Rpb24tcm93IHtcbiAgICBAaW5jbHVkZSBmbGV4LWRpcmVjdGlvbihyb3cpO1xufVxuXG4uI3skcmVmbGV4LXByZWZpeH1kaXJlY3Rpb24tcm93LXJldmVyc2Uge1xuICAgIEBpbmNsdWRlIGZsZXgtZGlyZWN0aW9uKHJvdy1yZXZlcnNlKTtcbn1cblxuLiN7JHJlZmxleC1wcmVmaXh9ZGlyZWN0aW9uLWNvbHVtbiB7XG4gICAgQGluY2x1ZGUgZmxleC1kaXJlY3Rpb24oY29sdW1uKTtcbn1cblxuLiN7JHJlZmxleC1wcmVmaXh9ZGlyZWN0aW9uLWNvbHVtbi1yZXZlcnNlIHtcbiAgICBAaW5jbHVkZSBmbGV4LWRpcmVjdGlvbihjb2x1bW4tcmV2ZXJzZSk7XG59XG5cbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4vLyBhbGlnbiBpdGVtcyAoY3Jvc3MgYXhpcylcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbi4jeyRyZWZsZXgtcHJlZml4fWFsaWduLXN0YXJ0IHtcbiAgICBAaW5jbHVkZSBhbGlnbi1pdGVtcyhmbGV4LXN0YXJ0KTtcbn1cblxuLiN7JHJlZmxleC1wcmVmaXh9YWxpZ24tZW5kIHtcbiAgICBAaW5jbHVkZSBhbGlnbi1pdGVtcyhmbGV4LWVuZCk7XG5cbiAgICBAaWYgJGxlZ2FjeS1zdXBwb3J0ID09IHRydWUge1xuICAgICAgICAvLyBmYWxsYmFjayB0byBsZWdhY3kgdmVydGljYWwtYWxpZ25cbiAgICAgICAgW2NsYXNzKj1cIiN7JHJlZmxleC1wcmVmaXh9Y29sLVwiXSB7XG4gICAgICAgICAgICB2ZXJ0aWNhbC1hbGlnbjogYm90dG9tO1xuICAgICAgICB9XG4gICAgfVxufVxuXG4uI3skcmVmbGV4LXByZWZpeH1hbGlnbi1jZW50ZXIge1xuICAgIEBpbmNsdWRlIGFsaWduLWl0ZW1zKGNlbnRlcik7XG5cbiAgICBAaWYgJGxlZ2FjeS1zdXBwb3J0ID09IHRydWUge1xuICAgICAgICAvLyBmYWxsYmFjayB0byBsZWdhY3kgdmVydGljYWwtYWxpZ25cbiAgICAgICAgW2NsYXNzKj1cIiN7JHJlZmxleC1wcmVmaXh9Y29sLVwiXSB7XG4gICAgICAgICAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICAgICAgICB9XG4gICAgfVxufVxuXG4uI3skcmVmbGV4LXByZWZpeH1hbGlnbi1iYXNlbGluZSB7XG4gICAgQGluY2x1ZGUgYWxpZ24taXRlbXMoYmFzZWxpbmUpO1xufVxuXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuLy8gYWxpZ24gY29udGVudCAoY3Jvc3MgYXhpcylcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbi4jeyRyZWZsZXgtcHJlZml4fWFsaWduLWNvbnRlbnQtc3RhcnQge1xuICAgIEBpbmNsdWRlIGFsaWduLWNvbnRlbnQoZmxleC1zdGFydCk7XG59XG5cbi4jeyRyZWZsZXgtcHJlZml4fWFsaWduLWNvbnRlbnQtZW5kIHtcbiAgICBAaW5jbHVkZSBhbGlnbi1jb250ZW50KGZsZXgtZW5kKTtcblxuICAgIC8vIGZhbGxiYWNrIHRvIGxlZ2FjeSB2ZXJ0aWNhbC1hbGlnblxuICAgIFtjbGFzcyo9XCIjeyRyZWZsZXgtcHJlZml4fWNvbC1cIl0ge1xuICAgICAgICB2ZXJ0aWNhbC1hbGlnbjogYm90dG9tO1xuICAgIH1cbn1cblxuLiN7JHJlZmxleC1wcmVmaXh9YWxpZ24tY29udGVudC1jZW50ZXIge1xuICAgIEBpbmNsdWRlIGFsaWduLWNvbnRlbnQoY2VudGVyKTtcbn1cblxuLiN7JHJlZmxleC1wcmVmaXh9YWxpZ24tY29udGVudC1zcGFjZS1iZXR3ZWVuIHtcbiAgICBAaW5jbHVkZSBhbGlnbi1jb250ZW50KHNwYWNlLWJldHdlZW4pO1xufVxuXG4uI3skcmVmbGV4LXByZWZpeH1hbGlnbi1jb250ZW50LXNwYWNlLWFyb3VuZCB7XG4gICAgQGluY2x1ZGUgYWxpZ24tY29udGVudChzcGFjZS1hcm91bmQpO1xufVxuXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuLy8gYWxpZ24tc2VsZlxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuLiN7JHJlZmxleC1wcmVmaXh9YWxpZ24tc2VsZi1zdHJldGNoIHtcbiAgICBAaW5jbHVkZSBhbGlnbi1zZWxmKHN0cmV0Y2gpO1xufVxuXG4uI3skcmVmbGV4LXByZWZpeH1hbGlnbi1zZWxmLXN0YXJ0IHtcbiAgICBAaW5jbHVkZSBhbGlnbi1zZWxmKGZsZXgtc3RhcnQpO1xufVxuXG4uI3skcmVmbGV4LXByZWZpeH1hbGlnbi1zZWxmLWVuZCB7XG4gICAgQGluY2x1ZGUgYWxpZ24tc2VsZihmbGV4LWVuZCk7XG4gICAgdmVydGljYWwtYWxpZ246IGJvdHRvbTtcbn1cblxuLiN7JHJlZmxleC1wcmVmaXh9YWxpZ24tc2VsZi1jZW50ZXIge1xuICAgIEBpbmNsdWRlIGFsaWduLXNlbGYoY2VudGVyKTtcbiAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xufVxuXG4uI3skcmVmbGV4LXByZWZpeH1hbGlnbi1zZWxmLWJhc2VsaW5lIHtcbiAgICBAaW5jbHVkZSBhbGlnbi1zZWxmKGJhc2VsaW5lKTtcbiAgICB2ZXJ0aWNhbC1hbGlnbjogYmFzZWxpbmU7XG59XG5cbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4vLyBqdXN0aWZ5LWNvbnRlbnQgKG1haW4gYXhpcylcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbi4jeyRyZWZsZXgtcHJlZml4fWp1c3RpZnktc3RhcnQge1xuICAgIEBpbmNsdWRlIGp1c3RpZnktY29udGVudC1zdGFydCgpO1xuXG4gICAgQGlmICRsZWdhY3ktc3VwcG9ydCA9PSB0cnVlIHtcbiAgICAgICAgJi5ncmlkIHtcbiAgICAgICAgICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gICAgICAgIH1cbiAgICB9XG59XG5cbi4jeyRyZWZsZXgtcHJlZml4fWp1c3RpZnktZW5kIHtcbiAgICBAaW5jbHVkZSBqdXN0aWZ5LWNvbnRlbnQtZW5kKCk7XG5cbiAgICBAaWYgJGxlZ2FjeS1zdXBwb3J0ID09IHRydWUge1xuICAgICAgICAmLmdyaWQge1xuICAgICAgICAgICAgdGV4dC1hbGlnbjogcmlnaHQ7XG4gICAgICAgICAgICAtbW96LXRleHQtYWxpZ24tbGFzdDogcmlnaHQ7XG4gICAgICAgICAgICB0ZXh0LWFsaWduLWxhc3Q6IHJpZ2h0O1xuXG4gICAgICAgICAgICBbY2xhc3MqPVwiI3skcmVmbGV4LXByZWZpeH1jb2wtXCJdIHtcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSByZXNldC10ZXh0LWFsaWduKCk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG59XG5cbi4jeyRyZWZsZXgtcHJlZml4fWp1c3RpZnktY2VudGVyIHtcbiAgICBAaW5jbHVkZSBqdXN0aWZ5LWNvbnRlbnQtY2VudGVyKCk7XG5cbiAgICBAaWYgJGxlZ2FjeS1zdXBwb3J0ID09IHRydWUge1xuICAgICAgICAmLmdyaWQge1xuICAgICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICAgICAgLW1vei10ZXh0LWFsaWduLWxhc3Q6IGNlbnRlcjtcbiAgICAgICAgICAgIHRleHQtYWxpZ24tbGFzdDogY2VudGVyO1xuXG4gICAgICAgICAgICBbY2xhc3MqPVwiI3skcmVmbGV4LXByZWZpeH1jb2wtXCJdIHtcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSByZXNldC10ZXh0LWFsaWduKCk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG59XG5cbi4jeyRyZWZsZXgtcHJlZml4fWp1c3RpZnktc3BhY2UtYmV0d2VlbiB7XG4gICAgQGluY2x1ZGUganVzdGlmeS1jb250ZW50LXNwYWNlLWJldHdlZW4oKTtcblxuICAgIEBpZiAkbGVnYWN5LXN1cHBvcnQgPT0gdHJ1ZSB7XG4gICAgICAgICYuZ3JpZCB7XG4gICAgICAgICAgICB0ZXh0LWFsaWduOiBqdXN0aWZ5O1xuICAgICAgICAgICAgLW1vei10ZXh0LWFsaWduLWxhc3Q6IGp1c3RpZnk7XG4gICAgICAgICAgICB0ZXh0LWFsaWduLWxhc3Q6IGp1c3RpZnk7XG5cbiAgICAgICAgICAgIFtjbGFzcyo9XCIjeyRyZWZsZXgtcHJlZml4fWNvbC1cIl0ge1xuICAgICAgICAgICAgICAgIEBpbmNsdWRlIHJlc2V0LXRleHQtYWxpZ24oKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbn1cblxuLiN7JHJlZmxleC1wcmVmaXh9anVzdGlmeS1zcGFjZS1hcm91bmQge1xuICAgIEBpbmNsdWRlIGp1c3RpZnktY29udGVudC1zcGFjZS1hcm91bmQoKTtcblxuICAgIEBpZiAkbGVnYWN5LXN1cHBvcnQgPT0gdHJ1ZSB7XG4gICAgICAgICYuZ3JpZCB7XG4gICAgICAgICAgICB0ZXh0LWFsaWduOiBqdXN0aWZ5O1xuICAgICAgICAgICAgLW1vei10ZXh0LWFsaWduLWxhc3Q6IGp1c3RpZnk7XG4gICAgICAgICAgICB0ZXh0LWFsaWduLWxhc3Q6IGp1c3RpZnk7XG5cbiAgICAgICAgICAgIFtjbGFzcyo9XCIjeyRyZWZsZXgtcHJlZml4fWNvbC1cIl0ge1xuICAgICAgICAgICAgICAgIEBpbmNsdWRlIHJlc2V0LXRleHQtYWxpZ24oKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbn1cblxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbi8vIGNvc21ldGljIGdyaWQgbW9kaWZpZXJzXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4vLyBSZW1vdmVzIGludGVybmFsIHBhZGRpbmcgZnJvbSBhbGwgY29sdW1ucyBpbiBhIGdyaWRcbi4jeyRyZWZsZXgtcHJlZml4fWdyaWQtYmxlZWQge1xuICAgIFtjbGFzcyo9XCIjeyRyZWZsZXgtcHJlZml4fWNvbC1cIl0ge1xuICAgICAgICBwYWRkaW5nOiAwO1xuICAgIH1cbn1cblxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbi8vIGNvbCBtb2RpZmllcnNcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbi8vIE1ha2VzIGEgY29sdW1uIGVsZW1lbnQgaW50byBhIGZsZXhib3ggY29sdW1uXG4uI3skcmVmbGV4LXByZWZpeH1jb2wtZ3JpZCB7XG4gICAgQGluY2x1ZGUgZGlzcGxheS1mbGV4KCk7XG4gICAgQGluY2x1ZGUgZmxleC1kaXJlY3Rpb24oY29sdW1uKTtcblxuICAgICYuI3skcmVmbGV4LXByZWZpeH1kaXJlY3Rpb24tcm93IHtcbiAgICAgICAgQGluY2x1ZGUgZmxleC1kaXJlY3Rpb24ocm93KTtcbiAgICB9XG59XG5cbi8vIFJlbW92ZXMgaW50ZXJuYWwgcGFkZGluZyBmcm9tIGFsbCBjb2x1bW5zIGluIGEgZ3JpZFxuLiN7JHJlZmxleC1wcmVmaXh9Y29sLWJsZWVkIHtcbiAgICBwYWRkaW5nOiAwO1xufVxuXG4vLyBSZW1vdmVzIGhvcml6b250YWwgcGFkZGluZyBmcm9tIGFsbCBjb2x1bW5zIGluIGEgZ3JpZFxuLiN7JHJlZmxleC1wcmVmaXh9Y29sLWJsZWVkLXgge1xuICAgIHBhZGRpbmc6ICRyZWZsZXgtZ3JpZC1zcGFjaW5nIDA7XG59XG5cbi8vIFJlbW92ZXMgdmVydGljYWwgcGFkZGluZyBmcm9tIGFsbCBjb2x1bW5zIGluIGEgZ3JpZFxuLiN7JHJlZmxleC1wcmVmaXh9Y29sLWJsZWVkLXkge1xuICAgIHBhZGRpbmc6IDAgJHJlZmxleC1ncmlkLXNwYWNpbmc7XG59XG5cbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4vLyBjb2wtZ3JpZCBjb250ZW50c1xuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuLiN7JHJlZmxleC1wcmVmaXh9ZmxleC1pbWcge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIEBpbmNsdWRlIGZsZXgoMCwgMCwgYXV0byk7XG4gICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogYXV0bztcbiAgICB3aWR0aDogMTAwJTtcbiAgICBAaWYgJGxlZ2FjeS1zdXBwb3J0ID09IHRydWUge1xuICAgICAgICAqd2lkdGg6IGF1dG87XG4gICAgfVxufVxuXG4uI3skcmVmbGV4LXByZWZpeH1mbGV4LWZvb3RlciB7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgbWFyZ2luLXRvcDogYXV0bztcbiAgICBtYXJnaW4tYm90dG9tOiAwO1xuXG4gICAgPiA6bGFzdC1jaGlsZCB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgfVxufVxuXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuLy8gUmVzcG9uc2l2ZSB2aXNpYmlsaXR5IG1vZGlmaWVyc1xuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuQGluY2x1ZGUgcmVzcG9uc2l2ZS12aXNpYmlsaXR5LWhlbHBlcnMoKTtcbiIsIi8qKlxuICogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICogVW4udGl0bGVkXG4gKiBDb25maWcgLSBGb250c1xuICogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICovXG5cbi8qKlxuICAgKiBGb250IFNpemVcbiAgICovXG4kZm9udC1iYXNlLXNpemU6IDEwMCU7IC8vU2V0IGRvY3VtZW50IHJvb3Qgc2l6ZSB0byBiYXNlIGZvbnQgc2l6ZVxuXG4vKipcbiAgICogTGluZSBoZWlnaHRcbiAgICovXG4kbGluZS1ib2R5OiAxLjY7XG5cbi8qKlxuICAgKiBDdXN0b20gZm9udHNcbiAgICovXG5AZm9udC1mYWNlIHtcbiAgZm9udC1mYW1pbHk6ICdMZXR0ZXJhdGV4dHBybyc7XG4gIHNyYzogdXJsKCcuLi9mb250L0xldHRlcmFUZXh0UHJvLndvZmYyJykgZm9ybWF0KCd3b2ZmMicpLFxuICAgIHVybCgnLi4vZm9udC9MZXR0ZXJhVGV4dFByby53b2ZmJykgZm9ybWF0KCd3b2ZmJyk7XG4gIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgZm9udC1kaXNwbGF5OiBzd2FwO1xufVxuXG5AZm9udC1mYWNlIHtcbiAgZm9udC1mYW1pbHk6ICdMZXR0ZXJhdGV4dHByb2l0YWxpYyc7XG4gIHNyYzogdXJsKCcuLi9mb250L0xldHRlcmFUZXh0UHJvLUl0YWxpYy53b2ZmMicpIGZvcm1hdCgnd29mZjInKSxcbiAgICB1cmwoJy4uL2ZvbnQvTGV0dGVyYVRleHRQcm8tSXRhbGljLndvZmYnKSBmb3JtYXQoJ3dvZmYnKTtcbiAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgZm9udC1zdHlsZTogaXRhbGljO1xuICBmb250LWRpc3BsYXk6IHN3YXA7XG59XG5cbkBmb250LWZhY2Uge1xuICBmb250LWZhbWlseTogJ0xldHRlcmF0ZXh0cHJvYm9sZGl0YWxpYyc7XG4gIHNyYzogdXJsKCcuLi9mb250L0xldHRlcmFUZXh0UHJvLUJvbGRJdGFsaWMud29mZjInKSBmb3JtYXQoJ3dvZmYyJyksXG4gICAgdXJsKCcuLi9mb250L0xldHRlcmFUZXh0UHJvLUJvbGRJdGFsaWMud29mZicpIGZvcm1hdCgnd29mZicpO1xuICBmb250LXdlaWdodDogYm9sZDtcbiAgZm9udC1zdHlsZTogaXRhbGljO1xuICBmb250LWRpc3BsYXk6IHN3YXA7XG59XG5cbkBmb250LWZhY2Uge1xuICBmb250LWZhbWlseTogJ0xldHRlcmF0ZXh0cHJvYm9sZCc7XG4gIHNyYzogdXJsKCcuLi9mb250L0xldHRlcmFUZXh0UHJvLUJvbGQud29mZjInKSBmb3JtYXQoJ3dvZmYyJyksXG4gICAgdXJsKCcuLi9mb250L0xldHRlcmFUZXh0UHJvLUJvbGQud29mZicpIGZvcm1hdCgnd29mZicpO1xuICBmb250LXdlaWdodDogYm9sZDtcbiAgZm9udC1zdHlsZTogbm9ybWFsO1xuICBmb250LWRpc3BsYXk6IHN3YXA7XG59XG4iLCIvKipcbiAqIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAqIFVuLnRpdGxlZFxuICogQ29uZmlnIC0gVmFyc1xuICogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICovXG5cbjpyb290IHtcbiAgLS1jLXByaW1hcnk6ICMxYjFiMWI7XG4gIC0tYy1zZWNvbmRhcnk6ICNmZmZmZmY7XG4gIC0tYy10ZXJ0aWFyeTogI2ZmZTQwMDtcbiAgLS1jLXdoaXRlOiAjZmZmZmZmO1xuICAtLWMtYmxhY2s6ICMwMDAwMDA7XG4gIC0tYy1ncmV5OiAjYWJhYmFiO1xuICAtLWMtY2hhcmNvYWw6ICMzYjNiM2I7XG5cbiAgLS1mb250U2l6ZVNtOiAxNHB4O1xuICAtLWZvbnRTaXplOiAxNnB4O1xuICAtLWZvbnRTaXplTGc6IDE4cHg7XG4gIC0tZm9udFNpemVIZWFkaW5nRm91cjogMjBweDtcbiAgLS1mb250U2l6ZUhlYWRpbmdUaHJlZTogMjZweDtcbiAgLS1mb250U2l6ZUhlYWRpbmdUd286IDQycHg7XG4gIC0tZm9udFNpemVIZWFkaW5nT25lOiA1NHB4O1xuICAtLWNvbnRhaW5lcldpZHRoTGFwdG9wOiAxMDIxcHg7XG4gIC0tY29udGFpbmVyV2lkdGhEZXNrdG9wOiAxMjcwcHg7XG5cbiAgLS1mb250Qm9keTogJ0xldHRlcmF0ZXh0cHJvJywgc2Fucy1zZXJpZjtcbiAgLS1mb250VGl0bGU6ICdMZXR0ZXJhdGV4dHByb2JvbGQnLCBzYW5zLXNlcmlmO1xuICAtLWZvbnRCb2xkOiAnTGV0dGVyYXRleHRwcm9ib2xkJywgc2Fucy1zZXJpZjtcblxuICAtLWZvbnRTaXplOiAxNnB4O1xuICAtLWxpbmVIZWlnaHQ6IDEuNTtcbiAgLS1idW1wOiAzMHB4O1xuICAtLXNtYWxsQnVtcDogMjRweDtcblxuICAtLWVhc2luZzogY3ViaWMtYmV6aWVyKDAuODMsIDAsIDAuMTcsIDEpO1xuICAtLXZoOiAxdmg7XG4gIC0tdGVhc2VyQmFja2dyb3VuZDogI2ZmZmZmZjtcbiAgLS1oZWFkZXItaGVpZ2h0OiAxMDVweDtcbiAgLS1oZWFkZXItaGVpZ2h0LW1vYmlsZTogOTBweDtcbiAgLS10cmFuc2l0aW9uOiB2YXIoLS1lYXNpbmcpO1xufVxuXG4vKipcbiAqIEJyZWFrcG9pbnRzXG4gKi9cbiRicmVha3BvaW50czogKFxuICB4czogNTc2cHgsXG4gIHNtOiA3NjhweCxcbiAgbWQ6IDk5MnB4LFxuICBsZzogMTIwMHB4LFxuICB4bGc6IDE2MDBweCxcbik7XG4iLCIvKipcbiAqIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAqIFVuLnRpdGxlZFxuICogSGVscGVycyAtIEZvY3VzIFZpc2libGVcbiAqIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAqL1xuXG4vKipcbiAqIEZvY3VzIFZpc2libGVcbiAqIGh0dHBzOi8vZ2l0aHViLmNvbS9XSUNHL2ZvY3VzLXZpc2libGVcbiAqIE92ZXJyaWRlIGJhc2UgZm9jdXMgc3R5bGVzIGZvciBtb3VzZSBhbmQgdG91Y2ggaW50ZXJhY3Rpb25zXG4gKi9cbkBtaXhpbiBmb2N1cy12aXNpYmxlKCkge1xuICAuanMtZm9jdXMtdmlzaWJsZSAmIHtcbiAgICAmOm5vdCguZm9jdXMtdmlzaWJsZSkge1xuICAgICAgQGNvbnRlbnQ7XG4gICAgfVxuICB9XG59XG4iLCIvKipcbiAqIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAqIFVuLnRpdGxlZFxuICogSGVscGVycyAtIEZvbnQgU21vb3RoaW5nXG4gKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gKi9cblxuLyoqIFxuICogRm9udCBTbW9vdGhpbmdcbiAqIEVuYWJsZXMgZm9udCBzbW9vdGhpbmcgZm9yIGNhcGFibGUgYnJvd3NlcnMuXG4gKiBPcHRpb25hbGx5IGZvcmNlIGZvbnQtc21vb3RoaW5nIG9uIG5vbi1yZXRpbmEgZGV2aWNlcy5cbiAqIEBwYXJhbSB7Ym9vbGVhbn0gJGZvcmNlIFtmYWxzZV1cbiAqIEByZXR1cm4ge3N0cmluZ31cbiAqL1xuQG1peGluIGZvbnQtc21vb3RoaW5nKCRmb3JjZTogZmFsc2UpIHtcbiAgQGlmICRmb3JjZSA9PSB0cnVlIHtcbiAgICAtbW96LWZvbnQtc21vb3RoaW5nOiBncmF5c2NhbGU7XG4gICAgLW1vei1vc3gtZm9udC1zbW9vdGhpbmc6IGdyYXlzY2FsZTtcbiAgICAtd2Via2l0LWZvbnQtc21vb3RoaW5nOiBhbnRpYWxpYXNlZDtcbiAgfSBAZWxzZSB7XG4gICAgQG1lZGlhICgtd2Via2l0LW1pbi1kZXZpY2UtcGl4ZWwtcmF0aW86IDIpLCAobWluLXJlc29sdXRpb246IDE5MmRwaSkge1xuICAgICAgLW1vei1mb250LXNtb290aGluZzogZ3JheXNjYWxlO1xuICAgICAgLW1vei1vc3gtZm9udC1zbW9vdGhpbmc6IGdyYXlzY2FsZTtcbiAgICAgIC13ZWJraXQtZm9udC1zbW9vdGhpbmc6IGFudGlhbGlhc2VkO1xuICAgIH1cbiAgfVxufVxuIiwiLyoqXG4gKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gKiBVbi50aXRsZWRcbiAqIEhlbHBlcnMgLSBHbG9iYWwgbWl4aW5zXG4gKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gKi9cblxuLy8gUmVzZXQgPGxpPiBlbGVtZW50c1xuQG1peGluIGxpLXJlc2V0IHtcbiAgbGlzdC1zdHlsZTogbm9uZTtcbiAgbWFyZ2luOiAwO1xuICBwYWRkaW5nOiAwO1xuXG4gIGxpIHtcbiAgICBsaXN0LXN0eWxlOiBub25lO1xuICAgIG1hcmdpbjogMDtcbiAgICBwYWRkaW5nOiAwO1xuICB9XG59XG5cbi8vIFJlbW92ZSB0ZXh0IGZyb20gZWxlbWVudHNcbkBtaXhpbiBybS10ZXh0IHtcbiAgdGV4dC1hbGlnbjogbGVmdDtcbiAgdGV4dC1pbmRlbnQ6IC05OTk5cHg7XG59XG5cbi8vIEJhY2tncm91bmQgaW1hZ2VzXG5AbWl4aW4gYmctaW1nKCRzaXplKSB7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlciBjZW50ZXI7XG4gIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gIGJhY2tncm91bmQtc2l6ZTogJHNpemU7XG59XG5cbi8vIElFIDkrIG9ubHlcbkBtaXhpbiBpZSgkcHJvcGVydHksICR2YWx1ZSkge1xuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAwXFwwKSBhbmQgKG1pbi1yZXNvbHV0aW9uOiArNzJkcGkpIHtcbiAgICAjeyRwcm9wZXJ0eX06ICN7JHZhbHVlfTtcbiAgfVxufVxuXG5AbWl4aW4gYnRuUmVzZXQge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgYm9yZGVyOiAwO1xuICBhcHBlYXJhbmNlOiBub25lO1xuICBwYWRkaW5nOiAwO1xufVxuIiwiLyoqXG4gKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gKiBVbi50aXRsZWRcbiAqIEhlbHBlcnMgLSBUYWJsZVxuICogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICovXG5cbi8qKlxuICogUmVzcG9uc2l2ZSBUYWJsZVxuICogQ3JlYXRlcyBhIHJlc3BvbnNpdmUgdGFibGVcbiAqIEFjY2VwdHMgYSBsaXN0IG9mIGhlYWRlcnMgdG8gcmVwbGFjZSBtYWluIFxuICogdGFibGUgaGVhZGVycyBvbiBtb2JpbGUuXG4gKiBAcGFyYW0ge21hcH0gJGhlYWRlcnNcbiAqIEByZXR1cm4ge3N0cmluZ31cbiAqL1xuQG1peGluIHJlc3BvbnNpdmUtdGFibGUoJGhlYWRlcnM6ICgpKSB7XG4gIEBpbmNsdWRlIG1lZGlhKCc8dGFibGV0Jykge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICB9XG5cbiAgdGFibGUsXG4gIHRoZWFkLFxuICB0Ym9keSxcbiAgdGgsXG4gIHRkLFxuICB0ciB7XG4gICAgQGluY2x1ZGUgbWVkaWEoJzx0YWJsZXQnKSB7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICB9XG4gIH1cblxuICB0aGVhZCB7XG4gICAgdHIge1xuICAgICAgQGluY2x1ZGUgbWVkaWEoJzx0YWJsZXQnKSB7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgdG9wOiAtOTk5OXB4O1xuICAgICAgICBsZWZ0OiAtOTk5OXB4O1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIHRyIHtcbiAgICBAaW5jbHVkZSBtZWRpYSgnPHRhYmxldCcpIHtcbiAgICAgIG1hcmdpbi10b3A6IC0xcHg7XG4gICAgICBib3JkZXI6IDFweCBzb2xpZCAkY29sb3ItYmxhY2s7XG4gICAgICBib3JkZXItd2lkdGg6IDFweCAwO1xuICAgICAgcGFkZGluZzogc2l6ZSgzMHB4KSAwO1xuICAgIH1cblxuICAgICY6Zmlyc3QtY2hpbGQge1xuICAgICAgQGluY2x1ZGUgbWVkaWEoJzx0YWJsZXQnKSB7XG4gICAgICAgIG1hcmdpbi10b3A6IDA7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgdGQge1xuICAgIEBpbmNsdWRlIG1lZGlhKCc8dGFibGV0Jykge1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICBwYWRkaW5nOiAwO1xuICAgICAgbWFyZ2luLXRvcDogc2l6ZSgxNnB4KTtcbiAgICB9XG5cbiAgICAmOmZpcnN0LWNoaWxkIHtcbiAgICAgIEBpbmNsdWRlIG1lZGlhKCc8dGFibGV0Jykge1xuICAgICAgICBtYXJnaW4tdG9wOiAwO1xuICAgICAgfVxuICAgIH1cblxuICAgICY6OmJlZm9yZSB7XG4gICAgICBAaW5jbHVkZSBtZWRpYSgnPHRhYmxldCcpIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC8qKlxuICAgKiBIZWFkZXJzXG4gICAqL1xuICBAZWFjaCAkaGVhZGVyIGluICRoZWFkZXJzIHtcbiAgICAkaTogaW5kZXgoJGhlYWRlcnMsICRoZWFkZXIpO1xuXG4gICAgdGQ6bnRoLW9mLXR5cGUoI3skaX0pOjpiZWZvcmUge1xuICAgICAgQGluY2x1ZGUgbWVkaWEoJzx0YWJsZXQnKSB7XG4gICAgICAgIGNvbnRlbnQ6ICRoZWFkZXI7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4iLCIvLyBoZWxwZXJzXG5cbi5wYWRkaW5nLWNsZWFyIHtcbiAgcGFkZGluZzogMCAhaW1wb3J0YW50O1xufVxuXG4ubWFyZ2luLWNsZWFyIHtcbiAgbWFyZ2luOiAwICFpbXBvcnRhbnQ7XG59XG5cbi5jb2wtYmxlZWQge1xuICBwYWRkaW5nOiAwO1xufVxuLmNvbC1ibGVlZC14IHtcbiAgcGFkZGluZzogMTVweCAwO1xufVxuLmNvbC1ibGVlZC15IHtcbiAgcGFkZGluZzogMCAxNXB4O1xufVxuXG4ucGFkLWJvdHRvbSB7XG4gIHBhZGRpbmc6IDAgMCBjYWxjKHZhcigtLWJ1bXApICogMik7XG59XG5cbi5tYXJnaW4tdG9wIHtcbiAgbWFyZ2luOiB2YXIoLS1idW1wKSAwIDA7XG59XG5cbi5tYXJnaW4tYm90dG9tIHtcbiAgbWFyZ2luOiAwIDAgY2FsYyh2YXIoLS1idW1wKSAqIDIpO1xufVxuXG4uZGlzcGxheS1mbGV4IHtcbiAgZGlzcGxheTogZmxleDtcbn1cblxuLnZlcnRpY2FsLWNlbnRlciB7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG59XG5cbi5zZWxmLXN0YXJ0IHtcbiAgYWxpZ24tc2VsZjogc3RhcnQ7XG59XG5cbi5zZWxmLWNlbnRlciB7XG4gIGFsaWduLXNlbGY6IGNlbnRlcjtcbn1cblxuLmFsaWduLWl0ZW1zLXN0YXJ0IHtcbiAgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7XG59XG5cbi5mbGV4LWNlbnRlciB7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGFsaWduLWNvbnRlbnQ6IGNlbnRlcjtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG59XG5cbi5mbGV4LWVuZCB7XG4gIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7XG59XG5cbi5mbGV4LXN0YXJ0IHtcbiAganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0O1xufVxuXG4uc3BhY2UtYmV0d2VlbiB7XG4gIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2Vlbjtcbn1cblxuLnRleHQtYWxpZ24tY2VudGVyIHtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICB0ZXh0LWFsaWduLWxhc3Q6IGNlbnRlcjtcbn1cblxuXG5AbWVkaWEgKG1heC13aWR0aDogNTc1cHgpIHtcbiAgLmhpZGRlbi14eHMge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cbn1cblxuQG1lZGlhIChtaW4td2lkdGg6IDU3NnB4KSB7XG4gIC5oaWRkZW4teHMtdXAge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cbn1cblxuQG1lZGlhIChtYXgtd2lkdGg6IDc2N3B4KSB7XG4gIC5oaWRkZW4teHMtZG93biB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxufVxuXG5AbWVkaWEgKG1pbi13aWR0aDogNTc2cHgpIGFuZCAobWF4LXdpZHRoOiA3NjdweCkge1xuICAuaGlkZGVuLXhzIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG59XG5cbkBtZWRpYSAobWluLXdpZHRoOiA3NjhweCkge1xuICAuaGlkZGVuLXNtLXVwIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG59XG5cbkBtZWRpYSAobWF4LXdpZHRoOiA5OTFweCkge1xuICAuaGlkZGVuLXNtLWRvd24ge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cbn1cblxuQG1lZGlhIChtaW4td2lkdGg6IDc2OHB4KSBhbmQgKG1heC13aWR0aDogOTkxcHgpIHtcbiAgLmhpZGRlbi1zbSB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxufVxuXG5AbWVkaWEgKG1pbi13aWR0aDogOTkycHgpIHtcbiAgLmhpZGRlbi1tZC11cCB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxufVxuXG5AbWVkaWEgKG1heC13aWR0aDogMTE5OXB4KSB7XG4gIC5oaWRkZW4tbWQtZG93biB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxufVxuXG5AbWVkaWEgKG1pbi13aWR0aDogOTkycHgpIGFuZCAobWF4LXdpZHRoOiAxMTk5cHgpIHtcbiAgLmhpZGRlbi1tZCB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxufVxuXG5AbWVkaWEgKG1pbi13aWR0aDogMTIwMHB4KSB7XG4gIC5oaWRkZW4tbGctdXAge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cbn1cblxuQG1lZGlhIChtYXgtd2lkdGg6IDE1OTlweCkge1xuICAuaGlkZGVuLWxnLWRvd24ge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cbn1cblxuQG1lZGlhIChtaW4td2lkdGg6IDEyMDBweCkgYW5kIChtYXgtd2lkdGg6IDE1OTlweCkge1xuICAuaGlkZGVuLWxnIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG59XG5cbkBtZWRpYSAobWluLXdpZHRoOiAxNjAwcHgpIHtcbiAgLmhpZGRlbi14bGcge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cbn1cblxuLm5vLXVuZGVybGluZSB7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgJjpob3ZlciB7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICB9XG59XG5cbi5ib2xkIHtcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7XG59XG5cbi5tb2JpbGUtaGlkZSB7XG4gIEBpbmNsdWRlIG1lZGlhKCc8c20nKSB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxufVxuXG4udGFiLWhpZGUge1xuICBAaW5jbHVkZSBtZWRpYSgnPG1kJykge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cbn1cblxuLnBvaW50ZXItZXZlbnRzLW5vbmUge1xuICBwb2ludGVyLWV2ZW50czogbm9uZTtcbn1cblxuLmJsdWUtYmcge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jLWJnLWFsdCk7XG59XG5cbi55ZWxsb3ctYmcge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jLXRlcnRpYXJ5KTtcbn1cblxuc2VjdGlvbi5wcmUtZm9vdGVyLXB1bGwsXG5kaXYucHJlLWZvb3Rlci1wdWxsIHtcbiAgcGFkZGluZzogY2FsYyh2YXIoLS1idW1wKSAqIDIpIGNhbGModmFyKC0tYnVtcCkgLyAyKTtcbiAgbWFyZ2luLWJvdHRvbTogMDtcbiAgQGluY2x1ZGUgbWVkaWEoJzxtZCcpIHtcbiAgICBwYWRkaW5nOiBjYWxjKHZhcigtLWJ1bXApICogMSkgY2FsYyh2YXIoLS1idW1wKSAvIDIpIGNhbGModmFyKC0tYnVtcCkgKiAyKTtcbiAgfVxufVxuXG4uYmxhY2stdGV4dCB7XG4gIGNvbG9yOiB2YXIoLS1jLWJsYWNrKTtcbn1cblxuLy8gc2NyZWVuIHJlYWRlcnNcbi5zY3JlZW4tcmVhZGVycyB7XG4gIEBpbmNsdWRlIHJtLXRleHQ7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBoZWlnaHQ6IDA7XG4gIHdpZHRoOiAwO1xufVxuXG4ubGFuZ3VhZ2Utc3dpdGNoZXItbGFuZ3VhZ2UtdXJsLFxuLmRpc3BsYXktbm9uZSB7XG4gIGRpc3BsYXk6IG5vbmU7XG59XG5cbi5ncmlkIHtcbiAgJi5tYXgtd2lkdGgtMTAwIHtcbiAgICBtYXgtd2lkdGg6IDEwMCU7XG4gIH1cbn1cblxuLnZpZGVvX193YWxsIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICBhbGlnbi1pdGVtczogZmxleC1zdGFydDtcblxuICBAaW5jbHVkZSBtZWRpYSgnPHNtJykge1xuICAgIGxlZnQ6IDE1cHg7XG4gIH1cblxuICBAaW5jbHVkZSBtZWRpYSgnPHhzJykge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cblxuICAudmlkZW9fX3dhbGxfX2NvbnRyb2xzIHtcbiAgICBAaW5jbHVkZSBybS10ZXh0O1xuICAgIEBpbmNsdWRlIGJnLWltZyh2YXIoLS1idW1wKSk7XG4gICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKCcuLi9pbWcvcGxheS5zdmcnKTtcbiAgICBib3JkZXI6IDA7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgaGVpZ2h0OiAgdmFyKC0tYnVtcCk7XG4gICAgd2lkdGg6ICB2YXIoLS1idW1wKTtcbiAgICB6LWluZGV4OiA1O1xuICAgIC8vIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50aXplKHZhcigtLWMtcHJpbWFyeSksIDAuMSk7XG5cbiAgICBAaW5jbHVkZSBtZWRpYSgnPG1kJykge1xuICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKCcuLi9pbWcvcGF1c2Uuc3ZnJyk7XG4gICAgfVxuXG4gICAgJjpob3ZlciB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jLXByaW1hcnkpO1xuICAgIH1cblxuICAgICZbZGF0YS1wbGF5c3RhdGU9J3BhdXNlZCddIHtcbiAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCgnLi4vaW1nL3BhdXNlLnN2ZycpO1xuXG4gICAgICBAaW5jbHVkZSBtZWRpYSgnPG1kJykge1xuICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoJy4uL2ltZy9wbGF5LnN2ZycpO1xuICAgICAgfVxuICAgIH1cblxuICAgIEBpbmNsdWRlIG1lZGlhKCc8eHMnKSB7XG4gICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgdmlzaWJpbGl0eTogaGlkZGVuO1xuICAgIH1cbiAgfVxuXG4gIHAge1xuICAgIGNvbG9yOiB2YXIoLS1jLXNlY29uZGFyeSk7XG4gICAgZm9udC1zaXplOiAxNHB4O1xuICAgIGxldHRlci1zcGFjaW5nOiAwO1xuICAgIGxpbmUtaGVpZ2h0OiAyMHB4O1xuICB9XG59IiwiQGNoYXJzZXQgXCJVVEYtOFwiO1xuXG4vLyAgICAgXyAgICAgICAgICAgIF8gICAgICAgICAgIF8gICAgICAgICAgICAgICAgICAgICAgICAgICBfIF9cbi8vICAgIChfKSAgICAgICAgICB8IHwgICAgICAgICB8IHwgICAgICAgICAgICAgICAgICAgICAgICAgfCAoXylcbi8vICAgICBfIF8gX18gICBfX198IHxfICAgXyAgX198IHwgX19fICAgXyBfXyBfX18gICBfX18gIF9ffCB8XyAgX18gX1xuLy8gICAgfCB8ICdfIFxcIC8gX198IHwgfCB8IHwvIF9gIHwvIF8gXFwgfCAnXyBgIF8gXFwgLyBfIFxcLyBfYCB8IHwvIF9gIHxcbi8vICAgIHwgfCB8IHwgfCAoX198IHwgfF98IHwgKF98IHwgIF9fLyB8IHwgfCB8IHwgfCAgX18vIChffCB8IHwgKF98IHxcbi8vICAgIHxffF98IHxffFxcX19ffF98XFxfXyxffFxcX18sX3xcXF9fX3wgfF98IHxffCB8X3xcXF9fX3xcXF9fLF98X3xcXF9fLF98XG4vL1xuLy8gICAgICBTaW1wbGUsIGVsZWdhbnQgYW5kIG1haW50YWluYWJsZSBtZWRpYSBxdWVyaWVzIGluIFNhc3Ncbi8vICAgICAgICAgICAgICAgICAgICAgICAgdjEuNC45XG4vL1xuLy8gICAgICAgICAgICAgICAgaHR0cDovL2luY2x1ZGUtbWVkaWEuY29tXG4vL1xuLy8gICAgICAgICBBdXRob3JzOiBFZHVhcmRvIEJvdWNhcyAoQGVkdWFyZG9ib3VjYXMpXG4vLyAgICAgICAgICAgICAgICAgIEh1Z28gR2lyYXVkZWwgKEBodWdvZ2lyYXVkZWwpXG4vL1xuLy8gICAgICBUaGlzIHByb2plY3QgaXMgbGljZW5zZWQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBNSVQgbGljZW5zZVxuXG5cbi8vLy9cbi8vLyBpbmNsdWRlLW1lZGlhIGxpYnJhcnkgcHVibGljIGNvbmZpZ3VyYXRpb25cbi8vLyBAYXV0aG9yIEVkdWFyZG8gQm91Y2FzXG4vLy8gQGFjY2VzcyBwdWJsaWNcbi8vLy9cblxuXG4vLy9cbi8vLyBDcmVhdGVzIGEgbGlzdCBvZiBnbG9iYWwgYnJlYWtwb2ludHNcbi8vL1xuLy8vIEBleGFtcGxlIHNjc3MgLSBDcmVhdGVzIGEgc2luZ2xlIGJyZWFrcG9pbnQgd2l0aCB0aGUgbGFiZWwgYHBob25lYFxuLy8vICAkYnJlYWtwb2ludHM6ICgncGhvbmUnOiAzMjBweCk7XG4vLy9cbiRicmVha3BvaW50czogKFxuICAncGhvbmUnOiAzMjBweCxcbiAgJ3RhYmxldCc6IDc2OHB4LFxuICAnZGVza3RvcCc6IDEwMjRweFxuKSAhZGVmYXVsdDtcblxuXG4vLy9cbi8vLyBDcmVhdGVzIGEgbGlzdCBvZiBzdGF0aWMgZXhwcmVzc2lvbnMgb3IgbWVkaWEgdHlwZXNcbi8vL1xuLy8vIEBleGFtcGxlIHNjc3MgLSBDcmVhdGVzIGEgc2luZ2xlIG1lZGlhIHR5cGUgKHNjcmVlbilcbi8vLyAgJG1lZGlhLWV4cHJlc3Npb25zOiAoJ3NjcmVlbic6ICdzY3JlZW4nKTtcbi8vL1xuLy8vIEBleGFtcGxlIHNjc3MgLSBDcmVhdGVzIGEgc3RhdGljIGV4cHJlc3Npb24gd2l0aCBsb2dpY2FsIGRpc2p1bmN0aW9uIChPUiBvcGVyYXRvcilcbi8vLyAgJG1lZGlhLWV4cHJlc3Npb25zOiAoXG4vLy8gICAgJ3JldGluYTJ4JzogJygtd2Via2l0LW1pbi1kZXZpY2UtcGl4ZWwtcmF0aW86IDIpLCAobWluLXJlc29sdXRpb246IDE5MmRwaSknXG4vLy8gICk7XG4vLy9cbiRtZWRpYS1leHByZXNzaW9uczogKFxuICAnc2NyZWVuJzogJ3NjcmVlbicsXG4gICdwcmludCc6ICdwcmludCcsXG4gICdoYW5kaGVsZCc6ICdoYW5kaGVsZCcsXG4gICdsYW5kc2NhcGUnOiAnKG9yaWVudGF0aW9uOiBsYW5kc2NhcGUpJyxcbiAgJ3BvcnRyYWl0JzogJyhvcmllbnRhdGlvbjogcG9ydHJhaXQpJyxcbiAgJ3JldGluYTJ4JzogJygtd2Via2l0LW1pbi1kZXZpY2UtcGl4ZWwtcmF0aW86IDIpLCAobWluLXJlc29sdXRpb246IDE5MmRwaSksIChtaW4tcmVzb2x1dGlvbjogMmRwcHgpJyxcbiAgJ3JldGluYTN4JzogJygtd2Via2l0LW1pbi1kZXZpY2UtcGl4ZWwtcmF0aW86IDMpLCAobWluLXJlc29sdXRpb246IDM1MGRwaSksIChtaW4tcmVzb2x1dGlvbjogM2RwcHgpJ1xuKSAhZGVmYXVsdDtcblxuXG4vLy9cbi8vLyBEZWZpbmVzIGEgbnVtYmVyIHRvIGJlIGFkZGVkIG9yIHN1YnRyYWN0ZWQgZnJvbSBlYWNoIHVuaXQgd2hlbiBkZWNsYXJpbmcgYnJlYWtwb2ludHMgd2l0aCBleGNsdXNpdmUgaW50ZXJ2YWxzXG4vLy9cbi8vLyBAZXhhbXBsZSBzY3NzIC0gSW50ZXJ2YWwgZm9yIHBpeGVscyBpcyBkZWZpbmVkIGFzIGAxYCBieSBkZWZhdWx0XG4vLy8gIEBpbmNsdWRlIG1lZGlhKCc+MTI4cHgnKSB7fVxuLy8vXG4vLy8gIC8qIEdlbmVyYXRlczogKi9cbi8vLyAgQG1lZGlhIChtaW4td2lkdGg6IDEyOXB4KSB7fVxuLy8vXG4vLy8gQGV4YW1wbGUgc2NzcyAtIEludGVydmFsIGZvciBlbXMgaXMgZGVmaW5lZCBhcyBgMC4wMWAgYnkgZGVmYXVsdFxuLy8vICBAaW5jbHVkZSBtZWRpYSgnPjIwZW0nKSB7fVxuLy8vXG4vLy8gIC8qIEdlbmVyYXRlczogKi9cbi8vLyAgQG1lZGlhIChtaW4td2lkdGg6IDIwLjAxZW0pIHt9XG4vLy9cbi8vLyBAZXhhbXBsZSBzY3NzIC0gSW50ZXJ2YWwgZm9yIHJlbXMgaXMgZGVmaW5lZCBhcyBgMC4xYCBieSBkZWZhdWx0LCB0byBiZSB1c2VkIHdpdGggYGZvbnQtc2l6ZTogNjIuNSU7YFxuLy8vICBAaW5jbHVkZSBtZWRpYSgnPjIuMHJlbScpIHt9XG4vLy9cbi8vLyAgLyogR2VuZXJhdGVzOiAqL1xuLy8vICBAbWVkaWEgKG1pbi13aWR0aDogMi4xcmVtKSB7fVxuLy8vXG4kdW5pdC1pbnRlcnZhbHM6IChcbiAgJ3B4JzogMSxcbiAgJ2VtJzogMC4wMSxcbiAgJ3JlbSc6IDAuMSxcbiAgJyc6IDBcbikgIWRlZmF1bHQ7XG5cbi8vL1xuLy8vIERlZmluZXMgd2hldGhlciBzdXBwb3J0IGZvciBtZWRpYSBxdWVyaWVzIGlzIGF2YWlsYWJsZSwgdXNlZnVsIGZvciBjcmVhdGluZyBzZXBhcmF0ZSBzdHlsZXNoZWV0c1xuLy8vIGZvciBicm93c2VycyB0aGF0IGRvbid0IHN1cHBvcnQgbWVkaWEgcXVlcmllcy5cbi8vL1xuLy8vIEBleGFtcGxlIHNjc3MgLSBEaXNhYmxlcyBzdXBwb3J0IGZvciBtZWRpYSBxdWVyaWVzXG4vLy8gICRpbS1tZWRpYS1zdXBwb3J0OiBmYWxzZTtcbi8vLyAgQGluY2x1ZGUgbWVkaWEoJz49dGFibGV0Jykge1xuLy8vICAgIC5mb28ge1xuLy8vICAgICAgY29sb3I6IHRvbWF0bztcbi8vLyAgICB9XG4vLy8gIH1cbi8vL1xuLy8vICAvKiBHZW5lcmF0ZXM6ICovXG4vLy8gIC5mb28ge1xuLy8vICAgIGNvbG9yOiB0b21hdG87XG4vLy8gIH1cbi8vL1xuJGltLW1lZGlhLXN1cHBvcnQ6IHRydWUgIWRlZmF1bHQ7XG5cbi8vL1xuLy8vIFNlbGVjdHMgd2hpY2ggYnJlYWtwb2ludCB0byBlbXVsYXRlIHdoZW4gc3VwcG9ydCBmb3IgbWVkaWEgcXVlcmllcyBpcyBkaXNhYmxlZC4gTWVkaWEgcXVlcmllcyB0aGF0IHN0YXJ0IGF0IG9yXG4vLy8gaW50ZXJjZXB0IHRoZSBicmVha3BvaW50IHdpbGwgYmUgZGlzcGxheWVkLCBhbnkgb3RoZXJzIHdpbGwgYmUgaWdub3JlZC5cbi8vL1xuLy8vIEBleGFtcGxlIHNjc3MgLSBUaGlzIG1lZGlhIHF1ZXJ5IHdpbGwgc2hvdyBiZWNhdXNlIGl0IGludGVyY2VwdHMgdGhlIHN0YXRpYyBicmVha3BvaW50XG4vLy8gICRpbS1tZWRpYS1zdXBwb3J0OiBmYWxzZTtcbi8vLyAgJGltLW5vLW1lZGlhLWJyZWFrcG9pbnQ6ICdkZXNrdG9wJztcbi8vLyAgQGluY2x1ZGUgbWVkaWEoJz49dGFibGV0Jykge1xuLy8vICAgIC5mb28ge1xuLy8vICAgICAgY29sb3I6IHRvbWF0bztcbi8vLyAgICB9XG4vLy8gIH1cbi8vL1xuLy8vICAvKiBHZW5lcmF0ZXM6ICovXG4vLy8gIC5mb28ge1xuLy8vICAgIGNvbG9yOiB0b21hdG87XG4vLy8gIH1cbi8vL1xuLy8vIEBleGFtcGxlIHNjc3MgLSBUaGlzIG1lZGlhIHF1ZXJ5IHdpbGwgTk9UIHNob3cgYmVjYXVzZSBpdCBkb2VzIG5vdCBpbnRlcmNlcHQgdGhlIGRlc2t0b3AgYnJlYWtwb2ludFxuLy8vICAkaW0tbWVkaWEtc3VwcG9ydDogZmFsc2U7XG4vLy8gICRpbS1uby1tZWRpYS1icmVha3BvaW50OiAndGFibGV0Jztcbi8vLyAgQGluY2x1ZGUgbWVkaWEoJz49ZGVza3RvcCcpIHtcbi8vLyAgICAuZm9vIHtcbi8vLyAgICAgIGNvbG9yOiB0b21hdG87XG4vLy8gICAgfVxuLy8vICB9XG4vLy9cbi8vLyAgLyogTm8gb3V0cHV0ICovXG4vLy9cbiRpbS1uby1tZWRpYS1icmVha3BvaW50OiAnZGVza3RvcCcgIWRlZmF1bHQ7XG5cbi8vL1xuLy8vIFNlbGVjdHMgd2hpY2ggbWVkaWEgZXhwcmVzc2lvbnMgYXJlIGFsbG93ZWQgaW4gYW4gZXhwcmVzc2lvbiBmb3IgaXQgdG8gYmUgdXNlZCB3aGVuIG1lZGlhIHF1ZXJpZXNcbi8vLyBhcmUgbm90IHN1cHBvcnRlZC5cbi8vL1xuLy8vIEBleGFtcGxlIHNjc3MgLSBUaGlzIG1lZGlhIHF1ZXJ5IHdpbGwgc2hvdyBiZWNhdXNlIGl0IGludGVyY2VwdHMgdGhlIHN0YXRpYyBicmVha3BvaW50IGFuZCBjb250YWlucyBvbmx5IGFjY2VwdGVkIG1lZGlhIGV4cHJlc3Npb25zXG4vLy8gICRpbS1tZWRpYS1zdXBwb3J0OiBmYWxzZTtcbi8vLyAgJGltLW5vLW1lZGlhLWJyZWFrcG9pbnQ6ICdkZXNrdG9wJztcbi8vLyAgJGltLW5vLW1lZGlhLWV4cHJlc3Npb25zOiAoJ3NjcmVlbicpO1xuLy8vICBAaW5jbHVkZSBtZWRpYSgnPj10YWJsZXQnLCAnc2NyZWVuJykge1xuLy8vICAgIC5mb28ge1xuLy8vICAgICAgY29sb3I6IHRvbWF0bztcbi8vLyAgICB9XG4vLy8gIH1cbi8vL1xuLy8vICAgLyogR2VuZXJhdGVzOiAqL1xuLy8vICAgLmZvbyB7XG4vLy8gICAgIGNvbG9yOiB0b21hdG87XG4vLy8gICB9XG4vLy9cbi8vLyBAZXhhbXBsZSBzY3NzIC0gVGhpcyBtZWRpYSBxdWVyeSB3aWxsIE5PVCBzaG93IGJlY2F1c2UgaXQgaW50ZXJjZXB0cyB0aGUgc3RhdGljIGJyZWFrcG9pbnQgYnV0IGNvbnRhaW5zIGEgbWVkaWEgZXhwcmVzc2lvbiB0aGF0IGlzIG5vdCBhY2NlcHRlZFxuLy8vICAkaW0tbWVkaWEtc3VwcG9ydDogZmFsc2U7XG4vLy8gICRpbS1uby1tZWRpYS1icmVha3BvaW50OiAnZGVza3RvcCc7XG4vLy8gICRpbS1uby1tZWRpYS1leHByZXNzaW9uczogKCdzY3JlZW4nKTtcbi8vLyAgQGluY2x1ZGUgbWVkaWEoJz49dGFibGV0JywgJ3JldGluYTJ4Jykge1xuLy8vICAgIC5mb28ge1xuLy8vICAgICAgY29sb3I6IHRvbWF0bztcbi8vLyAgICB9XG4vLy8gIH1cbi8vL1xuLy8vICAvKiBObyBvdXRwdXQgKi9cbi8vL1xuJGltLW5vLW1lZGlhLWV4cHJlc3Npb25zOiAoJ3NjcmVlbicsICdwb3J0cmFpdCcsICdsYW5kc2NhcGUnKSAhZGVmYXVsdDtcblxuLy8vL1xuLy8vIENyb3NzLWVuZ2luZSBsb2dnaW5nIGVuZ2luZVxuLy8vIEBhdXRob3IgSHVnbyBHaXJhdWRlbFxuLy8vIEBhY2Nlc3MgcHJpdmF0ZVxuLy8vL1xuXG5cbi8vL1xuLy8vIExvZyBhIG1lc3NhZ2UgZWl0aGVyIHdpdGggYEBlcnJvcmAgaWYgc3VwcG9ydGVkXG4vLy8gZWxzZSB3aXRoIGBAd2FybmAsIHVzaW5nIGBmZWF0dXJlLWV4aXN0cygnYXQtZXJyb3InKWBcbi8vLyB0byBkZXRlY3Qgc3VwcG9ydC5cbi8vL1xuLy8vIEBwYXJhbSB7U3RyaW5nfSAkbWVzc2FnZSAtIE1lc3NhZ2UgdG8gbG9nXG4vLy9cbkBmdW5jdGlvbiBpbS1sb2coJG1lc3NhZ2UpIHtcbiAgQGlmIGZlYXR1cmUtZXhpc3RzKCdhdC1lcnJvcicpIHtcbiAgICBAZXJyb3IgJG1lc3NhZ2U7XG4gIH0gQGVsc2Uge1xuICAgIEB3YXJuICRtZXNzYWdlO1xuICAgICRfOiBub29wKCk7XG4gIH1cblxuICBAcmV0dXJuICRtZXNzYWdlO1xufVxuXG5cbi8vL1xuLy8vIFdyYXBwZXIgbWl4aW4gZm9yIHRoZSBsb2cgZnVuY3Rpb24gc28gaXQgY2FuIGJlIHVzZWQgd2l0aCBhIG1vcmUgZnJpZW5kbHlcbi8vLyBBUEkgdGhhbiBgQGlmIGltLWxvZygnLi4nKSB7fWAgb3IgYCRfOiBpbS1sb2coJy4uJylgLiBCYXNpY2FsbHksIHVzZSB0aGUgZnVuY3Rpb25cbi8vLyB3aXRoaW4gZnVuY3Rpb25zIGJlY2F1c2UgaXQgaXMgbm90IHBvc3NpYmxlIHRvIGluY2x1ZGUgYSBtaXhpbiBpbiBhIGZ1bmN0aW9uXG4vLy8gYW5kIHVzZSB0aGUgbWl4aW4gZXZlcnl3aGVyZSBlbHNlIGJlY2F1c2UgaXQncyBtdWNoIG1vcmUgZWxlZ2FudC5cbi8vL1xuLy8vIEBwYXJhbSB7U3RyaW5nfSAkbWVzc2FnZSAtIE1lc3NhZ2UgdG8gbG9nXG4vLy9cbkBtaXhpbiBsb2coJG1lc3NhZ2UpIHtcbiAgQGlmIGltLWxvZygkbWVzc2FnZSkge31cbn1cblxuXG4vLy9cbi8vLyBGdW5jdGlvbiB3aXRoIG5vIGBAcmV0dXJuYCBjYWxsZWQgbmV4dCB0byBgQHdhcm5gIGluIFNhc3MgMy4zXG4vLy8gdG8gdHJpZ2dlciBhIGNvbXBpbGluZyBlcnJvciBhbmQgc3RvcCB0aGUgcHJvY2Vzcy5cbi8vL1xuQGZ1bmN0aW9uIG5vb3AoKSB7fVxuXG4vLy9cbi8vLyBEZXRlcm1pbmVzIHdoZXRoZXIgYSBsaXN0IG9mIGNvbmRpdGlvbnMgaXMgaW50ZXJjZXB0ZWQgYnkgdGhlIHN0YXRpYyBicmVha3BvaW50LlxuLy8vXG4vLy8gQHBhcmFtIHtBcmdsaXN0fSAgICRjb25kaXRpb25zICAtIE1lZGlhIHF1ZXJ5IGNvbmRpdGlvbnNcbi8vL1xuLy8vIEByZXR1cm4ge0Jvb2xlYW59IC0gUmV0dXJucyB0cnVlIGlmIHRoZSBjb25kaXRpb25zIGFyZSBpbnRlcmNlcHRlZCBieSB0aGUgc3RhdGljIGJyZWFrcG9pbnRcbi8vL1xuQGZ1bmN0aW9uIGltLWludGVyY2VwdHMtc3RhdGljLWJyZWFrcG9pbnQoJGNvbmRpdGlvbnMuLi4pIHtcbiAgJG5vLW1lZGlhLWJyZWFrcG9pbnQtdmFsdWU6IG1hcC1nZXQoJGJyZWFrcG9pbnRzLCAkaW0tbm8tbWVkaWEtYnJlYWtwb2ludCk7XG5cbiAgQGlmIG5vdCAkbm8tbWVkaWEtYnJlYWtwb2ludC12YWx1ZSB7XG4gICAgQGlmIGltLWxvZygnYCN7JGltLW5vLW1lZGlhLWJyZWFrcG9pbnR9YCBpcyBub3QgYSB2YWxpZCBicmVha3BvaW50LicpIHt9XG4gIH1cblxuICBAZWFjaCAkY29uZGl0aW9uIGluICRjb25kaXRpb25zIHtcbiAgICBAaWYgbm90IG1hcC1oYXMta2V5KCRtZWRpYS1leHByZXNzaW9ucywgJGNvbmRpdGlvbikge1xuICAgICAgJG9wZXJhdG9yOiBnZXQtZXhwcmVzc2lvbi1vcGVyYXRvcigkY29uZGl0aW9uKTtcbiAgICAgICRwcmVmaXg6IGdldC1leHByZXNzaW9uLXByZWZpeCgkb3BlcmF0b3IpO1xuICAgICAgJHZhbHVlOiBnZXQtZXhwcmVzc2lvbi12YWx1ZSgkY29uZGl0aW9uLCAkb3BlcmF0b3IpO1xuXG4gICAgICAvLyBzY3NzLWxpbnQ6ZGlzYWJsZSBTcGFjZUFyb3VuZE9wZXJhdG9yXG4gICAgICBAaWYgKCRwcmVmaXggPT0gJ21heCcgYW5kICR2YWx1ZSA8PSAkbm8tbWVkaWEtYnJlYWtwb2ludC12YWx1ZSkgb3JcbiAgICAgICAgICAoJHByZWZpeCA9PSAnbWluJyBhbmQgJHZhbHVlID4gJG5vLW1lZGlhLWJyZWFrcG9pbnQtdmFsdWUpIHtcbiAgICAgICAgQHJldHVybiBmYWxzZTtcbiAgICAgIH1cbiAgICB9IEBlbHNlIGlmIG5vdCBpbmRleCgkaW0tbm8tbWVkaWEtZXhwcmVzc2lvbnMsICRjb25kaXRpb24pIHtcbiAgICAgIEByZXR1cm4gZmFsc2U7XG4gICAgfVxuICB9XG5cbiAgQHJldHVybiB0cnVlO1xufVxuXG4vLy8vXG4vLy8gUGFyc2luZyBlbmdpbmVcbi8vLyBAYXV0aG9yIEh1Z28gR2lyYXVkZWxcbi8vLyBAYWNjZXNzIHByaXZhdGVcbi8vLy9cblxuXG4vLy9cbi8vLyBHZXQgb3BlcmF0b3Igb2YgYW4gZXhwcmVzc2lvblxuLy8vXG4vLy8gQHBhcmFtIHtTdHJpbmd9ICRleHByZXNzaW9uIC0gRXhwcmVzc2lvbiB0byBleHRyYWN0IG9wZXJhdG9yIGZyb21cbi8vL1xuLy8vIEByZXR1cm4ge1N0cmluZ30gLSBBbnkgb2YgYD49YCwgYD5gLCBgPD1gLCBgPGAsIGDiiaVgLCBg4omkYFxuLy8vXG5AZnVuY3Rpb24gZ2V0LWV4cHJlc3Npb24tb3BlcmF0b3IoJGV4cHJlc3Npb24pIHtcbiAgQGVhY2ggJG9wZXJhdG9yIGluICgnPj0nLCAnPicsICc8PScsICc8JywgJ+KJpScsICfiiaQnKSB7XG4gICAgQGlmIHN0ci1pbmRleCgkZXhwcmVzc2lvbiwgJG9wZXJhdG9yKSB7XG4gICAgICBAcmV0dXJuICRvcGVyYXRvcjtcbiAgICB9XG4gIH1cblxuICAvLyBJdCBpcyBub3QgcG9zc2libGUgdG8gaW5jbHVkZSBhIG1peGluIGluc2lkZSBhIGZ1bmN0aW9uLCBzbyB3ZSBoYXZlIHRvXG4gIC8vIHJlbHkgb24gdGhlIGBpbS1sb2coLi4pYCBmdW5jdGlvbiByYXRoZXIgdGhhbiB0aGUgYGxvZyguLilgIG1peGluLiBCZWNhdXNlXG4gIC8vIGZ1bmN0aW9ucyBjYW5ub3QgYmUgY2FsbGVkIGFueXdoZXJlIGluIFNhc3MsIHdlIG5lZWQgdG8gaGFjayB0aGUgY2FsbCBpblxuICAvLyBhIGR1bW15IHZhcmlhYmxlLCBzdWNoIGFzIGAkX2AuIElmIGFueWJvZHkgZXZlciByYWlzZSBhIHNjb3BpbmcgaXNzdWUgd2l0aFxuICAvLyBTYXNzIDMuMywgY2hhbmdlIHRoaXMgbGluZSBpbiBgQGlmIGltLWxvZyguLikge31gIGluc3RlYWQuXG4gICRfOiBpbS1sb2coJ05vIG9wZXJhdG9yIGZvdW5kIGluIGAjeyRleHByZXNzaW9ufWAuJyk7XG59XG5cblxuLy8vXG4vLy8gR2V0IGRpbWVuc2lvbiBvZiBhbiBleHByZXNzaW9uLCBiYXNlZCBvbiBhIGZvdW5kIG9wZXJhdG9yXG4vLy9cbi8vLyBAcGFyYW0ge1N0cmluZ30gJGV4cHJlc3Npb24gLSBFeHByZXNzaW9uIHRvIGV4dHJhY3QgZGltZW5zaW9uIGZyb21cbi8vLyBAcGFyYW0ge1N0cmluZ30gJG9wZXJhdG9yIC0gT3BlcmF0b3IgZnJvbSBgJGV4cHJlc3Npb25gXG4vLy9cbi8vLyBAcmV0dXJuIHtTdHJpbmd9IC0gYHdpZHRoYCBvciBgaGVpZ2h0YCAob3IgcG90ZW50aWFsbHkgYW55dGhpbmcgZWxzZSlcbi8vL1xuQGZ1bmN0aW9uIGdldC1leHByZXNzaW9uLWRpbWVuc2lvbigkZXhwcmVzc2lvbiwgJG9wZXJhdG9yKSB7XG4gICRvcGVyYXRvci1pbmRleDogc3RyLWluZGV4KCRleHByZXNzaW9uLCAkb3BlcmF0b3IpO1xuICAkcGFyc2VkLWRpbWVuc2lvbjogc3RyLXNsaWNlKCRleHByZXNzaW9uLCAwLCAkb3BlcmF0b3ItaW5kZXggLSAxKTtcbiAgJGRpbWVuc2lvbjogJ3dpZHRoJztcblxuICBAaWYgc3RyLWxlbmd0aCgkcGFyc2VkLWRpbWVuc2lvbikgPiAwIHtcbiAgICAkZGltZW5zaW9uOiAkcGFyc2VkLWRpbWVuc2lvbjtcbiAgfVxuXG4gIEByZXR1cm4gJGRpbWVuc2lvbjtcbn1cblxuXG4vLy9cbi8vLyBHZXQgZGltZW5zaW9uIHByZWZpeCBiYXNlZCBvbiBhbiBvcGVyYXRvclxuLy8vXG4vLy8gQHBhcmFtIHtTdHJpbmd9ICRvcGVyYXRvciAtIE9wZXJhdG9yXG4vLy9cbi8vLyBAcmV0dXJuIHtTdHJpbmd9IC0gYG1pbmAgb3IgYG1heGBcbi8vL1xuQGZ1bmN0aW9uIGdldC1leHByZXNzaW9uLXByZWZpeCgkb3BlcmF0b3IpIHtcbiAgQHJldHVybiBpZihpbmRleCgoJzwnLCAnPD0nLCAn4omkJyksICRvcGVyYXRvciksICdtYXgnLCAnbWluJyk7XG59XG5cblxuLy8vXG4vLy8gR2V0IHZhbHVlIG9mIGFuIGV4cHJlc3Npb24sIGJhc2VkIG9uIGEgZm91bmQgb3BlcmF0b3Jcbi8vL1xuLy8vIEBwYXJhbSB7U3RyaW5nfSAkZXhwcmVzc2lvbiAtIEV4cHJlc3Npb24gdG8gZXh0cmFjdCB2YWx1ZSBmcm9tXG4vLy8gQHBhcmFtIHtTdHJpbmd9ICRvcGVyYXRvciAtIE9wZXJhdG9yIGZyb20gYCRleHByZXNzaW9uYFxuLy8vXG4vLy8gQHJldHVybiB7TnVtYmVyfSAtIEEgbnVtZXJpYyB2YWx1ZVxuLy8vXG5AZnVuY3Rpb24gZ2V0LWV4cHJlc3Npb24tdmFsdWUoJGV4cHJlc3Npb24sICRvcGVyYXRvcikge1xuICAkb3BlcmF0b3ItaW5kZXg6IHN0ci1pbmRleCgkZXhwcmVzc2lvbiwgJG9wZXJhdG9yKTtcbiAgJHZhbHVlOiBzdHItc2xpY2UoJGV4cHJlc3Npb24sICRvcGVyYXRvci1pbmRleCArIHN0ci1sZW5ndGgoJG9wZXJhdG9yKSk7XG5cbiAgQGlmIG1hcC1oYXMta2V5KCRicmVha3BvaW50cywgJHZhbHVlKSB7XG4gICAgJHZhbHVlOiBtYXAtZ2V0KCRicmVha3BvaW50cywgJHZhbHVlKTtcbiAgfSBAZWxzZSB7XG4gICAgJHZhbHVlOiB0by1udW1iZXIoJHZhbHVlKTtcbiAgfVxuXG4gICRpbnRlcnZhbDogbWFwLWdldCgkdW5pdC1pbnRlcnZhbHMsIHVuaXQoJHZhbHVlKSk7XG5cbiAgQGlmIG5vdCAkaW50ZXJ2YWwge1xuICAgIC8vIEl0IGlzIG5vdCBwb3NzaWJsZSB0byBpbmNsdWRlIGEgbWl4aW4gaW5zaWRlIGEgZnVuY3Rpb24sIHNvIHdlIGhhdmUgdG9cbiAgICAvLyByZWx5IG9uIHRoZSBgaW0tbG9nKC4uKWAgZnVuY3Rpb24gcmF0aGVyIHRoYW4gdGhlIGBsb2coLi4pYCBtaXhpbi4gQmVjYXVzZVxuICAgIC8vIGZ1bmN0aW9ucyBjYW5ub3QgYmUgY2FsbGVkIGFueXdoZXJlIGluIFNhc3MsIHdlIG5lZWQgdG8gaGFjayB0aGUgY2FsbCBpblxuICAgIC8vIGEgZHVtbXkgdmFyaWFibGUsIHN1Y2ggYXMgYCRfYC4gSWYgYW55Ym9keSBldmVyIHJhaXNlIGEgc2NvcGluZyBpc3N1ZSB3aXRoXG4gICAgLy8gU2FzcyAzLjMsIGNoYW5nZSB0aGlzIGxpbmUgaW4gYEBpZiBpbS1sb2coLi4pIHt9YCBpbnN0ZWFkLlxuICAgICRfOiBpbS1sb2coJ1Vua25vd24gdW5pdCBgI3t1bml0KCR2YWx1ZSl9YC4nKTtcbiAgfVxuXG4gIEBpZiAkb3BlcmF0b3IgPT0gJz4nIHtcbiAgICAkdmFsdWU6ICR2YWx1ZSArICRpbnRlcnZhbDtcbiAgfSBAZWxzZSBpZiAkb3BlcmF0b3IgPT0gJzwnIHtcbiAgICAkdmFsdWU6ICR2YWx1ZSAtICRpbnRlcnZhbDtcbiAgfVxuXG4gIEByZXR1cm4gJHZhbHVlO1xufVxuXG5cbi8vL1xuLy8vIFBhcnNlIGFuIGV4cHJlc3Npb24gdG8gcmV0dXJuIGEgdmFsaWQgbWVkaWEtcXVlcnkgZXhwcmVzc2lvblxuLy8vXG4vLy8gQHBhcmFtIHtTdHJpbmd9ICRleHByZXNzaW9uIC0gRXhwcmVzc2lvbiB0byBwYXJzZVxuLy8vXG4vLy8gQHJldHVybiB7U3RyaW5nfSAtIFZhbGlkIG1lZGlhIHF1ZXJ5XG4vLy9cbkBmdW5jdGlvbiBwYXJzZS1leHByZXNzaW9uKCRleHByZXNzaW9uKSB7XG4gIC8vIElmIGl0IGlzIHBhcnQgb2YgJG1lZGlhLWV4cHJlc3Npb25zLCBpdCBoYXMgbm8gb3BlcmF0b3JcbiAgLy8gdGhlbiB0aGVyZSBpcyBubyBuZWVkIHRvIGdvIGFueSBmdXJ0aGVyLCBqdXN0IHJldHVybiB0aGUgdmFsdWVcbiAgQGlmIG1hcC1oYXMta2V5KCRtZWRpYS1leHByZXNzaW9ucywgJGV4cHJlc3Npb24pIHtcbiAgICBAcmV0dXJuIG1hcC1nZXQoJG1lZGlhLWV4cHJlc3Npb25zLCAkZXhwcmVzc2lvbik7XG4gIH1cblxuICAkb3BlcmF0b3I6IGdldC1leHByZXNzaW9uLW9wZXJhdG9yKCRleHByZXNzaW9uKTtcbiAgJGRpbWVuc2lvbjogZ2V0LWV4cHJlc3Npb24tZGltZW5zaW9uKCRleHByZXNzaW9uLCAkb3BlcmF0b3IpO1xuICAkcHJlZml4OiBnZXQtZXhwcmVzc2lvbi1wcmVmaXgoJG9wZXJhdG9yKTtcbiAgJHZhbHVlOiBnZXQtZXhwcmVzc2lvbi12YWx1ZSgkZXhwcmVzc2lvbiwgJG9wZXJhdG9yKTtcblxuICBAcmV0dXJuICcoI3skcHJlZml4fS0jeyRkaW1lbnNpb259OiAjeyR2YWx1ZX0pJztcbn1cblxuLy8vXG4vLy8gU2xpY2UgYCRsaXN0YCBiZXR3ZWVuIGAkc3RhcnRgIGFuZCBgJGVuZGAgaW5kZXhlc1xuLy8vXG4vLy8gQGFjY2VzcyBwcml2YXRlXG4vLy9cbi8vLyBAcGFyYW0ge0xpc3R9ICRsaXN0IC0gTGlzdCB0byBzbGljZVxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkc3RhcnQgWzFdIC0gU3RhcnQgaW5kZXhcbi8vLyBAcGFyYW0ge051bWJlcn0gJGVuZCBbbGVuZ3RoKCRsaXN0KV0gLSBFbmQgaW5kZXhcbi8vL1xuLy8vIEByZXR1cm4ge0xpc3R9IFNsaWNlZCBsaXN0XG4vLy9cbkBmdW5jdGlvbiBzbGljZSgkbGlzdCwgJHN0YXJ0OiAxLCAkZW5kOiBsZW5ndGgoJGxpc3QpKSB7XG4gIEBpZiBsZW5ndGgoJGxpc3QpIDwgMSBvciAkc3RhcnQgPiAkZW5kIHtcbiAgICBAcmV0dXJuICgpO1xuICB9XG5cbiAgJHJlc3VsdDogKCk7XG5cbiAgQGZvciAkaSBmcm9tICRzdGFydCB0aHJvdWdoICRlbmQge1xuICAgICRyZXN1bHQ6IGFwcGVuZCgkcmVzdWx0LCBudGgoJGxpc3QsICRpKSk7XG4gIH1cblxuICBAcmV0dXJuICRyZXN1bHQ7XG59XG5cbi8vLy9cbi8vLyBTdHJpbmcgdG8gbnVtYmVyIGNvbnZlcnRlclxuLy8vIEBhdXRob3IgSHVnbyBHaXJhdWRlbFxuLy8vIEBhY2Nlc3MgcHJpdmF0ZVxuLy8vL1xuXG5cbi8vL1xuLy8vIENhc3RzIGEgc3RyaW5nIGludG8gYSBudW1iZXJcbi8vL1xuLy8vIEBwYXJhbSB7U3RyaW5nIHwgTnVtYmVyfSAkdmFsdWUgLSBWYWx1ZSB0byBiZSBwYXJzZWRcbi8vL1xuLy8vIEByZXR1cm4ge051bWJlcn1cbi8vL1xuQGZ1bmN0aW9uIHRvLW51bWJlcigkdmFsdWUpIHtcbiAgQGlmIHR5cGUtb2YoJHZhbHVlKSA9PSAnbnVtYmVyJyB7XG4gICAgQHJldHVybiAkdmFsdWU7XG4gIH0gQGVsc2UgaWYgdHlwZS1vZigkdmFsdWUpICE9ICdzdHJpbmcnIHtcbiAgICAkXzogaW0tbG9nKCdWYWx1ZSBmb3IgYHRvLW51bWJlcmAgc2hvdWxkIGJlIGEgbnVtYmVyIG9yIGEgc3RyaW5nLicpO1xuICB9XG5cbiAgJGZpcnN0LWNoYXJhY3Rlcjogc3RyLXNsaWNlKCR2YWx1ZSwgMSwgMSk7XG4gICRyZXN1bHQ6IDA7XG4gICRkaWdpdHM6IDA7XG4gICRtaW51czogKCRmaXJzdC1jaGFyYWN0ZXIgPT0gJy0nKTtcbiAgJG51bWJlcnM6ICgnMCc6IDAsICcxJzogMSwgJzInOiAyLCAnMyc6IDMsICc0JzogNCwgJzUnOiA1LCAnNic6IDYsICc3JzogNywgJzgnOiA4LCAnOSc6IDkpO1xuXG4gIC8vIFJlbW92ZSArLy0gc2lnbiBpZiBwcmVzZW50IGF0IGZpcnN0IGNoYXJhY3RlclxuICBAaWYgKCRmaXJzdC1jaGFyYWN0ZXIgPT0gJysnIG9yICRmaXJzdC1jaGFyYWN0ZXIgPT0gJy0nKSB7XG4gICAgJHZhbHVlOiBzdHItc2xpY2UoJHZhbHVlLCAyKTtcbiAgfVxuXG4gIEBmb3IgJGkgZnJvbSAxIHRocm91Z2ggc3RyLWxlbmd0aCgkdmFsdWUpIHtcbiAgICAkY2hhcmFjdGVyOiBzdHItc2xpY2UoJHZhbHVlLCAkaSwgJGkpO1xuXG4gICAgQGlmIG5vdCAoaW5kZXgobWFwLWtleXMoJG51bWJlcnMpLCAkY2hhcmFjdGVyKSBvciAkY2hhcmFjdGVyID09ICcuJykge1xuICAgICAgQHJldHVybiB0by1sZW5ndGgoaWYoJG1pbnVzLCAtJHJlc3VsdCwgJHJlc3VsdCksIHN0ci1zbGljZSgkdmFsdWUsICRpKSlcbiAgICB9XG5cbiAgICBAaWYgJGNoYXJhY3RlciA9PSAnLicge1xuICAgICAgJGRpZ2l0czogMTtcbiAgICB9IEBlbHNlIGlmICRkaWdpdHMgPT0gMCB7XG4gICAgICAkcmVzdWx0OiAkcmVzdWx0ICogMTAgKyBtYXAtZ2V0KCRudW1iZXJzLCAkY2hhcmFjdGVyKTtcbiAgICB9IEBlbHNlIHtcbiAgICAgICRkaWdpdHM6ICRkaWdpdHMgKiAxMDtcbiAgICAgICRyZXN1bHQ6ICRyZXN1bHQgKyBtYXAtZ2V0KCRudW1iZXJzLCAkY2hhcmFjdGVyKSAvICRkaWdpdHM7XG4gICAgfVxuICB9XG5cbiAgQHJldHVybiBpZigkbWludXMsIC0kcmVzdWx0LCAkcmVzdWx0KTtcbn1cblxuXG4vLy9cbi8vLyBBZGQgYCR1bml0YCB0byBgJHZhbHVlYFxuLy8vXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICR2YWx1ZSAtIFZhbHVlIHRvIGFkZCB1bml0IHRvXG4vLy8gQHBhcmFtIHtTdHJpbmd9ICR1bml0IC0gU3RyaW5nIHJlcHJlc2VudGF0aW9uIG9mIHRoZSB1bml0XG4vLy9cbi8vLyBAcmV0dXJuIHtOdW1iZXJ9IC0gYCR2YWx1ZWAgZXhwcmVzc2VkIGluIGAkdW5pdGBcbi8vL1xuQGZ1bmN0aW9uIHRvLWxlbmd0aCgkdmFsdWUsICR1bml0KSB7XG4gICR1bml0czogKCdweCc6IDFweCwgJ2NtJzogMWNtLCAnbW0nOiAxbW0sICclJzogMSUsICdjaCc6IDFjaCwgJ3BjJzogMXBjLCAnaW4nOiAxaW4sICdlbSc6IDFlbSwgJ3JlbSc6IDFyZW0sICdwdCc6IDFwdCwgJ2V4JzogMWV4LCAndncnOiAxdncsICd2aCc6IDF2aCwgJ3ZtaW4nOiAxdm1pbiwgJ3ZtYXgnOiAxdm1heCk7XG5cbiAgQGlmIG5vdCBpbmRleChtYXAta2V5cygkdW5pdHMpLCAkdW5pdCkge1xuICAgICRfOiBpbS1sb2coJ0ludmFsaWQgdW5pdCBgI3skdW5pdH1gLicpO1xuICB9XG5cbiAgQHJldHVybiAkdmFsdWUgKiBtYXAtZ2V0KCR1bml0cywgJHVuaXQpO1xufVxuXG4vLy9cbi8vLyBUaGlzIG1peGluIGFpbXMgYXQgcmVkZWZpbmluZyB0aGUgY29uZmlndXJhdGlvbiBqdXN0IGZvciB0aGUgc2NvcGUgb2Zcbi8vLyB0aGUgY2FsbC4gSXQgaXMgaGVscGZ1bCB3aGVuIGhhdmluZyBhIGNvbXBvbmVudCBuZWVkaW5nIGFuIGV4dGVuZGVkXG4vLy8gY29uZmlndXJhdGlvbiBzdWNoIGFzIGN1c3RvbSBicmVha3BvaW50cyAocmVmZXJyZWQgdG8gYXMgdHdlYWtwb2ludHMpXG4vLy8gZm9yIGluc3RhbmNlLlxuLy8vXG4vLy8gQGF1dGhvciBIdWdvIEdpcmF1ZGVsXG4vLy9cbi8vLyBAcGFyYW0ge01hcH0gJHR3ZWFrcG9pbnRzIFsoKV0gLSBNYXAgb2YgdHdlYWtwb2ludHMgdG8gYmUgbWVyZ2VkIHdpdGggYCRicmVha3BvaW50c2Bcbi8vLyBAcGFyYW0ge01hcH0gJHR3ZWFrLW1lZGlhLWV4cHJlc3Npb25zIFsoKV0gLSBNYXAgb2YgdHdlYWtlZCBtZWRpYSBleHByZXNzaW9ucyB0byBiZSBtZXJnZWQgd2l0aCBgJG1lZGlhLWV4cHJlc3Npb25gXG4vLy9cbi8vLyBAZXhhbXBsZSBzY3NzIC0gRXh0ZW5kIHRoZSBnbG9iYWwgYnJlYWtwb2ludHMgd2l0aCBhIHR3ZWFrcG9pbnRcbi8vLyAgQGluY2x1ZGUgbWVkaWEtY29udGV4dCgoJ2N1c3RvbSc6IDY3OHB4KSkge1xuLy8vICAgIC5mb28ge1xuLy8vICAgICAgQGluY2x1ZGUgbWVkaWEoJz5waG9uZScsICc8PWN1c3RvbScpIHtcbi8vLyAgICAgICAvLyAuLi5cbi8vLyAgICAgIH1cbi8vLyAgICB9XG4vLy8gIH1cbi8vL1xuLy8vIEBleGFtcGxlIHNjc3MgLSBFeHRlbmQgdGhlIGdsb2JhbCBtZWRpYSBleHByZXNzaW9ucyB3aXRoIGEgY3VzdG9tIG9uZVxuLy8vICBAaW5jbHVkZSBtZWRpYS1jb250ZXh0KCR0d2Vhay1tZWRpYS1leHByZXNzaW9uczogKCdhbGwnOiAnYWxsJykpIHtcbi8vLyAgICAuZm9vIHtcbi8vLyAgICAgIEBpbmNsdWRlIG1lZGlhKCdhbGwnLCAnPnBob25lJykge1xuLy8vICAgICAgIC8vIC4uLlxuLy8vICAgICAgfVxuLy8vICAgIH1cbi8vLyAgfVxuLy8vXG4vLy8gQGV4YW1wbGUgc2NzcyAtIEV4dGVuZCBib3RoIGNvbmZpZ3VyYXRpb24gbWFwc1xuLy8vICBAaW5jbHVkZSBtZWRpYS1jb250ZXh0KCgnY3VzdG9tJzogNjc4cHgpLCAoJ2FsbCc6ICdhbGwnKSkge1xuLy8vICAgIC5mb28ge1xuLy8vICAgICAgQGluY2x1ZGUgbWVkaWEoJ2FsbCcsICc+cGhvbmUnLCAnPD1jdXN0b20nKSB7XG4vLy8gICAgICAgLy8gLi4uXG4vLy8gICAgICB9XG4vLy8gICAgfVxuLy8vICB9XG4vLy9cbkBtaXhpbiBtZWRpYS1jb250ZXh0KCR0d2Vha3BvaW50czogKCksICR0d2Vhay1tZWRpYS1leHByZXNzaW9uczogKCkpIHtcbiAgLy8gU2F2ZSBnbG9iYWwgY29uZmlndXJhdGlvblxuICAkZ2xvYmFsLWJyZWFrcG9pbnRzOiAkYnJlYWtwb2ludHM7XG4gICRnbG9iYWwtbWVkaWEtZXhwcmVzc2lvbnM6ICRtZWRpYS1leHByZXNzaW9ucztcblxuICAvLyBVcGRhdGUgZ2xvYmFsIGNvbmZpZ3VyYXRpb25cbiAgJGJyZWFrcG9pbnRzOiBtYXAtbWVyZ2UoJGJyZWFrcG9pbnRzLCAkdHdlYWtwb2ludHMpICFnbG9iYWw7XG4gICRtZWRpYS1leHByZXNzaW9uczogbWFwLW1lcmdlKCRtZWRpYS1leHByZXNzaW9ucywgJHR3ZWFrLW1lZGlhLWV4cHJlc3Npb25zKSAhZ2xvYmFsO1xuXG4gIEBjb250ZW50O1xuXG4gIC8vIFJlc3RvcmUgZ2xvYmFsIGNvbmZpZ3VyYXRpb25cbiAgJGJyZWFrcG9pbnRzOiAkZ2xvYmFsLWJyZWFrcG9pbnRzICFnbG9iYWw7XG4gICRtZWRpYS1leHByZXNzaW9uczogJGdsb2JhbC1tZWRpYS1leHByZXNzaW9ucyAhZ2xvYmFsO1xufVxuXG4vLy8vXG4vLy8gaW5jbHVkZS1tZWRpYSBwdWJsaWMgZXhwb3NlZCBBUElcbi8vLyBAYXV0aG9yIEVkdWFyZG8gQm91Y2FzXG4vLy8gQGFjY2VzcyBwdWJsaWNcbi8vLy9cblxuXG4vLy9cbi8vLyBHZW5lcmF0ZXMgYSBtZWRpYSBxdWVyeSBiYXNlZCBvbiBhIGxpc3Qgb2YgY29uZGl0aW9uc1xuLy8vXG4vLy8gQHBhcmFtIHtBcmdsaXN0fSAgICRjb25kaXRpb25zICAtIE1lZGlhIHF1ZXJ5IGNvbmRpdGlvbnNcbi8vL1xuLy8vIEBleGFtcGxlIHNjc3MgLSBXaXRoIGEgc2luZ2xlIHNldCBicmVha3BvaW50XG4vLy8gIEBpbmNsdWRlIG1lZGlhKCc+cGhvbmUnKSB7IH1cbi8vL1xuLy8vIEBleGFtcGxlIHNjc3MgLSBXaXRoIHR3byBzZXQgYnJlYWtwb2ludHNcbi8vLyAgQGluY2x1ZGUgbWVkaWEoJz5waG9uZScsICc8PXRhYmxldCcpIHsgfVxuLy8vXG4vLy8gQGV4YW1wbGUgc2NzcyAtIFdpdGggY3VzdG9tIHZhbHVlc1xuLy8vICBAaW5jbHVkZSBtZWRpYSgnPj0zNThweCcsICc8ODUwcHgnKSB7IH1cbi8vL1xuLy8vIEBleGFtcGxlIHNjc3MgLSBXaXRoIHNldCBicmVha3BvaW50cyB3aXRoIGN1c3RvbSB2YWx1ZXNcbi8vLyAgQGluY2x1ZGUgbWVkaWEoJz5kZXNrdG9wJywgJzw9MTM1MHB4JykgeyB9XG4vLy9cbi8vLyBAZXhhbXBsZSBzY3NzIC0gV2l0aCBhIHN0YXRpYyBleHByZXNzaW9uXG4vLy8gIEBpbmNsdWRlIG1lZGlhKCdyZXRpbmEyeCcpIHsgfVxuLy8vXG4vLy8gQGV4YW1wbGUgc2NzcyAtIE1peGluZyBldmVyeXRoaW5nXG4vLy8gIEBpbmNsdWRlIG1lZGlhKCc+PTM1MHB4JywgJzx0YWJsZXQnLCAncmV0aW5hM3gnKSB7IH1cbi8vL1xuQG1peGluIG1lZGlhKCRjb25kaXRpb25zLi4uKSB7XG4gIC8vIHNjc3MtbGludDpkaXNhYmxlIFNwYWNlQXJvdW5kT3BlcmF0b3JcbiAgQGlmICgkaW0tbWVkaWEtc3VwcG9ydCBhbmQgbGVuZ3RoKCRjb25kaXRpb25zKSA9PSAwKSBvclxuICAgICAgKG5vdCAkaW0tbWVkaWEtc3VwcG9ydCBhbmQgaW0taW50ZXJjZXB0cy1zdGF0aWMtYnJlYWtwb2ludCgkY29uZGl0aW9ucy4uLikpIHtcbiAgICBAY29udGVudDtcbiAgfSBAZWxzZSBpZiAoJGltLW1lZGlhLXN1cHBvcnQgYW5kIGxlbmd0aCgkY29uZGl0aW9ucykgPiAwKSB7XG4gICAgQG1lZGlhICN7dW5xdW90ZShwYXJzZS1leHByZXNzaW9uKG50aCgkY29uZGl0aW9ucywgMSkpKX0ge1xuICAgICAgLy8gUmVjdXJzaXZlIGNhbGxcbiAgICAgIEBpbmNsdWRlIG1lZGlhKHNsaWNlKCRjb25kaXRpb25zLCAyKS4uLikge1xuICAgICAgICBAY29udGVudDtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiIsIi8qKlxuICogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICogVW4udGl0bGVkXG4gKiBCYXNlIC0gRGVmYXVsdHNcbiAqIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAqL1xuXG4uZ3JpZCB7XG4gIG1heC13aWR0aDogdmFyKC0tY29udGFpbmVyV2lkdGhEZXNrdG9wKTtcbiAgQGluY2x1ZGUgbWVkaWEoJzwxNDQwcHgnKSB7XG4gICAgbWF4LXdpZHRoOiA5MCU7XG4gICAgLmdyaWQge1xuICAgICAgbWF4LXdpZHRoOiB2YXIoLS1jb250YWluZXJXaWR0aERlc2t0b3ApO1xuICAgIH1cbiAgfVxuICBAaW5jbHVkZSBtZWRpYSgnPHNtJykge1xuICAgIG1heC13aWR0aDogdmFyKC0tY29udGFpbmVyV2lkdGhMYXB0b3ApO1xuICB9XG59XG5cbi5jb250YWluZXItZnVsbCA+IC5ncmlkIHtcbiAgbWF4LXdpZHRoOiBub25lO1xufVxuXG51bC5tZW51LFxudWwucGxhaW4ge1xuICBAaW5jbHVkZSBsaS1yZXNldDtcbn1cblxuaW1nIHtcbiAgLXdlYmtpdC1iYWNrZmFjZS12aXNpYmlsaXR5OiBoaWRkZW47XG4gIHRyYW5zaXRpb246IHZhcigtLXRyYW5zaXRpb24pO1xuXG4gICYubGF6eSB7XG4gICAgb3BhY2l0eTogMDtcblxuICAgIEBtZWRpYSBub3QgYWxsIGFuZCAobWluLXJlc29sdXRpb246IDAuMDAxZHBjbSkge1xuICAgICAgQHN1cHBvcnRzICgtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmUpIHtcbiAgICAgICAgb3BhY2l0eTogMTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAmLmxvYWRlZCB7XG4gICAgb3BhY2l0eTogMTtcbiAgfVxufVxuXG4uc3ZnIHtcbiAgdHJhbnNpdGlvbjogYWxsIHZhcigtLXRyYW5zaXRpb24pO1xufVxuXG4uaGlkZGVuIHtcbiAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xuICB2aXNpYmlsaXR5OiBoaWRkZW4gIWltcG9ydGFudDtcbn1cblxuLy8gS2VlcCB2aWRlbyByYXRpbyBmb3IgZmx1aWQgd2lkdGhzXG4udmlkZW8tY29udGFpbmVyLFxuLm1lZGlhLXZpbWVvLXZpZGVvLFxuLmVtYmVkLWNvbnRhaW5lciB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgcGFkZGluZy1ib3R0b206IDUwJTtcbiAgcGFkZGluZy10b3A6IDI1cHg7XG4gIGhlaWdodDogMDtcbiAgbWFyZ2luOiAwIWltcG9ydGFudDtcblxuICAmLm5vcm1hbCB7XG4gICAgcGFkZGluZy1ib3R0b206IDUwJTtcbiAgfVxuICAmLm1hcCB7XG4gICAgcGFkZGluZy1ib3R0b206IDc1LjI1JTtcbiAgfVxuICAmLmF1ZGlvIHtcbiAgICBwYWRkaW5nLWJvdHRvbTogMjAlO1xuICB9XG5cbiAgaWZyYW1lIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAwO1xuICAgIGxlZnQ6IDA7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICB9XG59XG5cbi5jdF9fd2hhdC1zLW9uLWxpc3RpbmcsXG4uY3RfX2NvbGxlY3Rpb24tcGFnZSxcbi5jdF9fcGhvdG9ncmFwaHktY3VsdHVyZS1sYW5kaW5nLFxuLmN0X19waG90b2dyYXBoeS1jdWx0dXJlLWxpc3RpbmcsXG4uY3RfX2xhbmRpbmctcGFnZSxcbi5jdF9fc2Vhc29uLXBhZ2UsXG4uY3RfX2hvbWVwYWdlLFxuLmN0X193aGF0LXMtb24tbGlzdGluZyB7XG4gIHNlY3Rpb24ge1xuICAgICYubS1lbnRpdHkge1xuICAgICAgJiA+IC5ncmlkIHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbi5jdF9fcGFnZSxcbi5jdF9fZXZlbnQsXG4uY3RfX29uLXBob3RvZ3JhcGh5LXBvc3QsXG4uY3RfX2V4dGVuc2lvbi1wYWdlLFxuLmN0X19sYW5kaW5nLXBhZ2V2MiB7XG4gIHNlY3Rpb24ge1xuICAgICYubS1lbnRpdHkge1xuICAgICAgJiA+IC5ncmlkIHtcbiAgICAgICAgJiA+IFtjbGFzcyo9J2NvbC0nXSB7XG4gICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiIsIi8qKlxuICogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICogVW4udGl0bGVkXG4gKiBCYXNlIC0gVHlwb2dyYXBoeVxuICogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICovXG5cbi8qKlxuICogQ29uZmlnXG4gKi9cbkBtaXhpbiBmb250LWJvZHkge1xuICBmb250LWZhbWlseTogJ0xldHRlcmF0ZXh0cHJvJztcbiAgbGluZS1oZWlnaHQ6ICRsaW5lLWJvZHk7XG59XG5cbkBtaXhpbiBmb250LWJvbGQge1xuICBmb250LWZhbWlseTogJ0xldHRlcmF0ZXh0cHJvYm9sZCc7XG4gIGZvbnQtd2VpZ2h0OiBib2xkO1xufVxuXG5AbWl4aW4gZm9udC10aXRsZSB7XG4gIGZvbnQtZmFtaWx5OiAnTGV0dGVyYXRleHRwcm8nLCBzYW5zLXNlcmlmO1xuICBmb250LXdlaWdodDogYm9sZDtcbn1cblxuQG1peGluIGZvbnQtaXRhbGljIHtcbiAgZm9udC1mYW1pbHk6ICdMZXR0ZXJhdGV4dHByb2l0YWxpYycsIHNhbnMtc2VyaWY7XG59XG5cbkBtaXhpbiBmb250LWN0YSB7XG4gIGZvbnQtZmFtaWx5OiAnTGV0dGVyYXRleHRwcm9ib2xkJywgc2Fucy1zZXJpZjtcbn1cblxuLyoqXG4gKiBIZWFkaW5nXG4gKi9cbmgxLFxuLmgxLFxuaDIsXG4uaDIsXG5oMyxcbi5oMyxcbmg0LFxuLmg0LFxuaDUsXG4uaDUsXG5oNixcbi5oNiB7XG4gIG1hcmdpbi10b3A6IDA7XG4gIGZvbnQtZmFtaWx5OiB2YXIoLS1mb250VGl0bGUpO1xuICBmb250LXdlaWdodDogbm9ybWFsO1xuICBsZXR0ZXItc3BhY2luZzogMDtcbn1cblxuaDEsXG4uaDEge1xuICBsaW5lLWhlaWdodDogMS4yNDtcbiAgZm9udC1zaXplOiBjbGFtcCgzMnB4LCA3dncsIHZhcigtLWZvbnRTaXplSGVhZGluZ09uZSkpO1xufVxuXG5oMixcbi5oMiB7XG4gIGxpbmUtaGVpZ2h0OiAxLjM0O1xuICBmb250LXNpemU6IGNsYW1wKDI1cHgsIDd2dywgdmFyKC0tZm9udFNpemVIZWFkaW5nVHdvKSk7XG59XG5cbmgzLFxuLmgzIHtcbiAgbGluZS1oZWlnaHQ6IDEuNDtcbiAgZm9udC1zaXplOiBjbGFtcCgyMHB4LCA1dncsIHZhcigtLWZvbnRTaXplSGVhZGluZ1RocmVlKSk7XG59XG5cbmg0LFxuLmg0IHtcbiAgbGluZS1oZWlnaHQ6IDEuMjtcbiAgZm9udC1zaXplOiBjbGFtcCgxOHB4LCA3dncsIHZhcigtLWZvbnRTaXplSGVhZGluZ0ZvdXIpKTtcbn1cblxuaDUsXG4uaDUge1xuICBsaW5lLWhlaWdodDogMS41O1xuICBmb250LXNpemU6IGNsYW1wKDE2cHgsIDd2dywgdmFyKC0tZm9udFNpemVMZykpO1xufVxuXG5oNixcbi5oNiB7XG4gIGxpbmUtaGVpZ2h0OiAxLjU7XG4gIGZvbnQtc2l6ZTogY2xhbXAoMTZweCwgN3Z3LCB2YXIoLS1mb250U2l6ZSkpO1xufVxuXG4vKipcbiAqIFBhcmFncmFwaHNcbiAqL1xucCB7XG4gIG1hcmdpbjogMS41ZW0gMDtcblxuICAmOmZpcnN0LW9mLXR5cGUge1xuICAgIG1hcmdpbi10b3A6IDA7XG4gIH1cblxuICAmOmxhc3Qtb2YtdHlwZSB7XG4gICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgfVxufVxuXG4vKipcbiAqIExpc3RzXG4gKi9cbnVsLFxub2wge1xuICBtYXJnaW46IDEuNXJlbSAwO1xuICBsaXN0LXN0eWxlLXBvc2l0aW9uOiBpbnNpZGU7XG4gIHBhZGRpbmctbGVmdDogMDtcbn1cblxuLyoqXG4gKiBMaW5rc1xuICovXG5hIHtcbiAgY29sb3I6IGluaGVyaXQ7XG4gIGZvbnQtd2VpZ2h0OiBpbmhlcml0O1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gIHRyYW5zaXRpb246IDAuMXMgdmFyKC0tZWFzaW5nKTtcblxuICAmOmhvdmVyLFxuICAmOmZvY3VzIHtcbiAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcbiAgfVxuXG4gICY6Zm9jdXMge1xuICAgIG91dGxpbmU6IDNweCBkYXNoZWQgY3VycmVudENvbG9yO1xuXG4gICAgQGluY2x1ZGUgZm9jdXMtdmlzaWJsZSgpIHtcbiAgICAgIG91dGxpbmU6IDA7XG4gICAgfVxuICB9XG59XG5cbi5uby1jbGljayB7XG4gIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICBjdXJzb3I6IGRlZmF1bHQ7XG59XG5cbjo6c2VsZWN0aW9uIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYy1zZWNvbmRhcnkpO1xuICBjb2xvcjogdmFyKC0tYy1wcmltYXJ5KTtcbn1cblxuLyoqXG4gKiBCdXR0b25zXG4gKi9cbmJ1dHRvbiB7XG4gICY6Zm9jdXMge1xuICAgIG91dGxpbmU6IDNweCBkYXNoZWQgY3VycmVudENvbG9yO1xuXG4gICAgQGluY2x1ZGUgZm9jdXMtdmlzaWJsZSgpIHtcbiAgICAgIG91dGxpbmU6IDA7XG4gICAgfVxuICB9XG59XG5cbi8qKlxuICogSW5saW5lXG4gKi9cbnN0cm9uZyB7XG4gIGZvbnQtd2VpZ2h0OiBib2xkO1xufVxuXG5lbSB7XG4gIGZvbnQtc3R5bGU6IGl0YWxpYztcbn1cblxuc3BhbiB7XG4gIGZvbnQtZmFtaWx5OiBpbmhlcml0O1xuICBmb250LXdlaWdodDogaW5oZXJpdDtcbiAgbGluZS1oZWlnaHQ6IGluaGVyaXQ7XG4gIGxldHRlci1zcGFjaW5nOiBpbmhlcml0O1xuICBmb250LXNpemU6IGluaGVyaXQ7XG59XG5cbmFkZHJlc3Mge1xuICBmb250LWZhbWlseTogaW5oZXJpdDtcbiAgZm9udC13ZWlnaHQ6IGluaGVyaXQ7XG4gIGxpbmUtaGVpZ2h0OiBpbmhlcml0O1xuICBsZXR0ZXItc3BhY2luZzogaW5oZXJpdDtcbiAgZm9udC1zaXplOiBpbmhlcml0O1xuICBmb250LXN0eWxlOiBub3JtYWw7XG59XG5cbnNtYWxsIHtcbiAgZm9udC1zaXplOiA5MCU7XG59XG5cbmhyIHtcbiAgYm9yZGVyOiBzb2xpZCB2YXIoLS1jLXNlY29uZGFyeSk7XG4gIGJvcmRlci13aWR0aDogMCAwIDFweCAwO1xuICBtYXJnaW46IDEuNXJlbSAwO1xufVxuXG5maWd1cmUge1xuICBtYXJnaW46IDA7XG59XG4iLCIvKipcbiAqIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAqIFVuLnRpdGxlZFxuICogQmFzZSAtIERydXBhbCA4IHNwZWNpZmljXG4gKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gKi9cblxuLy8gUGFnaW5hdGlvblxuLnBhZ2VyIHtcbiAgQGluY2x1ZGUgbGktcmVzZXQ7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBtYXJnaW4tdG9wOiB2YXIoLS1idW1wKTtcbiAgZmxleC13cmFwOiB3cmFwO1xuXG4gIEBpbmNsdWRlIG1lZGlhKCc8c20nKSB7XG4gICAgbWFyZ2luLXRvcDogY2FsYyh2YXIoLS1idW1wKSAvIDIpO1xuICB9XG5cbiAgbGkge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcblxuICAgIGEge1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICBwYWRkaW5nOiAwIDEwcHg7XG4gICAgICBmb250LXNpemU6IDE2cHg7XG4gICAgICBmb250LXdlaWdodDogYm9sZDtcbiAgICAgIGxldHRlci1zcGFjaW5nOiAwO1xuICAgICAgbGluZS1oZWlnaHQ6IDI3cHg7XG4gICAgICBjb2xvcjogdmFyKC0tYy1ncmV5KTtcblxuICAgICAgJjpob3ZlciB7XG4gICAgICAgIGNvbG9yOiB2YXIoLS1jLXNlY29uZGFyeSk7XG4gICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAmOmxhc3QtY2hpbGQge1xuICAgICAgYSB7XG4gICAgICAgIGJvcmRlci1yaWdodDogMDtcbiAgICAgICAgcGFkZGluZy1yaWdodDogNXB4O1xuICAgICAgfVxuICAgIH1cblxuICAgICYuaXMtYWN0aXZlIGEge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYy13aGl0ZSk7XG4gICAgICBjb2xvcjogdmFyKC0tYy1wcmltYXJ5KTtcbiAgICB9XG4gIH1cbn1cblxuLy8gQWRtbmluIHN0eWxlc1xuLmFkbWluLWZ1bmN0aW9ucyB7XG4gIHBvc2l0aW9uOiBzdGlja3k7XG4gIHRvcDogMDtcbiAgd2lkdGg6IDEwMCU7XG4gIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWMtcHJpbWFyeSk7XG4gIG1heC13aWR0aDogMTAwJTtcbiAgei1pbmRleDogMzE7XG5cbiAgLnVzZXItbG9nZ2VkLWluICYge1xuICAgIHRvcDogMzlweDtcbiAgfVxuXG4gIC50b29sYmFyLXRyYXktb3BlbiAmIHtcbiAgICB0b3A6IDc5cHg7XG4gIH1cblxuICBbY2xhc3MqPSdjb2wtJ10ge1xuICAgIHBhZGRpbmc6IDAgY2FsYyh2YXIoLS1idW1wKSAvIDIpO1xuICB9XG5cbiAgdWwge1xuICAgIEBpbmNsdWRlIGxpLXJlc2V0O1xuICAgIGJvcmRlcjogMDtcbiAgICBtYXJnaW46IGNhbGModmFyKC0tYnVtcCkgLyAyKSAwO1xuICAgIHBhZGRpbmc6IDA7XG5cbiAgICBsaSB7XG4gICAgICBtYXJnaW4tcmlnaHQ6IHZhcigtLWJ1bXApO1xuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuXG4gICAgICBhIHtcbiAgICAgICAgY29sb3I6IHZhcigtLWMtd2hpdGUpO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG4udmlzdWFsbHktaGlkZGVuIHtcbiAgcG9zaXRpb246IGFic29sdXRlICFpbXBvcnRhbnQ7XG4gIGNsaXA6IHJlY3QoMXB4LCAxcHgsIDFweCwgMXB4KTtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgaGVpZ2h0OiAxcHg7XG4gIHdpZHRoOiAxcHg7XG4gIHdvcmQtd3JhcDogbm9ybWFsO1xufVxuXG5hLnNraXAtbWFpbiB7XG4gIGxlZnQ6IC05OTlweDtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IGF1dG87XG4gIHdpZHRoOiAxcHg7XG4gIGhlaWdodDogMXB4O1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICB6LWluZGV4OiAtOTk5O1xufVxuYS5za2lwLW1haW46Zm9jdXMsXG5hLnNraXAtbWFpbjphY3RpdmUge1xuICBmb250LXdlaWdodDogYm9sZDtcbiAgY29sb3I6IHZhcigtLWMtd2hpdGUpO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jLXByaW1hcnkpO1xuICBsZWZ0OiBhdXRvO1xuICB0b3A6IGF1dG87XG4gIHdpZHRoOiAzMCU7XG4gIGhlaWdodDogYXV0bztcbiAgb3ZlcmZsb3c6IGF1dG87XG4gIG1hcmdpbjogMTBweCAzNSU7XG4gIHBhZGRpbmc6IDVweDtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBmb250LXNpemU6IDEuMmVtO1xuICB6LWluZGV4OiA5OTk7XG59XG5cbi5hamF4LXByb2dyZXNzLXRocm9iYmVyIHtcbiAgZGlzcGxheTogbm9uZTtcbn1cbiIsIi8qKlxuICogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICogVW4udGl0bGVkXG4gKiBCYXNlIC0gTWFpblxuICogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICovXG5cbi8qKlxuICogU3R5bGVzXG4gKi9cbmh0bWwsXG5ib2R5IHtcbiAgQGluY2x1ZGUgZm9udC1zbW9vdGhpbmcodHJ1ZSk7XG4gIGZvbnQtc2l6ZTogdmFyKC0tZm9udFNpemUpO1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICBsaW5lLWhlaWdodDogdmFyKC0tbGluZUhlaWdodCk7XG4gIGZvbnQtZmFtaWx5OiB2YXIoLS1mb250Qm9keSk7XG4gIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWMtcHJpbWFyeSk7XG4gIGNvbG9yOiB2YXIoLS1jLXNlY29uZGFyeSk7XG59XG5cbiosXG4qOmJlZm9yZSxcbio6YWZ0ZXIge1xuICBib3gtc2l6aW5nOiBpbmhlcml0O1xuICAvLyB0cmFuc2l0aW9uOiAwLjRzIHZhcigtLXRyYW5zaXRpb24pO1xufVxuXG5ib2R5IHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgcCB7XG4gICAgbGluZS1oZWlnaHQ6IDEuOTtcbiAgICBjb2xvcjogdmFyKC0tYy1zZWNvbmRhcnkpO1xuICB9XG59XG5cbkBpbmNsdWRlIG1lZGlhKCc8bWQnKSB7XG4gIFtkYXRhLW5hdj0nb3BlbiddIHtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIHBvc2l0aW9uOiBmaXhlZDtcbiAgICB3aWR0aDogMTAwJTtcbiAgfVxufVxuIiwiLyoqXG4gKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gKiBVbi50aXRsZWRcbiAqIEJhc2UgLSBBbmltYXRpb25zXG4gKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gKi9cblxuQGtleWZyYW1lcyBmYWRlSW4ge1xuICAwJSB7XG4gICAgb3BhY2l0eTogMDtcbiAgICB2aXNpYmlsaXR5OiBoaWRkZW47XG4gIH1cblxuICAxMDAlIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIHZpc2liaWxpdHk6IHZpc2libGU7XG4gIH1cbn1cblxuQGtleWZyYW1lcyBmYWRlT3V0IHtcbiAgMCUge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgdmlzaWJpbGl0eTogdmlzaWJsZTtcbiAgfVxuXG4gIDEwMCUge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgdmlzaWJpbGl0eTogaGlkZGVuO1xuICB9XG59XG5cbkBrZXlmcmFtZXMgem9vbUZhZGVJbiB7XG4gIDAlIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTEwJSkgc2NhbGUoMC44KTtcbiAgICBvcGFjaXR5OiAwO1xuICAgIHZpc2liaWxpdHk6IGhpZGRlbjtcbiAgfVxuXG4gIDEwMCUge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKSBzY2FsZSgxKTtcbiAgICBvcGFjaXR5OiAxO1xuICAgIHZpc2liaWxpdHk6IHZpc2libGU7XG4gIH1cbn1cblxuQGtleWZyYW1lcyB6b29tRmFkZU91dCB7XG4gIDAlIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCkgc2NhbGUoMSk7XG4gICAgb3BhY2l0eTogMTtcbiAgICB2aXNpYmlsaXR5OiB2aXNpYmxlO1xuICB9XG5cbiAgMTAwJSB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0xMCUpIHNjYWxlKDAuOCk7XG4gICAgb3BhY2l0eTogMDtcbiAgICB2aXNpYmlsaXR5OiBoaWRkZW47XG4gIH1cbn1cblxuQGtleWZyYW1lcyBuYXZPdmVybGF5SW4ge1xuICAwJSB7XG4gICAgdHJhbnNmb3JtLW9yaWdpbjogdG9wO1xuICAgIHRyYW5zZm9ybTogc2NhbGVZKDApO1xuICAgIG9wYWNpdHk6IDA7XG4gICAgdmlzaWJpbGl0eTogaGlkZGVuO1xuICB9XG5cbiAgMTAwJSB7XG4gICAgdHJhbnNmb3JtLW9yaWdpbjogdG9wO1xuICAgIHRyYW5zZm9ybTogc2NhbGVZKDEpO1xuICAgIG9wYWNpdHk6IDE7XG4gICAgdmlzaWJpbGl0eTogdmlzaWJsZTtcbiAgfVxufVxuXG5Aa2V5ZnJhbWVzIG5hdk92ZXJsYXlPdXQge1xuICAwJSB7XG4gICAgdHJhbnNmb3JtLW9yaWdpbjogdG9wO1xuICAgIHRyYW5zZm9ybTogc2NhbGVZKDEpO1xuICAgIG9wYWNpdHk6IDE7XG4gICAgdmlzaWJpbGl0eTogdmlzaWJsZTtcbiAgfVxuXG4gIDEwMCUge1xuICAgIHRyYW5zZm9ybS1vcmlnaW46IHRvcDtcbiAgICB0cmFuc2Zvcm06IHNjYWxlWSgwKTtcbiAgICBvcGFjaXR5OiAwO1xuICAgIHZpc2liaWxpdHk6IGhpZGRlbjtcbiAgfVxufVxuXG5Aa2V5ZnJhbWVzIG5hdk92ZXJsYXlJbm5lckluIHtcbiAgMCUge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgdmlzaWJpbGl0eTogaGlkZGVuO1xuICB9XG5cbiAgMTAwJSB7XG4gICAgb3BhY2l0eTogMTtcbiAgICB2aXNpYmlsaXR5OiB2aXNpYmxlO1xuICB9XG59XG5cbkBrZXlmcmFtZXMgbmF2T3ZlcmxheUlubmVyT3V0IHtcbiAgMCUge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgdmlzaWJpbGl0eTogdmlzaWJsZTtcbiAgfVxuXG4gIDEwMCUge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgdmlzaWJpbGl0eTogaGlkZGVuO1xuICB9XG59XG4iLCIvKipcbiAqIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAqIFVuLnRpdGxlZFxuICogQXRvbXMgLSBHcmlkXG4gKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gKi9cblxuLyoqXG4gKiBTdHlsaW5nXG4gKi9cbi5hLWdyaWQge1xuICBkaXNwbGF5OiBncmlkO1xuICBnYXA6IGNhbGModmFyKC0tYnVtcCkgLyAyKTtcblxuICAmLS0xIHtcbiAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDFmcjtcbiAgfVxuXG4gICYtLTIge1xuICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KDIsIDFmcik7XG5cbiAgICBAaW5jbHVkZSBtZWRpYSgnPHNtJykge1xuICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiAxZnI7XG4gICAgfVxuICB9XG5cbiAgJi0tMyB7XG4gICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoMywgMWZyKTtcblxuICAgIEBpbmNsdWRlIG1lZGlhKCc8bWQnKSB7XG4gICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdCgyLCAxZnIpO1xuICAgIH1cblxuICAgIEBpbmNsdWRlIG1lZGlhKCc8c20nKSB7XG4gICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDFmcjtcbiAgICB9XG4gIH1cblxuICAmLS00IHtcbiAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdCg0LCAxZnIpO1xuXG4gICAgQGluY2x1ZGUgbWVkaWEoJzxtZCcpIHtcbiAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KDIsIDFmcik7XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgbWVkaWEoJzxzbScpIHtcbiAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KDEsIDFmcik7XG4gICAgfVxuICB9XG59XG4iLCIvKipcbiAqIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAqIFVuLnRpdGxlZFxuICogQXRvbXMgLSBOYXYgVG9nZ2xlXG4gKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gKi9cblxuLyoqXG4gKiBDb25maWdcbiAqL1xuJGJ1bXA6IDMwcHg7XG4kaGVpZ2h0LWljb246ICRidW1wIC0gOHB4O1xuJHdpZHRoLWxpbmU6ICRidW1wO1xuJGhlaWdodC1saW5lOiAzcHg7XG5cbiRyb3RhdGlvbjogNDVkZWc7XG4kdHJhbnNsYXRlWTogKCRoZWlnaHQtaWNvbiAvIDIpO1xuJHRyYW5zbGF0ZVg6IDA7XG5cbi8qKlxuICogU3R5bGVzXG4gKi9cbi5hLW5hdi10b2dnbGUge1xuICBib3JkZXI6IDA7XG4gIHBhZGRpbmc6IDA7XG4gIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICB3aWR0aDogJHdpZHRoLWxpbmU7XG4gIGhlaWdodDogJGhlaWdodC1pY29uO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGRpc3BsYXk6IG5vbmU7XG4gIG91dGxpbmU6IG5vbmU7XG4gIG1hcmdpbjogMCAwIDAgYXV0bztcblxuICBAaW5jbHVkZSBtZWRpYSgnPHNtJykge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICB9XG5cbiAgJjpob3ZlcixcbiAgJjpmb2N1cyB7XG4gICAgb3V0bGluZTogbm9uZTtcbiAgfVxuXG4gICZfX2xpbmUge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIGJhY2tncm91bmQ6IHZhcigtLWMtc2Vjb25kYXJ5KTtcbiAgICB3aWR0aDogJHdpZHRoLWxpbmU7XG4gICAgaGVpZ2h0OiAkaGVpZ2h0LWxpbmU7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIGxlZnQ6IDA7XG4gICAgYm9yZGVyLXJhZGl1czogMDtcbiAgICB0cmFuc2l0aW9uOiB2YXIoLS10cmFuc2l0aW9uKTtcblxuICAgICYtMSB7XG4gICAgICB0b3A6IDA7XG5cbiAgICAgIDpob3ZlciA+ICYge1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoJGhlaWdodC1saW5lIC8gMiAqIC0xKTtcbiAgICAgIH1cblxuICAgICAgW2RhdGEtbmF2PSdvcGVuJ10gJiB7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgkdHJhbnNsYXRlWSkgdHJhbnNsYXRlWCgkdHJhbnNsYXRlWClcbiAgICAgICAgICByb3RhdGUoJHJvdGF0aW9uKTtcbiAgICAgIH1cbiAgICB9XG4gICAgJi0yIHtcbiAgICAgIHRvcDogNTAlO1xuXG4gICAgICBbZGF0YS1uYXY9J29wZW4nXSAmIHtcbiAgICAgICAgb3BhY2l0eTogMDtcbiAgICAgIH1cbiAgICB9XG4gICAgJi0zIHtcbiAgICAgIHRvcDogMTAwJTtcblxuICAgICAgOmhvdmVyID4gJiB7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgkaGVpZ2h0LWxpbmUgLyAyKTtcbiAgICAgIH1cblxuICAgICAgW2RhdGEtbmF2PSdvcGVuJ10gJiB7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgkdHJhbnNsYXRlWSAqIC0xKSB0cmFuc2xhdGVYKCR0cmFuc2xhdGVYKVxuICAgICAgICAgIHJvdGF0ZSgkcm90YXRpb24gKiAtMSk7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4iLCIvKipcbiAqIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAqIFVuLnRpdGxlZFxuICogQXRvbXMgLSBCdXR0b25zXG4gKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gKi9cblxuLyoqXG4gKiBDb25maWdcbiAqKi9cblxuQG1peGluIGJ0biB7XG4gIEBpbmNsdWRlIGZvbnQtY3RhO1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWMtdGVydGlhcnkpO1xuICBjb2xvcjogdmFyKC0tYy1wcmltYXJ5KTtcbiAgcGFkZGluZzogY2FsYyh2YXIoLS1idW1wKSAvIDQpIGNhbGModmFyKC0tYnVtcCkgLyAyKTtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICB0cmFuc2l0aW9uOiAwLjNzIHZhcigtLWVhc2luZyk7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgdGV4dC1hbGlnbi1sYXN0OiBjZW50ZXI7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbn1cblxuQG1peGluIGJ0bi1yZXNldCB7XG4gIGZvbnQtZmFtaWx5OiBpbmhlcml0O1xuICBib3JkZXI6IG5vbmU7XG4gIGJhY2tncm91bmQtY29sb3I6IGluaGVyaXQ7XG4gIGNvbG9yOiBpbmhlcml0O1xuICBwYWRkaW5nOiAwO1xuICBkaXNwbGF5OiBibG9jaztcbiAgdHJhbnNpdGlvbjogbm9uZTtcbn1cblxuQG1peGluIGJ0bi1ob3ZlciB7XG4gIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWMtc2Vjb25kYXJ5KTtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xufVxuXG5AbWl4aW4gYnRuLWFsdCB7XG4gIEBpbmNsdWRlIGJ0bjtcbiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYy1zZWNvbmRhcnkpO1xufVxuXG5AbWl4aW4gYnRuLWFsdC1ob3ZlciB7XG4gIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWMtdGVydGlhcnkpO1xuICBjb2xvcjogdmFyKC0tYy1wcmltYXJ5KTtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xufVxuXG5AbWl4aW4gYnRuLW5vLWJnIHtcbiAgQGluY2x1ZGUgYnRuO1xuICBib3JkZXI6IG5vbmU7XG4gIGNvbG9yOiB2YXIoLS1jLXNlY29uZGFyeSk7XG4gIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGJvcmRlcjogMDtcbiAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XG4gIGFwcGVhcmFuY2U6IG5vbmU7XG4gIHRyYW5zaXRpb246IDAuM3MgdmFyKC0tZWFzaW5nKTtcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbn1cblxuQG1peGluIGJ0bi1hcnJvdyB7XG4gIEBpbmNsdWRlIGJ0bjtcbiAgYm9yZGVyOiBub25lO1xuICBjb2xvcjogdmFyKC0tYy1wcmltYXJ5KTtcbiAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICBib3JkZXI6IDA7XG4gIGFwcGVhcmFuY2U6IG5vbmU7XG4gIHRyYW5zaXRpb246IDAuM3MgdmFyKC0tZWFzaW5nKTtcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgcGFkZGluZzogY2FsYyh2YXIoLS1idW1wKSAvIDQpIGNhbGModmFyKC0tYnVtcCkgKiAzLjUpO1xuXG4gICY6OmFmdGVyIHtcbiAgICBAaW5jbHVkZSBiZy1pbWcoY292ZXIpO1xuICAgIGNvbnRlbnQ6ICcnO1xuICAgIG1hcmdpbi1sZWZ0OiAxMHB4O1xuICAgIHdpZHRoOiAyNXB4O1xuICAgIGhlaWdodDogMjBweDtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoJy4uL2ltZy9hcnJvdy1yaWdodC5zdmcnKTtcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAwcHggY2VudGVyO1xuICAgIHRyYW5zaXRpb246IDAuM3MgdmFyKC0tZWFzaW5nKTtcbiAgfVxufVxuXG5AbWl4aW4gYnRuLWFycm93LWhvdmVyLXdoaXRlIHtcbiAgJjo6YWZ0ZXIge1xuICAgIEBpbmNsdWRlIGJnLWltZygyMHB4KTtcbiAgICBjb250ZW50OiAnJztcbiAgICBtYXJnaW4tbGVmdDogMTBweDtcbiAgICB3aWR0aDogMzVweDtcbiAgICBoZWlnaHQ6IDIwcHg7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKCcuLi9pbWcvYXJyb3ctaG92ZXItd2hpdGUuc3ZnJyk7XG4gICAgYmFja2dyb3VuZC1wb3NpdGlvbjogNXB4IGNlbnRlcjtcbiAgfVxufVxuXG5AbWl4aW4gcmlnaHQtZG91YmxlLWFycm93IHtcbiAgJjo6YWZ0ZXIge1xuICAgIEBpbmNsdWRlIGJnLWltZygxMHB4KTtcbiAgICBjb250ZW50OiAnJztcbiAgICBtYXJnaW4tbGVmdDogMTBweDtcbiAgICB3aWR0aDogMjBweDtcbiAgICBoZWlnaHQ6IDIwcHg7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKCcuLi9pbWcvcmlnaHQtZG91YmxlLWFycm93LnN2ZycpO1xuICAgIGJhY2tncm91bmQtcG9zaXRpb246IDVweCBjZW50ZXI7XG4gIH1cbn1cblxuQG1peGluIGxlZnQtZG91YmxlLWFycm93IHtcbiAgJjo6YmVmb3JlIHtcbiAgICBAaW5jbHVkZSBiZy1pbWcoMTBweCk7XG4gICAgY29udGVudDogJyc7XG4gICAgbWFyZ2luLXJpZ2h0OiAxMHB4O1xuICAgIHdpZHRoOiAyMHB4O1xuICAgIGhlaWdodDogMjBweDtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoJy4uL2ltZy9sZWZ0LWRvdWJsZS1hcnJvdy5zdmcnKTtcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiA1cHggY2VudGVyO1xuICB9XG59XG5cbi8qKlxuICogU3R5bGVzXG4gKiovXG5cbi5hLWJ0biB7XG4gIEBpbmNsdWRlIGJ0bjtcblxuICAmOmhvdmVyIHtcbiAgICBAaW5jbHVkZSBidG4taG92ZXI7XG4gIH1cblxuICAmLS1hbHQge1xuICAgIEBpbmNsdWRlIGJ0bi1hbHQ7XG5cbiAgICAmOmhvdmVyIHtcbiAgICAgIEBpbmNsdWRlIGJ0bi1hbHQtaG92ZXI7XG4gICAgfVxuICB9XG5cbiAgJi0tYmxhY2stYmcge1xuICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWMtcHJpbWFyeSk7XG4gIH1cblxuICAmLS1ncmV5LWJnIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jLWNoYXJjb2FsKTtcbiAgICBjb2xvcjogdmFyKC0tYy1zZWNvbmRhcnkpOyAgICBcbiAgfVxuXG4gICYtLXdoaXRlLXRleHQge1xuICAgIGNvbG9yOiB2YXIoLS1jLXNlY29uZGFyeSk7XG4gICAgJjpob3ZlciB7XG4gICAgICBjb2xvcjogdmFyKC0tYy1wcmltYXJ5KTtcbiAgICB9XG4gIH1cblxuICAmLS1ub24tY2xpY2thYmxlIHtcbiAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgfVxuXG4gICYtLWZ1bGwge1xuICAgIHdpZHRoOiAxMDAlO1xuICB9XG5cbiAgJi0tbm8tYmcge1xuICAgIEBpbmNsdWRlIGJ0bi1uby1iZztcbiAgICAmOmhvdmVyIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgIH1cbiAgfVxuXG4gICYtLW5vLWJnLXdpZGUge1xuICAgIEBpbmNsdWRlIGJ0bi1uby1iZztcbiAgICBib3JkZXI6IDJweCBzb2xpZCB2YXIoLS1jLXdoaXRlKTtcbiAgICAmOmhvdmVyIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgIH1cbiAgfVxuXG4gICYtLWFycm93IHtcbiAgICBAaW5jbHVkZSBidG4tYXJyb3c7XG4gIH1cblxuICAmLS1yaWdodC1kb3VibGUtYXJyb3cge1xuICAgIEBpbmNsdWRlIHJpZ2h0LWRvdWJsZS1hcnJvdztcbiAgfVxuXG4gICYtLWxlZnQtZG91YmxlLWFycm93IHtcbiAgICBAaW5jbHVkZSBsZWZ0LWRvdWJsZS1hcnJvdztcbiAgfVxufVxuIiwiLyoqXG4gKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gKiBVbi50aXRsZWRcbiAqIEF0b21zIC0gSW1hZ2UgY3JlZGl0c1xuICogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICovXG5cbi5hLWltYWdlLWNyZWRpdCB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiB2YXIoLS1idW1wKTtcbiAgcmlnaHQ6IHZhcigtLWJ1bXApO1xuICB6LWluZGV4OiA0O1xuICBjdXJzb3I6IGhlbHAgIWltcG9ydGFudDtcbiAgaGVpZ2h0OiAyMHB4O1xuICB3aWR0aDogMjBweDtcbiAgYm9yZGVyOiAwO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jLXRlcnRpYXJ5KTtcbiAgYm9yZGVyLXJhZGl1czogdmFyKC0tYnVtcCk7XG4gIGNvbG9yOiB2YXIoLS1jLXByaW1hcnkpO1xuICBwYWRkaW5nOiAwO1xuICBtYXJnaW46IDA7XG5cbiAgQGluY2x1ZGUgbWVkaWEoJzxzbScpIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICAgIHZpc2liaWxpdHk6IGhpZGRlbjtcbiAgfVxuXG4gIHNwYW4ge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBhbGlnbi1zZWxmOiBjZW50ZXI7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgdGV4dC10cmFuc2Zvcm06IG5vbmU7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIG1hcmdpbjogYXV0bztcbiAgICBmb250LXdlaWdodDogOTAwO1xuICB9XG5cbiAgJjpiZWZvcmUge1xuICAgIGNvbnRlbnQ6IGF0dHIoZGF0YS1jcmVkaXQpO1xuICAgIHRleHQtaW5kZW50OiAwO1xuICAgIGJhY2tncm91bmQ6IHZhcigtLWMtcHJpbWFyeSk7XG4gICAgY29sb3I6IHZhcigtLWMtd2hpdGUpO1xuICAgIG9wYWNpdHk6IDA7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHJpZ2h0OiB2YXIoLS1idW1wKTtcbiAgICB0b3A6IDA7XG4gICAgei1pbmRleDogLTE7XG4gICAgcGFkZGluZzogMCAyMXB4O1xuICAgIGxpbmUtaGVpZ2h0OiAyMnB4O1xuICAgIGZvbnQtc2l6ZTogMTZweDtcbiAgICB0cmFuc2l0aW9uOiBvcGFjaXR5IHZhcigtLXRyYW5zaXRpb24pO1xuICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICAgIGJvcmRlci1yYWRpdXM6IDNweDtcbiAgICBsZXR0ZXItc3BhY2luZzogMDtcbiAgICB3b3JkLXNwYWNpbmc6IDA7XG4gICAgd2hpdGUtc3BhY2U6IG5vcm1hbDtcbiAgICBtYXgtd2lkdGg6IDIwdnc7XG4gICAgd2lkdGg6IDEwMHZ3O1xuICAgIGhlaWdodDogYXV0bztcbiAgfVxuXG4gICY6Zm9jdXMsXG4gICY6YWN0aXZlLFxuICAmOmhvdmVyIHtcbiAgICAmOjpiZWZvcmUge1xuICAgICAgb3BhY2l0eTogMTtcbiAgICB9XG4gIH1cbn1cbiIsIi8qKlxuKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4qIFVuLnRpdGxlZFxuKiBBdG9tcyAtIEJyZWFkY3J1bWJzXG4qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiovXG5cbi8qKlxuKiBTdHlsaW5nXG4qL1xuLmEtYnJlYWRjcnVtYiB7XG4gIG1hcmdpbi1ib3R0b206IHZhcigtLWJ1bXApO1xuICBwYWRkaW5nOiBjYWxjKHZhcigtLWJ1bXApIC8gMikgMDtcblxuICBAaW5jbHVkZSBtZWRpYSgnPHhzJykge1xuICAgIG1hcmdpbi1ib3R0b206IGNhbGModmFyKC0tYnVtcCkgLyAyKTtcbiAgfVxuXG4gIG9sIHtcbiAgICBAaW5jbHVkZSBsaS1yZXNldDtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgZmxleC13cmFwOiB3cmFwO1xuXG4gICAgbGkge1xuICAgICAgbWFyZ2luLXJpZ2h0OiBjYWxjKHZhcigtLWJ1bXApIC8gNik7XG4gICAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuXG4gICAgICAmOjphZnRlciB7XG4gICAgICAgIGNvbnRlbnQ6ICcvJztcbiAgICAgICAgbWFyZ2luLWxlZnQ6IGNhbGModmFyKC0tYnVtcCkgLyAxMCk7XG4gICAgICB9XG5cbiAgICAgICY6bGFzdC1jaGlsZCB7XG4gICAgICAgICY6OmFmdGVyIHtcbiAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4iLCIvKipcclxuKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tXHJcbiogVW4udGl0bGVkXHJcbiogQXRvbXMgLSBTZWFyY2ggYnV0dG9uXHJcbiogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxyXG4qL1xyXG5cclxuLyoqXHJcbiogQ29uZmlnXHJcbiovXHJcblxyXG4vKipcclxuKiBTdHlsaW5nXHJcbiovXHJcbi5hLXNlYXJjaC1idXR0b24ge1xyXG4gICAgQGluY2x1ZGUgYnRuUmVzZXQ7XHJcbiAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XHJcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG4gICAgbWFyZ2luOiAwIDEwcHggMCBhdXRvO1xyXG4gICAgZm9udC1zaXplOiB2YXIoLS1mb250U2l6ZUxnKTtcclxuICAgIGhlaWdodDogNDRweDtcclxuICAgIHdpZHRoOiA0NHB4O1xyXG5cclxuICAgIEBpbmNsdWRlIG1lZGlhKFwiPGxnXCIpIHtcclxuICAgICAgbWFyZ2luOiAwO1xyXG4gICAgfVxyXG4gIFxyXG4gICAgQGluY2x1ZGUgbWVkaWEoJzxtZCcpIHtcclxuICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbi1yZXZlcnNlO1xyXG4gICAgICBwYWRkaW5nLXRvcDogMDtcclxuICAgICAgcGFkZGluZy1ib3R0b206IDA7XHJcbiAgICB9XHJcblxyXG4gICAgQGluY2x1ZGUgbWVkaWEoJzxzbScpIHtcclxuICAgICAgbWFyZ2luLWxlZnQ6IGF1dG87XHJcbiAgICB9XHJcbiAgXHJcbiAgICAmOmhvdmVyIHtcclxuICAgICAgY29sb3I6IHZhcigtLWMtc2Vjb25kYXJ5KTtcclxuICAgIH1cclxuICBcclxuICAgIHNwYW4ge1xyXG4gICAgICBsaW5lLWhlaWdodDogMTtcclxuICBcclxuICAgICAgQGluY2x1ZGUgbWVkaWEoJz5tZCcsICc8MTIwMHB4Jykge1xyXG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XHJcbiAgICAgICAgdmlzaWJpbGl0eTogaGlkZGVuO1xyXG4gICAgICB9XHJcbiAgXHJcbiAgICAgIEBpbmNsdWRlIG1lZGlhKCc8bWQnKSB7XHJcbiAgICAgICAgZm9udC1zaXplOiB2YXIoLS1mb250U2l6ZVNtKTtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gIFxyXG4gICAgJiA+IHN2ZyB7XHJcbiAgICAgIHdpZHRoOiAyMHB4O1xyXG4gICAgICBoZWlnaHQ6IDIwcHg7XHJcbiAgICAgIGZpbGw6IHZhcigtLWMtc2Vjb25kYXJ5KTtcclxuICAgICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICAgIHZpc2liaWxpdHk6IHZpc2libGU7XHJcblxyXG4gICAgICBAaW5jbHVkZSBtZWRpYSgnPHNtJykge1xyXG4gICAgICAgIG1hcmdpbi1sZWZ0OiAwO1xyXG4gICAgICAgIGhlaWdodDogMjZweDtcclxuICAgICAgfVxyXG4gIFxyXG4gICAgICBbZGF0YS1zZWFyY2g9J29wZW4nXSAmIHtcclxuICAgICAgICBkaXNwbGF5OiBub25lO1xyXG4gICAgICAgIHZpc2liaWxpdHk6IGhpZGRlbjtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gIFxyXG4gICAgLmEtc2VhcmNoLWJ1dHRvbl9fY2xvc2Uge1xyXG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XHJcbiAgICAgICAgdmlzaWJpbGl0eTogaGlkZGVuO1xyXG4gICAgICAgIHRyYW5zaXRpb246IGFsbCAwLjZzIHZhcigtLWVhc2luZyk7XHJcblxyXG4gICAgICAgICY6OmJlZm9yZSxcclxuICAgICAgICAmOjphZnRlciB7XHJcbiAgICAgICAgICBjb250ZW50OiAnJztcclxuICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgICAgICAgYmFja2dyb3VuZDogdmFyKC0tYy1ibGFjayk7XHJcbiAgICAgICAgICB3aWR0aDogJHdpZHRoLWxpbmU7XHJcbiAgICAgICAgICBoZWlnaHQ6ICRoZWlnaHQtbGluZTtcclxuICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgICAgICAgIHJpZ2h0OiAwO1xyXG4gICAgICAgICAgYm9yZGVyLXJhZGl1czogKCRoZWlnaHQtbGluZSAvIDIpO1xyXG4gICAgICAgICAgdHJhbnNpdGlvbjogdmFyKC0tdHJhbnNpdGlvbik7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAmOjpiZWZvcmUge1xyXG4gICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDlweCkgdHJhbnNsYXRlWCgkdHJhbnNsYXRlWClcclxuICAgICAgICAgIHJvdGF0ZSgkcm90YXRpb24pO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgJjo6YWZ0ZXIge1xyXG4gICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDlweCAqIC0xKSB0cmFuc2xhdGVYKCR0cmFuc2xhdGVYKVxyXG4gICAgICAgICAgcm90YXRlKCRyb3RhdGlvbiAqIC0xKTtcclxuICAgICAgICB9XHJcbiAgXHJcbiAgICAgICAgW2RhdGEtc2VhcmNoPSdvcGVuJ10gJiB7XHJcbiAgICAgICAgICBkaXNwbGF5OiBibG9jaztcclxuICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgICAgICAgIHZpc2liaWxpdHk6IHZpc2libGU7XHJcbiAgICAgICAgICBjb2xvcjogdmFyKC0tYy1ibGFjayk7XHJcbiAgICAgICAgICAgIFxyXG4gICAgICAgICAgJjo6YmVmb3JlLFxyXG4gICAgICAgICAgJjo6YWZ0ZXIge1xyXG4gICAgICAgICAgICBkaXNwbGF5OiBub25lO1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgICAgXHJcbiAgICAgICAgICBAaW5jbHVkZSBtZWRpYSgnPHNtJykge1xyXG4gICAgICAgICAgICBAaW5jbHVkZSBybS10ZXh0O1xyXG4gICAgICAgICAgICBcclxuICAgICAgICAgICAgJjo6YmVmb3JlLFxyXG4gICAgICAgICAgICAmOjphZnRlciB7XHJcbiAgICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgIH1cclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIHN2ZyB7XHJcbiAgICAgICAgICBkaXNwbGF5OiBibG9jaztcclxuICAgICAgICAgIGhlaWdodDogMjBweDtcclxuICAgICAgICAgIHdpZHRoOiAyMHB4O1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICB9XHJcbiAgIiwiLyoqXHJcbiAqIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cclxuICogVW4udGl0bGVkXHJcbiAqIE1vbGVjdWxlcyAtIEVtZXJnZW5jeSBNZXNzYWdlXHJcbiAqIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cclxuICovXHJcblxyXG4vKipcclxuICogQ29uZmlnXHJcbiAqKi9cclxuIEBrZXlmcmFtZXMgc2xpZGVJblVwIHtcclxuICAwJSB7XHJcbiAgICBvcGFjaXR5OiAwO1xyXG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDEwMCUpO1xyXG4gIH1cclxuICA4MCUge1xyXG4gICAgdHJhbnNmb3JtOiBzY2FsZSgxLjAyKTtcclxuICB9XHJcbiAgMTAwJSB7XHJcbiAgICBvcGFjaXR5OiAxO1xyXG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApIHNjYWxlKDEpO1xyXG4gIH1cclxufVxyXG5cclxuLyoqXHJcbiAqIFN0eWxpbmdcclxuICoqL1xyXG4ubS1lbW1zZyB7XHJcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gIHdpZHRoOiAxMDAlO1xyXG4gIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWMtdGVydGlhcnkpO1xyXG4gIHotaW5kZXg6IDEwMDtcclxuICBjb2xvcjogdmFyKC0tYy13aGl0ZSk7XHJcbiAgcGFkZGluZzogY2FsYyh2YXIoLS1idW1wKSAvIDIpIDA7XHJcbiAgZGlzcGxheTogbm9uZTtcclxuXHJcbiAgJl9faW5uZXIge1xyXG4gICAgZm9udC1mYW1pbHk6IHZhcigtLWZvbnRTZW1pQm9sZCk7XHJcbiAgfVxyXG5cclxuICAmW2RhdGEtc3RhdGU9J3Zpc2libGUnXSB7XHJcbiAgICBvcGFjaXR5OiAwO1xyXG4gICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMTAwJSk7XHJcbiAgICBhbmltYXRpb246IHNsaWRlSW5VcCAwLjJzIDAuM3MgY3ViaWMtYmV6aWVyKDAuNzcsIDAuMjksIDAuMzUsIDAuNzIpIDFcclxuICAgICAgZm9yd2FyZHM7XHJcbiAgfVxyXG5cclxuICBAaW5jbHVkZSBtZWRpYSgnPHhzJykge1xyXG4gICAgcGFkZGluZzogMDtcclxuICB9XHJcbiAgaDMge1xyXG4gICAgY29sb3I6IHZhcigtLWMtcHJpbWFyeSk7XHJcbiAgICBtYXJnaW4tYm90dG9tOiAwO1xyXG4gICAgd2lkdGg6IDg1JTtcclxuICB9XHJcblxyXG4gIHAge1xyXG4gICAgY29sb3I6IHZhcigtLWMtcHJpbWFyeSk7XHJcbiAgICB3aWR0aDogOTUlO1xyXG4gIH1cclxuXHJcbiAgYnV0dG9uIHtcclxuICAgIEBpbmNsdWRlIGJ0blJlc2V0O1xyXG4gICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgdG9wOiBjYWxjKHZhcigtLWJ1bXApIC8gMik7XHJcbiAgICByaWdodDogY2FsYyh2YXIoLS1idW1wKSAvIDIpO1xyXG4gICAgaGVpZ2h0OiAyMHB4O1xyXG4gICAgd2lkdGg6IDIwcHg7XHJcbiAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XHJcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG4gICAgdHJhbnNpdGlvbjogdmFyKC0tdHJhbnNpdGlvbik7XHJcblxyXG4gICAgcGF0aCB7XHJcbiAgICAgIGZpbGw6IHZhcigtLWMtcHJpbWFyeSk7XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcbiIsIi8qKlxyXG4gKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tXHJcbiAqIFVuLnRpdGxlZFxyXG4gKiBNb2xlY3VsZXMgLSBFbnRpdGllc1xyXG4gKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tXHJcbiAqL1xyXG5cclxuLm0tZW50aXR5IHtcclxuICBtYXJnaW46IGNhbGModmFyKC0tYnVtcCkgKiAxLjUpIDA7XHJcblxyXG4gIEBpbmNsdWRlIG1lZGlhKCc8c20nKSB7XHJcbiAgICBtYXJnaW46IHZhcigtLWJ1bXApIDA7XHJcbiAgfVxyXG5cclxuICBpbWcge1xyXG4gICAgd2lkdGg6IDEwMCU7XHJcbiAgICBoZWlnaHQ6IGF1dG87XHJcbiAgICBkaXNwbGF5OiBibG9jaztcclxuICB9XHJcblxyXG4gIHAge1xyXG4gICAgLmN0X19vbi1waG90b2dyYXBoeS1wb3N0ICYsXHJcbiAgICAuY3RfX3BhZ2UgJiB7XHJcbiAgICAgIGZvbnQtc2l6ZTogMTdweDtcclxuICAgICAgbGluZS1oZWlnaHQ6IDEuNjtcclxuICAgIH1cclxuICB9XHJcblxyXG4gICZfX2JvZHksXHJcbiAgJl9fdGV4dCxcclxuICAmX19hY2NvcmRpb24sXHJcbiAgJl9faW1hZ2UtdGV4dCB7XHJcbiAgICBwIGEge1xyXG4gICAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcclxuXHJcbiAgICAgICY6aG92ZXIge1xyXG4gICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgJl9fYm9keSxcclxuICAmX190ZXh0LFxyXG4gICZfX2FjY29yZGlvbiB7XHJcbiAgICB1bCB7XHJcbiAgICAgIG1hcmdpbi1sZWZ0OiAxNXB4O1xyXG5cclxuICAgICAgbGkge1xyXG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgICAgICBtYXJnaW4tYm90dG9tOiAxMHB4O1xyXG4gICAgICAgIGxpc3Qtc3R5bGUtcG9zaXRpb246IG91dHNpZGU7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcblxyXG4gICZfX3RleHQge1xyXG4gICAgdWwge1xyXG4gICAgICBjb2xvcjogdmFyKC0tYy1zZWNvbmRhcnkpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgJi0tc3BhY2UtYmV0d2VlbiB7XHJcbiAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xyXG4gICAgZmxleC1kaXJlY3Rpb246IHJvdztcclxuXHJcbiAgICBAaW5jbHVkZSBtZWRpYSgnPHhzJykge1xyXG4gICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgJl9fZm9ybWF0IHtcclxuICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XHJcbiAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xyXG4gICAgZ2FwOiAxMHB4O1xyXG5cclxuICAgIEBpbmNsdWRlIG1lZGlhKCc8c20nKSB7XHJcbiAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XHJcbiAgICB9XHJcblxyXG4gICAgJi1saW5rIHtcclxuICAgICAgZmxleC1ncm93OiAxO1xyXG4gICAgICBtYXJnaW46IDAgMjBweCAwIDA7XHJcbiAgICAgICY6bGFzdC1vZi10eXBlIHtcclxuICAgICAgICBtYXJnaW46IDA7XHJcbiAgICAgIH1cclxuICAgICAgQGluY2x1ZGUgbWVkaWEoJzxzbScpIHtcclxuICAgICAgICBtYXJnaW46IDA7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcblxyXG4gICZfX3Bhc3QtcHJvZ3JhbW1lLWJhciB7XHJcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XHJcbiAgICAmX19jdGEge1xyXG4gICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG4gICAgICBhbGlnbi1jb250ZW50OiBjZW50ZXI7XHJcbiAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xyXG4gICAgICBhIHt9XHJcbiAgICB9XHJcbiAgICAmX190aXRsZSB7XHJcbiAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcblxyXG4gICAgICBAaW5jbHVkZSBtZWRpYSgnPHNtJykge1xyXG4gICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xyXG4gICAgICB9XHJcbiAgICAgIGgyIHtcclxuICAgICAgICBAaW5jbHVkZSBtZWRpYSgnPHNtJykge1xyXG4gICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xyXG4gICAgICAgICAgdGV4dC1hbGlnbi1sYXN0OiBjZW50ZXI7XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICAmX19jYXB0aW9uIHtcclxuICAgIHAge1xyXG4gICAgICBib3JkZXItbGVmdDogMnB4IHNvbGlkIHZhcigtLWMtdGVydGlhcnkpO1xyXG4gICAgICBwYWRkaW5nLWxlZnQ6IDEwcHg7XHJcbiAgICAgIG1hcmdpbjogMS41ZW0gMCAwO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgJl9faW1hZ2Uge1xyXG4gICAgYTpub3QoLmxpbmtlZCkgcGljdHVyZSB7XHJcbiAgICAgIGN1cnNvcjogYXV0bztcclxuICAgIH1cclxuICB9XHJcblxyXG4gICZfX3JlbGF0ZWQge1xyXG4gICAgbWFyZ2luOiAwO1xyXG4gIH1cclxuXHJcbiAgJl9fY3VyYXRlZC1zaWducG9zdHMge1xyXG4gICAgJl9faW5uZXIge1xyXG4gICAgICBwYWRkaW5nOiA1MHB4IDA7XHJcblxyXG4gICAgICBAaW5jbHVkZSBtZWRpYShcIjxzbVwiKSB7XHJcbiAgICAgICAgcGFkZGluZzogNDBweCAwO1xyXG4gICAgICB9XHJcblxyXG4gICAgICAuZWNrLWVudGl0eSB7XHJcbiAgICAgICAgLmEtZ3JpZCB7XHJcbiAgICAgICAgICBnYXA6IDIwcHg7XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcblxyXG4gICAgICAmLS1kYXJrIHtcclxuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jLWJsYWNrKTtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgQGltcG9ydCAnLi9lbnRpdGllcy9ib2R5JztcclxuICBAaW1wb3J0ICcuL2VudGl0aWVzL2ltYWdlJztcclxuICBAaW1wb3J0ICcuL2VudGl0aWVzL3ZpZXcnO1xyXG4gIEBpbXBvcnQgJy4vZW50aXRpZXMvcXVvdGUnO1xyXG4gIEBpbXBvcnQgJy4vZW50aXRpZXMvYWNjb3JkaW9uJztcclxuICBAaW1wb3J0ICcuL2VudGl0aWVzL2dhbGxlcnknO1xyXG4gIEBpbXBvcnQgJy4vZW50aXRpZXMvaW1hZ2UtdGV4dCc7XHJcbiAgQGltcG9ydCAnLi9lbnRpdGllcy9kb3dubG9hZHMnO1xyXG4gIEBpbXBvcnQgJy4vZW50aXRpZXMvZW1iZWQnO1xyXG4gIEBpbXBvcnQgJy4vZW50aXRpZXMvc2lnbnBvc3RzJztcclxuICBAaW1wb3J0ICcuL2VudGl0aWVzL2V4dHJhcyc7XHJcbiAgQGltcG9ydCAnLi9lbnRpdGllcy9mZWF0dXJlZC1jb250ZW50JztcclxuICBAaW1wb3J0ICcuL2VudGl0aWVzL2ZlYXR1cmVkLWNvbnRlbnQtdjInO1xyXG4gIEBpbXBvcnQgJy4vZW50aXRpZXMvaW1hZ2UtYW5kLXRleHQtdGFiJztcclxuICBAaW1wb3J0ICcuL2VudGl0aWVzL2NoaWxkLXBhZ2Utc2lnbnBvc3RzJztcclxuICBAaW1wb3J0ICcuL2VudGl0aWVzL2xpbmtlZC10ZXh0JztcclxufVxyXG4iLCIvKipcbiAqIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAqIFVuLnRpdGxlZFxuICogTW9sZWN1bGVzIC0gTm9kZSBib2R5IGNvcHlcbiAqIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAqL1xuXG4mX19ib2R5IHtcbiAgbWFyZ2luLXRvcDogMDtcbiAgY29sb3I6IHZhcigtLWMtc2Vjb25kYXJ5KTtcblxuICBwIHtcbiAgICAuY3RfX3Bob3RvZ3JhcGh5LWN1bHR1cmUtbGlzdGluZyAmLFxuICAgIC5jdF9fd2hhdC1zLW9uLWxpc3RpbmcgJixcbiAgICAuY3RfX2xhbmRpbmctcGFnZSAmLFxuICAgIC5jdF9fY29sbGVjdGlvbi1wYWdlICYge1xuICAgICAgZm9udC1zaXplOiAxN3B4O1xuICAgICAgbGluZS1oZWlnaHQ6IDEuNjtcbiAgICB9XG4gIH1cbn1cbiIsIi8qKlxuICogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICogVW4udGl0bGVkXG4gKiBNb2xlY3VsZXMgLSBJbWFnZVxuICogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICovXG5cbiZfX2ltYWdlLXdyYXBwZXIge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG59XG4iLCIvKipcbiAqIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAqIFVuLnRpdGxlZFxuICogTW9sZWN1bGVzIC0gRW50aXR5IHZpZXdzXG4gKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gKi9cblxuJl9fdmlldyB7XG4gICY6Zmlyc3QtY2hpbGQge1xuICAgIG1hcmdpbi10b3A6IDA7XG4gIH1cbiAgJjpsYXN0LWNoaWxkIHtcbiAgICBtYXJnaW4tYm90dG9tOiAwO1xuICB9XG59XG4iLCIvKipcbiAqIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAqIFVuLnRpdGxlZFxuICogTW9sZWN1bGVzIC0gUXVvdGVzXG4gKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gKi9cblxuLyoqXG4gKiBDb25maWdcbiAqL1xuXG5AbWl4aW4gcmF0aW5nKCRzdGFycykge1xuICAmOm50aC1jaGlsZCgtbiArICN7JHN0YXJzfSkge1xuICAgIHBhdGgge1xuICAgICAgZmlsbDogdmFyKC0tYy1ncmV5KTtcbiAgICAgIHN0cm9rZTogdmFyKC0tYy1ncmV5KTtcbiAgICB9XG4gIH1cbn1cblxuLyoqXG4qIFN0eWxlc1xuKi9cblxuJl9fcXVvdGUge1xuICAtLXF1b3RlUGFkZGluZzogNDBweDtcbiAgQGluY2x1ZGUgbWVkaWEoJzxtZCcpIHtcbiAgICAtLXF1b3RlUGFkZGluZzogNDBweDtcbiAgfVxuXG4gIGJsb2NrcXVvdGUge1xuICAgIG1hcmdpbjogMDtcbiAgICBwYWRkaW5nOiAwIGNhbGModmFyKC0tcXVvdGVQYWRkaW5nKSAqIDIpIDA7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gICAgJjo6YmVmb3JlIHtcbiAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgQGluY2x1ZGUgYmctaW1nKGNvbnRhaW4pO1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgei1pbmRleDogMDtcbiAgICAgIGhlaWdodDogY2FsYyh2YXIoLS1xdW90ZVBhZGRpbmcpICsgMjBweCk7XG4gICAgICB3aWR0aDogY2FsYyh2YXIoLS1xdW90ZVBhZGRpbmcpICsgMjBweCk7XG4gICAgfVxuXG4gICAgJjo6YmVmb3JlIHtcbiAgICAgIHRvcDogMDtcbiAgICAgIGxlZnQ6IDA7XG4gICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoJy4uL2ltZy9xdW90YXRpb24uc3ZnJyk7XG4gICAgfVxuXG4gICAgcCB7XG4gICAgICBjb2xvcjogdmFyKC0tYy1zZWNvbmRhcnkpO1xuICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICAgIC8vIGZvbnQtd2VpZ2h0OiBib2xkO1xuICAgICAgZm9udC1zaXplOiAxLjVyZW07XG4gICAgfVxuICB9XG5cbiAgJi1pbmZvIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0O1xuICAgIGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0O1xuICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICBtYXJnaW4tdG9wOiAxMHB4O1xuICB9XG5cbiAgY2l0ZSB7XG4gICAgZm9udC1mYW1pbHk6IHZhcigtLWZvbnRCb2R5KTtcbiAgICBmb250LXN0eWxlOiBub3JtYWw7XG4gICAgY29sb3I6IHZhcigtLWMtc2Vjb25kYXJ5KTtcbiAgICBtYXJnaW4tdG9wOiAxMHB4O1xuICB9XG5cbiAgLnJhdGluZyB7XG4gICAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gICAgbWFyZ2luLXJpZ2h0OiBjYWxjKHZhcigtLWJ1bXApIC8gMik7XG5cbiAgICAmX19zdGFyIHtcbiAgICAgIHdpZHRoOiAyNHB4O1xuICAgICAgaGVpZ2h0OiAyNHB4O1xuICAgICAgbWFyZ2luLXJpZ2h0OiA1cHg7XG4gICAgICBzdHJva2U6IHZhcigtLWMtZ3JleSk7XG5cbiAgICAgICY6bGFzdC1jaGlsZCB7XG4gICAgICAgIG1hcmdpbi1yaWdodDogMDtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBAZm9yICRzdGFycyBmcm9tIDEgdGhyb3VnaCA1IHtcbiAgICAgICYtLSN7JHN0YXJzfSB7XG4gICAgICAgIC5yYXRpbmdfX3N0YXIge1xuICAgICAgICAgIEBpbmNsdWRlIHJhdGluZygjeyRzdGFyc30pO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgJi0tYmlnIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jLWJsdWVEYXJrKTtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGNvbG9yOiB2YXIoLS1jLXdoaXRlKTtcblxuICAgIEBpbmNsdWRlIG1lZGlhKCc8bWQnKSB7XG4gICAgICBtYXJnaW4tYm90dG9tOiA3LjV2aDtcbiAgICB9XG5cbiAgICBpbWcge1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgdG9wOiAwO1xuICAgICAgbGVmdDogMDtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICBvYmplY3QtZml0OiBjb3ZlcjtcbiAgICAgIHotaW5kZXg6IDA7XG4gICAgICBvcGFjaXR5OiAwLjI7XG4gICAgfVxuXG4gICAgYmxvY2txdW90ZSB7XG4gICAgICBtYXJnaW46IDEwdmggMDtcblxuICAgICAgQGluY2x1ZGUgbWVkaWEoJzxsZycpIHtcbiAgICAgICAgbWFyZ2luOiA1dmggMDtcbiAgICAgIH1cblxuICAgICAgQGluY2x1ZGUgbWVkaWEoJzxtZCcpIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMTB2aDtcbiAgICAgIH1cblxuICAgICAgJjo6YmVmb3JlLFxuICAgICAgJjo6YWZ0ZXIge1xuICAgICAgICBoZWlnaHQ6IGNhbGModmFyKC0tcXVvdGVQYWRkaW5nKSAqIDMpO1xuICAgICAgICB3aWR0aDogY2FsYyh2YXIoLS1xdW90ZVBhZGRpbmcpICogMyk7XG5cbiAgICAgICAgQGluY2x1ZGUgbWVkaWEoJzxtZCcpIHtcbiAgICAgICAgICBoZWlnaHQ6IGNhbGModmFyKC0tcXVvdGVQYWRkaW5nKSAqIDIpO1xuICAgICAgICAgIHdpZHRoOiBjYWxjKHZhcigtLXF1b3RlUGFkZGluZykgKiAyKTtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICAmOjpiZWZvcmUge1xuICAgICAgICBsZWZ0OiBjYWxjKHZhcigtLXF1b3RlUGFkZGluZykgKiAtMSk7XG4gICAgICAgIHRvcDogY2FsYyh2YXIoLS1xdW90ZVBhZGRpbmcpICogLTEpO1xuXG4gICAgICAgIEBpbmNsdWRlIG1lZGlhKCc8bWQnKSB7XG4gICAgICAgICAgbGVmdDogMDtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICAmOjphZnRlciB7XG4gICAgICAgIGJvdHRvbTogMDtcbiAgICAgICAgcmlnaHQ6IDA7XG5cbiAgICAgICAgQGluY2x1ZGUgbWVkaWEoJzxzbScpIHtcbiAgICAgICAgICByaWdodDogMDtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICBwIHtcbiAgICAgICAgZm9udC1zaXplOiBjbGFtcCgxLjVyZW0sIDV2dywgMnJlbSk7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgei1pbmRleDogMjtcbiAgICAgIH1cblxuICAgICAgY2l0ZSB7XG4gICAgICAgIGZvbnQtc2l6ZTogMS4yNXJlbTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAuYS13b3JkIHtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHJpZ2h0OiAwO1xuICAgICAgdG9wOiAtM3JlbTtcbiAgICAgIHdpZHRoOiAxMHZ3O1xuICAgICAgaGVpZ2h0OiBjYWxjKDEwMCUgKyA2cmVtKTtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kO1xuXG4gICAgICBAaW5jbHVkZSBtZWRpYSgnPG1kJykge1xuICAgICAgICB0b3A6IGF1dG87XG4gICAgICAgIGJvdHRvbTogLTcuNXZoO1xuICAgICAgICBsZWZ0OiAwO1xuICAgICAgICByaWdodDogYXV0bztcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIGhlaWdodDogMTV2aDtcbiAgICAgIH1cblxuICAgICAgc3ZnIHtcbiAgICAgICAgbWl4LWJsZW5kLW1vZGU6IG5vcm1hbDtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgICAgb2JqZWN0LWZpdDogY29udGFpbjtcblxuICAgICAgICAmOmZpcnN0LW9mLXR5cGUge1xuICAgICAgICAgIEBpbmNsdWRlIG1lZGlhKCc8bWQnKSB7XG4gICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICAgICAgdmlzaWJpbGl0eTogaGlkZGVuO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgICY6bGFzdC1vZi10eXBlIHtcbiAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICAgIHZpc2liaWxpdHk6IGhpZGRlbjtcblxuICAgICAgICAgIEBpbmNsdWRlIG1lZGlhKCc8bWQnKSB7XG4gICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgIHZpc2liaWxpdHk6IHZpc2libGU7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4iLCIvKipcbiAqIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAqIFVuLnRpdGxlZFxuICogTW9sZWN1bGVzIC0gQWNjb3JkaW9uc1xuICogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICovXG5cbiZfX2FjY29yZGlvbiB7XG4gIC8vIC5hY2NvcmRpb24ge1xuICAvLyB9XG4gIC5hY2NvcmRpb25fX2hlYWRlciB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBib3JkZXI6IDA7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgdGV4dC1hbGlnbi1sYXN0OiBsZWZ0O1xuICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIHBhZGRpbmc6IGNhbGModmFyKC0tYnVtcCkgLyAyKTtcbiAgICBjb2xvcjogI2ZmZjtcblxuICAgICY6OmFmdGVyIHtcbiAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgQGluY2x1ZGUgYmctaW1nKGNvdmVyKTtcbiAgICAgIGhlaWdodDogY2FsYyh2YXIoLS1idW1wKSAvIDIpO1xuICAgICAgd2lkdGg6IGNhbGModmFyKC0tYnVtcCkgLyAyKTtcbiAgICB9XG5cbiAgICAmOmZvY3VzLFxuICAgICZbYXJpYS1leHBhbmRlZD0ndHJ1ZSddIHtcbiAgICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xuICAgICAgb3V0bGluZTogbm9uZTtcbiAgICB9XG4gIH1cblxuICAuYWNjb3JkaW9uX190aXRsZSB7XG4gICAgbWFyZ2luOiBjYWxjKHZhcigtLWJ1bXApIC8gMikgMCAwO1xuICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMjE1LCAyMTUsIDIxNSwgMC4yKTtcbiAgICAmOmZpcnN0LW9mLXR5cGUge1xuICAgICAgbWFyZ2luLXRvcDogMDtcbiAgICB9XG4gIH1cblxuICAuanMtYWNjb3JkaW9uX19wYW5lbCB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxuXG4gIC5hY2NvcmRpb25fX3BhbmVsIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMjE1LCAyMTUsIDIxNSwgMC4yKTtcbiAgICBvcGFjaXR5OiAxO1xuICAgIHRyYW5zaXRpb246IHZpc2liaWxpdHkgMHMgZWFzZSwgbWF4LWhlaWdodCAwLjJzIGVhc2UsIG9wYWNpdHkgMC4ycyBlYXNlO1xuICAgIG1heC1oZWlnaHQ6IDEwMGVtO1xuICAgIHZpc2liaWxpdHk6IHZpc2libGU7XG4gICAgdHJhbnNpdGlvbi1kZWxheTogMHM7XG4gICAgcGFkZGluZzogMCBjYWxjKHZhcigtLWJ1bXApIC8gMikgMDtcblxuICAgICZbYXJpYS1oaWRkZW49J3RydWUnXSB7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIG1heC1oZWlnaHQ6IDA7XG4gICAgICBvcGFjaXR5OiAwO1xuICAgICAgdmlzaWJpbGl0eTogaGlkZGVuO1xuICAgICAgdHJhbnNpdGlvbi1kZWxheTogMC4ycywgMHMsIDBzO1xuICAgIH1cblxuICAgIHAge1xuICAgICAgY29sb3I6ICNmZmY7XG4gICAgICAmOmxhc3QtY2hpbGQge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiBjYWxjKHZhcigtLWJ1bXApIC8gMik7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLyogdGl0bGUgb3BlbmVkICovXG4gIFthcmlhLWV4cGFuZGVkPSd0cnVlJ106YWZ0ZXIge1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImRhdGE6aW1hZ2Uvc3ZnK3htbCwlM0NzdmcgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJyB2aWV3Qm94PScwIDAgMjAgMjAnJTNFJTNDbGluZSB4MT0nMCcgeTE9JzEwJyB4Mj0nMjAnIHkyPScxMCcgc3Ryb2tlPSclMjNmZmZmZmYnJTNFJTNDL2xpbmUlM0UlM0Mvc3ZnJTNFXCIpO1xuICB9XG4gIC8qIHRpdGxlIGNsb3NlZCAqL1xuICBbYXJpYS1leHBhbmRlZD0nZmFsc2UnXTphZnRlciB7XG4gICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiZGF0YTppbWFnZS9zdmcreG1sLCUzQ3N2ZyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIHZpZXdCb3g9JzAgMCAyMCAyMCclM0UlM0NsaW5lIHgxPScwJyB5MT0nMTAnIHgyPScyMCcgeTI9JzEwJyBzdHJva2U9JyUyM2ZmZmZmZiclM0UlM0MvbGluZSUzRSUzQ2xpbmUgeDE9JzEwJyB5MT0nMCcgeDI9JzEwJyB5Mj0nMjAnIHN0cm9rZT0nJTIzZmZmZmZmJyUzRSUzQy9saW5lJTNFJTNDL3N2ZyUzRVwiKTtcbiAgfVxuXG4gIC8vIC8qIHRpdGxlIHNlbGVjdGVkICovXG4gIC8vIFthcmlhLXNlbGVjdGVkPVwidHJ1ZVwiXTphZnRlciB7XG4gIC8vICAgY29udGVudDogXCIgKHNlbClcIjtcbiAgLy8gfVxuICAvLyAvKiB0aXRsZSBub24gc2VsZWN0ZWQgKi9cbiAgLy8gW2FyaWEtc2VsZWN0ZWQ9XCJmYWxzZVwiXTphZnRlciB7XG4gIC8vICAgY29udGVudDogXCIgKHVuc2VsYylcIjtcbiAgLy8gfVxufVxuIiwiLyoqXG4gKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gKiBVbi50aXRsZWRcbiAqIE1vbGVjdWxlcyAtIEdhbGxlcnlcbiAqIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAqL1xuXG4mX19nYWxsZXJ5IHtcbiAgYSB7XG4gICAgJjpob3ZlciB7XG4gICAgICBvcGFjaXR5OiAwLjc7XG4gICAgfVxuICB9XG59XG4iLCIvKipcbiAqIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAqIFVuLnRpdGxlZFxuICogTW9sZWN1bGVzIC0gSW1hZ2UgJiBUZXh0XG4gKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gKi9cblxuJl9faW1hZ2UtdGV4dCB7XG4gICZfX2lubmVyIHtcbiAgICBkaXNwbGF5OiBncmlkO1xuICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogNDAlIDFmcjtcbiAgICBnYXA6IGNhbGModmFyKC0tYnVtcCkgLyAxLjUpO1xuICAgIGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0O1xuXG4gICAgQGluY2x1ZGUgbWVkaWEoJzxtZCcpIHtcbiAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogMWZyO1xuICAgICAgZ2FwOiBjYWxjKHZhcigtLWJ1bXApIC8gMik7XG4gICAgfVxuICB9XG4gICYtY29udGVudCB7XG4gICAgcCB7XG4gICAgICBtYXJnaW46IDAgMCAxLjVlbTtcbiAgICB9XG4gIH1cbn1cbiIsIi8qKlxuKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4qIFVuLnRpdGxlZFxuKiBNb2xlY3VsZXMgLSBEb3dubG9hZHNcbiogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuKi9cblxuLyoqXG4qIENvbmZpZ1xuKi9cblxuLyoqXG4qIFN0eWxpbmdcbiovXG4mX19kb3dubG9hZHMge1xuICAuZmlsZSB7XG4gICAgcGFkZGluZy1sZWZ0OiAwO1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IG5vbmU7XG4gICAgZm9udC1mYW1pbHk6IHZhcigtLWZvbnRUaXRsZSk7XG4gICAgYSB7XG4gICAgICBAaW5jbHVkZSBidG4tbm8tYmc7XG4gICAgICBwYWRkaW5nOiAwO1xuICAgICAgY29sb3I6IHZhcigtLWMtc2Vjb25kYXJ5KTtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICAgICAgJjphZnRlciB7XG4gICAgICAgIEBpbmNsdWRlIGJnLWltZygxNnB4KTtcbiAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKC4uL2ltZy9kb3dubG9hZC5zdmcpO1xuICAgICAgICBjb250ZW50OiAnJztcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICB3aWR0aDogMTZweDtcbiAgICAgICAgaGVpZ2h0OiAxNnB4O1xuICAgICAgICByaWdodDogLTEwJTtcbiAgICAgICAgdG9wOiAycHg7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKDEwMCUsIDAlKTtcbiAgICAgIH1cblxuICAgICAgJjpob3ZlciB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4iLCIvKipcbiAqIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAqIFVuLnRpdGxlZFxuICogTW9sZWN1bGVzIC0gRW1iZWRcbiAqIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAqL1xuXG4mX19lbWJlZCB7XG4gIGlmcmFtZSB7XG4gICAgd2lkdGg6IDEwMCU7XG4gIH1cbn1cbiIsIiZfX3NpZ25wb3N0cyB7XG4gICZfX2lubmVyIHtcbiAgICBkaXNwbGF5OiBncmlkO1xuICAgIGdhcDogY2FsYyh2YXIoLS1idW1wKSAvIDIpO1xuICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KDIsIDFmcik7XG5cbiAgICBAaW5jbHVkZSBtZWRpYSgnPG1kJykge1xuICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiAxZnI7XG4gICAgICBnYXA6IGNhbGModmFyKC0tYnVtcCkgKiAyKTtcbiAgICB9XG4gIH1cbn1cbiIsIiZfX3JlbGF0ZWQge1xuICAmX19pbm5lciB7XG4gICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoNCwgMWZyKTtcblxuICAgIEBpbmNsdWRlIG1lZGlhKCc8bWQnKSB7XG4gICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdCgyLCAxZnIpO1xuICAgIH1cblxuICAgIEBpbmNsdWRlIG1lZGlhKCc8c20nKSB7XG4gICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdCgxLCAxZnIpO1xuICAgIH1cbiAgfVxufVxuXG4mX19wcmV2LW5leHQge1xuICAmX19pbm5lciB7XG4gICAgZGlzcGxheTogZ3JpZDtcbiAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdCgzLCAxZnIpO1xuICAgIEBpbmNsdWRlIG1lZGlhKCc8c20nKSB7XG4gICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdCgxLCAxZnIpO1xuICAgIH1cbiAgfVxuICAmX19wcmV2IHtcbiAgICAuby10ZWFzZXItdGVhc2VyX19idXR0b25zIHtcbiAgICAgIC5vLXRlYXNlcl9fYnV0dG9uIHtcbiAgICAgICAgQGluY2x1ZGUgbGVmdC1kb3VibGUtYXJyb3c7XG4gICAgICB9XG4gICAgfVxuICB9XG4gICZfX3ZpZXctYWxsIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIEBpbmNsdWRlIG1lZGlhKCc8c20nKSB7XG4gICAgICBvcmRlcjogMztcbiAgICB9XG4gICAgYSB7XG4gICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgfVxuICAgICZfX2NvbnRhaW5lciB7XG4gICAgICBtYXJnaW46IGF1dG87XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgfVxuICB9XG4gICZfX25leHQge1xuICAgIC5vLXRlYXNlci10ZWFzZXJfX2J1dHRvbnMge1xuICAgICAgLm8tdGVhc2VyX19idXR0b24ge1xuICAgICAgICBAaW5jbHVkZSByaWdodC1kb3VibGUtYXJyb3c7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbiZfX3NxdWFyZS1kb3RzIHtcbiAgJl9fd3JhcHBlciB7XG4gICAgZGlzcGxheTogZ3JpZDtcbiAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdCgzLCAxZnIpO1xuICAgIGdyaWQtdGVtcGxhdGUtcm93czogcmVwZWF0KDMsIDFmcik7XG4gICAgZ3JpZC1jb2x1bW4tZ2FwOiBjYWxjKHZhcigtLWJ1bXApIC8gNik7XG4gICAgZ3JpZC1yb3ctZ2FwOiBjYWxjKHZhcigtLWJ1bXApIC8gNik7XG4gICAgaGVpZ2h0OiB2YXIoLS1idW1wKTtcbiAgICB3aWR0aDogdmFyKC0tYnVtcCk7XG4gICAgbWFyZ2luOiBjYWxjKHZhcigtLWJ1bXApICogNSkgMCAyMHB4O1xuICAgIEBpbmNsdWRlIG1lZGlhKCc8c20nKSB7XG4gICAgICBtYXJnaW46IDAgMCAyMHB4O1xuICAgIH1cbiAgfVxuXG4gICZfX2RvdCB7XG4gICAgd2lkdGg6IGNhbGModmFyKC0tYnVtcCkgLyA2KTtcbiAgICBoZWlnaHQ6IGNhbGModmFyKC0tYnVtcCkgLyA2KTtcbiAgICBiYWNrZ3JvdW5kOiB2YXIoLS1jLXNlY29uZGFyeSk7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgfVxufVxuXG4mX19jdXJhdGVkLXRoZW1lcyB7XG4gICZfX2hlYWRpbmcge1xuICAgIG1hcmdpbjogMDtcbiAgfVxuICAmX19pbm5lciB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LXdyYXA6IHdyYXA7XG4gICAgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7XG4gICAgbWFyZ2luLWxlZnQ6IC0yMHB4O1xuXG4gICAgLm8tdGVhc2VyLW1pbmktdGVhc2VyIHtcbiAgICAgIHBhZGRpbmctbGVmdDogMjBweDtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgbWF4LXdpZHRoOiBjYWxjKDEwMCUgLyA2KTtcbiAgICAgIGgzIHtcbiAgICAgICAgQGluY2x1ZGUgZm9udC10aXRsZTtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDEuMjtcbiAgICAgICAgZm9udC1zaXplOiB2YXIoLS1mb250U2l6ZSk7XG4gICAgICAgIG1hcmdpbjogMDtcbiAgICAgIH1cbiAgICAgICZfX2xpbmsge1xuICAgICAgICBAaW5jbHVkZSBidG4tbm8tYmc7XG4gICAgICAgIHdoaXRlLXNwYWNlOiBub3JtYWw7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgfVxuICAgICAgQGluY2x1ZGUgbWVkaWEoJzxzbScpIHtcbiAgICAgICAgbWF4LXdpZHRoOiBjYWxjKDEwMCUgLyAyKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiIsIiZfX2ZlYXR1cmVkLWNvbnRlbnQge1xuICAgICZfX2N0YSB7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7XG4gICAgICAgIEBpbmNsdWRlIG1lZGlhKCc8c20nKSB7XG4gICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7XG4gICAgICAgIH1cbiAgICB9XG59IiwiJl9fZmVhdHVyZWQtY29udGVudC12MiB7XHJcblxyXG4gICAgJl9fY3RhIHtcclxuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kO1xyXG4gICAgICAgIGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0O1xyXG5cclxuICAgICAgICBAaW5jbHVkZSBtZWRpYSgnPHNtJykge1xyXG4gICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgICZfX2dyaWQge1xyXG4gICAgICAgIGdhcDogMjBweDtcclxuICAgIH1cclxuXHJcbiAgICAmX19pbnRybyB7XHJcbiAgICAgICAgaDIuaDIge1xyXG4gICAgICAgICAgICBtYXJnaW46IDAgMCAxNXB4O1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgcCB7XHJcbiAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAyNHB4O1xyXG4gICAgICAgIH1cclxuICAgIH1cclxufSIsIiZfX2ltYWdlLWFuZC10ZXh0LXRhYiB7XHJcbiAgICAmX193cmFwcGVyIHtcclxuICAgICAgICAmLS1ibGFjayB7XHJcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWMtYmxhY2spO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgICZfX2lubmVyIHtcclxuICAgICAgICBkaXNwbGF5OiBncmlkO1xyXG4gICAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogMzcuMjUlIDFmcjtcclxuICAgICAgICBnYXA6IDIwcHg7XHJcbiAgICAgICAgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7XHJcblxyXG4gICAgICAgIEBpbmNsdWRlIG1lZGlhKCc8bWQnKSB7XHJcbiAgICAgICAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogMWZyO1xyXG4gICAgICAgICAgICBnYXA6IGNhbGModmFyKC0tYnVtcCkgLyAyKTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAmLWNvbnRlbnQge1xyXG4gICAgICAgIHAge1xyXG4gICAgICAgICAgICBtYXJnaW46IDAgMCAxLjVlbTtcclxuICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDIycHg7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAmX190aXRsZSB7XHJcbiAgICAgICAgICAgIG1hcmdpbjogMCAwIDVweDtcclxuICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDI0cHg7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59IiwiJl9fY2hpbGQtcGFnZS1zaWducG9zdHMge1xyXG4gICAgJl9fZ3JpZCB7XHJcbiAgICAgICAgZ2FwOiAyMHB4O1xyXG4gICAgfVxyXG59IiwiJl9fbGlua2VkLXRleHQge1xyXG5cclxuICAgICZfX2lubmVyIHtcclxuICAgICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbiAgICAgICAgZmxleC1kaXJlY3Rpb246IHJvdztcclxuICAgICAgICBnYXA6IHZhcigtLXNtYWxsQnVtcCk7XHJcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYy10ZXJ0aWFyeSk7XHJcbiAgICAgICAgcGFkZGluZzogdmFyKC0tYnVtcCkgdmFyKC0tc21hbGxCdW1wKTtcclxuXHJcbiAgICAgICAgQGluY2x1ZGUgbWVkaWEoXCI8c21cIikge1xyXG4gICAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xyXG4gICAgICAgICAgICBhbGlnbi1pdGVtczogZmxleC1zdGFydDtcclxuICAgICAgICAgICAgZ2FwOiA1cHg7XHJcbiAgICAgICAgICAgIHBhZGRpbmc6IGNhbGModmFyKC0tYnVtcCkgLyAyKSB2YXIoLS1zbWFsbEJ1bXApO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAmX190aXRsZSB7XHJcbiAgICAgICAgbWFyZ2luOiAwO1xyXG4gICAgICAgIGNvbG9yOiB2YXIoLS1jLWJsYWNrKTtcclxuICAgIH1cclxuXHJcbiAgICBwIHtcclxuICAgICAgICBjb2xvcjogdmFyKC0tYy1ibGFjayk7XHJcbiAgICAgICAgbGluZS1oZWlnaHQ6IDE3cHg7XHJcblxyXG4gICAgICAgIEBpbmNsdWRlIG1lZGlhKFwiPHNtXCIpIHtcclxuICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDI0cHg7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAmID4gYSB7XHJcbiAgICAgICAgICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xyXG5cclxuICAgICAgICAgICAgJjpob3ZlciB7XHJcbiAgICAgICAgICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgJl9fbGlua3Mge1xyXG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDtcclxuICAgICAgICBmbGV4LWdyb3c6IDE7XHJcblxyXG4gICAgICAgICYgPiBhIHsgICAgXHJcbiAgICAgICAgICAgIGNvbG9yOiB2YXIoLS1jLWJsYWNrKTtcclxuICAgICAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XHJcbiAgICAgICAgICAgIFxyXG4gICAgICAgICAgICBAaW5jbHVkZSBtZWRpYShcIjxzbVwiKSB7XHJcbiAgICAgICAgICAgICAgICBwYWRkaW5nOiAwIGNhbGModmFyKC0tYnVtcCkgLyAyKSAwIDA7XHJcbiAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgICY6aG92ZXIge1xyXG4gICAgICAgICAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59IiwiLyoqXG4gKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gKiBVbi50aXRsZWRcbiAqIE1vbGVjdWxlcyAtIEZvcm1zXG4gKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gKi9cblxuaW5wdXQsXG5pbnB1dFt0eXBlPSd0ZXh0J10sXG5pbnB1dFt0eXBlPSdwYXNzd29yZCddLFxuaW5wdXRbdHlwZT0nZW1haWwnXSxcbmlucHV0W3R5cGU9J3N1Ym1pdCddLFxudGV4dGFyZWEsXG5zZWxlY3Qge1xuICBmb250LWZhbWlseTogdmFyKC0tZm9udEJvZHkpO1xuICBjb2xvcjogdmFyKC0tYy1wcmltYXJ5KTtcbiAgcmVzaXplOiBub25lO1xuICBwYWRkaW5nOiBjYWxjKHZhcigtLWJ1bXApIC8gMykgdmFyKC0tYnVtcCk7XG4gIC13ZWJraXQtYm9yZGVyLXJhZGl1czogMHB4O1xuICBib3JkZXItcmFkaXVzOiAwO1xuICBvdXRsaW5lOiAwO1xuICBib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1jLXByaW1hcnkpO1xuICB0cmFuc2l0aW9uOiBhbGwgdmFyKC0tdHJhbnNpdGlvbik7XG4gIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWMtd2hpdGUpO1xuICB3aWR0aDogMTAwJTtcblxuICAmOmZvY3VzIHtcbiAgICBib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1jLXNlY29uZGFyeSk7XG4gIH1cbn1cblxuaW5wdXRbdHlwZT0nc2VhcmNoJ10sXG5pbnB1dFt0eXBlPSd0ZXh0J10sXG5pbnB1dFt0eXBlPSdzdWJtaXQnXSB7XG4gIC13ZWJraXQtYXBwZWFyYW5jZTogbm9uZTtcbn1cblxuLmZvcm0tYWN0aW9ucyBpbnB1dCxcbmlucHV0W3R5cGU9J3N1Ym1pdCddIHtcbiAgY3Vyc29yOiBwb2ludGVyO1xufVxuXG5idXR0b24ge1xuICBhcHBlYXJhbmNlOiBub25lO1xufVxuXG4uanMtZm9ybS1pdGVtIHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0O1xuICBhbGlnbi1pdGVtczogZmxleC1zdGFydDtcbiAgbWFyZ2luLWJvdHRvbTogY2FsYyh2YXIoLS1idW1wKSAvIDIpO1xufVxuXG4vLyBDaGVja2JveGVzXG5bdHlwZT0nY2hlY2tib3gnXTpjaGVja2VkLFxuW3R5cGU9J2NoZWNrYm94J106bm90KDpjaGVja2VkKSB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgbGVmdDogLTk5OTlweDtcbn1cblt0eXBlPSdjaGVja2JveCddOmNoZWNrZWQgKyBsYWJlbCxcblt0eXBlPSdjaGVja2JveCddOm5vdCg6Y2hlY2tlZCkgKyBsYWJlbCB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgcGFkZGluZy1sZWZ0OiA0MnB4O1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIGxpbmUtaGVpZ2h0OiAzNHB4O1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG59XG5bdHlwZT0nY2hlY2tib3gnXTpjaGVja2VkICsgbGFiZWw6YmVmb3JlLFxuW3R5cGU9J2NoZWNrYm94J106bm90KDpjaGVja2VkKSArIGxhYmVsOmJlZm9yZSB7XG4gIGNvbnRlbnQ6ICcnO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGxlZnQ6IDA7XG4gIHRvcDogMDtcbiAgd2lkdGg6IDM0cHg7XG4gIGhlaWdodDogMzRweDtcbiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYy13aGl0ZSk7XG4gIGJvcmRlcjogMnB4IHNvbGlkIHZhcigtLWMtcHJpbWFyeSk7XG59XG5bdHlwZT0nY2hlY2tib3gnXTpjaGVja2VkICsgbGFiZWw6YWZ0ZXIsXG5bdHlwZT0nY2hlY2tib3gnXTpub3QoOmNoZWNrZWQpICsgbGFiZWw6YWZ0ZXIge1xuICBjb250ZW50OiAnJztcbiAgd2lkdGg6IDI2cHg7XG4gIGhlaWdodDogMjZweDtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDRweDtcbiAgbGVmdDogNHB4O1xuICB0cmFuc2l0aW9uOiBhbGwgdmFyKC0tdHJhbnNpdGlvbik7XG59XG5bdHlwZT0nY2hlY2tib3gnXTpub3QoOmNoZWNrZWQpICsgbGFiZWw6YWZ0ZXIge1xuICBvcGFjaXR5OiAwO1xuICB0cmFuc2Zvcm06IHNjYWxlKDApO1xufVxuW3R5cGU9J2NoZWNrYm94J106Y2hlY2tlZCArIGxhYmVsOmFmdGVyIHtcbiAgb3BhY2l0eTogMTtcbiAgdHJhbnNmb3JtOiBzY2FsZSgxKTtcbn1cblxuLy8gUmFkaW9zXG5bdHlwZT0ncmFkaW8nXTpjaGVja2VkLFxuW3R5cGU9J3JhZGlvJ106bm90KDpjaGVja2VkKSxcblt0eXBlPSdjaGVja2JveCddOmNoZWNrZWQsXG5bdHlwZT0nY2hlY2tib3gnXTpub3QoOmNoZWNrZWQpIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBsZWZ0OiAtOTk5OXB4O1xufVxuW3R5cGU9J3JhZGlvJ106Y2hlY2tlZCArIGxhYmVsLFxuW3R5cGU9J3JhZGlvJ106bm90KDpjaGVja2VkKSArIGxhYmVsLFxuW3R5cGU9J2NoZWNrYm94J106Y2hlY2tlZCArIGxhYmVsLFxuW3R5cGU9J2NoZWNrYm94J106bm90KDpjaGVja2VkKSArIGxhYmVsIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBwYWRkaW5nLWxlZnQ6IDQycHg7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgbGluZS1oZWlnaHQ6IDM0cHg7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgY29sb3I6IHZhcigtLWMtcHJpbWFyeSk7XG59XG5bdHlwZT0ncmFkaW8nXTpjaGVja2VkICsgbGFiZWw6YmVmb3JlLFxuW3R5cGU9J3JhZGlvJ106bm90KDpjaGVja2VkKSArIGxhYmVsOmJlZm9yZSxcblt0eXBlPSdjaGVja2JveCddOmNoZWNrZWQgKyBsYWJlbDpiZWZvcmUsXG5bdHlwZT0nY2hlY2tib3gnXTpub3QoOmNoZWNrZWQpICsgbGFiZWw6YmVmb3JlIHtcbiAgY29udGVudDogJyc7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgbGVmdDogMDtcbiAgdG9wOiAwO1xuICB3aWR0aDogMzRweDtcbiAgaGVpZ2h0OiAzNHB4O1xuICBib3JkZXI6IDJweCBzb2xpZCB2YXIoLS1jLXByaW1hcnkpO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jLXdoaXRlKTtcbn1cblt0eXBlPSdyYWRpbyddOmNoZWNrZWQgKyBsYWJlbDphZnRlcixcblt0eXBlPSdyYWRpbyddOm5vdCg6Y2hlY2tlZCkgKyBsYWJlbDphZnRlcixcblt0eXBlPSdjaGVja2JveCddOmNoZWNrZWQgKyBsYWJlbDphZnRlcixcblt0eXBlPSdjaGVja2JveCddOm5vdCg6Y2hlY2tlZCkgKyBsYWJlbDphZnRlcntcbiAgY29udGVudDogJyc7XG4gIHdpZHRoOiAyNnB4O1xuICBoZWlnaHQ6IDI2cHg7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAwO1xuICBsZWZ0OiAwO1xuICB0cmFuc2l0aW9uOiBhbGwgdmFyKC0tdHJhbnNpdGlvbik7XG59XG5bdHlwZT0ncmFkaW8nXTpub3QoOmNoZWNrZWQpICsgbGFiZWw6YWZ0ZXIsXG5bdHlwZT0nY2hlY2tib3gnXTpub3QoOmNoZWNrZWQpICsgbGFiZWw6YWZ0ZXJ7XG4gIG9wYWNpdHk6IDA7XG4gIHRyYW5zZm9ybTogc2NhbGUoMCk7XG59XG5bdHlwZT0ncmFkaW8nXTpjaGVja2VkICsgbGFiZWw6YWZ0ZXIsXG5bdHlwZT0nY2hlY2tib3gnXTpjaGVja2VkICsgbGFiZWw6YWZ0ZXIge1xuICBvcGFjaXR5OiAxO1xuICB0cmFuc2Zvcm06IHNjYWxlKDEpO1xufVxuXG5bdHlwZT0ncmFkaW8nXTpjaGVja2VkICsgbGFiZWw6YmVmb3JlLFxuW3R5cGU9J2NoZWNrYm94J106Y2hlY2tlZCArIGxhYmVsOmJlZm9yZXtcbiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYy10ZXJ0aWFyeSk7XG59XG5cblt0eXBlPSdyYWRpbyddOmNoZWNrZWQgKyBsYWJlbDphZnRlcixcblt0eXBlPSdyYWRpbyddOm5vdCg6Y2hlY2tlZCkgKyBsYWJlbDphZnRlcixcblt0eXBlPSdjaGVja2JveCddOmNoZWNrZWQgKyBsYWJlbDphZnRlcixcblt0eXBlPSdjaGVja2JveCddOm5vdCg6Y2hlY2tlZCkgKyBsYWJlbDphZnRlciB7XG4gIEBpbmNsdWRlIGJnLWltZygxMHB4KTtcbiAgY29udGVudDogJyc7XG4gIHdpZHRoOiAzNHB4O1xuICBoZWlnaHQ6IDM0cHg7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoLi4vaW1nL3RpY2suc3ZnKTtcbiAgY29sb3I6IHZhcigtLWMtcHJpbWFyeSk7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdHJhbnNpdGlvbjogYWxsIDAuNzVzIHZhcigtLXRyYW5zaXRpb24pO1xufVxuXG5maWVsZHNldC5maWVsZHNldCB7XG4gIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWMtYmctYWx0KTtcbiAgYm9yZGVyOiBub25lO1xuXG4gIC5maWVsZHNldC1sZWdlbmQge1xuICAgIGZvbnQtd2VpZ2h0OiA5MDA7XG4gIH1cbn1cblxuLndlYmZvcm0ge1xuICAud2ViZm9ybS1zdWJtaXNzaW9uLWZvcm0ge1xuICAgIGg0IHtcbiAgICAgIG1hcmdpbjogMDtcbiAgICB9XG5cbiAgICBidXR0b24uZm9ybS1zdWJtaXQge1xuICAgICAgQGluY2x1ZGUgYnRuO1xuICAgICAgYm9yZGVyOiBub25lO1xuXG4gICAgICAmOmhvdmVyIHtcbiAgICAgICAgQGluY2x1ZGUgYnRuLWhvdmVyO1xuICAgICAgfVxuICAgIH1cblxuICAgIC5mb3JtLXRleHRhcmVhLXdyYXBwZXIge1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgfVxuXG4gICAgLmZvcm0taXRlbSB7XG4gICAgICBib3JkZXI6IG5vbmU7XG4gICAgICBwYWRkaW5nOiAwO1xuXG4gICAgICAmLmZvcm0tdHlwZS10ZXh0ZmllbGQsXG4gICAgICAmLmZvcm0tdHlwZS1lbWFpbCxcbiAgICAgICYuZm9ybS1pdGVtLW1lc3NhZ2UsXG4gICAgICAmLmZvcm0taXRlbS1lbWFpbCxcbiAgICAgICYuZm9ybS1pdGVtLXN1YmplY3QsXG4gICAgICAmLmZvcm0taXRlbS1uYW1lIHtcbiAgICAgICAgbGFiZWwge1xuICAgICAgICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xuICAgICAgICAgIGNvbG9yOiB2YXIoLS1jLXNlY29uZGFyeSk7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgJi5qcy1mb3JtLWl0ZW0tZmlsZSB7XG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBmbGV4LWVuZDtcbiAgICAgIH1cblxuICAgICAgJi5qcy1mb3JtLXR5cGUtZGF0ZWxpc3Qge1xuICAgICAgICAuY29udGFpbmVyLWlubGluZSB7XG4gICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICBnYXA6IGNhbGModmFyKC0tYnVtcCkgLyAyKTtcbiAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgICAgd2lkdGg6IDEwMCU7XG5cbiAgICAgICAgICAvLyAmOmFmdGVyIHtcbiAgICAgICAgICAvLyAgIEBpbmNsdWRlIGJnLWltZygyMHB4KTtcbiAgICAgICAgICAvLyAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCguLi9pbWcvY2FsZW5kYXIuc3ZnKTtcbiAgICAgICAgICAvLyAgIGNvbnRlbnQ6ICcnO1xuICAgICAgICAgIC8vICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgIC8vICAgd2lkdGg6IDIwcHg7XG4gICAgICAgICAgLy8gICBoZWlnaHQ6IDIwcHg7XG4gICAgICAgICAgLy8gICByaWdodDogLTUlO1xuICAgICAgICAgIC8vICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoMTAwJSwgNzUlKTtcbiAgICAgICAgICAvLyB9XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgLmpzLWZvcm0tbWFuYWdlZC1maWxlIHtcbiAgICAgICAgYnV0dG9uIHtcbiAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jLXNlY29uZGFyeSk7XG4gICAgICAgIH1cbiAgICAgICAgLmpzLWZvcm0tZmlsZSB7XG4gICAgICAgICAgcGFkZGluZzogdmFyKC0tYnVtcCkgMCBjYWxjKHZhcigtLWJ1bXApKTtcbiAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICAgICAgICBjb2xvcjogd2hpdGU7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgLmZpZWxkc2V0LXdyYXBwZXIge1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgcGFkZGluZzogY2FsYyh2YXIoLS1idW1wKSAvIDMpIDAgMDtcblxuICAgICAgICAmID4gLmZvcm0tY2hlY2tib3hlcyxcbiAgICAgICAgJiA+IC5qcy13ZWJmb3JtLXJhZGlvcyB7XG4gICAgICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoMSwgMWZyKTtcbiAgICAgICAgICBkaXNwbGF5OiBncmlkO1xuICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICB9XG5cbiAgICAgICAgJiA+IC5mb3JtLWNoZWNrYm94ZXMsXG4gICAgICAgICYgPiAuZm9ybS1yYWRpb3Mge1xuICAgICAgICAgIGxhYmVsLm9wdGlvbiB7XG4gICAgICAgICAgICBmb250LXdlaWdodDogYm9sZDtcbiAgICAgICAgICAgIGNvbG9yOiB2YXIoLS1jLXNlY29uZGFyeSk7XG4gICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgJiA+IC5qcy13ZWJmb3JtLXJhZGlvcyB7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgLmpzLWZvcm0tdHlwZS1zZWxlY3Qge1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cbiAgICAgICAgLmZpZWxkLWNoaWxkcmVuIHtcbiAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgfVxuXG4gICAgICAgICYuanMtZm9ybS1pdGVtLWFkZHJlc3MtY291bnRyeSB7XG4gICAgICAgICAgJjphZnRlciB7XG4gICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICAgIH1cbiAgICAgICAgICAuZmllbGQtY2hpbGRyZW4ge1xuICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgICY6YWZ0ZXIge1xuICAgICAgICAgIEBpbmNsdWRlIGJnLWltZygxMHB4KTtcbiAgICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoLi4vaW1nL2Ryb3Bkb3duLnN2Zyk7XG4gICAgICAgICAgY29udGVudDogJyc7XG4gICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgIHdpZHRoOiAyMHB4O1xuICAgICAgICAgIGhlaWdodDogMjBweDtcbiAgICAgICAgICByaWdodDogNy41cHg7XG4gICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDc1JSk7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgbGFiZWwsXG4gICAgICAuZmllbGRzZXQtbGVnZW5kIHtcbiAgICAgICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gICAgICAgIGNvbG9yOiB2YXIoLS1jLXNlY29uZGFyeSk7XG4gICAgICB9XG5cbiAgICAgIHNlbGVjdCB7XG4gICAgICAgIGFwcGVhcmFuY2U6IG5vbmU7XG4gICAgICB9XG4gICAgfVxuXG4gICAgbGFiZWwub3B0aW9uIHtcbiAgICAgIGEge1xuICAgICAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBkZXRhaWxzLmNhcHRjaGEge1xuICAgICAgbWFyZ2luLWJvdHRvbTogY2FsYyh2YXIoLS1idW1wKSAvIDIpO1xuICAgIH1cblxuICAgIC53ZWJmb3JtLXByb2dyZXNzIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxuXG4gICAgI2VkaXQtYm9vay1ub3ctYnV0dG9uLWxpbmsge1xuICAgICAgQGluY2x1ZGUgYnRuO1xuICAgICAgbWFyZ2luOiAyMHB4IDAgMDtcbiAgICAgICY6aG92ZXIge1xuICAgICAgICBAaW5jbHVkZSBidG4taG92ZXI7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbi52aWV3X193aGF0X3Nfb25fX2Zvcm0sXG4udmlld19fcGhvdG9ncmFwaHlfY3VsdHVyZV9fZm9ybSxcbi52aWV3X19wYXN0X3Byb2dyYW1tZV9fZm9ybSB7XG4gIGZvcm0ge1xuICAgICYudmlld3MtZXhwb3NlZC1mb3JtIHtcbiAgICAgIGZpZWxkc2V0IHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYy1iZy1hbHQpO1xuICAgICAgICBib3JkZXI6IG5vbmU7XG4gICAgICAgIHBhZGRpbmc6IDA7XG5cbiAgICAgICAgLmZpZWxkc2V0LWxlZ2VuZCB7XG4gICAgICAgICAgZm9udC13ZWlnaHQ6IDkwMDtcbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgW3R5cGU9J3JhZGlvJ106Y2hlY2tlZCArIGxhYmVsOmFmdGVyLFxuICAgICAgW3R5cGU9J3JhZGlvJ106bm90KDpjaGVja2VkKSArIGxhYmVsOmFmdGVyLFxuICAgICAgW3R5cGU9J2NoZWNrYm94J106Y2hlY2tlZCArIGxhYmVsOmFmdGVyLFxuICAgICAgW3R5cGU9J2NoZWNrYm94J106bm90KDpjaGVja2VkKSArIGxhYmVsOmFmdGVyIHtcbiAgICAgICAgd2lkdGg6IDEycHg7XG4gICAgICAgIGhlaWdodDogMTJweDtcbiAgICAgICAgdG9wOiA0cHg7XG4gICAgICAgIGxlZnQ6IDRweDtcbiAgICAgIH1cbiAgICAgIFt0eXBlPSdyYWRpbyddOmNoZWNrZWQgKyBsYWJlbDpiZWZvcmUsXG4gICAgICBbdHlwZT0ncmFkaW8nXTpub3QoOmNoZWNrZWQpICsgbGFiZWw6YmVmb3JlLFxuICAgICAgW3R5cGU9J2NoZWNrYm94J106Y2hlY2tlZCArIGxhYmVsOmJlZm9yZSxcbiAgICAgIFt0eXBlPSdjaGVja2JveCddOm5vdCg6Y2hlY2tlZCkgKyBsYWJlbDpiZWZvcmUge1xuICAgICAgICB3aWR0aDogMjBweDtcbiAgICAgICAgaGVpZ2h0OiAyMHB4O1xuICAgICAgfVxuXG4gICAgICBbdHlwZT0ncmFkaW8nXTpjaGVja2VkICsgbGFiZWwsXG4gICAgICBbdHlwZT0ncmFkaW8nXTpub3QoOmNoZWNrZWQpICsgbGFiZWwsXG4gICAgICBbdHlwZT0nY2hlY2tib3gnXTpjaGVja2VkICsgbGFiZWwsXG4gICAgICBbdHlwZT0nY2hlY2tib3gnXTpub3QoOmNoZWNrZWQpICsgbGFiZWwge1xuICAgICAgICBsaW5lLWhlaWdodDogaW5oZXJpdDtcbiAgICAgICAgY29sb3I6IHZhcigtLWMtc2Vjb25kYXJ5KTtcbiAgICAgICAgcGFkZGluZy1sZWZ0OiB2YXIoLS1idW1wKTtcbiAgICAgIH1cbiAgICAgIC5qcy1mb3JtLWl0ZW0ge1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IGNhbGModmFyKC0tYnVtcCkgKyAxMHB4KTtcbiAgICAgICAgLy9kaXNwbGF5OiBub25lO1xuICAgICAgICAvLyAmLmZvcm0taXRlbS1kYXRlIHtcbiAgICAgICAgLy8gICBwb3NpdGlvbjogZml4ZWQ7XG4gICAgICAgIC8vICAgei1pbmRleDogMTAwO1xuICAgICAgICAvLyAgIHRvcDogMjUlO1xuICAgICAgICAvLyAgIGxlZnQ6IDUwJTtcbiAgICAgICAgLy8gICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAwJSk7XG4gICAgICAgIC8vICAgYW5pbWF0aW9uOiBmYWRlSW4gMC44cyB2YXIoLS1lYXNpbmcpIGZvcndhcmRzO1xuICAgICAgICAvLyAgICYuaXMtYWN0aXZlIHtcbiAgICAgICAgLy8gICAgIGFuaW1hdGlvbjogZmFkZU91dCAwLjhzIHZhcigtLWVhc2luZykgZm9yd2FyZHM7XG4gICAgICAgIC8vICAgfVxuICAgICAgICAvLyB9XG4gICAgICB9XG4gICAgICAuYS1idG4tLWNhbGVuZGFyIHtcbiAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgIH1cbiAgICAgIC5mb3JtLXJhZGlvcyB7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGZsZXgtZmxvdzogcm93IHdyYXA7XG5cbiAgICAgICAgQGluY2x1ZGUgbWVkaWEoJzxzbScpIHtcbiAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbi52aWV3X193aGF0X3Nfb25fX2Zvcm0ge1xuICAudmlld3MtZXhwb3NlZC1mb3JtIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgLmRhdGUtZmllbGQtbGFiZWwge1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIG9yZGVyOiAwO1xuICAgIH1cbiAgICAuZGF0ZS1maWVsZHMtd3JhcHBlciB7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgb3JkZXI6IDE7XG4gICAgICBtYXJnaW4tYm90dG9tOiBjYWxjKHZhcigtLWJ1bXApIC8gMik7XG4gICAgfVxuICAgIC5maWVsZGdyb3VwIHtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBvcmRlcjogMjtcbiAgICAgIG1hcmdpbi1ib3R0b206IGNhbGModmFyKC0tYnVtcCkgLyAyKTtcbiAgICB9XG4gICAgLmZvcm0tYWN0aW9ucyB7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgb3JkZXI6IDM7XG4gICAgfVxuICB9XG59IiwiLyoqXG4gKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gKiBVbi50aXRsZWRcbiAqIE1vbGVjdWxlcyAtIE1haW4gbmF2XG4gKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gKi9cblxuLm0tbWFpbi1uYXYge1xuICBkaXNwbGF5OiBmbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBtYXJnaW46IDAgYXV0byAwIDA7XG4gIG9wYWNpdHk6IDE7XG4gIHZpc2liaWxpdHk6IHZpc2libGU7XG5cbiAgW2RhdGEtc2VhcmNoPSdvcGVuJ10gJiB7XG4gICAgb3BhY2l0eTogMDtcbiAgICB2aXNpYmlsaXR5OiBoaWRkZW47XG4gIH1cblxuICBAaW5jbHVkZSBtZWRpYSgnPG1kJykge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBwYWRkaW5nOiAwO1xuICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICB9XG5cbiAgQGluY2x1ZGUgbWVkaWEoJzxzbScpIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogY2FsYygxMDAlKTtcbiAgICBsZWZ0OiAwO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWMtcHJpbWFyeSk7XG4gICAgcGFkZGluZzogdmFyKC0tYnVtcCkgMDtcbiAgICBoZWlnaHQ6IGNhbGMoKHZhcigtLXZoKSAqIDEwMCkgLSB2YXIoLS1oZWFkZXItaGVpZ2h0LW1vYmlsZSkpO1xuXG4gICAgW2RhdGEtbmF2PSdvcGVuJ10gJiB7XG4gICAgICBhbmltYXRpb246IGZhZGVJbiAwLjJzIHZhcigtLWVhc2luZykgZm9yd2FyZHM7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgei1pbmRleDogMTA7XG4gICAgICB0b3A6IDA7XG4gICAgICBsZWZ0OiAwO1xuICAgIH1cblxuICAgIFtkYXRhLW5hdj0nY2xvc2VkJ10gJiB7XG4gICAgICBhbmltYXRpb246IGZhZGVPdXQgMC4ycyB2YXIoLS1lYXNpbmcpIGZvcndhcmRzO1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICB9XG4gIH1cblxuICBAaW5jbHVkZSBtZWRpYShcImhlaWdodDw4MjBweFwiKSB7XG4gICAgW2RhdGEtbmF2PSdvcGVuJ10gJiB7XG4gICAgICBvdmVyZmxvdy15OiBzY3JvbGw7XG4gICAgICBoZWlnaHQ6IGNhbGMoKHZhcigtLXZoKSAqIDEwMCkgLSAyMDBweCk7XG4gICAgfVxuICB9XG5cbiAgJiA+IHVsLm1lbnUge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBmbGV4LWZsb3c6IHJvdyB3cmFwO1xuICAgIGdhcDogY2FsYyh2YXIoLS1idW1wKSAvIDIpO1xuXG4gICAgdWwubWVudSB7XG4gICAgICBkaXNwbGF5OiBub25lO1xuICAgIH1cblxuICAgICY6Zmlyc3Qtb2YtdHlwZSB7XG4gICAgICBmb250LXdlaWdodDogYm9sZDtcbiAgICAgIGxldHRlci1zcGFjaW5nOiAwO1xuICAgICAgbGluZS1oZWlnaHQ6IDIwcHg7XG5cbiAgICAgIGxpIHtcbiAgICAgICAgQGluY2x1ZGUgbWVkaWEoJz5zbScpIHtcbiAgICAgICAgICAmOmZpcnN0LW9mLXR5cGUge1xuICAgICAgICAgICAgYSB7XG4gICAgICAgICAgICAgIHBhZGRpbmctbGVmdDogMDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICBAaW5jbHVkZSBtZWRpYShcIjxsZ1wiKSB7XG4gICAgICBnYXA6IDA7XG4gICAgICByb3ctZ2FwOiAxMHB4O1xuICAgIH1cblxuICAgIEBpbmNsdWRlIG1lZGlhKCc+c20nKSB7XG4gICAgICAmOmxhc3Qtb2YtdHlwZSB7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICAgICAgfVxuICAgIH1cblxuICAgIEBpbmNsdWRlIG1lZGlhKCc8c20nKSB7XG4gICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAgZmxleC13cmFwOiBub3dyYXA7XG4gICAgICBmbGV4LXNocmluazogMDtcbiAgICAgIGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0O1xuICAgICAgcGFkZGluZzogMCBjYWxjKHZhcigtLWJ1bXApIC8gMikgdmFyKC0tYnVtcCk7XG4gICAgfVxuXG4gICAgbGkge1xuICAgICAgJi5pcy1hY3RpdmUtdHJhaWwge1xuICAgICAgICBhIHtcbiAgICAgICAgICAmLmlzLWFjdGl2ZS10cmFpbCB7XG4gICAgICAgICAgICBjb2xvcjogdmFyKC0tYy1zZWNvbmRhcnkpO1xuICAgICAgICAgICAgJjphZnRlciB7XG4gICAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIGEge1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgICAgICBmb250LXNpemU6IDE1cHg7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxN3B4O1xuICAgICAgICBmb250LWZhbWlseTogdmFyKC0tZm9udEJvbGQpO1xuICAgICAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuXG4gICAgICAgIEBpbmNsdWRlIG1lZGlhKCc8MTMwMHB4Jykge1xuICAgICAgICAgIHdoaXRlLXNwYWNlOiBub3JtYWw7XG4gICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICB9XG5cbiAgICAgICAgQGluY2x1ZGUgbWVkaWEoJzxsZycpIHtcbiAgICAgICAgICBwYWRkaW5nOiAwIGNhbGModmFyKC0tYnVtcCkgLyA0KTtcbiAgICAgICAgfVxuXG4gICAgICAgIEBpbmNsdWRlIG1lZGlhKCc8bWQnKSB7XG4gICAgICAgICAgcGFkZGluZzogMCBjYWxjKHZhcigtLWJ1bXApIC8gNik7XG4gICAgICAgIH1cblxuICAgICAgICBAaW5jbHVkZSBtZWRpYSgnPHNtJykge1xuICAgICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICAgICAgbGluZS1oZWlnaHQ6IDIwcHg7XG4gICAgICAgIH1cbiAgICAgICAgXG5cbiAgICAgICAgJjphZnRlciB7XG4gICAgICAgICAgY29udGVudDogXCJcIjtcbiAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgYm90dG9tOiAwO1xuICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKTtcbiAgICAgICAgICBoZWlnaHQ6IDA7XG4gICAgICAgICAgd2lkdGg6IDA7XG4gICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgICAgICAgYm9yZGVyLXJhZGl1czogMTAwJTtcbiAgICAgICAgICB0cmFuc2l0aW9uOiAwLjRzIHZhcigtLWVhc2luZyk7XG4gICAgICAgIH1cblxuICAgICAgICAmOmFjdGl2ZSxcbiAgICAgICAgJjpob3ZlcixcbiAgICAgICAgJi5pcy1hY3RpdmUsXG4gICAgICAgICYuaXMtYWN0aXZlLXRyYWlsIHtcbiAgICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgICAgICAgY29sb3I6IHZhcigtLWMtdGVydGlhcnkpO1xuICAgICAgICAgIHRyYW5zaXRpb246IDAuNHMgdmFyKC0tZWFzaW5nKTtcblxuICAgICAgICAgICY6YWZ0ZXIge1xuICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDEwMCUpO1xuICAgICAgICAgICAgaGVpZ2h0OiAzcHg7XG4gICAgICAgICAgICB3aWR0aDogM3B4O1xuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYy10ZXJ0aWFyeSk7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4iLCIvKipcbiAqIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAqIFVuLnRpdGxlZFxuICogTW9sZWN1bGVzIC0gQmFubmVyXG4gKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gKi9cblxuLyoqXG4qIENvbmZpZ1xuKi9cbiR0cmFuc2JnOiB2YXIoLS1jLXByaW1hcnkpO1xuXG46cm9vdCB7XG4gIC0tYmFubmVyQm90dG9tTWFyZ2luOiA2MHB4O1xuICAtLWJhbm5lckFsdFRvcE1hcmdpbjogNDBweDtcbn1cblxuLyoqXG4qIFN0eWxlc1xuKi9cblxuLm0tbm8tYmFubmVyIHtcbiAgbWFyZ2luLXRvcDogJGJ1bXAgKiAyO1xuXG4gIEBpbmNsdWRlIG1lZGlhKCc8c20nKSB7XG4gICAgbWFyZ2luLXRvcDogJGJ1bXA7XG4gIH1cblxuICAmX19pbm5lciB7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIHRleHQtYWxpZ24tbGFzdDogY2VudGVyO1xuICB9XG5cbiAgaDEge1xuICAgIG1hcmdpbi1ib3R0b206IDA7XG4gIH1cblxuICBwIHtcbiAgICAmOmZpcnN0LW9mLXR5cGUge1xuICAgICAgbWFyZ2luLXRvcDogJGJ1bXA7XG5cbiAgICAgIEBpbmNsdWRlIG1lZGlhKCc8c20nKSB7XG4gICAgICAgIG1hcmdpbi10b3A6ICRidW1wLzI7XG4gICAgICB9XG4gICAgfVxuICAgICY6bGFzdC1vZi10eXBlIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgfVxuICB9XG59XG5cbi5tLWJhbm5lciB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgd2lkdGg6IDEwMCU7XG4gIG1hcmdpbjogMCAwIHZhcigtLWJhbm5lckJvdHRvbU1hcmdpbik7XG5cbiAgQGluY2x1ZGUgbWVkaWEoJzxzbScpIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW4tcmV2ZXJzZTtcbiAgfVxuXG4gICZfX2hlYWRpbmcge1xuICAgIG1hcmdpbi1ib3R0b206IDNweDtcblxuICAgIEBpbmNsdWRlIG1lZGlhKCc8c20nKSB7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTE1MCUpO1xuICAgIH1cbiAgfVxuXG4gIGltZyB7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiBhdXRvO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICB9XG5cbiAgJl9fb3ZlcmxheSB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMDtcbiAgICBsZWZ0OiAwO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogMTAwJTtcbiAgICB6LWluZGV4OiAxO1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgY29sb3I6IHZhcigtLWMtd2hpdGUpO1xuICAgIGJveC1zaGFkb3c6IGluc2V0ICAwcHggLTIyMHB4IDEzMHB4IC0xMHB4ICMxYjFiMWI7XG5cbiAgICBAaW5jbHVkZSBtZWRpYSgnPG1kJykge1xuICAgICAgYm94LXNoYWRvdzogaW5zZXQgMHB4IC0xNTBweCA5MHB4IC0xMHB4ICMxYjFiMWI7XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgbWVkaWEoJzxzbScpIHtcbiAgICAgIGJveC1zaGFkb3c6IGluc2V0IDBweCAtNjBweCA0NXB4IC0xMHB4ICMxYjFiMWI7XG4gICAgfVxuXG4gICAgJiArIHBpY3R1cmUge1xuICAgICAgJiA+IGltZyB7XG4gICAgICAgIGJveC1zaGFkb3c6IGluc2V0IDBweCAtMjIwcHggMTMwcHggLTEwcHggIzFiMWIxYjtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAmX19wcmUtdGl0bGUsXG4gICZfX3J1bi1kYXRlcyB7XG4gICAgZm9udC1zaXplOiAxNHB4O1xuICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xuICAgIGxldHRlci1zcGFjaW5nOiAxcHg7XG4gICAgbGluZS1oZWlnaHQ6IDE3cHg7XG4gICAgbWFyZ2luOiAwO1xuICB9XG5cbiAgJl9fcnVuLWRhdGVzIHtcbiAgICBtYXJnaW4tdG9wOiAwICFpbXBvcnRhbnQ7XG4gICAgbWFyZ2luLWJvdHRvbTogMTVweCAhaW1wb3J0YW50O1xuICB9XG5cbiAgJl9faW1hZ2Uge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgfVxuXG4gICZfX2JvZHkge1xuICAgIHdpZHRoOiA3MCU7XG4gICAgei1pbmRleDogMjtcblxuICAgICYtLWZ1bGwge1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgfVxuICAgIHAge1xuICAgICAgY29sb3I6IHZhcigtLWMtc2Vjb25kYXJ5KTtcbiAgICAgIC5jdF9fcGhvdG9ncmFwaHktY3VsdHVyZS1saXN0aW5nICYsXG4gICAgICAuY3RfX3doYXQtcy1vbi1saXN0aW5nICYsXG4gICAgICAuY3RfX2xhbmRpbmctcGFnZSAmLFxuICAgICAgLmN0X19jb2xsZWN0aW9uLXBhZ2UgJiB7XG4gICAgICAgIGZvbnQtc2l6ZTogMTdweDtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDEuNjtcbiAgICAgIH1cbiAgICAgIEBpbmNsdWRlIG1lZGlhKCc8NDAwcHgnKSB7XG4gICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIC5jdF9fZXZlbnQgJiB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgICAgXG4gICAgfVxuICAgIEBpbmNsdWRlIG1lZGlhKCc8bWQnKSB7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICB9XG4gIH1cblxuICAmX19oZWFkaW5nIHtcbiAgICBAaW5jbHVkZSBtZWRpYSgnPHNtJykge1xuICAgICAgbGluZS1oZWlnaHQ6IDEuNDtcbiAgICAgIGZvbnQtc2l6ZTogY2xhbXAoMjBweCwgN3Z3LCB2YXIoLS1mb250U2l6ZUhlYWRpbmdUaHJlZSkpO1xuICAgIH1cbiAgfVxuXG4gICZfX2NvbnRlbnQge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDA7XG4gICAgbGVmdDogMDtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICBjb2xvcjogdmFyKC0tYy13aGl0ZSk7XG5cbiAgICBAaW5jbHVkZSBtZWRpYSgnPHNtJykge1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgb3ZlcmZsb3c6IHZpc2libGU7XG4gICAgICBwYWRkaW5nOiBjYWxjKHZhcigtLWJ1bXApIC8gMikgMDtcbiAgICB9XG5cbiAgICAmX19tb2JpbGUge1xuICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgIEBpbmNsdWRlIG1lZGlhKCc8c20nKSB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgfVxuICAgIH1cblxuICAgICZfX2Rlc2t0b3Age1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICBAaW5jbHVkZSBtZWRpYSgnPHNtJykge1xuICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgfVxuICAgIH1cblxuICAgIGRpdi5ncmlkIHtcbiAgICAgIGhlaWdodDogMTAwJTtcblxuICAgICAgJiA+IGRpdiB7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBmbGV4LWVuZDtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuXG4gICAgICAgIEBpbmNsdWRlIG1lZGlhKCc8c20nKSB7XG4gICAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgICAgICBhbGlnbi1pdGVtczogZmxleC1zdGFydDtcbiAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kO1xuICAgICAgICAgIHBhZGRpbmc6IDAgY2FsYyh2YXIoLS1idW1wKSAvIDIpO1xuICAgICAgICB9XG4gICAgICAgIGEge1xuICAgICAgICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gICAgICAgICAgei1pbmRleDogMjtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gICZfX3N0cmFwbGluZSB7XG4gICAgYm94LXNoYWRvdzogMTVweCAwIDAgJHRyYW5zYmcsIC0xNXB4IDAgMCAkdHJhbnNiZztcbiAgICBwYWRkaW5nOiAkYnVtcC8yIDJweDtcbiAgICBmb250LXNpemU6IDEuNXJlbTtcbiAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgIGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0O1xuXG4gICAgcCB7XG4gICAgICBtYXJnaW46IDAgMCAkYnVtcC8yO1xuXG4gICAgICAmOmxhc3Qtb2YtdHlwZSB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgICB9XG4gICAgfVxuXG4gICAgYSB7XG4gICAgICBAaW5jbHVkZSBmb250LWN0YTtcbiAgICAgIG1hcmdpbi10b3A6ICRidW1wLzI7XG4gICAgfVxuICB9XG5cbiAgJl9fc3VtbWFyeSB7XG4gICAgZm9udC1zaXplOiAxNnB4O1xuICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xuICAgIGxldHRlci1zcGFjaW5nOiAwO1xuICAgIGxpbmUtaGVpZ2h0OiAyMHB4O1xuICAgIHAge1xuICAgICAgbGluZS1oZWlnaHQ6IDIwcHg7XG4gICAgfVxuICB9XG5cbiAgLnRpdGxlLWJnLFxuICAmX19zdHJhcGxpbmUge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICR0cmFuc2JnO1xuICB9XG5cbiAgJi0tbGFyZ2Utc2lnbnBvc3QtdjIge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBtYXJnaW46IDA7XG5cbiAgICAmID4gLmdyaWQge1xuICAgICAgJiA+IFtjbGFzcyo9J2NvbC0nXSB7XG4gICAgICAgIEBpbmNsdWRlIG1lZGlhKFwiPHNtXCIpIHtcbiAgICAgICAgICBwYWRkaW5nOiAwO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgLm0tYmFubmVyIHtcbiAgICAgIG1hcmdpbjogMDtcbiAgICB9XG5cbiAgICAubS1iYW5uZXJfX2hlYWRpbmcge1xuICAgICAgbWFyZ2luLWJvdHRvbTogMTBweDtcbiAgICAgIGxpbmUtaGVpZ2h0OiAxLjM0O1xuICAgICAgZm9udC1zaXplOiBjbGFtcCgyNXB4LCA3dncsIHZhcigtLWZvbnRTaXplSGVhZGluZ1R3bykpO1xuICAgIH1cblxuICAgIC5tLWJhbm5lcl9fY29udGVudCB7XG4gICAgICAmID4gLmdyaWQge1xuICAgICAgICAmID4gW2NsYXNzKj0nY29sLSddIHtcbiAgICAgICAgICBwYWRkaW5nOiAxNXB4IDQwcHggNjBweDtcblxuICAgICAgICAgIEBpbmNsdWRlIG1lZGlhKFwiPHNtXCIpIHtcbiAgICAgICAgICAgIHBhZGRpbmc6IDAgMzBweCAzMHB4O1xuICAgICAgICAgIH1cblxuICAgICAgICAgIC5tLWJhbm5lcl9fYm9keSB7XG4gICAgICAgICAgICBwIHtcbiAgICAgICAgICAgICAgQGluY2x1ZGUgbWVkaWEoXCI8c21cIikge1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgQGluY2x1ZGUgbWVkaWEoXCI8c21cIikge1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLm0tYmFubmVyX19ib2R5IHtcbiAgICAgIGRpdiB7XG4gICAgICAgIHAge1xuICAgICAgICAgIGxpbmUtaGVpZ2h0OiAxN3B4O1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLnRpdGxlLWJnIHtcbiAgICBib3gtc2hhZG93OiAxNXB4IDAgMCAkdHJhbnNiZywgLTE1cHggMCAwICR0cmFuc2JnO1xuICAgIGxpbmUtaGVpZ2h0OiAxLjQ7XG4gICAgcGFkZGluZzogMnB4IDJweCA0cHg7XG4gICAgZGlzcGxheTogaW5saW5lO1xuICAgIGJveC1kZWNvcmF0aW9uLWJyZWFrOiBjbG9uZTtcbiAgfVxuXG4gIHZpZGVvIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAwO1xuICAgIGxlZnQ6IDA7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIG9iamVjdC1maXQ6IGNvdmVyO1xuXG4gICAgQGluY2x1ZGUgbWVkaWEoJzx4cycpIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICB2aXNpYmlsaXR5OiBoaWRkZW47XG4gICAgfVxuICB9XG5cbiAgLnZpZGVvX19jb250cm9scyB7XG4gICAgQGluY2x1ZGUgcm0tdGV4dDtcbiAgICBAaW5jbHVkZSBiZy1pbWcodmFyKC0tYnVtcCkpO1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCgnLi4vaW1nL3BhdXNlLnN2ZycpO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6ICB2YXIoLS1idW1wKTtcbiAgICBsZWZ0OiAgdmFyKC0tYnVtcCk7XG4gICAgYm9yZGVyOiAwO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIGhlaWdodDogIHZhcigtLWJ1bXApO1xuICAgIHdpZHRoOiAgdmFyKC0tYnVtcCk7XG4gICAgei1pbmRleDogNTtcbiAgICAvLyBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudGl6ZSh2YXIoLS1jLXByaW1hcnkpLCAwLjEpO1xuXG4gICAgQGluY2x1ZGUgbWVkaWEoJzxtZCcpIHtcbiAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCgnLi4vaW1nL3BsYXkuc3ZnJyk7XG4gICAgfVxuXG4gICAgJjpob3ZlciB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jLXByaW1hcnkpO1xuICAgIH1cblxuICAgICZbZGF0YS1wbGF5c3RhdGU9J3BhdXNlZCddIHtcbiAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCgnLi4vaW1nL3BsYXkuc3ZnJyk7XG5cbiAgICAgIEBpbmNsdWRlIG1lZGlhKCc8bWQnKSB7XG4gICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCgnLi4vaW1nL3BhdXNlLnN2ZycpO1xuICAgICAgfVxuICAgIH1cblxuICAgIEBpbmNsdWRlIG1lZGlhKCc8eHMnKSB7XG4gICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgdmlzaWJpbGl0eTogaGlkZGVuO1xuICAgIH1cbiAgfVxufVxuXG4ubS1iYW5uZXItYWx0IHtcbiAgbWFyZ2luOiB2YXIoLS1iYW5uZXJBbHRUb3BNYXJnaW4pIDAgMDtcblxuICAuZ3JpZCB7XG4gICAgQGluY2x1ZGUgbWVkaWEoXCI8c21cIikge1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgfVxuICB9XG5cbiAgLmEtaW1hZ2UtY3JlZGl0IHtcbiAgICAmOmJlZm9yZSB7XG4gICAgICBAaW5jbHVkZSBtZWRpYShcIjxtZFwiKSB7XG4gICAgICAgIGhlaWdodDogYXV0bztcbiAgICAgICAgd2hpdGUtc3BhY2U6IG5vcm1hbDtcbiAgICAgIH1cbiAgICB9XG4gIH0gIFxuXG4gICZfX2ltYWdlIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIH1cblxuICAmX19wb3N0LXR5cGUge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jLXNlY29uZGFyeSk7XG4gICAgY29sb3I6IHZhcigtLWMtcHJpbWFyeSk7XG4gICAgbWFyZ2luOiAwO1xuICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xuICAgIHotaW5kZXg6IDE7XG4gICAgdHJhbnNpdGlvbjogYWxsIDFzIHZhcigtLXRyYW5zaXRpb24pO1xuICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgcGFkZGluZzogY2FsYyh2YXIoLS1idW1wKSAvIDQpIGNhbGModmFyKC0tYnVtcCkgLyAyKTtcbiAgfVxuXG4gICZfX2RhdGUge1xuICAgIGZvbnQtc2l6ZTogMTRweDtcbiAgICBsaW5lLWhlaWdodDogMTdweDtcbiAgICBsZXR0ZXItc3BhY2luZzogMXB4O1xuICAgIGZvbnQtZmFtaWx5OiB2YXIoLS1mb250Qm9sZCk7XG4gICAgbWFyZ2luOiAxMnB4IDAgIWltcG9ydGFudDtcblxuICAgIEBpbmNsdWRlIG1lZGlhKFwiPHNtXCIpIHtcbiAgICAgIG1hcmdpbjogY2FsYyh2YXIoLS1idW1wKSAvIDMpIDAgY2FsYyh2YXIoLS1idW1wKSAvIDMpICFpbXBvcnRhbnQ7XG4gICAgfVxuICB9XG5cbiAgJl9fY29udGVudCB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHBhZGRpbmc6IDAgNDBweCAwIDQ1cHg7XG5cbiAgICBAaW5jbHVkZSBtZWRpYShcIjxzbVwiKSB7XG4gICAgICBwYWRkaW5nOiAwO1xuICAgIH1cblxuICAgIC5ncmlkIHsgIFxuICAgICAgLmNvbC1zbS0xMiB7XG4gICAgICAgIHBhZGRpbmc6IGNhbGModmFyKC0tYnVtcCkgLyAyKTtcbiAgICAgICAgQGluY2x1ZGUgbWVkaWEoXCI8c21cIikge1xuICAgICAgICAgIHBhZGRpbmc6IGNhbGModmFyKC0tYnVtcCkgLyAyKSBjYWxjKHZhcigtLWJ1bXApIC8gMyk7XG4gICAgICAgIH1cbiAgICAgICAgLm0tYmFubmVyLWFsdF9fdGl0bGUge1xuICAgICAgICAgIHdoaXRlLXNwYWNlOiBub3JtYWw7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAmX19ib2R5IHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBtYXJnaW46IDAgMCAxMHB4O1xuXG4gIGgxLFxuICAuaDEsXG4gIGgyLFxuICAuaDIsXG4gIGgzLFxuICAuaDMsXG4gIGg0LFxuICAuaDQsXG4gIGg1LFxuICAuaDUsXG4gIGg2LFxuICAuaDYge1xuICAgIG1hcmdpbjogMDtcbiAgfVxuXG4gICAgdWwsXG4gICAgb2wge1xuICAgICAgbGlzdC1zdHlsZTogbm9uZTtcbiAgICAgIG1hcmdpbjogMTBweCAwO1xuICAgICAgbGkge1xuICAgICAgICBsaW5lLWhlaWdodDogMTdweDtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBhIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XG4gICAgICBsaW5lLWhlaWdodDogMTdweDtcbiAgICAgIHdoaXRlLXNwYWNlOiBub3JtYWwhaW1wb3J0YW50O1xuXG4gICAgICAmOmhvdmVyIHtcbiAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gICZfX2hlYWRpbmcge1xuXG4gICAgQGluY2x1ZGUgbWVkaWEoXCI8c21cIikge1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgdHJhbnNmb3JtOiBub25lO1xuICAgIH1cbiAgfVxuXG4gICZfX2xpbmtzIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZmxvdzogcm93IHdyYXA7XG4gICAgZ2FwOiAyNXB4O1xuXG4gICAgYSB7XG4gICAgICBwYWRkaW5nOiAwO1xuICAgIH1cbiAgfVxuXG4gICZfX2N0YSB7XG4gICAgQGluY2x1ZGUgbWVkaWEoXCI8c21cIikge1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgfVxuICB9XG59XG4iLCIubS1iYW5uZXItc2xpZGVyIHtcclxuICAgICYgPiAuZ3JpZCB7XHJcbiAgICAgICAgbWF4LXdpZHRoOiBjYWxjKHZhcigtLWNvbnRhaW5lcldpZHRoRGVza3RvcCkgKyA2MHB4KTtcclxuXHJcbiAgICAgICAgQGluY2x1ZGUgbWVkaWEoXCI8MTQzMHB4XCIpIHtcclxuICAgICAgICAgICAgbWF4LXdpZHRoOiBjYWxjKDkwJSArIDMwcHgpO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgQGluY2x1ZGUgbWVkaWEoXCI8c21cIikge1xyXG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgICAgICAgbWF4LXdpZHRoOiAxMDAlO1xyXG5cclxuICAgICAgICAgICAgJiA+IFtjbGFzcyo9Y29sLV0ge1xyXG4gICAgICAgICAgICAgICAgcGFkZGluZzogMDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgJiA+IFtjbGFzcyo9Y29sLV0ge1xyXG4gICAgICAgICAgICBAaW5jbHVkZSBtZWRpYShcIjwxNDMwcHhcIikge1xyXG4gICAgICAgICAgICAgICAgcGFkZGluZzogMDtcclxuICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgLm0tYmFubmVyLWFsdCB7XHJcbiAgICAgICAgICAgICAgICBtYXgtd2lkdGg6IGNhbGModmFyKC0tY29udGFpbmVyV2lkdGhEZXNrdG9wKSAtIDMwcHgpO1xyXG4gICAgICAgICAgICAgICAgbWFyZ2luOiB2YXIoLS1iYW5uZXJBbHRUb3BNYXJnaW4pIGF1dG8gdmFyKC0tYmFubmVyQWx0VG9wTWFyZ2luKTtcclxuXHJcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBtZWRpYShcIjwxNDMwcHhcIikge1xyXG4gICAgICAgICAgICAgICAgICAgIG1heC13aWR0aDogY2FsYygxMDAlIC0gNjBweCk7XHJcbiAgICAgICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgbWVkaWEoXCI8c21cIikge1xyXG4gICAgICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICAgICAgICAgICAgICAgIG1heC13aWR0aDogMTAwJTtcclxuICAgICAgICAgICAgICAgICAgICBtYXJnaW46IHZhcigtLWJhbm5lckFsdFRvcE1hcmdpbikgYXV0byAwO1xyXG5cclxuICAgICAgICAgICAgICAgICAgICAmID4gLmdyaWQge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBtYXJnaW46IDA7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICYgPiBbY2xhc3MqPWNvbC1dIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBhZGRpbmc6IDA7ICAgICAgICAgICAgICAgIFxyXG4gICAgICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICAubS1iYW5uZXJfX2NvbnRlbnRfX21vYmlsZSB7XHJcbiAgICAgICAgICAgICAgICBtYXgtd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgICAgICAgICAgIG1hcmdpbjogYXV0bztcclxuICAgICAgICAgICAgICAgICYgPiAuZ3JpZCB7XHJcbiAgICAgICAgICAgICAgICAgICAgcGFkZGluZzogY2FsYyh2YXIoLS1idW1wKSAvIDIpO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICAubS1iYW5uZXItYWx0X19jb250ZW50IHtcclxuICAgICAgICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XHJcbiAgICAgICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcclxuICAgICAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0O1xyXG5cclxuICAgICAgICAgICAgICAgIEBpbmNsdWRlIG1lZGlhKFwiPHNtXCIpIHtcclxuICAgICAgICAgICAgICAgICAgICBwYWRkaW5nOiAwO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICAubS1iYW5uZXItYWx0X19wb3N0LXR5cGUge1xyXG4gICAgICAgICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG4gICAgICAgICAgICAgICAgbWFyZ2luOiAwIDAgMjBweDtcclxuICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgLm0tYmFubmVyX19jb250ZW50X19kZXNrdG9wIHtcclxuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgLnN3aXBlciB7XHJcbiAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgLy8gbWF4LXdpZHRoOiBjYWxjKHZhcigtLWNvbnRhaW5lcldpZHRoRGVza3RvcCkgLSAzMHB4KTtcclxuICAgICAgICBoZWlnaHQ6IGF1dG87XHJcbiAgICAgICAgLy8gbWF4LWhlaWdodDogNTAwcHg7XHJcblxyXG4gICAgICAgICYtY29udGFpbmVyLFxyXG4gICAgICAgICYtc2xpZGVyIHtcclxuICAgICAgICAgICAgaGVpZ2h0OmF1dG87IFxyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgJi1idXR0b24ge1xyXG4gICAgICAgICAgICAmLXByZXYsXHJcbiAgICAgICAgICAgICYtbmV4dCB7XHJcbiAgICAgICAgICAgICAgICB3aWR0aDogMTFweDtcclxuXHJcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBtZWRpYShcIjxzbVwiKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgdG9wOiBhdXRvO1xyXG4gICAgICAgICAgICAgICAgICAgIGJvdHRvbTogMDtcclxuICAgICAgICAgICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMjUlKTtcclxuICAgICAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgICAgICAmOmFmdGVyLFxyXG4gICAgICAgICAgICAgICAgJjpiZWZvcmUge1xyXG4gICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIGJnLWltZyhjb3Zlcik7XHJcbiAgICAgICAgICAgICAgICAgICAgY29udGVudDogJyc7XHJcbiAgICAgICAgICAgICAgICAgICAgd2lkdGg6IDExcHg7XHJcbiAgICAgICAgICAgICAgICAgICAgaGVpZ2h0OiAxOXB4O1xyXG4gICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IDBweCBjZW50ZXI7XHJcbiAgICAgICAgICAgICAgICAgICAgdHJhbnNpdGlvbjogMC4zcyB2YXIoLS1lYXNpbmcpO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICAmLW5leHQge1xyXG4gICAgICAgICAgICAgICAgcmlnaHQ6IDA7XHJcblxyXG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgbWVkaWEoXCI8c21cIikge1xyXG4gICAgICAgICAgICAgICAgICAgIHJpZ2h0OiAxNXB4O1xyXG4gICAgICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgICAgICY6YWZ0ZXIge1xyXG4gICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCgnLi4vaW1nL2NoZXZyb24tcmlnaHQuc3ZnJyk7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAmOmJlZm9yZSB7XHJcbiAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBcclxuICAgICAgICAgICAgJi1wcmV2IHtcclxuICAgICAgICAgICAgICAgIGxlZnQ6IDA7XHJcblxyXG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgbWVkaWEoXCI8c21cIikge1xyXG4gICAgICAgICAgICAgICAgICAgIGxlZnQ6IDE1cHg7XHJcbiAgICAgICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICAgICAgJjpiZWZvcmUge1xyXG4gICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCgnLi4vaW1nL2NoZXZyb24tbGVmdC5zdmcnKTtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICY6YWZ0ZXIge1xyXG4gICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIC8vICYtd3JhcHBlciB7XHJcbiAgICAgICAgICAgIC8vIG1heC13aWR0aDogY2FsYyh2YXIoLS1jb250YWluZXJXaWR0aERlc2t0b3ApIC0gMzBweCk7XHJcbiAgICAgICAgLy8gfVxyXG5cclxuICAgICAgICAmLXBhZ2luYXRpb24ge1xyXG4gICAgICAgICAgICBib3R0b206IDAhaW1wb3J0YW50O1xyXG4gICAgICAgICAgICB0b3A6IGF1dG8haW1wb3J0YW50O1xyXG4gICAgICAgICAgICBsZWZ0OiAyNXB4ICFpbXBvcnRhbnQ7XHJcbiAgICAgICAgICAgIHdpZHRoOiBhdXRvIWltcG9ydGFudDtcclxuXHJcbiAgICAgICAgICAgIEBpbmNsdWRlIG1lZGlhKFwiPDE0MzBweFwiKSB7XHJcbiAgICAgICAgICAgICAgICBsZWZ0OiAyNXB4ICFpbXBvcnRhbnQ7XHJcbiAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgIEBpbmNsdWRlIG1lZGlhKFwiPHNtXCIpIHtcclxuICAgICAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgICAgICAgICAgICAgIGJvdHRvbTogMCAhaW1wb3J0YW50O1xyXG4gICAgICAgICAgICAgICAgdG9wOiBhdXRvICFpbXBvcnRhbnQ7XHJcbiAgICAgICAgICAgICAgICBsZWZ0OiBhdXRvICFpbXBvcnRhbnQ7XHJcbiAgICAgICAgICAgICAgICByaWdodDogYXV0byAhaW1wb3J0YW50O1xyXG4gICAgICAgICAgICAgICAgd2lkdGg6IDEwMCUgIWltcG9ydGFudDtcclxuICAgICAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgxMi41JSk7XHJcbiAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgICYtYnVsbGV0IHtcclxuICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6IHZhcigtLWMtc2Vjb25kYXJ5KTtcclxuICAgICAgICAgICAgICAgIG9wYWNpdHk6IDAuMzI7XHJcblxyXG4gICAgICAgICAgICAgICAgJi1hY3RpdmUge1xyXG4gICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6IHZhcigtLWMtc2Vjb25kYXJ5KTtcclxuICAgICAgICAgICAgICAgICAgICBvcGFjaXR5OiAxO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59IiwiLyoqXG4gKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gKiBVbi50aXRsZWRcbiAqIE1vbGVjdWxlcyAtIExpbmtlZCBsb2dvc1xuICogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICovXG5cbi5tLWxvZ29zIHtcbiAgZ2FwOiBjYWxjKHZhcigtLWJ1bXApICogNCk7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGEge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuXG4gICAgJjpob3ZlciB7XG4gICAgICBvcGFjaXR5OiAwLjc7XG4gICAgfVxuICB9XG59XG4iLCIvKipcbiAqIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAqIFVuLnRpdGxlZFxuICogTW9sZWN1bGVzIC0gU29jaWFsIGxpbmtzXG4gKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gKi9cblxuLyoqXG4gKiBTdHlsaW5nXG4gKi9cbi5tLXNvY2lhbC1saW5rcyB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIG1hcmdpbi10b3A6IGNhbGModmFyKC0tYnVtcCkgLyAzKTtcblxuICBAaW5jbHVkZSBtZWRpYSgnPG1kJykge1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgIG1hcmdpbi10b3A6IDA7XG4gIH1cblxuICAmX19saW5rIHtcbiAgICBtYXJnaW4tcmlnaHQ6IGNhbGModmFyKC0tYnVtcCkgLyAyKTtcbiAgICBoZWlnaHQ6IGNhbGModmFyKC0tYnVtcCkgKiAxLjc1KTtcbiAgICB3aWR0aDogY2FsYyh2YXIoLS1idW1wKSAqIDEuNzUpO1xuICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgICBkaXNwbGF5OiBibG9jaztcblxuICAgIEBpbmNsdWRlIG1lZGlhKCc8c20nKSB7XG4gICAgICBoZWlnaHQ6IGNhbGModmFyKC0tYnVtcCkgKiAxLjI1KTtcbiAgICAgIHdpZHRoOiBjYWxjKHZhcigtLWJ1bXApICogMS4yNSk7XG4gICAgfVxuXG4gICAgJjpsYXN0LWNoaWxkIHtcbiAgICAgIG1hcmdpbi1yaWdodDogMDtcbiAgICB9XG4gICAgJl9fdGlrdG9rIHtcbiAgICAgIGJhY2tncm91bmQ6ICMxYjFiMWI7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgICBzdmcge1xuICAgICAgICB3aWR0aDogMTZweCAhaW1wb3J0YW50O1xuICAgICAgfVxuICAgIH1cblxuICAgIHN2ZyB7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgIG9iamVjdC1maXQ6IGNvdmVyO1xuICAgIH1cblxuICAgIHJlY3Qge1xuICAgICAgdHJhbnNpdGlvbjogMC41cyB2YXIoLS1lYXNpbmcpO1xuICAgICAgZmlsbDogdmFyKC0tYy1wcmltYXJ5KTtcbiAgICB9XG5cbiAgICBwYXRoIHtcbiAgICAgIGZpbGw6IHZhcigtLWMtc2Vjb25kYXJ5KTtcbiAgICAgIHRyYW5zaXRpb246IDAuNXMgdmFyKC0tZWFzaW5nKTtcbiAgICB9XG5cbiAgICBjaXJjbGUge1xuICAgICAgZmlsbDogdmFyKC0tYy1wcmltYXJ5KTtcbiAgICAgIHRyYW5zaXRpb246IDAuNXMgdmFyKC0tZWFzaW5nKTtcbiAgICB9XG5cbiAgICAmOmhvdmVyIHtcbiAgICAgIHBhdGgge1xuICAgICAgICBmaWxsOiB2YXIoLS1jLWdyZXkpO1xuICAgICAgfVxuICAgIH1cblxuICAgICZfX3lvdXR1YmUge1xuICAgIH1cbiAgfVxufVxuIiwiLmRhdGVwaWNrZXIge1xuICBkaXNwbGF5OiBub25lO1xuICB2aXNpYmlsaXR5OiBoaWRkZW47XG59XG5cbi5kYXRlcGlja2VyLWNvbnRhaW5lciB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG5cbiAgc2VjdGlvbiB7XG4gICAgcGFkZGluZzogMDtcbiAgICBvdmVyZmxvdzogdmlzaWJsZTtcbiAgfVxufVxuXG4ubGlnaHRwaWNrIHtcbiAgQGluY2x1ZGUgZm9udC10aXRsZTtcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgY29sb3I6IHZhcigtLWMtc2Vjb25kYXJ5KTtcbiAgYm94LXNoYWRvdzogbm9uZTtcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gIHBhZGRpbmc6IDA7XG4gIG1hcmdpbjogMDtcbiAgYm9yZGVyLXJhZGl1czogMDtcblxuICAmX19kYXlzLW9mLXRoZS13ZWVrIHtcbiAgICBnYXA6IGNhbGModmFyKC0tYnVtcCkgLyAzKTtcbiAgICBwYWRkaW5nLWJvdHRvbTogY2FsYyh2YXIoLS1idW1wKSAvIDMpO1xuICB9XG5cbiAgJl9fbW9udGgtdGl0bGUge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgbWFyZ2luOiBjYWxjKHZhcigtLWJ1bXApIC8gMykgMDtcbiAgfVxuXG4gICZfX21vbnRocyB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgZ2FwOiB2YXIoLS1idW1wKTtcbiAgfVxuXG4gIEBpbmNsdWRlIG1lZGlhKCc8NjIwcHgnKSB7XG4gICAgJi5saWdodHBpY2stLTItY29sdW1ucyAubGlnaHRwaWNrX19tb250aHMge1xuICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiAxZnI7XG4gICAgfVxuICB9XG5cbiAgJl9fbW9udGgge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIG1pbi13aWR0aDogMjg4cHg7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG5cbiAgICAmLXRpdGxlIHtcbiAgICAgIHBhZGRpbmc6IDA7XG4gICAgfVxuICB9XG5cbiAgJl9fc2VsZWN0LFxuICAmX19kYXksXG4gICZfX2RheS1vZi10aGUtd2VlayB7XG4gICAgLy8gQGluY2x1ZGUgZm9udC1kZWZhdWx0O1xuICAgIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgfVxuICAmX19tb250aC10aXRsZSA+ICZfX3NlbGVjdCB7XG4gICAgQGluY2x1ZGUgZm9udC10aXRsZTtcbiAgICBjb2xvcjogdmFyKC0tYy1zZWNvbmRhcnkpO1xuICAgIHBhZGRpbmc6IDAgdmFyKC0tYnVtcCkgMCBjYWxjKHZhcigtLWJ1bXApIC8gMyk7XG4gICAgbWFyZ2luOiAwIGNhbGModmFyKC0tYnVtcCkgLyAzKSAwIDA7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIGFwcGVhcmFuY2U6IG5vbmU7XG4gICAgYm9yZGVyOiAxcHggc29saWQgdmFyKC0tYy1zZWNvbmRhcnkpO1xuICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWMtcHJpbWFyeSk7XG5cbiAgICAmOmhvdmVyLFxuICAgICY6Zm9jdXMge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYy1wcmltYXJ5KTtcbiAgICAgIGNvbG9yOiB2YXIoLS1jLXByaW1hcnkpO1xuICAgICAgYm9yZGVyLWNvbG9yOiB2YXIoLS1jLXByaW1hcnkpO1xuICAgIH1cbiAgfVxuXG4gICZfX2RheXMge1xuICAgIGdhcDogMTBweDtcbiAgfVxuXG4gICZfX2RheSB7XG4gICAgdHJhbnNpdGlvbjogMC4zcyB2YXIoLS1lYXNpbmcpO1xuICAgIGN1cnNvcjogcG9pbnRlcjtcblxuICAgICY6aG92ZXIge1xuICAgICAgY29sb3I6IHZhcigtLWMtcHJpbWFyeSk7XG4gICAgICBiYWNrZ3JvdW5kLWltYWdlOiBub25lO1xuICAgIH1cblxuICAgICYuaXMtYXZhaWxhYmxlIHtcbiAgICAgIGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLWMtc2Vjb25kYXJ5KTtcbiAgICAgIGJhY2tncm91bmQtaW1hZ2U6IG5vbmU7XG5cbiAgICAgICY6aG92ZXIsXG4gICAgICAmOmZvY3VzLFxuICAgICAgJjphY3RpdmUge1xuICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiBub25lO1xuICAgICAgICBib3JkZXItY29sb3I6IHZhcigtLWMtcHJpbWFyeSk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgJi5pcy10b2RheSB7XG4gICAgICBiYWNrZ3JvdW5kLWltYWdlOiBub25lO1xuICAgICAgY29sb3I6IHZhcigtLWMtYmxhY2spO1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYy10ZXJ0aWFyeSk7XG4gICAgICBib3JkZXItcmFkaXVzOiAxMDAlO1xuICAgIH1cbiAgICAmLmlzLWluLXJhbmdlIHtcbiAgICAgIC8vICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnRpemUodmFyKC0tYy1wcmltYXJ5KSwgMC44KTtcbiAgICAgIGJvcmRlci1jb2xvcjogdmFyKC0tYy1wcmltYXJ5KTtcblxuICAgICAgJjpob3ZlciB7XG4gICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IG5vbmU7XG4gICAgICB9XG4gICAgfVxuICAgICYuaXMtc3RhcnQtZGF0ZSxcbiAgICAmLmlzLXN0YXJ0LWRhdGUuaXMtaW4tcmFuZ2UsXG4gICAgJi5pcy1lbmQtZGF0ZS5pcy1pbi1yYW5nZSxcbiAgICAmLmlzLXN0YXJ0LWRhdGUuaXMtaW4tcmFuZ2UuaXMtZmxpcHBlZCxcbiAgICAmLmlzLWVuZC1kYXRlLmlzLWluLXJhbmdlLmlzLWZsaXBwZWQge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYy1wcmltYXJ5KTtcbiAgICAgIGNvbG9yOiB2YXIoLS1jLXByaW1hcnkpO1xuICAgIH1cblxuICAgICYuaXMtc3RhcnQtZGF0ZS5pcy1lbmQtZGF0ZS5pcy1pbi1yYW5nZSB7XG4gICAgICBiYWNrZ3JvdW5kLWltYWdlOiBub25lO1xuICAgICAgYm9yZGVyLXJhZGl1czogMDtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWMtcHJpbWFyeSk7XG4gICAgICBjb2xvcjogdmFyKC0tYy1wcmltYXJ5KTtcbiAgICAgIGJvcmRlci1jb2xvcjogdmFyKC0tYy1wcmltYXJ5KTtcbiAgICB9XG4gIH1cblxuICAmX19wcmV2aW91cy1hY3Rpb24sXG4gICZfX25leHQtYWN0aW9uIHtcbiAgICBAaW5jbHVkZSBybS10ZXh0O1xuICAgIGJvcmRlci1yYWRpdXM6IDA7XG4gICAgYm9yZGVyOiAxcHggc29saWQgdHJhbnNwYXJlbnQ7XG4gICAgcGFkZGluZzogMDtcblxuICAgIC5jaGV2cm9uIHtcbiAgICAgIGZpbGw6IHZhcigtLWMtc2Vjb25kYXJ5KTtcbiAgICB9XG5cbiAgICAmOmhvdmVyIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWMtcHJpbWFyeSk7XG4gICAgICBib3JkZXItY29sb3I6IHZhcigtLWMtcHJpbWFyeSk7XG5cbiAgICAgIC5jaGV2cm9uIHtcbiAgICAgICAgZmlsbDogdmFyKC0tYy1wcmltYXJ5KTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgJl9fcHJldmlvdXMtYWN0aW9uIHtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoJy4uL2ltZy9pY29uLWxlZnQtY2hldnJvbi5zdmcnKTtcblxuICAgICY6aG92ZXIge1xuICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKCcuLi9pbWcvaWNvbi1sZWZ0LWNoZXZyb24tYmxhY2suc3ZnJyk7XG4gICAgfVxuICB9XG4gICZfX25leHQtYWN0aW9uIHtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoJy4uL2ltZy9pY29uLXJpZ2h0LWNoZXZyb24uc3ZnJyk7XG5cbiAgICAmOmhvdmVyIHtcbiAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCgnLi4vaW1nL2ljb24tcmlnaHQtY2hldnJvbi1ibGFjay5zdmcnKTtcbiAgICB9XG4gIH1cbn1cblxuLmJ0bi0tY2FsZW5kYXIge1xuICBtYXJnaW4tdG9wOiB2YXIoLS1idW1wKTtcbiAgZGlzcGxheTogbm9uZTtcblxuICAmLmFjdGl2ZSB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgYW5pbWF0aW9uOiBmYWRlSW4gMC4ycyB2YXIoLS1lYXNpbmcpIGZvcndhcmRzO1xuICB9XG59XG4iLCIuc2xpZGluZy1wb3B1cC1ib3R0b20ge1xuICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWMtY2hhcmNvYWwpO1xuICAgIGJveC1zaGFkb3c6IDAgLTJweCAyOHB4IDAgcmdiKDI5IDI5IDI3IC8gNiUpO1xuICAgIHdpZHRoOiAxMDAlO1xuICBcbiAgICAuZXUtY29va2llLWNvbXBsaWFuY2Uge1xuICAgICAgJi1tZXNzYWdlIHtcbiAgICAgICAgbWF4LXdpZHRoOiA2NSU7XG4gICAgICAgIEBpbmNsdWRlIG1lZGlhKCc8bGcnKSB7XG4gICAgICAgICAgbWF4LXdpZHRoOiA2MCU7XG4gICAgICAgIH1cbiAgICAgICAgQGluY2x1ZGUgbWVkaWEoJzxtZCcpIHtcbiAgICAgICAgICBtYXgtd2lkdGg6IDUwJTtcbiAgICAgICAgfVxuICAgICAgICBAaW5jbHVkZSBtZWRpYSgnPHNtJykge1xuICAgICAgICAgIG1heC13aWR0aDogMTAwJTtcbiAgICAgICAgfVxuICAgICAgICBoMiB7XG4gICAgICAgICAgbGluZS1oZWlnaHQ6IDEuMjtcbiAgICAgICAgICBmb250LXNpemU6IGNsYW1wKDE4cHgsIDd2dywgdmFyKC0tZm9udFNpemVIZWFkaW5nRm91cikpO1xuICAgICAgICB9XG4gICAgICAgIHAge1xuICAgICAgICAgIGRpc3BsYXk6IGlubGluZTtcbiAgICAgICAgICBjb2xvcjogdmFyKC0tYy1zZWNvbmRhcnkpO1xuICAgICAgICB9XG4gICAgICAgIGEge1xuICAgICAgICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgICYtbW9yZS1idXR0b24ge1xuICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZTtcbiAgICAgICAgaGVpZ2h0OiBhdXRvO1xuICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICAgIGJvcmRlcjogbm9uZTtcbiAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XG4gICAgICAgIGJhY2tncm91bmQ6IG5vbmU7XG4gICAgICAgIGNvbG9yOiB2YXIoLS1jLXNlY29uZGFyeSk7XG4gICAgICB9XG5cbiAgICAgICYtY29udGVudCB7XG4gICAgICAgIG1hcmdpbjogMTVweCBhdXRvO1xuICAgICAgICBwYWRkaW5nOiAxNXB4O1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gICAgICAgIG1heC13aWR0aDogMTI2MHB4O1xuICAgICAgICBAaW5jbHVkZSBtZWRpYSgnPHNtJykge1xuICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgICYtYnV0dG9ucyB7XG4gICAgICAgIG1heC13aWR0aDogMzUlO1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTEwJSk7XG4gICAgICAgIGFsaWduLXNlbGY6IGZsZXgtZW5kO1xuXG4gICAgICAgIEBpbmNsdWRlIG1lZGlhKCc8bGcnKSB7XG4gICAgICAgICAgbWF4LXdpZHRoOiA0MCU7XG4gICAgICAgIH1cbiAgICAgICAgQGluY2x1ZGUgbWVkaWEoJzxtZCcpIHtcbiAgICAgICAgICBtYXgtd2lkdGg6IDUwJTtcbiAgICAgICAgfVxuICAgICAgICBAaW5jbHVkZSBtZWRpYSgnPHNtJykge1xuICAgICAgICAgIG1heC13aWR0aDogMTAwJTtcbiAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICB0cmFuc2Zvcm06IG5vbmU7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgXG4gICAgICAmLXNlY29uZGFyeS1idXR0b24ge1xuICAgICAgICBAaW5jbHVkZSBidG47XG4gICAgICAgIEBpbmNsdWRlIGJ0bi1hbHQ7XG4gICAgICAgIGJvcmRlcjogbm9uZTtcbiAgICBcbiAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgQGluY2x1ZGUgYnRuLWFsdC1ob3ZlcjtcbiAgICAgICAgfVxuICAgICAgICBjb2xvcjogdmFyKC0tYy1ibGFjayk7XG4gICAgICAgIG1hcmdpbjogMCAzMHB4IDAgMDtcbiAgXG4gICAgICAgIEBpbmNsdWRlIG1lZGlhKCc8c20nKSB7XG4gICAgICAgICAgbWFyZ2luOiAzMHB4IDAgMCAwO1xuICAgICAgICB9XG4gIFxuICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICBAaW5jbHVkZSBidG4tYWx0LWhvdmVyO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgICAmLWRlZmF1bHQtYnV0dG9uIHtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICBAaW5jbHVkZSBidG47XG4gICAgICAgIEBpbmNsdWRlIGJ0bi1uby1iZztcbiAgICAgICAgYm9yZGVyOiBub25lO1xuXG4gICAgICAgICY6aG92ZXIge1xuICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICAgICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICAgICAgfVxuICBcbiAgICAgICAgQGluY2x1ZGUgbWVkaWEoJzxzbScpIHtcbiAgICAgICAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgICAgICAgbWFyZ2luOiAzMHB4IDAgMCAwO1xuICAgICAgICB9XG4gIFxuICAgICAgICAmOmFmdGVyIHtcbiAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgcmlnaHQ6IDA7XG4gICAgICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogcmlnaHQ7XG4gICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDEwMCUpO1xuICAgICAgICB9XG4gICAgICAgICY6aG92ZXIge1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG4gICIsIi8qKlxuKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4qIFVuLnRpdGxlZFxuKiBNb2xlY3VsZXMgLSBBcmNoaXZlXG4qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiovXG5cbi8qKlxuKiBDb25maWdcbiovXG5cbi8qKlxuKiBTdHlsaW5nXG4qL1xuLm0tYXJjaGl2ZSB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG5cbiAgbGFiZWwge1xuICAgIEBpbmNsdWRlIGZvbnQtdGl0bGU7XG4gICAgbWFyZ2luLWJvdHRvbTogdmFyKC0tYnVtcC8yKTtcbiAgfVxufVxuXG4gIC5jaG9pY2VzIHtcbiAgICAmX19pbm5lciB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jLXNlY29uZGFyeSk7XG4gICAgICBib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1jLXNlY29uZGFyeSk7XG4gICAgICBib3JkZXItcmFkaXVzOiA0cHg7XG4gICAgICBjb2xvcjogdmFyKC0tYy1wcmltYXJ5KTtcbiAgICAgIHBhZGRpbmc6IDcuNXB4IDE1cHggMy43NXB4O1xuICAgIH1cblxuICAgICYuaXMtb3BlbiAuY2hvaWNlc19faW5uZXIge1xuICAgICAgYm9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1czogMDtcbiAgICAgIGJvcmRlci1ib3R0b20tcmlnaHQtcmFkaXVzOiAwO1xuICAgIH1cblxuICAgICZfX2xpc3QtLWRyb3Bkb3duIHtcbiAgICAgIGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLWMtc2Vjb25kYXJ5KTtcblxuICAgICAgLmNob2ljZXNfX2l0ZW0tLXNlbGVjdGFibGUge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jLXNlY29uZGFyeSk7XG4gICAgICAgIGNvbG9yOiB2YXIoLS1jLXByaW1hcnkpO1xuICAgICAgICBwYWRkaW5nLXJpZ2h0OiAwO1xuXG4gICAgICAgICYuaXMtaGlnaGxpZ2h0ZWQge1xuICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWMtZ3JleSk7XG5cbiAgICAgICAgICAmOjphZnRlciB7XG4gICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgICAmOmFmdGVyIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxuICAgICY6YmVmb3JlIHtcbiAgICAgIEBpbmNsdWRlIGJnLWltZygxMHB4KTtcbiAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCguLi9pbWcvZHJvcGRvd24uc3ZnKTtcbiAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgd2lkdGg6IDIwcHg7XG4gICAgICBoZWlnaHQ6IDIwcHg7XG4gICAgICByaWdodDogNy41cHg7XG4gICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoNzUlKTtcbiAgICB9XG59XG4iLCIvKipcbiogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuKiBVbi50aXRsZWRcbiogTW9sZWN1bGVzIC0gR2FsbGVyeVxuKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4qL1xuXG4vKipcbiogQ29uZmlnXG4qL1xuXG4vKipcbiogU3R5bGluZ1xuKi9cbi5tLWdhbGxlcnkge1xuICAgIC5wc3dwX19idXR0b24ge1xuICAgICAgd2lkdGg6IDQ0cHg7XG4gICAgICBoZWlnaHQ6IDQ0cHg7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICBiYWNrZ3JvdW5kOiBub25lO1xuICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgICAgb3ZlcmZsb3c6IHZpc2libGU7XG4gICAgICBhcHBlYXJhbmNlOiBub25lO1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICBib3JkZXI6IDA7XG4gICAgICBwYWRkaW5nOiAwO1xuICAgICAgbWFyZ2luOiAwO1xuICAgICAgZmxvYXQ6IHJpZ2h0O1xuICAgICAgb3BhY2l0eTogMC43NTtcbiAgICAgIHRyYW5zaXRpb246IGFsbCB2YXIoLS10cmFuc2l0aW9uKTtcbiAgICB9XG4gICAgLnBzd3BfX2J1dHRvbjpmb2N1cyxcbiAgICAucHN3cF9fYnV0dG9uOmhvdmVyIHtcbiAgICAgIG9wYWNpdHk6IDE7XG4gICAgfVxuICAgIC5wc3dwX19idXR0b246YWN0aXZlIHtcbiAgICAgIG91dGxpbmU6IG5vbmU7XG4gICAgICBvcGFjaXR5OiAwLjk7XG4gICAgfVxuICAgIC5wc3dwX19idXR0b246Oi1tb3otZm9jdXMtaW5uZXIge1xuICAgICAgcGFkZGluZzogMDtcbiAgICAgIGJvcmRlcjogMDtcbiAgICB9XG4gIFxuICAgIC8qIHBzd3BfX3VpLS1vdmVyLWNsb3NlIGNsYXNzIGl0IGFkZGVkIHdoZW4gbW91c2UgaXMgb3ZlciBlbGVtZW50IHRoYXQgc2hvdWxkIGNsb3NlIGdhbGxlcnkgKi9cbiAgICAucHN3cF9fdWktLW92ZXItY2xvc2UgLnBzd3BfX2J1dHRvbi0tY2xvc2Uge1xuICAgICAgb3BhY2l0eTogMTtcbiAgICB9XG4gIFxuICAgIC5wc3dwX19idXR0b24sXG4gICAgLnBzd3BfX2J1dHRvbi0tYXJyb3ctLWxlZnQ6YmVmb3JlLFxuICAgIC5wc3dwX19idXR0b24tLWFycm93LS1yaWdodDpiZWZvcmUge1xuICAgICAgYmFja2dyb3VuZDogdXJsKCcuLi9pbWcvZGVmYXVsdC1za2luLnBuZycpIDAgMCBuby1yZXBlYXQ7XG4gICAgICBiYWNrZ3JvdW5kLXNpemU6IDI2NHB4IDg4cHg7XG4gICAgICB3aWR0aDogNDRweDtcbiAgICAgIGhlaWdodDogNDRweDtcbiAgICB9XG4gIFxuICAgIEBtZWRpYSAoLXdlYmtpdC1taW4tZGV2aWNlLXBpeGVsLXJhdGlvOiAxLjEpLFxuICAgICAgKC13ZWJraXQtbWluLWRldmljZS1waXhlbC1yYXRpbzogMS4wOTM3NSksXG4gICAgICAobWluLXJlc29sdXRpb246IDEwNWRwaSksXG4gICAgICAobWluLXJlc29sdXRpb246IDEuMWRwcHgpIHtcbiAgICAgIC8qIFNlcnZlIFNWRyBzcHJpdGUgaWYgYnJvd3NlciBzdXBwb3J0cyBTVkcgYW5kIHJlc29sdXRpb24gaXMgbW9yZSB0aGFuIDEwNWRwaSAqL1xuICAgICAgLnBzd3AtLXN2ZyAucHN3cF9fYnV0dG9uLFxuICAgICAgLnBzd3AtLXN2ZyAucHN3cF9fYnV0dG9uLS1hcnJvdy0tbGVmdDpiZWZvcmUsXG4gICAgICAucHN3cC0tc3ZnIC5wc3dwX19idXR0b24tLWFycm93LS1yaWdodDpiZWZvcmUge1xuICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoJy4uL2ltZy9kZWZhdWx0LXNraW4uc3ZnJyk7XG4gICAgICB9XG4gICAgICAucHN3cC0tc3ZnIC5wc3dwX19idXR0b24tLWFycm93LS1sZWZ0LFxuICAgICAgLnBzd3AtLXN2ZyAucHN3cF9fYnV0dG9uLS1hcnJvdy0tcmlnaHQge1xuICAgICAgICBiYWNrZ3JvdW5kOiBub25lO1xuICAgICAgfVxuICAgIH1cbiAgXG4gICAgLnBzd3BfX2J1dHRvbi0tY2xvc2Uge1xuICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogMCAtNDRweDtcbiAgICB9XG4gIFxuICAgIC5wc3dwX19idXR0b24tLXNoYXJlIHtcbiAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IC00NHB4IC00NHB4O1xuICAgIH1cbiAgXG4gICAgLnBzd3BfX2J1dHRvbi0tZnMge1xuICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG4gIFxuICAgIC5wc3dwLS1zdXBwb3J0cy1mcyAucHN3cF9fYnV0dG9uLS1mcyB7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICB9XG4gIFxuICAgIC5wc3dwLS1mcyAucHN3cF9fYnV0dG9uLS1mcyB7XG4gICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtNDRweCAwO1xuICAgIH1cbiAgXG4gICAgLnBzd3BfX2J1dHRvbi0tem9vbSB7XG4gICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogLTg4cHggMDtcbiAgICB9XG4gIFxuICAgIC5wc3dwLS16b29tLWFsbG93ZWQgLnBzd3BfX2J1dHRvbi0tem9vbSB7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICB9XG4gIFxuICAgIC5wc3dwLS16b29tZWQtaW4gLnBzd3BfX2J1dHRvbi0tem9vbSB7XG4gICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMTMycHggMDtcbiAgICB9XG4gIFxuICAgIC8qIG5vIGFycm93cyBvbiB0b3VjaCBzY3JlZW5zICovXG4gICAgLnBzd3AtLXRvdWNoIC5wc3dwX19idXR0b24tLWFycm93LS1sZWZ0LFxuICAgIC5wc3dwLS10b3VjaCAucHN3cF9fYnV0dG9uLS1hcnJvdy0tcmlnaHQge1xuICAgICAgdmlzaWJpbGl0eTogaGlkZGVuO1xuICAgIH1cbiAgXG4gICAgLypcbiAgICAgIEFycm93IGJ1dHRvbnMgaGl0IGFyZWFcbiAgICAgIChpY29uIGlzIGFkZGVkIHRvIDpiZWZvcmUgcHNldWRvLWVsZW1lbnQpXG4gICAgKi9cbiAgICAucHN3cF9fYnV0dG9uLS1hcnJvdy0tbGVmdCxcbiAgICAucHN3cF9fYnV0dG9uLS1hcnJvdy0tcmlnaHQge1xuICAgICAgYmFja2dyb3VuZDogbm9uZTtcbiAgICAgIHRvcDogNTAlO1xuICAgICAgbWFyZ2luLXRvcDogLTUwcHg7XG4gICAgICB3aWR0aDogNzBweDtcbiAgICAgIGhlaWdodDogMTAwcHg7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgfVxuICBcbiAgICAucHN3cF9fYnV0dG9uLS1hcnJvdy0tbGVmdCB7XG4gICAgICBsZWZ0OiAwO1xuICAgIH1cbiAgXG4gICAgLnBzd3BfX2J1dHRvbi0tYXJyb3ctLXJpZ2h0IHtcbiAgICAgIHJpZ2h0OiAwO1xuICAgIH1cbiAgXG4gICAgLnBzd3BfX2J1dHRvbi0tYXJyb3ctLWxlZnQ6YmVmb3JlLFxuICAgIC5wc3dwX19idXR0b24tLWFycm93LS1yaWdodDpiZWZvcmUge1xuICAgICAgY29udGVudDogJyc7XG4gICAgICB0b3A6IDM1cHg7XG4gICAgICAvLyBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuMyk7XG4gICAgICBoZWlnaHQ6IDMwcHg7XG4gICAgICB3aWR0aDogMzJweDtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB9XG4gIFxuICAgIC5wc3dwX19idXR0b24tLWFycm93LS1sZWZ0OmJlZm9yZSB7XG4gICAgICBsZWZ0OiA2cHg7XG4gICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMTM4cHggLTQ0cHg7XG4gICAgfVxuICBcbiAgICAucHN3cF9fYnV0dG9uLS1hcnJvdy0tcmlnaHQ6YmVmb3JlIHtcbiAgICAgIHJpZ2h0OiA2cHg7XG4gICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtOTRweCAtNDRweDtcbiAgICB9XG4gIFxuICAgIC8qXG4gICAgXG4gICAgICAyLiBTaGFyZSBtb2RhbC9wb3B1cCBhbmQgbGlua3NcbiAgICBcbiAgICAgKi9cbiAgICAucHN3cF9fY291bnRlcixcbiAgICAucHN3cF9fc2hhcmUtbW9kYWwge1xuICAgICAgLXdlYmtpdC11c2VyLXNlbGVjdDogbm9uZTtcbiAgICAgIC1tb3otdXNlci1zZWxlY3Q6IG5vbmU7XG4gICAgICAtbXMtdXNlci1zZWxlY3Q6IG5vbmU7XG4gICAgICB1c2VyLXNlbGVjdDogbm9uZTtcbiAgICB9XG4gIFxuICAgIC5wc3dwX19zaGFyZS1tb2RhbCB7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIGJhY2tncm91bmQ6IHJnYmEoMCwgMCwgMCwgMC41KTtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgdG9wOiAwO1xuICAgICAgbGVmdDogMDtcbiAgICAgIHBhZGRpbmc6IDEwcHg7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICB6LWluZGV4OiAxNjAwO1xuICAgICAgb3BhY2l0eTogMDtcbiAgICAgIC13ZWJraXQtdHJhbnNpdGlvbjogb3BhY2l0eSAwLjI1cyBlYXNlLW91dDtcbiAgICAgIHRyYW5zaXRpb246IG9wYWNpdHkgMC4yNXMgZWFzZS1vdXQ7XG4gICAgICAtd2Via2l0LWJhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlbjtcbiAgICAgIGJhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlbjtcbiAgICAgIHdpbGwtY2hhbmdlOiBvcGFjaXR5O1xuICAgIH1cbiAgXG4gICAgLnBzd3BfX3NoYXJlLW1vZGFsLS1oaWRkZW4ge1xuICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG4gIFxuICAgIC5wc3dwX19zaGFyZS10b29sdGlwIHtcbiAgICAgIHotaW5kZXg6IDE2MjA7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICBiYWNrZ3JvdW5kOiB2YXIoLS1jLXdoaXRlKTtcbiAgICAgIHRvcDogNTZweDtcbiAgICAgIGJvcmRlci1yYWRpdXM6IDJweDtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgd2lkdGg6IGF1dG87XG4gICAgICByaWdodDogNDRweDtcbiAgICAgIC13ZWJraXQtYm94LXNoYWRvdzogMCAycHggNXB4IHJnYmEoMCwgMCwgMCwgMC4yNSk7XG4gICAgICBib3gtc2hhZG93OiAwIDJweCA1cHggcmdiYSgwLCAwLCAwLCAwLjI1KTtcbiAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDZweCk7XG4gICAgICAtbXMtdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDZweCk7XG4gICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoNnB4KTtcbiAgICAgIC13ZWJraXQtdHJhbnNpdGlvbjogLXdlYmtpdC10cmFuc2Zvcm0gMC4yNXM7XG4gICAgICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMC4yNXM7XG4gICAgICAtd2Via2l0LWJhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlbjtcbiAgICAgIGJhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlbjtcbiAgICAgIHdpbGwtY2hhbmdlOiB0cmFuc2Zvcm07XG4gICAgfVxuICAgIC5wc3dwX19zaGFyZS10b29sdGlwIGEge1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICBwYWRkaW5nOiA4cHggMTJweDtcbiAgICAgIGNvbG9yOiB2YXIoLS1jLXByaW1hcnkpO1xuICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgICAgZm9udC1zaXplOiAxNHB4O1xuICAgICAgbGluZS1oZWlnaHQ6IDE4cHg7XG4gICAgfVxuICAgIC5wc3dwX19zaGFyZS10b29sdGlwIGE6aG92ZXIge1xuICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgICAgY29sb3I6IHZhcigtLWMtcHJpbWFyeSk7XG4gICAgfVxuICAgIC5wc3dwX19zaGFyZS10b29sdGlwIGE6Zmlyc3QtY2hpbGQge1xuICAgICAgLyogcm91bmQgY29ybmVycyBvbiB0aGUgZmlyc3QvbGFzdCBsaXN0IGl0ZW0gKi9cbiAgICAgIGJvcmRlci1yYWRpdXM6IDJweCAycHggMCAwO1xuICAgIH1cbiAgICAucHN3cF9fc2hhcmUtdG9vbHRpcCBhOmxhc3QtY2hpbGQge1xuICAgICAgYm9yZGVyLXJhZGl1czogMCAwIDJweCAycHg7XG4gICAgfVxuICBcbiAgICAucHN3cF9fc2hhcmUtbW9kYWwtLWZhZGUtaW4ge1xuICAgICAgb3BhY2l0eTogMTtcbiAgICB9XG4gICAgLnBzd3BfX3NoYXJlLW1vZGFsLS1mYWRlLWluIC5wc3dwX19zaGFyZS10b29sdGlwIHtcbiAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApO1xuICAgICAgLW1zLXRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKTtcbiAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKTtcbiAgICB9XG4gIFxuICAgIC8qIGluY3JlYXNlIHNpemUgb2Ygc2hhcmUgbGlua3Mgb24gdG91Y2ggZGV2aWNlcyAqL1xuICAgIC5wc3dwLS10b3VjaCAucHN3cF9fc2hhcmUtdG9vbHRpcCBhIHtcbiAgICAgIHBhZGRpbmc6IDE2cHggMTJweDtcbiAgICB9XG4gIFxuICAgIGEucHN3cF9fc2hhcmUtLWZhY2Vib29rOmJlZm9yZSB7XG4gICAgICBjb250ZW50OiAnJztcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgd2lkdGg6IDA7XG4gICAgICBoZWlnaHQ6IDA7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICB0b3A6IC0xMnB4O1xuICAgICAgcmlnaHQ6IDE1cHg7XG4gICAgICBib3JkZXI6IDZweCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgICAgIGJvcmRlci1ib3R0b20tY29sb3I6IHZhcigtLWMtd2hpdGUpO1xuICAgICAgLXdlYmtpdC1wb2ludGVyLWV2ZW50czogbm9uZTtcbiAgICAgIC1tb3otcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gICAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgICB9XG4gIFxuICAgIGEucHN3cF9fc2hhcmUtLWZhY2Vib29rOmhvdmVyIHtcbiAgICAgIGJhY2tncm91bmQ6ICMzZTVjOWE7XG4gICAgICBjb2xvcjogdmFyKC0tYy13aGl0ZSk7XG4gICAgfVxuICAgIGEucHN3cF9fc2hhcmUtLWZhY2Vib29rOmhvdmVyOmJlZm9yZSB7XG4gICAgICBib3JkZXItYm90dG9tLWNvbG9yOiAjM2U1YzlhO1xuICAgIH1cbiAgXG4gICAgYS5wc3dwX19zaGFyZS0tdHdpdHRlcjpob3ZlciB7XG4gICAgICBiYWNrZ3JvdW5kOiAjNTVhY2VlO1xuICAgICAgY29sb3I6IHZhcigtLWMtd2hpdGUpO1xuICAgIH1cbiAgXG4gICAgYS5wc3dwX19zaGFyZS0tcGludGVyZXN0OmhvdmVyIHtcbiAgICAgIGJhY2tncm91bmQ6ICNjY2M7XG4gICAgICBjb2xvcjogI2NlMjcyZDtcbiAgICB9XG4gIFxuICAgIGEucHN3cF9fc2hhcmUtLWRvd25sb2FkOmhvdmVyIHtcbiAgICAgIGJhY2tncm91bmQ6ICNkZGQ7XG4gICAgfVxuICBcbiAgICAvKlxuICAgIFxuICAgICAgMy4gSW5kZXggaW5kaWNhdG9yIChcIjEgb2YgWFwiIGNvdW50ZXIpXG4gICAgXG4gICAgICovXG4gICAgLnBzd3BfX2NvdW50ZXIge1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgbGVmdDogMDtcbiAgICAgIHRvcDogMDtcbiAgICAgIGhlaWdodDogNDRweDtcbiAgICAgIGZvbnQtc2l6ZTogMTNweDtcbiAgICAgIGxpbmUtaGVpZ2h0OiA0NHB4O1xuICAgICAgY29sb3I6IHZhcigtLWMtd2hpdGUpO1xuICAgICAgb3BhY2l0eTogMC43NTtcbiAgICAgIHBhZGRpbmc6IDAgMTBweDtcbiAgICB9XG4gIFxuICAgIC8qXG4gICAgICBcbiAgICAgIDQuIENhcHRpb25cbiAgICBcbiAgICAgKi9cbiAgICAucHN3cF9fY2FwdGlvbiB7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICBsZWZ0OiAwO1xuICAgICAgYm90dG9tOiAwO1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICBtaW4taGVpZ2h0OiA0NHB4O1xuICAgIH1cbiAgICAucHN3cF9fY2FwdGlvbiBzbWFsbCB7XG4gICAgICBmb250LXNpemU6IDExcHg7XG4gICAgICBjb2xvcjogI2JiYjtcbiAgICB9XG4gIFxuICAgIC5wc3dwX19jYXB0aW9uX19jZW50ZXIge1xuICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgbWF4LXdpZHRoOiA3MDBweDtcbiAgICAgIG1hcmdpbjogMCBhdXRvO1xuICAgICAgcGFkZGluZzogMC41cmVtO1xuICAgICAgY29sb3I6IHZhcigtLWMtcHJpbWFyeSk7XG4gICAgfVxuICBcbiAgICAucHN3cF9fY2FwdGlvbi0tZW1wdHkge1xuICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG4gIFxuICAgIC8qIEZha2UgY2FwdGlvbiBlbGVtZW50LCB1c2VkIHRvIGNhbGN1bGF0ZSBoZWlnaHQgb2YgbmV4dC9wcmV2IGltYWdlICovXG4gICAgLnBzd3BfX2NhcHRpb24tLWZha2Uge1xuICAgICAgdmlzaWJpbGl0eTogaGlkZGVuO1xuICAgIH1cbiAgXG4gICAgLypcbiAgICBcbiAgICAgIDUuIExvYWRpbmcgaW5kaWNhdG9yIChwcmVsb2FkZXIpXG4gICAgXG4gICAgICBZb3UgY2FuIHBsYXkgd2l0aCBpdCBoZXJlIC0gaHR0cDovL2NvZGVwZW4uaW8vZGltc2VtZW5vdi9wZW4veXlCV29SXG4gICAgXG4gICAgICovXG4gICAgLnBzd3BfX3ByZWxvYWRlciB7XG4gICAgICB3aWR0aDogNDRweDtcbiAgICAgIGhlaWdodDogNDRweDtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHRvcDogMDtcbiAgICAgIGxlZnQ6IDUwJTtcbiAgICAgIG1hcmdpbi1sZWZ0OiAtMjJweDtcbiAgICAgIG9wYWNpdHk6IDA7XG4gICAgICAtd2Via2l0LXRyYW5zaXRpb246IG9wYWNpdHkgMC4yNXMgZWFzZS1vdXQ7XG4gICAgICB0cmFuc2l0aW9uOiBvcGFjaXR5IDAuMjVzIGVhc2Utb3V0O1xuICAgICAgd2lsbC1jaGFuZ2U6IG9wYWNpdHk7XG4gICAgICBkaXJlY3Rpb246IGx0cjtcbiAgICB9XG4gIFxuICAgIC5wc3dwX19wcmVsb2FkZXJfX2ljbiB7XG4gICAgICB3aWR0aDogMjBweDtcbiAgICAgIGhlaWdodDogMjBweDtcbiAgICAgIG1hcmdpbjogMTJweDtcbiAgICB9XG4gIFxuICAgIC5wc3dwX19wcmVsb2FkZXItLWFjdGl2ZSB7XG4gICAgICBvcGFjaXR5OiAxO1xuICAgIH1cbiAgICAucHN3cF9fcHJlbG9hZGVyLS1hY3RpdmUgLnBzd3BfX3ByZWxvYWRlcl9faWNuIHtcbiAgICAgIC8qIFdlIHVzZSAuZ2lmIGluIGJyb3dzZXJzIHRoYXQgZG9uJ3Qgc3VwcG9ydCBDU1MgYW5pbWF0aW9uICovXG4gICAgICBiYWNrZ3JvdW5kOiB1cmwoLi4vaW1nL3ByZWxvYWRlci5naWYpIDAgMCBuby1yZXBlYXQ7XG4gICAgfVxuICBcbiAgICAucHN3cC0tY3NzX2FuaW1hdGlvbiAucHN3cF9fcHJlbG9hZGVyLS1hY3RpdmUge1xuICAgICAgb3BhY2l0eTogMTtcbiAgICB9XG4gICAgLnBzd3AtLWNzc19hbmltYXRpb24gLnBzd3BfX3ByZWxvYWRlci0tYWN0aXZlIC5wc3dwX19wcmVsb2FkZXJfX2ljbiB7XG4gICAgICAtd2Via2l0LWFuaW1hdGlvbjogY2xvY2t3aXNlIDUwMG1zIGxpbmVhciBpbmZpbml0ZTtcbiAgICAgIGFuaW1hdGlvbjogY2xvY2t3aXNlIDUwMG1zIGxpbmVhciBpbmZpbml0ZTtcbiAgICB9XG4gICAgLnBzd3AtLWNzc19hbmltYXRpb24gLnBzd3BfX3ByZWxvYWRlci0tYWN0aXZlIC5wc3dwX19wcmVsb2FkZXJfX2RvbnV0IHtcbiAgICAgIC13ZWJraXQtYW5pbWF0aW9uOiBkb251dC1yb3RhdGUgMTAwMG1zIGN1YmljLWJlemllcigwLjQsIDAsIDAuMjIsIDEpXG4gICAgICAgIGluZmluaXRlO1xuICAgICAgYW5pbWF0aW9uOiBkb251dC1yb3RhdGUgMTAwMG1zIGN1YmljLWJlemllcigwLjQsIDAsIDAuMjIsIDEpIGluZmluaXRlO1xuICAgIH1cbiAgXG4gICAgLnBzd3AtLWNzc19hbmltYXRpb24gLnBzd3BfX3ByZWxvYWRlcl9faWNuIHtcbiAgICAgIGJhY2tncm91bmQ6IG5vbmU7XG4gICAgICBvcGFjaXR5OiAwLjc1O1xuICAgICAgd2lkdGg6IDE0cHg7XG4gICAgICBoZWlnaHQ6IDE0cHg7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICBsZWZ0OiAxNXB4O1xuICAgICAgdG9wOiAxNXB4O1xuICAgICAgbWFyZ2luOiAwO1xuICAgIH1cbiAgXG4gICAgLnBzd3AtLWNzc19hbmltYXRpb24gLnBzd3BfX3ByZWxvYWRlcl9fY3V0IHtcbiAgICAgIC8qIFxuICAgICAgICAgIFRoZSBpZGVhIG9mIGFuaW1hdGluZyBpbm5lciBjaXJjbGUgaXMgYmFzZWQgb24gUG9seW1lciAoXCJtYXRlcmlhbFwiKSBsb2FkaW5nIGluZGljYXRvciBcbiAgICAgICAgICAgYnkgS2VhbnUgTGVlIGh0dHBzOi8vYmxvZy5rZWFudWxlZS5jb20vMjAxNC8xMC8yMC90aGUtdGFsZS1vZi10aHJlZS1zcGlubmVycy5odG1sXG4gICAgICAgICovXG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICB3aWR0aDogN3B4O1xuICAgICAgaGVpZ2h0OiAxNHB4O1xuICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICB9XG4gIFxuICAgIC5wc3dwLS1jc3NfYW5pbWF0aW9uIC5wc3dwX19wcmVsb2FkZXJfX2RvbnV0IHtcbiAgICAgIC13ZWJraXQtYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgICB3aWR0aDogMTRweDtcbiAgICAgIGhlaWdodDogMTRweDtcbiAgICAgIGJvcmRlcjogMnB4IHNvbGlkIHZhcigtLWMtd2hpdGUpO1xuICAgICAgYm9yZGVyLXJhZGl1czogNTAlO1xuICAgICAgYm9yZGVyLWxlZnQtY29sb3I6IHRyYW5zcGFyZW50O1xuICAgICAgYm9yZGVyLWJvdHRvbS1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICB0b3A6IDA7XG4gICAgICBsZWZ0OiAwO1xuICAgICAgYmFja2dyb3VuZDogbm9uZTtcbiAgICAgIG1hcmdpbjogMDtcbiAgICB9XG4gIFxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDEwMjRweCkge1xuICAgICAgLnBzd3BfX3ByZWxvYWRlciB7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgbGVmdDogYXV0bztcbiAgICAgICAgdG9wOiBhdXRvO1xuICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgIGZsb2F0OiByaWdodDtcbiAgICAgIH1cbiAgICB9XG4gIFxuICAgIEAtd2Via2l0LWtleWZyYW1lcyBjbG9ja3dpc2Uge1xuICAgICAgMCUge1xuICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlKDBkZWcpO1xuICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSgwZGVnKTtcbiAgICAgIH1cbiAgICAgIDEwMCUge1xuICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlKDM2MGRlZyk7XG4gICAgICAgIHRyYW5zZm9ybTogcm90YXRlKDM2MGRlZyk7XG4gICAgICB9XG4gICAgfVxuICBcbiAgICBAa2V5ZnJhbWVzIGNsb2Nrd2lzZSB7XG4gICAgICAwJSB7XG4gICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUoMGRlZyk7XG4gICAgICAgIHRyYW5zZm9ybTogcm90YXRlKDBkZWcpO1xuICAgICAgfVxuICAgICAgMTAwJSB7XG4gICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUoMzYwZGVnKTtcbiAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoMzYwZGVnKTtcbiAgICAgIH1cbiAgICB9XG4gIFxuICAgIEAtd2Via2l0LWtleWZyYW1lcyBkb251dC1yb3RhdGUge1xuICAgICAgMCUge1xuICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlKDApO1xuICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSgwKTtcbiAgICAgIH1cbiAgICAgIDUwJSB7XG4gICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUoLTE0MGRlZyk7XG4gICAgICAgIHRyYW5zZm9ybTogcm90YXRlKC0xNDBkZWcpO1xuICAgICAgfVxuICAgICAgMTAwJSB7XG4gICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUoMCk7XG4gICAgICAgIHRyYW5zZm9ybTogcm90YXRlKDApO1xuICAgICAgfVxuICAgIH1cbiAgXG4gICAgQGtleWZyYW1lcyBkb251dC1yb3RhdGUge1xuICAgICAgMCUge1xuICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlKDApO1xuICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSgwKTtcbiAgICAgIH1cbiAgICAgIDUwJSB7XG4gICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUoLTE0MGRlZyk7XG4gICAgICAgIHRyYW5zZm9ybTogcm90YXRlKC0xNDBkZWcpO1xuICAgICAgfVxuICAgICAgMTAwJSB7XG4gICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUoMCk7XG4gICAgICAgIHRyYW5zZm9ybTogcm90YXRlKDApO1xuICAgICAgfVxuICAgIH1cbiAgXG4gICAgLypcbiAgICAgIFxuICAgICAgNi4gQWRkaXRpb25hbCBzdHlsZXNcbiAgICBcbiAgICAgKi9cbiAgICAvKiByb290IGVsZW1lbnQgb2YgVUkgKi9cbiAgICAucHN3cF9fdWkge1xuICAgICAgLXdlYmtpdC1mb250LXNtb290aGluZzogYXV0bztcbiAgICAgIHZpc2liaWxpdHk6IHZpc2libGU7XG4gICAgICBvcGFjaXR5OiAxO1xuICAgICAgei1pbmRleDogMTU1MDtcbiAgICB9XG4gIFxuICAgIC8qIHRvcCBibGFjayBiYXIgd2l0aCBidXR0b25zIGFuZCBcIjEgb2YgWFwiIGluZGljYXRvciAqL1xuICAgIC5wc3dwX190b3AtYmFyIHtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIGxlZnQ6IDA7XG4gICAgICB0b3A6IDA7XG4gICAgICBoZWlnaHQ6IDQ0cHg7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICB9XG4gIFxuICAgIC5wc3dwX19jYXB0aW9uLFxuICAgIC5wc3dwX190b3AtYmFyLFxuICAgIC5wc3dwLS1oYXNfbW91c2UgLnBzd3BfX2J1dHRvbi0tYXJyb3ctLWxlZnQsXG4gICAgLnBzd3AtLWhhc19tb3VzZSAucHN3cF9fYnV0dG9uLS1hcnJvdy0tcmlnaHQge1xuICAgICAgLXdlYmtpdC1iYWNrZmFjZS12aXNpYmlsaXR5OiBoaWRkZW47XG4gICAgICBiYWNrZmFjZS12aXNpYmlsaXR5OiBoaWRkZW47XG4gICAgICB3aWxsLWNoYW5nZTogb3BhY2l0eTtcbiAgICAgIC13ZWJraXQtdHJhbnNpdGlvbjogb3BhY2l0eSAzMzNtcyBjdWJpYy1iZXppZXIoMC40LCAwLCAwLjIyLCAxKTtcbiAgICAgIHRyYW5zaXRpb246IG9wYWNpdHkgMzMzbXMgY3ViaWMtYmV6aWVyKDAuNCwgMCwgMC4yMiwgMSk7XG4gICAgfVxuICBcbiAgICAvKiBwc3dwLS1oYXNfbW91c2UgY2xhc3MgaXMgYWRkZWQgb25seSB3aGVuIHR3byBzdWJzZXF1ZW50IG1vdXNlbW92ZSBldmVudHMgb2NjdXIgKi9cbiAgICAucHN3cC0taGFzX21vdXNlIC5wc3dwX19idXR0b24tLWFycm93LS1sZWZ0LFxuICAgIC5wc3dwLS1oYXNfbW91c2UgLnBzd3BfX2J1dHRvbi0tYXJyb3ctLXJpZ2h0IHtcbiAgICAgIHZpc2liaWxpdHk6IHZpc2libGU7XG4gICAgfVxuICBcbiAgICAucHN3cF9fdG9wLWJhcixcbiAgICAucHN3cF9fY2FwdGlvbiB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuNSk7XG4gICAgfVxuICBcbiAgICAvKiBwc3dwX191aS0tZml0IGNsYXNzIGlzIGFkZGVkIHdoZW4gbWFpbiBpbWFnZSBcImZpdHNcIiBiZXR3ZWVuIHRvcCBiYXIgYW5kIGJvdHRvbSBiYXIgKGNhcHRpb24pICovXG4gICAgLnBzd3BfX3VpLS1maXQgLnBzd3BfX3RvcC1iYXIsXG4gICAgLnBzd3BfX3VpLS1maXQgLnBzd3BfX2NhcHRpb24ge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjgpO1xuICAgIH1cbiAgXG4gICAgLyogcHN3cF9fdWktLWlkbGUgY2xhc3MgaXMgYWRkZWQgd2hlbiBtb3VzZSBpc24ndCBtb3ZpbmcgZm9yIHNldmVyYWwgc2Vjb25kcyAoSlMgb3B0aW9uIHRpbWVUb0lkbGUpICovXG4gICAgLnBzd3BfX3VpLS1pZGxlIC5wc3dwX190b3AtYmFyIHtcbiAgICAgIG9wYWNpdHk6IDA7XG4gICAgfVxuICBcbiAgICAucHN3cF9fdWktLWlkbGUgLnBzd3BfX2J1dHRvbi0tYXJyb3ctLWxlZnQsXG4gICAgLnBzd3BfX3VpLS1pZGxlIC5wc3dwX19idXR0b24tLWFycm93LS1yaWdodCB7XG4gICAgICBvcGFjaXR5OiAwO1xuICAgIH1cbiAgXG4gICAgLypcbiAgICAgIHBzd3BfX3VpLS1oaWRkZW4gY2xhc3MgaXMgYWRkZWQgd2hlbiBjb250cm9scyBhcmUgaGlkZGVuXG4gICAgICBlLmcuIHdoZW4gdXNlciB0YXBzIHRvIHRvZ2dsZSB2aXNpYmlsaXR5IG9mIGNvbnRyb2xzXG4gICAgKi9cbiAgICAucHN3cF9fdWktLWhpZGRlbiAucHN3cF9fdG9wLWJhcixcbiAgICAucHN3cF9fdWktLWhpZGRlbiAucHN3cF9fY2FwdGlvbixcbiAgICAucHN3cF9fdWktLWhpZGRlbiAucHN3cF9fYnV0dG9uLS1hcnJvdy0tbGVmdCxcbiAgICAucHN3cF9fdWktLWhpZGRlbiAucHN3cF9fYnV0dG9uLS1hcnJvdy0tcmlnaHQge1xuICAgICAgLyogRm9yY2UgcGFpbnQgJiBjcmVhdGUgY29tcG9zaXRpb24gbGF5ZXIgZm9yIGNvbnRyb2xzLiAqL1xuICAgICAgb3BhY2l0eTogMC4wMDE7XG4gICAgfVxuICBcbiAgICAvKiBwc3dwX191aS0tb25lLXNsaWRlIGNsYXNzIGlzIGFkZGVkIHdoZW4gdGhlcmUgaXMganVzdCBvbmUgaXRlbSBpbiBnYWxsZXJ5ICovXG4gICAgLnBzd3BfX3VpLS1vbmUtc2xpZGUgLnBzd3BfX2J1dHRvbi0tYXJyb3ctLWxlZnQsXG4gICAgLnBzd3BfX3VpLS1vbmUtc2xpZGUgLnBzd3BfX2J1dHRvbi0tYXJyb3ctLXJpZ2h0LFxuICAgIC5wc3dwX191aS0tb25lLXNsaWRlIC5wc3dwX19jb3VudGVyIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxuICBcbiAgICAucHN3cF9fZWxlbWVudC0tZGlzYWJsZWQge1xuICAgICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xuICAgIH1cbiAgXG4gICAgLnBzd3AtLW1pbmltYWwtLWRhcmsgLnBzd3BfX3RvcC1iYXIge1xuICAgICAgYmFja2dyb3VuZDogbm9uZTtcbiAgICB9XG4gIFxuICAgIC5wc3dwX196b29tLXdyYXAsXG4gICAgLnBzd3BfX2NvbnRhaW5lcixcbiAgICAucHN3cF9faXRlbSB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jLXdoaXRlKTtcbiAgICB9XG4gIFxuICAgIC5wc3dwX19idXR0b24ge1xuICAgICAgY29sb3I6IHZhcigtLWMtcHJpbWFyeSk7XG4gIFxuICAgICAgJjpob3ZlciB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICNlZmVmZWY7XG4gICAgICB9XG4gICAgfVxuICBcbiAgICAucHN3cF9fY291bnRlciB7XG4gICAgICBjb2xvcjogdmFyKC0tYy1wcmltYXJ5KTtcbiAgICB9XG4gIFxuICAgIC5wc3dwLS16b29tZWQtaW4ge1xuICAgICAgLnBzd3BfX2NhcHRpb24ge1xuICAgICAgICBvcGFjaXR5OiAwO1xuICAgICAgfVxuICAgIH1cbiAgfVxuICAiLCIvKipcbiAqIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAqIFVuLnRpdGxlZFxuICogT3JnYW5pc21zIC0gSGVhZGVyXG4gKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gKi9cblxuLm8taGVhZGVyIHtcbiAgcG9zaXRpb246IHN0aWNreTtcbiAgdG9wOiAwO1xuICB6LWluZGV4OiA1O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jLWJsYWNrKTtcbiAgY29sb3I6IHZhcigtLWMtc2Vjb25kYXJ5KTtcbiAgcGFkZGluZy10b3A6IDEwcHg7XG5cbiAgQGluY2x1ZGUgbWVkaWEoJzxtZCcpIHtcbiAgICBwYWRkaW5nOiBjYWxjKHZhcigtLWJ1bXApIC8gMS41KSAwIGNhbGModmFyKC0tYnVtcCkgLyAyKTtcbiAgfVxuXG4gIEBpbmNsdWRlIG1lZGlhKCc8c20nKSB7XG4gICAgcGFkZGluZzogMDtcbiAgfVxuXG4gICZfX2lubmVyIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcblxuICAgIEBpbmNsdWRlIG1lZGlhKCc8c20nKSB7XG4gICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIH1cbiAgfVxuXG4gICZfX2xvZ28ge1xuICAgIG1hcmdpbi1yaWdodDogYXV0bztcbiAgICBmbGV4LXNocmluazogMTtcbiAgICBwYWRkaW5nLXJpZ2h0OiBjYWxjKHZhcigtLWJ1bXApICsgNXB4KTtcbiAgICBtYXJnaW4tYm90dG9tOiAwO1xuXG4gICAgQGluY2x1ZGUgbWVkaWEoXCI8bWRcIikge1xuICAgICAgcGFkZGluZy1yaWdodDogY2FsYyh2YXIoLS1idW1wKSAvIDMpO1xuICAgIH1cblxuICAgIEBpbmNsdWRlIG1lZGlhKCc8c20nKSB7XG4gICAgICBwYWRkaW5nLXJpZ2h0OiBjYWxjKHZhcigtLWJ1bXApIC8gMik7XG4gICAgfVxuXG4gICAgYSB7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICB9XG5cbiAgICBzdmcge1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICBtYXgtd2lkdGg6IDE3NHB4O1xuICAgICAgd2lkdGg6IDEwMCU7XG5cbiAgICAgIEBpbmNsdWRlIG1lZGlhKCc8c20nKSB7XG4gICAgICAgIG1heC13aWR0aDogMTA1cHg7XG4gICAgICAgIGhlaWdodDogNDJweDtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBwYXRoIHtcbiAgICAgIHRyYW5zaXRpb246IHZhcigtLXRyYW5zaXRpb24pO1xuICAgIH1cblxuICAgICY6aG92ZXIge1xuICAgICAgcGF0aCB7XG4gICAgICAgIGZpbGw6IHZhcigtLWMtc2Vjb25kYXJ5KTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAmX19jb250ZW50IHtcbiAgICBmbGV4LWdyb3c6IDE7XG4gICAgJl9fdG9wIHtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuXG4gICAgICBAaW5jbHVkZSBtZWRpYSgnPHNtJykge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIH1cblxuICAgICAgW2RhdGEtbmF2PSdvcGVuJ10gJiB7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgdG9wOiA3MnB4O1xuICAgICAgICBsZWZ0OiAwO1xuICAgICAgICBoZWlnaHQ6IDEwMHZoO1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYy1wcmltYXJ5KTtcbiAgICAgIH1cblxuICAgICAgLm8tc2VhcmNoIHtcbiAgICAgICAgZmxleC1ncm93OiAxO1xuXG4gICAgICAgICZfX2lubmVyIHtcbiAgICAgICAgICBAaW5jbHVkZSBtZWRpYSgnPHNtJykge1xuICAgICAgICAgICAgcGFkZGluZzogMDtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAmX19wcmltYXJ5LWN0YSxcbiAgJl9fZmluZC11cyB7XG4gICAgQGluY2x1ZGUgbWVkaWEoJzxzbScpIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxuXG4gICAgJl9fbW9iaWxlIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICBtYXJnaW4tdG9wOiBhdXRvO1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICBwYWRkaW5nOiAwIGNhbGModmFyKC0tYnVtcCkgLyAyKSBjYWxjKHZhcigtLWJ1bXApIC8gMik7XG4gICAgICAmLm8taGVhZGVyX19maW5kLXVzX19tb2JpbGUge1xuICAgICAgICBtYXJnaW46IDA7XG4gICAgICB9XG4gICAgICAmLm8taGVhZGVyX19wcmltYXJ5LWN0YV9fbW9iaWxlIHtcbiAgICAgICAgbWFyZ2luOiBhdXRvIDAgY2FsYyh2YXIoLS1idW1wKSAvIDIpO1xuICAgICAgfVxuICAgICAgYS5hLWJ0biB7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgfVxuICAgICAgQGluY2x1ZGUgbWVkaWEoJzxzbScpIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgJl9fZmluZC11cyB7XG4gICAgaDQge1xuICAgICAgQGluY2x1ZGUgZm9udC10aXRsZTtcbiAgICAgIGxpbmUtaGVpZ2h0OiAxLjI7XG4gICAgICBmb250LXNpemU6IGNsYW1wKDE4cHgsIDd2dywgdmFyKC0tZm9udFNpemVIZWFkaW5nRm91cikpO1xuICAgIH1cblxuICAgIGEge1xuICAgICAgQGluY2x1ZGUgYnRuLW5vLWJnO1xuICAgICAgcGFkZGluZzogMCAwIDAgY2FsYyh2YXIoLS1idW1wKSAqIDEuNSk7XG4gICAgICBjb2xvcjogdmFyKC0tYy1zZWNvbmRhcnkpO1xuXG4gICAgICBAaW5jbHVkZSBtZWRpYSgnPDExMDBweCcpIHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgICAgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7XG4gICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgcGFkZGluZzogMDtcbiAgICAgIH1cblxuICAgICAgQGluY2x1ZGUgbWVkaWEoJzxtZCcpIHtcbiAgICAgICAgZGlzcGxheTogaW5saW5lO1xuICAgICAgICBwYWRkaW5nOiAwIDAgMCBjYWxjKHZhcigtLWJ1bXApICogMS41KTtcbiAgICAgIH1cblxuICAgICAgJjpmaXJzdC1vZi10eXBlIHtcbiAgICAgICAgcGFkZGluZzogMDtcbiAgICAgIH1cblxuICAgICAgJjpob3ZlciB7XG4gICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBoNCxcbiAgICBhLFxuICAgIHAge1xuICAgICAgbWFyZ2luOiAwIDAgY2FsYyh2YXIoLS1idW1wKSAvIDIpO1xuICAgIH1cbiAgfVxuXG4gICZfX3ByaW1hcnktY3RhIHtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgbWF4LXdpZHRoOiAxNzJweDtcbiAgICB0cmFuc2l0aW9uOiBub25lO1xuXG4gICAgQGluY2x1ZGUgbWVkaWEoXCI8c21cIikge1xuICAgICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgIH1cblxuICAgIFtkYXRhLXNlYXJjaD0nb3BlbiddICYge1xuICAgICAgd2lkdGg6IDA7XG4gICAgICBoZWlnaHQ6IDA7XG4gICAgfVxuXG4gICAgYSB7XG4gICAgICBAaW5jbHVkZSBidG47XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIHBhZGRpbmc6IGNhbGModmFyKC0tYnVtcCkgLyA0KSBjYWxjKHZhcigtLWJ1bXApIC8gMik7XG4gICAgICBvcGFjaXR5OiAxO1xuICAgICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgICAgIHRyYW5zaXRpb246IG5vbmU7XG4gICAgICBcblxuICAgICAgW2RhdGEtc2VhcmNoPSdvcGVuJ10gJiB7XG4gICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICAgIHZpc2liaWxpdHk6IGhpZGRlbjtcbiAgICAgICAgb3BhY2l0eTogMDtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAmX19tb2JpbGUtbWVudSB7XG4gICAgZGlzcGxheTogbm9uZTtcblxuICAgIEBpbmNsdWRlIG1lZGlhKCc8c20nKSB7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDtcbiAgICAgIHdpZHRoOiAxMDAlO1xuXG4gICAgICAubS1ibG9ja19fbW9iaWxlLW1lbnUge1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBvcGFjaXR5OiAxO1xuICAgICAgICB2aXNpYmlsaXR5OiB2aXNpYmxlO1xuICAgICAgICB0cmFuc2l0aW9uOiBhbGwgMXMgdmFyKC0tdHJhbnNpdGlvbik7XG5cbiAgICAgICAgW2RhdGEtbmF2PSdvcGVuJ10gJiB7XG4gICAgICAgICAgb3BhY2l0eTogMDtcbiAgICAgICAgICB2aXNpYmlsaXR5OiBoaWRkZW47XG4gICAgICAgIH1cbiAgICAgICAgYSB7XG4gICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICBtYXJnaW46IDAgdmFyKC0tYnVtcCkgMCAwO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgJl9fc2VhcmNoLXdyYXBwZXIge1xuICAgIGZvbnQtc2l6ZTogdmFyKC0tZm9udGxhcmdlKTtcbiAgICBsaW5lLWhlaWdodDogdmFyKC0tc21hbGxMaW5lSGVpZ2h0KTtcbiAgICBmb250LWZhbWlseTogdmFyKC0tZm9udE1lZGl1bSk7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgIFxuICAgIFtkYXRhLW5hdj0nb3BlbiddICYge1xuICAgICAgdmlzaWJpbGl0eTogaGlkZGVuO1xuICAgICAgb3BhY2l0eTogMDtcbiAgICB9XG5cbiAgICBAaW5jbHVkZSBtZWRpYSgnPHNtJykge1xuICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG4gIH1cblxuICAmX19zZWFyY2gtbW9kYWwge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMTQxNDE0O1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICBwYWRkaW5nOiBjYWxjKHZhcigtLWJ1bXApICogMikgMCAwO1xuICAgIHotaW5kZXg6IDI7XG4gICAgdHJhbnNpdGlvbjogMC40cyB2YXIoLS10cmFuc2l0aW9uKTtcbiAgICB2aXNpYmlsaXR5OiBoaWRkZW47XG4gICAgb3BhY2l0eTogMDtcblxuICAgIEBpbmNsdWRlIG1lZGlhKCc8c20nKSB7XG4gICAgICBwYWRkaW5nOiAwO1xuICAgIH1cblxuICAgICZfX292ZXJsYXkge1xuICAgICAgei1pbmRleDogLTEwMDtcbiAgICAgIG9wYWNpdHk6IDA7XG4gICAgICB0cmFuc2l0aW9uOiB2YXIoLS10cmFuc2l0aW9uKTtcbiAgICAgIHZpc2liaWxpdHk6IGhpZGRlbjtcbiAgICB9XG4gICAgXG4gICAgW2RhdGEtc2VhcmNoPSdvcGVuJ10gJiB7XG4gICAgICB2aXNpYmlsaXR5OiB2aXNpYmxlO1xuICAgICAgb3BhY2l0eTogMTtcblxuICAgICAgJl9fb3ZlcmxheSB7XG4gICAgICAgIHBvc2l0aW9uOiBmaXhlZDtcbiAgICAgICAgdG9wOiAwO1xuICAgICAgICByaWdodDogMDtcbiAgICAgICAgYm90dG9tOiAwO1xuICAgICAgICBsZWZ0OiAwO1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jLWJsYWNrKTtcbiAgICAgICAgei1pbmRleDogMTtcbiAgICAgICAgb3BhY2l0eTogMC43O1xuICAgICAgICB2aXNpYmlsaXR5OiB2aXNpYmxlO1xuICAgICAgfVxuICAgIH1cblxuICAgICYgPiAuZ3JpZCB7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICB9XG5cbiAgICAmX19leHBvc2VkZm9ybXNlYXJjaHBhZ2Uge1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDtcbiAgICAgIG1hcmdpbjogMCAwIGNhbGModmFyKC0tYnVtcCkgKiAxLjUpO1xuXG4gICAgICBmb3JtIHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICB3aWR0aDogMTAwJTtcblxuICAgICAgICAuanMtZm9ybS1pdGVtIHtcbiAgICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICM5Nzk3OTc7XG5cbiAgICAgICAgICBpbnB1dCB7XG4gICAgICAgICAgICBib3JkZXI6IG5vbmU7XG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgaGVpZ2h0OiAzNXB4O1xuICAgICAgICAgICAgcGFkZGluZzogMDtcbiAgICAgICAgICAgIG1hcmdpbjogMCAwIGNhbGModmFyKC0tYnVtcCkgLyAxMikgMDtcbiAgICAgICAgICAgIGNvbG9yOiB2YXIoLS1jLXdoaXRlKTtcblxuICAgICAgICAgICAgZm9udC1mYW1pbHk6IHZhcigtLWZvbnRCb2xkKTtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogY2xhbXAoMThweCwgMnZ3LCAyNnB4KTtcbiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiA1MDA7XG4gICAgICAgICAgICBsZXR0ZXItc3BhY2luZzogMDtcbiAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAyN3B4O1xuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzE0MTQxNDtcblxuICAgICAgICAgICAgJjo6cGxhY2Vob2xkZXIge1xuICAgICAgICAgICAgICBmb250LWZhbWlseTogdmFyKC0tZm9udEJvbGQpO1xuICAgICAgICAgICAgICBjb2xvcjogdmFyKC0tYy13aGl0ZSk7XG4gICAgICAgICAgICAgIGZvbnQtc2l6ZTogY2xhbXAoMThweCwgMnZ3LCAyNnB4KTtcbiAgICAgICAgICAgICAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgICAgICAgICAgICAgbGV0dGVyLXNwYWNpbmc6IDA7XG4gICAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAyN3B4O1xuICAgICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgICAgICBhbGlnbi1zZWxmOiBjZW50ZXI7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICAmOmZvY3VzIHtcbiAgICAgICAgICAgICAgJjo6cGxhY2Vob2xkZXIge1xuICAgICAgICAgICAgICAgIGNvbG9yOiB2YXIoLS1jLXdoaXRlKTtcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC5qcy1mb3JtLXdyYXBwZXIge1xuICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICByaWdodDogMDtcbiAgICAgICAgICBib3R0b206IDFweDtcbiAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMTQxNDE0O1xuICAgICAgICAgIFxuXG4gICAgICAgICAgLmEtYnRuIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIHJtLXRleHQ7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICAgICAgICBib3JkZXI6IG5vbmU7XG4gICAgICAgICAgICB3aWR0aDogNDRweDtcbiAgICAgICAgICAgIGhlaWdodDogNDRweDtcbiAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG5cbiAgICAgICAgICAgICY6YWZ0ZXIge1xuICAgICAgICAgICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoJy4uL2ltZy9zZWFyY2gtd2hpdGUuc3ZnJyk7XG4gICAgICAgICAgICAgIGJhY2tncm91bmQtc2l6ZTogY292ZXI7XG4gICAgICAgICAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlcjtcbiAgICAgICAgICAgICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgICAgICAgICAgICAgaGVpZ2h0OiBjbGFtcCgxNnB4LCAydncsIDI0cHgpO1xuICAgICAgICAgICAgICB3aWR0aDogY2xhbXAoMTZweCwgMnZ3LCAyNHB4KTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gICAgXG4gICAgJl9fc2VhcmNoc3VnZ2VzdGlvbnMge1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDtcbiAgICAgIGZsZXgtZmxvdzogcm93IHdyYXA7XG4gICAgICBhbGlnbi1pdGVtczogZmxleC1zdGFydDtcbiAgICAgIGdhcDogY2FsYyh2YXIoLS1idW1wKSAqIDEuMzMzMyk7XG4gICAgICBtYXJnaW46IGNhbGModmFyKC0tYnVtcCkgKiAyKSAwIGNhbGModmFyKC0tYnVtcCkgKiAzKTtcblxuICAgICAgQGluY2x1ZGUgbWVkaWEoJzxzbScpIHtcbiAgICAgICAgZmxleC1mbG93OiBjb2x1bW4gd3JhcDtcbiAgICAgICAgZ2FwOiB2YXIoLS1zbWFsbEJ1bXApO1xuICAgICAgfVxuXG4gICAgICAmID4gYSB7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgY29sb3I6IHZhcigtLWMtYmxhY2spO1xuICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgICAgIC8vIEBpbmNsdWRlIGJ0bi11bmRlcmxpbmU7XG4gICAgXG4gICAgICAgIC8vICY6aG92ZXIsXG4gICAgICAgIC8vICY6Zm9jdXMge1xuICAgICAgICAvLyAgIEBpbmNsdWRlIGJ0bi11bmRlcmxpbmUtaG92ZXI7XG4gICAgICAgIC8vIH1cbiAgICAgIH1cblxuICAgICAgJl9fdGl0bGUge1xuICAgICAgICBcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiIsIi8qKlxuICogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICogVW4udGl0bGVkXG4gKiBPcmdhbmlzbXMgLSBGb290ZXJcbiAqIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAqL1xuXG4uby1mb290ZXIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jLWJsYWNrKTtcbiAgY29sb3I6IHZhcigtLWMtc2Vjb25kYXJ5KTtcbiAgcGFkZGluZzogY2FsYyh2YXIoLS1idW1wKSAvIDIpIDAgdmFyKC0tYnVtcCk7XG5cbiAgJl9fcm93IHtcbiAgICAmX19ib3R0b20ge1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgICAgIHNtYWxsIHtcbiAgICAgICAgbWFyZ2luOiBhdXRvIDAgYXV0byBjYWxjKHZhcigtLWJ1bXApIC8gMik7XG4gICAgICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gICAgICAgIHNwYW4ge1xuICAgICAgICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgICBAaW5jbHVkZSBtZWRpYSgnPG1kJykge1xuICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAgICBzbWFsbCB7XG4gICAgICAgICAgbWFyZ2luOiBjYWxjKHZhcigtLWJ1bXApIC8gMikgMCAwIDA7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgICYuY29sLXNtLTEyIHtcbiAgICAgICAgLmdyaWQgJiB7XG4gICAgICAgICAgLm8tZm9vdGVyX19yb3cgJiB7XG4gICAgICAgICAgICBwYWRkaW5nOiAwIGNhbGModmFyKC0tYnVtcCkgLyAyKTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gICAgJl9fbmV3c2xldHRlciB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jLXRlcnRpYXJ5KTtcbiAgICAgIHBhZGRpbmc6IHZhcigtLWJ1bXApIDAgdmFyKC0tYnVtcCk7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG5cbiAgICAgICZfX2lubmVyIHsgICBcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIG1heC13aWR0aDogMzU2cHg7XG5cbiAgICAgICAgaDIuaDIsICAgICBcbiAgICAgICAgaDIuaDMsICAgICBcbiAgICAgICAgaDIuaDQsICAgICBcbiAgICAgICAgaDIuaDUgeyAgICBcbiAgICAgICAgICBjb2xvcjogdmFyKC0tYy1ibGFjayk7XG4gICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICAgIHRleHQtYWxpZ24tbGFzdDogY2VudGVyO1xuICAgICAgICAgIGZvbnQtc2l6ZTogMjZweDtcbiAgICAgICAgICBsaW5lLWhlaWdodDogNDFweDtcbiAgICAgICAgICBmb250LWZhbWlseTogdmFyKC0tZm9udFRpdGxlKTtcbiAgICAgICAgICBtYXJnaW46IDAgMCBjYWxjKHZhcigtLWJ1bXApIC8gNik7XG5cbiAgICAgICAgICBAaW5jbHVkZSBtZWRpYShcIjxzbVwiKSB7XG4gICAgICAgICAgICBmb250LXNpemU6IDIwcHg7XG4gICAgICAgICAgICBsaW5lLWhlaWdodDogMjhweDtcbiAgICAgICAgICB9XG4gICAgICB9ICAgICAgICAgIFxuXG4gICAgICBwIHsgICAgICAgIFxuICAgICAgICAgIGNvbG9yOiB2YXIoLS1jLWJsYWNrKTtcbiAgICAgICAgICBmb250LXNpemU6IDE2cHg7XG4gICAgICAgICAgbGluZS1oZWlnaHQ6IDIwcHg7XG4gICAgICAgICAgZm9udC1mYW1pbHk6IHZhcigtLWZvbnRCb2R5KTtcbiAgICAgICAgICBtYXJnaW46IDAgMCAyMHB4O1xuICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgICB0ZXh0LWFsaWduLWxhc3Q6IGNlbnRlcjtcbiAgICAgICAgfVxuXG4gICAgICBhIHsgICAgICAgIFxuICAgICAgICBAaW5jbHVkZSBidG47XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWMtYmxhY2spO1xuICAgICAgICBjb2xvcjogdmFyKC0tYy1zZWNvbmRhcnkpO1xuXG4gICAgICAgICAgJjpob3ZlciwgXG4gICAgICAgICAgJjpmb2N1cyB7XG4gICAgICAgICAgICBAaW5jbHVkZSBidG4taG92ZXI7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jLXNlY29uZGFyeSk7XG4gICAgICAgICAgICBjb2xvcjogdmFyKC0tYy1ibGFjayk7XG4gICAgICAgICAgfSAgICAgICAgXG5cbiAgICAgICAgICBAaW5jbHVkZSBtZWRpYShcIjxzbVwiKSB7XG4gICAgICAgICAgICB3aWR0aDogOTUlO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgICZfX29wZW5pbmctdGltZXMsXG4gICAgJl9fZmluZC11cyxcbiAgICAmX19hYm91dC11cyB7XG4gICAgICBwYWRkaW5nOiBjYWxjKHZhcigtLWJ1bXApIC8gMik7XG4gICAgICBoNCB7XG4gICAgICAgIEBpbmNsdWRlIGZvbnQtdGl0bGU7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxLjI7XG4gICAgICAgIGZvbnQtc2l6ZTogY2xhbXAoMThweCwgN3Z3LCB2YXIoLS1mb250U2l6ZUhlYWRpbmdGb3VyKSk7XG4gICAgICB9XG5cbiAgICAgIGEge1xuICAgICAgICBAaW5jbHVkZSBidG4tbm8tYmc7XG4gICAgICAgIGNvbG9yOiB2YXIoLS1jLXNlY29uZGFyeSk7XG5cbiAgICAgICAgQGluY2x1ZGUgbWVkaWEoJzwxMTAwcHgnKSB7XG4gICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAgICAgIGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0O1xuICAgICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgICBwYWRkaW5nOiAwO1xuICAgICAgICB9XG5cbiAgICAgICAgQGluY2x1ZGUgbWVkaWEoJzxtZCcpIHtcbiAgICAgICAgICBkaXNwbGF5OiBpbmxpbmU7XG4gICAgICAgICAgcGFkZGluZzogMCAwIDAgY2FsYyh2YXIoLS1idW1wKSAqIDEuNSk7XG4gICAgICAgIH1cblxuICAgICAgICAmOmZpcnN0LW9mLXR5cGUge1xuICAgICAgICAgIHBhZGRpbmctbGVmdDogMDtcbiAgICAgICAgICBwYWRkaW5nLWJvdHRvbTogMDtcbiAgICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgIH1cblxuICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgaDQsXG4gICAgICBhLFxuICAgICAgcCB7XG4gICAgICAgIG1hcmdpbjogMCAwIGNhbGModmFyKC0tYnVtcCkgLyAyKTtcbiAgICAgIH1cblxuICAgICAgcCB7XG4gICAgICAgIGNvbG9yOiB2YXIoLS1jLXNlY29uZGFyeSk7XG4gICAgICAgIEBpbmNsdWRlIG1lZGlhKCc8c20nKSB7XG4gICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gICAgICAgICAgYSB7XG4gICAgICAgICAgICBwYWRkaW5nOiAwO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgICZfX2ZpbmQtdXMge1xuICAgICAgcCB7XG4gICAgICAgIEBpbmNsdWRlIG1lZGlhKCc8c20nKSB7XG4gICAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgICAgICBhbGlnbi1pdGVtczogZmxleC1zdGFydDtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgICZfX29wZW5pbmctdGltZXMge1xuICAgICAgLm0tYmxvY2tfX29wZW5pbmctdGltZXMge1xuICAgICAgICAmID4gaDQge1xuICAgICAgICAgIEBpbmNsdWRlIGZvbnQtdGl0bGU7XG4gICAgICAgICAgbGluZS1oZWlnaHQ6IDEuMjtcbiAgICAgICAgICBmb250LXNpemU6IGNsYW1wKDE4cHgsIDd2dywgdmFyKC0tZm9udFNpemVIZWFkaW5nRm91cikpO1xuICAgICAgICB9XG5cbiAgICAgICAgJiA+IHVsIHtcbiAgICAgICAgICAmID4gbGkge1xuICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgbGlzdC1zdHlsZS10eXBlOiBub25lO1xuICAgICAgICAgICAgbWFyZ2luOiAwIDAgY2FsYyh2YXIoLS1idW1wKSAvIDIpO1xuICAgICAgICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICNmZmZmZmY7XG4gICAgICAgICAgICAmID4gdWwge1xuICAgICAgICAgICAgICBtYXJnaW46IDAgMCAwO1xuICAgICAgICAgICAgICBsaXN0LXN0eWxlLXR5cGU6IG5vbmU7XG4gICAgICAgICAgICAgIEBpbmNsdWRlIG1lZGlhKCc8bGcnKSB7XG4gICAgICAgICAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICAgICAgICAgIHRleHQtYWxpZ246IHJpZ2h0O1xuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgJi5vLWZvb3Rlcl9fcm93X190b3Age1xuICAgICAgJiA+IC5ncmlkIHtcbiAgICAgICAgJiA+IC5jb2wtc20tMTIge1xuICAgICAgICAgIHBhZGRpbmc6IGNhbGModmFyKC0tYnVtcCkgLyAyKSBjYWxjKHZhcigtLWJ1bXApICogMS41KTtcbiAgICAgICAgICBAaW5jbHVkZSBtZWRpYSgnPG1kJykge1xuICAgICAgICAgICAgcGFkZGluZzogY2FsYyh2YXIoLS1idW1wKSAvIDIpO1xuICAgICAgICAgIH1cbiAgICAgICAgICAmOmZpcnN0LW9mLXR5cGUge1xuICAgICAgICAgICAgcGFkZGluZzogY2FsYyh2YXIoLS1idW1wKSAvIDIpIGNhbGModmFyKC0tYnVtcCkgKiAxLjUpXG4gICAgICAgICAgICAgIGNhbGModmFyKC0tYnVtcCkgLyAyKSBjYWxjKHZhcigtLWJ1bXApIC8gMik7XG4gICAgICAgICAgICBAaW5jbHVkZSBtZWRpYSgnPG1kJykge1xuICAgICAgICAgICAgICBwYWRkaW5nOiBjYWxjKHZhcigtLWJ1bXApIC8gMik7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICAgICY6bnRoLWxhc3Qtb2YtdHlwZSgyKSB7XG4gICAgICAgICAgICBwYWRkaW5nOiBjYWxjKHZhcigtLWJ1bXApIC8gMikgY2FsYyh2YXIoLS1idW1wKSAvIDIpXG4gICAgICAgICAgICAgIGNhbGModmFyKC0tYnVtcCkgLyAyKSBjYWxjKHZhcigtLWJ1bXApICogMS41KTtcbiAgICAgICAgICAgIEBpbmNsdWRlIG1lZGlhKCc8bWQnKSB7XG4gICAgICAgICAgICAgIHBhZGRpbmc6IGNhbGModmFyKC0tYnVtcCkgLyAyKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICAuZ3JpZCB7XG4gICAgICAuY29sLXNtLTEyLm8tZm9vdGVyX19yb3dfX2JvdHRvbSB7XG4gICAgICAgIHBhZGRpbmc6IHZhcigtLWJ1bXApIGNhbGModmFyKC0tYnVtcCkgLyAyKTtcblxuICAgICAgICBwIHtcbiAgICAgICAgICBjb2xvcjogdmFyKC0tYy1zZWNvbmRhcnkpO1xuICAgICAgICAgIGZvbnQtc2l6ZTogMTRweDtcbiAgICAgICAgICBsZXR0ZXItc3BhY2luZzogMDtcbiAgICAgICAgICBsaW5lLWhlaWdodDogMjBweDtcbiAgICAgICAgfVxuXG4gICAgICAgIEBpbmNsdWRlIG1lZGlhKCc8bWQnKSB7XG4gICAgICAgICAgcGFkZGluZzogY2FsYyh2YXIoLS1idW1wKSAvIDIpIGNhbGModmFyKC0tYnVtcCkgLyAyKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgICZfX2JvcmRlci1ib3R0b20ge1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICBoZWlnaHQ6IDFweDtcbiAgICAgIG9wYWNpdHk6IDAuMztcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWMtc2Vjb25kYXJ5KTtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgbWFyZ2luOiAwIGNhbGModmFyKC0tYnVtcCkgLyAyKTtcbiAgICAgIEBpbmNsdWRlIG1lZGlhKCc8bWQnKSB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICB9XG4gICAgfVxuXG4gICAgJjpsYXN0LW9mLXR5cGUsXG4gICAgJjpudGgtbGFzdC1jaGlsZCgyKSB7XG4gICAgICAuZ3JpZCB7XG4gICAgICAgIGJvcmRlci1ib3R0b206IG5vbmU7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgJl9fbmV3c2xldHRlci1jdGEge1xuICAgIGRpc3BsYXk6IGZsZXg7XG5cbiAgICAubS1ibG9ja19fZm9vdGVyLW5ld3NsZXR0ZXItY3RhIHtcbiAgICAgIG1hcmdpbjogYXV0bztcblxuICAgICAgQGluY2x1ZGUgbWVkaWEoJzxtZCcpIHtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICB9XG4gICAgfVxuXG4gICAgYSB7XG4gICAgICBAaW5jbHVkZSBidG47XG4gICAgICBwYWRkaW5nOiBjYWxjKHZhcigtLWJ1bXApIC8gNCkgY2FsYyh2YXIoLS1idW1wKSAvIDIpO1xuICAgICAgdHJhbnNpdGlvbjogMC41cyB2YXIoLS1lYXNpbmcpO1xuICAgICAgJjpob3ZlciB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWMtc2Vjb25kYXJ5KTtcbiAgICAgIH1cbiAgICAgIEBpbmNsdWRlIG1lZGlhKCc8c20nKSB7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gICZfX2FydHNjb3VuY2lsIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7XG4gICAgQGluY2x1ZGUgbWVkaWEoJzxtZCcpIHtcbiAgICAgIC5hcnRzY291bmNpbCB7XG4gICAgICAgIG1hcmdpbjogYXV0byBhdXRvIGF1dG8gMDtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAmX19mb290ZXItbWVudSB7XG4gICAgJiA+IC5tZW51IHtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG5cbiAgICAgIEBpbmNsdWRlIG1lZGlhKCc8bWQnKSB7XG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICB9XG4gICAgICAmID4gbGkge1xuICAgICAgICAmID4gYSB7XG4gICAgICAgICAgQGluY2x1ZGUgYnRuLW5vLWJnO1xuICAgICAgICAgIGNvbG9yOiB2YXIoLS1jLXNlY29uZGFyeSk7XG4gICAgICAgICAgcGFkZGluZzogMCAyMHB4IDAgMDtcblxuICAgICAgICAgIEBpbmNsdWRlIG1lZGlhKCc8bWQnKSB7XG4gICAgICAgICAgICBwYWRkaW5nOiAyMHB4IDAgMCAwO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gICZfX3NvY2lhbC1saW5rcyB7XG4gICAgLm0tYmxvY2tfX2Zvb3Rlci0tLXNvY2lhbC1saW5rcyB7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgYWxpZ24tY29udGVudDogZmxleC1zdGFydDtcbiAgICB9XG4gIH1cblxuICAmX19zb2NpYWwtbGlua3MsXG4gICZfX25ld3NsZXR0ZXItY3RhLFxuICAmX19hcnRzY291bmNpbCB7XG4gICAgQGluY2x1ZGUgbWVkaWEoJzxtZCcpIHtcbiAgICAgIHBhZGRpbmc6IGNhbGModmFyKC0tYnVtcCkgLyAzKSBjYWxjKHZhcigtLWJ1bXApIC8gMik7XG4gICAgfVxuICB9XG59XG4iLCIvKipcbiAqIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAqIFVuLnRpdGxlZFxuICogT3JnYW5pc21zIC0gVmlld3NcbiAqIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAqL1xuXG4udmlldyB7XG4gICZfX3doYXRfc19vbixcbiAgJl9fcGhvdG9ncmFwaHlfY3VsdHVyZSxcbiAgJl9fcGFzdF9wcm9ncmFtbWUsXG4gICZfX2xlYXJuX2xpc3Rpbmcge1xuICAgICZfX2Zvcm0ge1xuICAgICAgbWFyZ2luOiB2YXIoLS1idW1wKSAwO1xuICAgIH1cblxuICAgICZfX2J1dHRvbiB7XG4gICAgICBkaXNwbGF5OiBub25lO1xuXG4gICAgICAvLyBAaW5jbHVkZSBtZWRpYSgnPHNtJykge1xuICAgICAgLy8gICBkaXNwbGF5OiBibG9jaztcbiAgICAgIC8vIH0gcmVpbnN0YXRlIHdoZW4gYW5pbWF0aW9uIGlzIGRvbmVcbiAgICB9XG5cbiAgICAmX19idXR0b24ge1xuICAgIH1cblxuICAgICZfX2ZpbHRlcnMge1xuICAgICAgcGFkZGluZzogdmFyKC0tc21hbGxCdW1wKSAwO1xuICAgICAgYm9yZGVyLXRvcDogMXB4IHNvbGlkIHZhcigtLWMtc2Vjb25kYXJ5KTtcbiAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCB2YXIoLS1jLXNlY29uZGFyeSk7XG4gICAgICBtYXJnaW46IGNhbGModmFyKC0tYnVtcCkgLyAzKSAwO1xuXG4gICAgICAudmlld3MtZXhwb3NlZC1mb3JtIHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcblxuICAgICAgICBAaW5jbHVkZSBtZWRpYShcIjxzbVwiKSB7XG4gICAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgICAgICBnYXA6IHZhcigtLWJ1bXApO1xuICAgICAgICAgIGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0O1xuICAgICAgICB9XG5cbiAgICAgICAgJiA+IGZpZWxkc2V0LmpzLWZvcm0taXRlbSB7XG4gICAgICAgICAgZmxleC1ncm93OiAxO1xuICAgICAgICAgIGJvcmRlcjogbm9uZTtcbiAgICAgICAgICBtYXJnaW46IGF1dG87XG4gICAgICAgICAgcGFkZGluZzogMDtcblxuICAgICAgICAgIEBpbmNsdWRlIG1lZGlhKFwiPHNtXCIpIHtcbiAgICAgICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgICB9XG5cbiAgICAgICAgICAmID4gLmZpZWxkc2V0LXdyYXBwZXIge1xuICAgICAgICAgICAgJiA+IC5mb3JtLWNoZWNrYm94ZXMge1xuXG4gICAgICAgICAgICAgICYgPiAuZm9ybS1jaGVja2JveGVzIHtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgICAgICAgIGdhcDogNDBweDtcbiAgICAgICAgICAgICAgICBmbGV4LWZsb3c6IHJvdyB3cmFwO1xuXG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgbWVkaWEoXCI8c21cIikge1xuICAgICAgICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgICAgICAgICAgICAgICBmbGV4LWZsb3c6IGNvbHVtbjtcbiAgICAgICAgICAgICAgICAgIGdhcDogMTVweDtcbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAmID4gLmpzLWZvcm0taXRlbSB7XG4gICAgICAgICAgICAgICAgICBtYXJnaW46IDA7XG5cbiAgICAgICAgICAgICAgICAgIFxuICAgICAgICAgICAgICAgICAgJiA+IFt0eXBlPWNoZWNrYm94XTpjaGVja2VkICsgbGFiZWwsXG4gICAgICAgICAgICAgICAgICAmID4gW3R5cGU9Y2hlY2tib3hdOm5vdCg6Y2hlY2tlZCkgKyBsYWJlbCB7XG4gICAgICAgICAgICAgICAgICAgIHBhZGRpbmctbGVmdDogMjVweDtcbiAgICAgICAgICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDE3cHg7XG4gICAgICAgICAgICAgICAgICAgIGxldHRlci1zcGFjaW5nOiAwO1xuICAgICAgICAgICAgICAgICAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcbiAgICAgICAgICAgICAgICAgICAgY29sb3I6IHZhcigtLWMtc2Vjb25kYXJ5KTtcblxuICAgICAgICAgICAgICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgICAgICAgICAgICAgd2lkdGg6IDIwcHg7XG4gICAgICAgICAgICAgICAgICAgICAgaGVpZ2h0OiAyMHB4O1xuICAgICAgICAgICAgICAgICAgICAgIHRvcDogLTJweDtcbiAgICAgICAgICAgICAgICAgICAgICBsZWZ0OiAtMnB4O1xuICAgICAgICAgICAgICAgICAgICAgIHRyYW5zaXRpb246IGFsbCAwLjRzIHZhcigtLXRyYW5zaXRpb24pO1xuICAgICAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAgICAgJjphZnRlciB7XG4gICAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyIGNlbnRlcjtcbiAgICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICAgICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQtc2l6ZTogMTBweDtcbiAgICAgICAgICAgICAgICAgICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgICAgICAgICAgICAgICAgIHdpZHRoOiAzNHB4O1xuICAgICAgICAgICAgICAgICAgICAgIGhlaWdodDogMzRweDtcbiAgICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoLi4vaW1nL3RpY2suc3ZnKTtcbiAgICAgICAgICAgICAgICAgICAgICBjb2xvcjogdmFyKC0tYy1wcmltYXJ5KTtcbiAgICAgICAgICAgICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICAgICAgICAgICAgdHJhbnNpdGlvbjogYWxsIDAuNHMgdmFyKC0tdHJhbnNpdGlvbik7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICAgXG5cbiAgICAgICAgICAgICAgICAgICYgPiBbdHlwZT1jaGVja2JveF06Y2hlY2tlZCArIGxhYmVsIHtcbiAgICAgICAgICAgICAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWMtdGVydGlhcnkpO1xuICAgICAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAgICAgJjphZnRlciB7XG4gICAgICAgICAgICAgICAgICAgICAgb3BhY2l0eTogMTtcbiAgICAgICAgICAgICAgICAgICAgICB0cmFuc2Zvcm06IHNjYWxlKDEpO1xuICAgICAgICAgICAgICAgICAgICAgIHdpZHRoOiAxMnB4O1xuICAgICAgICAgICAgICAgICAgICAgIGhlaWdodDogMTJweDtcbiAgICAgICAgICAgICAgICAgICAgICB0b3A6IDJweDtcbiAgICAgICAgICAgICAgICAgICAgICBsZWZ0OiAycHg7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICAgJiA+IFt0eXBlPWNoZWNrYm94XTpjaGVja2VkICsgbGFiZWw6YWZ0ZXIge1xuICAgICAgICAgICAgICAgICAgICAmOmFmdGVyIHtcbiAgICAgICAgICAgICAgICAgICAgICBvcGFjaXR5OiAwO1xuICAgICAgICAgICAgICAgICAgICAgIHRyYW5zZm9ybTogc2NhbGUoMCk7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICAgJiA+IC5vcHRpb24ge1xuXG4gICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgJiA+IC5qcy1mb3JtLXdyYXBwZXIge1xuICAgICAgICAgICYgPiAuanMtZm9ybS1zdWJtaXQge1xuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYy1zZWNvbmRhcnkpO1xuXG4gICAgICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYy10ZXJ0aWFyeSk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4iLCIvKipcbiAqIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAqIFVuLnRpdGxlZFxuICogT3JnYW5pc21zIC0gU2VhcmNoIHJlc3VsdHNcbiAqIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAqL1xuXG4jc2VhcmNoLWZvcm0ge1xuICBkaXNwbGF5OiBub25lO1xuICB2aXNpYmlsaXR5OiBoaWRkZW47XG59XG5cbi5vLXNlYXJjaC1yZXN1bHRzIHtcbiAgJl9fcm93IHtcbiAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgdmFyKC0tYy1ncmV5KTtcbiAgICBwYWRkaW5nOiBjYWxjKHZhcigtLWJ1bXApKSAwO1xuXG4gICAgJjpmaXJzdC1vZi10eXBlIHtcbiAgICAgIGJvcmRlci10b3A6IDFweCBzb2xpZCB2YXIoLS1jLWdyZXkpO1xuICAgICAgbWFyZ2luOiBjYWxjKHZhcigtLWJ1bXApICogMS41KSAwIDA7XG4gICAgfVxuXG4gICAgLnRpdGxlLTIge1xuICAgICAgZm9udC1mYW1pbHk6IHZhcigtLWZvbnRUaXRsZSk7XG4gICAgICBmb250LXNpemU6IDIwcHg7XG4gICAgICBmb250LXdlaWdodDogNjAwO1xuICAgICAgbGV0dGVyLXNwYWNpbmc6IDA7XG4gICAgICBsaW5lLWhlaWdodDogMjhweDtcbiAgICAgIG1hcmdpbjogMCB2YXIoLS1idW1wKSAwIDA7XG4gICAgfVxuICAgIC50eXBlIHtcbiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgIGNvbG9yOiB2YXIoLS1jLXNlY29uZGFyeSk7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jLXByaW1hcnkpO1xuICAgICAgcGFkZGluZzogNXB4IDEwcHg7XG4gICAgICBtYXJnaW46IDAgMCB2YXIoLS1idW1wKSAwO1xuXG4gICAgICBAaW5jbHVkZSBtZWRpYSgnPHNtJykge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgbWFyZ2luOiBjYWxjKHZhcigtLWJ1bXApIC8gMikgMDtcbiAgICAgIH1cbiAgICB9XG4gICAgLmZpZWxkLWNvbnRlbnQge1xuICAgICAgUCB7XG4gICAgICAgIGNvbG9yOiB2YXIoLS1jLXNlY29uZGFyeSk7XG4gICAgICAgIGZvbnQtZmFtaWx5OiB2YXIoLS1mb250Qm9keSk7XG4gICAgICAgIG1hcmdpbjogMCAwIGNhbGModmFyKC0tYnVtcCkgLyAyKSAwO1xuICAgICAgfVxuICAgICAgJiA+IGEge1xuICAgICAgICBmb250LXNpemU6IHZhcigtLWZvbnRTaXplSGVhZGluZ1RocmVlKTtcbiAgICAgICAgZm9udC1mYW1pbHk6IHZhcigtLWZvbnRCb2xkKTtcbiAgICAgIH1cbiAgICAgIC5tb3JlLWxpbmsge1xuICAgICAgICBhIHtcbiAgICAgICAgICBAaW5jbHVkZSBidG47XG4gICAgICAgICAgQGluY2x1ZGUgYnRuLW5vLWJnO1xuICAgICAgICAgIHBhZGRpbmc6IGNhbGModmFyKC0tYnVtcCkgLyA0KSAwO1xuICAgICAgICAgICY6aG92ZXIge1xuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgJi13cmFwcGVyIHtcbiAgICBoMiB7XG4gICAgICBkaXNwbGF5OiBub25lO1xuICAgIH1cblxuICAgIC5yZXN1bHRfX3RpdGxlIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgfVxuXG4gICAgJl9fbGlzdCB7XG4gICAgICBtYXJnaW4tYm90dG9tOiBjYWxjKHZhcigtLWJ1bXApICogMik7XG5cbiAgICAgIG9sIHtcbiAgICAgICAgQGluY2x1ZGUgbGktcmVzZXQ7XG5cbiAgICAgICAgbGkge1xuICAgICAgICAgIG1hcmdpbi1ib3R0b206IHZhcigtLWJ1bXApO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgJi1hdXRvY29tcGxldGUge1xuICAgIHBhZGRpbmc6IDIwcHggMDtcbiAgICBAaW5jbHVkZSBtZWRpYSgnPHNtJykge1xuICAgICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xuICAgIH1cbiAgICBoMywgJl9fc2VlLWFsbCA+IGEge1xuICAgICAgZm9udC1mYW1pbHk6IEFyaWFsLEhlbHZldGljYSxzYW5zLXNlcmlmO1xuICAgICAgZm9udC1zaXplOiAxZW07XG4gICAgICBmb250LXdlaWdodDogYm9sZDtcbiAgICAgIHBhZGRpbmctbGVmdDogMTNweDtcblxuICAgIH1cbiAgICBoMyB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAxMHB4O1xuICAgIH1cbiAgICAmX19zZWUtYWxsIHtcbiAgICAgIG1hcmdpbjogMjBweCAwO1xuICAgICAgYSB7XG4gICAgICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xuICAgICAgfVxuICAgIH1cbiAgICAudWktbWVudS1pdGVtICB7XG4gICAgICBhIHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgYm9yZGVyOiBub25lO1xuICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICAgICAgcGFkZGluZzogNXB4IDFlbSA1cHggLjRlbTtcbiAgICAgIH1cbiAgICB9XG4gICAgJl9fcG9wdWxhci10aGVtZXMge1xuICAgICAgcGFkZGluZzogMTNweDtcbiAgICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICAgIGEge1xuICAgICAgICBmb250LXdlaWdodDogbm9ybWFsO1xuICAgICAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiA1cHg7XG4gICAgICAgICY6Zmlyc3Qtb2YtdHlwZSB7XG4gICAgICAgICAgbWFyZ2luLWxlZnQ6IDVweDtcbiAgICAgICAgfVxuICAgICAgICAmOmxhc3Qtb2YtdHlwZSB7XG4gICAgICAgICAgbWFyZ2luLXJpZ2h0OiAwO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gIH1cbn1cbiIsIi8qKlxuICogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICogVW4udGl0bGVkXG4gKiBPcmdhbmlzbXMgLSBzaWRlYmFyXG4gKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gKi9cblxuLm8tc2lkZWJhciB7XG4gICZfX21lbWJlci1saW5rLXdyYXBwZXIge1xuICAgIG1hcmdpbjogMjBweCAwO1xuICAgICYgPiBkaXYge1xuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgcGFkZGluZzogMCAyMHB4O1xuICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgdGV4dC1hbGlnbi1sYXN0OiBjZW50ZXI7XG5cbiAgICAgIC5vLXNpZGViYXJfX21lbWJlci1saW5rLXdyYXBwZXJfX3RleHQge1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmU7XG4gICAgICAgIGZvbnQtZmFtaWx5OiAnTGV0dGVyYXRleHRwcm9ib2xkJywgc2Fucy1zZXJpZjtcbiAgICAgIH1cbiAgICAgICYgPiBhIHtcbiAgICAgICAgQGluY2x1ZGUgYnRuLW5vLWJnO1xuICAgICAgICBwYWRkaW5nOiAwO1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmU7XG4gICAgICAgICY6aG92ZXIge1xuICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICAgICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgICAmX190ZXh0IHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxuICB9XG5cbiAgJl9faW5uZXIge1xuICAgIHBhZGRpbmc6IDIwcHg7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgyMTUsIDIxNSwgMjE1LCAwLjIpO1xuICAgIFxuICAgICZfX2V2ZW50LXN0YXRlcy1idXR0b24ge1xuICAgICAgbWFyZ2luOiAyMHB4IDAgMDtcbiAgICB9XG4gIH1cblxuICBwLm8tc2lkZWJhcl9fdGV4dCB7XG4gICAgZm9udC1zaXplOiAxNnB4O1xuICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xuICAgIGxldHRlci1zcGFjaW5nOiAwO1xuICAgIGxpbmUtaGVpZ2h0OiAyNHB4O1xuICAgIHBhZGRpbmc6IDAgMjBweDtcbiAgICBjb2xvcjogdmFyKC0tYy1zZWNvbmRhcnkpO1xuICAgIG1hcmdpbi1ib3R0b206IDIwcHg7XG5cbiAgICBhIHtcbiAgICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xuICAgIH1cbiAgfVxuXG4gICZfX21lbnUge1xuICAgICYgPiB1bC5tZW51IHtcbiAgICAgIGEge1xuICAgICAgICAmLmlzLWFjdGl2ZSB7XG4gICAgICAgICAgQGluY2x1ZGUgZm9udC1ib2xkO1xuICAgICAgICAgIG1hcmdpbjogMCAwIDAgY2FsYyh2YXIoLS1idW1wKSAvIDMpO1xuICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgJiA+IC5tZW51LWl0ZW0ge1xuICAgICAgICBsaXN0LXN0eWxlOiBub25lO1xuICAgICAgfVxuXG4gICAgICAmID4gbGk6bGFzdC1jaGlsZCBhIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICAgIH1cblxuICAgICAgLm0tbWFpbi1uYXZfX2xpbmsge1xuICAgICAgICBtYXJnaW46IGNhbGModmFyKC0tYnVtcCkgLyAyKSAwIDA7XG4gICAgICB9XG5cbiAgICAgIC5tZW51LWl0ZW0tLWFjdGl2ZS10cmFpbCA+IGEge1xuICAgICAgICBAaW5jbHVkZSBmb250LWJvbGQ7XG4gICAgICB9XG5cbiAgICAgIHVsLm1lbnUge1xuICAgICAgICBsaSB7XG4gICAgICAgICAgcGFkZGluZzogMCAwIDAgY2FsYyh2YXIoLS1idW1wKSAvIDEuNSk7XG5cbiAgICAgICAgICAmLmlzLWFjdGl2ZS10cmFpbCB7XG4gICAgICAgICAgICB0ZXh0LWluZGVudDogMHB4O1xuICAgICAgICAgICAgbGlzdC1zdHlsZS10eXBlOiBub25lO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgICYgPiAubS1tYWluLW5hdl9fbGluayB7XG4gICAgICAgICAgYSB7XG4gICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cbiAgICAgICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICAgICAgY29udGVudDogJy0nO1xuICAgICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICAgIGxlZnQ6IDA7XG4gICAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtMTUwJSk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgJl9fY3RhIHtcbiAgICAmID4gLmEtYnRuIHtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgJi5uby1saW5rIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgyMTUsMjE1LDIxNSwwLjIpICFpbXBvcnRhbnQ7XG4gICAgICAgIGNvbG9yOiB2YXIoLS1jLWdyZXkpICFpbXBvcnRhbnQ7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgJl9fcmVsYXRlZCB7XG4gICAgY29sb3I6IHZhcigtLWMtc2Vjb25kYXJ5KTtcbiAgfVxuXG4gICZfX3NlYXNvbiB7XG4gICAgY29sb3I6IHZhcigtLWMtd2hpdGUpO1xuICB9XG5cbiAgJl9fc2Vhc29uLFxuICAmX19zdWItdGl0bGUge1xuICAgIGZvbnQtZmFtaWx5OiAnTGV0dGVyYXRleHRwcm9ib2xkJywgc2Fucy1zZXJpZjtcbiAgICBmb250LXNpemU6IDE4cHg7XG4gICAgbWFyZ2luOiAwO1xuICAgIHBhZGRpbmc6IDAgMjBweDtcbiAgfVxuXG4gICZfX2l0ZW0ge1xuICAgIC5zb2NpYWwtc2hhcmluZy1idXR0b25zIHtcbiAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDtcbiAgICAgIHBhZGRpbmc6IDAgY2FsYyh2YXIoLS1idW1wKSAvIDMpO1xuICAgICAgbWFyZ2luOiAwO1xuXG4gICAgICBhIHtcbiAgICAgICAgbWFyZ2luOiAwIGNhbGModmFyKC0tYnVtcCkgLyAyKSAwIDA7XG4gICAgICAgIHN2ZyB7XG4gICAgICAgICAgZmlsbDogd2hpdGU7XG4gICAgICAgICAgd2lkdGg6IDMwcHg7XG4gICAgICAgICAgaGVpZ2h0OiAzMHB4O1xuICAgICAgICB9XG4gICAgICAgICY6aG92ZXIge1xuICAgICAgICAgIHN2ZyB7XG4gICAgICAgICAgICB0cmFuc2l0aW9uOiAwLjhzIHZhcigtLWVhc2luZyk7XG4gICAgICAgICAgICBmaWxsOiB2YXIoLS1jLWdyZXkpO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gICZfX2N0YSxcbiAgJl9fbWVtYmVyLWxpbmstd3JhcHBlcixcbiAgJl9faW5uZXIsXG4gICZfX2l0ZW0ge1xuICAgIG1hcmdpbjogMCAwIDIwcHg7XG4gIH1cbn1cbiIsIi8qKlxuICogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICogVW4udGl0bGVkXG4gKiBPcmdhbmlzbXMgLSBUZWFzZXJzXG4gKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gKi9cblxuLm8tdGVhc2VyIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBoZWlnaHQ6IDEwMCU7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICBhbGlnbi1pdGVtczogZmxleC1zdGFydDtcbiAgdHJhbnNpdGlvbjogYWxsIDFzIHZhcigtLXRyYW5zaXRpb24pO1xuXG4gIHZpZGVvIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAwO1xuICAgIGxlZnQ6IDA7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIG9iamVjdC1maXQ6IGNvdmVyO1xuXG4gICAgQGluY2x1ZGUgbWVkaWEoJzx4cycpIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICB2aXNpYmlsaXR5OiBoaWRkZW47XG4gICAgfVxuXG4gIH1cbiAgXG4gICZfX2lubmVyLFxuICAuY29sLTEyIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgd2lkdGg6IDEwMCU7XG4gIH1cblxuICAmX190aHVtYiB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWMtcHJpbWFyeSk7XG4gICAgdHJhbnNpdGlvbjogYWxsIDFzIHZhcigtLXRyYW5zaXRpb24pO1xuXG4gICAgLm0tZW50aXR5X19zaWducG9zdHNfX2lubmVyICYge1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7XG4gICAgICBwaWN0dXJlIHtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLmEtaW1hZ2UtY3JlZGl0IHtcbiAgICAgIGxlZnQ6IGNhbGModmFyKC0tYnVtcCkgLyAxLjUpO1xuICAgIH1cblxuICAgIGltZyB7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIGhlaWdodDogYXV0bztcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgdHJhbnNpdGlvbjogdmFyKC0tdHJhbnNpdGlvbik7XG4gICAgfVxuICB9XG5cbiAgJl9faW1hZ2Uge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgfVxuXG4gICZfX292ZXJsYXkge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDA7XG4gICAgbGVmdDogMDtcbiAgICBib3R0b206IDA7XG4gICAgcmlnaHQ6IDA7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIHotaW5kZXg6IDE7XG4gICAgY29sb3I6IHZhcigtLWMtd2hpdGUpO1xuICAgIGJveC1zaGFkb3c6IGluc2V0IDBweCAtMTgwcHggOTFweCAtMTBweCB2YXIoLS1jLXByaW1hcnkpO1xuICAgIEBpbmNsdWRlIG1lZGlhKCc8c20nKSB7XG4gICAgICBib3gtc2hhZG93OiBpbnNldCAwcHggLTEwMHB4IDkwcHggLTEwcHggdmFyKC0tYy1wcmltYXJ5KTtcbiAgICB9XG5cbiAgICAmICsgcGljdHVyZSB7XG4gICAgICAmID4gaW1nIHtcbiAgICAgICAgYm94LXNoYWRvdzogaW5zZXQgMHB4IC0yMjBweCAxMzBweCAtMTBweCAjMWIxYjFiO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gICZfX2RhdGUge1xuICAgIGZvbnQtc2l6ZTogMTRweDtcbiAgICBsaW5lLWhlaWdodDogMTdweDtcbiAgICBsZXR0ZXItc3BhY2luZzogMXg7XG4gICAgZm9udC1mYW1pbHk6IHZhcigtLWZvbnRCb2xkKTtcbiAgfVxuXG4gICZfX3ByZS10aXRsZSB7XG4gICAgZm9udC1zaXplOiAxNnB4O1xuICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xuICAgIGxldHRlci1zcGFjaW5nOiAwO1xuICAgIGxpbmUtaGVpZ2h0OiAyMHB4O1xuICAgIG1hcmdpbi1ib3R0b206IGNhbGModmFyKC0tYnVtcCkgLyA2KTtcbiAgfVxuXG4gICZfX3RpdGxlIHtcbiAgICBsaW5lLWhlaWdodDogMS41O1xuICAgIGZvbnQtc2l6ZTogY2xhbXAoMTZweCwgN3Z3LCB2YXIoLS1mb250U2l6ZSkpO1xuICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xuICAgIG1hcmdpbi1ib3R0b206IGNhbGModmFyKC0tYnVtcCkgLyA2KTtcbiAgfVxuXG4gICZfX3Bvc3QtdHlwZSB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIGJvdHRvbTogMDtcbiAgICBwYWRkaW5nOiBjYWxjKHZhcigtLWJ1bXApIC8gNSk7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYy1zZWNvbmRhcnkpO1xuICAgIGNvbG9yOiB2YXIoLS1jLXByaW1hcnkpO1xuICAgIG1hcmdpbjogMDtcbiAgICBmb250LXdlaWdodDogYm9sZDtcbiAgICB6LWluZGV4OiAxO1xuICAgIHRyYW5zaXRpb246IGFsbCAxcyB2YXIoLS10cmFuc2l0aW9uKTtcbiAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgIGZvbnQtc2l6ZTogMTRweDtcbiAgICBsaW5lLWhlaWdodDogMTdweDtcbiAgICBsZXR0ZXItc3BhY2luZzogMC43NXB4O1xuICAgIGZvbnQtZmFtaWx5OiB2YXIoLS1mb250Qm9sZCk7XG4gIH1cblxuICAmX19jb250ZW50IHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0O1xuICAgIGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0O1xuICAgIHBhZGRpbmc6IGNhbGModmFyKC0tYnVtcCkgLyAyKSAwO1xuXG5cbiAgICBAaW5jbHVkZSBtZWRpYSgnPHNtJykge1xuICAgICAgcGFkZGluZzogY2FsYyh2YXIoLS1idW1wKSAvIDIpIDA7XG4gICAgfVxuXG4gICAgLm0tZW50aXR5X19zaWducG9zdHNfX2lubmVyICYge1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgLy9wYWRkaW5nOiBjYWxjKHZhcigtLWJ1bXApIC8gMikgY2FsYyh2YXIoLS1idW1wKSAqIDYpIDBcbiAgICAgIC8vICBjYWxjKHZhcigtLWJ1bXApICogMik7XG4gICAgICB6LWluZGV4OiAxO1xuXG4gICAgICBAaW5jbHVkZSBtZWRpYSgnPGxnJykge1xuICAgICAgICBwYWRkaW5nOiBjYWxjKHZhcigtLWJ1bXApIC8gMikgY2FsYyh2YXIoLS1idW1wKSAqIDIpO1xuICAgICAgICBib3R0b206IC01MHB4O1xuICAgICAgfVxuXG4gICAgICBAaW5jbHVkZSBtZWRpYSgnPHNtJykge1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIHBhZGRpbmc6IGNhbGModmFyKC0tYnVtcCkgLyAyKSBjYWxjKHZhcigtLWJ1bXApIC8gMik7XG4gICAgICB9XG4gICAgfVxuXG4gICAgcCB7XG4gICAgICBtYXJnaW46IDA7XG4gICAgICAmOmxhc3Qtb2YtdHlwZSB7XG4gICAgICAgIEBpbmNsdWRlIG1lZGlhKCc8c20nKSB7XG4gICAgICAgICAgbWFyZ2luLWJvdHRvbTogY2FsYyh2YXIoLS1idW1wKSAvIDIpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgJl9fYm9keS10ZXh0IHtcbiAgICBjb2xvcjogdmFyKC0tYy1zZWNvbmRhcnkpO1xuICAgIC5jdF9fd2hhdC1zLW9uLWxpc3RpbmcgJiB7XG4gICAgICBkaXNwbGF5OiBub25lO1xuICAgIH1cbiAgfVxuXG4gICZfX2xpbmsge1xuICAgIEBpbmNsdWRlIGZvbnQtY3RhO1xuICAgIGNvbG9yOiB2YXIoLS1jLXNlY29uZGFyeSk7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XG4gICAgbWFyZ2luOiAwO1xuICAgIHBhZGRpbmc6IDA7XG4gICAgd2hpdGUtc3BhY2U6IG5vcm1hbDtcbiAgICB0ZXh0LWFsaWduLWxhc3Q6IGxlZnQ7XG4gICAgdGV4dC1hbGlnbjogbGVmdDtcblxuICAgICY6aG92ZXIge1xuICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgIH1cbiAgfVxuXG4gICZfX2J1dHRvbnMge1xuICAgIG1hcmdpbi10b3A6IGF1dG87XG4gICAgcGFkZGluZzogMCAwIGNhbGModmFyKC0tYnVtcCkgLyAyKTtcbiAgICBkaXNwbGF5OiBncmlkO1xuICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KDIsIDFmcik7XG4gICAgZ2FwOiBjYWxjKHZhcigtLWJ1bXApIC8gMik7XG4gICAgYWxpZ24tc2VsZjogZmxleC1zdGFydDtcblxuICAgIEBpbmNsdWRlIG1lZGlhKCc8c20nKSB7XG4gICAgICBwYWRkaW5nOiAwIDAgY2FsYyh2YXIoLS1idW1wKSAvIDIpO1xuICAgIH1cblxuICAgIC5tLWVudGl0eV9fc2lnbnBvc3RzX19pbm5lciAmIHtcbiAgICAgIHBhZGRpbmc6IDA7XG4gICAgfVxuICB9XG5cbiAgJl9fYnV0dG9uIHtcbiAgICBwYWRkaW5nOiBjYWxjKHZhcigtLWJ1bXApIC8gNCkgY2FsYyh2YXIoLS1idW1wKSAvIDMpO1xuICAgIHdoaXRlLXNwYWNlOiBub3JtYWw7XG5cbiAgICAmLS1uby1iZyB7XG4gICAgICBwYWRkaW5nOiBjYWxjKHZhcigtLWJ1bXApIC8gNCkgMDtcbiAgICB9XG5cbiAgICAmLS1mbGV4LXN0YXJ0IHtcbiAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDtcbiAgICB9XG5cbiAgICAmOmFmdGVyIHtcbiAgICAgIHdpZHRoOiAyMHB4O1xuICAgICAgaGVpZ2h0OiAyMHB4O1xuICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyO1xuICAgICAgbWFyZ2luOiAwO1xuICAgIH1cbiAgfVxuXG4gICYtbWluaS10ZWFzZXIge1xuICAgICZfX2NvbnRlbnQge1xuICAgICAgcGFkZGluZzogY2FsYyh2YXIoLS1idW1wKSAvIDIpIDA7XG4gICAgfVxuICAgICZfX2J1dHRvbnMge1xuICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG4gIH1cblxuICAmLXYyLXRlYXNlciB7XG4gICAgJl9fY29udGVudCB7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICBib3R0b206IDA7XG4gICAgICBwYWRkaW5nOiAwO1xuICAgICAgbWFyZ2luOiAwcHggMjRweCAzMnB4O1xuICAgICAgei1pbmRleDogMTtcbiAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgIG1heC1oZWlnaHQ6IDEwMHB4O1xuXG4gICAgICBAaW5jbHVkZSBtZWRpYShcIjxzbVwiKSB7XG4gICAgICAgIG1hcmdpbjogMjBweDtcbiAgICAgICAgaGVpZ2h0OiBhdXRvO1xuICAgICAgfVxuICAgIH1cblxuICAgICZfX292ZXJsYXkge1xuICAgICAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KDE4MGRlZywgcmdiYSgwLDAsMCwwKSAwJSwgIzAwMDAwMCAxMDAlKTtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHRvcDogMDtcbiAgICAgIHJpZ2h0OiAwO1xuICAgICAgYm90dG9tOiAwO1xuICAgICAgbGVmdDogMDtcbiAgICAgIHotaW5kZXg6IDE7XG5cbiAgICAgICYgKyBwaWN0dXJlIHtcbiAgICAgICAgJiA+IGltZyB7XG4gICAgICAgICAgYm94LXNoYWRvdzogaW5zZXQgMHB4IC0yMjBweCAxMzBweCAtMTBweCAjMWIxYjFiO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgJl9fdGh1bWIge1xuICAgICAgaW1nIHtcbiAgICAgICAgb2JqZWN0LWZpdDogY292ZXI7XG4gICAgICAgIGhlaWdodDogNDcwcHg7XG5cbiAgICAgICAgQGluY2x1ZGUgbWVkaWEoXCI8c21cIikge1xuICAgICAgICAgIGhlaWdodDogYXV0bztcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICAmOmhvdmVyIHtcbiAgICAgICAgLm8tdGVhc2VyLXYyLXRlYXNlcl9fdGl0bGUge1xuICAgICAgICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgJl9fdGl0bGUge1xuICAgICAgbGluZS1oZWlnaHQ6IDI3cHg7XG4gICAgICBtYXJnaW46IDAgMCA1cHg7XG4gICAgfVxuXG4gICAgJl9fYm9keS10ZXh0IHtcbiAgICAgIGxpbmUtaGVpZ2h0OiAxN3B4O1xuICAgICAgQGluY2x1ZGUgbWVkaWEoXCI8c21cIikge1xuICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIiwiLyoqXG4qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiogVW4udGl0bGVkXG4qIE9yZ2FuaXNtcyAtIFNlYXJjaFxuKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4qL1xuXG4vKipcbiogQ29uZmlnXG4qL1xuXG4vKipcbiogU3R5bGluZ1xuKi9cbltkYXRhLXNlYXJjaD0nb3BlbiddIHtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbn1cblxuLm8tc2VhcmNoIHtcbiAgQGluY2x1ZGUgbWVkaWEoJzxzbScpIHtcbiAgICBwYWRkaW5nOiBjYWxjKHZhcigtLWJ1bXApICogMS41KSAwIGNhbGModmFyKC0tYnVtcCkgKiA1KTtcbiAgfVxuXG4gICZfX21vYmlsZSB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgICBAaW5jbHVkZSBtZWRpYSgnPHNtJykge1xuICAgICAgcGFkZGluZzogMCBjYWxjKHZhcigtLWJ1bXApIC8gMikgY2FsYyh2YXIoLS1idW1wKSAvIDIpO1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICB9XG4gIH1cblxuICAmX19pbm5lciB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcblxuICAgIEBpbmNsdWRlIG1lZGlhKCc8c20nKSB7XG4gICAgICBwYWRkaW5nOiAxcmVtIDAgMDtcbiAgICAgIGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0O1xuICAgIH1cbiAgfVxuXG4gIC52aWV3cy1leHBvc2VkLWZvcm0ge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIEBpbmNsdWRlIG1lZGlhKCc8c20nKSB7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICB9XG4gICAgI3ZpZXdzLWV4cG9zZWQtZm9ybS1zZWFyY2gtc2VhcmNoIHtcbiAgICAgIC5qcy1mb3JtLWl0ZW0sXG4gICAgICAuZm9ybS1hY3Rpb25zIHtcbiAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICBwYWRkaW5nOiAwO1xuICAgICAgfVxuXG4gICAgICAuZm9ybS1hY3Rpb25zIHtcbiAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgIH1cblxuICAgICAgaW5wdXQge1xuICAgICAgICBib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1jLXdoaXRlKTtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYy1wcmltYXJ5KTtcbiAgICAgICAgY29sb3I6IHZhcigtLWMtd2hpdGUpO1xuXG4gICAgICAgIEBpbmNsdWRlIGJnLWltZygyMHB4KTtcbiAgICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogOTklIGNlbnRlcjtcbiAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKCcuLi9pbWcvc2VhcmNoLnN2ZycpO1xuICAgICAgICBwYWRkaW5nOiAxNXB4IDQ1cHggMTVweCAxNXB4O1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jLWdyZXlMaWdodCk7XG5cbiAgICAgICAgJjo6cGxhY2Vob2xkZXIge1xuICAgICAgICAgIG9wYWNpdHk6IDAuNzU7XG4gICAgICAgICAgY29sb3I6IGluaGVyaXQ7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgYnV0dG9uIHtcbiAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgcGFkZGluZzogMDtcbiAgICAgICAgYm9yZGVyOiBub25lO1xuICAgICAgfVxuXG4gICAgICBpbnB1dCxcbiAgICAgIGJ1dHRvbiB7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBoZWlnaHQ6IDM1cHg7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbi51aS13aWRnZXQge1xuICAmLnVpLXdpZGdldC1jb250ZW50IHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMTQxNDE0O1xuICAgIGNvbG9yOiAjZmZmO1xuICAgIGJvcmRlcjogbm9uZTtcblxuICAgIGgzLCBsaSwgYSB7XG4gICAgICBjb2xvcjogI2ZmZjtcbiAgICB9XG4gIH1cbn0iLCIuby13aGF0LXMtb24tbGlzdGluZyB7XG4gICZfX2ludHJvIHtcbiAgICAmX19yaWdodCB7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDtcbiAgICAgIGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0O1xuXG4gICAgICBAaW5jbHVkZSBtZWRpYSgnPHNtJykge1xuICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgfVxuICAgIH1cbiAgfVxuICAuZm9ybS1pdGVtLXBlcmZvcm1hbmNlLWRhdGVyYW5nZSB7XG4gICAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgICBsYWJlbCB7XG4gICAgfVxuICAgIC5kYXRlcmFuZ2UtcGlja2VyLWZpZWxkIHtcbiAgICAgIGJvcmRlcjogbm9uZTtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICAgICAgb3V0bGluZTogbm9uZTtcbiAgICAgIGNvbG9yOiAjZmZmO1xuXG4gICAgICAmOjpwbGFjZWhvbGRlciB7XG4gICAgICAgIGNvbG9yOiAjZmZmO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuLyogTGl0ZXBpY2tlciAqL1xuOnJvb3Qge1xuICAtLWxpdGVwaWNrZXItaXMtdG9kYXktY29sb3I6ICMwMDA7XG4gIC0tbGl0ZXBpY2tlci1kYXktY29sb3ItaG92ZXI6IHZhcigtLWMtdGVydGlhcnkpO1xuICAtLWxpdGVwaWNrZXItaXMtc3RhcnQtY29sb3I6ICMwMDA7XG4gIC0tbGl0ZXBpY2tlci1pcy1zdGFydC1jb2xvci1iZzogdmFyKC0tYy10ZXJ0aWFyeSk7XG4gIC0tbGl0ZXBpY2tlci1pcy1pbi1yYW5nZS1jb2xvcjogcmdiYSgyNTUsMjI4LDAsLjUpO1xuICAtLWxpdGVwaWNrZXItaXMtZW5kLWNvbG9yOiAjMDAwO1xuICAtLWxpdGVwaWNrZXItaXMtZW5kLWNvbG9yLWJnOiB2YXIoLS1jLXRlcnRpYXJ5KTtcbn1cbi5saXRlcGlja2VyIHtcbiAgei1pbmRleDogMTAwO1xuICBwb3NpdGlvbjogZml4ZWQgIWltcG9ydGFudDtcbiAgdG9wOiAwICFpbXBvcnRhbnQ7XG4gIGxlZnQ6IDAgIWltcG9ydGFudDtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogMTAwJTtcbiAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgwLDAsMCwgLjUpO1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICBmb250LXNpemU6IDE4cHg7XG4gIC5jb250YWluZXJfX21haW4ge1xuICAgIHBvc2l0aW9uOiBmaXhlZCAhaW1wb3J0YW50O1xuICAgIHRvcDogNTAlICFpbXBvcnRhbnQ7XG4gICAgbGVmdDogNTAlICFpbXBvcnRhbnQ7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgLTUwJSk7XG4gICAgd2lkdGg6IDkwJTtcbiAgICBtYXgtd2lkdGg6IDY4OHB4O1xuICAgIG1heC1oZWlnaHQ6IDkwJTtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgIG92ZXJmbG93LXg6IGF1dG87XG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzAwMDtcbiAgICAtbW96LWJveC1zaGFkb3c6IDRweCA0cHggMjRweCAwIHJnYmEoMzQsMzQsMzQsMSk7XG4gICAgLXdlYmtpdC1ib3gtc2hhZG93OiA0cHggNHB4IDI0cHggMCByZ2JhKDM0LDM0LDM0LDEpO1xuICAgIGJveC1zaGFkb3c6IDRweCA0cHggMjRweCAwIHJnYmEoMzQsMzQsMzQsMSk7XG4gICAgcGFkZGluZzogMnJlbSAwLjVyZW07XG4gICAgJjo6YmVmb3JlIHtcbiAgICAgIGNvbnRlbnQ6ICdDaG9vc2UgYSBzaW5nbGUgZGF0ZSBvciByYW5nZSc7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgY29sb3I6ICNmZmY7XG4gICAgICBmb250LXNpemU6IDIwcHg7XG4gICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICBtYXJnaW4tYm90dG9tOiAuNzVyZW07XG4gICAgfVxuICB9XG4gIC5jb250YWluZXJfX21vbnRocyB7XG4gICAgYm94LXNoYWRvdzogbm9uZTtcbiAgICB3aWR0aDogMTAwJSAhaW1wb3J0YW50O1xuICAgIC5tb250aC1pdGVtLXdlZWtkYXlzLXJvdyB7XG4gICAgICBkaXNwbGF5OiBncmlkO1xuICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoNywgMWZyKTtcbiAgICB9XG4gICAgQGluY2x1ZGUgbWVkaWEoJzxzbScpIHtcbiAgICAgIGRpc3BsYXk6IGdyaWQ7XG4gICAgICAubW9udGgtaXRlbSB7XG4gICAgICAgIHdpZHRoOiAxMDAlICFpbXBvcnRhbnQ7XG4gICAgICB9XG4gICAgfVxuICB9XG4gIC5jb250YWluZXJfX2RheXN7XG4gICAgZGlzcGxheTogZ3JpZDtcbiAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdCg3LCAxZnIpO1xuICB9XG4gIC5tb250aC1pdGVtIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xuICAgIGJvcmRlcjogLjVyZW0gc29saWQgIzAwMDtcbiAgICBib3gtc2l6aW5nOiBib3JkZXItYm94ICFpbXBvcnRhbnQ7XG4gICAgd2lkdGg6IDUwJSAhaW1wb3J0YW50O1xuICAgIHBhZGRpbmc6IDE1cHggIWltcG9ydGFudDtcbiAgfVxuICAuY2xvc2UtYnRuIHtcbiAgICB0b3A6IC05MnB4O1xuICAgIGxlZnQ6IDEwcHg7XG4gICAgY29sb3I6IHdoaXRlO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBmb250LXNpemU6IDE4cHg7XG4gIH1cbiAgLm1vbnRoLWl0ZW0td2Vla2RheXMtcm93IHtcbiAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICB9XG4gIC5jb250YWluZXJfX2RheXMge1xuICAgICYgPiBkaXYge1xuICAgICAgcGFkZGluZzogNXB4IDFweCA1cHggMnB4O1xuICAgIH1cbiAgICAuZGF5LWl0ZW06aG92ZXIge1xuICAgICAgY29sb3I6ICMwMDAgIWltcG9ydGFudDtcbiAgICAgIC13ZWJraXQtYm94LXNoYWRvdzogaW5zZXQgMCAwIDAgMXB4IHZhcigtLWxpdGVwaWNrZXItZGF5LWNvbG9yLWhvdmVyKTtcbiAgICAgIGJveC1zaGFkb3c6IGluc2V0IDAgMCAwIDFweCB2YXIoLS1saXRlcGlja2VyLWRheS1jb2xvci1ob3Zlcik7XG4gICAgfVxuICAgIC5pcy10b2RheSB7XG4gICAgICBmb250LXdlaWdodDogYm9sZDtcbiAgICB9XG4gIH1cbn1cbi5kYXRlLWZpZWxkLWxhYmVsIHtcbiAgZm9udC13ZWlnaHQ6IDkwMDtcbn1cbi5kYXRlLWZpZWxkcy13cmFwcGVyIHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IHJvdztcbn1cbi5mb3JtLWl0ZW0tZGF0ZSB7XG4gIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gICYgPiAqIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIH1cbiAgLmZpZWxkLXByZWZpeCB7XG4gICAgb3JkZXI6IDA7XG4gICAgbWFyZ2luLXJpZ2h0OiA1cHg7XG4gIH1cbiAgbGFiZWwge1xuICAgIG9yZGVyOiAxO1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcbiAgfVxuICAmLmZpbGxlZCB7XG4gICAgLmZpZWxkLXByZWZpeCB7XG4gICAgICBpbWcge1xuICAgICAgICBmaWx0ZXI6IGludmVydCg3OCUpIHNlcGlhKDc4JSkgc2F0dXJhdGUoMjExOSUpIGh1ZS1yb3RhdGUoXG4gICAgICAgICAgICAgICAgICAgICAgICA0MTBkZWdcbiAgICAgICAgKSBicmlnaHRuZXNzKDE5OSUpIGNvbnRyYXN0KDE1OCUpO1xuICAgICAgfVxuICAgIH1cbiAgICBsYWJlbCB7XG4gICAgICBzcGFuIHtcbiAgICAgICAgY29sb3I6ICNmZmU0MDA7XG4gICAgICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xuICAgICAgfVxuICAgIH1cbiAgfVxuICBpbnB1dCB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxufVxuIl0sInNvdXJjZVJvb3QiOiIifQ==*/