/*! Flickity v3.0.0
https://flickity.metafizzy.co
---------------------------------------------- */
.flickity-enabled{position:relative}.flickity-enabled:focus{outline:0}.flickity-viewport{overflow:hidden;position:relative;height:100%;touch-action:pan-y}.flickity-slider{position:absolute;width:100%;height:100%;left:0}.flickity-rtl .flickity-slider{left:unset;right:0}.flickity-enabled.is-draggable{-webkit-tap-highlight-color:transparent;user-select:none}.flickity-enabled.is-draggable .flickity-viewport{cursor:move;cursor:grab}.flickity-enabled.is-draggable .flickity-viewport.is-pointer-down{cursor:grabbing}.flickity-cell{position:absolute;left:0}.flickity-rtl .flickity-cell{left:unset;right:0}.flickity-button{position:absolute;background:hsl(0 0% 100% / 75%);border:none;color:#333}.flickity-button:hover{background:#fff;cursor:pointer}.flickity-button:focus{outline:0;box-shadow:0 0 0 5px #19f}.flickity-button:active{opacity:.6}.flickity-button:disabled{opacity:.3;cursor:auto;pointer-events:none}.flickity-button-icon{fill:currentColor}.flickity-prev-next-button{top:50%;width:44px;height:44px;border-radius:50%;transform:translateY(-50%)}.flickity-prev-next-button.previous{left:10px}.flickity-prev-next-button.next{right:10px}.flickity-rtl .flickity-prev-next-button.previous{left:auto;right:10px}.flickity-rtl .flickity-prev-next-button.next{right:auto;left:10px}.flickity-prev-next-button .flickity-button-icon{position:absolute;left:20%;top:20%;width:60%;height:60%}.flickity-page-dots{position:absolute;width:100%;bottom:-25px;text-align:center;display:flex;justify-content:center;flex-wrap:wrap}.flickity-rtl .flickity-page-dots{direction:rtl}.flickity-page-dot{display:block;width:10px;height:10px;padding:0;margin:0 8px;background:hsl(0 0% 20% / 25%);border-radius:50%;cursor:pointer;appearance:none;border:none;text-indent:-9999px;overflow:hidden}.flickity-rtl .flickity-page-dot{text-indent:9999px}.flickity-page-dot:focus{outline:0;box-shadow:0 0 0 5px #19f}.flickity-page-dot.is-selected{background:hsl(0 0% 20% / 100%)}
/*! 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.
 */
html {
  line-height: 1.72; /* 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 {
  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;
          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 {
  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] {
  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;
}

html {
  box-sizing: border-box;
  font-size: 100%;
}

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

/*********************
COLORS
*********************/
/*********************
Spacing
*********************/
/*********************
Breakpoints
*********************/
@font-face {
  font-family: "lux-tdm-iconfont";
  src: url(fonts/icomoon.eot);
  src: url(fonts/icomoon.eot#iefix) format("embedded-opentype"), url(fonts/icomoon.woff2) format("woff2"), url(fonts/icomoon.ttf) format("truetype"), url(fonts/icomoon.woff) format("woff"), url(svg/icomoon.svg#icomoon) format("svg");
  font-weight: normal;
  font-style: normal;
  font-display: block;
}
[class^=icon-], [class*=" icon-"] {
  /* use !important to prevent issues with browser extensions that change fonts */
  font-family: "lux-tdm-iconfont" !important;
  speak: none;
  font-style: normal;
  font-weight: normal;
  font-feature-settings: normal;
  font-variant: normal;
  text-transform: none;
  line-height: 1;
  /* Better Font Rendering =========== */
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

.icon-arrow-right:before {
  content: "\e900";
}

.icon-arrow-up:before {
  content: "\e901";
}

.icon-mail:before {
  content: "\e902";
}

.icon-phone:before {
  content: "\e903";
}

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

/**
Cabin fontFace
 */
@font-face {
  font-family: "Cabin-Bold";
  font-style: normal;
  src: url(fonts/Cabin-Bold.ttf) format("truetype");
}
@font-face {
  font-family: "Cabin-BoldItalic";
  font-style: normal;
  src: url(fonts/Cabin-BoldItalic.ttf) format("truetype");
}
@font-face {
  font-family: "Cabin-Italic";
  font-style: normal;
  src: url(fonts/Cabin-Italic.ttf) format("truetype");
}
@font-face {
  font-family: "Cabin-Medium";
  font-style: normal;
  src: url(fonts/Cabin-Medium.ttf) format("truetype");
}
@font-face {
  font-family: "Cabin-MediumItalic";
  font-style: normal;
  src: url(fonts/Cabin-MediumItalic.ttf) format("truetype");
}
@font-face {
  font-family: "Cabin-Regular";
  font-style: normal;
  src: url(fonts/Cabin-Regular.ttf) format("truetype");
}
@font-face {
  font-family: "Cabin-SemiBold";
  font-style: normal;
  src: url(fonts/Cabin-SemiBold.ttf) format("truetype");
}
@font-face {
  font-family: "Cabin-SemiBoldItalic";
  font-style: normal;
  src: url(fonts/Cabin-SemiBoldItalic.ttf) format("truetype");
}
/**
Playfair font face
 */
@font-face {
  font-family: "Playfair";
  font-style: normal;
  src: url(fonts/PlayfairDisplay-VariableFont_wght.ttf) format("truetype");
}
@font-face {
  font-family: "Playfair-italic";
  font-style: normal;
  src: url(fonts/PlayfairDisplay-Italic-VariableFont_wght.ttf) format("truetype");
}
main {
  overflow: hidden;
  padding-top: 110px;
}

html {
  overflow-x: hidden;
}

body {
  overflow-x: hidden;
  font-family: "Cabin-Regular", sans-serif;
  font-weight: 400;
  font-size: 18px;
}
@media print, screen and (max-width: 44.99875em) {
  body {
    font-size: 16px;
  }
}
body.overlay-hidden {
  height: 100vh;
  min-height: 700px;
  overflow: hidden;
}

h1,
h2,
h3,
h4,
h5,
h6 {
  font-family: "Playfair", sans-serif;
  font-weight: 500;
}

h2 {
  font-size: 44px;
  line-height: 52px;
}
@media print, screen and (max-width: 44.99875em) {
  h2 {
    font-size: 38px;
    line-height: 46px;
    -webkit-font-smoothing: antialiased;
  }
}
h2 {
  color: #361919;
  padding: 25px 0 15px 0;
  margin: 0 auto;
}

ul {
  list-style: none;
  padding-left: 0;
}

a {
  text-decoration: none;
}

button {
  background-color: transparent;
  border: none;
}

p {
  color: #4F4D48;
}

strong {
  font-family: "Cabin-Bold", sans-serif;
  font-weight: 700;
}

.scroll-to-top {
  display: flex;
  align-items: center;
  justify-content: center;
  padding-top: 50px;
}
.scroll-to-top button {
  font-size: 60px;
  outline: none;
  cursor: pointer;
}
@media print, screen and (min-width: 30em) {
  .scroll-to-top button:focus {
    outline: 1px solid rgba(255, 255, 255, 0.2);
  }
}
@media screen and (min-width: 75em) {
  .scroll-to-top {
    position: absolute;
    bottom: 0;
    right: 130px;
  }
  .scroll-to-top span {
    font-size: 109px;
  }
}

/* Magnific Popup CSS */
.mfp-bg {
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: 1042;
  overflow: hidden;
  position: fixed;
  background: #0b0b0b;
  opacity: 0.8;
}

.mfp-wrap {
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: 1043;
  position: fixed;
  outline: none !important;
  -webkit-backface-visibility: hidden;
}

.mfp-container {
  text-align: center;
  position: absolute;
  width: 100%;
  height: 100%;
  left: 0;
  top: 0;
  padding: 0 8px;
  box-sizing: border-box;
}

.mfp-container:before {
  content: "";
  display: inline-block;
  height: 100%;
  vertical-align: middle;
}

.mfp-align-top .mfp-container:before {
  display: none;
}

.mfp-content {
  position: relative;
  display: inline-block;
  vertical-align: middle;
  margin: 0 auto;
  text-align: left;
  z-index: 1045;
}
.mfp-content figcaption {
  display: none;
}

.mfp-inline-holder .mfp-content,
.mfp-ajax-holder .mfp-content {
  width: 100%;
  cursor: auto;
}

.mfp-ajax-cur {
  cursor: progress;
}

.mfp-zoom-out-cur, .mfp-zoom-out-cur .mfp-image-holder .mfp-close {
  cursor: zoom-out;
}

.mfp-zoom {
  cursor: pointer;
  cursor: zoom-in;
}

.mfp-auto-cursor .mfp-content {
  cursor: auto;
}

.mfp-close,
.mfp-arrow,
.mfp-preloader,
.mfp-counter {
  -webkit-user-select: none;
  -moz-user-select: none;
  user-select: none;
}

.mfp-loading.mfp-figure {
  display: none;
}

.mfp-hide {
  display: none !important;
}

.mfp-preloader {
  color: #CCC;
  position: absolute;
  top: 50%;
  width: auto;
  text-align: center;
  margin-top: -0.8em;
  left: 8px;
  right: 8px;
  z-index: 1044;
}

.mfp-preloader a {
  color: #CCC;
}

.mfp-preloader a:hover {
  color: #FFF;
}

.mfp-s-ready .mfp-preloader {
  display: none;
}

.mfp-s-error .mfp-content {
  display: none;
}

button.mfp-close,
button.mfp-arrow {
  overflow: visible;
  cursor: pointer;
  background: transparent;
  border: 0;
  -webkit-appearance: none;
  display: block;
  outline: none;
  padding: 0;
  z-index: 1046;
  box-shadow: none;
  touch-action: manipulation;
}

button::-moz-focus-inner {
  padding: 0;
  border: 0;
}

.mfp-close {
  width: 44px;
  height: 44px;
  line-height: 44px;
  position: absolute;
  right: 0;
  top: 0;
  text-decoration: none;
  text-align: center;
  opacity: 0.65;
  padding: 0 0 18px 10px;
  color: #FFF;
  font-style: normal;
  font-size: 28px;
  font-family: Arial, Baskerville, monospace;
}

.mfp-close:hover,
.mfp-close:focus {
  opacity: 1;
}

.mfp-close:active {
  top: 1px;
}

.mfp-close-btn-in .mfp-close {
  color: #333;
}

.mfp-image-holder .mfp-close,
.mfp-iframe-holder .mfp-close {
  color: #FFF;
  right: -6px;
  text-align: right;
  padding-right: 6px;
  width: 100%;
}

.mfp-counter {
  position: absolute;
  top: 0;
  right: 0;
  color: #CCC;
  font-size: 12px;
  line-height: 18px;
  white-space: nowrap;
}

.mfp-arrow {
  position: absolute;
  opacity: 0.65;
  margin: 0;
  top: 50%;
  margin-top: -55px;
  padding: 0;
  width: 90px;
  height: 110px;
  -webkit-tap-highlight-color: transparent;
}

.mfp-arrow:active {
  margin-top: -54px;
}

.mfp-arrow:hover,
.mfp-arrow:focus {
  opacity: 1;
}

.mfp-arrow:before,
.mfp-arrow:after {
  content: "";
  display: block;
  width: 0;
  height: 0;
  position: absolute;
  left: 0;
  top: 0;
  margin-top: 35px;
  margin-left: 35px;
  border: medium inset transparent;
}

.mfp-arrow:after {
  border-top-width: 13px;
  border-bottom-width: 13px;
  top: 8px;
}

.mfp-arrow:before {
  border-top-width: 21px;
  border-bottom-width: 21px;
  opacity: 0.7;
}

.mfp-arrow-left {
  left: 0;
}

.mfp-arrow-left:after {
  border-right: 17px solid #FFF;
  margin-left: 31px;
}

.mfp-arrow-left:before {
  margin-left: 25px;
  border-right: 27px solid #3F3F3F;
}

.mfp-arrow-right {
  right: 0;
}

.mfp-arrow-right:after {
  border-left: 17px solid #FFF;
  margin-left: 39px;
}

.mfp-arrow-right:before {
  border-left: 27px solid #3F3F3F;
}

.mfp-iframe-holder {
  padding-top: 40px;
  padding-bottom: 40px;
}

.mfp-iframe-holder .mfp-content {
  line-height: 0;
  width: 100%;
  max-width: 900px;
}

.mfp-iframe-holder .mfp-close {
  top: -40px;
}

.mfp-iframe-scaler {
  width: 100%;
  height: 0;
  overflow: hidden;
  padding-top: 56.25%;
}

.mfp-iframe-scaler iframe {
  position: absolute;
  display: block;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  box-shadow: 0 0 8px rgba(0, 0, 0, 0.6);
  background: #000;
}

/* Main image in popup */
img.mfp-img {
  width: auto;
  max-width: 100%;
  height: auto;
  display: block;
  line-height: 0;
  box-sizing: border-box;
  padding: 40px 0 40px;
  margin: 0 auto;
}

/* The shadow behind the image */
.mfp-figure {
  line-height: 0;
}

.mfp-figure:after {
  content: "";
  position: absolute;
  left: 0;
  top: 40px;
  bottom: 40px;
  display: block;
  right: 0;
  width: auto;
  height: auto;
  z-index: -1;
  box-shadow: 0 0 8px rgba(0, 0, 0, 0.6);
  background: #444;
}

.mfp-figure small {
  color: #BDBDBD;
  display: block;
  font-size: 12px;
  line-height: 14px;
}

.mfp-figure figure {
  margin: 0;
}

.mfp-bottom-bar {
  margin-top: -36px;
  position: absolute;
  top: 100%;
  left: 0;
  width: 100%;
  cursor: auto;
}

.mfp-title {
  text-align: left;
  line-height: 18px;
  color: #F3F3F3;
  word-wrap: break-word;
  padding-right: 36px;
}

.mfp-image-holder .mfp-content {
  max-width: 100%;
}

.mfp-gallery .mfp-image-holder .mfp-figure {
  cursor: pointer;
}

@media screen and (max-width: 800px) and (orientation: landscape), screen and (max-height: 300px) {
  /**
       * Remove all paddings around the image on small screen
       */
  .mfp-img-mobile .mfp-image-holder {
    padding-left: 0;
    padding-right: 0;
  }
  .mfp-img-mobile img.mfp-img {
    padding: 0;
  }
  .mfp-img-mobile .mfp-figure:after {
    top: 0;
    bottom: 0;
  }
  .mfp-img-mobile .mfp-figure small {
    display: inline;
    margin-left: 5px;
  }
  .mfp-img-mobile .mfp-bottom-bar {
    background: rgba(0, 0, 0, 0.6);
    bottom: 0;
    margin: 0;
    top: auto;
    padding: 3px 5px;
    position: fixed;
    box-sizing: border-box;
  }
  .mfp-img-mobile .mfp-bottom-bar:empty {
    padding: 0;
  }
  .mfp-img-mobile .mfp-counter {
    right: 5px;
    top: 3px;
  }
  .mfp-img-mobile .mfp-close {
    top: 0;
    right: 0;
    width: 35px;
    height: 35px;
    line-height: 35px;
    background: rgba(0, 0, 0, 0.6);
    position: fixed;
    text-align: center;
    padding: 0;
  }
}
@media all and (max-width: 900px) {
  .mfp-arrow {
    transform: scale(0.75);
  }
  .mfp-arrow-left {
    transform-origin: 0;
  }
  .mfp-arrow-right {
    transform-origin: 100%;
  }
  .mfp-container {
    padding-left: 6px;
    padding-right: 6px;
  }
}
.button:hover {
  cursor: pointer;
}

.format-text ul {
  list-style: disc;
  padding-left: 20px;
}
.format-text a {
  text-decoration: underline;
  word-break: break-word;
}

.a11y__vo-only {
  clip-path: inset(100%);
  clip: rect(0 0 0 0);
  border: 0;
  height: 1px;
  margin: -1px;
  overflow: hidden;
  padding: 0;
  position: absolute;
  white-space: nowrap;
  width: 1px;
}

.a11y__skip-content {
  background-color: white;
  color: #000;
  padding: 15px 30px;
  position: absolute;
  z-index: 999;
}
.a11y__skip-content:not(:focus):not(:active) {
  clip-path: inset(100%);
  clip: rect(0 0 0 0);
  border: 0;
  height: 1px;
  margin: -1px;
  overflow: hidden;
  padding: 0;
  position: absolute;
  white-space: nowrap;
  width: 1px;
}

.flickity-cell {
  width: 100%;
}
.flickity-cell img {
  width: 100%;
  height: 433px;
  -o-object-fit: cover;
     object-fit: cover;
}

.flickity-viewport:after {
  content: "";
  position: absolute;
  display: block;
  height: 100%;
  width: 15%;
  top: 0;
  right: 0;
  max-width: 140px;
  pointer-events: none;
  z-index: 3;
  background: transparent linear-gradient(270deg, rgba(26, 75, 64, 0.61) 0%, rgba(26, 75, 64, 0) 80%) 0 0 no-repeat padding-box;
}

.flickity-page-dots {
  bottom: 31px;
}

.flickity-page-dot {
  width: 17px;
  height: 17px;
  min-width: 17px;
  min-height: 17px;
  border-radius: 50%;
  background: #fff;
}
.flickity-page-dot.is-selected {
  background: #361919;
}
.flickity-page-dot:focus {
  box-shadow: none;
}

.flickity-button {
  background: transparent;
  color: #EBF1F0;
  top: auto;
  transform: none;
  bottom: 22px;
  width: 55px;
  height: 32px;
  border-radius: 0;
  padding: 0;
  z-index: 4;
}
.flickity-button.next .flickity-button-icon {
  top: -4px;
}
.flickity-button .flickity-button-icon {
  width: 100%;
  height: 100%;
  top: 0;
  left: 0;
}
.flickity-button:hover, .flickity-button[focus-within], .flickity-button:focus {
  background: transparent;
  outline: none;
  box-shadow: none;
}
.flickity-button:hover, .flickity-button:focus-within, .flickity-button:focus {
  background: transparent;
  outline: none;
  box-shadow: none;
}

footer {
  background-color: #210505;
}

.footer .footer__inner {
  display: flex;
  flex-flow: row;
  justify-content: space-between;
  align-items: center;
  min-height: 110px;
}
.footer .footer__inner .header__logo img {
  -o-object-fit: fill;
     object-fit: fill;
  -o-object-position: center;
     object-position: center;
  font-family: "object-fit: fill, object-position: center";
  height: 120px;
  aspect-ratio: 160/100;
}
@media screen and (min-width: 98.125em) {
  .footer .footer__inner {
    padding-right: 12px;
  }
}

.footer__copyright {
  color: #fff;
  font-size: 16px;
  line-height: 19px;
}

.gform_wrapper .validation_message,
.gform_wrapper .validation_error {
  margin-top: -27px;
  font-size: 16px;
  color: #ca7777;
}

.gform_body ul {
  padding: 0;
  margin: 0;
}
.gform_body textarea, .gform_body input {
  width: 100%;
  margin-bottom: 25px;
  border: none;
  outline: none;
  color: #4F4D48;
  font-size: 22px;
  line-height: 26px;
  padding: 5px;
}
.gform_body textarea {
  font-size: 16px;
  line-height: 19px;
}
.gform_body input {
  height: 48px;
}
@media screen and (min-width: 75em) {
  .gform_body .gform_fields {
    display: flex;
    flex-flow: row wrap;
    justify-content: space-between;
  }
  .gform_body textarea {
    min-height: 250px;
  }
  .gform_body .gform_fields li:not(:first-child):not(:last-child) {
    width: calc(50% - 10px);
  }
  .gform_body .gform_fields li:first-child {
    width: 100%;
  }
  .gform_body .gform_fields li:first-child .ginput_complex {
    width: 100%;
    display: flex;
    flex-flow: row nowrap;
    flex-direction: row-reverse;
    justify-content: space-between;
  }
  .gform_body .gform_fields li:first-child .ginput_complex span {
    width: calc(50% - 10px);
  }
  .gform_body .gform_fields li:last-child {
    width: 100%;
  }
}

.has_first_name {
  display: flex;
  flex-flow: column-reverse;
}

.gfield_label_before_complex {
  display: none;
}

.gform_footer {
  margin-bottom: 25px;
}
.gform_footer button {
  background-color: #283d0f;
  padding: 15px;
  min-width: 372px;
  font-size: 16px;
  line-height: 19px;
}
@media print, screen and (max-width: 44.99875em) {
  .gform_footer button {
    width: 100%;
  }
}
@media screen and (min-width: 75em) {
  .gform_footer button {
    padding: 10px 15px;
  }
}

.header {
  position: fixed;
  top: 0;
  width: 100%;
  left: 0;
  background-color: #210505;
  z-index: 99;
  box-shadow: 0 2px 4px 0 rgba(0, 0, 0, 0.3);
}

.header__inner {
  display: flex;
  flex-flow: row wrap;
  justify-content: space-between;
  padding: 15px;
  align-items: center;
  position: relative;
  height: 110px;
}
@media screen and (min-width: 75em) {
  .header__inner {
    display: flex;
    flex-flow: row nowrap;
    align-items: flex-end;
    justify-content: space-between;
    padding-bottom: 25px;
  }
}

@media screen and (min-width: 98.125em) {
  .header .header__inner {
    padding-right: 0;
    padding-left: 0;
  }
}

.header__logo {
  z-index: 2;
}
.header__logo img {
  -o-object-fit: fill;
     object-fit: fill;
  -o-object-position: center;
     object-position: center;
  font-family: "object-fit: fill, object-position: center";
  height: 100%;
  width: 160px;
  aspect-ratio: 455/183;
}

.header__burger {
  width: 24px;
  height: 24px;
  position: relative;
  outline: none;
  z-index: 2;
}
.header__burger:focus {
  outline: 1px solid rgba(230, 230, 230, 0.162);
}
@media screen and (min-width: 75em) {
  .header__burger {
    display: none;
  }
}

.header__burger span {
  width: 20px;
  height: 2px;
  display: block;
  background-color: #000;
  position: absolute;
  top: 6px;
  left: 2px;
  transition: all 232ms ease-in-out;
}
.header__burger span:last-child {
  top: 16px;
}

.header__burger.is-active span {
  transform: rotate(45deg);
  background-color: #fff;
  top: 11px;
  left: 2px;
}
.header__burger.is-active span:last-child {
  transform: rotate(-45deg);
  top: 11px;
  left: 2px;
}

.header__nav__wrapper {
  position: absolute;
  padding: 93px 0 15px 0;
  width: 100%;
  height: 100vh;
  min-height: 700px;
  top: 0;
  left: 100%;
  background-color: #361919;
  opacity: 0;
  transition: all 232ms ease-in-out;
}
.header__nav__wrapper.is-active {
  left: 0;
  opacity: 1;
}
@media screen and (min-width: 75em) {
  .header__nav__wrapper {
    position: relative;
    top: inherit;
    left: inherit;
    min-height: inherit;
    width: auto;
    height: auto;
    opacity: 1;
    background-color: transparent;
    padding: 0;
    margin: 0;
    display: flex;
    flex-flow: row nowrap;
    justify-content: space-between;
    align-items: center;
  }
}

@media screen and (min-width: 75em) {
  .header__inner .navigation {
    display: flex;
    flex-flow: row nowrap;
    justify-content: space-between;
    align-items: flex-end;
    padding: 0;
    margin: 0;
  }
}

.navigation__item {
  border-top: 1px solid #fff;
}
.navigation__item:last-child {
  border-bottom: 1px solid #fff;
}
.navigation__item a {
  font-size: 16px;
  line-height: 19px;
  font-family: "Cabin-Bold", sans-serif;
  font-weight: 700;
  -webkit-font-smoothing: antialiased;
  display: block;
  color: #fff;
  padding: 28px 15px;
}
@media screen and (min-width: 75em) {
  .navigation__item a {
    color: #4F4D48;
    font-size: 16px;
    line-height: 19px;
    padding: 0;
    margin-right: 20px;
    border-bottom: 1px solid transparent;
    transition: all 232ms ease-in-out;
  }
  .navigation__item a:hover {
    border-bottom-color: #283d0f;
  }
}
.navigation__item a.active {
  color: #283d0f;
}

.hero {
  width: 100%;
  height: 562px;
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
}
@media print, screen and (max-width: 44.99875em) {
  .hero {
    height: 450px;
  }
}

.intro {
  padding-bottom: 105px;
}

@media screen and (min-width: 75em) {
  .intro .intro__title {
    padding: 65px 0 22px 0;
  }
}

.intro__content_container {
  padding-left: 10px;
}
@media screen and (min-width: 75em) {
  .intro__content_container {
    display: flex;
    flex-flow: row nowrap;
    justify-content: space-between;
    padding: 0 0 0 50px;
  }
  .intro__content_container > div:first-child {
    margin-right: 60px;
  }
  .intro__content_container > div:last-child {
    min-width: 30%;
    display: flex;
    justify-content: space-between;
    flex-flow: column;
  }
}

.intro__content__other p {
  color: #361919;
  font-size: 34px;
  line-height: 48px;
}
@media print, screen and (max-width: 44.99875em) {
  .intro__content__other p {
    font-size: 22px;
    line-height: 32px;
  }
}
.intro__content__other p {
  font-family: "Playfair", sans-serif;
  font-weight: 500;
}

.intro__content__logo {
  max-width: 210px;
  margin: 0 auto;
}
@media screen and (min-width: 75em) {
  .intro__content__logo {
    margin: 0;
  }
}

.language-switcher {
  padding: 0 15px;
  display: flex;
  flex-flow: row;
  justify-content: flex-end;
  align-items: center;
  position: relative;
}

@media screen and (min-width: 75em) {
  .language-dropdown {
    margin: 0 0 0 auto;
    padding: 0 15px;
    position: relative;
    background-color: white;
  }
}

.language-dropdown__list {
  display: inline-block;
  list-style: none;
  padding-left: 15px;
  z-index: 1;
}
@media screen and (min-width: 75em) {
  .language-dropdown__list {
    height: 1px;
    list-style: none;
    margin: -5px 0 0 0;
    opacity: 0;
    overflow: hidden;
    position: absolute;
    top: 100%;
    left: 0;
    text-align: left;
    transform: translateY(-20px);
    transition: transform 0.2s ease-in-out, opacity 0.1s ease-out;
  }
}

.language-dropdown__top-link {
  color: white;
  font-size: 16px;
  padding: 4px 15px;
  background-color: #283d0f;
}
@media screen and (min-width: 75em) {
  .language-dropdown__top-link {
    border-radius: 0;
    font-size: 16px;
    width: 50px;
    padding: 1px 15px 0;
    background-color: #283d0f;
    height: 21px;
    display: flex;
    align-items: center;
    justify-content: center;
  }
}
.language-dropdown__top-link {
  /* &::before {
       @include breakpoint(xlarge up) {
           @include icon;
           content: '>';
           display: inline-block;
           font-size: 11px;
           margin-right: 8px;
           transform: rotate(0) translateY(-1px);
           transition: transform 0.1s ease;
       }
   }*/
}
@media screen and (min-width: 75em) {
  .language-dropdown:hover .language-dropdown__top-link::before, .language-dropdown__top-link:focus::before {
    transform: rotate(90deg) translateX(-1px);
  }
}
.language-dropdown__item {
  background-color: #361919;
  margin-top: 7px;
}
@media print, screen and (max-width: 74.99875em) {
  .language-dropdown__item {
    display: inline-block;
  }
}

.language-dropdown__link {
  color: #fff;
  font-size: 16px;
  padding: 0 15px 0;
  text-decoration: none;
  width: 50px;
  height: 21px;
  display: flex;
  align-items: center;
  justify-content: center;
}
@media screen and (min-width: 75em) {
  .language-dropdown__link {
    padding: 1px 15px 0;
  }
}
@media screen and (min-width: 75em) {
  .language-dropdown__item:last-child .language-dropdown__link {
    padding: 1px 15px 0;
  }
}

@media screen and (min-width: 75em) {
  .language-dropdown:hover .language-dropdown__list,
  .language-dropdown .language-dropdown__top-link:focus + .language-dropdown__list,
  .language-dropdown__list[focus-within] {
    height: auto;
    transform: translate(0);
    opacity: 1;
    z-index: 1;
  }
  .language-dropdown:hover .language-dropdown__list,
  .language-dropdown .language-dropdown__top-link:focus + .language-dropdown__list,
  .language-dropdown__list:focus-within {
    height: auto;
    transform: translate(0);
    opacity: 1;
    z-index: 1;
  }
}

.sections {
  background-color: #eaf1ef;
}

.section {
  padding-bottom: 50px;
}
.section.white {
  background-color: #fff;
}
@media screen and (min-width: 75em) {
  .section {
    padding-bottom: 80px;
  }
  .section:nth-child(4) .section__title {
    padding-top: 102px;
    padding-bottom: 65px;
  }
}

.section .section__title {
  padding-top: 25px;
  padding-bottom: 25px;
}
@media screen and (min-width: 75em) {
  .section .section__title {
    padding: 70px 15px;
  }
}
@media screen and (min-width: 98.125em) {
  .section .section__title {
    padding-top: 75px;
    padding-bottom: 75px;
  }
}

@media screen and (min-width: 75em) {
  .section__content {
    display: flex;
    flex-flow: row wrap;
    justify-content: flex-start;
  }
}
@media screen and (min-width: 75em) {
  .section__content .section__content__media,
  .section__content .section__content__text {
    width: calc(50% - 30px);
    margin-bottom: 70px;
  }
  .section__content .section__content__media.section__content__media,
  .section__content .section__content__text.section__content__media {
    margin-right: 25px;
  }
  .section__content .section__content__media.section__content__text,
  .section__content .section__content__text.section__content__text {
    max-width: 725px;
    margin: 0 0 70px 0;
  }
  .section__content .section__content__media.section__content__text > :first-child,
  .section__content .section__content__text.section__content__text > :first-child {
    margin-top: 0;
    padding-top: 0;
  }
}

.section__content .section__content__list {
  width: 100%;
  background-color: #361919;
  padding: 45px 30px 45px 45px;
  color: #fff;
  background-image: url("/wp-content/themes/lux-tdm/images/picturemark.svg");
  background-position: left top;
  background-repeat: no-repeat;
  background-size: contain;
}
@media screen and (min-width: 75em) {
  .section__content .section__content__list {
    display: flex;
    flex-flow: row nowrap;
    padding: 50px 50px 50px 88px;
    justify-content: space-between;
  }
  .section__content .section__content__list h3 {
    width: calc(50% - 65px);
  }
  .section__content .section__content__list h3 span {
    max-width: 400px;
    display: block;
  }
}

@media screen and (min-width: 75em) {
  .section__content__list__list {
    padding: 0;
    margin: 0 0 0 -65px;
    width: 50%;
    max-width: 850px;
  }
}

.section__content__list__title {
  margin: 0;
  padding: 0;
  font-size: 34px;
  line-height: 48px;
}
@media print, screen and (max-width: 44.99875em) {
  .section__content__list__title {
    font-size: 22px;
    line-height: 32px;
  }
}

.section__content__list__list li {
  padding: 15px 0 15px 80px;
  position: relative;
}
@media screen and (min-width: 75em) {
  .section__content__list__list li {
    margin-left: -90px;
  }
}

.section__content__list__list__icon {
  position: absolute;
  top: 9px;
  left: 0;
  font-size: 40px;
}
@media screen and (min-width: 45em) {
  .section__content__list__list__icon {
    top: 14px;
  }
}
@media screen and (min-width: 75em) {
  .section__content__list__list__icon {
    font-size: 55px;
    top: 6px;
  }
}

.section__content-gallery {
  display: flex;
  justify-content: space-between;
  flex-flow: row wrap;
  position: relative;
}
.section__content-gallery a {
  width: calc((100% - 16px) / 2);
}
.section__content-gallery a.hide {
  display: none;
}
.section__content-gallery a:first-child {
  width: 100%;
  margin-bottom: 16px;
}
@media screen and (min-width: 75em) {
  .section__content-gallery a:first-child {
    width: calc(100% - 620px);
    margin-bottom: 0;
    padding-right: 4px;
  }
  .section__content-gallery a:first-child img {
    min-height: 722px;
    -o-object-fit: cover;
       object-fit: cover;
    -o-object-position: center;
       object-position: center;
    font-family: "object-fit: cover, object-position: center";
  }
}
@media screen and (min-width: 75em) {
  .section__content-gallery a:nth-child(2), .section__content-gallery a:nth-child(3) {
    position: absolute;
    top: 0;
    right: 20px;
    width: 602px;
    height: 352px;
  }
  .section__content-gallery a:nth-child(2) img, .section__content-gallery a:nth-child(3) img {
    height: 100%;
    max-height: 352px;
  }
  .section__content-gallery a:nth-child(3) {
    top: auto;
    bottom: 0;
  }
}

.section .section__gallery__copyrights {
  margin-top: 20px;
  color: #4F4D48;
}

.section__description {
  margin-bottom: 25px;
}
.section__description p {
  padding: 0;
  margin: 0;
}
@media screen and (min-width: 75em) {
  .section__description {
    margin-bottom: 50px;
  }
}

.section-contact {
  background-color: #361919;
  color: #fff;
  margin-bottom: 0;
  padding-bottom: 0;
}
@media screen and (min-width: 75em) {
  .section-contact {
    padding-bottom: 80px;
  }
  .section-contact > .wrap {
    display: flex;
    flex-flow: row wrap;
    position: relative;
  }
  .section-contact > .wrap .section__title {
    width: 100%;
  }
}
@media screen and (min-width: 98.125em) {
  .section-contact > .wrap {
    justify-content: flex-start;
  }
}
.section-contact *:not(input):not(textarea) {
  color: #fff;
}

@media screen and (min-width: 75em) {
  .section__contact__form {
    margin-left: 50px;
    flex-grow: 1;
    max-width: 625px;
    margin-right: 40px;
  }
}

.section-contact .section__title {
  padding-left: 0;
  padding-right: 0;
}
@media screen and (min-width: 75em) {
  .section-contact .section__title {
    padding-bottom: 45px;
  }
}

.section__contact__info {
  display: flex;
  flex-flow: column;
}

.section__contact__info__link {
  padding-left: 40px;
  position: relative;
  margin-bottom: 5px;
  display: flex;
  align-items: center;
  flex-flow: row wrap;
  height: 40px;
}

.section__contact__details > div {
  margin-bottom: 25px;
}
.section__contact__details p {
  margin: 0;
  padding: 0;
}

.section__contact__icon {
  position: absolute;
  left: 0;
  font-size: 40px;
  top: 0;
}
.section__contact__icon.icon-phone {
  left: -6px;
}

.contact__identifier {
  font-family: "Cabin-Bold", sans-serif;
  font-weight: 700;
}

.wrap {
  padding-right: 15px;
  padding-left: 15px;
  max-width: 85rem;
  margin: 0 auto;
  width: 100%;
}
@media screen and (min-width: 98.125em) {
  .wrap {
    max-width: 90.625rem;
  }
}

/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vZmxpY2tpdHkubWluLmNzcyIsIndlYnBhY2s6Ly8vLi9zcmMvYmFzZS9fbm9ybWFsaXplLnNjc3MiLCJ3ZWJwYWNrOi8vL21haW4uc2NzcyIsIndlYnBhY2s6Ly8vLi9zcmMvYmFzZS9fY29uZmlnLnNjc3MiLCJ3ZWJwYWNrOi8vLy4vc3JjL2Jhc2UvX2ljb25zLnNjc3MiLCJ3ZWJwYWNrOi8vLy4vc3JjL2Jhc2UvX21lZGlhLnNjc3MiLCJ3ZWJwYWNrOi8vLy4vc3JjL2Jhc2UvX2ZvbnRzLnNjc3MiLCJ3ZWJwYWNrOi8vLy4vc3JjL2Jhc2UvX2dsb2JhbC5zY3NzIiwid2VicGFjazovLy8uL3NyYy9iYXNlL190eXBlLnNjc3MiLCJ3ZWJwYWNrOi8vLy4vc3JjL2Jhc2UvdXRpbC9fYnJlYWtwb2ludC5zY3NzIiwid2VicGFjazovLy8uL3NyYy9iYXNlL19tYWduaWZpY1BvcHVwLnNjc3MiLCJ3ZWJwYWNrOi8vLy4vc3JjL2NvbXBvbmVudHMvXzAxLWJ1dHRvbi5zY3NzIiwid2VicGFjazovLy8uL3NyYy9jb21wb25lbnRzL18wMi1mb3JtYXQtdGV4dC5zY3NzIiwid2VicGFjazovLy8uL3NyYy9jb21wb25lbnRzL18wMy1hMTF5LnNjc3MiLCJ3ZWJwYWNrOi8vLy4vc3JjL2NvbXBvbmVudHMvX2ZsaWNraXR5LnNjc3MiLCJ3ZWJwYWNrOi8vLy4vc3JjL2NvbXBvbmVudHMvX2Zvb3Rlci5zY3NzIiwid2VicGFjazovLy8uL3NyYy9iYXNlL19taXhpbnMuc2NzcyIsIndlYnBhY2s6Ly8vLi9zcmMvY29tcG9uZW50cy9fZm9ybS5zY3NzIiwid2VicGFjazovLy8uL3NyYy9jb21wb25lbnRzL19oZWFkZXIuc2NzcyIsIndlYnBhY2s6Ly8vLi9zcmMvY29tcG9uZW50cy9faGVyby5zY3NzIiwid2VicGFjazovLy8uL3NyYy9jb21wb25lbnRzL19pbnRyby5zY3NzIiwid2VicGFjazovLy8uL3NyYy9jb21wb25lbnRzL19sYW5ndWFnZS1kcm9wZG93bi5zY3NzIiwid2VicGFjazovLy8uL3NyYy9jb21wb25lbnRzL19zZWN0aW9uLnNjc3MiLCJ3ZWJwYWNrOi8vLy4vc3JjL2NvbXBvbmVudHMvX3dyYXAuc2NzcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7Z0RBRWdEO0FBQ2hELGtCQUFrQixpQkFBaUIsQ0FBQyx3QkFBd0IsU0FBUyxDQUFDLG1CQUFtQixlQUFlLENBQUMsaUJBQWlCLENBQUMsV0FBVyxDQUFDLGtCQUFrQixDQUFDLGlCQUFpQixpQkFBaUIsQ0FBQyxVQUFVLENBQUMsV0FBVyxDQUFDLE1BQU0sQ0FBQywrQkFBK0IsVUFBVSxDQUFDLE9BQU8sQ0FBQywrQkFBK0IsdUNBQXVDLENBQUMsZ0JBQWdCLENBQUMsa0RBQWtELFdBQVcsQ0FBQyxXQUFXLENBQUMsa0VBQWtFLGVBQWUsQ0FBQyxlQUFlLGlCQUFpQixDQUFDLE1BQU0sQ0FBQyw2QkFBNkIsVUFBVSxDQUFDLE9BQU8sQ0FBQyxpQkFBaUIsaUJBQWlCLENBQUMsK0JBQStCLENBQUMsV0FBVyxDQUFDLFVBQVUsQ0FBQyx1QkFBdUIsZUFBZSxDQUFDLGNBQWMsQ0FBQyx1QkFBdUIsU0FBUyxDQUFDLHlCQUF5QixDQUFDLHdCQUF3QixVQUFVLENBQUMsMEJBQTBCLFVBQVUsQ0FBQyxXQUFXLENBQUMsbUJBQW1CLENBQUMsc0JBQXNCLGlCQUFpQixDQUFDLDJCQUEyQixPQUFPLENBQUMsVUFBVSxDQUFDLFdBQVcsQ0FBQyxpQkFBaUIsQ0FBQywwQkFBMEIsQ0FBQyxvQ0FBb0MsU0FBUyxDQUFDLGdDQUFnQyxVQUFVLENBQUMsa0RBQWtELFNBQVMsQ0FBQyxVQUFVLENBQUMsOENBQThDLFVBQVUsQ0FBQyxTQUFTLENBQUMsaURBQWlELGlCQUFpQixDQUFDLFFBQVEsQ0FBQyxPQUFPLENBQUMsU0FBUyxDQUFDLFVBQVUsQ0FBQyxvQkFBb0IsaUJBQWlCLENBQUMsVUFBVSxDQUFDLFlBQVksQ0FBQyxpQkFBaUIsQ0FBQyxZQUFZLENBQUMsc0JBQXNCLENBQUMsY0FBYyxDQUFDLGtDQUFrQyxhQUFhLENBQUMsbUJBQW1CLGFBQWEsQ0FBQyxVQUFVLENBQUMsV0FBVyxDQUFDLFNBQVMsQ0FBQyxZQUFZLENBQUMsOEJBQThCLENBQUMsaUJBQWlCLENBQUMsY0FBYyxDQUFDLGVBQWUsQ0FBQyxXQUFXLENBQUMsbUJBQW1CLENBQUMsZUFBZSxDQUFDLGlDQUFpQyxrQkFBa0IsQ0FBQyx5QkFBeUIsU0FBUyxDQUFDLHlCQUF5QixDQUFDLCtCQUErQiwrQkFBK0IsQztBQ0h4NUQ7QUFFQTsrRUFBQTtBQUdBOzs7RUFBQTtBQUtBO0VBQ0k7RUFDQTtBQ0RKOztBRElBOytFQUFBO0FBR0E7O0VBQUE7QUFJQTtFQUNJO0FDSEo7O0FETUE7O0VBQUE7QUFJQTtFQUNJO0FDSko7O0FET0E7OztFQUFBO0FBS0E7RUFDSTtFQUNBO0FDTEo7O0FEUUE7K0VBQUE7QUFHQTs7O0VBQUE7QUFLQTtFQUNJO0VBQ0E7RUFDQTtBQ1BKOztBRFVBOzs7RUFBQTtBQUtBO0VBQ0k7RUFDQTtBQ1JKOztBRFdBOytFQUFBO0FBR0E7O0VBQUE7QUFJQTtFQUNJO0FDVko7O0FEYUE7OztFQUFBO0FBS0E7RUFDSTtFQUNBO0VBQ0E7VUFBQTtBQ1hKOztBRGNBOztFQUFBO0FBSUE7O0VBRUk7QUNaSjs7QURlQTs7O0VBQUE7QUFLQTs7O0VBR0k7RUFDQTtBQ2JKOztBRGdCQTs7RUFBQTtBQUlBO0VBQ0k7QUNkSjs7QURpQkE7OztFQUFBO0FBS0E7O0VBRUk7RUFDQTtFQUNBO0VBQ0E7QUNmSjs7QURrQkE7RUFDSTtBQ2ZKOztBRGtCQTtFQUNJO0FDZko7O0FEa0JBOytFQUFBO0FBR0E7O0VBQUE7QUFJQTtFQUNJO0FDakJKOztBRG9CQTsrRUFBQTtBQUdBOzs7RUFBQTtBQUtBOzs7OztFQUtJO0VBQ0E7RUFDQTtFQUNBO0FDbkJKOztBRHNCQTs7O0VBQUE7QUFLQTtRQUNRO0VBQ0o7QUNwQko7O0FEdUJBOzs7RUFBQTtBQUtBO1NBQ1M7RUFDTDtBQ3JCSjs7QUR3QkE7O0VBQUE7QUFJQTs7OztFQUlJO0FDdEJKOztBRHlCQTs7RUFBQTtBQUlBOzs7O0VBSUk7RUFDQTtBQ3ZCSjs7QUQwQkE7O0VBQUE7QUFJQTs7OztFQUlJO0FDeEJKOztBRDJCQTs7RUFBQTtBQUlBO0VBQ0k7QUN6Qko7O0FENEJBOzs7OztFQUFBO0FBT0E7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QUMxQko7O0FENkJBOztFQUFBO0FBSUE7RUFDSTtBQzNCSjs7QUQ4QkE7O0VBQUE7QUFJQTtFQUNJO0FDNUJKOztBRCtCQTs7O0VBQUE7QUFLQTs7RUFFSTtFQUNBO0FDN0JKOztBRGdDQTs7RUFBQTtBQUlBOztFQUVJO0FDOUJKOztBRGlDQTs7O0VBQUE7QUFLQTtFQUNJO0VBQ0E7QUMvQko7O0FEa0NBOztFQUFBO0FBSUE7RUFDSTtBQ2hDSjs7QURtQ0E7OztFQUFBO0FBS0E7RUFDSTtFQUNBO0FDakNKOztBRG9DQTsrRUFBQTtBQUdBOztFQUFBO0FBSUE7RUFDSTtBQ25DSjs7QURzQ0E7O0VBQUE7QUFJQTtFQUNJO0FDcENKOztBRHVDQTsrRUFBQTtBQUdBOztFQUFBO0FBSUE7RUFDSTtBQ3RDSjs7QUR5Q0E7O0VBQUE7QUFJQTtFQUNJO0FDdkNKOztBQ2pUQTtFQUNJO0VBQ0E7QURvVEo7O0FDalRBOzs7RUFHSTtBRG9USjs7QUNqVEE7O3FCQUFBO0FBcUNBOztxQkFBQTtBQVlBOztxQkFBQTtBQy9EQTtFQUNJO0VBQ0E7RUFDQTtFQUtBO0VBQ0E7RUFDQTtBRnVVSjtBRXBVQTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUFBO0VBQ0E7RUFDQTtFQUVBO0VBQ0E7RUFDQTtBRnFVSjs7QUVsVUE7RUFDSTtBRnFVSjs7QUVuVUE7RUFDSTtBRnNVSjs7QUVwVUE7RUFDSTtBRnVVSjs7QUVyVUE7RUFDSTtBRndVSjs7QUc5V0E7RUFDSTtFQUNBO0VBQ0E7QUhpWEo7O0FJaFVBOztFQUFBO0FBVEk7RUFDSTtFQUNBLGtCQVU0RTtFQVI1RSxrREFQTTtBSnFWZDtBSWxWSTtFQUNJO0VBQ0Esa0JBV3dGO0VBVHhGLHdEQVBNO0FKMFZkO0FJdlZJO0VBQ0k7RUFDQSxrQkFZZ0Y7RUFWaEYsb0RBUE07QUorVmQ7QUk1Vkk7RUFDSTtFQUNBLGtCQWFnRjtFQVhoRixvREFQTTtBSm9XZDtBSWpXSTtFQUNJO0VBQ0Esa0JBYzRGO0VBWjVGLDBEQVBNO0FKeVdkO0FJdFdJO0VBQ0k7RUFDQSxrQkFla0Y7RUFibEYscURBUE07QUo4V2Q7QUkzV0k7RUFDSTtFQUNBLGtCQWdCb0Y7RUFkcEYsc0RBUE07QUptWGQ7QUloWEk7RUFDSTtFQUNBLGtCQWlCZ0c7RUFmaEcsNERBUE07QUp3WGQ7QUloV0E7O0VBQUE7QUFyQkk7RUFDSTtFQUNBLGtCQXNCMkc7RUFwQjNHLGdFQVBNO0FKZ1lkO0FJN1hJO0VBQ0k7RUFDQSxrQkF1QnlIO0VBckJ6SCxnRUFQTTtBSnFZZDtBSzdhQTtFQUNJO0VBQ0E7QUwrYUo7O0FLNWFBO0VBQ0k7QUwrYUo7O0FLNWFBO0VBQ0k7RUNUQTtFQUNBO0VBbUNBO0FOdVpKO0FPNVFRO0VGdktSO0lDK0JRO0VOd1pOO0FBQ0Y7QUtoYkk7RUFDSTtFQUNBO0VBQ0E7QUxrYlI7O0FLOWFBOzs7Ozs7RUNSSTtFQUNBO0FOK2JKOztBSy9hQTtFQ3NCSTtFQUNBO0FONlpKO0FPclNRO0VGL0lSO0lDMEJRO0lBQ0E7SUFxQko7RU4wWUY7QUFDRjtBSzNiQTtFQUVJLGNKZkk7RUlnQko7RUFDQTtBTDRiSjs7QUt6YkE7RUFDSTtFQUNBO0FMNGJKOztBS3piQTtFQUNJO0FMNGJKOztBS3piQTtFQUNJO0VBQ0E7QUw0Yko7O0FLemJBO0VBQ0ksY0pqQ1k7QUQ2ZGhCOztBS3piQTtFQy9DSTtFQUNBO0FONGVKOztBSzFiQTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0FMNmJKO0FLM2JJO0VBQ0k7RUFDQTtFQUNBO0FMNmJSO0FPcFZRO0VGdEdJO0lBQ0k7RUw2YmQ7QUFDRjtBT3BWUTtFRnZIUjtJQW1CUTtJQUNBO0lBQ0E7RUw0Yk47RUsxYk07SUFDSTtFTDRiVjtBQUNGOztBUW5oQkE7QUFDQTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBUnNoQko7O0FRbmhCQTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QVJzaEJKOztBUW5oQkE7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0FSc2hCSjs7QVFuaEJBO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7QVJzaEJKOztBUW5oQkE7RUFDSTtBUnNoQko7O0FRbmhCQTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBUnNoQko7QVFwaEJJO0VBQ0k7QVJzaEJSOztBUWxoQkE7O0VBRUk7RUFDQTtBUnFoQko7O0FRbGhCQTtFQUNJO0FScWhCSjs7QVFsaEJBO0VBR0k7QVJxaEJKOztBUWxoQkE7RUFDSTtFQUdBO0FScWhCSjs7QVFsaEJBO0VBQ0k7QVJxaEJKOztBUWxoQkE7Ozs7RUFJSTtFQUNBO0VBQ0E7QVJxaEJKOztBUWxoQkE7RUFDSTtBUnFoQko7O0FRbGhCQTtFQUNJO0FScWhCSjs7QVFsaEJBO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0FScWhCSjs7QVFsaEJBO0VBQ0k7QVJxaEJKOztBUWxoQkE7RUFDSTtBUnFoQko7O0FRbGhCQTtFQUNJO0FScWhCSjs7QVFsaEJBO0VBQ0k7QVJxaEJKOztBUWxoQkE7O0VBRUk7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBUnFoQko7O0FRbGhCQTtFQUNJO0VBQ0E7QVJxaEJKOztBUWxoQkE7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0FScWhCSjs7QVFsaEJBOztFQUVJO0FScWhCSjs7QVFsaEJBO0VBQ0k7QVJxaEJKOztBUWxoQkE7RUFDSTtBUnFoQko7O0FRbGhCQTs7RUFFSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0FScWhCSjs7QVFsaEJBO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QVJxaEJKOztBUWxoQkE7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QVJxaEJKOztBUWxoQkE7RUFDSTtBUnFoQko7O0FRbGhCQTs7RUFFSTtBUnFoQko7O0FRbGhCQTs7RUFFSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBUnFoQko7O0FRbGhCQTtFQUNJO0VBQ0E7RUFDQTtBUnFoQko7O0FRbGhCQTtFQUNJO0VBQ0E7RUFDQTtBUnFoQko7O0FRbGhCQTtFQUNJO0FScWhCSjs7QVFsaEJBO0VBQ0k7RUFDQTtBUnFoQko7O0FRbGhCQTtFQUNJO0VBQ0E7QVJxaEJKOztBUWxoQkE7RUFDSTtBUnFoQko7O0FRbGhCQTtFQUNJO0VBQ0E7QVJxaEJKOztBUWxoQkE7RUFDSTtBUnFoQko7O0FRbGhCQTtFQUNJO0VBQ0E7QVJxaEJKOztBUWxoQkE7RUFDSTtFQUNBO0VBQ0E7QVJxaEJKOztBUWxoQkE7RUFDSTtBUnFoQko7O0FRbGhCQTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0FScWhCSjs7QVFsaEJBO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBUnFoQko7O0FRbGhCQTtBQUNBO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBUnFoQko7O0FRbGhCQTtBQUNBO0VBQ0k7QVJxaEJKOztBUWxoQkE7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QVJxaEJKOztBUWxoQkE7RUFDSTtFQUNBO0VBQ0E7RUFDQTtBUnFoQko7O0FRbGhCQTtFQUNJO0FScWhCSjs7QVFsaEJBO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0FScWhCSjs7QVFsaEJBO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBUnFoQko7O0FRbGhCQTtFQUNJO0FScWhCSjs7QVFsaEJBO0VBQ0k7QVJxaEJKOztBUWxoQkE7RUFDSTs7UUFBQTtFQUdBO0lBQ0k7SUFDQTtFUnFoQk47RVFuaEJFO0lBQ0k7RVJxaEJOO0VRbmhCRTtJQUNJO0lBQ0E7RVJxaEJOO0VRbmhCRTtJQUNJO0lBQ0E7RVJxaEJOO0VRbmhCRTtJQUNJO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0VScWhCTjtFUW5oQkU7SUFDSTtFUnFoQk47RVFuaEJFO0lBQ0k7SUFDQTtFUnFoQk47RVFuaEJFO0lBQ0k7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0VScWhCTjtBQUNGO0FRbGhCQTtFQUNJO0lBRUk7RVJvaEJOO0VRbGhCRTtJQUVJO0VSb2hCTjtFUWxoQkU7SUFFSTtFUm9oQk47RVFsaEJFO0lBQ0k7SUFDQTtFUm9oQk47QUFDRjtBU3o4Qkk7RUFDSTtBVDI4QlI7O0FVcDhCSTtFQUNJO0VBQ0E7QVZ1OEJSO0FVaDhCSTtFQUNJO0VBQ0E7QVZrOEJSOztBV3o4QkE7RUFaSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBWDA5Qko7O0FXbjlCQTtFQUNJO0VBQ0EsV1ZGSTtFVUdKO0VBQ0E7RUFDQTtBWHM5Qko7QVdwOUJJO0VBdkJBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0FYKytCSjs7QVkxL0JBO0VBQ0k7QVo2L0JKO0FZNS9CSTtFQUNJO0VBQ0E7RUFDQTtLQUFBO0FaOC9CUjs7QVl6L0JJO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBWjQvQlI7O0FZeC9CQTtFQUNJO0FaMi9CSjs7QVl4L0JBO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBLGdCWGhCSTtBRDJnQ1I7QVl6L0JJO0VBQ0ksbUJYbEJBO0FENmdDUjtBWXgvQkk7RUFDSTtBWjAvQlI7O0FZci9CQTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0Fady9CSjtBWXIvQlE7RUFDSTtBWnUvQlo7QVluL0JJO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7QVpxL0JSO0FZai9CSTtFQUdJO0VBQ0E7RUFDQTtBWmkvQlI7QVl0L0JJO0VBR0k7RUFDQTtFQUNBO0FaaS9CUjs7QWEvakNBO0VBQ0kseUJadUJPO0FEMmlDWDs7QWEvakNBO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBYmtrQ0o7QWEvakNRO0VDWEosbUJEWTBCO0tDWjFCLGdCRFkwQjtFQ1gxQiwwQkFGMEM7S0FFMUMsdUJBRjBDO0VBRzFDO0VEV007RUFDQTtBYm1rQ1Y7QU83NUJRO0VNakxSO0lBaUJRO0ViaWtDTjtBQUNGOztBYTlqQ0E7RUFDSSxXWlBJO0VLeURKO0VBQ0E7QU5naENKOztBZTVsQ0k7O0VBRUk7RUFDQTtFQUNBO0FmK2xDUjs7QWV6bENJO0VBQ0k7RUFDQTtBZjRsQ1I7QWV6bENJO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQSxjZENRO0VLaURaO0VBQ0E7RVNqREk7QWY0bENSO0FlemxDSTtFVGtEQTtFQUNBO0FOMGlDSjtBZXpsQ0k7RUFDSTtBZjJsQ1I7QU9yOEJRO0VRbEpBO0lBQ0k7SUFDQTtJQUNBO0VmMGxDVjtFZXZsQ007SUFDSTtFZnlsQ1Y7RWVybENNO0lBQ0k7RWZ1bENWO0VlcGxDTTtJQUNJO0Vmc2xDVjtFZXBsQ1U7SUFDSTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0Vmc2xDZDtFZXBsQ2M7SUFDSTtFZnNsQ2xCO0VlaGxDTTtJQUNJO0Vma2xDVjtBQUNGOztBZTlrQ0E7RUFDSTtFQUNBO0FmaWxDSjs7QWU5a0NBO0VBQ0k7QWZpbENKOztBZTlrQ0E7RUFDSTtBZmlsQ0o7QWUva0NJO0VBQ0kseUJkL0RJO0VjZ0VKO0VBQ0E7RVRaSjtFQUNBO0FOOGxDSjtBTzMvQlE7RVEzRko7SUFRUTtFZmtsQ1Y7QUFDRjtBTzMvQlE7RVFoR0o7SUFZUTtFZm1sQ1Y7QUFDRjs7QWdCcnJDQTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0EseUJmbUJPO0VlbEJQO0VBR0E7QWhCd3JDSjs7QWdCcHJDQTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0FoQnVyQ0o7QU90aENRO0VTeEtSO0lBVVE7SUFDQTtJQUNBO0lBQ0E7SUFDQTtFaEJ3ckNOO0FBQ0Y7O0FPL2hDUTtFU3RKUjtJQUVRO0lBQ0E7RWhCd3JDTjtBQUNGOztBZ0JyckNBO0VBQ0k7QWhCd3JDSjtBZ0J0ckNJO0VGeENBLG1CRXlDc0I7S0Z6Q3RCLGdCRXlDc0I7RUZ4Q3RCLDBCQUYwQztLQUUxQyx1QkFGMEM7RUFHMUM7RUV3Q0Q7RUFDRztFQUNBO0FoQjByQ047O0FnQnRyQ0E7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0FoQnlyQ0o7QWdCdnJDSTtFQUNJO0FoQnlyQ1I7QU83akNRO0VTcElSO0lBWVE7RWhCeXJDTjtBQUNGOztBZ0J0ckNBO0VBQ0k7RUFDQTtFQUNBO0VBQ0Esc0JmbkRJO0Vlb0RKO0VBQ0E7RUFDQTtFRjVDQTtBZDB1Q0o7QWdCMXJDSTtFQUNJO0FoQjRyQ1I7O0FnQnZyQ0k7RUFDSTtFQUNBLHNCZmpFQTtFZWtFQTtFQUNBO0FoQjByQ1I7QWdCeHJDUTtFQUNJO0VBQ0E7RUFDQTtBaEIwckNaOztBZ0JyckNBO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQSx5QmZwRkk7RWVxRko7RUY3RUE7QWQwd0NKO0FnQjFyQ0k7RUFDSTtFQUNBO0FoQjRyQ1I7QU9ybkNRO0VTckZSO0lBa0JRO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7RWhCNHJDTjtBQUNGOztBT3ZvQ1E7RVNqRFI7SUFFUTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7RWhCMnJDTjtBQUNGOztBZ0J4ckNBO0VBQ0k7QWhCMnJDSjtBZ0J6ckNJO0VBQ0k7QWhCMnJDUjtBZ0J4ckNJO0VWMUVBO0VBQ0E7RUFsRUE7RUFDQTtFQXFFQTtFVXlFSTtFQUNBLFdmeElBO0VleUlBO0FoQjRyQ1I7QU9ucUNRO0VTL0JKO0lBU1EsY2Z6SUk7SUtzRFo7SUFDQTtJVW9GUTtJQUNBO0lBQ0E7SUZ2SVI7RWQwMENGO0VnQmhzQ1U7SUFDSSw0QmZoSko7RURrMUNWO0FBQ0Y7QWdCOXJDUTtFQUNJLGNmdEpBO0FEczFDWjs7QWlCNzJDQTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QWpCZzNDSjtBT3JzQ1E7RVVoTFI7SUFRUTtFakJpM0NOO0FBQ0Y7O0FrQjEzQ0E7RUFDSTtBbEI2M0NKOztBT3pzQ1E7RVdqTFI7SUFFUTtFbEI2M0NOO0FBQ0Y7O0FrQjEzQ0E7RUFDSTtBbEI2M0NKO0FPbnRDUTtFVzNLUjtJQUlRO0lBQ0E7SUFDQTtJQUNBO0VsQjgzQ047RWtCNTNDTTtJQUNJO0VsQjgzQ1Y7RWtCNTNDTTtJQUNJO0lBQ0E7SUFDQTtJQUNBO0VsQjgzQ1Y7QUFDRjs7QWtCejNDSTtFQUNJLGNqQmJBO0VLeUJKO0VBQ0E7QU5pM0NKO0FPL3VDUTtFV2hKSjtJWmlCSTtJQUNBO0VOazNDTjtBQUNGO0FrQnI0Q0k7RVpoQkE7RUFDQTtBTnc1Q0o7O0FrQmw0Q0E7RUFDSTtFQUNBO0FsQnE0Q0o7QU96dkNRO0VXOUlSO0lBS1E7RWxCczRDTjtBQUNGOztBbUJuN0NBO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0FuQnM3Q0o7O0FPdndDUTtFWTVLUjtJQUdRO0lBQ0E7SUFDQTtJQUNBO0VuQnE3Q047QUFDRjs7QW1CbDdDQTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0FuQnE3Q0o7QU92eENRO0VZbEtSO0lBT1E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtFbkJzN0NOO0FBQ0Y7O0FtQmw3Q0E7RUFFSTtFQUNBO0VBQ0E7RUFDQSx5QmxCdkJRO0FEMjhDWjtBTzd5Q1E7RVk1SVI7SUFRUTtJQUNBO0lBQ0E7SUFDQTtJQUNBLHlCbEI5Qkk7SWtCK0JKO0lBQ0E7SUFDQTtJQUNBO0VuQnE3Q047QUFDRjtBbUJ0OENBO0VBbUJHOzs7Ozs7Ozs7O0tBQUE7QW5CZzhDSDtBT3YwQ1E7RVk3R0o7SUFHUTtFbkJxN0NWO0FBQ0Y7QW1CMTZDQTtFQUNJLHlCbEJwRUk7RWtCcUVKO0FuQjQ2Q0o7QU9yMUNRO0VZekZSO0lBTVE7RW5CNDZDTjtBQUNGOztBbUJ6NkNBO0VBQ0ksV2xCL0VJO0VrQmdGSjtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0M7RUFDRDtFQUNBO0FuQjQ2Q0o7QU9qMkNRO0VZcEZSO0lBYVE7RW5CNDZDTjtBQUNGO0FPdDJDUTtFWS9ESjtJQUVRO0VuQnU2Q1Y7QUFDRjs7QU8zMkNRO0VZeERSOzs7SUFJUTtJQUNBO0lBQ0E7SUFDQTtFbkJzNkNOO0VtQjc2Q0Y7OztJQUlRO0lBQ0E7SUFDQTtJQUNBO0VuQnM2Q047QUFDRjs7QW9CM2lEQTtFQUNJLHlCbkJvQlM7QUQwaERiOztBb0IzaURBO0VBQ0k7QXBCOGlESjtBb0I1aURJO0VBQ0ksc0JuQldBO0FEbWlEUjtBT2o0Q1E7RWFqTFI7SUFRUTtFcEI4aUROO0VvQjNpRFU7SUFDSTtJQUNBO0VwQjZpRGQ7QUFDRjs7QW9CeGlEQTtFQUNJO0VBQ0E7QXBCMmlESjtBTy80Q1E7RWE5SlI7SUFLUTtFcEI0aUROO0FBQ0Y7QU9wNUNRO0VhOUpSO0lBU1E7SUFDQTtFcEI2aUROO0FBQ0Y7O0FPMTVDUTtFYWhKUjtJQUVRO0lBQ0E7SUFDQTtFcEI2aUROO0FBQ0Y7QU9sNkNRO0VheklKOztJQUdRO0lBQ0E7RXBCNmlEVjtFb0IzaURVOztJQUNJO0VwQjhpRGQ7RW9CM2lEVTs7SUFDSTtJQUNBO0VwQjhpRGQ7RW9CNWlEYzs7SUFDSTtJQUNBO0VwQitpRGxCO0FBQ0Y7O0FvQnppREE7RUFDSTtFQUNBLHlCbkJqREk7RW1Ca0RKO0VBQ0EsV25CcERJO0VtQnFESjtFQUNBO0VBQ0E7RUFDQTtBcEI0aURKO0FPbDhDUTtFYWxIUjtJQVdRO0lBQ0E7SUFDQTtJQUNBO0VwQjZpRE47RW9CM2lETTtJQUNJO0VwQjZpRFY7RW9CM2lEVTtJQUNJO0lBQ0E7RXBCNmlEZDtBQUNGOztBT2o5Q1E7RWF2RlI7SUFFUTtJQUNBO0lBQ0E7SUFDQTtFcEIyaUROO0FBQ0Y7O0FvQnhpREE7RUFDSTtFQUNBO0VkNURBO0VBQ0E7QU53bURKO0FPdCtDUTtFYXpFUjtJZHREUTtJQUNBO0VOeW1ETjtBQUNGOztBb0IvaURBO0VBQ0k7RUFDQTtBcEJrakRKO0FPNStDUTtFYXhFUjtJQUtRO0VwQm1qRE47QUFDRjs7QW9CaGpEQTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0FwQm1qREo7QU94L0NRO0VhL0RSO0lBT1E7RXBCb2pETjtBQUNGO0FPNy9DUTtFYS9EUjtJQVVRO0lBQ0E7RXBCc2pETjtBQUNGOztBb0JuakRBO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7QXBCc2pESjtBb0JwakRJO0VBQ0k7QXBCc2pEUjtBb0JuakRRO0VBQ0k7QXBCcWpEWjtBb0JsakRRO0VBQ0k7RUFDQTtBcEJvakRaO0FPcGhEUTtFYWxDQTtJQUtRO0lBQ0E7SUFDQTtFcEJxakRkO0VvQm5qRGM7SUFDSTtJTjVKaEIsb0JNNkpvQztPTjdKcEMsaUJNNkpvQztJTjVKcEMsMEJBRjBDO09BRTFDLHVCQUYwQztJQUcxQztFZGt0REY7QUFDRjtBT2ppRFE7RWFqQkk7SUFFSTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0VwQm9qRGQ7RW9CbGpEYztJQUNJO0lBQ0E7RXBCb2pEbEI7RW9CaGpEVTtJQUNJO0lBQ0E7RXBCa2pEZDtBQUNGOztBb0I3aURBO0VBQ0k7RUFDQSxjbkJ0S1k7QURzdERoQjs7QW9CN2lEQTtFQUNJO0FwQmdqREo7QW9COWlESTtFQUNJO0VBQ0E7QXBCZ2pEUjtBTy9qRFE7RWFVUjtJQVNRO0VwQmdqRE47QUFDRjs7QW9CN2lEQTtFQUNJLHlCbkJ6TEk7RW1CMExKLFduQjNMSTtFbUI0TEo7RUFDQTtBcEJnakRKO0FPM2tEUTtFYXVCUjtJQU9RO0VwQmlqRE47RW9CL2lETTtJQUNJO0lBQ0E7SUFFQTtFcEJnakRWO0VvQjdpRFU7SUFDSTtFcEIraURkO0FBQ0Y7QU94bERRO0VhOENBO0lBQ0k7RXBCNmlEVjtBQUNGO0FvQjFpREk7RUFDSSxXbkJ0TkE7QURrd0RSOztBT2htRFE7RWF3RFI7SUFFUTtJQUNBO0lBQ0E7SUFDQTtFcEIyaUROO0FBQ0Y7O0FvQnZpREE7RUFDSTtFQUNBO0FwQjBpREo7QU85bURRO0Vha0VSO0lBS1E7RXBCMmlETjtBQUNGOztBb0J2aURBO0VBQ0k7RUFDQTtBcEIwaURKOztBb0J2aURBO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QXBCMGlESjs7QW9CcmlESTtFQUNJO0FwQndpRFI7QW9CcmlESTtFQUNJO0VBQ0E7QXBCdWlEUjs7QW9CbmlEQTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0FwQnNpREo7QW9CcGlESTtFQUNJO0FwQnNpRFI7O0FvQmxpREE7RWQ1Ukk7RUFDQTtBTmswREo7O0FxQjkwREE7RUFDSSxtQnBCdURLO0VvQnRETCxrQnBCc0RLO0VvQnJETCxnQnBCSFc7RW9CSVg7RUFDQTtBckJpMURKO0FPanFEUTtFY3JMUjtJQVFRLG9CcEJQYTtFRHkxRG5CO0FBQ0YsQyIsImZpbGUiOiJtYWluLmNzcyIsInNvdXJjZXNDb250ZW50IjpbIi8qISBGbGlja2l0eSB2My4wLjBcbmh0dHBzOi8vZmxpY2tpdHkubWV0YWZpenp5LmNvXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4uZmxpY2tpdHktZW5hYmxlZHtwb3NpdGlvbjpyZWxhdGl2ZX0uZmxpY2tpdHktZW5hYmxlZDpmb2N1c3tvdXRsaW5lOjB9LmZsaWNraXR5LXZpZXdwb3J0e292ZXJmbG93OmhpZGRlbjtwb3NpdGlvbjpyZWxhdGl2ZTtoZWlnaHQ6MTAwJTt0b3VjaC1hY3Rpb246cGFuLXl9LmZsaWNraXR5LXNsaWRlcntwb3NpdGlvbjphYnNvbHV0ZTt3aWR0aDoxMDAlO2hlaWdodDoxMDAlO2xlZnQ6MH0uZmxpY2tpdHktcnRsIC5mbGlja2l0eS1zbGlkZXJ7bGVmdDp1bnNldDtyaWdodDowfS5mbGlja2l0eS1lbmFibGVkLmlzLWRyYWdnYWJsZXstd2Via2l0LXRhcC1oaWdobGlnaHQtY29sb3I6dHJhbnNwYXJlbnQ7dXNlci1zZWxlY3Q6bm9uZX0uZmxpY2tpdHktZW5hYmxlZC5pcy1kcmFnZ2FibGUgLmZsaWNraXR5LXZpZXdwb3J0e2N1cnNvcjptb3ZlO2N1cnNvcjpncmFifS5mbGlja2l0eS1lbmFibGVkLmlzLWRyYWdnYWJsZSAuZmxpY2tpdHktdmlld3BvcnQuaXMtcG9pbnRlci1kb3due2N1cnNvcjpncmFiYmluZ30uZmxpY2tpdHktY2VsbHtwb3NpdGlvbjphYnNvbHV0ZTtsZWZ0OjB9LmZsaWNraXR5LXJ0bCAuZmxpY2tpdHktY2VsbHtsZWZ0OnVuc2V0O3JpZ2h0OjB9LmZsaWNraXR5LWJ1dHRvbntwb3NpdGlvbjphYnNvbHV0ZTtiYWNrZ3JvdW5kOmhzbCgwIDAlIDEwMCUgLyA3NSUpO2JvcmRlcjpub25lO2NvbG9yOiMzMzN9LmZsaWNraXR5LWJ1dHRvbjpob3ZlcntiYWNrZ3JvdW5kOiNmZmY7Y3Vyc29yOnBvaW50ZXJ9LmZsaWNraXR5LWJ1dHRvbjpmb2N1c3tvdXRsaW5lOjA7Ym94LXNoYWRvdzowIDAgMCA1cHggIzE5Zn0uZmxpY2tpdHktYnV0dG9uOmFjdGl2ZXtvcGFjaXR5Oi42fS5mbGlja2l0eS1idXR0b246ZGlzYWJsZWR7b3BhY2l0eTouMztjdXJzb3I6YXV0bztwb2ludGVyLWV2ZW50czpub25lfS5mbGlja2l0eS1idXR0b24taWNvbntmaWxsOmN1cnJlbnRDb2xvcn0uZmxpY2tpdHktcHJldi1uZXh0LWJ1dHRvbnt0b3A6NTAlO3dpZHRoOjQ0cHg7aGVpZ2h0OjQ0cHg7Ym9yZGVyLXJhZGl1czo1MCU7dHJhbnNmb3JtOnRyYW5zbGF0ZVkoLTUwJSl9LmZsaWNraXR5LXByZXYtbmV4dC1idXR0b24ucHJldmlvdXN7bGVmdDoxMHB4fS5mbGlja2l0eS1wcmV2LW5leHQtYnV0dG9uLm5leHR7cmlnaHQ6MTBweH0uZmxpY2tpdHktcnRsIC5mbGlja2l0eS1wcmV2LW5leHQtYnV0dG9uLnByZXZpb3Vze2xlZnQ6YXV0bztyaWdodDoxMHB4fS5mbGlja2l0eS1ydGwgLmZsaWNraXR5LXByZXYtbmV4dC1idXR0b24ubmV4dHtyaWdodDphdXRvO2xlZnQ6MTBweH0uZmxpY2tpdHktcHJldi1uZXh0LWJ1dHRvbiAuZmxpY2tpdHktYnV0dG9uLWljb257cG9zaXRpb246YWJzb2x1dGU7bGVmdDoyMCU7dG9wOjIwJTt3aWR0aDo2MCU7aGVpZ2h0OjYwJX0uZmxpY2tpdHktcGFnZS1kb3Rze3Bvc2l0aW9uOmFic29sdXRlO3dpZHRoOjEwMCU7Ym90dG9tOi0yNXB4O3RleHQtYWxpZ246Y2VudGVyO2Rpc3BsYXk6ZmxleDtqdXN0aWZ5LWNvbnRlbnQ6Y2VudGVyO2ZsZXgtd3JhcDp3cmFwfS5mbGlja2l0eS1ydGwgLmZsaWNraXR5LXBhZ2UtZG90c3tkaXJlY3Rpb246cnRsfS5mbGlja2l0eS1wYWdlLWRvdHtkaXNwbGF5OmJsb2NrO3dpZHRoOjEwcHg7aGVpZ2h0OjEwcHg7cGFkZGluZzowO21hcmdpbjowIDhweDtiYWNrZ3JvdW5kOmhzbCgwIDAlIDIwJSAvIDI1JSk7Ym9yZGVyLXJhZGl1czo1MCU7Y3Vyc29yOnBvaW50ZXI7YXBwZWFyYW5jZTpub25lO2JvcmRlcjpub25lO3RleHQtaW5kZW50Oi05OTk5cHg7b3ZlcmZsb3c6aGlkZGVufS5mbGlja2l0eS1ydGwgLmZsaWNraXR5LXBhZ2UtZG90e3RleHQtaW5kZW50Ojk5OTlweH0uZmxpY2tpdHktcGFnZS1kb3Q6Zm9jdXN7b3V0bGluZTowO2JveC1zaGFkb3c6MCAwIDAgNXB4ICMxOWZ9LmZsaWNraXR5LXBhZ2UtZG90LmlzLXNlbGVjdGVke2JhY2tncm91bmQ6aHNsKDAgMCUgMjAlIC8gMTAwJSl9IiwiLyohIG5vcm1hbGl6ZS5jc3MgdjguMC4xIHwgTUlUIExpY2Vuc2UgfCBnaXRodWIuY29tL25lY29sYXMvbm9ybWFsaXplLmNzcyAqL1xuXG4vKiBEb2N1bWVudFxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLyoqXG4gKiAxLiBDb3JyZWN0IHRoZSBsaW5lIGhlaWdodCBpbiBhbGwgYnJvd3NlcnMuXG4gKiAyLiBQcmV2ZW50IGFkanVzdG1lbnRzIG9mIGZvbnQgc2l6ZSBhZnRlciBvcmllbnRhdGlvbiBjaGFuZ2VzIGluIGlPUy5cbiAqL1xuXG5odG1sIHtcbiAgICBsaW5lLWhlaWdodDogMS43MjsgLyogMSAqL1xuICAgIC13ZWJraXQtdGV4dC1zaXplLWFkanVzdDogMTAwJTsgLyogMiAqL1xufVxuXG4vKiBTZWN0aW9uc1xuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLyoqXG4gKiBSZW1vdmUgdGhlIG1hcmdpbiBpbiBhbGwgYnJvd3NlcnMuXG4gKi9cblxuYm9keSB7XG4gICAgbWFyZ2luOiAwO1xufVxuXG4vKipcbiAqIFJlbmRlciB0aGUgYG1haW5gIGVsZW1lbnQgY29uc2lzdGVudGx5IGluIElFLlxuICovXG5cbm1haW4ge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xufVxuXG4vKipcbiAqIENvcnJlY3QgdGhlIGZvbnQgc2l6ZSBhbmQgbWFyZ2luIG9uIGBoMWAgZWxlbWVudHMgd2l0aGluIGBzZWN0aW9uYCBhbmRcbiAqIGBhcnRpY2xlYCBjb250ZXh0cyBpbiBDaHJvbWUsIEZpcmVmb3gsIGFuZCBTYWZhcmkuXG4gKi9cblxuaDEge1xuICAgIGZvbnQtc2l6ZTogMmVtO1xuICAgIG1hcmdpbjogMC42N2VtIDA7XG59XG5cbi8qIEdyb3VwaW5nIGNvbnRlbnRcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qKlxuICogMS4gQWRkIHRoZSBjb3JyZWN0IGJveCBzaXppbmcgaW4gRmlyZWZveC5cbiAqIDIuIFNob3cgdGhlIG92ZXJmbG93IGluIEVkZ2UgYW5kIElFLlxuICovXG5cbmhyIHtcbiAgICBib3gtc2l6aW5nOiBjb250ZW50LWJveDsgLyogMSAqL1xuICAgIGhlaWdodDogMDsgLyogMSAqL1xuICAgIG92ZXJmbG93OiB2aXNpYmxlOyAvKiAyICovXG59XG5cbi8qKlxuICogMS4gQ29ycmVjdCB0aGUgaW5oZXJpdGFuY2UgYW5kIHNjYWxpbmcgb2YgZm9udCBzaXplIGluIGFsbCBicm93c2Vycy5cbiAqIDIuIENvcnJlY3QgdGhlIG9kZCBgZW1gIGZvbnQgc2l6aW5nIGluIGFsbCBicm93c2Vycy5cbiAqL1xuXG5wcmUge1xuICAgIGZvbnQtZmFtaWx5OiBtb25vc3BhY2UsIG1vbm9zcGFjZTsgLyogMSAqL1xuICAgIGZvbnQtc2l6ZTogMWVtOyAvKiAyICovXG59XG5cbi8qIFRleHQtbGV2ZWwgc2VtYW50aWNzXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKipcbiAqIFJlbW92ZSB0aGUgZ3JheSBiYWNrZ3JvdW5kIG9uIGFjdGl2ZSBsaW5rcyBpbiBJRSAxMC5cbiAqL1xuXG5hIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbn1cblxuLyoqXG4gKiAxLiBSZW1vdmUgdGhlIGJvdHRvbSBib3JkZXIgaW4gQ2hyb21lIDU3LVxuICogMi4gQWRkIHRoZSBjb3JyZWN0IHRleHQgZGVjb3JhdGlvbiBpbiBDaHJvbWUsIEVkZ2UsIElFLCBPcGVyYSwgYW5kIFNhZmFyaS5cbiAqL1xuXG5hYmJyW3RpdGxlXSB7XG4gICAgYm9yZGVyLWJvdHRvbTogbm9uZTsgLyogMSAqL1xuICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lOyAvKiAyICovXG4gICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmUgZG90dGVkOyAvKiAyICovXG59XG5cbi8qKlxuICogQWRkIHRoZSBjb3JyZWN0IGZvbnQgd2VpZ2h0IGluIENocm9tZSwgRWRnZSwgYW5kIFNhZmFyaS5cbiAqL1xuXG5iLFxuc3Ryb25nIHtcbiAgICBmb250LXdlaWdodDogYm9sZGVyO1xufVxuXG4vKipcbiAqIDEuIENvcnJlY3QgdGhlIGluaGVyaXRhbmNlIGFuZCBzY2FsaW5nIG9mIGZvbnQgc2l6ZSBpbiBhbGwgYnJvd3NlcnMuXG4gKiAyLiBDb3JyZWN0IHRoZSBvZGQgYGVtYCBmb250IHNpemluZyBpbiBhbGwgYnJvd3NlcnMuXG4gKi9cblxuY29kZSxcbmtiZCxcbnNhbXAge1xuICAgIGZvbnQtZmFtaWx5OiBtb25vc3BhY2UsIG1vbm9zcGFjZTsgLyogMSAqL1xuICAgIGZvbnQtc2l6ZTogMWVtOyAvKiAyICovXG59XG5cbi8qKlxuICogQWRkIHRoZSBjb3JyZWN0IGZvbnQgc2l6ZSBpbiBhbGwgYnJvd3NlcnMuXG4gKi9cblxuc21hbGwge1xuICAgIGZvbnQtc2l6ZTogODAlO1xufVxuXG4vKipcbiAqIFByZXZlbnQgYHN1YmAgYW5kIGBzdXBgIGVsZW1lbnRzIGZyb20gYWZmZWN0aW5nIHRoZSBsaW5lIGhlaWdodCBpblxuICogYWxsIGJyb3dzZXJzLlxuICovXG5cbnN1YixcbnN1cCB7XG4gICAgZm9udC1zaXplOiA3NSU7XG4gICAgbGluZS1oZWlnaHQ6IDA7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHZlcnRpY2FsLWFsaWduOiBiYXNlbGluZTtcbn1cblxuc3ViIHtcbiAgICBib3R0b206IC0wLjI1ZW07XG59XG5cbnN1cCB7XG4gICAgdG9wOiAtMC41ZW07XG59XG5cbi8qIEVtYmVkZGVkIGNvbnRlbnRcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qKlxuICogUmVtb3ZlIHRoZSBib3JkZXIgb24gaW1hZ2VzIGluc2lkZSBsaW5rcyBpbiBJRSAxMC5cbiAqL1xuXG5pbWcge1xuICAgIGJvcmRlci1zdHlsZTogbm9uZTtcbn1cblxuLyogRm9ybXNcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qKlxuICogMS4gQ2hhbmdlIHRoZSBmb250IHN0eWxlcyBpbiBhbGwgYnJvd3NlcnMuXG4gKiAyLiBSZW1vdmUgdGhlIG1hcmdpbiBpbiBGaXJlZm94IGFuZCBTYWZhcmkuXG4gKi9cblxuYnV0dG9uLFxuaW5wdXQsXG5vcHRncm91cCxcbnNlbGVjdCxcbnRleHRhcmVhIHtcbiAgICBmb250LWZhbWlseTogaW5oZXJpdDsgLyogMSAqL1xuICAgIGZvbnQtc2l6ZTogMTAwJTsgLyogMSAqL1xuICAgIGxpbmUtaGVpZ2h0OiAxLjE1OyAvKiAxICovXG4gICAgbWFyZ2luOiAwOyAvKiAyICovXG59XG5cbi8qKlxuICogU2hvdyB0aGUgb3ZlcmZsb3cgaW4gSUUuXG4gKiAxLiBTaG93IHRoZSBvdmVyZmxvdyBpbiBFZGdlLlxuICovXG5cbmJ1dHRvbixcbmlucHV0IHsgLyogMSAqL1xuICAgIG92ZXJmbG93OiB2aXNpYmxlO1xufVxuXG4vKipcbiAqIFJlbW92ZSB0aGUgaW5oZXJpdGFuY2Ugb2YgdGV4dCB0cmFuc2Zvcm0gaW4gRWRnZSwgRmlyZWZveCwgYW5kIElFLlxuICogMS4gUmVtb3ZlIHRoZSBpbmhlcml0YW5jZSBvZiB0ZXh0IHRyYW5zZm9ybSBpbiBGaXJlZm94LlxuICovXG5cbmJ1dHRvbixcbnNlbGVjdCB7IC8qIDEgKi9cbiAgICB0ZXh0LXRyYW5zZm9ybTogbm9uZTtcbn1cblxuLyoqXG4gKiBDb3JyZWN0IHRoZSBpbmFiaWxpdHkgdG8gc3R5bGUgY2xpY2thYmxlIHR5cGVzIGluIGlPUyBhbmQgU2FmYXJpLlxuICovXG5cbmJ1dHRvbixcblt0eXBlPVwiYnV0dG9uXCJdLFxuW3R5cGU9XCJyZXNldFwiXSxcblt0eXBlPVwic3VibWl0XCJdIHtcbiAgICAtd2Via2l0LWFwcGVhcmFuY2U6IGJ1dHRvbjtcbn1cblxuLyoqXG4gKiBSZW1vdmUgdGhlIGlubmVyIGJvcmRlciBhbmQgcGFkZGluZyBpbiBGaXJlZm94LlxuICovXG5cbmJ1dHRvbjo6LW1vei1mb2N1cy1pbm5lcixcblt0eXBlPVwiYnV0dG9uXCJdOjotbW96LWZvY3VzLWlubmVyLFxuW3R5cGU9XCJyZXNldFwiXTo6LW1vei1mb2N1cy1pbm5lcixcblt0eXBlPVwic3VibWl0XCJdOjotbW96LWZvY3VzLWlubmVyIHtcbiAgICBib3JkZXItc3R5bGU6IG5vbmU7XG4gICAgcGFkZGluZzogMDtcbn1cblxuLyoqXG4gKiBSZXN0b3JlIHRoZSBmb2N1cyBzdHlsZXMgdW5zZXQgYnkgdGhlIHByZXZpb3VzIHJ1bGUuXG4gKi9cblxuYnV0dG9uOi1tb3otZm9jdXNyaW5nLFxuW3R5cGU9XCJidXR0b25cIl06LW1vei1mb2N1c3JpbmcsXG5bdHlwZT1cInJlc2V0XCJdOi1tb3otZm9jdXNyaW5nLFxuW3R5cGU9XCJzdWJtaXRcIl06LW1vei1mb2N1c3Jpbmcge1xuICAgIG91dGxpbmU6IDFweCBkb3R0ZWQgQnV0dG9uVGV4dDtcbn1cblxuLyoqXG4gKiBDb3JyZWN0IHRoZSBwYWRkaW5nIGluIEZpcmVmb3guXG4gKi9cblxuZmllbGRzZXQge1xuICAgIHBhZGRpbmc6IDAuMzVlbSAwLjc1ZW0gMC42MjVlbTtcbn1cblxuLyoqXG4gKiAxLiBDb3JyZWN0IHRoZSB0ZXh0IHdyYXBwaW5nIGluIEVkZ2UgYW5kIElFLlxuICogMi4gQ29ycmVjdCB0aGUgY29sb3IgaW5oZXJpdGFuY2UgZnJvbSBgZmllbGRzZXRgIGVsZW1lbnRzIGluIElFLlxuICogMy4gUmVtb3ZlIHRoZSBwYWRkaW5nIHNvIGRldmVsb3BlcnMgYXJlIG5vdCBjYXVnaHQgb3V0IHdoZW4gdGhleSB6ZXJvIG91dFxuICogICAgYGZpZWxkc2V0YCBlbGVtZW50cyBpbiBhbGwgYnJvd3NlcnMuXG4gKi9cblxubGVnZW5kIHtcbiAgICBib3gtc2l6aW5nOiBib3JkZXItYm94OyAvKiAxICovXG4gICAgY29sb3I6IGluaGVyaXQ7IC8qIDIgKi9cbiAgICBkaXNwbGF5OiB0YWJsZTsgLyogMSAqL1xuICAgIG1heC13aWR0aDogMTAwJTsgLyogMSAqL1xuICAgIHBhZGRpbmc6IDA7IC8qIDMgKi9cbiAgICB3aGl0ZS1zcGFjZTogbm9ybWFsOyAvKiAxICovXG59XG5cbi8qKlxuICogQWRkIHRoZSBjb3JyZWN0IHZlcnRpY2FsIGFsaWdubWVudCBpbiBDaHJvbWUsIEZpcmVmb3gsIGFuZCBPcGVyYS5cbiAqL1xuXG5wcm9ncmVzcyB7XG4gICAgdmVydGljYWwtYWxpZ246IGJhc2VsaW5lO1xufVxuXG4vKipcbiAqIFJlbW92ZSB0aGUgZGVmYXVsdCB2ZXJ0aWNhbCBzY3JvbGxiYXIgaW4gSUUgMTArLlxuICovXG5cbnRleHRhcmVhIHtcbiAgICBvdmVyZmxvdzogYXV0bztcbn1cblxuLyoqXG4gKiAxLiBBZGQgdGhlIGNvcnJlY3QgYm94IHNpemluZyBpbiBJRSAxMC5cbiAqIDIuIFJlbW92ZSB0aGUgcGFkZGluZyBpbiBJRSAxMC5cbiAqL1xuXG5bdHlwZT1cImNoZWNrYm94XCJdLFxuW3R5cGU9XCJyYWRpb1wiXSB7XG4gICAgYm94LXNpemluZzogYm9yZGVyLWJveDsgLyogMSAqL1xuICAgIHBhZGRpbmc6IDA7IC8qIDIgKi9cbn1cblxuLyoqXG4gKiBDb3JyZWN0IHRoZSBjdXJzb3Igc3R5bGUgb2YgaW5jcmVtZW50IGFuZCBkZWNyZW1lbnQgYnV0dG9ucyBpbiBDaHJvbWUuXG4gKi9cblxuW3R5cGU9XCJudW1iZXJcIl06Oi13ZWJraXQtaW5uZXItc3Bpbi1idXR0b24sXG5bdHlwZT1cIm51bWJlclwiXTo6LXdlYmtpdC1vdXRlci1zcGluLWJ1dHRvbiB7XG4gICAgaGVpZ2h0OiBhdXRvO1xufVxuXG4vKipcbiAqIDEuIENvcnJlY3QgdGhlIG9kZCBhcHBlYXJhbmNlIGluIENocm9tZSBhbmQgU2FmYXJpLlxuICogMi4gQ29ycmVjdCB0aGUgb3V0bGluZSBzdHlsZSBpbiBTYWZhcmkuXG4gKi9cblxuW3R5cGU9XCJzZWFyY2hcIl0ge1xuICAgIC13ZWJraXQtYXBwZWFyYW5jZTogdGV4dGZpZWxkOyAvKiAxICovXG4gICAgb3V0bGluZS1vZmZzZXQ6IC0ycHg7IC8qIDIgKi9cbn1cblxuLyoqXG4gKiBSZW1vdmUgdGhlIGlubmVyIHBhZGRpbmcgaW4gQ2hyb21lIGFuZCBTYWZhcmkgb24gbWFjT1MuXG4gKi9cblxuW3R5cGU9XCJzZWFyY2hcIl06Oi13ZWJraXQtc2VhcmNoLWRlY29yYXRpb24ge1xuICAgIC13ZWJraXQtYXBwZWFyYW5jZTogbm9uZTtcbn1cblxuLyoqXG4gKiAxLiBDb3JyZWN0IHRoZSBpbmFiaWxpdHkgdG8gc3R5bGUgY2xpY2thYmxlIHR5cGVzIGluIGlPUyBhbmQgU2FmYXJpLlxuICogMi4gQ2hhbmdlIGZvbnQgcHJvcGVydGllcyB0byBgaW5oZXJpdGAgaW4gU2FmYXJpLlxuICovXG5cbjo6LXdlYmtpdC1maWxlLXVwbG9hZC1idXR0b24ge1xuICAgIC13ZWJraXQtYXBwZWFyYW5jZTogYnV0dG9uOyAvKiAxICovXG4gICAgZm9udDogaW5oZXJpdDsgLyogMiAqL1xufVxuXG4vKiBJbnRlcmFjdGl2ZVxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLypcbiAqIEFkZCB0aGUgY29ycmVjdCBkaXNwbGF5IGluIEVkZ2UsIElFIDEwKywgYW5kIEZpcmVmb3guXG4gKi9cblxuZGV0YWlscyB7XG4gICAgZGlzcGxheTogYmxvY2s7XG59XG5cbi8qXG4gKiBBZGQgdGhlIGNvcnJlY3QgZGlzcGxheSBpbiBhbGwgYnJvd3NlcnMuXG4gKi9cblxuc3VtbWFyeSB7XG4gICAgZGlzcGxheTogbGlzdC1pdGVtO1xufVxuXG4vKiBNaXNjXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKipcbiAqIEFkZCB0aGUgY29ycmVjdCBkaXNwbGF5IGluIElFIDEwKy5cbiAqL1xuXG50ZW1wbGF0ZSB7XG4gICAgZGlzcGxheTogbm9uZTtcbn1cblxuLyoqXG4gKiBBZGQgdGhlIGNvcnJlY3QgZGlzcGxheSBpbiBJRSAxMC5cbiAqL1xuXG5baGlkZGVuXSB7XG4gICAgZGlzcGxheTogbm9uZTtcbn0iLCIvKiEgbm9ybWFsaXplLmNzcyB2OC4wLjEgfCBNSVQgTGljZW5zZSB8IGdpdGh1Yi5jb20vbmVjb2xhcy9ub3JtYWxpemUuY3NzICovXG4vKiBEb2N1bWVudFxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8qKlxuICogMS4gQ29ycmVjdCB0aGUgbGluZSBoZWlnaHQgaW4gYWxsIGJyb3dzZXJzLlxuICogMi4gUHJldmVudCBhZGp1c3RtZW50cyBvZiBmb250IHNpemUgYWZ0ZXIgb3JpZW50YXRpb24gY2hhbmdlcyBpbiBpT1MuXG4gKi9cbkBpbXBvcnQgXCJ+ZmxpY2tpdHkvZGlzdC9mbGlja2l0eS5taW4uY3NzXCI7XG5odG1sIHtcbiAgbGluZS1oZWlnaHQ6IDEuNzI7IC8qIDEgKi9cbiAgLXdlYmtpdC10ZXh0LXNpemUtYWRqdXN0OiAxMDAlOyAvKiAyICovXG59XG5cbi8qIFNlY3Rpb25zXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLyoqXG4gKiBSZW1vdmUgdGhlIG1hcmdpbiBpbiBhbGwgYnJvd3NlcnMuXG4gKi9cbmJvZHkge1xuICBtYXJnaW46IDA7XG59XG5cbi8qKlxuICogUmVuZGVyIHRoZSBgbWFpbmAgZWxlbWVudCBjb25zaXN0ZW50bHkgaW4gSUUuXG4gKi9cbm1haW4ge1xuICBkaXNwbGF5OiBibG9jaztcbn1cblxuLyoqXG4gKiBDb3JyZWN0IHRoZSBmb250IHNpemUgYW5kIG1hcmdpbiBvbiBgaDFgIGVsZW1lbnRzIHdpdGhpbiBgc2VjdGlvbmAgYW5kXG4gKiBgYXJ0aWNsZWAgY29udGV4dHMgaW4gQ2hyb21lLCBGaXJlZm94LCBhbmQgU2FmYXJpLlxuICovXG5oMSB7XG4gIGZvbnQtc2l6ZTogMmVtO1xuICBtYXJnaW46IDAuNjdlbSAwO1xufVxuXG4vKiBHcm91cGluZyBjb250ZW50XG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLyoqXG4gKiAxLiBBZGQgdGhlIGNvcnJlY3QgYm94IHNpemluZyBpbiBGaXJlZm94LlxuICogMi4gU2hvdyB0aGUgb3ZlcmZsb3cgaW4gRWRnZSBhbmQgSUUuXG4gKi9cbmhyIHtcbiAgYm94LXNpemluZzogY29udGVudC1ib3g7IC8qIDEgKi9cbiAgaGVpZ2h0OiAwOyAvKiAxICovXG4gIG92ZXJmbG93OiB2aXNpYmxlOyAvKiAyICovXG59XG5cbi8qKlxuICogMS4gQ29ycmVjdCB0aGUgaW5oZXJpdGFuY2UgYW5kIHNjYWxpbmcgb2YgZm9udCBzaXplIGluIGFsbCBicm93c2Vycy5cbiAqIDIuIENvcnJlY3QgdGhlIG9kZCBgZW1gIGZvbnQgc2l6aW5nIGluIGFsbCBicm93c2Vycy5cbiAqL1xucHJlIHtcbiAgZm9udC1mYW1pbHk6IG1vbm9zcGFjZSwgbW9ub3NwYWNlOyAvKiAxICovXG4gIGZvbnQtc2l6ZTogMWVtOyAvKiAyICovXG59XG5cbi8qIFRleHQtbGV2ZWwgc2VtYW50aWNzXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLyoqXG4gKiBSZW1vdmUgdGhlIGdyYXkgYmFja2dyb3VuZCBvbiBhY3RpdmUgbGlua3MgaW4gSUUgMTAuXG4gKi9cbmEge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbn1cblxuLyoqXG4gKiAxLiBSZW1vdmUgdGhlIGJvdHRvbSBib3JkZXIgaW4gQ2hyb21lIDU3LVxuICogMi4gQWRkIHRoZSBjb3JyZWN0IHRleHQgZGVjb3JhdGlvbiBpbiBDaHJvbWUsIEVkZ2UsIElFLCBPcGVyYSwgYW5kIFNhZmFyaS5cbiAqL1xuYWJiclt0aXRsZV0ge1xuICBib3JkZXItYm90dG9tOiBub25lOyAvKiAxICovXG4gIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lOyAvKiAyICovXG4gIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lIGRvdHRlZDsgLyogMiAqL1xufVxuXG4vKipcbiAqIEFkZCB0aGUgY29ycmVjdCBmb250IHdlaWdodCBpbiBDaHJvbWUsIEVkZ2UsIGFuZCBTYWZhcmkuXG4gKi9cbmIsXG5zdHJvbmcge1xuICBmb250LXdlaWdodDogYm9sZGVyO1xufVxuXG4vKipcbiAqIDEuIENvcnJlY3QgdGhlIGluaGVyaXRhbmNlIGFuZCBzY2FsaW5nIG9mIGZvbnQgc2l6ZSBpbiBhbGwgYnJvd3NlcnMuXG4gKiAyLiBDb3JyZWN0IHRoZSBvZGQgYGVtYCBmb250IHNpemluZyBpbiBhbGwgYnJvd3NlcnMuXG4gKi9cbmNvZGUsXG5rYmQsXG5zYW1wIHtcbiAgZm9udC1mYW1pbHk6IG1vbm9zcGFjZSwgbW9ub3NwYWNlOyAvKiAxICovXG4gIGZvbnQtc2l6ZTogMWVtOyAvKiAyICovXG59XG5cbi8qKlxuICogQWRkIHRoZSBjb3JyZWN0IGZvbnQgc2l6ZSBpbiBhbGwgYnJvd3NlcnMuXG4gKi9cbnNtYWxsIHtcbiAgZm9udC1zaXplOiA4MCU7XG59XG5cbi8qKlxuICogUHJldmVudCBgc3ViYCBhbmQgYHN1cGAgZWxlbWVudHMgZnJvbSBhZmZlY3RpbmcgdGhlIGxpbmUgaGVpZ2h0IGluXG4gKiBhbGwgYnJvd3NlcnMuXG4gKi9cbnN1YixcbnN1cCB7XG4gIGZvbnQtc2l6ZTogNzUlO1xuICBsaW5lLWhlaWdodDogMDtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB2ZXJ0aWNhbC1hbGlnbjogYmFzZWxpbmU7XG59XG5cbnN1YiB7XG4gIGJvdHRvbTogLTAuMjVlbTtcbn1cblxuc3VwIHtcbiAgdG9wOiAtMC41ZW07XG59XG5cbi8qIEVtYmVkZGVkIGNvbnRlbnRcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKipcbiAqIFJlbW92ZSB0aGUgYm9yZGVyIG9uIGltYWdlcyBpbnNpZGUgbGlua3MgaW4gSUUgMTAuXG4gKi9cbmltZyB7XG4gIGJvcmRlci1zdHlsZTogbm9uZTtcbn1cblxuLyogRm9ybXNcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKipcbiAqIDEuIENoYW5nZSB0aGUgZm9udCBzdHlsZXMgaW4gYWxsIGJyb3dzZXJzLlxuICogMi4gUmVtb3ZlIHRoZSBtYXJnaW4gaW4gRmlyZWZveCBhbmQgU2FmYXJpLlxuICovXG5idXR0b24sXG5pbnB1dCxcbm9wdGdyb3VwLFxuc2VsZWN0LFxudGV4dGFyZWEge1xuICBmb250LWZhbWlseTogaW5oZXJpdDsgLyogMSAqL1xuICBmb250LXNpemU6IDEwMCU7IC8qIDEgKi9cbiAgbGluZS1oZWlnaHQ6IDEuMTU7IC8qIDEgKi9cbiAgbWFyZ2luOiAwOyAvKiAyICovXG59XG5cbi8qKlxuICogU2hvdyB0aGUgb3ZlcmZsb3cgaW4gSUUuXG4gKiAxLiBTaG93IHRoZSBvdmVyZmxvdyBpbiBFZGdlLlxuICovXG5idXR0b24sXG5pbnB1dCB7IC8qIDEgKi9cbiAgb3ZlcmZsb3c6IHZpc2libGU7XG59XG5cbi8qKlxuICogUmVtb3ZlIHRoZSBpbmhlcml0YW5jZSBvZiB0ZXh0IHRyYW5zZm9ybSBpbiBFZGdlLCBGaXJlZm94LCBhbmQgSUUuXG4gKiAxLiBSZW1vdmUgdGhlIGluaGVyaXRhbmNlIG9mIHRleHQgdHJhbnNmb3JtIGluIEZpcmVmb3guXG4gKi9cbmJ1dHRvbixcbnNlbGVjdCB7IC8qIDEgKi9cbiAgdGV4dC10cmFuc2Zvcm06IG5vbmU7XG59XG5cbi8qKlxuICogQ29ycmVjdCB0aGUgaW5hYmlsaXR5IHRvIHN0eWxlIGNsaWNrYWJsZSB0eXBlcyBpbiBpT1MgYW5kIFNhZmFyaS5cbiAqL1xuYnV0dG9uLFxuW3R5cGU9YnV0dG9uXSxcblt0eXBlPXJlc2V0XSxcblt0eXBlPXN1Ym1pdF0ge1xuICAtd2Via2l0LWFwcGVhcmFuY2U6IGJ1dHRvbjtcbn1cblxuLyoqXG4gKiBSZW1vdmUgdGhlIGlubmVyIGJvcmRlciBhbmQgcGFkZGluZyBpbiBGaXJlZm94LlxuICovXG5idXR0b246Oi1tb3otZm9jdXMtaW5uZXIsXG5bdHlwZT1idXR0b25dOjotbW96LWZvY3VzLWlubmVyLFxuW3R5cGU9cmVzZXRdOjotbW96LWZvY3VzLWlubmVyLFxuW3R5cGU9c3VibWl0XTo6LW1vei1mb2N1cy1pbm5lciB7XG4gIGJvcmRlci1zdHlsZTogbm9uZTtcbiAgcGFkZGluZzogMDtcbn1cblxuLyoqXG4gKiBSZXN0b3JlIHRoZSBmb2N1cyBzdHlsZXMgdW5zZXQgYnkgdGhlIHByZXZpb3VzIHJ1bGUuXG4gKi9cbmJ1dHRvbjotbW96LWZvY3VzcmluZyxcblt0eXBlPWJ1dHRvbl06LW1vei1mb2N1c3JpbmcsXG5bdHlwZT1yZXNldF06LW1vei1mb2N1c3JpbmcsXG5bdHlwZT1zdWJtaXRdOi1tb3otZm9jdXNyaW5nIHtcbiAgb3V0bGluZTogMXB4IGRvdHRlZCBCdXR0b25UZXh0O1xufVxuXG4vKipcbiAqIENvcnJlY3QgdGhlIHBhZGRpbmcgaW4gRmlyZWZveC5cbiAqL1xuZmllbGRzZXQge1xuICBwYWRkaW5nOiAwLjM1ZW0gMC43NWVtIDAuNjI1ZW07XG59XG5cbi8qKlxuICogMS4gQ29ycmVjdCB0aGUgdGV4dCB3cmFwcGluZyBpbiBFZGdlIGFuZCBJRS5cbiAqIDIuIENvcnJlY3QgdGhlIGNvbG9yIGluaGVyaXRhbmNlIGZyb20gYGZpZWxkc2V0YCBlbGVtZW50cyBpbiBJRS5cbiAqIDMuIFJlbW92ZSB0aGUgcGFkZGluZyBzbyBkZXZlbG9wZXJzIGFyZSBub3QgY2F1Z2h0IG91dCB3aGVuIHRoZXkgemVybyBvdXRcbiAqICAgIGBmaWVsZHNldGAgZWxlbWVudHMgaW4gYWxsIGJyb3dzZXJzLlxuICovXG5sZWdlbmQge1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94OyAvKiAxICovXG4gIGNvbG9yOiBpbmhlcml0OyAvKiAyICovXG4gIGRpc3BsYXk6IHRhYmxlOyAvKiAxICovXG4gIG1heC13aWR0aDogMTAwJTsgLyogMSAqL1xuICBwYWRkaW5nOiAwOyAvKiAzICovXG4gIHdoaXRlLXNwYWNlOiBub3JtYWw7IC8qIDEgKi9cbn1cblxuLyoqXG4gKiBBZGQgdGhlIGNvcnJlY3QgdmVydGljYWwgYWxpZ25tZW50IGluIENocm9tZSwgRmlyZWZveCwgYW5kIE9wZXJhLlxuICovXG5wcm9ncmVzcyB7XG4gIHZlcnRpY2FsLWFsaWduOiBiYXNlbGluZTtcbn1cblxuLyoqXG4gKiBSZW1vdmUgdGhlIGRlZmF1bHQgdmVydGljYWwgc2Nyb2xsYmFyIGluIElFIDEwKy5cbiAqL1xudGV4dGFyZWEge1xuICBvdmVyZmxvdzogYXV0bztcbn1cblxuLyoqXG4gKiAxLiBBZGQgdGhlIGNvcnJlY3QgYm94IHNpemluZyBpbiBJRSAxMC5cbiAqIDIuIFJlbW92ZSB0aGUgcGFkZGluZyBpbiBJRSAxMC5cbiAqL1xuW3R5cGU9Y2hlY2tib3hdLFxuW3R5cGU9cmFkaW9dIHtcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDsgLyogMSAqL1xuICBwYWRkaW5nOiAwOyAvKiAyICovXG59XG5cbi8qKlxuICogQ29ycmVjdCB0aGUgY3Vyc29yIHN0eWxlIG9mIGluY3JlbWVudCBhbmQgZGVjcmVtZW50IGJ1dHRvbnMgaW4gQ2hyb21lLlxuICovXG5bdHlwZT1udW1iZXJdOjotd2Via2l0LWlubmVyLXNwaW4tYnV0dG9uLFxuW3R5cGU9bnVtYmVyXTo6LXdlYmtpdC1vdXRlci1zcGluLWJ1dHRvbiB7XG4gIGhlaWdodDogYXV0bztcbn1cblxuLyoqXG4gKiAxLiBDb3JyZWN0IHRoZSBvZGQgYXBwZWFyYW5jZSBpbiBDaHJvbWUgYW5kIFNhZmFyaS5cbiAqIDIuIENvcnJlY3QgdGhlIG91dGxpbmUgc3R5bGUgaW4gU2FmYXJpLlxuICovXG5bdHlwZT1zZWFyY2hdIHtcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiB0ZXh0ZmllbGQ7IC8qIDEgKi9cbiAgb3V0bGluZS1vZmZzZXQ6IC0ycHg7IC8qIDIgKi9cbn1cblxuLyoqXG4gKiBSZW1vdmUgdGhlIGlubmVyIHBhZGRpbmcgaW4gQ2hyb21lIGFuZCBTYWZhcmkgb24gbWFjT1MuXG4gKi9cblt0eXBlPXNlYXJjaF06Oi13ZWJraXQtc2VhcmNoLWRlY29yYXRpb24ge1xuICAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7XG59XG5cbi8qKlxuICogMS4gQ29ycmVjdCB0aGUgaW5hYmlsaXR5IHRvIHN0eWxlIGNsaWNrYWJsZSB0eXBlcyBpbiBpT1MgYW5kIFNhZmFyaS5cbiAqIDIuIENoYW5nZSBmb250IHByb3BlcnRpZXMgdG8gYGluaGVyaXRgIGluIFNhZmFyaS5cbiAqL1xuOjotd2Via2l0LWZpbGUtdXBsb2FkLWJ1dHRvbiB7XG4gIC13ZWJraXQtYXBwZWFyYW5jZTogYnV0dG9uOyAvKiAxICovXG4gIGZvbnQ6IGluaGVyaXQ7IC8qIDIgKi9cbn1cblxuLyogSW50ZXJhY3RpdmVcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKlxuICogQWRkIHRoZSBjb3JyZWN0IGRpc3BsYXkgaW4gRWRnZSwgSUUgMTArLCBhbmQgRmlyZWZveC5cbiAqL1xuZGV0YWlscyB7XG4gIGRpc3BsYXk6IGJsb2NrO1xufVxuXG4vKlxuICogQWRkIHRoZSBjb3JyZWN0IGRpc3BsYXkgaW4gYWxsIGJyb3dzZXJzLlxuICovXG5zdW1tYXJ5IHtcbiAgZGlzcGxheTogbGlzdC1pdGVtO1xufVxuXG4vKiBNaXNjXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLyoqXG4gKiBBZGQgdGhlIGNvcnJlY3QgZGlzcGxheSBpbiBJRSAxMCsuXG4gKi9cbnRlbXBsYXRlIHtcbiAgZGlzcGxheTogbm9uZTtcbn1cblxuLyoqXG4gKiBBZGQgdGhlIGNvcnJlY3QgZGlzcGxheSBpbiBJRSAxMC5cbiAqL1xuW2hpZGRlbl0ge1xuICBkaXNwbGF5OiBub25lO1xufVxuXG5odG1sIHtcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgZm9udC1zaXplOiAxMDAlO1xufVxuXG4qLFxuKjo6YmVmb3JlLFxuKjo6YWZ0ZXIge1xuICBib3gtc2l6aW5nOiBpbmhlcml0O1xufVxuXG4vKioqKioqKioqKioqKioqKioqKioqXG5DT0xPUlNcbioqKioqKioqKioqKioqKioqKioqKi9cbi8qKioqKioqKioqKioqKioqKioqKipcblNwYWNpbmdcbioqKioqKioqKioqKioqKioqKioqKi9cbi8qKioqKioqKioqKioqKioqKioqKipcbkJyZWFrcG9pbnRzXG4qKioqKioqKioqKioqKioqKioqKiovXG5AZm9udC1mYWNlIHtcbiAgZm9udC1mYW1pbHk6IFwibHV4LXRkbS1pY29uZm9udFwiO1xuICBzcmM6IHVybChcIi4vLi4vbWVkaWEvZm9udHMvaWNvbW9vbi9pY29tb29uLmVvdFwiKTtcbiAgc3JjOiB1cmwoXCIuLy4uL21lZGlhL2ZvbnRzL2ljb21vb24vaWNvbW9vbi5lb3QjaWVmaXhcIikgZm9ybWF0KFwiZW1iZWRkZWQtb3BlbnR5cGVcIiksIHVybChcIi4vLi4vbWVkaWEvZm9udHMvaWNvbW9vbi9pY29tb29uLndvZmYyXCIpIGZvcm1hdChcIndvZmYyXCIpLCB1cmwoXCIuLy4uL21lZGlhL2ZvbnRzL2ljb21vb24vaWNvbW9vbi50dGZcIikgZm9ybWF0KFwidHJ1ZXR5cGVcIiksIHVybChcIi4vLi4vbWVkaWEvZm9udHMvaWNvbW9vbi9pY29tb29uLndvZmZcIikgZm9ybWF0KFwid29mZlwiKSwgdXJsKFwiLi8uLi9tZWRpYS9mb250cy9pY29tb29uL2ljb21vb24uc3ZnI2ljb21vb25cIikgZm9ybWF0KFwic3ZnXCIpO1xuICBmb250LXdlaWdodDogbm9ybWFsO1xuICBmb250LXN0eWxlOiBub3JtYWw7XG4gIGZvbnQtZGlzcGxheTogYmxvY2s7XG59XG5bY2xhc3NePWljb24tXSwgW2NsYXNzKj1cIiBpY29uLVwiXSB7XG4gIC8qIHVzZSAhaW1wb3J0YW50IHRvIHByZXZlbnQgaXNzdWVzIHdpdGggYnJvd3NlciBleHRlbnNpb25zIHRoYXQgY2hhbmdlIGZvbnRzICovXG4gIGZvbnQtZmFtaWx5OiBcImx1eC10ZG0taWNvbmZvbnRcIiAhaW1wb3J0YW50O1xuICBzcGVhazogbm9uZTtcbiAgZm9udC1zdHlsZTogbm9ybWFsO1xuICBmb250LXdlaWdodDogbm9ybWFsO1xuICBmb250LXZhcmlhbnQ6IG5vcm1hbDtcbiAgdGV4dC10cmFuc2Zvcm06IG5vbmU7XG4gIGxpbmUtaGVpZ2h0OiAxO1xuICAvKiBCZXR0ZXIgRm9udCBSZW5kZXJpbmcgPT09PT09PT09PT0gKi9cbiAgLXdlYmtpdC1mb250LXNtb290aGluZzogYW50aWFsaWFzZWQ7XG4gIC1tb3otb3N4LWZvbnQtc21vb3RoaW5nOiBncmF5c2NhbGU7XG59XG5cbi5pY29uLWFycm93LXJpZ2h0OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlOTAwXCI7XG59XG5cbi5pY29uLWFycm93LXVwOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlOTAxXCI7XG59XG5cbi5pY29uLW1haWw6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGU5MDJcIjtcbn1cblxuLmljb24tcGhvbmU6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGU5MDNcIjtcbn1cblxuaW1nIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIGhlaWdodDogYXV0bztcbiAgbWF4LXdpZHRoOiAxMDAlO1xufVxuXG4vKipcbkNhYmluIGZvbnRGYWNlXG4gKi9cbkBmb250LWZhY2Uge1xuICBmb250LWZhbWlseTogXCJDYWJpbi1Cb2xkXCI7XG4gIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgc3JjOiB1cmwoXCIuLi9tZWRpYS9mb250cy9DYWJpbkZvbnRGYW1pbHkvQ2FiaW4tQm9sZC50dGZcIikgZm9ybWF0KFwidHJ1ZXR5cGVcIik7XG59XG5AZm9udC1mYWNlIHtcbiAgZm9udC1mYW1pbHk6IFwiQ2FiaW4tQm9sZEl0YWxpY1wiO1xuICBmb250LXN0eWxlOiBub3JtYWw7XG4gIHNyYzogdXJsKFwiLi4vbWVkaWEvZm9udHMvQ2FiaW5Gb250RmFtaWx5L0NhYmluLUJvbGRJdGFsaWMudHRmXCIpIGZvcm1hdChcInRydWV0eXBlXCIpO1xufVxuQGZvbnQtZmFjZSB7XG4gIGZvbnQtZmFtaWx5OiBcIkNhYmluLUl0YWxpY1wiO1xuICBmb250LXN0eWxlOiBub3JtYWw7XG4gIHNyYzogdXJsKFwiLi4vbWVkaWEvZm9udHMvQ2FiaW5Gb250RmFtaWx5L0NhYmluLUl0YWxpYy50dGZcIikgZm9ybWF0KFwidHJ1ZXR5cGVcIik7XG59XG5AZm9udC1mYWNlIHtcbiAgZm9udC1mYW1pbHk6IFwiQ2FiaW4tTWVkaXVtXCI7XG4gIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgc3JjOiB1cmwoXCIuLi9tZWRpYS9mb250cy9DYWJpbkZvbnRGYW1pbHkvQ2FiaW4tTWVkaXVtLnR0ZlwiKSBmb3JtYXQoXCJ0cnVldHlwZVwiKTtcbn1cbkBmb250LWZhY2Uge1xuICBmb250LWZhbWlseTogXCJDYWJpbi1NZWRpdW1JdGFsaWNcIjtcbiAgZm9udC1zdHlsZTogbm9ybWFsO1xuICBzcmM6IHVybChcIi4uL21lZGlhL2ZvbnRzL0NhYmluRm9udEZhbWlseS9DYWJpbi1NZWRpdW1JdGFsaWMudHRmXCIpIGZvcm1hdChcInRydWV0eXBlXCIpO1xufVxuQGZvbnQtZmFjZSB7XG4gIGZvbnQtZmFtaWx5OiBcIkNhYmluLVJlZ3VsYXJcIjtcbiAgZm9udC1zdHlsZTogbm9ybWFsO1xuICBzcmM6IHVybChcIi4uL21lZGlhL2ZvbnRzL0NhYmluRm9udEZhbWlseS9DYWJpbi1SZWd1bGFyLnR0ZlwiKSBmb3JtYXQoXCJ0cnVldHlwZVwiKTtcbn1cbkBmb250LWZhY2Uge1xuICBmb250LWZhbWlseTogXCJDYWJpbi1TZW1pQm9sZFwiO1xuICBmb250LXN0eWxlOiBub3JtYWw7XG4gIHNyYzogdXJsKFwiLi4vbWVkaWEvZm9udHMvQ2FiaW5Gb250RmFtaWx5L0NhYmluLVNlbWlCb2xkLnR0ZlwiKSBmb3JtYXQoXCJ0cnVldHlwZVwiKTtcbn1cbkBmb250LWZhY2Uge1xuICBmb250LWZhbWlseTogXCJDYWJpbi1TZW1pQm9sZEl0YWxpY1wiO1xuICBmb250LXN0eWxlOiBub3JtYWw7XG4gIHNyYzogdXJsKFwiLi4vbWVkaWEvZm9udHMvQ2FiaW5Gb250RmFtaWx5L0NhYmluLVNlbWlCb2xkSXRhbGljLnR0ZlwiKSBmb3JtYXQoXCJ0cnVldHlwZVwiKTtcbn1cbi8qKlxuUGxheWZhaXIgZm9udCBmYWNlXG4gKi9cbkBmb250LWZhY2Uge1xuICBmb250LWZhbWlseTogXCJQbGF5ZmFpclwiO1xuICBmb250LXN0eWxlOiBub3JtYWw7XG4gIHNyYzogdXJsKFwiLi4vbWVkaWEvZm9udHMvUGxheWZhaXJEaXNwbGF5Rm9udEZhbWlseS9QbGF5ZmFpckRpc3BsYXktVmFyaWFibGVGb250X3dnaHQudHRmXCIpIGZvcm1hdChcInRydWV0eXBlXCIpO1xufVxuQGZvbnQtZmFjZSB7XG4gIGZvbnQtZmFtaWx5OiBcIlBsYXlmYWlyLWl0YWxpY1wiO1xuICBmb250LXN0eWxlOiBub3JtYWw7XG4gIHNyYzogdXJsKFwiLi4vbWVkaWEvZm9udHMvUGxheWZhaXJEaXNwbGF5Rm9udEZhbWlseS9QbGF5ZmFpckRpc3BsYXktSXRhbGljLVZhcmlhYmxlRm9udF93Z2h0LnR0ZlwiKSBmb3JtYXQoXCJ0cnVldHlwZVwiKTtcbn1cbm1haW4ge1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICBwYWRkaW5nLXRvcDogMTEwcHg7XG59XG5cbmh0bWwge1xuICBvdmVyZmxvdy14OiBoaWRkZW47XG59XG5cbmJvZHkge1xuICBvdmVyZmxvdy14OiBoaWRkZW47XG4gIGZvbnQtZmFtaWx5OiBcIkNhYmluLVJlZ3VsYXJcIiwgc2Fucy1zZXJpZjtcbiAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgZm9udC1zaXplOiAxOHB4O1xufVxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDQ0Ljk5ODc1ZW0pIHtcbiAgYm9keSB7XG4gICAgZm9udC1zaXplOiAxNnB4O1xuICB9XG59XG5ib2R5Lm92ZXJsYXktaGlkZGVuIHtcbiAgaGVpZ2h0OiAxMDB2aDtcbiAgbWluLWhlaWdodDogNzAwcHg7XG4gIG92ZXJmbG93OiBoaWRkZW47XG59XG5cbmgxLFxuaDIsXG5oMyxcbmg0LFxuaDUsXG5oNiB7XG4gIGZvbnQtZmFtaWx5OiBcIlBsYXlmYWlyXCIsIHNhbnMtc2VyaWY7XG4gIGZvbnQtd2VpZ2h0OiA1MDA7XG59XG5cbmgyIHtcbiAgZm9udC1zaXplOiA0NHB4O1xuICBsaW5lLWhlaWdodDogNTJweDtcbn1cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA0NC45OTg3NWVtKSB7XG4gIGgyIHtcbiAgICBmb250LXNpemU6IDM4cHg7XG4gICAgbGluZS1oZWlnaHQ6IDQ2cHg7XG4gICAgLXdlYmtpdC1mb250LXNtb290aGluZzogYW50aWFsaWFzZWQ7XG4gIH1cbn1cbmgyIHtcbiAgY29sb3I6ICMzNjE5MTk7XG4gIHBhZGRpbmc6IDI1cHggMCAxNXB4IDA7XG4gIG1hcmdpbjogMCBhdXRvO1xufVxuXG51bCB7XG4gIGxpc3Qtc3R5bGU6IG5vbmU7XG4gIHBhZGRpbmctbGVmdDogMDtcbn1cblxuYSB7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbn1cblxuYnV0dG9uIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gIGJvcmRlcjogbm9uZTtcbn1cblxucCB7XG4gIGNvbG9yOiAjNEY0RDQ4O1xufVxuXG5zdHJvbmcge1xuICBmb250LWZhbWlseTogXCJDYWJpbi1Cb2xkXCIsIHNhbnMtc2VyaWY7XG4gIGZvbnQtd2VpZ2h0OiA3MDA7XG59XG5cbi5zY3JvbGwtdG8tdG9wIHtcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIHBhZGRpbmctdG9wOiA1MHB4O1xufVxuLnNjcm9sbC10by10b3AgYnV0dG9uIHtcbiAgZm9udC1zaXplOiA2MHB4O1xuICBvdXRsaW5lOiBub25lO1xuICBjdXJzb3I6IHBvaW50ZXI7XG59XG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMzBlbSkge1xuICAuc2Nyb2xsLXRvLXRvcCBidXR0b246Zm9jdXMge1xuICAgIG91dGxpbmU6IDFweCBzb2xpZCByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMik7XG4gIH1cbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc1ZW0pIHtcbiAgLnNjcm9sbC10by10b3Age1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBib3R0b206IDA7XG4gICAgcmlnaHQ6IDEzMHB4O1xuICB9XG4gIC5zY3JvbGwtdG8tdG9wIHNwYW4ge1xuICAgIGZvbnQtc2l6ZTogMTA5cHg7XG4gIH1cbn1cblxuLyogTWFnbmlmaWMgUG9wdXAgQ1NTICovXG4ubWZwLWJnIHtcbiAgdG9wOiAwO1xuICBsZWZ0OiAwO1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAxMDAlO1xuICB6LWluZGV4OiAxMDQyO1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICBwb3NpdGlvbjogZml4ZWQ7XG4gIGJhY2tncm91bmQ6ICMwYjBiMGI7XG4gIG9wYWNpdHk6IDAuODtcbn1cblxuLm1mcC13cmFwIHtcbiAgdG9wOiAwO1xuICBsZWZ0OiAwO1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAxMDAlO1xuICB6LWluZGV4OiAxMDQzO1xuICBwb3NpdGlvbjogZml4ZWQ7XG4gIG91dGxpbmU6IG5vbmUgIWltcG9ydGFudDtcbiAgLXdlYmtpdC1iYWNrZmFjZS12aXNpYmlsaXR5OiBoaWRkZW47XG59XG5cbi5tZnAtY29udGFpbmVyIHtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IDEwMCU7XG4gIGxlZnQ6IDA7XG4gIHRvcDogMDtcbiAgcGFkZGluZzogMCA4cHg7XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG59XG5cbi5tZnAtY29udGFpbmVyOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXCI7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgaGVpZ2h0OiAxMDAlO1xuICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xufVxuXG4ubWZwLWFsaWduLXRvcCAubWZwLWNvbnRhaW5lcjpiZWZvcmUge1xuICBkaXNwbGF5OiBub25lO1xufVxuXG4ubWZwLWNvbnRlbnQge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgbWFyZ2luOiAwIGF1dG87XG4gIHRleHQtYWxpZ246IGxlZnQ7XG4gIHotaW5kZXg6IDEwNDU7XG59XG4ubWZwLWNvbnRlbnQgZmlnY2FwdGlvbiB7XG4gIGRpc3BsYXk6IG5vbmU7XG59XG5cbi5tZnAtaW5saW5lLWhvbGRlciAubWZwLWNvbnRlbnQsXG4ubWZwLWFqYXgtaG9sZGVyIC5tZnAtY29udGVudCB7XG4gIHdpZHRoOiAxMDAlO1xuICBjdXJzb3I6IGF1dG87XG59XG5cbi5tZnAtYWpheC1jdXIge1xuICBjdXJzb3I6IHByb2dyZXNzO1xufVxuXG4ubWZwLXpvb20tb3V0LWN1ciwgLm1mcC16b29tLW91dC1jdXIgLm1mcC1pbWFnZS1ob2xkZXIgLm1mcC1jbG9zZSB7XG4gIGN1cnNvcjogLW1vei16b29tLW91dDtcbiAgY3Vyc29yOiAtd2Via2l0LXpvb20tb3V0O1xuICBjdXJzb3I6IHpvb20tb3V0O1xufVxuXG4ubWZwLXpvb20ge1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIGN1cnNvcjogLXdlYmtpdC16b29tLWluO1xuICBjdXJzb3I6IC1tb3otem9vbS1pbjtcbiAgY3Vyc29yOiB6b29tLWluO1xufVxuXG4ubWZwLWF1dG8tY3Vyc29yIC5tZnAtY29udGVudCB7XG4gIGN1cnNvcjogYXV0bztcbn1cblxuLm1mcC1jbG9zZSxcbi5tZnAtYXJyb3csXG4ubWZwLXByZWxvYWRlcixcbi5tZnAtY291bnRlciB7XG4gIC13ZWJraXQtdXNlci1zZWxlY3Q6IG5vbmU7XG4gIC1tb3otdXNlci1zZWxlY3Q6IG5vbmU7XG4gIHVzZXItc2VsZWN0OiBub25lO1xufVxuXG4ubWZwLWxvYWRpbmcubWZwLWZpZ3VyZSB7XG4gIGRpc3BsYXk6IG5vbmU7XG59XG5cbi5tZnAtaGlkZSB7XG4gIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbn1cblxuLm1mcC1wcmVsb2FkZXIge1xuICBjb2xvcjogI0NDQztcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDUwJTtcbiAgd2lkdGg6IGF1dG87XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgbWFyZ2luLXRvcDogLTAuOGVtO1xuICBsZWZ0OiA4cHg7XG4gIHJpZ2h0OiA4cHg7XG4gIHotaW5kZXg6IDEwNDQ7XG59XG5cbi5tZnAtcHJlbG9hZGVyIGEge1xuICBjb2xvcjogI0NDQztcbn1cblxuLm1mcC1wcmVsb2FkZXIgYTpob3ZlciB7XG4gIGNvbG9yOiAjRkZGO1xufVxuXG4ubWZwLXMtcmVhZHkgLm1mcC1wcmVsb2FkZXIge1xuICBkaXNwbGF5OiBub25lO1xufVxuXG4ubWZwLXMtZXJyb3IgLm1mcC1jb250ZW50IHtcbiAgZGlzcGxheTogbm9uZTtcbn1cblxuYnV0dG9uLm1mcC1jbG9zZSxcbmJ1dHRvbi5tZnAtYXJyb3cge1xuICBvdmVyZmxvdzogdmlzaWJsZTtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgYm9yZGVyOiAwO1xuICAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBvdXRsaW5lOiBub25lO1xuICBwYWRkaW5nOiAwO1xuICB6LWluZGV4OiAxMDQ2O1xuICBib3gtc2hhZG93OiBub25lO1xuICB0b3VjaC1hY3Rpb246IG1hbmlwdWxhdGlvbjtcbn1cblxuYnV0dG9uOjotbW96LWZvY3VzLWlubmVyIHtcbiAgcGFkZGluZzogMDtcbiAgYm9yZGVyOiAwO1xufVxuXG4ubWZwLWNsb3NlIHtcbiAgd2lkdGg6IDQ0cHg7XG4gIGhlaWdodDogNDRweDtcbiAgbGluZS1oZWlnaHQ6IDQ0cHg7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgcmlnaHQ6IDA7XG4gIHRvcDogMDtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIG9wYWNpdHk6IDAuNjU7XG4gIHBhZGRpbmc6IDAgMCAxOHB4IDEwcHg7XG4gIGNvbG9yOiAjRkZGO1xuICBmb250LXN0eWxlOiBub3JtYWw7XG4gIGZvbnQtc2l6ZTogMjhweDtcbiAgZm9udC1mYW1pbHk6IEFyaWFsLCBCYXNrZXJ2aWxsZSwgbW9ub3NwYWNlO1xufVxuXG4ubWZwLWNsb3NlOmhvdmVyLFxuLm1mcC1jbG9zZTpmb2N1cyB7XG4gIG9wYWNpdHk6IDE7XG59XG5cbi5tZnAtY2xvc2U6YWN0aXZlIHtcbiAgdG9wOiAxcHg7XG59XG5cbi5tZnAtY2xvc2UtYnRuLWluIC5tZnAtY2xvc2Uge1xuICBjb2xvcjogIzMzMztcbn1cblxuLm1mcC1pbWFnZS1ob2xkZXIgLm1mcC1jbG9zZSxcbi5tZnAtaWZyYW1lLWhvbGRlciAubWZwLWNsb3NlIHtcbiAgY29sb3I6ICNGRkY7XG4gIHJpZ2h0OiAtNnB4O1xuICB0ZXh0LWFsaWduOiByaWdodDtcbiAgcGFkZGluZy1yaWdodDogNnB4O1xuICB3aWR0aDogMTAwJTtcbn1cblxuLm1mcC1jb3VudGVyIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDA7XG4gIHJpZ2h0OiAwO1xuICBjb2xvcjogI0NDQztcbiAgZm9udC1zaXplOiAxMnB4O1xuICBsaW5lLWhlaWdodDogMThweDtcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbn1cblxuLm1mcC1hcnJvdyB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgb3BhY2l0eTogMC42NTtcbiAgbWFyZ2luOiAwO1xuICB0b3A6IDUwJTtcbiAgbWFyZ2luLXRvcDogLTU1cHg7XG4gIHBhZGRpbmc6IDA7XG4gIHdpZHRoOiA5MHB4O1xuICBoZWlnaHQ6IDExMHB4O1xuICAtd2Via2l0LXRhcC1oaWdobGlnaHQtY29sb3I6IHRyYW5zcGFyZW50O1xufVxuXG4ubWZwLWFycm93OmFjdGl2ZSB7XG4gIG1hcmdpbi10b3A6IC01NHB4O1xufVxuXG4ubWZwLWFycm93OmhvdmVyLFxuLm1mcC1hcnJvdzpmb2N1cyB7XG4gIG9wYWNpdHk6IDE7XG59XG5cbi5tZnAtYXJyb3c6YmVmb3JlLFxuLm1mcC1hcnJvdzphZnRlciB7XG4gIGNvbnRlbnQ6IFwiXCI7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICB3aWR0aDogMDtcbiAgaGVpZ2h0OiAwO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGxlZnQ6IDA7XG4gIHRvcDogMDtcbiAgbWFyZ2luLXRvcDogMzVweDtcbiAgbWFyZ2luLWxlZnQ6IDM1cHg7XG4gIGJvcmRlcjogbWVkaXVtIGluc2V0IHRyYW5zcGFyZW50O1xufVxuXG4ubWZwLWFycm93OmFmdGVyIHtcbiAgYm9yZGVyLXRvcC13aWR0aDogMTNweDtcbiAgYm9yZGVyLWJvdHRvbS13aWR0aDogMTNweDtcbiAgdG9wOiA4cHg7XG59XG5cbi5tZnAtYXJyb3c6YmVmb3JlIHtcbiAgYm9yZGVyLXRvcC13aWR0aDogMjFweDtcbiAgYm9yZGVyLWJvdHRvbS13aWR0aDogMjFweDtcbiAgb3BhY2l0eTogMC43O1xufVxuXG4ubWZwLWFycm93LWxlZnQge1xuICBsZWZ0OiAwO1xufVxuXG4ubWZwLWFycm93LWxlZnQ6YWZ0ZXIge1xuICBib3JkZXItcmlnaHQ6IDE3cHggc29saWQgI0ZGRjtcbiAgbWFyZ2luLWxlZnQ6IDMxcHg7XG59XG5cbi5tZnAtYXJyb3ctbGVmdDpiZWZvcmUge1xuICBtYXJnaW4tbGVmdDogMjVweDtcbiAgYm9yZGVyLXJpZ2h0OiAyN3B4IHNvbGlkICMzRjNGM0Y7XG59XG5cbi5tZnAtYXJyb3ctcmlnaHQge1xuICByaWdodDogMDtcbn1cblxuLm1mcC1hcnJvdy1yaWdodDphZnRlciB7XG4gIGJvcmRlci1sZWZ0OiAxN3B4IHNvbGlkICNGRkY7XG4gIG1hcmdpbi1sZWZ0OiAzOXB4O1xufVxuXG4ubWZwLWFycm93LXJpZ2h0OmJlZm9yZSB7XG4gIGJvcmRlci1sZWZ0OiAyN3B4IHNvbGlkICMzRjNGM0Y7XG59XG5cbi5tZnAtaWZyYW1lLWhvbGRlciB7XG4gIHBhZGRpbmctdG9wOiA0MHB4O1xuICBwYWRkaW5nLWJvdHRvbTogNDBweDtcbn1cblxuLm1mcC1pZnJhbWUtaG9sZGVyIC5tZnAtY29udGVudCB7XG4gIGxpbmUtaGVpZ2h0OiAwO1xuICB3aWR0aDogMTAwJTtcbiAgbWF4LXdpZHRoOiA5MDBweDtcbn1cblxuLm1mcC1pZnJhbWUtaG9sZGVyIC5tZnAtY2xvc2Uge1xuICB0b3A6IC00MHB4O1xufVxuXG4ubWZwLWlmcmFtZS1zY2FsZXIge1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAwO1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICBwYWRkaW5nLXRvcDogNTYuMjUlO1xufVxuXG4ubWZwLWlmcmFtZS1zY2FsZXIgaWZyYW1lIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBkaXNwbGF5OiBibG9jaztcbiAgdG9wOiAwO1xuICBsZWZ0OiAwO1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAxMDAlO1xuICBib3gtc2hhZG93OiAwIDAgOHB4IHJnYmEoMCwgMCwgMCwgMC42KTtcbiAgYmFja2dyb3VuZDogIzAwMDtcbn1cblxuLyogTWFpbiBpbWFnZSBpbiBwb3B1cCAqL1xuaW1nLm1mcC1pbWcge1xuICB3aWR0aDogYXV0bztcbiAgbWF4LXdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IGF1dG87XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBsaW5lLWhlaWdodDogMDtcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgcGFkZGluZzogNDBweCAwIDQwcHg7XG4gIG1hcmdpbjogMCBhdXRvO1xufVxuXG4vKiBUaGUgc2hhZG93IGJlaGluZCB0aGUgaW1hZ2UgKi9cbi5tZnAtZmlndXJlIHtcbiAgbGluZS1oZWlnaHQ6IDA7XG59XG5cbi5tZnAtZmlndXJlOmFmdGVyIHtcbiAgY29udGVudDogXCJcIjtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBsZWZ0OiAwO1xuICB0b3A6IDQwcHg7XG4gIGJvdHRvbTogNDBweDtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHJpZ2h0OiAwO1xuICB3aWR0aDogYXV0bztcbiAgaGVpZ2h0OiBhdXRvO1xuICB6LWluZGV4OiAtMTtcbiAgYm94LXNoYWRvdzogMCAwIDhweCByZ2JhKDAsIDAsIDAsIDAuNik7XG4gIGJhY2tncm91bmQ6ICM0NDQ7XG59XG5cbi5tZnAtZmlndXJlIHNtYWxsIHtcbiAgY29sb3I6ICNCREJEQkQ7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBmb250LXNpemU6IDEycHg7XG4gIGxpbmUtaGVpZ2h0OiAxNHB4O1xufVxuXG4ubWZwLWZpZ3VyZSBmaWd1cmUge1xuICBtYXJnaW46IDA7XG59XG5cbi5tZnAtYm90dG9tLWJhciB7XG4gIG1hcmdpbi10b3A6IC0zNnB4O1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogMTAwJTtcbiAgbGVmdDogMDtcbiAgd2lkdGg6IDEwMCU7XG4gIGN1cnNvcjogYXV0bztcbn1cblxuLm1mcC10aXRsZSB7XG4gIHRleHQtYWxpZ246IGxlZnQ7XG4gIGxpbmUtaGVpZ2h0OiAxOHB4O1xuICBjb2xvcjogI0YzRjNGMztcbiAgd29yZC13cmFwOiBicmVhay13b3JkO1xuICBwYWRkaW5nLXJpZ2h0OiAzNnB4O1xufVxuXG4ubWZwLWltYWdlLWhvbGRlciAubWZwLWNvbnRlbnQge1xuICBtYXgtd2lkdGg6IDEwMCU7XG59XG5cbi5tZnAtZ2FsbGVyeSAubWZwLWltYWdlLWhvbGRlciAubWZwLWZpZ3VyZSB7XG4gIGN1cnNvcjogcG9pbnRlcjtcbn1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogODAwcHgpIGFuZCAob3JpZW50YXRpb246IGxhbmRzY2FwZSksIHNjcmVlbiBhbmQgKG1heC1oZWlnaHQ6IDMwMHB4KSB7XG4gIC8qKlxuICAgICAgICogUmVtb3ZlIGFsbCBwYWRkaW5ncyBhcm91bmQgdGhlIGltYWdlIG9uIHNtYWxsIHNjcmVlblxuICAgICAgICovXG4gIC5tZnAtaW1nLW1vYmlsZSAubWZwLWltYWdlLWhvbGRlciB7XG4gICAgcGFkZGluZy1sZWZ0OiAwO1xuICAgIHBhZGRpbmctcmlnaHQ6IDA7XG4gIH1cbiAgLm1mcC1pbWctbW9iaWxlIGltZy5tZnAtaW1nIHtcbiAgICBwYWRkaW5nOiAwO1xuICB9XG4gIC5tZnAtaW1nLW1vYmlsZSAubWZwLWZpZ3VyZTphZnRlciB7XG4gICAgdG9wOiAwO1xuICAgIGJvdHRvbTogMDtcbiAgfVxuICAubWZwLWltZy1tb2JpbGUgLm1mcC1maWd1cmUgc21hbGwge1xuICAgIGRpc3BsYXk6IGlubGluZTtcbiAgICBtYXJnaW4tbGVmdDogNXB4O1xuICB9XG4gIC5tZnAtaW1nLW1vYmlsZSAubWZwLWJvdHRvbS1iYXIge1xuICAgIGJhY2tncm91bmQ6IHJnYmEoMCwgMCwgMCwgMC42KTtcbiAgICBib3R0b206IDA7XG4gICAgbWFyZ2luOiAwO1xuICAgIHRvcDogYXV0bztcbiAgICBwYWRkaW5nOiAzcHggNXB4O1xuICAgIHBvc2l0aW9uOiBmaXhlZDtcbiAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICB9XG4gIC5tZnAtaW1nLW1vYmlsZSAubWZwLWJvdHRvbS1iYXI6ZW1wdHkge1xuICAgIHBhZGRpbmc6IDA7XG4gIH1cbiAgLm1mcC1pbWctbW9iaWxlIC5tZnAtY291bnRlciB7XG4gICAgcmlnaHQ6IDVweDtcbiAgICB0b3A6IDNweDtcbiAgfVxuICAubWZwLWltZy1tb2JpbGUgLm1mcC1jbG9zZSB7XG4gICAgdG9wOiAwO1xuICAgIHJpZ2h0OiAwO1xuICAgIHdpZHRoOiAzNXB4O1xuICAgIGhlaWdodDogMzVweDtcbiAgICBsaW5lLWhlaWdodDogMzVweDtcbiAgICBiYWNrZ3JvdW5kOiByZ2JhKDAsIDAsIDAsIDAuNik7XG4gICAgcG9zaXRpb246IGZpeGVkO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICBwYWRkaW5nOiAwO1xuICB9XG59XG5AbWVkaWEgYWxsIGFuZCAobWF4LXdpZHRoOiA5MDBweCkge1xuICAubWZwLWFycm93IHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUoMC43NSk7XG4gICAgdHJhbnNmb3JtOiBzY2FsZSgwLjc1KTtcbiAgfVxuICAubWZwLWFycm93LWxlZnQge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtLW9yaWdpbjogMDtcbiAgICB0cmFuc2Zvcm0tb3JpZ2luOiAwO1xuICB9XG4gIC5tZnAtYXJyb3ctcmlnaHQge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtLW9yaWdpbjogMTAwJTtcbiAgICB0cmFuc2Zvcm0tb3JpZ2luOiAxMDAlO1xuICB9XG4gIC5tZnAtY29udGFpbmVyIHtcbiAgICBwYWRkaW5nLWxlZnQ6IDZweDtcbiAgICBwYWRkaW5nLXJpZ2h0OiA2cHg7XG4gIH1cbn1cbi5idXR0b246aG92ZXIge1xuICBjdXJzb3I6IHBvaW50ZXI7XG59XG5cbi5mb3JtYXQtdGV4dCB1bCB7XG4gIGxpc3Qtc3R5bGU6IGRpc2M7XG4gIHBhZGRpbmctbGVmdDogMjBweDtcbn1cbi5mb3JtYXQtdGV4dCBhIHtcbiAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XG4gIHdvcmQtYnJlYWs6IGJyZWFrLXdvcmQ7XG59XG5cbi5hMTF5X192by1vbmx5IHtcbiAgLXdlYmtpdC1jbGlwLXBhdGg6IGluc2V0KDEwMCUpO1xuICBjbGlwLXBhdGg6IGluc2V0KDEwMCUpO1xuICBjbGlwOiByZWN0KDAgMCAwIDApO1xuICBib3JkZXI6IDA7XG4gIGhlaWdodDogMXB4O1xuICBtYXJnaW46IC0xcHg7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIHBhZGRpbmc6IDA7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgd2lkdGg6IDFweDtcbn1cblxuLmExMXlfX3NraXAtY29udGVudCB7XG4gIGJhY2tncm91bmQtY29sb3I6IHdoaXRlO1xuICBjb2xvcjogIzAwMDtcbiAgcGFkZGluZzogMTVweCAzMHB4O1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHotaW5kZXg6IDk5OTtcbn1cbi5hMTF5X19za2lwLWNvbnRlbnQ6bm90KDpmb2N1cyk6bm90KDphY3RpdmUpIHtcbiAgLXdlYmtpdC1jbGlwLXBhdGg6IGluc2V0KDEwMCUpO1xuICBjbGlwLXBhdGg6IGluc2V0KDEwMCUpO1xuICBjbGlwOiByZWN0KDAgMCAwIDApO1xuICBib3JkZXI6IDA7XG4gIGhlaWdodDogMXB4O1xuICBtYXJnaW46IC0xcHg7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIHBhZGRpbmc6IDA7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgd2lkdGg6IDFweDtcbn1cblxuLmZsaWNraXR5LWNlbGwge1xuICB3aWR0aDogMTAwJTtcbn1cbi5mbGlja2l0eS1jZWxsIGltZyB7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IDQzM3B4O1xuICBvYmplY3QtZml0OiBjb3Zlcjtcbn1cblxuLmZsaWNraXR5LXZpZXdwb3J0OmFmdGVyIHtcbiAgY29udGVudDogXCJcIjtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBkaXNwbGF5OiBibG9jaztcbiAgaGVpZ2h0OiAxMDAlO1xuICB3aWR0aDogMTUlO1xuICB0b3A6IDA7XG4gIHJpZ2h0OiAwO1xuICBtYXgtd2lkdGg6IDE0MHB4O1xuICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgei1pbmRleDogMztcbiAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQgbGluZWFyLWdyYWRpZW50KDI3MGRlZywgcmdiYSgyNiwgNzUsIDY0LCAwLjYxKSAwJSwgcmdiYSgyNiwgNzUsIDY0LCAwKSA4MCUpIDAgMCBuby1yZXBlYXQgcGFkZGluZy1ib3g7XG59XG5cbi5mbGlja2l0eS1wYWdlLWRvdHMge1xuICBib3R0b206IDMxcHg7XG59XG5cbi5mbGlja2l0eS1wYWdlLWRvdCB7XG4gIHdpZHRoOiAxN3B4O1xuICBoZWlnaHQ6IDE3cHg7XG4gIG1pbi13aWR0aDogMTdweDtcbiAgbWluLWhlaWdodDogMTdweDtcbiAgYm9yZGVyLXJhZGl1czogNTAlO1xuICBiYWNrZ3JvdW5kOiAjZmZmO1xufVxuLmZsaWNraXR5LXBhZ2UtZG90LmlzLXNlbGVjdGVkIHtcbiAgYmFja2dyb3VuZDogIzM2MTkxOTtcbn1cbi5mbGlja2l0eS1wYWdlLWRvdDpmb2N1cyB7XG4gIGJveC1zaGFkb3c6IG5vbmU7XG59XG5cbi5mbGlja2l0eS1idXR0b24ge1xuICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgY29sb3I6ICNFQkYxRjA7XG4gIHRvcDogYXV0bztcbiAgdHJhbnNmb3JtOiBub25lO1xuICBib3R0b206IDIycHg7XG4gIHdpZHRoOiA1NXB4O1xuICBoZWlnaHQ6IDMycHg7XG4gIGJvcmRlci1yYWRpdXM6IDA7XG4gIHBhZGRpbmc6IDA7XG4gIHotaW5kZXg6IDQ7XG59XG4uZmxpY2tpdHktYnV0dG9uLm5leHQgLmZsaWNraXR5LWJ1dHRvbi1pY29uIHtcbiAgdG9wOiAtNHB4O1xufVxuLmZsaWNraXR5LWJ1dHRvbiAuZmxpY2tpdHktYnV0dG9uLWljb24ge1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAxMDAlO1xuICB0b3A6IDA7XG4gIGxlZnQ6IDA7XG59XG4uZmxpY2tpdHktYnV0dG9uOmhvdmVyLCAuZmxpY2tpdHktYnV0dG9uOmZvY3VzLXdpdGhpbiwgLmZsaWNraXR5LWJ1dHRvbjpmb2N1cyB7XG4gIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICBvdXRsaW5lOiBub25lO1xuICBib3gtc2hhZG93OiBub25lO1xufVxuXG5mb290ZXIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMjEwNTA1O1xufVxuXG4uZm9vdGVyIC5mb290ZXJfX2lubmVyIHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1mbG93OiByb3c7XG4gIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgbWluLWhlaWdodDogMTEwcHg7XG59XG4uZm9vdGVyIC5mb290ZXJfX2lubmVyIC5oZWFkZXJfX2xvZ28gaW1nIHtcbiAgb2JqZWN0LWZpdDogZmlsbDtcbiAgb2JqZWN0LXBvc2l0aW9uOiBjZW50ZXI7XG4gIGZvbnQtZmFtaWx5OiBcIm9iamVjdC1maXQ6IGZpbGwsIG9iamVjdC1wb3NpdGlvbjogY2VudGVyXCI7XG4gIGhlaWdodDogMTIwcHg7XG4gIGFzcGVjdC1yYXRpbzogMTYwLzEwMDtcbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDk4LjEyNWVtKSB7XG4gIC5mb290ZXIgLmZvb3Rlcl9faW5uZXIge1xuICAgIHBhZGRpbmctcmlnaHQ6IDEycHg7XG4gIH1cbn1cblxuLmZvb3Rlcl9fY29weXJpZ2h0IHtcbiAgY29sb3I6ICNmZmY7XG4gIGZvbnQtc2l6ZTogMTZweDtcbiAgbGluZS1oZWlnaHQ6IDE5cHg7XG59XG5cbi5nZm9ybV93cmFwcGVyIC52YWxpZGF0aW9uX21lc3NhZ2UsXG4uZ2Zvcm1fd3JhcHBlciAudmFsaWRhdGlvbl9lcnJvciB7XG4gIG1hcmdpbi10b3A6IC0yN3B4O1xuICBmb250LXNpemU6IDE2cHg7XG4gIGNvbG9yOiAjY2E3Nzc3O1xufVxuXG4uZ2Zvcm1fYm9keSB1bCB7XG4gIHBhZGRpbmc6IDA7XG4gIG1hcmdpbjogMDtcbn1cbi5nZm9ybV9ib2R5IHRleHRhcmVhLCAuZ2Zvcm1fYm9keSBpbnB1dCB7XG4gIHdpZHRoOiAxMDAlO1xuICBtYXJnaW4tYm90dG9tOiAyNXB4O1xuICBib3JkZXI6IG5vbmU7XG4gIG91dGxpbmU6IG5vbmU7XG4gIGNvbG9yOiAjNEY0RDQ4O1xuICBmb250LXNpemU6IDIycHg7XG4gIGxpbmUtaGVpZ2h0OiAyNnB4O1xuICBwYWRkaW5nOiA1cHg7XG59XG4uZ2Zvcm1fYm9keSB0ZXh0YXJlYSB7XG4gIGZvbnQtc2l6ZTogMTZweDtcbiAgbGluZS1oZWlnaHQ6IDE5cHg7XG59XG4uZ2Zvcm1fYm9keSBpbnB1dCB7XG4gIGhlaWdodDogNDhweDtcbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc1ZW0pIHtcbiAgLmdmb3JtX2JvZHkgLmdmb3JtX2ZpZWxkcyB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWZsb3c6IHJvdyB3cmFwO1xuICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgfVxuICAuZ2Zvcm1fYm9keSB0ZXh0YXJlYSB7XG4gICAgbWluLWhlaWdodDogMjUwcHg7XG4gIH1cbiAgLmdmb3JtX2JvZHkgLmdmb3JtX2ZpZWxkcyBsaTpub3QoOmZpcnN0LWNoaWxkLCA6bGFzdC1jaGlsZCkge1xuICAgIHdpZHRoOiBjYWxjKDUwJSAtIDEwcHgpO1xuICB9XG4gIC5nZm9ybV9ib2R5IC5nZm9ybV9maWVsZHMgbGk6Zmlyc3QtY2hpbGQge1xuICAgIHdpZHRoOiAxMDAlO1xuICB9XG4gIC5nZm9ybV9ib2R5IC5nZm9ybV9maWVsZHMgbGk6Zmlyc3QtY2hpbGQgLmdpbnB1dF9jb21wbGV4IHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZmxvdzogcm93IG5vd3JhcDtcbiAgICBmbGV4LWRpcmVjdGlvbjogcm93LXJldmVyc2U7XG4gICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICB9XG4gIC5nZm9ybV9ib2R5IC5nZm9ybV9maWVsZHMgbGk6Zmlyc3QtY2hpbGQgLmdpbnB1dF9jb21wbGV4IHNwYW4ge1xuICAgIHdpZHRoOiBjYWxjKDUwJSAtIDEwcHgpO1xuICB9XG4gIC5nZm9ybV9ib2R5IC5nZm9ybV9maWVsZHMgbGk6bGFzdC1jaGlsZCB7XG4gICAgd2lkdGg6IDEwMCU7XG4gIH1cbn1cblxuLmhhc19maXJzdF9uYW1lIHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1mbG93OiBjb2x1bW4tcmV2ZXJzZTtcbn1cblxuLmdmaWVsZF9sYWJlbF9iZWZvcmVfY29tcGxleCB7XG4gIGRpc3BsYXk6IG5vbmU7XG59XG5cbi5nZm9ybV9mb290ZXIge1xuICBtYXJnaW4tYm90dG9tOiAyNXB4O1xufVxuLmdmb3JtX2Zvb3RlciBidXR0b24ge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMjgzZDBmO1xuICBwYWRkaW5nOiAxNXB4O1xuICBtaW4td2lkdGg6IDM3MnB4O1xuICBmb250LXNpemU6IDE2cHg7XG4gIGxpbmUtaGVpZ2h0OiAxOXB4O1xufVxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDQ0Ljk5ODc1ZW0pIHtcbiAgLmdmb3JtX2Zvb3RlciBidXR0b24ge1xuICAgIHdpZHRoOiAxMDAlO1xuICB9XG59XG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NWVtKSB7XG4gIC5nZm9ybV9mb290ZXIgYnV0dG9uIHtcbiAgICBwYWRkaW5nOiAxMHB4IDE1cHg7XG4gIH1cbn1cblxuLmhlYWRlciB7XG4gIHBvc2l0aW9uOiBmaXhlZDtcbiAgdG9wOiAwO1xuICB3aWR0aDogMTAwJTtcbiAgbGVmdDogMDtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzIxMDUwNTtcbiAgei1pbmRleDogOTk7XG4gIC13ZWJraXQtYm94LXNoYWRvdzogMCAycHggNHB4IDAgcmdiYSgwLCAwLCAwLCAwLjMpO1xuICAtbW96LWJveC1zaGFkb3c6IDAgMnB4IDRweCAwIHJnYmEoMCwgMCwgMCwgMC4zKTtcbiAgYm94LXNoYWRvdzogMCAycHggNHB4IDAgcmdiYSgwLCAwLCAwLCAwLjMpO1xufVxuXG4uaGVhZGVyX19pbm5lciB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZmxvdzogcm93IHdyYXA7XG4gIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgcGFkZGluZzogMTVweDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBoZWlnaHQ6IDExMHB4O1xufVxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzVlbSkge1xuICAuaGVhZGVyX19pbm5lciB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWZsb3c6IHJvdyBub3dyYXA7XG4gICAgYWxpZ24taXRlbXM6IGZsZXgtZW5kO1xuICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgICBwYWRkaW5nLWJvdHRvbTogMjVweDtcbiAgfVxufVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA5OC4xMjVlbSkge1xuICAuaGVhZGVyIC5oZWFkZXJfX2lubmVyIHtcbiAgICBwYWRkaW5nLXJpZ2h0OiAwO1xuICAgIHBhZGRpbmctbGVmdDogMDtcbiAgfVxufVxuXG4uaGVhZGVyX19sb2dvIHtcbiAgei1pbmRleDogMjtcbn1cbi5oZWFkZXJfX2xvZ28gaW1nIHtcbiAgb2JqZWN0LWZpdDogZmlsbDtcbiAgb2JqZWN0LXBvc2l0aW9uOiBjZW50ZXI7XG4gIGZvbnQtZmFtaWx5OiBcIm9iamVjdC1maXQ6IGZpbGwsIG9iamVjdC1wb3NpdGlvbjogY2VudGVyXCI7XG4gIGhlaWdodDogMTAwJTtcbiAgd2lkdGg6IDE2MHB4O1xuICBhc3BlY3QtcmF0aW86IDQ1NS8xODM7XG59XG5cbi5oZWFkZXJfX2J1cmdlciB7XG4gIHdpZHRoOiAyNHB4O1xuICBoZWlnaHQ6IDI0cHg7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgb3V0bGluZTogbm9uZTtcbiAgei1pbmRleDogMjtcbn1cbi5oZWFkZXJfX2J1cmdlcjpmb2N1cyB7XG4gIG91dGxpbmU6IDFweCBzb2xpZCByZ2JhKDIzMCwgMjMwLCAyMzAsIDAuMTYyKTtcbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc1ZW0pIHtcbiAgLmhlYWRlcl9fYnVyZ2VyIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG59XG5cbi5oZWFkZXJfX2J1cmdlciBzcGFuIHtcbiAgd2lkdGg6IDIwcHg7XG4gIGhlaWdodDogMnB4O1xuICBkaXNwbGF5OiBibG9jaztcbiAgYmFja2dyb3VuZC1jb2xvcjogIzAwMDtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDZweDtcbiAgbGVmdDogMnB4O1xuICAtd2Via2l0LXRyYW5zaXRpb246IGFsbCAyMzJtcyBlYXNlLWluLW91dCAwcztcbiAgLW1vei10cmFuc2l0aW9uOiBhbGwgMjMybXMgZWFzZS1pbi1vdXQ7XG4gIC1tcy10cmFuc2l0aW9uOiBhbGwgMjMybXMgZWFzZS1pbi1vdXQ7XG4gIC1vLXRyYW5zaXRpb246IGFsbCAyMzJtcyBlYXNlLWluLW91dDtcbiAgdHJhbnNpdGlvbjogYWxsIDIzMm1zIGVhc2UtaW4tb3V0O1xufVxuLmhlYWRlcl9fYnVyZ2VyIHNwYW46bGFzdC1jaGlsZCB7XG4gIHRvcDogMTZweDtcbn1cblxuLmhlYWRlcl9fYnVyZ2VyLmlzLWFjdGl2ZSBzcGFuIHtcbiAgdHJhbnNmb3JtOiByb3RhdGUoNDVkZWcpO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xuICB0b3A6IDExcHg7XG4gIGxlZnQ6IDJweDtcbn1cbi5oZWFkZXJfX2J1cmdlci5pcy1hY3RpdmUgc3BhbjpsYXN0LWNoaWxkIHtcbiAgdHJhbnNmb3JtOiByb3RhdGUoLTQ1ZGVnKTtcbiAgdG9wOiAxMXB4O1xuICBsZWZ0OiAycHg7XG59XG5cbi5oZWFkZXJfX25hdl9fd3JhcHBlciB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgcGFkZGluZzogOTNweCAwIDE1cHggMDtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogMTAwdmg7XG4gIG1pbi1oZWlnaHQ6IDcwMHB4O1xuICB0b3A6IDA7XG4gIGxlZnQ6IDEwMCU7XG4gIGJhY2tncm91bmQtY29sb3I6ICMzNjE5MTk7XG4gIG9wYWNpdHk6IDA7XG4gIC13ZWJraXQtdHJhbnNpdGlvbjogYWxsIDIzMm1zIGVhc2UtaW4tb3V0IDBzO1xuICAtbW96LXRyYW5zaXRpb246IGFsbCAyMzJtcyBlYXNlLWluLW91dDtcbiAgLW1zLXRyYW5zaXRpb246IGFsbCAyMzJtcyBlYXNlLWluLW91dDtcbiAgLW8tdHJhbnNpdGlvbjogYWxsIDIzMm1zIGVhc2UtaW4tb3V0O1xuICB0cmFuc2l0aW9uOiBhbGwgMjMybXMgZWFzZS1pbi1vdXQ7XG59XG4uaGVhZGVyX19uYXZfX3dyYXBwZXIuaXMtYWN0aXZlIHtcbiAgbGVmdDogMDtcbiAgb3BhY2l0eTogMTtcbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc1ZW0pIHtcbiAgLmhlYWRlcl9fbmF2X193cmFwcGVyIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgdG9wOiBpbmhlcml0O1xuICAgIGxlZnQ6IGluaGVyaXQ7XG4gICAgbWluLWhlaWdodDogaW5oZXJpdDtcbiAgICB3aWR0aDogYXV0bztcbiAgICBoZWlnaHQ6IGF1dG87XG4gICAgb3BhY2l0eTogMTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICBwYWRkaW5nOiAwO1xuICAgIG1hcmdpbjogMDtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZmxvdzogcm93IG5vd3JhcDtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgfVxufVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NWVtKSB7XG4gIC5oZWFkZXJfX2lubmVyIC5uYXZpZ2F0aW9uIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZmxvdzogcm93IG5vd3JhcDtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gICAgYWxpZ24taXRlbXM6IGZsZXgtZW5kO1xuICAgIHBhZGRpbmc6IDA7XG4gICAgbWFyZ2luOiAwO1xuICB9XG59XG5cbi5uYXZpZ2F0aW9uX19pdGVtIHtcbiAgYm9yZGVyLXRvcDogMXB4IHNvbGlkICNmZmY7XG59XG4ubmF2aWdhdGlvbl9faXRlbTpsYXN0LWNoaWxkIHtcbiAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICNmZmY7XG59XG4ubmF2aWdhdGlvbl9faXRlbSBhIHtcbiAgZm9udC1zaXplOiAxNnB4O1xuICBsaW5lLWhlaWdodDogMTlweDtcbiAgZm9udC1mYW1pbHk6IFwiQ2FiaW4tQm9sZFwiLCBzYW5zLXNlcmlmO1xuICBmb250LXdlaWdodDogNzAwO1xuICAtd2Via2l0LWZvbnQtc21vb3RoaW5nOiBhbnRpYWxpYXNlZDtcbiAgZGlzcGxheTogYmxvY2s7XG4gIGNvbG9yOiAjZmZmO1xuICBwYWRkaW5nOiAyOHB4IDE1cHg7XG59XG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NWVtKSB7XG4gIC5uYXZpZ2F0aW9uX19pdGVtIGEge1xuICAgIGNvbG9yOiAjNEY0RDQ4O1xuICAgIGZvbnQtc2l6ZTogMTZweDtcbiAgICBsaW5lLWhlaWdodDogMTlweDtcbiAgICBwYWRkaW5nOiAwO1xuICAgIG1hcmdpbi1yaWdodDogMjBweDtcbiAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgdHJhbnNwYXJlbnQ7XG4gICAgLXdlYmtpdC10cmFuc2l0aW9uOiBhbGwgMjMybXMgZWFzZS1pbi1vdXQgMHM7XG4gICAgLW1vei10cmFuc2l0aW9uOiBhbGwgMjMybXMgZWFzZS1pbi1vdXQ7XG4gICAgLW1zLXRyYW5zaXRpb246IGFsbCAyMzJtcyBlYXNlLWluLW91dDtcbiAgICAtby10cmFuc2l0aW9uOiBhbGwgMjMybXMgZWFzZS1pbi1vdXQ7XG4gICAgdHJhbnNpdGlvbjogYWxsIDIzMm1zIGVhc2UtaW4tb3V0O1xuICB9XG4gIC5uYXZpZ2F0aW9uX19pdGVtIGE6aG92ZXIge1xuICAgIGJvcmRlci1ib3R0b20tY29sb3I6ICMyODNkMGY7XG4gIH1cbn1cbi5uYXZpZ2F0aW9uX19pdGVtIGEuYWN0aXZlIHtcbiAgY29sb3I6ICMyODNkMGY7XG59XG5cbi5oZXJvIHtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogNTYycHg7XG4gIGJhY2tncm91bmQtc2l6ZTogY292ZXI7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlcjtcbiAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbn1cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA0NC45OTg3NWVtKSB7XG4gIC5oZXJvIHtcbiAgICBoZWlnaHQ6IDQ1MHB4O1xuICB9XG59XG5cbi5pbnRybyB7XG4gIHBhZGRpbmctYm90dG9tOiAxMDVweDtcbn1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzVlbSkge1xuICAuaW50cm8gLmludHJvX190aXRsZSB7XG4gICAgcGFkZGluZzogNjVweCAwIDIycHggMDtcbiAgfVxufVxuXG4uaW50cm9fX2NvbnRlbnRfY29udGFpbmVyIHtcbiAgcGFkZGluZy1sZWZ0OiAxMHB4O1xufVxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzVlbSkge1xuICAuaW50cm9fX2NvbnRlbnRfY29udGFpbmVyIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZmxvdzogcm93IG5vd3JhcDtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gICAgcGFkZGluZzogMCAwIDAgNTBweDtcbiAgfVxuICAuaW50cm9fX2NvbnRlbnRfY29udGFpbmVyID4gZGl2OmZpcnN0LWNoaWxkIHtcbiAgICBtYXJnaW4tcmlnaHQ6IDYwcHg7XG4gIH1cbiAgLmludHJvX19jb250ZW50X2NvbnRhaW5lciA+IGRpdjpsYXN0LWNoaWxkIHtcbiAgICBtaW4td2lkdGg6IDMwJTtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgICBmbGV4LWZsb3c6IGNvbHVtbjtcbiAgfVxufVxuXG4uaW50cm9fX2NvbnRlbnRfX290aGVyIHAge1xuICBjb2xvcjogIzM2MTkxOTtcbiAgZm9udC1zaXplOiAzNHB4O1xuICBsaW5lLWhlaWdodDogNDhweDtcbn1cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA0NC45OTg3NWVtKSB7XG4gIC5pbnRyb19fY29udGVudF9fb3RoZXIgcCB7XG4gICAgZm9udC1zaXplOiAyMnB4O1xuICAgIGxpbmUtaGVpZ2h0OiAzMnB4O1xuICB9XG59XG4uaW50cm9fX2NvbnRlbnRfX290aGVyIHAge1xuICBmb250LWZhbWlseTogXCJQbGF5ZmFpclwiLCBzYW5zLXNlcmlmO1xuICBmb250LXdlaWdodDogNTAwO1xufVxuXG4uaW50cm9fX2NvbnRlbnRfX2xvZ28ge1xuICBtYXgtd2lkdGg6IDIxMHB4O1xuICBtYXJnaW46IDAgYXV0bztcbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc1ZW0pIHtcbiAgLmludHJvX19jb250ZW50X19sb2dvIHtcbiAgICBtYXJnaW46IDA7XG4gIH1cbn1cblxuLmxhbmd1YWdlLXN3aXRjaGVyIHtcbiAgcGFkZGluZzogMCAxNXB4O1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWZsb3c6IHJvdztcbiAganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xufVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NWVtKSB7XG4gIC5sYW5ndWFnZS1kcm9wZG93biB7XG4gICAgbWFyZ2luOiAwIDAgMCBhdXRvO1xuICAgIHBhZGRpbmc6IDAgMTVweDtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogd2hpdGU7XG4gIH1cbn1cblxuLmxhbmd1YWdlLWRyb3Bkb3duX19saXN0IHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBsaXN0LXN0eWxlOiBub25lO1xuICBwYWRkaW5nLWxlZnQ6IDE1cHg7XG4gIHotaW5kZXg6IDE7XG59XG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NWVtKSB7XG4gIC5sYW5ndWFnZS1kcm9wZG93bl9fbGlzdCB7XG4gICAgaGVpZ2h0OiAxcHg7XG4gICAgbGlzdC1zdHlsZTogbm9uZTtcbiAgICBtYXJnaW46IC01cHggMCAwIDA7XG4gICAgb3BhY2l0eTogMDtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDEwMCU7XG4gICAgbGVmdDogMDtcbiAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMjBweCk7XG4gICAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIDAuMnMgZWFzZS1pbi1vdXQsIG9wYWNpdHkgMC4xcyBlYXNlLW91dDtcbiAgfVxufVxuXG4ubGFuZ3VhZ2UtZHJvcGRvd25fX3RvcC1saW5rIHtcbiAgY29sb3I6IHdoaXRlO1xuICBmb250LXNpemU6IDE2cHg7XG4gIHBhZGRpbmc6IDRweCAxNXB4O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMjgzZDBmO1xufVxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzVlbSkge1xuICAubGFuZ3VhZ2UtZHJvcGRvd25fX3RvcC1saW5rIHtcbiAgICBib3JkZXItcmFkaXVzOiAwO1xuICAgIGZvbnQtc2l6ZTogMTZweDtcbiAgICB3aWR0aDogNTBweDtcbiAgICBwYWRkaW5nOiAxcHggMTVweCAwO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICMyODNkMGY7XG4gICAgaGVpZ2h0OiAyMXB4O1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgfVxufVxuLmxhbmd1YWdlLWRyb3Bkb3duX190b3AtbGluayB7XG4gIC8qICY6OmJlZm9yZSB7XG4gICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCh4bGFyZ2UgdXApIHtcbiAgICAgICAgICAgQGluY2x1ZGUgaWNvbjtcbiAgICAgICAgICAgY29udGVudDogJz4nO1xuICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgICAgIGZvbnQtc2l6ZTogMTFweDtcbiAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiA4cHg7XG4gICAgICAgICAgIHRyYW5zZm9ybTogcm90YXRlKDApIHRyYW5zbGF0ZVkoLTFweCk7XG4gICAgICAgICAgIHRyYW5zaXRpb246IHRyYW5zZm9ybSAwLjFzIGVhc2U7XG4gICAgICAgfVxuICAgfSovXG59XG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NWVtKSB7XG4gIC5sYW5ndWFnZS1kcm9wZG93bjpob3ZlciAubGFuZ3VhZ2UtZHJvcGRvd25fX3RvcC1saW5rOjpiZWZvcmUsIC5sYW5ndWFnZS1kcm9wZG93bl9fdG9wLWxpbms6Zm9jdXM6OmJlZm9yZSB7XG4gICAgdHJhbnNmb3JtOiByb3RhdGUoOTBkZWcpIHRyYW5zbGF0ZVgoLTFweCk7XG4gIH1cbn1cbi5sYW5ndWFnZS1kcm9wZG93bl9faXRlbSB7XG4gIGJhY2tncm91bmQtY29sb3I6ICMzNjE5MTk7XG4gIG1hcmdpbi10b3A6IDdweDtcbn1cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA3NC45OTg3NWVtKSB7XG4gIC5sYW5ndWFnZS1kcm9wZG93bl9faXRlbSB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICB9XG59XG5cbi5sYW5ndWFnZS1kcm9wZG93bl9fbGluayB7XG4gIGNvbG9yOiAjZmZmO1xuICBmb250LXNpemU6IDE2cHg7XG4gIHBhZGRpbmc6IDAgMTVweCAwO1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gIHdpZHRoOiA1MHB4O1xuICBoZWlnaHQ6IDIxcHg7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xufVxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzVlbSkge1xuICAubGFuZ3VhZ2UtZHJvcGRvd25fX2xpbmsge1xuICAgIHBhZGRpbmc6IDFweCAxNXB4IDA7XG4gIH1cbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc1ZW0pIHtcbiAgLmxhbmd1YWdlLWRyb3Bkb3duX19pdGVtOmxhc3QtY2hpbGQgLmxhbmd1YWdlLWRyb3Bkb3duX19saW5rIHtcbiAgICBwYWRkaW5nOiAxcHggMTVweCAwO1xuICB9XG59XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc1ZW0pIHtcbiAgLmxhbmd1YWdlLWRyb3Bkb3duOmhvdmVyIC5sYW5ndWFnZS1kcm9wZG93bl9fbGlzdCxcbiAgLmxhbmd1YWdlLWRyb3Bkb3duIC5sYW5ndWFnZS1kcm9wZG93bl9fdG9wLWxpbms6Zm9jdXMgKyAubGFuZ3VhZ2UtZHJvcGRvd25fX2xpc3QsXG4gIC5sYW5ndWFnZS1kcm9wZG93bl9fbGlzdDpmb2N1cy13aXRoaW4ge1xuICAgIGhlaWdodDogYXV0bztcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgwKTtcbiAgICBvcGFjaXR5OiAxO1xuICAgIHotaW5kZXg6IDE7XG4gIH1cbn1cblxuLnNlY3Rpb25zIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2VhZjFlZjtcbn1cblxuLnNlY3Rpb24ge1xuICBwYWRkaW5nLWJvdHRvbTogNTBweDtcbn1cbi5zZWN0aW9uLndoaXRlIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjtcbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc1ZW0pIHtcbiAgLnNlY3Rpb24ge1xuICAgIHBhZGRpbmctYm90dG9tOiA4MHB4O1xuICB9XG4gIC5zZWN0aW9uOm50aC1jaGlsZCg0KSAuc2VjdGlvbl9fdGl0bGUge1xuICAgIHBhZGRpbmctdG9wOiAxMDJweDtcbiAgICBwYWRkaW5nLWJvdHRvbTogNjVweDtcbiAgfVxufVxuXG4uc2VjdGlvbiAuc2VjdGlvbl9fdGl0bGUge1xuICBwYWRkaW5nLXRvcDogMjVweDtcbiAgcGFkZGluZy1ib3R0b206IDI1cHg7XG59XG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NWVtKSB7XG4gIC5zZWN0aW9uIC5zZWN0aW9uX190aXRsZSB7XG4gICAgcGFkZGluZzogNzBweCAxNXB4O1xuICB9XG59XG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA5OC4xMjVlbSkge1xuICAuc2VjdGlvbiAuc2VjdGlvbl9fdGl0bGUge1xuICAgIHBhZGRpbmctdG9wOiA3NXB4O1xuICAgIHBhZGRpbmctYm90dG9tOiA3NXB4O1xuICB9XG59XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc1ZW0pIHtcbiAgLnNlY3Rpb25fX2NvbnRlbnQge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1mbG93OiByb3cgd3JhcDtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7XG4gIH1cbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc1ZW0pIHtcbiAgLnNlY3Rpb25fX2NvbnRlbnQgLnNlY3Rpb25fX2NvbnRlbnRfX21lZGlhLFxuICAuc2VjdGlvbl9fY29udGVudCAuc2VjdGlvbl9fY29udGVudF9fdGV4dCB7XG4gICAgd2lkdGg6IGNhbGMoNTAlIC0gMzBweCk7XG4gICAgbWFyZ2luLWJvdHRvbTogNzBweDtcbiAgfVxuICAuc2VjdGlvbl9fY29udGVudCAuc2VjdGlvbl9fY29udGVudF9fbWVkaWEuc2VjdGlvbl9fY29udGVudF9fbWVkaWEsXG4gIC5zZWN0aW9uX19jb250ZW50IC5zZWN0aW9uX19jb250ZW50X190ZXh0LnNlY3Rpb25fX2NvbnRlbnRfX21lZGlhIHtcbiAgICBtYXJnaW4tcmlnaHQ6IDI1cHg7XG4gIH1cbiAgLnNlY3Rpb25fX2NvbnRlbnQgLnNlY3Rpb25fX2NvbnRlbnRfX21lZGlhLnNlY3Rpb25fX2NvbnRlbnRfX3RleHQsXG4gIC5zZWN0aW9uX19jb250ZW50IC5zZWN0aW9uX19jb250ZW50X190ZXh0LnNlY3Rpb25fX2NvbnRlbnRfX3RleHQge1xuICAgIG1heC13aWR0aDogNzI1cHg7XG4gICAgbWFyZ2luOiAwIDAgNzBweCAwO1xuICB9XG4gIC5zZWN0aW9uX19jb250ZW50IC5zZWN0aW9uX19jb250ZW50X19tZWRpYS5zZWN0aW9uX19jb250ZW50X190ZXh0ID4gOmZpcnN0LWNoaWxkLFxuICAuc2VjdGlvbl9fY29udGVudCAuc2VjdGlvbl9fY29udGVudF9fdGV4dC5zZWN0aW9uX19jb250ZW50X190ZXh0ID4gOmZpcnN0LWNoaWxkIHtcbiAgICBtYXJnaW4tdG9wOiAwO1xuICAgIHBhZGRpbmctdG9wOiAwO1xuICB9XG59XG5cbi5zZWN0aW9uX19jb250ZW50IC5zZWN0aW9uX19jb250ZW50X19saXN0IHtcbiAgd2lkdGg6IDEwMCU7XG4gIGJhY2tncm91bmQtY29sb3I6ICMzNjE5MTk7XG4gIHBhZGRpbmc6IDQ1cHggMzBweCA0NXB4IDQ1cHg7XG4gIGNvbG9yOiAjZmZmO1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCIvd3AtY29udGVudC90aGVtZXMvbHV4LXRkbS9pbWFnZXMvcGljdHVyZW1hcmsuc3ZnXCIpO1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBsZWZ0IHRvcDtcbiAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgYmFja2dyb3VuZC1zaXplOiBjb250YWluO1xufVxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzVlbSkge1xuICAuc2VjdGlvbl9fY29udGVudCAuc2VjdGlvbl9fY29udGVudF9fbGlzdCB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWZsb3c6IHJvdyBub3dyYXA7XG4gICAgcGFkZGluZzogNTBweCA1MHB4IDUwcHggODhweDtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gIH1cbiAgLnNlY3Rpb25fX2NvbnRlbnQgLnNlY3Rpb25fX2NvbnRlbnRfX2xpc3QgaDMge1xuICAgIHdpZHRoOiBjYWxjKDUwJSAtIDY1cHgpO1xuICB9XG4gIC5zZWN0aW9uX19jb250ZW50IC5zZWN0aW9uX19jb250ZW50X19saXN0IGgzIHNwYW4ge1xuICAgIG1heC13aWR0aDogNDAwcHg7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gIH1cbn1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzVlbSkge1xuICAuc2VjdGlvbl9fY29udGVudF9fbGlzdF9fbGlzdCB7XG4gICAgcGFkZGluZzogMDtcbiAgICBtYXJnaW46IDAgMCAwIC02NXB4O1xuICAgIHdpZHRoOiA1MCU7XG4gICAgbWF4LXdpZHRoOiA4NTBweDtcbiAgfVxufVxuXG4uc2VjdGlvbl9fY29udGVudF9fbGlzdF9fdGl0bGUge1xuICBtYXJnaW46IDA7XG4gIHBhZGRpbmc6IDA7XG4gIGZvbnQtc2l6ZTogMzRweDtcbiAgbGluZS1oZWlnaHQ6IDQ4cHg7XG59XG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNDQuOTk4NzVlbSkge1xuICAuc2VjdGlvbl9fY29udGVudF9fbGlzdF9fdGl0bGUge1xuICAgIGZvbnQtc2l6ZTogMjJweDtcbiAgICBsaW5lLWhlaWdodDogMzJweDtcbiAgfVxufVxuXG4uc2VjdGlvbl9fY29udGVudF9fbGlzdF9fbGlzdCBsaSB7XG4gIHBhZGRpbmc6IDE1cHggMCAxNXB4IDgwcHg7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc1ZW0pIHtcbiAgLnNlY3Rpb25fX2NvbnRlbnRfX2xpc3RfX2xpc3QgbGkge1xuICAgIG1hcmdpbi1sZWZ0OiAtOTBweDtcbiAgfVxufVxuXG4uc2VjdGlvbl9fY29udGVudF9fbGlzdF9fbGlzdF9faWNvbiB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiA5cHg7XG4gIGxlZnQ6IDA7XG4gIGZvbnQtc2l6ZTogNDBweDtcbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ1ZW0pIHtcbiAgLnNlY3Rpb25fX2NvbnRlbnRfX2xpc3RfX2xpc3RfX2ljb24ge1xuICAgIHRvcDogMTRweDtcbiAgfVxufVxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzVlbSkge1xuICAuc2VjdGlvbl9fY29udGVudF9fbGlzdF9fbGlzdF9faWNvbiB7XG4gICAgZm9udC1zaXplOiA1NXB4O1xuICAgIHRvcDogNnB4O1xuICB9XG59XG5cbi5zZWN0aW9uX19jb250ZW50LWdhbGxlcnkge1xuICBkaXNwbGF5OiBmbGV4O1xuICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gIGZsZXgtZmxvdzogcm93IHdyYXA7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbn1cbi5zZWN0aW9uX19jb250ZW50LWdhbGxlcnkgYSB7XG4gIHdpZHRoOiBjYWxjKCgxMDAlIC0gMTZweCkgLyAyKTtcbn1cbi5zZWN0aW9uX19jb250ZW50LWdhbGxlcnkgYS5oaWRlIHtcbiAgZGlzcGxheTogbm9uZTtcbn1cbi5zZWN0aW9uX19jb250ZW50LWdhbGxlcnkgYTpmaXJzdC1jaGlsZCB7XG4gIHdpZHRoOiAxMDAlO1xuICBtYXJnaW4tYm90dG9tOiAxNnB4O1xufVxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzVlbSkge1xuICAuc2VjdGlvbl9fY29udGVudC1nYWxsZXJ5IGE6Zmlyc3QtY2hpbGQge1xuICAgIHdpZHRoOiBjYWxjKDEwMCUgLSA2MjBweCk7XG4gICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICBwYWRkaW5nLXJpZ2h0OiA0cHg7XG4gIH1cbiAgLnNlY3Rpb25fX2NvbnRlbnQtZ2FsbGVyeSBhOmZpcnN0LWNoaWxkIGltZyB7XG4gICAgbWluLWhlaWdodDogNzIycHg7XG4gICAgb2JqZWN0LWZpdDogY292ZXI7XG4gICAgb2JqZWN0LXBvc2l0aW9uOiBjZW50ZXI7XG4gICAgZm9udC1mYW1pbHk6IFwib2JqZWN0LWZpdDogY292ZXIsIG9iamVjdC1wb3NpdGlvbjogY2VudGVyXCI7XG4gIH1cbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc1ZW0pIHtcbiAgLnNlY3Rpb25fX2NvbnRlbnQtZ2FsbGVyeSBhOm50aC1jaGlsZCgyKSwgLnNlY3Rpb25fX2NvbnRlbnQtZ2FsbGVyeSBhOm50aC1jaGlsZCgzKSB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMDtcbiAgICByaWdodDogMjBweDtcbiAgICB3aWR0aDogNjAycHg7XG4gICAgaGVpZ2h0OiAzNTJweDtcbiAgfVxuICAuc2VjdGlvbl9fY29udGVudC1nYWxsZXJ5IGE6bnRoLWNoaWxkKDIpIGltZywgLnNlY3Rpb25fX2NvbnRlbnQtZ2FsbGVyeSBhOm50aC1jaGlsZCgzKSBpbWcge1xuICAgIGhlaWdodDogMTAwJTtcbiAgICBtYXgtaGVpZ2h0OiAzNTJweDtcbiAgfVxuICAuc2VjdGlvbl9fY29udGVudC1nYWxsZXJ5IGE6bnRoLWNoaWxkKDMpIHtcbiAgICB0b3A6IGF1dG87XG4gICAgYm90dG9tOiAwO1xuICB9XG59XG5cbi5zZWN0aW9uIC5zZWN0aW9uX19nYWxsZXJ5X19jb3B5cmlnaHRzIHtcbiAgbWFyZ2luLXRvcDogMjBweDtcbiAgY29sb3I6ICM0RjRENDg7XG59XG5cbi5zZWN0aW9uX19kZXNjcmlwdGlvbiB7XG4gIG1hcmdpbi1ib3R0b206IDI1cHg7XG59XG4uc2VjdGlvbl9fZGVzY3JpcHRpb24gcCB7XG4gIHBhZGRpbmc6IDA7XG4gIG1hcmdpbjogMDtcbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc1ZW0pIHtcbiAgLnNlY3Rpb25fX2Rlc2NyaXB0aW9uIHtcbiAgICBtYXJnaW4tYm90dG9tOiA1MHB4O1xuICB9XG59XG5cbi5zZWN0aW9uLWNvbnRhY3Qge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMzYxOTE5O1xuICBjb2xvcjogI2ZmZjtcbiAgbWFyZ2luLWJvdHRvbTogMDtcbiAgcGFkZGluZy1ib3R0b206IDA7XG59XG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NWVtKSB7XG4gIC5zZWN0aW9uLWNvbnRhY3Qge1xuICAgIHBhZGRpbmctYm90dG9tOiA4MHB4O1xuICB9XG4gIC5zZWN0aW9uLWNvbnRhY3QgPiAud3JhcCB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWZsb3c6IHJvdyB3cmFwO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgfVxuICAuc2VjdGlvbi1jb250YWN0ID4gLndyYXAgLnNlY3Rpb25fX3RpdGxlIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgfVxufVxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogOTguMTI1ZW0pIHtcbiAgLnNlY3Rpb24tY29udGFjdCA+IC53cmFwIHtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7XG4gIH1cbn1cbi5zZWN0aW9uLWNvbnRhY3QgKjpub3QoaW5wdXQsIHRleHRhcmVhKSB7XG4gIGNvbG9yOiAjZmZmO1xufVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NWVtKSB7XG4gIC5zZWN0aW9uX19jb250YWN0X19mb3JtIHtcbiAgICBtYXJnaW4tbGVmdDogNTBweDtcbiAgICBmbGV4LWdyb3c6IDE7XG4gICAgbWF4LXdpZHRoOiA2MjVweDtcbiAgICBtYXJnaW4tcmlnaHQ6IDQwcHg7XG4gIH1cbn1cblxuLnNlY3Rpb24tY29udGFjdCAuc2VjdGlvbl9fdGl0bGUge1xuICBwYWRkaW5nLWxlZnQ6IDA7XG4gIHBhZGRpbmctcmlnaHQ6IDA7XG59XG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NWVtKSB7XG4gIC5zZWN0aW9uLWNvbnRhY3QgLnNlY3Rpb25fX3RpdGxlIHtcbiAgICBwYWRkaW5nLWJvdHRvbTogNDVweDtcbiAgfVxufVxuXG4uc2VjdGlvbl9fY29udGFjdF9faW5mbyB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZmxvdzogY29sdW1uO1xufVxuXG4uc2VjdGlvbl9fY29udGFjdF9faW5mb19fbGluayB7XG4gIHBhZGRpbmctbGVmdDogNDBweDtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBtYXJnaW4tYm90dG9tOiA1cHg7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGZsZXgtZmxvdzogcm93IHdyYXA7XG4gIGhlaWdodDogNDBweDtcbn1cblxuLnNlY3Rpb25fX2NvbnRhY3RfX2RldGFpbHMgPiBkaXYge1xuICBtYXJnaW4tYm90dG9tOiAyNXB4O1xufVxuLnNlY3Rpb25fX2NvbnRhY3RfX2RldGFpbHMgcCB7XG4gIG1hcmdpbjogMDtcbiAgcGFkZGluZzogMDtcbn1cblxuLnNlY3Rpb25fX2NvbnRhY3RfX2ljb24ge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGxlZnQ6IDA7XG4gIGZvbnQtc2l6ZTogNDBweDtcbiAgdG9wOiAwO1xufVxuLnNlY3Rpb25fX2NvbnRhY3RfX2ljb24uaWNvbi1waG9uZSB7XG4gIGxlZnQ6IC02cHg7XG59XG5cbi5jb250YWN0X19pZGVudGlmaWVyIHtcbiAgZm9udC1mYW1pbHk6IFwiQ2FiaW4tQm9sZFwiLCBzYW5zLXNlcmlmO1xuICBmb250LXdlaWdodDogNzAwO1xufVxuXG4ud3JhcCB7XG4gIHBhZGRpbmctcmlnaHQ6IDE1cHg7XG4gIHBhZGRpbmctbGVmdDogMTVweDtcbiAgbWF4LXdpZHRoOiA4NXJlbTtcbiAgbWFyZ2luOiAwIGF1dG87XG4gIHdpZHRoOiAxMDAlO1xufVxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogOTguMTI1ZW0pIHtcbiAgLndyYXAge1xuICAgIG1heC13aWR0aDogOTAuNjI1cmVtO1xuICB9XG59IiwiJGdsb2JhbC13aWR0aDogcmVtLWNhbGMoMTM2MCk7XG4kZ2xvYmFsLXdpZHRoLWxhcmdlOiByZW0tY2FsYygxNDUwKTtcblxuaHRtbCB7XG4gICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICBmb250LXNpemU6IDEwMCU7XG59XG5cbiosXG4qOjpiZWZvcmUsXG4qOjphZnRlciB7XG4gICAgYm94LXNpemluZzogaW5oZXJpdDtcbn1cblxuLyoqKioqKioqKioqKioqKioqKioqKlxuQ09MT1JTXG4qKioqKioqKioqKioqKioqKioqKiovXG5cbiRibGFjazogIzAwMDtcbiR3aGl0ZTogI2ZmZjtcbiRncmVlbjogIzM2MTkxOTtcbiRsaWdodEdyZWVuOiAjZWFmMWVmO1xuJHN0YW5kYXJkQ29sb3I6ICM0RjRENDg7XG4kbWlsaXRhcnkgOiAjMjgzZDBmO1xuJGdyZWVuZXIgOiAjMjEwNTA1O1xuXG5cbi8vIFNvY2lhbCBNZWRpYSBDb2xvdXJzLiBTb3VyY2U6IGh0dHBzOi8vd3d3LmxvY2tlZG93bnNlby5jb20vc29jaWFsLW1lZGlhLWNvbG9ycy9cbiRzb2NpYWwtZmFjZWJvb2s6ICMzYjU5OTg7XG4kc29jaWFsLXR3aXR0ZXI6ICMxZGExZjI7XG4kc29jaWFsLWdvb2dsZXBsdXM6ICNkYjQ0Mzc7XG4kc29jaWFsLXlvdXR1YmU6ICNmZjAwMDA7XG4kc29jaWFsLWxpbmtlZGluOiAjMDA3YmI1O1xuJHNvY2lhbC1pbnN0YWdyYW06ICNjMzJhYTM7XG4kc29jaWFsLWluc3RhZ3JhbS1hbHQxOiAjNGM1ZmQ3O1xuJHNvY2lhbC1pbnN0YWdyYW0tYWx0MjogIzcyMzJiZDtcbiRzb2NpYWwtaW5zdGFncmFtLWFsdDM6ICNmNDZmMzA7XG4kc29jaWFsLWluc3RhZ3JhbS1hbHQ0OiAjZmZkYzdkO1xuJHNvY2lhbC1waW50ZXJlc3Q6ICNiZDA4MWM7XG4kc29jaWFsLXZpbmU6ICMwMGI0ODk7XG4kc29jaWFsLXNuYXBjaGF0OiAjZmZmYzAwO1xuJHNvY2lhbC1xdW9yYTogI2FhMjIwMDtcbiRzb2NpYWwtZmxpY2tyOiAjZjQwMDgzO1xuJHNvY2lhbC1mbGlja3ItYWx0OiAjMDA2YWRkO1xuJHNvY2lhbC10dW1ibHI6ICMzNTQ2NWQ7XG4kc29jaWFsLXZrOiAjNGE3NmE4O1xuJHNvY2lhbC12aW1lbzogIzFhYjdlYTtcbiRzb2NpYWwtZm91cnNxdWFyZTogI2Y5NDg3NztcbiRzb2NpYWwtdHJpcGFkdmlzb3I6ICM3OWM2Njc7XG5cblxuLyoqKioqKioqKioqKioqKioqKioqKlxuU3BhY2luZ1xuKioqKioqKioqKioqKioqKioqKioqL1xuXG4kc21hbGw6IDdweDtcbiRtZWRpdW06IDE1cHg7XG4keG1lZGl1bTogMzBweDtcbiRsYXJnZTogNDVweDtcbiR4bGFyZ2U6IDYwcHg7XG4keHhsYXJnZTogMTIwcHg7XG5cblxuLyoqKioqKioqKioqKioqKioqKioqKlxuQnJlYWtwb2ludHNcbioqKioqKioqKioqKioqKioqKioqKi9cblxuJGJyZWFrcG9pbnRzOiAoXG4gICAgICAgIHNtYWxsOiAwLFxuICAgICAgICBtZWRpdW06IDQ4MHB4LFxuICAgICAgICB4bWVkaXVtOiA3MjBweCxcbiAgICAgICAgbGFyZ2U6IDEwMjRweCxcbiAgICAgICAgeGxhcmdlOiAxMjAwcHgsXG4gICAgICAgIHh4bGFyZ2U6IDE1NzBweCxcbiAgICAgICAgY2FwOiAyMDAwcHgsXG4pO1xuIiwiQGZvbnQtZmFjZSB7XG4gICAgZm9udC1mYW1pbHk6ICdsdXgtdGRtLWljb25mb250JztcbiAgICBzcmM6ICB1cmwoJy4vLi4vbWVkaWEvZm9udHMvaWNvbW9vbi9pY29tb29uLmVvdCcpO1xuICAgIHNyYzogIHVybCgnLi8uLi9tZWRpYS9mb250cy9pY29tb29uL2ljb21vb24uZW90I2llZml4JykgZm9ybWF0KCdlbWJlZGRlZC1vcGVudHlwZScpLFxuICAgIHVybCgnLi8uLi9tZWRpYS9mb250cy9pY29tb29uL2ljb21vb24ud29mZjInKSBmb3JtYXQoJ3dvZmYyJyksXG4gICAgdXJsKCcuLy4uL21lZGlhL2ZvbnRzL2ljb21vb24vaWNvbW9vbi50dGYnKSBmb3JtYXQoJ3RydWV0eXBlJyksXG4gICAgdXJsKCcuLy4uL21lZGlhL2ZvbnRzL2ljb21vb24vaWNvbW9vbi53b2ZmJykgZm9ybWF0KCd3b2ZmJyksXG4gICAgdXJsKCcuLy4uL21lZGlhL2ZvbnRzL2ljb21vb24vaWNvbW9vbi5zdmcjaWNvbW9vbicpIGZvcm1hdCgnc3ZnJyk7XG4gICAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgICBmb250LXN0eWxlOiBub3JtYWw7XG4gICAgZm9udC1kaXNwbGF5OiBibG9jaztcbn1cblxuW2NsYXNzXj1cImljb24tXCJdLCBbY2xhc3MqPVwiIGljb24tXCJdIHtcbiAgICAvKiB1c2UgIWltcG9ydGFudCB0byBwcmV2ZW50IGlzc3VlcyB3aXRoIGJyb3dzZXIgZXh0ZW5zaW9ucyB0aGF0IGNoYW5nZSBmb250cyAqL1xuICAgIGZvbnQtZmFtaWx5OiAnbHV4LXRkbS1pY29uZm9udCcgIWltcG9ydGFudDtcbiAgICBzcGVhazogbm9uZTtcbiAgICBmb250LXN0eWxlOiBub3JtYWw7XG4gICAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgICBmb250LXZhcmlhbnQ6IG5vcm1hbDtcbiAgICB0ZXh0LXRyYW5zZm9ybTogbm9uZTtcbiAgICBsaW5lLWhlaWdodDogMTtcblxuICAgIC8qIEJldHRlciBGb250IFJlbmRlcmluZyA9PT09PT09PT09PSAqL1xuICAgIC13ZWJraXQtZm9udC1zbW9vdGhpbmc6IGFudGlhbGlhc2VkO1xuICAgIC1tb3otb3N4LWZvbnQtc21vb3RoaW5nOiBncmF5c2NhbGU7XG59XG5cbi5pY29uLWFycm93LXJpZ2h0OmJlZm9yZSB7XG4gICAgY29udGVudDogXCJcXGU5MDBcIjtcbn1cbi5pY29uLWFycm93LXVwOmJlZm9yZSB7XG4gICAgY29udGVudDogXCJcXGU5MDFcIjtcbn1cbi5pY29uLW1haWw6YmVmb3JlIHtcbiAgICBjb250ZW50OiBcIlxcZTkwMlwiO1xufVxuLmljb24tcGhvbmU6YmVmb3JlIHtcbiAgICBjb250ZW50OiBcIlxcZTkwM1wiO1xufVxuIiwiaW1nIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBoZWlnaHQ6IGF1dG87XG4gICAgbWF4LXdpZHRoOiAxMDAlO1xufSIsIi8vRXhhbWxlOlxuLy9AaW5jbHVkZSBmb250LWZhY2UoUm9ib3RvLCBtZWRpYS9mb250cy9Sb2JvdG8tUmVndWxhciwgNjAwLCBub3JtYWwsIHR0Zik7XG4vL29yXG4vL0BpbmNsdWRlIGZvbnQtZmFjZShSb2JvdG8sIG1lZGlhL2ZvbnRzL1JvYm90by1SZWd1bGFyLCBudWxsLCBudWxsLCB0dGYgd29mZjIgd29mZik7XG5cbi8vUmV0dXJuczpcbi8vQGZvbnQtZmFjZSB7XG4vLyAgICBmb250LWZhbWlseTogJ1JvYm90byc7XG4vLyAgICBzcmM6IHVybCgnLi9tZWRpYS9mb250cy9Sb2JvdG8tUmVndWxhci50dGYnKSBmb3JtYXQoJ3RydWV0eXBlJyk7XG4vLyAgICBmb250LXdlaWdodDogNjAwO1xuLy8gICAgZm9udC1zdHlsZTogbm9ybWFsO1xuLy99XG5cbi8vVGFrZW4gZnJvbSBodHRwczovL2JsLm9ja3Mub3JnL2pvbmF0aGFudG5lYWwvZDA0NjBlNWMyZDVkN2Y5YmM1ZTZcbkBmdW5jdGlvbiBzdHItcmVwbGFjZSgkc3RyaW5nLCAkc2VhcmNoLCAkcmVwbGFjZTogXCJcIikge1xuICAgICRpbmRleDogc3RyLWluZGV4KCRzdHJpbmcsICRzZWFyY2gpO1xuXG4gICAgQGlmICRpbmRleCB7XG4gICAgICAgIEByZXR1cm4gc3RyLXNsaWNlKCRzdHJpbmcsIDEsICRpbmRleCAtIDEpICsgJHJlcGxhY2UgKyBzdHItcmVwbGFjZShzdHItc2xpY2UoJHN0cmluZywgJGluZGV4ICsgc3RyLWxlbmd0aCgkc2VhcmNoKSksICRzZWFyY2gsICRyZXBsYWNlKTtcbiAgICB9XG5cbiAgICBAcmV0dXJuICRzdHJpbmc7XG59XG5cbkBtaXhpbiBmb250LWZhY2UoJG5hbWUsICRwYXRoLCAkd2VpZ2h0OiBudWxsLCAkc3R5bGU6IG51bGwsICRleHRzOiBlb3Qgd29mZjIgd29mZiB0dGYgc3ZnKSB7XG4gICAgJHNyYzogbnVsbDtcblxuICAgICRleHRtb2RzOiAoXG4gICAgICAgICAgICBlb3Q6IFwiP1wiLFxuICAgICAgICAgICAgc3ZnOiBcIiNcIiArIHN0ci1yZXBsYWNlKCRuYW1lLCBcIiBcIiwgXCJfXCIpXG4gICAgKTtcblxuICAgICRmb3JtYXRzOiAoXG4gICAgICAgICAgICBvdGY6IFwib3BlbnR5cGVcIixcbiAgICAgICAgICAgIHR0ZjogXCJ0cnVldHlwZVwiXG4gICAgKTtcblxuICAgIEBlYWNoICRleHQgaW4gJGV4dHMge1xuICAgICAgICAkZXh0bW9kOiBpZihtYXAtaGFzLWtleSgkZXh0bW9kcywgJGV4dCksICRleHQgKyBtYXAtZ2V0KCRleHRtb2RzLCAkZXh0KSwgJGV4dCk7XG4gICAgICAgICRmb3JtYXQ6IGlmKG1hcC1oYXMta2V5KCRmb3JtYXRzLCAkZXh0KSwgbWFwLWdldCgkZm9ybWF0cywgJGV4dCksICRleHQpO1xuICAgICAgICAkc3JjOiBhcHBlbmQoJHNyYywgdXJsKHF1b3RlKCRwYXRoICsgXCIuXCIgKyAkZXh0bW9kKSkgZm9ybWF0KHF1b3RlKCRmb3JtYXQpKSwgY29tbWEpO1xuICAgIH1cblxuICAgIEBmb250LWZhY2Uge1xuICAgICAgICBmb250LWZhbWlseTogcXVvdGUoJG5hbWUpO1xuICAgICAgICBmb250LXN0eWxlOiAkc3R5bGU7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiAkd2VpZ2h0O1xuICAgICAgICBzcmM6ICRzcmM7XG4gICAgfVxufVxuXG5cbi8qKlxuQ2FiaW4gZm9udEZhY2VcbiAqL1xuQGluY2x1ZGUgZm9udC1mYWNlKFwiQ2FiaW4tQm9sZFwiLCBcIi4uL21lZGlhL2ZvbnRzL0NhYmluRm9udEZhbWlseS9DYWJpbi1Cb2xkXCIsIG51bGwsIG5vcm1hbCx0dGYpO1xuQGluY2x1ZGUgZm9udC1mYWNlKFwiQ2FiaW4tQm9sZEl0YWxpY1wiLCBcIi4uL21lZGlhL2ZvbnRzL0NhYmluRm9udEZhbWlseS9DYWJpbi1Cb2xkSXRhbGljXCIsIG51bGwsIG5vcm1hbCx0dGYpO1xuQGluY2x1ZGUgZm9udC1mYWNlKFwiQ2FiaW4tSXRhbGljXCIsIFwiLi4vbWVkaWEvZm9udHMvQ2FiaW5Gb250RmFtaWx5L0NhYmluLUl0YWxpY1wiLCBudWxsLCBub3JtYWwsdHRmKTtcbkBpbmNsdWRlIGZvbnQtZmFjZShcIkNhYmluLU1lZGl1bVwiLCBcIi4uL21lZGlhL2ZvbnRzL0NhYmluRm9udEZhbWlseS9DYWJpbi1NZWRpdW1cIiwgbnVsbCwgbm9ybWFsLHR0Zik7XG5AaW5jbHVkZSBmb250LWZhY2UoXCJDYWJpbi1NZWRpdW1JdGFsaWNcIiwgXCIuLi9tZWRpYS9mb250cy9DYWJpbkZvbnRGYW1pbHkvQ2FiaW4tTWVkaXVtSXRhbGljXCIsIG51bGwsIG5vcm1hbCx0dGYpO1xuQGluY2x1ZGUgZm9udC1mYWNlKFwiQ2FiaW4tUmVndWxhclwiLCBcIi4uL21lZGlhL2ZvbnRzL0NhYmluRm9udEZhbWlseS9DYWJpbi1SZWd1bGFyXCIsIG51bGwsIG5vcm1hbCx0dGYpO1xuQGluY2x1ZGUgZm9udC1mYWNlKFwiQ2FiaW4tU2VtaUJvbGRcIiwgXCIuLi9tZWRpYS9mb250cy9DYWJpbkZvbnRGYW1pbHkvQ2FiaW4tU2VtaUJvbGRcIiwgbnVsbCwgbm9ybWFsLHR0Zik7XG5AaW5jbHVkZSBmb250LWZhY2UoXCJDYWJpbi1TZW1pQm9sZEl0YWxpY1wiLCBcIi4uL21lZGlhL2ZvbnRzL0NhYmluRm9udEZhbWlseS9DYWJpbi1TZW1pQm9sZEl0YWxpY1wiLCBudWxsLCBub3JtYWwsdHRmKTtcblxuLyoqXG5QbGF5ZmFpciBmb250IGZhY2VcbiAqL1xuQGluY2x1ZGUgZm9udC1mYWNlKFwiUGxheWZhaXJcIiwgXCIuLi9tZWRpYS9mb250cy9QbGF5ZmFpckRpc3BsYXlGb250RmFtaWx5L1BsYXlmYWlyRGlzcGxheS1WYXJpYWJsZUZvbnRfd2dodFwiLCBudWxsLCBub3JtYWwsdHRmKTtcbkBpbmNsdWRlIGZvbnQtZmFjZShcIlBsYXlmYWlyLWl0YWxpY1wiLCBcIi4uL21lZGlhL2ZvbnRzL1BsYXlmYWlyRGlzcGxheUZvbnRGYW1pbHkvUGxheWZhaXJEaXNwbGF5LUl0YWxpYy1WYXJpYWJsZUZvbnRfd2dodFwiLCBudWxsLCBub3JtYWwsdHRmKTtcblxuIiwibWFpbiB7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICBwYWRkaW5nLXRvcDogMTEwcHg7XG59XG5cbmh0bWwge1xuICAgIG92ZXJmbG93LXg6IGhpZGRlbjtcbn1cblxuYm9keSB7XG4gICAgb3ZlcmZsb3cteDogaGlkZGVuO1xuICAgIEBpbmNsdWRlIENhYmluLVJlZ3VsYXI7XG4gICAgQGluY2x1ZGUgdHlwZS0tMTg7XG4gICAgLy8gICAgQGluY2x1ZGUgZm9udE5hbWU7XG4gICAgLy8gICAgQGluY2x1ZGUgdHlwZS0tc2l6ZTtcbiAgICAvLyAgICBjb2xvcjogJGJsYWNrO1xuXG4gICAgJi5vdmVybGF5LWhpZGRlbiB7XG4gICAgICAgIGhlaWdodDogMTAwdmg7XG4gICAgICAgIG1pbi1oZWlnaHQ6IDcwMHB4O1xuICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIH1cbn1cblxuaDEsXG5oMixcbmgzLFxuaDQsXG5oNSxcbmg2IHtcbiAgICBAaW5jbHVkZSBQbGF5ZmFpci1yZWd1bGFyO1xufVxuXG5oMiB7XG4gICAgQGluY2x1ZGUgdHlwZS0tNjQ7XG4gICAgY29sb3I6ICRncmVlbjtcbiAgICBwYWRkaW5nOiAyNXB4IDAgMTVweCAwO1xuICAgIG1hcmdpbjogMCBhdXRvO1xufVxuXG51bCB7XG4gICAgbGlzdC1zdHlsZTogbm9uZTtcbiAgICBwYWRkaW5nLWxlZnQ6IDA7XG59XG5cbmEge1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbn1cblxuYnV0dG9uIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICBib3JkZXI6IG5vbmU7XG59XG5cbnAge1xuICAgIGNvbG9yOiAkc3RhbmRhcmRDb2xvcjtcbn1cblxuc3Ryb25nIHtcbiAgICBAaW5jbHVkZSBDYWJpbi1Cb2xkO1xufVxuXG4uc2Nyb2xsLXRvLXRvcCB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgIHBhZGRpbmctdG9wOiA1MHB4O1xuXG4gICAgYnV0dG9uIHtcbiAgICAgICAgZm9udC1zaXplOiA2MHB4O1xuICAgICAgICBvdXRsaW5lOiBub25lO1xuICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XG5cbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gdXApIHtcbiAgICAgICAgICAgICY6Zm9jdXMge1xuICAgICAgICAgICAgICAgIG91dGxpbmU6IDFweCBzb2xpZCByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMik7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KHhsYXJnZSB1cCl7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgYm90dG9tOiAwO1xuICAgICAgICByaWdodDogMTMwcHg7XG5cbiAgICAgICAgc3BhbntcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMTA5cHg7XG4gICAgICAgIH1cbiAgICB9XG59IiwiQG1peGluIENhYmluLVJlZ3VsYXIoKSB7XG4gICAgZm9udC1mYW1pbHk6ICdDYWJpbi1SZWd1bGFyJywgc2Fucy1zZXJpZjtcbiAgICBmb250LXdlaWdodDogNDAwO1xufVxuXG5AbWl4aW4gQ2FiaW4tTWVkaXVtKCkge1xuICAgIGZvbnQtZmFtaWx5OiAnQ2FiaW4tTWVkaXVtJywgc2Fucy1zZXJpZjtcbiAgICBmb250LXdlaWdodDogNTAwO1xufVxuXG5AbWl4aW4gQ2FiaW4tQm9sZCgpIHtcbiAgICBmb250LWZhbWlseTogJ0NhYmluLUJvbGQnLCBzYW5zLXNlcmlmO1xuICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG59XG5cbkBtaXhpbiBQbGF5ZmFpci1yZWd1bGFyKCkge1xuICAgIGZvbnQtZmFtaWx5OiAnUGxheWZhaXInLCBzYW5zLXNlcmlmO1xuICAgIGZvbnQtd2VpZ2h0OiA1MDA7XG59XG5cblxuQG1peGluIG9wZW5zYW5zLS1saWdodCgpIHtcbiAgICBmb250LWZhbWlseTogJ09wZW4gU2FucycsIHNhbnMtc2VyaWY7XG4gICAgZm9udC13ZWlnaHQ6IDQwMDtcbn1cblxuQG1peGluIG9wZW5zYW5zLS1zZW1pYm9sZCgpIHtcbiAgICBmb250LWZhbWlseTogJ09wZW4gU2FucycsIHNhbnMtc2VyaWY7XG4gICAgZm9udC13ZWlnaHQ6IDYwMDtcbn1cblxuQG1peGluIG9wZW5zYW5zLS1ib2xkKCkge1xuICAgIGZvbnQtZmFtaWx5OiAnT3BlbiBTYW5zJywgc2Fucy1zZXJpZjtcbiAgICBmb250LXdlaWdodDogNzAwO1xufVxuXG5AbWl4aW4gdHlwZS0tMTgoKSB7XG4gICAgZm9udC1zaXplOiAxOHB4O1xuXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gZG93bikge1xuICAgICAgICBmb250LXNpemU6IDE2cHg7XG4gICAgfVxufVxuXG5AbWl4aW4gdHlwZS0tMzQoKSB7XG4gICAgZm9udC1zaXplOiAzNHB4O1xuICAgIGxpbmUtaGVpZ2h0OiA0OHB4O1xuXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gZG93bikge1xuICAgICAgICBmb250LXNpemU6IDIycHg7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAzMnB4O1xuICAgIH1cbn1cblxuQG1peGluIHR5cGUtLTY0KCkge1xuICAgIGZvbnQtc2l6ZTogNDRweDtcbiAgICBsaW5lLWhlaWdodDogNTJweDtcblxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIGRvd24pIHtcbiAgICAgICAgZm9udC1zaXplOiAzOHB4O1xuICAgICAgICBsaW5lLWhlaWdodDogNDZweDtcbiAgICAgICAgQGluY2x1ZGUgc21vb3RoO1xuICAgIH1cbn1cblxuQG1peGluIHR5cGUtLTI1KCkge1xuICAgIGZvbnQtc2l6ZTogMjVweDtcbiAgICBsaW5lLWhlaWdodDogMzBweDtcbn1cblxuQG1peGluIHR5cGUtLTIyKCkge1xuICAgIGZvbnQtc2l6ZTogMjJweDtcbiAgICBsaW5lLWhlaWdodDogMjZweDtcbn1cblxuQG1peGluIHR5cGUtLTE2KCkge1xuICAgIGZvbnQtc2l6ZTogMTZweDtcbiAgICBsaW5lLWhlaWdodDogMTlweDtcbn1cblxuQG1peGluIHNtb290aCgpIHtcbiAgICAtd2Via2l0LWZvbnQtc21vb3RoaW5nOiBhbnRpYWxpYXNlZDtcbn1cblxuXG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBicmVha3BvaW50c1xuLy8vL1xuXG4vLy8gQSBsaXN0IG9mIG5hbWVkIGJyZWFrcG9pbnRzLiBZb3UgY2FuIHVzZSB0aGVzZSB3aXRoIHRoZSBgYnJlYWtwb2ludCgpYCBtaXhpbiB0byBxdWlja2x5IGNyZWF0ZSBtZWRpYSBxdWVyaWVzLlxuLy8vIEB0eXBlIE1hcFxuJGJyZWFrcG9pbnRzOiAoXG4gIHNtYWxsOiAwLFxuICBtZWRpdW06IDY0MHB4LFxuICBsYXJnZTogMTAyNHB4LFxuICB4bGFyZ2U6IDEyMDBweCxcbiAgeHhsYXJnZTogMTQ0MHB4LFxuKSAhZGVmYXVsdDtcblxuLy8vIEEgbGlzdCBvZiBuYW1lZCBIaURQSSBicmVha3BvaW50cy4gWW91IGNhbiB1c2UgdGhlc2Ugd2l0aCB0aGUgYGJyZWFrcG9pbnQoKWAgbWl4aW4gdG8gcXVpY2tseSBjcmVhdGUgbWVkaWEgcXVlcmllcyBmb3IgcmVzb2x1dGlvbnMuXG4vLy8gVmFsdWVzIG11c3QgcmVwcmVzZW50IHRoZSBkZXZpY2UgcGl4ZWxzIC8gd2ViIHBpeGVscyByYXRpb24gYW5kIGJlIHVuaXRsZXNzIG9yIGluIERQUFguXG4vLy8gQHR5cGUgTWFwXG4kYnJlYWtwb2ludHMtaGlkcGk6IChcbiAgaGlkcGktMTogMSxcbiAgaGlkcGktMS01OiAxLjUsXG4gIGhpZHBpLTI6IDIsXG4gIHJldGluYTogMixcbiAgaGlkcGktMzogM1xuKSAhZGVmYXVsdDtcblxuLy8vIFRoZSBsYXJnZXN0IG5hbWVkIGJyZWFrcG9pbnQgaW4gd2hpY2ggdG8gaW5jbHVkZSBwcmludCBhcyBhIG1lZGlhIHR5cGVcbi8vLyBAdHlwZSBLZXl3b3JkXG4kcHJpbnQtYnJlYWtwb2ludDogbGFyZ2UgIWRlZmF1bHQ7XG5cbiQtemYtemVyby1icmVha3BvaW50OiBzbWFsbCAhZGVmYXVsdDtcblxuJC16Zi1icmVha3BvaW50cy1rZXlzOiBtYXAtdG8tbGlzdCgkYnJlYWtwb2ludHMsICdrZXlzJyk7XG5cbkBpZiBudGgobWFwLXZhbHVlcygkYnJlYWtwb2ludHMpLCAxKSAhPSAwIHtcbiAgQGVycm9yICdUaGUgZmlyc3Qga2V5IGluIHRoZSAkYnJlYWtwb2ludHMgbWFwIG11c3QgaGF2ZSBhIHZhbHVlIG9mIFwiMFwiLic7XG59XG5AZWxzZSB7XG4gICQtemYtemVyby1icmVha3BvaW50OiBudGgobWFwLWtleXMoJGJyZWFrcG9pbnRzKSwgMSk7XG59XG5cbi8vLyBBbGwgb2YgdGhlIG5hbWVzIGluIHRoaXMgbGlzdCB3aWxsIGJlIG91dHB1dCBhcyBjbGFzc2VzIGluIHlvdXIgQ1NTLCBsaWtlIGAuc21hbGwtMTJgLCBgLm1lZGl1bS02YCwgYW5kIHNvIG9uLiBFYWNoIHZhbHVlIGluIHRoaXMgbGlzdCBtdXN0IGFsc28gYmUgaW4gdGhlIGAkYnJlYWtwb2ludHNgIG1hcC5cbi8vLyBAdHlwZSBMaXN0XG4kYnJlYWtwb2ludC1jbGFzc2VzOiAoc21hbGwgbWVkaXVtIGxhcmdlKSAhZGVmYXVsdDtcblxuLy8vIEdlbmVyYXRlcyBhIG1lZGlhIHF1ZXJ5IHN0cmluZyBtYXRjaGluZyB0aGUgaW5wdXQgdmFsdWUuIFJlZmVyIHRvIHRoZSBkb2N1bWVudGF0aW9uIGZvciB0aGUgYGJyZWFrcG9pbnQoKWAgbWl4aW4gdG8gc2VlIHdoYXQgdGhlIHBvc3NpYmxlIGlucHV0cyBhcmUuXG4vLy9cbi8vLyBAcGFyYW0ge0tleXdvcmR8TnVtYmVyfSAkdmFsIFtzbWFsbF0gLSBCcmVha3BvaW50IG5hbWUsIG9yIHB4LCByZW0sIG9yIGVtIHZhbHVlIHRvIHByb2Nlc3MuXG5AZnVuY3Rpb24gYnJlYWtwb2ludCgkdmFsOiAkLXpmLXplcm8tYnJlYWtwb2ludCkge1xuICAvLyBXZWIgc3RhbmRhcmQgUGl4ZWxzIHBlciBpbmNoLiAoMWRkcHggLyAkc3RkLXdlYi1kcGkpID0gMWRwaVxuICAvLyBTZWUgaHR0cHM6Ly93d3cudzMub3JnL1RSL2Nzcy12YWx1ZXMtMy8jYWJzb2x1dGUtbGVuZ3Roc1xuICAkc3RkLXdlYi1kcGk6IDk2O1xuXG4gIC8vIFNpemUgb3Iga2V5d29yZFxuICAkYnA6IG50aCgkdmFsLCAxKTtcbiAgLy8gVmFsdWUgb2YgdGhlIGZvbGxvd2luZyBicmVha3BvaW50XG4gICRicC1uZXh0OiBudWxsO1xuICAvLyBWYWx1ZSBmb3IgbWF4LXdpZHRoIG1lZGlhIHF1ZXJpZXNcbiAgJGJwLW1pbjogbnVsbDtcbiAgLy8gVmFsdWUgZm9yIG1pbi13aWR0aCBtZWRpYSBxdWVyaWVzXG4gICRicC1tYXg6IG51bGw7XG4gIC8vIERpcmVjdGlvbiBvZiBtZWRpYSBxdWVyeSAodXAsIGRvd24sIG9yIG9ubHkpXG4gICRkaXI6IGlmKGxlbmd0aCgkdmFsKSA+IDEsIG50aCgkdmFsLCAyKSwgdXApO1xuICAvLyBJZiBuYW1lZCwgbmFtZSBvZiB0aGUgYnJlYWtwb2ludFxuICAkbmFtZTogbnVsbDtcbiAgLy8gSWYgdGhlIGJyZWFrcG9pbnQgaXMgYSBIaURQSSBicmVha3BvaW50XG4gICRoaWRwaTogZmFsc2U7XG5cbiAgLy8gT3JpZW50YXRpb24gbWVkaWEgcXVlcmllcyBoYXZlIGEgdW5pcXVlIHN5bnRheFxuICBAaWYgJGJwID09ICdsYW5kc2NhcGUnIG9yICRicCA9PSAncG9ydHJhaXQnIHtcbiAgICBAcmV0dXJuICcob3JpZW50YXRpb246ICN7JGJwfSknO1xuICB9XG5cbiAgLy8gSWYgYSBicmVha3BvaW50IG5hbWUgaXMgZ2l2ZW4sIGdldCBpdHMgdmFsdWUgZnJvbSB0aGUgJGJyZWFrcG9pbnRzLyRicmVha3BvaW50cy1oaWRwaSBtYXAuXG4gIEBpZiB0eXBlLW9mKCRicCkgPT0gJ3N0cmluZycge1xuICAgIEBpZiBtYXAtaGFzLWtleSgkYnJlYWtwb2ludHMsICRicCkge1xuICAgICAgJG5hbWU6ICRicDtcbiAgICAgICRicDogbWFwLWdldCgkYnJlYWtwb2ludHMsICRuYW1lKTtcbiAgICAgICRicC1uZXh0OiAtemYtbWFwLW5leHQoJGJyZWFrcG9pbnRzLCAkbmFtZSk7XG4gICAgfVxuICAgIEBlbHNlIGlmIG1hcC1oYXMta2V5KCRicmVha3BvaW50cy1oaWRwaSwgJGJwKSB7XG4gICAgICAkbmFtZTogJGJwO1xuICAgICAgJGJwOiBtYXAtZ2V0KCRicmVha3BvaW50cy1oaWRwaSwgJG5hbWUpO1xuICAgICAgJGJwLW5leHQ6IC16Zi1tYXAtbmV4dC1udW1iZXIoJGJyZWFrcG9pbnRzLWhpZHBpLCAkYnApO1xuICAgICAgJGhpZHBpOiB0cnVlO1xuICAgIH1cbiAgICBAZWxzZSB7XG4gICAgICAkYnA6IDA7XG4gICAgICBAd2FybiAnYnJlYWtwb2ludCgpOiBcIiN7JHZhbH1cIiBpcyBub3QgZGVmaW5lZCBpbiB5b3VyIGAkYnJlYWtwb2ludHNgIG9yIGAkYnJlYWtwb2ludHMtaGlkcGlgIHNldHRpbmcuJztcbiAgICB9XG4gIH1cblxuICBAaWYgbm90ICRuYW1lIGFuZCAkZGlyID09ICdvbmx5JyB7XG4gICAgQHdhcm4gJ2JyZWFrcG9pbnQoKTogT25seSBuYW1lZCBtZWRpYSBxdWVyaWVzIGNhbiBoYXZlIGFuIGBvbmx5YCByYW5nZS4nO1xuICAgIEByZXR1cm4gbnVsbDtcbiAgfVxuXG4gIC8vIE9ubHkgJ29ubHknIGFuZCAndXAnIGhhdmUgYSBtaW4gbGltaXQuXG4gIEBpZiAkZGlyID09ICdvbmx5JyBvciAkZGlyID09ICd1cCcge1xuICAgICRicC1taW46IGlmKCRoaWRwaSwgc3RyaXAtdW5pdCgkYnApLCAtemYtYnAtdG8tZW0oJGJwKSk7XG4gIH1cbiAgLy8gT25seSAnb25seScgYW5kICdkb3duJyBoYXZlIGEgbWF4IGxpbWl0LlxuICBAaWYgJGRpciA9PSAnb25seScgb3IgJGRpciA9PSAnZG93bicge1xuICAgIC8vIElmIHRoZSBicmVha3BvaW50IGlzIGEgdmFsdWUsIHVzZSBpdCBhcyBtYXggbGltaXQuXG4gICAgQGlmIG5vdCAkbmFtZSB7XG4gICAgICAkYnAtbWF4OiBpZigkaGlkcGksIHN0cmlwLXVuaXQoJGJwKSwgLXpmLWJwLXRvLWVtKCRicCkpO1xuICAgIH1cbiAgICAvLyBJZiB0aGUgYnJlYWtwb2ludCBpcyBuYW1lZCwgdGhlIG1heCBsaW1pdCBpcyB0aGUgZm9sbG93aW5nIGJyZWFrcG9pbnQgLSAxcHguXG4gICAgQGVsc2UgaWYgJGJwLW5leHQge1xuICAgICAgLy8gTWF4IHZhbHVlIGlzIDAuMnB4IHVuZGVyIHRoZSBuZXh0IGJyZWFrcG9pbnQgKDAuMDIgLyAxNiA9IDAuMDAxMjUpLlxuICAgICAgLy8gVXNlIGEgcHJlY2lzaW9uIHVuZGVyIDFweCB0byBzdXBwb3J0IGJyb3dzZXIgem9vbSwgYnV0IG5vdCB0byBsb3cgdG8gYXZvaWQgcm91bmRpbmcuXG4gICAgICAvLyBTZWUgaHR0cHM6Ly9naXRodWIuY29tL3p1cmIvZm91bmRhdGlvbi1zaXRlcy9pc3N1ZXMvMTEzMTNcbiAgICAgICRicC1tYXg6IGlmKCRoaWRwaSwgJGJwLW5leHQgLSAoMS8kc3RkLXdlYi1kcGkpLCAtemYtYnAtdG8tZW0oJGJwLW5leHQpIC0gMC4wMDEyNSk7XG4gICAgfVxuICB9XG5cbiAgLy8gR2VuZXJhdGUgdGhlIG1lZGlhIHF1ZXJ5IHN0cmluZyBmcm9tIG1pbiBhbmQgbWF4IGxpbWl0cy5cbiAgQGlmICRoaWRwaSB7XG4gICAgLy8gR2VuZXJhdGUgdmFsdWVzIGluIERQSSBpbnN0ZWFkIG9mIERQUFggZm9yIGFuIElFOS0xMS9PcGVyYSBtaW5pIGNvbXBhdGliaWxpdHkuXG4gICAgLy8gU2VlIGh0dHBzOi8vY2FuaXVzZS5jb20vI2ZlYXQ9Y3NzLW1lZGlhLXJlc29sdXRpb25cbiAgICAkYnAtbWluLWRwaTogaWYoJGJwLW1pbiwgJGJwLW1pbiAqICRzdGQtd2ViLWRwaSAqIDFkcGksICRicC1taW4pO1xuICAgICRicC1tYXgtZHBpOiBpZigkYnAtbWF4LCAkYnAtbWF4ICogJHN0ZC13ZWItZHBpICogMWRwaSwgJGJwLW1heCk7XG4gICAgQHJldHVybiB6Zi1zdHItam9pbihcbiAgICAgIC16Zi1icC1qb2luKCRicC1taW4sICRicC1tYXgsICctd2Via2l0LW1pbi1kZXZpY2UtcGl4ZWwtcmF0aW8nLCAnLXdlYmtpdC1tYXgtZGV2aWNlLXBpeGVsLXJhdGlvJyksXG4gICAgICAtemYtYnAtam9pbigkYnAtbWluLWRwaSwgJGJwLW1heC1kcGksICdtaW4tcmVzb2x1dGlvbicsICdtYXgtcmVzb2x1dGlvbicpLFxuICAgICAgJywgJyk7XG4gIH1cbiAgQGVsc2Uge1xuICAgIEByZXR1cm4gLXpmLWJwLWpvaW4oJGJwLW1pbiwgJGJwLW1heCk7XG4gIH1cbn1cblxuLy8vIFdyYXBzIGEgbWVkaWEgcXVlcnkgYXJvdW5kIHRoZSBjb250ZW50IHlvdSBwdXQgaW5zaWRlIHRoZSBtaXhpbi4gVGhpcyBtaXhpbiBhY2NlcHRzIGEgbnVtYmVyIG9mIHZhbHVlczpcbi8vLyAgLSBJZiBhIHN0cmluZyBpcyBwYXNzZWQsIHRoZSBtaXhpbiB3aWxsIGxvb2sgZm9yIGl0IGluIHRoZSBgJGJyZWFrcG9pbnRzYCBhbmQgYCRicmVha3BvaW50cy1oaWRwaWAgbWFwcywgYW5kIHVzZSBhIG1lZGlhIHF1ZXJ5IHRoZXJlLlxuLy8vICAtIElmIGEgcGl4ZWwgdmFsdWUgaXMgcGFzc2VkLCBpdCB3aWxsIGJlIGNvbnZlcnRlZCB0byBhbiBlbSB2YWx1ZSB1c2luZyBgJGdsb2JhbC1mb250LXNpemVgIGFzIHRoZSBiYXNlLlxuLy8vICAtIElmIGEgcmVtIHZhbHVlIGlzIHBhc3NlZCwgdGhlIHVuaXQgd2lsbCBiZSBjaGFuZ2VkIHRvIGVtLlxuLy8vICAtIElmIGFuIGVtIHZhbHVlIGlzIHBhc3NlZCwgdGhlIHZhbHVlIHdpbGwgYmUgdXNlZCBhcy1pcy5cbi8vL1xuLy8vIElmIG11bHRpcGxlIHZhbHVlcyBhcmUgcGFzc2VkLCB0aGUgbWl4aW4gd2lsbCBnZW5lcmF0ZSBhIG1lZGlhIHF1ZXJ5IGZvciBlYWNoIG9mIHRoZW0gYXMgZGVzY3JpYmVkIGFib3ZlLlxuLy8vIFNpbmNlIHRoZSBjb250ZW50IGlzIGR1cGxpY2F0ZWQgZm9yIGVhY2ggYnJlYWtwb2ludCwgdGhpcyBtaXhpbiBzaG91bGQgb25seSBiZSB1c2VkIHdpdGggcHJvcGVydGllcyB0aGF0XG4vLy8gY2hhbmdlIGFjcm9zcyBicmVha3BvaW50cy5cbi8vL1xuLy8vIEBwYXJhbSB7S2V5d29yZHxOdW1iZXJ9ICR2YWx1ZXMuLi4gLSBCcmVha3BvaW50IG5hbWUgb3IgcHgvcmVtL2VtIHZhbHVlIHRvIHByb2Nlc3MuXG4vLy9cbi8vLyBAb3V0cHV0IElmIHRoZSBicmVha3BvaW50IGlzIFwiMHB4IGFuZCBsYXJnZXJcIiwgb3V0cHV0cyB0aGUgY29udGVudCBhcy1pcy4gT3RoZXJ3aXNlLCBvdXRwdXRzIHRoZSBjb250ZW50IHdyYXBwZWQgaW4gYSBtZWRpYSBxdWVyeS5cbkBtaXhpbiBicmVha3BvaW50KCR2YWx1ZXMuLi4pIHtcbiAgQGZvciAkaSBmcm9tIDEgdGhyb3VnaCBsZW5ndGgoJHZhbHVlcykge1xuICAgICR2YWx1ZTogbnRoKCR2YWx1ZXMsICRpKTtcbiAgICAkc3RyOiBicmVha3BvaW50KCR2YWx1ZSk7XG4gICAgJGJwOiBpbmRleCgkLXpmLWJyZWFrcG9pbnRzLWtleXMsIG50aCgkdmFsdWUsIDEpKTtcbiAgICAkcGJwOiBpbmRleCgkLXpmLWJyZWFrcG9pbnRzLWtleXMsICRwcmludC1icmVha3BvaW50KTtcbiAgICAvLyBEaXJlY3Rpb24gb2YgbWVkaWEgcXVlcnkgKHVwLCBkb3duLCBvciBvbmx5KVxuICAgICRkaXI6IGlmKGxlbmd0aCgkdmFsdWUpID4gMSwgbnRoKCR2YWx1ZSwgMiksIHVwKTtcblxuICAgICRvbGQtemYtc2l6ZTogbnVsbDtcblxuICAgIC8vIE1ha2UgYnJlYWtwb2ludCBzaXplIGF2YWlsYWJsZSBhcyBhIHZhcmlhYmxlXG4gICAgQGlmIGdsb2JhbC12YXJpYWJsZS1leGlzdHMoLXpmLXNpemUpIHtcbiAgICAgICRvbGQtemYtc2l6ZTogJC16Zi1zaXplO1xuICAgIH1cbiAgICAkLXpmLXNpemU6IG50aCgkdmFsdWUsIDEpICFnbG9iYWw7IC8vIGdldCB0aGUgZmlyc3QgdmFsdWUgdG8gYWNjb3VudCBmb3IgYG9ubHlgIGFuZCBgZG93bmAga2V5d29yZHNcblxuICAgIC8vIElmICRzdHIgaXMgc3RpbGwgYW4gZW1wdHkgc3RyaW5nLCBubyBtZWRpYSBxdWVyeSBpcyBuZWVkZWRcbiAgICBAaWYgJHN0ciA9PSAnJyB7XG4gICAgICBAY29udGVudDtcbiAgICB9XG5cbiAgICAvLyBPdGhlcndpc2UsIHdyYXAgdGhlIGNvbnRlbnQgaW4gYSBtZWRpYSBxdWVyeVxuICAgIEBlbHNlIHtcbiAgICAgIC8vIEZvciBuYW1lZCBicmVha3BvaW50cyBsZXNzIHRoYW4gb3IgZXF1YWwgdG8gJHByaW50LWJyZWFrcG9pbnQsIGFkZCBwcmludCB0byB0aGUgbWVkaWEgdHlwZXNcbiAgICAgIC8vIGdlbmVyYXRlIHByaW50IGlmIHRoZSBicmVha3BvaW50IGFmZmVjdHMgdGhlIHByaW50LWJyZWFrcG9pbnQgKG9yIHNtYWxsZXIpLlxuICAgICAgLy8gVGhpcyBtZWFucyB0aGUgY3VycmVudCBjb25kaXRpb24gb25seSBuZWVkcyB0byBiZSBleHRlbmRlZCBzbyAnZG93bicgYWx3YXlzIGdlbmVyYXRlcyBwcmludC5cbiAgICAgIEBpZiAkYnAgIT0gbnVsbCBhbmQgKCRicCA8PSAkcGJwIG9yICRkaXIgPT0gZG93bikge1xuICAgICAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgI3skc3RyfSB7XG4gICAgICAgICAgQGNvbnRlbnQ7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgIEBlbHNlIHtcbiAgICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgI3skc3RyfSB7XG4gICAgICAgICAgQGNvbnRlbnQ7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICAkLXpmLXNpemU6ICRvbGQtemYtc2l6ZSAhZ2xvYmFsO1xuICB9XG59XG5cbi8vLyBDb252ZXJ0cyB0aGUgYnJlYWtwb2ludHMgbWFwIHRvIGEgVVJMLWVuY29kZWQgc3RyaW5nLCBsaWtlIHRoaXM6IGBrZXkxPXZhbHVlMSZrZXkyPXZhbHVlMmAuIFRoZSB2YWx1ZSBpcyB0aGVuIGRyb3BwZWQgaW50byB0aGUgQ1NTIGZvciBhIHNwZWNpYWwgYDxtZXRhPmAgdGFnLCB3aGljaCBpcyByZWFkIGJ5IHRoZSBGb3VuZGF0aW9uIEphdmFTY3JpcHQuIFRoaXMgaXMgaG93IHdlIHRyYW5zZmVyIHZhbHVlcyBmcm9tIFNhc3MgdG8gSmF2YVNjcmlwdCwgc28gdGhleSBjYW4gYmUgZGVmaW5lZCBpbiBvbmUgcGxhY2UuXG4vLy8gQGFjY2VzcyBwcml2YXRlXG4vLy9cbi8vLyBAcGFyYW0ge01hcH0gJG1hcCAtIE1hcCB0byBjb252ZXJ0LlxuLy8vXG4vLy8gQHJldHVybnMge1N0cmluZ30gQSBzdHJpbmcgY29udGFpbmluZyB0aGUgbWFwJ3MgY29udGVudHMuXG5AZnVuY3Rpb24gLXpmLWJwLXNlcmlhbGl6ZSgkbWFwKSB7XG4gICRzdHI6ICcnO1xuICBAZWFjaCAka2V5LCAkdmFsdWUgaW4gJG1hcCB7XG4gICAgJHN0cjogJHN0ciArICRrZXkgKyAnPScgKyAtemYtYnAtdG8tZW0oJHZhbHVlKSArICcmJztcbiAgfVxuICAkc3RyOiBzdHItc2xpY2UoJHN0ciwgMSwgLTIpO1xuXG4gIEByZXR1cm4gJHN0cjtcbn1cblxuLy8vIEZpbmQgdGhlIG5leHQga2V5IGluIGEgbWFwLlxuLy8vIEBhY2Nlc3MgcHJpdmF0ZVxuLy8vXG4vLy8gQHBhcmFtIHtNYXB9ICRtYXAgLSBNYXAgdG8gdHJhdmVyc2UuXG4vLy8gQHBhcmFtIHtNaXhlZH0gJGtleSAtIEtleSB0byB1c2UgYXMgYSBzdGFydGluZyBwb2ludC5cbi8vL1xuLy8vIEByZXR1cm5zIHtNaXhlZH0gVGhlIHZhbHVlIGZvciB0aGUga2V5IGFmdGVyIGAka2V5YCwgaWYgYCRrZXlgIHdhcyBmb3VuZC4gSWYgYCRrZXlgIHdhcyBub3QgZm91bmQsIG9yIGAka2V5YCB3YXMgdGhlIGxhc3QgdmFsdWUgaW4gdGhlIG1hcCwgcmV0dXJucyBgbnVsbGAuXG5AZnVuY3Rpb24gLXpmLW1hcC1uZXh0KCRtYXAsICRrZXkpIHtcblxuICAvLyBTdG9yZSB0aGUga2V5cyBvZiB0aGUgbWFwIGFzIGEgbGlzdFxuICAkdmFsdWVzOiBtYXAta2V5cygkbWFwKTtcblxuICAkaTogMDtcblxuICAvLyBJZiB0aGUgS2V5IEV4aXN0cywgR2V0IHRoZSBpbmRleCBvZiB0aGUga2V5IHdpdGhpbiB0aGUgbWFwIGFuZCBhZGQgMSB0byBpdCBmb3IgdGhlIG5leHQgYnJlYWtwb2ludCBpbiB0aGUgbWFwXG4gIEBpZiAobWFwLWhhcy1rZXkoJG1hcCwgJGtleSkpIHtcbiAgICAkaTogaW5kZXgoJHZhbHVlcywgJGtleSkgKyAxO1xuICB9XG5cbiAgLy8gSWYgdGhlIGtleSBkb2Vzbid0IGV4aXN0LCBvciBpdCdzIHRoZSBsYXN0IGtleSBpbiB0aGUgbWFwLCByZXR1cm4gbnVsbFxuICBAaWYgKCRpID4gbGVuZ3RoKCRtYXApIG9yICRpID09IDApIHtcbiAgICBAcmV0dXJuIG51bGw7XG4gIH1cbiAgLy8gT3RoZXJ3aXNlLCByZXR1cm4gdGhlIHZhbHVlXG4gIEBlbHNlIHtcbiAgICBAcmV0dXJuIG1hcC1nZXQoJG1hcCwgbnRoKCR2YWx1ZXMsICRpKSk7XG4gIH1cblxufVxuXG4vLy8gRmluZCB0aGUgbmV4dCBudW1iZXIgaW4gYSBtYXAuXG4vLy8gQGFjY2VzcyBwcml2YXRlXG4vLy9cbi8vLyBAcGFyYW0ge01hcH0gJG1hcCAtIE1hcCB0byB0cmF2ZXJzZS5cbi8vLyBAcGFyYW0ge01peGVkfSAkbnVtYmVyIC0gTnVtYmVyIHRvIHVzZSBhcyBhIHN0YXJ0aW5nIHBvaW50LlxuLy8vXG4vLy8gQHJldHVybnMge01peGVkfSBUaGUgbnVtYmVyIGZvbGxvd2luZyBgJG51bWJlcmAsIGlmIGAkbnVtYmVyYCB3YXMgZm91bmQuIElmIGAkbnVtYmVyYCB3YXMgbm90IGZvdW5kLCBvciBgJG51bWJlcmAgd2FzIHRoZSBiaWdnZXN0IG51bWJlciBpbiB0aGUgbWFwLCByZXR1cm5zIGBudWxsYC5cbkBmdW5jdGlvbiAtemYtbWFwLW5leHQtbnVtYmVyKCRtYXAsICRudW1iZXIpIHtcblxuICAkbmV4dF9udW1iZXI6IG51bGw7XG5cbiAgQGVhY2ggJGssICR2IGluICRtYXAge1xuICAgIEBpZiB0eXBlLW9mKCR2KSA9PSAnbnVtYmVyJyBhbmQgJHYgPiAkbnVtYmVyIGFuZCAoJG5leHRfbnVtYmVyID09IG51bGwgb3IgJHYgPCAkbmV4dF9udW1iZXIpIHtcbiAgICAgICRuZXh0X251bWJlcjogJHY7XG4gICAgfVxuICB9XG5cbiAgQHJldHVybiAkbmV4dF9udW1iZXI7XG59XG5cbi8vLyBSZXR1cm4gYSBsaXN0IG9mIG91ciBuYW1lZCBicmVha3BvaW50cyBsZXNzIHRoYW4gJGtleS4gVXNlZnVsIGZvciBkZWFsaW5nIHdpdGhcbi8vLyByZXNwb25zaXZlIGd1dHRlcnMgZm9yIHRoZSBncmlkLlxuLy8vIEBhY2Nlc3MgcHJpdmF0ZVxuLy8vXG4vLy8gQHBhcmFtIHtTdHJpbmd9ICRrZXkgLSBLZXkgdG8gdXNlIGFzIGxhc3QgYnJlYWtwb2ludC5cbi8vL1xuLy8vIEByZXR1cm5zIHtBcnJheX0gVGhlIGxpc3Qgb2YgYnJlYWtwb2ludHMgdXAgdG8gYW5kLiBJZiAka2V5IGlzIGF1dG8sIHJldHVybnMgYnJlYWtwb2ludHMgYWJvdmUgdGhlIHplcm9cbkBmdW5jdGlvbiAtemYtYnJlYWtwb2ludHMtbGVzcy10aGFuKCRrZXkpIHtcbiAgJGxpc3Q6ICgpO1xuICAkZm91bmRfa2V5OiBmYWxzZTtcblxuICBAZWFjaCAkbmFtZSBpbiAkLXpmLWJyZWFrcG9pbnRzLWtleXMge1xuICAgIEBpZiAoJG5hbWUgPT0gJGtleSkge1xuICAgICAgJGZvdW5kX2tleTogdHJ1ZTtcbiAgICB9XG4gICAgQGlmIG5vdCAkZm91bmRfa2V5IHtcbiAgICAgICRsaXN0OiBhcHBlbmQoJGxpc3QsICRuYW1lKTtcbiAgICB9XG4gIH1cbiAgQHJldHVybiAkbGlzdDtcbn1cblxuLy8vIFJldHVybiBhIGxpc3Qgb2Ygb3VyIG5hbWVkIGJyZWFrcG9pbnRzIGxlc3MgdGhhbiAka2V5LiBVc2VmdWwgZm9yIGRlYWxpbmcgd2l0aFxuLy8vIHJlc3BvbnNpdmUgZ3V0dGVycyBmb3IgdGhlIGdyaWQuXG4vLy8gQGFjY2VzcyBwcml2YXRlXG4vLy9cbi8vLyBAcGFyYW0ge1N0cmluZ30gJGJyZWFrcG9pbnQgLSBhIG5hbWVkIG9yIG5vbi1uYW1lZCBicmVha3BvaW50LlxuLy8vXG4vLy8gQHJldHVybnMge0FycmF5fSBUaGUgbGlzdCBvZiBicmVha3BvaW50cyB1cCB0byBhbmQuIElmICRrZXkgaXMgYXV0bywgcmV0dXJucyBicmVha3BvaW50cyBhYm92ZSB0aGUgemVyb1xuQGZ1bmN0aW9uIC16Zi1jbG9zZXN0LW5hbWVkLWJyZWFrcG9pbnQoJGJyZWFrcG9pbnQpIHtcbiAgJGxhc3Q6ICQtemYtemVyby1icmVha3BvaW50O1xuICAkZm91bmQ6IGZhbHNlO1xuXG4gICR2YWx1ZTogdW5pdGxlc3MtY2FsYygkYnJlYWtwb2ludCwgMXB4KTtcbiAgQGVhY2ggJGtleSwgJHZhbCBpbiAkYnJlYWtwb2ludHMge1xuICAgIEBpZiBub3QgJGZvdW5kIHtcbiAgICAgIEBpZiB1bml0bGVzcy1jYWxjKCR2YWwpID4gJHZhbHVlIHtcbiAgICAgICAgJGZvdW5kOiB0cnVlO1xuICAgICAgfSBAZWxzZSB7XG4gICAgICAgICRsYXN0OiAka2V5O1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIEByZXR1cm4gJGxhc3Q7XG59XG5cbi8vLyBHZXQgYSB2YWx1ZSBmb3IgYSBicmVha3BvaW50IGZyb20gYSByZXNwb25zaXZlIGNvbmZpZyBtYXAgb3Igc2luZ2xlIHZhbHVlLlxuLy8vIC0gSWYgdGhlIGNvbmZpZyBpcyBhIHNpbmdsZSB2YWx1ZSwgcmV0dXJuIGl0IHJlZ2FyZGxlc3Mgb2YgYCR2YWx1ZWAuXG4vLy8gLSBJZiB0aGUgY29uZmlnIGlzIGEgbWFwIGFuZCBoYXMgdGhlIGtleSBgJHZhbHVlYCwgdGhlIGV4YWN0IGJyZWFrcG9pbnQgdmFsdWUgaXMgcmV0dXJuZWQuXG4vLy8gLSBJZiB0aGUgY29uZmlnIGlzIGEgbWFwIGFuZCBkb2VzICpub3QqIGhhdmUgdGhlIGJyZWFrcG9pbnQsIHRoZSB2YWx1ZSBtYXRjaGluZyB0aGUgbmV4dCBsb3dlc3QgYnJlYWtwb2ludCBpbiB0aGUgY29uZmlnIG1hcCBpcyByZXR1cm5lZC5cbi8vLyBAYWNjZXNzIHByaXZhdGVcbi8vL1xuLy8vIEBwYXJhbSB7TnVtYmVyfE1hcH0gJG1hcCAtIFJlc3BvbnNpdmUgY29uZmlnIG1hcCBvciBzaW5nbGUgdmFsdWUuXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkdmFsdWUgLSBCcmVha3BvaW50IG5hbWUgdG8gdXNlLlxuLy8vXG4vLy8gQHJldHVybiB7TWl4ZWR9IFRoZSBjb3JyZXNwb25kaW5nIGJyZWFrcG9pbnQgdmFsdWUuXG5AZnVuY3Rpb24gLXpmLWdldC1icC12YWwoJG1hcCwgJHZhbHVlKSB7XG4gIC8vIElmIHRoZSBnaXZlbiBtYXAgaXMgYSBzaW5nbGUgdmFsdWUsIHJldHVybiBpdFxuICBAaWYgdHlwZS1vZigkbWFwKSA9PSAnbnVtYmVyJyB7XG4gICAgQHJldHVybiAkbWFwO1xuICB9XG5cblxuICAvLyBDaGVjayBpZiB0aGUgYnJlYWtwb2ludCBuYW1lIGV4aXN0cyBnbG9iYWxseVxuICBAaWYgbm90IG1hcC1oYXMta2V5KCRicmVha3BvaW50cywgJHZhbHVlKSB7XG4gICAgQGlmIHR5cGUtb2YoJHZhbHVlKSA9PSAnbnVtYmVyJyB7XG4gICAgICAkdmFsdWU6IC16Zi1jbG9zZXN0LW5hbWVkLWJyZWFrcG9pbnQoJHZhbHVlKTtcbiAgICB9IEBlbHNlIHtcbiAgICAgIEByZXR1cm4gbnVsbDtcbiAgICB9XG4gIH1cbiAgLy8gQ2hlY2sgaWYgdGhlIGJyZWFrcG9pbnQgbmFtZSBleGlzdHMgaW4gdGhlIGxvY2FsIGNvbmZpZyBtYXBcbiAgQGVsc2UgaWYgbWFwLWhhcy1rZXkoJG1hcCwgJHZhbHVlKSB7XG4gICAgLy8gSWYgaXQgZG9lcywganVzdCByZXR1cm4gdGhlIHZhbHVlXG4gICAgQHJldHVybiBtYXAtZ2V0KCRtYXAsICR2YWx1ZSk7XG4gIH1cbiAgLy8gT3RoZXJ3aXNlLCBmaW5kIHRoZSBuZXh0IGxvd2VzdCBicmVha3BvaW50IGFuZCByZXR1cm4gdGhhdCB2YWx1ZVxuICBAZWxzZSB7XG4gICAgJGFuY2hvcjogbnVsbDtcbiAgICAkZm91bmQ6IGZhbHNlO1xuXG4gICAgQGVhY2ggJGtleSwgJHZhbCBpbiAkYnJlYWtwb2ludHMge1xuICAgICAgQGlmIG5vdCAkZm91bmQge1xuICAgICAgICBAaWYgbWFwLWhhcy1rZXkoJG1hcCwgJGtleSkge1xuICAgICAgICAgICRhbmNob3I6ICRrZXk7XG4gICAgICAgIH1cbiAgICAgICAgQGlmICRrZXkgPT0gJHZhbHVlIHtcbiAgICAgICAgICAkZm91bmQ6IHRydWU7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICBAcmV0dXJuIG1hcC1nZXQoJG1hcCwgJGFuY2hvcik7XG4gIH1cbn1cblxuLy8vIFJldHVybiB0aGUgYmVzdCBicmVha3BvaW50IHRvIHVzZSBhY2NvcmRpbmcgdG8gdGhlIGNhbGxpbmcgY29udGV4dC4gSXQgcmV0dXJucyBpbiBvcmRlcjpcbi8vLyAxLiB0aGUgZ2l2ZW4gYCR2YWx1ZWAgYXJndW1lbnQgaWYgaXQgaXMgbm90IG51bGwuXG4vLy8gMi4gdGhlIGdsb2JhbCBicmVha3BvaW50IGNvbnRleHQgYCQtemYtc2l6ZWAgaWYgaXQgaXMgbm90IG51bGwgKGxpa2UgaWYgY2FsbGVkIGluc2lkZSB0aGVuIGBicmVha3BvaW50KClgIG1peGluKVxuLy8vIDMuIHRoZSBnaXZlbiBgJGRlZmF1bHRgIGFyZ3VtZW50LlxuLy8vIEBhY2Nlc3MgcHJpdmF0ZVxuLy8vXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkdmFsdWUgW251bGxdIC0gQnJlYWtwb2ludCB0byB1c2UgaW4gcHJpb3JpdHkgaWYgbm9uLW51bGwuXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkZGVmYXVsdCBbbnVsbF0gLSBCcmVha3BvaW50IHRvIHVzZSBieSBkZWZhdWx0IGlmIG5vIG90aGVyIHZhbHVlIGNhbiBiZSB1c2VkLlxuLy8vXG4vLy8gQHJldHVybiB7S2V5d29yZH0gVGhlIHJlc29sdmVkIGJyZWFrcG9pbnQuXG5AZnVuY3Rpb24gLXpmLWN1cnJlbnQtYnJlYWtwb2ludCgkdmFsdWU6IG51bGwsICRkZWZhdWx0OiBudWxsKSB7XG4gIEBpZiAoJHZhbHVlICE9IG51bGwpIHtcbiAgICBAcmV0dXJuICR2YWx1ZTtcbiAgfVxuICBAZWxzZSBpZiAodmFyaWFibGUtZXhpc3RzKC16Zi1zaXplKSBhbmQgdHlwZS1vZigkLXpmLXNpemUpICE9ICdudW1iZXInKSBhbmQgJC16Zi1zaXplICE9IG51bGwge1xuICAgIEByZXR1cm4gJC16Zi1zaXplO1xuICB9XG4gIEBlbHNlIHtcbiAgICBAcmV0dXJuICRkZWZhdWx0O1xuICB9XG59XG5cbi8vLyBSZXR1cm4gbWVkaWEgcXVlcnkgc3RyaW5nIGZyb20gdGhlIGdpdmVuIG1pbiBhbmQvb3IgbWF4IGxpbWl0cy5cbi8vLyBJZiBhIGxpbWl0IGlzIGVxdWFsIHRvIGBudWxsYCBvciBgMGAsIGl0IGlzIGlnbm9yZWQuXG4vLy8gQGFjY2VzcyBwcml2YXRlXG4vLy9cbi8vLyBAcGFyYW0ge051bWJlcn0gJG1pbiBbMF0gLSBNaW4gbWVkaWEgcXVlcnkgbGltaXQuXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRtYXggWzBdIC0gTWF4IG1lZGlhIHF1ZXJ5IGxpbWl0LlxuLy8vIEBwYXJhbSB7U3RyaW5nfSAkbWluLW5hbWUgWydtaW4td2lkdGgnXSAtIE5hbWUgb2YgdGhlIG1pbiBtZWRpYSBxdWVyeSBsaW1pdC5cbi8vLyBAcGFyYW0ge1N0cmluZ30gJGRlbGltaXRlciBbJ21heC13aWR0aCddIC0gTmFtZSBvZiB0aGUgbWF4IG1lZGlhIHF1ZXJ5IGxpbWl0LlxuLy8vXG4vLy8gQHJldHVybnMge1N0cmluZ30gTWVkaWEgUXVlcnkgc3RyaW5nLlxuQGZ1bmN0aW9uIC16Zi1icC1qb2luKFxuICAkbWluOiAwLFxuICAkbWF4OiAwLFxuICAkbWluLW5hbWU6ICdtaW4td2lkdGgnLFxuICAkbWF4LW5hbWU6ICdtYXgtd2lkdGgnXG4pIHtcbiAgQHJldHVybiB6Zi1zdHItam9pbihcbiAgICBpZigkbWluIGFuZCAkbWluID4gMCwgJygjeyRtaW4tbmFtZX06ICN7JG1pbn0pJywgbnVsbCksXG4gICAgaWYoJG1heCBhbmQgJG1heCA+IDAsICcoI3skbWF4LW5hbWV9OiAjeyRtYXh9KScsIG51bGwpLFxuICAgICcgYW5kICcpO1xufVxuXG4kc21hbGwtdXA6ICcnO1xuJHNtYWxsLW9ubHk6ICcnO1xuXG5AaWYgbWFwLWhhcy1rZXkoJGJyZWFrcG9pbnRzLCBzbWFsbCkge1xuICAkc21hbGwtdXA6IHNjcmVlbjtcbiAgJHNtYWxsLW9ubHk6IHVucXVvdGUoJ3NjcmVlbiBhbmQgI3ticmVha3BvaW50KHNtYWxsIG9ubHkpfScpO1xufVxuXG4kbWVkaXVtLXVwOiAnJztcbiRtZWRpdW0tb25seTogJyc7XG5cbkBpZiBtYXAtaGFzLWtleSgkYnJlYWtwb2ludHMsIG1lZGl1bSkge1xuICAkbWVkaXVtLXVwOiB1bnF1b3RlKCdzY3JlZW4gYW5kICN7YnJlYWtwb2ludChtZWRpdW0pfScpO1xuICAkbWVkaXVtLW9ubHk6IHVucXVvdGUoJ3NjcmVlbiBhbmQgI3ticmVha3BvaW50KG1lZGl1bSBvbmx5KX0nKTtcbn1cblxuJGxhcmdlLXVwOiAnJztcbiRsYXJnZS1vbmx5OiAnJztcblxuQGlmIG1hcC1oYXMta2V5KCRicmVha3BvaW50cywgbGFyZ2UpIHtcbiAgJGxhcmdlLXVwOiB1bnF1b3RlKCdzY3JlZW4gYW5kICN7YnJlYWtwb2ludChsYXJnZSl9Jyk7XG4gICRsYXJnZS1vbmx5OiB1bnF1b3RlKCdzY3JlZW4gYW5kICN7YnJlYWtwb2ludChsYXJnZSBvbmx5KX0nKTtcbn1cblxuJHhsYXJnZS11cDogJyc7XG4keGxhcmdlLW9ubHk6ICcnO1xuXG5AaWYgbWFwLWhhcy1rZXkoJGJyZWFrcG9pbnRzLCB4bGFyZ2UpIHtcbiAgJHhsYXJnZS11cDogdW5xdW90ZSgnc2NyZWVuIGFuZCAje2JyZWFrcG9pbnQoeGxhcmdlKX0nKTtcbiAgJHhsYXJnZS1vbmx5OiB1bnF1b3RlKCdzY3JlZW4gYW5kICN7YnJlYWtwb2ludCh4bGFyZ2Ugb25seSl9Jyk7XG59XG5cbiR4eGxhcmdlLXVwOiAnJztcblxuQGlmIG1hcC1oYXMta2V5KCRicmVha3BvaW50cywgeHhsYXJnZSkge1xuICAkeHhsYXJnZS11cDogdW5xdW90ZSgnc2NyZWVuIGFuZCAje2JyZWFrcG9pbnQoeHhsYXJnZSl9Jyk7XG59XG4iLCIvKiBNYWduaWZpYyBQb3B1cCBDU1MgKi9cbi5tZnAtYmcge1xuICAgIHRvcDogMDtcbiAgICBsZWZ0OiAwO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogMTAwJTtcbiAgICB6LWluZGV4OiAxMDQyO1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgcG9zaXRpb246IGZpeGVkO1xuICAgIGJhY2tncm91bmQ6ICMwYjBiMGI7XG4gICAgb3BhY2l0eTogMC44O1xufVxuXG4ubWZwLXdyYXAge1xuICAgIHRvcDogMDtcbiAgICBsZWZ0OiAwO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogMTAwJTtcbiAgICB6LWluZGV4OiAxMDQzO1xuICAgIHBvc2l0aW9uOiBmaXhlZDtcbiAgICBvdXRsaW5lOiBub25lICFpbXBvcnRhbnQ7XG4gICAgLXdlYmtpdC1iYWNrZmFjZS12aXNpYmlsaXR5OiBoaWRkZW47XG59XG5cbi5tZnAtY29udGFpbmVyIHtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogMTAwJTtcbiAgICBsZWZ0OiAwO1xuICAgIHRvcDogMDtcbiAgICBwYWRkaW5nOiAwIDhweDtcbiAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xufVxuXG4ubWZwLWNvbnRhaW5lcjpiZWZvcmUge1xuICAgIGNvbnRlbnQ6ICcnO1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbn1cblxuLm1mcC1hbGlnbi10b3AgLm1mcC1jb250YWluZXI6YmVmb3JlIHtcbiAgICBkaXNwbGF5OiBub25lO1xufVxuXG4ubWZwLWNvbnRlbnQge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgICBtYXJnaW46IDAgYXV0bztcbiAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAgIHotaW5kZXg6IDEwNDU7XG5cbiAgICBmaWdjYXB0aW9ue1xuICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgIH1cbn1cblxuLm1mcC1pbmxpbmUtaG9sZGVyIC5tZnAtY29udGVudCxcbi5tZnAtYWpheC1ob2xkZXIgLm1mcC1jb250ZW50IHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBjdXJzb3I6IGF1dG87XG59XG5cbi5tZnAtYWpheC1jdXIge1xuICAgIGN1cnNvcjogcHJvZ3Jlc3M7XG59XG5cbi5tZnAtem9vbS1vdXQtY3VyLCAubWZwLXpvb20tb3V0LWN1ciAubWZwLWltYWdlLWhvbGRlciAubWZwLWNsb3NlIHtcbiAgICBjdXJzb3I6IC1tb3otem9vbS1vdXQ7XG4gICAgY3Vyc29yOiAtd2Via2l0LXpvb20tb3V0O1xuICAgIGN1cnNvcjogem9vbS1vdXQ7XG59XG5cbi5tZnAtem9vbSB7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIGN1cnNvcjogLXdlYmtpdC16b29tLWluO1xuICAgIGN1cnNvcjogLW1vei16b29tLWluO1xuICAgIGN1cnNvcjogem9vbS1pbjtcbn1cblxuLm1mcC1hdXRvLWN1cnNvciAubWZwLWNvbnRlbnQge1xuICAgIGN1cnNvcjogYXV0bztcbn1cblxuLm1mcC1jbG9zZSxcbi5tZnAtYXJyb3csXG4ubWZwLXByZWxvYWRlcixcbi5tZnAtY291bnRlciB7XG4gICAgLXdlYmtpdC11c2VyLXNlbGVjdDogbm9uZTtcbiAgICAtbW96LXVzZXItc2VsZWN0OiBub25lO1xuICAgIHVzZXItc2VsZWN0OiBub25lO1xufVxuXG4ubWZwLWxvYWRpbmcubWZwLWZpZ3VyZSB7XG4gICAgZGlzcGxheTogbm9uZTtcbn1cblxuLm1mcC1oaWRlIHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG59XG5cbi5tZnAtcHJlbG9hZGVyIHtcbiAgICBjb2xvcjogI0NDQztcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiA1MCU7XG4gICAgd2lkdGg6IGF1dG87XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIG1hcmdpbi10b3A6IC0wLjhlbTtcbiAgICBsZWZ0OiA4cHg7XG4gICAgcmlnaHQ6IDhweDtcbiAgICB6LWluZGV4OiAxMDQ0O1xufVxuXG4ubWZwLXByZWxvYWRlciBhIHtcbiAgICBjb2xvcjogI0NDQztcbn1cblxuLm1mcC1wcmVsb2FkZXIgYTpob3ZlciB7XG4gICAgY29sb3I6ICNGRkY7XG59XG5cbi5tZnAtcy1yZWFkeSAubWZwLXByZWxvYWRlciB7XG4gICAgZGlzcGxheTogbm9uZTtcbn1cblxuLm1mcC1zLWVycm9yIC5tZnAtY29udGVudCB7XG4gICAgZGlzcGxheTogbm9uZTtcbn1cblxuYnV0dG9uLm1mcC1jbG9zZSxcbmJ1dHRvbi5tZnAtYXJyb3cge1xuICAgIG92ZXJmbG93OiB2aXNpYmxlO1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgICBib3JkZXI6IDA7XG4gICAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIG91dGxpbmU6IG5vbmU7XG4gICAgcGFkZGluZzogMDtcbiAgICB6LWluZGV4OiAxMDQ2O1xuICAgIGJveC1zaGFkb3c6IG5vbmU7XG4gICAgdG91Y2gtYWN0aW9uOiBtYW5pcHVsYXRpb247XG59XG5cbmJ1dHRvbjo6LW1vei1mb2N1cy1pbm5lciB7XG4gICAgcGFkZGluZzogMDtcbiAgICBib3JkZXI6IDA7XG59XG5cbi5tZnAtY2xvc2Uge1xuICAgIHdpZHRoOiA0NHB4O1xuICAgIGhlaWdodDogNDRweDtcbiAgICBsaW5lLWhlaWdodDogNDRweDtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgcmlnaHQ6IDA7XG4gICAgdG9wOiAwO1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgb3BhY2l0eTogMC42NTtcbiAgICBwYWRkaW5nOiAwIDAgMThweCAxMHB4O1xuICAgIGNvbG9yOiAjRkZGO1xuICAgIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgICBmb250LXNpemU6IDI4cHg7XG4gICAgZm9udC1mYW1pbHk6IEFyaWFsLCBCYXNrZXJ2aWxsZSwgbW9ub3NwYWNlO1xufVxuXG4ubWZwLWNsb3NlOmhvdmVyLFxuLm1mcC1jbG9zZTpmb2N1cyB7XG4gICAgb3BhY2l0eTogMTtcbn1cblxuLm1mcC1jbG9zZTphY3RpdmUge1xuICAgIHRvcDogMXB4O1xufVxuXG4ubWZwLWNsb3NlLWJ0bi1pbiAubWZwLWNsb3NlIHtcbiAgICBjb2xvcjogIzMzMztcbn1cblxuLm1mcC1pbWFnZS1ob2xkZXIgLm1mcC1jbG9zZSxcbi5tZnAtaWZyYW1lLWhvbGRlciAubWZwLWNsb3NlIHtcbiAgICBjb2xvcjogI0ZGRjtcbiAgICByaWdodDogLTZweDtcbiAgICB0ZXh0LWFsaWduOiByaWdodDtcbiAgICBwYWRkaW5nLXJpZ2h0OiA2cHg7XG4gICAgd2lkdGg6IDEwMCU7XG59XG5cbi5tZnAtY291bnRlciB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMDtcbiAgICByaWdodDogMDtcbiAgICBjb2xvcjogI0NDQztcbiAgICBmb250LXNpemU6IDEycHg7XG4gICAgbGluZS1oZWlnaHQ6IDE4cHg7XG4gICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbn1cblxuLm1mcC1hcnJvdyB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIG9wYWNpdHk6IDAuNjU7XG4gICAgbWFyZ2luOiAwO1xuICAgIHRvcDogNTAlO1xuICAgIG1hcmdpbi10b3A6IC01NXB4O1xuICAgIHBhZGRpbmc6IDA7XG4gICAgd2lkdGg6IDkwcHg7XG4gICAgaGVpZ2h0OiAxMTBweDtcbiAgICAtd2Via2l0LXRhcC1oaWdobGlnaHQtY29sb3I6IHRyYW5zcGFyZW50O1xufVxuXG4ubWZwLWFycm93OmFjdGl2ZSB7XG4gICAgbWFyZ2luLXRvcDogLTU0cHg7XG59XG5cbi5tZnAtYXJyb3c6aG92ZXIsXG4ubWZwLWFycm93OmZvY3VzIHtcbiAgICBvcGFjaXR5OiAxO1xufVxuXG4ubWZwLWFycm93OmJlZm9yZSxcbi5tZnAtYXJyb3c6YWZ0ZXIge1xuICAgIGNvbnRlbnQ6ICcnO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHdpZHRoOiAwO1xuICAgIGhlaWdodDogMDtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgbGVmdDogMDtcbiAgICB0b3A6IDA7XG4gICAgbWFyZ2luLXRvcDogMzVweDtcbiAgICBtYXJnaW4tbGVmdDogMzVweDtcbiAgICBib3JkZXI6IG1lZGl1bSBpbnNldCB0cmFuc3BhcmVudDtcbn1cblxuLm1mcC1hcnJvdzphZnRlciB7XG4gICAgYm9yZGVyLXRvcC13aWR0aDogMTNweDtcbiAgICBib3JkZXItYm90dG9tLXdpZHRoOiAxM3B4O1xuICAgIHRvcDogOHB4O1xufVxuXG4ubWZwLWFycm93OmJlZm9yZSB7XG4gICAgYm9yZGVyLXRvcC13aWR0aDogMjFweDtcbiAgICBib3JkZXItYm90dG9tLXdpZHRoOiAyMXB4O1xuICAgIG9wYWNpdHk6IDAuNztcbn1cblxuLm1mcC1hcnJvdy1sZWZ0IHtcbiAgICBsZWZ0OiAwO1xufVxuXG4ubWZwLWFycm93LWxlZnQ6YWZ0ZXIge1xuICAgIGJvcmRlci1yaWdodDogMTdweCBzb2xpZCAjRkZGO1xuICAgIG1hcmdpbi1sZWZ0OiAzMXB4O1xufVxuXG4ubWZwLWFycm93LWxlZnQ6YmVmb3JlIHtcbiAgICBtYXJnaW4tbGVmdDogMjVweDtcbiAgICBib3JkZXItcmlnaHQ6IDI3cHggc29saWQgIzNGM0YzRjtcbn1cblxuLm1mcC1hcnJvdy1yaWdodCB7XG4gICAgcmlnaHQ6IDA7XG59XG5cbi5tZnAtYXJyb3ctcmlnaHQ6YWZ0ZXIge1xuICAgIGJvcmRlci1sZWZ0OiAxN3B4IHNvbGlkICNGRkY7XG4gICAgbWFyZ2luLWxlZnQ6IDM5cHg7XG59XG5cbi5tZnAtYXJyb3ctcmlnaHQ6YmVmb3JlIHtcbiAgICBib3JkZXItbGVmdDogMjdweCBzb2xpZCAjM0YzRjNGO1xufVxuXG4ubWZwLWlmcmFtZS1ob2xkZXIge1xuICAgIHBhZGRpbmctdG9wOiA0MHB4O1xuICAgIHBhZGRpbmctYm90dG9tOiA0MHB4O1xufVxuXG4ubWZwLWlmcmFtZS1ob2xkZXIgLm1mcC1jb250ZW50IHtcbiAgICBsaW5lLWhlaWdodDogMDtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBtYXgtd2lkdGg6IDkwMHB4O1xufVxuXG4ubWZwLWlmcmFtZS1ob2xkZXIgLm1mcC1jbG9zZSB7XG4gICAgdG9wOiAtNDBweDtcbn1cblxuLm1mcC1pZnJhbWUtc2NhbGVyIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6IDA7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICBwYWRkaW5nLXRvcDogNTYuMjUlO1xufVxuXG4ubWZwLWlmcmFtZS1zY2FsZXIgaWZyYW1lIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgdG9wOiAwO1xuICAgIGxlZnQ6IDA7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIGJveC1zaGFkb3c6IDAgMCA4cHggcmdiYSgwLCAwLCAwLCAwLjYpO1xuICAgIGJhY2tncm91bmQ6ICMwMDA7XG59XG5cbi8qIE1haW4gaW1hZ2UgaW4gcG9wdXAgKi9cbmltZy5tZnAtaW1nIHtcbiAgICB3aWR0aDogYXV0bztcbiAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiBhdXRvO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIGxpbmUtaGVpZ2h0OiAwO1xuICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgcGFkZGluZzogNDBweCAwIDQwcHg7XG4gICAgbWFyZ2luOiAwIGF1dG87XG59XG5cbi8qIFRoZSBzaGFkb3cgYmVoaW5kIHRoZSBpbWFnZSAqL1xuLm1mcC1maWd1cmUge1xuICAgIGxpbmUtaGVpZ2h0OiAwO1xufVxuXG4ubWZwLWZpZ3VyZTphZnRlciB7XG4gICAgY29udGVudDogJyc7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIGxlZnQ6IDA7XG4gICAgdG9wOiA0MHB4O1xuICAgIGJvdHRvbTogNDBweDtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICByaWdodDogMDtcbiAgICB3aWR0aDogYXV0bztcbiAgICBoZWlnaHQ6IGF1dG87XG4gICAgei1pbmRleDogLTE7XG4gICAgYm94LXNoYWRvdzogMCAwIDhweCByZ2JhKDAsIDAsIDAsIDAuNik7XG4gICAgYmFja2dyb3VuZDogIzQ0NDtcbn1cblxuLm1mcC1maWd1cmUgc21hbGwge1xuICAgIGNvbG9yOiAjQkRCREJEO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIGZvbnQtc2l6ZTogMTJweDtcbiAgICBsaW5lLWhlaWdodDogMTRweDtcbn1cblxuLm1mcC1maWd1cmUgZmlndXJlIHtcbiAgICBtYXJnaW46IDA7XG59XG5cbi5tZnAtYm90dG9tLWJhciB7XG4gICAgbWFyZ2luLXRvcDogLTM2cHg7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMTAwJTtcbiAgICBsZWZ0OiAwO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGN1cnNvcjogYXV0bztcbn1cblxuLm1mcC10aXRsZSB7XG4gICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgICBsaW5lLWhlaWdodDogMThweDtcbiAgICBjb2xvcjogI0YzRjNGMztcbiAgICB3b3JkLXdyYXA6IGJyZWFrLXdvcmQ7XG4gICAgcGFkZGluZy1yaWdodDogMzZweDtcbn1cblxuLm1mcC1pbWFnZS1ob2xkZXIgLm1mcC1jb250ZW50IHtcbiAgICBtYXgtd2lkdGg6IDEwMCU7XG59XG5cbi5tZnAtZ2FsbGVyeSAubWZwLWltYWdlLWhvbGRlciAubWZwLWZpZ3VyZSB7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xufVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA4MDBweCkgYW5kIChvcmllbnRhdGlvbjogbGFuZHNjYXBlKSwgc2NyZWVuIGFuZCAobWF4LWhlaWdodDogMzAwcHgpIHtcbiAgICAvKipcbiAgICAgICAgICogUmVtb3ZlIGFsbCBwYWRkaW5ncyBhcm91bmQgdGhlIGltYWdlIG9uIHNtYWxsIHNjcmVlblxuICAgICAgICAgKi9cbiAgICAubWZwLWltZy1tb2JpbGUgLm1mcC1pbWFnZS1ob2xkZXIge1xuICAgICAgICBwYWRkaW5nLWxlZnQ6IDA7XG4gICAgICAgIHBhZGRpbmctcmlnaHQ6IDA7XG4gICAgfVxuICAgIC5tZnAtaW1nLW1vYmlsZSBpbWcubWZwLWltZyB7XG4gICAgICAgIHBhZGRpbmc6IDA7XG4gICAgfVxuICAgIC5tZnAtaW1nLW1vYmlsZSAubWZwLWZpZ3VyZTphZnRlciB7XG4gICAgICAgIHRvcDogMDtcbiAgICAgICAgYm90dG9tOiAwO1xuICAgIH1cbiAgICAubWZwLWltZy1tb2JpbGUgLm1mcC1maWd1cmUgc21hbGwge1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmU7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiA1cHg7XG4gICAgfVxuICAgIC5tZnAtaW1nLW1vYmlsZSAubWZwLWJvdHRvbS1iYXIge1xuICAgICAgICBiYWNrZ3JvdW5kOiByZ2JhKDAsIDAsIDAsIDAuNik7XG4gICAgICAgIGJvdHRvbTogMDtcbiAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICB0b3A6IGF1dG87XG4gICAgICAgIHBhZGRpbmc6IDNweCA1cHg7XG4gICAgICAgIHBvc2l0aW9uOiBmaXhlZDtcbiAgICAgICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICB9XG4gICAgLm1mcC1pbWctbW9iaWxlIC5tZnAtYm90dG9tLWJhcjplbXB0eSB7XG4gICAgICAgIHBhZGRpbmc6IDA7XG4gICAgfVxuICAgIC5tZnAtaW1nLW1vYmlsZSAubWZwLWNvdW50ZXIge1xuICAgICAgICByaWdodDogNXB4O1xuICAgICAgICB0b3A6IDNweDtcbiAgICB9XG4gICAgLm1mcC1pbWctbW9iaWxlIC5tZnAtY2xvc2Uge1xuICAgICAgICB0b3A6IDA7XG4gICAgICAgIHJpZ2h0OiAwO1xuICAgICAgICB3aWR0aDogMzVweDtcbiAgICAgICAgaGVpZ2h0OiAzNXB4O1xuICAgICAgICBsaW5lLWhlaWdodDogMzVweDtcbiAgICAgICAgYmFja2dyb3VuZDogcmdiYSgwLCAwLCAwLCAwLjYpO1xuICAgICAgICBwb3NpdGlvbjogZml4ZWQ7XG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgcGFkZGluZzogMDtcbiAgICB9XG59XG5cbkBtZWRpYSBhbGwgYW5kIChtYXgtd2lkdGg6IDkwMHB4KSB7XG4gICAgLm1mcC1hcnJvdyB7XG4gICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZSgwLjc1KTtcbiAgICAgICAgdHJhbnNmb3JtOiBzY2FsZSgwLjc1KTtcbiAgICB9XG4gICAgLm1mcC1hcnJvdy1sZWZ0IHtcbiAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm0tb3JpZ2luOiAwO1xuICAgICAgICB0cmFuc2Zvcm0tb3JpZ2luOiAwO1xuICAgIH1cbiAgICAubWZwLWFycm93LXJpZ2h0IHtcbiAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm0tb3JpZ2luOiAxMDAlO1xuICAgICAgICB0cmFuc2Zvcm0tb3JpZ2luOiAxMDAlO1xuICAgIH1cbiAgICAubWZwLWNvbnRhaW5lciB7XG4gICAgICAgIHBhZGRpbmctbGVmdDogNnB4O1xuICAgICAgICBwYWRkaW5nLXJpZ2h0OiA2cHg7XG4gICAgfVxufSIsIi5idXR0b24ge1xuXG4gICAgJjpob3ZlciB7XG4gICAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICB9XG59IiwiLmZvcm1hdC10ZXh0IHtcblxuICAgIHAge1xuXG4gICAgfVxuXG4gICAgc3Ryb25nIHtcblxuICAgIH1cblxuICAgIHVsIHtcbiAgICAgICAgbGlzdC1zdHlsZTogZGlzYztcbiAgICAgICAgcGFkZGluZy1sZWZ0OiAyMHB4O1xuICAgIH1cblxuICAgIGxpIHtcblxuICAgIH1cblxuICAgIGEge1xuICAgICAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcbiAgICAgICAgd29yZC1icmVhazogYnJlYWstd29yZDtcbiAgICB9XG59IiwiQG1peGluIGExMXkge1xuICAgIC13ZWJraXQtY2xpcC1wYXRoOiBpbnNldCgxMDAlKTtcbiAgICBjbGlwLXBhdGg6IGluc2V0KDEwMCUpO1xuICAgIGNsaXA6IHJlY3QoMCAwIDAgMCk7XG4gICAgYm9yZGVyOiAwO1xuICAgIGhlaWdodDogMXB4O1xuICAgIG1hcmdpbjogLTFweDtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIHBhZGRpbmc6IDA7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gICAgd2lkdGg6IDFweDtcbn1cblxuLmExMXlfX3ZvLW9ubHkge1xuICAgIEBpbmNsdWRlIGExMXk7XG59XG5cbi5hMTF5X19za2lwLWNvbnRlbnQge1xuICAgIGJhY2tncm91bmQtY29sb3I6IHdoaXRlO1xuICAgIGNvbG9yOiAkYmxhY2s7XG4gICAgcGFkZGluZzogJG1lZGl1bSAkeG1lZGl1bTtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgei1pbmRleDogOTk5O1xuXG4gICAgJjpub3QoOmZvY3VzKTpub3QoOmFjdGl2ZSkge1xuICAgICAgICBAaW5jbHVkZSBhMTF5O1xuICAgIH1cbn0iLCIuZmxpY2tpdHktY2VsbCB7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgaW1nIHtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIGhlaWdodDogNDMzcHg7XG4gICAgICAgIG9iamVjdC1maXQ6IGNvdmVyO1xuICAgIH1cbn1cblxuLmZsaWNraXR5LXZpZXdwb3J0IHtcbiAgICAmOmFmdGVyIHtcbiAgICAgICAgY29udGVudDogJyc7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgICAgd2lkdGg6IDE1JTtcbiAgICAgICAgdG9wOiAwO1xuICAgICAgICByaWdodDogMDtcbiAgICAgICAgbWF4LXdpZHRoOiAxNDBweDtcbiAgICAgICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gICAgICAgIHotaW5kZXg6IDM7XG4gICAgICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50IGxpbmVhci1ncmFkaWVudCgyNzBkZWcsIHJnYmEoMjYsIDc1LCA2NCwgMC42MSkgMCUsIHJnYmEoMjYsIDc1LCA2NCwgMCkgODAlKSAwIDAgbm8tcmVwZWF0IHBhZGRpbmctYm94O1xuICAgIH1cbn1cblxuLmZsaWNraXR5LXBhZ2UtZG90cyB7XG4gICAgYm90dG9tOiAzMXB4O1xufVxuXG4uZmxpY2tpdHktcGFnZS1kb3Qge1xuICAgIHdpZHRoOiAxN3B4O1xuICAgIGhlaWdodDogMTdweDtcbiAgICBtaW4td2lkdGg6IDE3cHg7XG4gICAgbWluLWhlaWdodDogMTdweDtcbiAgICBib3JkZXItcmFkaXVzOiA1MCU7XG4gICAgYmFja2dyb3VuZDogJHdoaXRlO1xuXG4gICAgJi5pcy1zZWxlY3RlZCB7XG4gICAgICAgIGJhY2tncm91bmQ6ICRncmVlbjtcbiAgICB9XG5cbiAgICAmOmZvY3VzIHtcbiAgICAgICAgYm94LXNoYWRvdzogbm9uZTtcbiAgICB9XG59XG5cblxuLmZsaWNraXR5LWJ1dHRvbiB7XG4gICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gICAgY29sb3I6ICNFQkYxRjA7XG4gICAgdG9wOiBhdXRvO1xuICAgIHRyYW5zZm9ybTogbm9uZTtcbiAgICBib3R0b206IDIycHg7XG4gICAgd2lkdGg6IDU1cHg7XG4gICAgaGVpZ2h0OiAzMnB4O1xuICAgIGJvcmRlci1yYWRpdXM6IDA7XG4gICAgcGFkZGluZzogMDtcbiAgICB6LWluZGV4OiA0O1xuXG4gICAgJi5uZXh0IHtcbiAgICAgICAgLmZsaWNraXR5LWJ1dHRvbi1pY29uIHtcbiAgICAgICAgICAgIHRvcDogLTRweDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5mbGlja2l0eS1idXR0b24taWNvbiB7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICAgIHRvcDogMDtcbiAgICAgICAgbGVmdDogMDtcbiAgICB9XG5cblxuICAgICY6aG92ZXIsXG4gICAgJjpmb2N1cy13aXRoaW4sXG4gICAgJjpmb2N1cyB7XG4gICAgICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICAgICAgICBvdXRsaW5lOiBub25lO1xuICAgICAgICBib3gtc2hhZG93OiBub25lO1xuICAgIH1cbn0iLCJmb290ZXIge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRncmVlbmVyO1xufVxuXG4uZm9vdGVyIC5mb290ZXJfX2lubmVyIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZmxvdzogcm93O1xuICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIG1pbi1oZWlnaHQ6IDExMHB4O1xuXG4gICAgLmhlYWRlcl9fbG9nbyB7XG4gICAgICAgIGltZyB7XG4gICAgICAgICAgQGluY2x1ZGUgb2JqZWN0LWZpdChmaWxsKTtcbiAgICAgICAgICBoZWlnaHQ6IDEyMHB4O1xuICAgICAgICAgIGFzcGVjdC1yYXRpbzogMTYwLzEwMDtcblxuICAgICAgICB9XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludCh4eGxhcmdlIHVwKSB7XG4gICAgICAgIHBhZGRpbmctcmlnaHQ6IDEycHg7XG4gICAgfVxufVxuXG4uZm9vdGVyX19jb3B5cmlnaHQge1xuICAgIGNvbG9yOiAkd2hpdGU7XG4gICAgQGluY2x1ZGUgdHlwZS0tMTY7XG59XG4iLCJAbWl4aW4gb2JqZWN0LWZpdCgkY29udGVudDogY292ZXIsICRwb3NpdGlvbjogY2VudGVyKSB7XG4gICAgb2JqZWN0LWZpdDogJGNvbnRlbnQ7XG4gICAgb2JqZWN0LXBvc2l0aW9uOiAkcG9zaXRpb247XG4gICAgZm9udC1mYW1pbHk6ICdvYmplY3QtZml0OiAjeyRjb250ZW50fSwgb2JqZWN0LXBvc2l0aW9uOiAjeyRwb3NpdGlvbn0nO1xufVxuXG5AbWl4aW4gaWNvbigpe1xuICAgIC8vZm9udC1mYW1pbHk6IGljb25Gb250O1xufVxuXG5AbWl4aW4gZm9jdXMoKXtcbiAgICBvdXRsaW5lOiAxcHggZG90dGVkICMyMTIxMjE7XG4gICAgb3V0bGluZTogNXB4IGF1dG8gLXdlYmtpdC1mb2N1cy1yaW5nLWNvbG9yO1xufVxuXG5AbWl4aW4gZ3V0dGVyKCkge1xuICAgIG1hcmdpbjogJHh4bGFyZ2UgYXV0bztcblxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIGRvd24pIHtcbiAgICAgICAgbWFyZ2luOiAkbGFyZ2UgYXV0bztcbiAgICB9XG59XG5cbkBtaXhpbiB0cmFuc2l0aW9uKCl7XG4gICAgLXdlYmtpdC10cmFuc2l0aW9uOiBhbGwgMjMybXMgZWFzZS1pbi1vdXQgMHM7XG4gICAgLW1vei10cmFuc2l0aW9uOiBhbGwgMjMybXMgZWFzZS1pbi1vdXQ7XG4gICAgLW1zLXRyYW5zaXRpb246IGFsbCAyMzJtcyBlYXNlLWluLW91dDtcbiAgICAtby10cmFuc2l0aW9uOiBhbGwgMjMybXMgZWFzZS1pbi1vdXQ7XG4gICAgdHJhbnNpdGlvbjogYWxsIDIzMm1zIGVhc2UtaW4tb3V0O1xufSIsIi5nZm9ybV93cmFwcGVye1xuICAgIC52YWxpZGF0aW9uX21lc3NhZ2UsXG4gICAgLnZhbGlkYXRpb25fZXJyb3J7XG4gICAgICAgIG1hcmdpbi10b3A6IC0yN3B4O1xuICAgICAgICBmb250LXNpemU6IDE2cHg7XG4gICAgICAgIGNvbG9yOiAjY2E3Nzc3O1xuICAgIH1cbn1cblxuLmdmb3JtX2JvZHkge1xuXG4gICAgdWwge1xuICAgICAgICBwYWRkaW5nOiAwO1xuICAgICAgICBtYXJnaW46IDA7XG4gICAgfVxuXG4gICAgdGV4dGFyZWEsIGlucHV0IHtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDI1cHg7XG4gICAgICAgIGJvcmRlcjogbm9uZTtcbiAgICAgICAgb3V0bGluZTogbm9uZTtcbiAgICAgICAgY29sb3I6ICRzdGFuZGFyZENvbG9yO1xuICAgICAgICBAaW5jbHVkZSB0eXBlLS0yMjtcbiAgICAgICAgcGFkZGluZzogNXB4O1xuICAgIH1cblxuICAgIHRleHRhcmVhIHtcbiAgICAgICAgQGluY2x1ZGUgdHlwZS0tMTY7XG4gICAgfVxuXG4gICAgaW5wdXQge1xuICAgICAgICBoZWlnaHQ6IDQ4cHg7XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludCh4bGFyZ2UgdXApIHtcbiAgICAgICAgLmdmb3JtX2ZpZWxkcyB7XG4gICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgICAgZmxleC1mbG93OiByb3cgd3JhcDtcbiAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgICAgICAgfVxuXG4gICAgICAgIHRleHRhcmVhIHtcbiAgICAgICAgICAgIG1pbi1oZWlnaHQ6IDI1MHB4O1xuICAgICAgICB9XG5cblxuICAgICAgICAuZ2Zvcm1fZmllbGRzIGxpOm5vdCg6Zmlyc3QtY2hpbGQsIDpsYXN0LWNoaWxkKSB7XG4gICAgICAgICAgICB3aWR0aDogY2FsYyg1MCUgLSAxMHB4KTtcbiAgICAgICAgfVxuXG4gICAgICAgIC5nZm9ybV9maWVsZHMgbGk6Zmlyc3QtY2hpbGQge1xuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG5cbiAgICAgICAgICAgIC5naW5wdXRfY29tcGxleCB7XG4gICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgICAgICBmbGV4LWZsb3c6IHJvdyBub3dyYXA7XG4gICAgICAgICAgICAgICAgZmxleC1kaXJlY3Rpb246IHJvdy1yZXZlcnNlO1xuICAgICAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcblxuICAgICAgICAgICAgICAgIHNwYW4ge1xuICAgICAgICAgICAgICAgICAgICB3aWR0aDogY2FsYyg1MCUgLSAxMHB4KTtcbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC5nZm9ybV9maWVsZHMgbGk6bGFzdC1jaGlsZCB7XG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgfVxuICAgIH1cbn1cblxuLmhhc19maXJzdF9uYW1lIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZmxvdzogY29sdW1uLXJldmVyc2U7XG59XG5cbi5nZmllbGRfbGFiZWxfYmVmb3JlX2NvbXBsZXgge1xuICAgIGRpc3BsYXk6IG5vbmU7XG59XG5cbi5nZm9ybV9mb290ZXIge1xuICAgIG1hcmdpbi1ib3R0b206IDI1cHg7XG5cbiAgICBidXR0b24ge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkbWlsaXRhcnk7XG4gICAgICAgIHBhZGRpbmc6IDE1cHg7XG4gICAgICAgIG1pbi13aWR0aDogMzcycHg7XG5cbiAgICAgICAgQGluY2x1ZGUgdHlwZS0tMTY7XG5cbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gZG93bikge1xuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIH1cblxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KHhsYXJnZSB1cCkge1xuICAgICAgICAgICAgcGFkZGluZzogMTBweCAxNXB4O1xuICAgICAgICB9XG4gICAgfVxufVxuIiwiLmhlYWRlcntcbiAgICBwb3NpdGlvbjogZml4ZWQ7XG4gICAgdG9wOiAwO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGxlZnQ6IDA7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGdyZWVuZXI7XG4gICAgei1pbmRleDogOTk7XG4gICAgLXdlYmtpdC1ib3gtc2hhZG93OiAwIDJweCA0cHggMCByZ2JhKDAsMCwwLDAuMyk7XG4gICAgLW1vei1ib3gtc2hhZG93OiAwIDJweCA0cHggMCByZ2JhKDAsMCwwLDAuMyk7XG4gICAgYm94LXNoYWRvdzogMCAycHggNHB4IDAgcmdiYSgwLDAsMCwwLjMpO1xuXG59XG5cbi5oZWFkZXJfX2lubmVyIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZmxvdzogcm93IHdyYXA7XG4gICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICAgIHBhZGRpbmc6IDE1cHg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgaGVpZ2h0OiAxMTBweDtcblxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoeGxhcmdlIHVwKSB7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGZsZXgtZmxvdzogcm93IG5vd3JhcDtcbiAgICAgICAgYWxpZ24taXRlbXM6IGZsZXgtZW5kO1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gICAgICAgIHBhZGRpbmctYm90dG9tOiAyNXB4O1xuICAgIH1cbn1cblxuLmhlYWRlciAuaGVhZGVyX19pbm5lciB7XG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludCh4eGxhcmdlIHVwKSB7XG4gICAgICAgIHBhZGRpbmctcmlnaHQ6IDA7XG4gICAgICAgIHBhZGRpbmctbGVmdDogMDtcbiAgICB9XG59XG5cbi5oZWFkZXJfX2xvZ28ge1xuICAgIHotaW5kZXg6IDI7XG5cbiAgICBpbWcge1xuICAgICAgQGluY2x1ZGUgb2JqZWN0LWZpdChmaWxsKTtcbiAgIGhlaWdodDogMTAwJTtcbiAgICAgIHdpZHRoOiAxNjBweDtcbiAgICAgIGFzcGVjdC1yYXRpbzogNDU1LzE4MztcbiAgICB9XG59XG5cbi5oZWFkZXJfX2J1cmdlciB7XG4gICAgd2lkdGg6IDI0cHg7XG4gICAgaGVpZ2h0OiAyNHB4O1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBvdXRsaW5lOiBub25lO1xuICAgIHotaW5kZXg6IDI7XG5cbiAgICAmOmZvY3VzIHtcbiAgICAgICAgb3V0bGluZTogMXB4IHNvbGlkIHJnYmEoMjMwLCAyMzAsIDIzMCwgMC4xNjIpO1xuICAgIH1cblxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoeGxhcmdlIHVwKSB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxufVxuXG4uaGVhZGVyX19idXJnZXIgc3BhbiB7XG4gICAgd2lkdGg6IDIwcHg7XG4gICAgaGVpZ2h0OiAycHg7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGJsYWNrO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDZweDtcbiAgICBsZWZ0OiAycHg7XG4gICAgQGluY2x1ZGUgdHJhbnNpdGlvbjtcblxuXG4gICAgJjpsYXN0LWNoaWxkIHtcbiAgICAgICAgdG9wOiAxNnB4O1xuICAgIH1cbn1cblxuLmhlYWRlcl9fYnVyZ2VyLmlzLWFjdGl2ZSB7XG4gICAgc3BhbiB7XG4gICAgICAgIHRyYW5zZm9ybTogcm90YXRlKDQ1ZGVnKTtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHdoaXRlO1xuICAgICAgICB0b3A6IDExcHg7XG4gICAgICAgIGxlZnQ6IDJweDtcblxuICAgICAgICAmOmxhc3QtY2hpbGQge1xuICAgICAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoLTQ1ZGVnKTtcbiAgICAgICAgICAgIHRvcDogMTFweDtcbiAgICAgICAgICAgIGxlZnQ6IDJweDtcbiAgICAgICAgfVxuICAgIH1cbn1cblxuLmhlYWRlcl9fbmF2X193cmFwcGVyIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgcGFkZGluZzogOTNweCAwIDE1cHggMDtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6IDEwMHZoO1xuICAgIG1pbi1oZWlnaHQ6IDcwMHB4O1xuICAgIHRvcDogMDtcbiAgICBsZWZ0OiAxMDAlO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRncmVlbjtcbiAgICBvcGFjaXR5OiAwO1xuICAgIEBpbmNsdWRlIHRyYW5zaXRpb247XG5cbiAgICAmLmlzLWFjdGl2ZSB7XG4gICAgICAgIGxlZnQ6IDA7XG4gICAgICAgIG9wYWNpdHk6IDE7XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludCh4bGFyZ2UgdXApIHtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICB0b3A6IGluaGVyaXQ7XG4gICAgICAgIGxlZnQ6IGluaGVyaXQ7XG4gICAgICAgIG1pbi1oZWlnaHQ6IGluaGVyaXQ7XG4gICAgICAgIHdpZHRoOiBhdXRvO1xuICAgICAgICBoZWlnaHQ6IGF1dG87XG4gICAgICAgIG9wYWNpdHk6IDE7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICAgICAgICBwYWRkaW5nOiAwO1xuICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGZsZXgtZmxvdzogcm93IG5vd3JhcDtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIH1cblxufVxuXG4uaGVhZGVyX19pbm5lciAubmF2aWdhdGlvbiB7XG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludCh4bGFyZ2UgdXApIHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgZmxleC1mbG93OiByb3cgbm93cmFwO1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gICAgICAgIGFsaWduLWl0ZW1zOiBmbGV4LWVuZDtcbiAgICAgICAgcGFkZGluZzogMDtcbiAgICAgICAgbWFyZ2luOiAwO1xuICAgIH1cbn1cblxuLm5hdmlnYXRpb25fX2l0ZW0ge1xuICAgIGJvcmRlci10b3A6IDFweCBzb2xpZCAkd2hpdGU7XG5cbiAgICAmOmxhc3QtY2hpbGQge1xuICAgICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgJHdoaXRlO1xuICAgIH1cblxuICAgIGEge1xuICAgICAgICBAaW5jbHVkZSB0eXBlLS0xNjtcbiAgICAgICAgQGluY2x1ZGUgQ2FiaW4tQm9sZDtcbiAgICAgICAgQGluY2x1ZGUgc21vb3RoO1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgY29sb3I6ICR3aGl0ZTtcbiAgICAgICAgcGFkZGluZzogMjhweCAxNXB4O1xuXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoeGxhcmdlIHVwKSB7XG4gICAgICAgICAgICBjb2xvcjogJHN0YW5kYXJkQ29sb3I7XG4gICAgICAgICAgICBAaW5jbHVkZSB0eXBlLS0xNjtcbiAgICAgICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDIwcHg7XG4gICAgICAgICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgdHJhbnNwYXJlbnQ7XG4gICAgICAgICAgICBAaW5jbHVkZSB0cmFuc2l0aW9uO1xuXG4gICAgICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICAgICAgICBib3JkZXItYm90dG9tLWNvbG9yOiAkbWlsaXRhcnk7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgfVxuXG4gICAgICAgICYuYWN0aXZle1xuICAgICAgICAgICAgY29sb3I6ICRtaWxpdGFyeTtcbiAgICAgICAgfVxuICAgIH1cbn1cbiIsIi5oZXJvIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6IDU2MnB4O1xuICAgIGJhY2tncm91bmQtc2l6ZTogY292ZXI7XG4gICAgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyO1xuICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG5cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSBkb3duKSB7XG4gICAgICAgIGhlaWdodDogNDUwcHg7XG4gICAgfVxufSIsIi5pbnRyb3tcbiAgICBwYWRkaW5nLWJvdHRvbTogMTA1cHg7XG59XG5cbi5pbnRybyAuaW50cm9fX3RpdGxle1xuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoeGxhcmdlIHVwKXtcbiAgICAgICAgcGFkZGluZzogNjVweCAwIDIycHggMDtcbiAgICB9XG59XG5cbi5pbnRyb19fY29udGVudF9jb250YWluZXJ7XG4gICAgcGFkZGluZy1sZWZ0OiAxMHB4O1xuXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludCh4bGFyZ2UgdXApe1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBmbGV4LWZsb3c6IHJvdyBub3dyYXA7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgICAgICAgcGFkZGluZzogMCAwIDAgNTBweDtcblxuICAgICAgICA+ZGl2OmZpcnN0LWNoaWxke1xuICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiA2MHB4O1xuICAgICAgICB9XG4gICAgICAgID5kaXY6bGFzdC1jaGlsZHtcbiAgICAgICAgICAgIG1pbi13aWR0aDogMzAlO1xuICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgICAgICAgICAgIGZsZXgtZmxvdzogY29sdW1uO1xuICAgICAgICB9XG4gICAgfVxufVxuXG4uaW50cm9fX2NvbnRlbnRfX290aGVye1xuICAgIHB7XG4gICAgICAgIGNvbG9yOiAkZ3JlZW47XG4gICAgICAgIEBpbmNsdWRlIHR5cGUtLTM0O1xuICAgICAgICBAaW5jbHVkZSBQbGF5ZmFpci1yZWd1bGFyO1xuICAgIH1cbn1cblxuLmludHJvX19jb250ZW50X19sb2dve1xuICAgIG1heC13aWR0aDogMjEwcHg7XG4gICAgbWFyZ2luOiAwIGF1dG87XG5cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KHhsYXJnZSB1cCl7XG4gICAgICAgIG1hcmdpbjogMDtcbiAgICB9XG59IiwiLmxhbmd1YWdlLXN3aXRjaGVye1xuICAgIHBhZGRpbmc6IDAgMTVweDtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZmxvdzogcm93O1xuICAgIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG59XG5cbi5sYW5ndWFnZS1kcm9wZG93biB7XG5cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KHhsYXJnZSB1cCkge1xuICAgICAgICBtYXJnaW46IDAgMCAwIGF1dG87XG4gICAgICAgIHBhZGRpbmc6IDAgMTVweDtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB3aGl0ZTtcbiAgICB9XG59XG5cbi5sYW5ndWFnZS1kcm9wZG93bl9fbGlzdCB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIGxpc3Qtc3R5bGU6IG5vbmU7XG4gICAgcGFkZGluZy1sZWZ0OiAxNXB4O1xuICAgIHotaW5kZXg6IDE7XG5cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KHhsYXJnZSB1cCkge1xuICAgICAgICBoZWlnaHQ6IDFweDtcbiAgICAgICAgbGlzdC1zdHlsZTogbm9uZTtcbiAgICAgICAgbWFyZ2luOiAtNXB4IDAgMCAwO1xuICAgICAgICBvcGFjaXR5OiAwO1xuICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHRvcDogMTAwJTtcbiAgICAgICAgbGVmdDogMDtcbiAgICAgICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0yMHB4KTtcbiAgICAgICAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIC4ycyBlYXNlLWluLW91dCxcbiAgICAgICAgb3BhY2l0eSAuMXMgZWFzZS1vdXQ7XG4gICAgfVxufVxuXG4ubGFuZ3VhZ2UtZHJvcGRvd25fX3RvcC1saW5rIHtcbiAgICAvL2JvcmRlci1yYWRpdXM6IDMwcHg7XG4gICAgY29sb3I6IHdoaXRlO1xuICAgIGZvbnQtc2l6ZTogMTZweDtcbiAgICBwYWRkaW5nOiA0cHggMTVweDtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkbWlsaXRhcnk7XG5cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KHhsYXJnZSB1cCkge1xuICAgICAgICBib3JkZXItcmFkaXVzOiAwO1xuICAgICAgICBmb250LXNpemU6IDE2cHg7XG4gICAgICAgIHdpZHRoOiA1MHB4O1xuICAgICAgICBwYWRkaW5nOiAxcHggMTVweCAwO1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkbWlsaXRhcnk7XG4gICAgICAgIGhlaWdodDogMjFweDtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgfVxuXG4gICAvKiAmOjpiZWZvcmUge1xuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KHhsYXJnZSB1cCkge1xuICAgICAgICAgICAgQGluY2x1ZGUgaWNvbjtcbiAgICAgICAgICAgIGNvbnRlbnQ6ICc+JztcbiAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMTFweDtcbiAgICAgICAgICAgIG1hcmdpbi1yaWdodDogOHB4O1xuICAgICAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoMCkgdHJhbnNsYXRlWSgtMXB4KTtcbiAgICAgICAgICAgIHRyYW5zaXRpb246IHRyYW5zZm9ybSAwLjFzIGVhc2U7XG4gICAgICAgIH1cbiAgICB9Ki9cblxuICAgIC5sYW5ndWFnZS1kcm9wZG93bjpob3ZlciAmOjpiZWZvcmUsXG4gICAgJjpmb2N1czo6YmVmb3JlIHtcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCh4bGFyZ2UgdXApIHtcbiAgICAgICAgICAgIHRyYW5zZm9ybTogcm90YXRlKDkwZGVnKSB0cmFuc2xhdGVYKC0xcHgpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgJjpob3ZlcixcbiAgICAmOmZvY3VzIHtcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCh4bGFyZ2UgdXApIHtcbiAgICAgICAgICAgIC8vY29sb3I6ICRibGFjaztcbiAgICAgICAgfVxuICAgIH1cbn1cblxuLmxhbmd1YWdlLWRyb3Bkb3duX19pdGVtIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkZ3JlZW47XG4gICAgbWFyZ2luLXRvcDogN3B4O1xuXG5cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlIGRvd24pIHtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIH1cbn1cblxuLmxhbmd1YWdlLWRyb3Bkb3duX19saW5rIHtcbiAgICBjb2xvcjogJHdoaXRlO1xuICAgIGZvbnQtc2l6ZTogMTZweDtcbiAgICBwYWRkaW5nOiAwIDE1cHggMDtcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgd2lkdGg6IDUwcHg7XG4gICAgaGVpZ2h0OiAyMXB4O1xuICAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG5cblxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoeGxhcmdlIHVwKSB7XG4gICAgICAgIHBhZGRpbmc6IDFweCAxNXB4IDA7XG4gICAgfVxuXG4gICAgJjpob3ZlciB7XG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoeGxhcmdlIHVwKSB7XG4gICAgICAgICB9XG4gICAgfVxuXG4gICAgLmxhbmd1YWdlLWRyb3Bkb3duX19pdGVtOmxhc3QtY2hpbGQgJiB7XG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoeGxhcmdlIHVwKSB7XG4gICAgICAgICAgICBwYWRkaW5nOiAxcHggMTVweCAwO1xuICAgICAgICB9XG4gICAgfVxufVxuXG4ubGFuZ3VhZ2UtZHJvcGRvd246aG92ZXIgLmxhbmd1YWdlLWRyb3Bkb3duX19saXN0LFxuLmxhbmd1YWdlLWRyb3Bkb3duIC5sYW5ndWFnZS1kcm9wZG93bl9fdG9wLWxpbms6Zm9jdXMgKyAubGFuZ3VhZ2UtZHJvcGRvd25fX2xpc3QsXG4ubGFuZ3VhZ2UtZHJvcGRvd25fX2xpc3Q6Zm9jdXMtd2l0aGluIHtcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KHhsYXJnZSB1cCkge1xuICAgICAgICBoZWlnaHQ6IGF1dG87XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKDApO1xuICAgICAgICBvcGFjaXR5OiAxO1xuICAgICAgICB6LWluZGV4OiAxO1xuICAgIH1cbn1cbiIsIi5zZWN0aW9ucyB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGxpZ2h0R3JlZW47XG59XG5cbi5zZWN0aW9uIHtcbiAgICBwYWRkaW5nLWJvdHRvbTogNTBweDtcblxuICAgICYud2hpdGUge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkd2hpdGU7XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludCh4bGFyZ2UgdXApIHtcbiAgICAgICAgcGFkZGluZy1ib3R0b206IDgwcHg7XG5cbiAgICAgICAgJjpudGgtY2hpbGQoNCkge1xuICAgICAgICAgICAgLnNlY3Rpb25fX3RpdGxlIHtcbiAgICAgICAgICAgICAgICBwYWRkaW5nLXRvcDogMTAycHg7XG4gICAgICAgICAgICAgICAgcGFkZGluZy1ib3R0b206IDY1cHg7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG59XG5cbi5zZWN0aW9uIC5zZWN0aW9uX190aXRsZSB7XG4gICAgcGFkZGluZy10b3A6IDI1cHg7XG4gICAgcGFkZGluZy1ib3R0b206IDI1cHg7XG5cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KHhsYXJnZSB1cCkge1xuICAgICAgICBwYWRkaW5nOiA3MHB4IDE1cHg7XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludCh4eGxhcmdlIHVwKSB7XG4gICAgICAgIHBhZGRpbmctdG9wOiA3NXB4O1xuICAgICAgICBwYWRkaW5nLWJvdHRvbTogNzVweDtcbiAgICB9XG59XG5cbi5zZWN0aW9uX19jb250ZW50IHtcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KHhsYXJnZSB1cCkge1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBmbGV4LWZsb3c6IHJvdyB3cmFwO1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7XG4gICAgfVxuXG4gICAgLnNlY3Rpb25fX2NvbnRlbnRfX21lZGlhLFxuICAgIC5zZWN0aW9uX19jb250ZW50X190ZXh0IHtcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCh4bGFyZ2UgdXApIHtcbiAgICAgICAgICAgIHdpZHRoOiBjYWxjKDUwJSAtIDMwcHgpO1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogNzBweDtcblxuICAgICAgICAgICAgJi5zZWN0aW9uX19jb250ZW50X19tZWRpYSB7XG4gICAgICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiAyNXB4O1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAmLnNlY3Rpb25fX2NvbnRlbnRfX3RleHQge1xuICAgICAgICAgICAgICAgIG1heC13aWR0aDogNzI1cHg7XG4gICAgICAgICAgICAgICAgbWFyZ2luOiAwIDAgNzBweCAwO1xuXG4gICAgICAgICAgICAgICAgPiA6Zmlyc3QtY2hpbGQge1xuICAgICAgICAgICAgICAgICAgICBtYXJnaW4tdG9wOiAwO1xuICAgICAgICAgICAgICAgICAgICBwYWRkaW5nLXRvcDogMDtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG59XG5cbi5zZWN0aW9uX19jb250ZW50IC5zZWN0aW9uX19jb250ZW50X19saXN0IHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkZ3JlZW47XG4gICAgcGFkZGluZzogNDVweCAzMHB4IDQ1cHggNDVweDtcbiAgICBjb2xvcjogJHdoaXRlO1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybChcIi93cC1jb250ZW50L3RoZW1lcy9sdXgtdGRtL2ltYWdlcy9waWN0dXJlbWFyay5zdmdcIik7XG4gICAgYmFja2dyb3VuZC1wb3NpdGlvbjogbGVmdCB0b3A7XG4gICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgICBiYWNrZ3JvdW5kLXNpemU6IGNvbnRhaW47XG5cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KHhsYXJnZSB1cCkge1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBmbGV4LWZsb3c6IHJvdyBub3dyYXA7XG4gICAgICAgIHBhZGRpbmc6IDUwcHggNTBweCA1MHB4IDg4cHg7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcblxuICAgICAgICBoMyB7XG4gICAgICAgICAgICB3aWR0aDogY2FsYyg1MCUgLSA2NXB4KTtcblxuICAgICAgICAgICAgc3BhbiB7XG4gICAgICAgICAgICAgICAgbWF4LXdpZHRoOiA0MDBweDtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbn1cblxuLnNlY3Rpb25fX2NvbnRlbnRfX2xpc3RfX2xpc3Qge1xuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoeGxhcmdlIHVwKSB7XG4gICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICAgIG1hcmdpbjogMCAwIDAgLTY1cHg7XG4gICAgICAgIHdpZHRoOiA1MCU7XG4gICAgICAgIG1heC13aWR0aDogODUwcHg7XG4gICAgfVxufVxuXG4uc2VjdGlvbl9fY29udGVudF9fbGlzdF9fdGl0bGUge1xuICAgIG1hcmdpbjogMDtcbiAgICBwYWRkaW5nOiAwO1xuICAgIEBpbmNsdWRlIHR5cGUtLTM0O1xufVxuXG4uc2VjdGlvbl9fY29udGVudF9fbGlzdF9fbGlzdCBsaSB7XG4gICAgcGFkZGluZzogMTVweCAwIDE1cHggODBweDtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KHhsYXJnZSB1cCkge1xuICAgICAgICBtYXJnaW4tbGVmdDogLTkwcHg7XG4gICAgfVxufVxuXG4uc2VjdGlvbl9fY29udGVudF9fbGlzdF9fbGlzdF9faWNvbiB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogOXB4O1xuICAgIGxlZnQ6IDA7XG4gICAgZm9udC1zaXplOiA0MHB4O1xuXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludCh4bWVkaXVtIHVwKSB7XG4gICAgICAgIHRvcDogMTRweDtcbiAgICB9XG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludCh4bGFyZ2UgdXApIHtcbiAgICAgICAgZm9udC1zaXplOiA1NXB4O1xuICAgICAgICB0b3A6IDZweDtcbiAgICB9XG59XG5cbi5zZWN0aW9uX19jb250ZW50LWdhbGxlcnkge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICAgIGZsZXgtZmxvdzogcm93IHdyYXA7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gICAgYSB7XG4gICAgICAgIHdpZHRoOiBjYWxjKCgxMDAlIC0gMTZweCkgLyAyKTtcblxuXG4gICAgICAgICYuaGlkZSB7XG4gICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICB9XG5cbiAgICAgICAgJjpmaXJzdC1jaGlsZCB7XG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDE2cHg7XG5cbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoeGxhcmdlIHVwKSB7XG4gICAgICAgICAgICAgICAgd2lkdGg6IGNhbGMoMTAwJSAtIDYyMHB4KTtcbiAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgICAgICAgICAgICAgIHBhZGRpbmctcmlnaHQ6IDRweDtcblxuICAgICAgICAgICAgICAgIGltZyB7XG4gICAgICAgICAgICAgICAgICAgIG1pbi1oZWlnaHQ6IDcyMnB4O1xuICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSBvYmplY3QtZml0KGNvdmVyKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KHhsYXJnZSB1cCkge1xuICAgICAgICAgICAgJjpudGgtY2hpbGQoMiksXG4gICAgICAgICAgICAmOm50aC1jaGlsZCgzKSB7XG4gICAgICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgICAgIHRvcDogMDtcbiAgICAgICAgICAgICAgICByaWdodDogMjBweDtcbiAgICAgICAgICAgICAgICB3aWR0aDogNjAycHg7XG4gICAgICAgICAgICAgICAgaGVpZ2h0OiAzNTJweDtcblxuICAgICAgICAgICAgICAgIGltZyB7XG4gICAgICAgICAgICAgICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgICAgICAgICAgICAgICAgbWF4LWhlaWdodDogMzUycHg7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAmOm50aC1jaGlsZCgzKSB7XG4gICAgICAgICAgICAgICAgdG9wOiBhdXRvO1xuICAgICAgICAgICAgICAgIGJvdHRvbTogMDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbn1cblxuLnNlY3Rpb24gLnNlY3Rpb25fX2dhbGxlcnlfX2NvcHlyaWdodHMge1xuICAgIG1hcmdpbi10b3A6IDIwcHg7XG4gICAgY29sb3I6ICRzdGFuZGFyZENvbG9yO1xufVxuXG4uc2VjdGlvbl9fZGVzY3JpcHRpb24ge1xuICAgIG1hcmdpbi1ib3R0b206IDI1cHg7XG5cbiAgICBwIHtcbiAgICAgICAgcGFkZGluZzogMDtcbiAgICAgICAgbWFyZ2luOiAwO1xuICAgIH1cblxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoeGxhcmdlIHVwKSB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDUwcHg7XG4gICAgfVxufVxuXG4uc2VjdGlvbi1jb250YWN0IHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkZ3JlZW47XG4gICAgY29sb3I6ICR3aGl0ZTtcbiAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgIHBhZGRpbmctYm90dG9tOiAwO1xuXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludCh4bGFyZ2UgdXApIHtcbiAgICAgICAgcGFkZGluZy1ib3R0b206IDgwcHg7XG5cbiAgICAgICAgPiAud3JhcCB7XG4gICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgICAgZmxleC1mbG93OiByb3cgd3JhcDtcbiAgICAgICAgICAgIC8vanVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG5cbiAgICAgICAgICAgIC5zZWN0aW9uX190aXRsZSB7XG4gICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludCh4eGxhcmdlIHVwKSB7XG5cbiAgICAgICAgPiAud3JhcCB7XG4gICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAqOm5vdChpbnB1dCwgdGV4dGFyZWEpIHtcbiAgICAgICAgY29sb3I6ICR3aGl0ZTtcbiAgICB9XG59XG5cbi5zZWN0aW9uX19jb250YWN0X19mb3JtIHtcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KHhsYXJnZSB1cCkge1xuICAgICAgICBtYXJnaW4tbGVmdDogNTBweDtcbiAgICAgICAgZmxleC1ncm93OiAxO1xuICAgICAgICBtYXgtd2lkdGg6IDYyNXB4O1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IDQwcHg7XG4gICAgfVxuXG59XG5cbi5zZWN0aW9uLWNvbnRhY3QgLnNlY3Rpb25fX3RpdGxlIHtcbiAgICBwYWRkaW5nLWxlZnQ6IDA7XG4gICAgcGFkZGluZy1yaWdodDogMDtcblxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoeGxhcmdlIHVwKSB7XG4gICAgICAgIHBhZGRpbmctYm90dG9tOiA0NXB4O1xuICAgIH1cbn1cblxuXG4uc2VjdGlvbl9fY29udGFjdF9faW5mbyB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWZsb3c6IGNvbHVtbjtcbn1cblxuLnNlY3Rpb25fX2NvbnRhY3RfX2luZm9fX2xpbmsge1xuICAgIHBhZGRpbmctbGVmdDogNDBweDtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgbWFyZ2luLWJvdHRvbTogNXB4O1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBmbGV4LWZsb3c6IHJvdyB3cmFwO1xuICAgIGhlaWdodDogNDBweDtcbn1cblxuLnNlY3Rpb25fX2NvbnRhY3RfX2RldGFpbHMge1xuXG4gICAgPiBkaXYge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAyNXB4O1xuICAgIH1cblxuICAgIHAge1xuICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgIHBhZGRpbmc6IDA7XG4gICAgfVxufVxuXG4uc2VjdGlvbl9fY29udGFjdF9faWNvbiB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIGxlZnQ6IDA7XG4gICAgZm9udC1zaXplOiA0MHB4O1xuICAgIHRvcDogMDtcblxuICAgICYuaWNvbi1waG9uZSB7XG4gICAgICAgIGxlZnQ6IC02cHg7XG4gICAgfVxufVxuXG4uY29udGFjdF9faWRlbnRpZmllciB7XG4gICAgQGluY2x1ZGUgQ2FiaW4tQm9sZDtcbn1cbiIsIi53cmFwIHtcbiAgICBwYWRkaW5nLXJpZ2h0OiAkbWVkaXVtO1xuICAgIHBhZGRpbmctbGVmdDogJG1lZGl1bTtcbiAgICBtYXgtd2lkdGg6ICRnbG9iYWwtd2lkdGg7XG4gICAgbWFyZ2luOiAwIGF1dG87XG4gICAgd2lkdGg6IDEwMCU7XG5cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KHh4bGFyZ2UgdXApe1xuICAgICAgICBtYXgtd2lkdGg6ICRnbG9iYWwtd2lkdGgtbGFyZ2U7XG4gICAgfVxufSJdLCJzb3VyY2VSb290IjoiIn0=*/