/**
 * 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, d09GRgABAAAAAAZgABAAAAAADAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABGRlRNAAAGRAAAABoAAAAci6qHkUdERUYAAAWgAAAAIwAAACQAYABXR1BPUwAABhQAAAAuAAAANuAY7+xHU1VCAAAFxAAAAFAAAABm2fPczU9TLzIAAAHcAAAASgAAAGBP9V5RY21hcAAAAkQAAACIAAABYt6F0cBjdnQgAAACzAAAAAQAAAAEABEBRGdhc3AAAAWYAAAACAAAAAj//wADZ2x5ZgAAAywAAADMAAAD2MHtryVoZWFkAAABbAAAADAAAAA2E2+eoWhoZWEAAAGcAAAAHwAAACQC9gDzaG10eAAAAigAAAAZAAAArgJkABFsb2NhAAAC0AAAAFoAAABaFQAUGG1heHAAAAG8AAAAHwAAACAAcABAbmFtZQAAA/gAAAE5AAACXvFdBwlwb3N0AAAFNAAAAGIAAACE5s74hXjaY2BkYGAAYpf5Hu/j+W2+MnAzMYDAzaX6QjD6/4//Bxj5GA8AuRwMYGkAPywL13jaY2BkYGA88P8Agx4j+/8fQDYfA1AEBWgDAIB2BOoAeNpjYGRgYNBh4GdgYgABEMnIABJzYNADCQAACWgAsQB42mNgYfzCOIGBlYGB0YcxjYGBwR1Kf2WQZGhhYGBiYGVmgAFGBiQQkOaawtDAoMBQxXjg/wEGPcYDDA4wNUA2CCgwsAAAO4EL6gAAeNpj2M0gyAACqxgGNWBkZ2D4/wMA+xkDdgAAAHjaY2BgYGaAYBkGRgYQiAHyGMF8FgYHIM3DwMHABGQrMOgyWDLEM1T9/w8UBfEMgLzE////P/5//f/V/xv+r4eaAAeMbAxwIUYmIMHEgKYAYjUcsDAwsLKxc3BycfPw8jEQA/gZBASFhEVExcQlJKWkZWTl5BUUlZRVVNXUNTQZBgMAAMR+E+gAEQFEAAAAKgAqACoANAA+AEgAUgBcAGYAcAB6AIQAjgCYAKIArAC2AMAAygDUAN4A6ADyAPwBBgEQARoBJAEuATgBQgFMAVYBYAFqAXQBfgGIAZIBnAGmAbIBzgHsAAB42u2NMQ6CUAyGW568x9AneYYgm4MJbhKFaExIOAVX8ApewSt4Bic4AfeAid3VOBixDxfPYEza5O+Xfi04YADggiUIULCuEJK8VhO4bSvpdnktHI5QCYtdi2sl8ZnXaHlqUrNKzdKcT8cjlq+rwZSvIVczNiezsfnP/uznmfPFBNODM2K7MTQ45YEAZqGP81AmGGcF3iPqOop0r1SPTaTbVkfUe4HXj97wYE+yNwWYxwWu4v1ugWHgo3S1XdZEVqWM7ET0cfnLGxWfkgR42o2PvWrDMBSFj/IHLaF0zKjRgdiVMwScNRAoWUoH78Y2icB/yIY09An6AH2Bdu/UB+yxopYshQiEvnvu0dURgDt8QeC8PDw7Fpji3fEA4z/PEJ6YOB5hKh4dj3EvXhxPqH/SKUY3rJ7srZ4FZnh1PMAtPhwP6fl2PMJMPDgeQ4rY8YT6Gzao0eAEA409DuggmTnFnOcSCiEiLMgxCiTI6Cq5DZUd3Qmp10vO0LaLTd2cjN4fOumlc7lUYbSQcZFkutRG7g6JKZKy0RmdLY680CDnEJ+UMkpFFe1RN7nxdVpXrC4aTtnaurOnYercZg2YVmLN/d/gczfEimrE/fs/bOuq29Zmn8tloORaXgZgGa78yO9/cnXm2BpaGvq25Dv9S4E9+5SIc9PqupJKhYFSSl47+Qcr1mYNAAAAeNptw0cKwkAAAMDZJA8Q7OUJvkLsPfZ6zFVERPy8qHh2YER+3i/BP83vIBLLySsoKimrqKqpa2hp6+jq6RsYGhmbmJqZSy0sraxtbO3sHRydnEMU4uR6yx7JJXveP7WrDycAAAAAAAH//wACeNpjYGRgYOABYhkgZgJCZgZNBkYGLQZtIJsFLMYAAAw3ALgAeNolizEKgDAQBCchRbC2sFER0YD6qVQiBCv/H9ezGI6Z5XBAw8CBK/m5iQQVauVbXLnOrMZv2oLdKFa8Pjuru2hJzGabmOSLzNMzvutpB3N42mNgZGBg4GKQYzBhYMxJLMlj4GBgAYow/P/PAJJhLM6sSoWKfWCAAwDAjgbRAAB42mNgYGBkAIIbCZo5IPrmUn0hGA0AO8EFTQAA');
  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.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.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.views-exposed-form [type=radio]:checked + label:after,
.view-what-s-on form.views-exposed-form [type=radio]:not(:checked) + label:after,
.view-what-s-on form.views-exposed-form [type=checkbox]:checked + label:after,
.view-what-s-on 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.views-exposed-form [type=radio]:checked + label:before,
.view-what-s-on form.views-exposed-form [type=radio]:not(:checked) + label:before,
.view-what-s-on form.views-exposed-form [type=checkbox]:checked + label:before,
.view-what-s-on 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.views-exposed-form [type=radio]:checked + label,
.view-what-s-on form.views-exposed-form [type=radio]:not(:checked) + label,
.view-what-s-on form.views-exposed-form [type=checkbox]:checked + label,
.view-what-s-on 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.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.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.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.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 .views-exposed-form {
  display: flex;
  flex-direction: column;
}
.view-what-s-on .views-exposed-form .date-field-label {
  display: flex;
  order: 0;
}
.view-what-s-on .views-exposed-form .date-fields-wrapper {
  display: flex;
  order: 1;
  margin-bottom: calc(var(--bump) / 2);
}
.view-what-s-on .views-exposed-form .fieldgroup {
  display: flex;
  order: 2;
  margin-bottom: calc(var(--bump) / 2);
}
.view-what-s-on .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) * 2);
  align-items: center;
}
.m-logos a {
  max-height: 235px;
  display: flex;
  justify-content: center;
}
.m-logos a img {
  height: 100%;
  -o-object-fit: contain;
     object-fit: contain;
}
.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__what_s_on___form, .view__photography_culture__form, .view__photography_culture___form, .view__past_programme__form, .view__past_programme___form, .view__learn_listing__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.m-secondary-cta {
  display: block;
}
.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;
}

.o-season-page .m-banner__content__title {
  width: 66%;
}

/**
 * Templates
 */

/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9zeWQtZDkvLi9ub2RlX21vZHVsZXMvc3dpcGVyL3N3aXBlci1idW5kbGUuY3NzIiwid2VicGFjazovL3N5ZC1kOS8uL25vZGVfbW9kdWxlcy9jaG9pY2VzLmpzL3B1YmxpYy9hc3NldHMvc3R5bGVzL2Nob2ljZXMubWluLmNzcyIsIndlYnBhY2s6Ly9zeWQtZDkvLi93ZWIvdGhlbWVzL3BpcHBpcC9hc3NldHMvc2Fzcy9nbG9iYWwuc2NzcyIsIndlYnBhY2s6Ly9zeWQtZDkvLi9ub2RlX21vZHVsZXMvYmFndWV0dGVib3guanMvc3JjL2JhZ3VldHRlQm94LnNjc3MiLCJ3ZWJwYWNrOi8vc3lkLWQ5Ly4vbm9kZV9tb2R1bGVzL25vcm1hbGl6ZS5zY3NzL25vcm1hbGl6ZS5zY3NzIiwid2VicGFjazovL3N5ZC1kOS8uL25vZGVfbW9kdWxlcy9yZWZsZXgtZ3JpZC9zY3NzL2luY2x1ZGVzL192YXJpYWJsZXMuc2NzcyIsIndlYnBhY2s6Ly9zeWQtZDkvLi9ub2RlX21vZHVsZXMvcmVmbGV4LWdyaWQvc2Nzcy9pbmNsdWRlcy9fZ3JpZC5zY3NzIiwid2VicGFjazovL3N5ZC1kOS8uL25vZGVfbW9kdWxlcy9yZWZsZXgtZ3JpZC9zY3NzL2luY2x1ZGVzL19taXhpbnMuc2NzcyIsIndlYnBhY2s6Ly9zeWQtZDkvLi9ub2RlX21vZHVsZXMvcmVmbGV4LWdyaWQvc2Nzcy9pbmNsdWRlcy9faGVscGVycy5zY3NzIiwid2VicGFjazovL3N5ZC1kOS8uL3dlYi90aGVtZXMvcGlwcGlwL2Fzc2V0cy9zYXNzL2NvbmZpZy9fZm9udHMuc2NzcyIsIndlYnBhY2s6Ly9zeWQtZDkvLi93ZWIvdGhlbWVzL3BpcHBpcC9hc3NldHMvc2Fzcy9jb25maWcvX3ZhcnMuc2NzcyIsIndlYnBhY2s6Ly9zeWQtZDkvLi93ZWIvdGhlbWVzL3BpcHBpcC9hc3NldHMvc2Fzcy9oZWxwZXJzL19mb2N1cy12aXNpYmxlLnNjc3MiLCJ3ZWJwYWNrOi8vc3lkLWQ5Ly4vd2ViL3RoZW1lcy9waXBwaXAvYXNzZXRzL3Nhc3MvaGVscGVycy9fZm9udC1zbW9vdGhpbmcuc2NzcyIsIndlYnBhY2s6Ly9zeWQtZDkvLi93ZWIvdGhlbWVzL3BpcHBpcC9hc3NldHMvc2Fzcy9oZWxwZXJzL19taXhpbnMuc2NzcyIsIndlYnBhY2s6Ly9zeWQtZDkvLi93ZWIvdGhlbWVzL3BpcHBpcC9hc3NldHMvc2Fzcy9oZWxwZXJzL190YWJsZS5zY3NzIiwid2VicGFjazovL3N5ZC1kOS8uL3dlYi90aGVtZXMvcGlwcGlwL2Fzc2V0cy9zYXNzL2hlbHBlcnMvX2hlbHBlcnMuc2NzcyIsIndlYnBhY2s6Ly9zeWQtZDkvLi9ub2RlX21vZHVsZXMvaW5jbHVkZS1tZWRpYS9kaXN0L19pbmNsdWRlLW1lZGlhLnNjc3MiLCJ3ZWJwYWNrOi8vc3lkLWQ5Ly4vd2ViL3RoZW1lcy9waXBwaXAvYXNzZXRzL3Nhc3MvYmFzZS9fZGVmYXVsdHMuc2NzcyIsIndlYnBhY2s6Ly9zeWQtZDkvLi93ZWIvdGhlbWVzL3BpcHBpcC9hc3NldHMvc2Fzcy9iYXNlL190eXBvZ3JhcGh5LnNjc3MiLCJ3ZWJwYWNrOi8vc3lkLWQ5Ly4vd2ViL3RoZW1lcy9waXBwaXAvYXNzZXRzL3Nhc3MvYmFzZS9fZHJ1cGFsOC5zY3NzIiwid2VicGFjazovL3N5ZC1kOS8uL3dlYi90aGVtZXMvcGlwcGlwL2Fzc2V0cy9zYXNzL2Jhc2UvX21haW4uc2NzcyIsIndlYnBhY2s6Ly9zeWQtZDkvLi93ZWIvdGhlbWVzL3BpcHBpcC9hc3NldHMvc2Fzcy9iYXNlL19hbmltYXRpb25zLnNjc3MiLCJ3ZWJwYWNrOi8vc3lkLWQ5Ly4vd2ViL3RoZW1lcy9waXBwaXAvYXNzZXRzL3Nhc3MvYXRvbXMvX2dyaWQuc2NzcyIsIndlYnBhY2s6Ly9zeWQtZDkvLi93ZWIvdGhlbWVzL3BpcHBpcC9hc3NldHMvc2Fzcy9hdG9tcy9fbmF2LXRvZ2dsZS5zY3NzIiwid2VicGFjazovL3N5ZC1kOS8uL3dlYi90aGVtZXMvcGlwcGlwL2Fzc2V0cy9zYXNzL2F0b21zL19idXR0b25zLnNjc3MiLCJ3ZWJwYWNrOi8vc3lkLWQ5Ly4vd2ViL3RoZW1lcy9waXBwaXAvYXNzZXRzL3Nhc3MvYXRvbXMvX2ltYWdlLWNyZWRpdC5zY3NzIiwid2VicGFjazovL3N5ZC1kOS8uL3dlYi90aGVtZXMvcGlwcGlwL2Fzc2V0cy9zYXNzL2F0b21zL19icmVhZGNydW1icy5zY3NzIiwid2VicGFjazovL3N5ZC1kOS8uL3dlYi90aGVtZXMvcGlwcGlwL2Fzc2V0cy9zYXNzL2F0b21zL19zZWFyY2gtYnV0dG9uLnNjc3MiLCJ3ZWJwYWNrOi8vc3lkLWQ5Ly4vd2ViL3RoZW1lcy9waXBwaXAvYXNzZXRzL3Nhc3MvbW9sZWN1bGVzL19lbW1zZy5zY3NzIiwid2VicGFjazovL3N5ZC1kOS8uL3dlYi90aGVtZXMvcGlwcGlwL2Fzc2V0cy9zYXNzL21vbGVjdWxlcy9fZW50aXR5LnNjc3MiLCJ3ZWJwYWNrOi8vc3lkLWQ5Ly4vd2ViL3RoZW1lcy9waXBwaXAvYXNzZXRzL3Nhc3MvbW9sZWN1bGVzL2VudGl0aWVzL19ib2R5LnNjc3MiLCJ3ZWJwYWNrOi8vc3lkLWQ5Ly4vd2ViL3RoZW1lcy9waXBwaXAvYXNzZXRzL3Nhc3MvbW9sZWN1bGVzL2VudGl0aWVzL19pbWFnZS5zY3NzIiwid2VicGFjazovL3N5ZC1kOS8uL3dlYi90aGVtZXMvcGlwcGlwL2Fzc2V0cy9zYXNzL21vbGVjdWxlcy9lbnRpdGllcy9fdmlldy5zY3NzIiwid2VicGFjazovL3N5ZC1kOS8uL3dlYi90aGVtZXMvcGlwcGlwL2Fzc2V0cy9zYXNzL21vbGVjdWxlcy9lbnRpdGllcy9fcXVvdGUuc2NzcyIsIndlYnBhY2s6Ly9zeWQtZDkvLi93ZWIvdGhlbWVzL3BpcHBpcC9hc3NldHMvc2Fzcy9tb2xlY3VsZXMvZW50aXRpZXMvX2FjY29yZGlvbi5zY3NzIiwid2VicGFjazovL3N5ZC1kOS8uL3dlYi90aGVtZXMvcGlwcGlwL2Fzc2V0cy9zYXNzL21vbGVjdWxlcy9lbnRpdGllcy9fZ2FsbGVyeS5zY3NzIiwid2VicGFjazovL3N5ZC1kOS8uL3dlYi90aGVtZXMvcGlwcGlwL2Fzc2V0cy9zYXNzL21vbGVjdWxlcy9lbnRpdGllcy9faW1hZ2UtdGV4dC5zY3NzIiwid2VicGFjazovL3N5ZC1kOS8uL3dlYi90aGVtZXMvcGlwcGlwL2Fzc2V0cy9zYXNzL21vbGVjdWxlcy9lbnRpdGllcy9fZG93bmxvYWRzLnNjc3MiLCJ3ZWJwYWNrOi8vc3lkLWQ5Ly4vd2ViL3RoZW1lcy9waXBwaXAvYXNzZXRzL3Nhc3MvbW9sZWN1bGVzL2VudGl0aWVzL19lbWJlZC5zY3NzIiwid2VicGFjazovL3N5ZC1kOS8uL3dlYi90aGVtZXMvcGlwcGlwL2Fzc2V0cy9zYXNzL21vbGVjdWxlcy9lbnRpdGllcy9fc2lnbnBvc3RzLnNjc3MiLCJ3ZWJwYWNrOi8vc3lkLWQ5Ly4vd2ViL3RoZW1lcy9waXBwaXAvYXNzZXRzL3Nhc3MvbW9sZWN1bGVzL2VudGl0aWVzL19leHRyYXMuc2NzcyIsIndlYnBhY2s6Ly9zeWQtZDkvLi93ZWIvdGhlbWVzL3BpcHBpcC9hc3NldHMvc2Fzcy9tb2xlY3VsZXMvZW50aXRpZXMvX2ZlYXR1cmVkLWNvbnRlbnQuc2NzcyIsIndlYnBhY2s6Ly9zeWQtZDkvLi93ZWIvdGhlbWVzL3BpcHBpcC9hc3NldHMvc2Fzcy9tb2xlY3VsZXMvZW50aXRpZXMvX2ZlYXR1cmVkLWNvbnRlbnQtdjIuc2NzcyIsIndlYnBhY2s6Ly9zeWQtZDkvLi93ZWIvdGhlbWVzL3BpcHBpcC9hc3NldHMvc2Fzcy9tb2xlY3VsZXMvZW50aXRpZXMvX2ltYWdlLWFuZC10ZXh0LXRhYi5zY3NzIiwid2VicGFjazovL3N5ZC1kOS8uL3dlYi90aGVtZXMvcGlwcGlwL2Fzc2V0cy9zYXNzL21vbGVjdWxlcy9lbnRpdGllcy9fY2hpbGQtcGFnZS1zaWducG9zdHMuc2NzcyIsIndlYnBhY2s6Ly9zeWQtZDkvLi93ZWIvdGhlbWVzL3BpcHBpcC9hc3NldHMvc2Fzcy9tb2xlY3VsZXMvZW50aXRpZXMvX2xpbmtlZC10ZXh0LnNjc3MiLCJ3ZWJwYWNrOi8vc3lkLWQ5Ly4vd2ViL3RoZW1lcy9waXBwaXAvYXNzZXRzL3Nhc3MvbW9sZWN1bGVzL19mb3Jtcy5zY3NzIiwid2VicGFjazovL3N5ZC1kOS8uL3dlYi90aGVtZXMvcGlwcGlwL2Fzc2V0cy9zYXNzL21vbGVjdWxlcy9fbmF2LnNjc3MiLCJ3ZWJwYWNrOi8vc3lkLWQ5Ly4vd2ViL3RoZW1lcy9waXBwaXAvYXNzZXRzL3Nhc3MvbW9sZWN1bGVzL19iYW5uZXIuc2NzcyIsIndlYnBhY2s6Ly9zeWQtZDkvLi93ZWIvdGhlbWVzL3BpcHBpcC9hc3NldHMvc2Fzcy9tb2xlY3VsZXMvX2Jhbm5lci1zbGlkZXIuc2NzcyIsIndlYnBhY2s6Ly9zeWQtZDkvLi93ZWIvdGhlbWVzL3BpcHBpcC9hc3NldHMvc2Fzcy9tb2xlY3VsZXMvX2xpbmtlZC1sb2dvcy5zY3NzIiwid2VicGFjazovL3N5ZC1kOS8uL3dlYi90aGVtZXMvcGlwcGlwL2Fzc2V0cy9zYXNzL21vbGVjdWxlcy9fc29jaWFsLWxpbmtzLnNjc3MiLCJ3ZWJwYWNrOi8vc3lkLWQ5Ly4vd2ViL3RoZW1lcy9waXBwaXAvYXNzZXRzL3Nhc3MvbW9sZWN1bGVzL19kYXRlcGlja2VyLnNjc3MiLCJ3ZWJwYWNrOi8vc3lkLWQ5Ly4vd2ViL3RoZW1lcy9waXBwaXAvYXNzZXRzL3Nhc3MvbW9sZWN1bGVzL19wb3B1cC5zY3NzIiwid2VicGFjazovL3N5ZC1kOS8uL3dlYi90aGVtZXMvcGlwcGlwL2Fzc2V0cy9zYXNzL21vbGVjdWxlcy9fYXJjaGl2ZS5zY3NzIiwid2VicGFjazovL3N5ZC1kOS8uL3dlYi90aGVtZXMvcGlwcGlwL2Fzc2V0cy9zYXNzL21vbGVjdWxlcy9fcGhvdG9zd2lwZS5zY3NzIiwid2VicGFjazovL3N5ZC1kOS8uL3dlYi90aGVtZXMvcGlwcGlwL2Fzc2V0cy9zYXNzL29yZ2FuaXNtcy9faGVhZGVyLnNjc3MiLCJ3ZWJwYWNrOi8vc3lkLWQ5Ly4vd2ViL3RoZW1lcy9waXBwaXAvYXNzZXRzL3Nhc3Mvb3JnYW5pc21zL19mb290ZXIuc2NzcyIsIndlYnBhY2s6Ly9zeWQtZDkvLi93ZWIvdGhlbWVzL3BpcHBpcC9hc3NldHMvc2Fzcy9vcmdhbmlzbXMvX3ZpZXdzLnNjc3MiLCJ3ZWJwYWNrOi8vc3lkLWQ5Ly4vd2ViL3RoZW1lcy9waXBwaXAvYXNzZXRzL3Nhc3Mvb3JnYW5pc21zL19zZWFyY2gtcmVzdWx0cy5zY3NzIiwid2VicGFjazovL3N5ZC1kOS8uL3dlYi90aGVtZXMvcGlwcGlwL2Fzc2V0cy9zYXNzL29yZ2FuaXNtcy9fc2lkZWJhci5zY3NzIiwid2VicGFjazovL3N5ZC1kOS8uL3dlYi90aGVtZXMvcGlwcGlwL2Fzc2V0cy9zYXNzL29yZ2FuaXNtcy9fdGVhc2VyLnNjc3MiLCJ3ZWJwYWNrOi8vc3lkLWQ5Ly4vd2ViL3RoZW1lcy9waXBwaXAvYXNzZXRzL3Nhc3Mvb3JnYW5pc21zL19zZWFyY2guc2NzcyIsIndlYnBhY2s6Ly9zeWQtZDkvLi93ZWIvdGhlbWVzL3BpcHBpcC9hc3NldHMvc2Fzcy9vcmdhbmlzbXMvX3doYXRzLW9uLnNjc3MiLCJ3ZWJwYWNrOi8vc3lkLWQ5Ly4vd2ViL3RoZW1lcy9waXBwaXAvYXNzZXRzL3Nhc3Mvb3JnYW5pc21zL19zZWFzb24uc2NzcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7Ozs7Ozs7OztFQVVFOztBQUVGLGVBQWU7QUFDZjtFQUNFLDJCQUEyQjtFQUMzQiw2ckVBQTZyRTtFQUM3ckUsZ0JBQWdCO0VBQ2hCLGtCQUFrQjtBQUNwQjtBQUNBLGFBQWE7QUFDYjtFQUNFLDZCQUE2QjtFQUM3Qjs7O0dBR0M7QUFDSDtBQUNBOztFQUVFLGlCQUFpQjtFQUNqQixrQkFBa0I7RUFDbEIsa0JBQWtCO0VBQ2xCLGdCQUFnQjtFQUNoQixnQkFBZ0I7RUFDaEIsVUFBVTtFQUNWLDZCQUE2QjtFQUM3QixVQUFVO0VBQ1YsY0FBYztBQUNoQjtBQUNBO0VBQ0Usc0JBQXNCO0FBQ3hCO0FBQ0E7RUFDRSxrQkFBa0I7RUFDbEIsV0FBVztFQUNYLFlBQVk7RUFDWixVQUFVO0VBQ1YsYUFBYTtFQUNiLDhCQUE4QjtFQUM5QixxRkFB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QjtFQ0hwQjtFQUNBO0VBQ0E7QUwrbUJSOztBSWxtQkE7RUM4T0ksOEJEN09vQjtFQzhPcEIsMkJEOU9vQjtFQytPcEIsc0JEL09vQjtFQ2hCaEI7RUFDQTtFQUNBO0VEZ0JKO0VBQ0E7RUFDQTtFQUNBLGFEOUJrQjtFQzZDZDtHQUNBO0VBQ0E7QUoybEJSO0FJMW1CSTtFQ3NPQSw4QkRwT3dCO0VDcU94QiwyQkRyT3dCO0VDc094QixzQkR0T3dCO0VDekJwQjtFQUNBO0VBQ0E7QUx1b0JSO0FJM21CSTtFQzRFSTtFQUdKO0VBQ0E7RUQ5RUk7QUorbUJSOztBS3ZyQlE7RUFDSTtHQUVJO0FMeXJCaEI7O0FLNXJCUTtFQUNJO0dBRUk7QUw4ckJoQjs7QUtqc0JRO0VBQ0k7R0FFSTtBTG1zQmhCOztBS3RzQlE7RUFDSTtHQUVJO0FMd3NCaEI7O0FLM3NCUTtFQUNJO0dBRUk7QUw2c0JoQjs7QUtodEJRO0VBQ0k7R0FFSTtBTGt0QmhCOztBS3J0QlE7RUFDSTtHQUVJO0FMdXRCaEI7O0FLMXRCUTtFQUNJO0dBRUk7QUw0dEJoQjs7QUsvdEJRO0VBQ0k7R0FFSTtBTGl1QmhCOztBS3B1QlE7RUFDSTtHQUVJO0FMc3VCaEI7O0FLenVCUTtFQUNJO0dBRUk7QUwydUJoQjs7QUs5dUJRO0VBQ0k7R0FFSTtBTGd2QmhCOztBSTNwQkE7RUN4RlE7SUFDSTtLQUVJO0VMc3ZCZDs7RUt6dkJNO0lBQ0k7S0FFSTtFTDJ2QmQ7O0VLOXZCTTtJQUNJO0tBRUk7RUxnd0JkOztFS253Qk07SUFDSTtLQUVJO0VMcXdCZDs7RUt4d0JNO0lBQ0k7S0FFSTtFTDB3QmQ7O0VLN3dCTTtJQUNJO0tBRUk7RUwrd0JkOztFS2x4Qk07SUFDSTtLQUVJO0VMb3hCZDs7RUt2eEJNO0lBQ0k7S0FFSTtFTHl4QmQ7O0VLNXhCTTtJQUNJO0tBRUk7RUw4eEJkOztFS2p5Qk07SUFDSTtLQUVJO0VMbXlCZDs7RUt0eUJNO0lBQ0k7S0FFSTtFTHd5QmQ7O0VLM3lCTTtJQUNJO0tBRUk7RUw2eUJkO0FBQ0Y7QUlydEJBO0VDNUZRO0lBQ0k7S0FFSTtFTG16QmQ7O0VLdHpCTTtJQUNJO0tBRUk7RUx3ekJkOztFSzN6Qk07SUFDSTtLQUVJO0VMNnpCZDs7RUtoMEJNO0lBQ0k7S0FFSTtFTGswQmQ7O0VLcjBCTTtJQUNJO0tBRUk7RUx1MEJkOztFSzEwQk07SUFDSTtLQUVJO0VMNDBCZDs7RUsvMEJNO0lBQ0k7S0FFSTtFTGkxQmQ7O0VLcDFCTTtJQUNJO0tBRUk7RUxzMUJkOztFS3oxQk07SUFDSTtLQUVJO0VMMjFCZDs7RUs5MUJNO0lBQ0k7S0FFSTtFTGcyQmQ7O0VLbjJCTTtJQUNJO0tBRUk7RUxxMkJkOztFS3gyQk07SUFDSTtLQUVJO0VMMDJCZDtBQUNGO0FJOXdCQTtFQ2hHUTtJQUNJO0tBRUk7RUxnM0JkOztFS24zQk07SUFDSTtLQUVJO0VMcTNCZDs7RUt4M0JNO0lBQ0k7S0FFSTtFTDAzQmQ7O0VLNzNCTTtJQUNJO0tBRUk7RUwrM0JkOztFS2w0Qk07SUFDSTtLQUVJO0VMbzRCZDs7RUt2NEJNO0lBQ0k7S0FFSTtFTHk0QmQ7O0VLNTRCTTtJQUNJO0tBRUk7RUw4NEJkOztFS2o1Qk07SUFDSTtLQUVJO0VMbTVCZDs7RUt0NUJNO0lBQ0k7S0FFSTtFTHc1QmQ7O0VLMzVCTTtJQUNJO0tBRUk7RUw2NUJkOztFS2g2Qk07SUFDSTtLQUVJO0VMazZCZDs7RUtyNkJNO0lBQ0k7S0FFSTtFTHU2QmQ7QUFDRjtBSXYwQkE7RUNwR1E7SUFDSTtLQUVJO0VMNjZCZDs7RUtoN0JNO0lBQ0k7S0FFSTtFTGs3QmQ7O0VLcjdCTTtJQUNJO0tBRUk7RUx1N0JkOztFSzE3Qk07SUFDSTtLQUVJO0VMNDdCZDs7RUsvN0JNO0lBQ0k7S0FFSTtFTGk4QmQ7O0VLcDhCTTtJQUNJO0tBRUk7RUxzOEJkOztFS3o4Qk07SUFDSTtLQUVJO0VMMjhCZDs7RUs5OEJNO0lBQ0k7S0FFSTtFTGc5QmQ7O0VLbjlCTTtJQUNJO0tBRUk7RUxxOUJkOztFS3g5Qk07SUFDSTtLQUVJO0VMMDlCZDs7RUs3OUJNO0lBQ0k7S0FFSTtFTCs5QmQ7O0VLbCtCTTtJQUNJO0tBRUk7RUxv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N2hETTtJQWxCSiwyQkFGYTtLQUlUO0VMa2pETjs7RUtsaURNO0lBbEJKLDBCQUZhO0tBSVQ7RUx1akROOztFS3ZpRE07SUFsQkosY0FMUztLQU9MO0VMNGpETjtBQUNGO0FJMytDQTtFQ2xFUTtJQWxCSiwyQkFGYTtLQUlUO0VMa2tETjs7RUtsakRNO0lBbEJKLDJCQUZhO0tBSVQ7RUx1a0ROOztFS3ZqRE07SUFsQkosZ0JBRmE7S0FJVDtFTDRrRE47O0VLNWpETTtJQWxCSiwyQkFGYTtLQUlUO0VMaWxETjs7RUtqa0RNO0lBbEJKLDJCQUZhO0tBSVQ7RUxzbEROOztFS3RrRE07SUFsQkosZ0JBRmE7S0FJVDtFTDJsRE47O0VLM2tETTtJQWxCSiwyQkFGYTtLQUlUO0VMZ21ETjs7RUtobERNO0lBbEJKLDJCQUZhO0tBSVQ7RUxxbUROOztFS3JsRE07SUFsQkosZ0JBRmE7S0FJVDtFTDBtRE47O0VLMWxETTtJQWxCSiwyQkFGYTtLQUlUO0VMK21ETjs7RUsvbERNO0lBbEJKLDBCQUZhO0tBSVQ7RUxvbkROOztFS3BtRE07SUFsQkosY0FMUztLQU9MO0VMeW5ETjtBQUNGO0FJcGlEQTtFQ3RFUTtJQWxCSiwyQkFGYTtLQUlUO0VMK25ETjs7RUsvbURNO0lBbEJKLDJCQUZhO0tBSVQ7RUxvb0ROOztFS3BuRE07SUFsQkosZ0JBRmE7S0FJVDtFTHlvRE47O0VLem5ETTtJQWxCSiwyQkFGYTtLQUlUO0VMOG9ETjs7RUs5bkRNO0lBbEJKLDJCQUZhO0tBSVQ7RUxtcEROOztFS25vRE07SUFsQkosZ0JBRmE7S0FJVDtFTHdwRE47O0VLeG9ETTtJQWxCSiwyQkFGYTtLQUlUO0VMNnBETjs7RUs3b0RNO0lBbEJKLDJCQUZhO0tBSVQ7RUxrcUROOztFS2xwRE07SUFsQkosZ0JBRmE7S0FJVDtFTHVxRE47O0VLdnBETTtJQWxCSiwyQkFGYTtLQUlUO0VMNHFETjs7RUs1cERNO0lBbEJKLDBCQUZhO0tBSVQ7RUxpckROOztFS2pxRE07SUFsQkosY0FMUztLQU9MO0VMc3JETjtBQUNGO0FJN2xEQTtFQzFFUTtJQWxCSiwyQkFGYTtLQUlUO0VMNHJETjs7RUs1cURNO0lBbEJKLDJCQUZhO0tBSVQ7RUxpc0ROOztFS2pyRE07SUFsQkosZ0JBRmE7S0FJVDtFTHNzRE47O0VLdHJETTtJQWxCSiwyQkFGYTtLQUlUO0VMMnNETjs7RUszckRNO0lBbEJKLDJCQUZhO0tBSVQ7RUxndEROOztFS2hzRE07SUFsQkosZ0JBRmE7S0FJVDtFTHF0RE47O0VLcnNETTtJQWxCSiwyQkFGYTtLQUlUO0VMMHRETjs7RUsxc0RNO0lBbEJKLDJCQUZhO0tBSVQ7RUwrdEROOztFSy9zRE07SUFsQkosZ0JBRmE7S0FJVDtFTG91RE47O0VLcHRETTtJQWxCSiwyQkFGYTtLQUlUO0VMeXVETjs7RUt6dERNO0lBbEJKLDBCQUZhO0tBSVQ7RUw4dUROOztFSzl0RE07SUFsQkosY0FMUztLQU9MO0VMbXZETjtBQUNGO0FJdHBEQTtFQzlFUTtJQWxCSiwyQkFGYTtLQUlUO0VMeXZETjs7RUt6dURNO0lBbEJKLDJCQUZhO0tBSVQ7RUw4dkROOztFSzl1RE07SUFsQkosZ0JBRmE7S0FJVDtFTG13RE47O0VLbnZETTtJQWxCSiwyQkFGYTtLQUlUO0VMd3dETjs7RUt4dkRNO0lBbEJKLDJCQUZhO0tBSVQ7RUw2d0ROOztFSzd2RE07SUFsQkosZ0JBRmE7S0FJVDtFTGt4RE47O0VLbHdETTtJQWxCSiwyQkFGYTtLQUlUO0VMdXhETjs7RUt2d0RNO0lBbEJKLDJCQUZhO0tBSVQ7RUw0eEROOztFSzV3RE07SUFsQkosZ0JBRmE7S0FJVDtFTGl5RE47O0VLanhETTtJQWxCSiwyQkFGYTtLQUlUO0VMc3lETjs7RUt0eERNO0lBbEJKLDBCQUZhO0tBSVQ7RUwyeUROOztFSzN4RE07SUFsQkosY0FMUztLQU9MO0VMZ3pETjtBQUNGO0FNMTVEQTtFRHdMSSxtQkN2TG1CO0VEd0xuQix1QkN4TG1CO0VEeUxuQixlQ3pMbUI7QU44NUR2Qjs7QU0zNURBO0VEb0xJLHFCQ25MbUI7RURvTG5CLHlCQ3BMbUI7RURxTG5CLGlCQ3JMbUI7QU5nNkR2QjtBTTM1REk7RUQySkEsb0JDMUp5QjtFRDJKekIsc0JDM0p5QjtFRDRKekIsY0M1SnlCO0FOKzVEN0I7O0FNMzVEQTtFRHlLSSwyQkN4S21CO0VEeUtuQiwrQkN6S21CO0VEMEtuQix1QkMxS21CO0FOZzZEdkI7O0FNejVEQTtFRHVLSSx1QkN0S3dCO0VEdUt4QiwyQkN2S3dCO0VEd0t4QixtQkN4S3dCO0FOODVENUI7O0FNMzVEQTtFRG1LSSwrQkNsS3dCO0VEbUt4QixtQ0NuS3dCO0VEb0t4QiwyQkNwS3dCO0FOZzZENUI7O0FNNzVEQTtFRCtKSSwwQkM5SndCO0VEK0p4Qiw4QkMvSndCO0VEZ0t4QixzQkNoS3dCO0FOazZENUI7O0FNLzVEQTtFRDJKSSxrQ0MxSndCO0VEMkp4QixzQ0MzSndCO0VENEp4Qiw4QkM1SndCO0FObzZENUI7O0FNNzVEQTtFRG9MUTtFQXRCSiwrQkM3SnFCO0VEOEpyQix1QkM5SnFCO0FOazZEekI7O0FNLzVEQTtFRGtMUTtFQXhCSiw2QkN6SnFCO0VEMEpyQixxQkMxSnFCO0FObzZEekI7QU1oNkRRO0VBQ0k7QU5rNkRaOztBTTc1REE7RUR5S1Esc0JDeEtpQjtFRDhJckIsMkJDOUlxQjtFRCtJckIsbUJDL0lxQjtBTms2RHpCO0FNOTVEUTtFQUNJO0FOZzZEWjs7QU0zNURBO0VEOEpRLHdCQzdKaUI7RURtSXJCLDZCQ25JcUI7RURvSXJCLHFCQ3BJcUI7QU5nNkR6Qjs7QU16NURBO0VEc0tRO0VBOUJKLGlDQ3ZJdUI7RUR3SXZCLHlCQ3hJdUI7QU44NUQzQjs7QU0zNURBO0VEb0tRO0VBaENKLCtCQ25JdUI7RURvSXZCLHVCQ3BJdUI7QU5nNkQzQjtBTTc1REk7RUFDSTtBTis1RFI7O0FNMzVEQTtFRGlLUSwwQkNoS21CO0VEMEh2Qiw2QkMxSHVCO0VEMkh2QixxQkMzSHVCO0FOZzZEM0I7O0FNNzVEQTtFRHlKUTtFQWxDSixvQ0N0SHVCO0VEdUh2Qiw0QkN2SHVCO0FOazZEM0I7O0FNLzVEQTtFRHVKUTtFQXBDSixtQ0NsSHVCO0VEbUh2QiwyQkNuSHVCO0FObzZEM0I7O0FNNzVEQTtFRG1JUSw0QkNsSWdCO0VEb0dwQiwyQkNwR29CO0VEcUdwQixtQkNyR29CO0FOazZEeEI7O0FNLzVEQTtFRDJIUTtFQTFCSiw4QkNoR29CO0VEaUdwQixzQkNqR29CO0FObzZEeEI7O0FNajZEQTtFRHlIUTtFQTVCSiw0QkM1Rm9CO0VENkZwQixvQkM3Rm9CO0VBQ3BCO0FOczZESjs7QU1uNkRBO0VEc0hRLDJCQ3JIZ0I7RUR1RnBCLDBCQ3ZGb0I7RUR3RnBCLGtCQ3hGb0I7RUFDcEI7QU53NkRKOztBTXI2REE7RURpSFEsNkJDaEhnQjtFRGtGcEIsNEJDbEZvQjtFRG1GcEIsb0JDbkZvQjtFQUNwQjtBTjA2REo7O0FNbjZEQTtFRG1JSTtFQUNBO0VBQ0E7QUxveURKO0FNcjZEUTtFQUNJO0FOdTZEWjs7QU1sNkRBO0VEK0hJO0VBQ0E7RUFDQTtBTHV5REo7QU1wNkRRO0VBQ0k7RUFDQTtFQUNBO0FOczZEWjtBTXA2RFk7RUQxRlI7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0FMaWdFSjs7QU1yNkRBO0VEcUhJO0VBQ0E7RUFDQTtBTG96REo7QU12NkRRO0VBQ0k7RUFDQTtFQUNBO0FOeTZEWjtBTXY2RFk7RUQxR1I7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0FMb2hFSjs7QU14NkRBO0VEMkdJO0VBQ0E7RUFDQTtBTGkwREo7QU0xNkRRO0VBQ0k7RUFDQTtFQUNBO0FONDZEWjtBTTE2RFk7RUQxSFI7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0FMdWlFSjs7QU0zNkRBO0VEaUdJO0VBQ0E7RUFDQTtBTDgwREo7QU03NkRRO0VBQ0k7RUFDQTtFQUNBO0FOKzZEWjtBTTc2RFk7RUQxSVI7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0FMMGpFSjs7QU14NkRJO0VBQ0k7QU4yNkRSOztBTWw2REE7RURyRkk7RUFDQTtFQUNBO0VBa0RBLDBCQ21Dd0I7RURsQ3hCLDhCQ2tDd0I7RURqQ3hCLHNCQ2lDd0I7QU55NkQ1QjtBTXY2REk7RURyQ0EsdUJDc0M0QjtFRHJDNUIsMkJDcUM0QjtFRHBDNUIsbUJDb0M0QjtBTjI2RGhDOztBTXQ2REE7RUFDSTtBTnk2REo7O0FNcjZEQTtFQUNJO0FOdzZESjs7QU1wNkRBO0VBQ0k7QU51NkRKOztBTWg2REE7RUFDSTtFRHJHSTtFQUdKO0VBQ0E7RUNtR0E7RUFDQTtFQUNBO0dBRUk7QU5vNkRSOztBTWg2REE7RUFDSTtFQUNBO0VBQ0E7QU5tNkRKO0FNajZESTtFQUNJO0FObTZEUjs7QUs3M0RZO0VBREo7SUFFUTtFTGk0RGQ7QUFDRjs7QUs3M0RZO0VBREo7SUFFUTtFTGk0RGQ7QUFDRjs7QUs3M0RZO0VBREo7SUFFUTtFTGk0RGQ7QUFDRjs7QUs3M0RZO0VBREo7SUFFUTtFTGk0RGQ7QUFDRjs7QUs3M0RZO0VBREo7SUFFUTtFTGk0RGQ7QUFDRjs7QUs3M0RZO0VBREo7SUFFUTtFTGk0RGQ7QUFDRjs7QUEzc0VBOztFQUFBO0FPakJBOzs7OztFQUFBO0FBT0E7O0lBQUE7QUFLQTs7SUFBQTtBQUtBOztJQUFBO0FBR0E7RUFDRTtFQUNBO0VBRUE7RUFDQTtFQUNBO0FQNHRFRjtBT3p0RUE7RUFDRTtFQUNBO0VBRUE7RUFDQTtFQUNBO0FQMHRFRjtBT3Z0RUE7RUFDRTtFQUNBO0VBRUE7RUFDQTtFQUNBO0FQd3RFRjtBT3J0RUE7RUFDRTtFQUNBO0VBRUE7RUFDQTtFQUNBO0FQc3RFRjtBUTN3RUE7Ozs7O0VBQUE7QUFPQTtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBRUE7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBRUE7RUFDQTtFQUNBO0VBRUE7RUFDQTtFQUNBO0VBQ0E7RUFFQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QVJ3d0VGOztBUXJ3RUE7O0VBQUE7QVJwQkE7O0VBQUE7QVN2QkE7Ozs7O0VBQUE7QUFPQTs7OztFQUFBO0FDUEE7Ozs7O0VBQUE7QUFPQTs7Ozs7O0VBQUE7QUNQQTs7Ozs7RUFBQTtBQ0FBOzs7OztFQUFBO0FBT0E7Ozs7Ozs7RUFBQTtBQ0xBO0VBQ0U7QWJtMkVGOztBYWgyRUE7RUFDRTtBYm0yRUY7O0FhaDJFQTtFQUNFO0FibTJFRjs7QWFqMkVBO0VBQ0U7QWJvMkVGOztBYWwyRUE7RUFDRTtBYnEyRUY7O0FhbDJFQTtFQUNFO0FicTJFRjs7QWFsMkVBO0VBQ0U7QWJxMkVGOztBYWwyRUE7RUFDRTtBYnEyRUY7O0FhbDJFQTtFQUNFO0FicTJFRjs7QWFsMkVBO0VBQ0U7QWJxMkVGOztBYWwyRUE7RUFDRTtBYnEyRUY7O0FhbDJFQTtFQUNFO0FicTJFRjs7QWFsMkVBO0VBQ0U7QWJxMkVGOztBYWwyRUE7RUFDRTtFQUNBO0VBQ0E7QWJxMkVGOztBYWwyRUE7RUFDRTtBYnEyRUY7O0FhbDJFQTtFQUNFO0FicTJFRjs7QWFsMkVBO0VBQ0U7QWJxMkVGOztBYWwyRUE7RUFDRTtFQUNBO09BQUE7QWJxMkVGOztBYWoyRUE7RUFDRTtJQUNFO0VibzJFRjtBQUNGO0FhajJFQTtFQUNFO0lBQ0U7RWJtMkVGO0FBQ0Y7QWFoMkVBO0VBQ0U7SUFDRTtFYmsyRUY7QUFDRjtBYS8xRUE7RUFDRTtJQUNFO0ViaTJFRjtBQUNGO0FhOTFFQTtFQUNFO0lBQ0U7RWJnMkVGO0FBQ0Y7QWE3MUVBO0VBQ0U7SUFDRTtFYisxRUY7QUFDRjtBYTUxRUE7RUFDRTtJQUNFO0ViODFFRjtBQUNGO0FhMzFFQTtFQUNFO0lBQ0U7RWI2MUVGO0FBQ0Y7QWExMUVBO0VBQ0U7SUFDRTtFYjQxRUY7QUFDRjtBYXoxRUE7RUFDRTtJQUNFO0ViMjFFRjtBQUNGO0FheDFFQTtFQUNFO0lBQ0U7RWIwMUVGO0FBQ0Y7QWF2MUVBO0VBQ0U7SUFDRTtFYnkxRUY7QUFDRjtBYXQxRUE7RUFDRTtJQUNFO0VidzFFRjtBQUNGO0FhcjFFQTtFQUNFO0lBQ0U7RWJ1MUVGO0FBQ0Y7QWFwMUVBO0VBQ0U7QWJzMUVGO0FhcjFFRTtFQUNFO0FidTFFSjs7QWFuMUVBO0VBQ0U7QWJzMUVGOztBYzc4REk7RUR0WUo7SUFFSTtFYnMxRUY7QUFDRjs7QWNuOURJO0VEaFlKO0lBRUk7RWJzMUVGO0FBQ0Y7O0FhbjFFQTtFQUNFO0FiczFFRjs7QWFuMUVBO0VBQ0U7QWJzMUVGOztBYW4xRUE7RUFDRTtBYnMxRUY7O0FhbjFFQTs7RUFFRTtFQUNBO0FiczFFRjtBYzMrREk7RUQ5V0o7O0lBS0k7RWJ5MUVGO0FBQ0Y7O0FhdDFFQTtFQUNFO0FieTFFRjs7QWFyMUVBO0VGM0xFO0VBQ0E7RUU0TEE7RUFDQTtFQUNBO0FieTFFRjs7QWF0MUVBOztFQUVFO0FieTFFRjs7QWFyMUVFO0VBQ0U7QWJ3MUVKOztBYXAxRUE7RUFDRTtFQUNBO0VBQ0E7RUFDQTtBYnUxRUY7QWM3Z0VJO0VEOVVKO0lBT0k7RWJ3MUVGO0FBQ0Y7QWNsaEVJO0VEOVVKO0lBV0k7RWJ5MUVGO0FBQ0Y7QWF2MUVFO0VGM05BO0VBQ0E7RUFLQTtFQUNBO0VBQ0EsNEJFcU5rQjtFQUNoQjtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QWI0MUVKO0FjcGlFSTtFRGhVRjtJQVlJO0ViNDFFSjtBQUNGO0FhMTFFSTtFQUNFO0FiNDFFTjtBYXoxRUk7RUFDRTtBYjIxRU47QWMvaUVJO0VEN1NBO0lBSUk7RWI0MUVOO0FBQ0Y7QWNwakVJO0VEaFVGO0lBNEJJO0lBQ0E7RWI0MUVKO0FBQ0Y7QWF6MUVFO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7QWIyMUVKOztBQWpsRkE7O0VBQUE7QWVoQ0E7Ozs7O0VBQUE7QUFPQTtFQUNFO0Fmc25GRjtBYzdrRUk7RUMxaUJKO0lBR0k7RWZ3bkZGO0Vldm5GRTtJQUNFO0VmeW5GSjtBQUNGO0FjcmxFSTtFQzFpQko7SUFTSTtFZjBuRkY7QUFDRjs7QWV2bkZBO0VBQ0U7QWYwbkZGOztBZXZuRkE7O0VKZkU7RUFDQTtFQUNBO0FYMm9GRjtBV3pvRkU7O0VBQ0U7RUFDQTtFQUNBO0FYNG9GSjs7QWUvbkZBO0VBQ0U7RUFDQTtBZmtvRkY7QWVob0ZFO0VBQ0U7QWZrb0ZKO0FlaG9GSTtFQUNFO0lBSko7TUFLTTtJZm1vRko7RUFDRjtBQUNGO0FlaG9GRTtFQUNFO0Fma29GSjs7QWU5bkZBO0VBQ0U7QWZpb0ZGOztBZTluRkE7RUFDRTtFQUNBO0FmaW9GRjs7QWU3bkZBOzs7RUFHRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0FmZ29GRjtBZTluRkU7OztFQUNFO0Fma29GSjtBZWhvRkU7OztFQUNFO0Fmb29GSjtBZWxvRkU7OztFQUNFO0Fmc29GSjtBZW5vRkU7OztFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QWZ1b0ZKOztBZXpuRk07Ozs7Ozs7O0VBQ0U7RUFDQTtBZm1vRlI7O0Flcm5GUTs7Ozs7RUFDRTtBZjRuRlY7O0FnQjd1RkE7Ozs7O0VBQUE7QUFPQTs7RUFBQTtBQTBCQTs7RUFBQTtBQUdBOzs7Ozs7Ozs7Ozs7RUFZRTtFQUNBO0VBQ0E7RUFDQTtBaEJ3dEZGOztBZ0JydEZBOztFQUVFO0VBQ0E7QWhCd3RGRjs7QWdCcnRGQTs7RUFFRTtFQUNBO0FoQnd0RkY7O0FnQnJ0RkE7O0VBRUU7RUFDQTtBaEJ3dEZGOztBZ0JydEZBOztFQUVFO0VBQ0E7QWhCd3RGRjs7QWdCcnRGQTs7RUFFRTtFQUNBO0FoQnd0RkY7O0FnQnJ0RkE7O0VBRUU7RUFDQTtBaEJ3dEZGOztBZ0JydEZBOztFQUFBO0FBR0E7RUFDRTtBaEJ3dEZGO0FnQnR0RkU7RUFDRTtBaEJ3dEZKO0FnQnJ0RkU7RUFDRTtBaEJ1dEZKOztBZ0JudEZBOztFQUFBO0FBR0E7O0VBRUU7RUFDQTtFQUNBO0FoQnN0RkY7O0FnQm50RkE7O0VBQUE7QUFHQTtFQUNFO0VBQ0E7RUFDQTtFQUNBO0FoQnN0RkY7QWdCcHRGRTtFQUVFO0FoQnF0Rko7QWdCbHRGRTtFQUNFO0FoQm90Rko7QVN4MEZJO0VPdUhFO0FoQm90Rk47O0FnQi9zRkE7RUFDRTtFQUNBO0FoQmt0RkY7O0FnQi9zRkE7RUFDRTtFQUNBO0FoQmt0RkY7O0FnQnB0RkE7RUFDRTtFQUNBO0FoQmt0RkY7O0FnQi9zRkE7O0VBQUE7QUFJRTtFQUNFO0FoQml0Rko7QVM1MUZJO0VPOElFO0FoQml0Rk47O0FnQjVzRkE7O0VBQUE7QUFHQTtFQUNFO0FoQitzRkY7O0FnQjVzRkE7RUFDRTtBaEIrc0ZGOztBZ0I1c0ZBO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBaEIrc0ZGOztBZ0I1c0ZBO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0FoQitzRkY7O0FnQjVzRkE7RUFDRTtBaEIrc0ZGOztBZ0I1c0ZBO0VBQ0U7RUFDQTtFQUNBO0FoQitzRkY7O0FnQjVzRkE7RUFDRTtBaEIrc0ZGOztBaUJ2NUZBOzs7OztFQUFBO0FBUUE7RU5DRTtFQUNBO0VBQ0E7RU1EQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0FqQjA1RkY7QVczNUZFO0VBQ0U7RUFDQTtFQUNBO0FYNjVGSjtBYzUzRUk7RUd6aUJKO0lBU0k7RWpCZzZGRjtBQUNGO0FpQjk1RkU7RUFDRTtBakJnNkZKO0FpQjk1Rkk7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBakJnNkZOO0FpQjk1Rk07RUFDRTtFQUNBO0FqQmc2RlI7QWlCMzVGTTtFQUNFO0VBQ0E7QWpCNjVGUjtBaUJ6NUZJO0VBQ0U7RUFDQTtBakIyNUZOOztBaUJyNUZBO0VBQ0U7RUFBQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QWpCdzVGRjtBaUJ0NUZFO0VBQ0U7QWpCdzVGSjtBaUJyNUZFO0VBQ0U7QWpCdTVGSjtBaUJwNUZFO0VBQ0U7QWpCczVGSjtBaUJuNUZFO0VOaEVBO0VBQ0E7RUFDQTtFTWdFRTtFQUNBO0VBQ0E7QWpCdTVGSjtBV3Y5RkU7RUFDRTtFQUNBO0VBQ0E7QVh5OUZKO0FpQjE1Rkk7RUFDRTtFQUNBO0FqQjQ1Rk47QWlCMTVGTTtFQUNFO0FqQjQ1RlI7O0FpQnQ1RkE7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QWpCeTVGRjs7QWlCdDVGQTtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0FqQnk1RkY7O0FpQnY1RkE7O0VBRUU7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QWpCMDVGRjs7QWlCdjVGQTtFQUNFO0FqQjA1RkY7O0FrQnhoR0E7Ozs7O0VBQUE7QUFPQTs7RUFBQTtBQUdBOztFUk1JO0VBQ0E7RUFDQTtFUUxGO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBbEI0aEdGOztBa0J6aEdBOzs7RUFHRTtBbEI0aEdGOztBa0J4aEdBO0VBQ0U7RUFDQTtBbEIyaEdGO0FrQjFoR0U7RUFDRTtFQUNBO0FsQjRoR0o7O0FjNWdGSTtFSTNnQkY7SUFDRTtJQUNBO0lBQ0E7RWxCMmhHRjtBQUNGO0FtQnJrR0E7Ozs7O0VBQUE7QUFPQTtFQUNFO0lBQ0U7SUFDQTtFbkJza0dGO0VtQm5rR0E7SUFDRTtJQUNBO0VuQnFrR0Y7QUFDRjtBbUI5a0dBO0VBQ0U7SUFDRTtJQUNBO0VuQnNrR0Y7RW1CbmtHQTtJQUNFO0lBQ0E7RW5CcWtHRjtBQUNGO0FtQmxrR0E7RUFDRTtJQUNFO0lBQ0E7RW5Cb2tHRjtFbUJqa0dBO0lBQ0U7SUFDQTtFbkJta0dGO0FBQ0Y7QW1CNWtHQTtFQUNFO0lBQ0U7SUFDQTtFbkJva0dGO0VtQmprR0E7SUFDRTtJQUNBO0VuQm1rR0Y7QUFDRjtBbUJoa0dBO0VBQ0U7SUFDRTtJQUNBO0lBQ0E7RW5Ca2tHRjtFbUIvakdBO0lBQ0U7SUFDQTtJQUNBO0VuQmlrR0Y7QUFDRjtBbUI1a0dBO0VBQ0U7SUFDRTtJQUNBO0lBQ0E7RW5Ca2tHRjtFbUIvakdBO0lBQ0U7SUFDQTtJQUNBO0VuQmlrR0Y7QUFDRjtBbUI5akdBO0VBQ0U7SUFDRTtJQUNBO0lBQ0E7RW5CZ2tHRjtFbUI3akdBO0lBQ0U7SUFDQTtJQUNBO0VuQitqR0Y7QUFDRjtBbUIxa0dBO0VBQ0U7SUFDRTtJQUNBO0lBQ0E7RW5CZ2tHRjtFbUI3akdBO0lBQ0U7SUFDQTtJQUNBO0VuQitqR0Y7QUFDRjtBbUI1akdBO0VBQ0U7SUFDRTtJQUNBO0lBQ0E7SUFDQTtFbkI4akdGO0VtQjNqR0E7SUFDRTtJQUNBO0lBQ0E7SUFDQTtFbkI2akdGO0FBQ0Y7QW1CMWtHQTtFQUNFO0lBQ0U7SUFDQTtJQUNBO0lBQ0E7RW5COGpHRjtFbUIzakdBO0lBQ0U7SUFDQTtJQUNBO0lBQ0E7RW5CNmpHRjtBQUNGO0FtQjFqR0E7RUFDRTtJQUNFO0lB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O0VBQ0E7RUFDQTtFQUNBO0EzQnN6SEo7QWNoMUdJO0VhMWVGO0lBT0k7RTNCdXpISjtBQUNGO0EyQnJ6SEk7RUFDRTtFQUNBO0EzQnV6SE47QTJCdHpITTtFQUNFO0EzQnd6SFI7QWM1MUdJO0VhaGVBO0lBT0k7RTNCeXpITjtBQUNGO0EyQnJ6SEU7RUFDRTtBM0J1ekhKO0EyQnR6SEk7RUFDRTtFQUNBO0VBQ0E7RUFDQTtBM0J3ekhOO0EyQnJ6SEk7RUFDRTtFQUNBO0EzQnV6SE47QWM5MkdJO0VhM2NBO0lBS0k7RTNCd3pITjtBQUNGO0FjbjNHSTtFYXBjRTtJQUVJO0lBQ0E7U0FBQTtFM0J5ekhSO0FBQ0Y7QTJCbnpISTtFQUNFO0VBQ0E7RUFDQTtBM0JxekhOO0EyQmh6SEk7RUFDRTtBM0JrekhOO0EyQjl5SEU7RUFDRTtBM0JnekhKO0EyQjV5SEk7RUFDRTtBM0I4eUhOO0FjdjRHSTtFYXhhQTtJQUlJO0UzQit5SE47QUFDRjtBMkI1eUhRO0VBQ0U7QTNCOHlIVjtBMkIxeUhNO0VBQ0U7QTNCNHlIUjtBNEI1N0hBO0VBQ0U7RUFDQTtBNUI4N0hGO0E0QjM3SEk7RUFJRTtFQUNBO0E1QjA3SE47QTZCcDhIQTtFQUNFO0E3QnM4SEY7QThCdDhIRTtFQUNFO0E5Qnc4SEo7QThCdDhIRTtFQUNFO0E5Qnc4SEo7QStCNTdIQTtFQUNFO0EvQjg3SEY7QWN0NkdJO0VpQnpoQko7SUFHSTtFL0JnOEhGO0FBQ0Y7QStCOTdIRTtFQUNFO0VBQ0E7RUFDQTtBL0JnOEhKO0ErQjk3SEk7RUFDRTtFcEJSSjtFQUNBO0VBQ0Esd0JvQk9vQjtFQUNoQjtFQUNBO0VBQ0E7RUFDQTtBL0JrOEhOO0ErQi83SEk7RUFDRTtFQUNBO0VBQ0E7QS9CaThITjtBK0I5N0hJO0VBQ0U7RUFDQTtFQUVBO0EvQis3SE47QStCMzdIRTtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBL0I2N0hKO0ErQjE3SEU7RUFDRTtFQUNBO0VBQ0E7RUFDQTtBL0I0N0hKO0ErQno3SEU7RUFDRTtFQUNBO0EvQjI3SEo7QStCejdISTtF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QUVFO0VBQ0E7QTVDK2hKRjs7QTRDN2hKQTs7RUFFRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0E1Q2dpSkY7O0E0QzloSkE7O0VBRUU7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBNUNpaUpGOztBNEMvaEpBOztFQUVFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0E1Q2tpSkY7O0E0Q2hpSkE7RUFDRTtFQUNBO0E1Q21pSkY7O0E0Q2ppSkE7RUFDRTtFQUNBO0E1Q29pSkY7O0E0Q2hpSkE7Ozs7RUFJRTtFQUNBO0E1Q21pSkY7O0E0Q2ppSkE7Ozs7RUFJRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QTVDb2lKRjs7QTRDbGlKQTs7OztFQUlFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QTVDcWlKRjs7QTRDbmlKQTs7OztFQUlFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0E1Q3NpSkY7O0E0Q3BpSkE7O0VBRUU7RUFDQTtBNUN1aUpGOztBNENyaUpBOztFQUVFO0VBQ0E7QTVDd2lKRjs7QTRDcmlKQTs7RUFFRTtBNUN3aUpGOztBNENyaUpBOzs7O0VqQ2xJRTtFQUNBO0VBQ0EscUJpQ29JZ0I7RUFDaEI7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBNUMwaUpGOztBNEN2aUpBO0VBQ0U7RUFDQTtBNUMwaUpGO0E0Q3hpSkU7RUFDRTtBNUMwaUpKOztBNENwaUpJO0VBQ0U7QTVDdWlKTjtBNENwaUpJO0U1QjlKRjtFTWpCQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO09BQUE7RUFDQTtFc0J5S0k7QTVDK2lKTjtBNEM3aUpNO0V0QjdKSjtFQUNBO0F0QjZzSkY7QTRDNWlKSTtFQUNFO0E1QzhpSk47QTRDM2lKSTtFQUNFO0VBQ0E7QTVDNmlKTjtBNENyaUpRO0VBQ0U7RUFDQTtBNUN1aUpWO0E0Q25pSk07RUFDRTtFQUNBO0E1Q3FpSlI7QTRDamlKUTtFQUNFO0VBQ0E7RUFDQTtFQUNBO0E1Q21pSlY7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S0o7QUFDRjtBOEMzaUtFO0VBQ0U7RUFDQTtFQUNBO0E5QzZpS0o7QThDM2lLSTtFQUNFO0E5QzZpS047QWM3OUpJO0VnQzVFRjtJQUVJO0U5QzJpS0o7QUFDRjs7QStDbGhMSTtFQUNJO0EvQ3FoTFI7QWN0K0pJO0VpQ2hqQkE7SUFJUTtFL0NzaExWO0FBQ0Y7QWMzK0pJO0VpQ2hqQkE7SUFRUTtJQUNBO0UvQ3VoTFY7RStDcmhMVTtJQUNJO0UvQ3VoTGQ7QUFDRjtBY3AvSkk7RWlDaGlCSTtJQUVRO0UvQ3NoTGQ7QUFDRjtBK0NwaExZO0VBQ0k7RUFDQTtBL0NzaExoQjtBYzcvSkk7RWlDM2hCUTtJQUtRO0UvQ3VoTGxCO0FBQ0Y7QWNsZ0tJO0VpQzNoQlE7SUFTUTtJQUNBO0lBQ0E7RS9Dd2hMbEI7RStDdGhMa0I7SUFDSTtFL0N3aEx0QjtFK0N2aExzQjtJQUNJO0UvQ3loTDFCO0FBQ0Y7QStDcGhMWTtFQUNJO0VBQ0E7RUFDQTtBL0NzaExoQjtBK0NyaExnQjtFQUNJO0EvQ3VoTHBCO0ErQ25oTFk7RUFDSTtFQUNBO0VBQ0E7QS9DcWhMaEI7QWM1aEtJO0VpQzVmUTtJQU1RO0UvQ3NoTGxCO0FBQ0Y7QStDbmhMWTtFQUNJO0VBQ0E7QS9DcWhMaEI7QStDbGhMWTtFQUNJO0EvQ29oTGhCO0ErQy9nTEk7RUFDSTtFQUVBO0EvQ2doTFI7QStDN2dMUTtFQUVJO0EvQzhnTFo7QStDMWdMWTtFQUVJO0EvQzJnTGhCO0FjbGpLSTtFaUMzZFE7SUFLUTtJQUNBO0lBQ0E7RS9DNGdMbEI7QUFDRjtBK0MxZ0xnQjtFcENwRWQ7RUFDQTtFQUNBLHNCb0NvRWtDO0VBQ2hCO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBL0M2Z0xwQjtBK0N6Z0xZO0VBQ0k7QS9DMmdMaEI7QWN2a0tJO0VpQ3JjUTtJQUlRO0UvQzRnTGxCO0FBQ0Y7QStDMWdMZ0I7RUFDSTtBL0M0Z0xwQjtBK0MxZ0xnQjtFQUNJO0EvQzRnTHBCO0ErQ3hnTFk7RUFDSTtBL0MwZ0xoQjtBY3JsS0k7RWlDdGJRO0lBSVE7RS9DMmdMbEI7QUFDRjtBK0N6Z0xnQjtFQUNJO0EvQzJnTHBCO0ErQ3pnTGdCO0VBQ0k7QS9DMmdMcEI7QStDbGdMUTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0EvQ29nTFo7QWN0bUtJO0VpQ2xhSTtJQU9RO0UvQ3FnTGQ7QUFDRjtBYzNtS0k7RWlDbGFJO0lBV1E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7RS9Dc2dMZDtBQUNGO0ErQ3BnTFk7RUFDSTtFQUNBO0EvQ3NnTGhCO0ErQ3BnTGdCO0VBQ0k7RUFDQTtBL0NzZ0xwQjs7QWdEL3FMQTs7Ozs7RUFBQTtBQU9BO0VBQ0U7RUFDQTtBaERpckxGO0FnRGhyTEU7RUFDRTtFQUNBO0VBQ0E7QWhEa3JMSjtBZ0RqckxJO0VBQ0U7RUFDQTtLQUFBO0FoRG1yTE47QWdEanJMSTtFQUNFO0FoRG1yTE47O0FpRHRzTEE7Ozs7O0VBQUE7QUFPQTs7RUFBQTtBQUdBO0VBQ0U7RUFDQTtFQUNBO0FqRHdzTEY7QWNwcUtJO0VtQ3ZpQko7SUFNSTtJQUNBO0VqRHlzTEY7QUFDRjtBaUR2c0xFO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBakR5c0xKO0FjanJLSTtFbUM3aEJGO0lBUUk7SUFDQTtFakQwc0xKO0FBQ0Y7QWlEeHNMSTtFQUNFO0FqRDBzTE47QWlEeHNMSTtFQUNFO0VBQ0E7RUFDQTtBakQwc0xOO0FpRHpzTE07RUFDRTtBakQyc0xSO0FpRHZzTEk7RUFDRTtFQUNBO0VBQ0E7S0FBQTtBakR5c0xOO0FpRHRzTEk7RUFDRTtFQUNBO0FqRHdzTE47QWlEcnNMSTtFQUNFO0VBQ0E7QWpEdXNMTjtBaURwc0xJO0VBQ0U7RUFDQTtBakRzc0xOO0FpRGxzTE07RUFDRTtBakRvc0xSO0FrRHZ3TEE7RUFDRTtFQUNBO0FsRHl3TEY7O0FrRHR3TEE7RUFDRTtFQUNBO0FsRHl3TEY7QWtEdndMRTtFQUNFO0VBQ0E7QWxEeXdMSjs7QWtEcndMQTtFbENNRTtFQUNBO0VrQ0xBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0FsRHl3TEY7QWtEdndMRTtFQUNFO0VBQ0E7QWxEeXdMSjtBa0R0d0xFO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBbER3d0xKO0FrRHJ3TEU7RUFDRTtFQUNBO0FsRHV3TEo7QWM5dktJO0VvQ3JnQkE7SUFDRTtFbERzd0xKO0FBQ0Y7QWtEbndMRTtFQUNFO0VBQ0E7RUFDQTtBbERxd0xKO0FrRG53TEk7RUFDRTtBbERxd0xOO0FrRGp3TEU7RUFJRTtFQUNBO0FsRGd3TEo7QWtEOXZMRTtFbEM3Q0E7RUFDQTtFa0M4Q0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtLQUFBO1VBQUE7RUFDQTtFQUNBO0FsRGl3TEo7QWtEL3ZMSTtFQUVFO0VBQ0E7RUFDQTtBbERnd0xOO0FrRDV2TEU7RUFDRTtBbEQ4dkxKO0FrRDN2TEU7RUFDRTtFQUNBO0FsRDZ2TEo7QWtEM3ZMSTtFQUNFO0VBQ0E7QWxENnZMTjtBa0QxdkxJO0VBQ0U7RUFDQTtBbEQ0dkxOO0FrRDF2TE07RUFHRTtFQUNBO0FsRDB2TFI7QWtEdHZMSTtFQUNFO0VBQ0E7RUFDQTtFQUNBO0FsRHd2TE47QWtEdHZMSTtFQUVFO0FsRHV2TE47QWtEcnZMTTtFQUNFO0FsRHV2TFI7QWtEcHZMSTtFQUtFO0VBQ0E7QWxEa3ZMTjtBa0QvdUxJO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBbERpdkxOO0FrRDd1TEU7RXZDdkhBO0VBQ0E7RXVDeUhFO0VBQ0E7RUFDQTtBbEQrdUxKO0FrRDd1TEk7RUFDRTtBbEQrdUxOO0FrRDV1TEk7RUFDRTtFQUNBO0FsRDh1TE47QWtENXVMTTtFQUNFO0FsRDh1TFI7QWtEMXVMRTtFQUNFO0FsRDR1TEo7QWtEMXVMSTtFQUNFO0FsRDR1TE47QWtEenVMRTtFQUNFO0FsRDJ1TEo7QWtEenVMSTtFQUNFO0FsRDJ1TE47O0FrRHR1TEE7RUFDRTtFQUNBO0FsRHl1TEY7QWtEdnVMRTtFQUNFO0VBQ0E7VUFBQTtBbER5dUxKOztBbURoNkxBO0VBQ0k7RUFDQTtFQUNBO0FuRG02TEo7QW1EaDZMTTtFQUNFO0FuRGs2TFI7QWN4M0tJO0VxQzNpQkU7SUFHSTtFbkRvNkxSO0FB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R0U7RXJEc3JNTjtFcURwck1JOztJQUVFO0VyRHNyTU47QUFDRjtBcURuck1JO0VBQ0U7QXJEcXJNTjtBcURsck1JO0VBQ0U7QXJEb3JNTjtBcURqck1JO0VBQ0U7QXJEbXJNTjtBcURock1JO0VBQ0U7QXJEa3JNTjtBcUQvcU1JO0VBQ0U7QXJEaXJNTjtBcUQ5cU1JO0VBQ0U7RUFDQTtBckRnck1OO0FxRDdxTUk7RUFDRTtBckQrcU1OO0FxRDVxTUk7RUFDRTtBckQ4cU1OO0FxRDFxTUk7O0VBRUU7QXJENHFNTjtBcURycU1JOztFQUVFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBckR1cU1OO0FxRHBxTUk7RUFDRTtBckRzcU1OO0FxRG5xTUk7RUFDRTtBckRxcU1OO0FxRGxxTUk7O0VBRUU7RUFDQTtFQUVBO0VBQ0E7RUFDQTtBckRtcU1OO0FxRGhxTUk7RUFDRTtFQUNBO0FyRGtxTU47QXFEL3BNSTtFQUNFO0VBQ0E7QXJEaXFNTjtBcUR6cE1JOztFQUVFO0VBQ0E7RUFDQTtFQUNBO0FyRDJwTU47QXFEeHBNSTtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBckQwcE1OO0FxRHZwTUk7RUFDRTtBckR5cE1OO0FxRHRwTUk7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QXJEd3BNTjtBcUR0cE1JO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0FyRHdwTU47QXFEdHBNSTtFQUNFO0VBQ0E7QXJEd3BNTjtBcUR0cE1JO0VBQ0U7RUFDQTtBckR3cE1OO0FxRHRwTUk7RUFDRTtBckR3cE1OO0FxRHJwTUk7RUFDRTtBckR1cE1OO0FxRHJwTUk7RUFDRTtFQUNBO0VBQ0E7QXJEdXBNTjtBcURucE1JO0VBQ0U7QXJEcXBNTjtBcURscE1JO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0FyRG9wTU47QXFEanBNSTtFQUNFO0VBQ0E7QXJEbXBNTjtBcURqcE1JO0VBQ0U7QXJEbXBNTjtBcURocE1JO0VBQ0U7RUFDQTtBckRrcE1OO0FxRC9vTUk7RUFDRTtFQUNBO0FyRGlwTU47QXFEOW9NSTtFQUNFO0FyRGdwTU47QXFEeG9NSTtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBckQwb01OO0FxRGxvTUk7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0FyRG9vTU47QXFEbG9NSTtFQUNFO0VBQ0E7QXJEb29NTjtBcURqb01JO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBckRtb01OO0FxRGhvTUk7RUFDRTtBckRrb01OO0FxRDluTUk7RUFDRTtBckRnb01OO0FxRHRuTUk7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0FyRHduTU47QXFEcm5NSTtFQUNFO0VBQ0E7RUFDQTtBckR1bk1OO0FxRHBuTUk7RUFDRTtBckRzbk1OO0FxRHBuTUk7RUFDRTtFQUNBO0FyRHNuTU47QXFEbm5NSTtFQUNFO0FyRHFuTU47QXFEbm5NSTtFQUNFO0VBQ0E7QXJEcW5NTjtBcURubk1JO0VBQ0U7RUFFQTtBckRvbk1OO0FxRGpuTUk7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0FyRG1uTU47QXFEaG5NSTtFQUNFOzs7S0FBQTtFQUlBO0VBQ0E7RUFDQTtFQUNBO0FyRGtuTU47QXFEL21NSTtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0FyRGluTU47QXFEOW1NSTtFQUNFO0lBQ0U7SUFDQTtJQUNBO0lBQ0E7SUFDQTtFckRnbk1OO0FBQ0Y7QXFEN21NSTtFQUNFO0lBQ0U7SUFDQTtFckQrbU1OO0VxRDdtTUk7SUFDRTtJQUNBO0VyRCttTU47QUFDRjtBcUQ1bU1JO0VB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RUFDQTtBNUQraFFWO0E0RDNoUU07RUFDRTtFQUNBO0VBQ0E7QTVENmhRUjtBNEQxaFFNOztFQUVFO0VBQ0E7QTVENGhRUjs7QTREcmhRRTtFQUNFO0VBQ0E7RUFDQTtBNUR3aFFKO0E0RHRoUUk7RUFDRTtBNUR3aFFOOztBNkR4blFJO0VBQ0U7RUFDQTtFQUNBO0E3RDJuUU47QWMva1BJO0UrQy9pQkE7SUFNSTtFN0Q0blFOO0FBQ0Y7QTZEem5RRTtFQUNFO0E3RDJuUUo7QTZEeG5RSTtFQUNFO0VBQ0E7RUFDQTtFQUNBO0E3RDBuUU47QTZEeG5RTTtFQUNFO0E3RDBuUVI7QTZEM25RTTtFQUNFO0E3RDBuUVI7QTZEM25RTTtFQUNFO0E3RDBuUVI7O0E2RHJuUUE7QUFDQTtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0E3RHduUUY7O0E2RHRuUUE7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QTdEeW5RRjtBNkR4blFFO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBN0QwblFKO0E2RHpuUUk7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBN0QyblFOO0E2RHhuUUU7RUFDRTtFQUNBO0E3RDBuUUo7QTZEem5RSTtFQUNFO0VBQ0E7QTdEMm5RTjtBY3hwUEk7RStDeGVGO0lBUUk7RTdENG5RSjtFNkQzblFJO0lBQ0U7RTdENm5RTjtBQUNGO0E2RDFuUUU7RUFDRTtFQUNBO0E3RDRuUUo7QTZEMW5RRTtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QTdENG5RSjtBNkQxblFFO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBN0Q0blFKO0E2RDFuUUU7RUFDRTtBN0Q0blFKO0E2RHpuUUk7RUFDRTtBN0QyblFOO0E2RHpuUUk7RUFDRTtFQUNBO0VBQ0E7QTdEMm5RTjtBNkR6blFJO0VBQ0U7QTdEMm5RTjs7QTZEdm5RQTtFQUNFO0E3RDBuUUY7O0E2RHhuUUE7RUFDRTtFQUNBO0E3RDJuUUY7O0E2RHpuUUE7RUFDRTtBN0Q0blFGO0E2RDNuUUU7RUFDRTtBN0Q2blFKO0E2RDNuUUU7RUFDRTtFQUNBO0E3RDZuUUo7QTZEM25RRTtFQUNFO0VBQ0E7RUFDQTtBN0Q2blFKO0E2RHpuUU07RUFDRTtBN0QyblFSO0E2RHJuUU07RUFDRTtFQUNBO0E3RHVuUVI7QTZEbm5RRTtFQUNFO0E3RHFuUUo7O0E4RG54UUk7RUFDSTtBOURzeFFSOztBQXhzUUE7O0VBQUEsQyIsImZpbGUiOiJjc3MvZ2xvYmFsLmNzcyIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogU3dpcGVyIDkuMC41XG4gKiBNb3N0IG1vZGVybiBtb2JpbGUgdG91Y2ggc2xpZGVyIGFuZCBmcmFtZXdvcmsgd2l0aCBoYXJkd2FyZSBhY2NlbGVyYXRlZCB0cmFuc2l0aW9uc1xuICogaHR0cHM6Ly9zd2lwZXJqcy5jb21cbiAqXG4gKiBDb3B5cmlnaHQgMjAxNC0yMDIzIFZsYWRpbWlyIEtoYXJsYW1waWRpXG4gKlxuICogUmVsZWFzZWQgdW5kZXIgdGhlIE1JVCBMaWNlbnNlXG4gKlxuICogUmVsZWFzZWQgb246IEZlYnJ1YXJ5IDEzLCAyMDIzXG4gKi9cblxuLyogRk9OVF9TVEFSVCAqL1xuQGZvbnQtZmFjZSB7XG4gIGZvbnQtZmFtaWx5OiAnc3dpcGVyLWljb25zJztcbiAgc3JjOiB1cmwoJ2RhdGE6YXBwbGljYXRpb24vZm9udC13b2ZmO2NoYXJzZXQ9dXRmLTg7YmFzZTY0LCBkMDlHUmdBQkFBQUFBQVpnQUJBQUFBQUFEQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQkdSbFJOQUFBR1JBQUFBQm9BQUFBY2k2cUhrVWRFUlVZQUFBV2dBQUFBSXdBQUFDUUFZQUJYUjFCUFV3QUFCaFFBQUFBdUFBQUFOdUFZNyt4SFUxVkNBQUFGeEFBQUFGQUFBQUJtMmZQY3pVOVRMeklBQUFIY0FBQUFTZ0FBQUdCUDlWNVJZMjFoY0FBQUFrUUFBQUNJQUFBQll0NkYwY0JqZG5RZ0FBQUN6QUFBQUFRQUFBQUVBQkVCUkdkaGMzQUFBQVdZQUFBQUNBQUFBQWovL3dBRFoyeDVaZ0FBQXl3QUFBRE1BQUFEMk1IdHJ5Vm9aV0ZrQUFBQmJBQUFBREFBQUFBMkUyK2VvV2hvWldFQUFBR2NBQUFBSHdBQUFDUUM5Z0R6YUcxMGVBQUFBaWdBQUFBWkFBQUFyZ0prQUJGc2IyTmhBQUFDMEFBQUFGb0FBQUJhRlFBVUdHMWhlSEFBQUFHOEFBQUFId0FBQUNBQWNBQkFibUZ0WlFBQUEvZ0FBQUU1QUFBQ1h2RmRCd2x3YjNOMEFBQUZOQUFBQUdJQUFBQ0U1czc0aFhqYVkyQmtZR0FBWXBmNUh1L2orVzIrTW5Bek1ZREF6YVg2UWpENi80Ly9CeGo1R0E4QXVSd01ZR2tBUHl3TDEzamFZMkJrWUdBODhQOEFneDRqKy84ZlFEWWZBMUFFQldnREFJQjJCT29BZU5wallHUmdZTkJoNEdkZ1lnQUJFTW5JQUJKellOQURDUUFBQ1dnQXNRQjQybU5nWWZ6Q09JR0JsWUdCMFljeGpZR0J3UjFLZjJXUVpHaGhZR0JpWUdWbWdBRkdCaVFRa09hYXd0REFvTUJReFhqZy93RUdQY1lEREE0d05VQTJDQ2d3c0FBQU80RUw2Z0FBZU5wajJNMGd5QUFDcXhnR05XQmtaMkQ0L3dNQSt4a0RkZ0FBQUhqYVkyQmdZR2FBWUJrR1JnWVFpQUh5R01GOEZnWUhJTTNEd01IQUJHUXJNT2d5V0RMRU0xVDkvdzhVQmZFTWdMekUvLy8vUC81Ly9mL1YveHYrcjRlYUFBZU1iQXh3SVVZbUlNSEVnS1lBWWpVY3NEQXdzTEt4YzNCeWNmUHc4akVRQS9nWkJBU0ZoRVZFeGNRbEpLV2taV1RsNUJVVWxaUlZWTlhVTlRRWkJnTUFBTVIrRStnQUVRRkVBQUFBS2dBcUFDb0FOQUErQUVnQVVnQmNBR1lBY0FCNkFJUUFqZ0NZQUtJQXJBQzJBTUFBeWdEVUFONEE2QUR5QVB3QkJnRVFBUm9CSkFFdUFUZ0JRZ0ZNQVZZQllBRnFBWFFCZmdHSUFaSUJuQUdtQWJJQnpnSHNBQUI0MnUyTk1RNkNVQXlHVzU2OHg5QW5lWVlnbTRNSmJoS0ZhRXhJT0FWWDhBcGV3U3Q0QmljNEFmZUFpZDNWT0JpeER4ZlBZRXphNU8rWGZpMDRZQURnZ2lVSVVMQ3VFSks4VmhPNGJTdnBkbmt0SEk1UUNZdGRpMnNsOFpuWGFIbHFVck5LemRLY1Q4Y2pscStyd1pTdklWY3pOaWV6c2ZuUC91em5tZlBGQk5PRE0ySzdNVFE0NVlFQVpxR1A4MUFtR0djRjNpUHFPb3AwcjFTUFRhVGJWa2ZVZTRIWGo5N3dZRSt5TndXWXh3V3U0djF1Z1dIZ28zUzFYZFpFVnFXTTdFVDBjZm5MR3hXZmtnUjQybzJQdldyRE1CU0ZqL0lITGFGMHpLalJnZGlWTXdTY05SQW9XVW9INzhZMmljQi95SVkwOUFuNkFIMkJkdS9VQit5eG9wWXNoUWlFdm52dTBkVVJnRHQ4UWVDOFBEdzdGcGppM2ZFQTR6L1BFSjZZT0I1aEtoNGRqM0V2WGh4UHFIL1NLVVkzcko3c3JaNEZabmgxUE1BdFBod1A2ZmwyUE1KTVBEZ2VRNHJZOFlUNkd6YW8wZUFFQTQwOUR1Z2dtVG5Gbk9jU0NpRWlMTWd4Q2lUSTZDcTVEWlVkM1FtcDEwdk8wTGFMVGQyY2pONGZPdW1sYzdsVVliU1FjWkZrdXRSRzdnNkpLWkt5MFJtZExZNjgwQ0RuRUorVU1rcEZGZTFSTjdueGRWcFhyQzRhVHRuYXVyT25ZZXJjWmcyWVZtTE4vZC9nY3pmRWltckUvZnMvYk91cTI5Wm1uOHRsb09SYVhnWmdHYTc4eU85L2NuWG0yQnBhR3ZxMjVEdjlTNEU5KzVTSWM5UHF1cEpLaFlGU1NsNDcrUWNyMW1ZTkFBQUFlTnB0dzBjS3drQUFBTURaSkE4UTdPVUp2a0xzUGZaNnpGVkVSUHk4cUhoMllFUiszaS9CUDgzdklCTEx5U3NvS2ltcnFLcXBhMmhwNitqcTZSc1lHaG1ibUpxWlN5MHNyYXh0Yk8zc0hSeWRuRU1VNHVSNnl4N0pKWHZlUDdXckR5Y0FBQUFBQUFILy93QUNlTnBqWUdSZ1lPQUJZaGtnWmdKQ1pnWk5Ca1lHTFFadElKc0ZMTVlBQUF3M0FMZ0FlTm9saXpFS2dEQVFCQ2NoUmJDMnNGRVIwWUQ2cVZRaUJDdi9IOWV6R0k2WjVYQkF3OENCSy9tNWlRUVZhdVZiWExuT3JNWnYyb0xkS0ZhOFBqdXJ1MmhKekdhYm1PU0x6Tk16dnV0cEIzTjQybU5nWkdCZzRHS1FZekJoWU14SkxNbGo0R0JnQVlvdy9QL1BBSkpoTE02c1NvV0tmV0NBQXdEQWpnYlJBQUI0Mm1OZ1lHQmtBSUliQ1pvNUlQcm1VbjBoR0EwQU84RUZUUUFBJyk7XG4gIGZvbnQtd2VpZ2h0OiA0MDA7XG4gIGZvbnQtc3R5bGU6IG5vcm1hbDtcbn1cbi8qIEZPTlRfRU5EICovXG46cm9vdCB7XG4gIC0tc3dpcGVyLXRoZW1lLWNvbG9yOiAjMDA3YWZmO1xuICAvKlxuICAtLXN3aXBlci1wcmVsb2FkZXItY29sb3I6IHZhcigtLXN3aXBlci10aGVtZS1jb2xvcik7XG4gIC0tc3dpcGVyLXdyYXBwZXItdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGluaXRpYWw7XG4gICovXG59XG4uc3dpcGVyLFxuc3dpcGVyLWNvbnRhaW5lciB7XG4gIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICBtYXJnaW4tcmlnaHQ6IGF1dG87XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgbGlzdC1zdHlsZTogbm9uZTtcbiAgcGFkZGluZzogMDtcbiAgLyogRml4IG9mIFdlYmtpdCBmbGlja2VyaW5nICovXG4gIHotaW5kZXg6IDE7XG4gIGRpc3BsYXk6IGJsb2NrO1xufVxuLnN3aXBlci12ZXJ0aWNhbCA+IC5zd2lwZXItd3JhcHBlciB7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG59XG4uc3dpcGVyLXdyYXBwZXIge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IDEwMCU7XG4gIHotaW5kZXg6IDE7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIHRyYW5zaXRpb24tcHJvcGVydHk6IHRyYW5zZm9ybTtcbiAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IHZhcigtLXN3aXBlci13cmFwcGVyLXRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uLCBpbml0aWFsKTtcbiAgYm94LXNpemluZzogY29udGVudC1ib3g7XG59XG4uc3dpcGVyLWFuZHJvaWQgLnN3aXBlci1zbGlkZSxcbi5zd2lwZXItd3JhcHBlciB7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMHB4LCAwLCAwKTtcbn1cbi5zd2lwZXItaG9yaXpvbnRhbCB7XG4gIHRvdWNoLWFjdGlvbjogcGFuLXk7XG59XG4uc3dpcGVyLXZlcnRpY2FsIHtcbiAgdG91Y2gtYWN0aW9uOiBwYW4teDtcbn1cbi5zd2lwZXItc2xpZGUsXG5zd2lwZXItc2xpZGUge1xuICBmbGV4LXNocmluazogMDtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogMTAwJTtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB0cmFuc2l0aW9uLXByb3BlcnR5OiB0cmFuc2Zvcm07XG4gIGRpc3BsYXk6IGJsb2NrO1xufVxuLnN3aXBlci1zbGlkZS1pbnZpc2libGUtYmxhbmsge1xuICB2aXNpYmlsaXR5OiBoaWRkZW47XG59XG4vKiBBdXRvIEhlaWdodCAqL1xuLnN3aXBlci1hdXRvaGVpZ2h0LFxuLnN3aXBlci1hdXRvaGVpZ2h0IC5zd2lwZXItc2xpZGUge1xuICBoZWlnaHQ6IGF1dG87XG59XG4uc3dpcGVyLWF1dG9oZWlnaHQgLnN3aXBlci13cmFwcGVyIHtcbiAgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7XG4gIHRyYW5zaXRpb24tcHJvcGVydHk6IHRyYW5zZm9ybSwgaGVpZ2h0O1xufVxuLnN3aXBlci1iYWNrZmFjZS1oaWRkZW4gLnN3aXBlci1zbGlkZSB7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWigwKTtcbiAgLXdlYmtpdC1iYWNrZmFjZS12aXNpYmlsaXR5OiBoaWRkZW47XG4gICAgICAgICAgYmFja2ZhY2UtdmlzaWJpbGl0eTogaGlkZGVuO1xufVxuLyogM0QgRWZmZWN0cyAqL1xuLnN3aXBlci0zZC5zd2lwZXItY3NzLW1vZGUgLnN3aXBlci13cmFwcGVyIHtcbiAgcGVyc3BlY3RpdmU6IDEyMDBweDtcbn1cbi5zd2lwZXItM2QgLnN3aXBlci13cmFwcGVyIHtcbiAgdHJhbnNmb3JtLXN0eWxlOiBwcmVzZXJ2ZS0zZDtcbn1cbi5zd2lwZXItM2Qge1xuICBwZXJzcGVjdGl2ZTogMTIwMHB4O1xufVxuLnN3aXBlci0zZCAuc3dpcGVyLXNsaWRlLFxuLnN3aXBlci0zZCAuc3dpcGVyLXNsaWRlLXNoYWRvdyxcbi5zd2lwZXItM2QgLnN3aXBlci1zbGlkZS1zaGFkb3ctbGVmdCxcbi5zd2lwZXItM2QgLnN3aXBlci1zbGlkZS1zaGFkb3ctcmlnaHQsXG4uc3dpcGVyLTNkIC5zd2lwZXItc2xpZGUtc2hhZG93LXRvcCxcbi5zd2lwZXItM2QgLnN3aXBlci1zbGlkZS1zaGFkb3ctYm90dG9tLFxuLnN3aXBlci0zZCAuc3dpcGVyLWN1YmUtc2hhZG93IHtcbiAgdHJhbnNmb3JtLXN0eWxlOiBwcmVzZXJ2ZS0zZDtcbn1cbi5zd2lwZXItM2QgLnN3aXBlci1zbGlkZS1zaGFkb3csXG4uc3dpcGVyLTNkIC5zd2lwZXItc2xpZGUtc2hhZG93LWxlZnQsXG4uc3dpcGVyLTNkIC5zd2lwZXItc2xpZGUtc2hhZG93LXJpZ2h0LFxuLnN3aXBlci0zZCAuc3dpcGVyLXNsaWRlLXNoYWRvdy10b3AsXG4uc3dpcGVyLTNkIC5zd2lwZXItc2xpZGUtc2hhZG93LWJvdHRvbSB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgbGVmdDogMDtcbiAgdG9wOiAwO1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAxMDAlO1xuICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgei1pbmRleDogMTA7XG59XG4uc3dpcGVyLTNkIC5zd2lwZXItc2xpZGUtc2hhZG93IHtcbiAgYmFja2dyb3VuZDogcmdiYSgwLCAwLCAwLCAwLjE1KTtcbn1cbi5zd2lwZXItM2QgLnN3aXBlci1zbGlkZS1zaGFkb3ctbGVmdCB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IGxpbmVhci1ncmFkaWVudCh0byBsZWZ0LCByZ2JhKDAsIDAsIDAsIDAuNSksIHJnYmEoMCwgMCwgMCwgMCkpO1xufVxuLnN3aXBlci0zZCAuc3dpcGVyLXNsaWRlLXNoYWRvdy1yaWdodCB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IGxpbmVhci1ncmFkaWVudCh0byByaWdodCwgcmdiYSgwLCAwLCAwLCAwLjUpLCByZ2JhKDAsIDAsIDAsIDApKTtcbn1cbi5zd2lwZXItM2QgLnN3aXBlci1zbGlkZS1zaGFkb3ctdG9wIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogbGluZWFyLWdyYWRpZW50KHRvIHRvcCwgcmdiYSgwLCAwLCAwLCAwLjUpLCByZ2JhKDAsIDAsIDAsIDApKTtcbn1cbi5zd2lwZXItM2QgLnN3aXBlci1zbGlkZS1zaGFkb3ctYm90dG9tIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogbGluZWFyLWdyYWRpZW50KHRvIGJvdHRvbSwgcmdiYSgwLCAwLCAwLCAwLjUpLCByZ2JhKDAsIDAsIDAsIDApKTtcbn1cbi8qIENTUyBNb2RlICovXG4uc3dpcGVyLWNzcy1tb2RlID4gLnN3aXBlci13cmFwcGVyIHtcbiAgb3ZlcmZsb3c6IGF1dG87XG4gIHNjcm9sbGJhci13aWR0aDogbm9uZTtcbiAgLyogRm9yIEZpcmVmb3ggKi9cbiAgLW1zLW92ZXJmbG93LXN0eWxlOiBub25lO1xuICAvKiBGb3IgSW50ZXJuZXQgRXhwbG9yZXIgYW5kIEVkZ2UgKi9cbn1cbi5zd2lwZXItY3NzLW1vZGUgPiAuc3dpcGVyLXdyYXBwZXI6Oi13ZWJraXQtc2Nyb2xsYmFyIHtcbiAgZGlzcGxheTogbm9uZTtcbn1cbi5zd2lwZXItY3NzLW1vZGUgPiAuc3dpcGVyLXdyYXBwZXIgPiAuc3dpcGVyLXNsaWRlIHtcbiAgc2Nyb2xsLXNuYXAtYWxpZ246IHN0YXJ0IHN0YXJ0O1xufVxuLnN3aXBlci1ob3Jpem9udGFsLnN3aXBlci1jc3MtbW9kZSA+IC5zd2lwZXItd3JhcHBlciB7XG4gIHNjcm9sbC1zbmFwLXR5cGU6IHggbWFuZGF0b3J5O1xufVxuLnN3aXBlci12ZXJ0aWNhbC5zd2lwZXItY3NzLW1vZGUgPiAuc3dpcGVyLXdyYXBwZXIge1xuICBzY3JvbGwtc25hcC10eXBlOiB5IG1hbmRhdG9yeTtcbn1cbi5zd2lwZXItY2VudGVyZWQgPiAuc3dpcGVyLXdyYXBwZXI6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6ICcnO1xuICBmbGV4LXNocmluazogMDtcbiAgb3JkZXI6IDk5OTk7XG59XG4uc3dpcGVyLWNlbnRlcmVkID4gLnN3aXBlci13cmFwcGVyID4gLnN3aXBlci1zbGlkZSB7XG4gIHNjcm9sbC1zbmFwLWFsaWduOiBjZW50ZXIgY2VudGVyO1xuICBzY3JvbGwtc25hcC1zdG9wOiBhbHdheXM7XG59XG4uc3dpcGVyLWNlbnRlcmVkLnN3aXBlci1ob3Jpem9udGFsID4gLnN3aXBlci13cmFwcGVyID4gLnN3aXBlci1zbGlkZTpmaXJzdC1jaGlsZCB7XG4gIG1hcmdpbi1pbmxpbmUtc3RhcnQ6IHZhcigtLXN3aXBlci1jZW50ZXJlZC1vZmZzZXQtYmVmb3JlKTtcbn1cbi5zd2lwZXItY2VudGVyZWQuc3dpcGVyLWhvcml6b250YWwgPiAuc3dpcGVyLXdyYXBwZXI6OmJlZm9yZSB7XG4gIGhlaWdodDogMTAwJTtcbiAgbWluLWhlaWdodDogMXB4O1xuICB3aWR0aDogdmFyKC0tc3dpcGVyLWNlbnRlcmVkLW9mZnNldC1hZnRlcik7XG59XG4uc3dpcGVyLWNlbnRlcmVkLnN3aXBlci12ZXJ0aWNhbCA+IC5zd2lwZXItd3JhcHBlciA+IC5zd2lwZXItc2xpZGU6Zmlyc3QtY2hpbGQge1xuICBtYXJnaW4tYmxvY2stc3RhcnQ6IHZhcigtLXN3aXBlci1jZW50ZXJlZC1vZmZzZXQtYmVmb3JlKTtcbn1cbi5zd2lwZXItY2VudGVyZWQuc3dpcGVyLXZlcnRpY2FsID4gLnN3aXBlci13cmFwcGVyOjpiZWZvcmUge1xuICB3aWR0aDogMTAwJTtcbiAgbWluLXdpZHRoOiAxcHg7XG4gIGhlaWdodDogdmFyKC0tc3dpcGVyLWNlbnRlcmVkLW9mZnNldC1hZnRlcik7XG59XG4uc3dpcGVyLWxhenktcHJlbG9hZGVyIHtcbiAgd2lkdGg6IDQycHg7XG4gIGhlaWdodDogNDJweDtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBsZWZ0OiA1MCU7XG4gIHRvcDogNTAlO1xuICBtYXJnaW4tbGVmdDogLTIxcHg7XG4gIG1hcmdpbi10b3A6IC0yMXB4O1xuICB6LWluZGV4OiAxMDtcbiAgdHJhbnNmb3JtLW9yaWdpbjogNTAlO1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICBib3JkZXI6IDRweCBzb2xpZCB2YXIoLS1zd2lwZXItcHJlbG9hZGVyLWNvbG9yLCB2YXIoLS1zd2lwZXItdGhlbWUtY29sb3IpKTtcbiAgYm9yZGVyLXJhZGl1czogNTAlO1xuICBib3JkZXItdG9wLWNvbG9yOiB0cmFuc3BhcmVudDtcbn1cbi5zd2lwZXI6bm90KC5zd2lwZXItd2F0Y2gtcHJvZ3Jlc3MpIC5zd2lwZXItbGF6eS1wcmVsb2FkZXIsXG5zd2lwZXItY29udGFpbmVyOm5vdCguc3dpcGVyLXdhdGNoLXByb2dyZXNzKSAuc3dpcGVyLWxhenktcHJlbG9hZGVyLFxuLnN3aXBlci13YXRjaC1wcm9ncmVzcyAuc3dpcGVyLXNsaWRlLXZpc2libGUgLnN3aXBlci1sYXp5LXByZWxvYWRlciB7XG4gIGFuaW1hdGlvbjogc3dpcGVyLXByZWxvYWRlci1zcGluIDFzIGluZmluaXRlIGxpbmVhcjtcbn1cbi5zd2lwZXItbGF6eS1wcmVsb2FkZXItd2hpdGUge1xuICAtLXN3aXBlci1wcmVsb2FkZXItY29sb3I6ICNmZmY7XG59XG4uc3dpcGVyLWxhenktcHJlbG9hZGVyLWJsYWNrIHtcbiAgLS1zd2lwZXItcHJlbG9hZGVyLWNvbG9yOiAjMDAwO1xufVxuQGtleWZyYW1lcyBzd2lwZXItcHJlbG9hZGVyLXNwaW4ge1xuICAwJSB7XG4gICAgdHJhbnNmb3JtOiByb3RhdGUoMGRlZyk7XG4gIH1cbiAgMTAwJSB7XG4gICAgdHJhbnNmb3JtOiByb3RhdGUoMzYwZGVnKTtcbiAgfVxufVxuLnN3aXBlci12aXJ0dWFsIC5zd2lwZXItc2xpZGUge1xuICAtd2Via2l0LWJhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlbjtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVaKDApO1xufVxuLnN3aXBlci12aXJ0dWFsLnN3aXBlci1jc3MtbW9kZSAuc3dpcGVyLXdyYXBwZXI6OmFmdGVyIHtcbiAgY29udGVudDogJyc7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgbGVmdDogMDtcbiAgdG9wOiAwO1xuICBwb2ludGVyLWV2ZW50czogbm9uZTtcbn1cbi5zd2lwZXItdmlydHVhbC5zd2lwZXItY3NzLW1vZGUuc3dpcGVyLWhvcml6b250YWwgLnN3aXBlci13cmFwcGVyOjphZnRlciB7XG4gIGhlaWdodDogMXB4O1xuICB3aWR0aDogdmFyKC0tc3dpcGVyLXZpcnR1YWwtc2l6ZSk7XG59XG4uc3dpcGVyLXZpcnR1YWwuc3dpcGVyLWNzcy1tb2RlLnN3aXBlci12ZXJ0aWNhbCAuc3dpcGVyLXdyYXBwZXI6OmFmdGVyIHtcbiAgd2lkdGg6IDFweDtcbiAgaGVpZ2h0OiB2YXIoLS1zd2lwZXItdmlydHVhbC1zaXplKTtcbn1cbjpyb290IHtcbiAgLS1zd2lwZXItbmF2aWdhdGlvbi1zaXplOiA0NHB4O1xuICAvKlxuICAtLXN3aXBlci1uYXZpZ2F0aW9uLXRvcC1vZmZzZXQ6IDUwJTtcbiAgLS1zd2lwZXItbmF2aWdhdGlvbi1zaWRlcy1vZmZzZXQ6IDEwcHg7XG4gIC0tc3dpcGVyLW5hdmlnYXRpb24tY29sb3I6IHZhcigtLXN3aXBlci10aGVtZS1jb2xvcik7XG4gICovXG59XG4uc3dpcGVyLWJ1dHRvbi1wcmV2LFxuLnN3aXBlci1idXR0b24tbmV4dCB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiB2YXIoLS1zd2lwZXItbmF2aWdhdGlvbi10b3Atb2Zmc2V0LCA1MCUpO1xuICB3aWR0aDogY2FsYyh2YXIoLS1zd2lwZXItbmF2aWdhdGlvbi1zaXplKSAvIDQ0ICogMjcpO1xuICBoZWlnaHQ6IHZhcigtLXN3aXBlci1uYXZpZ2F0aW9uLXNpemUpO1xuICBtYXJnaW4tdG9wOiBjYWxjKDBweCAtICh2YXIoLS1zd2lwZXItbmF2aWdhdGlvbi1zaXplKSAvIDIpKTtcbiAgei1pbmRleDogMTA7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIGNvbG9yOiB2YXIoLS1zd2lwZXItbmF2aWdhdGlvbi1jb2xvciwgdmFyKC0tc3dpcGVyLXRoZW1lLWNvbG9yKSk7XG59XG4uc3dpcGVyLWJ1dHRvbi1wcmV2LnN3aXBlci1idXR0b24tZGlzYWJsZWQsXG4uc3dpcGVyLWJ1dHRvbi1uZXh0LnN3aXBlci1idXR0b24tZGlzYWJsZWQge1xuICBvcGFjaXR5OiAwLjM1O1xuICBjdXJzb3I6IGF1dG87XG4gIHBvaW50ZXItZXZlbnRzOiBub25lO1xufVxuLnN3aXBlci1idXR0b24tcHJldi5zd2lwZXItYnV0dG9uLWhpZGRlbixcbi5zd2lwZXItYnV0dG9uLW5leHQuc3dpcGVyLWJ1dHRvbi1oaWRkZW4ge1xuICBvcGFjaXR5OiAwO1xuICBjdXJzb3I6IGF1dG87XG4gIHBvaW50ZXItZXZlbnRzOiBub25lO1xufVxuLnN3aXBlci1uYXZpZ2F0aW9uLWRpc2FibGVkIC5zd2lwZXItYnV0dG9uLXByZXYsXG4uc3dpcGVyLW5hdmlnYXRpb24tZGlzYWJsZWQgLnN3aXBlci1idXR0b24tbmV4dCB7XG4gIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbn1cbi5zd2lwZXItYnV0dG9uLXByZXY6YWZ0ZXIsXG4uc3dpcGVyLWJ1dHRvbi1uZXh0OmFmdGVyIHtcbiAgZm9udC1mYW1pbHk6IHN3aXBlci1pY29ucztcbiAgZm9udC1zaXplOiB2YXIoLS1zd2lwZXItbmF2aWdhdGlvbi1zaXplKTtcbiAgdGV4dC10cmFuc2Zvcm06IG5vbmUgIWltcG9ydGFudDtcbiAgbGV0dGVyLXNwYWNpbmc6IDA7XG4gIGZvbnQtdmFyaWFudDogaW5pdGlhbDtcbiAgbGluZS1oZWlnaHQ6IDE7XG59XG4uc3dpcGVyLWJ1dHRvbi1wcmV2LFxuLnN3aXBlci1ydGwgLnN3aXBlci1idXR0b24tbmV4dCB7XG4gIGxlZnQ6IHZhcigtLXN3aXBlci1uYXZpZ2F0aW9uLXNpZGVzLW9mZnNldCwgMTBweCk7XG4gIHJpZ2h0OiBhdXRvO1xufVxuLnN3aXBlci1idXR0b24tcHJldjphZnRlcixcbi5zd2lwZXItcnRsIC5zd2lwZXItYnV0dG9uLW5leHQ6YWZ0ZXIge1xuICBjb250ZW50OiAncHJldic7XG59XG4uc3dpcGVyLWJ1dHRvbi1uZXh0LFxuLnN3aXBlci1ydGwgLnN3aXBlci1idXR0b24tcHJldiB7XG4gIHJpZ2h0OiB2YXIoLS1zd2lwZXItbmF2aWdhdGlvbi1zaWRlcy1vZmZzZXQsIDEwcHgpO1xuICBsZWZ0OiBhdXRvO1xufVxuLnN3aXBlci1idXR0b24tbmV4dDphZnRlcixcbi5zd2lwZXItcnRsIC5zd2lwZXItYnV0dG9uLXByZXY6YWZ0ZXIge1xuICBjb250ZW50OiAnbmV4dCc7XG59XG4uc3dpcGVyLWJ1dHRvbi1sb2NrIHtcbiAgZGlzcGxheTogbm9uZTtcbn1cbjpyb290IHtcbiAgLypcbiAgLS1zd2lwZXItcGFnaW5hdGlvbi1jb2xvcjogdmFyKC0tc3dpcGVyLXRoZW1lLWNvbG9yKTtcbiAgLS1zd2lwZXItcGFnaW5hdGlvbi1sZWZ0OiBhdXRvO1xuICAtLXN3aXBlci1wYWdpbmF0aW9uLXJpZ2h0OiA4cHg7XG4gIC0tc3dpcGVyLXBhZ2luYXRpb24tYm90dG9tOiA4cHg7XG4gIC0tc3dpcGVyLXBhZ2luYXRpb24tdG9wOiBhdXRvO1xuICAtLXN3aXBlci1wYWdpbmF0aW9uLWZyYWN0aW9uLWNvbG9yOiBpbmhlcml0O1xuICAtLXN3aXBlci1wYWdpbmF0aW9uLXByb2dyZXNzYmFyLWJnLWNvbG9yOiByZ2JhKDAsMCwwLDAuMjUpO1xuICAtLXN3aXBlci1wYWdpbmF0aW9uLXByb2dyZXNzYmFyLXNpemU6IDRweDtcbiAgLS1zd2lwZXItcGFnaW5hdGlvbi1idWxsZXQtc2l6ZTogOHB4O1xuICAtLXN3aXBlci1wYWdpbmF0aW9uLWJ1bGxldC13aWR0aDogOHB4O1xuICAtLXN3aXBlci1wYWdpbmF0aW9uLWJ1bGxldC1oZWlnaHQ6IDhweDtcbiAgLS1zd2lwZXItcGFnaW5hdGlvbi1idWxsZXQtaW5hY3RpdmUtY29sb3I6ICMwMDA7XG4gIC0tc3dpcGVyLXBhZ2luYXRpb24tYnVsbGV0LWluYWN0aXZlLW9wYWNpdHk6IDAuMjtcbiAgLS1zd2lwZXItcGFnaW5hdGlvbi1idWxsZXQtb3BhY2l0eTogMTtcbiAgLS1zd2lwZXItcGFnaW5hdGlvbi1idWxsZXQtaG9yaXpvbnRhbC1nYXA6IDRweDtcbiAgLS1zd2lwZXItcGFnaW5hdGlvbi1idWxsZXQtdmVydGljYWwtZ2FwOiA2cHg7XG4gICovXG59XG4uc3dpcGVyLXBhZ2luYXRpb24ge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgdHJhbnNpdGlvbjogMzAwbXMgb3BhY2l0eTtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgei1pbmRleDogMTA7XG59XG4uc3dpcGVyLXBhZ2luYXRpb24uc3dpcGVyLXBhZ2luYXRpb24taGlkZGVuIHtcbiAgb3BhY2l0eTogMDtcbn1cbi5zd2lwZXItcGFnaW5hdGlvbi1kaXNhYmxlZCA+IC5zd2lwZXItcGFnaW5hdGlvbixcbi5zd2lwZXItcGFnaW5hdGlvbi5zd2lwZXItcGFnaW5hdGlvbi1kaXNhYmxlZCB7XG4gIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbn1cbi8qIENvbW1vbiBTdHlsZXMgKi9cbi5zd2lwZXItcGFnaW5hdGlvbi1mcmFjdGlvbixcbi5zd2lwZXItcGFnaW5hdGlvbi1jdXN0b20sXG4uc3dpcGVyLWhvcml6b250YWwgPiAuc3dpcGVyLXBhZ2luYXRpb24tYnVsbGV0cyxcbi5zd2lwZXItcGFnaW5hdGlvbi1idWxsZXRzLnN3aXBlci1wYWdpbmF0aW9uLWhvcml6b250YWwge1xuICBib3R0b206IHZhcigtLXN3aXBlci1wYWdpbmF0aW9uLWJvdHRvbSwgOHB4KTtcbiAgdG9wOiB2YXIoLS1zd2lwZXItcGFnaW5hdGlvbi10b3AsIGF1dG8pO1xuICBsZWZ0OiAwO1xuICB3aWR0aDogMTAwJTtcbn1cbi8qIEJ1bGxldHMgKi9cbi5zd2lwZXItcGFnaW5hdGlvbi1idWxsZXRzLWR5bmFtaWMge1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICBmb250LXNpemU6IDA7XG59XG4uc3dpcGVyLXBhZ2luYXRpb24tYnVsbGV0cy1keW5hbWljIC5zd2lwZXItcGFnaW5hdGlvbi1idWxsZXQge1xuICB0cmFuc2Zvcm06IHNjYWxlKDAuMzMpO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG59XG4uc3dpcGVyLXBhZ2luYXRpb24tYnVsbGV0cy1keW5hbWljIC5zd2lwZXItcGFnaW5hdGlvbi1idWxsZXQtYWN0aXZlIHtcbiAgdHJhbnNmb3JtOiBzY2FsZSgxKTtcbn1cbi5zd2lwZXItcGFnaW5hdGlvbi1idWxsZXRzLWR5bmFtaWMgLnN3aXBlci1wYWdpbmF0aW9uLWJ1bGxldC1hY3RpdmUtbWFpbiB7XG4gIHRyYW5zZm9ybTogc2NhbGUoMSk7XG59XG4uc3dpcGVyLXBhZ2luYXRpb24tYnVsbGV0cy1keW5hbWljIC5zd2lwZXItcGFnaW5hdGlvbi1idWxsZXQtYWN0aXZlLXByZXYge1xuICB0cmFuc2Zvcm06IHNjYWxlKDAuNjYpO1xufVxuLnN3aXBlci1wYWdpbmF0aW9uLWJ1bGxldHMtZHluYW1pYyAuc3dpcGVyLXBhZ2luYXRpb24tYnVsbGV0LWFjdGl2ZS1wcmV2LXByZXYge1xuICB0cmFuc2Zvcm06IHNjYWxlKDAuMzMpO1xufVxuLnN3aXBlci1wYWdpbmF0aW9uLWJ1bGxldHMtZHluYW1pYyAuc3dpcGVyLXBhZ2luYXRpb24tYnVsbGV0LWFjdGl2ZS1uZXh0IHtcbiAgdHJhbnNmb3JtOiBzY2FsZSgwLjY2KTtcbn1cbi5zd2lwZXItcGFnaW5hdGlvbi1idWxsZXRzLWR5bmFtaWMgLnN3aXBlci1wYWdpbmF0aW9uLWJ1bGxldC1hY3RpdmUtbmV4dC1uZXh0IHtcbiAgdHJhbnNmb3JtOiBzY2FsZSgwLjMzKTtcbn1cbi5zd2lwZXItcGFnaW5hdGlvbi1idWxsZXQge1xuICB3aWR0aDogdmFyKC0tc3dpcGVyLXBhZ2luYXRpb24tYnVsbGV0LXdpZHRoLCB2YXIoLS1zd2lwZXItcGFnaW5hdGlvbi1idWxsZXQtc2l6ZSwgOHB4KSk7XG4gIGhlaWdodDogdmFyKC0tc3dpcGVyLXBhZ2luYXRpb24tYnVsbGV0LWhlaWdodCwgdmFyKC0tc3dpcGVyLXBhZ2luYXRpb24tYnVsbGV0LXNpemUsIDhweCkpO1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgYmFja2dyb3VuZDogdmFyKC0tc3dpcGVyLXBhZ2luYXRpb24tYnVsbGV0LWluYWN0aXZlLWNvbG9yLCAjMDAwKTtcbiAgb3BhY2l0eTogdmFyKC0tc3dpcGVyLXBhZ2luYXRpb24tYnVsbGV0LWluYWN0aXZlLW9wYWNpdHksIDAuMik7XG59XG5idXR0b24uc3dpcGVyLXBhZ2luYXRpb24tYnVsbGV0IHtcbiAgYm9yZGVyOiBub25lO1xuICBtYXJnaW46IDA7XG4gIHBhZGRpbmc6IDA7XG4gIGJveC1zaGFkb3c6IG5vbmU7XG4gIC13ZWJraXQtYXBwZWFyYW5jZTogbm9uZTtcbiAgICAgICAgICBhcHBlYXJhbmNlOiBub25lO1xufVxuLnN3aXBlci1wYWdpbmF0aW9uLWNsaWNrYWJsZSAuc3dpcGVyLXBhZ2luYXRpb24tYnVsbGV0IHtcbiAgY3Vyc29yOiBwb2ludGVyO1xufVxuLnN3aXBlci1wYWdpbmF0aW9uLWJ1bGxldDpvbmx5LWNoaWxkIHtcbiAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xufVxuLnN3aXBlci1wYWdpbmF0aW9uLWJ1bGxldC1hY3RpdmUge1xuICBvcGFjaXR5OiB2YXIoLS1zd2lwZXItcGFnaW5hdGlvbi1idWxsZXQtb3BhY2l0eSwgMSk7XG4gIGJhY2tncm91bmQ6IHZhcigtLXN3aXBlci1wYWdpbmF0aW9uLWNvbG9yLCB2YXIoLS1zd2lwZXItdGhlbWUtY29sb3IpKTtcbn1cbi5zd2lwZXItdmVydGljYWwgPiAuc3dpcGVyLXBhZ2luYXRpb24tYnVsbGV0cyxcbi5zd2lwZXItcGFnaW5hdGlvbi12ZXJ0aWNhbC5zd2lwZXItcGFnaW5hdGlvbi1idWxsZXRzIHtcbiAgcmlnaHQ6IHZhcigtLXN3aXBlci1wYWdpbmF0aW9uLXJpZ2h0LCA4cHgpO1xuICBsZWZ0OiB2YXIoLS1zd2lwZXItcGFnaW5hdGlvbi1sZWZ0LCBhdXRvKTtcbiAgdG9wOiA1MCU7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMHB4LCAtNTAlLCAwKTtcbn1cbi5zd2lwZXItdmVydGljYWwgPiAuc3dpcGVyLXBhZ2luYXRpb24tYnVsbGV0cyAuc3dpcGVyLXBhZ2luYXRpb24tYnVsbGV0LFxuLnN3aXBlci1wYWdpbmF0aW9uLXZlcnRpY2FsLnN3aXBlci1wYWdpbmF0aW9uLWJ1bGxldHMgLnN3aXBlci1wYWdpbmF0aW9uLWJ1bGxldCB7XG4gIG1hcmdpbjogdmFyKC0tc3dpcGVyLXBhZ2luYXRpb24tYnVsbGV0LXZlcnRpY2FsLWdhcCwgNnB4KSAwO1xuICBkaXNwbGF5OiBibG9jaztcbn1cbi5zd2lwZXItdmVydGljYWwgPiAuc3dpcGVyLXBhZ2luYXRpb24tYnVsbGV0cy5zd2lwZXItcGFnaW5hdGlvbi1idWxsZXRzLWR5bmFtaWMsXG4uc3dpcGVyLXBhZ2luYXRpb24tdmVydGljYWwuc3dpcGVyLXBhZ2luYXRpb24tYnVsbGV0cy5zd2lwZXItcGFnaW5hdGlvbi1idWxsZXRzLWR5bmFtaWMge1xuICB0b3A6IDUwJTtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpO1xuICB3aWR0aDogOHB4O1xufVxuLnN3aXBlci12ZXJ0aWNhbCA+IC5zd2lwZXItcGFnaW5hdGlvbi1idWxsZXRzLnN3aXBlci1wYWdpbmF0aW9uLWJ1bGxldHMtZHluYW1pYyAuc3dpcGVyLXBhZ2luYXRpb24tYnVsbGV0LFxuLnN3aXBlci1wYWdpbmF0aW9uLXZlcnRpY2FsLnN3aXBlci1wYWdpbmF0aW9uLWJ1bGxldHMuc3dpcGVyLXBhZ2luYXRpb24tYnVsbGV0cy1keW5hbWljIC5zd2lwZXItcGFnaW5hdGlvbi1idWxsZXQge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHRyYW5zaXRpb246IDIwMG1zIHRyYW5zZm9ybSwgMjAwbXMgdG9wO1xufVxuLnN3aXBlci1ob3Jpem9udGFsID4gLnN3aXBlci1wYWdpbmF0aW9uLWJ1bGxldHMgLnN3aXBlci1wYWdpbmF0aW9uLWJ1bGxldCxcbi5zd2lwZXItcGFnaW5hdGlvbi1ob3Jpem9udGFsLnN3aXBlci1wYWdpbmF0aW9uLWJ1bGxldHMgLnN3aXBlci1wYWdpbmF0aW9uLWJ1bGxldCB7XG4gIG1hcmdpbjogMCB2YXIoLS1zd2lwZXItcGFnaW5hdGlvbi1idWxsZXQtaG9yaXpvbnRhbC1nYXAsIDRweCk7XG59XG4uc3dpcGVyLWhvcml6b250YWwgPiAuc3dpcGVyLXBhZ2luYXRpb24tYnVsbGV0cy5zd2lwZXItcGFnaW5hdGlvbi1idWxsZXRzLWR5bmFtaWMsXG4uc3dpcGVyLXBhZ2luYXRpb24taG9yaXpvbnRhbC5zd2lwZXItcGFnaW5hdGlvbi1idWxsZXRzLnN3aXBlci1wYWdpbmF0aW9uLWJ1bGxldHMtZHluYW1pYyB7XG4gIGxlZnQ6IDUwJTtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC01MCUpO1xuICB3aGl0ZS1zcGFjZTogbm93cmFwO1xufVxuLnN3aXBlci1ob3Jpem9udGFsID4gLnN3aXBlci1wYWdpbmF0aW9uLWJ1bGxldHMuc3dpcGVyLXBhZ2luYXRpb24tYnVsbGV0cy1keW5hbWljIC5zd2lwZXItcGFnaW5hdGlvbi1idWxsZXQsXG4uc3dpcGVyLXBhZ2luYXRpb24taG9yaXpvbnRhbC5zd2lwZXItcGFnaW5hdGlvbi1idWxsZXRzLnN3aXBlci1wYWdpbmF0aW9uLWJ1bGxldHMtZHluYW1pYyAuc3dpcGVyLXBhZ2luYXRpb24tYnVsbGV0IHtcbiAgdHJhbnNpdGlvbjogMjAwbXMgdHJhbnNmb3JtLCAyMDBtcyBsZWZ0O1xufVxuLnN3aXBlci1ob3Jpem9udGFsLnN3aXBlci1ydGwgPiAuc3dpcGVyLXBhZ2luYXRpb24tYnVsbGV0cy1keW5hbWljIC5zd2lwZXItcGFnaW5hdGlvbi1idWxsZXQsXG46aG9zdCguc3dpcGVyLWhvcml6b250YWwuc3dpcGVyLXJ0bCkgLnN3aXBlci1wYWdpbmF0aW9uLWJ1bGxldHMtZHluYW1pYyAuc3dpcGVyLXBhZ2luYXRpb24tYnVsbGV0IHtcbiAgdHJhbnNpdGlvbjogMjAwbXMgdHJhbnNmb3JtLCAyMDBtcyByaWdodDtcbn1cbi8qIEZyYWN0aW9uICovXG4uc3dpcGVyLXBhZ2luYXRpb24tZnJhY3Rpb24ge1xuICBjb2xvcjogdmFyKC0tc3dpcGVyLXBhZ2luYXRpb24tZnJhY3Rpb24tY29sb3IsIGluaGVyaXQpO1xufVxuLyogUHJvZ3Jlc3MgKi9cbi5zd2lwZXItcGFnaW5hdGlvbi1wcm9ncmVzc2JhciB7XG4gIGJhY2tncm91bmQ6IHZhcigtLXN3aXBlci1wYWdpbmF0aW9uLXByb2dyZXNzYmFyLWJnLWNvbG9yLCByZ2JhKDAsIDAsIDAsIDAuMjUpKTtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICAvKkFERF9IT1NUKi9cbn1cbi5zd2lwZXItcGFnaW5hdGlvbi1wcm9ncmVzc2JhciAuc3dpcGVyLXBhZ2luYXRpb24tcHJvZ3Jlc3NiYXItZmlsbCB7XG4gIGJhY2tncm91bmQ6IHZhcigtLXN3aXBlci1wYWdpbmF0aW9uLWNvbG9yLCB2YXIoLS1zd2lwZXItdGhlbWUtY29sb3IpKTtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBsZWZ0OiAwO1xuICB0b3A6IDA7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IDEwMCU7XG4gIHRyYW5zZm9ybTogc2NhbGUoMCk7XG4gIHRyYW5zZm9ybS1vcmlnaW46IGxlZnQgdG9wO1xufVxuLnN3aXBlci1ydGwgLnN3aXBlci1wYWdpbmF0aW9uLXByb2dyZXNzYmFyIC5zd2lwZXItcGFnaW5hdGlvbi1wcm9ncmVzc2Jhci1maWxsIHtcbiAgdHJhbnNmb3JtLW9yaWdpbjogcmlnaHQgdG9wO1xufVxuLnN3aXBlci1ob3Jpem9udGFsID4gLnN3aXBlci1wYWdpbmF0aW9uLXByb2dyZXNzYmFyLFxuLnN3aXBlci1wYWdpbmF0aW9uLXByb2dyZXNzYmFyLnN3aXBlci1wYWdpbmF0aW9uLWhvcml6b250YWwsXG4uc3dpcGVyLXZlcnRpY2FsID4gLnN3aXBlci1wYWdpbmF0aW9uLXByb2dyZXNzYmFyLnN3aXBlci1wYWdpbmF0aW9uLXByb2dyZXNzYmFyLW9wcG9zaXRlLFxuLnN3aXBlci1wYWdpbmF0aW9uLXByb2dyZXNzYmFyLnN3aXBlci1wYWdpbmF0aW9uLXZlcnRpY2FsLnN3aXBlci1wYWdpbmF0aW9uLXByb2dyZXNzYmFyLW9wcG9zaXRlIHtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogdmFyKC0tc3dpcGVyLXBhZ2luYXRpb24tcHJvZ3Jlc3NiYXItc2l6ZSwgNHB4KTtcbiAgbGVmdDogMDtcbiAgdG9wOiAwO1xufVxuLnN3aXBlci12ZXJ0aWNhbCA+IC5zd2lwZXItcGFnaW5hdGlvbi1wcm9ncmVzc2Jhcixcbi5zd2lwZXItcGFnaW5hdGlvbi1wcm9ncmVzc2Jhci5zd2lwZXItcGFnaW5hdGlvbi12ZXJ0aWNhbCxcbi5zd2lwZXItaG9yaXpvbnRhbCA+IC5zd2lwZXItcGFnaW5hdGlvbi1wcm9ncmVzc2Jhci5zd2lwZXItcGFnaW5hdGlvbi1wcm9ncmVzc2Jhci1vcHBvc2l0ZSxcbi5zd2lwZXItcGFnaW5hdGlvbi1wcm9ncmVzc2Jhci5zd2lwZXItcGFnaW5hdGlvbi1ob3Jpem9udGFsLnN3aXBlci1wYWdpbmF0aW9uLXByb2dyZXNzYmFyLW9wcG9zaXRlIHtcbiAgd2lkdGg6IHZhcigtLXN3aXBlci1wYWdpbmF0aW9uLXByb2dyZXNzYmFyLXNpemUsIDRweCk7XG4gIGhlaWdodDogMTAwJTtcbiAgbGVmdDogMDtcbiAgdG9wOiAwO1xufVxuLnN3aXBlci1wYWdpbmF0aW9uLWxvY2sge1xuICBkaXNwbGF5OiBub25lO1xufVxuOnJvb3Qge1xuICAvKlxuICAtLXN3aXBlci1zY3JvbGxiYXItYm9yZGVyLXJhZGl1czogMTBweDtcbiAgLS1zd2lwZXItc2Nyb2xsYmFyLXRvcDogYXV0bztcbiAgLS1zd2lwZXItc2Nyb2xsYmFyLWJvdHRvbTogNHB4O1xuICAtLXN3aXBlci1zY3JvbGxiYXItbGVmdDogYXV0bztcbiAgLS1zd2lwZXItc2Nyb2xsYmFyLXJpZ2h0OiA0cHg7XG4gIC0tc3dpcGVyLXNjcm9sbGJhci1zaWRlcy1vZmZzZXQ6IDElO1xuICAtLXN3aXBlci1zY3JvbGxiYXItYmctY29sb3I6IHJnYmEoMCwgMCwgMCwgMC4xKTtcbiAgLS1zd2lwZXItc2Nyb2xsYmFyLWRyYWctYmctY29sb3I6IHJnYmEoMCwgMCwgMCwgMC41KTtcbiAgLS1zd2lwZXItc2Nyb2xsYmFyLXNpemU6IDRweDtcbiAgKi9cbn1cbi5zd2lwZXItc2Nyb2xsYmFyIHtcbiAgYm9yZGVyLXJhZGl1czogdmFyKC0tc3dpcGVyLXNjcm9sbGJhci1ib3JkZXItcmFkaXVzLCAxMHB4KTtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAtbXMtdG91Y2gtYWN0aW9uOiBub25lO1xuICBiYWNrZ3JvdW5kOiB2YXIoLS1zd2lwZXItc2Nyb2xsYmFyLWJnLWNvbG9yLCByZ2JhKDAsIDAsIDAsIDAuMSkpO1xufVxuLnN3aXBlci1zY3JvbGxiYXItZGlzYWJsZWQgPiAuc3dpcGVyLXNjcm9sbGJhcixcbi5zd2lwZXItc2Nyb2xsYmFyLnN3aXBlci1zY3JvbGxiYXItZGlzYWJsZWQge1xuICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG59XG4uc3dpcGVyLWhvcml6b250YWwgPiAuc3dpcGVyLXNjcm9sbGJhcixcbi5zd2lwZXItc2Nyb2xsYmFyLnN3aXBlci1zY3JvbGxiYXItaG9yaXpvbnRhbCB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgbGVmdDogdmFyKC0tc3dpcGVyLXNjcm9sbGJhci1zaWRlcy1vZmZzZXQsIDElKTtcbiAgYm90dG9tOiB2YXIoLS1zd2lwZXItc2Nyb2xsYmFyLWJvdHRvbSwgNHB4KTtcbiAgdG9wOiB2YXIoLS1zd2lwZXItc2Nyb2xsYmFyLXRvcCwgYXV0byk7XG4gIHotaW5kZXg6IDUwO1xuICBoZWlnaHQ6IHZhcigtLXN3aXBlci1zY3JvbGxiYXItc2l6ZSwgNHB4KTtcbiAgd2lkdGg6IGNhbGMoMTAwJSAtIDIgKiB2YXIoLS1zd2lwZXItc2Nyb2xsYmFyLXNpZGVzLW9mZnNldCwgMSUpKTtcbn1cbi5zd2lwZXItdmVydGljYWwgPiAuc3dpcGVyLXNjcm9sbGJhcixcbi5zd2lwZXItc2Nyb2xsYmFyLnN3aXBlci1zY3JvbGxiYXItdmVydGljYWwge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGxlZnQ6IHZhcigtLXN3aXBlci1zY3JvbGxiYXItbGVmdCwgYXV0byk7XG4gIHJpZ2h0OiB2YXIoLS1zd2lwZXItc2Nyb2xsYmFyLXJpZ2h0LCA0cHgpO1xuICB0b3A6IHZhcigtLXN3aXBlci1zY3JvbGxiYXItc2lkZXMtb2Zmc2V0LCAxJSk7XG4gIHotaW5kZXg6IDUwO1xuICB3aWR0aDogdmFyKC0tc3dpcGVyLXNjcm9sbGJhci1zaXplLCA0cHgpO1xuICBoZWlnaHQ6IGNhbGMoMTAwJSAtIDIgKiB2YXIoLS1zd2lwZXItc2Nyb2xsYmFyLXNpZGVzLW9mZnNldCwgMSUpKTtcbn1cbi5zd2lwZXItc2Nyb2xsYmFyLWRyYWcge1xuICBoZWlnaHQ6IDEwMCU7XG4gIHdpZHRoOiAxMDAlO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGJhY2tncm91bmQ6IHZhcigtLXN3aXBlci1zY3JvbGxiYXItZHJhZy1iZy1jb2xvciwgcmdiYSgwLCAwLCAwLCAwLjUpKTtcbiAgYm9yZGVyLXJhZGl1czogdmFyKC0tc3dpcGVyLXNjcm9sbGJhci1ib3JkZXItcmFkaXVzLCAxMHB4KTtcbiAgbGVmdDogMDtcbiAgdG9wOiAwO1xufVxuLnN3aXBlci1zY3JvbGxiYXItY3Vyc29yLWRyYWcge1xuICBjdXJzb3I6IG1vdmU7XG59XG4uc3dpcGVyLXNjcm9sbGJhci1sb2NrIHtcbiAgZGlzcGxheTogbm9uZTtcbn1cbi5zd2lwZXItem9vbS1jb250YWluZXIge1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAxMDAlO1xuICBkaXNwbGF5OiBmbGV4O1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xufVxuLnN3aXBlci16b29tLWNvbnRhaW5lciA+IGltZyxcbi5zd2lwZXItem9vbS1jb250YWluZXIgPiBzdmcsXG4uc3dpcGVyLXpvb20tY29udGFpbmVyID4gY2FudmFzIHtcbiAgbWF4LXdpZHRoOiAxMDAlO1xuICBtYXgtaGVpZ2h0OiAxMDAlO1xuICBvYmplY3QtZml0OiBjb250YWluO1xufVxuLnN3aXBlci1zbGlkZS16b29tZWQge1xuICBjdXJzb3I6IG1vdmU7XG4gIHRvdWNoLWFjdGlvbjogbm9uZTtcbn1cbi8qIGExMXkgKi9cbi5zd2lwZXIgLnN3aXBlci1ub3RpZmljYXRpb24sXG5zd2lwZXItY29udGFpbmVyIC5zd2lwZXItbm90aWZpY2F0aW9uIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBsZWZ0OiAwO1xuICB0b3A6IDA7XG4gIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICBvcGFjaXR5OiAwO1xuICB6LWluZGV4OiAtMTAwMDtcbn1cbi5zd2lwZXItZnJlZS1tb2RlID4gLnN3aXBlci13cmFwcGVyIHtcbiAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2Utb3V0O1xuICBtYXJnaW46IDAgYXV0bztcbn1cbi5zd2lwZXItZ3JpZCA+IC5zd2lwZXItd3JhcHBlciB7XG4gIGZsZXgtd3JhcDogd3JhcDtcbn1cbi5zd2lwZXItZ3JpZC1jb2x1bW4gPiAuc3dpcGVyLXdyYXBwZXIge1xuICBmbGV4LXdyYXA6IHdyYXA7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG59XG4uc3dpcGVyLWZhZGUuc3dpcGVyLWZyZWUtbW9kZSAuc3dpcGVyLXNsaWRlIHtcbiAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2Utb3V0O1xufVxuLnN3aXBlci1mYWRlIC5zd2lwZXItc2xpZGUge1xuICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogb3BhY2l0eTtcbn1cbi5zd2lwZXItZmFkZSAuc3dpcGVyLXNsaWRlIC5zd2lwZXItc2xpZGUge1xuICBwb2ludGVyLWV2ZW50czogbm9uZTtcbn1cbi5zd2lwZXItZmFkZSAuc3dpcGVyLXNsaWRlLWFjdGl2ZSxcbi5zd2lwZXItZmFkZSAuc3dpcGVyLXNsaWRlLWFjdGl2ZSAuc3dpcGVyLXNsaWRlLWFjdGl2ZSB7XG4gIHBvaW50ZXItZXZlbnRzOiBhdXRvO1xufVxuLnN3aXBlci1jdWJlIHtcbiAgb3ZlcmZsb3c6IHZpc2libGU7XG59XG4uc3dpcGVyLWN1YmUgLnN3aXBlci1zbGlkZSB7XG4gIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICAtd2Via2l0LWJhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlbjtcbiAgICAgICAgICBiYWNrZmFjZS12aXNpYmlsaXR5OiBoaWRkZW47XG4gIHotaW5kZXg6IDE7XG4gIHZpc2liaWxpdHk6IGhpZGRlbjtcbiAgdHJhbnNmb3JtLW9yaWdpbjogMCAwO1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAxMDAlO1xufVxuLnN3aXBlci1jdWJlIC5zd2lwZXItc2xpZGUgLnN3aXBlci1zbGlkZSB7XG4gIHBvaW50ZXItZXZlbnRzOiBub25lO1xufVxuLnN3aXBlci1jdWJlLnN3aXBlci1ydGwgLnN3aXBlci1zbGlkZSB7XG4gIHRyYW5zZm9ybS1vcmlnaW46IDEwMCUgMDtcbn1cbi5zd2lwZXItY3ViZSAuc3dpcGVyLXNsaWRlLWFjdGl2ZSxcbi5zd2lwZXItY3ViZSAuc3dpcGVyLXNsaWRlLWFjdGl2ZSAuc3dpcGVyLXNsaWRlLWFjdGl2ZSB7XG4gIHBvaW50ZXItZXZlbnRzOiBhdXRvO1xufVxuLnN3aXBlci1jdWJlIC5zd2lwZXItc2xpZGUtYWN0aXZlLFxuLnN3aXBlci1jdWJlIC5zd2lwZXItc2xpZGUtbmV4dCxcbi5zd2lwZXItY3ViZSAuc3dpcGVyLXNsaWRlLXByZXYsXG4uc3dpcGVyLWN1YmUgLnN3aXBlci1zbGlkZS1uZXh0ICsgLnN3aXBlci1zbGlkZSB7XG4gIHBvaW50ZXItZXZlbnRzOiBhdXRvO1xuICB2aXNpYmlsaXR5OiB2aXNpYmxlO1xufVxuLnN3aXBlci1jdWJlIC5zd2lwZXItc2xpZGUtc2hhZG93LXRvcCxcbi5zd2lwZXItY3ViZSAuc3dpcGVyLXNsaWRlLXNoYWRvdy1ib3R0b20sXG4uc3dpcGVyLWN1YmUgLnN3aXBlci1zbGlkZS1zaGFkb3ctbGVmdCxcbi5zd2lwZXItY3ViZSAuc3dpcGVyLXNsaWRlLXNoYWRvdy1yaWdodCB7XG4gIHotaW5kZXg6IDA7XG4gIC13ZWJraXQtYmFja2ZhY2UtdmlzaWJpbGl0eTogaGlkZGVuO1xuICAgICAgICAgIGJhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlbjtcbn1cbi5zd2lwZXItY3ViZSAuc3dpcGVyLWN1YmUtc2hhZG93IHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBsZWZ0OiAwO1xuICBib3R0b206IDBweDtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogMTAwJTtcbiAgb3BhY2l0eTogMC42O1xuICB6LWluZGV4OiAwO1xufVxuLnN3aXBlci1jdWJlIC5zd2lwZXItY3ViZS1zaGFkb3c6YmVmb3JlIHtcbiAgY29udGVudDogJyc7XG4gIGJhY2tncm91bmQ6ICMwMDA7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgbGVmdDogMDtcbiAgdG9wOiAwO1xuICBib3R0b206IDA7XG4gIHJpZ2h0OiAwO1xuICBmaWx0ZXI6IGJsdXIoNTBweCk7XG59XG4uc3dpcGVyLWZsaXAge1xuICBvdmVyZmxvdzogdmlzaWJsZTtcbn1cbi5zd2lwZXItZmxpcCAuc3dpcGVyLXNsaWRlIHtcbiAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gIC13ZWJraXQtYmFja2ZhY2UtdmlzaWJpbGl0eTogaGlkZGVuO1xuICAgICAgICAgIGJhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlbjtcbiAgei1pbmRleDogMTtcbn1cbi5zd2lwZXItZmxpcCAuc3dpcGVyLXNsaWRlIC5zd2lwZXItc2xpZGUge1xuICBwb2ludGVyLWV2ZW50czogbm9uZTtcbn1cbi5zd2lwZXItZmxpcCAuc3dpcGVyLXNsaWRlLWFjdGl2ZSxcbi5zd2lwZXItZmxpcCAuc3dpcGVyLXNsaWRlLWFjdGl2ZSAuc3dpcGVyLXNsaWRlLWFjdGl2ZSB7XG4gIHBvaW50ZXItZXZlbnRzOiBhdXRvO1xufVxuLnN3aXBlci1mbGlwIC5zd2lwZXItc2xpZGUtc2hhZG93LXRvcCxcbi5zd2lwZXItZmxpcCAuc3dpcGVyLXNsaWRlLXNoYWRvdy1ib3R0b20sXG4uc3dpcGVyLWZsaXAgLnN3aXBlci1zbGlkZS1zaGFkb3ctbGVmdCxcbi5zd2lwZXItZmxpcCAuc3dpcGVyLXNsaWRlLXNoYWRvdy1yaWdodCB7XG4gIHotaW5kZXg6IDA7XG4gIC13ZWJraXQtYmFja2ZhY2UtdmlzaWJpbGl0eTogaGlkZGVuO1xuICAgICAgICAgIGJhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlbjtcbn1cbi5zd2lwZXItY3JlYXRpdmUgLnN3aXBlci1zbGlkZSB7XG4gIC13ZWJraXQtYmFja2ZhY2UtdmlzaWJpbGl0eTogaGlkZGVuO1xuICAgICAgICAgIGJhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlbjtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogdHJhbnNmb3JtLCBvcGFjaXR5LCBoZWlnaHQ7XG59XG4uc3dpcGVyLWNhcmRzIHtcbiAgb3ZlcmZsb3c6IHZpc2libGU7XG59XG4uc3dpcGVyLWNhcmRzIC5zd2lwZXItc2xpZGUge1xuICB0cmFuc2Zvcm0tb3JpZ2luOiBjZW50ZXIgYm90dG9tO1xuICAtd2Via2l0LWJhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlbjtcbiAgICAgICAgICBiYWNrZmFjZS12aXNpYmlsaXR5OiBoaWRkZW47XG4gIG92ZXJmbG93OiBoaWRkZW47XG59XG4iLCIuY2hvaWNlc3twb3NpdGlvbjpyZWxhdGl2ZTttYXJnaW4tYm90dG9tOjI0cHg7Zm9udC1zaXplOjE2cHh9LmNob2ljZXM6Zm9jdXN7b3V0bGluZTowfS5jaG9pY2VzOmxhc3QtY2hpbGR7bWFyZ2luLWJvdHRvbTowfS5jaG9pY2VzLmlzLWRpc2FibGVkIC5jaG9pY2VzX19pbm5lciwuY2hvaWNlcy5pcy1kaXNhYmxlZCAuY2hvaWNlc19faW5wdXR7YmFja2dyb3VuZC1jb2xvcjojZWFlYWVhO2N1cnNvcjpub3QtYWxsb3dlZDstd2Via2l0LXVzZXItc2VsZWN0Om5vbmU7LW1zLXVzZXItc2VsZWN0Om5vbmU7dXNlci1zZWxlY3Q6bm9uZX0uY2hvaWNlcy5pcy1kaXNhYmxlZCAuY2hvaWNlc19faXRlbXtjdXJzb3I6bm90LWFsbG93ZWR9LmNob2ljZXMgW2hpZGRlbl17ZGlzcGxheTpub25lIWltcG9ydGFudH0uY2hvaWNlc1tkYXRhLXR5cGUqPXNlbGVjdC1vbmVde2N1cnNvcjpwb2ludGVyfS5jaG9pY2VzW2RhdGEtdHlwZSo9c2VsZWN0LW9uZV0gLmNob2ljZXNfX2lubmVye3BhZGRpbmctYm90dG9tOjcuNXB4fS5jaG9pY2VzW2RhdGEtdHlwZSo9c2VsZWN0LW9uZV0gLmNob2ljZXNfX2lucHV0e2Rpc3BsYXk6YmxvY2s7d2lkdGg6MTAwJTtwYWRkaW5nOjEwcHg7Ym9yZGVyLWJvdHRvbToxcHggc29saWQgI2RkZDtiYWNrZ3JvdW5kLWNvbG9yOiNmZmY7bWFyZ2luOjB9LmNob2ljZXNbZGF0YS10eXBlKj1zZWxlY3Qtb25lXSAuY2hvaWNlc19fYnV0dG9ue2JhY2tncm91bmQtaW1hZ2U6dXJsKGRhdGE6aW1hZ2Uvc3ZnK3htbDtiYXNlNjQsUEhOMlp5QjNhV1IwYUQwaU1qRWlJR2hsYVdkb2REMGlNakVpSUhacFpYZENiM2c5SWpBZ01DQXlNU0F5TVNJZ2VHMXNibk05SW1oMGRIQTZMeTkzZDNjdWR6TXViM0puTHpJd01EQXZjM1puSWo0OFp5Qm1hV3hzUFNJak1EQXdJaUJtYVd4c0xYSjFiR1U5SW1WMlpXNXZaR1FpUGp4d1lYUm9JR1E5SWsweUxqVTVNaTR3TkRSc01UZ3VNelkwSURFNExqTTJOQzB5TGpVME9DQXlMalUwT0V3dU1EUTBJREl1TlRreWVpSXZQanh3WVhSb0lHUTlJazB3SURFNExqTTJORXd4T0M0ek5qUWdNR3d5TGpVME9DQXlMalUwT0V3eUxqVTBPQ0F5TUM0NU1USjZJaTgrUEM5blBqd3ZjM1puUGc9PSk7cGFkZGluZzowO2JhY2tncm91bmQtc2l6ZTo4cHg7cG9zaXRpb246YWJzb2x1dGU7dG9wOjUwJTtyaWdodDowO21hcmdpbi10b3A6LTEwcHg7bWFyZ2luLXJpZ2h0OjI1cHg7aGVpZ2h0OjIwcHg7d2lkdGg6MjBweDtib3JkZXItcmFkaXVzOjEwZW07b3BhY2l0eTouNX0uY2hvaWNlc1tkYXRhLXR5cGUqPXNlbGVjdC1vbmVdIC5jaG9pY2VzX19idXR0b246Zm9jdXMsLmNob2ljZXNbZGF0YS10eXBlKj1zZWxlY3Qtb25lXSAuY2hvaWNlc19fYnV0dG9uOmhvdmVye29wYWNpdHk6MX0uY2hvaWNlc1tkYXRhLXR5cGUqPXNlbGVjdC1vbmVdIC5jaG9pY2VzX19idXR0b246Zm9jdXN7Ym94LXNoYWRvdzowIDAgMCAycHggIzAwYmNkNH0uY2hvaWNlc1tkYXRhLXR5cGUqPXNlbGVjdC1vbmVdIC5jaG9pY2VzX19pdGVtW2RhdGEtdmFsdWU9JyddIC5jaG9pY2VzX19idXR0b257ZGlzcGxheTpub25lfS5jaG9pY2VzW2RhdGEtdHlwZSo9c2VsZWN0LW9uZV06YWZ0ZXJ7Y29udGVudDonJztoZWlnaHQ6MDt3aWR0aDowO2JvcmRlci1zdHlsZTpzb2xpZDtib3JkZXItY29sb3I6IzMzMyB0cmFuc3BhcmVudCB0cmFuc3BhcmVudDtib3JkZXItd2lkdGg6NXB4O3Bvc2l0aW9uOmFic29sdXRlO3JpZ2h0OjExLjVweDt0b3A6NTAlO21hcmdpbi10b3A6LTIuNXB4O3BvaW50ZXItZXZlbnRzOm5vbmV9LmNob2ljZXNbZGF0YS10eXBlKj1zZWxlY3Qtb25lXS5pcy1vcGVuOmFmdGVye2JvcmRlci1jb2xvcjp0cmFuc3BhcmVudCB0cmFuc3BhcmVudCAjMzMzO21hcmdpbi10b3A6LTcuNXB4fS5jaG9pY2VzW2RhdGEtdHlwZSo9c2VsZWN0LW9uZV1bZGlyPXJ0bF06YWZ0ZXJ7bGVmdDoxMS41cHg7cmlnaHQ6YXV0b30uY2hvaWNlc1tkYXRhLXR5cGUqPXNlbGVjdC1vbmVdW2Rpcj1ydGxdIC5jaG9pY2VzX19idXR0b257cmlnaHQ6YXV0bztsZWZ0OjA7bWFyZ2luLWxlZnQ6MjVweDttYXJnaW4tcmlnaHQ6MH0uY2hvaWNlc1tkYXRhLXR5cGUqPXNlbGVjdC1tdWx0aXBsZV0gLmNob2ljZXNfX2lubmVyLC5jaG9pY2VzW2RhdGEtdHlwZSo9dGV4dF0gLmNob2ljZXNfX2lubmVye2N1cnNvcjp0ZXh0fS5jaG9pY2VzW2RhdGEtdHlwZSo9c2VsZWN0LW11bHRpcGxlXSAuY2hvaWNlc19fYnV0dG9uLC5jaG9pY2VzW2RhdGEtdHlwZSo9dGV4dF0gLmNob2ljZXNfX2J1dHRvbntwb3NpdGlvbjpyZWxhdGl2ZTtkaXNwbGF5OmlubGluZS1ibG9jazttYXJnaW46MCAtNHB4IDAgOHB4O3BhZGRpbmctbGVmdDoxNnB4O2JvcmRlci1sZWZ0OjFweCBzb2xpZCAjMDA4ZmExO2JhY2tncm91bmQtaW1hZ2U6dXJsKGRhdGE6aW1hZ2Uvc3ZnK3htbDtiYXNlNjQsUEhOMlp5QjNhV1IwYUQwaU1qRWlJR2hsYVdkb2REMGlNakVpSUhacFpYZENiM2c5SWpBZ01DQXlNU0F5TVNJZ2VHMXNibk05SW1oMGRIQTZMeTkzZDNjdWR6TXViM0puTHpJd01EQXZjM1puSWo0OFp5Qm1hV3hzUFNJalJrWkdJaUJtYVd4c0xYSjFiR1U5SW1WMlpXNXZaR1FpUGp4d1lYUm9JR1E5SWsweUxqVTVNaTR3TkRSc01UZ3VNelkwSURFNExqTTJOQzB5TGpVME9DQXlMalUwT0V3dU1EUTBJREl1TlRreWVpSXZQanh3WVhSb0lHUTlJazB3SURFNExqTTJORXd4T0M0ek5qUWdNR3d5TGpVME9DQXlMalUwT0V3eUxqVTBPQ0F5TUM0NU1USjZJaTgrUEM5blBqd3ZjM1puUGc9PSk7YmFja2dyb3VuZC1zaXplOjhweDt3aWR0aDo4cHg7bGluZS1oZWlnaHQ6MTtvcGFjaXR5Oi43NTtib3JkZXItcmFkaXVzOjB9LmNob2ljZXNbZGF0YS10eXBlKj1zZWxlY3QtbXVsdGlwbGVdIC5jaG9pY2VzX19idXR0b246Zm9jdXMsLmNob2ljZXNbZGF0YS10eXBlKj1zZWxlY3QtbXVsdGlwbGVdIC5jaG9pY2VzX19idXR0b246aG92ZXIsLmNob2ljZXNbZGF0YS10eXBlKj10ZXh0XSAuY2hvaWNlc19fYnV0dG9uOmZvY3VzLC5jaG9pY2VzW2RhdGEtdHlwZSo9dGV4dF0gLmNob2ljZXNfX2J1dHRvbjpob3ZlcntvcGFjaXR5OjF9LmNob2ljZXNfX2lubmVye2Rpc3BsYXk6aW5saW5lLWJsb2NrO3ZlcnRpY2FsLWFsaWduOnRvcDt3aWR0aDoxMDAlO2JhY2tncm91bmQtY29sb3I6I2Y5ZjlmOTtwYWRkaW5nOjcuNXB4IDcuNXB4IDMuNzVweDtib3JkZXI6MXB4IHNvbGlkICNkZGQ7Ym9yZGVyLXJhZGl1czoyLjVweDtmb250LXNpemU6MTRweDttaW4taGVpZ2h0OjQ0cHg7b3ZlcmZsb3c6aGlkZGVufS5pcy1mb2N1c2VkIC5jaG9pY2VzX19pbm5lciwuaXMtb3BlbiAuY2hvaWNlc19faW5uZXJ7Ym9yZGVyLWNvbG9yOiNiN2I3Yjd9LmlzLW9wZW4gLmNob2ljZXNfX2lubmVye2JvcmRlci1yYWRpdXM6Mi41cHggMi41cHggMCAwfS5pcy1mbGlwcGVkLmlzLW9wZW4gLmNob2ljZXNfX2lubmVye2JvcmRlci1yYWRpdXM6MCAwIDIuNXB4IDIuNXB4fS5jaG9pY2VzX19saXN0e21hcmdpbjowO3BhZGRpbmctbGVmdDowO2xpc3Qtc3R5bGU6bm9uZX0uY2hvaWNlc19fbGlzdC0tc2luZ2xle2Rpc3BsYXk6aW5saW5lLWJsb2NrO3BhZGRpbmc6NHB4IDE2cHggNHB4IDRweDt3aWR0aDoxMDAlfVtkaXI9cnRsXSAuY2hvaWNlc19fbGlzdC0tc2luZ2xle3BhZGRpbmctcmlnaHQ6NHB4O3BhZGRpbmctbGVmdDoxNnB4fS5jaG9pY2VzX19saXN0LS1zaW5nbGUgLmNob2ljZXNfX2l0ZW17d2lkdGg6MTAwJX0uY2hvaWNlc19fbGlzdC0tbXVsdGlwbGV7ZGlzcGxheTppbmxpbmV9LmNob2ljZXNfX2xpc3QtLW11bHRpcGxlIC5jaG9pY2VzX19pdGVte2Rpc3BsYXk6aW5saW5lLWJsb2NrO3ZlcnRpY2FsLWFsaWduOm1pZGRsZTtib3JkZXItcmFkaXVzOjIwcHg7cGFkZGluZzo0cHggMTBweDtmb250LXNpemU6MTJweDtmb250LXdlaWdodDo1MDA7bWFyZ2luLXJpZ2h0OjMuNzVweDttYXJnaW4tYm90dG9tOjMuNzVweDtiYWNrZ3JvdW5kLWNvbG9yOiMwMGJjZDQ7Ym9yZGVyOjFweCBzb2xpZCAjMDBhNWJiO2NvbG9yOiNmZmY7d29yZC1icmVhazpicmVhay1hbGw7Ym94LXNpemluZzpib3JkZXItYm94fS5jaG9pY2VzX19saXN0LS1tdWx0aXBsZSAuY2hvaWNlc19faXRlbVtkYXRhLWRlbGV0YWJsZV17cGFkZGluZy1yaWdodDo1cHh9W2Rpcj1ydGxdIC5jaG9pY2VzX19saXN0LS1tdWx0aXBsZSAuY2hvaWNlc19faXRlbXttYXJnaW4tcmlnaHQ6MDttYXJnaW4tbGVmdDozLjc1cHh9LmNob2ljZXNfX2xpc3QtLW11bHRpcGxlIC5jaG9pY2VzX19pdGVtLmlzLWhpZ2hsaWdodGVke2JhY2tncm91bmQtY29sb3I6IzAwYTViYjtib3JkZXI6MXB4IHNvbGlkICMwMDhmYTF9LmlzLWRpc2FibGVkIC5jaG9pY2VzX19saXN0LS1tdWx0aXBsZSAuY2hvaWNlc19faXRlbXtiYWNrZ3JvdW5kLWNvbG9yOiNhYWE7Ym9yZGVyOjFweCBzb2xpZCAjOTE5MTkxfS5jaG9pY2VzX19saXN0LS1kcm9wZG93bnt2aXNpYmlsaXR5OmhpZGRlbjt6LWluZGV4OjE7cG9zaXRpb246YWJzb2x1dGU7d2lkdGg6MTAwJTtiYWNrZ3JvdW5kLWNvbG9yOiNmZmY7Ym9yZGVyOjFweCBzb2xpZCAjZGRkO3RvcDoxMDAlO21hcmdpbi10b3A6LTFweDtib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzOjIuNXB4O2JvcmRlci1ib3R0b20tcmlnaHQtcmFkaXVzOjIuNXB4O292ZXJmbG93OmhpZGRlbjt3b3JkLWJyZWFrOmJyZWFrLWFsbDt3aWxsLWNoYW5nZTp2aXNpYmlsaXR5fS5jaG9pY2VzX19saXN0LS1kcm9wZG93bi5pcy1hY3RpdmV7dmlzaWJpbGl0eTp2aXNpYmxlfS5pcy1vcGVuIC5jaG9pY2VzX19saXN0LS1kcm9wZG93bntib3JkZXItY29sb3I6I2I3YjdiN30uaXMtZmxpcHBlZCAuY2hvaWNlc19fbGlzdC0tZHJvcGRvd257dG9wOmF1dG87Ym90dG9tOjEwMCU7bWFyZ2luLXRvcDowO21hcmdpbi1ib3R0b206LTFweDtib3JkZXItcmFkaXVzOi4yNXJlbSAuMjVyZW0gMCAwfS5jaG9pY2VzX19saXN0LS1kcm9wZG93biAuY2hvaWNlc19fbGlzdHtwb3NpdGlvbjpyZWxhdGl2ZTttYXgtaGVpZ2h0OjMwMHB4O292ZXJmbG93OmF1dG87LXdlYmtpdC1vdmVyZmxvdy1zY3JvbGxpbmc6dG91Y2g7d2lsbC1jaGFuZ2U6c2Nyb2xsLXBvc2l0aW9ufS5jaG9pY2VzX19saXN0LS1kcm9wZG93biAuY2hvaWNlc19faXRlbXtwb3NpdGlvbjpyZWxhdGl2ZTtwYWRkaW5nOjEwcHg7Zm9udC1zaXplOjE0cHh9W2Rpcj1ydGxdIC5jaG9pY2VzX19saXN0LS1kcm9wZG93biAuY2hvaWNlc19faXRlbXt0ZXh0LWFsaWduOnJpZ2h0fUBtZWRpYSAobWluLXdpZHRoOjY0MHB4KXsuY2hvaWNlc19fbGlzdC0tZHJvcGRvd24gLmNob2ljZXNfX2l0ZW0tLXNlbGVjdGFibGV7cGFkZGluZy1yaWdodDoxMDBweH0uY2hvaWNlc19fbGlzdC0tZHJvcGRvd24gLmNob2ljZXNfX2l0ZW0tLXNlbGVjdGFibGU6YWZ0ZXJ7Y29udGVudDphdHRyKGRhdGEtc2VsZWN0LXRleHQpO2ZvbnQtc2l6ZToxMnB4O29wYWNpdHk6MDtwb3NpdGlvbjphYnNvbHV0ZTtyaWdodDoxMHB4O3RvcDo1MCU7dHJhbnNmb3JtOnRyYW5zbGF0ZVkoLTUwJSl9W2Rpcj1ydGxdIC5jaG9pY2VzX19saXN0LS1kcm9wZG93biAuY2hvaWNlc19faXRlbS0tc2VsZWN0YWJsZXt0ZXh0LWFsaWduOnJpZ2h0O3BhZGRpbmctbGVmdDoxMDBweDtwYWRkaW5nLXJpZ2h0OjEwcHh9W2Rpcj1ydGxdIC5jaG9pY2VzX19saXN0LS1kcm9wZG93biAuY2hvaWNlc19faXRlbS0tc2VsZWN0YWJsZTphZnRlcntyaWdodDphdXRvO2xlZnQ6MTBweH19LmNob2ljZXNfX2xpc3QtLWRyb3Bkb3duIC5jaG9pY2VzX19pdGVtLS1zZWxlY3RhYmxlLmlzLWhpZ2hsaWdodGVke2JhY2tncm91bmQtY29sb3I6I2YyZjJmMn0uY2hvaWNlc19fbGlzdC0tZHJvcGRvd24gLmNob2ljZXNfX2l0ZW0tLXNlbGVjdGFibGUuaXMtaGlnaGxpZ2h0ZWQ6YWZ0ZXJ7b3BhY2l0eTouNX0uY2hvaWNlc19faXRlbXtjdXJzb3I6ZGVmYXVsdH0uY2hvaWNlc19faXRlbS0tc2VsZWN0YWJsZXtjdXJzb3I6cG9pbnRlcn0uY2hvaWNlc19faXRlbS0tZGlzYWJsZWR7Y3Vyc29yOm5vdC1hbGxvd2VkOy13ZWJraXQtdXNlci1zZWxlY3Q6bm9uZTstbXMtdXNlci1zZWxlY3Q6bm9uZTt1c2VyLXNlbGVjdDpub25lO29wYWNpdHk6LjV9LmNob2ljZXNfX2hlYWRpbmd7Zm9udC13ZWlnaHQ6NjAwO2ZvbnQtc2l6ZToxMnB4O3BhZGRpbmc6MTBweDtib3JkZXItYm90dG9tOjFweCBzb2xpZCAjZjdmN2Y3O2NvbG9yOmdyYXl9LmNob2ljZXNfX2J1dHRvbnt0ZXh0LWluZGVudDotOTk5OXB4Oy13ZWJraXQtYXBwZWFyYW5jZTpub25lOy1tb3otYXBwZWFyYW5jZTpub25lO2FwcGVhcmFuY2U6bm9uZTtib3JkZXI6MDtiYWNrZ3JvdW5kLWNvbG9yOnRyYW5zcGFyZW50O2JhY2tncm91bmQtcmVwZWF0Om5vLXJlcGVhdDtiYWNrZ3JvdW5kLXBvc2l0aW9uOmNlbnRlcjtjdXJzb3I6cG9pbnRlcn0uY2hvaWNlc19fYnV0dG9uOmZvY3VzLC5jaG9pY2VzX19pbnB1dDpmb2N1c3tvdXRsaW5lOjB9LmNob2ljZXNfX2lucHV0e2Rpc3BsYXk6aW5saW5lLWJsb2NrO3ZlcnRpY2FsLWFsaWduOmJhc2VsaW5lO2JhY2tncm91bmQtY29sb3I6I2Y5ZjlmOTtmb250LXNpemU6MTRweDttYXJnaW4tYm90dG9tOjVweDtib3JkZXI6MDtib3JkZXItcmFkaXVzOjA7bWF4LXdpZHRoOjEwMCU7cGFkZGluZzo0cHggMCA0cHggMnB4fVtkaXI9cnRsXSAuY2hvaWNlc19faW5wdXR7cGFkZGluZy1yaWdodDoycHg7cGFkZGluZy1sZWZ0OjB9LmNob2ljZXNfX3BsYWNlaG9sZGVye29wYWNpdHk6LjV9IiwiLyoqXG4gKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gKiBVbi50aXRsZWRcbiAqIE1haW4gLSBHbG9iYWxcbiAqIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAqL1xuXG4vKipcbiAqIERlcGVuZGVuY2llc1xuICovXG5AaW1wb3J0ICd+c3dpcGVyL3N3aXBlci1idW5kbGUuY3NzJztcbkBpbXBvcnQgJ35iYWd1ZXR0ZWJveC5qcy9zcmMvYmFndWV0dGVCb3gnO1xuQGltcG9ydCAnfmluY2x1ZGUtbWVkaWEvZGlzdC9faW5jbHVkZS1tZWRpYSc7XG5AaW1wb3J0ICd+bm9ybWFsaXplLnNjc3Mvbm9ybWFsaXplLnNjc3MnO1xuQGltcG9ydCAnfnJlZmxleC1ncmlkL3Njc3MvcmVmbGV4LnNjc3MnO1xuQGltcG9ydCAnfmNob2ljZXMuanMvcHVibGljL2Fzc2V0cy9zdHlsZXMvY2hvaWNlcy5taW4uY3NzJztcblxuLyoqXG4gKiBDb25maWdcbiAqL1xuQGltcG9ydCAnY29uZmlnL2ZvbnRzJztcbkBpbXBvcnQgJ2NvbmZpZy92YXJzJztcblxuLyoqXG4gKiBIZWxwZXJzXG4gKi9cbkBpbXBvcnQgJ2hlbHBlcnMvZm9jdXMtdmlzaWJsZSc7XG5AaW1wb3J0ICdoZWxwZXJzL2ZvbnQtc21vb3RoaW5nJztcbkBpbXBvcnQgJ2hlbHBlcnMvbWl4aW5zJztcbkBpbXBvcnQgJ2hlbHBlcnMvdGFibGUnO1xuQGltcG9ydCAnaGVscGVycy9oZWxwZXJzJztcblxuLyoqXG4gKiBCYXNlXG4gKi9cbkBpbXBvcnQgJ2Jhc2UvZGVmYXVsdHMnO1xuQGltcG9ydCAnYmFzZS90eXBvZ3JhcGh5JztcbkBpbXBvcnQgJ2Jhc2UvZHJ1cGFsOCc7XG5AaW1wb3J0ICdiYXNlL21haW4nO1xuQGltcG9ydCAnYmFzZS9hbmltYXRpb25zJztcblxuLyoqXG4qIEF0b21zXG4qL1xuQGltcG9ydCAnYXRvbXMvZ3JpZCc7XG5AaW1wb3J0ICdhdG9tcy9uYXYtdG9nZ2xlJztcbkBpbXBvcnQgJ2F0b21zL2J1dHRvbnMnO1xuQGltcG9ydCAnYXRvbXMvaW1hZ2UtY3JlZGl0JztcbkBpbXBvcnQgJ2F0b21zL2JyZWFkY3J1bWJzJztcbkBpbXBvcnQgJ2F0b21zL3NlYXJjaC1idXR0b24nO1xuXG4vKipcbiAqIE1vbGVjdWxlc1xuICovXG5AaW1wb3J0ICdtb2xlY3VsZXMvZW1tc2cnO1xuQGltcG9ydCAnbW9sZWN1bGVzL2VudGl0eSc7XG5AaW1wb3J0ICdtb2xlY3VsZXMvZm9ybXMnO1xuQGltcG9ydCAnbW9sZWN1bGVzL25hdic7XG5AaW1wb3J0ICdtb2xlY3VsZXMvYmFubmVyJztcbkBpbXBvcnQgJ21vbGVjdWxlcy9iYW5uZXItc2xpZGVyJztcbkBpbXBvcnQgJ21vbGVjdWxlcy9saW5rZWQtbG9nb3MnO1xuQGltcG9ydCAnbW9sZWN1bGVzL3NvY2lhbC1saW5rcyc7XG5AaW1wb3J0ICdtb2xlY3VsZXMvZGF0ZXBpY2tlcic7XG5AaW1wb3J0ICdtb2xlY3VsZXMvcG9wdXAnO1xuQGltcG9ydCAnbW9sZWN1bGVzL2FyY2hpdmUnO1xuQGltcG9ydCAnbW9sZWN1bGVzL3Bob3Rvc3dpcGUnO1xuXG4vKipcbiAqIE9yZ2FuaXNpbXNcbiAqL1xuQGltcG9ydCAnb3JnYW5pc21zL2hlYWRlcic7XG5AaW1wb3J0ICdvcmdhbmlzbXMvZm9vdGVyJztcbkBpbXBvcnQgJ29yZ2FuaXNtcy92aWV3cyc7XG5AaW1wb3J0ICdvcmdhbmlzbXMvc2VhcmNoLXJlc3VsdHMnO1xuQGltcG9ydCAnb3JnYW5pc21zL3NpZGViYXInO1xuQGltcG9ydCAnb3JnYW5pc21zL3RlYXNlcic7XG5AaW1wb3J0ICdvcmdhbmlzbXMvc2VhcmNoJztcbkBpbXBvcnQgJ29yZ2FuaXNtcy93aGF0cy1vbic7XG5AaW1wb3J0ICdvcmdhbmlzbXMvc2Vhc29uJztcblxuLyoqXG4gKiBUZW1wbGF0ZXNcbiAqL1xuIiwiLyohXG4gKiBiYWd1ZXR0ZUJveC5qc1xuICogQGF1dGhvciAgZmVpbW9zaVxuICogQHZlcnNpb24gJSVJTkpFQ1RfVkVSU0lPTiUlXG4gKiBAdXJsIGh0dHBzOi8vZ2l0aHViLmNvbS9mZWltb3NpL2JhZ3VldHRlQm94LmpzXG4gKi9cblxuI2JhZ3VldHRlQm94LW92ZXJsYXkge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgb3BhY2l0eTogMDtcbiAgICBwb3NpdGlvbjogZml4ZWQ7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICB0b3A6IDA7XG4gICAgbGVmdDogMDtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgei1pbmRleDogMTAwMDAwMDtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMjIyO1xuICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMCwwLDAsLjgpO1xuICAgIHRyYW5zaXRpb246IG9wYWNpdHkgLjVzIGVhc2U7XG5cbiAgICAmLnZpc2libGUge1xuICAgICAgICBvcGFjaXR5OiAxO1xuICAgIH1cblxuICAgIC5mdWxsLWltYWdlIHtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcblxuICAgICAgICBmaWd1cmUge1xuICAgICAgICAgICAgZGlzcGxheTogaW5saW5lO1xuICAgICAgICAgICAgbWFyZ2luOiAwOyAgICAgIC8vIG5lZWRlZCBmb3IgbW9iaWxlXG4gICAgICAgICAgICBoZWlnaHQ6IDEwMCU7ICAgLy8gT3BlcmEgMTIgaW1hZ2Ugc3RyZXRjaGluZyBmaXhcbiAgICAgICAgfVxuXG4gICAgICAgIGltZyB7XG4gICAgICAgICAgICAvLyBJRTggZml4XG4gICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgICAgICB3aWR0aDogYXV0bztcbiAgICAgICAgICAgIGhlaWdodDogYXV0bztcblxuICAgICAgICAgICAgbWF4LWhlaWdodDogMTAwJTtcbiAgICAgICAgICAgIG1heC13aWR0aDogMTAwJTtcbiAgICAgICAgICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gICAgICAgICAgICBib3gtc2hhZG93OiAwIDAgOHB4IHJnYmEoMCwwLDAsLjYpO1xuICAgICAgICB9XG5cbiAgICAgICAgZmlnY2FwdGlvbiB7XG4gICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgIGJvdHRvbTogMDtcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDEuODtcbiAgICAgICAgICAgIHdoaXRlLXNwYWNlOiBub3JtYWw7XG4gICAgICAgICAgICBjb2xvcjogI2NjYztcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICMwMDA7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDAsMCwwLC42KTtcbiAgICAgICAgICAgIGZvbnQtZmFtaWx5OiBzYW5zLXNlcmlmO1xuICAgICAgICB9XG5cbiAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgICAgY29udGVudDogXCJcIjtcbiAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgICAgIGhlaWdodDogNTAlO1xuICAgICAgICAgICAgd2lkdGg6IDFweDtcbiAgICAgICAgICAgIG1hcmdpbi1yaWdodDotMXB4O1xuICAgICAgICB9XG4gICAgfVxufVxuXG4jYmFndWV0dGVCb3gtc2xpZGVyIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgbGVmdDogMDtcbiAgICB0b3A6IDA7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gICAgdHJhbnNpdGlvbjogbGVmdCAuNHMgZWFzZSwgdHJhbnNmb3JtIC40cyBlYXNlO1xuXG4gICAgJi5ib3VuY2UtZnJvbS1yaWdodCB7XG4gICAgICAgIGFuaW1hdGlvbjogYm91bmNlRnJvbVJpZ2h0IC40cyBlYXNlLW91dDtcbiAgICB9XG5cbiAgICAmLmJvdW5jZS1mcm9tLWxlZnQge1xuICAgICAgICBhbmltYXRpb246IGJvdW5jZUZyb21MZWZ0IC40cyBlYXNlLW91dDtcbiAgICB9XG59XG5cbkBrZXlmcmFtZXMgYm91bmNlRnJvbVJpZ2h0e1xuICAgIDAlIHsgbWFyZ2luLWxlZnQ6IDA7IH1cbiAgICA1MCUgeyBtYXJnaW4tbGVmdDogLTMwcHg7IH1cbiAgICAxMDAlIHsgbWFyZ2luLWxlZnQ6IDA7IH1cbn1cblxuQGtleWZyYW1lcyBib3VuY2VGcm9tTGVmdHtcbiAgICAwJSB7IG1hcmdpbi1sZWZ0OiAwOyB9XG4gICAgNTAlIHsgbWFyZ2luLWxlZnQ6IDMwcHg7IH1cbiAgICAxMDAlIHsgbWFyZ2luLWxlZnQ6IDA7IH1cbn1cblxuJWFycm93LWJ1dHRvbiB7XG4gICAgdG9wOiA1MCU7XG4gICAgdG9wOiBjYWxjKDUwJSAtIDMwcHgpO1xuICAgIHdpZHRoOiA0NHB4O1xuICAgIGhlaWdodDogNjBweDtcbn1cblxuLmJhZ3VldHRlQm94LWJ1dHRvbiB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICBvdXRsaW5lOiBub25lO1xuICAgIHBhZGRpbmc6IDA7XG4gICAgbWFyZ2luOiAwO1xuICAgIGJvcmRlcjogMDtcbiAgICBib3JkZXItcmFkaXVzOiAxNSU7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzMyMzIzMjtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDUwLDUwLDUwLC41KTtcbiAgICBjb2xvcjogI2RkZDtcbiAgICBmb250OiAxLjZlbSBzYW5zLXNlcmlmO1xuICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgLjRzIGVhc2U7XG5cbiAgICAmOmZvY3VzLFxuICAgICY6aG92ZXIge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDUwLDUwLDUwLC45KTtcbiAgICB9XG5cbiAgICAmI25leHQtYnV0dG9uIHtcbiAgICAgICAgQGV4dGVuZCAlYXJyb3ctYnV0dG9uO1xuICAgICAgICByaWdodDogMiU7XG4gICAgfVxuXG4gICAgJiNwcmV2aW91cy1idXR0b24ge1xuICAgICAgICBAZXh0ZW5kICVhcnJvdy1idXR0b247XG4gICAgICAgIGxlZnQ6IDIlO1xuICAgIH1cblxuICAgICYjY2xvc2UtYnV0dG9uIHtcbiAgICAgICAgdG9wOiAyMHB4O1xuICAgICAgICByaWdodDogMiU7XG4gICAgICAgIHJpZ2h0OiBjYWxjKDIlICsgNnB4KTtcbiAgICAgICAgd2lkdGg6IDMwcHg7XG4gICAgICAgIGhlaWdodDogMzBweDtcbiAgICB9XG5cbiAgICAvLyBGaXJlZm94IGZpeFxuICAgIHN2ZyB7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgbGVmdDogMDtcbiAgICAgICAgdG9wOiAwO1xuICAgIH1cbn1cblxuLypcbiAgICBQcmVsb2FkZXJcbiAgICBCb3Jyb3dlZCBmcm9tIGh0dHA6Ly90b2JpYXNhaGxpbi5jb20vc3BpbmtpdC9cbiovXG5cbi5iYWd1ZXR0ZUJveC1zcGlubmVyIHtcbiAgICB3aWR0aDogNDBweDtcbiAgICBoZWlnaHQ6IDQwcHg7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDUwJTtcbiAgICBsZWZ0OiA1MCU7XG4gICAgbWFyZ2luLXRvcDogLTIwcHg7XG4gICAgbWFyZ2luLWxlZnQ6IC0yMHB4O1xufVxuXG4uYmFndWV0dGVCb3gtZG91YmxlLWJvdW5jZTEsXG4uYmFndWV0dGVCb3gtZG91YmxlLWJvdW5jZTIge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogMTAwJTtcbiAgICBib3JkZXItcmFkaXVzOiA1MCU7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjtcbiAgICBvcGFjaXR5OiAuNjtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAwO1xuICAgIGxlZnQ6IDA7XG4gICAgYW5pbWF0aW9uOiBib3VuY2UgMnMgaW5maW5pdGUgZWFzZS1pbi1vdXQ7XG59XG5cbi5iYWd1ZXR0ZUJveC1kb3VibGUtYm91bmNlMiB7XG4gICAgYW5pbWF0aW9uLWRlbGF5OiAtMXM7XG59XG5cbkBrZXlmcmFtZXMgYm91bmNlIHtcbiAgICAwJSwgMTAwJSB7XG4gICAgICAgIHRyYW5zZm9ybTogc2NhbGUoMCk7XG4gICAgfSA1MCUge1xuICAgICAgICB0cmFuc2Zvcm06IHNjYWxlKDEpO1xuICAgIH1cbn1cbiIsIi8qISBub3JtYWxpemUuc2NzcyB2MC4xLjAgfCBNSVQgTGljZW5zZSB8IGJhc2VkIG9uIGdpdC5pby9ub3JtYWxpemUgKi9cblxuLyoqXG4gKiAxLiBTZXQgZGVmYXVsdCBmb250IGZhbWlseSB0byBzYW5zLXNlcmlmLlxuICogMi4gUHJldmVudCBpT1MgdGV4dCBzaXplIGFkanVzdCBhZnRlciBvcmllbnRhdGlvbiBjaGFuZ2UsIHdpdGhvdXQgZGlzYWJsaW5nXG4gKiAgICB1c2VyIHpvb20uXG4gKi9cblxuaHRtbCB7XG4gIGZvbnQtZmFtaWx5OiBzYW5zLXNlcmlmOyAvKiAxICovXG4gIC1tcy10ZXh0LXNpemUtYWRqdXN0OiAxMDAlOyAvKiAyICovXG4gIC13ZWJraXQtdGV4dC1zaXplLWFkanVzdDogMTAwJTsgLyogMiAqL1xufVxuXG4vKipcbiAqIFJlbW92ZSBkZWZhdWx0IG1hcmdpbi5cbiAqL1xuXG5ib2R5IHtcbiAgbWFyZ2luOiAwO1xufVxuXG4vKiBIVE1MNSBkaXNwbGF5IGRlZmluaXRpb25zXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKipcbiAqIENvcnJlY3QgYGJsb2NrYCBkaXNwbGF5IG5vdCBkZWZpbmVkIGZvciBhbnkgSFRNTDUgZWxlbWVudCBpbiBJRSA4LzkuXG4gKiBDb3JyZWN0IGBibG9ja2AgZGlzcGxheSBub3QgZGVmaW5lZCBmb3IgYGRldGFpbHNgIG9yIGBzdW1tYXJ5YCBpbiBJRSAxMC8xMVxuICogYW5kIEZpcmVmb3guXG4gKiBDb3JyZWN0IGBibG9ja2AgZGlzcGxheSBub3QgZGVmaW5lZCBmb3IgYG1haW5gIGluIElFIDExLlxuICovXG5cbmFydGljbGUsXG5hc2lkZSxcbmRldGFpbHMsXG5maWdjYXB0aW9uLFxuZmlndXJlLFxuZm9vdGVyLFxuaGVhZGVyLFxuaGdyb3VwLFxubWFpbixcbm1lbnUsXG5uYXYsXG5zZWN0aW9uLFxuc3VtbWFyeSB7XG4gIGRpc3BsYXk6IGJsb2NrO1xufVxuXG4vKipcbiAqIDEuIENvcnJlY3QgYGlubGluZS1ibG9ja2AgZGlzcGxheSBub3QgZGVmaW5lZCBpbiBJRSA4LzkuXG4gKiAyLiBOb3JtYWxpemUgdmVydGljYWwgYWxpZ25tZW50IG9mIGBwcm9ncmVzc2AgaW4gQ2hyb21lLCBGaXJlZm94LCBhbmQgT3BlcmEuXG4gKi9cblxuYXVkaW8sXG5jYW52YXMsXG5wcm9ncmVzcyxcbnZpZGVvIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrOyAvKiAxICovXG4gIHZlcnRpY2FsLWFsaWduOiBiYXNlbGluZTsgLyogMiAqL1xufVxuXG4vKipcbiAqIFByZXZlbnQgbW9kZXJuIGJyb3dzZXJzIGZyb20gZGlzcGxheWluZyBgYXVkaW9gIHdpdGhvdXQgY29udHJvbHMuXG4gKiBSZW1vdmUgZXhjZXNzIGhlaWdodCBpbiBpT1MgNSBkZXZpY2VzLlxuICovXG5cbmF1ZGlvOm5vdChbY29udHJvbHNdKSB7XG4gIGRpc3BsYXk6IG5vbmU7XG4gIGhlaWdodDogMDtcbn1cblxuLyoqXG4gKiBBZGRyZXNzIGBbaGlkZGVuXWAgc3R5bGluZyBub3QgcHJlc2VudCBpbiBJRSA4LzkvMTAuXG4gKiBIaWRlIHRoZSBgdGVtcGxhdGVgIGVsZW1lbnQgaW4gSUUgOC85LzExLCBTYWZhcmksIGFuZCBGaXJlZm94IDwgMjIuXG4gKi9cblxuW2hpZGRlbl0sXG50ZW1wbGF0ZSB7XG4gIGRpc3BsYXk6IG5vbmU7XG59XG5cbi8qIExpbmtzXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKipcbiAqIFJlbW92ZSB0aGUgZ3JheSBiYWNrZ3JvdW5kIGNvbG9yIGZyb20gYWN0aXZlIGxpbmtzIGluIElFIDEwLlxuICovXG5cbmEge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbn1cblxuLyoqXG4gKiBJbXByb3ZlIHJlYWRhYmlsaXR5IHdoZW4gZm9jdXNlZCBhbmQgYWxzbyBtb3VzZSBob3ZlcmVkIGluIGFsbCBicm93c2Vycy5cbiAqL1xuXG5hOmFjdGl2ZSxcbmE6aG92ZXIge1xuICBvdXRsaW5lOiAwO1xufVxuXG4vKiBUZXh0LWxldmVsIHNlbWFudGljc1xuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLyoqXG4gKiBBZGRyZXNzIHN0eWxpbmcgbm90IHByZXNlbnQgaW4gSUUgOC85LzEwLzExLCBTYWZhcmksIGFuZCBDaHJvbWUuXG4gKi9cblxuYWJiclt0aXRsZV0ge1xuICBib3JkZXItYm90dG9tOiAxcHggZG90dGVkO1xufVxuXG4vKipcbiAqIEFkZHJlc3Mgc3R5bGUgc2V0IHRvIGBib2xkZXJgIGluIEZpcmVmb3ggNCssIFNhZmFyaSwgYW5kIENocm9tZS5cbiAqL1xuXG5iLFxuc3Ryb25nIHtcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7XG59XG5cbi8qKlxuICogQWRkcmVzcyBzdHlsaW5nIG5vdCBwcmVzZW50IGluIFNhZmFyaSBhbmQgQ2hyb21lLlxuICovXG5cbmRmbiB7XG4gIGZvbnQtc3R5bGU6IGl0YWxpYztcbn1cblxuLyoqXG4gKiBBZGRyZXNzIHZhcmlhYmxlIGBoMWAgZm9udC1zaXplIGFuZCBtYXJnaW4gd2l0aGluIGBzZWN0aW9uYCBhbmQgYGFydGljbGVgXG4gKiBjb250ZXh0cyBpbiBGaXJlZm94IDQrLCBTYWZhcmksIGFuZCBDaHJvbWUuXG4gKi9cblxuaDEge1xuICBmb250LXNpemU6IDJlbTtcbiAgbWFyZ2luOiAwLjY3ZW0gMDtcbn1cblxuLyoqXG4gKiBBZGRyZXNzIHN0eWxpbmcgbm90IHByZXNlbnQgaW4gSUUgOC85LlxuICovXG5cbm1hcmsge1xuICBiYWNrZ3JvdW5kOiAjZmYwO1xuICBjb2xvcjogIzAwMDtcbn1cblxuLyoqXG4gKiBBZGRyZXNzIGluY29uc2lzdGVudCBhbmQgdmFyaWFibGUgZm9udCBzaXplIGluIGFsbCBicm93c2Vycy5cbiAqL1xuXG5zbWFsbCB7XG4gIGZvbnQtc2l6ZTogODAlO1xufVxuXG4vKipcbiAqIFByZXZlbnQgYHN1YmAgYW5kIGBzdXBgIGFmZmVjdGluZyBgbGluZS1oZWlnaHRgIGluIGFsbCBicm93c2Vycy5cbiAqL1xuXG5zdWIsXG5zdXAge1xuICBmb250LXNpemU6IDc1JTtcbiAgbGluZS1oZWlnaHQ6IDA7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgdmVydGljYWwtYWxpZ246IGJhc2VsaW5lO1xufVxuXG5zdXAge1xuICB0b3A6IC0wLjVlbTtcbn1cblxuc3ViIHtcbiAgYm90dG9tOiAtMC4yNWVtO1xufVxuXG4vKiBFbWJlZGRlZCBjb250ZW50XG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKipcbiAqIFJlbW92ZSBib3JkZXIgd2hlbiBpbnNpZGUgYGFgIGVsZW1lbnQgaW4gSUUgOC85LzEwLlxuICovXG5cbmltZyB7XG4gIGJvcmRlcjogMDtcbn1cblxuLyoqXG4gKiBDb3JyZWN0IG92ZXJmbG93IG5vdCBoaWRkZW4gaW4gSUUgOS8xMC8xMS5cbiAqL1xuXG5zdmc6bm90KDpyb290KSB7XG4gIG92ZXJmbG93OiBoaWRkZW47XG59XG5cbi8qIEdyb3VwaW5nIGNvbnRlbnRcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qKlxuICogQWRkcmVzcyBtYXJnaW4gbm90IHByZXNlbnQgaW4gSUUgOC85IGFuZCBTYWZhcmkuXG4gKi9cblxuZmlndXJlIHtcbiAgbWFyZ2luOiAxZW0gNDBweDtcbn1cblxuLyoqXG4gKiBBZGRyZXNzIGRpZmZlcmVuY2VzIGJldHdlZW4gRmlyZWZveCBhbmQgb3RoZXIgYnJvd3NlcnMuXG4gKi9cblxuaHIge1xuICAtbW96LWJveC1zaXppbmc6IGNvbnRlbnQtYm94O1xuICBib3gtc2l6aW5nOiBjb250ZW50LWJveDtcbiAgaGVpZ2h0OiAwO1xufVxuXG4vKipcbiAqIENvbnRhaW4gb3ZlcmZsb3cgaW4gYWxsIGJyb3dzZXJzLlxuICovXG5cbnByZSB7XG4gIG92ZXJmbG93OiBhdXRvO1xufVxuXG4vKipcbiAqIEFkZHJlc3Mgb2RkIGBlbWAtdW5pdCBmb250IHNpemUgcmVuZGVyaW5nIGluIGFsbCBicm93c2Vycy5cbiAqL1xuXG5jb2RlLFxua2JkLFxucHJlLFxuc2FtcCB7XG4gIGZvbnQtZmFtaWx5OiBtb25vc3BhY2UsIG1vbm9zcGFjZTtcbiAgZm9udC1zaXplOiAxZW07XG59XG5cbi8qIEZvcm1zXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKipcbiAqIEtub3duIGxpbWl0YXRpb246IGJ5IGRlZmF1bHQsIENocm9tZSBhbmQgU2FmYXJpIG9uIE9TIFggYWxsb3cgdmVyeSBsaW1pdGVkXG4gKiBzdHlsaW5nIG9mIGBzZWxlY3RgLCB1bmxlc3MgYSBgYm9yZGVyYCBwcm9wZXJ0eSBpcyBzZXQuXG4gKi9cblxuLyoqXG4gKiAxLiBDb3JyZWN0IGNvbG9yIG5vdCBiZWluZyBpbmhlcml0ZWQuXG4gKiAgICBLbm93biBpc3N1ZTogYWZmZWN0cyBjb2xvciBvZiBkaXNhYmxlZCBlbGVtZW50cy5cbiAqIDIuIENvcnJlY3QgZm9udCBwcm9wZXJ0aWVzIG5vdCBiZWluZyBpbmhlcml0ZWQuXG4gKiAzLiBBZGRyZXNzIG1hcmdpbnMgc2V0IGRpZmZlcmVudGx5IGluIEZpcmVmb3ggNCssIFNhZmFyaSwgYW5kIENocm9tZS5cbiAqL1xuXG5idXR0b24sXG5pbnB1dCxcbm9wdGdyb3VwLFxuc2VsZWN0LFxudGV4dGFyZWEge1xuICBjb2xvcjogaW5oZXJpdDsgLyogMSAqL1xuICBmb250OiBpbmhlcml0OyAvKiAyICovXG4gIG1hcmdpbjogMDsgLyogMyAqL1xufVxuXG4vKipcbiAqIEFkZHJlc3MgYG92ZXJmbG93YCBzZXQgdG8gYGhpZGRlbmAgaW4gSUUgOC85LzEwLzExLlxuICovXG5cbmJ1dHRvbiB7XG4gIG92ZXJmbG93OiB2aXNpYmxlO1xufVxuXG4vKipcbiAqIEFkZHJlc3MgaW5jb25zaXN0ZW50IGB0ZXh0LXRyYW5zZm9ybWAgaW5oZXJpdGFuY2UgZm9yIGBidXR0b25gIGFuZCBgc2VsZWN0YC5cbiAqIEFsbCBvdGhlciBmb3JtIGNvbnRyb2wgZWxlbWVudHMgZG8gbm90IGluaGVyaXQgYHRleHQtdHJhbnNmb3JtYCB2YWx1ZXMuXG4gKiBDb3JyZWN0IGBidXR0b25gIHN0eWxlIGluaGVyaXRhbmNlIGluIEZpcmVmb3gsIElFIDgvOS8xMC8xMSwgYW5kIE9wZXJhLlxuICogQ29ycmVjdCBgc2VsZWN0YCBzdHlsZSBpbmhlcml0YW5jZSBpbiBGaXJlZm94LlxuICovXG5cbmJ1dHRvbixcbnNlbGVjdCB7XG4gIHRleHQtdHJhbnNmb3JtOiBub25lO1xufVxuXG4vKipcbiAqIDEuIEF2b2lkIHRoZSBXZWJLaXQgYnVnIGluIEFuZHJvaWQgNC4wLiogd2hlcmUgKDIpIGRlc3Ryb3lzIG5hdGl2ZSBgYXVkaW9gXG4gKiAgICBhbmQgYHZpZGVvYCBjb250cm9scy5cbiAqIDIuIENvcnJlY3QgaW5hYmlsaXR5IHRvIHN0eWxlIGNsaWNrYWJsZSBgaW5wdXRgIHR5cGVzIGluIGlPUy5cbiAqIDMuIEltcHJvdmUgdXNhYmlsaXR5IGFuZCBjb25zaXN0ZW5jeSBvZiBjdXJzb3Igc3R5bGUgYmV0d2VlbiBpbWFnZS10eXBlXG4gKiAgICBgaW5wdXRgIGFuZCBvdGhlcnMuXG4gKi9cblxuYnV0dG9uLFxuaHRtbCBpbnB1dFt0eXBlPVwiYnV0dG9uXCJdLCAvKiAxICovXG5pbnB1dFt0eXBlPVwicmVzZXRcIl0sXG5pbnB1dFt0eXBlPVwic3VibWl0XCJdIHtcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiBidXR0b247IC8qIDIgKi9cbiAgY3Vyc29yOiBwb2ludGVyOyAvKiAzICovXG59XG5cbi8qKlxuICogUmUtc2V0IGRlZmF1bHQgY3Vyc29yIGZvciBkaXNhYmxlZCBlbGVtZW50cy5cbiAqL1xuXG5idXR0b25bZGlzYWJsZWRdLFxuaHRtbCBpbnB1dFtkaXNhYmxlZF0ge1xuICBjdXJzb3I6IGRlZmF1bHQ7XG59XG5cbi8qKlxuICogUmVtb3ZlIGlubmVyIHBhZGRpbmcgYW5kIGJvcmRlciBpbiBGaXJlZm94IDQrLlxuICovXG5cbmJ1dHRvbjo6LW1vei1mb2N1cy1pbm5lcixcbmlucHV0OjotbW96LWZvY3VzLWlubmVyIHtcbiAgYm9yZGVyOiAwO1xuICBwYWRkaW5nOiAwO1xufVxuXG4vKipcbiAqIEFkZHJlc3MgRmlyZWZveCA0KyBzZXR0aW5nIGBsaW5lLWhlaWdodGAgb24gYGlucHV0YCB1c2luZyBgIWltcG9ydGFudGAgaW5cbiAqIHRoZSBVQSBzdHlsZXNoZWV0LlxuICovXG5cbmlucHV0IHtcbiAgbGluZS1oZWlnaHQ6IG5vcm1hbDtcbn1cblxuLyoqXG4gKiBJdCdzIHJlY29tbWVuZGVkIHRoYXQgeW91IGRvbid0IGF0dGVtcHQgdG8gc3R5bGUgdGhlc2UgZWxlbWVudHMuXG4gKiBGaXJlZm94J3MgaW1wbGVtZW50YXRpb24gZG9lc24ndCByZXNwZWN0IGJveC1zaXppbmcsIHBhZGRpbmcsIG9yIHdpZHRoLlxuICpcbiAqIDEuIEFkZHJlc3MgYm94IHNpemluZyBzZXQgdG8gYGNvbnRlbnQtYm94YCBpbiBJRSA4LzkvMTAuXG4gKiAyLiBSZW1vdmUgZXhjZXNzIHBhZGRpbmcgaW4gSUUgOC85LzEwLlxuICovXG5cbmlucHV0W3R5cGU9XCJjaGVja2JveFwiXSxcbmlucHV0W3R5cGU9XCJyYWRpb1wiXSB7XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7IC8qIDEgKi9cbiAgcGFkZGluZzogMDsgLyogMiAqL1xufVxuXG4vKipcbiAqIEZpeCB0aGUgY3Vyc29yIHN0eWxlIGZvciBDaHJvbWUncyBpbmNyZW1lbnQvZGVjcmVtZW50IGJ1dHRvbnMuIEZvciBjZXJ0YWluXG4gKiBgZm9udC1zaXplYCB2YWx1ZXMgb2YgdGhlIGBpbnB1dGAsIGl0IGNhdXNlcyB0aGUgY3Vyc29yIHN0eWxlIG9mIHRoZVxuICogZGVjcmVtZW50IGJ1dHRvbiB0byBjaGFuZ2UgZnJvbSBgZGVmYXVsdGAgdG8gYHRleHRgLlxuICovXG5cbmlucHV0W3R5cGU9XCJudW1iZXJcIl06Oi13ZWJraXQtaW5uZXItc3Bpbi1idXR0b24sXG5pbnB1dFt0eXBlPVwibnVtYmVyXCJdOjotd2Via2l0LW91dGVyLXNwaW4tYnV0dG9uIHtcbiAgaGVpZ2h0OiBhdXRvO1xufVxuXG4vKipcbiAqIDEuIEFkZHJlc3MgYGFwcGVhcmFuY2VgIHNldCB0byBgc2VhcmNoZmllbGRgIGluIFNhZmFyaSBhbmQgQ2hyb21lLlxuICogMi4gQWRkcmVzcyBgYm94LXNpemluZ2Agc2V0IHRvIGBib3JkZXItYm94YCBpbiBTYWZhcmkgYW5kIENocm9tZVxuICogICAgKGluY2x1ZGUgYC1tb3pgIHRvIGZ1dHVyZS1wcm9vZikuXG4gKi9cblxuaW5wdXRbdHlwZT1cInNlYXJjaFwiXSB7XG4gIC13ZWJraXQtYXBwZWFyYW5jZTogdGV4dGZpZWxkOyAvKiAxICovXG4gIC1tb3otYm94LXNpemluZzogY29udGVudC1ib3g7XG4gIC13ZWJraXQtYm94LXNpemluZzogY29udGVudC1ib3g7IC8qIDIgKi9cbiAgYm94LXNpemluZzogY29udGVudC1ib3g7XG59XG5cbi8qKlxuICogUmVtb3ZlIGlubmVyIHBhZGRpbmcgYW5kIHNlYXJjaCBjYW5jZWwgYnV0dG9uIGluIFNhZmFyaSBhbmQgQ2hyb21lIG9uIE9TIFguXG4gKiBTYWZhcmkgKGJ1dCBub3QgQ2hyb21lKSBjbGlwcyB0aGUgY2FuY2VsIGJ1dHRvbiB3aGVuIHRoZSBzZWFyY2ggaW5wdXQgaGFzXG4gKiBwYWRkaW5nIChhbmQgYHRleHRmaWVsZGAgYXBwZWFyYW5jZSkuXG4gKi9cblxuaW5wdXRbdHlwZT1cInNlYXJjaFwiXTo6LXdlYmtpdC1zZWFyY2gtY2FuY2VsLWJ1dHRvbixcbmlucHV0W3R5cGU9XCJzZWFyY2hcIl06Oi13ZWJraXQtc2VhcmNoLWRlY29yYXRpb24ge1xuICAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7XG59XG5cbi8qKlxuICogRGVmaW5lIGNvbnNpc3RlbnQgYm9yZGVyLCBtYXJnaW4sIGFuZCBwYWRkaW5nLlxuICovXG5cbmZpZWxkc2V0IHtcbiAgYm9yZGVyOiAxcHggc29saWQgI2MwYzBjMDtcbiAgbWFyZ2luOiAwIDJweDtcbiAgcGFkZGluZzogMC4zNWVtIDAuNjI1ZW0gMC43NWVtO1xufVxuXG4vKipcbiAqIDEuIENvcnJlY3QgYGNvbG9yYCBub3QgYmVpbmcgaW5oZXJpdGVkIGluIElFIDgvOS8xMC8xMS5cbiAqIDIuIFJlbW92ZSBwYWRkaW5nIHNvIHBlb3BsZSBhcmVuJ3QgY2F1Z2h0IG91dCBpZiB0aGV5IHplcm8gb3V0IGZpZWxkc2V0cy5cbiAqL1xuXG5sZWdlbmQge1xuICBib3JkZXI6IDA7IC8qIDEgKi9cbiAgcGFkZGluZzogMDsgLyogMiAqL1xufVxuXG4vKipcbiAqIFJlbW92ZSBkZWZhdWx0IHZlcnRpY2FsIHNjcm9sbGJhciBpbiBJRSA4LzkvMTAvMTEuXG4gKi9cblxudGV4dGFyZWEge1xuICBvdmVyZmxvdzogYXV0bztcbn1cblxuLyoqXG4gKiBEb24ndCBpbmhlcml0IHRoZSBgZm9udC13ZWlnaHRgIChhcHBsaWVkIGJ5IGEgcnVsZSBhYm92ZSkuXG4gKiBOT1RFOiB0aGUgZGVmYXVsdCBjYW5ub3Qgc2FmZWx5IGJlIGNoYW5nZWQgaW4gQ2hyb21lIGFuZCBTYWZhcmkgb24gT1MgWC5cbiAqL1xuXG5vcHRncm91cCB7XG4gIGZvbnQtd2VpZ2h0OiBib2xkO1xufVxuXG4vKiBUYWJsZXNcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qKlxuICogUmVtb3ZlIG1vc3Qgc3BhY2luZyBiZXR3ZWVuIHRhYmxlIGNlbGxzLlxuICovXG5cbnRhYmxlIHtcbiAgYm9yZGVyLWNvbGxhcHNlOiBjb2xsYXBzZTtcbiAgYm9yZGVyLXNwYWNpbmc6IDA7XG59XG5cbnRkLFxudGgge1xuICBwYWRkaW5nOiAwO1xufVxuIiwiLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbi8vIHJlZmxleCB2YXJpYWJsZXNcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbi8vIFByZWZpeFxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuLy8gWW91IGNhbiBvcHRpb25hbGx5IG5hbWVzcGFjZSByZWZsZXggY2xhc3NlcyB0byBhdm9pZCBjbGFzaGluZyB3aXRoIG90aGVyIGNzcyBmcmFtZXdvcmtzXG4vLyBlLmcuIHNldHRpbmcgJHJlZmxleC1wcmVmaXggYXMgXCJyZWZsZXgtXCIgaGVyZSB3b3VsZCBjYXVzZSBjb2wtc20tNiB0byBiZWNvbWUgcmVmbGV4LWNvbC1zbS02XG4vLyBFeGFtcGxlOiAkcmVmbGV4LXByZWZpeDogcmVmbGV4LTtcbi8vIEJ5IGRlZmF1bHQgdGhpcyBpcyBhbiBlbXB0eSBzdHJpbmdcbiRyZWZsZXgtcHJlZml4OiBudWxsICFkZWZhdWx0O1xuXG5cbi8vIExlZ2FjeSBzdXBwb3J0XG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4vLyBSZWZsZXggYWRkcyBhIGxvdCBvZiBjc3MgcHJvcGVydGllIHRvIHN1cHBvcnQgb2xkZXIgYnJvd3NlcnMgdGhhdCBkb24ndCBzdXBwb3J0IGZsZXhib3ggbGF5b3V0LlxuLy8gSWYgeW91IHByZWZlciB0byB1c2UgdGhpcyBhcyBhIHB1cmVseSBmbGV4Ym94IGdyaWQgd2l0aG91dCBsZWdhY3kgc3VwcG9ydCB0aGVuIHNldCB0aGlzIHRvIGZhbHNlXG4kbGVnYWN5LXN1cHBvcnQ6IHRydWUgIWRlZmF1bHQ7XG5cbi8vIFJlc3BvbnNpdmUgdmlzaWJpbGl0eSBoZWxwZXJzXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4vLyBSZWZsZXggaGFzIHNvbWUgZ2VuZXJpYyB2aXNpYmlsaXR5IGNsYXNzZXMgdG8gaGlkZSBlbGVtZW50cyBhdCBkaWZmZXJlbnQgYnJlYWtwb2ludHMuXG4vLyBJZiB5b3Ugd2FudCB0byBkaXNhYmxlIHRoZXNlIHRoZW4gc2V0IHRoaXMgdG8gZmFsc2VcbiR2aXNpYmlsaXR5LWhlbHBlcnM6IHRydWUgIWRlZmF1bHQ7XG5cbi8vIEdyaWRcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiRyZWZsZXgtY29sdW1uczogMTIgIWRlZmF1bHQ7IC8vIG51bWJlciBvZiBjb2x1bW5zXG5cbi8vIEJyZWFrcG9pbnRzXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4kcmVmbGV4LXhzOiA1NzZweCAhZGVmYXVsdDtcbiRyZWZsZXgtc206IDc2OHB4ICFkZWZhdWx0O1xuJHJlZmxleC1tZDogOTkycHggIWRlZmF1bHQ7XG4kcmVmbGV4LWxnOiAxMjAwcHggIWRlZmF1bHQ7XG4kcmVmbGV4LXhsZzogMTYwMHB4ICFkZWZhdWx0O1xuXG4kcmVmbGV4LXh4cy1tYXg6ICgkcmVmbGV4LXhzIC0gMSk7XG4kcmVmbGV4LXhzLW1heDogKCRyZWZsZXgtc20gLSAxKTtcbiRyZWZsZXgtc20tbWF4OiAoJHJlZmxleC1tZCAtIDEpO1xuJHJlZmxleC1tZC1tYXg6ICgkcmVmbGV4LWxnIC0gMSk7XG4kcmVmbGV4LWxnLW1heDogKCRyZWZsZXgteGxnIC0gMSk7XG5cbi8vIFNwYWNpbmdcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiRyZWZsZXgtZ3JpZC1zcGFjaW5nOiAxNXB4ICFkZWZhdWx0O1xuXG4vLyBDdXN0b20gcHJvcGVydGllcyBzbyBvdGhlcnMgY2FuIHJlZmVyZW5jZSB0aGUgdmFyaWFibGVzLlxuOnJvb3Qge1xuICAtLXJlZmxleC1jb2x1bW5zOiAjeyAkcmVmbGV4LWNvbHVtbnMgfTtcbiAgLS1yZWZsZXgtZ3JpZC1zcGFjaW5nOiAjeyAkcmVmbGV4LWdyaWQtc3BhY2luZyB9O1xuICAtLXJlZmxleC14czogI3sgJHJlZmxleC14cyB9O1xuICAtLXJlZmxleC1zbTogI3sgJHJlZmxleC1zbSB9O1xuICAtLXJlZmxleC1tZDogI3sgJHJlZmxleC1tZCB9O1xuICAtLXJlZmxleC1sZzogI3sgJHJlZmxleC1sZyB9O1xuICAtLXJlZmxleC14bGc6ICN7ICRyZWZsZXgteGxnIH07XG4gIC0tcmVmbGV4LXh4cy1tYXg6ICN7ICRyZWZsZXgteHhzLW1heCB9O1xuICAtLXJlZmxleC14cy1tYXg6ICN7ICRyZWZsZXgteHMtbWF4IH07XG4gIC0tcmVmbGV4LXNtLW1heDogI3sgJHJlZmxleC1zbS1tYXggfTtcbiAgLS1yZWZsZXgtbWQtbWF4OiAjeyAkcmVmbGV4LW1kLW1heCB9O1xuICAtLXJlZmxleC1sZy1tYXg6ICN7ICRyZWZsZXgtbGctbWF4IH07XG59XG4iLCIvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuLy8gcmVmbGV4IGNvbnRhaW5lcnNcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbi4jeyRyZWZsZXgtcHJlZml4fWNvbnRhaW5lcixcbi4jeyRyZWZsZXgtcHJlZml4fWNvbnRhaW5lci1mdWxsIHtcbiAgICBAaW5jbHVkZSBib3gtc2l6aW5nKGJvcmRlci1ib3gpO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIG1hcmdpbi1yaWdodDogYXV0bztcbiAgICBtYXJnaW4tbGVmdDogYXV0bztcbiAgICBwYWRkaW5nLXJpZ2h0OiAoJHJlZmxleC1ncmlkLXNwYWNpbmcgKiAyKTtcbiAgICBwYWRkaW5nLWxlZnQ6ICgkcmVmbGV4LWdyaWQtc3BhY2luZyAqIDIpO1xuXG4gICAgLiN7JHJlZmxleC1wcmVmaXh9Z3JpZCB7XG4gICAgICAgIG1hcmdpbi1yaWdodDogLSRyZWZsZXgtZ3JpZC1zcGFjaW5nO1xuICAgICAgICBtYXJnaW4tbGVmdDogLSRyZWZsZXgtZ3JpZC1zcGFjaW5nO1xuICAgIH1cbn1cblxuLiN7JHJlZmxleC1wcmVmaXh9Y29udGFpbmVyIHtcbiAgICBAbWVkaWEgKG1pbi13aWR0aDogJHJlZmxleC14cykge1xuICAgICAgICBtYXgtd2lkdGg6ICRyZWZsZXgteHM7XG4gICAgfVxuXG4gICAgQG1lZGlhIChtaW4td2lkdGg6ICRyZWZsZXgtc20pIHtcbiAgICAgICAgbWF4LXdpZHRoOiAkcmVmbGV4LXNtO1xuICAgIH1cblxuICAgIEBtZWRpYSAobWluLXdpZHRoOiAkcmVmbGV4LW1kKSB7XG4gICAgICAgIG1heC13aWR0aDogJHJlZmxleC1tZDtcbiAgICB9XG5cbiAgICBAbWVkaWEgKG1pbi13aWR0aDogJHJlZmxleC1sZykge1xuICAgICAgICBtYXgtd2lkdGg6ICRyZWZsZXgtbGc7XG4gICAgfVxuXG4gICAgQG1lZGlhIChtaW4td2lkdGg6ICRyZWZsZXgteGxnKSB7XG4gICAgICAgIG1heC13aWR0aDogJHJlZmxleC14bGc7XG4gICAgfVxufVxuXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuLy8gcmVmbGV4IGdyaWRcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbi4jeyRyZWZsZXgtcHJlZml4fWdyaWQge1xuICAgIEBpbmNsdWRlIGJveC1zaXppbmcoYm9yZGVyLWJveCk7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgQGluY2x1ZGUgZGlzcGxheS1mbGV4KCk7XG4gICAgQGluY2x1ZGUgZmxleC13cmFwKCk7XG4gICAgcGFkZGluZzogMDtcbiAgICBtYXJnaW46IDAgYXV0bztcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgQGluY2x1ZGUgc2V0dXAtd2hpdGVzcGFjZSgpO1xuXG4gICAgJjo6YmVmb3JlLFxuICAgICY6OmFmdGVyIHtcbiAgICAgICAgQGluY2x1ZGUgYm94LXNpemluZyhib3JkZXItYm94KTtcbiAgICAgICAgQGluY2x1ZGUgcmVzZXQtd2hpdGVzcGFjZSgpO1xuICAgIH1cblxuICAgIC8vIGhhbmRsZSB3aGVuIGxpc3RzIGFyZSB1c2VkIGFzIGEgZ3JpZFxuICAgIGxpc3Qtc3R5bGUtdHlwZTogbm9uZTtcbn1cblxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbi8vIHJlZmxleCBjb2wgZGVmYXVsdHNcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbltjbGFzcyo9XCIjeyRyZWZsZXgtcHJlZml4fWNvbC1cIl0ge1xuICAgIEBpbmNsdWRlIGJveC1zaXppbmcoYm9yZGVyLWJveCk7XG4gICAgQGluY2x1ZGUgcmVzZXQtd2hpdGVzcGFjZSgpO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB3aWR0aDogMTAwJTtcbiAgICB2ZXJ0aWNhbC1hbGlnbjogdG9wO1xuICAgIHBhZGRpbmc6ICRyZWZsZXgtZ3JpZC1zcGFjaW5nO1xuXG4gICAgJjo6YmVmb3JlLFxuICAgICY6OmFmdGVyIHtcbiAgICAgICAgQGluY2x1ZGUgYm94LXNpemluZyhib3JkZXItYm94KTtcbiAgICAgICAgQGluY2x1ZGUgcmVzZXQtd2hpdGVzcGFjZSgpO1xuICAgIH1cblxuICAgIC8vIGhhbmRsZSBncmlkcyBuZXN0ZWQgaW4gY29sdW1uc1xuICAgIC4jeyRyZWZsZXgtcHJlZml4fWdyaWQge1xuICAgICAgICBAaW5jbHVkZSBmbGV4KDEsIDEsIGF1dG8pO1xuICAgICAgICBtYXJnaW46IC0kcmVmbGV4LWdyaWQtc3BhY2luZztcbiAgICB9XG5cbiAgICBAaWYgJGxlZ2FjeS1zdXBwb3J0ID09IHRydWUge1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgICpkaXNwbGF5OiBpbmxpbmU7XG4gICAgICAgIHpvb206IDE7XG4gICAgfVxufVxuXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuLy8gcmVmbGV4IGdyaWQgZ2VuZXJhdGlvblxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuQGluY2x1ZGUgbWFrZS1yZWZsZXgtZ3JpZChjb2wtKTtcblxuQG1lZGlhIChtaW4td2lkdGg6ICRyZWZsZXgteHMpIHtcbiAgICBAaW5jbHVkZSBtYWtlLXJlZmxleC1ncmlkKGNvbC14cy0pO1xufVxuXG5AbWVkaWEgKG1pbi13aWR0aDogJHJlZmxleC1zbSkge1xuICAgIEBpbmNsdWRlIG1ha2UtcmVmbGV4LWdyaWQoY29sLXNtLSk7XG59XG5cbkBtZWRpYSAobWluLXdpZHRoOiAkcmVmbGV4LW1kKSB7XG4gICAgQGluY2x1ZGUgbWFrZS1yZWZsZXgtZ3JpZChjb2wtbWQtKTtcbn1cblxuQG1lZGlhIChtaW4td2lkdGg6ICRyZWZsZXgtbGcpIHtcbiAgICBAaW5jbHVkZSBtYWtlLXJlZmxleC1ncmlkKGNvbC1sZy0pO1xufVxuXG5AbWVkaWEgKG1pbi13aWR0aDogJHJlZmxleC14bGcpIHtcbiAgICBAaW5jbHVkZSBtYWtlLXJlZmxleC1ncmlkKGNvbC14bGctKTtcbn1cblxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbi8vIHJlZmxleCBjb2wtYXV0b1xuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuLiN7JHJlZmxleC1wcmVmaXh9Y29sLWF1dG8ge1xuICAgIEBpbmNsdWRlIHNldHVwLWF1dG8tY29scygpO1xufVxuXG5AbWVkaWEgKG1pbi13aWR0aDogJHJlZmxleC14cykge1xuICAgIC4jeyRyZWZsZXgtcHJlZml4fWNvbC14cy1hdXRvIHtcbiAgICAgICAgQGluY2x1ZGUgc2V0dXAtYXV0by1jb2xzKCk7XG4gICAgfVxufVxuXG5AbWVkaWEgKG1pbi13aWR0aDogJHJlZmxleC1zbSkge1xuICAgIC4jeyRyZWZsZXgtcHJlZml4fWNvbC1zbS1hdXRvIHtcbiAgICAgICAgQGluY2x1ZGUgc2V0dXAtYXV0by1jb2xzKCk7XG4gICAgfVxufVxuXG5AbWVkaWEgKG1pbi13aWR0aDogJHJlZmxleC1tZCkge1xuICAgIC4jeyRyZWZsZXgtcHJlZml4fWNvbC1tZC1hdXRvIHtcbiAgICAgICAgQGluY2x1ZGUgc2V0dXAtYXV0by1jb2xzKCk7XG4gICAgfVxufVxuXG5AbWVkaWEgKG1pbi13aWR0aDogJHJlZmxleC1sZykge1xuICAgIC4jeyRyZWZsZXgtcHJlZml4fWNvbC1sZy1hdXRvIHtcbiAgICAgICAgQGluY2x1ZGUgc2V0dXAtYXV0by1jb2xzKCk7XG4gICAgfVxufVxuXG5AbWVkaWEgKG1pbi13aWR0aDogJHJlZmxleC14bGcpIHtcbiAgICAuI3skcmVmbGV4LXByZWZpeH1jb2wteGxnLWF1dG8ge1xuICAgICAgICBAaW5jbHVkZSBzZXR1cC1hdXRvLWNvbHMoKTtcbiAgICB9XG59XG5cbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4vLyByZWZsZXggb3JkZXIgaGVscGVycyBnZW5lcmF0aW9uXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG5AaW5jbHVkZSBtYWtlLW9yZGVyLWhlbHBlcnMoKTtcblxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAkcmVmbGV4LXhzKSB7XG4gICAgQGluY2x1ZGUgbG9vcC1vcmRlci1oZWxwZXJzKCRyZWZsZXgtY29sdW1ucywgJy14cycpO1xufVxuXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6ICRyZWZsZXgtc20pIHtcbiAgICBAaW5jbHVkZSBsb29wLW9yZGVyLWhlbHBlcnMoJHJlZmxleC1jb2x1bW5zLCAnLXNtJyk7XG59XG5cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogJHJlZmxleC1tZCkge1xuICAgIEBpbmNsdWRlIGxvb3Atb3JkZXItaGVscGVycygkcmVmbGV4LWNvbHVtbnMsICctbWQnKTtcbn1cblxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAkcmVmbGV4LWxnKSB7XG4gICAgQGluY2x1ZGUgbG9vcC1vcmRlci1oZWxwZXJzKCRyZWZsZXgtY29sdW1ucywgJy1sZycpO1xufVxuXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6ICRyZWZsZXgteGxnKSB7XG4gICAgQGluY2x1ZGUgbG9vcC1vcmRlci1oZWxwZXJzKCRyZWZsZXgtY29sdW1ucywgJy14bGcnKTtcbn1cblxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbi8vIHJlZmxleCBvZmZzZXQgaGVscGVycyBnZW5lcmF0aW9uXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG5AaW5jbHVkZSBtYWtlLW9mZnNldC1oZWxwZXJzKCk7XG5cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogJHJlZmxleC14cykge1xuICAgIEBpbmNsdWRlIGxvb3Atb2Zmc2V0LWhlbHBlcnMoJHJlZmxleC1jb2x1bW5zIC0gMSwgJy14cycpO1xufVxuXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6ICRyZWZsZXgtc20pIHtcbiAgICBAaW5jbHVkZSBsb29wLW9mZnNldC1oZWxwZXJzKCRyZWZsZXgtY29sdW1ucyAtIDEsICctc20nKTtcbn1cblxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAkcmVmbGV4LW1kKSB7XG4gICAgQGluY2x1ZGUgbG9vcC1vZmZzZXQtaGVscGVycygkcmVmbGV4LWNvbHVtbnMgLSAxLCAnLW1kJyk7XG59XG5cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogJHJlZmxleC1sZykge1xuICAgIEBpbmNsdWRlIGxvb3Atb2Zmc2V0LWhlbHBlcnMoJHJlZmxleC1jb2x1bW5zIC0gMSwgJy1sZycpO1xufVxuXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6ICRyZWZsZXgteGxnKSB7XG4gICAgQGluY2x1ZGUgbG9vcC1vZmZzZXQtaGVscGVycygkcmVmbGV4LWNvbHVtbnMgLSAxLCAnLXhsZycpO1xufVxuIiwiLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbi8vIHJlZmxleCBtaXhpbnNcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4vL1xuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbi8vIHJlZmxleCBncmlkIGdlbmVyYXRpb24gbWl4aW5zXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG5AbWl4aW4gbWFrZS1yZWZsZXgtZ3JpZCgkY2xhc3MpIHtcbiAgICBAaW5jbHVkZSBsb29wLXJlZmxleC1jb2x1bW5zKCRyZWZsZXgtY29sdW1ucywgJGNsYXNzLCB3aWR0aCk7XG59XG5cbkBtaXhpbiBjYWxjLXJlZmxleC1jb2x1bW5zKCRpbmRleCwgJGNsYXNzLCAkdHlwZSkge1xuICAgIEBpZiAkdHlwZSA9PSB3aWR0aCBhbmQgJGluZGV4ID4gMCB7XG4gICAgICAgIC4jeyRyZWZsZXgtcHJlZml4fSN7JGNsYXNzfSN7JGluZGV4fSB7XG4gICAgICAgICAgICB3aWR0aDogcGVyY2VudGFnZSgoJGluZGV4IC8gJHJlZmxleC1jb2x1bW5zKSk7XG4gICAgICAgICAgICBAaWYgJGxlZ2FjeS1zdXBwb3J0ID09IHRydWUge1xuICAgICAgICAgICAgICAgICp3aWR0aDogcGVyY2VudGFnZSgoJGluZGV4IC8gJHJlZmxleC1jb2x1bW5zKSkgLSAuMTsgLy8gaWU3IGNzcyBoYWNrXG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG59XG5cbkBtaXhpbiBsb29wLXJlZmxleC1jb2x1bW5zKCRpbmRleCwgJGNsYXNzLCAkdHlwZSkge1xuICAgIEBpZiAkaW5kZXggPj0gMCB7XG4gICAgICAgIEBpbmNsdWRlIGNhbGMtcmVmbGV4LWNvbHVtbnMoJGluZGV4LCAkY2xhc3MsICR0eXBlKTtcbiAgICAgICAgLy8gbmV4dCBpdGVyYXRpb25cbiAgICAgICAgQGluY2x1ZGUgbG9vcC1yZWZsZXgtY29sdW1ucygoJGluZGV4IC0gMSksICRjbGFzcywgJHR5cGUpO1xuICAgIH1cbn1cblxuLy8gZGVmYXVsdHMgZm9yIGF1dG8gY29sc1xuQG1peGluIHNldHVwLWF1dG8tY29scygpIHtcbiAgICBAaW5jbHVkZSBmbGV4KDEsIDAsIDBweCk7IC8vIGEgdW5pdCBvbiBsYXN0IHZhbHVlIGlzIHJlcXVpcmVkIGJ5IElFMTAtMTFcblxuICAgIEBpZiAkbGVnYWN5LXN1cHBvcnQgPT0gdHJ1ZSB7XG4gICAgICAgIHdpZHRoOiBhdXRvO1xuICAgIH1cbn1cblxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbi8vIGlubGluZS1ibG9jayBzcGVjaWZpYyBtaXhpbnNcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbkBtaXhpbiBzZXR1cC13aGl0ZXNwYWNlKCkge1xuICAgIEBpZiAkbGVnYWN5LXN1cHBvcnQgPT0gdHJ1ZSB7XG4gICAgICAgIGxldHRlci1zcGFjaW5nOiAtLjMxZW07XG4gICAgICAgICpsZXR0ZXItc3BhY2luZzogbm9ybWFsO1xuICAgICAgICB3b3JkLXNwYWNpbmc6IC0uNDNlbTtcbiAgICB9XG59XG5cbkBtaXhpbiByZXNldC13aGl0ZXNwYWNlKCkge1xuICAgIEBpZiAkbGVnYWN5LXN1cHBvcnQgPT0gdHJ1ZSB7XG4gICAgICAgIGxldHRlci1zcGFjaW5nOiBub3JtYWw7XG4gICAgICAgIHdvcmQtc3BhY2luZzogbm9ybWFsO1xuICAgICAgICB3aGl0ZS1zcGFjZTogbm9ybWFsO1xuICAgIH1cbn1cblxuQG1peGluIHJlc2V0LXRleHQtYWxpZ24oKSB7XG4gICAgLy9cbiAgICAvLyBXZSB3YW50IHRvIHJlc2V0IGFueSB0ZXh0LWFsaWduIHByb3BlcnRpZXMgc2V0IGJ5IHRoZSBncmlkXG4gICAgLy8gKHJlcXVpcmVkIGZvciB0aGUgaW5saW5lLWJsb2NrIGZhbGxiYWNrKVxuICAgIC8vIGJ1dCB3ZSBkb24ndCB3YW50IHRvIG92ZXJyaWRlIGFueSB0ZXh0LWFsaWduIHByb3BlcnRpZXNcbiAgICAvLyBzZXQgb24gdGhlIGluZGl2aWR1YWwgY29sLXggZWxlbWVudFxuICAgIC8vIG9yIG9uIGFueSBvZiBpdCdzIGNoaWxkIGVsZW1lbnRzXG4gICAgLy9cbiAgICAvLyAxKSBzZXQgdG8gbGVmdCBieSBkZWZhdWx0ICh3b3JrcyBldmVyeXdoZXJlKVxuICAgIC8vIDIpIHNldCB0byBzdGFydCAocmVzcGVjdHMgcmlnaHQgdG8gbGVmdCB0ZXh0KVxuICAgIC8vXG4gICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgICB0ZXh0LWFsaWduOiBzdGFydDtcbiAgICAtbW96LXRleHQtYWxpZ24tbGFzdDogbGVmdDtcbiAgICAtbW96LXRleHQtYWxpZ24tbGFzdDogc3RhcnQ7XG4gICAgdGV4dC1hbGlnbi1sYXN0OiBsZWZ0O1xuICAgIHRleHQtYWxpZ24tbGFzdDogc3RhcnQ7XG59XG5cbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4vLyBvcmRlciBjbGFzcyBnZW5lcmF0aW9uIG1peGluc1xuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuQG1peGluIG9yZGVyKCRvcmRlcjogMCkge1xuICAgIC1tcy1mbGV4LW9yZGVyOiAkb3JkZXI7XG4gICAgLXdlYmtpdC1vcmRlcjogJG9yZGVyO1xuICAgIG9yZGVyOiAkb3JkZXI7XG59XG5cbkBtaXhpbiBtYWtlLW9yZGVyLWhlbHBlcnMoKSB7XG4gICAgQGluY2x1ZGUgbG9vcC1vcmRlci1oZWxwZXJzKCRyZWZsZXgtY29sdW1ucyk7XG59XG5cbkBtaXhpbiBsb29wLW9yZGVyLWhlbHBlcnMoJGluZGV4LCAkYnJlYWtwb2ludDogbnVsbCkge1xuICAgIEBpZiAkaW5kZXggPj0gMCB7XG4gICAgICAgIC4jeyRyZWZsZXgtcHJlZml4fW9yZGVyI3skYnJlYWtwb2ludH0tI3skaW5kZXh9IHtcbiAgICAgICAgICAgIEBpbmNsdWRlIG9yZGVyKCRpbmRleCk7XG4gICAgICAgIH1cbiAgICAgICAgLy8gbmV4dCBpdGVyYXRpb25cbiAgICAgICAgQGluY2x1ZGUgbG9vcC1vcmRlci1oZWxwZXJzKCgkaW5kZXggLSAxKSwgJGJyZWFrcG9pbnQpO1xuICAgIH1cbn1cblxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbi8vIG9mZnNldCBjbGFzcyBnZW5lcmF0aW9uIG1peGluc1xuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbkBtaXhpbiBvZmZzZXQoJGluZGV4OiAwKSB7XG4gICAgJG9mZnNldDogKCRpbmRleCAvICRyZWZsZXgtY29sdW1ucyk7XG4gICAgLy8gY29udmVydCB0byBwZXJjZW50YWdlIG9ubHkgaWYgbm90IHplcm9cbiAgICBAaWYgJG9mZnNldCAhPSAwIHtcbiAgICAgICAgJG9mZnNldDogcGVyY2VudGFnZSgkb2Zmc2V0KTtcbiAgICB9XG4gICAgbWFyZ2luLWxlZnQ6ICRvZmZzZXQ7XG4gICAgQGlmICRsZWdhY3ktc3VwcG9ydCA9PSB0cnVlIHtcbiAgICAgICAgKm1hcmdpbi1sZWZ0OiBwZXJjZW50YWdlKCgkaW5kZXggLyAkcmVmbGV4LWNvbHVtbnMpKSAtIC4xOyAvLyBpZTcgY3NzIGhhY2tcbiAgICB9XG59XG5cbkBtaXhpbiBtYWtlLW9mZnNldC1oZWxwZXJzKCkge1xuICAgIEBpbmNsdWRlIGxvb3Atb2Zmc2V0LWhlbHBlcnMoJHJlZmxleC1jb2x1bW5zIC0gMSk7XG59XG5cbkBtaXhpbiBsb29wLW9mZnNldC1oZWxwZXJzKCRpbmRleCwgJGJyZWFrcG9pbnQ6IG51bGwpIHtcbiAgICBAaWYgJGluZGV4ID4gMCBhbmQgJGJyZWFrcG9pbnQgPT0gbnVsbCB7XG4gICAgICAgIC4jeyRyZWZsZXgtcHJlZml4fW9mZnNldCN7JGJyZWFrcG9pbnR9LSN7JGluZGV4fSB7XG4gICAgICAgICAgICBAaW5jbHVkZSBvZmZzZXQoJGluZGV4KTtcbiAgICAgICAgfVxuICAgICAgICAvLyBuZXh0IGl0ZXJhdGlvblxuICAgICAgICBAaW5jbHVkZSBsb29wLW9mZnNldC1oZWxwZXJzKCgkaW5kZXggLSAxKSwgJGJyZWFrcG9pbnQpO1xuICAgIH0gQGVsc2UgaWYgJGluZGV4ID49IDAgYW5kICRicmVha3BvaW50ICE9IG51bGwge1xuICAgICAgICAuI3skcmVmbGV4LXByZWZpeH1vZmZzZXQjeyRicmVha3BvaW50fS0jeyRpbmRleH0ge1xuICAgICAgICAgICAgQGluY2x1ZGUgb2Zmc2V0KCRpbmRleCk7XG4gICAgICAgIH1cbiAgICAgICAgLy8gbmV4dCBpdGVyYXRpb25cbiAgICAgICAgQGluY2x1ZGUgbG9vcC1vZmZzZXQtaGVscGVycygoJGluZGV4IC0gMSksICRicmVha3BvaW50KTtcbiAgICB9XG59XG5cbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4vLyByZWZsZXggbW9kaWZpZXIgbWl4aW5zXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4vL1xuLy8gZGlzcGxheVxuLy8gLS0tXG5cbkBtaXhpbiBkaXNwbGF5LWZsZXgoKSB7XG4gICAgZGlzcGxheTogLW1zLWZsZXhib3g7XG4gICAgZGlzcGxheTogLXdlYmtpdC1mbGV4O1xuICAgIGRpc3BsYXk6IGZsZXg7XG59XG5cbi8vXG4vLyBmbGV4XG4vLyAtLS1cblxuQG1peGluIGZsZXgoJGdyb3c6IDAsICRzaHJpbms6IDEsICRiYXNpczogYXV0bykge1xuICAgIEBpZiAkYmFzaXMgPT0gMCB7XG4gICAgICAgIC1tcy1mbGV4OiAkZ3JvdyAkc2hyaW5rIGF1dG87IC8vaWUxMCBuZWVkcyBhdXRvXG4gICAgfSBAZWxzZSB7XG4gICAgICAgIC1tcy1mbGV4OiAkZ3JvdyAkc2hyaW5rICRiYXNpcztcbiAgICB9XG5cbiAgICAtd2Via2l0LWZsZXg6ICRncm93ICRzaHJpbmsgJGJhc2lzO1xuICAgIGZsZXg6ICRncm93ICRzaHJpbmsgJGJhc2lzO1xufVxuXG5AbWl4aW4gZmxleC1ncm93KCRncm93OjEpIHtcbiAgICAtbXMtZmxleC1wb3NpdGl2ZTogJGdyb3c7XG4gICAgLXdlYmtpdC1mbGV4LWdyb3c6ICRncm93O1xuICAgIGZsZXgtZ3JvdzogJGdyb3c7XG59XG5cbkBtaXhpbiBmbGV4LXNocmluaygkc2hyaW5rOjEpIHtcbiAgICAtbXMtZmxleC1uZWdhdGl2ZTogJHNocmluaztcbiAgICAtd2Via2l0LWZsZXgtc2hyaW5rOiAkc2hyaW5rO1xuICAgIGZsZXgtc2hyaW5rOiAkc2hyaW5rO1xufVxuXG5AbWl4aW4gZmxleC1iYXNpcygkYmFzaXM6YXV0bykge1xuICAgIC1tcy1mbGV4LXByZWZlcnJlZC1zaXplOiAkYmFzaXM7XG4gICAgLXdlYmtpdC1mbGV4LWJhc2lzOiAkYmFzaXM7XG4gICAgZmxleC1iYXNpczogJGJhc2lzO1xufVxuXG5AbWl4aW4gZmxleC1mbG93KCRkaXJlY3Rpb246IHJvdywgJHdyYXA6IG5vd3JhcCkge1xuICAgIC1tcy1mbGV4LXdyYXA6ICR3cmFwO1xuICAgIC1tcy1mbGV4LWRpcmVjdGlvbjogJGRpcmVjdGlvbjtcbiAgICAtd2Via2l0LWZsZXgtZmxvdzogJGRpcmVjdGlvbiAkd3JhcDtcbiAgICBmbGV4LWZsb3c6ICRkaXJlY3Rpb24gJHdyYXA7XG59XG5cbkBtaXhpbiBmbGV4LXdyYXAoJHdyYXA6IHdyYXApIHtcbiAgICAtbXMtZmxleC13cmFwOiAkd3JhcDtcbiAgICAtd2Via2l0LWZsZXgtd3JhcDogJHdyYXA7XG4gICAgZmxleC13cmFwOiAkd3JhcDtcbn1cblxuQG1peGluIGZsZXgtZGlyZWN0aW9uKCRkaXJlY3Rpb246IHJvdykge1xuICAgIC1tcy1mbGV4LWRpcmVjdGlvbjogJGRpcmVjdGlvbjtcbiAgICAtd2Via2l0LWZsZXgtZGlyZWN0aW9uOiAkZGlyZWN0aW9uO1xuICAgIGZsZXgtZGlyZWN0aW9uOiAkZGlyZWN0aW9uO1xufVxuXG4vL1xuLy8gYWxpZ25cbi8vIC0tLVxuXG5AbWl4aW4gYWxpZ24taXRlbXMoJGFsaWduOiBzdHJldGNoKSB7XG4gICAgQGluY2x1ZGUgbXMtYWxpZ24taXRlbXMoJGFsaWduKTtcbiAgICAtd2Via2l0LWFsaWduLWl0ZW1zOiAkYWxpZ247XG4gICAgYWxpZ24taXRlbXM6ICRhbGlnbjtcbn1cblxuQG1peGluIGFsaWduLXNlbGYoJGFsaWduOiBzdHJldGNoKSB7XG4gICAgQGluY2x1ZGUgbXMtYWxpZ24tc2VsZigkYWxpZ24pO1xuICAgIC13ZWJraXQtYWxpZ24tc2VsZjogJGFsaWduO1xuICAgIGFsaWduLXNlbGY6ICRhbGlnbjtcbn1cblxuQG1peGluIGFsaWduLWNvbnRlbnQoJGFsaWduOiBzdHJldGNoKSB7XG4gICAgQGluY2x1ZGUgbXMtYWxpZ24tY29udGVudCgkYWxpZ24pO1xuICAgIC13ZWJraXQtYWxpZ24tY29udGVudDogJGFsaWduO1xuICAgIGFsaWduLWNvbnRlbnQ6ICRhbGlnbjtcbn1cblxuLy9cbi8vIGllMTAgc3ludGF4IGZvciBhbGlnblxuLy8gLS0tXG5cbkBtaXhpbiBtcy1hbGlnbi1pdGVtcygkYWxpZ24pIHtcbiAgICBAaWYgJGFsaWduID09ICdmbGV4LXN0YXJ0JyB7XG4gICAgICAgIC1tcy1mbGV4LWFsaWduOiBzdGFydDtcbiAgICB9IEBlbHNlIGlmICRhbGlnbiA9PSAnZmxleC1lbmQnIHtcbiAgICAgICAgLW1zLWZsZXgtYWxpZ246IGVuZDtcbiAgICB9IEBlbHNlIHtcbiAgICAgICAgLW1zLWZsZXgtYWxpZ246ICRhbGlnbjtcbiAgICB9XG59XG5cbkBtaXhpbiBtcy1hbGlnbi1zZWxmKCRhbGlnbikge1xuICAgIEBpZiAkYWxpZ24gPT0gJ2ZsZXgtc3RhcnQnIHtcbiAgICAgICAgLW1zLWZsZXgtaXRlbS1hbGlnbjogc3RhcnQ7XG4gICAgfSBAZWxzZSBpZiAkYWxpZ24gPT0gJ2ZsZXgtZW5kJyB7XG4gICAgICAgIC1tcy1mbGV4LWl0ZW0tYWxpZ246IGVuZDtcbiAgICB9IEBlbHNlIHtcbiAgICAgICAgLW1zLWZsZXgtaXRlbS1hbGlnbjogJGFsaWduO1xuICAgIH1cbn1cblxuQG1peGluIG1zLWFsaWduLWNvbnRlbnQoJGFsaWduKSB7XG4gICAgQGlmICRhbGlnbiA9PSAnZmxleC1zdGFydCcge1xuICAgICAgICAtbXMtZmxleC1saW5lLXBhY2s6IHN0YXJ0O1xuICAgIH0gQGVsc2UgaWYgJGFsaWduID09ICdmbGV4LWVuZCcge1xuICAgICAgICAtbXMtZmxleC1saW5lLXBhY2s6IGVuZDtcbiAgICB9IEBlbHNlIGlmICRhbGlnbiA9PSAnc3BhY2UtYmV0d2Vlbicge1xuICAgICAgICAtbXMtZmxleC1saW5lLXBhY2s6IGp1c3RpZnk7XG4gICAgfSBAZWxzZSBpZiAkYWxpZ24gPT0gJ3NwYWNlLWFyb3VuZCcge1xuICAgICAgICAtbXMtZmxleC1saW5lLXBhY2s6IGRpc3RyaWJ1dGU7XG4gICAgfSBAZWxzZSB7XG4gICAgICAgIC1tcy1mbGV4LWxpbmUtcGFjazogJGFsaWduO1xuICAgIH1cbn1cblxuLy9cbi8vIGp1c3RpZnktY29udGVudFxuLy9cbi8vIFVzZXMgXCJ0ZXh0LWFsaWduXCIgZm9yIHRoZSBmYWxsYmFjayBpbmxpbmUtYmxvY2sgZ3JpZFxuLy8gXCJ0ZXh0LWFsaWduXCIgaXMgZ2xvYmFsbHkgc3VwcG9ydGVkIGFuZCB3b3JrcyBvbiBhbGwgcm93cyBleGNlcHQgdGhlIGxhc3Rcbi8vIFwidGV4dC1hbGlnbi1sYXN0XCIsIHdoZXJlIHN1cHBvcnRlZCwgaGFuZGxlcyB0aGUgbGFzdCBsaW5lIChhbmQsIGhhcHBpbHksIGdyaWRzIHdpdGggb25seSBvbmUgcm93KVxuLy8gLS0tXG5cbkBtaXhpbiBqdXN0aWZ5LWNvbnRlbnQtc3RhcnQoKSB7XG4gICAgLW1zLWZsZXgtcGFjazogc3RhcnQ7XG4gICAgLXdlYmtpdC1qdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7XG4gICAganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0O1xufVxuXG5AbWl4aW4ganVzdGlmeS1jb250ZW50LWVuZCgpIHtcbiAgICAtbXMtZmxleC1wYWNrOiBlbmQ7XG4gICAgLXdlYmtpdC1qdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kO1xuICAgIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7XG59XG5cbkBtaXhpbiBqdXN0aWZ5LWNvbnRlbnQtY2VudGVyKCkge1xuICAgIC1tcy1mbGV4LXBhY2s6IGNlbnRlcjtcbiAgICAtd2Via2l0LWp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xufVxuXG5AbWl4aW4ganVzdGlmeS1jb250ZW50LXNwYWNlLWJldHdlZW4oKSB7XG4gICAgLW1zLWZsZXgtcGFjazoganVzdGlmeTtcbiAgICAtd2Via2l0LWp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG59XG5cbkBtaXhpbiBqdXN0aWZ5LWNvbnRlbnQtc3BhY2UtYXJvdW5kKCkge1xuICAgIC1tcy1mbGV4LXBhY2s6IGRpc3RyaWJ1dGU7XG4gICAgLXdlYmtpdC1qdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWFyb3VuZDtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWFyb3VuZDtcbn1cblxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbi8vIG90aGVyIG1peGluc1xuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuQG1peGluIGJveC1zaXppbmcoJGJveG1vZGVsKSB7XG4gICAgLXdlYmtpdC1ib3gtc2l6aW5nOiAkYm94bW9kZWw7XG4gICAgLW1vei1ib3gtc2l6aW5nOiAkYm94bW9kZWw7XG4gICAgYm94LXNpemluZzogJGJveG1vZGVsO1xufVxuXG5AbWl4aW4gcmVzcG9uc2l2ZS12aXNpYmlsaXR5LWhlbHBlcnMoKSB7XG4gICAgQGlmICR2aXNpYmlsaXR5LWhlbHBlcnMgPT0gdHJ1ZSB7XG4gICAgICAgIC4jeyRyZWZsZXgtcHJlZml4fWhpZGRlbi14eHMge1xuICAgICAgICAgICAgQG1lZGlhIChtYXgtd2lkdGg6ICRyZWZsZXgteHhzLW1heCkge1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAuI3skcmVmbGV4LXByZWZpeH1oaWRkZW4teHMge1xuICAgICAgICAgICAgQG1lZGlhIChtaW4td2lkdGg6ICRyZWZsZXgteHMpIGFuZCAobWF4LXdpZHRoOiAkcmVmbGV4LXhzLW1heCkge1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAuI3skcmVmbGV4LXByZWZpeH1oaWRkZW4tc20ge1xuICAgICAgICAgICAgQG1lZGlhIChtaW4td2lkdGg6ICRyZWZsZXgtc20pIGFuZCAobWF4LXdpZHRoOiAkcmVmbGV4LXNtLW1heCkge1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAuI3skcmVmbGV4LXByZWZpeH1oaWRkZW4tbWQge1xuICAgICAgICAgICAgQG1lZGlhIChtaW4td2lkdGg6ICRyZWZsZXgtbWQpIGFuZCAobWF4LXdpZHRoOiAkcmVmbGV4LW1kLW1heCkge1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAuI3skcmVmbGV4LXByZWZpeH1oaWRkZW4tbGcge1xuICAgICAgICAgICAgQG1lZGlhIChtaW4td2lkdGg6ICRyZWZsZXgtbGcpIGFuZCAobWF4LXdpZHRoOiAkcmVmbGV4LWxnLW1heCkge1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAuI3skcmVmbGV4LXByZWZpeH1oaWRkZW4teGxnIHtcbiAgICAgICAgICAgIEBtZWRpYSAobWluLXdpZHRoOiAkcmVmbGV4LXhsZykge1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG59XG4iLCJcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4vLyBncmlkIG1vZGlmaWVyc1xuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbi8vIGZsZXgtd3JhcFxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuLiN7JHJlZmxleC1wcmVmaXh9d3JhcCB7XG4gICAgQGluY2x1ZGUgZmxleC13cmFwKHdyYXApO1xufVxuXG4uI3skcmVmbGV4LXByZWZpeH1uby13cmFwIHtcbiAgICBAaW5jbHVkZSBmbGV4LXdyYXAobm93cmFwKTtcblxuICAgIC8vIFRoaXMgaXMgbW9zdGx5IG5lZWRlZCB0byBzdG9wIHRoZSBncmlkIGNvbnRlbnRzIG92ZXJmbG93aW5nIGluIHRoZVxuICAgIC8vIGllMTAgaW1wbGVtZW50YXRpb24gb2YgZmxleGJveCBidXQgaXQgY2FuJ3QgaHVydCBpbiBvdGhlciBicm93c2Vyc1xuICAgIC8vIGFzIGl0IGlzIHRoZSBkZXNpcmVkIGJlaGF2aW91ciBvZiBub24gd3JhcHBpbmcgZmxleCBpdGVtc1xuICAgIFtjbGFzcyo9XCIjeyRyZWZsZXgtcHJlZml4fWNvbC1cIl0ge1xuICAgICAgICBAaW5jbHVkZSBmbGV4LXNocmluaygxKTtcbiAgICB9XG59XG5cbi4jeyRyZWZsZXgtcHJlZml4fXdyYXAtcmV2ZXJzZSB7XG4gICAgQGluY2x1ZGUgZmxleC13cmFwKHdyYXAtcmV2ZXJzZSk7XG59XG5cbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4vLyBmbGV4LWRpcmVjdGlvblxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuLiN7JHJlZmxleC1wcmVmaXh9ZGlyZWN0aW9uLXJvdyB7XG4gICAgQGluY2x1ZGUgZmxleC1kaXJlY3Rpb24ocm93KTtcbn1cblxuLiN7JHJlZmxleC1wcmVmaXh9ZGlyZWN0aW9uLXJvdy1yZXZlcnNlIHtcbiAgICBAaW5jbHVkZSBmbGV4LWRpcmVjdGlvbihyb3ctcmV2ZXJzZSk7XG59XG5cbi4jeyRyZWZsZXgtcHJlZml4fWRpcmVjdGlvbi1jb2x1bW4ge1xuICAgIEBpbmNsdWRlIGZsZXgtZGlyZWN0aW9uKGNvbHVtbik7XG59XG5cbi4jeyRyZWZsZXgtcHJlZml4fWRpcmVjdGlvbi1jb2x1bW4tcmV2ZXJzZSB7XG4gICAgQGluY2x1ZGUgZmxleC1kaXJlY3Rpb24oY29sdW1uLXJldmVyc2UpO1xufVxuXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuLy8gYWxpZ24gaXRlbXMgKGNyb3NzIGF4aXMpXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4uI3skcmVmbGV4LXByZWZpeH1hbGlnbi1zdGFydCB7XG4gICAgQGluY2x1ZGUgYWxpZ24taXRlbXMoZmxleC1zdGFydCk7XG59XG5cbi4jeyRyZWZsZXgtcHJlZml4fWFsaWduLWVuZCB7XG4gICAgQGluY2x1ZGUgYWxpZ24taXRlbXMoZmxleC1lbmQpO1xuXG4gICAgQGlmICRsZWdhY3ktc3VwcG9ydCA9PSB0cnVlIHtcbiAgICAgICAgLy8gZmFsbGJhY2sgdG8gbGVnYWN5IHZlcnRpY2FsLWFsaWduXG4gICAgICAgIFtjbGFzcyo9XCIjeyRyZWZsZXgtcHJlZml4fWNvbC1cIl0ge1xuICAgICAgICAgICAgdmVydGljYWwtYWxpZ246IGJvdHRvbTtcbiAgICAgICAgfVxuICAgIH1cbn1cblxuLiN7JHJlZmxleC1wcmVmaXh9YWxpZ24tY2VudGVyIHtcbiAgICBAaW5jbHVkZSBhbGlnbi1pdGVtcyhjZW50ZXIpO1xuXG4gICAgQGlmICRsZWdhY3ktc3VwcG9ydCA9PSB0cnVlIHtcbiAgICAgICAgLy8gZmFsbGJhY2sgdG8gbGVnYWN5IHZlcnRpY2FsLWFsaWduXG4gICAgICAgIFtjbGFzcyo9XCIjeyRyZWZsZXgtcHJlZml4fWNvbC1cIl0ge1xuICAgICAgICAgICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgICAgICAgfVxuICAgIH1cbn1cblxuLiN7JHJlZmxleC1wcmVmaXh9YWxpZ24tYmFzZWxpbmUge1xuICAgIEBpbmNsdWRlIGFsaWduLWl0ZW1zKGJhc2VsaW5lKTtcbn1cblxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbi8vIGFsaWduIGNvbnRlbnQgKGNyb3NzIGF4aXMpXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4uI3skcmVmbGV4LXByZWZpeH1hbGlnbi1jb250ZW50LXN0YXJ0IHtcbiAgICBAaW5jbHVkZSBhbGlnbi1jb250ZW50KGZsZXgtc3RhcnQpO1xufVxuXG4uI3skcmVmbGV4LXByZWZpeH1hbGlnbi1jb250ZW50LWVuZCB7XG4gICAgQGluY2x1ZGUgYWxpZ24tY29udGVudChmbGV4LWVuZCk7XG5cbiAgICAvLyBmYWxsYmFjayB0byBsZWdhY3kgdmVydGljYWwtYWxpZ25cbiAgICBbY2xhc3MqPVwiI3skcmVmbGV4LXByZWZpeH1jb2wtXCJdIHtcbiAgICAgICAgdmVydGljYWwtYWxpZ246IGJvdHRvbTtcbiAgICB9XG59XG5cbi4jeyRyZWZsZXgtcHJlZml4fWFsaWduLWNvbnRlbnQtY2VudGVyIHtcbiAgICBAaW5jbHVkZSBhbGlnbi1jb250ZW50KGNlbnRlcik7XG59XG5cbi4jeyRyZWZsZXgtcHJlZml4fWFsaWduLWNvbnRlbnQtc3BhY2UtYmV0d2VlbiB7XG4gICAgQGluY2x1ZGUgYWxpZ24tY29udGVudChzcGFjZS1iZXR3ZWVuKTtcbn1cblxuLiN7JHJlZmxleC1wcmVmaXh9YWxpZ24tY29udGVudC1zcGFjZS1hcm91bmQge1xuICAgIEBpbmNsdWRlIGFsaWduLWNvbnRlbnQoc3BhY2UtYXJvdW5kKTtcbn1cblxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbi8vIGFsaWduLXNlbGZcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbi4jeyRyZWZsZXgtcHJlZml4fWFsaWduLXNlbGYtc3RyZXRjaCB7XG4gICAgQGluY2x1ZGUgYWxpZ24tc2VsZihzdHJldGNoKTtcbn1cblxuLiN7JHJlZmxleC1wcmVmaXh9YWxpZ24tc2VsZi1zdGFydCB7XG4gICAgQGluY2x1ZGUgYWxpZ24tc2VsZihmbGV4LXN0YXJ0KTtcbn1cblxuLiN7JHJlZmxleC1wcmVmaXh9YWxpZ24tc2VsZi1lbmQge1xuICAgIEBpbmNsdWRlIGFsaWduLXNlbGYoZmxleC1lbmQpO1xuICAgIHZlcnRpY2FsLWFsaWduOiBib3R0b207XG59XG5cbi4jeyRyZWZsZXgtcHJlZml4fWFsaWduLXNlbGYtY2VudGVyIHtcbiAgICBAaW5jbHVkZSBhbGlnbi1zZWxmKGNlbnRlcik7XG4gICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbn1cblxuLiN7JHJlZmxleC1wcmVmaXh9YWxpZ24tc2VsZi1iYXNlbGluZSB7XG4gICAgQGluY2x1ZGUgYWxpZ24tc2VsZihiYXNlbGluZSk7XG4gICAgdmVydGljYWwtYWxpZ246IGJhc2VsaW5lO1xufVxuXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuLy8ganVzdGlmeS1jb250ZW50IChtYWluIGF4aXMpXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4uI3skcmVmbGV4LXByZWZpeH1qdXN0aWZ5LXN0YXJ0IHtcbiAgICBAaW5jbHVkZSBqdXN0aWZ5LWNvbnRlbnQtc3RhcnQoKTtcblxuICAgIEBpZiAkbGVnYWN5LXN1cHBvcnQgPT0gdHJ1ZSB7XG4gICAgICAgICYuZ3JpZCB7XG4gICAgICAgICAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAgICAgICB9XG4gICAgfVxufVxuXG4uI3skcmVmbGV4LXByZWZpeH1qdXN0aWZ5LWVuZCB7XG4gICAgQGluY2x1ZGUganVzdGlmeS1jb250ZW50LWVuZCgpO1xuXG4gICAgQGlmICRsZWdhY3ktc3VwcG9ydCA9PSB0cnVlIHtcbiAgICAgICAgJi5ncmlkIHtcbiAgICAgICAgICAgIHRleHQtYWxpZ246IHJpZ2h0O1xuICAgICAgICAgICAgLW1vei10ZXh0LWFsaWduLWxhc3Q6IHJpZ2h0O1xuICAgICAgICAgICAgdGV4dC1hbGlnbi1sYXN0OiByaWdodDtcblxuICAgICAgICAgICAgW2NsYXNzKj1cIiN7JHJlZmxleC1wcmVmaXh9Y29sLVwiXSB7XG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgcmVzZXQtdGV4dC1hbGlnbigpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxufVxuXG4uI3skcmVmbGV4LXByZWZpeH1qdXN0aWZ5LWNlbnRlciB7XG4gICAgQGluY2x1ZGUganVzdGlmeS1jb250ZW50LWNlbnRlcigpO1xuXG4gICAgQGlmICRsZWdhY3ktc3VwcG9ydCA9PSB0cnVlIHtcbiAgICAgICAgJi5ncmlkIHtcbiAgICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgICAgIC1tb3otdGV4dC1hbGlnbi1sYXN0OiBjZW50ZXI7XG4gICAgICAgICAgICB0ZXh0LWFsaWduLWxhc3Q6IGNlbnRlcjtcblxuICAgICAgICAgICAgW2NsYXNzKj1cIiN7JHJlZmxleC1wcmVmaXh9Y29sLVwiXSB7XG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgcmVzZXQtdGV4dC1hbGlnbigpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxufVxuXG4uI3skcmVmbGV4LXByZWZpeH1qdXN0aWZ5LXNwYWNlLWJldHdlZW4ge1xuICAgIEBpbmNsdWRlIGp1c3RpZnktY29udGVudC1zcGFjZS1iZXR3ZWVuKCk7XG5cbiAgICBAaWYgJGxlZ2FjeS1zdXBwb3J0ID09IHRydWUge1xuICAgICAgICAmLmdyaWQge1xuICAgICAgICAgICAgdGV4dC1hbGlnbjoganVzdGlmeTtcbiAgICAgICAgICAgIC1tb3otdGV4dC1hbGlnbi1sYXN0OiBqdXN0aWZ5O1xuICAgICAgICAgICAgdGV4dC1hbGlnbi1sYXN0OiBqdXN0aWZ5O1xuXG4gICAgICAgICAgICBbY2xhc3MqPVwiI3skcmVmbGV4LXByZWZpeH1jb2wtXCJdIHtcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSByZXNldC10ZXh0LWFsaWduKCk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG59XG5cbi4jeyRyZWZsZXgtcHJlZml4fWp1c3RpZnktc3BhY2UtYXJvdW5kIHtcbiAgICBAaW5jbHVkZSBqdXN0aWZ5LWNvbnRlbnQtc3BhY2UtYXJvdW5kKCk7XG5cbiAgICBAaWYgJGxlZ2FjeS1zdXBwb3J0ID09IHRydWUge1xuICAgICAgICAmLmdyaWQge1xuICAgICAgICAgICAgdGV4dC1hbGlnbjoganVzdGlmeTtcbiAgICAgICAgICAgIC1tb3otdGV4dC1hbGlnbi1sYXN0OiBqdXN0aWZ5O1xuICAgICAgICAgICAgdGV4dC1hbGlnbi1sYXN0OiBqdXN0aWZ5O1xuXG4gICAgICAgICAgICBbY2xhc3MqPVwiI3skcmVmbGV4LXByZWZpeH1jb2wtXCJdIHtcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSByZXNldC10ZXh0LWFsaWduKCk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG59XG5cbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4vLyBjb3NtZXRpYyBncmlkIG1vZGlmaWVyc1xuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuLy8gUmVtb3ZlcyBpbnRlcm5hbCBwYWRkaW5nIGZyb20gYWxsIGNvbHVtbnMgaW4gYSBncmlkXG4uI3skcmVmbGV4LXByZWZpeH1ncmlkLWJsZWVkIHtcbiAgICBbY2xhc3MqPVwiI3skcmVmbGV4LXByZWZpeH1jb2wtXCJdIHtcbiAgICAgICAgcGFkZGluZzogMDtcbiAgICB9XG59XG5cbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4vLyBjb2wgbW9kaWZpZXJzXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4vLyBNYWtlcyBhIGNvbHVtbiBlbGVtZW50IGludG8gYSBmbGV4Ym94IGNvbHVtblxuLiN7JHJlZmxleC1wcmVmaXh9Y29sLWdyaWQge1xuICAgIEBpbmNsdWRlIGRpc3BsYXktZmxleCgpO1xuICAgIEBpbmNsdWRlIGZsZXgtZGlyZWN0aW9uKGNvbHVtbik7XG5cbiAgICAmLiN7JHJlZmxleC1wcmVmaXh9ZGlyZWN0aW9uLXJvdyB7XG4gICAgICAgIEBpbmNsdWRlIGZsZXgtZGlyZWN0aW9uKHJvdyk7XG4gICAgfVxufVxuXG4vLyBSZW1vdmVzIGludGVybmFsIHBhZGRpbmcgZnJvbSBhbGwgY29sdW1ucyBpbiBhIGdyaWRcbi4jeyRyZWZsZXgtcHJlZml4fWNvbC1ibGVlZCB7XG4gICAgcGFkZGluZzogMDtcbn1cblxuLy8gUmVtb3ZlcyBob3Jpem9udGFsIHBhZGRpbmcgZnJvbSBhbGwgY29sdW1ucyBpbiBhIGdyaWRcbi4jeyRyZWZsZXgtcHJlZml4fWNvbC1ibGVlZC14IHtcbiAgICBwYWRkaW5nOiAkcmVmbGV4LWdyaWQtc3BhY2luZyAwO1xufVxuXG4vLyBSZW1vdmVzIHZlcnRpY2FsIHBhZGRpbmcgZnJvbSBhbGwgY29sdW1ucyBpbiBhIGdyaWRcbi4jeyRyZWZsZXgtcHJlZml4fWNvbC1ibGVlZC15IHtcbiAgICBwYWRkaW5nOiAwICRyZWZsZXgtZ3JpZC1zcGFjaW5nO1xufVxuXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuLy8gY29sLWdyaWQgY29udGVudHNcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbi4jeyRyZWZsZXgtcHJlZml4fWZsZXgtaW1nIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBAaW5jbHVkZSBmbGV4KDAsIDAsIGF1dG8pO1xuICAgIG1heC13aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6IGF1dG87XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgQGlmICRsZWdhY3ktc3VwcG9ydCA9PSB0cnVlIHtcbiAgICAgICAgKndpZHRoOiBhdXRvO1xuICAgIH1cbn1cblxuLiN7JHJlZmxleC1wcmVmaXh9ZmxleC1mb290ZXIge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIG1hcmdpbi10b3A6IGF1dG87XG4gICAgbWFyZ2luLWJvdHRvbTogMDtcblxuICAgID4gOmxhc3QtY2hpbGQge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgIH1cbn1cblxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbi8vIFJlc3BvbnNpdmUgdmlzaWJpbGl0eSBtb2RpZmllcnNcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbkBpbmNsdWRlIHJlc3BvbnNpdmUtdmlzaWJpbGl0eS1oZWxwZXJzKCk7XG4iLCIvKipcbiAqIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAqIFVuLnRpdGxlZFxuICogQ29uZmlnIC0gRm9udHNcbiAqIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAqL1xuXG4vKipcbiAgICogRm9udCBTaXplXG4gICAqL1xuJGZvbnQtYmFzZS1zaXplOiAxMDAlOyAvL1NldCBkb2N1bWVudCByb290IHNpemUgdG8gYmFzZSBmb250IHNpemVcblxuLyoqXG4gICAqIExpbmUgaGVpZ2h0XG4gICAqL1xuJGxpbmUtYm9keTogMS42O1xuXG4vKipcbiAgICogQ3VzdG9tIGZvbnRzXG4gICAqL1xuQGZvbnQtZmFjZSB7XG4gIGZvbnQtZmFtaWx5OiAnTGV0dGVyYXRleHRwcm8nO1xuICBzcmM6IHVybCgnLi4vZm9udC9MZXR0ZXJhVGV4dFByby53b2ZmMicpIGZvcm1hdCgnd29mZjInKSxcbiAgICB1cmwoJy4uL2ZvbnQvTGV0dGVyYVRleHRQcm8ud29mZicpIGZvcm1hdCgnd29mZicpO1xuICBmb250LXdlaWdodDogbm9ybWFsO1xuICBmb250LXN0eWxlOiBub3JtYWw7XG4gIGZvbnQtZGlzcGxheTogc3dhcDtcbn1cblxuQGZvbnQtZmFjZSB7XG4gIGZvbnQtZmFtaWx5OiAnTGV0dGVyYXRleHRwcm9pdGFsaWMnO1xuICBzcmM6IHVybCgnLi4vZm9udC9MZXR0ZXJhVGV4dFByby1JdGFsaWMud29mZjInKSBmb3JtYXQoJ3dvZmYyJyksXG4gICAgdXJsKCcuLi9mb250L0xldHRlcmFUZXh0UHJvLUl0YWxpYy53b2ZmJykgZm9ybWF0KCd3b2ZmJyk7XG4gIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gIGZvbnQtc3R5bGU6IGl0YWxpYztcbiAgZm9udC1kaXNwbGF5OiBzd2FwO1xufVxuXG5AZm9udC1mYWNlIHtcbiAgZm9udC1mYW1pbHk6ICdMZXR0ZXJhdGV4dHByb2JvbGRpdGFsaWMnO1xuICBzcmM6IHVybCgnLi4vZm9udC9MZXR0ZXJhVGV4dFByby1Cb2xkSXRhbGljLndvZmYyJykgZm9ybWF0KCd3b2ZmMicpLFxuICAgIHVybCgnLi4vZm9udC9MZXR0ZXJhVGV4dFByby1Cb2xkSXRhbGljLndvZmYnKSBmb3JtYXQoJ3dvZmYnKTtcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gIGZvbnQtc3R5bGU6IGl0YWxpYztcbiAgZm9udC1kaXNwbGF5OiBzd2FwO1xufVxuXG5AZm9udC1mYWNlIHtcbiAgZm9udC1mYW1pbHk6ICdMZXR0ZXJhdGV4dHByb2JvbGQnO1xuICBzcmM6IHVybCgnLi4vZm9udC9MZXR0ZXJhVGV4dFByby1Cb2xkLndvZmYyJykgZm9ybWF0KCd3b2ZmMicpLFxuICAgIHVybCgnLi4vZm9udC9MZXR0ZXJhVGV4dFByby1Cb2xkLndvZmYnKSBmb3JtYXQoJ3dvZmYnKTtcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgZm9udC1kaXNwbGF5OiBzd2FwO1xufVxuIiwiLyoqXG4gKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gKiBVbi50aXRsZWRcbiAqIENvbmZpZyAtIFZhcnNcbiAqIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAqL1xuXG46cm9vdCB7XG4gIC0tYy1wcmltYXJ5OiAjMWIxYjFiO1xuICAtLWMtc2Vjb25kYXJ5OiAjZmZmZmZmO1xuICAtLWMtdGVydGlhcnk6ICNmZmU0MDA7XG4gIC0tYy13aGl0ZTogI2ZmZmZmZjtcbiAgLS1jLWJsYWNrOiAjMDAwMDAwO1xuICAtLWMtZ3JleTogI2FiYWJhYjtcbiAgLS1jLWNoYXJjb2FsOiAjM2IzYjNiO1xuXG4gIC0tZm9udFNpemVTbTogMTRweDtcbiAgLS1mb250U2l6ZTogMTZweDtcbiAgLS1mb250U2l6ZUxnOiAxOHB4O1xuICAtLWZvbnRTaXplSGVhZGluZ0ZvdXI6IDIwcHg7XG4gIC0tZm9udFNpemVIZWFkaW5nVGhyZWU6IDI2cHg7XG4gIC0tZm9udFNpemVIZWFkaW5nVHdvOiA0MnB4O1xuICAtLWZvbnRTaXplSGVhZGluZ09uZTogNTRweDtcbiAgLS1jb250YWluZXJXaWR0aExhcHRvcDogMTAyMXB4O1xuICAtLWNvbnRhaW5lcldpZHRoRGVza3RvcDogMTI3MHB4O1xuXG4gIC0tZm9udEJvZHk6ICdMZXR0ZXJhdGV4dHBybycsIHNhbnMtc2VyaWY7XG4gIC0tZm9udFRpdGxlOiAnTGV0dGVyYXRleHRwcm9ib2xkJywgc2Fucy1zZXJpZjtcbiAgLS1mb250Qm9sZDogJ0xldHRlcmF0ZXh0cHJvYm9sZCcsIHNhbnMtc2VyaWY7XG5cbiAgLS1mb250U2l6ZTogMTZweDtcbiAgLS1saW5lSGVpZ2h0OiAxLjU7XG4gIC0tYnVtcDogMzBweDtcbiAgLS1zbWFsbEJ1bXA6IDI0cHg7XG5cbiAgLS1lYXNpbmc6IGN1YmljLWJlemllcigwLjgzLCAwLCAwLjE3LCAxKTtcbiAgLS12aDogMXZoO1xuICAtLXRlYXNlckJhY2tncm91bmQ6ICNmZmZmZmY7XG4gIC0taGVhZGVyLWhlaWdodDogMTA1cHg7XG4gIC0taGVhZGVyLWhlaWdodC1tb2JpbGU6IDkwcHg7XG4gIC0tdHJhbnNpdGlvbjogdmFyKC0tZWFzaW5nKTtcbn1cblxuLyoqXG4gKiBCcmVha3BvaW50c1xuICovXG4kYnJlYWtwb2ludHM6IChcbiAgeHM6IDU3NnB4LFxuICBzbTogNzY4cHgsXG4gIG1kOiA5OTJweCxcbiAgbGc6IDEyMDBweCxcbiAgeGxnOiAxNjAwcHgsXG4pO1xuIiwiLyoqXG4gKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gKiBVbi50aXRsZWRcbiAqIEhlbHBlcnMgLSBGb2N1cyBWaXNpYmxlXG4gKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gKi9cblxuLyoqXG4gKiBGb2N1cyBWaXNpYmxlXG4gKiBodHRwczovL2dpdGh1Yi5jb20vV0lDRy9mb2N1cy12aXNpYmxlXG4gKiBPdmVycmlkZSBiYXNlIGZvY3VzIHN0eWxlcyBmb3IgbW91c2UgYW5kIHRvdWNoIGludGVyYWN0aW9uc1xuICovXG5AbWl4aW4gZm9jdXMtdmlzaWJsZSgpIHtcbiAgLmpzLWZvY3VzLXZpc2libGUgJiB7XG4gICAgJjpub3QoLmZvY3VzLXZpc2libGUpIHtcbiAgICAgIEBjb250ZW50O1xuICAgIH1cbiAgfVxufVxuIiwiLyoqXG4gKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gKiBVbi50aXRsZWRcbiAqIEhlbHBlcnMgLSBGb250IFNtb290aGluZ1xuICogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICovXG5cbi8qKiBcbiAqIEZvbnQgU21vb3RoaW5nXG4gKiBFbmFibGVzIGZvbnQgc21vb3RoaW5nIGZvciBjYXBhYmxlIGJyb3dzZXJzLlxuICogT3B0aW9uYWxseSBmb3JjZSBmb250LXNtb290aGluZyBvbiBub24tcmV0aW5hIGRldmljZXMuXG4gKiBAcGFyYW0ge2Jvb2xlYW59ICRmb3JjZSBbZmFsc2VdXG4gKiBAcmV0dXJuIHtzdHJpbmd9XG4gKi9cbkBtaXhpbiBmb250LXNtb290aGluZygkZm9yY2U6IGZhbHNlKSB7XG4gIEBpZiAkZm9yY2UgPT0gdHJ1ZSB7XG4gICAgLW1vei1mb250LXNtb290aGluZzogZ3JheXNjYWxlO1xuICAgIC1tb3otb3N4LWZvbnQtc21vb3RoaW5nOiBncmF5c2NhbGU7XG4gICAgLXdlYmtpdC1mb250LXNtb290aGluZzogYW50aWFsaWFzZWQ7XG4gIH0gQGVsc2Uge1xuICAgIEBtZWRpYSAoLXdlYmtpdC1taW4tZGV2aWNlLXBpeGVsLXJhdGlvOiAyKSwgKG1pbi1yZXNvbHV0aW9uOiAxOTJkcGkpIHtcbiAgICAgIC1tb3otZm9udC1zbW9vdGhpbmc6IGdyYXlzY2FsZTtcbiAgICAgIC1tb3otb3N4LWZvbnQtc21vb3RoaW5nOiBncmF5c2NhbGU7XG4gICAgICAtd2Via2l0LWZvbnQtc21vb3RoaW5nOiBhbnRpYWxpYXNlZDtcbiAgICB9XG4gIH1cbn1cbiIsIi8qKlxuICogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICogVW4udGl0bGVkXG4gKiBIZWxwZXJzIC0gR2xvYmFsIG1peGluc1xuICogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICovXG5cbi8vIFJlc2V0IDxsaT4gZWxlbWVudHNcbkBtaXhpbiBsaS1yZXNldCB7XG4gIGxpc3Qtc3R5bGU6IG5vbmU7XG4gIG1hcmdpbjogMDtcbiAgcGFkZGluZzogMDtcblxuICBsaSB7XG4gICAgbGlzdC1zdHlsZTogbm9uZTtcbiAgICBtYXJnaW46IDA7XG4gICAgcGFkZGluZzogMDtcbiAgfVxufVxuXG4vLyBSZW1vdmUgdGV4dCBmcm9tIGVsZW1lbnRzXG5AbWl4aW4gcm0tdGV4dCB7XG4gIHRleHQtYWxpZ246IGxlZnQ7XG4gIHRleHQtaW5kZW50OiAtOTk5OXB4O1xufVxuXG4vLyBCYWNrZ3JvdW5kIGltYWdlc1xuQG1peGluIGJnLWltZygkc2l6ZSkge1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXIgY2VudGVyO1xuICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICBiYWNrZ3JvdW5kLXNpemU6ICRzaXplO1xufVxuXG4vLyBJRSA5KyBvbmx5XG5AbWl4aW4gaWUoJHByb3BlcnR5LCAkdmFsdWUpIHtcbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMFxcMCkgYW5kIChtaW4tcmVzb2x1dGlvbjogKzcyZHBpKSB7XG4gICAgI3skcHJvcGVydHl9OiAjeyR2YWx1ZX07XG4gIH1cbn1cblxuQG1peGluIGJ0blJlc2V0IHtcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gIGJvcmRlcjogMDtcbiAgYXBwZWFyYW5jZTogbm9uZTtcbiAgcGFkZGluZzogMDtcbn1cbiIsIi8qKlxuICogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICogVW4udGl0bGVkXG4gKiBIZWxwZXJzIC0gVGFibGVcbiAqIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAqL1xuXG4vKipcbiAqIFJlc3BvbnNpdmUgVGFibGVcbiAqIENyZWF0ZXMgYSByZXNwb25zaXZlIHRhYmxlXG4gKiBBY2NlcHRzIGEgbGlzdCBvZiBoZWFkZXJzIHRvIHJlcGxhY2UgbWFpbiBcbiAqIHRhYmxlIGhlYWRlcnMgb24gbW9iaWxlLlxuICogQHBhcmFtIHttYXB9ICRoZWFkZXJzXG4gKiBAcmV0dXJuIHtzdHJpbmd9XG4gKi9cbkBtaXhpbiByZXNwb25zaXZlLXRhYmxlKCRoZWFkZXJzOiAoKSkge1xuICBAaW5jbHVkZSBtZWRpYSgnPHRhYmxldCcpIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgfVxuXG4gIHRhYmxlLFxuICB0aGVhZCxcbiAgdGJvZHksXG4gIHRoLFxuICB0ZCxcbiAgdHIge1xuICAgIEBpbmNsdWRlIG1lZGlhKCc8dGFibGV0Jykge1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgfVxuICB9XG5cbiAgdGhlYWQge1xuICAgIHRyIHtcbiAgICAgIEBpbmNsdWRlIG1lZGlhKCc8dGFibGV0Jykge1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHRvcDogLTk5OTlweDtcbiAgICAgICAgbGVmdDogLTk5OTlweDtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICB0ciB7XG4gICAgQGluY2x1ZGUgbWVkaWEoJzx0YWJsZXQnKSB7XG4gICAgICBtYXJnaW4tdG9wOiAtMXB4O1xuICAgICAgYm9yZGVyOiAxcHggc29saWQgJGNvbG9yLWJsYWNrO1xuICAgICAgYm9yZGVyLXdpZHRoOiAxcHggMDtcbiAgICAgIHBhZGRpbmc6IHNpemUoMzBweCkgMDtcbiAgICB9XG5cbiAgICAmOmZpcnN0LWNoaWxkIHtcbiAgICAgIEBpbmNsdWRlIG1lZGlhKCc8dGFibGV0Jykge1xuICAgICAgICBtYXJnaW4tdG9wOiAwO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIHRkIHtcbiAgICBAaW5jbHVkZSBtZWRpYSgnPHRhYmxldCcpIHtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgcGFkZGluZzogMDtcbiAgICAgIG1hcmdpbi10b3A6IHNpemUoMTZweCk7XG4gICAgfVxuXG4gICAgJjpmaXJzdC1jaGlsZCB7XG4gICAgICBAaW5jbHVkZSBtZWRpYSgnPHRhYmxldCcpIHtcbiAgICAgICAgbWFyZ2luLXRvcDogMDtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAmOjpiZWZvcmUge1xuICAgICAgQGluY2x1ZGUgbWVkaWEoJzx0YWJsZXQnKSB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAvKipcbiAgICogSGVhZGVyc1xuICAgKi9cbiAgQGVhY2ggJGhlYWRlciBpbiAkaGVhZGVycyB7XG4gICAgJGk6IGluZGV4KCRoZWFkZXJzLCAkaGVhZGVyKTtcblxuICAgIHRkOm50aC1vZi10eXBlKCN7JGl9KTo6YmVmb3JlIHtcbiAgICAgIEBpbmNsdWRlIG1lZGlhKCc8dGFibGV0Jykge1xuICAgICAgICBjb250ZW50OiAkaGVhZGVyO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIiwiLy8gaGVscGVyc1xuXG4ucGFkZGluZy1jbGVhciB7XG4gIHBhZGRpbmc6IDAgIWltcG9ydGFudDtcbn1cblxuLm1hcmdpbi1jbGVhciB7XG4gIG1hcmdpbjogMCAhaW1wb3J0YW50O1xufVxuXG4uY29sLWJsZWVkIHtcbiAgcGFkZGluZzogMDtcbn1cbi5jb2wtYmxlZWQteCB7XG4gIHBhZGRpbmc6IDE1cHggMDtcbn1cbi5jb2wtYmxlZWQteSB7XG4gIHBhZGRpbmc6IDAgMTVweDtcbn1cblxuLnBhZC1ib3R0b20ge1xuICBwYWRkaW5nOiAwIDAgY2FsYyh2YXIoLS1idW1wKSAqIDIpO1xufVxuXG4ubWFyZ2luLXRvcCB7XG4gIG1hcmdpbjogdmFyKC0tYnVtcCkgMCAwO1xufVxuXG4ubWFyZ2luLWJvdHRvbSB7XG4gIG1hcmdpbjogMCAwIGNhbGModmFyKC0tYnVtcCkgKiAyKTtcbn1cblxuLmRpc3BsYXktZmxleCB7XG4gIGRpc3BsYXk6IGZsZXg7XG59XG5cbi52ZXJ0aWNhbC1jZW50ZXIge1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xufVxuXG4uc2VsZi1zdGFydCB7XG4gIGFsaWduLXNlbGY6IHN0YXJ0O1xufVxuXG4uc2VsZi1jZW50ZXIge1xuICBhbGlnbi1zZWxmOiBjZW50ZXI7XG59XG5cbi5hbGlnbi1pdGVtcy1zdGFydCB7XG4gIGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0O1xufVxuXG4uZmxleC1jZW50ZXIge1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBhbGlnbi1jb250ZW50OiBjZW50ZXI7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xufVxuXG4uZmxleC1lbmQge1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kO1xufVxuXG4uZmxleC1zdGFydCB7XG4gIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDtcbn1cblxuLnNwYWNlLWJldHdlZW4ge1xuICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG59XG5cbi50ZXh0LWFsaWduLWNlbnRlciB7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgdGV4dC1hbGlnbi1sYXN0OiBjZW50ZXI7XG59XG5cblxuQG1lZGlhIChtYXgtd2lkdGg6IDU3NXB4KSB7XG4gIC5oaWRkZW4teHhzIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG59XG5cbkBtZWRpYSAobWluLXdpZHRoOiA1NzZweCkge1xuICAuaGlkZGVuLXhzLXVwIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG59XG5cbkBtZWRpYSAobWF4LXdpZHRoOiA3NjdweCkge1xuICAuaGlkZGVuLXhzLWRvd24ge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cbn1cblxuQG1lZGlhIChtaW4td2lkdGg6IDU3NnB4KSBhbmQgKG1heC13aWR0aDogNzY3cHgpIHtcbiAgLmhpZGRlbi14cyB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxufVxuXG5AbWVkaWEgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgLmhpZGRlbi1zbS11cCB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxufVxuXG5AbWVkaWEgKG1heC13aWR0aDogOTkxcHgpIHtcbiAgLmhpZGRlbi1zbS1kb3duIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG59XG5cbkBtZWRpYSAobWluLXdpZHRoOiA3NjhweCkgYW5kIChtYXgtd2lkdGg6IDk5MXB4KSB7XG4gIC5oaWRkZW4tc20ge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cbn1cblxuQG1lZGlhIChtaW4td2lkdGg6IDk5MnB4KSB7XG4gIC5oaWRkZW4tbWQtdXAge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cbn1cblxuQG1lZGlhIChtYXgtd2lkdGg6IDExOTlweCkge1xuICAuaGlkZGVuLW1kLWRvd24ge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cbn1cblxuQG1lZGlhIChtaW4td2lkdGg6IDk5MnB4KSBhbmQgKG1heC13aWR0aDogMTE5OXB4KSB7XG4gIC5oaWRkZW4tbWQge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cbn1cblxuQG1lZGlhIChtaW4td2lkdGg6IDEyMDBweCkge1xuICAuaGlkZGVuLWxnLXVwIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG59XG5cbkBtZWRpYSAobWF4LXdpZHRoOiAxNTk5cHgpIHtcbiAgLmhpZGRlbi1sZy1kb3duIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG59XG5cbkBtZWRpYSAobWluLXdpZHRoOiAxMjAwcHgpIGFuZCAobWF4LXdpZHRoOiAxNTk5cHgpIHtcbiAgLmhpZGRlbi1sZyB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxufVxuXG5AbWVkaWEgKG1pbi13aWR0aDogMTYwMHB4KSB7XG4gIC5oaWRkZW4teGxnIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG59XG5cbi5uby11bmRlcmxpbmUge1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICY6aG92ZXIge1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgfVxufVxuXG4uYm9sZCB7XG4gIGZvbnQtd2VpZ2h0OiBib2xkO1xufVxuXG4ubW9iaWxlLWhpZGUge1xuICBAaW5jbHVkZSBtZWRpYSgnPHNtJykge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cbn1cblxuLnRhYi1oaWRlIHtcbiAgQGluY2x1ZGUgbWVkaWEoJzxtZCcpIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG59XG5cbi5wb2ludGVyLWV2ZW50cy1ub25lIHtcbiAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG59XG5cbi5ibHVlLWJnIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYy1iZy1hbHQpO1xufVxuXG4ueWVsbG93LWJnIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYy10ZXJ0aWFyeSk7XG59XG5cbnNlY3Rpb24ucHJlLWZvb3Rlci1wdWxsLFxuZGl2LnByZS1mb290ZXItcHVsbCB7XG4gIHBhZGRpbmc6IGNhbGModmFyKC0tYnVtcCkgKiAyKSBjYWxjKHZhcigtLWJ1bXApIC8gMik7XG4gIG1hcmdpbi1ib3R0b206IDA7XG4gIEBpbmNsdWRlIG1lZGlhKCc8bWQnKSB7XG4gICAgcGFkZGluZzogY2FsYyh2YXIoLS1idW1wKSAqIDEpIGNhbGModmFyKC0tYnVtcCkgLyAyKSBjYWxjKHZhcigtLWJ1bXApICogMik7XG4gIH1cbn1cblxuLmJsYWNrLXRleHQge1xuICBjb2xvcjogdmFyKC0tYy1ibGFjayk7XG59XG5cbi8vIHNjcmVlbiByZWFkZXJzXG4uc2NyZWVuLXJlYWRlcnMge1xuICBAaW5jbHVkZSBybS10ZXh0O1xuICBkaXNwbGF5OiBibG9jaztcbiAgaGVpZ2h0OiAwO1xuICB3aWR0aDogMDtcbn1cblxuLmxhbmd1YWdlLXN3aXRjaGVyLWxhbmd1YWdlLXVybCxcbi5kaXNwbGF5LW5vbmUge1xuICBkaXNwbGF5OiBub25lO1xufVxuXG4uZ3JpZCB7XG4gICYubWF4LXdpZHRoLTEwMCB7XG4gICAgbWF4LXdpZHRoOiAxMDAlO1xuICB9XG59XG5cbi52aWRlb19fd2FsbCB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7XG5cbiAgQGluY2x1ZGUgbWVkaWEoJzxzbScpIHtcbiAgICBsZWZ0OiAxNXB4O1xuICB9XG5cbiAgQGluY2x1ZGUgbWVkaWEoJzx4cycpIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG5cbiAgLnZpZGVvX193YWxsX19jb250cm9scyB7XG4gICAgQGluY2x1ZGUgcm0tdGV4dDtcbiAgICBAaW5jbHVkZSBiZy1pbWcodmFyKC0tYnVtcCkpO1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCgnLi4vaW1nL3BsYXkuc3ZnJyk7XG4gICAgYm9yZGVyOiAwO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIGhlaWdodDogIHZhcigtLWJ1bXApO1xuICAgIHdpZHRoOiAgdmFyKC0tYnVtcCk7XG4gICAgei1pbmRleDogNTtcbiAgICAvLyBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudGl6ZSh2YXIoLS1jLXByaW1hcnkpLCAwLjEpO1xuXG4gICAgQGluY2x1ZGUgbWVkaWEoJzxtZCcpIHtcbiAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCgnLi4vaW1nL3BhdXNlLnN2ZycpO1xuICAgIH1cblxuICAgICY6aG92ZXIge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYy1wcmltYXJ5KTtcbiAgICB9XG5cbiAgICAmW2RhdGEtcGxheXN0YXRlPSdwYXVzZWQnXSB7XG4gICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoJy4uL2ltZy9wYXVzZS5zdmcnKTtcblxuICAgICAgQGluY2x1ZGUgbWVkaWEoJzxtZCcpIHtcbiAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKCcuLi9pbWcvcGxheS5zdmcnKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBAaW5jbHVkZSBtZWRpYSgnPHhzJykge1xuICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgIHZpc2liaWxpdHk6IGhpZGRlbjtcbiAgICB9XG4gIH1cblxuICBwIHtcbiAgICBjb2xvcjogdmFyKC0tYy1zZWNvbmRhcnkpO1xuICAgIGZvbnQtc2l6ZTogMTRweDtcbiAgICBsZXR0ZXItc3BhY2luZzogMDtcbiAgICBsaW5lLWhlaWdodDogMjBweDtcbiAgfVxufSIsIkBjaGFyc2V0IFwiVVRGLThcIjtcblxuLy8gICAgIF8gICAgICAgICAgICBfICAgICAgICAgICBfICAgICAgICAgICAgICAgICAgICAgICAgICAgXyBfXG4vLyAgICAoXykgICAgICAgICAgfCB8ICAgICAgICAgfCB8ICAgICAgICAgICAgICAgICAgICAgICAgIHwgKF8pXG4vLyAgICAgXyBfIF9fICAgX19ffCB8XyAgIF8gIF9ffCB8IF9fXyAgIF8gX18gX19fICAgX19fICBfX3wgfF8gIF9fIF9cbi8vICAgIHwgfCAnXyBcXCAvIF9ffCB8IHwgfCB8LyBfYCB8LyBfIFxcIHwgJ18gYCBfIFxcIC8gXyBcXC8gX2AgfCB8LyBfYCB8XG4vLyAgICB8IHwgfCB8IHwgKF9ffCB8IHxffCB8IChffCB8ICBfXy8gfCB8IHwgfCB8IHwgIF9fLyAoX3wgfCB8IChffCB8XG4vLyAgICB8X3xffCB8X3xcXF9fX3xffFxcX18sX3xcXF9fLF98XFxfX198IHxffCB8X3wgfF98XFxfX198XFxfXyxffF98XFxfXyxffFxuLy9cbi8vICAgICAgU2ltcGxlLCBlbGVnYW50IGFuZCBtYWludGFpbmFibGUgbWVkaWEgcXVlcmllcyBpbiBTYXNzXG4vLyAgICAgICAgICAgICAgICAgICAgICAgIHYxLjQuOVxuLy9cbi8vICAgICAgICAgICAgICAgIGh0dHA6Ly9pbmNsdWRlLW1lZGlhLmNvbVxuLy9cbi8vICAgICAgICAgQXV0aG9yczogRWR1YXJkbyBCb3VjYXMgKEBlZHVhcmRvYm91Y2FzKVxuLy8gICAgICAgICAgICAgICAgICBIdWdvIEdpcmF1ZGVsIChAaHVnb2dpcmF1ZGVsKVxuLy9cbi8vICAgICAgVGhpcyBwcm9qZWN0IGlzIGxpY2Vuc2VkIHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgTUlUIGxpY2Vuc2VcblxuXG4vLy8vXG4vLy8gaW5jbHVkZS1tZWRpYSBsaWJyYXJ5IHB1YmxpYyBjb25maWd1cmF0aW9uXG4vLy8gQGF1dGhvciBFZHVhcmRvIEJvdWNhc1xuLy8vIEBhY2Nlc3MgcHVibGljXG4vLy8vXG5cblxuLy8vXG4vLy8gQ3JlYXRlcyBhIGxpc3Qgb2YgZ2xvYmFsIGJyZWFrcG9pbnRzXG4vLy9cbi8vLyBAZXhhbXBsZSBzY3NzIC0gQ3JlYXRlcyBhIHNpbmdsZSBicmVha3BvaW50IHdpdGggdGhlIGxhYmVsIGBwaG9uZWBcbi8vLyAgJGJyZWFrcG9pbnRzOiAoJ3Bob25lJzogMzIwcHgpO1xuLy8vXG4kYnJlYWtwb2ludHM6IChcbiAgJ3Bob25lJzogMzIwcHgsXG4gICd0YWJsZXQnOiA3NjhweCxcbiAgJ2Rlc2t0b3AnOiAxMDI0cHhcbikgIWRlZmF1bHQ7XG5cblxuLy8vXG4vLy8gQ3JlYXRlcyBhIGxpc3Qgb2Ygc3RhdGljIGV4cHJlc3Npb25zIG9yIG1lZGlhIHR5cGVzXG4vLy9cbi8vLyBAZXhhbXBsZSBzY3NzIC0gQ3JlYXRlcyBhIHNpbmdsZSBtZWRpYSB0eXBlIChzY3JlZW4pXG4vLy8gICRtZWRpYS1leHByZXNzaW9uczogKCdzY3JlZW4nOiAnc2NyZWVuJyk7XG4vLy9cbi8vLyBAZXhhbXBsZSBzY3NzIC0gQ3JlYXRlcyBhIHN0YXRpYyBleHByZXNzaW9uIHdpdGggbG9naWNhbCBkaXNqdW5jdGlvbiAoT1Igb3BlcmF0b3IpXG4vLy8gICRtZWRpYS1leHByZXNzaW9uczogKFxuLy8vICAgICdyZXRpbmEyeCc6ICcoLXdlYmtpdC1taW4tZGV2aWNlLXBpeGVsLXJhdGlvOiAyKSwgKG1pbi1yZXNvbHV0aW9uOiAxOTJkcGkpJ1xuLy8vICApO1xuLy8vXG4kbWVkaWEtZXhwcmVzc2lvbnM6IChcbiAgJ3NjcmVlbic6ICdzY3JlZW4nLFxuICAncHJpbnQnOiAncHJpbnQnLFxuICAnaGFuZGhlbGQnOiAnaGFuZGhlbGQnLFxuICAnbGFuZHNjYXBlJzogJyhvcmllbnRhdGlvbjogbGFuZHNjYXBlKScsXG4gICdwb3J0cmFpdCc6ICcob3JpZW50YXRpb246IHBvcnRyYWl0KScsXG4gICdyZXRpbmEyeCc6ICcoLXdlYmtpdC1taW4tZGV2aWNlLXBpeGVsLXJhdGlvOiAyKSwgKG1pbi1yZXNvbHV0aW9uOiAxOTJkcGkpLCAobWluLXJlc29sdXRpb246IDJkcHB4KScsXG4gICdyZXRpbmEzeCc6ICcoLXdlYmtpdC1taW4tZGV2aWNlLXBpeGVsLXJhdGlvOiAzKSwgKG1pbi1yZXNvbHV0aW9uOiAzNTBkcGkpLCAobWluLXJlc29sdXRpb246IDNkcHB4KSdcbikgIWRlZmF1bHQ7XG5cblxuLy8vXG4vLy8gRGVmaW5lcyBhIG51bWJlciB0byBiZSBhZGRlZCBvciBzdWJ0cmFjdGVkIGZyb20gZWFjaCB1bml0IHdoZW4gZGVjbGFyaW5nIGJyZWFrcG9pbnRzIHdpdGggZXhjbHVzaXZlIGludGVydmFsc1xuLy8vXG4vLy8gQGV4YW1wbGUgc2NzcyAtIEludGVydmFsIGZvciBwaXhlbHMgaXMgZGVmaW5lZCBhcyBgMWAgYnkgZGVmYXVsdFxuLy8vICBAaW5jbHVkZSBtZWRpYSgnPjEyOHB4Jykge31cbi8vL1xuLy8vICAvKiBHZW5lcmF0ZXM6ICovXG4vLy8gIEBtZWRpYSAobWluLXdpZHRoOiAxMjlweCkge31cbi8vL1xuLy8vIEBleGFtcGxlIHNjc3MgLSBJbnRlcnZhbCBmb3IgZW1zIGlzIGRlZmluZWQgYXMgYDAuMDFgIGJ5IGRlZmF1bHRcbi8vLyAgQGluY2x1ZGUgbWVkaWEoJz4yMGVtJykge31cbi8vL1xuLy8vICAvKiBHZW5lcmF0ZXM6ICovXG4vLy8gIEBtZWRpYSAobWluLXdpZHRoOiAyMC4wMWVtKSB7fVxuLy8vXG4vLy8gQGV4YW1wbGUgc2NzcyAtIEludGVydmFsIGZvciByZW1zIGlzIGRlZmluZWQgYXMgYDAuMWAgYnkgZGVmYXVsdCwgdG8gYmUgdXNlZCB3aXRoIGBmb250LXNpemU6IDYyLjUlO2Bcbi8vLyAgQGluY2x1ZGUgbWVkaWEoJz4yLjByZW0nKSB7fVxuLy8vXG4vLy8gIC8qIEdlbmVyYXRlczogKi9cbi8vLyAgQG1lZGlhIChtaW4td2lkdGg6IDIuMXJlbSkge31cbi8vL1xuJHVuaXQtaW50ZXJ2YWxzOiAoXG4gICdweCc6IDEsXG4gICdlbSc6IDAuMDEsXG4gICdyZW0nOiAwLjEsXG4gICcnOiAwXG4pICFkZWZhdWx0O1xuXG4vLy9cbi8vLyBEZWZpbmVzIHdoZXRoZXIgc3VwcG9ydCBmb3IgbWVkaWEgcXVlcmllcyBpcyBhdmFpbGFibGUsIHVzZWZ1bCBmb3IgY3JlYXRpbmcgc2VwYXJhdGUgc3R5bGVzaGVldHNcbi8vLyBmb3IgYnJvd3NlcnMgdGhhdCBkb24ndCBzdXBwb3J0IG1lZGlhIHF1ZXJpZXMuXG4vLy9cbi8vLyBAZXhhbXBsZSBzY3NzIC0gRGlzYWJsZXMgc3VwcG9ydCBmb3IgbWVkaWEgcXVlcmllc1xuLy8vICAkaW0tbWVkaWEtc3VwcG9ydDogZmFsc2U7XG4vLy8gIEBpbmNsdWRlIG1lZGlhKCc+PXRhYmxldCcpIHtcbi8vLyAgICAuZm9vIHtcbi8vLyAgICAgIGNvbG9yOiB0b21hdG87XG4vLy8gICAgfVxuLy8vICB9XG4vLy9cbi8vLyAgLyogR2VuZXJhdGVzOiAqL1xuLy8vICAuZm9vIHtcbi8vLyAgICBjb2xvcjogdG9tYXRvO1xuLy8vICB9XG4vLy9cbiRpbS1tZWRpYS1zdXBwb3J0OiB0cnVlICFkZWZhdWx0O1xuXG4vLy9cbi8vLyBTZWxlY3RzIHdoaWNoIGJyZWFrcG9pbnQgdG8gZW11bGF0ZSB3aGVuIHN1cHBvcnQgZm9yIG1lZGlhIHF1ZXJpZXMgaXMgZGlzYWJsZWQuIE1lZGlhIHF1ZXJpZXMgdGhhdCBzdGFydCBhdCBvclxuLy8vIGludGVyY2VwdCB0aGUgYnJlYWtwb2ludCB3aWxsIGJlIGRpc3BsYXllZCwgYW55IG90aGVycyB3aWxsIGJlIGlnbm9yZWQuXG4vLy9cbi8vLyBAZXhhbXBsZSBzY3NzIC0gVGhpcyBtZWRpYSBxdWVyeSB3aWxsIHNob3cgYmVjYXVzZSBpdCBpbnRlcmNlcHRzIHRoZSBzdGF0aWMgYnJlYWtwb2ludFxuLy8vICAkaW0tbWVkaWEtc3VwcG9ydDogZmFsc2U7XG4vLy8gICRpbS1uby1tZWRpYS1icmVha3BvaW50OiAnZGVza3RvcCc7XG4vLy8gIEBpbmNsdWRlIG1lZGlhKCc+PXRhYmxldCcpIHtcbi8vLyAgICAuZm9vIHtcbi8vLyAgICAgIGNvbG9yOiB0b21hdG87XG4vLy8gICAgfVxuLy8vICB9XG4vLy9cbi8vLyAgLyogR2VuZXJhdGVzOiAqL1xuLy8vICAuZm9vIHtcbi8vLyAgICBjb2xvcjogdG9tYXRvO1xuLy8vICB9XG4vLy9cbi8vLyBAZXhhbXBsZSBzY3NzIC0gVGhpcyBtZWRpYSBxdWVyeSB3aWxsIE5PVCBzaG93IGJlY2F1c2UgaXQgZG9lcyBub3QgaW50ZXJjZXB0IHRoZSBkZXNrdG9wIGJyZWFrcG9pbnRcbi8vLyAgJGltLW1lZGlhLXN1cHBvcnQ6IGZhbHNlO1xuLy8vICAkaW0tbm8tbWVkaWEtYnJlYWtwb2ludDogJ3RhYmxldCc7XG4vLy8gIEBpbmNsdWRlIG1lZGlhKCc+PWRlc2t0b3AnKSB7XG4vLy8gICAgLmZvbyB7XG4vLy8gICAgICBjb2xvcjogdG9tYXRvO1xuLy8vICAgIH1cbi8vLyAgfVxuLy8vXG4vLy8gIC8qIE5vIG91dHB1dCAqL1xuLy8vXG4kaW0tbm8tbWVkaWEtYnJlYWtwb2ludDogJ2Rlc2t0b3AnICFkZWZhdWx0O1xuXG4vLy9cbi8vLyBTZWxlY3RzIHdoaWNoIG1lZGlhIGV4cHJlc3Npb25zIGFyZSBhbGxvd2VkIGluIGFuIGV4cHJlc3Npb24gZm9yIGl0IHRvIGJlIHVzZWQgd2hlbiBtZWRpYSBxdWVyaWVzXG4vLy8gYXJlIG5vdCBzdXBwb3J0ZWQuXG4vLy9cbi8vLyBAZXhhbXBsZSBzY3NzIC0gVGhpcyBtZWRpYSBxdWVyeSB3aWxsIHNob3cgYmVjYXVzZSBpdCBpbnRlcmNlcHRzIHRoZSBzdGF0aWMgYnJlYWtwb2ludCBhbmQgY29udGFpbnMgb25seSBhY2NlcHRlZCBtZWRpYSBleHByZXNzaW9uc1xuLy8vICAkaW0tbWVkaWEtc3VwcG9ydDogZmFsc2U7XG4vLy8gICRpbS1uby1tZWRpYS1icmVha3BvaW50OiAnZGVza3RvcCc7XG4vLy8gICRpbS1uby1tZWRpYS1leHByZXNzaW9uczogKCdzY3JlZW4nKTtcbi8vLyAgQGluY2x1ZGUgbWVkaWEoJz49dGFibGV0JywgJ3NjcmVlbicpIHtcbi8vLyAgICAuZm9vIHtcbi8vLyAgICAgIGNvbG9yOiB0b21hdG87XG4vLy8gICAgfVxuLy8vICB9XG4vLy9cbi8vLyAgIC8qIEdlbmVyYXRlczogKi9cbi8vLyAgIC5mb28ge1xuLy8vICAgICBjb2xvcjogdG9tYXRvO1xuLy8vICAgfVxuLy8vXG4vLy8gQGV4YW1wbGUgc2NzcyAtIFRoaXMgbWVkaWEgcXVlcnkgd2lsbCBOT1Qgc2hvdyBiZWNhdXNlIGl0IGludGVyY2VwdHMgdGhlIHN0YXRpYyBicmVha3BvaW50IGJ1dCBjb250YWlucyBhIG1lZGlhIGV4cHJlc3Npb24gdGhhdCBpcyBub3QgYWNjZXB0ZWRcbi8vLyAgJGltLW1lZGlhLXN1cHBvcnQ6IGZhbHNlO1xuLy8vICAkaW0tbm8tbWVkaWEtYnJlYWtwb2ludDogJ2Rlc2t0b3AnO1xuLy8vICAkaW0tbm8tbWVkaWEtZXhwcmVzc2lvbnM6ICgnc2NyZWVuJyk7XG4vLy8gIEBpbmNsdWRlIG1lZGlhKCc+PXRhYmxldCcsICdyZXRpbmEyeCcpIHtcbi8vLyAgICAuZm9vIHtcbi8vLyAgICAgIGNvbG9yOiB0b21hdG87XG4vLy8gICAgfVxuLy8vICB9XG4vLy9cbi8vLyAgLyogTm8gb3V0cHV0ICovXG4vLy9cbiRpbS1uby1tZWRpYS1leHByZXNzaW9uczogKCdzY3JlZW4nLCAncG9ydHJhaXQnLCAnbGFuZHNjYXBlJykgIWRlZmF1bHQ7XG5cbi8vLy9cbi8vLyBDcm9zcy1lbmdpbmUgbG9nZ2luZyBlbmdpbmVcbi8vLyBAYXV0aG9yIEh1Z28gR2lyYXVkZWxcbi8vLyBAYWNjZXNzIHByaXZhdGVcbi8vLy9cblxuXG4vLy9cbi8vLyBMb2cgYSBtZXNzYWdlIGVpdGhlciB3aXRoIGBAZXJyb3JgIGlmIHN1cHBvcnRlZFxuLy8vIGVsc2Ugd2l0aCBgQHdhcm5gLCB1c2luZyBgZmVhdHVyZS1leGlzdHMoJ2F0LWVycm9yJylgXG4vLy8gdG8gZGV0ZWN0IHN1cHBvcnQuXG4vLy9cbi8vLyBAcGFyYW0ge1N0cmluZ30gJG1lc3NhZ2UgLSBNZXNzYWdlIHRvIGxvZ1xuLy8vXG5AZnVuY3Rpb24gaW0tbG9nKCRtZXNzYWdlKSB7XG4gIEBpZiBmZWF0dXJlLWV4aXN0cygnYXQtZXJyb3InKSB7XG4gICAgQGVycm9yICRtZXNzYWdlO1xuICB9IEBlbHNlIHtcbiAgICBAd2FybiAkbWVzc2FnZTtcbiAgICAkXzogbm9vcCgpO1xuICB9XG5cbiAgQHJldHVybiAkbWVzc2FnZTtcbn1cblxuXG4vLy9cbi8vLyBXcmFwcGVyIG1peGluIGZvciB0aGUgbG9nIGZ1bmN0aW9uIHNvIGl0IGNhbiBiZSB1c2VkIHdpdGggYSBtb3JlIGZyaWVuZGx5XG4vLy8gQVBJIHRoYW4gYEBpZiBpbS1sb2coJy4uJykge31gIG9yIGAkXzogaW0tbG9nKCcuLicpYC4gQmFzaWNhbGx5LCB1c2UgdGhlIGZ1bmN0aW9uXG4vLy8gd2l0aGluIGZ1bmN0aW9ucyBiZWNhdXNlIGl0IGlzIG5vdCBwb3NzaWJsZSB0byBpbmNsdWRlIGEgbWl4aW4gaW4gYSBmdW5jdGlvblxuLy8vIGFuZCB1c2UgdGhlIG1peGluIGV2ZXJ5d2hlcmUgZWxzZSBiZWNhdXNlIGl0J3MgbXVjaCBtb3JlIGVsZWdhbnQuXG4vLy9cbi8vLyBAcGFyYW0ge1N0cmluZ30gJG1lc3NhZ2UgLSBNZXNzYWdlIHRvIGxvZ1xuLy8vXG5AbWl4aW4gbG9nKCRtZXNzYWdlKSB7XG4gIEBpZiBpbS1sb2coJG1lc3NhZ2UpIHt9XG59XG5cblxuLy8vXG4vLy8gRnVuY3Rpb24gd2l0aCBubyBgQHJldHVybmAgY2FsbGVkIG5leHQgdG8gYEB3YXJuYCBpbiBTYXNzIDMuM1xuLy8vIHRvIHRyaWdnZXIgYSBjb21waWxpbmcgZXJyb3IgYW5kIHN0b3AgdGhlIHByb2Nlc3MuXG4vLy9cbkBmdW5jdGlvbiBub29wKCkge31cblxuLy8vXG4vLy8gRGV0ZXJtaW5lcyB3aGV0aGVyIGEgbGlzdCBvZiBjb25kaXRpb25zIGlzIGludGVyY2VwdGVkIGJ5IHRoZSBzdGF0aWMgYnJlYWtwb2ludC5cbi8vL1xuLy8vIEBwYXJhbSB7QXJnbGlzdH0gICAkY29uZGl0aW9ucyAgLSBNZWRpYSBxdWVyeSBjb25kaXRpb25zXG4vLy9cbi8vLyBAcmV0dXJuIHtCb29sZWFufSAtIFJldHVybnMgdHJ1ZSBpZiB0aGUgY29uZGl0aW9ucyBhcmUgaW50ZXJjZXB0ZWQgYnkgdGhlIHN0YXRpYyBicmVha3BvaW50XG4vLy9cbkBmdW5jdGlvbiBpbS1pbnRlcmNlcHRzLXN0YXRpYy1icmVha3BvaW50KCRjb25kaXRpb25zLi4uKSB7XG4gICRuby1tZWRpYS1icmVha3BvaW50LXZhbHVlOiBtYXAtZ2V0KCRicmVha3BvaW50cywgJGltLW5vLW1lZGlhLWJyZWFrcG9pbnQpO1xuXG4gIEBpZiBub3QgJG5vLW1lZGlhLWJyZWFrcG9pbnQtdmFsdWUge1xuICAgIEBpZiBpbS1sb2coJ2AjeyRpbS1uby1tZWRpYS1icmVha3BvaW50fWAgaXMgbm90IGEgdmFsaWQgYnJlYWtwb2ludC4nKSB7fVxuICB9XG5cbiAgQGVhY2ggJGNvbmRpdGlvbiBpbiAkY29uZGl0aW9ucyB7XG4gICAgQGlmIG5vdCBtYXAtaGFzLWtleSgkbWVkaWEtZXhwcmVzc2lvbnMsICRjb25kaXRpb24pIHtcbiAgICAgICRvcGVyYXRvcjogZ2V0LWV4cHJlc3Npb24tb3BlcmF0b3IoJGNvbmRpdGlvbik7XG4gICAgICAkcHJlZml4OiBnZXQtZXhwcmVzc2lvbi1wcmVmaXgoJG9wZXJhdG9yKTtcbiAgICAgICR2YWx1ZTogZ2V0LWV4cHJlc3Npb24tdmFsdWUoJGNvbmRpdGlvbiwgJG9wZXJhdG9yKTtcblxuICAgICAgLy8gc2Nzcy1saW50OmRpc2FibGUgU3BhY2VBcm91bmRPcGVyYXRvclxuICAgICAgQGlmICgkcHJlZml4ID09ICdtYXgnIGFuZCAkdmFsdWUgPD0gJG5vLW1lZGlhLWJyZWFrcG9pbnQtdmFsdWUpIG9yXG4gICAgICAgICAgKCRwcmVmaXggPT0gJ21pbicgYW5kICR2YWx1ZSA+ICRuby1tZWRpYS1icmVha3BvaW50LXZhbHVlKSB7XG4gICAgICAgIEByZXR1cm4gZmFsc2U7XG4gICAgICB9XG4gICAgfSBAZWxzZSBpZiBub3QgaW5kZXgoJGltLW5vLW1lZGlhLWV4cHJlc3Npb25zLCAkY29uZGl0aW9uKSB7XG4gICAgICBAcmV0dXJuIGZhbHNlO1xuICAgIH1cbiAgfVxuXG4gIEByZXR1cm4gdHJ1ZTtcbn1cblxuLy8vL1xuLy8vIFBhcnNpbmcgZW5naW5lXG4vLy8gQGF1dGhvciBIdWdvIEdpcmF1ZGVsXG4vLy8gQGFjY2VzcyBwcml2YXRlXG4vLy8vXG5cblxuLy8vXG4vLy8gR2V0IG9wZXJhdG9yIG9mIGFuIGV4cHJlc3Npb25cbi8vL1xuLy8vIEBwYXJhbSB7U3RyaW5nfSAkZXhwcmVzc2lvbiAtIEV4cHJlc3Npb24gdG8gZXh0cmFjdCBvcGVyYXRvciBmcm9tXG4vLy9cbi8vLyBAcmV0dXJuIHtTdHJpbmd9IC0gQW55IG9mIGA+PWAsIGA+YCwgYDw9YCwgYDxgLCBg4omlYCwgYOKJpGBcbi8vL1xuQGZ1bmN0aW9uIGdldC1leHByZXNzaW9uLW9wZXJhdG9yKCRleHByZXNzaW9uKSB7XG4gIEBlYWNoICRvcGVyYXRvciBpbiAoJz49JywgJz4nLCAnPD0nLCAnPCcsICfiiaUnLCAn4omkJykge1xuICAgIEBpZiBzdHItaW5kZXgoJGV4cHJlc3Npb24sICRvcGVyYXRvcikge1xuICAgICAgQHJldHVybiAkb3BlcmF0b3I7XG4gICAgfVxuICB9XG5cbiAgLy8gSXQgaXMgbm90IHBvc3NpYmxlIHRvIGluY2x1ZGUgYSBtaXhpbiBpbnNpZGUgYSBmdW5jdGlvbiwgc28gd2UgaGF2ZSB0b1xuICAvLyByZWx5IG9uIHRoZSBgaW0tbG9nKC4uKWAgZnVuY3Rpb24gcmF0aGVyIHRoYW4gdGhlIGBsb2coLi4pYCBtaXhpbi4gQmVjYXVzZVxuICAvLyBmdW5jdGlvbnMgY2Fubm90IGJlIGNhbGxlZCBhbnl3aGVyZSBpbiBTYXNzLCB3ZSBuZWVkIHRvIGhhY2sgdGhlIGNhbGwgaW5cbiAgLy8gYSBkdW1teSB2YXJpYWJsZSwgc3VjaCBhcyBgJF9gLiBJZiBhbnlib2R5IGV2ZXIgcmFpc2UgYSBzY29waW5nIGlzc3VlIHdpdGhcbiAgLy8gU2FzcyAzLjMsIGNoYW5nZSB0aGlzIGxpbmUgaW4gYEBpZiBpbS1sb2coLi4pIHt9YCBpbnN0ZWFkLlxuICAkXzogaW0tbG9nKCdObyBvcGVyYXRvciBmb3VuZCBpbiBgI3skZXhwcmVzc2lvbn1gLicpO1xufVxuXG5cbi8vL1xuLy8vIEdldCBkaW1lbnNpb24gb2YgYW4gZXhwcmVzc2lvbiwgYmFzZWQgb24gYSBmb3VuZCBvcGVyYXRvclxuLy8vXG4vLy8gQHBhcmFtIHtTdHJpbmd9ICRleHByZXNzaW9uIC0gRXhwcmVzc2lvbiB0byBleHRyYWN0IGRpbWVuc2lvbiBmcm9tXG4vLy8gQHBhcmFtIHtTdHJpbmd9ICRvcGVyYXRvciAtIE9wZXJhdG9yIGZyb20gYCRleHByZXNzaW9uYFxuLy8vXG4vLy8gQHJldHVybiB7U3RyaW5nfSAtIGB3aWR0aGAgb3IgYGhlaWdodGAgKG9yIHBvdGVudGlhbGx5IGFueXRoaW5nIGVsc2UpXG4vLy9cbkBmdW5jdGlvbiBnZXQtZXhwcmVzc2lvbi1kaW1lbnNpb24oJGV4cHJlc3Npb24sICRvcGVyYXRvcikge1xuICAkb3BlcmF0b3ItaW5kZXg6IHN0ci1pbmRleCgkZXhwcmVzc2lvbiwgJG9wZXJhdG9yKTtcbiAgJHBhcnNlZC1kaW1lbnNpb246IHN0ci1zbGljZSgkZXhwcmVzc2lvbiwgMCwgJG9wZXJhdG9yLWluZGV4IC0gMSk7XG4gICRkaW1lbnNpb246ICd3aWR0aCc7XG5cbiAgQGlmIHN0ci1sZW5ndGgoJHBhcnNlZC1kaW1lbnNpb24pID4gMCB7XG4gICAgJGRpbWVuc2lvbjogJHBhcnNlZC1kaW1lbnNpb247XG4gIH1cblxuICBAcmV0dXJuICRkaW1lbnNpb247XG59XG5cblxuLy8vXG4vLy8gR2V0IGRpbWVuc2lvbiBwcmVmaXggYmFzZWQgb24gYW4gb3BlcmF0b3Jcbi8vL1xuLy8vIEBwYXJhbSB7U3RyaW5nfSAkb3BlcmF0b3IgLSBPcGVyYXRvclxuLy8vXG4vLy8gQHJldHVybiB7U3RyaW5nfSAtIGBtaW5gIG9yIGBtYXhgXG4vLy9cbkBmdW5jdGlvbiBnZXQtZXhwcmVzc2lvbi1wcmVmaXgoJG9wZXJhdG9yKSB7XG4gIEByZXR1cm4gaWYoaW5kZXgoKCc8JywgJzw9JywgJ+KJpCcpLCAkb3BlcmF0b3IpLCAnbWF4JywgJ21pbicpO1xufVxuXG5cbi8vL1xuLy8vIEdldCB2YWx1ZSBvZiBhbiBleHByZXNzaW9uLCBiYXNlZCBvbiBhIGZvdW5kIG9wZXJhdG9yXG4vLy9cbi8vLyBAcGFyYW0ge1N0cmluZ30gJGV4cHJlc3Npb24gLSBFeHByZXNzaW9uIHRvIGV4dHJhY3QgdmFsdWUgZnJvbVxuLy8vIEBwYXJhbSB7U3RyaW5nfSAkb3BlcmF0b3IgLSBPcGVyYXRvciBmcm9tIGAkZXhwcmVzc2lvbmBcbi8vL1xuLy8vIEByZXR1cm4ge051bWJlcn0gLSBBIG51bWVyaWMgdmFsdWVcbi8vL1xuQGZ1bmN0aW9uIGdldC1leHByZXNzaW9uLXZhbHVlKCRleHByZXNzaW9uLCAkb3BlcmF0b3IpIHtcbiAgJG9wZXJhdG9yLWluZGV4OiBzdHItaW5kZXgoJGV4cHJlc3Npb24sICRvcGVyYXRvcik7XG4gICR2YWx1ZTogc3RyLXNsaWNlKCRleHByZXNzaW9uLCAkb3BlcmF0b3ItaW5kZXggKyBzdHItbGVuZ3RoKCRvcGVyYXRvcikpO1xuXG4gIEBpZiBtYXAtaGFzLWtleSgkYnJlYWtwb2ludHMsICR2YWx1ZSkge1xuICAgICR2YWx1ZTogbWFwLWdldCgkYnJlYWtwb2ludHMsICR2YWx1ZSk7XG4gIH0gQGVsc2Uge1xuICAgICR2YWx1ZTogdG8tbnVtYmVyKCR2YWx1ZSk7XG4gIH1cblxuICAkaW50ZXJ2YWw6IG1hcC1nZXQoJHVuaXQtaW50ZXJ2YWxzLCB1bml0KCR2YWx1ZSkpO1xuXG4gIEBpZiBub3QgJGludGVydmFsIHtcbiAgICAvLyBJdCBpcyBub3QgcG9zc2libGUgdG8gaW5jbHVkZSBhIG1peGluIGluc2lkZSBhIGZ1bmN0aW9uLCBzbyB3ZSBoYXZlIHRvXG4gICAgLy8gcmVseSBvbiB0aGUgYGltLWxvZyguLilgIGZ1bmN0aW9uIHJhdGhlciB0aGFuIHRoZSBgbG9nKC4uKWAgbWl4aW4uIEJlY2F1c2VcbiAgICAvLyBmdW5jdGlvbnMgY2Fubm90IGJlIGNhbGxlZCBhbnl3aGVyZSBpbiBTYXNzLCB3ZSBuZWVkIHRvIGhhY2sgdGhlIGNhbGwgaW5cbiAgICAvLyBhIGR1bW15IHZhcmlhYmxlLCBzdWNoIGFzIGAkX2AuIElmIGFueWJvZHkgZXZlciByYWlzZSBhIHNjb3BpbmcgaXNzdWUgd2l0aFxuICAgIC8vIFNhc3MgMy4zLCBjaGFuZ2UgdGhpcyBsaW5lIGluIGBAaWYgaW0tbG9nKC4uKSB7fWAgaW5zdGVhZC5cbiAgICAkXzogaW0tbG9nKCdVbmtub3duIHVuaXQgYCN7dW5pdCgkdmFsdWUpfWAuJyk7XG4gIH1cblxuICBAaWYgJG9wZXJhdG9yID09ICc+JyB7XG4gICAgJHZhbHVlOiAkdmFsdWUgKyAkaW50ZXJ2YWw7XG4gIH0gQGVsc2UgaWYgJG9wZXJhdG9yID09ICc8JyB7XG4gICAgJHZhbHVlOiAkdmFsdWUgLSAkaW50ZXJ2YWw7XG4gIH1cblxuICBAcmV0dXJuICR2YWx1ZTtcbn1cblxuXG4vLy9cbi8vLyBQYXJzZSBhbiBleHByZXNzaW9uIHRvIHJldHVybiBhIHZhbGlkIG1lZGlhLXF1ZXJ5IGV4cHJlc3Npb25cbi8vL1xuLy8vIEBwYXJhbSB7U3RyaW5nfSAkZXhwcmVzc2lvbiAtIEV4cHJlc3Npb24gdG8gcGFyc2Vcbi8vL1xuLy8vIEByZXR1cm4ge1N0cmluZ30gLSBWYWxpZCBtZWRpYSBxdWVyeVxuLy8vXG5AZnVuY3Rpb24gcGFyc2UtZXhwcmVzc2lvbigkZXhwcmVzc2lvbikge1xuICAvLyBJZiBpdCBpcyBwYXJ0IG9mICRtZWRpYS1leHByZXNzaW9ucywgaXQgaGFzIG5vIG9wZXJhdG9yXG4gIC8vIHRoZW4gdGhlcmUgaXMgbm8gbmVlZCB0byBnbyBhbnkgZnVydGhlciwganVzdCByZXR1cm4gdGhlIHZhbHVlXG4gIEBpZiBtYXAtaGFzLWtleSgkbWVkaWEtZXhwcmVzc2lvbnMsICRleHByZXNzaW9uKSB7XG4gICAgQHJldHVybiBtYXAtZ2V0KCRtZWRpYS1leHByZXNzaW9ucywgJGV4cHJlc3Npb24pO1xuICB9XG5cbiAgJG9wZXJhdG9yOiBnZXQtZXhwcmVzc2lvbi1vcGVyYXRvcigkZXhwcmVzc2lvbik7XG4gICRkaW1lbnNpb246IGdldC1leHByZXNzaW9uLWRpbWVuc2lvbigkZXhwcmVzc2lvbiwgJG9wZXJhdG9yKTtcbiAgJHByZWZpeDogZ2V0LWV4cHJlc3Npb24tcHJlZml4KCRvcGVyYXRvcik7XG4gICR2YWx1ZTogZ2V0LWV4cHJlc3Npb24tdmFsdWUoJGV4cHJlc3Npb24sICRvcGVyYXRvcik7XG5cbiAgQHJldHVybiAnKCN7JHByZWZpeH0tI3skZGltZW5zaW9ufTogI3skdmFsdWV9KSc7XG59XG5cbi8vL1xuLy8vIFNsaWNlIGAkbGlzdGAgYmV0d2VlbiBgJHN0YXJ0YCBhbmQgYCRlbmRgIGluZGV4ZXNcbi8vL1xuLy8vIEBhY2Nlc3MgcHJpdmF0ZVxuLy8vXG4vLy8gQHBhcmFtIHtMaXN0fSAkbGlzdCAtIExpc3QgdG8gc2xpY2Vcbi8vLyBAcGFyYW0ge051bWJlcn0gJHN0YXJ0IFsxXSAtIFN0YXJ0IGluZGV4XG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRlbmQgW2xlbmd0aCgkbGlzdCldIC0gRW5kIGluZGV4XG4vLy9cbi8vLyBAcmV0dXJuIHtMaXN0fSBTbGljZWQgbGlzdFxuLy8vXG5AZnVuY3Rpb24gc2xpY2UoJGxpc3QsICRzdGFydDogMSwgJGVuZDogbGVuZ3RoKCRsaXN0KSkge1xuICBAaWYgbGVuZ3RoKCRsaXN0KSA8IDEgb3IgJHN0YXJ0ID4gJGVuZCB7XG4gICAgQHJldHVybiAoKTtcbiAgfVxuXG4gICRyZXN1bHQ6ICgpO1xuXG4gIEBmb3IgJGkgZnJvbSAkc3RhcnQgdGhyb3VnaCAkZW5kIHtcbiAgICAkcmVzdWx0OiBhcHBlbmQoJHJlc3VsdCwgbnRoKCRsaXN0LCAkaSkpO1xuICB9XG5cbiAgQHJldHVybiAkcmVzdWx0O1xufVxuXG4vLy8vXG4vLy8gU3RyaW5nIHRvIG51bWJlciBjb252ZXJ0ZXJcbi8vLyBAYXV0aG9yIEh1Z28gR2lyYXVkZWxcbi8vLyBAYWNjZXNzIHByaXZhdGVcbi8vLy9cblxuXG4vLy9cbi8vLyBDYXN0cyBhIHN0cmluZyBpbnRvIGEgbnVtYmVyXG4vLy9cbi8vLyBAcGFyYW0ge1N0cmluZyB8IE51bWJlcn0gJHZhbHVlIC0gVmFsdWUgdG8gYmUgcGFyc2VkXG4vLy9cbi8vLyBAcmV0dXJuIHtOdW1iZXJ9XG4vLy9cbkBmdW5jdGlvbiB0by1udW1iZXIoJHZhbHVlKSB7XG4gIEBpZiB0eXBlLW9mKCR2YWx1ZSkgPT0gJ251bWJlcicge1xuICAgIEByZXR1cm4gJHZhbHVlO1xuICB9IEBlbHNlIGlmIHR5cGUtb2YoJHZhbHVlKSAhPSAnc3RyaW5nJyB7XG4gICAgJF86IGltLWxvZygnVmFsdWUgZm9yIGB0by1udW1iZXJgIHNob3VsZCBiZSBhIG51bWJlciBvciBhIHN0cmluZy4nKTtcbiAgfVxuXG4gICRmaXJzdC1jaGFyYWN0ZXI6IHN0ci1zbGljZSgkdmFsdWUsIDEsIDEpO1xuICAkcmVzdWx0OiAwO1xuICAkZGlnaXRzOiAwO1xuICAkbWludXM6ICgkZmlyc3QtY2hhcmFjdGVyID09ICctJyk7XG4gICRudW1iZXJzOiAoJzAnOiAwLCAnMSc6IDEsICcyJzogMiwgJzMnOiAzLCAnNCc6IDQsICc1JzogNSwgJzYnOiA2LCAnNyc6IDcsICc4JzogOCwgJzknOiA5KTtcblxuICAvLyBSZW1vdmUgKy8tIHNpZ24gaWYgcHJlc2VudCBhdCBmaXJzdCBjaGFyYWN0ZXJcbiAgQGlmICgkZmlyc3QtY2hhcmFjdGVyID09ICcrJyBvciAkZmlyc3QtY2hhcmFjdGVyID09ICctJykge1xuICAgICR2YWx1ZTogc3RyLXNsaWNlKCR2YWx1ZSwgMik7XG4gIH1cblxuICBAZm9yICRpIGZyb20gMSB0aHJvdWdoIHN0ci1sZW5ndGgoJHZhbHVlKSB7XG4gICAgJGNoYXJhY3Rlcjogc3RyLXNsaWNlKCR2YWx1ZSwgJGksICRpKTtcblxuICAgIEBpZiBub3QgKGluZGV4KG1hcC1rZXlzKCRudW1iZXJzKSwgJGNoYXJhY3Rlcikgb3IgJGNoYXJhY3RlciA9PSAnLicpIHtcbiAgICAgIEByZXR1cm4gdG8tbGVuZ3RoKGlmKCRtaW51cywgLSRyZXN1bHQsICRyZXN1bHQpLCBzdHItc2xpY2UoJHZhbHVlLCAkaSkpXG4gICAgfVxuXG4gICAgQGlmICRjaGFyYWN0ZXIgPT0gJy4nIHtcbiAgICAgICRkaWdpdHM6IDE7XG4gICAgfSBAZWxzZSBpZiAkZGlnaXRzID09IDAge1xuICAgICAgJHJlc3VsdDogJHJlc3VsdCAqIDEwICsgbWFwLWdldCgkbnVtYmVycywgJGNoYXJhY3Rlcik7XG4gICAgfSBAZWxzZSB7XG4gICAgICAkZGlnaXRzOiAkZGlnaXRzICogMTA7XG4gICAgICAkcmVzdWx0OiAkcmVzdWx0ICsgbWFwLWdldCgkbnVtYmVycywgJGNoYXJhY3RlcikgLyAkZGlnaXRzO1xuICAgIH1cbiAgfVxuXG4gIEByZXR1cm4gaWYoJG1pbnVzLCAtJHJlc3VsdCwgJHJlc3VsdCk7XG59XG5cblxuLy8vXG4vLy8gQWRkIGAkdW5pdGAgdG8gYCR2YWx1ZWBcbi8vL1xuLy8vIEBwYXJhbSB7TnVtYmVyfSAkdmFsdWUgLSBWYWx1ZSB0byBhZGQgdW5pdCB0b1xuLy8vIEBwYXJhbSB7U3RyaW5nfSAkdW5pdCAtIFN0cmluZyByZXByZXNlbnRhdGlvbiBvZiB0aGUgdW5pdFxuLy8vXG4vLy8gQHJldHVybiB7TnVtYmVyfSAtIGAkdmFsdWVgIGV4cHJlc3NlZCBpbiBgJHVuaXRgXG4vLy9cbkBmdW5jdGlvbiB0by1sZW5ndGgoJHZhbHVlLCAkdW5pdCkge1xuICAkdW5pdHM6ICgncHgnOiAxcHgsICdjbSc6IDFjbSwgJ21tJzogMW1tLCAnJSc6IDElLCAnY2gnOiAxY2gsICdwYyc6IDFwYywgJ2luJzogMWluLCAnZW0nOiAxZW0sICdyZW0nOiAxcmVtLCAncHQnOiAxcHQsICdleCc6IDFleCwgJ3Z3JzogMXZ3LCAndmgnOiAxdmgsICd2bWluJzogMXZtaW4sICd2bWF4JzogMXZtYXgpO1xuXG4gIEBpZiBub3QgaW5kZXgobWFwLWtleXMoJHVuaXRzKSwgJHVuaXQpIHtcbiAgICAkXzogaW0tbG9nKCdJbnZhbGlkIHVuaXQgYCN7JHVuaXR9YC4nKTtcbiAgfVxuXG4gIEByZXR1cm4gJHZhbHVlICogbWFwLWdldCgkdW5pdHMsICR1bml0KTtcbn1cblxuLy8vXG4vLy8gVGhpcyBtaXhpbiBhaW1zIGF0IHJlZGVmaW5pbmcgdGhlIGNvbmZpZ3VyYXRpb24ganVzdCBmb3IgdGhlIHNjb3BlIG9mXG4vLy8gdGhlIGNhbGwuIEl0IGlzIGhlbHBmdWwgd2hlbiBoYXZpbmcgYSBjb21wb25lbnQgbmVlZGluZyBhbiBleHRlbmRlZFxuLy8vIGNvbmZpZ3VyYXRpb24gc3VjaCBhcyBjdXN0b20gYnJlYWtwb2ludHMgKHJlZmVycmVkIHRvIGFzIHR3ZWFrcG9pbnRzKVxuLy8vIGZvciBpbnN0YW5jZS5cbi8vL1xuLy8vIEBhdXRob3IgSHVnbyBHaXJhdWRlbFxuLy8vXG4vLy8gQHBhcmFtIHtNYXB9ICR0d2Vha3BvaW50cyBbKCldIC0gTWFwIG9mIHR3ZWFrcG9pbnRzIHRvIGJlIG1lcmdlZCB3aXRoIGAkYnJlYWtwb2ludHNgXG4vLy8gQHBhcmFtIHtNYXB9ICR0d2Vhay1tZWRpYS1leHByZXNzaW9ucyBbKCldIC0gTWFwIG9mIHR3ZWFrZWQgbWVkaWEgZXhwcmVzc2lvbnMgdG8gYmUgbWVyZ2VkIHdpdGggYCRtZWRpYS1leHByZXNzaW9uYFxuLy8vXG4vLy8gQGV4YW1wbGUgc2NzcyAtIEV4dGVuZCB0aGUgZ2xvYmFsIGJyZWFrcG9pbnRzIHdpdGggYSB0d2Vha3BvaW50XG4vLy8gIEBpbmNsdWRlIG1lZGlhLWNvbnRleHQoKCdjdXN0b20nOiA2NzhweCkpIHtcbi8vLyAgICAuZm9vIHtcbi8vLyAgICAgIEBpbmNsdWRlIG1lZGlhKCc+cGhvbmUnLCAnPD1jdXN0b20nKSB7XG4vLy8gICAgICAgLy8gLi4uXG4vLy8gICAgICB9XG4vLy8gICAgfVxuLy8vICB9XG4vLy9cbi8vLyBAZXhhbXBsZSBzY3NzIC0gRXh0ZW5kIHRoZSBnbG9iYWwgbWVkaWEgZXhwcmVzc2lvbnMgd2l0aCBhIGN1c3RvbSBvbmVcbi8vLyAgQGluY2x1ZGUgbWVkaWEtY29udGV4dCgkdHdlYWstbWVkaWEtZXhwcmVzc2lvbnM6ICgnYWxsJzogJ2FsbCcpKSB7XG4vLy8gICAgLmZvbyB7XG4vLy8gICAgICBAaW5jbHVkZSBtZWRpYSgnYWxsJywgJz5waG9uZScpIHtcbi8vLyAgICAgICAvLyAuLi5cbi8vLyAgICAgIH1cbi8vLyAgICB9XG4vLy8gIH1cbi8vL1xuLy8vIEBleGFtcGxlIHNjc3MgLSBFeHRlbmQgYm90aCBjb25maWd1cmF0aW9uIG1hcHNcbi8vLyAgQGluY2x1ZGUgbWVkaWEtY29udGV4dCgoJ2N1c3RvbSc6IDY3OHB4KSwgKCdhbGwnOiAnYWxsJykpIHtcbi8vLyAgICAuZm9vIHtcbi8vLyAgICAgIEBpbmNsdWRlIG1lZGlhKCdhbGwnLCAnPnBob25lJywgJzw9Y3VzdG9tJykge1xuLy8vICAgICAgIC8vIC4uLlxuLy8vICAgICAgfVxuLy8vICAgIH1cbi8vLyAgfVxuLy8vXG5AbWl4aW4gbWVkaWEtY29udGV4dCgkdHdlYWtwb2ludHM6ICgpLCAkdHdlYWstbWVkaWEtZXhwcmVzc2lvbnM6ICgpKSB7XG4gIC8vIFNhdmUgZ2xvYmFsIGNvbmZpZ3VyYXRpb25cbiAgJGdsb2JhbC1icmVha3BvaW50czogJGJyZWFrcG9pbnRzO1xuICAkZ2xvYmFsLW1lZGlhLWV4cHJlc3Npb25zOiAkbWVkaWEtZXhwcmVzc2lvbnM7XG5cbiAgLy8gVXBkYXRlIGdsb2JhbCBjb25maWd1cmF0aW9uXG4gICRicmVha3BvaW50czogbWFwLW1lcmdlKCRicmVha3BvaW50cywgJHR3ZWFrcG9pbnRzKSAhZ2xvYmFsO1xuICAkbWVkaWEtZXhwcmVzc2lvbnM6IG1hcC1tZXJnZSgkbWVkaWEtZXhwcmVzc2lvbnMsICR0d2Vhay1tZWRpYS1leHByZXNzaW9ucykgIWdsb2JhbDtcblxuICBAY29udGVudDtcblxuICAvLyBSZXN0b3JlIGdsb2JhbCBjb25maWd1cmF0aW9uXG4gICRicmVha3BvaW50czogJGdsb2JhbC1icmVha3BvaW50cyAhZ2xvYmFsO1xuICAkbWVkaWEtZXhwcmVzc2lvbnM6ICRnbG9iYWwtbWVkaWEtZXhwcmVzc2lvbnMgIWdsb2JhbDtcbn1cblxuLy8vL1xuLy8vIGluY2x1ZGUtbWVkaWEgcHVibGljIGV4cG9zZWQgQVBJXG4vLy8gQGF1dGhvciBFZHVhcmRvIEJvdWNhc1xuLy8vIEBhY2Nlc3MgcHVibGljXG4vLy8vXG5cblxuLy8vXG4vLy8gR2VuZXJhdGVzIGEgbWVkaWEgcXVlcnkgYmFzZWQgb24gYSBsaXN0IG9mIGNvbmRpdGlvbnNcbi8vL1xuLy8vIEBwYXJhbSB7QXJnbGlzdH0gICAkY29uZGl0aW9ucyAgLSBNZWRpYSBxdWVyeSBjb25kaXRpb25zXG4vLy9cbi8vLyBAZXhhbXBsZSBzY3NzIC0gV2l0aCBhIHNpbmdsZSBzZXQgYnJlYWtwb2ludFxuLy8vICBAaW5jbHVkZSBtZWRpYSgnPnBob25lJykgeyB9XG4vLy9cbi8vLyBAZXhhbXBsZSBzY3NzIC0gV2l0aCB0d28gc2V0IGJyZWFrcG9pbnRzXG4vLy8gIEBpbmNsdWRlIG1lZGlhKCc+cGhvbmUnLCAnPD10YWJsZXQnKSB7IH1cbi8vL1xuLy8vIEBleGFtcGxlIHNjc3MgLSBXaXRoIGN1c3RvbSB2YWx1ZXNcbi8vLyAgQGluY2x1ZGUgbWVkaWEoJz49MzU4cHgnLCAnPDg1MHB4JykgeyB9XG4vLy9cbi8vLyBAZXhhbXBsZSBzY3NzIC0gV2l0aCBzZXQgYnJlYWtwb2ludHMgd2l0aCBjdXN0b20gdmFsdWVzXG4vLy8gIEBpbmNsdWRlIG1lZGlhKCc+ZGVza3RvcCcsICc8PTEzNTBweCcpIHsgfVxuLy8vXG4vLy8gQGV4YW1wbGUgc2NzcyAtIFdpdGggYSBzdGF0aWMgZXhwcmVzc2lvblxuLy8vICBAaW5jbHVkZSBtZWRpYSgncmV0aW5hMngnKSB7IH1cbi8vL1xuLy8vIEBleGFtcGxlIHNjc3MgLSBNaXhpbmcgZXZlcnl0aGluZ1xuLy8vICBAaW5jbHVkZSBtZWRpYSgnPj0zNTBweCcsICc8dGFibGV0JywgJ3JldGluYTN4JykgeyB9XG4vLy9cbkBtaXhpbiBtZWRpYSgkY29uZGl0aW9ucy4uLikge1xuICAvLyBzY3NzLWxpbnQ6ZGlzYWJsZSBTcGFjZUFyb3VuZE9wZXJhdG9yXG4gIEBpZiAoJGltLW1lZGlhLXN1cHBvcnQgYW5kIGxlbmd0aCgkY29uZGl0aW9ucykgPT0gMCkgb3JcbiAgICAgIChub3QgJGltLW1lZGlhLXN1cHBvcnQgYW5kIGltLWludGVyY2VwdHMtc3RhdGljLWJyZWFrcG9pbnQoJGNvbmRpdGlvbnMuLi4pKSB7XG4gICAgQGNvbnRlbnQ7XG4gIH0gQGVsc2UgaWYgKCRpbS1tZWRpYS1zdXBwb3J0IGFuZCBsZW5ndGgoJGNvbmRpdGlvbnMpID4gMCkge1xuICAgIEBtZWRpYSAje3VucXVvdGUocGFyc2UtZXhwcmVzc2lvbihudGgoJGNvbmRpdGlvbnMsIDEpKSl9IHtcbiAgICAgIC8vIFJlY3Vyc2l2ZSBjYWxsXG4gICAgICBAaW5jbHVkZSBtZWRpYShzbGljZSgkY29uZGl0aW9ucywgMikuLi4pIHtcbiAgICAgICAgQGNvbnRlbnQ7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4iLCIvKipcbiAqIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAqIFVuLnRpdGxlZFxuICogQmFzZSAtIERlZmF1bHRzXG4gKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gKi9cblxuLmdyaWQge1xuICBtYXgtd2lkdGg6IHZhcigtLWNvbnRhaW5lcldpZHRoRGVza3RvcCk7XG4gIEBpbmNsdWRlIG1lZGlhKCc8MTQ0MHB4Jykge1xuICAgIG1heC13aWR0aDogOTAlO1xuICAgIC5ncmlkIHtcbiAgICAgIG1heC13aWR0aDogdmFyKC0tY29udGFpbmVyV2lkdGhEZXNrdG9wKTtcbiAgICB9XG4gIH1cbiAgQGluY2x1ZGUgbWVkaWEoJzxzbScpIHtcbiAgICBtYXgtd2lkdGg6IHZhcigtLWNvbnRhaW5lcldpZHRoTGFwdG9wKTtcbiAgfVxufVxuXG4uY29udGFpbmVyLWZ1bGwgPiAuZ3JpZCB7XG4gIG1heC13aWR0aDogbm9uZTtcbn1cblxudWwubWVudSxcbnVsLnBsYWluIHtcbiAgQGluY2x1ZGUgbGktcmVzZXQ7XG59XG5cbmltZyB7XG4gIC13ZWJraXQtYmFja2ZhY2UtdmlzaWJpbGl0eTogaGlkZGVuO1xuICB0cmFuc2l0aW9uOiB2YXIoLS10cmFuc2l0aW9uKTtcblxuICAmLmxhenkge1xuICAgIG9wYWNpdHk6IDA7XG5cbiAgICBAbWVkaWEgbm90IGFsbCBhbmQgKG1pbi1yZXNvbHV0aW9uOiAwLjAwMWRwY20pIHtcbiAgICAgIEBzdXBwb3J0cyAoLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lKSB7XG4gICAgICAgIG9wYWNpdHk6IDE7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgJi5sb2FkZWQge1xuICAgIG9wYWNpdHk6IDE7XG4gIH1cbn1cblxuLnN2ZyB7XG4gIHRyYW5zaXRpb246IGFsbCB2YXIoLS10cmFuc2l0aW9uKTtcbn1cblxuLmhpZGRlbiB7XG4gIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbiAgdmlzaWJpbGl0eTogaGlkZGVuICFpbXBvcnRhbnQ7XG59XG5cbi8vIEtlZXAgdmlkZW8gcmF0aW8gZm9yIGZsdWlkIHdpZHRoc1xuLnZpZGVvLWNvbnRhaW5lcixcbi5tZWRpYS12aW1lby12aWRlbyxcbi5lbWJlZC1jb250YWluZXIge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHBhZGRpbmctYm90dG9tOiA1MCU7XG4gIHBhZGRpbmctdG9wOiAyNXB4O1xuICBoZWlnaHQ6IDA7XG4gIG1hcmdpbjogMCFpbXBvcnRhbnQ7XG5cbiAgJi5ub3JtYWwge1xuICAgIHBhZGRpbmctYm90dG9tOiA1MCU7XG4gIH1cbiAgJi5tYXAge1xuICAgIHBhZGRpbmctYm90dG9tOiA3NS4yNSU7XG4gIH1cbiAgJi5hdWRpbyB7XG4gICAgcGFkZGluZy1ib3R0b206IDIwJTtcbiAgfVxuXG4gIGlmcmFtZSB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMDtcbiAgICBsZWZ0OiAwO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogMTAwJTtcbiAgfVxufVxuXG4uY3RfX3doYXQtcy1vbi1saXN0aW5nLFxuLmN0X19jb2xsZWN0aW9uLXBhZ2UsXG4uY3RfX3Bob3RvZ3JhcGh5LWN1bHR1cmUtbGFuZGluZyxcbi5jdF9fcGhvdG9ncmFwaHktY3VsdHVyZS1saXN0aW5nLFxuLmN0X19sYW5kaW5nLXBhZ2UsXG4uY3RfX3NlYXNvbi1wYWdlLFxuLmN0X19ob21lcGFnZSxcbi5jdF9fd2hhdC1zLW9uLWxpc3Rpbmcge1xuICBzZWN0aW9uIHtcbiAgICAmLm0tZW50aXR5IHtcbiAgICAgICYgPiAuZ3JpZCB7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG4uY3RfX3BhZ2UsXG4uY3RfX2V2ZW50LFxuLmN0X19vbi1waG90b2dyYXBoeS1wb3N0LFxuLmN0X19leHRlbnNpb24tcGFnZSxcbi5jdF9fbGFuZGluZy1wYWdldjIge1xuICBzZWN0aW9uIHtcbiAgICAmLm0tZW50aXR5IHtcbiAgICAgICYgPiAuZ3JpZCB7XG4gICAgICAgICYgPiBbY2xhc3MqPSdjb2wtJ10ge1xuICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4iLCIvKipcbiAqIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAqIFVuLnRpdGxlZFxuICogQmFzZSAtIFR5cG9ncmFwaHlcbiAqIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAqL1xuXG4vKipcbiAqIENvbmZpZ1xuICovXG5AbWl4aW4gZm9udC1ib2R5IHtcbiAgZm9udC1mYW1pbHk6ICdMZXR0ZXJhdGV4dHBybyc7XG4gIGxpbmUtaGVpZ2h0OiAkbGluZS1ib2R5O1xufVxuXG5AbWl4aW4gZm9udC1ib2xkIHtcbiAgZm9udC1mYW1pbHk6ICdMZXR0ZXJhdGV4dHByb2JvbGQnO1xuICBmb250LXdlaWdodDogYm9sZDtcbn1cblxuQG1peGluIGZvbnQtdGl0bGUge1xuICBmb250LWZhbWlseTogJ0xldHRlcmF0ZXh0cHJvJywgc2Fucy1zZXJpZjtcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7XG59XG5cbkBtaXhpbiBmb250LWl0YWxpYyB7XG4gIGZvbnQtZmFtaWx5OiAnTGV0dGVyYXRleHRwcm9pdGFsaWMnLCBzYW5zLXNlcmlmO1xufVxuXG5AbWl4aW4gZm9udC1jdGEge1xuICBmb250LWZhbWlseTogJ0xldHRlcmF0ZXh0cHJvYm9sZCcsIHNhbnMtc2VyaWY7XG59XG5cbi8qKlxuICogSGVhZGluZ1xuICovXG5oMSxcbi5oMSxcbmgyLFxuLmgyLFxuaDMsXG4uaDMsXG5oNCxcbi5oNCxcbmg1LFxuLmg1LFxuaDYsXG4uaDYge1xuICBtYXJnaW4tdG9wOiAwO1xuICBmb250LWZhbWlseTogdmFyKC0tZm9udFRpdGxlKTtcbiAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgbGV0dGVyLXNwYWNpbmc6IDA7XG59XG5cbmgxLFxuLmgxIHtcbiAgbGluZS1oZWlnaHQ6IDEuMjQ7XG4gIGZvbnQtc2l6ZTogY2xhbXAoMzJweCwgN3Z3LCB2YXIoLS1mb250U2l6ZUhlYWRpbmdPbmUpKTtcbn1cblxuaDIsXG4uaDIge1xuICBsaW5lLWhlaWdodDogMS4zNDtcbiAgZm9udC1zaXplOiBjbGFtcCgyNXB4LCA3dncsIHZhcigtLWZvbnRTaXplSGVhZGluZ1R3bykpO1xufVxuXG5oMyxcbi5oMyB7XG4gIGxpbmUtaGVpZ2h0OiAxLjQ7XG4gIGZvbnQtc2l6ZTogY2xhbXAoMjBweCwgNXZ3LCB2YXIoLS1mb250U2l6ZUhlYWRpbmdUaHJlZSkpO1xufVxuXG5oNCxcbi5oNCB7XG4gIGxpbmUtaGVpZ2h0OiAxLjI7XG4gIGZvbnQtc2l6ZTogY2xhbXAoMThweCwgN3Z3LCB2YXIoLS1mb250U2l6ZUhlYWRpbmdGb3VyKSk7XG59XG5cbmg1LFxuLmg1IHtcbiAgbGluZS1oZWlnaHQ6IDEuNTtcbiAgZm9udC1zaXplOiBjbGFtcCgxNnB4LCA3dncsIHZhcigtLWZvbnRTaXplTGcpKTtcbn1cblxuaDYsXG4uaDYge1xuICBsaW5lLWhlaWdodDogMS41O1xuICBmb250LXNpemU6IGNsYW1wKDE2cHgsIDd2dywgdmFyKC0tZm9udFNpemUpKTtcbn1cblxuLyoqXG4gKiBQYXJhZ3JhcGhzXG4gKi9cbnAge1xuICBtYXJnaW46IDEuNWVtIDA7XG5cbiAgJjpmaXJzdC1vZi10eXBlIHtcbiAgICBtYXJnaW4tdG9wOiAwO1xuICB9XG5cbiAgJjpsYXN0LW9mLXR5cGUge1xuICAgIG1hcmdpbi1ib3R0b206IDA7XG4gIH1cbn1cblxuLyoqXG4gKiBMaXN0c1xuICovXG51bCxcbm9sIHtcbiAgbWFyZ2luOiAxLjVyZW0gMDtcbiAgbGlzdC1zdHlsZS1wb3NpdGlvbjogaW5zaWRlO1xuICBwYWRkaW5nLWxlZnQ6IDA7XG59XG5cbi8qKlxuICogTGlua3NcbiAqL1xuYSB7XG4gIGNvbG9yOiBpbmhlcml0O1xuICBmb250LXdlaWdodDogaW5oZXJpdDtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICB0cmFuc2l0aW9uOiAwLjFzIHZhcigtLWVhc2luZyk7XG5cbiAgJjpob3ZlcixcbiAgJjpmb2N1cyB7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XG4gIH1cblxuICAmOmZvY3VzIHtcbiAgICBvdXRsaW5lOiAzcHggZGFzaGVkIGN1cnJlbnRDb2xvcjtcblxuICAgIEBpbmNsdWRlIGZvY3VzLXZpc2libGUoKSB7XG4gICAgICBvdXRsaW5lOiAwO1xuICAgIH1cbiAgfVxufVxuXG4ubm8tY2xpY2sge1xuICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgY3Vyc29yOiBkZWZhdWx0O1xufVxuXG46OnNlbGVjdGlvbiB7XG4gIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWMtc2Vjb25kYXJ5KTtcbiAgY29sb3I6IHZhcigtLWMtcHJpbWFyeSk7XG59XG5cbi8qKlxuICogQnV0dG9uc1xuICovXG5idXR0b24ge1xuICAmOmZvY3VzIHtcbiAgICBvdXRsaW5lOiAzcHggZGFzaGVkIGN1cnJlbnRDb2xvcjtcblxuICAgIEBpbmNsdWRlIGZvY3VzLXZpc2libGUoKSB7XG4gICAgICBvdXRsaW5lOiAwO1xuICAgIH1cbiAgfVxufVxuXG4vKipcbiAqIElubGluZVxuICovXG5zdHJvbmcge1xuICBmb250LXdlaWdodDogYm9sZDtcbn1cblxuZW0ge1xuICBmb250LXN0eWxlOiBpdGFsaWM7XG59XG5cbnNwYW4ge1xuICBmb250LWZhbWlseTogaW5oZXJpdDtcbiAgZm9udC13ZWlnaHQ6IGluaGVyaXQ7XG4gIGxpbmUtaGVpZ2h0OiBpbmhlcml0O1xuICBsZXR0ZXItc3BhY2luZzogaW5oZXJpdDtcbiAgZm9udC1zaXplOiBpbmhlcml0O1xufVxuXG5hZGRyZXNzIHtcbiAgZm9udC1mYW1pbHk6IGluaGVyaXQ7XG4gIGZvbnQtd2VpZ2h0OiBpbmhlcml0O1xuICBsaW5lLWhlaWdodDogaW5oZXJpdDtcbiAgbGV0dGVyLXNwYWNpbmc6IGluaGVyaXQ7XG4gIGZvbnQtc2l6ZTogaW5oZXJpdDtcbiAgZm9udC1zdHlsZTogbm9ybWFsO1xufVxuXG5zbWFsbCB7XG4gIGZvbnQtc2l6ZTogOTAlO1xufVxuXG5ociB7XG4gIGJvcmRlcjogc29saWQgdmFyKC0tYy1zZWNvbmRhcnkpO1xuICBib3JkZXItd2lkdGg6IDAgMCAxcHggMDtcbiAgbWFyZ2luOiAxLjVyZW0gMDtcbn1cblxuZmlndXJlIHtcbiAgbWFyZ2luOiAwO1xufVxuIiwiLyoqXG4gKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gKiBVbi50aXRsZWRcbiAqIEJhc2UgLSBEcnVwYWwgOCBzcGVjaWZpY1xuICogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICovXG5cbi8vIFBhZ2luYXRpb25cbi5wYWdlciB7XG4gIEBpbmNsdWRlIGxpLXJlc2V0O1xuICBkaXNwbGF5OiBmbGV4O1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgbWFyZ2luLXRvcDogdmFyKC0tYnVtcCk7XG4gIGZsZXgtd3JhcDogd3JhcDtcblxuICBAaW5jbHVkZSBtZWRpYSgnPHNtJykge1xuICAgIG1hcmdpbi10b3A6IGNhbGModmFyKC0tYnVtcCkgLyAyKTtcbiAgfVxuXG4gIGxpIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG5cbiAgICBhIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgcGFkZGluZzogMCAxMHB4O1xuICAgICAgZm9udC1zaXplOiAxNnB4O1xuICAgICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gICAgICBsZXR0ZXItc3BhY2luZzogMDtcbiAgICAgIGxpbmUtaGVpZ2h0OiAyN3B4O1xuICAgICAgY29sb3I6IHZhcigtLWMtZ3JleSk7XG5cbiAgICAgICY6aG92ZXIge1xuICAgICAgICBjb2xvcjogdmFyKC0tYy1zZWNvbmRhcnkpO1xuICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgICB9XG4gICAgfVxuXG4gICAgJjpsYXN0LWNoaWxkIHtcbiAgICAgIGEge1xuICAgICAgICBib3JkZXItcmlnaHQ6IDA7XG4gICAgICAgIHBhZGRpbmctcmlnaHQ6IDVweDtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAmLmlzLWFjdGl2ZSBhIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWMtd2hpdGUpO1xuICAgICAgY29sb3I6IHZhcigtLWMtcHJpbWFyeSk7XG4gICAgfVxuICB9XG59XG5cbi8vIEFkbW5pbiBzdHlsZXNcbi5hZG1pbi1mdW5jdGlvbnMge1xuICBwb3NpdGlvbjogc3RpY2t5O1xuICB0b3A6IDA7XG4gIHdpZHRoOiAxMDAlO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jLXByaW1hcnkpO1xuICBtYXgtd2lkdGg6IDEwMCU7XG4gIHotaW5kZXg6IDMxO1xuXG4gIC51c2VyLWxvZ2dlZC1pbiAmIHtcbiAgICB0b3A6IDM5cHg7XG4gIH1cblxuICAudG9vbGJhci10cmF5LW9wZW4gJiB7XG4gICAgdG9wOiA3OXB4O1xuICB9XG5cbiAgW2NsYXNzKj0nY29sLSddIHtcbiAgICBwYWRkaW5nOiAwIGNhbGModmFyKC0tYnVtcCkgLyAyKTtcbiAgfVxuXG4gIHVsIHtcbiAgICBAaW5jbHVkZSBsaS1yZXNldDtcbiAgICBib3JkZXI6IDA7XG4gICAgbWFyZ2luOiBjYWxjKHZhcigtLWJ1bXApIC8gMikgMDtcbiAgICBwYWRkaW5nOiAwO1xuXG4gICAgbGkge1xuICAgICAgbWFyZ2luLXJpZ2h0OiB2YXIoLS1idW1wKTtcbiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcblxuICAgICAgYSB7XG4gICAgICAgIGNvbG9yOiB2YXIoLS1jLXdoaXRlKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuLnZpc3VhbGx5LWhpZGRlbiB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZSAhaW1wb3J0YW50O1xuICBjbGlwOiByZWN0KDFweCwgMXB4LCAxcHgsIDFweCk7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIGhlaWdodDogMXB4O1xuICB3aWR0aDogMXB4O1xuICB3b3JkLXdyYXA6IG5vcm1hbDtcbn1cblxuYS5za2lwLW1haW4ge1xuICBsZWZ0OiAtOTk5cHg7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiBhdXRvO1xuICB3aWR0aDogMXB4O1xuICBoZWlnaHQ6IDFweDtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgei1pbmRleDogLTk5OTtcbn1cbmEuc2tpcC1tYWluOmZvY3VzLFxuYS5za2lwLW1haW46YWN0aXZlIHtcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gIGNvbG9yOiB2YXIoLS1jLXdoaXRlKTtcbiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYy1wcmltYXJ5KTtcbiAgbGVmdDogYXV0bztcbiAgdG9wOiBhdXRvO1xuICB3aWR0aDogMzAlO1xuICBoZWlnaHQ6IGF1dG87XG4gIG92ZXJmbG93OiBhdXRvO1xuICBtYXJnaW46IDEwcHggMzUlO1xuICBwYWRkaW5nOiA1cHg7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgZm9udC1zaXplOiAxLjJlbTtcbiAgei1pbmRleDogOTk5O1xufVxuXG4uYWpheC1wcm9ncmVzcy10aHJvYmJlciB7XG4gIGRpc3BsYXk6IG5vbmU7XG59XG4iLCIvKipcbiAqIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAqIFVuLnRpdGxlZFxuICogQmFzZSAtIE1haW5cbiAqIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAqL1xuXG4vKipcbiAqIFN0eWxlc1xuICovXG5odG1sLFxuYm9keSB7XG4gIEBpbmNsdWRlIGZvbnQtc21vb3RoaW5nKHRydWUpO1xuICBmb250LXNpemU6IHZhcigtLWZvbnRTaXplKTtcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgbGluZS1oZWlnaHQ6IHZhcigtLWxpbmVIZWlnaHQpO1xuICBmb250LWZhbWlseTogdmFyKC0tZm9udEJvZHkpO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jLXByaW1hcnkpO1xuICBjb2xvcjogdmFyKC0tYy1zZWNvbmRhcnkpO1xufVxuXG4qLFxuKjpiZWZvcmUsXG4qOmFmdGVyIHtcbiAgYm94LXNpemluZzogaW5oZXJpdDtcbiAgLy8gdHJhbnNpdGlvbjogMC40cyB2YXIoLS10cmFuc2l0aW9uKTtcbn1cblxuYm9keSB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIHAge1xuICAgIGxpbmUtaGVpZ2h0OiAxLjk7XG4gICAgY29sb3I6IHZhcigtLWMtc2Vjb25kYXJ5KTtcbiAgfVxufVxuXG5AaW5jbHVkZSBtZWRpYSgnPG1kJykge1xuICBbZGF0YS1uYXY9J29wZW4nXSB7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICBwb3NpdGlvbjogZml4ZWQ7XG4gICAgd2lkdGg6IDEwMCU7XG4gIH1cbn1cbiIsIi8qKlxuICogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICogVW4udGl0bGVkXG4gKiBCYXNlIC0gQW5pbWF0aW9uc1xuICogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICovXG5cbkBrZXlmcmFtZXMgZmFkZUluIHtcbiAgMCUge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgdmlzaWJpbGl0eTogaGlkZGVuO1xuICB9XG5cbiAgMTAwJSB7XG4gICAgb3BhY2l0eTogMTtcbiAgICB2aXNpYmlsaXR5OiB2aXNpYmxlO1xuICB9XG59XG5cbkBrZXlmcmFtZXMgZmFkZU91dCB7XG4gIDAlIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIHZpc2liaWxpdHk6IHZpc2libGU7XG4gIH1cblxuICAxMDAlIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIHZpc2liaWxpdHk6IGhpZGRlbjtcbiAgfVxufVxuXG5Aa2V5ZnJhbWVzIHpvb21GYWRlSW4ge1xuICAwJSB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0xMCUpIHNjYWxlKDAuOCk7XG4gICAgb3BhY2l0eTogMDtcbiAgICB2aXNpYmlsaXR5OiBoaWRkZW47XG4gIH1cblxuICAxMDAlIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCkgc2NhbGUoMSk7XG4gICAgb3BhY2l0eTogMTtcbiAgICB2aXNpYmlsaXR5OiB2aXNpYmxlO1xuICB9XG59XG5cbkBrZXlmcmFtZXMgem9vbUZhZGVPdXQge1xuICAwJSB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApIHNjYWxlKDEpO1xuICAgIG9wYWNpdHk6IDE7XG4gICAgdmlzaWJpbGl0eTogdmlzaWJsZTtcbiAgfVxuXG4gIDEwMCUge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMTAlKSBzY2FsZSgwLjgpO1xuICAgIG9wYWNpdHk6IDA7XG4gICAgdmlzaWJpbGl0eTogaGlkZGVuO1xuICB9XG59XG5cbkBrZXlmcmFtZXMgbmF2T3ZlcmxheUluIHtcbiAgMCUge1xuICAgIHRyYW5zZm9ybS1vcmlnaW46IHRvcDtcbiAgICB0cmFuc2Zvcm06IHNjYWxlWSgwKTtcbiAgICBvcGFjaXR5OiAwO1xuICAgIHZpc2liaWxpdHk6IGhpZGRlbjtcbiAgfVxuXG4gIDEwMCUge1xuICAgIHRyYW5zZm9ybS1vcmlnaW46IHRvcDtcbiAgICB0cmFuc2Zvcm06IHNjYWxlWSgxKTtcbiAgICBvcGFjaXR5OiAxO1xuICAgIHZpc2liaWxpdHk6IHZpc2libGU7XG4gIH1cbn1cblxuQGtleWZyYW1lcyBuYXZPdmVybGF5T3V0IHtcbiAgMCUge1xuICAgIHRyYW5zZm9ybS1vcmlnaW46IHRvcDtcbiAgICB0cmFuc2Zvcm06IHNjYWxlWSgxKTtcbiAgICBvcGFjaXR5OiAxO1xuICAgIHZpc2liaWxpdHk6IHZpc2libGU7XG4gIH1cblxuICAxMDAlIHtcbiAgICB0cmFuc2Zvcm0tb3JpZ2luOiB0b3A7XG4gICAgdHJhbnNmb3JtOiBzY2FsZVkoMCk7XG4gICAgb3BhY2l0eTogMDtcbiAgICB2aXNpYmlsaXR5OiBoaWRkZW47XG4gIH1cbn1cblxuQGtleWZyYW1lcyBuYXZPdmVybGF5SW5uZXJJbiB7XG4gIDAlIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIHZpc2liaWxpdHk6IGhpZGRlbjtcbiAgfVxuXG4gIDEwMCUge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgdmlzaWJpbGl0eTogdmlzaWJsZTtcbiAgfVxufVxuXG5Aa2V5ZnJhbWVzIG5hdk92ZXJsYXlJbm5lck91dCB7XG4gIDAlIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIHZpc2liaWxpdHk6IHZpc2libGU7XG4gIH1cblxuICAxMDAlIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIHZpc2liaWxpdHk6IGhpZGRlbjtcbiAgfVxufVxuIiwiLyoqXG4gKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gKiBVbi50aXRsZWRcbiAqIEF0b21zIC0gR3JpZFxuICogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICovXG5cbi8qKlxuICogU3R5bGluZ1xuICovXG4uYS1ncmlkIHtcbiAgZGlzcGxheTogZ3JpZDtcbiAgZ2FwOiBjYWxjKHZhcigtLWJ1bXApIC8gMik7XG5cbiAgJi0tMSB7XG4gICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiAxZnI7XG4gIH1cblxuICAmLS0yIHtcbiAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdCgyLCAxZnIpO1xuXG4gICAgQGluY2x1ZGUgbWVkaWEoJzxzbScpIHtcbiAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogMWZyO1xuICAgIH1cbiAgfVxuXG4gICYtLTMge1xuICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KDMsIDFmcik7XG5cbiAgICBAaW5jbHVkZSBtZWRpYSgnPG1kJykge1xuICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoMiwgMWZyKTtcbiAgICB9XG5cbiAgICBAaW5jbHVkZSBtZWRpYSgnPHNtJykge1xuICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiAxZnI7XG4gICAgfVxuICB9XG5cbiAgJi0tNCB7XG4gICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoNCwgMWZyKTtcblxuICAgIEBpbmNsdWRlIG1lZGlhKCc8bWQnKSB7XG4gICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdCgyLCAxZnIpO1xuICAgIH1cblxuICAgIEBpbmNsdWRlIG1lZGlhKCc8c20nKSB7XG4gICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdCgxLCAxZnIpO1xuICAgIH1cbiAgfVxufVxuIiwiLyoqXG4gKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gKiBVbi50aXRsZWRcbiAqIEF0b21zIC0gTmF2IFRvZ2dsZVxuICogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICovXG5cbi8qKlxuICogQ29uZmlnXG4gKi9cbiRidW1wOiAzMHB4O1xuJGhlaWdodC1pY29uOiAkYnVtcCAtIDhweDtcbiR3aWR0aC1saW5lOiAkYnVtcDtcbiRoZWlnaHQtbGluZTogM3B4O1xuXG4kcm90YXRpb246IDQ1ZGVnO1xuJHRyYW5zbGF0ZVk6ICgkaGVpZ2h0LWljb24gLyAyKTtcbiR0cmFuc2xhdGVYOiAwO1xuXG4vKipcbiAqIFN0eWxlc1xuICovXG4uYS1uYXYtdG9nZ2xlIHtcbiAgYm9yZGVyOiAwO1xuICBwYWRkaW5nOiAwO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgd2lkdGg6ICR3aWR0aC1saW5lO1xuICBoZWlnaHQ6ICRoZWlnaHQtaWNvbjtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBkaXNwbGF5OiBub25lO1xuICBvdXRsaW5lOiBub25lO1xuICBtYXJnaW46IDAgMCAwIGF1dG87XG5cbiAgQGluY2x1ZGUgbWVkaWEoJzxzbScpIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgfVxuXG4gICY6aG92ZXIsXG4gICY6Zm9jdXMge1xuICAgIG91dGxpbmU6IG5vbmU7XG4gIH1cblxuICAmX19saW5lIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBiYWNrZ3JvdW5kOiB2YXIoLS1jLXNlY29uZGFyeSk7XG4gICAgd2lkdGg6ICR3aWR0aC1saW5lO1xuICAgIGhlaWdodDogJGhlaWdodC1saW5lO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBsZWZ0OiAwO1xuICAgIGJvcmRlci1yYWRpdXM6IDA7XG4gICAgdHJhbnNpdGlvbjogdmFyKC0tdHJhbnNpdGlvbik7XG5cbiAgICAmLTEge1xuICAgICAgdG9wOiAwO1xuXG4gICAgICA6aG92ZXIgPiAmIHtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKCRoZWlnaHQtbGluZSAvIDIgKiAtMSk7XG4gICAgICB9XG5cbiAgICAgIFtkYXRhLW5hdj0nb3BlbiddICYge1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoJHRyYW5zbGF0ZVkpIHRyYW5zbGF0ZVgoJHRyYW5zbGF0ZVgpXG4gICAgICAgICAgcm90YXRlKCRyb3RhdGlvbik7XG4gICAgICB9XG4gICAgfVxuICAgICYtMiB7XG4gICAgICB0b3A6IDUwJTtcblxuICAgICAgW2RhdGEtbmF2PSdvcGVuJ10gJiB7XG4gICAgICAgIG9wYWNpdHk6IDA7XG4gICAgICB9XG4gICAgfVxuICAgICYtMyB7XG4gICAgICB0b3A6IDEwMCU7XG5cbiAgICAgIDpob3ZlciA+ICYge1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoJGhlaWdodC1saW5lIC8gMik7XG4gICAgICB9XG5cbiAgICAgIFtkYXRhLW5hdj0nb3BlbiddICYge1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoJHRyYW5zbGF0ZVkgKiAtMSkgdHJhbnNsYXRlWCgkdHJhbnNsYXRlWClcbiAgICAgICAgICByb3RhdGUoJHJvdGF0aW9uICogLTEpO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIiwiLyoqXG4gKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gKiBVbi50aXRsZWRcbiAqIEF0b21zIC0gQnV0dG9uc1xuICogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICovXG5cbi8qKlxuICogQ29uZmlnXG4gKiovXG5cbkBtaXhpbiBidG4ge1xuICBAaW5jbHVkZSBmb250LWN0YTtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jLXRlcnRpYXJ5KTtcbiAgY29sb3I6IHZhcigtLWMtcHJpbWFyeSk7XG4gIHBhZGRpbmc6IGNhbGModmFyKC0tYnVtcCkgLyA0KSBjYWxjKHZhcigtLWJ1bXApIC8gMik7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgdHJhbnNpdGlvbjogMC4zcyB2YXIoLS1lYXNpbmcpO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIHRleHQtYWxpZ24tbGFzdDogY2VudGVyO1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG59XG5cbkBtaXhpbiBidG4tcmVzZXQge1xuICBmb250LWZhbWlseTogaW5oZXJpdDtcbiAgYm9yZGVyOiBub25lO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiBpbmhlcml0O1xuICBjb2xvcjogaW5oZXJpdDtcbiAgcGFkZGluZzogMDtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHRyYW5zaXRpb246IG5vbmU7XG59XG5cbkBtaXhpbiBidG4taG92ZXIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jLXNlY29uZGFyeSk7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbn1cblxuQG1peGluIGJ0bi1hbHQge1xuICBAaW5jbHVkZSBidG47XG4gIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWMtc2Vjb25kYXJ5KTtcbn1cblxuQG1peGluIGJ0bi1hbHQtaG92ZXIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jLXRlcnRpYXJ5KTtcbiAgY29sb3I6IHZhcigtLWMtcHJpbWFyeSk7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbn1cblxuQG1peGluIGJ0bi1uby1iZyB7XG4gIEBpbmNsdWRlIGJ0bjtcbiAgYm9yZGVyOiBub25lO1xuICBjb2xvcjogdmFyKC0tYy1zZWNvbmRhcnkpO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBib3JkZXI6IDA7XG4gIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xuICBhcHBlYXJhbmNlOiBub25lO1xuICB0cmFuc2l0aW9uOiAwLjNzIHZhcigtLWVhc2luZyk7XG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7XG59XG5cbkBtaXhpbiBidG4tYXJyb3cge1xuICBAaW5jbHVkZSBidG47XG4gIGJvcmRlcjogbm9uZTtcbiAgY29sb3I6IHZhcigtLWMtcHJpbWFyeSk7XG4gIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgYm9yZGVyOiAwO1xuICBhcHBlYXJhbmNlOiBub25lO1xuICB0cmFuc2l0aW9uOiAwLjNzIHZhcigtLWVhc2luZyk7XG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gIHBhZGRpbmc6IGNhbGModmFyKC0tYnVtcCkgLyA0KSBjYWxjKHZhcigtLWJ1bXApICogMy41KTtcblxuICAmOjphZnRlciB7XG4gICAgQGluY2x1ZGUgYmctaW1nKGNvdmVyKTtcbiAgICBjb250ZW50OiAnJztcbiAgICBtYXJnaW4tbGVmdDogMTBweDtcbiAgICB3aWR0aDogMjVweDtcbiAgICBoZWlnaHQ6IDIwcHg7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKCcuLi9pbWcvYXJyb3ctcmlnaHQuc3ZnJyk7XG4gICAgYmFja2dyb3VuZC1wb3NpdGlvbjogMHB4IGNlbnRlcjtcbiAgICB0cmFuc2l0aW9uOiAwLjNzIHZhcigtLWVhc2luZyk7XG4gIH1cbn1cblxuQG1peGluIGJ0bi1hcnJvdy1ob3Zlci13aGl0ZSB7XG4gICY6OmFmdGVyIHtcbiAgICBAaW5jbHVkZSBiZy1pbWcoMjBweCk7XG4gICAgY29udGVudDogJyc7XG4gICAgbWFyZ2luLWxlZnQ6IDEwcHg7XG4gICAgd2lkdGg6IDM1cHg7XG4gICAgaGVpZ2h0OiAyMHB4O1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCgnLi4vaW1nL2Fycm93LWhvdmVyLXdoaXRlLnN2ZycpO1xuICAgIGJhY2tncm91bmQtcG9zaXRpb246IDVweCBjZW50ZXI7XG4gIH1cbn1cblxuQG1peGluIHJpZ2h0LWRvdWJsZS1hcnJvdyB7XG4gICY6OmFmdGVyIHtcbiAgICBAaW5jbHVkZSBiZy1pbWcoMTBweCk7XG4gICAgY29udGVudDogJyc7XG4gICAgbWFyZ2luLWxlZnQ6IDEwcHg7XG4gICAgd2lkdGg6IDIwcHg7XG4gICAgaGVpZ2h0OiAyMHB4O1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCgnLi4vaW1nL3JpZ2h0LWRvdWJsZS1hcnJvdy5zdmcnKTtcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiA1cHggY2VudGVyO1xuICB9XG59XG5cbkBtaXhpbiBsZWZ0LWRvdWJsZS1hcnJvdyB7XG4gICY6OmJlZm9yZSB7XG4gICAgQGluY2x1ZGUgYmctaW1nKDEwcHgpO1xuICAgIGNvbnRlbnQ6ICcnO1xuICAgIG1hcmdpbi1yaWdodDogMTBweDtcbiAgICB3aWR0aDogMjBweDtcbiAgICBoZWlnaHQ6IDIwcHg7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKCcuLi9pbWcvbGVmdC1kb3VibGUtYXJyb3cuc3ZnJyk7XG4gICAgYmFja2dyb3VuZC1wb3NpdGlvbjogNXB4IGNlbnRlcjtcbiAgfVxufVxuXG4vKipcbiAqIFN0eWxlc1xuICoqL1xuXG4uYS1idG4ge1xuICBAaW5jbHVkZSBidG47XG5cbiAgJjpob3ZlciB7XG4gICAgQGluY2x1ZGUgYnRuLWhvdmVyO1xuICB9XG5cbiAgJi0tYWx0IHtcbiAgICBAaW5jbHVkZSBidG4tYWx0O1xuXG4gICAgJjpob3ZlciB7XG4gICAgICBAaW5jbHVkZSBidG4tYWx0LWhvdmVyO1xuICAgIH1cbiAgfVxuXG4gICYtLWJsYWNrLWJnIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jLXByaW1hcnkpO1xuICB9XG5cbiAgJi0tZ3JleS1iZyB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYy1jaGFyY29hbCk7XG4gICAgY29sb3I6IHZhcigtLWMtc2Vjb25kYXJ5KTsgICAgXG4gIH1cblxuICAmLS13aGl0ZS10ZXh0IHtcbiAgICBjb2xvcjogdmFyKC0tYy1zZWNvbmRhcnkpO1xuICAgICY6aG92ZXIge1xuICAgICAgY29sb3I6IHZhcigtLWMtcHJpbWFyeSk7XG4gICAgfVxuICB9XG5cbiAgJi0tbm9uLWNsaWNrYWJsZSB7XG4gICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gIH1cblxuICAmLS1mdWxsIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgfVxuXG4gICYtLW5vLWJnIHtcbiAgICBAaW5jbHVkZSBidG4tbm8tYmc7XG4gICAgJjpob3ZlciB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICB9XG4gIH1cblxuICAmLS1uby1iZy13aWRlIHtcbiAgICBAaW5jbHVkZSBidG4tbm8tYmc7XG4gICAgYm9yZGVyOiAycHggc29saWQgdmFyKC0tYy13aGl0ZSk7XG4gICAgJjpob3ZlciB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICB9XG4gIH1cblxuICAmLS1hcnJvdyB7XG4gICAgQGluY2x1ZGUgYnRuLWFycm93O1xuICB9XG5cbiAgJi0tcmlnaHQtZG91YmxlLWFycm93IHtcbiAgICBAaW5jbHVkZSByaWdodC1kb3VibGUtYXJyb3c7XG4gIH1cblxuICAmLS1sZWZ0LWRvdWJsZS1hcnJvdyB7XG4gICAgQGluY2x1ZGUgbGVmdC1kb3VibGUtYXJyb3c7XG4gIH1cbn1cbiIsIi8qKlxuICogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICogVW4udGl0bGVkXG4gKiBBdG9tcyAtIEltYWdlIGNyZWRpdHNcbiAqIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAqL1xuXG4uYS1pbWFnZS1jcmVkaXQge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogdmFyKC0tYnVtcCk7XG4gIHJpZ2h0OiB2YXIoLS1idW1wKTtcbiAgei1pbmRleDogNDtcbiAgY3Vyc29yOiBoZWxwICFpbXBvcnRhbnQ7XG4gIGhlaWdodDogMjBweDtcbiAgd2lkdGg6IDIwcHg7XG4gIGJvcmRlcjogMDtcbiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYy10ZXJ0aWFyeSk7XG4gIGJvcmRlci1yYWRpdXM6IHZhcigtLWJ1bXApO1xuICBjb2xvcjogdmFyKC0tYy1wcmltYXJ5KTtcbiAgcGFkZGluZzogMDtcbiAgbWFyZ2luOiAwO1xuXG4gIEBpbmNsdWRlIG1lZGlhKCc8c20nKSB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgICB2aXNpYmlsaXR5OiBoaWRkZW47XG4gIH1cblxuICBzcGFuIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgYWxpZ24tc2VsZjogY2VudGVyO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIHRleHQtdHJhbnNmb3JtOiBub25lO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICBtYXJnaW46IGF1dG87XG4gICAgZm9udC13ZWlnaHQ6IDkwMDtcbiAgfVxuXG4gICY6YmVmb3JlIHtcbiAgICBjb250ZW50OiBhdHRyKGRhdGEtY3JlZGl0KTtcbiAgICB0ZXh0LWluZGVudDogMDtcbiAgICBiYWNrZ3JvdW5kOiB2YXIoLS1jLXByaW1hcnkpO1xuICAgIGNvbG9yOiB2YXIoLS1jLXdoaXRlKTtcbiAgICBvcGFjaXR5OiAwO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICByaWdodDogdmFyKC0tYnVtcCk7XG4gICAgdG9wOiAwO1xuICAgIHotaW5kZXg6IC0xO1xuICAgIHBhZGRpbmc6IDAgMjFweDtcbiAgICBsaW5lLWhlaWdodDogMjJweDtcbiAgICBmb250LXNpemU6IDE2cHg7XG4gICAgdHJhbnNpdGlvbjogb3BhY2l0eSB2YXIoLS10cmFuc2l0aW9uKTtcbiAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgICBib3JkZXItcmFkaXVzOiAzcHg7XG4gICAgbGV0dGVyLXNwYWNpbmc6IDA7XG4gICAgd29yZC1zcGFjaW5nOiAwO1xuICAgIHdoaXRlLXNwYWNlOiBub3JtYWw7XG4gICAgbWF4LXdpZHRoOiAyMHZ3O1xuICAgIHdpZHRoOiAxMDB2dztcbiAgICBoZWlnaHQ6IGF1dG87XG4gIH1cblxuICAmOmZvY3VzLFxuICAmOmFjdGl2ZSxcbiAgJjpob3ZlciB7XG4gICAgJjo6YmVmb3JlIHtcbiAgICAgIG9wYWNpdHk6IDE7XG4gICAgfVxuICB9XG59XG4iLCIvKipcbiogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuKiBVbi50aXRsZWRcbiogQXRvbXMgLSBCcmVhZGNydW1ic1xuKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4qL1xuXG4vKipcbiogU3R5bGluZ1xuKi9cbi5hLWJyZWFkY3J1bWIge1xuICBtYXJnaW4tYm90dG9tOiB2YXIoLS1idW1wKTtcbiAgcGFkZGluZzogY2FsYyh2YXIoLS1idW1wKSAvIDIpIDA7XG5cbiAgQGluY2x1ZGUgbWVkaWEoJzx4cycpIHtcbiAgICBtYXJnaW4tYm90dG9tOiBjYWxjKHZhcigtLWJ1bXApIC8gMik7XG4gIH1cblxuICBvbCB7XG4gICAgQGluY2x1ZGUgbGktcmVzZXQ7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGZsZXgtd3JhcDogd3JhcDtcblxuICAgIGxpIHtcbiAgICAgIG1hcmdpbi1yaWdodDogY2FsYyh2YXIoLS1idW1wKSAvIDYpO1xuICAgICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcblxuICAgICAgJjo6YWZ0ZXIge1xuICAgICAgICBjb250ZW50OiAnLyc7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiBjYWxjKHZhcigtLWJ1bXApIC8gMTApO1xuICAgICAgfVxuXG4gICAgICAmOmxhc3QtY2hpbGQge1xuICAgICAgICAmOjphZnRlciB7XG4gICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIiwiLyoqXHJcbiogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxyXG4qIFVuLnRpdGxlZFxyXG4qIEF0b21zIC0gU2VhcmNoIGJ1dHRvblxyXG4qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cclxuKi9cclxuXHJcbi8qKlxyXG4qIENvbmZpZ1xyXG4qL1xyXG5cclxuLyoqXHJcbiogU3R5bGluZ1xyXG4qL1xyXG4uYS1zZWFyY2gtYnV0dG9uIHtcclxuICAgIEBpbmNsdWRlIGJ0blJlc2V0O1xyXG4gICAgZGlzcGxheTogZmxleDtcclxuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xyXG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuICAgIG1hcmdpbjogMCAxMHB4IDAgYXV0bztcclxuICAgIGZvbnQtc2l6ZTogdmFyKC0tZm9udFNpemVMZyk7XHJcbiAgICBoZWlnaHQ6IDQ0cHg7XHJcbiAgICB3aWR0aDogNDRweDtcclxuXHJcbiAgICBAaW5jbHVkZSBtZWRpYShcIjxsZ1wiKSB7XHJcbiAgICAgIG1hcmdpbjogMDtcclxuICAgIH1cclxuICBcclxuICAgIEBpbmNsdWRlIG1lZGlhKCc8bWQnKSB7XHJcbiAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW4tcmV2ZXJzZTtcclxuICAgICAgcGFkZGluZy10b3A6IDA7XHJcbiAgICAgIHBhZGRpbmctYm90dG9tOiAwO1xyXG4gICAgfVxyXG5cclxuICAgIEBpbmNsdWRlIG1lZGlhKCc8c20nKSB7XHJcbiAgICAgIG1hcmdpbi1sZWZ0OiBhdXRvO1xyXG4gICAgfVxyXG4gIFxyXG4gICAgJjpob3ZlciB7XHJcbiAgICAgIGNvbG9yOiB2YXIoLS1jLXNlY29uZGFyeSk7XHJcbiAgICB9XHJcbiAgXHJcbiAgICBzcGFuIHtcclxuICAgICAgbGluZS1oZWlnaHQ6IDE7XHJcbiAgXHJcbiAgICAgIEBpbmNsdWRlIG1lZGlhKCc+bWQnLCAnPDEyMDBweCcpIHtcclxuICAgICAgICBkaXNwbGF5OiBub25lO1xyXG4gICAgICAgIHZpc2liaWxpdHk6IGhpZGRlbjtcclxuICAgICAgfVxyXG4gIFxyXG4gICAgICBAaW5jbHVkZSBtZWRpYSgnPG1kJykge1xyXG4gICAgICAgIGZvbnQtc2l6ZTogdmFyKC0tZm9udFNpemVTbSk7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICBcclxuICAgICYgPiBzdmcge1xyXG4gICAgICB3aWR0aDogMjBweDtcclxuICAgICAgaGVpZ2h0OiAyMHB4O1xyXG4gICAgICBmaWxsOiB2YXIoLS1jLXNlY29uZGFyeSk7XHJcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgICB2aXNpYmlsaXR5OiB2aXNpYmxlO1xyXG5cclxuICAgICAgQGluY2x1ZGUgbWVkaWEoJzxzbScpIHtcclxuICAgICAgICBtYXJnaW4tbGVmdDogMDtcclxuICAgICAgICBoZWlnaHQ6IDI2cHg7XHJcbiAgICAgIH1cclxuICBcclxuICAgICAgW2RhdGEtc2VhcmNoPSdvcGVuJ10gJiB7XHJcbiAgICAgICAgZGlzcGxheTogbm9uZTtcclxuICAgICAgICB2aXNpYmlsaXR5OiBoaWRkZW47XHJcbiAgICAgIH1cclxuICAgIH1cclxuICBcclxuICAgIC5hLXNlYXJjaC1idXR0b25fX2Nsb3NlIHtcclxuICAgICAgICBkaXNwbGF5OiBub25lO1xyXG4gICAgICAgIHZpc2liaWxpdHk6IGhpZGRlbjtcclxuICAgICAgICB0cmFuc2l0aW9uOiBhbGwgMC42cyB2YXIoLS1lYXNpbmcpO1xyXG5cclxuICAgICAgICAmOjpiZWZvcmUsXHJcbiAgICAgICAgJjo6YWZ0ZXIge1xyXG4gICAgICAgICAgY29udGVudDogJyc7XHJcbiAgICAgICAgICBkaXNwbGF5OiBibG9jaztcclxuICAgICAgICAgIGJhY2tncm91bmQ6IHZhcigtLWMtYmxhY2spO1xyXG4gICAgICAgICAgd2lkdGg6ICR3aWR0aC1saW5lO1xyXG4gICAgICAgICAgaGVpZ2h0OiAkaGVpZ2h0LWxpbmU7XHJcbiAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICAgICAgICByaWdodDogMDtcclxuICAgICAgICAgIGJvcmRlci1yYWRpdXM6ICgkaGVpZ2h0LWxpbmUgLyAyKTtcclxuICAgICAgICAgIHRyYW5zaXRpb246IHZhcigtLXRyYW5zaXRpb24pO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgJjo6YmVmb3JlIHtcclxuICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSg5cHgpIHRyYW5zbGF0ZVgoJHRyYW5zbGF0ZVgpXHJcbiAgICAgICAgICByb3RhdGUoJHJvdGF0aW9uKTtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgICY6OmFmdGVyIHtcclxuICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSg5cHggKiAtMSkgdHJhbnNsYXRlWCgkdHJhbnNsYXRlWClcclxuICAgICAgICAgIHJvdGF0ZSgkcm90YXRpb24gKiAtMSk7XHJcbiAgICAgICAgfVxyXG4gIFxyXG4gICAgICAgIFtkYXRhLXNlYXJjaD0nb3BlbiddICYge1xyXG4gICAgICAgICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICAgICAgICB2aXNpYmlsaXR5OiB2aXNpYmxlO1xyXG4gICAgICAgICAgY29sb3I6IHZhcigtLWMtYmxhY2spO1xyXG4gICAgICAgICAgICBcclxuICAgICAgICAgICY6OmJlZm9yZSxcclxuICAgICAgICAgICY6OmFmdGVyIHtcclxuICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcclxuICAgICAgICAgIH1cclxuICAgICAgICAgIFxyXG4gICAgICAgICAgQGluY2x1ZGUgbWVkaWEoJzxzbScpIHtcclxuICAgICAgICAgICAgQGluY2x1ZGUgcm0tdGV4dDtcclxuICAgICAgICAgICAgXHJcbiAgICAgICAgICAgICY6OmJlZm9yZSxcclxuICAgICAgICAgICAgJjo6YWZ0ZXIge1xyXG4gICAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICBzdmcge1xyXG4gICAgICAgICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICAgICAgICBoZWlnaHQ6IDIwcHg7XHJcbiAgICAgICAgICB3aWR0aDogMjBweDtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG4gICIsIi8qKlxyXG4gKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tXHJcbiAqIFVuLnRpdGxlZFxyXG4gKiBNb2xlY3VsZXMgLSBFbWVyZ2VuY3kgTWVzc2FnZVxyXG4gKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tXHJcbiAqL1xyXG5cclxuLyoqXHJcbiAqIENvbmZpZ1xyXG4gKiovXHJcbiBAa2V5ZnJhbWVzIHNsaWRlSW5VcCB7XHJcbiAgMCUge1xyXG4gICAgb3BhY2l0eTogMDtcclxuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgxMDAlKTtcclxuICB9XHJcbiAgODAlIHtcclxuICAgIHRyYW5zZm9ybTogc2NhbGUoMS4wMik7XHJcbiAgfVxyXG4gIDEwMCUge1xyXG4gICAgb3BhY2l0eTogMTtcclxuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKSBzY2FsZSgxKTtcclxuICB9XHJcbn1cclxuXHJcbi8qKlxyXG4gKiBTdHlsaW5nXHJcbiAqKi9cclxuLm0tZW1tc2cge1xyXG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICB3aWR0aDogMTAwJTtcclxuICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jLXRlcnRpYXJ5KTtcclxuICB6LWluZGV4OiAxMDA7XHJcbiAgY29sb3I6IHZhcigtLWMtd2hpdGUpO1xyXG4gIHBhZGRpbmc6IGNhbGModmFyKC0tYnVtcCkgLyAyKSAwO1xyXG4gIGRpc3BsYXk6IG5vbmU7XHJcblxyXG4gICZfX2lubmVyIHtcclxuICAgIGZvbnQtZmFtaWx5OiB2YXIoLS1mb250U2VtaUJvbGQpO1xyXG4gIH1cclxuXHJcbiAgJltkYXRhLXN0YXRlPSd2aXNpYmxlJ10ge1xyXG4gICAgb3BhY2l0eTogMDtcclxuICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDEwMCUpO1xyXG4gICAgYW5pbWF0aW9uOiBzbGlkZUluVXAgMC4ycyAwLjNzIGN1YmljLWJlemllcigwLjc3LCAwLjI5LCAwLjM1LCAwLjcyKSAxXHJcbiAgICAgIGZvcndhcmRzO1xyXG4gIH1cclxuXHJcbiAgQGluY2x1ZGUgbWVkaWEoJzx4cycpIHtcclxuICAgIHBhZGRpbmc6IDA7XHJcbiAgfVxyXG4gIGgzIHtcclxuICAgIGNvbG9yOiB2YXIoLS1jLXByaW1hcnkpO1xyXG4gICAgbWFyZ2luLWJvdHRvbTogMDtcclxuICAgIHdpZHRoOiA4NSU7XHJcbiAgfVxyXG5cclxuICBwIHtcclxuICAgIGNvbG9yOiB2YXIoLS1jLXByaW1hcnkpO1xyXG4gICAgd2lkdGg6IDk1JTtcclxuICB9XHJcblxyXG4gIGJ1dHRvbiB7XHJcbiAgICBAaW5jbHVkZSBidG5SZXNldDtcclxuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgIHRvcDogY2FsYyh2YXIoLS1idW1wKSAvIDIpO1xyXG4gICAgcmlnaHQ6IGNhbGModmFyKC0tYnVtcCkgLyAyKTtcclxuICAgIGhlaWdodDogMjBweDtcclxuICAgIHdpZHRoOiAyMHB4O1xyXG4gICAgZGlzcGxheTogZmxleDtcclxuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xyXG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuICAgIHRyYW5zaXRpb246IHZhcigtLXRyYW5zaXRpb24pO1xyXG5cclxuICAgIHBhdGgge1xyXG4gICAgICBmaWxsOiB2YXIoLS1jLXByaW1hcnkpO1xyXG4gICAgfVxyXG4gIH1cclxufVxyXG4iLCIvKipcclxuICogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxyXG4gKiBVbi50aXRsZWRcclxuICogTW9sZWN1bGVzIC0gRW50aXRpZXNcclxuICogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxyXG4gKi9cclxuXHJcbi5tLWVudGl0eSB7XHJcbiAgbWFyZ2luOiBjYWxjKHZhcigtLWJ1bXApICogMS41KSAwO1xyXG5cclxuICBAaW5jbHVkZSBtZWRpYSgnPHNtJykge1xyXG4gICAgbWFyZ2luOiB2YXIoLS1idW1wKSAwO1xyXG4gIH1cclxuXHJcbiAgaW1nIHtcclxuICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgaGVpZ2h0OiBhdXRvO1xyXG4gICAgZGlzcGxheTogYmxvY2s7XHJcbiAgfVxyXG5cclxuICBwIHtcclxuICAgIC5jdF9fb24tcGhvdG9ncmFwaHktcG9zdCAmLFxyXG4gICAgLmN0X19wYWdlICYge1xyXG4gICAgICBmb250LXNpemU6IDE3cHg7XHJcbiAgICAgIGxpbmUtaGVpZ2h0OiAxLjY7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICAmX19ib2R5LFxyXG4gICZfX3RleHQsXHJcbiAgJl9fYWNjb3JkaW9uLFxyXG4gICZfX2ltYWdlLXRleHQge1xyXG4gICAgcCBhIHtcclxuICAgICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XHJcblxyXG4gICAgICAmOmhvdmVyIHtcclxuICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcblxyXG4gICZfX2JvZHksXHJcbiAgJl9fdGV4dCxcclxuICAmX19hY2NvcmRpb24ge1xyXG4gICAgdWwge1xyXG4gICAgICBtYXJnaW4tbGVmdDogMTVweDtcclxuXHJcbiAgICAgIGxpIHtcclxuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMTBweDtcclxuICAgICAgICBsaXN0LXN0eWxlLXBvc2l0aW9uOiBvdXRzaWRlO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICAmX190ZXh0IHtcclxuICAgIHVsIHtcclxuICAgICAgY29sb3I6IHZhcigtLWMtc2Vjb25kYXJ5KTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gICYtLXNwYWNlLWJldHdlZW4ge1xyXG4gICAgZGlzcGxheTogZmxleDtcclxuICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcclxuICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XHJcblxyXG4gICAgQGluY2x1ZGUgbWVkaWEoJzx4cycpIHtcclxuICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcclxuICAgIH1cclxuICB9XHJcblxyXG4gICZfX2Zvcm1hdCB7XHJcbiAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xyXG4gICAgZmxleC1kaXJlY3Rpb246IHJvdztcclxuICAgIGdhcDogMTBweDtcclxuXHJcbiAgICBAaW5jbHVkZSBtZWRpYSgnPHNtJykge1xyXG4gICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xyXG4gICAgfVxyXG5cclxuICAgICYtbGluayB7XHJcbiAgICAgIGZsZXgtZ3JvdzogMTtcclxuICAgICAgbWFyZ2luOiAwIDIwcHggMCAwO1xyXG4gICAgICAmOmxhc3Qtb2YtdHlwZSB7XHJcbiAgICAgICAgbWFyZ2luOiAwO1xyXG4gICAgICB9XHJcbiAgICAgIEBpbmNsdWRlIG1lZGlhKCc8c20nKSB7XHJcbiAgICAgICAgbWFyZ2luOiAwO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICAmX19wYXN0LXByb2dyYW1tZS1iYXIge1xyXG4gICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xyXG4gICAgJl9fY3RhIHtcclxuICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuICAgICAgYWxpZ24tY29udGVudDogY2VudGVyO1xyXG4gICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcclxuICAgICAgYSB7fVxyXG4gICAgfVxyXG4gICAgJl9fdGl0bGUge1xyXG4gICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG5cclxuICAgICAgQGluY2x1ZGUgbWVkaWEoJzxzbScpIHtcclxuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcclxuICAgICAgfVxyXG4gICAgICBoMiB7XHJcbiAgICAgICAgQGluY2x1ZGUgbWVkaWEoJzxzbScpIHtcclxuICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcclxuICAgICAgICAgIHRleHQtYWxpZ24tbGFzdDogY2VudGVyO1xyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgJl9fY2FwdGlvbiB7XHJcbiAgICBwIHtcclxuICAgICAgYm9yZGVyLWxlZnQ6IDJweCBzb2xpZCB2YXIoLS1jLXRlcnRpYXJ5KTtcclxuICAgICAgcGFkZGluZy1sZWZ0OiAxMHB4O1xyXG4gICAgICBtYXJnaW46IDEuNWVtIDAgMDtcclxuICAgIH1cclxuICB9XHJcblxyXG4gICZfX2ltYWdlIHtcclxuICAgIGE6bm90KC5saW5rZWQpIHBpY3R1cmUge1xyXG4gICAgICBjdXJzb3I6IGF1dG87XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICAmX19yZWxhdGVkIHtcclxuICAgIG1hcmdpbjogMDtcclxuICB9XHJcblxyXG4gICZfX2N1cmF0ZWQtc2lnbnBvc3RzIHtcclxuICAgICZfX2lubmVyIHtcclxuICAgICAgcGFkZGluZzogNTBweCAwO1xyXG5cclxuICAgICAgQGluY2x1ZGUgbWVkaWEoXCI8c21cIikge1xyXG4gICAgICAgIHBhZGRpbmc6IDQwcHggMDtcclxuICAgICAgfVxyXG5cclxuICAgICAgLmVjay1lbnRpdHkge1xyXG4gICAgICAgIC5hLWdyaWQge1xyXG4gICAgICAgICAgZ2FwOiAyMHB4O1xyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG5cclxuICAgICAgJi0tZGFyayB7XHJcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYy1ibGFjayk7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcblxyXG4gIEBpbXBvcnQgJy4vZW50aXRpZXMvYm9keSc7XHJcbiAgQGltcG9ydCAnLi9lbnRpdGllcy9pbWFnZSc7XHJcbiAgQGltcG9ydCAnLi9lbnRpdGllcy92aWV3JztcclxuICBAaW1wb3J0ICcuL2VudGl0aWVzL3F1b3RlJztcclxuICBAaW1wb3J0ICcuL2VudGl0aWVzL2FjY29yZGlvbic7XHJcbiAgQGltcG9ydCAnLi9lbnRpdGllcy9nYWxsZXJ5JztcclxuICBAaW1wb3J0ICcuL2VudGl0aWVzL2ltYWdlLXRleHQnO1xyXG4gIEBpbXBvcnQgJy4vZW50aXRpZXMvZG93bmxvYWRzJztcclxuICBAaW1wb3J0ICcuL2VudGl0aWVzL2VtYmVkJztcclxuICBAaW1wb3J0ICcuL2VudGl0aWVzL3NpZ25wb3N0cyc7XHJcbiAgQGltcG9ydCAnLi9lbnRpdGllcy9leHRyYXMnO1xyXG4gIEBpbXBvcnQgJy4vZW50aXRpZXMvZmVhdHVyZWQtY29udGVudCc7XHJcbiAgQGltcG9ydCAnLi9lbnRpdGllcy9mZWF0dXJlZC1jb250ZW50LXYyJztcclxuICBAaW1wb3J0ICcuL2VudGl0aWVzL2ltYWdlLWFuZC10ZXh0LXRhYic7XHJcbiAgQGltcG9ydCAnLi9lbnRpdGllcy9jaGlsZC1wYWdlLXNpZ25wb3N0cyc7XHJcbiAgQGltcG9ydCAnLi9lbnRpdGllcy9saW5rZWQtdGV4dCc7XHJcbn1cclxuIiwiLyoqXG4gKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gKiBVbi50aXRsZWRcbiAqIE1vbGVjdWxlcyAtIE5vZGUgYm9keSBjb3B5XG4gKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gKi9cblxuJl9fYm9keSB7XG4gIG1hcmdpbi10b3A6IDA7XG4gIGNvbG9yOiB2YXIoLS1jLXNlY29uZGFyeSk7XG5cbiAgcCB7XG4gICAgLmN0X19waG90b2dyYXBoeS1jdWx0dXJlLWxpc3RpbmcgJixcbiAgICAuY3RfX3doYXQtcy1vbi1saXN0aW5nICYsXG4gICAgLmN0X19sYW5kaW5nLXBhZ2UgJixcbiAgICAuY3RfX2NvbGxlY3Rpb24tcGFnZSAmIHtcbiAgICAgIGZvbnQtc2l6ZTogMTdweDtcbiAgICAgIGxpbmUtaGVpZ2h0OiAxLjY7XG4gICAgfVxuICB9XG59XG4iLCIvKipcbiAqIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAqIFVuLnRpdGxlZFxuICogTW9sZWN1bGVzIC0gSW1hZ2VcbiAqIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAqL1xuXG4mX19pbWFnZS13cmFwcGVyIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xufVxuIiwiLyoqXG4gKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gKiBVbi50aXRsZWRcbiAqIE1vbGVjdWxlcyAtIEVudGl0eSB2aWV3c1xuICogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICovXG5cbiZfX3ZpZXcge1xuICAmOmZpcnN0LWNoaWxkIHtcbiAgICBtYXJnaW4tdG9wOiAwO1xuICB9XG4gICY6bGFzdC1jaGlsZCB7XG4gICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgfVxufVxuIiwiLyoqXG4gKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gKiBVbi50aXRsZWRcbiAqIE1vbGVjdWxlcyAtIFF1b3Rlc1xuICogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICovXG5cbi8qKlxuICogQ29uZmlnXG4gKi9cblxuQG1peGluIHJhdGluZygkc3RhcnMpIHtcbiAgJjpudGgtY2hpbGQoLW4gKyAjeyRzdGFyc30pIHtcbiAgICBwYXRoIHtcbiAgICAgIGZpbGw6IHZhcigtLWMtZ3JleSk7XG4gICAgICBzdHJva2U6IHZhcigtLWMtZ3JleSk7XG4gICAgfVxuICB9XG59XG5cbi8qKlxuKiBTdHlsZXNcbiovXG5cbiZfX3F1b3RlIHtcbiAgLS1xdW90ZVBhZGRpbmc6IDQwcHg7XG4gIEBpbmNsdWRlIG1lZGlhKCc8bWQnKSB7XG4gICAgLS1xdW90ZVBhZGRpbmc6IDQwcHg7XG4gIH1cblxuICBibG9ja3F1b3RlIHtcbiAgICBtYXJnaW46IDA7XG4gICAgcGFkZGluZzogMCBjYWxjKHZhcigtLXF1b3RlUGFkZGluZykgKiAyKSAwO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICAgICY6OmJlZm9yZSB7XG4gICAgICBjb250ZW50OiAnJztcbiAgICAgIEBpbmNsdWRlIGJnLWltZyhjb250YWluKTtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHotaW5kZXg6IDA7XG4gICAgICBoZWlnaHQ6IGNhbGModmFyKC0tcXVvdGVQYWRkaW5nKSArIDIwcHgpO1xuICAgICAgd2lkdGg6IGNhbGModmFyKC0tcXVvdGVQYWRkaW5nKSArIDIwcHgpO1xuICAgIH1cblxuICAgICY6OmJlZm9yZSB7XG4gICAgICB0b3A6IDA7XG4gICAgICBsZWZ0OiAwO1xuICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKCcuLi9pbWcvcXVvdGF0aW9uLnN2ZycpO1xuICAgIH1cblxuICAgIHAge1xuICAgICAgY29sb3I6IHZhcigtLWMtc2Vjb25kYXJ5KTtcbiAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgICAvLyBmb250LXdlaWdodDogYm9sZDtcbiAgICAgIGZvbnQtc2l6ZTogMS41cmVtO1xuICAgIH1cbiAgfVxuXG4gICYtaW5mbyB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDtcbiAgICBhbGlnbi1pdGVtczogZmxleC1zdGFydDtcbiAgICBmbGV4LXdyYXA6IHdyYXA7XG4gICAgbWFyZ2luLXRvcDogMTBweDtcbiAgfVxuXG4gIGNpdGUge1xuICAgIGZvbnQtZmFtaWx5OiB2YXIoLS1mb250Qm9keSk7XG4gICAgZm9udC1zdHlsZTogbm9ybWFsO1xuICAgIGNvbG9yOiB2YXIoLS1jLXNlY29uZGFyeSk7XG4gICAgbWFyZ2luLXRvcDogMTBweDtcbiAgfVxuXG4gIC5yYXRpbmcge1xuICAgIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICAgIG1hcmdpbi1yaWdodDogY2FsYyh2YXIoLS1idW1wKSAvIDIpO1xuXG4gICAgJl9fc3RhciB7XG4gICAgICB3aWR0aDogMjRweDtcbiAgICAgIGhlaWdodDogMjRweDtcbiAgICAgIG1hcmdpbi1yaWdodDogNXB4O1xuICAgICAgc3Ryb2tlOiB2YXIoLS1jLWdyZXkpO1xuXG4gICAgICAmOmxhc3QtY2hpbGQge1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gICAgICB9XG4gICAgfVxuXG4gICAgQGZvciAkc3RhcnMgZnJvbSAxIHRocm91Z2ggNSB7XG4gICAgICAmLS0jeyRzdGFyc30ge1xuICAgICAgICAucmF0aW5nX19zdGFyIHtcbiAgICAgICAgICBAaW5jbHVkZSByYXRpbmcoI3skc3RhcnN9KTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gICYtLWJpZyB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYy1ibHVlRGFyayk7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBjb2xvcjogdmFyKC0tYy13aGl0ZSk7XG5cbiAgICBAaW5jbHVkZSBtZWRpYSgnPG1kJykge1xuICAgICAgbWFyZ2luLWJvdHRvbTogNy41dmg7XG4gICAgfVxuXG4gICAgaW1nIHtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHRvcDogMDtcbiAgICAgIGxlZnQ6IDA7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgb2JqZWN0LWZpdDogY292ZXI7XG4gICAgICB6LWluZGV4OiAwO1xuICAgICAgb3BhY2l0eTogMC4yO1xuICAgIH1cblxuICAgIGJsb2NrcXVvdGUge1xuICAgICAgbWFyZ2luOiAxMHZoIDA7XG5cbiAgICAgIEBpbmNsdWRlIG1lZGlhKCc8bGcnKSB7XG4gICAgICAgIG1hcmdpbjogNXZoIDA7XG4gICAgICB9XG5cbiAgICAgIEBpbmNsdWRlIG1lZGlhKCc8bWQnKSB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDEwdmg7XG4gICAgICB9XG5cbiAgICAgICY6OmJlZm9yZSxcbiAgICAgICY6OmFmdGVyIHtcbiAgICAgICAgaGVpZ2h0OiBjYWxjKHZhcigtLXF1b3RlUGFkZGluZykgKiAzKTtcbiAgICAgICAgd2lkdGg6IGNhbGModmFyKC0tcXVvdGVQYWRkaW5nKSAqIDMpO1xuXG4gICAgICAgIEBpbmNsdWRlIG1lZGlhKCc8bWQnKSB7XG4gICAgICAgICAgaGVpZ2h0OiBjYWxjKHZhcigtLXF1b3RlUGFkZGluZykgKiAyKTtcbiAgICAgICAgICB3aWR0aDogY2FsYyh2YXIoLS1xdW90ZVBhZGRpbmcpICogMik7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgJjo6YmVmb3JlIHtcbiAgICAgICAgbGVmdDogY2FsYyh2YXIoLS1xdW90ZVBhZGRpbmcpICogLTEpO1xuICAgICAgICB0b3A6IGNhbGModmFyKC0tcXVvdGVQYWRkaW5nKSAqIC0xKTtcblxuICAgICAgICBAaW5jbHVkZSBtZWRpYSgnPG1kJykge1xuICAgICAgICAgIGxlZnQ6IDA7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgJjo6YWZ0ZXIge1xuICAgICAgICBib3R0b206IDA7XG4gICAgICAgIHJpZ2h0OiAwO1xuXG4gICAgICAgIEBpbmNsdWRlIG1lZGlhKCc8c20nKSB7XG4gICAgICAgICAgcmlnaHQ6IDA7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgcCB7XG4gICAgICAgIGZvbnQtc2l6ZTogY2xhbXAoMS41cmVtLCA1dncsIDJyZW0pO1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIHotaW5kZXg6IDI7XG4gICAgICB9XG5cbiAgICAgIGNpdGUge1xuICAgICAgICBmb250LXNpemU6IDEuMjVyZW07XG4gICAgICB9XG4gICAgfVxuXG4gICAgLmEtd29yZCB7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICByaWdodDogMDtcbiAgICAgIHRvcDogLTNyZW07XG4gICAgICB3aWR0aDogMTB2dztcbiAgICAgIGhlaWdodDogY2FsYygxMDAlICsgNnJlbSk7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDtcblxuICAgICAgQGluY2x1ZGUgbWVkaWEoJzxtZCcpIHtcbiAgICAgICAgdG9wOiBhdXRvO1xuICAgICAgICBib3R0b206IC03LjV2aDtcbiAgICAgICAgbGVmdDogMDtcbiAgICAgICAgcmlnaHQ6IGF1dG87XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBoZWlnaHQ6IDE1dmg7XG4gICAgICB9XG5cbiAgICAgIHN2ZyB7XG4gICAgICAgIG1peC1ibGVuZC1tb2RlOiBub3JtYWw7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICAgIG9iamVjdC1maXQ6IGNvbnRhaW47XG5cbiAgICAgICAgJjpmaXJzdC1vZi10eXBlIHtcbiAgICAgICAgICBAaW5jbHVkZSBtZWRpYSgnPG1kJykge1xuICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgICAgIHZpc2liaWxpdHk6IGhpZGRlbjtcbiAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAmOmxhc3Qtb2YtdHlwZSB7XG4gICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgICB2aXNpYmlsaXR5OiBoaWRkZW47XG5cbiAgICAgICAgICBAaW5jbHVkZSBtZWRpYSgnPG1kJykge1xuICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICB2aXNpYmlsaXR5OiB2aXNpYmxlO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIiwiLyoqXG4gKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gKiBVbi50aXRsZWRcbiAqIE1vbGVjdWxlcyAtIEFjY29yZGlvbnNcbiAqIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAqL1xuXG4mX19hY2NvcmRpb24ge1xuICAvLyAuYWNjb3JkaW9uIHtcbiAgLy8gfVxuICAuYWNjb3JkaW9uX19oZWFkZXIge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgYm9yZGVyOiAwO1xuICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICAgIHRleHQtYWxpZ24tbGFzdDogbGVmdDtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBwYWRkaW5nOiBjYWxjKHZhcigtLWJ1bXApIC8gMik7XG4gICAgY29sb3I6ICNmZmY7XG5cbiAgICAmOjphZnRlciB7XG4gICAgICBjb250ZW50OiAnJztcbiAgICAgIEBpbmNsdWRlIGJnLWltZyhjb3Zlcik7XG4gICAgICBoZWlnaHQ6IGNhbGModmFyKC0tYnVtcCkgLyAyKTtcbiAgICAgIHdpZHRoOiBjYWxjKHZhcigtLWJ1bXApIC8gMik7XG4gICAgfVxuXG4gICAgJjpmb2N1cyxcbiAgICAmW2FyaWEtZXhwYW5kZWQ9J3RydWUnXSB7XG4gICAgICBmb250LXdlaWdodDogYm9sZDtcbiAgICAgIG91dGxpbmU6IG5vbmU7XG4gICAgfVxuICB9XG5cbiAgLmFjY29yZGlvbl9fdGl0bGUge1xuICAgIG1hcmdpbjogY2FsYyh2YXIoLS1idW1wKSAvIDIpIDAgMDtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDIxNSwgMjE1LCAyMTUsIDAuMik7XG4gICAgJjpmaXJzdC1vZi10eXBlIHtcbiAgICAgIG1hcmdpbi10b3A6IDA7XG4gICAgfVxuICB9XG5cbiAgLmpzLWFjY29yZGlvbl9fcGFuZWwge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cblxuICAuYWNjb3JkaW9uX19wYW5lbCB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDIxNSwgMjE1LCAyMTUsIDAuMik7XG4gICAgb3BhY2l0eTogMTtcbiAgICB0cmFuc2l0aW9uOiB2aXNpYmlsaXR5IDBzIGVhc2UsIG1heC1oZWlnaHQgMC4ycyBlYXNlLCBvcGFjaXR5IDAuMnMgZWFzZTtcbiAgICBtYXgtaGVpZ2h0OiAxMDBlbTtcbiAgICB2aXNpYmlsaXR5OiB2aXNpYmxlO1xuICAgIHRyYW5zaXRpb24tZGVsYXk6IDBzO1xuICAgIHBhZGRpbmc6IDAgY2FsYyh2YXIoLS1idW1wKSAvIDIpIDA7XG5cbiAgICAmW2FyaWEtaGlkZGVuPSd0cnVlJ10ge1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICBtYXgtaGVpZ2h0OiAwO1xuICAgICAgb3BhY2l0eTogMDtcbiAgICAgIHZpc2liaWxpdHk6IGhpZGRlbjtcbiAgICAgIHRyYW5zaXRpb24tZGVsYXk6IDAuMnMsIDBzLCAwcztcbiAgICB9XG5cbiAgICBwIHtcbiAgICAgIGNvbG9yOiAjZmZmO1xuICAgICAgJjpsYXN0LWNoaWxkIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogY2FsYyh2YXIoLS1idW1wKSAvIDIpO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC8qIHRpdGxlIG9wZW5lZCAqL1xuICBbYXJpYS1leHBhbmRlZD0ndHJ1ZSddOmFmdGVyIHtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJkYXRhOmltYWdlL3N2Zyt4bWwsJTNDc3ZnIHhtbG5zPSdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Zycgdmlld0JveD0nMCAwIDIwIDIwJyUzRSUzQ2xpbmUgeDE9JzAnIHkxPScxMCcgeDI9JzIwJyB5Mj0nMTAnIHN0cm9rZT0nJTIzZmZmZmZmJyUzRSUzQy9saW5lJTNFJTNDL3N2ZyUzRVwiKTtcbiAgfVxuICAvKiB0aXRsZSBjbG9zZWQgKi9cbiAgW2FyaWEtZXhwYW5kZWQ9J2ZhbHNlJ106YWZ0ZXIge1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImRhdGE6aW1hZ2Uvc3ZnK3htbCwlM0NzdmcgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJyB2aWV3Qm94PScwIDAgMjAgMjAnJTNFJTNDbGluZSB4MT0nMCcgeTE9JzEwJyB4Mj0nMjAnIHkyPScxMCcgc3Ryb2tlPSclMjNmZmZmZmYnJTNFJTNDL2xpbmUlM0UlM0NsaW5lIHgxPScxMCcgeTE9JzAnIHgyPScxMCcgeTI9JzIwJyBzdHJva2U9JyUyM2ZmZmZmZiclM0UlM0MvbGluZSUzRSUzQy9zdmclM0VcIik7XG4gIH1cblxuICAvLyAvKiB0aXRsZSBzZWxlY3RlZCAqL1xuICAvLyBbYXJpYS1zZWxlY3RlZD1cInRydWVcIl06YWZ0ZXIge1xuICAvLyAgIGNvbnRlbnQ6IFwiIChzZWwpXCI7XG4gIC8vIH1cbiAgLy8gLyogdGl0bGUgbm9uIHNlbGVjdGVkICovXG4gIC8vIFthcmlhLXNlbGVjdGVkPVwiZmFsc2VcIl06YWZ0ZXIge1xuICAvLyAgIGNvbnRlbnQ6IFwiICh1bnNlbGMpXCI7XG4gIC8vIH1cbn1cbiIsIi8qKlxuICogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICogVW4udGl0bGVkXG4gKiBNb2xlY3VsZXMgLSBHYWxsZXJ5XG4gKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gKi9cblxuJl9fZ2FsbGVyeSB7XG4gIGEge1xuICAgICY6aG92ZXIge1xuICAgICAgb3BhY2l0eTogMC43O1xuICAgIH1cbiAgfVxufVxuIiwiLyoqXG4gKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gKiBVbi50aXRsZWRcbiAqIE1vbGVjdWxlcyAtIEltYWdlICYgVGV4dFxuICogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICovXG5cbiZfX2ltYWdlLXRleHQge1xuICAmX19pbm5lciB7XG4gICAgZGlzcGxheTogZ3JpZDtcbiAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDQwJSAxZnI7XG4gICAgZ2FwOiBjYWxjKHZhcigtLWJ1bXApIC8gMS41KTtcbiAgICBhbGlnbi1pdGVtczogZmxleC1zdGFydDtcblxuICAgIEBpbmNsdWRlIG1lZGlhKCc8bWQnKSB7XG4gICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDFmcjtcbiAgICAgIGdhcDogY2FsYyh2YXIoLS1idW1wKSAvIDIpO1xuICAgIH1cbiAgfVxuICAmLWNvbnRlbnQge1xuICAgIHAge1xuICAgICAgbWFyZ2luOiAwIDAgMS41ZW07XG4gICAgfVxuICB9XG59XG4iLCIvKipcbiogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuKiBVbi50aXRsZWRcbiogTW9sZWN1bGVzIC0gRG93bmxvYWRzXG4qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiovXG5cbi8qKlxuKiBDb25maWdcbiovXG5cbi8qKlxuKiBTdHlsaW5nXG4qL1xuJl9fZG93bmxvYWRzIHtcbiAgLmZpbGUge1xuICAgIHBhZGRpbmctbGVmdDogMDtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiBub25lO1xuICAgIGZvbnQtZmFtaWx5OiB2YXIoLS1mb250VGl0bGUpO1xuICAgIGEge1xuICAgICAgQGluY2x1ZGUgYnRuLW5vLWJnO1xuICAgICAgcGFkZGluZzogMDtcbiAgICAgIGNvbG9yOiB2YXIoLS1jLXNlY29uZGFyeSk7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cbiAgICAgICY6YWZ0ZXIge1xuICAgICAgICBAaW5jbHVkZSBiZy1pbWcoMTZweCk7XG4gICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCguLi9pbWcvZG93bmxvYWQuc3ZnKTtcbiAgICAgICAgY29udGVudDogJyc7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgd2lkdGg6IDE2cHg7XG4gICAgICAgIGhlaWdodDogMTZweDtcbiAgICAgICAgcmlnaHQ6IC0xMCU7XG4gICAgICAgIHRvcDogMnB4O1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgxMDAlLCAwJSk7XG4gICAgICB9XG5cbiAgICAgICY6aG92ZXIge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIiwiLyoqXG4gKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gKiBVbi50aXRsZWRcbiAqIE1vbGVjdWxlcyAtIEVtYmVkXG4gKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gKi9cblxuJl9fZW1iZWQge1xuICBpZnJhbWUge1xuICAgIHdpZHRoOiAxMDAlO1xuICB9XG59XG4iLCImX19zaWducG9zdHMge1xuICAmX19pbm5lciB7XG4gICAgZGlzcGxheTogZ3JpZDtcbiAgICBnYXA6IGNhbGModmFyKC0tYnVtcCkgLyAyKTtcbiAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdCgyLCAxZnIpO1xuXG4gICAgQGluY2x1ZGUgbWVkaWEoJzxtZCcpIHtcbiAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogMWZyO1xuICAgICAgZ2FwOiBjYWxjKHZhcigtLWJ1bXApICogMik7XG4gICAgfVxuICB9XG59XG4iLCImX19yZWxhdGVkIHtcbiAgJl9faW5uZXIge1xuICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KDQsIDFmcik7XG5cbiAgICBAaW5jbHVkZSBtZWRpYSgnPG1kJykge1xuICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoMiwgMWZyKTtcbiAgICB9XG5cbiAgICBAaW5jbHVkZSBtZWRpYSgnPHNtJykge1xuICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoMSwgMWZyKTtcbiAgICB9XG4gIH1cbn1cblxuJl9fcHJldi1uZXh0IHtcbiAgJl9faW5uZXIge1xuICAgIGRpc3BsYXk6IGdyaWQ7XG4gICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoMywgMWZyKTtcbiAgICBAaW5jbHVkZSBtZWRpYSgnPHNtJykge1xuICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoMSwgMWZyKTtcbiAgICB9XG4gIH1cbiAgJl9fcHJldiB7XG4gICAgLm8tdGVhc2VyLXRlYXNlcl9fYnV0dG9ucyB7XG4gICAgICAuby10ZWFzZXJfX2J1dHRvbiB7XG4gICAgICAgIEBpbmNsdWRlIGxlZnQtZG91YmxlLWFycm93O1xuICAgICAgfVxuICAgIH1cbiAgfVxuICAmX192aWV3LWFsbCB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBAaW5jbHVkZSBtZWRpYSgnPHNtJykge1xuICAgICAgb3JkZXI6IDM7XG4gICAgfVxuICAgIGEge1xuICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIH1cbiAgICAmX19jb250YWluZXIge1xuICAgICAgbWFyZ2luOiBhdXRvO1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIH1cbiAgfVxuICAmX19uZXh0IHtcbiAgICAuby10ZWFzZXItdGVhc2VyX19idXR0b25zIHtcbiAgICAgIC5vLXRlYXNlcl9fYnV0dG9uIHtcbiAgICAgICAgQGluY2x1ZGUgcmlnaHQtZG91YmxlLWFycm93O1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG4mX19zcXVhcmUtZG90cyB7XG4gICZfX3dyYXBwZXIge1xuICAgIGRpc3BsYXk6IGdyaWQ7XG4gICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoMywgMWZyKTtcbiAgICBncmlkLXRlbXBsYXRlLXJvd3M6IHJlcGVhdCgzLCAxZnIpO1xuICAgIGdyaWQtY29sdW1uLWdhcDogY2FsYyh2YXIoLS1idW1wKSAvIDYpO1xuICAgIGdyaWQtcm93LWdhcDogY2FsYyh2YXIoLS1idW1wKSAvIDYpO1xuICAgIGhlaWdodDogdmFyKC0tYnVtcCk7XG4gICAgd2lkdGg6IHZhcigtLWJ1bXApO1xuICAgIG1hcmdpbjogY2FsYyh2YXIoLS1idW1wKSAqIDUpIDAgMjBweDtcbiAgICBAaW5jbHVkZSBtZWRpYSgnPHNtJykge1xuICAgICAgbWFyZ2luOiAwIDAgMjBweDtcbiAgICB9XG4gIH1cblxuICAmX19kb3Qge1xuICAgIHdpZHRoOiBjYWxjKHZhcigtLWJ1bXApIC8gNik7XG4gICAgaGVpZ2h0OiBjYWxjKHZhcigtLWJ1bXApIC8gNik7XG4gICAgYmFja2dyb3VuZDogdmFyKC0tYy1zZWNvbmRhcnkpO1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gIH1cbn1cblxuJl9fY3VyYXRlZC10aGVtZXMge1xuICAmX19oZWFkaW5nIHtcbiAgICBtYXJnaW46IDA7XG4gIH1cbiAgJl9faW5uZXIge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC13cmFwOiB3cmFwO1xuICAgIGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0O1xuICAgIG1hcmdpbi1sZWZ0OiAtMjBweDtcblxuICAgIC5vLXRlYXNlci1taW5pLXRlYXNlciB7XG4gICAgICBwYWRkaW5nLWxlZnQ6IDIwcHg7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIG1heC13aWR0aDogY2FsYygxMDAlIC8gNik7XG4gICAgICBoMyB7XG4gICAgICAgIEBpbmNsdWRlIGZvbnQtdGl0bGU7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxLjI7XG4gICAgICAgIGZvbnQtc2l6ZTogdmFyKC0tZm9udFNpemUpO1xuICAgICAgICBtYXJnaW46IDA7XG4gICAgICB9XG4gICAgICAmX19saW5rIHtcbiAgICAgICAgQGluY2x1ZGUgYnRuLW5vLWJnO1xuICAgICAgICB3aGl0ZS1zcGFjZTogbm9ybWFsO1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgIH1cbiAgICAgIEBpbmNsdWRlIG1lZGlhKCc8c20nKSB7XG4gICAgICAgIG1heC13aWR0aDogY2FsYygxMDAlIC8gMik7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4iLCImX19mZWF0dXJlZC1jb250ZW50IHtcbiAgICAmX19jdGEge1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kO1xuICAgICAgICBAaW5jbHVkZSBtZWRpYSgnPHNtJykge1xuICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0O1xuICAgICAgICB9XG4gICAgfVxufSIsIiZfX2ZlYXR1cmVkLWNvbnRlbnQtdjIge1xyXG5cclxuICAgICZfX2N0YSB7XHJcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDtcclxuICAgICAgICBhbGlnbi1pdGVtczogZmxleC1zdGFydDtcclxuXHJcbiAgICAgICAgQGluY2x1ZGUgbWVkaWEoJzxzbScpIHtcclxuICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0O1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAmX19ncmlkIHtcclxuICAgICAgICBnYXA6IDIwcHg7XHJcbiAgICB9XHJcblxyXG4gICAgJl9faW50cm8ge1xyXG4gICAgICAgIGgyLmgyIHtcclxuICAgICAgICAgICAgbWFyZ2luOiAwIDAgMTVweDtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIHAge1xyXG4gICAgICAgICAgICBsaW5lLWhlaWdodDogMjRweDtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbn0iLCImX19pbWFnZS1hbmQtdGV4dC10YWIge1xyXG4gICAgJl9fd3JhcHBlciB7XHJcbiAgICAgICAgJi0tYmxhY2sge1xyXG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jLWJsYWNrKTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAmX19pbm5lciB7XHJcbiAgICAgICAgZGlzcGxheTogZ3JpZDtcclxuICAgICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDM3LjI1JSAxZnI7XHJcbiAgICAgICAgZ2FwOiAyMHB4O1xyXG4gICAgICAgIGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0O1xyXG5cclxuICAgICAgICBAaW5jbHVkZSBtZWRpYSgnPG1kJykge1xyXG4gICAgICAgICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDFmcjtcclxuICAgICAgICAgICAgZ2FwOiBjYWxjKHZhcigtLWJ1bXApIC8gMik7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgJi1jb250ZW50IHtcclxuICAgICAgICBwIHtcclxuICAgICAgICAgICAgbWFyZ2luOiAwIDAgMS41ZW07XHJcbiAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAyMnB4O1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgJl9fdGl0bGUge1xyXG4gICAgICAgICAgICBtYXJnaW46IDAgMCA1cHg7XHJcbiAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAyNHB4O1xyXG4gICAgICAgIH1cclxuICAgIH1cclxufSIsIiZfX2NoaWxkLXBhZ2Utc2lnbnBvc3RzIHtcclxuICAgICZfX2dyaWQge1xyXG4gICAgICAgIGdhcDogMjBweDtcclxuICAgIH1cclxufSIsIiZfX2xpbmtlZC10ZXh0IHtcclxuXHJcbiAgICAmX19pbm5lciB7XHJcbiAgICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XHJcbiAgICAgICAgZ2FwOiB2YXIoLS1zbWFsbEJ1bXApO1xyXG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWMtdGVydGlhcnkpO1xyXG4gICAgICAgIHBhZGRpbmc6IHZhcigtLWJ1bXApIHZhcigtLXNtYWxsQnVtcCk7XHJcblxyXG4gICAgICAgIEBpbmNsdWRlIG1lZGlhKFwiPHNtXCIpIHtcclxuICAgICAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcclxuICAgICAgICAgICAgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7XHJcbiAgICAgICAgICAgIGdhcDogNXB4O1xyXG4gICAgICAgICAgICBwYWRkaW5nOiBjYWxjKHZhcigtLWJ1bXApIC8gMikgdmFyKC0tc21hbGxCdW1wKTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgJl9fdGl0bGUge1xyXG4gICAgICAgIG1hcmdpbjogMDtcclxuICAgICAgICBjb2xvcjogdmFyKC0tYy1ibGFjayk7XHJcbiAgICB9XHJcblxyXG4gICAgcCB7XHJcbiAgICAgICAgY29sb3I6IHZhcigtLWMtYmxhY2spO1xyXG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxN3B4O1xyXG5cclxuICAgICAgICBAaW5jbHVkZSBtZWRpYShcIjxzbVwiKSB7XHJcbiAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAyNHB4O1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgJiA+IGEge1xyXG4gICAgICAgICAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcclxuXHJcbiAgICAgICAgICAgICY6aG92ZXIge1xyXG4gICAgICAgICAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgICZfX2xpbmtzIHtcclxuICAgICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7XHJcbiAgICAgICAgZmxleC1ncm93OiAxO1xyXG5cclxuICAgICAgICAmID4gYSB7ICAgIFxyXG4gICAgICAgICAgICBjb2xvcjogdmFyKC0tYy1ibGFjayk7XHJcbiAgICAgICAgICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xyXG4gICAgICAgICAgICBcclxuICAgICAgICAgICAgQGluY2x1ZGUgbWVkaWEoXCI8c21cIikge1xyXG4gICAgICAgICAgICAgICAgcGFkZGluZzogMCBjYWxjKHZhcigtLWJ1bXApIC8gMikgMCAwO1xyXG4gICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICAmOmhvdmVyIHtcclxuICAgICAgICAgICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxufSIsIi8qKlxuICogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICogVW4udGl0bGVkXG4gKiBNb2xlY3VsZXMgLSBGb3Jtc1xuICogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICovXG5cbmlucHV0LFxuaW5wdXRbdHlwZT0ndGV4dCddLFxuaW5wdXRbdHlwZT0ncGFzc3dvcmQnXSxcbmlucHV0W3R5cGU9J2VtYWlsJ10sXG5pbnB1dFt0eXBlPSdzdWJtaXQnXSxcbnRleHRhcmVhLFxuc2VsZWN0IHtcbiAgZm9udC1mYW1pbHk6IHZhcigtLWZvbnRCb2R5KTtcbiAgY29sb3I6IHZhcigtLWMtcHJpbWFyeSk7XG4gIHJlc2l6ZTogbm9uZTtcbiAgcGFkZGluZzogY2FsYyh2YXIoLS1idW1wKSAvIDMpIHZhcigtLWJ1bXApO1xuICAtd2Via2l0LWJvcmRlci1yYWRpdXM6IDBweDtcbiAgYm9yZGVyLXJhZGl1czogMDtcbiAgb3V0bGluZTogMDtcbiAgYm9yZGVyOiAxcHggc29saWQgdmFyKC0tYy1wcmltYXJ5KTtcbiAgdHJhbnNpdGlvbjogYWxsIHZhcigtLXRyYW5zaXRpb24pO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jLXdoaXRlKTtcbiAgd2lkdGg6IDEwMCU7XG5cbiAgJjpmb2N1cyB7XG4gICAgYm9yZGVyOiAxcHggc29saWQgdmFyKC0tYy1zZWNvbmRhcnkpO1xuICB9XG59XG5cbmlucHV0W3R5cGU9J3NlYXJjaCddLFxuaW5wdXRbdHlwZT0ndGV4dCddLFxuaW5wdXRbdHlwZT0nc3VibWl0J10ge1xuICAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7XG59XG5cbi5mb3JtLWFjdGlvbnMgaW5wdXQsXG5pbnB1dFt0eXBlPSdzdWJtaXQnXSB7XG4gIGN1cnNvcjogcG9pbnRlcjtcbn1cblxuYnV0dG9uIHtcbiAgYXBwZWFyYW5jZTogbm9uZTtcbn1cblxuLmpzLWZvcm0taXRlbSB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDtcbiAgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7XG4gIG1hcmdpbi1ib3R0b206IGNhbGModmFyKC0tYnVtcCkgLyAyKTtcbn1cblxuLy8gQ2hlY2tib3hlc1xuW3R5cGU9J2NoZWNrYm94J106Y2hlY2tlZCxcblt0eXBlPSdjaGVja2JveCddOm5vdCg6Y2hlY2tlZCkge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGxlZnQ6IC05OTk5cHg7XG59XG5bdHlwZT0nY2hlY2tib3gnXTpjaGVja2VkICsgbGFiZWwsXG5bdHlwZT0nY2hlY2tib3gnXTpub3QoOmNoZWNrZWQpICsgbGFiZWwge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHBhZGRpbmctbGVmdDogNDJweDtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICBsaW5lLWhlaWdodDogMzRweDtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xufVxuW3R5cGU9J2NoZWNrYm94J106Y2hlY2tlZCArIGxhYmVsOmJlZm9yZSxcblt0eXBlPSdjaGVja2JveCddOm5vdCg6Y2hlY2tlZCkgKyBsYWJlbDpiZWZvcmUge1xuICBjb250ZW50OiAnJztcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBsZWZ0OiAwO1xuICB0b3A6IDA7XG4gIHdpZHRoOiAzNHB4O1xuICBoZWlnaHQ6IDM0cHg7XG4gIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWMtd2hpdGUpO1xuICBib3JkZXI6IDJweCBzb2xpZCB2YXIoLS1jLXByaW1hcnkpO1xufVxuW3R5cGU9J2NoZWNrYm94J106Y2hlY2tlZCArIGxhYmVsOmFmdGVyLFxuW3R5cGU9J2NoZWNrYm94J106bm90KDpjaGVja2VkKSArIGxhYmVsOmFmdGVyIHtcbiAgY29udGVudDogJyc7XG4gIHdpZHRoOiAyNnB4O1xuICBoZWlnaHQ6IDI2cHg7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiA0cHg7XG4gIGxlZnQ6IDRweDtcbiAgdHJhbnNpdGlvbjogYWxsIHZhcigtLXRyYW5zaXRpb24pO1xufVxuW3R5cGU9J2NoZWNrYm94J106bm90KDpjaGVja2VkKSArIGxhYmVsOmFmdGVyIHtcbiAgb3BhY2l0eTogMDtcbiAgdHJhbnNmb3JtOiBzY2FsZSgwKTtcbn1cblt0eXBlPSdjaGVja2JveCddOmNoZWNrZWQgKyBsYWJlbDphZnRlciB7XG4gIG9wYWNpdHk6IDE7XG4gIHRyYW5zZm9ybTogc2NhbGUoMSk7XG59XG5cbi8vIFJhZGlvc1xuW3R5cGU9J3JhZGlvJ106Y2hlY2tlZCxcblt0eXBlPSdyYWRpbyddOm5vdCg6Y2hlY2tlZCksXG5bdHlwZT0nY2hlY2tib3gnXTpjaGVja2VkLFxuW3R5cGU9J2NoZWNrYm94J106bm90KDpjaGVja2VkKSB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgbGVmdDogLTk5OTlweDtcbn1cblt0eXBlPSdyYWRpbyddOmNoZWNrZWQgKyBsYWJlbCxcblt0eXBlPSdyYWRpbyddOm5vdCg6Y2hlY2tlZCkgKyBsYWJlbCxcblt0eXBlPSdjaGVja2JveCddOmNoZWNrZWQgKyBsYWJlbCxcblt0eXBlPSdjaGVja2JveCddOm5vdCg6Y2hlY2tlZCkgKyBsYWJlbCB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgcGFkZGluZy1sZWZ0OiA0MnB4O1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIGxpbmUtaGVpZ2h0OiAzNHB4O1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIGNvbG9yOiB2YXIoLS1jLXByaW1hcnkpO1xufVxuW3R5cGU9J3JhZGlvJ106Y2hlY2tlZCArIGxhYmVsOmJlZm9yZSxcblt0eXBlPSdyYWRpbyddOm5vdCg6Y2hlY2tlZCkgKyBsYWJlbDpiZWZvcmUsXG5bdHlwZT0nY2hlY2tib3gnXTpjaGVja2VkICsgbGFiZWw6YmVmb3JlLFxuW3R5cGU9J2NoZWNrYm94J106bm90KDpjaGVja2VkKSArIGxhYmVsOmJlZm9yZSB7XG4gIGNvbnRlbnQ6ICcnO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGxlZnQ6IDA7XG4gIHRvcDogMDtcbiAgd2lkdGg6IDM0cHg7XG4gIGhlaWdodDogMzRweDtcbiAgYm9yZGVyOiAycHggc29saWQgdmFyKC0tYy1wcmltYXJ5KTtcbiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYy13aGl0ZSk7XG59XG5bdHlwZT0ncmFkaW8nXTpjaGVja2VkICsgbGFiZWw6YWZ0ZXIsXG5bdHlwZT0ncmFkaW8nXTpub3QoOmNoZWNrZWQpICsgbGFiZWw6YWZ0ZXIsXG5bdHlwZT0nY2hlY2tib3gnXTpjaGVja2VkICsgbGFiZWw6YWZ0ZXIsXG5bdHlwZT0nY2hlY2tib3gnXTpub3QoOmNoZWNrZWQpICsgbGFiZWw6YWZ0ZXJ7XG4gIGNvbnRlbnQ6ICcnO1xuICB3aWR0aDogMjZweDtcbiAgaGVpZ2h0OiAyNnB4O1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogMDtcbiAgbGVmdDogMDtcbiAgdHJhbnNpdGlvbjogYWxsIHZhcigtLXRyYW5zaXRpb24pO1xufVxuW3R5cGU9J3JhZGlvJ106bm90KDpjaGVja2VkKSArIGxhYmVsOmFmdGVyLFxuW3R5cGU9J2NoZWNrYm94J106bm90KDpjaGVja2VkKSArIGxhYmVsOmFmdGVye1xuICBvcGFjaXR5OiAwO1xuICB0cmFuc2Zvcm06IHNjYWxlKDApO1xufVxuW3R5cGU9J3JhZGlvJ106Y2hlY2tlZCArIGxhYmVsOmFmdGVyLFxuW3R5cGU9J2NoZWNrYm94J106Y2hlY2tlZCArIGxhYmVsOmFmdGVyIHtcbiAgb3BhY2l0eTogMTtcbiAgdHJhbnNmb3JtOiBzY2FsZSgxKTtcbn1cblxuW3R5cGU9J3JhZGlvJ106Y2hlY2tlZCArIGxhYmVsOmJlZm9yZSxcblt0eXBlPSdjaGVja2JveCddOmNoZWNrZWQgKyBsYWJlbDpiZWZvcmV7XG4gIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWMtdGVydGlhcnkpO1xufVxuXG5bdHlwZT0ncmFkaW8nXTpjaGVja2VkICsgbGFiZWw6YWZ0ZXIsXG5bdHlwZT0ncmFkaW8nXTpub3QoOmNoZWNrZWQpICsgbGFiZWw6YWZ0ZXIsXG5bdHlwZT0nY2hlY2tib3gnXTpjaGVja2VkICsgbGFiZWw6YWZ0ZXIsXG5bdHlwZT0nY2hlY2tib3gnXTpub3QoOmNoZWNrZWQpICsgbGFiZWw6YWZ0ZXIge1xuICBAaW5jbHVkZSBiZy1pbWcoMTBweCk7XG4gIGNvbnRlbnQ6ICcnO1xuICB3aWR0aDogMzRweDtcbiAgaGVpZ2h0OiAzNHB4O1xuICBkaXNwbGF5OiBibG9jaztcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKC4uL2ltZy90aWNrLnN2Zyk7XG4gIGNvbG9yOiB2YXIoLS1jLXByaW1hcnkpO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRyYW5zaXRpb246IGFsbCAwLjc1cyB2YXIoLS10cmFuc2l0aW9uKTtcbn1cblxuZmllbGRzZXQuZmllbGRzZXQge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jLWJnLWFsdCk7XG4gIGJvcmRlcjogbm9uZTtcblxuICAuZmllbGRzZXQtbGVnZW5kIHtcbiAgICBmb250LXdlaWdodDogOTAwO1xuICB9XG59XG5cbi53ZWJmb3JtIHtcbiAgLndlYmZvcm0tc3VibWlzc2lvbi1mb3JtIHtcbiAgICBoNCB7XG4gICAgICBtYXJnaW46IDA7XG4gICAgfVxuXG4gICAgYnV0dG9uLmZvcm0tc3VibWl0IHtcbiAgICAgIEBpbmNsdWRlIGJ0bjtcbiAgICAgIGJvcmRlcjogbm9uZTtcblxuICAgICAgJjpob3ZlciB7XG4gICAgICAgIEBpbmNsdWRlIGJ0bi1ob3ZlcjtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAuZm9ybS10ZXh0YXJlYS13cmFwcGVyIHtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgIH1cblxuICAgIC5mb3JtLWl0ZW0ge1xuICAgICAgYm9yZGVyOiBub25lO1xuICAgICAgcGFkZGluZzogMDtcblxuICAgICAgJi5mb3JtLXR5cGUtdGV4dGZpZWxkLFxuICAgICAgJi5mb3JtLXR5cGUtZW1haWwsXG4gICAgICAmLmZvcm0taXRlbS1tZXNzYWdlLFxuICAgICAgJi5mb3JtLWl0ZW0tZW1haWwsXG4gICAgICAmLmZvcm0taXRlbS1zdWJqZWN0LFxuICAgICAgJi5mb3JtLWl0ZW0tbmFtZSB7XG4gICAgICAgIGxhYmVsIHtcbiAgICAgICAgICBmb250LXdlaWdodDogYm9sZDtcbiAgICAgICAgICBjb2xvcjogdmFyKC0tYy1zZWNvbmRhcnkpO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgICYuanMtZm9ybS1pdGVtLWZpbGUge1xuICAgICAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICAgICAgICBhbGlnbi1pdGVtczogZmxleC1lbmQ7XG4gICAgICB9XG5cbiAgICAgICYuanMtZm9ybS10eXBlLWRhdGVsaXN0IHtcbiAgICAgICAgLmNvbnRhaW5lci1pbmxpbmUge1xuICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgZ2FwOiBjYWxjKHZhcigtLWJ1bXApIC8gMik7XG4gICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICAgIHdpZHRoOiAxMDAlO1xuXG4gICAgICAgICAgLy8gJjphZnRlciB7XG4gICAgICAgICAgLy8gICBAaW5jbHVkZSBiZy1pbWcoMjBweCk7XG4gICAgICAgICAgLy8gICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoLi4vaW1nL2NhbGVuZGFyLnN2Zyk7XG4gICAgICAgICAgLy8gICBjb250ZW50OiAnJztcbiAgICAgICAgICAvLyAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAvLyAgIHdpZHRoOiAyMHB4O1xuICAgICAgICAgIC8vICAgaGVpZ2h0OiAyMHB4O1xuICAgICAgICAgIC8vICAgcmlnaHQ6IC01JTtcbiAgICAgICAgICAvLyAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKDEwMCUsIDc1JSk7XG4gICAgICAgICAgLy8gfVxuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIC5qcy1mb3JtLW1hbmFnZWQtZmlsZSB7XG4gICAgICAgIGJ1dHRvbiB7XG4gICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYy1zZWNvbmRhcnkpO1xuICAgICAgICB9XG4gICAgICAgIC5qcy1mb3JtLWZpbGUge1xuICAgICAgICAgIHBhZGRpbmc6IHZhcigtLWJ1bXApIDAgY2FsYyh2YXIoLS1idW1wKSk7XG4gICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgICAgICAgY29sb3I6IHdoaXRlO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIC5maWVsZHNldC13cmFwcGVyIHtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIHBhZGRpbmc6IGNhbGModmFyKC0tYnVtcCkgLyAzKSAwIDA7XG5cbiAgICAgICAgJiA+IC5mb3JtLWNoZWNrYm94ZXMsXG4gICAgICAgICYgPiAuanMtd2ViZm9ybS1yYWRpb3Mge1xuICAgICAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KDEsIDFmcik7XG4gICAgICAgICAgZGlzcGxheTogZ3JpZDtcbiAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgfVxuXG4gICAgICAgICYgPiAuZm9ybS1jaGVja2JveGVzLFxuICAgICAgICAmID4gLmZvcm0tcmFkaW9zIHtcbiAgICAgICAgICBsYWJlbC5vcHRpb24ge1xuICAgICAgICAgICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gICAgICAgICAgICBjb2xvcjogdmFyKC0tYy1zZWNvbmRhcnkpO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgICYgPiAuanMtd2ViZm9ybS1yYWRpb3Mge1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIC5qcy1mb3JtLXR5cGUtc2VsZWN0IHtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gICAgICAgIC5maWVsZC1jaGlsZHJlbiB7XG4gICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIH1cblxuICAgICAgICAmLmpzLWZvcm0taXRlbS1hZGRyZXNzLWNvdW50cnkge1xuICAgICAgICAgICY6YWZ0ZXIge1xuICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgICB9XG4gICAgICAgICAgLmZpZWxkLWNoaWxkcmVuIHtcbiAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAmOmFmdGVyIHtcbiAgICAgICAgICBAaW5jbHVkZSBiZy1pbWcoMTBweCk7XG4gICAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKC4uL2ltZy9kcm9wZG93bi5zdmcpO1xuICAgICAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICB3aWR0aDogMjBweDtcbiAgICAgICAgICBoZWlnaHQ6IDIwcHg7XG4gICAgICAgICAgcmlnaHQ6IDcuNXB4O1xuICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSg3NSUpO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIGxhYmVsLFxuICAgICAgLmZpZWxkc2V0LWxlZ2VuZCB7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xuICAgICAgICBjb2xvcjogdmFyKC0tYy1zZWNvbmRhcnkpO1xuICAgICAgfVxuXG4gICAgICBzZWxlY3Qge1xuICAgICAgICBhcHBlYXJhbmNlOiBub25lO1xuICAgICAgfVxuICAgIH1cblxuICAgIGxhYmVsLm9wdGlvbiB7XG4gICAgICBhIHtcbiAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XG4gICAgICB9XG4gICAgfVxuXG4gICAgZGV0YWlscy5jYXB0Y2hhIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IGNhbGModmFyKC0tYnVtcCkgLyAyKTtcbiAgICB9XG5cbiAgICAud2ViZm9ybS1wcm9ncmVzcyB7XG4gICAgICBkaXNwbGF5OiBub25lO1xuICAgIH1cblxuICAgICNlZGl0LWJvb2stbm93LWJ1dHRvbi1saW5rIHtcbiAgICAgIEBpbmNsdWRlIGJ0bjtcbiAgICAgIG1hcmdpbjogMjBweCAwIDA7XG4gICAgICAmOmhvdmVyIHtcbiAgICAgICAgQGluY2x1ZGUgYnRuLWhvdmVyO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG4udmlldy13aGF0LXMtb24sXG4udmlld19fcGhvdG9ncmFwaHlfY3VsdHVyZV9fZm9ybSxcbi52aWV3X19wYXN0X3Byb2dyYW1tZV9fZm9ybSB7XG4gIGZvcm0ge1xuICAgICYudmlld3MtZXhwb3NlZC1mb3JtIHtcbiAgICAgIGZpZWxkc2V0IHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYy1iZy1hbHQpO1xuICAgICAgICBib3JkZXI6IG5vbmU7XG4gICAgICAgIHBhZGRpbmc6IDA7XG5cbiAgICAgICAgLmZpZWxkc2V0LWxlZ2VuZCB7XG4gICAgICAgICAgZm9udC13ZWlnaHQ6IDkwMDtcbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgW3R5cGU9J3JhZGlvJ106Y2hlY2tlZCArIGxhYmVsOmFmdGVyLFxuICAgICAgW3R5cGU9J3JhZGlvJ106bm90KDpjaGVja2VkKSArIGxhYmVsOmFmdGVyLFxuICAgICAgW3R5cGU9J2NoZWNrYm94J106Y2hlY2tlZCArIGxhYmVsOmFmdGVyLFxuICAgICAgW3R5cGU9J2NoZWNrYm94J106bm90KDpjaGVja2VkKSArIGxhYmVsOmFmdGVyIHtcbiAgICAgICAgd2lkdGg6IDEycHg7XG4gICAgICAgIGhlaWdodDogMTJweDtcbiAgICAgICAgdG9wOiA0cHg7XG4gICAgICAgIGxlZnQ6IDRweDtcbiAgICAgIH1cbiAgICAgIFt0eXBlPSdyYWRpbyddOmNoZWNrZWQgKyBsYWJlbDpiZWZvcmUsXG4gICAgICBbdHlwZT0ncmFkaW8nXTpub3QoOmNoZWNrZWQpICsgbGFiZWw6YmVmb3JlLFxuICAgICAgW3R5cGU9J2NoZWNrYm94J106Y2hlY2tlZCArIGxhYmVsOmJlZm9yZSxcbiAgICAgIFt0eXBlPSdjaGVja2JveCddOm5vdCg6Y2hlY2tlZCkgKyBsYWJlbDpiZWZvcmUge1xuICAgICAgICB3aWR0aDogMjBweDtcbiAgICAgICAgaGVpZ2h0OiAyMHB4O1xuICAgICAgfVxuXG4gICAgICBbdHlwZT0ncmFkaW8nXTpjaGVja2VkICsgbGFiZWwsXG4gICAgICBbdHlwZT0ncmFkaW8nXTpub3QoOmNoZWNrZWQpICsgbGFiZWwsXG4gICAgICBbdHlwZT0nY2hlY2tib3gnXTpjaGVja2VkICsgbGFiZWwsXG4gICAgICBbdHlwZT0nY2hlY2tib3gnXTpub3QoOmNoZWNrZWQpICsgbGFiZWwge1xuICAgICAgICBsaW5lLWhlaWdodDogaW5oZXJpdDtcbiAgICAgICAgY29sb3I6IHZhcigtLWMtc2Vjb25kYXJ5KTtcbiAgICAgICAgcGFkZGluZy1sZWZ0OiB2YXIoLS1idW1wKTtcbiAgICAgIH1cbiAgICAgIC5qcy1mb3JtLWl0ZW0ge1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IGNhbGModmFyKC0tYnVtcCkgKyAxMHB4KTtcbiAgICAgICAgLy9kaXNwbGF5OiBub25lO1xuICAgICAgICAvLyAmLmZvcm0taXRlbS1kYXRlIHtcbiAgICAgICAgLy8gICBwb3NpdGlvbjogZml4ZWQ7XG4gICAgICAgIC8vICAgei1pbmRleDogMTAwO1xuICAgICAgICAvLyAgIHRvcDogMjUlO1xuICAgICAgICAvLyAgIGxlZnQ6IDUwJTtcbiAgICAgICAgLy8gICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAwJSk7XG4gICAgICAgIC8vICAgYW5pbWF0aW9uOiBmYWRlSW4gMC44cyB2YXIoLS1lYXNpbmcpIGZvcndhcmRzO1xuICAgICAgICAvLyAgICYuaXMtYWN0aXZlIHtcbiAgICAgICAgLy8gICAgIGFuaW1hdGlvbjogZmFkZU91dCAwLjhzIHZhcigtLWVhc2luZykgZm9yd2FyZHM7XG4gICAgICAgIC8vICAgfVxuICAgICAgICAvLyB9XG4gICAgICB9XG4gICAgICAuYS1idG4tLWNhbGVuZGFyIHtcbiAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgIH1cbiAgICAgIC5mb3JtLXJhZGlvcyB7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGZsZXgtZmxvdzogcm93IHdyYXA7XG5cbiAgICAgICAgQGluY2x1ZGUgbWVkaWEoJzxzbScpIHtcbiAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbi52aWV3LXdoYXQtcy1vbiB7XG4gIC52aWV3cy1leHBvc2VkLWZvcm0ge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAuZGF0ZS1maWVsZC1sYWJlbCB7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgb3JkZXI6IDA7XG4gICAgfVxuICAgIC5kYXRlLWZpZWxkcy13cmFwcGVyIHtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBvcmRlcjogMTtcbiAgICAgIG1hcmdpbi1ib3R0b206IGNhbGModmFyKC0tYnVtcCkgLyAyKTtcbiAgICB9XG4gICAgLmZpZWxkZ3JvdXAge1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIG9yZGVyOiAyO1xuICAgICAgbWFyZ2luLWJvdHRvbTogY2FsYyh2YXIoLS1idW1wKSAvIDIpO1xuICAgIH1cbiAgICAuZm9ybS1hY3Rpb25zIHtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBvcmRlcjogMztcbiAgICB9XG4gIH1cbn0iLCIvKipcbiAqIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAqIFVuLnRpdGxlZFxuICogTW9sZWN1bGVzIC0gTWFpbiBuYXZcbiAqIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAqL1xuXG4ubS1tYWluLW5hdiB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIG1hcmdpbjogMCBhdXRvIDAgMDtcbiAgb3BhY2l0eTogMTtcbiAgdmlzaWJpbGl0eTogdmlzaWJsZTtcblxuICBbZGF0YS1zZWFyY2g9J29wZW4nXSAmIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIHZpc2liaWxpdHk6IGhpZGRlbjtcbiAgfVxuXG4gIEBpbmNsdWRlIG1lZGlhKCc8bWQnKSB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIHBhZGRpbmc6IDA7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gIH1cblxuICBAaW5jbHVkZSBtZWRpYSgnPHNtJykge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICBhbGlnbi1pdGVtczogZmxleC1zdGFydDtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiBjYWxjKDEwMCUpO1xuICAgIGxlZnQ6IDA7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYy1wcmltYXJ5KTtcbiAgICBwYWRkaW5nOiB2YXIoLS1idW1wKSAwO1xuICAgIGhlaWdodDogY2FsYygodmFyKC0tdmgpICogMTAwKSAtIHZhcigtLWhlYWRlci1oZWlnaHQtbW9iaWxlKSk7XG5cbiAgICBbZGF0YS1uYXY9J29wZW4nXSAmIHtcbiAgICAgIGFuaW1hdGlvbjogZmFkZUluIDAuMnMgdmFyKC0tZWFzaW5nKSBmb3J3YXJkcztcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICB6LWluZGV4OiAxMDtcbiAgICAgIHRvcDogMDtcbiAgICAgIGxlZnQ6IDA7XG4gICAgfVxuXG4gICAgW2RhdGEtbmF2PSdjbG9zZWQnXSAmIHtcbiAgICAgIGFuaW1hdGlvbjogZmFkZU91dCAwLjJzIHZhcigtLWVhc2luZykgZm9yd2FyZHM7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgIH1cbiAgfVxuXG4gIEBpbmNsdWRlIG1lZGlhKFwiaGVpZ2h0PDgyMHB4XCIpIHtcbiAgICBbZGF0YS1uYXY9J29wZW4nXSAmIHtcbiAgICAgIG92ZXJmbG93LXk6IHNjcm9sbDtcbiAgICAgIGhlaWdodDogY2FsYygodmFyKC0tdmgpICogMTAwKSAtIDIwMHB4KTtcbiAgICB9XG4gIH1cblxuICAmID4gdWwubWVudSB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGZsZXgtZmxvdzogcm93IHdyYXA7XG4gICAgZ2FwOiBjYWxjKHZhcigtLWJ1bXApIC8gMik7XG5cbiAgICB1bC5tZW51IHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxuXG4gICAgJjpmaXJzdC1vZi10eXBlIHtcbiAgICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xuICAgICAgbGV0dGVyLXNwYWNpbmc6IDA7XG4gICAgICBsaW5lLWhlaWdodDogMjBweDtcblxuICAgICAgbGkge1xuICAgICAgICBAaW5jbHVkZSBtZWRpYSgnPnNtJykge1xuICAgICAgICAgICY6Zmlyc3Qtb2YtdHlwZSB7XG4gICAgICAgICAgICBhIHtcbiAgICAgICAgICAgICAgcGFkZGluZy1sZWZ0OiAwO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgIEBpbmNsdWRlIG1lZGlhKFwiPGxnXCIpIHtcbiAgICAgIGdhcDogMDtcbiAgICAgIHJvdy1nYXA6IDEwcHg7XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgbWVkaWEoJz5zbScpIHtcbiAgICAgICY6bGFzdC1vZi10eXBlIHtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gICAgICB9XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgbWVkaWEoJzxzbScpIHtcbiAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICBmbGV4LXdyYXA6IG5vd3JhcDtcbiAgICAgIGZsZXgtc2hyaW5rOiAwO1xuICAgICAgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7XG4gICAgICBwYWRkaW5nOiAwIGNhbGModmFyKC0tYnVtcCkgLyAyKSB2YXIoLS1idW1wKTtcbiAgICB9XG5cbiAgICBsaSB7XG4gICAgICAmLmlzLWFjdGl2ZS10cmFpbCB7XG4gICAgICAgIGEge1xuICAgICAgICAgICYuaXMtYWN0aXZlLXRyYWlsIHtcbiAgICAgICAgICAgIGNvbG9yOiB2YXIoLS1jLXNlY29uZGFyeSk7XG4gICAgICAgICAgICAmOmFmdGVyIHtcbiAgICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgYSB7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgICAgIGZvbnQtc2l6ZTogMTVweDtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDE3cHg7XG4gICAgICAgIGZvbnQtZmFtaWx5OiB2YXIoLS1mb250Qm9sZCk7XG4gICAgICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG5cbiAgICAgICAgQGluY2x1ZGUgbWVkaWEoJzwxMzAwcHgnKSB7XG4gICAgICAgICAgd2hpdGUtc3BhY2U6IG5vcm1hbDtcbiAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgIH1cblxuICAgICAgICBAaW5jbHVkZSBtZWRpYSgnPGxnJykge1xuICAgICAgICAgIHBhZGRpbmc6IDAgY2FsYyh2YXIoLS1idW1wKSAvIDQpO1xuICAgICAgICB9XG5cbiAgICAgICAgQGluY2x1ZGUgbWVkaWEoJzxtZCcpIHtcbiAgICAgICAgICBwYWRkaW5nOiAwIGNhbGModmFyKC0tYnVtcCkgLyA2KTtcbiAgICAgICAgfVxuXG4gICAgICAgIEBpbmNsdWRlIG1lZGlhKCc8c20nKSB7XG4gICAgICAgICAgcGFkZGluZzogMDtcbiAgICAgICAgICBsaW5lLWhlaWdodDogMjBweDtcbiAgICAgICAgfVxuICAgICAgICBcblxuICAgICAgICAmOmFmdGVyIHtcbiAgICAgICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICBib3R0b206IDA7XG4gICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApO1xuICAgICAgICAgIGhlaWdodDogMDtcbiAgICAgICAgICB3aWR0aDogMDtcbiAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICAgICAgICBib3JkZXItcmFkaXVzOiAxMDAlO1xuICAgICAgICAgIHRyYW5zaXRpb246IDAuNHMgdmFyKC0tZWFzaW5nKTtcbiAgICAgICAgfVxuXG4gICAgICAgICY6YWN0aXZlLFxuICAgICAgICAmOmhvdmVyLFxuICAgICAgICAmLmlzLWFjdGl2ZSxcbiAgICAgICAgJi5pcy1hY3RpdmUtdHJhaWwge1xuICAgICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICAgICAgICBjb2xvcjogdmFyKC0tYy10ZXJ0aWFyeSk7XG4gICAgICAgICAgdHJhbnNpdGlvbjogMC40cyB2YXIoLS1lYXNpbmcpO1xuXG4gICAgICAgICAgJjphZnRlciB7XG4gICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMTAwJSk7XG4gICAgICAgICAgICBoZWlnaHQ6IDNweDtcbiAgICAgICAgICAgIHdpZHRoOiAzcHg7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jLXRlcnRpYXJ5KTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiIsIi8qKlxuICogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICogVW4udGl0bGVkXG4gKiBNb2xlY3VsZXMgLSBCYW5uZXJcbiAqIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAqL1xuXG4vKipcbiogQ29uZmlnXG4qL1xuJHRyYW5zYmc6IHZhcigtLWMtcHJpbWFyeSk7XG5cbjpyb290IHtcbiAgLS1iYW5uZXJCb3R0b21NYXJnaW46IDYwcHg7XG4gIC0tYmFubmVyQWx0VG9wTWFyZ2luOiA0MHB4O1xufVxuXG4vKipcbiogU3R5bGVzXG4qL1xuXG4ubS1uby1iYW5uZXIge1xuICBtYXJnaW4tdG9wOiAkYnVtcCAqIDI7XG5cbiAgQGluY2x1ZGUgbWVkaWEoJzxzbScpIHtcbiAgICBtYXJnaW4tdG9wOiAkYnVtcDtcbiAgfVxuXG4gICZfX2lubmVyIHtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgdGV4dC1hbGlnbi1sYXN0OiBjZW50ZXI7XG4gIH1cblxuICBoMSB7XG4gICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgfVxuXG4gIHAge1xuICAgICY6Zmlyc3Qtb2YtdHlwZSB7XG4gICAgICBtYXJnaW4tdG9wOiAkYnVtcDtcblxuICAgICAgQGluY2x1ZGUgbWVkaWEoJzxzbScpIHtcbiAgICAgICAgbWFyZ2luLXRvcDogJGJ1bXAvMjtcbiAgICAgIH1cbiAgICB9XG4gICAgJjpsYXN0LW9mLXR5cGUge1xuICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICB9XG4gIH1cbn1cblxuLm0tYmFubmVyIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB3aWR0aDogMTAwJTtcbiAgbWFyZ2luOiAwIDAgdmFyKC0tYmFubmVyQm90dG9tTWFyZ2luKTtcblxuICBAaW5jbHVkZSBtZWRpYSgnPHNtJykge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbi1yZXZlcnNlO1xuICB9XG5cbiAgJl9faGVhZGluZyB7XG4gICAgbWFyZ2luLWJvdHRvbTogM3B4O1xuXG4gICAgQGluY2x1ZGUgbWVkaWEoJzxzbScpIHtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMTUwJSk7XG4gICAgfVxuICB9XG5cbiAgaW1nIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6IGF1dG87XG4gICAgZGlzcGxheTogYmxvY2s7XG4gIH1cblxuICAmX19vdmVybGF5IHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAwO1xuICAgIGxlZnQ6IDA7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIHotaW5kZXg6IDE7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICBjb2xvcjogdmFyKC0tYy13aGl0ZSk7XG4gICAgYm94LXNoYWRvdzogaW5zZXQgIDBweCAtMjIwcHggMTMwcHggLTEwcHggIzFiMWIxYjtcblxuICAgIEBpbmNsdWRlIG1lZGlhKCc8bWQnKSB7XG4gICAgICBib3gtc2hhZG93OiBpbnNldCAwcHggLTE1MHB4IDkwcHggLTEwcHggIzFiMWIxYjtcbiAgICB9XG5cbiAgICBAaW5jbHVkZSBtZWRpYSgnPHNtJykge1xuICAgICAgYm94LXNoYWRvdzogaW5zZXQgMHB4IC02MHB4IDQ1cHggLTEwcHggIzFiMWIxYjtcbiAgICB9XG5cbiAgICAmICsgcGljdHVyZSB7XG4gICAgICAmID4gaW1nIHtcbiAgICAgICAgYm94LXNoYWRvdzogaW5zZXQgMHB4IC0yMjBweCAxMzBweCAtMTBweCAjMWIxYjFiO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gICZfX3ByZS10aXRsZSxcbiAgJl9fcnVuLWRhdGVzIHtcbiAgICBmb250LXNpemU6IDE0cHg7XG4gICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gICAgbGV0dGVyLXNwYWNpbmc6IDFweDtcbiAgICBsaW5lLWhlaWdodDogMTdweDtcbiAgICBtYXJnaW46IDA7XG4gIH1cblxuICAmX19ydW4tZGF0ZXMge1xuICAgIG1hcmdpbi10b3A6IDAgIWltcG9ydGFudDtcbiAgICBtYXJnaW4tYm90dG9tOiAxNXB4ICFpbXBvcnRhbnQ7XG4gIH1cblxuICAmX19pbWFnZSB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB9XG5cbiAgJl9fYm9keSB7XG4gICAgd2lkdGg6IDcwJTtcbiAgICB6LWluZGV4OiAyO1xuXG4gICAgJi0tZnVsbCB7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICB9XG4gICAgcCB7XG4gICAgICBjb2xvcjogdmFyKC0tYy1zZWNvbmRhcnkpO1xuICAgICAgLmN0X19waG90b2dyYXBoeS1jdWx0dXJlLWxpc3RpbmcgJixcbiAgICAgIC5jdF9fd2hhdC1zLW9uLWxpc3RpbmcgJixcbiAgICAgIC5jdF9fbGFuZGluZy1wYWdlICYsXG4gICAgICAuY3RfX2NvbGxlY3Rpb24tcGFnZSAmIHtcbiAgICAgICAgZm9udC1zaXplOiAxN3B4O1xuICAgICAgICBsaW5lLWhlaWdodDogMS42O1xuICAgICAgfVxuICAgICAgQGluY2x1ZGUgbWVkaWEoJzw0MDBweCcpIHtcbiAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgLmN0X19ldmVudCAmIHtcbiAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgICBcbiAgICB9XG4gICAgQGluY2x1ZGUgbWVkaWEoJzxtZCcpIHtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgIH1cbiAgfVxuXG4gICZfX2hlYWRpbmcge1xuICAgIEBpbmNsdWRlIG1lZGlhKCc8c20nKSB7XG4gICAgICBsaW5lLWhlaWdodDogMS40O1xuICAgICAgZm9udC1zaXplOiBjbGFtcCgyMHB4LCA3dncsIHZhcigtLWZvbnRTaXplSGVhZGluZ1RocmVlKSk7XG4gICAgfVxuICB9XG5cbiAgJl9fY29udGVudCB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMDtcbiAgICBsZWZ0OiAwO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogMTAwJTtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIGNvbG9yOiB2YXIoLS1jLXdoaXRlKTtcblxuICAgIEBpbmNsdWRlIG1lZGlhKCc8c20nKSB7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICBvdmVyZmxvdzogdmlzaWJsZTtcbiAgICAgIHBhZGRpbmc6IGNhbGModmFyKC0tYnVtcCkgLyAyKSAwO1xuICAgIH1cblxuICAgICZfX21vYmlsZSB7XG4gICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgQGluY2x1ZGUgbWVkaWEoJzxzbScpIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICB9XG4gICAgfVxuXG4gICAgJl9fZGVza3RvcCB7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIEBpbmNsdWRlIG1lZGlhKCc8c20nKSB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICB9XG4gICAgfVxuXG4gICAgZGl2LmdyaWQge1xuICAgICAgaGVpZ2h0OiAxMDAlO1xuXG4gICAgICAmID4gZGl2IHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgICAgICAgYWxpZ24taXRlbXM6IGZsZXgtZW5kO1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG5cbiAgICAgICAgQGluY2x1ZGUgbWVkaWEoJzxzbScpIHtcbiAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAgICAgIGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0O1xuICAgICAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7XG4gICAgICAgICAgcGFkZGluZzogMCBjYWxjKHZhcigtLWJ1bXApIC8gMik7XG4gICAgICAgIH1cbiAgICAgICAgYSB7XG4gICAgICAgICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgICAgICAgICB6LWluZGV4OiAyO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgJl9fc3RyYXBsaW5lIHtcbiAgICBib3gtc2hhZG93OiAxNXB4IDAgMCAkdHJhbnNiZywgLTE1cHggMCAwICR0cmFuc2JnO1xuICAgIHBhZGRpbmc6ICRidW1wLzIgMnB4O1xuICAgIGZvbnQtc2l6ZTogMS41cmVtO1xuICAgIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7XG5cbiAgICBwIHtcbiAgICAgIG1hcmdpbjogMCAwICRidW1wLzI7XG5cbiAgICAgICY6bGFzdC1vZi10eXBlIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBhIHtcbiAgICAgIEBpbmNsdWRlIGZvbnQtY3RhO1xuICAgICAgbWFyZ2luLXRvcDogJGJ1bXAvMjtcbiAgICB9XG4gIH1cblxuICAmX19zdW1tYXJ5IHtcbiAgICBmb250LXNpemU6IDE2cHg7XG4gICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gICAgbGV0dGVyLXNwYWNpbmc6IDA7XG4gICAgbGluZS1oZWlnaHQ6IDIwcHg7XG4gICAgcCB7XG4gICAgICBsaW5lLWhlaWdodDogMjBweDtcbiAgICB9XG4gIH1cblxuICAudGl0bGUtYmcsXG4gICZfX3N0cmFwbGluZSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJHRyYW5zYmc7XG4gIH1cblxuICAmLS1sYXJnZS1zaWducG9zdC12MiB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIG1hcmdpbjogMDtcblxuICAgICYgPiAuZ3JpZCB7XG4gICAgICAmID4gW2NsYXNzKj0nY29sLSddIHtcbiAgICAgICAgQGluY2x1ZGUgbWVkaWEoXCI8c21cIikge1xuICAgICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICAubS1iYW5uZXIge1xuICAgICAgbWFyZ2luOiAwO1xuICAgIH1cblxuICAgIC5tLWJhbm5lcl9faGVhZGluZyB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAxMHB4O1xuICAgICAgbGluZS1oZWlnaHQ6IDEuMzQ7XG4gICAgICBmb250LXNpemU6IGNsYW1wKDI1cHgsIDd2dywgdmFyKC0tZm9udFNpemVIZWFkaW5nVHdvKSk7XG4gICAgfVxuXG4gICAgLm0tYmFubmVyX19jb250ZW50IHtcbiAgICAgICYgPiAuZ3JpZCB7XG4gICAgICAgICYgPiBbY2xhc3MqPSdjb2wtJ10ge1xuICAgICAgICAgIHBhZGRpbmc6IDE1cHggNDBweCA2MHB4O1xuXG4gICAgICAgICAgQGluY2x1ZGUgbWVkaWEoXCI8c21cIikge1xuICAgICAgICAgICAgcGFkZGluZzogMCAzMHB4IDMwcHg7XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgLm0tYmFubmVyX19ib2R5IHtcbiAgICAgICAgICAgIHAge1xuICAgICAgICAgICAgICBAaW5jbHVkZSBtZWRpYShcIjxzbVwiKSB7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICBAaW5jbHVkZSBtZWRpYShcIjxzbVwiKSB7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgcGFkZGluZzogMDtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAubS1iYW5uZXJfX2JvZHkge1xuICAgICAgZGl2IHtcbiAgICAgICAgcCB7XG4gICAgICAgICAgbGluZS1oZWlnaHQ6IDE3cHg7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAudGl0bGUtYmcge1xuICAgIGJveC1zaGFkb3c6IDE1cHggMCAwICR0cmFuc2JnLCAtMTVweCAwIDAgJHRyYW5zYmc7XG4gICAgbGluZS1oZWlnaHQ6IDEuNDtcbiAgICBwYWRkaW5nOiAycHggMnB4IDRweDtcbiAgICBkaXNwbGF5OiBpbmxpbmU7XG4gICAgYm94LWRlY29yYXRpb24tYnJlYWs6IGNsb25lO1xuICB9XG5cbiAgdmlkZW8ge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDA7XG4gICAgbGVmdDogMDtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgb2JqZWN0LWZpdDogY292ZXI7XG5cbiAgICBAaW5jbHVkZSBtZWRpYSgnPHhzJykge1xuICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgIHZpc2liaWxpdHk6IGhpZGRlbjtcbiAgICB9XG4gIH1cblxuICAudmlkZW9fX2NvbnRyb2xzIHtcbiAgICBAaW5jbHVkZSBybS10ZXh0O1xuICAgIEBpbmNsdWRlIGJnLWltZyh2YXIoLS1idW1wKSk7XG4gICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKCcuLi9pbWcvcGF1c2Uuc3ZnJyk7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogIHZhcigtLWJ1bXApO1xuICAgIGxlZnQ6ICB2YXIoLS1idW1wKTtcbiAgICBib3JkZXI6IDA7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgaGVpZ2h0OiAgdmFyKC0tYnVtcCk7XG4gICAgd2lkdGg6ICB2YXIoLS1idW1wKTtcbiAgICB6LWluZGV4OiA1O1xuICAgIC8vIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50aXplKHZhcigtLWMtcHJpbWFyeSksIDAuMSk7XG5cbiAgICBAaW5jbHVkZSBtZWRpYSgnPG1kJykge1xuICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKCcuLi9pbWcvcGxheS5zdmcnKTtcbiAgICB9XG5cbiAgICAmOmhvdmVyIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWMtcHJpbWFyeSk7XG4gICAgfVxuXG4gICAgJltkYXRhLXBsYXlzdGF0ZT0ncGF1c2VkJ10ge1xuICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKCcuLi9pbWcvcGxheS5zdmcnKTtcblxuICAgICAgQGluY2x1ZGUgbWVkaWEoJzxtZCcpIHtcbiAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKCcuLi9pbWcvcGF1c2Uuc3ZnJyk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgbWVkaWEoJzx4cycpIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICB2aXNpYmlsaXR5OiBoaWRkZW47XG4gICAgfVxuICB9XG59XG5cbi5tLWJhbm5lci1hbHQge1xuICBtYXJnaW46IHZhcigtLWJhbm5lckFsdFRvcE1hcmdpbikgMCAwO1xuXG4gIC5ncmlkIHtcbiAgICBAaW5jbHVkZSBtZWRpYShcIjxzbVwiKSB7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICB9XG4gIH1cblxuICAuYS1pbWFnZS1jcmVkaXQge1xuICAgICY6YmVmb3JlIHtcbiAgICAgIEBpbmNsdWRlIG1lZGlhKFwiPG1kXCIpIHtcbiAgICAgICAgaGVpZ2h0OiBhdXRvO1xuICAgICAgICB3aGl0ZS1zcGFjZTogbm9ybWFsO1xuICAgICAgfVxuICAgIH1cbiAgfSAgXG5cbiAgJl9faW1hZ2Uge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgfVxuXG4gICZfX3Bvc3QtdHlwZSB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWMtc2Vjb25kYXJ5KTtcbiAgICBjb2xvcjogdmFyKC0tYy1wcmltYXJ5KTtcbiAgICBtYXJnaW46IDA7XG4gICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gICAgei1pbmRleDogMTtcbiAgICB0cmFuc2l0aW9uOiBhbGwgMXMgdmFyKC0tdHJhbnNpdGlvbik7XG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICBwYWRkaW5nOiBjYWxjKHZhcigtLWJ1bXApIC8gNCkgY2FsYyh2YXIoLS1idW1wKSAvIDIpO1xuICB9XG5cbiAgJl9fZGF0ZSB7XG4gICAgZm9udC1zaXplOiAxNHB4O1xuICAgIGxpbmUtaGVpZ2h0OiAxN3B4O1xuICAgIGxldHRlci1zcGFjaW5nOiAxcHg7XG4gICAgZm9udC1mYW1pbHk6IHZhcigtLWZvbnRCb2xkKTtcbiAgICBtYXJnaW46IDEycHggMCAhaW1wb3J0YW50O1xuXG4gICAgQGluY2x1ZGUgbWVkaWEoXCI8c21cIikge1xuICAgICAgbWFyZ2luOiBjYWxjKHZhcigtLWJ1bXApIC8gMykgMCBjYWxjKHZhcigtLWJ1bXApIC8gMykgIWltcG9ydGFudDtcbiAgICB9XG4gIH1cblxuICAmX19jb250ZW50IHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgcGFkZGluZzogMCA0MHB4IDAgNDVweDtcblxuICAgIEBpbmNsdWRlIG1lZGlhKFwiPHNtXCIpIHtcbiAgICAgIHBhZGRpbmc6IDA7XG4gICAgfVxuXG4gICAgLmdyaWQgeyAgXG4gICAgICAuY29sLXNtLTEyIHtcbiAgICAgICAgcGFkZGluZzogY2FsYyh2YXIoLS1idW1wKSAvIDIpO1xuICAgICAgICBAaW5jbHVkZSBtZWRpYShcIjxzbVwiKSB7XG4gICAgICAgICAgcGFkZGluZzogY2FsYyh2YXIoLS1idW1wKSAvIDIpIGNhbGModmFyKC0tYnVtcCkgLyAzKTtcbiAgICAgICAgfVxuICAgICAgICAubS1iYW5uZXItYWx0X190aXRsZSB7XG4gICAgICAgICAgd2hpdGUtc3BhY2U6IG5vcm1hbDtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gICZfX2JvZHkge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIG1hcmdpbjogMCAwIDEwcHg7XG5cbiAgaDEsXG4gIC5oMSxcbiAgaDIsXG4gIC5oMixcbiAgaDMsXG4gIC5oMyxcbiAgaDQsXG4gIC5oNCxcbiAgaDUsXG4gIC5oNSxcbiAgaDYsXG4gIC5oNiB7XG4gICAgbWFyZ2luOiAwO1xuICB9XG5cbiAgICB1bCxcbiAgICBvbCB7XG4gICAgICBsaXN0LXN0eWxlOiBub25lO1xuICAgICAgbWFyZ2luOiAxMHB4IDA7XG4gICAgICBsaSB7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxN3B4O1xuICAgICAgfVxuICAgIH1cblxuICAgIGEge1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcbiAgICAgIGxpbmUtaGVpZ2h0OiAxN3B4O1xuICAgICAgd2hpdGUtc3BhY2U6IG5vcm1hbCFpbXBvcnRhbnQ7XG5cbiAgICAgICY6aG92ZXIge1xuICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgJl9faGVhZGluZyB7XG5cbiAgICBAaW5jbHVkZSBtZWRpYShcIjxzbVwiKSB7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICB0cmFuc2Zvcm06IG5vbmU7XG4gICAgfVxuICB9XG5cbiAgJl9fbGlua3Mge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1mbG93OiByb3cgd3JhcDtcbiAgICBnYXA6IDI1cHg7XG5cbiAgICBhIHtcbiAgICAgIHBhZGRpbmc6IDA7XG4gICAgfVxuICB9XG5cbiAgJl9fY3RhIHtcbiAgICBAaW5jbHVkZSBtZWRpYShcIjxzbVwiKSB7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICB9XG4gIH1cbn1cbiIsIi5tLWJhbm5lci1zbGlkZXIge1xyXG4gICAgJiA+IC5ncmlkIHtcclxuICAgICAgICBtYXgtd2lkdGg6IGNhbGModmFyKC0tY29udGFpbmVyV2lkdGhEZXNrdG9wKSArIDYwcHgpO1xyXG5cclxuICAgICAgICBAaW5jbHVkZSBtZWRpYShcIjwxNDMwcHhcIikge1xyXG4gICAgICAgICAgICBtYXgtd2lkdGg6IGNhbGMoOTAlICsgMzBweCk7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICBAaW5jbHVkZSBtZWRpYShcIjxzbVwiKSB7XHJcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICAgICAgICBtYXgtd2lkdGg6IDEwMCU7XHJcblxyXG4gICAgICAgICAgICAmID4gW2NsYXNzKj1jb2wtXSB7XHJcbiAgICAgICAgICAgICAgICBwYWRkaW5nOiAwO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAmID4gW2NsYXNzKj1jb2wtXSB7XHJcbiAgICAgICAgICAgIEBpbmNsdWRlIG1lZGlhKFwiPDE0MzBweFwiKSB7XHJcbiAgICAgICAgICAgICAgICBwYWRkaW5nOiAwO1xyXG4gICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICAubS1iYW5uZXItYWx0IHtcclxuICAgICAgICAgICAgICAgIG1heC13aWR0aDogY2FsYyh2YXIoLS1jb250YWluZXJXaWR0aERlc2t0b3ApIC0gMzBweCk7XHJcbiAgICAgICAgICAgICAgICBtYXJnaW46IHZhcigtLWJhbm5lckFsdFRvcE1hcmdpbikgYXV0byB2YXIoLS1iYW5uZXJBbHRUb3BNYXJnaW4pO1xyXG5cclxuICAgICAgICAgICAgICAgIEBpbmNsdWRlIG1lZGlhKFwiPDE0MzBweFwiKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgbWF4LXdpZHRoOiBjYWxjKDEwMCUgLSA2MHB4KTtcclxuICAgICAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBtZWRpYShcIjxzbVwiKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgICAgICAgICAgICAgbWF4LXdpZHRoOiAxMDAlO1xyXG4gICAgICAgICAgICAgICAgICAgIG1hcmdpbjogdmFyKC0tYmFubmVyQWx0VG9wTWFyZ2luKSBhdXRvIDA7XHJcblxyXG4gICAgICAgICAgICAgICAgICAgICYgPiAuZ3JpZCB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIG1hcmdpbjogMDtcclxuICAgICAgICAgICAgICAgICAgICAgICAgJiA+IFtjbGFzcyo9Y29sLV0ge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgcGFkZGluZzogMDsgICAgICAgICAgICAgICAgXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgIC5tLWJhbm5lcl9fY29udGVudF9fbW9iaWxlIHtcclxuICAgICAgICAgICAgICAgIG1heC13aWR0aDogMTAwJTtcclxuICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICAgICAgICAgICAgbWFyZ2luOiBhdXRvO1xyXG4gICAgICAgICAgICAgICAgJiA+IC5ncmlkIHtcclxuICAgICAgICAgICAgICAgICAgICBwYWRkaW5nOiBjYWxjKHZhcigtLWJ1bXApIC8gMik7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgIC5tLWJhbm5lci1hbHRfX2NvbnRlbnQge1xyXG4gICAgICAgICAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcclxuICAgICAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xyXG4gICAgICAgICAgICAgICAgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7XHJcblxyXG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgbWVkaWEoXCI8c21cIikge1xyXG4gICAgICAgICAgICAgICAgICAgIHBhZGRpbmc6IDA7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgIC5tLWJhbm5lci1hbHRfX3Bvc3QtdHlwZSB7XHJcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcbiAgICAgICAgICAgICAgICBtYXJnaW46IDAgMCAyMHB4O1xyXG4gICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICAubS1iYW5uZXJfX2NvbnRlbnRfX2Rlc2t0b3Age1xyXG4gICAgICAgICAgICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAuc3dpcGVyIHtcclxuICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgICAvLyBtYXgtd2lkdGg6IGNhbGModmFyKC0tY29udGFpbmVyV2lkdGhEZXNrdG9wKSAtIDMwcHgpO1xyXG4gICAgICAgIGhlaWdodDogYXV0bztcclxuICAgICAgICAvLyBtYXgtaGVpZ2h0OiA1MDBweDtcclxuXHJcbiAgICAgICAgJi1jb250YWluZXIsXHJcbiAgICAgICAgJi1zbGlkZXIge1xyXG4gICAgICAgICAgICBoZWlnaHQ6YXV0bzsgXHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAmLWJ1dHRvbiB7XHJcbiAgICAgICAgICAgICYtcHJldixcclxuICAgICAgICAgICAgJi1uZXh0IHtcclxuICAgICAgICAgICAgICAgIHdpZHRoOiAxMXB4O1xyXG5cclxuICAgICAgICAgICAgICAgIEBpbmNsdWRlIG1lZGlhKFwiPHNtXCIpIHtcclxuICAgICAgICAgICAgICAgICAgICB0b3A6IGF1dG87XHJcbiAgICAgICAgICAgICAgICAgICAgYm90dG9tOiAwO1xyXG4gICAgICAgICAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgyNSUpO1xyXG4gICAgICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgICAgICY6YWZ0ZXIsXHJcbiAgICAgICAgICAgICAgICAmOmJlZm9yZSB7XHJcbiAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgYmctaW1nKGNvdmVyKTtcclxuICAgICAgICAgICAgICAgICAgICBjb250ZW50OiAnJztcclxuICAgICAgICAgICAgICAgICAgICB3aWR0aDogMTFweDtcclxuICAgICAgICAgICAgICAgICAgICBoZWlnaHQ6IDE5cHg7XHJcbiAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogMHB4IGNlbnRlcjtcclxuICAgICAgICAgICAgICAgICAgICB0cmFuc2l0aW9uOiAwLjNzIHZhcigtLWVhc2luZyk7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgICYtbmV4dCB7XHJcbiAgICAgICAgICAgICAgICByaWdodDogMDtcclxuXHJcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBtZWRpYShcIjxzbVwiKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgcmlnaHQ6IDE1cHg7XHJcbiAgICAgICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICAgICAgJjphZnRlciB7XHJcbiAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKCcuLi9pbWcvY2hldnJvbi1yaWdodC5zdmcnKTtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICY6YmVmb3JlIHtcclxuICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBub25lO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIFxyXG4gICAgICAgICAgICAmLXByZXYge1xyXG4gICAgICAgICAgICAgICAgbGVmdDogMDtcclxuXHJcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBtZWRpYShcIjxzbVwiKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgbGVmdDogMTVweDtcclxuICAgICAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgICAgICAmOmJlZm9yZSB7XHJcbiAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKCcuLi9pbWcvY2hldnJvbi1sZWZ0LnN2ZycpO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgJjphZnRlciB7XHJcbiAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgLy8gJi13cmFwcGVyIHtcclxuICAgICAgICAgICAgLy8gbWF4LXdpZHRoOiBjYWxjKHZhcigtLWNvbnRhaW5lcldpZHRoRGVza3RvcCkgLSAzMHB4KTtcclxuICAgICAgICAvLyB9XHJcblxyXG4gICAgICAgICYtcGFnaW5hdGlvbiB7XHJcbiAgICAgICAgICAgIGJvdHRvbTogMCFpbXBvcnRhbnQ7XHJcbiAgICAgICAgICAgIHRvcDogYXV0byFpbXBvcnRhbnQ7XHJcbiAgICAgICAgICAgIGxlZnQ6IDI1cHggIWltcG9ydGFudDtcclxuICAgICAgICAgICAgd2lkdGg6IGF1dG8haW1wb3J0YW50O1xyXG5cclxuICAgICAgICAgICAgQGluY2x1ZGUgbWVkaWEoXCI8MTQzMHB4XCIpIHtcclxuICAgICAgICAgICAgICAgIGxlZnQ6IDI1cHggIWltcG9ydGFudDtcclxuICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgQGluY2x1ZGUgbWVkaWEoXCI8c21cIikge1xyXG4gICAgICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgICAgICAgICAgICAgYm90dG9tOiAwICFpbXBvcnRhbnQ7XHJcbiAgICAgICAgICAgICAgICB0b3A6IGF1dG8gIWltcG9ydGFudDtcclxuICAgICAgICAgICAgICAgIGxlZnQ6IGF1dG8gIWltcG9ydGFudDtcclxuICAgICAgICAgICAgICAgIHJpZ2h0OiBhdXRvICFpbXBvcnRhbnQ7XHJcbiAgICAgICAgICAgICAgICB3aWR0aDogMTAwJSAhaW1wb3J0YW50O1xyXG4gICAgICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDEyLjUlKTtcclxuICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgJi1idWxsZXQge1xyXG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZDogdmFyKC0tYy1zZWNvbmRhcnkpO1xyXG4gICAgICAgICAgICAgICAgb3BhY2l0eTogMC4zMjtcclxuXHJcbiAgICAgICAgICAgICAgICAmLWFjdGl2ZSB7XHJcbiAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZDogdmFyKC0tYy1zZWNvbmRhcnkpO1xyXG4gICAgICAgICAgICAgICAgICAgIG9wYWNpdHk6IDE7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcbn0iLCIvKipcbiAqIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAqIFVuLnRpdGxlZFxuICogTW9sZWN1bGVzIC0gTGlua2VkIGxvZ29zXG4gKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gKi9cblxuLm0tbG9nb3Mge1xuICBnYXA6IGNhbGModmFyKC0tYnVtcCkgKiAyKTtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgYSB7XG4gICAgbWF4LWhlaWdodDogMjM1cHg7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICBpbWcge1xuICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgb2JqZWN0LWZpdDogY29udGFpbjtcbiAgICB9XG4gICAgJjpob3ZlciB7XG4gICAgICBvcGFjaXR5OiAwLjc7XG4gICAgfVxuICB9XG59XG4iLCIvKipcbiAqIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAqIFVuLnRpdGxlZFxuICogTW9sZWN1bGVzIC0gU29jaWFsIGxpbmtzXG4gKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gKi9cblxuLyoqXG4gKiBTdHlsaW5nXG4gKi9cbi5tLXNvY2lhbC1saW5rcyB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIG1hcmdpbi10b3A6IGNhbGModmFyKC0tYnVtcCkgLyAzKTtcblxuICBAaW5jbHVkZSBtZWRpYSgnPG1kJykge1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgIG1hcmdpbi10b3A6IDA7XG4gIH1cblxuICAmX19saW5rIHtcbiAgICBtYXJnaW4tcmlnaHQ6IGNhbGModmFyKC0tYnVtcCkgLyAyKTtcbiAgICBoZWlnaHQ6IGNhbGModmFyKC0tYnVtcCkgKiAxLjc1KTtcbiAgICB3aWR0aDogY2FsYyh2YXIoLS1idW1wKSAqIDEuNzUpO1xuICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgICBkaXNwbGF5OiBibG9jaztcblxuICAgIEBpbmNsdWRlIG1lZGlhKCc8c20nKSB7XG4gICAgICBoZWlnaHQ6IGNhbGModmFyKC0tYnVtcCkgKiAxLjI1KTtcbiAgICAgIHdpZHRoOiBjYWxjKHZhcigtLWJ1bXApICogMS4yNSk7XG4gICAgfVxuXG4gICAgJjpsYXN0LWNoaWxkIHtcbiAgICAgIG1hcmdpbi1yaWdodDogMDtcbiAgICB9XG4gICAgJl9fdGlrdG9rIHtcbiAgICAgIGJhY2tncm91bmQ6ICMxYjFiMWI7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgICBzdmcge1xuICAgICAgICB3aWR0aDogMTZweCAhaW1wb3J0YW50O1xuICAgICAgfVxuICAgIH1cblxuICAgIHN2ZyB7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgIG9iamVjdC1maXQ6IGNvdmVyO1xuICAgIH1cblxuICAgIHJlY3Qge1xuICAgICAgdHJhbnNpdGlvbjogMC41cyB2YXIoLS1lYXNpbmcpO1xuICAgICAgZmlsbDogdmFyKC0tYy1wcmltYXJ5KTtcbiAgICB9XG5cbiAgICBwYXRoIHtcbiAgICAgIGZpbGw6IHZhcigtLWMtc2Vjb25kYXJ5KTtcbiAgICAgIHRyYW5zaXRpb246IDAuNXMgdmFyKC0tZWFzaW5nKTtcbiAgICB9XG5cbiAgICBjaXJjbGUge1xuICAgICAgZmlsbDogdmFyKC0tYy1wcmltYXJ5KTtcbiAgICAgIHRyYW5zaXRpb246IDAuNXMgdmFyKC0tZWFzaW5nKTtcbiAgICB9XG5cbiAgICAmOmhvdmVyIHtcbiAgICAgIHBhdGgge1xuICAgICAgICBmaWxsOiB2YXIoLS1jLWdyZXkpO1xuICAgICAgfVxuICAgIH1cblxuICAgICZfX3lvdXR1YmUge1xuICAgIH1cbiAgfVxufVxuIiwiLmRhdGVwaWNrZXIge1xuICBkaXNwbGF5OiBub25lO1xuICB2aXNpYmlsaXR5OiBoaWRkZW47XG59XG5cbi5kYXRlcGlja2VyLWNvbnRhaW5lciB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG5cbiAgc2VjdGlvbiB7XG4gICAgcGFkZGluZzogMDtcbiAgICBvdmVyZmxvdzogdmlzaWJsZTtcbiAgfVxufVxuXG4ubGlnaHRwaWNrIHtcbiAgQGluY2x1ZGUgZm9udC10aXRsZTtcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgY29sb3I6IHZhcigtLWMtc2Vjb25kYXJ5KTtcbiAgYm94LXNoYWRvdzogbm9uZTtcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gIHBhZGRpbmc6IDA7XG4gIG1hcmdpbjogMDtcbiAgYm9yZGVyLXJhZGl1czogMDtcblxuICAmX19kYXlzLW9mLXRoZS13ZWVrIHtcbiAgICBnYXA6IGNhbGModmFyKC0tYnVtcCkgLyAzKTtcbiAgICBwYWRkaW5nLWJvdHRvbTogY2FsYyh2YXIoLS1idW1wKSAvIDMpO1xuICB9XG5cbiAgJl9fbW9udGgtdGl0bGUge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgbWFyZ2luOiBjYWxjKHZhcigtLWJ1bXApIC8gMykgMDtcbiAgfVxuXG4gICZfX21vbnRocyB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgZ2FwOiB2YXIoLS1idW1wKTtcbiAgfVxuXG4gIEBpbmNsdWRlIG1lZGlhKCc8NjIwcHgnKSB7XG4gICAgJi5saWdodHBpY2stLTItY29sdW1ucyAubGlnaHRwaWNrX19tb250aHMge1xuICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiAxZnI7XG4gICAgfVxuICB9XG5cbiAgJl9fbW9udGgge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIG1pbi13aWR0aDogMjg4cHg7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG5cbiAgICAmLXRpdGxlIHtcbiAgICAgIHBhZGRpbmc6IDA7XG4gICAgfVxuICB9XG5cbiAgJl9fc2VsZWN0LFxuICAmX19kYXksXG4gICZfX2RheS1vZi10aGUtd2VlayB7XG4gICAgLy8gQGluY2x1ZGUgZm9udC1kZWZhdWx0O1xuICAgIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgfVxuICAmX19tb250aC10aXRsZSA+ICZfX3NlbGVjdCB7XG4gICAgQGluY2x1ZGUgZm9udC10aXRsZTtcbiAgICBjb2xvcjogdmFyKC0tYy1zZWNvbmRhcnkpO1xuICAgIHBhZGRpbmc6IDAgdmFyKC0tYnVtcCkgMCBjYWxjKHZhcigtLWJ1bXApIC8gMyk7XG4gICAgbWFyZ2luOiAwIGNhbGModmFyKC0tYnVtcCkgLyAzKSAwIDA7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIGFwcGVhcmFuY2U6IG5vbmU7XG4gICAgYm9yZGVyOiAxcHggc29saWQgdmFyKC0tYy1zZWNvbmRhcnkpO1xuICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWMtcHJpbWFyeSk7XG5cbiAgICAmOmhvdmVyLFxuICAgICY6Zm9jdXMge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYy1wcmltYXJ5KTtcbiAgICAgIGNvbG9yOiB2YXIoLS1jLXByaW1hcnkpO1xuICAgICAgYm9yZGVyLWNvbG9yOiB2YXIoLS1jLXByaW1hcnkpO1xuICAgIH1cbiAgfVxuXG4gICZfX2RheXMge1xuICAgIGdhcDogMTBweDtcbiAgfVxuXG4gICZfX2RheSB7XG4gICAgdHJhbnNpdGlvbjogMC4zcyB2YXIoLS1lYXNpbmcpO1xuICAgIGN1cnNvcjogcG9pbnRlcjtcblxuICAgICY6aG92ZXIge1xuICAgICAgY29sb3I6IHZhcigtLWMtcHJpbWFyeSk7XG4gICAgICBiYWNrZ3JvdW5kLWltYWdlOiBub25lO1xuICAgIH1cblxuICAgICYuaXMtYXZhaWxhYmxlIHtcbiAgICAgIGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLWMtc2Vjb25kYXJ5KTtcbiAgICAgIGJhY2tncm91bmQtaW1hZ2U6IG5vbmU7XG5cbiAgICAgICY6aG92ZXIsXG4gICAgICAmOmZvY3VzLFxuICAgICAgJjphY3RpdmUge1xuICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiBub25lO1xuICAgICAgICBib3JkZXItY29sb3I6IHZhcigtLWMtcHJpbWFyeSk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgJi5pcy10b2RheSB7XG4gICAgICBiYWNrZ3JvdW5kLWltYWdlOiBub25lO1xuICAgICAgY29sb3I6IHZhcigtLWMtYmxhY2spO1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYy10ZXJ0aWFyeSk7XG4gICAgICBib3JkZXItcmFkaXVzOiAxMDAlO1xuICAgIH1cbiAgICAmLmlzLWluLXJhbmdlIHtcbiAgICAgIC8vICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnRpemUodmFyKC0tYy1wcmltYXJ5KSwgMC44KTtcbiAgICAgIGJvcmRlci1jb2xvcjogdmFyKC0tYy1wcmltYXJ5KTtcblxuICAgICAgJjpob3ZlciB7XG4gICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IG5vbmU7XG4gICAgICB9XG4gICAgfVxuICAgICYuaXMtc3RhcnQtZGF0ZSxcbiAgICAmLmlzLXN0YXJ0LWRhdGUuaXMtaW4tcmFuZ2UsXG4gICAgJi5pcy1lbmQtZGF0ZS5pcy1pbi1yYW5nZSxcbiAgICAmLmlzLXN0YXJ0LWRhdGUuaXMtaW4tcmFuZ2UuaXMtZmxpcHBlZCxcbiAgICAmLmlzLWVuZC1kYXRlLmlzLWluLXJhbmdlLmlzLWZsaXBwZWQge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYy1wcmltYXJ5KTtcbiAgICAgIGNvbG9yOiB2YXIoLS1jLXByaW1hcnkpO1xuICAgIH1cblxuICAgICYuaXMtc3RhcnQtZGF0ZS5pcy1lbmQtZGF0ZS5pcy1pbi1yYW5nZSB7XG4gICAgICBiYWNrZ3JvdW5kLWltYWdlOiBub25lO1xuICAgICAgYm9yZGVyLXJhZGl1czogMDtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWMtcHJpbWFyeSk7XG4gICAgICBjb2xvcjogdmFyKC0tYy1wcmltYXJ5KTtcbiAgICAgIGJvcmRlci1jb2xvcjogdmFyKC0tYy1wcmltYXJ5KTtcbiAgICB9XG4gIH1cblxuICAmX19wcmV2aW91cy1hY3Rpb24sXG4gICZfX25leHQtYWN0aW9uIHtcbiAgICBAaW5jbHVkZSBybS10ZXh0O1xuICAgIGJvcmRlci1yYWRpdXM6IDA7XG4gICAgYm9yZGVyOiAxcHggc29saWQgdHJhbnNwYXJlbnQ7XG4gICAgcGFkZGluZzogMDtcblxuICAgIC5jaGV2cm9uIHtcbiAgICAgIGZpbGw6IHZhcigtLWMtc2Vjb25kYXJ5KTtcbiAgICB9XG5cbiAgICAmOmhvdmVyIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWMtcHJpbWFyeSk7XG4gICAgICBib3JkZXItY29sb3I6IHZhcigtLWMtcHJpbWFyeSk7XG5cbiAgICAgIC5jaGV2cm9uIHtcbiAgICAgICAgZmlsbDogdmFyKC0tYy1wcmltYXJ5KTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgJl9fcHJldmlvdXMtYWN0aW9uIHtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoJy4uL2ltZy9pY29uLWxlZnQtY2hldnJvbi5zdmcnKTtcblxuICAgICY6aG92ZXIge1xuICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKCcuLi9pbWcvaWNvbi1sZWZ0LWNoZXZyb24tYmxhY2suc3ZnJyk7XG4gICAgfVxuICB9XG4gICZfX25leHQtYWN0aW9uIHtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoJy4uL2ltZy9pY29uLXJpZ2h0LWNoZXZyb24uc3ZnJyk7XG5cbiAgICAmOmhvdmVyIHtcbiAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCgnLi4vaW1nL2ljb24tcmlnaHQtY2hldnJvbi1ibGFjay5zdmcnKTtcbiAgICB9XG4gIH1cbn1cblxuLmJ0bi0tY2FsZW5kYXIge1xuICBtYXJnaW4tdG9wOiB2YXIoLS1idW1wKTtcbiAgZGlzcGxheTogbm9uZTtcblxuICAmLmFjdGl2ZSB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgYW5pbWF0aW9uOiBmYWRlSW4gMC4ycyB2YXIoLS1lYXNpbmcpIGZvcndhcmRzO1xuICB9XG59XG4iLCIuc2xpZGluZy1wb3B1cC1ib3R0b20ge1xuICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWMtY2hhcmNvYWwpO1xuICAgIGJveC1zaGFkb3c6IDAgLTJweCAyOHB4IDAgcmdiKDI5IDI5IDI3IC8gNiUpO1xuICAgIHdpZHRoOiAxMDAlO1xuICBcbiAgICAuZXUtY29va2llLWNvbXBsaWFuY2Uge1xuICAgICAgJi1tZXNzYWdlIHtcbiAgICAgICAgbWF4LXdpZHRoOiA2NSU7XG4gICAgICAgIEBpbmNsdWRlIG1lZGlhKCc8bGcnKSB7XG4gICAgICAgICAgbWF4LXdpZHRoOiA2MCU7XG4gICAgICAgIH1cbiAgICAgICAgQGluY2x1ZGUgbWVkaWEoJzxtZCcpIHtcbiAgICAgICAgICBtYXgtd2lkdGg6IDUwJTtcbiAgICAgICAgfVxuICAgICAgICBAaW5jbHVkZSBtZWRpYSgnPHNtJykge1xuICAgICAgICAgIG1heC13aWR0aDogMTAwJTtcbiAgICAgICAgfVxuICAgICAgICBoMiB7XG4gICAgICAgICAgbGluZS1oZWlnaHQ6IDEuMjtcbiAgICAgICAgICBmb250LXNpemU6IGNsYW1wKDE4cHgsIDd2dywgdmFyKC0tZm9udFNpemVIZWFkaW5nRm91cikpO1xuICAgICAgICB9XG4gICAgICAgIHAge1xuICAgICAgICAgIGRpc3BsYXk6IGlubGluZTtcbiAgICAgICAgICBjb2xvcjogdmFyKC0tYy1zZWNvbmRhcnkpO1xuICAgICAgICB9XG4gICAgICAgIGEge1xuICAgICAgICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgICYtbW9yZS1idXR0b24ge1xuICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZTtcbiAgICAgICAgaGVpZ2h0OiBhdXRvO1xuICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICAgIGJvcmRlcjogbm9uZTtcbiAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XG4gICAgICAgIGJhY2tncm91bmQ6IG5vbmU7XG4gICAgICAgIGNvbG9yOiB2YXIoLS1jLXNlY29uZGFyeSk7XG4gICAgICB9XG5cbiAgICAgICYtY29udGVudCB7XG4gICAgICAgIG1hcmdpbjogMTVweCBhdXRvO1xuICAgICAgICBwYWRkaW5nOiAxNXB4O1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gICAgICAgIG1heC13aWR0aDogMTI2MHB4O1xuICAgICAgICBAaW5jbHVkZSBtZWRpYSgnPHNtJykge1xuICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgICYtYnV0dG9ucyB7XG4gICAgICAgIG1heC13aWR0aDogMzUlO1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTEwJSk7XG4gICAgICAgIGFsaWduLXNlbGY6IGZsZXgtZW5kO1xuXG4gICAgICAgIEBpbmNsdWRlIG1lZGlhKCc8bGcnKSB7XG4gICAgICAgICAgbWF4LXdpZHRoOiA0MCU7XG4gICAgICAgIH1cbiAgICAgICAgQGluY2x1ZGUgbWVkaWEoJzxtZCcpIHtcbiAgICAgICAgICBtYXgtd2lkdGg6IDUwJTtcbiAgICAgICAgfVxuICAgICAgICBAaW5jbHVkZSBtZWRpYSgnPHNtJykge1xuICAgICAgICAgIG1heC13aWR0aDogMTAwJTtcbiAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICB0cmFuc2Zvcm06IG5vbmU7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgXG4gICAgICAmLXNlY29uZGFyeS1idXR0b24ge1xuICAgICAgICBAaW5jbHVkZSBidG47XG4gICAgICAgIEBpbmNsdWRlIGJ0bi1hbHQ7XG4gICAgICAgIGJvcmRlcjogbm9uZTtcbiAgICBcbiAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgQGluY2x1ZGUgYnRuLWFsdC1ob3ZlcjtcbiAgICAgICAgfVxuICAgICAgICBjb2xvcjogdmFyKC0tYy1ibGFjayk7XG4gICAgICAgIG1hcmdpbjogMCAzMHB4IDAgMDtcbiAgXG4gICAgICAgIEBpbmNsdWRlIG1lZGlhKCc8c20nKSB7XG4gICAgICAgICAgbWFyZ2luOiAzMHB4IDAgMCAwO1xuICAgICAgICB9XG4gIFxuICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICBAaW5jbHVkZSBidG4tYWx0LWhvdmVyO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgICAmLWRlZmF1bHQtYnV0dG9uIHtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICBAaW5jbHVkZSBidG47XG4gICAgICAgIEBpbmNsdWRlIGJ0bi1uby1iZztcbiAgICAgICAgYm9yZGVyOiBub25lO1xuXG4gICAgICAgICY6aG92ZXIge1xuICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICAgICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICAgICAgfVxuICBcbiAgICAgICAgQGluY2x1ZGUgbWVkaWEoJzxzbScpIHtcbiAgICAgICAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgICAgICAgbWFyZ2luOiAzMHB4IDAgMCAwO1xuICAgICAgICB9XG4gIFxuICAgICAgICAmOmFmdGVyIHtcbiAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgcmlnaHQ6IDA7XG4gICAgICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogcmlnaHQ7XG4gICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDEwMCUpO1xuICAgICAgICB9XG4gICAgICAgICY6aG92ZXIge1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG4gICIsIi8qKlxuKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4qIFVuLnRpdGxlZFxuKiBNb2xlY3VsZXMgLSBBcmNoaXZlXG4qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiovXG5cbi8qKlxuKiBDb25maWdcbiovXG5cbi8qKlxuKiBTdHlsaW5nXG4qL1xuLm0tYXJjaGl2ZSB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG5cbiAgbGFiZWwge1xuICAgIEBpbmNsdWRlIGZvbnQtdGl0bGU7XG4gICAgbWFyZ2luLWJvdHRvbTogdmFyKC0tYnVtcC8yKTtcbiAgfVxufVxuXG4gIC5jaG9pY2VzIHtcbiAgICAmX19pbm5lciB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jLXNlY29uZGFyeSk7XG4gICAgICBib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1jLXNlY29uZGFyeSk7XG4gICAgICBib3JkZXItcmFkaXVzOiA0cHg7XG4gICAgICBjb2xvcjogdmFyKC0tYy1wcmltYXJ5KTtcbiAgICAgIHBhZGRpbmc6IDcuNXB4IDE1cHggMy43NXB4O1xuICAgIH1cblxuICAgICYuaXMtb3BlbiAuY2hvaWNlc19faW5uZXIge1xuICAgICAgYm9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1czogMDtcbiAgICAgIGJvcmRlci1ib3R0b20tcmlnaHQtcmFkaXVzOiAwO1xuICAgIH1cblxuICAgICZfX2xpc3QtLWRyb3Bkb3duIHtcbiAgICAgIGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLWMtc2Vjb25kYXJ5KTtcblxuICAgICAgLmNob2ljZXNfX2l0ZW0tLXNlbGVjdGFibGUge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jLXNlY29uZGFyeSk7XG4gICAgICAgIGNvbG9yOiB2YXIoLS1jLXByaW1hcnkpO1xuICAgICAgICBwYWRkaW5nLXJpZ2h0OiAwO1xuXG4gICAgICAgICYuaXMtaGlnaGxpZ2h0ZWQge1xuICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWMtZ3JleSk7XG5cbiAgICAgICAgICAmOjphZnRlciB7XG4gICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgICAmOmFmdGVyIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxuICAgICY6YmVmb3JlIHtcbiAgICAgIEBpbmNsdWRlIGJnLWltZygxMHB4KTtcbiAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCguLi9pbWcvZHJvcGRvd24uc3ZnKTtcbiAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgd2lkdGg6IDIwcHg7XG4gICAgICBoZWlnaHQ6IDIwcHg7XG4gICAgICByaWdodDogNy41cHg7XG4gICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoNzUlKTtcbiAgICB9XG59XG4iLCIvKipcbiogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuKiBVbi50aXRsZWRcbiogTW9sZWN1bGVzIC0gR2FsbGVyeVxuKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4qL1xuXG4vKipcbiogQ29uZmlnXG4qL1xuXG4vKipcbiogU3R5bGluZ1xuKi9cbi5tLWdhbGxlcnkge1xuICAgIC5wc3dwX19idXR0b24ge1xuICAgICAgd2lkdGg6IDQ0cHg7XG4gICAgICBoZWlnaHQ6IDQ0cHg7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICBiYWNrZ3JvdW5kOiBub25lO1xuICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgICAgb3ZlcmZsb3c6IHZpc2libGU7XG4gICAgICBhcHBlYXJhbmNlOiBub25lO1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICBib3JkZXI6IDA7XG4gICAgICBwYWRkaW5nOiAwO1xuICAgICAgbWFyZ2luOiAwO1xuICAgICAgZmxvYXQ6IHJpZ2h0O1xuICAgICAgb3BhY2l0eTogMC43NTtcbiAgICAgIHRyYW5zaXRpb246IGFsbCB2YXIoLS10cmFuc2l0aW9uKTtcbiAgICB9XG4gICAgLnBzd3BfX2J1dHRvbjpmb2N1cyxcbiAgICAucHN3cF9fYnV0dG9uOmhvdmVyIHtcbiAgICAgIG9wYWNpdHk6IDE7XG4gICAgfVxuICAgIC5wc3dwX19idXR0b246YWN0aXZlIHtcbiAgICAgIG91dGxpbmU6IG5vbmU7XG4gICAgICBvcGFjaXR5OiAwLjk7XG4gICAgfVxuICAgIC5wc3dwX19idXR0b246Oi1tb3otZm9jdXMtaW5uZXIge1xuICAgICAgcGFkZGluZzogMDtcbiAgICAgIGJvcmRlcjogMDtcbiAgICB9XG4gIFxuICAgIC8qIHBzd3BfX3VpLS1vdmVyLWNsb3NlIGNsYXNzIGl0IGFkZGVkIHdoZW4gbW91c2UgaXMgb3ZlciBlbGVtZW50IHRoYXQgc2hvdWxkIGNsb3NlIGdhbGxlcnkgKi9cbiAgICAucHN3cF9fdWktLW92ZXItY2xvc2UgLnBzd3BfX2J1dHRvbi0tY2xvc2Uge1xuICAgICAgb3BhY2l0eTogMTtcbiAgICB9XG4gIFxuICAgIC5wc3dwX19idXR0b24sXG4gICAgLnBzd3BfX2J1dHRvbi0tYXJyb3ctLWxlZnQ6YmVmb3JlLFxuICAgIC5wc3dwX19idXR0b24tLWFycm93LS1yaWdodDpiZWZvcmUge1xuICAgICAgYmFja2dyb3VuZDogdXJsKCcuLi9pbWcvZGVmYXVsdC1za2luLnBuZycpIDAgMCBuby1yZXBlYXQ7XG4gICAgICBiYWNrZ3JvdW5kLXNpemU6IDI2NHB4IDg4cHg7XG4gICAgICB3aWR0aDogNDRweDtcbiAgICAgIGhlaWdodDogNDRweDtcbiAgICB9XG4gIFxuICAgIEBtZWRpYSAoLXdlYmtpdC1taW4tZGV2aWNlLXBpeGVsLXJhdGlvOiAxLjEpLFxuICAgICAgKC13ZWJraXQtbWluLWRldmljZS1waXhlbC1yYXRpbzogMS4wOTM3NSksXG4gICAgICAobWluLXJlc29sdXRpb246IDEwNWRwaSksXG4gICAgICAobWluLXJlc29sdXRpb246IDEuMWRwcHgpIHtcbiAgICAgIC8qIFNlcnZlIFNWRyBzcHJpdGUgaWYgYnJvd3NlciBzdXBwb3J0cyBTVkcgYW5kIHJlc29sdXRpb24gaXMgbW9yZSB0aGFuIDEwNWRwaSAqL1xuICAgICAgLnBzd3AtLXN2ZyAucHN3cF9fYnV0dG9uLFxuICAgICAgLnBzd3AtLXN2ZyAucHN3cF9fYnV0dG9uLS1hcnJvdy0tbGVmdDpiZWZvcmUsXG4gICAgICAucHN3cC0tc3ZnIC5wc3dwX19idXR0b24tLWFycm93LS1yaWdodDpiZWZvcmUge1xuICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoJy4uL2ltZy9kZWZhdWx0LXNraW4uc3ZnJyk7XG4gICAgICB9XG4gICAgICAucHN3cC0tc3ZnIC5wc3dwX19idXR0b24tLWFycm93LS1sZWZ0LFxuICAgICAgLnBzd3AtLXN2ZyAucHN3cF9fYnV0dG9uLS1hcnJvdy0tcmlnaHQge1xuICAgICAgICBiYWNrZ3JvdW5kOiBub25lO1xuICAgICAgfVxuICAgIH1cbiAgXG4gICAgLnBzd3BfX2J1dHRvbi0tY2xvc2Uge1xuICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogMCAtNDRweDtcbiAgICB9XG4gIFxuICAgIC5wc3dwX19idXR0b24tLXNoYXJlIHtcbiAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IC00NHB4IC00NHB4O1xuICAgIH1cbiAgXG4gICAgLnBzd3BfX2J1dHRvbi0tZnMge1xuICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG4gIFxuICAgIC5wc3dwLS1zdXBwb3J0cy1mcyAucHN3cF9fYnV0dG9uLS1mcyB7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICB9XG4gIFxuICAgIC5wc3dwLS1mcyAucHN3cF9fYnV0dG9uLS1mcyB7XG4gICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtNDRweCAwO1xuICAgIH1cbiAgXG4gICAgLnBzd3BfX2J1dHRvbi0tem9vbSB7XG4gICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogLTg4cHggMDtcbiAgICB9XG4gIFxuICAgIC5wc3dwLS16b29tLWFsbG93ZWQgLnBzd3BfX2J1dHRvbi0tem9vbSB7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICB9XG4gIFxuICAgIC5wc3dwLS16b29tZWQtaW4gLnBzd3BfX2J1dHRvbi0tem9vbSB7XG4gICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMTMycHggMDtcbiAgICB9XG4gIFxuICAgIC8qIG5vIGFycm93cyBvbiB0b3VjaCBzY3JlZW5zICovXG4gICAgLnBzd3AtLXRvdWNoIC5wc3dwX19idXR0b24tLWFycm93LS1sZWZ0LFxuICAgIC5wc3dwLS10b3VjaCAucHN3cF9fYnV0dG9uLS1hcnJvdy0tcmlnaHQge1xuICAgICAgdmlzaWJpbGl0eTogaGlkZGVuO1xuICAgIH1cbiAgXG4gICAgLypcbiAgICAgIEFycm93IGJ1dHRvbnMgaGl0IGFyZWFcbiAgICAgIChpY29uIGlzIGFkZGVkIHRvIDpiZWZvcmUgcHNldWRvLWVsZW1lbnQpXG4gICAgKi9cbiAgICAucHN3cF9fYnV0dG9uLS1hcnJvdy0tbGVmdCxcbiAgICAucHN3cF9fYnV0dG9uLS1hcnJvdy0tcmlnaHQge1xuICAgICAgYmFja2dyb3VuZDogbm9uZTtcbiAgICAgIHRvcDogNTAlO1xuICAgICAgbWFyZ2luLXRvcDogLTUwcHg7XG4gICAgICB3aWR0aDogNzBweDtcbiAgICAgIGhlaWdodDogMTAwcHg7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgfVxuICBcbiAgICAucHN3cF9fYnV0dG9uLS1hcnJvdy0tbGVmdCB7XG4gICAgICBsZWZ0OiAwO1xuICAgIH1cbiAgXG4gICAgLnBzd3BfX2J1dHRvbi0tYXJyb3ctLXJpZ2h0IHtcbiAgICAgIHJpZ2h0OiAwO1xuICAgIH1cbiAgXG4gICAgLnBzd3BfX2J1dHRvbi0tYXJyb3ctLWxlZnQ6YmVmb3JlLFxuICAgIC5wc3dwX19idXR0b24tLWFycm93LS1yaWdodDpiZWZvcmUge1xuICAgICAgY29udGVudDogJyc7XG4gICAgICB0b3A6IDM1cHg7XG4gICAgICAvLyBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuMyk7XG4gICAgICBoZWlnaHQ6IDMwcHg7XG4gICAgICB3aWR0aDogMzJweDtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB9XG4gIFxuICAgIC5wc3dwX19idXR0b24tLWFycm93LS1sZWZ0OmJlZm9yZSB7XG4gICAgICBsZWZ0OiA2cHg7XG4gICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMTM4cHggLTQ0cHg7XG4gICAgfVxuICBcbiAgICAucHN3cF9fYnV0dG9uLS1hcnJvdy0tcmlnaHQ6YmVmb3JlIHtcbiAgICAgIHJpZ2h0OiA2cHg7XG4gICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtOTRweCAtNDRweDtcbiAgICB9XG4gIFxuICAgIC8qXG4gICAgXG4gICAgICAyLiBTaGFyZSBtb2RhbC9wb3B1cCBhbmQgbGlua3NcbiAgICBcbiAgICAgKi9cbiAgICAucHN3cF9fY291bnRlcixcbiAgICAucHN3cF9fc2hhcmUtbW9kYWwge1xuICAgICAgLXdlYmtpdC11c2VyLXNlbGVjdDogbm9uZTtcbiAgICAgIC1tb3otdXNlci1zZWxlY3Q6IG5vbmU7XG4gICAgICAtbXMtdXNlci1zZWxlY3Q6IG5vbmU7XG4gICAgICB1c2VyLXNlbGVjdDogbm9uZTtcbiAgICB9XG4gIFxuICAgIC5wc3dwX19zaGFyZS1tb2RhbCB7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIGJhY2tncm91bmQ6IHJnYmEoMCwgMCwgMCwgMC41KTtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgdG9wOiAwO1xuICAgICAgbGVmdDogMDtcbiAgICAgIHBhZGRpbmc6IDEwcHg7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICB6LWluZGV4OiAxNjAwO1xuICAgICAgb3BhY2l0eTogMDtcbiAgICAgIC13ZWJraXQtdHJhbnNpdGlvbjogb3BhY2l0eSAwLjI1cyBlYXNlLW91dDtcbiAgICAgIHRyYW5zaXRpb246IG9wYWNpdHkgMC4yNXMgZWFzZS1vdXQ7XG4gICAgICAtd2Via2l0LWJhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlbjtcbiAgICAgIGJhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlbjtcbiAgICAgIHdpbGwtY2hhbmdlOiBvcGFjaXR5O1xuICAgIH1cbiAgXG4gICAgLnBzd3BfX3NoYXJlLW1vZGFsLS1oaWRkZW4ge1xuICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG4gIFxuICAgIC5wc3dwX19zaGFyZS10b29sdGlwIHtcbiAgICAgIHotaW5kZXg6IDE2MjA7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICBiYWNrZ3JvdW5kOiB2YXIoLS1jLXdoaXRlKTtcbiAgICAgIHRvcDogNTZweDtcbiAgICAgIGJvcmRlci1yYWRpdXM6IDJweDtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgd2lkdGg6IGF1dG87XG4gICAgICByaWdodDogNDRweDtcbiAgICAgIC13ZWJraXQtYm94LXNoYWRvdzogMCAycHggNXB4IHJnYmEoMCwgMCwgMCwgMC4yNSk7XG4gICAgICBib3gtc2hhZG93OiAwIDJweCA1cHggcmdiYSgwLCAwLCAwLCAwLjI1KTtcbiAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDZweCk7XG4gICAgICAtbXMtdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDZweCk7XG4gICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoNnB4KTtcbiAgICAgIC13ZWJraXQtdHJhbnNpdGlvbjogLXdlYmtpdC10cmFuc2Zvcm0gMC4yNXM7XG4gICAgICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMC4yNXM7XG4gICAgICAtd2Via2l0LWJhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlbjtcbiAgICAgIGJhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlbjtcbiAgICAgIHdpbGwtY2hhbmdlOiB0cmFuc2Zvcm07XG4gICAgfVxuICAgIC5wc3dwX19zaGFyZS10b29sdGlwIGEge1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICBwYWRkaW5nOiA4cHggMTJweDtcbiAgICAgIGNvbG9yOiB2YXIoLS1jLXByaW1hcnkpO1xuICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgICAgZm9udC1zaXplOiAxNHB4O1xuICAgICAgbGluZS1oZWlnaHQ6IDE4cHg7XG4gICAgfVxuICAgIC5wc3dwX19zaGFyZS10b29sdGlwIGE6aG92ZXIge1xuICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgICAgY29sb3I6IHZhcigtLWMtcHJpbWFyeSk7XG4gICAgfVxuICAgIC5wc3dwX19zaGFyZS10b29sdGlwIGE6Zmlyc3QtY2hpbGQge1xuICAgICAgLyogcm91bmQgY29ybmVycyBvbiB0aGUgZmlyc3QvbGFzdCBsaXN0IGl0ZW0gKi9cbiAgICAgIGJvcmRlci1yYWRpdXM6IDJweCAycHggMCAwO1xuICAgIH1cbiAgICAucHN3cF9fc2hhcmUtdG9vbHRpcCBhOmxhc3QtY2hpbGQge1xuICAgICAgYm9yZGVyLXJhZGl1czogMCAwIDJweCAycHg7XG4gICAgfVxuICBcbiAgICAucHN3cF9fc2hhcmUtbW9kYWwtLWZhZGUtaW4ge1xuICAgICAgb3BhY2l0eTogMTtcbiAgICB9XG4gICAgLnBzd3BfX3NoYXJlLW1vZGFsLS1mYWRlLWluIC5wc3dwX19zaGFyZS10b29sdGlwIHtcbiAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApO1xuICAgICAgLW1zLXRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKTtcbiAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKTtcbiAgICB9XG4gIFxuICAgIC8qIGluY3JlYXNlIHNpemUgb2Ygc2hhcmUgbGlua3Mgb24gdG91Y2ggZGV2aWNlcyAqL1xuICAgIC5wc3dwLS10b3VjaCAucHN3cF9fc2hhcmUtdG9vbHRpcCBhIHtcbiAgICAgIHBhZGRpbmc6IDE2cHggMTJweDtcbiAgICB9XG4gIFxuICAgIGEucHN3cF9fc2hhcmUtLWZhY2Vib29rOmJlZm9yZSB7XG4gICAgICBjb250ZW50OiAnJztcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgd2lkdGg6IDA7XG4gICAgICBoZWlnaHQ6IDA7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICB0b3A6IC0xMnB4O1xuICAgICAgcmlnaHQ6IDE1cHg7XG4gICAgICBib3JkZXI6IDZweCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgICAgIGJvcmRlci1ib3R0b20tY29sb3I6IHZhcigtLWMtd2hpdGUpO1xuICAgICAgLXdlYmtpdC1wb2ludGVyLWV2ZW50czogbm9uZTtcbiAgICAgIC1tb3otcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gICAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgICB9XG4gIFxuICAgIGEucHN3cF9fc2hhcmUtLWZhY2Vib29rOmhvdmVyIHtcbiAgICAgIGJhY2tncm91bmQ6ICMzZTVjOWE7XG4gICAgICBjb2xvcjogdmFyKC0tYy13aGl0ZSk7XG4gICAgfVxuICAgIGEucHN3cF9fc2hhcmUtLWZhY2Vib29rOmhvdmVyOmJlZm9yZSB7XG4gICAgICBib3JkZXItYm90dG9tLWNvbG9yOiAjM2U1YzlhO1xuICAgIH1cbiAgXG4gICAgYS5wc3dwX19zaGFyZS0tdHdpdHRlcjpob3ZlciB7XG4gICAgICBiYWNrZ3JvdW5kOiAjNTVhY2VlO1xuICAgICAgY29sb3I6IHZhcigtLWMtd2hpdGUpO1xuICAgIH1cbiAgXG4gICAgYS5wc3dwX19zaGFyZS0tcGludGVyZXN0OmhvdmVyIHtcbiAgICAgIGJhY2tncm91bmQ6ICNjY2M7XG4gICAgICBjb2xvcjogI2NlMjcyZDtcbiAgICB9XG4gIFxuICAgIGEucHN3cF9fc2hhcmUtLWRvd25sb2FkOmhvdmVyIHtcbiAgICAgIGJhY2tncm91bmQ6ICNkZGQ7XG4gICAgfVxuICBcbiAgICAvKlxuICAgIFxuICAgICAgMy4gSW5kZXggaW5kaWNhdG9yIChcIjEgb2YgWFwiIGNvdW50ZXIpXG4gICAgXG4gICAgICovXG4gICAgLnBzd3BfX2NvdW50ZXIge1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgbGVmdDogMDtcbiAgICAgIHRvcDogMDtcbiAgICAgIGhlaWdodDogNDRweDtcbiAgICAgIGZvbnQtc2l6ZTogMTNweDtcbiAgICAgIGxpbmUtaGVpZ2h0OiA0NHB4O1xuICAgICAgY29sb3I6IHZhcigtLWMtd2hpdGUpO1xuICAgICAgb3BhY2l0eTogMC43NTtcbiAgICAgIHBhZGRpbmc6IDAgMTBweDtcbiAgICB9XG4gIFxuICAgIC8qXG4gICAgICBcbiAgICAgIDQuIENhcHRpb25cbiAgICBcbiAgICAgKi9cbiAgICAucHN3cF9fY2FwdGlvbiB7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICBsZWZ0OiAwO1xuICAgICAgYm90dG9tOiAwO1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICBtaW4taGVpZ2h0OiA0NHB4O1xuICAgIH1cbiAgICAucHN3cF9fY2FwdGlvbiBzbWFsbCB7XG4gICAgICBmb250LXNpemU6IDExcHg7XG4gICAgICBjb2xvcjogI2JiYjtcbiAgICB9XG4gIFxuICAgIC5wc3dwX19jYXB0aW9uX19jZW50ZXIge1xuICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgbWF4LXdpZHRoOiA3MDBweDtcbiAgICAgIG1hcmdpbjogMCBhdXRvO1xuICAgICAgcGFkZGluZzogMC41cmVtO1xuICAgICAgY29sb3I6IHZhcigtLWMtcHJpbWFyeSk7XG4gICAgfVxuICBcbiAgICAucHN3cF9fY2FwdGlvbi0tZW1wdHkge1xuICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG4gIFxuICAgIC8qIEZha2UgY2FwdGlvbiBlbGVtZW50LCB1c2VkIHRvIGNhbGN1bGF0ZSBoZWlnaHQgb2YgbmV4dC9wcmV2IGltYWdlICovXG4gICAgLnBzd3BfX2NhcHRpb24tLWZha2Uge1xuICAgICAgdmlzaWJpbGl0eTogaGlkZGVuO1xuICAgIH1cbiAgXG4gICAgLypcbiAgICBcbiAgICAgIDUuIExvYWRpbmcgaW5kaWNhdG9yIChwcmVsb2FkZXIpXG4gICAgXG4gICAgICBZb3UgY2FuIHBsYXkgd2l0aCBpdCBoZXJlIC0gaHR0cDovL2NvZGVwZW4uaW8vZGltc2VtZW5vdi9wZW4veXlCV29SXG4gICAgXG4gICAgICovXG4gICAgLnBzd3BfX3ByZWxvYWRlciB7XG4gICAgICB3aWR0aDogNDRweDtcbiAgICAgIGhlaWdodDogNDRweDtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHRvcDogMDtcbiAgICAgIGxlZnQ6IDUwJTtcbiAgICAgIG1hcmdpbi1sZWZ0OiAtMjJweDtcbiAgICAgIG9wYWNpdHk6IDA7XG4gICAgICAtd2Via2l0LXRyYW5zaXRpb246IG9wYWNpdHkgMC4yNXMgZWFzZS1vdXQ7XG4gICAgICB0cmFuc2l0aW9uOiBvcGFjaXR5IDAuMjVzIGVhc2Utb3V0O1xuICAgICAgd2lsbC1jaGFuZ2U6IG9wYWNpdHk7XG4gICAgICBkaXJlY3Rpb246IGx0cjtcbiAgICB9XG4gIFxuICAgIC5wc3dwX19wcmVsb2FkZXJfX2ljbiB7XG4gICAgICB3aWR0aDogMjBweDtcbiAgICAgIGhlaWdodDogMjBweDtcbiAgICAgIG1hcmdpbjogMTJweDtcbiAgICB9XG4gIFxuICAgIC5wc3dwX19wcmVsb2FkZXItLWFjdGl2ZSB7XG4gICAgICBvcGFjaXR5OiAxO1xuICAgIH1cbiAgICAucHN3cF9fcHJlbG9hZGVyLS1hY3RpdmUgLnBzd3BfX3ByZWxvYWRlcl9faWNuIHtcbiAgICAgIC8qIFdlIHVzZSAuZ2lmIGluIGJyb3dzZXJzIHRoYXQgZG9uJ3Qgc3VwcG9ydCBDU1MgYW5pbWF0aW9uICovXG4gICAgICBiYWNrZ3JvdW5kOiB1cmwoLi4vaW1nL3ByZWxvYWRlci5naWYpIDAgMCBuby1yZXBlYXQ7XG4gICAgfVxuICBcbiAgICAucHN3cC0tY3NzX2FuaW1hdGlvbiAucHN3cF9fcHJlbG9hZGVyLS1hY3RpdmUge1xuICAgICAgb3BhY2l0eTogMTtcbiAgICB9XG4gICAgLnBzd3AtLWNzc19hbmltYXRpb24gLnBzd3BfX3ByZWxvYWRlci0tYWN0aXZlIC5wc3dwX19wcmVsb2FkZXJfX2ljbiB7XG4gICAgICAtd2Via2l0LWFuaW1hdGlvbjogY2xvY2t3aXNlIDUwMG1zIGxpbmVhciBpbmZpbml0ZTtcbiAgICAgIGFuaW1hdGlvbjogY2xvY2t3aXNlIDUwMG1zIGxpbmVhciBpbmZpbml0ZTtcbiAgICB9XG4gICAgLnBzd3AtLWNzc19hbmltYXRpb24gLnBzd3BfX3ByZWxvYWRlci0tYWN0aXZlIC5wc3dwX19wcmVsb2FkZXJfX2RvbnV0IHtcbiAgICAgIC13ZWJraXQtYW5pbWF0aW9uOiBkb251dC1yb3RhdGUgMTAwMG1zIGN1YmljLWJlemllcigwLjQsIDAsIDAuMjIsIDEpXG4gICAgICAgIGluZmluaXRlO1xuICAgICAgYW5pbWF0aW9uOiBkb251dC1yb3RhdGUgMTAwMG1zIGN1YmljLWJlemllcigwLjQsIDAsIDAuMjIsIDEpIGluZmluaXRlO1xuICAgIH1cbiAgXG4gICAgLnBzd3AtLWNzc19hbmltYXRpb24gLnBzd3BfX3ByZWxvYWRlcl9faWNuIHtcbiAgICAgIGJhY2tncm91bmQ6IG5vbmU7XG4gICAgICBvcGFjaXR5OiAwLjc1O1xuICAgICAgd2lkdGg6IDE0cHg7XG4gICAgICBoZWlnaHQ6IDE0cHg7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICBsZWZ0OiAxNXB4O1xuICAgICAgdG9wOiAxNXB4O1xuICAgICAgbWFyZ2luOiAwO1xuICAgIH1cbiAgXG4gICAgLnBzd3AtLWNzc19hbmltYXRpb24gLnBzd3BfX3ByZWxvYWRlcl9fY3V0IHtcbiAgICAgIC8qIFxuICAgICAgICAgIFRoZSBpZGVhIG9mIGFuaW1hdGluZyBpbm5lciBjaXJjbGUgaXMgYmFzZWQgb24gUG9seW1lciAoXCJtYXRlcmlhbFwiKSBsb2FkaW5nIGluZGljYXRvciBcbiAgICAgICAgICAgYnkgS2VhbnUgTGVlIGh0dHBzOi8vYmxvZy5rZWFudWxlZS5jb20vMjAxNC8xMC8yMC90aGUtdGFsZS1vZi10aHJlZS1zcGlubmVycy5odG1sXG4gICAgICAgICovXG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICB3aWR0aDogN3B4O1xuICAgICAgaGVpZ2h0OiAxNHB4O1xuICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICB9XG4gIFxuICAgIC5wc3dwLS1jc3NfYW5pbWF0aW9uIC5wc3dwX19wcmVsb2FkZXJfX2RvbnV0IHtcbiAgICAgIC13ZWJraXQtYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgICB3aWR0aDogMTRweDtcbiAgICAgIGhlaWdodDogMTRweDtcbiAgICAgIGJvcmRlcjogMnB4IHNvbGlkIHZhcigtLWMtd2hpdGUpO1xuICAgICAgYm9yZGVyLXJhZGl1czogNTAlO1xuICAgICAgYm9yZGVyLWxlZnQtY29sb3I6IHRyYW5zcGFyZW50O1xuICAgICAgYm9yZGVyLWJvdHRvbS1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICB0b3A6IDA7XG4gICAgICBsZWZ0OiAwO1xuICAgICAgYmFja2dyb3VuZDogbm9uZTtcbiAgICAgIG1hcmdpbjogMDtcbiAgICB9XG4gIFxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDEwMjRweCkge1xuICAgICAgLnBzd3BfX3ByZWxvYWRlciB7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgbGVmdDogYXV0bztcbiAgICAgICAgdG9wOiBhdXRvO1xuICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgIGZsb2F0OiByaWdodDtcbiAgICAgIH1cbiAgICB9XG4gIFxuICAgIEAtd2Via2l0LWtleWZyYW1lcyBjbG9ja3dpc2Uge1xuICAgICAgMCUge1xuICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlKDBkZWcpO1xuICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSgwZGVnKTtcbiAgICAgIH1cbiAgICAgIDEwMCUge1xuICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlKDM2MGRlZyk7XG4gICAgICAgIHRyYW5zZm9ybTogcm90YXRlKDM2MGRlZyk7XG4gICAgICB9XG4gICAgfVxuICBcbiAgICBAa2V5ZnJhbWVzIGNsb2Nrd2lzZSB7XG4gICAgICAwJSB7XG4gICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUoMGRlZyk7XG4gICAgICAgIHRyYW5zZm9ybTogcm90YXRlKDBkZWcpO1xuICAgICAgfVxuICAgICAgMTAwJSB7XG4gICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUoMzYwZGVnKTtcbiAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoMzYwZGVnKTtcbiAgICAgIH1cbiAgICB9XG4gIFxuICAgIEAtd2Via2l0LWtleWZyYW1lcyBkb251dC1yb3RhdGUge1xuICAgICAgMCUge1xuICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlKDApO1xuICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSgwKTtcbiAgICAgIH1cbiAgICAgIDUwJSB7XG4gICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUoLTE0MGRlZyk7XG4gICAgICAgIHRyYW5zZm9ybTogcm90YXRlKC0xNDBkZWcpO1xuICAgICAgfVxuICAgICAgMTAwJSB7XG4gICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUoMCk7XG4gICAgICAgIHRyYW5zZm9ybTogcm90YXRlKDApO1xuICAgICAgfVxuICAgIH1cbiAgXG4gICAgQGtleWZyYW1lcyBkb251dC1yb3RhdGUge1xuICAgICAgMCUge1xuICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlKDApO1xuICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSgwKTtcbiAgICAgIH1cbiAgICAgIDUwJSB7XG4gICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUoLTE0MGRlZyk7XG4gICAgICAgIHRyYW5zZm9ybTogcm90YXRlKC0xNDBkZWcpO1xuICAgICAgfVxuICAgICAgMTAwJSB7XG4gICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUoMCk7XG4gICAgICAgIHRyYW5zZm9ybTogcm90YXRlKDApO1xuICAgICAgfVxuICAgIH1cbiAgXG4gICAgLypcbiAgICAgIFxuICAgICAgNi4gQWRkaXRpb25hbCBzdHlsZXNcbiAgICBcbiAgICAgKi9cbiAgICAvKiByb290IGVsZW1lbnQgb2YgVUkgKi9cbiAgICAucHN3cF9fdWkge1xuICAgICAgLXdlYmtpdC1mb250LXNtb290aGluZzogYXV0bztcbiAgICAgIHZpc2liaWxpdHk6IHZpc2libGU7XG4gICAgICBvcGFjaXR5OiAxO1xuICAgICAgei1pbmRleDogMTU1MDtcbiAgICB9XG4gIFxuICAgIC8qIHRvcCBibGFjayBiYXIgd2l0aCBidXR0b25zIGFuZCBcIjEgb2YgWFwiIGluZGljYXRvciAqL1xuICAgIC5wc3dwX190b3AtYmFyIHtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIGxlZnQ6IDA7XG4gICAgICB0b3A6IDA7XG4gICAgICBoZWlnaHQ6IDQ0cHg7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICB9XG4gIFxuICAgIC5wc3dwX19jYXB0aW9uLFxuICAgIC5wc3dwX190b3AtYmFyLFxuICAgIC5wc3dwLS1oYXNfbW91c2UgLnBzd3BfX2J1dHRvbi0tYXJyb3ctLWxlZnQsXG4gICAgLnBzd3AtLWhhc19tb3VzZSAucHN3cF9fYnV0dG9uLS1hcnJvdy0tcmlnaHQge1xuICAgICAgLXdlYmtpdC1iYWNrZmFjZS12aXNpYmlsaXR5OiBoaWRkZW47XG4gICAgICBiYWNrZmFjZS12aXNpYmlsaXR5OiBoaWRkZW47XG4gICAgICB3aWxsLWNoYW5nZTogb3BhY2l0eTtcbiAgICAgIC13ZWJraXQtdHJhbnNpdGlvbjogb3BhY2l0eSAzMzNtcyBjdWJpYy1iZXppZXIoMC40LCAwLCAwLjIyLCAxKTtcbiAgICAgIHRyYW5zaXRpb246IG9wYWNpdHkgMzMzbXMgY3ViaWMtYmV6aWVyKDAuNCwgMCwgMC4yMiwgMSk7XG4gICAgfVxuICBcbiAgICAvKiBwc3dwLS1oYXNfbW91c2UgY2xhc3MgaXMgYWRkZWQgb25seSB3aGVuIHR3byBzdWJzZXF1ZW50IG1vdXNlbW92ZSBldmVudHMgb2NjdXIgKi9cbiAgICAucHN3cC0taGFzX21vdXNlIC5wc3dwX19idXR0b24tLWFycm93LS1sZWZ0LFxuICAgIC5wc3dwLS1oYXNfbW91c2UgLnBzd3BfX2J1dHRvbi0tYXJyb3ctLXJpZ2h0IHtcbiAgICAgIHZpc2liaWxpdHk6IHZpc2libGU7XG4gICAgfVxuICBcbiAgICAucHN3cF9fdG9wLWJhcixcbiAgICAucHN3cF9fY2FwdGlvbiB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuNSk7XG4gICAgfVxuICBcbiAgICAvKiBwc3dwX191aS0tZml0IGNsYXNzIGlzIGFkZGVkIHdoZW4gbWFpbiBpbWFnZSBcImZpdHNcIiBiZXR3ZWVuIHRvcCBiYXIgYW5kIGJvdHRvbSBiYXIgKGNhcHRpb24pICovXG4gICAgLnBzd3BfX3VpLS1maXQgLnBzd3BfX3RvcC1iYXIsXG4gICAgLnBzd3BfX3VpLS1maXQgLnBzd3BfX2NhcHRpb24ge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjgpO1xuICAgIH1cbiAgXG4gICAgLyogcHN3cF9fdWktLWlkbGUgY2xhc3MgaXMgYWRkZWQgd2hlbiBtb3VzZSBpc24ndCBtb3ZpbmcgZm9yIHNldmVyYWwgc2Vjb25kcyAoSlMgb3B0aW9uIHRpbWVUb0lkbGUpICovXG4gICAgLnBzd3BfX3VpLS1pZGxlIC5wc3dwX190b3AtYmFyIHtcbiAgICAgIG9wYWNpdHk6IDA7XG4gICAgfVxuICBcbiAgICAucHN3cF9fdWktLWlkbGUgLnBzd3BfX2J1dHRvbi0tYXJyb3ctLWxlZnQsXG4gICAgLnBzd3BfX3VpLS1pZGxlIC5wc3dwX19idXR0b24tLWFycm93LS1yaWdodCB7XG4gICAgICBvcGFjaXR5OiAwO1xuICAgIH1cbiAgXG4gICAgLypcbiAgICAgIHBzd3BfX3VpLS1oaWRkZW4gY2xhc3MgaXMgYWRkZWQgd2hlbiBjb250cm9scyBhcmUgaGlkZGVuXG4gICAgICBlLmcuIHdoZW4gdXNlciB0YXBzIHRvIHRvZ2dsZSB2aXNpYmlsaXR5IG9mIGNvbnRyb2xzXG4gICAgKi9cbiAgICAucHN3cF9fdWktLWhpZGRlbiAucHN3cF9fdG9wLWJhcixcbiAgICAucHN3cF9fdWktLWhpZGRlbiAucHN3cF9fY2FwdGlvbixcbiAgICAucHN3cF9fdWktLWhpZGRlbiAucHN3cF9fYnV0dG9uLS1hcnJvdy0tbGVmdCxcbiAgICAucHN3cF9fdWktLWhpZGRlbiAucHN3cF9fYnV0dG9uLS1hcnJvdy0tcmlnaHQge1xuICAgICAgLyogRm9yY2UgcGFpbnQgJiBjcmVhdGUgY29tcG9zaXRpb24gbGF5ZXIgZm9yIGNvbnRyb2xzLiAqL1xuICAgICAgb3BhY2l0eTogMC4wMDE7XG4gICAgfVxuICBcbiAgICAvKiBwc3dwX191aS0tb25lLXNsaWRlIGNsYXNzIGlzIGFkZGVkIHdoZW4gdGhlcmUgaXMganVzdCBvbmUgaXRlbSBpbiBnYWxsZXJ5ICovXG4gICAgLnBzd3BfX3VpLS1vbmUtc2xpZGUgLnBzd3BfX2J1dHRvbi0tYXJyb3ctLWxlZnQsXG4gICAgLnBzd3BfX3VpLS1vbmUtc2xpZGUgLnBzd3BfX2J1dHRvbi0tYXJyb3ctLXJpZ2h0LFxuICAgIC5wc3dwX191aS0tb25lLXNsaWRlIC5wc3dwX19jb3VudGVyIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxuICBcbiAgICAucHN3cF9fZWxlbWVudC0tZGlzYWJsZWQge1xuICAgICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xuICAgIH1cbiAgXG4gICAgLnBzd3AtLW1pbmltYWwtLWRhcmsgLnBzd3BfX3RvcC1iYXIge1xuICAgICAgYmFja2dyb3VuZDogbm9uZTtcbiAgICB9XG4gIFxuICAgIC5wc3dwX196b29tLXdyYXAsXG4gICAgLnBzd3BfX2NvbnRhaW5lcixcbiAgICAucHN3cF9faXRlbSB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jLXdoaXRlKTtcbiAgICB9XG4gIFxuICAgIC5wc3dwX19idXR0b24ge1xuICAgICAgY29sb3I6IHZhcigtLWMtcHJpbWFyeSk7XG4gIFxuICAgICAgJjpob3ZlciB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICNlZmVmZWY7XG4gICAgICB9XG4gICAgfVxuICBcbiAgICAucHN3cF9fY291bnRlciB7XG4gICAgICBjb2xvcjogdmFyKC0tYy1wcmltYXJ5KTtcbiAgICB9XG4gIFxuICAgIC5wc3dwLS16b29tZWQtaW4ge1xuICAgICAgLnBzd3BfX2NhcHRpb24ge1xuICAgICAgICBvcGFjaXR5OiAwO1xuICAgICAgfVxuICAgIH1cbiAgfVxuICAiLCIvKipcbiAqIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAqIFVuLnRpdGxlZFxuICogT3JnYW5pc21zIC0gSGVhZGVyXG4gKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gKi9cblxuLm8taGVhZGVyIHtcbiAgcG9zaXRpb246IHN0aWNreTtcbiAgdG9wOiAwO1xuICB6LWluZGV4OiA1O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jLWJsYWNrKTtcbiAgY29sb3I6IHZhcigtLWMtc2Vjb25kYXJ5KTtcbiAgcGFkZGluZy10b3A6IDEwcHg7XG5cbiAgQGluY2x1ZGUgbWVkaWEoJzxtZCcpIHtcbiAgICBwYWRkaW5nOiBjYWxjKHZhcigtLWJ1bXApIC8gMS41KSAwIGNhbGModmFyKC0tYnVtcCkgLyAyKTtcbiAgfVxuXG4gIEBpbmNsdWRlIG1lZGlhKCc8c20nKSB7XG4gICAgcGFkZGluZzogMDtcbiAgfVxuXG4gICZfX2lubmVyIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcblxuICAgIEBpbmNsdWRlIG1lZGlhKCc8c20nKSB7XG4gICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIH1cbiAgfVxuXG4gICZfX2xvZ28ge1xuICAgIG1hcmdpbi1yaWdodDogYXV0bztcbiAgICBmbGV4LXNocmluazogMTtcbiAgICBwYWRkaW5nLXJpZ2h0OiBjYWxjKHZhcigtLWJ1bXApICsgNXB4KTtcbiAgICBtYXJnaW4tYm90dG9tOiAwO1xuXG4gICAgQGluY2x1ZGUgbWVkaWEoXCI8bWRcIikge1xuICAgICAgcGFkZGluZy1yaWdodDogY2FsYyh2YXIoLS1idW1wKSAvIDMpO1xuICAgIH1cblxuICAgIEBpbmNsdWRlIG1lZGlhKCc8c20nKSB7XG4gICAgICBwYWRkaW5nLXJpZ2h0OiBjYWxjKHZhcigtLWJ1bXApIC8gMik7XG4gICAgfVxuXG4gICAgYSB7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICB9XG5cbiAgICBzdmcge1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICBtYXgtd2lkdGg6IDE3NHB4O1xuICAgICAgd2lkdGg6IDEwMCU7XG5cbiAgICAgIEBpbmNsdWRlIG1lZGlhKCc8c20nKSB7XG4gICAgICAgIG1heC13aWR0aDogMTA1cHg7XG4gICAgICAgIGhlaWdodDogNDJweDtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBwYXRoIHtcbiAgICAgIHRyYW5zaXRpb246IHZhcigtLXRyYW5zaXRpb24pO1xuICAgIH1cblxuICAgICY6aG92ZXIge1xuICAgICAgcGF0aCB7XG4gICAgICAgIGZpbGw6IHZhcigtLWMtc2Vjb25kYXJ5KTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAmX19jb250ZW50IHtcbiAgICBmbGV4LWdyb3c6IDE7XG4gICAgJl9fdG9wIHtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuXG4gICAgICBAaW5jbHVkZSBtZWRpYSgnPHNtJykge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIH1cblxuICAgICAgW2RhdGEtbmF2PSdvcGVuJ10gJiB7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgdG9wOiA3MnB4O1xuICAgICAgICBsZWZ0OiAwO1xuICAgICAgICBoZWlnaHQ6IDEwMHZoO1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYy1wcmltYXJ5KTtcbiAgICAgIH1cblxuICAgICAgLm8tc2VhcmNoIHtcbiAgICAgICAgZmxleC1ncm93OiAxO1xuXG4gICAgICAgICZfX2lubmVyIHtcbiAgICAgICAgICBAaW5jbHVkZSBtZWRpYSgnPHNtJykge1xuICAgICAgICAgICAgcGFkZGluZzogMDtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAmX19wcmltYXJ5LWN0YSxcbiAgJl9fZmluZC11cyB7XG4gICAgQGluY2x1ZGUgbWVkaWEoJzxzbScpIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxuXG4gICAgJl9fbW9iaWxlIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICBtYXJnaW4tdG9wOiBhdXRvO1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICBwYWRkaW5nOiAwIGNhbGModmFyKC0tYnVtcCkgLyAyKSBjYWxjKHZhcigtLWJ1bXApIC8gMik7XG4gICAgICAmLm8taGVhZGVyX19maW5kLXVzX19tb2JpbGUge1xuICAgICAgICBtYXJnaW46IDA7XG4gICAgICB9XG4gICAgICAmLm8taGVhZGVyX19wcmltYXJ5LWN0YV9fbW9iaWxlIHtcbiAgICAgICAgbWFyZ2luOiBhdXRvIDAgY2FsYyh2YXIoLS1idW1wKSAvIDIpO1xuICAgICAgfVxuICAgICAgYS5hLWJ0biB7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgfVxuICAgICAgQGluY2x1ZGUgbWVkaWEoJzxzbScpIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgJl9fZmluZC11cyB7XG4gICAgaDQge1xuICAgICAgQGluY2x1ZGUgZm9udC10aXRsZTtcbiAgICAgIGxpbmUtaGVpZ2h0OiAxLjI7XG4gICAgICBmb250LXNpemU6IGNsYW1wKDE4cHgsIDd2dywgdmFyKC0tZm9udFNpemVIZWFkaW5nRm91cikpO1xuICAgIH1cblxuICAgIGEge1xuICAgICAgQGluY2x1ZGUgYnRuLW5vLWJnO1xuICAgICAgcGFkZGluZzogMCAwIDAgY2FsYyh2YXIoLS1idW1wKSAqIDEuNSk7XG4gICAgICBjb2xvcjogdmFyKC0tYy1zZWNvbmRhcnkpO1xuXG4gICAgICBAaW5jbHVkZSBtZWRpYSgnPDExMDBweCcpIHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgICAgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7XG4gICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgcGFkZGluZzogMDtcbiAgICAgIH1cblxuICAgICAgQGluY2x1ZGUgbWVkaWEoJzxtZCcpIHtcbiAgICAgICAgZGlzcGxheTogaW5saW5lO1xuICAgICAgICBwYWRkaW5nOiAwIDAgMCBjYWxjKHZhcigtLWJ1bXApICogMS41KTtcbiAgICAgIH1cblxuICAgICAgJjpmaXJzdC1vZi10eXBlIHtcbiAgICAgICAgcGFkZGluZzogMDtcbiAgICAgIH1cblxuICAgICAgJjpob3ZlciB7XG4gICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBoNCxcbiAgICBhLFxuICAgIHAge1xuICAgICAgbWFyZ2luOiAwIDAgY2FsYyh2YXIoLS1idW1wKSAvIDIpO1xuICAgIH1cbiAgfVxuXG4gICZfX3ByaW1hcnktY3RhIHtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgbWF4LXdpZHRoOiAxNzJweDtcbiAgICB0cmFuc2l0aW9uOiBub25lO1xuXG4gICAgQGluY2x1ZGUgbWVkaWEoXCI8c21cIikge1xuICAgICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgIH1cblxuICAgIFtkYXRhLXNlYXJjaD0nb3BlbiddICYge1xuICAgICAgd2lkdGg6IDA7XG4gICAgICBoZWlnaHQ6IDA7XG4gICAgfVxuXG4gICAgYSB7XG4gICAgICBAaW5jbHVkZSBidG47XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIHBhZGRpbmc6IGNhbGModmFyKC0tYnVtcCkgLyA0KSBjYWxjKHZhcigtLWJ1bXApIC8gMik7XG4gICAgICBvcGFjaXR5OiAxO1xuICAgICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgICAgIHRyYW5zaXRpb246IG5vbmU7XG4gICAgICBcblxuICAgICAgW2RhdGEtc2VhcmNoPSdvcGVuJ10gJiB7XG4gICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICAgIHZpc2liaWxpdHk6IGhpZGRlbjtcbiAgICAgICAgb3BhY2l0eTogMDtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAmX19tb2JpbGUtbWVudSB7XG4gICAgZGlzcGxheTogbm9uZTtcblxuICAgIEBpbmNsdWRlIG1lZGlhKCc8c20nKSB7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDtcbiAgICAgIHdpZHRoOiAxMDAlO1xuXG4gICAgICAubS1ibG9ja19fbW9iaWxlLW1lbnUge1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBvcGFjaXR5OiAxO1xuICAgICAgICB2aXNpYmlsaXR5OiB2aXNpYmxlO1xuICAgICAgICB0cmFuc2l0aW9uOiBhbGwgMXMgdmFyKC0tdHJhbnNpdGlvbik7XG5cbiAgICAgICAgW2RhdGEtbmF2PSdvcGVuJ10gJiB7XG4gICAgICAgICAgb3BhY2l0eTogMDtcbiAgICAgICAgICB2aXNpYmlsaXR5OiBoaWRkZW47XG4gICAgICAgIH1cbiAgICAgICAgYSB7XG4gICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICBtYXJnaW46IDAgdmFyKC0tYnVtcCkgMCAwO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgJl9fc2VhcmNoLXdyYXBwZXIge1xuICAgIGZvbnQtc2l6ZTogdmFyKC0tZm9udGxhcmdlKTtcbiAgICBsaW5lLWhlaWdodDogdmFyKC0tc21hbGxMaW5lSGVpZ2h0KTtcbiAgICBmb250LWZhbWlseTogdmFyKC0tZm9udE1lZGl1bSk7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgIFxuICAgIFtkYXRhLW5hdj0nb3BlbiddICYge1xuICAgICAgdmlzaWJpbGl0eTogaGlkZGVuO1xuICAgICAgb3BhY2l0eTogMDtcbiAgICB9XG5cbiAgICBAaW5jbHVkZSBtZWRpYSgnPHNtJykge1xuICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG4gIH1cblxuICAmX19zZWFyY2gtbW9kYWwge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMTQxNDE0O1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICBwYWRkaW5nOiBjYWxjKHZhcigtLWJ1bXApICogMikgMCAwO1xuICAgIHotaW5kZXg6IDI7XG4gICAgdHJhbnNpdGlvbjogMC40cyB2YXIoLS10cmFuc2l0aW9uKTtcbiAgICB2aXNpYmlsaXR5OiBoaWRkZW47XG4gICAgb3BhY2l0eTogMDtcblxuICAgIEBpbmNsdWRlIG1lZGlhKCc8c20nKSB7XG4gICAgICBwYWRkaW5nOiAwO1xuICAgIH1cblxuICAgICZfX292ZXJsYXkge1xuICAgICAgei1pbmRleDogLTEwMDtcbiAgICAgIG9wYWNpdHk6IDA7XG4gICAgICB0cmFuc2l0aW9uOiB2YXIoLS10cmFuc2l0aW9uKTtcbiAgICAgIHZpc2liaWxpdHk6IGhpZGRlbjtcbiAgICB9XG4gICAgXG4gICAgW2RhdGEtc2VhcmNoPSdvcGVuJ10gJiB7XG4gICAgICB2aXNpYmlsaXR5OiB2aXNpYmxlO1xuICAgICAgb3BhY2l0eTogMTtcblxuICAgICAgJl9fb3ZlcmxheSB7XG4gICAgICAgIHBvc2l0aW9uOiBmaXhlZDtcbiAgICAgICAgdG9wOiAwO1xuICAgICAgICByaWdodDogMDtcbiAgICAgICAgYm90dG9tOiAwO1xuICAgICAgICBsZWZ0OiAwO1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jLWJsYWNrKTtcbiAgICAgICAgei1pbmRleDogMTtcbiAgICAgICAgb3BhY2l0eTogMC43O1xuICAgICAgICB2aXNpYmlsaXR5OiB2aXNpYmxlO1xuICAgICAgfVxuICAgIH1cblxuICAgICYgPiAuZ3JpZCB7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICB9XG5cbiAgICAmX19leHBvc2VkZm9ybXNlYXJjaHBhZ2Uge1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDtcbiAgICAgIG1hcmdpbjogMCAwIGNhbGModmFyKC0tYnVtcCkgKiAxLjUpO1xuXG4gICAgICBmb3JtIHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICB3aWR0aDogMTAwJTtcblxuICAgICAgICAuanMtZm9ybS1pdGVtIHtcbiAgICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICM5Nzk3OTc7XG5cbiAgICAgICAgICBpbnB1dCB7XG4gICAgICAgICAgICBib3JkZXI6IG5vbmU7XG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgaGVpZ2h0OiAzNXB4O1xuICAgICAgICAgICAgcGFkZGluZzogMDtcbiAgICAgICAgICAgIG1hcmdpbjogMCAwIGNhbGModmFyKC0tYnVtcCkgLyAxMikgMDtcbiAgICAgICAgICAgIGNvbG9yOiB2YXIoLS1jLXdoaXRlKTtcblxuICAgICAgICAgICAgZm9udC1mYW1pbHk6IHZhcigtLWZvbnRCb2xkKTtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogY2xhbXAoMThweCwgMnZ3LCAyNnB4KTtcbiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiA1MDA7XG4gICAgICAgICAgICBsZXR0ZXItc3BhY2luZzogMDtcbiAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAyN3B4O1xuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzE0MTQxNDtcblxuICAgICAgICAgICAgJjo6cGxhY2Vob2xkZXIge1xuICAgICAgICAgICAgICBmb250LWZhbWlseTogdmFyKC0tZm9udEJvbGQpO1xuICAgICAgICAgICAgICBjb2xvcjogdmFyKC0tYy13aGl0ZSk7XG4gICAgICAgICAgICAgIGZvbnQtc2l6ZTogY2xhbXAoMThweCwgMnZ3LCAyNnB4KTtcbiAgICAgICAgICAgICAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgICAgICAgICAgICAgbGV0dGVyLXNwYWNpbmc6IDA7XG4gICAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAyN3B4O1xuICAgICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgICAgICBhbGlnbi1zZWxmOiBjZW50ZXI7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICAmOmZvY3VzIHtcbiAgICAgICAgICAgICAgJjo6cGxhY2Vob2xkZXIge1xuICAgICAgICAgICAgICAgIGNvbG9yOiB2YXIoLS1jLXdoaXRlKTtcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC5qcy1mb3JtLXdyYXBwZXIge1xuICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICByaWdodDogMDtcbiAgICAgICAgICBib3R0b206IDFweDtcbiAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMTQxNDE0O1xuICAgICAgICAgIFxuXG4gICAgICAgICAgLmEtYnRuIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIHJtLXRleHQ7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICAgICAgICBib3JkZXI6IG5vbmU7XG4gICAgICAgICAgICB3aWR0aDogNDRweDtcbiAgICAgICAgICAgIGhlaWdodDogNDRweDtcbiAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG5cbiAgICAgICAgICAgICY6YWZ0ZXIge1xuICAgICAgICAgICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoJy4uL2ltZy9zZWFyY2gtd2hpdGUuc3ZnJyk7XG4gICAgICAgICAgICAgIGJhY2tncm91bmQtc2l6ZTogY292ZXI7XG4gICAgICAgICAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlcjtcbiAgICAgICAgICAgICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgICAgICAgICAgICAgaGVpZ2h0OiBjbGFtcCgxNnB4LCAydncsIDI0cHgpO1xuICAgICAgICAgICAgICB3aWR0aDogY2xhbXAoMTZweCwgMnZ3LCAyNHB4KTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gICAgXG4gICAgJl9fc2VhcmNoc3VnZ2VzdGlvbnMge1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDtcbiAgICAgIGZsZXgtZmxvdzogcm93IHdyYXA7XG4gICAgICBhbGlnbi1pdGVtczogZmxleC1zdGFydDtcbiAgICAgIGdhcDogY2FsYyh2YXIoLS1idW1wKSAqIDEuMzMzMyk7XG4gICAgICBtYXJnaW46IGNhbGModmFyKC0tYnVtcCkgKiAyKSAwIGNhbGModmFyKC0tYnVtcCkgKiAzKTtcblxuICAgICAgQGluY2x1ZGUgbWVkaWEoJzxzbScpIHtcbiAgICAgICAgZmxleC1mbG93OiBjb2x1bW4gd3JhcDtcbiAgICAgICAgZ2FwOiB2YXIoLS1zbWFsbEJ1bXApO1xuICAgICAgfVxuXG4gICAgICAmID4gYSB7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgY29sb3I6IHZhcigtLWMtYmxhY2spO1xuICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgICAgIC8vIEBpbmNsdWRlIGJ0bi11bmRlcmxpbmU7XG4gICAgXG4gICAgICAgIC8vICY6aG92ZXIsXG4gICAgICAgIC8vICY6Zm9jdXMge1xuICAgICAgICAvLyAgIEBpbmNsdWRlIGJ0bi11bmRlcmxpbmUtaG92ZXI7XG4gICAgICAgIC8vIH1cbiAgICAgIH1cblxuICAgICAgJl9fdGl0bGUge1xuICAgICAgICBcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiIsIi8qKlxuICogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICogVW4udGl0bGVkXG4gKiBPcmdhbmlzbXMgLSBGb290ZXJcbiAqIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAqL1xuXG4uby1mb290ZXIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jLWJsYWNrKTtcbiAgY29sb3I6IHZhcigtLWMtc2Vjb25kYXJ5KTtcbiAgcGFkZGluZzogY2FsYyh2YXIoLS1idW1wKSAvIDIpIDAgdmFyKC0tYnVtcCk7XG5cbiAgJl9fcm93IHtcbiAgICAmX19ib3R0b20ge1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgICAgIHNtYWxsIHtcbiAgICAgICAgbWFyZ2luOiBhdXRvIDAgYXV0byBjYWxjKHZhcigtLWJ1bXApIC8gMik7XG4gICAgICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gICAgICAgIHNwYW4ge1xuICAgICAgICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgICBAaW5jbHVkZSBtZWRpYSgnPG1kJykge1xuICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAgICBzbWFsbCB7XG4gICAgICAgICAgbWFyZ2luOiBjYWxjKHZhcigtLWJ1bXApIC8gMikgMCAwIDA7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgICYuY29sLXNtLTEyIHtcbiAgICAgICAgLmdyaWQgJiB7XG4gICAgICAgICAgLm8tZm9vdGVyX19yb3cgJiB7XG4gICAgICAgICAgICBwYWRkaW5nOiAwIGNhbGModmFyKC0tYnVtcCkgLyAyKTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gICAgJl9fbmV3c2xldHRlciB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jLXRlcnRpYXJ5KTtcbiAgICAgIHBhZGRpbmc6IHZhcigtLWJ1bXApIDAgdmFyKC0tYnVtcCk7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG5cbiAgICAgICZfX2lubmVyIHsgICBcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIG1heC13aWR0aDogMzU2cHg7XG5cbiAgICAgICAgaDIuaDIsICAgICBcbiAgICAgICAgaDIuaDMsICAgICBcbiAgICAgICAgaDIuaDQsICAgICBcbiAgICAgICAgaDIuaDUgeyAgICBcbiAgICAgICAgICBjb2xvcjogdmFyKC0tYy1ibGFjayk7XG4gICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICAgIHRleHQtYWxpZ24tbGFzdDogY2VudGVyO1xuICAgICAgICAgIGZvbnQtc2l6ZTogMjZweDtcbiAgICAgICAgICBsaW5lLWhlaWdodDogNDFweDtcbiAgICAgICAgICBmb250LWZhbWlseTogdmFyKC0tZm9udFRpdGxlKTtcbiAgICAgICAgICBtYXJnaW46IDAgMCBjYWxjKHZhcigtLWJ1bXApIC8gNik7XG5cbiAgICAgICAgICBAaW5jbHVkZSBtZWRpYShcIjxzbVwiKSB7XG4gICAgICAgICAgICBmb250LXNpemU6IDIwcHg7XG4gICAgICAgICAgICBsaW5lLWhlaWdodDogMjhweDtcbiAgICAgICAgICB9XG4gICAgICB9ICAgICAgICAgIFxuXG4gICAgICBwIHsgICAgICAgIFxuICAgICAgICAgIGNvbG9yOiB2YXIoLS1jLWJsYWNrKTtcbiAgICAgICAgICBmb250LXNpemU6IDE2cHg7XG4gICAgICAgICAgbGluZS1oZWlnaHQ6IDIwcHg7XG4gICAgICAgICAgZm9udC1mYW1pbHk6IHZhcigtLWZvbnRCb2R5KTtcbiAgICAgICAgICBtYXJnaW46IDAgMCAyMHB4O1xuICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgICB0ZXh0LWFsaWduLWxhc3Q6IGNlbnRlcjtcbiAgICAgICAgfVxuXG4gICAgICBhIHsgICAgICAgIFxuICAgICAgICBAaW5jbHVkZSBidG47XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWMtYmxhY2spO1xuICAgICAgICBjb2xvcjogdmFyKC0tYy1zZWNvbmRhcnkpO1xuXG4gICAgICAgICAgJjpob3ZlciwgXG4gICAgICAgICAgJjpmb2N1cyB7XG4gICAgICAgICAgICBAaW5jbHVkZSBidG4taG92ZXI7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jLXNlY29uZGFyeSk7XG4gICAgICAgICAgICBjb2xvcjogdmFyKC0tYy1ibGFjayk7XG4gICAgICAgICAgfSAgICAgICAgXG5cbiAgICAgICAgICBAaW5jbHVkZSBtZWRpYShcIjxzbVwiKSB7XG4gICAgICAgICAgICB3aWR0aDogOTUlO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgICZfX29wZW5pbmctdGltZXMsXG4gICAgJl9fZmluZC11cyxcbiAgICAmX19hYm91dC11cyB7XG4gICAgICBwYWRkaW5nOiBjYWxjKHZhcigtLWJ1bXApIC8gMik7XG4gICAgICBoNCB7XG4gICAgICAgIEBpbmNsdWRlIGZvbnQtdGl0bGU7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxLjI7XG4gICAgICAgIGZvbnQtc2l6ZTogY2xhbXAoMThweCwgN3Z3LCB2YXIoLS1mb250U2l6ZUhlYWRpbmdGb3VyKSk7XG4gICAgICB9XG5cbiAgICAgIGEge1xuICAgICAgICBAaW5jbHVkZSBidG4tbm8tYmc7XG4gICAgICAgIGNvbG9yOiB2YXIoLS1jLXNlY29uZGFyeSk7XG5cbiAgICAgICAgQGluY2x1ZGUgbWVkaWEoJzwxMTAwcHgnKSB7XG4gICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAgICAgIGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0O1xuICAgICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgICBwYWRkaW5nOiAwO1xuICAgICAgICB9XG5cbiAgICAgICAgQGluY2x1ZGUgbWVkaWEoJzxtZCcpIHtcbiAgICAgICAgICBkaXNwbGF5OiBpbmxpbmU7XG4gICAgICAgICAgcGFkZGluZzogMCAwIDAgY2FsYyh2YXIoLS1idW1wKSAqIDEuNSk7XG4gICAgICAgIH1cblxuICAgICAgICAmOmZpcnN0LW9mLXR5cGUge1xuICAgICAgICAgIHBhZGRpbmctbGVmdDogMDtcbiAgICAgICAgICBwYWRkaW5nLWJvdHRvbTogMDtcbiAgICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgIH1cblxuICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgaDQsXG4gICAgICBhLFxuICAgICAgcCB7XG4gICAgICAgIG1hcmdpbjogMCAwIGNhbGModmFyKC0tYnVtcCkgLyAyKTtcbiAgICAgIH1cblxuICAgICAgcCB7XG4gICAgICAgIGNvbG9yOiB2YXIoLS1jLXNlY29uZGFyeSk7XG4gICAgICAgIEBpbmNsdWRlIG1lZGlhKCc8c20nKSB7XG4gICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gICAgICAgICAgYSB7XG4gICAgICAgICAgICBwYWRkaW5nOiAwO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgICZfX2ZpbmQtdXMge1xuICAgICAgcCB7XG4gICAgICAgIEBpbmNsdWRlIG1lZGlhKCc8c20nKSB7XG4gICAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgICAgICBhbGlnbi1pdGVtczogZmxleC1zdGFydDtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgICZfX29wZW5pbmctdGltZXMge1xuICAgICAgLm0tYmxvY2tfX29wZW5pbmctdGltZXMge1xuICAgICAgICAmID4gaDQge1xuICAgICAgICAgIEBpbmNsdWRlIGZvbnQtdGl0bGU7XG4gICAgICAgICAgbGluZS1oZWlnaHQ6IDEuMjtcbiAgICAgICAgICBmb250LXNpemU6IGNsYW1wKDE4cHgsIDd2dywgdmFyKC0tZm9udFNpemVIZWFkaW5nRm91cikpO1xuICAgICAgICB9XG5cbiAgICAgICAgJiA+IHVsIHtcbiAgICAgICAgICAmID4gbGkge1xuICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgbGlzdC1zdHlsZS10eXBlOiBub25lO1xuICAgICAgICAgICAgbWFyZ2luOiAwIDAgY2FsYyh2YXIoLS1idW1wKSAvIDIpO1xuICAgICAgICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICNmZmZmZmY7XG4gICAgICAgICAgICAmID4gdWwge1xuICAgICAgICAgICAgICBtYXJnaW46IDAgMCAwO1xuICAgICAgICAgICAgICBsaXN0LXN0eWxlLXR5cGU6IG5vbmU7XG4gICAgICAgICAgICAgIEBpbmNsdWRlIG1lZGlhKCc8bGcnKSB7XG4gICAgICAgICAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICAgICAgICAgIHRleHQtYWxpZ246IHJpZ2h0O1xuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgJi5vLWZvb3Rlcl9fcm93X190b3Age1xuICAgICAgJiA+IC5ncmlkIHtcbiAgICAgICAgJiA+IC5jb2wtc20tMTIge1xuICAgICAgICAgIHBhZGRpbmc6IGNhbGModmFyKC0tYnVtcCkgLyAyKSBjYWxjKHZhcigtLWJ1bXApICogMS41KTtcbiAgICAgICAgICBAaW5jbHVkZSBtZWRpYSgnPG1kJykge1xuICAgICAgICAgICAgcGFkZGluZzogY2FsYyh2YXIoLS1idW1wKSAvIDIpO1xuICAgICAgICAgIH1cbiAgICAgICAgICAmOmZpcnN0LW9mLXR5cGUge1xuICAgICAgICAgICAgcGFkZGluZzogY2FsYyh2YXIoLS1idW1wKSAvIDIpIGNhbGModmFyKC0tYnVtcCkgKiAxLjUpXG4gICAgICAgICAgICAgIGNhbGModmFyKC0tYnVtcCkgLyAyKSBjYWxjKHZhcigtLWJ1bXApIC8gMik7XG4gICAgICAgICAgICBAaW5jbHVkZSBtZWRpYSgnPG1kJykge1xuICAgICAgICAgICAgICBwYWRkaW5nOiBjYWxjKHZhcigtLWJ1bXApIC8gMik7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICAgICY6bnRoLWxhc3Qtb2YtdHlwZSgyKSB7XG4gICAgICAgICAgICBwYWRkaW5nOiBjYWxjKHZhcigtLWJ1bXApIC8gMikgY2FsYyh2YXIoLS1idW1wKSAvIDIpXG4gICAgICAgICAgICAgIGNhbGModmFyKC0tYnVtcCkgLyAyKSBjYWxjKHZhcigtLWJ1bXApICogMS41KTtcbiAgICAgICAgICAgIEBpbmNsdWRlIG1lZGlhKCc8bWQnKSB7XG4gICAgICAgICAgICAgIHBhZGRpbmc6IGNhbGModmFyKC0tYnVtcCkgLyAyKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICAuZ3JpZCB7XG4gICAgICAuY29sLXNtLTEyLm8tZm9vdGVyX19yb3dfX2JvdHRvbSB7XG4gICAgICAgIHBhZGRpbmc6IHZhcigtLWJ1bXApIGNhbGModmFyKC0tYnVtcCkgLyAyKTtcblxuICAgICAgICBwIHtcbiAgICAgICAgICBjb2xvcjogdmFyKC0tYy1zZWNvbmRhcnkpO1xuICAgICAgICAgIGZvbnQtc2l6ZTogMTRweDtcbiAgICAgICAgICBsZXR0ZXItc3BhY2luZzogMDtcbiAgICAgICAgICBsaW5lLWhlaWdodDogMjBweDtcbiAgICAgICAgfVxuXG4gICAgICAgIEBpbmNsdWRlIG1lZGlhKCc8bWQnKSB7XG4gICAgICAgICAgcGFkZGluZzogY2FsYyh2YXIoLS1idW1wKSAvIDIpIGNhbGModmFyKC0tYnVtcCkgLyAyKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgICZfX2JvcmRlci1ib3R0b20ge1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICBoZWlnaHQ6IDFweDtcbiAgICAgIG9wYWNpdHk6IDAuMztcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWMtc2Vjb25kYXJ5KTtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgbWFyZ2luOiAwIGNhbGModmFyKC0tYnVtcCkgLyAyKTtcbiAgICAgIEBpbmNsdWRlIG1lZGlhKCc8bWQnKSB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICB9XG4gICAgfVxuXG4gICAgJjpsYXN0LW9mLXR5cGUsXG4gICAgJjpudGgtbGFzdC1jaGlsZCgyKSB7XG4gICAgICAuZ3JpZCB7XG4gICAgICAgIGJvcmRlci1ib3R0b206IG5vbmU7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgJl9fbmV3c2xldHRlci1jdGEge1xuICAgIGRpc3BsYXk6IGZsZXg7XG5cbiAgICAubS1ibG9ja19fZm9vdGVyLW5ld3NsZXR0ZXItY3RhIHtcbiAgICAgIG1hcmdpbjogYXV0bztcblxuICAgICAgQGluY2x1ZGUgbWVkaWEoJzxtZCcpIHtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICB9XG4gICAgfVxuXG4gICAgYSB7XG4gICAgICBAaW5jbHVkZSBidG47XG4gICAgICBwYWRkaW5nOiBjYWxjKHZhcigtLWJ1bXApIC8gNCkgY2FsYyh2YXIoLS1idW1wKSAvIDIpO1xuICAgICAgdHJhbnNpdGlvbjogMC41cyB2YXIoLS1lYXNpbmcpO1xuICAgICAgJjpob3ZlciB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWMtc2Vjb25kYXJ5KTtcbiAgICAgIH1cbiAgICAgIEBpbmNsdWRlIG1lZGlhKCc8c20nKSB7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gICZfX2FydHNjb3VuY2lsIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7XG4gICAgQGluY2x1ZGUgbWVkaWEoJzxtZCcpIHtcbiAgICAgIC5hcnRzY291bmNpbCB7XG4gICAgICAgIG1hcmdpbjogYXV0byBhdXRvIGF1dG8gMDtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAmX19mb290ZXItbWVudSB7XG4gICAgJiA+IC5tZW51IHtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG5cbiAgICAgIEBpbmNsdWRlIG1lZGlhKCc8bWQnKSB7XG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICB9XG4gICAgICAmID4gbGkge1xuICAgICAgICAmID4gYSB7XG4gICAgICAgICAgQGluY2x1ZGUgYnRuLW5vLWJnO1xuICAgICAgICAgIGNvbG9yOiB2YXIoLS1jLXNlY29uZGFyeSk7XG4gICAgICAgICAgcGFkZGluZzogMCAyMHB4IDAgMDtcblxuICAgICAgICAgIEBpbmNsdWRlIG1lZGlhKCc8bWQnKSB7XG4gICAgICAgICAgICBwYWRkaW5nOiAyMHB4IDAgMCAwO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gICZfX3NvY2lhbC1saW5rcyB7XG4gICAgLm0tYmxvY2tfX2Zvb3Rlci0tLXNvY2lhbC1saW5rcyB7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgYWxpZ24tY29udGVudDogZmxleC1zdGFydDtcbiAgICB9XG4gIH1cblxuICAmX19zb2NpYWwtbGlua3MsXG4gICZfX25ld3NsZXR0ZXItY3RhLFxuICAmX19hcnRzY291bmNpbCB7XG4gICAgQGluY2x1ZGUgbWVkaWEoJzxtZCcpIHtcbiAgICAgIHBhZGRpbmc6IGNhbGModmFyKC0tYnVtcCkgLyAzKSBjYWxjKHZhcigtLWJ1bXApIC8gMik7XG4gICAgfVxuICB9XG59XG4iLCIvKipcbiAqIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAqIFVuLnRpdGxlZFxuICogT3JnYW5pc21zIC0gVmlld3NcbiAqIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAqL1xuXG4udmlldyB7XG4gICZfX3doYXRfc19vbixcbiAgJl9fcGhvdG9ncmFwaHlfY3VsdHVyZSxcbiAgJl9fcGFzdF9wcm9ncmFtbWUsXG4gICZfX2xlYXJuX2xpc3Rpbmcge1xuICAgICZfX2Zvcm0sXG4gICAgJl9fX2Zvcm0ge1xuICAgICAgbWFyZ2luOiB2YXIoLS1idW1wKSAwO1xuICAgIH1cblxuICAgICZfX2J1dHRvbiB7XG4gICAgICBkaXNwbGF5OiBub25lO1xuXG4gICAgICAvLyBAaW5jbHVkZSBtZWRpYSgnPHNtJykge1xuICAgICAgLy8gICBkaXNwbGF5OiBibG9jaztcbiAgICAgIC8vIH0gcmVpbnN0YXRlIHdoZW4gYW5pbWF0aW9uIGlzIGRvbmVcbiAgICB9XG5cbiAgICAmX19idXR0b24ge1xuICAgIH1cblxuICAgICZfX2ZpbHRlcnMge1xuICAgICAgcGFkZGluZzogdmFyKC0tc21hbGxCdW1wKSAwO1xuICAgICAgYm9yZGVyLXRvcDogMXB4IHNvbGlkIHZhcigtLWMtc2Vjb25kYXJ5KTtcbiAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCB2YXIoLS1jLXNlY29uZGFyeSk7XG4gICAgICBtYXJnaW46IGNhbGModmFyKC0tYnVtcCkgLyAzKSAwO1xuXG4gICAgICAudmlld3MtZXhwb3NlZC1mb3JtIHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcblxuICAgICAgICBAaW5jbHVkZSBtZWRpYShcIjxzbVwiKSB7XG4gICAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgICAgICBnYXA6IHZhcigtLWJ1bXApO1xuICAgICAgICAgIGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0O1xuICAgICAgICB9XG5cbiAgICAgICAgJiA+IGZpZWxkc2V0LmpzLWZvcm0taXRlbSB7XG4gICAgICAgICAgZmxleC1ncm93OiAxO1xuICAgICAgICAgIGJvcmRlcjogbm9uZTtcbiAgICAgICAgICBtYXJnaW46IGF1dG87XG4gICAgICAgICAgcGFkZGluZzogMDtcblxuICAgICAgICAgIEBpbmNsdWRlIG1lZGlhKFwiPHNtXCIpIHtcbiAgICAgICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgICB9XG5cbiAgICAgICAgICAmID4gLmZpZWxkc2V0LXdyYXBwZXIge1xuICAgICAgICAgICAgJiA+IC5mb3JtLWNoZWNrYm94ZXMge1xuXG4gICAgICAgICAgICAgICYgPiAuZm9ybS1jaGVja2JveGVzIHtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgICAgICAgIGdhcDogNDBweDtcbiAgICAgICAgICAgICAgICBmbGV4LWZsb3c6IHJvdyB3cmFwO1xuXG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgbWVkaWEoXCI8c21cIikge1xuICAgICAgICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgICAgICAgICAgICAgICBmbGV4LWZsb3c6IGNvbHVtbjtcbiAgICAgICAgICAgICAgICAgIGdhcDogMTVweDtcbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAmID4gLmpzLWZvcm0taXRlbSB7XG4gICAgICAgICAgICAgICAgICBtYXJnaW46IDA7XG5cbiAgICAgICAgICAgICAgICAgIFxuICAgICAgICAgICAgICAgICAgJiA+IFt0eXBlPWNoZWNrYm94XTpjaGVja2VkICsgbGFiZWwsXG4gICAgICAgICAgICAgICAgICAmID4gW3R5cGU9Y2hlY2tib3hdOm5vdCg6Y2hlY2tlZCkgKyBsYWJlbCB7XG4gICAgICAgICAgICAgICAgICAgIHBhZGRpbmctbGVmdDogMjVweDtcbiAgICAgICAgICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDE3cHg7XG4gICAgICAgICAgICAgICAgICAgIGxldHRlci1zcGFjaW5nOiAwO1xuICAgICAgICAgICAgICAgICAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcbiAgICAgICAgICAgICAgICAgICAgY29sb3I6IHZhcigtLWMtc2Vjb25kYXJ5KTtcblxuICAgICAgICAgICAgICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgICAgICAgICAgICAgd2lkdGg6IDIwcHg7XG4gICAgICAgICAgICAgICAgICAgICAgaGVpZ2h0OiAyMHB4O1xuICAgICAgICAgICAgICAgICAgICAgIHRvcDogLTJweDtcbiAgICAgICAgICAgICAgICAgICAgICBsZWZ0OiAtMnB4O1xuICAgICAgICAgICAgICAgICAgICAgIHRyYW5zaXRpb246IGFsbCAwLjRzIHZhcigtLXRyYW5zaXRpb24pO1xuICAgICAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAgICAgJjphZnRlciB7XG4gICAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyIGNlbnRlcjtcbiAgICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICAgICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQtc2l6ZTogMTBweDtcbiAgICAgICAgICAgICAgICAgICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgICAgICAgICAgICAgICAgIHdpZHRoOiAzNHB4O1xuICAgICAgICAgICAgICAgICAgICAgIGhlaWdodDogMzRweDtcbiAgICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoLi4vaW1nL3RpY2suc3ZnKTtcbiAgICAgICAgICAgICAgICAgICAgICBjb2xvcjogdmFyKC0tYy1wcmltYXJ5KTtcbiAgICAgICAgICAgICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICAgICAgICAgICAgdHJhbnNpdGlvbjogYWxsIDAuNHMgdmFyKC0tdHJhbnNpdGlvbik7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICAgXG5cbiAgICAgICAgICAgICAgICAgICYgPiBbdHlwZT1jaGVja2JveF06Y2hlY2tlZCArIGxhYmVsIHtcbiAgICAgICAgICAgICAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWMtdGVydGlhcnkpO1xuICAgICAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAgICAgJjphZnRlciB7XG4gICAgICAgICAgICAgICAgICAgICAgb3BhY2l0eTogMTtcbiAgICAgICAgICAgICAgICAgICAgICB0cmFuc2Zvcm06IHNjYWxlKDEpO1xuICAgICAgICAgICAgICAgICAgICAgIHdpZHRoOiAxMnB4O1xuICAgICAgICAgICAgICAgICAgICAgIGhlaWdodDogMTJweDtcbiAgICAgICAgICAgICAgICAgICAgICB0b3A6IDJweDtcbiAgICAgICAgICAgICAgICAgICAgICBsZWZ0OiAycHg7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICAgJiA+IFt0eXBlPWNoZWNrYm94XTpjaGVja2VkICsgbGFiZWw6YWZ0ZXIge1xuICAgICAgICAgICAgICAgICAgICAmOmFmdGVyIHtcbiAgICAgICAgICAgICAgICAgICAgICBvcGFjaXR5OiAwO1xuICAgICAgICAgICAgICAgICAgICAgIHRyYW5zZm9ybTogc2NhbGUoMCk7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICAgJiA+IC5vcHRpb24ge1xuXG4gICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgJiA+IC5qcy1mb3JtLXdyYXBwZXIge1xuICAgICAgICAgICYgPiAuanMtZm9ybS1zdWJtaXQge1xuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYy1zZWNvbmRhcnkpO1xuXG4gICAgICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYy10ZXJ0aWFyeSk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4iLCIvKipcbiAqIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAqIFVuLnRpdGxlZFxuICogT3JnYW5pc21zIC0gU2VhcmNoIHJlc3VsdHNcbiAqIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAqL1xuXG4jc2VhcmNoLWZvcm0ge1xuICBkaXNwbGF5OiBub25lO1xuICB2aXNpYmlsaXR5OiBoaWRkZW47XG59XG5cbi5vLXNlYXJjaC1yZXN1bHRzIHtcbiAgJl9fcm93IHtcbiAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgdmFyKC0tYy1ncmV5KTtcbiAgICBwYWRkaW5nOiBjYWxjKHZhcigtLWJ1bXApKSAwO1xuXG4gICAgJjpmaXJzdC1vZi10eXBlIHtcbiAgICAgIGJvcmRlci10b3A6IDFweCBzb2xpZCB2YXIoLS1jLWdyZXkpO1xuICAgICAgbWFyZ2luOiBjYWxjKHZhcigtLWJ1bXApICogMS41KSAwIDA7XG4gICAgfVxuXG4gICAgLnRpdGxlLTIge1xuICAgICAgZm9udC1mYW1pbHk6IHZhcigtLWZvbnRUaXRsZSk7XG4gICAgICBmb250LXNpemU6IDIwcHg7XG4gICAgICBmb250LXdlaWdodDogNjAwO1xuICAgICAgbGV0dGVyLXNwYWNpbmc6IDA7XG4gICAgICBsaW5lLWhlaWdodDogMjhweDtcbiAgICAgIG1hcmdpbjogMCB2YXIoLS1idW1wKSAwIDA7XG4gICAgfVxuICAgIC50eXBlIHtcbiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgIGNvbG9yOiB2YXIoLS1jLXNlY29uZGFyeSk7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jLXByaW1hcnkpO1xuICAgICAgcGFkZGluZzogNXB4IDEwcHg7XG4gICAgICBtYXJnaW46IDAgMCB2YXIoLS1idW1wKSAwO1xuXG4gICAgICBAaW5jbHVkZSBtZWRpYSgnPHNtJykge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgbWFyZ2luOiBjYWxjKHZhcigtLWJ1bXApIC8gMikgMDtcbiAgICAgIH1cbiAgICB9XG4gICAgLmZpZWxkLWNvbnRlbnQge1xuICAgICAgUCB7XG4gICAgICAgIGNvbG9yOiB2YXIoLS1jLXNlY29uZGFyeSk7XG4gICAgICAgIGZvbnQtZmFtaWx5OiB2YXIoLS1mb250Qm9keSk7XG4gICAgICAgIG1hcmdpbjogMCAwIGNhbGModmFyKC0tYnVtcCkgLyAyKSAwO1xuICAgICAgfVxuICAgICAgJiA+IGEge1xuICAgICAgICBmb250LXNpemU6IHZhcigtLWZvbnRTaXplSGVhZGluZ1RocmVlKTtcbiAgICAgICAgZm9udC1mYW1pbHk6IHZhcigtLWZvbnRCb2xkKTtcbiAgICAgIH1cbiAgICAgIC5tb3JlLWxpbmsge1xuICAgICAgICBhIHtcbiAgICAgICAgICBAaW5jbHVkZSBidG47XG4gICAgICAgICAgQGluY2x1ZGUgYnRuLW5vLWJnO1xuICAgICAgICAgIHBhZGRpbmc6IGNhbGModmFyKC0tYnVtcCkgLyA0KSAwO1xuICAgICAgICAgICY6aG92ZXIge1xuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgJi13cmFwcGVyIHtcbiAgICBoMiB7XG4gICAgICBkaXNwbGF5OiBub25lO1xuICAgIH1cblxuICAgIC5yZXN1bHRfX3RpdGxlIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgfVxuXG4gICAgJl9fbGlzdCB7XG4gICAgICBtYXJnaW4tYm90dG9tOiBjYWxjKHZhcigtLWJ1bXApICogMik7XG5cbiAgICAgIG9sIHtcbiAgICAgICAgQGluY2x1ZGUgbGktcmVzZXQ7XG5cbiAgICAgICAgbGkge1xuICAgICAgICAgIG1hcmdpbi1ib3R0b206IHZhcigtLWJ1bXApO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgJi1hdXRvY29tcGxldGUge1xuICAgIHBhZGRpbmc6IDIwcHggMDtcbiAgICBAaW5jbHVkZSBtZWRpYSgnPHNtJykge1xuICAgICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xuICAgIH1cbiAgICBoMywgJl9fc2VlLWFsbCA+IGEge1xuICAgICAgZm9udC1mYW1pbHk6IEFyaWFsLEhlbHZldGljYSxzYW5zLXNlcmlmO1xuICAgICAgZm9udC1zaXplOiAxZW07XG4gICAgICBmb250LXdlaWdodDogYm9sZDtcbiAgICAgIHBhZGRpbmctbGVmdDogMTNweDtcblxuICAgIH1cbiAgICBoMyB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAxMHB4O1xuICAgIH1cbiAgICAmX19zZWUtYWxsIHtcbiAgICAgIG1hcmdpbjogMjBweCAwO1xuICAgICAgYSB7XG4gICAgICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xuICAgICAgfVxuICAgIH1cbiAgICAudWktbWVudS1pdGVtICB7XG4gICAgICBhIHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgYm9yZGVyOiBub25lO1xuICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICAgICAgcGFkZGluZzogNXB4IDFlbSA1cHggLjRlbTtcbiAgICAgIH1cbiAgICB9XG4gICAgJl9fcG9wdWxhci10aGVtZXMge1xuICAgICAgcGFkZGluZzogMTNweDtcbiAgICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICAgIGEge1xuICAgICAgICBmb250LXdlaWdodDogbm9ybWFsO1xuICAgICAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiA1cHg7XG4gICAgICAgICY6Zmlyc3Qtb2YtdHlwZSB7XG4gICAgICAgICAgbWFyZ2luLWxlZnQ6IDVweDtcbiAgICAgICAgfVxuICAgICAgICAmOmxhc3Qtb2YtdHlwZSB7XG4gICAgICAgICAgbWFyZ2luLXJpZ2h0OiAwO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gIH1cbn1cbiIsIi8qKlxuICogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICogVW4udGl0bGVkXG4gKiBPcmdhbmlzbXMgLSBzaWRlYmFyXG4gKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gKi9cblxuLm8tc2lkZWJhciB7XG4gICZfX21lbWJlci1saW5rLXdyYXBwZXIge1xuICAgIG1hcmdpbjogMjBweCAwO1xuICAgICYgPiBkaXYge1xuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgcGFkZGluZzogMCAyMHB4O1xuICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgdGV4dC1hbGlnbi1sYXN0OiBjZW50ZXI7XG4gICAgICAmLm0tc2Vjb25kYXJ5LWN0YXtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICB9XG5cbiAgICAgIC5vLXNpZGViYXJfX21lbWJlci1saW5rLXdyYXBwZXJfX3RleHQge1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmU7XG4gICAgICAgIGZvbnQtZmFtaWx5OiAnTGV0dGVyYXRleHRwcm9ib2xkJywgc2Fucy1zZXJpZjtcbiAgICAgIH1cbiAgICAgICYgPiBhIHtcbiAgICAgICAgQGluY2x1ZGUgYnRuLW5vLWJnO1xuICAgICAgICBwYWRkaW5nOiAwO1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmU7XG4gICAgICAgICY6aG92ZXIge1xuICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICAgICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgICAmX190ZXh0IHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxuICB9XG5cbiAgJl9faW5uZXIge1xuICAgIHBhZGRpbmc6IDIwcHg7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgyMTUsIDIxNSwgMjE1LCAwLjIpO1xuICAgIFxuICAgICZfX2V2ZW50LXN0YXRlcy1idXR0b24ge1xuICAgICAgbWFyZ2luOiAyMHB4IDAgMDtcbiAgICB9XG4gIH1cblxuICBwLm8tc2lkZWJhcl9fdGV4dCB7XG4gICAgZm9udC1zaXplOiAxNnB4O1xuICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xuICAgIGxldHRlci1zcGFjaW5nOiAwO1xuICAgIGxpbmUtaGVpZ2h0OiAyNHB4O1xuICAgIHBhZGRpbmc6IDAgMjBweDtcbiAgICBjb2xvcjogdmFyKC0tYy1zZWNvbmRhcnkpO1xuICAgIG1hcmdpbi1ib3R0b206IDIwcHg7XG5cbiAgICBhIHtcbiAgICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xuICAgIH1cbiAgfVxuXG4gICZfX21lbnUge1xuICAgICYgPiB1bC5tZW51IHtcbiAgICAgIGEge1xuICAgICAgICAmLmlzLWFjdGl2ZSB7XG4gICAgICAgICAgQGluY2x1ZGUgZm9udC1ib2xkO1xuICAgICAgICAgIG1hcmdpbjogMCAwIDAgY2FsYyh2YXIoLS1idW1wKSAvIDMpO1xuICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgJiA+IC5tZW51LWl0ZW0ge1xuICAgICAgICBsaXN0LXN0eWxlOiBub25lO1xuICAgICAgfVxuXG4gICAgICAmID4gbGk6bGFzdC1jaGlsZCBhIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICAgIH1cblxuICAgICAgLm0tbWFpbi1uYXZfX2xpbmsge1xuICAgICAgICBtYXJnaW46IGNhbGModmFyKC0tYnVtcCkgLyAyKSAwIDA7XG4gICAgICB9XG5cbiAgICAgIC5tZW51LWl0ZW0tLWFjdGl2ZS10cmFpbCA+IGEge1xuICAgICAgICBAaW5jbHVkZSBmb250LWJvbGQ7XG4gICAgICB9XG5cbiAgICAgIHVsLm1lbnUge1xuICAgICAgICBsaSB7XG4gICAgICAgICAgcGFkZGluZzogMCAwIDAgY2FsYyh2YXIoLS1idW1wKSAvIDEuNSk7XG5cbiAgICAgICAgICAmLmlzLWFjdGl2ZS10cmFpbCB7XG4gICAgICAgICAgICB0ZXh0LWluZGVudDogMHB4O1xuICAgICAgICAgICAgbGlzdC1zdHlsZS10eXBlOiBub25lO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgICYgPiAubS1tYWluLW5hdl9fbGluayB7XG4gICAgICAgICAgYSB7XG4gICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cbiAgICAgICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICAgICAgY29udGVudDogJy0nO1xuICAgICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICAgIGxlZnQ6IDA7XG4gICAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtMTUwJSk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgJl9fY3RhIHtcbiAgICAmID4gLmEtYnRuIHtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgJi5uby1saW5rIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgyMTUsMjE1LDIxNSwwLjIpICFpbXBvcnRhbnQ7XG4gICAgICAgIGNvbG9yOiB2YXIoLS1jLWdyZXkpICFpbXBvcnRhbnQ7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgJl9fcmVsYXRlZCB7XG4gICAgY29sb3I6IHZhcigtLWMtc2Vjb25kYXJ5KTtcbiAgfVxuXG4gICZfX3NlYXNvbiB7XG4gICAgY29sb3I6IHZhcigtLWMtd2hpdGUpO1xuICB9XG5cbiAgJl9fc2Vhc29uLFxuICAmX19zdWItdGl0bGUge1xuICAgIGZvbnQtZmFtaWx5OiAnTGV0dGVyYXRleHRwcm9ib2xkJywgc2Fucy1zZXJpZjtcbiAgICBmb250LXNpemU6IDE4cHg7XG4gICAgbWFyZ2luOiAwO1xuICAgIHBhZGRpbmc6IDAgMjBweDtcbiAgfVxuXG4gICZfX2l0ZW0ge1xuICAgIC5zb2NpYWwtc2hhcmluZy1idXR0b25zIHtcbiAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDtcbiAgICAgIHBhZGRpbmc6IDAgY2FsYyh2YXIoLS1idW1wKSAvIDMpO1xuICAgICAgbWFyZ2luOiAwO1xuXG4gICAgICBhIHtcbiAgICAgICAgbWFyZ2luOiAwIGNhbGModmFyKC0tYnVtcCkgLyAyKSAwIDA7XG4gICAgICAgIHN2ZyB7XG4gICAgICAgICAgZmlsbDogd2hpdGU7XG4gICAgICAgICAgd2lkdGg6IDMwcHg7XG4gICAgICAgICAgaGVpZ2h0OiAzMHB4O1xuICAgICAgICB9XG4gICAgICAgICY6aG92ZXIge1xuICAgICAgICAgIHN2ZyB7XG4gICAgICAgICAgICB0cmFuc2l0aW9uOiAwLjhzIHZhcigtLWVhc2luZyk7XG4gICAgICAgICAgICBmaWxsOiB2YXIoLS1jLWdyZXkpO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gICZfX2N0YSxcbiAgJl9fbWVtYmVyLWxpbmstd3JhcHBlcixcbiAgJl9faW5uZXIsXG4gICZfX2l0ZW0ge1xuICAgIG1hcmdpbjogMCAwIDIwcHg7XG4gIH1cbn1cbiIsIi8qKlxuICogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICogVW4udGl0bGVkXG4gKiBPcmdhbmlzbXMgLSBUZWFzZXJzXG4gKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gKi9cblxuLm8tdGVhc2VyIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBoZWlnaHQ6IDEwMCU7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICBhbGlnbi1pdGVtczogZmxleC1zdGFydDtcbiAgdHJhbnNpdGlvbjogYWxsIDFzIHZhcigtLXRyYW5zaXRpb24pO1xuXG4gIHZpZGVvIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAwO1xuICAgIGxlZnQ6IDA7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIG9iamVjdC1maXQ6IGNvdmVyO1xuXG4gICAgQGluY2x1ZGUgbWVkaWEoJzx4cycpIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICB2aXNpYmlsaXR5OiBoaWRkZW47XG4gICAgfVxuXG4gIH1cbiAgXG4gICZfX2lubmVyLFxuICAuY29sLTEyIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgd2lkdGg6IDEwMCU7XG4gIH1cblxuICAmX190aHVtYiB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWMtcHJpbWFyeSk7XG4gICAgdHJhbnNpdGlvbjogYWxsIDFzIHZhcigtLXRyYW5zaXRpb24pO1xuXG4gICAgLm0tZW50aXR5X19zaWducG9zdHNfX2lubmVyICYge1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7XG4gICAgICBwaWN0dXJlIHtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLmEtaW1hZ2UtY3JlZGl0IHtcbiAgICAgIGxlZnQ6IGNhbGModmFyKC0tYnVtcCkgLyAxLjUpO1xuICAgIH1cblxuICAgIGltZyB7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIGhlaWdodDogYXV0bztcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgdHJhbnNpdGlvbjogdmFyKC0tdHJhbnNpdGlvbik7XG4gICAgfVxuICB9XG5cbiAgJl9faW1hZ2Uge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgfVxuXG4gICZfX292ZXJsYXkge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDA7XG4gICAgbGVmdDogMDtcbiAgICBib3R0b206IDA7XG4gICAgcmlnaHQ6IDA7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIHotaW5kZXg6IDE7XG4gICAgY29sb3I6IHZhcigtLWMtd2hpdGUpO1xuICAgIGJveC1zaGFkb3c6IGluc2V0IDBweCAtMTgwcHggOTFweCAtMTBweCB2YXIoLS1jLXByaW1hcnkpO1xuICAgIEBpbmNsdWRlIG1lZGlhKCc8c20nKSB7XG4gICAgICBib3gtc2hhZG93OiBpbnNldCAwcHggLTEwMHB4IDkwcHggLTEwcHggdmFyKC0tYy1wcmltYXJ5KTtcbiAgICB9XG5cbiAgICAmICsgcGljdHVyZSB7XG4gICAgICAmID4gaW1nIHtcbiAgICAgICAgYm94LXNoYWRvdzogaW5zZXQgMHB4IC0yMjBweCAxMzBweCAtMTBweCAjMWIxYjFiO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gICZfX2RhdGUge1xuICAgIGZvbnQtc2l6ZTogMTRweDtcbiAgICBsaW5lLWhlaWdodDogMTdweDtcbiAgICBsZXR0ZXItc3BhY2luZzogMXg7XG4gICAgZm9udC1mYW1pbHk6IHZhcigtLWZvbnRCb2xkKTtcbiAgfVxuXG4gICZfX3ByZS10aXRsZSB7XG4gICAgZm9udC1zaXplOiAxNnB4O1xuICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xuICAgIGxldHRlci1zcGFjaW5nOiAwO1xuICAgIGxpbmUtaGVpZ2h0OiAyMHB4O1xuICAgIG1hcmdpbi1ib3R0b206IGNhbGModmFyKC0tYnVtcCkgLyA2KTtcbiAgfVxuXG4gICZfX3RpdGxlIHtcbiAgICBsaW5lLWhlaWdodDogMS41O1xuICAgIGZvbnQtc2l6ZTogY2xhbXAoMTZweCwgN3Z3LCB2YXIoLS1mb250U2l6ZSkpO1xuICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xuICAgIG1hcmdpbi1ib3R0b206IGNhbGModmFyKC0tYnVtcCkgLyA2KTtcbiAgfVxuXG4gICZfX3Bvc3QtdHlwZSB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIGJvdHRvbTogMDtcbiAgICBwYWRkaW5nOiBjYWxjKHZhcigtLWJ1bXApIC8gNSk7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYy1zZWNvbmRhcnkpO1xuICAgIGNvbG9yOiB2YXIoLS1jLXByaW1hcnkpO1xuICAgIG1hcmdpbjogMDtcbiAgICBmb250LXdlaWdodDogYm9sZDtcbiAgICB6LWluZGV4OiAxO1xuICAgIHRyYW5zaXRpb246IGFsbCAxcyB2YXIoLS10cmFuc2l0aW9uKTtcbiAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgIGZvbnQtc2l6ZTogMTRweDtcbiAgICBsaW5lLWhlaWdodDogMTdweDtcbiAgICBsZXR0ZXItc3BhY2luZzogMC43NXB4O1xuICAgIGZvbnQtZmFtaWx5OiB2YXIoLS1mb250Qm9sZCk7XG4gIH1cblxuICAmX19jb250ZW50IHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0O1xuICAgIGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0O1xuICAgIHBhZGRpbmc6IGNhbGModmFyKC0tYnVtcCkgLyAyKSAwO1xuXG5cbiAgICBAaW5jbHVkZSBtZWRpYSgnPHNtJykge1xuICAgICAgcGFkZGluZzogY2FsYyh2YXIoLS1idW1wKSAvIDIpIDA7XG4gICAgfVxuXG4gICAgLm0tZW50aXR5X19zaWducG9zdHNfX2lubmVyICYge1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgLy9wYWRkaW5nOiBjYWxjKHZhcigtLWJ1bXApIC8gMikgY2FsYyh2YXIoLS1idW1wKSAqIDYpIDBcbiAgICAgIC8vICBjYWxjKHZhcigtLWJ1bXApICogMik7XG4gICAgICB6LWluZGV4OiAxO1xuXG4gICAgICBAaW5jbHVkZSBtZWRpYSgnPGxnJykge1xuICAgICAgICBwYWRkaW5nOiBjYWxjKHZhcigtLWJ1bXApIC8gMikgY2FsYyh2YXIoLS1idW1wKSAqIDIpO1xuICAgICAgICBib3R0b206IC01MHB4O1xuICAgICAgfVxuXG4gICAgICBAaW5jbHVkZSBtZWRpYSgnPHNtJykge1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIHBhZGRpbmc6IGNhbGModmFyKC0tYnVtcCkgLyAyKSBjYWxjKHZhcigtLWJ1bXApIC8gMik7XG4gICAgICB9XG4gICAgfVxuXG4gICAgcCB7XG4gICAgICBtYXJnaW46IDA7XG4gICAgICAmOmxhc3Qtb2YtdHlwZSB7XG4gICAgICAgIEBpbmNsdWRlIG1lZGlhKCc8c20nKSB7XG4gICAgICAgICAgbWFyZ2luLWJvdHRvbTogY2FsYyh2YXIoLS1idW1wKSAvIDIpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgJl9fYm9keS10ZXh0IHtcbiAgICBjb2xvcjogdmFyKC0tYy1zZWNvbmRhcnkpO1xuICAgIC5jdF9fd2hhdC1zLW9uLWxpc3RpbmcgJiB7XG4gICAgICBkaXNwbGF5OiBub25lO1xuICAgIH1cbiAgfVxuXG4gICZfX2xpbmsge1xuICAgIEBpbmNsdWRlIGZvbnQtY3RhO1xuICAgIGNvbG9yOiB2YXIoLS1jLXNlY29uZGFyeSk7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XG4gICAgbWFyZ2luOiAwO1xuICAgIHBhZGRpbmc6IDA7XG4gICAgd2hpdGUtc3BhY2U6IG5vcm1hbDtcbiAgICB0ZXh0LWFsaWduLWxhc3Q6IGxlZnQ7XG4gICAgdGV4dC1hbGlnbjogbGVmdDtcblxuICAgICY6aG92ZXIge1xuICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgIH1cbiAgfVxuXG4gICZfX2J1dHRvbnMge1xuICAgIG1hcmdpbi10b3A6IGF1dG87XG4gICAgcGFkZGluZzogMCAwIGNhbGModmFyKC0tYnVtcCkgLyAyKTtcbiAgICBkaXNwbGF5OiBncmlkO1xuICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KDIsIDFmcik7XG4gICAgZ2FwOiBjYWxjKHZhcigtLWJ1bXApIC8gMik7XG4gICAgYWxpZ24tc2VsZjogZmxleC1zdGFydDtcblxuICAgIEBpbmNsdWRlIG1lZGlhKCc8c20nKSB7XG4gICAgICBwYWRkaW5nOiAwIDAgY2FsYyh2YXIoLS1idW1wKSAvIDIpO1xuICAgIH1cblxuICAgIC5tLWVudGl0eV9fc2lnbnBvc3RzX19pbm5lciAmIHtcbiAgICAgIHBhZGRpbmc6IDA7XG4gICAgfVxuICB9XG5cbiAgJl9fYnV0dG9uIHtcbiAgICBwYWRkaW5nOiBjYWxjKHZhcigtLWJ1bXApIC8gNCkgY2FsYyh2YXIoLS1idW1wKSAvIDMpO1xuICAgIHdoaXRlLXNwYWNlOiBub3JtYWw7XG5cbiAgICAmLS1uby1iZyB7XG4gICAgICBwYWRkaW5nOiBjYWxjKHZhcigtLWJ1bXApIC8gNCkgMDtcbiAgICB9XG5cbiAgICAmLS1mbGV4LXN0YXJ0IHtcbiAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDtcbiAgICB9XG5cbiAgICAmOmFmdGVyIHtcbiAgICAgIHdpZHRoOiAyMHB4O1xuICAgICAgaGVpZ2h0OiAyMHB4O1xuICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyO1xuICAgICAgbWFyZ2luOiAwO1xuICAgIH1cbiAgfVxuXG4gICYtbWluaS10ZWFzZXIge1xuICAgICZfX2NvbnRlbnQge1xuICAgICAgcGFkZGluZzogY2FsYyh2YXIoLS1idW1wKSAvIDIpIDA7XG4gICAgfVxuICAgICZfX2J1dHRvbnMge1xuICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG4gIH1cblxuICAmLXYyLXRlYXNlciB7XG4gICAgJl9fY29udGVudCB7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICBib3R0b206IDA7XG4gICAgICBwYWRkaW5nOiAwO1xuICAgICAgbWFyZ2luOiAwcHggMjRweCAzMnB4O1xuICAgICAgei1pbmRleDogMTtcbiAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgIG1heC1oZWlnaHQ6IDEwMHB4O1xuXG4gICAgICBAaW5jbHVkZSBtZWRpYShcIjxzbVwiKSB7XG4gICAgICAgIG1hcmdpbjogMjBweDtcbiAgICAgICAgaGVpZ2h0OiBhdXRvO1xuICAgICAgfVxuICAgIH1cblxuICAgICZfX292ZXJsYXkge1xuICAgICAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KDE4MGRlZywgcmdiYSgwLDAsMCwwKSAwJSwgIzAwMDAwMCAxMDAlKTtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHRvcDogMDtcbiAgICAgIHJpZ2h0OiAwO1xuICAgICAgYm90dG9tOiAwO1xuICAgICAgbGVmdDogMDtcbiAgICAgIHotaW5kZXg6IDE7XG5cbiAgICAgICYgKyBwaWN0dXJlIHtcbiAgICAgICAgJiA+IGltZyB7XG4gICAgICAgICAgYm94LXNoYWRvdzogaW5zZXQgMHB4IC0yMjBweCAxMzBweCAtMTBweCAjMWIxYjFiO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgJl9fdGh1bWIge1xuICAgICAgaW1nIHtcbiAgICAgICAgb2JqZWN0LWZpdDogY292ZXI7XG4gICAgICAgIGhlaWdodDogNDcwcHg7XG5cbiAgICAgICAgQGluY2x1ZGUgbWVkaWEoXCI8c21cIikge1xuICAgICAgICAgIGhlaWdodDogYXV0bztcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICAmOmhvdmVyIHtcbiAgICAgICAgLm8tdGVhc2VyLXYyLXRlYXNlcl9fdGl0bGUge1xuICAgICAgICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgJl9fdGl0bGUge1xuICAgICAgbGluZS1oZWlnaHQ6IDI3cHg7XG4gICAgICBtYXJnaW46IDAgMCA1cHg7XG4gICAgfVxuXG4gICAgJl9fYm9keS10ZXh0IHtcbiAgICAgIGxpbmUtaGVpZ2h0OiAxN3B4O1xuICAgICAgQGluY2x1ZGUgbWVkaWEoXCI8c21cIikge1xuICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIiwiLyoqXG4qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiogVW4udGl0bGVkXG4qIE9yZ2FuaXNtcyAtIFNlYXJjaFxuKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4qL1xuXG4vKipcbiogQ29uZmlnXG4qL1xuXG4vKipcbiogU3R5bGluZ1xuKi9cbltkYXRhLXNlYXJjaD0nb3BlbiddIHtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbn1cblxuLm8tc2VhcmNoIHtcbiAgQGluY2x1ZGUgbWVkaWEoJzxzbScpIHtcbiAgICBwYWRkaW5nOiBjYWxjKHZhcigtLWJ1bXApICogMS41KSAwIGNhbGModmFyKC0tYnVtcCkgKiA1KTtcbiAgfVxuXG4gICZfX21vYmlsZSB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgICBAaW5jbHVkZSBtZWRpYSgnPHNtJykge1xuICAgICAgcGFkZGluZzogMCBjYWxjKHZhcigtLWJ1bXApIC8gMikgY2FsYyh2YXIoLS1idW1wKSAvIDIpO1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICB9XG4gIH1cblxuICAmX19pbm5lciB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcblxuICAgIEBpbmNsdWRlIG1lZGlhKCc8c20nKSB7XG4gICAgICBwYWRkaW5nOiAxcmVtIDAgMDtcbiAgICAgIGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0O1xuICAgIH1cbiAgfVxuXG4gIC52aWV3cy1leHBvc2VkLWZvcm0ge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIEBpbmNsdWRlIG1lZGlhKCc8c20nKSB7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICB9XG4gICAgI3ZpZXdzLWV4cG9zZWQtZm9ybS1zZWFyY2gtc2VhcmNoIHtcbiAgICAgIC5qcy1mb3JtLWl0ZW0sXG4gICAgICAuZm9ybS1hY3Rpb25zIHtcbiAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICBwYWRkaW5nOiAwO1xuICAgICAgfVxuXG4gICAgICAuZm9ybS1hY3Rpb25zIHtcbiAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgIH1cblxuICAgICAgaW5wdXQge1xuICAgICAgICBib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1jLXdoaXRlKTtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYy1wcmltYXJ5KTtcbiAgICAgICAgY29sb3I6IHZhcigtLWMtd2hpdGUpO1xuXG4gICAgICAgIEBpbmNsdWRlIGJnLWltZygyMHB4KTtcbiAgICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogOTklIGNlbnRlcjtcbiAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKCcuLi9pbWcvc2VhcmNoLnN2ZycpO1xuICAgICAgICBwYWRkaW5nOiAxNXB4IDQ1cHggMTVweCAxNXB4O1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jLWdyZXlMaWdodCk7XG5cbiAgICAgICAgJjo6cGxhY2Vob2xkZXIge1xuICAgICAgICAgIG9wYWNpdHk6IDAuNzU7XG4gICAgICAgICAgY29sb3I6IGluaGVyaXQ7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgYnV0dG9uIHtcbiAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgcGFkZGluZzogMDtcbiAgICAgICAgYm9yZGVyOiBub25lO1xuICAgICAgfVxuXG4gICAgICBpbnB1dCxcbiAgICAgIGJ1dHRvbiB7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBoZWlnaHQ6IDM1cHg7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbi51aS13aWRnZXQge1xuICAmLnVpLXdpZGdldC1jb250ZW50IHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMTQxNDE0O1xuICAgIGNvbG9yOiAjZmZmO1xuICAgIGJvcmRlcjogbm9uZTtcblxuICAgIGgzLCBsaSwgYSB7XG4gICAgICBjb2xvcjogI2ZmZjtcbiAgICB9XG4gIH1cbn0iLCIuby13aGF0LXMtb24tbGlzdGluZyB7XG4gICZfX2ludHJvIHtcbiAgICAmX19yaWdodCB7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDtcbiAgICAgIGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0O1xuXG4gICAgICBAaW5jbHVkZSBtZWRpYSgnPHNtJykge1xuICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgfVxuICAgIH1cbiAgfVxuICAuZm9ybS1pdGVtLXBlcmZvcm1hbmNlLWRhdGVyYW5nZSB7XG4gICAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgICBsYWJlbCB7XG4gICAgfVxuICAgIC5kYXRlcmFuZ2UtcGlja2VyLWZpZWxkIHtcbiAgICAgIGJvcmRlcjogbm9uZTtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICAgICAgb3V0bGluZTogbm9uZTtcbiAgICAgIGNvbG9yOiAjZmZmO1xuXG4gICAgICAmOjpwbGFjZWhvbGRlciB7XG4gICAgICAgIGNvbG9yOiAjZmZmO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuLyogTGl0ZXBpY2tlciAqL1xuOnJvb3Qge1xuICAtLWxpdGVwaWNrZXItaXMtdG9kYXktY29sb3I6ICMwMDA7XG4gIC0tbGl0ZXBpY2tlci1kYXktY29sb3ItaG92ZXI6IHZhcigtLWMtdGVydGlhcnkpO1xuICAtLWxpdGVwaWNrZXItaXMtc3RhcnQtY29sb3I6ICMwMDA7XG4gIC0tbGl0ZXBpY2tlci1pcy1zdGFydC1jb2xvci1iZzogdmFyKC0tYy10ZXJ0aWFyeSk7XG4gIC0tbGl0ZXBpY2tlci1pcy1pbi1yYW5nZS1jb2xvcjogcmdiYSgyNTUsMjI4LDAsLjUpO1xuICAtLWxpdGVwaWNrZXItaXMtZW5kLWNvbG9yOiAjMDAwO1xuICAtLWxpdGVwaWNrZXItaXMtZW5kLWNvbG9yLWJnOiB2YXIoLS1jLXRlcnRpYXJ5KTtcbn1cbi5saXRlcGlja2VyIHtcbiAgei1pbmRleDogMTAwO1xuICBwb3NpdGlvbjogZml4ZWQgIWltcG9ydGFudDtcbiAgdG9wOiAwICFpbXBvcnRhbnQ7XG4gIGxlZnQ6IDAgIWltcG9ydGFudDtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogMTAwJTtcbiAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgwLDAsMCwgLjUpO1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICBmb250LXNpemU6IDE4cHg7XG4gIC5jb250YWluZXJfX21haW4ge1xuICAgIHBvc2l0aW9uOiBmaXhlZCAhaW1wb3J0YW50O1xuICAgIHRvcDogNTAlICFpbXBvcnRhbnQ7XG4gICAgbGVmdDogNTAlICFpbXBvcnRhbnQ7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgLTUwJSk7XG4gICAgd2lkdGg6IDkwJTtcbiAgICBtYXgtd2lkdGg6IDY4OHB4O1xuICAgIG1heC1oZWlnaHQ6IDkwJTtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgIG92ZXJmbG93LXg6IGF1dG87XG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzAwMDtcbiAgICAtbW96LWJveC1zaGFkb3c6IDRweCA0cHggMjRweCAwIHJnYmEoMzQsMzQsMzQsMSk7XG4gICAgLXdlYmtpdC1ib3gtc2hhZG93OiA0cHggNHB4IDI0cHggMCByZ2JhKDM0LDM0LDM0LDEpO1xuICAgIGJveC1zaGFkb3c6IDRweCA0cHggMjRweCAwIHJnYmEoMzQsMzQsMzQsMSk7XG4gICAgcGFkZGluZzogMnJlbSAwLjVyZW07XG4gICAgJjo6YmVmb3JlIHtcbiAgICAgIGNvbnRlbnQ6ICdDaG9vc2UgYSBzaW5nbGUgZGF0ZSBvciByYW5nZSc7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgY29sb3I6ICNmZmY7XG4gICAgICBmb250LXNpemU6IDIwcHg7XG4gICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICBtYXJnaW4tYm90dG9tOiAuNzVyZW07XG4gICAgfVxuICB9XG4gIC5jb250YWluZXJfX21vbnRocyB7XG4gICAgYm94LXNoYWRvdzogbm9uZTtcbiAgICB3aWR0aDogMTAwJSAhaW1wb3J0YW50O1xuICAgIC5tb250aC1pdGVtLXdlZWtkYXlzLXJvdyB7XG4gICAgICBkaXNwbGF5OiBncmlkO1xuICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoNywgMWZyKTtcbiAgICB9XG4gICAgQGluY2x1ZGUgbWVkaWEoJzxzbScpIHtcbiAgICAgIGRpc3BsYXk6IGdyaWQ7XG4gICAgICAubW9udGgtaXRlbSB7XG4gICAgICAgIHdpZHRoOiAxMDAlICFpbXBvcnRhbnQ7XG4gICAgICB9XG4gICAgfVxuICB9XG4gIC5jb250YWluZXJfX2RheXN7XG4gICAgZGlzcGxheTogZ3JpZDtcbiAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdCg3LCAxZnIpO1xuICB9XG4gIC5tb250aC1pdGVtIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xuICAgIGJvcmRlcjogLjVyZW0gc29saWQgIzAwMDtcbiAgICBib3gtc2l6aW5nOiBib3JkZXItYm94ICFpbXBvcnRhbnQ7XG4gICAgd2lkdGg6IDUwJSAhaW1wb3J0YW50O1xuICAgIHBhZGRpbmc6IDE1cHggIWltcG9ydGFudDtcbiAgfVxuICAuY2xvc2UtYnRuIHtcbiAgICB0b3A6IC05MnB4O1xuICAgIGxlZnQ6IDEwcHg7XG4gICAgY29sb3I6IHdoaXRlO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBmb250LXNpemU6IDE4cHg7XG4gIH1cbiAgLm1vbnRoLWl0ZW0td2Vla2RheXMtcm93IHtcbiAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICB9XG4gIC5jb250YWluZXJfX2RheXMge1xuICAgICYgPiBkaXYge1xuICAgICAgcGFkZGluZzogNXB4IDFweCA1cHggMnB4O1xuICAgIH1cbiAgICAuZGF5LWl0ZW06aG92ZXIge1xuICAgICAgY29sb3I6ICMwMDAgIWltcG9ydGFudDtcbiAgICAgIC13ZWJraXQtYm94LXNoYWRvdzogaW5zZXQgMCAwIDAgMXB4IHZhcigtLWxpdGVwaWNrZXItZGF5LWNvbG9yLWhvdmVyKTtcbiAgICAgIGJveC1zaGFkb3c6IGluc2V0IDAgMCAwIDFweCB2YXIoLS1saXRlcGlja2VyLWRheS1jb2xvci1ob3Zlcik7XG4gICAgfVxuICAgIC5pcy10b2RheSB7XG4gICAgICBmb250LXdlaWdodDogYm9sZDtcbiAgICB9XG4gIH1cbn1cbi5kYXRlLWZpZWxkLWxhYmVsIHtcbiAgZm9udC13ZWlnaHQ6IDkwMDtcbn1cbi5kYXRlLWZpZWxkcy13cmFwcGVyIHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IHJvdztcbn1cbi5mb3JtLWl0ZW0tZGF0ZSB7XG4gIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gICYgPiAqIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIH1cbiAgLmZpZWxkLXByZWZpeCB7XG4gICAgb3JkZXI6IDA7XG4gICAgbWFyZ2luLXJpZ2h0OiA1cHg7XG4gIH1cbiAgbGFiZWwge1xuICAgIG9yZGVyOiAxO1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcbiAgfVxuICAmLmZpbGxlZCB7XG4gICAgLmZpZWxkLXByZWZpeCB7XG4gICAgICBpbWcge1xuICAgICAgICBmaWx0ZXI6IGludmVydCg3OCUpIHNlcGlhKDc4JSkgc2F0dXJhdGUoMjExOSUpIGh1ZS1yb3RhdGUoXG4gICAgICAgICAgICAgICAgICAgICAgICA0MTBkZWdcbiAgICAgICAgKSBicmlnaHRuZXNzKDE5OSUpIGNvbnRyYXN0KDE1OCUpO1xuICAgICAgfVxuICAgIH1cbiAgICBsYWJlbCB7XG4gICAgICBzcGFuIHtcbiAgICAgICAgY29sb3I6ICNmZmU0MDA7XG4gICAgICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xuICAgICAgfVxuICAgIH1cbiAgfVxuICBpbnB1dCB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxufVxuIiwiLm8tc2Vhc29uLXBhZ2V7XG4gICAgLm0tYmFubmVyX19jb250ZW50X190aXRsZXtcbiAgICAgICAgd2lkdGg6IDY2JTtcbiAgICB9XG59Il0sInNvdXJjZVJvb3QiOiIifQ==*/