/* ==========================================================================
   Index of scss files
   @mixin ========================================================================= */
/* External
   @mixin ========================================================================= */
/*! normalize.css v8.0.1 | MIT License | github.com/necolas/normalize.css */
/* Document
   ========================================================================== */
/**
 * 1. Correct the line height in all browsers.
 * 2. Prevent adjustments of font size after orientation changes in iOS.
 */
@import url("https://fonts.googleapis.com/css?family=Roboto:300,400,500,700");
html {
  line-height: 1.15;
  /* 1 */
  -webkit-text-size-adjust: 100%;
  /* 2 */ }

/* Sections
   ========================================================================== */
/**
 * Remove the margin in all browsers.
 */
body {
  margin: 0; }

/**
 * Render the `main` element consistently in IE.
 */
main {
  display: block; }

/**
 * Correct the font size and margin on `h1` elements within `section` and
 * `article` contexts in Chrome, Firefox, and Safari.
 */
h1 {
  font-size: 2em;
  margin: 0.67em 0; }

/* Grouping content
   ========================================================================== */
/**
 * 1. Add the correct box sizing in Firefox.
 * 2. Show the overflow in Edge and IE.
 */
hr {
  -webkit-box-sizing: content-box;
     -moz-box-sizing: content-box;
          box-sizing: content-box;
  /* 1 */
  height: 0;
  /* 1 */
  overflow: visible;
  /* 2 */ }

/**
 * 1. Correct the inheritance and scaling of font size in all browsers.
 * 2. Correct the odd `em` font sizing in all browsers.
 */
pre {
  font-family: monospace, monospace;
  /* 1 */
  font-size: 1em;
  /* 2 */ }

/* Text-level semantics
   ========================================================================== */
/**
 * Remove the gray background on active links in IE 10.
 */
a {
  background-color: transparent; }

/**
 * 1. Remove the bottom border in Chrome 57-
 * 2. Add the correct text decoration in Chrome, Edge, IE, Opera, and Safari.
 */
abbr[title] {
  border-bottom: none;
  /* 1 */
  text-decoration: underline;
  /* 2 */
  -webkit-text-decoration: underline dotted;
     -moz-text-decoration: underline dotted;
          text-decoration: underline dotted;
  /* 2 */ }

/**
 * Add the correct font weight in Chrome, Edge, and Safari.
 */
b,
strong {
  font-weight: bolder; }

/**
 * 1. Correct the inheritance and scaling of font size in all browsers.
 * 2. Correct the odd `em` font sizing in all browsers.
 */
code,
kbd,
samp {
  font-family: monospace, monospace;
  /* 1 */
  font-size: 1em;
  /* 2 */ }

/**
 * Add the correct font size in all browsers.
 */
small {
  font-size: 80%; }

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

sub {
  bottom: -0.25em; }

sup {
  top: -0.5em; }

/* Embedded content
   ========================================================================== */
/**
 * Remove the border on images inside links in IE 10.
 */
img {
  border-style: none; }

/* Forms
   ========================================================================== */
/**
 * 1. Change the font styles in all browsers.
 * 2. Remove the margin in Firefox and Safari.
 */
button,
input,
optgroup,
select,
textarea {
  font-family: inherit;
  /* 1 */
  font-size: 100%;
  /* 1 */
  line-height: 1.15;
  /* 1 */
  margin: 0;
  /* 2 */ }

/**
 * Show the overflow in IE.
 * 1. Show the overflow in Edge.
 */
button,
input {
  /* 1 */
  overflow: visible; }

/**
 * Remove the inheritance of text transform in Edge, Firefox, and IE.
 * 1. Remove the inheritance of text transform in Firefox.
 */
button,
select {
  /* 1 */
  text-transform: none; }

/**
 * Correct the inability to style clickable types in iOS and Safari.
 */
button,
[type="button"],
[type="reset"],
[type="submit"] {
  -webkit-appearance: button; }

/**
 * Remove the inner border and padding in Firefox.
 */
button::-moz-focus-inner,
[type="button"]::-moz-focus-inner,
[type="reset"]::-moz-focus-inner,
[type="submit"]::-moz-focus-inner {
  border-style: none;
  padding: 0; }

/**
 * Restore the focus styles unset by the previous rule.
 */
button:-moz-focusring,
[type="button"]:-moz-focusring,
[type="reset"]:-moz-focusring,
[type="submit"]:-moz-focusring {
  outline: 1px dotted ButtonText; }

/**
 * Correct the padding in Firefox.
 */
fieldset {
  padding: 0.35em 0.75em 0.625em; }

/**
 * 1. Correct the text wrapping in Edge and IE.
 * 2. Correct the color inheritance from `fieldset` elements in IE.
 * 3. Remove the padding so developers are not caught out when they zero out
 *    `fieldset` elements in all browsers.
 */
legend {
  -webkit-box-sizing: border-box;
     -moz-box-sizing: border-box;
          box-sizing: border-box;
  /* 1 */
  color: inherit;
  /* 2 */
  display: table;
  /* 1 */
  max-width: 100%;
  /* 1 */
  padding: 0;
  /* 3 */
  white-space: normal;
  /* 1 */ }

/**
 * Add the correct vertical alignment in Chrome, Firefox, and Opera.
 */
progress {
  vertical-align: baseline; }

/**
 * Remove the default vertical scrollbar in IE 10+.
 */
textarea {
  overflow: auto; }

/**
 * 1. Add the correct box sizing in IE 10.
 * 2. Remove the padding in IE 10.
 */
[type="checkbox"],
[type="radio"] {
  -webkit-box-sizing: border-box;
     -moz-box-sizing: border-box;
          box-sizing: border-box;
  /* 1 */
  padding: 0;
  /* 2 */ }

/**
 * Correct the cursor style of increment and decrement buttons in Chrome.
 */
[type="number"]::-webkit-inner-spin-button,
[type="number"]::-webkit-outer-spin-button {
  height: auto; }

/**
 * 1. Correct the odd appearance in Chrome and Safari.
 * 2. Correct the outline style in Safari.
 */
[type="search"] {
  -webkit-appearance: textfield;
  /* 1 */
  outline-offset: -2px;
  /* 2 */ }

/**
 * Remove the inner padding in Chrome and Safari on macOS.
 */
[type="search"]::-webkit-search-decoration {
  -webkit-appearance: none; }

/**
 * 1. Correct the inability to style clickable types in iOS and Safari.
 * 2. Change font properties to `inherit` in Safari.
 */
::-webkit-file-upload-button {
  -webkit-appearance: button;
  /* 1 */
  font: inherit;
  /* 2 */ }

/* Interactive
   ========================================================================== */
/*
 * Add the correct display in Edge, IE 10+, and Firefox.
 */
details {
  display: block; }

/*
 * Add the correct display in all browsers.
 */
summary {
  display: list-item; }

/* Misc
   ========================================================================== */
/**
 * Add the correct display in IE 10+.
 */
template {
  display: none; }

/**
 * Add the correct display in IE 10.
 */
[hidden] {
  display: none; }

/**
 * Swiper 4.5.0
 * Most modern mobile touch slider and framework with hardware accelerated transitions
 * http://www.idangero.us/swiper/
 *
 * Copyright 2014-2019 Vladimir Kharlampidi
 *
 * Released under the MIT License
 *
 * Released on: February 22, 2019
 */
.swiper-container {
  margin: 0 auto;
  position: relative;
  overflow: hidden;
  list-style: none;
  padding: 0;
  /* Fix of Webkit flickering */
  z-index: 1; }

.swiper-container-no-flexbox .swiper-slide {
  float: left; }

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

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

.swiper-container-android .swiper-slide,
.swiper-wrapper {
  -webkit-transform: translate3d(0px, 0, 0);
  -moz-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-free-mode > .swiper-wrapper {
  -webkit-transition-timing-function: ease-out;
  -o-transition-timing-function: ease-out;
  -moz-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;
  -o-transition-property: -o-transform;
  -moz-transition-property: transform, -moz-transform;
  transition-property: transform;
  transition-property: transform, -webkit-transform, -moz-transform, -o-transform;
  transition-property: transform, -webkit-transform; }

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

/* Auto Height */
.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;
  -moz-box-align: start;
       align-items: flex-start;
  -webkit-transition-property: height, -webkit-transform;
  transition-property: height, -webkit-transform;
  -o-transition-property: transform, height;
  -o-transition-property: height, -o-transform;
  -moz-transition-property: transform, height, -moz-transform;
  transition-property: transform, height;
  transition-property: transform, height, -webkit-transform, -moz-transform, -o-transform;
  transition-property: transform, height, -webkit-transform; }

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

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

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

.swiper-container-3d .swiper-slide-shadow-left {
  background-image: -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: -moz-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: -moz-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: -moz-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: -moz-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)); }

/* IE10 Windows Phone 8 Fixes */
.swiper-container-wp8-horizontal,
.swiper-container-wp8-horizontal > .swiper-wrapper {
  -ms-touch-action: pan-y;
  touch-action: pan-y; }

.swiper-container-wp8-vertical,
.swiper-container-wp8-vertical > .swiper-wrapper {
  -ms-touch-action: pan-x;
  touch-action: pan-x; }

.swiper-button-prev,
.swiper-button-next {
  position: absolute;
  top: 50%;
  width: 27px;
  height: 44px;
  margin-top: -22px;
  z-index: 10;
  cursor: pointer;
  -webkit-background-size: 27px 44px;
     -moz-background-size: 27px 44px;
       -o-background-size: 27px 44px;
          background-size: 27px 44px;
  background-position: center;
  background-repeat: no-repeat; }

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

.swiper-button-prev,
.swiper-container-rtl .swiper-button-next {
  background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%2027%2044'%3E%3Cpath%20d%3D'M0%2C22L22%2C0l2.1%2C2.1L4.2%2C22l19.9%2C19.9L22%2C44L0%2C22L0%2C22L0%2C22z'%20fill%3D'%23007aff'%2F%3E%3C%2Fsvg%3E");
  left: 10px;
  right: auto; }

.swiper-button-next,
.swiper-container-rtl .swiper-button-prev {
  background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%2027%2044'%3E%3Cpath%20d%3D'M27%2C22L27%2C22L5%2C44l-2.1-2.1L22.8%2C22L2.9%2C2.1L5%2C0L27%2C22L27%2C22z'%20fill%3D'%23007aff'%2F%3E%3C%2Fsvg%3E");
  right: 10px;
  left: auto; }

.swiper-button-prev.swiper-button-white,
.swiper-container-rtl .swiper-button-next.swiper-button-white {
  background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%2027%2044'%3E%3Cpath%20d%3D'M0%2C22L22%2C0l2.1%2C2.1L4.2%2C22l19.9%2C19.9L22%2C44L0%2C22L0%2C22L0%2C22z'%20fill%3D'%23ffffff'%2F%3E%3C%2Fsvg%3E"); }

.swiper-button-next.swiper-button-white,
.swiper-container-rtl .swiper-button-prev.swiper-button-white {
  background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%2027%2044'%3E%3Cpath%20d%3D'M27%2C22L27%2C22L5%2C44l-2.1-2.1L22.8%2C22L2.9%2C2.1L5%2C0L27%2C22L27%2C22z'%20fill%3D'%23ffffff'%2F%3E%3C%2Fsvg%3E"); }

.swiper-button-prev.swiper-button-black,
.swiper-container-rtl .swiper-button-next.swiper-button-black {
  background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%2027%2044'%3E%3Cpath%20d%3D'M0%2C22L22%2C0l2.1%2C2.1L4.2%2C22l19.9%2C19.9L22%2C44L0%2C22L0%2C22L0%2C22z'%20fill%3D'%23000000'%2F%3E%3C%2Fsvg%3E"); }

.swiper-button-next.swiper-button-black,
.swiper-container-rtl .swiper-button-prev.swiper-button-black {
  background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%2027%2044'%3E%3Cpath%20d%3D'M27%2C22L27%2C22L5%2C44l-2.1-2.1L22.8%2C22L2.9%2C2.1L5%2C0L27%2C22L27%2C22z'%20fill%3D'%23000000'%2F%3E%3C%2Fsvg%3E"); }

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

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

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

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

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

.swiper-pagination-bullets-dynamic .swiper-pagination-bullet {
  -webkit-transform: scale(0.33);
  -ms-transform: scale(0.33);
  -moz-transform: scale(0.33);
    -o-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);
  -moz-transform: scale(1);
    -o-transform: scale(1);
       transform: scale(1); }

.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-main {
  -webkit-transform: scale(1);
  -ms-transform: scale(1);
  -moz-transform: scale(1);
    -o-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);
  -moz-transform: scale(0.66);
    -o-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);
  -moz-transform: scale(0.33);
    -o-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);
  -moz-transform: scale(0.66);
    -o-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);
  -moz-transform: scale(0.33);
    -o-transform: scale(0.33);
       transform: scale(0.33); }

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

button.swiper-pagination-bullet {
  border: none;
  margin: 0;
  padding: 0;
  -webkit-box-shadow: none;
  -moz-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: #007aff; }

.swiper-container-vertical > .swiper-pagination-bullets {
  right: 10px;
  top: 50%;
  -webkit-transform: translate3d(0px, -50%, 0);
  -moz-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%);
  -moz-transform: translateY(-50%);
    -o-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: 200ms top, 200ms -webkit-transform;
  transition: 200ms top, 200ms -webkit-transform;
  -o-transition: 200ms transform, 200ms top;
  -o-transition: 200ms top, 200ms -o-transform;
  -moz-transition: 200ms transform, 200ms top, 200ms -moz-transform;
  transition: 200ms transform, 200ms top;
  transition: 200ms transform, 200ms top, 200ms -webkit-transform, 200ms -moz-transform, 200ms -o-transform;
  transition: 200ms transform, 200ms top, 200ms -webkit-transform; }

.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%);
  -moz-transform: translateX(-50%);
    -o-transform: translateX(-50%);
       transform: translateX(-50%);
  white-space: nowrap; }

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

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

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

.swiper-pagination-progressbar .swiper-pagination-progressbar-fill {
  background: #007aff;
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  -webkit-transform: scale(0);
  -ms-transform: scale(0);
  -moz-transform: scale(0);
    -o-transform: scale(0);
       transform: scale(0);
  -webkit-transform-origin: left top;
  -ms-transform-origin: left top;
  -moz-transform-origin: left top;
    -o-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;
  -moz-transform-origin: right top;
    -o-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-vertical > .swiper-pagination-progressbar,
.swiper-container-horizontal > .swiper-pagination-progressbar.swiper-pagination-progressbar-opposite {
  width: 4px;
  height: 100%;
  left: 0;
  top: 0; }

.swiper-pagination-white .swiper-pagination-bullet-active {
  background: #ffffff; }

.swiper-pagination-progressbar.swiper-pagination-white {
  background: rgba(255, 255, 255, 0.25); }

.swiper-pagination-progressbar.swiper-pagination-white .swiper-pagination-progressbar-fill {
  background: #ffffff; }

.swiper-pagination-black .swiper-pagination-bullet-active {
  background: #000000; }

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

.swiper-pagination-progressbar.swiper-pagination-black .swiper-pagination-progressbar-fill {
  background: #000000; }

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

/* Scrollbar */
.swiper-scrollbar {
  -webkit-border-radius: 10px;
     -moz-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;
     -moz-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: -moz-box;
  display: flex;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
  -ms-flex-pack: center;
  -moz-box-pack: center;
       justify-content: center;
  -webkit-box-align: center;
  -webkit-align-items: center;
  -ms-flex-align: center;
  -moz-box-align: center;
       align-items: center;
  text-align: center; }

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

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

/* Preloader */
.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%;
  -moz-transform-origin: 50%;
    -o-transform-origin: 50%;
       transform-origin: 50%;
  -webkit-animation: swiper-preloader-spin 1s steps(12, end) infinite;
  -moz-animation: swiper-preloader-spin 1s steps(12, end) infinite;
    -o-animation: swiper-preloader-spin 1s steps(12, end) infinite;
       animation: swiper-preloader-spin 1s steps(12, end) infinite; }

.swiper-lazy-preloader:after {
  display: block;
  content: '';
  width: 100%;
  height: 100%;
  background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20viewBox%3D'0%200%20120%20120'%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20xmlns%3Axlink%3D'http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink'%3E%3Cdefs%3E%3Cline%20id%3D'l'%20x1%3D'60'%20x2%3D'60'%20y1%3D'7'%20y2%3D'27'%20stroke%3D'%236c6c6c'%20stroke-width%3D'11'%20stroke-linecap%3D'round'%2F%3E%3C%2Fdefs%3E%3Cg%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.27'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.27'%20transform%3D'rotate(30%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.27'%20transform%3D'rotate(60%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.27'%20transform%3D'rotate(90%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.27'%20transform%3D'rotate(120%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.27'%20transform%3D'rotate(150%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.37'%20transform%3D'rotate(180%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.46'%20transform%3D'rotate(210%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.56'%20transform%3D'rotate(240%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.66'%20transform%3D'rotate(270%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.75'%20transform%3D'rotate(300%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.85'%20transform%3D'rotate(330%2060%2C60)'%2F%3E%3C%2Fg%3E%3C%2Fsvg%3E");
  background-position: 50%;
  -webkit-background-size: 100% 100%;
     -moz-background-size: 100%;
       -o-background-size: 100%;
          background-size: 100%;
  background-repeat: no-repeat; }

.swiper-lazy-preloader-white:after {
  background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20viewBox%3D'0%200%20120%20120'%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20xmlns%3Axlink%3D'http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink'%3E%3Cdefs%3E%3Cline%20id%3D'l'%20x1%3D'60'%20x2%3D'60'%20y1%3D'7'%20y2%3D'27'%20stroke%3D'%23fff'%20stroke-width%3D'11'%20stroke-linecap%3D'round'%2F%3E%3C%2Fdefs%3E%3Cg%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.27'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.27'%20transform%3D'rotate(30%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.27'%20transform%3D'rotate(60%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.27'%20transform%3D'rotate(90%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.27'%20transform%3D'rotate(120%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.27'%20transform%3D'rotate(150%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.37'%20transform%3D'rotate(180%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.46'%20transform%3D'rotate(210%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.56'%20transform%3D'rotate(240%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.66'%20transform%3D'rotate(270%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.75'%20transform%3D'rotate(300%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.85'%20transform%3D'rotate(330%2060%2C60)'%2F%3E%3C%2Fg%3E%3C%2Fsvg%3E"); }

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

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

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

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

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

.swiper-container-fade.swiper-container-free-mode .swiper-slide {
  -webkit-transition-timing-function: ease-out;
  -o-transition-timing-function: ease-out;
  -moz-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;
  -moz-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;
  -moz-backface-visibility: hidden;
       backface-visibility: hidden;
  z-index: 1;
  visibility: hidden;
  -webkit-transform-origin: 0 0;
  -ms-transform-origin: 0 0;
  -moz-transform-origin: 0 0;
    -o-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;
  -moz-transform-origin: 100% 0;
    -o-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-prev,
.swiper-container-cube .swiper-slide-next + .swiper-slide {
  pointer-events: auto;
  visibility: visible; }

.swiper-container-cube .swiper-slide-shadow-top,
.swiper-container-cube .swiper-slide-shadow-bottom,
.swiper-container-cube .swiper-slide-shadow-left,
.swiper-container-cube .swiper-slide-shadow-right {
  z-index: 0;
  -webkit-backface-visibility: hidden;
  -moz-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: 0.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;
  -moz-backface-visibility: hidden;
       backface-visibility: hidden;
  z-index: 1; }

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

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

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

.swiper-container-coverflow .swiper-wrapper {
  /* Windows 8 IE 10 fix */
  -ms-perspective: 1200px; }

/* Base
   @mixin ========================================================================= */
/* ==========================================================================
   Variables
   ========================================================================== */
/* Maps
========================================================================== */
/*
    The names and values of variables in maps are just suggestions/random values.
    Feel free to add new values, modify both the values and/or keys of the items depending on the project and your prefferences.
    For each map, a functions is defined (in base/_functions.scss).
    By default, function names are single a singular form of the map's variable name.
    Eg. To use the "main" color, a getter function "color" is defined.
    To use it, simply call: color(main).
*/
/* Standalone variables
========================================================================== */
/* ==========================================================================
   Body
   ========================================================================== */
body.side-panel-open {
  overflow: hidden; }

input:focus {
  outline: none;
  border: 1px solid color(primary); }

/* Breakpoints for include-media plugin
========================================================================== */
/* ==========================================================================
   Mixins
   ========================================================================== */
/* 1. Font smoothing
========================================================================== */
/* Better font-rendering on OSX
   https://maximilianhoffmann.com/posts/better-font-rendering-on-osx
*/
/* 2. A clearfix for floated elements
========================================================================== */
/* 3. Append a modificator class that changes color/bg
========================================================================== */
/* ==========================================================================
   Typography
   ========================================================================== */
/* Global texts
========================================================================== */
html {
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  font-size: 14px; }

body {
  font-family: Roboto, Arial, sans-serif;
  color: #000;
  line-height: 1.2; }

a {
  cursor: pointer;
  text-decoration: none;
  color: currentColor; }
  a:hover {
    text-decoration: none; }

/* ==========================================================================
User interface
========================================================================== */
.ui-link {
  position: relative;
  overflow: hidden;
  color: #009988; }
  .ui-link:before {
    content: '';
    display: block;
    position: absolute;
    bottom: 0;
    left: 0;
    width: 100%;
    height: 1px;
    -webkit-transition: 0.18s cubic-bezier(0.52, 0.01, 0.16, 1);
    -o-transition: 0.18s cubic-bezier(0.52, 0.01, 0.16, 1);
    -moz-transition: 0.18s cubic-bezier(0.52, 0.01, 0.16, 1);
    transition: 0.18s cubic-bezier(0.52, 0.01, 0.16, 1);
    -webkit-transform: scaleX(0);
       -moz-transform: scaleX(0);
        -ms-transform: scaleX(0);
         -o-transform: scaleX(0);
            transform: scaleX(0);
    -webkit-transform-origin: 0 50%;
       -moz-transform-origin: 0 50%;
        -ms-transform-origin: 0 50%;
         -o-transform-origin: 0 50%;
            transform-origin: 0 50%;
    background: currentColor; }
  .ui-link:hover:before {
    -webkit-transition-timing-function: cubic-bezier(0.62, 0.02, 0.34, 1);
       -moz-transition-timing-function: cubic-bezier(0.62, 0.02, 0.34, 1);
         -o-transition-timing-function: cubic-bezier(0.62, 0.02, 0.34, 1);
            transition-timing-function: cubic-bezier(0.62, 0.02, 0.34, 1);
    -webkit-transition-duration: .24s;
       -moz-transition-duration: .24s;
         -o-transition-duration: .24s;
            transition-duration: .24s;
    -webkit-transform: scaleX(1);
       -moz-transform: scaleX(1);
        -ms-transform: scaleX(1);
         -o-transform: scaleX(1);
            transform: scaleX(1); }

.ui-bg--black {
  background-color: #000; }

.ui-bg--almostBlack {
  background-color: #1F1F1F; }

.ui-bg--white {
  background-color: #fff; }

.ui-bg--primary {
  background-color: #009988; }

.ui-bg--secondary {
  background-color: #007C6B; }

.ui-bg--grey {
  background-color: #797979; }

.ui-bg--dgrey {
  background-color: #5c5c5c; }

.ui-bg--lgrey {
  background-color: #D6D6D6; }

.ui-bg--almostGrey {
  background-color: #F0F0F0; }

.ui-bg--almostWhite {
  background-color: #F9F9F9; }

.ui-color--black {
  color: #000; }

.ui-color--almostBlack {
  color: #1F1F1F; }

.ui-color--white {
  color: #fff; }

.ui-color--primary {
  color: #009988; }

.ui-color--secondary {
  color: #007C6B; }

.ui-color--grey {
  color: #797979; }

.ui-color--dgrey {
  color: #5c5c5c; }

.ui-color--lgrey {
  color: #D6D6D6; }

.ui-color--almostGrey {
  color: #F0F0F0; }

.ui-color--almostWhite {
  color: #F9F9F9; }

.ui-icon {
  display: -webkit-inline-box;
  display: -webkit-inline-flex;
  display: -moz-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  width: 1em;
  height: 1em;
  -webkit-flex-shrink: 0;
      -ms-flex-negative: 0;
          flex-shrink: 0;
  font-size: 1em; }

.ui-unordered-list,
.ui-ordered-list {
  margin: 0;
  padding: 0;
  list-style: none;
  padding-left: 1em; }
  .ui-unordered-list li,
  .ui-ordered-list li {
    margin: 1rem 0; }

.ui-button {
  height: 1em;
  padding: 0.5em 1em;
  background: #009988;
  color: #fff;
  -webkit-border-radius: 4px;
     -moz-border-radius: 4px;
          border-radius: 4px; }

.ui-form fieldset, fieldset.ui-fieldset {
  margin: 0;
  padding: 0;
  border: 0; }

.ui-form input[type=text]::-ms-clear, input.ui-input[type=text]::-ms-clear {
  display: none; }

.ui-form select, select.ui-select {
  position: relative;
  z-index: 2;
  width: 100%;
  -webkit-border-radius: 0;
     -moz-border-radius: 0;
          border-radius: 0;
  background: transparent;
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none; }
  .ui-form select::-ms-expand, select.ui-select::-ms-expand {
    display: none; }

.ui-form textarea, textarea.ui-textarea {
  max-height: 10em;
  padding: 1em;
  resize: vertical; }

.ui-form input::-webkit-input-placeholder, input.ui-input::-webkit-input-placeholder, input textarea::-webkit-input-placeholder, .ui-form
textarea::-webkit-input-placeholder,
textarea.ui-input::-webkit-input-placeholder,
textarea textarea::-webkit-input-placeholder {
  color: currentColor; }

.ui-form input:-moz-placeholder, input.ui-input:-moz-placeholder, input textarea:-moz-placeholder, .ui-form
textarea:-moz-placeholder,
textarea.ui-input:-moz-placeholder,
textarea textarea:-moz-placeholder {
  color: currentColor; }

.ui-form input::-moz-placeholder, input.ui-input::-moz-placeholder, input textarea::-moz-placeholder, .ui-form
textarea::-moz-placeholder,
textarea.ui-input::-moz-placeholder,
textarea textarea::-moz-placeholder {
  color: currentColor; }

.ui-form input:-ms-input-placeholder, input.ui-input:-ms-input-placeholder, input textarea:-ms-input-placeholder, .ui-form
textarea:-ms-input-placeholder,
textarea.ui-input:-ms-input-placeholder,
textarea textarea:-ms-input-placeholder {
  color: currentColor; }

.ui-form input::-ms-input-placeholder, input.ui-input::-ms-input-placeholder, input textarea::-ms-input-placeholder, .ui-form
textarea::-ms-input-placeholder,
textarea.ui-input::-ms-input-placeholder,
textarea textarea::-ms-input-placeholder {
  color: currentColor; }

.ui-form input::placeholder, input.ui-input::placeholder, input textarea::placeholder, .ui-form
textarea::placeholder,
textarea.ui-input::placeholder,
textarea textarea::placeholder {
  color: currentColor; }

.ui-form input, input.ui-input, input select, .ui-form
select,
select.ui-input,
select select {
  padding: 0 0.5em;
  height: 2rem; }

.ui-form input, input.ui-input, input textarea, input select, .ui-form
textarea,
textarea.ui-input,
textarea textarea,
textarea select, .ui-form
select,
select.ui-input,
select textarea,
select select {
  -webkit-border-radius: 0;
     -moz-border-radius: 0;
          border-radius: 0;
  -webkit-box-shadow: none;
     -moz-box-shadow: none;
          box-shadow: none; }
  .ui-form input, .ui-form input:-webkit-autofill, input.ui-input, input.ui-input:-webkit-autofill, input textarea, input textarea:-webkit-autofill, input select, input select:-webkit-autofill, .ui-form
  textarea, .ui-form
  textarea:-webkit-autofill,
  textarea.ui-input,
  textarea.ui-input:-webkit-autofill,
  textarea textarea,
  textarea textarea:-webkit-autofill,
  textarea select,
  textarea select:-webkit-autofill, .ui-form
  select, .ui-form
  select:-webkit-autofill,
  select.ui-input,
  select.ui-input:-webkit-autofill,
  select textarea,
  select textarea:-webkit-autofill,
  select select,
  select select:-webkit-autofill {
    border: solid 1px #009988; }
  .ui-form input:-webkit-autofill, input.ui-input:-webkit-autofill, input textarea:-webkit-autofill, input select:-webkit-autofill, .ui-form
  textarea:-webkit-autofill,
  textarea.ui-input:-webkit-autofill,
  textarea textarea:-webkit-autofill,
  textarea select:-webkit-autofill, .ui-form
  select:-webkit-autofill,
  select.ui-input:-webkit-autofill,
  select textarea:-webkit-autofill,
  select select:-webkit-autofill {
    -webkit-box-shadow: none;
            box-shadow: none; }
  .ui-form input:focus, input.ui-input:focus, input textarea:focus, input select:focus, .ui-form
  textarea:focus,
  textarea.ui-input:focus,
  textarea textarea:focus,
  textarea select:focus, .ui-form
  select:focus,
  select.ui-input:focus,
  select textarea:focus,
  select select:focus {
    outline: none; }

/* Layout and sections
   @mixin ========================================================================= */
/* ==========================================================================
   Footer
   ========================================================================== */
.l-footer {
  background-color: #F9F9F9; }

/* ==========================================================================
   Header
   ========================================================================== */
.l-header {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 80px;
  background: transparent;
  -webkit-transition: all 0.1s linear;
  -o-transition: all 0.1s linear;
  -moz-transition: all 0.1s linear;
  transition: all 0.1s linear;
  z-index: 100; }
  @media (max-width: 1024px) {
    .l-header {
      height: 60px; } }
  .l-header .l-inner {
    display: -webkit-box;
    display: -webkit-flex;
    display: -moz-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
    -webkit-flex-direction: row;
       -moz-box-orient: horizontal;
       -moz-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
    -webkit-box-align: center;
    -webkit-align-items: center;
       -moz-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    -webkit-box-pack: justify;
    -webkit-justify-content: space-between;
       -moz-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
    height: 100%; }
  .l-header.is-active, .l-header.is-active-cat, .l-header.is-active-search, .l-header.is-scrolled {
    background: #fff;
    -webkit-box-shadow: 0px 8px 24px -15px black;
       -moz-box-shadow: 0px 8px 24px -15px black;
            box-shadow: 0px 8px 24px -15px black;
    -webkit-transition: all 0.1s linear;
    -o-transition: all 0.1s linear;
    -moz-transition: all 0.1s linear;
    transition: all 0.1s linear; }
    .l-header.is-active .c-header-btn .c-label, .l-header.is-active .c-header-btn .c-label:before, .l-header.is-active .c-header-btn .c-label:after, .l-header.is-active-cat .c-header-btn .c-label, .l-header.is-active-cat .c-header-btn .c-label:before, .l-header.is-active-cat .c-header-btn .c-label:after, .l-header.is-active-search .c-header-btn .c-label, .l-header.is-active-search .c-header-btn .c-label:before, .l-header.is-active-search .c-header-btn .c-label:after, .l-header.is-scrolled .c-header-btn .c-label, .l-header.is-scrolled .c-header-btn .c-label:before, .l-header.is-scrolled .c-header-btn .c-label:after {
      background-color: #009988; }
  .l-header.is-hidden {
    height: 0;
    overflow: hidden; }

/* ==========================================================================
   Inner
   ========================================================================== */
.l-inner {
  display: -webkit-box;
  display: -webkit-flex;
  display: -moz-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -webkit-flex-direction: column;
     -moz-box-orient: vertical;
     -moz-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  width: 100%;
  max-width: 1180px;
  margin: 0 auto;
  vertical-align: baseline; }
  @media (max-width: 1199px) {
    .l-inner {
      padding-right: 1em;
      padding-left: 1em; } }

/* ==========================================================================
   Main content
   ========================================================================== */
* {
  -webkit-box-sizing: border-box;
     -moz-box-sizing: border-box;
          box-sizing: border-box; }

.l-main {
  position: relative; }
  .l-main--list .c-post:first-child {
    margin-top: 30px; }

/* ==========================================================================
   Modal overlay
   ========================================================================== */
.l-modal-overlay {
  position: fixed;
  top: 0;
  right: 0;
  width: 0;
  height: 100vh;
  background-color: #000;
  opacity: 0;
  -webkit-transition: all 0.2s linear;
  -o-transition: all 0.2s linear;
  -moz-transition: all 0.2s linear;
  transition: all 0.2s linear;
  overflow: hidden;
  z-index: 100; }
  @media (max-width: 1024px) {
    .l-modal-overlay.is-active {
      width: 100vw;
      opacity: 0.7;
      -webkit-transition: all 0.2s linear;
      -o-transition: all 0.2s linear;
      -moz-transition: all 0.2s linear;
      transition: all 0.2s linear;
      overflow: auto; } }

/* ==========================================================================
   Sections
   ========================================================================== */
.l-section--bg-alt {
  background-color: #F9F9F9; }

/* ==========================================================================
   Side panel
   ========================================================================== */
.l-side-panel {
  position: fixed;
  top: 0;
  right: -576px;
  overflow: hidden;
  height: 100vh;
  width: 576px;
  max-width: 95vw;
  background: #fff;
  padding-right: 1em;
  padding-left: 1em;
  -webkit-transition: all 0.2s linear;
  -o-transition: all 0.2s linear;
  -moz-transition: all 0.2s linear;
  transition: all 0.2s linear;
  z-index: 110; }
  .l-side-panel.is-open {
    right: 0;
    overflow: auto;
    -webkit-transition: all 0.2s linear;
    -o-transition: all 0.2s linear;
    -moz-transition: all 0.2s linear;
    transition: all 0.2s linear; }

/* ==========================================================================
   Sub header
   ========================================================================== */
.l-sub-header {
  display: -webkit-box;
  display: -webkit-flex;
  display: -moz-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -webkit-flex-direction: column;
     -moz-box-orient: vertical;
     -moz-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: center;
  -webkit-align-items: center;
     -moz-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: justify;
  -webkit-justify-content: space-between;
     -moz-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -webkit-box-shadow: 0px 8px 24px -15px black;
     -moz-box-shadow: 0px 8px 24px -15px black;
          box-shadow: 0px 8px 24px -15px black; }
  .l-sub-header.is-active-search .c-categories-submenu-wrapper {
    top: 160px; }
    @media (max-width: 1024px) {
      .l-sub-header.is-active-search .c-categories-submenu-wrapper {
        top: 120px; } }

/* Components
   @mixin ========================================================================= */
/* ==========================================================================
   App CTA
   ========================================================================== */
.c-app-cta__title {
  margin-top: 0;
  font-size: 32px;
  margin-bottom: 50px; }
  .c-app-cta__title .t-special {
    color: #009988; }
  @media (max-width: 1024px) {
    .c-app-cta__title {
      font-size: 28px;
      margin-bottom: 25px; } }

.c-app-cta__content {
  font-size: 1.1rem;
  margin-bottom: 50px;
  line-height: 1.5; }
  .c-app-cta__content .t-bold {
    font-weight: bold; }
  @media (max-width: 1024px) {
    .c-app-cta__content {
      margin-bottom: 25px; } }

.c-app-cta__action {
  display: -webkit-box;
  display: -webkit-flex;
  display: -moz-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
     -moz-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: start;
  -webkit-justify-content: flex-start;
     -moz-box-pack: start;
      -ms-flex-pack: start;
          justify-content: flex-start; }
  .c-app-cta__action .c-link:not(:last-child) {
    margin-right: 10px; }
  .c-app-cta__action .c-link .c-img {
    width: 180px; }

/* ==========================================================================
   App CTA Wrapper
   ========================================================================== */
.c-app-cta-wrapper {
  display: -webkit-box;
  display: -webkit-flex;
  display: -moz-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
     -moz-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: justify;
  -webkit-justify-content: space-between;
     -moz-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  padding: 50px 0; }
  .c-app-cta-wrapper__col {
    width: 50%;
    height: auto; }
    .c-app-cta-wrapper__col:not(:last-child) {
      margin-right: 20px; }
      @media (max-width: 1024px) {
        .c-app-cta-wrapper__col:not(:last-child) {
          margin-right: 0;
          margin-bottom: 20px; } }
    @media (max-width: 1024px) {
      .c-app-cta-wrapper__col {
        width: 100%; } }
  @media (max-width: 1024px) {
    .c-app-cta-wrapper {
      -webkit-box-orient: vertical;
      -webkit-box-direction: normal;
      -webkit-flex-direction: column;
         -moz-box-orient: vertical;
         -moz-box-direction: normal;
          -ms-flex-direction: column;
              flex-direction: column; } }

/* ==========================================================================
   Background Symbol
   ========================================================================== */
.c-bg-symbol {
  position: absolute;
  z-index: -1;
  width: 100%; }

/* ==========================================================================
   Button Buttons
   ========================================================================== */
.c-btn, .c-btn--small, .c-slide__tags__elem .c-link {
  border: none;
  padding: 15px 25px;
  -webkit-border-radius: 25px;
     -moz-border-radius: 25px;
          border-radius: 25px;
  background-color: #fff;
  color: #007C6B;
  font-size: 1.1rem;
  font-weight: bold;
  -webkit-box-shadow: 0px 8px 24px -15px black;
     -moz-box-shadow: 0px 8px 24px -15px black;
          box-shadow: 0px 8px 24px -15px black;
  -webkit-transition: all 0.1s linear;
  -o-transition: all 0.1s linear;
  -moz-transition: all 0.1s linear;
  transition: all 0.1s linear;
  cursor: pointer; }
  .c-btn:hover, .c-btn--small:hover, .c-slide__tags__elem .c-link:hover {
    -webkit-transition: all 0.1s linear;
    -o-transition: all 0.1s linear;
    -moz-transition: all 0.1s linear;
    transition: all 0.1s linear;
    -webkit-transform: scale(1.1);
       -moz-transform: scale(1.1);
        -ms-transform: scale(1.1);
         -o-transform: scale(1.1);
            transform: scale(1.1); }

.c-btn--alt {
  background-color: #009988;
  color: #fff;
  -webkit-box-shadow: 0px 8px 24px -15px black;
     -moz-box-shadow: 0px 8px 24px -15px black;
          box-shadow: 0px 8px 24px -15px black; }

.c-btn--small, .c-slide__tags__elem .c-link {
  padding: 10px;
  font-size: 0.8rem; }

.c-btn--wide {
  padding: 15px 50px; }

.c-btn--arrow {
  display: -webkit-box;
  display: -webkit-flex;
  display: -moz-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
     -moz-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
     -moz-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  position: absolute;
  width: 60px;
  height: 60px;
  bottom: -30px;
  right: 20px;
  -webkit-border-radius: 100%;
     -moz-border-radius: 100%;
          border-radius: 100%;
  background: #009988;
  color: #fff;
  -webkit-transition: all 0.1s linear;
  -o-transition: all 0.1s linear;
  -moz-transition: all 0.1s linear;
  transition: all 0.1s linear;
  cursor: pointer; }
  .c-btn--arrow:hover {
    -webkit-transform: scale(1.1);
       -moz-transform: scale(1.1);
        -ms-transform: scale(1.1);
         -o-transform: scale(1.1);
            transform: scale(1.1);
    -webkit-transition: all 0.1s linear;
    -o-transition: all 0.1s linear;
    -moz-transition: all 0.1s linear;
    transition: all 0.1s linear; }
  .c-btn--arrow .ui-icon {
    font-size: 2em;
    color: white;
    fill: currentColor; }

.c-btn--arrow-small {
  display: -webkit-box;
  display: -webkit-flex;
  display: -moz-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
     -moz-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
     -moz-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  position: absolute;
  width: 52px;
  height: 52px;
  bottom: -26px;
  right: 20px;
  -webkit-border-radius: 100%;
     -moz-border-radius: 100%;
          border-radius: 100%;
  background: #009988;
  color: #fff;
  -webkit-transition: all 0.1s linear;
  -o-transition: all 0.1s linear;
  -moz-transition: all 0.1s linear;
  transition: all 0.1s linear;
  cursor: pointer; }
  .c-btn--arrow-small:hover {
    -webkit-transform: scale(1.1);
       -moz-transform: scale(1.1);
        -ms-transform: scale(1.1);
         -o-transform: scale(1.1);
            transform: scale(1.1);
    -webkit-transition: all 0.1s linear;
    -o-transition: all 0.1s linear;
    -moz-transition: all 0.1s linear;
    transition: all 0.1s linear; }
  .c-btn--arrow-small .ui-icon {
    font-size: 1.25em;
    color: white;
    fill: currentColor; }

.c-btn--arrow-down {
  right: unset; }
  .c-btn--arrow-down .ui-icon {
    -webkit-transform: rotate(90deg);
       -moz-transform: rotate(90deg);
        -ms-transform: rotate(90deg);
         -o-transform: rotate(90deg);
            transform: rotate(90deg); }

/* ==========================================================================
   Button Wrapper
   ========================================================================== */
.c-btn-wrapper {
  display: -webkit-box;
  display: -webkit-flex;
  display: -moz-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
     -moz-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
     -moz-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  padding: 15px 0 25px 0; }

/* ==========================================================================
   Categories Submenu
   ========================================================================== */
.c-categories-submenu {
  display: -webkit-box;
  display: -webkit-flex;
  display: -moz-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
     -moz-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: start;
  -webkit-justify-content: flex-start;
     -moz-box-pack: start;
      -ms-flex-pack: start;
          justify-content: flex-start;
  list-style: none;
  padding: 0;
  margin: 0; }
  .c-categories-submenu__elem {
    padding: 20px; }
    .c-categories-submenu__elem .c-link:hover .c-label {
      color: #007C6B;
      text-decoration: underline; }

/* ==========================================================================
   Categories Submenu Wrapper
   ========================================================================== */
.c-categories-submenu-wrapper {
  display: -webkit-box;
  display: -webkit-flex;
  display: -moz-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
     -moz-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
     -moz-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  position: fixed;
  top: 80px;
  left: 0;
  height: 0;
  width: 100%;
  background-color: #F9F9F9;
  overflow: hidden;
  -webkit-transition: all 0.1s linear;
  -o-transition: all 0.1s linear;
  -moz-transition: all 0.1s linear;
  transition: all 0.1s linear;
  -webkit-box-shadow: 0px 8px 24px -15px black;
     -moz-box-shadow: 0px 8px 24px -15px black;
          box-shadow: 0px 8px 24px -15px black;
  z-index: 99; }
  .c-categories-submenu-wrapper.is-open {
    height: 80px;
    overflow: auto;
    -webkit-transition: all 0.1s linear;
    -o-transition: all 0.1s linear;
    -moz-transition: all 0.1s linear;
    transition: all 0.1s linear; }
    @media (max-width: 1024px) {
      .c-categories-submenu-wrapper.is-open {
        height: 60px; } }
  @media (max-width: 1024px) {
    .c-categories-submenu-wrapper {
      top: 60px; } }

/* ==========================================================================
   Single Comment
   ========================================================================== */
.c-comment {
  margin: 0;
  padding: 15px 0;
  color: #1F1F1F; }
  .c-comment:not(:first-child) {
    margin-top: 15px; }
  .c-comment__author {
    margin: 0;
    padding-bottom: 15px; }
  .c-comment__date {
    margin: 0;
    padding-bottom: 15px;
    text-transform: uppercase;
    font-weight: bold;
    font-size: 14px; }
    @media (max-width: 1024px) {
      .c-comment__date {
        font-size: 13px; } }
  .c-comment__content {
    color: #797979;
    padding: 10px 0 0 0;
    line-height: 1.6; }
    .c-comment__content p {
      margin-top: 0; }
  .c-comment__reply {
    display: -webkit-box;
    display: -webkit-flex;
    display: -moz-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -webkit-align-items: center;
       -moz-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    -webkit-box-pack: end;
    -webkit-justify-content: flex-end;
       -moz-box-pack: end;
        -ms-flex-pack: end;
            justify-content: flex-end; }
    .c-comment__reply a {
      color: #009988; }

/* ==========================================================================
   Comment form
   ========================================================================== */
.c-comment-form {
  display: -webkit-box;
  display: -webkit-flex;
  display: -moz-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
  -webkit-flex-direction: row;
     -moz-box-orient: horizontal;
     -moz-box-direction: normal;
      -ms-flex-direction: row;
          flex-direction: row;
  -webkit-flex-wrap: wrap;
      -ms-flex-wrap: wrap;
          flex-wrap: wrap;
  -webkit-box-align: start;
  -webkit-align-items: flex-start;
     -moz-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
  -webkit-box-pack: justify;
  -webkit-justify-content: space-between;
     -moz-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between; }
  .c-comment-form .w-100, .c-comment-form .logged-in-as, .c-comment-form .c-comment-form__comment, .c-comment-form .comment-form-cookies-consent, .c-comment-form .form-submit {
    width: 100%; }
  .c-comment-form .w-50, .c-comment-form .c-comment-form__author, .c-comment-form .c-comment-form__email {
    width: -webkit-calc(50% - 7.5px);
    width: -moz-calc(50% - 7.5px);
    width: calc(50% - 7.5px); }
  .c-comment-form p {
    position: relative;
    padding: 0;
    margin: 0; }
    .c-comment-form p:not(:last-of-type) {
      margin-bottom: 15px; }
  .c-comment-form label {
    position: absolute;
    top: 0;
    left: 0;
    font-size: 18px;
    line-height: 46px;
    height: 46px;
    color: #009988; }
  .c-comment-form input[type="text"], .c-comment-form textarea {
    width: 100%;
    margin: 0;
    border: 0;
    border-bottom: 1px solid #D6D6D6;
    font-size: 18px; }
  .c-comment-form input[type="text"] {
    line-height: 46px;
    height: 46px; }
  .c-comment-form textarea {
    line-height: 30px;
    resize: none; }
  .c-comment-form .logged-in-as {
    -webkit-box-ordinal-group: 1;
    -webkit-order: 0;
       -moz-box-ordinal-group: 1;
        -ms-flex-order: 0;
            order: 0; }
  .c-comment-form__author {
    -webkit-box-ordinal-group: 2;
    -webkit-order: 1;
       -moz-box-ordinal-group: 2;
        -ms-flex-order: 1;
            order: 1; }
  .c-comment-form__email {
    -webkit-box-ordinal-group: 3;
    -webkit-order: 2;
       -moz-box-ordinal-group: 3;
        -ms-flex-order: 2;
            order: 2; }
  .c-comment-form__comment {
    -webkit-box-ordinal-group: 4;
    -webkit-order: 3;
       -moz-box-ordinal-group: 4;
        -ms-flex-order: 3;
            order: 3; }
  .c-comment-form .comment-form-cookies-consent {
    -webkit-box-ordinal-group: 5;
    -webkit-order: 4;
       -moz-box-ordinal-group: 5;
        -ms-flex-order: 4;
            order: 4; }
    .c-comment-form .comment-form-cookies-consent label {
      line-height: 1.1;
      padding-left: 25px; }
  .c-comment-form .form-submit {
    display: -webkit-box;
    display: -webkit-flex;
    display: -moz-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -webkit-align-items: center;
       -moz-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    -webkit-box-pack: center;
    -webkit-justify-content: center;
       -moz-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    -webkit-box-ordinal-group: 6;
    -webkit-order: 5;
       -moz-box-ordinal-group: 6;
        -ms-flex-order: 5;
            order: 5; }

/* ==========================================================================
   Comment list
   ========================================================================== */
.c-comment-list {
  list-style: none;
  padding: 0; }
  .c-comment-list__sub {
    padding: 0;
    list-style: none;
    margin: 15px 0 15px 15px; }
    .c-comment-list__sub .c-comment {
      padding: 25px;
      background-color: #F9F9F9; }

/* ==========================================================================
   Download Img
   ========================================================================== */
.c-download-img {
  width: 180px;
  margin-right: 10px; }

/* ==========================================================================
  Floating CTA
   ========================================================================== */
.c-floating-cta {
  display: -webkit-box;
  display: -webkit-flex;
  display: -moz-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
  -webkit-flex-direction: row;
     -moz-box-orient: horizontal;
     -moz-box-direction: normal;
      -ms-flex-direction: row;
          flex-direction: row;
  max-width: 100%;
  position: fixed;
  left: 0;
  bottom: 0;
  padding: 20px;
  z-index: 999; }
  .c-floating-cta__wrapper {
    background-color: white;
    -webkit-box-shadow: 0px 8px 24px -15px black;
       -moz-box-shadow: 0px 8px 24px -15px black;
            box-shadow: 0px 8px 24px -15px black;
    padding: 25px 35px;
    display: -webkit-box;
    display: -webkit-flex;
    display: -moz-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
    -webkit-flex-direction: row;
       -moz-box-orient: horizontal;
       -moz-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
    -webkit-box-align: center;
    -webkit-align-items: center;
       -moz-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    -webkit-box-pack: start;
    -webkit-justify-content: flex-start;
       -moz-box-pack: start;
        -ms-flex-pack: start;
            justify-content: flex-start; }
  .c-floating-cta__text {
    margin: 0;
    padding: 0;
    margin-right: 30px; }

/* ==========================================================================
   Footer Nav
   ========================================================================== */
.c-footer-nav {
  list-style: none;
  margin: 0;
  padding: 0;
  margin-top: 15px; }
  .c-footer-nav__item {
    padding-bottom: 15px; }
    .c-footer-nav__item:hover .c-link {
      text-decoration: underline; }

/* ==========================================================================
   Footer Section
   ========================================================================== */
.c-footer-section {
  width: 25%; }
  .c-footer-section:not(:last-child) {
    margin-right: 25px; }
  .c-footer-section:first-child {
    margin-right: auto; }
  .c-footer-section--wide {
    width: 33%; }
  .c-footer-section .c-social-nav {
    -webkit-box-pack: start;
    -webkit-justify-content: flex-start;
       -moz-box-pack: start;
        -ms-flex-pack: start;
            justify-content: flex-start; }
  .c-footer-section__title {
    font-weight: bold;
    letter-spacing: 1px;
    font-size: 15px;
    text-transform: uppercase;
    margin-bottom: 30px; }
    @media (max-width: 767px) {
      .c-footer-section__title {
        margin-bottom: initial; } }
  .c-footer-section__content {
    margin-bottom: 15px;
    line-height: 1.5; }
  .c-footer-section__row {
    display: -webkit-box;
    display: -webkit-flex;
    display: -moz-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -webkit-align-items: center;
       -moz-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    -webkit-box-pack: justify;
    -webkit-justify-content: space-between;
       -moz-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
    margin-top: 15px; }
    .c-footer-section__row .c-link:not(:last-child) {
      margin-right: 15px; }
  @media (max-width: 1024px) {
    .c-footer-section {
      width: 50%; }
      .c-footer-section:not(:last-child) {
        margin-right: 0;
        margin-bottom: 40px; }
      .c-footer-section:nth-child(2) {
        padding-right: 25px; }
      .c-footer-section--wide {
        width: 100%; } }
  @media (max-width: 767px) {
    .c-footer-section {
      width: 100%; }
      .c-footer-section:nth-child(2) {
        padding-right: 0; }
      .c-footer-section:not(:last-child) {
        margin-right: 0;
        margin-bottom: 30px; } }

/* ==========================================================================
   Footer Wrapper
   ========================================================================== */
.c-footer-wrapper {
  display: -webkit-box;
  display: -webkit-flex;
  display: -moz-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -webkit-flex-direction: column;
     -moz-box-orient: vertical;
     -moz-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: center;
  -webkit-align-items: center;
     -moz-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  padding: 30px 0; }
  .c-footer-wrapper__row {
    display: -webkit-box;
    display: -webkit-flex;
    display: -moz-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: start;
    -webkit-align-items: flex-start;
       -moz-box-align: start;
        -ms-flex-align: start;
            align-items: flex-start;
    -webkit-box-pack: justify;
    -webkit-justify-content: space-between;
       -moz-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
    width: 100%; }
    .c-footer-wrapper__row:not(:last-child) {
      padding-bottom: 40px; }
    @media (max-width: 1024px) {
      .c-footer-wrapper__row {
        -webkit-flex-wrap: wrap;
            -ms-flex-wrap: wrap;
                flex-wrap: wrap; }
        .c-footer-wrapper__row:not(:last-child) {
          padding-bottom: 0; } }
  @media (max-width: 767px) {
    .c-footer-wrapper {
      padding: 15px 0; } }

/* ==========================================================================
Forms
========================================================================== */
/* ==========================================================================
   Header Button
   ========================================================================== */
.c-header-btn {
  display: -webkit-box;
  display: -webkit-flex;
  display: -moz-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
     -moz-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  height: 100%; }
  .c-header-btn .c-header-btn__action {
    cursor: pointer; }
  .c-header-btn--burger .c-header-btn__action {
    border: none;
    font-size: 0px;
    background: none;
    padding: 20px 10px; }
    .c-header-btn--burger .c-header-btn__action .c-label {
      display: block;
      position: relative;
      background: white;
      width: 30px;
      height: 2px;
      -webkit-border-radius: 2px;
         -moz-border-radius: 2px;
              border-radius: 2px; }
      .c-header-btn--burger .c-header-btn__action .c-label:after, .c-header-btn--burger .c-header-btn__action .c-label:before {
        content: '';
        display: block;
        position: absolute;
        width: 30px;
        height: 2px;
        background-color: #fff;
        left: 0; }
      .c-header-btn--burger .c-header-btn__action .c-label:after {
        top: 8px; }
      .c-header-btn--burger .c-header-btn__action .c-label:before {
        top: -8px; }
    .c-header-btn--burger .c-header-btn__action.is-active .c-label {
      background-color: transparent;
      -webkit-transition: all 0.1s linear;
      -o-transition: all 0.1s linear;
      -moz-transition: all 0.1s linear;
      transition: all 0.1s linear; }
      .c-header-btn--burger .c-header-btn__action.is-active .c-label:after, .c-header-btn--burger .c-header-btn__action.is-active .c-label:before {
        top: 0;
        -webkit-transition: all 0.1s linear;
        -o-transition: all 0.1s linear;
        -moz-transition: all 0.1s linear;
        transition: all 0.1s linear; }
      .c-header-btn--burger .c-header-btn__action.is-active .c-label:after {
        -webkit-transform: rotate(45deg);
           -moz-transform: rotate(45deg);
            -ms-transform: rotate(45deg);
             -o-transform: rotate(45deg);
                transform: rotate(45deg); }
      .c-header-btn--burger .c-header-btn__action.is-active .c-label:before {
        -webkit-transform: rotate(-45deg);
           -moz-transform: rotate(-45deg);
            -ms-transform: rotate(-45deg);
             -o-transform: rotate(-45deg);
                transform: rotate(-45deg); }
  @media (min-width: 1025px) {
    .c-header-btn--burger {
      display: none; } }
  .c-header-btn--search .c-header-btn__action {
    border: none;
    background: none;
    padding: 10px; }
    .c-header-btn--search .c-header-btn__action:hover {
      background-color: white;
      -webkit-border-radius: 50%;
         -moz-border-radius: 50%;
              border-radius: 50%; }
      .c-header-btn--search .c-header-btn__action:hover .ui-icon {
        color: #009988;
        fill: currentColor; }
    .c-header-btn--search .c-header-btn__action .c-label {
      display: block;
      width: 30px;
      height: 30px;
      background-image: url("../img/search.svg");
      -webkit-background-size: contain;
         -moz-background-size: contain;
           -o-background-size: contain;
              background-size: contain; }
    .c-header-btn--search .c-header-btn__action .ui-icon {
      font-size: 1.5em;
      color: #fff;
      fill: currentColor; }
    .c-header-btn--search .c-header-btn__action.is-open {
      opacity: .8; }
      .c-header-btn--search .c-header-btn__action.is-open .ui-icon {
        color: #009988; }
  @media (max-width: 1024px) {
    .c-header-btn--search {
      display: none; } }
  .c-header-btn--dark .c-header-btn__action .c-label {
    background-color: #009988; }
    .c-header-btn--dark .c-header-btn__action .c-label:after, .c-header-btn--dark .c-header-btn__action .c-label:before {
      background-color: #009988; }

.l-header.is-active .c-header-btn__action .c-label, .l-header.is-active .c-header-btn__action .c-label:before, .l-header.is-active .c-header-btn__action .c-label:after {
  background-color: #009988;
  -webkit-transition: all 0.1s linear;
  -o-transition: all 0.1s linear;
  -moz-transition: all 0.1s linear;
  transition: all 0.1s linear; }

/* ==========================================================================
   Header nav
   ========================================================================== */
.c-header-nav-wrapper {
  display: -webkit-box;
  display: -webkit-flex;
  display: -moz-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
  -webkit-flex-direction: row;
     -moz-box-orient: horizontal;
     -moz-box-direction: normal;
      -ms-flex-direction: row;
          flex-direction: row;
  -webkit-box-align: center;
  -webkit-align-items: center;
     -moz-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
     -moz-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center; }

.c-header-nav {
  display: -webkit-box;
  display: -webkit-flex;
  display: -moz-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
  -webkit-flex-direction: row;
     -moz-box-orient: horizontal;
     -moz-box-direction: normal;
      -ms-flex-direction: row;
          flex-direction: row;
  -webkit-box-align: center;
  -webkit-align-items: center;
     -moz-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  margin: 0;
  padding: 0; }
  .c-header-nav__item {
    list-style: none;
    margin: 0 15px;
    font-size: 1.1rem; }
    .c-header-nav__item:first-child {
      display: none; }
    .c-header-nav__item.menu-item-has-children {
      position: relative; }
      .c-header-nav__item.menu-item-has-children .c-link {
        padding-right: 30px; }
      .c-header-nav__item.menu-item-has-children .c-label:before, .c-header-nav__item.menu-item-has-children .c-label:after {
        content: '';
        position: absolute;
        display: block;
        width: 8px;
        height: 2px;
        background-color: #fff; }
      .c-header-nav__item.menu-item-has-children .c-label:before {
        top: 8px;
        right: 10px;
        -webkit-transform: rotate(-45deg);
           -moz-transform: rotate(-45deg);
            -ms-transform: rotate(-45deg);
             -o-transform: rotate(-45deg);
                transform: rotate(-45deg); }
      .c-header-nav__item.menu-item-has-children .c-label:after {
        top: 8px;
        right: 15px;
        -webkit-transform: rotate(45deg);
           -moz-transform: rotate(45deg);
            -ms-transform: rotate(45deg);
             -o-transform: rotate(45deg);
                transform: rotate(45deg); }
      .c-header-nav__item.menu-item-has-children:hover .c-label {
        color: #009988; }
        .c-header-nav__item.menu-item-has-children:hover .c-label:before, .c-header-nav__item.menu-item-has-children:hover .c-label:after {
          background-color: #007C6B; }
    .c-header-nav__item.current-menu-item {
      font-weight: bold;
      color: #007C6B; }
    .c-header-nav__item.is-open {
      font-weight: bold; }
    .c-header-nav__item .c-link {
      padding: 10px; }
      .c-header-nav__item .c-link .c-label {
        color: #fff; }
    .c-header-nav__item:hover .c-link {
      background: #fff;
      -webkit-border-radius: 20px;
         -moz-border-radius: 20px;
              border-radius: 20px; }
      .c-header-nav__item:hover .c-link .c-label {
        color: #007C6B; }
  .c-header-nav--horizontal {
    width: auto;
    margin-left: auto;
    margin-right: auto; }
    @media (max-width: 1024px) {
      .c-header-nav--horizontal {
        display: none; } }

.l-header.is-active .c-header-nav__item .c-link .c-label, .l-header.is-active-cat .c-header-nav__item .c-link .c-label, .l-header.is-active-search .c-header-nav__item .c-link .c-label, .l-header.is-scrolled .c-header-nav__item .c-link .c-label {
  color: #000; }

.l-header.is-active .c-header-nav__item.menu-item-has-children .c-link .c-label:before, .l-header.is-active .c-header-nav__item.menu-item-has-children .c-link .c-label:after, .l-header.is-active-cat .c-header-nav__item.menu-item-has-children .c-link .c-label:before, .l-header.is-active-cat .c-header-nav__item.menu-item-has-children .c-link .c-label:after, .l-header.is-active-search .c-header-nav__item.menu-item-has-children .c-link .c-label:before, .l-header.is-active-search .c-header-nav__item.menu-item-has-children .c-link .c-label:after, .l-header.is-scrolled .c-header-nav__item.menu-item-has-children .c-link .c-label:before, .l-header.is-scrolled .c-header-nav__item.menu-item-has-children .c-link .c-label:after {
  background-color: #000; }

.l-header.is-active .c-header-nav__item:hover .c-link .c-label, .l-header.is-active-cat .c-header-nav__item:hover .c-link .c-label, .l-header.is-active-search .c-header-nav__item:hover .c-link .c-label, .l-header.is-scrolled .c-header-nav__item:hover .c-link .c-label {
  text-decoration: underline;
  color: #007C6B; }

.l-header.is-active .c-header-nav__item:hover.menu-item-has-children .c-link .c-label:before, .l-header.is-active .c-header-nav__item:hover.menu-item-has-children .c-link .c-label:after, .l-header.is-active-cat .c-header-nav__item:hover.menu-item-has-children .c-link .c-label:before, .l-header.is-active-cat .c-header-nav__item:hover.menu-item-has-children .c-link .c-label:after, .l-header.is-active-search .c-header-nav__item:hover.menu-item-has-children .c-link .c-label:before, .l-header.is-active-search .c-header-nav__item:hover.menu-item-has-children .c-link .c-label:after, .l-header.is-scrolled .c-header-nav__item:hover.menu-item-has-children .c-link .c-label:before, .l-header.is-scrolled .c-header-nav__item:hover.menu-item-has-children .c-link .c-label:after {
  background-color: #007C6B; }

.l-header.is-active .ui-icon, .l-header.is-active-cat .ui-icon, .l-header.is-active-search .ui-icon, .l-header.is-scrolled .ui-icon {
  color: #009988; }

/* ==========================================================================
   Static Hero
   ========================================================================== */
.c-hero-static {
  display: -webkit-box;
  display: -webkit-flex;
  display: -moz-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
     -moz-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
     -moz-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  height: 75vh;
  position: relative;
  -webkit-background-size: cover;
     -moz-background-size: cover;
       -o-background-size: cover;
          background-size: cover;
  background-position: 50% 50%; }
  .c-hero-static .l-inner {
    z-index: 50; }
  .c-hero-static__date, .c-hero-static__title {
    margin: 0;
    padding: 0;
    max-width: 80%; }
    @media (max-width: 1024px) {
      .c-hero-static__date, .c-hero-static__title {
        max-width: 100%; } }
  .c-hero-static__date {
    padding-bottom: 15px;
    color: #fff;
    text-transform: uppercase;
    font-weight: bold;
    font-size: 15px; }
    @media (max-width: 1024px) {
      .c-hero-static__date {
        font-size: 13px; } }
  .c-hero-static__title {
    padding-bottom: 30px;
    color: #fff;
    font-size: 48px; }
    @media (max-width: 767px) {
      .c-hero-static__title {
        padding-bottom: 50px;
        font-size: 42px; } }
  .c-hero-static__desc {
    color: white; }
  .c-hero-static__overlay {
    z-index: 49;
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: -moz-linear-gradient(left, rgba(0, 0, 0, 0.85) 0%, rgba(0, 0, 0, 0) 100%);
    background: -webkit-linear-gradient(left, rgba(0, 0, 0, 0.85) 0%, rgba(0, 0, 0, 0) 100%);
    background: -webkit-gradient(linear, left top, right top, from(rgba(0, 0, 0, 0.85)), to(rgba(0, 0, 0, 0)));
    background: -o-linear-gradient(left, rgba(0, 0, 0, 0.85) 0%, rgba(0, 0, 0, 0) 100%);
    background: linear-gradient(to right, rgba(0, 0, 0, 0.85) 0%, rgba(0, 0, 0, 0) 100%);
    filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#ff000000', endColorstr='#00000000',GradientType=1 ); }
  .c-hero-static--low {
    height: 50vh; }
  .c-hero-static--high {
    height: 100vh; }
  .c-hero-static--alt {
    color: white;
    text-align: center; }
    .c-hero-static--alt .c-hero-static__title {
      max-width: 100%; }

/* ==========================================================================
   Home Posts
   ========================================================================== */
.c-home-posts {
  display: -webkit-box;
  display: -webkit-flex;
  display: -moz-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-wrap: wrap;
      -ms-flex-wrap: wrap;
          flex-wrap: wrap;
  margin: 0;
  padding: 0;
  margin-top: -75px;
  z-index: 60; }

/* ==========================================================================
   Home Slider
   ========================================================================== */
.c-home-slider {
  position: relative; }
  .c-home-slider__wrapper {
    padding: 0;
    margin: 0;
    list-style: none; }
    .c-home-slider__wrapper .c-slide {
      -webkit-background-size: cover;
         -moz-background-size: cover;
           -o-background-size: cover;
              background-size: cover;
      background-position: 50% 50%; }
  .c-home-slider__pagination {
    display: -webkit-box;
    display: -webkit-flex;
    display: -moz-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -webkit-align-items: center;
       -moz-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    -webkit-box-pack: end;
    -webkit-justify-content: flex-end;
       -moz-box-pack: end;
        -ms-flex-pack: end;
            justify-content: flex-end;
    z-index: 10;
    margin: 0;
    padding: 0;
    margin-top: -120px; }
    .c-home-slider__pagination__bullet {
      display: block;
      width: 15px;
      height: 15px;
      background: white;
      opacity: .25;
      cursor: pointer;
      -webkit-border-radius: 100%;
         -moz-border-radius: 100%;
              border-radius: 100%;
      margin-right: 15px;
      margin-bottom: 10px; }
      .c-home-slider__pagination__bullet.is-active {
        opacity: 1; }
      .c-home-slider__pagination__bullet:last-of-type {
        margin-right: 20px; }

/* ==========================================================================
   Lang switcher
   ========================================================================== */
.c-lang-switcher {
  display: -webkit-box;
  display: -webkit-flex;
  display: -moz-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
     -moz-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
     -moz-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  font-size: 1.1rem;
  margin-right: 20px;
  list-style: none; }
  .c-lang-switcher .wpml-ls-legacy-dropdown {
    width: auto; }
    .c-lang-switcher .wpml-ls-legacy-dropdown .wpml-ls-current-language > a {
      color: #fff;
      background: transparent;
      padding: 10px 15px;
      padding-right: 30px; }
      .c-lang-switcher .wpml-ls-legacy-dropdown .wpml-ls-current-language > a:after {
        display: none; }
      .c-lang-switcher .wpml-ls-legacy-dropdown .wpml-ls-current-language > a span {
        position: relative; }
        .c-lang-switcher .wpml-ls-legacy-dropdown .wpml-ls-current-language > a span:before, .c-lang-switcher .wpml-ls-legacy-dropdown .wpml-ls-current-language > a span:after {
          content: '';
          position: absolute;
          border: none;
          display: block;
          width: 8px;
          height: 2px;
          background-color: #fff; }
        .c-lang-switcher .wpml-ls-legacy-dropdown .wpml-ls-current-language > a span:before {
          top: 8px;
          right: -18px;
          -webkit-transform: rotate(-45deg);
             -moz-transform: rotate(-45deg);
              -ms-transform: rotate(-45deg);
               -o-transform: rotate(-45deg);
                  transform: rotate(-45deg); }
        .c-lang-switcher .wpml-ls-legacy-dropdown .wpml-ls-current-language > a span:after {
          top: 8px;
          right: -14px;
          -webkit-transform: rotate(45deg);
             -moz-transform: rotate(45deg);
              -ms-transform: rotate(45deg);
               -o-transform: rotate(45deg);
                  transform: rotate(45deg); }
    .c-lang-switcher .wpml-ls-legacy-dropdown .wpml-ls-current-language:hover > a {
      background-color: #fff;
      color: #009988;
      -webkit-border-top-left-radius: 20px;
         -moz-border-radius-topleft: 20px;
              border-top-left-radius: 20px;
      -webkit-border-top-right-radius: 20px;
         -moz-border-radius-topright: 20px;
              border-top-right-radius: 20px; }
      .c-lang-switcher .wpml-ls-legacy-dropdown .wpml-ls-current-language:hover > a span:before, .c-lang-switcher .wpml-ls-legacy-dropdown .wpml-ls-current-language:hover > a span:after {
        background-color: #009988; }
    .c-lang-switcher .wpml-ls-legacy-dropdown .wpml-ls-sub-menu {
      border: none; }
      .c-lang-switcher .wpml-ls-legacy-dropdown .wpml-ls-sub-menu .wpml-ls-item {
        text-align: center;
        border: none;
        position: relative;
        text-align: left; }
        .c-lang-switcher .wpml-ls-legacy-dropdown .wpml-ls-sub-menu .wpml-ls-item:before {
          content: '';
          display: block;
          position: absolute;
          top: 0;
          left: 15%;
          width: 70%;
          height: 1px;
          background-color: #F0F0F0; }
        .c-lang-switcher .wpml-ls-legacy-dropdown .wpml-ls-sub-menu .wpml-ls-item a {
          color: #009988;
          background-color: #fff;
          padding: 10px;
          padding-left: 15px; }
          .c-lang-switcher .wpml-ls-legacy-dropdown .wpml-ls-sub-menu .wpml-ls-item a span {
            color: #009988; }
        .c-lang-switcher .wpml-ls-legacy-dropdown .wpml-ls-sub-menu .wpml-ls-item.wpml-ls-last-item a {
          -webkit-border-bottom-left-radius: 20px;
             -moz-border-radius-bottomleft: 20px;
                  border-bottom-left-radius: 20px;
          -webkit-border-bottom-right-radius: 20px;
             -moz-border-radius-bottomright: 20px;
                  border-bottom-right-radius: 20px; }
  .c-lang-switcher a {
    border: none;
    background: transparent; }
    .c-lang-switcher a:hover {
      text-decoration: underline; }

.l-header.is-active .wpml-ls-current-language > a, .l-header.is-active-cat .wpml-ls-current-language > a, .l-header.is-active-search .wpml-ls-current-language > a, .l-header.is-scrolled .wpml-ls-current-language > a {
  color: #000; }
  .l-header.is-active .wpml-ls-current-language > a span:after, .l-header.is-active .wpml-ls-current-language > a span:before, .l-header.is-active-cat .wpml-ls-current-language > a span:after, .l-header.is-active-cat .wpml-ls-current-language > a span:before, .l-header.is-active-search .wpml-ls-current-language > a span:after, .l-header.is-active-search .wpml-ls-current-language > a span:before, .l-header.is-scrolled .wpml-ls-current-language > a span:after, .l-header.is-scrolled .wpml-ls-current-language > a span:before {
    background-color: #000; }

@media (max-width: 1024px) {
  .l-header .c-lang-switcher {
    display: none; } }

.c-side-panel__header .c-lang-switcher .wpml-ls-current-language > a {
  color: #fff;
  background-color: #009988;
  -webkit-border-radius: 20px;
     -moz-border-radius: 20px;
          border-radius: 20px; }
  .c-side-panel__header .c-lang-switcher .wpml-ls-current-language > a span:after, .c-side-panel__header .c-lang-switcher .wpml-ls-current-language > a span:before {
    background-color: #fff; }

.c-side-panel__header .c-lang-switcher .wpml-ls-current-language:hover > a {
  background-color: #009988;
  color: #fff;
  -webkit-border-top-left-radius: 20px;
     -moz-border-radius-topleft: 20px;
          border-top-left-radius: 20px;
  -webkit-border-top-right-radius: 20px;
     -moz-border-radius-topright: 20px;
          border-top-right-radius: 20px;
  -webkit-border-bottom-left-radius: 0;
     -moz-border-radius-bottomleft: 0;
          border-bottom-left-radius: 0;
  -webkit-border-bottom-right-radius: 0;
     -moz-border-radius-bottomright: 0;
          border-bottom-right-radius: 0; }
  .c-side-panel__header .c-lang-switcher .wpml-ls-current-language:hover > a span:before, .c-side-panel__header .c-lang-switcher .wpml-ls-current-language:hover > a span:after {
    background-color: #fff; }

.c-side-panel__header .c-lang-switcher .wpml-ls-sub-menu .wpml-ls-item a {
  color: #fff;
  background-color: #009988; }
  .c-side-panel__header .c-lang-switcher .wpml-ls-sub-menu .wpml-ls-item a span {
    color: #fff; }

/* ==========================================================================
   Link
   ========================================================================== */
.l-main .c-link {
  display: inline-block; }
  .l-main .c-link .c-label {
    position: relative;
    z-index: 1; }
    .l-main .c-link .c-label:after {
      content: '';
      position: absolute;
      left: 0;
      bottom: 0;
      height: 1px;
      width: 0;
      background-color: #009988;
      -webkit-transition: all 0.1s linear;
      -o-transition: all 0.1s linear;
      -moz-transition: all 0.1s linear;
      transition: all 0.1s linear;
      z-index: -1; }
  .l-main .c-link:visited .c-label, .l-main .c-link:active .c-label, .l-main .c-link:focus .c-label {
    color: #007C6B; }
  .l-main .c-link:hover .c-label {
    color: #007C6B; }
    .l-main .c-link:hover .c-label:after {
      width: 100%; }

/* ==========================================================================
   Logo
   ========================================================================== */
.c-logo {
  display: block;
  width: 128px;
  height: 50px; }
  .c-logo__link {
    height: 100%;
    display: block; }
    .c-logo__link .c-img {
      height: 100%;
      width: auto; }
  @media (max-width: 1024px) {
    .c-logo {
      width: 102px;
      height: 40px; } }

/* ==========================================================================
   Newsletter form
   ========================================================================== */
.c-newsletter-form {
  position: relative; }
  .c-newsletter-form__label {
    position: absolute;
    line-height: 50px;
    padding: 0 15px;
    color: #D6D6D6; }
  .c-newsletter-form__input {
    width: 100%;
    height: 50px;
    padding: 0 15px;
    border: 1px solid #D6D6D6; }

/* ==========================================================================
   Newsletter result text
   ========================================================================== */
.c-newsletter-result {
  margin-top: 20px;
  width: 75%; }
  .c-newsletter-result__text {
    height: 0;
    padding: 0;
    overflow: hidden;
    color: white;
    -webkit-border-radius: 20px;
       -moz-border-radius: 20px;
            border-radius: 20px; }
    .c-newsletter-result__text--success {
      background-color: #009988; }
    .c-newsletter-result__text--error {
      background-color: crimson; }
    .c-newsletter-result__text.is-visible {
      height: auto;
      padding: 10px;
      overflow: auto; }

/* ==========================================================================
   Pagination
   ========================================================================== */
.c-pagination {
  padding: 25px 0;
  font-size: 1.4rem; }
  .c-pagination .page-numbers {
    padding: 0 15px; }
    .c-pagination .page-numbers.current {
      font-weight: bold; }

/* ==========================================================================
   Post
   ========================================================================== */
.c-post {
  display: -webkit-box;
  display: -webkit-flex;
  display: -moz-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -webkit-flex-direction: column;
     -moz-box-orient: vertical;
     -moz-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  position: relative;
  margin-bottom: 60px;
  background-color: white;
  -webkit-box-shadow: 0px 0px 46px 0px rgba(0, 0, 0, 0.2);
     -moz-box-shadow: 0px 0px 46px 0px rgba(0, 0, 0, 0.2);
          box-shadow: 0px 0px 46px 0px rgba(0, 0, 0, 0.2);
  -webkit-transition: all 0.1s linear;
  -o-transition: all 0.1s linear;
  -moz-transition: all 0.1s linear;
  transition: all 0.1s linear; }
  .c-post__content {
    padding: 20px 30px 50px 30px; }
  .c-post__date {
    text-transform: uppercase;
    font-weight: bold;
    letter-spacing: 1px; }
  .c-post__title {
    font-size: 28px;
    font-weight: 500;
    margin: 0;
    padding: 0; }
  .c-post__excerpt {
    line-height: 1.75; }
    .c-post__excerpt .c-link {
      color: #009988; }
      .c-post__excerpt .c-link:hover {
        text-decoration: underline; }
  .c-post.c-post--one-third {
    width: -webkit-calc((100% - 60px) / 3);
    width: -moz-calc((100% - 60px) / 3);
    width: calc((100% - 60px) / 3); }
    .c-post.c-post--one-third .c-post__decor {
      width: 100%;
      height: 190px;
      position: relative; }
      @media (max-width: 1024px) {
        .c-post.c-post--one-third .c-post__decor {
          height: 300px; } }
      @media (max-width: 767px) {
        .c-post.c-post--one-third .c-post__decor {
          max-width: 100%;
          height: 200px; } }
    .c-post.c-post--one-third .c-post__fig {
      width: 100%;
      height: 100%;
      padding: 0;
      margin: 0;
      position: relative; }
      @media (max-width: 1024px) {
        .c-post.c-post--one-third .c-post__fig {
          width: 300px; } }
      @media (max-width: 767px) {
        .c-post.c-post--one-third .c-post__fig {
          width: 100%; } }
    .c-post.c-post--one-third .c-post__thumb {
      width: 100%;
      height: 100%;
      -o-object-fit: cover;
         object-fit: cover; }
    .c-post.c-post--one-third .c-post__excerpt {
      display: none; }
      @media (max-width: 1024px) {
        .c-post.c-post--one-third .c-post__excerpt {
          display: block; } }
      @media (max-width: 767px) {
        .c-post.c-post--one-third .c-post__excerpt {
          display: none; } }
    .c-post.c-post--one-third:not(:nth-child(3n+0)) {
      margin-right: 30px; }
      @media (max-width: 1024px) {
        .c-post.c-post--one-third:not(:nth-child(3n+0)) {
          margin-right: 0; } }
    .c-post.c-post--one-third:before {
      content: '';
      width: 100%;
      height: 75px;
      position: absolute;
      top: 0;
      left: 0;
      -webkit-box-shadow: 0px -10px 70px -10px rgba(0, 0, 0, 0.75);
         -moz-box-shadow: 0px -10px 70px -10px rgba(0, 0, 0, 0.75);
              box-shadow: 0px -10px 70px -10px rgba(0, 0, 0, 0.75);
      z-index: -1; }
    @media (max-width: 1024px) {
      .c-post.c-post--one-third:not(:first-child):before {
        display: none; } }
    @media (max-width: 1024px) {
      .c-post.c-post--one-third {
        width: 100%;
        -webkit-box-orient: horizontal;
        -webkit-box-direction: normal;
        -webkit-flex-direction: row;
           -moz-box-orient: horizontal;
           -moz-box-direction: normal;
            -ms-flex-direction: row;
                flex-direction: row; } }
    @media (max-width: 767px) {
      .c-post.c-post--one-third {
        -webkit-box-orient: vertical;
        -webkit-box-direction: normal;
        -webkit-flex-direction: column;
           -moz-box-orient: vertical;
           -moz-box-direction: normal;
            -ms-flex-direction: column;
                flex-direction: column; } }
  .c-post.c-post--full-width {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
    -webkit-flex-direction: row;
       -moz-box-orient: horizontal;
       -moz-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
    position: relative;
    width: 100%; }
    @media (min-width: 1025px) {
      .c-post.c-post--full-width {
        height: 320px; } }
    @media (max-width: 1024px) {
      .c-post.c-post--full-width .c-post__decor {
        max-width: 50%; } }
    @media (max-width: 767px) {
      .c-post.c-post--full-width .c-post__decor {
        max-width: 100%; } }
    .c-post.c-post--full-width .c-post__fig {
      width: 450px;
      height: 100%;
      padding: 0;
      margin: 0;
      position: relative; }
      @media (max-width: 1024px) {
        .c-post.c-post--full-width .c-post__fig {
          width: 300px; } }
      @media (max-width: 767px) {
        .c-post.c-post--full-width .c-post__fig {
          width: 100%; } }
    .c-post.c-post--full-width .c-post__thumb {
      width: 100%;
      height: 100%;
      -o-object-fit: cover;
         object-fit: cover; }
    @media (max-width: 767px) {
      .c-post.c-post--full-width .c-post__excerpt {
        display: none; } }
    @media (max-width: 767px) {
      .c-post.c-post--full-width {
        -webkit-box-orient: vertical;
        -webkit-box-direction: normal;
        -webkit-flex-direction: column;
           -moz-box-orient: vertical;
           -moz-box-direction: normal;
            -ms-flex-direction: column;
                flex-direction: column; } }
  .c-post.c-post--one-second {
    width: -webkit-calc((100% - 30px) / 2);
    width: -moz-calc((100% - 30px) / 2);
    width: calc((100% - 30px) / 2); }
    @media (max-width: 767px) {
      .c-post.c-post--one-second .c-post__excerpt {
        display: none; } }
    .c-post.c-post--one-second:not(:nth-child(2n+0)) {
      margin-right: 30px; }
      @media (max-width: 767px) {
        .c-post.c-post--one-second:not(:nth-child(2n+0)) {
          margin-right: 0; } }
    @media (max-width: 767px) {
      .c-post.c-post--one-second {
        width: 100%; } }
  .c-post:hover {
    -webkit-transition: all 0.1s linear;
    -o-transition: all 0.1s linear;
    -moz-transition: all 0.1s linear;
    transition: all 0.1s linear;
    -webkit-box-shadow: 0px 0px 46px 0px rgba(0, 0, 0, 0.4);
       -moz-box-shadow: 0px 0px 46px 0px rgba(0, 0, 0, 0.4);
            box-shadow: 0px 0px 46px 0px rgba(0, 0, 0, 0.4); }

/* ==========================================================================
   Post nav submenu
   ========================================================================== */
/* ==========================================================================
   Post nav submenu wrapper
   ========================================================================== */
.c-post-nav-submenu-wrapper {
  display: none; }

/* ==========================================================================
   Searchform
   ========================================================================== */
.c-searchform {
  display: -webkit-box;
  display: -webkit-flex;
  display: -moz-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
     -moz-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: justify;
  -webkit-justify-content: space-between;
     -moz-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  width: 100%;
  padding: 0 15px; }
  .c-searchform__row {
    display: -webkit-box;
    display: -webkit-flex;
    display: -moz-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -webkit-align-items: center;
       -moz-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    -webkit-box-pack: justify;
    -webkit-justify-content: space-between;
       -moz-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
    width: 100%;
    position: relative; }
  .c-searchform__label {
    position: absolute;
    padding: 15px 15px;
    font-size: 1.25rem;
    color: #D6D6D6; }
  .c-searchform__input {
    -webkit-box-flex: 1;
    -webkit-flex-grow: 1;
       -moz-box-flex: 1;
        -ms-flex-positive: 1;
            flex-grow: 1;
    padding: 15px 15px;
    border: none;
    background: transparent;
    border-bottom: 1px solid #D6D6D6;
    font-size: 1.25rem; }
    .c-searchform__input:focus {
      outline: none;
      border: 1px solid #009988; }
  .c-searchform__submit {
    position: absolute;
    top: 10px;
    right: 0;
    border: none;
    background: transparent;
    cursor: pointer; }
    .c-searchform__submit .ui-icon {
      font-size: 1.75em;
      color: #009988;
      fill: currentColor; }

/* ==========================================================================
   Searchform Wrapper
   ========================================================================== */
.c-searchform-wrapper {
  display: -webkit-box;
  display: -webkit-flex;
  display: -moz-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
     -moz-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
     -moz-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  position: fixed;
  top: 80px;
  left: 0;
  height: 0;
  width: 100%;
  background: #F9F9F9;
  overflow: hidden;
  -webkit-transition: all 0.1s linear;
  -o-transition: all 0.1s linear;
  -moz-transition: all 0.1s linear;
  transition: all 0.1s linear;
  -webkit-box-shadow: 0px 8px 24px -15px black;
     -moz-box-shadow: 0px 8px 24px -15px black;
          box-shadow: 0px 8px 24px -15px black;
  z-index: 99; }
  .c-searchform-wrapper .c-searchform {
    width: 576px;
    max-width: 100%; }
  .c-searchform-wrapper.is-open {
    height: 80px;
    overflow: auto;
    -webkit-transition: all 0.1s linear;
    -o-transition: all 0.1s linear;
    -moz-transition: all 0.1s linear;
    transition: all 0.1s linear; }
    @media (max-width: 1024px) {
      .c-searchform-wrapper.is-open {
        height: 60px; } }
  @media (max-width: 1024px) {
    .c-searchform-wrapper {
      top: 60px; } }

/* ==========================================================================
   Share
   ========================================================================== */
.c-share {
  display: -webkit-box;
  display: -webkit-flex;
  display: -moz-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
  -webkit-flex-direction: row;
     -moz-box-orient: horizontal;
     -moz-box-direction: normal;
      -ms-flex-direction: row;
          flex-direction: row;
  -webkit-box-align: center;
  -webkit-align-items: center;
     -moz-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  width: 100%;
  margin: 50px 0;
  padding: 0;
  list-style: none; }
  .c-share__link {
    display: -webkit-box;
    display: -webkit-flex;
    display: -moz-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -webkit-align-items: center;
       -moz-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    -webkit-box-pack: center;
    -webkit-justify-content: center;
       -moz-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    width: 100%;
    height: 100%; }
  .c-share__icon {
    width: 40px;
    height: 40px;
    background-color: #D6D6D6; }
    .c-share__icon .ui-icon {
      -webkit-transition: all 0.1s linear;
      -o-transition: all 0.1s linear;
      -moz-transition: all 0.1s linear;
      transition: all 0.1s linear;
      color: #000;
      fill: currentColor;
      width: 15px;
      height: 15px; }
    .c-share__icon:not(:last-child) {
      margin-right: 10px; }
    .c-share__icon:hover .ui-icon {
      -webkit-transition: all 0.1s linear;
      -o-transition: all 0.1s linear;
      -moz-transition: all 0.1s linear;
      transition: all 0.1s linear;
      width: 20px;
      height: 20px; }

/* ==========================================================================
   Side Navigation
   ========================================================================== */
.c-side-nav {
  padding: 0;
  margin: 0;
  width: 100%;
  margin-top: 30px;
  list-style: none; }
  .c-side-nav__item {
    display: -webkit-box;
    display: -webkit-flex;
    display: -moz-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -webkit-flex-direction: column;
       -moz-box-orient: vertical;
       -moz-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    width: 100%; }
    .c-side-nav__item .c-link {
      padding: 15px;
      width: 100%; }
      .c-side-nav__item .c-link .c-label {
        font-size: 1.25rem;
        color: #000; }
  .c-side-nav__sub-menu {
    margin-left: 24px;
    padding: 0;
    list-style: none; }
    .c-side-nav__sub-menu__item {
      display: -webkit-box;
      display: -webkit-flex;
      display: -moz-box;
      display: -ms-flexbox;
      display: flex;
      -webkit-box-orient: vertical;
      -webkit-box-direction: normal;
      -webkit-flex-direction: column;
         -moz-box-orient: vertical;
         -moz-box-direction: normal;
          -ms-flex-direction: column;
              flex-direction: column;
      width: 100%; }
      .c-side-nav__sub-menu__item .c-link {
        padding: 12px 15px;
        width: 100%; }
        .c-side-nav__sub-menu__item .c-link .c-label {
          font-size: 1.25rem;
          color: #007C6B; }

/* ==========================================================================
   Side Panel
   ========================================================================== */
.c-side-panel {
  display: -webkit-box;
  display: -webkit-flex;
  display: -moz-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -webkit-flex-direction: column;
     -moz-box-orient: vertical;
     -moz-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column; }
  .c-side-panel__header {
    display: -webkit-box;
    display: -webkit-flex;
    display: -moz-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
    -webkit-flex-direction: row;
       -moz-box-orient: horizontal;
       -moz-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
    -webkit-box-align: center;
    -webkit-align-items: center;
       -moz-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    -webkit-box-pack: justify;
    -webkit-justify-content: space-between;
       -moz-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
    height: 80px; }
    .c-side-panel__header .c-logo__link img {
      max-height: 45px;
      width: auto; }
    @media (max-width: 1024px) {
      .c-side-panel__header {
        height: 60px; } }
  .c-side-panel__footer {
    display: -webkit-box;
    display: -webkit-flex;
    display: -moz-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -webkit-align-items: center;
       -moz-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    -webkit-box-pack: center;
    -webkit-justify-content: center;
       -moz-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    width: 100%;
    margin-top: 40px; }

/* ==========================================================================
   Soingle nav
   ========================================================================== */
.c-single-nav {
  width: 100%;
  background-color: #fff;
  -webkit-box-shadow: 0px 0px 46px 0px rgba(0, 0, 0, 0.2);
     -moz-box-shadow: 0px 0px 46px 0px rgba(0, 0, 0, 0.2);
          box-shadow: 0px 0px 46px 0px rgba(0, 0, 0, 0.2);
  padding: 25px;
  padding-bottom: 75px;
  font-size: 15px; }
  .c-single-nav__list {
    list-style: none;
    padding: 0;
    margin: 0; }
    .c-single-nav__list__item .c-link:link, .c-single-nav__list__item .c-link:visited, .c-single-nav__list__item .c-link:focus, .c-single-nav__list__item .c-link:hover {
      color: #009988; }
    .c-single-nav__list__item:not(:last-child) {
      margin-bottom: 10px; }
  @media (max-width: 1024px) {
    .c-single-nav {
      display: none; } }

/* ==========================================================================
   Single nav wrapper
   ========================================================================== */
.c-single-nav-wrapper {
  display: none;
  -webkit-box-align: center;
  -webkit-align-items: center;
     -moz-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
     -moz-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  width: 240px;
  height: auto;
  top: 0;
  right: 0;
  z-index: 60;
  position: absolute;
  -webkit-transition: margin .5s ease-out;
  -o-transition: margin .5s ease-out;
  -moz-transition: margin .5s ease-out;
  transition: margin .5s ease-out; }
  .c-single-nav-wrapper.is-active {
    display: -webkit-box;
    display: -webkit-flex;
    display: -moz-box;
    display: -ms-flexbox;
    display: flex; }
  @media (max-width: 1024px) {
    .c-single-nav-wrapper {
      position: fixed;
      top: 0;
      left: -576px;
      overflow: hidden;
      height: 100vh;
      width: 576px;
      max-width: 75vw;
      z-index: 300; } }
  .c-single-nav-wrapper.is-open {
    -webkit-transition: all 0.2s linear;
    -o-transition: all 0.2s linear;
    -moz-transition: all 0.2s linear;
    transition: all 0.2s linear; }
    @media (max-width: 1024px) {
      .c-single-nav-wrapper.is-open {
        left: 0; } }

/* ==========================================================================
   Single post
   ========================================================================== */
.c-single-post {
  font-size: 18px;
  padding: 60px;
  margin: 0;
  margin-top: 0;
  margin-bottom: 4px;
  width: 100%;
  background-color: #fff;
  -webkit-box-shadow: 0px 0px 46px 0px rgba(0, 0, 0, 0.2);
     -moz-box-shadow: 0px 0px 46px 0px rgba(0, 0, 0, 0.2);
          box-shadow: 0px 0px 46px 0px rgba(0, 0, 0, 0.2); }
  @media (max-width: 1024px) {
    .c-single-post {
      padding: 25px;
      width: 100%; } }
  .c-single-post__header {
    padding: 50px 0;
    border-top: 1px solid #009988;
    border-bottom: 1px solid #009988;
    display: -webkit-box;
    display: -webkit-flex;
    display: -moz-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
    -webkit-flex-direction: row;
       -moz-box-orient: horizontal;
       -moz-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
    -webkit-box-align: center;
    -webkit-align-items: center;
       -moz-box-align: center;
        -ms-flex-align: center;
            align-items: center; }
    @media (max-width: 1024px) {
      .c-single-post__header {
        padding: 25px 0;
        font-size: 14px; } }
  .c-single-post__avatar {
    width: 60px;
    height: 60px;
    margin-right: 30px;
    -webkit-border-radius: 50%;
       -moz-border-radius: 50%;
            border-radius: 50%;
    -webkit-background-size: cover;
       -moz-background-size: cover;
         -o-background-size: cover;
            background-size: cover;
    background-position: 50% 50%;
    -webkit-transition: all 0.1s linear;
    -o-transition: all 0.1s linear;
    -moz-transition: all 0.1s linear;
    transition: all 0.1s linear; }
    .c-single-post__avatar:hover {
      -webkit-box-shadow: 0px 8px 24px -15px black;
         -moz-box-shadow: 0px 8px 24px -15px black;
              box-shadow: 0px 8px 24px -15px black; }
  .c-single-post__author {
    margin-top: 0; }
  .c-single-post__categories {
    margin-bottom: 0; }
  .c-single-post__content {
    padding-top: 25px; }
    .c-single-post__content .c-single-post__content {
      text-align: right; }
    .c-single-post__content p,
    .c-single-post__content ul,
    .c-single-post__content ol {
      line-height: 1.75;
      color: #5c5c5c; }
      .c-single-post__content p:first-child,
      .c-single-post__content ul:first-child,
      .c-single-post__content ol:first-child {
        margin-top: 0; }
      .c-single-post__content p strong,
      .c-single-post__content ul strong,
      .c-single-post__content ol strong {
        color: #1F1F1F;
        font-size: 26px; }
        @media (max-width: 1024px) {
          .c-single-post__content p strong,
          .c-single-post__content ul strong,
          .c-single-post__content ol strong {
            font-size: 18px; } }
      .c-single-post__content p img,
      .c-single-post__content ul img,
      .c-single-post__content ol img {
        width: 100%;
        height: auto; }
    .c-single-post__content table {
      font-size: 0.8em;
      border-spacing: 0;
      border-collapse: inherit;
      border-bottom: 1px solid #f3f4f5;
      table-layout: fixed;
      width: 100%; }
      .c-single-post__content table td {
        padding: 5px 10px; }
    .c-single-post__content ul li,
    .c-single-post__content ol li {
      margin-bottom: 5px; }
    .c-single-post__content figure {
      margin-top: 40px;
      margin-left: 0;
      margin-right: 0;
      margin-bottom: 50px;
      width: 100% !important; }
      .c-single-post__content figure img {
        width: 100%;
        height: auto; }
      .c-single-post__content figure figcaption {
        text-align: left;
        margin-top: 10px;
        font-size: 1em;
        color: #1F1F1F; }
    .c-single-post__content h1,
    .c-single-post__content h2,
    .c-single-post__content h3,
    .c-single-post__content h4,
    .c-single-post__content h5,
    .c-single-post__content h6 {
      color: #009988;
      padding-top: 50px; }
    .c-single-post__content--offset {
      padding-bottom: 50px; }
    .c-single-post__content a {
      color: #009688; }
      .c-single-post__content a:active, .c-single-post__content a:focus, .c-single-post__content a:visited {
        color: #009688; }
      .c-single-post__content a:hover {
        text-decoration: underline; }
    @media (max-width: 767px) {
      .c-single-post__content .wp-block-gallery {
        -webkit-box-orient: vertical;
        -webkit-box-direction: normal;
        -webkit-flex-direction: column;
           -moz-box-orient: vertical;
           -moz-box-direction: normal;
            -ms-flex-direction: column;
                flex-direction: column; }
        .c-single-post__content .wp-block-gallery .blocks-gallery-item {
          width: 100%; } }
  .c-single-post__comments {
    border-top: 1px solid #009988;
    padding-top: 50px; }
    .c-single-post__comments .c-single-post__title {
      margin-top: 0; }
  .c-single-post__related-posts-title {
    margin-top: 50px; }
  .c-single-post__related-posts {
    list-style: none;
    margin: 0;
    padding: 0;
    display: -webkit-box;
    display: -webkit-flex;
    display: -moz-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
    -webkit-flex-direction: row;
       -moz-box-orient: horizontal;
       -moz-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
    -webkit-box-align: stretch;
    -webkit-align-items: stretch;
       -moz-box-align: stretch;
        -ms-flex-align: stretch;
            align-items: stretch;
    -webkit-box-pack: justify;
    -webkit-justify-content: space-between;
       -moz-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
    margin-top: 20px; }
    @media (max-width: 1024px) {
      .c-single-post__related-posts {
        -webkit-box-orient: vertical;
        -webkit-box-direction: normal;
        -webkit-flex-direction: column;
           -moz-box-orient: vertical;
           -moz-box-direction: normal;
            -ms-flex-direction: column;
                flex-direction: column; } }
    .c-single-post__related-posts .c-related-post {
      width: -webkit-calc((100% / 3) - 15px);
      width: -moz-calc((100% / 3) - 15px);
      width: calc((100% / 3) - 15px);
      display: -webkit-box;
      display: -webkit-flex;
      display: -moz-box;
      display: -ms-flexbox;
      display: flex;
      -webkit-box-orient: vertical;
      -webkit-box-direction: normal;
      -webkit-flex-direction: column;
         -moz-box-orient: vertical;
         -moz-box-direction: normal;
          -ms-flex-direction: column;
              flex-direction: column;
      -webkit-box-align: start;
      -webkit-align-items: flex-start;
         -moz-box-align: start;
          -ms-flex-align: start;
              align-items: flex-start;
      -webkit-box-pack: start;
      -webkit-justify-content: flex-start;
         -moz-box-pack: start;
          -ms-flex-pack: start;
              justify-content: flex-start; }
      @media (max-width: 1024px) {
        .c-single-post__related-posts .c-related-post {
          width: 100%;
          margin-bottom: 35px; } }
      .c-single-post__related-posts .c-related-post__wrapper {
        width: 100%;
        height: auto; }
      .c-single-post__related-posts .c-related-post__image {
        width: 100%;
        height: 200px;
        -webkit-background-size: cover;
           -moz-background-size: cover;
             -o-background-size: cover;
                background-size: cover;
        background-position: 50% 50%; }
      .c-single-post__related-posts .c-related-post__title {
        margin: 0;
        padding: 0;
        margin: 20px 0 30px; }
        @media (max-width: 1024px) {
          .c-single-post__related-posts .c-related-post__title {
            margin: 15px 0; } }
      .c-single-post__related-posts .c-related-post__link {
        display: inline-block; }

/* ==========================================================================
   Single post wrapper
   ========================================================================== */
.c-single-post-wrapper {
  width: 100%;
  height: auto;
  z-index: 60;
  top: -75px;
  position: relative; }

/* ==========================================================================
   Slide
   ========================================================================== */
.c-slide {
  display: -webkit-box;
  display: -webkit-flex;
  display: -moz-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
     -moz-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
     -moz-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  height: 85vh;
  position: relative; }
  .c-slide__date, .c-slide__title, .c-slide__desc, .c-slide__cta, .c-slide__tags {
    margin: 0;
    padding: 0;
    max-width: 70%; }
    @media (max-width: 1024px) {
      .c-slide__date, .c-slide__title, .c-slide__desc, .c-slide__cta, .c-slide__tags {
        max-width: 100%; } }
  .c-slide__date {
    padding-bottom: 15px;
    color: #fff;
    text-transform: uppercase;
    font-weight: bold;
    font-size: 15px; }
    @media (max-width: 1024px) {
      .c-slide__date {
        font-size: 13px; } }
  .c-slide__title {
    padding-bottom: 30px;
    color: #fff;
    font-size: 48px; }
    @media (max-width: 767px) {
      .c-slide__title {
        padding-bottom: 50px;
        font-size: 42px; } }
  .c-slide__desc {
    padding-bottom: 50px;
    color: #fff;
    font-size: 1.25rem;
    line-height: 1.5; }
    @media (max-width: 767px) {
      .c-slide__desc {
        display: none; } }
  .c-slide__cta {
    padding-bottom: 50px; }
  .c-slide__tags {
    display: -webkit-box;
    display: -webkit-flex;
    display: -moz-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -webkit-align-items: center;
       -moz-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    -webkit-box-pack: start;
    -webkit-justify-content: flex-start;
       -moz-box-pack: start;
        -ms-flex-pack: start;
            justify-content: flex-start;
    -webkit-flex-wrap: wrap;
        -ms-flex-wrap: wrap;
            flex-wrap: wrap;
    list-style: none;
    margin: 0;
    padding: 0; }
    .c-slide__tags__elem {
      margin-bottom: 15px; }
      .c-slide__tags__elem .c-link {
        padding: 7px 10px;
        background-color: rgba(255, 255, 255, 0.7); }
      .c-slide__tags__elem:not(:last-child) {
        margin-right: 15px; }
    @media (max-width: 767px) {
      .c-slide__tags {
        display: none; } }
  .c-slide .l-inner {
    z-index: 50; }
  .c-slide__overlay {
    z-index: 49;
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: -moz-linear-gradient(left, rgba(0, 0, 0, 0.85) 0%, rgba(0, 0, 0, 0) 100%);
    background: -webkit-linear-gradient(left, rgba(0, 0, 0, 0.85) 0%, rgba(0, 0, 0, 0) 100%);
    background: -webkit-gradient(linear, left top, right top, from(rgba(0, 0, 0, 0.85)), to(rgba(0, 0, 0, 0)));
    background: -o-linear-gradient(left, rgba(0, 0, 0, 0.85) 0%, rgba(0, 0, 0, 0) 100%);
    background: linear-gradient(to right, rgba(0, 0, 0, 0.85) 0%, rgba(0, 0, 0, 0) 100%);
    filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#ff000000', endColorstr='#00000000',GradientType=1 ); }

/* ==========================================================================
   Social navigation menu
   ========================================================================== */
.c-social-nav {
  display: -webkit-box;
  display: -webkit-flex;
  display: -moz-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
     -moz-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
     -moz-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  padding: 0;
  margin: 0;
  list-style: none; }
  .c-social-nav__item .c-link {
    display: block;
    -webkit-box-sizing: content-box;
       -moz-box-sizing: content-box;
            box-sizing: content-box;
    padding: 10px;
    color: black; }
    .c-social-nav__item .c-link .ui-icon {
      font-size: 1.75em;
      fill: currentColor; }
    .c-social-nav__item .c-link:hover {
      color: #009988; }
  @media (max-width: 767px) {
    .c-social-nav__item:not(:last-child) {
      margin-right: 10px; } }

.c-footer-wrapper .c-social-nav__item:first-child a {
  padding-left: 0; }

/* ==========================================================================
   Submenu
   ========================================================================== */
/* ==========================================================================
   Tag
   ========================================================================== */
/* Utilities
   @mixin ========================================================================= */
/* ==========================================================================
   Utilities
   ========================================================================== */
@media (max-width: 1024px) {
  .u-hidden-t-dn {
    display: none; } }

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

/*# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIm1haW4uc2NzcyIsIm1haW4uY3NzIiwidmVuZG9yL19ub3JtYWxpemUuc2NzcyIsInZlbmRvci9fc3dpcGVyLnNjc3MiLCJiYXNlL192YXJpYWJsZXMuc2NzcyIsImJhc2UvX2JvZHkuc2NzcyIsImJhc2UvX21lZGlhLWNvbmZpZy5zY3NzIiwiYmFzZS9fbWl4aW5zLnNjc3MiLCJiYXNlL190eXBvZ3JhcGh5LnNjc3MiLCJiYXNlL191aS5zY3NzIiwibGF5b3V0L19mb290ZXIuc2NzcyIsImxheW91dC9faGVhZGVyLnNjc3MiLCJ2ZW5kb3IvX2luY2x1ZGUtbWVkaWEuc2NzcyIsImxheW91dC9faW5uZXIuc2NzcyIsImxheW91dC9fbWFpbi5zY3NzIiwibGF5b3V0L19tb2RhbC1vdmVybGF5LnNjc3MiLCJsYXlvdXQvX3NlY3Rpb25zLnNjc3MiLCJsYXlvdXQvX3NpZGUtcGFuZWwuc2NzcyIsImxheW91dC9fc3ViLWhlYWRlci5zY3NzIiwiY29tcG9uZW50cy9fYXBwLWN0YS5zY3NzIiwiY29tcG9uZW50cy9fYXBwLWN0YS13cmFwcGVyLnNjc3MiLCJjb21wb25lbnRzL19iZy1zeW1ib2wuc2NzcyIsImNvbXBvbmVudHMvX2J0bi5zY3NzIiwiY29tcG9uZW50cy9fYnRuLXdyYXBwZXIuc2NzcyIsImNvbXBvbmVudHMvX2NhdGVnb3JpZXMtc3VibWVudS5zY3NzIiwiY29tcG9uZW50cy9fY2F0ZWdvcmllcy1zdWJtZW51LXdyYXBwZXIuc2NzcyIsImNvbXBvbmVudHMvX2NvbW1lbnQuc2NzcyIsImNvbXBvbmVudHMvX2NvbW1lbnQtZm9ybS5zY3NzIiwiY29tcG9uZW50cy9fY29tbWVudC1saXN0LnNjc3MiLCJjb21wb25lbnRzL19kb3dubG9hZC1pbWcuc2NzcyIsImNvbXBvbmVudHMvX2Zsb2F0aW5nLWN0YS5zY3NzIiwiY29tcG9uZW50cy9fZm9vdGVyLW5hdi5zY3NzIiwiY29tcG9uZW50cy9fZm9vdGVyLXNlY3Rpb24uc2NzcyIsImNvbXBvbmVudHMvX2Zvb3Rlci13cmFwcGVyLnNjc3MiLCJjb21wb25lbnRzL19mb3Jtcy5zY3NzIiwiY29tcG9uZW50cy9faGVhZGVyLWJ0bi5zY3NzIiwiY29tcG9uZW50cy9faGVhZGVyLW5hdi5zY3NzIiwiY29tcG9uZW50cy9faGVyby1zdGF0aWMuc2NzcyIsImNvbXBvbmVudHMvX2hvbWUtcG9zdHMuc2NzcyIsImNvbXBvbmVudHMvX2hvbWUtc2xpZGVyLnNjc3MiLCJjb21wb25lbnRzL19sYW5nLXN3aXRjaGVyLnNjc3MiLCJjb21wb25lbnRzL19saW5rLnNjc3MiLCJjb21wb25lbnRzL19sb2dvLnNjc3MiLCJjb21wb25lbnRzL19uZXdzbGV0dGVyLWZvcm0uc2NzcyIsImNvbXBvbmVudHMvX25ld3NsZXR0ZXItcmVzdWx0LnNjc3MiLCJjb21wb25lbnRzL19wYWdpbmF0aW9uLnNjc3MiLCJjb21wb25lbnRzL19wb3N0LnNjc3MiLCJjb21wb25lbnRzL19wb3N0LW5hdi1zdWJtZW51LnNjc3MiLCJjb21wb25lbnRzL19wb3N0LW5hdi1zdWJtZW51LXdyYXBwZXIuc2NzcyIsImNvbXBvbmVudHMvX3NlYXJjaGZvcm0uc2NzcyIsImNvbXBvbmVudHMvX3NlYXJjaGZvcm0td3JhcHBlci5zY3NzIiwiY29tcG9uZW50cy9fc2hhcmUuc2NzcyIsImNvbXBvbmVudHMvX3NpZGUtbmF2LnNjc3MiLCJjb21wb25lbnRzL19zaWRlLXBhbmVsLnNjc3MiLCJjb21wb25lbnRzL19zaW5nbGUtbmF2LnNjc3MiLCJjb21wb25lbnRzL19zaW5nbGUtbmF2LXdyYXBwZXIuc2NzcyIsImNvbXBvbmVudHMvX3NpbmdsZS1wb3N0LnNjc3MiLCJjb21wb25lbnRzL19zaW5nbGUtcG9zdC13cmFwcGVyLnNjc3MiLCJjb21wb25lbnRzL19zbGlkZS5zY3NzIiwiY29tcG9uZW50cy9fc29jaWFsLW5hdi5zY3NzIiwiY29tcG9uZW50cy9fc3VibWVudS5zY3NzIiwiY29tcG9uZW50cy9fdGFnLnNjc3MiLCJiYXNlL191dGlsaXRpZXMuc2NzcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7cUZDRXFGO0FERXJGO3FGQ0FxRjtBQ0pyRiwyRUFBQTtBQUVBOytFREsrRTtBQ0YvRTs7O0VETUU7QURFRiw2RUFBWTtBRUhaO0VBQ0UsaUJBQWlCO0VBQUUsTUFBQTtFQUNuQiw4QkFBOEI7RUFBRSxNQUFBLEVBQU87O0FBR3pDOytFREsrRTtBQ0YvRTs7RURLRTtBQ0RGO0VBQ0UsU0FBUyxFQUFBOztBQUdYOztFREdFO0FDQ0Y7RUFDRSxjQUFjLEVBQUE7O0FBR2hCOzs7RURFRTtBQ0dGO0VBQ0UsY0FBYztFQUNkLGdCQUFnQixFQUFBOztBQUdsQjsrRURGK0U7QUNLL0U7OztFRERFO0FDTUY7RUFDRSwrQkFBdUI7S0FBdkIsNEJBQXVCO1VBQXZCLHVCQUF1QjtFQUFFLE1BQUE7RUFDekIsU0FBUztFQUFFLE1BQUE7RUFDWCxpQkFBaUI7RUFBRSxNQUFBLEVBQU87O0FBRzVCOzs7RURBRTtBQ0tGO0VBQ0UsaUNBQWlDO0VBQUUsTUFBQTtFQUNuQyxjQUFjO0VBQUUsTUFBQSxFQUFPOztBQUd6QjsrRURGK0U7QUNLL0U7O0VERkU7QUNNRjtFQUNFLDZCQUE2QixFQUFBOztBQUcvQjs7O0VESEU7QUNRRjtFQUNFLG1CQUFtQjtFQUFFLE1BQUE7RUFDckIsMEJBQTBCO0VBQUUsTUFBQTtFQUM1Qix5Q0FBaUM7S0FBakMsc0NBQWlDO1VBQWpDLGlDQUFpQztFQUFFLE1BQUEsRUFBTzs7QUFHNUM7O0VESEU7QUNPRjs7RUFFRSxtQkFBbUIsRUFBQTs7QUFHckI7OztFREpFO0FDU0Y7OztFQUdFLGlDQUFpQztFQUFFLE1BQUE7RUFDbkMsY0FBYztFQUFFLE1BQUEsRUFBTzs7QUFHekI7O0VETEU7QUNTRjtFQUNFLGNBQWMsRUFBQTs7QUFHaEI7OztFRE5FO0FDV0Y7O0VBRUUsY0FBYztFQUNkLGNBQWM7RUFDZCxrQkFBa0I7RUFDbEIsd0JBQXdCLEVBQUE7O0FBRzFCO0VBQ0UsZUFBZSxFQUFBOztBQUdqQjtFQUNFLFdBQVcsRUFBQTs7QUFHYjsrRURaK0U7QUNlL0U7O0VEWkU7QUNnQkY7RUFDRSxrQkFBa0IsRUFBQTs7QUFHcEI7K0VEZitFO0FDa0IvRTs7O0VEZEU7QUNtQkY7Ozs7O0VBS0Usb0JBQW9CO0VBQUUsTUFBQTtFQUN0QixlQUFlO0VBQUUsTUFBQTtFQUNqQixpQkFBaUI7RUFBRSxNQUFBO0VBQ25CLFNBQVM7RUFBRSxNQUFBLEVBQU87O0FBR3BCOzs7RURaRTtBQ2lCRjs7RUFDUSxNQUFBO0VBQ04saUJBQWlCLEVBQUE7O0FBR25COzs7RURiRTtBQ2tCRjs7RUFDUyxNQUFBO0VBQ1Asb0JBQW9CLEVBQUE7O0FBR3RCOztFRGZFO0FDbUJGOzs7O0VBSUUsMEJBQTBCLEVBQUE7O0FBRzVCOztFRGpCRTtBQ3FCRjs7OztFQUlFLGtCQUFrQjtFQUNsQixVQUFVLEVBQUE7O0FBR1o7O0VEbkJFO0FDdUJGOzs7O0VBSUUsOEJBQThCLEVBQUE7O0FBR2hDOztFRHJCRTtBQ3lCRjtFQUNFLDhCQUE4QixFQUFBOztBQUdoQzs7Ozs7RURwQkU7QUMyQkY7RUFDRSw4QkFBc0I7S0FBdEIsMkJBQXNCO1VBQXRCLHNCQUFzQjtFQUFFLE1BQUE7RUFDeEIsY0FBYztFQUFFLE1BQUE7RUFDaEIsY0FBYztFQUFFLE1BQUE7RUFDaEIsZUFBZTtFQUFFLE1BQUE7RUFDakIsVUFBVTtFQUFFLE1BQUE7RUFDWixtQkFBbUI7RUFBRSxNQUFBLEVBQU87O0FBRzlCOztFRG5CRTtBQ3VCRjtFQUNFLHdCQUF3QixFQUFBOztBQUcxQjs7RURyQkU7QUN5QkY7RUFDRSxjQUFjLEVBQUE7O0FBR2hCOzs7RUR0QkU7QUFDRjs7RUM0QkUsOEJBQXNCO0tBQXRCLDJCQUFzQjtVQUF0QixzQkFBc0I7RUFBRSxNQUFBO0VBQ3hCLFVBQVU7RUFBRSxNQUFBLEVBQU87O0FBR3JCOztFRHZCRTtBQUNGOztFQzRCRSxZQUFZLEVBQUE7O0FBR2Q7OztFRHhCRTtBQUNGO0VDNkJFLDZCQUE2QjtFQUFFLE1BQUE7RUFDL0Isb0JBQW9CO0VBQUUsTUFBQSxFQUFPOztBQUcvQjs7RUR6QkU7QUFDRjtFQzZCRSx3QkFBd0IsRUFBQTs7QUFHMUI7OztFRDFCRTtBQytCRjtFQUNFLDBCQUEwQjtFQUFFLE1BQUE7RUFDNUIsYUFBYTtFQUFFLE1BQUEsRUFBTzs7QUFHeEI7K0VENUIrRTtBQytCL0U7O0VENUJFO0FDZ0NGO0VBQ0UsY0FBYyxFQUFBOztBQUdoQjs7RUQ5QkU7QUNrQ0Y7RUFDRSxrQkFBa0IsRUFBQTs7QUFHcEI7K0VEakMrRTtBQ29DL0U7O0VEakNFO0FDcUNGO0VBQ0UsYUFBYSxFQUFBOztBQUdmOztFRG5DRTtBQUNGO0VDdUNFLGFBQWEsRUFBQTs7QUMzVmY7Ozs7Ozs7Ozs7RUZpVUU7QUV0VEY7RUFDRSxjQUFjO0VBQ2Qsa0JBQWtCO0VBQ2xCLGdCQUFnQjtFQUNoQixnQkFBZ0I7RUFDaEIsVUFBVTtFQUNWLDZCQUFBO0VBQ0EsVUFBVSxFQUFBOztBQUVaO0VBQ0UsV0FBVyxFQUFBOztBQUViO0VBQ0UsNEJBQTRCO0VBQzVCLDZCQUE2QjtFQUM3Qiw4QkFBOEI7RUFDOUIsMEJBQTBCO0VBQzFCLHlCQUFzQjtFQUF0QiwwQkFBc0I7T0FBdEIsc0JBQXNCLEVBQUE7O0FBRXhCO0VBQ0Usa0JBQWtCO0VBQ2xCLFdBQVc7RUFDWCxZQUFZO0VBQ1osVUFBVTtFQUNWLG9CQUFvQjtFQUNwQixxQkFBcUI7RUFDckIsb0JBQW9CO0VBQ3BCLGlCQUFhO0VBQWIsYUFBYTtFQUNiLDhDQUE4QztFQUM5QyxzQ0FBc0M7RUFDdEMsaUNBQWlDO0VBQ2pDLG9DQUE4QjtFQUE5QixtREFBOEI7RUFBOUIsOEJBQThCO0VBQTlCLCtFQUE4QjtFQUM5QixpREFBaUQ7RUFDakQsK0JBQStCO0VBQy9CLDRCQUF1QjtPQUF2Qix1QkFBdUIsRUFBQTs7QUFFekI7O0VBRUUseUNBQXlDO0VBQ3pDLHNDQUFpQztPQUFqQyxpQ0FBaUMsRUFBQTs7QUFFbkM7RUFDRSx1QkFBdUI7RUFDdkIsbUJBQW1CO0VBQ25CLGVBQWUsRUFBQTs7QUFFakI7RUFDRSw0Q0FBNEM7RUFDNUMsdUNBQXVDO0VBQ3ZDLHlDQUFvQztPQUFwQyxvQ0FBb0M7RUFDcEMsY0FBYyxFQUFBOztBQUVoQjtFQUNFLHNCQUFzQjtFQUN0QixvQkFBb0I7RUFDcEIsY0FBYztFQUNkLFdBQVc7RUFDWCxZQUFZO0VBQ1osa0JBQWtCO0VBQ2xCLDhDQUE4QztFQUM5QyxzQ0FBc0M7RUFDdEMsaUNBQWlDO0VBQ2pDLG9DQUE4QjtFQUE5QixtREFBOEI7RUFBOUIsOEJBQThCO0VBQTlCLCtFQUE4QjtFQUM5QixpREFBaUQsRUFBQTs7QUFFbkQ7RUFDRSxrQkFBa0IsRUFBQTs7QUFFcEIsZ0JBQUE7QUFDQTs7RUFFRSxZQUFZLEVBQUE7O0FBRWQ7RUFDRSx3QkFBd0I7RUFDeEIsK0JBQStCO0VBQy9CLHFCQUFxQjtFQUNyQixxQkFBdUI7T0FBdkIsdUJBQXVCO0VBQ3ZCLHNEQUFzRDtFQUN0RCw4Q0FBOEM7RUFDOUMseUNBQXlDO0VBQ3pDLDRDQUFzQztFQUF0QywyREFBc0M7RUFBdEMsc0NBQXNDO0VBQXRDLHVGQUFzQztFQUN0Qyx5REFBeUQsRUFBQTs7QUFFM0QsZUFBQTtBQUNBO0VBQ0UsMkJBQTJCO0VBQzNCLHdCQUFtQjtPQUFuQixtQkFBbUIsRUFBQTs7QUFFckI7Ozs7Ozs7RUFPRSxvQ0FBb0M7RUFDcEMsaUNBQTRCO09BQTVCLDRCQUE0QixFQUFBOztBQUU5Qjs7OztFQUlFLGtCQUFrQjtFQUNsQixPQUFPO0VBQ1AsTUFBTTtFQUNOLFdBQVc7RUFDWCxZQUFZO0VBQ1osb0JBQW9CO0VBQ3BCLFdBQVcsRUFBQTs7QUFFYjtFQUNFLCtHQUErRztFQUMvRyxzRkFBc0Y7RUFDdEYsaUZBQWlGO0VBQ2pGLG1GQUFnRjtFQUFoRixnRkFBZ0YsRUFBQTs7QUFFbEY7RUFDRSwrR0FBK0c7RUFDL0cscUZBQXFGO0VBQ3JGLGdGQUFnRjtFQUNoRixrRkFBaUY7RUFBakYsaUZBQWlGLEVBQUE7O0FBRW5GO0VBQ0UsaUhBQWlIO0VBQ2pILHVGQUF1RjtFQUN2RixrRkFBa0Y7RUFDbEYsb0ZBQStFO0VBQS9FLCtFQUErRSxFQUFBOztBQUVqRjtFQUNFLGlIQUFpSDtFQUNqSCxvRkFBb0Y7RUFDcEYsK0VBQStFO0VBQy9FLGlGQUFrRjtFQUFsRixrRkFBa0YsRUFBQTs7QUFFcEYsK0JBQUE7QUFDQTs7RUFFRSx1QkFBdUI7RUFDdkIsbUJBQW1CLEVBQUE7O0FBRXJCOztFQUVFLHVCQUF1QjtFQUN2QixtQkFBbUIsRUFBQTs7QUFFckI7O0VBRUUsa0JBQWtCO0VBQ2xCLFFBQVE7RUFDUixXQUFXO0VBQ1gsWUFBWTtFQUNaLGlCQUFpQjtFQUNqQixXQUFXO0VBQ1gsZUFBZTtFQUNmLGtDQUEwQjtLQUExQiwrQkFBMEI7T0FBMUIsNkJBQTBCO1VBQTFCLDBCQUEwQjtFQUMxQiwyQkFBMkI7RUFDM0IsNEJBQTRCLEVBQUE7O0FBRTlCOztFQUVFLGFBQWE7RUFDYixZQUFZO0VBQ1osb0JBQW9CLEVBQUE7O0FBRXRCOztFQUVFLG9SQUFvUjtFQUNwUixVQUFVO0VBQ1YsV0FBVyxFQUFBOztBQUViOztFQUVFLG9SQUFvUjtFQUNwUixXQUFXO0VBQ1gsVUFBVSxFQUFBOztBQUVaOztFQUVFLG9SQUFvUixFQUFBOztBQUV0Ujs7RUFFRSxvUkFBb1IsRUFBQTs7QUFFdFI7O0VBRUUsb1JBQW9SLEVBQUE7O0FBRXRSOztFQUVFLG9SQUFvUixFQUFBOztBQUV0UjtFQUNFLGFBQWEsRUFBQTs7QUFFZjtFQUNFLGtCQUFrQjtFQUNsQixrQkFBa0I7RUFDbEIsaUNBQWlDO0VBQ2pDLDRCQUE0QjtFQUM1Qiw4QkFBeUI7RUFBekIseUJBQXlCO0VBQ3pCLHVDQUF1QztFQUN2QyxvQ0FBK0I7T0FBL0IsK0JBQStCO0VBQy9CLFdBQVcsRUFBQTs7QUFFYjtFQUNFLFVBQVUsRUFBQTs7QUFFWixrQkFBQTtBQUNBOzs7RUFHRSxZQUFZO0VBQ1osT0FBTztFQUNQLFdBQVcsRUFBQTs7QUFFYixZQUFBO0FBQ0E7RUFDRSxnQkFBZ0I7RUFDaEIsWUFBWSxFQUFBOztBQUVkO0VBQ0UsOEJBQThCO0VBQzlCLDBCQUEwQjtFQUMxQiwyQkFBc0I7SUFBdEIseUJBQXNCO09BQXRCLHNCQUFzQjtFQUN0QixrQkFBa0IsRUFBQTs7QUFFcEI7RUFDRSwyQkFBMkI7RUFDM0IsdUJBQXVCO0VBQ3ZCLHdCQUFtQjtJQUFuQixzQkFBbUI7T0FBbkIsbUJBQW1CLEVBQUE7O0FBRXJCO0VBQ0UsMkJBQTJCO0VBQzNCLHVCQUF1QjtFQUN2Qix3QkFBbUI7SUFBbkIsc0JBQW1CO09BQW5CLG1CQUFtQixFQUFBOztBQUVyQjtFQUNFLDhCQUE4QjtFQUM5QiwwQkFBMEI7RUFDMUIsMkJBQXNCO0lBQXRCLHlCQUFzQjtPQUF0QixzQkFBc0IsRUFBQTs7QUFFeEI7RUFDRSw4QkFBOEI7RUFDOUIsMEJBQTBCO0VBQzFCLDJCQUFzQjtJQUF0Qix5QkFBc0I7T0FBdEIsc0JBQXNCLEVBQUE7O0FBRXhCO0VBQ0UsOEJBQThCO0VBQzlCLDBCQUEwQjtFQUMxQiwyQkFBc0I7SUFBdEIseUJBQXNCO09BQXRCLHNCQUFzQixFQUFBOztBQUV4QjtFQUNFLDhCQUE4QjtFQUM5QiwwQkFBMEI7RUFDMUIsMkJBQXNCO0lBQXRCLHlCQUFzQjtPQUF0QixzQkFBc0IsRUFBQTs7QUFFeEI7RUFDRSxVQUFVO0VBQ1YsV0FBVztFQUNYLHFCQUFxQjtFQUNyQiwyQkFBbUI7S0FBbkIsd0JBQW1CO1VBQW5CLG1CQUFtQjtFQUNuQixnQkFBZ0I7RUFDaEIsWUFBWSxFQUFBOztBQUVkO0VBQ0UsWUFBWTtFQUNaLFNBQVM7RUFDVCxVQUFVO0VBQ1Ysd0JBQXdCO0VBQ3hCLHFCQUFnQjtPQUFoQixnQkFBZ0I7RUFDaEIsd0JBQXdCO0VBQ3hCLHFCQUFxQjtFQUNyQixnQkFBZ0IsRUFBQTs7QUFFbEI7RUFDRSxlQUFlLEVBQUE7O0FBRWpCO0VBQ0UsVUFBVTtFQUNWLG1CQUFtQixFQUFBOztBQUVyQjtFQUNFLFdBQVc7RUFDWCxRQUFRO0VBQ1IsNENBQTRDO0VBQzVDLHlDQUFvQztPQUFwQyxvQ0FBb0MsRUFBQTs7QUFFdEM7RUFDRSxhQUFhO0VBQ2IsY0FBYyxFQUFBOztBQUVoQjtFQUNFLFFBQVE7RUFDUixtQ0FBbUM7RUFDbkMsK0JBQStCO0VBQy9CLGdDQUEyQjtJQUEzQiw4QkFBMkI7T0FBM0IsMkJBQTJCO0VBQzNCLFVBQVUsRUFBQTs7QUFFWjtFQUNFLHFCQUFxQjtFQUNyQixzREFBc0Q7RUFDdEQsOENBQThDO0VBQzlDLHlDQUF5QztFQUN6Qyw0Q0FBc0M7RUFBdEMsaUVBQXNDO0VBQXRDLHNDQUFzQztFQUF0Qyx5R0FBc0M7RUFDdEMsK0RBQStELEVBQUE7O0FBRWpFO0VBQ0UsYUFBYSxFQUFBOztBQUVmO0VBQ0UsU0FBUztFQUNULG1DQUFtQztFQUNuQywrQkFBK0I7RUFDL0IsZ0NBQTJCO0lBQTNCLDhCQUEyQjtPQUEzQiwyQkFBMkI7RUFDM0IsbUJBQW1CLEVBQUE7O0FBRXJCO0VBQ0UsdURBQXVEO0VBQ3ZELCtDQUErQztFQUMvQywwQ0FBMEM7RUFDMUMsNkNBQXVDO0VBQXZDLGtFQUF1QztFQUF2Qyx1Q0FBdUM7RUFBdkMsMEdBQXVDO0VBQ3ZDLGdFQUFnRSxFQUFBOztBQUVsRTtFQUNFLHdEQUF3RDtFQUN4RCxnREFBZ0Q7RUFDaEQsMkNBQTJDO0VBQzNDLDhDQUF3QztFQUF4QyxtRUFBd0M7RUFBeEMsd0NBQXdDO0VBQXhDLDJHQUF3QztFQUN4QyxpRUFBaUUsRUFBQTs7QUFFbkUsYUFBQTtBQUNBO0VBQ0UsK0JBQStCO0VBQy9CLGtCQUFrQixFQUFBOztBQUVwQjtFQUNFLG1CQUFtQjtFQUNuQixrQkFBa0I7RUFDbEIsT0FBTztFQUNQLE1BQU07RUFDTixXQUFXO0VBQ1gsWUFBWTtFQUNaLDJCQUEyQjtFQUMzQix1QkFBdUI7RUFDdkIsd0JBQW1CO0lBQW5CLHNCQUFtQjtPQUFuQixtQkFBbUI7RUFDbkIsa0NBQWtDO0VBQ2xDLDhCQUE4QjtFQUM5QiwrQkFBMEI7SUFBMUIsNkJBQTBCO09BQTFCLDBCQUEwQixFQUFBOztBQUU1QjtFQUNFLG1DQUFtQztFQUNuQywrQkFBK0I7RUFDL0IsZ0NBQTJCO0lBQTNCLDhCQUEyQjtPQUEzQiwyQkFBMkIsRUFBQTs7QUFFN0I7O0VBRUUsV0FBVztFQUNYLFdBQVc7RUFDWCxPQUFPO0VBQ1AsTUFBTSxFQUFBOztBQUVSOztFQUVFLFVBQVU7RUFDVixZQUFZO0VBQ1osT0FBTztFQUNQLE1BQU0sRUFBQTs7QUFFUjtFQUNFLG1CQUFtQixFQUFBOztBQUVyQjtFQUNFLHFDQUFxQyxFQUFBOztBQUV2QztFQUNFLG1CQUFtQixFQUFBOztBQUVyQjtFQUNFLG1CQUFtQixFQUFBOztBQUVyQjtFQUNFLCtCQUErQixFQUFBOztBQUVqQztFQUNFLG1CQUFtQixFQUFBOztBQUVyQjtFQUNFLGFBQWEsRUFBQTs7QUFFZixjQUFBO0FBQ0E7RUFDRSwyQkFBbUI7S0FBbkIsd0JBQW1CO1VBQW5CLG1CQUFtQjtFQUNuQixrQkFBa0I7RUFDbEIsc0JBQXNCO0VBQ3RCLDhCQUE4QixFQUFBOztBQUVoQztFQUNFLGtCQUFrQjtFQUNsQixRQUFRO0VBQ1IsV0FBVztFQUNYLFdBQVc7RUFDWCxXQUFXO0VBQ1gsVUFBVSxFQUFBOztBQUVaO0VBQ0Usa0JBQWtCO0VBQ2xCLFVBQVU7RUFDVixPQUFPO0VBQ1AsV0FBVztFQUNYLFVBQVU7RUFDVixXQUFXLEVBQUE7O0FBRWI7RUFDRSxZQUFZO0VBQ1osV0FBVztFQUNYLGtCQUFrQjtFQUNsQiw4QkFBOEI7RUFDOUIsMkJBQW1CO0tBQW5CLHdCQUFtQjtVQUFuQixtQkFBbUI7RUFDbkIsT0FBTztFQUNQLE1BQU0sRUFBQTs7QUFFUjtFQUNFLFlBQVksRUFBQTs7QUFFZDtFQUNFLGFBQWEsRUFBQTs7QUFFZjtFQUNFLFdBQVc7RUFDWCxZQUFZO0VBQ1osb0JBQW9CO0VBQ3BCLHFCQUFxQjtFQUNyQixvQkFBb0I7RUFDcEIsaUJBQWE7RUFBYixhQUFhO0VBQ2Isd0JBQXdCO0VBQ3hCLCtCQUErQjtFQUMvQixxQkFBcUI7RUFDckIscUJBQXVCO09BQXZCLHVCQUF1QjtFQUN2Qix5QkFBeUI7RUFDekIsMkJBQTJCO0VBQzNCLHNCQUFzQjtFQUN0QixzQkFBbUI7T0FBbkIsbUJBQW1CO0VBQ25CLGtCQUFrQixFQUFBOztBQUVwQjs7O0VBR0UsZUFBZTtFQUNmLGdCQUFnQjtFQUNoQixzQkFBc0I7RUFDdEIsbUJBQW1CLEVBQUE7O0FBRXJCO0VBQ0UsWUFBWSxFQUFBOztBQUVkLGNBQUE7QUFDQTtFQUNFLFdBQVc7RUFDWCxZQUFZO0VBQ1osa0JBQWtCO0VBQ2xCLFNBQVM7RUFDVCxRQUFRO0VBQ1Isa0JBQWtCO0VBQ2xCLGlCQUFpQjtFQUNqQixXQUFXO0VBQ1gsNkJBQTZCO0VBQzdCLHlCQUF5QjtFQUN6QiwwQkFBcUI7SUFBckIsd0JBQXFCO09BQXJCLHFCQUFxQjtFQUNyQixtRUFBbUU7RUFDbkUsZ0VBQTJEO0lBQTNELDhEQUEyRDtPQUEzRCwyREFBMkQsRUFBQTs7QUFFN0Q7RUFDRSxjQUFjO0VBQ2QsV0FBVztFQUNYLFdBQVc7RUFDWCxZQUFZO0VBQ1oseTdDQUF5N0M7RUFDejdDLHdCQUF3QjtFQUN4QixrQ0FBcUI7S0FBckIsMEJBQXFCO09BQXJCLHdCQUFxQjtVQUFyQixxQkFBcUI7RUFDckIsNEJBQTRCLEVBQUE7O0FBRTlCO0VBQ0UsczdDQUFzN0MsRUFBQTs7QUFFeDdDO0VBQ0U7SUFDRSxpQ0FBaUM7SUFDakMseUJBQXlCLEVBQUEsRUFBQTs7QUFHN0I7RUFDRTtJQUNFLGlDQUFpQztJQUNqQyw4QkFBeUI7U0FBekIseUJBQXlCLEVBQUEsRUFBQTs7QUFIN0I7RUFDRTtJQUNFLGlDQUFpQztJQUNqQyw0QkFBeUI7T0FBekIseUJBQXlCLEVBQUEsRUFBQTs7QUFIN0I7RUFDRTtJQUNFLGlDQUFpQztJQUNqQyw4QkFBeUI7TUFBekIsNEJBQXlCO1NBQXpCLHlCQUF5QixFQUFBLEVBQUE7O0FBRzdCLFNBQUE7QUFDQTtFQUNFLGtCQUFrQjtFQUNsQixPQUFPO0VBQ1AsTUFBTTtFQUNOLG9CQUFvQjtFQUNwQixVQUFVO0VBQ1YsY0FBYyxFQUFBOztBQUVoQjtFQUNFLDRDQUE0QztFQUM1Qyx1Q0FBdUM7RUFDdkMseUNBQW9DO09BQXBDLG9DQUFvQyxFQUFBOztBQUV0QztFQUNFLG9CQUFvQjtFQUNwQixvQ0FBb0M7RUFDcEMsK0JBQStCO0VBQy9CLGlDQUE0QjtFQUE1Qiw0QkFBNEIsRUFBQTs7QUFFOUI7RUFDRSxvQkFBb0IsRUFBQTs7QUFFdEI7O0VBRUUsb0JBQW9CLEVBQUE7O0FBRXRCO0VBQ0UsaUJBQWlCLEVBQUE7O0FBRW5CO0VBQ0Usb0JBQW9CO0VBQ3BCLG1DQUFtQztFQUNuQyxnQ0FBMkI7T0FBM0IsMkJBQTJCO0VBQzNCLFVBQVU7RUFDVixrQkFBa0I7RUFDbEIsNkJBQTZCO0VBQzdCLHlCQUF5QjtFQUN6QiwwQkFBcUI7SUFBckIsd0JBQXFCO09BQXJCLHFCQUFxQjtFQUNyQixXQUFXO0VBQ1gsWUFBWSxFQUFBOztBQUVkO0VBQ0Usb0JBQW9CLEVBQUE7O0FBRXRCO0VBQ0UsZ0NBQWdDO0VBQ2hDLDRCQUE0QjtFQUM1Qiw2QkFBd0I7SUFBeEIsMkJBQXdCO09BQXhCLHdCQUF3QixFQUFBOztBQUUxQjs7RUFFRSxvQkFBb0IsRUFBQTs7QUFFdEI7Ozs7RUFJRSxvQkFBb0I7RUFDcEIsbUJBQW1CLEVBQUE7O0FBRXJCOzs7O0VBSUUsVUFBVTtFQUNWLG1DQUFtQztFQUNuQyxnQ0FBMkI7T0FBM0IsMkJBQTJCLEVBQUE7O0FBRTdCO0VBQ0Usa0JBQWtCO0VBQ2xCLE9BQU87RUFDUCxXQUFXO0VBQ1gsV0FBVztFQUNYLFlBQVk7RUFDWixnQkFBZ0I7RUFDaEIsWUFBWTtFQUNaLDBCQUEwQjtFQUMxQixrQkFBa0I7RUFDbEIsVUFBVSxFQUFBOztBQUVaO0VBQ0UsaUJBQWlCLEVBQUE7O0FBRW5CO0VBQ0Usb0JBQW9CO0VBQ3BCLG1DQUFtQztFQUNuQyxnQ0FBMkI7T0FBM0IsMkJBQTJCO0VBQzNCLFVBQVUsRUFBQTs7QUFFWjtFQUNFLG9CQUFvQixFQUFBOztBQUV0Qjs7RUFFRSxvQkFBb0IsRUFBQTs7QUFFdEI7Ozs7RUFJRSxVQUFVO0VBQ1YsbUNBQW1DO0VBQ25DLGdDQUEyQjtPQUEzQiwyQkFBMkIsRUFBQTs7QUFFN0I7RUFDRSx3QkFBQTtFQUNBLHVCQUF1QixFQUFBOztBSHpsQnpCO3FGQ2k1QnFGO0FHaDZCckY7OytFSG02QitFO0FHLzVCL0U7NEVIaTZCNEU7QUcvNUI1RTs7Ozs7OztDSHU2QkM7QUd2MUJEOzRFSHkxQjRFO0FJLzZCNUU7OytFSms3QitFO0FJLzZCL0U7RUFJUSxnQkFBZ0IsRUFBQTs7QUFPeEI7RUFDSSxhQUFhO0VBQ2IsZ0NBQWdDLEVBQUE7O0FDaEJwQzs0RUwyN0I0RTtBTTM3QjVFOzsrRU44N0IrRTtBTTE3Qi9FOzRFTjQ3QjRFO0FNMTdCNUU7O0NONjdCQztBTWg3QkQ7NEVOazdCNEU7QU1qNkI1RTs0RU5tNkI0RTtBT3Y4QjVFOzsrRVAwOEIrRTtBT3I4Qi9FOzRFUHU4QjRFO0FDbDhCNUU7RUtDUSxtQ0FBbUM7RUFDbkMsa0NBQWtDO0VDRnRDLGVKaUNVLEVBQUE7O0FGckJkO0VNUkksc0NKK0RzQztFSTlEdEMsV0pBVztFSUVYLGdCSmtFZ0IsRUFBQTs7QUZScEI7RU10REksZUFBZTtFQUNmLHFCQUFxQjtFQUVyQixtQkFBbUIsRUFBQTtFQUp2QjtJQU1RLHFCQUFxQixFQUFBOztBQzFCN0I7OzRFUmcrQjRFO0FRNzlCNUU7RUZnRUksa0JBQWtCO0VBRWxCLGdCQUFnQjtFRS9EaEIsY0xZZ0IsRUFBQTtFR29EaEI7SUFDSSxXQUFXO0lBQ1gsY0FBYztJQUNkLGtCQUFrQjtJQUNsQixTQUFTO0lBQ1QsT0FBTztJQUVQLFdBWCtCO0lBWS9CLFdBWmtEO0lBY2xELDJEQUErQztJQUEvQyxzREFBK0M7SUFBL0Msd0RBQStDO0lBQS9DLG1EQUErQztJQUMvQyw0QkFBb0I7T0FBcEIseUJBQW9CO1FBQXBCLHdCQUFvQjtTQUFwQix1QkFBb0I7WUFBcEIsb0JBQW9CO0lBQ3BCLCtCQUF1QjtPQUF2Qiw0QkFBdUI7UUFBdkIsMkJBQXVCO1NBQXZCLDBCQUF1QjtZQUF2Qix1QkFBdUI7SUFFdkIsd0JBbEJ3RSxFQUFBO0VBdUI1RTtJQUNJLHFFQUEwRDtPQUExRCxrRUFBMEQ7U0FBMUQsZ0VBQTBEO1lBQTFELDZEQUEwRDtJQUMxRCxpQ0FBeUI7T0FBekIsOEJBQXlCO1NBQXpCLDRCQUF5QjtZQUF6Qix5QkFBeUI7SUFDekIsNEJBQW9CO09BQXBCLHlCQUFvQjtRQUFwQix3QkFBb0I7U0FBcEIsdUJBQW9CO1lBQXBCLG9CQUFvQixFQUFBOztBQTVDcEI7RUFDSSxzQkhsQ0csRUFBQTs7QUdpQ1A7RUFDSSx5QkhqQ1ksRUFBQTs7QUdnQ2hCO0VBQ0ksc0JIaENHLEVBQUE7O0FHK0JQO0VBQ0kseUJIL0JRLEVBQUE7O0FHOEJaO0VBQ0kseUJIOUJVLEVBQUE7O0FHNkJkO0VBQ0kseUJIN0JLLEVBQUE7O0FHNEJUO0VBQ0kseUJINUJNLEVBQUE7O0FHMkJWO0VBQ0kseUJIM0JNLEVBQUE7O0FHMEJWO0VBQ0kseUJIMUJXLEVBQUE7O0FHeUJmO0VBQ0kseUJIekJZLEVBQUE7O0FHZ0JoQjtFQUNJLFdIMUJHLEVBQUE7O0FHeUJQO0VBQ0ksY0h6QlksRUFBQTs7QUd3QmhCO0VBQ0ksV0h4QkcsRUFBQTs7QUd1QlA7RUFDSSxjSHZCUSxFQUFBOztBR3NCWjtFQUNJLGNIdEJVLEVBQUE7O0FHcUJkO0VBQ0ksY0hyQkssRUFBQTs7QUdvQlQ7RUFDSSxjSHBCTSxFQUFBOztBR21CVjtFQUNJLGNIbkJNLEVBQUE7O0FHa0JWO0VBQ0ksY0hsQlcsRUFBQTs7QUdpQmY7RUFDSSxjSGpCWSxFQUFBOztBS0p4QjtFQUNJLDJCQUFvQjtFQUFwQiw0QkFBb0I7RUFBcEIsd0JBQW9CO0VBQXBCLDJCQUFvQjtFQUFwQixvQkFBb0I7RUFDcEIsVUFBVTtFQUNWLFdBQVc7RUFDWCxzQkFBYztNQUFkLG9CQUFjO1VBQWQsY0FBYztFQUNkLGNBQWMsRUFBQTs7QUFHbEI7O0VBRUksU0FBUztFQUNULFVBQVU7RUFFVixnQkFBZ0I7RUFDaEIsaUJMc0RhLEVBQUE7RUs1RGpCOztJQVFRLGNBQWMsRUFBQTs7QUFJdEI7RUFDSSxXQUFXO0VBRVgsa0JMNkNhO0VLNUNiLG1CTDFCZ0I7RUsyQmhCLFdMNUJXO0VLOEJYLDBCTG1Da0I7S0tuQ2xCLHVCTG1Da0I7VUtuQ2xCLGtCTG1Da0IsRUFBQTs7QUs3QmxCO0VBRUksU0FBUztFQUNULFVBQVU7RUFFVixTQUFTLEVBQUE7O0FBT2I7RUFHUSxhQUFhLEVBQUE7O0FBUXJCO0VBRUksa0JBQWtCO0VBQ2xCLFVBQVU7RUFFVixXQUFXO0VBQ1gsd0JBQWdCO0tBQWhCLHFCQUFnQjtVQUFoQixnQkFBZ0I7RUFDaEIsdUJBQXVCO0VBRXZCLHdCQUFnQjtLQUFoQixxQkFBZ0I7VUFBaEIsZ0JBQWdCLEVBQUE7RUFUcEI7SUFXUSxhQUFhLEVBQUE7O0FBUXJCO0VBRUksZ0JBQWdCO0VBQ2hCLFlMVlM7RUtZVCxnQkFBZ0IsRUFBQTs7QUFNcEI7Ozs7RUFHUSxtQkFBbUIsRUFBQTs7QUFIM0I7Ozs7RUFHUSxtQkFBbUIsRUFBQTs7QUFIM0I7Ozs7RUFHUSxtQkFBbUIsRUFBQTs7QUFIM0I7Ozs7RUFHUSxtQkFBbUIsRUFBQTs7QUFIM0I7Ozs7RUFHUSxtQkFBbUIsRUFBQTs7QUFIM0I7Ozs7RUFHUSxtQkFBbUIsRUFBQTs7QUFPM0I7Ozs7RUFFSSxnQkFBZ0M7RUFDaEMsWUw5QmtCLEVBQUE7O0FLcUN0Qjs7Ozs7Ozs7O0VBRUksd0JBQWdCO0tBQWhCLHFCQUFnQjtVQUFoQixnQkFBZ0I7RUFDaEIsd0JBQWdCO0tBQWhCLHFCQUFnQjtVQUFoQixnQkFBZ0IsRUFBQTtFQUhwQjs7Ozs7Ozs7Ozs7Ozs7Ozs7SUFPUSx5QkxuSFEsRUFBQTtFSzRHaEI7Ozs7Ozs7OztJQVVRLHdCQUFnQjtZQUFoQixnQkFBZ0IsRUFBQTtFQVZ4Qjs7Ozs7Ozs7O0lBY1EsYUFBYSxFQUFBOztBVG5IekI7cUZDd29DcUY7QVNqcUNyRjs7K0VUb3FDK0U7QVNqcUMvRTtFQUNJLHlCTm9Cb0IsRUFBQTs7QU94QnhCOzsrRVYwcUMrRTtBVXZxQy9FO0VBQ0ksZUFBZTtFQUNmLE1BQU07RUFDTixPQUFPO0VBQ1AsV0FBVztFQUNYLFlQdUc2QjtFT3JHN0IsdUJBQXVCO0VBRXZCLG1DUG1GK0I7RU9uRi9CLDhCUG1GK0I7RU9uRi9CLGdDUG1GK0I7RU9uRi9CLDJCUG1GK0I7RU9qRi9CLFlQNkVnQixFQUFBO0VRc2RoQjtJRDlpQko7TUFjUSxZUCtGd0IsRUFBQSxFTzlEL0I7RUEvQ0Q7SUFpQlEsb0JBQWE7SUFBYixxQkFBYTtJQUFiLGlCQUFhO0lBQWIsb0JBQWE7SUFBYixhQUFhO0lBQ2IsOEJBQW1CO0lBQW5CLDZCQUFtQjtJQUFuQiwyQkFBbUI7T0FBbkIsMkJBQW1CO09BQW5CLDBCQUFtQjtRQUFuQix1QkFBbUI7WUFBbkIsbUJBQW1CO0lBQ25CLHlCQUFtQjtJQUFuQiwyQkFBbUI7T0FBbkIsc0JBQW1CO1FBQW5CLHNCQUFtQjtZQUFuQixtQkFBbUI7SUFDbkIseUJBQThCO0lBQTlCLHNDQUE4QjtPQUE5QixzQkFBOEI7UUFBOUIsc0JBQThCO1lBQTlCLDhCQUE4QjtJQUU5QixZQUFZLEVBQUE7RUF0QnBCO0lBNEJRLGdCUGRPO0lPZVAsNENQb0VxQztPT3BFckMseUNQb0VxQztZT3BFckMsb0NQb0VxQztJT2xFckMsbUNQNkQyQjtJTzdEM0IsOEJQNkQyQjtJTzdEM0IsZ0NQNkQyQjtJTzdEM0IsMkJQNkQyQixFQUFBO0lPNUZuQztNQXNDb0IseUJQdkJBLEVBQUE7RU9mcEI7SUE0Q1EsU0FBUztJQUNULGdCQUFnQixFQUFBOztBRWhEeEI7OytFWnlzQytFO0FZdHJDL0U7RUFWSSxvQkFBYTtFQUFiLHFCQUFhO0VBQWIsaUJBQWE7RUFBYixvQkFBYTtFQUFiLGFBQWE7RUFDYiw0QkFBc0I7RUFBdEIsNkJBQXNCO0VBQXRCLDhCQUFzQjtLQUF0Qix5QkFBc0I7S0FBdEIsMEJBQXNCO01BQXRCLDBCQUFzQjtVQUF0QixzQkFBc0I7RUFFdEIsV0FBVztFQUNYLGlCVGlCbUI7RVNoQm5CLGNBQWM7RUFFZCx3QkFBd0IsRUFBQTtFRGlpQnhCO0lDOWhCSjtNQWRRLGtCVG1GUztNU2xGVCxpQlRrRlMsRUFBQSxFU25FaEI7O0FDckJEOzsrRWJ3dEMrRTtBYXJ0Qy9FO0VBQ0ksOEJBQXNCO0tBQXRCLDJCQUFzQjtVQUF0QixzQkFBc0IsRUFBQTs7QUFHMUI7RUFDSSxrQkFBa0IsRUFBQTtFQUVqQjtJQUdXLGdCVm9ERCxFQUFBOztBV2pFZjs7K0VkbXVDK0U7QWNodUMvRTtFQUNJLGVBQWU7RUFDZixNQUFNO0VBQ04sUUFBUTtFQUVSLFFBQVE7RUFDUixhQUFhO0VBRWIsc0JYSVc7RVdIWCxVQUFVO0VBRVYsbUNYa0Y0QjtFV2xGNUIsOEJYa0Y0QjtFV2xGNUIsZ0NYa0Y0QjtFV2xGNUIsMkJYa0Y0QjtFV2hGNUIsZ0JBQWdCO0VBQ2hCLFlBQVksRUFBQTtFSGdpQlo7SUc5aUJKO01Ba0JZLFlBQVk7TUFDWixZWG1GYztNV2pGZCxtQ1h3RW9CO01XeEVwQiw4Qlh3RW9CO01XeEVwQixnQ1h3RW9CO01XeEVwQiwyQlh3RW9CO01XdEVwQixjQUFjLEVBQUEsRUFFckI7O0FDNUJMOzsrRWZ3dkMrRTtBZXB2QzNFO0VBQ0kseUJabUJnQixFQUFBOztBYXhCeEI7OytFaEI4dkMrRTtBZ0IzdkMvRTtFQUNJLGVBQWU7RUFDZixNQUFNO0VBQ04sYWJxSHlCO0VhcEh6QixnQkFBZ0I7RUFFaEIsYUFBYTtFQUNiLFliaUh5QjtFYWhIekIsZUFBZTtFQUVmLGdCYklXO0VhRlgsa0JieUVhO0VheEViLGlCYndFYTtFYXRFYixtQ2I4RTRCO0VhOUU1Qiw4QmI4RTRCO0VhOUU1QixnQ2I4RTRCO0VhOUU1QiwyQmI4RTRCO0VhNUU1QixZQUFZLEVBQUE7RUFqQmhCO0lBb0JRLFFBQVE7SUFDUixjQUFjO0lBQ2QsbUNidUV3QjtJYXZFeEIsOEJidUV3QjtJYXZFeEIsZ0NidUV3QjtJYXZFeEIsMkJidUV3QixFQUFBOztBY2hHaEM7OytFakJteEMrRTtBaUJoeEMvRTtFQUNJLG9CQUFhO0VBQWIscUJBQWE7RUFBYixpQkFBYTtFQUFiLG9CQUFhO0VBQWIsYUFBYTtFQUNiLDRCQUFzQjtFQUF0Qiw2QkFBc0I7RUFBdEIsOEJBQXNCO0tBQXRCLHlCQUFzQjtLQUF0QiwwQkFBc0I7TUFBdEIsMEJBQXNCO1VBQXRCLHNCQUFzQjtFQUN0Qix5QkFBbUI7RUFBbkIsMkJBQW1CO0tBQW5CLHNCQUFtQjtNQUFuQixzQkFBbUI7VUFBbkIsbUJBQW1CO0VBQ25CLHlCQUE4QjtFQUE5QixzQ0FBOEI7S0FBOUIsc0JBQThCO01BQTlCLHNCQUE4QjtVQUE5Qiw4QkFBOEI7RUFFOUIsNENkMkZ5QztLYzNGekMseUNkMkZ5QztVYzNGekMsb0NkMkZ5QyxFQUFBO0Vjakc3QztJQVVZLFVBQXNELEVBQUE7SU5vaUI5RDtNTTlpQko7UUFhZ0IsVUFBNEQsRUFBQSxFQUVuRTs7QWxCa0JUO3FGQzZ2Q3FGO0FrQmp5Q3JGOzsrRWxCb3lDK0U7QWtCL3hDM0U7RUFDSSxhQUFhO0VBQ2IsZWYyQ1E7RWUxQ1IsbUJmNkRNLEVBQUE7RWVoRVQ7SUFNTyxjZk9RLEVBQUE7RVEraEJoQjtJTzVpQkE7TUFTUSxlZm1DQTtNZWxDQSxtQmZpRFMsRUFBQSxFZS9DaEI7O0FBQ0Q7RUFDSSxpQmZrQ007RWVqQ04sbUJmaURNO0VlaEROLGdCQUFnQixFQUFBO0VBSG5CO0lBTU8saUJBQWlCLEVBQUE7RVB5aEJ6QjtJTy9oQkE7TUFTUSxtQmZxQ1MsRUFBQSxFZW5DaEI7O0FBQ0Q7RUFDSSxvQkFBYTtFQUFiLHFCQUFhO0VBQWIsaUJBQWE7RUFBYixvQkFBYTtFQUFiLGFBQWE7RUFDYix5QkFBbUI7RUFBbkIsMkJBQW1CO0tBQW5CLHNCQUFtQjtNQUFuQixzQkFBbUI7VUFBbkIsbUJBQW1CO0VBQ25CLHVCQUEyQjtFQUEzQixtQ0FBMkI7S0FBM0Isb0JBQTJCO01BQTNCLG9CQUEyQjtVQUEzQiwyQkFBMkIsRUFBQTtFQUg5QjtJQVFXLGtCZjhCRCxFQUFBO0VldENWO0lBV1csWUFBWSxFQUFBOztBQ3pDNUI7OytFbkJxMEMrRTtBbUJsMEMvRTtFQUNJLG9CQUFhO0VBQWIscUJBQWE7RUFBYixpQkFBYTtFQUFiLG9CQUFhO0VBQWIsYUFBYTtFQUNiLHlCQUFtQjtFQUFuQiwyQkFBbUI7S0FBbkIsc0JBQW1CO01BQW5CLHNCQUFtQjtVQUFuQixtQkFBbUI7RUFDbkIseUJBQThCO0VBQTlCLHNDQUE4QjtLQUE5QixzQkFBOEI7TUFBOUIsc0JBQThCO1VBQTlCLDhCQUE4QjtFQUU5QixlQUF1QixFQUFBO0VBRXZCO0lBQ0ksVUFBVTtJQUNWLFlBQVksRUFBQTtJQUZmO01BS08sa0JoQm9EQyxFQUFBO01ROGVUO1FRdmlCQztVQVFXLGVBQWU7VUFDZixtQmhCZ0RILEVBQUEsRWdCOUNKO0lSNGhCTDtNUXZpQkE7UUFjUSxXQUFXLEVBQUEsRUFFbEI7RVJ1aEJEO0lROWlCSjtNQTBCUSw0QkFBc0I7TUFBdEIsNkJBQXNCO01BQXRCLDhCQUFzQjtTQUF0Qix5QkFBc0I7U0FBdEIsMEJBQXNCO1VBQXRCLDBCQUFzQjtjQUF0QixzQkFBc0IsRUFBQSxFQUU3Qjs7QUMvQkQ7OytFcEI2MUMrRTtBb0IxMUMvRTtFQUNJLGtCQUFrQjtFQUNsQixXQUFXO0VBRVgsV0FBVyxFQUFBOztBQ1BmOzsrRXJCcTJDK0U7QXFCbDJDL0U7RUFDSSxZQUFZO0VBRVosa0JsQjBEaUI7RWtCekRqQiwyQmxCeURpQjtLa0J6RGpCLHdCbEJ5RGlCO1VrQnpEakIsbUJsQnlEaUI7RWtCdkRqQixzQmxCUVc7RWtCUFgsY2xCU2tCO0VrQlBsQixpQmxCeUNVO0VrQnhDVixpQkFBaUI7RUFFakIsNENsQnFGeUM7S2tCckZ6Qyx5Q2xCcUZ5QztVa0JyRnpDLG9DbEJxRnlDO0VrQm5GekMsbUNsQjhFK0I7RWtCOUUvQiw4QmxCOEUrQjtFa0I5RS9CLGdDbEI4RStCO0VrQjlFL0IsMkJsQjhFK0I7RWtCNUUvQixlQUFlLEVBQUE7RUFoQm5CO0lBbUJRLG1DbEJ5RTJCO0lrQnpFM0IsOEJsQnlFMkI7SWtCekUzQixnQ2xCeUUyQjtJa0J6RTNCLDJCbEJ5RTJCO0lrQnhFM0IsNkJsQjJFNEI7T2tCM0U1QiwwQmxCMkU0QjtRa0IzRTVCLHlCbEIyRTRCO1NrQjNFNUIsd0JsQjJFNEI7WWtCM0U1QixxQmxCMkU0QixFQUFBOztBa0J2RXBDO0VBQ0kseUJsQlZnQjtFa0JXaEIsV2xCWlc7RWtCY1gsNENsQnFFeUM7S2tCckV6Qyx5Q2xCcUV5QztVa0JyRXpDLG9DbEJxRXlDLEVBQUE7O0FrQmxFN0M7RUFHSSxhbEIrQlc7RWtCOUJYLGlCbEJrQmUsRUFBQTs7QWtCZm5CO0VBQ0ksa0JsQjJCVSxFQUFBOztBa0J4QmQ7RUFDSSxvQkFBYTtFQUFiLHFCQUFhO0VBQWIsaUJBQWE7RUFBYixvQkFBYTtFQUFiLGFBQWE7RUFDYix5QkFBbUI7RUFBbkIsMkJBQW1CO0tBQW5CLHNCQUFtQjtNQUFuQixzQkFBbUI7VUFBbkIsbUJBQW1CO0VBQ25CLHdCQUF1QjtFQUF2QiwrQkFBdUI7S0FBdkIscUJBQXVCO01BQXZCLHFCQUF1QjtVQUF2Qix1QkFBdUI7RUFFdkIsa0JBQWtCO0VBQ2xCLFdsQmdGZ0I7RWtCL0VoQixZbEIrRWdCO0VrQjlFaEIsYUFBMkI7RUFDM0IsV2xCYVM7RWtCWFQsMkJBQW1CO0tBQW5CLHdCQUFtQjtVQUFuQixtQkFBbUI7RUFDbkIsbUJsQnZDZ0I7RWtCd0NoQixXbEJ6Q1c7RWtCMkNYLG1DbEJtQytCO0VrQm5DL0IsOEJsQm1DK0I7RWtCbkMvQixnQ2xCbUMrQjtFa0JuQy9CLDJCbEJtQytCO0VrQmpDL0IsZUFBZSxFQUFBO0VBakJuQjtJQW9CUSw2QkFBcUI7T0FBckIsMEJBQXFCO1FBQXJCLHlCQUFxQjtTQUFyQix3QkFBcUI7WUFBckIscUJBQXFCO0lBQ3JCLG1DbEI2QjJCO0lrQjdCM0IsOEJsQjZCMkI7SWtCN0IzQixnQ2xCNkIyQjtJa0I3QjNCLDJCbEI2QjJCLEVBQUE7RWtCbERuQztJQXdCUSxjQUFjO0lBQ2QsWUFBWTtJQUNaLGtCQUFrQixFQUFBOztBQUkxQjtFQUNJLG9CQUFhO0VBQWIscUJBQWE7RUFBYixpQkFBYTtFQUFiLG9CQUFhO0VBQWIsYUFBYTtFQUNiLHlCQUFtQjtFQUFuQiwyQkFBbUI7S0FBbkIsc0JBQW1CO01BQW5CLHNCQUFtQjtVQUFuQixtQkFBbUI7RUFDbkIsd0JBQXVCO0VBQXZCLCtCQUF1QjtLQUF2QixxQkFBdUI7TUFBdkIscUJBQXVCO1VBQXZCLHVCQUF1QjtFQUV2QixrQkFBa0I7RUFDbEIsV2xCbURzQjtFa0JsRHRCLFlsQmtEc0I7RWtCakR0QixhQUFpQztFQUNqQyxXbEJqQlM7RWtCbUJULDJCQUFtQjtLQUFuQix3QkFBbUI7VUFBbkIsbUJBQW1CO0VBQ25CLG1CbEJyRWdCO0VrQnNFaEIsV2xCdkVXO0VrQnlFWCxtQ2xCSytCO0VrQkwvQiw4QmxCSytCO0VrQkwvQixnQ2xCSytCO0VrQkwvQiwyQmxCSytCO0VrQkgvQixlQUFlLEVBQUE7RUFqQm5CO0lBb0JRLDZCQUFxQjtPQUFyQiwwQkFBcUI7UUFBckIseUJBQXFCO1NBQXJCLHdCQUFxQjtZQUFyQixxQkFBcUI7SUFDckIsbUNsQkQyQjtJa0JDM0IsOEJsQkQyQjtJa0JDM0IsZ0NsQkQyQjtJa0JDM0IsMkJsQkQyQixFQUFBO0VrQnBCbkM7SUF3QlEsaUJBQWlCO0lBQ2pCLFlBQVk7SUFDWixrQkFBa0IsRUFBQTs7QUFJMUI7RUFDSSxZQUFZLEVBQUE7RUFEaEI7SUFJUSxnQ0FBd0I7T0FBeEIsNkJBQXdCO1FBQXhCLDRCQUF3QjtTQUF4QiwyQkFBd0I7WUFBeEIsd0JBQXdCLEVBQUE7O0FDN0doQzs7K0V0Qm83QytFO0FzQmo3Qy9FO0VBQ0ksb0JBQWE7RUFBYixxQkFBYTtFQUFiLGlCQUFhO0VBQWIsb0JBQWE7RUFBYixhQUFhO0VBQ2IseUJBQW1CO0VBQW5CLDJCQUFtQjtLQUFuQixzQkFBbUI7TUFBbkIsc0JBQW1CO1VBQW5CLG1CQUFtQjtFQUNuQix3QkFBdUI7RUFBdkIsK0JBQXVCO0tBQXZCLHFCQUF1QjtNQUF2QixxQkFBdUI7VUFBdkIsdUJBQXVCO0VBRXZCLHNCQUFnRCxFQUFBOztBQ1JwRDs7K0V2QjY3QytFO0F1QjE3Qy9FO0VBQ0ksb0JBQWE7RUFBYixxQkFBYTtFQUFiLGlCQUFhO0VBQWIsb0JBQWE7RUFBYixhQUFhO0VBQ2IseUJBQW1CO0VBQW5CLDJCQUFtQjtLQUFuQixzQkFBbUI7TUFBbkIsc0JBQW1CO1VBQW5CLG1CQUFtQjtFQUNuQix1QkFBMkI7RUFBM0IsbUNBQTJCO0tBQTNCLG9CQUEyQjtNQUEzQixvQkFBMkI7VUFBM0IsMkJBQTJCO0VBRTNCLGdCQUFnQjtFQUNoQixVQUFVO0VBQ1YsU0FBUyxFQUFBO0VBRVQ7SUFDSSxhcEJzREssRUFBQTtJb0J2RFI7TUFPZSxjcEJBRTtNb0JDRiwwQkFBMEIsRUFBQTs7QUNwQjlDOzsrRXhCNjhDK0U7QXdCMThDL0U7RUFDSSxvQkFBYTtFQUFiLHFCQUFhO0VBQWIsaUJBQWE7RUFBYixvQkFBYTtFQUFiLGFBQWE7RUFDYix5QkFBbUI7RUFBbkIsMkJBQW1CO0tBQW5CLHNCQUFtQjtNQUFuQixzQkFBbUI7VUFBbkIsbUJBQW1CO0VBQ25CLHdCQUF1QjtFQUF2QiwrQkFBdUI7S0FBdkIscUJBQXVCO01BQXZCLHFCQUF1QjtVQUF2Qix1QkFBdUI7RUFFdkIsZUFBZTtFQUNmLFNyQnNHNkI7RXFCckc3QixPQUFPO0VBQ1AsU0FBUztFQUNULFdBQVc7RUFFWCx5QnJCVW9CO0VxQlJwQixnQkFBZ0I7RUFFaEIsbUNyQjZFK0I7RXFCN0UvQiw4QnJCNkUrQjtFcUI3RS9CLGdDckI2RStCO0VxQjdFL0IsMkJyQjZFK0I7RXFCM0UvQiw0Q3JCZ0Z5QztLcUJoRnpDLHlDckJnRnlDO1VxQmhGekMsb0NyQmdGeUM7RXFCOUV6QyxXckJxRWdCLEVBQUE7RXFCeEZwQjtJQXNCUSxZckJnR2lCO0lxQi9GakIsY0FBYztJQUVkLG1DckJtRTJCO0lxQm5FM0IsOEJyQm1FMkI7SXFCbkUzQixnQ3JCbUUyQjtJcUJuRTNCLDJCckJtRTJCLEVBQUE7SVFrZC9CO01hOWlCSjtRQTRCWSxZckJpRm9CLEVBQUEsRXFCL0UzQjtFYmdoQkQ7SWE5aUJKO01BZ0NRLFNyQjZFd0IsRUFBQSxFcUIzRS9COztBQ3JDRDs7K0V6QnkrQytFO0F5QnQrQy9FO0VBQ0ksU0FBUztFQUNULGVBQTBCO0VBQzFCLGN0QlVvQixFQUFBO0VzQmJ4QjtJQU1RLGdCdEJzRFMsRUFBQTtFc0JwRGI7SUFDSSxTQUFTO0lBQ1Qsb0J0QmtEUyxFQUFBO0VzQmhEYjtJQUNJLFNBQVM7SUFDVCxvQnRCOENTO0lzQjVDVCx5QkFBeUI7SUFDekIsaUJBQWlCO0lBQ2pCLGV0QnNCTSxFQUFBO0lRc2dCVjtNY2xpQkE7UUFTUSxldEIrQkcsRUFBQSxFc0I3QlY7RUFDRDtJQUNJLGN0QlJTO0lzQlNULG1CQUE0QjtJQUM1QixnQkFBZ0IsRUFBQTtJQUhuQjtNQU1PLGFBQWEsRUFBQTtFQUdyQjtJQUNJLG9CQUFhO0lBQWIscUJBQWE7SUFBYixpQkFBYTtJQUFiLG9CQUFhO0lBQWIsYUFBYTtJQUNiLHlCQUFtQjtJQUFuQiwyQkFBbUI7T0FBbkIsc0JBQW1CO1FBQW5CLHNCQUFtQjtZQUFuQixtQkFBbUI7SUFDbkIscUJBQXlCO0lBQXpCLGlDQUF5QjtPQUF6QixrQkFBeUI7UUFBekIsa0JBQXlCO1lBQXpCLHlCQUF5QixFQUFBO0lBSDVCO01BS08sY3RCdkJRLEVBQUE7O0F1QmxCcEI7OytFMUIyZ0QrRTtBMEJ4Z0QvRTtFQUNJLG9CQUFhO0VBQWIscUJBQWE7RUFBYixpQkFBYTtFQUFiLG9CQUFhO0VBQWIsYUFBYTtFQUNiLDhCQUFtQjtFQUFuQiw2QkFBbUI7RUFBbkIsMkJBQW1CO0tBQW5CLDJCQUFtQjtLQUFuQiwwQkFBbUI7TUFBbkIsdUJBQW1CO1VBQW5CLG1CQUFtQjtFQUNuQix1QkFBZTtNQUFmLG1CQUFlO1VBQWYsZUFBZTtFQUNmLHdCQUF1QjtFQUF2QiwrQkFBdUI7S0FBdkIscUJBQXVCO01BQXZCLHFCQUF1QjtVQUF2Qix1QkFBdUI7RUFDdkIseUJBQThCO0VBQTlCLHNDQUE4QjtLQUE5QixzQkFBOEI7TUFBOUIsc0JBQThCO1VBQTlCLDhCQUE4QixFQUFBO0VBTGxDO0lBUVEsV0FBVyxFQUFBO0VBUm5CO0lBV1EsZ0NBQTJDO0lBQTNDLDZCQUEyQztJQUEzQyx3QkFBMkMsRUFBQTtFQVhuRDtJQWVRLGtCQUFrQjtJQUNsQixVQUFVO0lBQ1YsU0FBUyxFQUFBO0lBakJqQjtNQW9CWSxtQnZCd0NLLEVBQUE7RXVCNURqQjtJQXdCUSxrQkFBa0I7SUFDbEIsTUFBTTtJQUNOLE9BQU87SUFFUCxldkJjTTtJdUJaTixpQnZCK0c2QjtJdUI5RzdCLFl2QjhHNkI7SXVCNUc3QixjdkJsQlksRUFBQTtFdUJmcEI7SUFvQ1EsV0FBVztJQUNYLFNBQVM7SUFDVCxTQUFTO0lBQ1QsZ0N2QnBCVTtJdUJzQlYsZXZCQ00sRUFBQTtFdUIxQ2Q7SUE0Q1EsaUJ2QmlHNkI7SXVCaEc3QixZdkJnRzZCLEVBQUE7RXVCN0lyQztJQWdEUSxpQkFBaUI7SUFDakIsWUFBWSxFQUFBO0VBakRwQjtJQXNEUSw0QkFBUTtJQUFSLGdCQUFRO09BQVIseUJBQVE7UUFBUixpQkFBUTtZQUFSLFFBQVEsRUFBQTtFQUVaO0lBRUksNEJBQVE7SUFBUixnQkFBUTtPQUFSLHlCQUFRO1FBQVIsaUJBQVE7WUFBUixRQUFRLEVBQUE7RUFFWjtJQUVJLDRCQUFRO0lBQVIsZ0JBQVE7T0FBUix5QkFBUTtRQUFSLGlCQUFRO1lBQVIsUUFBUSxFQUFBO0VBRVo7SUFFSSw0QkFBUTtJQUFSLGdCQUFRO09BQVIseUJBQVE7UUFBUixpQkFBUTtZQUFSLFFBQVEsRUFBQTtFQWxFaEI7SUFzRVEsNEJBQVE7SUFBUixnQkFBUTtPQUFSLHlCQUFRO1FBQVIsaUJBQVE7WUFBUixRQUFRLEVBQUE7SUF0RWhCO01BeUVZLGdCQUFnQjtNQUNoQixrQnZCYlMsRUFBQTtFdUI3RHJCO0lBOEVRLG9CQUFhO0lBQWIscUJBQWE7SUFBYixpQkFBYTtJQUFiLG9CQUFhO0lBQWIsYUFBYTtJQUNiLHlCQUFtQjtJQUFuQiwyQkFBbUI7T0FBbkIsc0JBQW1CO1FBQW5CLHNCQUFtQjtZQUFuQixtQkFBbUI7SUFDbkIsd0JBQXVCO0lBQXZCLCtCQUF1QjtPQUF2QixxQkFBdUI7UUFBdkIscUJBQXVCO1lBQXZCLHVCQUF1QjtJQUd2Qiw0QkFBUTtJQUFSLGdCQUFRO09BQVIseUJBQVE7UUFBUixpQkFBUTtZQUFSLFFBQVEsRUFBQTs7QUN0RmhCOzsrRTNCcWtEK0U7QTJCbGtEL0U7RUFDSSxnQkFBZ0I7RUFDaEIsVUFBVSxFQUFBO0VBRVY7SUFDSSxVQUFVO0lBQ1YsZ0JBQWdCO0lBQ2hCLHdCeEJxRFMsRUFBQTtJd0J4RFo7TUFNTyxheEJtRFM7TXdCbERULHlCeEJVWSxFQUFBOztBeUJ4QnhCOzsrRTVCbWxEK0U7QTRCaGxEL0U7RUFDSSxZekJ3SWtDO0V5QnZJbEMsa0J6QitEVyxFQUFBOztBMEJwRWY7OytFN0IwbEQrRTtBNkJ2bEQvRTtFQUNJLG9CQUFhO0VBQWIscUJBQWE7RUFBYixpQkFBYTtFQUFiLG9CQUFhO0VBQWIsYUFBYTtFQUNiLDhCQUFtQjtFQUFuQiw2QkFBbUI7RUFBbkIsMkJBQW1CO0tBQW5CLDJCQUFtQjtLQUFuQiwwQkFBbUI7TUFBbkIsdUJBQW1CO1VBQW5CLG1CQUFtQjtFQUVuQixlQUFlO0VBRWYsZUFBZTtFQUNmLE9BQU87RUFDUCxTQUFTO0VBRVQsYUFBYTtFQUViLFlBQVksRUFBQTtFQUVaO0lBQ0ksdUJBQXVCO0lBQ3ZCLDRDMUJpRnFDO08wQmpGckMseUMxQmlGcUM7WTBCakZyQyxvQzFCaUZxQztJMEIvRXJDLGtCQUFrQjtJQUVsQixvQkFBYTtJQUFiLHFCQUFhO0lBQWIsaUJBQWE7SUFBYixvQkFBYTtJQUFiLGFBQWE7SUFDYiw4QkFBbUI7SUFBbkIsNkJBQW1CO0lBQW5CLDJCQUFtQjtPQUFuQiwyQkFBbUI7T0FBbkIsMEJBQW1CO1FBQW5CLHVCQUFtQjtZQUFuQixtQkFBbUI7SUFDbkIseUJBQW1CO0lBQW5CLDJCQUFtQjtPQUFuQixzQkFBbUI7UUFBbkIsc0JBQW1CO1lBQW5CLG1CQUFtQjtJQUNuQix1QkFBMkI7SUFBM0IsbUNBQTJCO09BQTNCLG9CQUEyQjtRQUEzQixvQkFBMkI7WUFBM0IsMkJBQTJCLEVBQUE7RUFFL0I7SUFDSSxTQUFTO0lBQ1QsVUFBVTtJQUVWLGtCQUFrQixFQUFBOztBQ2hDMUI7OytFOUJtbkQrRTtBOEJobkQvRTtFQUNJLGdCQUFnQjtFQUNoQixTQUFTO0VBQ1QsVUFBVTtFQUNWLGdCM0J3RGEsRUFBQTtFMkJ0RGI7SUFDSSxvQjNCcURTLEVBQUE7STJCdERaO01BS1csMEJBQTBCLEVBQUE7O0FDZDFDOzsrRS9CZ29EK0U7QStCN25EL0U7RUFDSSxVQUFVLEVBQUE7RUFEZDtJQUlRLGtCNUJ5RGEsRUFBQTtFNEI3RHJCO0lBT1Esa0JBQWtCLEVBQUE7RUFFdEI7SUFDSSxVQUFVLEVBQUE7RUFWbEI7SUFhUSx1QkFBMkI7SUFBM0IsbUNBQTJCO09BQTNCLG9CQUEyQjtRQUEzQixvQkFBMkI7WUFBM0IsMkJBQTJCLEVBQUE7RUFHL0I7SUFDSSxpQkFBaUI7SUFDakIsbUJBQW1CO0lBQ25CLGU1QnNCVTtJNEJyQlYseUJBQXlCO0lBQ3pCLG1CNUJ5Q08sRUFBQTtJUWdmWDtNb0I5aEJBO1FBUVEsc0JBQXNCLEVBQUEsRUFFN0I7RUFDRDtJQUNJLG1CNUJnQ1M7STRCL0JULGdCQUFnQixFQUFBO0VBRXBCO0lBQ0ksb0JBQWE7SUFBYixxQkFBYTtJQUFiLGlCQUFhO0lBQWIsb0JBQWE7SUFBYixhQUFhO0lBQ2IseUJBQW1CO0lBQW5CLDJCQUFtQjtPQUFuQixzQkFBbUI7UUFBbkIsc0JBQW1CO1lBQW5CLG1CQUFtQjtJQUNuQix5QkFBOEI7SUFBOUIsc0NBQThCO09BQTlCLHNCQUE4QjtRQUE5QixzQkFBOEI7WUFBOUIsOEJBQThCO0lBRTlCLGdCNUJ3QlMsRUFBQTtJNEI3Qlo7TUFTVyxrQjVCb0JDLEVBQUE7RVFrZmI7SW9COWlCSjtNQThDUSxVQUFVLEVBQUE7TUE5Q2xCO1FBaURZLGVBQWU7UUFDZixtQjVCYU8sRUFBQTtNNEIvRG5CO1FBcURZLG1CNUJRUyxFQUFBO000QnBEakI7UUErQ1EsV0FBVyxFQUFBLEVBQ2Q7RXBCcWZMO0lvQjlpQko7TUE0RFEsV0FBVyxFQUFBO01BNURuQjtRQStEWSxnQkFBZ0IsRUFBQTtNQS9ENUI7UUFrRVksZUFBZTtRQUNmLG1CNUJMRyxFQUFBLEU0Qk1OOztBQ3ZFVDs7K0VoQ21yRCtFO0FnQ2hyRC9FO0VBQ0ksb0JBQWE7RUFBYixxQkFBYTtFQUFiLGlCQUFhO0VBQWIsb0JBQWE7RUFBYixhQUFhO0VBQ2IsNEJBQXNCO0VBQXRCLDZCQUFzQjtFQUF0Qiw4QkFBc0I7S0FBdEIseUJBQXNCO0tBQXRCLDBCQUFzQjtNQUF0QiwwQkFBc0I7VUFBdEIsc0JBQXNCO0VBQ3RCLHlCQUFtQjtFQUFuQiwyQkFBbUI7S0FBbkIsc0JBQW1CO01BQW5CLHNCQUFtQjtVQUFuQixtQkFBbUI7RUFDbkIsZUFBd0IsRUFBQTtFQUV4QjtJQUNJLG9CQUFhO0lBQWIscUJBQWE7SUFBYixpQkFBYTtJQUFiLG9CQUFhO0lBQWIsYUFBYTtJQUNiLHdCQUF1QjtJQUF2QiwrQkFBdUI7T0FBdkIscUJBQXVCO1FBQXZCLHFCQUF1QjtZQUF2Qix1QkFBdUI7SUFDdkIseUJBQThCO0lBQTlCLHNDQUE4QjtPQUE5QixzQkFBOEI7UUFBOUIsc0JBQThCO1lBQTlCLDhCQUE4QjtJQUU5QixXQUFXLEVBQUE7SUFMZDtNQVFPLG9CN0JpRE8sRUFBQTtJUStlZjtNcUJ4aUJBO1FBWVEsdUJBQWU7WUFBZixtQkFBZTtnQkFBZixlQUFlLEVBQUE7UUFadEI7VUFlVyxpQkFBaUIsRUFBQSxFQUNwQjtFckJ3aEJUO0lxQjlpQko7TUEwQlEsZUFBMEIsRUFBQSxFQUVqQzs7QUMvQkQ7OzRFakMyc0Q0RTtBa0Mzc0Q1RTs7K0VsQzhzRCtFO0FrQzNzRC9FO0VBQ0ksb0JBQWE7RUFBYixxQkFBYTtFQUFiLGlCQUFhO0VBQWIsb0JBQWE7RUFBYixhQUFhO0VBQ2IseUJBQW1CO0VBQW5CLDJCQUFtQjtLQUFuQixzQkFBbUI7TUFBbkIsc0JBQW1CO1VBQW5CLG1CQUFtQjtFQUVuQixZQUFZLEVBQUE7RUFKaEI7SUFPUSxlQUFlLEVBQUE7RUFHbEI7SUFHTyxZQUFZO0lBQ1osY0FBYztJQUNkLGdCQUFnQjtJQUNoQixrQi9Cd0ZhLEVBQUE7SStCOUZwQjtNQVNXLGNBQWM7TUFDZCxrQkFBa0I7TUFFbEIsaUJBQWlCO01BQ2pCLFcvQmtGTTtNK0JqRk4sVy9Ca0ZVO00rQmpGViwwQkFBa0I7U0FBbEIsdUJBQWtCO2NBQWxCLGtCQUFrQixFQUFBO01BZjdCO1FBbUJlLFdBQVc7UUFDWCxjQUFjO1FBQ2Qsa0JBQWtCO1FBQ2xCLFcvQnlFRTtRK0J4RUYsVy9CeUVNO1ErQnhFTixzQi9CcEJMO1ErQnFCSyxPQUFPLEVBQUE7TUF6QnRCO1FBNkJlLFFBQUssRUFBQTtNQTdCcEI7UUFnQ2UsU0FBbUMsRUFBQTtJQWhDbEQ7TUFzQ2UsNkJBQTZCO01BQzdCLG1DL0IyQ2U7TStCM0NmLDhCL0IyQ2U7TStCM0NmLGdDL0IyQ2U7TStCM0NmLDJCL0IyQ2UsRUFBQTtNK0JsRjlCO1FBMkNtQixNQUFNO1FBQ04sbUMvQnNDVztRK0J0Q1gsOEIvQnNDVztRK0J0Q1gsZ0MvQnNDVztRK0J0Q1gsMkIvQnNDVyxFQUFBO00rQmxGOUI7UUErQ21CLGdDQUF3QjtXQUF4Qiw2QkFBd0I7WUFBeEIsNEJBQXdCO2FBQXhCLDJCQUF3QjtnQkFBeEIsd0JBQXdCLEVBQUE7TUEvQzNDO1FBa0RtQixpQ0FBeUI7V0FBekIsOEJBQXlCO1lBQXpCLDZCQUF5QjthQUF6Qiw0QkFBeUI7Z0JBQXpCLHlCQUF5QixFQUFBO0V2QmtmN0M7SXVCcGlCQTtNQXlEUSxhQUFhLEVBQUEsRUFFcEI7RUFDQTtJQUdPLFlBQVk7SUFDWixnQkFBZ0I7SUFDaEIsYS9CNkJhLEVBQUE7SStCbENwQjtNQVFXLHVCQUF1QjtNQUN2QiwwQkFBa0I7U0FBbEIsdUJBQWtCO2NBQWxCLGtCQUFrQixFQUFBO01BVDdCO1FBWWUsYy9CbkVBO1ErQm9FQSxrQkFBa0IsRUFBQTtJQWJqQztNQWlCVyxjQUFjO01BRWQsVy9CZ0JNO00rQmZOLFkvQmVNO00rQmROLDBDQUEwQztNQUMxQyxnQ0FBd0I7U0FBeEIsNkJBQXdCO1dBQXhCLDJCQUF3QjtjQUF4Qix3QkFBd0IsRUFBQTtJQXRCbkM7TUF5QlcsZ0JBQWdCO01BQ2hCLFcvQmxGRDtNK0JtRkMsa0JBQWtCLEVBQUE7SUEzQjdCO01BK0JXLFdBQVcsRUFBQTtNQS9CdEI7UUFrQ2UsYy9CekZBLEVBQUE7RVEraEJoQjtJdUJ4ZUE7TUF3Q1EsYUFBYSxFQUFBLEVBRXBCO0VBQ0E7SUFHVyx5Qi9CckdJLEVBQUE7SStCa0dmO01BTWUseUIvQnhHQSxFQUFBOztBK0IrR3BCO0VBSWdCLHlCL0JuSEk7RStCcUhKLG1DL0J4Q21CO0UrQndDbkIsOEIvQnhDbUI7RStCd0NuQixnQy9CeENtQjtFK0J3Q25CLDJCL0J4Q21CLEVBQUE7O0FnQy9GbkM7OytFbkNneUQrRTtBbUM3eEQvRTtFQUNJLG9CQUFhO0VBQWIscUJBQWE7RUFBYixpQkFBYTtFQUFiLG9CQUFhO0VBQWIsYUFBYTtFQUNiLDhCQUFtQjtFQUFuQiw2QkFBbUI7RUFBbkIsMkJBQW1CO0tBQW5CLDJCQUFtQjtLQUFuQiwwQkFBbUI7TUFBbkIsdUJBQW1CO1VBQW5CLG1CQUFtQjtFQUNuQix5QkFBbUI7RUFBbkIsMkJBQW1CO0tBQW5CLHNCQUFtQjtNQUFuQixzQkFBbUI7VUFBbkIsbUJBQW1CO0VBQ25CLHdCQUF1QjtFQUF2QiwrQkFBdUI7S0FBdkIscUJBQXVCO01BQXZCLHFCQUF1QjtVQUF2Qix1QkFBdUIsRUFBQTs7QUFHM0I7RUFDSSxvQkFBYTtFQUFiLHFCQUFhO0VBQWIsaUJBQWE7RUFBYixvQkFBYTtFQUFiLGFBQWE7RUFDYiw4QkFBbUI7RUFBbkIsNkJBQW1CO0VBQW5CLDJCQUFtQjtLQUFuQiwyQkFBbUI7S0FBbkIsMEJBQW1CO01BQW5CLHVCQUFtQjtVQUFuQixtQkFBbUI7RUFDbkIseUJBQW1CO0VBQW5CLDJCQUFtQjtLQUFuQixzQkFBbUI7TUFBbkIsc0JBQW1CO1VBQW5CLG1CQUFtQjtFQUNuQixTQUFTO0VBQ1QsVUFBVSxFQUFBO0VBRVY7SUFDSSxnQkFBZ0I7SUFDaEIsY2hDNENTO0lnQzFDVCxpQmhDZ0NNLEVBQUE7SWdDcENUO01BT08sYUFBYSxFQUFBO0lBUHBCO01BVU8sa0JBQWtCLEVBQUE7TUFWekI7UUFhVyxtQkFBZ0MsRUFBQTtNQWIzQztRQW9CZSxXQUFXO1FBQ1gsa0JBQWtCO1FBRWxCLGNBQWM7UUFFZCxVQUFVO1FBQ1YsV0FBVztRQUVYLHNCaEM1QkwsRUFBQTtNZ0NBVjtRQWdDZSxRQUFRO1FBQ1IsV2hDa0JMO1FnQ2pCSyxpQ0FBeUI7V0FBekIsOEJBQXlCO1lBQXpCLDZCQUF5QjthQUF6Qiw0QkFBeUI7Z0JBQXpCLHlCQUF5QixFQUFBO01BbEN4QztRQXFDZSxRQUFRO1FBQ1IsV0FBMEM7UUFDMUMsZ0NBQXdCO1dBQXhCLDZCQUF3QjtZQUF4Qiw0QkFBd0I7YUFBeEIsMkJBQXdCO2dCQUF4Qix3QkFBd0IsRUFBQTtNQXZDdkM7UUE0Q2UsY2hDM0NBLEVBQUE7UWdDRGY7VUErQ21CLHlCaEM3Q0YsRUFBQTtJZ0NGakI7TUFxRE8saUJBQWlCO01BQ2pCLGNoQ3BEVSxFQUFBO0lnQ0ZqQjtNQXlETyxpQkFBaUIsRUFBQTtJQXpEeEI7TUE0RE8sYWhDVEcsRUFBQTtNZ0NuRFY7UUErRFcsV2hDL0RELEVBQUE7SWdDQVY7TUFvRVcsZ0JoQ3BFRDtNZ0NxRUMsMkJoQ25CSDtTZ0NtQkcsd0JoQ25CSDtjZ0NtQkcsbUJoQ25CSCxFQUFBO01nQ2xEUjtRQXdFZSxjaEN0RUUsRUFBQTtFZ0M0RWxCO0lBQ0ksV0FBVztJQUNYLGlCQUFpQjtJQUNqQixrQkFBa0IsRUFBQTtJeEIrY3RCO013QmxkQTtRQUtRLGFBQWEsRUFBQSxFQUVwQjs7QUFHTDtFQVN3QixXaENuR1QsRUFBQTs7QWdDMEZmO0VBaUJnQyxzQmhDM0dqQixFQUFBOztBZ0MwRmY7RUF5QjRCLDBCQUEwQjtFQUMxQixjaENoSE4sRUFBQTs7QWdDc0Z0QjtFQWtDb0MseUJoQ3hIZCxFQUFBOztBZ0NzRnRCO0VBMkNZLGNoQ2xJUSxFQUFBOztBaUNsQnBCOzsrRXBDazNEK0U7QW9DLzJEL0U7RUFDSSxvQkFBYTtFQUFiLHFCQUFhO0VBQWIsaUJBQWE7RUFBYixvQkFBYTtFQUFiLGFBQWE7RUFDYix5QkFBbUI7RUFBbkIsMkJBQW1CO0tBQW5CLHNCQUFtQjtNQUFuQixzQkFBbUI7VUFBbkIsbUJBQW1CO0VBQ25CLHdCQUF1QjtFQUF2QiwrQkFBdUI7S0FBdkIscUJBQXVCO01BQXZCLHFCQUF1QjtVQUF2Qix1QkFBdUI7RUFFdkIsWWpDNkcwQjtFaUMzRzFCLGtCQUFrQjtFQUVsQiw4QkFBc0I7S0FBdEIsMkJBQXNCO09BQXRCLHlCQUFzQjtVQUF0QixzQkFBc0I7RUFDdEIsNEJBQTRCLEVBQUE7RUFWaEM7SUFhUSxXakM0RWtCLEVBQUE7RWlDMUV0QjtJQUVJLFNBQVM7SUFDVCxVQUFVO0lBQ1YsY2pDaUdnQyxFQUFBO0lRMGJwQztNeUIvaEJBO1FBT1EsZUFBZSxFQUFBLEVBRXRCO0VBQ0Q7SUFDSSxvQmpDa0NTO0lpQ2hDVCxXakNkTztJaUNlUCx5QkFBeUI7SUFDekIsaUJBQWlCO0lBQ2pCLGVqQ1VVLEVBQUE7SVFxZ0JkO015QnJoQkE7UUFTUSxlakNrQkcsRUFBQSxFaUNoQlY7RUFDRDtJQUNJLG9CakN3Qk87SWlDdEJQLFdqQzFCTztJaUMyQlAsZWpDR0ksRUFBQTtJUWtnQlI7TXlCemdCQTtRQU9RLG9CakNzQkU7UWlDckJGLGVqQ0FFLEVBQUEsRWlDRVQ7RUFDRDtJQUNJLFlBQVksRUFBQTtFQUVoQjtJQUNJLFdqQ3FDa0I7SWlDbkNsQixrQkFBa0I7SUFDbEIsTUFBTTtJQUNOLE9BQU87SUFFUCxXQUFXO0lBQ1gsWUFBWTtJQUVaLHFGQUF1RztJQUN2Ryx3RkFBeUc7SUFDekcsMEdBQXFHO0lBQXJHLG1GQUFxRztJQUFyRyxvRkFBcUc7SUFDckcsdUhBQXVILEVBQUE7RUFFM0g7SUFDSSxZakNnRDBCLEVBQUE7RWlDOUM5QjtJQUNJLGFBQWEsRUFBQTtFQUVqQjtJQUNJLFlBQVk7SUFDWixrQkFBa0IsRUFBQTtJQUZyQjtNQUlPLGVBQWUsRUFBQTs7QUMvRTNCOzsrRXJDODZEK0U7QXFDMzZEL0U7RUFDSSxvQkFBYTtFQUFiLHFCQUFhO0VBQWIsaUJBQWE7RUFBYixvQkFBYTtFQUFiLGFBQWE7RUFFYix1QkFBZTtNQUFmLG1CQUFlO1VBQWYsZUFBZTtFQUVmLFNBQVM7RUFDVCxVQUFVO0VBRVYsaUJBQTJCO0VBRTNCLFdsQ2dGYSxFQUFBOztBbUM3RmpCOzsrRXRDeTdEK0U7QXNDdDdEL0U7RUFDSSxrQkFBa0IsRUFBQTtFQUVsQjtJQUNJLFVBQVU7SUFDVixTQUFTO0lBQ1QsZ0JBQWdCLEVBQUE7SUFIbkI7TUFNTyw4QkFBc0I7U0FBdEIsMkJBQXNCO1dBQXRCLHlCQUFzQjtjQUF0QixzQkFBc0I7TUFDdEIsNEJBQTRCLEVBQUE7RUFHcEM7SUFDSSxvQkFBYTtJQUFiLHFCQUFhO0lBQWIsaUJBQWE7SUFBYixvQkFBYTtJQUFiLGFBQWE7SUFDYix5QkFBbUI7SUFBbkIsMkJBQW1CO09BQW5CLHNCQUFtQjtRQUFuQixzQkFBbUI7WUFBbkIsbUJBQW1CO0lBQ25CLHFCQUF5QjtJQUF6QixpQ0FBeUI7T0FBekIsa0JBQXlCO1FBQXpCLGtCQUF5QjtZQUF6Qix5QkFBeUI7SUFFekIsV0FBVztJQUVYLFNBQVM7SUFDVCxVQUFVO0lBRVYsa0JBQTBDLEVBQUE7SUFFMUM7TUFDSSxjQUFjO01BQ2QsV25DaUNLO01tQ2hDTCxZbkNnQ0s7TW1DL0JMLGlCQUFpQjtNQUNqQixZQUFZO01BRVosZUFBZTtNQUVmLDJCQUFtQjtTQUFuQix3QkFBbUI7Y0FBbkIsbUJBQW1CO01BRW5CLGtCbkN3Qks7TW1DdkJMLG1CbkM0QkcsRUFBQTtNbUN4Q047UUFlTyxVQUFVLEVBQUE7TUFmakI7UUFrQk8sa0JBQStCLEVBQUE7O0FDOUMvQzs7K0V2QzQ5RCtFO0F1Q3o5RC9FO0VBQ0ksb0JBQWE7RUFBYixxQkFBYTtFQUFiLGlCQUFhO0VBQWIsb0JBQWE7RUFBYixhQUFhO0VBQ2IseUJBQW1CO0VBQW5CLDJCQUFtQjtLQUFuQixzQkFBbUI7TUFBbkIsc0JBQW1CO1VBQW5CLG1CQUFtQjtFQUNuQix3QkFBdUI7RUFBdkIsK0JBQXVCO0tBQXZCLHFCQUF1QjtNQUF2QixxQkFBdUI7VUFBdkIsdUJBQXVCO0VBRXZCLGlCcEM2Q1U7RW9DM0NWLGtCcEN5RFM7RW9DdkRULGdCQUFnQixFQUFBO0VBVHBCO0lBWVEsV0FBVyxFQUFBO0lBWm5CO01BaUJnQixXcENIRDtNb0NJQyx1QkFBdUI7TUFDdkIsa0JwQ3lDQztNb0N4Q0QsbUJBQWdDLEVBQUE7TUFwQmhEO1FBdUJvQixhQUFhLEVBQUE7TUF2QmpDO1FBMEJvQixrQkFBa0IsRUFBQTtRQTFCdEM7VUE4QndCLFdBQVc7VUFDWCxrQkFBa0I7VUFDbEIsWUFBWTtVQUVaLGNBQWM7VUFFZCxVQUFVO1VBQ1YsV0FBVztVQUVYLHNCcEN6QlQsRUFBQTtRb0NkZjtVQTJDd0IsUUFBUTtVQUNSLFlBQVk7VUFDWixpQ0FBeUI7YUFBekIsOEJBQXlCO2NBQXpCLDZCQUF5QjtlQUF6Qiw0QkFBeUI7a0JBQXpCLHlCQUF5QixFQUFBO1FBN0NqRDtVQWdEd0IsUUFBUTtVQUNSLFlBQVk7VUFDWixnQ0FBd0I7YUFBeEIsNkJBQXdCO2NBQXhCLDRCQUF3QjtlQUF4QiwyQkFBd0I7a0JBQXhCLHdCQUF3QixFQUFBO0lBbERoRDtNQXdEb0Isc0JwQzFDTDtNb0MyQ0ssY3BDMUNBO01vQzRDQSxvQ3BDS1A7U29DTE8sZ0NwQ0tQO2NvQ0xPLDRCcENLUDtNb0NKTyxxQ3BDSVA7U29DSk8saUNwQ0lQO2NvQ0pPLDZCcENJUCxFQUFBO01vQ2hFYjtRQWlFNEIseUJwQ2xEUixFQUFBO0lvQ2ZwQjtNQXdFWSxZQUFZLEVBQUE7TUF4RXhCO1FBMkVnQixrQkFBa0I7UUFDbEIsWUFBWTtRQUNaLGtCQUFrQjtRQUNsQixnQkFBZ0IsRUFBQTtRQTlFaEM7VUFpRm9CLFdBQVc7VUFDWCxjQUFjO1VBQ2Qsa0JBQWtCO1VBQ2xCLE1BQU07VUFDTixTQUFTO1VBQ1QsVUFBVTtVQUNWLFdBQVc7VUFDWCx5QnBDcEVHLEVBQUE7UW9DcEJ2QjtVQTRGb0IsY3BDN0VBO1VvQzhFQSxzQnBDL0VMO1VvQ2dGSyxhcEM3Qkw7VW9DOEJLLGtCQUFjLEVBQUE7VUEvRmxDO1lBa0d3QixjcENuRkosRUFBQTtRb0NmcEI7VUF1R3dCLHVDcEN2Q1g7YW9DdUNXLG1DcEN2Q1g7a0JvQ3VDVywrQnBDdkNYO1VvQ3dDVyx3Q3BDeENYO2FvQ3dDVyxvQ3BDeENYO2tCb0N3Q1csZ0NwQ3hDWCxFQUFBO0VvQ2hFYjtJQStHUSxZQUFZO0lBQ1osdUJBQXVCLEVBQUE7SUFoSC9CO01Ba0hZLDBCQUEwQixFQUFBOztBQUt0QztFQU9nQixXcENsSEQsRUFBQTtFb0MyR2Y7SUFZd0Isc0JwQ3ZIVCxFQUFBOztBUWtpQlg7RTRCbGFBO0lBRVEsYUFBYSxFQUFBLEVBQ2hCOztBQUlUO0VBSWdCLFdwQ3pJRDtFb0MwSUMseUJwQ3pJSTtFb0MwSUosMkJwQ3pGSDtLb0N5Rkcsd0JwQ3pGSDtVb0N5RkcsbUJwQ3pGSCxFQUFBO0VvQ21GYjtJQVd3QixzQnBDaEpULEVBQUE7O0FvQ3FJZjtFQWlCb0IseUJwQ3JKQTtFb0NzSkEsV3BDdkpMO0VvQ3lKSyxvQ3BDdkdQO0tvQ3VHTyxnQ3BDdkdQO1VvQ3VHTyw0QnBDdkdQO0VvQ3dHTyxxQ3BDeEdQO0tvQ3dHTyxpQ3BDeEdQO1VvQ3dHTyw2QnBDeEdQO0VvQ3lHTyxvQ0FBNEI7S0FBNUIsZ0NBQTRCO1VBQTVCLDRCQUE0QjtFQUM1QixxQ0FBNkI7S0FBN0IsaUNBQTZCO1VBQTdCLDZCQUE2QixFQUFBO0VBdkJqRDtJQTRCNEIsc0JwQ2pLYixFQUFBOztBb0NxSWY7RUFxQ29CLFdwQzFLTDtFb0MyS0sseUJwQzFLQSxFQUFBO0VvQ29JcEI7SUF3Q3dCLFdwQzdLVCxFQUFBOztBcUNqQmY7OytFeEN3a0UrRTtBd0Nya0UvRTtFQUVRLHFCQUFxQixFQUFBO0VBRjdCO0lBS1ksa0JBQWtCO0lBRWxCLFVBQVUsRUFBQTtJQVB0QjtNQVVnQixXQUFXO01BQ1gsa0JBQWtCO01BRWxCLE9BQU87TUFDUCxTQUFTO01BRVQsV0FBVztNQUNYLFFBQVE7TUFFUix5QnJDSkk7TXFDTUosbUNyQ3VFbUI7TXFDdkVuQiw4QnJDdUVtQjtNcUN2RW5CLGdDckN1RW1CO01xQ3ZFbkIsMkJyQ3VFbUI7TXFDckVuQixXQUFXLEVBQUE7RUF2QjNCO0lBOEJnQixjckNkTSxFQUFBO0VxQ2hCdEI7SUFtQ2dCLGNyQ25CTSxFQUFBO0lxQ2hCdEI7TUFzQ29CLFdBQVcsRUFBQTs7QUN6Qy9COzsrRXpDaW1FK0U7QXlDOWxFL0U7RUFDSSxjQUFjO0VBWWQsWUFBWTtFQUNaLFlBQVksRUFBQTtFQVhaO0lBQ0ksWUFBWTtJQUNaLGNBQWMsRUFBQTtJQUZqQjtNQUtPLFlBQVk7TUFDWixXQUFXLEVBQUE7RTlCcWlCbkI7SThCOWlCSjtNQWlCUSxZQUFZO01BQ1osWUFBWSxFQUFBLEVBRW5COztBQ3ZCRDs7K0UxQ21uRStFO0EwQ2huRS9FO0VBQ0ksa0JBQWtCLEVBQUE7RUFFbEI7SUFDSSxrQkFBa0I7SUFDbEIsaUJ2Q2tJMEI7SXVDakkxQixldkNzRFM7SXVDckRULGN2Q1lVLEVBQUE7RXVDVmQ7SUFDSSxXQUFXO0lBQ1gsWXZDNEgwQjtJdUMzSDFCLGV2Q2dEUztJdUMvQ1QseUJ2Q01VLEVBQUE7O0F3Q3RCbEI7OytFM0Ntb0UrRTtBMkNob0UvRTtFQUNJLGdCeEMrRFM7RXdDOURULFVBQVUsRUFBQTtFQUVWO0lBQ0ksU0FBUztJQUNULFVBQVU7SUFDVixnQkFBZ0I7SUFDaEIsWUFBWTtJQUNaLDJCeEN1REs7T3dDdkRMLHdCeEN1REs7WXdDdkRMLG1CeEN1REssRUFBQTtJd0NyREw7TUFDSSx5QnhDR1EsRUFBQTtJd0NEWjtNQUNJLHlCQUF5QixFQUFBO0lBWGhDO01BY08sWUFBWTtNQUNaLGF4QzhDRztNd0M3Q0gsY0FBYyxFQUFBOztBQ3ZCMUI7OytFNUN3cEUrRTtBNENycEUvRTtFQUNJLGVBQWU7RUFFZixpQkFBaUIsRUFBQTtFQUhyQjtJQU1RLGVBQWUsRUFBQTtJQU52QjtNQVNZLGlCQUFpQixFQUFBOztBQ1o3Qjs7K0U3Q21xRStFO0E2Q2hxRS9FO0VBQ0ksb0JBQWE7RUFBYixxQkFBYTtFQUFiLGlCQUFhO0VBQWIsb0JBQWE7RUFBYixhQUFhO0VBQ2IsNEJBQXNCO0VBQXRCLDZCQUFzQjtFQUF0Qiw4QkFBc0I7S0FBdEIseUJBQXNCO0tBQXRCLDBCQUFzQjtNQUF0QiwwQkFBc0I7VUFBdEIsc0JBQXNCO0VBRXRCLGtCQUFrQjtFQUNsQixtQjFDOERjO0UwQzVEZCx1QkFBdUI7RUFFdkIsdUQxQzBGK0M7SzBDMUYvQyxvRDFDMEYrQztVMEMxRi9DLCtDMUMwRitDO0UwQ3pGL0MsbUMxQ2tGK0I7RTBDbEYvQiw4QjFDa0YrQjtFMENsRi9CLGdDMUNrRitCO0UwQ2xGL0IsMkIxQ2tGK0IsRUFBQTtFMENoRi9CO0lBQ0ksNEIxQ2lETyxFQUFBO0UwQy9DWDtJQUNJLHlCQUF5QjtJQUN6QixpQkFBaUI7SUFDakIsbUJBQW1CLEVBQUE7RUFFdkI7SUFDSSxlMUN5Qkk7STBDeEJKLGdCQUFnQjtJQUNoQixTQUFTO0lBQ1QsVUFBVSxFQUFBO0VBRWQ7SUFDSSxpQjFDNEJpQixFQUFBO0kwQzdCcEI7TUFJTyxjMUNmUSxFQUFBO00wQ1dmO1FBT1csMEJBQTBCLEVBQUE7RUFqQzFDO0lBdUNRLHNDQUE4QztJQUE5QyxtQ0FBOEM7SUFBOUMsOEJBQThDLEVBQUE7SUF2Q3REO01BMENZLFdBQVc7TUFDWCxhMUNvRmE7TTBDbkZiLGtCQUFrQixFQUFBO01sQ2tnQjFCO1FrQzlpQko7VUErQ2dCLGExQ3FGa0IsRUFBQSxFMEMvRXpCO01sQ3lmTDtRa0M5aUJKO1VBa0RnQixlQUFlO1VBQ2YsYTFDa0ZtQixFQUFBLEUwQ2hGMUI7SUFyRFQ7TUF1RFksV0FBVztNQUNYLFlBQVk7TUFDWixVQUFVO01BQ1YsU0FBUztNQUNULGtCQUFrQixFQUFBO01sQ21mMUI7UWtDOWlCSjtVQThEZ0IsWTFDc0VrQixFQUFBLEUwQ2pFekI7TWxDMmVMO1FrQzlpQko7VUFpRWdCLFdBQVcsRUFBQSxFQUVsQjtJQW5FVDtNQXFFWSxXQUFXO01BQ1gsWUFBWTtNQUNaLG9CQUFpQjtTQUFqQixpQkFBaUIsRUFBQTtJQXZFN0I7TUEwRVksYUFBYSxFQUFBO01sQ29lckI7UWtDOWlCSjtVQTZFZ0IsY0FBYyxFQUFBLEVBS3JCO01sQzRkTDtRa0M5aUJKO1VBZ0ZnQixhQUFhLEVBQUEsRUFFcEI7SUFsRlQ7TUFxRlksa0IxQ3ZCRyxFQUFBO01RZ2ZYO1FrQzlpQko7VUF3RmdCLGVBQWUsRUFBQSxFQUV0QjtJQTFGVDtNQTZGWSxXQUFXO01BQ1gsV0FBVztNQUNYLFlBQVE7TUFFUixrQkFBa0I7TUFDbEIsTUFBTTtNQUNOLE9BQU87TUFFUCw0REFBaUQ7U0FBakQseURBQWlEO2NBQWpELG9EQUFpRDtNQUVqRCxXQUFXLEVBQUE7SWxDdWNuQjtNa0M5aUJKO1FBNkdvQixhQUFhLEVBQUEsRUFFcEI7SWxDK2JUO01rQzlpQko7UUFtSFksV0FBVztRQUNYLDhCQUFtQjtRQUFuQiw2QkFBbUI7UUFBbkIsMkJBQW1CO1dBQW5CLDJCQUFtQjtXQUFuQiwwQkFBbUI7WUFBbkIsdUJBQW1CO2dCQUFuQixtQkFBbUIsRUFBQSxFQUsxQjtJbENxYkQ7TWtDOWlCSjtRQXVIWSw0QkFBc0I7UUFBdEIsNkJBQXNCO1FBQXRCLDhCQUFzQjtXQUF0Qix5QkFBc0I7V0FBdEIsMEJBQXNCO1lBQXRCLDBCQUFzQjtnQkFBdEIsc0JBQXNCLEVBQUEsRUFFN0I7RUF6SEw7SUEySFEsOEJBQW1CO0lBQW5CLDZCQUFtQjtJQUFuQiwyQkFBbUI7T0FBbkIsMkJBQW1CO09BQW5CLDBCQUFtQjtRQUFuQix1QkFBbUI7WUFBbkIsbUJBQW1CO0lBQ25CLGtCQUFrQjtJQUVsQixXQUFXLEVBQUE7SWxDZ2JmO01rQzlpQko7UUFnSVksYTFDbkdTLEVBQUEsRTBDeUloQjtJbEN3WUQ7TWtDOWlCSjtRQXFJZ0IsY0FBYyxFQUFBLEVBS3JCO0lsQ29hTDtNa0M5aUJKO1FBd0lnQixlQUFlLEVBQUEsRUFFdEI7SUExSVQ7TUE0SVksWTFDVDRCO00wQ1U1QixZQUFZO01BQ1osVUFBVTtNQUNWLFNBQVM7TUFDVCxrQkFBa0IsRUFBQTtNbEM4WjFCO1FrQzlpQko7VUFtSmdCLFkxQ2ZrQixFQUFBLEUwQ29CekI7TWxDc1pMO1FrQzlpQko7VUFzSmdCLFdBQVcsRUFBQSxFQUVsQjtJQXhKVDtNQTBKWSxXQUFXO01BQ1gsWUFBWTtNQUNaLG9CQUFpQjtTQUFqQixpQkFBaUIsRUFBQTtJbENrWnpCO01rQzlpQko7UUFnS2dCLGFBQWEsRUFBQSxFQUVwQjtJbEM0WUw7TWtDOWlCSjtRQW9LWSw0QkFBc0I7UUFBdEIsNkJBQXNCO1FBQXRCLDhCQUFzQjtXQUF0Qix5QkFBc0I7V0FBdEIsMEJBQXNCO1lBQXRCLDBCQUFzQjtnQkFBdEIsc0JBQXNCLEVBQUEsRUFFN0I7RUF0S0w7SUF3S1Esc0NBQTBDO0lBQTFDLG1DQUEwQztJQUExQyw4QkFBMEMsRUFBQTtJbENzWTlDO01rQzlpQko7UUE0S2dCLGFBQWEsRUFBQSxFQUVwQjtJQTlLVDtNQWlMWSxrQjFDbkhHLEVBQUE7TVFnZlg7UWtDOWlCSjtVQW9MZ0IsZUFBZSxFQUFBLEVBRXRCO0lsQ3dYTDtNa0M5aUJKO1FBeUxZLFdBQVcsRUFBQSxFQUVsQjtFQTNMTDtJQThMUSxtQzFDbEcyQjtJMENrRzNCLDhCMUNsRzJCO0kwQ2tHM0IsZ0MxQ2xHMkI7STBDa0czQiwyQjFDbEcyQjtJMENtRzNCLHVEMUMzRjRDO08wQzJGNUMsb0QxQzNGNEM7WTBDMkY1QywrQzFDM0Y0QyxFQUFBOztBMkN2R3BEOzsrRTlDZ3pFK0U7QStDaHpFL0U7OytFL0NtekUrRTtBK0NoekUvRTtFQUNJLGFBQWEsRUFBQTs7QUNKakI7OytFaER5ekUrRTtBZ0R0ekUvRTtFQUNJLG9CQUFhO0VBQWIscUJBQWE7RUFBYixpQkFBYTtFQUFiLG9CQUFhO0VBQWIsYUFBYTtFQUNiLHlCQUFtQjtFQUFuQiwyQkFBbUI7S0FBbkIsc0JBQW1CO01BQW5CLHNCQUFtQjtVQUFuQixtQkFBbUI7RUFDbkIseUJBQThCO0VBQTlCLHNDQUE4QjtLQUE5QixzQkFBOEI7TUFBOUIsc0JBQThCO1VBQTlCLDhCQUE4QjtFQUU5QixXQUFXO0VBRVgsZTdDcURhLEVBQUE7RTZDbkRiO0lBQ0ksb0JBQWE7SUFBYixxQkFBYTtJQUFiLGlCQUFhO0lBQWIsb0JBQWE7SUFBYixhQUFhO0lBQ2IseUJBQW1CO0lBQW5CLDJCQUFtQjtPQUFuQixzQkFBbUI7UUFBbkIsc0JBQW1CO1lBQW5CLG1CQUFtQjtJQUNuQix5QkFBOEI7SUFBOUIsc0NBQThCO09BQTlCLHNCQUE4QjtRQUE5QixzQkFBOEI7WUFBOUIsOEJBQThCO0lBRTlCLFdBQVc7SUFFWCxrQkFBa0IsRUFBQTtFQUd0QjtJQUNJLGtCQUFrQjtJQUNsQixrQjdDdUNTO0k2Q3JDVCxrQjdDMEJPO0k2Q3pCUCxjN0NMVSxFQUFBO0U2Q09kO0lBQ0ksbUJBQVk7SUFBWixvQkFBWTtPQUFaLGdCQUFZO1FBQVosb0JBQVk7WUFBWixZQUFZO0lBQ1osa0I3Q2dDUztJNkM5QlQsWUFBWTtJQUNaLHVCQUF1QjtJQUN2QixnQzdDYlU7STZDZVYsa0I3Q2VPLEVBQUE7STZDdkJWO01BV08sYUFBYTtNQUNiLHlCN0N2QlEsRUFBQTtFNkMwQmhCO0lBQ0ksa0JBQWtCO0lBQ2xCLFM3Q3NCTztJNkNyQlAsUUFBUTtJQUVSLFlBQVk7SUFDWix1QkFBdUI7SUFDdkIsZUFBZSxFQUFBO0lBUGxCO01BVU8saUJBQWlCO01BQ2pCLGM3Q3JDUTtNNkNzQ1Isa0JBQWtCLEVBQUE7O0FDeEQ5Qjs7K0VqRG0yRStFO0FpRGgyRS9FO0VBQ0ksb0JBQWE7RUFBYixxQkFBYTtFQUFiLGlCQUFhO0VBQWIsb0JBQWE7RUFBYixhQUFhO0VBQ2IseUJBQW1CO0VBQW5CLDJCQUFtQjtLQUFuQixzQkFBbUI7TUFBbkIsc0JBQW1CO1VBQW5CLG1CQUFtQjtFQUNuQix3QkFBdUI7RUFBdkIsK0JBQXVCO0tBQXZCLHFCQUF1QjtNQUF2QixxQkFBdUI7VUFBdkIsdUJBQXVCO0VBRXZCLGVBQWU7RUFDZixTOUNzRzZCO0U4Q3JHN0IsT0FBTztFQUNQLFNBQVM7RUFDVCxXQUFXO0VBRVgsbUI5Q1VvQjtFOENScEIsZ0JBQWdCO0VBRWhCLG1DOUM2RStCO0U4QzdFL0IsOEI5QzZFK0I7RThDN0UvQixnQzlDNkUrQjtFOEM3RS9CLDJCOUM2RStCO0U4QzNFL0IsNEM5Q2dGeUM7SzhDaEZ6Qyx5QzlDZ0Z5QztVOENoRnpDLG9DOUNnRnlDO0U4QzlFekMsVzlDcUVnQixFQUFBO0U4Q3hGcEI7SUFzQlEsWTlDa0dxQjtJOENqR3JCLGVBQWUsRUFBQTtFQXZCdkI7SUEwQlEsWTlDNEZpQjtJOEMzRmpCLGNBQWM7SUFFZCxtQzlDK0QyQjtJOEMvRDNCLDhCOUMrRDJCO0k4Qy9EM0IsZ0M5QytEMkI7SThDL0QzQiwyQjlDK0QyQixFQUFBO0lRa2QvQjtNc0M5aUJKO1FBZ0NZLFk5QzZFb0IsRUFBQSxFOEMzRTNCO0V0QzRnQkQ7SXNDOWlCSjtNQXFDUSxTOUN3RXdCLEVBQUEsRThDdEUvQjs7QUMxQ0Q7OytFbERrNEUrRTtBa0QvM0UvRTtFQUNJLG9CQUFhO0VBQWIscUJBQWE7RUFBYixpQkFBYTtFQUFiLG9CQUFhO0VBQWIsYUFBYTtFQUNiLDhCQUFtQjtFQUFuQiw2QkFBbUI7RUFBbkIsMkJBQW1CO0tBQW5CLDJCQUFtQjtLQUFuQiwwQkFBbUI7TUFBbkIsdUJBQW1CO1VBQW5CLG1CQUFtQjtFQUNuQix5QkFBbUI7RUFBbkIsMkJBQW1CO0tBQW5CLHNCQUFtQjtNQUFuQixzQkFBbUI7VUFBbkIsbUJBQW1CO0VBRW5CLFdBQVc7RUFDWCxjQUFzQjtFQUN0QixVQUFVO0VBRVYsZ0JBQWdCLEVBQUE7RUFFaEI7SUFDSSxvQkFBYTtJQUFiLHFCQUFhO0lBQWIsaUJBQWE7SUFBYixvQkFBYTtJQUFiLGFBQWE7SUFDYix5QkFBbUI7SUFBbkIsMkJBQW1CO09BQW5CLHNCQUFtQjtRQUFuQixzQkFBbUI7WUFBbkIsbUJBQW1CO0lBQ25CLHdCQUF1QjtJQUF2QiwrQkFBdUI7T0FBdkIscUJBQXVCO1FBQXZCLHFCQUF1QjtZQUF2Qix1QkFBdUI7SUFDdkIsV0FBVztJQUNYLFlBQVksRUFBQTtFQUdoQjtJQUNJLFcvQzJDVztJK0MxQ1gsWS9DMENXO0krQ3hDWCx5Qi9DSlUsRUFBQTtJK0NBYjtNQU9PLG1DL0NrRXVCO00rQ2xFdkIsOEIvQ2tFdUI7TStDbEV2QixnQy9Da0V1QjtNK0NsRXZCLDJCL0NrRXVCO00rQ2pFdkIsVy9DZkc7TStDZ0JILGtCQUFrQjtNQUNsQixXL0MrQks7TStDOUJMLFkvQzhCSyxFQUFBO0krQ3pDWjtNQWVPLGtCL0MrQkcsRUFBQTtJK0M5Q1Y7TUFvQlcsbUMvQ3FEbUI7TStDckRuQiw4Qi9DcURtQjtNK0NyRG5CLGdDL0NxRG1CO00rQ3JEbkIsMkIvQ3FEbUI7TStDcERuQixXL0N3Qkg7TStDdkJHLFkvQ3VCSCxFQUFBOztBZ0RuRWI7OytFbkRvNkUrRTtBbURqNkUvRTtFQUNJLFVBQVU7RUFDVixTQUFTO0VBQ1QsV0FBVztFQUVYLGdCaER5RFc7RWdEdkRYLGdCQUFnQixFQUFBO0VBRWhCO0lBQ0ksb0JBQWE7SUFBYixxQkFBYTtJQUFiLGlCQUFhO0lBQWIsb0JBQWE7SUFBYixhQUFhO0lBQ2IsNEJBQXNCO0lBQXRCLDZCQUFzQjtJQUF0Qiw4QkFBc0I7T0FBdEIseUJBQXNCO09BQXRCLDBCQUFzQjtRQUF0QiwwQkFBc0I7WUFBdEIsc0JBQXNCO0lBRXRCLFdBQVcsRUFBQTtJQUpkO01BT08sYWhENENLO01nRDNDTCxXQUFXLEVBQUE7TUFSbEI7UUFXVyxrQmhENkJEO1FnRDVCQyxXaERURCxFQUFBO0VnRGFYO0lBQ0ksaUJBQTZDO0lBRTdDLFVBQVU7SUFFVixnQkFBZ0IsRUFBQTtJQUVoQjtNQUNJLG9CQUFhO01BQWIscUJBQWE7TUFBYixpQkFBYTtNQUFiLG9CQUFhO01BQWIsYUFBYTtNQUNiLDRCQUFzQjtNQUF0Qiw2QkFBc0I7TUFBdEIsOEJBQXNCO1NBQXRCLHlCQUFzQjtTQUF0QiwwQkFBc0I7VUFBdEIsMEJBQXNCO2NBQXRCLHNCQUFzQjtNQUV0QixXQUFXLEVBQUE7TUFKZDtRQU9PLGtCaERxQkM7UWdEcEJELFdBQVcsRUFBQTtRQVJsQjtVQVdXLGtCaERNTDtVZ0RMSyxjaEQ1QkUsRUFBQTs7QWlEbkJ0Qjs7K0VwRHM4RStFO0FvRG44RS9FO0VBQ0ksb0JBQWE7RUFBYixxQkFBYTtFQUFiLGlCQUFhO0VBQWIsb0JBQWE7RUFBYixhQUFhO0VBQ2IsNEJBQXNCO0VBQXRCLDZCQUFzQjtFQUF0Qiw4QkFBc0I7S0FBdEIseUJBQXNCO0tBQXRCLDBCQUFzQjtNQUF0QiwwQkFBc0I7VUFBdEIsc0JBQXNCLEVBQUE7RUFFdEI7SUFDSSxvQkFBYTtJQUFiLHFCQUFhO0lBQWIsaUJBQWE7SUFBYixvQkFBYTtJQUFiLGFBQWE7SUFDYiw4QkFBbUI7SUFBbkIsNkJBQW1CO0lBQW5CLDJCQUFtQjtPQUFuQiwyQkFBbUI7T0FBbkIsMEJBQW1CO1FBQW5CLHVCQUFtQjtZQUFuQixtQkFBbUI7SUFDbkIseUJBQW1CO0lBQW5CLDJCQUFtQjtPQUFuQixzQkFBbUI7UUFBbkIsc0JBQW1CO1lBQW5CLG1CQUFtQjtJQUNuQix5QkFBOEI7SUFBOUIsc0NBQThCO09BQTlCLHNCQUE4QjtRQUE5QixzQkFBOEI7WUFBOUIsOEJBQThCO0lBRTlCLFlqRGtHeUIsRUFBQTtJaUR4RzVCO01BVVcsZ0JBQWdCO01BQ2hCLFdBQVcsRUFBQTtJekMraEJ2QjtNeUMxaUJBO1FBZVEsWWpEMEZvQixFQUFBLEVpRHhGM0I7RUFDRDtJQUNJLG9CQUFhO0lBQWIscUJBQWE7SUFBYixpQkFBYTtJQUFiLG9CQUFhO0lBQWIsYUFBYTtJQUNiLHlCQUFtQjtJQUFuQiwyQkFBbUI7T0FBbkIsc0JBQW1CO1FBQW5CLHNCQUFtQjtZQUFuQixtQkFBbUI7SUFDbkIsd0JBQXVCO0lBQXZCLCtCQUF1QjtPQUF2QixxQkFBdUI7UUFBdkIscUJBQXVCO1lBQXZCLHVCQUF1QjtJQUV2QixXQUFXO0lBQ1gsZ0JBQTJCLEVBQUE7O0FDL0JuQzs7K0VyRCs5RStFO0FxRDU5RS9FO0VBQ0ksV0FBVztFQUNYLHNCbERZVztFa0RYWCx1RGxEZ0crQztLa0RoRy9DLG9EbERnRytDO1VrRGhHL0MsK0NsRGdHK0M7RWtEL0YvQyxhbER5RGlCO0VrRHhEakIsb0JsRCtEUTtFa0Q5RFIsZWxEbUNjLEVBQUE7RWtEakNkO0lBQ0ksZ0JBQWdCO0lBQ2hCLFVBQVU7SUFDVixTQUFTLEVBQUE7SUFFUjtNQUlXLGNsREZBLEVBQUE7SWtERlg7TUFRTyxtQmxENENELEVBQUE7RVE2ZVg7STBDOWlCSjtNQTBCUSxhQUFhLEVBQUEsRUFFcEI7O0FDL0JEOzsrRXREcS9FK0U7QXNEbC9FL0U7RUFDSSxhQUFhO0VBQ2IseUJBQW1CO0VBQW5CLDJCQUFtQjtLQUFuQixzQkFBbUI7TUFBbkIsc0JBQW1CO1VBQW5CLG1CQUFtQjtFQUNuQix3QkFBdUI7RUFBdkIsK0JBQXVCO0tBQXZCLHFCQUF1QjtNQUF2QixxQkFBdUI7VUFBdkIsdUJBQXVCO0VBRXZCLFluRHNJeUI7RW1Eckl6QixZQUFZO0VBRVosTUFBTTtFQUNOLFFBQVE7RUFFUixXbkQrRWE7RW1EOUViLGtCQUFrQjtFQUVsQix1Q0FBK0I7RUFBL0Isa0NBQStCO0VBQS9CLG9DQUErQjtFQUEvQiwrQkFBK0IsRUFBQTtFQWRuQztJQWlCUSxvQkFBYTtJQUFiLHFCQUFhO0lBQWIsaUJBQWE7SUFBYixvQkFBYTtJQUFiLGFBQWEsRUFBQTtFM0M2aEJqQjtJMkM5aUJKO01Bb0JRLGVBQWU7TUFDZixNQUFNO01BQ04sWW5Ea0dxQjtNbURqR3JCLGdCQUFnQjtNQUVoQixhQUFhO01BQ2IsWW5EOEZxQjtNbUQ3RnJCLGVBQWU7TUFFZixZQUFZLEVBQUEsRUFRbkI7RUFyQ0Q7SUFnQ1EsbUNuRDZEd0I7SW1EN0R4Qiw4Qm5ENkR3QjtJbUQ3RHhCLGdDbkQ2RHdCO0ltRDdEeEIsMkJuRDZEd0IsRUFBQTtJUWlkNUI7TTJDOWlCSjtRQWtDWSxPQUFPLEVBQUEsRUFFZDs7QUN2Q0w7OytFdkRxaEYrRTtBdURsaEYvRTtFQUNJLGVwRHlDVTtFb0R2Q1YsYXBEZ0VjO0VvRDlEZCxTQUFTO0VBQ1QsYUFBYTtFQUNiLGtCQUFrQjtFQUVsQixXQUFXO0VBRVgsc0JwREdXO0VvREZYLHVEcER1RitDO0tvRHZGL0Msb0RwRHVGK0M7VW9EdkYvQywrQ3BEdUYrQyxFQUFBO0VRMmMvQztJNEM5aUJKO01BZVEsYXBEOENhO01vRDVDYixXQUFXLEVBQUEsRUFpTmxCO0VBNU1HO0lBQ0ksZUFBdUI7SUFDdkIsNkJwRFRZO0lvRFVaLGdDcERWWTtJb0RZWixvQkFBYTtJQUFiLHFCQUFhO0lBQWIsaUJBQWE7SUFBYixvQkFBYTtJQUFiLGFBQWE7SUFDYiw4QkFBbUI7SUFBbkIsNkJBQW1CO0lBQW5CLDJCQUFtQjtPQUFuQiwyQkFBbUI7T0FBbkIsMEJBQW1CO1FBQW5CLHVCQUFtQjtZQUFuQixtQkFBbUI7SUFDbkIseUJBQW1CO0lBQW5CLDJCQUFtQjtPQUFuQixzQkFBbUI7UUFBbkIsc0JBQW1CO1lBQW5CLG1CQUFtQixFQUFBO0k1Q2loQnZCO000Q3hoQkE7UUFVUSxlQUE4QjtRQUM5QixlcERPRSxFQUFBLEVvRExUO0VBQ0Q7SUFDSSxXQUEwQjtJQUMxQixZQUEyQjtJQUUzQixrQkFBaUM7SUFFakMsMEJBQWtCO09BQWxCLHVCQUFrQjtZQUFsQixrQkFBa0I7SUFFbEIsOEJBQXNCO09BQXRCLDJCQUFzQjtTQUF0Qix5QkFBc0I7WUFBdEIsc0JBQXNCO0lBQ3RCLDRCQUE0QjtJQUU1QixtQ3BENkMyQjtJb0Q3QzNCLDhCcEQ2QzJCO0lvRDdDM0IsZ0NwRDZDMkI7SW9EN0MzQiwyQnBENkMyQixFQUFBO0lvRHhEOUI7TUFjTyw0Q3BEK0NpQztTb0QvQ2pDLHlDcEQrQ2lDO2NvRC9DakMsb0NwRCtDaUMsRUFBQTtFb0Q1Q3pDO0lBQ0ksYUFBYSxFQUFBO0VBRWpCO0lBQ0ksZ0JBQWdCLEVBQUE7RUFFcEI7SUFLSSxpQnBESGEsRUFBQTtJb0RGaEI7TUFFTyxpQkFBaUIsRUFBQTtJQUZ4Qjs7O01BVU8saUJBQWlCO01BQ2pCLGNwRHBETSxFQUFBO01vRHlDYjs7O1FBY1csYUFBYSxFQUFBO01BZHhCOzs7UUFpQlcsY3BEL0RRO1FvRGdFUixlcERsQ0ksRUFBQTtRUW1nQmhCO1U0Q25mQzs7O1lBcUJlLGVwRHRDTixFQUFBLEVvRHdDRDtNQXZCUjs7O1FBeUJXLFdBQVc7UUFDWCxZQUFZLEVBQUE7SUExQnZCO01BOEJPLGdCQUFnQjtNQUNoQixpQkFBaUI7TUFDakIsd0JBQXdCO01BQ3hCLGdDQUFnQztNQUNoQyxtQkFBbUI7TUFDbkIsV0FBVyxFQUFBO01BbkNsQjtRQXFDVyxpQnBEL0JELEVBQUE7SW9ETlY7O01BMkNXLGtCQUFrQyxFQUFBO0lBM0M3QztNQWdEVyxnQnBENUNHO01vRDZDSCxjQUFPO01BQ1AsZUFBUTtNQUNSLG1CcEQ1Q0Y7TW9EOENGLHNCQUFzQixFQUFBO01BckQ3QjtRQXdEVyxXQUFXO1FBQ1gsWUFBWSxFQUFBO01BekR2QjtRQTREVyxnQkFBZ0I7UUFDaEIsZ0JwRHZERDtRb0R3REMsY0FBYztRQUNkLGNwRDdHUSxFQUFBO0lvRDhDbkI7Ozs7OztNQXdFTyxjcERwSFE7TW9EcUhSLGlCcERsRUUsRUFBQTtJb0RvRU47TUFDSSxvQnBEckVFLEVBQUE7SW9EUFQ7TUErRU8sY0FBYyxFQUFBO01BL0VyQjtRQW9GVyxjQUFjLEVBQUE7TUFwRnpCO1FBdUZXLDBCQUEwQixFQUFBO0k1QzRadEM7TTRDbmZDO1FBNkZXLDRCQUFzQjtRQUF0Qiw2QkFBc0I7UUFBdEIsOEJBQXNCO1dBQXRCLHlCQUFzQjtXQUF0QiwwQkFBc0I7WUFBdEIsMEJBQXNCO2dCQUF0QixzQkFBc0IsRUFBQTtRQTdGakM7VUErRmUsV0FBVyxFQUFBLEVBQ2Q7RUFJYjtJQUNJLDZCcERqSlk7SW9Ea0paLGlCcEQvRk0sRUFBQTtJb0Q2RlQ7TUFLTyxhQUFhLEVBQUE7RUFHckI7SUFDSSxnQnBEdEdNLEVBQUE7RW9Ed0dWO0lBQ0ksZ0JBQWdCO0lBQ2hCLFNBQVM7SUFDVCxVQUFVO0lBRVYsb0JBQWE7SUFBYixxQkFBYTtJQUFiLGlCQUFhO0lBQWIsb0JBQWE7SUFBYixhQUFhO0lBQ2IsOEJBQW1CO0lBQW5CLDZCQUFtQjtJQUFuQiwyQkFBbUI7T0FBbkIsMkJBQW1CO09BQW5CLDBCQUFtQjtRQUFuQix1QkFBbUI7WUFBbkIsbUJBQW1CO0lBQ25CLDBCQUFvQjtJQUFwQiw0QkFBb0I7T0FBcEIsdUJBQW9CO1FBQXBCLHVCQUFvQjtZQUFwQixvQkFBb0I7SUFDcEIseUJBQThCO0lBQTlCLHNDQUE4QjtPQUE5QixzQkFBOEI7UUFBOUIsc0JBQThCO1lBQTlCLDhCQUE4QjtJQUU5QixnQkFBZ0IsRUFBQTtJNUMwWHBCO000Q3BZQTtRQWFRLDRCQUFzQjtRQUF0Qiw2QkFBc0I7UUFBdEIsOEJBQXNCO1dBQXRCLHlCQUFzQjtXQUF0QiwwQkFBc0I7WUFBdEIsMEJBQXNCO2dCQUF0QixzQkFBc0IsRUFBQSxFQTBDN0I7SUF2REE7TUFpQk8sc0NBQThCO01BQTlCLG1DQUE4QjtNQUE5Qiw4QkFBOEI7TUFFOUIsb0JBQWE7TUFBYixxQkFBYTtNQUFiLGlCQUFhO01BQWIsb0JBQWE7TUFBYixhQUFhO01BQ2IsNEJBQXNCO01BQXRCLDZCQUFzQjtNQUF0Qiw4QkFBc0I7U0FBdEIseUJBQXNCO1NBQXRCLDBCQUFzQjtVQUF0QiwwQkFBc0I7Y0FBdEIsc0JBQXNCO01BQ3RCLHdCQUF1QjtNQUF2QiwrQkFBdUI7U0FBdkIscUJBQXVCO1VBQXZCLHFCQUF1QjtjQUF2Qix1QkFBdUI7TUFDdkIsdUJBQTJCO01BQTNCLG1DQUEyQjtTQUEzQixvQkFBMkI7VUFBM0Isb0JBQTJCO2NBQTNCLDJCQUEyQixFQUFBO001QzhXbkM7UTRDcFlDO1VBeUJXLFdBQVc7VUFFWCxtQkFBbUIsRUFBQSxFQTJCMUI7TUF0REo7UUErQlcsV0FBVztRQUNYLFlBQVksRUFBQTtNQWhDdkI7UUFtQ1csV0FBVztRQUNYLGFBQWE7UUFFYiw4QkFBc0I7V0FBdEIsMkJBQXNCO2FBQXRCLHlCQUFzQjtnQkFBdEIsc0JBQXNCO1FBQ3RCLDRCQUE0QixFQUFBO01BdkN2QztRQTBDVyxTQUFTO1FBQ1QsVUFBVTtRQUVWLG1CQUFtQixFQUFBO1E1Q3VWL0I7VTRDcFlDO1lBZ0RlLGNBQWMsRUFBQSxFQUVyQjtNQWxEUjtRQW9EVyxxQkFBcUIsRUFBQTs7QUNqT3JDOzsrRXhEd3JGK0U7QXdEcnJGL0U7RUFDSSxXQUFXO0VBQ1gsWUFBWTtFQUVaLFdyRHNGYTtFcURwRmIsVUFBb0I7RUFFcEIsa0JBQWtCLEVBQUE7O0FDWHRCOzsrRXpEa3NGK0U7QXlEL3JGL0U7RUFDSSxvQkFBYTtFQUFiLHFCQUFhO0VBQWIsaUJBQWE7RUFBYixvQkFBYTtFQUFiLGFBQWE7RUFDYix5QkFBbUI7RUFBbkIsMkJBQW1CO0tBQW5CLHNCQUFtQjtNQUFuQixzQkFBbUI7VUFBbkIsbUJBQW1CO0VBQ25CLHdCQUF1QjtFQUF2QiwrQkFBdUI7S0FBdkIscUJBQXVCO01BQXZCLHFCQUF1QjtVQUF2Qix1QkFBdUI7RUFFdkIsWXREMEcwQjtFc0R4RzFCLGtCQUFrQixFQUFBO0VBRWxCO0lBS0ksU0FBUztJQUNULFVBQVU7SUFDVixjdERnR2dDLEVBQUE7SVE4YnBDO004Q3JpQkE7UUFVUSxlQUFlLEVBQUEsRUFFdEI7RUFDRDtJQUNJLG9CdERxQ1M7SXNEbkNULFd0RFhPO0lzRFlQLHlCQUF5QjtJQUN6QixpQkFBaUI7SUFDakIsZXREYVUsRUFBQTtJUXFnQmQ7TThDeGhCQTtRQVNRLGV0RHFCRyxFQUFBLEVzRG5CVjtFQUNEO0lBQ0ksb0J0RDJCTztJc0R6QlAsV3REdkJPO0lzRHdCUCxldERNSSxFQUFBO0lRa2dCUjtNOEM1Z0JBO1FBT1Esb0J0RHlCRTtRc0R4QkYsZXRER0UsRUFBQSxFc0REVDtFQUNEO0lBQ0ksb0J0RG9CTTtJc0RsQk4sV3REbENPO0lzRG1DUCxrQnREQU87SXNEQ1AsZ0JBQWdCLEVBQUE7STlDNGZwQjtNOENqZ0JBO1FBUVEsYUFBYSxFQUFBLEVBRXBCO0VBQ0Q7SUFDSSxvQnREU00sRUFBQTtFc0RQVjtJQUNJLG9CQUFhO0lBQWIscUJBQWE7SUFBYixpQkFBYTtJQUFiLG9CQUFhO0lBQWIsYUFBYTtJQUNiLHlCQUFtQjtJQUFuQiwyQkFBbUI7T0FBbkIsc0JBQW1CO1FBQW5CLHNCQUFtQjtZQUFuQixtQkFBbUI7SUFDbkIsdUJBQTJCO0lBQTNCLG1DQUEyQjtPQUEzQixvQkFBMkI7UUFBM0Isb0JBQTJCO1lBQTNCLDJCQUEyQjtJQUMzQix1QkFBZTtRQUFmLG1CQUFlO1lBQWYsZUFBZTtJQUVmLGdCQUFnQjtJQUNoQixTQUFTO0lBQ1QsVUFBVSxFQUFBO0lBRVY7TUFDSSxtQnREVkssRUFBQTtNc0RTUjtRQUlPLGlCdERSRDtRc0RVQywwQ0FBeUMsRUFBQTtNQU5oRDtRQVNPLGtCdERsQkMsRUFBQTtJUWtmYjtNOENuZkE7UUF3QlEsYUFBYSxFQUFBLEVBRXBCO0VBckZMO0lBdUZRLFd0REVrQixFQUFBO0VzREF0QjtJQUNJLFd0RERrQjtJc0RHbEIsa0JBQWtCO0lBQ2xCLE1BQU07SUFDTixPQUFPO0lBRVAsV0FBVztJQUNYLFlBQVk7SUFFWixxRkFBdUc7SUFDdkcsd0ZBQXlHO0lBQ3pHLDBHQUFxRztJQUFyRyxtRkFBcUc7SUFBckcsb0ZBQXFHO0lBQ3JHLHVIQUF1SCxFQUFBOztBQ3pHL0g7OytFMUQ2d0YrRTtBMEQxd0YvRTtFQUNJLG9CQUFhO0VBQWIscUJBQWE7RUFBYixpQkFBYTtFQUFiLG9CQUFhO0VBQWIsYUFBYTtFQUNiLHlCQUFtQjtFQUFuQiwyQkFBbUI7S0FBbkIsc0JBQW1CO01BQW5CLHNCQUFtQjtVQUFuQixtQkFBbUI7RUFDbkIsd0JBQXVCO0VBQXZCLCtCQUF1QjtLQUF2QixxQkFBdUI7TUFBdkIscUJBQXVCO1VBQXZCLHVCQUF1QjtFQUV2QixVQUFVO0VBQ1YsU0FBUztFQUVULGdCQUFnQixFQUFBO0VBRWY7SUFFTyxjQUFjO0lBQ2QsK0JBQXVCO09BQXZCLDRCQUF1QjtZQUF2Qix1QkFBdUI7SUFDdkIsYXZEbURHO0l1RGxESCxZQUFZLEVBQUE7SUFMbkI7TUFRVyxpQkFBaUI7TUFDakIsa0JBQWtCLEVBQUE7SUFUN0I7TUFZVyxjdkRQSSxFQUFBO0VRK2hCaEI7SStDcGlCQztNQWlCVyxrQnZEc0NELEVBQUEsRXVEcENOOztBQWdDVDtFQUtvQixlQUFlLEVBQUE7O0FDckVuQzs7K0UzRHd5RitFO0E0RHh5Ri9FOzsrRTVEMnlGK0U7QUR6dEYvRTtxRkMydEZxRjtBNkQ3eUZyRjs7K0U3RGd6RitFO0FXL3ZFM0U7RWtEN2lCSjtJQUVRLGFBQWEsRUFBQSxFQUVwQjs7QTVEMklEO0U0RGxJSSxlQUFlO0VBQ2YsWUFBWSxFQUFBIiwiZmlsZSI6Im1haW4uY3NzIiwic291cmNlc0NvbnRlbnQiOlsiLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIEluZGV4IG9mIHNjc3MgZmlsZXNcbiAgIEBtaXhpbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qIEV4dGVybmFsXG4gICBAbWl4aW4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLy8gTm9ybWFsaXplXG5AaW1wb3J0IFwidmVuZG9yL25vcm1hbGl6ZVwiO1xuLy8gQnJlYWtwb2ludHNcbkBpbXBvcnQgXCJ2ZW5kb3IvaW5jbHVkZS1tZWRpYVwiOyAgLy8gQWJzb2x1dGUgcGF0aHMgdG8gbm9kZV9tb2R1bGVzLyBjYXVzZSBidWlsZCBlcnJvcnMgb24gd2luZG93cy5cbi8vIFN3aXBlciBMaWJcbkBpbXBvcnQgXCJ2ZW5kb3Ivc3dpcGVyXCI7XG4vLyBSb2JvdG8gRm9udFxuQGltcG9ydCB1cmwoJ2h0dHBzOi8vZm9udHMuZ29vZ2xlYXBpcy5jb20vY3NzP2ZhbWlseT1Sb2JvdG86MzAwLDQwMCw1MDAsNzAwJyk7XG5cbi8qIEJhc2VcbiAgIEBtaXhpbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5AaW1wb3J0IFwiYmFzZS92YXJpYWJsZXNcIjtcbkBpbXBvcnQgXCJiYXNlL2JvZHlcIjtcbkBpbXBvcnQgXCJiYXNlL2Z1bmN0aW9uc1wiO1xuQGltcG9ydCBcImJhc2UvbWVkaWEtY29uZmlnXCI7XG5AaW1wb3J0IFwiYmFzZS9taXhpbnNcIjtcbkBpbXBvcnQgXCJiYXNlL3R5cG9ncmFwaHlcIjtcbkBpbXBvcnQgXCJiYXNlL3VpXCI7XG5cbi8qIExheW91dCBhbmQgc2VjdGlvbnNcbiAgIEBtaXhpbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5AaW1wb3J0IFwibGF5b3V0L2Zvb3RlclwiO1xuQGltcG9ydCBcImxheW91dC9oZWFkZXJcIjtcbkBpbXBvcnQgXCJsYXlvdXQvaW5uZXJcIjtcbkBpbXBvcnQgXCJsYXlvdXQvbWFpblwiO1xuQGltcG9ydCBcImxheW91dC9tb2RhbC1vdmVybGF5XCI7XG5AaW1wb3J0IFwibGF5b3V0L3NlY3Rpb25zXCI7XG5AaW1wb3J0IFwibGF5b3V0L3NpZGUtcGFuZWxcIjtcbkBpbXBvcnQgXCJsYXlvdXQvc3ViLWhlYWRlclwiO1xuXG4vKiBDb21wb25lbnRzXG4gICBAbWl4aW4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuQGltcG9ydCBcImNvbXBvbmVudHMvYXBwLWN0YVwiO1xuQGltcG9ydCBcImNvbXBvbmVudHMvYXBwLWN0YS13cmFwcGVyXCI7XG5AaW1wb3J0IFwiY29tcG9uZW50cy9iZy1zeW1ib2xcIjtcbkBpbXBvcnQgXCJjb21wb25lbnRzL2J0blwiO1xuQGltcG9ydCBcImNvbXBvbmVudHMvYnRuLXdyYXBwZXJcIjtcbkBpbXBvcnQgXCJjb21wb25lbnRzL2NhdGVnb3JpZXMtc3VibWVudVwiO1xuQGltcG9ydCBcImNvbXBvbmVudHMvY2F0ZWdvcmllcy1zdWJtZW51LXdyYXBwZXJcIjtcbkBpbXBvcnQgXCJjb21wb25lbnRzL2NvbW1lbnRcIjtcbkBpbXBvcnQgXCJjb21wb25lbnRzL2NvbW1lbnQtZm9ybVwiO1xuQGltcG9ydCBcImNvbXBvbmVudHMvY29tbWVudC1saXN0XCI7XG5AaW1wb3J0IFwiY29tcG9uZW50cy9kb3dubG9hZC1pbWdcIjtcbkBpbXBvcnQgXCJjb21wb25lbnRzL2Zsb2F0aW5nLWN0YVwiO1xuQGltcG9ydCBcImNvbXBvbmVudHMvZm9vdGVyLW5hdlwiO1xuQGltcG9ydCBcImNvbXBvbmVudHMvZm9vdGVyLXNlY3Rpb25cIjtcbkBpbXBvcnQgXCJjb21wb25lbnRzL2Zvb3Rlci13cmFwcGVyXCI7XG5AaW1wb3J0IFwiY29tcG9uZW50cy9mb3Jtc1wiO1xuQGltcG9ydCBcImNvbXBvbmVudHMvaGVhZGVyLWJ0blwiO1xuQGltcG9ydCBcImNvbXBvbmVudHMvaGVhZGVyLW5hdlwiO1xuQGltcG9ydCBcImNvbXBvbmVudHMvaGVyby1zdGF0aWNcIjtcbkBpbXBvcnQgXCJjb21wb25lbnRzL2hvbWUtcG9zdHNcIjtcbkBpbXBvcnQgXCJjb21wb25lbnRzL2hvbWUtc2xpZGVyXCI7XG5AaW1wb3J0IFwiY29tcG9uZW50cy9sYW5nLXN3aXRjaGVyXCI7XG5AaW1wb3J0IFwiY29tcG9uZW50cy9saW5rXCI7XG5AaW1wb3J0IFwiY29tcG9uZW50cy9sb2dvXCI7XG5AaW1wb3J0IFwiY29tcG9uZW50cy9uZXdzbGV0dGVyLWZvcm1cIjtcbkBpbXBvcnQgXCJjb21wb25lbnRzL25ld3NsZXR0ZXItcmVzdWx0XCI7XG5AaW1wb3J0IFwiY29tcG9uZW50cy9wYWdpbmF0aW9uXCI7XG5AaW1wb3J0IFwiY29tcG9uZW50cy9wb3N0XCI7XG5AaW1wb3J0IFwiY29tcG9uZW50cy9wb3N0LW5hdi1zdWJtZW51XCI7XG5AaW1wb3J0IFwiY29tcG9uZW50cy9wb3N0LW5hdi1zdWJtZW51LXdyYXBwZXJcIjtcbkBpbXBvcnQgXCJjb21wb25lbnRzL3NlYXJjaGZvcm1cIjtcbkBpbXBvcnQgXCJjb21wb25lbnRzL3NlYXJjaGZvcm0td3JhcHBlclwiO1xuQGltcG9ydCBcImNvbXBvbmVudHMvc2hhcmVcIjtcbkBpbXBvcnQgXCJjb21wb25lbnRzL3NpZGUtbmF2XCI7XG5AaW1wb3J0IFwiY29tcG9uZW50cy9zaWRlLXBhbmVsXCI7XG5AaW1wb3J0IFwiY29tcG9uZW50cy9zaW5nbGUtbmF2XCI7XG5AaW1wb3J0IFwiY29tcG9uZW50cy9zaW5nbGUtbmF2LXdyYXBwZXJcIjtcbkBpbXBvcnQgXCJjb21wb25lbnRzL3NpbmdsZS1wb3N0XCI7XG5AaW1wb3J0IFwiY29tcG9uZW50cy9zaW5nbGUtcG9zdC13cmFwcGVyXCI7XG5AaW1wb3J0IFwiY29tcG9uZW50cy9zbGlkZVwiO1xuQGltcG9ydCBcImNvbXBvbmVudHMvc29jaWFsLW5hdlwiO1xuQGltcG9ydCBcImNvbXBvbmVudHMvc3VibWVudVwiO1xuQGltcG9ydCBcImNvbXBvbmVudHMvdGFnXCI7XG5cbi8qIFV0aWxpdGllc1xuICAgQG1peGluID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbkBpbXBvcnQgXCJiYXNlL3V0aWxpdGllc1wiO1xuIiwiLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIEluZGV4IG9mIHNjc3MgZmlsZXNcbiAgIEBtaXhpbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKiBFeHRlcm5hbFxuICAgQG1peGluID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8qISBub3JtYWxpemUuY3NzIHY4LjAuMSB8IE1JVCBMaWNlbnNlIHwgZ2l0aHViLmNvbS9uZWNvbGFzL25vcm1hbGl6ZS5jc3MgKi9cbi8qIERvY3VtZW50XG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLyoqXG4gKiAxLiBDb3JyZWN0IHRoZSBsaW5lIGhlaWdodCBpbiBhbGwgYnJvd3NlcnMuXG4gKiAyLiBQcmV2ZW50IGFkanVzdG1lbnRzIG9mIGZvbnQgc2l6ZSBhZnRlciBvcmllbnRhdGlvbiBjaGFuZ2VzIGluIGlPUy5cbiAqL1xuQGltcG9ydCB1cmwoXCJodHRwczovL2ZvbnRzLmdvb2dsZWFwaXMuY29tL2Nzcz9mYW1pbHk9Um9ib3RvOjMwMCw0MDAsNTAwLDcwMFwiKTtcbmh0bWwge1xuICBsaW5lLWhlaWdodDogMS4xNTtcbiAgLyogMSAqL1xuICAtd2Via2l0LXRleHQtc2l6ZS1hZGp1c3Q6IDEwMCU7XG4gIC8qIDIgKi8gfVxuXG4vKiBTZWN0aW9uc1xuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8qKlxuICogUmVtb3ZlIHRoZSBtYXJnaW4gaW4gYWxsIGJyb3dzZXJzLlxuICovXG5ib2R5IHtcbiAgbWFyZ2luOiAwOyB9XG5cbi8qKlxuICogUmVuZGVyIHRoZSBgbWFpbmAgZWxlbWVudCBjb25zaXN0ZW50bHkgaW4gSUUuXG4gKi9cbm1haW4ge1xuICBkaXNwbGF5OiBibG9jazsgfVxuXG4vKipcbiAqIENvcnJlY3QgdGhlIGZvbnQgc2l6ZSBhbmQgbWFyZ2luIG9uIGBoMWAgZWxlbWVudHMgd2l0aGluIGBzZWN0aW9uYCBhbmRcbiAqIGBhcnRpY2xlYCBjb250ZXh0cyBpbiBDaHJvbWUsIEZpcmVmb3gsIGFuZCBTYWZhcmkuXG4gKi9cbmgxIHtcbiAgZm9udC1zaXplOiAyZW07XG4gIG1hcmdpbjogMC42N2VtIDA7IH1cblxuLyogR3JvdXBpbmcgY29udGVudFxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8qKlxuICogMS4gQWRkIHRoZSBjb3JyZWN0IGJveCBzaXppbmcgaW4gRmlyZWZveC5cbiAqIDIuIFNob3cgdGhlIG92ZXJmbG93IGluIEVkZ2UgYW5kIElFLlxuICovXG5ociB7XG4gIGJveC1zaXppbmc6IGNvbnRlbnQtYm94O1xuICAvKiAxICovXG4gIGhlaWdodDogMDtcbiAgLyogMSAqL1xuICBvdmVyZmxvdzogdmlzaWJsZTtcbiAgLyogMiAqLyB9XG5cbi8qKlxuICogMS4gQ29ycmVjdCB0aGUgaW5oZXJpdGFuY2UgYW5kIHNjYWxpbmcgb2YgZm9udCBzaXplIGluIGFsbCBicm93c2Vycy5cbiAqIDIuIENvcnJlY3QgdGhlIG9kZCBgZW1gIGZvbnQgc2l6aW5nIGluIGFsbCBicm93c2Vycy5cbiAqL1xucHJlIHtcbiAgZm9udC1mYW1pbHk6IG1vbm9zcGFjZSwgbW9ub3NwYWNlO1xuICAvKiAxICovXG4gIGZvbnQtc2l6ZTogMWVtO1xuICAvKiAyICovIH1cblxuLyogVGV4dC1sZXZlbCBzZW1hbnRpY3NcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKipcbiAqIFJlbW92ZSB0aGUgZ3JheSBiYWNrZ3JvdW5kIG9uIGFjdGl2ZSBsaW5rcyBpbiBJRSAxMC5cbiAqL1xuYSB7XG4gIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50OyB9XG5cbi8qKlxuICogMS4gUmVtb3ZlIHRoZSBib3R0b20gYm9yZGVyIGluIENocm9tZSA1Ny1cbiAqIDIuIEFkZCB0aGUgY29ycmVjdCB0ZXh0IGRlY29yYXRpb24gaW4gQ2hyb21lLCBFZGdlLCBJRSwgT3BlcmEsIGFuZCBTYWZhcmkuXG4gKi9cbmFiYnJbdGl0bGVdIHtcbiAgYm9yZGVyLWJvdHRvbTogbm9uZTtcbiAgLyogMSAqL1xuICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcbiAgLyogMiAqL1xuICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZSBkb3R0ZWQ7XG4gIC8qIDIgKi8gfVxuXG4vKipcbiAqIEFkZCB0aGUgY29ycmVjdCBmb250IHdlaWdodCBpbiBDaHJvbWUsIEVkZ2UsIGFuZCBTYWZhcmkuXG4gKi9cbmIsXG5zdHJvbmcge1xuICBmb250LXdlaWdodDogYm9sZGVyOyB9XG5cbi8qKlxuICogMS4gQ29ycmVjdCB0aGUgaW5oZXJpdGFuY2UgYW5kIHNjYWxpbmcgb2YgZm9udCBzaXplIGluIGFsbCBicm93c2Vycy5cbiAqIDIuIENvcnJlY3QgdGhlIG9kZCBgZW1gIGZvbnQgc2l6aW5nIGluIGFsbCBicm93c2Vycy5cbiAqL1xuY29kZSxcbmtiZCxcbnNhbXAge1xuICBmb250LWZhbWlseTogbW9ub3NwYWNlLCBtb25vc3BhY2U7XG4gIC8qIDEgKi9cbiAgZm9udC1zaXplOiAxZW07XG4gIC8qIDIgKi8gfVxuXG4vKipcbiAqIEFkZCB0aGUgY29ycmVjdCBmb250IHNpemUgaW4gYWxsIGJyb3dzZXJzLlxuICovXG5zbWFsbCB7XG4gIGZvbnQtc2l6ZTogODAlOyB9XG5cbi8qKlxuICogUHJldmVudCBgc3ViYCBhbmQgYHN1cGAgZWxlbWVudHMgZnJvbSBhZmZlY3RpbmcgdGhlIGxpbmUgaGVpZ2h0IGluXG4gKiBhbGwgYnJvd3NlcnMuXG4gKi9cbnN1YixcbnN1cCB7XG4gIGZvbnQtc2l6ZTogNzUlO1xuICBsaW5lLWhlaWdodDogMDtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB2ZXJ0aWNhbC1hbGlnbjogYmFzZWxpbmU7IH1cblxuc3ViIHtcbiAgYm90dG9tOiAtMC4yNWVtOyB9XG5cbnN1cCB7XG4gIHRvcDogLTAuNWVtOyB9XG5cbi8qIEVtYmVkZGVkIGNvbnRlbnRcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKipcbiAqIFJlbW92ZSB0aGUgYm9yZGVyIG9uIGltYWdlcyBpbnNpZGUgbGlua3MgaW4gSUUgMTAuXG4gKi9cbmltZyB7XG4gIGJvcmRlci1zdHlsZTogbm9uZTsgfVxuXG4vKiBGb3Jtc1xuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8qKlxuICogMS4gQ2hhbmdlIHRoZSBmb250IHN0eWxlcyBpbiBhbGwgYnJvd3NlcnMuXG4gKiAyLiBSZW1vdmUgdGhlIG1hcmdpbiBpbiBGaXJlZm94IGFuZCBTYWZhcmkuXG4gKi9cbmJ1dHRvbixcbmlucHV0LFxub3B0Z3JvdXAsXG5zZWxlY3QsXG50ZXh0YXJlYSB7XG4gIGZvbnQtZmFtaWx5OiBpbmhlcml0O1xuICAvKiAxICovXG4gIGZvbnQtc2l6ZTogMTAwJTtcbiAgLyogMSAqL1xuICBsaW5lLWhlaWdodDogMS4xNTtcbiAgLyogMSAqL1xuICBtYXJnaW46IDA7XG4gIC8qIDIgKi8gfVxuXG4vKipcbiAqIFNob3cgdGhlIG92ZXJmbG93IGluIElFLlxuICogMS4gU2hvdyB0aGUgb3ZlcmZsb3cgaW4gRWRnZS5cbiAqL1xuYnV0dG9uLFxuaW5wdXQge1xuICAvKiAxICovXG4gIG92ZXJmbG93OiB2aXNpYmxlOyB9XG5cbi8qKlxuICogUmVtb3ZlIHRoZSBpbmhlcml0YW5jZSBvZiB0ZXh0IHRyYW5zZm9ybSBpbiBFZGdlLCBGaXJlZm94LCBhbmQgSUUuXG4gKiAxLiBSZW1vdmUgdGhlIGluaGVyaXRhbmNlIG9mIHRleHQgdHJhbnNmb3JtIGluIEZpcmVmb3guXG4gKi9cbmJ1dHRvbixcbnNlbGVjdCB7XG4gIC8qIDEgKi9cbiAgdGV4dC10cmFuc2Zvcm06IG5vbmU7IH1cblxuLyoqXG4gKiBDb3JyZWN0IHRoZSBpbmFiaWxpdHkgdG8gc3R5bGUgY2xpY2thYmxlIHR5cGVzIGluIGlPUyBhbmQgU2FmYXJpLlxuICovXG5idXR0b24sXG5bdHlwZT1cImJ1dHRvblwiXSxcblt0eXBlPVwicmVzZXRcIl0sXG5bdHlwZT1cInN1Ym1pdFwiXSB7XG4gIC13ZWJraXQtYXBwZWFyYW5jZTogYnV0dG9uOyB9XG5cbi8qKlxuICogUmVtb3ZlIHRoZSBpbm5lciBib3JkZXIgYW5kIHBhZGRpbmcgaW4gRmlyZWZveC5cbiAqL1xuYnV0dG9uOjotbW96LWZvY3VzLWlubmVyLFxuW3R5cGU9XCJidXR0b25cIl06Oi1tb3otZm9jdXMtaW5uZXIsXG5bdHlwZT1cInJlc2V0XCJdOjotbW96LWZvY3VzLWlubmVyLFxuW3R5cGU9XCJzdWJtaXRcIl06Oi1tb3otZm9jdXMtaW5uZXIge1xuICBib3JkZXItc3R5bGU6IG5vbmU7XG4gIHBhZGRpbmc6IDA7IH1cblxuLyoqXG4gKiBSZXN0b3JlIHRoZSBmb2N1cyBzdHlsZXMgdW5zZXQgYnkgdGhlIHByZXZpb3VzIHJ1bGUuXG4gKi9cbmJ1dHRvbjotbW96LWZvY3VzcmluZyxcblt0eXBlPVwiYnV0dG9uXCJdOi1tb3otZm9jdXNyaW5nLFxuW3R5cGU9XCJyZXNldFwiXTotbW96LWZvY3VzcmluZyxcblt0eXBlPVwic3VibWl0XCJdOi1tb3otZm9jdXNyaW5nIHtcbiAgb3V0bGluZTogMXB4IGRvdHRlZCBCdXR0b25UZXh0OyB9XG5cbi8qKlxuICogQ29ycmVjdCB0aGUgcGFkZGluZyBpbiBGaXJlZm94LlxuICovXG5maWVsZHNldCB7XG4gIHBhZGRpbmc6IDAuMzVlbSAwLjc1ZW0gMC42MjVlbTsgfVxuXG4vKipcbiAqIDEuIENvcnJlY3QgdGhlIHRleHQgd3JhcHBpbmcgaW4gRWRnZSBhbmQgSUUuXG4gKiAyLiBDb3JyZWN0IHRoZSBjb2xvciBpbmhlcml0YW5jZSBmcm9tIGBmaWVsZHNldGAgZWxlbWVudHMgaW4gSUUuXG4gKiAzLiBSZW1vdmUgdGhlIHBhZGRpbmcgc28gZGV2ZWxvcGVycyBhcmUgbm90IGNhdWdodCBvdXQgd2hlbiB0aGV5IHplcm8gb3V0XG4gKiAgICBgZmllbGRzZXRgIGVsZW1lbnRzIGluIGFsbCBicm93c2Vycy5cbiAqL1xubGVnZW5kIHtcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgLyogMSAqL1xuICBjb2xvcjogaW5oZXJpdDtcbiAgLyogMiAqL1xuICBkaXNwbGF5OiB0YWJsZTtcbiAgLyogMSAqL1xuICBtYXgtd2lkdGg6IDEwMCU7XG4gIC8qIDEgKi9cbiAgcGFkZGluZzogMDtcbiAgLyogMyAqL1xuICB3aGl0ZS1zcGFjZTogbm9ybWFsO1xuICAvKiAxICovIH1cblxuLyoqXG4gKiBBZGQgdGhlIGNvcnJlY3QgdmVydGljYWwgYWxpZ25tZW50IGluIENocm9tZSwgRmlyZWZveCwgYW5kIE9wZXJhLlxuICovXG5wcm9ncmVzcyB7XG4gIHZlcnRpY2FsLWFsaWduOiBiYXNlbGluZTsgfVxuXG4vKipcbiAqIFJlbW92ZSB0aGUgZGVmYXVsdCB2ZXJ0aWNhbCBzY3JvbGxiYXIgaW4gSUUgMTArLlxuICovXG50ZXh0YXJlYSB7XG4gIG92ZXJmbG93OiBhdXRvOyB9XG5cbi8qKlxuICogMS4gQWRkIHRoZSBjb3JyZWN0IGJveCBzaXppbmcgaW4gSUUgMTAuXG4gKiAyLiBSZW1vdmUgdGhlIHBhZGRpbmcgaW4gSUUgMTAuXG4gKi9cblt0eXBlPVwiY2hlY2tib3hcIl0sXG5bdHlwZT1cInJhZGlvXCJdIHtcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgLyogMSAqL1xuICBwYWRkaW5nOiAwO1xuICAvKiAyICovIH1cblxuLyoqXG4gKiBDb3JyZWN0IHRoZSBjdXJzb3Igc3R5bGUgb2YgaW5jcmVtZW50IGFuZCBkZWNyZW1lbnQgYnV0dG9ucyBpbiBDaHJvbWUuXG4gKi9cblt0eXBlPVwibnVtYmVyXCJdOjotd2Via2l0LWlubmVyLXNwaW4tYnV0dG9uLFxuW3R5cGU9XCJudW1iZXJcIl06Oi13ZWJraXQtb3V0ZXItc3Bpbi1idXR0b24ge1xuICBoZWlnaHQ6IGF1dG87IH1cblxuLyoqXG4gKiAxLiBDb3JyZWN0IHRoZSBvZGQgYXBwZWFyYW5jZSBpbiBDaHJvbWUgYW5kIFNhZmFyaS5cbiAqIDIuIENvcnJlY3QgdGhlIG91dGxpbmUgc3R5bGUgaW4gU2FmYXJpLlxuICovXG5bdHlwZT1cInNlYXJjaFwiXSB7XG4gIC13ZWJraXQtYXBwZWFyYW5jZTogdGV4dGZpZWxkO1xuICAvKiAxICovXG4gIG91dGxpbmUtb2Zmc2V0OiAtMnB4O1xuICAvKiAyICovIH1cblxuLyoqXG4gKiBSZW1vdmUgdGhlIGlubmVyIHBhZGRpbmcgaW4gQ2hyb21lIGFuZCBTYWZhcmkgb24gbWFjT1MuXG4gKi9cblt0eXBlPVwic2VhcmNoXCJdOjotd2Via2l0LXNlYXJjaC1kZWNvcmF0aW9uIHtcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lOyB9XG5cbi8qKlxuICogMS4gQ29ycmVjdCB0aGUgaW5hYmlsaXR5IHRvIHN0eWxlIGNsaWNrYWJsZSB0eXBlcyBpbiBpT1MgYW5kIFNhZmFyaS5cbiAqIDIuIENoYW5nZSBmb250IHByb3BlcnRpZXMgdG8gYGluaGVyaXRgIGluIFNhZmFyaS5cbiAqL1xuOjotd2Via2l0LWZpbGUtdXBsb2FkLWJ1dHRvbiB7XG4gIC13ZWJraXQtYXBwZWFyYW5jZTogYnV0dG9uO1xuICAvKiAxICovXG4gIGZvbnQ6IGluaGVyaXQ7XG4gIC8qIDIgKi8gfVxuXG4vKiBJbnRlcmFjdGl2ZVxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8qXG4gKiBBZGQgdGhlIGNvcnJlY3QgZGlzcGxheSBpbiBFZGdlLCBJRSAxMCssIGFuZCBGaXJlZm94LlxuICovXG5kZXRhaWxzIHtcbiAgZGlzcGxheTogYmxvY2s7IH1cblxuLypcbiAqIEFkZCB0aGUgY29ycmVjdCBkaXNwbGF5IGluIGFsbCBicm93c2Vycy5cbiAqL1xuc3VtbWFyeSB7XG4gIGRpc3BsYXk6IGxpc3QtaXRlbTsgfVxuXG4vKiBNaXNjXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLyoqXG4gKiBBZGQgdGhlIGNvcnJlY3QgZGlzcGxheSBpbiBJRSAxMCsuXG4gKi9cbnRlbXBsYXRlIHtcbiAgZGlzcGxheTogbm9uZTsgfVxuXG4vKipcbiAqIEFkZCB0aGUgY29ycmVjdCBkaXNwbGF5IGluIElFIDEwLlxuICovXG5baGlkZGVuXSB7XG4gIGRpc3BsYXk6IG5vbmU7IH1cblxuLyoqXG4gKiBTd2lwZXIgNC41LjBcbiAqIE1vc3QgbW9kZXJuIG1vYmlsZSB0b3VjaCBzbGlkZXIgYW5kIGZyYW1ld29yayB3aXRoIGhhcmR3YXJlIGFjY2VsZXJhdGVkIHRyYW5zaXRpb25zXG4gKiBodHRwOi8vd3d3LmlkYW5nZXJvLnVzL3N3aXBlci9cbiAqXG4gKiBDb3B5cmlnaHQgMjAxNC0yMDE5IFZsYWRpbWlyIEtoYXJsYW1waWRpXG4gKlxuICogUmVsZWFzZWQgdW5kZXIgdGhlIE1JVCBMaWNlbnNlXG4gKlxuICogUmVsZWFzZWQgb246IEZlYnJ1YXJ5IDIyLCAyMDE5XG4gKi9cbi5zd2lwZXItY29udGFpbmVyIHtcbiAgbWFyZ2luOiAwIGF1dG87XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgbGlzdC1zdHlsZTogbm9uZTtcbiAgcGFkZGluZzogMDtcbiAgLyogRml4IG9mIFdlYmtpdCBmbGlja2VyaW5nICovXG4gIHotaW5kZXg6IDE7IH1cblxuLnN3aXBlci1jb250YWluZXItbm8tZmxleGJveCAuc3dpcGVyLXNsaWRlIHtcbiAgZmxvYXQ6IGxlZnQ7IH1cblxuLnN3aXBlci1jb250YWluZXItdmVydGljYWwgPiAuc3dpcGVyLXdyYXBwZXIge1xuICAtd2Via2l0LWJveC1vcmllbnQ6IHZlcnRpY2FsO1xuICAtd2Via2l0LWJveC1kaXJlY3Rpb246IG5vcm1hbDtcbiAgLXdlYmtpdC1mbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAtbXMtZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjsgfVxuXG4uc3dpcGVyLXdyYXBwZXIge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IDEwMCU7XG4gIHotaW5kZXg6IDE7XG4gIGRpc3BsYXk6IC13ZWJraXQtYm94O1xuICBkaXNwbGF5OiAtd2Via2l0LWZsZXg7XG4gIGRpc3BsYXk6IC1tcy1mbGV4Ym94O1xuICBkaXNwbGF5OiBmbGV4O1xuICAtd2Via2l0LXRyYW5zaXRpb24tcHJvcGVydHk6IC13ZWJraXQtdHJhbnNmb3JtO1xuICB0cmFuc2l0aW9uLXByb3BlcnR5OiAtd2Via2l0LXRyYW5zZm9ybTtcbiAgLW8tdHJhbnNpdGlvbi1wcm9wZXJ0eTogdHJhbnNmb3JtO1xuICB0cmFuc2l0aW9uLXByb3BlcnR5OiB0cmFuc2Zvcm07XG4gIHRyYW5zaXRpb24tcHJvcGVydHk6IHRyYW5zZm9ybSwgLXdlYmtpdC10cmFuc2Zvcm07XG4gIC13ZWJraXQtYm94LXNpemluZzogY29udGVudC1ib3g7XG4gIGJveC1zaXppbmc6IGNvbnRlbnQtYm94OyB9XG5cbi5zd2lwZXItY29udGFpbmVyLWFuZHJvaWQgLnN3aXBlci1zbGlkZSxcbi5zd2lwZXItd3JhcHBlciB7XG4gIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwcHgsIDAsIDApO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDBweCwgMCwgMCk7IH1cblxuLnN3aXBlci1jb250YWluZXItbXVsdGlyb3cgPiAuc3dpcGVyLXdyYXBwZXIge1xuICAtd2Via2l0LWZsZXgtd3JhcDogd3JhcDtcbiAgLW1zLWZsZXgtd3JhcDogd3JhcDtcbiAgZmxleC13cmFwOiB3cmFwOyB9XG5cbi5zd2lwZXItY29udGFpbmVyLWZyZWUtbW9kZSA+IC5zd2lwZXItd3JhcHBlciB7XG4gIC13ZWJraXQtdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2Utb3V0O1xuICAtby10cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1vdXQ7XG4gIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLW91dDtcbiAgbWFyZ2luOiAwIGF1dG87IH1cblxuLnN3aXBlci1zbGlkZSB7XG4gIC13ZWJraXQtZmxleC1zaHJpbms6IDA7XG4gIC1tcy1mbGV4LW5lZ2F0aXZlOiAwO1xuICBmbGV4LXNocmluazogMDtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogMTAwJTtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAtd2Via2l0LXRyYW5zaXRpb24tcHJvcGVydHk6IC13ZWJraXQtdHJhbnNmb3JtO1xuICB0cmFuc2l0aW9uLXByb3BlcnR5OiAtd2Via2l0LXRyYW5zZm9ybTtcbiAgLW8tdHJhbnNpdGlvbi1wcm9wZXJ0eTogdHJhbnNmb3JtO1xuICB0cmFuc2l0aW9uLXByb3BlcnR5OiB0cmFuc2Zvcm07XG4gIHRyYW5zaXRpb24tcHJvcGVydHk6IHRyYW5zZm9ybSwgLXdlYmtpdC10cmFuc2Zvcm07IH1cblxuLnN3aXBlci1zbGlkZS1pbnZpc2libGUtYmxhbmsge1xuICB2aXNpYmlsaXR5OiBoaWRkZW47IH1cblxuLyogQXV0byBIZWlnaHQgKi9cbi5zd2lwZXItY29udGFpbmVyLWF1dG9oZWlnaHQsXG4uc3dpcGVyLWNvbnRhaW5lci1hdXRvaGVpZ2h0IC5zd2lwZXItc2xpZGUge1xuICBoZWlnaHQ6IGF1dG87IH1cblxuLnN3aXBlci1jb250YWluZXItYXV0b2hlaWdodCAuc3dpcGVyLXdyYXBwZXIge1xuICAtd2Via2l0LWJveC1hbGlnbjogc3RhcnQ7XG4gIC13ZWJraXQtYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7XG4gIC1tcy1mbGV4LWFsaWduOiBzdGFydDtcbiAgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7XG4gIC13ZWJraXQtdHJhbnNpdGlvbi1wcm9wZXJ0eTogaGVpZ2h0LCAtd2Via2l0LXRyYW5zZm9ybTtcbiAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogaGVpZ2h0LCAtd2Via2l0LXRyYW5zZm9ybTtcbiAgLW8tdHJhbnNpdGlvbi1wcm9wZXJ0eTogdHJhbnNmb3JtLCBoZWlnaHQ7XG4gIHRyYW5zaXRpb24tcHJvcGVydHk6IHRyYW5zZm9ybSwgaGVpZ2h0O1xuICB0cmFuc2l0aW9uLXByb3BlcnR5OiB0cmFuc2Zvcm0sIGhlaWdodCwgLXdlYmtpdC10cmFuc2Zvcm07IH1cblxuLyogM0QgRWZmZWN0cyAqL1xuLnN3aXBlci1jb250YWluZXItM2Qge1xuICAtd2Via2l0LXBlcnNwZWN0aXZlOiAxMjAwcHg7XG4gIHBlcnNwZWN0aXZlOiAxMjAwcHg7IH1cblxuLnN3aXBlci1jb250YWluZXItM2QgLnN3aXBlci13cmFwcGVyLFxuLnN3aXBlci1jb250YWluZXItM2QgLnN3aXBlci1zbGlkZSxcbi5zd2lwZXItY29udGFpbmVyLTNkIC5zd2lwZXItc2xpZGUtc2hhZG93LWxlZnQsXG4uc3dpcGVyLWNvbnRhaW5lci0zZCAuc3dpcGVyLXNsaWRlLXNoYWRvdy1yaWdodCxcbi5zd2lwZXItY29udGFpbmVyLTNkIC5zd2lwZXItc2xpZGUtc2hhZG93LXRvcCxcbi5zd2lwZXItY29udGFpbmVyLTNkIC5zd2lwZXItc2xpZGUtc2hhZG93LWJvdHRvbSxcbi5zd2lwZXItY29udGFpbmVyLTNkIC5zd2lwZXItY3ViZS1zaGFkb3cge1xuICAtd2Via2l0LXRyYW5zZm9ybS1zdHlsZTogcHJlc2VydmUtM2Q7XG4gIHRyYW5zZm9ybS1zdHlsZTogcHJlc2VydmUtM2Q7IH1cblxuLnN3aXBlci1jb250YWluZXItM2QgLnN3aXBlci1zbGlkZS1zaGFkb3ctbGVmdCxcbi5zd2lwZXItY29udGFpbmVyLTNkIC5zd2lwZXItc2xpZGUtc2hhZG93LXJpZ2h0LFxuLnN3aXBlci1jb250YWluZXItM2QgLnN3aXBlci1zbGlkZS1zaGFkb3ctdG9wLFxuLnN3aXBlci1jb250YWluZXItM2QgLnN3aXBlci1zbGlkZS1zaGFkb3ctYm90dG9tIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBsZWZ0OiAwO1xuICB0b3A6IDA7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IDEwMCU7XG4gIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICB6LWluZGV4OiAxMDsgfVxuXG4uc3dpcGVyLWNvbnRhaW5lci0zZCAuc3dpcGVyLXNsaWRlLXNoYWRvdy1sZWZ0IHtcbiAgYmFja2dyb3VuZC1pbWFnZTogLXdlYmtpdC1ncmFkaWVudChsaW5lYXIsIHJpZ2h0IHRvcCwgbGVmdCB0b3AsIGZyb20ocmdiYSgwLCAwLCAwLCAwLjUpKSwgdG8ocmdiYSgwLCAwLCAwLCAwKSkpO1xuICBiYWNrZ3JvdW5kLWltYWdlOiAtd2Via2l0LWxpbmVhci1ncmFkaWVudChyaWdodCwgcmdiYSgwLCAwLCAwLCAwLjUpLCByZ2JhKDAsIDAsIDAsIDApKTtcbiAgYmFja2dyb3VuZC1pbWFnZTogLW8tbGluZWFyLWdyYWRpZW50KHJpZ2h0LCByZ2JhKDAsIDAsIDAsIDAuNSksIHJnYmEoMCwgMCwgMCwgMCkpO1xuICBiYWNrZ3JvdW5kLWltYWdlOiBsaW5lYXItZ3JhZGllbnQodG8gbGVmdCwgcmdiYSgwLCAwLCAwLCAwLjUpLCByZ2JhKDAsIDAsIDAsIDApKTsgfVxuXG4uc3dpcGVyLWNvbnRhaW5lci0zZCAuc3dpcGVyLXNsaWRlLXNoYWRvdy1yaWdodCB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IC13ZWJraXQtZ3JhZGllbnQobGluZWFyLCBsZWZ0IHRvcCwgcmlnaHQgdG9wLCBmcm9tKHJnYmEoMCwgMCwgMCwgMC41KSksIHRvKHJnYmEoMCwgMCwgMCwgMCkpKTtcbiAgYmFja2dyb3VuZC1pbWFnZTogLXdlYmtpdC1saW5lYXItZ3JhZGllbnQobGVmdCwgcmdiYSgwLCAwLCAwLCAwLjUpLCByZ2JhKDAsIDAsIDAsIDApKTtcbiAgYmFja2dyb3VuZC1pbWFnZTogLW8tbGluZWFyLWdyYWRpZW50KGxlZnQsIHJnYmEoMCwgMCwgMCwgMC41KSwgcmdiYSgwLCAwLCAwLCAwKSk7XG4gIGJhY2tncm91bmQtaW1hZ2U6IGxpbmVhci1ncmFkaWVudCh0byByaWdodCwgcmdiYSgwLCAwLCAwLCAwLjUpLCByZ2JhKDAsIDAsIDAsIDApKTsgfVxuXG4uc3dpcGVyLWNvbnRhaW5lci0zZCAuc3dpcGVyLXNsaWRlLXNoYWRvdy10b3Age1xuICBiYWNrZ3JvdW5kLWltYWdlOiAtd2Via2l0LWdyYWRpZW50KGxpbmVhciwgbGVmdCBib3R0b20sIGxlZnQgdG9wLCBmcm9tKHJnYmEoMCwgMCwgMCwgMC41KSksIHRvKHJnYmEoMCwgMCwgMCwgMCkpKTtcbiAgYmFja2dyb3VuZC1pbWFnZTogLXdlYmtpdC1saW5lYXItZ3JhZGllbnQoYm90dG9tLCByZ2JhKDAsIDAsIDAsIDAuNSksIHJnYmEoMCwgMCwgMCwgMCkpO1xuICBiYWNrZ3JvdW5kLWltYWdlOiAtby1saW5lYXItZ3JhZGllbnQoYm90dG9tLCByZ2JhKDAsIDAsIDAsIDAuNSksIHJnYmEoMCwgMCwgMCwgMCkpO1xuICBiYWNrZ3JvdW5kLWltYWdlOiBsaW5lYXItZ3JhZGllbnQodG8gdG9wLCByZ2JhKDAsIDAsIDAsIDAuNSksIHJnYmEoMCwgMCwgMCwgMCkpOyB9XG5cbi5zd2lwZXItY29udGFpbmVyLTNkIC5zd2lwZXItc2xpZGUtc2hhZG93LWJvdHRvbSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IC13ZWJraXQtZ3JhZGllbnQobGluZWFyLCBsZWZ0IHRvcCwgbGVmdCBib3R0b20sIGZyb20ocmdiYSgwLCAwLCAwLCAwLjUpKSwgdG8ocmdiYSgwLCAwLCAwLCAwKSkpO1xuICBiYWNrZ3JvdW5kLWltYWdlOiAtd2Via2l0LWxpbmVhci1ncmFkaWVudCh0b3AsIHJnYmEoMCwgMCwgMCwgMC41KSwgcmdiYSgwLCAwLCAwLCAwKSk7XG4gIGJhY2tncm91bmQtaW1hZ2U6IC1vLWxpbmVhci1ncmFkaWVudCh0b3AsIHJnYmEoMCwgMCwgMCwgMC41KSwgcmdiYSgwLCAwLCAwLCAwKSk7XG4gIGJhY2tncm91bmQtaW1hZ2U6IGxpbmVhci1ncmFkaWVudCh0byBib3R0b20sIHJnYmEoMCwgMCwgMCwgMC41KSwgcmdiYSgwLCAwLCAwLCAwKSk7IH1cblxuLyogSUUxMCBXaW5kb3dzIFBob25lIDggRml4ZXMgKi9cbi5zd2lwZXItY29udGFpbmVyLXdwOC1ob3Jpem9udGFsLFxuLnN3aXBlci1jb250YWluZXItd3A4LWhvcml6b250YWwgPiAuc3dpcGVyLXdyYXBwZXIge1xuICAtbXMtdG91Y2gtYWN0aW9uOiBwYW4teTtcbiAgdG91Y2gtYWN0aW9uOiBwYW4teTsgfVxuXG4uc3dpcGVyLWNvbnRhaW5lci13cDgtdmVydGljYWwsXG4uc3dpcGVyLWNvbnRhaW5lci13cDgtdmVydGljYWwgPiAuc3dpcGVyLXdyYXBwZXIge1xuICAtbXMtdG91Y2gtYWN0aW9uOiBwYW4teDtcbiAgdG91Y2gtYWN0aW9uOiBwYW4teDsgfVxuXG4uc3dpcGVyLWJ1dHRvbi1wcmV2LFxuLnN3aXBlci1idXR0b24tbmV4dCB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiA1MCU7XG4gIHdpZHRoOiAyN3B4O1xuICBoZWlnaHQ6IDQ0cHg7XG4gIG1hcmdpbi10b3A6IC0yMnB4O1xuICB6LWluZGV4OiAxMDtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICBiYWNrZ3JvdW5kLXNpemU6IDI3cHggNDRweDtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyO1xuICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0OyB9XG5cbi5zd2lwZXItYnV0dG9uLXByZXYuc3dpcGVyLWJ1dHRvbi1kaXNhYmxlZCxcbi5zd2lwZXItYnV0dG9uLW5leHQuc3dpcGVyLWJ1dHRvbi1kaXNhYmxlZCB7XG4gIG9wYWNpdHk6IDAuMzU7XG4gIGN1cnNvcjogYXV0bztcbiAgcG9pbnRlci1ldmVudHM6IG5vbmU7IH1cblxuLnN3aXBlci1idXR0b24tcHJldixcbi5zd2lwZXItY29udGFpbmVyLXJ0bCAuc3dpcGVyLWJ1dHRvbi1uZXh0IHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiZGF0YTppbWFnZS9zdmcreG1sO2NoYXJzZXQ9dXRmLTgsJTNDc3ZnJTIweG1sbnMlM0QnaHR0cCUzQSUyRiUyRnd3dy53My5vcmclMkYyMDAwJTJGc3ZnJyUyMHZpZXdCb3glM0QnMCUyMDAlMjAyNyUyMDQ0JyUzRSUzQ3BhdGglMjBkJTNEJ00wJTJDMjJMMjIlMkMwbDIuMSUyQzIuMUw0LjIlMkMyMmwxOS45JTJDMTkuOUwyMiUyQzQ0TDAlMkMyMkwwJTJDMjJMMCUyQzIyeiclMjBmaWxsJTNEJyUyMzAwN2FmZiclMkYlM0UlM0MlMkZzdmclM0VcIik7XG4gIGxlZnQ6IDEwcHg7XG4gIHJpZ2h0OiBhdXRvOyB9XG5cbi5zd2lwZXItYnV0dG9uLW5leHQsXG4uc3dpcGVyLWNvbnRhaW5lci1ydGwgLnN3aXBlci1idXR0b24tcHJldiB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImRhdGE6aW1hZ2Uvc3ZnK3htbDtjaGFyc2V0PXV0Zi04LCUzQ3N2ZyUyMHhtbG5zJTNEJ2h0dHAlM0ElMkYlMkZ3d3cudzMub3JnJTJGMjAwMCUyRnN2ZyclMjB2aWV3Qm94JTNEJzAlMjAwJTIwMjclMjA0NCclM0UlM0NwYXRoJTIwZCUzRCdNMjclMkMyMkwyNyUyQzIyTDUlMkM0NGwtMi4xLTIuMUwyMi44JTJDMjJMMi45JTJDMi4xTDUlMkMwTDI3JTJDMjJMMjclMkMyMnonJTIwZmlsbCUzRCclMjMwMDdhZmYnJTJGJTNFJTNDJTJGc3ZnJTNFXCIpO1xuICByaWdodDogMTBweDtcbiAgbGVmdDogYXV0bzsgfVxuXG4uc3dpcGVyLWJ1dHRvbi1wcmV2LnN3aXBlci1idXR0b24td2hpdGUsXG4uc3dpcGVyLWNvbnRhaW5lci1ydGwgLnN3aXBlci1idXR0b24tbmV4dC5zd2lwZXItYnV0dG9uLXdoaXRlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiZGF0YTppbWFnZS9zdmcreG1sO2NoYXJzZXQ9dXRmLTgsJTNDc3ZnJTIweG1sbnMlM0QnaHR0cCUzQSUyRiUyRnd3dy53My5vcmclMkYyMDAwJTJGc3ZnJyUyMHZpZXdCb3glM0QnMCUyMDAlMjAyNyUyMDQ0JyUzRSUzQ3BhdGglMjBkJTNEJ00wJTJDMjJMMjIlMkMwbDIuMSUyQzIuMUw0LjIlMkMyMmwxOS45JTJDMTkuOUwyMiUyQzQ0TDAlMkMyMkwwJTJDMjJMMCUyQzIyeiclMjBmaWxsJTNEJyUyM2ZmZmZmZiclMkYlM0UlM0MlMkZzdmclM0VcIik7IH1cblxuLnN3aXBlci1idXR0b24tbmV4dC5zd2lwZXItYnV0dG9uLXdoaXRlLFxuLnN3aXBlci1jb250YWluZXItcnRsIC5zd2lwZXItYnV0dG9uLXByZXYuc3dpcGVyLWJ1dHRvbi13aGl0ZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImRhdGE6aW1hZ2Uvc3ZnK3htbDtjaGFyc2V0PXV0Zi04LCUzQ3N2ZyUyMHhtbG5zJTNEJ2h0dHAlM0ElMkYlMkZ3d3cudzMub3JnJTJGMjAwMCUyRnN2ZyclMjB2aWV3Qm94JTNEJzAlMjAwJTIwMjclMjA0NCclM0UlM0NwYXRoJTIwZCUzRCdNMjclMkMyMkwyNyUyQzIyTDUlMkM0NGwtMi4xLTIuMUwyMi44JTJDMjJMMi45JTJDMi4xTDUlMkMwTDI3JTJDMjJMMjclMkMyMnonJTIwZmlsbCUzRCclMjNmZmZmZmYnJTJGJTNFJTNDJTJGc3ZnJTNFXCIpOyB9XG5cbi5zd2lwZXItYnV0dG9uLXByZXYuc3dpcGVyLWJ1dHRvbi1ibGFjayxcbi5zd2lwZXItY29udGFpbmVyLXJ0bCAuc3dpcGVyLWJ1dHRvbi1uZXh0LnN3aXBlci1idXR0b24tYmxhY2sge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJkYXRhOmltYWdlL3N2Zyt4bWw7Y2hhcnNldD11dGYtOCwlM0NzdmclMjB4bWxucyUzRCdodHRwJTNBJTJGJTJGd3d3LnczLm9yZyUyRjIwMDAlMkZzdmcnJTIwdmlld0JveCUzRCcwJTIwMCUyMDI3JTIwNDQnJTNFJTNDcGF0aCUyMGQlM0QnTTAlMkMyMkwyMiUyQzBsMi4xJTJDMi4xTDQuMiUyQzIybDE5LjklMkMxOS45TDIyJTJDNDRMMCUyQzIyTDAlMkMyMkwwJTJDMjJ6JyUyMGZpbGwlM0QnJTIzMDAwMDAwJyUyRiUzRSUzQyUyRnN2ZyUzRVwiKTsgfVxuXG4uc3dpcGVyLWJ1dHRvbi1uZXh0LnN3aXBlci1idXR0b24tYmxhY2ssXG4uc3dpcGVyLWNvbnRhaW5lci1ydGwgLnN3aXBlci1idXR0b24tcHJldi5zd2lwZXItYnV0dG9uLWJsYWNrIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiZGF0YTppbWFnZS9zdmcreG1sO2NoYXJzZXQ9dXRmLTgsJTNDc3ZnJTIweG1sbnMlM0QnaHR0cCUzQSUyRiUyRnd3dy53My5vcmclMkYyMDAwJTJGc3ZnJyUyMHZpZXdCb3glM0QnMCUyMDAlMjAyNyUyMDQ0JyUzRSUzQ3BhdGglMjBkJTNEJ00yNyUyQzIyTDI3JTJDMjJMNSUyQzQ0bC0yLjEtMi4xTDIyLjglMkMyMkwyLjklMkMyLjFMNSUyQzBMMjclMkMyMkwyNyUyQzIyeiclMjBmaWxsJTNEJyUyMzAwMDAwMCclMkYlM0UlM0MlMkZzdmclM0VcIik7IH1cblxuLnN3aXBlci1idXR0b24tbG9jayB7XG4gIGRpc3BsYXk6IG5vbmU7IH1cblxuLnN3aXBlci1wYWdpbmF0aW9uIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIC13ZWJraXQtdHJhbnNpdGlvbjogMzAwbXMgb3BhY2l0eTtcbiAgLW8tdHJhbnNpdGlvbjogMzAwbXMgb3BhY2l0eTtcbiAgdHJhbnNpdGlvbjogMzAwbXMgb3BhY2l0eTtcbiAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICB6LWluZGV4OiAxMDsgfVxuXG4uc3dpcGVyLXBhZ2luYXRpb24uc3dpcGVyLXBhZ2luYXRpb24taGlkZGVuIHtcbiAgb3BhY2l0eTogMDsgfVxuXG4vKiBDb21tb24gU3R5bGVzICovXG4uc3dpcGVyLXBhZ2luYXRpb24tZnJhY3Rpb24sXG4uc3dpcGVyLXBhZ2luYXRpb24tY3VzdG9tLFxuLnN3aXBlci1jb250YWluZXItaG9yaXpvbnRhbCA+IC5zd2lwZXItcGFnaW5hdGlvbi1idWxsZXRzIHtcbiAgYm90dG9tOiAxMHB4O1xuICBsZWZ0OiAwO1xuICB3aWR0aDogMTAwJTsgfVxuXG4vKiBCdWxsZXRzICovXG4uc3dpcGVyLXBhZ2luYXRpb24tYnVsbGV0cy1keW5hbWljIHtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgZm9udC1zaXplOiAwOyB9XG5cbi5zd2lwZXItcGFnaW5hdGlvbi1idWxsZXRzLWR5bmFtaWMgLnN3aXBlci1wYWdpbmF0aW9uLWJ1bGxldCB7XG4gIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZSgwLjMzKTtcbiAgLW1zLXRyYW5zZm9ybTogc2NhbGUoMC4zMyk7XG4gIHRyYW5zZm9ybTogc2NhbGUoMC4zMyk7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuXG4uc3dpcGVyLXBhZ2luYXRpb24tYnVsbGV0cy1keW5hbWljIC5zd2lwZXItcGFnaW5hdGlvbi1idWxsZXQtYWN0aXZlIHtcbiAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlKDEpO1xuICAtbXMtdHJhbnNmb3JtOiBzY2FsZSgxKTtcbiAgdHJhbnNmb3JtOiBzY2FsZSgxKTsgfVxuXG4uc3dpcGVyLXBhZ2luYXRpb24tYnVsbGV0cy1keW5hbWljIC5zd2lwZXItcGFnaW5hdGlvbi1idWxsZXQtYWN0aXZlLW1haW4ge1xuICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUoMSk7XG4gIC1tcy10cmFuc2Zvcm06IHNjYWxlKDEpO1xuICB0cmFuc2Zvcm06IHNjYWxlKDEpOyB9XG5cbi5zd2lwZXItcGFnaW5hdGlvbi1idWxsZXRzLWR5bmFtaWMgLnN3aXBlci1wYWdpbmF0aW9uLWJ1bGxldC1hY3RpdmUtcHJldiB7XG4gIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZSgwLjY2KTtcbiAgLW1zLXRyYW5zZm9ybTogc2NhbGUoMC42Nik7XG4gIHRyYW5zZm9ybTogc2NhbGUoMC42Nik7IH1cblxuLnN3aXBlci1wYWdpbmF0aW9uLWJ1bGxldHMtZHluYW1pYyAuc3dpcGVyLXBhZ2luYXRpb24tYnVsbGV0LWFjdGl2ZS1wcmV2LXByZXYge1xuICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUoMC4zMyk7XG4gIC1tcy10cmFuc2Zvcm06IHNjYWxlKDAuMzMpO1xuICB0cmFuc2Zvcm06IHNjYWxlKDAuMzMpOyB9XG5cbi5zd2lwZXItcGFnaW5hdGlvbi1idWxsZXRzLWR5bmFtaWMgLnN3aXBlci1wYWdpbmF0aW9uLWJ1bGxldC1hY3RpdmUtbmV4dCB7XG4gIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZSgwLjY2KTtcbiAgLW1zLXRyYW5zZm9ybTogc2NhbGUoMC42Nik7XG4gIHRyYW5zZm9ybTogc2NhbGUoMC42Nik7IH1cblxuLnN3aXBlci1wYWdpbmF0aW9uLWJ1bGxldHMtZHluYW1pYyAuc3dpcGVyLXBhZ2luYXRpb24tYnVsbGV0LWFjdGl2ZS1uZXh0LW5leHQge1xuICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUoMC4zMyk7XG4gIC1tcy10cmFuc2Zvcm06IHNjYWxlKDAuMzMpO1xuICB0cmFuc2Zvcm06IHNjYWxlKDAuMzMpOyB9XG5cbi5zd2lwZXItcGFnaW5hdGlvbi1idWxsZXQge1xuICB3aWR0aDogOHB4O1xuICBoZWlnaHQ6IDhweDtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBib3JkZXItcmFkaXVzOiAxMDAlO1xuICBiYWNrZ3JvdW5kOiAjMDAwO1xuICBvcGFjaXR5OiAwLjI7IH1cblxuYnV0dG9uLnN3aXBlci1wYWdpbmF0aW9uLWJ1bGxldCB7XG4gIGJvcmRlcjogbm9uZTtcbiAgbWFyZ2luOiAwO1xuICBwYWRkaW5nOiAwO1xuICAtd2Via2l0LWJveC1zaGFkb3c6IG5vbmU7XG4gIGJveC1zaGFkb3c6IG5vbmU7XG4gIC13ZWJraXQtYXBwZWFyYW5jZTogbm9uZTtcbiAgLW1vei1hcHBlYXJhbmNlOiBub25lO1xuICBhcHBlYXJhbmNlOiBub25lOyB9XG5cbi5zd2lwZXItcGFnaW5hdGlvbi1jbGlja2FibGUgLnN3aXBlci1wYWdpbmF0aW9uLWJ1bGxldCB7XG4gIGN1cnNvcjogcG9pbnRlcjsgfVxuXG4uc3dpcGVyLXBhZ2luYXRpb24tYnVsbGV0LWFjdGl2ZSB7XG4gIG9wYWNpdHk6IDE7XG4gIGJhY2tncm91bmQ6ICMwMDdhZmY7IH1cblxuLnN3aXBlci1jb250YWluZXItdmVydGljYWwgPiAuc3dpcGVyLXBhZ2luYXRpb24tYnVsbGV0cyB7XG4gIHJpZ2h0OiAxMHB4O1xuICB0b3A6IDUwJTtcbiAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDBweCwgLTUwJSwgMCk7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMHB4LCAtNTAlLCAwKTsgfVxuXG4uc3dpcGVyLWNvbnRhaW5lci12ZXJ0aWNhbCA+IC5zd2lwZXItcGFnaW5hdGlvbi1idWxsZXRzIC5zd2lwZXItcGFnaW5hdGlvbi1idWxsZXQge1xuICBtYXJnaW46IDZweCAwO1xuICBkaXNwbGF5OiBibG9jazsgfVxuXG4uc3dpcGVyLWNvbnRhaW5lci12ZXJ0aWNhbCA+IC5zd2lwZXItcGFnaW5hdGlvbi1idWxsZXRzLnN3aXBlci1wYWdpbmF0aW9uLWJ1bGxldHMtZHluYW1pYyB7XG4gIHRvcDogNTAlO1xuICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKTtcbiAgLW1zLXRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKTtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpO1xuICB3aWR0aDogOHB4OyB9XG5cbi5zd2lwZXItY29udGFpbmVyLXZlcnRpY2FsID4gLnN3aXBlci1wYWdpbmF0aW9uLWJ1bGxldHMuc3dpcGVyLXBhZ2luYXRpb24tYnVsbGV0cy1keW5hbWljIC5zd2lwZXItcGFnaW5hdGlvbi1idWxsZXQge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIC13ZWJraXQtdHJhbnNpdGlvbjogMjAwbXMgdG9wLCAyMDBtcyAtd2Via2l0LXRyYW5zZm9ybTtcbiAgdHJhbnNpdGlvbjogMjAwbXMgdG9wLCAyMDBtcyAtd2Via2l0LXRyYW5zZm9ybTtcbiAgLW8tdHJhbnNpdGlvbjogMjAwbXMgdHJhbnNmb3JtLCAyMDBtcyB0b3A7XG4gIHRyYW5zaXRpb246IDIwMG1zIHRyYW5zZm9ybSwgMjAwbXMgdG9wO1xuICB0cmFuc2l0aW9uOiAyMDBtcyB0cmFuc2Zvcm0sIDIwMG1zIHRvcCwgMjAwbXMgLXdlYmtpdC10cmFuc2Zvcm07IH1cblxuLnN3aXBlci1jb250YWluZXItaG9yaXpvbnRhbCA+IC5zd2lwZXItcGFnaW5hdGlvbi1idWxsZXRzIC5zd2lwZXItcGFnaW5hdGlvbi1idWxsZXQge1xuICBtYXJnaW46IDAgNHB4OyB9XG5cbi5zd2lwZXItY29udGFpbmVyLWhvcml6b250YWwgPiAuc3dpcGVyLXBhZ2luYXRpb24tYnVsbGV0cy5zd2lwZXItcGFnaW5hdGlvbi1idWxsZXRzLWR5bmFtaWMge1xuICBsZWZ0OiA1MCU7XG4gIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC01MCUpO1xuICAtbXMtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC01MCUpO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTUwJSk7XG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7IH1cblxuLnN3aXBlci1jb250YWluZXItaG9yaXpvbnRhbCA+IC5zd2lwZXItcGFnaW5hdGlvbi1idWxsZXRzLnN3aXBlci1wYWdpbmF0aW9uLWJ1bGxldHMtZHluYW1pYyAuc3dpcGVyLXBhZ2luYXRpb24tYnVsbGV0IHtcbiAgLXdlYmtpdC10cmFuc2l0aW9uOiAyMDBtcyBsZWZ0LCAyMDBtcyAtd2Via2l0LXRyYW5zZm9ybTtcbiAgdHJhbnNpdGlvbjogMjAwbXMgbGVmdCwgMjAwbXMgLXdlYmtpdC10cmFuc2Zvcm07XG4gIC1vLXRyYW5zaXRpb246IDIwMG1zIHRyYW5zZm9ybSwgMjAwbXMgbGVmdDtcbiAgdHJhbnNpdGlvbjogMjAwbXMgdHJhbnNmb3JtLCAyMDBtcyBsZWZ0O1xuICB0cmFuc2l0aW9uOiAyMDBtcyB0cmFuc2Zvcm0sIDIwMG1zIGxlZnQsIDIwMG1zIC13ZWJraXQtdHJhbnNmb3JtOyB9XG5cbi5zd2lwZXItY29udGFpbmVyLWhvcml6b250YWwuc3dpcGVyLWNvbnRhaW5lci1ydGwgPiAuc3dpcGVyLXBhZ2luYXRpb24tYnVsbGV0cy1keW5hbWljIC5zd2lwZXItcGFnaW5hdGlvbi1idWxsZXQge1xuICAtd2Via2l0LXRyYW5zaXRpb246IDIwMG1zIHJpZ2h0LCAyMDBtcyAtd2Via2l0LXRyYW5zZm9ybTtcbiAgdHJhbnNpdGlvbjogMjAwbXMgcmlnaHQsIDIwMG1zIC13ZWJraXQtdHJhbnNmb3JtO1xuICAtby10cmFuc2l0aW9uOiAyMDBtcyB0cmFuc2Zvcm0sIDIwMG1zIHJpZ2h0O1xuICB0cmFuc2l0aW9uOiAyMDBtcyB0cmFuc2Zvcm0sIDIwMG1zIHJpZ2h0O1xuICB0cmFuc2l0aW9uOiAyMDBtcyB0cmFuc2Zvcm0sIDIwMG1zIHJpZ2h0LCAyMDBtcyAtd2Via2l0LXRyYW5zZm9ybTsgfVxuXG4vKiBQcm9ncmVzcyAqL1xuLnN3aXBlci1wYWdpbmF0aW9uLXByb2dyZXNzYmFyIHtcbiAgYmFja2dyb3VuZDogcmdiYSgwLCAwLCAwLCAwLjI1KTtcbiAgcG9zaXRpb246IGFic29sdXRlOyB9XG5cbi5zd2lwZXItcGFnaW5hdGlvbi1wcm9ncmVzc2JhciAuc3dpcGVyLXBhZ2luYXRpb24tcHJvZ3Jlc3NiYXItZmlsbCB7XG4gIGJhY2tncm91bmQ6ICMwMDdhZmY7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgbGVmdDogMDtcbiAgdG9wOiAwO1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAxMDAlO1xuICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUoMCk7XG4gIC1tcy10cmFuc2Zvcm06IHNjYWxlKDApO1xuICB0cmFuc2Zvcm06IHNjYWxlKDApO1xuICAtd2Via2l0LXRyYW5zZm9ybS1vcmlnaW46IGxlZnQgdG9wO1xuICAtbXMtdHJhbnNmb3JtLW9yaWdpbjogbGVmdCB0b3A7XG4gIHRyYW5zZm9ybS1vcmlnaW46IGxlZnQgdG9wOyB9XG5cbi5zd2lwZXItY29udGFpbmVyLXJ0bCAuc3dpcGVyLXBhZ2luYXRpb24tcHJvZ3Jlc3NiYXIgLnN3aXBlci1wYWdpbmF0aW9uLXByb2dyZXNzYmFyLWZpbGwge1xuICAtd2Via2l0LXRyYW5zZm9ybS1vcmlnaW46IHJpZ2h0IHRvcDtcbiAgLW1zLXRyYW5zZm9ybS1vcmlnaW46IHJpZ2h0IHRvcDtcbiAgdHJhbnNmb3JtLW9yaWdpbjogcmlnaHQgdG9wOyB9XG5cbi5zd2lwZXItY29udGFpbmVyLWhvcml6b250YWwgPiAuc3dpcGVyLXBhZ2luYXRpb24tcHJvZ3Jlc3NiYXIsXG4uc3dpcGVyLWNvbnRhaW5lci12ZXJ0aWNhbCA+IC5zd2lwZXItcGFnaW5hdGlvbi1wcm9ncmVzc2Jhci5zd2lwZXItcGFnaW5hdGlvbi1wcm9ncmVzc2Jhci1vcHBvc2l0ZSB7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IDRweDtcbiAgbGVmdDogMDtcbiAgdG9wOiAwOyB9XG5cbi5zd2lwZXItY29udGFpbmVyLXZlcnRpY2FsID4gLnN3aXBlci1wYWdpbmF0aW9uLXByb2dyZXNzYmFyLFxuLnN3aXBlci1jb250YWluZXItaG9yaXpvbnRhbCA+IC5zd2lwZXItcGFnaW5hdGlvbi1wcm9ncmVzc2Jhci5zd2lwZXItcGFnaW5hdGlvbi1wcm9ncmVzc2Jhci1vcHBvc2l0ZSB7XG4gIHdpZHRoOiA0cHg7XG4gIGhlaWdodDogMTAwJTtcbiAgbGVmdDogMDtcbiAgdG9wOiAwOyB9XG5cbi5zd2lwZXItcGFnaW5hdGlvbi13aGl0ZSAuc3dpcGVyLXBhZ2luYXRpb24tYnVsbGV0LWFjdGl2ZSB7XG4gIGJhY2tncm91bmQ6ICNmZmZmZmY7IH1cblxuLnN3aXBlci1wYWdpbmF0aW9uLXByb2dyZXNzYmFyLnN3aXBlci1wYWdpbmF0aW9uLXdoaXRlIHtcbiAgYmFja2dyb3VuZDogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjI1KTsgfVxuXG4uc3dpcGVyLXBhZ2luYXRpb24tcHJvZ3Jlc3NiYXIuc3dpcGVyLXBhZ2luYXRpb24td2hpdGUgLnN3aXBlci1wYWdpbmF0aW9uLXByb2dyZXNzYmFyLWZpbGwge1xuICBiYWNrZ3JvdW5kOiAjZmZmZmZmOyB9XG5cbi5zd2lwZXItcGFnaW5hdGlvbi1ibGFjayAuc3dpcGVyLXBhZ2luYXRpb24tYnVsbGV0LWFjdGl2ZSB7XG4gIGJhY2tncm91bmQ6ICMwMDAwMDA7IH1cblxuLnN3aXBlci1wYWdpbmF0aW9uLXByb2dyZXNzYmFyLnN3aXBlci1wYWdpbmF0aW9uLWJsYWNrIHtcbiAgYmFja2dyb3VuZDogcmdiYSgwLCAwLCAwLCAwLjI1KTsgfVxuXG4uc3dpcGVyLXBhZ2luYXRpb24tcHJvZ3Jlc3NiYXIuc3dpcGVyLXBhZ2luYXRpb24tYmxhY2sgLnN3aXBlci1wYWdpbmF0aW9uLXByb2dyZXNzYmFyLWZpbGwge1xuICBiYWNrZ3JvdW5kOiAjMDAwMDAwOyB9XG5cbi5zd2lwZXItcGFnaW5hdGlvbi1sb2NrIHtcbiAgZGlzcGxheTogbm9uZTsgfVxuXG4vKiBTY3JvbGxiYXIgKi9cbi5zd2lwZXItc2Nyb2xsYmFyIHtcbiAgYm9yZGVyLXJhZGl1czogMTBweDtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAtbXMtdG91Y2gtYWN0aW9uOiBub25lO1xuICBiYWNrZ3JvdW5kOiByZ2JhKDAsIDAsIDAsIDAuMSk7IH1cblxuLnN3aXBlci1jb250YWluZXItaG9yaXpvbnRhbCA+IC5zd2lwZXItc2Nyb2xsYmFyIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBsZWZ0OiAxJTtcbiAgYm90dG9tOiAzcHg7XG4gIHotaW5kZXg6IDUwO1xuICBoZWlnaHQ6IDVweDtcbiAgd2lkdGg6IDk4JTsgfVxuXG4uc3dpcGVyLWNvbnRhaW5lci12ZXJ0aWNhbCA+IC5zd2lwZXItc2Nyb2xsYmFyIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICByaWdodDogM3B4O1xuICB0b3A6IDElO1xuICB6LWluZGV4OiA1MDtcbiAgd2lkdGg6IDVweDtcbiAgaGVpZ2h0OiA5OCU7IH1cblxuLnN3aXBlci1zY3JvbGxiYXItZHJhZyB7XG4gIGhlaWdodDogMTAwJTtcbiAgd2lkdGg6IDEwMCU7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgYmFja2dyb3VuZDogcmdiYSgwLCAwLCAwLCAwLjUpO1xuICBib3JkZXItcmFkaXVzOiAxMHB4O1xuICBsZWZ0OiAwO1xuICB0b3A6IDA7IH1cblxuLnN3aXBlci1zY3JvbGxiYXItY3Vyc29yLWRyYWcge1xuICBjdXJzb3I6IG1vdmU7IH1cblxuLnN3aXBlci1zY3JvbGxiYXItbG9jayB7XG4gIGRpc3BsYXk6IG5vbmU7IH1cblxuLnN3aXBlci16b29tLWNvbnRhaW5lciB7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IDEwMCU7XG4gIGRpc3BsYXk6IC13ZWJraXQtYm94O1xuICBkaXNwbGF5OiAtd2Via2l0LWZsZXg7XG4gIGRpc3BsYXk6IC1tcy1mbGV4Ym94O1xuICBkaXNwbGF5OiBmbGV4O1xuICAtd2Via2l0LWJveC1wYWNrOiBjZW50ZXI7XG4gIC13ZWJraXQtanVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIC1tcy1mbGV4LXBhY2s6IGNlbnRlcjtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIC13ZWJraXQtYm94LWFsaWduOiBjZW50ZXI7XG4gIC13ZWJraXQtYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgLW1zLWZsZXgtYWxpZ246IGNlbnRlcjtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgdGV4dC1hbGlnbjogY2VudGVyOyB9XG5cbi5zd2lwZXItem9vbS1jb250YWluZXIgPiBpbWcsXG4uc3dpcGVyLXpvb20tY29udGFpbmVyID4gc3ZnLFxuLnN3aXBlci16b29tLWNvbnRhaW5lciA+IGNhbnZhcyB7XG4gIG1heC13aWR0aDogMTAwJTtcbiAgbWF4LWhlaWdodDogMTAwJTtcbiAgLW8tb2JqZWN0LWZpdDogY29udGFpbjtcbiAgb2JqZWN0LWZpdDogY29udGFpbjsgfVxuXG4uc3dpcGVyLXNsaWRlLXpvb21lZCB7XG4gIGN1cnNvcjogbW92ZTsgfVxuXG4vKiBQcmVsb2FkZXIgKi9cbi5zd2lwZXItbGF6eS1wcmVsb2FkZXIge1xuICB3aWR0aDogNDJweDtcbiAgaGVpZ2h0OiA0MnB4O1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGxlZnQ6IDUwJTtcbiAgdG9wOiA1MCU7XG4gIG1hcmdpbi1sZWZ0OiAtMjFweDtcbiAgbWFyZ2luLXRvcDogLTIxcHg7XG4gIHotaW5kZXg6IDEwO1xuICAtd2Via2l0LXRyYW5zZm9ybS1vcmlnaW46IDUwJTtcbiAgLW1zLXRyYW5zZm9ybS1vcmlnaW46IDUwJTtcbiAgdHJhbnNmb3JtLW9yaWdpbjogNTAlO1xuICAtd2Via2l0LWFuaW1hdGlvbjogc3dpcGVyLXByZWxvYWRlci1zcGluIDFzIHN0ZXBzKDEyLCBlbmQpIGluZmluaXRlO1xuICBhbmltYXRpb246IHN3aXBlci1wcmVsb2FkZXItc3BpbiAxcyBzdGVwcygxMiwgZW5kKSBpbmZpbml0ZTsgfVxuXG4uc3dpcGVyLWxhenktcHJlbG9hZGVyOmFmdGVyIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIGNvbnRlbnQ6ICcnO1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAxMDAlO1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJkYXRhOmltYWdlL3N2Zyt4bWw7Y2hhcnNldD11dGYtOCwlM0NzdmclMjB2aWV3Qm94JTNEJzAlMjAwJTIwMTIwJTIwMTIwJyUyMHhtbG5zJTNEJ2h0dHAlM0ElMkYlMkZ3d3cudzMub3JnJTJGMjAwMCUyRnN2ZyclMjB4bWxucyUzQXhsaW5rJTNEJ2h0dHAlM0ElMkYlMkZ3d3cudzMub3JnJTJGMTk5OSUyRnhsaW5rJyUzRSUzQ2RlZnMlM0UlM0NsaW5lJTIwaWQlM0QnbCclMjB4MSUzRCc2MCclMjB4MiUzRCc2MCclMjB5MSUzRCc3JyUyMHkyJTNEJzI3JyUyMHN0cm9rZSUzRCclMjM2YzZjNmMnJTIwc3Ryb2tlLXdpZHRoJTNEJzExJyUyMHN0cm9rZS1saW5lY2FwJTNEJ3JvdW5kJyUyRiUzRSUzQyUyRmRlZnMlM0UlM0NnJTNFJTNDdXNlJTIweGxpbmslM0FocmVmJTNEJyUyM2wnJTIwb3BhY2l0eSUzRCcuMjcnJTJGJTNFJTNDdXNlJTIweGxpbmslM0FocmVmJTNEJyUyM2wnJTIwb3BhY2l0eSUzRCcuMjcnJTIwdHJhbnNmb3JtJTNEJ3JvdGF0ZSgzMCUyMDYwJTJDNjApJyUyRiUzRSUzQ3VzZSUyMHhsaW5rJTNBaHJlZiUzRCclMjNsJyUyMG9wYWNpdHklM0QnLjI3JyUyMHRyYW5zZm9ybSUzRCdyb3RhdGUoNjAlMjA2MCUyQzYwKSclMkYlM0UlM0N1c2UlMjB4bGluayUzQWhyZWYlM0QnJTIzbCclMjBvcGFjaXR5JTNEJy4yNyclMjB0cmFuc2Zvcm0lM0Qncm90YXRlKDkwJTIwNjAlMkM2MCknJTJGJTNFJTNDdXNlJTIweGxpbmslM0FocmVmJTNEJyUyM2wnJTIwb3BhY2l0eSUzRCcuMjcnJTIwdHJhbnNmb3JtJTNEJ3JvdGF0ZSgxMjAlMjA2MCUyQzYwKSclMkYlM0UlM0N1c2UlMjB4bGluayUzQWhyZWYlM0QnJTIzbCclMjBvcGFjaXR5JTNEJy4yNyclMjB0cmFuc2Zvcm0lM0Qncm90YXRlKDE1MCUyMDYwJTJDNjApJyUyRiUzRSUzQ3VzZSUyMHhsaW5rJTNBaHJlZiUzRCclMjNsJyUyMG9wYWNpdHklM0QnLjM3JyUyMHRyYW5zZm9ybSUzRCdyb3RhdGUoMTgwJTIwNjAlMkM2MCknJTJGJTNFJTNDdXNlJTIweGxpbmslM0FocmVmJTNEJyUyM2wnJTIwb3BhY2l0eSUzRCcuNDYnJTIwdHJhbnNmb3JtJTNEJ3JvdGF0ZSgyMTAlMjA2MCUyQzYwKSclMkYlM0UlM0N1c2UlMjB4bGluayUzQWhyZWYlM0QnJTIzbCclMjBvcGFjaXR5JTNEJy41NiclMjB0cmFuc2Zvcm0lM0Qncm90YXRlKDI0MCUyMDYwJTJDNjApJyUyRiUzRSUzQ3VzZSUyMHhsaW5rJTNBaHJlZiUzRCclMjNsJyUyMG9wYWNpdHklM0QnLjY2JyUyMHRyYW5zZm9ybSUzRCdyb3RhdGUoMjcwJTIwNjAlMkM2MCknJTJGJTNFJTNDdXNlJTIweGxpbmslM0FocmVmJTNEJyUyM2wnJTIwb3BhY2l0eSUzRCcuNzUnJTIwdHJhbnNmb3JtJTNEJ3JvdGF0ZSgzMDAlMjA2MCUyQzYwKSclMkYlM0UlM0N1c2UlMjB4bGluayUzQWhyZWYlM0QnJTIzbCclMjBvcGFjaXR5JTNEJy44NSclMjB0cmFuc2Zvcm0lM0Qncm90YXRlKDMzMCUyMDYwJTJDNjApJyUyRiUzRSUzQyUyRmclM0UlM0MlMkZzdmclM0VcIik7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IDUwJTtcbiAgYmFja2dyb3VuZC1zaXplOiAxMDAlO1xuICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0OyB9XG5cbi5zd2lwZXItbGF6eS1wcmVsb2FkZXItd2hpdGU6YWZ0ZXIge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJkYXRhOmltYWdlL3N2Zyt4bWw7Y2hhcnNldD11dGYtOCwlM0NzdmclMjB2aWV3Qm94JTNEJzAlMjAwJTIwMTIwJTIwMTIwJyUyMHhtbG5zJTNEJ2h0dHAlM0ElMkYlMkZ3d3cudzMub3JnJTJGMjAwMCUyRnN2ZyclMjB4bWxucyUzQXhsaW5rJTNEJ2h0dHAlM0ElMkYlMkZ3d3cudzMub3JnJTJGMTk5OSUyRnhsaW5rJyUzRSUzQ2RlZnMlM0UlM0NsaW5lJTIwaWQlM0QnbCclMjB4MSUzRCc2MCclMjB4MiUzRCc2MCclMjB5MSUzRCc3JyUyMHkyJTNEJzI3JyUyMHN0cm9rZSUzRCclMjNmZmYnJTIwc3Ryb2tlLXdpZHRoJTNEJzExJyUyMHN0cm9rZS1saW5lY2FwJTNEJ3JvdW5kJyUyRiUzRSUzQyUyRmRlZnMlM0UlM0NnJTNFJTNDdXNlJTIweGxpbmslM0FocmVmJTNEJyUyM2wnJTIwb3BhY2l0eSUzRCcuMjcnJTJGJTNFJTNDdXNlJTIweGxpbmslM0FocmVmJTNEJyUyM2wnJTIwb3BhY2l0eSUzRCcuMjcnJTIwdHJhbnNmb3JtJTNEJ3JvdGF0ZSgzMCUyMDYwJTJDNjApJyUyRiUzRSUzQ3VzZSUyMHhsaW5rJTNBaHJlZiUzRCclMjNsJyUyMG9wYWNpdHklM0QnLjI3JyUyMHRyYW5zZm9ybSUzRCdyb3RhdGUoNjAlMjA2MCUyQzYwKSclMkYlM0UlM0N1c2UlMjB4bGluayUzQWhyZWYlM0QnJTIzbCclMjBvcGFjaXR5JTNEJy4yNyclMjB0cmFuc2Zvcm0lM0Qncm90YXRlKDkwJTIwNjAlMkM2MCknJTJGJTNFJTNDdXNlJTIweGxpbmslM0FocmVmJTNEJyUyM2wnJTIwb3BhY2l0eSUzRCcuMjcnJTIwdHJhbnNmb3JtJTNEJ3JvdGF0ZSgxMjAlMjA2MCUyQzYwKSclMkYlM0UlM0N1c2UlMjB4bGluayUzQWhyZWYlM0QnJTIzbCclMjBvcGFjaXR5JTNEJy4yNyclMjB0cmFuc2Zvcm0lM0Qncm90YXRlKDE1MCUyMDYwJTJDNjApJyUyRiUzRSUzQ3VzZSUyMHhsaW5rJTNBaHJlZiUzRCclMjNsJyUyMG9wYWNpdHklM0QnLjM3JyUyMHRyYW5zZm9ybSUzRCdyb3RhdGUoMTgwJTIwNjAlMkM2MCknJTJGJTNFJTNDdXNlJTIweGxpbmslM0FocmVmJTNEJyUyM2wnJTIwb3BhY2l0eSUzRCcuNDYnJTIwdHJhbnNmb3JtJTNEJ3JvdGF0ZSgyMTAlMjA2MCUyQzYwKSclMkYlM0UlM0N1c2UlMjB4bGluayUzQWhyZWYlM0QnJTIzbCclMjBvcGFjaXR5JTNEJy41NiclMjB0cmFuc2Zvcm0lM0Qncm90YXRlKDI0MCUyMDYwJTJDNjApJyUyRiUzRSUzQ3VzZSUyMHhsaW5rJTNBaHJlZiUzRCclMjNsJyUyMG9wYWNpdHklM0QnLjY2JyUyMHRyYW5zZm9ybSUzRCdyb3RhdGUoMjcwJTIwNjAlMkM2MCknJTJGJTNFJTNDdXNlJTIweGxpbmslM0FocmVmJTNEJyUyM2wnJTIwb3BhY2l0eSUzRCcuNzUnJTIwdHJhbnNmb3JtJTNEJ3JvdGF0ZSgzMDAlMjA2MCUyQzYwKSclMkYlM0UlM0N1c2UlMjB4bGluayUzQWhyZWYlM0QnJTIzbCclMjBvcGFjaXR5JTNEJy44NSclMjB0cmFuc2Zvcm0lM0Qncm90YXRlKDMzMCUyMDYwJTJDNjApJyUyRiUzRSUzQyUyRmclM0UlM0MlMkZzdmclM0VcIik7IH1cblxuQC13ZWJraXQta2V5ZnJhbWVzIHN3aXBlci1wcmVsb2FkZXItc3BpbiB7XG4gIDEwMCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUoMzYwZGVnKTtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZSgzNjBkZWcpOyB9IH1cblxuQGtleWZyYW1lcyBzd2lwZXItcHJlbG9hZGVyLXNwaW4ge1xuICAxMDAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlKDM2MGRlZyk7XG4gICAgdHJhbnNmb3JtOiByb3RhdGUoMzYwZGVnKTsgfSB9XG5cbi8qIGExMXkgKi9cbi5zd2lwZXItY29udGFpbmVyIC5zd2lwZXItbm90aWZpY2F0aW9uIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBsZWZ0OiAwO1xuICB0b3A6IDA7XG4gIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICBvcGFjaXR5OiAwO1xuICB6LWluZGV4OiAtMTAwMDsgfVxuXG4uc3dpcGVyLWNvbnRhaW5lci1mYWRlLnN3aXBlci1jb250YWluZXItZnJlZS1tb2RlIC5zd2lwZXItc2xpZGUge1xuICAtd2Via2l0LXRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLW91dDtcbiAgLW8tdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2Utb3V0O1xuICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1vdXQ7IH1cblxuLnN3aXBlci1jb250YWluZXItZmFkZSAuc3dpcGVyLXNsaWRlIHtcbiAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gIC13ZWJraXQtdHJhbnNpdGlvbi1wcm9wZXJ0eTogb3BhY2l0eTtcbiAgLW8tdHJhbnNpdGlvbi1wcm9wZXJ0eTogb3BhY2l0eTtcbiAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogb3BhY2l0eTsgfVxuXG4uc3dpcGVyLWNvbnRhaW5lci1mYWRlIC5zd2lwZXItc2xpZGUgLnN3aXBlci1zbGlkZSB7XG4gIHBvaW50ZXItZXZlbnRzOiBub25lOyB9XG5cbi5zd2lwZXItY29udGFpbmVyLWZhZGUgLnN3aXBlci1zbGlkZS1hY3RpdmUsXG4uc3dpcGVyLWNvbnRhaW5lci1mYWRlIC5zd2lwZXItc2xpZGUtYWN0aXZlIC5zd2lwZXItc2xpZGUtYWN0aXZlIHtcbiAgcG9pbnRlci1ldmVudHM6IGF1dG87IH1cblxuLnN3aXBlci1jb250YWluZXItY3ViZSB7XG4gIG92ZXJmbG93OiB2aXNpYmxlOyB9XG5cbi5zd2lwZXItY29udGFpbmVyLWN1YmUgLnN3aXBlci1zbGlkZSB7XG4gIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICAtd2Via2l0LWJhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlbjtcbiAgYmFja2ZhY2UtdmlzaWJpbGl0eTogaGlkZGVuO1xuICB6LWluZGV4OiAxO1xuICB2aXNpYmlsaXR5OiBoaWRkZW47XG4gIC13ZWJraXQtdHJhbnNmb3JtLW9yaWdpbjogMCAwO1xuICAtbXMtdHJhbnNmb3JtLW9yaWdpbjogMCAwO1xuICB0cmFuc2Zvcm0tb3JpZ2luOiAwIDA7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IDEwMCU7IH1cblxuLnN3aXBlci1jb250YWluZXItY3ViZSAuc3dpcGVyLXNsaWRlIC5zd2lwZXItc2xpZGUge1xuICBwb2ludGVyLWV2ZW50czogbm9uZTsgfVxuXG4uc3dpcGVyLWNvbnRhaW5lci1jdWJlLnN3aXBlci1jb250YWluZXItcnRsIC5zd2lwZXItc2xpZGUge1xuICAtd2Via2l0LXRyYW5zZm9ybS1vcmlnaW46IDEwMCUgMDtcbiAgLW1zLXRyYW5zZm9ybS1vcmlnaW46IDEwMCUgMDtcbiAgdHJhbnNmb3JtLW9yaWdpbjogMTAwJSAwOyB9XG5cbi5zd2lwZXItY29udGFpbmVyLWN1YmUgLnN3aXBlci1zbGlkZS1hY3RpdmUsXG4uc3dpcGVyLWNvbnRhaW5lci1jdWJlIC5zd2lwZXItc2xpZGUtYWN0aXZlIC5zd2lwZXItc2xpZGUtYWN0aXZlIHtcbiAgcG9pbnRlci1ldmVudHM6IGF1dG87IH1cblxuLnN3aXBlci1jb250YWluZXItY3ViZSAuc3dpcGVyLXNsaWRlLWFjdGl2ZSxcbi5zd2lwZXItY29udGFpbmVyLWN1YmUgLnN3aXBlci1zbGlkZS1uZXh0LFxuLnN3aXBlci1jb250YWluZXItY3ViZSAuc3dpcGVyLXNsaWRlLXByZXYsXG4uc3dpcGVyLWNvbnRhaW5lci1jdWJlIC5zd2lwZXItc2xpZGUtbmV4dCArIC5zd2lwZXItc2xpZGUge1xuICBwb2ludGVyLWV2ZW50czogYXV0bztcbiAgdmlzaWJpbGl0eTogdmlzaWJsZTsgfVxuXG4uc3dpcGVyLWNvbnRhaW5lci1jdWJlIC5zd2lwZXItc2xpZGUtc2hhZG93LXRvcCxcbi5zd2lwZXItY29udGFpbmVyLWN1YmUgLnN3aXBlci1zbGlkZS1zaGFkb3ctYm90dG9tLFxuLnN3aXBlci1jb250YWluZXItY3ViZSAuc3dpcGVyLXNsaWRlLXNoYWRvdy1sZWZ0LFxuLnN3aXBlci1jb250YWluZXItY3ViZSAuc3dpcGVyLXNsaWRlLXNoYWRvdy1yaWdodCB7XG4gIHotaW5kZXg6IDA7XG4gIC13ZWJraXQtYmFja2ZhY2UtdmlzaWJpbGl0eTogaGlkZGVuO1xuICBiYWNrZmFjZS12aXNpYmlsaXR5OiBoaWRkZW47IH1cblxuLnN3aXBlci1jb250YWluZXItY3ViZSAuc3dpcGVyLWN1YmUtc2hhZG93IHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBsZWZ0OiAwO1xuICBib3R0b206IDBweDtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogMTAwJTtcbiAgYmFja2dyb3VuZDogIzAwMDtcbiAgb3BhY2l0eTogMC42O1xuICAtd2Via2l0LWZpbHRlcjogYmx1cig1MHB4KTtcbiAgZmlsdGVyOiBibHVyKDUwcHgpO1xuICB6LWluZGV4OiAwOyB9XG5cbi5zd2lwZXItY29udGFpbmVyLWZsaXAge1xuICBvdmVyZmxvdzogdmlzaWJsZTsgfVxuXG4uc3dpcGVyLWNvbnRhaW5lci1mbGlwIC5zd2lwZXItc2xpZGUge1xuICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgLXdlYmtpdC1iYWNrZmFjZS12aXNpYmlsaXR5OiBoaWRkZW47XG4gIGJhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlbjtcbiAgei1pbmRleDogMTsgfVxuXG4uc3dpcGVyLWNvbnRhaW5lci1mbGlwIC5zd2lwZXItc2xpZGUgLnN3aXBlci1zbGlkZSB7XG4gIHBvaW50ZXItZXZlbnRzOiBub25lOyB9XG5cbi5zd2lwZXItY29udGFpbmVyLWZsaXAgLnN3aXBlci1zbGlkZS1hY3RpdmUsXG4uc3dpcGVyLWNvbnRhaW5lci1mbGlwIC5zd2lwZXItc2xpZGUtYWN0aXZlIC5zd2lwZXItc2xpZGUtYWN0aXZlIHtcbiAgcG9pbnRlci1ldmVudHM6IGF1dG87IH1cblxuLnN3aXBlci1jb250YWluZXItZmxpcCAuc3dpcGVyLXNsaWRlLXNoYWRvdy10b3AsXG4uc3dpcGVyLWNvbnRhaW5lci1mbGlwIC5zd2lwZXItc2xpZGUtc2hhZG93LWJvdHRvbSxcbi5zd2lwZXItY29udGFpbmVyLWZsaXAgLnN3aXBlci1zbGlkZS1zaGFkb3ctbGVmdCxcbi5zd2lwZXItY29udGFpbmVyLWZsaXAgLnN3aXBlci1zbGlkZS1zaGFkb3ctcmlnaHQge1xuICB6LWluZGV4OiAwO1xuICAtd2Via2l0LWJhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlbjtcbiAgYmFja2ZhY2UtdmlzaWJpbGl0eTogaGlkZGVuOyB9XG5cbi5zd2lwZXItY29udGFpbmVyLWNvdmVyZmxvdyAuc3dpcGVyLXdyYXBwZXIge1xuICAvKiBXaW5kb3dzIDggSUUgMTAgZml4ICovXG4gIC1tcy1wZXJzcGVjdGl2ZTogMTIwMHB4OyB9XG5cbi8qIEJhc2VcbiAgIEBtaXhpbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgVmFyaWFibGVzXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLyogTWFwc1xuPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8qXG4gICAgVGhlIG5hbWVzIGFuZCB2YWx1ZXMgb2YgdmFyaWFibGVzIGluIG1hcHMgYXJlIGp1c3Qgc3VnZ2VzdGlvbnMvcmFuZG9tIHZhbHVlcy5cbiAgICBGZWVsIGZyZWUgdG8gYWRkIG5ldyB2YWx1ZXMsIG1vZGlmeSBib3RoIHRoZSB2YWx1ZXMgYW5kL29yIGtleXMgb2YgdGhlIGl0ZW1zIGRlcGVuZGluZyBvbiB0aGUgcHJvamVjdCBhbmQgeW91ciBwcmVmZmVyZW5jZXMuXG4gICAgRm9yIGVhY2ggbWFwLCBhIGZ1bmN0aW9ucyBpcyBkZWZpbmVkIChpbiBiYXNlL19mdW5jdGlvbnMuc2NzcykuXG4gICAgQnkgZGVmYXVsdCwgZnVuY3Rpb24gbmFtZXMgYXJlIHNpbmdsZSBhIHNpbmd1bGFyIGZvcm0gb2YgdGhlIG1hcCdzIHZhcmlhYmxlIG5hbWUuXG4gICAgRWcuIFRvIHVzZSB0aGUgXCJtYWluXCIgY29sb3IsIGEgZ2V0dGVyIGZ1bmN0aW9uIFwiY29sb3JcIiBpcyBkZWZpbmVkLlxuICAgIFRvIHVzZSBpdCwgc2ltcGx5IGNhbGw6IGNvbG9yKG1haW4pLlxuKi9cbi8qIFN0YW5kYWxvbmUgdmFyaWFibGVzXG49PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIEJvZHlcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5ib2R5LnNpZGUtcGFuZWwtb3BlbiB7XG4gIG92ZXJmbG93OiBoaWRkZW47IH1cblxuaW5wdXQ6Zm9jdXMge1xuICBvdXRsaW5lOiBub25lO1xuICBib3JkZXI6IDFweCBzb2xpZCBjb2xvcihwcmltYXJ5KTsgfVxuXG4vKiBCcmVha3BvaW50cyBmb3IgaW5jbHVkZS1tZWRpYSBwbHVnaW5cbj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgTWl4aW5zXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLyogMS4gRm9udCBzbW9vdGhpbmdcbj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKiBCZXR0ZXIgZm9udC1yZW5kZXJpbmcgb24gT1NYXG4gICBodHRwczovL21heGltaWxpYW5ob2ZmbWFubi5jb20vcG9zdHMvYmV0dGVyLWZvbnQtcmVuZGVyaW5nLW9uLW9zeFxuKi9cbi8qIDIuIEEgY2xlYXJmaXggZm9yIGZsb2F0ZWQgZWxlbWVudHNcbj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKiAzLiBBcHBlbmQgYSBtb2RpZmljYXRvciBjbGFzcyB0aGF0IGNoYW5nZXMgY29sb3IvYmdcbj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgVHlwb2dyYXBoeVxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8qIEdsb2JhbCB0ZXh0c1xuPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbmh0bWwge1xuICAtd2Via2l0LWZvbnQtc21vb3RoaW5nOiBhbnRpYWxpYXNlZDtcbiAgLW1vei1vc3gtZm9udC1zbW9vdGhpbmc6IGdyYXlzY2FsZTtcbiAgZm9udC1zaXplOiAxNHB4OyB9XG5cbmJvZHkge1xuICBmb250LWZhbWlseTogUm9ib3RvLCBBcmlhbCwgc2Fucy1zZXJpZjtcbiAgY29sb3I6ICMwMDA7XG4gIGxpbmUtaGVpZ2h0OiAxLjI7IH1cblxuYSB7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICBjb2xvcjogY3VycmVudENvbG9yOyB9XG4gIGE6aG92ZXIge1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTsgfVxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuVXNlciBpbnRlcmZhY2Vcbj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4udWktbGluayB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgY29sb3I6ICMwMDk5ODg7IH1cbiAgLnVpLWxpbms6YmVmb3JlIHtcbiAgICBjb250ZW50OiAnJztcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgYm90dG9tOiAwO1xuICAgIGxlZnQ6IDA7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiAxcHg7XG4gICAgdHJhbnNpdGlvbjogMC4xOHMgY3ViaWMtYmV6aWVyKDAuNTIsIDAuMDEsIDAuMTYsIDEpO1xuICAgIHRyYW5zZm9ybTogc2NhbGVYKDApO1xuICAgIHRyYW5zZm9ybS1vcmlnaW46IDAgNTAlO1xuICAgIGJhY2tncm91bmQ6IGN1cnJlbnRDb2xvcjsgfVxuICAudWktbGluazpob3ZlcjpiZWZvcmUge1xuICAgIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC42MiwgMC4wMiwgMC4zNCwgMSk7XG4gICAgdHJhbnNpdGlvbi1kdXJhdGlvbjogLjI0cztcbiAgICB0cmFuc2Zvcm06IHNjYWxlWCgxKTsgfVxuXG4udWktYmctLWJsYWNrIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzAwMDsgfVxuXG4udWktYmctLWFsbW9zdEJsYWNrIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzFGMUYxRjsgfVxuXG4udWktYmctLXdoaXRlIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjsgfVxuXG4udWktYmctLXByaW1hcnkge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDA5OTg4OyB9XG5cbi51aS1iZy0tc2Vjb25kYXJ5IHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzAwN0M2QjsgfVxuXG4udWktYmctLWdyZXkge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjNzk3OTc5OyB9XG5cbi51aS1iZy0tZGdyZXkge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjNWM1YzVjOyB9XG5cbi51aS1iZy0tbGdyZXkge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjRDZENkQ2OyB9XG5cbi51aS1iZy0tYWxtb3N0R3JleSB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNGMEYwRjA7IH1cblxuLnVpLWJnLS1hbG1vc3RXaGl0ZSB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNGOUY5Rjk7IH1cblxuLnVpLWNvbG9yLS1ibGFjayB7XG4gIGNvbG9yOiAjMDAwOyB9XG5cbi51aS1jb2xvci0tYWxtb3N0QmxhY2sge1xuICBjb2xvcjogIzFGMUYxRjsgfVxuXG4udWktY29sb3ItLXdoaXRlIHtcbiAgY29sb3I6ICNmZmY7IH1cblxuLnVpLWNvbG9yLS1wcmltYXJ5IHtcbiAgY29sb3I6ICMwMDk5ODg7IH1cblxuLnVpLWNvbG9yLS1zZWNvbmRhcnkge1xuICBjb2xvcjogIzAwN0M2QjsgfVxuXG4udWktY29sb3ItLWdyZXkge1xuICBjb2xvcjogIzc5Nzk3OTsgfVxuXG4udWktY29sb3ItLWRncmV5IHtcbiAgY29sb3I6ICM1YzVjNWM7IH1cblxuLnVpLWNvbG9yLS1sZ3JleSB7XG4gIGNvbG9yOiAjRDZENkQ2OyB9XG5cbi51aS1jb2xvci0tYWxtb3N0R3JleSB7XG4gIGNvbG9yOiAjRjBGMEYwOyB9XG5cbi51aS1jb2xvci0tYWxtb3N0V2hpdGUge1xuICBjb2xvcjogI0Y5RjlGOTsgfVxuXG4udWktaWNvbiB7XG4gIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICB3aWR0aDogMWVtO1xuICBoZWlnaHQ6IDFlbTtcbiAgZmxleC1zaHJpbms6IDA7XG4gIGZvbnQtc2l6ZTogMWVtOyB9XG5cbi51aS11bm9yZGVyZWQtbGlzdCxcbi51aS1vcmRlcmVkLWxpc3Qge1xuICBtYXJnaW46IDA7XG4gIHBhZGRpbmc6IDA7XG4gIGxpc3Qtc3R5bGU6IG5vbmU7XG4gIHBhZGRpbmctbGVmdDogMWVtOyB9XG4gIC51aS11bm9yZGVyZWQtbGlzdCBsaSxcbiAgLnVpLW9yZGVyZWQtbGlzdCBsaSB7XG4gICAgbWFyZ2luOiAxcmVtIDA7IH1cblxuLnVpLWJ1dHRvbiB7XG4gIGhlaWdodDogMWVtO1xuICBwYWRkaW5nOiAwLjVlbSAxZW07XG4gIGJhY2tncm91bmQ6ICMwMDk5ODg7XG4gIGNvbG9yOiAjZmZmO1xuICBib3JkZXItcmFkaXVzOiA0cHg7IH1cblxuLnVpLWZvcm0gZmllbGRzZXQsIGZpZWxkc2V0LnVpLWZpZWxkc2V0IHtcbiAgbWFyZ2luOiAwO1xuICBwYWRkaW5nOiAwO1xuICBib3JkZXI6IDA7IH1cblxuLnVpLWZvcm0gaW5wdXRbdHlwZT10ZXh0XTo6LW1zLWNsZWFyLCBpbnB1dC51aS1pbnB1dFt0eXBlPXRleHRdOjotbXMtY2xlYXIge1xuICBkaXNwbGF5OiBub25lOyB9XG5cbi51aS1mb3JtIHNlbGVjdCwgc2VsZWN0LnVpLXNlbGVjdCB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgei1pbmRleDogMjtcbiAgd2lkdGg6IDEwMCU7XG4gIGJvcmRlci1yYWRpdXM6IDA7XG4gIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICBhcHBlYXJhbmNlOiBub25lOyB9XG4gIC51aS1mb3JtIHNlbGVjdDo6LW1zLWV4cGFuZCwgc2VsZWN0LnVpLXNlbGVjdDo6LW1zLWV4cGFuZCB7XG4gICAgZGlzcGxheTogbm9uZTsgfVxuXG4udWktZm9ybSB0ZXh0YXJlYSwgdGV4dGFyZWEudWktdGV4dGFyZWEge1xuICBtYXgtaGVpZ2h0OiAxMGVtO1xuICBwYWRkaW5nOiAxZW07XG4gIHJlc2l6ZTogdmVydGljYWw7IH1cblxuLnVpLWZvcm0gaW5wdXQ6OnBsYWNlaG9sZGVyLCBpbnB1dC51aS1pbnB1dDo6cGxhY2Vob2xkZXIsIGlucHV0IHRleHRhcmVhOjpwbGFjZWhvbGRlciwgLnVpLWZvcm1cbnRleHRhcmVhOjpwbGFjZWhvbGRlcixcbnRleHRhcmVhLnVpLWlucHV0OjpwbGFjZWhvbGRlcixcbnRleHRhcmVhIHRleHRhcmVhOjpwbGFjZWhvbGRlciB7XG4gIGNvbG9yOiBjdXJyZW50Q29sb3I7IH1cblxuLnVpLWZvcm0gaW5wdXQsIGlucHV0LnVpLWlucHV0LCBpbnB1dCBzZWxlY3QsIC51aS1mb3JtXG5zZWxlY3QsXG5zZWxlY3QudWktaW5wdXQsXG5zZWxlY3Qgc2VsZWN0IHtcbiAgcGFkZGluZzogMCAwLjVlbTtcbiAgaGVpZ2h0OiAycmVtOyB9XG5cbi51aS1mb3JtIGlucHV0LCBpbnB1dC51aS1pbnB1dCwgaW5wdXQgdGV4dGFyZWEsIGlucHV0IHNlbGVjdCwgLnVpLWZvcm1cbnRleHRhcmVhLFxudGV4dGFyZWEudWktaW5wdXQsXG50ZXh0YXJlYSB0ZXh0YXJlYSxcbnRleHRhcmVhIHNlbGVjdCwgLnVpLWZvcm1cbnNlbGVjdCxcbnNlbGVjdC51aS1pbnB1dCxcbnNlbGVjdCB0ZXh0YXJlYSxcbnNlbGVjdCBzZWxlY3Qge1xuICBib3JkZXItcmFkaXVzOiAwO1xuICBib3gtc2hhZG93OiBub25lOyB9XG4gIC51aS1mb3JtIGlucHV0LCAudWktZm9ybSBpbnB1dDotd2Via2l0LWF1dG9maWxsLCBpbnB1dC51aS1pbnB1dCwgaW5wdXQudWktaW5wdXQ6LXdlYmtpdC1hdXRvZmlsbCwgaW5wdXQgdGV4dGFyZWEsIGlucHV0IHRleHRhcmVhOi13ZWJraXQtYXV0b2ZpbGwsIGlucHV0IHNlbGVjdCwgaW5wdXQgc2VsZWN0Oi13ZWJraXQtYXV0b2ZpbGwsIC51aS1mb3JtXG4gIHRleHRhcmVhLCAudWktZm9ybVxuICB0ZXh0YXJlYTotd2Via2l0LWF1dG9maWxsLFxuICB0ZXh0YXJlYS51aS1pbnB1dCxcbiAgdGV4dGFyZWEudWktaW5wdXQ6LXdlYmtpdC1hdXRvZmlsbCxcbiAgdGV4dGFyZWEgdGV4dGFyZWEsXG4gIHRleHRhcmVhIHRleHRhcmVhOi13ZWJraXQtYXV0b2ZpbGwsXG4gIHRleHRhcmVhIHNlbGVjdCxcbiAgdGV4dGFyZWEgc2VsZWN0Oi13ZWJraXQtYXV0b2ZpbGwsIC51aS1mb3JtXG4gIHNlbGVjdCwgLnVpLWZvcm1cbiAgc2VsZWN0Oi13ZWJraXQtYXV0b2ZpbGwsXG4gIHNlbGVjdC51aS1pbnB1dCxcbiAgc2VsZWN0LnVpLWlucHV0Oi13ZWJraXQtYXV0b2ZpbGwsXG4gIHNlbGVjdCB0ZXh0YXJlYSxcbiAgc2VsZWN0IHRleHRhcmVhOi13ZWJraXQtYXV0b2ZpbGwsXG4gIHNlbGVjdCBzZWxlY3QsXG4gIHNlbGVjdCBzZWxlY3Q6LXdlYmtpdC1hdXRvZmlsbCB7XG4gICAgYm9yZGVyOiBzb2xpZCAxcHggIzAwOTk4ODsgfVxuICAudWktZm9ybSBpbnB1dDotd2Via2l0LWF1dG9maWxsLCBpbnB1dC51aS1pbnB1dDotd2Via2l0LWF1dG9maWxsLCBpbnB1dCB0ZXh0YXJlYTotd2Via2l0LWF1dG9maWxsLCBpbnB1dCBzZWxlY3Q6LXdlYmtpdC1hdXRvZmlsbCwgLnVpLWZvcm1cbiAgdGV4dGFyZWE6LXdlYmtpdC1hdXRvZmlsbCxcbiAgdGV4dGFyZWEudWktaW5wdXQ6LXdlYmtpdC1hdXRvZmlsbCxcbiAgdGV4dGFyZWEgdGV4dGFyZWE6LXdlYmtpdC1hdXRvZmlsbCxcbiAgdGV4dGFyZWEgc2VsZWN0Oi13ZWJraXQtYXV0b2ZpbGwsIC51aS1mb3JtXG4gIHNlbGVjdDotd2Via2l0LWF1dG9maWxsLFxuICBzZWxlY3QudWktaW5wdXQ6LXdlYmtpdC1hdXRvZmlsbCxcbiAgc2VsZWN0IHRleHRhcmVhOi13ZWJraXQtYXV0b2ZpbGwsXG4gIHNlbGVjdCBzZWxlY3Q6LXdlYmtpdC1hdXRvZmlsbCB7XG4gICAgYm94LXNoYWRvdzogbm9uZTsgfVxuICAudWktZm9ybSBpbnB1dDpmb2N1cywgaW5wdXQudWktaW5wdXQ6Zm9jdXMsIGlucHV0IHRleHRhcmVhOmZvY3VzLCBpbnB1dCBzZWxlY3Q6Zm9jdXMsIC51aS1mb3JtXG4gIHRleHRhcmVhOmZvY3VzLFxuICB0ZXh0YXJlYS51aS1pbnB1dDpmb2N1cyxcbiAgdGV4dGFyZWEgdGV4dGFyZWE6Zm9jdXMsXG4gIHRleHRhcmVhIHNlbGVjdDpmb2N1cywgLnVpLWZvcm1cbiAgc2VsZWN0OmZvY3VzLFxuICBzZWxlY3QudWktaW5wdXQ6Zm9jdXMsXG4gIHNlbGVjdCB0ZXh0YXJlYTpmb2N1cyxcbiAgc2VsZWN0IHNlbGVjdDpmb2N1cyB7XG4gICAgb3V0bGluZTogbm9uZTsgfVxuXG4vKiBMYXlvdXQgYW5kIHNlY3Rpb25zXG4gICBAbWl4aW4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIEZvb3RlclxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi5sLWZvb3RlciB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNGOUY5Rjk7IH1cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIEhlYWRlclxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi5sLWhlYWRlciB7XG4gIHBvc2l0aW9uOiBmaXhlZDtcbiAgdG9wOiAwO1xuICBsZWZ0OiAwO1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiA4MHB4O1xuICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgdHJhbnNpdGlvbjogYWxsIDAuMXMgbGluZWFyO1xuICB6LWluZGV4OiAxMDA7IH1cbiAgQG1lZGlhIChtYXgtd2lkdGg6IDEwMjRweCkge1xuICAgIC5sLWhlYWRlciB7XG4gICAgICBoZWlnaHQ6IDYwcHg7IH0gfVxuICAubC1oZWFkZXIgLmwtaW5uZXIge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgICBoZWlnaHQ6IDEwMCU7IH1cbiAgLmwtaGVhZGVyLmlzLWFjdGl2ZSwgLmwtaGVhZGVyLmlzLWFjdGl2ZS1jYXQsIC5sLWhlYWRlci5pcy1hY3RpdmUtc2VhcmNoLCAubC1oZWFkZXIuaXMtc2Nyb2xsZWQge1xuICAgIGJhY2tncm91bmQ6ICNmZmY7XG4gICAgYm94LXNoYWRvdzogMHB4IDhweCAyNHB4IC0xNXB4IGJsYWNrO1xuICAgIHRyYW5zaXRpb246IGFsbCAwLjFzIGxpbmVhcjsgfVxuICAgIC5sLWhlYWRlci5pcy1hY3RpdmUgLmMtaGVhZGVyLWJ0biAuYy1sYWJlbCwgLmwtaGVhZGVyLmlzLWFjdGl2ZSAuYy1oZWFkZXItYnRuIC5jLWxhYmVsOmJlZm9yZSwgLmwtaGVhZGVyLmlzLWFjdGl2ZSAuYy1oZWFkZXItYnRuIC5jLWxhYmVsOmFmdGVyLCAubC1oZWFkZXIuaXMtYWN0aXZlLWNhdCAuYy1oZWFkZXItYnRuIC5jLWxhYmVsLCAubC1oZWFkZXIuaXMtYWN0aXZlLWNhdCAuYy1oZWFkZXItYnRuIC5jLWxhYmVsOmJlZm9yZSwgLmwtaGVhZGVyLmlzLWFjdGl2ZS1jYXQgLmMtaGVhZGVyLWJ0biAuYy1sYWJlbDphZnRlciwgLmwtaGVhZGVyLmlzLWFjdGl2ZS1zZWFyY2ggLmMtaGVhZGVyLWJ0biAuYy1sYWJlbCwgLmwtaGVhZGVyLmlzLWFjdGl2ZS1zZWFyY2ggLmMtaGVhZGVyLWJ0biAuYy1sYWJlbDpiZWZvcmUsIC5sLWhlYWRlci5pcy1hY3RpdmUtc2VhcmNoIC5jLWhlYWRlci1idG4gLmMtbGFiZWw6YWZ0ZXIsIC5sLWhlYWRlci5pcy1zY3JvbGxlZCAuYy1oZWFkZXItYnRuIC5jLWxhYmVsLCAubC1oZWFkZXIuaXMtc2Nyb2xsZWQgLmMtaGVhZGVyLWJ0biAuYy1sYWJlbDpiZWZvcmUsIC5sLWhlYWRlci5pcy1zY3JvbGxlZCAuYy1oZWFkZXItYnRuIC5jLWxhYmVsOmFmdGVyIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICMwMDk5ODg7IH1cbiAgLmwtaGVhZGVyLmlzLWhpZGRlbiB7XG4gICAgaGVpZ2h0OiAwO1xuICAgIG92ZXJmbG93OiBoaWRkZW47IH1cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIElubmVyXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLmwtaW5uZXIge1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICB3aWR0aDogMTAwJTtcbiAgbWF4LXdpZHRoOiAxMTgwcHg7XG4gIG1hcmdpbjogMCBhdXRvO1xuICB2ZXJ0aWNhbC1hbGlnbjogYmFzZWxpbmU7IH1cbiAgQG1lZGlhIChtYXgtd2lkdGg6IDExOTlweCkge1xuICAgIC5sLWlubmVyIHtcbiAgICAgIHBhZGRpbmctcmlnaHQ6IDFlbTtcbiAgICAgIHBhZGRpbmctbGVmdDogMWVtOyB9IH1cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIE1haW4gY29udGVudFxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbioge1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94OyB9XG5cbi5sLW1haW4ge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cbiAgLmwtbWFpbi0tbGlzdCAuYy1wb3N0OmZpcnN0LWNoaWxkIHtcbiAgICBtYXJnaW4tdG9wOiAzMHB4OyB9XG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBNb2RhbCBvdmVybGF5XG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLmwtbW9kYWwtb3ZlcmxheSB7XG4gIHBvc2l0aW9uOiBmaXhlZDtcbiAgdG9wOiAwO1xuICByaWdodDogMDtcbiAgd2lkdGg6IDA7XG4gIGhlaWdodDogMTAwdmg7XG4gIGJhY2tncm91bmQtY29sb3I6ICMwMDA7XG4gIG9wYWNpdHk6IDA7XG4gIHRyYW5zaXRpb246IGFsbCAwLjJzIGxpbmVhcjtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgei1pbmRleDogMTAwOyB9XG4gIEBtZWRpYSAobWF4LXdpZHRoOiAxMDI0cHgpIHtcbiAgICAubC1tb2RhbC1vdmVybGF5LmlzLWFjdGl2ZSB7XG4gICAgICB3aWR0aDogMTAwdnc7XG4gICAgICBvcGFjaXR5OiAwLjc7XG4gICAgICB0cmFuc2l0aW9uOiBhbGwgMC4ycyBsaW5lYXI7XG4gICAgICBvdmVyZmxvdzogYXV0bzsgfSB9XG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBTZWN0aW9uc1xuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi5sLXNlY3Rpb24tLWJnLWFsdCB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNGOUY5Rjk7IH1cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIFNpZGUgcGFuZWxcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4ubC1zaWRlLXBhbmVsIHtcbiAgcG9zaXRpb246IGZpeGVkO1xuICB0b3A6IDA7XG4gIHJpZ2h0OiAtNTc2cHg7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIGhlaWdodDogMTAwdmg7XG4gIHdpZHRoOiA1NzZweDtcbiAgbWF4LXdpZHRoOiA5NXZ3O1xuICBiYWNrZ3JvdW5kOiAjZmZmO1xuICBwYWRkaW5nLXJpZ2h0OiAxZW07XG4gIHBhZGRpbmctbGVmdDogMWVtO1xuICB0cmFuc2l0aW9uOiBhbGwgMC4ycyBsaW5lYXI7XG4gIHotaW5kZXg6IDExMDsgfVxuICAubC1zaWRlLXBhbmVsLmlzLW9wZW4ge1xuICAgIHJpZ2h0OiAwO1xuICAgIG92ZXJmbG93OiBhdXRvO1xuICAgIHRyYW5zaXRpb246IGFsbCAwLjJzIGxpbmVhcjsgfVxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgU3ViIGhlYWRlclxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi5sLXN1Yi1oZWFkZXIge1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gIGJveC1zaGFkb3c6IDBweCA4cHggMjRweCAtMTVweCBibGFjazsgfVxuICAubC1zdWItaGVhZGVyLmlzLWFjdGl2ZS1zZWFyY2ggLmMtY2F0ZWdvcmllcy1zdWJtZW51LXdyYXBwZXIge1xuICAgIHRvcDogMTYwcHg7IH1cbiAgICBAbWVkaWEgKG1heC13aWR0aDogMTAyNHB4KSB7XG4gICAgICAubC1zdWItaGVhZGVyLmlzLWFjdGl2ZS1zZWFyY2ggLmMtY2F0ZWdvcmllcy1zdWJtZW51LXdyYXBwZXIge1xuICAgICAgICB0b3A6IDEyMHB4OyB9IH1cblxuLyogQ29tcG9uZW50c1xuICAgQG1peGluID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBBcHAgQ1RBXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLmMtYXBwLWN0YV9fdGl0bGUge1xuICBtYXJnaW4tdG9wOiAwO1xuICBmb250LXNpemU6IDMycHg7XG4gIG1hcmdpbi1ib3R0b206IDUwcHg7IH1cbiAgLmMtYXBwLWN0YV9fdGl0bGUgLnQtc3BlY2lhbCB7XG4gICAgY29sb3I6ICMwMDk5ODg7IH1cbiAgQG1lZGlhIChtYXgtd2lkdGg6IDEwMjRweCkge1xuICAgIC5jLWFwcC1jdGFfX3RpdGxlIHtcbiAgICAgIGZvbnQtc2l6ZTogMjhweDtcbiAgICAgIG1hcmdpbi1ib3R0b206IDI1cHg7IH0gfVxuXG4uYy1hcHAtY3RhX19jb250ZW50IHtcbiAgZm9udC1zaXplOiAxLjFyZW07XG4gIG1hcmdpbi1ib3R0b206IDUwcHg7XG4gIGxpbmUtaGVpZ2h0OiAxLjU7IH1cbiAgLmMtYXBwLWN0YV9fY29udGVudCAudC1ib2xkIHtcbiAgICBmb250LXdlaWdodDogYm9sZDsgfVxuICBAbWVkaWEgKG1heC13aWR0aDogMTAyNHB4KSB7XG4gICAgLmMtYXBwLWN0YV9fY29udGVudCB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAyNXB4OyB9IH1cblxuLmMtYXBwLWN0YV9fYWN0aW9uIHtcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0OyB9XG4gIC5jLWFwcC1jdGFfX2FjdGlvbiAuYy1saW5rOm5vdCg6bGFzdC1jaGlsZCkge1xuICAgIG1hcmdpbi1yaWdodDogMTBweDsgfVxuICAuYy1hcHAtY3RhX19hY3Rpb24gLmMtbGluayAuYy1pbWcge1xuICAgIHdpZHRoOiAxODBweDsgfVxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgQXBwIENUQSBXcmFwcGVyXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLmMtYXBwLWN0YS13cmFwcGVyIHtcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICBwYWRkaW5nOiA1MHB4IDA7IH1cbiAgLmMtYXBwLWN0YS13cmFwcGVyX19jb2wge1xuICAgIHdpZHRoOiA1MCU7XG4gICAgaGVpZ2h0OiBhdXRvOyB9XG4gICAgLmMtYXBwLWN0YS13cmFwcGVyX19jb2w6bm90KDpsYXN0LWNoaWxkKSB7XG4gICAgICBtYXJnaW4tcmlnaHQ6IDIwcHg7IH1cbiAgICAgIEBtZWRpYSAobWF4LXdpZHRoOiAxMDI0cHgpIHtcbiAgICAgICAgLmMtYXBwLWN0YS13cmFwcGVyX19jb2w6bm90KDpsYXN0LWNoaWxkKSB7XG4gICAgICAgICAgbWFyZ2luLXJpZ2h0OiAwO1xuICAgICAgICAgIG1hcmdpbi1ib3R0b206IDIwcHg7IH0gfVxuICAgIEBtZWRpYSAobWF4LXdpZHRoOiAxMDI0cHgpIHtcbiAgICAgIC5jLWFwcC1jdGEtd3JhcHBlcl9fY29sIHtcbiAgICAgICAgd2lkdGg6IDEwMCU7IH0gfVxuICBAbWVkaWEgKG1heC13aWR0aDogMTAyNHB4KSB7XG4gICAgLmMtYXBwLWN0YS13cmFwcGVyIHtcbiAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47IH0gfVxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgQmFja2dyb3VuZCBTeW1ib2xcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4uYy1iZy1zeW1ib2wge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHotaW5kZXg6IC0xO1xuICB3aWR0aDogMTAwJTsgfVxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgQnV0dG9uIEJ1dHRvbnNcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4uYy1idG4sIC5jLWJ0bi0tc21hbGwsIC5jLXNsaWRlX190YWdzX19lbGVtIC5jLWxpbmsge1xuICBib3JkZXI6IG5vbmU7XG4gIHBhZGRpbmc6IDE1cHggMjVweDtcbiAgYm9yZGVyLXJhZGl1czogMjVweDtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjtcbiAgY29sb3I6ICMwMDdDNkI7XG4gIGZvbnQtc2l6ZTogMS4xcmVtO1xuICBmb250LXdlaWdodDogYm9sZDtcbiAgYm94LXNoYWRvdzogMHB4IDhweCAyNHB4IC0xNXB4IGJsYWNrO1xuICB0cmFuc2l0aW9uOiBhbGwgMC4xcyBsaW5lYXI7XG4gIGN1cnNvcjogcG9pbnRlcjsgfVxuICAuYy1idG46aG92ZXIsIC5jLWJ0bi0tc21hbGw6aG92ZXIsIC5jLXNsaWRlX190YWdzX19lbGVtIC5jLWxpbms6aG92ZXIge1xuICAgIHRyYW5zaXRpb246IGFsbCAwLjFzIGxpbmVhcjtcbiAgICB0cmFuc2Zvcm06IHNjYWxlKDEuMSk7IH1cblxuLmMtYnRuLS1hbHQge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDA5OTg4O1xuICBjb2xvcjogI2ZmZjtcbiAgYm94LXNoYWRvdzogMHB4IDhweCAyNHB4IC0xNXB4IGJsYWNrOyB9XG5cbi5jLWJ0bi0tc21hbGwsIC5jLXNsaWRlX190YWdzX19lbGVtIC5jLWxpbmsge1xuICBwYWRkaW5nOiAxMHB4O1xuICBmb250LXNpemU6IDAuOHJlbTsgfVxuXG4uYy1idG4tLXdpZGUge1xuICBwYWRkaW5nOiAxNXB4IDUwcHg7IH1cblxuLmMtYnRuLS1hcnJvdyB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHdpZHRoOiA2MHB4O1xuICBoZWlnaHQ6IDYwcHg7XG4gIGJvdHRvbTogLTMwcHg7XG4gIHJpZ2h0OiAyMHB4O1xuICBib3JkZXItcmFkaXVzOiAxMDAlO1xuICBiYWNrZ3JvdW5kOiAjMDA5OTg4O1xuICBjb2xvcjogI2ZmZjtcbiAgdHJhbnNpdGlvbjogYWxsIDAuMXMgbGluZWFyO1xuICBjdXJzb3I6IHBvaW50ZXI7IH1cbiAgLmMtYnRuLS1hcnJvdzpob3ZlciB7XG4gICAgdHJhbnNmb3JtOiBzY2FsZSgxLjEpO1xuICAgIHRyYW5zaXRpb246IGFsbCAwLjFzIGxpbmVhcjsgfVxuICAuYy1idG4tLWFycm93IC51aS1pY29uIHtcbiAgICBmb250LXNpemU6IDJlbTtcbiAgICBjb2xvcjogd2hpdGU7XG4gICAgZmlsbDogY3VycmVudENvbG9yOyB9XG5cbi5jLWJ0bi0tYXJyb3ctc21hbGwge1xuICBkaXNwbGF5OiBmbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB3aWR0aDogNTJweDtcbiAgaGVpZ2h0OiA1MnB4O1xuICBib3R0b206IC0yNnB4O1xuICByaWdodDogMjBweDtcbiAgYm9yZGVyLXJhZGl1czogMTAwJTtcbiAgYmFja2dyb3VuZDogIzAwOTk4ODtcbiAgY29sb3I6ICNmZmY7XG4gIHRyYW5zaXRpb246IGFsbCAwLjFzIGxpbmVhcjtcbiAgY3Vyc29yOiBwb2ludGVyOyB9XG4gIC5jLWJ0bi0tYXJyb3ctc21hbGw6aG92ZXIge1xuICAgIHRyYW5zZm9ybTogc2NhbGUoMS4xKTtcbiAgICB0cmFuc2l0aW9uOiBhbGwgMC4xcyBsaW5lYXI7IH1cbiAgLmMtYnRuLS1hcnJvdy1zbWFsbCAudWktaWNvbiB7XG4gICAgZm9udC1zaXplOiAxLjI1ZW07XG4gICAgY29sb3I6IHdoaXRlO1xuICAgIGZpbGw6IGN1cnJlbnRDb2xvcjsgfVxuXG4uYy1idG4tLWFycm93LWRvd24ge1xuICByaWdodDogdW5zZXQ7IH1cbiAgLmMtYnRuLS1hcnJvdy1kb3duIC51aS1pY29uIHtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZSg5MGRlZyk7IH1cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIEJ1dHRvbiBXcmFwcGVyXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLmMtYnRuLXdyYXBwZXIge1xuICBkaXNwbGF5OiBmbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgcGFkZGluZzogMTVweCAwIDI1cHggMDsgfVxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgQ2F0ZWdvcmllcyBTdWJtZW51XG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLmMtY2F0ZWdvcmllcy1zdWJtZW51IHtcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0O1xuICBsaXN0LXN0eWxlOiBub25lO1xuICBwYWRkaW5nOiAwO1xuICBtYXJnaW46IDA7IH1cbiAgLmMtY2F0ZWdvcmllcy1zdWJtZW51X19lbGVtIHtcbiAgICBwYWRkaW5nOiAyMHB4OyB9XG4gICAgLmMtY2F0ZWdvcmllcy1zdWJtZW51X19lbGVtIC5jLWxpbms6aG92ZXIgLmMtbGFiZWwge1xuICAgICAgY29sb3I6ICMwMDdDNkI7XG4gICAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTsgfVxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgQ2F0ZWdvcmllcyBTdWJtZW51IFdyYXBwZXJcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4uYy1jYXRlZ29yaWVzLXN1Ym1lbnUtd3JhcHBlciB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICBwb3NpdGlvbjogZml4ZWQ7XG4gIHRvcDogODBweDtcbiAgbGVmdDogMDtcbiAgaGVpZ2h0OiAwO1xuICB3aWR0aDogMTAwJTtcbiAgYmFja2dyb3VuZC1jb2xvcjogI0Y5RjlGOTtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgdHJhbnNpdGlvbjogYWxsIDAuMXMgbGluZWFyO1xuICBib3gtc2hhZG93OiAwcHggOHB4IDI0cHggLTE1cHggYmxhY2s7XG4gIHotaW5kZXg6IDk5OyB9XG4gIC5jLWNhdGVnb3JpZXMtc3VibWVudS13cmFwcGVyLmlzLW9wZW4ge1xuICAgIGhlaWdodDogODBweDtcbiAgICBvdmVyZmxvdzogYXV0bztcbiAgICB0cmFuc2l0aW9uOiBhbGwgMC4xcyBsaW5lYXI7IH1cbiAgICBAbWVkaWEgKG1heC13aWR0aDogMTAyNHB4KSB7XG4gICAgICAuYy1jYXRlZ29yaWVzLXN1Ym1lbnUtd3JhcHBlci5pcy1vcGVuIHtcbiAgICAgICAgaGVpZ2h0OiA2MHB4OyB9IH1cbiAgQG1lZGlhIChtYXgtd2lkdGg6IDEwMjRweCkge1xuICAgIC5jLWNhdGVnb3JpZXMtc3VibWVudS13cmFwcGVyIHtcbiAgICAgIHRvcDogNjBweDsgfSB9XG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBTaW5nbGUgQ29tbWVudFxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi5jLWNvbW1lbnQge1xuICBtYXJnaW46IDA7XG4gIHBhZGRpbmc6IDE1cHggMDtcbiAgY29sb3I6ICMxRjFGMUY7IH1cbiAgLmMtY29tbWVudDpub3QoOmZpcnN0LWNoaWxkKSB7XG4gICAgbWFyZ2luLXRvcDogMTVweDsgfVxuICAuYy1jb21tZW50X19hdXRob3Ige1xuICAgIG1hcmdpbjogMDtcbiAgICBwYWRkaW5nLWJvdHRvbTogMTVweDsgfVxuICAuYy1jb21tZW50X19kYXRlIHtcbiAgICBtYXJnaW46IDA7XG4gICAgcGFkZGluZy1ib3R0b206IDE1cHg7XG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICBmb250LXdlaWdodDogYm9sZDtcbiAgICBmb250LXNpemU6IDE0cHg7IH1cbiAgICBAbWVkaWEgKG1heC13aWR0aDogMTAyNHB4KSB7XG4gICAgICAuYy1jb21tZW50X19kYXRlIHtcbiAgICAgICAgZm9udC1zaXplOiAxM3B4OyB9IH1cbiAgLmMtY29tbWVudF9fY29udGVudCB7XG4gICAgY29sb3I6ICM3OTc5Nzk7XG4gICAgcGFkZGluZzogMTBweCAwIDAgMDtcbiAgICBsaW5lLWhlaWdodDogMS42OyB9XG4gICAgLmMtY29tbWVudF9fY29udGVudCBwIHtcbiAgICAgIG1hcmdpbi10b3A6IDA7IH1cbiAgLmMtY29tbWVudF9fcmVwbHkge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kOyB9XG4gICAgLmMtY29tbWVudF9fcmVwbHkgYSB7XG4gICAgICBjb2xvcjogIzAwOTk4ODsgfVxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgQ29tbWVudCBmb3JtXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLmMtY29tbWVudC1mb3JtIHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgZmxleC13cmFwOiB3cmFwO1xuICBhbGlnbi1pdGVtczogZmxleC1zdGFydDtcbiAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuOyB9XG4gIC5jLWNvbW1lbnQtZm9ybSAudy0xMDAsIC5jLWNvbW1lbnQtZm9ybSAubG9nZ2VkLWluLWFzLCAuYy1jb21tZW50LWZvcm0gLmMtY29tbWVudC1mb3JtX19jb21tZW50LCAuYy1jb21tZW50LWZvcm0gLmNvbW1lbnQtZm9ybS1jb29raWVzLWNvbnNlbnQsIC5jLWNvbW1lbnQtZm9ybSAuZm9ybS1zdWJtaXQge1xuICAgIHdpZHRoOiAxMDAlOyB9XG4gIC5jLWNvbW1lbnQtZm9ybSAudy01MCwgLmMtY29tbWVudC1mb3JtIC5jLWNvbW1lbnQtZm9ybV9fYXV0aG9yLCAuYy1jb21tZW50LWZvcm0gLmMtY29tbWVudC1mb3JtX19lbWFpbCB7XG4gICAgd2lkdGg6IGNhbGMoNTAlIC0gNy41cHgpOyB9XG4gIC5jLWNvbW1lbnQtZm9ybSBwIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgcGFkZGluZzogMDtcbiAgICBtYXJnaW46IDA7IH1cbiAgICAuYy1jb21tZW50LWZvcm0gcDpub3QoOmxhc3Qtb2YtdHlwZSkge1xuICAgICAgbWFyZ2luLWJvdHRvbTogMTVweDsgfVxuICAuYy1jb21tZW50LWZvcm0gbGFiZWwge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDA7XG4gICAgbGVmdDogMDtcbiAgICBmb250LXNpemU6IDE4cHg7XG4gICAgbGluZS1oZWlnaHQ6IDQ2cHg7XG4gICAgaGVpZ2h0OiA0NnB4O1xuICAgIGNvbG9yOiAjMDA5OTg4OyB9XG4gIC5jLWNvbW1lbnQtZm9ybSBpbnB1dFt0eXBlPVwidGV4dFwiXSwgLmMtY29tbWVudC1mb3JtIHRleHRhcmVhIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBtYXJnaW46IDA7XG4gICAgYm9yZGVyOiAwO1xuICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjRDZENkQ2O1xuICAgIGZvbnQtc2l6ZTogMThweDsgfVxuICAuYy1jb21tZW50LWZvcm0gaW5wdXRbdHlwZT1cInRleHRcIl0ge1xuICAgIGxpbmUtaGVpZ2h0OiA0NnB4O1xuICAgIGhlaWdodDogNDZweDsgfVxuICAuYy1jb21tZW50LWZvcm0gdGV4dGFyZWEge1xuICAgIGxpbmUtaGVpZ2h0OiAzMHB4O1xuICAgIHJlc2l6ZTogbm9uZTsgfVxuICAuYy1jb21tZW50LWZvcm0gLmxvZ2dlZC1pbi1hcyB7XG4gICAgb3JkZXI6IDA7IH1cbiAgLmMtY29tbWVudC1mb3JtX19hdXRob3Ige1xuICAgIG9yZGVyOiAxOyB9XG4gIC5jLWNvbW1lbnQtZm9ybV9fZW1haWwge1xuICAgIG9yZGVyOiAyOyB9XG4gIC5jLWNvbW1lbnQtZm9ybV9fY29tbWVudCB7XG4gICAgb3JkZXI6IDM7IH1cbiAgLmMtY29tbWVudC1mb3JtIC5jb21tZW50LWZvcm0tY29va2llcy1jb25zZW50IHtcbiAgICBvcmRlcjogNDsgfVxuICAgIC5jLWNvbW1lbnQtZm9ybSAuY29tbWVudC1mb3JtLWNvb2tpZXMtY29uc2VudCBsYWJlbCB7XG4gICAgICBsaW5lLWhlaWdodDogMS4xO1xuICAgICAgcGFkZGluZy1sZWZ0OiAyNXB4OyB9XG4gIC5jLWNvbW1lbnQtZm9ybSAuZm9ybS1zdWJtaXQge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICBvcmRlcjogNTsgfVxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgQ29tbWVudCBsaXN0XG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLmMtY29tbWVudC1saXN0IHtcbiAgbGlzdC1zdHlsZTogbm9uZTtcbiAgcGFkZGluZzogMDsgfVxuICAuYy1jb21tZW50LWxpc3RfX3N1YiB7XG4gICAgcGFkZGluZzogMDtcbiAgICBsaXN0LXN0eWxlOiBub25lO1xuICAgIG1hcmdpbjogMTVweCAwIDE1cHggMTVweDsgfVxuICAgIC5jLWNvbW1lbnQtbGlzdF9fc3ViIC5jLWNvbW1lbnQge1xuICAgICAgcGFkZGluZzogMjVweDtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICNGOUY5Rjk7IH1cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIERvd25sb2FkIEltZ1xuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi5jLWRvd25sb2FkLWltZyB7XG4gIHdpZHRoOiAxODBweDtcbiAgbWFyZ2luLXJpZ2h0OiAxMHB4OyB9XG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gIEZsb2F0aW5nIENUQVxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi5jLWZsb2F0aW5nLWN0YSB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gIG1heC13aWR0aDogMTAwJTtcbiAgcG9zaXRpb246IGZpeGVkO1xuICBsZWZ0OiAwO1xuICBib3R0b206IDA7XG4gIHBhZGRpbmc6IDIwcHg7XG4gIHotaW5kZXg6IDk5OTsgfVxuICAuYy1mbG9hdGluZy1jdGFfX3dyYXBwZXIge1xuICAgIGJhY2tncm91bmQtY29sb3I6IHdoaXRlO1xuICAgIGJveC1zaGFkb3c6IDBweCA4cHggMjRweCAtMTVweCBibGFjaztcbiAgICBwYWRkaW5nOiAyNXB4IDM1cHg7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0OyB9XG4gIC5jLWZsb2F0aW5nLWN0YV9fdGV4dCB7XG4gICAgbWFyZ2luOiAwO1xuICAgIHBhZGRpbmc6IDA7XG4gICAgbWFyZ2luLXJpZ2h0OiAzMHB4OyB9XG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBGb290ZXIgTmF2XG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLmMtZm9vdGVyLW5hdiB7XG4gIGxpc3Qtc3R5bGU6IG5vbmU7XG4gIG1hcmdpbjogMDtcbiAgcGFkZGluZzogMDtcbiAgbWFyZ2luLXRvcDogMTVweDsgfVxuICAuYy1mb290ZXItbmF2X19pdGVtIHtcbiAgICBwYWRkaW5nLWJvdHRvbTogMTVweDsgfVxuICAgIC5jLWZvb3Rlci1uYXZfX2l0ZW06aG92ZXIgLmMtbGluayB7XG4gICAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTsgfVxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgRm9vdGVyIFNlY3Rpb25cbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4uYy1mb290ZXItc2VjdGlvbiB7XG4gIHdpZHRoOiAyNSU7IH1cbiAgLmMtZm9vdGVyLXNlY3Rpb246bm90KDpsYXN0LWNoaWxkKSB7XG4gICAgbWFyZ2luLXJpZ2h0OiAyNXB4OyB9XG4gIC5jLWZvb3Rlci1zZWN0aW9uOmZpcnN0LWNoaWxkIHtcbiAgICBtYXJnaW4tcmlnaHQ6IGF1dG87IH1cbiAgLmMtZm9vdGVyLXNlY3Rpb24tLXdpZGUge1xuICAgIHdpZHRoOiAzMyU7IH1cbiAgLmMtZm9vdGVyLXNlY3Rpb24gLmMtc29jaWFsLW5hdiB7XG4gICAganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0OyB9XG4gIC5jLWZvb3Rlci1zZWN0aW9uX190aXRsZSB7XG4gICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gICAgbGV0dGVyLXNwYWNpbmc6IDFweDtcbiAgICBmb250LXNpemU6IDE1cHg7XG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICBtYXJnaW4tYm90dG9tOiAzMHB4OyB9XG4gICAgQG1lZGlhIChtYXgtd2lkdGg6IDc2N3B4KSB7XG4gICAgICAuYy1mb290ZXItc2VjdGlvbl9fdGl0bGUge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiBpbml0aWFsOyB9IH1cbiAgLmMtZm9vdGVyLXNlY3Rpb25fX2NvbnRlbnQge1xuICAgIG1hcmdpbi1ib3R0b206IDE1cHg7XG4gICAgbGluZS1oZWlnaHQ6IDEuNTsgfVxuICAuYy1mb290ZXItc2VjdGlvbl9fcm93IHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICAgIG1hcmdpbi10b3A6IDE1cHg7IH1cbiAgICAuYy1mb290ZXItc2VjdGlvbl9fcm93IC5jLWxpbms6bm90KDpsYXN0LWNoaWxkKSB7XG4gICAgICBtYXJnaW4tcmlnaHQ6IDE1cHg7IH1cbiAgQG1lZGlhIChtYXgtd2lkdGg6IDEwMjRweCkge1xuICAgIC5jLWZvb3Rlci1zZWN0aW9uIHtcbiAgICAgIHdpZHRoOiA1MCU7IH1cbiAgICAgIC5jLWZvb3Rlci1zZWN0aW9uOm5vdCg6bGFzdC1jaGlsZCkge1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDQwcHg7IH1cbiAgICAgIC5jLWZvb3Rlci1zZWN0aW9uOm50aC1jaGlsZCgyKSB7XG4gICAgICAgIHBhZGRpbmctcmlnaHQ6IDI1cHg7IH1cbiAgICAgIC5jLWZvb3Rlci1zZWN0aW9uLS13aWRlIHtcbiAgICAgICAgd2lkdGg6IDEwMCU7IH0gfVxuICBAbWVkaWEgKG1heC13aWR0aDogNzY3cHgpIHtcbiAgICAuYy1mb290ZXItc2VjdGlvbiB7XG4gICAgICB3aWR0aDogMTAwJTsgfVxuICAgICAgLmMtZm9vdGVyLXNlY3Rpb246bnRoLWNoaWxkKDIpIHtcbiAgICAgICAgcGFkZGluZy1yaWdodDogMDsgfVxuICAgICAgLmMtZm9vdGVyLXNlY3Rpb246bm90KDpsYXN0LWNoaWxkKSB7XG4gICAgICAgIG1hcmdpbi1yaWdodDogMDtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMzBweDsgfSB9XG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBGb290ZXIgV3JhcHBlclxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi5jLWZvb3Rlci13cmFwcGVyIHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgcGFkZGluZzogMzBweCAwOyB9XG4gIC5jLWZvb3Rlci13cmFwcGVyX19yb3cge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7XG4gICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICAgIHdpZHRoOiAxMDAlOyB9XG4gICAgLmMtZm9vdGVyLXdyYXBwZXJfX3Jvdzpub3QoOmxhc3QtY2hpbGQpIHtcbiAgICAgIHBhZGRpbmctYm90dG9tOiA0MHB4OyB9XG4gICAgQG1lZGlhIChtYXgtd2lkdGg6IDEwMjRweCkge1xuICAgICAgLmMtZm9vdGVyLXdyYXBwZXJfX3JvdyB7XG4gICAgICAgIGZsZXgtd3JhcDogd3JhcDsgfVxuICAgICAgICAuYy1mb290ZXItd3JhcHBlcl9fcm93Om5vdCg6bGFzdC1jaGlsZCkge1xuICAgICAgICAgIHBhZGRpbmctYm90dG9tOiAwOyB9IH1cbiAgQG1lZGlhIChtYXgtd2lkdGg6IDc2N3B4KSB7XG4gICAgLmMtZm9vdGVyLXdyYXBwZXIge1xuICAgICAgcGFkZGluZzogMTVweCAwOyB9IH1cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbkZvcm1zXG49PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIEhlYWRlciBCdXR0b25cbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4uYy1oZWFkZXItYnRuIHtcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgaGVpZ2h0OiAxMDAlOyB9XG4gIC5jLWhlYWRlci1idG4gLmMtaGVhZGVyLWJ0bl9fYWN0aW9uIHtcbiAgICBjdXJzb3I6IHBvaW50ZXI7IH1cbiAgLmMtaGVhZGVyLWJ0bi0tYnVyZ2VyIC5jLWhlYWRlci1idG5fX2FjdGlvbiB7XG4gICAgYm9yZGVyOiBub25lO1xuICAgIGZvbnQtc2l6ZTogMHB4O1xuICAgIGJhY2tncm91bmQ6IG5vbmU7XG4gICAgcGFkZGluZzogMjBweCAxMHB4OyB9XG4gICAgLmMtaGVhZGVyLWJ0bi0tYnVyZ2VyIC5jLWhlYWRlci1idG5fX2FjdGlvbiAuYy1sYWJlbCB7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgIGJhY2tncm91bmQ6IHdoaXRlO1xuICAgICAgd2lkdGg6IDMwcHg7XG4gICAgICBoZWlnaHQ6IDJweDtcbiAgICAgIGJvcmRlci1yYWRpdXM6IDJweDsgfVxuICAgICAgLmMtaGVhZGVyLWJ0bi0tYnVyZ2VyIC5jLWhlYWRlci1idG5fX2FjdGlvbiAuYy1sYWJlbDphZnRlciwgLmMtaGVhZGVyLWJ0bi0tYnVyZ2VyIC5jLWhlYWRlci1idG5fX2FjdGlvbiAuYy1sYWJlbDpiZWZvcmUge1xuICAgICAgICBjb250ZW50OiAnJztcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgd2lkdGg6IDMwcHg7XG4gICAgICAgIGhlaWdodDogMnB4O1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xuICAgICAgICBsZWZ0OiAwOyB9XG4gICAgICAuYy1oZWFkZXItYnRuLS1idXJnZXIgLmMtaGVhZGVyLWJ0bl9fYWN0aW9uIC5jLWxhYmVsOmFmdGVyIHtcbiAgICAgICAgdG9wOiA4cHg7IH1cbiAgICAgIC5jLWhlYWRlci1idG4tLWJ1cmdlciAuYy1oZWFkZXItYnRuX19hY3Rpb24gLmMtbGFiZWw6YmVmb3JlIHtcbiAgICAgICAgdG9wOiAtOHB4OyB9XG4gICAgLmMtaGVhZGVyLWJ0bi0tYnVyZ2VyIC5jLWhlYWRlci1idG5fX2FjdGlvbi5pcy1hY3RpdmUgLmMtbGFiZWwge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgICB0cmFuc2l0aW9uOiBhbGwgMC4xcyBsaW5lYXI7IH1cbiAgICAgIC5jLWhlYWRlci1idG4tLWJ1cmdlciAuYy1oZWFkZXItYnRuX19hY3Rpb24uaXMtYWN0aXZlIC5jLWxhYmVsOmFmdGVyLCAuYy1oZWFkZXItYnRuLS1idXJnZXIgLmMtaGVhZGVyLWJ0bl9fYWN0aW9uLmlzLWFjdGl2ZSAuYy1sYWJlbDpiZWZvcmUge1xuICAgICAgICB0b3A6IDA7XG4gICAgICAgIHRyYW5zaXRpb246IGFsbCAwLjFzIGxpbmVhcjsgfVxuICAgICAgLmMtaGVhZGVyLWJ0bi0tYnVyZ2VyIC5jLWhlYWRlci1idG5fX2FjdGlvbi5pcy1hY3RpdmUgLmMtbGFiZWw6YWZ0ZXIge1xuICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSg0NWRlZyk7IH1cbiAgICAgIC5jLWhlYWRlci1idG4tLWJ1cmdlciAuYy1oZWFkZXItYnRuX19hY3Rpb24uaXMtYWN0aXZlIC5jLWxhYmVsOmJlZm9yZSB7XG4gICAgICAgIHRyYW5zZm9ybTogcm90YXRlKC00NWRlZyk7IH1cbiAgQG1lZGlhIChtaW4td2lkdGg6IDEwMjVweCkge1xuICAgIC5jLWhlYWRlci1idG4tLWJ1cmdlciB7XG4gICAgICBkaXNwbGF5OiBub25lOyB9IH1cbiAgLmMtaGVhZGVyLWJ0bi0tc2VhcmNoIC5jLWhlYWRlci1idG5fX2FjdGlvbiB7XG4gICAgYm9yZGVyOiBub25lO1xuICAgIGJhY2tncm91bmQ6IG5vbmU7XG4gICAgcGFkZGluZzogMTBweDsgfVxuICAgIC5jLWhlYWRlci1idG4tLXNlYXJjaCAuYy1oZWFkZXItYnRuX19hY3Rpb246aG92ZXIge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogd2hpdGU7XG4gICAgICBib3JkZXItcmFkaXVzOiA1MCU7IH1cbiAgICAgIC5jLWhlYWRlci1idG4tLXNlYXJjaCAuYy1oZWFkZXItYnRuX19hY3Rpb246aG92ZXIgLnVpLWljb24ge1xuICAgICAgICBjb2xvcjogIzAwOTk4ODtcbiAgICAgICAgZmlsbDogY3VycmVudENvbG9yOyB9XG4gICAgLmMtaGVhZGVyLWJ0bi0tc2VhcmNoIC5jLWhlYWRlci1idG5fX2FjdGlvbiAuYy1sYWJlbCB7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIHdpZHRoOiAzMHB4O1xuICAgICAgaGVpZ2h0OiAzMHB4O1xuICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiLi4vaW1nL3NlYXJjaC5zdmdcIik7XG4gICAgICBiYWNrZ3JvdW5kLXNpemU6IGNvbnRhaW47IH1cbiAgICAuYy1oZWFkZXItYnRuLS1zZWFyY2ggLmMtaGVhZGVyLWJ0bl9fYWN0aW9uIC51aS1pY29uIHtcbiAgICAgIGZvbnQtc2l6ZTogMS41ZW07XG4gICAgICBjb2xvcjogI2ZmZjtcbiAgICAgIGZpbGw6IGN1cnJlbnRDb2xvcjsgfVxuICAgIC5jLWhlYWRlci1idG4tLXNlYXJjaCAuYy1oZWFkZXItYnRuX19hY3Rpb24uaXMtb3BlbiB7XG4gICAgICBvcGFjaXR5OiAuODsgfVxuICAgICAgLmMtaGVhZGVyLWJ0bi0tc2VhcmNoIC5jLWhlYWRlci1idG5fX2FjdGlvbi5pcy1vcGVuIC51aS1pY29uIHtcbiAgICAgICAgY29sb3I6ICMwMDk5ODg7IH1cbiAgQG1lZGlhIChtYXgtd2lkdGg6IDEwMjRweCkge1xuICAgIC5jLWhlYWRlci1idG4tLXNlYXJjaCB7XG4gICAgICBkaXNwbGF5OiBub25lOyB9IH1cbiAgLmMtaGVhZGVyLWJ0bi0tZGFyayAuYy1oZWFkZXItYnRuX19hY3Rpb24gLmMtbGFiZWwge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICMwMDk5ODg7IH1cbiAgICAuYy1oZWFkZXItYnRuLS1kYXJrIC5jLWhlYWRlci1idG5fX2FjdGlvbiAuYy1sYWJlbDphZnRlciwgLmMtaGVhZGVyLWJ0bi0tZGFyayAuYy1oZWFkZXItYnRuX19hY3Rpb24gLmMtbGFiZWw6YmVmb3JlIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICMwMDk5ODg7IH1cblxuLmwtaGVhZGVyLmlzLWFjdGl2ZSAuYy1oZWFkZXItYnRuX19hY3Rpb24gLmMtbGFiZWwsIC5sLWhlYWRlci5pcy1hY3RpdmUgLmMtaGVhZGVyLWJ0bl9fYWN0aW9uIC5jLWxhYmVsOmJlZm9yZSwgLmwtaGVhZGVyLmlzLWFjdGl2ZSAuYy1oZWFkZXItYnRuX19hY3Rpb24gLmMtbGFiZWw6YWZ0ZXIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDA5OTg4O1xuICB0cmFuc2l0aW9uOiBhbGwgMC4xcyBsaW5lYXI7IH1cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIEhlYWRlciBuYXZcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4uYy1oZWFkZXItbmF2LXdyYXBwZXIge1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjsgfVxuXG4uYy1oZWFkZXItbmF2IHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgbWFyZ2luOiAwO1xuICBwYWRkaW5nOiAwOyB9XG4gIC5jLWhlYWRlci1uYXZfX2l0ZW0ge1xuICAgIGxpc3Qtc3R5bGU6IG5vbmU7XG4gICAgbWFyZ2luOiAwIDE1cHg7XG4gICAgZm9udC1zaXplOiAxLjFyZW07IH1cbiAgICAuYy1oZWFkZXItbmF2X19pdGVtOmZpcnN0LWNoaWxkIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7IH1cbiAgICAuYy1oZWFkZXItbmF2X19pdGVtLm1lbnUtaXRlbS1oYXMtY2hpbGRyZW4ge1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlOyB9XG4gICAgICAuYy1oZWFkZXItbmF2X19pdGVtLm1lbnUtaXRlbS1oYXMtY2hpbGRyZW4gLmMtbGluayB7XG4gICAgICAgIHBhZGRpbmctcmlnaHQ6IDMwcHg7IH1cbiAgICAgIC5jLWhlYWRlci1uYXZfX2l0ZW0ubWVudS1pdGVtLWhhcy1jaGlsZHJlbiAuYy1sYWJlbDpiZWZvcmUsIC5jLWhlYWRlci1uYXZfX2l0ZW0ubWVudS1pdGVtLWhhcy1jaGlsZHJlbiAuYy1sYWJlbDphZnRlciB7XG4gICAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICB3aWR0aDogOHB4O1xuICAgICAgICBoZWlnaHQ6IDJweDtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjsgfVxuICAgICAgLmMtaGVhZGVyLW5hdl9faXRlbS5tZW51LWl0ZW0taGFzLWNoaWxkcmVuIC5jLWxhYmVsOmJlZm9yZSB7XG4gICAgICAgIHRvcDogOHB4O1xuICAgICAgICByaWdodDogMTBweDtcbiAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoLTQ1ZGVnKTsgfVxuICAgICAgLmMtaGVhZGVyLW5hdl9faXRlbS5tZW51LWl0ZW0taGFzLWNoaWxkcmVuIC5jLWxhYmVsOmFmdGVyIHtcbiAgICAgICAgdG9wOiA4cHg7XG4gICAgICAgIHJpZ2h0OiAxNXB4O1xuICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSg0NWRlZyk7IH1cbiAgICAgIC5jLWhlYWRlci1uYXZfX2l0ZW0ubWVudS1pdGVtLWhhcy1jaGlsZHJlbjpob3ZlciAuYy1sYWJlbCB7XG4gICAgICAgIGNvbG9yOiAjMDA5OTg4OyB9XG4gICAgICAgIC5jLWhlYWRlci1uYXZfX2l0ZW0ubWVudS1pdGVtLWhhcy1jaGlsZHJlbjpob3ZlciAuYy1sYWJlbDpiZWZvcmUsIC5jLWhlYWRlci1uYXZfX2l0ZW0ubWVudS1pdGVtLWhhcy1jaGlsZHJlbjpob3ZlciAuYy1sYWJlbDphZnRlciB7XG4gICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzAwN0M2QjsgfVxuICAgIC5jLWhlYWRlci1uYXZfX2l0ZW0uY3VycmVudC1tZW51LWl0ZW0ge1xuICAgICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gICAgICBjb2xvcjogIzAwN0M2QjsgfVxuICAgIC5jLWhlYWRlci1uYXZfX2l0ZW0uaXMtb3BlbiB7XG4gICAgICBmb250LXdlaWdodDogYm9sZDsgfVxuICAgIC5jLWhlYWRlci1uYXZfX2l0ZW0gLmMtbGluayB7XG4gICAgICBwYWRkaW5nOiAxMHB4OyB9XG4gICAgICAuYy1oZWFkZXItbmF2X19pdGVtIC5jLWxpbmsgLmMtbGFiZWwge1xuICAgICAgICBjb2xvcjogI2ZmZjsgfVxuICAgIC5jLWhlYWRlci1uYXZfX2l0ZW06aG92ZXIgLmMtbGluayB7XG4gICAgICBiYWNrZ3JvdW5kOiAjZmZmO1xuICAgICAgYm9yZGVyLXJhZGl1czogMjBweDsgfVxuICAgICAgLmMtaGVhZGVyLW5hdl9faXRlbTpob3ZlciAuYy1saW5rIC5jLWxhYmVsIHtcbiAgICAgICAgY29sb3I6ICMwMDdDNkI7IH1cbiAgLmMtaGVhZGVyLW5hdi0taG9yaXpvbnRhbCB7XG4gICAgd2lkdGg6IGF1dG87XG4gICAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gICAgbWFyZ2luLXJpZ2h0OiBhdXRvOyB9XG4gICAgQG1lZGlhIChtYXgtd2lkdGg6IDEwMjRweCkge1xuICAgICAgLmMtaGVhZGVyLW5hdi0taG9yaXpvbnRhbCB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7IH0gfVxuXG4ubC1oZWFkZXIuaXMtYWN0aXZlIC5jLWhlYWRlci1uYXZfX2l0ZW0gLmMtbGluayAuYy1sYWJlbCwgLmwtaGVhZGVyLmlzLWFjdGl2ZS1jYXQgLmMtaGVhZGVyLW5hdl9faXRlbSAuYy1saW5rIC5jLWxhYmVsLCAubC1oZWFkZXIuaXMtYWN0aXZlLXNlYXJjaCAuYy1oZWFkZXItbmF2X19pdGVtIC5jLWxpbmsgLmMtbGFiZWwsIC5sLWhlYWRlci5pcy1zY3JvbGxlZCAuYy1oZWFkZXItbmF2X19pdGVtIC5jLWxpbmsgLmMtbGFiZWwge1xuICBjb2xvcjogIzAwMDsgfVxuXG4ubC1oZWFkZXIuaXMtYWN0aXZlIC5jLWhlYWRlci1uYXZfX2l0ZW0ubWVudS1pdGVtLWhhcy1jaGlsZHJlbiAuYy1saW5rIC5jLWxhYmVsOmJlZm9yZSwgLmwtaGVhZGVyLmlzLWFjdGl2ZSAuYy1oZWFkZXItbmF2X19pdGVtLm1lbnUtaXRlbS1oYXMtY2hpbGRyZW4gLmMtbGluayAuYy1sYWJlbDphZnRlciwgLmwtaGVhZGVyLmlzLWFjdGl2ZS1jYXQgLmMtaGVhZGVyLW5hdl9faXRlbS5tZW51LWl0ZW0taGFzLWNoaWxkcmVuIC5jLWxpbmsgLmMtbGFiZWw6YmVmb3JlLCAubC1oZWFkZXIuaXMtYWN0aXZlLWNhdCAuYy1oZWFkZXItbmF2X19pdGVtLm1lbnUtaXRlbS1oYXMtY2hpbGRyZW4gLmMtbGluayAuYy1sYWJlbDphZnRlciwgLmwtaGVhZGVyLmlzLWFjdGl2ZS1zZWFyY2ggLmMtaGVhZGVyLW5hdl9faXRlbS5tZW51LWl0ZW0taGFzLWNoaWxkcmVuIC5jLWxpbmsgLmMtbGFiZWw6YmVmb3JlLCAubC1oZWFkZXIuaXMtYWN0aXZlLXNlYXJjaCAuYy1oZWFkZXItbmF2X19pdGVtLm1lbnUtaXRlbS1oYXMtY2hpbGRyZW4gLmMtbGluayAuYy1sYWJlbDphZnRlciwgLmwtaGVhZGVyLmlzLXNjcm9sbGVkIC5jLWhlYWRlci1uYXZfX2l0ZW0ubWVudS1pdGVtLWhhcy1jaGlsZHJlbiAuYy1saW5rIC5jLWxhYmVsOmJlZm9yZSwgLmwtaGVhZGVyLmlzLXNjcm9sbGVkIC5jLWhlYWRlci1uYXZfX2l0ZW0ubWVudS1pdGVtLWhhcy1jaGlsZHJlbiAuYy1saW5rIC5jLWxhYmVsOmFmdGVyIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzAwMDsgfVxuXG4ubC1oZWFkZXIuaXMtYWN0aXZlIC5jLWhlYWRlci1uYXZfX2l0ZW06aG92ZXIgLmMtbGluayAuYy1sYWJlbCwgLmwtaGVhZGVyLmlzLWFjdGl2ZS1jYXQgLmMtaGVhZGVyLW5hdl9faXRlbTpob3ZlciAuYy1saW5rIC5jLWxhYmVsLCAubC1oZWFkZXIuaXMtYWN0aXZlLXNlYXJjaCAuYy1oZWFkZXItbmF2X19pdGVtOmhvdmVyIC5jLWxpbmsgLmMtbGFiZWwsIC5sLWhlYWRlci5pcy1zY3JvbGxlZCAuYy1oZWFkZXItbmF2X19pdGVtOmhvdmVyIC5jLWxpbmsgLmMtbGFiZWwge1xuICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcbiAgY29sb3I6ICMwMDdDNkI7IH1cblxuLmwtaGVhZGVyLmlzLWFjdGl2ZSAuYy1oZWFkZXItbmF2X19pdGVtOmhvdmVyLm1lbnUtaXRlbS1oYXMtY2hpbGRyZW4gLmMtbGluayAuYy1sYWJlbDpiZWZvcmUsIC5sLWhlYWRlci5pcy1hY3RpdmUgLmMtaGVhZGVyLW5hdl9faXRlbTpob3Zlci5tZW51LWl0ZW0taGFzLWNoaWxkcmVuIC5jLWxpbmsgLmMtbGFiZWw6YWZ0ZXIsIC5sLWhlYWRlci5pcy1hY3RpdmUtY2F0IC5jLWhlYWRlci1uYXZfX2l0ZW06aG92ZXIubWVudS1pdGVtLWhhcy1jaGlsZHJlbiAuYy1saW5rIC5jLWxhYmVsOmJlZm9yZSwgLmwtaGVhZGVyLmlzLWFjdGl2ZS1jYXQgLmMtaGVhZGVyLW5hdl9faXRlbTpob3Zlci5tZW51LWl0ZW0taGFzLWNoaWxkcmVuIC5jLWxpbmsgLmMtbGFiZWw6YWZ0ZXIsIC5sLWhlYWRlci5pcy1hY3RpdmUtc2VhcmNoIC5jLWhlYWRlci1uYXZfX2l0ZW06aG92ZXIubWVudS1pdGVtLWhhcy1jaGlsZHJlbiAuYy1saW5rIC5jLWxhYmVsOmJlZm9yZSwgLmwtaGVhZGVyLmlzLWFjdGl2ZS1zZWFyY2ggLmMtaGVhZGVyLW5hdl9faXRlbTpob3Zlci5tZW51LWl0ZW0taGFzLWNoaWxkcmVuIC5jLWxpbmsgLmMtbGFiZWw6YWZ0ZXIsIC5sLWhlYWRlci5pcy1zY3JvbGxlZCAuYy1oZWFkZXItbmF2X19pdGVtOmhvdmVyLm1lbnUtaXRlbS1oYXMtY2hpbGRyZW4gLmMtbGluayAuYy1sYWJlbDpiZWZvcmUsIC5sLWhlYWRlci5pcy1zY3JvbGxlZCAuYy1oZWFkZXItbmF2X19pdGVtOmhvdmVyLm1lbnUtaXRlbS1oYXMtY2hpbGRyZW4gLmMtbGluayAuYy1sYWJlbDphZnRlciB7XG4gIGJhY2tncm91bmQtY29sb3I6ICMwMDdDNkI7IH1cblxuLmwtaGVhZGVyLmlzLWFjdGl2ZSAudWktaWNvbiwgLmwtaGVhZGVyLmlzLWFjdGl2ZS1jYXQgLnVpLWljb24sIC5sLWhlYWRlci5pcy1hY3RpdmUtc2VhcmNoIC51aS1pY29uLCAubC1oZWFkZXIuaXMtc2Nyb2xsZWQgLnVpLWljb24ge1xuICBjb2xvcjogIzAwOTk4ODsgfVxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgU3RhdGljIEhlcm9cbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4uYy1oZXJvLXN0YXRpYyB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICBoZWlnaHQ6IDc1dmg7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgYmFja2dyb3VuZC1zaXplOiBjb3ZlcjtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogNTAlIDUwJTsgfVxuICAuYy1oZXJvLXN0YXRpYyAubC1pbm5lciB7XG4gICAgei1pbmRleDogNTA7IH1cbiAgLmMtaGVyby1zdGF0aWNfX2RhdGUsIC5jLWhlcm8tc3RhdGljX190aXRsZSB7XG4gICAgbWFyZ2luOiAwO1xuICAgIHBhZGRpbmc6IDA7XG4gICAgbWF4LXdpZHRoOiA4MCU7IH1cbiAgICBAbWVkaWEgKG1heC13aWR0aDogMTAyNHB4KSB7XG4gICAgICAuYy1oZXJvLXN0YXRpY19fZGF0ZSwgLmMtaGVyby1zdGF0aWNfX3RpdGxlIHtcbiAgICAgICAgbWF4LXdpZHRoOiAxMDAlOyB9IH1cbiAgLmMtaGVyby1zdGF0aWNfX2RhdGUge1xuICAgIHBhZGRpbmctYm90dG9tOiAxNXB4O1xuICAgIGNvbG9yOiAjZmZmO1xuICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gICAgZm9udC1zaXplOiAxNXB4OyB9XG4gICAgQG1lZGlhIChtYXgtd2lkdGg6IDEwMjRweCkge1xuICAgICAgLmMtaGVyby1zdGF0aWNfX2RhdGUge1xuICAgICAgICBmb250LXNpemU6IDEzcHg7IH0gfVxuICAuYy1oZXJvLXN0YXRpY19fdGl0bGUge1xuICAgIHBhZGRpbmctYm90dG9tOiAzMHB4O1xuICAgIGNvbG9yOiAjZmZmO1xuICAgIGZvbnQtc2l6ZTogNDhweDsgfVxuICAgIEBtZWRpYSAobWF4LXdpZHRoOiA3NjdweCkge1xuICAgICAgLmMtaGVyby1zdGF0aWNfX3RpdGxlIHtcbiAgICAgICAgcGFkZGluZy1ib3R0b206IDUwcHg7XG4gICAgICAgIGZvbnQtc2l6ZTogNDJweDsgfSB9XG4gIC5jLWhlcm8tc3RhdGljX19kZXNjIHtcbiAgICBjb2xvcjogd2hpdGU7IH1cbiAgLmMtaGVyby1zdGF0aWNfX292ZXJsYXkge1xuICAgIHotaW5kZXg6IDQ5O1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDA7XG4gICAgbGVmdDogMDtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgYmFja2dyb3VuZDogLW1vei1saW5lYXItZ3JhZGllbnQobGVmdCwgcmdiYSgwLCAwLCAwLCAwLjg1KSAwJSwgcmdiYSgwLCAwLCAwLCAwKSAxMDAlKTtcbiAgICBiYWNrZ3JvdW5kOiAtd2Via2l0LWxpbmVhci1ncmFkaWVudChsZWZ0LCByZ2JhKDAsIDAsIDAsIDAuODUpIDAlLCByZ2JhKDAsIDAsIDAsIDApIDEwMCUpO1xuICAgIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCh0byByaWdodCwgcmdiYSgwLCAwLCAwLCAwLjg1KSAwJSwgcmdiYSgwLCAwLCAwLCAwKSAxMDAlKTtcbiAgICBmaWx0ZXI6IHByb2dpZDpEWEltYWdlVHJhbnNmb3JtLk1pY3Jvc29mdC5ncmFkaWVudCggc3RhcnRDb2xvcnN0cj0nI2ZmMDAwMDAwJywgZW5kQ29sb3JzdHI9JyMwMDAwMDAwMCcsR3JhZGllbnRUeXBlPTEgKTsgfVxuICAuYy1oZXJvLXN0YXRpYy0tbG93IHtcbiAgICBoZWlnaHQ6IDUwdmg7IH1cbiAgLmMtaGVyby1zdGF0aWMtLWhpZ2gge1xuICAgIGhlaWdodDogMTAwdmg7IH1cbiAgLmMtaGVyby1zdGF0aWMtLWFsdCB7XG4gICAgY29sb3I6IHdoaXRlO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjsgfVxuICAgIC5jLWhlcm8tc3RhdGljLS1hbHQgLmMtaGVyby1zdGF0aWNfX3RpdGxlIHtcbiAgICAgIG1heC13aWR0aDogMTAwJTsgfVxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgSG9tZSBQb3N0c1xuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi5jLWhvbWUtcG9zdHMge1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LXdyYXA6IHdyYXA7XG4gIG1hcmdpbjogMDtcbiAgcGFkZGluZzogMDtcbiAgbWFyZ2luLXRvcDogLTc1cHg7XG4gIHotaW5kZXg6IDYwOyB9XG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBIb21lIFNsaWRlclxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi5jLWhvbWUtc2xpZGVyIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlOyB9XG4gIC5jLWhvbWUtc2xpZGVyX193cmFwcGVyIHtcbiAgICBwYWRkaW5nOiAwO1xuICAgIG1hcmdpbjogMDtcbiAgICBsaXN0LXN0eWxlOiBub25lOyB9XG4gICAgLmMtaG9tZS1zbGlkZXJfX3dyYXBwZXIgLmMtc2xpZGUge1xuICAgICAgYmFja2dyb3VuZC1zaXplOiBjb3ZlcjtcbiAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IDUwJSA1MCU7IH1cbiAgLmMtaG9tZS1zbGlkZXJfX3BhZ2luYXRpb24ge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kO1xuICAgIHotaW5kZXg6IDEwO1xuICAgIG1hcmdpbjogMDtcbiAgICBwYWRkaW5nOiAwO1xuICAgIG1hcmdpbi10b3A6IC0xMjBweDsgfVxuICAgIC5jLWhvbWUtc2xpZGVyX19wYWdpbmF0aW9uX19idWxsZXQge1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICB3aWR0aDogMTVweDtcbiAgICAgIGhlaWdodDogMTVweDtcbiAgICAgIGJhY2tncm91bmQ6IHdoaXRlO1xuICAgICAgb3BhY2l0eTogLjI1O1xuICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgICAgYm9yZGVyLXJhZGl1czogMTAwJTtcbiAgICAgIG1hcmdpbi1yaWdodDogMTVweDtcbiAgICAgIG1hcmdpbi1ib3R0b206IDEwcHg7IH1cbiAgICAgIC5jLWhvbWUtc2xpZGVyX19wYWdpbmF0aW9uX19idWxsZXQuaXMtYWN0aXZlIHtcbiAgICAgICAgb3BhY2l0eTogMTsgfVxuICAgICAgLmMtaG9tZS1zbGlkZXJfX3BhZ2luYXRpb25fX2J1bGxldDpsYXN0LW9mLXR5cGUge1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IDIwcHg7IH1cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIExhbmcgc3dpdGNoZXJcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4uYy1sYW5nLXN3aXRjaGVyIHtcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIGZvbnQtc2l6ZTogMS4xcmVtO1xuICBtYXJnaW4tcmlnaHQ6IDIwcHg7XG4gIGxpc3Qtc3R5bGU6IG5vbmU7IH1cbiAgLmMtbGFuZy1zd2l0Y2hlciAud3BtbC1scy1sZWdhY3ktZHJvcGRvd24ge1xuICAgIHdpZHRoOiBhdXRvOyB9XG4gICAgLmMtbGFuZy1zd2l0Y2hlciAud3BtbC1scy1sZWdhY3ktZHJvcGRvd24gLndwbWwtbHMtY3VycmVudC1sYW5ndWFnZSA+IGEge1xuICAgICAgY29sb3I6ICNmZmY7XG4gICAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgICAgIHBhZGRpbmc6IDEwcHggMTVweDtcbiAgICAgIHBhZGRpbmctcmlnaHQ6IDMwcHg7IH1cbiAgICAgIC5jLWxhbmctc3dpdGNoZXIgLndwbWwtbHMtbGVnYWN5LWRyb3Bkb3duIC53cG1sLWxzLWN1cnJlbnQtbGFuZ3VhZ2UgPiBhOmFmdGVyIHtcbiAgICAgICAgZGlzcGxheTogbm9uZTsgfVxuICAgICAgLmMtbGFuZy1zd2l0Y2hlciAud3BtbC1scy1sZWdhY3ktZHJvcGRvd24gLndwbWwtbHMtY3VycmVudC1sYW5ndWFnZSA+IGEgc3BhbiB7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuICAgICAgICAuYy1sYW5nLXN3aXRjaGVyIC53cG1sLWxzLWxlZ2FjeS1kcm9wZG93biAud3BtbC1scy1jdXJyZW50LWxhbmd1YWdlID4gYSBzcGFuOmJlZm9yZSwgLmMtbGFuZy1zd2l0Y2hlciAud3BtbC1scy1sZWdhY3ktZHJvcGRvd24gLndwbWwtbHMtY3VycmVudC1sYW5ndWFnZSA+IGEgc3BhbjphZnRlciB7XG4gICAgICAgICAgY29udGVudDogJyc7XG4gICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgIGJvcmRlcjogbm9uZTtcbiAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICB3aWR0aDogOHB4O1xuICAgICAgICAgIGhlaWdodDogMnB4O1xuICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmY7IH1cbiAgICAgICAgLmMtbGFuZy1zd2l0Y2hlciAud3BtbC1scy1sZWdhY3ktZHJvcGRvd24gLndwbWwtbHMtY3VycmVudC1sYW5ndWFnZSA+IGEgc3BhbjpiZWZvcmUge1xuICAgICAgICAgIHRvcDogOHB4O1xuICAgICAgICAgIHJpZ2h0OiAtMThweDtcbiAgICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSgtNDVkZWcpOyB9XG4gICAgICAgIC5jLWxhbmctc3dpdGNoZXIgLndwbWwtbHMtbGVnYWN5LWRyb3Bkb3duIC53cG1sLWxzLWN1cnJlbnQtbGFuZ3VhZ2UgPiBhIHNwYW46YWZ0ZXIge1xuICAgICAgICAgIHRvcDogOHB4O1xuICAgICAgICAgIHJpZ2h0OiAtMTRweDtcbiAgICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSg0NWRlZyk7IH1cbiAgICAuYy1sYW5nLXN3aXRjaGVyIC53cG1sLWxzLWxlZ2FjeS1kcm9wZG93biAud3BtbC1scy1jdXJyZW50LWxhbmd1YWdlOmhvdmVyID4gYSB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xuICAgICAgY29sb3I6ICMwMDk5ODg7XG4gICAgICBib3JkZXItdG9wLWxlZnQtcmFkaXVzOiAyMHB4O1xuICAgICAgYm9yZGVyLXRvcC1yaWdodC1yYWRpdXM6IDIwcHg7IH1cbiAgICAgIC5jLWxhbmctc3dpdGNoZXIgLndwbWwtbHMtbGVnYWN5LWRyb3Bkb3duIC53cG1sLWxzLWN1cnJlbnQtbGFuZ3VhZ2U6aG92ZXIgPiBhIHNwYW46YmVmb3JlLCAuYy1sYW5nLXN3aXRjaGVyIC53cG1sLWxzLWxlZ2FjeS1kcm9wZG93biAud3BtbC1scy1jdXJyZW50LWxhbmd1YWdlOmhvdmVyID4gYSBzcGFuOmFmdGVyIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzAwOTk4ODsgfVxuICAgIC5jLWxhbmctc3dpdGNoZXIgLndwbWwtbHMtbGVnYWN5LWRyb3Bkb3duIC53cG1sLWxzLXN1Yi1tZW51IHtcbiAgICAgIGJvcmRlcjogbm9uZTsgfVxuICAgICAgLmMtbGFuZy1zd2l0Y2hlciAud3BtbC1scy1sZWdhY3ktZHJvcGRvd24gLndwbWwtbHMtc3ViLW1lbnUgLndwbWwtbHMtaXRlbSB7XG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgYm9yZGVyOiBub25lO1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIHRleHQtYWxpZ246IGxlZnQ7IH1cbiAgICAgICAgLmMtbGFuZy1zd2l0Y2hlciAud3BtbC1scy1sZWdhY3ktZHJvcGRvd24gLndwbWwtbHMtc3ViLW1lbnUgLndwbWwtbHMtaXRlbTpiZWZvcmUge1xuICAgICAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICB0b3A6IDA7XG4gICAgICAgICAgbGVmdDogMTUlO1xuICAgICAgICAgIHdpZHRoOiA3MCU7XG4gICAgICAgICAgaGVpZ2h0OiAxcHg7XG4gICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI0YwRjBGMDsgfVxuICAgICAgICAuYy1sYW5nLXN3aXRjaGVyIC53cG1sLWxzLWxlZ2FjeS1kcm9wZG93biAud3BtbC1scy1zdWItbWVudSAud3BtbC1scy1pdGVtIGEge1xuICAgICAgICAgIGNvbG9yOiAjMDA5OTg4O1xuICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmY7XG4gICAgICAgICAgcGFkZGluZzogMTBweDtcbiAgICAgICAgICBwYWRkaW5nLWxlZnQ6IDE1cHg7IH1cbiAgICAgICAgICAuYy1sYW5nLXN3aXRjaGVyIC53cG1sLWxzLWxlZ2FjeS1kcm9wZG93biAud3BtbC1scy1zdWItbWVudSAud3BtbC1scy1pdGVtIGEgc3BhbiB7XG4gICAgICAgICAgICBjb2xvcjogIzAwOTk4ODsgfVxuICAgICAgICAuYy1sYW5nLXN3aXRjaGVyIC53cG1sLWxzLWxlZ2FjeS1kcm9wZG93biAud3BtbC1scy1zdWItbWVudSAud3BtbC1scy1pdGVtLndwbWwtbHMtbGFzdC1pdGVtIGEge1xuICAgICAgICAgIGJvcmRlci1ib3R0b20tbGVmdC1yYWRpdXM6IDIwcHg7XG4gICAgICAgICAgYm9yZGVyLWJvdHRvbS1yaWdodC1yYWRpdXM6IDIwcHg7IH1cbiAgLmMtbGFuZy1zd2l0Y2hlciBhIHtcbiAgICBib3JkZXI6IG5vbmU7XG4gICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7IH1cbiAgICAuYy1sYW5nLXN3aXRjaGVyIGE6aG92ZXIge1xuICAgICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7IH1cblxuLmwtaGVhZGVyLmlzLWFjdGl2ZSAud3BtbC1scy1jdXJyZW50LWxhbmd1YWdlID4gYSwgLmwtaGVhZGVyLmlzLWFjdGl2ZS1jYXQgLndwbWwtbHMtY3VycmVudC1sYW5ndWFnZSA+IGEsIC5sLWhlYWRlci5pcy1hY3RpdmUtc2VhcmNoIC53cG1sLWxzLWN1cnJlbnQtbGFuZ3VhZ2UgPiBhLCAubC1oZWFkZXIuaXMtc2Nyb2xsZWQgLndwbWwtbHMtY3VycmVudC1sYW5ndWFnZSA+IGEge1xuICBjb2xvcjogIzAwMDsgfVxuICAubC1oZWFkZXIuaXMtYWN0aXZlIC53cG1sLWxzLWN1cnJlbnQtbGFuZ3VhZ2UgPiBhIHNwYW46YWZ0ZXIsIC5sLWhlYWRlci5pcy1hY3RpdmUgLndwbWwtbHMtY3VycmVudC1sYW5ndWFnZSA+IGEgc3BhbjpiZWZvcmUsIC5sLWhlYWRlci5pcy1hY3RpdmUtY2F0IC53cG1sLWxzLWN1cnJlbnQtbGFuZ3VhZ2UgPiBhIHNwYW46YWZ0ZXIsIC5sLWhlYWRlci5pcy1hY3RpdmUtY2F0IC53cG1sLWxzLWN1cnJlbnQtbGFuZ3VhZ2UgPiBhIHNwYW46YmVmb3JlLCAubC1oZWFkZXIuaXMtYWN0aXZlLXNlYXJjaCAud3BtbC1scy1jdXJyZW50LWxhbmd1YWdlID4gYSBzcGFuOmFmdGVyLCAubC1oZWFkZXIuaXMtYWN0aXZlLXNlYXJjaCAud3BtbC1scy1jdXJyZW50LWxhbmd1YWdlID4gYSBzcGFuOmJlZm9yZSwgLmwtaGVhZGVyLmlzLXNjcm9sbGVkIC53cG1sLWxzLWN1cnJlbnQtbGFuZ3VhZ2UgPiBhIHNwYW46YWZ0ZXIsIC5sLWhlYWRlci5pcy1zY3JvbGxlZCAud3BtbC1scy1jdXJyZW50LWxhbmd1YWdlID4gYSBzcGFuOmJlZm9yZSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzAwMDsgfVxuXG5AbWVkaWEgKG1heC13aWR0aDogMTAyNHB4KSB7XG4gIC5sLWhlYWRlciAuYy1sYW5nLXN3aXRjaGVyIHtcbiAgICBkaXNwbGF5OiBub25lOyB9IH1cblxuLmMtc2lkZS1wYW5lbF9faGVhZGVyIC5jLWxhbmctc3dpdGNoZXIgLndwbWwtbHMtY3VycmVudC1sYW5ndWFnZSA+IGEge1xuICBjb2xvcjogI2ZmZjtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzAwOTk4ODtcbiAgYm9yZGVyLXJhZGl1czogMjBweDsgfVxuICAuYy1zaWRlLXBhbmVsX19oZWFkZXIgLmMtbGFuZy1zd2l0Y2hlciAud3BtbC1scy1jdXJyZW50LWxhbmd1YWdlID4gYSBzcGFuOmFmdGVyLCAuYy1zaWRlLXBhbmVsX19oZWFkZXIgLmMtbGFuZy1zd2l0Y2hlciAud3BtbC1scy1jdXJyZW50LWxhbmd1YWdlID4gYSBzcGFuOmJlZm9yZSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjsgfVxuXG4uYy1zaWRlLXBhbmVsX19oZWFkZXIgLmMtbGFuZy1zd2l0Y2hlciAud3BtbC1scy1jdXJyZW50LWxhbmd1YWdlOmhvdmVyID4gYSB7XG4gIGJhY2tncm91bmQtY29sb3I6ICMwMDk5ODg7XG4gIGNvbG9yOiAjZmZmO1xuICBib3JkZXItdG9wLWxlZnQtcmFkaXVzOiAyMHB4O1xuICBib3JkZXItdG9wLXJpZ2h0LXJhZGl1czogMjBweDtcbiAgYm9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1czogMDtcbiAgYm9yZGVyLWJvdHRvbS1yaWdodC1yYWRpdXM6IDA7IH1cbiAgLmMtc2lkZS1wYW5lbF9faGVhZGVyIC5jLWxhbmctc3dpdGNoZXIgLndwbWwtbHMtY3VycmVudC1sYW5ndWFnZTpob3ZlciA+IGEgc3BhbjpiZWZvcmUsIC5jLXNpZGUtcGFuZWxfX2hlYWRlciAuYy1sYW5nLXN3aXRjaGVyIC53cG1sLWxzLWN1cnJlbnQtbGFuZ3VhZ2U6aG92ZXIgPiBhIHNwYW46YWZ0ZXIge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmY7IH1cblxuLmMtc2lkZS1wYW5lbF9faGVhZGVyIC5jLWxhbmctc3dpdGNoZXIgLndwbWwtbHMtc3ViLW1lbnUgLndwbWwtbHMtaXRlbSBhIHtcbiAgY29sb3I6ICNmZmY7XG4gIGJhY2tncm91bmQtY29sb3I6ICMwMDk5ODg7IH1cbiAgLmMtc2lkZS1wYW5lbF9faGVhZGVyIC5jLWxhbmctc3dpdGNoZXIgLndwbWwtbHMtc3ViLW1lbnUgLndwbWwtbHMtaXRlbSBhIHNwYW4ge1xuICAgIGNvbG9yOiAjZmZmOyB9XG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBMaW5rXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLmwtbWFpbiAuYy1saW5rIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrOyB9XG4gIC5sLW1haW4gLmMtbGluayAuYy1sYWJlbCB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHotaW5kZXg6IDE7IH1cbiAgICAubC1tYWluIC5jLWxpbmsgLmMtbGFiZWw6YWZ0ZXIge1xuICAgICAgY29udGVudDogJyc7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICBsZWZ0OiAwO1xuICAgICAgYm90dG9tOiAwO1xuICAgICAgaGVpZ2h0OiAxcHg7XG4gICAgICB3aWR0aDogMDtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICMwMDk5ODg7XG4gICAgICB0cmFuc2l0aW9uOiBhbGwgMC4xcyBsaW5lYXI7XG4gICAgICB6LWluZGV4OiAtMTsgfVxuICAubC1tYWluIC5jLWxpbms6dmlzaXRlZCAuYy1sYWJlbCwgLmwtbWFpbiAuYy1saW5rOmFjdGl2ZSAuYy1sYWJlbCwgLmwtbWFpbiAuYy1saW5rOmZvY3VzIC5jLWxhYmVsIHtcbiAgICBjb2xvcjogIzAwN0M2QjsgfVxuICAubC1tYWluIC5jLWxpbms6aG92ZXIgLmMtbGFiZWwge1xuICAgIGNvbG9yOiAjMDA3QzZCOyB9XG4gICAgLmwtbWFpbiAuYy1saW5rOmhvdmVyIC5jLWxhYmVsOmFmdGVyIHtcbiAgICAgIHdpZHRoOiAxMDAlOyB9XG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBMb2dvXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLmMtbG9nbyB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICB3aWR0aDogMTI4cHg7XG4gIGhlaWdodDogNTBweDsgfVxuICAuYy1sb2dvX19saW5rIHtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgZGlzcGxheTogYmxvY2s7IH1cbiAgICAuYy1sb2dvX19saW5rIC5jLWltZyB7XG4gICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICB3aWR0aDogYXV0bzsgfVxuICBAbWVkaWEgKG1heC13aWR0aDogMTAyNHB4KSB7XG4gICAgLmMtbG9nbyB7XG4gICAgICB3aWR0aDogMTAycHg7XG4gICAgICBoZWlnaHQ6IDQwcHg7IH0gfVxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgTmV3c2xldHRlciBmb3JtXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLmMtbmV3c2xldHRlci1mb3JtIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlOyB9XG4gIC5jLW5ld3NsZXR0ZXItZm9ybV9fbGFiZWwge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBsaW5lLWhlaWdodDogNTBweDtcbiAgICBwYWRkaW5nOiAwIDE1cHg7XG4gICAgY29sb3I6ICNENkQ2RDY7IH1cbiAgLmMtbmV3c2xldHRlci1mb3JtX19pbnB1dCB7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiA1MHB4O1xuICAgIHBhZGRpbmc6IDAgMTVweDtcbiAgICBib3JkZXI6IDFweCBzb2xpZCAjRDZENkQ2OyB9XG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBOZXdzbGV0dGVyIHJlc3VsdCB0ZXh0XG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLmMtbmV3c2xldHRlci1yZXN1bHQge1xuICBtYXJnaW4tdG9wOiAyMHB4O1xuICB3aWR0aDogNzUlOyB9XG4gIC5jLW5ld3NsZXR0ZXItcmVzdWx0X190ZXh0IHtcbiAgICBoZWlnaHQ6IDA7XG4gICAgcGFkZGluZzogMDtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIGNvbG9yOiB3aGl0ZTtcbiAgICBib3JkZXItcmFkaXVzOiAyMHB4OyB9XG4gICAgLmMtbmV3c2xldHRlci1yZXN1bHRfX3RleHQtLXN1Y2Nlc3Mge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzAwOTk4ODsgfVxuICAgIC5jLW5ld3NsZXR0ZXItcmVzdWx0X190ZXh0LS1lcnJvciB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBjcmltc29uOyB9XG4gICAgLmMtbmV3c2xldHRlci1yZXN1bHRfX3RleHQuaXMtdmlzaWJsZSB7XG4gICAgICBoZWlnaHQ6IGF1dG87XG4gICAgICBwYWRkaW5nOiAxMHB4O1xuICAgICAgb3ZlcmZsb3c6IGF1dG87IH1cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIFBhZ2luYXRpb25cbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4uYy1wYWdpbmF0aW9uIHtcbiAgcGFkZGluZzogMjVweCAwO1xuICBmb250LXNpemU6IDEuNHJlbTsgfVxuICAuYy1wYWdpbmF0aW9uIC5wYWdlLW51bWJlcnMge1xuICAgIHBhZGRpbmc6IDAgMTVweDsgfVxuICAgIC5jLXBhZ2luYXRpb24gLnBhZ2UtbnVtYmVycy5jdXJyZW50IHtcbiAgICAgIGZvbnQtd2VpZ2h0OiBib2xkOyB9XG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBQb3N0XG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLmMtcG9zdCB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgbWFyZ2luLWJvdHRvbTogNjBweDtcbiAgYmFja2dyb3VuZC1jb2xvcjogd2hpdGU7XG4gIGJveC1zaGFkb3c6IDBweCAwcHggNDZweCAwcHggcmdiYSgwLCAwLCAwLCAwLjIpO1xuICB0cmFuc2l0aW9uOiBhbGwgMC4xcyBsaW5lYXI7IH1cbiAgLmMtcG9zdF9fY29udGVudCB7XG4gICAgcGFkZGluZzogMjBweCAzMHB4IDUwcHggMzBweDsgfVxuICAuYy1wb3N0X19kYXRlIHtcbiAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xuICAgIGxldHRlci1zcGFjaW5nOiAxcHg7IH1cbiAgLmMtcG9zdF9fdGl0bGUge1xuICAgIGZvbnQtc2l6ZTogMjhweDtcbiAgICBmb250LXdlaWdodDogNTAwO1xuICAgIG1hcmdpbjogMDtcbiAgICBwYWRkaW5nOiAwOyB9XG4gIC5jLXBvc3RfX2V4Y2VycHQge1xuICAgIGxpbmUtaGVpZ2h0OiAxLjc1OyB9XG4gICAgLmMtcG9zdF9fZXhjZXJwdCAuYy1saW5rIHtcbiAgICAgIGNvbG9yOiAjMDA5OTg4OyB9XG4gICAgICAuYy1wb3N0X19leGNlcnB0IC5jLWxpbms6aG92ZXIge1xuICAgICAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTsgfVxuICAuYy1wb3N0LmMtcG9zdC0tb25lLXRoaXJkIHtcbiAgICB3aWR0aDogY2FsYygoMTAwJSAtIDYwcHgpIC8gMyk7IH1cbiAgICAuYy1wb3N0LmMtcG9zdC0tb25lLXRoaXJkIC5jLXBvc3RfX2RlY29yIHtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgaGVpZ2h0OiAxOTBweDtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuICAgICAgQG1lZGlhIChtYXgtd2lkdGg6IDEwMjRweCkge1xuICAgICAgICAuYy1wb3N0LmMtcG9zdC0tb25lLXRoaXJkIC5jLXBvc3RfX2RlY29yIHtcbiAgICAgICAgICBoZWlnaHQ6IDMwMHB4OyB9IH1cbiAgICAgIEBtZWRpYSAobWF4LXdpZHRoOiA3NjdweCkge1xuICAgICAgICAuYy1wb3N0LmMtcG9zdC0tb25lLXRoaXJkIC5jLXBvc3RfX2RlY29yIHtcbiAgICAgICAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgICAgICAgaGVpZ2h0OiAyMDBweDsgfSB9XG4gICAgLmMtcG9zdC5jLXBvc3QtLW9uZS10aGlyZCAuYy1wb3N0X19maWcge1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICBwYWRkaW5nOiAwO1xuICAgICAgbWFyZ2luOiAwO1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlOyB9XG4gICAgICBAbWVkaWEgKG1heC13aWR0aDogMTAyNHB4KSB7XG4gICAgICAgIC5jLXBvc3QuYy1wb3N0LS1vbmUtdGhpcmQgLmMtcG9zdF9fZmlnIHtcbiAgICAgICAgICB3aWR0aDogMzAwcHg7IH0gfVxuICAgICAgQG1lZGlhIChtYXgtd2lkdGg6IDc2N3B4KSB7XG4gICAgICAgIC5jLXBvc3QuYy1wb3N0LS1vbmUtdGhpcmQgLmMtcG9zdF9fZmlnIHtcbiAgICAgICAgICB3aWR0aDogMTAwJTsgfSB9XG4gICAgLmMtcG9zdC5jLXBvc3QtLW9uZS10aGlyZCAuYy1wb3N0X190aHVtYiB7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgIG9iamVjdC1maXQ6IGNvdmVyOyB9XG4gICAgLmMtcG9zdC5jLXBvc3QtLW9uZS10aGlyZCAuYy1wb3N0X19leGNlcnB0IHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7IH1cbiAgICAgIEBtZWRpYSAobWF4LXdpZHRoOiAxMDI0cHgpIHtcbiAgICAgICAgLmMtcG9zdC5jLXBvc3QtLW9uZS10aGlyZCAuYy1wb3N0X19leGNlcnB0IHtcbiAgICAgICAgICBkaXNwbGF5OiBibG9jazsgfSB9XG4gICAgICBAbWVkaWEgKG1heC13aWR0aDogNzY3cHgpIHtcbiAgICAgICAgLmMtcG9zdC5jLXBvc3QtLW9uZS10aGlyZCAuYy1wb3N0X19leGNlcnB0IHtcbiAgICAgICAgICBkaXNwbGF5OiBub25lOyB9IH1cbiAgICAuYy1wb3N0LmMtcG9zdC0tb25lLXRoaXJkOm5vdCg6bnRoLWNoaWxkKDNuKzApKSB7XG4gICAgICBtYXJnaW4tcmlnaHQ6IDMwcHg7IH1cbiAgICAgIEBtZWRpYSAobWF4LXdpZHRoOiAxMDI0cHgpIHtcbiAgICAgICAgLmMtcG9zdC5jLXBvc3QtLW9uZS10aGlyZDpub3QoOm50aC1jaGlsZCgzbiswKSkge1xuICAgICAgICAgIG1hcmdpbi1yaWdodDogMDsgfSB9XG4gICAgLmMtcG9zdC5jLXBvc3QtLW9uZS10aGlyZDpiZWZvcmUge1xuICAgICAgY29udGVudDogJyc7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIGhlaWdodDogNzVweDtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHRvcDogMDtcbiAgICAgIGxlZnQ6IDA7XG4gICAgICBib3gtc2hhZG93OiAwcHggLTEwcHggNzBweCAtMTBweCByZ2JhKDAsIDAsIDAsIDAuNzUpO1xuICAgICAgei1pbmRleDogLTE7IH1cbiAgICBAbWVkaWEgKG1heC13aWR0aDogMTAyNHB4KSB7XG4gICAgICAuYy1wb3N0LmMtcG9zdC0tb25lLXRoaXJkOm5vdCg6Zmlyc3QtY2hpbGQpOmJlZm9yZSB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7IH0gfVxuICAgIEBtZWRpYSAobWF4LXdpZHRoOiAxMDI0cHgpIHtcbiAgICAgIC5jLXBvc3QuYy1wb3N0LS1vbmUtdGhpcmQge1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgZmxleC1kaXJlY3Rpb246IHJvdzsgfSB9XG4gICAgQG1lZGlhIChtYXgtd2lkdGg6IDc2N3B4KSB7XG4gICAgICAuYy1wb3N0LmMtcG9zdC0tb25lLXRoaXJkIHtcbiAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjsgfSB9XG4gIC5jLXBvc3QuYy1wb3N0LS1mdWxsLXdpZHRoIHtcbiAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB3aWR0aDogMTAwJTsgfVxuICAgIEBtZWRpYSAobWluLXdpZHRoOiAxMDI1cHgpIHtcbiAgICAgIC5jLXBvc3QuYy1wb3N0LS1mdWxsLXdpZHRoIHtcbiAgICAgICAgaGVpZ2h0OiAzMjBweDsgfSB9XG4gICAgQG1lZGlhIChtYXgtd2lkdGg6IDEwMjRweCkge1xuICAgICAgLmMtcG9zdC5jLXBvc3QtLWZ1bGwtd2lkdGggLmMtcG9zdF9fZGVjb3Ige1xuICAgICAgICBtYXgtd2lkdGg6IDUwJTsgfSB9XG4gICAgQG1lZGlhIChtYXgtd2lkdGg6IDc2N3B4KSB7XG4gICAgICAuYy1wb3N0LmMtcG9zdC0tZnVsbC13aWR0aCAuYy1wb3N0X19kZWNvciB7XG4gICAgICAgIG1heC13aWR0aDogMTAwJTsgfSB9XG4gICAgLmMtcG9zdC5jLXBvc3QtLWZ1bGwtd2lkdGggLmMtcG9zdF9fZmlnIHtcbiAgICAgIHdpZHRoOiA0NTBweDtcbiAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgIHBhZGRpbmc6IDA7XG4gICAgICBtYXJnaW46IDA7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cbiAgICAgIEBtZWRpYSAobWF4LXdpZHRoOiAxMDI0cHgpIHtcbiAgICAgICAgLmMtcG9zdC5jLXBvc3QtLWZ1bGwtd2lkdGggLmMtcG9zdF9fZmlnIHtcbiAgICAgICAgICB3aWR0aDogMzAwcHg7IH0gfVxuICAgICAgQG1lZGlhIChtYXgtd2lkdGg6IDc2N3B4KSB7XG4gICAgICAgIC5jLXBvc3QuYy1wb3N0LS1mdWxsLXdpZHRoIC5jLXBvc3RfX2ZpZyB7XG4gICAgICAgICAgd2lkdGg6IDEwMCU7IH0gfVxuICAgIC5jLXBvc3QuYy1wb3N0LS1mdWxsLXdpZHRoIC5jLXBvc3RfX3RodW1iIHtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgb2JqZWN0LWZpdDogY292ZXI7IH1cbiAgICBAbWVkaWEgKG1heC13aWR0aDogNzY3cHgpIHtcbiAgICAgIC5jLXBvc3QuYy1wb3N0LS1mdWxsLXdpZHRoIC5jLXBvc3RfX2V4Y2VycHQge1xuICAgICAgICBkaXNwbGF5OiBub25lOyB9IH1cbiAgICBAbWVkaWEgKG1heC13aWR0aDogNzY3cHgpIHtcbiAgICAgIC5jLXBvc3QuYy1wb3N0LS1mdWxsLXdpZHRoIHtcbiAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjsgfSB9XG4gIC5jLXBvc3QuYy1wb3N0LS1vbmUtc2Vjb25kIHtcbiAgICB3aWR0aDogY2FsYygoMTAwJSAtIDMwcHgpIC8gMik7IH1cbiAgICBAbWVkaWEgKG1heC13aWR0aDogNzY3cHgpIHtcbiAgICAgIC5jLXBvc3QuYy1wb3N0LS1vbmUtc2Vjb25kIC5jLXBvc3RfX2V4Y2VycHQge1xuICAgICAgICBkaXNwbGF5OiBub25lOyB9IH1cbiAgICAuYy1wb3N0LmMtcG9zdC0tb25lLXNlY29uZDpub3QoOm50aC1jaGlsZCgybiswKSkge1xuICAgICAgbWFyZ2luLXJpZ2h0OiAzMHB4OyB9XG4gICAgICBAbWVkaWEgKG1heC13aWR0aDogNzY3cHgpIHtcbiAgICAgICAgLmMtcG9zdC5jLXBvc3QtLW9uZS1zZWNvbmQ6bm90KDpudGgtY2hpbGQoMm4rMCkpIHtcbiAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDA7IH0gfVxuICAgIEBtZWRpYSAobWF4LXdpZHRoOiA3NjdweCkge1xuICAgICAgLmMtcG9zdC5jLXBvc3QtLW9uZS1zZWNvbmQge1xuICAgICAgICB3aWR0aDogMTAwJTsgfSB9XG4gIC5jLXBvc3Q6aG92ZXIge1xuICAgIHRyYW5zaXRpb246IGFsbCAwLjFzIGxpbmVhcjtcbiAgICBib3gtc2hhZG93OiAwcHggMHB4IDQ2cHggMHB4IHJnYmEoMCwgMCwgMCwgMC40KTsgfVxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgUG9zdCBuYXYgc3VibWVudVxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBQb3N0IG5hdiBzdWJtZW51IHdyYXBwZXJcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4uYy1wb3N0LW5hdi1zdWJtZW51LXdyYXBwZXIge1xuICBkaXNwbGF5OiBub25lOyB9XG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBTZWFyY2hmb3JtXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLmMtc2VhcmNoZm9ybSB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgd2lkdGg6IDEwMCU7XG4gIHBhZGRpbmc6IDAgMTVweDsgfVxuICAuYy1zZWFyY2hmb3JtX19yb3cge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlOyB9XG4gIC5jLXNlYXJjaGZvcm1fX2xhYmVsIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgcGFkZGluZzogMTVweCAxNXB4O1xuICAgIGZvbnQtc2l6ZTogMS4yNXJlbTtcbiAgICBjb2xvcjogI0Q2RDZENjsgfVxuICAuYy1zZWFyY2hmb3JtX19pbnB1dCB7XG4gICAgZmxleC1ncm93OiAxO1xuICAgIHBhZGRpbmc6IDE1cHggMTVweDtcbiAgICBib3JkZXI6IG5vbmU7XG4gICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICNENkQ2RDY7XG4gICAgZm9udC1zaXplOiAxLjI1cmVtOyB9XG4gICAgLmMtc2VhcmNoZm9ybV9faW5wdXQ6Zm9jdXMge1xuICAgICAgb3V0bGluZTogbm9uZTtcbiAgICAgIGJvcmRlcjogMXB4IHNvbGlkICMwMDk5ODg7IH1cbiAgLmMtc2VhcmNoZm9ybV9fc3VibWl0IHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAxMHB4O1xuICAgIHJpZ2h0OiAwO1xuICAgIGJvcmRlcjogbm9uZTtcbiAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgICBjdXJzb3I6IHBvaW50ZXI7IH1cbiAgICAuYy1zZWFyY2hmb3JtX19zdWJtaXQgLnVpLWljb24ge1xuICAgICAgZm9udC1zaXplOiAxLjc1ZW07XG4gICAgICBjb2xvcjogIzAwOTk4ODtcbiAgICAgIGZpbGw6IGN1cnJlbnRDb2xvcjsgfVxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgU2VhcmNoZm9ybSBXcmFwcGVyXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLmMtc2VhcmNoZm9ybS13cmFwcGVyIHtcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIHBvc2l0aW9uOiBmaXhlZDtcbiAgdG9wOiA4MHB4O1xuICBsZWZ0OiAwO1xuICBoZWlnaHQ6IDA7XG4gIHdpZHRoOiAxMDAlO1xuICBiYWNrZ3JvdW5kOiAjRjlGOUY5O1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICB0cmFuc2l0aW9uOiBhbGwgMC4xcyBsaW5lYXI7XG4gIGJveC1zaGFkb3c6IDBweCA4cHggMjRweCAtMTVweCBibGFjaztcbiAgei1pbmRleDogOTk7IH1cbiAgLmMtc2VhcmNoZm9ybS13cmFwcGVyIC5jLXNlYXJjaGZvcm0ge1xuICAgIHdpZHRoOiA1NzZweDtcbiAgICBtYXgtd2lkdGg6IDEwMCU7IH1cbiAgLmMtc2VhcmNoZm9ybS13cmFwcGVyLmlzLW9wZW4ge1xuICAgIGhlaWdodDogODBweDtcbiAgICBvdmVyZmxvdzogYXV0bztcbiAgICB0cmFuc2l0aW9uOiBhbGwgMC4xcyBsaW5lYXI7IH1cbiAgICBAbWVkaWEgKG1heC13aWR0aDogMTAyNHB4KSB7XG4gICAgICAuYy1zZWFyY2hmb3JtLXdyYXBwZXIuaXMtb3BlbiB7XG4gICAgICAgIGhlaWdodDogNjBweDsgfSB9XG4gIEBtZWRpYSAobWF4LXdpZHRoOiAxMDI0cHgpIHtcbiAgICAuYy1zZWFyY2hmb3JtLXdyYXBwZXIge1xuICAgICAgdG9wOiA2MHB4OyB9IH1cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIFNoYXJlXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLmMtc2hhcmUge1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICB3aWR0aDogMTAwJTtcbiAgbWFyZ2luOiA1MHB4IDA7XG4gIHBhZGRpbmc6IDA7XG4gIGxpc3Qtc3R5bGU6IG5vbmU7IH1cbiAgLmMtc2hhcmVfX2xpbmsge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6IDEwMCU7IH1cbiAgLmMtc2hhcmVfX2ljb24ge1xuICAgIHdpZHRoOiA0MHB4O1xuICAgIGhlaWdodDogNDBweDtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjRDZENkQ2OyB9XG4gICAgLmMtc2hhcmVfX2ljb24gLnVpLWljb24ge1xuICAgICAgdHJhbnNpdGlvbjogYWxsIDAuMXMgbGluZWFyO1xuICAgICAgY29sb3I6ICMwMDA7XG4gICAgICBmaWxsOiBjdXJyZW50Q29sb3I7XG4gICAgICB3aWR0aDogMTVweDtcbiAgICAgIGhlaWdodDogMTVweDsgfVxuICAgIC5jLXNoYXJlX19pY29uOm5vdCg6bGFzdC1jaGlsZCkge1xuICAgICAgbWFyZ2luLXJpZ2h0OiAxMHB4OyB9XG4gICAgLmMtc2hhcmVfX2ljb246aG92ZXIgLnVpLWljb24ge1xuICAgICAgdHJhbnNpdGlvbjogYWxsIDAuMXMgbGluZWFyO1xuICAgICAgd2lkdGg6IDIwcHg7XG4gICAgICBoZWlnaHQ6IDIwcHg7IH1cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIFNpZGUgTmF2aWdhdGlvblxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi5jLXNpZGUtbmF2IHtcbiAgcGFkZGluZzogMDtcbiAgbWFyZ2luOiAwO1xuICB3aWR0aDogMTAwJTtcbiAgbWFyZ2luLXRvcDogMzBweDtcbiAgbGlzdC1zdHlsZTogbm9uZTsgfVxuICAuYy1zaWRlLW5hdl9faXRlbSB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgIHdpZHRoOiAxMDAlOyB9XG4gICAgLmMtc2lkZS1uYXZfX2l0ZW0gLmMtbGluayB7XG4gICAgICBwYWRkaW5nOiAxNXB4O1xuICAgICAgd2lkdGg6IDEwMCU7IH1cbiAgICAgIC5jLXNpZGUtbmF2X19pdGVtIC5jLWxpbmsgLmMtbGFiZWwge1xuICAgICAgICBmb250LXNpemU6IDEuMjVyZW07XG4gICAgICAgIGNvbG9yOiAjMDAwOyB9XG4gIC5jLXNpZGUtbmF2X19zdWItbWVudSB7XG4gICAgbWFyZ2luLWxlZnQ6IDI0cHg7XG4gICAgcGFkZGluZzogMDtcbiAgICBsaXN0LXN0eWxlOiBub25lOyB9XG4gICAgLmMtc2lkZS1uYXZfX3N1Yi1tZW51X19pdGVtIHtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAgd2lkdGg6IDEwMCU7IH1cbiAgICAgIC5jLXNpZGUtbmF2X19zdWItbWVudV9faXRlbSAuYy1saW5rIHtcbiAgICAgICAgcGFkZGluZzogMTJweCAxNXB4O1xuICAgICAgICB3aWR0aDogMTAwJTsgfVxuICAgICAgICAuYy1zaWRlLW5hdl9fc3ViLW1lbnVfX2l0ZW0gLmMtbGluayAuYy1sYWJlbCB7XG4gICAgICAgICAgZm9udC1zaXplOiAxLjI1cmVtO1xuICAgICAgICAgIGNvbG9yOiAjMDA3QzZCOyB9XG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBTaWRlIFBhbmVsXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLmMtc2lkZS1wYW5lbCB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47IH1cbiAgLmMtc2lkZS1wYW5lbF9faGVhZGVyIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gICAgaGVpZ2h0OiA4MHB4OyB9XG4gICAgLmMtc2lkZS1wYW5lbF9faGVhZGVyIC5jLWxvZ29fX2xpbmsgaW1nIHtcbiAgICAgIG1heC1oZWlnaHQ6IDQ1cHg7XG4gICAgICB3aWR0aDogYXV0bzsgfVxuICAgIEBtZWRpYSAobWF4LXdpZHRoOiAxMDI0cHgpIHtcbiAgICAgIC5jLXNpZGUtcGFuZWxfX2hlYWRlciB7XG4gICAgICAgIGhlaWdodDogNjBweDsgfSB9XG4gIC5jLXNpZGUtcGFuZWxfX2Zvb3RlciB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIG1hcmdpbi10b3A6IDQwcHg7IH1cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIFNvaW5nbGUgbmF2XG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLmMtc2luZ2xlLW5hdiB7XG4gIHdpZHRoOiAxMDAlO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xuICBib3gtc2hhZG93OiAwcHggMHB4IDQ2cHggMHB4IHJnYmEoMCwgMCwgMCwgMC4yKTtcbiAgcGFkZGluZzogMjVweDtcbiAgcGFkZGluZy1ib3R0b206IDc1cHg7XG4gIGZvbnQtc2l6ZTogMTVweDsgfVxuICAuYy1zaW5nbGUtbmF2X19saXN0IHtcbiAgICBsaXN0LXN0eWxlOiBub25lO1xuICAgIHBhZGRpbmc6IDA7XG4gICAgbWFyZ2luOiAwOyB9XG4gICAgLmMtc2luZ2xlLW5hdl9fbGlzdF9faXRlbSAuYy1saW5rOmxpbmssIC5jLXNpbmdsZS1uYXZfX2xpc3RfX2l0ZW0gLmMtbGluazp2aXNpdGVkLCAuYy1zaW5nbGUtbmF2X19saXN0X19pdGVtIC5jLWxpbms6Zm9jdXMsIC5jLXNpbmdsZS1uYXZfX2xpc3RfX2l0ZW0gLmMtbGluazpob3ZlciB7XG4gICAgICBjb2xvcjogIzAwOTk4ODsgfVxuICAgIC5jLXNpbmdsZS1uYXZfX2xpc3RfX2l0ZW06bm90KDpsYXN0LWNoaWxkKSB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAxMHB4OyB9XG4gIEBtZWRpYSAobWF4LXdpZHRoOiAxMDI0cHgpIHtcbiAgICAuYy1zaW5nbGUtbmF2IHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7IH0gfVxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgU2luZ2xlIG5hdiB3cmFwcGVyXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLmMtc2luZ2xlLW5hdi13cmFwcGVyIHtcbiAgZGlzcGxheTogbm9uZTtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIHdpZHRoOiAyNDBweDtcbiAgaGVpZ2h0OiBhdXRvO1xuICB0b3A6IDA7XG4gIHJpZ2h0OiAwO1xuICB6LWluZGV4OiA2MDtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0cmFuc2l0aW9uOiBtYXJnaW4gLjVzIGVhc2Utb3V0OyB9XG4gIC5jLXNpbmdsZS1uYXYtd3JhcHBlci5pcy1hY3RpdmUge1xuICAgIGRpc3BsYXk6IGZsZXg7IH1cbiAgQG1lZGlhIChtYXgtd2lkdGg6IDEwMjRweCkge1xuICAgIC5jLXNpbmdsZS1uYXYtd3JhcHBlciB7XG4gICAgICBwb3NpdGlvbjogZml4ZWQ7XG4gICAgICB0b3A6IDA7XG4gICAgICBsZWZ0OiAtNTc2cHg7XG4gICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgICAgaGVpZ2h0OiAxMDB2aDtcbiAgICAgIHdpZHRoOiA1NzZweDtcbiAgICAgIG1heC13aWR0aDogNzV2dztcbiAgICAgIHotaW5kZXg6IDMwMDsgfSB9XG4gIC5jLXNpbmdsZS1uYXYtd3JhcHBlci5pcy1vcGVuIHtcbiAgICB0cmFuc2l0aW9uOiBhbGwgMC4ycyBsaW5lYXI7IH1cbiAgICBAbWVkaWEgKG1heC13aWR0aDogMTAyNHB4KSB7XG4gICAgICAuYy1zaW5nbGUtbmF2LXdyYXBwZXIuaXMtb3BlbiB7XG4gICAgICAgIGxlZnQ6IDA7IH0gfVxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgU2luZ2xlIHBvc3RcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4uYy1zaW5nbGUtcG9zdCB7XG4gIGZvbnQtc2l6ZTogMThweDtcbiAgcGFkZGluZzogNjBweDtcbiAgbWFyZ2luOiAwO1xuICBtYXJnaW4tdG9wOiAwO1xuICBtYXJnaW4tYm90dG9tOiA0cHg7XG4gIHdpZHRoOiAxMDAlO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xuICBib3gtc2hhZG93OiAwcHggMHB4IDQ2cHggMHB4IHJnYmEoMCwgMCwgMCwgMC4yKTsgfVxuICBAbWVkaWEgKG1heC13aWR0aDogMTAyNHB4KSB7XG4gICAgLmMtc2luZ2xlLXBvc3Qge1xuICAgICAgcGFkZGluZzogMjVweDtcbiAgICAgIHdpZHRoOiAxMDAlOyB9IH1cbiAgLmMtc2luZ2xlLXBvc3RfX2hlYWRlciB7XG4gICAgcGFkZGluZzogNTBweCAwO1xuICAgIGJvcmRlci10b3A6IDFweCBzb2xpZCAjMDA5OTg4O1xuICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjMDA5OTg4O1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgICBhbGlnbi1pdGVtczogY2VudGVyOyB9XG4gICAgQG1lZGlhIChtYXgtd2lkdGg6IDEwMjRweCkge1xuICAgICAgLmMtc2luZ2xlLXBvc3RfX2hlYWRlciB7XG4gICAgICAgIHBhZGRpbmc6IDI1cHggMDtcbiAgICAgICAgZm9udC1zaXplOiAxNHB4OyB9IH1cbiAgLmMtc2luZ2xlLXBvc3RfX2F2YXRhciB7XG4gICAgd2lkdGg6IDYwcHg7XG4gICAgaGVpZ2h0OiA2MHB4O1xuICAgIG1hcmdpbi1yaWdodDogMzBweDtcbiAgICBib3JkZXItcmFkaXVzOiA1MCU7XG4gICAgYmFja2dyb3VuZC1zaXplOiBjb3ZlcjtcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiA1MCUgNTAlO1xuICAgIHRyYW5zaXRpb246IGFsbCAwLjFzIGxpbmVhcjsgfVxuICAgIC5jLXNpbmdsZS1wb3N0X19hdmF0YXI6aG92ZXIge1xuICAgICAgYm94LXNoYWRvdzogMHB4IDhweCAyNHB4IC0xNXB4IGJsYWNrOyB9XG4gIC5jLXNpbmdsZS1wb3N0X19hdXRob3Ige1xuICAgIG1hcmdpbi10b3A6IDA7IH1cbiAgLmMtc2luZ2xlLXBvc3RfX2NhdGVnb3JpZXMge1xuICAgIG1hcmdpbi1ib3R0b206IDA7IH1cbiAgLmMtc2luZ2xlLXBvc3RfX2NvbnRlbnQge1xuICAgIHBhZGRpbmctdG9wOiAyNXB4OyB9XG4gICAgLmMtc2luZ2xlLXBvc3RfX2NvbnRlbnQgLmMtc2luZ2xlLXBvc3RfX2NvbnRlbnQge1xuICAgICAgdGV4dC1hbGlnbjogcmlnaHQ7IH1cbiAgICAuYy1zaW5nbGUtcG9zdF9fY29udGVudCBwLFxuICAgIC5jLXNpbmdsZS1wb3N0X19jb250ZW50IHVsLFxuICAgIC5jLXNpbmdsZS1wb3N0X19jb250ZW50IG9sIHtcbiAgICAgIGxpbmUtaGVpZ2h0OiAxLjc1O1xuICAgICAgY29sb3I6ICM1YzVjNWM7IH1cbiAgICAgIC5jLXNpbmdsZS1wb3N0X19jb250ZW50IHA6Zmlyc3QtY2hpbGQsXG4gICAgICAuYy1zaW5nbGUtcG9zdF9fY29udGVudCB1bDpmaXJzdC1jaGlsZCxcbiAgICAgIC5jLXNpbmdsZS1wb3N0X19jb250ZW50IG9sOmZpcnN0LWNoaWxkIHtcbiAgICAgICAgbWFyZ2luLXRvcDogMDsgfVxuICAgICAgLmMtc2luZ2xlLXBvc3RfX2NvbnRlbnQgcCBzdHJvbmcsXG4gICAgICAuYy1zaW5nbGUtcG9zdF9fY29udGVudCB1bCBzdHJvbmcsXG4gICAgICAuYy1zaW5nbGUtcG9zdF9fY29udGVudCBvbCBzdHJvbmcge1xuICAgICAgICBjb2xvcjogIzFGMUYxRjtcbiAgICAgICAgZm9udC1zaXplOiAyNnB4OyB9XG4gICAgICAgIEBtZWRpYSAobWF4LXdpZHRoOiAxMDI0cHgpIHtcbiAgICAgICAgICAuYy1zaW5nbGUtcG9zdF9fY29udGVudCBwIHN0cm9uZyxcbiAgICAgICAgICAuYy1zaW5nbGUtcG9zdF9fY29udGVudCB1bCBzdHJvbmcsXG4gICAgICAgICAgLmMtc2luZ2xlLXBvc3RfX2NvbnRlbnQgb2wgc3Ryb25nIHtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMThweDsgfSB9XG4gICAgICAuYy1zaW5nbGUtcG9zdF9fY29udGVudCBwIGltZyxcbiAgICAgIC5jLXNpbmdsZS1wb3N0X19jb250ZW50IHVsIGltZyxcbiAgICAgIC5jLXNpbmdsZS1wb3N0X19jb250ZW50IG9sIGltZyB7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBoZWlnaHQ6IGF1dG87IH1cbiAgICAuYy1zaW5nbGUtcG9zdF9fY29udGVudCB0YWJsZSB7XG4gICAgICBmb250LXNpemU6IDAuOGVtO1xuICAgICAgYm9yZGVyLXNwYWNpbmc6IDA7XG4gICAgICBib3JkZXItY29sbGFwc2U6IGluaGVyaXQ7XG4gICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgI2YzZjRmNTtcbiAgICAgIHRhYmxlLWxheW91dDogZml4ZWQ7XG4gICAgICB3aWR0aDogMTAwJTsgfVxuICAgICAgLmMtc2luZ2xlLXBvc3RfX2NvbnRlbnQgdGFibGUgdGQge1xuICAgICAgICBwYWRkaW5nOiA1cHggMTBweDsgfVxuICAgIC5jLXNpbmdsZS1wb3N0X19jb250ZW50IHVsIGxpLFxuICAgIC5jLXNpbmdsZS1wb3N0X19jb250ZW50IG9sIGxpIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDVweDsgfVxuICAgIC5jLXNpbmdsZS1wb3N0X19jb250ZW50IGZpZ3VyZSB7XG4gICAgICBtYXJnaW4tdG9wOiA0MHB4O1xuICAgICAgbWFyZ2luLWxlZnQ6IDA7XG4gICAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gICAgICBtYXJnaW4tYm90dG9tOiA1MHB4O1xuICAgICAgd2lkdGg6IDEwMCUgIWltcG9ydGFudDsgfVxuICAgICAgLmMtc2luZ2xlLXBvc3RfX2NvbnRlbnQgZmlndXJlIGltZyB7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBoZWlnaHQ6IGF1dG87IH1cbiAgICAgIC5jLXNpbmdsZS1wb3N0X19jb250ZW50IGZpZ3VyZSBmaWdjYXB0aW9uIHtcbiAgICAgICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgICAgICAgbWFyZ2luLXRvcDogMTBweDtcbiAgICAgICAgZm9udC1zaXplOiAxZW07XG4gICAgICAgIGNvbG9yOiAjMUYxRjFGOyB9XG4gICAgLmMtc2luZ2xlLXBvc3RfX2NvbnRlbnQgaDEsXG4gICAgLmMtc2luZ2xlLXBvc3RfX2NvbnRlbnQgaDIsXG4gICAgLmMtc2luZ2xlLXBvc3RfX2NvbnRlbnQgaDMsXG4gICAgLmMtc2luZ2xlLXBvc3RfX2NvbnRlbnQgaDQsXG4gICAgLmMtc2luZ2xlLXBvc3RfX2NvbnRlbnQgaDUsXG4gICAgLmMtc2luZ2xlLXBvc3RfX2NvbnRlbnQgaDYge1xuICAgICAgY29sb3I6ICMwMDk5ODg7XG4gICAgICBwYWRkaW5nLXRvcDogNTBweDsgfVxuICAgIC5jLXNpbmdsZS1wb3N0X19jb250ZW50LS1vZmZzZXQge1xuICAgICAgcGFkZGluZy1ib3R0b206IDUwcHg7IH1cbiAgICAuYy1zaW5nbGUtcG9zdF9fY29udGVudCBhIHtcbiAgICAgIGNvbG9yOiAjMDA5Njg4OyB9XG4gICAgICAuYy1zaW5nbGUtcG9zdF9fY29udGVudCBhOmFjdGl2ZSwgLmMtc2luZ2xlLXBvc3RfX2NvbnRlbnQgYTpmb2N1cywgLmMtc2luZ2xlLXBvc3RfX2NvbnRlbnQgYTp2aXNpdGVkIHtcbiAgICAgICAgY29sb3I6ICMwMDk2ODg7IH1cbiAgICAgIC5jLXNpbmdsZS1wb3N0X19jb250ZW50IGE6aG92ZXIge1xuICAgICAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTsgfVxuICAgIEBtZWRpYSAobWF4LXdpZHRoOiA3NjdweCkge1xuICAgICAgLmMtc2luZ2xlLXBvc3RfX2NvbnRlbnQgLndwLWJsb2NrLWdhbGxlcnkge1xuICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uOyB9XG4gICAgICAgIC5jLXNpbmdsZS1wb3N0X19jb250ZW50IC53cC1ibG9jay1nYWxsZXJ5IC5ibG9ja3MtZ2FsbGVyeS1pdGVtIHtcbiAgICAgICAgICB3aWR0aDogMTAwJTsgfSB9XG4gIC5jLXNpbmdsZS1wb3N0X19jb21tZW50cyB7XG4gICAgYm9yZGVyLXRvcDogMXB4IHNvbGlkICMwMDk5ODg7XG4gICAgcGFkZGluZy10b3A6IDUwcHg7IH1cbiAgICAuYy1zaW5nbGUtcG9zdF9fY29tbWVudHMgLmMtc2luZ2xlLXBvc3RfX3RpdGxlIHtcbiAgICAgIG1hcmdpbi10b3A6IDA7IH1cbiAgLmMtc2luZ2xlLXBvc3RfX3JlbGF0ZWQtcG9zdHMtdGl0bGUge1xuICAgIG1hcmdpbi10b3A6IDUwcHg7IH1cbiAgLmMtc2luZ2xlLXBvc3RfX3JlbGF0ZWQtcG9zdHMge1xuICAgIGxpc3Qtc3R5bGU6IG5vbmU7XG4gICAgbWFyZ2luOiAwO1xuICAgIHBhZGRpbmc6IDA7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICAgIGFsaWduLWl0ZW1zOiBzdHJldGNoO1xuICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgICBtYXJnaW4tdG9wOiAyMHB4OyB9XG4gICAgQG1lZGlhIChtYXgtd2lkdGg6IDEwMjRweCkge1xuICAgICAgLmMtc2luZ2xlLXBvc3RfX3JlbGF0ZWQtcG9zdHMge1xuICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uOyB9IH1cbiAgICAuYy1zaW5nbGUtcG9zdF9fcmVsYXRlZC1wb3N0cyAuYy1yZWxhdGVkLXBvc3Qge1xuICAgICAgd2lkdGg6IGNhbGMoKDEwMCUgLyAzKSAtIDE1cHgpO1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICBhbGlnbi1pdGVtczogZmxleC1zdGFydDtcbiAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDsgfVxuICAgICAgQG1lZGlhIChtYXgtd2lkdGg6IDEwMjRweCkge1xuICAgICAgICAuYy1zaW5nbGUtcG9zdF9fcmVsYXRlZC1wb3N0cyAuYy1yZWxhdGVkLXBvc3Qge1xuICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgIG1hcmdpbi1ib3R0b206IDM1cHg7IH0gfVxuICAgICAgLmMtc2luZ2xlLXBvc3RfX3JlbGF0ZWQtcG9zdHMgLmMtcmVsYXRlZC1wb3N0X193cmFwcGVyIHtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIGhlaWdodDogYXV0bzsgfVxuICAgICAgLmMtc2luZ2xlLXBvc3RfX3JlbGF0ZWQtcG9zdHMgLmMtcmVsYXRlZC1wb3N0X19pbWFnZSB7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBoZWlnaHQ6IDIwMHB4O1xuICAgICAgICBiYWNrZ3JvdW5kLXNpemU6IGNvdmVyO1xuICAgICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiA1MCUgNTAlOyB9XG4gICAgICAuYy1zaW5nbGUtcG9zdF9fcmVsYXRlZC1wb3N0cyAuYy1yZWxhdGVkLXBvc3RfX3RpdGxlIHtcbiAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICBwYWRkaW5nOiAwO1xuICAgICAgICBtYXJnaW46IDIwcHggMCAzMHB4OyB9XG4gICAgICAgIEBtZWRpYSAobWF4LXdpZHRoOiAxMDI0cHgpIHtcbiAgICAgICAgICAuYy1zaW5nbGUtcG9zdF9fcmVsYXRlZC1wb3N0cyAuYy1yZWxhdGVkLXBvc3RfX3RpdGxlIHtcbiAgICAgICAgICAgIG1hcmdpbjogMTVweCAwOyB9IH1cbiAgICAgIC5jLXNpbmdsZS1wb3N0X19yZWxhdGVkLXBvc3RzIC5jLXJlbGF0ZWQtcG9zdF9fbGluayB7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jazsgfVxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgU2luZ2xlIHBvc3Qgd3JhcHBlclxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi5jLXNpbmdsZS1wb3N0LXdyYXBwZXIge1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiBhdXRvO1xuICB6LWluZGV4OiA2MDtcbiAgdG9wOiAtNzVweDtcbiAgcG9zaXRpb246IHJlbGF0aXZlOyB9XG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBTbGlkZVxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi5jLXNsaWRlIHtcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIGhlaWdodDogODV2aDtcbiAgcG9zaXRpb246IHJlbGF0aXZlOyB9XG4gIC5jLXNsaWRlX19kYXRlLCAuYy1zbGlkZV9fdGl0bGUsIC5jLXNsaWRlX19kZXNjLCAuYy1zbGlkZV9fY3RhLCAuYy1zbGlkZV9fdGFncyB7XG4gICAgbWFyZ2luOiAwO1xuICAgIHBhZGRpbmc6IDA7XG4gICAgbWF4LXdpZHRoOiA3MCU7IH1cbiAgICBAbWVkaWEgKG1heC13aWR0aDogMTAyNHB4KSB7XG4gICAgICAuYy1zbGlkZV9fZGF0ZSwgLmMtc2xpZGVfX3RpdGxlLCAuYy1zbGlkZV9fZGVzYywgLmMtc2xpZGVfX2N0YSwgLmMtc2xpZGVfX3RhZ3Mge1xuICAgICAgICBtYXgtd2lkdGg6IDEwMCU7IH0gfVxuICAuYy1zbGlkZV9fZGF0ZSB7XG4gICAgcGFkZGluZy1ib3R0b206IDE1cHg7XG4gICAgY29sb3I6ICNmZmY7XG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICBmb250LXdlaWdodDogYm9sZDtcbiAgICBmb250LXNpemU6IDE1cHg7IH1cbiAgICBAbWVkaWEgKG1heC13aWR0aDogMTAyNHB4KSB7XG4gICAgICAuYy1zbGlkZV9fZGF0ZSB7XG4gICAgICAgIGZvbnQtc2l6ZTogMTNweDsgfSB9XG4gIC5jLXNsaWRlX190aXRsZSB7XG4gICAgcGFkZGluZy1ib3R0b206IDMwcHg7XG4gICAgY29sb3I6ICNmZmY7XG4gICAgZm9udC1zaXplOiA0OHB4OyB9XG4gICAgQG1lZGlhIChtYXgtd2lkdGg6IDc2N3B4KSB7XG4gICAgICAuYy1zbGlkZV9fdGl0bGUge1xuICAgICAgICBwYWRkaW5nLWJvdHRvbTogNTBweDtcbiAgICAgICAgZm9udC1zaXplOiA0MnB4OyB9IH1cbiAgLmMtc2xpZGVfX2Rlc2Mge1xuICAgIHBhZGRpbmctYm90dG9tOiA1MHB4O1xuICAgIGNvbG9yOiAjZmZmO1xuICAgIGZvbnQtc2l6ZTogMS4yNXJlbTtcbiAgICBsaW5lLWhlaWdodDogMS41OyB9XG4gICAgQG1lZGlhIChtYXgtd2lkdGg6IDc2N3B4KSB7XG4gICAgICAuYy1zbGlkZV9fZGVzYyB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7IH0gfVxuICAuYy1zbGlkZV9fY3RhIHtcbiAgICBwYWRkaW5nLWJvdHRvbTogNTBweDsgfVxuICAuYy1zbGlkZV9fdGFncyB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDtcbiAgICBmbGV4LXdyYXA6IHdyYXA7XG4gICAgbGlzdC1zdHlsZTogbm9uZTtcbiAgICBtYXJnaW46IDA7XG4gICAgcGFkZGluZzogMDsgfVxuICAgIC5jLXNsaWRlX190YWdzX19lbGVtIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDE1cHg7IH1cbiAgICAgIC5jLXNsaWRlX190YWdzX19lbGVtIC5jLWxpbmsge1xuICAgICAgICBwYWRkaW5nOiA3cHggMTBweDtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjcpOyB9XG4gICAgICAuYy1zbGlkZV9fdGFnc19fZWxlbTpub3QoOmxhc3QtY2hpbGQpIHtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAxNXB4OyB9XG4gICAgQG1lZGlhIChtYXgtd2lkdGg6IDc2N3B4KSB7XG4gICAgICAuYy1zbGlkZV9fdGFncyB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7IH0gfVxuICAuYy1zbGlkZSAubC1pbm5lciB7XG4gICAgei1pbmRleDogNTA7IH1cbiAgLmMtc2xpZGVfX292ZXJsYXkge1xuICAgIHotaW5kZXg6IDQ5O1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDA7XG4gICAgbGVmdDogMDtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgYmFja2dyb3VuZDogLW1vei1saW5lYXItZ3JhZGllbnQobGVmdCwgcmdiYSgwLCAwLCAwLCAwLjg1KSAwJSwgcmdiYSgwLCAwLCAwLCAwKSAxMDAlKTtcbiAgICBiYWNrZ3JvdW5kOiAtd2Via2l0LWxpbmVhci1ncmFkaWVudChsZWZ0LCByZ2JhKDAsIDAsIDAsIDAuODUpIDAlLCByZ2JhKDAsIDAsIDAsIDApIDEwMCUpO1xuICAgIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCh0byByaWdodCwgcmdiYSgwLCAwLCAwLCAwLjg1KSAwJSwgcmdiYSgwLCAwLCAwLCAwKSAxMDAlKTtcbiAgICBmaWx0ZXI6IHByb2dpZDpEWEltYWdlVHJhbnNmb3JtLk1pY3Jvc29mdC5ncmFkaWVudCggc3RhcnRDb2xvcnN0cj0nI2ZmMDAwMDAwJywgZW5kQ29sb3JzdHI9JyMwMDAwMDAwMCcsR3JhZGllbnRUeXBlPTEgKTsgfVxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgU29jaWFsIG5hdmlnYXRpb24gbWVudVxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi5jLXNvY2lhbC1uYXYge1xuICBkaXNwbGF5OiBmbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgcGFkZGluZzogMDtcbiAgbWFyZ2luOiAwO1xuICBsaXN0LXN0eWxlOiBub25lOyB9XG4gIC5jLXNvY2lhbC1uYXZfX2l0ZW0gLmMtbGluayB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgYm94LXNpemluZzogY29udGVudC1ib3g7XG4gICAgcGFkZGluZzogMTBweDtcbiAgICBjb2xvcjogYmxhY2s7IH1cbiAgICAuYy1zb2NpYWwtbmF2X19pdGVtIC5jLWxpbmsgLnVpLWljb24ge1xuICAgICAgZm9udC1zaXplOiAxLjc1ZW07XG4gICAgICBmaWxsOiBjdXJyZW50Q29sb3I7IH1cbiAgICAuYy1zb2NpYWwtbmF2X19pdGVtIC5jLWxpbms6aG92ZXIge1xuICAgICAgY29sb3I6ICMwMDk5ODg7IH1cbiAgQG1lZGlhIChtYXgtd2lkdGg6IDc2N3B4KSB7XG4gICAgLmMtc29jaWFsLW5hdl9faXRlbTpub3QoOmxhc3QtY2hpbGQpIHtcbiAgICAgIG1hcmdpbi1yaWdodDogMTBweDsgfSB9XG5cbi5jLWZvb3Rlci13cmFwcGVyIC5jLXNvY2lhbC1uYXZfX2l0ZW06Zmlyc3QtY2hpbGQgYSB7XG4gIHBhZGRpbmctbGVmdDogMDsgfVxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgU3VibWVudVxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBUYWdcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKiBVdGlsaXRpZXNcbiAgIEBtaXhpbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgVXRpbGl0aWVzXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuQG1lZGlhIChtYXgtd2lkdGg6IDEwMjRweCkge1xuICAudS1oaWRkZW4tdC1kbiB7XG4gICAgZGlzcGxheTogbm9uZTsgfSB9XG5cbmltZyB7XG4gIG1heC13aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiBhdXRvOyB9XG4iLCIvKiEgbm9ybWFsaXplLmNzcyB2OC4wLjEgfCBNSVQgTGljZW5zZSB8IGdpdGh1Yi5jb20vbmVjb2xhcy9ub3JtYWxpemUuY3NzICovXG5cbi8qIERvY3VtZW50XG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKipcbiAqIDEuIENvcnJlY3QgdGhlIGxpbmUgaGVpZ2h0IGluIGFsbCBicm93c2Vycy5cbiAqIDIuIFByZXZlbnQgYWRqdXN0bWVudHMgb2YgZm9udCBzaXplIGFmdGVyIG9yaWVudGF0aW9uIGNoYW5nZXMgaW4gaU9TLlxuICovXG5cbmh0bWwge1xuICBsaW5lLWhlaWdodDogMS4xNTsgLyogMSAqL1xuICAtd2Via2l0LXRleHQtc2l6ZS1hZGp1c3Q6IDEwMCU7IC8qIDIgKi9cbn1cblxuLyogU2VjdGlvbnNcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qKlxuICogUmVtb3ZlIHRoZSBtYXJnaW4gaW4gYWxsIGJyb3dzZXJzLlxuICovXG5cbmJvZHkge1xuICBtYXJnaW46IDA7XG59XG5cbi8qKlxuICogUmVuZGVyIHRoZSBgbWFpbmAgZWxlbWVudCBjb25zaXN0ZW50bHkgaW4gSUUuXG4gKi9cblxubWFpbiB7XG4gIGRpc3BsYXk6IGJsb2NrO1xufVxuXG4vKipcbiAqIENvcnJlY3QgdGhlIGZvbnQgc2l6ZSBhbmQgbWFyZ2luIG9uIGBoMWAgZWxlbWVudHMgd2l0aGluIGBzZWN0aW9uYCBhbmRcbiAqIGBhcnRpY2xlYCBjb250ZXh0cyBpbiBDaHJvbWUsIEZpcmVmb3gsIGFuZCBTYWZhcmkuXG4gKi9cblxuaDEge1xuICBmb250LXNpemU6IDJlbTtcbiAgbWFyZ2luOiAwLjY3ZW0gMDtcbn1cblxuLyogR3JvdXBpbmcgY29udGVudFxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLyoqXG4gKiAxLiBBZGQgdGhlIGNvcnJlY3QgYm94IHNpemluZyBpbiBGaXJlZm94LlxuICogMi4gU2hvdyB0aGUgb3ZlcmZsb3cgaW4gRWRnZSBhbmQgSUUuXG4gKi9cblxuaHIge1xuICBib3gtc2l6aW5nOiBjb250ZW50LWJveDsgLyogMSAqL1xuICBoZWlnaHQ6IDA7IC8qIDEgKi9cbiAgb3ZlcmZsb3c6IHZpc2libGU7IC8qIDIgKi9cbn1cblxuLyoqXG4gKiAxLiBDb3JyZWN0IHRoZSBpbmhlcml0YW5jZSBhbmQgc2NhbGluZyBvZiBmb250IHNpemUgaW4gYWxsIGJyb3dzZXJzLlxuICogMi4gQ29ycmVjdCB0aGUgb2RkIGBlbWAgZm9udCBzaXppbmcgaW4gYWxsIGJyb3dzZXJzLlxuICovXG5cbnByZSB7XG4gIGZvbnQtZmFtaWx5OiBtb25vc3BhY2UsIG1vbm9zcGFjZTsgLyogMSAqL1xuICBmb250LXNpemU6IDFlbTsgLyogMiAqL1xufVxuXG4vKiBUZXh0LWxldmVsIHNlbWFudGljc1xuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLyoqXG4gKiBSZW1vdmUgdGhlIGdyYXkgYmFja2dyb3VuZCBvbiBhY3RpdmUgbGlua3MgaW4gSUUgMTAuXG4gKi9cblxuYSB7XG4gIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xufVxuXG4vKipcbiAqIDEuIFJlbW92ZSB0aGUgYm90dG9tIGJvcmRlciBpbiBDaHJvbWUgNTctXG4gKiAyLiBBZGQgdGhlIGNvcnJlY3QgdGV4dCBkZWNvcmF0aW9uIGluIENocm9tZSwgRWRnZSwgSUUsIE9wZXJhLCBhbmQgU2FmYXJpLlxuICovXG5cbmFiYnJbdGl0bGVdIHtcbiAgYm9yZGVyLWJvdHRvbTogbm9uZTsgLyogMSAqL1xuICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTsgLyogMiAqL1xuICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZSBkb3R0ZWQ7IC8qIDIgKi9cbn1cblxuLyoqXG4gKiBBZGQgdGhlIGNvcnJlY3QgZm9udCB3ZWlnaHQgaW4gQ2hyb21lLCBFZGdlLCBhbmQgU2FmYXJpLlxuICovXG5cbmIsXG5zdHJvbmcge1xuICBmb250LXdlaWdodDogYm9sZGVyO1xufVxuXG4vKipcbiAqIDEuIENvcnJlY3QgdGhlIGluaGVyaXRhbmNlIGFuZCBzY2FsaW5nIG9mIGZvbnQgc2l6ZSBpbiBhbGwgYnJvd3NlcnMuXG4gKiAyLiBDb3JyZWN0IHRoZSBvZGQgYGVtYCBmb250IHNpemluZyBpbiBhbGwgYnJvd3NlcnMuXG4gKi9cblxuY29kZSxcbmtiZCxcbnNhbXAge1xuICBmb250LWZhbWlseTogbW9ub3NwYWNlLCBtb25vc3BhY2U7IC8qIDEgKi9cbiAgZm9udC1zaXplOiAxZW07IC8qIDIgKi9cbn1cblxuLyoqXG4gKiBBZGQgdGhlIGNvcnJlY3QgZm9udCBzaXplIGluIGFsbCBicm93c2Vycy5cbiAqL1xuXG5zbWFsbCB7XG4gIGZvbnQtc2l6ZTogODAlO1xufVxuXG4vKipcbiAqIFByZXZlbnQgYHN1YmAgYW5kIGBzdXBgIGVsZW1lbnRzIGZyb20gYWZmZWN0aW5nIHRoZSBsaW5lIGhlaWdodCBpblxuICogYWxsIGJyb3dzZXJzLlxuICovXG5cbnN1YixcbnN1cCB7XG4gIGZvbnQtc2l6ZTogNzUlO1xuICBsaW5lLWhlaWdodDogMDtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB2ZXJ0aWNhbC1hbGlnbjogYmFzZWxpbmU7XG59XG5cbnN1YiB7XG4gIGJvdHRvbTogLTAuMjVlbTtcbn1cblxuc3VwIHtcbiAgdG9wOiAtMC41ZW07XG59XG5cbi8qIEVtYmVkZGVkIGNvbnRlbnRcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qKlxuICogUmVtb3ZlIHRoZSBib3JkZXIgb24gaW1hZ2VzIGluc2lkZSBsaW5rcyBpbiBJRSAxMC5cbiAqL1xuXG5pbWcge1xuICBib3JkZXItc3R5bGU6IG5vbmU7XG59XG5cbi8qIEZvcm1zXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKipcbiAqIDEuIENoYW5nZSB0aGUgZm9udCBzdHlsZXMgaW4gYWxsIGJyb3dzZXJzLlxuICogMi4gUmVtb3ZlIHRoZSBtYXJnaW4gaW4gRmlyZWZveCBhbmQgU2FmYXJpLlxuICovXG5cbmJ1dHRvbixcbmlucHV0LFxub3B0Z3JvdXAsXG5zZWxlY3QsXG50ZXh0YXJlYSB7XG4gIGZvbnQtZmFtaWx5OiBpbmhlcml0OyAvKiAxICovXG4gIGZvbnQtc2l6ZTogMTAwJTsgLyogMSAqL1xuICBsaW5lLWhlaWdodDogMS4xNTsgLyogMSAqL1xuICBtYXJnaW46IDA7IC8qIDIgKi9cbn1cblxuLyoqXG4gKiBTaG93IHRoZSBvdmVyZmxvdyBpbiBJRS5cbiAqIDEuIFNob3cgdGhlIG92ZXJmbG93IGluIEVkZ2UuXG4gKi9cblxuYnV0dG9uLFxuaW5wdXQgeyAvKiAxICovXG4gIG92ZXJmbG93OiB2aXNpYmxlO1xufVxuXG4vKipcbiAqIFJlbW92ZSB0aGUgaW5oZXJpdGFuY2Ugb2YgdGV4dCB0cmFuc2Zvcm0gaW4gRWRnZSwgRmlyZWZveCwgYW5kIElFLlxuICogMS4gUmVtb3ZlIHRoZSBpbmhlcml0YW5jZSBvZiB0ZXh0IHRyYW5zZm9ybSBpbiBGaXJlZm94LlxuICovXG5cbmJ1dHRvbixcbnNlbGVjdCB7IC8qIDEgKi9cbiAgdGV4dC10cmFuc2Zvcm06IG5vbmU7XG59XG5cbi8qKlxuICogQ29ycmVjdCB0aGUgaW5hYmlsaXR5IHRvIHN0eWxlIGNsaWNrYWJsZSB0eXBlcyBpbiBpT1MgYW5kIFNhZmFyaS5cbiAqL1xuXG5idXR0b24sXG5bdHlwZT1cImJ1dHRvblwiXSxcblt0eXBlPVwicmVzZXRcIl0sXG5bdHlwZT1cInN1Ym1pdFwiXSB7XG4gIC13ZWJraXQtYXBwZWFyYW5jZTogYnV0dG9uO1xufVxuXG4vKipcbiAqIFJlbW92ZSB0aGUgaW5uZXIgYm9yZGVyIGFuZCBwYWRkaW5nIGluIEZpcmVmb3guXG4gKi9cblxuYnV0dG9uOjotbW96LWZvY3VzLWlubmVyLFxuW3R5cGU9XCJidXR0b25cIl06Oi1tb3otZm9jdXMtaW5uZXIsXG5bdHlwZT1cInJlc2V0XCJdOjotbW96LWZvY3VzLWlubmVyLFxuW3R5cGU9XCJzdWJtaXRcIl06Oi1tb3otZm9jdXMtaW5uZXIge1xuICBib3JkZXItc3R5bGU6IG5vbmU7XG4gIHBhZGRpbmc6IDA7XG59XG5cbi8qKlxuICogUmVzdG9yZSB0aGUgZm9jdXMgc3R5bGVzIHVuc2V0IGJ5IHRoZSBwcmV2aW91cyBydWxlLlxuICovXG5cbmJ1dHRvbjotbW96LWZvY3VzcmluZyxcblt0eXBlPVwiYnV0dG9uXCJdOi1tb3otZm9jdXNyaW5nLFxuW3R5cGU9XCJyZXNldFwiXTotbW96LWZvY3VzcmluZyxcblt0eXBlPVwic3VibWl0XCJdOi1tb3otZm9jdXNyaW5nIHtcbiAgb3V0bGluZTogMXB4IGRvdHRlZCBCdXR0b25UZXh0O1xufVxuXG4vKipcbiAqIENvcnJlY3QgdGhlIHBhZGRpbmcgaW4gRmlyZWZveC5cbiAqL1xuXG5maWVsZHNldCB7XG4gIHBhZGRpbmc6IDAuMzVlbSAwLjc1ZW0gMC42MjVlbTtcbn1cblxuLyoqXG4gKiAxLiBDb3JyZWN0IHRoZSB0ZXh0IHdyYXBwaW5nIGluIEVkZ2UgYW5kIElFLlxuICogMi4gQ29ycmVjdCB0aGUgY29sb3IgaW5oZXJpdGFuY2UgZnJvbSBgZmllbGRzZXRgIGVsZW1lbnRzIGluIElFLlxuICogMy4gUmVtb3ZlIHRoZSBwYWRkaW5nIHNvIGRldmVsb3BlcnMgYXJlIG5vdCBjYXVnaHQgb3V0IHdoZW4gdGhleSB6ZXJvIG91dFxuICogICAgYGZpZWxkc2V0YCBlbGVtZW50cyBpbiBhbGwgYnJvd3NlcnMuXG4gKi9cblxubGVnZW5kIHtcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDsgLyogMSAqL1xuICBjb2xvcjogaW5oZXJpdDsgLyogMiAqL1xuICBkaXNwbGF5OiB0YWJsZTsgLyogMSAqL1xuICBtYXgtd2lkdGg6IDEwMCU7IC8qIDEgKi9cbiAgcGFkZGluZzogMDsgLyogMyAqL1xuICB3aGl0ZS1zcGFjZTogbm9ybWFsOyAvKiAxICovXG59XG5cbi8qKlxuICogQWRkIHRoZSBjb3JyZWN0IHZlcnRpY2FsIGFsaWdubWVudCBpbiBDaHJvbWUsIEZpcmVmb3gsIGFuZCBPcGVyYS5cbiAqL1xuXG5wcm9ncmVzcyB7XG4gIHZlcnRpY2FsLWFsaWduOiBiYXNlbGluZTtcbn1cblxuLyoqXG4gKiBSZW1vdmUgdGhlIGRlZmF1bHQgdmVydGljYWwgc2Nyb2xsYmFyIGluIElFIDEwKy5cbiAqL1xuXG50ZXh0YXJlYSB7XG4gIG92ZXJmbG93OiBhdXRvO1xufVxuXG4vKipcbiAqIDEuIEFkZCB0aGUgY29ycmVjdCBib3ggc2l6aW5nIGluIElFIDEwLlxuICogMi4gUmVtb3ZlIHRoZSBwYWRkaW5nIGluIElFIDEwLlxuICovXG5cblt0eXBlPVwiY2hlY2tib3hcIl0sXG5bdHlwZT1cInJhZGlvXCJdIHtcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDsgLyogMSAqL1xuICBwYWRkaW5nOiAwOyAvKiAyICovXG59XG5cbi8qKlxuICogQ29ycmVjdCB0aGUgY3Vyc29yIHN0eWxlIG9mIGluY3JlbWVudCBhbmQgZGVjcmVtZW50IGJ1dHRvbnMgaW4gQ2hyb21lLlxuICovXG5cblt0eXBlPVwibnVtYmVyXCJdOjotd2Via2l0LWlubmVyLXNwaW4tYnV0dG9uLFxuW3R5cGU9XCJudW1iZXJcIl06Oi13ZWJraXQtb3V0ZXItc3Bpbi1idXR0b24ge1xuICBoZWlnaHQ6IGF1dG87XG59XG5cbi8qKlxuICogMS4gQ29ycmVjdCB0aGUgb2RkIGFwcGVhcmFuY2UgaW4gQ2hyb21lIGFuZCBTYWZhcmkuXG4gKiAyLiBDb3JyZWN0IHRoZSBvdXRsaW5lIHN0eWxlIGluIFNhZmFyaS5cbiAqL1xuXG5bdHlwZT1cInNlYXJjaFwiXSB7XG4gIC13ZWJraXQtYXBwZWFyYW5jZTogdGV4dGZpZWxkOyAvKiAxICovXG4gIG91dGxpbmUtb2Zmc2V0OiAtMnB4OyAvKiAyICovXG59XG5cbi8qKlxuICogUmVtb3ZlIHRoZSBpbm5lciBwYWRkaW5nIGluIENocm9tZSBhbmQgU2FmYXJpIG9uIG1hY09TLlxuICovXG5cblt0eXBlPVwic2VhcmNoXCJdOjotd2Via2l0LXNlYXJjaC1kZWNvcmF0aW9uIHtcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lO1xufVxuXG4vKipcbiAqIDEuIENvcnJlY3QgdGhlIGluYWJpbGl0eSB0byBzdHlsZSBjbGlja2FibGUgdHlwZXMgaW4gaU9TIGFuZCBTYWZhcmkuXG4gKiAyLiBDaGFuZ2UgZm9udCBwcm9wZXJ0aWVzIHRvIGBpbmhlcml0YCBpbiBTYWZhcmkuXG4gKi9cblxuOjotd2Via2l0LWZpbGUtdXBsb2FkLWJ1dHRvbiB7XG4gIC13ZWJraXQtYXBwZWFyYW5jZTogYnV0dG9uOyAvKiAxICovXG4gIGZvbnQ6IGluaGVyaXQ7IC8qIDIgKi9cbn1cblxuLyogSW50ZXJhY3RpdmVcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qXG4gKiBBZGQgdGhlIGNvcnJlY3QgZGlzcGxheSBpbiBFZGdlLCBJRSAxMCssIGFuZCBGaXJlZm94LlxuICovXG5cbmRldGFpbHMge1xuICBkaXNwbGF5OiBibG9jaztcbn1cblxuLypcbiAqIEFkZCB0aGUgY29ycmVjdCBkaXNwbGF5IGluIGFsbCBicm93c2Vycy5cbiAqL1xuXG5zdW1tYXJ5IHtcbiAgZGlzcGxheTogbGlzdC1pdGVtO1xufVxuXG4vKiBNaXNjXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKipcbiAqIEFkZCB0aGUgY29ycmVjdCBkaXNwbGF5IGluIElFIDEwKy5cbiAqL1xuXG50ZW1wbGF0ZSB7XG4gIGRpc3BsYXk6IG5vbmU7XG59XG5cbi8qKlxuICogQWRkIHRoZSBjb3JyZWN0IGRpc3BsYXkgaW4gSUUgMTAuXG4gKi9cblxuW2hpZGRlbl0ge1xuICBkaXNwbGF5OiBub25lO1xufVxuIiwiLyoqXG4gKiBTd2lwZXIgNC41LjBcbiAqIE1vc3QgbW9kZXJuIG1vYmlsZSB0b3VjaCBzbGlkZXIgYW5kIGZyYW1ld29yayB3aXRoIGhhcmR3YXJlIGFjY2VsZXJhdGVkIHRyYW5zaXRpb25zXG4gKiBodHRwOi8vd3d3LmlkYW5nZXJvLnVzL3N3aXBlci9cbiAqXG4gKiBDb3B5cmlnaHQgMjAxNC0yMDE5IFZsYWRpbWlyIEtoYXJsYW1waWRpXG4gKlxuICogUmVsZWFzZWQgdW5kZXIgdGhlIE1JVCBMaWNlbnNlXG4gKlxuICogUmVsZWFzZWQgb246IEZlYnJ1YXJ5IDIyLCAyMDE5XG4gKi9cbi5zd2lwZXItY29udGFpbmVyIHtcbiAgbWFyZ2luOiAwIGF1dG87XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgbGlzdC1zdHlsZTogbm9uZTtcbiAgcGFkZGluZzogMDtcbiAgLyogRml4IG9mIFdlYmtpdCBmbGlja2VyaW5nICovXG4gIHotaW5kZXg6IDE7XG59XG4uc3dpcGVyLWNvbnRhaW5lci1uby1mbGV4Ym94IC5zd2lwZXItc2xpZGUge1xuICBmbG9hdDogbGVmdDtcbn1cbi5zd2lwZXItY29udGFpbmVyLXZlcnRpY2FsID4gLnN3aXBlci13cmFwcGVyIHtcbiAgLXdlYmtpdC1ib3gtb3JpZW50OiB2ZXJ0aWNhbDtcbiAgLXdlYmtpdC1ib3gtZGlyZWN0aW9uOiBub3JtYWw7XG4gIC13ZWJraXQtZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgLW1zLWZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG59XG4uc3dpcGVyLXdyYXBwZXIge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IDEwMCU7XG4gIHotaW5kZXg6IDE7XG4gIGRpc3BsYXk6IC13ZWJraXQtYm94O1xuICBkaXNwbGF5OiAtd2Via2l0LWZsZXg7XG4gIGRpc3BsYXk6IC1tcy1mbGV4Ym94O1xuICBkaXNwbGF5OiBmbGV4O1xuICAtd2Via2l0LXRyYW5zaXRpb24tcHJvcGVydHk6IC13ZWJraXQtdHJhbnNmb3JtO1xuICB0cmFuc2l0aW9uLXByb3BlcnR5OiAtd2Via2l0LXRyYW5zZm9ybTtcbiAgLW8tdHJhbnNpdGlvbi1wcm9wZXJ0eTogdHJhbnNmb3JtO1xuICB0cmFuc2l0aW9uLXByb3BlcnR5OiB0cmFuc2Zvcm07XG4gIHRyYW5zaXRpb24tcHJvcGVydHk6IHRyYW5zZm9ybSwgLXdlYmtpdC10cmFuc2Zvcm07XG4gIC13ZWJraXQtYm94LXNpemluZzogY29udGVudC1ib3g7XG4gIGJveC1zaXppbmc6IGNvbnRlbnQtYm94O1xufVxuLnN3aXBlci1jb250YWluZXItYW5kcm9pZCAuc3dpcGVyLXNsaWRlLFxuLnN3aXBlci13cmFwcGVyIHtcbiAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDBweCwgMCwgMCk7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMHB4LCAwLCAwKTtcbn1cbi5zd2lwZXItY29udGFpbmVyLW11bHRpcm93ID4gLnN3aXBlci13cmFwcGVyIHtcbiAgLXdlYmtpdC1mbGV4LXdyYXA6IHdyYXA7XG4gIC1tcy1mbGV4LXdyYXA6IHdyYXA7XG4gIGZsZXgtd3JhcDogd3JhcDtcbn1cbi5zd2lwZXItY29udGFpbmVyLWZyZWUtbW9kZSA+IC5zd2lwZXItd3JhcHBlciB7XG4gIC13ZWJraXQtdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2Utb3V0O1xuICAtby10cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1vdXQ7XG4gIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLW91dDtcbiAgbWFyZ2luOiAwIGF1dG87XG59XG4uc3dpcGVyLXNsaWRlIHtcbiAgLXdlYmtpdC1mbGV4LXNocmluazogMDtcbiAgLW1zLWZsZXgtbmVnYXRpdmU6IDA7XG4gIGZsZXgtc2hyaW5rOiAwO1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAxMDAlO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIC13ZWJraXQtdHJhbnNpdGlvbi1wcm9wZXJ0eTogLXdlYmtpdC10cmFuc2Zvcm07XG4gIHRyYW5zaXRpb24tcHJvcGVydHk6IC13ZWJraXQtdHJhbnNmb3JtO1xuICAtby10cmFuc2l0aW9uLXByb3BlcnR5OiB0cmFuc2Zvcm07XG4gIHRyYW5zaXRpb24tcHJvcGVydHk6IHRyYW5zZm9ybTtcbiAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogdHJhbnNmb3JtLCAtd2Via2l0LXRyYW5zZm9ybTtcbn1cbi5zd2lwZXItc2xpZGUtaW52aXNpYmxlLWJsYW5rIHtcbiAgdmlzaWJpbGl0eTogaGlkZGVuO1xufVxuLyogQXV0byBIZWlnaHQgKi9cbi5zd2lwZXItY29udGFpbmVyLWF1dG9oZWlnaHQsXG4uc3dpcGVyLWNvbnRhaW5lci1hdXRvaGVpZ2h0IC5zd2lwZXItc2xpZGUge1xuICBoZWlnaHQ6IGF1dG87XG59XG4uc3dpcGVyLWNvbnRhaW5lci1hdXRvaGVpZ2h0IC5zd2lwZXItd3JhcHBlciB7XG4gIC13ZWJraXQtYm94LWFsaWduOiBzdGFydDtcbiAgLXdlYmtpdC1hbGlnbi1pdGVtczogZmxleC1zdGFydDtcbiAgLW1zLWZsZXgtYWxpZ246IHN0YXJ0O1xuICBhbGlnbi1pdGVtczogZmxleC1zdGFydDtcbiAgLXdlYmtpdC10cmFuc2l0aW9uLXByb3BlcnR5OiBoZWlnaHQsIC13ZWJraXQtdHJhbnNmb3JtO1xuICB0cmFuc2l0aW9uLXByb3BlcnR5OiBoZWlnaHQsIC13ZWJraXQtdHJhbnNmb3JtO1xuICAtby10cmFuc2l0aW9uLXByb3BlcnR5OiB0cmFuc2Zvcm0sIGhlaWdodDtcbiAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogdHJhbnNmb3JtLCBoZWlnaHQ7XG4gIHRyYW5zaXRpb24tcHJvcGVydHk6IHRyYW5zZm9ybSwgaGVpZ2h0LCAtd2Via2l0LXRyYW5zZm9ybTtcbn1cbi8qIDNEIEVmZmVjdHMgKi9cbi5zd2lwZXItY29udGFpbmVyLTNkIHtcbiAgLXdlYmtpdC1wZXJzcGVjdGl2ZTogMTIwMHB4O1xuICBwZXJzcGVjdGl2ZTogMTIwMHB4O1xufVxuLnN3aXBlci1jb250YWluZXItM2QgLnN3aXBlci13cmFwcGVyLFxuLnN3aXBlci1jb250YWluZXItM2QgLnN3aXBlci1zbGlkZSxcbi5zd2lwZXItY29udGFpbmVyLTNkIC5zd2lwZXItc2xpZGUtc2hhZG93LWxlZnQsXG4uc3dpcGVyLWNvbnRhaW5lci0zZCAuc3dpcGVyLXNsaWRlLXNoYWRvdy1yaWdodCxcbi5zd2lwZXItY29udGFpbmVyLTNkIC5zd2lwZXItc2xpZGUtc2hhZG93LXRvcCxcbi5zd2lwZXItY29udGFpbmVyLTNkIC5zd2lwZXItc2xpZGUtc2hhZG93LWJvdHRvbSxcbi5zd2lwZXItY29udGFpbmVyLTNkIC5zd2lwZXItY3ViZS1zaGFkb3cge1xuICAtd2Via2l0LXRyYW5zZm9ybS1zdHlsZTogcHJlc2VydmUtM2Q7XG4gIHRyYW5zZm9ybS1zdHlsZTogcHJlc2VydmUtM2Q7XG59XG4uc3dpcGVyLWNvbnRhaW5lci0zZCAuc3dpcGVyLXNsaWRlLXNoYWRvdy1sZWZ0LFxuLnN3aXBlci1jb250YWluZXItM2QgLnN3aXBlci1zbGlkZS1zaGFkb3ctcmlnaHQsXG4uc3dpcGVyLWNvbnRhaW5lci0zZCAuc3dpcGVyLXNsaWRlLXNoYWRvdy10b3AsXG4uc3dpcGVyLWNvbnRhaW5lci0zZCAuc3dpcGVyLXNsaWRlLXNoYWRvdy1ib3R0b20ge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGxlZnQ6IDA7XG4gIHRvcDogMDtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogMTAwJTtcbiAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gIHotaW5kZXg6IDEwO1xufVxuLnN3aXBlci1jb250YWluZXItM2QgLnN3aXBlci1zbGlkZS1zaGFkb3ctbGVmdCB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IC13ZWJraXQtZ3JhZGllbnQobGluZWFyLCByaWdodCB0b3AsIGxlZnQgdG9wLCBmcm9tKHJnYmEoMCwgMCwgMCwgMC41KSksIHRvKHJnYmEoMCwgMCwgMCwgMCkpKTtcbiAgYmFja2dyb3VuZC1pbWFnZTogLXdlYmtpdC1saW5lYXItZ3JhZGllbnQocmlnaHQsIHJnYmEoMCwgMCwgMCwgMC41KSwgcmdiYSgwLCAwLCAwLCAwKSk7XG4gIGJhY2tncm91bmQtaW1hZ2U6IC1vLWxpbmVhci1ncmFkaWVudChyaWdodCwgcmdiYSgwLCAwLCAwLCAwLjUpLCByZ2JhKDAsIDAsIDAsIDApKTtcbiAgYmFja2dyb3VuZC1pbWFnZTogbGluZWFyLWdyYWRpZW50KHRvIGxlZnQsIHJnYmEoMCwgMCwgMCwgMC41KSwgcmdiYSgwLCAwLCAwLCAwKSk7XG59XG4uc3dpcGVyLWNvbnRhaW5lci0zZCAuc3dpcGVyLXNsaWRlLXNoYWRvdy1yaWdodCB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IC13ZWJraXQtZ3JhZGllbnQobGluZWFyLCBsZWZ0IHRvcCwgcmlnaHQgdG9wLCBmcm9tKHJnYmEoMCwgMCwgMCwgMC41KSksIHRvKHJnYmEoMCwgMCwgMCwgMCkpKTtcbiAgYmFja2dyb3VuZC1pbWFnZTogLXdlYmtpdC1saW5lYXItZ3JhZGllbnQobGVmdCwgcmdiYSgwLCAwLCAwLCAwLjUpLCByZ2JhKDAsIDAsIDAsIDApKTtcbiAgYmFja2dyb3VuZC1pbWFnZTogLW8tbGluZWFyLWdyYWRpZW50KGxlZnQsIHJnYmEoMCwgMCwgMCwgMC41KSwgcmdiYSgwLCAwLCAwLCAwKSk7XG4gIGJhY2tncm91bmQtaW1hZ2U6IGxpbmVhci1ncmFkaWVudCh0byByaWdodCwgcmdiYSgwLCAwLCAwLCAwLjUpLCByZ2JhKDAsIDAsIDAsIDApKTtcbn1cbi5zd2lwZXItY29udGFpbmVyLTNkIC5zd2lwZXItc2xpZGUtc2hhZG93LXRvcCB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IC13ZWJraXQtZ3JhZGllbnQobGluZWFyLCBsZWZ0IGJvdHRvbSwgbGVmdCB0b3AsIGZyb20ocmdiYSgwLCAwLCAwLCAwLjUpKSwgdG8ocmdiYSgwLCAwLCAwLCAwKSkpO1xuICBiYWNrZ3JvdW5kLWltYWdlOiAtd2Via2l0LWxpbmVhci1ncmFkaWVudChib3R0b20sIHJnYmEoMCwgMCwgMCwgMC41KSwgcmdiYSgwLCAwLCAwLCAwKSk7XG4gIGJhY2tncm91bmQtaW1hZ2U6IC1vLWxpbmVhci1ncmFkaWVudChib3R0b20sIHJnYmEoMCwgMCwgMCwgMC41KSwgcmdiYSgwLCAwLCAwLCAwKSk7XG4gIGJhY2tncm91bmQtaW1hZ2U6IGxpbmVhci1ncmFkaWVudCh0byB0b3AsIHJnYmEoMCwgMCwgMCwgMC41KSwgcmdiYSgwLCAwLCAwLCAwKSk7XG59XG4uc3dpcGVyLWNvbnRhaW5lci0zZCAuc3dpcGVyLXNsaWRlLXNoYWRvdy1ib3R0b20ge1xuICBiYWNrZ3JvdW5kLWltYWdlOiAtd2Via2l0LWdyYWRpZW50KGxpbmVhciwgbGVmdCB0b3AsIGxlZnQgYm90dG9tLCBmcm9tKHJnYmEoMCwgMCwgMCwgMC41KSksIHRvKHJnYmEoMCwgMCwgMCwgMCkpKTtcbiAgYmFja2dyb3VuZC1pbWFnZTogLXdlYmtpdC1saW5lYXItZ3JhZGllbnQodG9wLCByZ2JhKDAsIDAsIDAsIDAuNSksIHJnYmEoMCwgMCwgMCwgMCkpO1xuICBiYWNrZ3JvdW5kLWltYWdlOiAtby1saW5lYXItZ3JhZGllbnQodG9wLCByZ2JhKDAsIDAsIDAsIDAuNSksIHJnYmEoMCwgMCwgMCwgMCkpO1xuICBiYWNrZ3JvdW5kLWltYWdlOiBsaW5lYXItZ3JhZGllbnQodG8gYm90dG9tLCByZ2JhKDAsIDAsIDAsIDAuNSksIHJnYmEoMCwgMCwgMCwgMCkpO1xufVxuLyogSUUxMCBXaW5kb3dzIFBob25lIDggRml4ZXMgKi9cbi5zd2lwZXItY29udGFpbmVyLXdwOC1ob3Jpem9udGFsLFxuLnN3aXBlci1jb250YWluZXItd3A4LWhvcml6b250YWwgPiAuc3dpcGVyLXdyYXBwZXIge1xuICAtbXMtdG91Y2gtYWN0aW9uOiBwYW4teTtcbiAgdG91Y2gtYWN0aW9uOiBwYW4teTtcbn1cbi5zd2lwZXItY29udGFpbmVyLXdwOC12ZXJ0aWNhbCxcbi5zd2lwZXItY29udGFpbmVyLXdwOC12ZXJ0aWNhbCA+IC5zd2lwZXItd3JhcHBlciB7XG4gIC1tcy10b3VjaC1hY3Rpb246IHBhbi14O1xuICB0b3VjaC1hY3Rpb246IHBhbi14O1xufVxuLnN3aXBlci1idXR0b24tcHJldixcbi5zd2lwZXItYnV0dG9uLW5leHQge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogNTAlO1xuICB3aWR0aDogMjdweDtcbiAgaGVpZ2h0OiA0NHB4O1xuICBtYXJnaW4tdG9wOiAtMjJweDtcbiAgei1pbmRleDogMTA7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgYmFja2dyb3VuZC1zaXplOiAyN3B4IDQ0cHg7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlcjtcbiAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbn1cbi5zd2lwZXItYnV0dG9uLXByZXYuc3dpcGVyLWJ1dHRvbi1kaXNhYmxlZCxcbi5zd2lwZXItYnV0dG9uLW5leHQuc3dpcGVyLWJ1dHRvbi1kaXNhYmxlZCB7XG4gIG9wYWNpdHk6IDAuMzU7XG4gIGN1cnNvcjogYXV0bztcbiAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG59XG4uc3dpcGVyLWJ1dHRvbi1wcmV2LFxuLnN3aXBlci1jb250YWluZXItcnRsIC5zd2lwZXItYnV0dG9uLW5leHQge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJkYXRhOmltYWdlL3N2Zyt4bWw7Y2hhcnNldD11dGYtOCwlM0NzdmclMjB4bWxucyUzRCdodHRwJTNBJTJGJTJGd3d3LnczLm9yZyUyRjIwMDAlMkZzdmcnJTIwdmlld0JveCUzRCcwJTIwMCUyMDI3JTIwNDQnJTNFJTNDcGF0aCUyMGQlM0QnTTAlMkMyMkwyMiUyQzBsMi4xJTJDMi4xTDQuMiUyQzIybDE5LjklMkMxOS45TDIyJTJDNDRMMCUyQzIyTDAlMkMyMkwwJTJDMjJ6JyUyMGZpbGwlM0QnJTIzMDA3YWZmJyUyRiUzRSUzQyUyRnN2ZyUzRVwiKTtcbiAgbGVmdDogMTBweDtcbiAgcmlnaHQ6IGF1dG87XG59XG4uc3dpcGVyLWJ1dHRvbi1uZXh0LFxuLnN3aXBlci1jb250YWluZXItcnRsIC5zd2lwZXItYnV0dG9uLXByZXYge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJkYXRhOmltYWdlL3N2Zyt4bWw7Y2hhcnNldD11dGYtOCwlM0NzdmclMjB4bWxucyUzRCdodHRwJTNBJTJGJTJGd3d3LnczLm9yZyUyRjIwMDAlMkZzdmcnJTIwdmlld0JveCUzRCcwJTIwMCUyMDI3JTIwNDQnJTNFJTNDcGF0aCUyMGQlM0QnTTI3JTJDMjJMMjclMkMyMkw1JTJDNDRsLTIuMS0yLjFMMjIuOCUyQzIyTDIuOSUyQzIuMUw1JTJDMEwyNyUyQzIyTDI3JTJDMjJ6JyUyMGZpbGwlM0QnJTIzMDA3YWZmJyUyRiUzRSUzQyUyRnN2ZyUzRVwiKTtcbiAgcmlnaHQ6IDEwcHg7XG4gIGxlZnQ6IGF1dG87XG59XG4uc3dpcGVyLWJ1dHRvbi1wcmV2LnN3aXBlci1idXR0b24td2hpdGUsXG4uc3dpcGVyLWNvbnRhaW5lci1ydGwgLnN3aXBlci1idXR0b24tbmV4dC5zd2lwZXItYnV0dG9uLXdoaXRlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiZGF0YTppbWFnZS9zdmcreG1sO2NoYXJzZXQ9dXRmLTgsJTNDc3ZnJTIweG1sbnMlM0QnaHR0cCUzQSUyRiUyRnd3dy53My5vcmclMkYyMDAwJTJGc3ZnJyUyMHZpZXdCb3glM0QnMCUyMDAlMjAyNyUyMDQ0JyUzRSUzQ3BhdGglMjBkJTNEJ00wJTJDMjJMMjIlMkMwbDIuMSUyQzIuMUw0LjIlMkMyMmwxOS45JTJDMTkuOUwyMiUyQzQ0TDAlMkMyMkwwJTJDMjJMMCUyQzIyeiclMjBmaWxsJTNEJyUyM2ZmZmZmZiclMkYlM0UlM0MlMkZzdmclM0VcIik7XG59XG4uc3dpcGVyLWJ1dHRvbi1uZXh0LnN3aXBlci1idXR0b24td2hpdGUsXG4uc3dpcGVyLWNvbnRhaW5lci1ydGwgLnN3aXBlci1idXR0b24tcHJldi5zd2lwZXItYnV0dG9uLXdoaXRlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiZGF0YTppbWFnZS9zdmcreG1sO2NoYXJzZXQ9dXRmLTgsJTNDc3ZnJTIweG1sbnMlM0QnaHR0cCUzQSUyRiUyRnd3dy53My5vcmclMkYyMDAwJTJGc3ZnJyUyMHZpZXdCb3glM0QnMCUyMDAlMjAyNyUyMDQ0JyUzRSUzQ3BhdGglMjBkJTNEJ00yNyUyQzIyTDI3JTJDMjJMNSUyQzQ0bC0yLjEtMi4xTDIyLjglMkMyMkwyLjklMkMyLjFMNSUyQzBMMjclMkMyMkwyNyUyQzIyeiclMjBmaWxsJTNEJyUyM2ZmZmZmZiclMkYlM0UlM0MlMkZzdmclM0VcIik7XG59XG4uc3dpcGVyLWJ1dHRvbi1wcmV2LnN3aXBlci1idXR0b24tYmxhY2ssXG4uc3dpcGVyLWNvbnRhaW5lci1ydGwgLnN3aXBlci1idXR0b24tbmV4dC5zd2lwZXItYnV0dG9uLWJsYWNrIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiZGF0YTppbWFnZS9zdmcreG1sO2NoYXJzZXQ9dXRmLTgsJTNDc3ZnJTIweG1sbnMlM0QnaHR0cCUzQSUyRiUyRnd3dy53My5vcmclMkYyMDAwJTJGc3ZnJyUyMHZpZXdCb3glM0QnMCUyMDAlMjAyNyUyMDQ0JyUzRSUzQ3BhdGglMjBkJTNEJ00wJTJDMjJMMjIlMkMwbDIuMSUyQzIuMUw0LjIlMkMyMmwxOS45JTJDMTkuOUwyMiUyQzQ0TDAlMkMyMkwwJTJDMjJMMCUyQzIyeiclMjBmaWxsJTNEJyUyMzAwMDAwMCclMkYlM0UlM0MlMkZzdmclM0VcIik7XG59XG4uc3dpcGVyLWJ1dHRvbi1uZXh0LnN3aXBlci1idXR0b24tYmxhY2ssXG4uc3dpcGVyLWNvbnRhaW5lci1ydGwgLnN3aXBlci1idXR0b24tcHJldi5zd2lwZXItYnV0dG9uLWJsYWNrIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiZGF0YTppbWFnZS9zdmcreG1sO2NoYXJzZXQ9dXRmLTgsJTNDc3ZnJTIweG1sbnMlM0QnaHR0cCUzQSUyRiUyRnd3dy53My5vcmclMkYyMDAwJTJGc3ZnJyUyMHZpZXdCb3glM0QnMCUyMDAlMjAyNyUyMDQ0JyUzRSUzQ3BhdGglMjBkJTNEJ00yNyUyQzIyTDI3JTJDMjJMNSUyQzQ0bC0yLjEtMi4xTDIyLjglMkMyMkwyLjklMkMyLjFMNSUyQzBMMjclMkMyMkwyNyUyQzIyeiclMjBmaWxsJTNEJyUyMzAwMDAwMCclMkYlM0UlM0MlMkZzdmclM0VcIik7XG59XG4uc3dpcGVyLWJ1dHRvbi1sb2NrIHtcbiAgZGlzcGxheTogbm9uZTtcbn1cbi5zd2lwZXItcGFnaW5hdGlvbiB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAtd2Via2l0LXRyYW5zaXRpb246IDMwMG1zIG9wYWNpdHk7XG4gIC1vLXRyYW5zaXRpb246IDMwMG1zIG9wYWNpdHk7XG4gIHRyYW5zaXRpb246IDMwMG1zIG9wYWNpdHk7XG4gIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgei1pbmRleDogMTA7XG59XG4uc3dpcGVyLXBhZ2luYXRpb24uc3dpcGVyLXBhZ2luYXRpb24taGlkZGVuIHtcbiAgb3BhY2l0eTogMDtcbn1cbi8qIENvbW1vbiBTdHlsZXMgKi9cbi5zd2lwZXItcGFnaW5hdGlvbi1mcmFjdGlvbixcbi5zd2lwZXItcGFnaW5hdGlvbi1jdXN0b20sXG4uc3dpcGVyLWNvbnRhaW5lci1ob3Jpem9udGFsID4gLnN3aXBlci1wYWdpbmF0aW9uLWJ1bGxldHMge1xuICBib3R0b206IDEwcHg7XG4gIGxlZnQ6IDA7XG4gIHdpZHRoOiAxMDAlO1xufVxuLyogQnVsbGV0cyAqL1xuLnN3aXBlci1wYWdpbmF0aW9uLWJ1bGxldHMtZHluYW1pYyB7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIGZvbnQtc2l6ZTogMDtcbn1cbi5zd2lwZXItcGFnaW5hdGlvbi1idWxsZXRzLWR5bmFtaWMgLnN3aXBlci1wYWdpbmF0aW9uLWJ1bGxldCB7XG4gIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZSgwLjMzKTtcbiAgLW1zLXRyYW5zZm9ybTogc2NhbGUoMC4zMyk7XG4gIHRyYW5zZm9ybTogc2NhbGUoMC4zMyk7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbn1cbi5zd2lwZXItcGFnaW5hdGlvbi1idWxsZXRzLWR5bmFtaWMgLnN3aXBlci1wYWdpbmF0aW9uLWJ1bGxldC1hY3RpdmUge1xuICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUoMSk7XG4gIC1tcy10cmFuc2Zvcm06IHNjYWxlKDEpO1xuICB0cmFuc2Zvcm06IHNjYWxlKDEpO1xufVxuLnN3aXBlci1wYWdpbmF0aW9uLWJ1bGxldHMtZHluYW1pYyAuc3dpcGVyLXBhZ2luYXRpb24tYnVsbGV0LWFjdGl2ZS1tYWluIHtcbiAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlKDEpO1xuICAtbXMtdHJhbnNmb3JtOiBzY2FsZSgxKTtcbiAgdHJhbnNmb3JtOiBzY2FsZSgxKTtcbn1cbi5zd2lwZXItcGFnaW5hdGlvbi1idWxsZXRzLWR5bmFtaWMgLnN3aXBlci1wYWdpbmF0aW9uLWJ1bGxldC1hY3RpdmUtcHJldiB7XG4gIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZSgwLjY2KTtcbiAgLW1zLXRyYW5zZm9ybTogc2NhbGUoMC42Nik7XG4gIHRyYW5zZm9ybTogc2NhbGUoMC42Nik7XG59XG4uc3dpcGVyLXBhZ2luYXRpb24tYnVsbGV0cy1keW5hbWljIC5zd2lwZXItcGFnaW5hdGlvbi1idWxsZXQtYWN0aXZlLXByZXYtcHJldiB7XG4gIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZSgwLjMzKTtcbiAgLW1zLXRyYW5zZm9ybTogc2NhbGUoMC4zMyk7XG4gIHRyYW5zZm9ybTogc2NhbGUoMC4zMyk7XG59XG4uc3dpcGVyLXBhZ2luYXRpb24tYnVsbGV0cy1keW5hbWljIC5zd2lwZXItcGFnaW5hdGlvbi1idWxsZXQtYWN0aXZlLW5leHQge1xuICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUoMC42Nik7XG4gIC1tcy10cmFuc2Zvcm06IHNjYWxlKDAuNjYpO1xuICB0cmFuc2Zvcm06IHNjYWxlKDAuNjYpO1xufVxuLnN3aXBlci1wYWdpbmF0aW9uLWJ1bGxldHMtZHluYW1pYyAuc3dpcGVyLXBhZ2luYXRpb24tYnVsbGV0LWFjdGl2ZS1uZXh0LW5leHQge1xuICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUoMC4zMyk7XG4gIC1tcy10cmFuc2Zvcm06IHNjYWxlKDAuMzMpO1xuICB0cmFuc2Zvcm06IHNjYWxlKDAuMzMpO1xufVxuLnN3aXBlci1wYWdpbmF0aW9uLWJ1bGxldCB7XG4gIHdpZHRoOiA4cHg7XG4gIGhlaWdodDogOHB4O1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIGJvcmRlci1yYWRpdXM6IDEwMCU7XG4gIGJhY2tncm91bmQ6ICMwMDA7XG4gIG9wYWNpdHk6IDAuMjtcbn1cbmJ1dHRvbi5zd2lwZXItcGFnaW5hdGlvbi1idWxsZXQge1xuICBib3JkZXI6IG5vbmU7XG4gIG1hcmdpbjogMDtcbiAgcGFkZGluZzogMDtcbiAgLXdlYmtpdC1ib3gtc2hhZG93OiBub25lO1xuICBib3gtc2hhZG93OiBub25lO1xuICAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7XG4gIC1tb3otYXBwZWFyYW5jZTogbm9uZTtcbiAgYXBwZWFyYW5jZTogbm9uZTtcbn1cbi5zd2lwZXItcGFnaW5hdGlvbi1jbGlja2FibGUgLnN3aXBlci1wYWdpbmF0aW9uLWJ1bGxldCB7XG4gIGN1cnNvcjogcG9pbnRlcjtcbn1cbi5zd2lwZXItcGFnaW5hdGlvbi1idWxsZXQtYWN0aXZlIHtcbiAgb3BhY2l0eTogMTtcbiAgYmFja2dyb3VuZDogIzAwN2FmZjtcbn1cbi5zd2lwZXItY29udGFpbmVyLXZlcnRpY2FsID4gLnN3aXBlci1wYWdpbmF0aW9uLWJ1bGxldHMge1xuICByaWdodDogMTBweDtcbiAgdG9wOiA1MCU7XG4gIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwcHgsIC01MCUsIDApO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDBweCwgLTUwJSwgMCk7XG59XG4uc3dpcGVyLWNvbnRhaW5lci12ZXJ0aWNhbCA+IC5zd2lwZXItcGFnaW5hdGlvbi1idWxsZXRzIC5zd2lwZXItcGFnaW5hdGlvbi1idWxsZXQge1xuICBtYXJnaW46IDZweCAwO1xuICBkaXNwbGF5OiBibG9jaztcbn1cbi5zd2lwZXItY29udGFpbmVyLXZlcnRpY2FsID4gLnN3aXBlci1wYWdpbmF0aW9uLWJ1bGxldHMuc3dpcGVyLXBhZ2luYXRpb24tYnVsbGV0cy1keW5hbWljIHtcbiAgdG9wOiA1MCU7XG4gIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpO1xuICAtbXMtdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSk7XG4gIHdpZHRoOiA4cHg7XG59XG4uc3dpcGVyLWNvbnRhaW5lci12ZXJ0aWNhbCA+IC5zd2lwZXItcGFnaW5hdGlvbi1idWxsZXRzLnN3aXBlci1wYWdpbmF0aW9uLWJ1bGxldHMtZHluYW1pYyAuc3dpcGVyLXBhZ2luYXRpb24tYnVsbGV0IHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAtd2Via2l0LXRyYW5zaXRpb246IDIwMG1zIHRvcCwgMjAwbXMgLXdlYmtpdC10cmFuc2Zvcm07XG4gIHRyYW5zaXRpb246IDIwMG1zIHRvcCwgMjAwbXMgLXdlYmtpdC10cmFuc2Zvcm07XG4gIC1vLXRyYW5zaXRpb246IDIwMG1zIHRyYW5zZm9ybSwgMjAwbXMgdG9wO1xuICB0cmFuc2l0aW9uOiAyMDBtcyB0cmFuc2Zvcm0sIDIwMG1zIHRvcDtcbiAgdHJhbnNpdGlvbjogMjAwbXMgdHJhbnNmb3JtLCAyMDBtcyB0b3AsIDIwMG1zIC13ZWJraXQtdHJhbnNmb3JtO1xufVxuLnN3aXBlci1jb250YWluZXItaG9yaXpvbnRhbCA+IC5zd2lwZXItcGFnaW5hdGlvbi1idWxsZXRzIC5zd2lwZXItcGFnaW5hdGlvbi1idWxsZXQge1xuICBtYXJnaW46IDAgNHB4O1xufVxuLnN3aXBlci1jb250YWluZXItaG9yaXpvbnRhbCA+IC5zd2lwZXItcGFnaW5hdGlvbi1idWxsZXRzLnN3aXBlci1wYWdpbmF0aW9uLWJ1bGxldHMtZHluYW1pYyB7XG4gIGxlZnQ6IDUwJTtcbiAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTUwJSk7XG4gIC1tcy10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTUwJSk7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNTAlKTtcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbn1cbi5zd2lwZXItY29udGFpbmVyLWhvcml6b250YWwgPiAuc3dpcGVyLXBhZ2luYXRpb24tYnVsbGV0cy5zd2lwZXItcGFnaW5hdGlvbi1idWxsZXRzLWR5bmFtaWMgLnN3aXBlci1wYWdpbmF0aW9uLWJ1bGxldCB7XG4gIC13ZWJraXQtdHJhbnNpdGlvbjogMjAwbXMgbGVmdCwgMjAwbXMgLXdlYmtpdC10cmFuc2Zvcm07XG4gIHRyYW5zaXRpb246IDIwMG1zIGxlZnQsIDIwMG1zIC13ZWJraXQtdHJhbnNmb3JtO1xuICAtby10cmFuc2l0aW9uOiAyMDBtcyB0cmFuc2Zvcm0sIDIwMG1zIGxlZnQ7XG4gIHRyYW5zaXRpb246IDIwMG1zIHRyYW5zZm9ybSwgMjAwbXMgbGVmdDtcbiAgdHJhbnNpdGlvbjogMjAwbXMgdHJhbnNmb3JtLCAyMDBtcyBsZWZ0LCAyMDBtcyAtd2Via2l0LXRyYW5zZm9ybTtcbn1cbi5zd2lwZXItY29udGFpbmVyLWhvcml6b250YWwuc3dpcGVyLWNvbnRhaW5lci1ydGwgPiAuc3dpcGVyLXBhZ2luYXRpb24tYnVsbGV0cy1keW5hbWljIC5zd2lwZXItcGFnaW5hdGlvbi1idWxsZXQge1xuICAtd2Via2l0LXRyYW5zaXRpb246IDIwMG1zIHJpZ2h0LCAyMDBtcyAtd2Via2l0LXRyYW5zZm9ybTtcbiAgdHJhbnNpdGlvbjogMjAwbXMgcmlnaHQsIDIwMG1zIC13ZWJraXQtdHJhbnNmb3JtO1xuICAtby10cmFuc2l0aW9uOiAyMDBtcyB0cmFuc2Zvcm0sIDIwMG1zIHJpZ2h0O1xuICB0cmFuc2l0aW9uOiAyMDBtcyB0cmFuc2Zvcm0sIDIwMG1zIHJpZ2h0O1xuICB0cmFuc2l0aW9uOiAyMDBtcyB0cmFuc2Zvcm0sIDIwMG1zIHJpZ2h0LCAyMDBtcyAtd2Via2l0LXRyYW5zZm9ybTtcbn1cbi8qIFByb2dyZXNzICovXG4uc3dpcGVyLXBhZ2luYXRpb24tcHJvZ3Jlc3NiYXIge1xuICBiYWNrZ3JvdW5kOiByZ2JhKDAsIDAsIDAsIDAuMjUpO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG59XG4uc3dpcGVyLXBhZ2luYXRpb24tcHJvZ3Jlc3NiYXIgLnN3aXBlci1wYWdpbmF0aW9uLXByb2dyZXNzYmFyLWZpbGwge1xuICBiYWNrZ3JvdW5kOiAjMDA3YWZmO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGxlZnQ6IDA7XG4gIHRvcDogMDtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogMTAwJTtcbiAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlKDApO1xuICAtbXMtdHJhbnNmb3JtOiBzY2FsZSgwKTtcbiAgdHJhbnNmb3JtOiBzY2FsZSgwKTtcbiAgLXdlYmtpdC10cmFuc2Zvcm0tb3JpZ2luOiBsZWZ0IHRvcDtcbiAgLW1zLXRyYW5zZm9ybS1vcmlnaW46IGxlZnQgdG9wO1xuICB0cmFuc2Zvcm0tb3JpZ2luOiBsZWZ0IHRvcDtcbn1cbi5zd2lwZXItY29udGFpbmVyLXJ0bCAuc3dpcGVyLXBhZ2luYXRpb24tcHJvZ3Jlc3NiYXIgLnN3aXBlci1wYWdpbmF0aW9uLXByb2dyZXNzYmFyLWZpbGwge1xuICAtd2Via2l0LXRyYW5zZm9ybS1vcmlnaW46IHJpZ2h0IHRvcDtcbiAgLW1zLXRyYW5zZm9ybS1vcmlnaW46IHJpZ2h0IHRvcDtcbiAgdHJhbnNmb3JtLW9yaWdpbjogcmlnaHQgdG9wO1xufVxuLnN3aXBlci1jb250YWluZXItaG9yaXpvbnRhbCA+IC5zd2lwZXItcGFnaW5hdGlvbi1wcm9ncmVzc2Jhcixcbi5zd2lwZXItY29udGFpbmVyLXZlcnRpY2FsID4gLnN3aXBlci1wYWdpbmF0aW9uLXByb2dyZXNzYmFyLnN3aXBlci1wYWdpbmF0aW9uLXByb2dyZXNzYmFyLW9wcG9zaXRlIHtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogNHB4O1xuICBsZWZ0OiAwO1xuICB0b3A6IDA7XG59XG4uc3dpcGVyLWNvbnRhaW5lci12ZXJ0aWNhbCA+IC5zd2lwZXItcGFnaW5hdGlvbi1wcm9ncmVzc2Jhcixcbi5zd2lwZXItY29udGFpbmVyLWhvcml6b250YWwgPiAuc3dpcGVyLXBhZ2luYXRpb24tcHJvZ3Jlc3NiYXIuc3dpcGVyLXBhZ2luYXRpb24tcHJvZ3Jlc3NiYXItb3Bwb3NpdGUge1xuICB3aWR0aDogNHB4O1xuICBoZWlnaHQ6IDEwMCU7XG4gIGxlZnQ6IDA7XG4gIHRvcDogMDtcbn1cbi5zd2lwZXItcGFnaW5hdGlvbi13aGl0ZSAuc3dpcGVyLXBhZ2luYXRpb24tYnVsbGV0LWFjdGl2ZSB7XG4gIGJhY2tncm91bmQ6ICNmZmZmZmY7XG59XG4uc3dpcGVyLXBhZ2luYXRpb24tcHJvZ3Jlc3NiYXIuc3dpcGVyLXBhZ2luYXRpb24td2hpdGUge1xuICBiYWNrZ3JvdW5kOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMjUpO1xufVxuLnN3aXBlci1wYWdpbmF0aW9uLXByb2dyZXNzYmFyLnN3aXBlci1wYWdpbmF0aW9uLXdoaXRlIC5zd2lwZXItcGFnaW5hdGlvbi1wcm9ncmVzc2Jhci1maWxsIHtcbiAgYmFja2dyb3VuZDogI2ZmZmZmZjtcbn1cbi5zd2lwZXItcGFnaW5hdGlvbi1ibGFjayAuc3dpcGVyLXBhZ2luYXRpb24tYnVsbGV0LWFjdGl2ZSB7XG4gIGJhY2tncm91bmQ6ICMwMDAwMDA7XG59XG4uc3dpcGVyLXBhZ2luYXRpb24tcHJvZ3Jlc3NiYXIuc3dpcGVyLXBhZ2luYXRpb24tYmxhY2sge1xuICBiYWNrZ3JvdW5kOiByZ2JhKDAsIDAsIDAsIDAuMjUpO1xufVxuLnN3aXBlci1wYWdpbmF0aW9uLXByb2dyZXNzYmFyLnN3aXBlci1wYWdpbmF0aW9uLWJsYWNrIC5zd2lwZXItcGFnaW5hdGlvbi1wcm9ncmVzc2Jhci1maWxsIHtcbiAgYmFja2dyb3VuZDogIzAwMDAwMDtcbn1cbi5zd2lwZXItcGFnaW5hdGlvbi1sb2NrIHtcbiAgZGlzcGxheTogbm9uZTtcbn1cbi8qIFNjcm9sbGJhciAqL1xuLnN3aXBlci1zY3JvbGxiYXIge1xuICBib3JkZXItcmFkaXVzOiAxMHB4O1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIC1tcy10b3VjaC1hY3Rpb246IG5vbmU7XG4gIGJhY2tncm91bmQ6IHJnYmEoMCwgMCwgMCwgMC4xKTtcbn1cbi5zd2lwZXItY29udGFpbmVyLWhvcml6b250YWwgPiAuc3dpcGVyLXNjcm9sbGJhciB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgbGVmdDogMSU7XG4gIGJvdHRvbTogM3B4O1xuICB6LWluZGV4OiA1MDtcbiAgaGVpZ2h0OiA1cHg7XG4gIHdpZHRoOiA5OCU7XG59XG4uc3dpcGVyLWNvbnRhaW5lci12ZXJ0aWNhbCA+IC5zd2lwZXItc2Nyb2xsYmFyIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICByaWdodDogM3B4O1xuICB0b3A6IDElO1xuICB6LWluZGV4OiA1MDtcbiAgd2lkdGg6IDVweDtcbiAgaGVpZ2h0OiA5OCU7XG59XG4uc3dpcGVyLXNjcm9sbGJhci1kcmFnIHtcbiAgaGVpZ2h0OiAxMDAlO1xuICB3aWR0aDogMTAwJTtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBiYWNrZ3JvdW5kOiByZ2JhKDAsIDAsIDAsIDAuNSk7XG4gIGJvcmRlci1yYWRpdXM6IDEwcHg7XG4gIGxlZnQ6IDA7XG4gIHRvcDogMDtcbn1cbi5zd2lwZXItc2Nyb2xsYmFyLWN1cnNvci1kcmFnIHtcbiAgY3Vyc29yOiBtb3ZlO1xufVxuLnN3aXBlci1zY3JvbGxiYXItbG9jayB7XG4gIGRpc3BsYXk6IG5vbmU7XG59XG4uc3dpcGVyLXpvb20tY29udGFpbmVyIHtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogMTAwJTtcbiAgZGlzcGxheTogLXdlYmtpdC1ib3g7XG4gIGRpc3BsYXk6IC13ZWJraXQtZmxleDtcbiAgZGlzcGxheTogLW1zLWZsZXhib3g7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIC13ZWJraXQtYm94LXBhY2s6IGNlbnRlcjtcbiAgLXdlYmtpdC1qdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgLW1zLWZsZXgtcGFjazogY2VudGVyO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgLXdlYmtpdC1ib3gtYWxpZ246IGNlbnRlcjtcbiAgLXdlYmtpdC1hbGlnbi1pdGVtczogY2VudGVyO1xuICAtbXMtZmxleC1hbGlnbjogY2VudGVyO1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG59XG4uc3dpcGVyLXpvb20tY29udGFpbmVyID4gaW1nLFxuLnN3aXBlci16b29tLWNvbnRhaW5lciA+IHN2Zyxcbi5zd2lwZXItem9vbS1jb250YWluZXIgPiBjYW52YXMge1xuICBtYXgtd2lkdGg6IDEwMCU7XG4gIG1heC1oZWlnaHQ6IDEwMCU7XG4gIC1vLW9iamVjdC1maXQ6IGNvbnRhaW47XG4gIG9iamVjdC1maXQ6IGNvbnRhaW47XG59XG4uc3dpcGVyLXNsaWRlLXpvb21lZCB7XG4gIGN1cnNvcjogbW92ZTtcbn1cbi8qIFByZWxvYWRlciAqL1xuLnN3aXBlci1sYXp5LXByZWxvYWRlciB7XG4gIHdpZHRoOiA0MnB4O1xuICBoZWlnaHQ6IDQycHg7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgbGVmdDogNTAlO1xuICB0b3A6IDUwJTtcbiAgbWFyZ2luLWxlZnQ6IC0yMXB4O1xuICBtYXJnaW4tdG9wOiAtMjFweDtcbiAgei1pbmRleDogMTA7XG4gIC13ZWJraXQtdHJhbnNmb3JtLW9yaWdpbjogNTAlO1xuICAtbXMtdHJhbnNmb3JtLW9yaWdpbjogNTAlO1xuICB0cmFuc2Zvcm0tb3JpZ2luOiA1MCU7XG4gIC13ZWJraXQtYW5pbWF0aW9uOiBzd2lwZXItcHJlbG9hZGVyLXNwaW4gMXMgc3RlcHMoMTIsIGVuZCkgaW5maW5pdGU7XG4gIGFuaW1hdGlvbjogc3dpcGVyLXByZWxvYWRlci1zcGluIDFzIHN0ZXBzKDEyLCBlbmQpIGluZmluaXRlO1xufVxuLnN3aXBlci1sYXp5LXByZWxvYWRlcjphZnRlciB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBjb250ZW50OiAnJztcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogMTAwJTtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiZGF0YTppbWFnZS9zdmcreG1sO2NoYXJzZXQ9dXRmLTgsJTNDc3ZnJTIwdmlld0JveCUzRCcwJTIwMCUyMDEyMCUyMDEyMCclMjB4bWxucyUzRCdodHRwJTNBJTJGJTJGd3d3LnczLm9yZyUyRjIwMDAlMkZzdmcnJTIweG1sbnMlM0F4bGluayUzRCdodHRwJTNBJTJGJTJGd3d3LnczLm9yZyUyRjE5OTklMkZ4bGluayclM0UlM0NkZWZzJTNFJTNDbGluZSUyMGlkJTNEJ2wnJTIweDElM0QnNjAnJTIweDIlM0QnNjAnJTIweTElM0QnNyclMjB5MiUzRCcyNyclMjBzdHJva2UlM0QnJTIzNmM2YzZjJyUyMHN0cm9rZS13aWR0aCUzRCcxMSclMjBzdHJva2UtbGluZWNhcCUzRCdyb3VuZCclMkYlM0UlM0MlMkZkZWZzJTNFJTNDZyUzRSUzQ3VzZSUyMHhsaW5rJTNBaHJlZiUzRCclMjNsJyUyMG9wYWNpdHklM0QnLjI3JyUyRiUzRSUzQ3VzZSUyMHhsaW5rJTNBaHJlZiUzRCclMjNsJyUyMG9wYWNpdHklM0QnLjI3JyUyMHRyYW5zZm9ybSUzRCdyb3RhdGUoMzAlMjA2MCUyQzYwKSclMkYlM0UlM0N1c2UlMjB4bGluayUzQWhyZWYlM0QnJTIzbCclMjBvcGFjaXR5JTNEJy4yNyclMjB0cmFuc2Zvcm0lM0Qncm90YXRlKDYwJTIwNjAlMkM2MCknJTJGJTNFJTNDdXNlJTIweGxpbmslM0FocmVmJTNEJyUyM2wnJTIwb3BhY2l0eSUzRCcuMjcnJTIwdHJhbnNmb3JtJTNEJ3JvdGF0ZSg5MCUyMDYwJTJDNjApJyUyRiUzRSUzQ3VzZSUyMHhsaW5rJTNBaHJlZiUzRCclMjNsJyUyMG9wYWNpdHklM0QnLjI3JyUyMHRyYW5zZm9ybSUzRCdyb3RhdGUoMTIwJTIwNjAlMkM2MCknJTJGJTNFJTNDdXNlJTIweGxpbmslM0FocmVmJTNEJyUyM2wnJTIwb3BhY2l0eSUzRCcuMjcnJTIwdHJhbnNmb3JtJTNEJ3JvdGF0ZSgxNTAlMjA2MCUyQzYwKSclMkYlM0UlM0N1c2UlMjB4bGluayUzQWhyZWYlM0QnJTIzbCclMjBvcGFjaXR5JTNEJy4zNyclMjB0cmFuc2Zvcm0lM0Qncm90YXRlKDE4MCUyMDYwJTJDNjApJyUyRiUzRSUzQ3VzZSUyMHhsaW5rJTNBaHJlZiUzRCclMjNsJyUyMG9wYWNpdHklM0QnLjQ2JyUyMHRyYW5zZm9ybSUzRCdyb3RhdGUoMjEwJTIwNjAlMkM2MCknJTJGJTNFJTNDdXNlJTIweGxpbmslM0FocmVmJTNEJyUyM2wnJTIwb3BhY2l0eSUzRCcuNTYnJTIwdHJhbnNmb3JtJTNEJ3JvdGF0ZSgyNDAlMjA2MCUyQzYwKSclMkYlM0UlM0N1c2UlMjB4bGluayUzQWhyZWYlM0QnJTIzbCclMjBvcGFjaXR5JTNEJy42NiclMjB0cmFuc2Zvcm0lM0Qncm90YXRlKDI3MCUyMDYwJTJDNjApJyUyRiUzRSUzQ3VzZSUyMHhsaW5rJTNBaHJlZiUzRCclMjNsJyUyMG9wYWNpdHklM0QnLjc1JyUyMHRyYW5zZm9ybSUzRCdyb3RhdGUoMzAwJTIwNjAlMkM2MCknJTJGJTNFJTNDdXNlJTIweGxpbmslM0FocmVmJTNEJyUyM2wnJTIwb3BhY2l0eSUzRCcuODUnJTIwdHJhbnNmb3JtJTNEJ3JvdGF0ZSgzMzAlMjA2MCUyQzYwKSclMkYlM0UlM0MlMkZnJTNFJTNDJTJGc3ZnJTNFXCIpO1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiA1MCU7XG4gIGJhY2tncm91bmQtc2l6ZTogMTAwJTtcbiAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbn1cbi5zd2lwZXItbGF6eS1wcmVsb2FkZXItd2hpdGU6YWZ0ZXIge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJkYXRhOmltYWdlL3N2Zyt4bWw7Y2hhcnNldD11dGYtOCwlM0NzdmclMjB2aWV3Qm94JTNEJzAlMjAwJTIwMTIwJTIwMTIwJyUyMHhtbG5zJTNEJ2h0dHAlM0ElMkYlMkZ3d3cudzMub3JnJTJGMjAwMCUyRnN2ZyclMjB4bWxucyUzQXhsaW5rJTNEJ2h0dHAlM0ElMkYlMkZ3d3cudzMub3JnJTJGMTk5OSUyRnhsaW5rJyUzRSUzQ2RlZnMlM0UlM0NsaW5lJTIwaWQlM0QnbCclMjB4MSUzRCc2MCclMjB4MiUzRCc2MCclMjB5MSUzRCc3JyUyMHkyJTNEJzI3JyUyMHN0cm9rZSUzRCclMjNmZmYnJTIwc3Ryb2tlLXdpZHRoJTNEJzExJyUyMHN0cm9rZS1saW5lY2FwJTNEJ3JvdW5kJyUyRiUzRSUzQyUyRmRlZnMlM0UlM0NnJTNFJTNDdXNlJTIweGxpbmslM0FocmVmJTNEJyUyM2wnJTIwb3BhY2l0eSUzRCcuMjcnJTJGJTNFJTNDdXNlJTIweGxpbmslM0FocmVmJTNEJyUyM2wnJTIwb3BhY2l0eSUzRCcuMjcnJTIwdHJhbnNmb3JtJTNEJ3JvdGF0ZSgzMCUyMDYwJTJDNjApJyUyRiUzRSUzQ3VzZSUyMHhsaW5rJTNBaHJlZiUzRCclMjNsJyUyMG9wYWNpdHklM0QnLjI3JyUyMHRyYW5zZm9ybSUzRCdyb3RhdGUoNjAlMjA2MCUyQzYwKSclMkYlM0UlM0N1c2UlMjB4bGluayUzQWhyZWYlM0QnJTIzbCclMjBvcGFjaXR5JTNEJy4yNyclMjB0cmFuc2Zvcm0lM0Qncm90YXRlKDkwJTIwNjAlMkM2MCknJTJGJTNFJTNDdXNlJTIweGxpbmslM0FocmVmJTNEJyUyM2wnJTIwb3BhY2l0eSUzRCcuMjcnJTIwdHJhbnNmb3JtJTNEJ3JvdGF0ZSgxMjAlMjA2MCUyQzYwKSclMkYlM0UlM0N1c2UlMjB4bGluayUzQWhyZWYlM0QnJTIzbCclMjBvcGFjaXR5JTNEJy4yNyclMjB0cmFuc2Zvcm0lM0Qncm90YXRlKDE1MCUyMDYwJTJDNjApJyUyRiUzRSUzQ3VzZSUyMHhsaW5rJTNBaHJlZiUzRCclMjNsJyUyMG9wYWNpdHklM0QnLjM3JyUyMHRyYW5zZm9ybSUzRCdyb3RhdGUoMTgwJTIwNjAlMkM2MCknJTJGJTNFJTNDdXNlJTIweGxpbmslM0FocmVmJTNEJyUyM2wnJTIwb3BhY2l0eSUzRCcuNDYnJTIwdHJhbnNmb3JtJTNEJ3JvdGF0ZSgyMTAlMjA2MCUyQzYwKSclMkYlM0UlM0N1c2UlMjB4bGluayUzQWhyZWYlM0QnJTIzbCclMjBvcGFjaXR5JTNEJy41NiclMjB0cmFuc2Zvcm0lM0Qncm90YXRlKDI0MCUyMDYwJTJDNjApJyUyRiUzRSUzQ3VzZSUyMHhsaW5rJTNBaHJlZiUzRCclMjNsJyUyMG9wYWNpdHklM0QnLjY2JyUyMHRyYW5zZm9ybSUzRCdyb3RhdGUoMjcwJTIwNjAlMkM2MCknJTJGJTNFJTNDdXNlJTIweGxpbmslM0FocmVmJTNEJyUyM2wnJTIwb3BhY2l0eSUzRCcuNzUnJTIwdHJhbnNmb3JtJTNEJ3JvdGF0ZSgzMDAlMjA2MCUyQzYwKSclMkYlM0UlM0N1c2UlMjB4bGluayUzQWhyZWYlM0QnJTIzbCclMjBvcGFjaXR5JTNEJy44NSclMjB0cmFuc2Zvcm0lM0Qncm90YXRlKDMzMCUyMDYwJTJDNjApJyUyRiUzRSUzQyUyRmclM0UlM0MlMkZzdmclM0VcIik7XG59XG5ALXdlYmtpdC1rZXlmcmFtZXMgc3dpcGVyLXByZWxvYWRlci1zcGluIHtcbiAgMTAwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZSgzNjBkZWcpO1xuICAgIHRyYW5zZm9ybTogcm90YXRlKDM2MGRlZyk7XG4gIH1cbn1cbkBrZXlmcmFtZXMgc3dpcGVyLXByZWxvYWRlci1zcGluIHtcbiAgMTAwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZSgzNjBkZWcpO1xuICAgIHRyYW5zZm9ybTogcm90YXRlKDM2MGRlZyk7XG4gIH1cbn1cbi8qIGExMXkgKi9cbi5zd2lwZXItY29udGFpbmVyIC5zd2lwZXItbm90aWZpY2F0aW9uIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBsZWZ0OiAwO1xuICB0b3A6IDA7XG4gIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICBvcGFjaXR5OiAwO1xuICB6LWluZGV4OiAtMTAwMDtcbn1cbi5zd2lwZXItY29udGFpbmVyLWZhZGUuc3dpcGVyLWNvbnRhaW5lci1mcmVlLW1vZGUgLnN3aXBlci1zbGlkZSB7XG4gIC13ZWJraXQtdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2Utb3V0O1xuICAtby10cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1vdXQ7XG4gIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLW91dDtcbn1cbi5zd2lwZXItY29udGFpbmVyLWZhZGUgLnN3aXBlci1zbGlkZSB7XG4gIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICAtd2Via2l0LXRyYW5zaXRpb24tcHJvcGVydHk6IG9wYWNpdHk7XG4gIC1vLXRyYW5zaXRpb24tcHJvcGVydHk6IG9wYWNpdHk7XG4gIHRyYW5zaXRpb24tcHJvcGVydHk6IG9wYWNpdHk7XG59XG4uc3dpcGVyLWNvbnRhaW5lci1mYWRlIC5zd2lwZXItc2xpZGUgLnN3aXBlci1zbGlkZSB7XG4gIHBvaW50ZXItZXZlbnRzOiBub25lO1xufVxuLnN3aXBlci1jb250YWluZXItZmFkZSAuc3dpcGVyLXNsaWRlLWFjdGl2ZSxcbi5zd2lwZXItY29udGFpbmVyLWZhZGUgLnN3aXBlci1zbGlkZS1hY3RpdmUgLnN3aXBlci1zbGlkZS1hY3RpdmUge1xuICBwb2ludGVyLWV2ZW50czogYXV0bztcbn1cbi5zd2lwZXItY29udGFpbmVyLWN1YmUge1xuICBvdmVyZmxvdzogdmlzaWJsZTtcbn1cbi5zd2lwZXItY29udGFpbmVyLWN1YmUgLnN3aXBlci1zbGlkZSB7XG4gIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICAtd2Via2l0LWJhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlbjtcbiAgYmFja2ZhY2UtdmlzaWJpbGl0eTogaGlkZGVuO1xuICB6LWluZGV4OiAxO1xuICB2aXNpYmlsaXR5OiBoaWRkZW47XG4gIC13ZWJraXQtdHJhbnNmb3JtLW9yaWdpbjogMCAwO1xuICAtbXMtdHJhbnNmb3JtLW9yaWdpbjogMCAwO1xuICB0cmFuc2Zvcm0tb3JpZ2luOiAwIDA7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IDEwMCU7XG59XG4uc3dpcGVyLWNvbnRhaW5lci1jdWJlIC5zd2lwZXItc2xpZGUgLnN3aXBlci1zbGlkZSB7XG4gIHBvaW50ZXItZXZlbnRzOiBub25lO1xufVxuLnN3aXBlci1jb250YWluZXItY3ViZS5zd2lwZXItY29udGFpbmVyLXJ0bCAuc3dpcGVyLXNsaWRlIHtcbiAgLXdlYmtpdC10cmFuc2Zvcm0tb3JpZ2luOiAxMDAlIDA7XG4gIC1tcy10cmFuc2Zvcm0tb3JpZ2luOiAxMDAlIDA7XG4gIHRyYW5zZm9ybS1vcmlnaW46IDEwMCUgMDtcbn1cbi5zd2lwZXItY29udGFpbmVyLWN1YmUgLnN3aXBlci1zbGlkZS1hY3RpdmUsXG4uc3dpcGVyLWNvbnRhaW5lci1jdWJlIC5zd2lwZXItc2xpZGUtYWN0aXZlIC5zd2lwZXItc2xpZGUtYWN0aXZlIHtcbiAgcG9pbnRlci1ldmVudHM6IGF1dG87XG59XG4uc3dpcGVyLWNvbnRhaW5lci1jdWJlIC5zd2lwZXItc2xpZGUtYWN0aXZlLFxuLnN3aXBlci1jb250YWluZXItY3ViZSAuc3dpcGVyLXNsaWRlLW5leHQsXG4uc3dpcGVyLWNvbnRhaW5lci1jdWJlIC5zd2lwZXItc2xpZGUtcHJldixcbi5zd2lwZXItY29udGFpbmVyLWN1YmUgLnN3aXBlci1zbGlkZS1uZXh0ICsgLnN3aXBlci1zbGlkZSB7XG4gIHBvaW50ZXItZXZlbnRzOiBhdXRvO1xuICB2aXNpYmlsaXR5OiB2aXNpYmxlO1xufVxuLnN3aXBlci1jb250YWluZXItY3ViZSAuc3dpcGVyLXNsaWRlLXNoYWRvdy10b3AsXG4uc3dpcGVyLWNvbnRhaW5lci1jdWJlIC5zd2lwZXItc2xpZGUtc2hhZG93LWJvdHRvbSxcbi5zd2lwZXItY29udGFpbmVyLWN1YmUgLnN3aXBlci1zbGlkZS1zaGFkb3ctbGVmdCxcbi5zd2lwZXItY29udGFpbmVyLWN1YmUgLnN3aXBlci1zbGlkZS1zaGFkb3ctcmlnaHQge1xuICB6LWluZGV4OiAwO1xuICAtd2Via2l0LWJhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlbjtcbiAgYmFja2ZhY2UtdmlzaWJpbGl0eTogaGlkZGVuO1xufVxuLnN3aXBlci1jb250YWluZXItY3ViZSAuc3dpcGVyLWN1YmUtc2hhZG93IHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBsZWZ0OiAwO1xuICBib3R0b206IDBweDtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogMTAwJTtcbiAgYmFja2dyb3VuZDogIzAwMDtcbiAgb3BhY2l0eTogMC42O1xuICAtd2Via2l0LWZpbHRlcjogYmx1cig1MHB4KTtcbiAgZmlsdGVyOiBibHVyKDUwcHgpO1xuICB6LWluZGV4OiAwO1xufVxuLnN3aXBlci1jb250YWluZXItZmxpcCB7XG4gIG92ZXJmbG93OiB2aXNpYmxlO1xufVxuLnN3aXBlci1jb250YWluZXItZmxpcCAuc3dpcGVyLXNsaWRlIHtcbiAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gIC13ZWJraXQtYmFja2ZhY2UtdmlzaWJpbGl0eTogaGlkZGVuO1xuICBiYWNrZmFjZS12aXNpYmlsaXR5OiBoaWRkZW47XG4gIHotaW5kZXg6IDE7XG59XG4uc3dpcGVyLWNvbnRhaW5lci1mbGlwIC5zd2lwZXItc2xpZGUgLnN3aXBlci1zbGlkZSB7XG4gIHBvaW50ZXItZXZlbnRzOiBub25lO1xufVxuLnN3aXBlci1jb250YWluZXItZmxpcCAuc3dpcGVyLXNsaWRlLWFjdGl2ZSxcbi5zd2lwZXItY29udGFpbmVyLWZsaXAgLnN3aXBlci1zbGlkZS1hY3RpdmUgLnN3aXBlci1zbGlkZS1hY3RpdmUge1xuICBwb2ludGVyLWV2ZW50czogYXV0bztcbn1cbi5zd2lwZXItY29udGFpbmVyLWZsaXAgLnN3aXBlci1zbGlkZS1zaGFkb3ctdG9wLFxuLnN3aXBlci1jb250YWluZXItZmxpcCAuc3dpcGVyLXNsaWRlLXNoYWRvdy1ib3R0b20sXG4uc3dpcGVyLWNvbnRhaW5lci1mbGlwIC5zd2lwZXItc2xpZGUtc2hhZG93LWxlZnQsXG4uc3dpcGVyLWNvbnRhaW5lci1mbGlwIC5zd2lwZXItc2xpZGUtc2hhZG93LXJpZ2h0IHtcbiAgei1pbmRleDogMDtcbiAgLXdlYmtpdC1iYWNrZmFjZS12aXNpYmlsaXR5OiBoaWRkZW47XG4gIGJhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlbjtcbn1cbi5zd2lwZXItY29udGFpbmVyLWNvdmVyZmxvdyAuc3dpcGVyLXdyYXBwZXIge1xuICAvKiBXaW5kb3dzIDggSUUgMTAgZml4ICovXG4gIC1tcy1wZXJzcGVjdGl2ZTogMTIwMHB4O1xufVxuIiwiLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIFZhcmlhYmxlc1xuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLyogTWFwc1xuPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8qXG4gICAgVGhlIG5hbWVzIGFuZCB2YWx1ZXMgb2YgdmFyaWFibGVzIGluIG1hcHMgYXJlIGp1c3Qgc3VnZ2VzdGlvbnMvcmFuZG9tIHZhbHVlcy5cbiAgICBGZWVsIGZyZWUgdG8gYWRkIG5ldyB2YWx1ZXMsIG1vZGlmeSBib3RoIHRoZSB2YWx1ZXMgYW5kL29yIGtleXMgb2YgdGhlIGl0ZW1zIGRlcGVuZGluZyBvbiB0aGUgcHJvamVjdCBhbmQgeW91ciBwcmVmZmVyZW5jZXMuXG4gICAgRm9yIGVhY2ggbWFwLCBhIGZ1bmN0aW9ucyBpcyBkZWZpbmVkIChpbiBiYXNlL19mdW5jdGlvbnMuc2NzcykuXG4gICAgQnkgZGVmYXVsdCwgZnVuY3Rpb24gbmFtZXMgYXJlIHNpbmdsZSBhIHNpbmd1bGFyIGZvcm0gb2YgdGhlIG1hcCdzIHZhcmlhYmxlIG5hbWUuXG4gICAgRWcuIFRvIHVzZSB0aGUgXCJtYWluXCIgY29sb3IsIGEgZ2V0dGVyIGZ1bmN0aW9uIFwiY29sb3JcIiBpcyBkZWZpbmVkLlxuICAgIFRvIHVzZSBpdCwgc2ltcGx5IGNhbGw6IGNvbG9yKG1haW4pLlxuKi9cbiRjb2xvcnM6IChcbiAgICBibGFjazogIzAwMCxcbiAgICBhbG1vc3RCbGFjazogIzFGMUYxRixcbiAgICB3aGl0ZTogI2ZmZixcbiAgICBwcmltYXJ5OiAjMDA5OTg4LFxuICAgIHNlY29uZGFyeTogIzAwN0M2QixcbiAgICBncmV5OiAjNzk3OTc5LFxuICAgIGRncmV5OiAjNWM1YzVjLFxuICAgIGxncmV5OiAjRDZENkQ2LFxuICAgIGFsbW9zdEdyZXk6ICNGMEYwRjAsXG4gICAgYWxtb3N0V2hpdGU6ICNGOUY5Rjlcbik7XG5cbiRzaXplczogKFxuICAgIG1lZGlhOiA0MDBweCxcbiAgICBpbm5lcjogKFxuICAgICAgICBkZXNrdG9wOiAxMTgwcHgsXG4gICAgICAgIHRhYmxldDogNzYwcHgsXG4gICAgICAgIG1vYmlsZTogMzIwcHhcbiAgICApLFxuICAgIGJyZWFrcG9pbnQ6IChcbiAgICAgICAgZGVza3RvcDogMTIwMHB4LFxuICAgICAgICB0YWJsZXQ6IDEwMjRweCxcbiAgICAgICAgbW9iaWxlOiA3NjdweFxuICAgICksXG4pO1xuXG4vLyBTZXQgbWFpbiBmb250IHNpemUgdG8gYm9keSAoZWcuIDEycHgpLCB0aGVuIHJlZmVyIHRvIGl0IHVzaW5nIHJlbSwgZWcuIHNlY29uZGFyeTogMnJlbSAtPiAyNHB4XG4kZm9udC1zaXplczogKFxuICAgIG1haW46IDE0cHgsXG4gICAgbWFpblBsdXM6IDE1cHgsXG4gICAgcG9zdDogMThweCxcbiAgICBwb3N0LWxhcmdlOiAyNnB4LFxuICAgIGgxOiA0OHB4LFxuICAgIGgxLW06IDQycHgsXG4gICAgaDI6IDI4cHgsXG4gICAgaDJQbHVzOiAzMnB4LFxuICAgIGgzOiAxLjVyZW0sXG4gICAgaDQ6IDEuMjVyZW0sXG4gICAgaDU6IDEuMXJlbSxcbiAgICBkYXRlOiAxNXB4LFxuICAgIHNtYWxsOiAxM3B4LFxuICAgIHNtYWxsZXI6IDAuOHJlbSxcbiAgICBxdW90ZTogOXB4LFxuICAgIGxpbmUtaGVpZ2h0LWJpZzogMS43NSxcbiAgICBzb2NpYWwtaWNvbjogMjRweCxcbik7XG5cbiRvZmZzZXRzOiAoXG4gICAgZGVmYXVsdDogMTVweCxcbiAgICBkZWZhdWx0UGx1czogMjVweCxcbiAgICBsYXJnZTogMzBweCxcbiAgICBsYXJnZVBsdXM6IDQwcHgsXG4gICAgYmlnOiAyMHB4LFxuICAgIHNtYWxsOiAxMHB4LFxuICAgIGh1Z2U6IDUwcHgsXG4gICAgaHVnZVBsdXM6IDYwcHgsXG4gICAgeGw6IDc1cHgsXG4gICAgeHhsOiAxMDBweCxcbiAgICBzbWFsbGVyOiA3cHhcbik7XG5cbiRmb250czogKFxuICAgIG1haW46ICN7J1JvYm90bycsICdBcmlhbCcsIHNhbnMtc2VyaWZ9XG4gICAgLy8gc2Vjb25kYXJ5OiAnSGVsdmV0aWNhJ1xuKTtcblxuJGRlZmF1bHRzOiAoXG4gICAgYm9yZGVyLXJhZGl1czogNHB4LFxuICAgIGxpbmUtaGVpZ2h0OiAxLjJcbik7XG5cbi8qIFN0YW5kYWxvbmUgdmFyaWFibGVzXG49PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuJHdoaXRlLXNwYWNlOiAxZW07XG4kZm9ybS1jb250cm9sLWhlaWdodDogMnJlbTtcblxuJHotaW5kZXgtaGVhZGVyOiAxMDA7XG4kei1pbmRleC1zbGlkZS1jb250ZW50OiA1MDtcbiR6LWluZGV4LXBvc3Q6IDYwO1xuXG4kdHJhbnNpdGlvbi1kZWZhdWx0OiBhbGwgLjFzIGxpbmVhcjtcbiR0cmFuc2l0aW9uLXNsb3c6IGFsbCAuMnMgbGluZWFyO1xuXG4kdHJhbnNmb3JtLWRlZmF1bHQtc2NhbGU6IHNjYWxlKDEuMSk7XG5cbiRib3gtc2hhZG93LWRlZmF1bHQ6IDBweCA4cHggMjRweCAtMTVweCBibGFjaztcbiRib3gtc2hhZG93LWJpZzogMHB4IDE2cHggMjRweCAtNXB4IGJsYWNrO1xuJGJveC1zaGFkb3ctbGFyZ2U6IDBweCAwcHggNDZweCAwcHggcmdiYSgwLDAsMCwwLjIpO1xuJGJveC1zaGFkb3ctZG91YmxlOiAwcHggMHB4IDQ2cHggMHB4IHJnYmEoMCwwLDAsMC40KTtcblxuJG1vZGFsLW92ZXJsYXktb3BhY2l0eTogLjc7XG5cbiRoZWFkZXItYnRuLXBhZGRpbmc6IDEwcHg7XG4kaGFtYnVyZ2VyLXdpZHRoOiAzMHB4O1xuJGhhbWJ1cmdlci1iYXItaGVpZ2h0OiAycHg7XG5cbiRzaXplLWhlYWRlci1oZWlnaHQtZGVza3RvcDogODBweDtcbiRzaXplLWhlYWRlci1oZWlnaHQtbW9iaWxlOiA2MHB4O1xuXG4kc2l6ZS1ob21lLXNsaWRlci1oZWlnaHQ6IDg1dmg7XG4kc2l6ZS1ob21lLXNsaWRlci1jb250ZW50LW1heC13aWR0aDogNzAlO1xuXG4kc2l6ZS1zdGF0aWMtaGVyby1oZWlnaHQ6IDc1dmg7XG4kc2l6ZS1zdGF0aWMtaGVyby1oZWlnaHQtbG93OiA1MHZoO1xuJHNpemUtc3RhdGljLWhlcm8tY29udGVudC1tYXgtd2lkdGg6IDgwJTtcblxuJHN1Ym1lbnUtYmFyLWhlaWdodDogODBweDtcblxuJHNpemUtc2lkZS1wYW5lbC13aWR0aDogNTc2cHg7XG4kc2l6ZS1zaWRlLW1lbnUtaXRlbS1wYWRkaW5nOiAxMnB4O1xuXG4kc2l6ZS1zb2NpYWwtaWNvbi1oZWlnaHQ6IDM1cHg7XG5cbiRzbGlkZS1vdmVybGF5LW9wYWNpdHktc3RhcnQ6IC44NTtcblxuJHNpemUtcG9zdC10aHVtYi1oOiAxOTBweDtcbiRzaXplLXBvc3QtYnRuOiA2MHB4O1xuJHNpemUtcG9zdC1idG4tc21hbGw6IDUycHg7XG5cbiRzaXplLXBvc3QtZnVsbHdpZHRoLWZpZ3VyZS13aWR0aDogNDUwcHg7XG4kc2l6ZS1wb3N0LWZpZy13aWR0aC10YWJsZXQ6IDMwMHB4O1xuJHNpemUtcG9zdC1maWctaGVpZ2h0LW1vYmlsZTogMjAwcHg7XG5cbiRzaXplLW5ld3NsZXR0ZXItZm9ybS1oZWlnaHQ6IDUwcHg7XG5cbiRzaXplLWZvb3Rlci1kb3dubG9hZC1pbWctd2lkdGg6IDE4MHB4O1xuXG4kc2l6ZS1zaW5nbGUtbmF2LXdpZHRoOiAyNDBweDtcblxuJHNpemUtY29tbWVudC1mb3JtLWlucHV0LWhlaWdodDogNDZweDtcbiRzaXplLWNvbW1lbnQtZm9ybS1pbnB1dC1oZWlnaHQtYmlnOiA2MHB4O1xuIiwiLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIEJvZHlcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5ib2R5IHtcbiAgICAvLyBtYXJnaW4tdG9wOiAkc2l6ZS1oZWFkZXItaGVpZ2h0LWRlc2t0b3A7XG5cbiAgICAmLnNpZGUtcGFuZWwtb3BlbiB7XG4gICAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgfVxuICAgIC8vIEBpbmNsdWRlIG1lZGlhKCc8PXRhYmxldCcpIHtcbiAgICAvLyAgICAgbWFyZ2luLXRvcDogJHNpemUtaGVhZGVyLWhlaWdodC1tb2JpbGU7XG4gICAgLy8gfVxufVxuXG5pbnB1dDpmb2N1cyB7XG4gICAgb3V0bGluZTogbm9uZTtcbiAgICBib3JkZXI6IDFweCBzb2xpZCBjb2xvcihwcmltYXJ5KTtcbn1cbiIsIi8qIEJyZWFrcG9pbnRzIGZvciBpbmNsdWRlLW1lZGlhIHBsdWdpblxuPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8vIGJyZWFrcG9pbnRzIHZhbHVlcyBhcnJheSAtIHVzZWQgdG8gZ2VuZXJhdGUgY3VzdG9tIGF0dHJpYnV0ZXMgd2l0aCBpbmNsdWRlLW1lZGlhIHJ3ZCBhbmQgZm9yIGluY2x1ZGUtbWVkaWEgaXRzZWxmXG4kYnJlYWtwb2ludHM6IChcbiAgICAnZGVza3RvcCc6IHNpemUoYnJlYWtwb2ludCwgZGVza3RvcCksXG4gICAgJ3RhYmxldCc6IHNpemUoYnJlYWtwb2ludCwgdGFibGV0KSxcbiAgICAnbW9iaWxlJzogc2l6ZShicmVha3BvaW50LCBtb2JpbGUpXG4pO1xuXG4vLyBtZWRpYSBleHByZXNzaW9ucyBhbmQgaG93IHRoZXkgYXJlIGFsaWFzZWQgaW4gaW5jbHVkZS1tZWRpYVxuJG1lZGlhLWV4cHJlc3Npb25zOiAoXG4gICAgJ3NjcmVlbic6ICdzY3JlZW4nLFxuICAgICdsYW5kc2NhcGUnOiAnKG9yaWVudGF0aW9uOiBsYW5kc2NhcGUpJyxcbiAgICAncG9ydHJhaXQnOiAnKG9yaWVudGF0aW9uOiBwb3J0cmFpdCknLFxuICAgICdyZXRpbmEyeCc6ICcoLXdlYmtpdC1taW4tZGV2aWNlLXBpeGVsLXJhdGlvOiAyKSwgKG1pbi1yZXNvbHV0aW9uOiAxOTJkcGkpJyxcbik7XG4iLCIvKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgTWl4aW5zXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKiAxLiBGb250IHNtb290aGluZ1xuPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8qIEJldHRlciBmb250LXJlbmRlcmluZyBvbiBPU1hcbiAgIGh0dHBzOi8vbWF4aW1pbGlhbmhvZmZtYW5uLmNvbS9wb3N0cy9iZXR0ZXItZm9udC1yZW5kZXJpbmctb24tb3N4XG4qL1xuQG1peGluIGZvbnQtc21vb3RoaW5nKCR2YWx1ZTogb24pIHtcbiAgICBAaWYgJHZhbHVlID09IG9uIHtcbiAgICAgICAgLXdlYmtpdC1mb250LXNtb290aGluZzogYW50aWFsaWFzZWQ7XG4gICAgICAgIC1tb3otb3N4LWZvbnQtc21vb3RoaW5nOiBncmF5c2NhbGU7XG4gICAgfSBAZWxzZSB7XG4gICAgICAgIC13ZWJraXQtZm9udC1zbW9vdGhpbmc6IHN1YnBpeGVsLWFudGlhbGlhc2VkO1xuICAgICAgICAtbW96LW9zeC1mb250LXNtb290aGluZzogYXV0bztcbiAgICB9XG59XG5cbi8qIDIuIEEgY2xlYXJmaXggZm9yIGZsb2F0ZWQgZWxlbWVudHNcbj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5AbWl4aW4gY2xlYXJmaXgge1xuICAgICY6YWZ0ZXIge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgdmlzaWJpbGl0eTogaGlkZGVuO1xuICAgICAgICBjbGVhcjogYm90aDtcbiAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcblxuICAgICAgICBoZWlnaHQ6IDA7XG4gICAgICAgIG1hcmdpbjogMCFpbXBvcnRhbnQ7XG5cbiAgICAgICAgbGluZS1oZWlnaHQ6IDA7XG5cbiAgICAgICAgY29udGVudDogJyc7XG4gICAgfVxufVxuLyogMy4gQXBwZW5kIGEgbW9kaWZpY2F0b3IgY2xhc3MgdGhhdCBjaGFuZ2VzIGNvbG9yL2JnXG49PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuQG1peGluIGNvbG9yLW1vZGlmaWVycyB7XG4gICAgQGVhY2ggJG5hbWUsICRoZXggaW4gJGNvbG9ycyB7XG4gICAgICAgICYtLSN7JG5hbWV9IHtcbiAgICAgICAgICAgIGNvbG9yOiAkaGV4O1xuICAgICAgICB9XG4gICAgfVxufVxuXG5AbWl4aW4gYmFja2dyb3VuZC1tb2RpZmllcnMge1xuICAgIEBlYWNoICRuYW1lLCAkaGV4IGluICRjb2xvcnMge1xuICAgICAgICAmLS0jeyRuYW1lfSB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkaGV4O1xuICAgICAgICB9XG4gICAgfVxufVxuXG5AbWl4aW4gdHJhbnNpdGlvbiAoJGR1cmF0aW9uOiAxNzBtcywgJHRpbWluZzogZWFzZSkge1xuICAgIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiAkdGltaW5nO1xuICAgIHRyYW5zaXRpb24tZHVyYXRpb246ICRkdXJhdGlvbjtcbn1cblxuQG1peGluIGVsbGlwc2lzICgpIHtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuXG4gICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgICB0ZXh0LW92ZXJmbG93OiBlbGxpcHNpcztcbn1cblxuQG1peGluIGFuaW1hdGUtbGluayAoJGFuaW0tbGluZS1oOiAxMDAlLCAkYW5pbS1saW5lLXY6IDFweCwgJHBhaW50OiBjdXJyZW50Q29sb3IpIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgICY6YmVmb3JlIHtcbiAgICAgICAgY29udGVudDogJyc7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIGJvdHRvbTogMDtcbiAgICAgICAgbGVmdDogMDtcblxuICAgICAgICB3aWR0aDogJGFuaW0tbGluZS1oO1xuICAgICAgICBoZWlnaHQ6ICRhbmltLWxpbmUtdjtcblxuICAgICAgICB0cmFuc2l0aW9uOiAuMThzIGN1YmljLWJlemllciguNTIsIC4wMSwgLjE2LCAxKTtcbiAgICAgICAgdHJhbnNmb3JtOiBzY2FsZVgoMCk7XG4gICAgICAgIHRyYW5zZm9ybS1vcmlnaW46IDAgNTAlO1xuXG4gICAgICAgIGJhY2tncm91bmQ6ICRwYWludDtcbiAgICB9XG59XG5cbkBtaXhpbiBhbmltYXRlLWxpbmstcmV2ZXJzZSAoKSB7XG4gICAgJjpiZWZvcmUge1xuICAgICAgICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKC42MiwgLjAyLCAuMzQsIDEpO1xuICAgICAgICB0cmFuc2l0aW9uLWR1cmF0aW9uOiAuMjRzO1xuICAgICAgICB0cmFuc2Zvcm06IHNjYWxlWCgxKTtcbiAgICB9XG59XG4iLCIvKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgVHlwb2dyYXBoeVxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuXG4vKiBHbG9iYWwgdGV4dHNcbj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5odG1sIHtcbiAgICBAaW5jbHVkZSBmb250LXNtb290aGluZyhvbik7XG5cbiAgICBmb250LXNpemU6IGZvbnQtc2l6ZShtYWluKTtcbn1cblxuYm9keSB7XG4gICAgZm9udC1mYW1pbHk6IGZvbnQobWFpbik7XG4gICAgY29sb3I6IGNvbG9yKGJsYWNrKTtcblxuICAgIGxpbmUtaGVpZ2h0OiBkZWZhdWx0KGxpbmUtaGVpZ2h0KTtcbn1cblxuYSB7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcblxuICAgIGNvbG9yOiBjdXJyZW50Q29sb3I7XG4gICAgJjpob3ZlciB7XG4gICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICB9XG59XG4iLCIvKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuVXNlciBpbnRlcmZhY2Vcbj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4udWktbGluayB7XG4gICAgQGluY2x1ZGUgYW5pbWF0ZS1saW5rO1xuXG4gICAgY29sb3I6IGNvbG9yKHByaW1hcnkpO1xuICAgICY6aG92ZXIge1xuICAgICAgICBAaW5jbHVkZSBhbmltYXRlLWxpbmstcmV2ZXJzZTtcbiAgICB9XG59XG5cbi51aS1iZyB7XG4gICAgQGluY2x1ZGUgYmFja2dyb3VuZC1tb2RpZmllcnM7XG59XG5cbi51aS1jb2xvciB7XG4gICAgQGluY2x1ZGUgY29sb3ItbW9kaWZpZXJzO1xufVxuXG4udWktaWNvbiB7XG4gICAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gICAgd2lkdGg6IDFlbTtcbiAgICBoZWlnaHQ6IDFlbTtcbiAgICBmbGV4LXNocmluazogMDtcbiAgICBmb250LXNpemU6IDFlbTtcbn1cblxuLnVpLXVub3JkZXJlZC1saXN0LFxuLnVpLW9yZGVyZWQtbGlzdCB7XG4gICAgbWFyZ2luOiAwO1xuICAgIHBhZGRpbmc6IDA7XG5cbiAgICBsaXN0LXN0eWxlOiBub25lO1xuICAgIHBhZGRpbmctbGVmdDogJHdoaXRlLXNwYWNlO1xuICAgIGxpIHtcbiAgICAgICAgbWFyZ2luOiAxcmVtIDA7XG4gICAgfVxufVxuXG4udWktYnV0dG9uIHtcbiAgICBoZWlnaHQ6IDFlbTtcblxuICAgIHBhZGRpbmc6ICR3aGl0ZS1zcGFjZSowLjUgJHdoaXRlLXNwYWNlO1xuICAgIGJhY2tncm91bmQ6IGNvbG9yKHByaW1hcnkpO1xuICAgIGNvbG9yOiBjb2xvcih3aGl0ZSk7XG5cbiAgICBib3JkZXItcmFkaXVzOiBkZWZhdWx0KGJvcmRlci1yYWRpdXMpO1xufVxuXG4vLyAudWktZm9ybSBmaWVsZHNldFxuLy8gZmllbGRzZXQudWktZmllbGRzZXRcbmZpZWxkc2V0IHtcbiAgICAudWktZm9ybSAmLFxuICAgICYudWktZmllbGRzZXQge1xuICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgIHBhZGRpbmc6IDA7XG5cbiAgICAgICAgYm9yZGVyOiAwO1xuICAgIH1cbn1cblxuLy8gLnVpLWZvcm0gaW5wdXRcbi8vIGlucHV0LnVpLWlucHV0XG5pbnB1dCB7XG4gICAgLnVpLWZvcm0gJixcbiAgICAmLnVpLSN7Jn0ge1xuICAgICAgICAmW3R5cGU9dGV4dF06Oi1tcy1jbGVhciB7XG4gICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICB9XG4gICAgfVxufVxuXG4vLyAudWktZm9ybSBzZWxlY3Rcbi8vIHNlbGVjdC51aS1zZWxlY3RcbnNlbGVjdCB7XG4gICAgLnVpLWZvcm0gJixcbiAgICAmLnVpLSN7Jn0ge1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIHotaW5kZXg6IDI7XG5cbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDA7XG4gICAgICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuXG4gICAgICAgIGFwcGVhcmFuY2U6IG5vbmU7XG4gICAgICAgICY6Oi1tcy1leHBhbmQge1xuICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgfVxuICAgIH1cbn1cblxuLy8gLnVpLWZvcm0gdGV4dGFyZWFcbi8vIHRleHRhcmVhLnVpLXRleHRhcmVhXG50ZXh0YXJlYSB7XG4gICAgLnVpLWZvcm0gJixcbiAgICAmLnVpLSN7Jn0ge1xuICAgICAgICBtYXgtaGVpZ2h0OiAxMGVtO1xuICAgICAgICBwYWRkaW5nOiAkd2hpdGUtc3BhY2U7XG5cbiAgICAgICAgcmVzaXplOiB2ZXJ0aWNhbDtcbiAgICB9XG59XG5cbmlucHV0LFxudGV4dGFyZWEge1xuICAgIC51aS1mb3JtICYsXG4gICAgJi51aS0jeyZ9IHtcbiAgICAgICAgJjo6cGxhY2Vob2xkZXIge1xuICAgICAgICAgICAgY29sb3I6IGN1cnJlbnRDb2xvcjtcbiAgICAgICAgfVxuICAgIH1cbn1cblxuaW5wdXQsXG5zZWxlY3Qge1xuICAgIC51aS1mb3JtICYsXG4gICAgJi51aS0jeyZ9IHtcbiAgICAgICAgcGFkZGluZzogMCAjeyR3aGl0ZS1zcGFjZSAqIDAuNX07XG4gICAgICAgIGhlaWdodDogJGZvcm0tY29udHJvbC1oZWlnaHQ7XG4gICAgfVxufVxuXG5pbnB1dCxcbnRleHRhcmVhLFxuc2VsZWN0IHtcbiAgICAudWktZm9ybSAmLFxuICAgICYudWktI3smfSB7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDA7XG4gICAgICAgIGJveC1zaGFkb3c6IG5vbmU7XG5cbiAgICAgICAgJixcbiAgICAgICAgJjotd2Via2l0LWF1dG9maWxsIHtcbiAgICAgICAgICAgIGJvcmRlcjogc29saWQgMXB4IGNvbG9yKHByaW1hcnkpO1xuICAgICAgICB9XG4gICAgICAgICY6LXdlYmtpdC1hdXRvZmlsbCB7XG4gICAgICAgICAgICBib3gtc2hhZG93OiBub25lO1xuICAgICAgICB9XG5cbiAgICAgICAgJjpmb2N1cyB7XG4gICAgICAgICAgICBvdXRsaW5lOiBub25lO1xuICAgICAgICB9XG4gICAgfVxufVxuIiwiLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIEZvb3RlclxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi5sLWZvb3RlciB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogY29sb3IoYWxtb3N0V2hpdGUpO1xufVxuIiwiLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIEhlYWRlclxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi5sLWhlYWRlciB7XG4gICAgcG9zaXRpb246IGZpeGVkO1xuICAgIHRvcDogMDtcbiAgICBsZWZ0OiAwO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogJHNpemUtaGVhZGVyLWhlaWdodC1kZXNrdG9wO1xuXG4gICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG5cbiAgICB0cmFuc2l0aW9uOiAkdHJhbnNpdGlvbi1kZWZhdWx0O1xuXG4gICAgei1pbmRleDogJHotaW5kZXgtaGVhZGVyO1xuXG4gICAgQGluY2x1ZGUgbWVkaWEoJzw9dGFibGV0Jykge1xuICAgICAgICBoZWlnaHQ6ICRzaXplLWhlYWRlci1oZWlnaHQtbW9iaWxlO1xuICAgIH1cbiAgICAubC1pbm5lciB7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcblxuICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgfVxuICAgICYuaXMtYWN0aXZlLFxuICAgICYuaXMtYWN0aXZlLWNhdCxcbiAgICAmLmlzLWFjdGl2ZS1zZWFyY2gsXG4gICAgJi5pcy1zY3JvbGxlZCB7XG4gICAgICAgIGJhY2tncm91bmQ6IGNvbG9yKHdoaXRlKTtcbiAgICAgICAgYm94LXNoYWRvdzogJGJveC1zaGFkb3ctZGVmYXVsdDtcblxuICAgICAgICB0cmFuc2l0aW9uOiAkdHJhbnNpdGlvbi1kZWZhdWx0O1xuXG4gICAgICAgIC5jLWhlYWRlci1idG4ge1xuICAgICAgICAgICAgLmMtbGFiZWwge1xuICAgICAgICAgICAgICAgICYsXG4gICAgICAgICAgICAgICAgJjpiZWZvcmUsXG4gICAgICAgICAgICAgICAgJjphZnRlciB7XG4gICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IGNvbG9yKHByaW1hcnkpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbiAgICAmLmlzLWhpZGRlbiB7XG4gICAgICAgIGhlaWdodDogMDtcbiAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICB9XG59XG4iLCJAY2hhcnNldCBcIlVURi04XCI7XG5cbi8vICAgICBfICAgICAgICAgICAgXyAgICAgICAgICAgXyAgICAgICAgICAgICAgICAgICAgICAgICAgIF8gX1xuLy8gICAgKF8pICAgICAgICAgIHwgfCAgICAgICAgIHwgfCAgICAgICAgICAgICAgICAgICAgICAgICB8IChfKVxuLy8gICAgIF8gXyBfXyAgIF9fX3wgfF8gICBfICBfX3wgfCBfX18gICBfIF9fIF9fXyAgIF9fXyAgX198IHxfICBfXyBfXG4vLyAgICB8IHwgJ18gXFwgLyBfX3wgfCB8IHwgfC8gX2AgfC8gXyBcXCB8ICdfIGAgXyBcXCAvIF8gXFwvIF9gIHwgfC8gX2AgfFxuLy8gICAgfCB8IHwgfCB8IChfX3wgfCB8X3wgfCAoX3wgfCAgX18vIHwgfCB8IHwgfCB8ICBfXy8gKF98IHwgfCAoX3wgfFxuLy8gICAgfF98X3wgfF98XFxfX198X3xcXF9fLF98XFxfXyxffFxcX19ffCB8X3wgfF98IHxffFxcX19ffFxcX18sX3xffFxcX18sX3xcbi8vXG4vLyAgICAgIFNpbXBsZSwgZWxlZ2FudCBhbmQgbWFpbnRhaW5hYmxlIG1lZGlhIHF1ZXJpZXMgaW4gU2Fzc1xuLy8gICAgICAgICAgICAgICAgICAgICAgICB2MS40Ljlcbi8vXG4vLyAgICAgICAgICAgICAgICBodHRwOi8vaW5jbHVkZS1tZWRpYS5jb21cbi8vXG4vLyAgICAgICAgIEF1dGhvcnM6IEVkdWFyZG8gQm91Y2FzIChAZWR1YXJkb2JvdWNhcylcbi8vICAgICAgICAgICAgICAgICAgSHVnbyBHaXJhdWRlbCAoQGh1Z29naXJhdWRlbClcbi8vXG4vLyAgICAgIFRoaXMgcHJvamVjdCBpcyBsaWNlbnNlZCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIE1JVCBsaWNlbnNlXG5cblxuLy8vL1xuLy8vIGluY2x1ZGUtbWVkaWEgbGlicmFyeSBwdWJsaWMgY29uZmlndXJhdGlvblxuLy8vIEBhdXRob3IgRWR1YXJkbyBCb3VjYXNcbi8vLyBAYWNjZXNzIHB1YmxpY1xuLy8vL1xuXG5cbi8vL1xuLy8vIENyZWF0ZXMgYSBsaXN0IG9mIGdsb2JhbCBicmVha3BvaW50c1xuLy8vXG4vLy8gQGV4YW1wbGUgc2NzcyAtIENyZWF0ZXMgYSBzaW5nbGUgYnJlYWtwb2ludCB3aXRoIHRoZSBsYWJlbCBgcGhvbmVgXG4vLy8gICRicmVha3BvaW50czogKCdwaG9uZSc6IDMyMHB4KTtcbi8vL1xuJGJyZWFrcG9pbnRzOiAoXG4gICdwaG9uZSc6IDMyMHB4LFxuICAndGFibGV0JzogNzY4cHgsXG4gICdkZXNrdG9wJzogMTAyNHB4XG4pICFkZWZhdWx0O1xuXG5cbi8vL1xuLy8vIENyZWF0ZXMgYSBsaXN0IG9mIHN0YXRpYyBleHByZXNzaW9ucyBvciBtZWRpYSB0eXBlc1xuLy8vXG4vLy8gQGV4YW1wbGUgc2NzcyAtIENyZWF0ZXMgYSBzaW5nbGUgbWVkaWEgdHlwZSAoc2NyZWVuKVxuLy8vICAkbWVkaWEtZXhwcmVzc2lvbnM6ICgnc2NyZWVuJzogJ3NjcmVlbicpO1xuLy8vXG4vLy8gQGV4YW1wbGUgc2NzcyAtIENyZWF0ZXMgYSBzdGF0aWMgZXhwcmVzc2lvbiB3aXRoIGxvZ2ljYWwgZGlzanVuY3Rpb24gKE9SIG9wZXJhdG9yKVxuLy8vICAkbWVkaWEtZXhwcmVzc2lvbnM6IChcbi8vLyAgICAncmV0aW5hMngnOiAnKC13ZWJraXQtbWluLWRldmljZS1waXhlbC1yYXRpbzogMiksIChtaW4tcmVzb2x1dGlvbjogMTkyZHBpKSdcbi8vLyAgKTtcbi8vL1xuJG1lZGlhLWV4cHJlc3Npb25zOiAoXG4gICdzY3JlZW4nOiAnc2NyZWVuJyxcbiAgJ3ByaW50JzogJ3ByaW50JyxcbiAgJ2hhbmRoZWxkJzogJ2hhbmRoZWxkJyxcbiAgJ2xhbmRzY2FwZSc6ICcob3JpZW50YXRpb246IGxhbmRzY2FwZSknLFxuICAncG9ydHJhaXQnOiAnKG9yaWVudGF0aW9uOiBwb3J0cmFpdCknLFxuICAncmV0aW5hMngnOiAnKC13ZWJraXQtbWluLWRldmljZS1waXhlbC1yYXRpbzogMiksIChtaW4tcmVzb2x1dGlvbjogMTkyZHBpKSwgKG1pbi1yZXNvbHV0aW9uOiAyZHBweCknLFxuICAncmV0aW5hM3gnOiAnKC13ZWJraXQtbWluLWRldmljZS1waXhlbC1yYXRpbzogMyksIChtaW4tcmVzb2x1dGlvbjogMzUwZHBpKSwgKG1pbi1yZXNvbHV0aW9uOiAzZHBweCknXG4pICFkZWZhdWx0O1xuXG5cbi8vL1xuLy8vIERlZmluZXMgYSBudW1iZXIgdG8gYmUgYWRkZWQgb3Igc3VidHJhY3RlZCBmcm9tIGVhY2ggdW5pdCB3aGVuIGRlY2xhcmluZyBicmVha3BvaW50cyB3aXRoIGV4Y2x1c2l2ZSBpbnRlcnZhbHNcbi8vL1xuLy8vIEBleGFtcGxlIHNjc3MgLSBJbnRlcnZhbCBmb3IgcGl4ZWxzIGlzIGRlZmluZWQgYXMgYDFgIGJ5IGRlZmF1bHRcbi8vLyAgQGluY2x1ZGUgbWVkaWEoJz4xMjhweCcpIHt9XG4vLy9cbi8vLyAgLyogR2VuZXJhdGVzOiAqL1xuLy8vICBAbWVkaWEgKG1pbi13aWR0aDogMTI5cHgpIHt9XG4vLy9cbi8vLyBAZXhhbXBsZSBzY3NzIC0gSW50ZXJ2YWwgZm9yIGVtcyBpcyBkZWZpbmVkIGFzIGAwLjAxYCBieSBkZWZhdWx0XG4vLy8gIEBpbmNsdWRlIG1lZGlhKCc+MjBlbScpIHt9XG4vLy9cbi8vLyAgLyogR2VuZXJhdGVzOiAqL1xuLy8vICBAbWVkaWEgKG1pbi13aWR0aDogMjAuMDFlbSkge31cbi8vL1xuLy8vIEBleGFtcGxlIHNjc3MgLSBJbnRlcnZhbCBmb3IgcmVtcyBpcyBkZWZpbmVkIGFzIGAwLjFgIGJ5IGRlZmF1bHQsIHRvIGJlIHVzZWQgd2l0aCBgZm9udC1zaXplOiA2Mi41JTtgXG4vLy8gIEBpbmNsdWRlIG1lZGlhKCc+Mi4wcmVtJykge31cbi8vL1xuLy8vICAvKiBHZW5lcmF0ZXM6ICovXG4vLy8gIEBtZWRpYSAobWluLXdpZHRoOiAyLjFyZW0pIHt9XG4vLy9cbiR1bml0LWludGVydmFsczogKFxuICAncHgnOiAxLFxuICAnZW0nOiAwLjAxLFxuICAncmVtJzogMC4xLFxuICAnJzogMFxuKSAhZGVmYXVsdDtcblxuLy8vXG4vLy8gRGVmaW5lcyB3aGV0aGVyIHN1cHBvcnQgZm9yIG1lZGlhIHF1ZXJpZXMgaXMgYXZhaWxhYmxlLCB1c2VmdWwgZm9yIGNyZWF0aW5nIHNlcGFyYXRlIHN0eWxlc2hlZXRzXG4vLy8gZm9yIGJyb3dzZXJzIHRoYXQgZG9uJ3Qgc3VwcG9ydCBtZWRpYSBxdWVyaWVzLlxuLy8vXG4vLy8gQGV4YW1wbGUgc2NzcyAtIERpc2FibGVzIHN1cHBvcnQgZm9yIG1lZGlhIHF1ZXJpZXNcbi8vLyAgJGltLW1lZGlhLXN1cHBvcnQ6IGZhbHNlO1xuLy8vICBAaW5jbHVkZSBtZWRpYSgnPj10YWJsZXQnKSB7XG4vLy8gICAgLmZvbyB7XG4vLy8gICAgICBjb2xvcjogdG9tYXRvO1xuLy8vICAgIH1cbi8vLyAgfVxuLy8vXG4vLy8gIC8qIEdlbmVyYXRlczogKi9cbi8vLyAgLmZvbyB7XG4vLy8gICAgY29sb3I6IHRvbWF0bztcbi8vLyAgfVxuLy8vXG4kaW0tbWVkaWEtc3VwcG9ydDogdHJ1ZSAhZGVmYXVsdDtcblxuLy8vXG4vLy8gU2VsZWN0cyB3aGljaCBicmVha3BvaW50IHRvIGVtdWxhdGUgd2hlbiBzdXBwb3J0IGZvciBtZWRpYSBxdWVyaWVzIGlzIGRpc2FibGVkLiBNZWRpYSBxdWVyaWVzIHRoYXQgc3RhcnQgYXQgb3Jcbi8vLyBpbnRlcmNlcHQgdGhlIGJyZWFrcG9pbnQgd2lsbCBiZSBkaXNwbGF5ZWQsIGFueSBvdGhlcnMgd2lsbCBiZSBpZ25vcmVkLlxuLy8vXG4vLy8gQGV4YW1wbGUgc2NzcyAtIFRoaXMgbWVkaWEgcXVlcnkgd2lsbCBzaG93IGJlY2F1c2UgaXQgaW50ZXJjZXB0cyB0aGUgc3RhdGljIGJyZWFrcG9pbnRcbi8vLyAgJGltLW1lZGlhLXN1cHBvcnQ6IGZhbHNlO1xuLy8vICAkaW0tbm8tbWVkaWEtYnJlYWtwb2ludDogJ2Rlc2t0b3AnO1xuLy8vICBAaW5jbHVkZSBtZWRpYSgnPj10YWJsZXQnKSB7XG4vLy8gICAgLmZvbyB7XG4vLy8gICAgICBjb2xvcjogdG9tYXRvO1xuLy8vICAgIH1cbi8vLyAgfVxuLy8vXG4vLy8gIC8qIEdlbmVyYXRlczogKi9cbi8vLyAgLmZvbyB7XG4vLy8gICAgY29sb3I6IHRvbWF0bztcbi8vLyAgfVxuLy8vXG4vLy8gQGV4YW1wbGUgc2NzcyAtIFRoaXMgbWVkaWEgcXVlcnkgd2lsbCBOT1Qgc2hvdyBiZWNhdXNlIGl0IGRvZXMgbm90IGludGVyY2VwdCB0aGUgZGVza3RvcCBicmVha3BvaW50XG4vLy8gICRpbS1tZWRpYS1zdXBwb3J0OiBmYWxzZTtcbi8vLyAgJGltLW5vLW1lZGlhLWJyZWFrcG9pbnQ6ICd0YWJsZXQnO1xuLy8vICBAaW5jbHVkZSBtZWRpYSgnPj1kZXNrdG9wJykge1xuLy8vICAgIC5mb28ge1xuLy8vICAgICAgY29sb3I6IHRvbWF0bztcbi8vLyAgICB9XG4vLy8gIH1cbi8vL1xuLy8vICAvKiBObyBvdXRwdXQgKi9cbi8vL1xuJGltLW5vLW1lZGlhLWJyZWFrcG9pbnQ6ICdkZXNrdG9wJyAhZGVmYXVsdDtcblxuLy8vXG4vLy8gU2VsZWN0cyB3aGljaCBtZWRpYSBleHByZXNzaW9ucyBhcmUgYWxsb3dlZCBpbiBhbiBleHByZXNzaW9uIGZvciBpdCB0byBiZSB1c2VkIHdoZW4gbWVkaWEgcXVlcmllc1xuLy8vIGFyZSBub3Qgc3VwcG9ydGVkLlxuLy8vXG4vLy8gQGV4YW1wbGUgc2NzcyAtIFRoaXMgbWVkaWEgcXVlcnkgd2lsbCBzaG93IGJlY2F1c2UgaXQgaW50ZXJjZXB0cyB0aGUgc3RhdGljIGJyZWFrcG9pbnQgYW5kIGNvbnRhaW5zIG9ubHkgYWNjZXB0ZWQgbWVkaWEgZXhwcmVzc2lvbnNcbi8vLyAgJGltLW1lZGlhLXN1cHBvcnQ6IGZhbHNlO1xuLy8vICAkaW0tbm8tbWVkaWEtYnJlYWtwb2ludDogJ2Rlc2t0b3AnO1xuLy8vICAkaW0tbm8tbWVkaWEtZXhwcmVzc2lvbnM6ICgnc2NyZWVuJyk7XG4vLy8gIEBpbmNsdWRlIG1lZGlhKCc+PXRhYmxldCcsICdzY3JlZW4nKSB7XG4vLy8gICAgLmZvbyB7XG4vLy8gICAgICBjb2xvcjogdG9tYXRvO1xuLy8vICAgIH1cbi8vLyAgfVxuLy8vXG4vLy8gICAvKiBHZW5lcmF0ZXM6ICovXG4vLy8gICAuZm9vIHtcbi8vLyAgICAgY29sb3I6IHRvbWF0bztcbi8vLyAgIH1cbi8vL1xuLy8vIEBleGFtcGxlIHNjc3MgLSBUaGlzIG1lZGlhIHF1ZXJ5IHdpbGwgTk9UIHNob3cgYmVjYXVzZSBpdCBpbnRlcmNlcHRzIHRoZSBzdGF0aWMgYnJlYWtwb2ludCBidXQgY29udGFpbnMgYSBtZWRpYSBleHByZXNzaW9uIHRoYXQgaXMgbm90IGFjY2VwdGVkXG4vLy8gICRpbS1tZWRpYS1zdXBwb3J0OiBmYWxzZTtcbi8vLyAgJGltLW5vLW1lZGlhLWJyZWFrcG9pbnQ6ICdkZXNrdG9wJztcbi8vLyAgJGltLW5vLW1lZGlhLWV4cHJlc3Npb25zOiAoJ3NjcmVlbicpO1xuLy8vICBAaW5jbHVkZSBtZWRpYSgnPj10YWJsZXQnLCAncmV0aW5hMngnKSB7XG4vLy8gICAgLmZvbyB7XG4vLy8gICAgICBjb2xvcjogdG9tYXRvO1xuLy8vICAgIH1cbi8vLyAgfVxuLy8vXG4vLy8gIC8qIE5vIG91dHB1dCAqL1xuLy8vXG4kaW0tbm8tbWVkaWEtZXhwcmVzc2lvbnM6ICgnc2NyZWVuJywgJ3BvcnRyYWl0JywgJ2xhbmRzY2FwZScpICFkZWZhdWx0O1xuXG4vLy8vXG4vLy8gQ3Jvc3MtZW5naW5lIGxvZ2dpbmcgZW5naW5lXG4vLy8gQGF1dGhvciBIdWdvIEdpcmF1ZGVsXG4vLy8gQGFjY2VzcyBwcml2YXRlXG4vLy8vXG5cblxuLy8vXG4vLy8gTG9nIGEgbWVzc2FnZSBlaXRoZXIgd2l0aCBgQGVycm9yYCBpZiBzdXBwb3J0ZWRcbi8vLyBlbHNlIHdpdGggYEB3YXJuYCwgdXNpbmcgYGZlYXR1cmUtZXhpc3RzKCdhdC1lcnJvcicpYFxuLy8vIHRvIGRldGVjdCBzdXBwb3J0LlxuLy8vXG4vLy8gQHBhcmFtIHtTdHJpbmd9ICRtZXNzYWdlIC0gTWVzc2FnZSB0byBsb2dcbi8vL1xuQGZ1bmN0aW9uIGltLWxvZygkbWVzc2FnZSkge1xuICBAaWYgZmVhdHVyZS1leGlzdHMoJ2F0LWVycm9yJykge1xuICAgIEBlcnJvciAkbWVzc2FnZTtcbiAgfSBAZWxzZSB7XG4gICAgQHdhcm4gJG1lc3NhZ2U7XG4gICAgJF86IG5vb3AoKTtcbiAgfVxuXG4gIEByZXR1cm4gJG1lc3NhZ2U7XG59XG5cblxuLy8vXG4vLy8gV3JhcHBlciBtaXhpbiBmb3IgdGhlIGxvZyBmdW5jdGlvbiBzbyBpdCBjYW4gYmUgdXNlZCB3aXRoIGEgbW9yZSBmcmllbmRseVxuLy8vIEFQSSB0aGFuIGBAaWYgaW0tbG9nKCcuLicpIHt9YCBvciBgJF86IGltLWxvZygnLi4nKWAuIEJhc2ljYWxseSwgdXNlIHRoZSBmdW5jdGlvblxuLy8vIHdpdGhpbiBmdW5jdGlvbnMgYmVjYXVzZSBpdCBpcyBub3QgcG9zc2libGUgdG8gaW5jbHVkZSBhIG1peGluIGluIGEgZnVuY3Rpb25cbi8vLyBhbmQgdXNlIHRoZSBtaXhpbiBldmVyeXdoZXJlIGVsc2UgYmVjYXVzZSBpdCdzIG11Y2ggbW9yZSBlbGVnYW50LlxuLy8vXG4vLy8gQHBhcmFtIHtTdHJpbmd9ICRtZXNzYWdlIC0gTWVzc2FnZSB0byBsb2dcbi8vL1xuQG1peGluIGxvZygkbWVzc2FnZSkge1xuICBAaWYgaW0tbG9nKCRtZXNzYWdlKSB7fVxufVxuXG5cbi8vL1xuLy8vIEZ1bmN0aW9uIHdpdGggbm8gYEByZXR1cm5gIGNhbGxlZCBuZXh0IHRvIGBAd2FybmAgaW4gU2FzcyAzLjNcbi8vLyB0byB0cmlnZ2VyIGEgY29tcGlsaW5nIGVycm9yIGFuZCBzdG9wIHRoZSBwcm9jZXNzLlxuLy8vXG5AZnVuY3Rpb24gbm9vcCgpIHt9XG5cbi8vL1xuLy8vIERldGVybWluZXMgd2hldGhlciBhIGxpc3Qgb2YgY29uZGl0aW9ucyBpcyBpbnRlcmNlcHRlZCBieSB0aGUgc3RhdGljIGJyZWFrcG9pbnQuXG4vLy9cbi8vLyBAcGFyYW0ge0FyZ2xpc3R9ICAgJGNvbmRpdGlvbnMgIC0gTWVkaWEgcXVlcnkgY29uZGl0aW9uc1xuLy8vXG4vLy8gQHJldHVybiB7Qm9vbGVhbn0gLSBSZXR1cm5zIHRydWUgaWYgdGhlIGNvbmRpdGlvbnMgYXJlIGludGVyY2VwdGVkIGJ5IHRoZSBzdGF0aWMgYnJlYWtwb2ludFxuLy8vXG5AZnVuY3Rpb24gaW0taW50ZXJjZXB0cy1zdGF0aWMtYnJlYWtwb2ludCgkY29uZGl0aW9ucy4uLikge1xuICAkbm8tbWVkaWEtYnJlYWtwb2ludC12YWx1ZTogbWFwLWdldCgkYnJlYWtwb2ludHMsICRpbS1uby1tZWRpYS1icmVha3BvaW50KTtcblxuICBAaWYgbm90ICRuby1tZWRpYS1icmVha3BvaW50LXZhbHVlIHtcbiAgICBAaWYgaW0tbG9nKCdgI3skaW0tbm8tbWVkaWEtYnJlYWtwb2ludH1gIGlzIG5vdCBhIHZhbGlkIGJyZWFrcG9pbnQuJykge31cbiAgfVxuXG4gIEBlYWNoICRjb25kaXRpb24gaW4gJGNvbmRpdGlvbnMge1xuICAgIEBpZiBub3QgbWFwLWhhcy1rZXkoJG1lZGlhLWV4cHJlc3Npb25zLCAkY29uZGl0aW9uKSB7XG4gICAgICAkb3BlcmF0b3I6IGdldC1leHByZXNzaW9uLW9wZXJhdG9yKCRjb25kaXRpb24pO1xuICAgICAgJHByZWZpeDogZ2V0LWV4cHJlc3Npb24tcHJlZml4KCRvcGVyYXRvcik7XG4gICAgICAkdmFsdWU6IGdldC1leHByZXNzaW9uLXZhbHVlKCRjb25kaXRpb24sICRvcGVyYXRvcik7XG5cbiAgICAgIC8vIHNjc3MtbGludDpkaXNhYmxlIFNwYWNlQXJvdW5kT3BlcmF0b3JcbiAgICAgIEBpZiAoJHByZWZpeCA9PSAnbWF4JyBhbmQgJHZhbHVlIDw9ICRuby1tZWRpYS1icmVha3BvaW50LXZhbHVlKSBvclxuICAgICAgICAgICgkcHJlZml4ID09ICdtaW4nIGFuZCAkdmFsdWUgPiAkbm8tbWVkaWEtYnJlYWtwb2ludC12YWx1ZSkge1xuICAgICAgICBAcmV0dXJuIGZhbHNlO1xuICAgICAgfVxuICAgIH0gQGVsc2UgaWYgbm90IGluZGV4KCRpbS1uby1tZWRpYS1leHByZXNzaW9ucywgJGNvbmRpdGlvbikge1xuICAgICAgQHJldHVybiBmYWxzZTtcbiAgICB9XG4gIH1cblxuICBAcmV0dXJuIHRydWU7XG59XG5cbi8vLy9cbi8vLyBQYXJzaW5nIGVuZ2luZVxuLy8vIEBhdXRob3IgSHVnbyBHaXJhdWRlbFxuLy8vIEBhY2Nlc3MgcHJpdmF0ZVxuLy8vL1xuXG5cbi8vL1xuLy8vIEdldCBvcGVyYXRvciBvZiBhbiBleHByZXNzaW9uXG4vLy9cbi8vLyBAcGFyYW0ge1N0cmluZ30gJGV4cHJlc3Npb24gLSBFeHByZXNzaW9uIHRvIGV4dHJhY3Qgb3BlcmF0b3IgZnJvbVxuLy8vXG4vLy8gQHJldHVybiB7U3RyaW5nfSAtIEFueSBvZiBgPj1gLCBgPmAsIGA8PWAsIGA8YCwgYOKJpWAsIGDiiaRgXG4vLy9cbkBmdW5jdGlvbiBnZXQtZXhwcmVzc2lvbi1vcGVyYXRvcigkZXhwcmVzc2lvbikge1xuICBAZWFjaCAkb3BlcmF0b3IgaW4gKCc+PScsICc+JywgJzw9JywgJzwnLCAn4omlJywgJ+KJpCcpIHtcbiAgICBAaWYgc3RyLWluZGV4KCRleHByZXNzaW9uLCAkb3BlcmF0b3IpIHtcbiAgICAgIEByZXR1cm4gJG9wZXJhdG9yO1xuICAgIH1cbiAgfVxuXG4gIC8vIEl0IGlzIG5vdCBwb3NzaWJsZSB0byBpbmNsdWRlIGEgbWl4aW4gaW5zaWRlIGEgZnVuY3Rpb24sIHNvIHdlIGhhdmUgdG9cbiAgLy8gcmVseSBvbiB0aGUgYGltLWxvZyguLilgIGZ1bmN0aW9uIHJhdGhlciB0aGFuIHRoZSBgbG9nKC4uKWAgbWl4aW4uIEJlY2F1c2VcbiAgLy8gZnVuY3Rpb25zIGNhbm5vdCBiZSBjYWxsZWQgYW55d2hlcmUgaW4gU2Fzcywgd2UgbmVlZCB0byBoYWNrIHRoZSBjYWxsIGluXG4gIC8vIGEgZHVtbXkgdmFyaWFibGUsIHN1Y2ggYXMgYCRfYC4gSWYgYW55Ym9keSBldmVyIHJhaXNlIGEgc2NvcGluZyBpc3N1ZSB3aXRoXG4gIC8vIFNhc3MgMy4zLCBjaGFuZ2UgdGhpcyBsaW5lIGluIGBAaWYgaW0tbG9nKC4uKSB7fWAgaW5zdGVhZC5cbiAgJF86IGltLWxvZygnTm8gb3BlcmF0b3IgZm91bmQgaW4gYCN7JGV4cHJlc3Npb259YC4nKTtcbn1cblxuXG4vLy9cbi8vLyBHZXQgZGltZW5zaW9uIG9mIGFuIGV4cHJlc3Npb24sIGJhc2VkIG9uIGEgZm91bmQgb3BlcmF0b3Jcbi8vL1xuLy8vIEBwYXJhbSB7U3RyaW5nfSAkZXhwcmVzc2lvbiAtIEV4cHJlc3Npb24gdG8gZXh0cmFjdCBkaW1lbnNpb24gZnJvbVxuLy8vIEBwYXJhbSB7U3RyaW5nfSAkb3BlcmF0b3IgLSBPcGVyYXRvciBmcm9tIGAkZXhwcmVzc2lvbmBcbi8vL1xuLy8vIEByZXR1cm4ge1N0cmluZ30gLSBgd2lkdGhgIG9yIGBoZWlnaHRgIChvciBwb3RlbnRpYWxseSBhbnl0aGluZyBlbHNlKVxuLy8vXG5AZnVuY3Rpb24gZ2V0LWV4cHJlc3Npb24tZGltZW5zaW9uKCRleHByZXNzaW9uLCAkb3BlcmF0b3IpIHtcbiAgJG9wZXJhdG9yLWluZGV4OiBzdHItaW5kZXgoJGV4cHJlc3Npb24sICRvcGVyYXRvcik7XG4gICRwYXJzZWQtZGltZW5zaW9uOiBzdHItc2xpY2UoJGV4cHJlc3Npb24sIDAsICRvcGVyYXRvci1pbmRleCAtIDEpO1xuICAkZGltZW5zaW9uOiAnd2lkdGgnO1xuXG4gIEBpZiBzdHItbGVuZ3RoKCRwYXJzZWQtZGltZW5zaW9uKSA+IDAge1xuICAgICRkaW1lbnNpb246ICRwYXJzZWQtZGltZW5zaW9uO1xuICB9XG5cbiAgQHJldHVybiAkZGltZW5zaW9uO1xufVxuXG5cbi8vL1xuLy8vIEdldCBkaW1lbnNpb24gcHJlZml4IGJhc2VkIG9uIGFuIG9wZXJhdG9yXG4vLy9cbi8vLyBAcGFyYW0ge1N0cmluZ30gJG9wZXJhdG9yIC0gT3BlcmF0b3Jcbi8vL1xuLy8vIEByZXR1cm4ge1N0cmluZ30gLSBgbWluYCBvciBgbWF4YFxuLy8vXG5AZnVuY3Rpb24gZ2V0LWV4cHJlc3Npb24tcHJlZml4KCRvcGVyYXRvcikge1xuICBAcmV0dXJuIGlmKGluZGV4KCgnPCcsICc8PScsICfiiaQnKSwgJG9wZXJhdG9yKSwgJ21heCcsICdtaW4nKTtcbn1cblxuXG4vLy9cbi8vLyBHZXQgdmFsdWUgb2YgYW4gZXhwcmVzc2lvbiwgYmFzZWQgb24gYSBmb3VuZCBvcGVyYXRvclxuLy8vXG4vLy8gQHBhcmFtIHtTdHJpbmd9ICRleHByZXNzaW9uIC0gRXhwcmVzc2lvbiB0byBleHRyYWN0IHZhbHVlIGZyb21cbi8vLyBAcGFyYW0ge1N0cmluZ30gJG9wZXJhdG9yIC0gT3BlcmF0b3IgZnJvbSBgJGV4cHJlc3Npb25gXG4vLy9cbi8vLyBAcmV0dXJuIHtOdW1iZXJ9IC0gQSBudW1lcmljIHZhbHVlXG4vLy9cbkBmdW5jdGlvbiBnZXQtZXhwcmVzc2lvbi12YWx1ZSgkZXhwcmVzc2lvbiwgJG9wZXJhdG9yKSB7XG4gICRvcGVyYXRvci1pbmRleDogc3RyLWluZGV4KCRleHByZXNzaW9uLCAkb3BlcmF0b3IpO1xuICAkdmFsdWU6IHN0ci1zbGljZSgkZXhwcmVzc2lvbiwgJG9wZXJhdG9yLWluZGV4ICsgc3RyLWxlbmd0aCgkb3BlcmF0b3IpKTtcblxuICBAaWYgbWFwLWhhcy1rZXkoJGJyZWFrcG9pbnRzLCAkdmFsdWUpIHtcbiAgICAkdmFsdWU6IG1hcC1nZXQoJGJyZWFrcG9pbnRzLCAkdmFsdWUpO1xuICB9IEBlbHNlIHtcbiAgICAkdmFsdWU6IHRvLW51bWJlcigkdmFsdWUpO1xuICB9XG5cbiAgJGludGVydmFsOiBtYXAtZ2V0KCR1bml0LWludGVydmFscywgdW5pdCgkdmFsdWUpKTtcblxuICBAaWYgbm90ICRpbnRlcnZhbCB7XG4gICAgLy8gSXQgaXMgbm90IHBvc3NpYmxlIHRvIGluY2x1ZGUgYSBtaXhpbiBpbnNpZGUgYSBmdW5jdGlvbiwgc28gd2UgaGF2ZSB0b1xuICAgIC8vIHJlbHkgb24gdGhlIGBpbS1sb2coLi4pYCBmdW5jdGlvbiByYXRoZXIgdGhhbiB0aGUgYGxvZyguLilgIG1peGluLiBCZWNhdXNlXG4gICAgLy8gZnVuY3Rpb25zIGNhbm5vdCBiZSBjYWxsZWQgYW55d2hlcmUgaW4gU2Fzcywgd2UgbmVlZCB0byBoYWNrIHRoZSBjYWxsIGluXG4gICAgLy8gYSBkdW1teSB2YXJpYWJsZSwgc3VjaCBhcyBgJF9gLiBJZiBhbnlib2R5IGV2ZXIgcmFpc2UgYSBzY29waW5nIGlzc3VlIHdpdGhcbiAgICAvLyBTYXNzIDMuMywgY2hhbmdlIHRoaXMgbGluZSBpbiBgQGlmIGltLWxvZyguLikge31gIGluc3RlYWQuXG4gICAgJF86IGltLWxvZygnVW5rbm93biB1bml0IGAje3VuaXQoJHZhbHVlKX1gLicpO1xuICB9XG5cbiAgQGlmICRvcGVyYXRvciA9PSAnPicge1xuICAgICR2YWx1ZTogJHZhbHVlICsgJGludGVydmFsO1xuICB9IEBlbHNlIGlmICRvcGVyYXRvciA9PSAnPCcge1xuICAgICR2YWx1ZTogJHZhbHVlIC0gJGludGVydmFsO1xuICB9XG5cbiAgQHJldHVybiAkdmFsdWU7XG59XG5cblxuLy8vXG4vLy8gUGFyc2UgYW4gZXhwcmVzc2lvbiB0byByZXR1cm4gYSB2YWxpZCBtZWRpYS1xdWVyeSBleHByZXNzaW9uXG4vLy9cbi8vLyBAcGFyYW0ge1N0cmluZ30gJGV4cHJlc3Npb24gLSBFeHByZXNzaW9uIHRvIHBhcnNlXG4vLy9cbi8vLyBAcmV0dXJuIHtTdHJpbmd9IC0gVmFsaWQgbWVkaWEgcXVlcnlcbi8vL1xuQGZ1bmN0aW9uIHBhcnNlLWV4cHJlc3Npb24oJGV4cHJlc3Npb24pIHtcbiAgLy8gSWYgaXQgaXMgcGFydCBvZiAkbWVkaWEtZXhwcmVzc2lvbnMsIGl0IGhhcyBubyBvcGVyYXRvclxuICAvLyB0aGVuIHRoZXJlIGlzIG5vIG5lZWQgdG8gZ28gYW55IGZ1cnRoZXIsIGp1c3QgcmV0dXJuIHRoZSB2YWx1ZVxuICBAaWYgbWFwLWhhcy1rZXkoJG1lZGlhLWV4cHJlc3Npb25zLCAkZXhwcmVzc2lvbikge1xuICAgIEByZXR1cm4gbWFwLWdldCgkbWVkaWEtZXhwcmVzc2lvbnMsICRleHByZXNzaW9uKTtcbiAgfVxuXG4gICRvcGVyYXRvcjogZ2V0LWV4cHJlc3Npb24tb3BlcmF0b3IoJGV4cHJlc3Npb24pO1xuICAkZGltZW5zaW9uOiBnZXQtZXhwcmVzc2lvbi1kaW1lbnNpb24oJGV4cHJlc3Npb24sICRvcGVyYXRvcik7XG4gICRwcmVmaXg6IGdldC1leHByZXNzaW9uLXByZWZpeCgkb3BlcmF0b3IpO1xuICAkdmFsdWU6IGdldC1leHByZXNzaW9uLXZhbHVlKCRleHByZXNzaW9uLCAkb3BlcmF0b3IpO1xuXG4gIEByZXR1cm4gJygjeyRwcmVmaXh9LSN7JGRpbWVuc2lvbn06ICN7JHZhbHVlfSknO1xufVxuXG4vLy9cbi8vLyBTbGljZSBgJGxpc3RgIGJldHdlZW4gYCRzdGFydGAgYW5kIGAkZW5kYCBpbmRleGVzXG4vLy9cbi8vLyBAYWNjZXNzIHByaXZhdGVcbi8vL1xuLy8vIEBwYXJhbSB7TGlzdH0gJGxpc3QgLSBMaXN0IHRvIHNsaWNlXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRzdGFydCBbMV0gLSBTdGFydCBpbmRleFxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkZW5kIFtsZW5ndGgoJGxpc3QpXSAtIEVuZCBpbmRleFxuLy8vXG4vLy8gQHJldHVybiB7TGlzdH0gU2xpY2VkIGxpc3Rcbi8vL1xuQGZ1bmN0aW9uIHNsaWNlKCRsaXN0LCAkc3RhcnQ6IDEsICRlbmQ6IGxlbmd0aCgkbGlzdCkpIHtcbiAgQGlmIGxlbmd0aCgkbGlzdCkgPCAxIG9yICRzdGFydCA+ICRlbmQge1xuICAgIEByZXR1cm4gKCk7XG4gIH1cblxuICAkcmVzdWx0OiAoKTtcblxuICBAZm9yICRpIGZyb20gJHN0YXJ0IHRocm91Z2ggJGVuZCB7XG4gICAgJHJlc3VsdDogYXBwZW5kKCRyZXN1bHQsIG50aCgkbGlzdCwgJGkpKTtcbiAgfVxuXG4gIEByZXR1cm4gJHJlc3VsdDtcbn1cblxuLy8vL1xuLy8vIFN0cmluZyB0byBudW1iZXIgY29udmVydGVyXG4vLy8gQGF1dGhvciBIdWdvIEdpcmF1ZGVsXG4vLy8gQGFjY2VzcyBwcml2YXRlXG4vLy8vXG5cblxuLy8vXG4vLy8gQ2FzdHMgYSBzdHJpbmcgaW50byBhIG51bWJlclxuLy8vXG4vLy8gQHBhcmFtIHtTdHJpbmcgfCBOdW1iZXJ9ICR2YWx1ZSAtIFZhbHVlIHRvIGJlIHBhcnNlZFxuLy8vXG4vLy8gQHJldHVybiB7TnVtYmVyfVxuLy8vXG5AZnVuY3Rpb24gdG8tbnVtYmVyKCR2YWx1ZSkge1xuICBAaWYgdHlwZS1vZigkdmFsdWUpID09ICdudW1iZXInIHtcbiAgICBAcmV0dXJuICR2YWx1ZTtcbiAgfSBAZWxzZSBpZiB0eXBlLW9mKCR2YWx1ZSkgIT0gJ3N0cmluZycge1xuICAgICRfOiBpbS1sb2coJ1ZhbHVlIGZvciBgdG8tbnVtYmVyYCBzaG91bGQgYmUgYSBudW1iZXIgb3IgYSBzdHJpbmcuJyk7XG4gIH1cblxuICAkZmlyc3QtY2hhcmFjdGVyOiBzdHItc2xpY2UoJHZhbHVlLCAxLCAxKTtcbiAgJHJlc3VsdDogMDtcbiAgJGRpZ2l0czogMDtcbiAgJG1pbnVzOiAoJGZpcnN0LWNoYXJhY3RlciA9PSAnLScpO1xuICAkbnVtYmVyczogKCcwJzogMCwgJzEnOiAxLCAnMic6IDIsICczJzogMywgJzQnOiA0LCAnNSc6IDUsICc2JzogNiwgJzcnOiA3LCAnOCc6IDgsICc5JzogOSk7XG5cbiAgLy8gUmVtb3ZlICsvLSBzaWduIGlmIHByZXNlbnQgYXQgZmlyc3QgY2hhcmFjdGVyXG4gIEBpZiAoJGZpcnN0LWNoYXJhY3RlciA9PSAnKycgb3IgJGZpcnN0LWNoYXJhY3RlciA9PSAnLScpIHtcbiAgICAkdmFsdWU6IHN0ci1zbGljZSgkdmFsdWUsIDIpO1xuICB9XG5cbiAgQGZvciAkaSBmcm9tIDEgdGhyb3VnaCBzdHItbGVuZ3RoKCR2YWx1ZSkge1xuICAgICRjaGFyYWN0ZXI6IHN0ci1zbGljZSgkdmFsdWUsICRpLCAkaSk7XG5cbiAgICBAaWYgbm90IChpbmRleChtYXAta2V5cygkbnVtYmVycyksICRjaGFyYWN0ZXIpIG9yICRjaGFyYWN0ZXIgPT0gJy4nKSB7XG4gICAgICBAcmV0dXJuIHRvLWxlbmd0aChpZigkbWludXMsIC0kcmVzdWx0LCAkcmVzdWx0KSwgc3RyLXNsaWNlKCR2YWx1ZSwgJGkpKVxuICAgIH1cblxuICAgIEBpZiAkY2hhcmFjdGVyID09ICcuJyB7XG4gICAgICAkZGlnaXRzOiAxO1xuICAgIH0gQGVsc2UgaWYgJGRpZ2l0cyA9PSAwIHtcbiAgICAgICRyZXN1bHQ6ICRyZXN1bHQgKiAxMCArIG1hcC1nZXQoJG51bWJlcnMsICRjaGFyYWN0ZXIpO1xuICAgIH0gQGVsc2Uge1xuICAgICAgJGRpZ2l0czogJGRpZ2l0cyAqIDEwO1xuICAgICAgJHJlc3VsdDogJHJlc3VsdCArIG1hcC1nZXQoJG51bWJlcnMsICRjaGFyYWN0ZXIpIC8gJGRpZ2l0cztcbiAgICB9XG4gIH1cblxuICBAcmV0dXJuIGlmKCRtaW51cywgLSRyZXN1bHQsICRyZXN1bHQpO1xufVxuXG5cbi8vL1xuLy8vIEFkZCBgJHVuaXRgIHRvIGAkdmFsdWVgXG4vLy9cbi8vLyBAcGFyYW0ge051bWJlcn0gJHZhbHVlIC0gVmFsdWUgdG8gYWRkIHVuaXQgdG9cbi8vLyBAcGFyYW0ge1N0cmluZ30gJHVuaXQgLSBTdHJpbmcgcmVwcmVzZW50YXRpb24gb2YgdGhlIHVuaXRcbi8vL1xuLy8vIEByZXR1cm4ge051bWJlcn0gLSBgJHZhbHVlYCBleHByZXNzZWQgaW4gYCR1bml0YFxuLy8vXG5AZnVuY3Rpb24gdG8tbGVuZ3RoKCR2YWx1ZSwgJHVuaXQpIHtcbiAgJHVuaXRzOiAoJ3B4JzogMXB4LCAnY20nOiAxY20sICdtbSc6IDFtbSwgJyUnOiAxJSwgJ2NoJzogMWNoLCAncGMnOiAxcGMsICdpbic6IDFpbiwgJ2VtJzogMWVtLCAncmVtJzogMXJlbSwgJ3B0JzogMXB0LCAnZXgnOiAxZXgsICd2dyc6IDF2dywgJ3ZoJzogMXZoLCAndm1pbic6IDF2bWluLCAndm1heCc6IDF2bWF4KTtcblxuICBAaWYgbm90IGluZGV4KG1hcC1rZXlzKCR1bml0cyksICR1bml0KSB7XG4gICAgJF86IGltLWxvZygnSW52YWxpZCB1bml0IGAjeyR1bml0fWAuJyk7XG4gIH1cblxuICBAcmV0dXJuICR2YWx1ZSAqIG1hcC1nZXQoJHVuaXRzLCAkdW5pdCk7XG59XG5cbi8vL1xuLy8vIFRoaXMgbWl4aW4gYWltcyBhdCByZWRlZmluaW5nIHRoZSBjb25maWd1cmF0aW9uIGp1c3QgZm9yIHRoZSBzY29wZSBvZlxuLy8vIHRoZSBjYWxsLiBJdCBpcyBoZWxwZnVsIHdoZW4gaGF2aW5nIGEgY29tcG9uZW50IG5lZWRpbmcgYW4gZXh0ZW5kZWRcbi8vLyBjb25maWd1cmF0aW9uIHN1Y2ggYXMgY3VzdG9tIGJyZWFrcG9pbnRzIChyZWZlcnJlZCB0byBhcyB0d2Vha3BvaW50cylcbi8vLyBmb3IgaW5zdGFuY2UuXG4vLy9cbi8vLyBAYXV0aG9yIEh1Z28gR2lyYXVkZWxcbi8vL1xuLy8vIEBwYXJhbSB7TWFwfSAkdHdlYWtwb2ludHMgWygpXSAtIE1hcCBvZiB0d2Vha3BvaW50cyB0byBiZSBtZXJnZWQgd2l0aCBgJGJyZWFrcG9pbnRzYFxuLy8vIEBwYXJhbSB7TWFwfSAkdHdlYWstbWVkaWEtZXhwcmVzc2lvbnMgWygpXSAtIE1hcCBvZiB0d2Vha2VkIG1lZGlhIGV4cHJlc3Npb25zIHRvIGJlIG1lcmdlZCB3aXRoIGAkbWVkaWEtZXhwcmVzc2lvbmBcbi8vL1xuLy8vIEBleGFtcGxlIHNjc3MgLSBFeHRlbmQgdGhlIGdsb2JhbCBicmVha3BvaW50cyB3aXRoIGEgdHdlYWtwb2ludFxuLy8vICBAaW5jbHVkZSBtZWRpYS1jb250ZXh0KCgnY3VzdG9tJzogNjc4cHgpKSB7XG4vLy8gICAgLmZvbyB7XG4vLy8gICAgICBAaW5jbHVkZSBtZWRpYSgnPnBob25lJywgJzw9Y3VzdG9tJykge1xuLy8vICAgICAgIC8vIC4uLlxuLy8vICAgICAgfVxuLy8vICAgIH1cbi8vLyAgfVxuLy8vXG4vLy8gQGV4YW1wbGUgc2NzcyAtIEV4dGVuZCB0aGUgZ2xvYmFsIG1lZGlhIGV4cHJlc3Npb25zIHdpdGggYSBjdXN0b20gb25lXG4vLy8gIEBpbmNsdWRlIG1lZGlhLWNvbnRleHQoJHR3ZWFrLW1lZGlhLWV4cHJlc3Npb25zOiAoJ2FsbCc6ICdhbGwnKSkge1xuLy8vICAgIC5mb28ge1xuLy8vICAgICAgQGluY2x1ZGUgbWVkaWEoJ2FsbCcsICc+cGhvbmUnKSB7XG4vLy8gICAgICAgLy8gLi4uXG4vLy8gICAgICB9XG4vLy8gICAgfVxuLy8vICB9XG4vLy9cbi8vLyBAZXhhbXBsZSBzY3NzIC0gRXh0ZW5kIGJvdGggY29uZmlndXJhdGlvbiBtYXBzXG4vLy8gIEBpbmNsdWRlIG1lZGlhLWNvbnRleHQoKCdjdXN0b20nOiA2NzhweCksICgnYWxsJzogJ2FsbCcpKSB7XG4vLy8gICAgLmZvbyB7XG4vLy8gICAgICBAaW5jbHVkZSBtZWRpYSgnYWxsJywgJz5waG9uZScsICc8PWN1c3RvbScpIHtcbi8vLyAgICAgICAvLyAuLi5cbi8vLyAgICAgIH1cbi8vLyAgICB9XG4vLy8gIH1cbi8vL1xuQG1peGluIG1lZGlhLWNvbnRleHQoJHR3ZWFrcG9pbnRzOiAoKSwgJHR3ZWFrLW1lZGlhLWV4cHJlc3Npb25zOiAoKSkge1xuICAvLyBTYXZlIGdsb2JhbCBjb25maWd1cmF0aW9uXG4gICRnbG9iYWwtYnJlYWtwb2ludHM6ICRicmVha3BvaW50cztcbiAgJGdsb2JhbC1tZWRpYS1leHByZXNzaW9uczogJG1lZGlhLWV4cHJlc3Npb25zO1xuXG4gIC8vIFVwZGF0ZSBnbG9iYWwgY29uZmlndXJhdGlvblxuICAkYnJlYWtwb2ludHM6IG1hcC1tZXJnZSgkYnJlYWtwb2ludHMsICR0d2Vha3BvaW50cykgIWdsb2JhbDtcbiAgJG1lZGlhLWV4cHJlc3Npb25zOiBtYXAtbWVyZ2UoJG1lZGlhLWV4cHJlc3Npb25zLCAkdHdlYWstbWVkaWEtZXhwcmVzc2lvbnMpICFnbG9iYWw7XG5cbiAgQGNvbnRlbnQ7XG5cbiAgLy8gUmVzdG9yZSBnbG9iYWwgY29uZmlndXJhdGlvblxuICAkYnJlYWtwb2ludHM6ICRnbG9iYWwtYnJlYWtwb2ludHMgIWdsb2JhbDtcbiAgJG1lZGlhLWV4cHJlc3Npb25zOiAkZ2xvYmFsLW1lZGlhLWV4cHJlc3Npb25zICFnbG9iYWw7XG59XG5cbi8vLy9cbi8vLyBpbmNsdWRlLW1lZGlhIHB1YmxpYyBleHBvc2VkIEFQSVxuLy8vIEBhdXRob3IgRWR1YXJkbyBCb3VjYXNcbi8vLyBAYWNjZXNzIHB1YmxpY1xuLy8vL1xuXG5cbi8vL1xuLy8vIEdlbmVyYXRlcyBhIG1lZGlhIHF1ZXJ5IGJhc2VkIG9uIGEgbGlzdCBvZiBjb25kaXRpb25zXG4vLy9cbi8vLyBAcGFyYW0ge0FyZ2xpc3R9ICAgJGNvbmRpdGlvbnMgIC0gTWVkaWEgcXVlcnkgY29uZGl0aW9uc1xuLy8vXG4vLy8gQGV4YW1wbGUgc2NzcyAtIFdpdGggYSBzaW5nbGUgc2V0IGJyZWFrcG9pbnRcbi8vLyAgQGluY2x1ZGUgbWVkaWEoJz5waG9uZScpIHsgfVxuLy8vXG4vLy8gQGV4YW1wbGUgc2NzcyAtIFdpdGggdHdvIHNldCBicmVha3BvaW50c1xuLy8vICBAaW5jbHVkZSBtZWRpYSgnPnBob25lJywgJzw9dGFibGV0JykgeyB9XG4vLy9cbi8vLyBAZXhhbXBsZSBzY3NzIC0gV2l0aCBjdXN0b20gdmFsdWVzXG4vLy8gIEBpbmNsdWRlIG1lZGlhKCc+PTM1OHB4JywgJzw4NTBweCcpIHsgfVxuLy8vXG4vLy8gQGV4YW1wbGUgc2NzcyAtIFdpdGggc2V0IGJyZWFrcG9pbnRzIHdpdGggY3VzdG9tIHZhbHVlc1xuLy8vICBAaW5jbHVkZSBtZWRpYSgnPmRlc2t0b3AnLCAnPD0xMzUwcHgnKSB7IH1cbi8vL1xuLy8vIEBleGFtcGxlIHNjc3MgLSBXaXRoIGEgc3RhdGljIGV4cHJlc3Npb25cbi8vLyAgQGluY2x1ZGUgbWVkaWEoJ3JldGluYTJ4JykgeyB9XG4vLy9cbi8vLyBAZXhhbXBsZSBzY3NzIC0gTWl4aW5nIGV2ZXJ5dGhpbmdcbi8vLyAgQGluY2x1ZGUgbWVkaWEoJz49MzUwcHgnLCAnPHRhYmxldCcsICdyZXRpbmEzeCcpIHsgfVxuLy8vXG5AbWl4aW4gbWVkaWEoJGNvbmRpdGlvbnMuLi4pIHtcbiAgLy8gc2Nzcy1saW50OmRpc2FibGUgU3BhY2VBcm91bmRPcGVyYXRvclxuICBAaWYgKCRpbS1tZWRpYS1zdXBwb3J0IGFuZCBsZW5ndGgoJGNvbmRpdGlvbnMpID09IDApIG9yXG4gICAgICAobm90ICRpbS1tZWRpYS1zdXBwb3J0IGFuZCBpbS1pbnRlcmNlcHRzLXN0YXRpYy1icmVha3BvaW50KCRjb25kaXRpb25zLi4uKSkge1xuICAgIEBjb250ZW50O1xuICB9IEBlbHNlIGlmICgkaW0tbWVkaWEtc3VwcG9ydCBhbmQgbGVuZ3RoKCRjb25kaXRpb25zKSA+IDApIHtcbiAgICBAbWVkaWEgI3t1bnF1b3RlKHBhcnNlLWV4cHJlc3Npb24obnRoKCRjb25kaXRpb25zLCAxKSkpfSB7XG4gICAgICAvLyBSZWN1cnNpdmUgY2FsbFxuICAgICAgQGluY2x1ZGUgbWVkaWEoc2xpY2UoJGNvbmRpdGlvbnMsIDIpLi4uKSB7XG4gICAgICAgIEBjb250ZW50O1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIiwiLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIElubmVyXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuQG1peGluIGlubmVyICgpIHtcbiAgICBAaW5jbHVkZSBtZWRpYSgnPGRlc2t0b3AnKSB7XG4gICAgICAgIHBhZGRpbmctcmlnaHQ6ICR3aGl0ZS1zcGFjZTtcbiAgICAgICAgcGFkZGluZy1sZWZ0OiAkd2hpdGUtc3BhY2U7XG4gICAgfVxuXG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuXG4gICAgd2lkdGg6IDEwMCU7XG4gICAgbWF4LXdpZHRoOiBzaXplKGlubmVyLCBkZXNrdG9wKTtcbiAgICBtYXJnaW46IDAgYXV0bztcblxuICAgIHZlcnRpY2FsLWFsaWduOiBiYXNlbGluZTtcbn1cblxuLmwtaW5uZXIge1xuICAgIEBpbmNsdWRlIGlubmVyO1xufVxuIiwiLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIE1haW4gY29udGVudFxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbioge1xuICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG59XG5cbi5sLW1haW4ge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICAgICYtLWxpc3Qge1xuICAgICAgICAuYy1wb3N0IHtcbiAgICAgICAgICAgICY6Zmlyc3QtY2hpbGQge1xuICAgICAgICAgICAgICAgIG1hcmdpbi10b3A6IG9mZnNldChsYXJnZSk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG59XG4iLCIvKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgTW9kYWwgb3ZlcmxheVxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi5sLW1vZGFsLW92ZXJsYXkge1xuICAgIHBvc2l0aW9uOiBmaXhlZDtcbiAgICB0b3A6IDA7XG4gICAgcmlnaHQ6IDA7XG5cbiAgICB3aWR0aDogMDtcbiAgICBoZWlnaHQ6IDEwMHZoO1xuXG4gICAgYmFja2dyb3VuZC1jb2xvcjogY29sb3IoYmxhY2spO1xuICAgIG9wYWNpdHk6IDA7XG5cbiAgICB0cmFuc2l0aW9uOiAkdHJhbnNpdGlvbi1zbG93O1xuXG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICB6LWluZGV4OiAxMDA7XG5cbiAgICAmLmlzLWFjdGl2ZSB7XG4gICAgICAgIEBpbmNsdWRlIG1lZGlhKCc8PXRhYmxldCcpIHtcbiAgICAgICAgICAgIHdpZHRoOiAxMDB2dztcbiAgICAgICAgICAgIG9wYWNpdHk6ICRtb2RhbC1vdmVybGF5LW9wYWNpdHk7XG5cbiAgICAgICAgICAgIHRyYW5zaXRpb246ICR0cmFuc2l0aW9uLXNsb3c7XG5cbiAgICAgICAgICAgIG92ZXJmbG93OiBhdXRvO1xuICAgICAgICB9XG4gICAgfVxufVxuIiwiLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIFNlY3Rpb25zXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLmwtc2VjdGlvbiB7XG4gICAgJi0tYmctYWx0IHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogY29sb3IoYWxtb3N0V2hpdGUpO1xuICAgIH1cbn1cbiIsIi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBTaWRlIHBhbmVsXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLmwtc2lkZS1wYW5lbCB7XG4gICAgcG9zaXRpb246IGZpeGVkO1xuICAgIHRvcDogMDtcbiAgICByaWdodDogLSRzaXplLXNpZGUtcGFuZWwtd2lkdGg7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcblxuICAgIGhlaWdodDogMTAwdmg7XG4gICAgd2lkdGg6ICRzaXplLXNpZGUtcGFuZWwtd2lkdGg7XG4gICAgbWF4LXdpZHRoOiA5NXZ3O1xuXG4gICAgYmFja2dyb3VuZDogY29sb3Iod2hpdGUpO1xuXG4gICAgcGFkZGluZy1yaWdodDogJHdoaXRlLXNwYWNlO1xuICAgIHBhZGRpbmctbGVmdDogJHdoaXRlLXNwYWNlO1xuXG4gICAgdHJhbnNpdGlvbjogJHRyYW5zaXRpb24tc2xvdztcblxuICAgIHotaW5kZXg6IDExMDtcblxuICAgICYuaXMtb3BlbiB7XG4gICAgICAgIHJpZ2h0OiAwO1xuICAgICAgICBvdmVyZmxvdzogYXV0bztcbiAgICAgICAgdHJhbnNpdGlvbjogJHRyYW5zaXRpb24tc2xvdztcbiAgICB9XG59XG4iLCIvKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgU3ViIGhlYWRlclxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi5sLXN1Yi1oZWFkZXIge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcblxuICAgIGJveC1zaGFkb3c6ICRib3gtc2hhZG93LWRlZmF1bHQ7XG5cbiAgICAmLmlzLWFjdGl2ZS1zZWFyY2gge1xuICAgICAgICAuYy1jYXRlZ29yaWVzLXN1Ym1lbnUtd3JhcHBlciB7XG4gICAgICAgICAgICB0b3A6ICRzaXplLWhlYWRlci1oZWlnaHQtZGVza3RvcCArICRzdWJtZW51LWJhci1oZWlnaHQ7XG5cbiAgICAgICAgICAgIEBpbmNsdWRlIG1lZGlhKCc8PXRhYmxldCcpIHtcbiAgICAgICAgICAgICAgICB0b3A6ICRzaXplLWhlYWRlci1oZWlnaHQtbW9iaWxlICsgJHNpemUtaGVhZGVyLWhlaWdodC1tb2JpbGU7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG59XG4iLCIvKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgQXBwIENUQVxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi5jLWFwcC1jdGEge1xuXG4gICAgJl9fdGl0bGUge1xuICAgICAgICBtYXJnaW4tdG9wOiAwO1xuICAgICAgICBmb250LXNpemU6IGZvbnQtc2l6ZShoMlBsdXMpO1xuICAgICAgICBtYXJnaW4tYm90dG9tOiBvZmZzZXQoaHVnZSk7XG5cbiAgICAgICAgLnQtc3BlY2lhbCB7XG4gICAgICAgICAgICBjb2xvcjogY29sb3IocHJpbWFyeSk7XG4gICAgICAgIH1cbiAgICAgICAgQGluY2x1ZGUgbWVkaWEoJzw9dGFibGV0Jykge1xuICAgICAgICAgICAgZm9udC1zaXplOiBmb250LXNpemUoaDIpO1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogb2Zmc2V0KGRlZmF1bHRQbHVzKTtcbiAgICAgICAgfVxuICAgIH1cbiAgICAmX19jb250ZW50IHtcbiAgICAgICAgZm9udC1zaXplOiBmb250LXNpemUoaDUpO1xuICAgICAgICBtYXJnaW4tYm90dG9tOiBvZmZzZXQoaHVnZSk7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxLjU7XG5cbiAgICAgICAgLnQtYm9sZCB7XG4gICAgICAgICAgICBmb250LXdlaWdodDogYm9sZDtcbiAgICAgICAgfVxuICAgICAgICBAaW5jbHVkZSBtZWRpYSgnPD10YWJsZXQnKSB7XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiBvZmZzZXQoZGVmYXVsdFBsdXMpO1xuICAgICAgICB9XG4gICAgfVxuICAgICZfX2FjdGlvbiB7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDtcblxuICAgICAgICAuYy1saW5rIHtcblxuICAgICAgICAgICAgJjpub3QoOmxhc3QtY2hpbGQpIHtcbiAgICAgICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IG9mZnNldChzbWFsbCk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICAuYy1pbWcge1xuICAgICAgICAgICAgICAgIHdpZHRoOiAxODBweDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbn1cbiIsIi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBBcHAgQ1RBIFdyYXBwZXJcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4uYy1hcHAtY3RhLXdyYXBwZXIge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG5cbiAgICBwYWRkaW5nOiBvZmZzZXQoaHVnZSkgMDtcblxuICAgICZfX2NvbCB7XG4gICAgICAgIHdpZHRoOiA1MCU7XG4gICAgICAgIGhlaWdodDogYXV0bztcblxuICAgICAgICAmOm5vdCg6bGFzdC1jaGlsZCkge1xuICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiBvZmZzZXQoYmlnKTtcblxuICAgICAgICAgICAgQGluY2x1ZGUgbWVkaWEoJzw9dGFibGV0Jykge1xuICAgICAgICAgICAgICAgIG1hcmdpbi1yaWdodDogMDtcbiAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiBvZmZzZXQoYmlnKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIEBpbmNsdWRlIG1lZGlhKCc8PXRhYmxldCcpIHtcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgbWVkaWEoJzw9dGFibGV0Jykge1xuICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgIH1cbn1cbiIsIi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBCYWNrZ3JvdW5kIFN5bWJvbFxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi5jLWJnLXN5bWJvbCB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHotaW5kZXg6IC0xO1xuXG4gICAgd2lkdGg6IDEwMCU7XG59XG4iLCIvKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgQnV0dG9uIEJ1dHRvbnNcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4uYy1idG4ge1xuICAgIGJvcmRlcjogbm9uZTtcblxuICAgIHBhZGRpbmc6IG9mZnNldChkZWZhdWx0KSBvZmZzZXQoZGVmYXVsdFBsdXMpO1xuICAgIGJvcmRlci1yYWRpdXM6IG9mZnNldChkZWZhdWx0UGx1cyk7XG5cbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiBjb2xvcih3aGl0ZSk7XG4gICAgY29sb3I6IGNvbG9yKHNlY29uZGFyeSk7XG5cbiAgICBmb250LXNpemU6IGZvbnQtc2l6ZShoNSk7XG4gICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG5cbiAgICBib3gtc2hhZG93OiAkYm94LXNoYWRvdy1kZWZhdWx0O1xuXG4gICAgdHJhbnNpdGlvbjogJHRyYW5zaXRpb24tZGVmYXVsdDtcblxuICAgIGN1cnNvcjogcG9pbnRlcjtcblxuICAgICY6aG92ZXIge1xuICAgICAgICB0cmFuc2l0aW9uOiAkdHJhbnNpdGlvbi1kZWZhdWx0O1xuICAgICAgICB0cmFuc2Zvcm06ICR0cmFuc2Zvcm0tZGVmYXVsdC1zY2FsZTtcbiAgICB9XG59XG5cbi5jLWJ0bi0tYWx0IHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiBjb2xvcihwcmltYXJ5KTtcbiAgICBjb2xvcjogY29sb3Iod2hpdGUpO1xuXG4gICAgYm94LXNoYWRvdzogJGJveC1zaGFkb3ctZGVmYXVsdDtcbn1cblxuLmMtYnRuLS1zbWFsbCB7XG4gICAgQGV4dGVuZCAuYy1idG47XG5cbiAgICBwYWRkaW5nOiBvZmZzZXQoc21hbGwpO1xuICAgIGZvbnQtc2l6ZTogZm9udC1zaXplKHNtYWxsZXIpO1xufVxuXG4uYy1idG4tLXdpZGUge1xuICAgIHBhZGRpbmc6IG9mZnNldChkZWZhdWx0KSBvZmZzZXQoaHVnZSk7XG59XG5cbi5jLWJ0bi0tYXJyb3cge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcblxuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB3aWR0aDogJHNpemUtcG9zdC1idG47XG4gICAgaGVpZ2h0OiAkc2l6ZS1wb3N0LWJ0bjtcbiAgICBib3R0b206IC0kc2l6ZS1wb3N0LWJ0biAvIDI7XG4gICAgcmlnaHQ6IG9mZnNldChiaWcpO1xuXG4gICAgYm9yZGVyLXJhZGl1czogMTAwJTtcbiAgICBiYWNrZ3JvdW5kOiBjb2xvcihwcmltYXJ5KTtcbiAgICBjb2xvcjogY29sb3Iod2hpdGUpO1xuXG4gICAgdHJhbnNpdGlvbjogJHRyYW5zaXRpb24tZGVmYXVsdDtcblxuICAgIGN1cnNvcjogcG9pbnRlcjtcblxuICAgICY6aG92ZXIge1xuICAgICAgICB0cmFuc2Zvcm06IHNjYWxlKDEuMSk7XG4gICAgICAgIHRyYW5zaXRpb246ICR0cmFuc2l0aW9uLWRlZmF1bHQ7XG4gICAgfVxuICAgIC51aS1pY29uIHtcbiAgICAgICAgZm9udC1zaXplOiAyZW07XG4gICAgICAgIGNvbG9yOiB3aGl0ZTtcbiAgICAgICAgZmlsbDogY3VycmVudENvbG9yO1xuICAgIH1cbn1cblxuLmMtYnRuLS1hcnJvdy1zbWFsbCB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuXG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHdpZHRoOiAkc2l6ZS1wb3N0LWJ0bi1zbWFsbDtcbiAgICBoZWlnaHQ6ICRzaXplLXBvc3QtYnRuLXNtYWxsO1xuICAgIGJvdHRvbTogLSRzaXplLXBvc3QtYnRuLXNtYWxsIC8gMjtcbiAgICByaWdodDogb2Zmc2V0KGJpZyk7XG5cbiAgICBib3JkZXItcmFkaXVzOiAxMDAlO1xuICAgIGJhY2tncm91bmQ6IGNvbG9yKHByaW1hcnkpO1xuICAgIGNvbG9yOiBjb2xvcih3aGl0ZSk7XG5cbiAgICB0cmFuc2l0aW9uOiAkdHJhbnNpdGlvbi1kZWZhdWx0O1xuXG4gICAgY3Vyc29yOiBwb2ludGVyO1xuXG4gICAgJjpob3ZlciB7XG4gICAgICAgIHRyYW5zZm9ybTogc2NhbGUoMS4xKTtcbiAgICAgICAgdHJhbnNpdGlvbjogJHRyYW5zaXRpb24tZGVmYXVsdDtcbiAgICB9XG4gICAgLnVpLWljb24ge1xuICAgICAgICBmb250LXNpemU6IDEuMjVlbTtcbiAgICAgICAgY29sb3I6IHdoaXRlO1xuICAgICAgICBmaWxsOiBjdXJyZW50Q29sb3I7XG4gICAgfVxufVxuXG4uYy1idG4tLWFycm93LWRvd24ge1xuICAgIHJpZ2h0OiB1bnNldDtcblxuICAgIC51aS1pY29uIHtcbiAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoOTBkZWcpO1xuICAgIH1cbn1cbiIsIi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBCdXR0b24gV3JhcHBlclxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi5jLWJ0bi13cmFwcGVyIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG5cbiAgICBwYWRkaW5nOiBvZmZzZXQoZGVmYXVsdCkgMCBvZmZzZXQoZGVmYXVsdFBsdXMpIDA7XG59XG4iLCIvKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgQ2F0ZWdvcmllcyBTdWJtZW51XG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLmMtY2F0ZWdvcmllcy1zdWJtZW51IHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0O1xuXG4gICAgbGlzdC1zdHlsZTogbm9uZTtcbiAgICBwYWRkaW5nOiAwO1xuICAgIG1hcmdpbjogMDtcblxuICAgICZfX2VsZW0ge1xuICAgICAgICBwYWRkaW5nOiBvZmZzZXQoYmlnKTtcblxuICAgICAgICAuYy1saW5rIHtcblxuICAgICAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgICAgICAgLmMtbGFiZWwge1xuICAgICAgICAgICAgICAgICAgICBjb2xvcjogY29sb3Ioc2Vjb25kYXJ5KTtcbiAgICAgICAgICAgICAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxufVxuIiwiLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIENhdGVnb3JpZXMgU3VibWVudSBXcmFwcGVyXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLmMtY2F0ZWdvcmllcy1zdWJtZW51LXdyYXBwZXIge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcblxuICAgIHBvc2l0aW9uOiBmaXhlZDtcbiAgICB0b3A6ICRzaXplLWhlYWRlci1oZWlnaHQtZGVza3RvcDtcbiAgICBsZWZ0OiAwO1xuICAgIGhlaWdodDogMDtcbiAgICB3aWR0aDogMTAwJTtcblxuICAgIGJhY2tncm91bmQtY29sb3I6IGNvbG9yKGFsbW9zdFdoaXRlKTtcblxuICAgIG92ZXJmbG93OiBoaWRkZW47XG5cbiAgICB0cmFuc2l0aW9uOiAkdHJhbnNpdGlvbi1kZWZhdWx0O1xuXG4gICAgYm94LXNoYWRvdzogJGJveC1zaGFkb3ctZGVmYXVsdDtcblxuICAgIHotaW5kZXg6ICR6LWluZGV4LWhlYWRlciAtIDE7XG5cbiAgICAmLmlzLW9wZW4ge1xuICAgICAgICBoZWlnaHQ6ICRzdWJtZW51LWJhci1oZWlnaHQ7XG4gICAgICAgIG92ZXJmbG93OiBhdXRvO1xuXG4gICAgICAgIHRyYW5zaXRpb246ICR0cmFuc2l0aW9uLWRlZmF1bHQ7XG5cbiAgICAgICAgQGluY2x1ZGUgbWVkaWEoJzw9dGFibGV0Jykge1xuICAgICAgICAgICAgaGVpZ2h0OiAkc2l6ZS1oZWFkZXItaGVpZ2h0LW1vYmlsZTtcbiAgICAgICAgfVxuICAgIH1cbiAgICBAaW5jbHVkZSBtZWRpYSgnPD10YWJsZXQnKSB7XG4gICAgICAgIHRvcDogJHNpemUtaGVhZGVyLWhlaWdodC1tb2JpbGU7XG4gICAgfVxufVxuIiwiLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIFNpbmdsZSBDb21tZW50XG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLmMtY29tbWVudCB7XG4gICAgbWFyZ2luOiAwO1xuICAgIHBhZGRpbmc6IG9mZnNldChkZWZhdWx0KSAwO1xuICAgIGNvbG9yOiBjb2xvcihhbG1vc3RCbGFjayk7XG5cbiAgICAmOm5vdCg6Zmlyc3QtY2hpbGQpIHtcbiAgICAgICAgbWFyZ2luLXRvcDogb2Zmc2V0KGRlZmF1bHQpO1xuICAgIH1cbiAgICAmX19hdXRob3Ige1xuICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgIHBhZGRpbmctYm90dG9tOiBvZmZzZXQoZGVmYXVsdCk7XG4gICAgfVxuICAgICZfX2RhdGUge1xuICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgIHBhZGRpbmctYm90dG9tOiBvZmZzZXQoZGVmYXVsdCk7XG5cbiAgICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICAgICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gICAgICAgIGZvbnQtc2l6ZTogZm9udC1zaXplKG1haW4pO1xuXG4gICAgICAgIEBpbmNsdWRlIG1lZGlhKCc8PXRhYmxldCcpIHtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogZm9udC1zaXplKHNtYWxsKTtcbiAgICAgICAgfVxuICAgIH1cbiAgICAmX19jb250ZW50IHtcbiAgICAgICAgY29sb3I6IGNvbG9yKGdyZXkpO1xuICAgICAgICBwYWRkaW5nOiBvZmZzZXQoc21hbGwpIDAgMCAwO1xuICAgICAgICBsaW5lLWhlaWdodDogMS42O1xuXG4gICAgICAgIHAge1xuICAgICAgICAgICAgbWFyZ2luLXRvcDogMDtcbiAgICAgICAgfVxuICAgIH1cbiAgICAmX19yZXBseSB7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7XG4gICAgICAgIGEge1xuICAgICAgICAgICAgY29sb3I6IGNvbG9yKHByaW1hcnkpO1xuICAgICAgICB9XG4gICAgfVxufVxuIiwiLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIENvbW1lbnQgZm9ybVxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi5jLWNvbW1lbnQtZm9ybSB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICBhbGlnbi1pdGVtczogZmxleC1zdGFydDtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG5cbiAgICAudy0xMDAge1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICB9XG4gICAgLnctNTAge1xuICAgICAgICB3aWR0aDogY2FsYyg1MCUgLSAjeyhvZmZzZXQoZGVmYXVsdCkgLyAyKX0pO1xuICAgIH1cblxuICAgIHAge1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICAgIG1hcmdpbjogMDtcblxuICAgICAgICAmOm5vdCg6bGFzdC1vZi10eXBlKSB7XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiBvZmZzZXQoZGVmYXVsdCk7XG4gICAgICAgIH1cbiAgICB9XG4gICAgbGFiZWwge1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHRvcDogMDtcbiAgICAgICAgbGVmdDogMDtcblxuICAgICAgICBmb250LXNpemU6IGZvbnQtc2l6ZShwb3N0KTtcblxuICAgICAgICBsaW5lLWhlaWdodDogJHNpemUtY29tbWVudC1mb3JtLWlucHV0LWhlaWdodDtcbiAgICAgICAgaGVpZ2h0OiAkc2l6ZS1jb21tZW50LWZvcm0taW5wdXQtaGVpZ2h0O1xuXG4gICAgICAgIGNvbG9yOiBjb2xvcihwcmltYXJ5KTtcbiAgICB9XG4gICAgaW5wdXRbdHlwZT1cInRleHRcIl0sIHRleHRhcmVhIHtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgYm9yZGVyOiAwO1xuICAgICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgY29sb3IobGdyZXkpO1xuXG4gICAgICAgIGZvbnQtc2l6ZTogZm9udC1zaXplKHBvc3QpO1xuICAgIH1cbiAgICBpbnB1dFt0eXBlPVwidGV4dFwiXSB7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAkc2l6ZS1jb21tZW50LWZvcm0taW5wdXQtaGVpZ2h0O1xuICAgICAgICBoZWlnaHQ6ICRzaXplLWNvbW1lbnQtZm9ybS1pbnB1dC1oZWlnaHQ7XG4gICAgfVxuICAgIHRleHRhcmVhIHtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDMwcHg7XG4gICAgICAgIHJlc2l6ZTogbm9uZTtcbiAgICB9XG5cbiAgICAubG9nZ2VkLWluLWFzIHtcbiAgICAgICAgQGV4dGVuZCAudy0xMDA7XG4gICAgICAgIG9yZGVyOiAwO1xuICAgIH1cbiAgICAmX19hdXRob3Ige1xuICAgICAgICBAZXh0ZW5kIC53LTUwO1xuICAgICAgICBvcmRlcjogMTtcbiAgICB9XG4gICAgJl9fZW1haWwge1xuICAgICAgICBAZXh0ZW5kIC53LTUwO1xuICAgICAgICBvcmRlcjogMjtcbiAgICB9XG4gICAgJl9fY29tbWVudCB7XG4gICAgICAgIEBleHRlbmQgLnctMTAwO1xuICAgICAgICBvcmRlcjogMztcbiAgICB9XG4gICAgLmNvbW1lbnQtZm9ybS1jb29raWVzLWNvbnNlbnQge1xuICAgICAgICBAZXh0ZW5kIC53LTEwMDtcbiAgICAgICAgb3JkZXI6IDQ7XG5cbiAgICAgICAgbGFiZWwge1xuICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDEuMTtcbiAgICAgICAgICAgIHBhZGRpbmctbGVmdDogb2Zmc2V0KGRlZmF1bHRQbHVzKTtcbiAgICAgICAgfVxuICAgIH1cbiAgICAuZm9ybS1zdWJtaXQge1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcblxuICAgICAgICBAZXh0ZW5kIC53LTEwMDtcbiAgICAgICAgb3JkZXI6IDU7XG4gICAgfVxufVxuIiwiLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIENvbW1lbnQgbGlzdFxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi5jLWNvbW1lbnQtbGlzdCB7XG4gICAgbGlzdC1zdHlsZTogbm9uZTtcbiAgICBwYWRkaW5nOiAwO1xuXG4gICAgJl9fc3ViIHtcbiAgICAgICAgcGFkZGluZzogMDtcbiAgICAgICAgbGlzdC1zdHlsZTogbm9uZTtcbiAgICAgICAgbWFyZ2luOiBvZmZzZXQoZGVmYXVsdCkgMCBvZmZzZXQoZGVmYXVsdCkgb2Zmc2V0KGRlZmF1bHQpO1xuXG4gICAgICAgIC5jLWNvbW1lbnQge1xuICAgICAgICAgICAgcGFkZGluZzogb2Zmc2V0KGRlZmF1bHRQbHVzKTtcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IGNvbG9yKGFsbW9zdFdoaXRlKTtcbiAgICAgICAgfVxuICAgIH1cbn1cbiIsIi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBEb3dubG9hZCBJbWdcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4uYy1kb3dubG9hZC1pbWcge1xuICAgIHdpZHRoOiAkc2l6ZS1mb290ZXItZG93bmxvYWQtaW1nLXdpZHRoO1xuICAgIG1hcmdpbi1yaWdodDogb2Zmc2V0KHNtYWxsKTtcbn1cbiIsIi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gIEZsb2F0aW5nIENUQVxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi5jLWZsb2F0aW5nLWN0YSB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xuXG4gICAgbWF4LXdpZHRoOiAxMDAlO1xuXG4gICAgcG9zaXRpb246IGZpeGVkO1xuICAgIGxlZnQ6IDA7XG4gICAgYm90dG9tOiAwO1xuXG4gICAgcGFkZGluZzogMjBweDtcblxuICAgIHotaW5kZXg6IDk5OTtcblxuICAgICZfX3dyYXBwZXIge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB3aGl0ZTtcbiAgICAgICAgYm94LXNoYWRvdzogJGJveC1zaGFkb3ctZGVmYXVsdDtcblxuICAgICAgICBwYWRkaW5nOiAyNXB4IDM1cHg7XG5cbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0O1xuICAgIH1cbiAgICAmX190ZXh0IHtcbiAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICBwYWRkaW5nOiAwO1xuXG4gICAgICAgIG1hcmdpbi1yaWdodDogMzBweDtcbiAgICB9XG59XG4iLCIvKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgRm9vdGVyIE5hdlxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi5jLWZvb3Rlci1uYXYge1xuICAgIGxpc3Qtc3R5bGU6IG5vbmU7XG4gICAgbWFyZ2luOiAwO1xuICAgIHBhZGRpbmc6IDA7XG4gICAgbWFyZ2luLXRvcDogb2Zmc2V0KGRlZmF1bHQpO1xuXG4gICAgJl9faXRlbSB7XG4gICAgICAgIHBhZGRpbmctYm90dG9tOiBvZmZzZXQoZGVmYXVsdCk7XG5cbiAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgICAuYy1saW5rIHtcbiAgICAgICAgICAgICAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbn1cbiIsIi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBGb290ZXIgU2VjdGlvblxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi5jLWZvb3Rlci1zZWN0aW9uIHtcbiAgICB3aWR0aDogMjUlO1xuXG4gICAgJjpub3QoOmxhc3QtY2hpbGQpIHtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiBvZmZzZXQoZGVmYXVsdFBsdXMpO1xuICAgIH1cbiAgICAmOmZpcnN0LWNoaWxkIHtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xuICAgIH1cbiAgICAmLS13aWRlIHtcbiAgICAgICAgd2lkdGg6IDMzJTtcbiAgICB9XG4gICAgLmMtc29jaWFsLW5hdiB7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDtcbiAgICB9XG5cbiAgICAmX190aXRsZSB7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xuICAgICAgICBsZXR0ZXItc3BhY2luZzogMXB4O1xuICAgICAgICBmb250LXNpemU6IGZvbnQtc2l6ZShtYWluUGx1cyk7XG4gICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IG9mZnNldChsYXJnZSk7XG5cbiAgICAgICAgQGluY2x1ZGUgbWVkaWEoJzw9bW9iaWxlJykge1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogaW5pdGlhbDtcbiAgICAgICAgfVxuICAgIH1cbiAgICAmX19jb250ZW50IHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogb2Zmc2V0KGRlZmF1bHQpO1xuICAgICAgICBsaW5lLWhlaWdodDogMS41O1xuICAgIH1cbiAgICAmX19yb3cge1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG5cbiAgICAgICAgbWFyZ2luLXRvcDogb2Zmc2V0KGRlZmF1bHQpO1xuXG4gICAgICAgIC5jLWxpbmsge1xuICAgICAgICAgICAgJjpub3QoOmxhc3QtY2hpbGQpIHtcbiAgICAgICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IG9mZnNldChkZWZhdWx0KTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgIEBpbmNsdWRlIG1lZGlhKCc8PXRhYmxldCcpIHtcbiAgICAgICAgd2lkdGg6IDUwJTtcblxuICAgICAgICAmOm5vdCg6bGFzdC1jaGlsZCkge1xuICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiAwO1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogb2Zmc2V0KGxhcmdlUGx1cyk7XG4gICAgICAgIH1cbiAgICAgICAgJjpudGgtY2hpbGQoMikge1xuICAgICAgICAgICAgcGFkZGluZy1yaWdodDogb2Zmc2V0KGRlZmF1bHRQbHVzKTtcbiAgICAgICAgfVxuICAgICAgICAmLS13aWRlIHtcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICB9XG4gICAgfVxuICAgIEBpbmNsdWRlIG1lZGlhKCc8PW1vYmlsZScpIHtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG5cbiAgICAgICAgJjpudGgtY2hpbGQoMikge1xuICAgICAgICAgICAgcGFkZGluZy1yaWdodDogMDtcbiAgICAgICAgfVxuICAgICAgICAmOm5vdCg6bGFzdC1jaGlsZCkge1xuICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiAwO1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogb2Zmc2V0KGxhcmdlKTtcbiAgICAgICAgfVxuICAgIH1cbn1cbiIsIi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBGb290ZXIgV3JhcHBlclxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi5jLWZvb3Rlci13cmFwcGVyIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBwYWRkaW5nOiBvZmZzZXQobGFyZ2UpIDA7XG5cbiAgICAmX19yb3cge1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBhbGlnbi1pdGVtczogZmxleC1zdGFydDtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuXG4gICAgICAgIHdpZHRoOiAxMDAlO1xuXG4gICAgICAgICY6bm90KDpsYXN0LWNoaWxkKSB7XG4gICAgICAgICAgICBwYWRkaW5nLWJvdHRvbTogb2Zmc2V0KGxhcmdlUGx1cyk7XG4gICAgICAgIH1cblxuICAgICAgICBAaW5jbHVkZSBtZWRpYSgnPD10YWJsZXQnKSB7XG4gICAgICAgICAgICBmbGV4LXdyYXA6IHdyYXA7XG5cbiAgICAgICAgICAgICY6bm90KDpsYXN0LWNoaWxkKSB7XG4gICAgICAgICAgICAgICAgcGFkZGluZy1ib3R0b206IDA7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG4gICAgQGluY2x1ZGUgbWVkaWEoJzw9bW9iaWxlJykge1xuICAgICAgICBwYWRkaW5nOiBvZmZzZXQoZGVmYXVsdCkgMDtcbiAgICB9XG59XG4iLCIvKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuRm9ybXNcbj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4uYy1mb3JtIHtcbn1cbiIsIi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBIZWFkZXIgQnV0dG9uXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLmMtaGVhZGVyLWJ0biB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuXG4gICAgaGVpZ2h0OiAxMDAlO1xuXG4gICAgLmMtaGVhZGVyLWJ0bl9fYWN0aW9uIHtcbiAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIH1cblxuICAgICYtLWJ1cmdlciB7XG5cbiAgICAgICAgLmMtaGVhZGVyLWJ0bl9fYWN0aW9uIHtcbiAgICAgICAgICAgIGJvcmRlcjogbm9uZTtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMHB4O1xuICAgICAgICAgICAgYmFja2dyb3VuZDogbm9uZTtcbiAgICAgICAgICAgIHBhZGRpbmc6ICN7JGhlYWRlci1idG4tcGFkZGluZyAqIDJ9ICRoZWFkZXItYnRuLXBhZGRpbmc7XG5cbiAgICAgICAgICAgIC5jLWxhYmVsIHtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiB3aGl0ZTtcbiAgICAgICAgICAgICAgICB3aWR0aDogJGhhbWJ1cmdlci13aWR0aDtcbiAgICAgICAgICAgICAgICBoZWlnaHQ6ICRoYW1idXJnZXItYmFyLWhlaWdodDtcbiAgICAgICAgICAgICAgICBib3JkZXItcmFkaXVzOiAycHg7XG5cbiAgICAgICAgICAgICAgICAmOmFmdGVyLFxuICAgICAgICAgICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICAgICAgICAgICAgY29udGVudDogJyc7XG4gICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICAgICAgICAgIHdpZHRoOiAkaGFtYnVyZ2VyLXdpZHRoO1xuICAgICAgICAgICAgICAgICAgICBoZWlnaHQ6ICRoYW1idXJnZXItYmFyLWhlaWdodDtcbiAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogY29sb3Iod2hpdGUpO1xuICAgICAgICAgICAgICAgICAgICBsZWZ0OiAwO1xuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICY6YWZ0ZXIge1xuICAgICAgICAgICAgICAgICAgICB0b3A6ICN7JGhhbWJ1cmdlci1iYXItaGVpZ2h0ICogNH07XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICAgICAgICAgICAgdG9wOiAtI3skaGFtYnVyZ2VyLWJhci1oZWlnaHQgKiA0fTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICYuaXMtYWN0aXZlIHtcbiAgICAgICAgICAgICAgICAuYy1sYWJlbCB7XG4gICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICAgICAgICAgICAgICAgICAgICB0cmFuc2l0aW9uOiAkdHJhbnNpdGlvbi1kZWZhdWx0O1xuXG4gICAgICAgICAgICAgICAgICAgICY6YWZ0ZXIsXG4gICAgICAgICAgICAgICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHRvcDogMDtcbiAgICAgICAgICAgICAgICAgICAgICAgIHRyYW5zaXRpb246ICR0cmFuc2l0aW9uLWRlZmF1bHQ7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgJjphZnRlciB7XG4gICAgICAgICAgICAgICAgICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSg0NWRlZyk7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgICAgICAgICAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoLTQ1ZGVnKTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIEBpbmNsdWRlIG1lZGlhKCc+dGFibGV0Jykge1xuICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgfVxuICAgIH1cbiAgICAmLS1zZWFyY2gge1xuXG4gICAgICAgIC5jLWhlYWRlci1idG5fX2FjdGlvbiB7XG4gICAgICAgICAgICBib3JkZXI6IG5vbmU7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiBub25lO1xuICAgICAgICAgICAgcGFkZGluZzogJGhlYWRlci1idG4tcGFkZGluZztcblxuICAgICAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogd2hpdGU7XG4gICAgICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogNTAlO1xuXG4gICAgICAgICAgICAgICAgLnVpLWljb24ge1xuICAgICAgICAgICAgICAgICAgICBjb2xvcjogY29sb3IocHJpbWFyeSk7XG4gICAgICAgICAgICAgICAgICAgIGZpbGw6IGN1cnJlbnRDb2xvcjtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICAuYy1sYWJlbCB7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG5cbiAgICAgICAgICAgICAgICB3aWR0aDogJGhhbWJ1cmdlci13aWR0aDtcbiAgICAgICAgICAgICAgICBoZWlnaHQ6ICRoYW1idXJnZXItd2lkdGg7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKCcuLi9pbWcvc2VhcmNoLnN2ZycpO1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQtc2l6ZTogY29udGFpbjtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIC51aS1pY29uIHtcbiAgICAgICAgICAgICAgICBmb250LXNpemU6IDEuNWVtO1xuICAgICAgICAgICAgICAgIGNvbG9yOiBjb2xvcih3aGl0ZSk7XG4gICAgICAgICAgICAgICAgZmlsbDogY3VycmVudENvbG9yO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAmLmlzLW9wZW4ge1xuICAgICAgICAgICAgICAgIG9wYWNpdHk6IC44O1xuXG4gICAgICAgICAgICAgICAgLnVpLWljb24ge1xuICAgICAgICAgICAgICAgICAgICBjb2xvcjogY29sb3IocHJpbWFyeSk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgQGluY2x1ZGUgbWVkaWEoJzw9dGFibGV0Jykge1xuICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgfVxuICAgIH1cbiAgICAmLS1kYXJrIHtcbiAgICAgICAgLmMtaGVhZGVyLWJ0bl9fYWN0aW9uIHtcbiAgICAgICAgICAgIC5jLWxhYmVsIHtcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBjb2xvcihwcmltYXJ5KTtcbiAgICAgICAgICAgICAgICAmOmFmdGVyLFxuICAgICAgICAgICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogY29sb3IocHJpbWFyeSk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxufVxuXG4ubC1oZWFkZXIuaXMtYWN0aXZlIHtcbiAgICAuYy1oZWFkZXItYnRuX19hY3Rpb24ge1xuICAgICAgICAuYy1sYWJlbCB7XG4gICAgICAgICAgICAmLCAmOmJlZm9yZSwgJjphZnRlciB7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogY29sb3IocHJpbWFyeSk7XG5cbiAgICAgICAgICAgICAgICB0cmFuc2l0aW9uOiAkdHJhbnNpdGlvbi1kZWZhdWx0O1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxufVxuIiwiLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIEhlYWRlciBuYXZcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4uYy1oZWFkZXItbmF2LXdyYXBwZXIge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xufVxuXG4uYy1oZWFkZXItbmF2IHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBtYXJnaW46IDA7XG4gICAgcGFkZGluZzogMDtcblxuICAgICZfX2l0ZW0ge1xuICAgICAgICBsaXN0LXN0eWxlOiBub25lO1xuICAgICAgICBtYXJnaW46IDAgb2Zmc2V0KGRlZmF1bHQpO1xuXG4gICAgICAgIGZvbnQtc2l6ZTogZm9udC1zaXplKGg1KTtcblxuICAgICAgICAmOmZpcnN0LWNoaWxkIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgIH1cbiAgICAgICAgJi5tZW51LWl0ZW0taGFzLWNoaWxkcmVuIHtcbiAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICAgICAgICAgICAgLmMtbGluayB7XG4gICAgICAgICAgICAgICAgcGFkZGluZy1yaWdodDogb2Zmc2V0KHNtYWxsKSAqIDM7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC5jLWxhYmVsIHtcblxuICAgICAgICAgICAgICAgICY6YmVmb3JlLFxuICAgICAgICAgICAgICAgICY6YWZ0ZXIge1xuICAgICAgICAgICAgICAgICAgICBjb250ZW50OiAnJztcbiAgICAgICAgICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuXG4gICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuXG4gICAgICAgICAgICAgICAgICAgIHdpZHRoOiA4cHg7XG4gICAgICAgICAgICAgICAgICAgIGhlaWdodDogMnB4O1xuXG4gICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IGNvbG9yKHdoaXRlKTtcbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgICAgICAgICAgIHRvcDogOHB4O1xuICAgICAgICAgICAgICAgICAgICByaWdodDogb2Zmc2V0KHNtYWxsKTtcbiAgICAgICAgICAgICAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoLTQ1ZGVnKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgJjphZnRlciB7XG4gICAgICAgICAgICAgICAgICAgIHRvcDogOHB4O1xuICAgICAgICAgICAgICAgICAgICByaWdodDogb2Zmc2V0KHNtYWxsKSArIChvZmZzZXQoc21hbGwpIC8gMik7XG4gICAgICAgICAgICAgICAgICAgIHRyYW5zZm9ybTogcm90YXRlKDQ1ZGVnKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICAgICAgICAuYy1sYWJlbCB7XG4gICAgICAgICAgICAgICAgICAgIGNvbG9yOiBjb2xvcihwcmltYXJ5KTtcbiAgICAgICAgICAgICAgICAgICAgJjpiZWZvcmUsXG4gICAgICAgICAgICAgICAgICAgICY6YWZ0ZXIge1xuICAgICAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogY29sb3Ioc2Vjb25kYXJ5KTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAmLmN1cnJlbnQtbWVudS1pdGVtIHtcbiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xuICAgICAgICAgICAgY29sb3I6IGNvbG9yKHNlY29uZGFyeSk7XG4gICAgICAgIH1cbiAgICAgICAgJi5pcy1vcGVuIHtcbiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xuICAgICAgICB9XG4gICAgICAgIC5jLWxpbmsge1xuICAgICAgICAgICAgcGFkZGluZzogb2Zmc2V0KHNtYWxsKTtcblxuICAgICAgICAgICAgLmMtbGFiZWwge1xuICAgICAgICAgICAgICAgIGNvbG9yOiBjb2xvcih3aGl0ZSk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgICAuYy1saW5rIHtcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiBjb2xvcih3aGl0ZSk7XG4gICAgICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogb2Zmc2V0KGJpZyk7XG5cbiAgICAgICAgICAgICAgICAuYy1sYWJlbCB7XG4gICAgICAgICAgICAgICAgICAgIGNvbG9yOiBjb2xvcihzZWNvbmRhcnkpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgICYtLWhvcml6b250YWwge1xuICAgICAgICB3aWR0aDogYXV0bztcbiAgICAgICAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gICAgICAgIG1hcmdpbi1yaWdodDogYXV0bztcbiAgICAgICAgQGluY2x1ZGUgbWVkaWEoJzw9dGFibGV0Jykge1xuICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgfVxuICAgIH1cbn1cblxuLmwtaGVhZGVyIHtcbiAgICAmLmlzLWFjdGl2ZSxcbiAgICAmLmlzLWFjdGl2ZS1jYXQsXG4gICAgJi5pcy1hY3RpdmUtc2VhcmNoLFxuICAgICYuaXMtc2Nyb2xsZWQge1xuICAgICAgICAuYy1oZWFkZXItbmF2IHtcbiAgICAgICAgICAgICZfX2l0ZW0ge1xuICAgICAgICAgICAgICAgIC5jLWxpbmsge1xuICAgICAgICAgICAgICAgICAgICAuYy1sYWJlbCB7XG4gICAgICAgICAgICAgICAgICAgICAgICBjb2xvcjogY29sb3IoYmxhY2spO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICYubWVudS1pdGVtLWhhcy1jaGlsZHJlbiB7XG4gICAgICAgICAgICAgICAgICAgIC5jLWxpbmsge1xuICAgICAgICAgICAgICAgICAgICAgICAgLmMtbGFiZWwge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICY6YmVmb3JlLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICY6YWZ0ZXIge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBjb2xvcihibGFjayk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICY6aG92ZXIge1xuICAgICAgICAgICAgICAgICAgICAuYy1saW5rIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIC5jLWxhYmVsIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb2xvcjogY29sb3Ioc2Vjb25kYXJ5KTtcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAmLm1lbnUtaXRlbS1oYXMtY2hpbGRyZW4ge1xuICAgICAgICAgICAgICAgICAgICAgICAgLmMtbGluayB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgLmMtbGFiZWwge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmOmJlZm9yZSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJjphZnRlciB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBjb2xvcihzZWNvbmRhcnkpO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIC51aS1pY29uIHtcbiAgICAgICAgICAgIGNvbG9yOiBjb2xvcihwcmltYXJ5KTtcbiAgICAgICAgfVxuICAgIH1cbn1cbiIsIi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBTdGF0aWMgSGVyb1xuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi5jLWhlcm8tc3RhdGljIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG5cbiAgICBoZWlnaHQ6ICRzaXplLXN0YXRpYy1oZXJvLWhlaWdodDtcblxuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICAgIGJhY2tncm91bmQtc2l6ZTogY292ZXI7XG4gICAgYmFja2dyb3VuZC1wb3NpdGlvbjogNTAlIDUwJTtcblxuICAgIC5sLWlubmVyIHtcbiAgICAgICAgei1pbmRleDogJHotaW5kZXgtc2xpZGUtY29udGVudDtcbiAgICB9XG4gICAgJl9fZGF0ZSxcbiAgICAmX190aXRsZSB7XG4gICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgcGFkZGluZzogMDtcbiAgICAgICAgbWF4LXdpZHRoOiAkc2l6ZS1zdGF0aWMtaGVyby1jb250ZW50LW1heC13aWR0aDtcblxuICAgICAgICBAaW5jbHVkZSBtZWRpYSgnPD10YWJsZXQnKSB7XG4gICAgICAgICAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgICAgIH1cbiAgICB9XG4gICAgJl9fZGF0ZSB7XG4gICAgICAgIHBhZGRpbmctYm90dG9tOiBvZmZzZXQoZGVmYXVsdCk7XG5cbiAgICAgICAgY29sb3I6IGNvbG9yKHdoaXRlKTtcbiAgICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICAgICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gICAgICAgIGZvbnQtc2l6ZTogZm9udC1zaXplKG1haW5QbHVzKTtcblxuICAgICAgICBAaW5jbHVkZSBtZWRpYSgnPD10YWJsZXQnKSB7XG4gICAgICAgICAgICBmb250LXNpemU6IGZvbnQtc2l6ZShzbWFsbCk7XG4gICAgICAgIH1cbiAgICB9XG4gICAgJl9fdGl0bGUge1xuICAgICAgICBwYWRkaW5nLWJvdHRvbTogb2Zmc2V0KGxhcmdlKTtcblxuICAgICAgICBjb2xvcjogY29sb3Iod2hpdGUpO1xuICAgICAgICBmb250LXNpemU6IGZvbnQtc2l6ZShoMSk7XG5cbiAgICAgICAgQGluY2x1ZGUgbWVkaWEoJzw9bW9iaWxlJykge1xuICAgICAgICAgICAgcGFkZGluZy1ib3R0b206IG9mZnNldChodWdlKTtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogZm9udC1zaXplKGgxLW0pO1xuICAgICAgICB9XG4gICAgfVxuICAgICZfX2Rlc2Mge1xuICAgICAgICBjb2xvcjogd2hpdGU7XG4gICAgfVxuICAgICZfX292ZXJsYXkge1xuICAgICAgICB6LWluZGV4OiAkei1pbmRleC1zbGlkZS1jb250ZW50IC0gMTtcblxuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHRvcDogMDtcbiAgICAgICAgbGVmdDogMDtcblxuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgaGVpZ2h0OiAxMDAlO1xuXG4gICAgICAgIGJhY2tncm91bmQ6IC1tb3otbGluZWFyLWdyYWRpZW50KGxlZnQsIHJnYmEoMCwwLDAsJHNsaWRlLW92ZXJsYXktb3BhY2l0eS1zdGFydCkgMCUsIHJnYmEoMCwwLDAsMCkgMTAwJSk7XG4gICAgICAgIGJhY2tncm91bmQ6IC13ZWJraXQtbGluZWFyLWdyYWRpZW50KGxlZnQsIHJnYmEoMCwwLDAsJHNsaWRlLW92ZXJsYXktb3BhY2l0eS1zdGFydCkgMCUscmdiYSgwLDAsMCwwKSAxMDAlKTtcbiAgICAgICAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KHRvIHJpZ2h0LCByZ2JhKDAsMCwwLCRzbGlkZS1vdmVybGF5LW9wYWNpdHktc3RhcnQpIDAlLHJnYmEoMCwwLDAsMCkgMTAwJSk7XG4gICAgICAgIGZpbHRlcjogcHJvZ2lkOkRYSW1hZ2VUcmFuc2Zvcm0uTWljcm9zb2Z0LmdyYWRpZW50KCBzdGFydENvbG9yc3RyPScjZmYwMDAwMDAnLCBlbmRDb2xvcnN0cj0nIzAwMDAwMDAwJyxHcmFkaWVudFR5cGU9MSApO1xuICAgIH1cbiAgICAmLS1sb3cge1xuICAgICAgICBoZWlnaHQ6ICRzaXplLXN0YXRpYy1oZXJvLWhlaWdodC1sb3c7XG4gICAgfVxuICAgICYtLWhpZ2gge1xuICAgICAgICBoZWlnaHQ6IDEwMHZoO1xuICAgIH1cbiAgICAmLS1hbHQge1xuICAgICAgICBjb2xvcjogd2hpdGU7XG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgLmMtaGVyby1zdGF0aWNfX3RpdGxlIHtcbiAgICAgICAgICAgIG1heC13aWR0aDogMTAwJTtcbiAgICAgICAgfVxuICAgIH1cbn1cbiIsIi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBIb21lIFBvc3RzXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLmMtaG9tZS1wb3N0cyB7XG4gICAgZGlzcGxheTogZmxleDtcblxuICAgIGZsZXgtd3JhcDogd3JhcDtcblxuICAgIG1hcmdpbjogMDtcbiAgICBwYWRkaW5nOiAwO1xuXG4gICAgbWFyZ2luLXRvcDogLSN7b2Zmc2V0KHhsKX07XG5cbiAgICB6LWluZGV4OiAkei1pbmRleC1wb3N0O1xufVxuIiwiLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIEhvbWUgU2xpZGVyXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLmMtaG9tZS1zbGlkZXIge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICAgICZfX3dyYXBwZXIge1xuICAgICAgICBwYWRkaW5nOiAwO1xuICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgIGxpc3Qtc3R5bGU6IG5vbmU7XG5cbiAgICAgICAgLmMtc2xpZGUge1xuICAgICAgICAgICAgYmFja2dyb3VuZC1zaXplOiBjb3ZlcjtcbiAgICAgICAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IDUwJSA1MCU7XG4gICAgICAgIH1cbiAgICB9XG4gICAgJl9fcGFnaW5hdGlvbiB7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7XG5cbiAgICAgICAgei1pbmRleDogMTA7XG5cbiAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICBwYWRkaW5nOiAwO1xuXG4gICAgICAgIG1hcmdpbi10b3A6IC0je29mZnNldCh4eGwpICsgb2Zmc2V0KGJpZyl9O1xuXG4gICAgICAgICZfX2J1bGxldCB7XG4gICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgIHdpZHRoOiBvZmZzZXQoZGVmYXVsdCk7XG4gICAgICAgICAgICBoZWlnaHQ6IG9mZnNldChkZWZhdWx0KTtcbiAgICAgICAgICAgIGJhY2tncm91bmQ6IHdoaXRlO1xuICAgICAgICAgICAgb3BhY2l0eTogLjI1O1xuXG4gICAgICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XG5cbiAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDEwMCU7XG5cbiAgICAgICAgICAgIG1hcmdpbi1yaWdodDogb2Zmc2V0KGRlZmF1bHQpO1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogb2Zmc2V0KHNtYWxsKTtcblxuICAgICAgICAgICAgJi5pcy1hY3RpdmUge1xuICAgICAgICAgICAgICAgIG9wYWNpdHk6IDE7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICAmOmxhc3Qtb2YtdHlwZSB7XG4gICAgICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiBvZmZzZXQoc21hbGwpICogMjtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbn1cbiIsIi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBMYW5nIHN3aXRjaGVyXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLmMtbGFuZy1zd2l0Y2hlciB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuXG4gICAgZm9udC1zaXplOiBmb250LXNpemUoaDUpO1xuXG4gICAgbWFyZ2luLXJpZ2h0OiBvZmZzZXQoYmlnKTtcblxuICAgIGxpc3Qtc3R5bGU6IG5vbmU7XG5cbiAgICAud3BtbC1scy1sZWdhY3ktZHJvcGRvd24ge1xuICAgICAgICB3aWR0aDogYXV0bztcblxuICAgICAgICAud3BtbC1scy1jdXJyZW50LWxhbmd1YWdlIHtcblxuICAgICAgICAgICAgJiA+IGEge1xuICAgICAgICAgICAgICAgIGNvbG9yOiBjb2xvcih3aGl0ZSk7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gICAgICAgICAgICAgICAgcGFkZGluZzogb2Zmc2V0KHNtYWxsKSBvZmZzZXQoZGVmYXVsdCk7XG4gICAgICAgICAgICAgICAgcGFkZGluZy1yaWdodDogb2Zmc2V0KHNtYWxsKSAqIDM7XG5cbiAgICAgICAgICAgICAgICAmOmFmdGVyIHtcbiAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgc3BhbiB7XG4gICAgICAgICAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICAgICAgICAgICAgICAgICAgICAmOmJlZm9yZSxcbiAgICAgICAgICAgICAgICAgICAgJjphZnRlciB7XG4gICAgICAgICAgICAgICAgICAgICAgICBjb250ZW50OiAnJztcbiAgICAgICAgICAgICAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgICAgICAgICAgICAgIGJvcmRlcjogbm9uZTtcblxuICAgICAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG5cbiAgICAgICAgICAgICAgICAgICAgICAgIHdpZHRoOiA4cHg7XG4gICAgICAgICAgICAgICAgICAgICAgICBoZWlnaHQ6IDJweDtcblxuICAgICAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogY29sb3Iod2hpdGUpO1xuICAgICAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgICAgICAgICAgICAgICAgdG9wOiA4cHg7XG4gICAgICAgICAgICAgICAgICAgICAgICByaWdodDogLTE4cHg7XG4gICAgICAgICAgICAgICAgICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSgtNDVkZWcpO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICY6YWZ0ZXIge1xuICAgICAgICAgICAgICAgICAgICAgICAgdG9wOiA4cHg7XG4gICAgICAgICAgICAgICAgICAgICAgICByaWdodDogLTE0cHg7XG4gICAgICAgICAgICAgICAgICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSg0NWRlZyk7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICAgICAgICAmID4gYSB7XG4gICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IGNvbG9yKHdoaXRlKTtcbiAgICAgICAgICAgICAgICAgICAgY29sb3I6IGNvbG9yKHByaW1hcnkpO1xuXG4gICAgICAgICAgICAgICAgICAgIGJvcmRlci10b3AtbGVmdC1yYWRpdXM6IG9mZnNldChiaWcpO1xuICAgICAgICAgICAgICAgICAgICBib3JkZXItdG9wLXJpZ2h0LXJhZGl1czogb2Zmc2V0KGJpZyk7XG5cbiAgICAgICAgICAgICAgICAgICAgc3BhbiB7XG4gICAgICAgICAgICAgICAgICAgICAgICAmOmJlZm9yZSxcbiAgICAgICAgICAgICAgICAgICAgICAgICY6YWZ0ZXIge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IGNvbG9yKHByaW1hcnkpO1xuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIC53cG1sLWxzLXN1Yi1tZW51IHtcbiAgICAgICAgICAgIGJvcmRlcjogbm9uZTtcblxuICAgICAgICAgICAgLndwbWwtbHMtaXRlbSB7XG4gICAgICAgICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICAgICAgICAgIGJvcmRlcjogbm9uZTtcbiAgICAgICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgICAgICAgICAgdGV4dC1hbGlnbjogbGVmdDtcblxuICAgICAgICAgICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICAgICAgICAgICAgY29udGVudDogJyc7XG4gICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICAgICAgICAgIHRvcDogMDtcbiAgICAgICAgICAgICAgICAgICAgbGVmdDogMTUlO1xuICAgICAgICAgICAgICAgICAgICB3aWR0aDogNzAlO1xuICAgICAgICAgICAgICAgICAgICBoZWlnaHQ6IDFweDtcbiAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogY29sb3IoYWxtb3N0R3JleSk7XG5cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgYSB7XG4gICAgICAgICAgICAgICAgICAgIGNvbG9yOiBjb2xvcihwcmltYXJ5KTtcbiAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogY29sb3Iod2hpdGUpO1xuICAgICAgICAgICAgICAgICAgICBwYWRkaW5nOiBvZmZzZXQoc21hbGwpO1xuICAgICAgICAgICAgICAgICAgICBwYWRkaW5nLWxlZnQ6ICN7b2Zmc2V0KHNtYWxsKSAqIDEuNX07XG5cbiAgICAgICAgICAgICAgICAgICAgc3BhbiB7XG4gICAgICAgICAgICAgICAgICAgICAgICBjb2xvcjogY29sb3IocHJpbWFyeSk7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgJi53cG1sLWxzLWxhc3QtaXRlbSB7XG4gICAgICAgICAgICAgICAgICAgIGEge1xuICAgICAgICAgICAgICAgICAgICAgICAgYm9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1czogb2Zmc2V0KGJpZyk7XG4gICAgICAgICAgICAgICAgICAgICAgICBib3JkZXItYm90dG9tLXJpZ2h0LXJhZGl1czogb2Zmc2V0KGJpZyk7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG4gICAgYSB7XG4gICAgICAgIGJvcmRlcjogbm9uZTtcbiAgICAgICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gICAgICAgICY6aG92ZXIge1xuICAgICAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XG4gICAgICAgIH1cbiAgICB9XG59XG5cbi5sLWhlYWRlciB7XG4gICAgJi5pcy1hY3RpdmUsXG4gICAgJi5pcy1hY3RpdmUtY2F0LFxuICAgICYuaXMtYWN0aXZlLXNlYXJjaCxcbiAgICAmLmlzLXNjcm9sbGVkIHtcbiAgICAgICAgLndwbWwtbHMtY3VycmVudC1sYW5ndWFnZSB7XG4gICAgICAgICAgICAmID4gYSB7XG4gICAgICAgICAgICAgICAgY29sb3I6IGNvbG9yKGJsYWNrKTtcblxuICAgICAgICAgICAgICAgIHNwYW4ge1xuICAgICAgICAgICAgICAgICAgICAmOmFmdGVyLFxuICAgICAgICAgICAgICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBjb2xvcihibGFjayk7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG59XG5cbkBpbmNsdWRlIG1lZGlhICgnPD10YWJsZXQnKSB7XG4gICAgLmwtaGVhZGVyIHtcbiAgICAgICAgLmMtbGFuZy1zd2l0Y2hlciB7XG4gICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICB9XG4gICAgfVxufVxuXG4uYy1zaWRlLXBhbmVsX19oZWFkZXIge1xuICAgIC5jLWxhbmctc3dpdGNoZXIge1xuICAgICAgICAud3BtbC1scy1jdXJyZW50LWxhbmd1YWdlIHtcbiAgICAgICAgICAgICYgPiBhIHtcbiAgICAgICAgICAgICAgICBjb2xvcjogY29sb3Iod2hpdGUpO1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IGNvbG9yKHByaW1hcnkpO1xuICAgICAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IG9mZnNldChiaWcpO1xuXG4gICAgICAgICAgICAgICAgc3BhbiB7XG4gICAgICAgICAgICAgICAgICAgICY6YWZ0ZXIsXG4gICAgICAgICAgICAgICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IGNvbG9yKHdoaXRlKTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgICY6aG92ZXIge1xuICAgICAgICAgICAgICAgICYgPiBhIHtcbiAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogY29sb3IocHJpbWFyeSk7XG4gICAgICAgICAgICAgICAgICAgIGNvbG9yOiBjb2xvcih3aGl0ZSk7XG5cbiAgICAgICAgICAgICAgICAgICAgYm9yZGVyLXRvcC1sZWZ0LXJhZGl1czogb2Zmc2V0KGJpZyk7XG4gICAgICAgICAgICAgICAgICAgIGJvcmRlci10b3AtcmlnaHQtcmFkaXVzOiBvZmZzZXQoYmlnKTtcbiAgICAgICAgICAgICAgICAgICAgYm9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1czogMDtcbiAgICAgICAgICAgICAgICAgICAgYm9yZGVyLWJvdHRvbS1yaWdodC1yYWRpdXM6IDA7XG5cbiAgICAgICAgICAgICAgICAgICAgc3BhbiB7XG4gICAgICAgICAgICAgICAgICAgICAgICAmOmJlZm9yZSxcbiAgICAgICAgICAgICAgICAgICAgICAgICY6YWZ0ZXIge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IGNvbG9yKHdoaXRlKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAud3BtbC1scy1zdWItbWVudSB7XG4gICAgICAgICAgICAud3BtbC1scy1pdGVtIHtcbiAgICAgICAgICAgICAgICBhIHtcbiAgICAgICAgICAgICAgICAgICAgY29sb3I6IGNvbG9yKHdoaXRlKTtcbiAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogY29sb3IocHJpbWFyeSk7XG4gICAgICAgICAgICAgICAgICAgIHNwYW4ge1xuICAgICAgICAgICAgICAgICAgICAgICAgY29sb3I6IGNvbG9yKHdoaXRlKTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbn1cbiIsIi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBMaW5rXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLmwtbWFpbiB7XG4gICAgLmMtbGluayB7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcblxuICAgICAgICAuYy1sYWJlbCB7XG4gICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cbiAgICAgICAgICAgIHotaW5kZXg6IDE7XG5cbiAgICAgICAgICAgICY6YWZ0ZXIge1xuICAgICAgICAgICAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcblxuICAgICAgICAgICAgICAgIGxlZnQ6IDA7XG4gICAgICAgICAgICAgICAgYm90dG9tOiAwO1xuXG4gICAgICAgICAgICAgICAgaGVpZ2h0OiAxcHg7XG4gICAgICAgICAgICAgICAgd2lkdGg6IDA7XG5cbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBjb2xvcihwcmltYXJ5KTtcblxuICAgICAgICAgICAgICAgIHRyYW5zaXRpb246ICR0cmFuc2l0aW9uLWRlZmF1bHQ7XG5cbiAgICAgICAgICAgICAgICB6LWluZGV4OiAtMTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAmOnZpc2l0ZWQsXG4gICAgICAgICY6YWN0aXZlLFxuICAgICAgICAmOmZvY3VzIHtcbiAgICAgICAgICAgIC5jLWxhYmVsIHtcbiAgICAgICAgICAgICAgICBjb2xvcjogY29sb3Ioc2Vjb25kYXJ5KTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICAgIC5jLWxhYmVsIHtcbiAgICAgICAgICAgICAgICBjb2xvcjogY29sb3Ioc2Vjb25kYXJ5KTtcblxuICAgICAgICAgICAgICAgICY6YWZ0ZXIge1xuICAgICAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG59XG4iLCIvKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgTG9nb1xuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi5jLWxvZ28ge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuXG4gICAgJl9fbGluayB7XG4gICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG5cbiAgICAgICAgLmMtaW1nIHtcbiAgICAgICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgICAgICAgIHdpZHRoOiBhdXRvO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgd2lkdGg6IDEyOHB4O1xuICAgIGhlaWdodDogNTBweDtcblxuICAgIEBpbmNsdWRlIG1lZGlhKCc8PXRhYmxldCcpIHtcbiAgICAgICAgd2lkdGg6IDEwMnB4O1xuICAgICAgICBoZWlnaHQ6IDQwcHg7XG4gICAgfVxufVxuIiwiLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIE5ld3NsZXR0ZXIgZm9ybVxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi5jLW5ld3NsZXR0ZXItZm9ybSB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gICAgJl9fbGFiZWwge1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAkc2l6ZS1uZXdzbGV0dGVyLWZvcm0taGVpZ2h0O1xuICAgICAgICBwYWRkaW5nOiAwIG9mZnNldChkZWZhdWx0KTtcbiAgICAgICAgY29sb3I6IGNvbG9yKGxncmV5KTtcbiAgICB9XG4gICAgJl9faW5wdXQge1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgaGVpZ2h0OiAkc2l6ZS1uZXdzbGV0dGVyLWZvcm0taGVpZ2h0O1xuICAgICAgICBwYWRkaW5nOiAwIG9mZnNldChkZWZhdWx0KTtcbiAgICAgICAgYm9yZGVyOiAxcHggc29saWQgY29sb3IobGdyZXkpO1xuICAgIH1cbiAgICAmX19zdWJtaXQge1xuXG4gICAgfVxufVxuIiwiLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIE5ld3NsZXR0ZXIgcmVzdWx0IHRleHRcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4uYy1uZXdzbGV0dGVyLXJlc3VsdCB7XG4gICAgbWFyZ2luLXRvcDogb2Zmc2V0KGJpZyk7XG4gICAgd2lkdGg6IDc1JTtcblxuICAgICZfX3RleHQge1xuICAgICAgICBoZWlnaHQ6IDA7XG4gICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgICAgIGNvbG9yOiB3aGl0ZTtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogb2Zmc2V0KGJpZyk7XG5cbiAgICAgICAgJi0tc3VjY2VzcyB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBjb2xvcihwcmltYXJ5KTtcbiAgICAgICAgfVxuICAgICAgICAmLS1lcnJvciB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBjcmltc29uO1xuICAgICAgICB9XG4gICAgICAgICYuaXMtdmlzaWJsZSB7XG4gICAgICAgICAgICBoZWlnaHQ6IGF1dG87XG4gICAgICAgICAgICBwYWRkaW5nOiBvZmZzZXQoc21hbGwpO1xuICAgICAgICAgICAgb3ZlcmZsb3c6IGF1dG87XG4gICAgICAgIH1cbiAgICB9XG59XG4iLCIvKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgUGFnaW5hdGlvblxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi5jLXBhZ2luYXRpb24ge1xuICAgIHBhZGRpbmc6IDI1cHggMDtcblxuICAgIGZvbnQtc2l6ZTogMS40cmVtO1xuXG4gICAgLnBhZ2UtbnVtYmVycyB7XG4gICAgICAgIHBhZGRpbmc6IDAgMTVweDtcblxuICAgICAgICAmLmN1cnJlbnQge1xuICAgICAgICAgICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gICAgICAgIH1cbiAgICB9XG59XG4iLCIvKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgUG9zdFxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi5jLXBvc3Qge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcblxuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBtYXJnaW4tYm90dG9tOiBvZmZzZXQoaHVnZVBsdXMpO1xuXG4gICAgYmFja2dyb3VuZC1jb2xvcjogd2hpdGU7XG5cbiAgICBib3gtc2hhZG93OiAkYm94LXNoYWRvdy1sYXJnZTtcbiAgICB0cmFuc2l0aW9uOiAkdHJhbnNpdGlvbi1kZWZhdWx0O1xuXG4gICAgJl9fY29udGVudCB7XG4gICAgICAgIHBhZGRpbmc6IG9mZnNldChiaWcpIG9mZnNldChsYXJnZSkgb2Zmc2V0KGh1Z2UpIG9mZnNldChsYXJnZSk7XG4gICAgfVxuICAgICZfX2RhdGUge1xuICAgICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgICAgICBmb250LXdlaWdodDogYm9sZDtcbiAgICAgICAgbGV0dGVyLXNwYWNpbmc6IDFweDtcbiAgICB9XG4gICAgJl9fdGl0bGUge1xuICAgICAgICBmb250LXNpemU6IGZvbnQtc2l6ZShoMik7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiA1MDA7XG4gICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgcGFkZGluZzogMDtcbiAgICB9XG4gICAgJl9fZXhjZXJwdCB7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiBmb250LXNpemUobGluZS1oZWlnaHQtYmlnKTtcblxuICAgICAgICAuYy1saW5rIHtcbiAgICAgICAgICAgIGNvbG9yOiBjb2xvcihwcmltYXJ5KTtcblxuICAgICAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmLmMtcG9zdC0tb25lLXRoaXJkIHtcbiAgICAgICAgd2lkdGg6IGNhbGMoKDEwMCUgLSAjezIgKiBvZmZzZXQobGFyZ2UpfSkgLyAzKTtcblxuICAgICAgICAuYy1wb3N0X19kZWNvciB7XG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgIGhlaWdodDogJHNpemUtcG9zdC10aHVtYi1oO1xuICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gICAgICAgICAgICBAaW5jbHVkZSBtZWRpYSgnPD10YWJsZXQnKSB7XG4gICAgICAgICAgICAgICAgaGVpZ2h0OiAkc2l6ZS1wb3N0LWZpZy13aWR0aC10YWJsZXQ7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBAaW5jbHVkZSBtZWRpYSgnPD1tb2JpbGUnKSB7XG4gICAgICAgICAgICAgICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgICAgIGhlaWdodDogJHNpemUtcG9zdC1maWctaGVpZ2h0LW1vYmlsZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAuYy1wb3N0X19maWcge1xuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICAgICAgICBwYWRkaW5nOiAwO1xuICAgICAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gICAgICAgICAgICBAaW5jbHVkZSBtZWRpYSgnPD10YWJsZXQnKSB7XG4gICAgICAgICAgICAgICAgd2lkdGg6ICRzaXplLXBvc3QtZmlnLXdpZHRoLXRhYmxldDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIEBpbmNsdWRlIG1lZGlhKCc8PW1vYmlsZScpIHtcbiAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAuYy1wb3N0X190aHVtYiB7XG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgICAgICAgIG9iamVjdC1maXQ6IGNvdmVyO1xuICAgICAgICB9XG4gICAgICAgIC5jLXBvc3RfX2V4Y2VycHQge1xuICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcblxuICAgICAgICAgICAgQGluY2x1ZGUgbWVkaWEoJzw9dGFibGV0Jykge1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgQGluY2x1ZGUgbWVkaWEoJzw9bW9iaWxlJykge1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAmOm5vdCg6bnRoLWNoaWxkKDNuKzApKSB7XG4gICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IG9mZnNldChsYXJnZSk7XG5cbiAgICAgICAgICAgIEBpbmNsdWRlIG1lZGlhKCc8PXRhYmxldCcpIHtcbiAgICAgICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgICBjb250ZW50OiAnJztcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgaGVpZ2h0OiAje29mZnNldCh4bCl9O1xuXG4gICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICB0b3A6IDA7XG4gICAgICAgICAgICBsZWZ0OiAwO1xuXG4gICAgICAgICAgICBib3gtc2hhZG93OiAwcHggLTEwcHggNzBweCAtMTBweCByZ2JhKDAsMCwwLDAuNzUpO1xuXG4gICAgICAgICAgICB6LWluZGV4OiAtMTtcbiAgICAgICAgfVxuXG4gICAgICAgICY6bm90KDpmaXJzdC1jaGlsZCkge1xuICAgICAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgICAgICAgIEBpbmNsdWRlIG1lZGlhKCc8PXRhYmxldCcpIHtcbiAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICBAaW5jbHVkZSBtZWRpYSgnPD10YWJsZXQnKSB7XG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gICAgICAgIH1cbiAgICAgICAgQGluY2x1ZGUgbWVkaWEoJzw9bW9iaWxlJykge1xuICAgICAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgICAgfVxuICAgIH1cbiAgICAmLmMtcG9zdC0tZnVsbC13aWR0aCB7XG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgQGluY2x1ZGUgbWVkaWEoJz50YWJsZXQnKSB7XG4gICAgICAgICAgICBoZWlnaHQ6IHNpemUoaW5uZXIsIG1vYmlsZSk7XG4gICAgICAgIH1cblxuICAgICAgICAuYy1wb3N0X19kZWNvciB7XG4gICAgICAgICAgICBAaW5jbHVkZSBtZWRpYSgnPD10YWJsZXQnKSB7XG4gICAgICAgICAgICAgICAgbWF4LXdpZHRoOiA1MCU7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBAaW5jbHVkZSBtZWRpYSgnPD1tb2JpbGUnKSB7XG4gICAgICAgICAgICAgICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIC5jLXBvc3RfX2ZpZyB7XG4gICAgICAgICAgICB3aWR0aDogJHNpemUtcG9zdC1mdWxsd2lkdGgtZmlndXJlLXdpZHRoO1xuICAgICAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgICAgICAgcGFkZGluZzogMDtcbiAgICAgICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICAgICAgICAgICAgQGluY2x1ZGUgbWVkaWEoJzw9dGFibGV0Jykge1xuICAgICAgICAgICAgICAgIHdpZHRoOiAkc2l6ZS1wb3N0LWZpZy13aWR0aC10YWJsZXQ7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBAaW5jbHVkZSBtZWRpYSgnPD1tb2JpbGUnKSB7XG4gICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgLmMtcG9zdF9fdGh1bWIge1xuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICAgICAgICBvYmplY3QtZml0OiBjb3ZlcjtcbiAgICAgICAgfVxuICAgICAgICAuYy1wb3N0X19leGNlcnB0IHtcbiAgICAgICAgICAgIEBpbmNsdWRlIG1lZGlhKCc8PW1vYmlsZScpIHtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIEBpbmNsdWRlIG1lZGlhKCc8PW1vYmlsZScpIHtcbiAgICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICAgIH1cbiAgICB9XG4gICAgJi5jLXBvc3QtLW9uZS1zZWNvbmQge1xuICAgICAgICB3aWR0aDogY2FsYygoMTAwJSAtICN7b2Zmc2V0KGxhcmdlKX0pIC8gMik7XG5cbiAgICAgICAgLmMtcG9zdF9fZXhjZXJwdCB7XG4gICAgICAgICAgICBAaW5jbHVkZSBtZWRpYSgnPD1tb2JpbGUnKSB7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgICY6bm90KDpudGgtY2hpbGQoMm4rMCkpIHtcbiAgICAgICAgICAgIG1hcmdpbi1yaWdodDogb2Zmc2V0KGxhcmdlKTtcblxuICAgICAgICAgICAgQGluY2x1ZGUgbWVkaWEoJzw9bW9iaWxlJykge1xuICAgICAgICAgICAgICAgIG1hcmdpbi1yaWdodDogMDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIEBpbmNsdWRlIG1lZGlhKCc8PW1vYmlsZScpIHtcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgJjpob3ZlciB7XG4gICAgICAgIHRyYW5zaXRpb246ICR0cmFuc2l0aW9uLWRlZmF1bHQ7XG4gICAgICAgIGJveC1zaGFkb3c6ICRib3gtc2hhZG93LWRvdWJsZTtcbiAgICB9XG59XG4iLCIvKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgUG9zdCBuYXYgc3VibWVudVxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi5jLXBvc3QtbmF2LXN1Ym1lbnUge1xuXG59XG4iLCIvKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgUG9zdCBuYXYgc3VibWVudSB3cmFwcGVyXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLmMtcG9zdC1uYXYtc3VibWVudS13cmFwcGVyIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICAgIC8vIGRpc3BsYXk6IGZsZXg7XG4gICAgLy8gYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAvLyBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7XG5cbiAgICAvLyBwb3NpdGlvbjogZml4ZWQ7XG4gICAgLy8gdG9wOiAtJHNpemUtaGVhZGVyLWhlaWdodC1tb2JpbGU7XG4gICAgLy8gbGVmdDogMDtcbiAgICAvLyBoZWlnaHQ6ICRzaXplLWhlYWRlci1oZWlnaHQtbW9iaWxlO1xuICAgIC8vIHdpZHRoOiAxMDAlO1xuXG4gICAgLy8gYmFja2dyb3VuZC1jb2xvcjogY29sb3IoYWxtb3N0V2hpdGUpO1xuXG4gICAgLy8gb3ZlcmZsb3c6IGhpZGRlbjtcblxuICAgIC8vIHRyYW5zaXRpb246ICR0cmFuc2l0aW9uLWRlZmF1bHQ7XG5cbiAgICAvLyBib3gtc2hhZG93OiAkYm94LXNoYWRvdy1kZWZhdWx0O1xuXG4gICAgLy8gei1pbmRleDogJHotaW5kZXgtaGVhZGVyIC0gMTtcblxuICAgIC8vICYuaXMtYWN0aXZlIHtcbiAgICAvLyAgICAgdG9wOiAkc2l6ZS1oZWFkZXItaGVpZ2h0LW1vYmlsZTtcbiAgICAvLyAgICAgb3ZlcmZsb3c6IGF1dG87XG5cbiAgICAvLyAgICAgdHJhbnNpdGlvbjogJHRyYW5zaXRpb24tZGVmYXVsdDtcbiAgICAvLyB9XG4gICAgLy8gQGluY2x1ZGUgbWVkaWEoJz50YWJsZXQnKSB7XG4gICAgLy8gICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgLy8gfVxuICAgIC8vIC5sLWlubmVyIHtcbiAgICAvLyAgICAgaGVpZ2h0OiAxMDAlO1xuICAgIC8vICAgICBhbGlnbi1pdGVtczogZmxleC1zdGFydDtcbiAgICAvLyAgICAgLmMtbmF2LWJ0biB7XG4gICAgLy8gICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAvLyAgICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAvLyAgICAgICAgIHBhZGRpbmc6IDAgb2Zmc2V0KGRlZmF1bHQpO1xuICAgIC8vICAgICAgICAgYm9yZGVyOiBub25lO1xuICAgIC8vICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgLy8gICAgIH1cbiAgICAvLyB9XG59XG4iLCIvKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgU2VhcmNoZm9ybVxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi5jLXNlYXJjaGZvcm0ge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG5cbiAgICB3aWR0aDogMTAwJTtcblxuICAgIHBhZGRpbmc6IDAgb2Zmc2V0KGRlZmF1bHQpO1xuXG4gICAgJl9fcm93IHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuXG4gICAgICAgIHdpZHRoOiAxMDAlO1xuXG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB9XG5cbiAgICAmX19sYWJlbCB7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgcGFkZGluZzogb2Zmc2V0KGRlZmF1bHQpIG9mZnNldChkZWZhdWx0KTtcblxuICAgICAgICBmb250LXNpemU6IGZvbnQtc2l6ZShoNCk7XG4gICAgICAgIGNvbG9yOiBjb2xvcihsZ3JleSk7XG4gICAgfVxuICAgICZfX2lucHV0IHtcbiAgICAgICAgZmxleC1ncm93OiAxO1xuICAgICAgICBwYWRkaW5nOiBvZmZzZXQoZGVmYXVsdCkgb2Zmc2V0KGRlZmF1bHQpO1xuXG4gICAgICAgIGJvcmRlcjogbm9uZTtcbiAgICAgICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gICAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCBjb2xvcihsZ3JleSk7XG5cbiAgICAgICAgZm9udC1zaXplOiBmb250LXNpemUoaDQpO1xuXG4gICAgICAgICY6Zm9jdXMge1xuICAgICAgICAgICAgb3V0bGluZTogbm9uZTtcbiAgICAgICAgICAgIGJvcmRlcjogMXB4IHNvbGlkIGNvbG9yKHByaW1hcnkpO1xuICAgICAgICB9XG4gICAgfVxuICAgICZfX3N1Ym1pdCB7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgdG9wOiBvZmZzZXQoc21hbGwpO1xuICAgICAgICByaWdodDogMDtcblxuICAgICAgICBib3JkZXI6IG5vbmU7XG4gICAgICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XG5cbiAgICAgICAgLnVpLWljb24ge1xuICAgICAgICAgICAgZm9udC1zaXplOiAxLjc1ZW07XG4gICAgICAgICAgICBjb2xvcjogY29sb3IocHJpbWFyeSk7XG4gICAgICAgICAgICBmaWxsOiBjdXJyZW50Q29sb3I7XG4gICAgICAgIH1cbiAgICB9XG59XG4iLCIvKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgU2VhcmNoZm9ybSBXcmFwcGVyXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLmMtc2VhcmNoZm9ybS13cmFwcGVyIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG5cbiAgICBwb3NpdGlvbjogZml4ZWQ7XG4gICAgdG9wOiAkc2l6ZS1oZWFkZXItaGVpZ2h0LWRlc2t0b3A7XG4gICAgbGVmdDogMDtcbiAgICBoZWlnaHQ6IDA7XG4gICAgd2lkdGg6IDEwMCU7XG5cbiAgICBiYWNrZ3JvdW5kOiBjb2xvcihhbG1vc3RXaGl0ZSk7XG5cbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuXG4gICAgdHJhbnNpdGlvbjogJHRyYW5zaXRpb24tZGVmYXVsdDtcblxuICAgIGJveC1zaGFkb3c6ICRib3gtc2hhZG93LWRlZmF1bHQ7XG5cbiAgICB6LWluZGV4OiAkei1pbmRleC1oZWFkZXIgLSAxO1xuXG4gICAgLmMtc2VhcmNoZm9ybSB7XG4gICAgICAgIHdpZHRoOiAkc2l6ZS1zaWRlLXBhbmVsLXdpZHRoO1xuICAgICAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgfVxuICAgICYuaXMtb3BlbiB7XG4gICAgICAgIGhlaWdodDogJHN1Ym1lbnUtYmFyLWhlaWdodDtcbiAgICAgICAgb3ZlcmZsb3c6IGF1dG87XG5cbiAgICAgICAgdHJhbnNpdGlvbjogJHRyYW5zaXRpb24tZGVmYXVsdDtcblxuICAgICAgICBAaW5jbHVkZSBtZWRpYSgnPD10YWJsZXQnKSB7XG4gICAgICAgICAgICBoZWlnaHQ6ICRzaXplLWhlYWRlci1oZWlnaHQtbW9iaWxlO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgbWVkaWEoJzw9dGFibGV0Jykge1xuICAgICAgICB0b3A6ICRzaXplLWhlYWRlci1oZWlnaHQtbW9iaWxlO1xuICAgIH1cbn1cbiIsIi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBTaGFyZVxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi5jLXNoYXJlIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcblxuICAgIHdpZHRoOiAxMDAlO1xuICAgIG1hcmdpbjogb2Zmc2V0KGh1Z2UpIDA7XG4gICAgcGFkZGluZzogMDtcblxuICAgIGxpc3Qtc3R5bGU6IG5vbmU7XG5cbiAgICAmX19saW5rIHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgfVxuXG4gICAgJl9faWNvbiB7XG4gICAgICAgIHdpZHRoOiBvZmZzZXQobGFyZ2VQbHVzKTtcbiAgICAgICAgaGVpZ2h0OiBvZmZzZXQobGFyZ2VQbHVzKTtcblxuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBjb2xvcihsZ3JleSk7XG5cbiAgICAgICAgLnVpLWljb24ge1xuICAgICAgICAgICAgdHJhbnNpdGlvbjogJHRyYW5zaXRpb24tZGVmYXVsdDtcbiAgICAgICAgICAgIGNvbG9yOiBjb2xvcihibGFjayk7XG4gICAgICAgICAgICBmaWxsOiBjdXJyZW50Q29sb3I7XG4gICAgICAgICAgICB3aWR0aDogb2Zmc2V0KGRlZmF1bHQpO1xuICAgICAgICAgICAgaGVpZ2h0OiBvZmZzZXQoZGVmYXVsdCk7XG4gICAgICAgIH1cblxuICAgICAgICAmOm5vdCg6bGFzdC1jaGlsZCkge1xuICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiBvZmZzZXQoc21hbGwpO1xuICAgICAgICB9XG5cbiAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgICAudWktaWNvbiB7XG4gICAgICAgICAgICAgICAgdHJhbnNpdGlvbjogJHRyYW5zaXRpb24tZGVmYXVsdDtcbiAgICAgICAgICAgICAgICB3aWR0aDogb2Zmc2V0KGJpZyk7XG4gICAgICAgICAgICAgICAgaGVpZ2h0OiBvZmZzZXQoYmlnKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbn1cbiIsIi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBTaWRlIE5hdmlnYXRpb25cbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4uYy1zaWRlLW5hdiB7XG4gICAgcGFkZGluZzogMDtcbiAgICBtYXJnaW46IDA7XG4gICAgd2lkdGg6IDEwMCU7XG5cbiAgICBtYXJnaW4tdG9wOiBvZmZzZXQobGFyZ2UpO1xuXG4gICAgbGlzdC1zdHlsZTogbm9uZTtcblxuICAgICZfX2l0ZW0ge1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuXG4gICAgICAgIHdpZHRoOiAxMDAlO1xuXG4gICAgICAgIC5jLWxpbmsge1xuICAgICAgICAgICAgcGFkZGluZzogb2Zmc2V0KGRlZmF1bHQpO1xuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG5cbiAgICAgICAgICAgIC5jLWxhYmVsIHtcbiAgICAgICAgICAgICAgICBmb250LXNpemU6IGZvbnQtc2l6ZShoNCk7XG4gICAgICAgICAgICAgICAgY29sb3I6IGNvbG9yKGJsYWNrKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbiAgICAmX19zdWItbWVudSB7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiAkc2l6ZS1zaWRlLW1lbnUtaXRlbS1wYWRkaW5nICogMjtcblxuICAgICAgICBwYWRkaW5nOiAwO1xuXG4gICAgICAgIGxpc3Qtc3R5bGU6IG5vbmU7XG5cbiAgICAgICAgJl9faXRlbSB7XG4gICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcblxuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG5cbiAgICAgICAgICAgIC5jLWxpbmsge1xuICAgICAgICAgICAgICAgIHBhZGRpbmc6ICRzaXplLXNpZGUtbWVudS1pdGVtLXBhZGRpbmcgb2Zmc2V0KGRlZmF1bHQpO1xuICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuXG4gICAgICAgICAgICAgICAgLmMtbGFiZWwge1xuICAgICAgICAgICAgICAgICAgICBmb250LXNpemU6IGZvbnQtc2l6ZShoNCk7XG4gICAgICAgICAgICAgICAgICAgIGNvbG9yOiBjb2xvcihzZWNvbmRhcnkpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbn1cbiIsIi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBTaWRlIFBhbmVsXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLmMtc2lkZS1wYW5lbCB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuXG4gICAgJl9faGVhZGVyIHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuXG4gICAgICAgIGhlaWdodDogJHNpemUtaGVhZGVyLWhlaWdodC1kZXNrdG9wO1xuXG4gICAgICAgIC5jLWxvZ29fX2xpbmsge1xuICAgICAgICAgICAgaW1nIHtcbiAgICAgICAgICAgICAgICBtYXgtaGVpZ2h0OiA0NXB4O1xuICAgICAgICAgICAgICAgIHdpZHRoOiBhdXRvO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIEBpbmNsdWRlIG1lZGlhKCc8PXRhYmxldCcpIHtcbiAgICAgICAgICAgIGhlaWdodDogJHNpemUtaGVhZGVyLWhlaWdodC1tb2JpbGU7XG4gICAgICAgIH1cbiAgICB9XG4gICAgJl9fZm9vdGVyIHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG5cbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIG1hcmdpbi10b3A6IG9mZnNldChiaWcpICogMjtcbiAgICB9XG59XG4iLCIvKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgU29pbmdsZSBuYXZcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4uYy1zaW5nbGUtbmF2IHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiBjb2xvcih3aGl0ZSk7XG4gICAgYm94LXNoYWRvdzogJGJveC1zaGFkb3ctbGFyZ2U7XG4gICAgcGFkZGluZzogb2Zmc2V0KGRlZmF1bHRQbHVzKTtcbiAgICBwYWRkaW5nLWJvdHRvbTogb2Zmc2V0KHhsKTtcbiAgICBmb250LXNpemU6IGZvbnQtc2l6ZShtYWluUGx1cyk7XG5cbiAgICAmX19saXN0IHtcbiAgICAgICAgbGlzdC1zdHlsZTogbm9uZTtcbiAgICAgICAgcGFkZGluZzogMDtcbiAgICAgICAgbWFyZ2luOiAwO1xuXG4gICAgICAgICZfX2l0ZW0ge1xuXG4gICAgICAgICAgICAuYy1saW5rIHtcbiAgICAgICAgICAgICAgICAmOmxpbmssICY6dmlzaXRlZCwgJjpmb2N1cywgJjpob3ZlciB7XG4gICAgICAgICAgICAgICAgICAgIGNvbG9yOiBjb2xvcihwcmltYXJ5KTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICAmOm5vdCg6bGFzdC1jaGlsZCkge1xuICAgICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IG9mZnNldChzbWFsbCk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG4gICAgQGluY2x1ZGUgbWVkaWEoJzw9dGFibGV0Jykge1xuICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgIH1cbn1cbiIsIi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBTaW5nbGUgbmF2IHdyYXBwZXJcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4uYy1zaW5nbGUtbmF2LXdyYXBwZXIge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcblxuICAgIHdpZHRoOiAkc2l6ZS1zaW5nbGUtbmF2LXdpZHRoO1xuICAgIGhlaWdodDogYXV0bztcblxuICAgIHRvcDogMDtcbiAgICByaWdodDogMDtcblxuICAgIHotaW5kZXg6ICR6LWluZGV4LXBvc3Q7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuXG4gICAgdHJhbnNpdGlvbjogbWFyZ2luIC41cyBlYXNlLW91dDtcblxuICAgICYuaXMtYWN0aXZlIHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICB9XG4gICAgQGluY2x1ZGUgbWVkaWEoJzw9dGFibGV0Jykge1xuICAgICAgICBwb3NpdGlvbjogZml4ZWQ7XG4gICAgICAgIHRvcDogMDtcbiAgICAgICAgbGVmdDogLSRzaXplLXNpZGUtcGFuZWwtd2lkdGg7XG4gICAgICAgIG92ZXJmbG93OiBoaWRkZW47XG5cbiAgICAgICAgaGVpZ2h0OiAxMDB2aDtcbiAgICAgICAgd2lkdGg6ICRzaXplLXNpZGUtcGFuZWwtd2lkdGg7XG4gICAgICAgIG1heC13aWR0aDogNzV2dztcblxuICAgICAgICB6LWluZGV4OiAzMDA7XG4gICAgfVxuICAgICYuaXMtb3BlbiB7XG4gICAgICAgIHRyYW5zaXRpb246ICR0cmFuc2l0aW9uLXNsb3c7XG4gICAgICAgIEBpbmNsdWRlIG1lZGlhKCc8PXRhYmxldCcpIHtcbiAgICAgICAgICAgIGxlZnQ6IDA7XG4gICAgICAgIH1cbiAgICB9XG59XG4iLCIvKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgU2luZ2xlIHBvc3RcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4uYy1zaW5nbGUtcG9zdCB7XG4gICAgZm9udC1zaXplOiBmb250LXNpemUocG9zdCk7XG5cbiAgICBwYWRkaW5nOiBvZmZzZXQoaHVnZVBsdXMpO1xuXG4gICAgbWFyZ2luOiAwO1xuICAgIG1hcmdpbi10b3A6IDA7XG4gICAgbWFyZ2luLWJvdHRvbTogNHB4O1xuXG4gICAgd2lkdGg6IDEwMCU7XG5cbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiBjb2xvcih3aGl0ZSk7XG4gICAgYm94LXNoYWRvdzogJGJveC1zaGFkb3ctbGFyZ2U7XG5cbiAgICBAaW5jbHVkZSBtZWRpYShcIjw9dGFibGV0XCIpIHtcbiAgICAgICAgcGFkZGluZzogb2Zmc2V0KGRlZmF1bHRQbHVzKTtcblxuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICB9XG4gICAgLy8gJi0tbmF2LWFjdGl2ZSB7XG4gICAgLy8gICAgIHdpZHRoOiBjYWxjKDEwMCUgLSAjeyRzaXplLXNpbmdsZS1uYXYtd2lkdGh9IC0gI3tvZmZzZXQobGFyZ2UpfSk7XG4gICAgLy8gfVxuICAgICZfX2hlYWRlciB7XG4gICAgICAgIHBhZGRpbmc6IG9mZnNldChodWdlKSAwO1xuICAgICAgICBib3JkZXItdG9wOiAxcHggc29saWQgY29sb3IocHJpbWFyeSk7XG4gICAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCBjb2xvcihwcmltYXJ5KTtcblxuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuXG4gICAgICAgIEBpbmNsdWRlIG1lZGlhKFwiPD10YWJsZXRcIikge1xuICAgICAgICAgICAgcGFkZGluZzogb2Zmc2V0KGRlZmF1bHRQbHVzKSAwO1xuICAgICAgICAgICAgZm9udC1zaXplOiBmb250LXNpemUobWFpbik7XG4gICAgICAgIH1cbiAgICB9XG4gICAgJl9fYXZhdGFyIHtcbiAgICAgICAgd2lkdGg6IG9mZnNldChkZWZhdWx0KSAqIDQ7XG4gICAgICAgIGhlaWdodDogb2Zmc2V0KGRlZmF1bHQpICogNDtcblxuICAgICAgICBtYXJnaW4tcmlnaHQ6IG9mZnNldChkZWZhdWx0KSAqIDI7XG5cbiAgICAgICAgYm9yZGVyLXJhZGl1czogNTAlO1xuXG4gICAgICAgIGJhY2tncm91bmQtc2l6ZTogY292ZXI7XG4gICAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IDUwJSA1MCU7XG5cbiAgICAgICAgdHJhbnNpdGlvbjogJHRyYW5zaXRpb24tZGVmYXVsdDtcblxuICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICAgIGJveC1zaGFkb3c6ICRib3gtc2hhZG93LWRlZmF1bHQ7XG4gICAgICAgIH1cbiAgICB9XG4gICAgJl9fYXV0aG9yIHtcbiAgICAgICAgbWFyZ2luLXRvcDogMDtcbiAgICB9XG4gICAgJl9fY2F0ZWdvcmllcyB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgfVxuICAgICZfX2NvbnRlbnQge1xuICAgICAgICAuYy1zaW5nbGUtcG9zdF9fY29udGVudCB7XG4gICAgICAgICAgICB0ZXh0LWFsaWduOiByaWdodDtcbiAgICAgICAgfVxuXG4gICAgICAgIHBhZGRpbmctdG9wOiBvZmZzZXQoZGVmYXVsdFBsdXMpO1xuXG4gICAgICAgIHAsXG4gICAgICAgIHVsLFxuICAgICAgICBvbCB7XG4gICAgICAgICAgICBsaW5lLWhlaWdodDogMS43NTtcbiAgICAgICAgICAgIGNvbG9yOiBjb2xvcihkZ3JleSk7XG5cbiAgICAgICAgICAgICY6Zmlyc3QtY2hpbGQge1xuICAgICAgICAgICAgICAgIG1hcmdpbi10b3A6IDA7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBzdHJvbmcge1xuICAgICAgICAgICAgICAgIGNvbG9yOiBjb2xvcihhbG1vc3RCbGFjayk7XG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiBmb250LXNpemUocG9zdC1sYXJnZSk7XG5cbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBtZWRpYShcIjw9dGFibGV0XCIpIHtcbiAgICAgICAgICAgICAgICAgICAgZm9udC1zaXplOiBmb250LXNpemUocG9zdCk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgaW1nIHtcbiAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgICAgICBoZWlnaHQ6IGF1dG87XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgdGFibGUge1xuICAgICAgICAgICAgZm9udC1zaXplOiAwLjhlbTtcbiAgICAgICAgICAgIGJvcmRlci1zcGFjaW5nOiAwO1xuICAgICAgICAgICAgYm9yZGVyLWNvbGxhcHNlOiBpbmhlcml0O1xuICAgICAgICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICNmM2Y0ZjU7XG4gICAgICAgICAgICB0YWJsZS1sYXlvdXQ6IGZpeGVkO1xuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICB0ZCB7XG4gICAgICAgICAgICAgICAgcGFkZGluZzogKG9mZnNldChzbWFsbCkgLyAyKSBvZmZzZXQoc21hbGwpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIHVsLFxuICAgICAgICBvbCB7XG4gICAgICAgICAgICBsaSB7XG4gICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogKG9mZnNldChzbWFsbCkgLyAyKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICBmaWd1cmUge1xuICAgICAgICAgICAgbWFyZ2luOiB7XG4gICAgICAgICAgICAgICAgdG9wOiBvZmZzZXQobGFyZ2VQbHVzKTtcbiAgICAgICAgICAgICAgICBsZWZ0OiAwO1xuICAgICAgICAgICAgICAgIHJpZ2h0OiAwO1xuICAgICAgICAgICAgICAgIGJvdHRvbTogb2Zmc2V0KGh1Z2UpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgd2lkdGg6IDEwMCUgIWltcG9ydGFudDtcblxuICAgICAgICAgICAgaW1nIHtcbiAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgICAgICBoZWlnaHQ6IGF1dG87XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBmaWdjYXB0aW9uIHtcbiAgICAgICAgICAgICAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAgICAgICAgICAgICAgIG1hcmdpbi10b3A6IG9mZnNldChzbWFsbCk7XG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiAxZW07XG4gICAgICAgICAgICAgICAgY29sb3I6IGNvbG9yKGFsbW9zdEJsYWNrKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICBoMSxcbiAgICAgICAgaDIsXG4gICAgICAgIGgzLFxuICAgICAgICBoNCxcbiAgICAgICAgaDUsXG4gICAgICAgIGg2IHtcbiAgICAgICAgICAgIGNvbG9yOiBjb2xvcihwcmltYXJ5KTtcbiAgICAgICAgICAgIHBhZGRpbmctdG9wOiBvZmZzZXQoaHVnZSk7XG4gICAgICAgIH1cbiAgICAgICAgJi0tb2Zmc2V0IHtcbiAgICAgICAgICAgIHBhZGRpbmctYm90dG9tOiBvZmZzZXQoaHVnZSk7XG4gICAgICAgIH1cbiAgICAgICAgYSB7XG4gICAgICAgICAgICBjb2xvcjogIzAwOTY4ODtcblxuICAgICAgICAgICAgJjphY3RpdmUsXG4gICAgICAgICAgICAmOmZvY3VzLFxuICAgICAgICAgICAgJjp2aXNpdGVkIHtcbiAgICAgICAgICAgICAgICBjb2xvcjogIzAwOTY4ODtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgICY6aG92ZXIge1xuICAgICAgICAgICAgICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgLndwLWJsb2NrLWdhbGxlcnkge1xuICAgICAgICAgICAgQGluY2x1ZGUgbWVkaWEoXCI8PW1vYmlsZVwiKSB7XG4gICAgICAgICAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgICAgICAgICAgICAuYmxvY2tzLWdhbGxlcnktaXRlbSB7XG4gICAgICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbiAgICAmX19jb21tZW50cyB7XG4gICAgICAgIGJvcmRlci10b3A6IDFweCBzb2xpZCBjb2xvcihwcmltYXJ5KTtcbiAgICAgICAgcGFkZGluZy10b3A6IG9mZnNldChodWdlKTtcblxuICAgICAgICAuYy1zaW5nbGUtcG9zdF9fdGl0bGUge1xuICAgICAgICAgICAgbWFyZ2luLXRvcDogMDtcbiAgICAgICAgfVxuICAgIH1cbiAgICAmX19yZWxhdGVkLXBvc3RzLXRpdGxlIHtcbiAgICAgICAgbWFyZ2luLXRvcDogb2Zmc2V0KGh1Z2UpO1xuICAgIH1cbiAgICAmX19yZWxhdGVkLXBvc3RzIHtcbiAgICAgICAgbGlzdC1zdHlsZTogbm9uZTtcbiAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICBwYWRkaW5nOiAwO1xuXG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBzdHJldGNoO1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG5cbiAgICAgICAgbWFyZ2luLXRvcDogMjBweDtcblxuICAgICAgICBAaW5jbHVkZSBtZWRpYShcIjw9dGFibGV0XCIpIHtcbiAgICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICAgIH1cblxuICAgICAgICAuYy1yZWxhdGVkLXBvc3Qge1xuICAgICAgICAgICAgd2lkdGg6IGNhbGMoKDEwMCUgLyAzKSAtIDE1cHgpO1xuXG4gICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0O1xuICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0O1xuXG4gICAgICAgICAgICBAaW5jbHVkZSBtZWRpYShcIjw9dGFibGV0XCIpIHtcbiAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTtcblxuICAgICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDM1cHg7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICZfX3dyYXBwZXIge1xuICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgICAgIGhlaWdodDogYXV0bztcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgICZfX2ltYWdlIHtcbiAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgICAgICBoZWlnaHQ6IDIwMHB4O1xuXG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1zaXplOiBjb3ZlcjtcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiA1MCUgNTAlO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgJl9fdGl0bGUge1xuICAgICAgICAgICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgICAgICAgICBwYWRkaW5nOiAwO1xuXG4gICAgICAgICAgICAgICAgbWFyZ2luOiAyMHB4IDAgMzBweDtcblxuICAgICAgICAgICAgICAgIEBpbmNsdWRlIG1lZGlhKFwiPD10YWJsZXRcIikge1xuICAgICAgICAgICAgICAgICAgICBtYXJnaW46IDE1cHggMDtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICAmX19saW5rIHtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG59XG4iLCIvKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgU2luZ2xlIHBvc3Qgd3JhcHBlclxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi5jLXNpbmdsZS1wb3N0LXdyYXBwZXIge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogYXV0bztcblxuICAgIHotaW5kZXg6ICR6LWluZGV4LXBvc3Q7XG5cbiAgICB0b3A6IC0je29mZnNldCh4bCl9O1xuXG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xufVxuIiwiLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIFNsaWRlXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLmMtc2xpZGUge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcblxuICAgIGhlaWdodDogJHNpemUtaG9tZS1zbGlkZXItaGVpZ2h0O1xuXG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gICAgJl9fZGF0ZSxcbiAgICAmX190aXRsZSxcbiAgICAmX19kZXNjLFxuICAgICZfX2N0YSxcbiAgICAmX190YWdzIHtcbiAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICBwYWRkaW5nOiAwO1xuICAgICAgICBtYXgtd2lkdGg6ICRzaXplLWhvbWUtc2xpZGVyLWNvbnRlbnQtbWF4LXdpZHRoO1xuXG4gICAgICAgIEBpbmNsdWRlIG1lZGlhKCc8PXRhYmxldCcpIHtcbiAgICAgICAgICAgIG1heC13aWR0aDogMTAwJTtcbiAgICAgICAgfVxuICAgIH1cbiAgICAmX19kYXRlIHtcbiAgICAgICAgcGFkZGluZy1ib3R0b206IG9mZnNldChkZWZhdWx0KTtcblxuICAgICAgICBjb2xvcjogY29sb3Iod2hpdGUpO1xuICAgICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgICAgICBmb250LXdlaWdodDogYm9sZDtcbiAgICAgICAgZm9udC1zaXplOiBmb250LXNpemUobWFpblBsdXMpO1xuXG4gICAgICAgIEBpbmNsdWRlIG1lZGlhKCc8PXRhYmxldCcpIHtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogZm9udC1zaXplKHNtYWxsKTtcbiAgICAgICAgfVxuICAgIH1cbiAgICAmX190aXRsZSB7XG4gICAgICAgIHBhZGRpbmctYm90dG9tOiBvZmZzZXQobGFyZ2UpO1xuXG4gICAgICAgIGNvbG9yOiBjb2xvcih3aGl0ZSk7XG4gICAgICAgIGZvbnQtc2l6ZTogZm9udC1zaXplKGgxKTtcblxuICAgICAgICBAaW5jbHVkZSBtZWRpYSgnPD1tb2JpbGUnKSB7XG4gICAgICAgICAgICBwYWRkaW5nLWJvdHRvbTogb2Zmc2V0KGh1Z2UpO1xuICAgICAgICAgICAgZm9udC1zaXplOiBmb250LXNpemUoaDEtbSk7XG4gICAgICAgIH1cbiAgICB9XG4gICAgJl9fZGVzYyB7XG4gICAgICAgIHBhZGRpbmctYm90dG9tOiBvZmZzZXQoaHVnZSk7XG5cbiAgICAgICAgY29sb3I6IGNvbG9yKHdoaXRlKTtcbiAgICAgICAgZm9udC1zaXplOiBmb250LXNpemUoaDQpO1xuICAgICAgICBsaW5lLWhlaWdodDogMS41O1xuXG4gICAgICAgIEBpbmNsdWRlIG1lZGlhKCc8PW1vYmlsZScpIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgIH1cbiAgICB9XG4gICAgJl9fY3RhIHtcbiAgICAgICAgcGFkZGluZy1ib3R0b206IG9mZnNldChodWdlKTtcbiAgICB9XG4gICAgJl9fdGFncyB7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDtcbiAgICAgICAgZmxleC13cmFwOiB3cmFwO1xuXG4gICAgICAgIGxpc3Qtc3R5bGU6IG5vbmU7XG4gICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgcGFkZGluZzogMDtcblxuICAgICAgICAmX19lbGVtIHtcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IG9mZnNldChkZWZhdWx0KTtcblxuICAgICAgICAgICAgLmMtbGluayB7XG4gICAgICAgICAgICAgICAgcGFkZGluZzogb2Zmc2V0KHNtYWxsZXIpIG9mZnNldChzbWFsbCk7XG4gICAgICAgICAgICAgICAgQGV4dGVuZCAuYy1idG4tLXNtYWxsO1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgLjcpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgJjpub3QoOmxhc3QtY2hpbGQpIHtcbiAgICAgICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IG9mZnNldChkZWZhdWx0KTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIEBpbmNsdWRlIG1lZGlhKCc8PW1vYmlsZScpIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgIH1cbiAgICB9XG4gICAgLmwtaW5uZXIge1xuICAgICAgICB6LWluZGV4OiAkei1pbmRleC1zbGlkZS1jb250ZW50O1xuICAgIH1cbiAgICAmX19vdmVybGF5IHtcbiAgICAgICAgei1pbmRleDogJHotaW5kZXgtc2xpZGUtY29udGVudCAtIDE7XG5cbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICB0b3A6IDA7XG4gICAgICAgIGxlZnQ6IDA7XG5cbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIGhlaWdodDogMTAwJTtcblxuICAgICAgICBiYWNrZ3JvdW5kOiAtbW96LWxpbmVhci1ncmFkaWVudChsZWZ0LCByZ2JhKDAsMCwwLCRzbGlkZS1vdmVybGF5LW9wYWNpdHktc3RhcnQpIDAlLCByZ2JhKDAsMCwwLDApIDEwMCUpO1xuICAgICAgICBiYWNrZ3JvdW5kOiAtd2Via2l0LWxpbmVhci1ncmFkaWVudChsZWZ0LCByZ2JhKDAsMCwwLCRzbGlkZS1vdmVybGF5LW9wYWNpdHktc3RhcnQpIDAlLHJnYmEoMCwwLDAsMCkgMTAwJSk7XG4gICAgICAgIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCh0byByaWdodCwgcmdiYSgwLDAsMCwkc2xpZGUtb3ZlcmxheS1vcGFjaXR5LXN0YXJ0KSAwJSxyZ2JhKDAsMCwwLDApIDEwMCUpO1xuICAgICAgICBmaWx0ZXI6IHByb2dpZDpEWEltYWdlVHJhbnNmb3JtLk1pY3Jvc29mdC5ncmFkaWVudCggc3RhcnRDb2xvcnN0cj0nI2ZmMDAwMDAwJywgZW5kQ29sb3JzdHI9JyMwMDAwMDAwMCcsR3JhZGllbnRUeXBlPTEgKTtcbiAgICB9XG59XG4iLCIvKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgU29jaWFsIG5hdmlnYXRpb24gbWVudVxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi5jLXNvY2lhbC1uYXYge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcblxuICAgIHBhZGRpbmc6IDA7XG4gICAgbWFyZ2luOiAwO1xuXG4gICAgbGlzdC1zdHlsZTogbm9uZTtcblxuICAgICZfX2l0ZW0ge1xuICAgICAgICAuYy1saW5rIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgYm94LXNpemluZzogY29udGVudC1ib3g7XG4gICAgICAgICAgICBwYWRkaW5nOiBvZmZzZXQoc21hbGwpO1xuICAgICAgICAgICAgY29sb3I6IGJsYWNrO1xuXG4gICAgICAgICAgICAudWktaWNvbiB7XG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiAxLjc1ZW07XG4gICAgICAgICAgICAgICAgZmlsbDogY3VycmVudENvbG9yO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgICAgICAgY29sb3I6IGNvbG9yKHByaW1hcnkpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgICY6bm90KDpsYXN0LWNoaWxkKSB7XG4gICAgICAgICAgICBAaW5jbHVkZSBtZWRpYSgnPD1tb2JpbGUnKSB7XG4gICAgICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiBvZmZzZXQoc21hbGwpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgJi0tZmIge1xuXG4gICAgICAgICAgICAuYy1saW5rIHtcblxuICAgICAgICAgICAgICAgIC5jLWxhYmVsIHtcblxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAmLS1pZyB7XG5cbiAgICAgICAgICAgIC5jLWxpbmsge1xuXG4gICAgICAgICAgICAgICAgLmMtbGFiZWwge1xuXG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgICYtLXR3IHtcblxuICAgICAgICAgICAgLmMtbGluayB7XG5cbiAgICAgICAgICAgICAgICAuYy1sYWJlbCB7XG5cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG59XG5cbi5jLWZvb3Rlci13cmFwcGVyIHtcbiAgICAuYy1zb2NpYWwtbmF2IHtcbiAgICAgICAgJl9faXRlbSB7XG4gICAgICAgICAgICAmOmZpcnN0LWNoaWxkIHtcbiAgICAgICAgICAgICAgICBhIHtcbiAgICAgICAgICAgICAgICAgICAgcGFkZGluZy1sZWZ0OiAwO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbn1cbiIsIi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBTdWJtZW51XG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLmMtc3VibWVudSB7XG5cbn1cbiIsIi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBUYWdcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4uYy10YWcge1xuXG59XG4iLCIvKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgVXRpbGl0aWVzXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4udS1oaWRkZW4tdC1kbiB7XG4gICAgQGluY2x1ZGUgbWVkaWEoJzw9dGFibGV0Jykge1xuICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgIH1cbn1cblxuLy8gLnUtaGlkZGVuLXQtdXAge1xuLy8gICAgIEBpbmNsdWRlIG1lZGlhKCc+dGFibGV0Jykge1xuLy8gICAgICAgICBkaXNwbGF5OiBub25lO1xuLy8gICAgIH1cbi8vIH1cblxuaW1nIHtcbiAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiBhdXRvO1xufVxuIl19 */
