/*- Global Variables -*/
.container {
  max-width: 1200px !important;
  width: 1200px !important;
  margin: 0 auto;
  position: relative; }

* {
  margin: 0;
  padding: 0;
  box-sizing: border-box;
  -moz-box-sizing: border-box;
  -webkit-box-sizing: border-box;
  -ms-box-sizing: border-box; }

body {
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  text-rendering: optimizeSpeed;
  overflow-x: hidden;
  margin: 0; }

main {
  display: block; }

pre {
  font-family: monospace, monospace;
  font-size: 1rem; }

b,
strong {
  font-weight: bolder; }

::-moz-selection {
  background: #0088ff;
  color: #ffffff;
  text-shadow: none;
  border: 0;
  outline: none; }

::selection {
  background: #0088ff;
  color: #ffffff;
  text-shadow: none;
  border: 0;
  outline: none; }

code,
kbd,
samp {
  font-family: monospace, monospace;
  font-size: 1rem; }

small {
  font-size: 80%; }

sub,
sup {
  font-size: 75%;
  line-height: 0;
  position: relative;
  vertical-align: baseline; }

sub {
  bottom: -0.25em; }

sup {
  top: -0.5em; }

img {
  max-width: 100%;
  height: auto;
  border: 0; }

button,
input,
optgroup,
select,
textarea {
  font-family: inherit;
  font-size: 100%;
  line-height: 1.15;
  margin: 0; }
  button:focus,
  input:focus,
  optgroup:focus,
  select:focus,
  textarea:focus {
    outline: none !important; }

button,
input {
  overflow: visible; }

button,
select {
  text-transform: none; }

button,
[type="button"],
[type="reset"],
[type="submit"] {
  -webkit-appearance: button; }

button::-moz-focus-inner,
[type="button"]::-moz-focus-inner,
[type="reset"]::-moz-focus-inner,
[type="submit"]::-moz-focus-inner {
  border-style: none;
  padding: 0; }

button:-moz-focusring,
[type="button"]:-moz-focusring,
[type="reset"]:-moz-focusring,
[type="submit"]:-moz-focusring {
  outline: 1px dotted #0088ff; }

button:active, button.nice-select.open, button:focus {
  outline: none;
  border: none; }

fieldset {
  padding: 0.35rem 0.75rem 0.625rem; }

legend {
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  color: inherit;
  display: table;
  max-width: 100%;
  padding: 0;
  white-space: normal; }

progress {
  vertical-align: baseline; }

textarea {
  overflow: auto; }

[type="checkbox"],
[type="radio"] {
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  /* 1 */
  padding: 0;
  /* 2 */ }

[type="number"]::-webkit-inner-spin-button,
[type="number"]::-webkit-outer-spin-button {
  height: auto; }

[type="search"] {
  -webkit-appearance: textfield;
  outline-offset: -2px; }

[type="search"]::-webkit-search-decoration {
  -webkit-appearance: none; }

::-webkit-file-upload-button {
  -webkit-appearance: button;
  font: inherit; }

details {
  display: block; }

summary {
  display: list-item; }

template {
  display: none; }

[hidden] {
  display: none; }

iframe {
  max-width: 100% !important; }

h1,
h2,
h3,
h4,
h5,
h6 {
  margin: 0;
  padding: 0;
  font-weight: 500; }

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

figure {
  width: 100% !important; }

[class*="icons-"] {
  display: inline-block; }

/**
 * Swiper 5.2.0
 * Most modern mobile touch slider and framework with hardware accelerated transitions
 * http://swiperjs.com
 *
 * Copyright 2014-2019 Vladimir Kharlampidi
 *
 * Released under the MIT License
 *
 * Released on: October 26, 2019
 */
@font-face {
  font-family: swiper-icons;
  src: url("data:application/font-woff;charset=utf-8;base64, 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") format("woff");
  font-weight: 400;
  font-style: normal; }

:root {
  --swiper-theme-color:#007aff; }

.swiper-container {
  margin-left: auto;
  margin-right: auto;
  position: relative;
  overflow: hidden;
  list-style: none;
  padding: 0;
  z-index: 1; }

.swiper-container-vertical > .swiper-wrapper {
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -webkit-flex-direction: column;
  -ms-flex-direction: column;
  flex-direction: column; }

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

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

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

.swiper-container-multirow-column > .swiper-wrapper {
  -webkit-flex-wrap: wrap;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -webkit-flex-direction: column;
  -ms-flex-direction: column;
  flex-direction: column; }

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

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

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

.swiper-container-autoheight, .swiper-container-autoheight .swiper-slide {
  height: auto; }

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

.swiper-container-3d {
  -webkit-perspective: 1200px;
  perspective: 1200px; }

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

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

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

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

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

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

.swiper-container-css-mode > .swiper-wrapper {
  overflow: auto;
  scrollbar-width: none;
  -ms-overflow-style: none; }

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

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

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

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

:root {
  --swiper-navigation-size:44px; }

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

.swiper-container-vertical > .swiper-pagination-bullets.swiper-pagination-bullets-dynamic .swiper-pagination-bullet {
  display: inline-block;
  -webkit-transition: .2s transform,.2s top;
  -o-transition: .2s transform,.2s top;
  transition: .2s transform,.2s top; }

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

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

.swiper-container-horizontal > .swiper-pagination-bullets.swiper-pagination-bullets-dynamic .swiper-pagination-bullet {
  -webkit-transition: .2s transform,.2s left;
  -o-transition: .2s transform,.2s left;
  transition: .2s transform,.2s left; }

.swiper-container-horizontal.swiper-container-rtl > .swiper-pagination-bullets-dynamic .swiper-pagination-bullet {
  -webkit-transition: .2s transform,.2s right;
  -o-transition: .2s transform,.2s right;
  transition: .2s transform,.2s right; }

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

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

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

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

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

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

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

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

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

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

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

.swiper-scrollbar-drag {
  height: 100%;
  width: 100%;
  position: relative;
  background: rgba(0, 0, 0, 0.5);
  -webkit-border-radius: 10px;
  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: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
  -ms-flex-pack: center;
  justify-content: center;
  -webkit-box-align: center;
  -webkit-align-items: center;
  -ms-flex-align: center;
  align-items: center;
  text-align: center; }

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

.swiper-container-cube .swiper-cube-shadow {
  position: absolute;
  left: 0;
  bottom: 0px;
  width: 100%;
  height: 100%;
  background: #000;
  opacity: .6;
  -webkit-filter: blur(50px);
  filter: blur(50px);
  z-index: 0; }

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

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

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

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

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

.fancybox-enabled {
  overflow: hidden; }

.fancybox-enabled body {
  overflow: visible;
  -ms-touch-action: none;
  touch-action: none; }

.fancybox-container {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: 99993;
  -webkit-backface-visibility: hidden;
  backface-visibility: hidden; }

/* Make sure that the first one is on the top */
.fancybox-container ~ .fancybox-container {
  z-index: 99992; }

.fancybox-bg {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  background: #0f0f11;
  opacity: 0;
  -webkit-transition-timing-function: cubic-bezier(0.55, 0.06, 0.68, 0.19);
  -o-transition-timing-function: cubic-bezier(0.55, 0.06, 0.68, 0.19);
  transition-timing-function: cubic-bezier(0.55, 0.06, 0.68, 0.19);
  -webkit-backface-visibility: hidden;
  backface-visibility: hidden; }

.fancybox-container--ready .fancybox-bg {
  opacity: 0.87;
  -webkit-transition-timing-function: cubic-bezier(0.22, 0.61, 0.36, 1);
  -o-transition-timing-function: cubic-bezier(0.22, 0.61, 0.36, 1);
  transition-timing-function: cubic-bezier(0.22, 0.61, 0.36, 1); }

.fancybox-controls {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  text-align: center;
  opacity: 0;
  z-index: 99994;
  -webkit-transition: opacity .2s;
  -o-transition: opacity .2s;
  transition: opacity .2s;
  pointer-events: none;
  -webkit-backface-visibility: hidden;
  backface-visibility: hidden;
  direction: ltr; }

.fancybox-show-controls .fancybox-controls {
  opacity: 1; }

.fancybox-infobar {
  display: none; }

.fancybox-show-infobar .fancybox-infobar {
  display: inline-block;
  pointer-events: all; }

.fancybox-infobar__body {
  display: inline-block;
  width: 70px;
  line-height: 44px;
  font-size: 13px;
  font-family: "Helvetica Neue",Helvetica,Arial,sans-serif;
  text-align: center;
  color: #ddd;
  background-color: rgba(30, 30, 30, 0.7);
  pointer-events: none;
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
  -webkit-touch-callout: none;
  -webkit-tap-highlight-color: transparent;
  -webkit-font-smoothing: subpixel-antialiased; }

.fancybox-buttons {
  position: absolute;
  top: 0;
  right: 0;
  display: none;
  pointer-events: all; }

.fancybox-show-buttons .fancybox-buttons {
  display: block; }

.fancybox-slider-wrap {
  overflow: hidden;
  direction: ltr; }

.fancybox-slider-wrap,
.fancybox-slider {
  position: absolute;
  top: 0;
  left: 0;
  bottom: 0;
  right: 0;
  padding: 0;
  margin: 0;
  z-index: 99993;
  -webkit-backface-visibility: hidden;
  backface-visibility: hidden;
  -webkit-tap-highlight-color: transparent; }

.fancybox-slide {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  margin: 0;
  padding: 0;
  overflow: auto;
  outline: none;
  white-space: normal;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  text-align: center;
  z-index: 99994;
  -webkit-overflow-scrolling: touch; }

.fancybox-slide::before {
  content: '';
  display: inline-block;
  vertical-align: middle;
  height: 100%;
  width: 0; }

.fancybox-slide > * {
  display: inline-block;
  position: relative;
  padding: 24px;
  margin: 44px 0 44px;
  border-width: 0;
  vertical-align: middle;
  text-align: left;
  background-color: #fff;
  overflow: auto;
  -webkit-box-sizing: border-box;
  box-sizing: border-box; }

.fancybox-slide--image {
  overflow: hidden; }

.fancybox-slide--image::before {
  display: none; }

.fancybox-content {
  display: inline-block;
  position: relative;
  margin: 44px auto;
  padding: 0;
  border: 0;
  width: 80%;
  height: calc(100% - 88px);
  vertical-align: middle;
  line-height: normal;
  text-align: left;
  white-space: normal;
  outline: none;
  font-size: 16px;
  font-family: Arial, sans-serif;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  -webkit-tap-highlight-color: transparent;
  -webkit-overflow-scrolling: touch; }

.fancybox-iframe {
  display: block;
  margin: 0;
  padding: 0;
  border: 0;
  width: 100%;
  height: 100%;
  background: #fff; }

.fancybox-slide--video .fancybox-content,
.fancybox-slide--video .fancybox-iframe {
  background: transparent; }

.fancybox-placeholder {
  position: absolute;
  top: 0;
  left: 0;
  margin: 0;
  padding: 0;
  border: 0;
  z-index: 99995;
  background: transparent;
  cursor: default;
  overflow: visible;
  -webkit-transform-origin: top left;
  -ms-transform-origin: top left;
  transform-origin: top left;
  -webkit-background-size: 100% 100%;
  background-size: 100% 100%;
  background-repeat: no-repeat;
  -webkit-backface-visibility: hidden;
  backface-visibility: hidden; }

.fancybox-image,
.fancybox-spaceball {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  margin: 0;
  padding: 0;
  border: 0;
  max-width: none;
  max-height: none;
  background: transparent;
  -webkit-background-size: 100% 100%;
  background-size: 100% 100%; }

.fancybox-controls--canzoomOut .fancybox-placeholder {
  cursor: -webkit-zoom-out;
  cursor: zoom-out; }

.fancybox-controls--canzoomIn .fancybox-placeholder {
  cursor: -webkit-zoom-in;
  cursor: zoom-in; }

.fancybox-controls--canGrab .fancybox-placeholder {
  cursor: -webkit-grab;
  cursor: grab; }

.fancybox-controls--isGrabbing .fancybox-placeholder {
  cursor: -webkit-grabbing;
  cursor: grabbing; }

.fancybox-spaceball {
  z-index: 1; }

.fancybox-tmp {
  position: absolute;
  top: -9999px;
  left: -9999px;
  visibility: hidden; }

.fancybox-error {
  position: absolute;
  margin: 0;
  padding: 40px;
  top: 50%;
  left: 50%;
  width: 380px;
  max-width: 100%;
  -webkit-transform: translate(-50%, -50%);
  -ms-transform: translate(-50%, -50%);
  transform: translate(-50%, -50%);
  background: #fff;
  cursor: default; }

.fancybox-error p {
  margin: 0;
  padding: 0;
  color: #444;
  font: 16px/20px "Helvetica Neue",Helvetica,Arial,sans-serif; }

.fancybox-close-small {
  position: absolute;
  top: 4px;
  right: 4px;
  padding: 0;
  margin: 0;
  width: 30px;
  height: 30px;
  font: 21px/1 Arial,"Helvetica Neue",Helvetica,sans-serif;
  color: #888;
  font-weight: 300;
  text-align: center;
  -webkit-border-radius: 50%;
  border-radius: 50%;
  border-width: 0;
  cursor: pointer;
  background: #fff;
  -webkit-transition: background .2s;
  -o-transition: background .2s;
  transition: background .2s;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  z-index: 2; }

.fancybox-close-small:focus {
  outline: 1px dotted #888; }

.fancybox-slide--video .fancybox-close-small {
  top: -36px;
  right: -36px;
  background: transparent; }

.fancybox-close-small:hover {
  color: #555;
  background: #eee; }

/* Caption */
.fancybox-caption-wrap {
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  padding: 60px 30px 0 30px;
  z-index: 99998;
  -webkit-backface-visibility: hidden;
  backface-visibility: hidden;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  background: -webkit-gradient(linear, left top, left bottom, from(transparent), color-stop(20%, rgba(0, 0, 0, 0.1)), color-stop(40%, rgba(0, 0, 0, 0.2)), color-stop(80%, rgba(0, 0, 0, 0.6)), to(rgba(0, 0, 0, 0.8)));
  background: -webkit-linear-gradient(top, transparent 0%, rgba(0, 0, 0, 0.1) 20%, rgba(0, 0, 0, 0.2) 40%, rgba(0, 0, 0, 0.6) 80%, rgba(0, 0, 0, 0.8) 100%);
  background: -o-linear-gradient(top, transparent 0%, rgba(0, 0, 0, 0.1) 20%, rgba(0, 0, 0, 0.2) 40%, rgba(0, 0, 0, 0.6) 80%, rgba(0, 0, 0, 0.8) 100%);
  background: linear-gradient(to bottom, transparent 0%, rgba(0, 0, 0, 0.1) 20%, rgba(0, 0, 0, 0.2) 40%, rgba(0, 0, 0, 0.6) 80%, rgba(0, 0, 0, 0.8) 100%);
  opacity: 0;
  -webkit-transition: opacity .2s;
  -o-transition: opacity .2s;
  transition: opacity .2s;
  pointer-events: none; }

.fancybox-show-caption .fancybox-caption-wrap {
  opacity: 1; }

.fancybox-caption {
  padding: 30px 0;
  border-top: 1px solid rgba(255, 255, 255, 0.4);
  font-size: 14px;
  font-family: "Helvetica Neue",Helvetica,Arial,sans-serif;
  color: #fff;
  line-height: 20px;
  -webkit-text-size-adjust: none; }

.fancybox-caption a,
.fancybox-caption button {
  pointer-events: all; }

.fancybox-caption a {
  color: #fff;
  text-decoration: underline; }

/* Buttons */
.fancybox-button {
  display: inline-block;
  position: relative;
  width: 44px;
  height: 44px;
  line-height: 44px;
  margin: 0;
  padding: 0;
  border: 0;
  -webkit-border-radius: 0;
  border-radius: 0;
  cursor: pointer;
  background: transparent;
  color: #fff;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  vertical-align: top;
  outline: none; }

.fancybox-button--disabled {
  cursor: default;
  pointer-events: none; }

.fancybox-infobar__body, .fancybox-button {
  background: rgba(30, 30, 30, 0.6); }

.fancybox-button:hover {
  background: rgba(0, 0, 0, 0.8); }

.fancybox-button::before,
.fancybox-button::after {
  content: '';
  pointer-events: none;
  position: absolute;
  border-color: #fff;
  background-color: currentColor;
  color: currentColor;
  opacity: 0.9;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  display: inline-block; }

.fancybox-button--disabled::before,
.fancybox-button--disabled::after {
  opacity: 0.5; }

.fancybox-button--left::after {
  left: 20px;
  top: 18px;
  width: 6px;
  height: 6px;
  background: transparent;
  border-top: solid 2px currentColor;
  border-right: solid 2px currentColor;
  -webkit-transform: rotate(-135deg);
  -ms-transform: rotate(-135deg);
  transform: rotate(-135deg); }

.fancybox-button--right::after {
  right: 20px;
  top: 18px;
  width: 6px;
  height: 6px;
  background: transparent;
  border-top: solid 2px currentColor;
  border-right: solid 2px currentColor;
  -webkit-transform: rotate(45deg);
  -ms-transform: rotate(45deg);
  transform: rotate(45deg); }

.fancybox-button--left {
  -webkit-border-bottom-left-radius: 5px;
  border-bottom-left-radius: 5px; }

.fancybox-button--right {
  -webkit-border-bottom-right-radius: 5px;
  border-bottom-right-radius: 5px; }

.fancybox-button--close {
  float: right; }

.fancybox-button--close::before, .fancybox-button--close::after {
  content: '';
  display: inline-block;
  position: absolute;
  height: 2px;
  width: 16px;
  top: calc(50% - 1px);
  left: calc(50% - 8px); }

.fancybox-button--close::before {
  -webkit-transform: rotate(45deg);
  -ms-transform: rotate(45deg);
  transform: rotate(45deg); }

.fancybox-button--close::after {
  -webkit-transform: rotate(-45deg);
  -ms-transform: rotate(-45deg);
  transform: rotate(-45deg); }

/* Loading spinner */
.fancybox-loading {
  border: 6px solid rgba(100, 100, 100, 0.4);
  border-top: 6px solid rgba(255, 255, 255, 0.6);
  -webkit-border-radius: 100%;
  border-radius: 100%;
  height: 50px;
  width: 50px;
  -webkit-animation: fancybox-rotate .8s infinite linear;
  animation: fancybox-rotate .8s infinite linear;
  background: transparent;
  position: absolute;
  top: 50%;
  left: 50%;
  margin-top: -25px;
  margin-left: -25px;
  z-index: 99999; }

@-webkit-keyframes fancybox-rotate {
  from {
    -webkit-transform: rotate(0deg);
    transform: rotate(0deg); }
  to {
    -webkit-transform: rotate(359deg);
    transform: rotate(359deg); } }

@keyframes fancybox-rotate {
  from {
    -webkit-transform: rotate(0deg);
    transform: rotate(0deg); }
  to {
    -webkit-transform: rotate(359deg);
    transform: rotate(359deg); } }

/* Styling for Small-Screen Devices */
@media all and (max-width: 800px) {
  .fancybox-controls {
    text-align: left; }
  .fancybox-button--left,
  .fancybox-button--right,
  .fancybox-buttons button:not(.fancybox-button--close) {
    display: none !important; }
  .fancybox-caption {
    padding: 20px 0;
    margin: 0; } }

/* Fullscreen  */
.fancybox-button--fullscreen::before {
  width: 15px;
  height: 11px;
  left: 15px;
  top: 16px;
  border: 2px solid;
  background: none; }

/* Slideshow button */
.fancybox-button--play::before {
  top: 16px;
  left: 18px;
  width: 0;
  height: 0;
  border-top: 6px inset transparent;
  border-bottom: 6px inset transparent;
  border-left: 10px solid;
  -webkit-border-radius: 1px;
  border-radius: 1px;
  background: transparent; }

.fancybox-button--pause::before {
  top: 16px;
  left: 18px;
  width: 7px;
  height: 11px;
  border-style: solid;
  border-width: 0 2px 0 2px;
  background: transparent; }

/* Thumbs */
.fancybox-button--thumbs span {
  font-size: 23px; }

.fancybox-button--thumbs::before {
  top: 20px;
  left: 21px;
  width: 3px;
  height: 3px;
  -webkit-box-shadow: 0 -4px 0, -4px -4px 0, 4px -4px 0, 0 0 0 32px inset, -4px 0 0, 4px 0 0, 0 4px 0, -4px 4px 0, 4px 4px 0;
  box-shadow: 0 -4px 0, -4px -4px 0, 4px -4px 0, 0 0 0 32px inset, -4px 0 0, 4px 0 0, 0 4px 0, -4px 4px 0, 4px 4px 0; }

.fancybox-container--thumbs .fancybox-controls,
.fancybox-container--thumbs .fancybox-slider-wrap,
.fancybox-container--thumbs .fancybox-caption-wrap {
  right: 220px; }

.fancybox-thumbs {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: auto;
  width: 220px;
  margin: 0;
  padding: 5px 5px 0 0;
  background: #fff;
  z-index: 99993;
  word-break: normal;
  -webkit-overflow-scrolling: touch;
  -webkit-tap-highlight-color: transparent;
  -webkit-box-sizing: border-box;
  box-sizing: border-box; }

.fancybox-thumbs > ul {
  list-style: none;
  position: absolute;
  position: relative;
  width: 100%;
  height: 100%;
  margin: 0;
  padding: 0;
  overflow-x: hidden;
  overflow-y: auto;
  font-size: 0; }

.fancybox-thumbs > ul > li {
  float: left;
  overflow: hidden;
  max-width: 50%;
  padding: 0;
  margin: 0;
  width: 105px;
  height: 75px;
  position: relative;
  cursor: pointer;
  outline: none;
  border: 5px solid #fff;
  border-top-width: 0;
  border-right-width: 0;
  -webkit-tap-highlight-color: transparent;
  -webkit-backface-visibility: hidden;
  backface-visibility: hidden;
  -webkit-box-sizing: border-box;
  box-sizing: border-box; }

li.fancybox-thumbs-loading {
  background: rgba(0, 0, 0, 0.1); }

.fancybox-thumbs > ul > li > img {
  position: absolute;
  top: 0;
  left: 0;
  min-width: 100%;
  min-height: 100%;
  max-width: none;
  max-height: none;
  -webkit-touch-callout: none;
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none; }

.fancybox-thumbs > ul > li:before {
  content: '';
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  -webkit-border-radius: 2px;
  border-radius: 2px;
  border: 4px solid #4ea7f9;
  z-index: 99991;
  opacity: 0;
  -webkit-transition: all 0.2s cubic-bezier(0.25, 0.46, 0.45, 0.94);
  -o-transition: all 0.2s cubic-bezier(0.25, 0.46, 0.45, 0.94);
  transition: all 0.2s cubic-bezier(0.25, 0.46, 0.45, 0.94); }

.fancybox-thumbs > ul > li.fancybox-thumbs-active:before {
  opacity: 1; }

/* Styling for Small-Screen Devices */
@media all and (max-width: 800px) {
  .fancybox-thumbs {
    display: none !important; }
  .fancybox-container--thumbs .fancybox-controls,
  .fancybox-container--thumbs .fancybox-slider-wrap,
  .fancybox-container--thumbs .fancybox-caption-wrap {
    right: 0; } }

/*! jQuery.Flipster, v1.1.3 (built 2019-05-01) */
.flipster {
  display: block;
  overflow-x: hidden;
  overflow-y: visible;
  position: relative; }

.flipster:focus {
  outline: none; }

.flipster__container,
.flipster__item {
  margin: 0;
  padding: 0;
  list-style-type: none;
  position: relative; }

.flipster__container {
  display: block;
  white-space: nowrap;
  word-spacing: -0.25em;
  -webkit-transform-origin: 50% 50%;
  -ms-transform-origin: 50% 50%;
  transform-origin: 50% 50%;
  -webkit-backface-visibility: hidden;
  backface-visibility: hidden; }

.flipster__item {
  display: inline-block;
  white-space: normal;
  word-spacing: normal;
  vertical-align: bottom; }

.flipster--click .flipster__item--past,
.flipster--click .flipster__item--future {
  cursor: pointer; }

.flipster__item img {
  max-width: 100%; }

.flipster__button {
  position: absolute;
  top: 50%;
  display: block;
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  background: none;
  border: none;
  padding: 0;
  z-index: 999;
  cursor: pointer;
  font-size: 15px;
  opacity: .5;
  -webkit-transition: opacity 500ms ease;
  -o-transition: opacity 500ms ease;
  transition: opacity 500ms ease;
  margin: -1em 2em; }

.flipster__button svg {
  width: 2em;
  stroke: currentColor;
  fill: transparent;
  stroke-width: 3;
  stroke-linecap: round; }

.flipster__button:hover,
.flipster__button:focus {
  opacity: 1; }

.flipster__button--prev {
  left: 0; }

.flipster__button--next {
  right: 0; }

.flipster__nav,
.flipster__nav__item {
  list-style-type: none;
  margin: 0;
  padding: 0; }

.flipster__nav {
  display: block;
  margin: 0 0 4em;
  text-align: center;
  position: relative; }

.flipster__nav__item {
  display: inline-block;
  margin: 0 .25em; }

.flipster__nav__link {
  display: block;
  color: inherit;
  padding: .5em 1em;
  position: relative;
  overflow: hidden;
  -webkit-transition: all 250ms ease-out;
  -o-transition: all 250ms ease-out;
  transition: all 250ms ease-out;
  -webkit-transition-timing-function: cubic-bezier(0.56, 0.12, 0.12, 0.98);
  -o-transition-timing-function: cubic-bezier(0.56, 0.12, 0.12, 0.98);
  transition-timing-function: cubic-bezier(0.56, 0.12, 0.12, 0.98); }

.flipster__nav__link::after {
  content: '';
  display: block;
  background: #232221;
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: -1;
  -webkit-transform: translateY(100%) translateY(-0.25em);
  -ms-transform: translateY(100%) translateY(-0.25em);
  transform: translateY(100%) translateY(-0.25em);
  -webkit-transition: inherit;
  -o-transition: inherit;
  transition: inherit; }

.flipster__nav__item--current > .flipster__nav__link,
.flipster__nav__link:hover,
.flipster__nav__link:focus {
  color: #FFF; }

.flipster__nav__item--current > .flipster__nav__link::after,
.flipster__nav__link:hover::after,
.flipster__nav__link:focus::after {
  -webkit-transform: translateY(0);
  -ms-transform: translateY(0);
  transform: translateY(0); }

.flipster__nav__child {
  display: none;
  position: absolute;
  top: 100%;
  left: 0;
  right: 0;
  margin-top: -1px;
  padding: .5em;
  background: #4e4441;
  z-index: 1; }

.flipster__nav__child .flipster__nav__link {
  color: #FFF; }

.flipster__nav__child .flipster__nav__link::after {
  background: #FFF; }

.flipster__nav__child .flipster__nav__item--current > .flipster__nav__link,
.flipster__nav__child .flipster__nav__link:hover,
.flipster__nav__child .flipster__nav__link:focus {
  color: #232221; }

.flipster__nav__item--current .flipster__nav__child {
  display: block; }

.flipster--carousel .flipster__container,
.flipster--carousel .flipster__item,
.flipster--carousel .flipster__item__content {
  -webkit-transition: all 350ms ease-in-out;
  -o-transition: all 350ms ease-in-out;
  transition: all 350ms ease-in-out;
  -webkit-transition-timing-function: cubic-bezier(0.56, 0.12, 0.12, 0.98);
  -o-transition-timing-function: cubic-bezier(0.56, 0.12, 0.12, 0.98);
  transition-timing-function: cubic-bezier(0.56, 0.12, 0.12, 0.98); }

.flipster--carousel .flipster__item {
  -webkit-perspective: 800px;
  perspective: 800px; }

.flipster--carousel .flipster__item--past,
.flipster--carousel .flipster__item--future {
  opacity: 0;
  -webkit-transition-delay: 115ms;
  -o-transition-delay: 115ms;
  transition-delay: 115ms; }

.flipster--carousel .flipster__item--past-2,
.flipster--carousel .flipster__item--future-2 {
  opacity: .6;
  -webkit-transition-delay: 90ms;
  -o-transition-delay: 90ms;
  transition-delay: 90ms; }

.flipster--carousel .flipster__item--past-1,
.flipster--carousel .flipster__item--future-1 {
  opacity: .8;
  -webkit-transition-delay: 60ms;
  -o-transition-delay: 60ms;
  transition-delay: 60ms; }

.flipster--carousel .flipster__item--past .flipster__item__content {
  -webkit-transform: translateX(100%) rotateY(-20deg) scale(0.5);
  transform: translateX(100%) rotateY(-20deg) scale(0.5); }

.flipster--carousel .flipster__item--past-2 .flipster__item__content {
  -webkit-transform: translateX(5%) rotateY(5deg) scale(0.65);
  transform: translateX(5%) rotateY(5deg) scale(0.65); }

.flipster--carousel .flipster__item--past-1 .flipster__item__content {
  -webkit-transform: rotateY(5deg) scale(0.8);
  transform: rotateY(5deg) scale(0.8); }

.flipster--carousel .flipster__item--future .flipster__item__content {
  -webkit-transform: translateX(-100%) rotateY(20deg) scale(0.5);
  transform: translateX(-100%) rotateY(20deg) scale(0.5); }

.flipster--carousel .flipster__item--future-2 .flipster__item__content {
  -webkit-transform: translateX(-5%) rotateY(-5deg) scale(0.65);
  transform: translateX(-5%) rotateY(-5deg) scale(0.65); }

.flipster--carousel .flipster__item--future-1 .flipster__item__content {
  -webkit-transform: rotateY(-5deg) scale(0.8);
  transform: rotateY(-5deg) scale(0.8); }

.flipster--carousel.no-rotate .flipster__item--past .flipster__item__content {
  -webkit-transform: translateX(175%) scale(0.5);
  -ms-transform: translateX(175%) scale(0.5);
  transform: translateX(175%) scale(0.5); }

.flipster--carousel.no-rotate .flipster__item--past-2 .flipster__item__content {
  -webkit-transform: translateX(25%) scale(0.65);
  -ms-transform: translateX(25%) scale(0.65);
  transform: translateX(25%) scale(0.65); }

.flipster--carousel.no-rotate .flipster__item--past-1 .flipster__item__content {
  -webkit-transform: translateX(0%) scale(0.8);
  -ms-transform: translateX(0%) scale(0.8);
  transform: translateX(0%) scale(0.8); }

.flipster--carousel.no-rotate .flipster__item--future .flipster__item__content {
  -webkit-transform: translateX(-175%) scale(0.5);
  -ms-transform: translateX(-175%) scale(0.5);
  transform: translateX(-175%) scale(0.5); }

.flipster--carousel.no-rotate .flipster__item--future-2 .flipster__item__content {
  -webkit-transform: translateX(-25%) scale(0.65);
  -ms-transform: translateX(-25%) scale(0.65);
  transform: translateX(-25%) scale(0.65); }

.flipster--carousel.no-rotate .flipster__item--future-1 .flipster__item__content {
  -webkit-transform: translateX(0%) scale(0.8);
  -ms-transform: translateX(0%) scale(0.8);
  transform: translateX(0%) scale(0.8); }

.flipster--carousel .flipster__item--current .flipster__item__content {
  -webkit-transform: translateX(0) rotateY(0deg) scale(1);
  transform: translateX(0) rotateY(0deg) scale(1);
  -webkit-transition-delay: 60ms;
  -o-transition-delay: 60ms;
  transition-delay: 60ms; }

.flipster--coverflow .flipster__container,
.flipster--coverflow .flipster__item,
.flipster--coverflow .flipster__item__content {
  -webkit-transition: all 350ms ease-in-out;
  -o-transition: all 350ms ease-in-out;
  transition: all 350ms ease-in-out;
  -webkit-transition-timing-function: cubic-bezier(0.56, 0.12, 0.12, 0.98);
  -o-transition-timing-function: cubic-bezier(0.56, 0.12, 0.12, 0.98);
  transition-timing-function: cubic-bezier(0.56, 0.12, 0.12, 0.98); }

.flipster--coverflow .flipster__item {
  -webkit-perspective: 800px;
  perspective: 800px; }

.flipster--coverflow .flipster__container {
  padding-bottom: 5%; }

.flipster--coverflow .flipster__item__content {
  -webkit-transform-origin: 50% 100%;
  -ms-transform-origin: 50% 100%;
  transform-origin: 50% 100%;
  box-reflect: below 0 -webkit-gradient(linear, left bottom, left top, color-stop(0.05, rgba(255, 255, 255, 0.12)), color-stop(0.2, transparent));
  -webkit-box-reflect: below 0 -webkit-gradient(linear, left bottom, left top, color-stop(0.05, rgba(255, 255, 255, 0.12)), color-stop(0.2, transparent)); }

.flipster--coverflow .flipster__item__content img:only-child {
  display: block; }

.flipster--coverflow .flipster__item--past .flipster__item__content {
  -webkit-transform-origin: 0% 50%;
  -ms-transform-origin: 0% 50%;
  transform-origin: 0% 50%;
  -webkit-transform: scale(0.75) rotateY(55deg);
  transform: scale(0.75) rotateY(55deg); }

.flipster--coverflow .flipster__item--future .flipster__item__content {
  -webkit-transform-origin: 100% 50%;
  -ms-transform-origin: 100% 50%;
  transform-origin: 100% 50%;
  -webkit-transform: scale(0.75) rotateY(-55deg);
  transform: scale(0.75) rotateY(-55deg); }

.flipster--coverflow .flip-current .flipster__item__content {
  -webkit-transform: rotateY(0deg);
  transform: rotateY(0deg); }

.flipster--flat .flipster__container,
.flipster--flat .flipster__item,
.flipster--flat .flipster__item__content {
  -webkit-transition: all 400ms ease-in-out;
  -o-transition: all 400ms ease-in-out;
  transition: all 400ms ease-in-out; }

.flipster--flat .flipster__item--past,
.flipster--flat .flipster__item--future {
  opacity: .5; }

.flipster--flat .flipster__item--past .flipster__item__content {
  -webkit-transform: scale(0.75);
  -ms-transform: scale(0.75);
  transform: scale(0.75); }

.flipster--flat .flipster__item--future .flipster__item__content {
  -webkit-transform: scale(0.75);
  -ms-transform: scale(0.75);
  transform: scale(0.75); }

.flipster--wheel {
  overflow: hidden; }

.flipster--wheel .flipster__container,
.flipster--wheel .flipster__item__content {
  -webkit-transition: all 400ms ease-in-out;
  -o-transition: all 400ms ease-in-out;
  transition: all 400ms ease-in-out;
  -webkit-transition-timing-function: cubic-bezier(0.56, 0.12, 0.12, 0.98);
  -o-transition-timing-function: cubic-bezier(0.56, 0.12, 0.12, 0.98);
  transition-timing-function: cubic-bezier(0.56, 0.12, 0.12, 0.98); }

.flipster--wheel .flipster__container {
  padding-bottom: 20%; }

.flipster--wheel .flipster__item__content {
  -webkit-transform-origin: 50% 100%;
  -ms-transform-origin: 50% 100%;
  transform-origin: 50% 100%; }

.flipster--wheel .flipster__item--past .flipster__item__content {
  -webkit-transform-origin: 100% 100%;
  -ms-transform-origin: 100% 100%;
  transform-origin: 100% 100%; }

.flipster--wheel .flipster__item--future .flipster__item__content {
  -webkit-transform-origin: 0% 100%;
  -ms-transform-origin: 0% 100%;
  transform-origin: 0% 100%; }

.flipster--wheel .flipster__item__content img:only-child {
  display: block; }

.flipster--wheel .flipster__item--past .flipster__item__content {
  opacity: 0;
  -webkit-transform: rotateZ(-80deg) translate(-170%, 110%);
  -ms-transform: rotate(-80deg) translate(-170%, 110%);
  transform: rotateZ(-80deg) translate(-170%, 110%); }

.flipster--wheel .flipster__item--future .flipster__item__content {
  opacity: 0;
  -webkit-transform: rotateZ(80deg) translate(170%, 110%);
  -ms-transform: rotate(80deg) translate(170%, 110%);
  transform: rotateZ(80deg) translate(170%, 110%); }

.flipster--wheel .flipster__item--past-3 .flipster__item__content {
  opacity: 1;
  -webkit-transform: rotateZ(-60deg) translate(-70%, 75%);
  -ms-transform: rotate(-60deg) translate(-70%, 75%);
  transform: rotateZ(-60deg) translate(-70%, 75%); }

.flipster--wheel .flipster__item--future-3 .flipster__item__content {
  opacity: 1;
  -webkit-transform: rotateZ(60deg) translate(70%, 75%);
  -ms-transform: rotate(60deg) translate(70%, 75%);
  transform: rotateZ(60deg) translate(70%, 75%); }

.flipster--wheel .flipster__item--past-2 .flipster__item__content {
  opacity: 1;
  -webkit-transform: rotateZ(-40deg) translate(-17%, 30%);
  -ms-transform: rotate(-40deg) translate(-17%, 30%);
  transform: rotateZ(-40deg) translate(-17%, 30%); }

.flipster--wheel .flipster__item--future-2 .flipster__item__content {
  opacity: 1;
  -webkit-transform: rotateZ(40deg) translate(17%, 30%);
  -ms-transform: rotate(40deg) translate(17%, 30%);
  transform: rotateZ(40deg) translate(17%, 30%); }

.flipster--wheel .flipster__item--past-1 .flipster__item__content {
  opacity: 1;
  -webkit-transform: rotateZ(-20deg);
  -ms-transform: rotate(-20deg);
  transform: rotateZ(-20deg); }

.flipster--wheel .flipster__item--future-1 .flipster__item__content {
  opacity: 1;
  -webkit-transform: rotateZ(20deg);
  -ms-transform: rotate(20deg);
  transform: rotateZ(20deg); }

.flipster--wheel .flip-current .flipster__item__content {
  -webkit-transform: rotateX(0deg);
  transform: rotateX(0deg); }

.nice-select {
  -webkit-tap-highlight-color: rgba(0, 0, 0, 0);
  background-color: #fff;
  -webkit-border-radius: 5px;
  border-radius: 5px;
  border: solid 1px #e8e8e8;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  clear: both;
  cursor: pointer;
  display: block;
  float: left;
  font-family: inherit;
  font-size: 14px;
  font-weight: normal;
  height: 42px;
  line-height: 40px;
  outline: none;
  padding-left: 18px;
  padding-right: 30px;
  position: relative;
  text-align: left !important;
  -webkit-transition: all 0.2s ease-in-out;
  -o-transition: all 0.2s ease-in-out;
  transition: all 0.2s ease-in-out;
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
  white-space: nowrap;
  width: auto; }
  .nice-select:hover {
    border-color: #dbdbdb; }
  .nice-select:active, .nice-select.open, .nice-select:focus {
    border-color: #999; }
  .nice-select:after {
    border-bottom: 2px solid #999;
    border-right: 2px solid #999;
    content: '';
    display: block;
    height: 5px;
    margin-top: -4px;
    pointer-events: none;
    position: absolute;
    right: 12px;
    top: 50%;
    -webkit-transform-origin: 66% 66%;
    -ms-transform-origin: 66% 66%;
    transform-origin: 66% 66%;
    -webkit-transform: rotate(45deg);
    -ms-transform: rotate(45deg);
    transform: rotate(45deg);
    -webkit-transition: all 0.15s ease-in-out;
    -o-transition: all 0.15s ease-in-out;
    transition: all 0.15s ease-in-out;
    width: 5px; }
  .nice-select.open:after {
    -webkit-transform: rotate(-135deg);
    -ms-transform: rotate(-135deg);
    transform: rotate(-135deg); }
  .nice-select.open .list {
    opacity: 1;
    pointer-events: auto;
    -webkit-transform: scale(1) translateY(0);
    -ms-transform: scale(1) translateY(0);
    transform: scale(1) translateY(0); }
  .nice-select.disabled {
    border-color: #ededed;
    color: #999;
    pointer-events: none; }
    .nice-select.disabled:after {
      border-color: #cccccc; }
  .nice-select.wide {
    width: 100%; }
    .nice-select.wide .list {
      left: 0 !important;
      right: 0 !important; }
  .nice-select.right {
    float: right; }
    .nice-select.right .list {
      left: auto;
      right: 0; }
  .nice-select.small {
    font-size: 12px;
    height: 36px;
    line-height: 34px; }
    .nice-select.small:after {
      height: 4px;
      width: 4px; }
    .nice-select.small .option {
      line-height: 34px;
      min-height: 34px; }
  .nice-select .list {
    background-color: #fff;
    -webkit-border-radius: 5px;
    border-radius: 5px;
    -webkit-box-shadow: 0 0 0 1px rgba(68, 68, 68, 0.11);
    box-shadow: 0 0 0 1px rgba(68, 68, 68, 0.11);
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    margin-top: 4px;
    opacity: 0;
    overflow: hidden;
    padding: 0;
    pointer-events: none;
    position: absolute;
    top: 100%;
    left: 0;
    -webkit-transform-origin: 50% 0;
    -ms-transform-origin: 50% 0;
    transform-origin: 50% 0;
    -webkit-transform: scale(0.75) translateY(-21px);
    -ms-transform: scale(0.75) translateY(-21px);
    transform: scale(0.75) translateY(-21px);
    -webkit-transition: all 0.2s cubic-bezier(0.5, 0, 0, 1.25), opacity 0.15s ease-out;
    -o-transition: all 0.2s cubic-bezier(0.5, 0, 0, 1.25), opacity 0.15s ease-out;
    transition: all 0.2s cubic-bezier(0.5, 0, 0, 1.25), opacity 0.15s ease-out;
    z-index: 9; }
    .nice-select .list:hover .option:not(:hover) {
      background-color: transparent !important; }
  .nice-select .option {
    cursor: pointer;
    font-weight: 400;
    line-height: 40px;
    list-style: none;
    min-height: 40px;
    outline: none;
    padding-left: 18px;
    padding-right: 29px;
    text-align: left;
    -webkit-transition: all 0.2s;
    -o-transition: all 0.2s;
    transition: all 0.2s; }
    .nice-select .option:hover, .nice-select .option.focus, .nice-select .option.selected.focus {
      background-color: #f6f6f6; }
    .nice-select .option.selected {
      font-weight: bold; }
    .nice-select .option.disabled {
      background-color: transparent;
      color: #999;
      cursor: default; }

.no-csspointerevents .nice-select .list {
  display: none; }

.no-csspointerevents .nice-select.open .list {
  display: block; }

/*animations*/
/******************
* Bounce in right *
*******************/
.animated {
  -webkit-animation-duration: 1s;
  animation-duration: 1s;
  -webkit-animation-fill-mode: both;
  animation-fill-mode: both; }

.slow {
  -webkit-animation-duration: 1.5s;
  animation-duration: 1.5s;
  -webkit-animation-fill-mode: both;
  animation-fill-mode: both; }

.slower {
  -webkit-animation-duration: 2s;
  animation-duration: 2s;
  -webkit-animation-fill-mode: both;
  animation-fill-mode: both; }

.slowest {
  -webkit-animation-duration: 3s;
  animation-duration: 3s;
  -webkit-animation-fill-mode: both;
  animation-fill-mode: both; }

/* Added by Andy Meetan */
.delay-250 {
  -webkit-animation-delay: 0.25s;
  animation-delay: 0.25s; }

.delay-500 {
  -webkit-animation-delay: 0.5s;
  animation-delay: 0.5s; }

.delay-750 {
  -webkit-animation-delay: 0.75s;
  animation-delay: 0.75s; }

.delay-1000 {
  -webkit-animation-delay: 1.0s;
  animation-delay: 1.0s; }

.delay-1250 {
  -webkit-animation-delay: 1.25s;
  animation-delay: 1.25s; }

.delay-1500 {
  -webkit-animation-delay: 1.5s;
  animation-delay: 1.5s; }

.delay-1750 {
  -webkit-animation-delay: 1.75s;
  animation-delay: 1.75s; }

.delay-2000 {
  -webkit-animation-delay: 2.0s;
  animation-delay: 2.0s; }

.delay-2500 {
  -webkit-animation-delay: 2.5s;
  animation-delay: 2.5s; }

.delay-2000 {
  -webkit-animation-delay: 2.0s;
  animation-delay: 2.0s; }

.delay-2500 {
  -webkit-animation-delay: 2.5s;
  animation-delay: 2.5s; }

.delay-3000 {
  -webkit-animation-delay: 3.0s;
  animation-delay: 3.0s; }

.delay-3500 {
  -webkit-animation-delay: 3.5s;
  animation-delay: 3.5s; }

.bounceInRight,
.bounceInLeft,
.bounceInUp,
.bounceInDown {
  opacity: 0;
  -webkit-transform: translateX(400px);
  -ms-transform: translateX(400px);
  transform: translateX(400px); }

.fadeInRight,
.fadeInLeft,
.fadeInUp,
.fadeInDown {
  opacity: 0;
  -webkit-transform: translateX(400px);
  -ms-transform: translateX(400px);
  transform: translateX(400px); }

.flipInX,
.flipInY,
.rotateIn,
.rotateInUpLeft,
.rotateInUpRight,
.rotateInDownLeft,
.rotateDownUpRight,
.rollIn {
  opacity: 0; }

.lightSpeedInRight,
.lightSpeedInLeft {
  opacity: 0;
  -webkit-transform: translateX(400px);
  -ms-transform: translateX(400px);
  transform: translateX(400px); }

/***********
* bounceIn *
************/
@-webkit-keyframes bounceIn {
  0% {
    opacity: 0;
    -webkit-transform: scale(0.3); }
  50% {
    opacity: 1;
    -webkit-transform: scale(1.05); }
  70% {
    -webkit-transform: scale(0.9); }
  100% {
    -webkit-transform: scale(1); } }

@keyframes bounceIn {
  0% {
    opacity: 0;
    -webkit-transform: scale(0.3);
    transform: scale(0.3); }
  50% {
    opacity: 1;
    -webkit-transform: scale(1.05);
    transform: scale(1.05); }
  70% {
    -webkit-transform: scale(0.9);
    transform: scale(0.9); }
  100% {
    -webkit-transform: scale(1);
    transform: scale(1); } }

.bounceIn.go {
  -webkit-animation-name: bounceIn;
  animation-name: bounceIn; }

/****************
* bounceInRight *
****************/
@-webkit-keyframes bounceInRight {
  0% {
    opacity: 0;
    -webkit-transform: translateX(400px); }
  60% {
    -webkit-transform: translateX(-30px); }
  80% {
    -webkit-transform: translateX(10px); }
  100% {
    opacity: 1;
    -webkit-transform: translateX(0); } }

@keyframes bounceInRight {
  0% {
    opacity: 0;
    -webkit-transform: translateX(400px);
    transform: translateX(400px); }
  60% {
    -webkit-transform: translateX(-30px);
    transform: translateX(-30px); }
  80% {
    -webkit-transform: translateX(10px);
    transform: translateX(10px); }
  100% {
    opacity: 1;
    -webkit-transform: translateX(0);
    transform: translateX(0); } }

.bounceInRight.go {
  -webkit-animation-name: bounceInRight;
  animation-name: bounceInRight; }

/******************
* Bounce in left *
*******************/
@-webkit-keyframes bounceInLeft {
  0% {
    opacity: 0;
    -webkit-transform: translateX(-400px); }
  60% {
    -webkit-transform: translateX(30px); }
  80% {
    -webkit-transform: translateX(-10px); }
  100% {
    opacity: 1;
    -webkit-transform: translateX(0); } }

@keyframes bounceInLeft {
  0% {
    opacity: 0;
    -webkit-transform: translateX(-400px);
    transform: translateX(-400px); }
  60% {
    -webkit-transform: translateX(30px);
    transform: translateX(30px); }
  80% {
    -webkit-transform: translateX(-10px);
    transform: translateX(-10px); }
  100% {
    opacity: 1;
    -webkit-transform: translateX(0);
    transform: translateX(0); } }

.bounceInLeft.go {
  -webkit-animation-name: bounceInLeft;
  animation-name: bounceInLeft; }

/******************
* Bounce in up *
*******************/
@-webkit-keyframes bounceInUp {
  0% {
    opacity: 0;
    -webkit-transform: translateY(400px); }
  60% {
    -webkit-transform: translateY(-30px); }
  80% {
    -webkit-transform: translateY(10px); }
  100% {
    opacity: 1;
    -webkit-transform: translateY(0); } }

@keyframes bounceInUp {
  0% {
    opacity: 0;
    -webkit-transform: translateY(400px);
    transform: translateY(400px); }
  60% {
    -webkit-transform: translateY(-30px);
    transform: translateY(-30px); }
  80% {
    -webkit-transform: translateY(10px);
    transform: translateY(10px); }
  100% {
    opacity: 1;
    -webkit-transform: translateY(0);
    transform: translateY(0); } }

.bounceInUp.go {
  -webkit-animation-name: bounceInUp;
  animation-name: bounceInUp; }

/******************
* Bounce in down *
*******************/
@-webkit-keyframes bounceInDown {
  0% {
    opacity: 0;
    -webkit-transform: translateY(-400px); }
  60% {
    -webkit-transform: translateY(30px); }
  80% {
    -webkit-transform: translateY(-10px); }
  100% {
    opacity: 1;
    -webkit-transform: translateY(0); } }

@keyframes bounceInDown {
  0% {
    opacity: 0;
    -webkit-transform: translateY(-400px);
    transform: translateY(-400px); }
  60% {
    -webkit-transform: translateY(30px);
    transform: translateY(30px); }
  80% {
    -webkit-transform: translateY(-10px);
    transform: translateY(-10px); }
  100% {
    opacity: 1;
    -webkit-transform: translateY(0);
    transform: translateY(0); } }

.bounceInDown.go {
  -webkit-animation-name: bounceInDown;
  animation-name: bounceInDown; }

/**********
* Fade In *
**********/
@-webkit-keyframes fadeIn {
  0% {
    opacity: 0; }
  100% {
    opacity: 1;
    display: block; } }

@keyframes fadeIn {
  0% {
    opacity: 0; }
  100% {
    opacity: 1;
    display: block; } }

.fadeIn {
  opacity: 0; }

.fadeIn.go {
  -webkit-animation-name: fadeIn;
  animation-name: fadeIn; }

/**********
* Grow in *
***********/
@-webkit-keyframes growIn {
  0% {
    -webkit-transform: scale(0.2);
    opacity: 0; }
  50% {
    -webkit-transform: scale(1.2); }
  100% {
    -webkit-transform: scale(1);
    opacity: 1; } }

@keyframes growIn {
  0% {
    -webkit-transform: scale(0.2);
    transform: scale(0.2);
    opacity: 0; }
  50% {
    -webkit-transform: scale(1.2);
    transform: scale(1.2); }
  100% {
    -webkit-transform: scale(1);
    transform: scale(1);
    opacity: 1; } }

.growIn {
  -webkit-transform: scale(0.2);
  -ms-transform: scale(0.2);
  transform: scale(0.2);
  opacity: 0; }

.growIn.go {
  -webkit-animation-name: growIn;
  animation-name: growIn; }

/********
* Shake *
********/
@-webkit-keyframes shake {
  0%,
  100% {
    -webkit-transform: translateX(0); }
  10%,
  30%,
  50%,
  70%,
  90% {
    -webkit-transform: translateX(-10px); }
  20%,
  40%,
  60%,
  80% {
    -webkit-transform: translateX(10px); } }

@keyframes shake {
  0%,
  100% {
    -webkit-transform: translateX(0);
    transform: translateX(0); }
  10%,
  30%,
  50%,
  70%,
  90% {
    -webkit-transform: translateX(-10px);
    transform: translateX(-10px); }
  20%,
  40%,
  60%,
  80% {
    -webkit-transform: translateX(10px);
    transform: translateX(10px); } }

.shake.go {
  -webkit-animation-name: shake;
  animation-name: shake; }

/********
* ShakeUp *
********/
@-webkit-keyframes shakeUp {
  0%,
  100% {
    -webkit-transform: translateY(0); }
  10%,
  30%,
  50%,
  70%,
  90% {
    -webkit-transform: translateY(-10px); }
  20%,
  40%,
  60%,
  80% {
    -webkit-transform: translateY(10px); } }

@keyframes shakeUp {
  0%,
  100% {
    -webkit-transform: translateY(0);
    transform: translateY(0); }
  10%,
  30%,
  50%,
  70%,
  90% {
    -webkit-transform: translateY(-10px);
    transform: translateY(-10px); }
  20%,
  40%,
  60%,
  80% {
    -webkit-transform: translateY(10px);
    transform: translateY(10px); } }

.shakeUp.go {
  -webkit-animation-name: shakeUp;
  animation-name: shakeUp; }

/*************
* FadeInLeft *
*************/
@-webkit-keyframes fadeInLeft {
  0% {
    opacity: 0;
    -webkit-transform: translateX(-400px); }
  50% {
    opacity: 0.3; }
  100% {
    opacity: 1;
    -webkit-transform: translateX(0); } }

@keyframes fadeInLeft {
  0% {
    opacity: 0;
    -webkit-transform: translateX(-400px);
    transform: translateX(-400px); }
  50% {
    opacity: 0.3; }
  100% {
    opacity: 1;
    -webkit-transform: translateX(0);
    transform: translateX(0); } }

.fadeInLeft {
  opacity: 0;
  -webkit-transform: translateX(-400px);
  -ms-transform: translateX(-400px);
  transform: translateX(-400px); }

.fadeInLeft.go {
  -webkit-animation-name: fadeInLeft;
  animation-name: fadeInLeft; }

/*************
* FadeInRight *
*************/
@-webkit-keyframes fadeInRight {
  0% {
    opacity: 0;
    -webkit-transform: translateX(400px); }
  50% {
    opacity: 0.3; }
  100% {
    opacity: 1;
    -webkit-transform: translateX(0); } }

@keyframes fadeInRight {
  0% {
    opacity: 0;
    -webkit-transform: translateX(400px);
    transform: translateX(400px); }
  50% {
    opacity: 0.3; }
  100% {
    opacity: 1;
    -webkit-transform: translateX(0);
    transform: translateX(0); } }

.fadeInRight {
  opacity: 0;
  -webkit-transform: translateX(400px);
  -ms-transform: translateX(400px);
  transform: translateX(400px); }

.fadeInRight.go {
  -webkit-animation-name: fadeInRight;
  animation-name: fadeInRight; }

/*************
* FadeInUp *
*************/
@-webkit-keyframes fadeInUp {
  0% {
    opacity: 0;
    -webkit-transform: translateY(400px); }
  50% {
    opacity: 0.3; }
  100% {
    opacity: 1;
    -webkit-transform: translateY(0); } }

@keyframes fadeInUp {
  0% {
    opacity: 0;
    -webkit-transform: translateY(400px);
    transform: translateY(400px); }
  50% {
    opacity: 0.3; }
  100% {
    opacity: 1;
    -webkit-transform: translateY(0);
    transform: translateY(0); } }

.fadeInUp {
  opacity: 0;
  -webkit-transform: translateY(400px);
  -ms-transform: translateY(400px);
  transform: translateY(400px); }

.fadeInUp.go {
  -webkit-animation-name: fadeInUp;
  animation-name: fadeInUp; }

/*************
* FadeInDown *
*************/
@-webkit-keyframes fadeInDown {
  0% {
    opacity: 0;
    -webkit-transform: translateY(-400px); }
  50% {
    opacity: 0.3; }
  100% {
    opacity: 1;
    -webkit-transform: translateY(0); } }

@keyframes fadeInDown {
  0% {
    opacity: 0;
    -webkit-transform: translateY(-400px);
    transform: translateY(-400px); }
  50% {
    opacity: 0.3; }
  100% {
    opacity: 1;
    -webkit-transform: translateY(0);
    transform: translateY(0); } }

.fadeInDown {
  opacity: 0;
  -webkit-transform: translateY(-400px);
  -ms-transform: translateY(-400px);
  transform: translateY(-400px); }

.fadeInDown.go {
  -webkit-animation-name: fadeInDown;
  animation-name: fadeInDown; }

/*****************
* rotateIn *
*****************/
@-webkit-keyframes rotateIn {
  0% {
    -webkit-transform-origin: center center;
    -webkit-transform: rotate(-200deg);
    opacity: 0; }
  100% {
    -webkit-transform-origin: center center;
    -webkit-transform: rotate(0);
    opacity: 1; } }

@keyframes rotateIn {
  0% {
    -webkit-transform-origin: center center;
    transform-origin: center center;
    -webkit-transform: rotate(-200deg);
    transform: rotate(-200deg);
    opacity: 0; }
  100% {
    -webkit-transform-origin: center center;
    transform-origin: center center;
    -webkit-transform: rotate(0);
    transform: rotate(0);
    opacity: 1; } }

.rotateIn.go {
  -webkit-animation-name: rotateIn;
  animation-name: rotateIn; }

/*****************
* rotateInUpLeft *
*****************/
@-webkit-keyframes rotateInUpLeft {
  0% {
    -webkit-transform-origin: left bottom;
    -webkit-transform: rotate(90deg);
    opacity: 0; }
  100% {
    -webkit-transform-origin: left bottom;
    -webkit-transform: rotate(0);
    opacity: 1; } }

@keyframes rotateInUpLeft {
  0% {
    -webkit-transform-origin: left bottom;
    transform-origin: left bottom;
    -webkit-transform: rotate(90deg);
    transform: rotate(90deg);
    opacity: 0; }
  100% {
    -webkit-transform-origin: left bottom;
    transform-origin: left bottom;
    -webkit-transform: rotate(0);
    transform: rotate(0);
    opacity: 1; } }

.rotateInUpLeft.go {
  -webkit-animation-name: rotateInUpLeft;
  animation-name: rotateInUpLeft; }

/*******************
* rotateInDownLeft *
*******************/
@-webkit-keyframes rotateInDownLeft {
  0% {
    -webkit-transform-origin: left bottom;
    -webkit-transform: rotate(-90deg);
    opacity: 0; }
  100% {
    -webkit-transform-origin: left bottom;
    -webkit-transform: rotate(0);
    opacity: 1; } }

@keyframes rotateInDownLeft {
  0% {
    -webkit-transform-origin: left bottom;
    transform-origin: left bottom;
    -webkit-transform: rotate(-90deg);
    transform: rotate(-90deg);
    opacity: 0; }
  100% {
    -webkit-transform-origin: left bottom;
    transform-origin: left bottom;
    -webkit-transform: rotate(0);
    transform: rotate(0);
    opacity: 1; } }

.rotateInDownLeft.go {
  -webkit-animation-name: rotateInDownLeft;
  animation-name: rotateInDownLeft; }

/******************
* rotateInUpRight *
*******************/
@-webkit-keyframes rotateInUpRight {
  0% {
    -webkit-transform-origin: right bottom;
    -webkit-transform: rotate(-90deg);
    opacity: 0; }
  100% {
    -webkit-transform-origin: right bottom;
    -webkit-transform: rotate(0);
    opacity: 1; } }

@keyframes rotateInUpRight {
  0% {
    -webkit-transform-origin: right bottom;
    transform-origin: right bottom;
    -webkit-transform: rotate(-90deg);
    transform: rotate(-90deg);
    opacity: 0; }
  100% {
    -webkit-transform-origin: right bottom;
    transform-origin: right bottom;
    -webkit-transform: rotate(0);
    transform: rotate(0);
    opacity: 1; } }

.rotateInUpRight.go {
  -webkit-animation-name: rotateInUpRight;
  animation-name: rotateInUpRight; }

/********************
* rotateInDownRight *
********************/
@-webkit-keyframes rotateInDownRight {
  0% {
    -webkit-transform-origin: right bottom;
    -webkit-transform: rotate(90deg);
    opacity: 0; }
  100% {
    -webkit-transform-origin: right bottom;
    -webkit-transform: rotate(0);
    opacity: 1; } }

@keyframes rotateInDownRight {
  0% {
    -webkit-transform-origin: right bottom;
    transform-origin: right bottom;
    -webkit-transform: rotate(90deg);
    transform: rotate(90deg);
    opacity: 0; }
  100% {
    -webkit-transform-origin: right bottom;
    transform-origin: right bottom;
    -webkit-transform: rotate(0);
    transform: rotate(0);
    opacity: 1; } }

.rotateInDownRight.go {
  -webkit-animation-name: rotateInDownRight;
  animation-name: rotateInDownRight; }

/*********
* rollIn *
**********/
@-webkit-keyframes rollIn {
  0% {
    opacity: 0;
    -webkit-transform: translateX(-100%) rotate(-120deg); }
  100% {
    opacity: 1;
    -webkit-transform: translateX(0px) rotate(0deg); } }

@keyframes rollIn {
  0% {
    opacity: 0;
    -webkit-transform: translateX(-100%) rotate(-120deg);
    transform: translateX(-100%) rotate(-120deg); }
  100% {
    opacity: 1;
    -webkit-transform: translateX(0px) rotate(0deg);
    transform: translateX(0px) rotate(0deg); } }

.rollIn.go {
  -webkit-animation-name: rollIn;
  animation-name: rollIn; }

/*********
* wiggle *
**********/
@-webkit-keyframes wiggle {
  0% {
    -webkit-transform: skewX(9deg); }
  10% {
    -webkit-transform: skewX(-8deg); }
  20% {
    -webkit-transform: skewX(7deg); }
  30% {
    -webkit-transform: skewX(-6deg); }
  40% {
    -webkit-transform: skewX(5deg); }
  50% {
    -webkit-transform: skewX(-4deg); }
  60% {
    -webkit-transform: skewX(3deg); }
  70% {
    -webkit-transform: skewX(-2deg); }
  80% {
    -webkit-transform: skewX(1deg); }
  90% {
    -webkit-transform: skewX(0deg); }
  100% {
    -webkit-transform: skewX(0deg); } }

@keyframes wiggle {
  0% {
    -webkit-transform: skewX(9deg);
    transform: skewX(9deg); }
  10% {
    -webkit-transform: skewX(-8deg);
    transform: skewX(-8deg); }
  20% {
    -webkit-transform: skewX(7deg);
    transform: skewX(7deg); }
  30% {
    -webkit-transform: skewX(-6deg);
    transform: skewX(-6deg); }
  40% {
    -webkit-transform: skewX(5deg);
    transform: skewX(5deg); }
  50% {
    -webkit-transform: skewX(-4deg);
    transform: skewX(-4deg); }
  60% {
    -webkit-transform: skewX(3deg);
    transform: skewX(3deg); }
  70% {
    -webkit-transform: skewX(-2deg);
    transform: skewX(-2deg); }
  80% {
    -webkit-transform: skewX(1deg);
    transform: skewX(1deg); }
  90% {
    -webkit-transform: skewX(0deg);
    transform: skewX(0deg); }
  100% {
    -webkit-transform: skewX(0deg);
    transform: skewX(0deg); } }

.wiggle.go {
  -webkit-animation-name: wiggle;
  animation-name: wiggle;
  -webkit-animation-timing-function: ease-in;
  animation-timing-function: ease-in; }

/********
* swing *
*********/
@-webkit-keyframes swing {
  20%,
  40%,
  60%,
  80%,
  100% {
    -webkit-transform-origin: top center; }
  20% {
    -webkit-transform: rotate(15deg); }
  40% {
    -webkit-transform: rotate(-10deg); }
  60% {
    -webkit-transform: rotate(5deg); }
  80% {
    -webkit-transform: rotate(-5deg); }
  100% {
    -webkit-transform: rotate(0deg); } }

@keyframes swing {
  20% {
    -webkit-transform: rotate(15deg);
    transform: rotate(15deg); }
  40% {
    -webkit-transform: rotate(-10deg);
    transform: rotate(-10deg); }
  60% {
    -webkit-transform: rotate(5deg);
    transform: rotate(5deg); }
  80% {
    -webkit-transform: rotate(-5deg);
    transform: rotate(-5deg); }
  100% {
    -webkit-transform: rotate(0deg);
    transform: rotate(0deg); } }

.swing.go {
  -webkit-transform-origin: top center;
  -ms-transform-origin: top center;
  transform-origin: top center;
  -webkit-animation-name: swing;
  animation-name: swing; }

/*******
* tada *
********/
@-webkit-keyframes tada {
  0% {
    -webkit-transform: scale(1); }
  10%,
  20% {
    -webkit-transform: scale(0.9) rotate(-3deg); }
  30%,
  50%,
  70%,
  90% {
    -webkit-transform: scale(1.1) rotate(3deg); }
  40%,
  60%,
  80% {
    -webkit-transform: scale(1.1) rotate(-3deg); }
  100% {
    -webkit-transform: scale(1) rotate(0); } }

@keyframes tada {
  0% {
    -webkit-transform: scale(1);
    transform: scale(1); }
  10%,
  20% {
    -webkit-transform: scale(0.9) rotate(-3deg);
    transform: scale(0.9) rotate(-3deg); }
  30%,
  50%,
  70%,
  90% {
    -webkit-transform: scale(1.1) rotate(3deg);
    transform: scale(1.1) rotate(3deg); }
  40%,
  60%,
  80% {
    -webkit-transform: scale(1.1) rotate(-3deg);
    transform: scale(1.1) rotate(-3deg); }
  100% {
    -webkit-transform: scale(1) rotate(0);
    transform: scale(1) rotate(0); } }

.tada.go {
  -webkit-animation-name: tada;
  animation-name: tada; }

/*********
* wobble *
**********/
@-webkit-keyframes wobble {
  0% {
    -webkit-transform: translateX(0%); }
  15% {
    -webkit-transform: translateX(-25%) rotate(-5deg); }
  30% {
    -webkit-transform: translateX(20%) rotate(3deg); }
  45% {
    -webkit-transform: translateX(-15%) rotate(-3deg); }
  60% {
    -webkit-transform: translateX(10%) rotate(2deg); }
  75% {
    -webkit-transform: translateX(-5%) rotate(-1deg); }
  100% {
    -webkit-transform: translateX(0%); } }

@keyframes wobble {
  0% {
    -webkit-transform: translateX(0%);
    transform: translateX(0%); }
  15% {
    -webkit-transform: translateX(-25%) rotate(-5deg);
    transform: translateX(-25%) rotate(-5deg); }
  30% {
    -webkit-transform: translateX(20%) rotate(3deg);
    transform: translateX(20%) rotate(3deg); }
  45% {
    -webkit-transform: translateX(-15%) rotate(-3deg);
    transform: translateX(-15%) rotate(-3deg); }
  60% {
    -webkit-transform: translateX(10%) rotate(2deg);
    transform: translateX(10%) rotate(2deg); }
  75% {
    -webkit-transform: translateX(-5%) rotate(-1deg);
    transform: translateX(-5%) rotate(-1deg); }
  100% {
    -webkit-transform: translateX(0%);
    transform: translateX(0%); } }

.wobble.go {
  -webkit-animation-name: wobble;
  animation-name: wobble; }

/********
* pulse *
*********/
@-webkit-keyframes pulse {
  0% {
    -webkit-transform: scale(0.95);
    transform: scale(0.95);
    -webkit-box-shadow: 0 0 0 0 rgba(0, 0, 0, 0.7);
    box-shadow: 0 0 0 0 rgba(0, 0, 0, 0.7); }
  70% {
    -webkit-transform: scale(1);
    transform: scale(1);
    -webkit-box-shadow: 0 0 0 10px rgba(0, 0, 0, 0);
    box-shadow: 0 0 0 10px rgba(0, 0, 0, 0); }
  100% {
    -webkit-transform: scale(0.95);
    transform: scale(0.95);
    -webkit-box-shadow: 0 0 0 0 rgba(0, 0, 0, 0);
    box-shadow: 0 0 0 0 rgba(0, 0, 0, 0); } }

@keyframes pulse {
  0% {
    -webkit-transform: scale(0.95);
    transform: scale(0.95);
    -webkit-box-shadow: 0 0 0 0 rgba(0, 0, 0, 0.7);
    box-shadow: 0 0 0 0 rgba(0, 0, 0, 0.7); }
  70% {
    -webkit-transform: scale(1);
    transform: scale(1);
    -webkit-box-shadow: 0 0 0 10px rgba(0, 0, 0, 0);
    box-shadow: 0 0 0 10px rgba(0, 0, 0, 0); }
  100% {
    -webkit-transform: scale(0.95);
    transform: scale(0.95);
    -webkit-box-shadow: 0 0 0 0 rgba(0, 0, 0, 0);
    box-shadow: 0 0 0 0 rgba(0, 0, 0, 0); } }

.pulse.go {
  -webkit-animation-name: pulse;
  animation-name: pulse; }

/***************
* lightSpeedInRight *
****************/
@-webkit-keyframes lightSpeedInRight {
  0% {
    -webkit-transform: translateX(100%) skewX(-30deg);
    opacity: 0; }
  60% {
    -webkit-transform: translateX(-20%) skewX(30deg);
    opacity: 1; }
  80% {
    -webkit-transform: translateX(0%) skewX(-15deg);
    opacity: 1; }
  100% {
    -webkit-transform: translateX(0%) skewX(0deg);
    opacity: 1; } }

@keyframes lightSpeedInRight {
  0% {
    -webkit-transform: translateX(100%) skewX(-30deg);
    transform: translateX(100%) skewX(-30deg);
    opacity: 0; }
  60% {
    -webkit-transform: translateX(-20%) skewX(30deg);
    transform: translateX(-20%) skewX(30deg);
    opacity: 1; }
  80% {
    -webkit-transform: translateX(0%) skewX(-15deg);
    transform: translateX(0%) skewX(-15deg);
    opacity: 1; }
  100% {
    -webkit-transform: translateX(0%) skewX(0deg);
    transform: translateX(0%) skewX(0deg);
    opacity: 1; } }

.lightSpeedInRight.go {
  -webkit-animation-name: lightSpeedInRight;
  animation-name: lightSpeedInRight;
  -webkit-animation-timing-function: ease-out;
  animation-timing-function: ease-out; }

/***************
* lightSpeedInLeft *
****************/
@-webkit-keyframes lightSpeedInLeft {
  0% {
    -webkit-transform: translateX(-100%) skewX(30deg);
    opacity: 0; }
  60% {
    -webkit-transform: translateX(20%) skewX(-30deg);
    opacity: 1; }
  80% {
    -webkit-transform: translateX(0%) skewX(15deg);
    opacity: 1; }
  100% {
    -webkit-transform: translateX(0%) skewX(0deg);
    opacity: 1; } }

@keyframes lightSpeedInLeft {
  0% {
    -webkit-transform: translateX(-100%) skewX(30deg);
    transform: translateX(-100%) skewX(30deg);
    opacity: 0; }
  60% {
    -webkit-transform: translateX(20%) skewX(-30deg);
    transform: translateX(20%) skewX(-30deg);
    opacity: 1; }
  80% {
    -webkit-transform: translateX(0%) skewX(15deg);
    transform: translateX(0%) skewX(15deg);
    opacity: 1; }
  100% {
    -webkit-transform: translateX(0%) skewX(0deg);
    transform: translateX(0%) skewX(0deg);
    opacity: 1; } }

.lightSpeedInLeft.go {
  -webkit-animation-name: lightSpeedInLeft;
  animation-name: lightSpeedInLeft;
  -webkit-animation-timing-function: ease-out;
  animation-timing-function: ease-out; }

/*******
* Flip *
*******/
@-webkit-keyframes flip {
  0% {
    -webkit-transform: perspective(400px) rotateY(0);
    -webkit-animation-timing-function: ease-out; }
  40% {
    -webkit-transform: perspective(400px) translateZ(150px) rotateY(170deg);
    -webkit-animation-timing-function: ease-out; }
  50% {
    -webkit-transform: perspective(400px) translateZ(150px) rotateY(190deg) scale(1);
    -webkit-animation-timing-function: ease-in; }
  80% {
    -webkit-transform: perspective(400px) rotateY(360deg) scale(0.95);
    -webkit-animation-timing-function: ease-in; }
  100% {
    -webkit-transform: perspective(400px) scale(1);
    -webkit-animation-timing-function: ease-in; } }

@keyframes flip {
  0% {
    -webkit-transform: perspective(400px) rotateY(0);
    transform: perspective(400px) rotateY(0);
    -webkit-animation-timing-function: ease-out;
    animation-timing-function: ease-out; }
  40% {
    -webkit-transform: perspective(400px) translateZ(150px) rotateY(170deg);
    transform: perspective(400px) translateZ(150px) rotateY(170deg);
    -webkit-animation-timing-function: ease-out;
    animation-timing-function: ease-out; }
  50% {
    -webkit-transform: perspective(400px) translateZ(150px) rotateY(190deg) scale(1);
    transform: perspective(400px) translateZ(150px) rotateY(190deg) scale(1);
    -webkit-animation-timing-function: ease-in;
    animation-timing-function: ease-in; }
  80% {
    -webkit-transform: perspective(400px) rotateY(360deg) scale(0.95);
    transform: perspective(400px) rotateY(360deg) scale(0.95);
    -webkit-animation-timing-function: ease-in;
    animation-timing-function: ease-in; }
  100% {
    -webkit-transform: perspective(400px) scale(1);
    transform: perspective(400px) scale(1);
    -webkit-animation-timing-function: ease-in;
    animation-timing-function: ease-in; } }

.flip.go {
  -webkit-backface-visibility: visible !important;
  -webkit-animation-name: flip;
  backface-visibility: visible !important;
  animation-name: flip; }

/**********
* flipInX *
**********/
@-webkit-keyframes flipInX {
  0% {
    -webkit-transform: perspective(400px) rotateX(90deg);
    opacity: 0; }
  40% {
    -webkit-transform: perspective(400px) rotateX(-10deg); }
  70% {
    -webkit-transform: perspective(400px) rotateX(10deg); }
  100% {
    -webkit-transform: perspective(400px) rotateX(0deg);
    opacity: 1; } }

@keyframes flipInX {
  0% {
    -webkit-transform: perspective(400px) rotateX(90deg);
    transform: perspective(400px) rotateX(90deg);
    opacity: 0; }
  40% {
    -webkit-transform: perspective(400px) rotateX(-10deg);
    transform: perspective(400px) rotateX(-10deg); }
  70% {
    -webkit-transform: perspective(400px) rotateX(10deg);
    transform: perspective(400px) rotateX(10deg); }
  100% {
    -webkit-transform: perspective(400px) rotateX(0deg);
    transform: perspective(400px) rotateX(0deg);
    opacity: 1; } }

.flipInX.go {
  -webkit-backface-visibility: visible !important;
  -webkit-animation-name: flipInX;
  backface-visibility: visible !important;
  animation-name: flipInX; }

/**********
* flipInY *
**********/
@-webkit-keyframes flipInY {
  0% {
    -webkit-transform: perspective(400px) rotateY(90deg);
    opacity: 0; }
  40% {
    -webkit-transform: perspective(400px) rotateY(-10deg); }
  70% {
    -webkit-transform: perspective(400px) rotateY(10deg); }
  100% {
    -webkit-transform: perspective(400px) rotateY(0deg);
    opacity: 1; } }

@keyframes flipInY {
  0% {
    -webkit-transform: perspective(400px) rotateY(90deg);
    transform: perspective(400px) rotateY(90deg);
    opacity: 0; }
  40% {
    -webkit-transform: perspective(400px) rotateY(-10deg);
    transform: perspective(400px) rotateY(-10deg); }
  70% {
    -webkit-transform: perspective(400px) rotateY(10deg);
    transform: perspective(400px) rotateY(10deg); }
  100% {
    -webkit-transform: perspective(400px) rotateY(0deg);
    transform: perspective(400px) rotateY(0deg);
    opacity: 1; } }

.flipInY.go {
  -webkit-backface-visibility: visible !important;
  -webkit-animation-name: flipInY;
  backface-visibility: visible !important;
  animation-name: flipInY; }

/*****************
* Out animations *
*****************/
/************
* bounceOut *
*************/
@-webkit-keyframes bounceOut {
  0% {
    -webkit-transform: scale(1); }
  25% {
    -webkit-transform: scale(0.95); }
  50% {
    opacity: 1;
    -webkit-transform: scale(1.1); }
  100% {
    opacity: 0;
    -webkit-transform: scale(0.3); } }

@keyframes bounceOut {
  0% {
    -webkit-transform: scale(1);
    transform: scale(1); }
  25% {
    -webkit-transform: scale(0.95);
    transform: scale(0.95); }
  50% {
    opacity: 1;
    -webkit-transform: scale(1.1);
    transform: scale(1.1); }
  100% {
    opacity: 0;
    -webkit-transform: scale(0.3);
    transform: scale(0.3); } }

.bounceOut.goAway {
  -webkit-animation-name: bounceOut;
  animation-name: bounceOut; }

/************
* bounceOutUp *
*************/
@-webkit-keyframes bounceOutUp {
  0% {
    -webkit-transform: translateY(0); }
  20% {
    opacity: 1;
    -webkit-transform: translateY(20px); }
  100% {
    opacity: 0;
    -webkit-transform: translateY(-2000px); } }

@keyframes bounceOutUp {
  0% {
    -webkit-transform: translateY(0);
    transform: translateY(0); }
  20% {
    opacity: 1;
    -webkit-transform: translateY(20px);
    transform: translateY(20px); }
  100% {
    opacity: 0;
    -webkit-transform: translateY(-2000px);
    transform: translateY(-2000px); } }

.bounceOutUp.goAway {
  -webkit-animation-name: bounceOutUp;
  animation-name: bounceOutUp; }

/************
* bounceOutDown *
*************/
@-webkit-keyframes bounceOutDown {
  0% {
    -webkit-transform: translateY(0); }
  20% {
    opacity: 1;
    -webkit-transform: translateY(-20px); }
  100% {
    opacity: 0;
    -webkit-transform: translateY(2000px); } }

@keyframes bounceOutDown {
  0% {
    -webkit-transform: translateY(0);
    transform: translateY(0); }
  20% {
    opacity: 1;
    -webkit-transform: translateY(-20px);
    transform: translateY(-20px); }
  100% {
    opacity: 0;
    -webkit-transform: translateY(2000px);
    transform: translateY(2000px); } }

.bounceOutDown.goAway {
  -webkit-animation-name: bounceOutDown;
  animation-name: bounceOutDown; }

/************
* bounceOutLeft *
*************/
@-webkit-keyframes bounceOutLeft {
  0% {
    -webkit-transform: translateX(0); }
  20% {
    opacity: 1;
    -webkit-transform: translateX(20px); }
  100% {
    opacity: 0;
    -webkit-transform: translateX(-2000px); } }

@keyframes bounceOutLeft {
  0% {
    -webkit-transform: translateX(0);
    transform: translateX(0); }
  20% {
    opacity: 1;
    -webkit-transform: translateX(20px);
    transform: translateX(20px); }
  100% {
    opacity: 0;
    -webkit-transform: translateX(-2000px);
    transform: translateX(-2000px); } }

.bounceOutLeft.goAway {
  -webkit-animation-name: bounceOutLeft;
  animation-name: bounceOutLeft; }

/************
* bounceOutRight *
*************/
@-webkit-keyframes bounceOutRight {
  0% {
    -webkit-transform: translateX(0); }
  20% {
    opacity: 1;
    -webkit-transform: translateX(-20px); }
  100% {
    opacity: 0;
    -webkit-transform: translateX(2000px); } }

@keyframes bounceOutRight {
  0% {
    -webkit-transform: translateX(0);
    transform: translateX(0); }
  20% {
    opacity: 1;
    -webkit-transform: translateX(-20px);
    transform: translateX(-20px); }
  100% {
    opacity: 0;
    -webkit-transform: translateX(2000px);
    transform: translateX(2000px); } }

.bounceOutRight.goAway {
  -webkit-animation-name: bounceOutRight;
  animation-name: bounceOutRight; }

/************
* fadeOut *
*************/
@-webkit-keyframes fadeOut {
  0% {
    opacity: 1; }
  100% {
    opacity: 0; } }

@keyframes fadeOut {
  0% {
    opacity: 1; }
  100% {
    opacity: 0; } }

.fadeOut.goAway {
  -webkit-animation-name: fadeOut;
  animation-name: fadeOut; }

/************
* fadeOutUp *
*************/
@-webkit-keyframes fadeOutUp {
  0% {
    opacity: 1;
    -webkit-transform: translateY(0); }
  100% {
    opacity: 0;
    -webkit-transform: translateY(-2000px); } }

@keyframes fadeOutUp {
  0% {
    opacity: 1;
    -webkit-transform: translateY(0);
    transform: translateY(0); }
  100% {
    opacity: 0;
    -webkit-transform: translateY(-2000px);
    transform: translateY(-2000px); } }

.fadeOutUp.goAway {
  -webkit-animation-name: fadeOutUp;
  animation-name: fadeOutUp; }

/************
* fadeOutDown *
*************/
@-webkit-keyframes fadeOutDown {
  0% {
    opacity: 1;
    -webkit-transform: translateY(0); }
  100% {
    opacity: 0;
    -webkit-transform: translateY(2000px); } }

@keyframes fadeOutDown {
  0% {
    opacity: 1;
    -webkit-transform: translateY(0);
    transform: translateY(0); }
  100% {
    opacity: 0;
    -webkit-transform: translateY(2000px);
    transform: translateY(2000px); } }

.fadeOutDown.goAway {
  -webkit-animation-name: fadeOutDown;
  animation-name: fadeOutDown; }

/************
* fadeOutLeft *
*************/
@-webkit-keyframes fadeOutLeft {
  0% {
    opacity: 1;
    -webkit-transform: translateX(0); }
  100% {
    opacity: 0;
    -webkit-transform: translateX(-2000px); } }

@keyframes fadeOutLeft {
  0% {
    opacity: 1;
    -webkit-transform: translateX(0);
    transform: translateX(0); }
  100% {
    opacity: 0;
    -webkit-transform: translateX(-2000px);
    transform: translateX(-2000px); } }

.fadeOutLeft.goAway {
  -webkit-animation-name: fadeOutLeft;
  animation-name: fadeOutLeft; }

/************
* fadeOutRight *
*************/
@-webkit-keyframes fadeOutRight {
  0% {
    opacity: 1;
    -webkit-transform: translateX(0); }
  100% {
    opacity: 0;
    -webkit-transform: translateX(2000px); } }

@keyframes fadeOutRight {
  0% {
    opacity: 1;
    -webkit-transform: translateX(0);
    transform: translateX(0); }
  100% {
    opacity: 0;
    -webkit-transform: translateX(2000px);
    transform: translateX(2000px); } }

.fadeOutRight.goAway {
  -webkit-animation-name: fadeOutRight;
  animation-name: fadeOutRight; }

/************
* flipOutX *
*************/
@-webkit-keyframes flipOutX {
  0% {
    -webkit-transform: perspective(400px) rotateX(0deg);
    opacity: 1; }
  100% {
    -webkit-transform: perspective(400px) rotateX(90deg);
    opacity: 0; } }

@keyframes flipOutX {
  0% {
    -webkit-transform: perspective(400px) rotateX(0deg);
    transform: perspective(400px) rotateX(0deg);
    opacity: 1; }
  100% {
    -webkit-transform: perspective(400px) rotateX(90deg);
    transform: perspective(400px) rotateX(90deg);
    opacity: 0; } }

.flipOutX.goAway {
  -webkit-animation-name: flipOutX;
  -webkit-backface-visibility: visible !important;
  animation-name: flipOutX;
  backface-visibility: visible !important; }

/************
* flipOutY *
*************/
@-webkit-keyframes flipOutY {
  0% {
    -webkit-transform: perspective(400px) rotateY(0deg);
    opacity: 1; }
  100% {
    -webkit-transform: perspective(400px) rotateY(90deg);
    opacity: 0; } }

@keyframes flipOutY {
  0% {
    -webkit-transform: perspective(400px) rotateY(0deg);
    transform: perspective(400px) rotateY(0deg);
    opacity: 1; }
  100% {
    -webkit-transform: perspective(400px) rotateY(90deg);
    transform: perspective(400px) rotateY(90deg);
    opacity: 0; } }

.flipOutY {
  -webkit-backface-visibility: visible !important;
  -webkit-animation-name: flipOutY;
  backface-visibility: visible !important;
  animation-name: flipOutY; }

/************
* lightSpeedOutRight *
*************/
@-webkit-keyframes lightSpeedOutRight {
  0% {
    -webkit-transform: translateX(0%) skewX(0deg);
    opacity: 1; }
  100% {
    -webkit-transform: translateX(100%) skewX(-30deg);
    opacity: 0; } }

@keyframes lightSpeedOutRight {
  0% {
    -webkit-transform: translateX(0%) skewX(0deg);
    transform: translateX(0%) skewX(0deg);
    opacity: 1; }
  100% {
    -webkit-transform: translateX(100%) skewX(-30deg);
    transform: translateX(100%) skewX(-30deg);
    opacity: 0; } }

.lightSpeedOutRight.goAway {
  -webkit-animation-name: lightSpeedOutRight;
  animation-name: lightSpeedOutRight;
  -webkit-animation-timing-function: ease-in;
  animation-timing-function: ease-in; }

/************
* lightSpeedOutLeft *
*************/
@-webkit-keyframes lightSpeedOutLeft {
  0% {
    -webkit-transform: translateX(0%) skewX(0deg);
    opacity: 1; }
  100% {
    -webkit-transform: translateX(-100%) skewX(30deg);
    opacity: 0; } }

@keyframes lightSpeedOutLeft {
  0% {
    -webkit-transform: translateX(0%) skewX(0deg);
    transform: translateX(0%) skewX(0deg);
    opacity: 1; }
  100% {
    -webkit-transform: translateX(-100%) skewX(30deg);
    transform: translateX(-100%) skewX(30deg);
    opacity: 0; } }

.lightSpeedOutLeft.goAway {
  -webkit-animation-name: lightSpeedOutLeft;
  animation-name: lightSpeedOutLeft;
  -webkit-animation-timing-function: ease-in;
  animation-timing-function: ease-in; }

/************
* rotateOut *
*************/
@-webkit-keyframes rotateOut {
  0% {
    -webkit-transform-origin: center center;
    -webkit-transform: rotate(0);
    opacity: 1; }
  100% {
    -webkit-transform-origin: center center;
    -webkit-transform: rotate(200deg);
    opacity: 0; } }

@keyframes rotateOut {
  0% {
    -webkit-transform-origin: center center;
    transform-origin: center center;
    -webkit-transform: rotate(0);
    transform: rotate(0);
    opacity: 1; }
  100% {
    -webkit-transform-origin: center center;
    transform-origin: center center;
    -webkit-transform: rotate(200deg);
    transform: rotate(200deg);
    opacity: 0; } }

.rotateOut.goAway {
  -webkit-animation-name: rotateOut;
  animation-name: rotateOut; }

/************
* rotateOutUpLeft *
*************/
@-webkit-keyframes rotateOutUpLeft {
  0% {
    -webkit-transform-origin: left bottom;
    -webkit-transform: rotate(0);
    opacity: 1; }
  100% {
    -webkit-transform-origin: left bottom;
    -webkit-transform: rotate(-90deg);
    opacity: 0; } }

@keyframes rotateOutUpLeft {
  0% {
    -webkit-transform-origin: left bottom;
    transform-origin: left bottom;
    -webkit-transform: rotate(0);
    transform: rotate(0);
    opacity: 1; }
  100% {
    -transform-origin: left bottom;
    -transform: rotate(-90deg);
    opacity: 0; } }

.rotateOutUpLeft.goAway {
  -webkit-animation-name: rotateOutUpLeft;
  animation-name: rotateOutUpLeft; }

/************
* rotateOutDownLeft *
*************/
@-webkit-keyframes rotateOutDownLeft {
  0% {
    -webkit-transform-origin: left bottom;
    -webkit-transform: rotate(0);
    opacity: 1; }
  100% {
    -webkit-transform-origin: left bottom;
    -webkit-transform: rotate(90deg);
    opacity: 0; } }

@keyframes rotateOutDownLeft {
  0% {
    -webkit-transform-origin: left bottom;
    transform-origin: left bottom;
    -webkit-transform: rotate(0);
    transform: rotate(0);
    opacity: 1; }
  100% {
    -webkit-transform-origin: left bottom;
    transform-origin: left bottom;
    -webkit-transform: rotate(90deg);
    transform: rotate(90deg);
    opacity: 0; } }

.rotateOutDownLeft.goAway {
  -webkit-animation-name: rotateOutDownLeft;
  animation-name: rotateOutDownLeft; }

/************
* rotateOutUpRight *
*************/
@-webkit-keyframes rotateOutUpRight {
  0% {
    -webkit-transform-origin: right bottom;
    -webkit-transform: rotate(0);
    opacity: 1; }
  100% {
    -webkit-transform-origin: right bottom;
    -webkit-transform: rotate(90deg);
    opacity: 0; } }

@keyframes rotateOutUpRight {
  0% {
    -webkit-transform-origin: right bottom;
    transform-origin: right bottom;
    -webkit-transform: rotate(0);
    transform: rotate(0);
    opacity: 1; }
  100% {
    -webkit-transform-origin: right bottom;
    transform-origin: right bottom;
    -webkit-transform: rotate(90deg);
    transform: rotate(90deg);
    opacity: 0; } }

.rotateOutUpRight.goAway {
  -webkit-animation-name: rotateOutUpRight;
  animation-name: rotateOutUpRight; }

/************
* rollOut *
*************/
@-webkit-keyframes rollOut {
  0% {
    opacity: 1;
    -webkit-transform: translateX(0px) rotate(0deg); }
  100% {
    opacity: 0;
    -webkit-transform: translateX(100%) rotate(120deg); } }

@keyframes rollOut {
  0% {
    opacity: 1;
    -webkit-transform: translateX(0px) rotate(0deg);
    transform: translateX(0px) rotate(0deg); }
  100% {
    opacity: 0;
    -webkit-transform: translateX(100%) rotate(120deg);
    transform: translateX(100%) rotate(120deg); } }

.rollOut.goAway {
  -webkit-animation-name: rollOut;
  animation-name: rollOut; }

/*****************
* Short Animations
*******************/
/*********************
* fadeInUpShort
*********************/
@-webkit-keyframes fadeInUpShort {
  0% {
    opacity: 0;
    -webkit-transform: translateY(20px); }
  100% {
    opacity: 1;
    -webkit-transform: translateY(0); } }

@keyframes fadeInUpShort {
  0% {
    opacity: 0;
    -webkit-transform: translateY(20px);
    transform: translateY(20px); }
  100% {
    opacity: 1;
    -webkit-transform: translateY(0);
    transform: translateY(0); } }

.fadeInUpShort {
  opacity: 0;
  -webkit-transform: translateY(20px);
  -ms-transform: translateY(20px);
  transform: translateY(20px); }

.fadeInUpShort.go {
  -webkit-animation-name: fadeInUpShort;
  animation-name: fadeInUpShort; }

/*********************
* fadeInDownShort
*********************/
@-webkit-keyframes fadeInDownShort {
  0% {
    opacity: 0;
    -webkit-transform: translateY(-20px); }
  100% {
    opacity: 1;
    -webkit-transform: translateY(0); } }

@keyframes fadeInDownShort {
  0% {
    opacity: 0;
    -webkit-transform: translateY(-20px);
    transform: translateY(-20px); }
  100% {
    opacity: 1;
    -webkit-transform: translateY(0);
    transform: translateY(0); } }

.fadeInDownShort {
  opacity: 0;
  -webkit-transform: translateY(-20px);
  -ms-transform: translateY(-20px);
  transform: translateY(-20px); }

.fadeInDownShort.go {
  -webkit-animation-name: fadeInDownShort;
  animation-name: fadeInDownShort; }

/*********************
* fadeInRightShort 
*********************/
@-webkit-keyframes fadeInRightShort {
  0% {
    opacity: 0;
    -webkit-transform: translateX(20px); }
  100% {
    opacity: 1;
    -webkit-transform: translateX(0); } }

@keyframes fadeInRightShort {
  0% {
    opacity: 0;
    -webkit-transform: translateX(20px);
    transform: translateX(20px); }
  100% {
    opacity: 1;
    -webkit-transform: translateX(0);
    transform: translateX(0); } }

.fadeInRightShort {
  opacity: 0;
  -webkit-transform: translateX(20px);
  -ms-transform: translateX(20px);
  transform: translateX(20px); }

.fadeInRightShort.go {
  -webkit-animation-name: fadeInRightShort;
  animation-name: fadeInRightShort; }

/*********************
* fadeInLeftShort 
*********************/
@-webkit-keyframes fadeInLeftShort {
  0% {
    opacity: 0;
    -webkit-transform: translateX(-20px); }
  100% {
    opacity: 1;
    -webkit-transform: translateX(0); } }

@keyframes fadeInLeftShort {
  0% {
    opacity: 0;
    -webkit-transform: translateX(-20px);
    transform: translateX(-20px); }
  100% {
    opacity: 1;
    -webkit-transform: translateX(0);
    transform: translateX(0); } }

.fadeInLeftShort {
  opacity: 0;
  -webkit-transform: translateX(-20px);
  -ms-transform: translateX(-20px);
  transform: translateX(-20px); }

.fadeInLeftShort.go {
  -webkit-animation-name: fadeInLeftShort;
  animation-name: fadeInLeftShort; }

/**********
* Zoom in *
***********/
@-webkit-keyframes zoomIn {
  0% {
    -webkit-transform: scale(5);
    transform: scale(5);
    opacity: 0; }
  80% {
    -webkit-transform: scale(0.8);
    transform: scale(0.8);
    opacity: .8; }
  80% {
    -webkit-transform: scale(0.8);
    transform: scale(0.8); }
  90% {
    -webkit-transform: scale(1.1);
    transform: scale(1.1); }
  100% {
    -webkit-transform: scale(1);
    transform: scale(1);
    opacity: 1; } }

@keyframes zoomIn {
  0% {
    -webkit-transform: scale(5);
    transform: scale(5);
    opacity: 0; }
  80% {
    -webkit-transform: scale(0.8);
    transform: scale(0.8);
    opacity: .8; }
  80% {
    -webkit-transform: scale(0.8);
    transform: scale(0.8); }
  90% {
    -webkit-transform: scale(1.1);
    transform: scale(1.1); }
  100% {
    -webkit-transform: scale(1);
    transform: scale(1);
    opacity: 1; } }

.zoomIn {
  -webkit-transform: scale(5);
  -ms-transform: scale(5);
  transform: scale(5);
  opacity: 0; }

.zoomIn.go {
  -webkit-animation-name: zoomIn;
  animation-name: zoomIn;
  -webkit-animation-duration: .5s;
  animation-duration: .5s; }

/********
* ShakeUp2 *
Shake and pause 
********/
@-webkit-keyframes shakeUp2 {
  0%,
  50%,
  100% {
    -webkit-transform: translateY(0);
    transform: translateY(0); }
  70%,
  90% {
    -webkit-transform: translateY(-10px);
    transform: translateY(-10px); }
  60%,
  80% {
    -webkit-transform: translateY(10px);
    transform: translateY(10px); } }
@keyframes shakeUp2 {
  0%,
  50%,
  100% {
    -webkit-transform: translateY(0);
    transform: translateY(0); }
  70%,
  90% {
    -webkit-transform: translateY(-10px);
    transform: translateY(-10px); }
  60%,
  80% {
    -webkit-transform: translateY(10px);
    transform: translateY(10px); } }

.shakeup2 {
  -webkit-animation-name: shakeUp2;
  animation-name: shakeUp2; }

.shake2 {
  /* Start the shake animation and make the animation last for 0.5 seconds */
  -webkit-animation: shake 1s;
  animation: shake 1s;
  /* When the animation is finished, start again */
  -webkit-animation-iteration-count: infinite;
  animation-iteration-count: infinite; }

@keyframes shake {
  0% {
    -webkit-transform: translate(1px, 1px) rotate(0deg);
    transform: translate(1px, 1px) rotate(0deg); }
  10% {
    -webkit-transform: translate(-1px, -2px) rotate(-1deg);
    transform: translate(-1px, -2px) rotate(-1deg); }
  20% {
    -webkit-transform: translate(-3px, 0px) rotate(1deg);
    transform: translate(-3px, 0px) rotate(1deg); }
  30% {
    -webkit-transform: translate(3px, 2px) rotate(0deg);
    transform: translate(3px, 2px) rotate(0deg); }
  40% {
    -webkit-transform: translate(1px, -1px) rotate(1deg);
    transform: translate(1px, -1px) rotate(1deg); }
  50% {
    -webkit-transform: translate(-1px, 2px) rotate(-1deg);
    transform: translate(-1px, 2px) rotate(-1deg); }
  60% {
    -webkit-transform: translate(-3px, 1px) rotate(0deg);
    transform: translate(-3px, 1px) rotate(0deg); }
  70% {
    -webkit-transform: translate(3px, 1px) rotate(-1deg);
    transform: translate(3px, 1px) rotate(-1deg); }
  80% {
    -webkit-transform: translate(-1px, -1px) rotate(1deg);
    transform: translate(-1px, -1px) rotate(1deg); }
  90% {
    -webkit-transform: translate(1px, 2px) rotate(0deg);
    transform: translate(1px, 2px) rotate(0deg); }
  100% {
    -webkit-transform: translate(1px, -2px) rotate(-1deg);
    transform: translate(1px, -2px) rotate(-1deg); } }

@-webkit-keyframes flashlight {
  0% {
    -webkit-transform: translate(0, 0) scale(1);
    transform: translate(0, 0) scale(1); }
  100% {
    -webkit-transform: translate(-20px, -40px) scale(1.1);
    transform: translate(-20px, -40px) scale(1.1); } }

@keyframes flashlight {
  0% {
    -webkit-transform: translate(0, 0) scale(1);
    -ms-transform: translate(0, 0) scale(1);
    transform: translate(0, 0) scale(1); }
  100% {
    -webkit-transform: translate(-20px, -40px) scale(1.1);
    -ms-transform: translate(-20px, -40px) scale(1.1);
    transform: translate(-20px, -40px) scale(1.1); } }

.rotating {
  -webkit-animation: rotating 30s linear infinite;
  animation: rotating 30s linear infinite; }

@-webkit-keyframes rotation {
  from {
    -webkit-transform: rotate(0deg);
    transform: rotate(0deg); }
  to {
    -webkit-transform: rotate(359deg);
    transform: rotate(359deg); } }

@keyframes rotation {
  from {
    -webkit-transform: rotate(0deg);
    transform: rotate(0deg); }
  to {
    -webkit-transform: rotate(359deg);
    transform: rotate(359deg); } }

/*--- About Text ---*/
/* text truncate multiline */
/*--- About Images ---*/
/*--- About Position ---*/
/*------------------------------------------------------*/
/*--- About Button ---*/
/*------------------------------------------------------*/
/*--- About Text ---*/
/*--- Smooth Scroll ---*/
::-moz-selection {
  color: #6d3417;
  background: #c5a77e; }
::selection {
  color: #6d3417;
  background: #c5a77e; }

/*--- Animate a ---*/
a {
  -webkit-transition: all .2s;
  -o-transition: all .2s;
  transition: all .2s; }
  a img {
    -webkit-transition: all 0.2s ease-in-out;
    -o-transition: all 0.2s ease-in-out;
    transition: all 0.2s ease-in-out; }

/*--- Customize Scrollbar ---*/
* {
  /* Work on Firefox */
  scrollbar-width: 5px;
  scrollbar-color: #6d3417 #c5a77e; }

*::-webkit-scrollbar {
  /* Works on Chrome, Edge, and Safari */
  width: 5px; }

*::-webkit-scrollbar-track {
  background: #c5a77e;
  -webkit-border-radius: 5px;
  border-radius: 5px; }

*::-webkit-scrollbar-thumb {
  background-color: #6d3417;
  -webkit-border-radius: 5px;
  border-radius: 5px;
  border: 1px solid #6d3417; }

/*--- Common ClassName ---*/
.loop-infinite {
  -webkit-animation-iteration-count: infinite;
  animation-iteration-count: infinite; }

.loop-5 {
  -webkit-animation-iteration-count: 5;
  animation-iteration-count: 5; }

/*--- About Button ---*/
.btn-image {
  position: relative;
  overflow: hidden;
  display: inline-block;
  vertical-align: middle;
  line-height: 0; }
  .btn-image img:last-child {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    visibility: hidden;
    opacity: 0; }
  .btn-image:hover img:last-child {
    visibility: visible;
    opacity: 1; }

.btn-hover-zoom, .news-more:hover {
  display: inline-block;
  -webkit-transition: all 0.2s ease-in-out;
  -o-transition: all 0.2s ease-in-out;
  transition: all 0.2s ease-in-out; }
  .btn-hover-zoom:hover, .news-more:hover {
    -webkit-transform: scale(1.1);
    -ms-transform: scale(1.1);
    transform: scale(1.1); }

.btn-hover-translateX {
  display: inline-block;
  -webkit-transition: -webkit-transform 0.1s ease-in-out;
  transition: -webkit-transform 0.1s ease-in-out;
  -o-transition: transform 0.1s ease-in-out;
  transition: transform 0.1s ease-in-out;
  transition: transform 0.1s ease-in-out, -webkit-transform 0.1s ease-in-out; }
  .btn-hover-translateX:hover {
    -webkit-transform: translateX(-10px);
    -ms-transform: translateX(-10px);
    transform: translateX(-10px); }

.btn-hover-translateY {
  display: inline-block;
  -webkit-transition: -webkit-transform 0.1s ease-in-out;
  transition: -webkit-transform 0.1s ease-in-out;
  -o-transition: transform 0.1s ease-in-out;
  transition: transform 0.1s ease-in-out;
  transition: transform 0.1s ease-in-out, -webkit-transform 0.1s ease-in-out; }
  .btn-hover-translateY:hover {
    -webkit-transform: translateY(-5px);
    -ms-transform: translateY(-5px);
    transform: translateY(-5px); }

.btn-hover-underline {
  position: relative;
  display: inline-block;
  text-decoration: none; }
  .btn-hover-underline:before {
    width: 0;
    content: '';
    position: absolute;
    bottom: 0;
    left: 50%;
    -webkit-transform: translateX(-50%);
    -ms-transform: translateX(-50%);
    transform: translateX(-50%);
    height: 1px;
    background: #000;
    -webkit-transition: all 0.2s ease-in-out;
    -o-transition: all 0.2s ease-in-out;
    transition: all 0.2s ease-in-out; }
  .btn-hover-underline:hover:before {
    width: 100%; }

.btn-hover-border-wrapping {
  padding: 20px;
  font-size: 18px;
  position: relative;
  border: none; }
  .btn-hover-border-wrapping:before {
    content: "";
    position: absolute;
    z-index: -1;
    left: 0;
    right: 0;
    top: 0;
    bottom: 0;
    border: #fff000 dashed;
    border-width: 0;
    -webkit-transition: border-width 0.1s ease-out;
    -o-transition: border-width 0.1s ease-out;
    transition: border-width 0.1s ease-out; }
  .btn-hover-border-wrapping:hover:before {
    z-index: 1;
    -webkit-transform: translateY(0);
    -ms-transform: translateY(0);
    transform: translateY(0);
    border-width: 5px; }

.btn-hover-shine, .header .buttons-block a, .hotro-block a {
  display: inline-block;
  position: relative;
  overflow: hidden; }
  .btn-hover-shine:after, .header .buttons-block a:after, .hotro-block a:after {
    content: '';
    position: absolute;
    pointer-events: none;
    top: -110%;
    left: -210%;
    width: 200%;
    height: 200%;
    opacity: 0;
    background: -webkit-gradient(linear, left top, right top, from(rgba(255, 255, 255, 0.13)), color-stop(77%, rgba(255, 255, 255, 0.13)), color-stop(92%, rgba(255, 255, 255, 0.5)), to(rgba(255, 255, 255, 0)));
    background: -webkit-linear-gradient(left, rgba(255, 255, 255, 0.13) 0%, rgba(255, 255, 255, 0.13) 77%, rgba(255, 255, 255, 0.5) 92%, rgba(255, 255, 255, 0) 100%);
    background: -o-linear-gradient(left, rgba(255, 255, 255, 0.13) 0%, rgba(255, 255, 255, 0.13) 77%, rgba(255, 255, 255, 0.5) 92%, rgba(255, 255, 255, 0) 100%);
    background: linear-gradient(to right, rgba(255, 255, 255, 0.13) 0%, rgba(255, 255, 255, 0.13) 77%, rgba(255, 255, 255, 0.5) 92%, rgba(255, 255, 255, 0) 100%);
    -webkit-transform: rotate(30deg);
    -ms-transform: rotate(30deg);
    transform: rotate(30deg); }
  .btn-hover-shine:hover:after, .header .buttons-block a:hover:after, .hotro-block a:hover:after {
    -webkit-animation: shine .75s;
    animation: shine .75s;
    opacity: 1;
    top: -30%;
    left: -30%;
    -webkit-transition-property: left, top, opacity;
    -o-transition-property: left, top, opacity;
    transition-property: left, top, opacity;
    -webkit-transition-duration: 1s, 1s, .15s;
    -o-transition-duration: 1s, 1s, .15s;
    transition-duration: 1s, 1s, .15s;
    -webkit-transition-timing-function: ease;
    -o-transition-timing-function: ease;
    transition-timing-function: ease; }

/*--- About Text ---*/
.text-truncate {
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
  overflow: hidden;
  padding-bottom: 0 !important; }

.text-stroke {
  font-size: 100px;
  color: #fff;
  text-transform: uppercase;
  background: -webkit-linear-gradient(90deg, #000 20%, #f00 50%);
  /* Chrome10+,Safari5.1+ */
  -webkit-text-stroke: 5px rgba(255, 255, 255, 0.01);
  -webkit-background-clip: text; }

.text-gradient {
  text-transform: uppercase;
  font-weight: normal;
  font-size: 100px;
  background: #000;
  background: -webkit-linear-gradient(legacy-direction(180deg), #000, #f00, #fff000);
  background: -webkit-gradient(linear, left top, left bottom, from(#000), color-stop(#f00), to(#fff000));
  background: -webkit-linear-gradient(top, #000, #f00, #fff000);
  background: -o-linear-gradient(top, #000, #f00, #fff000);
  background: linear-gradient(180deg, #000, #f00, #fff000);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent; }

/*--- About Image ---*/
.image-fit {
  width: 250px;
  display: block;
  height: 350px;
  -o-object-fit: cover;
  object-fit: cover;
  -o-object-position: center;
  object-position: center;
  -webkit-transition: all 0.2s ease-in-out;
  -o-transition: all 0.2s ease-in-out;
  transition: all 0.2s ease-in-out; }

/*--- About Effect ---*/
.effect-gradient-linear {
  background: #77D7E7;
  background: -webkit-linear-gradient(legacy-direction(to bottom), #77D7E7 50%, #ff0000 50%, #fff000 100%);
  background: -webkit-gradient(linear, left top, left bottom, color-stop(50%, #77D7E7), color-stop(50%, #ff0000), to(#fff000));
  background: -webkit-linear-gradient(top, #77D7E7 50%, #ff0000 50%, #fff000 100%);
  background: -o-linear-gradient(top, #77D7E7 50%, #ff0000 50%, #fff000 100%);
  background: linear-gradient(to bottom, #77D7E7 50%, #ff0000 50%, #fff000 100%); }

/*--- About Other ---*/
.hover-stop-animated:hover {
  -webkit-animation-play-state: paused;
  animation-play-state: paused;
  -webkit-animation: step-end;
  -moz-animationanimation: step-end;
  animation: step-end; }

@font-face {
  font-family: "SF";
  src: url(../fonts/SF-Pro-Display-Regular.eot);
  src: url(../fonts/SF-Pro-Display-Regular.eot#iefix) format("eot"), url(../fonts/SF-Pro-Display-Regular.woff2) format("woff2"), url(../fonts/SF-Pro-Display-Regular.woff) format("woff"), url(../fonts/SF-Pro-Display-Regular.ttf) format("truetype"), url(../fonts/SF-Pro-Display-Regular.svg) format("svg"); }

@font-face {
  font-family: "uvnhuongque";
  src: url(../fonts/unicode.display.uvnhuongque_r.eot);
  src: url(../fonts/unicode.display.uvnhuongque_r.eot#iefix) format("eot"), url(../fonts/unicode.display.uvnhuongque_r.woff2) format("woff2"), url(../fonts/unicode.display.uvnhuongque_r.woff) format("woff"), url(../fonts/unicode.display.uvnhuongque_r.ttf) format("truetype"), url(../fonts/unicode.display.uvnhuongque_r.svg) format("svg"); }

@font-face {
  font-family: "robotoslab";
  src: url(../fonts/robotoslab-regular.eot);
  src: url(../fonts/robotoslab-regular.eot#iefix) format("eot"), url(../fonts/robotoslab-regular.woff2) format("woff2"), url(../fonts/robotoslab-regular.woff) format("woff"), url(../fonts/robotoslab-regular.ttf) format("truetype"), url(../fonts/robotoslab-regular.svg) format("svg"); }

@font-face {
  font-family: "rooters";
  src: url(../fonts/rooters.eot);
  src: url(../fonts/rooters.eot#iefix) format("eot"), url(../fonts/rooters.woff2) format("woff2"), url(../fonts/rooters.woff) format("woff"), url(../fonts/rooters.ttf) format("truetype"), url(../fonts/rooters.svg) format("svg"); }

@font-face {
  font-family: "huongquenang";
  src: url(../fonts/unicode.display.uvnhuongque_n.eot);
  src: url(../fonts/unicode.display.uvnhuongque_n.eot#iefix) format("eot"), url(../fonts/unicode.display.uvnhuongque_n.woff2) format("woff2"), url(../fonts/unicode.display.uvnhuongque_n.woff) format("woff"), url(../fonts/unicode.display.uvnhuongque_n.ttf) format("truetype"), url(../fonts/unicode.display.uvnhuongque_n.svg) format("svg"); }

.header {
  position: relative;
  top: 0;
  left: 0;
  width: 100%;
  height: 1040px;
  z-index: 10;
  font-family: K2D;
  margin-bottom: 0px;
  padding: 0 0; }
  .header .age18 {
    position: absolute;
    top: 100px;
    right: 0;
    bottom: 0;
    left: 10px; }
    @media only screen and (max-width: 768px) {
      .header .age18 {
        display: none; } }
  .header .nav-wrapper {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -webkit-align-items: center;
    -ms-flex-align: center;
    align-items: center;
    position: fixed;
    height: 60px;
    width: 100%;
    z-index: 10;
    margin: 0 0;
    background: #101413; }
  .header .container {
    width: 100% !important;
    margin: 0 auto; }
  .header .navbar {
    width: 100%;
    padding: 0 0;
    margin: 50px 0 0 0;
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
    -webkit-justify-content: space-between;
    -ms-flex-pack: justify;
    justify-content: space-between; }
  .header .navbar-nav {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    padding: 0 0px 0 0px;
    margin: -5px 0 0 0; }
    .header .navbar-nav li {
      margin: 0 10px; }
      .header .navbar-nav li a {
        display: block;
        font-family: 'robotoslab';
        color: #feaf41;
        text-transform: uppercase;
        text-align: center;
        font-weight: 600;
        font-size: 18px;
        padding: 0.9375rem calc(1.34375rem + 1.125vw); }
        @media (min-width: 1200px) {
          .header .navbar-nav li a {
            padding: 0.9375rem 2.1875rem; } }
        .header .navbar-nav li a.active, .header .navbar-nav li a:hover {
          color: #fdea91; }
  .header .avatar {
    display: block;
    float: left;
    margin: 0px 10px 0 10px; }
    .header .avatar img {
      -webkit-border-radius: 13px;
      border-radius: 13px; }
  .header .logo {
    display: block;
    position: absolute;
    top: 340px;
    left: 51%;
    -webkit-transform: translateX(-60%);
    -ms-transform: translateX(-60%);
    transform: translateX(-60%);
    z-index: 1; }
  .header .text {
    text-align: center;
    width: 100%;
    position: absolute;
    top: 490px;
    left: 8px; }
  .header .play-video {
    display: block;
    text-align: center;
    position: absolute;
    top: 20%;
    left: 50%;
    -webkit-transform: translateX(-235%);
    -ms-transform: translateX(-235%);
    transform: translateX(-235%);
    -webkit-transition: all 0.1s linear;
    -o-transition: all 0.1s linear;
    transition: all 0.1s linear; }
    .header .play-video:hover {
      opacity: 0.9; }
  .header .buttons-block {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    width: 630px;
    position: absolute;
    z-index: 2;
    left: 50%;
    top: 770px;
    -webkit-transform: translateX(-50%);
    -ms-transform: translateX(-50%);
    transform: translateX(-50%);
    background: url(../images/buttons-block-bg.png) no-repeat;
    padding: 30px 0 30px 35px; }
    .header .buttons-block .block-1 {
      width: 380px;
      float: left;
      margin: 0 10px 0 0; }
      .header .buttons-block .block-1 a {
        display: block; }
        .header .buttons-block .block-1 a:nth-child(2) {
          margin-bottom: 7px; }
      .header .buttons-block .block-1 .choingay {
        float: left;
        margin-right: 10px; }
    .header .buttons-block .block-2 {
      float: left; }
    .header .buttons-block a {
      display: block; }
      .header .buttons-block a:hover {
        -webkit-filter: brightness(120%);
        filter: brightness(120%); }
  .header .search {
    width: 160px;
    height: 30px;
    float: right;
    border: solid 1px #586573;
    -webkit-border-radius: 10px;
    border-radius: 10px;
    background: #111111;
    margin: 10px 0 0 0; }
    .header .search .keyword {
      background: transparent;
      line-height: 24px;
      height: 24px;
      padding: 0 5px;
      color: #586573;
      border: none;
      width: calc(100% - 30px);
      font-size: 14px; }
      .header .search .keyword::-webkit-input-placeholder {
        color: #586573; }
      .header .search .keyword::-moz-placeholder {
        color: #586573; }
      .header .search .keyword::-ms-input-placeholder {
        color: #586573; }
      .header .search .keyword::placeholder {
        color: #586573; }
    .header .search .submit-btn {
      border: none;
      color: #586573;
      background: none;
      margin-top: 5px;
      cursor: pointer; }

:root {
  /* Not my favorite that line-height has to be united, but needed */
  --lh: 1.4rem; }

html {
  font-size: 16px;
  line-height: var(--lh); }

body {
  background-color: #f8f2f0 !important;
  color: #010101 !important;
  font-weight: 400 !important;
  line-height: 1.5 !important;
  font-family: SF !important;
  font-size: 1rem; }

a {
  background-color: transparent;
  cursor: pointer;
  color: #04459b;
  text-decoration: none;
  -webkit-transition: all 0.2s ease;
  -o-transition: all 0.2s ease;
  transition: all 0.2s ease; }
  a:hover, a:focus {
    text-decoration: none !important;
    outline: none;
    color: #055bcd; }

.show-mobile {
  display: none; }
  @media only screen and (max-width: 768px) {
    .show-mobile {
      display: block; } }

.show-desktop {
  display: block; }
  @media only screen and (max-width: 768px) {
    .show-desktop {
      display: none; } }

.loop-infinite {
  -webkit-animation-iteration-count: infinite;
  animation-iteration-count: infinite; }

.loop-5 {
  -webkit-animation-iteration-count: 5;
  animation-iteration-count: 5; }

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

/*---- Content CSS Varibles ----*/
/*--- Image -----*/
/*--- Notice Box ---*/
/*---- End Content CSS Varibles ----*/
/* General */
.StaticMain {
  clear: both;
  text-align: justify;
  color: #292826;
  /* Text styles */
  /* END. Text styles */
  /* Image styles */
  /* Notice box */
  /* List styles */ }
  .StaticMain h3 {
    font-family: SF-Bold;
    color: #292826;
    font-size: 3em;
    font-weight: bold;
    text-align: center;
    margin: 0px 0 30px 0; }
  .StaticMain a {
    color: #9b2a2e;
    text-decoration: underline; }
    .StaticMain a:hover {
      color: #a18c5c;
      text-decoration: none; }
  .StaticMain p {
    margin: 0 0 10px; }
  .StaticMain ul {
    list-style: disc;
    padding: 0 0 0 0; }
    .StaticMain ul li {
      list-style: disc;
      padding: 0 0 0 0px;
      margin: 0 0 5px 20px; }
      .StaticMain ul li ul {
        list-style: circle;
        padding: 0 0 10px 0; }
  .StaticMain ol {
    margin: 0 0 20px;
    padding: 0 0 0 20px; }
    .StaticMain ol li {
      margin: 0 0 10px;
      list-style: decimal !important; }
  .StaticMain .AnchorLink {
    margin: 0px 30px 20px;
    overflow: hidden;
    list-style: none outside none; }
    .StaticMain .AnchorLink li {
      float: left;
      width: 49%;
      padding: 0 0 5px 5px;
      margin: 0 1% 0 0;
      list-style: none; }
      @media only screen and (max-width: 768px) {
        .StaticMain .AnchorLink li {
          width: 31%;
          margin-right: 2%; } }
      @media only screen and (max-width: 480px) {
        .StaticMain .AnchorLink li {
          width: 48%;
          margin-right: 2%; } }
      @media only screen and (max-width: 320px) {
        .StaticMain .AnchorLink li {
          width: 98%;
          margin-right: 2%; } }
      .StaticMain .AnchorLink li a {
        text-decoration: none;
        padding-left: 15px;
        font-weight: bold;
        position: relative;
        color: #9b2a2e; }
        .StaticMain .AnchorLink li a:before {
          content: '';
          width: 5px;
          height: 5px;
          border: solid 1px #9b2a2e;
          position: absolute;
          top: 7px;
          left: 0;
          -webkit-transform: rotate(45deg);
          -ms-transform: rotate(45deg);
          transform: rotate(45deg); }
      .StaticMain .AnchorLink li a.Active,
      .StaticMain .AnchorLink li a.Active:hover,
      .StaticMain .AnchorLink li a:hover {
        color: #a18c5c; }
        .StaticMain .AnchorLink li a.Active:before,
        .StaticMain .AnchorLink li a.Active:hover:before,
        .StaticMain .AnchorLink li a:hover:before {
          content: '';
          position: absolute;
          top: 7px;
          left: 0;
          background: #a18c5c;
          border: solid 1px #a18c5c;
          -webkit-transform: rotate(45deg);
          -ms-transform: rotate(45deg);
          transform: rotate(45deg);
          color: #055bcd; }
  .StaticMain .FirstChar {
    padding: 4px 4px 0 0;
    line-height: 30px;
    font-size: 42px;
    font-weight: bold;
    float: left;
    color: #292826; }
  .StaticMain .ContentBlock {
    padding-bottom: 20px;
    clear: both; }
  .StaticMain .ImagesBlock {
    text-align: center;
    margin-bottom: 20px; }
  .StaticMain .ImgCenter {
    text-align: center !important;
    margin-bottom: 20px !important;
    font-size: 90%;
    font-style: italic; }
  .StaticMain h4 {
    color: #912929;
    padding: 10px 0 10px 50px;
    font-size: 20px;
    font-weight: bold;
    margin: 0 0 5px 0px;
    background: url("../images/content/icon-h4.png") no-repeat; }
  .StaticMain .ContentH4 {
    clear: both;
    margin: 0 0 10px 50px;
    padding: 0 0 0 0px; }
    .StaticMain .ContentH4 p {
      margin-bottom: 10px;
      /*text-align: justify;*/ }
  .StaticMain .ImagesH4 {
    text-align: center;
    margin: 0 0 20px 50px; }
  .StaticMain h5 {
    color: #912929;
    padding: 10px 0 10px 40px;
    margin: 0 0 10px 50px;
    font-size: 18px;
    font-weight: bold;
    background: url("../images/content/icon-h5.png") no-repeat 0 0px; }
  .StaticMain .ContentH5 {
    clear: both;
    margin: 0 0 0 90px;
    padding: 0 0 20px; }
    .StaticMain .ContentH5 p {
      margin-bottom: 10px;
      text-align: justify; }
  .StaticMain .ImagesH5 {
    text-align: center;
    margin: 0 0 20px 40px; }
  .StaticMain table {
    border-top: solid 1px #1f002b;
    margin: 0 auto 20px;
    border-collapse: collapse; }
    .StaticMain table thead tr th {
      color: #eef9f9;
      background: #333333;
      font-weight: bolder;
      padding: 10px 10px;
      border-right: 1px solid #1f002b;
      border-left: 1px solid #1f002b;
      border-bottom: 1px solid #1f002b;
      text-align: center; }
    .StaticMain table tbody tr:nth-child(odd) {
      background-color: #b7d8e3; }
    .StaticMain table tbody tr:nth-child(even) {
      background-color: #e3f1f6; }
    .StaticMain table tbody tr td {
      padding: 10px 10px;
      border: 1px solid #1f002b;
      border-top: none;
      color: #1a222a; }
      .StaticMain table tbody tr td a {
        color: #1a222a; }
        .StaticMain table tbody tr td a:hover {
          color: #055bcd; }
  .StaticMain table.Notice {
    border: 1px solid #1f002b; }
    .StaticMain table.Notice tr td {
      padding: 10px 20px;
      border: 1px solid #1f002b; }
      .StaticMain table.Notice tr td p {
        margin-bottom: 10px; }
      .StaticMain table.Notice tr td ul,
      .StaticMain table.Notice tr td ol {
        padding-bottom: 0px;
        margin-bottom: 0px; }
  .StaticMain .TextCenter {
    text-align: center; }
  .StaticMain .TextRight {
    text-align: right; }
  .StaticMain .Strong01 {
    font-weight: bolder;
    color: #9b2a2e; }
  .StaticMain .Strong02 {
    font-weight: bolder;
    color: #a18c5c; }
  .StaticMain .Strong03 {
    font-weight: bolder;
    color: #006cc8; }
  .StaticMain .TextFont17 {
    font-size: 17px; }
  .StaticMain .TextFont19 {
    font-size: 19px; }
  .StaticMain .TextFont21 {
    font-size: 21px; }
  .StaticMain .NoBorderImg {
    border: none;
    background: none;
    padding: 0; }
  .StaticMain .BorderImg {
    background: #000;
    border: 1px solid #000;
    padding: 0px; }
  .StaticMain .ImgLeft {
    float: left;
    margin: 1px 10px 5px 0;
    border: 1px solid #000; }
  .StaticMain .ImgRight {
    float: right;
    margin: 0 0 5px 10px;
    border: 1px solid #000; }
  .StaticMain blockquote {
    border-left: 2px solid #1f002b;
    font-size: 14px;
    margin: 0 20px;
    padding: 10px 40px;
    margin: 0;
    position: relative;
    font-style: italic; }
    .StaticMain blockquote:before, .StaticMain blockquote:after {
      position: absolute;
      display: block;
      width: 20px;
      height: 20px;
      content: ''; }
    .StaticMain blockquote:before {
      top: 0;
      left: 10px;
      background-position: 0 0; }
    .StaticMain blockquote:after {
      right: 0;
      bottom: 0;
      background-position: -20px 0; }
  .StaticMain .NoticeBox {
    border: solid 1px #8d8d8d;
    padding: 10px;
    background: #e3e7ef; }
    .StaticMain .NoticeBox p.Legend {
      font-size: 13px;
      font-weight: bolder;
      padding: 0 15px;
      color: #fff;
      background: #912929;
      height: 20px;
      margin: -20px 0 10px;
      float: left;
      border: solid 1px #912929; }
    .StaticMain .NoticeBox .NoteContent {
      width: 100%;
      overflow: hidden;
      text-align: justify;
      color: #1e2c19; }
      .StaticMain .NoticeBox .NoteContent a {
        color: #1c76fd; }
        .StaticMain .NoticeBox .NoteContent a:hover {
          color: #fd4b36; }
  .StaticMain ul.Decimal {
    margin: 0px 0px 10px 0px; }
    .StaticMain ul.Decimal li {
      list-style-type: decimal;
      margin-bottom: 10px;
      text-align: justify; }
      .StaticMain ul.Decimal li ul {
        padding-top: 5px; }
  .StaticMain ul.UpperAlpha {
    margin: 0px 0px 10px 0px; }
    .StaticMain ul.UpperAlpha li {
      list-style-type: upper-alpha;
      margin-bottom: 10px;
      text-align: justify; }
      .StaticMain ul.UpperAlpha li ul {
        padding-top: 5px; }
  .StaticMain ul.LowerAlpha {
    margin: 0px 0px 10px 0px; }
    .StaticMain ul.LowerAlpha li {
      list-style-type: lower-alpha;
      margin-bottom: 10px;
      text-align: justify; }
      .StaticMain ul.LowerAlpha li ul {
        padding-top: 5px; }
  .StaticMain ul.Icon {
    margin: 0px 0px 10px 5px; }
    .StaticMain ul.Icon li {
      margin-bottom: 10px;
      padding-left: 15px;
      list-style-type: none;
      text-align: justify;
      position: relative; }
      .StaticMain ul.Icon li:before {
        font-size: 8px;
        content: "\e074";
        font-family: 'GlyphiconsHalflings';
        position: absolute;
        top: 4px;
        left: 0;
        -webkit-transform: rotate(45deg);
        -ms-transform: rotate(45deg);
        transform: rotate(45deg); }
      .StaticMain ul.Icon li ul {
        padding-top: 5px; }
      .StaticMain ul.Icon li ul.LowerAlpha li {
        list-style-type: lower-alpha;
        margin-bottom: 10px;
        background: none;
        padding-left: 0px; }
  .StaticMain ul.Dash {
    margin: 0px 0px 10px 5px; }
    .StaticMain ul.Dash li {
      margin-bottom: 10px;
      padding-left: 15px;
      list-style-type: none;
      text-align: justify;
      position: relative; }
      .StaticMain ul.Dash li:before {
        font-size: 8px;
        content: "\2212";
        font-family: 'GlyphiconsHalflings';
        position: absolute;
        top: 5px;
        left: 0; }
      .StaticMain ul.Dash li ul {
        padding-top: 5px; }
  .StaticMain ul.Disc {
    margin: 0px 0px 10px 5px; }
    .StaticMain ul.Disc li {
      list-style-type: none;
      margin: 0 0 10px 0;
      padding: 0 0 0 15px;
      text-align: justify;
      position: relative; }
      .StaticMain ul.Disc li:before {
        font-size: 8px;
        content: "\e165";
        font-family: 'GlyphiconsHalflings';
        position: absolute;
        top: 5px;
        left: 0; }
      .StaticMain ul.Disc li ul {
        padding-top: 5px; }

body {
  background: #f7fcfe;
  overflow-x: hidden;
  scroll-behavior: smooth; }
  body .wrapper {
    background: url(../images/bg.jpg) no-repeat top center #f6fbf0;
    overflow-x: hidden; }
  body .wrapper.sub {
    overflow-x: hidden;
    background: url(../images/bg-top.jpg) no-repeat center top, url(../images/bg-bottom.jpg) no-repeat center bottom #f6fbf0; }
    body .wrapper.sub .container {
      display: block; }
  body .container {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-flex-wrap: wrap;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap; }

.section {
  position: relative;
  width: 100%; }

.heading {
  text-align: center; }
  .heading-tintuc {
    width: 100%;
    margin: 0 0 20px 0px; }

.char {
  position: absolute;
  top: -70px;
  left: -70px; }

.banner-frame {
  width: 574px;
  height: 630px;
  margin: 0 0px 0;
  position: relative; }

.banner-slider {
  text-align: center;
  position: relative; }
  .banner-slider a {
    display: block; }
    .banner-slider a:after {
      content: '';
      position: absolute;
      top: 0;
      right: 0;
      bottom: 0;
      left: 0;
      background: url(../images/banner-frame.png) no-repeat;
      z-index: 1; }

.banner-slider-prev {
  width: 60px;
  height: 60px;
  background: url(../images/prev-btn.png) no-repeat;
  position: absolute;
  left: -35px;
  top: 48%;
  -webkit-transform: translateY(-50%);
  -ms-transform: translateY(-50%);
  transform: translateY(-50%);
  cursor: pointer; }

.banner-slider-next {
  width: 60px;
  height: 60px;
  background: url(../images/next-btn.png) no-repeat;
  position: absolute;
  right: -28px;
  top: 48%;
  -webkit-transform: translateY(-50%);
  -ms-transform: translateY(-50%);
  transform: translateY(-50%);
  cursor: pointer; }

.banner-slider-swiper-pagination {
  left: 50%;
  -webkit-transform: translateX(-50%);
  -ms-transform: translateX(-50%);
  transform: translateX(-50%);
  bottom: 10px;
  opacity: .8; }
  .banner-slider-swiper-pagination .swiper-pagination-bullet {
    width: 32px;
    height: 32px;
    background: url(../images/paging-dot.png) no-repeat;
    opacity: 1; }
  .banner-slider-swiper-pagination .swiper-pagination-bullet-active {
    width: 32px;
    height: 32px;
    background: url(../images/paging-dot-hover.png) no-repeat; }

.hotro-block {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
  -ms-flex-pack: center;
  justify-content: center;
  width: 510px;
  margin: 75px 0 0px 0px; }
  .hotro-block li {
    margin: 0 5px; }
  .hotro-block a {
    display: block;
    margin: 0 0px; }

/*- Variable -*/
.news {
  margin: 25px 0px 70px -10px;
  width: 591px;
  height: 581px;
  padding: 35px 50px 0 45px;
  background: url(../images/news-frame.png) no-repeat; }
  .news-tab {
    overflow: hidden;
    margin: 0 0;
    padding-bottom: 4px; }
    .news-tab li {
      float: left; }
      .news-tab li a {
        display: block;
        font-family: 'robotoslab';
        color: #634634;
        text-transform: uppercase;
        text-align: center;
        font-weight: bold;
        font-size: 18px;
        background: transparent;
        padding: 0 15px 40px;
        line-height: 36px;
        border: none;
        background-position: center bottom; }
        .news-tab li a.active, .news-tab li a:hover {
          color: #c86524;
          background: url(../images/news-tab-hover.png) no-repeat center bottom;
          border: none; }
  .news .tab-content {
    padding: 10px 0;
    height: 295px; }

/*- news list -*/
ul.news-list {
  margin: 0; }
  ul.news-list li {
    width: 100%;
    overflow: hidden;
    padding: 0 0 5px 0;
    margin: 0 0 5px 0;
    position: relative; }
    ul.news-list li:not(:last-child) {
      border-bottom: solid 1px #d4ac89; }
    ul.news-list li.highlight {
      margin-bottom: 20px;
      border: none; }
      ul.news-list li.highlight .news-title {
        float: left;
        width: calc(100% - 131px);
        display: block;
        color: #622c08;
        font-family: "SF";
        font-weight: 600; }
        ul.news-list li.highlight .news-title:hover {
          color: #d4ac89; }
          ul.news-list li.highlight .news-title:hover .news-time {
            color: #d4ac89; }
        ul.news-list li.highlight .news-title .news-time {
          color: #622c08; }
    ul.news-list li .news__thumb {
      float: left;
      margin: 2px 10px 0 1px;
      height: auto; }
      ul.news-list li .news__thumb img {
        border: 2px solid #3c365a; }
    ul.news-list li .news-des {
      width: calc(100% - 131px);
      color: #622c08;
      float: left;
      display: -webkit-box;
      -webkit-box-orient: vertical;
      -webkit-line-clamp: 3;
      overflow: hidden;
      padding-bottom: 0 !important; }
      ul.news-list li .news-des::after {
        background-image: url(../images/icon-string-cut.gif); }
    ul.news-list li .news-title {
      color: #492914;
      width: 100%; }
      ul.news-list li .news-title:hover,
      ul.news-list li .news-title:hover .news-time {
        color: #d4ac89; }
      ul.news-list li .news-title span {
        width: calc(100% - 80px);
        -o-text-overflow: ellipsis;
        text-overflow: ellipsis;
        overflow: hidden;
        display: block;
        white-space: nowrap; }
    ul.news-list li .news-time {
      color: #492914;
      font-size: 14px;
      position: absolute;
      right: 0;
      top: 3px;
      text-align: right; }

.news-more {
  color: #eff9fd;
  float: right;
  margin: 0px 0 0px 0;
  background: #a36740;
  padding: 0 30px 0 10px;
  position: relative;
  line-height: 25px;
  font-size: 15px; }
  .news-more:after {
    position: absolute;
    top: 0px;
    right: 5px;
    content: '+';
    font-size: 25px;
    line-height: .8; }
  .news-more:hover {
    color: #fff; }

.character {
  width: 1400px;
  max-width: 100%;
  padding: 0 0;
  margin: 0 auto 110px;
  /*--- nav ---*/
  /*--- nav ---*/
  /*--- char nav ---*/ }
  .character .title {
    text-align: center;
    margin: 0 0 calc(1.3125rem + 0.75vw) 0; }
    @media (min-width: 1200px) {
      .character .title {
        margin: 0 0 1.875rem 0; } }
    @media only screen and (max-width: 768px) {
      .character .title img {
        max-width: 80%; } }
  .character-info {
    position: absolute;
    top: 80px;
    right: 485px;
    width: 390px; }
  .character-intro {
    color: #864d2c;
    text-align: initial;
    font-weight: 600;
    font-size: 20px;
    margin: 0 0 20px;
    font-family: uvnhuongque; }
  .character-cate {
    font-family: uvnhuongque;
    font-size: 36px;
    color: #654835;
    width: 260px;
    padding: 0 0 0 0px;
    margin: 0 auto 20px;
    line-height: 50px; }
    .character-cate img {
      margin: 0 5px -15px 0; }
  .character-skills {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-justify-content: space-around;
    -ms-flex-pack: distribute;
    justify-content: space-around;
    margin-bottom: 30px; }
    .character-skills li {
      cursor: pointer;
      margin: 0 0px;
      padding: 7px;
      width: 95px;
      height: 95px;
      position: relative;
      background: url(../images/chienbinh-skill-bg.png) no-repeat 0 0; }
      .character-skills li img {
        -webkit-border-radius: 50%;
        border-radius: 50%; }
      .character-skills li .tooltip {
        width: 250px;
        padding: 10px;
        background: #f6e0ce;
        background: -webkit-linear-gradient(legacy-direction(180deg), #f6e0ce, #f6e0ce);
        background: -webkit-gradient(linear, left top, left bottom, from(#f6e0ce), to(#f6e0ce));
        background: -webkit-linear-gradient(top, #f6e0ce, #f6e0ce);
        background: -o-linear-gradient(top, #f6e0ce, #f6e0ce);
        background: linear-gradient(180deg, #f6e0ce, #f6e0ce);
        border: solid 1px #8a522d;
        position: absolute;
        top: 100%;
        left: -3px;
        text-align: left;
        -webkit-border-radius: 10px;
        border-radius: 10px;
        z-index: 5;
        visibility: hidden;
        -webkit-transform: translateY(-20px);
        -ms-transform: translateY(-20px);
        transform: translateY(-20px);
        -webkit-transition: all 0.2s;
        -o-transition: all 0.2s;
        transition: all 0.2s;
        opacity: 0;
        color: #654835; }
      .character-skills li:nth-child(4) .tooltip {
        left: -70px; }
      .character-skills li:hover .tooltip {
        visibility: visible;
        -webkit-transform: translateY(0);
        -ms-transform: translateY(0);
        transform: translateY(0);
        opacity: 1; }
  .character-block {
    width: 100%;
    max-width: 100%;
    position: relative;
    margin-top: -40px; }
    .character-block .chienbinh-img {
      margin: 0 0 0 -45px; }
  .character .bestskill {
    font-family: uvnhuongque;
    font-size: 36px;
    color: #654835;
    padding: 0 0 0;
    text-align: center;
    margin: 0 auto 20px;
    line-height: 50px; }
  .character .slider-single-top .xemthem-btn {
    display: block;
    text-align: center; }
    .character .slider-single-top .xemthem-btn:hover {
      -webkit-filter: brightness(130%);
      filter: brightness(130%); }
  .character .slider-nav {
    position: absolute;
    top: 50px;
    right: 90px;
    z-index: 2;
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    width: 300px;
    /* Disable grayscale on hover */ }
    .character .slider-nav img {
      filter: gray;
      /* IE6-9 */
      -webkit-filter: grayscale(1);
      /* Google Chrome, Safari 6+ & Opera 15+ */
      filter: grayscale(1);
      /* Microsoft Edge and Firefox 35+ */
      cursor: pointer; }
    .character .slider-nav img:hover {
      -webkit-filter: grayscale(0);
      filter: none; }
    .character .slider-nav .swiper-slide-thumb-active img:last-child {
      -webkit-filter: grayscale(0);
      filter: none;
      opacity: 1;
      visibility: visible; }
    .character .slider-nav .swiper-slide:nth-child(2) {
      top: -30px;
      left: 70px; }
    .character .slider-nav .swiper-slide:nth-child(3) {
      top: -45px;
      left: 115px; }
    .character .slider-nav .swiper-slide:nth-child(4) {
      top: -55px;
      left: 130px; }
    .character .slider-nav .swiper-slide:nth-child(5) {
      top: -67px;
      left: 110px; }
    .character .slider-nav .swiper-slide:nth-child(6) {
      top: -85px;
      left: 60px; }
    .character .slider-nav .swiper-slide:nth-child(7) {
      top: -110px;
      left: 0px; }
  .character .nav-button-prev, .character .nav-button-next {
    width: 25px;
    height: 35px;
    background: url(../images/nav-button-prev.png) no-repeat;
    cursor: pointer;
    z-index: 6;
    position: absolute;
    top: 104px;
    left: -30px; }
    .character .nav-button-prev:hover, .character .nav-button-next:hover {
      background: url(../images/nav-button-prev-hover.png) no-repeat; }
  .character .nav-button-next {
    left: 370px;
    -webkit-transform: rotate(-180deg);
    -ms-transform: rotate(-180deg);
    transform: rotate(-180deg); }
  .character .nav-button-prev, .character .nav-button-next {
    width: 25px;
    height: 35px;
    background: url(../images/nav-button-prev.png) no-repeat;
    cursor: pointer;
    z-index: 6;
    position: absolute;
    top: 104px;
    left: -30px; }
    .character .nav-button-prev:hover, .character .nav-button-next:hover {
      background: url(../images/nav-button-prev-hover.png) no-repeat; }
  .character .nav-button-next {
    left: 370px;
    -webkit-transform: rotate(-180deg);
    -ms-transform: rotate(-180deg);
    transform: rotate(-180deg); }
  .character .char-button-prev, .character .char-button-next {
    width: 80px;
    height: 79px;
    background: url(../images/char-button-prev.png) no-repeat;
    cursor: pointer;
    z-index: 6;
    position: absolute;
    top: 65%;
    left: 6%; }
    .character .char-button-prev:hover, .character .char-button-next:hover {
      background: url(../images/char-button-prev-hover.png) no-repeat; }
  .character .char-button-next {
    left: 15%;
    -webkit-transform: rotate(-180deg);
    -ms-transform: rotate(-180deg);
    transform: rotate(-180deg); }

.cottruyen-tab {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: start;
  -webkit-justify-content: flex-start;
  -ms-flex-pack: start;
  justify-content: flex-start;
  padding: 10px 60px 10px 30px;
  margin: -40px auto 0;
  position: relative;
  z-index: 2; }
  .cottruyen-tab li:not(:last-child) {
    margin-right: 7px; }
  .cottruyen-tab li a {
    display: block;
    padding: 0 0px;
    margin: 0 auto; }
    .cottruyen-tab li a img {
      -webkit-filter: grayscale(1);
      filter: grayscale(1);
      -webkit-transition: all 0.2s;
      -o-transition: all 0.2s;
      transition: all 0.2s; }
    .cottruyen-tab li a.active img, .cottruyen-tab li a:hover img {
      -webkit-filter: grayscale(0);
      filter: grayscale(0); }

.cottruyen-content {
  width: 1200px;
  height: 600px;
  background: url(../images/cottruyen-content-bg.png) no-repeat 0 0;
  position: relative;
  padding: 60px 120px 0 620px;
  margin: 0 auto 0px;
  color: #7e3510;
  font-size: 18px; }
  .cottruyen-content p {
    margin: 0 0 10px; }
  .cottruyen-content .cottruyen-name {
    font-family: 'huongquenang';
    color: #6f432c;
    text-transform: uppercase;
    text-align: inherit;
    font-weight: normal;
    font-size: 36px;
    background: url(../images/cottruyen-line.gif) no-repeat left 63%;
    padding: 0 0 5px;
    margin: 0 0 10px; }
    .cottruyen-content .cottruyen-name .cottruyen-icon {
      margin: 0 10px -10px 0; }
    .cottruyen-content .cottruyen-name .sub {
      display: block;
      font-family: 'uvnhuongque';
      font-size: 30px;
      text-transform: capitalize;
      text-align: right;
      padding: 0px 0 0 0; }
  .cottruyen-content .cottruyen-scroll {
    width: 100%;
    height: 470px;
    overflow: auto;
    padding: 10px 50px 10px 30px;
    text-align: justify; }
  .cottruyen-content .cottruyen-thumb {
    position: absolute;
    top: 69px;
    left: -150px;
    -webkit-transition: all 0.3s;
    -o-transition: all 0.3s;
    transition: all 0.3s;
    opacity: 0; }
  .cottruyen-content .active .cottruyen-thumb {
    left: 160px;
    opacity: 1; }

/*--- Dac sac ---*/
.flipster {
  margin: 0px 0 50px 0 !important;
  overflow: hidden !important; }
  .flipster .flipster__container {
    padding: 50px 0; }
  .flipster .flipster__item__content {
    padding: 10px 25px; }
    .flipster .flipster__item__content img {
      opacity: .7; }
  .flipster .flipster__item--current img {
    opacity: 1; }
  .flipster .flipster__item {
    -webkit-filter: blur(2px);
    filter: blur(2px); }
  .flipster .flipster__item.flipster__item--current {
    -webkit-filter: blur(0px);
    filter: blur(0px); }
  .flipster .flipster__button--prev {
    left: 200px;
    opacity: 1; }
  .flipster .flipster__button--next {
    right: 200px;
    opacity: 1; }

.floating {
  width: 140px;
  height: 380px;
  position: fixed;
  top: 50%;
  right: 0px;
  background: url(../images/floating-bg.png) no-repeat;
  z-index: 10;
  -webkit-transform: translateY(-50%);
  -ms-transform: translateY(-50%);
  transform: translateY(-50%);
  padding: 0px 0 0 18px; }
  .floating a {
    display: block; }
  .floating .qrcode {
    margin: 0 0 15px 0; }
  .floating .top {
    margin-bottom: 10px;
    display: block; }

/*--- Sub page ---*/
.main-content {
  position: relative;
  padding: 0 80px 200px;
  margin-bottom: 20px;
  min-height: 1200px; }
  .main-content .news-list li {
    padding: 0 0 15px 0;
    margin: 0 0 15px 0;
    border-bottom: solid 1px #c0c4cf !important; }
  .main-content .news-list .highlight .news-des {
    color: #474361; }
    .main-content .news-list .highlight .news-des:hover {
      color: #130856; }
  .main-content .news-list .highlight .news-title {
    color: #af2e23;
    margin-bottom: 5px;
    font-weight: 600;
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 3;
    overflow: hidden;
    padding-bottom: 0 !important; }
    .main-content .news-list .highlight .news-title .news-time {
      color: #af2e23; }
    .main-content .news-list .highlight .news-title:hover {
      color: #130856; }
      .main-content .news-list .highlight .news-title:hover .news-time {
        color: #130856; }

.static {
  overflow: hidden;
  padding: 30px 0 0 0;
  position: relative;
  margin-bottom: 30px; }
  .static .icon-static {
    float: left;
    margin-right: 5px; }
  .static .fa-home {
    margin: 0 5px 0 0; }
  .static h2 {
    font-size: 25px;
    font-weight: bold;
    color: #381e0b;
    margin: 10px 0 2px 5px;
    text-transform: uppercase; }

.breadcrumb--main {
  font-size: 16px;
  color: #474361; }
  .breadcrumb--main a {
    color: #474361;
    text-decoration: none; }
    .breadcrumb--main a:hover {
      color: #973322; }

/*--- Relate News List ---*/
.relative {
  padding-top: 9px;
  text-align: center; }
  .relative-title a {
    display: block;
    position: relative;
    margin: 0 0 10px;
    padding: 10px;
    color: #fff;
    text-transform: uppercase;
    text-align: left;
    font-weight: bold;
    font-size: 18px;
    background: #0c3138;
    background: -webkit-linear-gradient(legacy-direction(90deg), #0c3138, #0c3138);
    background: -webkit-gradient(linear, left top, right top, from(#0c3138), to(#0c3138));
    background: -webkit-linear-gradient(left, #0c3138, #0c3138);
    background: -o-linear-gradient(left, #0c3138, #0c3138);
    background: linear-gradient(90deg, #0c3138, #0c3138); }
    .relative-title a:before {
      font-size: 35px;
      content: "\002b";
      font-family: 'GlyphiconsHalflings';
      position: absolute;
      top: -3px;
      right: 15px;
      color: #fff; }
    .relative-title a:hover {
      color: #c7d3e2; }
  .relative ul.relative-list {
    list-style: none;
    text-align: left;
    padding: 5px 0px 0;
    margin: 0 0 0 20px; }
    .relative ul.relative-list li {
      list-style: none;
      border-bottom: 1px dotted #6184a8;
      padding: 12px 0 10px 5px;
      margin-left: 0px;
      position: relative;
      color: #586673; }
      .relative ul.relative-list li:last-child {
        border-bottom: none; }
      .relative ul.relative-list li a {
        display: -webkit-box;
        display: -webkit-flex;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-pack: justify;
        -webkit-justify-content: space-between;
        -ms-flex-pack: justify;
        justify-content: space-between;
        color: #586673; }
        .relative ul.relative-list li a:hover {
          color: #6c7eb3;
          text-decoration: none; }
        .relative ul.relative-list li a span {
          display: block;
          display: -webkit-box;
          -webkit-box-orient: vertical;
          -webkit-line-clamp: 1;
          overflow: hidden;
          padding-bottom: 0 !important; }
      .relative ul.relative-list li .date {
        display: block;
        color: #595467;
        text-transform: inherit;
        text-align: inherit;
        font-weight: normal;
        font-size: 14px;
        text-align: center;
        padding-left: 40px;
        line-height: 21px; }

/* Paging */
.paging {
  text-align: center;
  padding-bottom: 25px; }

ul.page__list {
  padding: 20px 0 0 !important;
  text-align: center; }
  ul.page__list li {
    display: inline-block !important;
    padding: 0 2px !important;
    margin: 0 !important; }
    ul.page__list li a {
      color: #474361 !important;
      text-decoration: none !important;
      font-size: 15px;
      border: 1px solid #28677e;
      display: block;
      padding: 0 10px;
      line-height: 24px; }
      ul.page__list li a:hover {
        color: #fff !important;
        background-color: #28677e;
        border: 1px solid #28677e; }
      ul.page__list li a.disable,
      ul.page__list li a:hover .disable {
        opacity: 0.6;
        cursor: default;
        background: none;
        border: 1px solid #28677e;
        color: #28677e !important; }
    ul.page__list li.active a {
      color: #fff !important;
      background-color: #28677e;
      border: 1px solid #28677e; }
    ul.page__list li.prev a,
    ul.page__list li.next a {
      display: inline-block;
      padding: 0 10px;
      vertical-align: middle;
      width: 26px;
      height: 26px;
      margin: -2px 0 0 0; }

/*--- Popup ---*/
.popup {
  visibility: hidden;
  position: fixed;
  top: 0%;
  left: 50%;
  -webkit-transform: translateX(-50%);
  -ms-transform: translateX(-50%);
  transform: translateX(-50%);
  z-index: 1001;
  opacity: 0; }
  .popup.active {
    visibility: visible;
    opacity: 1;
    -webkit-transition: all 0.5s;
    -o-transition: all 0.5s;
    transition: all 0.5s; }
  .popup-close {
    padding: 20px;
    display: block;
    position: absolute;
    right: 0;
    top: 0;
    font-size: 30px; }
    .popup-close:hover {
      -webkit-filter: brightness(150%);
      filter: brightness(150%); }

.popup-giftcode {
  width: 532px;
  height: 746px;
  max-width: 100%;
  background: url(../images/popup-bg.png) no-repeat center center/100% 100%;
  -webkit-border-radius: 5px;
  border-radius: 5px;
  padding: 330px 60px 0;
  color: #333333;
  font-weight: bold;
  text-align: center; }
  @media only screen and (max-width: 640px) {
    .popup-giftcode {
      max-width: 90%;
      height: 640px; } }
  .popup-giftcode .popup-title {
    color: #333333;
    text-transform: uppercase;
    text-align: center;
    font-weight: normal;
    font-family: 'robotoslab-regular';
    margin: 0 0 30px;
    font-size: calc(1.34375rem + 1.125vw); }
    @media (min-width: 1200px) {
      .popup-giftcode .popup-title {
        font-size: 2.1875rem; } }
  .popup-giftcode .value {
    padding: 5px;
    background: url(../images/popup-value-bg.png) no-repeat 0 0/100% 100%;
    width: 90%;
    color: #fff;
    text-transform: uppercase;
    font-size: 18px;
    text-align: center;
    margin: 0 auto; }

.popup-server {
  width: 695px;
  height: 800px;
  background: url(../images/popup-server.png) no-repeat 0 0/100%;
  color: #ffedad;
  text-transform: inherit;
  text-align: inherit;
  font-weight: normal;
  font-size: 16px;
  font-family: robotoslab;
  top: 80px;
  padding: calc(1.40625rem + 1.875vw); }
  @media (min-width: 1200px) {
    .popup-server {
      padding: 2.8125rem; } }
  .popup-server .user {
    overflow: hidden;
    margin: 0 0 60px; }
  .popup-server .username {
    color: #fff000;
    -o-text-overflow: ellipsis;
    text-overflow: ellipsis;
    /* Required for text-overflow to do anything */
    white-space: nowrap;
    overflow: hidden; }
  .popup-server .logout {
    float: right;
    color: #ffedad;
    text-decoration: underline; }
    .popup-server .logout:hover {
      color: #fff000; }
  .popup-server .popup-close {
    right: -100px;
    top: -70px; }
  .popup-server .nice-select {
    width: 300px;
    margin: 0 auto 40px;
    float: initial;
    background: #745948;
    border-color: #745948;
    color: #dac6b4;
    text-align: center;
    font-weight: bold;
    font-size: 30px; }
    .popup-server .nice-select:after {
      border-color: #ffd052; }
  .popup-server .nice-select .option {
    background-color: #745948;
    color: #dac6b4;
    font-size: 25px; }
  .popup-server .nice-select .option:hover, .popup-server .nice-select .option.focus, .popup-server .nice-select .option.selected.focus {
    color: #ffd052;
    background-color: #745948; }
  .popup-server .list {
    width: 298px;
    max-height: 200px;
    overflow: auto;
    background-color: #745948; }
  .popup-server .server-title {
    font-family: robotoslab;
    color: #654835;
    text-transform: uppercase;
    text-align: center;
    font-weight: bold;
    font-size: 36px;
    margin: 0 0 5px; }
  .popup-server .server-btn {
    width: 186px;
    height: 58px;
    line-height: 58px;
    display: block;
    margin: 0 auto 40px;
    background: url(../images/server-new-bg.png) no-repeat;
    color: #aa3c18;
    text-align: center;
    font-weight: bold;
    font-size: 36px; }
    .popup-server .server-btn:hover {
      -webkit-filter: brightness(120%);
      filter: brightness(120%); }

.bgover {
  background: rgba(0, 0, 0, 0.7);
  position: fixed;
  width: 100%;
  height: 100%;
  z-index: 1000;
  left: 0;
  top: 0;
  right: 0;
  bottom: 0; }

.wrapper-404 {
  background: url(../images/wrapper-404.jpg) no-repeat center top/cover;
  height: 100vh; }
  .wrapper-404 .logo {
    display: block;
    padding: 8% 0;
    text-align: center; }
  .wrapper-404 .home-btn {
    left: 50%;
    -webkit-transform: translateX(-50%);
    -ms-transform: translateX(-50%);
    transform: translateX(-50%);
    margin: 12% 0 0 0; }

.footer {
  color: #f7fffd;
  text-align: center;
  padding: 1.25rem 0 0.625rem;
  position: relative;
  background: #101413; }
  .footer-item {
    margin-top: 10px;
    margin-bottom: 0px;
    width: 100%; }
    .footer-item li {
      color: #f7fffd;
      display: inline-block; }
      .footer-item li a {
        font-size: 14px;
        color: inherit;
        font-weight: bold;
        padding: 0 8px; }
        .footer-item li a:hover, .footer-item li a:focus {
          color: white; }
  .footer .copyright {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    color: #f7fffd;
    font-size: 12px;
    -webkit-box-pack: center;
    -webkit-justify-content: center;
    -ms-flex-pack: center;
    justify-content: center;
    padding: 20px 10px;
    margin: 0 auto; }
  .footer .img18 {
    height: 100%;
    margin-left: 10px;
    margin-top: -10px; }
  .footer .cmn {
    height: 100%;
    margin-right: 10px; }

/*# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNldHRpbmcvX3ZhcmlhYmxlLnNjc3MiLCJzZXR0aW5nL19yZXNldC5zY3NzIiwic3R5bGUuY3NzIiwidmVuZG9yL19zd2lwZXIuc2NzcyIsInZlbmRvci9fZmFuY3lib3guc2NzcyIsInZlbmRvci9fanF1ZXJ5LWZsaXBzdGVyLnNjc3MiLCJ2ZW5kb3IvX25pY2Utc2VsZWN0LnNjc3MiLCIuLi8uLi9ub2RlX21vZHVsZXMvaG50LXNjc3MtbnBtL3NyYy9zY3NzL3ZlbmRvci9fYW5pbWF0ZS5zY3NzIiwiLi4vLi4vbm9kZV9tb2R1bGVzL2hudC1zY3NzLW5wbS9zcmMvc2Nzcy92ZW5kb3IvX2FuaW1hdGUtbXktb3duLnNjc3MiLCIuLi8uLi9ub2RlX21vZHVsZXMvaG50LXNjc3MtbnBtL3NyYy9zY3NzL3ZlbmRvci9fbWl4aW5zLnNjc3MiLCIuLi8uLi9ub2RlX21vZHVsZXMvaG50LXNjc3MtbnBtL3NyYy9zY3NzL3ZlbmRvci9fZXh0ZW5kLnNjc3MiLCIuLi8uLi9ub2RlX21vZHVsZXMvaG50LXNjc3MtbnBtL3NyYy9zY3NzL3ZlbmRvci9fY29tbW9uLnNjc3MiLCJ0aGVtZS9fbG9hZC1mb250cy5zY3NzIiwidGhlbWUvX2hlYWRlci5zY3NzIiwiLi4vLi4vbm9kZV9tb2R1bGVzL3Jmcy9zY3NzLnNjc3MiLCJ0aGVtZS9fY29tbW9uLnNjc3MiLCJ0aGVtZS9fdHlwaW5nLnNjc3MiLCJ0aGVtZS9fcGFnZXMuc2NzcyIsInRoZW1lL19mb290ZXIuc2NzcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSx3QkFBd0I7QUFnQnhCO0VBQ0UsNkJBQXNDO0VBQ3RDLHlCQUFrQztFQUNsQyxlQUFjO0VBQ2QsbUJBQWtCLEVBQ25COztBQ3JCRDtFQUNFLFVBQVM7RUFDVCxXQUFVO0VBQ1YsdUJBQXNCO0VBQ3RCLDRCQUEyQjtFQUMzQiwrQkFBOEI7RUFDOUIsMkJBQTBCLEVBQzNCOztBQUdEO0VBRUUsb0NBQW1DO0VBQ25DLG1DQUFrQztFQUNsQyw4QkFBNkI7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dEI7TUFsQkY7UUFRSyxnQkFBZTtRQUNmLGVBQWM7UUFDZCxrQkFBaUI7UUFDakIsZUFBYyxFQU1mO1FBakJKO1VBZU8sYUFBa0MsRUFDbkM7RUF2QlQ7SUE2QkkscUJBQWE7SUFBYixzQkFBYTtJQUFiLHFCQUFhO0lBQWIsY0FBYTtJQUNiLGVBaENrQjtJQWlDbEIsZ0JBQWU7SUFDZix5QkFBdUI7SUFBdkIsZ0NBQXVCO0lBQXZCLHNCQUF1QjtJQUF2Qix3QkFBdUI7SUFDdkIsbUJBQWtCO0lBQ2xCLGVBQWMsRUFDZjtFQW5DSDtJQXFDSSxhQUFZO0lBQ1osa0JBQWlCO0lBQ2pCLGtCQUFpQixFQUNsQjtFQXhDSDtJQTJDSSxhQUFZO0lBQ1osbUJBQWtCLEVBQ25CIiwiZmlsZSI6InN0eWxlLmNzcyIsInNvdXJjZXNDb250ZW50IjpbIi8qLSBHbG9iYWwgVmFyaWFibGVzIC0qL1xyXG4kbWFpbkNvbG9yOiAjMDEwMTAxO1xyXG4kbWFpbkxpbmtDb2xvcjogIzA0NDU5YjtcclxuJG1haW5MaW5rQ29sb3ItaG92ZXI6IGxpZ2h0ZW4oJG1haW5MaW5rQ29sb3IsIDEwJSk7XHJcbiRiYWNrZ3JvdW5kQ29sb3I6ICNmOGYyZjA7XHJcbiRmb250U2l6ZUh0bWxUYWc6IDE2cHg7XHJcbiRmb250U2l6ZTogMXJlbTsgLy8gPT0gMTZweFxyXG4kZm9udE5vcm1hbDogNDAwO1xyXG4kZm9udEJvbGQ6IDUwMDtcclxuJGZvbnRCb2xkZXI6IDcwMDtcclxuJGxpbmVIZWlnaHQ6IDEuNTtcclxuJGZvbnRGYW1pbHk6IFNGO1xyXG5cclxuJGdyaWQtZ3V0dGVyLXdpZHRoOiAyMHB4O1xyXG4kY29udGFpbmVyLXdpZHRoOiAxMjAwcHg7XHJcblxyXG4uY29udGFpbmVyIHtcclxuICBtYXgtd2lkdGg6ICRjb250YWluZXItd2lkdGggIWltcG9ydGFudDtcclxuICB3aWR0aDogJGNvbnRhaW5lci13aWR0aCAhaW1wb3J0YW50O1xyXG4gIG1hcmdpbjogMCBhdXRvO1xyXG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxufSIsIioge1xyXG4gIG1hcmdpbjogMDtcclxuICBwYWRkaW5nOiAwO1xyXG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XHJcbiAgLW1vei1ib3gtc2l6aW5nOiBib3JkZXItYm94O1xyXG4gIC13ZWJraXQtYm94LXNpemluZzogYm9yZGVyLWJveDtcclxuICAtbXMtYm94LXNpemluZzogYm9yZGVyLWJveDtcclxufVxyXG5cclxuXHJcbmJvZHkge1xyXG5cclxuICAtd2Via2l0LWZvbnQtc21vb3RoaW5nOiBhbnRpYWxpYXNlZDtcclxuICAtbW96LW9zeC1mb250LXNtb290aGluZzogZ3JheXNjYWxlO1xyXG4gIHRleHQtcmVuZGVyaW5nOiBvcHRpbWl6ZVNwZWVkO1xyXG4gIG92ZXJmbG93LXg6IGhpZGRlbjtcclxuICBtYXJnaW46IDA7XHJcbn1cclxuXHJcbm1haW4ge1xyXG4gIGRpc3BsYXk6IGJsb2NrO1xyXG59XHJcblxyXG5wcmUge1xyXG4gIGZvbnQtZmFtaWx5OiBtb25vc3BhY2UsIG1vbm9zcGFjZTtcclxuICBmb250LXNpemU6IDFyZW07XHJcbn1cclxuXHJcbmIsXHJcbnN0cm9uZyB7XHJcbiAgZm9udC13ZWlnaHQ6IGJvbGRlcjtcclxufVxyXG5cclxuOjpzZWxlY3Rpb24ge1xyXG4gIGJhY2tncm91bmQ6ICMwMDg4ZmY7XHJcbiAgY29sb3I6ICNmZmZmZmY7XHJcbiAgdGV4dC1zaGFkb3c6IG5vbmU7XHJcbiAgYm9yZGVyOiAwO1xyXG4gIG91dGxpbmU6IG5vbmU7XHJcbn1cclxuXHJcbmNvZGUsXHJcbmtiZCxcclxuc2FtcCB7XHJcbiAgZm9udC1mYW1pbHk6IG1vbm9zcGFjZSwgbW9ub3NwYWNlO1xyXG4gIGZvbnQtc2l6ZTogMXJlbTtcclxufVxyXG5cclxuc21hbGwge1xyXG4gIGZvbnQtc2l6ZTogODAlO1xyXG59XHJcblxyXG5zdWIsXHJcbnN1cCB7XHJcbiAgZm9udC1zaXplOiA3NSU7XHJcbiAgbGluZS1oZWlnaHQ6IDA7XHJcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gIHZlcnRpY2FsLWFsaWduOiBiYXNlbGluZTtcclxufVxyXG5cclxuc3ViIHtcclxuICBib3R0b206IC0wLjI1ZW07XHJcbn1cclxuXHJcbnN1cCB7XHJcbiAgdG9wOiAtMC41ZW07XHJcbn1cclxuXHJcbmltZyB7XHJcbiAgbWF4LXdpZHRoOiAxMDAlO1xyXG4gIGhlaWdodDogYXV0bztcclxuICBib3JkZXI6IDA7XHJcbn1cclxuXHJcbmJ1dHRvbixcclxuaW5wdXQsXHJcbm9wdGdyb3VwLFxyXG5zZWxlY3QsXHJcbnRleHRhcmVhIHtcclxuICBmb250LWZhbWlseTogaW5oZXJpdDtcclxuICBmb250LXNpemU6IDEwMCU7XHJcbiAgbGluZS1oZWlnaHQ6IDEuMTU7XHJcbiAgbWFyZ2luOiAwO1xyXG5cclxuICAmOmZvY3VzIHtcclxuICAgIG91dGxpbmU6IG5vbmUgIWltcG9ydGFudDtcclxuICB9XHJcbn1cclxuXHJcbmJ1dHRvbixcclxuaW5wdXQge1xyXG4gIG92ZXJmbG93OiB2aXNpYmxlO1xyXG59XHJcblxyXG5idXR0b24sXHJcbnNlbGVjdCB7XHJcbiAgdGV4dC10cmFuc2Zvcm06IG5vbmU7XHJcbn1cclxuXHJcbmJ1dHRvbixcclxuW3R5cGU9XCJidXR0b25cIl0sXHJcblt0eXBlPVwicmVzZXRcIl0sXHJcblt0eXBlPVwic3VibWl0XCJdIHtcclxuICAtd2Via2l0LWFwcGVhcmFuY2U6IGJ1dHRvbjtcclxufVxyXG5cclxuYnV0dG9uOjotbW96LWZvY3VzLWlubmVyLFxyXG5bdHlwZT1cImJ1dHRvblwiXTo6LW1vei1mb2N1cy1pbm5lcixcclxuW3R5cGU9XCJyZXNldFwiXTo6LW1vei1mb2N1cy1pbm5lcixcclxuW3R5cGU9XCJzdWJtaXRcIl06Oi1tb3otZm9jdXMtaW5uZXIge1xyXG4gIGJvcmRlci1zdHlsZTogbm9uZTtcclxuICBwYWRkaW5nOiAwO1xyXG59XHJcblxyXG5idXR0b246LW1vei1mb2N1c3JpbmcsXHJcblt0eXBlPVwiYnV0dG9uXCJdOi1tb3otZm9jdXNyaW5nLFxyXG5bdHlwZT1cInJlc2V0XCJdOi1tb3otZm9jdXNyaW5nLFxyXG5bdHlwZT1cInN1Ym1pdFwiXTotbW96LWZvY3VzcmluZyB7XHJcbiAgb3V0bGluZTogMXB4IGRvdHRlZCAjMDA4OGZmO1xyXG59XHJcblxyXG5idXR0b24ge1xyXG5cclxuICAmOmFjdGl2ZSxcclxuICAmOmZvY3VzIHtcclxuICAgIG91dGxpbmU6IG5vbmU7XHJcbiAgICBib3JkZXI6IG5vbmU7XHJcbiAgfVxyXG59XHJcblxyXG5maWVsZHNldCB7XHJcbiAgcGFkZGluZzogMC4zNXJlbSAwLjc1cmVtIDAuNjI1cmVtO1xyXG59XHJcblxyXG5sZWdlbmQge1xyXG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XHJcbiAgY29sb3I6IGluaGVyaXQ7XHJcbiAgZGlzcGxheTogdGFibGU7XHJcbiAgbWF4LXdpZHRoOiAxMDAlO1xyXG4gIHBhZGRpbmc6IDA7XHJcbiAgd2hpdGUtc3BhY2U6IG5vcm1hbDtcclxufVxyXG5cclxucHJvZ3Jlc3Mge1xyXG4gIHZlcnRpY2FsLWFsaWduOiBiYXNlbGluZTtcclxufVxyXG5cclxudGV4dGFyZWEge1xyXG4gIG92ZXJmbG93OiBhdXRvO1xyXG59XHJcblxyXG5bdHlwZT1cImNoZWNrYm94XCJdLFxyXG5bdHlwZT1cInJhZGlvXCJdIHtcclxuICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xyXG4gIC8qIDEgKi9cclxuICBwYWRkaW5nOiAwO1xyXG4gIC8qIDIgKi9cclxufVxyXG5cclxuW3R5cGU9XCJudW1iZXJcIl06Oi13ZWJraXQtaW5uZXItc3Bpbi1idXR0b24sXHJcblt0eXBlPVwibnVtYmVyXCJdOjotd2Via2l0LW91dGVyLXNwaW4tYnV0dG9uIHtcclxuICBoZWlnaHQ6IGF1dG87XHJcbn1cclxuXHJcblt0eXBlPVwic2VhcmNoXCJdIHtcclxuICAtd2Via2l0LWFwcGVhcmFuY2U6IHRleHRmaWVsZDtcclxuICBvdXRsaW5lLW9mZnNldDogLTJweDtcclxufVxyXG5cclxuW3R5cGU9XCJzZWFyY2hcIl06Oi13ZWJraXQtc2VhcmNoLWRlY29yYXRpb24ge1xyXG4gIC13ZWJraXQtYXBwZWFyYW5jZTogbm9uZTtcclxufVxyXG5cclxuOjotd2Via2l0LWZpbGUtdXBsb2FkLWJ1dHRvbiB7XHJcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiBidXR0b247XHJcbiAgZm9udDogaW5oZXJpdDtcclxufVxyXG5cclxuZGV0YWlscyB7XHJcbiAgZGlzcGxheTogYmxvY2s7XHJcbn1cclxuXHJcbnN1bW1hcnkge1xyXG4gIGRpc3BsYXk6IGxpc3QtaXRlbTtcclxufVxyXG5cclxudGVtcGxhdGUge1xyXG4gIGRpc3BsYXk6IG5vbmU7XHJcbn1cclxuXHJcbltoaWRkZW5dIHtcclxuICBkaXNwbGF5OiBub25lO1xyXG59XHJcblxyXG5pZnJhbWUge1xyXG4gIG1heC13aWR0aDogMTAwJSAhaW1wb3J0YW50O1xyXG59XHJcblxyXG5oMSxcclxuaDIsXHJcbmgzLFxyXG5oNCxcclxuaDUsXHJcbmg2IHtcclxuICBtYXJnaW46IDA7XHJcbiAgcGFkZGluZzogMDtcclxuICBmb250LXdlaWdodDogNTAwO1xyXG59XHJcblxyXG5cclxuXHJcbnVsIHtcclxuICBtYXJnaW46IDA7XHJcbiAgcGFkZGluZzogMDtcclxuXHJcbiAgbGkge1xyXG4gICAgbGlzdC1zdHlsZTogbm9uZTtcclxuICB9XHJcbn1cclxuXHJcbmZpZ3VyZSB7XHJcbiAgd2lkdGg6IDEwMCUgIWltcG9ydGFudDtcclxufVxyXG5cclxuW2NsYXNzICo9XCJpY29ucy1cIl0ge1xyXG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxufSIsIi8qLSBHbG9iYWwgVmFyaWFibGVzIC0qL1xuLmNvbnRhaW5lciB7XG4gIG1heC13aWR0aDogMTIwMHB4ICFpbXBvcnRhbnQ7XG4gIHdpZHRoOiAxMjAwcHggIWltcG9ydGFudDtcbiAgbWFyZ2luOiAwIGF1dG87XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuXG4qIHtcbiAgbWFyZ2luOiAwO1xuICBwYWRkaW5nOiAwO1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAtbW96LWJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gIC13ZWJraXQtYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgLW1zLWJveC1zaXppbmc6IGJvcmRlci1ib3g7IH1cblxuYm9keSB7XG4gIC13ZWJraXQtZm9udC1zbW9vdGhpbmc6IGFudGlhbGlhc2VkO1xuICAtbW96LW9zeC1mb250LXNtb290aGluZzogZ3JheXNjYWxlO1xuICB0ZXh0LXJlbmRlcmluZzogb3B0aW1pemVTcGVlZDtcbiAgb3ZlcmZsb3cteDogaGlkZGVuO1xuICBtYXJnaW46IDA7IH1cblxubWFpbiB7XG4gIGRpc3BsYXk6IGJsb2NrOyB9XG5cbnByZSB7XG4gIGZvbnQtZmFtaWx5OiBtb25vc3BhY2UsIG1vbm9zcGFjZTtcbiAgZm9udC1zaXplOiAxcmVtOyB9XG5cbmIsXG5zdHJvbmcge1xuICBmb250LXdlaWdodDogYm9sZGVyOyB9XG5cbjo6c2VsZWN0aW9uIHtcbiAgYmFja2dyb3VuZDogIzAwODhmZjtcbiAgY29sb3I6ICNmZmZmZmY7XG4gIHRleHQtc2hhZG93OiBub25lO1xuICBib3JkZXI6IDA7XG4gIG91dGxpbmU6IG5vbmU7IH1cblxuY29kZSxcbmtiZCxcbnNhbXAge1xuICBmb250LWZhbWlseTogbW9ub3NwYWNlLCBtb25vc3BhY2U7XG4gIGZvbnQtc2l6ZTogMXJlbTsgfVxuXG5zbWFsbCB7XG4gIGZvbnQtc2l6ZTogODAlOyB9XG5cbnN1YixcbnN1cCB7XG4gIGZvbnQtc2l6ZTogNzUlO1xuICBsaW5lLWhlaWdodDogMDtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB2ZXJ0aWNhbC1hbGlnbjogYmFzZWxpbmU7IH1cblxuc3ViIHtcbiAgYm90dG9tOiAtMC4yNWVtOyB9XG5cbnN1cCB7XG4gIHRvcDogLTAuNWVtOyB9XG5cbmltZyB7XG4gIG1heC13aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiBhdXRvO1xuICBib3JkZXI6IDA7IH1cblxuYnV0dG9uLFxuaW5wdXQsXG5vcHRncm91cCxcbnNlbGVjdCxcbnRleHRhcmVhIHtcbiAgZm9udC1mYW1pbHk6IGluaGVyaXQ7XG4gIGZvbnQtc2l6ZTogMTAwJTtcbiAgbGluZS1oZWlnaHQ6IDEuMTU7XG4gIG1hcmdpbjogMDsgfVxuICBidXR0b246Zm9jdXMsXG4gIGlucHV0OmZvY3VzLFxuICBvcHRncm91cDpmb2N1cyxcbiAgc2VsZWN0OmZvY3VzLFxuICB0ZXh0YXJlYTpmb2N1cyB7XG4gICAgb3V0bGluZTogbm9uZSAhaW1wb3J0YW50OyB9XG5cbmJ1dHRvbixcbmlucHV0IHtcbiAgb3ZlcmZsb3c6IHZpc2libGU7IH1cblxuYnV0dG9uLFxuc2VsZWN0IHtcbiAgdGV4dC10cmFuc2Zvcm06IG5vbmU7IH1cblxuYnV0dG9uLFxuW3R5cGU9XCJidXR0b25cIl0sXG5bdHlwZT1cInJlc2V0XCJdLFxuW3R5cGU9XCJzdWJtaXRcIl0ge1xuICAtd2Via2l0LWFwcGVhcmFuY2U6IGJ1dHRvbjsgfVxuXG5idXR0b246Oi1tb3otZm9jdXMtaW5uZXIsXG5bdHlwZT1cImJ1dHRvblwiXTo6LW1vei1mb2N1cy1pbm5lcixcblt0eXBlPVwicmVzZXRcIl06Oi1tb3otZm9jdXMtaW5uZXIsXG5bdHlwZT1cInN1Ym1pdFwiXTo6LW1vei1mb2N1cy1pbm5lciB7XG4gIGJvcmRlci1zdHlsZTogbm9uZTtcbiAgcGFkZGluZzogMDsgfVxuXG5idXR0b246LW1vei1mb2N1c3JpbmcsXG5bdHlwZT1cImJ1dHRvblwiXTotbW96LWZvY3VzcmluZyxcblt0eXBlPVwicmVzZXRcIl06LW1vei1mb2N1c3JpbmcsXG5bdHlwZT1cInN1Ym1pdFwiXTotbW96LWZvY3VzcmluZyB7XG4gIG91dGxpbmU6IDFweCBkb3R0ZWQgIzAwODhmZjsgfVxuXG5idXR0b246YWN0aXZlLCBidXR0b24ubmljZS1zZWxlY3Qub3BlbiwgYnV0dG9uOmZvY3VzIHtcbiAgb3V0bGluZTogbm9uZTtcbiAgYm9yZGVyOiBub25lOyB9XG5cbmZpZWxkc2V0IHtcbiAgcGFkZGluZzogMC4zNXJlbSAwLjc1cmVtIDAuNjI1cmVtOyB9XG5cbmxlZ2VuZCB7XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gIGNvbG9yOiBpbmhlcml0O1xuICBkaXNwbGF5OiB0YWJsZTtcbiAgbWF4LXdpZHRoOiAxMDAlO1xuICBwYWRkaW5nOiAwO1xuICB3aGl0ZS1zcGFjZTogbm9ybWFsOyB9XG5cbnByb2dyZXNzIHtcbiAgdmVydGljYWwtYWxpZ246IGJhc2VsaW5lOyB9XG5cbnRleHRhcmVhIHtcbiAgb3ZlcmZsb3c6IGF1dG87IH1cblxuW3R5cGU9XCJjaGVja2JveFwiXSxcblt0eXBlPVwicmFkaW9cIl0ge1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAvKiAxICovXG4gIHBhZGRpbmc6IDA7XG4gIC8qIDIgKi8gfVxuXG5bdHlwZT1cIm51bWJlclwiXTo6LXdlYmtpdC1pbm5lci1zcGluLWJ1dHRvbixcblt0eXBlPVwibnVtYmVyXCJdOjotd2Via2l0LW91dGVyLXNwaW4tYnV0dG9uIHtcbiAgaGVpZ2h0OiBhdXRvOyB9XG5cblt0eXBlPVwic2VhcmNoXCJdIHtcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiB0ZXh0ZmllbGQ7XG4gIG91dGxpbmUtb2Zmc2V0OiAtMnB4OyB9XG5cblt0eXBlPVwic2VhcmNoXCJdOjotd2Via2l0LXNlYXJjaC1kZWNvcmF0aW9uIHtcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lOyB9XG5cbjo6LXdlYmtpdC1maWxlLXVwbG9hZC1idXR0b24ge1xuICAtd2Via2l0LWFwcGVhcmFuY2U6IGJ1dHRvbjtcbiAgZm9udDogaW5oZXJpdDsgfVxuXG5kZXRhaWxzIHtcbiAgZGlzcGxheTogYmxvY2s7IH1cblxuc3VtbWFyeSB7XG4gIGRpc3BsYXk6IGxpc3QtaXRlbTsgfVxuXG50ZW1wbGF0ZSB7XG4gIGRpc3BsYXk6IG5vbmU7IH1cblxuW2hpZGRlbl0ge1xuICBkaXNwbGF5OiBub25lOyB9XG5cbmlmcmFtZSB7XG4gIG1heC13aWR0aDogMTAwJSAhaW1wb3J0YW50OyB9XG5cbmgxLFxuaDIsXG5oMyxcbmg0LFxuaDUsXG5oNiB7XG4gIG1hcmdpbjogMDtcbiAgcGFkZGluZzogMDtcbiAgZm9udC13ZWlnaHQ6IDUwMDsgfVxuXG51bCB7XG4gIG1hcmdpbjogMDtcbiAgcGFkZGluZzogMDsgfVxuICB1bCBsaSB7XG4gICAgbGlzdC1zdHlsZTogbm9uZTsgfVxuXG5maWd1cmUge1xuICB3aWR0aDogMTAwJSAhaW1wb3J0YW50OyB9XG5cbltjbGFzcyo9XCJpY29ucy1cIl0ge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7IH1cblxuLyoqXHJcbiAqIFN3aXBlciA1LjIuMFxyXG4gKiBNb3N0IG1vZGVybiBtb2JpbGUgdG91Y2ggc2xpZGVyIGFuZCBmcmFtZXdvcmsgd2l0aCBoYXJkd2FyZSBhY2NlbGVyYXRlZCB0cmFuc2l0aW9uc1xyXG4gKiBodHRwOi8vc3dpcGVyanMuY29tXHJcbiAqXHJcbiAqIENvcHlyaWdodCAyMDE0LTIwMTkgVmxhZGltaXIgS2hhcmxhbXBpZGlcclxuICpcclxuICogUmVsZWFzZWQgdW5kZXIgdGhlIE1JVCBMaWNlbnNlXHJcbiAqXHJcbiAqIFJlbGVhc2VkIG9uOiBPY3RvYmVyIDI2LCAyMDE5XHJcbiAqL1xuQGZvbnQtZmFjZSB7XG4gIGZvbnQtZmFtaWx5OiBzd2lwZXItaWNvbnM7XG4gIHNyYzogdXJsKFwiZGF0YTphcHBsaWNhdGlvbi9mb250LXdvZmY7Y2hhcnNldD11dGYtODtiYXNlNjQsIGQwOUdSZ0FCQUFBQUFBWmdBQkFBQUFBQURBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFCR1JsUk5BQUFHUkFBQUFCb0FBQUFjaTZxSGtVZEVSVVlBQUFXZ0FBQUFJd0FBQUNRQVlBQlhSMUJQVXdBQUJoUUFBQUF1QUFBQU51QVk3K3hIVTFWQ0FBQUZ4QUFBQUZBQUFBQm0yZlBjelU5VEx6SUFBQUhjQUFBQVNnQUFBR0JQOVY1UlkyMWhjQUFBQWtRQUFBQ0lBQUFCWXQ2RjBjQmpkblFnQUFBQ3pBQUFBQVFBQUFBRUFCRUJSR2RoYzNBQUFBV1lBQUFBQ0FBQUFBai8vd0FEWjJ4NVpnQUFBeXdBQUFETUFBQUQyTUh0cnlWb1pXRmtBQUFCYkFBQUFEQUFBQUEyRTIrZW9XaG9aV0VBQUFHY0FBQUFId0FBQUNRQzlnRHphRzEwZUFBQUFpZ0FBQUFaQUFBQXJnSmtBQkZzYjJOaEFBQUMwQUFBQUZvQUFBQmFGUUFVR0cxaGVIQUFBQUc4QUFBQUh3QUFBQ0FBY0FCQWJtRnRaUUFBQS9nQUFBRTVBQUFDWHZGZEJ3bHdiM04wQUFBRk5BQUFBR0lBQUFDRTVzNzRoWGphWTJCa1lHQUFZcGY1SHUvaitXMitNbkF6TVlEQXphWDZRakQ2LzQvL0J4ajVHQThBdVJ3TVlHa0FQeXdMMTNqYVkyQmtZR0E4OFA4QWd4NGorLzhmUURZZkExQUVCV2dEQUlCMkJPb0FlTnBqWUdSZ1lOQmg0R2RnWWdBQkVNbklBQkp6WU5BRENRQUFDV2dBc1FCNDJtTmdZZnpDT0lHQmxZR0IwWWN4allHQndSMUtmMldRWkdoaFlHQmlZR1ZtZ0FGR0JpUVFrT2Fhd3REQW9NQlF4WGpnL3dFR1BjWUREQTR3TlVBMkNDZ3dzQUFBTzRFTDZnQUFlTnBqMk0wZ3lBQUNxeGdHTldCa1oyRDQvd01BK3hrRGRnQUFBSGphWTJCZ1lHYUFZQmtHUmdZUWlBSHlHTUY4RmdZSElNM0R3TUhBQkdRck1PZ3lXRExFTTFUOS93OFVCZkVNZ0x6RS8vLy9QLzUvL2YvVi94dityNGVhQUFlTWJBeHdJVVltSU1IRWdLWUFZalVjc0RBd3NMS3hjM0J5Y2ZQdzhqRVFBL2daQkFTRmhFVkV4Y1FsSktXa1pXVGw1QlVVbFpSVlZOWFVOVFFaQmdNQUFNUitFK2dBRVFGRUFBQUFLZ0FxQUNvQU5BQStBRWdBVWdCY0FHWUFjQUI2QUlRQWpnQ1lBS0lBckFDMkFNQUF5Z0RVQU40QTZBRHlBUHdCQmdFUUFSb0JKQUV1QVRnQlFnRk1BVllCWUFGcUFYUUJmZ0dJQVpJQm5BR21BYklCemdIc0FBQjQydTJOTVE2Q1VBeUdXNTY4eDlBbmVZWWdtNE1KYmhLRmFFeElPQVZYOEFwZXdTdDRCaWM0QWZlQWlkM1ZPQml4RHhmUFlFemE1TytYZmkwNFlBRGdnaVVJVUxDdUVKSzhWaE80YlN2cGRua3RISTVRQ1l0ZGkyc2w4Wm5YYUhscVVyTkt6ZEtjVDhjamxxK3J3WlN2SVZjek5pZXpzZm5QL3V6bm1mUEZCTk9ETTJLN01UUTQ1WUVBWnFHUDgxQW1HR2NGM2lQcU9vcDByMVNQVGFUYlZrZlVlNEhYajk3d1lFK3lOd1dZeHdXdTR2MXVnV0hnbzNTMVhkWkVWcVdNN0VUMGNmbkxHeFdma2dSNDJvMlB2V3JETUJTRmovSUhMYUYwektqUmdkaVZNd1NjTlJBb1dVb0g3OFkyaWNCL3lJWTA5QW42QUgyQmR1L1VCK3l4b3BZc2hRaUV2bnZ1MGRVUmdEdDhRZUM4UER3N0ZwamkzZkVBNHovUEVKNllPQjVoS2g0ZGozRXZYaHhQcUgvU0tVWTNySjdzclo0RlpuaDFQTUF0UGh3UDZmbDJQTUpNUERnZVE0clk4WVQ2R3phbzBlQUVBNDA5RHVnZ21UbkZuT2NTQ2lFaUxNZ3hDaVRJNkNxNURaVWQzUW1wMTB2TzBMYUxUZDJjak40Zk91bWxjN2xVWWJTUWNaRmt1dFJHN2c2SktaS3kwUm1kTFk2ODBDRG5FSitVTWtwRkZlMVJON254ZFZwWHJDNGFUdG5hdXJPblllcmNaZzJZVm1MTi9kL2djemZFaW1yRS9mcy9iT3VxMjlabW44dGxvT1JhWGdaZ0dhNzh5TzkvY25YbTJCcGFHdnEyNUR2OVM0RTkrNVNJYzlQcXVwSktoWUZTU2w0NytRY3IxbVlOQUFBQWVOcHR3MGNLd2tBQUFNRFpKQThRN09VSnZrTHNQZlo2ekZWRVJQeThxSGgyWUVSKzNpL0JQODN2SUJMTHlTc29LaW1ycUtxcGEyaHA2K2pxNlJzWUdobWJtSnFaU3kwc3JheHRiTzNzSFJ5ZG5FTVU0dVI2eXg3SkpYdmVQN1dyRHljQUFBQUFBQUgvL3dBQ2VOcGpZR1JnWU9BQlloa2daZ0pDWmdaTkJrWUdMUVp0SUpzRkxNWUFBQXczQUxnQWVOb2xpekVLZ0RBUUJDY2hSYkMyc0ZFUjBZRDZxVlFpQkN2L0g5ZXpHSTZaNVhCQXc4Q0JLL201aVFRVmF1VmJYTG5Pck1adjJvTGRLRmE4UGp1cnUyaEp6R2FibU9TTHpOTXp2dXRwQjNONDJtTmdaR0JnNEdLUVl6QmhZTXhKTE1sajRHQmdBWW93L1AvUEFKSmhMTTZzU29XS2ZXQ0FBd0RBamdiUkFBQjQybU5nWUdCa0FJSWJDWm81SVBybVVuMGhHQTBBTzhFRlRRQUFcIikgZm9ybWF0KFwid29mZlwiKTtcbiAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgZm9udC1zdHlsZTogbm9ybWFsOyB9XG5cbjpyb290IHtcbiAgLS1zd2lwZXItdGhlbWUtY29sb3I6IzAwN2FmZjsgfVxuXG4uc3dpcGVyLWNvbnRhaW5lciB7XG4gIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICBtYXJnaW4tcmlnaHQ6IGF1dG87XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgbGlzdC1zdHlsZTogbm9uZTtcbiAgcGFkZGluZzogMDtcbiAgei1pbmRleDogMTsgfVxuXG4uc3dpcGVyLWNvbnRhaW5lci12ZXJ0aWNhbCA+IC5zd2lwZXItd3JhcHBlciB7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47IH1cblxuLnN3aXBlci13cmFwcGVyIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAxMDAlO1xuICB6LWluZGV4OiAxO1xuICBkaXNwbGF5OiBmbGV4O1xuICB0cmFuc2l0aW9uLXByb3BlcnR5OiB0cmFuc2Zvcm07XG4gIGJveC1zaXppbmc6IGNvbnRlbnQtYm94OyB9XG5cbi5zd2lwZXItY29udGFpbmVyLWFuZHJvaWQgLnN3aXBlci1zbGlkZSwgLnN3aXBlci13cmFwcGVyIHtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwcHgsIDAsIDApOyB9XG5cbi5zd2lwZXItY29udGFpbmVyLW11bHRpcm93ID4gLnN3aXBlci13cmFwcGVyIHtcbiAgZmxleC13cmFwOiB3cmFwOyB9XG5cbi5zd2lwZXItY29udGFpbmVyLW11bHRpcm93LWNvbHVtbiA+IC5zd2lwZXItd3JhcHBlciB7XG4gIGZsZXgtd3JhcDogd3JhcDtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjsgfVxuXG4uc3dpcGVyLWNvbnRhaW5lci1mcmVlLW1vZGUgPiAuc3dpcGVyLXdyYXBwZXIge1xuICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1vdXQ7XG4gIG1hcmdpbjogMCBhdXRvOyB9XG5cbi5zd2lwZXItc2xpZGUge1xuICBmbGV4LXNocmluazogMDtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogMTAwJTtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB0cmFuc2l0aW9uLXByb3BlcnR5OiB0cmFuc2Zvcm07IH1cblxuLnN3aXBlci1zbGlkZS1pbnZpc2libGUtYmxhbmsge1xuICB2aXNpYmlsaXR5OiBoaWRkZW47IH1cblxuLnN3aXBlci1jb250YWluZXItYXV0b2hlaWdodCwgLnN3aXBlci1jb250YWluZXItYXV0b2hlaWdodCAuc3dpcGVyLXNsaWRlIHtcbiAgaGVpZ2h0OiBhdXRvOyB9XG5cbi5zd2lwZXItY29udGFpbmVyLWF1dG9oZWlnaHQgLnN3aXBlci13cmFwcGVyIHtcbiAgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7XG4gIHRyYW5zaXRpb24tcHJvcGVydHk6IHRyYW5zZm9ybSxoZWlnaHQ7IH1cblxuLnN3aXBlci1jb250YWluZXItM2Qge1xuICBwZXJzcGVjdGl2ZTogMTIwMHB4OyB9XG5cbi5zd2lwZXItY29udGFpbmVyLTNkIC5zd2lwZXItY3ViZS1zaGFkb3csIC5zd2lwZXItY29udGFpbmVyLTNkIC5zd2lwZXItc2xpZGUsIC5zd2lwZXItY29udGFpbmVyLTNkIC5zd2lwZXItc2xpZGUtc2hhZG93LWJvdHRvbSwgLnN3aXBlci1jb250YWluZXItM2QgLnN3aXBlci1zbGlkZS1zaGFkb3ctbGVmdCwgLnN3aXBlci1jb250YWluZXItM2QgLnN3aXBlci1zbGlkZS1zaGFkb3ctcmlnaHQsIC5zd2lwZXItY29udGFpbmVyLTNkIC5zd2lwZXItc2xpZGUtc2hhZG93LXRvcCwgLnN3aXBlci1jb250YWluZXItM2QgLnN3aXBlci13cmFwcGVyIHtcbiAgdHJhbnNmb3JtLXN0eWxlOiBwcmVzZXJ2ZS0zZDsgfVxuXG4uc3dpcGVyLWNvbnRhaW5lci0zZCAuc3dpcGVyLXNsaWRlLXNoYWRvdy1ib3R0b20sIC5zd2lwZXItY29udGFpbmVyLTNkIC5zd2lwZXItc2xpZGUtc2hhZG93LWxlZnQsIC5zd2lwZXItY29udGFpbmVyLTNkIC5zd2lwZXItc2xpZGUtc2hhZG93LXJpZ2h0LCAuc3dpcGVyLWNvbnRhaW5lci0zZCAuc3dpcGVyLXNsaWRlLXNoYWRvdy10b3Age1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGxlZnQ6IDA7XG4gIHRvcDogMDtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogMTAwJTtcbiAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gIHotaW5kZXg6IDEwOyB9XG5cbi5zd2lwZXItY29udGFpbmVyLTNkIC5zd2lwZXItc2xpZGUtc2hhZG93LWxlZnQge1xuICBiYWNrZ3JvdW5kLWltYWdlOiBsaW5lYXItZ3JhZGllbnQodG8gbGVmdCwgcmdiYSgwLCAwLCAwLCAwLjUpLCByZ2JhKDAsIDAsIDAsIDApKTsgfVxuXG4uc3dpcGVyLWNvbnRhaW5lci0zZCAuc3dpcGVyLXNsaWRlLXNoYWRvdy1yaWdodCB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IGxpbmVhci1ncmFkaWVudCh0byByaWdodCwgcmdiYSgwLCAwLCAwLCAwLjUpLCByZ2JhKDAsIDAsIDAsIDApKTsgfVxuXG4uc3dpcGVyLWNvbnRhaW5lci0zZCAuc3dpcGVyLXNsaWRlLXNoYWRvdy10b3Age1xuICBiYWNrZ3JvdW5kLWltYWdlOiBsaW5lYXItZ3JhZGllbnQodG8gdG9wLCByZ2JhKDAsIDAsIDAsIDAuNSksIHJnYmEoMCwgMCwgMCwgMCkpOyB9XG5cbi5zd2lwZXItY29udGFpbmVyLTNkIC5zd2lwZXItc2xpZGUtc2hhZG93LWJvdHRvbSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IGxpbmVhci1ncmFkaWVudCh0byBib3R0b20sIHJnYmEoMCwgMCwgMCwgMC41KSwgcmdiYSgwLCAwLCAwLCAwKSk7IH1cblxuLnN3aXBlci1jb250YWluZXItY3NzLW1vZGUgPiAuc3dpcGVyLXdyYXBwZXIge1xuICBvdmVyZmxvdzogYXV0bztcbiAgc2Nyb2xsYmFyLXdpZHRoOiBub25lO1xuICAtbXMtb3ZlcmZsb3ctc3R5bGU6IG5vbmU7IH1cblxuLnN3aXBlci1jb250YWluZXItY3NzLW1vZGUgPiAuc3dpcGVyLXdyYXBwZXI6Oi13ZWJraXQtc2Nyb2xsYmFyIHtcbiAgZGlzcGxheTogbm9uZTsgfVxuXG4uc3dpcGVyLWNvbnRhaW5lci1jc3MtbW9kZSA+IC5zd2lwZXItd3JhcHBlciA+IC5zd2lwZXItc2xpZGUge1xuICBzY3JvbGwtc25hcC1hbGlnbjogc3RhcnQgc3RhcnQ7IH1cblxuLnN3aXBlci1jb250YWluZXItaG9yaXpvbnRhbC5zd2lwZXItY29udGFpbmVyLWNzcy1tb2RlID4gLnN3aXBlci13cmFwcGVyIHtcbiAgc2Nyb2xsLXNuYXAtdHlwZTogeCBtYW5kYXRvcnk7IH1cblxuLnN3aXBlci1jb250YWluZXItdmVydGljYWwuc3dpcGVyLWNvbnRhaW5lci1jc3MtbW9kZSA+IC5zd2lwZXItd3JhcHBlciB7XG4gIHNjcm9sbC1zbmFwLXR5cGU6IHkgbWFuZGF0b3J5OyB9XG5cbjpyb290IHtcbiAgLS1zd2lwZXItbmF2aWdhdGlvbi1zaXplOjQ0cHg7IH1cblxuLnN3aXBlci1idXR0b24tbmV4dCwgLnN3aXBlci1idXR0b24tcHJldiB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiA1MCU7XG4gIHdpZHRoOiBjYWxjKHZhcigtLXN3aXBlci1uYXZpZ2F0aW9uLXNpemUpLyA0NCAqIDI3KTtcbiAgaGVpZ2h0OiB2YXIoLS1zd2lwZXItbmF2aWdhdGlvbi1zaXplKTtcbiAgbWFyZ2luLXRvcDogY2FsYygtMSAqIHZhcigtLXN3aXBlci1uYXZpZ2F0aW9uLXNpemUpLyAyKTtcbiAgei1pbmRleDogMTA7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIGNvbG9yOiB2YXIoLS1zd2lwZXItbmF2aWdhdGlvbi1jb2xvciwgdmFyKC0tc3dpcGVyLXRoZW1lLWNvbG9yKSk7IH1cblxuLnN3aXBlci1idXR0b24tbmV4dC5zd2lwZXItYnV0dG9uLWRpc2FibGVkLCAuc3dpcGVyLWJ1dHRvbi1wcmV2LnN3aXBlci1idXR0b24tZGlzYWJsZWQge1xuICBvcGFjaXR5OiAuMzU7XG4gIGN1cnNvcjogYXV0bztcbiAgcG9pbnRlci1ldmVudHM6IG5vbmU7IH1cblxuLnN3aXBlci1idXR0b24tbmV4dDphZnRlciwgLnN3aXBlci1idXR0b24tcHJldjphZnRlciB7XG4gIGZvbnQtZmFtaWx5OiBzd2lwZXItaWNvbnM7XG4gIGZvbnQtc2l6ZTogdmFyKC0tc3dpcGVyLW5hdmlnYXRpb24tc2l6ZSk7XG4gIHRleHQtdHJhbnNmb3JtOiBub25lICFpbXBvcnRhbnQ7XG4gIGxldHRlci1zcGFjaW5nOiAwO1xuICB0ZXh0LXRyYW5zZm9ybTogbm9uZTtcbiAgZm9udC12YXJpYW50OiBpbml0aWFsOyB9XG5cbi5zd2lwZXItYnV0dG9uLXByZXYsIC5zd2lwZXItY29udGFpbmVyLXJ0bCAuc3dpcGVyLWJ1dHRvbi1uZXh0IHtcbiAgbGVmdDogMTBweDtcbiAgcmlnaHQ6IGF1dG87IH1cblxuLnN3aXBlci1idXR0b24tcHJldjphZnRlciwgLnN3aXBlci1jb250YWluZXItcnRsIC5zd2lwZXItYnV0dG9uLW5leHQ6YWZ0ZXIge1xuICBjb250ZW50OiAncHJldic7IH1cblxuLnN3aXBlci1idXR0b24tbmV4dCwgLnN3aXBlci1jb250YWluZXItcnRsIC5zd2lwZXItYnV0dG9uLXByZXYge1xuICByaWdodDogMTBweDtcbiAgbGVmdDogYXV0bzsgfVxuXG4uc3dpcGVyLWJ1dHRvbi1uZXh0OmFmdGVyLCAuc3dpcGVyLWNvbnRhaW5lci1ydGwgLnN3aXBlci1idXR0b24tcHJldjphZnRlciB7XG4gIGNvbnRlbnQ6ICduZXh0JzsgfVxuXG4uc3dpcGVyLWJ1dHRvbi1uZXh0LnN3aXBlci1idXR0b24td2hpdGUsIC5zd2lwZXItYnV0dG9uLXByZXYuc3dpcGVyLWJ1dHRvbi13aGl0ZSB7XG4gIC0tc3dpcGVyLW5hdmlnYXRpb24tY29sb3I6I2ZmZmZmZjsgfVxuXG4uc3dpcGVyLWJ1dHRvbi1uZXh0LnN3aXBlci1idXR0b24tYmxhY2ssIC5zd2lwZXItYnV0dG9uLXByZXYuc3dpcGVyLWJ1dHRvbi1ibGFjayB7XG4gIC0tc3dpcGVyLW5hdmlnYXRpb24tY29sb3I6IzAwMDAwMDsgfVxuXG4uc3dpcGVyLWJ1dHRvbi1sb2NrIHtcbiAgZGlzcGxheTogbm9uZTsgfVxuXG4uc3dpcGVyLXBhZ2luYXRpb24ge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgdHJhbnNpdGlvbjogLjNzIG9wYWNpdHk7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gIHotaW5kZXg6IDEwOyB9XG5cbi5zd2lwZXItcGFnaW5hdGlvbi5zd2lwZXItcGFnaW5hdGlvbi1oaWRkZW4ge1xuICBvcGFjaXR5OiAwOyB9XG5cbi5zd2lwZXItY29udGFpbmVyLWhvcml6b250YWwgPiAuc3dpcGVyLXBhZ2luYXRpb24tYnVsbGV0cywgLnN3aXBlci1wYWdpbmF0aW9uLWN1c3RvbSwgLnN3aXBlci1wYWdpbmF0aW9uLWZyYWN0aW9uIHtcbiAgYm90dG9tOiAxMHB4O1xuICBsZWZ0OiAwO1xuICB3aWR0aDogMTAwJTsgfVxuXG4uc3dpcGVyLXBhZ2luYXRpb24tYnVsbGV0cy1keW5hbWljIHtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgZm9udC1zaXplOiAwOyB9XG5cbi5zd2lwZXItcGFnaW5hdGlvbi1idWxsZXRzLWR5bmFtaWMgLnN3aXBlci1wYWdpbmF0aW9uLWJ1bGxldCB7XG4gIHRyYW5zZm9ybTogc2NhbGUoMC4zMyk7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuXG4uc3dpcGVyLXBhZ2luYXRpb24tYnVsbGV0cy1keW5hbWljIC5zd2lwZXItcGFnaW5hdGlvbi1idWxsZXQtYWN0aXZlIHtcbiAgdHJhbnNmb3JtOiBzY2FsZSgxKTsgfVxuXG4uc3dpcGVyLXBhZ2luYXRpb24tYnVsbGV0cy1keW5hbWljIC5zd2lwZXItcGFnaW5hdGlvbi1idWxsZXQtYWN0aXZlLW1haW4ge1xuICB0cmFuc2Zvcm06IHNjYWxlKDEpOyB9XG5cbi5zd2lwZXItcGFnaW5hdGlvbi1idWxsZXRzLWR5bmFtaWMgLnN3aXBlci1wYWdpbmF0aW9uLWJ1bGxldC1hY3RpdmUtcHJldiB7XG4gIHRyYW5zZm9ybTogc2NhbGUoMC42Nik7IH1cblxuLnN3aXBlci1wYWdpbmF0aW9uLWJ1bGxldHMtZHluYW1pYyAuc3dpcGVyLXBhZ2luYXRpb24tYnVsbGV0LWFjdGl2ZS1wcmV2LXByZXYge1xuICB0cmFuc2Zvcm06IHNjYWxlKDAuMzMpOyB9XG5cbi5zd2lwZXItcGFnaW5hdGlvbi1idWxsZXRzLWR5bmFtaWMgLnN3aXBlci1wYWdpbmF0aW9uLWJ1bGxldC1hY3RpdmUtbmV4dCB7XG4gIHRyYW5zZm9ybTogc2NhbGUoMC42Nik7IH1cblxuLnN3aXBlci1wYWdpbmF0aW9uLWJ1bGxldHMtZHluYW1pYyAuc3dpcGVyLXBhZ2luYXRpb24tYnVsbGV0LWFjdGl2ZS1uZXh0LW5leHQge1xuICB0cmFuc2Zvcm06IHNjYWxlKDAuMzMpOyB9XG5cbi5zd2lwZXItcGFnaW5hdGlvbi1idWxsZXQge1xuICB3aWR0aDogOHB4O1xuICBoZWlnaHQ6IDhweDtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBib3JkZXItcmFkaXVzOiAxMDAlO1xuICBiYWNrZ3JvdW5kOiAjMDAwO1xuICBvcGFjaXR5OiAuMjsgfVxuXG5idXR0b24uc3dpcGVyLXBhZ2luYXRpb24tYnVsbGV0IHtcbiAgYm9yZGVyOiBub25lO1xuICBtYXJnaW46IDA7XG4gIHBhZGRpbmc6IDA7XG4gIGJveC1zaGFkb3c6IG5vbmU7XG4gIC13ZWJraXQtYXBwZWFyYW5jZTogbm9uZTtcbiAgLW1vei1hcHBlYXJhbmNlOiBub25lO1xuICBhcHBlYXJhbmNlOiBub25lOyB9XG5cbi5zd2lwZXItcGFnaW5hdGlvbi1jbGlja2FibGUgLnN3aXBlci1wYWdpbmF0aW9uLWJ1bGxldCB7XG4gIGN1cnNvcjogcG9pbnRlcjsgfVxuXG4uc3dpcGVyLXBhZ2luYXRpb24tYnVsbGV0LWFjdGl2ZSB7XG4gIG9wYWNpdHk6IDE7XG4gIGJhY2tncm91bmQ6IHZhcigtLXN3aXBlci1wYWdpbmF0aW9uLWNvbG9yLCB2YXIoLS1zd2lwZXItdGhlbWUtY29sb3IpKTsgfVxuXG4uc3dpcGVyLWNvbnRhaW5lci12ZXJ0aWNhbCA+IC5zd2lwZXItcGFnaW5hdGlvbi1idWxsZXRzIHtcbiAgcmlnaHQ6IDEwcHg7XG4gIHRvcDogNTAlO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDBweCwgLTUwJSwgMCk7IH1cblxuLnN3aXBlci1jb250YWluZXItdmVydGljYWwgPiAuc3dpcGVyLXBhZ2luYXRpb24tYnVsbGV0cyAuc3dpcGVyLXBhZ2luYXRpb24tYnVsbGV0IHtcbiAgbWFyZ2luOiA2cHggMDtcbiAgZGlzcGxheTogYmxvY2s7IH1cblxuLnN3aXBlci1jb250YWluZXItdmVydGljYWwgPiAuc3dpcGVyLXBhZ2luYXRpb24tYnVsbGV0cy5zd2lwZXItcGFnaW5hdGlvbi1idWxsZXRzLWR5bmFtaWMge1xuICB0b3A6IDUwJTtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpO1xuICB3aWR0aDogOHB4OyB9XG5cbi5zd2lwZXItY29udGFpbmVyLXZlcnRpY2FsID4gLnN3aXBlci1wYWdpbmF0aW9uLWJ1bGxldHMuc3dpcGVyLXBhZ2luYXRpb24tYnVsbGV0cy1keW5hbWljIC5zd2lwZXItcGFnaW5hdGlvbi1idWxsZXQge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHRyYW5zaXRpb246IC4ycyB0cmFuc2Zvcm0sLjJzIHRvcDsgfVxuXG4uc3dpcGVyLWNvbnRhaW5lci1ob3Jpem9udGFsID4gLnN3aXBlci1wYWdpbmF0aW9uLWJ1bGxldHMgLnN3aXBlci1wYWdpbmF0aW9uLWJ1bGxldCB7XG4gIG1hcmdpbjogMCA0cHg7IH1cblxuLnN3aXBlci1jb250YWluZXItaG9yaXpvbnRhbCA+IC5zd2lwZXItcGFnaW5hdGlvbi1idWxsZXRzLnN3aXBlci1wYWdpbmF0aW9uLWJ1bGxldHMtZHluYW1pYyB7XG4gIGxlZnQ6IDUwJTtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC01MCUpO1xuICB3aGl0ZS1zcGFjZTogbm93cmFwOyB9XG5cbi5zd2lwZXItY29udGFpbmVyLWhvcml6b250YWwgPiAuc3dpcGVyLXBhZ2luYXRpb24tYnVsbGV0cy5zd2lwZXItcGFnaW5hdGlvbi1idWxsZXRzLWR5bmFtaWMgLnN3aXBlci1wYWdpbmF0aW9uLWJ1bGxldCB7XG4gIHRyYW5zaXRpb246IC4ycyB0cmFuc2Zvcm0sLjJzIGxlZnQ7IH1cblxuLnN3aXBlci1jb250YWluZXItaG9yaXpvbnRhbC5zd2lwZXItY29udGFpbmVyLXJ0bCA+IC5zd2lwZXItcGFnaW5hdGlvbi1idWxsZXRzLWR5bmFtaWMgLnN3aXBlci1wYWdpbmF0aW9uLWJ1bGxldCB7XG4gIHRyYW5zaXRpb246IC4ycyB0cmFuc2Zvcm0sLjJzIHJpZ2h0OyB9XG5cbi5zd2lwZXItcGFnaW5hdGlvbi1wcm9ncmVzc2JhciB7XG4gIGJhY2tncm91bmQ6IHJnYmEoMCwgMCwgMCwgMC4yNSk7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTsgfVxuXG4uc3dpcGVyLXBhZ2luYXRpb24tcHJvZ3Jlc3NiYXIgLnN3aXBlci1wYWdpbmF0aW9uLXByb2dyZXNzYmFyLWZpbGwge1xuICBiYWNrZ3JvdW5kOiB2YXIoLS1zd2lwZXItcGFnaW5hdGlvbi1jb2xvciwgdmFyKC0tc3dpcGVyLXRoZW1lLWNvbG9yKSk7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgbGVmdDogMDtcbiAgdG9wOiAwO1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAxMDAlO1xuICB0cmFuc2Zvcm06IHNjYWxlKDApO1xuICB0cmFuc2Zvcm0tb3JpZ2luOiBsZWZ0IHRvcDsgfVxuXG4uc3dpcGVyLWNvbnRhaW5lci1ydGwgLnN3aXBlci1wYWdpbmF0aW9uLXByb2dyZXNzYmFyIC5zd2lwZXItcGFnaW5hdGlvbi1wcm9ncmVzc2Jhci1maWxsIHtcbiAgdHJhbnNmb3JtLW9yaWdpbjogcmlnaHQgdG9wOyB9XG5cbi5zd2lwZXItY29udGFpbmVyLWhvcml6b250YWwgPiAuc3dpcGVyLXBhZ2luYXRpb24tcHJvZ3Jlc3NiYXIsIC5zd2lwZXItY29udGFpbmVyLXZlcnRpY2FsID4gLnN3aXBlci1wYWdpbmF0aW9uLXByb2dyZXNzYmFyLnN3aXBlci1wYWdpbmF0aW9uLXByb2dyZXNzYmFyLW9wcG9zaXRlIHtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogNHB4O1xuICBsZWZ0OiAwO1xuICB0b3A6IDA7IH1cblxuLnN3aXBlci1jb250YWluZXItaG9yaXpvbnRhbCA+IC5zd2lwZXItcGFnaW5hdGlvbi1wcm9ncmVzc2Jhci5zd2lwZXItcGFnaW5hdGlvbi1wcm9ncmVzc2Jhci1vcHBvc2l0ZSwgLnN3aXBlci1jb250YWluZXItdmVydGljYWwgPiAuc3dpcGVyLXBhZ2luYXRpb24tcHJvZ3Jlc3NiYXIge1xuICB3aWR0aDogNHB4O1xuICBoZWlnaHQ6IDEwMCU7XG4gIGxlZnQ6IDA7XG4gIHRvcDogMDsgfVxuXG4uc3dpcGVyLXBhZ2luYXRpb24td2hpdGUge1xuICAtLXN3aXBlci1wYWdpbmF0aW9uLWNvbG9yOiNmZmZmZmY7IH1cblxuLnN3aXBlci1wYWdpbmF0aW9uLWJsYWNrIHtcbiAgLS1zd2lwZXItcGFnaW5hdGlvbi1jb2xvcjojMDAwMDAwOyB9XG5cbi5zd2lwZXItcGFnaW5hdGlvbi1sb2NrIHtcbiAgZGlzcGxheTogbm9uZTsgfVxuXG4uc3dpcGVyLXNjcm9sbGJhciB7XG4gIGJvcmRlci1yYWRpdXM6IDEwcHg7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgLW1zLXRvdWNoLWFjdGlvbjogbm9uZTtcbiAgYmFja2dyb3VuZDogcmdiYSgwLCAwLCAwLCAwLjEpOyB9XG5cbi5zd2lwZXItY29udGFpbmVyLWhvcml6b250YWwgPiAuc3dpcGVyLXNjcm9sbGJhciB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgbGVmdDogMSU7XG4gIGJvdHRvbTogM3B4O1xuICB6LWluZGV4OiA1MDtcbiAgaGVpZ2h0OiA1cHg7XG4gIHdpZHRoOiA5OCU7IH1cblxuLnN3aXBlci1jb250YWluZXItdmVydGljYWwgPiAuc3dpcGVyLXNjcm9sbGJhciB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgcmlnaHQ6IDNweDtcbiAgdG9wOiAxJTtcbiAgei1pbmRleDogNTA7XG4gIHdpZHRoOiA1cHg7XG4gIGhlaWdodDogOTglOyB9XG5cbi5zd2lwZXItc2Nyb2xsYmFyLWRyYWcge1xuICBoZWlnaHQ6IDEwMCU7XG4gIHdpZHRoOiAxMDAlO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGJhY2tncm91bmQ6IHJnYmEoMCwgMCwgMCwgMC41KTtcbiAgYm9yZGVyLXJhZGl1czogMTBweDtcbiAgbGVmdDogMDtcbiAgdG9wOiAwOyB9XG5cbi5zd2lwZXItc2Nyb2xsYmFyLWN1cnNvci1kcmFnIHtcbiAgY3Vyc29yOiBtb3ZlOyB9XG5cbi5zd2lwZXItc2Nyb2xsYmFyLWxvY2sge1xuICBkaXNwbGF5OiBub25lOyB9XG5cbi5zd2lwZXItem9vbS1jb250YWluZXIge1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAxMDAlO1xuICBkaXNwbGF5OiBmbGV4O1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgdGV4dC1hbGlnbjogY2VudGVyOyB9XG5cbi5zd2lwZXItem9vbS1jb250YWluZXIgPiBjYW52YXMsIC5zd2lwZXItem9vbS1jb250YWluZXIgPiBpbWcsIC5zd2lwZXItem9vbS1jb250YWluZXIgPiBzdmcge1xuICBtYXgtd2lkdGg6IDEwMCU7XG4gIG1heC1oZWlnaHQ6IDEwMCU7XG4gIG9iamVjdC1maXQ6IGNvbnRhaW47IH1cblxuLnN3aXBlci1zbGlkZS16b29tZWQge1xuICBjdXJzb3I6IG1vdmU7IH1cblxuLnN3aXBlci1sYXp5LXByZWxvYWRlciB7XG4gIHdpZHRoOiA0MnB4O1xuICBoZWlnaHQ6IDQycHg7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgbGVmdDogNTAlO1xuICB0b3A6IDUwJTtcbiAgbWFyZ2luLWxlZnQ6IC0yMXB4O1xuICBtYXJnaW4tdG9wOiAtMjFweDtcbiAgei1pbmRleDogMTA7XG4gIHRyYW5zZm9ybS1vcmlnaW46IDUwJTtcbiAgYW5pbWF0aW9uOiBzd2lwZXItcHJlbG9hZGVyLXNwaW4gMXMgaW5maW5pdGUgbGluZWFyO1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICBib3JkZXI6IDRweCBzb2xpZCB2YXIoLS1zd2lwZXItcHJlbG9hZGVyLWNvbG9yLCB2YXIoLS1zd2lwZXItdGhlbWUtY29sb3IpKTtcbiAgYm9yZGVyLXJhZGl1czogNTAlO1xuICBib3JkZXItdG9wLWNvbG9yOiB0cmFuc3BhcmVudDsgfVxuXG4uc3dpcGVyLWxhenktcHJlbG9hZGVyLXdoaXRlIHtcbiAgLS1zd2lwZXItcHJlbG9hZGVyLWNvbG9yOiNmZmY7IH1cblxuLnN3aXBlci1sYXp5LXByZWxvYWRlci1ibGFjayB7XG4gIC0tc3dpcGVyLXByZWxvYWRlci1jb2xvcjojMDAwOyB9XG5cbkBrZXlmcmFtZXMgc3dpcGVyLXByZWxvYWRlci1zcGluIHtcbiAgMTAwJSB7XG4gICAgdHJhbnNmb3JtOiByb3RhdGUoMzYwZGVnKTsgfSB9XG5cbi5zd2lwZXItY29udGFpbmVyIC5zd2lwZXItbm90aWZpY2F0aW9uIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBsZWZ0OiAwO1xuICB0b3A6IDA7XG4gIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICBvcGFjaXR5OiAwO1xuICB6LWluZGV4OiAtMTAwMDsgfVxuXG4uc3dpcGVyLWNvbnRhaW5lci1mYWRlLnN3aXBlci1jb250YWluZXItZnJlZS1tb2RlIC5zd2lwZXItc2xpZGUge1xuICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1vdXQ7IH1cblxuLnN3aXBlci1jb250YWluZXItZmFkZSAuc3dpcGVyLXNsaWRlIHtcbiAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gIHRyYW5zaXRpb24tcHJvcGVydHk6IG9wYWNpdHk7IH1cblxuLnN3aXBlci1jb250YWluZXItZmFkZSAuc3dpcGVyLXNsaWRlIC5zd2lwZXItc2xpZGUge1xuICBwb2ludGVyLWV2ZW50czogbm9uZTsgfVxuXG4uc3dpcGVyLWNvbnRhaW5lci1mYWRlIC5zd2lwZXItc2xpZGUtYWN0aXZlLCAuc3dpcGVyLWNvbnRhaW5lci1mYWRlIC5zd2lwZXItc2xpZGUtYWN0aXZlIC5zd2lwZXItc2xpZGUtYWN0aXZlIHtcbiAgcG9pbnRlci1ldmVudHM6IGF1dG87IH1cblxuLnN3aXBlci1jb250YWluZXItY3ViZSB7XG4gIG92ZXJmbG93OiB2aXNpYmxlOyB9XG5cbi5zd2lwZXItY29udGFpbmVyLWN1YmUgLnN3aXBlci1zbGlkZSB7XG4gIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICAtd2Via2l0LWJhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlbjtcbiAgYmFja2ZhY2UtdmlzaWJpbGl0eTogaGlkZGVuO1xuICB6LWluZGV4OiAxO1xuICB2aXNpYmlsaXR5OiBoaWRkZW47XG4gIHRyYW5zZm9ybS1vcmlnaW46IDAgMDtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogMTAwJTsgfVxuXG4uc3dpcGVyLWNvbnRhaW5lci1jdWJlIC5zd2lwZXItc2xpZGUgLnN3aXBlci1zbGlkZSB7XG4gIHBvaW50ZXItZXZlbnRzOiBub25lOyB9XG5cbi5zd2lwZXItY29udGFpbmVyLWN1YmUuc3dpcGVyLWNvbnRhaW5lci1ydGwgLnN3aXBlci1zbGlkZSB7XG4gIHRyYW5zZm9ybS1vcmlnaW46IDEwMCUgMDsgfVxuXG4uc3dpcGVyLWNvbnRhaW5lci1jdWJlIC5zd2lwZXItc2xpZGUtYWN0aXZlLCAuc3dpcGVyLWNvbnRhaW5lci1jdWJlIC5zd2lwZXItc2xpZGUtYWN0aXZlIC5zd2lwZXItc2xpZGUtYWN0aXZlIHtcbiAgcG9pbnRlci1ldmVudHM6IGF1dG87IH1cblxuLnN3aXBlci1jb250YWluZXItY3ViZSAuc3dpcGVyLXNsaWRlLWFjdGl2ZSwgLnN3aXBlci1jb250YWluZXItY3ViZSAuc3dpcGVyLXNsaWRlLW5leHQsIC5zd2lwZXItY29udGFpbmVyLWN1YmUgLnN3aXBlci1zbGlkZS1uZXh0ICsgLnN3aXBlci1zbGlkZSwgLnN3aXBlci1jb250YWluZXItY3ViZSAuc3dpcGVyLXNsaWRlLXByZXYge1xuICBwb2ludGVyLWV2ZW50czogYXV0bztcbiAgdmlzaWJpbGl0eTogdmlzaWJsZTsgfVxuXG4uc3dpcGVyLWNvbnRhaW5lci1jdWJlIC5zd2lwZXItc2xpZGUtc2hhZG93LWJvdHRvbSwgLnN3aXBlci1jb250YWluZXItY3ViZSAuc3dpcGVyLXNsaWRlLXNoYWRvdy1sZWZ0LCAuc3dpcGVyLWNvbnRhaW5lci1jdWJlIC5zd2lwZXItc2xpZGUtc2hhZG93LXJpZ2h0LCAuc3dpcGVyLWNvbnRhaW5lci1jdWJlIC5zd2lwZXItc2xpZGUtc2hhZG93LXRvcCB7XG4gIHotaW5kZXg6IDA7XG4gIC13ZWJraXQtYmFja2ZhY2UtdmlzaWJpbGl0eTogaGlkZGVuO1xuICBiYWNrZmFjZS12aXNpYmlsaXR5OiBoaWRkZW47IH1cblxuLnN3aXBlci1jb250YWluZXItY3ViZSAuc3dpcGVyLWN1YmUtc2hhZG93IHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBsZWZ0OiAwO1xuICBib3R0b206IDBweDtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogMTAwJTtcbiAgYmFja2dyb3VuZDogIzAwMDtcbiAgb3BhY2l0eTogLjY7XG4gIC13ZWJraXQtZmlsdGVyOiBibHVyKDUwcHgpO1xuICBmaWx0ZXI6IGJsdXIoNTBweCk7XG4gIHotaW5kZXg6IDA7IH1cblxuLnN3aXBlci1jb250YWluZXItZmxpcCB7XG4gIG92ZXJmbG93OiB2aXNpYmxlOyB9XG5cbi5zd2lwZXItY29udGFpbmVyLWZsaXAgLnN3aXBlci1zbGlkZSB7XG4gIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICAtd2Via2l0LWJhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlbjtcbiAgYmFja2ZhY2UtdmlzaWJpbGl0eTogaGlkZGVuO1xuICB6LWluZGV4OiAxOyB9XG5cbi5zd2lwZXItY29udGFpbmVyLWZsaXAgLnN3aXBlci1zbGlkZSAuc3dpcGVyLXNsaWRlIHtcbiAgcG9pbnRlci1ldmVudHM6IG5vbmU7IH1cblxuLnN3aXBlci1jb250YWluZXItZmxpcCAuc3dpcGVyLXNsaWRlLWFjdGl2ZSwgLnN3aXBlci1jb250YWluZXItZmxpcCAuc3dpcGVyLXNsaWRlLWFjdGl2ZSAuc3dpcGVyLXNsaWRlLWFjdGl2ZSB7XG4gIHBvaW50ZXItZXZlbnRzOiBhdXRvOyB9XG5cbi5zd2lwZXItY29udGFpbmVyLWZsaXAgLnN3aXBlci1zbGlkZS1zaGFkb3ctYm90dG9tLCAuc3dpcGVyLWNvbnRhaW5lci1mbGlwIC5zd2lwZXItc2xpZGUtc2hhZG93LWxlZnQsIC5zd2lwZXItY29udGFpbmVyLWZsaXAgLnN3aXBlci1zbGlkZS1zaGFkb3ctcmlnaHQsIC5zd2lwZXItY29udGFpbmVyLWZsaXAgLnN3aXBlci1zbGlkZS1zaGFkb3ctdG9wIHtcbiAgei1pbmRleDogMDtcbiAgLXdlYmtpdC1iYWNrZmFjZS12aXNpYmlsaXR5OiBoaWRkZW47XG4gIGJhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlbjsgfVxuXG4uZmFuY3lib3gtZW5hYmxlZCB7XG4gIG92ZXJmbG93OiBoaWRkZW47IH1cblxuLmZhbmN5Ym94LWVuYWJsZWQgYm9keSB7XG4gIG92ZXJmbG93OiB2aXNpYmxlO1xuICAtbXMtdG91Y2gtYWN0aW9uOiBub25lO1xuICB0b3VjaC1hY3Rpb246IG5vbmU7IH1cblxuLmZhbmN5Ym94LWNvbnRhaW5lciB7XG4gIHBvc2l0aW9uOiBmaXhlZDtcbiAgdG9wOiAwO1xuICBsZWZ0OiAwO1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAxMDAlO1xuICB6LWluZGV4OiA5OTk5MztcbiAgLXdlYmtpdC1iYWNrZmFjZS12aXNpYmlsaXR5OiBoaWRkZW47XG4gIGJhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlbjsgfVxuXG4vKiBNYWtlIHN1cmUgdGhhdCB0aGUgZmlyc3Qgb25lIGlzIG9uIHRoZSB0b3AgKi9cbi5mYW5jeWJveC1jb250YWluZXIgfiAuZmFuY3lib3gtY29udGFpbmVyIHtcbiAgei1pbmRleDogOTk5OTI7IH1cblxuLmZhbmN5Ym94LWJnIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDA7XG4gIHJpZ2h0OiAwO1xuICBib3R0b206IDA7XG4gIGxlZnQ6IDA7XG4gIGJhY2tncm91bmQ6ICMwZjBmMTE7XG4gIG9wYWNpdHk6IDA7XG4gIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC41NSwgMC4wNiwgMC42OCwgMC4xOSk7XG4gIC13ZWJraXQtYmFja2ZhY2UtdmlzaWJpbGl0eTogaGlkZGVuO1xuICBiYWNrZmFjZS12aXNpYmlsaXR5OiBoaWRkZW47IH1cblxuLmZhbmN5Ym94LWNvbnRhaW5lci0tcmVhZHkgLmZhbmN5Ym94LWJnIHtcbiAgb3BhY2l0eTogMC44NztcbiAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjIyLCAwLjYxLCAwLjM2LCAxKTsgfVxuXG4uZmFuY3lib3gtY29udHJvbHMge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogMDtcbiAgbGVmdDogMDtcbiAgcmlnaHQ6IDA7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgb3BhY2l0eTogMDtcbiAgei1pbmRleDogOTk5OTQ7XG4gIHRyYW5zaXRpb246IG9wYWNpdHkgLjJzO1xuICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgLXdlYmtpdC1iYWNrZmFjZS12aXNpYmlsaXR5OiBoaWRkZW47XG4gIGJhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlbjtcbiAgZGlyZWN0aW9uOiBsdHI7IH1cblxuLmZhbmN5Ym94LXNob3ctY29udHJvbHMgLmZhbmN5Ym94LWNvbnRyb2xzIHtcbiAgb3BhY2l0eTogMTsgfVxuXG4uZmFuY3lib3gtaW5mb2JhciB7XG4gIGRpc3BsYXk6IG5vbmU7IH1cblxuLmZhbmN5Ym94LXNob3ctaW5mb2JhciAuZmFuY3lib3gtaW5mb2JhciB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgcG9pbnRlci1ldmVudHM6IGFsbDsgfVxuXG4uZmFuY3lib3gtaW5mb2Jhcl9fYm9keSB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgd2lkdGg6IDcwcHg7XG4gIGxpbmUtaGVpZ2h0OiA0NHB4O1xuICBmb250LXNpemU6IDEzcHg7XG4gIGZvbnQtZmFtaWx5OiBcIkhlbHZldGljYSBOZXVlXCIsSGVsdmV0aWNhLEFyaWFsLHNhbnMtc2VyaWY7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgY29sb3I6ICNkZGQ7XG4gIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMzAsIDMwLCAzMCwgMC43KTtcbiAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gIC13ZWJraXQtdXNlci1zZWxlY3Q6IG5vbmU7XG4gIC1tb3otdXNlci1zZWxlY3Q6IG5vbmU7XG4gIC1tcy11c2VyLXNlbGVjdDogbm9uZTtcbiAgdXNlci1zZWxlY3Q6IG5vbmU7XG4gIC13ZWJraXQtdG91Y2gtY2FsbG91dDogbm9uZTtcbiAgLXdlYmtpdC10YXAtaGlnaGxpZ2h0LWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgLXdlYmtpdC1mb250LXNtb290aGluZzogc3VicGl4ZWwtYW50aWFsaWFzZWQ7IH1cblxuLmZhbmN5Ym94LWJ1dHRvbnMge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogMDtcbiAgcmlnaHQ6IDA7XG4gIGRpc3BsYXk6IG5vbmU7XG4gIHBvaW50ZXItZXZlbnRzOiBhbGw7IH1cblxuLmZhbmN5Ym94LXNob3ctYnV0dG9ucyAuZmFuY3lib3gtYnV0dG9ucyB7XG4gIGRpc3BsYXk6IGJsb2NrOyB9XG5cbi5mYW5jeWJveC1zbGlkZXItd3JhcCB7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIGRpcmVjdGlvbjogbHRyOyB9XG5cbi5mYW5jeWJveC1zbGlkZXItd3JhcCxcbi5mYW5jeWJveC1zbGlkZXIge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogMDtcbiAgbGVmdDogMDtcbiAgYm90dG9tOiAwO1xuICByaWdodDogMDtcbiAgcGFkZGluZzogMDtcbiAgbWFyZ2luOiAwO1xuICB6LWluZGV4OiA5OTk5MztcbiAgLXdlYmtpdC1iYWNrZmFjZS12aXNpYmlsaXR5OiBoaWRkZW47XG4gIGJhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlbjtcbiAgLXdlYmtpdC10YXAtaGlnaGxpZ2h0LWNvbG9yOiB0cmFuc3BhcmVudDsgfVxuXG4uZmFuY3lib3gtc2xpZGUge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogMDtcbiAgbGVmdDogMDtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogMTAwJTtcbiAgbWFyZ2luOiAwO1xuICBwYWRkaW5nOiAwO1xuICBvdmVyZmxvdzogYXV0bztcbiAgb3V0bGluZTogbm9uZTtcbiAgd2hpdGUtc3BhY2U6IG5vcm1hbDtcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICB6LWluZGV4OiA5OTk5NDtcbiAgLXdlYmtpdC1vdmVyZmxvdy1zY3JvbGxpbmc6IHRvdWNoOyB9XG5cbi5mYW5jeWJveC1zbGlkZTo6YmVmb3JlIHtcbiAgY29udGVudDogJyc7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgaGVpZ2h0OiAxMDAlO1xuICB3aWR0aDogMDsgfVxuXG4uZmFuY3lib3gtc2xpZGUgPiAqIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHBhZGRpbmc6IDI0cHg7XG4gIG1hcmdpbjogNDRweCAwIDQ0cHg7XG4gIGJvcmRlci13aWR0aDogMDtcbiAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgdGV4dC1hbGlnbjogbGVmdDtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjtcbiAgb3ZlcmZsb3c6IGF1dG87XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7IH1cblxuLmZhbmN5Ym94LXNsaWRlLS1pbWFnZSB7XG4gIG92ZXJmbG93OiBoaWRkZW47IH1cblxuLmZhbmN5Ym94LXNsaWRlLS1pbWFnZTo6YmVmb3JlIHtcbiAgZGlzcGxheTogbm9uZTsgfVxuXG4uZmFuY3lib3gtY29udGVudCB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBtYXJnaW46IDQ0cHggYXV0bztcbiAgcGFkZGluZzogMDtcbiAgYm9yZGVyOiAwO1xuICB3aWR0aDogODAlO1xuICBoZWlnaHQ6IGNhbGMoMTAwJSAtIDg4cHgpO1xuICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICBsaW5lLWhlaWdodDogbm9ybWFsO1xuICB0ZXh0LWFsaWduOiBsZWZ0O1xuICB3aGl0ZS1zcGFjZTogbm9ybWFsO1xuICBvdXRsaW5lOiBub25lO1xuICBmb250LXNpemU6IDE2cHg7XG4gIGZvbnQtZmFtaWx5OiBBcmlhbCwgc2Fucy1zZXJpZjtcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgLXdlYmtpdC10YXAtaGlnaGxpZ2h0LWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgLXdlYmtpdC1vdmVyZmxvdy1zY3JvbGxpbmc6IHRvdWNoOyB9XG5cbi5mYW5jeWJveC1pZnJhbWUge1xuICBkaXNwbGF5OiBibG9jaztcbiAgbWFyZ2luOiAwO1xuICBwYWRkaW5nOiAwO1xuICBib3JkZXI6IDA7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IDEwMCU7XG4gIGJhY2tncm91bmQ6ICNmZmY7IH1cblxuLmZhbmN5Ym94LXNsaWRlLS12aWRlbyAuZmFuY3lib3gtY29udGVudCxcbi5mYW5jeWJveC1zbGlkZS0tdmlkZW8gLmZhbmN5Ym94LWlmcmFtZSB7XG4gIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50OyB9XG5cbi5mYW5jeWJveC1wbGFjZWhvbGRlciB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAwO1xuICBsZWZ0OiAwO1xuICBtYXJnaW46IDA7XG4gIHBhZGRpbmc6IDA7XG4gIGJvcmRlcjogMDtcbiAgei1pbmRleDogOTk5OTU7XG4gIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICBjdXJzb3I6IGRlZmF1bHQ7XG4gIG92ZXJmbG93OiB2aXNpYmxlO1xuICAtd2Via2l0LXRyYW5zZm9ybS1vcmlnaW46IHRvcCBsZWZ0O1xuICAtbXMtdHJhbnNmb3JtLW9yaWdpbjogdG9wIGxlZnQ7XG4gIHRyYW5zZm9ybS1vcmlnaW46IHRvcCBsZWZ0O1xuICBiYWNrZ3JvdW5kLXNpemU6IDEwMCUgMTAwJTtcbiAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgLXdlYmtpdC1iYWNrZmFjZS12aXNpYmlsaXR5OiBoaWRkZW47XG4gIGJhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlbjsgfVxuXG4uZmFuY3lib3gtaW1hZ2UsXG4uZmFuY3lib3gtc3BhY2ViYWxsIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDA7XG4gIGxlZnQ6IDA7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IDEwMCU7XG4gIG1hcmdpbjogMDtcbiAgcGFkZGluZzogMDtcbiAgYm9yZGVyOiAwO1xuICBtYXgtd2lkdGg6IG5vbmU7XG4gIG1heC1oZWlnaHQ6IG5vbmU7XG4gIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICBiYWNrZ3JvdW5kLXNpemU6IDEwMCUgMTAwJTsgfVxuXG4uZmFuY3lib3gtY29udHJvbHMtLWNhbnpvb21PdXQgLmZhbmN5Ym94LXBsYWNlaG9sZGVyIHtcbiAgY3Vyc29yOiAtd2Via2l0LXpvb20tb3V0O1xuICBjdXJzb3I6IHpvb20tb3V0OyB9XG5cbi5mYW5jeWJveC1jb250cm9scy0tY2Fuem9vbUluIC5mYW5jeWJveC1wbGFjZWhvbGRlciB7XG4gIGN1cnNvcjogLXdlYmtpdC16b29tLWluO1xuICBjdXJzb3I6IHpvb20taW47IH1cblxuLmZhbmN5Ym94LWNvbnRyb2xzLS1jYW5HcmFiIC5mYW5jeWJveC1wbGFjZWhvbGRlciB7XG4gIGN1cnNvcjogLXdlYmtpdC1ncmFiO1xuICBjdXJzb3I6IGdyYWI7IH1cblxuLmZhbmN5Ym94LWNvbnRyb2xzLS1pc0dyYWJiaW5nIC5mYW5jeWJveC1wbGFjZWhvbGRlciB7XG4gIGN1cnNvcjogLXdlYmtpdC1ncmFiYmluZztcbiAgY3Vyc29yOiBncmFiYmluZzsgfVxuXG4uZmFuY3lib3gtc3BhY2ViYWxsIHtcbiAgei1pbmRleDogMTsgfVxuXG4uZmFuY3lib3gtdG1wIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IC05OTk5cHg7XG4gIGxlZnQ6IC05OTk5cHg7XG4gIHZpc2liaWxpdHk6IGhpZGRlbjsgfVxuXG4uZmFuY3lib3gtZXJyb3Ige1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIG1hcmdpbjogMDtcbiAgcGFkZGluZzogNDBweDtcbiAgdG9wOiA1MCU7XG4gIGxlZnQ6IDUwJTtcbiAgd2lkdGg6IDM4MHB4O1xuICBtYXgtd2lkdGg6IDEwMCU7XG4gIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgLTUwJSk7XG4gIC1tcy10cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAtNTAlKTtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgLTUwJSk7XG4gIGJhY2tncm91bmQ6ICNmZmY7XG4gIGN1cnNvcjogZGVmYXVsdDsgfVxuXG4uZmFuY3lib3gtZXJyb3IgcCB7XG4gIG1hcmdpbjogMDtcbiAgcGFkZGluZzogMDtcbiAgY29sb3I6ICM0NDQ7XG4gIGZvbnQ6IDE2cHgvMjBweCBcIkhlbHZldGljYSBOZXVlXCIsSGVsdmV0aWNhLEFyaWFsLHNhbnMtc2VyaWY7IH1cblxuLmZhbmN5Ym94LWNsb3NlLXNtYWxsIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDRweDtcbiAgcmlnaHQ6IDRweDtcbiAgcGFkZGluZzogMDtcbiAgbWFyZ2luOiAwO1xuICB3aWR0aDogMzBweDtcbiAgaGVpZ2h0OiAzMHB4O1xuICBmb250OiAyMXB4LzEgQXJpYWwsXCJIZWx2ZXRpY2EgTmV1ZVwiLEhlbHZldGljYSxzYW5zLXNlcmlmO1xuICBjb2xvcjogIzg4ODtcbiAgZm9udC13ZWlnaHQ6IDMwMDtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBib3JkZXItcmFkaXVzOiA1MCU7XG4gIGJvcmRlci13aWR0aDogMDtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICBiYWNrZ3JvdW5kOiAjZmZmO1xuICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kIC4ycztcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgei1pbmRleDogMjsgfVxuXG4uZmFuY3lib3gtY2xvc2Utc21hbGw6Zm9jdXMge1xuICBvdXRsaW5lOiAxcHggZG90dGVkICM4ODg7IH1cblxuLmZhbmN5Ym94LXNsaWRlLS12aWRlbyAuZmFuY3lib3gtY2xvc2Utc21hbGwge1xuICB0b3A6IC0zNnB4O1xuICByaWdodDogLTM2cHg7XG4gIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50OyB9XG5cbi5mYW5jeWJveC1jbG9zZS1zbWFsbDpob3ZlciB7XG4gIGNvbG9yOiAjNTU1O1xuICBiYWNrZ3JvdW5kOiAjZWVlOyB9XG5cbi8qIENhcHRpb24gKi9cbi5mYW5jeWJveC1jYXB0aW9uLXdyYXAge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGJvdHRvbTogMDtcbiAgbGVmdDogMDtcbiAgcmlnaHQ6IDA7XG4gIHBhZGRpbmc6IDYwcHggMzBweCAwIDMwcHg7XG4gIHotaW5kZXg6IDk5OTk4O1xuICAtd2Via2l0LWJhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlbjtcbiAgYmFja2ZhY2UtdmlzaWJpbGl0eTogaGlkZGVuO1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQodG8gYm90dG9tLCB0cmFuc3BhcmVudCAwJSwgcmdiYSgwLCAwLCAwLCAwLjEpIDIwJSwgcmdiYSgwLCAwLCAwLCAwLjIpIDQwJSwgcmdiYSgwLCAwLCAwLCAwLjYpIDgwJSwgcmdiYSgwLCAwLCAwLCAwLjgpIDEwMCUpO1xuICBvcGFjaXR5OiAwO1xuICB0cmFuc2l0aW9uOiBvcGFjaXR5IC4ycztcbiAgcG9pbnRlci1ldmVudHM6IG5vbmU7IH1cblxuLmZhbmN5Ym94LXNob3ctY2FwdGlvbiAuZmFuY3lib3gtY2FwdGlvbi13cmFwIHtcbiAgb3BhY2l0eTogMTsgfVxuXG4uZmFuY3lib3gtY2FwdGlvbiB7XG4gIHBhZGRpbmc6IDMwcHggMDtcbiAgYm9yZGVyLXRvcDogMXB4IHNvbGlkIHJnYmEoMjU1LCAyNTUsIDI1NSwgMC40KTtcbiAgZm9udC1zaXplOiAxNHB4O1xuICBmb250LWZhbWlseTogXCJIZWx2ZXRpY2EgTmV1ZVwiLEhlbHZldGljYSxBcmlhbCxzYW5zLXNlcmlmO1xuICBjb2xvcjogI2ZmZjtcbiAgbGluZS1oZWlnaHQ6IDIwcHg7XG4gIC13ZWJraXQtdGV4dC1zaXplLWFkanVzdDogbm9uZTsgfVxuXG4uZmFuY3lib3gtY2FwdGlvbiBhLFxuLmZhbmN5Ym94LWNhcHRpb24gYnV0dG9uIHtcbiAgcG9pbnRlci1ldmVudHM6IGFsbDsgfVxuXG4uZmFuY3lib3gtY2FwdGlvbiBhIHtcbiAgY29sb3I6ICNmZmY7XG4gIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lOyB9XG5cbi8qIEJ1dHRvbnMgKi9cbi5mYW5jeWJveC1idXR0b24ge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgd2lkdGg6IDQ0cHg7XG4gIGhlaWdodDogNDRweDtcbiAgbGluZS1oZWlnaHQ6IDQ0cHg7XG4gIG1hcmdpbjogMDtcbiAgcGFkZGluZzogMDtcbiAgYm9yZGVyOiAwO1xuICBib3JkZXItcmFkaXVzOiAwO1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICBjb2xvcjogI2ZmZjtcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgdmVydGljYWwtYWxpZ246IHRvcDtcbiAgb3V0bGluZTogbm9uZTsgfVxuXG4uZmFuY3lib3gtYnV0dG9uLS1kaXNhYmxlZCB7XG4gIGN1cnNvcjogZGVmYXVsdDtcbiAgcG9pbnRlci1ldmVudHM6IG5vbmU7IH1cblxuLmZhbmN5Ym94LWluZm9iYXJfX2JvZHksIC5mYW5jeWJveC1idXR0b24ge1xuICBiYWNrZ3JvdW5kOiByZ2JhKDMwLCAzMCwgMzAsIDAuNik7IH1cblxuLmZhbmN5Ym94LWJ1dHRvbjpob3ZlciB7XG4gIGJhY2tncm91bmQ6IHJnYmEoMCwgMCwgMCwgMC44KTsgfVxuXG4uZmFuY3lib3gtYnV0dG9uOjpiZWZvcmUsXG4uZmFuY3lib3gtYnV0dG9uOjphZnRlciB7XG4gIGNvbnRlbnQ6ICcnO1xuICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBib3JkZXItY29sb3I6ICNmZmY7XG4gIGJhY2tncm91bmQtY29sb3I6IGN1cnJlbnRDb2xvcjtcbiAgY29sb3I6IGN1cnJlbnRDb2xvcjtcbiAgb3BhY2l0eTogMC45O1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7IH1cblxuLmZhbmN5Ym94LWJ1dHRvbi0tZGlzYWJsZWQ6OmJlZm9yZSxcbi5mYW5jeWJveC1idXR0b24tLWRpc2FibGVkOjphZnRlciB7XG4gIG9wYWNpdHk6IDAuNTsgfVxuXG4uZmFuY3lib3gtYnV0dG9uLS1sZWZ0OjphZnRlciB7XG4gIGxlZnQ6IDIwcHg7XG4gIHRvcDogMThweDtcbiAgd2lkdGg6IDZweDtcbiAgaGVpZ2h0OiA2cHg7XG4gIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICBib3JkZXItdG9wOiBzb2xpZCAycHggY3VycmVudENvbG9yO1xuICBib3JkZXItcmlnaHQ6IHNvbGlkIDJweCBjdXJyZW50Q29sb3I7XG4gIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUoLTEzNWRlZyk7XG4gIC1tcy10cmFuc2Zvcm06IHJvdGF0ZSgtMTM1ZGVnKTtcbiAgdHJhbnNmb3JtOiByb3RhdGUoLTEzNWRlZyk7IH1cblxuLmZhbmN5Ym94LWJ1dHRvbi0tcmlnaHQ6OmFmdGVyIHtcbiAgcmlnaHQ6IDIwcHg7XG4gIHRvcDogMThweDtcbiAgd2lkdGg6IDZweDtcbiAgaGVpZ2h0OiA2cHg7XG4gIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICBib3JkZXItdG9wOiBzb2xpZCAycHggY3VycmVudENvbG9yO1xuICBib3JkZXItcmlnaHQ6IHNvbGlkIDJweCBjdXJyZW50Q29sb3I7XG4gIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUoNDVkZWcpO1xuICAtbXMtdHJhbnNmb3JtOiByb3RhdGUoNDVkZWcpO1xuICB0cmFuc2Zvcm06IHJvdGF0ZSg0NWRlZyk7IH1cblxuLmZhbmN5Ym94LWJ1dHRvbi0tbGVmdCB7XG4gIGJvcmRlci1ib3R0b20tbGVmdC1yYWRpdXM6IDVweDsgfVxuXG4uZmFuY3lib3gtYnV0dG9uLS1yaWdodCB7XG4gIGJvcmRlci1ib3R0b20tcmlnaHQtcmFkaXVzOiA1cHg7IH1cblxuLmZhbmN5Ym94LWJ1dHRvbi0tY2xvc2Uge1xuICBmbG9hdDogcmlnaHQ7IH1cblxuLmZhbmN5Ym94LWJ1dHRvbi0tY2xvc2U6OmJlZm9yZSwgLmZhbmN5Ym94LWJ1dHRvbi0tY2xvc2U6OmFmdGVyIHtcbiAgY29udGVudDogJyc7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBoZWlnaHQ6IDJweDtcbiAgd2lkdGg6IDE2cHg7XG4gIHRvcDogY2FsYyg1MCUgLSAxcHgpO1xuICBsZWZ0OiBjYWxjKDUwJSAtIDhweCk7IH1cblxuLmZhbmN5Ym94LWJ1dHRvbi0tY2xvc2U6OmJlZm9yZSB7XG4gIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUoNDVkZWcpO1xuICAtbXMtdHJhbnNmb3JtOiByb3RhdGUoNDVkZWcpO1xuICB0cmFuc2Zvcm06IHJvdGF0ZSg0NWRlZyk7IH1cblxuLmZhbmN5Ym94LWJ1dHRvbi0tY2xvc2U6OmFmdGVyIHtcbiAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZSgtNDVkZWcpO1xuICAtbXMtdHJhbnNmb3JtOiByb3RhdGUoLTQ1ZGVnKTtcbiAgdHJhbnNmb3JtOiByb3RhdGUoLTQ1ZGVnKTsgfVxuXG4vKiBMb2FkaW5nIHNwaW5uZXIgKi9cbi5mYW5jeWJveC1sb2FkaW5nIHtcbiAgYm9yZGVyOiA2cHggc29saWQgcmdiYSgxMDAsIDEwMCwgMTAwLCAwLjQpO1xuICBib3JkZXItdG9wOiA2cHggc29saWQgcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjYpO1xuICBib3JkZXItcmFkaXVzOiAxMDAlO1xuICBoZWlnaHQ6IDUwcHg7XG4gIHdpZHRoOiA1MHB4O1xuICAtd2Via2l0LWFuaW1hdGlvbjogZmFuY3lib3gtcm90YXRlIC44cyBpbmZpbml0ZSBsaW5lYXI7XG4gIGFuaW1hdGlvbjogZmFuY3lib3gtcm90YXRlIC44cyBpbmZpbml0ZSBsaW5lYXI7XG4gIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogNTAlO1xuICBsZWZ0OiA1MCU7XG4gIG1hcmdpbi10b3A6IC0yNXB4O1xuICBtYXJnaW4tbGVmdDogLTI1cHg7XG4gIHotaW5kZXg6IDk5OTk5OyB9XG5cbkAtd2Via2l0LWtleWZyYW1lcyBmYW5jeWJveC1yb3RhdGUge1xuICBmcm9tIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlKDBkZWcpO1xuICAgIHRyYW5zZm9ybTogcm90YXRlKDBkZWcpOyB9XG4gIHRvIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlKDM1OWRlZyk7XG4gICAgdHJhbnNmb3JtOiByb3RhdGUoMzU5ZGVnKTsgfSB9XG5cbkBrZXlmcmFtZXMgZmFuY3lib3gtcm90YXRlIHtcbiAgZnJvbSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZSgwZGVnKTtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZSgwZGVnKTsgfVxuICB0byB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZSgzNTlkZWcpO1xuICAgIHRyYW5zZm9ybTogcm90YXRlKDM1OWRlZyk7IH0gfVxuXG4vKiBTdHlsaW5nIGZvciBTbWFsbC1TY3JlZW4gRGV2aWNlcyAqL1xuQG1lZGlhIGFsbCBhbmQgKG1heC13aWR0aDogODAwcHgpIHtcbiAgLmZhbmN5Ym94LWNvbnRyb2xzIHtcbiAgICB0ZXh0LWFsaWduOiBsZWZ0OyB9XG4gIC5mYW5jeWJveC1idXR0b24tLWxlZnQsXG4gIC5mYW5jeWJveC1idXR0b24tLXJpZ2h0LFxuICAuZmFuY3lib3gtYnV0dG9ucyBidXR0b246bm90KC5mYW5jeWJveC1idXR0b24tLWNsb3NlKSB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50OyB9XG4gIC5mYW5jeWJveC1jYXB0aW9uIHtcbiAgICBwYWRkaW5nOiAyMHB4IDA7XG4gICAgbWFyZ2luOiAwOyB9IH1cblxuLyogRnVsbHNjcmVlbiAgKi9cbi5mYW5jeWJveC1idXR0b24tLWZ1bGxzY3JlZW46OmJlZm9yZSB7XG4gIHdpZHRoOiAxNXB4O1xuICBoZWlnaHQ6IDExcHg7XG4gIGxlZnQ6IDE1cHg7XG4gIHRvcDogMTZweDtcbiAgYm9yZGVyOiAycHggc29saWQ7XG4gIGJhY2tncm91bmQ6IG5vbmU7IH1cblxuLyogU2xpZGVzaG93IGJ1dHRvbiAqL1xuLmZhbmN5Ym94LWJ1dHRvbi0tcGxheTo6YmVmb3JlIHtcbiAgdG9wOiAxNnB4O1xuICBsZWZ0OiAxOHB4O1xuICB3aWR0aDogMDtcbiAgaGVpZ2h0OiAwO1xuICBib3JkZXItdG9wOiA2cHggaW5zZXQgdHJhbnNwYXJlbnQ7XG4gIGJvcmRlci1ib3R0b206IDZweCBpbnNldCB0cmFuc3BhcmVudDtcbiAgYm9yZGVyLWxlZnQ6IDEwcHggc29saWQ7XG4gIGJvcmRlci1yYWRpdXM6IDFweDtcbiAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7IH1cblxuLmZhbmN5Ym94LWJ1dHRvbi0tcGF1c2U6OmJlZm9yZSB7XG4gIHRvcDogMTZweDtcbiAgbGVmdDogMThweDtcbiAgd2lkdGg6IDdweDtcbiAgaGVpZ2h0OiAxMXB4O1xuICBib3JkZXItc3R5bGU6IHNvbGlkO1xuICBib3JkZXItd2lkdGg6IDAgMnB4IDAgMnB4O1xuICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDsgfVxuXG4vKiBUaHVtYnMgKi9cbi5mYW5jeWJveC1idXR0b24tLXRodW1icyBzcGFuIHtcbiAgZm9udC1zaXplOiAyM3B4OyB9XG5cbi5mYW5jeWJveC1idXR0b24tLXRodW1iczo6YmVmb3JlIHtcbiAgdG9wOiAyMHB4O1xuICBsZWZ0OiAyMXB4O1xuICB3aWR0aDogM3B4O1xuICBoZWlnaHQ6IDNweDtcbiAgYm94LXNoYWRvdzogMCAtNHB4IDAsIC00cHggLTRweCAwLCA0cHggLTRweCAwLCAwIDAgMCAzMnB4IGluc2V0LCAtNHB4IDAgMCwgNHB4IDAgMCwgMCA0cHggMCwgLTRweCA0cHggMCwgNHB4IDRweCAwOyB9XG5cbi5mYW5jeWJveC1jb250YWluZXItLXRodW1icyAuZmFuY3lib3gtY29udHJvbHMsXG4uZmFuY3lib3gtY29udGFpbmVyLS10aHVtYnMgLmZhbmN5Ym94LXNsaWRlci13cmFwLFxuLmZhbmN5Ym94LWNvbnRhaW5lci0tdGh1bWJzIC5mYW5jeWJveC1jYXB0aW9uLXdyYXAge1xuICByaWdodDogMjIwcHg7IH1cblxuLmZhbmN5Ym94LXRodW1icyB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAwO1xuICByaWdodDogMDtcbiAgYm90dG9tOiAwO1xuICBsZWZ0OiBhdXRvO1xuICB3aWR0aDogMjIwcHg7XG4gIG1hcmdpbjogMDtcbiAgcGFkZGluZzogNXB4IDVweCAwIDA7XG4gIGJhY2tncm91bmQ6ICNmZmY7XG4gIHotaW5kZXg6IDk5OTkzO1xuICB3b3JkLWJyZWFrOiBub3JtYWw7XG4gIC13ZWJraXQtb3ZlcmZsb3ctc2Nyb2xsaW5nOiB0b3VjaDtcbiAgLXdlYmtpdC10YXAtaGlnaGxpZ2h0LWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDsgfVxuXG4uZmFuY3lib3gtdGh1bWJzID4gdWwge1xuICBsaXN0LXN0eWxlOiBub25lO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogMTAwJTtcbiAgbWFyZ2luOiAwO1xuICBwYWRkaW5nOiAwO1xuICBvdmVyZmxvdy14OiBoaWRkZW47XG4gIG92ZXJmbG93LXk6IGF1dG87XG4gIGZvbnQtc2l6ZTogMDsgfVxuXG4uZmFuY3lib3gtdGh1bWJzID4gdWwgPiBsaSB7XG4gIGZsb2F0OiBsZWZ0O1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICBtYXgtd2lkdGg6IDUwJTtcbiAgcGFkZGluZzogMDtcbiAgbWFyZ2luOiAwO1xuICB3aWR0aDogMTA1cHg7XG4gIGhlaWdodDogNzVweDtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIG91dGxpbmU6IG5vbmU7XG4gIGJvcmRlcjogNXB4IHNvbGlkICNmZmY7XG4gIGJvcmRlci10b3Atd2lkdGg6IDA7XG4gIGJvcmRlci1yaWdodC13aWR0aDogMDtcbiAgLXdlYmtpdC10YXAtaGlnaGxpZ2h0LWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgLXdlYmtpdC1iYWNrZmFjZS12aXNpYmlsaXR5OiBoaWRkZW47XG4gIGJhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlbjtcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDsgfVxuXG5saS5mYW5jeWJveC10aHVtYnMtbG9hZGluZyB7XG4gIGJhY2tncm91bmQ6IHJnYmEoMCwgMCwgMCwgMC4xKTsgfVxuXG4uZmFuY3lib3gtdGh1bWJzID4gdWwgPiBsaSA+IGltZyB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAwO1xuICBsZWZ0OiAwO1xuICBtaW4td2lkdGg6IDEwMCU7XG4gIG1pbi1oZWlnaHQ6IDEwMCU7XG4gIG1heC13aWR0aDogbm9uZTtcbiAgbWF4LWhlaWdodDogbm9uZTtcbiAgLXdlYmtpdC10b3VjaC1jYWxsb3V0OiBub25lO1xuICAtd2Via2l0LXVzZXItc2VsZWN0OiBub25lO1xuICAtbW96LXVzZXItc2VsZWN0OiBub25lO1xuICAtbXMtdXNlci1zZWxlY3Q6IG5vbmU7XG4gIHVzZXItc2VsZWN0OiBub25lOyB9XG5cbi5mYW5jeWJveC10aHVtYnMgPiB1bCA+IGxpOmJlZm9yZSB7XG4gIGNvbnRlbnQ6ICcnO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogMDtcbiAgcmlnaHQ6IDA7XG4gIGJvdHRvbTogMDtcbiAgbGVmdDogMDtcbiAgYm9yZGVyLXJhZGl1czogMnB4O1xuICBib3JkZXI6IDRweCBzb2xpZCAjNGVhN2Y5O1xuICB6LWluZGV4OiA5OTk5MTtcbiAgb3BhY2l0eTogMDtcbiAgdHJhbnNpdGlvbjogYWxsIDAuMnMgY3ViaWMtYmV6aWVyKDAuMjUsIDAuNDYsIDAuNDUsIDAuOTQpOyB9XG5cbi5mYW5jeWJveC10aHVtYnMgPiB1bCA+IGxpLmZhbmN5Ym94LXRodW1icy1hY3RpdmU6YmVmb3JlIHtcbiAgb3BhY2l0eTogMTsgfVxuXG4vKiBTdHlsaW5nIGZvciBTbWFsbC1TY3JlZW4gRGV2aWNlcyAqL1xuQG1lZGlhIGFsbCBhbmQgKG1heC13aWR0aDogODAwcHgpIHtcbiAgLmZhbmN5Ym94LXRodW1icyB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50OyB9XG4gIC5mYW5jeWJveC1jb250YWluZXItLXRodW1icyAuZmFuY3lib3gtY29udHJvbHMsXG4gIC5mYW5jeWJveC1jb250YWluZXItLXRodW1icyAuZmFuY3lib3gtc2xpZGVyLXdyYXAsXG4gIC5mYW5jeWJveC1jb250YWluZXItLXRodW1icyAuZmFuY3lib3gtY2FwdGlvbi13cmFwIHtcbiAgICByaWdodDogMDsgfSB9XG5cbi8qISBqUXVlcnkuRmxpcHN0ZXIsIHYxLjEuMyAoYnVpbHQgMjAxOS0wNS0wMSkgKi9cbi5mbGlwc3RlciB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBvdmVyZmxvdy14OiBoaWRkZW47XG4gIG92ZXJmbG93LXk6IHZpc2libGU7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuXG4uZmxpcHN0ZXI6Zm9jdXMge1xuICBvdXRsaW5lOiBub25lOyB9XG5cbi5mbGlwc3Rlcl9fY29udGFpbmVyLFxuLmZsaXBzdGVyX19pdGVtIHtcbiAgbWFyZ2luOiAwO1xuICBwYWRkaW5nOiAwO1xuICBsaXN0LXN0eWxlLXR5cGU6IG5vbmU7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuXG4uZmxpcHN0ZXJfX2NvbnRhaW5lciB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICB3b3JkLXNwYWNpbmc6IC0wLjI1ZW07XG4gIC13ZWJraXQtdHJhbnNmb3JtLW9yaWdpbjogNTAlIDUwJTtcbiAgLW1zLXRyYW5zZm9ybS1vcmlnaW46IDUwJSA1MCU7XG4gIHRyYW5zZm9ybS1vcmlnaW46IDUwJSA1MCU7XG4gIC13ZWJraXQtYmFja2ZhY2UtdmlzaWJpbGl0eTogaGlkZGVuO1xuICBiYWNrZmFjZS12aXNpYmlsaXR5OiBoaWRkZW47IH1cblxuLmZsaXBzdGVyX19pdGVtIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICB3aGl0ZS1zcGFjZTogbm9ybWFsO1xuICB3b3JkLXNwYWNpbmc6IG5vcm1hbDtcbiAgdmVydGljYWwtYWxpZ246IGJvdHRvbTsgfVxuXG4uZmxpcHN0ZXItLWNsaWNrIC5mbGlwc3Rlcl9faXRlbS0tcGFzdCxcbi5mbGlwc3Rlci0tY2xpY2sgLmZsaXBzdGVyX19pdGVtLS1mdXR1cmUge1xuICBjdXJzb3I6IHBvaW50ZXI7IH1cblxuLmZsaXBzdGVyX19pdGVtIGltZyB7XG4gIG1heC13aWR0aDogMTAwJTsgfVxuXG4uZmxpcHN0ZXJfX2J1dHRvbiB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiA1MCU7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7XG4gIC1tb3otYXBwZWFyYW5jZTogbm9uZTtcbiAgYXBwZWFyYW5jZTogbm9uZTtcbiAgYmFja2dyb3VuZDogbm9uZTtcbiAgYm9yZGVyOiBub25lO1xuICBwYWRkaW5nOiAwO1xuICB6LWluZGV4OiA5OTk7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgZm9udC1zaXplOiAxNXB4O1xuICBvcGFjaXR5OiAuNTtcbiAgLXdlYmtpdC10cmFuc2l0aW9uOiBvcGFjaXR5IDUwMG1zIGVhc2U7XG4gIC1vLXRyYW5zaXRpb246IG9wYWNpdHkgNTAwbXMgZWFzZTtcbiAgdHJhbnNpdGlvbjogb3BhY2l0eSA1MDBtcyBlYXNlO1xuICBtYXJnaW46IC0xZW0gMmVtOyB9XG5cbi5mbGlwc3Rlcl9fYnV0dG9uIHN2ZyB7XG4gIHdpZHRoOiAyZW07XG4gIHN0cm9rZTogY3VycmVudENvbG9yO1xuICBmaWxsOiB0cmFuc3BhcmVudDtcbiAgc3Ryb2tlLXdpZHRoOiAzO1xuICBzdHJva2UtbGluZWNhcDogcm91bmQ7IH1cblxuLmZsaXBzdGVyX19idXR0b246aG92ZXIsXG4uZmxpcHN0ZXJfX2J1dHRvbjpmb2N1cyB7XG4gIG9wYWNpdHk6IDE7IH1cblxuLmZsaXBzdGVyX19idXR0b24tLXByZXYge1xuICBsZWZ0OiAwOyB9XG5cbi5mbGlwc3Rlcl9fYnV0dG9uLS1uZXh0IHtcbiAgcmlnaHQ6IDA7IH1cblxuLmZsaXBzdGVyX19uYXYsXG4uZmxpcHN0ZXJfX25hdl9faXRlbSB7XG4gIGxpc3Qtc3R5bGUtdHlwZTogbm9uZTtcbiAgbWFyZ2luOiAwO1xuICBwYWRkaW5nOiAwOyB9XG5cbi5mbGlwc3Rlcl9fbmF2IHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIG1hcmdpbjogMCAwIDRlbTtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cblxuLmZsaXBzdGVyX19uYXZfX2l0ZW0ge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIG1hcmdpbjogMCAuMjVlbTsgfVxuXG4uZmxpcHN0ZXJfX25hdl9fbGluayB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBjb2xvcjogaW5oZXJpdDtcbiAgcGFkZGluZzogLjVlbSAxZW07XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgLXdlYmtpdC10cmFuc2l0aW9uOiBhbGwgMjUwbXMgZWFzZS1vdXQ7XG4gIC1vLXRyYW5zaXRpb246IGFsbCAyNTBtcyBlYXNlLW91dDtcbiAgdHJhbnNpdGlvbjogYWxsIDI1MG1zIGVhc2Utb3V0O1xuICAtd2Via2l0LXRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC41NiwgMC4xMiwgMC4xMiwgMC45OCk7XG4gIC1vLXRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC41NiwgMC4xMiwgMC4xMiwgMC45OCk7XG4gIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC41NiwgMC4xMiwgMC4xMiwgMC45OCk7IH1cblxuLmZsaXBzdGVyX19uYXZfX2xpbms6OmFmdGVyIHtcbiAgY29udGVudDogJyc7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBiYWNrZ3JvdW5kOiAjMjMyMjIxO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogMDtcbiAgbGVmdDogMDtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogMTAwJTtcbiAgei1pbmRleDogLTE7XG4gIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDEwMCUpIHRyYW5zbGF0ZVkoLTAuMjVlbSk7XG4gIC1tcy10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMTAwJSkgdHJhbnNsYXRlWSgtMC4yNWVtKTtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDEwMCUpIHRyYW5zbGF0ZVkoLTAuMjVlbSk7XG4gIC13ZWJraXQtdHJhbnNpdGlvbjogaW5oZXJpdDtcbiAgLW8tdHJhbnNpdGlvbjogaW5oZXJpdDtcbiAgdHJhbnNpdGlvbjogaW5oZXJpdDsgfVxuXG4uZmxpcHN0ZXJfX25hdl9faXRlbS0tY3VycmVudCA+IC5mbGlwc3Rlcl9fbmF2X19saW5rLFxuLmZsaXBzdGVyX19uYXZfX2xpbms6aG92ZXIsXG4uZmxpcHN0ZXJfX25hdl9fbGluazpmb2N1cyB7XG4gIGNvbG9yOiAjRkZGOyB9XG5cbi5mbGlwc3Rlcl9fbmF2X19pdGVtLS1jdXJyZW50ID4gLmZsaXBzdGVyX19uYXZfX2xpbms6OmFmdGVyLFxuLmZsaXBzdGVyX19uYXZfX2xpbms6aG92ZXI6OmFmdGVyLFxuLmZsaXBzdGVyX19uYXZfX2xpbms6Zm9jdXM6OmFmdGVyIHtcbiAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCk7XG4gIC1tcy10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCk7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKTsgfVxuXG4uZmxpcHN0ZXJfX25hdl9fY2hpbGQge1xuICBkaXNwbGF5OiBub25lO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogMTAwJTtcbiAgbGVmdDogMDtcbiAgcmlnaHQ6IDA7XG4gIG1hcmdpbi10b3A6IC0xcHg7XG4gIHBhZGRpbmc6IC41ZW07XG4gIGJhY2tncm91bmQ6ICM0ZTQ0NDE7XG4gIHotaW5kZXg6IDE7IH1cblxuLmZsaXBzdGVyX19uYXZfX2NoaWxkIC5mbGlwc3Rlcl9fbmF2X19saW5rIHtcbiAgY29sb3I6ICNGRkY7IH1cblxuLmZsaXBzdGVyX19uYXZfX2NoaWxkIC5mbGlwc3Rlcl9fbmF2X19saW5rOjphZnRlciB7XG4gIGJhY2tncm91bmQ6ICNGRkY7IH1cblxuLmZsaXBzdGVyX19uYXZfX2NoaWxkIC5mbGlwc3Rlcl9fbmF2X19pdGVtLS1jdXJyZW50ID4gLmZsaXBzdGVyX19uYXZfX2xpbmssXG4uZmxpcHN0ZXJfX25hdl9fY2hpbGQgLmZsaXBzdGVyX19uYXZfX2xpbms6aG92ZXIsXG4uZmxpcHN0ZXJfX25hdl9fY2hpbGQgLmZsaXBzdGVyX19uYXZfX2xpbms6Zm9jdXMge1xuICBjb2xvcjogIzIzMjIyMTsgfVxuXG4uZmxpcHN0ZXJfX25hdl9faXRlbS0tY3VycmVudCAuZmxpcHN0ZXJfX25hdl9fY2hpbGQge1xuICBkaXNwbGF5OiBibG9jazsgfVxuXG4uZmxpcHN0ZXItLWNhcm91c2VsIC5mbGlwc3Rlcl9fY29udGFpbmVyLFxuLmZsaXBzdGVyLS1jYXJvdXNlbCAuZmxpcHN0ZXJfX2l0ZW0sXG4uZmxpcHN0ZXItLWNhcm91c2VsIC5mbGlwc3Rlcl9faXRlbV9fY29udGVudCB7XG4gIC13ZWJraXQtdHJhbnNpdGlvbjogYWxsIDM1MG1zIGVhc2UtaW4tb3V0O1xuICAtby10cmFuc2l0aW9uOiBhbGwgMzUwbXMgZWFzZS1pbi1vdXQ7XG4gIHRyYW5zaXRpb246IGFsbCAzNTBtcyBlYXNlLWluLW91dDtcbiAgLXdlYmtpdC10cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuNTYsIDAuMTIsIDAuMTIsIDAuOTgpO1xuICAtby10cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuNTYsIDAuMTIsIDAuMTIsIDAuOTgpO1xuICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuNTYsIDAuMTIsIDAuMTIsIDAuOTgpOyB9XG5cbi5mbGlwc3Rlci0tY2Fyb3VzZWwgLmZsaXBzdGVyX19pdGVtIHtcbiAgLXdlYmtpdC1wZXJzcGVjdGl2ZTogODAwcHg7XG4gIHBlcnNwZWN0aXZlOiA4MDBweDsgfVxuXG4uZmxpcHN0ZXItLWNhcm91c2VsIC5mbGlwc3Rlcl9faXRlbS0tcGFzdCxcbi5mbGlwc3Rlci0tY2Fyb3VzZWwgLmZsaXBzdGVyX19pdGVtLS1mdXR1cmUge1xuICBvcGFjaXR5OiAwO1xuICAtd2Via2l0LXRyYW5zaXRpb24tZGVsYXk6IDExNW1zO1xuICAtby10cmFuc2l0aW9uLWRlbGF5OiAxMTVtcztcbiAgdHJhbnNpdGlvbi1kZWxheTogMTE1bXM7IH1cblxuLmZsaXBzdGVyLS1jYXJvdXNlbCAuZmxpcHN0ZXJfX2l0ZW0tLXBhc3QtMixcbi5mbGlwc3Rlci0tY2Fyb3VzZWwgLmZsaXBzdGVyX19pdGVtLS1mdXR1cmUtMiB7XG4gIG9wYWNpdHk6IC42O1xuICAtd2Via2l0LXRyYW5zaXRpb24tZGVsYXk6IDkwbXM7XG4gIC1vLXRyYW5zaXRpb24tZGVsYXk6IDkwbXM7XG4gIHRyYW5zaXRpb24tZGVsYXk6IDkwbXM7IH1cblxuLmZsaXBzdGVyLS1jYXJvdXNlbCAuZmxpcHN0ZXJfX2l0ZW0tLXBhc3QtMSxcbi5mbGlwc3Rlci0tY2Fyb3VzZWwgLmZsaXBzdGVyX19pdGVtLS1mdXR1cmUtMSB7XG4gIG9wYWNpdHk6IC44O1xuICAtd2Via2l0LXRyYW5zaXRpb24tZGVsYXk6IDYwbXM7XG4gIC1vLXRyYW5zaXRpb24tZGVsYXk6IDYwbXM7XG4gIHRyYW5zaXRpb24tZGVsYXk6IDYwbXM7IH1cblxuLmZsaXBzdGVyLS1jYXJvdXNlbCAuZmxpcHN0ZXJfX2l0ZW0tLXBhc3QgLmZsaXBzdGVyX19pdGVtX19jb250ZW50IHtcbiAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMTAwJSkgcm90YXRlWSgtMjBkZWcpIHNjYWxlKDAuNSk7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgxMDAlKSByb3RhdGVZKC0yMGRlZykgc2NhbGUoMC41KTsgfVxuXG4uZmxpcHN0ZXItLWNhcm91c2VsIC5mbGlwc3Rlcl9faXRlbS0tcGFzdC0yIC5mbGlwc3Rlcl9faXRlbV9fY29udGVudCB7XG4gIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDUlKSByb3RhdGVZKDVkZWcpIHNjYWxlKDAuNjUpO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoNSUpIHJvdGF0ZVkoNWRlZykgc2NhbGUoMC42NSk7IH1cblxuLmZsaXBzdGVyLS1jYXJvdXNlbCAuZmxpcHN0ZXJfX2l0ZW0tLXBhc3QtMSAuZmxpcHN0ZXJfX2l0ZW1fX2NvbnRlbnQge1xuICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlWSg1ZGVnKSBzY2FsZSgwLjgpO1xuICB0cmFuc2Zvcm06IHJvdGF0ZVkoNWRlZykgc2NhbGUoMC44KTsgfVxuXG4uZmxpcHN0ZXItLWNhcm91c2VsIC5mbGlwc3Rlcl9faXRlbS0tZnV0dXJlIC5mbGlwc3Rlcl9faXRlbV9fY29udGVudCB7XG4gIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0xMDAlKSByb3RhdGVZKDIwZGVnKSBzY2FsZSgwLjUpO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTEwMCUpIHJvdGF0ZVkoMjBkZWcpIHNjYWxlKDAuNSk7IH1cblxuLmZsaXBzdGVyLS1jYXJvdXNlbCAuZmxpcHN0ZXJfX2l0ZW0tLWZ1dHVyZS0yIC5mbGlwc3Rlcl9faXRlbV9fY29udGVudCB7XG4gIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC01JSkgcm90YXRlWSgtNWRlZykgc2NhbGUoMC42NSk7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNSUpIHJvdGF0ZVkoLTVkZWcpIHNjYWxlKDAuNjUpOyB9XG5cbi5mbGlwc3Rlci0tY2Fyb3VzZWwgLmZsaXBzdGVyX19pdGVtLS1mdXR1cmUtMSAuZmxpcHN0ZXJfX2l0ZW1fX2NvbnRlbnQge1xuICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlWSgtNWRlZykgc2NhbGUoMC44KTtcbiAgdHJhbnNmb3JtOiByb3RhdGVZKC01ZGVnKSBzY2FsZSgwLjgpOyB9XG5cbi5mbGlwc3Rlci0tY2Fyb3VzZWwubm8tcm90YXRlIC5mbGlwc3Rlcl9faXRlbS0tcGFzdCAuZmxpcHN0ZXJfX2l0ZW1fX2NvbnRlbnQge1xuICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWCgxNzUlKSBzY2FsZSgwLjUpO1xuICAtbXMtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDE3NSUpIHNjYWxlKDAuNSk7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgxNzUlKSBzY2FsZSgwLjUpOyB9XG5cbi5mbGlwc3Rlci0tY2Fyb3VzZWwubm8tcm90YXRlIC5mbGlwc3Rlcl9faXRlbS0tcGFzdC0yIC5mbGlwc3Rlcl9faXRlbV9fY29udGVudCB7XG4gIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDI1JSkgc2NhbGUoMC42NSk7XG4gIC1tcy10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMjUlKSBzY2FsZSgwLjY1KTtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDI1JSkgc2NhbGUoMC42NSk7IH1cblxuLmZsaXBzdGVyLS1jYXJvdXNlbC5uby1yb3RhdGUgLmZsaXBzdGVyX19pdGVtLS1wYXN0LTEgLmZsaXBzdGVyX19pdGVtX19jb250ZW50IHtcbiAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMCUpIHNjYWxlKDAuOCk7XG4gIC1tcy10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMCUpIHNjYWxlKDAuOCk7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgwJSkgc2NhbGUoMC44KTsgfVxuXG4uZmxpcHN0ZXItLWNhcm91c2VsLm5vLXJvdGF0ZSAuZmxpcHN0ZXJfX2l0ZW0tLWZ1dHVyZSAuZmxpcHN0ZXJfX2l0ZW1fX2NvbnRlbnQge1xuICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWCgtMTc1JSkgc2NhbGUoMC41KTtcbiAgLW1zLXRyYW5zZm9ybTogdHJhbnNsYXRlWCgtMTc1JSkgc2NhbGUoMC41KTtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0xNzUlKSBzY2FsZSgwLjUpOyB9XG5cbi5mbGlwc3Rlci0tY2Fyb3VzZWwubm8tcm90YXRlIC5mbGlwc3Rlcl9faXRlbS0tZnV0dXJlLTIgLmZsaXBzdGVyX19pdGVtX19jb250ZW50IHtcbiAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTI1JSkgc2NhbGUoMC42NSk7XG4gIC1tcy10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTI1JSkgc2NhbGUoMC42NSk7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtMjUlKSBzY2FsZSgwLjY1KTsgfVxuXG4uZmxpcHN0ZXItLWNhcm91c2VsLm5vLXJvdGF0ZSAuZmxpcHN0ZXJfX2l0ZW0tLWZ1dHVyZS0xIC5mbGlwc3Rlcl9faXRlbV9fY29udGVudCB7XG4gIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDAlKSBzY2FsZSgwLjgpO1xuICAtbXMtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDAlKSBzY2FsZSgwLjgpO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMCUpIHNjYWxlKDAuOCk7IH1cblxuLmZsaXBzdGVyLS1jYXJvdXNlbCAuZmxpcHN0ZXJfX2l0ZW0tLWN1cnJlbnQgLmZsaXBzdGVyX19pdGVtX19jb250ZW50IHtcbiAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMCkgcm90YXRlWSgwZGVnKSBzY2FsZSgxKTtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDApIHJvdGF0ZVkoMGRlZykgc2NhbGUoMSk7XG4gIC13ZWJraXQtdHJhbnNpdGlvbi1kZWxheTogNjBtcztcbiAgLW8tdHJhbnNpdGlvbi1kZWxheTogNjBtcztcbiAgdHJhbnNpdGlvbi1kZWxheTogNjBtczsgfVxuXG4uZmxpcHN0ZXItLWNvdmVyZmxvdyAuZmxpcHN0ZXJfX2NvbnRhaW5lcixcbi5mbGlwc3Rlci0tY292ZXJmbG93IC5mbGlwc3Rlcl9faXRlbSxcbi5mbGlwc3Rlci0tY292ZXJmbG93IC5mbGlwc3Rlcl9faXRlbV9fY29udGVudCB7XG4gIC13ZWJraXQtdHJhbnNpdGlvbjogYWxsIDM1MG1zIGVhc2UtaW4tb3V0O1xuICAtby10cmFuc2l0aW9uOiBhbGwgMzUwbXMgZWFzZS1pbi1vdXQ7XG4gIHRyYW5zaXRpb246IGFsbCAzNTBtcyBlYXNlLWluLW91dDtcbiAgLXdlYmtpdC10cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuNTYsIDAuMTIsIDAuMTIsIDAuOTgpO1xuICAtby10cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuNTYsIDAuMTIsIDAuMTIsIDAuOTgpO1xuICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuNTYsIDAuMTIsIDAuMTIsIDAuOTgpOyB9XG5cbi5mbGlwc3Rlci0tY292ZXJmbG93IC5mbGlwc3Rlcl9faXRlbSB7XG4gIC13ZWJraXQtcGVyc3BlY3RpdmU6IDgwMHB4O1xuICBwZXJzcGVjdGl2ZTogODAwcHg7IH1cblxuLmZsaXBzdGVyLS1jb3ZlcmZsb3cgLmZsaXBzdGVyX19jb250YWluZXIge1xuICBwYWRkaW5nLWJvdHRvbTogNSU7IH1cblxuLmZsaXBzdGVyLS1jb3ZlcmZsb3cgLmZsaXBzdGVyX19pdGVtX19jb250ZW50IHtcbiAgLXdlYmtpdC10cmFuc2Zvcm0tb3JpZ2luOiA1MCUgMTAwJTtcbiAgLW1zLXRyYW5zZm9ybS1vcmlnaW46IDUwJSAxMDAlO1xuICB0cmFuc2Zvcm0tb3JpZ2luOiA1MCUgMTAwJTtcbiAgYm94LXJlZmxlY3Q6IGJlbG93IDAgLXdlYmtpdC1ncmFkaWVudChsaW5lYXIsIGxlZnQgYm90dG9tLCBsZWZ0IHRvcCwgY29sb3Itc3RvcCgwLjA1LCByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMTIpKSwgY29sb3Itc3RvcCgwLjIsIHRyYW5zcGFyZW50KSk7XG4gIC13ZWJraXQtYm94LXJlZmxlY3Q6IGJlbG93IDAgLXdlYmtpdC1ncmFkaWVudChsaW5lYXIsIGxlZnQgYm90dG9tLCBsZWZ0IHRvcCwgY29sb3Itc3RvcCgwLjA1LCByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMTIpKSwgY29sb3Itc3RvcCgwLjIsIHRyYW5zcGFyZW50KSk7IH1cblxuLmZsaXBzdGVyLS1jb3ZlcmZsb3cgLmZsaXBzdGVyX19pdGVtX19jb250ZW50IGltZzpvbmx5LWNoaWxkIHtcbiAgZGlzcGxheTogYmxvY2s7IH1cblxuLmZsaXBzdGVyLS1jb3ZlcmZsb3cgLmZsaXBzdGVyX19pdGVtLS1wYXN0IC5mbGlwc3Rlcl9faXRlbV9fY29udGVudCB7XG4gIC13ZWJraXQtdHJhbnNmb3JtLW9yaWdpbjogMCUgNTAlO1xuICAtbXMtdHJhbnNmb3JtLW9yaWdpbjogMCUgNTAlO1xuICB0cmFuc2Zvcm0tb3JpZ2luOiAwJSA1MCU7XG4gIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZSgwLjc1KSByb3RhdGVZKDU1ZGVnKTtcbiAgdHJhbnNmb3JtOiBzY2FsZSgwLjc1KSByb3RhdGVZKDU1ZGVnKTsgfVxuXG4uZmxpcHN0ZXItLWNvdmVyZmxvdyAuZmxpcHN0ZXJfX2l0ZW0tLWZ1dHVyZSAuZmxpcHN0ZXJfX2l0ZW1fX2NvbnRlbnQge1xuICAtd2Via2l0LXRyYW5zZm9ybS1vcmlnaW46IDEwMCUgNTAlO1xuICAtbXMtdHJhbnNmb3JtLW9yaWdpbjogMTAwJSA1MCU7XG4gIHRyYW5zZm9ybS1vcmlnaW46IDEwMCUgNTAlO1xuICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUoMC43NSkgcm90YXRlWSgtNTVkZWcpO1xuICB0cmFuc2Zvcm06IHNjYWxlKDAuNzUpIHJvdGF0ZVkoLTU1ZGVnKTsgfVxuXG4uZmxpcHN0ZXItLWNvdmVyZmxvdyAuZmxpcC1jdXJyZW50IC5mbGlwc3Rlcl9faXRlbV9fY29udGVudCB7XG4gIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGVZKDBkZWcpO1xuICB0cmFuc2Zvcm06IHJvdGF0ZVkoMGRlZyk7IH1cblxuLmZsaXBzdGVyLS1mbGF0IC5mbGlwc3Rlcl9fY29udGFpbmVyLFxuLmZsaXBzdGVyLS1mbGF0IC5mbGlwc3Rlcl9faXRlbSxcbi5mbGlwc3Rlci0tZmxhdCAuZmxpcHN0ZXJfX2l0ZW1fX2NvbnRlbnQge1xuICAtd2Via2l0LXRyYW5zaXRpb246IGFsbCA0MDBtcyBlYXNlLWluLW91dDtcbiAgLW8tdHJhbnNpdGlvbjogYWxsIDQwMG1zIGVhc2UtaW4tb3V0O1xuICB0cmFuc2l0aW9uOiBhbGwgNDAwbXMgZWFzZS1pbi1vdXQ7IH1cblxuLmZsaXBzdGVyLS1mbGF0IC5mbGlwc3Rlcl9faXRlbS0tcGFzdCxcbi5mbGlwc3Rlci0tZmxhdCAuZmxpcHN0ZXJfX2l0ZW0tLWZ1dHVyZSB7XG4gIG9wYWNpdHk6IC41OyB9XG5cbi5mbGlwc3Rlci0tZmxhdCAuZmxpcHN0ZXJfX2l0ZW0tLXBhc3QgLmZsaXBzdGVyX19pdGVtX19jb250ZW50IHtcbiAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlKDAuNzUpO1xuICAtbXMtdHJhbnNmb3JtOiBzY2FsZSgwLjc1KTtcbiAgdHJhbnNmb3JtOiBzY2FsZSgwLjc1KTsgfVxuXG4uZmxpcHN0ZXItLWZsYXQgLmZsaXBzdGVyX19pdGVtLS1mdXR1cmUgLmZsaXBzdGVyX19pdGVtX19jb250ZW50IHtcbiAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlKDAuNzUpO1xuICAtbXMtdHJhbnNmb3JtOiBzY2FsZSgwLjc1KTtcbiAgdHJhbnNmb3JtOiBzY2FsZSgwLjc1KTsgfVxuXG4uZmxpcHN0ZXItLXdoZWVsIHtcbiAgb3ZlcmZsb3c6IGhpZGRlbjsgfVxuXG4uZmxpcHN0ZXItLXdoZWVsIC5mbGlwc3Rlcl9fY29udGFpbmVyLFxuLmZsaXBzdGVyLS13aGVlbCAuZmxpcHN0ZXJfX2l0ZW1fX2NvbnRlbnQge1xuICAtd2Via2l0LXRyYW5zaXRpb246IGFsbCA0MDBtcyBlYXNlLWluLW91dDtcbiAgLW8tdHJhbnNpdGlvbjogYWxsIDQwMG1zIGVhc2UtaW4tb3V0O1xuICB0cmFuc2l0aW9uOiBhbGwgNDAwbXMgZWFzZS1pbi1vdXQ7XG4gIC13ZWJraXQtdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjU2LCAwLjEyLCAwLjEyLCAwLjk4KTtcbiAgLW8tdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjU2LCAwLjEyLCAwLjEyLCAwLjk4KTtcbiAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjU2LCAwLjEyLCAwLjEyLCAwLjk4KTsgfVxuXG4uZmxpcHN0ZXItLXdoZWVsIC5mbGlwc3Rlcl9fY29udGFpbmVyIHtcbiAgcGFkZGluZy1ib3R0b206IDIwJTsgfVxuXG4uZmxpcHN0ZXItLXdoZWVsIC5mbGlwc3Rlcl9faXRlbV9fY29udGVudCB7XG4gIC13ZWJraXQtdHJhbnNmb3JtLW9yaWdpbjogNTAlIDEwMCU7XG4gIC1tcy10cmFuc2Zvcm0tb3JpZ2luOiA1MCUgMTAwJTtcbiAgdHJhbnNmb3JtLW9yaWdpbjogNTAlIDEwMCU7IH1cblxuLmZsaXBzdGVyLS13aGVlbCAuZmxpcHN0ZXJfX2l0ZW0tLXBhc3QgLmZsaXBzdGVyX19pdGVtX19jb250ZW50IHtcbiAgLXdlYmtpdC10cmFuc2Zvcm0tb3JpZ2luOiAxMDAlIDEwMCU7XG4gIC1tcy10cmFuc2Zvcm0tb3JpZ2luOiAxMDAlIDEwMCU7XG4gIHRyYW5zZm9ybS1vcmlnaW46IDEwMCUgMTAwJTsgfVxuXG4uZmxpcHN0ZXItLXdoZWVsIC5mbGlwc3Rlcl9faXRlbS0tZnV0dXJlIC5mbGlwc3Rlcl9faXRlbV9fY29udGVudCB7XG4gIC13ZWJraXQtdHJhbnNmb3JtLW9yaWdpbjogMCUgMTAwJTtcbiAgLW1zLXRyYW5zZm9ybS1vcmlnaW46IDAlIDEwMCU7XG4gIHRyYW5zZm9ybS1vcmlnaW46IDAlIDEwMCU7IH1cblxuLmZsaXBzdGVyLS13aGVlbCAuZmxpcHN0ZXJfX2l0ZW1fX2NvbnRlbnQgaW1nOm9ubHktY2hpbGQge1xuICBkaXNwbGF5OiBibG9jazsgfVxuXG4uZmxpcHN0ZXItLXdoZWVsIC5mbGlwc3Rlcl9faXRlbS0tcGFzdCAuZmxpcHN0ZXJfX2l0ZW1fX2NvbnRlbnQge1xuICBvcGFjaXR5OiAwO1xuICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlWigtODBkZWcpIHRyYW5zbGF0ZSgtMTcwJSwgMTEwJSk7XG4gIC1tcy10cmFuc2Zvcm06IHJvdGF0ZSgtODBkZWcpIHRyYW5zbGF0ZSgtMTcwJSwgMTEwJSk7XG4gIHRyYW5zZm9ybTogcm90YXRlWigtODBkZWcpIHRyYW5zbGF0ZSgtMTcwJSwgMTEwJSk7IH1cblxuLmZsaXBzdGVyLS13aGVlbCAuZmxpcHN0ZXJfX2l0ZW0tLWZ1dHVyZSAuZmxpcHN0ZXJfX2l0ZW1fX2NvbnRlbnQge1xuICBvcGFjaXR5OiAwO1xuICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlWig4MGRlZykgdHJhbnNsYXRlKDE3MCUsIDExMCUpO1xuICAtbXMtdHJhbnNmb3JtOiByb3RhdGUoODBkZWcpIHRyYW5zbGF0ZSgxNzAlLCAxMTAlKTtcbiAgdHJhbnNmb3JtOiByb3RhdGVaKDgwZGVnKSB0cmFuc2xhdGUoMTcwJSwgMTEwJSk7IH1cblxuLmZsaXBzdGVyLS13aGVlbCAuZmxpcHN0ZXJfX2l0ZW0tLXBhc3QtMyAuZmxpcHN0ZXJfX2l0ZW1fX2NvbnRlbnQge1xuICBvcGFjaXR5OiAxO1xuICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlWigtNjBkZWcpIHRyYW5zbGF0ZSgtNzAlLCA3NSUpO1xuICAtbXMtdHJhbnNmb3JtOiByb3RhdGUoLTYwZGVnKSB0cmFuc2xhdGUoLTcwJSwgNzUlKTtcbiAgdHJhbnNmb3JtOiByb3RhdGVaKC02MGRlZykgdHJhbnNsYXRlKC03MCUsIDc1JSk7IH1cblxuLmZsaXBzdGVyLS13aGVlbCAuZmxpcHN0ZXJfX2l0ZW0tLWZ1dHVyZS0zIC5mbGlwc3Rlcl9faXRlbV9fY29udGVudCB7XG4gIG9wYWNpdHk6IDE7XG4gIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGVaKDYwZGVnKSB0cmFuc2xhdGUoNzAlLCA3NSUpO1xuICAtbXMtdHJhbnNmb3JtOiByb3RhdGUoNjBkZWcpIHRyYW5zbGF0ZSg3MCUsIDc1JSk7XG4gIHRyYW5zZm9ybTogcm90YXRlWig2MGRlZykgdHJhbnNsYXRlKDcwJSwgNzUlKTsgfVxuXG4uZmxpcHN0ZXItLXdoZWVsIC5mbGlwc3Rlcl9faXRlbS0tcGFzdC0yIC5mbGlwc3Rlcl9faXRlbV9fY29udGVudCB7XG4gIG9wYWNpdHk6IDE7XG4gIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGVaKC00MGRlZykgdHJhbnNsYXRlKC0xNyUsIDMwJSk7XG4gIC1tcy10cmFuc2Zvcm06IHJvdGF0ZSgtNDBkZWcpIHRyYW5zbGF0ZSgtMTclLCAzMCUpO1xuICB0cmFuc2Zvcm06IHJvdGF0ZVooLTQwZGVnKSB0cmFuc2xhdGUoLTE3JSwgMzAlKTsgfVxuXG4uZmxpcHN0ZXItLXdoZWVsIC5mbGlwc3Rlcl9faXRlbS0tZnV0dXJlLTIgLmZsaXBzdGVyX19pdGVtX19jb250ZW50IHtcbiAgb3BhY2l0eTogMTtcbiAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZVooNDBkZWcpIHRyYW5zbGF0ZSgxNyUsIDMwJSk7XG4gIC1tcy10cmFuc2Zvcm06IHJvdGF0ZSg0MGRlZykgdHJhbnNsYXRlKDE3JSwgMzAlKTtcbiAgdHJhbnNmb3JtOiByb3RhdGVaKDQwZGVnKSB0cmFuc2xhdGUoMTclLCAzMCUpOyB9XG5cbi5mbGlwc3Rlci0td2hlZWwgLmZsaXBzdGVyX19pdGVtLS1wYXN0LTEgLmZsaXBzdGVyX19pdGVtX19jb250ZW50IHtcbiAgb3BhY2l0eTogMTtcbiAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZVooLTIwZGVnKTtcbiAgLW1zLXRyYW5zZm9ybTogcm90YXRlKC0yMGRlZyk7XG4gIHRyYW5zZm9ybTogcm90YXRlWigtMjBkZWcpOyB9XG5cbi5mbGlwc3Rlci0td2hlZWwgLmZsaXBzdGVyX19pdGVtLS1mdXR1cmUtMSAuZmxpcHN0ZXJfX2l0ZW1fX2NvbnRlbnQge1xuICBvcGFjaXR5OiAxO1xuICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlWigyMGRlZyk7XG4gIC1tcy10cmFuc2Zvcm06IHJvdGF0ZSgyMGRlZyk7XG4gIHRyYW5zZm9ybTogcm90YXRlWigyMGRlZyk7IH1cblxuLmZsaXBzdGVyLS13aGVlbCAuZmxpcC1jdXJyZW50IC5mbGlwc3Rlcl9faXRlbV9fY29udGVudCB7XG4gIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGVYKDBkZWcpO1xuICB0cmFuc2Zvcm06IHJvdGF0ZVgoMGRlZyk7IH1cblxuLm5pY2Utc2VsZWN0IHtcbiAgLXdlYmtpdC10YXAtaGlnaGxpZ2h0LWNvbG9yOiByZ2JhKDAsIDAsIDAsIDApO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xuICBib3JkZXItcmFkaXVzOiA1cHg7XG4gIGJvcmRlcjogc29saWQgMXB4ICNlOGU4ZTg7XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gIGNsZWFyOiBib3RoO1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBmbG9hdDogbGVmdDtcbiAgZm9udC1mYW1pbHk6IGluaGVyaXQ7XG4gIGZvbnQtc2l6ZTogMTRweDtcbiAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgaGVpZ2h0OiA0MnB4O1xuICBsaW5lLWhlaWdodDogNDBweDtcbiAgb3V0bGluZTogbm9uZTtcbiAgcGFkZGluZy1sZWZ0OiAxOHB4O1xuICBwYWRkaW5nLXJpZ2h0OiAzMHB4O1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHRleHQtYWxpZ246IGxlZnQgIWltcG9ydGFudDtcbiAgdHJhbnNpdGlvbjogYWxsIDAuMnMgZWFzZS1pbi1vdXQ7XG4gIHVzZXItc2VsZWN0OiBub25lO1xuICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICB3aWR0aDogYXV0bzsgfVxuICAubmljZS1zZWxlY3Q6aG92ZXIge1xuICAgIGJvcmRlci1jb2xvcjogI2RiZGJkYjsgfVxuICAubmljZS1zZWxlY3Q6YWN0aXZlLCAubmljZS1zZWxlY3Qub3BlbiwgLm5pY2Utc2VsZWN0OmZvY3VzIHtcbiAgICBib3JkZXItY29sb3I6ICM5OTk7IH1cbiAgLm5pY2Utc2VsZWN0OmFmdGVyIHtcbiAgICBib3JkZXItYm90dG9tOiAycHggc29saWQgIzk5OTtcbiAgICBib3JkZXItcmlnaHQ6IDJweCBzb2xpZCAjOTk5O1xuICAgIGNvbnRlbnQ6ICcnO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIGhlaWdodDogNXB4O1xuICAgIG1hcmdpbi10b3A6IC00cHg7XG4gICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHJpZ2h0OiAxMnB4O1xuICAgIHRvcDogNTAlO1xuICAgIHRyYW5zZm9ybS1vcmlnaW46IDY2JSA2NiU7XG4gICAgdHJhbnNmb3JtOiByb3RhdGUoNDVkZWcpO1xuICAgIHRyYW5zaXRpb246IGFsbCAwLjE1cyBlYXNlLWluLW91dDtcbiAgICB3aWR0aDogNXB4OyB9XG4gIC5uaWNlLXNlbGVjdC5vcGVuOmFmdGVyIHtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZSgtMTM1ZGVnKTsgfVxuICAubmljZS1zZWxlY3Qub3BlbiAubGlzdCB7XG4gICAgb3BhY2l0eTogMTtcbiAgICBwb2ludGVyLWV2ZW50czogYXV0bztcbiAgICB0cmFuc2Zvcm06IHNjYWxlKDEpIHRyYW5zbGF0ZVkoMCk7IH1cbiAgLm5pY2Utc2VsZWN0LmRpc2FibGVkIHtcbiAgICBib3JkZXItY29sb3I6ICNlZGVkZWQ7XG4gICAgY29sb3I6ICM5OTk7XG4gICAgcG9pbnRlci1ldmVudHM6IG5vbmU7IH1cbiAgICAubmljZS1zZWxlY3QuZGlzYWJsZWQ6YWZ0ZXIge1xuICAgICAgYm9yZGVyLWNvbG9yOiAjY2NjY2NjOyB9XG4gIC5uaWNlLXNlbGVjdC53aWRlIHtcbiAgICB3aWR0aDogMTAwJTsgfVxuICAgIC5uaWNlLXNlbGVjdC53aWRlIC5saXN0IHtcbiAgICAgIGxlZnQ6IDAgIWltcG9ydGFudDtcbiAgICAgIHJpZ2h0OiAwICFpbXBvcnRhbnQ7IH1cbiAgLm5pY2Utc2VsZWN0LnJpZ2h0IHtcbiAgICBmbG9hdDogcmlnaHQ7IH1cbiAgICAubmljZS1zZWxlY3QucmlnaHQgLmxpc3Qge1xuICAgICAgbGVmdDogYXV0bztcbiAgICAgIHJpZ2h0OiAwOyB9XG4gIC5uaWNlLXNlbGVjdC5zbWFsbCB7XG4gICAgZm9udC1zaXplOiAxMnB4O1xuICAgIGhlaWdodDogMzZweDtcbiAgICBsaW5lLWhlaWdodDogMzRweDsgfVxuICAgIC5uaWNlLXNlbGVjdC5zbWFsbDphZnRlciB7XG4gICAgICBoZWlnaHQ6IDRweDtcbiAgICAgIHdpZHRoOiA0cHg7IH1cbiAgICAubmljZS1zZWxlY3Quc21hbGwgLm9wdGlvbiB7XG4gICAgICBsaW5lLWhlaWdodDogMzRweDtcbiAgICAgIG1pbi1oZWlnaHQ6IDM0cHg7IH1cbiAgLm5pY2Utc2VsZWN0IC5saXN0IHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xuICAgIGJvcmRlci1yYWRpdXM6IDVweDtcbiAgICBib3gtc2hhZG93OiAwIDAgMCAxcHggcmdiYSg2OCwgNjgsIDY4LCAwLjExKTtcbiAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgIG1hcmdpbi10b3A6IDRweDtcbiAgICBvcGFjaXR5OiAwO1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgcGFkZGluZzogMDtcbiAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAxMDAlO1xuICAgIGxlZnQ6IDA7XG4gICAgdHJhbnNmb3JtLW9yaWdpbjogNTAlIDA7XG4gICAgdHJhbnNmb3JtOiBzY2FsZSgwLjc1KSB0cmFuc2xhdGVZKC0yMXB4KTtcbiAgICB0cmFuc2l0aW9uOiBhbGwgMC4ycyBjdWJpYy1iZXppZXIoMC41LCAwLCAwLCAxLjI1KSwgb3BhY2l0eSAwLjE1cyBlYXNlLW91dDtcbiAgICB6LWluZGV4OiA5OyB9XG4gICAgLm5pY2Utc2VsZWN0IC5saXN0OmhvdmVyIC5vcHRpb246bm90KDpob3Zlcikge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQgIWltcG9ydGFudDsgfVxuICAubmljZS1zZWxlY3QgLm9wdGlvbiB7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIGZvbnQtd2VpZ2h0OiA0MDA7XG4gICAgbGluZS1oZWlnaHQ6IDQwcHg7XG4gICAgbGlzdC1zdHlsZTogbm9uZTtcbiAgICBtaW4taGVpZ2h0OiA0MHB4O1xuICAgIG91dGxpbmU6IG5vbmU7XG4gICAgcGFkZGluZy1sZWZ0OiAxOHB4O1xuICAgIHBhZGRpbmctcmlnaHQ6IDI5cHg7XG4gICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgICB0cmFuc2l0aW9uOiBhbGwgMC4yczsgfVxuICAgIC5uaWNlLXNlbGVjdCAub3B0aW9uOmhvdmVyLCAubmljZS1zZWxlY3QgLm9wdGlvbi5mb2N1cywgLm5pY2Utc2VsZWN0IC5vcHRpb24uc2VsZWN0ZWQuZm9jdXMge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2Y2ZjZmNjsgfVxuICAgIC5uaWNlLXNlbGVjdCAub3B0aW9uLnNlbGVjdGVkIHtcbiAgICAgIGZvbnQtd2VpZ2h0OiBib2xkOyB9XG4gICAgLm5pY2Utc2VsZWN0IC5vcHRpb24uZGlzYWJsZWQge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgICBjb2xvcjogIzk5OTtcbiAgICAgIGN1cnNvcjogZGVmYXVsdDsgfVxuXG4ubm8tY3NzcG9pbnRlcmV2ZW50cyAubmljZS1zZWxlY3QgLmxpc3Qge1xuICBkaXNwbGF5OiBub25lOyB9XG5cbi5uby1jc3Nwb2ludGVyZXZlbnRzIC5uaWNlLXNlbGVjdC5vcGVuIC5saXN0IHtcbiAgZGlzcGxheTogYmxvY2s7IH1cblxuLyphbmltYXRpb25zKi9cbi8qKioqKioqKioqKioqKioqKipcbiogQm91bmNlIGluIHJpZ2h0ICpcbioqKioqKioqKioqKioqKioqKiovXG4uYW5pbWF0ZWQge1xuICAtd2Via2l0LWFuaW1hdGlvbi1kdXJhdGlvbjogMXM7XG4gIGFuaW1hdGlvbi1kdXJhdGlvbjogMXM7XG4gIC13ZWJraXQtYW5pbWF0aW9uLWZpbGwtbW9kZTogYm90aDtcbiAgYW5pbWF0aW9uLWZpbGwtbW9kZTogYm90aDsgfVxuXG4uc2xvdyB7XG4gIC13ZWJraXQtYW5pbWF0aW9uLWR1cmF0aW9uOiAxLjVzO1xuICBhbmltYXRpb24tZHVyYXRpb246IDEuNXM7XG4gIC13ZWJraXQtYW5pbWF0aW9uLWZpbGwtbW9kZTogYm90aDtcbiAgYW5pbWF0aW9uLWZpbGwtbW9kZTogYm90aDsgfVxuXG4uc2xvd2VyIHtcbiAgLXdlYmtpdC1hbmltYXRpb24tZHVyYXRpb246IDJzO1xuICBhbmltYXRpb24tZHVyYXRpb246IDJzO1xuICAtd2Via2l0LWFuaW1hdGlvbi1maWxsLW1vZGU6IGJvdGg7XG4gIGFuaW1hdGlvbi1maWxsLW1vZGU6IGJvdGg7IH1cblxuLnNsb3dlc3Qge1xuICAtd2Via2l0LWFuaW1hdGlvbi1kdXJhdGlvbjogM3M7XG4gIGFuaW1hdGlvbi1kdXJhdGlvbjogM3M7XG4gIC13ZWJraXQtYW5pbWF0aW9uLWZpbGwtbW9kZTogYm90aDtcbiAgYW5pbWF0aW9uLWZpbGwtbW9kZTogYm90aDsgfVxuXG4vKiBBZGRlZCBieSBBbmR5IE1lZXRhbiAqL1xuLmRlbGF5LTI1MCB7XG4gIC13ZWJraXQtYW5pbWF0aW9uLWRlbGF5OiAwLjI1cztcbiAgLW1vei1hbmltYXRpb24tZGVsYXk6IDAuMjVzO1xuICAtby1hbmltYXRpb24tZGVsYXk6IDAuMjVzO1xuICBhbmltYXRpb24tZGVsYXk6IDAuMjVzOyB9XG5cbi5kZWxheS01MDAge1xuICAtd2Via2l0LWFuaW1hdGlvbi1kZWxheTogMC41cztcbiAgLW1vei1hbmltYXRpb24tZGVsYXk6IDAuNXM7XG4gIC1vLWFuaW1hdGlvbi1kZWxheTogMC41cztcbiAgYW5pbWF0aW9uLWRlbGF5OiAwLjVzOyB9XG5cbi5kZWxheS03NTAge1xuICAtd2Via2l0LWFuaW1hdGlvbi1kZWxheTogMC43NXM7XG4gIC1tb3otYW5pbWF0aW9uLWRlbGF5OiAwLjc1cztcbiAgLW8tYW5pbWF0aW9uLWRlbGF5OiAwLjc1cztcbiAgYW5pbWF0aW9uLWRlbGF5OiAwLjc1czsgfVxuXG4uZGVsYXktMTAwMCB7XG4gIC13ZWJraXQtYW5pbWF0aW9uLWRlbGF5OiAxLjBzO1xuICAtbW96LWFuaW1hdGlvbi1kZWxheTogMS4wcztcbiAgLW8tYW5pbWF0aW9uLWRlbGF5OiAxLjBzO1xuICBhbmltYXRpb24tZGVsYXk6IDEuMHM7IH1cblxuLmRlbGF5LTEyNTAge1xuICAtd2Via2l0LWFuaW1hdGlvbi1kZWxheTogMS4yNXM7XG4gIC1tb3otYW5pbWF0aW9uLWRlbGF5OiAxLjI1cztcbiAgLW8tYW5pbWF0aW9uLWRlbGF5OiAxLjI1cztcbiAgYW5pbWF0aW9uLWRlbGF5OiAxLjI1czsgfVxuXG4uZGVsYXktMTUwMCB7XG4gIC13ZWJraXQtYW5pbWF0aW9uLWRlbGF5OiAxLjVzO1xuICAtbW96LWFuaW1hdGlvbi1kZWxheTogMS41cztcbiAgLW8tYW5pbWF0aW9uLWRlbGF5OiAxLjVzO1xuICBhbmltYXRpb24tZGVsYXk6IDEuNXM7IH1cblxuLmRlbGF5LTE3NTAge1xuICAtd2Via2l0LWFuaW1hdGlvbi1kZWxheTogMS43NXM7XG4gIC1tb3otYW5pbWF0aW9uLWRlbGF5OiAxLjc1cztcbiAgLW8tYW5pbWF0aW9uLWRlbGF5OiAxLjc1cztcbiAgYW5pbWF0aW9uLWRlbGF5OiAxLjc1czsgfVxuXG4uZGVsYXktMjAwMCB7XG4gIC13ZWJraXQtYW5pbWF0aW9uLWRlbGF5OiAyLjBzO1xuICAtbW96LWFuaW1hdGlvbi1kZWxheTogMi4wcztcbiAgLW8tYW5pbWF0aW9uLWRlbGF5OiAyLjBzO1xuICBhbmltYXRpb24tZGVsYXk6IDIuMHM7IH1cblxuLmRlbGF5LTI1MDAge1xuICAtd2Via2l0LWFuaW1hdGlvbi1kZWxheTogMi41cztcbiAgLW1vei1hbmltYXRpb24tZGVsYXk6IDIuNXM7XG4gIC1vLWFuaW1hdGlvbi1kZWxheTogMi41cztcbiAgYW5pbWF0aW9uLWRlbGF5OiAyLjVzOyB9XG5cbi5kZWxheS0yMDAwIHtcbiAgLXdlYmtpdC1hbmltYXRpb24tZGVsYXk6IDIuMHM7XG4gIC1tb3otYW5pbWF0aW9uLWRlbGF5OiAyLjBzO1xuICAtby1hbmltYXRpb24tZGVsYXk6IDIuMHM7XG4gIGFuaW1hdGlvbi1kZWxheTogMi4wczsgfVxuXG4uZGVsYXktMjUwMCB7XG4gIC13ZWJraXQtYW5pbWF0aW9uLWRlbGF5OiAyLjVzO1xuICAtbW96LWFuaW1hdGlvbi1kZWxheTogMi41cztcbiAgLW8tYW5pbWF0aW9uLWRlbGF5OiAyLjVzO1xuICBhbmltYXRpb24tZGVsYXk6IDIuNXM7IH1cblxuLmRlbGF5LTMwMDAge1xuICAtd2Via2l0LWFuaW1hdGlvbi1kZWxheTogMy4wcztcbiAgLW1vei1hbmltYXRpb24tZGVsYXk6IDMuMHM7XG4gIC1vLWFuaW1hdGlvbi1kZWxheTogMy4wcztcbiAgYW5pbWF0aW9uLWRlbGF5OiAzLjBzOyB9XG5cbi5kZWxheS0zNTAwIHtcbiAgLXdlYmtpdC1hbmltYXRpb24tZGVsYXk6IDMuNXM7XG4gIC1tb3otYW5pbWF0aW9uLWRlbGF5OiAzLjVzO1xuICAtby1hbmltYXRpb24tZGVsYXk6IDMuNXM7XG4gIGFuaW1hdGlvbi1kZWxheTogMy41czsgfVxuXG4uYm91bmNlSW5SaWdodCxcbi5ib3VuY2VJbkxlZnQsXG4uYm91bmNlSW5VcCxcbi5ib3VuY2VJbkRvd24ge1xuICBvcGFjaXR5OiAwO1xuICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWCg0MDBweCk7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWCg0MDBweCk7IH1cblxuLmZhZGVJblJpZ2h0LFxuLmZhZGVJbkxlZnQsXG4uZmFkZUluVXAsXG4uZmFkZUluRG93biB7XG4gIG9wYWNpdHk6IDA7XG4gIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDQwMHB4KTtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDQwMHB4KTsgfVxuXG4uZmxpcEluWCxcbi5mbGlwSW5ZLFxuLnJvdGF0ZUluLFxuLnJvdGF0ZUluVXBMZWZ0LFxuLnJvdGF0ZUluVXBSaWdodCxcbi5yb3RhdGVJbkRvd25MZWZ0LFxuLnJvdGF0ZURvd25VcFJpZ2h0LFxuLnJvbGxJbiB7XG4gIG9wYWNpdHk6IDA7IH1cblxuLmxpZ2h0U3BlZWRJblJpZ2h0LFxuLmxpZ2h0U3BlZWRJbkxlZnQge1xuICBvcGFjaXR5OiAwO1xuICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWCg0MDBweCk7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWCg0MDBweCk7IH1cblxuLyoqKioqKioqKioqXG4qIGJvdW5jZUluICpcbioqKioqKioqKioqKi9cbkAtd2Via2l0LWtleWZyYW1lcyBib3VuY2VJbiB7XG4gIDAlIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZSgwLjMpOyB9XG4gIDUwJSB7XG4gICAgb3BhY2l0eTogMTtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUoMS4wNSk7IH1cbiAgNzAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUoMC45KTsgfVxuICAxMDAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUoMSk7IH0gfVxuXG5Aa2V5ZnJhbWVzIGJvdW5jZUluIHtcbiAgMCUge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgdHJhbnNmb3JtOiBzY2FsZSgwLjMpOyB9XG4gIDUwJSB7XG4gICAgb3BhY2l0eTogMTtcbiAgICB0cmFuc2Zvcm06IHNjYWxlKDEuMDUpOyB9XG4gIDcwJSB7XG4gICAgdHJhbnNmb3JtOiBzY2FsZSgwLjkpOyB9XG4gIDEwMCUge1xuICAgIHRyYW5zZm9ybTogc2NhbGUoMSk7IH0gfVxuXG4uYm91bmNlSW4uZ28ge1xuICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiBib3VuY2VJbjtcbiAgYW5pbWF0aW9uLW5hbWU6IGJvdW5jZUluOyB9XG5cbi8qKioqKioqKioqKioqKioqXG4qIGJvdW5jZUluUmlnaHQgKlxuKioqKioqKioqKioqKioqKi9cbkAtd2Via2l0LWtleWZyYW1lcyBib3VuY2VJblJpZ2h0IHtcbiAgMCUge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoNDAwcHgpOyB9XG4gIDYwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTMwcHgpOyB9XG4gIDgwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMTBweCk7IH1cbiAgMTAwJSB7XG4gICAgb3BhY2l0eTogMTtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWCgwKTsgfSB9XG5cbkBrZXlmcmFtZXMgYm91bmNlSW5SaWdodCB7XG4gIDAlIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCg0MDBweCk7IH1cbiAgNjAlIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTMwcHgpOyB9XG4gIDgwJSB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDEwcHgpOyB9XG4gIDEwMCUge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDApOyB9IH1cblxuLmJvdW5jZUluUmlnaHQuZ28ge1xuICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiBib3VuY2VJblJpZ2h0O1xuICBhbmltYXRpb24tbmFtZTogYm91bmNlSW5SaWdodDsgfVxuXG4vKioqKioqKioqKioqKioqKioqXG4qIEJvdW5jZSBpbiBsZWZ0ICpcbioqKioqKioqKioqKioqKioqKiovXG5ALXdlYmtpdC1rZXlmcmFtZXMgYm91bmNlSW5MZWZ0IHtcbiAgMCUge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTQwMHB4KTsgfVxuICA2MCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDMwcHgpOyB9XG4gIDgwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTEwcHgpOyB9XG4gIDEwMCUge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMCk7IH0gfVxuXG5Aa2V5ZnJhbWVzIGJvdW5jZUluTGVmdCB7XG4gIDAlIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNDAwcHgpOyB9XG4gIDYwJSB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDMwcHgpOyB9XG4gIDgwJSB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0xMHB4KTsgfVxuICAxMDAlIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgwKTsgfSB9XG5cbi5ib3VuY2VJbkxlZnQuZ28ge1xuICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiBib3VuY2VJbkxlZnQ7XG4gIGFuaW1hdGlvbi1uYW1lOiBib3VuY2VJbkxlZnQ7IH1cblxuLyoqKioqKioqKioqKioqKioqKlxuKiBCb3VuY2UgaW4gdXAgKlxuKioqKioqKioqKioqKioqKioqKi9cbkAtd2Via2l0LWtleWZyYW1lcyBib3VuY2VJblVwIHtcbiAgMCUge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoNDAwcHgpOyB9XG4gIDYwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTMwcHgpOyB9XG4gIDgwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMTBweCk7IH1cbiAgMTAwJSB7XG4gICAgb3BhY2l0eTogMTtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKTsgfSB9XG5cbkBrZXlmcmFtZXMgYm91bmNlSW5VcCB7XG4gIDAlIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSg0MDBweCk7IH1cbiAgNjAlIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTMwcHgpOyB9XG4gIDgwJSB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDEwcHgpOyB9XG4gIDEwMCUge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApOyB9IH1cblxuLmJvdW5jZUluVXAuZ28ge1xuICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiBib3VuY2VJblVwO1xuICBhbmltYXRpb24tbmFtZTogYm91bmNlSW5VcDsgfVxuXG4vKioqKioqKioqKioqKioqKioqXG4qIEJvdW5jZSBpbiBkb3duICpcbioqKioqKioqKioqKioqKioqKiovXG5ALXdlYmtpdC1rZXlmcmFtZXMgYm91bmNlSW5Eb3duIHtcbiAgMCUge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTQwMHB4KTsgfVxuICA2MCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDMwcHgpOyB9XG4gIDgwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTEwcHgpOyB9XG4gIDEwMCUge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCk7IH0gfVxuXG5Aa2V5ZnJhbWVzIGJvdW5jZUluRG93biB7XG4gIDAlIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNDAwcHgpOyB9XG4gIDYwJSB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDMwcHgpOyB9XG4gIDgwJSB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0xMHB4KTsgfVxuICAxMDAlIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKTsgfSB9XG5cbi5ib3VuY2VJbkRvd24uZ28ge1xuICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiBib3VuY2VJbkRvd247XG4gIGFuaW1hdGlvbi1uYW1lOiBib3VuY2VJbkRvd247IH1cblxuLyoqKioqKioqKipcbiogRmFkZSBJbiAqXG4qKioqKioqKioqL1xuQC13ZWJraXQta2V5ZnJhbWVzIGZhZGVJbiB7XG4gIDAlIHtcbiAgICBvcGFjaXR5OiAwOyB9XG4gIDEwMCUge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgZGlzcGxheTogYmxvY2s7IH0gfVxuXG5Aa2V5ZnJhbWVzIGZhZGVJbiB7XG4gIDAlIHtcbiAgICBvcGFjaXR5OiAwOyB9XG4gIDEwMCUge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgZGlzcGxheTogYmxvY2s7IH0gfVxuXG4uZmFkZUluIHtcbiAgb3BhY2l0eTogMDsgfVxuXG4uZmFkZUluLmdvIHtcbiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogZmFkZUluO1xuICBhbmltYXRpb24tbmFtZTogZmFkZUluOyB9XG5cbi8qKioqKioqKioqXG4qIEdyb3cgaW4gKlxuKioqKioqKioqKiovXG5ALXdlYmtpdC1rZXlmcmFtZXMgZ3Jvd0luIHtcbiAgMCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZSgwLjIpO1xuICAgIG9wYWNpdHk6IDA7IH1cbiAgNTAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUoMS4yKTsgfVxuICAxMDAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUoMSk7XG4gICAgb3BhY2l0eTogMTsgfSB9XG5cbkBrZXlmcmFtZXMgZ3Jvd0luIHtcbiAgMCUge1xuICAgIHRyYW5zZm9ybTogc2NhbGUoMC4yKTtcbiAgICBvcGFjaXR5OiAwOyB9XG4gIDUwJSB7XG4gICAgdHJhbnNmb3JtOiBzY2FsZSgxLjIpOyB9XG4gIDEwMCUge1xuICAgIHRyYW5zZm9ybTogc2NhbGUoMSk7XG4gICAgb3BhY2l0eTogMTsgfSB9XG5cbi5ncm93SW4ge1xuICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUoMC4yKTtcbiAgdHJhbnNmb3JtOiBzY2FsZSgwLjIpO1xuICBvcGFjaXR5OiAwOyB9XG5cbi5ncm93SW4uZ28ge1xuICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiBncm93SW47XG4gIGFuaW1hdGlvbi1uYW1lOiBncm93SW47IH1cblxuLyoqKioqKioqXG4qIFNoYWtlICpcbioqKioqKioqL1xuQC13ZWJraXQta2V5ZnJhbWVzIHNoYWtlIHtcbiAgMCUsXG4gIDEwMCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDApOyB9XG4gIDEwJSxcbiAgMzAlLFxuICA1MCUsXG4gIDcwJSxcbiAgOTAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWCgtMTBweCk7IH1cbiAgMjAlLFxuICA0MCUsXG4gIDYwJSxcbiAgODAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWCgxMHB4KTsgfSB9XG5cbkBrZXlmcmFtZXMgc2hha2Uge1xuICAwJSxcbiAgMTAwJSB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDApOyB9XG4gIDEwJSxcbiAgMzAlLFxuICA1MCUsXG4gIDcwJSxcbiAgOTAlIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTEwcHgpOyB9XG4gIDIwJSxcbiAgNDAlLFxuICA2MCUsXG4gIDgwJSB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDEwcHgpOyB9IH1cblxuLnNoYWtlLmdvIHtcbiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogc2hha2U7XG4gIGFuaW1hdGlvbi1uYW1lOiBzaGFrZTsgfVxuXG4vKioqKioqKipcbiogU2hha2VVcCAqXG4qKioqKioqKi9cbkAtd2Via2l0LWtleWZyYW1lcyBzaGFrZVVwIHtcbiAgMCUsXG4gIDEwMCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApOyB9XG4gIDEwJSxcbiAgMzAlLFxuICA1MCUsXG4gIDcwJSxcbiAgOTAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMTBweCk7IH1cbiAgMjAlLFxuICA0MCUsXG4gIDYwJSxcbiAgODAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWSgxMHB4KTsgfSB9XG5cbkBrZXlmcmFtZXMgc2hha2VVcCB7XG4gIDAlLFxuICAxMDAlIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCk7IH1cbiAgMTAlLFxuICAzMCUsXG4gIDUwJSxcbiAgNzAlLFxuICA5MCUge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMTBweCk7IH1cbiAgMjAlLFxuICA0MCUsXG4gIDYwJSxcbiAgODAlIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMTBweCk7IH0gfVxuXG4uc2hha2VVcC5nbyB7XG4gIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IHNoYWtlVXA7XG4gIGFuaW1hdGlvbi1uYW1lOiBzaGFrZVVwOyB9XG5cbi8qKioqKioqKioqKioqXG4qIEZhZGVJbkxlZnQgKlxuKioqKioqKioqKioqKi9cbkAtd2Via2l0LWtleWZyYW1lcyBmYWRlSW5MZWZ0IHtcbiAgMCUge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTQwMHB4KTsgfVxuICA1MCUge1xuICAgIG9wYWNpdHk6IDAuMzsgfVxuICAxMDAlIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDApOyB9IH1cblxuQGtleWZyYW1lcyBmYWRlSW5MZWZ0IHtcbiAgMCUge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC00MDBweCk7IH1cbiAgNTAlIHtcbiAgICBvcGFjaXR5OiAwLjM7IH1cbiAgMTAwJSB7XG4gICAgb3BhY2l0eTogMTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMCk7IH0gfVxuXG4uZmFkZUluTGVmdCB7XG4gIG9wYWNpdHk6IDA7XG4gIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC00MDBweCk7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNDAwcHgpOyB9XG5cbi5mYWRlSW5MZWZ0LmdvIHtcbiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogZmFkZUluTGVmdDtcbiAgYW5pbWF0aW9uLW5hbWU6IGZhZGVJbkxlZnQ7IH1cblxuLyoqKioqKioqKioqKipcbiogRmFkZUluUmlnaHQgKlxuKioqKioqKioqKioqKi9cbkAtd2Via2l0LWtleWZyYW1lcyBmYWRlSW5SaWdodCB7XG4gIDAlIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDQwMHB4KTsgfVxuICA1MCUge1xuICAgIG9wYWNpdHk6IDAuMzsgfVxuICAxMDAlIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDApOyB9IH1cblxuQGtleWZyYW1lcyBmYWRlSW5SaWdodCB7XG4gIDAlIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCg0MDBweCk7IH1cbiAgNTAlIHtcbiAgICBvcGFjaXR5OiAwLjM7IH1cbiAgMTAwJSB7XG4gICAgb3BhY2l0eTogMTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMCk7IH0gfVxuXG4uZmFkZUluUmlnaHQge1xuICBvcGFjaXR5OiAwO1xuICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWCg0MDBweCk7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWCg0MDBweCk7IH1cblxuLmZhZGVJblJpZ2h0LmdvIHtcbiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogZmFkZUluUmlnaHQ7XG4gIGFuaW1hdGlvbi1uYW1lOiBmYWRlSW5SaWdodDsgfVxuXG4vKioqKioqKioqKioqKlxuKiBGYWRlSW5VcCAqXG4qKioqKioqKioqKioqL1xuQC13ZWJraXQta2V5ZnJhbWVzIGZhZGVJblVwIHtcbiAgMCUge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoNDAwcHgpOyB9XG4gIDUwJSB7XG4gICAgb3BhY2l0eTogMC4zOyB9XG4gIDEwMCUge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCk7IH0gfVxuXG5Aa2V5ZnJhbWVzIGZhZGVJblVwIHtcbiAgMCUge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDQwMHB4KTsgfVxuICA1MCUge1xuICAgIG9wYWNpdHk6IDAuMzsgfVxuICAxMDAlIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKTsgfSB9XG5cbi5mYWRlSW5VcCB7XG4gIG9wYWNpdHk6IDA7XG4gIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDQwMHB4KTtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDQwMHB4KTsgfVxuXG4uZmFkZUluVXAuZ28ge1xuICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiBmYWRlSW5VcDtcbiAgYW5pbWF0aW9uLW5hbWU6IGZhZGVJblVwOyB9XG5cbi8qKioqKioqKioqKioqXG4qIEZhZGVJbkRvd24gKlxuKioqKioqKioqKioqKi9cbkAtd2Via2l0LWtleWZyYW1lcyBmYWRlSW5Eb3duIHtcbiAgMCUge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTQwMHB4KTsgfVxuICA1MCUge1xuICAgIG9wYWNpdHk6IDAuMzsgfVxuICAxMDAlIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApOyB9IH1cblxuQGtleWZyYW1lcyBmYWRlSW5Eb3duIHtcbiAgMCUge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC00MDBweCk7IH1cbiAgNTAlIHtcbiAgICBvcGFjaXR5OiAwLjM7IH1cbiAgMTAwJSB7XG4gICAgb3BhY2l0eTogMTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCk7IH0gfVxuXG4uZmFkZUluRG93biB7XG4gIG9wYWNpdHk6IDA7XG4gIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC00MDBweCk7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNDAwcHgpOyB9XG5cbi5mYWRlSW5Eb3duLmdvIHtcbiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogZmFkZUluRG93bjtcbiAgYW5pbWF0aW9uLW5hbWU6IGZhZGVJbkRvd247IH1cblxuLyoqKioqKioqKioqKioqKioqXG4qIHJvdGF0ZUluICpcbioqKioqKioqKioqKioqKioqL1xuQC13ZWJraXQta2V5ZnJhbWVzIHJvdGF0ZUluIHtcbiAgMCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtLW9yaWdpbjogY2VudGVyIGNlbnRlcjtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlKC0yMDBkZWcpO1xuICAgIG9wYWNpdHk6IDA7IH1cbiAgMTAwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm0tb3JpZ2luOiBjZW50ZXIgY2VudGVyO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUoMCk7XG4gICAgb3BhY2l0eTogMTsgfSB9XG5cbkBrZXlmcmFtZXMgcm90YXRlSW4ge1xuICAwJSB7XG4gICAgdHJhbnNmb3JtLW9yaWdpbjogY2VudGVyIGNlbnRlcjtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZSgtMjAwZGVnKTtcbiAgICBvcGFjaXR5OiAwOyB9XG4gIDEwMCUge1xuICAgIHRyYW5zZm9ybS1vcmlnaW46IGNlbnRlciBjZW50ZXI7XG4gICAgdHJhbnNmb3JtOiByb3RhdGUoMCk7XG4gICAgb3BhY2l0eTogMTsgfSB9XG5cbi5yb3RhdGVJbi5nbyB7XG4gIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IHJvdGF0ZUluO1xuICBhbmltYXRpb24tbmFtZTogcm90YXRlSW47IH1cblxuLyoqKioqKioqKioqKioqKioqXG4qIHJvdGF0ZUluVXBMZWZ0ICpcbioqKioqKioqKioqKioqKioqL1xuQC13ZWJraXQta2V5ZnJhbWVzIHJvdGF0ZUluVXBMZWZ0IHtcbiAgMCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtLW9yaWdpbjogbGVmdCBib3R0b207XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZSg5MGRlZyk7XG4gICAgb3BhY2l0eTogMDsgfVxuICAxMDAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybS1vcmlnaW46IGxlZnQgYm90dG9tO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUoMCk7XG4gICAgb3BhY2l0eTogMTsgfSB9XG5cbkBrZXlmcmFtZXMgcm90YXRlSW5VcExlZnQge1xuICAwJSB7XG4gICAgdHJhbnNmb3JtLW9yaWdpbjogbGVmdCBib3R0b207XG4gICAgdHJhbnNmb3JtOiByb3RhdGUoOTBkZWcpO1xuICAgIG9wYWNpdHk6IDA7IH1cbiAgMTAwJSB7XG4gICAgdHJhbnNmb3JtLW9yaWdpbjogbGVmdCBib3R0b207XG4gICAgdHJhbnNmb3JtOiByb3RhdGUoMCk7XG4gICAgb3BhY2l0eTogMTsgfSB9XG5cbi5yb3RhdGVJblVwTGVmdC5nbyB7XG4gIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IHJvdGF0ZUluVXBMZWZ0O1xuICBhbmltYXRpb24tbmFtZTogcm90YXRlSW5VcExlZnQ7IH1cblxuLyoqKioqKioqKioqKioqKioqKipcbiogcm90YXRlSW5Eb3duTGVmdCAqXG4qKioqKioqKioqKioqKioqKioqL1xuQC13ZWJraXQta2V5ZnJhbWVzIHJvdGF0ZUluRG93bkxlZnQge1xuICAwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm0tb3JpZ2luOiBsZWZ0IGJvdHRvbTtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlKC05MGRlZyk7XG4gICAgb3BhY2l0eTogMDsgfVxuICAxMDAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybS1vcmlnaW46IGxlZnQgYm90dG9tO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUoMCk7XG4gICAgb3BhY2l0eTogMTsgfSB9XG5cbkBrZXlmcmFtZXMgcm90YXRlSW5Eb3duTGVmdCB7XG4gIDAlIHtcbiAgICB0cmFuc2Zvcm0tb3JpZ2luOiBsZWZ0IGJvdHRvbTtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZSgtOTBkZWcpO1xuICAgIG9wYWNpdHk6IDA7IH1cbiAgMTAwJSB7XG4gICAgdHJhbnNmb3JtLW9yaWdpbjogbGVmdCBib3R0b207XG4gICAgdHJhbnNmb3JtOiByb3RhdGUoMCk7XG4gICAgb3BhY2l0eTogMTsgfSB9XG5cbi5yb3RhdGVJbkRvd25MZWZ0LmdvIHtcbiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogcm90YXRlSW5Eb3duTGVmdDtcbiAgYW5pbWF0aW9uLW5hbWU6IHJvdGF0ZUluRG93bkxlZnQ7IH1cblxuLyoqKioqKioqKioqKioqKioqKlxuKiByb3RhdGVJblVwUmlnaHQgKlxuKioqKioqKioqKioqKioqKioqKi9cbkAtd2Via2l0LWtleWZyYW1lcyByb3RhdGVJblVwUmlnaHQge1xuICAwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm0tb3JpZ2luOiByaWdodCBib3R0b207XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZSgtOTBkZWcpO1xuICAgIG9wYWNpdHk6IDA7IH1cbiAgMTAwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm0tb3JpZ2luOiByaWdodCBib3R0b207XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZSgwKTtcbiAgICBvcGFjaXR5OiAxOyB9IH1cblxuQGtleWZyYW1lcyByb3RhdGVJblVwUmlnaHQge1xuICAwJSB7XG4gICAgdHJhbnNmb3JtLW9yaWdpbjogcmlnaHQgYm90dG9tO1xuICAgIHRyYW5zZm9ybTogcm90YXRlKC05MGRlZyk7XG4gICAgb3BhY2l0eTogMDsgfVxuICAxMDAlIHtcbiAgICB0cmFuc2Zvcm0tb3JpZ2luOiByaWdodCBib3R0b207XG4gICAgdHJhbnNmb3JtOiByb3RhdGUoMCk7XG4gICAgb3BhY2l0eTogMTsgfSB9XG5cbi5yb3RhdGVJblVwUmlnaHQuZ28ge1xuICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiByb3RhdGVJblVwUmlnaHQ7XG4gIGFuaW1hdGlvbi1uYW1lOiByb3RhdGVJblVwUmlnaHQ7IH1cblxuLyoqKioqKioqKioqKioqKioqKioqXG4qIHJvdGF0ZUluRG93blJpZ2h0ICpcbioqKioqKioqKioqKioqKioqKioqL1xuQC13ZWJraXQta2V5ZnJhbWVzIHJvdGF0ZUluRG93blJpZ2h0IHtcbiAgMCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtLW9yaWdpbjogcmlnaHQgYm90dG9tO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUoOTBkZWcpO1xuICAgIG9wYWNpdHk6IDA7IH1cbiAgMTAwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm0tb3JpZ2luOiByaWdodCBib3R0b207XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZSgwKTtcbiAgICBvcGFjaXR5OiAxOyB9IH1cblxuQGtleWZyYW1lcyByb3RhdGVJbkRvd25SaWdodCB7XG4gIDAlIHtcbiAgICB0cmFuc2Zvcm0tb3JpZ2luOiByaWdodCBib3R0b207XG4gICAgdHJhbnNmb3JtOiByb3RhdGUoOTBkZWcpO1xuICAgIG9wYWNpdHk6IDA7IH1cbiAgMTAwJSB7XG4gICAgdHJhbnNmb3JtLW9yaWdpbjogcmlnaHQgYm90dG9tO1xuICAgIHRyYW5zZm9ybTogcm90YXRlKDApO1xuICAgIG9wYWNpdHk6IDE7IH0gfVxuXG4ucm90YXRlSW5Eb3duUmlnaHQuZ28ge1xuICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiByb3RhdGVJbkRvd25SaWdodDtcbiAgYW5pbWF0aW9uLW5hbWU6IHJvdGF0ZUluRG93blJpZ2h0OyB9XG5cbi8qKioqKioqKipcbiogcm9sbEluICpcbioqKioqKioqKiovXG5ALXdlYmtpdC1rZXlmcmFtZXMgcm9sbEluIHtcbiAgMCUge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTEwMCUpIHJvdGF0ZSgtMTIwZGVnKTsgfVxuICAxMDAlIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDBweCkgcm90YXRlKDBkZWcpOyB9IH1cblxuQGtleWZyYW1lcyByb2xsSW4ge1xuICAwJSB7XG4gICAgb3BhY2l0eTogMDtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTEwMCUpIHJvdGF0ZSgtMTIwZGVnKTsgfVxuICAxMDAlIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgwcHgpIHJvdGF0ZSgwZGVnKTsgfSB9XG5cbi5yb2xsSW4uZ28ge1xuICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiByb2xsSW47XG4gIGFuaW1hdGlvbi1uYW1lOiByb2xsSW47IH1cblxuLyoqKioqKioqKlxuKiB3aWdnbGUgKlxuKioqKioqKioqKi9cbkAtd2Via2l0LWtleWZyYW1lcyB3aWdnbGUge1xuICAwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNrZXdYKDlkZWcpOyB9XG4gIDEwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNrZXdYKC04ZGVnKTsgfVxuICAyMCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBza2V3WCg3ZGVnKTsgfVxuICAzMCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBza2V3WCgtNmRlZyk7IH1cbiAgNDAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2tld1goNWRlZyk7IH1cbiAgNTAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2tld1goLTRkZWcpOyB9XG4gIDYwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNrZXdYKDNkZWcpOyB9XG4gIDcwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNrZXdYKC0yZGVnKTsgfVxuICA4MCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBza2V3WCgxZGVnKTsgfVxuICA5MCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBza2V3WCgwZGVnKTsgfVxuICAxMDAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2tld1goMGRlZyk7IH0gfVxuXG5Aa2V5ZnJhbWVzIHdpZ2dsZSB7XG4gIDAlIHtcbiAgICB0cmFuc2Zvcm06IHNrZXdYKDlkZWcpOyB9XG4gIDEwJSB7XG4gICAgdHJhbnNmb3JtOiBza2V3WCgtOGRlZyk7IH1cbiAgMjAlIHtcbiAgICB0cmFuc2Zvcm06IHNrZXdYKDdkZWcpOyB9XG4gIDMwJSB7XG4gICAgdHJhbnNmb3JtOiBza2V3WCgtNmRlZyk7IH1cbiAgNDAlIHtcbiAgICB0cmFuc2Zvcm06IHNrZXdYKDVkZWcpOyB9XG4gIDUwJSB7XG4gICAgdHJhbnNmb3JtOiBza2V3WCgtNGRlZyk7IH1cbiAgNjAlIHtcbiAgICB0cmFuc2Zvcm06IHNrZXdYKDNkZWcpOyB9XG4gIDcwJSB7XG4gICAgdHJhbnNmb3JtOiBza2V3WCgtMmRlZyk7IH1cbiAgODAlIHtcbiAgICB0cmFuc2Zvcm06IHNrZXdYKDFkZWcpOyB9XG4gIDkwJSB7XG4gICAgdHJhbnNmb3JtOiBza2V3WCgwZGVnKTsgfVxuICAxMDAlIHtcbiAgICB0cmFuc2Zvcm06IHNrZXdYKDBkZWcpOyB9IH1cblxuLndpZ2dsZS5nbyB7XG4gIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IHdpZ2dsZTtcbiAgYW5pbWF0aW9uLW5hbWU6IHdpZ2dsZTtcbiAgLXdlYmtpdC1hbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLWluO1xuICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLWluOyB9XG5cbi8qKioqKioqKlxuKiBzd2luZyAqXG4qKioqKioqKiovXG5ALXdlYmtpdC1rZXlmcmFtZXMgc3dpbmcge1xuICAyMCUsXG4gIDQwJSxcbiAgNjAlLFxuICA4MCUsXG4gIDEwMCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtLW9yaWdpbjogdG9wIGNlbnRlcjsgfVxuICAyMCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUoMTVkZWcpOyB9XG4gIDQwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZSgtMTBkZWcpOyB9XG4gIDYwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZSg1ZGVnKTsgfVxuICA4MCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUoLTVkZWcpOyB9XG4gIDEwMCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUoMGRlZyk7IH0gfVxuXG5Aa2V5ZnJhbWVzIHN3aW5nIHtcbiAgMjAlIHtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZSgxNWRlZyk7IH1cbiAgNDAlIHtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZSgtMTBkZWcpOyB9XG4gIDYwJSB7XG4gICAgdHJhbnNmb3JtOiByb3RhdGUoNWRlZyk7IH1cbiAgODAlIHtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZSgtNWRlZyk7IH1cbiAgMTAwJSB7XG4gICAgdHJhbnNmb3JtOiByb3RhdGUoMGRlZyk7IH0gfVxuXG4uc3dpbmcuZ28ge1xuICAtd2Via2l0LXRyYW5zZm9ybS1vcmlnaW46IHRvcCBjZW50ZXI7XG4gIHRyYW5zZm9ybS1vcmlnaW46IHRvcCBjZW50ZXI7XG4gIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IHN3aW5nO1xuICBhbmltYXRpb24tbmFtZTogc3dpbmc7IH1cblxuLyoqKioqKipcbiogdGFkYSAqXG4qKioqKioqKi9cbkAtd2Via2l0LWtleWZyYW1lcyB0YWRhIHtcbiAgMCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZSgxKTsgfVxuICAxMCUsXG4gIDIwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlKDAuOSkgcm90YXRlKC0zZGVnKTsgfVxuICAzMCUsXG4gIDUwJSxcbiAgNzAlLFxuICA5MCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZSgxLjEpIHJvdGF0ZSgzZGVnKTsgfVxuICA0MCUsXG4gIDYwJSxcbiAgODAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUoMS4xKSByb3RhdGUoLTNkZWcpOyB9XG4gIDEwMCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZSgxKSByb3RhdGUoMCk7IH0gfVxuXG5Aa2V5ZnJhbWVzIHRhZGEge1xuICAwJSB7XG4gICAgdHJhbnNmb3JtOiBzY2FsZSgxKTsgfVxuICAxMCUsXG4gIDIwJSB7XG4gICAgdHJhbnNmb3JtOiBzY2FsZSgwLjkpIHJvdGF0ZSgtM2RlZyk7IH1cbiAgMzAlLFxuICA1MCUsXG4gIDcwJSxcbiAgOTAlIHtcbiAgICB0cmFuc2Zvcm06IHNjYWxlKDEuMSkgcm90YXRlKDNkZWcpOyB9XG4gIDQwJSxcbiAgNjAlLFxuICA4MCUge1xuICAgIHRyYW5zZm9ybTogc2NhbGUoMS4xKSByb3RhdGUoLTNkZWcpOyB9XG4gIDEwMCUge1xuICAgIHRyYW5zZm9ybTogc2NhbGUoMSkgcm90YXRlKDApOyB9IH1cblxuLnRhZGEuZ28ge1xuICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiB0YWRhO1xuICBhbmltYXRpb24tbmFtZTogdGFkYTsgfVxuXG4vKioqKioqKioqXG4qIHdvYmJsZSAqXG4qKioqKioqKioqL1xuQC13ZWJraXQta2V5ZnJhbWVzIHdvYmJsZSB7XG4gIDAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWCgwJSk7IH1cbiAgMTUlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWCgtMjUlKSByb3RhdGUoLTVkZWcpOyB9XG4gIDMwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMjAlKSByb3RhdGUoM2RlZyk7IH1cbiAgNDUlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWCgtMTUlKSByb3RhdGUoLTNkZWcpOyB9XG4gIDYwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMTAlKSByb3RhdGUoMmRlZyk7IH1cbiAgNzUlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNSUpIHJvdGF0ZSgtMWRlZyk7IH1cbiAgMTAwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMCUpOyB9IH1cblxuQGtleWZyYW1lcyB3b2JibGUge1xuICAwJSB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDAlKTsgfVxuICAxNSUge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtMjUlKSByb3RhdGUoLTVkZWcpOyB9XG4gIDMwJSB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDIwJSkgcm90YXRlKDNkZWcpOyB9XG4gIDQ1JSB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0xNSUpIHJvdGF0ZSgtM2RlZyk7IH1cbiAgNjAlIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMTAlKSByb3RhdGUoMmRlZyk7IH1cbiAgNzUlIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTUlKSByb3RhdGUoLTFkZWcpOyB9XG4gIDEwMCUge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgwJSk7IH0gfVxuXG4ud29iYmxlLmdvIHtcbiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogd29iYmxlO1xuICBhbmltYXRpb24tbmFtZTogd29iYmxlOyB9XG5cbi8qKioqKioqKlxuKiBwdWxzZSAqXG4qKioqKioqKiovXG5ALXdlYmtpdC1rZXlmcmFtZXMgcHVsc2Uge1xuICAwJSB7XG4gICAgdHJhbnNmb3JtOiBzY2FsZSgwLjk1KTtcbiAgICBib3gtc2hhZG93OiAwIDAgMCAwIHJnYmEoMCwgMCwgMCwgMC43KTsgfVxuICA3MCUge1xuICAgIHRyYW5zZm9ybTogc2NhbGUoMSk7XG4gICAgYm94LXNoYWRvdzogMCAwIDAgMTBweCByZ2JhKDAsIDAsIDAsIDApOyB9XG4gIDEwMCUge1xuICAgIHRyYW5zZm9ybTogc2NhbGUoMC45NSk7XG4gICAgYm94LXNoYWRvdzogMCAwIDAgMCByZ2JhKDAsIDAsIDAsIDApOyB9IH1cblxuQGtleWZyYW1lcyBwdWxzZSB7XG4gIDAlIHtcbiAgICB0cmFuc2Zvcm06IHNjYWxlKDAuOTUpO1xuICAgIGJveC1zaGFkb3c6IDAgMCAwIDAgcmdiYSgwLCAwLCAwLCAwLjcpOyB9XG4gIDcwJSB7XG4gICAgdHJhbnNmb3JtOiBzY2FsZSgxKTtcbiAgICBib3gtc2hhZG93OiAwIDAgMCAxMHB4IHJnYmEoMCwgMCwgMCwgMCk7IH1cbiAgMTAwJSB7XG4gICAgdHJhbnNmb3JtOiBzY2FsZSgwLjk1KTtcbiAgICBib3gtc2hhZG93OiAwIDAgMCAwIHJnYmEoMCwgMCwgMCwgMCk7IH0gfVxuXG4ucHVsc2UuZ28ge1xuICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiBwdWxzZTtcbiAgYW5pbWF0aW9uLW5hbWU6IHB1bHNlOyB9XG5cbi8qKioqKioqKioqKioqKipcbiogbGlnaHRTcGVlZEluUmlnaHQgKlxuKioqKioqKioqKioqKioqKi9cbkAtd2Via2l0LWtleWZyYW1lcyBsaWdodFNwZWVkSW5SaWdodCB7XG4gIDAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWCgxMDAlKSBza2V3WCgtMzBkZWcpO1xuICAgIG9wYWNpdHk6IDA7IH1cbiAgNjAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWCgtMjAlKSBza2V3WCgzMGRlZyk7XG4gICAgb3BhY2l0eTogMTsgfVxuICA4MCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDAlKSBza2V3WCgtMTVkZWcpO1xuICAgIG9wYWNpdHk6IDE7IH1cbiAgMTAwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMCUpIHNrZXdYKDBkZWcpO1xuICAgIG9wYWNpdHk6IDE7IH0gfVxuXG5Aa2V5ZnJhbWVzIGxpZ2h0U3BlZWRJblJpZ2h0IHtcbiAgMCUge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgxMDAlKSBza2V3WCgtMzBkZWcpO1xuICAgIG9wYWNpdHk6IDA7IH1cbiAgNjAlIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTIwJSkgc2tld1goMzBkZWcpO1xuICAgIG9wYWNpdHk6IDE7IH1cbiAgODAlIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMCUpIHNrZXdYKC0xNWRlZyk7XG4gICAgb3BhY2l0eTogMTsgfVxuICAxMDAlIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMCUpIHNrZXdYKDBkZWcpO1xuICAgIG9wYWNpdHk6IDE7IH0gfVxuXG4ubGlnaHRTcGVlZEluUmlnaHQuZ28ge1xuICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiBsaWdodFNwZWVkSW5SaWdodDtcbiAgYW5pbWF0aW9uLW5hbWU6IGxpZ2h0U3BlZWRJblJpZ2h0O1xuICAtd2Via2l0LWFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2Utb3V0O1xuICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLW91dDsgfVxuXG4vKioqKioqKioqKioqKioqXG4qIGxpZ2h0U3BlZWRJbkxlZnQgKlxuKioqKioqKioqKioqKioqKi9cbkAtd2Via2l0LWtleWZyYW1lcyBsaWdodFNwZWVkSW5MZWZ0IHtcbiAgMCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0xMDAlKSBza2V3WCgzMGRlZyk7XG4gICAgb3BhY2l0eTogMDsgfVxuICA2MCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDIwJSkgc2tld1goLTMwZGVnKTtcbiAgICBvcGFjaXR5OiAxOyB9XG4gIDgwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMCUpIHNrZXdYKDE1ZGVnKTtcbiAgICBvcGFjaXR5OiAxOyB9XG4gIDEwMCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDAlKSBza2V3WCgwZGVnKTtcbiAgICBvcGFjaXR5OiAxOyB9IH1cblxuQGtleWZyYW1lcyBsaWdodFNwZWVkSW5MZWZ0IHtcbiAgMCUge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtMTAwJSkgc2tld1goMzBkZWcpO1xuICAgIG9wYWNpdHk6IDA7IH1cbiAgNjAlIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMjAlKSBza2V3WCgtMzBkZWcpO1xuICAgIG9wYWNpdHk6IDE7IH1cbiAgODAlIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMCUpIHNrZXdYKDE1ZGVnKTtcbiAgICBvcGFjaXR5OiAxOyB9XG4gIDEwMCUge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgwJSkgc2tld1goMGRlZyk7XG4gICAgb3BhY2l0eTogMTsgfSB9XG5cbi5saWdodFNwZWVkSW5MZWZ0LmdvIHtcbiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogbGlnaHRTcGVlZEluTGVmdDtcbiAgYW5pbWF0aW9uLW5hbWU6IGxpZ2h0U3BlZWRJbkxlZnQ7XG4gIC13ZWJraXQtYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1vdXQ7XG4gIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2Utb3V0OyB9XG5cbi8qKioqKioqXG4qIEZsaXAgKlxuKioqKioqKi9cbkAtd2Via2l0LWtleWZyYW1lcyBmbGlwIHtcbiAgMCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkgcm90YXRlWSgwKTtcbiAgICAtd2Via2l0LWFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2Utb3V0OyB9XG4gIDQwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KSB0cmFuc2xhdGVaKDE1MHB4KSByb3RhdGVZKDE3MGRlZyk7XG4gICAgLXdlYmtpdC1hbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLW91dDsgfVxuICA1MCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkgdHJhbnNsYXRlWigxNTBweCkgcm90YXRlWSgxOTBkZWcpIHNjYWxlKDEpO1xuICAgIC13ZWJraXQtYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1pbjsgfVxuICA4MCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkgcm90YXRlWSgzNjBkZWcpIHNjYWxlKDAuOTUpO1xuICAgIC13ZWJraXQtYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1pbjsgfVxuICAxMDAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpIHNjYWxlKDEpO1xuICAgIC13ZWJraXQtYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1pbjsgfSB9XG5cbkBrZXlmcmFtZXMgZmxpcCB7XG4gIDAlIHtcbiAgICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KSByb3RhdGVZKDApO1xuICAgIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2Utb3V0OyB9XG4gIDQwJSB7XG4gICAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkgdHJhbnNsYXRlWigxNTBweCkgcm90YXRlWSgxNzBkZWcpO1xuICAgIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2Utb3V0OyB9XG4gIDUwJSB7XG4gICAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkgdHJhbnNsYXRlWigxNTBweCkgcm90YXRlWSgxOTBkZWcpIHNjYWxlKDEpO1xuICAgIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2UtaW47IH1cbiAgODAlIHtcbiAgICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KSByb3RhdGVZKDM2MGRlZykgc2NhbGUoMC45NSk7XG4gICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1pbjsgfVxuICAxMDAlIHtcbiAgICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KSBzY2FsZSgxKTtcbiAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLWluOyB9IH1cblxuLmZsaXAuZ28ge1xuICAtd2Via2l0LWJhY2tmYWNlLXZpc2liaWxpdHk6IHZpc2libGUgIWltcG9ydGFudDtcbiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogZmxpcDtcbiAgYmFja2ZhY2UtdmlzaWJpbGl0eTogdmlzaWJsZSAhaW1wb3J0YW50O1xuICBhbmltYXRpb24tbmFtZTogZmxpcDsgfVxuXG4vKioqKioqKioqKlxuKiBmbGlwSW5YICpcbioqKioqKioqKiovXG5ALXdlYmtpdC1rZXlmcmFtZXMgZmxpcEluWCB7XG4gIDAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpIHJvdGF0ZVgoOTBkZWcpO1xuICAgIG9wYWNpdHk6IDA7IH1cbiAgNDAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpIHJvdGF0ZVgoLTEwZGVnKTsgfVxuICA3MCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkgcm90YXRlWCgxMGRlZyk7IH1cbiAgMTAwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KSByb3RhdGVYKDBkZWcpO1xuICAgIG9wYWNpdHk6IDE7IH0gfVxuXG5Aa2V5ZnJhbWVzIGZsaXBJblgge1xuICAwJSB7XG4gICAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkgcm90YXRlWCg5MGRlZyk7XG4gICAgb3BhY2l0eTogMDsgfVxuICA0MCUge1xuICAgIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpIHJvdGF0ZVgoLTEwZGVnKTsgfVxuICA3MCUge1xuICAgIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpIHJvdGF0ZVgoMTBkZWcpOyB9XG4gIDEwMCUge1xuICAgIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpIHJvdGF0ZVgoMGRlZyk7XG4gICAgb3BhY2l0eTogMTsgfSB9XG5cbi5mbGlwSW5YLmdvIHtcbiAgLXdlYmtpdC1iYWNrZmFjZS12aXNpYmlsaXR5OiB2aXNpYmxlICFpbXBvcnRhbnQ7XG4gIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IGZsaXBJblg7XG4gIGJhY2tmYWNlLXZpc2liaWxpdHk6IHZpc2libGUgIWltcG9ydGFudDtcbiAgYW5pbWF0aW9uLW5hbWU6IGZsaXBJblg7IH1cblxuLyoqKioqKioqKipcbiogZmxpcEluWSAqXG4qKioqKioqKioqL1xuQC13ZWJraXQta2V5ZnJhbWVzIGZsaXBJblkge1xuICAwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KSByb3RhdGVZKDkwZGVnKTtcbiAgICBvcGFjaXR5OiAwOyB9XG4gIDQwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KSByb3RhdGVZKC0xMGRlZyk7IH1cbiAgNzAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpIHJvdGF0ZVkoMTBkZWcpOyB9XG4gIDEwMCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkgcm90YXRlWSgwZGVnKTtcbiAgICBvcGFjaXR5OiAxOyB9IH1cblxuQGtleWZyYW1lcyBmbGlwSW5ZIHtcbiAgMCUge1xuICAgIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpIHJvdGF0ZVkoOTBkZWcpO1xuICAgIG9wYWNpdHk6IDA7IH1cbiAgNDAlIHtcbiAgICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KSByb3RhdGVZKC0xMGRlZyk7IH1cbiAgNzAlIHtcbiAgICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KSByb3RhdGVZKDEwZGVnKTsgfVxuICAxMDAlIHtcbiAgICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KSByb3RhdGVZKDBkZWcpO1xuICAgIG9wYWNpdHk6IDE7IH0gfVxuXG4uZmxpcEluWS5nbyB7XG4gIC13ZWJraXQtYmFja2ZhY2UtdmlzaWJpbGl0eTogdmlzaWJsZSAhaW1wb3J0YW50O1xuICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiBmbGlwSW5ZO1xuICBiYWNrZmFjZS12aXNpYmlsaXR5OiB2aXNpYmxlICFpbXBvcnRhbnQ7XG4gIGFuaW1hdGlvbi1uYW1lOiBmbGlwSW5ZOyB9XG5cbi8qKioqKioqKioqKioqKioqKlxuKiBPdXQgYW5pbWF0aW9ucyAqXG4qKioqKioqKioqKioqKioqKi9cbi8qKioqKioqKioqKipcbiogYm91bmNlT3V0ICpcbioqKioqKioqKioqKiovXG5ALXdlYmtpdC1rZXlmcmFtZXMgYm91bmNlT3V0IHtcbiAgMCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZSgxKTsgfVxuICAyNSUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZSgwLjk1KTsgfVxuICA1MCUge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlKDEuMSk7IH1cbiAgMTAwJSB7XG4gICAgb3BhY2l0eTogMDtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUoMC4zKTsgfSB9XG5cbkBrZXlmcmFtZXMgYm91bmNlT3V0IHtcbiAgMCUge1xuICAgIHRyYW5zZm9ybTogc2NhbGUoMSk7IH1cbiAgMjUlIHtcbiAgICB0cmFuc2Zvcm06IHNjYWxlKDAuOTUpOyB9XG4gIDUwJSB7XG4gICAgb3BhY2l0eTogMTtcbiAgICB0cmFuc2Zvcm06IHNjYWxlKDEuMSk7IH1cbiAgMTAwJSB7XG4gICAgb3BhY2l0eTogMDtcbiAgICB0cmFuc2Zvcm06IHNjYWxlKDAuMyk7IH0gfVxuXG4uYm91bmNlT3V0LmdvQXdheSB7XG4gIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IGJvdW5jZU91dDtcbiAgYW5pbWF0aW9uLW5hbWU6IGJvdW5jZU91dDsgfVxuXG4vKioqKioqKioqKioqXG4qIGJvdW5jZU91dFVwICpcbioqKioqKioqKioqKiovXG5ALXdlYmtpdC1rZXlmcmFtZXMgYm91bmNlT3V0VXAge1xuICAwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCk7IH1cbiAgMjAlIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDIwcHgpOyB9XG4gIDEwMCUge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTIwMDBweCk7IH0gfVxuXG5Aa2V5ZnJhbWVzIGJvdW5jZU91dFVwIHtcbiAgMCUge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKTsgfVxuICAyMCUge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDIwcHgpOyB9XG4gIDEwMCUge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0yMDAwcHgpOyB9IH1cblxuLmJvdW5jZU91dFVwLmdvQXdheSB7XG4gIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IGJvdW5jZU91dFVwO1xuICBhbmltYXRpb24tbmFtZTogYm91bmNlT3V0VXA7IH1cblxuLyoqKioqKioqKioqKlxuKiBib3VuY2VPdXREb3duICpcbioqKioqKioqKioqKiovXG5ALXdlYmtpdC1rZXlmcmFtZXMgYm91bmNlT3V0RG93biB7XG4gIDAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKTsgfVxuICAyMCUge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTIwcHgpOyB9XG4gIDEwMCUge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMjAwMHB4KTsgfSB9XG5cbkBrZXlmcmFtZXMgYm91bmNlT3V0RG93biB7XG4gIDAlIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCk7IH1cbiAgMjAlIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMjBweCk7IH1cbiAgMTAwJSB7XG4gICAgb3BhY2l0eTogMDtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMjAwMHB4KTsgfSB9XG5cbi5ib3VuY2VPdXREb3duLmdvQXdheSB7XG4gIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IGJvdW5jZU91dERvd247XG4gIGFuaW1hdGlvbi1uYW1lOiBib3VuY2VPdXREb3duOyB9XG5cbi8qKioqKioqKioqKipcbiogYm91bmNlT3V0TGVmdCAqXG4qKioqKioqKioqKioqL1xuQC13ZWJraXQta2V5ZnJhbWVzIGJvdW5jZU91dExlZnQge1xuICAwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMCk7IH1cbiAgMjAlIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDIwcHgpOyB9XG4gIDEwMCUge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTIwMDBweCk7IH0gfVxuXG5Aa2V5ZnJhbWVzIGJvdW5jZU91dExlZnQge1xuICAwJSB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDApOyB9XG4gIDIwJSB7XG4gICAgb3BhY2l0eTogMTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMjBweCk7IH1cbiAgMTAwJSB7XG4gICAgb3BhY2l0eTogMDtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTIwMDBweCk7IH0gfVxuXG4uYm91bmNlT3V0TGVmdC5nb0F3YXkge1xuICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiBib3VuY2VPdXRMZWZ0O1xuICBhbmltYXRpb24tbmFtZTogYm91bmNlT3V0TGVmdDsgfVxuXG4vKioqKioqKioqKioqXG4qIGJvdW5jZU91dFJpZ2h0ICpcbioqKioqKioqKioqKiovXG5ALXdlYmtpdC1rZXlmcmFtZXMgYm91bmNlT3V0UmlnaHQge1xuICAwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMCk7IH1cbiAgMjAlIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0yMHB4KTsgfVxuICAxMDAlIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDIwMDBweCk7IH0gfVxuXG5Aa2V5ZnJhbWVzIGJvdW5jZU91dFJpZ2h0IHtcbiAgMCUge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgwKTsgfVxuICAyMCUge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0yMHB4KTsgfVxuICAxMDAlIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgyMDAwcHgpOyB9IH1cblxuLmJvdW5jZU91dFJpZ2h0LmdvQXdheSB7XG4gIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IGJvdW5jZU91dFJpZ2h0O1xuICBhbmltYXRpb24tbmFtZTogYm91bmNlT3V0UmlnaHQ7IH1cblxuLyoqKioqKioqKioqKlxuKiBmYWRlT3V0ICpcbioqKioqKioqKioqKiovXG5ALXdlYmtpdC1rZXlmcmFtZXMgZmFkZU91dCB7XG4gIDAlIHtcbiAgICBvcGFjaXR5OiAxOyB9XG4gIDEwMCUge1xuICAgIG9wYWNpdHk6IDA7IH0gfVxuXG5Aa2V5ZnJhbWVzIGZhZGVPdXQge1xuICAwJSB7XG4gICAgb3BhY2l0eTogMTsgfVxuICAxMDAlIHtcbiAgICBvcGFjaXR5OiAwOyB9IH1cblxuLmZhZGVPdXQuZ29Bd2F5IHtcbiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogZmFkZU91dDtcbiAgYW5pbWF0aW9uLW5hbWU6IGZhZGVPdXQ7IH1cblxuLyoqKioqKioqKioqKlxuKiBmYWRlT3V0VXAgKlxuKioqKioqKioqKioqKi9cbkAtd2Via2l0LWtleWZyYW1lcyBmYWRlT3V0VXAge1xuICAwJSB7XG4gICAgb3BhY2l0eTogMTtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKTsgfVxuICAxMDAlIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0yMDAwcHgpOyB9IH1cblxuQGtleWZyYW1lcyBmYWRlT3V0VXAge1xuICAwJSB7XG4gICAgb3BhY2l0eTogMTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCk7IH1cbiAgMTAwJSB7XG4gICAgb3BhY2l0eTogMDtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTIwMDBweCk7IH0gfVxuXG4uZmFkZU91dFVwLmdvQXdheSB7XG4gIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IGZhZGVPdXRVcDtcbiAgYW5pbWF0aW9uLW5hbWU6IGZhZGVPdXRVcDsgfVxuXG4vKioqKioqKioqKioqXG4qIGZhZGVPdXREb3duICpcbioqKioqKioqKioqKiovXG5ALXdlYmtpdC1rZXlmcmFtZXMgZmFkZU91dERvd24ge1xuICAwJSB7XG4gICAgb3BhY2l0eTogMTtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKTsgfVxuICAxMDAlIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDIwMDBweCk7IH0gfVxuXG5Aa2V5ZnJhbWVzIGZhZGVPdXREb3duIHtcbiAgMCUge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApOyB9XG4gIDEwMCUge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDIwMDBweCk7IH0gfVxuXG4uZmFkZU91dERvd24uZ29Bd2F5IHtcbiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogZmFkZU91dERvd247XG4gIGFuaW1hdGlvbi1uYW1lOiBmYWRlT3V0RG93bjsgfVxuXG4vKioqKioqKioqKioqXG4qIGZhZGVPdXRMZWZ0ICpcbioqKioqKioqKioqKiovXG5ALXdlYmtpdC1rZXlmcmFtZXMgZmFkZU91dExlZnQge1xuICAwJSB7XG4gICAgb3BhY2l0eTogMTtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWCgwKTsgfVxuICAxMDAlIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0yMDAwcHgpOyB9IH1cblxuQGtleWZyYW1lcyBmYWRlT3V0TGVmdCB7XG4gIDAlIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgwKTsgfVxuICAxMDAlIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtMjAwMHB4KTsgfSB9XG5cbi5mYWRlT3V0TGVmdC5nb0F3YXkge1xuICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiBmYWRlT3V0TGVmdDtcbiAgYW5pbWF0aW9uLW5hbWU6IGZhZGVPdXRMZWZ0OyB9XG5cbi8qKioqKioqKioqKipcbiogZmFkZU91dFJpZ2h0ICpcbioqKioqKioqKioqKiovXG5ALXdlYmtpdC1rZXlmcmFtZXMgZmFkZU91dFJpZ2h0IHtcbiAgMCUge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMCk7IH1cbiAgMTAwJSB7XG4gICAgb3BhY2l0eTogMDtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWCgyMDAwcHgpOyB9IH1cblxuQGtleWZyYW1lcyBmYWRlT3V0UmlnaHQge1xuICAwJSB7XG4gICAgb3BhY2l0eTogMTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMCk7IH1cbiAgMTAwJSB7XG4gICAgb3BhY2l0eTogMDtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMjAwMHB4KTsgfSB9XG5cbi5mYWRlT3V0UmlnaHQuZ29Bd2F5IHtcbiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogZmFkZU91dFJpZ2h0O1xuICBhbmltYXRpb24tbmFtZTogZmFkZU91dFJpZ2h0OyB9XG5cbi8qKioqKioqKioqKipcbiogZmxpcE91dFggKlxuKioqKioqKioqKioqKi9cbkAtd2Via2l0LWtleWZyYW1lcyBmbGlwT3V0WCB7XG4gIDAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpIHJvdGF0ZVgoMGRlZyk7XG4gICAgb3BhY2l0eTogMTsgfVxuICAxMDAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpIHJvdGF0ZVgoOTBkZWcpO1xuICAgIG9wYWNpdHk6IDA7IH0gfVxuXG5Aa2V5ZnJhbWVzIGZsaXBPdXRYIHtcbiAgMCUge1xuICAgIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpIHJvdGF0ZVgoMGRlZyk7XG4gICAgb3BhY2l0eTogMTsgfVxuICAxMDAlIHtcbiAgICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KSByb3RhdGVYKDkwZGVnKTtcbiAgICBvcGFjaXR5OiAwOyB9IH1cblxuLmZsaXBPdXRYLmdvQXdheSB7XG4gIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IGZsaXBPdXRYO1xuICAtd2Via2l0LWJhY2tmYWNlLXZpc2liaWxpdHk6IHZpc2libGUgIWltcG9ydGFudDtcbiAgYW5pbWF0aW9uLW5hbWU6IGZsaXBPdXRYO1xuICBiYWNrZmFjZS12aXNpYmlsaXR5OiB2aXNpYmxlICFpbXBvcnRhbnQ7IH1cblxuLyoqKioqKioqKioqKlxuKiBmbGlwT3V0WSAqXG4qKioqKioqKioqKioqL1xuQC13ZWJraXQta2V5ZnJhbWVzIGZsaXBPdXRZIHtcbiAgMCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkgcm90YXRlWSgwZGVnKTtcbiAgICBvcGFjaXR5OiAxOyB9XG4gIDEwMCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkgcm90YXRlWSg5MGRlZyk7XG4gICAgb3BhY2l0eTogMDsgfSB9XG5cbkBrZXlmcmFtZXMgZmxpcE91dFkge1xuICAwJSB7XG4gICAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkgcm90YXRlWSgwZGVnKTtcbiAgICBvcGFjaXR5OiAxOyB9XG4gIDEwMCUge1xuICAgIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpIHJvdGF0ZVkoOTBkZWcpO1xuICAgIG9wYWNpdHk6IDA7IH0gfVxuXG4uZmxpcE91dFkge1xuICAtd2Via2l0LWJhY2tmYWNlLXZpc2liaWxpdHk6IHZpc2libGUgIWltcG9ydGFudDtcbiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogZmxpcE91dFk7XG4gIGJhY2tmYWNlLXZpc2liaWxpdHk6IHZpc2libGUgIWltcG9ydGFudDtcbiAgYW5pbWF0aW9uLW5hbWU6IGZsaXBPdXRZOyB9XG5cbi8qKioqKioqKioqKipcbiogbGlnaHRTcGVlZE91dFJpZ2h0ICpcbioqKioqKioqKioqKiovXG5ALXdlYmtpdC1rZXlmcmFtZXMgbGlnaHRTcGVlZE91dFJpZ2h0IHtcbiAgMCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDAlKSBza2V3WCgwZGVnKTtcbiAgICBvcGFjaXR5OiAxOyB9XG4gIDEwMCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDEwMCUpIHNrZXdYKC0zMGRlZyk7XG4gICAgb3BhY2l0eTogMDsgfSB9XG5cbkBrZXlmcmFtZXMgbGlnaHRTcGVlZE91dFJpZ2h0IHtcbiAgMCUge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgwJSkgc2tld1goMGRlZyk7XG4gICAgb3BhY2l0eTogMTsgfVxuICAxMDAlIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMTAwJSkgc2tld1goLTMwZGVnKTtcbiAgICBvcGFjaXR5OiAwOyB9IH1cblxuLmxpZ2h0U3BlZWRPdXRSaWdodC5nb0F3YXkge1xuICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiBsaWdodFNwZWVkT3V0UmlnaHQ7XG4gIGFuaW1hdGlvbi1uYW1lOiBsaWdodFNwZWVkT3V0UmlnaHQ7XG4gIC13ZWJraXQtYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1pbjtcbiAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1pbjsgfVxuXG4vKioqKioqKioqKioqXG4qIGxpZ2h0U3BlZWRPdXRMZWZ0ICpcbioqKioqKioqKioqKiovXG5ALXdlYmtpdC1rZXlmcmFtZXMgbGlnaHRTcGVlZE91dExlZnQge1xuICAwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMCUpIHNrZXdYKDBkZWcpO1xuICAgIG9wYWNpdHk6IDE7IH1cbiAgMTAwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTEwMCUpIHNrZXdYKDMwZGVnKTtcbiAgICBvcGFjaXR5OiAwOyB9IH1cblxuQGtleWZyYW1lcyBsaWdodFNwZWVkT3V0TGVmdCB7XG4gIDAlIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMCUpIHNrZXdYKDBkZWcpO1xuICAgIG9wYWNpdHk6IDE7IH1cbiAgMTAwJSB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0xMDAlKSBza2V3WCgzMGRlZyk7XG4gICAgb3BhY2l0eTogMDsgfSB9XG5cbi5saWdodFNwZWVkT3V0TGVmdC5nb0F3YXkge1xuICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiBsaWdodFNwZWVkT3V0TGVmdDtcbiAgYW5pbWF0aW9uLW5hbWU6IGxpZ2h0U3BlZWRPdXRMZWZ0O1xuICAtd2Via2l0LWFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2UtaW47XG4gIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2UtaW47IH1cblxuLyoqKioqKioqKioqKlxuKiByb3RhdGVPdXQgKlxuKioqKioqKioqKioqKi9cbkAtd2Via2l0LWtleWZyYW1lcyByb3RhdGVPdXQge1xuICAwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm0tb3JpZ2luOiBjZW50ZXIgY2VudGVyO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUoMCk7XG4gICAgb3BhY2l0eTogMTsgfVxuICAxMDAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybS1vcmlnaW46IGNlbnRlciBjZW50ZXI7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZSgyMDBkZWcpO1xuICAgIG9wYWNpdHk6IDA7IH0gfVxuXG5Aa2V5ZnJhbWVzIHJvdGF0ZU91dCB7XG4gIDAlIHtcbiAgICB0cmFuc2Zvcm0tb3JpZ2luOiBjZW50ZXIgY2VudGVyO1xuICAgIHRyYW5zZm9ybTogcm90YXRlKDApO1xuICAgIG9wYWNpdHk6IDE7IH1cbiAgMTAwJSB7XG4gICAgdHJhbnNmb3JtLW9yaWdpbjogY2VudGVyIGNlbnRlcjtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZSgyMDBkZWcpO1xuICAgIG9wYWNpdHk6IDA7IH0gfVxuXG4ucm90YXRlT3V0LmdvQXdheSB7XG4gIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IHJvdGF0ZU91dDtcbiAgYW5pbWF0aW9uLW5hbWU6IHJvdGF0ZU91dDsgfVxuXG4vKioqKioqKioqKioqXG4qIHJvdGF0ZU91dFVwTGVmdCAqXG4qKioqKioqKioqKioqL1xuQC13ZWJraXQta2V5ZnJhbWVzIHJvdGF0ZU91dFVwTGVmdCB7XG4gIDAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybS1vcmlnaW46IGxlZnQgYm90dG9tO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUoMCk7XG4gICAgb3BhY2l0eTogMTsgfVxuICAxMDAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybS1vcmlnaW46IGxlZnQgYm90dG9tO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUoLTkwZGVnKTtcbiAgICBvcGFjaXR5OiAwOyB9IH1cblxuQGtleWZyYW1lcyByb3RhdGVPdXRVcExlZnQge1xuICAwJSB7XG4gICAgdHJhbnNmb3JtLW9yaWdpbjogbGVmdCBib3R0b207XG4gICAgdHJhbnNmb3JtOiByb3RhdGUoMCk7XG4gICAgb3BhY2l0eTogMTsgfVxuICAxMDAlIHtcbiAgICAtdHJhbnNmb3JtLW9yaWdpbjogbGVmdCBib3R0b207XG4gICAgLXRyYW5zZm9ybTogcm90YXRlKC05MGRlZyk7XG4gICAgb3BhY2l0eTogMDsgfSB9XG5cbi5yb3RhdGVPdXRVcExlZnQuZ29Bd2F5IHtcbiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogcm90YXRlT3V0VXBMZWZ0O1xuICBhbmltYXRpb24tbmFtZTogcm90YXRlT3V0VXBMZWZ0OyB9XG5cbi8qKioqKioqKioqKipcbiogcm90YXRlT3V0RG93bkxlZnQgKlxuKioqKioqKioqKioqKi9cbkAtd2Via2l0LWtleWZyYW1lcyByb3RhdGVPdXREb3duTGVmdCB7XG4gIDAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybS1vcmlnaW46IGxlZnQgYm90dG9tO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUoMCk7XG4gICAgb3BhY2l0eTogMTsgfVxuICAxMDAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybS1vcmlnaW46IGxlZnQgYm90dG9tO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUoOTBkZWcpO1xuICAgIG9wYWNpdHk6IDA7IH0gfVxuXG5Aa2V5ZnJhbWVzIHJvdGF0ZU91dERvd25MZWZ0IHtcbiAgMCUge1xuICAgIHRyYW5zZm9ybS1vcmlnaW46IGxlZnQgYm90dG9tO1xuICAgIHRyYW5zZm9ybTogcm90YXRlKDApO1xuICAgIG9wYWNpdHk6IDE7IH1cbiAgMTAwJSB7XG4gICAgdHJhbnNmb3JtLW9yaWdpbjogbGVmdCBib3R0b207XG4gICAgdHJhbnNmb3JtOiByb3RhdGUoOTBkZWcpO1xuICAgIG9wYWNpdHk6IDA7IH0gfVxuXG4ucm90YXRlT3V0RG93bkxlZnQuZ29Bd2F5IHtcbiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogcm90YXRlT3V0RG93bkxlZnQ7XG4gIGFuaW1hdGlvbi1uYW1lOiByb3RhdGVPdXREb3duTGVmdDsgfVxuXG4vKioqKioqKioqKioqXG4qIHJvdGF0ZU91dFVwUmlnaHQgKlxuKioqKioqKioqKioqKi9cbkAtd2Via2l0LWtleWZyYW1lcyByb3RhdGVPdXRVcFJpZ2h0IHtcbiAgMCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtLW9yaWdpbjogcmlnaHQgYm90dG9tO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUoMCk7XG4gICAgb3BhY2l0eTogMTsgfVxuICAxMDAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybS1vcmlnaW46IHJpZ2h0IGJvdHRvbTtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlKDkwZGVnKTtcbiAgICBvcGFjaXR5OiAwOyB9IH1cblxuQGtleWZyYW1lcyByb3RhdGVPdXRVcFJpZ2h0IHtcbiAgMCUge1xuICAgIHRyYW5zZm9ybS1vcmlnaW46IHJpZ2h0IGJvdHRvbTtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZSgwKTtcbiAgICBvcGFjaXR5OiAxOyB9XG4gIDEwMCUge1xuICAgIHRyYW5zZm9ybS1vcmlnaW46IHJpZ2h0IGJvdHRvbTtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZSg5MGRlZyk7XG4gICAgb3BhY2l0eTogMDsgfSB9XG5cbi5yb3RhdGVPdXRVcFJpZ2h0LmdvQXdheSB7XG4gIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IHJvdGF0ZU91dFVwUmlnaHQ7XG4gIGFuaW1hdGlvbi1uYW1lOiByb3RhdGVPdXRVcFJpZ2h0OyB9XG5cbi8qKioqKioqKioqKipcbiogcm9sbE91dCAqXG4qKioqKioqKioqKioqL1xuQC13ZWJraXQta2V5ZnJhbWVzIHJvbGxPdXQge1xuICAwJSB7XG4gICAgb3BhY2l0eTogMTtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWCgwcHgpIHJvdGF0ZSgwZGVnKTsgfVxuICAxMDAlIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDEwMCUpIHJvdGF0ZSgxMjBkZWcpOyB9IH1cblxuQGtleWZyYW1lcyByb2xsT3V0IHtcbiAgMCUge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDBweCkgcm90YXRlKDBkZWcpOyB9XG4gIDEwMCUge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDEwMCUpIHJvdGF0ZSgxMjBkZWcpOyB9IH1cblxuLnJvbGxPdXQuZ29Bd2F5IHtcbiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogcm9sbE91dDtcbiAgYW5pbWF0aW9uLW5hbWU6IHJvbGxPdXQ7IH1cblxuLyoqKioqKioqKioqKioqKioqXG4qIFNob3J0IEFuaW1hdGlvbnNcbioqKioqKioqKioqKioqKioqKiovXG4vKioqKioqKioqKioqKioqKioqKioqXG4qIGZhZGVJblVwU2hvcnRcbioqKioqKioqKioqKioqKioqKioqKi9cbkAtd2Via2l0LWtleWZyYW1lcyBmYWRlSW5VcFNob3J0IHtcbiAgMCUge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMjBweCk7IH1cbiAgMTAwJSB7XG4gICAgb3BhY2l0eTogMTtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKTsgfSB9XG5cbkBrZXlmcmFtZXMgZmFkZUluVXBTaG9ydCB7XG4gIDAlIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgyMHB4KTsgfVxuICAxMDAlIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKTsgfSB9XG5cbi5mYWRlSW5VcFNob3J0IHtcbiAgb3BhY2l0eTogMDtcbiAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMjBweCk7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgyMHB4KTsgfVxuXG4uZmFkZUluVXBTaG9ydC5nbyB7XG4gIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IGZhZGVJblVwU2hvcnQ7XG4gIGFuaW1hdGlvbi1uYW1lOiBmYWRlSW5VcFNob3J0OyB9XG5cbi8qKioqKioqKioqKioqKioqKioqKipcbiogZmFkZUluRG93blNob3J0XG4qKioqKioqKioqKioqKioqKioqKiovXG5ALXdlYmtpdC1rZXlmcmFtZXMgZmFkZUluRG93blNob3J0IHtcbiAgMCUge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTIwcHgpOyB9XG4gIDEwMCUge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCk7IH0gfVxuXG5Aa2V5ZnJhbWVzIGZhZGVJbkRvd25TaG9ydCB7XG4gIDAlIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMjBweCk7IH1cbiAgMTAwJSB7XG4gICAgb3BhY2l0eTogMTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCk7IH0gfVxuXG4uZmFkZUluRG93blNob3J0IHtcbiAgb3BhY2l0eTogMDtcbiAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTIwcHgpO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTIwcHgpOyB9XG5cbi5mYWRlSW5Eb3duU2hvcnQuZ28ge1xuICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiBmYWRlSW5Eb3duU2hvcnQ7XG4gIGFuaW1hdGlvbi1uYW1lOiBmYWRlSW5Eb3duU2hvcnQ7IH1cblxuLyoqKioqKioqKioqKioqKioqKioqKlxuKiBmYWRlSW5SaWdodFNob3J0IFxuKioqKioqKioqKioqKioqKioqKioqL1xuQC13ZWJraXQta2V5ZnJhbWVzIGZhZGVJblJpZ2h0U2hvcnQge1xuICAwJSB7XG4gICAgb3BhY2l0eTogMDtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWCgyMHB4KTsgfVxuICAxMDAlIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDApOyB9IH1cblxuQGtleWZyYW1lcyBmYWRlSW5SaWdodFNob3J0IHtcbiAgMCUge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDIwcHgpOyB9XG4gIDEwMCUge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDApOyB9IH1cblxuLmZhZGVJblJpZ2h0U2hvcnQge1xuICBvcGFjaXR5OiAwO1xuICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWCgyMHB4KTtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDIwcHgpOyB9XG5cbi5mYWRlSW5SaWdodFNob3J0LmdvIHtcbiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogZmFkZUluUmlnaHRTaG9ydDtcbiAgYW5pbWF0aW9uLW5hbWU6IGZhZGVJblJpZ2h0U2hvcnQ7IH1cblxuLyoqKioqKioqKioqKioqKioqKioqKlxuKiBmYWRlSW5MZWZ0U2hvcnQgXG4qKioqKioqKioqKioqKioqKioqKiovXG5ALXdlYmtpdC1rZXlmcmFtZXMgZmFkZUluTGVmdFNob3J0IHtcbiAgMCUge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTIwcHgpOyB9XG4gIDEwMCUge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMCk7IH0gfVxuXG5Aa2V5ZnJhbWVzIGZhZGVJbkxlZnRTaG9ydCB7XG4gIDAlIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtMjBweCk7IH1cbiAgMTAwJSB7XG4gICAgb3BhY2l0eTogMTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMCk7IH0gfVxuXG4uZmFkZUluTGVmdFNob3J0IHtcbiAgb3BhY2l0eTogMDtcbiAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTIwcHgpO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTIwcHgpOyB9XG5cbi5mYWRlSW5MZWZ0U2hvcnQuZ28ge1xuICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiBmYWRlSW5MZWZ0U2hvcnQ7XG4gIGFuaW1hdGlvbi1uYW1lOiBmYWRlSW5MZWZ0U2hvcnQ7IH1cblxuLyoqKioqKioqKipcbiogWm9vbSBpbiAqXG4qKioqKioqKioqKi9cbkAtd2Via2l0LWtleWZyYW1lcyB6b29tSW4ge1xuICAwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlKDUpO1xuICAgIHRyYW5zZm9ybTogc2NhbGUoNSk7XG4gICAgb3BhY2l0eTogMDsgfVxuICA4MCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZSgwLjgpO1xuICAgIHRyYW5zZm9ybTogc2NhbGUoMC44KTtcbiAgICBvcGFjaXR5OiAuODsgfVxuICA4MCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZSgwLjgpO1xuICAgIHRyYW5zZm9ybTogc2NhbGUoMC44KTsgfVxuICA5MCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZSgxLjEpO1xuICAgIHRyYW5zZm9ybTogc2NhbGUoMS4xKTsgfVxuICAxMDAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUoMSk7XG4gICAgdHJhbnNmb3JtOiBzY2FsZSgxKTtcbiAgICBvcGFjaXR5OiAxOyB9IH1cblxuQGtleWZyYW1lcyB6b29tSW4ge1xuICAwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlKDUpO1xuICAgIHRyYW5zZm9ybTogc2NhbGUoNSk7XG4gICAgb3BhY2l0eTogMDsgfVxuICA4MCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZSgwLjgpO1xuICAgIHRyYW5zZm9ybTogc2NhbGUoMC44KTtcbiAgICBvcGFjaXR5OiAuODsgfVxuICA4MCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZSgwLjgpO1xuICAgIHRyYW5zZm9ybTogc2NhbGUoMC44KTsgfVxuICA5MCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZSgxLjEpO1xuICAgIHRyYW5zZm9ybTogc2NhbGUoMS4xKTsgfVxuICAxMDAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUoMSk7XG4gICAgdHJhbnNmb3JtOiBzY2FsZSgxKTtcbiAgICBvcGFjaXR5OiAxOyB9IH1cblxuLnpvb21JbiB7XG4gIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZSg1KTtcbiAgLW1zLXRyYW5zZm9ybTogc2NhbGUoNSk7XG4gIHRyYW5zZm9ybTogc2NhbGUoNSk7XG4gIG9wYWNpdHk6IDA7IH1cblxuLnpvb21Jbi5nbyB7XG4gIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IHpvb21JbjtcbiAgYW5pbWF0aW9uLW5hbWU6IHpvb21JbjtcbiAgYW5pbWF0aW9uLWR1cmF0aW9uOiAuNXM7IH1cblxuLyoqKioqKioqXG4qIFNoYWtlVXAyICpcblNoYWtlIGFuZCBwYXVzZSBcbioqKioqKioqL1xuQGtleWZyYW1lcyBzaGFrZVVwMiB7XG4gIDAlLFxuICA1MCUsXG4gIDEwMCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKTsgfVxuICA3MCUsXG4gIDkwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTEwcHgpO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMTBweCk7IH1cbiAgNjAlLFxuICA4MCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDEwcHgpO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgxMHB4KTsgfSB9XG5cbi5zaGFrZXVwMiB7XG4gIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IHNoYWtlVXAyO1xuICBhbmltYXRpb24tbmFtZTogc2hha2VVcDI7IH1cblxuLnNoYWtlMiB7XG4gIC8qIFN0YXJ0IHRoZSBzaGFrZSBhbmltYXRpb24gYW5kIG1ha2UgdGhlIGFuaW1hdGlvbiBsYXN0IGZvciAwLjUgc2Vjb25kcyAqL1xuICBhbmltYXRpb246IHNoYWtlIDFzO1xuICAvKiBXaGVuIHRoZSBhbmltYXRpb24gaXMgZmluaXNoZWQsIHN0YXJ0IGFnYWluICovXG4gIGFuaW1hdGlvbi1pdGVyYXRpb24tY291bnQ6IGluZmluaXRlOyB9XG5cbkBrZXlmcmFtZXMgc2hha2Uge1xuICAwJSB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoMXB4LCAxcHgpIHJvdGF0ZSgwZGVnKTsgfVxuICAxMCUge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKC0xcHgsIC0ycHgpIHJvdGF0ZSgtMWRlZyk7IH1cbiAgMjAlIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtM3B4LCAwcHgpIHJvdGF0ZSgxZGVnKTsgfVxuICAzMCUge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKDNweCwgMnB4KSByb3RhdGUoMGRlZyk7IH1cbiAgNDAlIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgxcHgsIC0xcHgpIHJvdGF0ZSgxZGVnKTsgfVxuICA1MCUge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKC0xcHgsIDJweCkgcm90YXRlKC0xZGVnKTsgfVxuICA2MCUge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKC0zcHgsIDFweCkgcm90YXRlKDBkZWcpOyB9XG4gIDcwJSB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoM3B4LCAxcHgpIHJvdGF0ZSgtMWRlZyk7IH1cbiAgODAlIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtMXB4LCAtMXB4KSByb3RhdGUoMWRlZyk7IH1cbiAgOTAlIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgxcHgsIDJweCkgcm90YXRlKDBkZWcpOyB9XG4gIDEwMCUge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKDFweCwgLTJweCkgcm90YXRlKC0xZGVnKTsgfSB9XG5cbkAtd2Via2l0LWtleWZyYW1lcyBmbGFzaGxpZ2h0IHtcbiAgMCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUoMCwgMCkgc2NhbGUoMSk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoMCwgMCkgc2NhbGUoMSk7IH1cbiAgMTAwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZSgtMjBweCwgLTQwcHgpIHNjYWxlKDEuMSk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTIwcHgsIC00MHB4KSBzY2FsZSgxLjEpOyB9IH1cblxuQGtleWZyYW1lcyBmbGFzaGxpZ2h0IHtcbiAgMCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUoMCwgMCkgc2NhbGUoMSk7XG4gICAgLW1zLXRyYW5zZm9ybTogdHJhbnNsYXRlKDAsIDApIHNjYWxlKDEpO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKDAsIDApIHNjYWxlKDEpOyB9XG4gIDEwMCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTIwcHgsIC00MHB4KSBzY2FsZSgxLjEpO1xuICAgIC1tcy10cmFuc2Zvcm06IHRyYW5zbGF0ZSgtMjBweCwgLTQwcHgpIHNjYWxlKDEuMSk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTIwcHgsIC00MHB4KSBzY2FsZSgxLjEpOyB9IH1cblxuLnJvdGF0aW5nIHtcbiAgYW5pbWF0aW9uOiByb3RhdGluZyAzMHMgbGluZWFyIGluZmluaXRlOyB9XG5cbkBrZXlmcmFtZXMgcm90YXRpb24ge1xuICBmcm9tIHtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZSgwZGVnKTsgfVxuICB0byB7XG4gICAgdHJhbnNmb3JtOiByb3RhdGUoMzU5ZGVnKTsgfSB9XG5cbi8qLS0tIEFib3V0IFRleHQgLS0tKi9cbi8qIHRleHQgdHJ1bmNhdGUgbXVsdGlsaW5lICovXG4vKi0tLSBBYm91dCBJbWFnZXMgLS0tKi9cbi8qLS0tIEFib3V0IFBvc2l0aW9uIC0tLSovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKi0tLSBBYm91dCBCdXR0b24gLS0tKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qLS0tIEFib3V0IFRleHQgLS0tKi9cbi8qLS0tIFNtb290aCBTY3JvbGwgLS0tKi9cbjo6c2VsZWN0aW9uIHtcbiAgY29sb3I6ICM2ZDM0MTc7XG4gIGJhY2tncm91bmQ6ICNjNWE3N2U7IH1cblxuLyotLS0gQW5pbWF0ZSBhIC0tLSovXG5hIHtcbiAgdHJhbnNpdGlvbjogYWxsIC4yczsgfVxuICBhIGltZyB7XG4gICAgdHJhbnNpdGlvbjogYWxsIDAuMnMgZWFzZS1pbi1vdXQ7IH1cblxuLyotLS0gQ3VzdG9taXplIFNjcm9sbGJhciAtLS0qL1xuKiB7XG4gIC8qIFdvcmsgb24gRmlyZWZveCAqL1xuICBzY3JvbGxiYXItd2lkdGg6IDVweDtcbiAgc2Nyb2xsYmFyLWNvbG9yOiAjNmQzNDE3ICNjNWE3N2U7IH1cblxuKjo6LXdlYmtpdC1zY3JvbGxiYXIge1xuICAvKiBXb3JrcyBvbiBDaHJvbWUsIEVkZ2UsIGFuZCBTYWZhcmkgKi9cbiAgd2lkdGg6IDVweDsgfVxuXG4qOjotd2Via2l0LXNjcm9sbGJhci10cmFjayB7XG4gIGJhY2tncm91bmQ6ICNjNWE3N2U7XG4gIGJvcmRlci1yYWRpdXM6IDVweDsgfVxuXG4qOjotd2Via2l0LXNjcm9sbGJhci10aHVtYiB7XG4gIGJhY2tncm91bmQtY29sb3I6ICM2ZDM0MTc7XG4gIGJvcmRlci1yYWRpdXM6IDVweDtcbiAgYm9yZGVyOiAxcHggc29saWQgIzZkMzQxNzsgfVxuXG4vKi0tLSBDb21tb24gQ2xhc3NOYW1lIC0tLSovXG4ubG9vcC1pbmZpbml0ZSB7XG4gIGFuaW1hdGlvbi1pdGVyYXRpb24tY291bnQ6IGluZmluaXRlOyB9XG5cbi5sb29wLTUge1xuICBhbmltYXRpb24taXRlcmF0aW9uLWNvdW50OiA1OyB9XG5cbi8qLS0tIEFib3V0IEJ1dHRvbiAtLS0qL1xuLmJ0bi1pbWFnZSB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICBsaW5lLWhlaWdodDogMDsgfVxuICAuYnRuLWltYWdlIGltZzpsYXN0LWNoaWxkIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAwO1xuICAgIGxlZnQ6IDA7XG4gICAgcmlnaHQ6IDA7XG4gICAgYm90dG9tOiAwO1xuICAgIHZpc2liaWxpdHk6IGhpZGRlbjtcbiAgICBvcGFjaXR5OiAwOyB9XG4gIC5idG4taW1hZ2U6aG92ZXIgaW1nOmxhc3QtY2hpbGQge1xuICAgIHZpc2liaWxpdHk6IHZpc2libGU7XG4gICAgb3BhY2l0eTogMTsgfVxuXG4uYnRuLWhvdmVyLXpvb20sIC5uZXdzLW1vcmU6aG92ZXIge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHRyYW5zaXRpb246IGFsbCAwLjJzIGVhc2UtaW4tb3V0OyB9XG4gIC5idG4taG92ZXItem9vbTpob3ZlciwgLm5ld3MtbW9yZTpob3ZlciB7XG4gICAgdHJhbnNmb3JtOiBzY2FsZSgxLjEpOyB9XG5cbi5idG4taG92ZXItdHJhbnNsYXRlWCB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIDAuMXMgZWFzZS1pbi1vdXQ7IH1cbiAgLmJ0bi1ob3Zlci10cmFuc2xhdGVYOmhvdmVyIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTEwcHgpOyB9XG5cbi5idG4taG92ZXItdHJhbnNsYXRlWSB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIDAuMXMgZWFzZS1pbi1vdXQ7IH1cbiAgLmJ0bi1ob3Zlci10cmFuc2xhdGVZOmhvdmVyIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTVweCk7IH1cblxuLmJ0bi1ob3Zlci11bmRlcmxpbmUge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lOyB9XG4gIC5idG4taG92ZXItdW5kZXJsaW5lOmJlZm9yZSB7XG4gICAgd2lkdGg6IDA7XG4gICAgY29udGVudDogJyc7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIGJvdHRvbTogMDtcbiAgICBsZWZ0OiA1MCU7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC01MCUpO1xuICAgIGhlaWdodDogMXB4O1xuICAgIGJhY2tncm91bmQ6ICMwMDA7XG4gICAgdHJhbnNpdGlvbjogYWxsIDAuMnMgZWFzZS1pbi1vdXQ7IH1cbiAgLmJ0bi1ob3Zlci11bmRlcmxpbmU6aG92ZXI6YmVmb3JlIHtcbiAgICB3aWR0aDogMTAwJTsgfVxuXG4uYnRuLWhvdmVyLWJvcmRlci13cmFwcGluZyB7XG4gIHBhZGRpbmc6IDIwcHg7XG4gIGZvbnQtc2l6ZTogMThweDtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBib3JkZXI6IG5vbmU7IH1cbiAgLmJ0bi1ob3Zlci1ib3JkZXItd3JhcHBpbmc6YmVmb3JlIHtcbiAgICBjb250ZW50OiBcIlwiO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB6LWluZGV4OiAtMTtcbiAgICBsZWZ0OiAwO1xuICAgIHJpZ2h0OiAwO1xuICAgIHRvcDogMDtcbiAgICBib3R0b206IDA7XG4gICAgYm9yZGVyOiAjZmZmMDAwIGRhc2hlZDtcbiAgICBib3JkZXItd2lkdGg6IDA7XG4gICAgdHJhbnNpdGlvbjogYm9yZGVyLXdpZHRoIDAuMXMgZWFzZS1vdXQ7IH1cbiAgLmJ0bi1ob3Zlci1ib3JkZXItd3JhcHBpbmc6aG92ZXI6YmVmb3JlIHtcbiAgICB6LWluZGV4OiAxO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKTtcbiAgICBib3JkZXItd2lkdGg6IDVweDsgfVxuXG4uYnRuLWhvdmVyLXNoaW5lLCAuaGVhZGVyIC5idXR0b25zLWJsb2NrIGEsIC5ob3Ryby1ibG9jayBhIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIG92ZXJmbG93OiBoaWRkZW47IH1cbiAgLmJ0bi1ob3Zlci1zaGluZTphZnRlciwgLmhlYWRlciAuYnV0dG9ucy1ibG9jayBhOmFmdGVyLCAuaG90cm8tYmxvY2sgYTphZnRlciB7XG4gICAgY29udGVudDogJyc7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICAgIHRvcDogLTExMCU7XG4gICAgbGVmdDogLTIxMCU7XG4gICAgd2lkdGg6IDIwMCU7XG4gICAgaGVpZ2h0OiAyMDAlO1xuICAgIG9wYWNpdHk6IDA7XG4gICAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KHRvIHJpZ2h0LCByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMTMpIDAlLCByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMTMpIDc3JSwgcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjUpIDkyJSwgcmdiYSgyNTUsIDI1NSwgMjU1LCAwKSAxMDAlKTtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZSgzMGRlZyk7IH1cbiAgLmJ0bi1ob3Zlci1zaGluZTpob3ZlcjphZnRlciwgLmhlYWRlciAuYnV0dG9ucy1ibG9jayBhOmhvdmVyOmFmdGVyLCAuaG90cm8tYmxvY2sgYTpob3ZlcjphZnRlciB7XG4gICAgLXdlYmtpdC1hbmltYXRpb246IHNoaW5lIC43NXM7XG4gICAgYW5pbWF0aW9uOiBzaGluZSAuNzVzO1xuICAgIG9wYWNpdHk6IDE7XG4gICAgdG9wOiAtMzAlO1xuICAgIGxlZnQ6IC0zMCU7XG4gICAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogbGVmdCwgdG9wLCBvcGFjaXR5O1xuICAgIHRyYW5zaXRpb24tZHVyYXRpb246IDFzLCAxcywgLjE1cztcbiAgICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZTsgfVxuXG4vKi0tLSBBYm91dCBUZXh0IC0tLSovXG4udGV4dC10cnVuY2F0ZSB7XG4gIGRpc3BsYXk6IC13ZWJraXQtYm94O1xuICAtd2Via2l0LWJveC1vcmllbnQ6IHZlcnRpY2FsO1xuICAtd2Via2l0LWxpbmUtY2xhbXA6IDI7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIHBhZGRpbmctYm90dG9tOiAwICFpbXBvcnRhbnQ7IH1cblxuLnRleHQtc3Ryb2tlIHtcbiAgZm9udC1zaXplOiAxMDBweDtcbiAgY29sb3I6ICNmZmY7XG4gIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gIGJhY2tncm91bmQ6IC13ZWJraXQtbGluZWFyLWdyYWRpZW50KDkwZGVnLCAjMDAwIDIwJSwgI2YwMCA1MCUpO1xuICAvKiBDaHJvbWUxMCssU2FmYXJpNS4xKyAqL1xuICAtd2Via2l0LXRleHQtc3Ryb2tlOiA1cHggcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjAxKTtcbiAgLXdlYmtpdC1iYWNrZ3JvdW5kLWNsaXA6IHRleHQ7IH1cblxuLnRleHQtZ3JhZGllbnQge1xuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICBmb250LXdlaWdodDogbm9ybWFsO1xuICBmb250LXNpemU6IDEwMHB4O1xuICBiYWNrZ3JvdW5kOiAjMDAwO1xuICBiYWNrZ3JvdW5kOiAtd2Via2l0LWxpbmVhci1ncmFkaWVudChsZWdhY3ktZGlyZWN0aW9uKDE4MGRlZyksICMwMDAsICNmMDAsICNmZmYwMDApO1xuICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoMTgwZGVnLCAjMDAwLCAjZjAwLCAjZmZmMDAwKTtcbiAgLXdlYmtpdC1iYWNrZ3JvdW5kLWNsaXA6IHRleHQ7XG4gIC13ZWJraXQtdGV4dC1maWxsLWNvbG9yOiB0cmFuc3BhcmVudDsgfVxuXG4vKi0tLSBBYm91dCBJbWFnZSAtLS0qL1xuLmltYWdlLWZpdCB7XG4gIHdpZHRoOiAyNTBweDtcbiAgZGlzcGxheTogYmxvY2s7XG4gIGhlaWdodDogMzUwcHg7XG4gIG9iamVjdC1maXQ6IGNvdmVyO1xuICBvYmplY3QtcG9zaXRpb246IGNlbnRlcjtcbiAgdHJhbnNpdGlvbjogYWxsIDAuMnMgZWFzZS1pbi1vdXQ7IH1cblxuLyotLS0gQWJvdXQgRWZmZWN0IC0tLSovXG4uZWZmZWN0LWdyYWRpZW50LWxpbmVhciB7XG4gIGJhY2tncm91bmQ6ICM3N0Q3RTc7XG4gIGJhY2tncm91bmQ6IC13ZWJraXQtbGluZWFyLWdyYWRpZW50KGxlZ2FjeS1kaXJlY3Rpb24odG8gYm90dG9tKSwgIzc3RDdFNyA1MCUsICNmZjAwMDAgNTAlLCAjZmZmMDAwIDEwMCUpO1xuICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQodG8gYm90dG9tLCAjNzdEN0U3IDUwJSwgI2ZmMDAwMCA1MCUsICNmZmYwMDAgMTAwJSk7IH1cblxuLyotLS0gQWJvdXQgT3RoZXIgLS0tKi9cbi5ob3Zlci1zdG9wLWFuaW1hdGVkOmhvdmVyIHtcbiAgLXdlYmtpdC1hbmltYXRpb24tcGxheS1zdGF0ZTogcGF1c2VkO1xuICAtbW96LWFuaW1hdGlvbi1wbGF5LXN0YXRlOiBwYXVzZWQ7XG4gIC1vLWFuaW1hdGlvbi1wbGF5LXN0YXRlOiBwYXVzZWQ7XG4gIGFuaW1hdGlvbi1wbGF5LXN0YXRlOiBwYXVzZWQ7XG4gIC13ZWJraXQtYW5pbWF0aW9uOiBzdGVwLWVuZDtcbiAgLW1vei1hbmltYXRpb25hbmltYXRpb246IHN0ZXAtZW5kO1xuICBhbmltYXRpb246IHN0ZXAtZW5kOyB9XG5cbkBmb250LWZhY2Uge1xuICBmb250LWZhbWlseTogXCJTRlwiO1xuICBzcmM6IHVybCguLi9mb250cy9TRi1Qcm8tRGlzcGxheS1SZWd1bGFyLmVvdCk7XG4gIHNyYzogdXJsKC4uL2ZvbnRzL1NGLVByby1EaXNwbGF5LVJlZ3VsYXIuZW90I2llZml4KSBmb3JtYXQoXCJlb3RcIiksIHVybCguLi9mb250cy9TRi1Qcm8tRGlzcGxheS1SZWd1bGFyLndvZmYyKSBmb3JtYXQoXCJ3b2ZmMlwiKSwgdXJsKC4uL2ZvbnRzL1NGLVByby1EaXNwbGF5LVJlZ3VsYXIud29mZikgZm9ybWF0KFwid29mZlwiKSwgdXJsKC4uL2ZvbnRzL1NGLVByby1EaXNwbGF5LVJlZ3VsYXIudHRmKSBmb3JtYXQoXCJ0cnVldHlwZVwiKSwgdXJsKC4uL2ZvbnRzL1NGLVByby1EaXNwbGF5LVJlZ3VsYXIuc3ZnKSBmb3JtYXQoXCJzdmdcIik7IH1cblxuQGZvbnQtZmFjZSB7XG4gIGZvbnQtZmFtaWx5OiBcInV2bmh1b25ncXVlXCI7XG4gIHNyYzogdXJsKC4uL2ZvbnRzL3VuaWNvZGUuZGlzcGxheS51dm5odW9uZ3F1ZV9yLmVvdCk7XG4gIHNyYzogdXJsKC4uL2ZvbnRzL3VuaWNvZGUuZGlzcGxheS51dm5odW9uZ3F1ZV9yLmVvdCNpZWZpeCkgZm9ybWF0KFwiZW90XCIpLCB1cmwoLi4vZm9udHMvdW5pY29kZS5kaXNwbGF5LnV2bmh1b25ncXVlX3Iud29mZjIpIGZvcm1hdChcIndvZmYyXCIpLCB1cmwoLi4vZm9udHMvdW5pY29kZS5kaXNwbGF5LnV2bmh1b25ncXVlX3Iud29mZikgZm9ybWF0KFwid29mZlwiKSwgdXJsKC4uL2ZvbnRzL3VuaWNvZGUuZGlzcGxheS51dm5odW9uZ3F1ZV9yLnR0ZikgZm9ybWF0KFwidHJ1ZXR5cGVcIiksIHVybCguLi9mb250cy91bmljb2RlLmRpc3BsYXkudXZuaHVvbmdxdWVfci5zdmcpIGZvcm1hdChcInN2Z1wiKTsgfVxuXG5AZm9udC1mYWNlIHtcbiAgZm9udC1mYW1pbHk6IFwicm9ib3Rvc2xhYlwiO1xuICBzcmM6IHVybCguLi9mb250cy9yb2JvdG9zbGFiLXJlZ3VsYXIuZW90KTtcbiAgc3JjOiB1cmwoLi4vZm9udHMvcm9ib3Rvc2xhYi1yZWd1bGFyLmVvdCNpZWZpeCkgZm9ybWF0KFwiZW90XCIpLCB1cmwoLi4vZm9udHMvcm9ib3Rvc2xhYi1yZWd1bGFyLndvZmYyKSBmb3JtYXQoXCJ3b2ZmMlwiKSwgdXJsKC4uL2ZvbnRzL3JvYm90b3NsYWItcmVndWxhci53b2ZmKSBmb3JtYXQoXCJ3b2ZmXCIpLCB1cmwoLi4vZm9udHMvcm9ib3Rvc2xhYi1yZWd1bGFyLnR0ZikgZm9ybWF0KFwidHJ1ZXR5cGVcIiksIHVybCguLi9mb250cy9yb2JvdG9zbGFiLXJlZ3VsYXIuc3ZnKSBmb3JtYXQoXCJzdmdcIik7IH1cblxuQGZvbnQtZmFjZSB7XG4gIGZvbnQtZmFtaWx5OiBcInJvb3RlcnNcIjtcbiAgc3JjOiB1cmwoLi4vZm9udHMvcm9vdGVycy5lb3QpO1xuICBzcmM6IHVybCguLi9mb250cy9yb290ZXJzLmVvdCNpZWZpeCkgZm9ybWF0KFwiZW90XCIpLCB1cmwoLi4vZm9udHMvcm9vdGVycy53b2ZmMikgZm9ybWF0KFwid29mZjJcIiksIHVybCguLi9mb250cy9yb290ZXJzLndvZmYpIGZvcm1hdChcIndvZmZcIiksIHVybCguLi9mb250cy9yb290ZXJzLnR0ZikgZm9ybWF0KFwidHJ1ZXR5cGVcIiksIHVybCguLi9mb250cy9yb290ZXJzLnN2ZykgZm9ybWF0KFwic3ZnXCIpOyB9XG5cbkBmb250LWZhY2Uge1xuICBmb250LWZhbWlseTogXCJodW9uZ3F1ZW5hbmdcIjtcbiAgc3JjOiB1cmwoLi4vZm9udHMvdW5pY29kZS5kaXNwbGF5LnV2bmh1b25ncXVlX24uZW90KTtcbiAgc3JjOiB1cmwoLi4vZm9udHMvdW5pY29kZS5kaXNwbGF5LnV2bmh1b25ncXVlX24uZW90I2llZml4KSBmb3JtYXQoXCJlb3RcIiksIHVybCguLi9mb250cy91bmljb2RlLmRpc3BsYXkudXZuaHVvbmdxdWVfbi53b2ZmMikgZm9ybWF0KFwid29mZjJcIiksIHVybCguLi9mb250cy91bmljb2RlLmRpc3BsYXkudXZuaHVvbmdxdWVfbi53b2ZmKSBmb3JtYXQoXCJ3b2ZmXCIpLCB1cmwoLi4vZm9udHMvdW5pY29kZS5kaXNwbGF5LnV2bmh1b25ncXVlX24udHRmKSBmb3JtYXQoXCJ0cnVldHlwZVwiKSwgdXJsKC4uL2ZvbnRzL3VuaWNvZGUuZGlzcGxheS51dm5odW9uZ3F1ZV9uLnN2ZykgZm9ybWF0KFwic3ZnXCIpOyB9XG5cbi5oZWFkZXIge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHRvcDogMDtcbiAgbGVmdDogMDtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogMTA0MHB4O1xuICB6LWluZGV4OiAxMDtcbiAgZm9udC1mYW1pbHk6IEsyRDtcbiAgbWFyZ2luLWJvdHRvbTogMHB4O1xuICBwYWRkaW5nOiAwIDA7IH1cbiAgLmhlYWRlciAuYWdlMTgge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDEwMHB4O1xuICAgIHJpZ2h0OiAwO1xuICAgIGJvdHRvbTogMDtcbiAgICBsZWZ0OiAxMHB4OyB9XG4gICAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA3NjhweCkge1xuICAgICAgLmhlYWRlciAuYWdlMTgge1xuICAgICAgICBkaXNwbGF5OiBub25lOyB9IH1cbiAgLmhlYWRlciAubmF2LXdyYXBwZXIge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBwb3NpdGlvbjogZml4ZWQ7XG4gICAgaGVpZ2h0OiA2MHB4O1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIHotaW5kZXg6IDEwO1xuICAgIG1hcmdpbjogMCAwO1xuICAgIGJhY2tncm91bmQ6ICMxMDE0MTM7IH1cbiAgLmhlYWRlciAuY29udGFpbmVyIHtcbiAgICB3aWR0aDogMTAwJSAhaW1wb3J0YW50O1xuICAgIG1hcmdpbjogMCBhdXRvOyB9XG4gIC5oZWFkZXIgLm5hdmJhciB7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgcGFkZGluZzogMCAwO1xuICAgIG1hcmdpbjogNTBweCAwIDAgMDtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjsgfVxuICAuaGVhZGVyIC5uYXZiYXItbmF2IHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIHBhZGRpbmc6IDAgMHB4IDAgMHB4O1xuICAgIG1hcmdpbjogLTVweCAwIDAgMDsgfVxuICAgIC5oZWFkZXIgLm5hdmJhci1uYXYgbGkge1xuICAgICAgbWFyZ2luOiAwIDEwcHg7IH1cbiAgICAgIC5oZWFkZXIgLm5hdmJhci1uYXYgbGkgYSB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICBmb250LWZhbWlseTogJ3JvYm90b3NsYWInO1xuICAgICAgICBjb2xvcjogI2ZlYWY0MTtcbiAgICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICBmb250LXdlaWdodDogNjAwO1xuICAgICAgICBmb250LXNpemU6IDE4cHg7XG4gICAgICAgIHBhZGRpbmc6IDAuOTM3NXJlbSBjYWxjKDEuMzQzNzVyZW0gKyAxLjEyNXZ3KTsgfVxuICAgICAgICBAbWVkaWEgKG1pbi13aWR0aDogMTIwMHB4KSB7XG4gICAgICAgICAgLmhlYWRlciAubmF2YmFyLW5hdiBsaSBhIHtcbiAgICAgICAgICAgIHBhZGRpbmc6IDAuOTM3NXJlbSAyLjE4NzVyZW07IH0gfVxuICAgICAgICAuaGVhZGVyIC5uYXZiYXItbmF2IGxpIGEuYWN0aXZlLCAuaGVhZGVyIC5uYXZiYXItbmF2IGxpIGE6aG92ZXIge1xuICAgICAgICAgIGNvbG9yOiAjZmRlYTkxOyB9XG4gIC5oZWFkZXIgLmF2YXRhciB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgZmxvYXQ6IGxlZnQ7XG4gICAgbWFyZ2luOiAwcHggMTBweCAwIDEwcHg7IH1cbiAgICAuaGVhZGVyIC5hdmF0YXIgaW1nIHtcbiAgICAgIGJvcmRlci1yYWRpdXM6IDEzcHg7IH1cbiAgLmhlYWRlciAubG9nbyB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMzQwcHg7XG4gICAgbGVmdDogNTElO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNjAlKTtcbiAgICB6LWluZGV4OiAxOyB9XG4gIC5oZWFkZXIgLnRleHQge1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiA0OTBweDtcbiAgICBsZWZ0OiA4cHg7IH1cbiAgLmhlYWRlciAucGxheS12aWRlbyB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDIwJTtcbiAgICBsZWZ0OiA1MCU7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0yMzUlKTtcbiAgICB0cmFuc2l0aW9uOiBhbGwgMC4xcyBsaW5lYXI7IH1cbiAgICAuaGVhZGVyIC5wbGF5LXZpZGVvOmhvdmVyIHtcbiAgICAgIG9wYWNpdHk6IDAuOTsgfVxuICAuaGVhZGVyIC5idXR0b25zLWJsb2NrIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIHdpZHRoOiA2MzBweDtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgei1pbmRleDogMjtcbiAgICBsZWZ0OiA1MCU7XG4gICAgdG9wOiA3NzBweDtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTUwJSk7XG4gICAgYmFja2dyb3VuZDogdXJsKC4uL2ltYWdlcy9idXR0b25zLWJsb2NrLWJnLnBuZykgbm8tcmVwZWF0O1xuICAgIHBhZGRpbmc6IDMwcHggMCAzMHB4IDM1cHg7IH1cbiAgICAuaGVhZGVyIC5idXR0b25zLWJsb2NrIC5ibG9jay0xIHtcbiAgICAgIHdpZHRoOiAzODBweDtcbiAgICAgIGZsb2F0OiBsZWZ0O1xuICAgICAgbWFyZ2luOiAwIDEwcHggMCAwOyB9XG4gICAgICAuaGVhZGVyIC5idXR0b25zLWJsb2NrIC5ibG9jay0xIGEge1xuICAgICAgICBkaXNwbGF5OiBibG9jazsgfVxuICAgICAgICAuaGVhZGVyIC5idXR0b25zLWJsb2NrIC5ibG9jay0xIGE6bnRoLWNoaWxkKDIpIHtcbiAgICAgICAgICBtYXJnaW4tYm90dG9tOiA3cHg7IH1cbiAgICAgIC5oZWFkZXIgLmJ1dHRvbnMtYmxvY2sgLmJsb2NrLTEgLmNob2luZ2F5IHtcbiAgICAgICAgZmxvYXQ6IGxlZnQ7XG4gICAgICAgIG1hcmdpbi1yaWdodDogMTBweDsgfVxuICAgIC5oZWFkZXIgLmJ1dHRvbnMtYmxvY2sgLmJsb2NrLTIge1xuICAgICAgZmxvYXQ6IGxlZnQ7IH1cbiAgICAuaGVhZGVyIC5idXR0b25zLWJsb2NrIGEge1xuICAgICAgZGlzcGxheTogYmxvY2s7IH1cbiAgICAgIC5oZWFkZXIgLmJ1dHRvbnMtYmxvY2sgYTpob3ZlciB7XG4gICAgICAgIGZpbHRlcjogYnJpZ2h0bmVzcygxMjAlKTsgfVxuICAuaGVhZGVyIC5zZWFyY2gge1xuICAgIHdpZHRoOiAxNjBweDtcbiAgICBoZWlnaHQ6IDMwcHg7XG4gICAgZmxvYXQ6IHJpZ2h0O1xuICAgIGJvcmRlcjogc29saWQgMXB4ICM1ODY1NzM7XG4gICAgYm9yZGVyLXJhZGl1czogMTBweDtcbiAgICBiYWNrZ3JvdW5kOiAjMTExMTExO1xuICAgIG1hcmdpbjogMTBweCAwIDAgMDsgfVxuICAgIC5oZWFkZXIgLnNlYXJjaCAua2V5d29yZCB7XG4gICAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgICAgIGxpbmUtaGVpZ2h0OiAyNHB4O1xuICAgICAgaGVpZ2h0OiAyNHB4O1xuICAgICAgcGFkZGluZzogMCA1cHg7XG4gICAgICBjb2xvcjogIzU4NjU3MztcbiAgICAgIGJvcmRlcjogbm9uZTtcbiAgICAgIHdpZHRoOiBjYWxjKDEwMCUgLSAzMHB4KTtcbiAgICAgIGZvbnQtc2l6ZTogMTRweDsgfVxuICAgICAgLmhlYWRlciAuc2VhcmNoIC5rZXl3b3JkOjpwbGFjZWhvbGRlciB7XG4gICAgICAgIGNvbG9yOiAjNTg2NTczOyB9XG4gICAgLmhlYWRlciAuc2VhcmNoIC5zdWJtaXQtYnRuIHtcbiAgICAgIGJvcmRlcjogbm9uZTtcbiAgICAgIGNvbG9yOiAjNTg2NTczO1xuICAgICAgYmFja2dyb3VuZDogbm9uZTtcbiAgICAgIG1hcmdpbi10b3A6IDVweDtcbiAgICAgIGN1cnNvcjogcG9pbnRlcjsgfVxuXG46cm9vdCB7XG4gIC8qIE5vdCBteSBmYXZvcml0ZSB0aGF0IGxpbmUtaGVpZ2h0IGhhcyB0byBiZSB1bml0ZWQsIGJ1dCBuZWVkZWQgKi9cbiAgLS1saDogMS40cmVtOyB9XG5cbmh0bWwge1xuICBmb250LXNpemU6IDE2cHg7XG4gIGxpbmUtaGVpZ2h0OiB2YXIoLS1saCk7IH1cblxuYm9keSB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmOGYyZjAgIWltcG9ydGFudDtcbiAgY29sb3I6ICMwMTAxMDEgIWltcG9ydGFudDtcbiAgZm9udC13ZWlnaHQ6IDQwMCAhaW1wb3J0YW50O1xuICBsaW5lLWhlaWdodDogMS41ICFpbXBvcnRhbnQ7XG4gIGZvbnQtZmFtaWx5OiBTRiAhaW1wb3J0YW50O1xuICBmb250LXNpemU6IDFyZW07IH1cblxuYSB7XG4gIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIGNvbG9yOiAjMDQ0NTliO1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gIHRyYW5zaXRpb246IGFsbCAwLjJzIGVhc2U7IH1cbiAgYTpob3ZlciwgYTpmb2N1cyB7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lICFpbXBvcnRhbnQ7XG4gICAgb3V0bGluZTogbm9uZTtcbiAgICBjb2xvcjogIzA1NWJjZDsgfVxuXG4uc2hvdy1tb2JpbGUge1xuICBkaXNwbGF5OiBub25lOyB9XG4gIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogNzY4cHgpIHtcbiAgICAuc2hvdy1tb2JpbGUge1xuICAgICAgZGlzcGxheTogYmxvY2s7IH0gfVxuXG4uc2hvdy1kZXNrdG9wIHtcbiAgZGlzcGxheTogYmxvY2s7IH1cbiAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA3NjhweCkge1xuICAgIC5zaG93LWRlc2t0b3Age1xuICAgICAgZGlzcGxheTogbm9uZTsgfSB9XG5cbi5sb29wLWluZmluaXRlIHtcbiAgYW5pbWF0aW9uLWl0ZXJhdGlvbi1jb3VudDogaW5maW5pdGU7IH1cblxuLmxvb3AtNSB7XG4gIGFuaW1hdGlvbi1pdGVyYXRpb24tY291bnQ6IDU7IH1cblxuLnRleHQtY2VudGVyIHtcbiAgdGV4dC1hbGlnbjogY2VudGVyOyB9XG5cbi8qLS0tLSBDb250ZW50IENTUyBWYXJpYmxlcyAtLS0tKi9cbi8qLS0tIEltYWdlIC0tLS0tKi9cbi8qLS0tIE5vdGljZSBCb3ggLS0tKi9cbi8qLS0tLSBFbmQgQ29udGVudCBDU1MgVmFyaWJsZXMgLS0tLSovXG4vKiBHZW5lcmFsICovXG4uU3RhdGljTWFpbiB7XG4gIGNsZWFyOiBib3RoO1xuICB0ZXh0LWFsaWduOiBqdXN0aWZ5O1xuICBjb2xvcjogIzI5MjgyNjtcbiAgLyogVGV4dCBzdHlsZXMgKi9cbiAgLyogRU5ELiBUZXh0IHN0eWxlcyAqL1xuICAvKiBJbWFnZSBzdHlsZXMgKi9cbiAgLyogTm90aWNlIGJveCAqL1xuICAvKiBMaXN0IHN0eWxlcyAqLyB9XG4gIC5TdGF0aWNNYWluIGgzIHtcbiAgICBmb250LWZhbWlseTogU0YtQm9sZDtcbiAgICBjb2xvcjogIzI5MjgyNjtcbiAgICBmb250LXNpemU6IDNlbTtcbiAgICBmb250LXdlaWdodDogYm9sZDtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgbWFyZ2luOiAwcHggMCAzMHB4IDA7IH1cbiAgLlN0YXRpY01haW4gYSB7XG4gICAgY29sb3I6ICM5YjJhMmU7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7IH1cbiAgICAuU3RhdGljTWFpbiBhOmhvdmVyIHtcbiAgICAgIGNvbG9yOiAjYTE4YzVjO1xuICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lOyB9XG4gIC5TdGF0aWNNYWluIHAge1xuICAgIG1hcmdpbjogMCAwIDEwcHg7IH1cbiAgLlN0YXRpY01haW4gdWwge1xuICAgIGxpc3Qtc3R5bGU6IGRpc2M7XG4gICAgcGFkZGluZzogMCAwIDAgMDsgfVxuICAgIC5TdGF0aWNNYWluIHVsIGxpIHtcbiAgICAgIGxpc3Qtc3R5bGU6IGRpc2M7XG4gICAgICBwYWRkaW5nOiAwIDAgMCAwcHg7XG4gICAgICBtYXJnaW46IDAgMCA1cHggMjBweDsgfVxuICAgICAgLlN0YXRpY01haW4gdWwgbGkgdWwge1xuICAgICAgICBsaXN0LXN0eWxlOiBjaXJjbGU7XG4gICAgICAgIHBhZGRpbmc6IDAgMCAxMHB4IDA7IH1cbiAgLlN0YXRpY01haW4gb2wge1xuICAgIG1hcmdpbjogMCAwIDIwcHg7XG4gICAgcGFkZGluZzogMCAwIDAgMjBweDsgfVxuICAgIC5TdGF0aWNNYWluIG9sIGxpIHtcbiAgICAgIG1hcmdpbjogMCAwIDEwcHg7XG4gICAgICBsaXN0LXN0eWxlOiBkZWNpbWFsICFpbXBvcnRhbnQ7IH1cbiAgLlN0YXRpY01haW4gLkFuY2hvckxpbmsge1xuICAgIG1hcmdpbjogMHB4IDMwcHggMjBweDtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIGxpc3Qtc3R5bGU6IG5vbmUgb3V0c2lkZSBub25lOyB9XG4gICAgLlN0YXRpY01haW4gLkFuY2hvckxpbmsgbGkge1xuICAgICAgZmxvYXQ6IGxlZnQ7XG4gICAgICB3aWR0aDogNDklO1xuICAgICAgcGFkZGluZzogMCAwIDVweCA1cHg7XG4gICAgICBtYXJnaW46IDAgMSUgMCAwO1xuICAgICAgbGlzdC1zdHlsZTogbm9uZTsgfVxuICAgICAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA3NjhweCkge1xuICAgICAgICAuU3RhdGljTWFpbiAuQW5jaG9yTGluayBsaSB7XG4gICAgICAgICAgd2lkdGg6IDMxJTtcbiAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDIlOyB9IH1cbiAgICAgIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogNDgwcHgpIHtcbiAgICAgICAgLlN0YXRpY01haW4gLkFuY2hvckxpbmsgbGkge1xuICAgICAgICAgIHdpZHRoOiA0OCU7XG4gICAgICAgICAgbWFyZ2luLXJpZ2h0OiAyJTsgfSB9XG4gICAgICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDMyMHB4KSB7XG4gICAgICAgIC5TdGF0aWNNYWluIC5BbmNob3JMaW5rIGxpIHtcbiAgICAgICAgICB3aWR0aDogOTglO1xuICAgICAgICAgIG1hcmdpbi1yaWdodDogMiU7IH0gfVxuICAgICAgLlN0YXRpY01haW4gLkFuY2hvckxpbmsgbGkgYSB7XG4gICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICAgICAgcGFkZGluZy1sZWZ0OiAxNXB4O1xuICAgICAgICBmb250LXdlaWdodDogYm9sZDtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICBjb2xvcjogIzliMmEyZTsgfVxuICAgICAgICAuU3RhdGljTWFpbiAuQW5jaG9yTGluayBsaSBhOmJlZm9yZSB7XG4gICAgICAgICAgY29udGVudDogJyc7XG4gICAgICAgICAgd2lkdGg6IDVweDtcbiAgICAgICAgICBoZWlnaHQ6IDVweDtcbiAgICAgICAgICBib3JkZXI6IHNvbGlkIDFweCAjOWIyYTJlO1xuICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICB0b3A6IDdweDtcbiAgICAgICAgICBsZWZ0OiAwO1xuICAgICAgICAgIHRyYW5zZm9ybTogcm90YXRlKDQ1ZGVnKTsgfVxuICAgICAgLlN0YXRpY01haW4gLkFuY2hvckxpbmsgbGkgYS5BY3RpdmUsXG4gICAgICAuU3RhdGljTWFpbiAuQW5jaG9yTGluayBsaSBhLkFjdGl2ZTpob3ZlcixcbiAgICAgIC5TdGF0aWNNYWluIC5BbmNob3JMaW5rIGxpIGE6aG92ZXIge1xuICAgICAgICBjb2xvcjogI2ExOGM1YzsgfVxuICAgICAgICAuU3RhdGljTWFpbiAuQW5jaG9yTGluayBsaSBhLkFjdGl2ZTpiZWZvcmUsXG4gICAgICAgIC5TdGF0aWNNYWluIC5BbmNob3JMaW5rIGxpIGEuQWN0aXZlOmhvdmVyOmJlZm9yZSxcbiAgICAgICAgLlN0YXRpY01haW4gLkFuY2hvckxpbmsgbGkgYTpob3ZlcjpiZWZvcmUge1xuICAgICAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICB0b3A6IDdweDtcbiAgICAgICAgICBsZWZ0OiAwO1xuICAgICAgICAgIGJhY2tncm91bmQ6ICNhMThjNWM7XG4gICAgICAgICAgYm9yZGVyOiBzb2xpZCAxcHggI2ExOGM1YztcbiAgICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSg0NWRlZyk7XG4gICAgICAgICAgY29sb3I6ICMwNTViY2Q7IH1cbiAgLlN0YXRpY01haW4gLkZpcnN0Q2hhciB7XG4gICAgcGFkZGluZzogNHB4IDRweCAwIDA7XG4gICAgbGluZS1oZWlnaHQ6IDMwcHg7XG4gICAgZm9udC1zaXplOiA0MnB4O1xuICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xuICAgIGZsb2F0OiBsZWZ0O1xuICAgIGNvbG9yOiAjMjkyODI2OyB9XG4gIC5TdGF0aWNNYWluIC5Db250ZW50QmxvY2sge1xuICAgIHBhZGRpbmctYm90dG9tOiAyMHB4O1xuICAgIGNsZWFyOiBib3RoOyB9XG4gIC5TdGF0aWNNYWluIC5JbWFnZXNCbG9jayB7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIG1hcmdpbi1ib3R0b206IDIwcHg7IH1cbiAgLlN0YXRpY01haW4gLkltZ0NlbnRlciB7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyICFpbXBvcnRhbnQ7XG4gICAgbWFyZ2luLWJvdHRvbTogMjBweCAhaW1wb3J0YW50O1xuICAgIGZvbnQtc2l6ZTogOTAlO1xuICAgIGZvbnQtc3R5bGU6IGl0YWxpYzsgfVxuICAuU3RhdGljTWFpbiBoNCB7XG4gICAgY29sb3I6ICM5MTI5Mjk7XG4gICAgcGFkZGluZzogMTBweCAwIDEwcHggNTBweDtcbiAgICBmb250LXNpemU6IDIwcHg7XG4gICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gICAgbWFyZ2luOiAwIDAgNXB4IDBweDtcbiAgICBiYWNrZ3JvdW5kOiB1cmwoXCIuLi9pbWFnZXMvY29udGVudC9pY29uLWg0LnBuZ1wiKSBuby1yZXBlYXQ7IH1cbiAgLlN0YXRpY01haW4gLkNvbnRlbnRINCB7XG4gICAgY2xlYXI6IGJvdGg7XG4gICAgbWFyZ2luOiAwIDAgMTBweCA1MHB4O1xuICAgIHBhZGRpbmc6IDAgMCAwIDBweDsgfVxuICAgIC5TdGF0aWNNYWluIC5Db250ZW50SDQgcCB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAxMHB4O1xuICAgICAgLyp0ZXh0LWFsaWduOiBqdXN0aWZ5OyovIH1cbiAgLlN0YXRpY01haW4gLkltYWdlc0g0IHtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgbWFyZ2luOiAwIDAgMjBweCA1MHB4OyB9XG4gIC5TdGF0aWNNYWluIGg1IHtcbiAgICBjb2xvcjogIzkxMjkyOTtcbiAgICBwYWRkaW5nOiAxMHB4IDAgMTBweCA0MHB4O1xuICAgIG1hcmdpbjogMCAwIDEwcHggNTBweDtcbiAgICBmb250LXNpemU6IDE4cHg7XG4gICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gICAgYmFja2dyb3VuZDogdXJsKFwiLi4vaW1hZ2VzL2NvbnRlbnQvaWNvbi1oNS5wbmdcIikgbm8tcmVwZWF0IDAgMHB4OyB9XG4gIC5TdGF0aWNNYWluIC5Db250ZW50SDUge1xuICAgIGNsZWFyOiBib3RoO1xuICAgIG1hcmdpbjogMCAwIDAgOTBweDtcbiAgICBwYWRkaW5nOiAwIDAgMjBweDsgfVxuICAgIC5TdGF0aWNNYWluIC5Db250ZW50SDUgcCB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAxMHB4O1xuICAgICAgdGV4dC1hbGlnbjoganVzdGlmeTsgfVxuICAuU3RhdGljTWFpbiAuSW1hZ2VzSDUge1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICBtYXJnaW46IDAgMCAyMHB4IDQwcHg7IH1cbiAgLlN0YXRpY01haW4gdGFibGUge1xuICAgIGJvcmRlci10b3A6IHNvbGlkIDFweCAjMWYwMDJiO1xuICAgIG1hcmdpbjogMCBhdXRvIDIwcHg7XG4gICAgYm9yZGVyLWNvbGxhcHNlOiBjb2xsYXBzZTsgfVxuICAgIC5TdGF0aWNNYWluIHRhYmxlIHRoZWFkIHRyIHRoIHtcbiAgICAgIGNvbG9yOiAjZWVmOWY5O1xuICAgICAgYmFja2dyb3VuZDogIzMzMzMzMztcbiAgICAgIGZvbnQtd2VpZ2h0OiBib2xkZXI7XG4gICAgICBwYWRkaW5nOiAxMHB4IDEwcHg7XG4gICAgICBib3JkZXItcmlnaHQ6IDFweCBzb2xpZCAjMWYwMDJiO1xuICAgICAgYm9yZGVyLWxlZnQ6IDFweCBzb2xpZCAjMWYwMDJiO1xuICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICMxZjAwMmI7XG4gICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7IH1cbiAgICAuU3RhdGljTWFpbiB0YWJsZSB0Ym9keSB0cjpudGgtY2hpbGQob2RkKSB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjYjdkOGUzOyB9XG4gICAgLlN0YXRpY01haW4gdGFibGUgdGJvZHkgdHI6bnRoLWNoaWxkKGV2ZW4pIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICNlM2YxZjY7IH1cbiAgICAuU3RhdGljTWFpbiB0YWJsZSB0Ym9keSB0ciB0ZCB7XG4gICAgICBwYWRkaW5nOiAxMHB4IDEwcHg7XG4gICAgICBib3JkZXI6IDFweCBzb2xpZCAjMWYwMDJiO1xuICAgICAgYm9yZGVyLXRvcDogbm9uZTtcbiAgICAgIGNvbG9yOiAjMWEyMjJhOyB9XG4gICAgICAuU3RhdGljTWFpbiB0YWJsZSB0Ym9keSB0ciB0ZCBhIHtcbiAgICAgICAgY29sb3I6ICMxYTIyMmE7IH1cbiAgICAgICAgLlN0YXRpY01haW4gdGFibGUgdGJvZHkgdHIgdGQgYTpob3ZlciB7XG4gICAgICAgICAgY29sb3I6ICMwNTViY2Q7IH1cbiAgLlN0YXRpY01haW4gdGFibGUuTm90aWNlIHtcbiAgICBib3JkZXI6IDFweCBzb2xpZCAjMWYwMDJiOyB9XG4gICAgLlN0YXRpY01haW4gdGFibGUuTm90aWNlIHRyIHRkIHtcbiAgICAgIHBhZGRpbmc6IDEwcHggMjBweDtcbiAgICAgIGJvcmRlcjogMXB4IHNvbGlkICMxZjAwMmI7IH1cbiAgICAgIC5TdGF0aWNNYWluIHRhYmxlLk5vdGljZSB0ciB0ZCBwIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMTBweDsgfVxuICAgICAgLlN0YXRpY01haW4gdGFibGUuTm90aWNlIHRyIHRkIHVsLFxuICAgICAgLlN0YXRpY01haW4gdGFibGUuTm90aWNlIHRyIHRkIG9sIHtcbiAgICAgICAgcGFkZGluZy1ib3R0b206IDBweDtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMHB4OyB9XG4gIC5TdGF0aWNNYWluIC5UZXh0Q2VudGVyIHtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7IH1cbiAgLlN0YXRpY01haW4gLlRleHRSaWdodCB7XG4gICAgdGV4dC1hbGlnbjogcmlnaHQ7IH1cbiAgLlN0YXRpY01haW4gLlN0cm9uZzAxIHtcbiAgICBmb250LXdlaWdodDogYm9sZGVyO1xuICAgIGNvbG9yOiAjOWIyYTJlOyB9XG4gIC5TdGF0aWNNYWluIC5TdHJvbmcwMiB7XG4gICAgZm9udC13ZWlnaHQ6IGJvbGRlcjtcbiAgICBjb2xvcjogI2ExOGM1YzsgfVxuICAuU3RhdGljTWFpbiAuU3Ryb25nMDMge1xuICAgIGZvbnQtd2VpZ2h0OiBib2xkZXI7XG4gICAgY29sb3I6ICMwMDZjYzg7IH1cbiAgLlN0YXRpY01haW4gLlRleHRGb250MTcge1xuICAgIGZvbnQtc2l6ZTogMTdweDsgfVxuICAuU3RhdGljTWFpbiAuVGV4dEZvbnQxOSB7XG4gICAgZm9udC1zaXplOiAxOXB4OyB9XG4gIC5TdGF0aWNNYWluIC5UZXh0Rm9udDIxIHtcbiAgICBmb250LXNpemU6IDIxcHg7IH1cbiAgLlN0YXRpY01haW4gLk5vQm9yZGVySW1nIHtcbiAgICBib3JkZXI6IG5vbmU7XG4gICAgYmFja2dyb3VuZDogbm9uZTtcbiAgICBwYWRkaW5nOiAwOyB9XG4gIC5TdGF0aWNNYWluIC5Cb3JkZXJJbWcge1xuICAgIGJhY2tncm91bmQ6ICMwMDA7XG4gICAgYm9yZGVyOiAxcHggc29saWQgIzAwMDtcbiAgICBwYWRkaW5nOiAwcHg7IH1cbiAgLlN0YXRpY01haW4gLkltZ0xlZnQge1xuICAgIGZsb2F0OiBsZWZ0O1xuICAgIG1hcmdpbjogMXB4IDEwcHggNXB4IDA7XG4gICAgYm9yZGVyOiAxcHggc29saWQgIzAwMDsgfVxuICAuU3RhdGljTWFpbiAuSW1nUmlnaHQge1xuICAgIGZsb2F0OiByaWdodDtcbiAgICBtYXJnaW46IDAgMCA1cHggMTBweDtcbiAgICBib3JkZXI6IDFweCBzb2xpZCAjMDAwOyB9XG4gIC5TdGF0aWNNYWluIGJsb2NrcXVvdGUge1xuICAgIGJvcmRlci1sZWZ0OiAycHggc29saWQgIzFmMDAyYjtcbiAgICBmb250LXNpemU6IDE0cHg7XG4gICAgbWFyZ2luOiAwIDIwcHg7XG4gICAgcGFkZGluZzogMTBweCA0MHB4O1xuICAgIG1hcmdpbjogMDtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgZm9udC1zdHlsZTogaXRhbGljOyB9XG4gICAgLlN0YXRpY01haW4gYmxvY2txdW90ZTpiZWZvcmUsIC5TdGF0aWNNYWluIGJsb2NrcXVvdGU6YWZ0ZXIge1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICB3aWR0aDogMjBweDtcbiAgICAgIGhlaWdodDogMjBweDtcbiAgICAgIGNvbnRlbnQ6ICcnOyB9XG4gICAgLlN0YXRpY01haW4gYmxvY2txdW90ZTpiZWZvcmUge1xuICAgICAgdG9wOiAwO1xuICAgICAgbGVmdDogMTBweDtcbiAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IDAgMDsgfVxuICAgIC5TdGF0aWNNYWluIGJsb2NrcXVvdGU6YWZ0ZXIge1xuICAgICAgcmlnaHQ6IDA7XG4gICAgICBib3R0b206IDA7XG4gICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMjBweCAwOyB9XG4gIC5TdGF0aWNNYWluIC5Ob3RpY2VCb3gge1xuICAgIGJvcmRlcjogc29saWQgMXB4ICM4ZDhkOGQ7XG4gICAgcGFkZGluZzogMTBweDtcbiAgICBiYWNrZ3JvdW5kOiAjZTNlN2VmOyB9XG4gICAgLlN0YXRpY01haW4gLk5vdGljZUJveCBwLkxlZ2VuZCB7XG4gICAgICBmb250LXNpemU6IDEzcHg7XG4gICAgICBmb250LXdlaWdodDogYm9sZGVyO1xuICAgICAgcGFkZGluZzogMCAxNXB4O1xuICAgICAgY29sb3I6ICNmZmY7XG4gICAgICBiYWNrZ3JvdW5kOiAjOTEyOTI5O1xuICAgICAgaGVpZ2h0OiAyMHB4O1xuICAgICAgbWFyZ2luOiAtMjBweCAwIDEwcHg7XG4gICAgICBmbG9hdDogbGVmdDtcbiAgICAgIGJvcmRlcjogc29saWQgMXB4ICM5MTI5Mjk7IH1cbiAgICAuU3RhdGljTWFpbiAuTm90aWNlQm94IC5Ob3RlQ29udGVudCB7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgICB0ZXh0LWFsaWduOiBqdXN0aWZ5O1xuICAgICAgY29sb3I6ICMxZTJjMTk7IH1cbiAgICAgIC5TdGF0aWNNYWluIC5Ob3RpY2VCb3ggLk5vdGVDb250ZW50IGEge1xuICAgICAgICBjb2xvcjogIzFjNzZmZDsgfVxuICAgICAgICAuU3RhdGljTWFpbiAuTm90aWNlQm94IC5Ob3RlQ29udGVudCBhOmhvdmVyIHtcbiAgICAgICAgICBjb2xvcjogI2ZkNGIzNjsgfVxuICAuU3RhdGljTWFpbiB1bC5EZWNpbWFsIHtcbiAgICBtYXJnaW46IDBweCAwcHggMTBweCAwcHg7IH1cbiAgICAuU3RhdGljTWFpbiB1bC5EZWNpbWFsIGxpIHtcbiAgICAgIGxpc3Qtc3R5bGUtdHlwZTogZGVjaW1hbDtcbiAgICAgIG1hcmdpbi1ib3R0b206IDEwcHg7XG4gICAgICB0ZXh0LWFsaWduOiBqdXN0aWZ5OyB9XG4gICAgICAuU3RhdGljTWFpbiB1bC5EZWNpbWFsIGxpIHVsIHtcbiAgICAgICAgcGFkZGluZy10b3A6IDVweDsgfVxuICAuU3RhdGljTWFpbiB1bC5VcHBlckFscGhhIHtcbiAgICBtYXJnaW46IDBweCAwcHggMTBweCAwcHg7IH1cbiAgICAuU3RhdGljTWFpbiB1bC5VcHBlckFscGhhIGxpIHtcbiAgICAgIGxpc3Qtc3R5bGUtdHlwZTogdXBwZXItYWxwaGE7XG4gICAgICBtYXJnaW4tYm90dG9tOiAxMHB4O1xuICAgICAgdGV4dC1hbGlnbjoganVzdGlmeTsgfVxuICAgICAgLlN0YXRpY01haW4gdWwuVXBwZXJBbHBoYSBsaSB1bCB7XG4gICAgICAgIHBhZGRpbmctdG9wOiA1cHg7IH1cbiAgLlN0YXRpY01haW4gdWwuTG93ZXJBbHBoYSB7XG4gICAgbWFyZ2luOiAwcHggMHB4IDEwcHggMHB4OyB9XG4gICAgLlN0YXRpY01haW4gdWwuTG93ZXJBbHBoYSBsaSB7XG4gICAgICBsaXN0LXN0eWxlLXR5cGU6IGxvd2VyLWFscGhhO1xuICAgICAgbWFyZ2luLWJvdHRvbTogMTBweDtcbiAgICAgIHRleHQtYWxpZ246IGp1c3RpZnk7IH1cbiAgICAgIC5TdGF0aWNNYWluIHVsLkxvd2VyQWxwaGEgbGkgdWwge1xuICAgICAgICBwYWRkaW5nLXRvcDogNXB4OyB9XG4gIC5TdGF0aWNNYWluIHVsLkljb24ge1xuICAgIG1hcmdpbjogMHB4IDBweCAxMHB4IDVweDsgfVxuICAgIC5TdGF0aWNNYWluIHVsLkljb24gbGkge1xuICAgICAgbWFyZ2luLWJvdHRvbTogMTBweDtcbiAgICAgIHBhZGRpbmctbGVmdDogMTVweDtcbiAgICAgIGxpc3Qtc3R5bGUtdHlwZTogbm9uZTtcbiAgICAgIHRleHQtYWxpZ246IGp1c3RpZnk7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cbiAgICAgIC5TdGF0aWNNYWluIHVsLkljb24gbGk6YmVmb3JlIHtcbiAgICAgICAgZm9udC1zaXplOiA4cHg7XG4gICAgICAgIGNvbnRlbnQ6IFwiXFxlMDc0XCI7XG4gICAgICAgIGZvbnQtZmFtaWx5OiAnR2x5cGhpY29uc0hhbGZsaW5ncyc7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgdG9wOiA0cHg7XG4gICAgICAgIGxlZnQ6IDA7XG4gICAgICAgIHRyYW5zZm9ybTogcm90YXRlKDQ1ZGVnKTsgfVxuICAgICAgLlN0YXRpY01haW4gdWwuSWNvbiBsaSB1bCB7XG4gICAgICAgIHBhZGRpbmctdG9wOiA1cHg7IH1cbiAgICAgIC5TdGF0aWNNYWluIHVsLkljb24gbGkgdWwuTG93ZXJBbHBoYSBsaSB7XG4gICAgICAgIGxpc3Qtc3R5bGUtdHlwZTogbG93ZXItYWxwaGE7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDEwcHg7XG4gICAgICAgIGJhY2tncm91bmQ6IG5vbmU7XG4gICAgICAgIHBhZGRpbmctbGVmdDogMHB4OyB9XG4gIC5TdGF0aWNNYWluIHVsLkRhc2gge1xuICAgIG1hcmdpbjogMHB4IDBweCAxMHB4IDVweDsgfVxuICAgIC5TdGF0aWNNYWluIHVsLkRhc2ggbGkge1xuICAgICAgbWFyZ2luLWJvdHRvbTogMTBweDtcbiAgICAgIHBhZGRpbmctbGVmdDogMTVweDtcbiAgICAgIGxpc3Qtc3R5bGUtdHlwZTogbm9uZTtcbiAgICAgIHRleHQtYWxpZ246IGp1c3RpZnk7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cbiAgICAgIC5TdGF0aWNNYWluIHVsLkRhc2ggbGk6YmVmb3JlIHtcbiAgICAgICAgZm9udC1zaXplOiA4cHg7XG4gICAgICAgIGNvbnRlbnQ6IFwiXFwyMjEyXCI7XG4gICAgICAgIGZvbnQtZmFtaWx5OiAnR2x5cGhpY29uc0hhbGZsaW5ncyc7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgdG9wOiA1cHg7XG4gICAgICAgIGxlZnQ6IDA7IH1cbiAgICAgIC5TdGF0aWNNYWluIHVsLkRhc2ggbGkgdWwge1xuICAgICAgICBwYWRkaW5nLXRvcDogNXB4OyB9XG4gIC5TdGF0aWNNYWluIHVsLkRpc2Mge1xuICAgIG1hcmdpbjogMHB4IDBweCAxMHB4IDVweDsgfVxuICAgIC5TdGF0aWNNYWluIHVsLkRpc2MgbGkge1xuICAgICAgbGlzdC1zdHlsZS10eXBlOiBub25lO1xuICAgICAgbWFyZ2luOiAwIDAgMTBweCAwO1xuICAgICAgcGFkZGluZzogMCAwIDAgMTVweDtcbiAgICAgIHRleHQtYWxpZ246IGp1c3RpZnk7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cbiAgICAgIC5TdGF0aWNNYWluIHVsLkRpc2MgbGk6YmVmb3JlIHtcbiAgICAgICAgZm9udC1zaXplOiA4cHg7XG4gICAgICAgIGNvbnRlbnQ6IFwiXFxlMTY1XCI7XG4gICAgICAgIGZvbnQtZmFtaWx5OiAnR2x5cGhpY29uc0hhbGZsaW5ncyc7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgdG9wOiA1cHg7XG4gICAgICAgIGxlZnQ6IDA7IH1cbiAgICAgIC5TdGF0aWNNYWluIHVsLkRpc2MgbGkgdWwge1xuICAgICAgICBwYWRkaW5nLXRvcDogNXB4OyB9XG5cbmJvZHkge1xuICBiYWNrZ3JvdW5kOiAjZjdmY2ZlO1xuICBvdmVyZmxvdy14OiBoaWRkZW47XG4gIHNjcm9sbC1iZWhhdmlvcjogc21vb3RoOyB9XG4gIGJvZHkgLndyYXBwZXIge1xuICAgIGJhY2tncm91bmQ6IHVybCguLi9pbWFnZXMvYmcuanBnKSBuby1yZXBlYXQgdG9wIGNlbnRlciAjZjZmYmYwO1xuICAgIG92ZXJmbG93LXg6IGhpZGRlbjsgfVxuICBib2R5IC53cmFwcGVyLnN1YiB7XG4gICAgb3ZlcmZsb3cteDogaGlkZGVuO1xuICAgIGJhY2tncm91bmQ6IHVybCguLi9pbWFnZXMvYmctdG9wLmpwZykgbm8tcmVwZWF0IGNlbnRlciB0b3AsIHVybCguLi9pbWFnZXMvYmctYm90dG9tLmpwZykgbm8tcmVwZWF0IGNlbnRlciBib3R0b20gI2Y2ZmJmMDsgfVxuICAgIGJvZHkgLndyYXBwZXIuc3ViIC5jb250YWluZXIge1xuICAgICAgZGlzcGxheTogYmxvY2s7IH1cbiAgYm9keSAuY29udGFpbmVyIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtd3JhcDogd3JhcDsgfVxuXG4uc2VjdGlvbiB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgd2lkdGg6IDEwMCU7IH1cblxuLmhlYWRpbmcge1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7IH1cbiAgLmhlYWRpbmctdGludHVjIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBtYXJnaW46IDAgMCAyMHB4IDBweDsgfVxuXG4uY2hhciB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAtNzBweDtcbiAgbGVmdDogLTcwcHg7IH1cblxuLmJhbm5lci1mcmFtZSB7XG4gIHdpZHRoOiA1NzRweDtcbiAgaGVpZ2h0OiA2MzBweDtcbiAgbWFyZ2luOiAwIDBweCAwO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cblxuLmJhbm5lci1zbGlkZXIge1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuICAuYmFubmVyLXNsaWRlciBhIHtcbiAgICBkaXNwbGF5OiBibG9jazsgfVxuICAgIC5iYW5uZXItc2xpZGVyIGE6YWZ0ZXIge1xuICAgICAgY29udGVudDogJyc7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICB0b3A6IDA7XG4gICAgICByaWdodDogMDtcbiAgICAgIGJvdHRvbTogMDtcbiAgICAgIGxlZnQ6IDA7XG4gICAgICBiYWNrZ3JvdW5kOiB1cmwoLi4vaW1hZ2VzL2Jhbm5lci1mcmFtZS5wbmcpIG5vLXJlcGVhdDtcbiAgICAgIHotaW5kZXg6IDE7IH1cblxuLmJhbm5lci1zbGlkZXItcHJldiB7XG4gIHdpZHRoOiA2MHB4O1xuICBoZWlnaHQ6IDYwcHg7XG4gIGJhY2tncm91bmQ6IHVybCguLi9pbWFnZXMvcHJldi1idG4ucG5nKSBuby1yZXBlYXQ7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgbGVmdDogLTM1cHg7XG4gIHRvcDogNDglO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSk7XG4gIGN1cnNvcjogcG9pbnRlcjsgfVxuXG4uYmFubmVyLXNsaWRlci1uZXh0IHtcbiAgd2lkdGg6IDYwcHg7XG4gIGhlaWdodDogNjBweDtcbiAgYmFja2dyb3VuZDogdXJsKC4uL2ltYWdlcy9uZXh0LWJ0bi5wbmcpIG5vLXJlcGVhdDtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICByaWdodDogLTI4cHg7XG4gIHRvcDogNDglO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSk7XG4gIGN1cnNvcjogcG9pbnRlcjsgfVxuXG4uYmFubmVyLXNsaWRlci1zd2lwZXItcGFnaW5hdGlvbiB7XG4gIGxlZnQ6IDUwJTtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC01MCUpO1xuICBib3R0b206IDEwcHg7XG4gIG9wYWNpdHk6IC44OyB9XG4gIC5iYW5uZXItc2xpZGVyLXN3aXBlci1wYWdpbmF0aW9uIC5zd2lwZXItcGFnaW5hdGlvbi1idWxsZXQge1xuICAgIHdpZHRoOiAzMnB4O1xuICAgIGhlaWdodDogMzJweDtcbiAgICBiYWNrZ3JvdW5kOiB1cmwoLi4vaW1hZ2VzL3BhZ2luZy1kb3QucG5nKSBuby1yZXBlYXQ7XG4gICAgb3BhY2l0eTogMTsgfVxuICAuYmFubmVyLXNsaWRlci1zd2lwZXItcGFnaW5hdGlvbiAuc3dpcGVyLXBhZ2luYXRpb24tYnVsbGV0LWFjdGl2ZSB7XG4gICAgd2lkdGg6IDMycHg7XG4gICAgaGVpZ2h0OiAzMnB4O1xuICAgIGJhY2tncm91bmQ6IHVybCguLi9pbWFnZXMvcGFnaW5nLWRvdC1ob3Zlci5wbmcpIG5vLXJlcGVhdDsgfVxuXG4uaG90cm8tYmxvY2sge1xuICBkaXNwbGF5OiBmbGV4O1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgd2lkdGg6IDUxMHB4O1xuICBtYXJnaW46IDc1cHggMCAwcHggMHB4OyB9XG4gIC5ob3Ryby1ibG9jayBsaSB7XG4gICAgbWFyZ2luOiAwIDVweDsgfVxuICAuaG90cm8tYmxvY2sgYSB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgbWFyZ2luOiAwIDBweDsgfVxuXG4vKi0gVmFyaWFibGUgLSovXG4ubmV3cyB7XG4gIG1hcmdpbjogMjVweCAwcHggNzBweCAtMTBweDtcbiAgd2lkdGg6IDU5MXB4O1xuICBoZWlnaHQ6IDU4MXB4O1xuICBwYWRkaW5nOiAzNXB4IDUwcHggMCA0NXB4O1xuICBiYWNrZ3JvdW5kOiB1cmwoLi4vaW1hZ2VzL25ld3MtZnJhbWUucG5nKSBuby1yZXBlYXQ7IH1cbiAgLm5ld3MtdGFiIHtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIG1hcmdpbjogMCAwO1xuICAgIHBhZGRpbmctYm90dG9tOiA0cHg7IH1cbiAgICAubmV3cy10YWIgbGkge1xuICAgICAgZmxvYXQ6IGxlZnQ7IH1cbiAgICAgIC5uZXdzLXRhYiBsaSBhIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIGZvbnQtZmFtaWx5OiAncm9ib3Rvc2xhYic7XG4gICAgICAgIGNvbG9yOiAjNjM0NjM0O1xuICAgICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xuICAgICAgICBmb250LXNpemU6IDE4cHg7XG4gICAgICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICAgICAgICBwYWRkaW5nOiAwIDE1cHggNDBweDtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDM2cHg7XG4gICAgICAgIGJvcmRlcjogbm9uZTtcbiAgICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyIGJvdHRvbTsgfVxuICAgICAgICAubmV3cy10YWIgbGkgYS5hY3RpdmUsIC5uZXdzLXRhYiBsaSBhOmhvdmVyIHtcbiAgICAgICAgICBjb2xvcjogI2M4NjUyNDtcbiAgICAgICAgICBiYWNrZ3JvdW5kOiB1cmwoLi4vaW1hZ2VzL25ld3MtdGFiLWhvdmVyLnBuZykgbm8tcmVwZWF0IGNlbnRlciBib3R0b207XG4gICAgICAgICAgYm9yZGVyOiBub25lOyB9XG4gIC5uZXdzIC50YWItY29udGVudCB7XG4gICAgcGFkZGluZzogMTBweCAwO1xuICAgIGhlaWdodDogMjk1cHg7IH1cblxuLyotIG5ld3MgbGlzdCAtKi9cbnVsLm5ld3MtbGlzdCB7XG4gIG1hcmdpbjogMDsgfVxuICB1bC5uZXdzLWxpc3QgbGkge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgcGFkZGluZzogMCAwIDVweCAwO1xuICAgIG1hcmdpbjogMCAwIDVweCAwO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuICAgIHVsLm5ld3MtbGlzdCBsaTpub3QoOmxhc3QtY2hpbGQpIHtcbiAgICAgIGJvcmRlci1ib3R0b206IHNvbGlkIDFweCAjZDRhYzg5OyB9XG4gICAgdWwubmV3cy1saXN0IGxpLmhpZ2hsaWdodCB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAyMHB4O1xuICAgICAgYm9yZGVyOiBub25lOyB9XG4gICAgICB1bC5uZXdzLWxpc3QgbGkuaGlnaGxpZ2h0IC5uZXdzLXRpdGxlIHtcbiAgICAgICAgZmxvYXQ6IGxlZnQ7XG4gICAgICAgIHdpZHRoOiBjYWxjKDEwMCUgLSAxMzFweCk7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICBjb2xvcjogIzYyMmMwODtcbiAgICAgICAgZm9udC1mYW1pbHk6IFwiU0ZcIjtcbiAgICAgICAgZm9udC13ZWlnaHQ6IDYwMDsgfVxuICAgICAgICB1bC5uZXdzLWxpc3QgbGkuaGlnaGxpZ2h0IC5uZXdzLXRpdGxlOmhvdmVyIHtcbiAgICAgICAgICBjb2xvcjogI2Q0YWM4OTsgfVxuICAgICAgICAgIHVsLm5ld3MtbGlzdCBsaS5oaWdobGlnaHQgLm5ld3MtdGl0bGU6aG92ZXIgLm5ld3MtdGltZSB7XG4gICAgICAgICAgICBjb2xvcjogI2Q0YWM4OTsgfVxuICAgICAgICB1bC5uZXdzLWxpc3QgbGkuaGlnaGxpZ2h0IC5uZXdzLXRpdGxlIC5uZXdzLXRpbWUge1xuICAgICAgICAgIGNvbG9yOiAjNjIyYzA4OyB9XG4gICAgdWwubmV3cy1saXN0IGxpIC5uZXdzX190aHVtYiB7XG4gICAgICBmbG9hdDogbGVmdDtcbiAgICAgIG1hcmdpbjogMnB4IDEwcHggMCAxcHg7XG4gICAgICBoZWlnaHQ6IGF1dG87IH1cbiAgICAgIHVsLm5ld3MtbGlzdCBsaSAubmV3c19fdGh1bWIgaW1nIHtcbiAgICAgICAgYm9yZGVyOiAycHggc29saWQgIzNjMzY1YTsgfVxuICAgIHVsLm5ld3MtbGlzdCBsaSAubmV3cy1kZXMge1xuICAgICAgd2lkdGg6IGNhbGMoMTAwJSAtIDEzMXB4KTtcbiAgICAgIGNvbG9yOiAjNjIyYzA4O1xuICAgICAgZmxvYXQ6IGxlZnQ7XG4gICAgICBkaXNwbGF5OiAtd2Via2l0LWJveDtcbiAgICAgIC13ZWJraXQtYm94LW9yaWVudDogdmVydGljYWw7XG4gICAgICAtd2Via2l0LWxpbmUtY2xhbXA6IDM7XG4gICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgICAgcGFkZGluZy1ib3R0b206IDAgIWltcG9ydGFudDsgfVxuICAgICAgdWwubmV3cy1saXN0IGxpIC5uZXdzLWRlczo6YWZ0ZXIge1xuICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoLi4vaW1hZ2VzL2ljb24tc3RyaW5nLWN1dC5naWYpOyB9XG4gICAgdWwubmV3cy1saXN0IGxpIC5uZXdzLXRpdGxlIHtcbiAgICAgIGNvbG9yOiAjNDkyOTE0O1xuICAgICAgd2lkdGg6IDEwMCU7IH1cbiAgICAgIHVsLm5ld3MtbGlzdCBsaSAubmV3cy10aXRsZTpob3ZlcixcbiAgICAgIHVsLm5ld3MtbGlzdCBsaSAubmV3cy10aXRsZTpob3ZlciAubmV3cy10aW1lIHtcbiAgICAgICAgY29sb3I6ICNkNGFjODk7IH1cbiAgICAgIHVsLm5ld3MtbGlzdCBsaSAubmV3cy10aXRsZSBzcGFuIHtcbiAgICAgICAgd2lkdGg6IGNhbGMoMTAwJSAtIDgwcHgpO1xuICAgICAgICB0ZXh0LW92ZXJmbG93OiBlbGxpcHNpcztcbiAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7IH1cbiAgICB1bC5uZXdzLWxpc3QgbGkgLm5ld3MtdGltZSB7XG4gICAgICBjb2xvcjogIzQ5MjkxNDtcbiAgICAgIGZvbnQtc2l6ZTogMTRweDtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHJpZ2h0OiAwO1xuICAgICAgdG9wOiAzcHg7XG4gICAgICB0ZXh0LWFsaWduOiByaWdodDsgfVxuXG4ubmV3cy1tb3JlIHtcbiAgY29sb3I6ICNlZmY5ZmQ7XG4gIGZsb2F0OiByaWdodDtcbiAgbWFyZ2luOiAwcHggMCAwcHggMDtcbiAgYmFja2dyb3VuZDogI2EzNjc0MDtcbiAgcGFkZGluZzogMCAzMHB4IDAgMTBweDtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBsaW5lLWhlaWdodDogMjVweDtcbiAgZm9udC1zaXplOiAxNXB4OyB9XG4gIC5uZXdzLW1vcmU6YWZ0ZXIge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDBweDtcbiAgICByaWdodDogNXB4O1xuICAgIGNvbnRlbnQ6ICcrJztcbiAgICBmb250LXNpemU6IDI1cHg7XG4gICAgbGluZS1oZWlnaHQ6IC44OyB9XG4gIC5uZXdzLW1vcmU6aG92ZXIge1xuICAgIGNvbG9yOiAjZmZmOyB9XG5cbi5jaGFyYWN0ZXIge1xuICB3aWR0aDogMTQwMHB4O1xuICBtYXgtd2lkdGg6IDEwMCU7XG4gIHBhZGRpbmc6IDAgMDtcbiAgbWFyZ2luOiAwIGF1dG8gMTEwcHg7XG4gIC8qLS0tIG5hdiAtLS0qL1xuICAvKi0tLSBuYXYgLS0tKi9cbiAgLyotLS0gY2hhciBuYXYgLS0tKi8gfVxuICAuY2hhcmFjdGVyIC50aXRsZSB7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIG1hcmdpbjogMCAwIGNhbGMoMS4zMTI1cmVtICsgMC43NXZ3KSAwOyB9XG4gICAgQG1lZGlhIChtaW4td2lkdGg6IDEyMDBweCkge1xuICAgICAgLmNoYXJhY3RlciAudGl0bGUge1xuICAgICAgICBtYXJnaW46IDAgMCAxLjg3NXJlbSAwOyB9IH1cbiAgICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDc2OHB4KSB7XG4gICAgICAuY2hhcmFjdGVyIC50aXRsZSBpbWcge1xuICAgICAgICBtYXgtd2lkdGg6IDgwJTsgfSB9XG4gIC5jaGFyYWN0ZXItaW5mbyB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogODBweDtcbiAgICByaWdodDogNDg1cHg7XG4gICAgd2lkdGg6IDM5MHB4OyB9XG4gIC5jaGFyYWN0ZXItaW50cm8ge1xuICAgIGNvbG9yOiAjODY0ZDJjO1xuICAgIHRleHQtYWxpZ246IGluaXRpYWw7XG4gICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICBmb250LXNpemU6IDIwcHg7XG4gICAgbWFyZ2luOiAwIDAgMjBweDtcbiAgICBmb250LWZhbWlseTogdXZuaHVvbmdxdWU7IH1cbiAgLmNoYXJhY3Rlci1jYXRlIHtcbiAgICBmb250LWZhbWlseTogdXZuaHVvbmdxdWU7XG4gICAgZm9udC1zaXplOiAzNnB4O1xuICAgIGNvbG9yOiAjNjU0ODM1O1xuICAgIHdpZHRoOiAyNjBweDtcbiAgICBwYWRkaW5nOiAwIDAgMCAwcHg7XG4gICAgbWFyZ2luOiAwIGF1dG8gMjBweDtcbiAgICBsaW5lLWhlaWdodDogNTBweDsgfVxuICAgIC5jaGFyYWN0ZXItY2F0ZSBpbWcge1xuICAgICAgbWFyZ2luOiAwIDVweCAtMTVweCAwOyB9XG4gIC5jaGFyYWN0ZXItc2tpbGxzIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYXJvdW5kO1xuICAgIG1hcmdpbi1ib3R0b206IDMwcHg7IH1cbiAgICAuY2hhcmFjdGVyLXNraWxscyBsaSB7XG4gICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgICBtYXJnaW46IDAgMHB4O1xuICAgICAgcGFkZGluZzogN3B4O1xuICAgICAgd2lkdGg6IDk1cHg7XG4gICAgICBoZWlnaHQ6IDk1cHg7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICBiYWNrZ3JvdW5kOiB1cmwoLi4vaW1hZ2VzL2NoaWVuYmluaC1za2lsbC1iZy5wbmcpIG5vLXJlcGVhdCAwIDA7IH1cbiAgICAgIC5jaGFyYWN0ZXItc2tpbGxzIGxpIGltZyB7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDUwJTsgfVxuICAgICAgLmNoYXJhY3Rlci1za2lsbHMgbGkgLnRvb2x0aXAge1xuICAgICAgICB3aWR0aDogMjUwcHg7XG4gICAgICAgIHBhZGRpbmc6IDEwcHg7XG4gICAgICAgIGJhY2tncm91bmQ6ICNmNmUwY2U7XG4gICAgICAgIGJhY2tncm91bmQ6IC13ZWJraXQtbGluZWFyLWdyYWRpZW50KGxlZ2FjeS1kaXJlY3Rpb24oMTgwZGVnKSwgI2Y2ZTBjZSwgI2Y2ZTBjZSk7XG4gICAgICAgIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCgxODBkZWcsICNmNmUwY2UsICNmNmUwY2UpO1xuICAgICAgICBib3JkZXI6IHNvbGlkIDFweCAjOGE1MjJkO1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHRvcDogMTAwJTtcbiAgICAgICAgbGVmdDogLTNweDtcbiAgICAgICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogMTBweDtcbiAgICAgICAgei1pbmRleDogNTtcbiAgICAgICAgdmlzaWJpbGl0eTogaGlkZGVuO1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTIwcHgpO1xuICAgICAgICB0cmFuc2l0aW9uOiBhbGwgMC4ycztcbiAgICAgICAgb3BhY2l0eTogMDtcbiAgICAgICAgY29sb3I6ICM2NTQ4MzU7IH1cbiAgICAgIC5jaGFyYWN0ZXItc2tpbGxzIGxpOm50aC1jaGlsZCg0KSAudG9vbHRpcCB7XG4gICAgICAgIGxlZnQ6IC03MHB4OyB9XG4gICAgICAuY2hhcmFjdGVyLXNraWxscyBsaTpob3ZlciAudG9vbHRpcCB7XG4gICAgICAgIHZpc2liaWxpdHk6IHZpc2libGU7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKTtcbiAgICAgICAgb3BhY2l0eTogMTsgfVxuICAuY2hhcmFjdGVyLWJsb2NrIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIG1hcmdpbi10b3A6IC00MHB4OyB9XG4gICAgLmNoYXJhY3Rlci1ibG9jayAuY2hpZW5iaW5oLWltZyB7XG4gICAgICBtYXJnaW46IDAgMCAwIC00NXB4OyB9XG4gIC5jaGFyYWN0ZXIgLmJlc3Rza2lsbCB7XG4gICAgZm9udC1mYW1pbHk6IHV2bmh1b25ncXVlO1xuICAgIGZvbnQtc2l6ZTogMzZweDtcbiAgICBjb2xvcjogIzY1NDgzNTtcbiAgICBwYWRkaW5nOiAwIDAgMDtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgbWFyZ2luOiAwIGF1dG8gMjBweDtcbiAgICBsaW5lLWhlaWdodDogNTBweDsgfVxuICAuY2hhcmFjdGVyIC5zbGlkZXItc2luZ2xlLXRvcCAueGVtdGhlbS1idG4ge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjsgfVxuICAgIC5jaGFyYWN0ZXIgLnNsaWRlci1zaW5nbGUtdG9wIC54ZW10aGVtLWJ0bjpob3ZlciB7XG4gICAgICBmaWx0ZXI6IGJyaWdodG5lc3MoMTMwJSk7IH1cbiAgLmNoYXJhY3RlciAuc2xpZGVyLW5hdiB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogNTBweDtcbiAgICByaWdodDogOTBweDtcbiAgICB6LWluZGV4OiAyO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgd2lkdGg6IDMwMHB4O1xuICAgIC8qIERpc2FibGUgZ3JheXNjYWxlIG9uIGhvdmVyICovIH1cbiAgICAuY2hhcmFjdGVyIC5zbGlkZXItbmF2IGltZyB7XG4gICAgICBmaWx0ZXI6IGdyYXk7XG4gICAgICAvKiBJRTYtOSAqL1xuICAgICAgLXdlYmtpdC1maWx0ZXI6IGdyYXlzY2FsZSgxKTtcbiAgICAgIC8qIEdvb2dsZSBDaHJvbWUsIFNhZmFyaSA2KyAmIE9wZXJhIDE1KyAqL1xuICAgICAgZmlsdGVyOiBncmF5c2NhbGUoMSk7XG4gICAgICAvKiBNaWNyb3NvZnQgRWRnZSBhbmQgRmlyZWZveCAzNSsgKi9cbiAgICAgIGN1cnNvcjogcG9pbnRlcjsgfVxuICAgIC5jaGFyYWN0ZXIgLnNsaWRlci1uYXYgaW1nOmhvdmVyIHtcbiAgICAgIC13ZWJraXQtZmlsdGVyOiBncmF5c2NhbGUoMCk7XG4gICAgICBmaWx0ZXI6IG5vbmU7IH1cbiAgICAuY2hhcmFjdGVyIC5zbGlkZXItbmF2IC5zd2lwZXItc2xpZGUtdGh1bWItYWN0aXZlIGltZzpsYXN0LWNoaWxkIHtcbiAgICAgIC13ZWJraXQtZmlsdGVyOiBncmF5c2NhbGUoMCk7XG4gICAgICBmaWx0ZXI6IG5vbmU7XG4gICAgICBvcGFjaXR5OiAxO1xuICAgICAgdmlzaWJpbGl0eTogdmlzaWJsZTsgfVxuICAgIC5jaGFyYWN0ZXIgLnNsaWRlci1uYXYgLnN3aXBlci1zbGlkZTpudGgtY2hpbGQoMikge1xuICAgICAgdG9wOiAtMzBweDtcbiAgICAgIGxlZnQ6IDcwcHg7IH1cbiAgICAuY2hhcmFjdGVyIC5zbGlkZXItbmF2IC5zd2lwZXItc2xpZGU6bnRoLWNoaWxkKDMpIHtcbiAgICAgIHRvcDogLTQ1cHg7XG4gICAgICBsZWZ0OiAxMTVweDsgfVxuICAgIC5jaGFyYWN0ZXIgLnNsaWRlci1uYXYgLnN3aXBlci1zbGlkZTpudGgtY2hpbGQoNCkge1xuICAgICAgdG9wOiAtNTVweDtcbiAgICAgIGxlZnQ6IDEzMHB4OyB9XG4gICAgLmNoYXJhY3RlciAuc2xpZGVyLW5hdiAuc3dpcGVyLXNsaWRlOm50aC1jaGlsZCg1KSB7XG4gICAgICB0b3A6IC02N3B4O1xuICAgICAgbGVmdDogMTEwcHg7IH1cbiAgICAuY2hhcmFjdGVyIC5zbGlkZXItbmF2IC5zd2lwZXItc2xpZGU6bnRoLWNoaWxkKDYpIHtcbiAgICAgIHRvcDogLTg1cHg7XG4gICAgICBsZWZ0OiA2MHB4OyB9XG4gICAgLmNoYXJhY3RlciAuc2xpZGVyLW5hdiAuc3dpcGVyLXNsaWRlOm50aC1jaGlsZCg3KSB7XG4gICAgICB0b3A6IC0xMTBweDtcbiAgICAgIGxlZnQ6IDBweDsgfVxuICAuY2hhcmFjdGVyIC5uYXYtYnV0dG9uLXByZXYsIC5jaGFyYWN0ZXIgLm5hdi1idXR0b24tbmV4dCB7XG4gICAgd2lkdGg6IDI1cHg7XG4gICAgaGVpZ2h0OiAzNXB4O1xuICAgIGJhY2tncm91bmQ6IHVybCguLi9pbWFnZXMvbmF2LWJ1dHRvbi1wcmV2LnBuZykgbm8tcmVwZWF0O1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICB6LWluZGV4OiA2O1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDEwNHB4O1xuICAgIGxlZnQ6IC0zMHB4OyB9XG4gICAgLmNoYXJhY3RlciAubmF2LWJ1dHRvbi1wcmV2OmhvdmVyLCAuY2hhcmFjdGVyIC5uYXYtYnV0dG9uLW5leHQ6aG92ZXIge1xuICAgICAgYmFja2dyb3VuZDogdXJsKC4uL2ltYWdlcy9uYXYtYnV0dG9uLXByZXYtaG92ZXIucG5nKSBuby1yZXBlYXQ7IH1cbiAgLmNoYXJhY3RlciAubmF2LWJ1dHRvbi1uZXh0IHtcbiAgICBsZWZ0OiAzNzBweDtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZSgtMTgwZGVnKTsgfVxuICAuY2hhcmFjdGVyIC5uYXYtYnV0dG9uLXByZXYsIC5jaGFyYWN0ZXIgLm5hdi1idXR0b24tbmV4dCB7XG4gICAgd2lkdGg6IDI1cHg7XG4gICAgaGVpZ2h0OiAzNXB4O1xuICAgIGJhY2tncm91bmQ6IHVybCguLi9pbWFnZXMvbmF2LWJ1dHRvbi1wcmV2LnBuZykgbm8tcmVwZWF0O1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICB6LWluZGV4OiA2O1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDEwNHB4O1xuICAgIGxlZnQ6IC0zMHB4OyB9XG4gICAgLmNoYXJhY3RlciAubmF2LWJ1dHRvbi1wcmV2OmhvdmVyLCAuY2hhcmFjdGVyIC5uYXYtYnV0dG9uLW5leHQ6aG92ZXIge1xuICAgICAgYmFja2dyb3VuZDogdXJsKC4uL2ltYWdlcy9uYXYtYnV0dG9uLXByZXYtaG92ZXIucG5nKSBuby1yZXBlYXQ7IH1cbiAgLmNoYXJhY3RlciAubmF2LWJ1dHRvbi1uZXh0IHtcbiAgICBsZWZ0OiAzNzBweDtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZSgtMTgwZGVnKTsgfVxuICAuY2hhcmFjdGVyIC5jaGFyLWJ1dHRvbi1wcmV2LCAuY2hhcmFjdGVyIC5jaGFyLWJ1dHRvbi1uZXh0IHtcbiAgICB3aWR0aDogODBweDtcbiAgICBoZWlnaHQ6IDc5cHg7XG4gICAgYmFja2dyb3VuZDogdXJsKC4uL2ltYWdlcy9jaGFyLWJ1dHRvbi1wcmV2LnBuZykgbm8tcmVwZWF0O1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICB6LWluZGV4OiA2O1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDY1JTtcbiAgICBsZWZ0OiA2JTsgfVxuICAgIC5jaGFyYWN0ZXIgLmNoYXItYnV0dG9uLXByZXY6aG92ZXIsIC5jaGFyYWN0ZXIgLmNoYXItYnV0dG9uLW5leHQ6aG92ZXIge1xuICAgICAgYmFja2dyb3VuZDogdXJsKC4uL2ltYWdlcy9jaGFyLWJ1dHRvbi1wcmV2LWhvdmVyLnBuZykgbm8tcmVwZWF0OyB9XG4gIC5jaGFyYWN0ZXIgLmNoYXItYnV0dG9uLW5leHQge1xuICAgIGxlZnQ6IDE1JTtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZSgtMTgwZGVnKTsgfVxuXG4uY290dHJ1eWVuLXRhYiB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDtcbiAgcGFkZGluZzogMTBweCA2MHB4IDEwcHggMzBweDtcbiAgbWFyZ2luOiAtNDBweCBhdXRvIDA7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgei1pbmRleDogMjsgfVxuICAuY290dHJ1eWVuLXRhYiBsaTpub3QoOmxhc3QtY2hpbGQpIHtcbiAgICBtYXJnaW4tcmlnaHQ6IDdweDsgfVxuICAuY290dHJ1eWVuLXRhYiBsaSBhIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBwYWRkaW5nOiAwIDBweDtcbiAgICBtYXJnaW46IDAgYXV0bzsgfVxuICAgIC5jb3R0cnV5ZW4tdGFiIGxpIGEgaW1nIHtcbiAgICAgIGZpbHRlcjogZ3JheXNjYWxlKDEpO1xuICAgICAgdHJhbnNpdGlvbjogYWxsIDAuMnM7IH1cbiAgICAuY290dHJ1eWVuLXRhYiBsaSBhLmFjdGl2ZSBpbWcsIC5jb3R0cnV5ZW4tdGFiIGxpIGE6aG92ZXIgaW1nIHtcbiAgICAgIGZpbHRlcjogZ3JheXNjYWxlKDApOyB9XG5cbi5jb3R0cnV5ZW4tY29udGVudCB7XG4gIHdpZHRoOiAxMjAwcHg7XG4gIGhlaWdodDogNjAwcHg7XG4gIGJhY2tncm91bmQ6IHVybCguLi9pbWFnZXMvY290dHJ1eWVuLWNvbnRlbnQtYmcucG5nKSBuby1yZXBlYXQgMCAwO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHBhZGRpbmc6IDYwcHggMTIwcHggMCA2MjBweDtcbiAgbWFyZ2luOiAwIGF1dG8gMHB4O1xuICBjb2xvcjogIzdlMzUxMDtcbiAgZm9udC1zaXplOiAxOHB4OyB9XG4gIC5jb3R0cnV5ZW4tY29udGVudCBwIHtcbiAgICBtYXJnaW46IDAgMCAxMHB4OyB9XG4gIC5jb3R0cnV5ZW4tY29udGVudCAuY290dHJ1eWVuLW5hbWUge1xuICAgIGZvbnQtZmFtaWx5OiAnaHVvbmdxdWVuYW5nJztcbiAgICBjb2xvcjogIzZmNDMyYztcbiAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgIHRleHQtYWxpZ246IGluaGVyaXQ7XG4gICAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgICBmb250LXNpemU6IDM2cHg7XG4gICAgYmFja2dyb3VuZDogdXJsKC4uL2ltYWdlcy9jb3R0cnV5ZW4tbGluZS5naWYpIG5vLXJlcGVhdCBsZWZ0IDYzJTtcbiAgICBwYWRkaW5nOiAwIDAgNXB4O1xuICAgIG1hcmdpbjogMCAwIDEwcHg7IH1cbiAgICAuY290dHJ1eWVuLWNvbnRlbnQgLmNvdHRydXllbi1uYW1lIC5jb3R0cnV5ZW4taWNvbiB7XG4gICAgICBtYXJnaW46IDAgMTBweCAtMTBweCAwOyB9XG4gICAgLmNvdHRydXllbi1jb250ZW50IC5jb3R0cnV5ZW4tbmFtZSAuc3ViIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgZm9udC1mYW1pbHk6ICd1dm5odW9uZ3F1ZSc7XG4gICAgICBmb250LXNpemU6IDMwcHg7XG4gICAgICB0ZXh0LXRyYW5zZm9ybTogY2FwaXRhbGl6ZTtcbiAgICAgIHRleHQtYWxpZ246IHJpZ2h0O1xuICAgICAgcGFkZGluZzogMHB4IDAgMCAwOyB9XG4gIC5jb3R0cnV5ZW4tY29udGVudCAuY290dHJ1eWVuLXNjcm9sbCB7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiA0NzBweDtcbiAgICBvdmVyZmxvdzogYXV0bztcbiAgICBwYWRkaW5nOiAxMHB4IDUwcHggMTBweCAzMHB4O1xuICAgIHRleHQtYWxpZ246IGp1c3RpZnk7IH1cbiAgLmNvdHRydXllbi1jb250ZW50IC5jb3R0cnV5ZW4tdGh1bWIge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDY5cHg7XG4gICAgbGVmdDogLTE1MHB4O1xuICAgIHRyYW5zaXRpb246IGFsbCAwLjNzO1xuICAgIG9wYWNpdHk6IDA7IH1cbiAgLmNvdHRydXllbi1jb250ZW50IC5hY3RpdmUgLmNvdHRydXllbi10aHVtYiB7XG4gICAgbGVmdDogMTYwcHg7XG4gICAgb3BhY2l0eTogMTsgfVxuXG4vKi0tLSBEYWMgc2FjIC0tLSovXG4uZmxpcHN0ZXIge1xuICBtYXJnaW46IDBweCAwIDUwcHggMCAhaW1wb3J0YW50O1xuICBvdmVyZmxvdzogaGlkZGVuICFpbXBvcnRhbnQ7IH1cbiAgLmZsaXBzdGVyIC5mbGlwc3Rlcl9fY29udGFpbmVyIHtcbiAgICBwYWRkaW5nOiA1MHB4IDA7IH1cbiAgLmZsaXBzdGVyIC5mbGlwc3Rlcl9faXRlbV9fY29udGVudCB7XG4gICAgcGFkZGluZzogMTBweCAyNXB4OyB9XG4gICAgLmZsaXBzdGVyIC5mbGlwc3Rlcl9faXRlbV9fY29udGVudCBpbWcge1xuICAgICAgb3BhY2l0eTogLjc7IH1cbiAgLmZsaXBzdGVyIC5mbGlwc3Rlcl9faXRlbS0tY3VycmVudCBpbWcge1xuICAgIG9wYWNpdHk6IDE7IH1cbiAgLmZsaXBzdGVyIC5mbGlwc3Rlcl9faXRlbSB7XG4gICAgZmlsdGVyOiBibHVyKDJweCk7IH1cbiAgLmZsaXBzdGVyIC5mbGlwc3Rlcl9faXRlbS5mbGlwc3Rlcl9faXRlbS0tY3VycmVudCB7XG4gICAgZmlsdGVyOiBibHVyKDBweCk7IH1cbiAgLmZsaXBzdGVyIC5mbGlwc3Rlcl9fYnV0dG9uLS1wcmV2IHtcbiAgICBsZWZ0OiAyMDBweDtcbiAgICBvcGFjaXR5OiAxOyB9XG4gIC5mbGlwc3RlciAuZmxpcHN0ZXJfX2J1dHRvbi0tbmV4dCB7XG4gICAgcmlnaHQ6IDIwMHB4O1xuICAgIG9wYWNpdHk6IDE7IH1cblxuLmZsb2F0aW5nIHtcbiAgd2lkdGg6IDE0MHB4O1xuICBoZWlnaHQ6IDM4MHB4O1xuICBwb3NpdGlvbjogZml4ZWQ7XG4gIHRvcDogNTAlO1xuICByaWdodDogMHB4O1xuICBiYWNrZ3JvdW5kOiB1cmwoLi4vaW1hZ2VzL2Zsb2F0aW5nLWJnLnBuZykgbm8tcmVwZWF0O1xuICB6LWluZGV4OiAxMDtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpO1xuICBwYWRkaW5nOiAwcHggMCAwIDE4cHg7IH1cbiAgLmZsb2F0aW5nIGEge1xuICAgIGRpc3BsYXk6IGJsb2NrOyB9XG4gIC5mbG9hdGluZyAucXJjb2RlIHtcbiAgICBtYXJnaW46IDAgMCAxNXB4IDA7IH1cbiAgLmZsb2F0aW5nIC50b3Age1xuICAgIG1hcmdpbi1ib3R0b206IDEwcHg7XG4gICAgZGlzcGxheTogYmxvY2s7IH1cblxuLyotLS0gU3ViIHBhZ2UgLS0tKi9cbi5tYWluLWNvbnRlbnQge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHBhZGRpbmc6IDAgODBweCAyMDBweDtcbiAgbWFyZ2luLWJvdHRvbTogMjBweDtcbiAgbWluLWhlaWdodDogMTIwMHB4OyB9XG4gIC5tYWluLWNvbnRlbnQgLm5ld3MtbGlzdCBsaSB7XG4gICAgcGFkZGluZzogMCAwIDE1cHggMDtcbiAgICBtYXJnaW46IDAgMCAxNXB4IDA7XG4gICAgYm9yZGVyLWJvdHRvbTogc29saWQgMXB4ICNjMGM0Y2YgIWltcG9ydGFudDsgfVxuICAubWFpbi1jb250ZW50IC5uZXdzLWxpc3QgLmhpZ2hsaWdodCAubmV3cy1kZXMge1xuICAgIGNvbG9yOiAjNDc0MzYxOyB9XG4gICAgLm1haW4tY29udGVudCAubmV3cy1saXN0IC5oaWdobGlnaHQgLm5ld3MtZGVzOmhvdmVyIHtcbiAgICAgIGNvbG9yOiAjMTMwODU2OyB9XG4gIC5tYWluLWNvbnRlbnQgLm5ld3MtbGlzdCAuaGlnaGxpZ2h0IC5uZXdzLXRpdGxlIHtcbiAgICBjb2xvcjogI2FmMmUyMztcbiAgICBtYXJnaW4tYm90dG9tOiA1cHg7XG4gICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICBkaXNwbGF5OiAtd2Via2l0LWJveDtcbiAgICAtd2Via2l0LWJveC1vcmllbnQ6IHZlcnRpY2FsO1xuICAgIC13ZWJraXQtbGluZS1jbGFtcDogMztcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIHBhZGRpbmctYm90dG9tOiAwICFpbXBvcnRhbnQ7IH1cbiAgICAubWFpbi1jb250ZW50IC5uZXdzLWxpc3QgLmhpZ2hsaWdodCAubmV3cy10aXRsZSAubmV3cy10aW1lIHtcbiAgICAgIGNvbG9yOiAjYWYyZTIzOyB9XG4gICAgLm1haW4tY29udGVudCAubmV3cy1saXN0IC5oaWdobGlnaHQgLm5ld3MtdGl0bGU6aG92ZXIge1xuICAgICAgY29sb3I6ICMxMzA4NTY7IH1cbiAgICAgIC5tYWluLWNvbnRlbnQgLm5ld3MtbGlzdCAuaGlnaGxpZ2h0IC5uZXdzLXRpdGxlOmhvdmVyIC5uZXdzLXRpbWUge1xuICAgICAgICBjb2xvcjogIzEzMDg1NjsgfVxuXG4uc3RhdGljIHtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgcGFkZGluZzogMzBweCAwIDAgMDtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBtYXJnaW4tYm90dG9tOiAzMHB4OyB9XG4gIC5zdGF0aWMgLmljb24tc3RhdGljIHtcbiAgICBmbG9hdDogbGVmdDtcbiAgICBtYXJnaW4tcmlnaHQ6IDVweDsgfVxuICAuc3RhdGljIC5mYS1ob21lIHtcbiAgICBtYXJnaW46IDAgNXB4IDAgMDsgfVxuICAuc3RhdGljIGgyIHtcbiAgICBmb250LXNpemU6IDI1cHg7XG4gICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gICAgY29sb3I6ICMzODFlMGI7XG4gICAgbWFyZ2luOiAxMHB4IDAgMnB4IDVweDtcbiAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlOyB9XG5cbi5icmVhZGNydW1iLS1tYWluIHtcbiAgZm9udC1zaXplOiAxNnB4O1xuICBjb2xvcjogIzQ3NDM2MTsgfVxuICAuYnJlYWRjcnVtYi0tbWFpbiBhIHtcbiAgICBjb2xvcjogIzQ3NDM2MTtcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7IH1cbiAgICAuYnJlYWRjcnVtYi0tbWFpbiBhOmhvdmVyIHtcbiAgICAgIGNvbG9yOiAjOTczMzIyOyB9XG5cbi8qLS0tIFJlbGF0ZSBOZXdzIExpc3QgLS0tKi9cbi5yZWxhdGl2ZSB7XG4gIHBhZGRpbmctdG9wOiA5cHg7XG4gIHRleHQtYWxpZ246IGNlbnRlcjsgfVxuICAucmVsYXRpdmUtdGl0bGUgYSB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIG1hcmdpbjogMCAwIDEwcHg7XG4gICAgcGFkZGluZzogMTBweDtcbiAgICBjb2xvcjogI2ZmZjtcbiAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gICAgZm9udC1zaXplOiAxOHB4O1xuICAgIGJhY2tncm91bmQ6ICMwYzMxMzg7XG4gICAgYmFja2dyb3VuZDogLXdlYmtpdC1saW5lYXItZ3JhZGllbnQobGVnYWN5LWRpcmVjdGlvbig5MGRlZyksICMwYzMxMzgsICMwYzMxMzgpO1xuICAgIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCg5MGRlZywgIzBjMzEzOCwgIzBjMzEzOCk7IH1cbiAgICAucmVsYXRpdmUtdGl0bGUgYTpiZWZvcmUge1xuICAgICAgZm9udC1zaXplOiAzNXB4O1xuICAgICAgY29udGVudDogXCJcXDAwMmJcIjtcbiAgICAgIGZvbnQtZmFtaWx5OiAnR2x5cGhpY29uc0hhbGZsaW5ncyc7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICB0b3A6IC0zcHg7XG4gICAgICByaWdodDogMTVweDtcbiAgICAgIGNvbG9yOiAjZmZmOyB9XG4gICAgLnJlbGF0aXZlLXRpdGxlIGE6aG92ZXIge1xuICAgICAgY29sb3I6ICNjN2QzZTI7IH1cbiAgLnJlbGF0aXZlIHVsLnJlbGF0aXZlLWxpc3Qge1xuICAgIGxpc3Qtc3R5bGU6IG5vbmU7XG4gICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgICBwYWRkaW5nOiA1cHggMHB4IDA7XG4gICAgbWFyZ2luOiAwIDAgMCAyMHB4OyB9XG4gICAgLnJlbGF0aXZlIHVsLnJlbGF0aXZlLWxpc3QgbGkge1xuICAgICAgbGlzdC1zdHlsZTogbm9uZTtcbiAgICAgIGJvcmRlci1ib3R0b206IDFweCBkb3R0ZWQgIzYxODRhODtcbiAgICAgIHBhZGRpbmc6IDEycHggMCAxMHB4IDVweDtcbiAgICAgIG1hcmdpbi1sZWZ0OiAwcHg7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICBjb2xvcjogIzU4NjY3MzsgfVxuICAgICAgLnJlbGF0aXZlIHVsLnJlbGF0aXZlLWxpc3QgbGk6bGFzdC1jaGlsZCB7XG4gICAgICAgIGJvcmRlci1ib3R0b206IG5vbmU7IH1cbiAgICAgIC5yZWxhdGl2ZSB1bC5yZWxhdGl2ZS1saXN0IGxpIGEge1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gICAgICAgIGNvbG9yOiAjNTg2NjczOyB9XG4gICAgICAgIC5yZWxhdGl2ZSB1bC5yZWxhdGl2ZS1saXN0IGxpIGE6aG92ZXIge1xuICAgICAgICAgIGNvbG9yOiAjNmM3ZWIzO1xuICAgICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTsgfVxuICAgICAgICAucmVsYXRpdmUgdWwucmVsYXRpdmUtbGlzdCBsaSBhIHNwYW4ge1xuICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgIGRpc3BsYXk6IC13ZWJraXQtYm94O1xuICAgICAgICAgIC13ZWJraXQtYm94LW9yaWVudDogdmVydGljYWw7XG4gICAgICAgICAgLXdlYmtpdC1saW5lLWNsYW1wOiAxO1xuICAgICAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgICAgICAgcGFkZGluZy1ib3R0b206IDAgIWltcG9ydGFudDsgfVxuICAgICAgLnJlbGF0aXZlIHVsLnJlbGF0aXZlLWxpc3QgbGkgLmRhdGUge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgY29sb3I6ICM1OTU0Njc7XG4gICAgICAgIHRleHQtdHJhbnNmb3JtOiBpbmhlcml0O1xuICAgICAgICB0ZXh0LWFsaWduOiBpbmhlcml0O1xuICAgICAgICBmb250LXdlaWdodDogbm9ybWFsO1xuICAgICAgICBmb250LXNpemU6IDE0cHg7XG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgcGFkZGluZy1sZWZ0OiA0MHB4O1xuICAgICAgICBsaW5lLWhlaWdodDogMjFweDsgfVxuXG4vKiBQYWdpbmcgKi9cbi5wYWdpbmcge1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIHBhZGRpbmctYm90dG9tOiAyNXB4OyB9XG5cbnVsLnBhZ2VfX2xpc3Qge1xuICBwYWRkaW5nOiAyMHB4IDAgMCAhaW1wb3J0YW50O1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7IH1cbiAgdWwucGFnZV9fbGlzdCBsaSB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrICFpbXBvcnRhbnQ7XG4gICAgcGFkZGluZzogMCAycHggIWltcG9ydGFudDtcbiAgICBtYXJnaW46IDAgIWltcG9ydGFudDsgfVxuICAgIHVsLnBhZ2VfX2xpc3QgbGkgYSB7XG4gICAgICBjb2xvcjogIzQ3NDM2MSAhaW1wb3J0YW50O1xuICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lICFpbXBvcnRhbnQ7XG4gICAgICBmb250LXNpemU6IDE1cHg7XG4gICAgICBib3JkZXI6IDFweCBzb2xpZCAjMjg2NzdlO1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICBwYWRkaW5nOiAwIDEwcHg7XG4gICAgICBsaW5lLWhlaWdodDogMjRweDsgfVxuICAgICAgdWwucGFnZV9fbGlzdCBsaSBhOmhvdmVyIHtcbiAgICAgICAgY29sb3I6ICNmZmYgIWltcG9ydGFudDtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzI4Njc3ZTtcbiAgICAgICAgYm9yZGVyOiAxcHggc29saWQgIzI4Njc3ZTsgfVxuICAgICAgdWwucGFnZV9fbGlzdCBsaSBhLmRpc2FibGUsXG4gICAgICB1bC5wYWdlX19saXN0IGxpIGE6aG92ZXIgLmRpc2FibGUge1xuICAgICAgICBvcGFjaXR5OiAwLjY7XG4gICAgICAgIGN1cnNvcjogZGVmYXVsdDtcbiAgICAgICAgYmFja2dyb3VuZDogbm9uZTtcbiAgICAgICAgYm9yZGVyOiAxcHggc29saWQgIzI4Njc3ZTtcbiAgICAgICAgY29sb3I6ICMyODY3N2UgIWltcG9ydGFudDsgfVxuICAgIHVsLnBhZ2VfX2xpc3QgbGkuYWN0aXZlIGEge1xuICAgICAgY29sb3I6ICNmZmYgIWltcG9ydGFudDtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICMyODY3N2U7XG4gICAgICBib3JkZXI6IDFweCBzb2xpZCAjMjg2NzdlOyB9XG4gICAgdWwucGFnZV9fbGlzdCBsaS5wcmV2IGEsXG4gICAgdWwucGFnZV9fbGlzdCBsaS5uZXh0IGEge1xuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgcGFkZGluZzogMCAxMHB4O1xuICAgICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgICAgIHdpZHRoOiAyNnB4O1xuICAgICAgaGVpZ2h0OiAyNnB4O1xuICAgICAgbWFyZ2luOiAtMnB4IDAgMCAwOyB9XG5cbi8qLS0tIFBvcHVwIC0tLSovXG4ucG9wdXAge1xuICB2aXNpYmlsaXR5OiBoaWRkZW47XG4gIHBvc2l0aW9uOiBmaXhlZDtcbiAgdG9wOiAwJTtcbiAgbGVmdDogNTAlO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTUwJSk7XG4gIHotaW5kZXg6IDEwMDE7XG4gIG9wYWNpdHk6IDA7IH1cbiAgLnBvcHVwLmFjdGl2ZSB7XG4gICAgdmlzaWJpbGl0eTogdmlzaWJsZTtcbiAgICBvcGFjaXR5OiAxO1xuICAgIHRyYW5zaXRpb246IGFsbCAwLjVzOyB9XG4gIC5wb3B1cC1jbG9zZSB7XG4gICAgcGFkZGluZzogMjBweDtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgcmlnaHQ6IDA7XG4gICAgdG9wOiAwO1xuICAgIGZvbnQtc2l6ZTogMzBweDsgfVxuICAgIC5wb3B1cC1jbG9zZTpob3ZlciB7XG4gICAgICBmaWx0ZXI6IGJyaWdodG5lc3MoMTUwJSk7IH1cblxuLnBvcHVwLWdpZnRjb2RlIHtcbiAgd2lkdGg6IDUzMnB4O1xuICBoZWlnaHQ6IDc0NnB4O1xuICBtYXgtd2lkdGg6IDEwMCU7XG4gIGJhY2tncm91bmQ6IHVybCguLi9pbWFnZXMvcG9wdXAtYmcucG5nKSBuby1yZXBlYXQgY2VudGVyIGNlbnRlci8xMDAlIDEwMCU7XG4gIGJvcmRlci1yYWRpdXM6IDVweDtcbiAgcGFkZGluZzogMzMwcHggNjBweCAwO1xuICBjb2xvcjogIzMzMzMzMztcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gIHRleHQtYWxpZ246IGNlbnRlcjsgfVxuICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDY0MHB4KSB7XG4gICAgLnBvcHVwLWdpZnRjb2RlIHtcbiAgICAgIG1heC13aWR0aDogOTAlO1xuICAgICAgaGVpZ2h0OiA2NDBweDsgfSB9XG4gIC5wb3B1cC1naWZ0Y29kZSAucG9wdXAtdGl0bGUge1xuICAgIGNvbG9yOiAjMzMzMzMzO1xuICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gICAgZm9udC1mYW1pbHk6ICdyb2JvdG9zbGFiLXJlZ3VsYXInO1xuICAgIG1hcmdpbjogMCAwIDMwcHg7XG4gICAgZm9udC1zaXplOiBjYWxjKDEuMzQzNzVyZW0gKyAxLjEyNXZ3KTsgfVxuICAgIEBtZWRpYSAobWluLXdpZHRoOiAxMjAwcHgpIHtcbiAgICAgIC5wb3B1cC1naWZ0Y29kZSAucG9wdXAtdGl0bGUge1xuICAgICAgICBmb250LXNpemU6IDIuMTg3NXJlbTsgfSB9XG4gIC5wb3B1cC1naWZ0Y29kZSAudmFsdWUge1xuICAgIHBhZGRpbmc6IDVweDtcbiAgICBiYWNrZ3JvdW5kOiB1cmwoLi4vaW1hZ2VzL3BvcHVwLXZhbHVlLWJnLnBuZykgbm8tcmVwZWF0IDAgMC8xMDAlIDEwMCU7XG4gICAgd2lkdGg6IDkwJTtcbiAgICBjb2xvcjogI2ZmZjtcbiAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgIGZvbnQtc2l6ZTogMThweDtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgbWFyZ2luOiAwIGF1dG87IH1cblxuLnBvcHVwLXNlcnZlciB7XG4gIHdpZHRoOiA2OTVweDtcbiAgaGVpZ2h0OiA4MDBweDtcbiAgYmFja2dyb3VuZDogdXJsKC4uL2ltYWdlcy9wb3B1cC1zZXJ2ZXIucG5nKSBuby1yZXBlYXQgMCAwLzEwMCU7XG4gIGNvbG9yOiAjZmZlZGFkO1xuICB0ZXh0LXRyYW5zZm9ybTogaW5oZXJpdDtcbiAgdGV4dC1hbGlnbjogaW5oZXJpdDtcbiAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgZm9udC1zaXplOiAxNnB4O1xuICBmb250LWZhbWlseTogcm9ib3Rvc2xhYjtcbiAgdG9wOiA4MHB4O1xuICBwYWRkaW5nOiBjYWxjKDEuNDA2MjVyZW0gKyAxLjg3NXZ3KTsgfVxuICBAbWVkaWEgKG1pbi13aWR0aDogMTIwMHB4KSB7XG4gICAgLnBvcHVwLXNlcnZlciB7XG4gICAgICBwYWRkaW5nOiAyLjgxMjVyZW07IH0gfVxuICAucG9wdXAtc2VydmVyIC51c2VyIHtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIG1hcmdpbjogMCAwIDYwcHg7IH1cbiAgLnBvcHVwLXNlcnZlciAudXNlcm5hbWUge1xuICAgIGNvbG9yOiAjZmZmMDAwO1xuICAgIHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzO1xuICAgIC8qIFJlcXVpcmVkIGZvciB0ZXh0LW92ZXJmbG93IHRvIGRvIGFueXRoaW5nICovXG4gICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgICBvdmVyZmxvdzogaGlkZGVuOyB9XG4gIC5wb3B1cC1zZXJ2ZXIgLmxvZ291dCB7XG4gICAgZmxvYXQ6IHJpZ2h0O1xuICAgIGNvbG9yOiAjZmZlZGFkO1xuICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lOyB9XG4gICAgLnBvcHVwLXNlcnZlciAubG9nb3V0OmhvdmVyIHtcbiAgICAgIGNvbG9yOiAjZmZmMDAwOyB9XG4gIC5wb3B1cC1zZXJ2ZXIgLnBvcHVwLWNsb3NlIHtcbiAgICByaWdodDogLTEwMHB4O1xuICAgIHRvcDogLTcwcHg7IH1cbiAgLnBvcHVwLXNlcnZlciAubmljZS1zZWxlY3Qge1xuICAgIHdpZHRoOiAzMDBweDtcbiAgICBtYXJnaW46IDAgYXV0byA0MHB4O1xuICAgIGZsb2F0OiBpbml0aWFsO1xuICAgIGJhY2tncm91bmQ6ICM3NDU5NDg7XG4gICAgYm9yZGVyLWNvbG9yOiAjNzQ1OTQ4O1xuICAgIGNvbG9yOiAjZGFjNmI0O1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICBmb250LXdlaWdodDogYm9sZDtcbiAgICBmb250LXNpemU6IDMwcHg7IH1cbiAgICAucG9wdXAtc2VydmVyIC5uaWNlLXNlbGVjdDphZnRlciB7XG4gICAgICBib3JkZXItY29sb3I6ICNmZmQwNTI7IH1cbiAgLnBvcHVwLXNlcnZlciAubmljZS1zZWxlY3QgLm9wdGlvbiB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzc0NTk0ODtcbiAgICBjb2xvcjogI2RhYzZiNDtcbiAgICBmb250LXNpemU6IDI1cHg7IH1cbiAgLnBvcHVwLXNlcnZlciAubmljZS1zZWxlY3QgLm9wdGlvbjpob3ZlciwgLnBvcHVwLXNlcnZlciAubmljZS1zZWxlY3QgLm9wdGlvbi5mb2N1cywgLnBvcHVwLXNlcnZlciAubmljZS1zZWxlY3QgLm9wdGlvbi5zZWxlY3RlZC5mb2N1cyB7XG4gICAgY29sb3I6ICNmZmQwNTI7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzc0NTk0ODsgfVxuICAucG9wdXAtc2VydmVyIC5saXN0IHtcbiAgICB3aWR0aDogMjk4cHg7XG4gICAgbWF4LWhlaWdodDogMjAwcHg7XG4gICAgb3ZlcmZsb3c6IGF1dG87XG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzc0NTk0ODsgfVxuICAucG9wdXAtc2VydmVyIC5zZXJ2ZXItdGl0bGUge1xuICAgIGZvbnQtZmFtaWx5OiByb2JvdG9zbGFiO1xuICAgIGNvbG9yOiAjNjU0ODM1O1xuICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xuICAgIGZvbnQtc2l6ZTogMzZweDtcbiAgICBtYXJnaW46IDAgMCA1cHg7IH1cbiAgLnBvcHVwLXNlcnZlciAuc2VydmVyLWJ0biB7XG4gICAgd2lkdGg6IDE4NnB4O1xuICAgIGhlaWdodDogNThweDtcbiAgICBsaW5lLWhlaWdodDogNThweDtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBtYXJnaW46IDAgYXV0byA0MHB4O1xuICAgIGJhY2tncm91bmQ6IHVybCguLi9pbWFnZXMvc2VydmVyLW5ldy1iZy5wbmcpIG5vLXJlcGVhdDtcbiAgICBjb2xvcjogI2FhM2MxODtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gICAgZm9udC1zaXplOiAzNnB4OyB9XG4gICAgLnBvcHVwLXNlcnZlciAuc2VydmVyLWJ0bjpob3ZlciB7XG4gICAgICBmaWx0ZXI6IGJyaWdodG5lc3MoMTIwJSk7IH1cblxuLmJnb3ZlciB7XG4gIGJhY2tncm91bmQ6IHJnYmEoMCwgMCwgMCwgMC43KTtcbiAgcG9zaXRpb246IGZpeGVkO1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAxMDAlO1xuICB6LWluZGV4OiAxMDAwO1xuICBsZWZ0OiAwO1xuICB0b3A6IDA7XG4gIHJpZ2h0OiAwO1xuICBib3R0b206IDA7IH1cblxuLndyYXBwZXItNDA0IHtcbiAgYmFja2dyb3VuZDogdXJsKC4uL2ltYWdlcy93cmFwcGVyLTQwNC5qcGcpIG5vLXJlcGVhdCBjZW50ZXIgdG9wL2NvdmVyO1xuICBoZWlnaHQ6IDEwMHZoOyB9XG4gIC53cmFwcGVyLTQwNCAubG9nbyB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgcGFkZGluZzogOCUgMDtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7IH1cbiAgLndyYXBwZXItNDA0IC5ob21lLWJ0biB7XG4gICAgbGVmdDogNTAlO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNTAlKTtcbiAgICBtYXJnaW46IDEyJSAwIDAgMDsgfVxuXG4uZm9vdGVyIHtcbiAgY29sb3I6ICNmN2ZmZmQ7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgcGFkZGluZzogMS4yNXJlbSAwIDAuNjI1cmVtO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGJhY2tncm91bmQ6ICMxMDE0MTM7IH1cbiAgLmZvb3Rlci1pdGVtIHtcbiAgICBtYXJnaW4tdG9wOiAxMHB4O1xuICAgIG1hcmdpbi1ib3R0b206IDBweDtcbiAgICB3aWR0aDogMTAwJTsgfVxuICAgIC5mb290ZXItaXRlbSBsaSB7XG4gICAgICBjb2xvcjogI2Y3ZmZmZDtcbiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jazsgfVxuICAgICAgLmZvb3Rlci1pdGVtIGxpIGEge1xuICAgICAgICBmb250LXNpemU6IDE0cHg7XG4gICAgICAgIGNvbG9yOiBpbmhlcml0O1xuICAgICAgICBmb250LXdlaWdodDogYm9sZDtcbiAgICAgICAgcGFkZGluZzogMCA4cHg7IH1cbiAgICAgICAgLmZvb3Rlci1pdGVtIGxpIGE6aG92ZXIsIC5mb290ZXItaXRlbSBsaSBhOmZvY3VzIHtcbiAgICAgICAgICBjb2xvcjogd2hpdGU7IH1cbiAgLmZvb3RlciAuY29weXJpZ2h0IHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGNvbG9yOiAjZjdmZmZkO1xuICAgIGZvbnQtc2l6ZTogMTJweDtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICBwYWRkaW5nOiAyMHB4IDEwcHg7XG4gICAgbWFyZ2luOiAwIGF1dG87IH1cbiAgLmZvb3RlciAuaW1nMTgge1xuICAgIGhlaWdodDogMTAwJTtcbiAgICBtYXJnaW4tbGVmdDogMTBweDtcbiAgICBtYXJnaW4tdG9wOiAtMTBweDsgfVxuICAuZm9vdGVyIC5jbW4ge1xuICAgIGhlaWdodDogMTAwJTtcbiAgICBtYXJnaW4tcmlnaHQ6IDEwcHg7IH1cbiIsIi8qKlxyXG4gKiBTd2lwZXIgNS4yLjBcclxuICogTW9zdCBtb2Rlcm4gbW9iaWxlIHRvdWNoIHNsaWRlciBhbmQgZnJhbWV3b3JrIHdpdGggaGFyZHdhcmUgYWNjZWxlcmF0ZWQgdHJhbnNpdGlvbnNcclxuICogaHR0cDovL3N3aXBlcmpzLmNvbVxyXG4gKlxyXG4gKiBDb3B5cmlnaHQgMjAxNC0yMDE5IFZsYWRpbWlyIEtoYXJsYW1waWRpXHJcbiAqXHJcbiAqIFJlbGVhc2VkIHVuZGVyIHRoZSBNSVQgTGljZW5zZVxyXG4gKlxyXG4gKiBSZWxlYXNlZCBvbjogT2N0b2JlciAyNiwgMjAxOVxyXG4gKi9cclxuXHJcbkBmb250LWZhY2V7Zm9udC1mYW1pbHk6c3dpcGVyLWljb25zO3NyYzp1cmwoXCJkYXRhOmFwcGxpY2F0aW9uL2ZvbnQtd29mZjtjaGFyc2V0PXV0Zi04O2Jhc2U2NCwgZDA5R1JnQUJBQUFBQUFaZ0FCQUFBQUFBREFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUJHUmxSTkFBQUdSQUFBQUJvQUFBQWNpNnFIa1VkRVJVWUFBQVdnQUFBQUl3QUFBQ1FBWUFCWFIxQlBVd0FBQmhRQUFBQXVBQUFBTnVBWTcreEhVMVZDQUFBRnhBQUFBRkFBQUFCbTJmUGN6VTlUTHpJQUFBSGNBQUFBU2dBQUFHQlA5VjVSWTIxaGNBQUFBa1FBQUFDSUFBQUJZdDZGMGNCamRuUWdBQUFDekFBQUFBUUFBQUFFQUJFQlJHZGhjM0FBQUFXWUFBQUFDQUFBQUFqLy93QURaMng1WmdBQUF5d0FBQURNQUFBRDJNSHRyeVZvWldGa0FBQUJiQUFBQURBQUFBQTJFMitlb1dob1pXRUFBQUdjQUFBQUh3QUFBQ1FDOWdEemFHMTBlQUFBQWlnQUFBQVpBQUFBcmdKa0FCRnNiMk5oQUFBQzBBQUFBRm9BQUFCYUZRQVVHRzFoZUhBQUFBRzhBQUFBSHdBQUFDQUFjQUJBYm1GdFpRQUFBL2dBQUFFNUFBQUNYdkZkQndsd2IzTjBBQUFGTkFBQUFHSUFBQUNFNXM3NGhYamFZMkJrWUdBQVlwZjVIdS9qK1cyK01uQXpNWURBemFYNlFqRDYvNC8vQnhqNUdBOEF1UndNWUdrQVB5d0wxM2phWTJCa1lHQTg4UDhBZ3g0aisvOGZRRFlmQTFBRUJXZ0RBSUIyQk9vQWVOcGpZR1JnWU5CaDRHZGdZZ0FCRU1uSUFCSnpZTkFEQ1FBQUNXZ0FzUUI0Mm1OZ1lmekNPSUdCbFlHQjBZY3hqWUdCd1IxS2YyV1FaR2hoWUdCaVlHVm1nQUZHQmlRUWtPYWF3dERBb01CUXhYamcvd0VHUGNZRERBNHdOVUEyQ0Nnd3NBQUFPNEVMNmdBQWVOcGoyTTBneUFBQ3F4Z0dOV0JrWjJENC93TUEreGtEZGdBQUFIamFZMkJnWUdhQVlCa0dSZ1lRaUFIeUdNRjhGZ1lISU0zRHdNSEFCR1FyTU9neVdETEVNMVQ5L3c4VUJmRU1nTHpFLy8vL1AvNS8vZi9WL3h2K3I0ZWFBQWVNYkF4d0lVWW1JTUhFZ0tZQVlqVWNzREF3c0xLeGMzQnljZlB3OGpFUUEvZ1pCQVNGaEVWRXhjUWxKS1drWldUbDVCVVVsWlJWVk5YVU5UUVpCZ01BQU1SK0UrZ0FFUUZFQUFBQUtnQXFBQ29BTkFBK0FFZ0FVZ0JjQUdZQWNBQjZBSVFBamdDWUFLSUFyQUMyQU1BQXlnRFVBTjRBNkFEeUFQd0JCZ0VRQVJvQkpBRXVBVGdCUWdGTUFWWUJZQUZxQVhRQmZnR0lBWklCbkFHbUFiSUJ6Z0hzQUFCNDJ1Mk5NUTZDVUF5R1c1Njh4OUFuZVlZZ200TUpiaEtGYUV4SU9BVlg4QXBld1N0NEJpYzRBZmVBaWQzVk9CaXhEeGZQWUV6YTVPK1hmaTA0WUFEZ2dpVUlVTEN1RUpLOFZoTzRiU3ZwZG5rdEhJNVFDWXRkaTJzbDhablhhSGxxVXJOS3pkS2NUOGNqbHErcndaU3ZJVmN6TmllenNmblAvdXpubWZQRkJOT0RNMks3TVRRNDVZRUFacUdQODFBbUdHY0YzaVBxT29wMHIxU1BUYVRiVmtmVWU0SFhqOTd3WUUreU53V1l4d1d1NHYxdWdXSGdvM1MxWGRaRVZxV003RVQwY2ZuTEd4V2ZrZ1I0Mm8yUHZXckRNQlNGai9JSExhRjB6S2pSZ2RpVk13U2NOUkFvV1VvSDc4WTJpY0IveUlZMDlBbjZBSDJCZHUvVUIreXhvcFlzaFFpRXZudnUwZFVSZ0R0OFFlQzhQRHc3RnBqaTNmRUE0ei9QRUo2WU9CNWhLaDRkajNFdlhoeFBxSC9TS1VZM3JKN3NyWjRGWm5oMVBNQXRQaHdQNmZsMlBNSk1QRGdlUTRyWThZVDZHemFvMGVBRUE0MDlEdWdnbVRuRm5PY1NDaUVpTE1neENpVEk2Q3E1RFpVZDNRbXAxMHZPMExhTFRkMmNqTjRmT3VtbGM3bFVZYlNRY1pGa3V0Ukc3ZzZKS1pLeTBSbWRMWTY4MENEbkVKK1VNa3BGRmUxUk43bnhkVnBYckM0YVR0bmF1ck9uWWVyY1pnMllWbUxOL2QvZ2N6ZkVpbXJFL2ZzL2JPdXEyOVptbjh0bG9PUmFYZ1pnR2E3OHlPOS9jblhtMkJwYUd2cTI1RHY5UzRFOSs1U0ljOVBxdXBKS2hZRlNTbDQ3K1FjcjFtWU5BQUFBZU5wdHcwY0t3a0FBQU1EWkpBOFE3T1VKdmtMc1BmWjZ6RlZFUlB5OHFIaDJZRVIrM2kvQlA4M3ZJQkxMeVNzb0tpbXJxS3FwYTJocDYranE2UnNZR2htYm1KcVpTeTBzcmF4dGJPM3NIUnlkbkVNVTR1UjZ5eDdKSlh2ZVA3V3JEeWNBQUFBQUFBSC8vd0FDZU5wallHUmdZT0FCWWhrZ1pnSkNaZ1pOQmtZR0xRWnRJSnNGTE1ZQUFBdzNBTGdBZU5vbGl6RUtnREFRQkNjaFJiQzJzRkVSMFlENnFWUWlCQ3YvSDllekdJNlo1WEJBdzhDQksvbTVpUVFWYXVWYlhMbk9yTVp2Mm9MZEtGYThQanVydTJoSnpHYWJtT1NMek5NenZ1dHBCM040Mm1OZ1pHQmc0R0tRWXpCaFlNeEpMTWxqNEdCZ0FZb3cvUC9QQUpKaExNNnNTb1dLZldDQUF3REFqZ2JSQUFCNDJtTmdZR0JrQUlJYkNabzVJUHJtVW4waEdBMEFPOEVGVFFBQVwiKSBmb3JtYXQoXCJ3b2ZmXCIpO2ZvbnQtd2VpZ2h0OjQwMDtmb250LXN0eWxlOm5vcm1hbH06cm9vdHstLXN3aXBlci10aGVtZS1jb2xvcjojMDA3YWZmfS5zd2lwZXItY29udGFpbmVye21hcmdpbi1sZWZ0OmF1dG87bWFyZ2luLXJpZ2h0OmF1dG87cG9zaXRpb246cmVsYXRpdmU7b3ZlcmZsb3c6aGlkZGVuO2xpc3Qtc3R5bGU6bm9uZTtwYWRkaW5nOjA7ei1pbmRleDoxfS5zd2lwZXItY29udGFpbmVyLXZlcnRpY2FsPi5zd2lwZXItd3JhcHBlcntmbGV4LWRpcmVjdGlvbjpjb2x1bW59LnN3aXBlci13cmFwcGVye3Bvc2l0aW9uOnJlbGF0aXZlO3dpZHRoOjEwMCU7aGVpZ2h0OjEwMCU7ei1pbmRleDoxO2Rpc3BsYXk6ZmxleDt0cmFuc2l0aW9uLXByb3BlcnR5OnRyYW5zZm9ybTtib3gtc2l6aW5nOmNvbnRlbnQtYm94fS5zd2lwZXItY29udGFpbmVyLWFuZHJvaWQgLnN3aXBlci1zbGlkZSwuc3dpcGVyLXdyYXBwZXJ7dHJhbnNmb3JtOnRyYW5zbGF0ZTNkKDBweCwwLDApfS5zd2lwZXItY29udGFpbmVyLW11bHRpcm93Pi5zd2lwZXItd3JhcHBlcntmbGV4LXdyYXA6d3JhcH0uc3dpcGVyLWNvbnRhaW5lci1tdWx0aXJvdy1jb2x1bW4+LnN3aXBlci13cmFwcGVye2ZsZXgtd3JhcDp3cmFwO2ZsZXgtZGlyZWN0aW9uOmNvbHVtbn0uc3dpcGVyLWNvbnRhaW5lci1mcmVlLW1vZGU+LnN3aXBlci13cmFwcGVye3RyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOmVhc2Utb3V0O21hcmdpbjowIGF1dG99LnN3aXBlci1zbGlkZXtmbGV4LXNocmluazowO3dpZHRoOjEwMCU7aGVpZ2h0OjEwMCU7cG9zaXRpb246cmVsYXRpdmU7dHJhbnNpdGlvbi1wcm9wZXJ0eTp0cmFuc2Zvcm19LnN3aXBlci1zbGlkZS1pbnZpc2libGUtYmxhbmt7dmlzaWJpbGl0eTpoaWRkZW59LnN3aXBlci1jb250YWluZXItYXV0b2hlaWdodCwuc3dpcGVyLWNvbnRhaW5lci1hdXRvaGVpZ2h0IC5zd2lwZXItc2xpZGV7aGVpZ2h0OmF1dG99LnN3aXBlci1jb250YWluZXItYXV0b2hlaWdodCAuc3dpcGVyLXdyYXBwZXJ7YWxpZ24taXRlbXM6ZmxleC1zdGFydDt0cmFuc2l0aW9uLXByb3BlcnR5OnRyYW5zZm9ybSxoZWlnaHR9LnN3aXBlci1jb250YWluZXItM2R7cGVyc3BlY3RpdmU6MTIwMHB4fS5zd2lwZXItY29udGFpbmVyLTNkIC5zd2lwZXItY3ViZS1zaGFkb3csLnN3aXBlci1jb250YWluZXItM2QgLnN3aXBlci1zbGlkZSwuc3dpcGVyLWNvbnRhaW5lci0zZCAuc3dpcGVyLXNsaWRlLXNoYWRvdy1ib3R0b20sLnN3aXBlci1jb250YWluZXItM2QgLnN3aXBlci1zbGlkZS1zaGFkb3ctbGVmdCwuc3dpcGVyLWNvbnRhaW5lci0zZCAuc3dpcGVyLXNsaWRlLXNoYWRvdy1yaWdodCwuc3dpcGVyLWNvbnRhaW5lci0zZCAuc3dpcGVyLXNsaWRlLXNoYWRvdy10b3AsLnN3aXBlci1jb250YWluZXItM2QgLnN3aXBlci13cmFwcGVye3RyYW5zZm9ybS1zdHlsZTpwcmVzZXJ2ZS0zZH0uc3dpcGVyLWNvbnRhaW5lci0zZCAuc3dpcGVyLXNsaWRlLXNoYWRvdy1ib3R0b20sLnN3aXBlci1jb250YWluZXItM2QgLnN3aXBlci1zbGlkZS1zaGFkb3ctbGVmdCwuc3dpcGVyLWNvbnRhaW5lci0zZCAuc3dpcGVyLXNsaWRlLXNoYWRvdy1yaWdodCwuc3dpcGVyLWNvbnRhaW5lci0zZCAuc3dpcGVyLXNsaWRlLXNoYWRvdy10b3B7cG9zaXRpb246YWJzb2x1dGU7bGVmdDowO3RvcDowO3dpZHRoOjEwMCU7aGVpZ2h0OjEwMCU7cG9pbnRlci1ldmVudHM6bm9uZTt6LWluZGV4OjEwfS5zd2lwZXItY29udGFpbmVyLTNkIC5zd2lwZXItc2xpZGUtc2hhZG93LWxlZnR7YmFja2dyb3VuZC1pbWFnZTpsaW5lYXItZ3JhZGllbnQodG8gbGVmdCxyZ2JhKDAsMCwwLC41KSxyZ2JhKDAsMCwwLDApKX0uc3dpcGVyLWNvbnRhaW5lci0zZCAuc3dpcGVyLXNsaWRlLXNoYWRvdy1yaWdodHtiYWNrZ3JvdW5kLWltYWdlOmxpbmVhci1ncmFkaWVudCh0byByaWdodCxyZ2JhKDAsMCwwLC41KSxyZ2JhKDAsMCwwLDApKX0uc3dpcGVyLWNvbnRhaW5lci0zZCAuc3dpcGVyLXNsaWRlLXNoYWRvdy10b3B7YmFja2dyb3VuZC1pbWFnZTpsaW5lYXItZ3JhZGllbnQodG8gdG9wLHJnYmEoMCwwLDAsLjUpLHJnYmEoMCwwLDAsMCkpfS5zd2lwZXItY29udGFpbmVyLTNkIC5zd2lwZXItc2xpZGUtc2hhZG93LWJvdHRvbXtiYWNrZ3JvdW5kLWltYWdlOmxpbmVhci1ncmFkaWVudCh0byBib3R0b20scmdiYSgwLDAsMCwuNSkscmdiYSgwLDAsMCwwKSl9LnN3aXBlci1jb250YWluZXItY3NzLW1vZGU+LnN3aXBlci13cmFwcGVye292ZXJmbG93OmF1dG87c2Nyb2xsYmFyLXdpZHRoOm5vbmU7LW1zLW92ZXJmbG93LXN0eWxlOm5vbmV9LnN3aXBlci1jb250YWluZXItY3NzLW1vZGU+LnN3aXBlci13cmFwcGVyOjotd2Via2l0LXNjcm9sbGJhcntkaXNwbGF5Om5vbmV9LnN3aXBlci1jb250YWluZXItY3NzLW1vZGU+LnN3aXBlci13cmFwcGVyPi5zd2lwZXItc2xpZGV7c2Nyb2xsLXNuYXAtYWxpZ246c3RhcnQgc3RhcnR9LnN3aXBlci1jb250YWluZXItaG9yaXpvbnRhbC5zd2lwZXItY29udGFpbmVyLWNzcy1tb2RlPi5zd2lwZXItd3JhcHBlcntzY3JvbGwtc25hcC10eXBlOnggbWFuZGF0b3J5fS5zd2lwZXItY29udGFpbmVyLXZlcnRpY2FsLnN3aXBlci1jb250YWluZXItY3NzLW1vZGU+LnN3aXBlci13cmFwcGVye3Njcm9sbC1zbmFwLXR5cGU6eSBtYW5kYXRvcnl9OnJvb3R7LS1zd2lwZXItbmF2aWdhdGlvbi1zaXplOjQ0cHh9LnN3aXBlci1idXR0b24tbmV4dCwuc3dpcGVyLWJ1dHRvbi1wcmV2e3Bvc2l0aW9uOmFic29sdXRlO3RvcDo1MCU7d2lkdGg6Y2FsYyh2YXIoLS1zd2lwZXItbmF2aWdhdGlvbi1zaXplKS8gNDQgKiAyNyk7aGVpZ2h0OnZhcigtLXN3aXBlci1uYXZpZ2F0aW9uLXNpemUpO21hcmdpbi10b3A6Y2FsYygtMSAqIHZhcigtLXN3aXBlci1uYXZpZ2F0aW9uLXNpemUpLyAyKTt6LWluZGV4OjEwO2N1cnNvcjpwb2ludGVyO2Rpc3BsYXk6ZmxleDthbGlnbi1pdGVtczpjZW50ZXI7anVzdGlmeS1jb250ZW50OmNlbnRlcjtjb2xvcjp2YXIoLS1zd2lwZXItbmF2aWdhdGlvbi1jb2xvcix2YXIoLS1zd2lwZXItdGhlbWUtY29sb3IpKX0uc3dpcGVyLWJ1dHRvbi1uZXh0LnN3aXBlci1idXR0b24tZGlzYWJsZWQsLnN3aXBlci1idXR0b24tcHJldi5zd2lwZXItYnV0dG9uLWRpc2FibGVke29wYWNpdHk6LjM1O2N1cnNvcjphdXRvO3BvaW50ZXItZXZlbnRzOm5vbmV9LnN3aXBlci1idXR0b24tbmV4dDphZnRlciwuc3dpcGVyLWJ1dHRvbi1wcmV2OmFmdGVye2ZvbnQtZmFtaWx5OnN3aXBlci1pY29ucztmb250LXNpemU6dmFyKC0tc3dpcGVyLW5hdmlnYXRpb24tc2l6ZSk7dGV4dC10cmFuc2Zvcm06bm9uZSFpbXBvcnRhbnQ7bGV0dGVyLXNwYWNpbmc6MDt0ZXh0LXRyYW5zZm9ybTpub25lO2ZvbnQtdmFyaWFudDppbml0aWFsfS5zd2lwZXItYnV0dG9uLXByZXYsLnN3aXBlci1jb250YWluZXItcnRsIC5zd2lwZXItYnV0dG9uLW5leHR7bGVmdDoxMHB4O3JpZ2h0OmF1dG99LnN3aXBlci1idXR0b24tcHJldjphZnRlciwuc3dpcGVyLWNvbnRhaW5lci1ydGwgLnN3aXBlci1idXR0b24tbmV4dDphZnRlcntjb250ZW50OidwcmV2J30uc3dpcGVyLWJ1dHRvbi1uZXh0LC5zd2lwZXItY29udGFpbmVyLXJ0bCAuc3dpcGVyLWJ1dHRvbi1wcmV2e3JpZ2h0OjEwcHg7bGVmdDphdXRvfS5zd2lwZXItYnV0dG9uLW5leHQ6YWZ0ZXIsLnN3aXBlci1jb250YWluZXItcnRsIC5zd2lwZXItYnV0dG9uLXByZXY6YWZ0ZXJ7Y29udGVudDonbmV4dCd9LnN3aXBlci1idXR0b24tbmV4dC5zd2lwZXItYnV0dG9uLXdoaXRlLC5zd2lwZXItYnV0dG9uLXByZXYuc3dpcGVyLWJ1dHRvbi13aGl0ZXstLXN3aXBlci1uYXZpZ2F0aW9uLWNvbG9yOiNmZmZmZmZ9LnN3aXBlci1idXR0b24tbmV4dC5zd2lwZXItYnV0dG9uLWJsYWNrLC5zd2lwZXItYnV0dG9uLXByZXYuc3dpcGVyLWJ1dHRvbi1ibGFja3stLXN3aXBlci1uYXZpZ2F0aW9uLWNvbG9yOiMwMDAwMDB9LnN3aXBlci1idXR0b24tbG9ja3tkaXNwbGF5Om5vbmV9LnN3aXBlci1wYWdpbmF0aW9ue3Bvc2l0aW9uOmFic29sdXRlO3RleHQtYWxpZ246Y2VudGVyO3RyYW5zaXRpb246LjNzIG9wYWNpdHk7dHJhbnNmb3JtOnRyYW5zbGF0ZTNkKDAsMCwwKTt6LWluZGV4OjEwfS5zd2lwZXItcGFnaW5hdGlvbi5zd2lwZXItcGFnaW5hdGlvbi1oaWRkZW57b3BhY2l0eTowfS5zd2lwZXItY29udGFpbmVyLWhvcml6b250YWw+LnN3aXBlci1wYWdpbmF0aW9uLWJ1bGxldHMsLnN3aXBlci1wYWdpbmF0aW9uLWN1c3RvbSwuc3dpcGVyLXBhZ2luYXRpb24tZnJhY3Rpb257Ym90dG9tOjEwcHg7bGVmdDowO3dpZHRoOjEwMCV9LnN3aXBlci1wYWdpbmF0aW9uLWJ1bGxldHMtZHluYW1pY3tvdmVyZmxvdzpoaWRkZW47Zm9udC1zaXplOjB9LnN3aXBlci1wYWdpbmF0aW9uLWJ1bGxldHMtZHluYW1pYyAuc3dpcGVyLXBhZ2luYXRpb24tYnVsbGV0e3RyYW5zZm9ybTpzY2FsZSguMzMpO3Bvc2l0aW9uOnJlbGF0aXZlfS5zd2lwZXItcGFnaW5hdGlvbi1idWxsZXRzLWR5bmFtaWMgLnN3aXBlci1wYWdpbmF0aW9uLWJ1bGxldC1hY3RpdmV7dHJhbnNmb3JtOnNjYWxlKDEpfS5zd2lwZXItcGFnaW5hdGlvbi1idWxsZXRzLWR5bmFtaWMgLnN3aXBlci1wYWdpbmF0aW9uLWJ1bGxldC1hY3RpdmUtbWFpbnt0cmFuc2Zvcm06c2NhbGUoMSl9LnN3aXBlci1wYWdpbmF0aW9uLWJ1bGxldHMtZHluYW1pYyAuc3dpcGVyLXBhZ2luYXRpb24tYnVsbGV0LWFjdGl2ZS1wcmV2e3RyYW5zZm9ybTpzY2FsZSguNjYpfS5zd2lwZXItcGFnaW5hdGlvbi1idWxsZXRzLWR5bmFtaWMgLnN3aXBlci1wYWdpbmF0aW9uLWJ1bGxldC1hY3RpdmUtcHJldi1wcmV2e3RyYW5zZm9ybTpzY2FsZSguMzMpfS5zd2lwZXItcGFnaW5hdGlvbi1idWxsZXRzLWR5bmFtaWMgLnN3aXBlci1wYWdpbmF0aW9uLWJ1bGxldC1hY3RpdmUtbmV4dHt0cmFuc2Zvcm06c2NhbGUoLjY2KX0uc3dpcGVyLXBhZ2luYXRpb24tYnVsbGV0cy1keW5hbWljIC5zd2lwZXItcGFnaW5hdGlvbi1idWxsZXQtYWN0aXZlLW5leHQtbmV4dHt0cmFuc2Zvcm06c2NhbGUoLjMzKX0uc3dpcGVyLXBhZ2luYXRpb24tYnVsbGV0e3dpZHRoOjhweDtoZWlnaHQ6OHB4O2Rpc3BsYXk6aW5saW5lLWJsb2NrO2JvcmRlci1yYWRpdXM6MTAwJTtiYWNrZ3JvdW5kOiMwMDA7b3BhY2l0eTouMn1idXR0b24uc3dpcGVyLXBhZ2luYXRpb24tYnVsbGV0e2JvcmRlcjpub25lO21hcmdpbjowO3BhZGRpbmc6MDtib3gtc2hhZG93Om5vbmU7LXdlYmtpdC1hcHBlYXJhbmNlOm5vbmU7LW1vei1hcHBlYXJhbmNlOm5vbmU7YXBwZWFyYW5jZTpub25lfS5zd2lwZXItcGFnaW5hdGlvbi1jbGlja2FibGUgLnN3aXBlci1wYWdpbmF0aW9uLWJ1bGxldHtjdXJzb3I6cG9pbnRlcn0uc3dpcGVyLXBhZ2luYXRpb24tYnVsbGV0LWFjdGl2ZXtvcGFjaXR5OjE7YmFja2dyb3VuZDp2YXIoLS1zd2lwZXItcGFnaW5hdGlvbi1jb2xvcix2YXIoLS1zd2lwZXItdGhlbWUtY29sb3IpKX0uc3dpcGVyLWNvbnRhaW5lci12ZXJ0aWNhbD4uc3dpcGVyLXBhZ2luYXRpb24tYnVsbGV0c3tyaWdodDoxMHB4O3RvcDo1MCU7dHJhbnNmb3JtOnRyYW5zbGF0ZTNkKDBweCwtNTAlLDApfS5zd2lwZXItY29udGFpbmVyLXZlcnRpY2FsPi5zd2lwZXItcGFnaW5hdGlvbi1idWxsZXRzIC5zd2lwZXItcGFnaW5hdGlvbi1idWxsZXR7bWFyZ2luOjZweCAwO2Rpc3BsYXk6YmxvY2t9LnN3aXBlci1jb250YWluZXItdmVydGljYWw+LnN3aXBlci1wYWdpbmF0aW9uLWJ1bGxldHMuc3dpcGVyLXBhZ2luYXRpb24tYnVsbGV0cy1keW5hbWlje3RvcDo1MCU7dHJhbnNmb3JtOnRyYW5zbGF0ZVkoLTUwJSk7d2lkdGg6OHB4fS5zd2lwZXItY29udGFpbmVyLXZlcnRpY2FsPi5zd2lwZXItcGFnaW5hdGlvbi1idWxsZXRzLnN3aXBlci1wYWdpbmF0aW9uLWJ1bGxldHMtZHluYW1pYyAuc3dpcGVyLXBhZ2luYXRpb24tYnVsbGV0e2Rpc3BsYXk6aW5saW5lLWJsb2NrO3RyYW5zaXRpb246LjJzIHRyYW5zZm9ybSwuMnMgdG9wfS5zd2lwZXItY29udGFpbmVyLWhvcml6b250YWw+LnN3aXBlci1wYWdpbmF0aW9uLWJ1bGxldHMgLnN3aXBlci1wYWdpbmF0aW9uLWJ1bGxldHttYXJnaW46MCA0cHh9LnN3aXBlci1jb250YWluZXItaG9yaXpvbnRhbD4uc3dpcGVyLXBhZ2luYXRpb24tYnVsbGV0cy5zd2lwZXItcGFnaW5hdGlvbi1idWxsZXRzLWR5bmFtaWN7bGVmdDo1MCU7dHJhbnNmb3JtOnRyYW5zbGF0ZVgoLTUwJSk7d2hpdGUtc3BhY2U6bm93cmFwfS5zd2lwZXItY29udGFpbmVyLWhvcml6b250YWw+LnN3aXBlci1wYWdpbmF0aW9uLWJ1bGxldHMuc3dpcGVyLXBhZ2luYXRpb24tYnVsbGV0cy1keW5hbWljIC5zd2lwZXItcGFnaW5hdGlvbi1idWxsZXR7dHJhbnNpdGlvbjouMnMgdHJhbnNmb3JtLC4ycyBsZWZ0fS5zd2lwZXItY29udGFpbmVyLWhvcml6b250YWwuc3dpcGVyLWNvbnRhaW5lci1ydGw+LnN3aXBlci1wYWdpbmF0aW9uLWJ1bGxldHMtZHluYW1pYyAuc3dpcGVyLXBhZ2luYXRpb24tYnVsbGV0e3RyYW5zaXRpb246LjJzIHRyYW5zZm9ybSwuMnMgcmlnaHR9LnN3aXBlci1wYWdpbmF0aW9uLXByb2dyZXNzYmFye2JhY2tncm91bmQ6cmdiYSgwLDAsMCwuMjUpO3Bvc2l0aW9uOmFic29sdXRlfS5zd2lwZXItcGFnaW5hdGlvbi1wcm9ncmVzc2JhciAuc3dpcGVyLXBhZ2luYXRpb24tcHJvZ3Jlc3NiYXItZmlsbHtiYWNrZ3JvdW5kOnZhcigtLXN3aXBlci1wYWdpbmF0aW9uLWNvbG9yLHZhcigtLXN3aXBlci10aGVtZS1jb2xvcikpO3Bvc2l0aW9uOmFic29sdXRlO2xlZnQ6MDt0b3A6MDt3aWR0aDoxMDAlO2hlaWdodDoxMDAlO3RyYW5zZm9ybTpzY2FsZSgwKTt0cmFuc2Zvcm0tb3JpZ2luOmxlZnQgdG9wfS5zd2lwZXItY29udGFpbmVyLXJ0bCAuc3dpcGVyLXBhZ2luYXRpb24tcHJvZ3Jlc3NiYXIgLnN3aXBlci1wYWdpbmF0aW9uLXByb2dyZXNzYmFyLWZpbGx7dHJhbnNmb3JtLW9yaWdpbjpyaWdodCB0b3B9LnN3aXBlci1jb250YWluZXItaG9yaXpvbnRhbD4uc3dpcGVyLXBhZ2luYXRpb24tcHJvZ3Jlc3NiYXIsLnN3aXBlci1jb250YWluZXItdmVydGljYWw+LnN3aXBlci1wYWdpbmF0aW9uLXByb2dyZXNzYmFyLnN3aXBlci1wYWdpbmF0aW9uLXByb2dyZXNzYmFyLW9wcG9zaXRle3dpZHRoOjEwMCU7aGVpZ2h0OjRweDtsZWZ0OjA7dG9wOjB9LnN3aXBlci1jb250YWluZXItaG9yaXpvbnRhbD4uc3dpcGVyLXBhZ2luYXRpb24tcHJvZ3Jlc3NiYXIuc3dpcGVyLXBhZ2luYXRpb24tcHJvZ3Jlc3NiYXItb3Bwb3NpdGUsLnN3aXBlci1jb250YWluZXItdmVydGljYWw+LnN3aXBlci1wYWdpbmF0aW9uLXByb2dyZXNzYmFye3dpZHRoOjRweDtoZWlnaHQ6MTAwJTtsZWZ0OjA7dG9wOjB9LnN3aXBlci1wYWdpbmF0aW9uLXdoaXRley0tc3dpcGVyLXBhZ2luYXRpb24tY29sb3I6I2ZmZmZmZn0uc3dpcGVyLXBhZ2luYXRpb24tYmxhY2t7LS1zd2lwZXItcGFnaW5hdGlvbi1jb2xvcjojMDAwMDAwfS5zd2lwZXItcGFnaW5hdGlvbi1sb2Nre2Rpc3BsYXk6bm9uZX0uc3dpcGVyLXNjcm9sbGJhcntib3JkZXItcmFkaXVzOjEwcHg7cG9zaXRpb246cmVsYXRpdmU7LW1zLXRvdWNoLWFjdGlvbjpub25lO2JhY2tncm91bmQ6cmdiYSgwLDAsMCwuMSl9LnN3aXBlci1jb250YWluZXItaG9yaXpvbnRhbD4uc3dpcGVyLXNjcm9sbGJhcntwb3NpdGlvbjphYnNvbHV0ZTtsZWZ0OjElO2JvdHRvbTozcHg7ei1pbmRleDo1MDtoZWlnaHQ6NXB4O3dpZHRoOjk4JX0uc3dpcGVyLWNvbnRhaW5lci12ZXJ0aWNhbD4uc3dpcGVyLXNjcm9sbGJhcntwb3NpdGlvbjphYnNvbHV0ZTtyaWdodDozcHg7dG9wOjElO3otaW5kZXg6NTA7d2lkdGg6NXB4O2hlaWdodDo5OCV9LnN3aXBlci1zY3JvbGxiYXItZHJhZ3toZWlnaHQ6MTAwJTt3aWR0aDoxMDAlO3Bvc2l0aW9uOnJlbGF0aXZlO2JhY2tncm91bmQ6cmdiYSgwLDAsMCwuNSk7Ym9yZGVyLXJhZGl1czoxMHB4O2xlZnQ6MDt0b3A6MH0uc3dpcGVyLXNjcm9sbGJhci1jdXJzb3ItZHJhZ3tjdXJzb3I6bW92ZX0uc3dpcGVyLXNjcm9sbGJhci1sb2Nre2Rpc3BsYXk6bm9uZX0uc3dpcGVyLXpvb20tY29udGFpbmVye3dpZHRoOjEwMCU7aGVpZ2h0OjEwMCU7ZGlzcGxheTpmbGV4O2p1c3RpZnktY29udGVudDpjZW50ZXI7YWxpZ24taXRlbXM6Y2VudGVyO3RleHQtYWxpZ246Y2VudGVyfS5zd2lwZXItem9vbS1jb250YWluZXI+Y2FudmFzLC5zd2lwZXItem9vbS1jb250YWluZXI+aW1nLC5zd2lwZXItem9vbS1jb250YWluZXI+c3Zne21heC13aWR0aDoxMDAlO21heC1oZWlnaHQ6MTAwJTtvYmplY3QtZml0OmNvbnRhaW59LnN3aXBlci1zbGlkZS16b29tZWR7Y3Vyc29yOm1vdmV9LnN3aXBlci1sYXp5LXByZWxvYWRlcnt3aWR0aDo0MnB4O2hlaWdodDo0MnB4O3Bvc2l0aW9uOmFic29sdXRlO2xlZnQ6NTAlO3RvcDo1MCU7bWFyZ2luLWxlZnQ6LTIxcHg7bWFyZ2luLXRvcDotMjFweDt6LWluZGV4OjEwO3RyYW5zZm9ybS1vcmlnaW46NTAlO2FuaW1hdGlvbjpzd2lwZXItcHJlbG9hZGVyLXNwaW4gMXMgaW5maW5pdGUgbGluZWFyO2JveC1zaXppbmc6Ym9yZGVyLWJveDtib3JkZXI6NHB4IHNvbGlkIHZhcigtLXN3aXBlci1wcmVsb2FkZXItY29sb3IsdmFyKC0tc3dpcGVyLXRoZW1lLWNvbG9yKSk7Ym9yZGVyLXJhZGl1czo1MCU7Ym9yZGVyLXRvcC1jb2xvcjp0cmFuc3BhcmVudH0uc3dpcGVyLWxhenktcHJlbG9hZGVyLXdoaXRley0tc3dpcGVyLXByZWxvYWRlci1jb2xvcjojZmZmfS5zd2lwZXItbGF6eS1wcmVsb2FkZXItYmxhY2t7LS1zd2lwZXItcHJlbG9hZGVyLWNvbG9yOiMwMDB9QGtleWZyYW1lcyBzd2lwZXItcHJlbG9hZGVyLXNwaW57MTAwJXt0cmFuc2Zvcm06cm90YXRlKDM2MGRlZyl9fS5zd2lwZXItY29udGFpbmVyIC5zd2lwZXItbm90aWZpY2F0aW9ue3Bvc2l0aW9uOmFic29sdXRlO2xlZnQ6MDt0b3A6MDtwb2ludGVyLWV2ZW50czpub25lO29wYWNpdHk6MDt6LWluZGV4Oi0xMDAwfS5zd2lwZXItY29udGFpbmVyLWZhZGUuc3dpcGVyLWNvbnRhaW5lci1mcmVlLW1vZGUgLnN3aXBlci1zbGlkZXt0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjplYXNlLW91dH0uc3dpcGVyLWNvbnRhaW5lci1mYWRlIC5zd2lwZXItc2xpZGV7cG9pbnRlci1ldmVudHM6bm9uZTt0cmFuc2l0aW9uLXByb3BlcnR5Om9wYWNpdHl9LnN3aXBlci1jb250YWluZXItZmFkZSAuc3dpcGVyLXNsaWRlIC5zd2lwZXItc2xpZGV7cG9pbnRlci1ldmVudHM6bm9uZX0uc3dpcGVyLWNvbnRhaW5lci1mYWRlIC5zd2lwZXItc2xpZGUtYWN0aXZlLC5zd2lwZXItY29udGFpbmVyLWZhZGUgLnN3aXBlci1zbGlkZS1hY3RpdmUgLnN3aXBlci1zbGlkZS1hY3RpdmV7cG9pbnRlci1ldmVudHM6YXV0b30uc3dpcGVyLWNvbnRhaW5lci1jdWJle292ZXJmbG93OnZpc2libGV9LnN3aXBlci1jb250YWluZXItY3ViZSAuc3dpcGVyLXNsaWRle3BvaW50ZXItZXZlbnRzOm5vbmU7LXdlYmtpdC1iYWNrZmFjZS12aXNpYmlsaXR5OmhpZGRlbjtiYWNrZmFjZS12aXNpYmlsaXR5OmhpZGRlbjt6LWluZGV4OjE7dmlzaWJpbGl0eTpoaWRkZW47dHJhbnNmb3JtLW9yaWdpbjowIDA7d2lkdGg6MTAwJTtoZWlnaHQ6MTAwJX0uc3dpcGVyLWNvbnRhaW5lci1jdWJlIC5zd2lwZXItc2xpZGUgLnN3aXBlci1zbGlkZXtwb2ludGVyLWV2ZW50czpub25lfS5zd2lwZXItY29udGFpbmVyLWN1YmUuc3dpcGVyLWNvbnRhaW5lci1ydGwgLnN3aXBlci1zbGlkZXt0cmFuc2Zvcm0tb3JpZ2luOjEwMCUgMH0uc3dpcGVyLWNvbnRhaW5lci1jdWJlIC5zd2lwZXItc2xpZGUtYWN0aXZlLC5zd2lwZXItY29udGFpbmVyLWN1YmUgLnN3aXBlci1zbGlkZS1hY3RpdmUgLnN3aXBlci1zbGlkZS1hY3RpdmV7cG9pbnRlci1ldmVudHM6YXV0b30uc3dpcGVyLWNvbnRhaW5lci1jdWJlIC5zd2lwZXItc2xpZGUtYWN0aXZlLC5zd2lwZXItY29udGFpbmVyLWN1YmUgLnN3aXBlci1zbGlkZS1uZXh0LC5zd2lwZXItY29udGFpbmVyLWN1YmUgLnN3aXBlci1zbGlkZS1uZXh0Ky5zd2lwZXItc2xpZGUsLnN3aXBlci1jb250YWluZXItY3ViZSAuc3dpcGVyLXNsaWRlLXByZXZ7cG9pbnRlci1ldmVudHM6YXV0bzt2aXNpYmlsaXR5OnZpc2libGV9LnN3aXBlci1jb250YWluZXItY3ViZSAuc3dpcGVyLXNsaWRlLXNoYWRvdy1ib3R0b20sLnN3aXBlci1jb250YWluZXItY3ViZSAuc3dpcGVyLXNsaWRlLXNoYWRvdy1sZWZ0LC5zd2lwZXItY29udGFpbmVyLWN1YmUgLnN3aXBlci1zbGlkZS1zaGFkb3ctcmlnaHQsLnN3aXBlci1jb250YWluZXItY3ViZSAuc3dpcGVyLXNsaWRlLXNoYWRvdy10b3B7ei1pbmRleDowOy13ZWJraXQtYmFja2ZhY2UtdmlzaWJpbGl0eTpoaWRkZW47YmFja2ZhY2UtdmlzaWJpbGl0eTpoaWRkZW59LnN3aXBlci1jb250YWluZXItY3ViZSAuc3dpcGVyLWN1YmUtc2hhZG93e3Bvc2l0aW9uOmFic29sdXRlO2xlZnQ6MDtib3R0b206MHB4O3dpZHRoOjEwMCU7aGVpZ2h0OjEwMCU7YmFja2dyb3VuZDojMDAwO29wYWNpdHk6LjY7LXdlYmtpdC1maWx0ZXI6Ymx1cig1MHB4KTtmaWx0ZXI6Ymx1cig1MHB4KTt6LWluZGV4OjB9LnN3aXBlci1jb250YWluZXItZmxpcHtvdmVyZmxvdzp2aXNpYmxlfS5zd2lwZXItY29udGFpbmVyLWZsaXAgLnN3aXBlci1zbGlkZXtwb2ludGVyLWV2ZW50czpub25lOy13ZWJraXQtYmFja2ZhY2UtdmlzaWJpbGl0eTpoaWRkZW47YmFja2ZhY2UtdmlzaWJpbGl0eTpoaWRkZW47ei1pbmRleDoxfS5zd2lwZXItY29udGFpbmVyLWZsaXAgLnN3aXBlci1zbGlkZSAuc3dpcGVyLXNsaWRle3BvaW50ZXItZXZlbnRzOm5vbmV9LnN3aXBlci1jb250YWluZXItZmxpcCAuc3dpcGVyLXNsaWRlLWFjdGl2ZSwuc3dpcGVyLWNvbnRhaW5lci1mbGlwIC5zd2lwZXItc2xpZGUtYWN0aXZlIC5zd2lwZXItc2xpZGUtYWN0aXZle3BvaW50ZXItZXZlbnRzOmF1dG99LnN3aXBlci1jb250YWluZXItZmxpcCAuc3dpcGVyLXNsaWRlLXNoYWRvdy1ib3R0b20sLnN3aXBlci1jb250YWluZXItZmxpcCAuc3dpcGVyLXNsaWRlLXNoYWRvdy1sZWZ0LC5zd2lwZXItY29udGFpbmVyLWZsaXAgLnN3aXBlci1zbGlkZS1zaGFkb3ctcmlnaHQsLnN3aXBlci1jb250YWluZXItZmxpcCAuc3dpcGVyLXNsaWRlLXNoYWRvdy10b3B7ei1pbmRleDowOy13ZWJraXQtYmFja2ZhY2UtdmlzaWJpbGl0eTpoaWRkZW47YmFja2ZhY2UtdmlzaWJpbGl0eTpoaWRkZW59IiwiLmZhbmN5Ym94LWVuYWJsZWQge1xyXG4gIG92ZXJmbG93OiBoaWRkZW47IH1cclxuXHJcbi5mYW5jeWJveC1lbmFibGVkIGJvZHkge1xyXG4gIG92ZXJmbG93OiB2aXNpYmxlO1xyXG4gIC1tcy10b3VjaC1hY3Rpb246IG5vbmU7XHJcbiAgdG91Y2gtYWN0aW9uOiBub25lOyB9XHJcblxyXG4uZmFuY3lib3gtY29udGFpbmVyIHtcclxuICBwb3NpdGlvbjogZml4ZWQ7XHJcbiAgdG9wOiAwO1xyXG4gIGxlZnQ6IDA7XHJcbiAgd2lkdGg6IDEwMCU7XHJcbiAgaGVpZ2h0OiAxMDAlO1xyXG4gIHotaW5kZXg6IDk5OTkzO1xyXG4gIC13ZWJraXQtYmFja2ZhY2UtdmlzaWJpbGl0eTogaGlkZGVuO1xyXG4gIGJhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlbjsgfVxyXG5cclxuLyogTWFrZSBzdXJlIHRoYXQgdGhlIGZpcnN0IG9uZSBpcyBvbiB0aGUgdG9wICovXHJcbi5mYW5jeWJveC1jb250YWluZXIgfiAuZmFuY3lib3gtY29udGFpbmVyIHtcclxuICB6LWluZGV4OiA5OTk5MjsgfVxyXG5cclxuLmZhbmN5Ym94LWJnIHtcclxuICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgdG9wOiAwO1xyXG4gIHJpZ2h0OiAwO1xyXG4gIGJvdHRvbTogMDtcclxuICBsZWZ0OiAwO1xyXG4gIGJhY2tncm91bmQ6ICMwZjBmMTE7XHJcbiAgb3BhY2l0eTogMDtcclxuICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuNTUsIDAuMDYsIDAuNjgsIDAuMTkpO1xyXG4gIC13ZWJraXQtYmFja2ZhY2UtdmlzaWJpbGl0eTogaGlkZGVuO1xyXG4gIGJhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlbjsgfVxyXG5cclxuLmZhbmN5Ym94LWNvbnRhaW5lci0tcmVhZHkgLmZhbmN5Ym94LWJnIHtcclxuICBvcGFjaXR5OiAwLjg3O1xyXG4gIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC4yMiwgMC42MSwgMC4zNiwgMSk7IH1cclxuXHJcbi5mYW5jeWJveC1jb250cm9scyB7XHJcbiAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gIHRvcDogMDtcclxuICBsZWZ0OiAwO1xyXG4gIHJpZ2h0OiAwO1xyXG4gIHRleHQtYWxpZ246IGNlbnRlcjtcclxuICBvcGFjaXR5OiAwO1xyXG4gIHotaW5kZXg6IDk5OTk0O1xyXG4gIHRyYW5zaXRpb246IG9wYWNpdHkgLjJzO1xyXG4gIHBvaW50ZXItZXZlbnRzOiBub25lO1xyXG4gIC13ZWJraXQtYmFja2ZhY2UtdmlzaWJpbGl0eTogaGlkZGVuO1xyXG4gIGJhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlbjtcclxuICBkaXJlY3Rpb246IGx0cjsgfVxyXG5cclxuLmZhbmN5Ym94LXNob3ctY29udHJvbHMgLmZhbmN5Ym94LWNvbnRyb2xzIHtcclxuICBvcGFjaXR5OiAxOyB9XHJcblxyXG4uZmFuY3lib3gtaW5mb2JhciB7XHJcbiAgZGlzcGxheTogbm9uZTsgfVxyXG5cclxuLmZhbmN5Ym94LXNob3ctaW5mb2JhciAuZmFuY3lib3gtaW5mb2JhciB7XHJcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG4gIHBvaW50ZXItZXZlbnRzOiBhbGw7IH1cclxuXHJcbi5mYW5jeWJveC1pbmZvYmFyX19ib2R5IHtcclxuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcbiAgd2lkdGg6IDcwcHg7XHJcbiAgbGluZS1oZWlnaHQ6IDQ0cHg7XHJcbiAgZm9udC1zaXplOiAxM3B4O1xyXG4gIGZvbnQtZmFtaWx5OiBcIkhlbHZldGljYSBOZXVlXCIsSGVsdmV0aWNhLEFyaWFsLHNhbnMtc2VyaWY7XHJcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xyXG4gIGNvbG9yOiAjZGRkO1xyXG4gIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMzAsIDMwLCAzMCwgMC43KTtcclxuICBwb2ludGVyLWV2ZW50czogbm9uZTtcclxuICAtd2Via2l0LXVzZXItc2VsZWN0OiBub25lO1xyXG4gIC1tb3otdXNlci1zZWxlY3Q6IG5vbmU7XHJcbiAgLW1zLXVzZXItc2VsZWN0OiBub25lO1xyXG4gIHVzZXItc2VsZWN0OiBub25lO1xyXG4gIC13ZWJraXQtdG91Y2gtY2FsbG91dDogbm9uZTtcclxuICAtd2Via2l0LXRhcC1oaWdobGlnaHQtY29sb3I6IHRyYW5zcGFyZW50O1xyXG4gIC13ZWJraXQtZm9udC1zbW9vdGhpbmc6IHN1YnBpeGVsLWFudGlhbGlhc2VkOyB9XHJcblxyXG4uZmFuY3lib3gtYnV0dG9ucyB7XHJcbiAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gIHRvcDogMDtcclxuICByaWdodDogMDtcclxuICBkaXNwbGF5OiBub25lO1xyXG4gIHBvaW50ZXItZXZlbnRzOiBhbGw7IH1cclxuXHJcbi5mYW5jeWJveC1zaG93LWJ1dHRvbnMgLmZhbmN5Ym94LWJ1dHRvbnMge1xyXG4gIGRpc3BsYXk6IGJsb2NrOyB9XHJcblxyXG4uZmFuY3lib3gtc2xpZGVyLXdyYXAge1xyXG4gIG92ZXJmbG93OiBoaWRkZW47XHJcbiAgZGlyZWN0aW9uOiBsdHI7IH1cclxuXHJcbi5mYW5jeWJveC1zbGlkZXItd3JhcCxcclxuLmZhbmN5Ym94LXNsaWRlciB7XHJcbiAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gIHRvcDogMDtcclxuICBsZWZ0OiAwO1xyXG4gIGJvdHRvbTogMDtcclxuICByaWdodDogMDtcclxuICBwYWRkaW5nOiAwO1xyXG4gIG1hcmdpbjogMDtcclxuICB6LWluZGV4OiA5OTk5MztcclxuICAtd2Via2l0LWJhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlbjtcclxuICBiYWNrZmFjZS12aXNpYmlsaXR5OiBoaWRkZW47XHJcbiAgLXdlYmtpdC10YXAtaGlnaGxpZ2h0LWNvbG9yOiB0cmFuc3BhcmVudDsgfVxyXG5cclxuLmZhbmN5Ym94LXNsaWRlIHtcclxuICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgdG9wOiAwO1xyXG4gIGxlZnQ6IDA7XHJcbiAgd2lkdGg6IDEwMCU7XHJcbiAgaGVpZ2h0OiAxMDAlO1xyXG4gIG1hcmdpbjogMDtcclxuICBwYWRkaW5nOiAwO1xyXG4gIG92ZXJmbG93OiBhdXRvO1xyXG4gIG91dGxpbmU6IG5vbmU7XHJcbiAgd2hpdGUtc3BhY2U6IG5vcm1hbDtcclxuICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xyXG4gIHRleHQtYWxpZ246IGNlbnRlcjtcclxuICB6LWluZGV4OiA5OTk5NDtcclxuICAtd2Via2l0LW92ZXJmbG93LXNjcm9sbGluZzogdG91Y2g7IH1cclxuXHJcbi5mYW5jeWJveC1zbGlkZTo6YmVmb3JlIHtcclxuICBjb250ZW50OiAnJztcclxuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcbiAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcclxuICBoZWlnaHQ6IDEwMCU7XHJcbiAgd2lkdGg6IDA7IH1cclxuXHJcbi5mYW5jeWJveC1zbGlkZSA+ICoge1xyXG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgcGFkZGluZzogMjRweDtcclxuICBtYXJnaW46IDQ0cHggMCA0NHB4O1xyXG4gIGJvcmRlci13aWR0aDogMDtcclxuICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xyXG4gIHRleHQtYWxpZ246IGxlZnQ7XHJcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjtcclxuICBvdmVyZmxvdzogYXV0bztcclxuICBib3gtc2l6aW5nOiBib3JkZXItYm94OyB9XHJcblxyXG4uZmFuY3lib3gtc2xpZGUtLWltYWdlIHtcclxuICBvdmVyZmxvdzogaGlkZGVuOyB9XHJcblxyXG4uZmFuY3lib3gtc2xpZGUtLWltYWdlOjpiZWZvcmUge1xyXG4gIGRpc3BsYXk6IG5vbmU7IH1cclxuXHJcbi5mYW5jeWJveC1jb250ZW50IHtcclxuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gIG1hcmdpbjogNDRweCBhdXRvO1xyXG4gIHBhZGRpbmc6IDA7XHJcbiAgYm9yZGVyOiAwO1xyXG4gIHdpZHRoOiA4MCU7XHJcbiAgaGVpZ2h0OiBjYWxjKDEwMCUgLSA4OHB4KTtcclxuICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xyXG4gIGxpbmUtaGVpZ2h0OiBub3JtYWw7XHJcbiAgdGV4dC1hbGlnbjogbGVmdDtcclxuICB3aGl0ZS1zcGFjZTogbm9ybWFsO1xyXG4gIG91dGxpbmU6IG5vbmU7XHJcbiAgZm9udC1zaXplOiAxNnB4O1xyXG4gIGZvbnQtZmFtaWx5OiBBcmlhbCwgc2Fucy1zZXJpZjtcclxuICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xyXG4gIC13ZWJraXQtdGFwLWhpZ2hsaWdodC1jb2xvcjogdHJhbnNwYXJlbnQ7XHJcbiAgLXdlYmtpdC1vdmVyZmxvdy1zY3JvbGxpbmc6IHRvdWNoOyB9XHJcblxyXG4uZmFuY3lib3gtaWZyYW1lIHtcclxuICBkaXNwbGF5OiBibG9jaztcclxuICBtYXJnaW46IDA7XHJcbiAgcGFkZGluZzogMDtcclxuICBib3JkZXI6IDA7XHJcbiAgd2lkdGg6IDEwMCU7XHJcbiAgaGVpZ2h0OiAxMDAlO1xyXG4gIGJhY2tncm91bmQ6ICNmZmY7IH1cclxuXHJcbi5mYW5jeWJveC1zbGlkZS0tdmlkZW8gLmZhbmN5Ym94LWNvbnRlbnQsXHJcbi5mYW5jeWJveC1zbGlkZS0tdmlkZW8gLmZhbmN5Ym94LWlmcmFtZSB7XHJcbiAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7IH1cclxuXHJcbi5mYW5jeWJveC1wbGFjZWhvbGRlciB7XHJcbiAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gIHRvcDogMDtcclxuICBsZWZ0OiAwO1xyXG4gIG1hcmdpbjogMDtcclxuICBwYWRkaW5nOiAwO1xyXG4gIGJvcmRlcjogMDtcclxuICB6LWluZGV4OiA5OTk5NTtcclxuICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcclxuICBjdXJzb3I6IGRlZmF1bHQ7XHJcbiAgb3ZlcmZsb3c6IHZpc2libGU7XHJcbiAgLXdlYmtpdC10cmFuc2Zvcm0tb3JpZ2luOiB0b3AgbGVmdDtcclxuICAtbXMtdHJhbnNmb3JtLW9yaWdpbjogdG9wIGxlZnQ7XHJcbiAgdHJhbnNmb3JtLW9yaWdpbjogdG9wIGxlZnQ7XHJcbiAgYmFja2dyb3VuZC1zaXplOiAxMDAlIDEwMCU7XHJcbiAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcclxuICAtd2Via2l0LWJhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlbjtcclxuICBiYWNrZmFjZS12aXNpYmlsaXR5OiBoaWRkZW47IH1cclxuXHJcbi5mYW5jeWJveC1pbWFnZSxcclxuLmZhbmN5Ym94LXNwYWNlYmFsbCB7XHJcbiAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gIHRvcDogMDtcclxuICBsZWZ0OiAwO1xyXG4gIHdpZHRoOiAxMDAlO1xyXG4gIGhlaWdodDogMTAwJTtcclxuICBtYXJnaW46IDA7XHJcbiAgcGFkZGluZzogMDtcclxuICBib3JkZXI6IDA7XHJcbiAgbWF4LXdpZHRoOiBub25lO1xyXG4gIG1heC1oZWlnaHQ6IG5vbmU7XHJcbiAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XHJcbiAgYmFja2dyb3VuZC1zaXplOiAxMDAlIDEwMCU7IH1cclxuXHJcbi5mYW5jeWJveC1jb250cm9scy0tY2Fuem9vbU91dCAuZmFuY3lib3gtcGxhY2Vob2xkZXIge1xyXG4gIGN1cnNvcjogLXdlYmtpdC16b29tLW91dDtcclxuICBjdXJzb3I6IHpvb20tb3V0OyB9XHJcblxyXG4uZmFuY3lib3gtY29udHJvbHMtLWNhbnpvb21JbiAuZmFuY3lib3gtcGxhY2Vob2xkZXIge1xyXG4gIGN1cnNvcjogLXdlYmtpdC16b29tLWluO1xyXG4gIGN1cnNvcjogem9vbS1pbjsgfVxyXG5cclxuLmZhbmN5Ym94LWNvbnRyb2xzLS1jYW5HcmFiIC5mYW5jeWJveC1wbGFjZWhvbGRlciB7XHJcbiAgY3Vyc29yOiAtd2Via2l0LWdyYWI7XHJcbiAgY3Vyc29yOiBncmFiOyB9XHJcblxyXG4uZmFuY3lib3gtY29udHJvbHMtLWlzR3JhYmJpbmcgLmZhbmN5Ym94LXBsYWNlaG9sZGVyIHtcclxuICBjdXJzb3I6IC13ZWJraXQtZ3JhYmJpbmc7XHJcbiAgY3Vyc29yOiBncmFiYmluZzsgfVxyXG5cclxuLmZhbmN5Ym94LXNwYWNlYmFsbCB7XHJcbiAgei1pbmRleDogMTsgfVxyXG5cclxuLmZhbmN5Ym94LXRtcCB7XHJcbiAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gIHRvcDogLTk5OTlweDtcclxuICBsZWZ0OiAtOTk5OXB4O1xyXG4gIHZpc2liaWxpdHk6IGhpZGRlbjsgfVxyXG5cclxuLmZhbmN5Ym94LWVycm9yIHtcclxuICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgbWFyZ2luOiAwO1xyXG4gIHBhZGRpbmc6IDQwcHg7XHJcbiAgdG9wOiA1MCU7XHJcbiAgbGVmdDogNTAlO1xyXG4gIHdpZHRoOiAzODBweDtcclxuICBtYXgtd2lkdGg6IDEwMCU7XHJcbiAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAtNTAlKTtcclxuICAtbXMtdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgLTUwJSk7XHJcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgLTUwJSk7XHJcbiAgYmFja2dyb3VuZDogI2ZmZjtcclxuICBjdXJzb3I6IGRlZmF1bHQ7IH1cclxuXHJcbi5mYW5jeWJveC1lcnJvciBwIHtcclxuICBtYXJnaW46IDA7XHJcbiAgcGFkZGluZzogMDtcclxuICBjb2xvcjogIzQ0NDtcclxuICBmb250OiAxNnB4LzIwcHggXCJIZWx2ZXRpY2EgTmV1ZVwiLEhlbHZldGljYSxBcmlhbCxzYW5zLXNlcmlmOyB9XHJcblxyXG4uZmFuY3lib3gtY2xvc2Utc21hbGwge1xyXG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICB0b3A6IDRweDtcclxuICByaWdodDogNHB4O1xyXG4gIHBhZGRpbmc6IDA7XHJcbiAgbWFyZ2luOiAwO1xyXG4gIHdpZHRoOiAzMHB4O1xyXG4gIGhlaWdodDogMzBweDtcclxuICBmb250OiAyMXB4LzEgQXJpYWwsXCJIZWx2ZXRpY2EgTmV1ZVwiLEhlbHZldGljYSxzYW5zLXNlcmlmO1xyXG4gIGNvbG9yOiAjODg4O1xyXG4gIGZvbnQtd2VpZ2h0OiAzMDA7XHJcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xyXG4gIGJvcmRlci1yYWRpdXM6IDUwJTtcclxuICBib3JkZXItd2lkdGg6IDA7XHJcbiAgY3Vyc29yOiBwb2ludGVyO1xyXG4gIGJhY2tncm91bmQ6ICNmZmY7XHJcbiAgdHJhbnNpdGlvbjogYmFja2dyb3VuZCAuMnM7XHJcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDtcclxuICB6LWluZGV4OiAyOyB9XHJcblxyXG4uZmFuY3lib3gtY2xvc2Utc21hbGw6Zm9jdXMge1xyXG4gIG91dGxpbmU6IDFweCBkb3R0ZWQgIzg4ODsgfVxyXG5cclxuLmZhbmN5Ym94LXNsaWRlLS12aWRlbyAuZmFuY3lib3gtY2xvc2Utc21hbGwge1xyXG4gIHRvcDogLTM2cHg7XHJcbiAgcmlnaHQ6IC0zNnB4O1xyXG4gIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50OyB9XHJcblxyXG4uZmFuY3lib3gtY2xvc2Utc21hbGw6aG92ZXIge1xyXG4gIGNvbG9yOiAjNTU1O1xyXG4gIGJhY2tncm91bmQ6ICNlZWU7IH1cclxuXHJcbi8qIENhcHRpb24gKi9cclxuLmZhbmN5Ym94LWNhcHRpb24td3JhcCB7XHJcbiAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gIGJvdHRvbTogMDtcclxuICBsZWZ0OiAwO1xyXG4gIHJpZ2h0OiAwO1xyXG4gIHBhZGRpbmc6IDYwcHggMzBweCAwIDMwcHg7XHJcbiAgei1pbmRleDogOTk5OTg7XHJcbiAgLXdlYmtpdC1iYWNrZmFjZS12aXNpYmlsaXR5OiBoaWRkZW47XHJcbiAgYmFja2ZhY2UtdmlzaWJpbGl0eTogaGlkZGVuO1xyXG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XHJcbiAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KHRvIGJvdHRvbSwgdHJhbnNwYXJlbnQgMCUsIHJnYmEoMCwgMCwgMCwgMC4xKSAyMCUsIHJnYmEoMCwgMCwgMCwgMC4yKSA0MCUsIHJnYmEoMCwgMCwgMCwgMC42KSA4MCUsIHJnYmEoMCwgMCwgMCwgMC44KSAxMDAlKTtcclxuICBvcGFjaXR5OiAwO1xyXG4gIHRyYW5zaXRpb246IG9wYWNpdHkgLjJzO1xyXG4gIHBvaW50ZXItZXZlbnRzOiBub25lOyB9XHJcblxyXG4uZmFuY3lib3gtc2hvdy1jYXB0aW9uIC5mYW5jeWJveC1jYXB0aW9uLXdyYXAge1xyXG4gIG9wYWNpdHk6IDE7IH1cclxuXHJcbi5mYW5jeWJveC1jYXB0aW9uIHtcclxuICBwYWRkaW5nOiAzMHB4IDA7XHJcbiAgYm9yZGVyLXRvcDogMXB4IHNvbGlkIHJnYmEoMjU1LCAyNTUsIDI1NSwgMC40KTtcclxuICBmb250LXNpemU6IDE0cHg7XHJcbiAgZm9udC1mYW1pbHk6IFwiSGVsdmV0aWNhIE5ldWVcIixIZWx2ZXRpY2EsQXJpYWwsc2Fucy1zZXJpZjtcclxuICBjb2xvcjogI2ZmZjtcclxuICBsaW5lLWhlaWdodDogMjBweDtcclxuICAtd2Via2l0LXRleHQtc2l6ZS1hZGp1c3Q6IG5vbmU7IH1cclxuXHJcbi5mYW5jeWJveC1jYXB0aW9uIGEsXHJcbi5mYW5jeWJveC1jYXB0aW9uIGJ1dHRvbiB7XHJcbiAgcG9pbnRlci1ldmVudHM6IGFsbDsgfVxyXG5cclxuLmZhbmN5Ym94LWNhcHRpb24gYSB7XHJcbiAgY29sb3I6ICNmZmY7XHJcbiAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7IH1cclxuXHJcbi8qIEJ1dHRvbnMgKi9cclxuLmZhbmN5Ym94LWJ1dHRvbiB7XHJcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICB3aWR0aDogNDRweDtcclxuICBoZWlnaHQ6IDQ0cHg7XHJcbiAgbGluZS1oZWlnaHQ6IDQ0cHg7XHJcbiAgbWFyZ2luOiAwO1xyXG4gIHBhZGRpbmc6IDA7XHJcbiAgYm9yZGVyOiAwO1xyXG4gIGJvcmRlci1yYWRpdXM6IDA7XHJcbiAgY3Vyc29yOiBwb2ludGVyO1xyXG4gIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xyXG4gIGNvbG9yOiAjZmZmO1xyXG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XHJcbiAgdmVydGljYWwtYWxpZ246IHRvcDtcclxuICBvdXRsaW5lOiBub25lOyB9XHJcblxyXG4uZmFuY3lib3gtYnV0dG9uLS1kaXNhYmxlZCB7XHJcbiAgY3Vyc29yOiBkZWZhdWx0O1xyXG4gIHBvaW50ZXItZXZlbnRzOiBub25lOyB9XHJcblxyXG4uZmFuY3lib3gtaW5mb2Jhcl9fYm9keSwgLmZhbmN5Ym94LWJ1dHRvbiB7XHJcbiAgYmFja2dyb3VuZDogcmdiYSgzMCwgMzAsIDMwLCAwLjYpOyB9XHJcblxyXG4uZmFuY3lib3gtYnV0dG9uOmhvdmVyIHtcclxuICBiYWNrZ3JvdW5kOiByZ2JhKDAsIDAsIDAsIDAuOCk7IH1cclxuXHJcbi5mYW5jeWJveC1idXR0b246OmJlZm9yZSxcclxuLmZhbmN5Ym94LWJ1dHRvbjo6YWZ0ZXIge1xyXG4gIGNvbnRlbnQ6ICcnO1xyXG4gIHBvaW50ZXItZXZlbnRzOiBub25lO1xyXG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICBib3JkZXItY29sb3I6ICNmZmY7XHJcbiAgYmFja2dyb3VuZC1jb2xvcjogY3VycmVudENvbG9yO1xyXG4gIGNvbG9yOiBjdXJyZW50Q29sb3I7XHJcbiAgb3BhY2l0eTogMC45O1xyXG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XHJcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrOyB9XHJcblxyXG4uZmFuY3lib3gtYnV0dG9uLS1kaXNhYmxlZDo6YmVmb3JlLFxyXG4uZmFuY3lib3gtYnV0dG9uLS1kaXNhYmxlZDo6YWZ0ZXIge1xyXG4gIG9wYWNpdHk6IDAuNTsgfVxyXG5cclxuLmZhbmN5Ym94LWJ1dHRvbi0tbGVmdDo6YWZ0ZXIge1xyXG4gIGxlZnQ6IDIwcHg7XHJcbiAgdG9wOiAxOHB4O1xyXG4gIHdpZHRoOiA2cHg7XHJcbiAgaGVpZ2h0OiA2cHg7XHJcbiAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XHJcbiAgYm9yZGVyLXRvcDogc29saWQgMnB4IGN1cnJlbnRDb2xvcjtcclxuICBib3JkZXItcmlnaHQ6IHNvbGlkIDJweCBjdXJyZW50Q29sb3I7XHJcbiAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZSgtMTM1ZGVnKTtcclxuICAtbXMtdHJhbnNmb3JtOiByb3RhdGUoLTEzNWRlZyk7XHJcbiAgdHJhbnNmb3JtOiByb3RhdGUoLTEzNWRlZyk7IH1cclxuXHJcbi5mYW5jeWJveC1idXR0b24tLXJpZ2h0OjphZnRlciB7XHJcbiAgcmlnaHQ6IDIwcHg7XHJcbiAgdG9wOiAxOHB4O1xyXG4gIHdpZHRoOiA2cHg7XHJcbiAgaGVpZ2h0OiA2cHg7XHJcbiAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XHJcbiAgYm9yZGVyLXRvcDogc29saWQgMnB4IGN1cnJlbnRDb2xvcjtcclxuICBib3JkZXItcmlnaHQ6IHNvbGlkIDJweCBjdXJyZW50Q29sb3I7XHJcbiAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZSg0NWRlZyk7XHJcbiAgLW1zLXRyYW5zZm9ybTogcm90YXRlKDQ1ZGVnKTtcclxuICB0cmFuc2Zvcm06IHJvdGF0ZSg0NWRlZyk7IH1cclxuXHJcbi5mYW5jeWJveC1idXR0b24tLWxlZnQge1xyXG4gIGJvcmRlci1ib3R0b20tbGVmdC1yYWRpdXM6IDVweDsgfVxyXG5cclxuLmZhbmN5Ym94LWJ1dHRvbi0tcmlnaHQge1xyXG4gIGJvcmRlci1ib3R0b20tcmlnaHQtcmFkaXVzOiA1cHg7IH1cclxuXHJcbi5mYW5jeWJveC1idXR0b24tLWNsb3NlIHtcclxuICBmbG9hdDogcmlnaHQ7IH1cclxuXHJcbi5mYW5jeWJveC1idXR0b24tLWNsb3NlOjpiZWZvcmUsIC5mYW5jeWJveC1idXR0b24tLWNsb3NlOjphZnRlciB7XHJcbiAgY29udGVudDogJyc7XHJcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICBoZWlnaHQ6IDJweDtcclxuICB3aWR0aDogMTZweDtcclxuICB0b3A6IGNhbGMoNTAlIC0gMXB4KTtcclxuICBsZWZ0OiBjYWxjKDUwJSAtIDhweCk7IH1cclxuXHJcbi5mYW5jeWJveC1idXR0b24tLWNsb3NlOjpiZWZvcmUge1xyXG4gIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUoNDVkZWcpO1xyXG4gIC1tcy10cmFuc2Zvcm06IHJvdGF0ZSg0NWRlZyk7XHJcbiAgdHJhbnNmb3JtOiByb3RhdGUoNDVkZWcpOyB9XHJcblxyXG4uZmFuY3lib3gtYnV0dG9uLS1jbG9zZTo6YWZ0ZXIge1xyXG4gIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUoLTQ1ZGVnKTtcclxuICAtbXMtdHJhbnNmb3JtOiByb3RhdGUoLTQ1ZGVnKTtcclxuICB0cmFuc2Zvcm06IHJvdGF0ZSgtNDVkZWcpOyB9XHJcblxyXG4vKiBMb2FkaW5nIHNwaW5uZXIgKi9cclxuLmZhbmN5Ym94LWxvYWRpbmcge1xyXG4gIGJvcmRlcjogNnB4IHNvbGlkIHJnYmEoMTAwLCAxMDAsIDEwMCwgMC40KTtcclxuICBib3JkZXItdG9wOiA2cHggc29saWQgcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjYpO1xyXG4gIGJvcmRlci1yYWRpdXM6IDEwMCU7XHJcbiAgaGVpZ2h0OiA1MHB4O1xyXG4gIHdpZHRoOiA1MHB4O1xyXG4gIC13ZWJraXQtYW5pbWF0aW9uOiBmYW5jeWJveC1yb3RhdGUgLjhzIGluZmluaXRlIGxpbmVhcjtcclxuICBhbmltYXRpb246IGZhbmN5Ym94LXJvdGF0ZSAuOHMgaW5maW5pdGUgbGluZWFyO1xyXG4gIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xyXG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICB0b3A6IDUwJTtcclxuICBsZWZ0OiA1MCU7XHJcbiAgbWFyZ2luLXRvcDogLTI1cHg7XHJcbiAgbWFyZ2luLWxlZnQ6IC0yNXB4O1xyXG4gIHotaW5kZXg6IDk5OTk5OyB9XHJcblxyXG5ALXdlYmtpdC1rZXlmcmFtZXMgZmFuY3lib3gtcm90YXRlIHtcclxuICBmcm9tIHtcclxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUoMGRlZyk7XHJcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZSgwZGVnKTsgfVxyXG4gIHRvIHtcclxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUoMzU5ZGVnKTtcclxuICAgIHRyYW5zZm9ybTogcm90YXRlKDM1OWRlZyk7IH0gfVxyXG5cclxuQGtleWZyYW1lcyBmYW5jeWJveC1yb3RhdGUge1xyXG4gIGZyb20ge1xyXG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZSgwZGVnKTtcclxuICAgIHRyYW5zZm9ybTogcm90YXRlKDBkZWcpOyB9XHJcbiAgdG8ge1xyXG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZSgzNTlkZWcpO1xyXG4gICAgdHJhbnNmb3JtOiByb3RhdGUoMzU5ZGVnKTsgfSB9XHJcblxyXG4vKiBTdHlsaW5nIGZvciBTbWFsbC1TY3JlZW4gRGV2aWNlcyAqL1xyXG5AbWVkaWEgYWxsIGFuZCAobWF4LXdpZHRoOiA4MDBweCkge1xyXG4gIC5mYW5jeWJveC1jb250cm9scyB7XHJcbiAgICB0ZXh0LWFsaWduOiBsZWZ0OyB9XHJcbiAgLmZhbmN5Ym94LWJ1dHRvbi0tbGVmdCxcclxuICAuZmFuY3lib3gtYnV0dG9uLS1yaWdodCxcclxuICAuZmFuY3lib3gtYnV0dG9ucyBidXR0b246bm90KC5mYW5jeWJveC1idXR0b24tLWNsb3NlKSB7XHJcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7IH1cclxuICAuZmFuY3lib3gtY2FwdGlvbiB7XHJcbiAgICBwYWRkaW5nOiAyMHB4IDA7XHJcbiAgICBtYXJnaW46IDA7IH0gfVxyXG5cclxuLyogRnVsbHNjcmVlbiAgKi9cclxuLmZhbmN5Ym94LWJ1dHRvbi0tZnVsbHNjcmVlbjo6YmVmb3JlIHtcclxuICB3aWR0aDogMTVweDtcclxuICBoZWlnaHQ6IDExcHg7XHJcbiAgbGVmdDogMTVweDtcclxuICB0b3A6IDE2cHg7XHJcbiAgYm9yZGVyOiAycHggc29saWQ7XHJcbiAgYmFja2dyb3VuZDogbm9uZTsgfVxyXG5cclxuLyogU2xpZGVzaG93IGJ1dHRvbiAqL1xyXG4uZmFuY3lib3gtYnV0dG9uLS1wbGF5OjpiZWZvcmUge1xyXG4gIHRvcDogMTZweDtcclxuICBsZWZ0OiAxOHB4O1xyXG4gIHdpZHRoOiAwO1xyXG4gIGhlaWdodDogMDtcclxuICBib3JkZXItdG9wOiA2cHggaW5zZXQgdHJhbnNwYXJlbnQ7XHJcbiAgYm9yZGVyLWJvdHRvbTogNnB4IGluc2V0IHRyYW5zcGFyZW50O1xyXG4gIGJvcmRlci1sZWZ0OiAxMHB4IHNvbGlkO1xyXG4gIGJvcmRlci1yYWRpdXM6IDFweDtcclxuICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDsgfVxyXG5cclxuLmZhbmN5Ym94LWJ1dHRvbi0tcGF1c2U6OmJlZm9yZSB7XHJcbiAgdG9wOiAxNnB4O1xyXG4gIGxlZnQ6IDE4cHg7XHJcbiAgd2lkdGg6IDdweDtcclxuICBoZWlnaHQ6IDExcHg7XHJcbiAgYm9yZGVyLXN0eWxlOiBzb2xpZDtcclxuICBib3JkZXItd2lkdGg6IDAgMnB4IDAgMnB4O1xyXG4gIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50OyB9XHJcblxyXG4vKiBUaHVtYnMgKi9cclxuLmZhbmN5Ym94LWJ1dHRvbi0tdGh1bWJzIHNwYW4ge1xyXG4gIGZvbnQtc2l6ZTogMjNweDsgfVxyXG5cclxuLmZhbmN5Ym94LWJ1dHRvbi0tdGh1bWJzOjpiZWZvcmUge1xyXG4gIHRvcDogMjBweDtcclxuICBsZWZ0OiAyMXB4O1xyXG4gIHdpZHRoOiAzcHg7XHJcbiAgaGVpZ2h0OiAzcHg7XHJcbiAgYm94LXNoYWRvdzogMCAtNHB4IDAsIC00cHggLTRweCAwLCA0cHggLTRweCAwLCAwIDAgMCAzMnB4IGluc2V0LCAtNHB4IDAgMCwgNHB4IDAgMCwgMCA0cHggMCwgLTRweCA0cHggMCwgNHB4IDRweCAwOyB9XHJcblxyXG4uZmFuY3lib3gtY29udGFpbmVyLS10aHVtYnMgLmZhbmN5Ym94LWNvbnRyb2xzLFxyXG4uZmFuY3lib3gtY29udGFpbmVyLS10aHVtYnMgLmZhbmN5Ym94LXNsaWRlci13cmFwLFxyXG4uZmFuY3lib3gtY29udGFpbmVyLS10aHVtYnMgLmZhbmN5Ym94LWNhcHRpb24td3JhcCB7XHJcbiAgcmlnaHQ6IDIyMHB4OyB9XHJcblxyXG4uZmFuY3lib3gtdGh1bWJzIHtcclxuICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgdG9wOiAwO1xyXG4gIHJpZ2h0OiAwO1xyXG4gIGJvdHRvbTogMDtcclxuICBsZWZ0OiBhdXRvO1xyXG4gIHdpZHRoOiAyMjBweDtcclxuICBtYXJnaW46IDA7XHJcbiAgcGFkZGluZzogNXB4IDVweCAwIDA7XHJcbiAgYmFja2dyb3VuZDogI2ZmZjtcclxuICB6LWluZGV4OiA5OTk5MztcclxuICB3b3JkLWJyZWFrOiBub3JtYWw7XHJcbiAgLXdlYmtpdC1vdmVyZmxvdy1zY3JvbGxpbmc6IHRvdWNoO1xyXG4gIC13ZWJraXQtdGFwLWhpZ2hsaWdodC1jb2xvcjogdHJhbnNwYXJlbnQ7XHJcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDsgfVxyXG5cclxuLmZhbmN5Ym94LXRodW1icyA+IHVsIHtcclxuICBsaXN0LXN0eWxlOiBub25lO1xyXG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgd2lkdGg6IDEwMCU7XHJcbiAgaGVpZ2h0OiAxMDAlO1xyXG4gIG1hcmdpbjogMDtcclxuICBwYWRkaW5nOiAwO1xyXG4gIG92ZXJmbG93LXg6IGhpZGRlbjtcclxuICBvdmVyZmxvdy15OiBhdXRvO1xyXG4gIGZvbnQtc2l6ZTogMDsgfVxyXG5cclxuLmZhbmN5Ym94LXRodW1icyA+IHVsID4gbGkge1xyXG4gIGZsb2F0OiBsZWZ0O1xyXG4gIG92ZXJmbG93OiBoaWRkZW47XHJcbiAgbWF4LXdpZHRoOiA1MCU7XHJcbiAgcGFkZGluZzogMDtcclxuICBtYXJnaW46IDA7XHJcbiAgd2lkdGg6IDEwNXB4O1xyXG4gIGhlaWdodDogNzVweDtcclxuICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgY3Vyc29yOiBwb2ludGVyO1xyXG4gIG91dGxpbmU6IG5vbmU7XHJcbiAgYm9yZGVyOiA1cHggc29saWQgI2ZmZjtcclxuICBib3JkZXItdG9wLXdpZHRoOiAwO1xyXG4gIGJvcmRlci1yaWdodC13aWR0aDogMDtcclxuICAtd2Via2l0LXRhcC1oaWdobGlnaHQtY29sb3I6IHRyYW5zcGFyZW50O1xyXG4gIC13ZWJraXQtYmFja2ZhY2UtdmlzaWJpbGl0eTogaGlkZGVuO1xyXG4gIGJhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlbjtcclxuICBib3gtc2l6aW5nOiBib3JkZXItYm94OyB9XHJcblxyXG5saS5mYW5jeWJveC10aHVtYnMtbG9hZGluZyB7XHJcbiAgYmFja2dyb3VuZDogcmdiYSgwLCAwLCAwLCAwLjEpOyB9XHJcblxyXG4uZmFuY3lib3gtdGh1bWJzID4gdWwgPiBsaSA+IGltZyB7XHJcbiAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gIHRvcDogMDtcclxuICBsZWZ0OiAwO1xyXG4gIG1pbi13aWR0aDogMTAwJTtcclxuICBtaW4taGVpZ2h0OiAxMDAlO1xyXG4gIG1heC13aWR0aDogbm9uZTtcclxuICBtYXgtaGVpZ2h0OiBub25lO1xyXG4gIC13ZWJraXQtdG91Y2gtY2FsbG91dDogbm9uZTtcclxuICAtd2Via2l0LXVzZXItc2VsZWN0OiBub25lO1xyXG4gIC1tb3otdXNlci1zZWxlY3Q6IG5vbmU7XHJcbiAgLW1zLXVzZXItc2VsZWN0OiBub25lO1xyXG4gIHVzZXItc2VsZWN0OiBub25lOyB9XHJcblxyXG4uZmFuY3lib3gtdGh1bWJzID4gdWwgPiBsaTpiZWZvcmUge1xyXG4gIGNvbnRlbnQ6ICcnO1xyXG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICB0b3A6IDA7XHJcbiAgcmlnaHQ6IDA7XHJcbiAgYm90dG9tOiAwO1xyXG4gIGxlZnQ6IDA7XHJcbiAgYm9yZGVyLXJhZGl1czogMnB4O1xyXG4gIGJvcmRlcjogNHB4IHNvbGlkICM0ZWE3Zjk7XHJcbiAgei1pbmRleDogOTk5OTE7XHJcbiAgb3BhY2l0eTogMDtcclxuICB0cmFuc2l0aW9uOiBhbGwgMC4ycyBjdWJpYy1iZXppZXIoMC4yNSwgMC40NiwgMC40NSwgMC45NCk7IH1cclxuXHJcbi5mYW5jeWJveC10aHVtYnMgPiB1bCA+IGxpLmZhbmN5Ym94LXRodW1icy1hY3RpdmU6YmVmb3JlIHtcclxuICBvcGFjaXR5OiAxOyB9XHJcblxyXG4vKiBTdHlsaW5nIGZvciBTbWFsbC1TY3JlZW4gRGV2aWNlcyAqL1xyXG5AbWVkaWEgYWxsIGFuZCAobWF4LXdpZHRoOiA4MDBweCkge1xyXG4gIC5mYW5jeWJveC10aHVtYnMge1xyXG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50OyB9XHJcbiAgLmZhbmN5Ym94LWNvbnRhaW5lci0tdGh1bWJzIC5mYW5jeWJveC1jb250cm9scyxcclxuICAuZmFuY3lib3gtY29udGFpbmVyLS10aHVtYnMgLmZhbmN5Ym94LXNsaWRlci13cmFwLFxyXG4gIC5mYW5jeWJveC1jb250YWluZXItLXRodW1icyAuZmFuY3lib3gtY2FwdGlvbi13cmFwIHtcclxuICAgIHJpZ2h0OiAwOyB9IH1cclxuIiwiLyohIGpRdWVyeS5GbGlwc3RlciwgdjEuMS4zIChidWlsdCAyMDE5LTA1LTAxKSAqL1xyXG4uZmxpcHN0ZXIge1xyXG4gIGRpc3BsYXk6IGJsb2NrO1xyXG4gIG92ZXJmbG93LXg6IGhpZGRlbjtcclxuICBvdmVyZmxvdy15OiB2aXNpYmxlO1xyXG4gIHBvc2l0aW9uOiByZWxhdGl2ZVxyXG59XHJcblxyXG4uZmxpcHN0ZXI6Zm9jdXMge1xyXG4gIG91dGxpbmU6IG5vbmVcclxufVxyXG5cclxuLmZsaXBzdGVyX19jb250YWluZXIsXHJcbi5mbGlwc3Rlcl9faXRlbSB7XHJcbiAgbWFyZ2luOiAwO1xyXG4gIHBhZGRpbmc6IDA7XHJcbiAgbGlzdC1zdHlsZS10eXBlOiBub25lO1xyXG4gIHBvc2l0aW9uOiByZWxhdGl2ZVxyXG59XHJcblxyXG4uZmxpcHN0ZXJfX2NvbnRhaW5lciB7XHJcbiAgZGlzcGxheTogYmxvY2s7XHJcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcclxuICB3b3JkLXNwYWNpbmc6IC0wLjI1ZW07XHJcbiAgLXdlYmtpdC10cmFuc2Zvcm0tb3JpZ2luOiA1MCUgNTAlO1xyXG4gIC1tcy10cmFuc2Zvcm0tb3JpZ2luOiA1MCUgNTAlO1xyXG4gIHRyYW5zZm9ybS1vcmlnaW46IDUwJSA1MCU7XHJcbiAgLXdlYmtpdC1iYWNrZmFjZS12aXNpYmlsaXR5OiBoaWRkZW47XHJcbiAgYmFja2ZhY2UtdmlzaWJpbGl0eTogaGlkZGVuXHJcbn1cclxuXHJcbi5mbGlwc3Rlcl9faXRlbSB7XHJcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG4gIHdoaXRlLXNwYWNlOiBub3JtYWw7XHJcbiAgd29yZC1zcGFjaW5nOiBub3JtYWw7XHJcbiAgdmVydGljYWwtYWxpZ246IGJvdHRvbVxyXG59XHJcblxyXG4uZmxpcHN0ZXItLWNsaWNrIC5mbGlwc3Rlcl9faXRlbS0tcGFzdCxcclxuLmZsaXBzdGVyLS1jbGljayAuZmxpcHN0ZXJfX2l0ZW0tLWZ1dHVyZSB7XHJcbiAgY3Vyc29yOiBwb2ludGVyXHJcbn1cclxuXHJcbi5mbGlwc3Rlcl9faXRlbSBpbWcge1xyXG4gIG1heC13aWR0aDogMTAwJVxyXG59XHJcblxyXG4uZmxpcHN0ZXJfX2J1dHRvbiB7XHJcbiAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gIHRvcDogNTAlO1xyXG4gIGRpc3BsYXk6IGJsb2NrO1xyXG4gIC13ZWJraXQtYXBwZWFyYW5jZTogbm9uZTtcclxuICAtbW96LWFwcGVhcmFuY2U6IG5vbmU7XHJcbiAgYXBwZWFyYW5jZTogbm9uZTtcclxuICBiYWNrZ3JvdW5kOiBub25lO1xyXG4gIGJvcmRlcjogbm9uZTtcclxuICBwYWRkaW5nOiAwO1xyXG4gIHotaW5kZXg6IDk5OTtcclxuICBjdXJzb3I6IHBvaW50ZXI7XHJcbiAgZm9udC1zaXplOiAxNXB4O1xyXG4gIG9wYWNpdHk6IC41O1xyXG4gIC13ZWJraXQtdHJhbnNpdGlvbjogb3BhY2l0eSA1MDBtcyBlYXNlO1xyXG4gIC1vLXRyYW5zaXRpb246IG9wYWNpdHkgNTAwbXMgZWFzZTtcclxuICB0cmFuc2l0aW9uOiBvcGFjaXR5IDUwMG1zIGVhc2U7XHJcbiAgbWFyZ2luOiAtMWVtIDJlbVxyXG59XHJcblxyXG4uZmxpcHN0ZXJfX2J1dHRvbiBzdmcge1xyXG4gIHdpZHRoOiAyZW07XHJcbiAgc3Ryb2tlOiBjdXJyZW50Q29sb3I7XHJcbiAgZmlsbDogdHJhbnNwYXJlbnQ7XHJcbiAgc3Ryb2tlLXdpZHRoOiAzO1xyXG4gIHN0cm9rZS1saW5lY2FwOiByb3VuZFxyXG59XHJcblxyXG4uZmxpcHN0ZXJfX2J1dHRvbjpob3ZlcixcclxuLmZsaXBzdGVyX19idXR0b246Zm9jdXMge1xyXG4gIG9wYWNpdHk6IDFcclxufVxyXG5cclxuLmZsaXBzdGVyX19idXR0b24tLXByZXYge1xyXG4gIGxlZnQ6IDBcclxufVxyXG5cclxuLmZsaXBzdGVyX19idXR0b24tLW5leHQge1xyXG4gIHJpZ2h0OiAwXHJcbn1cclxuXHJcbi5mbGlwc3Rlcl9fbmF2LFxyXG4uZmxpcHN0ZXJfX25hdl9faXRlbSB7XHJcbiAgbGlzdC1zdHlsZS10eXBlOiBub25lO1xyXG4gIG1hcmdpbjogMDtcclxuICBwYWRkaW5nOiAwXHJcbn1cclxuXHJcbi5mbGlwc3Rlcl9fbmF2IHtcclxuICBkaXNwbGF5OiBibG9jaztcclxuICBtYXJnaW46IDAgMCA0ZW07XHJcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xyXG4gIHBvc2l0aW9uOiByZWxhdGl2ZVxyXG59XHJcblxyXG4uZmxpcHN0ZXJfX25hdl9faXRlbSB7XHJcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG4gIG1hcmdpbjogMCAuMjVlbVxyXG59XHJcblxyXG4uZmxpcHN0ZXJfX25hdl9fbGluayB7XHJcbiAgZGlzcGxheTogYmxvY2s7XHJcbiAgY29sb3I6IGluaGVyaXQ7XHJcbiAgcGFkZGluZzogLjVlbSAxZW07XHJcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gIG92ZXJmbG93OiBoaWRkZW47XHJcbiAgLXdlYmtpdC10cmFuc2l0aW9uOiBhbGwgMjUwbXMgZWFzZS1vdXQ7XHJcbiAgLW8tdHJhbnNpdGlvbjogYWxsIDI1MG1zIGVhc2Utb3V0O1xyXG4gIHRyYW5zaXRpb246IGFsbCAyNTBtcyBlYXNlLW91dDtcclxuICAtd2Via2l0LXRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoLjU2LCAuMTIsIC4xMiwgLjk4KTtcclxuICAtby10cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKC41NiwgLjEyLCAuMTIsIC45OCk7XHJcbiAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllciguNTYsIC4xMiwgLjEyLCAuOTgpXHJcbn1cclxuXHJcbi5mbGlwc3Rlcl9fbmF2X19saW5rOjphZnRlciB7XHJcbiAgY29udGVudDogJyc7XHJcbiAgZGlzcGxheTogYmxvY2s7XHJcbiAgYmFja2dyb3VuZDogIzIzMjIyMTtcclxuICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgdG9wOiAwO1xyXG4gIGxlZnQ6IDA7XHJcbiAgd2lkdGg6IDEwMCU7XHJcbiAgaGVpZ2h0OiAxMDAlO1xyXG4gIHotaW5kZXg6IC0xO1xyXG4gIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDEwMCUpIHRyYW5zbGF0ZVkoLTAuMjVlbSk7XHJcbiAgLW1zLXRyYW5zZm9ybTogdHJhbnNsYXRlWSgxMDAlKSB0cmFuc2xhdGVZKC0wLjI1ZW0pO1xyXG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgxMDAlKSB0cmFuc2xhdGVZKC0wLjI1ZW0pO1xyXG4gIC13ZWJraXQtdHJhbnNpdGlvbjogaW5oZXJpdDtcclxuICAtby10cmFuc2l0aW9uOiBpbmhlcml0O1xyXG4gIHRyYW5zaXRpb246IGluaGVyaXRcclxufVxyXG5cclxuLmZsaXBzdGVyX19uYXZfX2l0ZW0tLWN1cnJlbnQ+LmZsaXBzdGVyX19uYXZfX2xpbmssXHJcbi5mbGlwc3Rlcl9fbmF2X19saW5rOmhvdmVyLFxyXG4uZmxpcHN0ZXJfX25hdl9fbGluazpmb2N1cyB7XHJcbiAgY29sb3I6ICNGRkZcclxufVxyXG5cclxuLmZsaXBzdGVyX19uYXZfX2l0ZW0tLWN1cnJlbnQ+LmZsaXBzdGVyX19uYXZfX2xpbms6OmFmdGVyLFxyXG4uZmxpcHN0ZXJfX25hdl9fbGluazpob3Zlcjo6YWZ0ZXIsXHJcbi5mbGlwc3Rlcl9fbmF2X19saW5rOmZvY3VzOjphZnRlciB7XHJcbiAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCk7XHJcbiAgLW1zLXRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKTtcclxuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMClcclxufVxyXG5cclxuLmZsaXBzdGVyX19uYXZfX2NoaWxkIHtcclxuICBkaXNwbGF5OiBub25lO1xyXG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICB0b3A6IDEwMCU7XHJcbiAgbGVmdDogMDtcclxuICByaWdodDogMDtcclxuICBtYXJnaW4tdG9wOiAtMXB4O1xyXG4gIHBhZGRpbmc6IC41ZW07XHJcbiAgYmFja2dyb3VuZDogIzRlNDQ0MTtcclxuICB6LWluZGV4OiAxXHJcbn1cclxuXHJcbi5mbGlwc3Rlcl9fbmF2X19jaGlsZCAuZmxpcHN0ZXJfX25hdl9fbGluayB7XHJcbiAgY29sb3I6ICNGRkZcclxufVxyXG5cclxuLmZsaXBzdGVyX19uYXZfX2NoaWxkIC5mbGlwc3Rlcl9fbmF2X19saW5rOjphZnRlciB7XHJcbiAgYmFja2dyb3VuZDogI0ZGRlxyXG59XHJcblxyXG4uZmxpcHN0ZXJfX25hdl9fY2hpbGQgLmZsaXBzdGVyX19uYXZfX2l0ZW0tLWN1cnJlbnQ+LmZsaXBzdGVyX19uYXZfX2xpbmssXHJcbi5mbGlwc3Rlcl9fbmF2X19jaGlsZCAuZmxpcHN0ZXJfX25hdl9fbGluazpob3ZlcixcclxuLmZsaXBzdGVyX19uYXZfX2NoaWxkIC5mbGlwc3Rlcl9fbmF2X19saW5rOmZvY3VzIHtcclxuICBjb2xvcjogIzIzMjIyMVxyXG59XHJcblxyXG4uZmxpcHN0ZXJfX25hdl9faXRlbS0tY3VycmVudCAuZmxpcHN0ZXJfX25hdl9fY2hpbGQge1xyXG4gIGRpc3BsYXk6IGJsb2NrXHJcbn1cclxuXHJcbi5mbGlwc3Rlci0tY2Fyb3VzZWwgLmZsaXBzdGVyX19jb250YWluZXIsXHJcbi5mbGlwc3Rlci0tY2Fyb3VzZWwgLmZsaXBzdGVyX19pdGVtLFxyXG4uZmxpcHN0ZXItLWNhcm91c2VsIC5mbGlwc3Rlcl9faXRlbV9fY29udGVudCB7XHJcbiAgLXdlYmtpdC10cmFuc2l0aW9uOiBhbGwgMzUwbXMgZWFzZS1pbi1vdXQ7XHJcbiAgLW8tdHJhbnNpdGlvbjogYWxsIDM1MG1zIGVhc2UtaW4tb3V0O1xyXG4gIHRyYW5zaXRpb246IGFsbCAzNTBtcyBlYXNlLWluLW91dDtcclxuICAtd2Via2l0LXRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoLjU2LCAuMTIsIC4xMiwgLjk4KTtcclxuICAtby10cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKC41NiwgLjEyLCAuMTIsIC45OCk7XHJcbiAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllciguNTYsIC4xMiwgLjEyLCAuOTgpXHJcbn1cclxuXHJcbi5mbGlwc3Rlci0tY2Fyb3VzZWwgLmZsaXBzdGVyX19pdGVtIHtcclxuICAtd2Via2l0LXBlcnNwZWN0aXZlOiA4MDBweDtcclxuICBwZXJzcGVjdGl2ZTogODAwcHhcclxufVxyXG5cclxuLmZsaXBzdGVyLS1jYXJvdXNlbCAuZmxpcHN0ZXJfX2l0ZW0tLXBhc3QsXHJcbi5mbGlwc3Rlci0tY2Fyb3VzZWwgLmZsaXBzdGVyX19pdGVtLS1mdXR1cmUge1xyXG4gIG9wYWNpdHk6IDA7XHJcbiAgLXdlYmtpdC10cmFuc2l0aW9uLWRlbGF5OiAxMTVtcztcclxuICAtby10cmFuc2l0aW9uLWRlbGF5OiAxMTVtcztcclxuICB0cmFuc2l0aW9uLWRlbGF5OiAxMTVtc1xyXG59XHJcblxyXG4uZmxpcHN0ZXItLWNhcm91c2VsIC5mbGlwc3Rlcl9faXRlbS0tcGFzdC0yLFxyXG4uZmxpcHN0ZXItLWNhcm91c2VsIC5mbGlwc3Rlcl9faXRlbS0tZnV0dXJlLTIge1xyXG4gIG9wYWNpdHk6IC42O1xyXG4gIC13ZWJraXQtdHJhbnNpdGlvbi1kZWxheTogOTBtcztcclxuICAtby10cmFuc2l0aW9uLWRlbGF5OiA5MG1zO1xyXG4gIHRyYW5zaXRpb24tZGVsYXk6IDkwbXNcclxufVxyXG5cclxuLmZsaXBzdGVyLS1jYXJvdXNlbCAuZmxpcHN0ZXJfX2l0ZW0tLXBhc3QtMSxcclxuLmZsaXBzdGVyLS1jYXJvdXNlbCAuZmxpcHN0ZXJfX2l0ZW0tLWZ1dHVyZS0xIHtcclxuICBvcGFjaXR5OiAuODtcclxuICAtd2Via2l0LXRyYW5zaXRpb24tZGVsYXk6IDYwbXM7XHJcbiAgLW8tdHJhbnNpdGlvbi1kZWxheTogNjBtcztcclxuICB0cmFuc2l0aW9uLWRlbGF5OiA2MG1zXHJcbn1cclxuXHJcbi5mbGlwc3Rlci0tY2Fyb3VzZWwgLmZsaXBzdGVyX19pdGVtLS1wYXN0IC5mbGlwc3Rlcl9faXRlbV9fY29udGVudCB7XHJcbiAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMTAwJSkgcm90YXRlWSgtMjBkZWcpIHNjYWxlKC41KTtcclxuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMTAwJSkgcm90YXRlWSgtMjBkZWcpIHNjYWxlKC41KVxyXG59XHJcblxyXG4uZmxpcHN0ZXItLWNhcm91c2VsIC5mbGlwc3Rlcl9faXRlbS0tcGFzdC0yIC5mbGlwc3Rlcl9faXRlbV9fY29udGVudCB7XHJcbiAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoNSUpIHJvdGF0ZVkoNWRlZykgc2NhbGUoLjY1KTtcclxuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoNSUpIHJvdGF0ZVkoNWRlZykgc2NhbGUoLjY1KVxyXG59XHJcblxyXG4uZmxpcHN0ZXItLWNhcm91c2VsIC5mbGlwc3Rlcl9faXRlbS0tcGFzdC0xIC5mbGlwc3Rlcl9faXRlbV9fY29udGVudCB7XHJcbiAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZVkoNWRlZykgc2NhbGUoLjgpO1xyXG4gIHRyYW5zZm9ybTogcm90YXRlWSg1ZGVnKSBzY2FsZSguOClcclxufVxyXG5cclxuLmZsaXBzdGVyLS1jYXJvdXNlbCAuZmxpcHN0ZXJfX2l0ZW0tLWZ1dHVyZSAuZmxpcHN0ZXJfX2l0ZW1fX2NvbnRlbnQge1xyXG4gIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0xMDAlKSByb3RhdGVZKDIwZGVnKSBzY2FsZSguNSk7XHJcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0xMDAlKSByb3RhdGVZKDIwZGVnKSBzY2FsZSguNSlcclxufVxyXG5cclxuLmZsaXBzdGVyLS1jYXJvdXNlbCAuZmxpcHN0ZXJfX2l0ZW0tLWZ1dHVyZS0yIC5mbGlwc3Rlcl9faXRlbV9fY29udGVudCB7XHJcbiAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTUlKSByb3RhdGVZKC01ZGVnKSBzY2FsZSguNjUpO1xyXG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNSUpIHJvdGF0ZVkoLTVkZWcpIHNjYWxlKC42NSlcclxufVxyXG5cclxuLmZsaXBzdGVyLS1jYXJvdXNlbCAuZmxpcHN0ZXJfX2l0ZW0tLWZ1dHVyZS0xIC5mbGlwc3Rlcl9faXRlbV9fY29udGVudCB7XHJcbiAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZVkoLTVkZWcpIHNjYWxlKC44KTtcclxuICB0cmFuc2Zvcm06IHJvdGF0ZVkoLTVkZWcpIHNjYWxlKC44KVxyXG59XHJcblxyXG4uZmxpcHN0ZXItLWNhcm91c2VsLm5vLXJvdGF0ZSAuZmxpcHN0ZXJfX2l0ZW0tLXBhc3QgLmZsaXBzdGVyX19pdGVtX19jb250ZW50IHtcclxuICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWCgxNzUlKSBzY2FsZSguNSk7XHJcbiAgLW1zLXRyYW5zZm9ybTogdHJhbnNsYXRlWCgxNzUlKSBzY2FsZSguNSk7XHJcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDE3NSUpIHNjYWxlKC41KVxyXG59XHJcblxyXG4uZmxpcHN0ZXItLWNhcm91c2VsLm5vLXJvdGF0ZSAuZmxpcHN0ZXJfX2l0ZW0tLXBhc3QtMiAuZmxpcHN0ZXJfX2l0ZW1fX2NvbnRlbnQge1xyXG4gIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDI1JSkgc2NhbGUoLjY1KTtcclxuICAtbXMtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDI1JSkgc2NhbGUoLjY1KTtcclxuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMjUlKSBzY2FsZSguNjUpXHJcbn1cclxuXHJcbi5mbGlwc3Rlci0tY2Fyb3VzZWwubm8tcm90YXRlIC5mbGlwc3Rlcl9faXRlbS0tcGFzdC0xIC5mbGlwc3Rlcl9faXRlbV9fY29udGVudCB7XHJcbiAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMCUpIHNjYWxlKC44KTtcclxuICAtbXMtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDAlKSBzY2FsZSguOCk7XHJcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDAlKSBzY2FsZSguOClcclxufVxyXG5cclxuLmZsaXBzdGVyLS1jYXJvdXNlbC5uby1yb3RhdGUgLmZsaXBzdGVyX19pdGVtLS1mdXR1cmUgLmZsaXBzdGVyX19pdGVtX19jb250ZW50IHtcclxuICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWCgtMTc1JSkgc2NhbGUoLjUpO1xyXG4gIC1tcy10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTE3NSUpIHNjYWxlKC41KTtcclxuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTE3NSUpIHNjYWxlKC41KVxyXG59XHJcblxyXG4uZmxpcHN0ZXItLWNhcm91c2VsLm5vLXJvdGF0ZSAuZmxpcHN0ZXJfX2l0ZW0tLWZ1dHVyZS0yIC5mbGlwc3Rlcl9faXRlbV9fY29udGVudCB7XHJcbiAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTI1JSkgc2NhbGUoLjY1KTtcclxuICAtbXMtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0yNSUpIHNjYWxlKC42NSk7XHJcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0yNSUpIHNjYWxlKC42NSlcclxufVxyXG5cclxuLmZsaXBzdGVyLS1jYXJvdXNlbC5uby1yb3RhdGUgLmZsaXBzdGVyX19pdGVtLS1mdXR1cmUtMSAuZmxpcHN0ZXJfX2l0ZW1fX2NvbnRlbnQge1xyXG4gIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDAlKSBzY2FsZSguOCk7XHJcbiAgLW1zLXRyYW5zZm9ybTogdHJhbnNsYXRlWCgwJSkgc2NhbGUoLjgpO1xyXG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgwJSkgc2NhbGUoLjgpXHJcbn1cclxuXHJcbi5mbGlwc3Rlci0tY2Fyb3VzZWwgLmZsaXBzdGVyX19pdGVtLS1jdXJyZW50IC5mbGlwc3Rlcl9faXRlbV9fY29udGVudCB7XHJcbiAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMCkgcm90YXRlWSgwZGVnKSBzY2FsZSgxKTtcclxuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMCkgcm90YXRlWSgwZGVnKSBzY2FsZSgxKTtcclxuICAtd2Via2l0LXRyYW5zaXRpb24tZGVsYXk6IDYwbXM7XHJcbiAgLW8tdHJhbnNpdGlvbi1kZWxheTogNjBtcztcclxuICB0cmFuc2l0aW9uLWRlbGF5OiA2MG1zXHJcbn1cclxuXHJcbi5mbGlwc3Rlci0tY292ZXJmbG93IC5mbGlwc3Rlcl9fY29udGFpbmVyLFxyXG4uZmxpcHN0ZXItLWNvdmVyZmxvdyAuZmxpcHN0ZXJfX2l0ZW0sXHJcbi5mbGlwc3Rlci0tY292ZXJmbG93IC5mbGlwc3Rlcl9faXRlbV9fY29udGVudCB7XHJcbiAgLXdlYmtpdC10cmFuc2l0aW9uOiBhbGwgMzUwbXMgZWFzZS1pbi1vdXQ7XHJcbiAgLW8tdHJhbnNpdGlvbjogYWxsIDM1MG1zIGVhc2UtaW4tb3V0O1xyXG4gIHRyYW5zaXRpb246IGFsbCAzNTBtcyBlYXNlLWluLW91dDtcclxuICAtd2Via2l0LXRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoLjU2LCAuMTIsIC4xMiwgLjk4KTtcclxuICAtby10cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKC41NiwgLjEyLCAuMTIsIC45OCk7XHJcbiAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllciguNTYsIC4xMiwgLjEyLCAuOTgpXHJcbn1cclxuXHJcbi5mbGlwc3Rlci0tY292ZXJmbG93IC5mbGlwc3Rlcl9faXRlbSB7XHJcbiAgLXdlYmtpdC1wZXJzcGVjdGl2ZTogODAwcHg7XHJcbiAgcGVyc3BlY3RpdmU6IDgwMHB4XHJcbn1cclxuXHJcbi5mbGlwc3Rlci0tY292ZXJmbG93IC5mbGlwc3Rlcl9fY29udGFpbmVyIHtcclxuICBwYWRkaW5nLWJvdHRvbTogNSVcclxufVxyXG5cclxuLmZsaXBzdGVyLS1jb3ZlcmZsb3cgLmZsaXBzdGVyX19pdGVtX19jb250ZW50IHtcclxuICAtd2Via2l0LXRyYW5zZm9ybS1vcmlnaW46IDUwJSAxMDAlO1xyXG4gIC1tcy10cmFuc2Zvcm0tb3JpZ2luOiA1MCUgMTAwJTtcclxuICB0cmFuc2Zvcm0tb3JpZ2luOiA1MCUgMTAwJTtcclxuICBib3gtcmVmbGVjdDogYmVsb3cgMCAtd2Via2l0LWdyYWRpZW50KGxpbmVhciwgbGVmdCBib3R0b20sIGxlZnQgdG9wLCBjb2xvci1zdG9wKC4wNSwgcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjEyKSksIGNvbG9yLXN0b3AoLjIsIHRyYW5zcGFyZW50KSk7XHJcbiAgLXdlYmtpdC1ib3gtcmVmbGVjdDogYmVsb3cgMCAtd2Via2l0LWdyYWRpZW50KGxpbmVhciwgbGVmdCBib3R0b20sIGxlZnQgdG9wLCBjb2xvci1zdG9wKC4wNSwgcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjEyKSksIGNvbG9yLXN0b3AoLjIsIHRyYW5zcGFyZW50KSlcclxufVxyXG5cclxuLmZsaXBzdGVyLS1jb3ZlcmZsb3cgLmZsaXBzdGVyX19pdGVtX19jb250ZW50IGltZzpvbmx5LWNoaWxkIHtcclxuICBkaXNwbGF5OiBibG9ja1xyXG59XHJcblxyXG4uZmxpcHN0ZXItLWNvdmVyZmxvdyAuZmxpcHN0ZXJfX2l0ZW0tLXBhc3QgLmZsaXBzdGVyX19pdGVtX19jb250ZW50IHtcclxuICAtd2Via2l0LXRyYW5zZm9ybS1vcmlnaW46IDAlIDUwJTtcclxuICAtbXMtdHJhbnNmb3JtLW9yaWdpbjogMCUgNTAlO1xyXG4gIHRyYW5zZm9ybS1vcmlnaW46IDAlIDUwJTtcclxuICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUoLjc1KSByb3RhdGVZKDU1ZGVnKTtcclxuICB0cmFuc2Zvcm06IHNjYWxlKC43NSkgcm90YXRlWSg1NWRlZylcclxufVxyXG5cclxuLmZsaXBzdGVyLS1jb3ZlcmZsb3cgLmZsaXBzdGVyX19pdGVtLS1mdXR1cmUgLmZsaXBzdGVyX19pdGVtX19jb250ZW50IHtcclxuICAtd2Via2l0LXRyYW5zZm9ybS1vcmlnaW46IDEwMCUgNTAlO1xyXG4gIC1tcy10cmFuc2Zvcm0tb3JpZ2luOiAxMDAlIDUwJTtcclxuICB0cmFuc2Zvcm0tb3JpZ2luOiAxMDAlIDUwJTtcclxuICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUoLjc1KSByb3RhdGVZKC01NWRlZyk7XHJcbiAgdHJhbnNmb3JtOiBzY2FsZSguNzUpIHJvdGF0ZVkoLTU1ZGVnKVxyXG59XHJcblxyXG4uZmxpcHN0ZXItLWNvdmVyZmxvdyAuZmxpcC1jdXJyZW50IC5mbGlwc3Rlcl9faXRlbV9fY29udGVudCB7XHJcbiAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZVkoMGRlZyk7XHJcbiAgdHJhbnNmb3JtOiByb3RhdGVZKDBkZWcpXHJcbn1cclxuXHJcbi5mbGlwc3Rlci0tZmxhdCAuZmxpcHN0ZXJfX2NvbnRhaW5lcixcclxuLmZsaXBzdGVyLS1mbGF0IC5mbGlwc3Rlcl9faXRlbSxcclxuLmZsaXBzdGVyLS1mbGF0IC5mbGlwc3Rlcl9faXRlbV9fY29udGVudCB7XHJcbiAgLXdlYmtpdC10cmFuc2l0aW9uOiBhbGwgNDAwbXMgZWFzZS1pbi1vdXQ7XHJcbiAgLW8tdHJhbnNpdGlvbjogYWxsIDQwMG1zIGVhc2UtaW4tb3V0O1xyXG4gIHRyYW5zaXRpb246IGFsbCA0MDBtcyBlYXNlLWluLW91dFxyXG59XHJcblxyXG4uZmxpcHN0ZXItLWZsYXQgLmZsaXBzdGVyX19pdGVtLS1wYXN0LFxyXG4uZmxpcHN0ZXItLWZsYXQgLmZsaXBzdGVyX19pdGVtLS1mdXR1cmUge1xyXG4gIG9wYWNpdHk6IC41XHJcbn1cclxuXHJcbi5mbGlwc3Rlci0tZmxhdCAuZmxpcHN0ZXJfX2l0ZW0tLXBhc3QgLmZsaXBzdGVyX19pdGVtX19jb250ZW50IHtcclxuICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUoLjc1KTtcclxuICAtbXMtdHJhbnNmb3JtOiBzY2FsZSguNzUpO1xyXG4gIHRyYW5zZm9ybTogc2NhbGUoLjc1KVxyXG59XHJcblxyXG4uZmxpcHN0ZXItLWZsYXQgLmZsaXBzdGVyX19pdGVtLS1mdXR1cmUgLmZsaXBzdGVyX19pdGVtX19jb250ZW50IHtcclxuICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUoLjc1KTtcclxuICAtbXMtdHJhbnNmb3JtOiBzY2FsZSguNzUpO1xyXG4gIHRyYW5zZm9ybTogc2NhbGUoLjc1KVxyXG59XHJcblxyXG4uZmxpcHN0ZXItLXdoZWVsIHtcclxuICBvdmVyZmxvdzogaGlkZGVuXHJcbn1cclxuXHJcbi5mbGlwc3Rlci0td2hlZWwgLmZsaXBzdGVyX19jb250YWluZXIsXHJcbi5mbGlwc3Rlci0td2hlZWwgLmZsaXBzdGVyX19pdGVtX19jb250ZW50IHtcclxuICAtd2Via2l0LXRyYW5zaXRpb246IGFsbCA0MDBtcyBlYXNlLWluLW91dDtcclxuICAtby10cmFuc2l0aW9uOiBhbGwgNDAwbXMgZWFzZS1pbi1vdXQ7XHJcbiAgdHJhbnNpdGlvbjogYWxsIDQwMG1zIGVhc2UtaW4tb3V0O1xyXG4gIC13ZWJraXQtdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllciguNTYsIC4xMiwgLjEyLCAuOTgpO1xyXG4gIC1vLXRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoLjU2LCAuMTIsIC4xMiwgLjk4KTtcclxuICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKC41NiwgLjEyLCAuMTIsIC45OClcclxufVxyXG5cclxuLmZsaXBzdGVyLS13aGVlbCAuZmxpcHN0ZXJfX2NvbnRhaW5lciB7XHJcbiAgcGFkZGluZy1ib3R0b206IDIwJVxyXG59XHJcblxyXG4uZmxpcHN0ZXItLXdoZWVsIC5mbGlwc3Rlcl9faXRlbV9fY29udGVudCB7XHJcbiAgLXdlYmtpdC10cmFuc2Zvcm0tb3JpZ2luOiA1MCUgMTAwJTtcclxuICAtbXMtdHJhbnNmb3JtLW9yaWdpbjogNTAlIDEwMCU7XHJcbiAgdHJhbnNmb3JtLW9yaWdpbjogNTAlIDEwMCVcclxufVxyXG5cclxuLmZsaXBzdGVyLS13aGVlbCAuZmxpcHN0ZXJfX2l0ZW0tLXBhc3QgLmZsaXBzdGVyX19pdGVtX19jb250ZW50IHtcclxuICAtd2Via2l0LXRyYW5zZm9ybS1vcmlnaW46IDEwMCUgMTAwJTtcclxuICAtbXMtdHJhbnNmb3JtLW9yaWdpbjogMTAwJSAxMDAlO1xyXG4gIHRyYW5zZm9ybS1vcmlnaW46IDEwMCUgMTAwJVxyXG59XHJcblxyXG4uZmxpcHN0ZXItLXdoZWVsIC5mbGlwc3Rlcl9faXRlbS0tZnV0dXJlIC5mbGlwc3Rlcl9faXRlbV9fY29udGVudCB7XHJcbiAgLXdlYmtpdC10cmFuc2Zvcm0tb3JpZ2luOiAwJSAxMDAlO1xyXG4gIC1tcy10cmFuc2Zvcm0tb3JpZ2luOiAwJSAxMDAlO1xyXG4gIHRyYW5zZm9ybS1vcmlnaW46IDAlIDEwMCVcclxufVxyXG5cclxuLmZsaXBzdGVyLS13aGVlbCAuZmxpcHN0ZXJfX2l0ZW1fX2NvbnRlbnQgaW1nOm9ubHktY2hpbGQge1xyXG4gIGRpc3BsYXk6IGJsb2NrXHJcbn1cclxuXHJcbi5mbGlwc3Rlci0td2hlZWwgLmZsaXBzdGVyX19pdGVtLS1wYXN0IC5mbGlwc3Rlcl9faXRlbV9fY29udGVudCB7XHJcbiAgb3BhY2l0eTogMDtcclxuICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlWigtODBkZWcpIHRyYW5zbGF0ZSgtMTcwJSwgMTEwJSk7XHJcbiAgLW1zLXRyYW5zZm9ybTogcm90YXRlKC04MGRlZykgdHJhbnNsYXRlKC0xNzAlLCAxMTAlKTtcclxuICB0cmFuc2Zvcm06IHJvdGF0ZVooLTgwZGVnKSB0cmFuc2xhdGUoLTE3MCUsIDExMCUpXHJcbn1cclxuXHJcbi5mbGlwc3Rlci0td2hlZWwgLmZsaXBzdGVyX19pdGVtLS1mdXR1cmUgLmZsaXBzdGVyX19pdGVtX19jb250ZW50IHtcclxuICBvcGFjaXR5OiAwO1xyXG4gIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGVaKDgwZGVnKSB0cmFuc2xhdGUoMTcwJSwgMTEwJSk7XHJcbiAgLW1zLXRyYW5zZm9ybTogcm90YXRlKDgwZGVnKSB0cmFuc2xhdGUoMTcwJSwgMTEwJSk7XHJcbiAgdHJhbnNmb3JtOiByb3RhdGVaKDgwZGVnKSB0cmFuc2xhdGUoMTcwJSwgMTEwJSlcclxufVxyXG5cclxuLmZsaXBzdGVyLS13aGVlbCAuZmxpcHN0ZXJfX2l0ZW0tLXBhc3QtMyAuZmxpcHN0ZXJfX2l0ZW1fX2NvbnRlbnQge1xyXG4gIG9wYWNpdHk6IDE7XHJcbiAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZVooLTYwZGVnKSB0cmFuc2xhdGUoLTcwJSwgNzUlKTtcclxuICAtbXMtdHJhbnNmb3JtOiByb3RhdGUoLTYwZGVnKSB0cmFuc2xhdGUoLTcwJSwgNzUlKTtcclxuICB0cmFuc2Zvcm06IHJvdGF0ZVooLTYwZGVnKSB0cmFuc2xhdGUoLTcwJSwgNzUlKVxyXG59XHJcblxyXG4uZmxpcHN0ZXItLXdoZWVsIC5mbGlwc3Rlcl9faXRlbS0tZnV0dXJlLTMgLmZsaXBzdGVyX19pdGVtX19jb250ZW50IHtcclxuICBvcGFjaXR5OiAxO1xyXG4gIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGVaKDYwZGVnKSB0cmFuc2xhdGUoNzAlLCA3NSUpO1xyXG4gIC1tcy10cmFuc2Zvcm06IHJvdGF0ZSg2MGRlZykgdHJhbnNsYXRlKDcwJSwgNzUlKTtcclxuICB0cmFuc2Zvcm06IHJvdGF0ZVooNjBkZWcpIHRyYW5zbGF0ZSg3MCUsIDc1JSlcclxufVxyXG5cclxuLmZsaXBzdGVyLS13aGVlbCAuZmxpcHN0ZXJfX2l0ZW0tLXBhc3QtMiAuZmxpcHN0ZXJfX2l0ZW1fX2NvbnRlbnQge1xyXG4gIG9wYWNpdHk6IDE7XHJcbiAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZVooLTQwZGVnKSB0cmFuc2xhdGUoLTE3JSwgMzAlKTtcclxuICAtbXMtdHJhbnNmb3JtOiByb3RhdGUoLTQwZGVnKSB0cmFuc2xhdGUoLTE3JSwgMzAlKTtcclxuICB0cmFuc2Zvcm06IHJvdGF0ZVooLTQwZGVnKSB0cmFuc2xhdGUoLTE3JSwgMzAlKVxyXG59XHJcblxyXG4uZmxpcHN0ZXItLXdoZWVsIC5mbGlwc3Rlcl9faXRlbS0tZnV0dXJlLTIgLmZsaXBzdGVyX19pdGVtX19jb250ZW50IHtcclxuICBvcGFjaXR5OiAxO1xyXG4gIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGVaKDQwZGVnKSB0cmFuc2xhdGUoMTclLCAzMCUpO1xyXG4gIC1tcy10cmFuc2Zvcm06IHJvdGF0ZSg0MGRlZykgdHJhbnNsYXRlKDE3JSwgMzAlKTtcclxuICB0cmFuc2Zvcm06IHJvdGF0ZVooNDBkZWcpIHRyYW5zbGF0ZSgxNyUsIDMwJSlcclxufVxyXG5cclxuLmZsaXBzdGVyLS13aGVlbCAuZmxpcHN0ZXJfX2l0ZW0tLXBhc3QtMSAuZmxpcHN0ZXJfX2l0ZW1fX2NvbnRlbnQge1xyXG4gIG9wYWNpdHk6IDE7XHJcbiAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZVooLTIwZGVnKTtcclxuICAtbXMtdHJhbnNmb3JtOiByb3RhdGUoLTIwZGVnKTtcclxuICB0cmFuc2Zvcm06IHJvdGF0ZVooLTIwZGVnKVxyXG59XHJcblxyXG4uZmxpcHN0ZXItLXdoZWVsIC5mbGlwc3Rlcl9faXRlbS0tZnV0dXJlLTEgLmZsaXBzdGVyX19pdGVtX19jb250ZW50IHtcclxuICBvcGFjaXR5OiAxO1xyXG4gIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGVaKDIwZGVnKTtcclxuICAtbXMtdHJhbnNmb3JtOiByb3RhdGUoMjBkZWcpO1xyXG4gIHRyYW5zZm9ybTogcm90YXRlWigyMGRlZylcclxufVxyXG5cclxuLmZsaXBzdGVyLS13aGVlbCAuZmxpcC1jdXJyZW50IC5mbGlwc3Rlcl9faXRlbV9fY29udGVudCB7XHJcbiAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZVgoMGRlZyk7XHJcbiAgdHJhbnNmb3JtOiByb3RhdGVYKDBkZWcpXHJcbn0iLCIvLyBEZWZhdWx0IHZhcmlhYmxlc1xuJGZvbnRfc2l6ZTogMTRweCAhZGVmYXVsdDtcbiRmb250X3NpemVfc21hbGw6IDEycHggIWRlZmF1bHQ7XG5cbiRpbnB1dF9ib3JkZXJfcmFkaXVzOiA1cHggIWRlZmF1bHQ7XG4kaW5wdXRfaGVpZ2h0OiA0MnB4ICFkZWZhdWx0O1xuJGlucHV0X2hlaWdodF9zbWFsbDogMzZweCAhZGVmYXVsdDtcbiRkcm9wZG93bl9wYWRkaW5nOiAxOHB4ICFkZWZhdWx0O1xuXG4kZ3JheV9kYXJrOiAjNDQ0ICFkZWZhdWx0O1xuJGdyYXk6ICM5OTkgIWRlZmF1bHQ7XG4kZ3JheV9saWdodDogI2U4ZThlOCAhZGVmYXVsdDtcbiRncmF5X2xpZ2h0ZXI6ICNmNmY2ZjYgIWRlZmF1bHQ7XG4kcHJpbWFyeV9saWdodDogJGdyYXkgIWRlZmF1bHQ7XG4kYXJyb3dfY29sb3I6ICRncmF5ICFkZWZhdWx0O1xuXG4vLyBTdHlsZSB0aGUgZHJvcGRvd25cbi5uaWNlLXNlbGVjdCB7XG4gIC13ZWJraXQtdGFwLWhpZ2hsaWdodC1jb2xvcjogcmdiYSgwLCAwLCAwLCAwKTtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjtcbiAgYm9yZGVyLXJhZGl1czogJGlucHV0X2JvcmRlcl9yYWRpdXM7XG4gIGJvcmRlcjogc29saWQgMXB4ICRncmF5X2xpZ2h0OyBcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgY2xlYXI6IGJvdGg7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgZGlzcGxheTogYmxvY2s7XG4gIGZsb2F0OiBsZWZ0O1xuICBmb250LWZhbWlseTogaW5oZXJpdDtcbiAgZm9udC1zaXplOiAkZm9udF9zaXplO1xuICBmb250LXdlaWdodDogbm9ybWFsO1xuICBoZWlnaHQ6ICRpbnB1dF9oZWlnaHQ7XG4gIGxpbmUtaGVpZ2h0OiAkaW5wdXRfaGVpZ2h0IC0gMjtcbiAgb3V0bGluZTogbm9uZTtcbiAgcGFkZGluZy1sZWZ0OiAkZHJvcGRvd25fcGFkZGluZztcbiAgcGFkZGluZy1yaWdodDogJGRyb3Bkb3duX3BhZGRpbmcgKyAxMjtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB0ZXh0LWFsaWduOiBsZWZ0ICFpbXBvcnRhbnQ7XG4gIHRyYW5zaXRpb246IGFsbCAwLjJzIGVhc2UtaW4tb3V0O1xuICB1c2VyLXNlbGVjdDogbm9uZTtcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgd2lkdGg6IGF1dG87XG4gICY6aG92ZXIge1xuICAgIGJvcmRlci1jb2xvcjogZGFya2VuKCRncmF5X2xpZ2h0LCA1JSk7XG4gIH1cbiAgJjphY3RpdmUsICY6Zm9jdXMge1xuICAgIGJvcmRlci1jb2xvcjogJHByaW1hcnlfbGlnaHQ7XG4gIH1cbiAgLy8gQXJyb3dcbiAgJjphZnRlciB7IFxuICAgIGJvcmRlci1ib3R0b206IDJweCBzb2xpZCAkYXJyb3dfY29sb3I7XG4gICAgYm9yZGVyLXJpZ2h0OiAycHggc29saWQgJGFycm93X2NvbG9yO1xuICAgIGNvbnRlbnQ6ICcnO1xuICAgIGRpc3BsYXk6IGJsb2NrOyBcbiAgICBoZWlnaHQ6IDVweDtcbiAgICBtYXJnaW4tdG9wOiAtNHB4O1xuICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTsgXG4gICAgcmlnaHQ6IDEycHg7IFxuICAgIHRvcDogNTAlOyBcbiAgICB0cmFuc2Zvcm0tb3JpZ2luOiA2NiUgNjYlO1xuICAgIHRyYW5zZm9ybTogcm90YXRlKDQ1ZGVnKTtcbiAgICB0cmFuc2l0aW9uOiBhbGwgMC4xNXMgZWFzZS1pbi1vdXQ7XG4gICAgd2lkdGg6IDVweDtcbiAgfVxuICBcbiAgJi5vcGVuIHtcbiAgICBAZXh0ZW5kIDphY3RpdmU7XG4gICAgJjphZnRlciB7XG4gICAgICB0cmFuc2Zvcm06IHJvdGF0ZSgtMTM1ZGVnKTtcbiAgICB9XG4gICAgLmxpc3Qge1xuICAgICAgb3BhY2l0eTogMTtcbiAgICAgIHBvaW50ZXItZXZlbnRzOiBhdXRvO1xuICAgICAgdHJhbnNmb3JtOiBzY2FsZSgxKSB0cmFuc2xhdGVZKDApO1xuICAgIH1cbiAgfVxuICAmLmRpc2FibGVkIHtcbiAgICBib3JkZXItY29sb3I6IGxpZ2h0ZW4oJGdyYXlfbGlnaHQsIDIlKTtcbiAgICBjb2xvcjogJGdyYXk7XG4gICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gICAgJjphZnRlciB7IFxuICAgICAgYm9yZGVyLWNvbG9yOiBsaWdodGVuKCRhcnJvd19jb2xvciwgMjAlKTtcbiAgICB9XG4gIH1cbiAgXG4gIC8vIE1vZGlmaWVyc1xuICAmLndpZGUge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIC5saXN0IHtcbiAgICAgIGxlZnQ6IDAgIWltcG9ydGFudDtcbiAgICAgIHJpZ2h0OiAwICFpbXBvcnRhbnQ7XG4gICAgfVxuICB9XG4gICYucmlnaHQge1xuICAgIGZsb2F0OiByaWdodDtcbiAgICAubGlzdCB7XG4gICAgICBsZWZ0OiBhdXRvO1xuICAgICAgcmlnaHQ6IDA7XG4gICAgfVxuICB9XG4gICYuc21hbGwge1xuICAgIGZvbnQtc2l6ZTogJGZvbnRfc2l6ZV9zbWFsbDtcbiAgICBoZWlnaHQ6ICRpbnB1dF9oZWlnaHRfc21hbGw7XG4gICAgbGluZS1oZWlnaHQ6ICRpbnB1dF9oZWlnaHRfc21hbGwgLSAyO1xuICAgICY6YWZ0ZXIgeyBcbiAgICAgIGhlaWdodDogNHB4O1xuICAgICAgd2lkdGg6IDRweDtcbiAgICB9XG4gICAgLm9wdGlvbiB7XG4gICAgICBsaW5lLWhlaWdodDogJGlucHV0X2hlaWdodF9zbWFsbCAtIDI7XG4gICAgICBtaW4taGVpZ2h0OiAkaW5wdXRfaGVpZ2h0X3NtYWxsIC0gMjtcbiAgICB9XG4gIH1cbiAgXG4gIC8vIExpc3QgYW5kIG9wdGlvbnNcbiAgLmxpc3Qge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmY7XG4gICAgYm9yZGVyLXJhZGl1czogJGlucHV0X2JvcmRlcl9yYWRpdXM7XG4gICAgYm94LXNoYWRvdzogMCAwIDAgMXB4IHJnYmEoJGdyYXlfZGFyaywgLjExKTtcbiAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgIG1hcmdpbi10b3A6IDRweDtcbiAgICBvcGFjaXR5OiAwO1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgcGFkZGluZzogMDtcbiAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAxMDAlOyBsZWZ0OiAwO1xuICAgIHRyYW5zZm9ybS1vcmlnaW46IDUwJSAwO1xuICAgIHRyYW5zZm9ybTogc2NhbGUoLjc1KSB0cmFuc2xhdGVZKC0gJGlucHV0X2hlaWdodCAvIDIpO1xuICAgIHRyYW5zaXRpb246IGFsbCAuMnMgY3ViaWMtYmV6aWVyKDAuNSwgMCwgMCwgMS4yNSksIG9wYWNpdHkgLjE1cyBlYXNlLW91dDtcbiAgICB6LWluZGV4OiA5O1xuICAgICY6aG92ZXIgLm9wdGlvbjpub3QoOmhvdmVyKSB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudCAhaW1wb3J0YW50O1xuICAgIH1cbiAgfVxuICAub3B0aW9uIHtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgICBsaW5lLWhlaWdodDogJGlucHV0X2hlaWdodCAtIDI7XG4gICAgbGlzdC1zdHlsZTogbm9uZTtcbiAgICBtaW4taGVpZ2h0OiAkaW5wdXRfaGVpZ2h0IC0gMjtcbiAgICBvdXRsaW5lOiBub25lO1xuICAgIHBhZGRpbmctbGVmdDogJGRyb3Bkb3duX3BhZGRpbmc7XG4gICAgcGFkZGluZy1yaWdodDogJGRyb3Bkb3duX3BhZGRpbmcgKyAxMTtcbiAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAgIHRyYW5zaXRpb246IGFsbCAwLjJzO1xuICAgICY6aG92ZXIsICYuZm9jdXMsICYuc2VsZWN0ZWQuZm9jdXMgeyBcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICRncmF5X2xpZ2h0ZXI7XG4gICAgfVxuICAgICYuc2VsZWN0ZWQgeyBcbiAgICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xuICAgIH1cbiAgICAmLmRpc2FibGVkIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICAgICAgY29sb3I6ICRncmF5O1xuICAgICAgY3Vyc29yOiBkZWZhdWx0O1xuICAgIH1cbiAgfVxufVxuXG4vLyBVc2UgZGlzcGxheSBpbnN0ZWFkIG9mIG9wYWNpdHkgZm9yIElFIDw9IDEwXG4ubm8tY3NzcG9pbnRlcmV2ZW50cyAubmljZS1zZWxlY3Qge1xuICAubGlzdCB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxuICAmLm9wZW4ge1xuICAgIC5saXN0IHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIH1cbiAgfVxufSIsIi8qYW5pbWF0aW9ucyovXG5cbi8qKioqKioqKioqKioqKioqKipcbiogQm91bmNlIGluIHJpZ2h0ICpcbioqKioqKioqKioqKioqKioqKiovXG5cblxuLmFuaW1hdGVkIHtcbiAgLXdlYmtpdC1hbmltYXRpb24tZHVyYXRpb246IDFzO1xuICBhbmltYXRpb24tZHVyYXRpb246IDFzO1xuICAtd2Via2l0LWFuaW1hdGlvbi1maWxsLW1vZGU6IGJvdGg7XG4gIGFuaW1hdGlvbi1maWxsLW1vZGU6IGJvdGg7XG59XG5cbi5zbG93IHtcbiAgLXdlYmtpdC1hbmltYXRpb24tZHVyYXRpb246IDEuNXM7XG4gIGFuaW1hdGlvbi1kdXJhdGlvbjogMS41cztcbiAgLXdlYmtpdC1hbmltYXRpb24tZmlsbC1tb2RlOiBib3RoO1xuICBhbmltYXRpb24tZmlsbC1tb2RlOiBib3RoO1xufVxuXG4uc2xvd2VyIHtcbiAgLXdlYmtpdC1hbmltYXRpb24tZHVyYXRpb246IDJzO1xuICBhbmltYXRpb24tZHVyYXRpb246IDJzO1xuICAtd2Via2l0LWFuaW1hdGlvbi1maWxsLW1vZGU6IGJvdGg7XG4gIGFuaW1hdGlvbi1maWxsLW1vZGU6IGJvdGg7XG59XG5cbi5zbG93ZXN0IHtcbiAgLXdlYmtpdC1hbmltYXRpb24tZHVyYXRpb246IDNzO1xuICBhbmltYXRpb24tZHVyYXRpb246IDNzO1xuICAtd2Via2l0LWFuaW1hdGlvbi1maWxsLW1vZGU6IGJvdGg7XG4gIGFuaW1hdGlvbi1maWxsLW1vZGU6IGJvdGg7XG59XG5cbi8qIEFkZGVkIGJ5IEFuZHkgTWVldGFuICovXG4uZGVsYXktMjUwIHtcbiAgLXdlYmtpdC1hbmltYXRpb24tZGVsYXk6IDAuMjVzO1xuICAtbW96LWFuaW1hdGlvbi1kZWxheTogMC4yNXM7XG4gIC1vLWFuaW1hdGlvbi1kZWxheTogMC4yNXM7XG4gIGFuaW1hdGlvbi1kZWxheTogMC4yNXM7XG59XG5cbi5kZWxheS01MDAge1xuICAtd2Via2l0LWFuaW1hdGlvbi1kZWxheTogMC41cztcbiAgLW1vei1hbmltYXRpb24tZGVsYXk6IDAuNXM7XG4gIC1vLWFuaW1hdGlvbi1kZWxheTogMC41cztcbiAgYW5pbWF0aW9uLWRlbGF5OiAwLjVzO1xufVxuXG4uZGVsYXktNzUwIHtcbiAgLXdlYmtpdC1hbmltYXRpb24tZGVsYXk6IDAuNzVzO1xuICAtbW96LWFuaW1hdGlvbi1kZWxheTogMC43NXM7XG4gIC1vLWFuaW1hdGlvbi1kZWxheTogMC43NXM7XG4gIGFuaW1hdGlvbi1kZWxheTogMC43NXM7XG59XG5cbi5kZWxheS0xMDAwIHtcbiAgLXdlYmtpdC1hbmltYXRpb24tZGVsYXk6IDEuMHM7XG4gIC1tb3otYW5pbWF0aW9uLWRlbGF5OiAxLjBzO1xuICAtby1hbmltYXRpb24tZGVsYXk6IDEuMHM7XG4gIGFuaW1hdGlvbi1kZWxheTogMS4wcztcbn1cblxuLmRlbGF5LTEyNTAge1xuICAtd2Via2l0LWFuaW1hdGlvbi1kZWxheTogMS4yNXM7XG4gIC1tb3otYW5pbWF0aW9uLWRlbGF5OiAxLjI1cztcbiAgLW8tYW5pbWF0aW9uLWRlbGF5OiAxLjI1cztcbiAgYW5pbWF0aW9uLWRlbGF5OiAxLjI1cztcbn1cblxuLmRlbGF5LTE1MDAge1xuICAtd2Via2l0LWFuaW1hdGlvbi1kZWxheTogMS41cztcbiAgLW1vei1hbmltYXRpb24tZGVsYXk6IDEuNXM7XG4gIC1vLWFuaW1hdGlvbi1kZWxheTogMS41cztcbiAgYW5pbWF0aW9uLWRlbGF5OiAxLjVzO1xufVxuXG4uZGVsYXktMTc1MCB7XG4gIC13ZWJraXQtYW5pbWF0aW9uLWRlbGF5OiAxLjc1cztcbiAgLW1vei1hbmltYXRpb24tZGVsYXk6IDEuNzVzO1xuICAtby1hbmltYXRpb24tZGVsYXk6IDEuNzVzO1xuICBhbmltYXRpb24tZGVsYXk6IDEuNzVzO1xufVxuXG4uZGVsYXktMjAwMCB7XG4gIC13ZWJraXQtYW5pbWF0aW9uLWRlbGF5OiAyLjBzO1xuICAtbW96LWFuaW1hdGlvbi1kZWxheTogMi4wcztcbiAgLW8tYW5pbWF0aW9uLWRlbGF5OiAyLjBzO1xuICBhbmltYXRpb24tZGVsYXk6IDIuMHM7XG59XG5cbi5kZWxheS0yNTAwIHtcbiAgLXdlYmtpdC1hbmltYXRpb24tZGVsYXk6IDIuNXM7XG4gIC1tb3otYW5pbWF0aW9uLWRlbGF5OiAyLjVzO1xuICAtby1hbmltYXRpb24tZGVsYXk6IDIuNXM7XG4gIGFuaW1hdGlvbi1kZWxheTogMi41cztcbn1cblxuLmRlbGF5LTIwMDAge1xuICAtd2Via2l0LWFuaW1hdGlvbi1kZWxheTogMi4wcztcbiAgLW1vei1hbmltYXRpb24tZGVsYXk6IDIuMHM7XG4gIC1vLWFuaW1hdGlvbi1kZWxheTogMi4wcztcbiAgYW5pbWF0aW9uLWRlbGF5OiAyLjBzO1xufVxuXG4uZGVsYXktMjUwMCB7XG4gIC13ZWJraXQtYW5pbWF0aW9uLWRlbGF5OiAyLjVzO1xuICAtbW96LWFuaW1hdGlvbi1kZWxheTogMi41cztcbiAgLW8tYW5pbWF0aW9uLWRlbGF5OiAyLjVzO1xuICBhbmltYXRpb24tZGVsYXk6IDIuNXM7XG59XG5cbi5kZWxheS0zMDAwIHtcbiAgLXdlYmtpdC1hbmltYXRpb24tZGVsYXk6IDMuMHM7XG4gIC1tb3otYW5pbWF0aW9uLWRlbGF5OiAzLjBzO1xuICAtby1hbmltYXRpb24tZGVsYXk6IDMuMHM7XG4gIGFuaW1hdGlvbi1kZWxheTogMy4wcztcbn1cblxuLmRlbGF5LTM1MDAge1xuICAtd2Via2l0LWFuaW1hdGlvbi1kZWxheTogMy41cztcbiAgLW1vei1hbmltYXRpb24tZGVsYXk6IDMuNXM7XG4gIC1vLWFuaW1hdGlvbi1kZWxheTogMy41cztcbiAgYW5pbWF0aW9uLWRlbGF5OiAzLjVzO1xufVxuXG4uYm91bmNlSW5SaWdodCxcbi5ib3VuY2VJbkxlZnQsXG4uYm91bmNlSW5VcCxcbi5ib3VuY2VJbkRvd24ge1xuICBvcGFjaXR5OiAwO1xuICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWCg0MDBweCk7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWCg0MDBweCk7XG59XG5cbi5mYWRlSW5SaWdodCxcbi5mYWRlSW5MZWZ0LFxuLmZhZGVJblVwLFxuLmZhZGVJbkRvd24ge1xuICBvcGFjaXR5OiAwO1xuICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWCg0MDBweCk7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWCg0MDBweCk7XG59XG5cbi5mbGlwSW5YLFxuLmZsaXBJblksXG4ucm90YXRlSW4sXG4ucm90YXRlSW5VcExlZnQsXG4ucm90YXRlSW5VcFJpZ2h0LFxuLnJvdGF0ZUluRG93bkxlZnQsXG4ucm90YXRlRG93blVwUmlnaHQsXG4ucm9sbEluIHtcbiAgb3BhY2l0eTogMDtcbn1cblxuLmxpZ2h0U3BlZWRJblJpZ2h0LFxuLmxpZ2h0U3BlZWRJbkxlZnQge1xuICBvcGFjaXR5OiAwO1xuICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWCg0MDBweCk7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWCg0MDBweCk7XG59XG5cbi8qKioqKioqKioqKlxuKiBib3VuY2VJbiAqXG4qKioqKioqKioqKiovXG5ALXdlYmtpdC1rZXlmcmFtZXMgYm91bmNlSW4ge1xuICAwJSB7XG4gICAgb3BhY2l0eTogMDtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUoLjMpO1xuICB9XG5cbiAgNTAlIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZSgxLjA1KTtcbiAgfVxuXG4gIDcwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlKC45KTtcbiAgfVxuXG4gIDEwMCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZSgxKTtcbiAgfVxufVxuXG5Aa2V5ZnJhbWVzIGJvdW5jZUluIHtcbiAgMCUge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgdHJhbnNmb3JtOiBzY2FsZSguMyk7XG4gIH1cblxuICA1MCUge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgdHJhbnNmb3JtOiBzY2FsZSgxLjA1KTtcbiAgfVxuXG4gIDcwJSB7XG4gICAgdHJhbnNmb3JtOiBzY2FsZSguOSk7XG4gIH1cblxuICAxMDAlIHtcbiAgICB0cmFuc2Zvcm06IHNjYWxlKDEpO1xuICB9XG59XG5cbi5ib3VuY2VJbi5nbyB7XG4gIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IGJvdW5jZUluO1xuICBhbmltYXRpb24tbmFtZTogYm91bmNlSW47XG59XG5cbi8qKioqKioqKioqKioqKioqXG4qIGJvdW5jZUluUmlnaHQgKlxuKioqKioqKioqKioqKioqKi9cblxuQC13ZWJraXQta2V5ZnJhbWVzIGJvdW5jZUluUmlnaHQge1xuICAwJSB7XG4gICAgb3BhY2l0eTogMDtcblxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDQwMHB4KTtcbiAgfVxuXG4gIDYwJSB7XG5cbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWCgtMzBweCk7XG4gIH1cblxuICA4MCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDEwcHgpO1xuICB9XG5cbiAgMTAwJSB7XG4gICAgb3BhY2l0eTogMTtcblxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDApO1xuICB9XG59XG5cbkBrZXlmcmFtZXMgYm91bmNlSW5SaWdodCB7XG4gIDAlIHtcbiAgICBvcGFjaXR5OiAwO1xuXG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDQwMHB4KTtcbiAgfVxuXG4gIDYwJSB7XG5cbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTMwcHgpO1xuICB9XG5cbiAgODAlIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMTBweCk7XG4gIH1cblxuICAxMDAlIHtcbiAgICBvcGFjaXR5OiAxO1xuXG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDApO1xuICB9XG59XG5cblxuLmJvdW5jZUluUmlnaHQuZ28ge1xuICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiBib3VuY2VJblJpZ2h0O1xuICBhbmltYXRpb24tbmFtZTogYm91bmNlSW5SaWdodDtcbn1cblxuLyoqKioqKioqKioqKioqKioqKlxuKiBCb3VuY2UgaW4gbGVmdCAqXG4qKioqKioqKioqKioqKioqKioqL1xuXG5ALXdlYmtpdC1rZXlmcmFtZXMgYm91bmNlSW5MZWZ0IHtcbiAgMCUge1xuICAgIG9wYWNpdHk6IDA7XG5cbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNDAwcHgpO1xuICB9XG5cbiAgNjAlIHtcblxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDMwcHgpO1xuICB9XG5cbiAgODAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWCgtMTBweCk7XG4gIH1cblxuICAxMDAlIHtcbiAgICBvcGFjaXR5OiAxO1xuXG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMCk7XG4gIH1cbn1cblxuQGtleWZyYW1lcyBib3VuY2VJbkxlZnQge1xuICAwJSB7XG4gICAgb3BhY2l0eTogMDtcblxuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNDAwcHgpO1xuICB9XG5cbiAgNjAlIHtcblxuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgzMHB4KTtcbiAgfVxuXG4gIDgwJSB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0xMHB4KTtcbiAgfVxuXG4gIDEwMCUge1xuICAgIG9wYWNpdHk6IDE7XG5cbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMCk7XG4gIH1cbn1cblxuLmJvdW5jZUluTGVmdC5nbyB7XG4gIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IGJvdW5jZUluTGVmdDtcbiAgYW5pbWF0aW9uLW5hbWU6IGJvdW5jZUluTGVmdDtcbn1cblxuLyoqKioqKioqKioqKioqKioqKlxuKiBCb3VuY2UgaW4gdXAgKlxuKioqKioqKioqKioqKioqKioqKi9cblxuQC13ZWJraXQta2V5ZnJhbWVzIGJvdW5jZUluVXAge1xuICAwJSB7XG4gICAgb3BhY2l0eTogMDtcblxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDQwMHB4KTtcbiAgfVxuXG4gIDYwJSB7XG5cbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMzBweCk7XG4gIH1cblxuICA4MCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDEwcHgpO1xuICB9XG5cbiAgMTAwJSB7XG4gICAgb3BhY2l0eTogMTtcblxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApO1xuICB9XG59XG5cbkBrZXlmcmFtZXMgYm91bmNlSW5VcCB7XG4gIDAlIHtcbiAgICBvcGFjaXR5OiAwO1xuXG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDQwMHB4KTtcbiAgfVxuXG4gIDYwJSB7XG5cbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTMwcHgpO1xuICB9XG5cbiAgODAlIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMTBweCk7XG4gIH1cblxuICAxMDAlIHtcbiAgICBvcGFjaXR5OiAxO1xuXG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApO1xuICB9XG59XG5cbi5ib3VuY2VJblVwLmdvIHtcbiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogYm91bmNlSW5VcDtcbiAgYW5pbWF0aW9uLW5hbWU6IGJvdW5jZUluVXA7XG59XG5cblxuLyoqKioqKioqKioqKioqKioqKlxuKiBCb3VuY2UgaW4gZG93biAqXG4qKioqKioqKioqKioqKioqKioqL1xuXG5ALXdlYmtpdC1rZXlmcmFtZXMgYm91bmNlSW5Eb3duIHtcbiAgMCUge1xuICAgIG9wYWNpdHk6IDA7XG5cbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNDAwcHgpO1xuICB9XG5cbiAgNjAlIHtcblxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDMwcHgpO1xuICB9XG5cbiAgODAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMTBweCk7XG4gIH1cblxuICAxMDAlIHtcbiAgICBvcGFjaXR5OiAxO1xuXG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCk7XG4gIH1cbn1cblxuQGtleWZyYW1lcyBib3VuY2VJbkRvd24ge1xuICAwJSB7XG4gICAgb3BhY2l0eTogMDtcblxuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNDAwcHgpO1xuICB9XG5cbiAgNjAlIHtcblxuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgzMHB4KTtcbiAgfVxuXG4gIDgwJSB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0xMHB4KTtcbiAgfVxuXG4gIDEwMCUge1xuICAgIG9wYWNpdHk6IDE7XG5cbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCk7XG4gIH1cbn1cblxuLmJvdW5jZUluRG93bi5nbyB7XG4gIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IGJvdW5jZUluRG93bjtcbiAgYW5pbWF0aW9uLW5hbWU6IGJvdW5jZUluRG93bjtcbn1cblxuXG4vKioqKioqKioqKlxuKiBGYWRlIEluICpcbioqKioqKioqKiovXG5ALXdlYmtpdC1rZXlmcmFtZXMgZmFkZUluIHtcbiAgMCUge1xuICAgIG9wYWNpdHk6IDA7XG4gIH1cblxuICAxMDAlIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICB9XG59XG5cbkBrZXlmcmFtZXMgZmFkZUluIHtcbiAgMCUge1xuICAgIG9wYWNpdHk6IDA7XG4gIH1cblxuICAxMDAlIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICB9XG59XG5cbi5mYWRlSW4ge1xuICBvcGFjaXR5OiAwO1xufVxuXG4uZmFkZUluLmdvIHtcbiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogZmFkZUluO1xuICBhbmltYXRpb24tbmFtZTogZmFkZUluO1xufVxuXG4vKioqKioqKioqKlxuKiBHcm93IGluICpcbioqKioqKioqKioqL1xuXG5ALXdlYmtpdC1rZXlmcmFtZXMgZ3Jvd0luIHtcbiAgMCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZSgwLjIpO1xuICAgIG9wYWNpdHk6IDA7XG4gIH1cblxuICA1MCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZSgxLjIpO1xuXG4gIH1cblxuICAxMDAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUoMSk7XG4gICAgb3BhY2l0eTogMTtcbiAgfVxufVxuXG5Aa2V5ZnJhbWVzIGdyb3dJbiB7XG4gIDAlIHtcbiAgICB0cmFuc2Zvcm06IHNjYWxlKDAuMik7XG4gICAgb3BhY2l0eTogMDtcbiAgfVxuXG4gIDUwJSB7XG4gICAgdHJhbnNmb3JtOiBzY2FsZSgxLjIpO1xuXG4gIH1cblxuICAxMDAlIHtcbiAgICB0cmFuc2Zvcm06IHNjYWxlKDEpO1xuICAgIG9wYWNpdHk6IDE7XG4gIH1cbn1cblxuLmdyb3dJbiB7XG5cbiAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlKDAuMik7XG4gIHRyYW5zZm9ybTogc2NhbGUoMC4yKTtcbiAgb3BhY2l0eTogMDtcbn1cblxuLmdyb3dJbi5nbyB7XG4gIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IGdyb3dJbjtcbiAgYW5pbWF0aW9uLW5hbWU6IGdyb3dJbjtcbn1cblxuLyoqKioqKioqXG4qIFNoYWtlICpcbioqKioqKioqL1xuQC13ZWJraXQta2V5ZnJhbWVzIHNoYWtlIHtcblxuICAwJSxcbiAgMTAwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMCk7XG4gIH1cblxuICAxMCUsXG4gIDMwJSxcbiAgNTAlLFxuICA3MCUsXG4gIDkwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTEwcHgpO1xuICB9XG5cbiAgMjAlLFxuICA0MCUsXG4gIDYwJSxcbiAgODAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWCgxMHB4KTtcbiAgfVxufVxuXG5Aa2V5ZnJhbWVzIHNoYWtlIHtcblxuICAwJSxcbiAgMTAwJSB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDApO1xuICB9XG5cbiAgMTAlLFxuICAzMCUsXG4gIDUwJSxcbiAgNzAlLFxuICA5MCUge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtMTBweCk7XG4gIH1cblxuICAyMCUsXG4gIDQwJSxcbiAgNjAlLFxuICA4MCUge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgxMHB4KTtcbiAgfVxufVxuXG4uc2hha2UuZ28ge1xuICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiBzaGFrZTtcbiAgYW5pbWF0aW9uLW5hbWU6IHNoYWtlO1xufVxuXG4vKioqKioqKipcbiogU2hha2VVcCAqXG4qKioqKioqKi9cbkAtd2Via2l0LWtleWZyYW1lcyBzaGFrZVVwIHtcblxuICAwJSxcbiAgMTAwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCk7XG4gIH1cblxuICAxMCUsXG4gIDMwJSxcbiAgNTAlLFxuICA3MCUsXG4gIDkwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTEwcHgpO1xuICB9XG5cbiAgMjAlLFxuICA0MCUsXG4gIDYwJSxcbiAgODAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWSgxMHB4KTtcbiAgfVxufVxuXG5Aa2V5ZnJhbWVzIHNoYWtlVXAge1xuXG4gIDAlLFxuICAxMDAlIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCk7XG4gIH1cblxuICAxMCUsXG4gIDMwJSxcbiAgNTAlLFxuICA3MCUsXG4gIDkwJSB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0xMHB4KTtcbiAgfVxuXG4gIDIwJSxcbiAgNDAlLFxuICA2MCUsXG4gIDgwJSB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDEwcHgpO1xuICB9XG59XG5cbi5zaGFrZVVwLmdvIHtcbiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogc2hha2VVcDtcbiAgYW5pbWF0aW9uLW5hbWU6IHNoYWtlVXA7XG59XG5cbi8qKioqKioqKioqKioqXG4qIEZhZGVJbkxlZnQgKlxuKioqKioqKioqKioqKi9cblxuQC13ZWJraXQta2V5ZnJhbWVzIGZhZGVJbkxlZnQge1xuICAwJSB7XG4gICAgb3BhY2l0eTogMDtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNDAwcHgpO1xuICB9XG5cbiAgNTAlIHtcbiAgICBvcGFjaXR5OiAwLjM7XG4gIH1cblxuICAxMDAlIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDApO1xuICB9XG59XG5cbkBrZXlmcmFtZXMgZmFkZUluTGVmdCB7XG4gIDAlIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNDAwcHgpO1xuICB9XG5cbiAgNTAlIHtcbiAgICBvcGFjaXR5OiAwLjM7XG4gIH1cblxuICAxMDAlIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgwKTtcbiAgfVxufVxuXG4uZmFkZUluTGVmdCB7XG4gIG9wYWNpdHk6IDA7XG4gIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC00MDBweCk7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNDAwcHgpO1xufVxuXG4uZmFkZUluTGVmdC5nbyB7XG4gIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IGZhZGVJbkxlZnQ7XG4gIGFuaW1hdGlvbi1uYW1lOiBmYWRlSW5MZWZ0O1xufVxuXG5cbi8qKioqKioqKioqKioqXG4qIEZhZGVJblJpZ2h0ICpcbioqKioqKioqKioqKiovXG5cbkAtd2Via2l0LWtleWZyYW1lcyBmYWRlSW5SaWdodCB7XG4gIDAlIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDQwMHB4KTtcbiAgfVxuXG4gIDUwJSB7XG4gICAgb3BhY2l0eTogMC4zO1xuICB9XG5cbiAgMTAwJSB7XG4gICAgb3BhY2l0eTogMTtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWCgwKTtcbiAgfVxufVxuXG5Aa2V5ZnJhbWVzIGZhZGVJblJpZ2h0IHtcbiAgMCUge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDQwMHB4KTtcbiAgfVxuXG4gIDUwJSB7XG4gICAgb3BhY2l0eTogMC4zO1xuICB9XG5cbiAgMTAwJSB7XG4gICAgb3BhY2l0eTogMTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMCk7XG4gIH1cbn1cblxuLmZhZGVJblJpZ2h0IHtcbiAgb3BhY2l0eTogMDtcbiAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoNDAwcHgpO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoNDAwcHgpO1xufVxuXG4uZmFkZUluUmlnaHQuZ28ge1xuICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiBmYWRlSW5SaWdodDtcbiAgYW5pbWF0aW9uLW5hbWU6IGZhZGVJblJpZ2h0O1xufVxuXG4vKioqKioqKioqKioqKlxuKiBGYWRlSW5VcCAqXG4qKioqKioqKioqKioqL1xuXG5ALXdlYmtpdC1rZXlmcmFtZXMgZmFkZUluVXAge1xuICAwJSB7XG4gICAgb3BhY2l0eTogMDtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWSg0MDBweCk7XG4gIH1cblxuICA1MCUge1xuICAgIG9wYWNpdHk6IDAuMztcbiAgfVxuXG4gIDEwMCUge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCk7XG4gIH1cbn1cblxuQGtleWZyYW1lcyBmYWRlSW5VcCB7XG4gIDAlIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSg0MDBweCk7XG4gIH1cblxuICA1MCUge1xuICAgIG9wYWNpdHk6IDAuMztcbiAgfVxuXG4gIDEwMCUge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApO1xuICB9XG59XG5cbi5mYWRlSW5VcCB7XG4gIG9wYWNpdHk6IDA7XG4gIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDQwMHB4KTtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDQwMHB4KTtcbn1cblxuLmZhZGVJblVwLmdvIHtcbiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogZmFkZUluVXA7XG4gIGFuaW1hdGlvbi1uYW1lOiBmYWRlSW5VcDtcbn1cblxuLyoqKioqKioqKioqKipcbiogRmFkZUluRG93biAqXG4qKioqKioqKioqKioqL1xuXG5ALXdlYmtpdC1rZXlmcmFtZXMgZmFkZUluRG93biB7XG4gIDAlIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC00MDBweCk7XG4gIH1cblxuICA1MCUge1xuICAgIG9wYWNpdHk6IDAuMztcbiAgfVxuXG4gIDEwMCUge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCk7XG4gIH1cbn1cblxuQGtleWZyYW1lcyBmYWRlSW5Eb3duIHtcbiAgMCUge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC00MDBweCk7XG4gIH1cblxuICA1MCUge1xuICAgIG9wYWNpdHk6IDAuMztcbiAgfVxuXG4gIDEwMCUge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApO1xuICB9XG59XG5cbi5mYWRlSW5Eb3duIHtcbiAgb3BhY2l0eTogMDtcbiAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTQwMHB4KTtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC00MDBweCk7XG59XG5cbi5mYWRlSW5Eb3duLmdvIHtcbiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogZmFkZUluRG93bjtcbiAgYW5pbWF0aW9uLW5hbWU6IGZhZGVJbkRvd247XG59XG5cbi8qKioqKioqKioqKioqKioqKlxuKiByb3RhdGVJbiAqXG4qKioqKioqKioqKioqKioqKi9cbkAtd2Via2l0LWtleWZyYW1lcyByb3RhdGVJbiB7XG4gIDAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybS1vcmlnaW46IGNlbnRlciBjZW50ZXI7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZSgtMjAwZGVnKTtcbiAgICBvcGFjaXR5OiAwO1xuICB9XG5cbiAgMTAwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm0tb3JpZ2luOiBjZW50ZXIgY2VudGVyO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUoMCk7XG4gICAgb3BhY2l0eTogMTtcbiAgfVxufVxuXG5Aa2V5ZnJhbWVzIHJvdGF0ZUluIHtcbiAgMCUge1xuICAgIHRyYW5zZm9ybS1vcmlnaW46IGNlbnRlciBjZW50ZXI7XG4gICAgdHJhbnNmb3JtOiByb3RhdGUoLTIwMGRlZyk7XG4gICAgb3BhY2l0eTogMDtcbiAgfVxuXG4gIDEwMCUge1xuICAgIHRyYW5zZm9ybS1vcmlnaW46IGNlbnRlciBjZW50ZXI7XG4gICAgdHJhbnNmb3JtOiByb3RhdGUoMCk7XG4gICAgb3BhY2l0eTogMTtcbiAgfVxufVxuXG4ucm90YXRlSW4uZ28ge1xuICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiByb3RhdGVJbjtcbiAgYW5pbWF0aW9uLW5hbWU6IHJvdGF0ZUluO1xufVxuXG4vKioqKioqKioqKioqKioqKipcbiogcm90YXRlSW5VcExlZnQgKlxuKioqKioqKioqKioqKioqKiovXG5cbkAtd2Via2l0LWtleWZyYW1lcyByb3RhdGVJblVwTGVmdCB7XG4gIDAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybS1vcmlnaW46IGxlZnQgYm90dG9tO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUoOTBkZWcpO1xuICAgIG9wYWNpdHk6IDA7XG4gIH1cblxuICAxMDAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybS1vcmlnaW46IGxlZnQgYm90dG9tO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUoMCk7XG4gICAgb3BhY2l0eTogMTtcbiAgfVxufVxuXG5Aa2V5ZnJhbWVzIHJvdGF0ZUluVXBMZWZ0IHtcbiAgMCUge1xuICAgIHRyYW5zZm9ybS1vcmlnaW46IGxlZnQgYm90dG9tO1xuICAgIHRyYW5zZm9ybTogcm90YXRlKDkwZGVnKTtcbiAgICBvcGFjaXR5OiAwO1xuICB9XG5cbiAgMTAwJSB7XG4gICAgdHJhbnNmb3JtLW9yaWdpbjogbGVmdCBib3R0b207XG4gICAgdHJhbnNmb3JtOiByb3RhdGUoMCk7XG4gICAgb3BhY2l0eTogMTtcbiAgfVxufVxuXG4ucm90YXRlSW5VcExlZnQuZ28ge1xuICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiByb3RhdGVJblVwTGVmdDtcbiAgYW5pbWF0aW9uLW5hbWU6IHJvdGF0ZUluVXBMZWZ0O1xufVxuXG4vKioqKioqKioqKioqKioqKioqKlxuKiByb3RhdGVJbkRvd25MZWZ0ICpcbioqKioqKioqKioqKioqKioqKiovXG5ALXdlYmtpdC1rZXlmcmFtZXMgcm90YXRlSW5Eb3duTGVmdCB7XG4gIDAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybS1vcmlnaW46IGxlZnQgYm90dG9tO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUoLTkwZGVnKTtcbiAgICBvcGFjaXR5OiAwO1xuICB9XG5cbiAgMTAwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm0tb3JpZ2luOiBsZWZ0IGJvdHRvbTtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlKDApO1xuICAgIG9wYWNpdHk6IDE7XG4gIH1cbn1cblxuQGtleWZyYW1lcyByb3RhdGVJbkRvd25MZWZ0IHtcbiAgMCUge1xuICAgIHRyYW5zZm9ybS1vcmlnaW46IGxlZnQgYm90dG9tO1xuICAgIHRyYW5zZm9ybTogcm90YXRlKC05MGRlZyk7XG4gICAgb3BhY2l0eTogMDtcbiAgfVxuXG4gIDEwMCUge1xuICAgIHRyYW5zZm9ybS1vcmlnaW46IGxlZnQgYm90dG9tO1xuICAgIHRyYW5zZm9ybTogcm90YXRlKDApO1xuICAgIG9wYWNpdHk6IDE7XG4gIH1cbn1cblxuLnJvdGF0ZUluRG93bkxlZnQuZ28ge1xuICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiByb3RhdGVJbkRvd25MZWZ0O1xuICBhbmltYXRpb24tbmFtZTogcm90YXRlSW5Eb3duTGVmdDtcbn1cblxuLyoqKioqKioqKioqKioqKioqKlxuKiByb3RhdGVJblVwUmlnaHQgKlxuKioqKioqKioqKioqKioqKioqKi9cblxuQC13ZWJraXQta2V5ZnJhbWVzIHJvdGF0ZUluVXBSaWdodCB7XG4gIDAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybS1vcmlnaW46IHJpZ2h0IGJvdHRvbTtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlKC05MGRlZyk7XG4gICAgb3BhY2l0eTogMDtcbiAgfVxuXG4gIDEwMCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtLW9yaWdpbjogcmlnaHQgYm90dG9tO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUoMCk7XG4gICAgb3BhY2l0eTogMTtcbiAgfVxufVxuXG5Aa2V5ZnJhbWVzIHJvdGF0ZUluVXBSaWdodCB7XG4gIDAlIHtcbiAgICB0cmFuc2Zvcm0tb3JpZ2luOiByaWdodCBib3R0b207XG4gICAgdHJhbnNmb3JtOiByb3RhdGUoLTkwZGVnKTtcbiAgICBvcGFjaXR5OiAwO1xuICB9XG5cbiAgMTAwJSB7XG4gICAgdHJhbnNmb3JtLW9yaWdpbjogcmlnaHQgYm90dG9tO1xuICAgIHRyYW5zZm9ybTogcm90YXRlKDApO1xuICAgIG9wYWNpdHk6IDE7XG4gIH1cbn1cblxuLnJvdGF0ZUluVXBSaWdodC5nbyB7XG4gIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IHJvdGF0ZUluVXBSaWdodDtcbiAgYW5pbWF0aW9uLW5hbWU6IHJvdGF0ZUluVXBSaWdodDtcbn1cblxuLyoqKioqKioqKioqKioqKioqKioqXG4qIHJvdGF0ZUluRG93blJpZ2h0ICpcbioqKioqKioqKioqKioqKioqKioqL1xuXG5ALXdlYmtpdC1rZXlmcmFtZXMgcm90YXRlSW5Eb3duUmlnaHQge1xuICAwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm0tb3JpZ2luOiByaWdodCBib3R0b207XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZSg5MGRlZyk7XG4gICAgb3BhY2l0eTogMDtcbiAgfVxuXG4gIDEwMCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtLW9yaWdpbjogcmlnaHQgYm90dG9tO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUoMCk7XG4gICAgb3BhY2l0eTogMTtcbiAgfVxufVxuXG5Aa2V5ZnJhbWVzIHJvdGF0ZUluRG93blJpZ2h0IHtcbiAgMCUge1xuICAgIHRyYW5zZm9ybS1vcmlnaW46IHJpZ2h0IGJvdHRvbTtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZSg5MGRlZyk7XG4gICAgb3BhY2l0eTogMDtcbiAgfVxuXG4gIDEwMCUge1xuICAgIHRyYW5zZm9ybS1vcmlnaW46IHJpZ2h0IGJvdHRvbTtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZSgwKTtcbiAgICBvcGFjaXR5OiAxO1xuICB9XG59XG5cbi5yb3RhdGVJbkRvd25SaWdodC5nbyB7XG4gIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IHJvdGF0ZUluRG93blJpZ2h0O1xuICBhbmltYXRpb24tbmFtZTogcm90YXRlSW5Eb3duUmlnaHQ7XG59XG5cbi8qKioqKioqKipcbiogcm9sbEluICpcbioqKioqKioqKiovXG5cbkAtd2Via2l0LWtleWZyYW1lcyByb2xsSW4ge1xuICAwJSB7XG4gICAgb3BhY2l0eTogMDtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWCgtMTAwJSkgcm90YXRlKC0xMjBkZWcpO1xuICB9XG5cbiAgMTAwJSB7XG4gICAgb3BhY2l0eTogMTtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWCgwcHgpIHJvdGF0ZSgwZGVnKTtcbiAgfVxufVxuXG5Aa2V5ZnJhbWVzIHJvbGxJbiB7XG4gIDAlIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtMTAwJSkgcm90YXRlKC0xMjBkZWcpO1xuICB9XG5cbiAgMTAwJSB7XG4gICAgb3BhY2l0eTogMTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMHB4KSByb3RhdGUoMGRlZyk7XG4gIH1cbn1cblxuLnJvbGxJbi5nbyB7XG4gIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IHJvbGxJbjtcbiAgYW5pbWF0aW9uLW5hbWU6IHJvbGxJbjtcbn1cblxuLyoqKioqKioqKlxuKiB3aWdnbGUgKlxuKioqKioqKioqKi9cblxuQC13ZWJraXQta2V5ZnJhbWVzIHdpZ2dsZSB7XG4gIDAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2tld1goOWRlZyk7XG4gIH1cblxuICAxMCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBza2V3WCgtOGRlZyk7XG4gIH1cblxuICAyMCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBza2V3WCg3ZGVnKTtcbiAgfVxuXG4gIDMwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNrZXdYKC02ZGVnKTtcbiAgfVxuXG4gIDQwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNrZXdYKDVkZWcpO1xuICB9XG5cbiAgNTAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2tld1goLTRkZWcpO1xuICB9XG5cbiAgNjAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2tld1goM2RlZyk7XG4gIH1cblxuICA3MCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBza2V3WCgtMmRlZyk7XG4gIH1cblxuICA4MCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBza2V3WCgxZGVnKTtcbiAgfVxuXG4gIDkwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNrZXdYKDBkZWcpO1xuICB9XG5cbiAgMTAwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNrZXdYKDBkZWcpO1xuICB9XG59XG5cbkBrZXlmcmFtZXMgd2lnZ2xlIHtcbiAgMCUge1xuICAgIHRyYW5zZm9ybTogc2tld1goOWRlZyk7XG4gIH1cblxuICAxMCUge1xuICAgIHRyYW5zZm9ybTogc2tld1goLThkZWcpO1xuICB9XG5cbiAgMjAlIHtcbiAgICB0cmFuc2Zvcm06IHNrZXdYKDdkZWcpO1xuICB9XG5cbiAgMzAlIHtcbiAgICB0cmFuc2Zvcm06IHNrZXdYKC02ZGVnKTtcbiAgfVxuXG4gIDQwJSB7XG4gICAgdHJhbnNmb3JtOiBza2V3WCg1ZGVnKTtcbiAgfVxuXG4gIDUwJSB7XG4gICAgdHJhbnNmb3JtOiBza2V3WCgtNGRlZyk7XG4gIH1cblxuICA2MCUge1xuICAgIHRyYW5zZm9ybTogc2tld1goM2RlZyk7XG4gIH1cblxuICA3MCUge1xuICAgIHRyYW5zZm9ybTogc2tld1goLTJkZWcpO1xuICB9XG5cbiAgODAlIHtcbiAgICB0cmFuc2Zvcm06IHNrZXdYKDFkZWcpO1xuICB9XG5cbiAgOTAlIHtcbiAgICB0cmFuc2Zvcm06IHNrZXdYKDBkZWcpO1xuICB9XG5cbiAgMTAwJSB7XG4gICAgdHJhbnNmb3JtOiBza2V3WCgwZGVnKTtcbiAgfVxufVxuXG4ud2lnZ2xlLmdvIHtcbiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogd2lnZ2xlO1xuICBhbmltYXRpb24tbmFtZTogd2lnZ2xlO1xuICAtd2Via2l0LWFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2UtaW47XG4gIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2UtaW47XG59XG5cbi8qKioqKioqKlxuKiBzd2luZyAqXG4qKioqKioqKiovXG5cbkAtd2Via2l0LWtleWZyYW1lcyBzd2luZyB7XG5cbiAgMjAlLFxuICA0MCUsXG4gIDYwJSxcbiAgODAlLFxuICAxMDAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybS1vcmlnaW46IHRvcCBjZW50ZXI7XG4gIH1cblxuICAyMCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUoMTVkZWcpO1xuICB9XG5cbiAgNDAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlKC0xMGRlZyk7XG4gIH1cblxuICA2MCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUoNWRlZyk7XG4gIH1cblxuICA4MCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUoLTVkZWcpO1xuICB9XG5cbiAgMTAwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZSgwZGVnKTtcbiAgfVxufVxuXG5Aa2V5ZnJhbWVzIHN3aW5nIHtcbiAgMjAlIHtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZSgxNWRlZyk7XG4gIH1cblxuICA0MCUge1xuICAgIHRyYW5zZm9ybTogcm90YXRlKC0xMGRlZyk7XG4gIH1cblxuICA2MCUge1xuICAgIHRyYW5zZm9ybTogcm90YXRlKDVkZWcpO1xuICB9XG5cbiAgODAlIHtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZSgtNWRlZyk7XG4gIH1cblxuICAxMDAlIHtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZSgwZGVnKTtcbiAgfVxufVxuXG4uc3dpbmcuZ28ge1xuICAtd2Via2l0LXRyYW5zZm9ybS1vcmlnaW46IHRvcCBjZW50ZXI7XG4gIHRyYW5zZm9ybS1vcmlnaW46IHRvcCBjZW50ZXI7XG4gIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IHN3aW5nO1xuICBhbmltYXRpb24tbmFtZTogc3dpbmc7XG59XG5cbi8qKioqKioqXG4qIHRhZGEgKlxuKioqKioqKiovXG5cbkAtd2Via2l0LWtleWZyYW1lcyB0YWRhIHtcbiAgMCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZSgxKTtcbiAgfVxuXG4gIDEwJSxcbiAgMjAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUoMC45KSByb3RhdGUoLTNkZWcpO1xuICB9XG5cbiAgMzAlLFxuICA1MCUsXG4gIDcwJSxcbiAgOTAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUoMS4xKSByb3RhdGUoM2RlZyk7XG4gIH1cblxuICA0MCUsXG4gIDYwJSxcbiAgODAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUoMS4xKSByb3RhdGUoLTNkZWcpO1xuICB9XG5cbiAgMTAwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlKDEpIHJvdGF0ZSgwKTtcbiAgfVxufVxuXG5Aa2V5ZnJhbWVzIHRhZGEge1xuICAwJSB7XG4gICAgdHJhbnNmb3JtOiBzY2FsZSgxKTtcbiAgfVxuXG4gIDEwJSxcbiAgMjAlIHtcbiAgICB0cmFuc2Zvcm06IHNjYWxlKDAuOSkgcm90YXRlKC0zZGVnKTtcbiAgfVxuXG4gIDMwJSxcbiAgNTAlLFxuICA3MCUsXG4gIDkwJSB7XG4gICAgdHJhbnNmb3JtOiBzY2FsZSgxLjEpIHJvdGF0ZSgzZGVnKTtcbiAgfVxuXG4gIDQwJSxcbiAgNjAlLFxuICA4MCUge1xuICAgIHRyYW5zZm9ybTogc2NhbGUoMS4xKSByb3RhdGUoLTNkZWcpO1xuICB9XG5cbiAgMTAwJSB7XG4gICAgdHJhbnNmb3JtOiBzY2FsZSgxKSByb3RhdGUoMCk7XG4gIH1cbn1cblxuLnRhZGEuZ28ge1xuICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiB0YWRhO1xuICBhbmltYXRpb24tbmFtZTogdGFkYTtcbn1cblxuLyoqKioqKioqKlxuKiB3b2JibGUgKlxuKioqKioqKioqKi9cblxuQC13ZWJraXQta2V5ZnJhbWVzIHdvYmJsZSB7XG4gIDAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWCgwJSk7XG4gIH1cblxuICAxNSUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0yNSUpIHJvdGF0ZSgtNWRlZyk7XG4gIH1cblxuICAzMCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDIwJSkgcm90YXRlKDNkZWcpO1xuICB9XG5cbiAgNDUlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWCgtMTUlKSByb3RhdGUoLTNkZWcpO1xuICB9XG5cbiAgNjAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWCgxMCUpIHJvdGF0ZSgyZGVnKTtcbiAgfVxuXG4gIDc1JSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTUlKSByb3RhdGUoLTFkZWcpO1xuICB9XG5cbiAgMTAwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMCUpO1xuICB9XG59XG5cbkBrZXlmcmFtZXMgd29iYmxlIHtcbiAgMCUge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgwJSk7XG4gIH1cblxuICAxNSUge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtMjUlKSByb3RhdGUoLTVkZWcpO1xuICB9XG5cbiAgMzAlIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMjAlKSByb3RhdGUoM2RlZyk7XG4gIH1cblxuICA0NSUge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtMTUlKSByb3RhdGUoLTNkZWcpO1xuICB9XG5cbiAgNjAlIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMTAlKSByb3RhdGUoMmRlZyk7XG4gIH1cblxuICA3NSUge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNSUpIHJvdGF0ZSgtMWRlZyk7XG4gIH1cblxuICAxMDAlIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMCUpO1xuICB9XG59XG5cbi53b2JibGUuZ28ge1xuICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiB3b2JibGU7XG4gIGFuaW1hdGlvbi1uYW1lOiB3b2JibGU7XG59XG5cbi8qKioqKioqKlxuKiBwdWxzZSAqXG4qKioqKioqKiovXG5cbkAtd2Via2l0LWtleWZyYW1lcyBwdWxzZSB7XG4gIC8vIDAlIHtcbiAgLy8gICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUoMSk7XG4gIC8vIH1cblxuICAvLyA1MCUge1xuICAvLyAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZSgxLjEpO1xuICAvLyB9XG5cbiAgLy8gMTAwJSB7XG4gIC8vICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlKDEpO1xuICAvLyB9XG4gIDAlIHtcbiAgICB0cmFuc2Zvcm06IHNjYWxlKDAuOTUpO1xuICAgIGJveC1zaGFkb3c6IDAgMCAwIDAgcmdiYSgwLCAwLCAwLCAwLjcpO1xuICB9XG5cbiAgNzAlIHtcbiAgICB0cmFuc2Zvcm06IHNjYWxlKDEpO1xuICAgIGJveC1zaGFkb3c6IDAgMCAwIDEwcHggcmdiYSgwLCAwLCAwLCAwKTtcbiAgfVxuXG4gIDEwMCUge1xuICAgIHRyYW5zZm9ybTogc2NhbGUoMC45NSk7XG4gICAgYm94LXNoYWRvdzogMCAwIDAgMCByZ2JhKDAsIDAsIDAsIDApO1xuICB9XG59XG5cbkBrZXlmcmFtZXMgcHVsc2Uge1xuICAvLyAwJSB7XG4gIC8vICAgdHJhbnNmb3JtOiBzY2FsZSgxKTtcbiAgLy8gfVxuXG4gIC8vIDUwJSB7XG4gIC8vICAgdHJhbnNmb3JtOiBzY2FsZSgxLjEpO1xuICAvLyB9XG5cbiAgLy8gMTAwJSB7XG4gIC8vICAgdHJhbnNmb3JtOiBzY2FsZSgxKTtcbiAgLy8gfVxuICAwJSB7XG4gICAgdHJhbnNmb3JtOiBzY2FsZSgwLjk1KTtcbiAgICBib3gtc2hhZG93OiAwIDAgMCAwIHJnYmEoMCwgMCwgMCwgMC43KTtcbiAgfVxuXG4gIDcwJSB7XG4gICAgdHJhbnNmb3JtOiBzY2FsZSgxKTtcbiAgICBib3gtc2hhZG93OiAwIDAgMCAxMHB4IHJnYmEoMCwgMCwgMCwgMCk7XG4gIH1cblxuICAxMDAlIHtcbiAgICB0cmFuc2Zvcm06IHNjYWxlKDAuOTUpO1xuICAgIGJveC1zaGFkb3c6IDAgMCAwIDAgcmdiYSgwLCAwLCAwLCAwKTtcbiAgfVxufVxuXG4ucHVsc2UuZ28ge1xuICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiBwdWxzZTtcbiAgYW5pbWF0aW9uLW5hbWU6IHB1bHNlO1xufVxuXG4vKioqKioqKioqKioqKioqXG4qIGxpZ2h0U3BlZWRJblJpZ2h0ICpcbioqKioqKioqKioqKioqKiovXG5ALXdlYmtpdC1rZXlmcmFtZXMgbGlnaHRTcGVlZEluUmlnaHQge1xuICAwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMTAwJSkgc2tld1goLTMwZGVnKTtcbiAgICBvcGFjaXR5OiAwO1xuICB9XG5cbiAgNjAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWCgtMjAlKSBza2V3WCgzMGRlZyk7XG4gICAgb3BhY2l0eTogMTtcbiAgfVxuXG4gIDgwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMCUpIHNrZXdYKC0xNWRlZyk7XG4gICAgb3BhY2l0eTogMTtcbiAgfVxuXG4gIDEwMCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDAlKSBza2V3WCgwZGVnKTtcbiAgICBvcGFjaXR5OiAxO1xuICB9XG59XG5cbkBrZXlmcmFtZXMgbGlnaHRTcGVlZEluUmlnaHQge1xuICAwJSB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDEwMCUpIHNrZXdYKC0zMGRlZyk7XG4gICAgb3BhY2l0eTogMDtcbiAgfVxuXG4gIDYwJSB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0yMCUpIHNrZXdYKDMwZGVnKTtcbiAgICBvcGFjaXR5OiAxO1xuICB9XG5cbiAgODAlIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMCUpIHNrZXdYKC0xNWRlZyk7XG4gICAgb3BhY2l0eTogMTtcbiAgfVxuXG4gIDEwMCUge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgwJSkgc2tld1goMGRlZyk7XG4gICAgb3BhY2l0eTogMTtcbiAgfVxufVxuXG4ubGlnaHRTcGVlZEluUmlnaHQuZ28ge1xuICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiBsaWdodFNwZWVkSW5SaWdodDtcbiAgYW5pbWF0aW9uLW5hbWU6IGxpZ2h0U3BlZWRJblJpZ2h0O1xuICAtd2Via2l0LWFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2Utb3V0O1xuICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLW91dDtcbn1cblxuLyoqKioqKioqKioqKioqKlxuKiBsaWdodFNwZWVkSW5MZWZ0ICpcbioqKioqKioqKioqKioqKiovXG5ALXdlYmtpdC1rZXlmcmFtZXMgbGlnaHRTcGVlZEluTGVmdCB7XG4gIDAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWCgtMTAwJSkgc2tld1goMzBkZWcpO1xuICAgIG9wYWNpdHk6IDA7XG4gIH1cblxuICA2MCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDIwJSkgc2tld1goLTMwZGVnKTtcbiAgICBvcGFjaXR5OiAxO1xuICB9XG5cbiAgODAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWCgwJSkgc2tld1goMTVkZWcpO1xuICAgIG9wYWNpdHk6IDE7XG4gIH1cblxuICAxMDAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWCgwJSkgc2tld1goMGRlZyk7XG4gICAgb3BhY2l0eTogMTtcbiAgfVxufVxuXG5Aa2V5ZnJhbWVzIGxpZ2h0U3BlZWRJbkxlZnQge1xuICAwJSB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0xMDAlKSBza2V3WCgzMGRlZyk7XG4gICAgb3BhY2l0eTogMDtcbiAgfVxuXG4gIDYwJSB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDIwJSkgc2tld1goLTMwZGVnKTtcbiAgICBvcGFjaXR5OiAxO1xuICB9XG5cbiAgODAlIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMCUpIHNrZXdYKDE1ZGVnKTtcbiAgICBvcGFjaXR5OiAxO1xuICB9XG5cbiAgMTAwJSB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDAlKSBza2V3WCgwZGVnKTtcbiAgICBvcGFjaXR5OiAxO1xuICB9XG59XG5cbi5saWdodFNwZWVkSW5MZWZ0LmdvIHtcbiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogbGlnaHRTcGVlZEluTGVmdDtcbiAgYW5pbWF0aW9uLW5hbWU6IGxpZ2h0U3BlZWRJbkxlZnQ7XG4gIC13ZWJraXQtYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1vdXQ7XG4gIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2Utb3V0O1xufVxuXG5cbi8qKioqKioqXG4qIEZsaXAgKlxuKioqKioqKi9cbkAtd2Via2l0LWtleWZyYW1lcyBmbGlwIHtcbiAgMCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkgcm90YXRlWSgwKTtcbiAgICAtd2Via2l0LWFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2Utb3V0O1xuICB9XG5cbiAgNDAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpIHRyYW5zbGF0ZVooMTUwcHgpIHJvdGF0ZVkoMTcwZGVnKTtcbiAgICAtd2Via2l0LWFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2Utb3V0O1xuICB9XG5cbiAgNTAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpIHRyYW5zbGF0ZVooMTUwcHgpIHJvdGF0ZVkoMTkwZGVnKSBzY2FsZSgxKTtcbiAgICAtd2Via2l0LWFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2UtaW47XG4gIH1cblxuICA4MCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkgcm90YXRlWSgzNjBkZWcpIHNjYWxlKC45NSk7XG4gICAgLXdlYmtpdC1hbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLWluO1xuICB9XG5cbiAgMTAwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KSBzY2FsZSgxKTtcbiAgICAtd2Via2l0LWFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2UtaW47XG4gIH1cbn1cblxuQGtleWZyYW1lcyBmbGlwIHtcbiAgMCUge1xuICAgIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpIHJvdGF0ZVkoMCk7XG4gICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1vdXQ7XG4gIH1cblxuICA0MCUge1xuICAgIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpIHRyYW5zbGF0ZVooMTUwcHgpIHJvdGF0ZVkoMTcwZGVnKTtcbiAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLW91dDtcbiAgfVxuXG4gIDUwJSB7XG4gICAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkgdHJhbnNsYXRlWigxNTBweCkgcm90YXRlWSgxOTBkZWcpIHNjYWxlKDEpO1xuICAgIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2UtaW47XG4gIH1cblxuICA4MCUge1xuICAgIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpIHJvdGF0ZVkoMzYwZGVnKSBzY2FsZSguOTUpO1xuICAgIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2UtaW47XG4gIH1cblxuICAxMDAlIHtcbiAgICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KSBzY2FsZSgxKTtcbiAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLWluO1xuICB9XG59XG5cbi5mbGlwLmdvIHtcbiAgLXdlYmtpdC1iYWNrZmFjZS12aXNpYmlsaXR5OiB2aXNpYmxlICFpbXBvcnRhbnQ7XG4gIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IGZsaXA7XG4gIGJhY2tmYWNlLXZpc2liaWxpdHk6IHZpc2libGUgIWltcG9ydGFudDtcbiAgYW5pbWF0aW9uLW5hbWU6IGZsaXA7XG59XG5cbi8qKioqKioqKioqXG4qIGZsaXBJblggKlxuKioqKioqKioqKi9cbkAtd2Via2l0LWtleWZyYW1lcyBmbGlwSW5YIHtcbiAgMCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkgcm90YXRlWCg5MGRlZyk7XG4gICAgb3BhY2l0eTogMDtcbiAgfVxuXG4gIDQwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KSByb3RhdGVYKC0xMGRlZyk7XG4gIH1cblxuICA3MCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkgcm90YXRlWCgxMGRlZyk7XG4gIH1cblxuICAxMDAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpIHJvdGF0ZVgoMGRlZyk7XG4gICAgb3BhY2l0eTogMTtcbiAgfVxufVxuXG5Aa2V5ZnJhbWVzIGZsaXBJblgge1xuICAwJSB7XG4gICAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkgcm90YXRlWCg5MGRlZyk7XG4gICAgb3BhY2l0eTogMDtcbiAgfVxuXG4gIDQwJSB7XG4gICAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkgcm90YXRlWCgtMTBkZWcpO1xuICB9XG5cbiAgNzAlIHtcbiAgICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KSByb3RhdGVYKDEwZGVnKTtcbiAgfVxuXG4gIDEwMCUge1xuICAgIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpIHJvdGF0ZVgoMGRlZyk7XG4gICAgb3BhY2l0eTogMTtcbiAgfVxufVxuXG4uZmxpcEluWC5nbyB7XG4gIC13ZWJraXQtYmFja2ZhY2UtdmlzaWJpbGl0eTogdmlzaWJsZSAhaW1wb3J0YW50O1xuICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiBmbGlwSW5YO1xuICBiYWNrZmFjZS12aXNpYmlsaXR5OiB2aXNpYmxlICFpbXBvcnRhbnQ7XG4gIGFuaW1hdGlvbi1uYW1lOiBmbGlwSW5YO1xufVxuXG4vKioqKioqKioqKlxuKiBmbGlwSW5ZICpcbioqKioqKioqKiovXG5cbkAtd2Via2l0LWtleWZyYW1lcyBmbGlwSW5ZIHtcbiAgMCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkgcm90YXRlWSg5MGRlZyk7XG4gICAgb3BhY2l0eTogMDtcbiAgfVxuXG4gIDQwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KSByb3RhdGVZKC0xMGRlZyk7XG4gIH1cblxuICA3MCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkgcm90YXRlWSgxMGRlZyk7XG4gIH1cblxuICAxMDAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpIHJvdGF0ZVkoMGRlZyk7XG4gICAgb3BhY2l0eTogMTtcbiAgfVxufVxuXG5Aa2V5ZnJhbWVzIGZsaXBJblkge1xuICAwJSB7XG4gICAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkgcm90YXRlWSg5MGRlZyk7XG4gICAgb3BhY2l0eTogMDtcbiAgfVxuXG4gIDQwJSB7XG4gICAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkgcm90YXRlWSgtMTBkZWcpO1xuICB9XG5cbiAgNzAlIHtcbiAgICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KSByb3RhdGVZKDEwZGVnKTtcbiAgfVxuXG4gIDEwMCUge1xuICAgIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpIHJvdGF0ZVkoMGRlZyk7XG4gICAgb3BhY2l0eTogMTtcbiAgfVxufVxuXG4uZmxpcEluWS5nbyB7XG4gIC13ZWJraXQtYmFja2ZhY2UtdmlzaWJpbGl0eTogdmlzaWJsZSAhaW1wb3J0YW50O1xuICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiBmbGlwSW5ZO1xuICBiYWNrZmFjZS12aXNpYmlsaXR5OiB2aXNpYmxlICFpbXBvcnRhbnQ7XG4gIGFuaW1hdGlvbi1uYW1lOiBmbGlwSW5ZO1xufVxuXG4vKioqKioqKioqKioqKioqKipcbiogT3V0IGFuaW1hdGlvbnMgKlxuKioqKioqKioqKioqKioqKiovXG5cblxuLyoqKioqKioqKioqKlxuKiBib3VuY2VPdXQgKlxuKioqKioqKioqKioqKi9cbkAtd2Via2l0LWtleWZyYW1lcyBib3VuY2VPdXQge1xuICAwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlKDEpO1xuICB9XG5cbiAgMjUlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUoLjk1KTtcbiAgfVxuXG4gIDUwJSB7XG4gICAgb3BhY2l0eTogMTtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUoMS4xKTtcbiAgfVxuXG4gIDEwMCUge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlKC4zKTtcbiAgfVxufVxuXG5Aa2V5ZnJhbWVzIGJvdW5jZU91dCB7XG4gIDAlIHtcbiAgICB0cmFuc2Zvcm06IHNjYWxlKDEpO1xuICB9XG5cbiAgMjUlIHtcbiAgICB0cmFuc2Zvcm06IHNjYWxlKC45NSk7XG4gIH1cblxuICA1MCUge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgdHJhbnNmb3JtOiBzY2FsZSgxLjEpO1xuICB9XG5cbiAgMTAwJSB7XG4gICAgb3BhY2l0eTogMDtcbiAgICB0cmFuc2Zvcm06IHNjYWxlKC4zKTtcbiAgfVxufVxuXG4uYm91bmNlT3V0LmdvQXdheSB7XG4gIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IGJvdW5jZU91dDtcbiAgYW5pbWF0aW9uLW5hbWU6IGJvdW5jZU91dDtcbn1cblxuLyoqKioqKioqKioqKlxuKiBib3VuY2VPdXRVcCAqXG4qKioqKioqKioqKioqL1xuQC13ZWJraXQta2V5ZnJhbWVzIGJvdW5jZU91dFVwIHtcbiAgMCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApO1xuICB9XG5cbiAgMjAlIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDIwcHgpO1xuICB9XG5cbiAgMTAwJSB7XG4gICAgb3BhY2l0eTogMDtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMjAwMHB4KTtcbiAgfVxufVxuXG5Aa2V5ZnJhbWVzIGJvdW5jZU91dFVwIHtcbiAgMCUge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKTtcbiAgfVxuXG4gIDIwJSB7XG4gICAgb3BhY2l0eTogMTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMjBweCk7XG4gIH1cblxuICAxMDAlIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMjAwMHB4KTtcbiAgfVxufVxuXG4uYm91bmNlT3V0VXAuZ29Bd2F5IHtcbiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogYm91bmNlT3V0VXA7XG4gIGFuaW1hdGlvbi1uYW1lOiBib3VuY2VPdXRVcDtcbn1cblxuLyoqKioqKioqKioqKlxuKiBib3VuY2VPdXREb3duICpcbioqKioqKioqKioqKiovXG5ALXdlYmtpdC1rZXlmcmFtZXMgYm91bmNlT3V0RG93biB7XG4gIDAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKTtcbiAgfVxuXG4gIDIwJSB7XG4gICAgb3BhY2l0eTogMTtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMjBweCk7XG4gIH1cblxuICAxMDAlIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDIwMDBweCk7XG4gIH1cbn1cblxuQGtleWZyYW1lcyBib3VuY2VPdXREb3duIHtcbiAgMCUge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKTtcbiAgfVxuXG4gIDIwJSB7XG4gICAgb3BhY2l0eTogMTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTIwcHgpO1xuICB9XG5cbiAgMTAwJSB7XG4gICAgb3BhY2l0eTogMDtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMjAwMHB4KTtcbiAgfVxufVxuXG4uYm91bmNlT3V0RG93bi5nb0F3YXkge1xuICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiBib3VuY2VPdXREb3duO1xuICBhbmltYXRpb24tbmFtZTogYm91bmNlT3V0RG93bjtcbn1cblxuXG4vKioqKioqKioqKioqXG4qIGJvdW5jZU91dExlZnQgKlxuKioqKioqKioqKioqKi9cbkAtd2Via2l0LWtleWZyYW1lcyBib3VuY2VPdXRMZWZ0IHtcbiAgMCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDApO1xuICB9XG5cbiAgMjAlIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDIwcHgpO1xuICB9XG5cbiAgMTAwJSB7XG4gICAgb3BhY2l0eTogMDtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWCgtMjAwMHB4KTtcbiAgfVxufVxuXG5Aa2V5ZnJhbWVzIGJvdW5jZU91dExlZnQge1xuICAwJSB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDApO1xuICB9XG5cbiAgMjAlIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgyMHB4KTtcbiAgfVxuXG4gIDEwMCUge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0yMDAwcHgpO1xuICB9XG59XG5cbi5ib3VuY2VPdXRMZWZ0LmdvQXdheSB7XG4gIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IGJvdW5jZU91dExlZnQ7XG4gIGFuaW1hdGlvbi1uYW1lOiBib3VuY2VPdXRMZWZ0O1xufVxuXG4vKioqKioqKioqKioqXG4qIGJvdW5jZU91dFJpZ2h0ICpcbioqKioqKioqKioqKiovXG5ALXdlYmtpdC1rZXlmcmFtZXMgYm91bmNlT3V0UmlnaHQge1xuICAwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMCk7XG4gIH1cblxuICAyMCUge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTIwcHgpO1xuICB9XG5cbiAgMTAwJSB7XG4gICAgb3BhY2l0eTogMDtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWCgyMDAwcHgpO1xuICB9XG59XG5cbkBrZXlmcmFtZXMgYm91bmNlT3V0UmlnaHQge1xuICAwJSB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDApO1xuICB9XG5cbiAgMjAlIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtMjBweCk7XG4gIH1cblxuICAxMDAlIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgyMDAwcHgpO1xuICB9XG59XG5cbi5ib3VuY2VPdXRSaWdodC5nb0F3YXkge1xuICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiBib3VuY2VPdXRSaWdodDtcbiAgYW5pbWF0aW9uLW5hbWU6IGJvdW5jZU91dFJpZ2h0O1xufVxuXG4vKioqKioqKioqKioqXG4qIGZhZGVPdXQgKlxuKioqKioqKioqKioqKi9cbkAtd2Via2l0LWtleWZyYW1lcyBmYWRlT3V0IHtcbiAgMCUge1xuICAgIG9wYWNpdHk6IDE7XG4gIH1cblxuICAxMDAlIHtcbiAgICBvcGFjaXR5OiAwO1xuICB9XG59XG5cbkBrZXlmcmFtZXMgZmFkZU91dCB7XG4gIDAlIHtcbiAgICBvcGFjaXR5OiAxO1xuICB9XG5cbiAgMTAwJSB7XG4gICAgb3BhY2l0eTogMDtcbiAgfVxufVxuXG4uZmFkZU91dC5nb0F3YXkge1xuICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiBmYWRlT3V0O1xuICBhbmltYXRpb24tbmFtZTogZmFkZU91dDtcbn1cblxuLyoqKioqKioqKioqKlxuKiBmYWRlT3V0VXAgKlxuKioqKioqKioqKioqKi9cbkAtd2Via2l0LWtleWZyYW1lcyBmYWRlT3V0VXAge1xuICAwJSB7XG4gICAgb3BhY2l0eTogMTtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKTtcbiAgfVxuXG4gIDEwMCUge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTIwMDBweCk7XG4gIH1cbn1cblxuQGtleWZyYW1lcyBmYWRlT3V0VXAge1xuICAwJSB7XG4gICAgb3BhY2l0eTogMTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCk7XG4gIH1cblxuICAxMDAlIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMjAwMHB4KTtcbiAgfVxufVxuXG4uZmFkZU91dFVwLmdvQXdheSB7XG4gIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IGZhZGVPdXRVcDtcbiAgYW5pbWF0aW9uLW5hbWU6IGZhZGVPdXRVcDtcbn1cblxuLyoqKioqKioqKioqKlxuKiBmYWRlT3V0RG93biAqXG4qKioqKioqKioqKioqL1xuQC13ZWJraXQta2V5ZnJhbWVzIGZhZGVPdXREb3duIHtcbiAgMCUge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCk7XG4gIH1cblxuICAxMDAlIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDIwMDBweCk7XG4gIH1cbn1cblxuQGtleWZyYW1lcyBmYWRlT3V0RG93biB7XG4gIDAlIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKTtcbiAgfVxuXG4gIDEwMCUge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDIwMDBweCk7XG4gIH1cbn1cblxuLmZhZGVPdXREb3duLmdvQXdheSB7XG4gIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IGZhZGVPdXREb3duO1xuICBhbmltYXRpb24tbmFtZTogZmFkZU91dERvd247XG59XG5cbi8qKioqKioqKioqKipcbiogZmFkZU91dExlZnQgKlxuKioqKioqKioqKioqKi9cbkAtd2Via2l0LWtleWZyYW1lcyBmYWRlT3V0TGVmdCB7XG4gIDAlIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDApO1xuICB9XG5cbiAgMTAwJSB7XG4gICAgb3BhY2l0eTogMDtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWCgtMjAwMHB4KTtcbiAgfVxufVxuXG5Aa2V5ZnJhbWVzIGZhZGVPdXRMZWZ0IHtcbiAgMCUge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDApO1xuICB9XG5cbiAgMTAwJSB7XG4gICAgb3BhY2l0eTogMDtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTIwMDBweCk7XG4gIH1cbn1cblxuLmZhZGVPdXRMZWZ0LmdvQXdheSB7XG4gIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IGZhZGVPdXRMZWZ0O1xuICBhbmltYXRpb24tbmFtZTogZmFkZU91dExlZnQ7XG59XG5cbi8qKioqKioqKioqKipcbiogZmFkZU91dFJpZ2h0ICpcbioqKioqKioqKioqKiovXG5ALXdlYmtpdC1rZXlmcmFtZXMgZmFkZU91dFJpZ2h0IHtcbiAgMCUge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMCk7XG4gIH1cblxuICAxMDAlIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDIwMDBweCk7XG4gIH1cbn1cblxuQGtleWZyYW1lcyBmYWRlT3V0UmlnaHQge1xuICAwJSB7XG4gICAgb3BhY2l0eTogMTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMCk7XG4gIH1cblxuICAxMDAlIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgyMDAwcHgpO1xuICB9XG59XG5cbi5mYWRlT3V0UmlnaHQuZ29Bd2F5IHtcbiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogZmFkZU91dFJpZ2h0O1xuICBhbmltYXRpb24tbmFtZTogZmFkZU91dFJpZ2h0O1xufVxuXG4vKioqKioqKioqKioqXG4qIGZsaXBPdXRYICpcbioqKioqKioqKioqKiovXG5ALXdlYmtpdC1rZXlmcmFtZXMgZmxpcE91dFgge1xuICAwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KSByb3RhdGVYKDBkZWcpO1xuICAgIG9wYWNpdHk6IDE7XG4gIH1cblxuICAxMDAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpIHJvdGF0ZVgoOTBkZWcpO1xuICAgIG9wYWNpdHk6IDA7XG4gIH1cbn1cblxuQGtleWZyYW1lcyBmbGlwT3V0WCB7XG4gIDAlIHtcbiAgICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KSByb3RhdGVYKDBkZWcpO1xuICAgIG9wYWNpdHk6IDE7XG4gIH1cblxuICAxMDAlIHtcbiAgICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KSByb3RhdGVYKDkwZGVnKTtcbiAgICBvcGFjaXR5OiAwO1xuICB9XG59XG5cbi5mbGlwT3V0WC5nb0F3YXkge1xuICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiBmbGlwT3V0WDtcbiAgLXdlYmtpdC1iYWNrZmFjZS12aXNpYmlsaXR5OiB2aXNpYmxlICFpbXBvcnRhbnQ7XG4gIGFuaW1hdGlvbi1uYW1lOiBmbGlwT3V0WDtcbiAgYmFja2ZhY2UtdmlzaWJpbGl0eTogdmlzaWJsZSAhaW1wb3J0YW50O1xufVxuXG4vKioqKioqKioqKioqXG4qIGZsaXBPdXRZICpcbioqKioqKioqKioqKiovXG5ALXdlYmtpdC1rZXlmcmFtZXMgZmxpcE91dFkge1xuICAwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KSByb3RhdGVZKDBkZWcpO1xuICAgIG9wYWNpdHk6IDE7XG4gIH1cblxuICAxMDAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpIHJvdGF0ZVkoOTBkZWcpO1xuICAgIG9wYWNpdHk6IDA7XG4gIH1cbn1cblxuQGtleWZyYW1lcyBmbGlwT3V0WSB7XG4gIDAlIHtcbiAgICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KSByb3RhdGVZKDBkZWcpO1xuICAgIG9wYWNpdHk6IDE7XG4gIH1cblxuICAxMDAlIHtcbiAgICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KSByb3RhdGVZKDkwZGVnKTtcbiAgICBvcGFjaXR5OiAwO1xuICB9XG59XG5cbi5mbGlwT3V0WSB7XG4gIC13ZWJraXQtYmFja2ZhY2UtdmlzaWJpbGl0eTogdmlzaWJsZSAhaW1wb3J0YW50O1xuICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiBmbGlwT3V0WTtcbiAgYmFja2ZhY2UtdmlzaWJpbGl0eTogdmlzaWJsZSAhaW1wb3J0YW50O1xuICBhbmltYXRpb24tbmFtZTogZmxpcE91dFk7XG59XG5cbi8qKioqKioqKioqKipcbiogbGlnaHRTcGVlZE91dFJpZ2h0ICpcbioqKioqKioqKioqKiovXG5ALXdlYmtpdC1rZXlmcmFtZXMgbGlnaHRTcGVlZE91dFJpZ2h0IHtcbiAgMCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDAlKSBza2V3WCgwZGVnKTtcbiAgICBvcGFjaXR5OiAxO1xuICB9XG5cbiAgMTAwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMTAwJSkgc2tld1goLTMwZGVnKTtcbiAgICBvcGFjaXR5OiAwO1xuICB9XG59XG5cbkBrZXlmcmFtZXMgbGlnaHRTcGVlZE91dFJpZ2h0IHtcbiAgMCUge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgwJSkgc2tld1goMGRlZyk7XG4gICAgb3BhY2l0eTogMTtcbiAgfVxuXG4gIDEwMCUge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgxMDAlKSBza2V3WCgtMzBkZWcpO1xuICAgIG9wYWNpdHk6IDA7XG4gIH1cbn1cblxuLmxpZ2h0U3BlZWRPdXRSaWdodC5nb0F3YXkge1xuICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiBsaWdodFNwZWVkT3V0UmlnaHQ7XG4gIGFuaW1hdGlvbi1uYW1lOiBsaWdodFNwZWVkT3V0UmlnaHQ7XG4gIC13ZWJraXQtYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1pbjtcbiAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1pbjtcbn1cblxuXG4vKioqKioqKioqKioqXG4qIGxpZ2h0U3BlZWRPdXRMZWZ0ICpcbioqKioqKioqKioqKiovXG5ALXdlYmtpdC1rZXlmcmFtZXMgbGlnaHRTcGVlZE91dExlZnQge1xuICAwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMCUpIHNrZXdYKDBkZWcpO1xuICAgIG9wYWNpdHk6IDE7XG4gIH1cblxuICAxMDAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWCgtMTAwJSkgc2tld1goMzBkZWcpO1xuICAgIG9wYWNpdHk6IDA7XG4gIH1cbn1cblxuQGtleWZyYW1lcyBsaWdodFNwZWVkT3V0TGVmdCB7XG4gIDAlIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMCUpIHNrZXdYKDBkZWcpO1xuICAgIG9wYWNpdHk6IDE7XG4gIH1cblxuICAxMDAlIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTEwMCUpIHNrZXdYKDMwZGVnKTtcbiAgICBvcGFjaXR5OiAwO1xuICB9XG59XG5cbi5saWdodFNwZWVkT3V0TGVmdC5nb0F3YXkge1xuICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiBsaWdodFNwZWVkT3V0TGVmdDtcbiAgYW5pbWF0aW9uLW5hbWU6IGxpZ2h0U3BlZWRPdXRMZWZ0O1xuICAtd2Via2l0LWFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2UtaW47XG4gIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2UtaW47XG5cbn1cblxuLyoqKioqKioqKioqKlxuKiByb3RhdGVPdXQgKlxuKioqKioqKioqKioqKi9cbkAtd2Via2l0LWtleWZyYW1lcyByb3RhdGVPdXQge1xuICAwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm0tb3JpZ2luOiBjZW50ZXIgY2VudGVyO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUoMCk7XG4gICAgb3BhY2l0eTogMTtcbiAgfVxuXG4gIDEwMCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtLW9yaWdpbjogY2VudGVyIGNlbnRlcjtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlKDIwMGRlZyk7XG4gICAgb3BhY2l0eTogMDtcbiAgfVxufVxuXG5Aa2V5ZnJhbWVzIHJvdGF0ZU91dCB7XG4gIDAlIHtcbiAgICB0cmFuc2Zvcm0tb3JpZ2luOiBjZW50ZXIgY2VudGVyO1xuICAgIHRyYW5zZm9ybTogcm90YXRlKDApO1xuICAgIG9wYWNpdHk6IDE7XG4gIH1cblxuICAxMDAlIHtcbiAgICB0cmFuc2Zvcm0tb3JpZ2luOiBjZW50ZXIgY2VudGVyO1xuICAgIHRyYW5zZm9ybTogcm90YXRlKDIwMGRlZyk7XG4gICAgb3BhY2l0eTogMDtcbiAgfVxufVxuXG4ucm90YXRlT3V0LmdvQXdheSB7XG4gIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IHJvdGF0ZU91dDtcbiAgYW5pbWF0aW9uLW5hbWU6IHJvdGF0ZU91dDtcbn1cblxuXG4vKioqKioqKioqKioqXG4qIHJvdGF0ZU91dFVwTGVmdCAqXG4qKioqKioqKioqKioqL1xuQC13ZWJraXQta2V5ZnJhbWVzIHJvdGF0ZU91dFVwTGVmdCB7XG4gIDAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybS1vcmlnaW46IGxlZnQgYm90dG9tO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUoMCk7XG4gICAgb3BhY2l0eTogMTtcbiAgfVxuXG4gIDEwMCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtLW9yaWdpbjogbGVmdCBib3R0b207XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZSgtOTBkZWcpO1xuICAgIG9wYWNpdHk6IDA7XG4gIH1cbn1cblxuQGtleWZyYW1lcyByb3RhdGVPdXRVcExlZnQge1xuICAwJSB7XG4gICAgdHJhbnNmb3JtLW9yaWdpbjogbGVmdCBib3R0b207XG4gICAgdHJhbnNmb3JtOiByb3RhdGUoMCk7XG4gICAgb3BhY2l0eTogMTtcbiAgfVxuXG4gIDEwMCUge1xuICAgIC10cmFuc2Zvcm0tb3JpZ2luOiBsZWZ0IGJvdHRvbTtcbiAgICAtdHJhbnNmb3JtOiByb3RhdGUoLTkwZGVnKTtcbiAgICBvcGFjaXR5OiAwO1xuICB9XG59XG5cbi5yb3RhdGVPdXRVcExlZnQuZ29Bd2F5IHtcbiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogcm90YXRlT3V0VXBMZWZ0O1xuICBhbmltYXRpb24tbmFtZTogcm90YXRlT3V0VXBMZWZ0O1xufVxuXG4vKioqKioqKioqKioqXG4qIHJvdGF0ZU91dERvd25MZWZ0ICpcbioqKioqKioqKioqKiovXG5cbkAtd2Via2l0LWtleWZyYW1lcyByb3RhdGVPdXREb3duTGVmdCB7XG4gIDAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybS1vcmlnaW46IGxlZnQgYm90dG9tO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUoMCk7XG4gICAgb3BhY2l0eTogMTtcbiAgfVxuXG4gIDEwMCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtLW9yaWdpbjogbGVmdCBib3R0b207XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZSg5MGRlZyk7XG4gICAgb3BhY2l0eTogMDtcbiAgfVxufVxuXG5Aa2V5ZnJhbWVzIHJvdGF0ZU91dERvd25MZWZ0IHtcbiAgMCUge1xuICAgIHRyYW5zZm9ybS1vcmlnaW46IGxlZnQgYm90dG9tO1xuICAgIHRyYW5zZm9ybTogcm90YXRlKDApO1xuICAgIG9wYWNpdHk6IDE7XG4gIH1cblxuICAxMDAlIHtcbiAgICB0cmFuc2Zvcm0tb3JpZ2luOiBsZWZ0IGJvdHRvbTtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZSg5MGRlZyk7XG4gICAgb3BhY2l0eTogMDtcbiAgfVxufVxuXG4ucm90YXRlT3V0RG93bkxlZnQuZ29Bd2F5IHtcbiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogcm90YXRlT3V0RG93bkxlZnQ7XG4gIGFuaW1hdGlvbi1uYW1lOiByb3RhdGVPdXREb3duTGVmdDtcbn1cblxuLyoqKioqKioqKioqKlxuKiByb3RhdGVPdXRVcFJpZ2h0ICpcbioqKioqKioqKioqKiovXG5cbkAtd2Via2l0LWtleWZyYW1lcyByb3RhdGVPdXRVcFJpZ2h0IHtcbiAgMCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtLW9yaWdpbjogcmlnaHQgYm90dG9tO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUoMCk7XG4gICAgb3BhY2l0eTogMTtcbiAgfVxuXG4gIDEwMCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtLW9yaWdpbjogcmlnaHQgYm90dG9tO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUoOTBkZWcpO1xuICAgIG9wYWNpdHk6IDA7XG4gIH1cbn1cblxuQGtleWZyYW1lcyByb3RhdGVPdXRVcFJpZ2h0IHtcbiAgMCUge1xuICAgIHRyYW5zZm9ybS1vcmlnaW46IHJpZ2h0IGJvdHRvbTtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZSgwKTtcbiAgICBvcGFjaXR5OiAxO1xuICB9XG5cbiAgMTAwJSB7XG4gICAgdHJhbnNmb3JtLW9yaWdpbjogcmlnaHQgYm90dG9tO1xuICAgIHRyYW5zZm9ybTogcm90YXRlKDkwZGVnKTtcbiAgICBvcGFjaXR5OiAwO1xuICB9XG59XG5cbi5yb3RhdGVPdXRVcFJpZ2h0LmdvQXdheSB7XG4gIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IHJvdGF0ZU91dFVwUmlnaHQ7XG4gIGFuaW1hdGlvbi1uYW1lOiByb3RhdGVPdXRVcFJpZ2h0O1xufVxuXG4vKioqKioqKioqKioqXG4qIHJvbGxPdXQgKlxuKioqKioqKioqKioqKi9cbkAtd2Via2l0LWtleWZyYW1lcyByb2xsT3V0IHtcbiAgMCUge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMHB4KSByb3RhdGUoMGRlZyk7XG4gIH1cblxuICAxMDAlIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDEwMCUpIHJvdGF0ZSgxMjBkZWcpO1xuICB9XG59XG5cbkBrZXlmcmFtZXMgcm9sbE91dCB7XG4gIDAlIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgwcHgpIHJvdGF0ZSgwZGVnKTtcbiAgfVxuXG4gIDEwMCUge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDEwMCUpIHJvdGF0ZSgxMjBkZWcpO1xuICB9XG59XG5cbi5yb2xsT3V0LmdvQXdheSB7XG4gIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IHJvbGxPdXQ7XG4gIGFuaW1hdGlvbi1uYW1lOiByb2xsT3V0O1xufVxuXG4vKioqKioqKioqKioqKioqKipcbiogU2hvcnQgQW5pbWF0aW9uc1xuKioqKioqKioqKioqKioqKioqKi9cblxuLyoqKioqKioqKioqKioqKioqKioqKlxuKiBmYWRlSW5VcFNob3J0XG4qKioqKioqKioqKioqKioqKioqKiovXG5ALXdlYmtpdC1rZXlmcmFtZXMgZmFkZUluVXBTaG9ydCB7XG4gIDAlIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDIwcHgpO1xuICB9XG5cbiAgMTAwJSB7XG4gICAgb3BhY2l0eTogMTtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKTtcbiAgfVxufVxuXG5Aa2V5ZnJhbWVzIGZhZGVJblVwU2hvcnQge1xuICAwJSB7XG4gICAgb3BhY2l0eTogMDtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMjBweCk7XG4gIH1cblxuICAxMDAlIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKTtcbiAgfVxufVxuXG4uZmFkZUluVXBTaG9ydCB7XG4gIG9wYWNpdHk6IDA7XG4gIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDIwcHgpO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMjBweCk7XG59XG5cbi5mYWRlSW5VcFNob3J0LmdvIHtcbiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogZmFkZUluVXBTaG9ydDtcbiAgYW5pbWF0aW9uLW5hbWU6IGZhZGVJblVwU2hvcnQ7XG59XG5cbi8qKioqKioqKioqKioqKioqKioqKipcbiogZmFkZUluRG93blNob3J0XG4qKioqKioqKioqKioqKioqKioqKiovXG5ALXdlYmtpdC1rZXlmcmFtZXMgZmFkZUluRG93blNob3J0IHtcbiAgMCUge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTIwcHgpO1xuICB9XG5cbiAgMTAwJSB7XG4gICAgb3BhY2l0eTogMTtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKTtcbiAgfVxufVxuXG5Aa2V5ZnJhbWVzIGZhZGVJbkRvd25TaG9ydCB7XG4gIDAlIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMjBweCk7XG4gIH1cblxuICAxMDAlIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKTtcbiAgfVxufVxuXG4uZmFkZUluRG93blNob3J0IHtcbiAgb3BhY2l0eTogMDtcbiAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTIwcHgpO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTIwcHgpO1xufVxuXG4uZmFkZUluRG93blNob3J0LmdvIHtcbiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogZmFkZUluRG93blNob3J0O1xuICBhbmltYXRpb24tbmFtZTogZmFkZUluRG93blNob3J0O1xufVxuXG4vKioqKioqKioqKioqKioqKioqKioqXG4qIGZhZGVJblJpZ2h0U2hvcnQgXG4qKioqKioqKioqKioqKioqKioqKiovXG5ALXdlYmtpdC1rZXlmcmFtZXMgZmFkZUluUmlnaHRTaG9ydCB7XG4gIDAlIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDIwcHgpO1xuICB9XG5cbiAgMTAwJSB7XG4gICAgb3BhY2l0eTogMTtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWCgwKTtcbiAgfVxufVxuXG5Aa2V5ZnJhbWVzIGZhZGVJblJpZ2h0U2hvcnQge1xuICAwJSB7XG4gICAgb3BhY2l0eTogMDtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMjBweCk7XG4gIH1cblxuICAxMDAlIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgwKTtcbiAgfVxufVxuXG4uZmFkZUluUmlnaHRTaG9ydCB7XG4gIG9wYWNpdHk6IDA7XG4gIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDIwcHgpO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMjBweCk7XG59XG5cbi5mYWRlSW5SaWdodFNob3J0LmdvIHtcbiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogZmFkZUluUmlnaHRTaG9ydDtcbiAgYW5pbWF0aW9uLW5hbWU6IGZhZGVJblJpZ2h0U2hvcnQ7XG59XG5cbi8qKioqKioqKioqKioqKioqKioqKipcbiogZmFkZUluTGVmdFNob3J0IFxuKioqKioqKioqKioqKioqKioqKioqL1xuQC13ZWJraXQta2V5ZnJhbWVzIGZhZGVJbkxlZnRTaG9ydCB7XG4gIDAlIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0yMHB4KTtcbiAgfVxuXG4gIDEwMCUge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMCk7XG4gIH1cbn1cblxuQGtleWZyYW1lcyBmYWRlSW5MZWZ0U2hvcnQge1xuICAwJSB7XG4gICAgb3BhY2l0eTogMDtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTIwcHgpO1xuICB9XG5cbiAgMTAwJSB7XG4gICAgb3BhY2l0eTogMTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMCk7XG4gIH1cbn1cblxuLmZhZGVJbkxlZnRTaG9ydCB7XG4gIG9wYWNpdHk6IDA7XG4gIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0yMHB4KTtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0yMHB4KTtcbn1cblxuLmZhZGVJbkxlZnRTaG9ydC5nbyB7XG4gIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IGZhZGVJbkxlZnRTaG9ydDtcbiAgYW5pbWF0aW9uLW5hbWU6IGZhZGVJbkxlZnRTaG9ydDtcbn1cbiIsIi8qKioqKioqKioqXG4qIFpvb20gaW4gKlxuKioqKioqKioqKiovXG5ALXdlYmtpdC1rZXlmcmFtZXMgem9vbUluIHtcbiAgMCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZSg1KTtcbiAgICB0cmFuc2Zvcm06IHNjYWxlKDUpO1xuICAgIG9wYWNpdHk6IDA7XG4gIH1cblxuICA4MCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZSguOCk7XG4gICAgdHJhbnNmb3JtOiBzY2FsZSguOCk7XG4gICAgb3BhY2l0eTogLjg7XG4gIH1cblxuICA4MCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZSguOCk7XG4gICAgdHJhbnNmb3JtOiBzY2FsZSguOCk7XG4gIH1cblxuICA5MCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZSgxLjEpO1xuICAgIHRyYW5zZm9ybTogc2NhbGUoMS4xKTtcbiAgfVxuXG4gIDEwMCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZSgxKTtcbiAgICB0cmFuc2Zvcm06IHNjYWxlKDEpO1xuICAgIG9wYWNpdHk6IDE7XG4gIH1cbn1cblxuQGtleWZyYW1lcyB6b29tSW4ge1xuICAwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlKDUpO1xuICAgIHRyYW5zZm9ybTogc2NhbGUoNSk7XG4gICAgb3BhY2l0eTogMDtcbiAgfVxuXG4gIDgwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlKC44KTtcbiAgICB0cmFuc2Zvcm06IHNjYWxlKC44KTtcbiAgICBvcGFjaXR5OiAuODtcbiAgfVxuXG4gIDgwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlKC44KTtcbiAgICB0cmFuc2Zvcm06IHNjYWxlKC44KTtcbiAgfVxuXG4gIDkwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlKDEuMSk7XG4gICAgdHJhbnNmb3JtOiBzY2FsZSgxLjEpO1xuICB9XG5cbiAgMTAwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlKDEpO1xuICAgIHRyYW5zZm9ybTogc2NhbGUoMSk7XG4gICAgb3BhY2l0eTogMTtcbiAgfVxufVxuXG4uem9vbUluIHtcbiAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlKDUpO1xuICAtbXMtdHJhbnNmb3JtOiBzY2FsZSg1KTtcbiAgdHJhbnNmb3JtOiBzY2FsZSg1KTtcbiAgb3BhY2l0eTogMDtcbn1cblxuLnpvb21Jbi5nbyB7XG4gIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IHpvb21JbjtcbiAgYW5pbWF0aW9uLW5hbWU6IHpvb21JbjtcbiAgYW5pbWF0aW9uLWR1cmF0aW9uOiAuNXM7XG59XG5cblxuLyoqKioqKioqXG4qIFNoYWtlVXAyICpcblNoYWtlIGFuZCBwYXVzZSBcbioqKioqKioqL1xuLy8gQC13ZWJraXQta2V5ZnJhbWVzIHNoYWtlVXAyIHtcblxuLy8gICAwJSxcbi8vICAgMTAlLFxuLy8gICAyMCUsXG4vLyAgIDMwJSxcbi8vICAgMTAwJSB7XG4vLyAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCk7XG4vLyAgIH1cblxuXG4vLyAgIDUwJSxcbi8vICAgNzAlLFxuLy8gICA5MCUge1xuLy8gICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0xMHB4KTtcbi8vICAgfVxuXG4vLyAgIDQwJSxcbi8vICAgNjAlLFxuLy8gICA4MCUge1xuLy8gICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDEwcHgpO1xuLy8gICB9XG4vLyB9XG5cbkBrZXlmcmFtZXMgc2hha2VVcDIge1xuXG4gIDAlLFxuICA1MCUsXG4gIDEwMCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKTtcbiAgfVxuXG5cbiAgNzAlLFxuICA5MCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0xMHB4KTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTEwcHgpO1xuICB9XG5cbiAgNjAlLFxuICA4MCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDEwcHgpO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgxMHB4KTtcbiAgfVxufVxuXG4uc2hha2V1cDIge1xuICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiBzaGFrZVVwMjtcbiAgYW5pbWF0aW9uLW5hbWU6IHNoYWtlVXAyO1xufVxuXG4uc2hha2UyIHtcbiAgLyogU3RhcnQgdGhlIHNoYWtlIGFuaW1hdGlvbiBhbmQgbWFrZSB0aGUgYW5pbWF0aW9uIGxhc3QgZm9yIDAuNSBzZWNvbmRzICovXG4gIGFuaW1hdGlvbjogc2hha2UgMXM7XG5cbiAgLyogV2hlbiB0aGUgYW5pbWF0aW9uIGlzIGZpbmlzaGVkLCBzdGFydCBhZ2FpbiAqL1xuICBhbmltYXRpb24taXRlcmF0aW9uLWNvdW50OiBpbmZpbml0ZTtcbn1cblxuQGtleWZyYW1lcyBzaGFrZSB7XG4gIDAlIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgxcHgsIDFweCkgcm90YXRlKDBkZWcpO1xuICB9XG5cbiAgMTAlIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtMXB4LCAtMnB4KSByb3RhdGUoLTFkZWcpO1xuICB9XG5cbiAgMjAlIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtM3B4LCAwcHgpIHJvdGF0ZSgxZGVnKTtcbiAgfVxuXG4gIDMwJSB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoM3B4LCAycHgpIHJvdGF0ZSgwZGVnKTtcbiAgfVxuXG4gIDQwJSB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoMXB4LCAtMXB4KSByb3RhdGUoMWRlZyk7XG4gIH1cblxuICA1MCUge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKC0xcHgsIDJweCkgcm90YXRlKC0xZGVnKTtcbiAgfVxuXG4gIDYwJSB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTNweCwgMXB4KSByb3RhdGUoMGRlZyk7XG4gIH1cblxuICA3MCUge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKDNweCwgMXB4KSByb3RhdGUoLTFkZWcpO1xuICB9XG5cbiAgODAlIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtMXB4LCAtMXB4KSByb3RhdGUoMWRlZyk7XG4gIH1cblxuICA5MCUge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKDFweCwgMnB4KSByb3RhdGUoMGRlZyk7XG4gIH1cblxuICAxMDAlIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgxcHgsIC0ycHgpIHJvdGF0ZSgtMWRlZyk7XG4gIH1cbn1cblxuXG5ALXdlYmtpdC1rZXlmcmFtZXMgZmxhc2hsaWdodCB7XG4gIDAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlKDAsIDApIHNjYWxlKDEpO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKDAsIDApIHNjYWxlKDEpO1xuICB9XG5cbiAgMTAwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZSgtMjBweCwgLTQwcHgpIHNjYWxlKDEuMSk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTIwcHgsIC00MHB4KSBzY2FsZSgxLjEpO1xuICB9XG59XG5cbkBrZXlmcmFtZXMgZmxhc2hsaWdodCB7XG4gIDAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlKDAsIDApIHNjYWxlKDEpO1xuICAgIC1tcy10cmFuc2Zvcm06IHRyYW5zbGF0ZSgwLCAwKSBzY2FsZSgxKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgwLCAwKSBzY2FsZSgxKTtcbiAgfVxuXG4gIDEwMCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTIwcHgsIC00MHB4KSBzY2FsZSgxLjEpO1xuICAgIC1tcy10cmFuc2Zvcm06IHRyYW5zbGF0ZSgtMjBweCwgLTQwcHgpIHNjYWxlKDEuMSk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTIwcHgsIC00MHB4KSBzY2FsZSgxLjEpO1xuICB9XG59XG5cbi5yb3RhdGluZyB7XG4gIC8vIC13ZWJraXQtYW5pbWF0aW9uOiByb3RhdGluZyAycyBlYXNlLWluLW91dCBpbmZpbml0ZTtcbiAgLy8gLW1vei1hbmltYXRpb246IHJvdGF0aW5nIDJzIGVhc2UtaW4tb3V0IGluZmluaXRlO1xuICAvLyAtbXMtYW5pbWF0aW9uOiByb3RhdGluZyAycyBlYXNlLWluLW91dCBpbmZpbml0ZTtcbiAgLy8gLW8tYW5pbWF0aW9uOiByb3RhdGluZyAycyBlYXNlLWluLW91dCBpbmZpbml0ZTtcbiAgYW5pbWF0aW9uOiByb3RhdGluZyAzMHMgbGluZWFyIGluZmluaXRlO1xuICBcbn1cblxuQGtleWZyYW1lcyByb3RhdGlvbiB7XG4gIGZyb20ge1xuICAgIHRyYW5zZm9ybTogcm90YXRlKDBkZWcpO1xuICB9XG5cbiAgdG8ge1xuICAgIHRyYW5zZm9ybTogcm90YXRlKDM1OWRlZyk7XG4gIH1cbn0iLCIvKi0tLSBBYm91dCBUZXh0IC0tLSovXG5AbWl4aW4gdGV4dC1hbGlnbigkYWxpZ25Ib3Jpem90YWw6IG5vcm1hbCwgJGFsaWduVmVydGljYWw6IG5vcm1hbCkge1xuICBkaXNwbGF5OiBmbGV4O1xuICBqdXN0aWZ5LWNvbnRlbnQ6ICRhbGlnbkhvcml6b3RhbDtcbiAgYWxpZ24taXRlbXM6ICRhbGlnblZlcnRpY2FsO1xufVxuXG5AbWl4aW4gdGV4dC1kZWNvcigkY29sb3I6IGluaGVyaXQsICRmb250U2l6ZTogaW5oZXJpdCwgJHRleHRUcmFuc2Zvcm06IGluaGVyaXQsICR0ZXh0QWxpZ246IGluaGVyaXQsICRmb250V2VpZ2h0OiBub3JtYWwpIHtcbiAgY29sb3I6ICRjb2xvcjtcbiAgdGV4dC10cmFuc2Zvcm06ICR0ZXh0VHJhbnNmb3JtO1xuICB0ZXh0LWFsaWduOiAkdGV4dEFsaWduO1xuICBmb250LXdlaWdodDogJGZvbnRXZWlnaHQ7XG5cbiAgQGlmICRmb250U2l6ZSAhPWluaGVyaXQge1xuICAgIGZvbnQtc2l6ZTogJGZvbnRTaXplO1xuICB9XG59XG5cbkBtaXhpbiB0ZXh0LXN0cm9rZSgkc3Ryb2tlVGhpY2ssICRzdHJva2VEaXJlY3QsICRzdHJva2VDb2xvcjEsICRzdHJva2VDb2xvcjIpIHtcbiAgYmFja2dyb3VuZDogLXdlYmtpdC1saW5lYXItZ3JhZGllbnQoJHN0cm9rZURpcmVjdCwgJHN0cm9rZUNvbG9yMSwgJHN0cm9rZUNvbG9yMik7XG4gIC8qIENocm9tZTEwKyxTYWZhcmk1LjErICovXG4gIC13ZWJraXQtdGV4dC1zdHJva2U6ICRzdHJva2VUaGljayByZ2JhKDI1NSwgMjU1LCAyNTUsIC4wMSk7XG4gIC13ZWJraXQtYmFja2dyb3VuZC1jbGlwOiB0ZXh0O1xufVxuXG5AbWl4aW4gdGV4dC1ncmFkaWVudCgkZGlyZWN0aW9uOiB0byBib3R0b20sICRjb2xvci1zdG9wcy4uLikge1xuICAvLyBUaGUgdmFsdWVzIHRvIHRvcCwgdG8gYm90dG9tLCB0byBsZWZ0LCBhbmQgdG8gcmlnaHQgYXJlIGVxdWl2YWxlbnQgdG8gdGhlIGFuZ2xlcyAwZGVnLCAxODBkZWcsIDI3MGRlZywgYW5kIDkwZGVnLCByZXNwZWN0aXZlbHkuIFRoZSBvdGhlciB2YWx1ZXMgYXJlIHRyYW5zbGF0ZWQgaW50byBhbiBhbmdsZS5cbiAgQGlmIGlzLWRpcmVjdGlvbigkZGlyZWN0aW9uKT09ZmFsc2Uge1xuICAgICRjb2xvci1zdG9wczogJGRpcmVjdGlvbiwgJGNvbG9yLXN0b3BzO1xuICAgICRkaXJlY3Rpb246IDE4MGRlZztcbiAgfVxuICBiYWNrZ3JvdW5kOiBudGgobnRoKCRjb2xvci1zdG9wcywgMSksIDEpO1xuICBiYWNrZ3JvdW5kOiAtd2Via2l0LWxpbmVhci1ncmFkaWVudChsZWdhY3ktZGlyZWN0aW9uKCRkaXJlY3Rpb24pLCAkY29sb3Itc3RvcHMpO1xuICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoJGRpcmVjdGlvbiwgJGNvbG9yLXN0b3BzKTtcbiAgLXdlYmtpdC1iYWNrZ3JvdW5kLWNsaXA6IHRleHQ7XG4gIC13ZWJraXQtdGV4dC1maWxsLWNvbG9yOiB0cmFuc3BhcmVudDtcbn1cblxuLyogdGV4dCB0cnVuY2F0ZSBtdWx0aWxpbmUgKi9cbkBtaXhpbiB0ZXh0LXRydW5jYXRlKCRsaW5lQ291bnQ6IDIpIHtcbiAgZGlzcGxheTogLXdlYmtpdC1ib3g7XG4gIC13ZWJraXQtYm94LW9yaWVudDogdmVydGljYWw7XG4gIC13ZWJraXQtbGluZS1jbGFtcDogJGxpbmVDb3VudDtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgcGFkZGluZy1ib3R0b206IDAgIWltcG9ydGFudDtcblxufVxuXG4vLyBBYm91dCBSZXNwb25zaXZlXG5AbWl4aW4gbXEtbWluLW1heCgkbWluLCAkbWF4KSB7XG4gIEBtZWRpYSAobWluLXdpZHRoOiAkbWluKSBhbmQgKG1heC13aWR0aDogJG1heCkge1xuICAgIEBjb250ZW50O1xuICB9XG59XG5cbkBtaXhpbiBtcS1taW4oJHZhbHVlKSB7XG4gIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogJHZhbHVlKSB7XG4gICAgQGNvbnRlbnQ7XG4gIH1cbn1cblxuQG1peGluIG1xLW1heCgkdmFsdWUpIHtcbiAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAkdmFsdWUpIHtcbiAgICBAY29udGVudDtcbiAgfVxufVxuXG4vKi0tLSBBYm91dCBJbWFnZXMgLS0tKi9cbkBtaXhpbiBpbWFnZS1maXQoJGhlaWdodCkge1xuICBkaXNwbGF5OiBibG9jaztcbiAgaGVpZ2h0OiAkaGVpZ2h0O1xuICBvYmplY3QtZml0OiBjb3ZlcjtcbiAgb2JqZWN0LXBvc2l0aW9uOiBjZW50ZXI7XG4gIHRyYW5zaXRpb246IGFsbCAwLjJzIGVhc2UtaW4tb3V0O1xufVxuXG4vLy0gR3JheXNjYWxlOiAxICwgTm9uZTogMFxuQG1peGluIGltYWdlLWdyYXlzY2FsZSgkdmFsdWU6MSkge1xuICBmaWx0ZXI6IGdyYXk7ICAgLyogSUU2LTkgKi9cbiAgLXdlYmtpdC1maWx0ZXI6IGdyYXlzY2FsZSgkdmFsdWUpOyAgLyogR29vZ2xlIENocm9tZSwgU2FmYXJpIDYrICYgT3BlcmEgMTUrICovXG4gIGZpbHRlcjogZ3JheXNjYWxlKCR2YWx1ZSk7ICAgLyogTWljcm9zb2Z0IEVkZ2UgYW5kIEZpcmVmb3ggMzUrICovXG59XG5cblxuXG4vKi0tLSBBYm91dCBQb3NpdGlvbiAtLS0qL1xuQG1peGluIHBvc2l0aW9uKCRwb3NpdGlvbjogcmVsYXRpdmUsICRjb29yZGluYXRlczogbnVsbCBudWxsIG51bGwgbnVsbCkge1xuICBAaWYgdHlwZS1vZigkcG9zaXRpb24pPT1saXN0IHtcbiAgICAkY29vcmRpbmF0ZXM6ICRwb3NpdGlvbjtcbiAgICAkcG9zaXRpb246IHJlbGF0aXZlO1xuICB9XG5cbiAgJGNvb3JkaW5hdGVzOiB1bnBhY2soJGNvb3JkaW5hdGVzKTtcbiAgJG9mZnNldHM6ICh0b3A6IG50aCgkY29vcmRpbmF0ZXMsIDEpLFxuICAgIHJpZ2h0OiBudGgoJGNvb3JkaW5hdGVzLCAyKSxcbiAgICBib3R0b206IG50aCgkY29vcmRpbmF0ZXMsIDMpLFxuICAgIGxlZnQ6IG50aCgkY29vcmRpbmF0ZXMsIDQpKTtcbiAgcG9zaXRpb246ICRwb3NpdGlvbjtcblxuICBAZWFjaCAkb2Zmc2V0LFxuICAkdmFsdWUgaW4gJG9mZnNldHMge1xuICAgIEBpZiBpcy1sZW5ndGgoJHZhbHVlKSB7XG4gICAgICAjeyRvZmZzZXR9OiAkdmFsdWU7XG4gICAgfVxuICB9XG59XG5cbi8vLS0tIEFib3V0IEVmZmVjdCBIb3ZlciAtLS0qL1xuQG1peGluIGVmZmVjdC1ncmFkaWVudC1saW5lYXIoJGRpcmVjdGlvbiwgJGNvbG9yLXN0b3BzLi4uKSB7XG4gIC8vIFRoZSB2YWx1ZXMgdG8gdG9wLCB0byBib3R0b20sIHRvIGxlZnQsIGFuZCB0byByaWdodCBhcmUgZXF1aXZhbGVudCB0byB0aGUgYW5nbGVzIDBkZWcsIDE4MGRlZywgMjcwZGVnLCBhbmQgOTBkZWcsIHJlc3BlY3RpdmVseS4gVGhlIG90aGVyIHZhbHVlcyBhcmUgdHJhbnNsYXRlZCBpbnRvIGFuIGFuZ2xlLlxuICBAaWYgaXMtZGlyZWN0aW9uKCRkaXJlY3Rpb24pPT1mYWxzZSB7XG4gICAgJGNvbG9yLXN0b3BzOiAkZGlyZWN0aW9uLCAkY29sb3Itc3RvcHM7XG4gICAgJGRpcmVjdGlvbjogMTgwZGVnO1xuICB9XG4gIGJhY2tncm91bmQ6IG50aChudGgoJGNvbG9yLXN0b3BzLCAxKSwgMSk7XG4gIGJhY2tncm91bmQ6IC13ZWJraXQtbGluZWFyLWdyYWRpZW50KGxlZ2FjeS1kaXJlY3Rpb24oJGRpcmVjdGlvbiksICRjb2xvci1zdG9wcyk7XG4gIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCgkZGlyZWN0aW9uLCAkY29sb3Itc3RvcHMpO1xufVxuXG5cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qLS0tIEFib3V0IEJ1dHRvbiAtLS0qL1xuXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG5cblxuLy8tLS0gQlROIEVmZmVjdFxuQG1peGluIGhvdmVyLWJvcmRlci13cmFwcGluZygkYm9yZGVyQ29sb3I6ICMyMDk4RDEsICRib3JkZXJTdHlsZTogc29saWQsICRib3JkZXJXaWR0aDogNXB4KSB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgYm9yZGVyOiBub25lO1xuICAmOmJlZm9yZSB7XG4gICAgY29udGVudDogXCJcIjtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgei1pbmRleDogLTE7XG4gICAgbGVmdDogMDtcbiAgICByaWdodDogMDtcbiAgICB0b3A6IDA7XG4gICAgYm90dG9tOiAwO1xuICAgIGJvcmRlcjogJGJvcmRlckNvbG9yICRib3JkZXJTdHlsZTtcbiAgICBib3JkZXItd2lkdGg6IDA7XG4gICAgdHJhbnNpdGlvbjogYm9yZGVyLXdpZHRoIDAuMXMgZWFzZS1vdXQ7XG4gIH1cblxuICAmOmhvdmVyOmJlZm9yZSB7XG4gICAgei1pbmRleDogMTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCk7XG4gICAgYm9yZGVyLXdpZHRoOiAkYm9yZGVyV2lkdGg7XG4gIH1cbn1cblxuQG1peGluIGhvdmVyLXRyYW5zbGF0ZVgoJHZhbHVlKSB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIDAuMXMgZWFzZS1pbi1vdXQ7XG5cbiAgJjpob3ZlciB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKCR2YWx1ZSk7XG4gIH1cbn1cbkBtaXhpbiBob3Zlci10cmFuc2xhdGVZKCR2YWx1ZSkge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHRyYW5zaXRpb246IHRyYW5zZm9ybSAwLjFzIGVhc2UtaW4tb3V0O1xuXG4gICY6aG92ZXIge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgkdmFsdWUpO1xuICB9XG59XG4iLCIvKi0tLSBBYm91dCBUZXh0IC0tLSovXG4vLyAldGV4dC1jZW50ZXIge1xuLy8gICBkaXNwbGF5OiBmbGV4O1xuLy8gICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbi8vIH1cblxuLy8gJXRleHQtbWlkZGxlIHtcbi8vICAgZGlzcGxheTogZmxleDtcbi8vICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbi8vIH1cblxuLy8gJXRleHQtY2VudGVyLW1pZGRsZSB7XG4vLyAgIGRpc3BsYXk6IGZsZXg7XG4vLyAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuLy8gICBhbGlnbi1pdGVtczogY2VudGVyO1xuLy8gfVxuXG5cbiIsIiRjb2xvci0xOiAjNmQzNDE3O1xuJGNvbG9yLTI6ICNjNWE3N2U7XG5cbi8qLS0tIFNtb290aCBTY3JvbGwgLS0tKi9cbmh0bWwge1xuICAvLyBzY3JvbGwtYmVoYXZpb3I6IHNtb290aDtcbn1cbjo6c2VsZWN0aW9uIHtcbiAgY29sb3I6ICRjb2xvci0xO1xuICBiYWNrZ3JvdW5kOiAkY29sb3ItMjtcbn1cblxuLyotLS0gQW5pbWF0ZSBhIC0tLSovXG5hIHtcbiAgdHJhbnNpdGlvbjogYWxsIC4ycztcbiAgaW1nIHtcbiAgICB0cmFuc2l0aW9uOiBhbGwgMC4ycyBlYXNlLWluLW91dDtcbiAgfVxufVxuXG4vKi0tLSBDdXN0b21pemUgU2Nyb2xsYmFyIC0tLSovXG4qIHsgLyogV29yayBvbiBGaXJlZm94ICovXG4gIHNjcm9sbGJhci13aWR0aDogNXB4O1xuICBzY3JvbGxiYXItY29sb3I6ICRjb2xvci0xICRjb2xvci0yO1xufVxuXG4qOjotd2Via2l0LXNjcm9sbGJhciB7IC8qIFdvcmtzIG9uIENocm9tZSwgRWRnZSwgYW5kIFNhZmFyaSAqL1xuICB3aWR0aDogNXB4O1xufVxuXG4qOjotd2Via2l0LXNjcm9sbGJhci10cmFjayB7XG4gIGJhY2tncm91bmQ6ICRjb2xvci0yO1xuICBib3JkZXItcmFkaXVzOiA1cHg7XG59XG5cbio6Oi13ZWJraXQtc2Nyb2xsYmFyLXRodW1iIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG9yLTE7XG4gIGJvcmRlci1yYWRpdXM6IDVweDtcbiAgYm9yZGVyOiAxcHggc29saWQgJGNvbG9yLTE7XG59XG5cblxuXG4vKi0tLSBDb21tb24gQ2xhc3NOYW1lIC0tLSovXG4ubG9vcC1pbmZpbml0ZSB7XG4gIGFuaW1hdGlvbi1pdGVyYXRpb24tY291bnQ6IGluZmluaXRlO1xufVxuXG4ubG9vcC01IHtcbiAgYW5pbWF0aW9uLWl0ZXJhdGlvbi1jb3VudDogNTtcbn1cblxuLy8gLmZsYXNoLWxpZ2h0IHtcbi8vICAgYW5pbWF0aW9uOiBmbGFzaGxpZ2h0IDNzIGVhc2UtaW4tb3V0IDVzIGluZmluaXRlIGFsdGVybmF0ZTtcbi8vICAgLy8gLXdlYmtpdC1hbmltYXRpb246IGZsYXNobGlnaHQgM3MgZWFzZS1pbi1vdXQgMHMgaW5maW5pdGUgYWx0ZXJuYXRlO1xuLy8gfVxuXG5cblxuLyotLS0gQWJvdXQgQnV0dG9uIC0tLSovXG4uYnRuLWltYWdlIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gIGxpbmUtaGVpZ2h0OiAwO1xuICBpbWc6bGFzdC1jaGlsZCB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMDtcbiAgICBsZWZ0OiAwO1xuICAgIHJpZ2h0OiAwO1xuICAgIGJvdHRvbTogMDtcbiAgICB2aXNpYmlsaXR5OiBoaWRkZW47XG4gICAgb3BhY2l0eTogMDtcbiAgfVxuXG4gICY6aG92ZXIge1xuICAgIGltZzpsYXN0LWNoaWxkIHtcbiAgICAgIHZpc2liaWxpdHk6IHZpc2libGU7XG4gICAgICBvcGFjaXR5OiAxO1xuICAgIH1cbiAgfVxufVxuXG5cblxuLmJ0bi1ob3Zlci16b29tIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICB0cmFuc2l0aW9uOiBhbGwgMC4ycyBlYXNlLWluLW91dDtcbiAgJjpob3ZlciB7XG4gICAgdHJhbnNmb3JtOiBzY2FsZSgxLjEpO1xuICB9XG59XG5cbi5idG4taG92ZXItdHJhbnNsYXRlWCB7XG4gIEBpbmNsdWRlIGhvdmVyLXRyYW5zbGF0ZVgoLTEwcHgpO1xufVxuXG4uYnRuLWhvdmVyLXRyYW5zbGF0ZVkge1xuICBAaW5jbHVkZSBob3Zlci10cmFuc2xhdGVZKC01cHgpO1xufVxuXG4uYnRuLWhvdmVyLXVuZGVybGluZSB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG5cbiAgJjpiZWZvcmUge1xuICAgIHdpZHRoOiAwO1xuICAgIGNvbnRlbnQ6ICcnO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBib3R0b206IDA7XG4gICAgbGVmdDogNTAlO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNTAlKTtcbiAgICBoZWlnaHQ6IDFweDtcbiAgICBiYWNrZ3JvdW5kOiAjMDAwO1xuICAgIHRyYW5zaXRpb246IGFsbCAwLjJzIGVhc2UtaW4tb3V0O1xuICB9XG5cbiAgJjpob3ZlcjpiZWZvcmUge1xuICAgIHdpZHRoOiAxMDAlO1xuICB9XG59XG5cbi5idG4taG92ZXItYm9yZGVyLXdyYXBwaW5nIHtcbiAgcGFkZGluZzogMjBweDtcbiAgZm9udC1zaXplOiAxOHB4O1xuICBAaW5jbHVkZSBob3Zlci1ib3JkZXItd3JhcHBpbmcoI2ZmZjAwMCwgZGFzaGVkLCA1cHgpO1xufVxuXG4uYnRuLWhvdmVyLXNoaW5lIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gICY6YWZ0ZXIge1xuICAgIGNvbnRlbnQ6ICcnO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgICB0b3A6IC0xMTAlO1xuICAgIGxlZnQ6IC0yMTAlO1xuICAgIHdpZHRoOiAyMDAlO1xuICAgIGhlaWdodDogMjAwJTtcbiAgICBvcGFjaXR5OiAwO1xuICAgIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCh0byByaWdodCxcbiAgICAgICAgcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjEzKSAwJSxcbiAgICAgICAgcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjEzKSA3NyUsXG4gICAgICAgIHJnYmEoMjU1LCAyNTUsIDI1NSwgMC41KSA5MiUsXG4gICAgICAgIHJnYmEoMjU1LCAyNTUsIDI1NSwgMC4wKSAxMDAlKTtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZSgzMGRlZyk7XG4gIH1cblxuICAmOmhvdmVyOmFmdGVyIHtcbiAgICAtd2Via2l0LWFuaW1hdGlvbjogc2hpbmUgLjc1cztcbiAgICBhbmltYXRpb246IHNoaW5lIC43NXM7XG4gICAgb3BhY2l0eTogMTtcbiAgICB0b3A6IC0zMCU7XG4gICAgbGVmdDogLTMwJTtcbiAgICB0cmFuc2l0aW9uLXByb3BlcnR5OiBsZWZ0LFxuICAgICAgdG9wLFxuICAgICAgb3BhY2l0eTtcbiAgICB0cmFuc2l0aW9uLWR1cmF0aW9uOiAxcyxcbiAgICAgIDFzLFxuICAgICAgLjE1cztcbiAgICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZTtcbiAgfVxufVxuXG4vKi0tLSBBYm91dCBUZXh0IC0tLSovXG4udGV4dC10cnVuY2F0ZSB7XG4gIEBpbmNsdWRlIHRleHQtdHJ1bmNhdGUoMik7XG59XG5cbi50ZXh0LXN0cm9rZSB7XG4gIGZvbnQtc2l6ZTogMTAwcHg7XG4gIGNvbG9yOiAjZmZmO1xuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICBAaW5jbHVkZSB0ZXh0LXN0cm9rZSg1cHgsIDkwZGVnLCAjMDAwIDIwJSwgI2YwMCA1MCUpO1xufVxuXG4udGV4dC1ncmFkaWVudCB7XG4gIEBpbmNsdWRlIHRleHQtZGVjb3IobnVsbCwgMTAwcHgsIHVwcGVyY2FzZSwgbnVsbCk7XG4gIEBpbmNsdWRlIHRleHQtZ3JhZGllbnQoMTgwZGVnLCAjMDAwLCAjZjAwLCAjZmZmMDAwKTtcbn1cblxuXG4vKi0tLSBBYm91dCBJbWFnZSAtLS0qL1xuLmltYWdlLWZpdCB7XG4gIHdpZHRoOiAyNTBweDtcbiAgQGluY2x1ZGUgaW1hZ2UtZml0KDM1MHB4KTtcbn1cblxuLyotLS0gQWJvdXQgRWZmZWN0IC0tLSovXG4uZWZmZWN0LWdyYWRpZW50LWxpbmVhciB7XG4gIEBpbmNsdWRlIGVmZmVjdC1ncmFkaWVudC1saW5lYXIodG8gYm90dG9tLCAjNzdEN0U3IDUwJSwgI2ZmMDAwMCA1MCUsICNmZmYwMDAgMTAwJSk7XG59XG5cbi8qLS0tIEFib3V0IE90aGVyIC0tLSovXG4uaG92ZXItc3RvcC1hbmltYXRlZCB7XG4gICY6aG92ZXIge1xuICAgIC13ZWJraXQtYW5pbWF0aW9uLXBsYXktc3RhdGU6IHBhdXNlZDtcbiAgICAtbW96LWFuaW1hdGlvbi1wbGF5LXN0YXRlOiBwYXVzZWQ7XG4gICAgLW8tYW5pbWF0aW9uLXBsYXktc3RhdGU6IHBhdXNlZDtcbiAgICBhbmltYXRpb24tcGxheS1zdGF0ZTogcGF1c2VkO1xuICAgIC13ZWJraXQtYW5pbWF0aW9uOiBzdGVwLWVuZDtcbiAgICAtbW96LWFuaW1hdGlvbmFuaW1hdGlvbjogc3RlcC1lbmQ7XG4gICAgYW5pbWF0aW9uOiBzdGVwLWVuZDtcbiAgfVxufSIsIi8vIEBpbXBvcnQgdXJsKCdodHRwczovL2ZvbnRzLmdvb2dsZWFwaXMuY29tL2NzczI/ZmFtaWx5PUsyRCZkaXNwbGF5PXN3YXAnKTtcclxuXHJcbkBmb250LWZhY2Uge1xyXG4gIGZvbnQtZmFtaWx5OiBcIlNGXCI7XHJcbiAgc3JjOiB1cmwoLi4vZm9udHMvU0YtUHJvLURpc3BsYXktUmVndWxhci5lb3QpO1xyXG4gIHNyYzogdXJsKC4uL2ZvbnRzL1NGLVByby1EaXNwbGF5LVJlZ3VsYXIuZW90I2llZml4KSBmb3JtYXQoXCJlb3RcIiksXHJcbiAgICB1cmwoLi4vZm9udHMvU0YtUHJvLURpc3BsYXktUmVndWxhci53b2ZmMikgZm9ybWF0KCd3b2ZmMicpLFxyXG4gICAgdXJsKC4uL2ZvbnRzL1NGLVByby1EaXNwbGF5LVJlZ3VsYXIud29mZikgZm9ybWF0KCd3b2ZmJyksXHJcbiAgICB1cmwoLi4vZm9udHMvU0YtUHJvLURpc3BsYXktUmVndWxhci50dGYpIGZvcm1hdCgndHJ1ZXR5cGUnKSxcclxuICAgIHVybCguLi9mb250cy9TRi1Qcm8tRGlzcGxheS1SZWd1bGFyLnN2ZykgZm9ybWF0KCdzdmcnKTtcclxufVxyXG5cclxuQGZvbnQtZmFjZSB7XHJcbiAgZm9udC1mYW1pbHk6IFwidXZuaHVvbmdxdWVcIjtcclxuICBzcmM6IHVybCguLi9mb250cy91bmljb2RlLmRpc3BsYXkudXZuaHVvbmdxdWVfci5lb3QpO1xyXG4gIHNyYzogdXJsKC4uL2ZvbnRzL3VuaWNvZGUuZGlzcGxheS51dm5odW9uZ3F1ZV9yLmVvdCNpZWZpeCkgZm9ybWF0KFwiZW90XCIpLFxyXG4gICAgdXJsKC4uL2ZvbnRzL3VuaWNvZGUuZGlzcGxheS51dm5odW9uZ3F1ZV9yLndvZmYyKSBmb3JtYXQoJ3dvZmYyJyksXHJcbiAgICB1cmwoLi4vZm9udHMvdW5pY29kZS5kaXNwbGF5LnV2bmh1b25ncXVlX3Iud29mZikgZm9ybWF0KCd3b2ZmJyksXHJcbiAgICB1cmwoLi4vZm9udHMvdW5pY29kZS5kaXNwbGF5LnV2bmh1b25ncXVlX3IudHRmKSBmb3JtYXQoJ3RydWV0eXBlJyksXHJcbiAgICB1cmwoLi4vZm9udHMvdW5pY29kZS5kaXNwbGF5LnV2bmh1b25ncXVlX3Iuc3ZnKSBmb3JtYXQoJ3N2ZycpO1xyXG59XHJcblxyXG5AZm9udC1mYWNlIHtcclxuICBmb250LWZhbWlseTogXCJyb2JvdG9zbGFiXCI7XHJcbiAgc3JjOiB1cmwoLi4vZm9udHMvcm9ib3Rvc2xhYi1yZWd1bGFyLmVvdCk7XHJcbiAgc3JjOiB1cmwoLi4vZm9udHMvcm9ib3Rvc2xhYi1yZWd1bGFyLmVvdCNpZWZpeCkgZm9ybWF0KFwiZW90XCIpLFxyXG4gICAgdXJsKC4uL2ZvbnRzL3JvYm90b3NsYWItcmVndWxhci53b2ZmMikgZm9ybWF0KCd3b2ZmMicpLFxyXG4gICAgdXJsKC4uL2ZvbnRzL3JvYm90b3NsYWItcmVndWxhci53b2ZmKSBmb3JtYXQoJ3dvZmYnKSxcclxuICAgIHVybCguLi9mb250cy9yb2JvdG9zbGFiLXJlZ3VsYXIudHRmKSBmb3JtYXQoJ3RydWV0eXBlJyksXHJcbiAgICB1cmwoLi4vZm9udHMvcm9ib3Rvc2xhYi1yZWd1bGFyLnN2ZykgZm9ybWF0KCdzdmcnKTtcclxufVxyXG5AZm9udC1mYWNlIHtcclxuICBmb250LWZhbWlseTogXCJyb290ZXJzXCI7XHJcbiAgc3JjOiB1cmwoLi4vZm9udHMvcm9vdGVycy5lb3QpO1xyXG4gIHNyYzogdXJsKC4uL2ZvbnRzL3Jvb3RlcnMuZW90I2llZml4KSBmb3JtYXQoXCJlb3RcIiksXHJcbiAgICB1cmwoLi4vZm9udHMvcm9vdGVycy53b2ZmMikgZm9ybWF0KCd3b2ZmMicpLFxyXG4gICAgdXJsKC4uL2ZvbnRzL3Jvb3RlcnMud29mZikgZm9ybWF0KCd3b2ZmJyksXHJcbiAgICB1cmwoLi4vZm9udHMvcm9vdGVycy50dGYpIGZvcm1hdCgndHJ1ZXR5cGUnKSxcclxuICAgIHVybCguLi9mb250cy9yb290ZXJzLnN2ZykgZm9ybWF0KCdzdmcnKTtcclxufVxyXG5AZm9udC1mYWNlIHtcclxuICBmb250LWZhbWlseTogXCJodW9uZ3F1ZW5hbmdcIjtcclxuICBzcmM6IHVybCguLi9mb250cy91bmljb2RlLmRpc3BsYXkudXZuaHVvbmdxdWVfbi5lb3QpO1xyXG4gIHNyYzogdXJsKC4uL2ZvbnRzL3VuaWNvZGUuZGlzcGxheS51dm5odW9uZ3F1ZV9uLmVvdCNpZWZpeCkgZm9ybWF0KFwiZW90XCIpLFxyXG4gICAgdXJsKC4uL2ZvbnRzL3VuaWNvZGUuZGlzcGxheS51dm5odW9uZ3F1ZV9uLndvZmYyKSBmb3JtYXQoJ3dvZmYyJyksXHJcbiAgICB1cmwoLi4vZm9udHMvdW5pY29kZS5kaXNwbGF5LnV2bmh1b25ncXVlX24ud29mZikgZm9ybWF0KCd3b2ZmJyksXHJcbiAgICB1cmwoLi4vZm9udHMvdW5pY29kZS5kaXNwbGF5LnV2bmh1b25ncXVlX24udHRmKSBmb3JtYXQoJ3RydWV0eXBlJyksXHJcbiAgICB1cmwoLi4vZm9udHMvdW5pY29kZS5kaXNwbGF5LnV2bmh1b25ncXVlX24uc3ZnKSBmb3JtYXQoJ3N2ZycpO1xyXG59IiwiXHJcbi5oZWFkZXIge1xyXG4gIEBpbmNsdWRlIHBvc2l0aW9uKHJlbGF0aXZlLCAwIG51bGwgbnVsbCAwKTtcclxuICB3aWR0aDogMTAwJTtcclxuICBoZWlnaHQ6IDEwNDBweDtcclxuICB6LWluZGV4OiAxMDtcclxuICBmb250LWZhbWlseTogSzJEO1xyXG4gIG1hcmdpbi1ib3R0b206IDBweDtcclxuICBAaW5jbHVkZSBwYWRkaW5nKDAgMCk7XHJcblxyXG4gIC5hZ2UxOCB7XHJcbiAgICBAaW5jbHVkZSBwb3NpdGlvbihhYnNvbHV0ZSwgMTAwcHggMCAwIDEwcHgpO1xyXG4gICAgQGluY2x1ZGUgbXEtbWF4KDc2OHB4KSB7XHJcbiAgICAgIGRpc3BsYXk6IG5vbmU7XHJcbiAgICB9XHJcbiAgfVxyXG4gIC5uYXYtd3JhcHBlciB7XHJcbiAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuICAgIHBvc2l0aW9uOiBmaXhlZDtcclxuICAgIGhlaWdodDogNjBweDtcclxuICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgei1pbmRleDogMTA7XHJcbiAgICBtYXJnaW46IDAgMDtcclxuICAgIGJhY2tncm91bmQ6ICMxMDE0MTM7XHJcbiAgfVxyXG4gIC5jb250YWluZXIge1xyXG4gICAgd2lkdGg6IDEwMCUgIWltcG9ydGFudDtcclxuICAgIG1hcmdpbjogMCBhdXRvO1xyXG4gIH1cclxuXHJcblxyXG4gIC5uYXZiYXIge1xyXG4gICAgd2lkdGg6IDEwMCU7XHJcbiAgICBwYWRkaW5nOiAwIDA7XHJcbiAgICBtYXJnaW46IDUwcHggMCAwIDA7XHJcbiAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xyXG4gIH1cclxuXHJcbiAgLm5hdmJhci1uYXYge1xyXG4gICAgZGlzcGxheTogZmxleDtcclxuICAgIHBhZGRpbmc6IDAgMHB4IDAgMHB4O1xyXG4gICAgbWFyZ2luOiAtNXB4IDAgMCAwO1xyXG4gICAgbGkge1xyXG4gICAgICBtYXJnaW46IDAgMTBweDtcclxuICAgICAgYSB7XHJcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICAgICAgZm9udC1mYW1pbHk6ICdyb2JvdG9zbGFiJztcclxuICAgICAgICBAaW5jbHVkZSB0ZXh0LWRlY29yKCNmZWFmNDEsIDE4cHgsIHVwcGVyY2FzZSwgY2VudGVyLCA2MDApO1xyXG4gICAgICAgIEBpbmNsdWRlIHBhZGRpbmcoMTVweCAzNXB4KTtcclxuICAgICAgICAmLmFjdGl2ZSxcclxuICAgICAgICAmOmhvdmVyIHtcclxuICAgICAgICAgIGNvbG9yOiAjZmRlYTkxO1xyXG4gICAgICAgIH1cclxuICAgICAgICAmLnNwZWMge1xyXG4gICAgICAgICAgXHJcbiAgICAgICAgICBcclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcbiAgLmF2YXRhciB7XHJcbiAgICBkaXNwbGF5OiBibG9jaztcclxuICAgIGZsb2F0OiBsZWZ0O1xyXG4gICAgbWFyZ2luOiAwcHggMTBweCAwIDEwcHg7XHJcbiAgICBpbWcge1xyXG4gICAgICBib3JkZXItcmFkaXVzOiAxM3B4O1xyXG4gICAgfVxyXG4gIH1cclxuICAubG9nbyB7XHJcbiAgICBkaXNwbGF5OiBibG9jaztcclxuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgIHRvcDogMzQwcHg7XHJcbiAgICBsZWZ0OiA1MSU7XHJcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTYwJSk7XHJcbiAgICB6LWluZGV4OiAxO1xyXG5cclxuICB9XHJcblxyXG4gIC50ZXh0IHtcclxuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcclxuICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgQGluY2x1ZGUgcG9zaXRpb24oYWJzb2x1dGUsIDQ5MHB4IG51bGwgbnVsbCA4cHgpO1xyXG4gIH1cclxuICAucGxheS12aWRlbyB7XHJcbiAgICBkaXNwbGF5OiBibG9jaztcclxuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcclxuICAgIC8vIHdpZHRoOiAxMDAlO1xyXG4gICAgQGluY2x1ZGUgcG9zaXRpb24oYWJzb2x1dGUsIDIwJSBudWxsIG51bGwgNTAlKTtcclxuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtMjM1JSk7XHJcbiAgICB0cmFuc2l0aW9uOiBhbGwgMC4xcyBsaW5lYXI7XHJcbiAgICAmOmhvdmVyIHtcclxuICAgICAgb3BhY2l0eTogMC45O1xyXG4gICAgfVxyXG4gICAgXHJcbiAgfVxyXG5cclxuXHJcbiAgLmJ1dHRvbnMtYmxvY2sge1xyXG4gICAgZGlzcGxheTogZmxleDtcclxuICAgIHdpZHRoOiA2MzBweDtcclxuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgIHotaW5kZXg6IDI7XHJcbiAgICBsZWZ0OiA1MCU7XHJcbiAgICB0b3A6IDc3MHB4O1xyXG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC01MCUpO1xyXG4gICAgYmFja2dyb3VuZDogdXJsKC4uL2ltYWdlcy9idXR0b25zLWJsb2NrLWJnLnBuZykgbm8tcmVwZWF0O1xyXG4gICAgcGFkZGluZzogMzBweCAwIDMwcHggMzVweDtcclxuICAgIC5ibG9jay0xIHtcclxuICAgICAgd2lkdGg6IDM4MHB4O1xyXG4gICAgICBmbG9hdDogbGVmdDtcclxuICAgICAgbWFyZ2luOiAwIDEwcHggMCAwO1xyXG4gICAgICBhe1xyXG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgICAgICY6bnRoLWNoaWxkKDIpIHtcclxuICAgICAgICAgIG1hcmdpbi1ib3R0b206IDdweDtcclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuXHJcbiAgICAgIC5jaG9pbmdheSB7XHJcbiAgICAgICAgZmxvYXQ6IGxlZnQ7XHJcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAxMHB4O1xyXG4gICAgICB9XHJcblxyXG4gICAgfVxyXG4gICAgLmJsb2NrLTIge1xyXG4gICAgICAvLyB3aWR0aDogMTM4cHg7XHJcbiAgICAgIC8vIGhlaWdodDogMTUwcHg7XHJcbiAgICAgIGZsb2F0OiBsZWZ0O1xyXG4gICAgfVxyXG4gICAgYSB7XHJcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgICBAZXh0ZW5kIC5idG4taG92ZXItc2hpbmU7XHJcbiAgICAgICY6aG92ZXIge1xyXG4gICAgICAgIGZpbHRlcjogYnJpZ2h0bmVzcygxMjAlKTtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxuXHJcblxyXG4gIC5zZWFyY2gge1xyXG4gICAgd2lkdGg6IDE2MHB4O1xyXG4gICAgaGVpZ2h0OiAzMHB4O1xyXG4gICAgZmxvYXQ6IHJpZ2h0O1xyXG4gICAgYm9yZGVyOiBzb2xpZCAxcHggIzU4NjU3MztcclxuICAgIGJvcmRlci1yYWRpdXM6IDEwcHg7XHJcbiAgICBiYWNrZ3JvdW5kOiAjMTExMTExO1xyXG4gICAgbWFyZ2luOiAxMHB4IDAgMCAwO1xyXG4gICAgLmtleXdvcmQge1xyXG4gICAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcclxuICAgICAgbGluZS1oZWlnaHQ6IDI0cHg7XHJcbiAgICAgIGhlaWdodDogMjRweDtcclxuICAgICAgcGFkZGluZzogMCA1cHg7XHJcbiAgICAgIGNvbG9yOiAjNTg2NTczO1xyXG4gICAgICBib3JkZXI6IG5vbmU7XHJcbiAgICAgIHdpZHRoOiBjYWxjKDEwMCUgLSAzMHB4KTtcclxuICAgICAgZm9udC1zaXplOiAxNHB4O1xyXG4gICAgICAmOjpwbGFjZWhvbGRlciB7XHJcbiAgICAgICAgY29sb3I6ICM1ODY1NzM7XHJcbiAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAuc3VibWl0LWJ0biB7XHJcbiAgICAgIGJvcmRlcjogbm9uZTtcclxuICAgICAgY29sb3I6ICM1ODY1NzM7XHJcbiAgICAgIGJhY2tncm91bmQ6IG5vbmU7XHJcbiAgICAgIG1hcmdpbi10b3A6IDVweDtcclxuICAgICAgY3Vyc29yOiBwb2ludGVyO1xyXG4gICAgfVxyXG4gIH1cclxufVxyXG4iLCIvLyBzdHlsZWxpbnQtZGlzYWJsZSBwcm9wZXJ0eS1ibGFja2xpc3QsIHNjc3MvZG9sbGFyLXZhcmlhYmxlLWRlZmF1bHRcblxuLy8gU0NTUyBSRlMgbWl4aW5cbi8vXG4vLyBBdXRvbWF0ZWQgcmVzcG9uc2l2ZSB2YWx1ZXMgZm9yIGZvbnQgc2l6ZXMsIHBhZGRpbmdzLCBtYXJnaW5zIGFuZCBtdWNoIG1vcmVcbi8vXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgKGh0dHBzOi8vZ2l0aHViLmNvbS90d2JzL3Jmcy9ibG9iL21hc3Rlci9MSUNFTlNFKVxuXG4vLyBDb25maWd1cmF0aW9uXG5cbi8vIEJhc2UgdmFsdWVcbiRyZnMtYmFzZS12YWx1ZTogMS4yNXJlbSAhZGVmYXVsdDtcbiRyZnMtdW5pdDogcmVtICFkZWZhdWx0O1xuXG5AaWYgJHJmcy11bml0ICE9IHJlbSBhbmQgJHJmcy11bml0ICE9IHB4IHtcbiAgQGVycm9yIFwiYCN7JHJmcy11bml0fWAgaXMgbm90IGEgdmFsaWQgdW5pdCBmb3IgJHJmcy11bml0LiBVc2UgYHB4YCBvciBgcmVtYC5cIjtcbn1cblxuLy8gQnJlYWtwb2ludCBhdCB3aGVyZSB2YWx1ZXMgc3RhcnQgZGVjcmVhc2luZyBpZiBzY3JlZW4gd2lkdGggaXMgc21hbGxlclxuJHJmcy1icmVha3BvaW50OiAxMjAwcHggIWRlZmF1bHQ7XG4kcmZzLWJyZWFrcG9pbnQtdW5pdDogcHggIWRlZmF1bHQ7XG5cbkBpZiAkcmZzLWJyZWFrcG9pbnQtdW5pdCAhPSBweCBhbmQgJHJmcy1icmVha3BvaW50LXVuaXQgIT0gZW0gYW5kICRyZnMtYnJlYWtwb2ludC11bml0ICE9IHJlbSB7XG4gIEBlcnJvciBcImAjeyRyZnMtYnJlYWtwb2ludC11bml0fWAgaXMgbm90IGEgdmFsaWQgdW5pdCBmb3IgJHJmcy1icmVha3BvaW50LXVuaXQuIFVzZSBgcHhgLCBgZW1gIG9yIGByZW1gLlwiO1xufVxuXG4vLyBSZXNpemUgdmFsdWVzIGJhc2VkIG9uIHNjcmVlbiBoZWlnaHQgYW5kIHdpZHRoXG4kcmZzLXR3by1kaW1lbnNpb25hbDogZmFsc2UgIWRlZmF1bHQ7XG5cbi8vIEZhY3RvciBvZiBkZWNyZWFzZVxuJHJmcy1mYWN0b3I6IDEwICFkZWZhdWx0O1xuXG5AaWYgdHlwZS1vZigkcmZzLWZhY3RvcikgIT0gbnVtYmVyIG9yICRyZnMtZmFjdG9yIDw9IDEge1xuICBAZXJyb3IgXCJgI3skcmZzLWZhY3Rvcn1gIGlzIG5vdCBhIHZhbGlkICAkcmZzLWZhY3RvciwgaXQgbXVzdCBiZSBncmVhdGVyIHRoYW4gMS5cIjtcbn1cblxuLy8gTW9kZS4gUG9zc2liaWxpdGllczogXCJtaW4tbWVkaWEtcXVlcnlcIiwgXCJtYXgtbWVkaWEtcXVlcnlcIlxuJHJmcy1tb2RlOiBtaW4tbWVkaWEtcXVlcnkgIWRlZmF1bHQ7XG5cbi8vIEdlbmVyYXRlIGVuYWJsZSBvciBkaXNhYmxlIGNsYXNzZXMuIFBvc3NpYmlsaXRpZXM6IGZhbHNlLCBcImVuYWJsZVwiIG9yIFwiZGlzYWJsZVwiXG4kcmZzLWNsYXNzOiBmYWxzZSAhZGVmYXVsdDtcblxuLy8gMSByZW0gPSAkcmZzLXJlbS12YWx1ZSBweFxuJHJmcy1yZW0tdmFsdWU6IDE2ICFkZWZhdWx0O1xuXG4vLyBTYWZhcmkgaWZyYW1lIHJlc2l6ZSBidWc6IGh0dHBzOi8vZ2l0aHViLmNvbS90d2JzL3Jmcy9pc3N1ZXMvMTRcbiRyZnMtc2FmYXJpLWlmcmFtZS1yZXNpemUtYnVnLWZpeDogZmFsc2UgIWRlZmF1bHQ7XG5cbi8vIERpc2FibGUgUkZTIGJ5IHNldHRpbmcgJGVuYWJsZS1yZnMgdG8gZmFsc2VcbiRlbmFibGUtcmZzOiB0cnVlICFkZWZhdWx0O1xuXG4vLyBDYWNoZSAkcmZzLWJhc2UtdmFsdWUgdW5pdFxuJHJmcy1iYXNlLXZhbHVlLXVuaXQ6IHVuaXQoJHJmcy1iYXNlLXZhbHVlKTtcblxuLy8gUmVtb3ZlIHB4LXVuaXQgZnJvbSAkcmZzLWJhc2UtdmFsdWUgZm9yIGNhbGN1bGF0aW9uc1xuQGlmICRyZnMtYmFzZS12YWx1ZS11bml0ID09IHB4IHtcbiAgJHJmcy1iYXNlLXZhbHVlOiAkcmZzLWJhc2UtdmFsdWUgLyAoJHJmcy1iYXNlLXZhbHVlICogMCArIDEpO1xufVxuQGVsc2UgaWYgJHJmcy1iYXNlLXZhbHVlLXVuaXQgPT0gcmVtIHtcbiAgJHJmcy1iYXNlLXZhbHVlOiAkcmZzLWJhc2UtdmFsdWUgLyAoJHJmcy1iYXNlLXZhbHVlICogMCArIDEgLyAkcmZzLXJlbS12YWx1ZSk7XG59XG5cbi8vIENhY2hlICRyZnMtYnJlYWtwb2ludCB1bml0IHRvIHByZXZlbnQgbXVsdGlwbGUgY2FsbHNcbiRyZnMtYnJlYWtwb2ludC11bml0LWNhY2hlOiB1bml0KCRyZnMtYnJlYWtwb2ludCk7XG5cbi8vIFJlbW92ZSB1bml0IGZyb20gJHJmcy1icmVha3BvaW50IGZvciBjYWxjdWxhdGlvbnNcbkBpZiAkcmZzLWJyZWFrcG9pbnQtdW5pdC1jYWNoZSA9PSBweCB7XG4gICRyZnMtYnJlYWtwb2ludDogJHJmcy1icmVha3BvaW50IC8gKCRyZnMtYnJlYWtwb2ludCAqIDAgKyAxKTtcbn1cbkBlbHNlIGlmICRyZnMtYnJlYWtwb2ludC11bml0LWNhY2hlID09IHJlbSBvciAkcmZzLWJyZWFrcG9pbnQtdW5pdC1jYWNoZSA9PSBcImVtXCIge1xuICAkcmZzLWJyZWFrcG9pbnQ6ICRyZnMtYnJlYWtwb2ludCAvICgkcmZzLWJyZWFrcG9pbnQgKiAwICsgMSAvICRyZnMtcmVtLXZhbHVlKTtcbn1cblxuLy8gQ2FsY3VsYXRlIHRoZSBtZWRpYSBxdWVyeSB2YWx1ZVxuJHJmcy1tcS12YWx1ZTogaWYoJHJmcy1icmVha3BvaW50LXVuaXQgPT0gcHgsICN7JHJmcy1icmVha3BvaW50fXB4LCAjeyRyZnMtYnJlYWtwb2ludCAvICRyZnMtcmVtLXZhbHVlfSN7JHJmcy1icmVha3BvaW50LXVuaXR9KTtcbiRyZnMtbXEtcHJvcGVydHktd2lkdGg6IGlmKCRyZnMtbW9kZSA9PSBtYXgtbWVkaWEtcXVlcnksIG1heC13aWR0aCwgbWluLXdpZHRoKTtcbiRyZnMtbXEtcHJvcGVydHktaGVpZ2h0OiBpZigkcmZzLW1vZGUgPT0gbWF4LW1lZGlhLXF1ZXJ5LCBtYXgtaGVpZ2h0LCBtaW4taGVpZ2h0KTtcblxuLy8gSW50ZXJuYWwgbWl4aW4gdXNlZCB0byBkZXRlcm1pbmUgd2hpY2ggbWVkaWEgcXVlcnkgbmVlZHMgdG8gYmUgdXNlZFxuQG1peGluIF9yZnMtbWVkaWEtcXVlcnkge1xuICBAaWYgJHJmcy10d28tZGltZW5zaW9uYWwge1xuICAgIEBtZWRpYSAoI3skcmZzLW1xLXByb3BlcnR5LXdpZHRofTogI3skcmZzLW1xLXZhbHVlfSksICgjeyRyZnMtbXEtcHJvcGVydHktaGVpZ2h0fTogI3skcmZzLW1xLXZhbHVlfSkge1xuICAgICAgQGNvbnRlbnQ7XG4gICAgfVxuICB9XG4gIEBlbHNlIHtcbiAgICBAbWVkaWEgKCN7JHJmcy1tcS1wcm9wZXJ0eS13aWR0aH06ICN7JHJmcy1tcS12YWx1ZX0pIHtcbiAgICAgIEBjb250ZW50O1xuICAgIH1cbiAgfVxufVxuXG4vLyBJbnRlcm5hbCBtaXhpbiB0aGF0IGFkZHMgZGlzYWJsZSBjbGFzc2VzIHRvIHRoZSBzZWxlY3RvciBpZiBuZWVkZWQuXG5AbWl4aW4gX3Jmcy1ydWxlIHtcbiAgQGlmICRyZnMtY2xhc3MgPT0gZGlzYWJsZSBhbmQgJHJmcy1tb2RlID09IG1heC1tZWRpYS1xdWVyeSB7XG4gICAgLy8gQWRkaW5nIGFuIGV4dHJhIGNsYXNzIGluY3JlYXNlcyBzcGVjaWZpY2l0eSwgd2hpY2ggcHJldmVudHMgdGhlIG1lZGlhIHF1ZXJ5IHRvIG92ZXJyaWRlIHRoZSBwcm9wZXJ0eVxuICAgICYsXG4gICAgLmRpc2FibGUtcmZzICYsXG4gICAgJi5kaXNhYmxlLXJmcyB7XG4gICAgICBAY29udGVudDtcbiAgICB9XG4gIH1cbiAgQGVsc2UgaWYgJHJmcy1jbGFzcyA9PSBlbmFibGUgYW5kICRyZnMtbW9kZSA9PSBtaW4tbWVkaWEtcXVlcnkge1xuICAgIC5lbmFibGUtcmZzICYsXG4gICAgJi5lbmFibGUtcmZzIHtcbiAgICAgIEBjb250ZW50O1xuICAgIH1cbiAgfVxuICBAZWxzZSB7XG4gICAgQGNvbnRlbnQ7XG4gIH1cbn1cblxuLy8gSW50ZXJuYWwgbWl4aW4gdGhhdCBhZGRzIGVuYWJsZSBjbGFzc2VzIHRvIHRoZSBzZWxlY3RvciBpZiBuZWVkZWQuXG5AbWl4aW4gX3Jmcy1tZWRpYS1xdWVyeS1ydWxlIHtcblxuICBAaWYgJHJmcy1jbGFzcyA9PSBlbmFibGUge1xuICAgIEBpZiAkcmZzLW1vZGUgPT0gbWluLW1lZGlhLXF1ZXJ5IHtcbiAgICAgIEBjb250ZW50O1xuICAgIH1cblxuICAgIEBpbmNsdWRlIF9yZnMtbWVkaWEtcXVlcnkge1xuICAgICAgLmVuYWJsZS1yZnMgJixcbiAgICAgICYuZW5hYmxlLXJmcyB7XG4gICAgICAgIEBjb250ZW50O1xuICAgICAgfVxuICAgIH1cbiAgfVxuICBAZWxzZSB7XG4gICAgQGlmICRyZnMtY2xhc3MgPT0gZGlzYWJsZSBhbmQgJHJmcy1tb2RlID09IG1pbi1tZWRpYS1xdWVyeSB7XG4gICAgICAuZGlzYWJsZS1yZnMgJixcbiAgICAgICYuZGlzYWJsZS1yZnMge1xuICAgICAgICBAY29udGVudDtcbiAgICAgIH1cbiAgICB9XG4gICAgQGluY2x1ZGUgX3Jmcy1tZWRpYS1xdWVyeSB7XG4gICAgICBAY29udGVudDtcbiAgICB9XG4gIH1cbn1cblxuLy8gSGVscGVyIGZ1bmN0aW9uIHRvIGdldCB0aGUgZm9ybWF0dGVkIG5vbi1yZXNwb25zaXZlIHZhbHVlXG5AZnVuY3Rpb24gcmZzLXZhbHVlKCR2YWx1ZXMpIHtcbiAgLy8gQ29udmVydCB0byBsaXN0XG4gICR2YWx1ZXM6IGlmKHR5cGUtb2YoJHZhbHVlcykgIT0gbGlzdCwgKCR2YWx1ZXMsKSwgJHZhbHVlcyk7XG5cbiAgJHZhbDogJyc7XG5cbiAgLy8gTG9vcCBvdmVyIGVhY2ggdmFsdWUgYW5kIGNhbGN1bGF0ZSB2YWx1ZVxuICBAZWFjaCAkdmFsdWUgaW4gJHZhbHVlcyB7XG4gICAgQGlmICR2YWx1ZSA9PSAwIHtcbiAgICAgICR2YWw6ICR2YWwgKyAnIDAnO1xuICAgIH1cbiAgICBAZWxzZSB7XG4gICAgICAvLyBDYWNoZSAkdmFsdWUgdW5pdFxuICAgICAgJHVuaXQ6IGlmKHR5cGUtb2YoJHZhbHVlKSA9PSBcIm51bWJlclwiLCB1bml0KCR2YWx1ZSksIGZhbHNlKTtcblxuICAgICAgQGlmICR1bml0ID09IHB4IHtcbiAgICAgICAgLy8gQ29udmVydCB0byByZW0gaWYgbmVlZGVkXG4gICAgICAgICR2YWw6ICR2YWwgKyAnICcgKyBpZigkcmZzLXVuaXQgPT0gcmVtLCAjeyR2YWx1ZSAvICgkdmFsdWUgKiAwICsgJHJmcy1yZW0tdmFsdWUpfXJlbSwgJHZhbHVlKTtcbiAgICAgIH1cbiAgICAgIEBlbHNlIGlmICR1bml0ID09IHJlbSB7XG4gICAgICAgIC8vIENvbnZlcnQgdG8gcHggaWYgbmVlZGVkXG4gICAgICAgICR2YWw6ICR2YWwgKyAnICcgKyBpZigkcmZzLXVuaXQgPT0gcHgsICN7JHZhbHVlIC8gKCR2YWx1ZSAqIDAgKyAxKSAqICRyZnMtcmVtLXZhbHVlfXB4LCAkdmFsdWUpO1xuICAgICAgfVxuICAgICAgQGVsc2Uge1xuICAgICAgICAvLyBJZiAkdmFsdWUgaXNuJ3QgYSBudW1iZXIgKGxpa2UgaW5oZXJpdCkgb3IgJHZhbHVlIGhhcyBhIHVuaXQgKG5vdCBweCBvciByZW0sIGxpa2UgMS41ZW0pIG9yICQgaXMgMCwganVzdCBwcmludCB0aGUgdmFsdWVcbiAgICAgICAgJHZhbDogJHZhbCArICcgJyArICR2YWx1ZTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAvLyBSZW1vdmUgZmlyc3Qgc3BhY2VcbiAgQHJldHVybiB1bnF1b3RlKHN0ci1zbGljZSgkdmFsLCAyKSk7XG59XG5cbi8vIEhlbHBlciBmdW5jdGlvbiB0byBnZXQgdGhlIHJlc3BvbnNpdmUgdmFsdWUgY2FsY3VsYXRlZCBieSBSRlNcbkBmdW5jdGlvbiByZnMtZmx1aWQtdmFsdWUoJHZhbHVlcykge1xuICAvLyBDb252ZXJ0IHRvIGxpc3RcbiAgJHZhbHVlczogaWYodHlwZS1vZigkdmFsdWVzKSAhPSBsaXN0LCAoJHZhbHVlcywpLCAkdmFsdWVzKTtcblxuICAkdmFsOiAnJztcblxuICAvLyBMb29wIG92ZXIgZWFjaCB2YWx1ZSBhbmQgY2FsY3VsYXRlIHZhbHVlXG4gIEBlYWNoICR2YWx1ZSBpbiAkdmFsdWVzIHtcbiAgICBAaWYgJHZhbHVlID09IDAge1xuICAgICAgJHZhbDogJHZhbCArICcgMCc7XG4gICAgfVxuXG4gICAgQGVsc2Uge1xuICAgICAgLy8gQ2FjaGUgJHZhbHVlIHVuaXRcbiAgICAgICR1bml0OiBpZih0eXBlLW9mKCR2YWx1ZSkgPT0gXCJudW1iZXJcIiwgdW5pdCgkdmFsdWUpLCBmYWxzZSk7XG5cbiAgICAgIC8vIElmICR2YWx1ZSBpc24ndCBhIG51bWJlciAobGlrZSBpbmhlcml0KSBvciAkdmFsdWUgaGFzIGEgdW5pdCAobm90IHB4IG9yIHJlbSwgbGlrZSAxLjVlbSkgb3IgJCBpcyAwLCBqdXN0IHByaW50IHRoZSB2YWx1ZVxuICAgICAgQGlmIG5vdCAkdW5pdCBvciAkdW5pdCAhPSBweCBhbmQgJHVuaXQgIT0gcmVtIHtcbiAgICAgICAgJHZhbDogJHZhbCArICcgJyArICR2YWx1ZTtcbiAgICAgIH1cblxuICAgICAgQGVsc2Uge1xuICAgICAgICAvLyBSZW1vdmUgdW5pdCBmcm9tICR2YWx1ZSBmb3IgY2FsY3VsYXRpb25zXG4gICAgICAgICR2YWx1ZTogJHZhbHVlIC8gKCR2YWx1ZSAqIDAgKyBpZigkdW5pdCA9PSBweCwgMSwgMSAvICRyZnMtcmVtLXZhbHVlKSk7XG5cbiAgICAgICAgLy8gT25seSBhZGQgdGhlIG1lZGlhIHF1ZXJ5IGlmIHRoZSB2YWx1ZSBpcyBncmVhdGVyIHRoYW4gdGhlIG1pbmltdW0gdmFsdWVcbiAgICAgICAgQGlmIGFicygkdmFsdWUpIDw9ICRyZnMtYmFzZS12YWx1ZSBvciBub3QgJGVuYWJsZS1yZnMge1xuICAgICAgICAgICR2YWw6ICR2YWwgKyAnICcgKyAgaWYoJHJmcy11bml0ID09IHJlbSwgI3skdmFsdWUgLyAkcmZzLXJlbS12YWx1ZX1yZW0sICN7JHZhbHVlfXB4KTtcbiAgICAgICAgfVxuICAgICAgICBAZWxzZSB7XG4gICAgICAgICAgLy8gQ2FsY3VsYXRlIHRoZSBtaW5pbXVtIHZhbHVlXG4gICAgICAgICAgJHZhbHVlLW1pbjogJHJmcy1iYXNlLXZhbHVlICsgKGFicygkdmFsdWUpIC0gJHJmcy1iYXNlLXZhbHVlKSAvICRyZnMtZmFjdG9yO1xuXG4gICAgICAgICAgLy8gQ2FsY3VsYXRlIGRpZmZlcmVuY2UgYmV0d2VlbiAkdmFsdWUgYW5kIHRoZSBtaW5pbXVtIHZhbHVlXG4gICAgICAgICAgJHZhbHVlLWRpZmY6IGFicygkdmFsdWUpIC0gJHZhbHVlLW1pbjtcblxuICAgICAgICAgIC8vIEJhc2UgdmFsdWUgZm9ybWF0dGluZ1xuICAgICAgICAgICRtaW4td2lkdGg6IGlmKCRyZnMtdW5pdCA9PSByZW0sICN7JHZhbHVlLW1pbiAvICRyZnMtcmVtLXZhbHVlfXJlbSwgI3skdmFsdWUtbWlufXB4KTtcblxuICAgICAgICAgIC8vIFVzZSBuZWdhdGl2ZSB2YWx1ZSBpZiBuZWVkZWRcbiAgICAgICAgICAkbWluLXdpZHRoOiBpZigkdmFsdWUgPCAwLCAtJG1pbi13aWR0aCwgJG1pbi13aWR0aCk7XG5cbiAgICAgICAgICAvLyBVc2UgYHZtaW5gIGlmIHR3by1kaW1lbnNpb25hbCBpcyBlbmFibGVkXG4gICAgICAgICAgJHZhcmlhYmxlLXVuaXQ6IGlmKCRyZnMtdHdvLWRpbWVuc2lvbmFsLCB2bWluLCB2dyk7XG5cbiAgICAgICAgICAvLyBDYWxjdWxhdGUgdGhlIHZhcmlhYmxlIHdpZHRoIGJldHdlZW4gMCBhbmQgJHJmcy1icmVha3BvaW50XG4gICAgICAgICAgJHZhcmlhYmxlLXdpZHRoOiAjeyR2YWx1ZS1kaWZmICogMTAwIC8gJHJmcy1icmVha3BvaW50fSN7JHZhcmlhYmxlLXVuaXR9O1xuXG4gICAgICAgICAgLy8gUmV0dXJuIHRoZSBjYWxjdWxhdGVkIHZhbHVlXG4gICAgICAgICAgJHZhbDogJHZhbCArICcgY2FsYygnICsgJG1pbi13aWR0aCArIGlmKCR2YWx1ZSA8IDAsICcgLSAnLCAnICsgJykgKyAkdmFyaWFibGUtd2lkdGggKyAnKSc7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAvLyBSZW1vdmUgZmlyc3Qgc3BhY2VcbiAgQHJldHVybiB1bnF1b3RlKHN0ci1zbGljZSgkdmFsLCAyKSk7XG59XG5cbi8vIFJGUyBtaXhpblxuQG1peGluIHJmcygkdmFsdWVzLCAkcHJvcGVydHk6IGZvbnQtc2l6ZSkge1xuICBAaWYgJHZhbHVlcyAhPSBudWxsIHtcbiAgICAkdmFsOiByZnMtdmFsdWUoJHZhbHVlcyk7XG4gICAgJGZsdWlkVmFsOiByZnMtZmx1aWQtdmFsdWUoJHZhbHVlcyk7XG5cbiAgICAvLyBEbyBub3QgcHJpbnQgdGhlIG1lZGlhIHF1ZXJ5IGlmIHJlc3BvbnNpdmUgJiBub24tcmVzcG9uc2l2ZSB2YWx1ZXMgYXJlIHRoZSBzYW1lXG4gICAgQGlmICR2YWwgPT0gJGZsdWlkVmFsIHtcbiAgICAgICN7JHByb3BlcnR5fTogJHZhbDtcbiAgICB9XG4gICAgQGVsc2Uge1xuICAgICAgQGluY2x1ZGUgX3Jmcy1ydWxlIHtcbiAgICAgICAgI3skcHJvcGVydHl9OiBpZigkcmZzLW1vZGUgPT0gbWF4LW1lZGlhLXF1ZXJ5LCAkdmFsLCAkZmx1aWRWYWwpO1xuXG4gICAgICAgIC8vIEluY2x1ZGUgc2FmYXJpIGlmcmFtZSByZXNpemUgZml4IGlmIG5lZWRlZFxuICAgICAgICBtaW4td2lkdGg6IGlmKCRyZnMtc2FmYXJpLWlmcmFtZS1yZXNpemUtYnVnLWZpeCwgKDAgKiAxdncpLCBudWxsKTtcbiAgICAgIH1cblxuICAgICAgQGluY2x1ZGUgX3Jmcy1tZWRpYS1xdWVyeS1ydWxlIHtcbiAgICAgICAgI3skcHJvcGVydHl9OiBpZigkcmZzLW1vZGUgPT0gbWF4LW1lZGlhLXF1ZXJ5LCAkZmx1aWRWYWwsICR2YWwpO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG4vLyBTaG9ydGhhbmQgaGVscGVyIG1peGluc1xuQG1peGluIGZvbnQtc2l6ZSgkdmFsdWUpIHtcbiAgQGluY2x1ZGUgcmZzKCR2YWx1ZSk7XG59XG5cbkBtaXhpbiBwYWRkaW5nKCR2YWx1ZSkge1xuICBAaW5jbHVkZSByZnMoJHZhbHVlLCBwYWRkaW5nKTtcbn1cblxuQG1peGluIHBhZGRpbmctdG9wKCR2YWx1ZSkge1xuICBAaW5jbHVkZSByZnMoJHZhbHVlLCBwYWRkaW5nLXRvcCk7XG59XG5cbkBtaXhpbiBwYWRkaW5nLXJpZ2h0KCR2YWx1ZSkge1xuICBAaW5jbHVkZSByZnMoJHZhbHVlLCBwYWRkaW5nLXJpZ2h0KTtcbn1cblxuQG1peGluIHBhZGRpbmctYm90dG9tKCR2YWx1ZSkge1xuICBAaW5jbHVkZSByZnMoJHZhbHVlLCBwYWRkaW5nLWJvdHRvbSk7XG59XG5cbkBtaXhpbiBwYWRkaW5nLWxlZnQoJHZhbHVlKSB7XG4gIEBpbmNsdWRlIHJmcygkdmFsdWUsIHBhZGRpbmctbGVmdCk7XG59XG5cbkBtaXhpbiBtYXJnaW4oJHZhbHVlKSB7XG4gIEBpbmNsdWRlIHJmcygkdmFsdWUsIG1hcmdpbik7XG59XG5cbkBtaXhpbiBtYXJnaW4tdG9wKCR2YWx1ZSkge1xuICBAaW5jbHVkZSByZnMoJHZhbHVlLCBtYXJnaW4tdG9wKTtcbn1cblxuQG1peGluIG1hcmdpbi1yaWdodCgkdmFsdWUpIHtcbiAgQGluY2x1ZGUgcmZzKCR2YWx1ZSwgbWFyZ2luLXJpZ2h0KTtcbn1cblxuQG1peGluIG1hcmdpbi1ib3R0b20oJHZhbHVlKSB7XG4gIEBpbmNsdWRlIHJmcygkdmFsdWUsIG1hcmdpbi1ib3R0b20pO1xufVxuXG5AbWl4aW4gbWFyZ2luLWxlZnQoJHZhbHVlKSB7XG4gIEBpbmNsdWRlIHJmcygkdmFsdWUsIG1hcmdpbi1sZWZ0KTtcbn1cbiIsIjpyb290IHtcclxuICAgIC8qIE5vdCBteSBmYXZvcml0ZSB0aGF0IGxpbmUtaGVpZ2h0IGhhcyB0byBiZSB1bml0ZWQsIGJ1dCBuZWVkZWQgKi9cclxuICAgIC0tbGg6IDEuNHJlbTtcclxufVxyXG5cclxuaHRtbCB7XHJcbiAgICBmb250LXNpemU6ICRmb250U2l6ZUh0bWxUYWc7XHJcbiAgICBsaW5lLWhlaWdodDogdmFyKC0tbGgpO1xyXG59XHJcblxyXG5ib2R5IHtcclxuICAgIGJhY2tncm91bmQtY29sb3I6ICRiYWNrZ3JvdW5kQ29sb3IgIWltcG9ydGFudDtcclxuICAgIGNvbG9yOiAkbWFpbkNvbG9yICFpbXBvcnRhbnQ7XHJcbiAgICBmb250LXdlaWdodDogJGZvbnROb3JtYWwgIWltcG9ydGFudDtcclxuICAgIGxpbmUtaGVpZ2h0OiAkbGluZUhlaWdodCAhaW1wb3J0YW50O1xyXG4gICAgZm9udC1mYW1pbHk6ICRmb250RmFtaWx5ICFpbXBvcnRhbnQ7XHJcbiAgICBAaW5jbHVkZSBmb250LXNpemUoMTZweCk7XHJcbn1cclxuXHJcblxyXG5hIHtcclxuICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xyXG4gICAgY3Vyc29yOiBwb2ludGVyO1xyXG4gICAgY29sb3I6ICRtYWluTGlua0NvbG9yO1xyXG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xyXG4gICAgdHJhbnNpdGlvbjogYWxsIDAuMnMgZWFzZTtcclxuICAgICY6aG92ZXIsXHJcbiAgICAmOmZvY3VzIHtcclxuICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmUgIWltcG9ydGFudDtcclxuICAgICAgICBvdXRsaW5lOiBub25lO1xyXG4gICAgICAgIGNvbG9yOiAkbWFpbkxpbmtDb2xvci1ob3ZlcjtcclxuICAgIH1cclxufVxyXG5cclxuLnNob3ctbW9iaWxlIHtcclxuICAgIGRpc3BsYXk6IG5vbmU7XHJcbiAgICBAaW5jbHVkZSBtcS1tYXgoNzY4cHgpIHtcclxuICAgICAgICBkaXNwbGF5OiBibG9jaztcclxuICAgIH1cclxufVxyXG5cclxuLnNob3ctZGVza3RvcCB7XHJcbiAgICBkaXNwbGF5OiBibG9jaztcclxuICAgIEBpbmNsdWRlIG1xLW1heCg3NjhweCkge1xyXG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XHJcbiAgICB9XHJcbn1cclxuXHJcbi5sb29wLWluZmluaXRlIHtcclxuICAgIGFuaW1hdGlvbi1pdGVyYXRpb24tY291bnQ6aW5maW5pdGU7XHJcbn1cclxuLmxvb3AtNSB7XHJcbiAgICBhbmltYXRpb24taXRlcmF0aW9uLWNvdW50OiA1O1xyXG59XHJcblxyXG4udGV4dC1jZW50ZXIge1xyXG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xyXG59IiwiLyotLS0tIENvbnRlbnQgQ1NTIFZhcmlibGVzIC0tLS0qL1xyXG4kdGV4dC1jb2xvcjogIzI5MjgyNjtcclxuJGNvbG9yLWxpbmstY29udGVudDogIzliMmEyZTtcclxuJGNvbG9yLWxpbmstY29udGVudC1ob3ZlcjogI2ExOGM1YztcclxuXHJcbiRjb2xvci1maXJzdC1sZXR0ZXI6ICMyOTI4MjY7XHJcbiRjb2xvci1zdHJvbmctMTogIzliMmEyZTtcclxuJGNvbG9yLXN0cm9uZy0yOiAjYTE4YzVjO1xyXG4kY29sb3Itc3Ryb25nLTM6ICMwMDZjYzg7XHJcblxyXG4kaDMtY29sb3I6ICMyOTI4MjY7XHJcbiRoMy1mb250LWZhbWlseTogU0YtQm9sZDtcclxuXHJcbiRoNC1jb2xvcjogIzkxMjkyOTtcclxuJGg0LXBhZGRpbmc6IDUwcHg7XHJcblxyXG4kaDUtY29sb3I6ICM5MTI5Mjk7XHJcbiRoNS1wYWRkaW5nOiA0MHB4O1xyXG5cclxuJGJhY2tncm91bmQtdGFibGUtaGVhZDogIzMzMzMzMztcclxuJGNvbG9yLXRhYmxlLWhlYWQ6ICNlZWY5Zjk7XHJcbiRjb2xvci1ib3JkZXItdGFibGU6ICMxZjAwMmI7XHJcbiRiYWNrZ3JvdW5kLXJvdy0xOiAjYjdkOGUzO1xyXG4kYmFja2dyb3VuZC1yb3ctMjogI2UzZjFmNjtcclxuJGNvbG9yLXRhYmxlLXRleHQ6ICMxYTIyMmE7XHJcbiRjb2xvci10YWJsZS10ZXh0LWhvdmVyOiAkbWFpbkxpbmtDb2xvci1ob3ZlcjtcclxuXHJcbi8qLS0tIEltYWdlIC0tLS0tKi9cclxuJGNvbG9yLWJvcmRlci1pbWFnZTogIzAwMDtcclxuJGNvbG9yLWJhY2tncm91bmQtaW1hZ2U6ICMwMDA7XHJcblxyXG5cclxuLyotLS0gTm90aWNlIEJveCAtLS0qL1xyXG4kbGVnZW5kLWJhY2tncm91bmQ6ICM5MTI5Mjk7XHJcbiRsZWdlbmQtYm9yZGVyOiAjOTEyOTI5O1xyXG4kbGVnZW5kLWNvbG9yOiAjZmZmO1xyXG4kbm90aWNlLWJhY2tncm91bmQ6ICNlM2U3ZWY7XHJcbiRub3RpY2UtYm9yZGVyOiAjOGQ4ZDhkO1xyXG4kbm90aWNlLWNvbG9yOiAjMWUyYzE5O1xyXG4kbm90aWNlLWxpbmstY29sb3I6ICMxYzc2ZmQ7XHJcbiRub3RpY2UtbGluay1jb2xvci1ob3ZlcjogI2ZkNGIzNjtcclxuXHJcbi8qLS0tLSBFbmQgQ29udGVudCBDU1MgVmFyaWJsZXMgLS0tLSovXHJcblxyXG4vKiBHZW5lcmFsICovXHJcbi5TdGF0aWNNYWluIHtcclxuICAvLyBAaW5jbHVkZSBwYWRkaW5nKDIwcHggMCk7XHJcbiAgY2xlYXI6IGJvdGg7XHJcbiAgdGV4dC1hbGlnbjoganVzdGlmeTtcclxuICBjb2xvcjogJHRleHQtY29sb3I7ICBcclxuXHJcbiAgaDMge1xyXG4gICAgZm9udC1mYW1pbHk6ICRoMy1mb250LWZhbWlseTtcclxuICAgIGNvbG9yOiAkaDMtY29sb3I7XHJcbiAgICBmb250LXNpemU6IDNlbTtcclxuICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xyXG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xyXG4gICAgbWFyZ2luOiAwcHggMCAzMHB4IDA7XHJcblxyXG4gIH1cclxuXHJcbiAgYSB7XHJcbiAgICBjb2xvcjogJGNvbG9yLWxpbmstY29udGVudDtcclxuICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xyXG5cclxuICAgICY6aG92ZXIge1xyXG4gICAgICBjb2xvcjogJGNvbG9yLWxpbmstY29udGVudC1ob3ZlcjtcclxuICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgcCB7XHJcbiAgICBtYXJnaW46IDAgMCAxMHB4O1xyXG4gIH1cclxuXHJcbiAgdWwge1xyXG4gICAgbGlzdC1zdHlsZTogZGlzYztcclxuICAgIHBhZGRpbmc6IDAgMCAwIDA7XHJcblxyXG4gICAgbGkge1xyXG4gICAgICBsaXN0LXN0eWxlOiBkaXNjO1xyXG4gICAgICBwYWRkaW5nOiAwIDAgMCAwcHg7XHJcbiAgICAgIG1hcmdpbjogMCAwIDVweCAyMHB4O1xyXG5cclxuICAgICAgdWwge1xyXG4gICAgICAgIGxpc3Qtc3R5bGU6IGNpcmNsZTtcclxuICAgICAgICBwYWRkaW5nOiAwIDAgMTBweCAwO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBvbCB7XHJcbiAgICBtYXJnaW46IDAgMCAyMHB4O1xyXG4gICAgcGFkZGluZzogMCAwIDAgMjBweDtcclxuXHJcbiAgICBsaSB7XHJcbiAgICAgIG1hcmdpbjogMCAwIDEwcHg7XHJcbiAgICAgIGxpc3Qtc3R5bGU6IGRlY2ltYWwgIWltcG9ydGFudDtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIC5BbmNob3JMaW5rIHtcclxuICAgIG1hcmdpbjogMHB4IDMwcHggMjBweDtcclxuICAgIG92ZXJmbG93OiBoaWRkZW47XHJcbiAgICBsaXN0LXN0eWxlOiBub25lIG91dHNpZGUgbm9uZTtcclxuXHJcbiAgICBsaSB7XHJcbiAgICAgIGZsb2F0OiBsZWZ0O1xyXG4gICAgICB3aWR0aDogNDklO1xyXG4gICAgICBwYWRkaW5nOiAwIDAgNXB4IDVweDtcclxuICAgICAgbWFyZ2luOiAwIDElIDAgMDtcclxuICAgICAgbGlzdC1zdHlsZTogbm9uZTtcclxuXHJcbiAgICAgIEBpbmNsdWRlIG1xLW1heCg3NjhweCkge1xyXG4gICAgICAgIHdpZHRoOiAzMSU7XHJcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAyJTtcclxuICAgICAgfVxyXG5cclxuICAgICAgQGluY2x1ZGUgbXEtbWF4KDQ4MHB4KSB7XHJcbiAgICAgICAgd2lkdGg6IDQ4JTtcclxuICAgICAgICBtYXJnaW4tcmlnaHQ6IDIlO1xyXG4gICAgICB9XHJcblxyXG4gICAgICBAaW5jbHVkZSBtcS1tYXgoMzIwcHgpIHtcclxuICAgICAgICB3aWR0aDogOTglO1xyXG4gICAgICAgIG1hcmdpbi1yaWdodDogMiU7XHJcbiAgICAgIH1cclxuXHJcbiAgICAgIGEge1xyXG4gICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcclxuICAgICAgICBwYWRkaW5nLWxlZnQ6IDE1cHg7XHJcbiAgICAgICAgZm9udC13ZWlnaHQ6IGJvbGQ7XHJcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgICAgIGNvbG9yOiAkY29sb3ItbGluay1jb250ZW50O1xyXG4gICAgICAgICY6YmVmb3JlIHtcclxuICAgICAgICAgIGNvbnRlbnQ6ICcnO1xyXG4gICAgICAgICAgd2lkdGg6IDVweDtcclxuICAgICAgICAgIGhlaWdodDogNXB4O1xyXG4gICAgICAgICAgYm9yZGVyOiBzb2xpZCAxcHggJGNvbG9yLWxpbmstY29udGVudDtcclxuICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgICAgICAgIHRvcDogN3B4O1xyXG4gICAgICAgICAgbGVmdDogMDtcclxuICAgICAgICAgIHRyYW5zZm9ybTogcm90YXRlKDQ1ZGVnKTtcclxuXHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcblxyXG4gICAgICBhLkFjdGl2ZSxcclxuICAgICAgYS5BY3RpdmU6aG92ZXIsXHJcbiAgICAgIGE6aG92ZXIge1xyXG4gICAgICAgIGNvbG9yOiAkY29sb3ItbGluay1jb250ZW50LWhvdmVyO1xyXG5cclxuICAgICAgICAmOmJlZm9yZSB7XHJcbiAgICAgICAgICBjb250ZW50OiAnJztcclxuICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgICAgICAgIHRvcDogN3B4O1xyXG4gICAgICAgICAgbGVmdDogMDtcclxuICAgICAgICAgIGJhY2tncm91bmQ6ICRjb2xvci1saW5rLWNvbnRlbnQtaG92ZXI7XHJcbiAgICAgICAgICBib3JkZXI6IHNvbGlkIDFweCAkY29sb3ItbGluay1jb250ZW50LWhvdmVyO1xyXG4gICAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoNDVkZWcpO1xyXG4gICAgICAgICAgY29sb3I6ICRtYWluTGlua0NvbG9yLWhvdmVyO1xyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgLkZpcnN0Q2hhciB7XHJcbiAgICBwYWRkaW5nOiA0cHggNHB4IDAgMDtcclxuICAgIGxpbmUtaGVpZ2h0OiAzMHB4O1xyXG4gICAgZm9udC1zaXplOiA0MnB4O1xyXG4gICAgZm9udC13ZWlnaHQ6IGJvbGQ7XHJcbiAgICBmbG9hdDogbGVmdDtcclxuICAgIGNvbG9yOiAkY29sb3ItZmlyc3QtbGV0dGVyO1xyXG4gIH1cclxuXHJcbiAgLkNvbnRlbnRCbG9jayB7XHJcbiAgICBwYWRkaW5nLWJvdHRvbTogMjBweDtcclxuICAgIGNsZWFyOiBib3RoO1xyXG4gIH1cclxuXHJcbiAgLkltYWdlc0Jsb2NrIHtcclxuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcclxuICAgIG1hcmdpbi1ib3R0b206IDIwcHg7XHJcbiAgfVxyXG5cclxuICAuSW1nQ2VudGVyIHtcclxuICAgIHRleHQtYWxpZ246IGNlbnRlciAhaW1wb3J0YW50O1xyXG4gICAgbWFyZ2luLWJvdHRvbTogMjBweCAhaW1wb3J0YW50O1xyXG4gICAgZm9udC1zaXplOiA5MCU7XHJcbiAgICBmb250LXN0eWxlOiBpdGFsaWM7XHJcbiAgfVxyXG5cclxuXHJcblxyXG4gIGg0IHtcclxuICAgIGNvbG9yOiAkaDQtY29sb3I7XHJcbiAgICBwYWRkaW5nOiAxMHB4IDAgMTBweCAkaDQtcGFkZGluZztcclxuICAgIGZvbnQtc2l6ZTogMjBweDtcclxuICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xyXG4gICAgbWFyZ2luOiAwIDAgNXB4IDBweDtcclxuICAgIGJhY2tncm91bmQ6IHVybCgnLi4vaW1hZ2VzL2NvbnRlbnQvaWNvbi1oNC5wbmcnKSBuby1yZXBlYXQ7XHJcbiAgfVxyXG5cclxuICAuQ29udGVudEg0IHtcclxuICAgIGNsZWFyOiBib3RoO1xyXG4gICAgbWFyZ2luOiAwIDAgMTBweCAkaDQtcGFkZGluZztcclxuICAgIHBhZGRpbmc6IDAgMCAwIDBweDtcclxuXHJcbiAgICBwIHtcclxuICAgICAgbWFyZ2luLWJvdHRvbTogMTBweDtcclxuICAgICAgLyp0ZXh0LWFsaWduOiBqdXN0aWZ5OyovXHJcblxyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgLkltYWdlc0g0IHtcclxuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcclxuICAgIG1hcmdpbjogMCAwIDIwcHggJGg0LXBhZGRpbmc7XHJcbiAgfVxyXG5cclxuXHJcbiAgaDUge1xyXG4gICAgY29sb3I6ICRoNS1jb2xvcjtcclxuICAgIHBhZGRpbmc6IDEwcHggMCAxMHB4ICRoNS1wYWRkaW5nO1xyXG4gICAgbWFyZ2luOiAwIDAgMTBweCAkaDQtcGFkZGluZztcclxuICAgIGZvbnQtc2l6ZTogMThweDtcclxuICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xyXG4gICAgYmFja2dyb3VuZDogdXJsKCcuLi9pbWFnZXMvY29udGVudC9pY29uLWg1LnBuZycpIG5vLXJlcGVhdCAwIDBweDtcclxuICB9XHJcblxyXG4gIC5Db250ZW50SDUge1xyXG4gICAgY2xlYXI6IGJvdGg7XHJcbiAgICBtYXJnaW46IDAgMCAwICgkaDQtcGFkZGluZyskaDUtcGFkZGluZyk7XHJcbiAgICBwYWRkaW5nOiAwIDAgMjBweDtcclxuXHJcbiAgICBwIHtcclxuICAgICAgbWFyZ2luLWJvdHRvbTogMTBweDtcclxuICAgICAgdGV4dC1hbGlnbjoganVzdGlmeTtcclxuXHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICAuSW1hZ2VzSDUge1xyXG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xyXG4gICAgbWFyZ2luOiAwIDAgMjBweCAkaDUtcGFkZGluZztcclxuICB9XHJcblxyXG5cclxuICB0YWJsZSB7XHJcbiAgICBib3JkZXItdG9wOiBzb2xpZCAxcHggJGNvbG9yLWJvcmRlci10YWJsZTtcclxuICAgIG1hcmdpbjogMCBhdXRvIDIwcHg7XHJcbiAgICBib3JkZXItY29sbGFwc2U6IGNvbGxhcHNlO1xyXG5cclxuICAgIHRoZWFkIHtcclxuICAgICAgdHIge1xyXG4gICAgICAgIHRoIHtcclxuICAgICAgICAgIGNvbG9yOiAkY29sb3ItdGFibGUtaGVhZDtcclxuICAgICAgICAgIGJhY2tncm91bmQ6ICRiYWNrZ3JvdW5kLXRhYmxlLWhlYWQ7XHJcbiAgICAgICAgICBmb250LXdlaWdodDogYm9sZGVyO1xyXG4gICAgICAgICAgcGFkZGluZzogMTBweCAxMHB4O1xyXG4gICAgICAgICAgYm9yZGVyLXJpZ2h0OiAxcHggc29saWQgJGNvbG9yLWJvcmRlci10YWJsZTtcclxuICAgICAgICAgIGJvcmRlci1sZWZ0OiAxcHggc29saWQgJGNvbG9yLWJvcmRlci10YWJsZTtcclxuICAgICAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAkY29sb3ItYm9yZGVyLXRhYmxlO1xyXG4gICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIHRib2R5IHtcclxuICAgICAgdHIge1xyXG4gICAgICAgICY6bnRoLWNoaWxkKG9kZCkge1xyXG4gICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGJhY2tncm91bmQtcm93LTE7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAmOm50aC1jaGlsZChldmVuKSB7XHJcbiAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYmFja2dyb3VuZC1yb3ctMjtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIHRkIHtcclxuICAgICAgICAgIHBhZGRpbmc6IDEwcHggMTBweDtcclxuICAgICAgICAgIGJvcmRlcjogMXB4IHNvbGlkICRjb2xvci1ib3JkZXItdGFibGU7XHJcbiAgICAgICAgICBib3JkZXItdG9wOiBub25lO1xyXG4gICAgICAgICAgY29sb3I6ICRjb2xvci10YWJsZS10ZXh0O1xyXG5cclxuICAgICAgICAgIGEge1xyXG4gICAgICAgICAgICBjb2xvcjogJGNvbG9yLXRhYmxlLXRleHQ7XHJcblxyXG4gICAgICAgICAgICAmOmhvdmVyIHtcclxuICAgICAgICAgICAgICBjb2xvcjogJGNvbG9yLXRhYmxlLXRleHQtaG92ZXI7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuXHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICB0YWJsZS5Ob3RpY2Uge1xyXG4gICAgYm9yZGVyOiAxcHggc29saWQgJGNvbG9yLWJvcmRlci10YWJsZTtcclxuXHJcbiAgICB0ciB7XHJcbiAgICAgIHRkIHtcclxuICAgICAgICBwYWRkaW5nOiAxMHB4IDIwcHg7XHJcbiAgICAgICAgYm9yZGVyOiAxcHggc29saWQgJGNvbG9yLWJvcmRlci10YWJsZTtcclxuXHJcbiAgICAgICAgcCB7XHJcbiAgICAgICAgICBtYXJnaW4tYm90dG9tOiAxMHB4O1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgdWwsXHJcbiAgICAgICAgb2wge1xyXG4gICAgICAgICAgcGFkZGluZy1ib3R0b206IDBweDtcclxuICAgICAgICAgIG1hcmdpbi1ib3R0b206IDBweDtcclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgIH1cclxuXHJcblxyXG4gIH1cclxuXHJcbiAgLyogVGV4dCBzdHlsZXMgKi9cclxuICAuVGV4dENlbnRlciB7XHJcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbiAgfVxyXG5cclxuICAuVGV4dFJpZ2h0IHtcclxuICAgIHRleHQtYWxpZ246IHJpZ2h0O1xyXG4gIH1cclxuXHJcbiAgLlN0cm9uZzAxIHtcclxuICAgIGZvbnQtd2VpZ2h0OiBib2xkZXI7XHJcbiAgICBjb2xvcjogJGNvbG9yLXN0cm9uZy0xO1xyXG4gIH1cclxuXHJcbiAgLlN0cm9uZzAyIHtcclxuICAgIGZvbnQtd2VpZ2h0OiBib2xkZXI7XHJcbiAgICBjb2xvcjogJGNvbG9yLXN0cm9uZy0yO1xyXG4gIH1cclxuXHJcbiAgLlN0cm9uZzAzIHtcclxuICAgIGZvbnQtd2VpZ2h0OiBib2xkZXI7XHJcbiAgICBjb2xvcjogJGNvbG9yLXN0cm9uZy0zO1xyXG4gIH1cclxuXHJcbiAgLlRleHRGb250MTcge1xyXG4gICAgZm9udC1zaXplOiAxN3B4O1xyXG5cclxuICB9XHJcblxyXG4gIC5UZXh0Rm9udDE5IHtcclxuICAgIGZvbnQtc2l6ZTogMTlweDtcclxuXHJcbiAgfVxyXG5cclxuICAuVGV4dEZvbnQyMSB7XHJcbiAgICBmb250LXNpemU6IDIxcHg7XHJcblxyXG4gIH1cclxuXHJcbiAgLyogRU5ELiBUZXh0IHN0eWxlcyAqL1xyXG5cclxuICAvKiBJbWFnZSBzdHlsZXMgKi9cclxuICAuTm9Cb3JkZXJJbWcge1xyXG4gICAgYm9yZGVyOiBub25lO1xyXG4gICAgYmFja2dyb3VuZDogbm9uZTtcclxuICAgIHBhZGRpbmc6IDA7XHJcbiAgfVxyXG5cclxuICAuQm9yZGVySW1nIHtcclxuICAgIGJhY2tncm91bmQ6ICRjb2xvci1iYWNrZ3JvdW5kLWltYWdlO1xyXG4gICAgYm9yZGVyOiAxcHggc29saWQgJGNvbG9yLWJvcmRlci1pbWFnZTtcclxuICAgIHBhZGRpbmc6IDBweDtcclxuICB9XHJcblxyXG4gIC5JbWdMZWZ0IHtcclxuICAgIGZsb2F0OiBsZWZ0O1xyXG4gICAgbWFyZ2luOiAxcHggMTBweCA1cHggMDtcclxuICAgIGJvcmRlcjogMXB4IHNvbGlkICRjb2xvci1ib3JkZXItaW1hZ2U7XHJcbiAgfVxyXG5cclxuICAuSW1nUmlnaHQge1xyXG4gICAgZmxvYXQ6IHJpZ2h0O1xyXG4gICAgbWFyZ2luOiAwIDAgNXB4IDEwcHg7XHJcbiAgICBib3JkZXI6IDFweCBzb2xpZCAkY29sb3ItYm9yZGVyLWltYWdlO1xyXG4gIH1cclxuXHJcblxyXG4gIGJsb2NrcXVvdGUge1xyXG4gICAgYm9yZGVyLWxlZnQ6IDJweCBzb2xpZCAkY29sb3ItYm9yZGVyLXRhYmxlO1xyXG4gICAgZm9udC1zaXplOiAxNHB4O1xyXG4gICAgbWFyZ2luOiAwIDIwcHg7XHJcbiAgICBwYWRkaW5nOiAxMHB4IDQwcHg7XHJcbiAgICBtYXJnaW46IDA7XHJcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICBmb250LXN0eWxlOiBpdGFsaWM7XHJcblxyXG4gICAgJjpiZWZvcmUsXHJcbiAgICAmOmFmdGVyIHtcclxuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgICBkaXNwbGF5OiBibG9jaztcclxuICAgICAgd2lkdGg6IDIwcHg7XHJcbiAgICAgIGhlaWdodDogMjBweDtcclxuICAgICAgY29udGVudDogJyc7XHJcbiAgICB9XHJcblxyXG4gICAgJjpiZWZvcmUge1xyXG4gICAgICB0b3A6IDA7XHJcbiAgICAgIGxlZnQ6IDEwcHg7XHJcbiAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IDAgMDtcclxuICAgIH1cclxuXHJcbiAgICAmOmFmdGVyIHtcclxuICAgICAgcmlnaHQ6IDA7XHJcbiAgICAgIGJvdHRvbTogMDtcclxuICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogLTIwcHggMDtcclxuICAgIH1cclxuXHJcblxyXG4gIH1cclxuXHJcbiAgLyogTm90aWNlIGJveCAqL1xyXG4gIC5Ob3RpY2VCb3gge1xyXG4gICAgYm9yZGVyOiBzb2xpZCAxcHggJG5vdGljZS1ib3JkZXI7XHJcbiAgICBwYWRkaW5nOiAxMHB4O1xyXG4gICAgYmFja2dyb3VuZDogJG5vdGljZS1iYWNrZ3JvdW5kO1xyXG5cclxuICAgIHAuTGVnZW5kIHtcclxuICAgICAgZm9udC1zaXplOiAxM3B4O1xyXG4gICAgICBmb250LXdlaWdodDogYm9sZGVyO1xyXG4gICAgICBwYWRkaW5nOiAwIDE1cHg7XHJcbiAgICAgIGNvbG9yOiAkbGVnZW5kLWNvbG9yO1xyXG4gICAgICBiYWNrZ3JvdW5kOiAkbGVnZW5kLWJhY2tncm91bmQ7XHJcbiAgICAgIGhlaWdodDogMjBweDtcclxuICAgICAgbWFyZ2luOiAtMjBweCAwIDEwcHg7XHJcbiAgICAgIGZsb2F0OiBsZWZ0O1xyXG4gICAgICBib3JkZXI6IHNvbGlkIDFweCAkbGVnZW5kLWJvcmRlcjtcclxuICAgIH1cclxuXHJcbiAgICAuTm90ZUNvbnRlbnQge1xyXG4gICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcclxuICAgICAgdGV4dC1hbGlnbjoganVzdGlmeTtcclxuICAgICAgY29sb3I6ICRub3RpY2UtY29sb3I7XHJcblxyXG4gICAgICBhIHtcclxuICAgICAgICBAaWYgJG5vdGljZS1saW5rLWNvbG9yICE9bsawbGwge1xyXG4gICAgICAgICAgY29sb3I6ICRub3RpY2UtbGluay1jb2xvcjtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgICY6aG92ZXIge1xyXG4gICAgICAgICAgQGlmICRub3RpY2UtbGluay1jb2xvci1ob3ZlciAhPW7GsGxsIHtcclxuICAgICAgICAgICAgY29sb3I6ICRub3RpY2UtbGluay1jb2xvci1ob3ZlcjtcclxuICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuXHJcbiAgICB9XHJcbiAgfVxyXG5cclxuXHJcbiAgLyogTGlzdCBzdHlsZXMgKi9cclxuICB1bC5EZWNpbWFsIHtcclxuICAgIG1hcmdpbjogMHB4IDBweCAxMHB4IDBweDtcclxuXHJcbiAgICBsaSB7XHJcbiAgICAgIGxpc3Qtc3R5bGUtdHlwZTogZGVjaW1hbDtcclxuICAgICAgbWFyZ2luLWJvdHRvbTogMTBweDtcclxuICAgICAgdGV4dC1hbGlnbjoganVzdGlmeTtcclxuXHJcbiAgICAgIHVsIHtcclxuICAgICAgICBwYWRkaW5nLXRvcDogNXB4O1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICB1bC5VcHBlckFscGhhIHtcclxuICAgIG1hcmdpbjogMHB4IDBweCAxMHB4IDBweDtcclxuXHJcbiAgICBsaSB7XHJcbiAgICAgIGxpc3Qtc3R5bGUtdHlwZTogdXBwZXItYWxwaGE7XHJcbiAgICAgIG1hcmdpbi1ib3R0b206IDEwcHg7XHJcbiAgICAgIHRleHQtYWxpZ246IGp1c3RpZnk7XHJcblxyXG4gICAgICB1bCB7XHJcbiAgICAgICAgcGFkZGluZy10b3A6IDVweDtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgdWwuTG93ZXJBbHBoYSB7XHJcbiAgICBtYXJnaW46IDBweCAwcHggMTBweCAwcHg7XHJcblxyXG4gICAgbGkge1xyXG4gICAgICBsaXN0LXN0eWxlLXR5cGU6IGxvd2VyLWFscGhhO1xyXG4gICAgICBtYXJnaW4tYm90dG9tOiAxMHB4O1xyXG4gICAgICB0ZXh0LWFsaWduOiBqdXN0aWZ5O1xyXG5cclxuICAgICAgdWwge1xyXG4gICAgICAgIHBhZGRpbmctdG9wOiA1cHg7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcblxyXG4gIHVsLkljb24ge1xyXG4gICAgbWFyZ2luOiAwcHggMHB4IDEwcHggNXB4O1xyXG5cclxuICAgIGxpIHtcclxuICAgICAgbWFyZ2luLWJvdHRvbTogMTBweDtcclxuICAgICAgcGFkZGluZy1sZWZ0OiAxNXB4O1xyXG4gICAgICBsaXN0LXN0eWxlLXR5cGU6IG5vbmU7XHJcbiAgICAgIHRleHQtYWxpZ246IGp1c3RpZnk7XHJcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuXHJcbiAgICAgICY6YmVmb3JlIHtcclxuICAgICAgICBmb250LXNpemU6IDhweDtcclxuICAgICAgICBjb250ZW50OiBcIlxcZTA3NFwiO1xyXG4gICAgICAgIGZvbnQtZmFtaWx5OiAnR2x5cGhpY29uc0hhbGZsaW5ncyc7XHJcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgICAgIHRvcDogNHB4O1xyXG4gICAgICAgIGxlZnQ6IDA7XHJcbiAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoNDVkZWcpO1xyXG4gICAgICB9XHJcblxyXG4gICAgICB1bCB7XHJcbiAgICAgICAgcGFkZGluZy10b3A6IDVweDtcclxuICAgICAgfVxyXG5cclxuICAgICAgdWwuTG93ZXJBbHBoYSBsaSB7XHJcbiAgICAgICAgbGlzdC1zdHlsZS10eXBlOiBsb3dlci1hbHBoYTtcclxuICAgICAgICBtYXJnaW4tYm90dG9tOiAxMHB4O1xyXG4gICAgICAgIGJhY2tncm91bmQ6IG5vbmU7XHJcbiAgICAgICAgcGFkZGluZy1sZWZ0OiAwcHg7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcblxyXG4gIHVsLkRhc2gge1xyXG4gICAgbWFyZ2luOiAwcHggMHB4IDEwcHggNXB4O1xyXG5cclxuICAgIGxpIHtcclxuICAgICAgbWFyZ2luLWJvdHRvbTogMTBweDtcclxuICAgICAgcGFkZGluZy1sZWZ0OiAxNXB4O1xyXG4gICAgICBsaXN0LXN0eWxlLXR5cGU6IG5vbmU7XHJcbiAgICAgIHRleHQtYWxpZ246IGp1c3RpZnk7XHJcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuXHJcbiAgICAgICY6YmVmb3JlIHtcclxuICAgICAgICBmb250LXNpemU6IDhweDtcclxuICAgICAgICBjb250ZW50OiBcIlxcMjIxMlwiO1xyXG4gICAgICAgIGZvbnQtZmFtaWx5OiAnR2x5cGhpY29uc0hhbGZsaW5ncyc7XHJcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgICAgIHRvcDogNXB4O1xyXG4gICAgICAgIGxlZnQ6IDA7XHJcbiAgICAgIH1cclxuXHJcbiAgICAgIHVsIHtcclxuICAgICAgICBwYWRkaW5nLXRvcDogNXB4O1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICB1bC5EaXNjIHtcclxuICAgIG1hcmdpbjogMHB4IDBweCAxMHB4IDVweDtcclxuXHJcbiAgICBsaSB7XHJcbiAgICAgIGxpc3Qtc3R5bGUtdHlwZTogbm9uZTtcclxuICAgICAgbWFyZ2luOiAwIDAgMTBweCAwO1xyXG4gICAgICBwYWRkaW5nOiAwIDAgMCAxNXB4O1xyXG4gICAgICB0ZXh0LWFsaWduOiBqdXN0aWZ5O1xyXG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcblxyXG4gICAgICAmOmJlZm9yZSB7XHJcbiAgICAgICAgZm9udC1zaXplOiA4cHg7XHJcbiAgICAgICAgY29udGVudDogXCJcXGUxNjVcIjtcclxuICAgICAgICBmb250LWZhbWlseTogJ0dseXBoaWNvbnNIYWxmbGluZ3MnO1xyXG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgICAgICB0b3A6IDVweDtcclxuICAgICAgICBsZWZ0OiAwO1xyXG4gICAgICB9XHJcblxyXG4gICAgICB1bCB7XHJcbiAgICAgICAgcGFkZGluZy10b3A6IDVweDtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxufSIsImJvZHkge1xyXG4gIGJhY2tncm91bmQ6ICNmN2ZjZmU7XHJcbiAgb3ZlcmZsb3cteDogaGlkZGVuO1xyXG4gIHNjcm9sbC1iZWhhdmlvcjogc21vb3RoO1xyXG4gIC53cmFwcGVyIHtcclxuICAgIGJhY2tncm91bmQ6IHVybCguLi9pbWFnZXMvYmcuanBnKSBuby1yZXBlYXQgdG9wIGNlbnRlciAjZjZmYmYwO1xyXG4gICAgb3ZlcmZsb3cteDogaGlkZGVuO1xyXG4gIH1cclxuICAud3JhcHBlci5zdWIge1xyXG4gICAgb3ZlcmZsb3cteDogaGlkZGVuO1xyXG4gICAgYmFja2dyb3VuZDogdXJsKC4uL2ltYWdlcy9iZy10b3AuanBnKSBuby1yZXBlYXQgY2VudGVyIHRvcCxcclxuICAgICAgICAgICAgICAgIHVybCguLi9pbWFnZXMvYmctYm90dG9tLmpwZykgbm8tcmVwZWF0IGNlbnRlciBib3R0b20gI2Y2ZmJmMDtcclxuXHJcbiAgICAuY29udGFpbmVyIHtcclxuICAgICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICAgIFxyXG4gICAgfVxyXG4gIH1cclxuICAuY29udGFpbmVyIHtcclxuICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICBmbGV4LXdyYXA6IHdyYXA7XHJcbiAgfVxyXG59XHJcblxyXG5cclxuLnNlY3Rpb24ge1xyXG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICB3aWR0aDogMTAwJTs7XHJcbn1cclxuLmhlYWRpbmcge1xyXG4gIHRleHQtYWxpZ246IGNlbnRlcjtcclxuICAmLXRpbnR1YyB7XHJcbiAgICB3aWR0aDogMTAwJTtcclxuICAgIG1hcmdpbjogMCAwIDIwcHggMHB4O1xyXG4gIH1cclxufVxyXG4uY2hhciB7XHJcbiAgQGluY2x1ZGUgcG9zaXRpb24oYWJzb2x1dGUsIC03MHB4IG51bGwgbnVsbCAtNzBweCk7XHJcbn1cclxuXHJcbi5iYW5uZXItZnJhbWUge1xyXG4gIHdpZHRoOiA1NzRweDtcclxuICBoZWlnaHQ6IDYzMHB4O1xyXG4gIG1hcmdpbjogMCAwcHggMDtcclxuICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgLy8gYm94LXNoYWRvdzogMTNweCAxMHB4IDBweCAwcHggcmdiYSgwLDAsMCwwLjMpO1xyXG4gIFxyXG59XHJcblxyXG4uYmFubmVyLXNsaWRlciB7XHJcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xyXG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICBhIHtcclxuICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgJjphZnRlciB7XHJcbiAgICAgIGNvbnRlbnQ6ICcnO1xyXG4gICAgICBAaW5jbHVkZSBwb3NpdGlvbihhYnNvbHV0ZSwgMCAwIDAgMCk7XHJcbiAgICAgIGJhY2tncm91bmQ6IHVybCguLi9pbWFnZXMvYmFubmVyLWZyYW1lLnBuZykgbm8tcmVwZWF0O1xyXG4gICAgICB6LWluZGV4OiAxO1xyXG4gICAgfVxyXG4gIH1cclxuICBcclxuICBpbWcge1xyXG4gICAgLy8gYm9yZGVyOiBzb2xpZCA4cHggI2ZmZjtcclxuICB9XHJcbiAgXHJcbn1cclxuLmJhbm5lci1zbGlkZXItcHJldiB7XHJcbiAgd2lkdGg6IDYwcHg7XHJcbiAgaGVpZ2h0OiA2MHB4O1xyXG4gIGJhY2tncm91bmQ6IHVybCguLi9pbWFnZXMvcHJldi1idG4ucG5nKSBuby1yZXBlYXQ7XHJcbiAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gIGxlZnQ6IC0zNXB4O1xyXG4gIHRvcDogNDglO1xyXG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKTtcclxuICBjdXJzb3I6IHBvaW50ZXI7XHJcbn1cclxuLmJhbm5lci1zbGlkZXItbmV4dCB7XHJcbiAgd2lkdGg6IDYwcHg7XHJcbiAgaGVpZ2h0OiA2MHB4O1xyXG4gIGJhY2tncm91bmQ6IHVybCguLi9pbWFnZXMvbmV4dC1idG4ucG5nKSBuby1yZXBlYXQ7XHJcbiAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gIHJpZ2h0OiAtMjhweDtcclxuICB0b3A6IDQ4JTtcclxuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSk7XHJcbiAgY3Vyc29yOiBwb2ludGVyO1xyXG59XHJcbi5iYW5uZXItc2xpZGVyLXN3aXBlci1wYWdpbmF0aW9uIHtcclxuICBsZWZ0OiA1MCU7XHJcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC01MCUpO1xyXG4gIGJvdHRvbTogMTBweDtcclxuICBvcGFjaXR5OiAuODtcclxuICAuc3dpcGVyLXBhZ2luYXRpb24tYnVsbGV0IHtcclxuICAgIHdpZHRoOiAzMnB4O1xyXG4gICAgaGVpZ2h0OiAzMnB4O1xyXG4gICAgYmFja2dyb3VuZDogdXJsKC4uL2ltYWdlcy9wYWdpbmctZG90LnBuZykgbm8tcmVwZWF0O1xyXG4gICAgb3BhY2l0eTogMTtcclxuICB9XHJcbiAgLnN3aXBlci1wYWdpbmF0aW9uLWJ1bGxldC1hY3RpdmUge1xyXG4gICAgd2lkdGg6IDMycHg7XHJcbiAgICBoZWlnaHQ6IDMycHg7XHJcbiAgICBiYWNrZ3JvdW5kOiB1cmwoLi4vaW1hZ2VzL3BhZ2luZy1kb3QtaG92ZXIucG5nKSBuby1yZXBlYXQ7XHJcbiAgfVxyXG59XHJcblxyXG4uaG90cm8tYmxvY2sge1xyXG4gIGRpc3BsYXk6IGZsZXg7XHJcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XHJcbiAgd2lkdGg6IDUxMHB4O1xyXG4gIG1hcmdpbjogNzVweCAwIDBweCAwcHg7XHJcbiAgbGkge1xyXG4gICAgbWFyZ2luOiAwIDVweDtcclxuICB9XHJcbiAgYSB7XHJcbiAgICBkaXNwbGF5OiBibG9jaztcclxuICAgIG1hcmdpbjogMCAwcHg7XHJcbiAgICBAZXh0ZW5kIC5idG4taG92ZXItc2hpbmU7XHJcbiAgfVxyXG59XHJcblxyXG5cclxuLyotIFZhcmlhYmxlIC0qL1xyXG4kdGFiLWJnLWNvbG9yOiB0cmFuc3BhcmVudDtcclxuJHRhYi1iZy1jb2xvci1ob3ZlcjogdHJhbnNwYXJlbnQ7XHJcbiR0YWItYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudDtcclxuJHRhYi1ib3JkZXItY29sb3ItaG92ZXI6IHRyYW5zcGFyZW50O1xyXG4kdGFiLWxpbmstY29sb3I6ICM2MzQ2MzQ7XHJcbiR0YWItbGluay1jb2xvci1ob3ZlcjogI2M4NjUyNDtcclxuJHRhYi1mb250c2l6ZTogMThweDtcclxuXHJcbiRuZXdzLWZpcnN0LXRpdGxlLWZvbnQtZmFtaWx5OiAnU0YnO1xyXG4kbmV3cy1maXJzdC1saW5rLWNvbG9yOiAjNjIyYzA4O1xyXG4kbmV3cy1maXJzdC1saW5rLWNvbG9yLWhvdmVyOiAjZDRhYzg5O1xyXG4kbmV3cy1saW5rLWNvbG9yOiAjNDkyOTE0O1xyXG4kbmV3cy1saW5rLWNvbG9yLWhvdmVyOiAjZDRhYzg5O1xyXG5cclxuJG5ld3MtZGVzLWNvbG9yOiAjNjIyYzA4O1xyXG5cclxuLm5ld3Mge1xyXG4gIG1hcmdpbjogMjVweCAwcHggNzBweCAtMTBweDtcclxuICB3aWR0aDogNTkxcHg7XHJcbiAgaGVpZ2h0OiA1ODFweDtcclxuICBwYWRkaW5nOiAzNXB4IDUwcHggMCA0NXB4O1xyXG4gIGJhY2tncm91bmQ6IHVybCguLi9pbWFnZXMvbmV3cy1mcmFtZS5wbmcpIG5vLXJlcGVhdDtcclxuICAmLXRhYiB7XHJcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xyXG4gICAgbWFyZ2luOiAwIDA7XHJcbiAgICBwYWRkaW5nLWJvdHRvbTogNHB4O1xyXG4gICAgbGkge1xyXG4gICAgICBmbG9hdDogbGVmdDtcclxuICAgICAgYSB7XHJcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICAgICAgZm9udC1mYW1pbHk6ICdyb2JvdG9zbGFiJztcclxuICAgICAgICBAaW5jbHVkZSB0ZXh0LWRlY29yKCR0YWItbGluay1jb2xvciwgJHRhYi1mb250c2l6ZSwgdXBwZXJjYXNlLCBjZW50ZXIsIGJvbGQpO1xyXG4gICAgICAgIGJhY2tncm91bmQ6ICR0YWItYmctY29sb3I7XHJcbiAgICAgICAgcGFkZGluZzogMCAxNXB4IDQwcHg7XHJcbiAgICAgICAgbGluZS1oZWlnaHQ6IDM2cHg7XHJcbiAgICAgICAgYm9yZGVyOiBub25lO1xyXG4gICAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlciBib3R0b207XHJcbiAgICAgICAgJi5hY3RpdmUsXHJcbiAgICAgICAgJjpob3ZlciB7XHJcbiAgICAgICAgICBjb2xvcjogJHRhYi1saW5rLWNvbG9yLWhvdmVyO1xyXG4gICAgICAgICAgYmFja2dyb3VuZDogdXJsKC4uL2ltYWdlcy9uZXdzLXRhYi1ob3Zlci5wbmcpIG5vLXJlcGVhdCBjZW50ZXIgYm90dG9tO1xyXG4gICAgICAgICAgLy8gYm9yZGVyOiBzb2xpZCAxcHggJHRhYi1ib3JkZXItY29sb3ItaG92ZXI7XHJcbiAgICAgICAgICBib3JkZXI6IG5vbmU7XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICAgIFxyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgLnRhYi1jb250ZW50IHtcclxuICAgIHBhZGRpbmc6IDEwcHggMDtcclxuICAgIGhlaWdodDogMjk1cHg7XHJcbiAgfVxyXG59XHJcblxyXG4vKi0gbmV3cyBsaXN0IC0qL1xyXG51bC5uZXdzLWxpc3Qge1xyXG4gIG1hcmdpbjogMDtcclxuICBsaSB7XHJcbiAgICB3aWR0aDogMTAwJTtcclxuICAgIG92ZXJmbG93OiBoaWRkZW47XHJcbiAgICBwYWRkaW5nOiAwIDAgNXB4IDA7XHJcbiAgICBtYXJnaW46IDAgMCA1cHggMDtcclxuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgICY6bm90KDpsYXN0LWNoaWxkKSB7XHJcbiAgICAgIGJvcmRlci1ib3R0b206IHNvbGlkIDFweCAjZDRhYzg5O1xyXG4gICAgfVxyXG5cclxuICAgICYuaGlnaGxpZ2h0IHtcclxuICAgICAgbWFyZ2luLWJvdHRvbTogMjBweDtcclxuICAgICAgYm9yZGVyOiBub25lO1xyXG4gICAgICAubmV3cy10aXRsZSB7XHJcbiAgICAgICAgZmxvYXQ6IGxlZnQ7XHJcbiAgICAgICAgd2lkdGg6IGNhbGMoMTAwJSAtIDEzMXB4KTtcclxuICAgICAgICBkaXNwbGF5OiBibG9jaztcclxuICAgICAgICBjb2xvcjogJG5ld3MtZmlyc3QtbGluay1jb2xvcjtcclxuICAgICAgICBmb250LWZhbWlseTogJG5ld3MtZmlyc3QtdGl0bGUtZm9udC1mYW1pbHk7XHJcbiAgICAgICAgZm9udC13ZWlnaHQ6IDYwMDtcclxuICAgICAgICAmOmhvdmVyIHtcclxuICAgICAgICAgIGNvbG9yOiAkbmV3cy1maXJzdC1saW5rLWNvbG9yLWhvdmVyO1xyXG4gICAgICAgICAgLm5ld3MtdGltZSB7XHJcbiAgICAgICAgICAgIGNvbG9yOiAkbmV3cy1maXJzdC1saW5rLWNvbG9yLWhvdmVyO1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgLm5ld3MtdGltZSB7XHJcbiAgICAgICAgICBjb2xvcjogJG5ld3MtZmlyc3QtbGluay1jb2xvcjtcclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAubmV3c19fdGh1bWIge1xyXG4gICAgICBmbG9hdDogbGVmdDtcclxuICAgICAgbWFyZ2luOiAycHggMTBweCAwIDFweDtcclxuICAgICAgaGVpZ2h0OiBhdXRvO1xyXG4gICAgICBcclxuICAgICAgaW1nIHtcclxuICAgICAgICBib3JkZXI6IDJweCBzb2xpZCAjM2MzNjVhO1xyXG4gICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgLm5ld3MtZGVzIHtcclxuICAgICAgd2lkdGg6IGNhbGMoMTAwJSAtIDEzMXB4KTtcclxuICAgICAgY29sb3I6ICRuZXdzLWRlcy1jb2xvcjtcclxuICAgICAgZmxvYXQ6IGxlZnQ7XHJcbiAgICAgIEBpbmNsdWRlIHRleHQtdHJ1bmNhdGUoMyk7XHJcbiAgICAgICY6OmFmdGVyIHtcclxuICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoLi4vaW1hZ2VzL2ljb24tc3RyaW5nLWN1dC5naWYpO1xyXG4gICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgLm5ld3MtdGl0bGUge1xyXG4gICAgICBjb2xvcjogJG5ld3MtbGluay1jb2xvcjtcclxuICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgICY6aG92ZXIsXHJcbiAgICAgICY6aG92ZXIgLm5ld3MtdGltZSB7XHJcbiAgICAgICAgY29sb3I6ICRuZXdzLWxpbmstY29sb3ItaG92ZXI7XHJcbiAgICAgIH1cclxuXHJcbiAgICAgIHNwYW4ge1xyXG4gICAgICAgIHdpZHRoOiBjYWxjKDEwMCUgLSA4MHB4KTtcclxuICAgICAgICB0ZXh0LW92ZXJmbG93OiBlbGxpcHNpcztcclxuICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xyXG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XHJcbiAgICAgIH1cclxuICAgIH1cclxuXHJcblxyXG4gICAgLm5ld3MtdGltZSB7XHJcbiAgICAgIGNvbG9yOiAkbmV3cy1saW5rLWNvbG9yO1xyXG4gICAgICBmb250LXNpemU6IDE0cHg7XHJcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgICAgcmlnaHQ6IDA7XHJcbiAgICAgIHRvcDogM3B4O1xyXG4gICAgICB0ZXh0LWFsaWduOiByaWdodDtcclxuICAgIH1cclxuICB9XHJcbn1cclxuXHJcbi5uZXdzLW1vcmUge1xyXG4gIGNvbG9yOiAjZWZmOWZkO1xyXG4gIGZsb2F0OiByaWdodDtcclxuICBtYXJnaW46IDBweCAwIDBweCAwO1xyXG4gIGJhY2tncm91bmQ6ICNhMzY3NDA7XHJcbiAgcGFkZGluZzogMCAzMHB4IDAgMTBweDtcclxuICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgbGluZS1oZWlnaHQ6IDI1cHg7XHJcbiAgZm9udC1zaXplOiAxNXB4O1xyXG4gICY6YWZ0ZXIge1xyXG4gICAgQGluY2x1ZGUgcG9zaXRpb24oYWJzb2x1dGUsIDBweCA1cHggbnVsbCBudWxsKTtcclxuICAgIGNvbnRlbnQ6ICcrJztcclxuICAgIGZvbnQtc2l6ZTogMjVweDtcclxuICAgIGxpbmUtaGVpZ2h0OiAuODtcclxuICB9XHJcbiAgJjpob3ZlciB7XHJcbiAgICBjb2xvcjogI2ZmZjtcclxuICAgIEBleHRlbmQgLmJ0bi1ob3Zlci16b29tO1xyXG4gICAgLy8gYmFja2dyb3VuZDogIzIxNDQ3MztcclxuICB9XHJcbn1cclxuXHJcblxyXG5cclxuLy8gQ2hhcmFjdGVyXHJcbi5jaGFyYWN0ZXIge1xyXG4gIHdpZHRoOiAxNDAwcHg7XHJcbiAgbWF4LXdpZHRoOiAxMDAlO1xyXG4gIHBhZGRpbmc6IDAgMDtcclxuICBtYXJnaW46IDAgYXV0byAxMTBweDtcclxuICAudGl0bGUge1xyXG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xyXG4gICAgQGluY2x1ZGUgbWFyZ2luKDAgMCAzMHB4IDApO1xyXG5cclxuICAgIEBpbmNsdWRlIG1xLW1heCg3NjhweCkge1xyXG4gICAgICBpbWcge1xyXG4gICAgICAgIG1heC13aWR0aDogODAlXHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcbiAgJi1pbmZvIHtcclxuICAgIEBpbmNsdWRlIHBvc2l0aW9uKGFic29sdXRlLCA4MHB4ICA0ODVweCBudWxsIG51bGwpO1xyXG4gICAgd2lkdGg6IDM5MHB4O1xyXG4gIH1cclxuICAmLW5hbWUge1xyXG4gICBcclxuICB9XHJcbiAgJi1pbnRybyB7XHJcbiAgICBAaW5jbHVkZSB0ZXh0LWRlY29yKCM4NjRkMmMsIDIwcHgsIG51bGwgLCBpbml0aWFsLCA2MDApO1xyXG4gICAgbWFyZ2luOiAwIDAgMjBweDtcclxuICAgIGZvbnQtZmFtaWx5OiB1dm5odW9uZ3F1ZTtcclxuICB9XHJcbiAgJi1jYXRlIHtcclxuICAgIGZvbnQtZmFtaWx5OiB1dm5odW9uZ3F1ZTtcclxuICAgIGZvbnQtc2l6ZTogMzZweDtcclxuICAgIGNvbG9yOiAjNjU0ODM1O1xyXG4gICAgd2lkdGg6IDI2MHB4O1xyXG4gICAgcGFkZGluZzogMCAwIDAgMHB4O1xyXG4gICAgbWFyZ2luOiAwIGF1dG8gMjBweDtcclxuICAgIGxpbmUtaGVpZ2h0OiA1MHB4O1xyXG4gICAgaW1nIHtcclxuICAgICAgbWFyZ2luOiAwIDVweCAtMTVweCAwO1xyXG4gICAgfVxyXG4gIH1cclxuICAmLXNraWxscyB7XHJcbiAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1hcm91bmQ7XHJcbiAgICBtYXJnaW4tYm90dG9tOiAzMHB4O1xyXG4gICAgbGkge1xyXG4gICAgICBjdXJzb3I6IHBvaW50ZXI7XHJcbiAgICAgIG1hcmdpbjogMCAwcHg7XHJcbiAgICAgIHBhZGRpbmc6IDdweDtcclxuICAgICAgd2lkdGg6IDk1cHg7XHJcbiAgICAgIGhlaWdodDogOTVweDtcclxuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgICBiYWNrZ3JvdW5kOiB1cmwoLi4vaW1hZ2VzL2NoaWVuYmluaC1za2lsbC1iZy5wbmcpIG5vLXJlcGVhdCAwIDA7XHJcbiAgICAgIGltZyB7XHJcbiAgICAgICAgYm9yZGVyLXJhZGl1czogNTAlO1xyXG4gICAgICB9XHJcbiAgICAgIC50b29sdGlwIHtcclxuICAgICAgICB3aWR0aDogMjUwcHg7XHJcbiAgICAgICAgcGFkZGluZzogMTBweDtcclxuICAgICAgICBAaW5jbHVkZSBlZmZlY3QtZ3JhZGllbnQtbGluZWFyKDE4MGRlZywgI2Y2ZTBjZSAsICNmNmUwY2UpO1xyXG4gICAgICAgIGJvcmRlcjogc29saWQgMXB4ICM4YTUyMmQ7XHJcbiAgICAgICAgQGluY2x1ZGUgcG9zaXRpb24oYWJzb2x1dGUsIDEwMCUgbnVsbCBudWxsIC0zcHgpO1xyXG4gICAgICAgIHRleHQtYWxpZ246IGxlZnQ7XHJcbiAgICAgICAgYm9yZGVyLXJhZGl1czogMTBweDtcclxuICAgICAgICB6LWluZGV4OiA1O1xyXG4gICAgICAgIHZpc2liaWxpdHk6IGhpZGRlbjtcclxuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTIwcHgpO1xyXG4gICAgICAgIHRyYW5zaXRpb246IGFsbCAwLjJzO1xyXG4gICAgICAgIG9wYWNpdHk6IDA7XHJcbiAgICAgICAgY29sb3I6ICM2NTQ4MzU7XHJcbiAgICAgIH1cclxuICAgICAgJjpudGgtY2hpbGQoNCkge1xyXG4gICAgICAgIC50b29sdGlwIHtcclxuICAgICAgICAgIGxlZnQ6IC03MHB4O1xyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgICAmOmhvdmVyIHtcclxuICAgICAgICAudG9vbHRpcCB7XHJcbiAgICAgICAgICB2aXNpYmlsaXR5OiB2aXNpYmxlO1xyXG4gICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApO1xyXG4gICAgICAgICAgb3BhY2l0eTogMTtcclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcblxyXG4gICYtYmxvY2sge1xyXG4gICAgd2lkdGg6IDEwMCU7XHJcbiAgICBtYXgtd2lkdGg6IDEwMCU7XHJcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICBtYXJnaW4tdG9wOiAtNDBweDtcclxuICAgIC5jaGllbmJpbmgtaW1nIHtcclxuICAgICAgbWFyZ2luOiAwIDAgMCAtNDVweDtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIC5iZXN0c2tpbGwge1xyXG4gICAgZm9udC1mYW1pbHk6IHV2bmh1b25ncXVlO1xyXG4gICAgZm9udC1zaXplOiAzNnB4O1xyXG4gICAgY29sb3I6ICM2NTQ4MzU7XHJcbiAgICBwYWRkaW5nOiAwIDAgMDtcclxuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcclxuICAgIG1hcmdpbjogMCBhdXRvIDIwcHg7XHJcbiAgICBsaW5lLWhlaWdodDogNTBweDtcclxuICAgIFxyXG4gIH1cclxuXHJcbiAgLnNsaWRlci1zaW5nbGUtdG9wIHtcclxuICAgIC54ZW10aGVtLWJ0biB7XHJcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbiAgICAgICY6aG92ZXIge1xyXG4gICAgICAgIGZpbHRlcjogYnJpZ2h0bmVzcygxMzAlKTtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxuICAuc2xpZGVyLW5hdiB7XHJcbiAgICBAaW5jbHVkZSBwb3NpdGlvbihhYnNvbHV0ZSwgNTBweCA5MHB4IG51bGwgbnVsbCk7XHJcbiAgICB6LWluZGV4OiAyO1xyXG4gICAgZGlzcGxheTogZmxleDtcclxuICAgIHdpZHRoOiAzMDBweDtcclxuICAgIFxyXG4gICAgaW1nIHtcclxuICAgICAgZmlsdGVyOiBncmF5O1xyXG4gICAgICAvKiBJRTYtOSAqL1xyXG4gICAgICAtd2Via2l0LWZpbHRlcjogZ3JheXNjYWxlKDEpO1xyXG4gICAgICAvKiBHb29nbGUgQ2hyb21lLCBTYWZhcmkgNisgJiBPcGVyYSAxNSsgKi9cclxuICAgICAgZmlsdGVyOiBncmF5c2NhbGUoMSk7XHJcbiAgICAgIC8qIE1pY3Jvc29mdCBFZGdlIGFuZCBGaXJlZm94IDM1KyAqL1xyXG4gICAgICBjdXJzb3I6IHBvaW50ZXI7XHJcbiAgICB9XHJcblxyXG4gICAgLyogRGlzYWJsZSBncmF5c2NhbGUgb24gaG92ZXIgKi9cclxuICAgIGltZzpob3ZlciB7XHJcbiAgICAgIC13ZWJraXQtZmlsdGVyOiBncmF5c2NhbGUoMCk7XHJcbiAgICAgIGZpbHRlcjogbm9uZTtcclxuICAgIH1cclxuXHJcbiAgICAuc3dpcGVyLXNsaWRlLXRodW1iLWFjdGl2ZSB7XHJcbiAgICAgIGltZzpsYXN0LWNoaWxkIHtcclxuICAgICAgICAtd2Via2l0LWZpbHRlcjogZ3JheXNjYWxlKDApO1xyXG4gICAgICAgIGZpbHRlcjogbm9uZTtcclxuICAgICAgICBvcGFjaXR5OiAxO1xyXG4gICAgICAgIHZpc2liaWxpdHk6IHZpc2libGU7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICAgIC5zd2lwZXItc2xpZGUge1xyXG4gICAgICAmOm50aC1jaGlsZCgyKSB7XHJcbiAgICAgICAgdG9wOiAtMzBweDtcclxuICAgICAgICBsZWZ0OiA3MHB4O1xyXG4gICAgICB9XHJcbiAgICAgICY6bnRoLWNoaWxkKDMpIHtcclxuICAgICAgICB0b3A6IC00NXB4O1xyXG4gICAgICAgIGxlZnQ6IDExNXB4O1xyXG4gICAgICB9XHJcbiAgICAgICY6bnRoLWNoaWxkKDQpIHtcclxuICAgICAgICB0b3A6IC01NXB4O1xyXG4gICAgICAgIGxlZnQ6IDEzMHB4O1xyXG4gICAgICB9XHJcbiAgICAgICY6bnRoLWNoaWxkKDUpIHtcclxuICAgICAgICB0b3A6IC02N3B4O1xyXG4gICAgICAgIGxlZnQ6IDExMHB4O1xyXG4gICAgICB9XHJcbiAgICAgICY6bnRoLWNoaWxkKDYpIHtcclxuICAgICAgICB0b3A6IC04NXB4O1xyXG4gICAgICAgIGxlZnQ6IDYwcHg7XHJcbiAgICAgIH1cclxuICAgICAgJjpudGgtY2hpbGQoNykge1xyXG4gICAgICAgIHRvcDogLTExMHB4O1xyXG4gICAgICAgIGxlZnQ6IDBweDtcclxuICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIFxyXG4gIH1cclxuICAvKi0tLSBuYXYgLS0tKi9cclxuICAubmF2LWJ1dHRvbi1wcmV2IHtcclxuICAgIHdpZHRoOiAyNXB4O1xyXG4gICAgaGVpZ2h0OiAzNXB4O1xyXG4gICAgYmFja2dyb3VuZDogdXJsKC4uL2ltYWdlcy9uYXYtYnV0dG9uLXByZXYucG5nKSBuby1yZXBlYXQ7XHJcbiAgICBjdXJzb3I6IHBvaW50ZXI7XHJcbiAgICB6LWluZGV4OiA2O1xyXG4gICAgQGluY2x1ZGUgcG9zaXRpb24oYWJzb2x1dGUsIDEwNHB4IG51bGwgbnVsbCAtMzBweCk7XHJcbiAgICAmOmhvdmVyIHtcclxuICAgICAgYmFja2dyb3VuZDogdXJsKC4uL2ltYWdlcy9uYXYtYnV0dG9uLXByZXYtaG92ZXIucG5nKSBuby1yZXBlYXQ7XHJcbiAgICB9XHJcbiAgfVxyXG4gIC5uYXYtYnV0dG9uLW5leHQgeyBcclxuICAgIEBleHRlbmQgLm5hdi1idXR0b24tcHJldjtcclxuICAgIGxlZnQ6IDM3MHB4O1xyXG4gICAgdHJhbnNmb3JtOiByb3RhdGUoLTE4MGRlZyk7XHJcbiAgfVxyXG4gIC8qLS0tIG5hdiAtLS0qL1xyXG4gIC5uYXYtYnV0dG9uLXByZXYge1xyXG4gICAgd2lkdGg6IDI1cHg7XHJcbiAgICBoZWlnaHQ6IDM1cHg7XHJcbiAgICBiYWNrZ3JvdW5kOiB1cmwoLi4vaW1hZ2VzL25hdi1idXR0b24tcHJldi5wbmcpIG5vLXJlcGVhdDtcclxuICAgIGN1cnNvcjogcG9pbnRlcjtcclxuICAgIHotaW5kZXg6IDY7XHJcbiAgICBAaW5jbHVkZSBwb3NpdGlvbihhYnNvbHV0ZSwgMTA0cHggbnVsbCBudWxsIC0zMHB4KTtcclxuICAgICY6aG92ZXIge1xyXG4gICAgICBiYWNrZ3JvdW5kOiB1cmwoLi4vaW1hZ2VzL25hdi1idXR0b24tcHJldi1ob3Zlci5wbmcpIG5vLXJlcGVhdDtcclxuICAgIH1cclxuICB9XHJcbiAgLm5hdi1idXR0b24tbmV4dCB7IFxyXG4gICAgQGV4dGVuZCAubmF2LWJ1dHRvbi1wcmV2O1xyXG4gICAgbGVmdDogMzcwcHg7XHJcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZSgtMTgwZGVnKTtcclxuICB9XHJcblxyXG4gIC8qLS0tIGNoYXIgbmF2IC0tLSovXHJcbiAgLmNoYXItYnV0dG9uLXByZXYge1xyXG4gICAgd2lkdGg6IDgwcHg7XHJcbiAgICBoZWlnaHQ6IDc5cHg7XHJcbiAgICBiYWNrZ3JvdW5kOiB1cmwoLi4vaW1hZ2VzL2NoYXItYnV0dG9uLXByZXYucG5nKSBuby1yZXBlYXQ7XHJcbiAgICBjdXJzb3I6IHBvaW50ZXI7XHJcbiAgICB6LWluZGV4OiA2O1xyXG4gICAgQGluY2x1ZGUgcG9zaXRpb24oYWJzb2x1dGUsIDY1JSBudWxsIG51bGwgNiUpO1xyXG4gICAgJjpob3ZlciB7XHJcbiAgICAgIGJhY2tncm91bmQ6IHVybCguLi9pbWFnZXMvY2hhci1idXR0b24tcHJldi1ob3Zlci5wbmcpIG5vLXJlcGVhdDtcclxuICAgIH1cclxuICB9XHJcbiAgLmNoYXItYnV0dG9uLW5leHQge1xyXG4gICAgQGV4dGVuZCAuY2hhci1idXR0b24tcHJldjtcclxuICAgIGxlZnQ6IDE1JTtcclxuICAgIHRyYW5zZm9ybTogcm90YXRlKC0xODBkZWcpO1xyXG4gIH1cclxuXHJcbn1cclxuXHJcbi8vIENvdCB0cnV5ZW5cclxuLmNvdHRydXllbi10YWIge1xyXG4gIGRpc3BsYXk6IGZsZXg7XHJcbiAganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0O1xyXG4gIHBhZGRpbmc6IDEwcHggNjBweCAxMHB4IDMwcHg7XHJcbiAgbWFyZ2luOiAtNDBweCBhdXRvIDA7XHJcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gIHotaW5kZXg6IDI7XHJcbiAgXHJcbiAgbGkge1xyXG4gICAgJjpub3QoOmxhc3QtY2hpbGQpIHtcclxuICAgICAgbWFyZ2luLXJpZ2h0OiA3cHg7XHJcbiAgICB9XHJcbiAgICBhIHtcclxuICAgICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICAgIHBhZGRpbmc6IDAgMHB4O1xyXG5cclxuICAgICAgLy8gQGluY2x1ZGUgdGV4dC1kZWNvcigjZjdmZmZkLCAxOHB4LCBjYXBpdGFsaXplLCBjZW50ZXIsIGJvbGQpO1xyXG4gICAgICAvLyBmb250LWZhbWlseTogcm9ib3Rvc2xhYi1yZWd1bGFyO1xyXG4gICAgICAvLyBiYWNrZ3JvdW5kOiB1cmwoLi4vaW1hZ2VzL3RhYi1iZy5wbmcpIG5vLXJlcGVhdDtcclxuICAgICAgaW1nIHtcclxuICAgICAgICBmaWx0ZXI6IGdyYXlzY2FsZSgxKTtcclxuICAgICAgICB0cmFuc2l0aW9uOiBhbGwgMC4ycztcclxuICAgICAgfVxyXG4gICAgICBtYXJnaW46IDAgYXV0bztcclxuICAgICAgJi5hY3RpdmUsXHJcbiAgICAgICY6aG92ZXIge1xyXG4gICAgICAgIGltZyB7XHJcbiAgICAgICAgICBmaWx0ZXI6IGdyYXlzY2FsZSgwKTtcclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcblxyXG59XHJcbi5jb3R0cnV5ZW4tY29udGVudCB7XHJcbiAgd2lkdGg6IDEyMDBweDtcclxuICBoZWlnaHQ6IDYwMHB4O1xyXG4gIGJhY2tncm91bmQ6IHVybCguLi9pbWFnZXMvY290dHJ1eWVuLWNvbnRlbnQtYmcucG5nKSBuby1yZXBlYXQgMCAwO1xyXG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICBwYWRkaW5nOiA2MHB4IDEyMHB4IDAgNjIwcHg7XHJcbiAgbWFyZ2luOiAwIGF1dG8gMHB4O1xyXG4gIGNvbG9yOiAjN2UzNTEwO1xyXG4gIGZvbnQtc2l6ZTogMThweDtcclxuICBwIHtcclxuICAgIG1hcmdpbjogIDAgMCAxMHB4O1xyXG4gIH1cclxuICAuY290dHJ1eWVuLW5hbWUge1xyXG4gICAgZm9udC1mYW1pbHk6ICdodW9uZ3F1ZW5hbmcnO1xyXG4gICAgQGluY2x1ZGUgdGV4dC1kZWNvcigjNmY0MzJjLCAzNnB4LCB1cHBlcmNhc2UpO1xyXG4gICAgYmFja2dyb3VuZDogdXJsKC4uL2ltYWdlcy9jb3R0cnV5ZW4tbGluZS5naWYpIG5vLXJlcGVhdCBsZWZ0IDYzJTtcclxuICAgIHBhZGRpbmc6IDAgMCA1cHg7XHJcbiAgICBtYXJnaW46IDAgMCAxMHB4O1xyXG4gICAgLmNvdHRydXllbi1pY29uIHtcclxuICAgICAgbWFyZ2luOiAwIDEwcHggLTEwcHggMDtcclxuICAgIH1cclxuICAgIC5zdWIge1xyXG4gICAgICBkaXNwbGF5OiBibG9jaztcclxuICAgICAgZm9udC1mYW1pbHk6ICd1dm5odW9uZ3F1ZSc7XHJcbiAgICAgIGZvbnQtc2l6ZTogMzBweDtcclxuICAgICAgdGV4dC10cmFuc2Zvcm06IGNhcGl0YWxpemU7XHJcbiAgICAgIHRleHQtYWxpZ246IHJpZ2h0O1xyXG4gICAgICBwYWRkaW5nOiAwcHggMCAwIDA7XHJcbiAgICB9XHJcbiAgfVxyXG4gIC5jb3R0cnV5ZW4tc2Nyb2xsIHtcclxuICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgaGVpZ2h0OiA0NzBweDtcclxuICAgIG92ZXJmbG93OiBhdXRvO1xyXG4gICAgcGFkZGluZzogMTBweCA1MHB4IDEwcHggMzBweDtcclxuICAgIHRleHQtYWxpZ246IGp1c3RpZnk7XHJcbiAgfVxyXG4gIC5jb3R0cnV5ZW4tdGh1bWIge1xyXG4gICAgQGluY2x1ZGUgcG9zaXRpb24oYWJzb2x1dGUsIDY5cHggbnVsbCBudWxsIC0xNTBweCk7XHJcbiAgICAvLyBib3JkZXI6IHNvbGlkIDEwcHggI2ZmZjtcclxuICAgIC8vIGJveC1zaGFkb3c6IDEzcHggMTBweCAwcHggMHB4IHJnYmEoMCwwLDAsMC4zKTtcclxuICAgIC8vIHRyYW5zZm9ybTogcm90YXRlKC0xODBkZWcpO1xyXG4gICAgdHJhbnNpdGlvbjogYWxsIDAuM3M7XHJcbiAgICBvcGFjaXR5OiAwOyAgICBcclxuICB9XHJcbiAgLmFjdGl2ZSB7XHJcbiAgICAuY290dHJ1eWVuLXRodW1iIHtcclxuICAgICAgbGVmdDogMTYwcHg7XHJcbiAgICAgIC8vIHRyYW5zZm9ybTogcm90YXRlKC0xMGRlZyk7XHJcbiAgICAgIG9wYWNpdHk6IDE7XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcblxyXG4vKi0tLSBEYWMgc2FjIC0tLSovXHJcbi5mbGlwc3RlciB7XHJcbiAgbWFyZ2luOiAwcHggMCA1MHB4IDAgIWltcG9ydGFudDtcclxuICBvdmVyZmxvdzogaGlkZGVuICFpbXBvcnRhbnQ7XHJcbiAgLmZsaXBzdGVyX19jb250YWluZXIge1xyXG4gICAgcGFkZGluZzogNTBweCAwO1xyXG4gIH1cclxuXHJcbiAgdWwgbGkgaW1nIHtcclxuICAgIC8vIGJvcmRlcjogc29saWQgMXB4ICMyMTQ5NzQ7XHJcbiAgfVxyXG5cclxuICAuZmxpcHN0ZXJfX2l0ZW1fX2NvbnRlbnQge1xyXG4gICAgcGFkZGluZzogMTBweCAyNXB4O1xyXG4gICAgaW1nIHtcclxuICAgICAgb3BhY2l0eTogLjc7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICAuZmxpcHN0ZXJfX2l0ZW0tLWN1cnJlbnQge1xyXG4gICAgaW1nIHtcclxuICAgICAgb3BhY2l0eTogMTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIC5mbGlwc3Rlcl9faXRlbSB7XHJcbiAgICBmaWx0ZXI6IGJsdXIoMnB4KTtcclxuICB9XHJcblxyXG4gIC5mbGlwc3Rlcl9faXRlbS5mbGlwc3Rlcl9faXRlbS0tY3VycmVudCB7XHJcbiAgICBmaWx0ZXI6IGJsdXIoMHB4KTtcclxuICB9XHJcblxyXG4gIC5mbGlwc3Rlcl9fYnV0dG9uLS1wcmV2IHtcclxuICAgIGxlZnQ6IDIwMHB4O1xyXG4gICAgb3BhY2l0eTogMTtcclxuICB9XHJcbiAgLmZsaXBzdGVyX19idXR0b24tLW5leHQge1xyXG4gICAgcmlnaHQ6IDIwMHB4O1xyXG4gICAgb3BhY2l0eTogMTtcclxuICB9XHJcbn1cclxuXHJcblxyXG4uZmxvYXRpbmcge1xyXG4gIHdpZHRoOiAxNDBweDtcclxuICBoZWlnaHQ6IDM4MHB4O1xyXG4gIEBpbmNsdWRlIHBvc2l0aW9uKGZpeGVkLCA1MCUgMHB4IG51bGwgbnVsbCk7XHJcbiAgYmFja2dyb3VuZDogdXJsKC4uL2ltYWdlcy9mbG9hdGluZy1iZy5wbmcpIG5vLXJlcGVhdDtcclxuICB6LWluZGV4OiAxMDtcclxuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSk7XHJcbiAgcGFkZGluZzogMHB4IDAgMCAxOHB4O1xyXG5cclxuICBhIHtcclxuICAgIGRpc3BsYXk6IGJsb2NrO1xyXG5cclxuICB9XHJcbiAgLnFyY29kZSB7XHJcbiAgICBtYXJnaW46IDAgMCAxNXB4IDA7XHJcbiAgfVxyXG4gIC50b3Age1xyXG4gICAgbWFyZ2luLWJvdHRvbTogMTBweDtcclxuICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gIH1cclxufVxyXG5cclxuLyotLS0gU3ViIHBhZ2UgLS0tKi9cclxuXHJcbiRtYWluY29udGVudC1uZXdzLWxpbmstY29sb3I6ICNhZjJlMjM7XHJcbiRtYWluY29udGVudC1uZXdzLWxpbmstY29sb3ItaG92ZXI6ICMxMzA4NTY7XHJcbiRtYWluY29udGVudC1uZXdzLWRlcy1jb2xvcjogIzQ3NDM2MTtcclxuJG1haW5jb250ZW50LW5ld3MtZGVzLWNvbG9yLWhvdmVyOiAjMTMwODU2O1xyXG5cclxuLm1haW4tY29udGVudCB7XHJcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gIHBhZGRpbmc6IDAgODBweCAyMDBweDtcclxuICBtYXJnaW4tYm90dG9tOiAyMHB4O1xyXG4gIG1pbi1oZWlnaHQ6IDEyMDBweDsgIFxyXG4gIC5uZXdzLWxpc3Qge1xyXG4gICAgbGkge1xyXG4gICAgICBwYWRkaW5nOiAwIDAgMTVweCAwO1xyXG4gICAgICBtYXJnaW46IDAgMCAxNXB4IDA7XHJcbiAgICAgIGJvcmRlci1ib3R0b206IHNvbGlkIDFweCAjYzBjNGNmICFpbXBvcnRhbnQ7XHJcbiAgICB9XHJcbiAgICBcclxuICAgIC5oaWdobGlnaHQge1xyXG4gICAgICAubmV3cy1kZXMge1xyXG4gICAgICAgIGNvbG9yOiAkbWFpbmNvbnRlbnQtbmV3cy1kZXMtY29sb3I7XHJcbiAgICAgICAgJjpob3ZlciB7XHJcbiAgICAgICAgICBjb2xvcjogJG1haW5jb250ZW50LW5ld3MtZGVzLWNvbG9yLWhvdmVyO1xyXG4gICAgICAgIH1cclxuICAgICAgICAmOmJlZm9yZSxcclxuICAgICAgICAmOmFmdGVyIHtcclxuICAgICAgICAgIC8vIGJhY2tncm91bmQ6ICMxODFkMzA7XHJcbiAgICAgICAgfVxyXG4gICAgICB9IFxyXG4gICAgICAubmV3cy10aXRsZSB7XHJcbiAgICAgICAgY29sb3I6ICRtYWluY29udGVudC1uZXdzLWxpbmstY29sb3I7XHJcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogNXB4O1xyXG4gICAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7XHJcbiAgICAgICAgQGluY2x1ZGUgdGV4dC10cnVuY2F0ZSgzKTtcclxuICAgICAgICAubmV3cy10aW1lIHtcclxuICAgICAgICAgIGNvbG9yOiAkbWFpbmNvbnRlbnQtbmV3cy1saW5rLWNvbG9yO1xyXG4gICAgICAgIH1cclxuICAgICAgICAmOmhvdmVyIHtcclxuICAgICAgICAgIGNvbG9yOiAkbWFpbmNvbnRlbnQtbmV3cy1saW5rLWNvbG9yLWhvdmVyO1xyXG4gICAgICAgICAgLm5ld3MtdGltZSB7XHJcbiAgICAgICAgICAgIGNvbG9yOiAkbWFpbmNvbnRlbnQtbmV3cy1saW5rLWNvbG9yLWhvdmVyO1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxufVxyXG4uc3RhdGljIHtcclxuICBvdmVyZmxvdzogaGlkZGVuO1xyXG4gIHBhZGRpbmc6IDMwcHggMCAwIDA7XHJcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gIG1hcmdpbi1ib3R0b206IDMwcHg7XHJcbiAgXHJcbiAgLmljb24tc3RhdGljIHtcclxuICAgIGZsb2F0OiBsZWZ0O1xyXG4gICAgbWFyZ2luLXJpZ2h0OiA1cHg7XHJcbiAgfVxyXG5cclxuICAuZmEtaG9tZSB7XHJcbiAgICBtYXJnaW46IDAgNXB4IDAgMDtcclxuICB9XHJcblxyXG4gIGgyIHtcclxuICAgIGZvbnQtc2l6ZTogMjVweDtcclxuICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xyXG4gICAgY29sb3I6ICMzODFlMGI7XHJcbiAgICBtYXJnaW46IDEwcHggMCAycHggNXB4O1xyXG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcclxuICB9XHJcblxyXG59XHJcbi5icmVhZGNydW1iLS1tYWluIHtcclxuICBmb250LXNpemU6IDE2cHg7XHJcbiAgY29sb3I6ICM0NzQzNjE7XHJcbiAgYSB7XHJcbiAgICBjb2xvcjogIzQ3NDM2MTtcclxuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcclxuXHJcbiAgICAmOmhvdmVyIHtcclxuICAgICAgY29sb3I6ICM5NzMzMjI7XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcblxyXG5cclxuLyotLS0gUmVsYXRlIE5ld3MgTGlzdCAtLS0qL1xyXG4ucmVsYXRpdmUge1xyXG4gIHBhZGRpbmctdG9wOiA5cHg7XHJcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xyXG5cclxuICAmLXRpdGxlIGEge1xyXG4gICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICBtYXJnaW46IDAgMCAxMHB4O1xyXG4gICAgcGFkZGluZzogMTBweDtcclxuICAgIEBpbmNsdWRlIHRleHQtZGVjb3IoI2ZmZiwgMThweCwgdXBwZXJjYXNlLCBsZWZ0LCBib2xkKTtcclxuICAgIEBpbmNsdWRlIGVmZmVjdC1ncmFkaWVudC1saW5lYXIoOTBkZWcsICMwYzMxMzgsICMwYzMxMzgpO1xyXG5cclxuICAgICY6YmVmb3JlIHtcclxuICAgICAgZm9udC1zaXplOiAzNXB4O1xyXG4gICAgICBjb250ZW50OiBcIlxcMDAyYlwiO1xyXG4gICAgICBmb250LWZhbWlseTogJ0dseXBoaWNvbnNIYWxmbGluZ3MnO1xyXG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICAgIHRvcDogLTNweDtcclxuICAgICAgcmlnaHQ6IDE1cHg7XHJcbiAgICAgIGNvbG9yOiAjZmZmO1xyXG4gICAgfVxyXG5cclxuICAgICY6aG92ZXIge1xyXG4gICAgICBjb2xvcjogI2M3ZDNlMjtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIHVsLnJlbGF0aXZlLWxpc3Qge1xyXG4gICAgbGlzdC1zdHlsZTogbm9uZTtcclxuICAgIHRleHQtYWxpZ246IGxlZnQ7XHJcbiAgICBwYWRkaW5nOiA1cHggMHB4IDA7XHJcbiAgICBtYXJnaW46IDAgMCAwIDIwcHg7XHJcblxyXG4gICAgbGkge1xyXG4gICAgICBsaXN0LXN0eWxlOiBub25lO1xyXG4gICAgICBib3JkZXItYm90dG9tOiAxcHggZG90dGVkICM2MTg0YTg7XHJcbiAgICAgIHBhZGRpbmc6IDEycHggMCAxMHB4IDVweDtcclxuICAgICAgbWFyZ2luLWxlZnQ6IDBweDtcclxuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgICBjb2xvcjogIzU4NjY3MztcclxuICAgICAgJjpsYXN0LWNoaWxkIHtcclxuICAgICAgICBib3JkZXItYm90dG9tOiBub25lO1xyXG4gICAgICB9XHJcblxyXG4gICAgICBhIHtcclxuICAgICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcclxuICAgICAgICBjb2xvcjogIzU4NjY3MztcclxuICAgICAgICAmOmhvdmVyIHtcclxuICAgICAgICAgIGNvbG9yOiAjNmM3ZWIzO1xyXG4gICAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgc3BhbiB7XHJcbiAgICAgICAgICBkaXNwbGF5OiBibG9jaztcclxuICAgICAgICAgIEBpbmNsdWRlIHRleHQtdHJ1bmNhdGUoMSk7XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcblxyXG4gICAgICAuZGF0ZSB7XHJcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICAgICAgQGluY2x1ZGUgdGV4dC1kZWNvcigjNTk1NDY3LCAxNHB4KTtcclxuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbiAgICAgICAgcGFkZGluZy1sZWZ0OiA0MHB4O1xyXG4gICAgICAgIGxpbmUtaGVpZ2h0OiAyMXB4O1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcblxyXG4vKiBQYWdpbmcgKi9cclxuLnBhZ2luZyB7XHJcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xyXG4gIHBhZGRpbmctYm90dG9tOiAyNXB4O1xyXG59XHJcbnVsLnBhZ2VfX2xpc3Qge1xyXG4gIHBhZGRpbmc6IDIwcHggMCAwICFpbXBvcnRhbnQ7XHJcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xyXG4gIGxpIHtcclxuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jayAhaW1wb3J0YW50O1xyXG4gICAgcGFkZGluZzogMCAycHggIWltcG9ydGFudDtcclxuICAgIG1hcmdpbjogMCAhaW1wb3J0YW50O1xyXG5cclxuICAgIGEge1xyXG4gICAgICBjb2xvcjogIzQ3NDM2MSAhaW1wb3J0YW50O1xyXG4gICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmUgIWltcG9ydGFudDtcclxuICAgICAgZm9udC1zaXplOiAxNXB4O1xyXG4gICAgICBib3JkZXI6IDFweCBzb2xpZCAjMjg2NzdlO1xyXG4gICAgICBkaXNwbGF5OiBibG9jaztcclxuICAgICAgcGFkZGluZzogMCAxMHB4O1xyXG4gICAgICBsaW5lLWhlaWdodDogMjRweDtcclxuXHJcbiAgICAgICY6aG92ZXIge1xyXG4gICAgICAgIGNvbG9yOiAjZmZmICFpbXBvcnRhbnQ7XHJcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzI4Njc3ZTtcclxuICAgICAgICBib3JkZXI6IDFweCBzb2xpZCAjMjg2NzdlO1xyXG4gICAgICB9XHJcblxyXG4gICAgICAmLmRpc2FibGUsXHJcbiAgICAgICY6aG92ZXIgLmRpc2FibGUge1xyXG4gICAgICAgIG9wYWNpdHk6IDAuNjtcclxuICAgICAgICBjdXJzb3I6IGRlZmF1bHQ7XHJcbiAgICAgICAgYmFja2dyb3VuZDogbm9uZTtcclxuICAgICAgICBib3JkZXI6IDFweCBzb2xpZCAjMjg2NzdlO1xyXG4gICAgICAgIGNvbG9yOiAjMjg2NzdlICFpbXBvcnRhbnQ7XHJcbiAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAmLmFjdGl2ZSBhIHtcclxuICAgICAgY29sb3I6ICNmZmYgIWltcG9ydGFudDtcclxuICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzI4Njc3ZTtcclxuICAgICAgYm9yZGVyOiAxcHggc29saWQgIzI4Njc3ZTtcclxuICAgIH1cclxuXHJcbiAgICAmLnByZXYgYSxcclxuICAgICYubmV4dCBhIHtcclxuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG4gICAgICBwYWRkaW5nOiAwIDEwcHg7XHJcbiAgICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XHJcbiAgICAgIHdpZHRoOiAyNnB4O1xyXG4gICAgICBoZWlnaHQ6IDI2cHg7XHJcbiAgICAgIG1hcmdpbjogLTJweCAwIDAgMDtcclxuICAgIH1cclxuICB9XHJcbn1cclxuXHJcbi8qLS0tIFBvcHVwIC0tLSovXHJcbi5wb3B1cCB7XHJcbiAgdmlzaWJpbGl0eTogaGlkZGVuO1xyXG4gIHBvc2l0aW9uOiBmaXhlZDtcclxuICB0b3A6IDAlO1xyXG4gIGxlZnQ6IDUwJTtcclxuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTUwJSk7XHJcbiAgei1pbmRleDogMTAwMTtcclxuICBvcGFjaXR5OiAwO1xyXG4gICYuYWN0aXZlIHtcclxuICAgIHZpc2liaWxpdHk6IHZpc2libGU7XHJcbiAgICBvcGFjaXR5OiAxO1xyXG4gICAgdHJhbnNpdGlvbjogYWxsIDAuNXM7XHJcbiAgICAvLyBhbmltYXRpb246IGdyb3dJbiAwLjVzIGVhc2UtaW4tb3V0O1xyXG4gICAgLy8gLXdlYmtpdC1hbmltYXRpb246IGdyb3dJbiAwLjVzIGVhc2UtaW4tb3V0O1xyXG4gIH1cclxuICAmLWNsb3NlIHtcclxuICAgIHBhZGRpbmc6IDIwcHg7XHJcbiAgICBkaXNwbGF5OiBibG9jaztcclxuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgIHJpZ2h0OiAwO1xyXG4gICAgdG9wOiAwO1xyXG4gICAgZm9udC1zaXplOiAzMHB4O1xyXG4gICAgJjpob3ZlciB7XHJcbiAgICAgIGZpbHRlcjogYnJpZ2h0bmVzcygxNTAlKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gICYtY29udGVudCB7XHJcblxyXG4gIH1cclxufVxyXG5cclxuLnBvcHVwLWdpZnRjb2RlIHtcclxuICB3aWR0aDogNTMycHg7XHJcbiAgaGVpZ2h0OiA3NDZweDtcclxuICBtYXgtd2lkdGg6IDEwMCU7XHJcbiAgYmFja2dyb3VuZDogdXJsKC4uL2ltYWdlcy9wb3B1cC1iZy5wbmcpIG5vLXJlcGVhdCBjZW50ZXIgY2VudGVyLzEwMCUgMTAwJTtcclxuICAvLyBib3JkZXI6IHNvbGlkIDNweCAjYzdiNzgwO1xyXG4gIGJvcmRlci1yYWRpdXM6IDVweDtcclxuICBwYWRkaW5nOiAzMzBweCA2MHB4IDA7XHJcbiAgY29sb3I6ICMzMzMzMzM7XHJcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7XHJcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xyXG4gIEBpbmNsdWRlIG1xLW1heCg2NDBweCkge1xyXG4gICAgbWF4LXdpZHRoOiA5MCU7XHJcbiAgICBoZWlnaHQ6IDY0MHB4O1xyXG4gIH1cclxuICBcclxuICAucG9wdXAtdGl0bGUge1xyXG4gICAgQGluY2x1ZGUgdGV4dC1kZWNvcigjMzMzMzMzLCAkdGV4dFRyYW5zZm9ybTogdXBwZXJjYXNlLCAkdGV4dEFsaWduOiBjZW50ZXIpO1xyXG4gICAgZm9udC1mYW1pbHk6ICdyb2JvdG9zbGFiLXJlZ3VsYXInO1xyXG4gICAgbWFyZ2luOiAwIDAgMzBweDtcclxuICAgIEBpbmNsdWRlIGZvbnQtc2l6ZSgzNXB4KTtcclxuICB9XHJcbiAgLnZhbHVlIHtcclxuICAgIHBhZGRpbmc6IDVweDtcclxuICAgIGJhY2tncm91bmQ6IHVybCguLi9pbWFnZXMvcG9wdXAtdmFsdWUtYmcucG5nKSBuby1yZXBlYXQgMCAwLzEwMCUgMTAwJTtcclxuICAgIHdpZHRoOiA5MCU7XHJcbiAgICBjb2xvcjogI2ZmZjtcclxuICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XHJcbiAgICBmb250LXNpemU6IDE4cHg7XHJcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbiAgICBtYXJnaW46IDAgYXV0bztcclxuICAgIFxyXG4gICAgXHJcbiAgfVxyXG59XHJcblxyXG4ucG9wdXAtc2VydmVyIHtcclxuICB3aWR0aDogNjk1cHg7XHJcbiAgaGVpZ2h0OiA4MDBweDtcclxuICBiYWNrZ3JvdW5kOiB1cmwoLi4vaW1hZ2VzL3BvcHVwLXNlcnZlci5wbmcpIG5vLXJlcGVhdCAwIDAvMTAwJTtcclxuICBAaW5jbHVkZSB0ZXh0LWRlY29yKCNmZmVkYWQsIDE2cHgpO1xyXG4gIGZvbnQtZmFtaWx5OiByb2JvdG9zbGFiO1xyXG4gIHRvcDogODBweDtcclxuICBAaW5jbHVkZSBwYWRkaW5nKDQ1cHgpO1xyXG4gIC51c2VyIHtcclxuICAgIG92ZXJmbG93OiBoaWRkZW47XHJcbiAgICBtYXJnaW46IDAgMCA2MHB4O1xyXG4gIH1cclxuICAudXNlcm5hbWUge1xyXG4gICAgY29sb3I6ICNmZmYwMDA7XHJcbiAgICB0ZXh0LW92ZXJmbG93OiBlbGxpcHNpcztcclxuICAgIC8qIFJlcXVpcmVkIGZvciB0ZXh0LW92ZXJmbG93IHRvIGRvIGFueXRoaW5nICovXHJcbiAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xyXG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcclxuICAgIFxyXG4gIH1cclxuICAubG9nb3V0IHtcclxuICAgIGZsb2F0OiByaWdodDtcclxuICAgIGNvbG9yOiAjZmZlZGFkO1xyXG4gICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XHJcbiAgICAmOmhvdmVyIHtcclxuICAgICAgY29sb3I6ICNmZmYwMDA7XHJcbiAgICB9XHJcbiAgfVxyXG4gIFxyXG4gIC5wb3B1cC1jbG9zZSB7XHJcbiAgICByaWdodDogLTEwMHB4O1xyXG4gICAgdG9wOiAtNzBweDtcclxuICB9XHJcbiAgLnBvcHVwLWNvbnRlbnQge1xyXG4gICAgLy8gdGV4dC1hbGlnbjogY2VudGVyO1xyXG4gIH1cclxuICAubmljZS1zZWxlY3Qge1xyXG4gICAgd2lkdGg6IDMwMHB4O1xyXG4gICAgbWFyZ2luOiAwIGF1dG8gNDBweDtcclxuICAgIGZsb2F0OiBpbml0aWFsO1xyXG4gICAgYmFja2dyb3VuZDogIzc0NTk0ODtcclxuICAgIGJvcmRlci1jb2xvcjogIzc0NTk0ODtcclxuICAgIFxyXG4gICAgQGluY2x1ZGUgdGV4dC1kZWNvcigjZGFjNmI0LCAzMHB4LCBudWxsLCBjZW50ZXIsYm9sZCk7XHJcbiAgICAmOmFmdGVyIHtcclxuICAgICAgYm9yZGVyLWNvbG9yOiAjZmZkMDUyO1xyXG4gICAgfVxyXG4gIH1cclxuICAvLyAubmljZS1zZWxlY3QgLm9wdGlvbjpob3ZlciwgLm5pY2Utc2VsZWN0IC5vcHRpb24uZm9jdXMsIC5uaWNlLXNlbGVjdCAub3B0aW9uLnNlbGVjdGVkLmZvY3VzIHtcclxuICAubmljZS1zZWxlY3QgLm9wdGlvbiB7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjNzQ1OTQ4O1xyXG4gICAgY29sb3I6ICNkYWM2YjQ7XHJcbiAgICBmb250LXNpemU6IDI1cHg7XHJcbiAgfVxyXG4gIC5uaWNlLXNlbGVjdCAub3B0aW9uOmhvdmVyLCAubmljZS1zZWxlY3QgLm9wdGlvbi5mb2N1cywgLm5pY2Utc2VsZWN0IC5vcHRpb24uc2VsZWN0ZWQuZm9jdXMge1xyXG4gICAgY29sb3I6ICNmZmQwNTI7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjNzQ1OTQ4O1xyXG4gIH1cclxuXHJcblxyXG4gIC5saXN0IHtcclxuICAgIHdpZHRoOiAyOThweDtcclxuICAgIG1heC1oZWlnaHQ6IDIwMHB4O1xyXG4gICAgb3ZlcmZsb3c6IGF1dG87XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjNzQ1OTQ4O1xyXG4gIH1cclxuICAuc2VydmVyLXRpdGxlIHtcclxuICAgIGZvbnQtZmFtaWx5OiByb2JvdG9zbGFiO1xyXG4gICAgQGluY2x1ZGUgdGV4dC1kZWNvcigjNjU0ODM1LCAzNnB4LCB1cHBlcmNhc2UsIGNlbnRlcixib2xkKTtcclxuICAgIG1hcmdpbjogMCAwIDVweDtcclxuICB9XHJcbiAgXHJcbiAgLnNlcnZlci1idG4ge1xyXG4gICAgd2lkdGg6IDE4NnB4O1xyXG4gICAgaGVpZ2h0OiA1OHB4O1xyXG4gICAgbGluZS1oZWlnaHQ6IDU4cHg7XHJcbiAgICBkaXNwbGF5OiBibG9jaztcclxuICAgIG1hcmdpbjogMCBhdXRvIDQwcHg7XHJcbiAgICBiYWNrZ3JvdW5kOiB1cmwoLi4vaW1hZ2VzL3NlcnZlci1uZXctYmcucG5nKSBuby1yZXBlYXQ7XHJcbiAgICBAaW5jbHVkZSB0ZXh0LWRlY29yKCNhYTNjMTgsIDM2cHgsIG51bGwsIGNlbnRlcixib2xkKTtcclxuICAgICY6aG92ZXIge1xyXG4gICAgICBmaWx0ZXI6IGJyaWdodG5lc3MoMTIwJSk7XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcblxyXG4uYmdvdmVyIHtcclxuICBiYWNrZ3JvdW5kOiByZ2JhKDAsIDAsIDAsIDAuNyk7XHJcbiAgcG9zaXRpb246IGZpeGVkO1xyXG4gIHdpZHRoOiAxMDAlO1xyXG4gIGhlaWdodDogMTAwJTtcclxuICB6LWluZGV4OiAxMDAwO1xyXG4gIGxlZnQ6IDA7XHJcbiAgdG9wOiAwO1xyXG4gIHJpZ2h0OiAwO1xyXG4gIGJvdHRvbTogMDtcclxufVxyXG5cclxuLndyYXBwZXItNDA0IHtcclxuICBiYWNrZ3JvdW5kOiB1cmwoLi4vaW1hZ2VzL3dyYXBwZXItNDA0LmpwZykgbm8tcmVwZWF0IGNlbnRlciB0b3AgLyBjb3ZlcjsgIFxyXG4gIGhlaWdodDogMTAwdmg7XHJcbiAgLmxvZ28ge1xyXG4gICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICBwYWRkaW5nOiA4JSAwO1xyXG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xyXG4gIH1cclxuXHJcbiAgLmhvbWUtYnRuIHtcclxuICAgIGxlZnQ6IDUwJTtcclxuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNTAlKTtcclxuICAgIG1hcmdpbjogMTIlIDAgMCAwO1xyXG4gIH1cclxufSIsIiRmb290ZXItY29sb3I6ICNmN2ZmZmQ7XHJcblxyXG4uZm9vdGVyIHtcclxuICBjb2xvcjogJGZvb3Rlci1jb2xvcjtcclxuICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbiAgQGluY2x1ZGUgcGFkZGluZygyMHB4IDAgMTBweCk7XHJcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gIGJhY2tncm91bmQ6ICMxMDE0MTM7XHJcbiAgXHJcbiAgJi1pdGVtIHtcclxuICAgIG1hcmdpbi10b3A6IDEwcHg7XHJcbiAgICBtYXJnaW4tYm90dG9tOiAwcHg7XHJcbiAgICB3aWR0aDogMTAwJTtcclxuICAgIGxpIHtcclxuICAgICAgY29sb3I6ICRmb290ZXItY29sb3I7XHJcbiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuICAgICAgYSB7XHJcbiAgICAgICAgZm9udC1zaXplOiAxNHB4O1xyXG4gICAgICAgIGNvbG9yOiBpbmhlcml0O1xyXG4gICAgICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xyXG4gICAgICAgIHBhZGRpbmc6IDAgOHB4O1xyXG5cclxuICAgICAgICAmOmhvdmVyLFxyXG4gICAgICAgICY6Zm9jdXMge1xyXG4gICAgICAgICAgY29sb3I6IGxpZ2h0ZW4oJGZvb3Rlci1jb2xvciwgMjAlKTtcclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcblxyXG4gIC5jb3B5cmlnaHQge1xyXG4gICAgZGlzcGxheTogZmxleDtcclxuICAgIGNvbG9yOiAkZm9vdGVyLWNvbG9yO1xyXG4gICAgZm9udC1zaXplOiAxMnB4O1xyXG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XHJcbiAgICBwYWRkaW5nOiAyMHB4IDEwcHg7XHJcbiAgICBtYXJnaW46IDAgYXV0bztcclxuICB9XHJcbiAgLmltZzE4IHtcclxuICAgIGhlaWdodDogMTAwJTtcclxuICAgIG1hcmdpbi1sZWZ0OiAxMHB4O1xyXG4gICAgbWFyZ2luLXRvcDogLTEwcHg7XHJcbiAgfVxyXG5cclxuICAuY21uIHtcclxuICAgIGhlaWdodDogMTAwJTtcclxuICAgIG1hcmdpbi1yaWdodDogMTBweDtcclxuICB9XHJcbn0iXX0= */
