html {
  box-sizing: border-box; }

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

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

/*# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL25vZGVfbW9kdWxlcy9ib3VyYm9uLW5lYXQvYXBwL2Fzc2V0cy9zdHlsZXNoZWV0cy9ncmlkL19ib3gtc2l6aW5nLnNjc3MiLCJiYXNlL19oZWxwZXJzLnNjc3MiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBR0U7RUFDRSx1QkFBc0IsRUFDdkI7O0FBRUQ7RUFJSSxvQkFBbUIsRUFDcEI7O0FDK0RMO0VBQ0UsZUFBYztFQUNkLGdCQUFlO0VBQ2YsYUFBWSxFQUNiIiwiZmlsZSI6ImllLmNzcyIsInNvdXJjZXNDb250ZW50IjpbIkBjaGFyc2V0IFwiVVRGLThcIjtcblxuQGlmICRib3JkZXItYm94LXNpemluZyA9PSB0cnVlIHtcbiAgaHRtbCB7IC8vIGh0dHA6Ly9iaXQubHkvMXFrMnRWUlxuICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gIH1cblxuICAqIHtcbiAgICAmLFxuICAgICY6OmFmdGVyLFxuICAgICY6OmJlZm9yZSB7XG4gICAgICBib3gtc2l6aW5nOiBpbmhlcml0O1xuICAgIH1cbiAgfVxufVxuIiwiLy8gKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuLy9cbi8vICBIZWxwZXJzXG4vLyAgLT4gRXh0ZW5kcywgRnVuY3Rpb25zLCBNaXhpbnMsIEFuaW1hdGlvbnMsIEdyaWQgQ2xhc3Nlc1xuLy9cbi8vICAtLS0gRWRpdCB0aGUgZm9sbG93aW5nIG9uIHRoaXMgc2hlZXQ6IC0tLSAvL1xuLy9cbi8vICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcblxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuLy8gIEV4dGVuZHNcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4vLyAgRnVuY3Rpb25zXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5AZnVuY3Rpb24gc3RyaXAtdW5pdHMoJG51bWJlcikge1xuICBAcmV0dXJuICRudW1iZXIgLyAoJG51bWJlciAqIDAgKyAxKTtcbn1cblxuQGZ1bmN0aW9uIGFkZC1yZW0tdW5pdHMoJHN0cmlwcGVkLW51bWJlcikge1xuICBAcmV0dXJuICRzdHJpcHBlZC1udW1iZXIgKiAoMXJlbSk7XG59XG5cbi8vIC0tLSBSRU0tZXJpemUgQWxsIFRoZSBUaGluZ3MgLS0tIC8vXG4vLyBTcGVjaWZ5IHJlbXMgaW4gcHggYW1vdW50cyBmcm9tIGNvbXBzXG5cbiRiYXNlLWZvbnQtc2l6ZTogMTZweDtcbiRyZW06ICgxIC8gc3RyaXAtdW5pdHMoJGJhc2UtZm9udC1zaXplKSk7XG5cbkBtaXhpbiBudW0oJGVsZW1lbnQsICRhbW91bnQpe1xuLy8gIEBpbmNsdWRlIHJlbSgkZWxlbWVudCwgYWRkLXJlbS11bml0cygkcmVtKSokYW1vdW50KTtcbn1cblxuXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4vLyAgTWl4aW5zXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbi8vIFN0cnVjdHVyYWwgTWl4aW5zXG5AbWl4aW4gYWJzb2x1dGUtc2l6ZSB7XG4gICAgYm90dG9tOiAwO1xuICAgIGxlZnQ6IDA7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHJpZ2h0OiAwO1xuICAgIHRvcDogMDtcbn1cblxuLy8gQ29ycmVzcG9uZGluZyBDbGFzc1xuXG5AbWl4aW4gaW1nLWdsaWRlIHtcbiAgbWF4LXdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IGF1dG87XG59XG5cblxuQG1peGluIGltZy1maWxsIHtcbiAgbWluLXdpZHRoOiAxMDAlO1xuICBtaW4taGVpZ2h0OiAxMDAlO1xufVxuXG4vL0RpZmZlcmVudCBBbGlnbnNcbkBtaXhpbiBjZW50ZXItaG9yaXooKSB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBtYXJnaW4tbGVmdDogYXV0bztcbiAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xufVxuXG5AbWl4aW4gY2VudGVyLXZlcnRpY2FsbHkoKSB7XG4gIGRpc3BsYXk6IHRhYmxlLWNlbGw7XG4gIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG59XG5cbi8vIEEgcXVpY2sgbiBkaXJ0eSByZXNwb25zaXZlIGltYWdlIGZhbGxiYWNrXG5pbWcge1xuICBkaXNwbGF5OiBibG9jaztcbiAgbWF4LXdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IGF1dG87XG59XG5cbi8vIE5lZWQgYSBxdWljayB3aWR0aCBhbmQgaGVpZ2h0IGluIHJlbXM/XG5AbWl4aW4gd2gtc2l6aW5nKCR3aWR0aCwgJGhlaWdodCkge1xuICBAaW5jbHVkZSBudW0od2lkdGgsICR3aWR0aCk7XG4gIEBpbmNsdWRlIG51bShoZWlnaHQsICRoZWlnaHQpO1xufVxuXG4vLyBQbGFjZWhvbGRlciBmb3Jtc1xuQG1peGluIGlucHV0LXBsYWNlaG9sZGVyIHtcbiAgICAmLnBsYWNlaG9sZGVyIHsgQGNvbnRlbnQ7IH1cbiAgICAmOi1tb3otcGxhY2Vob2xkZXIgeyBAY29udGVudDsgfVxuICAgICY6Oi1tb3otcGxhY2Vob2xkZXIgeyBAY29udGVudDsgfVxuICAgICY6LW1zLWlucHV0LXBsYWNlaG9sZGVyIHsgQGNvbnRlbnQ7IH1cbiAgICAmOjotd2Via2l0LWlucHV0LXBsYWNlaG9sZGVyIHsgQGNvbnRlbnQ7IH1cbn1cblxuLy8gU3R5bGlzdGljIE1peGluc1xuQG1peGluIGJhY2tncm91bmQtY292ZXIge1xuICAgIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlcjtcbiAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICAgIGJhY2tncm91bmQtc2l6ZTogY292ZXI7XG59XG5cbkBtaXhpbiBiYWNrZ3JvdW5kKCRiZ2NvbG9yLCAkaW1nOiRiZ2NvbG9yLCAkYmdwb3NpdGlvbjokYmdjb2xvcikge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkYmdjb2xvcjtcbiAgYmFja2dyb3VuZC1pbWFnZTogJGltZztcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogJGJncG9zaXRpb247XG59XG5cbi8vIFRyaWFuZ2xlc1xuQG1peGluIHRyaWFuZ2xlKCRzaXplLCAkcG9pbnQsICRjb2xvciwgJHBvc2l0aW9uOiBiZWZvcmUpIHtcblxuICBAaWYgJHBvc2l0aW9uICE9IFwiYmVmb3JlXCIgeyAvLyB0ZXN0IHdoZXRoZXIgcG9zaXRpb24gd2FzIG92ZXJyaWRkZW5cbiAgICAkcG9zaXRpb24gOiBhZnRlcjsgICAgICAgIC8vIGlmIHNvLCBlbnN1cmUgaXQncyBhIHZhbGlkIHBzZXVkb2NsYXNzXG4gIH1cblxuICAmOiN7JHBvc2l0aW9ufSB7XG4gICAgY29udGVudDogXCJcIjtcbiAgICB3aWR0aDogMDtcbiAgICBoZWlnaHQ6IDA7XG4gICAgYm9yZGVyLXN0eWxlOiBzb2xpZDtcbiAgICAvLyBzcGVjaWZpYyB0cmlhbmdsZSBzdHlsZXMgZm9yIG1lbnUgaWNvblxuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAvLyBlbmQgc3BlY2lmaWMgc3R5bGVzXG5cbiAgICBAaWYgJHBvaW50ID09IFwidXBcIiB7XG4gICAgICBib3JkZXItbGVmdC13aWR0aDogJHNpemU7XG4gICAgICBib3JkZXItbGVmdC1jb2xvcjogdHJhbnNwYXJlbnQ7XG5cbiAgICAgIGJvcmRlci1yaWdodC13aWR0aDogJHNpemU7XG4gICAgICBib3JkZXItcmlnaHQtY29sb3I6IHRyYW5zcGFyZW50O1xuXG4gICAgICBib3JkZXItYm90dG9tLXdpZHRoOiAkc2l6ZTtcbiAgICAgIGJvcmRlci1ib3R0b20tY29sb3I6ICRjb2xvcjtcblxuICAgICAgYm9yZGVyLXRvcDogbm9uZTtcbiAgICB9XG5cbiAgICBAaWYgJHBvaW50ID09IFwicmlnaHRcIiB7XG4gICAgICBib3JkZXItdG9wLXdpZHRoOiAkc2l6ZTtcbiAgICAgIGJvcmRlci10b3AtY29sb3I6IHRyYW5zcGFyZW50O1xuXG4gICAgICBib3JkZXItYm90dG9tLXdpZHRoOiAkc2l6ZTtcbiAgICAgIGJvcmRlci1ib3R0b20tY29sb3I6IHRyYW5zcGFyZW50O1xuXG4gICAgICBib3JkZXItbGVmdC13aWR0aDogJHNpemU7XG4gICAgICBib3JkZXItbGVmdC1jb2xvcjogJGNvbG9yO1xuXG4gICAgICBib3JkZXItcmlnaHQ6IG5vbmU7XG4gICAgfVxuXG4gICAgQGVsc2UgaWYgJHBvaW50ID09IFwiZG93blwiIHtcbiAgICAgIGJvcmRlci1sZWZ0LXdpZHRoOiAkc2l6ZTtcbiAgICAgIGJvcmRlci1sZWZ0LWNvbG9yOiB0cmFuc3BhcmVudDtcblxuICAgICAgYm9yZGVyLXJpZ2h0LXdpZHRoOiAkc2l6ZTtcbiAgICAgIGJvcmRlci1yaWdodC1jb2xvcjogdHJhbnNwYXJlbnQ7XG5cbiAgICAgIGJvcmRlci10b3Atd2lkdGg6ICRzaXplO1xuICAgICAgYm9yZGVyLXRvcC1jb2xvcjogJGNvbG9yO1xuXG4gICAgICBib3JkZXItYm90dG9tOiBub25lO1xuICAgIH1cbiAgICBAZWxzZSBpZiAkcG9pbnQgPT0gXCJsZWZ0XCIge1xuICAgICAgYm9yZGVyLXRvcC13aWR0aDogJHNpemU7XG4gICAgICBib3JkZXItdG9wLWNvbG9yOiB0cmFuc3BhcmVudDtcblxuICAgICAgYm9yZGVyLWJvdHRvbS13aWR0aDogJHNpemU7XG4gICAgICBib3JkZXItYm90dG9tLWNvbG9yOiB0cmFuc3BhcmVudDtcblxuICAgICAgYm9yZGVyLXJpZ2h0LXdpZHRoOiAkc2l6ZTtcbiAgICAgIGJvcmRlci1yaWdodC1jb2xvcjogJGNvbG9yO1xuXG4gICAgICBib3JkZXItbGVmdDogbm9uZTtcbiAgICB9XG5cbiAgICAvLyBTa2V3c1xuICAgIEBpZiAkcG9pbnQgPT0gXCJ1cC1za2V3XCIge1xuICAgICAgYm9yZGVyLWxlZnQtd2lkdGg6ICgkc2l6ZSAqIDAuNik7XG4gICAgICBib3JkZXItbGVmdC1jb2xvcjogdHJhbnNwYXJlbnQ7XG5cbiAgICAgIGJvcmRlci1yaWdodC13aWR0aDogKCRzaXplICogMC42KTtcbiAgICAgIGJvcmRlci1yaWdodC1jb2xvcjogdHJhbnNwYXJlbnQ7XG5cbiAgICAgIGJvcmRlci1ib3R0b20td2lkdGg6ICRzaXplO1xuICAgICAgYm9yZGVyLWJvdHRvbS1jb2xvcjogJGNvbG9yO1xuXG4gICAgICBib3JkZXItdG9wOiBub25lO1xuICAgIH1cblxuICAgIEBpZiAkcG9pbnQgPT0gXCJyaWdodC1za2V3XCIge1xuICAgICAgYm9yZGVyLXRvcC13aWR0aDogKCRzaXplICogMC42KTtcbiAgICAgIGJvcmRlci10b3AtY29sb3I6IHRyYW5zcGFyZW50O1xuXG4gICAgICBib3JkZXItYm90dG9tLXdpZHRoOiAoJHNpemUgKiAwLjYpO1xuICAgICAgYm9yZGVyLWJvdHRvbS1jb2xvcjogdHJhbnNwYXJlbnQ7XG5cbiAgICAgIGJvcmRlci1sZWZ0LXdpZHRoOiAkc2l6ZTtcbiAgICAgIGJvcmRlci1sZWZ0LWNvbG9yOiAkY29sb3I7XG5cbiAgICAgIGJvcmRlci1yaWdodDogbm9uZTtcbiAgICB9XG5cbiAgICBAZWxzZSBpZiAkcG9pbnQgPT0gXCJkb3duLXNrZXdcIiB7XG4gICAgICBib3JkZXItbGVmdC13aWR0aDogKCRzaXplICogMC42KTtcbiAgICAgIGJvcmRlci1sZWZ0LWNvbG9yOiB0cmFuc3BhcmVudDtcblxuICAgICAgYm9yZGVyLXJpZ2h0LXdpZHRoOiAoJHNpemUgKiAwLjYpO1xuICAgICAgYm9yZGVyLXJpZ2h0LWNvbG9yOiB0cmFuc3BhcmVudDtcblxuICAgICAgYm9yZGVyLXRvcC13aWR0aDogJHNpemU7XG4gICAgICBib3JkZXItdG9wLWNvbG9yOiAkY29sb3I7XG5cbiAgICAgIGJvcmRlci1ib3R0b206IG5vbmU7XG4gICAgfVxuICAgIEBlbHNlIGlmICRwb2ludCA9PSBcImxlZnQtc2tld1wiIHtcbiAgICAgIGJvcmRlci10b3Atd2lkdGg6ICgkc2l6ZSAqIDAuNik7XG4gICAgICBib3JkZXItdG9wLWNvbG9yOiB0cmFuc3BhcmVudDtcblxuICAgICAgYm9yZGVyLWJvdHRvbS13aWR0aDogKCRzaXplICogMC42KTtcbiAgICAgIGJvcmRlci1ib3R0b20tY29sb3I6IHRyYW5zcGFyZW50O1xuXG4gICAgICBib3JkZXItcmlnaHQtd2lkdGg6ICRzaXplO1xuICAgICAgYm9yZGVyLXJpZ2h0LWNvbG9yOiAkY29sb3I7XG5cbiAgICAgIGJvcmRlci1sZWZ0OiBub25lO1xuICAgIH1cbiAgfVxufVxuXG4vLyBBcyBhbiBleGFtcGxlOlxuLy8gY29sb3I6IHNoaWZ0KCRncmF5LCA1KTtcbi8vLy8gd2lsbCBkYXJrZW4gJGdyYXkgNSVcblxuLy8gY29sb3I6IHNoaWZ0KCRncmF5LCAtNSk7XG4vLy8vIHdpbGwgbGlnaHRlbiBncmF5IDUlXG5cbkBmdW5jdGlvbiBzaGlmdCgkY29sb3IsICRhbW91bnQpe1xuICBAaWYgJGFtb3VudCA8IDAge1xuICAgICRhbW91bnQgOiAkYW1vdW50ICogLTE7XG4gICAgJG5ldy1jb2xvciA6IGxpZ2h0ZW4oJGNvbG9yLCAkYW1vdW50KTtcbiAgfSBAZWxzZSB7XG4gICAgJG5ldy1jb2xvcjogZGFya2VuKCRjb2xvciwgJGFtb3VudCk7XG4gIH1cblxuICBAcmV0dXJuICRuZXctY29sb3I7XG59XG5cblxuXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4vLyAgQW5pbWF0aW9uc1xuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG5cblxuLy8gVXNlIHRoaXMgY3VzdG9tIHdpZHRoIG1peGluIGlmIHlvdSBuZWVkIHRvXG4vLyBicmVhayBvdXQgb2YgdGhlIHRyYWRpdGlvbmFsIFN1c3kgZ3JpZFxuXG5AbWl4aW4gY3VzdG9tX3dpZHRoKCR3aWR0aCwgJGZsb2F0LCAkbWFyZ2luLXJpZ2h0KSB7XG4gIEBpbmNsdWRlIHJlbSh3aWR0aCwgJHdpZHRoKTtcbiAgZmxvYXQ6JGZsb2F0O1xuICBAaW5jbHVkZSByZW0obWFyZ2luLXJpZ2h0LCAkbWFyZ2luLXJpZ2h0KTtcbn1cbiJdfQ== */

@charset "UTF-8";
html {
  box-sizing: border-box; }

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

/*! normalize.css v2.1.0 | MIT License | git.io/normalize */
/* ==========================================================================
   HTML5 display definitions
   ========================================================================== */
/**
 * Correct `block` display not defined in IE 8/9.
 */
article,
aside,
details,
figcaption,
figure,
footer,
header,
hgroup,
main,
nav,
section,
summary {
  display: block; }

/**
 * Correct `inline-block` display not defined in IE 8/9.
 */
audio,
canvas,
video {
  display: inline-block; }

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

/**
 * Address styling not present in IE 8/9.
 */
[hidden] {
  display: none; }

/* ==========================================================================
   Base
   ========================================================================== */
/**
 * 1. Set default font family to sans-serif.
 * 2. Prevent iOS text size adjust after orientation change, without disabling
 *    user zoom.
 */
html {
  font-family: sans-serif;
  /* 1 */
  -webkit-text-size-adjust: 100%;
  /* 2 */
  -ms-text-size-adjust: 100%;
  /* 2 */ }

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

/* ==========================================================================
   Links
   ========================================================================== */
a {
  outline: 0 !important; }

/**
 * Address `outline` inconsistency between Chrome and other browsers.
 */
a:focus {
  outline: thin dotted; }

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

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

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

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

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

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

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

/**
 * Correct font family set oddly in Safari 5 and Chrome.
 */
code,
kbd,
pre,
samp {
  font-family: monospace, serif;
  font-size: 1em; }

/**
 * Improve readability of pre-formatted text in all browsers.
 */
pre {
  white-space: pre-wrap; }

/**
 * Set consistent quote types.
 */
q {
  quotes: "\201C" "\201D" "\2018" "\2019"; }

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

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

sup {
  top: -0.5em; }

sub {
  bottom: -0.25em; }

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

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

/* ==========================================================================
   Figures
   ========================================================================== */
/**
 * Address margin not present in IE 8/9 and Safari 5.
 */
figure {
  margin: 0; }

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

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

/**
 * 1. Correct font family not being inherited in all browsers.
 * 2. Correct font size not being inherited in all browsers.
 * 3. Address margins set differently in Firefox 4+, Safari 5, and Chrome.
 */
button,
input,
select,
textarea {
  font-family: inherit;
  /* 1 */
  font-size: 100%;
  /* 2 */
  margin: 0;
  /* 3 */ }

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

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

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

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

/**
 * 1. Address box sizing set to `content-box` in IE 8/9.
 * 2. Remove excess padding in IE 8/9.
 */
input[type="checkbox"],
input[type="radio"] {
  box-sizing: border-box;
  /* 1 */
  padding: 0;
  /* 2 */ }

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

/**
 * Remove inner padding and search cancel button in Safari 5 and Chrome
 * on OS X.
 */
input[type="search"]::-webkit-search-cancel-button,
input[type="search"]::-webkit-search-decoration {
  -webkit-appearance: none; }

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

/**
 * 1. Remove default vertical scrollbar in IE 8/9.
 * 2. Improve readability and alignment in all browsers.
 */
textarea {
  overflow: auto;
  /* 1 */
  vertical-align: top;
  /* 2 */ }

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

* {
  margin: 0 0 0 0;
  padding: 0; }

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

html,
body {
  height: 100%; }

body {
  overflow-x: hidden; }

*:focus {
  outline: none; }

textarea,
input[type="text"],
input[type="number"],
input[type="email"] {
  -webkit-appearance: none;
  border-radius: 0; }

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

button:active:before, button:focus:before {
  position: relative;
  top: 0;
  left: 0; }

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

html {
  font-size: 16px;
  line-height: 24px; }

body {
  font-size: 100%;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  background: #ffffff;
  font-family: "proxima-nova",sans-serif;
  font-weight: 400; }

h1, h2, h3, h4, h5, h6, blockquote p, cite,
.h1, .h2, .h3, .h4, .h5, .h6 {
  font-family: "proxima-nova",sans-serif; }

h1, h2, h3, h4, h5, h6, p, blockquote, ul, ol {
  margin-bottom: 10px; }

h1, .h1 {
  text-transform: none;
  letter-spacing: 0.082em;
  font-size: 37.4px;
  line-height: 47.4px;
  font-variant-ligatures: no-common-ligatures;
  -webkit-font-variant-ligatures: no-common-ligatures; }

h2, .h2 {
  text-transform: none;
  letter-spacing: 0.058em;
  font-size: 26.4px;
  line-height: 36.4px;
  color: #4A4A4A;
  letter-spacing: initial; }

h3, .h3 {
  text-transform: uppercase;
  letter-spacing: 0.029em;
  font-size: 15.6px;
  line-height: 25.6px;
  font-weight: 700;
  color: #4A4A4A; }

h4, .h4 {
  text-transform: none;
  letter-spacing: 0.15em;
  font-size: 13px;
  line-height: 23px;
  letter-spacing: initial; }

h5, .h5 {
  text-transform: uppercase;
  letter-spacing: 0.15em;
  font-size: 14.95px;
  line-height: 24.95px; }

h6, .h6 {
  text-transform: uppercase;
  letter-spacing: 0.024em;
  font-size: 15px;
  line-height: 25px;
  color: #4A4A4A;
  font-weight: 700; }

blockquote p, .blockquote p {
  text-transform: none;
  letter-spacing: 0.034em;
  font-size: 15.6px;
  line-height: 25.6px;
  font-style: italic;
  font-weight: 700; }

span.pullQuote {
  text-transform: none;
  letter-spacing: 0.05em;
  font-size: 15.6px;
  line-height: 25.6px;
  font-style: italic;
  color: #F18E02;
  font-weight: 400; }

p, ol, ul, li {
  text-transform: none;
  letter-spacing: 0.03em;
  font-size: 15px;
  line-height: 25px; }
  p.big, ol.big, ul.big, li.big {
    text-transform: none;
    letter-spacing: 0.04em;
    font-size: 16.25px;
    line-height: 26.25px; }

p, .p, ul, ol, li {
  color: #4A4A4A;
  font-family: "proxima-nova",sans-serif;
  font-weight: 400; }

button, .button {
  font-weight: 700;
  font-family: "proxima-nova",sans-serif; }

a {
  text-decoration: underline;
  color: #F18E02; }
  a:hover {
    text-decoration: none; }

ol, ul {
  list-style-position: inside; }

b {
  font-weight: bold; }

.condense {
  font-size: 85%; }

.lead {
  font-size: 125%; }

.shout {
  text-transform: none; }

.lowercase {
  text-transform: none !important; }

body.type-guide .color {
  display: inline-block;
  padding: 30px;
  margin: 0;
  width: 14.285714286%;
  float: left;
  text-align: center; }

body.type-guide p.guide-icons {
  font-family: "Icons", sans-serif;
  font-size: 30px; }

@font-face {
  font-family: Icons;
  font-style: normal;
  font-weight: 400;
  src: url("/assets/public/fonts/icons/icons.eot?#iefix") format("embedded-opentype"), url("/assets/public/fonts/icons/icons.woff2") format("woff2"), url("/assets/public/fonts/icons/icons.woff") format("woff"), url("/assets/public/fonts/icons/icons.ttf") format("truetype"), url("/assets/public/fonts/icons/icons.svg#Icons") format("svg"); }

.line-behind-text {
  height: 12px;
  margin: 40px 0;
  border-bottom: 1px solid #e6e6e6;
  text-align: center; }
  .line-behind-text h2, .line-behind-text h4 {
    display: inline;
    padding: 0 10px;
    background: white; }
  .line-behind-text h2 {
    font-size: 36px;
    line-height: 1.5; }

.single-post .grid-wrapper,
.blog .grid-wrapper,
.category .grid-wrapper,
.archive .grid-wrapper {
  max-width: 60em;
  margin-left: auto;
  margin-right: auto; }
  .single-post .grid-wrapper::after,
  .blog .grid-wrapper::after,
  .category .grid-wrapper::after,
  .archive .grid-wrapper::after {
    clear: both;
    content: "";
    display: block; }
  .single-post .grid-wrapper article,
  .blog .grid-wrapper article,
  .category .grid-wrapper article,
  .archive .grid-wrapper article {
    float: left;
    display: block;
    margin-right: 2.35765%;
    width: 57.35098%;
    margin-left: 4.2649%; }
    .single-post .grid-wrapper article:last-child,
    .blog .grid-wrapper article:last-child,
    .category .grid-wrapper article:last-child,
    .archive .grid-wrapper article:last-child {
      margin-right: 0; }
  .single-post .grid-wrapper .sidebar,
  .blog .grid-wrapper .sidebar,
  .category .grid-wrapper .sidebar,
  .archive .grid-wrapper .sidebar {
    float: left;
    display: block;
    margin-right: 2.35765%;
    width: 23.23176%;
    margin-left: 4.2649%;
    margin-right: 0; }
    .single-post .grid-wrapper .sidebar:last-child,
    .blog .grid-wrapper .sidebar:last-child,
    .category .grid-wrapper .sidebar:last-child,
    .archive .grid-wrapper .sidebar:last-child {
      margin-right: 0; }
  .single-post .grid-wrapper .blog-pagination,
  .blog .grid-wrapper .blog-pagination,
  .category .grid-wrapper .blog-pagination,
  .archive .grid-wrapper .blog-pagination {
    clear: both; }

.button {
  -webkit-transition: all 0.25s;
  transition: all 0.25s;
  text-transform: uppercase;
  letter-spacing: 0.15em;
  font-size: 15.6px;
  line-height: 25.6px;
  line-height: 100% !important;
  padding: 15px 30px;
  border-radius: 0px;
  color: white;
  text-decoration: none;
  cursor: pointer;
  display: inline-block;
  position: relative;
  border-width: 2px;
  border-style: solid; }
  .button.primary {
    position: relative;
    z-index: 1;
    border: none;
    background-color: #F18E02;
    color: #ffffff;
    padding-right: 69px; }
    .button.primary:after {
      -webkit-transition: all 0.25s;
      transition: all 0.25s;
      content: '';
      display: block;
      position: absolute;
      top: 0;
      right: 0;
      width: 39px;
      height: 100%;
      background: rgba(216, 216, 216, 0.2) url(data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz48c3ZnIHZlcnNpb249IjEuMSIgaWQ9IkxheWVyXzEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiIHg9IjBweCIgeT0iMHB4IiB2aWV3Qm94PSIwIDAgMTAuOCA2IiBzdHlsZT0iZW5hYmxlLWJhY2tncm91bmQ6bmV3IDAgMCAxMC44IDY7IiB4bWw6c3BhY2U9InByZXNlcnZlIj48c3R5bGUgdHlwZT0idGV4dC9jc3MiPi5zdDB7ZmlsbDojRkZGRkZGO308L3N0eWxlPjxwb2x5Z29uIGNsYXNzPSJzdDAiIHBvaW50cz0iMCwwIDAsNiAxMC44LDMgIi8+PC9zdmc+) no-repeat center center;
      background-size: 15px auto; }
    .button.primary:hover {
      background-color: #d87f02; }
  .button.secondary {
    position: relative;
    z-index: 1;
    border: none;
    background-color: #ffffff;
    color: #F18E02;
    padding-right: 69px; }
    .button.secondary:after {
      content: '';
      display: block;
      position: absolute;
      top: 0;
      right: 0;
      width: 39px;
      height: 100%;
      background: rgba(241, 142, 2, 0.2) url(data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz48c3ZnIHZlcnNpb249IjEuMSIgaWQ9IkxheWVyXzEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiIHg9IjBweCIgeT0iMHB4IiB2aWV3Qm94PSIwIDAgMTAuOCA2IiBzdHlsZT0iZW5hYmxlLWJhY2tncm91bmQ6bmV3IDAgMCAxMC44IDY7IiB4bWw6c3BhY2U9InByZXNlcnZlIj48c3R5bGUgdHlwZT0idGV4dC9jc3MiPi5zdDB7ZmlsbDojRkZGRkZGO308L3N0eWxlPjxwb2x5Z29uIGNsYXNzPSJzdDAiIHBvaW50cz0iMCwwIDAsNiAxMC44LDMgIi8+PC9zdmc+) no-repeat center center;
      background-size: 15px auto; }
    .button.secondary:hover {
      background-color: #f2f2f2; }
  .button.line-primary {
    background: none;
    border-color: #ec9c2d;
    color: #ec9c2d; }
    .button.line-primary:hover {
      background-color: #ec9c2d;
      color: #ffffff;
      text-shadow: none; }
  .button.line-secondary {
    border-color: #ffffff;
    color: #ffffff; }
    .button.line-secondary:hover {
      background-color: #ffffff;
      color: #ec9c2d;
      text-shadow: none; }

.button.primary, .button.secondary {
  text-shadow: none; }

input[type="text"],
input[type="email"],
input[type="tel"],
input[type="url"],
input[type="password"],
input[type="search"],
textarea,
select {
  appearance: none;
  -moz-appearance: none;
  -webkit-appearance: none;
  border-radius: 0;
  -moz-border-radius: 0;
  -webkit-border-radius: 0; }
  input[type="text"]:focus,
  input[type="email"]:focus,
  input[type="tel"]:focus,
  input[type="url"]:focus,
  input[type="password"]:focus,
  input[type="search"]:focus,
  textarea:focus,
  select:focus {
    outline: none; }

.gform_confirmation_wrapper {
  color: #D8D8D8;
  margin-bottom: 10px; }

.gform_fields {
  list-style: none;
  margin: 0; }

.gfield_label {
  color: #2B2B2B;
  display: block;
  font-style: italic; }
  .gfield_label .gfield_required {
    display: none; }

.ginput_container {
  margin-bottom: 10px; }
  .ginput_container input[type="email"],
  .ginput_container input[type="number"],
  .ginput_container input[type="text"],
  .ginput_container textarea {
    background: transparent;
    border: 1px solid #2B2B2B;
    color: #D8D8D8;
    display: block;
    line-height: 32px;
    padding: 0 5px;
    width: 100%; }
    .ginput_container input[type="email"]:active, .ginput_container input[type="email"]:focus,
    .ginput_container input[type="number"]:active,
    .ginput_container input[type="number"]:focus,
    .ginput_container input[type="text"]:active,
    .ginput_container input[type="text"]:focus,
    .ginput_container textarea:active,
    .ginput_container textarea:focus {
      border: 1px solid #D8D8D8;
      outline: 0; }

.gfield_error {
  background: rgba(196, 0, 0, 0.15);
  margin-top: 10px;
  padding: 10px; }
  .gfield_error .ginput_container {
    margin-bottom: 5px; }
  .gfield_error .gfield_label, .gfield_error .validation_message {
    color: #C40000;
    font-style: italic;
    font-weight: 700; }

.validation_error {
  color: #C40000;
  font-style: italic;
  font-weight: 700;
  margin-bottom: 10px; }

.gform_validation_container {
  display: none; }

.ginput_container_radio ul.gfield_radio li {
  list-style-type: none;
  list-style-type: none;
  cursor: pointer;
  margin: 15px 0;
  padding-left: 30px;
  position: relative; }
  .ginput_container_radio ul.gfield_radio li input[type=radio] {
    position: absolute;
    visibility: hidden; }
  .ginput_container_radio ul.gfield_radio li label {
    -webkit-transition: all 0.3s;
    transition: all 0.3s;
    text-transform: none;
    letter-spacing: 0.04em;
    font-size: 13.5px;
    line-height: 23.5px;
    color: black; }
    .ginput_container_radio ul.gfield_radio li label:before {
      border: 2px solid black;
      content: '';
      cursor: pointer;
      display: inline-block;
      height: 22px;
      left: 0;
      position: absolute;
      top: 2px;
      width: 22px;
      border-radius: 100%; }
    .ginput_container_radio ul.gfield_radio li label:after {
      -webkit-transform: scale(0);
      -ms-transform: scale(0);
      transform: scale(0);
      -webkit-transition-duration: 0.2s;
      transition-duration: 0.2s;
      -webkit-transition-property: -webkit-transform;
      transition-property: -webkit-transform;
      transition-property: transform;
      transition-property: transform, -webkit-transform;
      background: #C40000;
      content: '';
      height: 12px;
      left: 5px;
      position: absolute;
      top: 7px;
      width: 12px;
      border-radius: 100%; }
    .ginput_container_radio ul.gfield_radio li label:hover {
      color: #2B2B2B; }
      .ginput_container_radio ul.gfield_radio li label:hover:before {
        border: 2px solid black; }
  .ginput_container_radio ul.gfield_radio li input:checked + label:after {
    -webkit-transform: scale(1);
    -ms-transform: scale(1);
    transform: scale(1); }
  .ginput_container_radio ul.gfield_radio li input:checked + label:before {
    border-color: black; }
  .ginput_container_radio ul.gfield_radio li input:checked + label {
    color: black; }

.ginput_container_textarea + .gfield_description, .ginput_container_text + .gfield_description {
  margin-bottom: 20px; }

.ginput_container_name label {
  margin-bottom: 10px;
  display: block; }

.gfield_checkbox li {
  display: block;
  position: relative;
  padding-left: 30px;
  position: relative;
  margin-bottom: 25px; }
  .gfield_checkbox li:last-child {
    margin-bottom: 0; }
  .gfield_checkbox li label {
    color: #2B2B2B;
    -webkit-transition: all 0.15s;
    transition: all 0.15s; }
    .gfield_checkbox li label:before {
      content: '';
      width: 20px;
      height: 20px;
      border: 2px solid #C40000;
      background: none;
      position: absolute;
      left: 0px; }
    .gfield_checkbox li label:after {
      content: '';
      width: 9px;
      height: 22px;
      border-right: 4px solid #C40000;
      border-bottom: 4px solid #C40000;
      position: absolute;
      left: 11px;
      -ms-transform: rotate(45deg);
      -webkit-transform: rotate(45deg);
      transform: rotate(45deg);
      top: -7px;
      opacity: 0;
      -webkit-transition: all 0.15s;
      transition: all 0.15s; }
    .gfield_checkbox li label:hover {
      color: #C40000; }
      .gfield_checkbox li label:hover:before {
        border-color: #C40000;
        background-color: #C40000; }
  .gfield_checkbox li input {
    display: none; }
  .gfield_checkbox li input[type="checkbox"]:checked + label:after {
    opacity: 1; }
  .gfield_checkbox li input[type="checkbox"]:checked + label {
    color: #2B2B2B; }
  .gfield_checkbox li input[type="checkbox"]:checked + label:before {
    border-color: #2B2B2B;
    background-color: #ffffff; }

.ginput_container_select {
  position: relative;
  width: 100%;
  margin-bottom: 20px; }
  .ginput_container_select:after {
    content: 'g';
    font-family: "Icons", sans-serif;
    text-transform: none;
    color: #C40000;
    top: calc(50% - 14px);
    position: absolute;
    right: 27px;
    font-size: 20px;
    pointer-events: none; }
  .ginput_container_select select {
    border: 1px solid #2B2B2B;
    border-radius: none;
    background: none;
    width: 100%;
    height: 35px;
    padding: 0 15px; }

.gfield:after {
  clear: both;
  content: "";
  display: table;
  zoom: 1; }

.gfield:before {
  clear: both;
  content: "";
  display: table;
  zoom: 1; }

.gfield_time_hour {
  width: 30%;
  margin-right: 5%;
  float: left; }
  .gfield_time_hour i {
    display: none; }

.gfield_time_minute {
  width: 30%;
  margin-right: 5%;
  float: left; }
  .gfield_time_minute i {
    display: none; }

.gfield_time_ampm {
  width: 30%;
  float: left;
  position: relative;
  margin-bottom: 20px; }
  .gfield_time_ampm:after {
    content: 'g';
    font-family: "Icons", sans-serif;
    text-transform: none;
    color: #C40000;
    top: calc(50% - 10px);
    position: absolute;
    right: 20px;
    font-size: 20px;
    pointer-events: none; }
  .gfield_time_ampm select {
    border: 1px solid #2B2B2B;
    border-radius: none;
    background: none;
    width: 100%;
    height: 35px;
    padding: 0 15px; }

h2.gsection_title {
  text-transform: uppercase;
  letter-spacing: 0.16em;
  font-size: 19.5px;
  line-height: 29.5px;
  display: block;
  padding-bottom: 10px;
  border-bottom: 1px solid #2B2B2B;
  color: #C40000;
  margin-top: 40px; }

.gform_body .gfield:first-child .gsection_title {
  margin-top: 0; }

.hide-labels div span label {
  visibility: hidden; }

.ui-datepicker {
  width: 17em;
  padding: .2em .2em 0;
  display: none;
  background-color: #ffffff;
  border: 1px solid #999999; }
  .ui-datepicker .ui-datepicker-header {
    position: relative;
    padding: .2em 0;
    border: 0px;
    font-weight: bold;
    width: 100%;
    padding: 4px 0; }
  .ui-datepicker .ui-datepicker-prev,
  .ui-datepicker .ui-datepicker-next {
    position: absolute;
    top: 2px;
    width: 1.8em;
    height: 1.8em; }
  .ui-datepicker .ui-datepicker-prev-hover,
  .ui-datepicker .ui-datepicker-next-hover {
    /*top: 1px;*/ }
  .ui-datepicker .ui-datepicker-prev {
    left: 2px; }
  .ui-datepicker .ui-datepicker-next {
    right: 2px; }
  .ui-datepicker .ui-datepicker-prev-hover {
    /*left:1px;*/ }
  .ui-datepicker .ui-datepicker-next-hover {
    /*right:1px;*/ }
  .ui-datepicker .ui-datepicker-prev span,
  .ui-datepicker .ui-datepicker-next span {
    display: block;
    font-size: 11px;
    margin-top: -7px;
    position: absolute;
    top: 50%; }
    .ui-datepicker .ui-datepicker-prev span:hover,
    .ui-datepicker .ui-datepicker-next span:hover {
      cursor: pointer; }
  .ui-datepicker .ui-datepicker-title {
    margin: 0 2.3em;
    line-height: 1.8em;
    text-align: center; }
    .ui-datepicker .ui-datepicker-title select {
      font-size: 1em;
      margin: 1px 0; }
  .ui-datepicker select.ui-datepicker-month-year {
    width: 100%; }
  .ui-datepicker select.ui-datepicker-month, .ui-datepicker select.ui-datepicker-year {
    background: none;
    border: none;
    width: 25%; }
  .ui-datepicker table {
    width: 100%;
    font-size: .9em;
    border-collapse: collapse;
    margin: 0 0 .4em; }
  .ui-datepicker th {
    padding: .7em .3em;
    text-align: center;
    font-weight: bold;
    border: 0; }
  .ui-datepicker td {
    border: 0;
    padding: 1px; }
    .ui-datepicker td span, .ui-datepicker td a {
      display: block;
      padding: .2em;
      text-align: right;
      text-decoration: none; }
  .ui-datepicker .ui-datepicker-buttonpane {
    background-image: none;
    margin: .7em 0 0 0;
    padding: 0 .2em;
    border-left: 0;
    border-right: 0;
    border-bottom: 0; }
    .ui-datepicker .ui-datepicker-buttonpane button {
      float: right;
      margin: .5em .2em .4em;
      cursor: pointer;
      padding: .2em .6em .3em .6em;
      width: auto;
      overflow: visible; }
      .ui-datepicker .ui-datepicker-buttonpane button .ui-datepicker-current {
        float: left; }

/* with multiple calendars */
.ui-datepicker.ui-datepicker-multi {
  width: auto; }

.ui-datepicker-multi .ui-datepicker-group {
  float: left; }

.ui-datepicker-multi .ui-datepicker-group table {
  width: 95%;
  margin: 0 auto .4em; }

.ui-datepicker-multi-2 .ui-datepicker-group {
  width: 50%; }

.ui-datepicker-multi-3 .ui-datepicker-group {
  width: 33.3%; }

.ui-datepicker-multi-4 .ui-datepicker-group {
  width: 25%; }

.ui-datepicker-multi .ui-datepicker-group-last .ui-datepicker-header {
  border-left-width: 0; }

.ui-datepicker-multi .ui-datepicker-group-middle .ui-datepicker-header {
  border-left-width: 0; }

.ui-datepicker-multi .ui-datepicker-buttonpane {
  clear: left; }

.ui-datepicker-row-break {
  clear: both;
  width: 100%;
  font-size: 0em; }

/* RTL support */
.ui-datepicker-rtl {
  direction: rtl; }
  .ui-datepicker-rtl .ui-datepicker-prev {
    right: 2px;
    left: auto; }
    .ui-datepicker-rtl .ui-datepicker-prev:hover {
      right: 1px;
      left: auto; }
  .ui-datepicker-rtl .ui-datepicker-next {
    left: 2px;
    right: auto; }
    .ui-datepicker-rtl .ui-datepicker-next:hover {
      left: 1px;
      right: auto; }
  .ui-datepicker-rtl .ui-datepicker-buttonpane {
    clear: right; }
    .ui-datepicker-rtl .ui-datepicker-buttonpane button {
      float: left; }
      .ui-datepicker-rtl .ui-datepicker-buttonpane button .ui-datepicker-current {
        float: right; }
  .ui-datepicker-rtl .ui-datepicker-group {
    float: right; }
  .ui-datepicker-rtl .ui-datepicker-group-last .ui-datepicker-header {
    border-right-width: 0;
    border-left-width: 1px; }
  .ui-datepicker-rtl .ui-datepicker-group-middle .ui-datepicker-header {
    border-right-width: 0;
    border-left-width: 1px; }

/* IE6 IFRAME FIX (taken from datepicker 1.5.3 */
.ui-datepicker-cover {
  display: none;
  /*sorry for IE5*/
  position: absolute;
  /*must have*/
  z-index: -1;
  /*must have*/
  -webkit-filter: mask();
          filter: mask();
  /*must have*/
  top: -4px;
  /*must have*/
  left: -4px;
  /*must have*/
  width: 200px;
  /*must have*/
  height: 200px;
  /*must have*/ }

.ui-datepicker th {
  font-weight: bold;
  color: gray; }

.ui-datepicker-today a {
  background-color: #2B2B2B;
  cursor: pointer;
  padding: 0 4px;
  margin-bottom: 0px; }

.ui-datepicker td a {
  margin-bottom: 0px;
  border: 0px; }

.ui-datepicker td .ui-state-default {
  border: 0;
  background: none;
  margin-bottom: 0;
  padding: 5px;
  color: gray;
  text-align: center;
  -webkit-filter: none;
          filter: none; }
  .ui-datepicker td .ui-state-default:hover {
    background-color: #999;
    border-radius: 4px;
    color: #ffffff; }

.ui-datepicker td .ui-state-highlight {
  color: #ffffff;
  background: #2B2B2B;
  text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.25);
  border-color: #eedc94 #eedc94 #e4c652;
  border-color: rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.25);
  border-radius: 4px; }

.ui-datepicker td .ui-state-active {
  margin-bottom: 0px;
  font-size: normal;
  text-shadow: 0px;
  border-radius: 4px; }

form.post-password-form {
  padding: 20px 20px 0 20px;
  margin: auto;
  max-width: 900px; }
  form.post-password-form input[type="password"] {
    padding-left: 0.5em;
    padding-right: 0.5em;
    border: 2px solid;
    line-height: 32px;
    height: 54px; }
  form.post-password-form input[type="submit"] {
    -webkit-transition: all 0.25s;
    transition: all 0.25s;
    text-transform: uppercase;
    letter-spacing: 0.15em;
    font-size: 13px;
    line-height: 23px;
    line-height: 100% !important;
    padding: 16px 36px;
    border-radius: 90px;
    color: white;
    text-decoration: none;
    cursor: pointer;
    display: inline-block;
    position: relative;
    border-width: 2px;
    border-style: solid;
    margin: 0 20px; }

/* Password Form */
.post-password-form input[type="password"] {
  color: purple;
  border-color: green; }

.post-password-form input[type="submit"] {
  background-color: red;
  border-color: orange;
  color: purple; }

.post-password-form input[type="submit"]:hover {
  background-color: white;
  color: green; }

.map {
  background: #efefef;
  height: 500px; }

.mapInfoBox {
  position: absolute;
  width: 340px; }
  .mapInfoBox:after, .mapInfoBox:before {
    -webkit-transform: translateY(-50%) scaleX(0.3) scaleY(0.37);
    -ms-transform: translateY(-50%) scaleX(0.3) scaleY(0.37);
    transform: translateY(-50%) scaleX(0.3) scaleY(0.37);
    width: 0;
    height: 0;
    border-top: 100px solid transparent;
    border-bottom: 100px solid transparent;
    border-right: 100px solid #ffffff;
    content: '';
    position: absolute;
    left: -60px;
    top: 50%; }
  .mapInfoBox:after {
    background-position: top right;
    z-index: 3; }
  .mapInfoBox:before {
    background-position: top left;
    text-shadow: 0 0 25px rgba(0, 0, 0, 0.35);
    z-index: 1; }
  .mapInfoBox_wrapper {
    background: #ffffff;
    box-shadow: 0 0 25px 0 rgba(0, 0, 0, 0.35);
    padding: 30px;
    position: relative;
    z-index: 2; }
    .mapInfoBox_wrapper_close {
      background: #ffffff;
      position: absolute;
      height: 17px;
      right: 10px;
      top: 15px;
      width: 17px; }
      .mapInfoBox_wrapper_close:after, .mapInfoBox_wrapper_close:before {
        background: #2B2B2B;
        content: '';
        display: block;
        height: 2px;
        position: absolute;
        top: 0;
        width: 17px; }
      .mapInfoBox_wrapper_close:after {
        -webkit-transform: rotate(45deg);
        -ms-transform: rotate(45deg);
        transform: rotate(45deg);
        left: -1px; }
      .mapInfoBox_wrapper_close:before {
        -webkit-transform: rotate(-45deg);
        -ms-transform: rotate(-45deg);
        transform: rotate(-45deg);
        left: 0; }
      .mapInfoBox_wrapper_close span {
        display: none; }
    .mapInfoBox_wrapper h5 {
      margin-bottom: 10px; }
    .mapInfoBox_wrapper p {
      color: #4A4A4A;
      margin-bottom: 10px; }
    .mapInfoBox_wrapper .button.line-primary {
      font-size: 12px;
      padding: 10px 20px; }

.video_player {
  display: block;
  height: auto;
  width: 100%; }

/* Card grid */
.cardGrid_wrapper_single {
  background: #F7F7F7; }

.moduleWrapper .cardGrid_wrapper_single_header_image-linked:after {
  background-color: green; }

.moduleWrapper .cardGrid_wrapper_single_link {
  background-color: #F18E02;
  font-weight: 700;
  font-family: "proxima-nova",sans-serif; }

.moduleWrapper .cardGrid {
  padding: 30px 100px 60px 100px; }
  .moduleWrapper .cardGrid_wrapper {
    display: -webkit-box;
    display: -moz-box;
    display: box;
    display: -webkit-flex;
    display: -moz-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-flex-flow: row wrap;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
            flex-flow: row wrap;
    -webkit-box-pack: start;
    box-pack: start;
    -webkit-justify-content: flex-start;
    -moz-justify-content: flex-start;
    -ms-justify-content: flex-start;
    -o-justify-content: flex-start;
    justify-content: flex-start;
    -ms-flex-pack: start;
    -ms-flex-flow: row wrap;
    margin: 0 auto;
    max-width: 1200px;
    width: 100%; }
    .moduleWrapper .cardGrid_wrapper_single {
      margin: 0 24px 25px 0;
      position: relative; }
      .moduleWrapper .cardGrid_wrapper_single:last-of-type {
        margin-right: 0; }
      .moduleWrapper .cardGrid_wrapper_single_content {
        padding: 15px 15px 55px 15px; }
        .moduleWrapper .cardGrid_wrapper_single_content_else {
          padding: 15px 15px 15px 15px; }
      .moduleWrapper .cardGrid_wrapper_single_header {
        position: relative; }
        .moduleWrapper .cardGrid_wrapper_single_header:after {
          content: '';
          display: block;
          padding-bottom: 100%; }
        .moduleWrapper .cardGrid_wrapper_single_header_image {
          bottom: 0;
          left: 0;
          position: absolute;
          right: 0;
          top: 0;
          background-position: center;
          background-repeat: no-repeat;
          background-size: cover; }
          .moduleWrapper .cardGrid_wrapper_single_header_image-linked:after {
            -webkit-transition: opacity 0.3s;
            transition: opacity 0.3s;
            background: #000;
            content: '';
            height: 100%;
            left: 0;
            opacity: 0;
            position: absolute;
            top: 0;
            width: 100%; }
          .moduleWrapper .cardGrid_wrapper_single_header_image-linked:hover:after {
            opacity: 0.6; }
      .moduleWrapper .cardGrid_wrapper_single_link {
        text-transform: uppercase;
        letter-spacing: 0.15em;
        font-size: 15.6px;
        line-height: 25.6px;
        -webkit-transition: all 0.25s;
        transition: all 0.25s;
        border: none;
        border-radius: 0;
        bottom: 0;
        color: white;
        cursor: pointer;
        display: inline-block;
        left: 0;
        line-height: 100% !important;
        padding: 10px;
        position: absolute;
        right: 0;
        text-align: center;
        text-decoration: none;
        z-index: 2; }
        .moduleWrapper .cardGrid_wrapper_single_link:after {
          -webkit-transition: opacity 0.3s;
          transition: opacity 0.3s;
          background-color: #2B2B2B;
          content: '';
          height: 100%;
          left: 0;
          opacity: 0;
          position: absolute;
          top: 0;
          width: 100%;
          z-index: -1; }
        .moduleWrapper .cardGrid_wrapper_single_link:hover:after {
          opacity: 0.2; }
  .moduleWrapper .cardGrid-columnsOne .cardGrid_wrapper_single {
    margin-right: 0;
    width: 100%; }

.moduleWrapper-cards + .moduleWrapper-cards {
  margin-top: -20px; }
  .moduleWrapper-cards + .moduleWrapper-cards .cardGrid {
    padding-top: 0px; }

.contactForm_wrapper_form form .gform_body ul li .ginput_container input,
.contactForm_wrapper_form form .gform_body ul li .ginput_container select,
.contactForm_wrapper_form form .gform_body ul li .ginput_container textarea {
  color: #4C4745;
  border-color: #4C4745; }

.contactForm_wrapper_form form .gform_body ul li .gfield_label {
  color: #4C4745;
  font-weight: 700; }

.contactForm_side_background, .contactForm_wrapper_side {
  background-color: #F7F7F7; }

.primary-submit {
  position: relative;
  display: inline-block; }
  .primary-submit .button {
    border: none;
    background-color: #F18E02;
    color: #ffffff;
    padding-right: 69px; }
    .primary-submit .button:hover {
      background-color: #e78802; }
      .primary-submit .button:hover + span {
        background-color: rgba(236, 156, 45, 0.2); }
  .primary-submit span {
    -webkit-transition: all 0.25s;
    transition: all 0.25s;
    content: '';
    display: block;
    position: absolute;
    top: 0;
    right: 0;
    width: 39px;
    height: 100%;
    background: #ec9c2d url(data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz48c3ZnIHZlcnNpb249IjEuMSIgaWQ9IkxheWVyXzEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiIHg9IjBweCIgeT0iMHB4IiB2aWV3Qm94PSIwIDAgMTAuOCA2IiBzdHlsZT0iZW5hYmxlLWJhY2tncm91bmQ6bmV3IDAgMCAxMC44IDY7IiB4bWw6c3BhY2U9InByZXNlcnZlIj48c3R5bGUgdHlwZT0idGV4dC9jc3MiPi5zdDB7ZmlsbDojRkZGRkZGO308L3N0eWxlPjxwb2x5Z29uIGNsYXNzPSJzdDAiIHBvaW50cz0iMCwwIDAsNiAxMC44LDMgIi8+PC9zdmc+) no-repeat center center;
    background-size: 15px auto; }

.contactForm h3 {
  color: #E96A2A; }

.contactForm p strong {
  text-transform: uppercase; }

.moduleWrapper .contactForm {
  padding: 20px;
  position: relative;
  overflow: hidden;
  z-index: 0; }
  .moduleWrapper .contactForm_side_background {
    position: absolute;
    z-index: -1; }
  .moduleWrapper .contactForm_wrapper {
    margin: auto;
    max-width: 1200px; }
    .moduleWrapper .contactForm_wrapper_side::after {
      clear: both;
      content: "";
      display: block; }
    .moduleWrapper .contactForm_wrapper_side_content p {
      margin-bottom: 40px; }
    .moduleWrapper .contactForm_wrapper_side_content h1:last-child, .moduleWrapper .contactForm_wrapper_side_content h2:last-child, .moduleWrapper .contactForm_wrapper_side_content h3:last-child, .moduleWrapper .contactForm_wrapper_side_content h4:last-child, .moduleWrapper .contactForm_wrapper_side_content h5:last-child, .moduleWrapper .contactForm_wrapper_side_content h6:last-child, .moduleWrapper .contactForm_wrapper_side_content li:last-child, .moduleWrapper .contactForm_wrapper_side_content p:last-child {
      margin-bottom: 0; }
    .moduleWrapper .contactForm_wrapper_form form .gform_body ul li .ginput_container {
      margin-top: .125em !important; }
      .moduleWrapper .contactForm_wrapper_form form .gform_body ul li .ginput_container input, .moduleWrapper .contactForm_wrapper_form form .gform_body ul li .ginput_container textarea, .moduleWrapper .contactForm_wrapper_form form .gform_body ul li .ginput_container select {
        padding-left: 0.5em;
        padding-right: 0.5em;
        border: 2px solid;
        width: 97.5%; }
      .moduleWrapper .contactForm_wrapper_form form .gform_body ul li .ginput_container select {
        padding-top: 0.8em;
        padding-bottom: 0.8em; }
      .moduleWrapper .contactForm_wrapper_form form .gform_body ul li .ginput_container textarea {
        height: 8em;
        padding-top: 0.313em; }
    .moduleWrapper .contactForm_wrapper_form form .gform_body ul li .gfield_label {
      text-transform: uppercase;
      letter-spacing: 0.15em;
      font-size: 12.75px;
      line-height: 22.75px;
      font-style: normal;
      margin-bottom: 0;
      color: #4C4745;
      font-weight: 700; }

.footer_container {
  background-color: #4A4A4A;
  padding: 20px 0 15px; }

.footer hr {
  margin: 25px auto;
  max-width: 1200px;
  outline: 0;
  border: 0;
  height: 1px;
  background: #979797; }

.footer_lower {
  margin: auto;
  max-width: 1200px;
  padding: 0 20px; }
  .footer_lower::after {
    clear: both;
    content: "";
    display: block; }
  .footer_lower_social {
    width: 50%;
    float: left; }
    .footer_lower_social p {
      margin: 0;
      color: #ffffff;
      font-size: 14px;
      font-style: normal;
      font-weight: 400;
      text-transform: uppercase; }
  .footer_lower_newsletter_signup {
    width: 50%;
    float: right; }
    .footer_lower_newsletter_signup .gform_wrapper {
      position: relative; }
    .footer_lower_newsletter_signup .gfield_label {
      color: #ffffff;
      font-size: 14px;
      font-style: normal;
      font-weight: 400;
      text-transform: uppercase; }
    .footer_lower_newsletter_signup .ginput_container {
      margin-bottom: 0; }
    .footer_lower_newsletter_signup .ginput_container input[type="email"], .footer_lower_newsletter_signup .ginput_container input[type="number"], .footer_lower_newsletter_signup .ginput_container input[type="text"], .footer_lower_newsletter_signup .ginput_container textarea {
      border-color: #979797;
      background: #636060;
      height: 45px;
      color: #ffffff; }
    .footer_lower_newsletter_signup .primary-submit .button {
      padding: 11px 65px 12px 25px; }

.footer_top {
  margin: auto;
  max-width: 1200px;
  padding: 0; }
  .footer_top::after {
    clear: both;
    content: "";
    display: block; }
  .footer_top_menu {
    padding: 0; }
    .footer_top_menu_wrapper {
      text-align: right;
      padding-top: 45px; }
      .footer_top_menu_wrapper_single {
        text-transform: uppercase;
        letter-spacing: 0.022em;
        font-size: 9.9px;
        line-height: 19.9px;
        color: #ffffff;
        font-weight: 600;
        padding: 0; }
        .footer_top_menu_wrapper_single:last-child {
          margin-right: 0; }
        .footer_top_menu_wrapper_single_link {
          color: #ffffff;
          text-decoration: none;
          padding: 15px 25px;
          display: inline-block;
          font-weight: 700; }
  .footer_top_logo {
    max-width: 300px; }
    .footer_top_logo a {
      display: block; }
    .footer_top_logo svg {
      display: block;
      -webkit-transform: scale(1);
          -ms-transform: scale(1);
              transform: scale(1);
      max-width: 300px; }
  .footer_top_social_icon {
    margin: 0 5px;
    width: 45px;
    height: 45px;
    float: left;
    display: inline-block;
    background: #D8D8D8;
    color: #4A4A4A;
    text-decoration: none;
    font-size: 20px;
    line-height: 45px;
    text-align: center; }
    .footer_top_social_icon:first-child {
      margin-left: 0; }
    .footer_top_social_icon:last-child {
      margin-right: 0; }
    .footer_top_social_icon:before {
      content: "";
      font-family: "Icons", sans-serif;
      font-style: normal;
      font-variant: normal;
      font-weight: normal;
      line-height: 1;
      speak: none;
      text-transform: none;
      -webkit-font-smoothing: antialiased;
      -moz-osx-font-smoothing: grayscale;
      line-height: 1.5; }
    .footer_top_social_icon:hover {
      background: #bfbfbf; }
    .footer_top_social_icon span {
      display: block;
      left: -999999px;
      position: absolute;
      top: 0; }
    .footer_top_social_icon-dribbble:before {
      content: "c"; }
    .footer_top_social_icon-facebook:before {
      content: "a"; }
    .footer_top_social_icon-instagram:before {
      content: "e"; }
    .footer_top_social_icon-linkedin:before {
      content: "d"; }
    .footer_top_social_icon-twitter:before {
      content: "b"; }
    .footer_top_social_icon-gplus:before {
      content: "h"; }
    .footer_top_social_icon-youtube:before {
      content: "f"; }

.footer_bottom {
  margin: auto;
  padding: 5px; }
  .footer_bottom::after {
    clear: both;
    content: "";
    display: block; }
  .footer_bottom_wrapper {
    font-size: 14px;
    color: #4A4A4A;
    text-transform: uppercase; }
    .footer_bottom_wrapper_single a {
      float: right;
      text-decoration: none;
      color: #4A4A4A;
      text-transform: initial; }

.footer_lower_newsletter_signup .validation_error {
  display: none; }

.moduleWrapper .fullImageSlider {
  position: relative; }
  .moduleWrapper .fullImageSlider:after {
    content: '';
    position: absolute;
    height: 100%;
    width: 100%;
    top: 0;
    left: 0;
    /* Permalink - use to edit and share this gradient: http://colorzilla.com/gradient-editor/#000000+0,000000+16,000000+84,000000+100&0.7+0,0+16,0+84,0.7+100 */
    /* Permalink - use to edit and share this gradient: http://colorzilla.com/gradient-editor/#000000+0,000000+100&0.4+0,0+15,0+85,0.4+100 */
    /* FF3.6-15 */
    background: -webkit-linear-gradient(left, rgba(0, 0, 0, 0.4) 0%, transparent 15%, transparent 85%, rgba(0, 0, 0, 0.4) 100%);
    /* Chrome10-25,Safari5.1-6 */
    background: linear-gradient(to right, rgba(0, 0, 0, 0.4) 0%, transparent 15%, transparent 85%, rgba(0, 0, 0, 0.4) 100%);
    /* W3C, IE10+, FF16+, Chrome26+, Opera12+, Safari7+ */
    filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#66000000', endColorstr='#66000000',GradientType=1 );
    /* IE6-9 */ }
  .moduleWrapper .fullImageSlider .slick-dotted.slick-slider {
    margin-bottom: 0; }
  .moduleWrapper .fullImageSlider_single {
    /* Arrows */ }
    .moduleWrapper .fullImageSlider_single .slick-prev,
    .moduleWrapper .fullImageSlider_single .slick-next {
      z-index: 1; }
    .moduleWrapper .fullImageSlider_single .slick-prev {
      left: 15px;
      -webkit-transform: translate(0, -50%) rotate(90deg);
      -ms-transform: translate(0, -50%) rotate(90deg);
      transform: translate(0, -50%) rotate(90deg);
      width: 40px;
      height: 40px; }
      .moduleWrapper .fullImageSlider_single .slick-prev:before {
        font-size: 40px;
        content: "g";
        font-family: "Icons", sans-serif;
        font-style: normal;
        font-variant: normal;
        font-weight: normal;
        line-height: 1;
        speak: none;
        text-transform: none;
        -webkit-font-smoothing: antialiased;
        -moz-osx-font-smoothing: grayscale;
        opacity: 1;
        text-shadow: 0px 0px 12px rgba(0, 0, 0, 0.6); }
    .moduleWrapper .fullImageSlider_single .slick-next {
      right: 15px;
      -webkit-transform: translate(0, -50%) rotate(-90deg);
      -ms-transform: translate(0, -50%) rotate(-90deg);
      transform: translate(0, -50%) rotate(-90deg);
      width: 40px;
      height: 40px; }
      .moduleWrapper .fullImageSlider_single .slick-next:before {
        font-size: 40px;
        content: "g";
        font-family: "Icons", sans-serif;
        font-style: normal;
        font-variant: normal;
        font-weight: normal;
        line-height: 1;
        speak: none;
        text-transform: none;
        -webkit-font-smoothing: antialiased;
        -moz-osx-font-smoothing: grayscale;
        opacity: 1;
        text-shadow: 0px 0px 12px rgba(0, 0, 0, 0.6); }
    .moduleWrapper .fullImageSlider_single .slick-dots {
      display: none !important; }
    .moduleWrapper .fullImageSlider_single_item {
      position: relative; }
      .moduleWrapper .fullImageSlider_single_item_image {
        background-position: center;
        background-repeat: no-repeat;
        background-size: cover; }
        .moduleWrapper .fullImageSlider_single_item_image img {
          width: 100%; }

.heroSlider .slick-dotted.slick-slider {
  margin-bottom: 0; }

.heroSlider_single {
  /* Arrows */ }
  .heroSlider_single .slick-prev,
  .heroSlider_single .slick-next {
    z-index: 1; }
  .heroSlider_single .slick-prev {
    left: 15px;
    -webkit-transform: translate(0, -50%) rotate(90deg);
    -ms-transform: translate(0, -50%) rotate(90deg);
    transform: translate(0, -50%) rotate(90deg);
    width: 40px;
    height: 40px; }
    .heroSlider_single .slick-prev:before {
      font-size: 40px;
      content: "g";
      font-family: "Icons", sans-serif;
      font-style: normal;
      font-variant: normal;
      font-weight: normal;
      line-height: 1;
      speak: none;
      text-transform: none;
      -webkit-font-smoothing: antialiased;
      -moz-osx-font-smoothing: grayscale; }
  .heroSlider_single .slick-next {
    right: 15px;
    -webkit-transform: translate(0, -50%) rotate(-90deg);
    -ms-transform: translate(0, -50%) rotate(-90deg);
    transform: translate(0, -50%) rotate(-90deg);
    width: 40px;
    height: 40px; }
    .heroSlider_single .slick-next:before {
      font-size: 40px;
      content: "g";
      font-family: "Icons", sans-serif;
      font-style: normal;
      font-variant: normal;
      font-weight: normal;
      line-height: 1;
      speak: none;
      text-transform: none;
      -webkit-font-smoothing: antialiased;
      -moz-osx-font-smoothing: grayscale; }
  .heroSlider_single .slick-dots {
    display: none !important; }

.hero {
  padding: 40px 10px;
  padding-top: 140px;
  position: relative; }
  .hero_background {
    bottom: 0;
    left: 0;
    position: absolute;
    right: 0;
    top: 0;
    background-position: center;
    background-repeat: no-repeat;
    background-size: cover; }
    .hero_background:after {
      bottom: 0;
      left: 0;
      position: absolute;
      right: 0;
      top: 0;
      content: '';
      opacity: 0.3; }
    .hero_background_video {
      display: none; }
  .hero_wrapper {
    margin: auto;
    max-width: 1200px;
    position: relative;
    text-shadow: 0px 0px 8px rgba(0, 0, 0, 0.7);
    text-align: center; }
    .hero_wrapper_links {
      text-align: center; }
      .hero_wrapper_links .button {
        margin: 0 20px 10px 0; }
        .hero_wrapper_links .button:last-child {
          margin-bottom: 0; }

.hero_background:after {
  background: #4A4A4A;
  opacity: 0.6; }

.hero_wrapper * {
  color: #ffffff; }

.heroSlider_single .slick-arrow:before {
  color: #ffffff; }

.heroSlider .slick-dots li button:before {
  color: #ffffff; }

.heroSlider .slick-dots li.slick-active button:before {
  color: #ffffff; }

.home .hero_background, .home .hero {
  height: 95vh;
  overflow: hidden; }

.home .hero .hero_wrapper {
  position: absolute;
  top: 50%;
  left: 50%;
  width: 100%;
  -webkit-transform: translate(-50%, -50%);
      -ms-transform: translate(-50%, -50%);
          transform: translate(-50%, -50%); }

.moduleWrapper .image {
  max-width: none;
  width: 100%; }

.moduleWrapper .imageAlternator_wrapper {
  margin: 50px auto 50px auto;
  position: relative;
  overflow: hidden;
  width: 85%; }
  .moduleWrapper .imageAlternator_wrapper::after {
    clear: both;
    content: "";
    display: block; }
  .moduleWrapper .imageAlternator_wrapper_background {
    position: absolute;
    top: 0;
    bottom: 0;
    width: 50%;
    background-position: center;
    background-repeat: no-repeat;
    background-size: cover; }
  .moduleWrapper .imageAlternator_wrapper_content {
    padding-bottom: 60px;
    padding-top: 60px;
    width: 50%;
    position: relative; }
    .moduleWrapper .imageAlternator_wrapper_content_subtitle {
      text-transform: none;
      letter-spacing: 0.05em;
      font-size: 16.25px;
      line-height: 26.25px;
      font-style: italic; }
    .moduleWrapper .imageAlternator_wrapper_content_background {
      z-index: -2;
      bottom: 0;
      left: 0;
      position: absolute;
      right: 0;
      top: 0;
      background-position: center;
      background-repeat: no-repeat;
      background-size: cover;
      -webkit-transform: scaleX(-1);
      -ms-transform: scaleX(-1);
      transform: scaleX(-1);
      -webkit-filter: blur(12px);
      filter: blur(12px); }
    .moduleWrapper .imageAlternator_wrapper_content_background_behind {
      z-index: -3;
      bottom: 0;
      left: 0;
      position: absolute;
      right: 0;
      top: 0;
      background-position: center;
      background-repeat: no-repeat;
      background-size: cover;
      -webkit-transform: scaleX(-1);
      -ms-transform: scaleX(-1);
      transform: scaleX(-1); }

.moduleWrapper .imageAlternator h3 {
  color: #E96A2A;
  font-weight: 700; }

.imageAlternator-odd .imageAlternator_wrapper_background {
  left: 0;
  width: 49%; }

.imageAlternator-odd .imageAlternator_wrapper_content {
  float: right;
  width: 49%;
  border: 15px solid #F7F7F7;
  background: #ffffff; }
  .imageAlternator-odd .imageAlternator_wrapper_content:after {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    z-index: -1;
    background-color: #D8D8D8;
    opacity: 0.3; }
  .imageAlternator-odd .imageAlternator_wrapper_content_background:after {
    bottom: 0;
    left: 0;
    position: absolute;
    right: 0;
    top: 0;
    content: ' ';
    opacity: 0.8; }
  .imageAlternator-odd .imageAlternator_wrapper_content_background_behind:after {
    bottom: 0;
    left: 0;
    position: absolute;
    right: 0;
    top: 0;
    content: ' ';
    opacity: 0.8; }
  .imageAlternator-odd .imageAlternator_wrapper_content_block {
    margin-left: 20px;
    padding-right: 20px;
    float: left;
    max-width: 650px; }

.imageAlternator-even .imageAlternator_wrapper_background {
  right: 0;
  width: 49%; }

.imageAlternator-even .imageAlternator_wrapper_content {
  float: left;
  width: 49%;
  border: 15px solid #F7F7F7;
  background: #ffffff; }
  .imageAlternator-even .imageAlternator_wrapper_content_background:after {
    bottom: 0;
    left: 0;
    position: absolute;
    right: 0;
    top: 0;
    content: ' ';
    opacity: 0.8; }
  .imageAlternator-even .imageAlternator_wrapper_content_background_behind:after {
    bottom: 0;
    left: 0;
    position: absolute;
    right: 0;
    top: 0;
    content: ' ';
    background: #63ace2;
    opacity: 0.8; }
  .imageAlternator-even .imageAlternator_wrapper_content_block {
    margin-right: 20px;
    padding-left: 20px;
    float: right;
    max-width: 650px; }

/* Image grid */
.imageGrid_single-link .imageGrid_single_content:after {
  background: #000;
  opacity: 0.35; }

.imageGrid_single_content_title, .imageGrid_single_content_more {
  color: #ffffff; }

.moduleWrapper .imageGrid {
  margin: 0 auto; }
  .moduleWrapper .imageGrid::after {
    clear: both;
    content: "";
    display: block; }
  .moduleWrapper .imageGrid_single {
    width: 25%;
    float: left;
    height: 25vw;
    overflow: hidden;
    position: relative; }
    .moduleWrapper .imageGrid_single::after {
      clear: both;
      content: "";
      display: block; }
    .moduleWrapper .imageGrid_single_imageWrap {
      bottom: 0;
      left: 0;
      position: absolute;
      right: 0;
      top: 0;
      background-position: center;
      background-repeat: no-repeat;
      background-size: cover; }
    .moduleWrapper .imageGrid_single_content {
      bottom: 0;
      left: 0;
      position: absolute;
      right: 0;
      top: 0; }
      .moduleWrapper .imageGrid_single_content:after {
        -webkit-transition: all, 0.25s;
        transition: all, 0.25s;
        bottom: 0;
        left: 0;
        position: absolute;
        right: 0;
        top: 0;
        background-position: center;
        background-repeat: no-repeat;
        background-size: cover;
        content: " ";
        opacity: 0.3; }
      .moduleWrapper .imageGrid_single_content h4, .moduleWrapper .imageGrid_single_content h6 {
        z-index: 2;
        position: absolute;
        margin-bottom: 0px;
        left: 20px;
        right: 20px;
        bottom: 40px; }
      .moduleWrapper .imageGrid_single_content h4 {
        -webkit-transition: bottom 0.3s;
        transition: bottom 0.3s; }
      .moduleWrapper .imageGrid_single_content h6 {
        bottom: 0;
        opacity: 0;
        -webkit-transition: all 0.3s;
        transition: all 0.3s; }
        .moduleWrapper .imageGrid_single_content h6:after {
          content: "i";
          font-family: "Icons", sans-serif;
          font-style: normal;
          font-variant: normal;
          font-weight: normal;
          line-height: 1;
          speak: none;
          text-transform: none;
          -webkit-font-smoothing: antialiased;
          -moz-osx-font-smoothing: grayscale;
          position: relative;
          top: 2px;
          left: 6px;
          font-weight: bold; }
      .moduleWrapper .imageGrid_single_content:hover h4 {
        bottom: 70px; }
      .moduleWrapper .imageGrid_single_content:hover h6 {
        opacity: 1;
        bottom: 30px; }
    .moduleWrapper .imageGrid_single-link .imageGrid_single_imageWrap {
      -webkit-transition-duration: 0.3s;
      transition-duration: 0.3s;
      -webkit-transition-property: -webkit-transform;
      transition-property: -webkit-transform;
      transition-property: transform;
      transition-property: transform, -webkit-transform; }
    .moduleWrapper .imageGrid_single-link:hover .imageGrid_single_imageWrap {
      -webkit-transform: scale(1.1);
      -ms-transform: scale(1.1);
      transform: scale(1.1); }

.blog, .archive .main {
  position: relative; }
  .blog .hero, .archive .main .hero {
    padding-top: 200px;
    padding-bottom: 50px;
    min-height: 450px; }
  .blog .news_block, .archive .main .news_block {
    z-index: 0;
    overflow: hidden;
    display: -webkit-box;
    display: -moz-box;
    display: box;
    display: -webkit-flex;
    display: -moz-flex;
    display: -ms-flexbox;
    display: flex; }
    .blog .news_block::after, .archive .main .news_block::after {
      clear: both;
      content: "";
      display: block; }
    .blog .news_block_content, .archive .main .news_block_content {
      padding: 30px 0 0 0;
      float: left;
      display: inline-block;
      width: 68%;
      position: relative; }
      .blog .news_block_content .news_content, .archive .main .news_block_content .news_content {
        padding: 30px 0;
        padding-left: 100px;
        padding-right: 60px; }
        .blog .news_block_content .news_content::after, .archive .main .news_block_content .news_content::after {
          clear: both;
          content: "";
          display: block; }
        .blog .news_block_content .news_content .img_container, .archive .main .news_block_content .news_content .img_container {
          float: left;
          clear: left;
          display: inline-block;
          width: 320px;
          height: 240px;
          background-position: center;
          background-repeat: no-repeat;
          background-size: cover; }
        .blog .news_block_content .news_content .text_container, .archive .main .news_block_content .news_content .text_container {
          float: left;
          width: calc(100% - 320px);
          padding-left: 40px; }
        .blog .news_block_content .news_content time, .archive .main .news_block_content .news_content time {
          color: #F18E02;
          font-size: 20px; }
        .blog .news_block_content .news_content h5 a, .archive .main .news_block_content .news_content h5 a {
          text-decoration: none;
          color: #4A4A4A;
          font-weight: 700; }
      .blog .news_block_content-noSidebar, .archive .main .news_block_content-noSidebar {
        width: 100%; }
        .blog .news_block_content-noSidebar .news_content, .archive .main .news_block_content-noSidebar .news_content {
          padding-right: 100px; }
    .blog .news_block_sidebar, .archive .main .news_block_sidebar {
      overflow: hidden;
      float: right;
      padding-right: 100px;
      display: inline-block;
      width: 32%;
      background: #F7F7F7; }
      .blog .news_block_sidebar aside, .archive .main .news_block_sidebar aside {
        padding: 60px 0 0 60px; }
        .blog .news_block_sidebar aside h5, .archive .main .news_block_sidebar aside h5 {
          position: relative;
          margin-bottom: 15px;
          font-size: 24px;
          color: #4A4A4A;
          text-transform: uppercase;
          letter-spacing: initial; }
        .blog .news_block_sidebar aside ul, .archive .main .news_block_sidebar aside ul {
          margin-bottom: 45px;
          list-style: none; }
          .blog .news_block_sidebar aside ul li, .archive .main .news_block_sidebar aside ul li {
            margin-bottom: 10px; }
        .blog .news_block_sidebar aside a, .archive .main .news_block_sidebar aside a {
          text-decoration: none; }

.moduleWrapper .latestNews {
  width: 100%;
  position: relative;
  margin: 45px auto 0;
  background: #ffffff;
  /* Old browsers */
  background: -webkit-linear-gradient(top, #ffffff 0%, #e1dede 100%);
  background: linear-gradient(to bottom, #ffffff 0%, #e1dede 100%);
  /* W3C, IE10+, FF16+, Chrome26+, Opera12+, Safari7+ */ }
  .moduleWrapper .latestNews h2 {
    text-align: center;
    color: #4A4A4A;
    letter-spacing: initial;
    width: 95%;
    padding: 0 1%;
    margin: 0 auto;
    border-bottom: 1px solid #979797;
    text-transform: uppercase; }
  .moduleWrapper .latestNews_list_item {
    -webkit-transform-origin: center center;
        -ms-transform-origin: center center;
            transform-origin: center center;
    -webkit-transform: scale(1);
        -ms-transform: scale(1);
            transform: scale(1);
    -webkit-transition: all 0.5s;
    transition: all 0.5s; }
    .moduleWrapper .latestNews_list_item:hover {
      z-index: 100; }
  .moduleWrapper .latestNews_hero {
    display: -webkit-box;
    display: -moz-box;
    display: box;
    display: -webkit-flex;
    display: -moz-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-flex-flow: row wrap;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-flow: row wrap;
            flex-flow: row wrap;
    -webkit-box-pack: center;
    box-pack: center;
    -webkit-justify-content: center;
    -moz-justify-content: center;
    -ms-justify-content: center;
    -o-justify-content: center;
    justify-content: center;
    -ms-flex-pack: center;
    margin: 0 auto;
    max-width: 1200px;
    width: 100%;
    padding: 20px 0; }
  .moduleWrapper .latestNews_list {
    width: 100%;
    margin: 50px auto;
    display: -webkit-inline-box;
    display: -webkit-inline-flex;
    display: -ms-inline-flexbox;
    display: inline-flex;
    padding: 0 30px; }
    .moduleWrapper .latestNews_list_item {
      position: relative;
      margin: 0 auto;
      width: 30%;
      float: left;
      margin: 0 auto;
      padding: 0; }
      .moduleWrapper .latestNews_list_item_link {
        position: relative;
        display: block;
        text-decoration: none; }
        .moduleWrapper .latestNews_list_item_link_content {
          position: relative;
          height: auto; }
          .moduleWrapper .latestNews_list_item_link_content_wrapper {
            position: relative;
            padding: 25px; }
            .moduleWrapper .latestNews_list_item_link_content_wrapper h3 {
              color: #5C5C5C; }

/*
.moduleWrapper .latestNews{
    padding: 30px 100px 60px 100px;
    background-color:$secondary;
    @include clearfix;
    width: 100%;
    position: relative;

    &_hero {
        @include display( flex );
        @include flex-flow( row wrap );
        @include justify-content( center );
        margin: 0 auto;
        max-width: 1200px;
        width: 100%;
      }

      &_list {
          width: 25%;
          &_item{
            margin: 0 0px 25px 0;
            position: relative;
            &_link{
              display: inline-block;
              /*
              &:after {
                  @include transition( opacity 0.3s );
                  background-color: $red;
                  content: '';
                  height: 100%;
                  left: 0;
                  opacity: 0;
                  position: absolute;
                  top: 0;
                  width: 100%;
              }
*/
/*
              &:hover {
                  &:after {
                      opacity: 0.6;
                  }
              }
              &_image{
                @include absolute-size;
              }
              &_content{
                position: relative;
                width: 100%;
                height: 100%;
                display: inline-table;
                  &_wraper{
                    text-decoration: none;
                }
              }
            }
          }
        }
}
*/
/*
.moduleWrapper .latestNews {
    @include clearfix;
    width: 100%;
    position: relative;
    @include display( flex );
    @include flex-flow( row wrap );
    -ms-flex-flow: row wrap;
    &_hero {
        padding: 90px 5.5% 80px 100px;
        width: 100%;
        float: left;
        clear:right;
        position: relative;
        &:before {
            content: '';
            @include absolute-size;
            opacity: 0.9;
        }
        &_inner{
            position: relative;
            &_subtitle {
                border-top: 1px solid;
                padding-top: 10px;
                @include font (25, 50, none);
                font-style: italic;
                margin-bottom: 15px;
            }
        }
    }
    &_list {
        width: 100%;
        float:left;
        &_item {
            position: relative;
            padding: 55px 100px 70px 8.4%;
            &_link {
                @include absolute-size;
                @include background-cover;
                position: static;
                text-decoration: none;
                &_image {
                    @include absolute-size;
                    @include background-cover;
                    &:after {
                        content: '';
                        @include absolute-size;
                        opacity: 0.85;
                        @include transition(opacity 0.2s);
                    }
                }
                &_content {
                    position: relative;
                    width: 100%;
                    height: 100%;
                    display: table;

                    &_wrapper {
                        position: relative;
                        display: table-cell;
                        vertical-align: middle;

                        &_excerpt {
                            margin-bottom: 0;
                        }
                    }
                }
            }

            &:last-of-type {
                .latestNews_list_item_link_image:after {
                    opacity: 0.6;
                    @include transition(opacity 0.2s);
                }
                .latestNews_list_item_content_wrapper {
                    @include text-shadow0;
                }
            }

            &:hover {
                .latestNews_list_item_link_image {
                    &:after {
                        opacity: 0.95;
                    }
                }

                &:last-of-type {
                    .latestNews_list_item_link_image {
                        &:after {
                            opacity: 0.70;
                        }
                    }
                }
            }
        }
    }
    @include media($desktop-1400) {
        &_hero {
            width: calc((100% - 1200px)/2 + 414px);
            padding: 90px 77px 80px calc((100% - 1200px)/2);
        }
        &_list {
            width: calc((100% - 1200px)/2 + 786px);
            &_item {
                padding: 55px calc((100vw - 1200px)/2) 70px 77px;
            }
        }
    }

    @include media($desktop) {
        &_hero {
            &_inner {
                &_link {
                    margin-top: 20px;
                }
            }
        }

        &_list {
            position: relative;

            &_item {
                height: 50%;
                position: absolute;
                width: 100%;

                &:nth-child(2) {
                    top: 50%;
                }
            }
        }
    }
    @include media($portables) {
        &_hero {
            width: 100%;
            padding: 30px 20px;
        }
        &_list {
            width: 100%;
            &_item {
                padding: 30px 20px;
            }
        }
    }
    @include media($mobile-only) {
        &_hero {
            padding: 20px 10px;
        }
        &_list {
            &_item {
                padding: 20px 10px;
            }
        }
    }
}
*/
.moduleWrapper .newsletter {
  padding: 15px;
  position: relative; }
  .moduleWrapper .newsletter_background {
    bottom: 0;
    left: 0;
    position: absolute;
    right: 0;
    top: 0;
    background-position: center;
    background-repeat: no-repeat;
    background-size: cover;
    z-index: 1; }
    .moduleWrapper .newsletter_background-primary:after {
      background-color: #F18E02; }
    .moduleWrapper .newsletter_background-secondary:after {
      background-color: #4A4A4A; }
    .moduleWrapper .newsletter_background:after {
      bottom: 0;
      left: 0;
      position: absolute;
      right: 0;
      top: 0;
      content: '';
      opacity: 0.8; }
  .moduleWrapper .newsletter_wrapper {
    margin: auto;
    max-width: 1000px;
    position: relative;
    z-index: 2; }
    .moduleWrapper .newsletter_wrapper .gfield_label {
      text-transform: uppercase;
      letter-spacing: 0.15em;
      font-size: 14.95px;
      line-height: 24.95px;
      font-style: normal; }
    .moduleWrapper .newsletter_wrapper .primary-submit span {
      background-color: rgba(241, 142, 2, 0.2); }

/* Newsletter */
.newsletter * {
  color: #ffffff; }

.newsletter .gfield_label {
  font-weight: 700; }

.newsletter .button {
  background-color: #ffffff;
  border-color: transparent;
  color: #F18E02; }

.newsletter .button:hover {
  background-color: #F7F7F7; }

.newsletter .ginput_container input, .newsletter .ginput_container input:active,
.newsletter .ginput_container input:focus {
  border-color: #ffffff;
  color: #ffffff; }

.pagination {
  width: 100%; }
  .pagination_list {
    margin: 30px auto;
    text-align: center;
    width: 100%; }
    .pagination_list::after {
      clear: both;
      content: "";
      display: block; }
    .pagination_list_single {
      display: inline-block;
      width: 33.3%;
      float: left;
      min-height: 1px; }
      .pagination_list_single a {
        text-decoration: none;
        font-style: normal; }
      .pagination_list_single_current, .pagination_list_single_dots, .pagination_list_single_page {
        margin: 0 2px;
        position: relative; }
      .pagination_list_single_current:before {
        border-radius: 50%;
        content: '';
        position: absolute;
        z-index: -1; }
      .pagination_list_single-prev {
        text-align: left; }
      .pagination_list_single-pages {
        text-align: center; }
      .pagination_list_single-next {
        text-align: right; }

.pagination_list_single-prev a,
.pagination_list_single-next a {
  font-size: 20px;
  font-weight: 600;
  text-transform: uppercase; }

.pagination_list .pagination_list_single .pagination_list_single_page {
  display: inline-block;
  width: 24px;
  height: 24px;
  text-align: center;
  line-height: 24px;
  font-size: 18px;
  color: #F18E02;
  font-weight: 600; }

.pagination_list .pagination_list_single .pagination_list_single_current {
  display: inline-block;
  width: 24px;
  height: 24px;
  text-align: center;
  line-height: 24px;
  font-size: 18px;
  color: #ffffff;
  font-weight: 600; }
  .pagination_list .pagination_list_single .pagination_list_single_current:before {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    border-radius: 50%;
    background: #F18E02; }

.moduleWrapper .offsetTextFullImage-primary:after {
  background: rgba(241, 142, 2, 0.65); }

.moduleWrapper .offsetTextFullImage-secondary:after {
  background: rgba(74, 74, 74, 0.65); }

.moduleWrapper .offsetTextFullImage {
  position: relative; }
  .moduleWrapper .offsetTextFullImage:after {
    content: '';
    position: absolute;
    height: calc(100% - 100px);
    width: 100%;
    top: 100px;
    left: 0; }
  .moduleWrapper .offsetTextFullImage_single_item {
    position: relative; }
    .moduleWrapper .offsetTextFullImage_single_item:after {
      content: " ";
      display: block;
      clear: both;
      padding-bottom: 8%; }
    .moduleWrapper .offsetTextFullImage_single_item_image {
      bottom: 0;
      left: 0;
      position: absolute;
      right: 0;
      top: 0;
      background-position: center;
      background-repeat: no-repeat;
      background-size: cover;
      top: 100px; }
      .moduleWrapper .offsetTextFullImage_single_item_image img {
        width: 100%; }
    .moduleWrapper .offsetTextFullImage_single_item_container {
      max-width: 85%;
      margin: 0 auto; }
      .moduleWrapper .offsetTextFullImage_single_item_container:after {
        content: '';
        display: block;
        clear: both; }
    .moduleWrapper .offsetTextFullImage_single_item_content {
      float: right;
      position: relative;
      z-index: 10;
      max-width: 750px;
      border: 15px solid #F7F7F7;
      background: #F18E02; }
      .moduleWrapper .offsetTextFullImage_single_item_content h3, .moduleWrapper .offsetTextFullImage_single_item_content p {
        color: #ffffff; }

.pictureBackground {
  display: none; }

.single-post .main .hero {
  padding-top: 200px;
  padding-bottom: 50px;
  min-height: 450px; }
  .single-post .main .hero_wrapper_meta dd {
    display: inline-block; }
  .single-post .main .hero_wrapper_meta span {
    margin: 0 10px; }
    .single-post .main .hero_wrapper_meta span:last-of-type {
      display: none; }

.single-post .main .news_block::after {
  clear: both;
  content: "";
  display: block; }

.single-post .main .news_block .single_news_wrapper {
  margin: auto;
  width: 100%;
  float: left; }
  .single-post .main .news_block .single_news_wrapper .single_news_relatedcontent {
    text-align: center;
    text-transform: uppercase;
    width: 100%; }
    .single-post .main .news_block .single_news_wrapper .single_news_relatedcontent_wrapper {
      width: 50%;
      float: left;
      padding: 0 1%;
      margin: 0 auto;
      position: relative; }
    .single-post .main .news_block .single_news_wrapper .single_news_relatedcontent_links {
      text-align: left; }
    .single-post .main .news_block .single_news_wrapper .single_news_relatedcontent_text {
      margin-bottom: 0; }
  .single-post .main .news_block .single_news_wrapper .alignleft, .single-post .main .news_block .single_news_wrapper .alignright {
    padding: 10px 0; }
  .single-post .main .news_block .single_news_wrapper .aligncenter {
    margin: 30px auto; }
  .single-post .main .news_block .single_news_wrapper .alignnone {
    margin: 30px auto;
    width: 80%; }
  .single-post .main .news_block .single_news_wrapper .single_news_content .single_new_author {
    border-bottom: 4px solid #F18E02;
    margin-bottom: 34px; }
    .single-post .main .news_block .single_news_wrapper .single_news_content .single_new_author:after {
      content: '';
      display: block;
      clear: both; }
    .single-post .main .news_block .single_news_wrapper .single_news_content .single_new_author p:nth-child(1) {
      float: left;
      padding-left: 45px; }
      .single-post .main .news_block .single_news_wrapper .single_news_content .single_new_author p:nth-child(1):before {
        left: 0;
        background: url("img/icon-person.svg") no-repeat center center;
        background-size: 85% 85%;
        padding-left: 50px; }
    .single-post .main .news_block .single_news_wrapper .single_news_content .single_new_author p:nth-child(2) {
      float: right;
      padding-right: 45px; }
      .single-post .main .news_block .single_news_wrapper .single_news_content .single_new_author p:nth-child(2):before {
        right: 0;
        background: url("img/icon-calendar.svg") no-repeat center center;
        background-size: 85% 85%;
        padding-right: 50px; }
    .single-post .main .news_block .single_news_wrapper .single_news_content .single_new_author p {
      position: relative;
      margin: 0;
      font-size: 16px;
      color: #9B9B9B; }
      .single-post .main .news_block .single_news_wrapper .single_news_content .single_new_author p:before {
        content: '';
        display: block;
        position: absolute;
        top: 0;
        width: 25px;
        height: 25px; }
  .single-post .main .news_block .single_news_wrapper .single_news_content li {
    padding-left: 20px;
    list-style-type: none;
    position: relative;
    margin-bottom: 10px; }
    .single-post .main .news_block .single_news_wrapper .single_news_content li:before {
      content: '';
      background-color: #C40000;
      border-radius: 50%;
      width: 7px;
      height: 7px;
      position: absolute;
      top: 8px;
      left: 0px; }
  .single-post .main .news_block .single_news_wrapper .single_news_content hr {
    height: 3px;
    margin: 30px 0;
    background: #C40000;
    border: none; }

.single-post .main .news_block .navigator {
  border-top: 2px solid #C40000;
  margin-top: 60px;
  padding-top: 10px;
  clear: both; }
  .single-post .main .news_block .navigator li {
    list-style-type: none;
    padding-left: 0px !important;
    text-transform: uppercase;
    font-size: 87%; }
    .single-post .main .news_block .navigator li:before {
      display: none; }
  .single-post .main .news_block .navigator .navigator_list_single-prev {
    padding-left: 20px !important;
    position: relative; }
    .single-post .main .news_block .navigator .navigator_list_single-prev a:after {
      content: "i";
      font-family: "Icons", sans-serif;
      font-style: normal;
      font-variant: normal;
      font-weight: normal;
      line-height: 1;
      speak: none;
      text-transform: none;
      -webkit-font-smoothing: antialiased;
      -moz-osx-font-smoothing: grayscale;
      position: absolute;
      top: 30px;
      left: 0;
      font-weight: bold;
      -ms-transform: rotate(180deg);
      -webkit-transform: rotate(180deg);
      transform: rotate(180deg); }
  .single-post .main .news_block .navigator .navigator_list_single-next {
    padding-right: 20px !important;
    position: relative; }
    .single-post .main .news_block .navigator .navigator_list_single-next a:after {
      content: "i";
      font-family: "Icons", sans-serif;
      font-style: normal;
      font-variant: normal;
      font-weight: normal;
      line-height: 1;
      speak: none;
      text-transform: none;
      -webkit-font-smoothing: antialiased;
      -moz-osx-font-smoothing: grayscale;
      position: absolute;
      top: 30px;
      right: 0;
      font-weight: bold; }
  .single-post .main .news_block .navigator_list {
    margin-bottom: 0; }
    .single-post .main .news_block .navigator_list::after {
      clear: both;
      content: "";
      display: block; }
    .single-post .main .news_block .navigator_list_single {
      display: inline-block;
      padding-top: 20px; }
      .single-post .main .news_block .navigator_list_single a {
        text-decoration: none;
        font-style: normal; }
      .single-post .main .news_block .navigator_list_single-prev {
        float: left;
        width: 33.3%; }
      .single-post .main .news_block .navigator_list_single-index {
        float: left;
        width: 33.4%;
        text-align: center; }
      .single-post .main .news_block .navigator_list_single-next {
        float: left;
        text-align: right;
        width: 33.3%; }

.single-post .main .news_block .sidebar {
  width: 100%;
  float: left;
  overflow: hidden;
  z-index: 2;
  background: #F7F7F7; }
  .single-post .main .news_block .sidebar aside {
    padding: 60px 0 0 50px; }
    .single-post .main .news_block .sidebar aside h5 {
      position: relative;
      margin-bottom: 15px;
      font-size: 24px;
      color: #4A4A4A;
      text-transform: uppercase;
      letter-spacing: initial; }
    .single-post .main .news_block .sidebar aside ul {
      margin-bottom: 45px;
      list-style: none; }
      .single-post .main .news_block .sidebar aside ul li {
        margin-bottom: 10px; }
    .single-post .main .news_block .sidebar aside a {
      text-decoration: none; }

.single_news_related_content {
  display: block; }
  .single_news_related_content .single_news_related_title {
    text-align: center; }
    .single_news_related_content .single_news_related_title h4 {
      color: #4A4A4A;
      text-transform: uppercase;
      font-weight: 600; }
  .single_news_related_content .single_news_related_content_wrapper {
    padding: 0 10px;
    padding-bottom: 10px;
    position: relative;
    overflow: hidden;
    width: 85%; }
    .single_news_related_content .single_news_related_content_wrapper::after {
      clear: both;
      content: "";
      display: block; }
    .single_news_related_content .single_news_related_content_wrapper_background {
      min-height: 200px;
      width: 100%;
      background-position: center;
      background-repeat: no-repeat;
      background-size: cover; }
    .single_news_related_content .single_news_related_content_wrapper p {
      color: #F18E02;
      margin: 0;
      font-weight: 400; }
    .single_news_related_content .single_news_related_content_wrapper a {
      font-size: 24px;
      font-weight: 700;
      color: #4A4A4A;
      text-transform: uppercase;
      text-decoration: none; }

/* Quote */
.quote-primary {
  background: #F18E02; }

.quote-secondary {
  background: #4A4A4A; }

.quote * {
  color: #ffffff; }

.moduleWrapper .quote {
  position: relative; }
  .moduleWrapper .quote::after {
    clear: both;
    content: "";
    display: block; }
  .moduleWrapper .quote_container {
    max-width: 1400px;
    margin: auto; }
    .moduleWrapper .quote_container::after {
      clear: both;
      content: "";
      display: block; }
    .moduleWrapper .quote_container_wrapper {
      text-align: center;
      margin: 0 auto;
      padding: 60px 60px 25px 60px;
      position: relative; }
      .moduleWrapper .quote_container_wrapper::after {
        clear: both;
        content: "";
        display: block; }
      .moduleWrapper .quote_container_wrapper_text {
        quotes: "“" "”"; }
        .moduleWrapper .quote_container_wrapper_text:before {
          content: open-quote; }
        .moduleWrapper .quote_container_wrapper_text:after {
          content: close-quote; }
      .moduleWrapper .quote_container_wrapper_attribution {
        text-align: center;
        margin: 0 auto;
        font-style: normal; }
        .moduleWrapper .quote_container_wrapper_attribution img {
          width: 75px;
          height: 75px;
          border-radius: 50%;
          vertical-align: middle;
          display: inline-block;
          margin-right: 10px; }

.moduleWrapper .title .title_wrapper {
  margin: 0 auto;
  padding: 60px 100px 30px 100px;
  max-width: 1400;
  text-align: center; }
  .moduleWrapper .title .title_wrapper_text {
    margin-bottom: 0; }

.home .hero + .moduleWrapper-title {
  margin: 0 auto;
  margin-top: -100px;
  position: relative;
  overflow: hidden;
  width: 85%;
  background: #ffffff;
  box-shadow: 0px 0px 7px rgba(0, 0, 0, 0.32); }

.home .hero + .moduleWrapper-title .title_wrapper {
  padding: 30px 110px; }

.moduleWrapper .twoImageTextBox {
  position: relative; }
  .moduleWrapper .twoImageTextBox_single_item {
    position: relative;
    display: block;
    padding: 20px; }
    .moduleWrapper .twoImageTextBox_single_item:after {
      content: " ";
      display: none;
      padding-bottom: 48%; }
    .moduleWrapper .twoImageTextBox_single_item_image {
      display: none;
      margin: 0;
      width: 50%;
      min-height: 880px;
      background-size: cover; }
      .moduleWrapper .twoImageTextBox_single_item_image img {
        width: 100%; }
    .moduleWrapper .twoImageTextBox_single_item_content {
      width: 100%;
      margin-left: 0;
      padding-bottom: 20px;
      border-bottom: 20px solid #F18E02; }
      .moduleWrapper .twoImageTextBox_single_item_content > img {
        width: 100%; }
      .moduleWrapper .twoImageTextBox_single_item_content h3 {
        margin: 25px 0;
        color: #F18E02; }
      .moduleWrapper .twoImageTextBox_single_item_content p {
        max-width: 600px;
        padding-right: 10px; }
      .moduleWrapper .twoImageTextBox_single_item_content .button {
        margin: 20px 0; }

/* Video */
.videoModule_background-primary:after {
  background: #F18E02; }

.videoModule_background-secondary:after {
  background: #4A4A4A; }

.videoModule_wrapper_content * {
  color: #ffffff;
  text-transform: initial; }

.moduleWrapper .videoModule {
  position: relative;
  width: 100%;
  display: -webkit-box;
  display: -moz-box;
  display: box;
  display: -webkit-flex;
  display: -moz-flex;
  display: -ms-flexbox;
  display: flex; }
  .moduleWrapper .videoModule::after {
    clear: both;
    content: "";
    display: block; }
  .moduleWrapper .videoModule_background {
    bottom: 0;
    left: 0;
    position: absolute;
    right: 0;
    top: 0;
    background-position: center;
    background-repeat: no-repeat;
    background-size: cover; }
    .moduleWrapper .videoModule_background:after {
      bottom: 0;
      left: 0;
      position: absolute;
      right: 0;
      top: 0;
      content: '';
      opacity: 0.8; }
  .moduleWrapper .videoModule_wrapper {
    position: relative;
    width: 100%; }
    .moduleWrapper .videoModule_wrapper_videoPlayer {
      padding: 70px 60px 70px 100px;
      width: 60.1%;
      float: left;
      position: relative;
      text-align: center; }
      .moduleWrapper .videoModule_wrapper_videoPlayer_video {
        box-shadow: 0px 0px 18px rgba(0, 0, 0, 0.7);
        background-color: #2B2B2B; }
      .moduleWrapper .videoModule_wrapper_videoPlayer_embed {
        position: relative;
        padding-bottom: 56.25%;
        /* 16:9 */
        padding-top: 25px;
        height: 0; }
      .moduleWrapper .videoModule_wrapper_videoPlayer_embed iframe {
        position: absolute;
        top: 0;
        left: 0;
        width: 100%;
        height: 100%; }
    .moduleWrapper .videoModule_wrapper_content {
      width: 39.9%;
      float: right;
      position: relative;
      padding: 70px 100px 70px 0px; }
      .moduleWrapper .videoModule_wrapper_content h3 {
        text-transform: uppercase; }

.moduleWrapper .video {
  position: relative; }
  .moduleWrapper .video_control {
    bottom: 0;
    left: 0;
    position: absolute;
    right: 0;
    top: 0;
    display: block; }
    .moduleWrapper .video_control:after {
      content: "";
      width: 0;
      height: 0;
      border-style: solid;
      position: absolute;
      border-top-width: 100px;
      border-top-color: transparent;
      border-bottom-width: 100px;
      border-bottom-color: transparent;
      border-left-width: 100px;
      border-left-color: white;
      border-right: none; }
    .moduleWrapper .video_control:after {
      -webkit-transform: translate(-50%, -50%) scale(0.5);
      -ms-transform: translate(-50%, -50%) scale(0.5);
      transform: translate(-50%, -50%) scale(0.5);
      -webkit-transition: opacity 0.2s;
      transition: opacity 0.2s;
      background-position: top left;
      content: '';
      left: 50%;
      position: absolute;
      top: 50%; }
      .video-playing .moduleWrapper .video_control:after {
        opacity: 0; }
    .moduleWrapper .video_control span {
      display: none; }
  .moduleWrapper .video_player {
    display: block;
    height: auto;
    width: 100%; }

.moduleWrapper .wysiwyg {
  background: #F7F7F7;
  padding: 20px 20px 0 20px; }
  .moduleWrapper .wysiwyg_wrapper {
    margin: auto;
    max-width: 900px; }
    .moduleWrapper .wysiwyg_wrapper .alignnone, .moduleWrapper .wysiwyg_wrapper .aligncenter, .moduleWrapper .wysiwyg_wrapper .alignleft, .moduleWrapper .wysiwyg_wrapper .alignright {
      padding: 10px 0; }
    .moduleWrapper .wysiwyg_wrapper .alignnone, .moduleWrapper .wysiwyg_wrapper .aligncenter {
      margin: auto;
      width: auto; }
    .moduleWrapper .wysiwyg_wrapper hr {
      margin: 30px 0;
      position: relative; }

table {
  margin: 0 auto;
  width: 100%;
  border-collapse: separate;
  border-spacing: 3px 0px; }
  table tbody tr {
    background: #DDDDDD; }
    table tbody tr:nth-child(odd) {
      background: #9B9B9B; }
  table thead {
    text-align: left; }
    table thead tr {
      background-color: #F18E02; }
  table th {
    padding: 30px 25px 20px;
    color: #ffffff;
    font-size: 24px; }
  table td {
    padding: 10px 25px;
    color: #4A4A4A;
    font-size: 24px; }

.body-headerActive, .body-modalActive {
  overflow: hidden;
  pointer-events: none; }

.headerMenu {
  -webkit-transition: opacity 0.2s;
  transition: opacity 0.2s;
  list-style: none;
  padding-top: 60px;
  position: fixed; }
  .headerMenu a {
    display: block;
    font-size: 16px;
    text-decoration: none;
    text-transform: uppercase; }
  .headerMenu_single {
    position: relative; }
    .headerMenu_single_link {
      -webkit-transition: all 0.35s ease-in-out;
      transition: all 0.35s ease-in-out;
      position: relative;
      z-index: 2; }
      .headerMenu_single_link:hover {
        -webkit-transition: all 0.35s ease-in-out;
        transition: all 0.35s ease-in-out; }
      .headerMenu_single_link:after {
        content: "g";
        font-family: "Icons", sans-serif;
        font-style: normal;
        font-variant: normal;
        font-weight: normal;
        line-height: 1;
        speak: none;
        text-transform: none;
        -webkit-font-smoothing: antialiased;
        -moz-osx-font-smoothing: grayscale;
        display: none;
        position: absolute;
        -webkit-transition: all 0.3s;
        transition: all 0.3s;
        -webkit-transform-origin: center 40%;
        -ms-transform-origin: center 40%;
        transform-origin: center 40%; }
        .headerMenu_single-menu .headerMenu_single_link:after {
          display: inline-block; }
      .headerMenu_single_link.headerMenu_single_link-active:after {
        -webkit-transform: rotate(180deg);
        -ms-transform: rotate(180deg);
        transform: rotate(180deg); }
    .headerMenu_single-menu {
      cursor: default; }
    .headerMenu_single_menu {
      -webkit-transition: all 0.35s ease-in-out;
      transition: all 0.35s ease-in-out;
      z-index: 1; }

.headerScreen {
  -webkit-transition: all 0.2s;
  transition: all 0.2s;
  height: 0px;
  left: 0;
  opacity: 0;
  position: absolute;
  top: 0;
  width: 100%;
  z-index: -99; }
  .body-headerActive .headerScreen {
    height: 99999px;
    opacity: 1;
    pointer-events: all;
    z-index: 101; }

.white-logo * {
  fill: #ffffff !important; }

#two-octobers-logo path, #two-octobers-logo polygon {
  -webkit-transition: fill 0.5s;
  transition: fill 0.5s; }

.headerToggle {
  -webkit-transition: all 0.2s;
  transition: all 0.2s;
  left: 0;
  position: fixed;
  top: 0;
  width: 100%;
  z-index: 103;
  border-bottom: 10px solid transparent; }
  .headerToggle_container_logo {
    -webkit-transform: none;
        -ms-transform: none;
            transform: none;
    left: 0;
    top: 0;
    width: 50%;
    position: relative;
    display: block;
    padding: 10px;
    height: 100px;
    -webkit-transition: width 500ms ease;
    transition: width 500ms ease; }
    .headerToggle_container_logo svg {
      height: 100%;
      width: 100%; }
  .headerToggle_container_toggle {
    display: inline-block;
    height: 50px;
    position: absolute;
    width: 50px;
    z-index: 103;
    right: 15px;
    top: 50%;
    -webkit-transform: translateY(-50%);
        -ms-transform: translateY(-50%);
            transform: translateY(-50%); }
    .headerToggle_container_toggle_bars, .headerToggle_container_toggle_bars:after, .headerToggle_container_toggle_bars:before {
      background-color: #ffffff;
      height: 4px;
      width: 25px; }
    .headerToggle_container_toggle_bars {
      -webkit-transform: translateY(-50%);
      -ms-transform: translateY(-50%);
      transform: translateY(-50%);
      display: block;
      left: 0;
      position: relative;
      margin: 0 auto;
      top: 50%; }
      .headerToggle_container_toggle_bars:after, .headerToggle_container_toggle_bars:before {
        -webkit-transition-delay: 0.2s, 0;
        transition-delay: 0.2s, 0;
        -webkit-transition-duration: 0.2s;
        transition-duration: 0.2s;
        -webkit-transition-property: margin, -webkit-transform;
        transition-property: margin, -webkit-transform;
        transition-property: margin, transform;
        transition-property: margin, transform, -webkit-transform;
        content: '';
        display: block;
        position: absolute; }
      .headerToggle_container_toggle_bars:after {
        margin-top: 8px; }
      .headerToggle_container_toggle_bars:before {
        margin-top: -8px; }
    .headerToggle_container_toggle:hover .headerToggle_toggle_bars:after {
      -webkit-transform: translateY(-2px);
      -ms-transform: translateY(-2px);
      transform: translateY(-2px); }
    .headerToggle_container_toggle:hover .headerToggle_toggle_bars:before {
      -webkit-transform: translateY(2px);
      -ms-transform: translateY(2px);
      transform: translateY(2px); }
  .body-headerActive .headerToggle {
    box-shadow: none;
    pointer-events: all; }
    .body-headerActive .headerToggle .headerToggle_container_toggle_bars, .body-headerActive .headerToggle .headerToggle_container_toggle:hover .headerToggle_toggle_bars {
      background-color: transparent; }
      .body-headerActive .headerToggle .headerToggle_container_toggle_bars:before, .body-headerActive .headerToggle .headerToggle_container_toggle_bars:after, .body-headerActive .headerToggle .headerToggle_container_toggle:hover .headerToggle_toggle_bars:before, .body-headerActive .headerToggle .headerToggle_container_toggle:hover .headerToggle_toggle_bars:after {
        margin-top: 0;
        -webkit-transition-delay: 0, 0.2s;
        transition-delay: 0, 0.2s; }
      .body-headerActive .headerToggle .headerToggle_container_toggle_bars:before, .body-headerActive .headerToggle .headerToggle_container_toggle:hover .headerToggle_toggle_bars:before {
        -webkit-transform: rotate(45deg);
        -ms-transform: rotate(45deg);
        transform: rotate(45deg); }
      .body-headerActive .headerToggle .headerToggle_container_toggle_bars:after, .body-headerActive .headerToggle .headerToggle_container_toggle:hover .headerToggle_toggle_bars:after {
        -webkit-transform: rotate(-45deg);
        -ms-transform: rotate(-45deg);
        transform: rotate(-45deg); }
  .body-modalActive .headerToggle {
    opacity: 0; }

.header-scrolled {
  border-color: #F18E02;
  background: #ffffff;
  height: 100px !important; }
  .header-scrolled .headerToggle_container_toggle_bars,
  .header-scrolled .headerToggle_container_toggle_bars:after,
  .header-scrolled .headerToggle_container_toggle_bars:before {
    background-color: #2B2B2B;
    height: 4px;
    width: 25px; }
  .header-scrolled .headerToggle_container_logo {
    width: 195px; }

.nav-scrolled .headerMenu_single_link {
  padding-top: 44px !important; }
  .nav-scrolled .headerMenu_single_link:first-child {
    color: #5C5C5C; }

/* Slider */
.slick-slider {
  position: relative;
  display: block;
  box-sizing: border-box;
  -webkit-touch-callout: none;
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
  -ms-touch-action: pan-y;
  touch-action: pan-y;
  -webkit-tap-highlight-color: transparent; }

.slick-list {
  position: relative;
  overflow: hidden;
  display: block;
  margin: 0;
  padding: 0; }
  .slick-list:focus {
    outline: none; }
  .slick-list.dragging {
    cursor: pointer;
    cursor: hand; }

.slick-slider .slick-track,
.slick-slider .slick-list {
  -webkit-transform: translate3d(0, 0, 0);
  -ms-transform: translate3d(0, 0, 0);
  transform: translate3d(0, 0, 0); }

.slick-track {
  position: relative;
  left: 0;
  top: 0;
  display: block; }
  .slick-track:before, .slick-track:after {
    content: "";
    display: table; }
  .slick-track:after {
    clear: both; }
  .slick-loading .slick-track {
    visibility: hidden; }

.slick-slide {
  float: left;
  height: 100%;
  min-height: 1px;
  display: none; }
  [dir="rtl"] .slick-slide {
    float: right; }
  .slick-slide img {
    display: block; }
  .slick-slide.slick-loading img {
    display: none; }
  .slick-slide.dragging img {
    pointer-events: none; }
  .slick-initialized .slick-slide {
    display: block; }
  .slick-loading .slick-slide {
    visibility: hidden; }
  .slick-vertical .slick-slide {
    display: block;
    height: auto;
    border: 1px solid transparent; }

.slick-arrow.slick-hidden {
  display: none; }

/* Slider */
.slick-loading .slick-list {
  background: #ffffff url("./ajax-loader.gif") center center no-repeat; }

/* Icons */
@font-face {
  font-family: "slick";
  src: url("./fonts/slick.eot");
  src: url("./fonts/slick.eot?#iefix") format("embedded-opentype"), url("./fonts/slick.woff") format("woff"), url("./fonts/slick.ttf") format("truetype"), url("./fonts/slick.svg#slick") format("svg");
  font-weight: normal;
  font-style: normal; }

/* Arrows */
.slick-prev,
.slick-next {
  position: absolute;
  display: block;
  height: 20px;
  width: 20px;
  line-height: 0px;
  font-size: 0px;
  cursor: pointer;
  background: transparent;
  color: transparent;
  top: 50%;
  -webkit-transform: translate(0, -50%);
  -ms-transform: translate(0, -50%);
  transform: translate(0, -50%);
  padding: 0;
  border: none;
  outline: none; }
  .slick-prev:hover, .slick-prev:focus,
  .slick-next:hover,
  .slick-next:focus {
    outline: none;
    background: transparent;
    color: transparent; }
    .slick-prev:hover:before, .slick-prev:focus:before,
    .slick-next:hover:before,
    .slick-next:focus:before {
      opacity: 1; }
  .slick-prev.slick-disabled:before,
  .slick-next.slick-disabled:before {
    opacity: 0.25; }
  .slick-prev:before,
  .slick-next:before {
    font-family: "slick";
    font-size: 20px;
    line-height: 1;
    color: white;
    opacity: 0.75;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale; }

.slick-prev {
  left: -25px; }
  [dir="rtl"] .slick-prev {
    left: auto;
    right: -25px; }
  .slick-prev:before {
    content: "←"; }
    [dir="rtl"] .slick-prev:before {
      content: "→"; }

.slick-next {
  right: -25px; }
  [dir="rtl"] .slick-next {
    left: -25px;
    right: auto; }
  .slick-next:before {
    content: "→"; }
    [dir="rtl"] .slick-next:before {
      content: "←"; }

/* Dots */
.slick-dotted.slick-slider {
  margin-bottom: 30px; }

.slick-dots {
  position: absolute;
  bottom: -25px;
  list-style: none;
  display: block;
  text-align: center;
  padding: 0;
  margin: 0;
  width: 100%; }
  .slick-dots li {
    position: relative;
    display: inline-block;
    height: 20px;
    width: 20px;
    margin: 0 5px;
    padding: 0;
    cursor: pointer; }
    .slick-dots li button {
      border: 0;
      background: transparent;
      display: block;
      height: 20px;
      width: 20px;
      outline: none;
      line-height: 0px;
      font-size: 0px;
      color: transparent;
      padding: 5px;
      cursor: pointer; }
      .slick-dots li button:hover, .slick-dots li button:focus {
        outline: none; }
        .slick-dots li button:hover:before, .slick-dots li button:focus:before {
          opacity: 1; }
      .slick-dots li button:before {
        position: absolute;
        top: 0;
        left: 0;
        content: "•";
        width: 20px;
        height: 20px;
        font-family: "slick";
        font-size: 12px;
        line-height: 20px;
        text-align: center;
        color: black;
        opacity: 0.25;
        -webkit-font-smoothing: antialiased;
        -moz-osx-font-smoothing: grayscale; }
    .slick-dots li.slick-active button:before {
      color: black;
      opacity: 0.75; }

.clear:after {
  clear: both;
  content: "";
  display: table;
  zoom: 1; }

.clear:before {
  clear: both;
  content: "";
  display: table;
  zoom: 1; }

.grid-wrapper {
  max-width: 60em;
  margin-left: auto;
  margin-right: auto; }
  .grid-wrapper::after {
    clear: both;
    content: "";
    display: block; }

.horiz-center {
  display: block;
  margin-left: auto;
  margin-right: auto; }

.vertical-center {
  display: table-cell;
  vertical-align: middle; }

.img-fill {
  min-width: 100%;
  min-height: 100%; }

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

@media screen and (min-width: 500px){
  h1, h2, h3, h4, h5, h6, p, blockquote, ul, ol{
    margin-bottom: 15px; }
  h1, .h1{
    font-size: 47.6px;
    line-height: 57.6px; }
  h2, .h2{
    font-size: 33.6px;
    line-height: 43.6px; }
  h3, .h3{
    font-size: 19.2px;
    line-height: 29.2px; }
  h4, .h4{
    font-size: 16px;
    line-height: 26px; }
  h5, .h5{
    font-size: 18.4px;
    line-height: 28.4px; }
  h6, .h6{
    font-size: 17px;
    line-height: 27px; }
  blockquote p, .blockquote p{
    font-size: 19.2px;
    line-height: 29.2px; }
  span.pullQuote{
    font-size: 19.2px;
    line-height: 29.2px; }
  p, ol, ul, li{
    font-size: 17px;
    line-height: 27px; }
  p.big, ol.big, ul.big, li.big{
    font-size: 20px;
    line-height: 30px; }
  .button{
    font-size: 19.2px;
    line-height: 29.2px; }
  .ginput_container_radio ul.gfield_radio li label{
    font-size: 15.3px;
    line-height: 25.3px; }
  .gfield_checkbox li{
    margin-bottom: 15px; }
  h2.gsection_title{
    font-size: 24px;
    line-height: 34px; }
  form.post-password-form{
    padding: 40px 20px; }
  form.post-password-form input[type="submit"]{
    font-size: 16px;
    line-height: 26px; }
  .moduleWrapper .cardGrid_wrapper_single_link{
    font-size: 19.2px;
    line-height: 29.2px; }
  .moduleWrapper .contactForm_wrapper_form form .gform_body ul li .gfield_label{
    font-size: 14.45px;
    line-height: 24.45px; }
  .moduleWrapper .contactForm{
    padding: 40px 20px; }
  .moduleWrapper .contactForm_side_background{
    display: none; }
  .moduleWrapper .contactForm_wrapper::after{
    clear: both;
    content: "";
    display: block; }
  .moduleWrapper .contactForm_wrapper_side{
    padding: 40px 20px 40px 20px;
    margin: -40px -20px 0 -20px; }
  .moduleWrapper .contactForm_wrapper_form{
    margin-top: 40px; }
  .footer_lower_newsletter_signup .gform_footer{
    position: relative;
    top: 0;
    right: 0;
    margin-top: 20px;
    text-align: center; }
  .footer_top_menu_wrapper_single{
    font-size: 12.6px;
    line-height: 22.6px; }
  .footer_top_menu_wrapper{
    margin: auto;
    max-width: 1200px; }
  .footer_top_menu_wrapper_single{
    display: inline-block;
    position: relative; }
  .footer_top_menu_wrapper_single:first-child{
    padding-left: 0; }
  .footer_top_logo{
    display: block;
    float: left;
    height: 100px;
    margin-right: 0px;
    width: 100%;
    max-width: 300px; }
  .hero{
    padding: 40px 20px;
    padding-top: 140px; }
  .hero_background_video{
    background: transparent;
    display: block;
    height: auto;
    left: 0;
    min-height: 100%;
    min-width: 100%;
    position: absolute;
    top: 0;
    width: auto; }
  .hero_wrapper_links::after{
    clear: both;
    content: "";
    display: block; }
  .hero_wrapper_links .button{
    margin: 0 20px 10px 0; }
  .hero_wrapper_links:last-child{
    margin-bottom: 0; }
  .moduleWrapper .imageAlternator_wrapper_content_subtitle{
    font-size: 20px;
    line-height: 30px; }
  .moduleWrapper .latestNews_list_item:hover{
    -webkit-transform: none;
    -ms-transform: none;
    transform: none;
    box-shadow: none;
    background: transparent; }
  .moduleWrapper .latestNews_list{
    display: block; }
  .moduleWrapper .latestNews_list_item{
    width: 90%;
    float: none; }
  .moduleWrapper .newsletter_wrapper .gfield_label{
    font-size: 18.4px;
    line-height: 28.4px; }
  .moduleWrapper .offsetTextFullImage:after{
    display: block; }
  .moduleWrapper .offsetTextFullImage_single_item_image{
    display: block; }
  .moduleWrapper .offsetTextFullImage_single_item_content{
    padding: 25px; }
  .single-post .main .news_block{
    display: -webkit-box;
    display: -moz-box;
    display: box;
    display: -webkit-flex;
    display: -moz-flex;
    display: -ms-flexbox;
    display: flex; }
  .single-post .main .news_block .single_news_wrapper .single_news_relatedcontent{
    padding: 20px 10px 10px 10px; }
  .single-post .main .news_block .single_news_wrapper{
    margin: 0;
    width: 67.8%;
    padding: 40px 20px; }
  .single-post .main .news_block .single_news_wrapper::after{
    clear: both;
    content: "";
    display: block; }
  .single-post .main .news_block .single_news_wrapper .alignleft, .single-post .main .news_block .single_news_wrapper .alignright{
    display: inline-block;
    max-width: 490px;
    width: 50%; }
  .single-post .main .news_block .single_news_wrapper .aligncenter, .single-post .main .news_block .single_news_wrapper .alignnone{
    margin: 0 auto;
    padding: 20px 0; }
  .single-post .main .news_block .single_news_wrapper .alignleft{
    float: left;
    margin: 0 20px 0 0; }
  .single-post .main .news_block .single_news_wrapper .alignright{
    float: right;
    margin: 0 0 0 20px; }
  .single-post .main .news_block .single_news_wrapper-noSidebar{
    width: 100%; }
  .single-post .main .news_block .navigator li{
    font-size: 75%; }
  .moduleWrapper .wysiwyg{
    padding: 40px 20px; }
  .moduleWrapper .wysiwyg::after{
    clear: both;
    content: "";
    display: block; }
  .moduleWrapper .wysiwyg_wrapper .alignleft, .moduleWrapper .wysiwyg_wrapper .alignright{
    display: inline-block;
    max-width: 490px;
    width: 50%; }
  .moduleWrapper .wysiwyg_wrapper .alignnone, .moduleWrapper .wysiwyg_wrapper .aligncenter{
    padding: 25px 0; }
  .moduleWrapper .wysiwyg_wrapper .alignleft{
    float: left;
    margin: 5px 20px 5px 0; }
  .moduleWrapper .wysiwyg_wrapper .alignright{
    float: right;
    margin: 5px 0 5px 20px; }
  .moduleWrapper .wysiwyg_wrapper ul{
    padding-left: 20px; }
  .moduleWrapper .wysiwyg_wrapper ul li{
    list-style-position: outside; } }

@media screen and (min-width: 960px){
  h1, h2, h3, h4, h5, h6, p, blockquote, ul, ol{
    margin-bottom: 10px; }
  h1, .h1{
    font-size: 57.8px;
    line-height: 67.8px; }
  h2, .h2{
    font-size: 40.8px;
    line-height: 50.8px; }
  h3, .h3{
    font-size: 20.4px;
    line-height: 30.4px; }
  h4, .h4{
    font-size: 17px;
    line-height: 27px; }
  h5, .h5{
    font-size: 19.55px;
    line-height: 29.55px; }
  h6, .h6{
    font-size: 18px;
    line-height: 28px; }
  blockquote p, .blockquote p{
    font-size: 20.4px;
    line-height: 30.4px; }
  span.pullQuote{
    font-size: 20.4px;
    line-height: 30.4px; }
  p, ol, ul, li{
    font-size: 18px;
    line-height: 28px; }
  p.big, ol.big, ul.big, li.big{
    font-size: 21.25px;
    line-height: 31.25px; }
  .button{
    font-size: 20.4px;
    line-height: 30.4px; }
  .ginput_container{
    margin-bottom: 22px; }
  .ginput_container input[type="email"],
      .ginput_container input[type="number"],
      .ginput_container input[type="text"],
      .ginput_container textarea{
    border-width: 2px;
    padding: 9px 15px; }
  .ginput_container input[type="email"]:active, .ginput_container input[type="email"]:focus,
        .ginput_container input[type="number"]:active,
        .ginput_container input[type="number"]:focus,
        .ginput_container input[type="text"]:active,
        .ginput_container input[type="text"]:focus,
        .ginput_container textarea:active,
        .ginput_container textarea:focus{
    border-width: 2px; }
  .ginput_container input[type="email"],
      .ginput_container input[type="number"],
      .ginput_container input[type="text"]{
    height: 54px; }
  .ginput_container_radio ul.gfield_radio li label{
    font-size: 16.2px;
    line-height: 26.2px; }
  .ginput_container{
    margin-bottom: 30px; }
  .ginput_container_textarea + .gfield_description, .ginput_container_text + .gfield_description{
    margin-bottom: 30px; }
  .ginput_container_name label{
    margin-bottom: 10px;
    display: block; }
  .ginput_container_select select{
    height: 55px;
    padding: 0 55px 0 15px; }
  .gfield_time_ampm select{
    height: 50px;
    padding: 0 55px 0 15px; }
  h2.gsection_title{
    font-size: 25.5px;
    line-height: 35.5px; }
  form.post-password-form{
    padding: 60px 0px; }
  form.post-password-form input[type="submit"]{
    font-size: 17px;
    line-height: 27px; }
  .moduleWrapper .cardGrid_wrapper_single_link{
    font-size: 20.4px;
    line-height: 30.4px; }
  .moduleWrapper-cards + .moduleWrapper-cards{
    margin-top: -30px; }
  .contactForm_wrapper_side{
    background-color: transparent; }
  .moduleWrapper .contactForm_wrapper_form form .gform_body ul li .gfield_label{
    font-size: 15.3px;
    line-height: 25.3px; }
  .moduleWrapper .contactForm{
    padding-bottom: 70px;
    padding-top: 30px;
    padding-left: 100px;
    padding-right: 100px; }
  .moduleWrapper .contactForm_side_background{
    display: block;
    left: 0px;
    top: 0px;
    height: 100%;
    width: calc(31.76157% + 100px); }
  .moduleWrapper .contactForm_wrapper::after{
    clear: both;
    content: "";
    display: block; }
  .moduleWrapper .contactForm_wrapper_form{
    float: left;
    display: block;
    margin-right: 2.35765%;
    width: 48.82117%;
    margin-left: 8.5298%;
    padding-left: 30px; }
  .moduleWrapper .contactForm_wrapper_form:last-child{
    margin-right: 0; }
  .moduleWrapper .contactForm_wrapper_form_title{
    margin-bottom: 14px; }
  .moduleWrapper .contactForm_wrapper_side{
    float: left;
    padding: 0;
    margin: 40px 0 0 0;
    float: left;
    display: block;
    margin-right: 2.35765%;
    width: 31.76157%; }
  .moduleWrapper .contactForm_wrapper_side:last-child{
    margin-right: 0; }
  .footer_lower_newsletter_signup .gform_footer{
    position: absolute;
    top: 29px;
    right: 1px;
    margin-top: 0; }
  .footer_top_menu_wrapper_single{
    font-size: 15.3px;
    line-height: 25.3px; }
  .footer_top_logo{
    display: block;
    float: left;
    height: 100px;
    margin-right: 0px;
    width: 100%;
    max-width: 300px; }
  .footer_top_social_icon{
    font-size: 30px; }
  .footer_top_social_icon-gplus{
    font-size: 38px;
    margin-top: 6px; }
  .footer_top_menu{
    padding: 0; }
  .footer_lower_newsletter_signup .gform_validation_error .gform_footer{
    top: 39px;
    right: 11px; }
  .hero{
    padding: 220px 100px 110px 100px; }
  .hero_wrapper_links{
    margin-top: 50px; }
  .hero_wrapper_title{
    max-width: 1100px;
    margin: 0 auto;
    text-transform: uppercase;
    font-weight: 700; }
  .hero_wrapper_subtitle{
    max-width: 1024px;
    margin: 0 auto; }
  .moduleWrapper .imageAlternator_wrapper_content_subtitle{
    font-size: 21.25px;
    line-height: 31.25px; }
  .moduleWrapper .imageAlternator_wrapper_content_link{
    margin-top: 20px; }
  .blog .news_block:before, .archive .main .news_block:before{
    content: '';
    z-index: -3;
    height: 100%;
    width: 100%;
    position: absolute;
    top: 0;
    left: 0; }
  .moduleWrapper .latestNews_list_item:hover{
    box-shadow: 0 13px 17px 0px rgba(0, 0, 0, 0.3);
    background: #ffffff;
    -webkit-transform: scale(1.05);
    -ms-transform: scale(1.05);
    transform: scale(1.05); }
  .moduleWrapper .latestNews_list{
    display: -webkit-inline-box;
    display: -webkit-inline-flex;
    display: -ms-inline-flexbox;
    display: inline-flex; }
  .moduleWrapper .latestNews_list_item{
    width: 30%;
    float: left; }
  .moduleWrapper .newsletter_wrapper .gfield_label{
    font-size: 19.55px;
    line-height: 29.55px; }
  .moduleWrapper .newsletter{
    padding: 70px 15px 20px 15px; }
  .moduleWrapper .newsletter_wrapper{
    text-align: center; }
  .moduleWrapper .newsletter_wrapper .gform_body{
    display: block;
    float: left;
    width: calc(100% - 175px); }
  .moduleWrapper .newsletter_wrapper .gfield{
    float: left;
    margin-right: 20px;
    width: calc(50% - 20px); }
  .moduleWrapper .newsletter_wrapper .gform_footer{
    display: block;
    float: left;
    padding-top: 40px;
    width: 175px; }
  .moduleWrapper .newsletter_wrapper .gform_fields::after,
        .moduleWrapper .newsletter_wrapper .gform_wrapper form::after{
    clear: both;
    content: "";
    display: block; }
  .moduleWrapper .newsletter_wrapper .gfield_label{
    margin-bottom: 8px;
    text-align: left; }
  .pagination{
    padding: 0 60px 0 100px; }
  .pagination_list_single{
    width: 33.3%;
    float: left; }
  .pagination_list_single-prev{
    text-align: left; }
  .pagination_list_single-pages{
    text-align: center; }
  .pagination_list_single-next{
    text-align: right; }
  .pagination_list_single_current:before{
    height: 28px;
    width: 28px;
    left: -7px;
    top: 0px; }
  .moduleWrapper .offsetTextFullImage_single_item_content{
    padding: 75px; }
  .single-post .main .news_block .single_news_wrapper .single_news_relatedcontent_wrapper{
    max-width: 1200px;
    padding: 0 1%;
    margin: 0 auto;
    position: relative; }
  .single-post .main .news_block .single_news_wrapper .single_news_relatedcontent{
    max-width: 1200px;
    margin: 0 auto; }
  .single-post .main .news_block .single_news_wrapper .single_news_content .single_new_author p{
    font-size: 24px; }
  .single-post .main .news_block .single_news_wrapper{
    margin: 0;
    width: 67.8%;
    padding: 55px 20px 55px 0; }
  .single-post .main .news_block .single_news_wrapper::after{
    clear: both;
    content: "";
    display: block; }
  .single-post .main .news_block .single_news_wrapper .single_news_content{
    padding-right: 85px;
    padding-left: 140px; }
  .single-post .main .news_block .single_news_wrapper .alignleft{
    -webkit-transform: translateX(-90px);
    -ms-transform: translateX(-90px);
    transform: translateX(-90px);
    margin: 0 -60px 0 0;
    padding: 30px 0; }
  .single-post .main .news_block .single_news_wrapper .alignright{
    -webkit-transform: translateX(90px);
    -ms-transform: translateX(90px);
    transform: translateX(90px);
    margin: 0 0 0 -60px;
    padding: 30px 0; }
  .single-post .main .news_block .single_news_wrapper-noSidebar{
    padding-right: 0;
    width: 100%; }
  .single-post .main .news_block .single_news_wrapper-noSidebar .single_news_content{
    padding-right: 140px; }
  .single-post .main .news_block .navigator .navigator_list_single-prev{
    padding-left: 30px !important; }
  .single-post .main .news_block .navigator .navigator_list_single-next{
    padding-right: 30px !important; }
  .single-post .main .news_block .sidebar{
    width: 32.2%;
    min-height: 100%; }
  .single_news_related_content{
    padding-right: 85px;
    padding-left: 140px; }
  .single_news_related_content .single_news_related_content_wrapper{
    width: 50%;
    float: left;
    padding: 10px; }
  .moduleWrapper .title .title_wrapper{
    max-width: 1200px;
    margin: 0 auto; }
  .moduleWrapper .twoImageTextBox_single_item{
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex; }
  .moduleWrapper .twoImageTextBox_single_item:after{
    display: block; }
  .moduleWrapper .twoImageTextBox_single_item_image{
    display: block;
    margin-right: 10px; }
  .moduleWrapper .twoImageTextBox_single_item_content{
    width: 50%;
    margin-left: 10px; }
  .moduleWrapper .video_control:after{
    -webkit-transform: translate(-50%, -50%);
    -ms-transform: translate(-50%, -50%);
    transform: translate(-50%, -50%); }
  .moduleWrapper .wysiwyg{
    padding: 50px 130px; }
  .moduleWrapper .wysiwyg_wrapper{
    padding: 0; }
  .moduleWrapper .wysiwyg_wrapper .alignleft{
    width: 300px;
    -webkit-transform: translateX(-90px);
    -ms-transform: translateX(-90px);
    transform: translateX(-90px);
    margin: 0 -60px 0 0;
    padding: 30px 0; }
  .moduleWrapper .wysiwyg_wrapper .alignright{
    width: 300px;
    -webkit-transform: translateX(90px);
    -ms-transform: translateX(90px);
    transform: translateX(90px);
    margin: 0 0 0 -60px;
    padding: 30px 0; }
  .moduleWrapper .wysiwyg_wrapper .alignnone, .moduleWrapper .wysiwyg_wrapper .aligncenter{
    width: calc(100% + 60px);
    max-width: none;
    padding: 30px 0;
    left: -30px;
    position: relative; }
  .moduleWrapper .wysiwyg_wrapper hr{
    width: calc(100% + 120px);
    left: -60px;
    margin: 40px 0; }
  .headerMenu{
    padding-top: 0;
    top: 0;
    right: 20px;
    z-index: 200; }
  .headerMenu::after{
    clear: both;
    content: "";
    display: block; }
  .headerMenu a{
    font-size: 12px; }
  .headerMenu_single{
    display: inline-block;
    float: left; }
  .headerMenu_single_link{
    display: inline-block;
    padding: 20px 26px; }
  .headerMenu_single_link:first-child{
    padding-top: 74px;
    line-height: 1.23;
    padding-bottom: 24px;
    font-size: 18px;
    font-weight: 700;
    letter-spacing: 0.0015em;
    color: #ffffff; }
  .headerMenu_single_link:after{
    -webkit-transform: translateX(-50%);
    -ms-transform: translateX(-50%);
    transform: translateX(-50%);
    font-size: 10px;
    left: 50%;
    top: calc(100% - 15px); }
  .headerMenu_single_link.headerMenu_single_link-active:after{
    -webkit-transform: rotate(0deg);
    -ms-transform: rotate(0deg);
    transform: rotate(0deg); }
  .headerMenu_single_menu{
    box-shadow: 0 10px 20px 0px rgba(43, 43, 43, 0.3);
    left: 0px;
    opacity: 0;
    position: absolute;
    pointer-events: none;
    top: 100%;
    width: 270px;
    padding-top: 10px;
    background: rgba(247, 247, 247, 0.75); }
  .headerMenu_single_menu:after{
    content: '';
    display: block;
    height: 25px;
    left: -20px;
    opacity: 1;
    pointer-events: none;
    position: absolute;
    top: -25px;
    width: calc(100% + 40px);
    z-index: 202; }
  .headerMenu_single_menu-active .headerMenu_single_menu{
    opacity: 1;
    pointer-events: all; }
  .headerMenu_single_menu .headerMenu_single_menu-active a{
    display: block; }
  .headerMenu_single_menu_link{
    line-height: 35px;
    padding: 5px 20px;
    display: none;
    font-weight: 600;
    color: #4A4A4A;
    -webkit-transition: background 0.3s;
    transition: background 0.3s; }
  .headerMenu_single_menu_link:nth-child(odd){
    padding: 5px 20px; }
  .headerMenu_single_menu_link:hover{
    position: relative;
    background: #eaeaea; }
  .headerMenu_single_menu_link:hover:before{
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    width: 5px;
    height: 100%;
    background: #F18E02; }
  .headerMenu_single_menu-active{
    opacity: 1;
    pointer-events: all; }
  .headerToggle_container_logo{
    -webkit-transform: translateY(-50%);
    -ms-transform: translateY(-50%);
    transform: translateY(-50%);
    left: 15px;
    position: absolute;
    top: 50%;
    width: 235px;
    height: auto;
    padding: 0; }
  .headerToggle_container_toggle{
    right: 7px;
    top: 6px;
    -webkit-transform: none;
    -ms-transform: none;
    transform: none; }
  .headerToggle{
    height: 130px;
    padding: 0 20px;
    top: 0; }
  .headerToggle_container{
    height: 100%;
    margin: auto;
    max-width: 1400px;
    position: relative; }
  .headerToggle_container:after{
    -webkit-transition: all 0.5s;
    transition: all 0.5s;
    -webkit-transform: translateY(-150px);
    -ms-transform: translateY(-150px);
    transform: translateY(-150px);
    box-shadow: 0 0 20px 0 rgba(0, 0, 0, 0.25);
    content: '';
    position: fixed;
    right: 102px;
    top: 0;
    height: 75px;
    width: 165px;
    z-index: -1; }
  .headerToggle_container_toggle{
    display: none; } }

@media screen and (min-width: 1440px){
  h1, h2, h3, h4, h5, h6, p, blockquote, ul, ol{
    margin-bottom: 15px; }
  h1, .h1{
    font-size: 68px;
    line-height: 78px; }
  h2, .h2{
    font-size: 48px;
    line-height: 58px; }
  h3, .h3{
    font-size: 24px;
    line-height: 34px; }
  h4, .h4{
    font-size: 20px;
    line-height: 30px; }
  h5, .h5{
    font-size: 23px;
    line-height: 33px; }
  h6, .h6{
    font-size: 20px;
    line-height: 30px; }
  blockquote p, .blockquote p{
    font-size: 24px;
    line-height: 34px; }
  span.pullQuote{
    font-size: 24px;
    line-height: 34px; }
  p, ol, ul, li{
    font-size: 20px;
    line-height: 30px; }
  p.big, ol.big, ul.big, li.big{
    font-size: 25px;
    line-height: 35px; }
  .button{
    font-size: 24px;
    line-height: 34px; }
  .ginput_container_radio ul.gfield_radio li label{
    font-size: 18px;
    line-height: 28px; }
  h2.gsection_title{
    font-size: 30px;
    line-height: 40px; }
  form.post-password-form input[type="submit"]{
    font-size: 20px;
    line-height: 30px; }
  .moduleWrapper .cardGrid_wrapper_single_link{
    font-size: 24px;
    line-height: 34px; }
  .moduleWrapper .cardGrid-columnsTwo .cardGrid_wrapper_single{
    width: calc((100% - 25px)/2); }
  .moduleWrapper .cardGrid-columnsTwo .cardGrid_wrapper_single:nth-child(2n){
    margin-right: 0; }
  .moduleWrapper .cardGrid-columnsThree .cardGrid_wrapper_single{
    width: calc((100% - 25px*2)/3); }
  .moduleWrapper .cardGrid-columnsThree .cardGrid_wrapper_single:nth-child(3n){
    margin-right: 0; }
  .moduleWrapper .cardGrid-columnsFour .cardGrid_wrapper_single{
    width: calc((100% - 25px*3)/4); }
  .moduleWrapper .cardGrid-columnsFour .cardGrid_wrapper_single:nth-child(4n){
    margin-right: 0; }
  .moduleWrapper .cardGrid-columnsFive .cardGrid_wrapper:after{
    clear: both;
    content: "";
    display: table;
    zoom: 1; }
  .moduleWrapper .cardGrid-columnsFive .cardGrid_wrapper:before{
    clear: both;
    content: "";
    display: table;
    zoom: 1; }
  .moduleWrapper .cardGrid-columnsFive .cardGrid_wrapper_single{
    float: left;
    width: calc((100% - 25px*5)/5); }
  .moduleWrapper .cardGrid-columnsFive .cardGrid_wrapper_single:nth-child(5n){
    margin-right: 0; }
  .moduleWrapper .contactForm_wrapper_form form .gform_body ul li .gfield_label{
    font-size: 17px;
    line-height: 27px; }
  .footer_top_menu_wrapper_single{
    font-size: 18px;
    line-height: 28px; }
  .hero{
    padding: 150px 100px 130px 100px; }
  .moduleWrapper .imageAlternator_wrapper_content_subtitle{
    font-size: 25px;
    line-height: 35px; }
  .moduleWrapper .imageGrid_single_content h4, .moduleWrapper .imageGrid_single_content h6{
    left: 30px;
    right: 30px; }
  .moduleWrapper .newsletter_wrapper .gfield_label{
    font-size: 23px;
    line-height: 33px; }
  .single_news_related_content{
    padding-left: calc((100vw - 1200px)/2 + 120px);
    padding-right: 125px; }
  .headerMenu{
    right: calc((100% - 1400px) / 2);
    top: 0; }
  .headerMenu a{
    font-size: 16px; }
  .headerMenu_single_link{
    padding: 20px 26px; }
  .headerMenu_single_link:first-child{
    padding-top: 74px;
    line-height: 1.23;
    padding-bottom: 24px;
    font-size: 18px;
    font-weight: 700;
    letter-spacing: 0.0015em;
    color: #ffffff; }
  .headerMenu_single_link:after{
    -webkit-transform: translateY(2px);
    -ms-transform: translateY(2px);
    transform: translateY(2px);
    font-size: 16px;
    position: static;
    padding-left: 15px; }
  .headerMenu_single_menu{
    top: 100%; }
  .headerToggle_logo{
    height: 60px;
    left: 0; } }

@media screen and (max-width: 959px){
  .button{
    padding: 13px 30px; }
  form.post-password-form input[type="submit"]{
    padding: 13px 30px; }
  .moduleWrapper .cardGrid{
    padding: 30px 20px; }
  .moduleWrapper .cardGrid_wrapper_single{
    width: calc((100% - 25px)/2); }
  .moduleWrapper .cardGrid_wrapper_single:nth-of-type(2n){
    margin-right: 0; }
  .moduleWrapper .cardGrid_wrapper_single_link{
    padding: 13px 0; }
  .moduleWrapper .fullImageSlider_single .slick-prev, .moduleWrapper .fullImageSlider_single .slick-next{
    display: none !important; }
  .moduleWrapper .fullImageSlider_single .slick-dots{
    display: block !important;
    bottom: 10px; }
  .moduleWrapper .fullImageSlider_single .slick-dots li button:before{
    opacity: 0.5;
    text-shadow: 0px 0px 8px rgba(0, 0, 0, 0.7); }
  .moduleWrapper .fullImageSlider_single .slick-dots li.slick-active button:before{
    opacity: 1;
    text-shadow: 0px 0px 8px rgba(0, 0, 0, 0.7); }
  .heroSlider_single .slick-prev, .heroSlider_single .slick-next{
    display: none !important; }
  .heroSlider_single .slick-dots{
    display: block !important;
    bottom: 5px; }
  .heroSlider_single .slick-dots li button:before{
    opacity: 0.5;
    text-shadow: 0px 0px 8px rgba(0, 0, 0, 0.7); }
  .heroSlider_single .slick-dots li.slick-active button:before{
    opacity: 1;
    text-shadow: 0px 0px 8px rgba(0, 0, 0, 0.7); }
  .moduleWrapper .imageAlternator_wrapper_background{
    position: relative;
    max-width: none;
    height: 50vw;
    width: 100%;
    background-position: center;
    background-repeat: no-repeat;
    background-size: cover; }
  .moduleWrapper .imageAlternator_wrapper_content{
    max-width: none;
    margin: 0;
    width: 100%;
    padding: 35px 20px; }
  .imageAlternator-odd .imageAlternator_wrapper_content_block{
    float: left;
    max-width: none;
    margin: 0;
    padding: 0; }
  .imageAlternator-even .imageAlternator_wrapper_content_block{
    max-width: none;
    margin: 0;
    padding: 0; }
  .moduleWrapper .imageGrid_single{
    width: 50%;
    height: 50vw;
    max-height: none; }
  .moduleWrapper .imageGrid_single_content{
    padding: 0 10px 10px 10px; }
  .moduleWrapper .imageGrid_single_content h4{
    left: 15px;
    right: 15px;
    bottom: 20px; }
  .blog .news_block_content, .archive .main .news_block_content{
    padding-top: 0; }
  .blog .news_block_content .news_content, .archive .main .news_block_content .news_content{
    padding-left: 20px;
    padding-right: 20px; }
  .blog .news_block_content .news_content .img_container, .archive .main .news_block_content .news_content .img_container{
    width: 256px;
    height: 192px; }
  .blog .news_block_content .news_content .text_container, .archive .main .news_block_content .news_content .text_container{
    width: calc(100% - 256px); }
  .blog .news_block_sidebar, .archive .main .news_block_sidebar{
    padding: 0px 20px; }
  .blog .news_block_sidebar aside, .archive .main .news_block_sidebar aside{
    padding-left: 0;
    padding-top: 30px; }
  .blog .news_block_sidebar aside h5, .archive .main .news_block_sidebar aside h5{
    margin-bottom: 5px; }
  .blog .news_block_sidebar aside ul, .archive .main .news_block_sidebar aside ul{
    margin-bottom: 35px; }
  .pagination{
    padding: 0 50px; }
  .pagination_list_single_current:before{
    height: 25px;
    width: 25px;
    top: 0px;
    left: -6px; }
  .pagination_list_single-prev span{
    display: none; }
  .single-post .main .hero{
    padding-top: 170px;
    padding-bottom: 40px; }
  .single-post .main .news_block .single_news_wrapper .single_news_relatedcontent_wrapper{
    padding: 30px 20px 0px 20px;
    float: left;
    width: 100%; }
  .single-post .main .news_block .single_news_wrapper .single_news_relatedcontent{
    padding: 30px 20px 10px 20px; }
  .single-post .main .news_block .navigator_list_single-prev{
    padding-left: 0;
    font-size: 17px; }
  .single-post .main .news_block .navigator_list_single-prev span{
    display: none; }
  .single-post .main .news_block .navigator_list_single-index{
    font-size: 17px; }
  .single-post .main .news_block .navigator_list_single-next{
    padding-right: 0;
    font-size: 17px; }
  .moduleWrapper .title .title_wrapper{
    padding: 30px 20px 10px 20px; }
  .moduleWrapper .videoModule_wrapper{
    display: block; }
  .moduleWrapper .videoModule_wrapper_videoPlayer{
    width: 100%;
    padding: 30px 20px; }
  .moduleWrapper .videoModule_wrapper_content{
    width: 100%;
    padding: 30px 20px; }
  .headerMenu{
    left: 0;
    opacity: 0;
    overflow-y: auto;
    top: 110px;
    padding: 0;
    bottom: 0;
    width: 100%;
    z-index: -98;
    background: #ffffff; }
  .headerMenu a{
    line-height: 50px; }
  .headerMenu_single_link{
    padding: 0 15px; }
  .headerMenu_single_link:after{
    right: 20px;
    top: 17px; }
  .headerMenu_single_menu_link{
    border-top: 1px solid rgba(43, 43, 43, 0.1);
    padding: 0 15px 0 45px; }
  .headerMenu_single_menu-active{
    max-height: 3000px; }
  .body-headerActive .headerMenu{
    opacity: 1;
    pointer-events: all;
    z-index: 102; } }

@media screen and (max-width: 499px){
  .button{
    padding: 11px 26px; }
  form.post-password-form{
    padding: 30px 10px; }
  form.post-password-form input[type="submit"]{
    padding: 11px 26px;
    display: block;
    margin: 20px 0; }
  .moduleWrapper .cardGrid{
    padding: 20px 10px; }
  .moduleWrapper .cardGrid_wrapper_single{
    margin-right: 0;
    width: 100%; }
  .moduleWrapper .cardGrid_wrapper_single_link{
    padding: 11px 0; }
  .moduleWrapper .contactForm{
    padding: 20px 10px; }
  .moduleWrapper .contactForm_side_background{
    display: none; }
  .moduleWrapper .contactForm_wrapper::after{
    clear: both;
    content: "";
    display: block; }
  .moduleWrapper .contactForm_wrapper_side{
    padding: 20px 10px 20px 10px;
    margin: -20px -10px 0 -10px; }
  .moduleWrapper .contactForm_wrapper_form{
    margin-top: 20px; }
  .footer_lower_social{
    width: 100%;
    float: none;
    text-align: center; }
  .footer_lower_newsletter_signup{
    width: 100%;
    float: none;
    padding: 20px 0; }
  .footer_lower_newsletter_signup .gfield_label{
    text-align: center; }
  .footer_lower_newsletter_signup .gform_footer{
    position: relative;
    top: 0;
    right: 0;
    margin-top: 20px;
    text-align: center; }
  .footer_top{
    padding: 0 20px; }
  .footer_top_menu_wrapper{
    padding: 0 15px 0 15px;
    text-align: center; }
  .footer_top_logo{
    width: 70%;
    margin: 20px auto; }
  .footer_top_social_icon{
    float: none; }
  .footer_bottom_wrapper span{
    display: block; }
  .footer_bottom_wrapper_single a{
    float: none; }
  .footer_lower_newsletter_signup .gform_validation_error .gform_footer{
    top: 0;
    right: 0; }
  .moduleWrapper .imageAlternator_wrapper_content{
    padding: 25px 10px; }
  .moduleWrapper .imageGrid_single_content h4{
    font-size: 14px;
    line-height: 20px; }
  .blog .news_block, .archive .main .news_block{
    display: block; }
  .blog .news_block_content, .archive .main .news_block_content{
    padding-top: 0;
    width: 100%; }
  .blog .news_block_content .news_content, .archive .main .news_block_content .news_content{
    padding: 15px 10px; }
  .blog .news_block_content .news_content .text_container, .archive .main .news_block_content .news_content .text_container{
    width: 100%;
    padding: 10px 0 0 0; }
  .blog .news_block_content .news_content .text_container h5, .archive .main .news_block_content .news_content .text_container h5{
    margin-bottom: 3px; }
  .blog .news_block_content .news_content .text_container p, .archive .main .news_block_content .news_content .text_container p{
    margin-bottom: 8px; }
  .blog .news_block_sidebar, .archive .main .news_block_sidebar{
    padding: 0 10px;
    width: 100%;
    position: relative; }
  .blog .news_block_sidebar aside, .archive .main .news_block_sidebar aside{
    padding-top: 10px; }
  .blog .news_block_sidebar aside ul, .archive .main .news_block_sidebar aside ul{
    margin-bottom: 25px; }
  .moduleWrapper .latestNews_list_item:hover{
    -webkit-transform: none;
    -ms-transform: none;
    transform: none;
    box-shadow: none;
    background: transparent; }
  .moduleWrapper .latestNews_list{
    display: block; }
  .moduleWrapper .latestNews_list_item{
    width: 100%;
    float: none; }
  .pagination{
    padding: 0 30px; }
  .pagination_list{
    width: 100%; }
  .pagination_list_single_current:before{
    height: 20px;
    width: 20px;
    top: -1px;
    left: -5px; }
  .moduleWrapper .offsetTextFullImage:after{
    display: none; }
  .moduleWrapper .offsetTextFullImage_single_item_image{
    display: none; }
  .moduleWrapper .offsetTextFullImage_single_item_content{
    padding: 15px; }
  .single-post .main .hero{
    padding-top: 170px;
    padding-bottom: 30px; }
  .single-post .main .news_block .single_news_wrapper .single_news_relatedcontent_wrapper{
    padding: 20px 10px 0px 10px;
    float: left;
    width: 100%; }
  .single-post .main .news_block .single_news_wrapper .single_news_relatedcontent{
    padding: 20px 10px 10px 10px; }
  .single-post .main .news_block .single_news_wrapper{
    padding: 30px 10px; }
  .single-post .main .news_block .single_news_wrapper .alignleft, .single-post .main .news_block .single_news_wrapper .alignright{
    padding: 5px 0px;
    display: block;
    max-width: none;
    width: 100%; }
  .single-post .main .news_block .single_news_wrapper .aligncenter{
    padding: 10px 0; }
  .single-post .main .news_block .single_news_wrapper .alignnone{
    display: block;
    padding: 10px 0;
    margin: 0;
    width: 100%; }
  .single-post .main .news_block .navigator_list_single-prev{
    width: 50%; }
  .single-post .main .news_block .navigator_list_single-index{
    display: none; }
  .single-post .main .news_block .navigator_list_single-next{
    width: 50%; }
  .single-post .main .news_block .sidebar aside{
    padding: 10px; }
  .single-post .main .news_block .sidebar aside ul{
    margin-bottom: 25px; }
  .single_news_related_content{
    padding: 0; }
  .moduleWrapper .quote_container_wrapper{
    width: 100%;
    padding: 30px 20px; }
  .moduleWrapper .quote_container_wrapper_attribution img{
    display: block;
    width: 40px;
    height: 40px;
    margin: 6px auto; }
  .moduleWrapper .title .title_wrapper{
    padding: 20px 10px 10px 10px; }
  .home .hero + .moduleWrapper-title .title_wrapper{
    padding: 20px; }
  .moduleWrapper .videoModule_wrapper_videoPlayer{
    padding: 20px 10px; }
  .moduleWrapper .videoModule_wrapper_content{
    padding: 20px 10px; }
  .moduleWrapper .wysiwyg{
    padding: 30px 10px; }
  .moduleWrapper .wysiwyg .alignleft, .moduleWrapper .wysiwyg .alignright, .moduleWrapper .wysiwyg .alignnone, .moduleWrapper .wysiwyg .aligncenter{
    display: block;
    width: 100%;
    margin: 15px 0; }
  .headerMenu_single-menu .headerMenu_single_link:after{
    display: none; } }

@media screen and (min-width: 960px) and (max-width: 1439px){
  .moduleWrapper .cardGrid_wrapper_single_content_title{
    margin-bottom: 15px; }
  .moduleWrapper .cardGrid-columnsTwo .cardGrid_wrapper_single{
    width: calc((100% - 25px)/2); }
  .moduleWrapper .cardGrid-columnsTwo .cardGrid_wrapper_single:nth-child(2n){
    margin-right: 0; }
  .moduleWrapper .cardGrid-columnsThree .cardGrid_wrapper_single{
    width: calc((100% - 25px*2)/3); }
  .moduleWrapper .cardGrid-columnsThree .cardGrid_wrapper_single:nth-child(3n){
    margin-right: 0; }
  .moduleWrapper .cardGrid-columnsFour .cardGrid_wrapper_single{
    width: calc((100% - 25px*3)/4); }
  .moduleWrapper .cardGrid-columnsFour .cardGrid_wrapper_single:nth-child(4n){
    margin-right: 0; }
  .moduleWrapper .cardGrid-columnsFive .cardGrid_wrapper_single{
    width: calc((100% - 25px*5)/5); }
  .moduleWrapper .cardGrid-columnsFive .cardGrid_wrapper_single:nth-child(5n){
    margin-right: 0; }
  .footer_top{
    padding: 0 20px; } }

@media screen and (min-width: 1400px){
  .moduleWrapper .contactForm_side_background{
    width: calc((100% - 1200px)/2 + 450px); }
  .moduleWrapper .contactForm_wrapper_form{
    margin-left: 120px; }
  .blog .news_block_content, .archive .main .news_block_content{
    width: calc((100vw - 1200px)/2 + 857px); }
  .blog .news_block_content .news_content, .archive .main .news_block_content .news_content{
    width: calc((100vw - 1200px)/2 + 857px);
    padding-left: calc((100vw - 1200px)/2); }
  .blog .news_block_content-noSidebar, .archive .main .news_block_content-noSidebar{
    padding-left: 100px;
    padding-right: 100px;
    width: 100%; }
  .blog .news_block_content-noSidebar .news_content, .archive .main .news_block_content-noSidebar .news_content{
    margin-left: auto;
    margin-right: auto;
    max-width: 1200px;
    padding-left: 0;
    padding-right: 0;
    width: 100%; }
  .blog .news_block_sidebar, .archive .main .news_block_sidebar{
    width: calc((100vw - 1200px)/2 + 343px);
    padding-right: calc((100vw - 1200px)/2); }
  .pagination-news{
    padding-left: calc((100vw - 1200px)/2);
    width: calc((100vw - 1200px)/2 + 857px); }
  .pagination_list_single_current:before{
    left: -6px;
    top: 1px; }
  .single-post .main .news_block .single_news_wrapper .single_news_content{
    padding-left: calc((100vw - 1200px)/2 + 40px); }
  .single-post .main .news_block .single_news_wrapper-noSidebar .single_news_content{
    padding-right: calc((100vw - 1200px)/2 + 40px); } }

@media screen and (max-width: 760px){
  .blog .news_block_content, .archive .main .news_block_content{
    padding-top: 0; }
  .blog .news_block_content .news_content, .archive .main .news_block_content .news_content{
    padding: 20px; }
  .blog .news_block_content .news_content .img_container, .archive .main .news_block_content .news_content .img_container{
    display: none; }
  .blog .news_block_content .news_content .text_container, .archive .main .news_block_content .news_content .text_container{
    width: 100%;
    padding: 20px 0 0 0; } }

@media screen and (min-width: 960px) and (max-width: 999px){
  .blog .news_block_content .news_content .img_container, .archive .main .news_block_content .news_content .img_container{
    width: 224px;
    height: 168px; }
  .blog .news_block_content .news_content .text_container, .archive .main .news_block_content .news_content .text_container{
    width: calc(100% - 224px); } }

@media screen and (min-width: 1000px) and (max-width: 1200px){
  .blog .news_block_content .news_content .img_container, .archive .main .news_block_content .news_content .img_container{
    width: 256px;
    height: 192px; }
  .blog .news_block_content .news_content .text_container, .archive .main .news_block_content .news_content .text_container{
    width: calc(100% - 256px); } }

@media screen and (min-width: 500px) and (max-width: 959px){
  .moduleWrapper .newsletter{
    text-align: center; }
  .single-post .main .news_block .sidebar{
    width: 32.2%;
    min-height: 100%; }
  .single-post .main .news_block .sidebar aside{
    padding: 20px; }
  .single-post .main .news_block .sidebar aside ul{
    margin-bottom: 35px; }
  .moduleWrapper .quote_container_wrapper{
    width: 100%;
    padding: 40px 20px; }
  .moduleWrapper .quote_container_wrapper_attribution img{
    width: 49px;
    height: 49px; }
  .headerMenu_single-menu .headerMenu_single_link:after{
    display: none; } }

/*# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIm1haW4uY3NzIiwiLi4vLi4vbm9kZV9tb2R1bGVzL2JvdXJib24tbmVhdC9hcHAvYXNzZXRzL3N0eWxlc2hlZXRzL2dyaWQvX2JveC1zaXppbmcuc2NzcyIsImJhc2UvX25vcm1hbGl6ZS5zY3NzIiwiYmFzZS9fZ2xvYmFscy5zY3NzIiwiYmFzZS9faGVscGVycy5zY3NzIiwic2tpbi9mb250cy9fYmFzZS5zY3NzIiwic2tpbi9fdmFyaWFibGVzLnNjc3MiLCIuLi8uLi9ub2RlX21vZHVsZXMvYm91cmJvbi9hcHAvYXNzZXRzL3N0eWxlc2hlZXRzL2NzczMvX2ZvbnQtZmFjZS5zY3NzIiwic2tpbi9mb250cy9faWNvbmZvbnQuc2NzcyIsIi4uLy4uL25vZGVfbW9kdWxlcy9ib3VyYm9uL2FwcC9hc3NldHMvc3R5bGVzaGVldHMvaGVscGVycy9fZm9udC1zb3VyY2UtZGVjbGFyYXRpb24uc2NzcyIsInNraW4vX2hlbHBlcnMuc2NzcyIsIi4uLy4uL25vZGVfbW9kdWxlcy9ib3VyYm9uLW5lYXQvYXBwL2Fzc2V0cy9zdHlsZXNoZWV0cy9ncmlkL19vdXRlci1jb250YWluZXIuc2NzcyIsIi4uLy4uL25vZGVfbW9kdWxlcy9ib3VyYm9uL2FwcC9hc3NldHMvc3R5bGVzaGVldHMvZnVuY3Rpb25zL19weC10by1lbS5zY3NzIiwiLi4vLi4vbm9kZV9tb2R1bGVzL2JvdXJib24tbmVhdC9hcHAvYXNzZXRzL3N0eWxlc2hlZXRzL21peGlucy9fY2xlYXJmaXguc2NzcyIsIi4uLy4uL25vZGVfbW9kdWxlcy9ib3VyYm9uLW5lYXQvYXBwL2Fzc2V0cy9zdHlsZXNoZWV0cy9ncmlkL19zcGFuLWNvbHVtbnMuc2NzcyIsIi4uLy4uL25vZGVfbW9kdWxlcy9ib3VyYm9uLW5lYXQvYXBwL2Fzc2V0cy9zdHlsZXNoZWV0cy9ncmlkL19wcml2YXRlLnNjc3MiLCIuLi8uLi9ub2RlX21vZHVsZXMvYm91cmJvbi1uZWF0L2FwcC9hc3NldHMvc3R5bGVzaGVldHMvZ3JpZC9fc2hpZnQuc2NzcyIsIi4uLy4uL25vZGVfbW9kdWxlcy9ib3VyYm9uLW5lYXQvYXBwL2Fzc2V0cy9zdHlsZXNoZWV0cy9ncmlkL19vbWVnYS5zY3NzIiwic2tpbi9jb21wb25lbnRzL2J1dHRvbnMvX19tYWluLWJ1dHRvbnMuc2NzcyIsIi4uLy4uL25vZGVfbW9kdWxlcy9ib3VyYm9uL2FwcC9hc3NldHMvc3R5bGVzaGVldHMvYWRkb25zL19wcmVmaXhlci5zY3NzIiwic2tpbi9jb21wb25lbnRzL2ludGVyYWN0aXZlL19mb3JtLnNjc3MiLCJza2luL2NvbXBvbmVudHMvaW50ZXJhY3RpdmUvX21hcHMuc2NzcyIsInNraW4vY29tcG9uZW50cy9pbnRlcmFjdGl2ZS9fdmlkZW8uc2NzcyIsInNraW4vY29tcG9uZW50cy9sYXlvdXQvX2NhcmRzLnNjc3MiLCIuLi8uLi9ub2RlX21vZHVsZXMvYm91cmJvbi9hcHAvYXNzZXRzL3N0eWxlc2hlZXRzL2NzczMvX2ZsZXgtYm94LnNjc3MiLCJza2luL2NvbXBvbmVudHMvbGF5b3V0L19jb250YWN0LWZvcm0uc2NzcyIsInNraW4vY29tcG9uZW50cy9sYXlvdXQvX2Zvb3Rlci5zY3NzIiwic2tpbi9jb21wb25lbnRzL2xheW91dC9fZnVsbC1pbWFnZS1zbGlkZXIuc2NzcyIsInNraW4vY29tcG9uZW50cy9sYXlvdXQvX2hlcm8uc2NzcyIsInNraW4vY29tcG9uZW50cy9sYXlvdXQvX2ltYWdlLnNjc3MiLCJza2luL2NvbXBvbmVudHMvbGF5b3V0L19pbWFnZS1hbHRlcm5hdG9yLnNjc3MiLCJza2luL2NvbXBvbmVudHMvbGF5b3V0L19pbWFnZS1ncmlkLnNjc3MiLCIuLi8uLi9ub2RlX21vZHVsZXMvYm91cmJvbi9hcHAvYXNzZXRzL3N0eWxlc2hlZXRzL2NzczMvX3RyYW5zaXRpb24uc2NzcyIsIi4uLy4uL25vZGVfbW9kdWxlcy9ib3VyYm9uL2FwcC9hc3NldHMvc3R5bGVzaGVldHMvZnVuY3Rpb25zL190cmFuc2l0aW9uLXByb3BlcnR5LW5hbWUuc2NzcyIsInNraW4vY29tcG9uZW50cy9sYXlvdXQvX2luZGV4LnNjc3MiLCJza2luL2NvbXBvbmVudHMvbGF5b3V0L19sYXRlc3QtbmV3cy5zY3NzIiwic2tpbi9jb21wb25lbnRzL2xheW91dC9fbmV3c2xldHRlci5zY3NzIiwic2tpbi9jb21wb25lbnRzL2xheW91dC9fcGFnaW5hdGlvbi5zY3NzIiwic2tpbi9jb21wb25lbnRzL2xheW91dC9fb2Zmc2V0X3RleHRfZnVsbF9pbWFnZS5zY3NzIiwic2tpbi9jb21wb25lbnRzL2xheW91dC9fcGljdHVyZS1iYWNrZ3JvdW5kLnNjc3MiLCJza2luL2NvbXBvbmVudHMvbGF5b3V0L19wb3N0LnNjc3MiLCJza2luL2NvbXBvbmVudHMvbGF5b3V0L19xdW90ZS5zY3NzIiwic2tpbi9jb21wb25lbnRzL2xheW91dC9fdGl0bGUuc2NzcyIsInNraW4vY29tcG9uZW50cy9sYXlvdXQvX3R3b19pbWFnZV90ZXh0X2JveC5zY3NzIiwic2tpbi9jb21wb25lbnRzL2xheW91dC9fdmlkZW8uc2NzcyIsInNraW4vY29tcG9uZW50cy9sYXlvdXQvX3d5c2l3eWcuc2NzcyIsInNraW4vY29tcG9uZW50cy9uYXZpZ2F0aW9uL19ib2R5LnNjc3MiLCJza2luL2NvbXBvbmVudHMvbmF2aWdhdGlvbi9faGVhZGVyTWVudS5zY3NzIiwic2tpbi9jb21wb25lbnRzL25hdmlnYXRpb24vX2hlYWRlclNjcmVlbi5zY3NzIiwic2tpbi9jb21wb25lbnRzL25hdmlnYXRpb24vX2hlYWRlclRvZ2dsZS5zY3NzIiwic2tpbi92ZW5kb3Ivc2xpY2svX3NsaWNrLnNjc3MiLCJza2luL3ZlbmRvci9zbGljay9fc2xpY2stdGhlbWUuc2NzcyIsInNraW4vX2FwcC5zY3NzIiwiLi4vLi4vbm9kZV9tb2R1bGVzL2JvdXJib24tbmVhdC9hcHAvYXNzZXRzL3N0eWxlc2hlZXRzL2dyaWQvX21lZGlhLnNjc3MiLCIuLi8uLi9ub2RlX21vZHVsZXMvYm91cmJvbi9hcHAvYXNzZXRzL3N0eWxlc2hlZXRzL2FkZG9u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QnZCO0VBdmViO0lBeWR3QixjQUFhLEVBSWhCO0VBN2RyQjtJQTJkNEIsb0JBQW1CLEVBQ3RCO0VDL2N6QjtJQXVDYSxZQUFXO0lBQ1IsbUJBQWtCLEVBcUI1QjtFQTdETjtJQTJDWSxZQUFXO0lBQ1gsYUFBWSxFQUNaO0VNd01aO0lBQ0ksY0FBYSxFQUNoQixFWGxMQSIsImZpbGUiOiJtYWluLmNzcyIsInNvdXJjZXNDb250ZW50IjpbIkBjaGFyc2V0IFwiVVRGLThcIjtcbmh0bWwge1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94OyB9XG5cbiosICo6OmFmdGVyLCAqOjpiZWZvcmUge1xuICBib3gtc2l6aW5nOiBpbmhlcml0OyB9XG5cbi8qISBub3JtYWxpemUuY3NzIHYyLjEuMCB8IE1JVCBMaWNlbnNlIHwgZ2l0LmlvL25vcm1hbGl6ZSAqL1xuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIEhUTUw1IGRpc3BsYXkgZGVmaW5pdGlvbnNcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKipcbiAqIENvcnJlY3QgYGJsb2NrYCBkaXNwbGF5IG5vdCBkZWZpbmVkIGluIElFIDgvOS5cbiAqL1xuYXJ0aWNsZSxcbmFzaWRlLFxuZGV0YWlscyxcbmZpZ2NhcHRpb24sXG5maWd1cmUsXG5mb290ZXIsXG5oZWFkZXIsXG5oZ3JvdXAsXG5tYWluLFxubmF2LFxuc2VjdGlvbixcbnN1bW1hcnkge1xuICBkaXNwbGF5OiBibG9jazsgfVxuXG4vKipcbiAqIENvcnJlY3QgYGlubGluZS1ibG9ja2AgZGlzcGxheSBub3QgZGVmaW5lZCBpbiBJRSA4LzkuXG4gKi9cbmF1ZGlvLFxuY2FudmFzLFxudmlkZW8ge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7IH1cblxuLyoqXG4gKiBQcmV2ZW50IG1vZGVybiBicm93c2VycyBmcm9tIGRpc3BsYXlpbmcgYGF1ZGlvYCB3aXRob3V0IGNvbnRyb2xzLlxuICogUmVtb3ZlIGV4Y2VzcyBoZWlnaHQgaW4gaU9TIDUgZGV2aWNlcy5cbiAqL1xuYXVkaW86bm90KFtjb250cm9sc10pIHtcbiAgZGlzcGxheTogbm9uZTtcbiAgaGVpZ2h0OiAwOyB9XG5cbi8qKlxuICogQWRkcmVzcyBzdHlsaW5nIG5vdCBwcmVzZW50IGluIElFIDgvOS5cbiAqL1xuW2hpZGRlbl0ge1xuICBkaXNwbGF5OiBub25lOyB9XG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBCYXNlXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLyoqXG4gKiAxLiBTZXQgZGVmYXVsdCBmb250IGZhbWlseSB0byBzYW5zLXNlcmlmLlxuICogMi4gUHJldmVudCBpT1MgdGV4dCBzaXplIGFkanVzdCBhZnRlciBvcmllbnRhdGlvbiBjaGFuZ2UsIHdpdGhvdXQgZGlzYWJsaW5nXG4gKiAgICB1c2VyIHpvb20uXG4gKi9cbmh0bWwge1xuICBmb250LWZhbWlseTogc2Fucy1zZXJpZjtcbiAgLyogMSAqL1xuICAtd2Via2l0LXRleHQtc2l6ZS1hZGp1c3Q6IDEwMCU7XG4gIC8qIDIgKi9cbiAgLW1zLXRleHQtc2l6ZS1hZGp1c3Q6IDEwMCU7XG4gIC8qIDIgKi8gfVxuXG4vKipcbiAqIFJlbW92ZSBkZWZhdWx0IG1hcmdpbi5cbiAqL1xuYm9keSB7XG4gIG1hcmdpbjogMDsgfVxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgTGlua3NcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5hIHtcbiAgb3V0bGluZTogMCAhaW1wb3J0YW50OyB9XG5cbi8qKlxuICogQWRkcmVzcyBgb3V0bGluZWAgaW5jb25zaXN0ZW5jeSBiZXR3ZWVuIENocm9tZSBhbmQgb3RoZXIgYnJvd3NlcnMuXG4gKi9cbmE6Zm9jdXMge1xuICBvdXRsaW5lOiB0aGluIGRvdHRlZDsgfVxuXG4vKipcbiAqIEltcHJvdmUgcmVhZGFiaWxpdHkgd2hlbiBmb2N1c2VkIGFuZCBhbHNvIG1vdXNlIGhvdmVyZWQgaW4gYWxsIGJyb3dzZXJzLlxuICovXG5hOmFjdGl2ZSxcbmE6aG92ZXIge1xuICBvdXRsaW5lOiAwOyB9XG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBUeXBvZ3JhcGh5XG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLyoqXG4gKiBBZGRyZXNzIHZhcmlhYmxlIGBoMWAgZm9udC1zaXplIGFuZCBtYXJnaW4gd2l0aGluIGBzZWN0aW9uYCBhbmQgYGFydGljbGVgXG4gKiBjb250ZXh0cyBpbiBGaXJlZm94IDQrLCBTYWZhcmkgNSwgYW5kIENocm9tZS5cbiAqL1xuaDEge1xuICBmb250LXNpemU6IDJlbTtcbiAgbWFyZ2luOiAwOyB9XG5cbi8qKlxuICogQWRkcmVzcyBzdHlsaW5nIG5vdCBwcmVzZW50IGluIElFIDgvOSwgU2FmYXJpIDUsIGFuZCBDaHJvbWUuXG4gKi9cbmFiYnJbdGl0bGVdIHtcbiAgYm9yZGVyLWJvdHRvbTogMXB4IGRvdHRlZDsgfVxuXG4vKipcbiAqIEFkZHJlc3Mgc3R5bGUgc2V0IHRvIGBib2xkZXJgIGluIEZpcmVmb3ggNCssIFNhZmFyaSA1LCBhbmQgQ2hyb21lLlxuICovXG5iLFxuc3Ryb25nIHtcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7IH1cblxuLyoqXG4gKiBBZGRyZXNzIHN0eWxpbmcgbm90IHByZXNlbnQgaW4gU2FmYXJpIDUgYW5kIENocm9tZS5cbiAqL1xuZGZuIHtcbiAgZm9udC1zdHlsZTogaXRhbGljOyB9XG5cbi8qKlxuICogQWRkcmVzcyBkaWZmZXJlbmNlcyBiZXR3ZWVuIEZpcmVmb3ggYW5kIG90aGVyIGJyb3dzZXJzLlxuICovXG5ociB7XG4gIC1tb3otYm94LXNpemluZzogY29udGVudC1ib3g7XG4gIGJveC1zaXppbmc6IGNvbnRlbnQtYm94O1xuICBoZWlnaHQ6IDA7IH1cblxuLyoqXG4gKiBBZGRyZXNzIHN0eWxpbmcgbm90IHByZXNlbnQgaW4gSUUgOC85LlxuICovXG5tYXJrIHtcbiAgYmFja2dyb3VuZDogI2ZmMDtcbiAgY29sb3I6ICMwMDA7IH1cblxuLyoqXG4gKiBDb3JyZWN0IGZvbnQgZmFtaWx5IHNldCBvZGRseSBpbiBTYWZhcmkgNSBhbmQgQ2hyb21lLlxuICovXG5jb2RlLFxua2JkLFxucHJlLFxuc2FtcCB7XG4gIGZvbnQtZmFtaWx5OiBtb25vc3BhY2UsIHNlcmlmO1xuICBmb250LXNpemU6IDFlbTsgfVxuXG4vKipcbiAqIEltcHJvdmUgcmVhZGFiaWxpdHkgb2YgcHJlLWZvcm1hdHRlZCB0ZXh0IGluIGFsbCBicm93c2Vycy5cbiAqL1xucHJlIHtcbiAgd2hpdGUtc3BhY2U6IHByZS13cmFwOyB9XG5cbi8qKlxuICogU2V0IGNvbnNpc3RlbnQgcXVvdGUgdHlwZXMuXG4gKi9cbnEge1xuICBxdW90ZXM6IFwiXFwyMDFDXCIgXCJcXDIwMURcIiBcIlxcMjAxOFwiIFwiXFwyMDE5XCI7IH1cblxuLyoqXG4gKiBBZGRyZXNzIGluY29uc2lzdGVudCBhbmQgdmFyaWFibGUgZm9udCBzaXplIGluIGFsbCBicm93c2Vycy5cbiAqL1xuc21hbGwge1xuICBmb250LXNpemU6IDgwJTsgfVxuXG4vKipcbiAqIFByZXZlbnQgYHN1YmAgYW5kIGBzdXBgIGFmZmVjdGluZyBgbGluZS1oZWlnaHRgIGluIGFsbCBicm93c2Vycy5cbiAqL1xuc3ViLFxuc3VwIHtcbiAgZm9udC1zaXplOiA3NSU7XG4gIGxpbmUtaGVpZ2h0OiAwO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHZlcnRpY2FsLWFsaWduOiBiYXNlbGluZTsgfVxuXG5zdXAge1xuICB0b3A6IC0wLjVlbTsgfVxuXG5zdWIge1xuICBib3R0b206IC0wLjI1ZW07IH1cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIEVtYmVkZGVkIGNvbnRlbnRcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKipcbiAqIFJlbW92ZSBib3JkZXIgd2hlbiBpbnNpZGUgYGFgIGVsZW1lbnQgaW4gSUUgOC85LlxuICovXG5pbWcge1xuICBib3JkZXI6IDA7IH1cblxuLyoqXG4gKiBDb3JyZWN0IG92ZXJmbG93IGRpc3BsYXllZCBvZGRseSBpbiBJRSA5LlxuICovXG5zdmc6bm90KDpyb290KSB7XG4gIG92ZXJmbG93OiBoaWRkZW47IH1cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIEZpZ3VyZXNcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKipcbiAqIEFkZHJlc3MgbWFyZ2luIG5vdCBwcmVzZW50IGluIElFIDgvOSBhbmQgU2FmYXJpIDUuXG4gKi9cbmZpZ3VyZSB7XG4gIG1hcmdpbjogMDsgfVxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgRm9ybXNcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKipcbiAqIERlZmluZSBjb25zaXN0ZW50IGJvcmRlciwgbWFyZ2luLCBhbmQgcGFkZGluZy5cbiAqL1xuZmllbGRzZXQge1xuICBib3JkZXI6IDFweCBzb2xpZCAjYzBjMGMwO1xuICBtYXJnaW46IDAgMnB4O1xuICBwYWRkaW5nOiAwLjM1ZW0gMC42MjVlbSAwLjc1ZW07IH1cblxuLyoqXG4gKiAxLiBDb3JyZWN0IGBjb2xvcmAgbm90IGJlaW5nIGluaGVyaXRlZCBpbiBJRSA4LzkuXG4gKiAyLiBSZW1vdmUgcGFkZGluZyBzbyBwZW9wbGUgYXJlbid0IGNhdWdodCBvdXQgaWYgdGhleSB6ZXJvIG91dCBmaWVsZHNldHMuXG4gKi9cbmxlZ2VuZCB7XG4gIGJvcmRlcjogMDtcbiAgLyogMSAqL1xuICBwYWRkaW5nOiAwO1xuICAvKiAyICovIH1cblxuLyoqXG4gKiAxLiBDb3JyZWN0IGZvbnQgZmFtaWx5IG5vdCBiZWluZyBpbmhlcml0ZWQgaW4gYWxsIGJyb3dzZXJzLlxuICogMi4gQ29ycmVjdCBmb250IHNpemUgbm90IGJlaW5nIGluaGVyaXRlZCBpbiBhbGwgYnJvd3NlcnMuXG4gKiAzLiBBZGRyZXNzIG1hcmdpbnMgc2V0IGRpZmZlcmVudGx5IGluIEZpcmVmb3ggNCssIFNhZmFyaSA1LCBhbmQgQ2hyb21lLlxuICovXG5idXR0b24sXG5pbnB1dCxcbnNlbGVjdCxcbnRleHRhcmVhIHtcbiAgZm9udC1mYW1pbHk6IGluaGVyaXQ7XG4gIC8qIDEgKi9cbiAgZm9udC1zaXplOiAxMDAlO1xuICAvKiAyICovXG4gIG1hcmdpbjogMDtcbiAgLyogMyAqLyB9XG5cbi8qKlxuICogQWRkcmVzcyBGaXJlZm94IDQrIHNldHRpbmcgYGxpbmUtaGVpZ2h0YCBvbiBgaW5wdXRgIHVzaW5nIGAhaW1wb3J0YW50YCBpblxuICogdGhlIFVBIHN0eWxlc2hlZXQuXG4gKi9cbmJ1dHRvbixcbmlucHV0IHtcbiAgbGluZS1oZWlnaHQ6IG5vcm1hbDsgfVxuXG4vKipcbiAqIEFkZHJlc3MgaW5jb25zaXN0ZW50IGB0ZXh0LXRyYW5zZm9ybWAgaW5oZXJpdGFuY2UgZm9yIGBidXR0b25gIGFuZCBgc2VsZWN0YC5cbiAqIEFsbCBvdGhlciBmb3JtIGNvbnRyb2wgZWxlbWVudHMgZG8gbm90IGluaGVyaXQgYHRleHQtdHJhbnNmb3JtYCB2YWx1ZXMuXG4gKiBDb3JyZWN0IGBidXR0b25gIHN0eWxlIGluaGVyaXRhbmNlIGluIENocm9tZSwgU2FmYXJpIDUrLCBhbmQgSUUgOCsuXG4gKiBDb3JyZWN0IGBzZWxlY3RgIHN0eWxlIGluaGVyaXRhbmNlIGluIEZpcmVmb3ggNCsgYW5kIE9wZXJhLlxuICovXG5idXR0b24sXG5zZWxlY3Qge1xuICB0ZXh0LXRyYW5zZm9ybTogbm9uZTsgfVxuXG4vKipcbiAqIDEuIEF2b2lkIHRoZSBXZWJLaXQgYnVnIGluIEFuZHJvaWQgNC4wLiogd2hlcmUgKDIpIGRlc3Ryb3lzIG5hdGl2ZSBgYXVkaW9gXG4gKiAgICBhbmQgYHZpZGVvYCBjb250cm9scy5cbiAqIDIuIENvcnJlY3QgaW5hYmlsaXR5IHRvIHN0eWxlIGNsaWNrYWJsZSBgaW5wdXRgIHR5cGVzIGluIGlPUy5cbiAqIDMuIEltcHJvdmUgdXNhYmlsaXR5IGFuZCBjb25zaXN0ZW5jeSBvZiBjdXJzb3Igc3R5bGUgYmV0d2VlbiBpbWFnZS10eXBlXG4gKiAgICBgaW5wdXRgIGFuZCBvdGhlcnMuXG4gKi9cbmJ1dHRvbixcbmh0bWwgaW5wdXRbdHlwZT1cImJ1dHRvblwiXSxcbmlucHV0W3R5cGU9XCJyZXNldFwiXSxcbmlucHV0W3R5cGU9XCJzdWJtaXRcIl0ge1xuICAtd2Via2l0LWFwcGVhcmFuY2U6IGJ1dHRvbjtcbiAgLyogMiAqL1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIC8qIDMgKi8gfVxuXG4vKipcbiAqIFJlLXNldCBkZWZhdWx0IGN1cnNvciBmb3IgZGlzYWJsZWQgZWxlbWVudHMuXG4gKi9cbmJ1dHRvbltkaXNhYmxlZF0sXG5odG1sIGlucHV0W2Rpc2FibGVkXSB7XG4gIGN1cnNvcjogZGVmYXVsdDsgfVxuXG4vKipcbiAqIDEuIEFkZHJlc3MgYm94IHNpemluZyBzZXQgdG8gYGNvbnRlbnQtYm94YCBpbiBJRSA4LzkuXG4gKiAyLiBSZW1vdmUgZXhjZXNzIHBhZGRpbmcgaW4gSUUgOC85LlxuICovXG5pbnB1dFt0eXBlPVwiY2hlY2tib3hcIl0sXG5pbnB1dFt0eXBlPVwicmFkaW9cIl0ge1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAvKiAxICovXG4gIHBhZGRpbmc6IDA7XG4gIC8qIDIgKi8gfVxuXG4vKipcbiAqIDEuIEFkZHJlc3MgYGFwcGVhcmFuY2VgIHNldCB0byBgc2VhcmNoZmllbGRgIGluIFNhZmFyaSA1IGFuZCBDaHJvbWUuXG4gKiAyLiBBZGRyZXNzIGBib3gtc2l6aW5nYCBzZXQgdG8gYGJvcmRlci1ib3hgIGluIFNhZmFyaSA1IGFuZCBDaHJvbWVcbiAqICAgIChpbmNsdWRlIGAtbW96YCB0byBmdXR1cmUtcHJvb2YpLlxuICovXG5pbnB1dFt0eXBlPVwic2VhcmNoXCJdIHtcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiB0ZXh0ZmllbGQ7XG4gIC8qIDEgKi9cbiAgLW1vei1ib3gtc2l6aW5nOiBjb250ZW50LWJveDtcbiAgLXdlYmtpdC1ib3gtc2l6aW5nOiBjb250ZW50LWJveDtcbiAgLyogMiAqL1xuICBib3gtc2l6aW5nOiBjb250ZW50LWJveDsgfVxuXG4vKipcbiAqIFJlbW92ZSBpbm5lciBwYWRkaW5nIGFuZCBzZWFyY2ggY2FuY2VsIGJ1dHRvbiBpbiBTYWZhcmkgNSBhbmQgQ2hyb21lXG4gKiBvbiBPUyBYLlxuICovXG5pbnB1dFt0eXBlPVwic2VhcmNoXCJdOjotd2Via2l0LXNlYXJjaC1jYW5jZWwtYnV0dG9uLFxuaW5wdXRbdHlwZT1cInNlYXJjaFwiXTo6LXdlYmtpdC1zZWFyY2gtZGVjb3JhdGlvbiB7XG4gIC13ZWJraXQtYXBwZWFyYW5jZTogbm9uZTsgfVxuXG4vKipcbiAqIFJlbW92ZSBpbm5lciBwYWRkaW5nIGFuZCBib3JkZXIgaW4gRmlyZWZveCA0Ky5cbiAqL1xuYnV0dG9uOjotbW96LWZvY3VzLWlubmVyLFxuaW5wdXQ6Oi1tb3otZm9jdXMtaW5uZXIge1xuICBib3JkZXI6IDA7XG4gIHBhZGRpbmc6IDA7IH1cblxuLyoqXG4gKiAxLiBSZW1vdmUgZGVmYXVsdCB2ZXJ0aWNhbCBzY3JvbGxiYXIgaW4gSUUgOC85LlxuICogMi4gSW1wcm92ZSByZWFkYWJpbGl0eSBhbmQgYWxpZ25tZW50IGluIGFsbCBicm93c2Vycy5cbiAqL1xudGV4dGFyZWEge1xuICBvdmVyZmxvdzogYXV0bztcbiAgLyogMSAqL1xuICB2ZXJ0aWNhbC1hbGlnbjogdG9wO1xuICAvKiAyICovIH1cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIFRhYmxlc1xuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8qKlxuICogUmVtb3ZlIG1vc3Qgc3BhY2luZyBiZXR3ZWVuIHRhYmxlIGNlbGxzLlxuICovXG50YWJsZSB7XG4gIGJvcmRlci1jb2xsYXBzZTogY29sbGFwc2U7XG4gIGJvcmRlci1zcGFjaW5nOiAwOyB9XG5cbioge1xuICBtYXJnaW46IDAgMCAwIDA7XG4gIHBhZGRpbmc6IDA7IH1cblxuKixcbio6YWZ0ZXIsXG4qOjpiZWZvcmUge1xuICAtd2Via2l0LWJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gIC1tb3otYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDsgfVxuXG5odG1sLFxuYm9keSB7XG4gIGhlaWdodDogMTAwJTsgfVxuXG5ib2R5IHtcbiAgb3ZlcmZsb3cteDogaGlkZGVuOyB9XG5cbio6Zm9jdXMge1xuICBvdXRsaW5lOiBub25lOyB9XG5cbnRleHRhcmVhLFxuaW5wdXRbdHlwZT1cInRleHRcIl0sXG5pbnB1dFt0eXBlPVwibnVtYmVyXCJdLFxuaW5wdXRbdHlwZT1cImVtYWlsXCJdIHtcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lO1xuICBib3JkZXItcmFkaXVzOiAwOyB9XG5cbmlucHV0W3R5cGU9XCJidXR0b25cIl0sXG5pbnB1dFt0eXBlPVwic3VibWl0XCJdIHtcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lOyB9XG5cbmJ1dHRvbjphY3RpdmU6YmVmb3JlLCBidXR0b246Zm9jdXM6YmVmb3JlIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB0b3A6IDA7XG4gIGxlZnQ6IDA7IH1cblxuaW1nIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIG1heC13aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiBhdXRvOyB9XG5cbmh0bWwge1xuICBmb250LXNpemU6IDE2cHg7XG4gIGxpbmUtaGVpZ2h0OiAyNHB4OyB9XG5cbmJvZHkge1xuICBmb250LXNpemU6IDEwMCU7XG4gIC13ZWJraXQtZm9udC1zbW9vdGhpbmc6IGFudGlhbGlhc2VkO1xuICAtbW96LW9zeC1mb250LXNtb290aGluZzogZ3JheXNjYWxlO1xuICBiYWNrZ3JvdW5kOiAjZmZmZmZmO1xuICBmb250LWZhbWlseTogXCJwcm94aW1hLW5vdmFcIixzYW5zLXNlcmlmO1xuICBmb250LXdlaWdodDogNDAwOyB9XG5cbmgxLCBoMiwgaDMsIGg0LCBoNSwgaDYsIGJsb2NrcXVvdGUgcCwgY2l0ZSxcbi5oMSwgLmgyLCAuaDMsIC5oNCwgLmg1LCAuaDYge1xuICBmb250LWZhbWlseTogXCJwcm94aW1hLW5vdmFcIixzYW5zLXNlcmlmOyB9XG5cbmgxLCBoMiwgaDMsIGg0LCBoNSwgaDYsIHAsIGJsb2NrcXVvdGUsIHVsLCBvbCB7XG4gIG1hcmdpbi1ib3R0b206IDEwcHg7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNTAwcHgpIHtcbiAgICBoMSwgaDIsIGgzLCBoNCwgaDUsIGg2LCBwLCBibG9ja3F1b3RlLCB1bCwgb2wge1xuICAgICAgbWFyZ2luLWJvdHRvbTogMTVweDsgfSB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDk2MHB4KSB7XG4gICAgaDEsIGgyLCBoMywgaDQsIGg1LCBoNiwgcCwgYmxvY2txdW90ZSwgdWwsIG9sIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDEwcHg7IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxNDQwcHgpIHtcbiAgICBoMSwgaDIsIGgzLCBoNCwgaDUsIGg2LCBwLCBibG9ja3F1b3RlLCB1bCwgb2wge1xuICAgICAgbWFyZ2luLWJvdHRvbTogMTVweDsgfSB9XG5cbmgxLCAuaDEge1xuICB0ZXh0LXRyYW5zZm9ybTogbm9uZTtcbiAgbGV0dGVyLXNwYWNpbmc6IDAuMDgyZW07XG4gIGZvbnQtc2l6ZTogMzcuNHB4O1xuICBsaW5lLWhlaWdodDogNDcuNHB4O1xuICBmb250LXZhcmlhbnQtbGlnYXR1cmVzOiBuby1jb21tb24tbGlnYXR1cmVzO1xuICAtd2Via2l0LWZvbnQtdmFyaWFudC1saWdhdHVyZXM6IG5vLWNvbW1vbi1saWdhdHVyZXM7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNTAwcHgpIHtcbiAgICBoMSwgLmgxIHtcbiAgICAgIGZvbnQtc2l6ZTogNDcuNnB4O1xuICAgICAgbGluZS1oZWlnaHQ6IDU3LjZweDsgfSB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDk2MHB4KSB7XG4gICAgaDEsIC5oMSB7XG4gICAgICBmb250LXNpemU6IDU3LjhweDtcbiAgICAgIGxpbmUtaGVpZ2h0OiA2Ny44cHg7IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxNDQwcHgpIHtcbiAgICBoMSwgLmgxIHtcbiAgICAgIGZvbnQtc2l6ZTogNjhweDtcbiAgICAgIGxpbmUtaGVpZ2h0OiA3OHB4OyB9IH1cblxuaDIsIC5oMiB7XG4gIHRleHQtdHJhbnNmb3JtOiBub25lO1xuICBsZXR0ZXItc3BhY2luZzogMC4wNThlbTtcbiAgZm9udC1zaXplOiAyNi40cHg7XG4gIGxpbmUtaGVpZ2h0OiAzNi40cHg7XG4gIGNvbG9yOiAjNEE0QTRBO1xuICBsZXR0ZXItc3BhY2luZzogaW5pdGlhbDsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA1MDBweCkge1xuICAgIGgyLCAuaDIge1xuICAgICAgZm9udC1zaXplOiAzMy42cHg7XG4gICAgICBsaW5lLWhlaWdodDogNDMuNnB4OyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogOTYwcHgpIHtcbiAgICBoMiwgLmgyIHtcbiAgICAgIGZvbnQtc2l6ZTogNDAuOHB4O1xuICAgICAgbGluZS1oZWlnaHQ6IDUwLjhweDsgfSB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDE0NDBweCkge1xuICAgIGgyLCAuaDIge1xuICAgICAgZm9udC1zaXplOiA0OHB4O1xuICAgICAgbGluZS1oZWlnaHQ6IDU4cHg7IH0gfVxuXG5oMywgLmgzIHtcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgbGV0dGVyLXNwYWNpbmc6IDAuMDI5ZW07XG4gIGZvbnQtc2l6ZTogMTUuNnB4O1xuICBsaW5lLWhlaWdodDogMjUuNnB4O1xuICBmb250LXdlaWdodDogNzAwO1xuICBjb2xvcjogIzRBNEE0QTsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA1MDBweCkge1xuICAgIGgzLCAuaDMge1xuICAgICAgZm9udC1zaXplOiAxOS4ycHg7XG4gICAgICBsaW5lLWhlaWdodDogMjkuMnB4OyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogOTYwcHgpIHtcbiAgICBoMywgLmgzIHtcbiAgICAgIGZvbnQtc2l6ZTogMjAuNHB4O1xuICAgICAgbGluZS1oZWlnaHQ6IDMwLjRweDsgfSB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDE0NDBweCkge1xuICAgIGgzLCAuaDMge1xuICAgICAgZm9udC1zaXplOiAyNHB4O1xuICAgICAgbGluZS1oZWlnaHQ6IDM0cHg7IH0gfVxuXG5oNCwgLmg0IHtcbiAgdGV4dC10cmFuc2Zvcm06IG5vbmU7XG4gIGxldHRlci1zcGFjaW5nOiAwLjE1ZW07XG4gIGZvbnQtc2l6ZTogMTNweDtcbiAgbGluZS1oZWlnaHQ6IDIzcHg7XG4gIGxldHRlci1zcGFjaW5nOiBpbml0aWFsOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDUwMHB4KSB7XG4gICAgaDQsIC5oNCB7XG4gICAgICBmb250LXNpemU6IDE2cHg7XG4gICAgICBsaW5lLWhlaWdodDogMjZweDsgfSB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDk2MHB4KSB7XG4gICAgaDQsIC5oNCB7XG4gICAgICBmb250LXNpemU6IDE3cHg7XG4gICAgICBsaW5lLWhlaWdodDogMjdweDsgfSB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDE0NDBweCkge1xuICAgIGg0LCAuaDQge1xuICAgICAgZm9udC1zaXplOiAyMHB4O1xuICAgICAgbGluZS1oZWlnaHQ6IDMwcHg7IH0gfVxuXG5oNSwgLmg1IHtcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgbGV0dGVyLXNwYWNpbmc6IDAuMTVlbTtcbiAgZm9udC1zaXplOiAxNC45NXB4O1xuICBsaW5lLWhlaWdodDogMjQuOTVweDsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA1MDBweCkge1xuICAgIGg1LCAuaDUge1xuICAgICAgZm9udC1zaXplOiAxOC40cHg7XG4gICAgICBsaW5lLWhlaWdodDogMjguNHB4OyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogOTYwcHgpIHtcbiAgICBoNSwgLmg1IHtcbiAgICAgIGZvbnQtc2l6ZTogMTkuNTVweDtcbiAgICAgIGxpbmUtaGVpZ2h0OiAyOS41NXB4OyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTQ0MHB4KSB7XG4gICAgaDUsIC5oNSB7XG4gICAgICBmb250LXNpemU6IDIzcHg7XG4gICAgICBsaW5lLWhlaWdodDogMzNweDsgfSB9XG5cbmg2LCAuaDYge1xuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICBsZXR0ZXItc3BhY2luZzogMC4wMjRlbTtcbiAgZm9udC1zaXplOiAxNXB4O1xuICBsaW5lLWhlaWdodDogMjVweDtcbiAgY29sb3I6ICM0QTRBNEE7XG4gIGZvbnQtd2VpZ2h0OiA3MDA7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNTAwcHgpIHtcbiAgICBoNiwgLmg2IHtcbiAgICAgIGZvbnQtc2l6ZTogMTdweDtcbiAgICAgIGxpbmUtaGVpZ2h0OiAyN3B4OyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogOTYwcHgpIHtcbiAgICBoNiwgLmg2IHtcbiAgICAgIGZvbnQtc2l6ZTogMThweDtcbiAgICAgIGxpbmUtaGVpZ2h0OiAyOHB4OyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTQ0MHB4KSB7XG4gICAgaDYsIC5oNiB7XG4gICAgICBmb250LXNpemU6IDIwcHg7XG4gICAgICBsaW5lLWhlaWdodDogMzBweDsgfSB9XG5cbmJsb2NrcXVvdGUgcCwgLmJsb2NrcXVvdGUgcCB7XG4gIHRleHQtdHJhbnNmb3JtOiBub25lO1xuICBsZXR0ZXItc3BhY2luZzogMC4wMzRlbTtcbiAgZm9udC1zaXplOiAxNS42cHg7XG4gIGxpbmUtaGVpZ2h0OiAyNS42cHg7XG4gIGZvbnQtc3R5bGU6IGl0YWxpYztcbiAgZm9udC13ZWlnaHQ6IDcwMDsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA1MDBweCkge1xuICAgIGJsb2NrcXVvdGUgcCwgLmJsb2NrcXVvdGUgcCB7XG4gICAgICBmb250LXNpemU6IDE5LjJweDtcbiAgICAgIGxpbmUtaGVpZ2h0OiAyOS4ycHg7IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA5NjBweCkge1xuICAgIGJsb2NrcXVvdGUgcCwgLmJsb2NrcXVvdGUgcCB7XG4gICAgICBmb250LXNpemU6IDIwLjRweDtcbiAgICAgIGxpbmUtaGVpZ2h0OiAzMC40cHg7IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxNDQwcHgpIHtcbiAgICBibG9ja3F1b3RlIHAsIC5ibG9ja3F1b3RlIHAge1xuICAgICAgZm9udC1zaXplOiAyNHB4O1xuICAgICAgbGluZS1oZWlnaHQ6IDM0cHg7IH0gfVxuXG5zcGFuLnB1bGxRdW90ZSB7XG4gIHRleHQtdHJhbnNmb3JtOiBub25lO1xuICBsZXR0ZXItc3BhY2luZzogMC4wNWVtO1xuICBmb250LXNpemU6IDE1LjZweDtcbiAgbGluZS1oZWlnaHQ6IDI1LjZweDtcbiAgZm9udC1zdHlsZTogaXRhbGljO1xuICBjb2xvcjogI0YxOEUwMjtcbiAgZm9udC13ZWlnaHQ6IDQwMDsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA1MDBweCkge1xuICAgIHNwYW4ucHVsbFF1b3RlIHtcbiAgICAgIGZvbnQtc2l6ZTogMTkuMnB4O1xuICAgICAgbGluZS1oZWlnaHQ6IDI5LjJweDsgfSB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDk2MHB4KSB7XG4gICAgc3Bhbi5wdWxsUXVvdGUge1xuICAgICAgZm9udC1zaXplOiAyMC40cHg7XG4gICAgICBsaW5lLWhlaWdodDogMzAuNHB4OyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTQ0MHB4KSB7XG4gICAgc3Bhbi5wdWxsUXVvdGUge1xuICAgICAgZm9udC1zaXplOiAyNHB4O1xuICAgICAgbGluZS1oZWlnaHQ6IDM0cHg7IH0gfVxuXG5wLCBvbCwgdWwsIGxpIHtcbiAgdGV4dC10cmFuc2Zvcm06IG5vbmU7XG4gIGxldHRlci1zcGFjaW5nOiAwLjAzZW07XG4gIGZvbnQtc2l6ZTogMTVweDtcbiAgbGluZS1oZWlnaHQ6IDI1cHg7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNTAwcHgpIHtcbiAgICBwLCBvbCwgdWwsIGxpIHtcbiAgICAgIGZvbnQtc2l6ZTogMTdweDtcbiAgICAgIGxpbmUtaGVpZ2h0OiAyN3B4OyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogOTYwcHgpIHtcbiAgICBwLCBvbCwgdWwsIGxpIHtcbiAgICAgIGZvbnQtc2l6ZTogMThweDtcbiAgICAgIGxpbmUtaGVpZ2h0OiAyOHB4OyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTQ0MHB4KSB7XG4gICAgcCwgb2wsIHVsLCBsaSB7XG4gICAgICBmb250LXNpemU6IDIwcHg7XG4gICAgICBsaW5lLWhlaWdodDogMzBweDsgfSB9XG4gIHAuYmlnLCBvbC5iaWcsIHVsLmJpZywgbGkuYmlnIHtcbiAgICB0ZXh0LXRyYW5zZm9ybTogbm9uZTtcbiAgICBsZXR0ZXItc3BhY2luZzogMC4wNGVtO1xuICAgIGZvbnQtc2l6ZTogMTYuMjVweDtcbiAgICBsaW5lLWhlaWdodDogMjYuMjVweDsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDUwMHB4KSB7XG4gICAgICBwLmJpZywgb2wuYmlnLCB1bC5iaWcsIGxpLmJpZyB7XG4gICAgICAgIGZvbnQtc2l6ZTogMjBweDtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDMwcHg7IH0gfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDk2MHB4KSB7XG4gICAgICBwLmJpZywgb2wuYmlnLCB1bC5iaWcsIGxpLmJpZyB7XG4gICAgICAgIGZvbnQtc2l6ZTogMjEuMjVweDtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDMxLjI1cHg7IH0gfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDE0NDBweCkge1xuICAgICAgcC5iaWcsIG9sLmJpZywgdWwuYmlnLCBsaS5iaWcge1xuICAgICAgICBmb250LXNpemU6IDI1cHg7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAzNXB4OyB9IH1cblxucCwgLnAsIHVsLCBvbCwgbGkge1xuICBjb2xvcjogIzRBNEE0QTtcbiAgZm9udC1mYW1pbHk6IFwicHJveGltYS1ub3ZhXCIsc2Fucy1zZXJpZjtcbiAgZm9udC13ZWlnaHQ6IDQwMDsgfVxuXG5idXR0b24sIC5idXR0b24ge1xuICBmb250LXdlaWdodDogNzAwO1xuICBmb250LWZhbWlseTogXCJwcm94aW1hLW5vdmFcIixzYW5zLXNlcmlmOyB9XG5cbmEge1xuICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcbiAgY29sb3I6ICNGMThFMDI7IH1cbiAgYTpob3ZlciB7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lOyB9XG5cbm9sLCB1bCB7XG4gIGxpc3Qtc3R5bGUtcG9zaXRpb246IGluc2lkZTsgfVxuXG5iIHtcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7IH1cblxuLmNvbmRlbnNlIHtcbiAgZm9udC1zaXplOiA4NSU7IH1cblxuLmxlYWQge1xuICBmb250LXNpemU6IDEyNSU7IH1cblxuLnNob3V0IHtcbiAgdGV4dC10cmFuc2Zvcm06IG5vbmU7IH1cblxuLmxvd2VyY2FzZSB7XG4gIHRleHQtdHJhbnNmb3JtOiBub25lICFpbXBvcnRhbnQ7IH1cblxuYm9keS50eXBlLWd1aWRlIC5jb2xvciB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgcGFkZGluZzogMzBweDtcbiAgbWFyZ2luOiAwO1xuICB3aWR0aDogMTQuMjg1NzE0Mjg2JTtcbiAgZmxvYXQ6IGxlZnQ7XG4gIHRleHQtYWxpZ246IGNlbnRlcjsgfVxuXG5ib2R5LnR5cGUtZ3VpZGUgcC5ndWlkZS1pY29ucyB7XG4gIGZvbnQtZmFtaWx5OiBcIkljb25zXCIsIHNhbnMtc2VyaWY7XG4gIGZvbnQtc2l6ZTogMzBweDsgfVxuXG5AZm9udC1mYWNlIHtcbiAgZm9udC1mYW1pbHk6IEljb25zO1xuICBmb250LXN0eWxlOiBub3JtYWw7XG4gIGZvbnQtd2VpZ2h0OiA0MDA7XG4gIHNyYzogdXJsKFwiL2Fzc2V0cy9wdWJsaWMvZm9udHMvaWNvbnMvaWNvbnMuZW90PyNpZWZpeFwiKSBmb3JtYXQoXCJlbWJlZGRlZC1vcGVudHlwZVwiKSwgdXJsKFwiL2Fzc2V0cy9wdWJsaWMvZm9udHMvaWNvbnMvaWNvbnMud29mZjJcIikgZm9ybWF0KFwid29mZjJcIiksIHVybChcIi9hc3NldHMvcHVibGljL2ZvbnRzL2ljb25zL2ljb25zLndvZmZcIikgZm9ybWF0KFwid29mZlwiKSwgdXJsKFwiL2Fzc2V0cy9wdWJsaWMvZm9udHMvaWNvbnMvaWNvbnMudHRmXCIpIGZvcm1hdChcInRydWV0eXBlXCIpLCB1cmwoXCIvYXNzZXRzL3B1YmxpYy9mb250cy9pY29ucy9pY29ucy5zdmcjSWNvbnNcIikgZm9ybWF0KFwic3ZnXCIpOyB9XG5cbi5saW5lLWJlaGluZC10ZXh0IHtcbiAgaGVpZ2h0OiAxMnB4O1xuICBtYXJnaW46IDQwcHggMDtcbiAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICNlNmU2ZTY7XG4gIHRleHQtYWxpZ246IGNlbnRlcjsgfVxuICAubGluZS1iZWhpbmQtdGV4dCBoMiwgLmxpbmUtYmVoaW5kLXRleHQgaDQge1xuICAgIGRpc3BsYXk6IGlubGluZTtcbiAgICBwYWRkaW5nOiAwIDEwcHg7XG4gICAgYmFja2dyb3VuZDogd2hpdGU7IH1cbiAgLmxpbmUtYmVoaW5kLXRleHQgaDIge1xuICAgIGZvbnQtc2l6ZTogMzZweDtcbiAgICBsaW5lLWhlaWdodDogMS41OyB9XG5cbi5zaW5nbGUtcG9zdCAuZ3JpZC13cmFwcGVyLFxuLmJsb2cgLmdyaWQtd3JhcHBlcixcbi5jYXRlZ29yeSAuZ3JpZC13cmFwcGVyLFxuLmFyY2hpdmUgLmdyaWQtd3JhcHBlciB7XG4gIG1heC13aWR0aDogNjBlbTtcbiAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gIG1hcmdpbi1yaWdodDogYXV0bzsgfVxuICAuc2luZ2xlLXBvc3QgLmdyaWQtd3JhcHBlcjo6YWZ0ZXIsXG4gIC5ibG9nIC5ncmlkLXdyYXBwZXI6OmFmdGVyLFxuICAuY2F0ZWdvcnkgLmdyaWQtd3JhcHBlcjo6YWZ0ZXIsXG4gIC5hcmNoaXZlIC5ncmlkLXdyYXBwZXI6OmFmdGVyIHtcbiAgICBjbGVhcjogYm90aDtcbiAgICBjb250ZW50OiBcIlwiO1xuICAgIGRpc3BsYXk6IGJsb2NrOyB9XG4gIC5zaW5nbGUtcG9zdCAuZ3JpZC13cmFwcGVyIGFydGljbGUsXG4gIC5ibG9nIC5ncmlkLXdyYXBwZXIgYXJ0aWNsZSxcbiAgLmNhdGVnb3J5IC5ncmlkLXdyYXBwZXIgYXJ0aWNsZSxcbiAgLmFyY2hpdmUgLmdyaWQtd3JhcHBlciBhcnRpY2xlIHtcbiAgICBmbG9hdDogbGVmdDtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBtYXJnaW4tcmlnaHQ6IDIuMzU3NjUlO1xuICAgIHdpZHRoOiA1Ny4zNTA5OCU7XG4gICAgbWFyZ2luLWxlZnQ6IDQuMjY0OSU7IH1cbiAgICAuc2luZ2xlLXBvc3QgLmdyaWQtd3JhcHBlciBhcnRpY2xlOmxhc3QtY2hpbGQsXG4gICAgLmJsb2cgLmdyaWQtd3JhcHBlciBhcnRpY2xlOmxhc3QtY2hpbGQsXG4gICAgLmNhdGVnb3J5IC5ncmlkLXdyYXBwZXIgYXJ0aWNsZTpsYXN0LWNoaWxkLFxuICAgIC5hcmNoaXZlIC5ncmlkLXdyYXBwZXIgYXJ0aWNsZTpsYXN0LWNoaWxkIHtcbiAgICAgIG1hcmdpbi1yaWdodDogMDsgfVxuICAuc2luZ2xlLXBvc3QgLmdyaWQtd3JhcHBlciAuc2lkZWJhcixcbiAgLmJsb2cgLmdyaWQtd3JhcHBlciAuc2lkZWJhcixcbiAgLmNhdGVnb3J5IC5ncmlkLXdyYXBwZXIgLnNpZGViYXIsXG4gIC5hcmNoaXZlIC5ncmlkLXdyYXBwZXIgLnNpZGViYXIge1xuICAgIGZsb2F0OiBsZWZ0O1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIG1hcmdpbi1yaWdodDogMi4zNTc2NSU7XG4gICAgd2lkdGg6IDIzLjIzMTc2JTtcbiAgICBtYXJnaW4tbGVmdDogNC4yNjQ5JTtcbiAgICBtYXJnaW4tcmlnaHQ6IDA7IH1cbiAgICAuc2luZ2xlLXBvc3QgLmdyaWQtd3JhcHBlciAuc2lkZWJhcjpsYXN0LWNoaWxkLFxuICAgIC5ibG9nIC5ncmlkLXdyYXBwZXIgLnNpZGViYXI6bGFzdC1jaGlsZCxcbiAgICAuY2F0ZWdvcnkgLmdyaWQtd3JhcHBlciAuc2lkZWJhcjpsYXN0LWNoaWxkLFxuICAgIC5hcmNoaXZlIC5ncmlkLXdyYXBwZXIgLnNpZGViYXI6bGFzdC1jaGlsZCB7XG4gICAgICBtYXJnaW4tcmlnaHQ6IDA7IH1cbiAgLnNpbmdsZS1wb3N0IC5ncmlkLXdyYXBwZXIgLmJsb2ctcGFnaW5hdGlvbixcbiAgLmJsb2cgLmdyaWQtd3JhcHBlciAuYmxvZy1wYWdpbmF0aW9uLFxuICAuY2F0ZWdvcnkgLmdyaWQtd3JhcHBlciAuYmxvZy1wYWdpbmF0aW9uLFxuICAuYXJjaGl2ZSAuZ3JpZC13cmFwcGVyIC5ibG9nLXBhZ2luYXRpb24ge1xuICAgIGNsZWFyOiBib3RoOyB9XG5cbi5idXR0b24ge1xuICAtd2Via2l0LXRyYW5zaXRpb246IGFsbCAwLjI1cztcbiAgLW1vei10cmFuc2l0aW9uOiBhbGwgMC4yNXM7XG4gIHRyYW5zaXRpb246IGFsbCAwLjI1cztcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgbGV0dGVyLXNwYWNpbmc6IDAuMTVlbTtcbiAgZm9udC1zaXplOiAxNS42cHg7XG4gIGxpbmUtaGVpZ2h0OiAyNS42cHg7XG4gIGxpbmUtaGVpZ2h0OiAxMDAlICFpbXBvcnRhbnQ7XG4gIHBhZGRpbmc6IDE1cHggMzBweDtcbiAgYm9yZGVyLXJhZGl1czogMHB4O1xuICBjb2xvcjogd2hpdGU7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgYm9yZGVyLXdpZHRoOiAycHg7XG4gIGJvcmRlci1zdHlsZTogc29saWQ7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNTAwcHgpIHtcbiAgICAuYnV0dG9uIHtcbiAgICAgIGZvbnQtc2l6ZTogMTkuMnB4O1xuICAgICAgbGluZS1oZWlnaHQ6IDI5LjJweDsgfSB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDk2MHB4KSB7XG4gICAgLmJ1dHRvbiB7XG4gICAgICBmb250LXNpemU6IDIwLjRweDtcbiAgICAgIGxpbmUtaGVpZ2h0OiAzMC40cHg7IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxNDQwcHgpIHtcbiAgICAuYnV0dG9uIHtcbiAgICAgIGZvbnQtc2l6ZTogMjRweDtcbiAgICAgIGxpbmUtaGVpZ2h0OiAzNHB4OyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogOTU5cHgpIHtcbiAgICAuYnV0dG9uIHtcbiAgICAgIHBhZGRpbmc6IDEzcHggMzBweDsgfSB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDQ5OXB4KSB7XG4gICAgLmJ1dHRvbiB7XG4gICAgICBwYWRkaW5nOiAxMXB4IDI2cHg7IH0gfVxuICAuYnV0dG9uLnByaW1hcnkge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB6LWluZGV4OiAxO1xuICAgIGJvcmRlcjogbm9uZTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjRjE4RTAyO1xuICAgIGNvbG9yOiAjZmZmZmZmO1xuICAgIHBhZGRpbmctcmlnaHQ6IDY5cHg7IH1cbiAgICAuYnV0dG9uLnByaW1hcnk6YWZ0ZXIge1xuICAgICAgLXdlYmtpdC10cmFuc2l0aW9uOiBhbGwgMC4yNXM7XG4gICAgICAtbW96LXRyYW5zaXRpb246IGFsbCAwLjI1cztcbiAgICAgIHRyYW5zaXRpb246IGFsbCAwLjI1cztcbiAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICB0b3A6IDA7XG4gICAgICByaWdodDogMDtcbiAgICAgIHdpZHRoOiAzOXB4O1xuICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgYmFja2dyb3VuZDogcmdiYSgyMTYsIDIxNiwgMjE2LCAwLjIpIHVybChkYXRhOmltYWdlL3N2Zyt4bWw7YmFzZTY0LFBEOTRiV3dnZG1WeWMybHZiajBpTVM0d0lpQmxibU52WkdsdVp6MGlkWFJtTFRnaVB6NDhjM1puSUhabGNuTnBiMjQ5SWpFdU1TSWdhV1E5SWt4aGVXVnlYekVpSUhodGJHNXpQU0pvZEhSd09pOHZkM2QzTG5jekxtOXlaeTh5TURBd0wzTjJaeUlnZUcxc2JuTTZlR3hwYm1zOUltaDBkSEE2THk5M2QzY3Vkek11YjNKbkx6RTVPVGt2ZUd4cGJtc2lJSGc5SWpCd2VDSWdlVDBpTUhCNElpQjJhV1YzUW05NFBTSXdJREFnTVRBdU9DQTJJaUJ6ZEhsc1pUMGlaVzVoWW14bExXSmhZMnRuY205MWJtUTZibVYzSURBZ01DQXhNQzQ0SURZN0lpQjRiV3c2YzNCaFkyVTlJbkJ5WlhObGNuWmxJajQ4YzNSNWJHVWdkSGx3WlQwaWRHVjRkQzlqYzNNaVBpNXpkREI3Wm1sc2JEb2pSa1pHUmtaR08zMDhMM04wZVd4bFBqeHdiMng1WjI5dUlHTnNZWE56UFNKemREQWlJSEJ2YVc1MGN6MGlNQ3d3SURBc05pQXhNQzQ0TERNZ0lpOCtQQzl6ZG1jKykgbm8tcmVwZWF0IGNlbnRlciBjZW50ZXI7XG4gICAgICBiYWNrZ3JvdW5kLXNpemU6IDE1cHggYXV0bzsgfVxuICAgIC5idXR0b24ucHJpbWFyeTpob3ZlciB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZDg3ZjAyOyB9XG4gIC5idXR0b24uc2Vjb25kYXJ5IHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgei1pbmRleDogMTtcbiAgICBib3JkZXI6IG5vbmU7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZmZmZjtcbiAgICBjb2xvcjogI0YxOEUwMjtcbiAgICBwYWRkaW5nLXJpZ2h0OiA2OXB4OyB9XG4gICAgLmJ1dHRvbi5zZWNvbmRhcnk6YWZ0ZXIge1xuICAgICAgY29udGVudDogJyc7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHRvcDogMDtcbiAgICAgIHJpZ2h0OiAwO1xuICAgICAgd2lkdGg6IDM5cHg7XG4gICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICBiYWNrZ3JvdW5kOiByZ2JhKDI0MSwgMTQyLCAyLCAwLjIpIHVybChkYXRhOmltYWdlL3N2Zyt4bWw7YmFzZTY0LFBEOTRiV3dnZG1WeWMybHZiajBpTVM0d0lpQmxibU52WkdsdVp6MGlkWFJtTFRnaVB6NDhjM1puSUhabGNuTnBiMjQ5SWpFdU1TSWdhV1E5SWt4aGVXVnlYekVpSUhodGJHNXpQU0pvZEhSd09pOHZkM2QzTG5jekxtOXlaeTh5TURBd0wzTjJaeUlnZUcxc2JuTTZlR3hwYm1zOUltaDBkSEE2THk5M2QzY3Vkek11YjNKbkx6RTVPVGt2ZUd4cGJtc2lJSGc5SWpCd2VDSWdlVDBpTUhCNElpQjJhV1YzUW05NFBTSXdJREFnTVRBdU9DQTJJaUJ6ZEhsc1pUMGlaVzVoWW14bExXSmhZMnRuY205MWJtUTZibVYzSURBZ01DQXhNQzQ0SURZN0lpQjRiV3c2YzNCaFkyVTlJbkJ5WlhObGNuWmxJajQ4YzNSNWJHVWdkSGx3WlQwaWRHVjRkQzlqYzNNaVBpNXpkREI3Wm1sc2JEb2pSa1pHUmtaR08zMDhMM04wZVd4bFBqeHdiMng1WjI5dUlHTnNZWE56UFNKemREQWlJSEJ2YVc1MGN6MGlNQ3d3SURBc05pQXhNQzQ0TERNZ0lpOCtQQzl6ZG1jKykgbm8tcmVwZWF0IGNlbnRlciBjZW50ZXI7XG4gICAgICBiYWNrZ3JvdW5kLXNpemU6IDE1cHggYXV0bzsgfVxuICAgIC5idXR0b24uc2Vjb25kYXJ5OmhvdmVyIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICNmMmYyZjI7IH1cbiAgLmJ1dHRvbi5saW5lLXByaW1hcnkge1xuICAgIGJhY2tncm91bmQ6IG5vbmU7XG4gICAgYm9yZGVyLWNvbG9yOiAjZWM5YzJkO1xuICAgIGNvbG9yOiAjZWM5YzJkOyB9XG4gICAgLmJ1dHRvbi5saW5lLXByaW1hcnk6aG92ZXIge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2VjOWMyZDtcbiAgICAgIGNvbG9yOiAjZmZmZmZmO1xuICAgICAgdGV4dC1zaGFkb3c6IG5vbmU7IH1cbiAgLmJ1dHRvbi5saW5lLXNlY29uZGFyeSB7XG4gICAgYm9yZGVyLWNvbG9yOiAjZmZmZmZmO1xuICAgIGNvbG9yOiAjZmZmZmZmOyB9XG4gICAgLmJ1dHRvbi5saW5lLXNlY29uZGFyeTpob3ZlciB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmZmZmO1xuICAgICAgY29sb3I6ICNlYzljMmQ7XG4gICAgICB0ZXh0LXNoYWRvdzogbm9uZTsgfVxuXG4uYnV0dG9uLnByaW1hcnksIC5idXR0b24uc2Vjb25kYXJ5IHtcbiAgdGV4dC1zaGFkb3c6IG5vbmU7IH1cblxuaW5wdXRbdHlwZT1cInRleHRcIl0sXG5pbnB1dFt0eXBlPVwiZW1haWxcIl0sXG5pbnB1dFt0eXBlPVwidGVsXCJdLFxuaW5wdXRbdHlwZT1cInVybFwiXSxcbmlucHV0W3R5cGU9XCJwYXNzd29yZFwiXSxcbmlucHV0W3R5cGU9XCJzZWFyY2hcIl0sXG50ZXh0YXJlYSxcbnNlbGVjdCB7XG4gIGFwcGVhcmFuY2U6IG5vbmU7XG4gIC1tb3otYXBwZWFyYW5jZTogbm9uZTtcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lO1xuICBib3JkZXItcmFkaXVzOiAwO1xuICAtbW96LWJvcmRlci1yYWRpdXM6IDA7XG4gIC13ZWJraXQtYm9yZGVyLXJhZGl1czogMDsgfVxuICBpbnB1dFt0eXBlPVwidGV4dFwiXTpmb2N1cyxcbiAgaW5wdXRbdHlwZT1cImVtYWlsXCJdOmZvY3VzLFxuICBpbnB1dFt0eXBlPVwidGVsXCJdOmZvY3VzLFxuICBpbnB1dFt0eXBlPVwidXJsXCJdOmZvY3VzLFxuICBpbnB1dFt0eXBlPVwicGFzc3dvcmRcIl06Zm9jdXMsXG4gIGlucHV0W3R5cGU9XCJzZWFyY2hcIl06Zm9jdXMsXG4gIHRleHRhcmVhOmZvY3VzLFxuICBzZWxlY3Q6Zm9jdXMge1xuICAgIG91dGxpbmU6IG5vbmU7IH1cblxuLmdmb3JtX2NvbmZpcm1hdGlvbl93cmFwcGVyIHtcbiAgY29sb3I6ICNEOEQ4RDg7XG4gIG1hcmdpbi1ib3R0b206IDEwcHg7IH1cblxuLmdmb3JtX2ZpZWxkcyB7XG4gIGxpc3Qtc3R5bGU6IG5vbmU7XG4gIG1hcmdpbjogMDsgfVxuXG4uZ2ZpZWxkX2xhYmVsIHtcbiAgY29sb3I6ICMyQjJCMkI7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBmb250LXN0eWxlOiBpdGFsaWM7IH1cbiAgLmdmaWVsZF9sYWJlbCAuZ2ZpZWxkX3JlcXVpcmVkIHtcbiAgICBkaXNwbGF5OiBub25lOyB9XG5cbi5naW5wdXRfY29udGFpbmVyIHtcbiAgbWFyZ2luLWJvdHRvbTogMTBweDsgfVxuICAuZ2lucHV0X2NvbnRhaW5lciBpbnB1dFt0eXBlPVwiZW1haWxcIl0sXG4gIC5naW5wdXRfY29udGFpbmVyIGlucHV0W3R5cGU9XCJudW1iZXJcIl0sXG4gIC5naW5wdXRfY29udGFpbmVyIGlucHV0W3R5cGU9XCJ0ZXh0XCJdLFxuICAuZ2lucHV0X2NvbnRhaW5lciB0ZXh0YXJlYSB7XG4gICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gICAgYm9yZGVyOiAxcHggc29saWQgIzJCMkIyQjtcbiAgICBjb2xvcjogI0Q4RDhEODtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBsaW5lLWhlaWdodDogMzJweDtcbiAgICBwYWRkaW5nOiAwIDVweDtcbiAgICB3aWR0aDogMTAwJTsgfVxuICAgIC5naW5wdXRfY29udGFpbmVyIGlucHV0W3R5cGU9XCJlbWFpbFwiXTphY3RpdmUsIC5naW5wdXRfY29udGFpbmVyIGlucHV0W3R5cGU9XCJlbWFpbFwiXTpmb2N1cyxcbiAgICAuZ2lucHV0X2NvbnRhaW5lciBpbnB1dFt0eXBlPVwibnVtYmVyXCJdOmFjdGl2ZSxcbiAgICAuZ2lucHV0X2NvbnRhaW5lciBpbnB1dFt0eXBlPVwibnVtYmVyXCJdOmZvY3VzLFxuICAgIC5naW5wdXRfY29udGFpbmVyIGlucHV0W3R5cGU9XCJ0ZXh0XCJdOmFjdGl2ZSxcbiAgICAuZ2lucHV0X2NvbnRhaW5lciBpbnB1dFt0eXBlPVwidGV4dFwiXTpmb2N1cyxcbiAgICAuZ2lucHV0X2NvbnRhaW5lciB0ZXh0YXJlYTphY3RpdmUsXG4gICAgLmdpbnB1dF9jb250YWluZXIgdGV4dGFyZWE6Zm9jdXMge1xuICAgICAgYm9yZGVyOiAxcHggc29saWQgI0Q4RDhEODtcbiAgICAgIG91dGxpbmU6IDA7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogOTYwcHgpIHtcbiAgICAuZ2lucHV0X2NvbnRhaW5lciB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAyMnB4OyB9XG4gICAgICAuZ2lucHV0X2NvbnRhaW5lciBpbnB1dFt0eXBlPVwiZW1haWxcIl0sXG4gICAgICAuZ2lucHV0X2NvbnRhaW5lciBpbnB1dFt0eXBlPVwibnVtYmVyXCJdLFxuICAgICAgLmdpbnB1dF9jb250YWluZXIgaW5wdXRbdHlwZT1cInRleHRcIl0sXG4gICAgICAuZ2lucHV0X2NvbnRhaW5lciB0ZXh0YXJlYSB7XG4gICAgICAgIGJvcmRlci13aWR0aDogMnB4O1xuICAgICAgICBwYWRkaW5nOiA5cHggMTVweDsgfVxuICAgICAgICAuZ2lucHV0X2NvbnRhaW5lciBpbnB1dFt0eXBlPVwiZW1haWxcIl06YWN0aXZlLCAuZ2lucHV0X2NvbnRhaW5lciBpbnB1dFt0eXBlPVwiZW1haWxcIl06Zm9jdXMsXG4gICAgICAgIC5naW5wdXRfY29udGFpbmVyIGlucHV0W3R5cGU9XCJudW1iZXJcIl06YWN0aXZlLFxuICAgICAgICAuZ2lucHV0X2NvbnRhaW5lciBpbnB1dFt0eXBlPVwibnVtYmVyXCJdOmZvY3VzLFxuICAgICAgICAuZ2lucHV0X2NvbnRhaW5lciBpbnB1dFt0eXBlPVwidGV4dFwiXTphY3RpdmUsXG4gICAgICAgIC5naW5wdXRfY29udGFpbmVyIGlucHV0W3R5cGU9XCJ0ZXh0XCJdOmZvY3VzLFxuICAgICAgICAuZ2lucHV0X2NvbnRhaW5lciB0ZXh0YXJlYTphY3RpdmUsXG4gICAgICAgIC5naW5wdXRfY29udGFpbmVyIHRleHRhcmVhOmZvY3VzIHtcbiAgICAgICAgICBib3JkZXItd2lkdGg6IDJweDsgfVxuICAgICAgLmdpbnB1dF9jb250YWluZXIgaW5wdXRbdHlwZT1cImVtYWlsXCJdLFxuICAgICAgLmdpbnB1dF9jb250YWluZXIgaW5wdXRbdHlwZT1cIm51bWJlclwiXSxcbiAgICAgIC5naW5wdXRfY29udGFpbmVyIGlucHV0W3R5cGU9XCJ0ZXh0XCJdIHtcbiAgICAgICAgaGVpZ2h0OiA1NHB4OyB9IH1cblxuLmdmaWVsZF9lcnJvciB7XG4gIGJhY2tncm91bmQ6IHJnYmEoMTk2LCAwLCAwLCAwLjE1KTtcbiAgbWFyZ2luLXRvcDogMTBweDtcbiAgcGFkZGluZzogMTBweDsgfVxuICAuZ2ZpZWxkX2Vycm9yIC5naW5wdXRfY29udGFpbmVyIHtcbiAgICBtYXJnaW4tYm90dG9tOiA1cHg7IH1cbiAgLmdmaWVsZF9lcnJvciAuZ2ZpZWxkX2xhYmVsLCAuZ2ZpZWxkX2Vycm9yIC52YWxpZGF0aW9uX21lc3NhZ2Uge1xuICAgIGNvbG9yOiAjQzQwMDAwO1xuICAgIGZvbnQtc3R5bGU6IGl0YWxpYztcbiAgICBmb250LXdlaWdodDogNzAwOyB9XG5cbi52YWxpZGF0aW9uX2Vycm9yIHtcbiAgY29sb3I6ICNDNDAwMDA7XG4gIGZvbnQtc3R5bGU6IGl0YWxpYztcbiAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgbWFyZ2luLWJvdHRvbTogMTBweDsgfVxuXG4uZ2Zvcm1fdmFsaWRhdGlvbl9jb250YWluZXIge1xuICBkaXNwbGF5OiBub25lOyB9XG5cbi5naW5wdXRfY29udGFpbmVyX3JhZGlvIHVsLmdmaWVsZF9yYWRpbyBsaSB7XG4gIGxpc3Qtc3R5bGUtdHlwZTogbm9uZTtcbiAgbGlzdC1zdHlsZS10eXBlOiBub25lO1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIG1hcmdpbjogMTVweCAwO1xuICBwYWRkaW5nLWxlZnQ6IDMwcHg7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuICAuZ2lucHV0X2NvbnRhaW5lcl9yYWRpbyB1bC5nZmllbGRfcmFkaW8gbGkgaW5wdXRbdHlwZT1yYWRpb10ge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB2aXNpYmlsaXR5OiBoaWRkZW47IH1cbiAgLmdpbnB1dF9jb250YWluZXJfcmFkaW8gdWwuZ2ZpZWxkX3JhZGlvIGxpIGxhYmVsIHtcbiAgICAtd2Via2l0LXRyYW5zaXRpb246IGFsbCAwLjNzO1xuICAgIC1tb3otdHJhbnNpdGlvbjogYWxsIDAuM3M7XG4gICAgdHJhbnNpdGlvbjogYWxsIDAuM3M7XG4gICAgdGV4dC10cmFuc2Zvcm06IG5vbmU7XG4gICAgbGV0dGVyLXNwYWNpbmc6IDAuMDRlbTtcbiAgICBmb250LXNpemU6IDEzLjVweDtcbiAgICBsaW5lLWhlaWdodDogMjMuNXB4O1xuICAgIGNvbG9yOiBibGFjazsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDUwMHB4KSB7XG4gICAgICAuZ2lucHV0X2NvbnRhaW5lcl9yYWRpbyB1bC5nZmllbGRfcmFkaW8gbGkgbGFiZWwge1xuICAgICAgICBmb250LXNpemU6IDE1LjNweDtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDI1LjNweDsgfSB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogOTYwcHgpIHtcbiAgICAgIC5naW5wdXRfY29udGFpbmVyX3JhZGlvIHVsLmdmaWVsZF9yYWRpbyBsaSBsYWJlbCB7XG4gICAgICAgIGZvbnQtc2l6ZTogMTYuMnB4O1xuICAgICAgICBsaW5lLWhlaWdodDogMjYuMnB4OyB9IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxNDQwcHgpIHtcbiAgICAgIC5naW5wdXRfY29udGFpbmVyX3JhZGlvIHVsLmdmaWVsZF9yYWRpbyBsaSBsYWJlbCB7XG4gICAgICAgIGZvbnQtc2l6ZTogMThweDtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDI4cHg7IH0gfVxuICAgIC5naW5wdXRfY29udGFpbmVyX3JhZGlvIHVsLmdmaWVsZF9yYWRpbyBsaSBsYWJlbDpiZWZvcmUge1xuICAgICAgYm9yZGVyOiAycHggc29saWQgYmxhY2s7XG4gICAgICBjb250ZW50OiAnJztcbiAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgIGhlaWdodDogMjJweDtcbiAgICAgIGxlZnQ6IDA7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICB0b3A6IDJweDtcbiAgICAgIHdpZHRoOiAyMnB4O1xuICAgICAgYm9yZGVyLXJhZGl1czogMTAwJTsgfVxuICAgIC5naW5wdXRfY29udGFpbmVyX3JhZGlvIHVsLmdmaWVsZF9yYWRpbyBsaSBsYWJlbDphZnRlciB7XG4gICAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUoMCk7XG4gICAgICAtbW96LXRyYW5zZm9ybTogc2NhbGUoMCk7XG4gICAgICAtbXMtdHJhbnNmb3JtOiBzY2FsZSgwKTtcbiAgICAgIC1vLXRyYW5zZm9ybTogc2NhbGUoMCk7XG4gICAgICB0cmFuc2Zvcm06IHNjYWxlKDApO1xuICAgICAgLXdlYmtpdC10cmFuc2l0aW9uLWR1cmF0aW9uOiAwLjJzO1xuICAgICAgLW1vei10cmFuc2l0aW9uLWR1cmF0aW9uOiAwLjJzO1xuICAgICAgdHJhbnNpdGlvbi1kdXJhdGlvbjogMC4ycztcbiAgICAgIC13ZWJraXQtdHJhbnNpdGlvbi1wcm9wZXJ0eTogLXdlYmtpdC10cmFuc2Zvcm07XG4gICAgICAtbW96LXRyYW5zaXRpb24tcHJvcGVydHk6IC1tb3otdHJhbnNmb3JtO1xuICAgICAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogdHJhbnNmb3JtO1xuICAgICAgYmFja2dyb3VuZDogI0M0MDAwMDtcbiAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgaGVpZ2h0OiAxMnB4O1xuICAgICAgbGVmdDogNXB4O1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgdG9wOiA3cHg7XG4gICAgICB3aWR0aDogMTJweDtcbiAgICAgIGJvcmRlci1yYWRpdXM6IDEwMCU7IH1cbiAgICAuZ2lucHV0X2NvbnRhaW5lcl9yYWRpbyB1bC5nZmllbGRfcmFkaW8gbGkgbGFiZWw6aG92ZXIge1xuICAgICAgY29sb3I6ICMyQjJCMkI7IH1cbiAgICAgIC5naW5wdXRfY29udGFpbmVyX3JhZGlvIHVsLmdmaWVsZF9yYWRpbyBsaSBsYWJlbDpob3ZlcjpiZWZvcmUge1xuICAgICAgICBib3JkZXI6IDJweCBzb2xpZCBibGFjazsgfVxuICAuZ2lucHV0X2NvbnRhaW5lcl9yYWRpbyB1bC5nZmllbGRfcmFkaW8gbGkgaW5wdXQ6Y2hlY2tlZCArIGxhYmVsOmFmdGVyIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUoMSk7XG4gICAgLW1vei10cmFuc2Zvcm06IHNjYWxlKDEpO1xuICAgIC1tcy10cmFuc2Zvcm06IHNjYWxlKDEpO1xuICAgIC1vLXRyYW5zZm9ybTogc2NhbGUoMSk7XG4gICAgdHJhbnNmb3JtOiBzY2FsZSgxKTsgfVxuICAuZ2lucHV0X2NvbnRhaW5lcl9yYWRpbyB1bC5nZmllbGRfcmFkaW8gbGkgaW5wdXQ6Y2hlY2tlZCArIGxhYmVsOmJlZm9yZSB7XG4gICAgYm9yZGVyLWNvbG9yOiBibGFjazsgfVxuICAuZ2lucHV0X2NvbnRhaW5lcl9yYWRpbyB1bC5nZmllbGRfcmFkaW8gbGkgaW5wdXQ6Y2hlY2tlZCArIGxhYmVsIHtcbiAgICBjb2xvcjogYmxhY2s7IH1cblxuLmdpbnB1dF9jb250YWluZXJfdGV4dGFyZWEgKyAuZ2ZpZWxkX2Rlc2NyaXB0aW9uLCAuZ2lucHV0X2NvbnRhaW5lcl90ZXh0ICsgLmdmaWVsZF9kZXNjcmlwdGlvbiB7XG4gIG1hcmdpbi1ib3R0b206IDIwcHg7IH1cblxuLmdpbnB1dF9jb250YWluZXJfbmFtZSBsYWJlbCB7XG4gIG1hcmdpbi1ib3R0b206IDEwcHg7XG4gIGRpc3BsYXk6IGJsb2NrOyB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDk2MHB4KSB7XG4gIC5naW5wdXRfY29udGFpbmVyIHtcbiAgICBtYXJnaW4tYm90dG9tOiAzMHB4OyB9XG4gIC5naW5wdXRfY29udGFpbmVyX3RleHRhcmVhICsgLmdmaWVsZF9kZXNjcmlwdGlvbiwgLmdpbnB1dF9jb250YWluZXJfdGV4dCArIC5nZmllbGRfZGVzY3JpcHRpb24ge1xuICAgIG1hcmdpbi1ib3R0b206IDMwcHg7IH1cbiAgLmdpbnB1dF9jb250YWluZXJfbmFtZSBsYWJlbCB7XG4gICAgbWFyZ2luLWJvdHRvbTogMTBweDtcbiAgICBkaXNwbGF5OiBibG9jazsgfSB9XG5cbi5nZmllbGRfY2hlY2tib3ggbGkge1xuICBkaXNwbGF5OiBibG9jaztcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBwYWRkaW5nLWxlZnQ6IDMwcHg7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgbWFyZ2luLWJvdHRvbTogMjVweDsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA1MDBweCkge1xuICAgIC5nZmllbGRfY2hlY2tib3ggbGkge1xuICAgICAgbWFyZ2luLWJvdHRvbTogMTVweDsgfSB9XG4gIC5nZmllbGRfY2hlY2tib3ggbGk6bGFzdC1jaGlsZCB7XG4gICAgbWFyZ2luLWJvdHRvbTogMDsgfVxuICAuZ2ZpZWxkX2NoZWNrYm94IGxpIGxhYmVsIHtcbiAgICBjb2xvcjogIzJCMkIyQjtcbiAgICAtd2Via2l0LXRyYW5zaXRpb246IGFsbCAwLjE1cztcbiAgICAtbW96LXRyYW5zaXRpb246IGFsbCAwLjE1cztcbiAgICB0cmFuc2l0aW9uOiBhbGwgMC4xNXM7IH1cbiAgICAuZ2ZpZWxkX2NoZWNrYm94IGxpIGxhYmVsOmJlZm9yZSB7XG4gICAgICBjb250ZW50OiAnJztcbiAgICAgIHdpZHRoOiAyMHB4O1xuICAgICAgaGVpZ2h0OiAyMHB4O1xuICAgICAgYm9yZGVyOiAycHggc29saWQgI0M0MDAwMDtcbiAgICAgIGJhY2tncm91bmQ6IG5vbmU7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICBsZWZ0OiAwcHg7IH1cbiAgICAuZ2ZpZWxkX2NoZWNrYm94IGxpIGxhYmVsOmFmdGVyIHtcbiAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgd2lkdGg6IDlweDtcbiAgICAgIGhlaWdodDogMjJweDtcbiAgICAgIGJvcmRlci1yaWdodDogNHB4IHNvbGlkICNDNDAwMDA7XG4gICAgICBib3JkZXItYm90dG9tOiA0cHggc29saWQgI0M0MDAwMDtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIGxlZnQ6IDExcHg7XG4gICAgICAtbXMtdHJhbnNmb3JtOiByb3RhdGUoNDVkZWcpO1xuICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZSg0NWRlZyk7XG4gICAgICB0cmFuc2Zvcm06IHJvdGF0ZSg0NWRlZyk7XG4gICAgICB0b3A6IC03cHg7XG4gICAgICBvcGFjaXR5OiAwO1xuICAgICAgLXdlYmtpdC10cmFuc2l0aW9uOiBhbGwgMC4xNXM7XG4gICAgICAtbW96LXRyYW5zaXRpb246IGFsbCAwLjE1cztcbiAgICAgIHRyYW5zaXRpb246IGFsbCAwLjE1czsgfVxuICAgIC5nZmllbGRfY2hlY2tib3ggbGkgbGFiZWw6aG92ZXIge1xuICAgICAgY29sb3I6ICNDNDAwMDA7IH1cbiAgICAgIC5nZmllbGRfY2hlY2tib3ggbGkgbGFiZWw6aG92ZXI6YmVmb3JlIHtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiAjQzQwMDAwO1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjQzQwMDAwOyB9XG4gIC5nZmllbGRfY2hlY2tib3ggbGkgaW5wdXQge1xuICAgIGRpc3BsYXk6IG5vbmU7IH1cbiAgLmdmaWVsZF9jaGVja2JveCBsaSBpbnB1dFt0eXBlPVwiY2hlY2tib3hcIl06Y2hlY2tlZCArIGxhYmVsOmFmdGVyIHtcbiAgICBvcGFjaXR5OiAxOyB9XG4gIC5nZmllbGRfY2hlY2tib3ggbGkgaW5wdXRbdHlwZT1cImNoZWNrYm94XCJdOmNoZWNrZWQgKyBsYWJlbCB7XG4gICAgY29sb3I6ICMyQjJCMkI7IH1cbiAgLmdmaWVsZF9jaGVja2JveCBsaSBpbnB1dFt0eXBlPVwiY2hlY2tib3hcIl06Y2hlY2tlZCArIGxhYmVsOmJlZm9yZSB7XG4gICAgYm9yZGVyLWNvbG9yOiAjMkIyQjJCO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmZmZmY7IH1cblxuLmdpbnB1dF9jb250YWluZXJfc2VsZWN0IHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB3aWR0aDogMTAwJTtcbiAgbWFyZ2luLWJvdHRvbTogMjBweDsgfVxuICAuZ2lucHV0X2NvbnRhaW5lcl9zZWxlY3Q6YWZ0ZXIge1xuICAgIGNvbnRlbnQ6ICdnJztcbiAgICBmb250LWZhbWlseTogXCJJY29uc1wiLCBzYW5zLXNlcmlmO1xuICAgIHRleHQtdHJhbnNmb3JtOiBub25lO1xuICAgIGNvbG9yOiAjQzQwMDAwO1xuICAgIHRvcDogY2FsYyg1MCUgLSAxNHB4KTtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgcmlnaHQ6IDI3cHg7XG4gICAgZm9udC1zaXplOiAyMHB4O1xuICAgIHBvaW50ZXItZXZlbnRzOiBub25lOyB9XG4gIC5naW5wdXRfY29udGFpbmVyX3NlbGVjdCBzZWxlY3Qge1xuICAgIGJvcmRlcjogMXB4IHNvbGlkICMyQjJCMkI7XG4gICAgYm9yZGVyLXJhZGl1czogbm9uZTtcbiAgICBiYWNrZ3JvdW5kOiBub25lO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogMzVweDtcbiAgICBwYWRkaW5nOiAwIDE1cHg7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA5NjBweCkge1xuICAgICAgLmdpbnB1dF9jb250YWluZXJfc2VsZWN0IHNlbGVjdCB7XG4gICAgICAgIGhlaWdodDogNTVweDtcbiAgICAgICAgcGFkZGluZzogMCA1NXB4IDAgMTVweDsgfSB9XG5cbi5nZmllbGQ6YWZ0ZXIge1xuICBjbGVhcjogYm90aDtcbiAgY29udGVudDogXCJcIjtcbiAgZGlzcGxheTogdGFibGU7XG4gIHpvb206IDE7IH1cblxuLmdmaWVsZDpiZWZvcmUge1xuICBjbGVhcjogYm90aDtcbiAgY29udGVudDogXCJcIjtcbiAgZGlzcGxheTogdGFibGU7XG4gIHpvb206IDE7IH1cblxuLmdmaWVsZF90aW1lX2hvdXIge1xuICB3aWR0aDogMzAlO1xuICBtYXJnaW4tcmlnaHQ6IDUlO1xuICBmbG9hdDogbGVmdDsgfVxuICAuZ2ZpZWxkX3RpbWVfaG91ciBpIHtcbiAgICBkaXNwbGF5OiBub25lOyB9XG5cbi5nZmllbGRfdGltZV9taW51dGUge1xuICB3aWR0aDogMzAlO1xuICBtYXJnaW4tcmlnaHQ6IDUlO1xuICBmbG9hdDogbGVmdDsgfVxuICAuZ2ZpZWxkX3RpbWVfbWludXRlIGkge1xuICAgIGRpc3BsYXk6IG5vbmU7IH1cblxuLmdmaWVsZF90aW1lX2FtcG0ge1xuICB3aWR0aDogMzAlO1xuICBmbG9hdDogbGVmdDtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBtYXJnaW4tYm90dG9tOiAyMHB4OyB9XG4gIC5nZmllbGRfdGltZV9hbXBtOmFmdGVyIHtcbiAgICBjb250ZW50OiAnZyc7XG4gICAgZm9udC1mYW1pbHk6IFwiSWNvbnNcIiwgc2Fucy1zZXJpZjtcbiAgICB0ZXh0LXRyYW5zZm9ybTogbm9uZTtcbiAgICBjb2xvcjogI0M0MDAwMDtcbiAgICB0b3A6IGNhbGMoNTAlIC0gMTBweCk7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHJpZ2h0OiAyMHB4O1xuICAgIGZvbnQtc2l6ZTogMjBweDtcbiAgICBwb2ludGVyLWV2ZW50czogbm9uZTsgfVxuICAuZ2ZpZWxkX3RpbWVfYW1wbSBzZWxlY3Qge1xuICAgIGJvcmRlcjogMXB4IHNvbGlkICMyQjJCMkI7XG4gICAgYm9yZGVyLXJhZGl1czogbm9uZTtcbiAgICBiYWNrZ3JvdW5kOiBub25lO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogMzVweDtcbiAgICBwYWRkaW5nOiAwIDE1cHg7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA5NjBweCkge1xuICAgICAgLmdmaWVsZF90aW1lX2FtcG0gc2VsZWN0IHtcbiAgICAgICAgaGVpZ2h0OiA1MHB4O1xuICAgICAgICBwYWRkaW5nOiAwIDU1cHggMCAxNXB4OyB9IH1cblxuaDIuZ3NlY3Rpb25fdGl0bGUge1xuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICBsZXR0ZXItc3BhY2luZzogMC4xNmVtO1xuICBmb250LXNpemU6IDE5LjVweDtcbiAgbGluZS1oZWlnaHQ6IDI5LjVweDtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHBhZGRpbmctYm90dG9tOiAxMHB4O1xuICBib3JkZXItYm90dG9tOiAxcHggc29saWQgIzJCMkIyQjtcbiAgY29sb3I6ICNDNDAwMDA7XG4gIG1hcmdpbi10b3A6IDQwcHg7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNTAwcHgpIHtcbiAgICBoMi5nc2VjdGlvbl90aXRsZSB7XG4gICAgICBmb250LXNpemU6IDI0cHg7XG4gICAgICBsaW5lLWhlaWdodDogMzRweDsgfSB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDk2MHB4KSB7XG4gICAgaDIuZ3NlY3Rpb25fdGl0bGUge1xuICAgICAgZm9udC1zaXplOiAyNS41cHg7XG4gICAgICBsaW5lLWhlaWdodDogMzUuNXB4OyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTQ0MHB4KSB7XG4gICAgaDIuZ3NlY3Rpb25fdGl0bGUge1xuICAgICAgZm9udC1zaXplOiAzMHB4O1xuICAgICAgbGluZS1oZWlnaHQ6IDQwcHg7IH0gfVxuXG4uZ2Zvcm1fYm9keSAuZ2ZpZWxkOmZpcnN0LWNoaWxkIC5nc2VjdGlvbl90aXRsZSB7XG4gIG1hcmdpbi10b3A6IDA7IH1cblxuLmhpZGUtbGFiZWxzIGRpdiBzcGFuIGxhYmVsIHtcbiAgdmlzaWJpbGl0eTogaGlkZGVuOyB9XG5cbi51aS1kYXRlcGlja2VyIHtcbiAgd2lkdGg6IDE3ZW07XG4gIHBhZGRpbmc6IC4yZW0gLjJlbSAwO1xuICBkaXNwbGF5OiBub25lO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmZmZmO1xuICBib3JkZXI6IDFweCBzb2xpZCAjOTk5OTk5OyB9XG4gIC51aS1kYXRlcGlja2VyIC51aS1kYXRlcGlja2VyLWhlYWRlciB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHBhZGRpbmc6IC4yZW0gMDtcbiAgICBib3JkZXI6IDBweDtcbiAgICBmb250LXdlaWdodDogYm9sZDtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBwYWRkaW5nOiA0cHggMDsgfVxuICAudWktZGF0ZXBpY2tlciAudWktZGF0ZXBpY2tlci1wcmV2LFxuICAudWktZGF0ZXBpY2tlciAudWktZGF0ZXBpY2tlci1uZXh0IHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAycHg7XG4gICAgd2lkdGg6IDEuOGVtO1xuICAgIGhlaWdodDogMS44ZW07IH1cbiAgLnVpLWRhdGVwaWNrZXIgLnVpLWRhdGVwaWNrZXItcHJldi1ob3ZlcixcbiAgLnVpLWRhdGVwaWNrZXIgLnVpLWRhdGVwaWNrZXItbmV4dC1ob3ZlciB7XG4gICAgLyp0b3A6IDFweDsqLyB9XG4gIC51aS1kYXRlcGlja2VyIC51aS1kYXRlcGlja2VyLXByZXYge1xuICAgIGxlZnQ6IDJweDsgfVxuICAudWktZGF0ZXBpY2tlciAudWktZGF0ZXBpY2tlci1uZXh0IHtcbiAgICByaWdodDogMnB4OyB9XG4gIC51aS1kYXRlcGlja2VyIC51aS1kYXRlcGlja2VyLXByZXYtaG92ZXIge1xuICAgIC8qbGVmdDoxcHg7Ki8gfVxuICAudWktZGF0ZXBpY2tlciAudWktZGF0ZXBpY2tlci1uZXh0LWhvdmVyIHtcbiAgICAvKnJpZ2h0OjFweDsqLyB9XG4gIC51aS1kYXRlcGlja2VyIC51aS1kYXRlcGlja2VyLXByZXYgc3BhbixcbiAgLnVpLWRhdGVwaWNrZXIgLnVpLWRhdGVwaWNrZXItbmV4dCBzcGFuIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBmb250LXNpemU6IDExcHg7XG4gICAgbWFyZ2luLXRvcDogLTdweDtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiA1MCU7IH1cbiAgICAudWktZGF0ZXBpY2tlciAudWktZGF0ZXBpY2tlci1wcmV2IHNwYW46aG92ZXIsXG4gICAgLnVpLWRhdGVwaWNrZXIgLnVpLWRhdGVwaWNrZXItbmV4dCBzcGFuOmhvdmVyIHtcbiAgICAgIGN1cnNvcjogcG9pbnRlcjsgfVxuICAudWktZGF0ZXBpY2tlciAudWktZGF0ZXBpY2tlci10aXRsZSB7XG4gICAgbWFyZ2luOiAwIDIuM2VtO1xuICAgIGxpbmUtaGVpZ2h0OiAxLjhlbTtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7IH1cbiAgICAudWktZGF0ZXBpY2tlciAudWktZGF0ZXBpY2tlci10aXRsZSBzZWxlY3Qge1xuICAgICAgZm9udC1zaXplOiAxZW07XG4gICAgICBtYXJnaW46IDFweCAwOyB9XG4gIC51aS1kYXRlcGlja2VyIHNlbGVjdC51aS1kYXRlcGlja2VyLW1vbnRoLXllYXIge1xuICAgIHdpZHRoOiAxMDAlOyB9XG4gIC51aS1kYXRlcGlja2VyIHNlbGVjdC51aS1kYXRlcGlja2VyLW1vbnRoLCAudWktZGF0ZXBpY2tlciBzZWxlY3QudWktZGF0ZXBpY2tlci15ZWFyIHtcbiAgICBiYWNrZ3JvdW5kOiBub25lO1xuICAgIGJvcmRlcjogbm9uZTtcbiAgICB3aWR0aDogMjUlOyB9XG4gIC51aS1kYXRlcGlja2VyIHRhYmxlIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBmb250LXNpemU6IC45ZW07XG4gICAgYm9yZGVyLWNvbGxhcHNlOiBjb2xsYXBzZTtcbiAgICBtYXJnaW46IDAgMCAuNGVtOyB9XG4gIC51aS1kYXRlcGlja2VyIHRoIHtcbiAgICBwYWRkaW5nOiAuN2VtIC4zZW07XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xuICAgIGJvcmRlcjogMDsgfVxuICAudWktZGF0ZXBpY2tlciB0ZCB7XG4gICAgYm9yZGVyOiAwO1xuICAgIHBhZGRpbmc6IDFweDsgfVxuICAgIC51aS1kYXRlcGlja2VyIHRkIHNwYW4sIC51aS1kYXRlcGlja2VyIHRkIGEge1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICBwYWRkaW5nOiAuMmVtO1xuICAgICAgdGV4dC1hbGlnbjogcmlnaHQ7XG4gICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7IH1cbiAgLnVpLWRhdGVwaWNrZXIgLnVpLWRhdGVwaWNrZXItYnV0dG9ucGFuZSB7XG4gICAgYmFja2dyb3VuZC1pbWFnZTogbm9uZTtcbiAgICBtYXJnaW46IC43ZW0gMCAwIDA7XG4gICAgcGFkZGluZzogMCAuMmVtO1xuICAgIGJvcmRlci1sZWZ0OiAwO1xuICAgIGJvcmRlci1yaWdodDogMDtcbiAgICBib3JkZXItYm90dG9tOiAwOyB9XG4gICAgLnVpLWRhdGVwaWNrZXIgLnVpLWRhdGVwaWNrZXItYnV0dG9ucGFuZSBidXR0b24ge1xuICAgICAgZmxvYXQ6IHJpZ2h0O1xuICAgICAgbWFyZ2luOiAuNWVtIC4yZW0gLjRlbTtcbiAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICAgIHBhZGRpbmc6IC4yZW0gLjZlbSAuM2VtIC42ZW07XG4gICAgICB3aWR0aDogYXV0bztcbiAgICAgIG92ZXJmbG93OiB2aXNpYmxlOyB9XG4gICAgICAudWktZGF0ZXBpY2tlciAudWktZGF0ZXBpY2tlci1idXR0b25wYW5lIGJ1dHRvbiAudWktZGF0ZXBpY2tlci1jdXJyZW50IHtcbiAgICAgICAgZmxvYXQ6IGxlZnQ7IH1cblxuLyogd2l0aCBtdWx0aXBsZSBjYWxlbmRhcnMgKi9cbi51aS1kYXRlcGlja2VyLnVpLWRhdGVwaWNrZXItbXVsdGkge1xuICB3aWR0aDogYXV0bzsgfVxuXG4udWktZGF0ZXBpY2tlci1tdWx0aSAudWktZGF0ZXBpY2tlci1ncm91cCB7XG4gIGZsb2F0OiBsZWZ0OyB9XG5cbi51aS1kYXRlcGlja2VyLW11bHRpIC51aS1kYXRlcGlja2VyLWdyb3VwIHRhYmxlIHtcbiAgd2lkdGg6IDk1JTtcbiAgbWFyZ2luOiAwIGF1dG8gLjRlbTsgfVxuXG4udWktZGF0ZXBpY2tlci1tdWx0aS0yIC51aS1kYXRlcGlja2VyLWdyb3VwIHtcbiAgd2lkdGg6IDUwJTsgfVxuXG4udWktZGF0ZXBpY2tlci1tdWx0aS0zIC51aS1kYXRlcGlja2VyLWdyb3VwIHtcbiAgd2lkdGg6IDMzLjMlOyB9XG5cbi51aS1kYXRlcGlja2VyLW11bHRpLTQgLnVpLWRhdGVwaWNrZXItZ3JvdXAge1xuICB3aWR0aDogMjUlOyB9XG5cbi51aS1kYXRlcGlja2VyLW11bHRpIC51aS1kYXRlcGlja2VyLWdyb3VwLWxhc3QgLnVpLWRhdGVwaWNrZXItaGVhZGVyIHtcbiAgYm9yZGVyLWxlZnQtd2lkdGg6IDA7IH1cblxuLnVpLWRhdGVwaWNrZXItbXVsdGkgLnVpLWRhdGVwaWNrZXItZ3JvdXAtbWlkZGxlIC51aS1kYXRlcGlja2VyLWhlYWRlciB7XG4gIGJvcmRlci1sZWZ0LXdpZHRoOiAwOyB9XG5cbi51aS1kYXRlcGlja2VyLW11bHRpIC51aS1kYXRlcGlja2VyLWJ1dHRvbnBhbmUge1xuICBjbGVhcjogbGVmdDsgfVxuXG4udWktZGF0ZXBpY2tlci1yb3ctYnJlYWsge1xuICBjbGVhcjogYm90aDtcbiAgd2lkdGg6IDEwMCU7XG4gIGZvbnQtc2l6ZTogMGVtOyB9XG5cbi8qIFJUTCBzdXBwb3J0ICovXG4udWktZGF0ZXBpY2tlci1ydGwge1xuICBkaXJlY3Rpb246IHJ0bDsgfVxuICAudWktZGF0ZXBpY2tlci1ydGwgLnVpLWRhdGVwaWNrZXItcHJldiB7XG4gICAgcmlnaHQ6IDJweDtcbiAgICBsZWZ0OiBhdXRvOyB9XG4gICAgLnVpLWRhdGVwaWNrZXItcnRsIC51aS1kYXRlcGlja2VyLXByZXY6aG92ZXIge1xuICAgICAgcmlnaHQ6IDFweDtcbiAgICAgIGxlZnQ6IGF1dG87IH1cbiAgLnVpLWRhdGVwaWNrZXItcnRsIC51aS1kYXRlcGlja2VyLW5leHQge1xuICAgIGxlZnQ6IDJweDtcbiAgICByaWdodDogYXV0bzsgfVxuICAgIC51aS1kYXRlcGlja2VyLXJ0bCAudWktZGF0ZXBpY2tlci1uZXh0OmhvdmVyIHtcbiAgICAgIGxlZnQ6IDFweDtcbiAgICAgIHJpZ2h0OiBhdXRvOyB9XG4gIC51aS1kYXRlcGlja2VyLXJ0bCAudWktZGF0ZXBpY2tlci1idXR0b25wYW5lIHtcbiAgICBjbGVhcjogcmlnaHQ7IH1cbiAgICAudWktZGF0ZXBpY2tlci1ydGwgLnVpLWRhdGVwaWNrZXItYnV0dG9ucGFuZSBidXR0b24ge1xuICAgICAgZmxvYXQ6IGxlZnQ7IH1cbiAgICAgIC51aS1kYXRlcGlja2VyLXJ0bCAudWktZGF0ZXBpY2tlci1idXR0b25wYW5lIGJ1dHRvbiAudWktZGF0ZXBpY2tlci1jdXJyZW50IHtcbiAgICAgICAgZmxvYXQ6IHJpZ2h0OyB9XG4gIC51aS1kYXRlcGlja2VyLXJ0bCAudWktZGF0ZXBpY2tlci1ncm91cCB7XG4gICAgZmxvYXQ6IHJpZ2h0OyB9XG4gIC51aS1kYXRlcGlja2VyLXJ0bCAudWktZGF0ZXBpY2tlci1ncm91cC1sYXN0IC51aS1kYXRlcGlja2VyLWhlYWRlciB7XG4gICAgYm9yZGVyLXJpZ2h0LXdpZHRoOiAwO1xuICAgIGJvcmRlci1sZWZ0LXdpZHRoOiAxcHg7IH1cbiAgLnVpLWRhdGVwaWNrZXItcnRsIC51aS1kYXRlcGlja2VyLWdyb3VwLW1pZGRsZSAudWktZGF0ZXBpY2tlci1oZWFkZXIge1xuICAgIGJvcmRlci1yaWdodC13aWR0aDogMDtcbiAgICBib3JkZXItbGVmdC13aWR0aDogMXB4OyB9XG5cbi8qIElFNiBJRlJBTUUgRklYICh0YWtlbiBmcm9tIGRhdGVwaWNrZXIgMS41LjMgKi9cbi51aS1kYXRlcGlja2VyLWNvdmVyIHtcbiAgZGlzcGxheTogbm9uZTtcbiAgLypzb3JyeSBmb3IgSUU1Ki9cbiAgcG9zaXRpb246IGFic29sdXRlO1xuICAvKm11c3QgaGF2ZSovXG4gIHotaW5kZXg6IC0xO1xuICAvKm11c3QgaGF2ZSovXG4gIGZpbHRlcjogbWFzaygpO1xuICAvKm11c3QgaGF2ZSovXG4gIHRvcDogLTRweDtcbiAgLyptdXN0IGhhdmUqL1xuICBsZWZ0OiAtNHB4O1xuICAvKm11c3QgaGF2ZSovXG4gIHdpZHRoOiAyMDBweDtcbiAgLyptdXN0IGhhdmUqL1xuICBoZWlnaHQ6IDIwMHB4O1xuICAvKm11c3QgaGF2ZSovIH1cblxuLnVpLWRhdGVwaWNrZXIgdGgge1xuICBmb250LXdlaWdodDogYm9sZDtcbiAgY29sb3I6IGdyYXk7IH1cblxuLnVpLWRhdGVwaWNrZXItdG9kYXkgYSB7XG4gIGJhY2tncm91bmQtY29sb3I6ICMyQjJCMkI7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgcGFkZGluZzogMCA0cHg7XG4gIG1hcmdpbi1ib3R0b206IDBweDsgfVxuXG4udWktZGF0ZXBpY2tlciB0ZCBhIHtcbiAgbWFyZ2luLWJvdHRvbTogMHB4O1xuICBib3JkZXI6IDBweDsgfVxuXG4udWktZGF0ZXBpY2tlciB0ZCAudWktc3RhdGUtZGVmYXVsdCB7XG4gIGJvcmRlcjogMDtcbiAgYmFja2dyb3VuZDogbm9uZTtcbiAgbWFyZ2luLWJvdHRvbTogMDtcbiAgcGFkZGluZzogNXB4O1xuICBjb2xvcjogZ3JheTtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBmaWx0ZXI6IG5vbmU7IH1cbiAgLnVpLWRhdGVwaWNrZXIgdGQgLnVpLXN0YXRlLWRlZmF1bHQ6aG92ZXIge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICM5OTk7XG4gICAgYm9yZGVyLXJhZGl1czogNHB4O1xuICAgIGNvbG9yOiAjZmZmZmZmOyB9XG5cbi51aS1kYXRlcGlja2VyIHRkIC51aS1zdGF0ZS1oaWdobGlnaHQge1xuICBjb2xvcjogI2ZmZmZmZjtcbiAgYmFja2dyb3VuZDogIzJCMkIyQjtcbiAgdGV4dC1zaGFkb3c6IDAgLTFweCAwIHJnYmEoMCwgMCwgMCwgMC4yNSk7XG4gIGJvcmRlci1jb2xvcjogI2VlZGM5NCAjZWVkYzk0ICNlNGM2NTI7XG4gIGJvcmRlci1jb2xvcjogcmdiYSgwLCAwLCAwLCAwLjEpIHJnYmEoMCwgMCwgMCwgMC4xKSByZ2JhKDAsIDAsIDAsIDAuMjUpO1xuICBib3JkZXItcmFkaXVzOiA0cHg7IH1cblxuLnVpLWRhdGVwaWNrZXIgdGQgLnVpLXN0YXRlLWFjdGl2ZSB7XG4gIG1hcmdpbi1ib3R0b206IDBweDtcbiAgZm9udC1zaXplOiBub3JtYWw7XG4gIHRleHQtc2hhZG93OiAwcHg7XG4gIGJvcmRlci1yYWRpdXM6IDRweDsgfVxuXG5mb3JtLnBvc3QtcGFzc3dvcmQtZm9ybSB7XG4gIHBhZGRpbmc6IDIwcHggMjBweCAwIDIwcHg7XG4gIG1hcmdpbjogYXV0bztcbiAgbWF4LXdpZHRoOiA5MDBweDsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA0OTlweCkge1xuICAgIGZvcm0ucG9zdC1wYXNzd29yZC1mb3JtIHtcbiAgICAgIHBhZGRpbmc6IDMwcHggMTBweDsgfSB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDUwMHB4KSB7XG4gICAgZm9ybS5wb3N0LXBhc3N3b3JkLWZvcm0ge1xuICAgICAgcGFkZGluZzogNDBweCAyMHB4OyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogOTYwcHgpIHtcbiAgICBmb3JtLnBvc3QtcGFzc3dvcmQtZm9ybSB7XG4gICAgICBwYWRkaW5nOiA2MHB4IDBweDsgfSB9XG4gIGZvcm0ucG9zdC1wYXNzd29yZC1mb3JtIGlucHV0W3R5cGU9XCJwYXNzd29yZFwiXSB7XG4gICAgcGFkZGluZy1sZWZ0OiAwLjVlbTtcbiAgICBwYWRkaW5nLXJpZ2h0OiAwLjVlbTtcbiAgICBib3JkZXI6IDJweCBzb2xpZDtcbiAgICBsaW5lLWhlaWdodDogMzJweDtcbiAgICBoZWlnaHQ6IDU0cHg7IH1cbiAgZm9ybS5wb3N0LXBhc3N3b3JkLWZvcm0gaW5wdXRbdHlwZT1cInN1Ym1pdFwiXSB7XG4gICAgLXdlYmtpdC10cmFuc2l0aW9uOiBhbGwgMC4yNXM7XG4gICAgLW1vei10cmFuc2l0aW9uOiBhbGwgMC4yNXM7XG4gICAgdHJhbnNpdGlvbjogYWxsIDAuMjVzO1xuICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgbGV0dGVyLXNwYWNpbmc6IDAuMTVlbTtcbiAgICBmb250LXNpemU6IDEzcHg7XG4gICAgbGluZS1oZWlnaHQ6IDIzcHg7XG4gICAgbGluZS1oZWlnaHQ6IDEwMCUgIWltcG9ydGFudDtcbiAgICBwYWRkaW5nOiAxNnB4IDM2cHg7XG4gICAgYm9yZGVyLXJhZGl1czogOTBweDtcbiAgICBjb2xvcjogd2hpdGU7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGJvcmRlci13aWR0aDogMnB4O1xuICAgIGJvcmRlci1zdHlsZTogc29saWQ7XG4gICAgbWFyZ2luOiAwIDIwcHg7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA1MDBweCkge1xuICAgICAgZm9ybS5wb3N0LXBhc3N3b3JkLWZvcm0gaW5wdXRbdHlwZT1cInN1Ym1pdFwiXSB7XG4gICAgICAgIGZvbnQtc2l6ZTogMTZweDtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDI2cHg7IH0gfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDk2MHB4KSB7XG4gICAgICBmb3JtLnBvc3QtcGFzc3dvcmQtZm9ybSBpbnB1dFt0eXBlPVwic3VibWl0XCJdIHtcbiAgICAgICAgZm9udC1zaXplOiAxN3B4O1xuICAgICAgICBsaW5lLWhlaWdodDogMjdweDsgfSB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTQ0MHB4KSB7XG4gICAgICBmb3JtLnBvc3QtcGFzc3dvcmQtZm9ybSBpbnB1dFt0eXBlPVwic3VibWl0XCJdIHtcbiAgICAgICAgZm9udC1zaXplOiAyMHB4O1xuICAgICAgICBsaW5lLWhlaWdodDogMzBweDsgfSB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogOTU5cHgpIHtcbiAgICAgIGZvcm0ucG9zdC1wYXNzd29yZC1mb3JtIGlucHV0W3R5cGU9XCJzdWJtaXRcIl0ge1xuICAgICAgICBwYWRkaW5nOiAxM3B4IDMwcHg7IH0gfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDQ5OXB4KSB7XG4gICAgICBmb3JtLnBvc3QtcGFzc3dvcmQtZm9ybSBpbnB1dFt0eXBlPVwic3VibWl0XCJdIHtcbiAgICAgICAgcGFkZGluZzogMTFweCAyNnB4O1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgbWFyZ2luOiAyMHB4IDA7IH0gfVxuXG4vKiBQYXNzd29yZCBGb3JtICovXG4ucG9zdC1wYXNzd29yZC1mb3JtIGlucHV0W3R5cGU9XCJwYXNzd29yZFwiXSB7XG4gIGNvbG9yOiBwdXJwbGU7XG4gIGJvcmRlci1jb2xvcjogZ3JlZW47IH1cblxuLnBvc3QtcGFzc3dvcmQtZm9ybSBpbnB1dFt0eXBlPVwic3VibWl0XCJdIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogcmVkO1xuICBib3JkZXItY29sb3I6IG9yYW5nZTtcbiAgY29sb3I6IHB1cnBsZTsgfVxuXG4ucG9zdC1wYXNzd29yZC1mb3JtIGlucHV0W3R5cGU9XCJzdWJtaXRcIl06aG92ZXIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB3aGl0ZTtcbiAgY29sb3I6IGdyZWVuOyB9XG5cbi5tYXAge1xuICBiYWNrZ3JvdW5kOiAjZWZlZmVmO1xuICBoZWlnaHQ6IDUwMHB4OyB9XG5cbi5tYXBJbmZvQm94IHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB3aWR0aDogMzQwcHg7IH1cbiAgLm1hcEluZm9Cb3g6YWZ0ZXIsIC5tYXBJbmZvQm94OmJlZm9yZSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSkgc2NhbGVYKDAuMykgc2NhbGVZKDAuMzcpO1xuICAgIC1tb3otdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpIHNjYWxlWCgwLjMpIHNjYWxlWSgwLjM3KTtcbiAgICAtbXMtdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpIHNjYWxlWCgwLjMpIHNjYWxlWSgwLjM3KTtcbiAgICAtby10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSkgc2NhbGVYKDAuMykgc2NhbGVZKDAuMzcpO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKSBzY2FsZVgoMC4zKSBzY2FsZVkoMC4zNyk7XG4gICAgd2lkdGg6IDA7XG4gICAgaGVpZ2h0OiAwO1xuICAgIGJvcmRlci10b3A6IDEwMHB4IHNvbGlkIHRyYW5zcGFyZW50O1xuICAgIGJvcmRlci1ib3R0b206IDEwMHB4IHNvbGlkIHRyYW5zcGFyZW50O1xuICAgIGJvcmRlci1yaWdodDogMTAwcHggc29saWQgI2ZmZmZmZjtcbiAgICBjb250ZW50OiAnJztcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgbGVmdDogLTYwcHg7XG4gICAgdG9wOiA1MCU7IH1cbiAgLm1hcEluZm9Cb3g6YWZ0ZXIge1xuICAgIGJhY2tncm91bmQtcG9zaXRpb246IHRvcCByaWdodDtcbiAgICB6LWluZGV4OiAzOyB9XG4gIC5tYXBJbmZvQm94OmJlZm9yZSB7XG4gICAgYmFja2dyb3VuZC1wb3NpdGlvbjogdG9wIGxlZnQ7XG4gICAgdGV4dC1zaGFkb3c6IDAgMCAyNXB4IHJnYmEoMCwgMCwgMCwgMC4zNSk7XG4gICAgei1pbmRleDogMTsgfVxuICAubWFwSW5mb0JveF93cmFwcGVyIHtcbiAgICBiYWNrZ3JvdW5kOiAjZmZmZmZmO1xuICAgIGJveC1zaGFkb3c6IDAgMCAyNXB4IDAgcmdiYSgwLCAwLCAwLCAwLjM1KTtcbiAgICBwYWRkaW5nOiAzMHB4O1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB6LWluZGV4OiAyOyB9XG4gICAgLm1hcEluZm9Cb3hfd3JhcHBlcl9jbG9zZSB7XG4gICAgICBiYWNrZ3JvdW5kOiAjZmZmZmZmO1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgaGVpZ2h0OiAxN3B4O1xuICAgICAgcmlnaHQ6IDEwcHg7XG4gICAgICB0b3A6IDE1cHg7XG4gICAgICB3aWR0aDogMTdweDsgfVxuICAgICAgLm1hcEluZm9Cb3hfd3JhcHBlcl9jbG9zZTphZnRlciwgLm1hcEluZm9Cb3hfd3JhcHBlcl9jbG9zZTpiZWZvcmUge1xuICAgICAgICBiYWNrZ3JvdW5kOiAjMkIyQjJCO1xuICAgICAgICBjb250ZW50OiAnJztcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIGhlaWdodDogMnB4O1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHRvcDogMDtcbiAgICAgICAgd2lkdGg6IDE3cHg7IH1cbiAgICAgIC5tYXBJbmZvQm94X3dyYXBwZXJfY2xvc2U6YWZ0ZXIge1xuICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlKDQ1ZGVnKTtcbiAgICAgICAgLW1vei10cmFuc2Zvcm06IHJvdGF0ZSg0NWRlZyk7XG4gICAgICAgIC1tcy10cmFuc2Zvcm06IHJvdGF0ZSg0NWRlZyk7XG4gICAgICAgIC1vLXRyYW5zZm9ybTogcm90YXRlKDQ1ZGVnKTtcbiAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoNDVkZWcpO1xuICAgICAgICBsZWZ0OiAtMXB4OyB9XG4gICAgICAubWFwSW5mb0JveF93cmFwcGVyX2Nsb3NlOmJlZm9yZSB7XG4gICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUoLTQ1ZGVnKTtcbiAgICAgICAgLW1vei10cmFuc2Zvcm06IHJvdGF0ZSgtNDVkZWcpO1xuICAgICAgICAtbXMtdHJhbnNmb3JtOiByb3RhdGUoLTQ1ZGVnKTtcbiAgICAgICAgLW8tdHJhbnNmb3JtOiByb3RhdGUoLTQ1ZGVnKTtcbiAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoLTQ1ZGVnKTtcbiAgICAgICAgbGVmdDogMDsgfVxuICAgICAgLm1hcEluZm9Cb3hfd3JhcHBlcl9jbG9zZSBzcGFuIHtcbiAgICAgICAgZGlzcGxheTogbm9uZTsgfVxuICAgIC5tYXBJbmZvQm94X3dyYXBwZXIgaDUge1xuICAgICAgbWFyZ2luLWJvdHRvbTogMTBweDsgfVxuICAgIC5tYXBJbmZvQm94X3dyYXBwZXIgcCB7XG4gICAgICBjb2xvcjogIzRBNEE0QTtcbiAgICAgIG1hcmdpbi1ib3R0b206IDEwcHg7IH1cbiAgICAubWFwSW5mb0JveF93cmFwcGVyIC5idXR0b24ubGluZS1wcmltYXJ5IHtcbiAgICAgIGZvbnQtc2l6ZTogMTJweDtcbiAgICAgIHBhZGRpbmc6IDEwcHggMjBweDsgfVxuXG4udmlkZW9fcGxheWVyIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIGhlaWdodDogYXV0bztcbiAgd2lkdGg6IDEwMCU7IH1cblxuLyogQ2FyZCBncmlkICovXG4uY2FyZEdyaWRfd3JhcHBlcl9zaW5nbGUge1xuICBiYWNrZ3JvdW5kOiAjRjdGN0Y3OyB9XG5cbi5tb2R1bGVXcmFwcGVyIC5jYXJkR3JpZF93cmFwcGVyX3NpbmdsZV9oZWFkZXJfaW1hZ2UtbGlua2VkOmFmdGVyIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogZ3JlZW47IH1cblxuLm1vZHVsZVdyYXBwZXIgLmNhcmRHcmlkX3dyYXBwZXJfc2luZ2xlX2xpbmsge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjRjE4RTAyO1xuICBmb250LXdlaWdodDogNzAwO1xuICBmb250LWZhbWlseTogXCJwcm94aW1hLW5vdmFcIixzYW5zLXNlcmlmOyB9XG5cbi5tb2R1bGVXcmFwcGVyIC5jYXJkR3JpZCB7XG4gIHBhZGRpbmc6IDMwcHggMTAwcHggNjBweCAxMDBweDsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA0OTlweCkge1xuICAgIC5tb2R1bGVXcmFwcGVyIC5jYXJkR3JpZCB7XG4gICAgICBwYWRkaW5nOiAyMHB4IDEwcHg7IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA5NTlweCkge1xuICAgIC5tb2R1bGVXcmFwcGVyIC5jYXJkR3JpZCB7XG4gICAgICBwYWRkaW5nOiAzMHB4IDIwcHg7IH0gfVxuICAubW9kdWxlV3JhcHBlciAuY2FyZEdyaWRfd3JhcHBlciB7XG4gICAgZGlzcGxheTogLXdlYmtpdC1ib3g7XG4gICAgZGlzcGxheTogLW1vei1ib3g7XG4gICAgZGlzcGxheTogYm94O1xuICAgIGRpc3BsYXk6IC13ZWJraXQtZmxleDtcbiAgICBkaXNwbGF5OiAtbW96LWZsZXg7XG4gICAgZGlzcGxheTogLW1zLWZsZXhib3g7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICAtd2Via2l0LWZsZXgtZmxvdzogcm93IHdyYXA7XG4gICAgLW1vei1mbGV4LWZsb3c6IHJvdyB3cmFwO1xuICAgIGZsZXgtZmxvdzogcm93IHdyYXA7XG4gICAgLXdlYmtpdC1ib3gtcGFjazogc3RhcnQ7XG4gICAgLW1vei1ib3gtcGFjazogc3RhcnQ7XG4gICAgYm94LXBhY2s6IHN0YXJ0O1xuICAgIC13ZWJraXQtanVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0O1xuICAgIC1tb3otanVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0O1xuICAgIC1tcy1qdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7XG4gICAgLW8tanVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0O1xuICAgIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDtcbiAgICAtbXMtZmxleC1wYWNrOiBzdGFydDtcbiAgICAtbXMtZmxleC1mbG93OiByb3cgd3JhcDtcbiAgICBtYXJnaW46IDAgYXV0bztcbiAgICBtYXgtd2lkdGg6IDEyMDBweDtcbiAgICB3aWR0aDogMTAwJTsgfVxuICAgIC5tb2R1bGVXcmFwcGVyIC5jYXJkR3JpZF93cmFwcGVyX3NpbmdsZSB7XG4gICAgICBtYXJnaW46IDAgMjRweCAyNXB4IDA7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cbiAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDQ5OXB4KSB7XG4gICAgICAgIC5tb2R1bGVXcmFwcGVyIC5jYXJkR3JpZF93cmFwcGVyX3NpbmdsZSB7XG4gICAgICAgICAgbWFyZ2luLXJpZ2h0OiAwO1xuICAgICAgICAgIHdpZHRoOiAxMDAlOyB9IH1cbiAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDk1OXB4KSB7XG4gICAgICAgIC5tb2R1bGVXcmFwcGVyIC5jYXJkR3JpZF93cmFwcGVyX3NpbmdsZSB7XG4gICAgICAgICAgd2lkdGg6IGNhbGMoKDEwMCUgLSAyNXB4KS8yKTsgfSB9XG4gICAgICAubW9kdWxlV3JhcHBlciAuY2FyZEdyaWRfd3JhcHBlcl9zaW5nbGU6bGFzdC1vZi10eXBlIHtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAwOyB9XG4gICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA5NTlweCkge1xuICAgICAgICAubW9kdWxlV3JhcHBlciAuY2FyZEdyaWRfd3JhcHBlcl9zaW5nbGU6bnRoLW9mLXR5cGUoMm4pIHtcbiAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDA7IH0gfVxuICAgICAgLm1vZHVsZVdyYXBwZXIgLmNhcmRHcmlkX3dyYXBwZXJfc2luZ2xlX2NvbnRlbnQge1xuICAgICAgICBwYWRkaW5nOiAxNXB4IDE1cHggNTVweCAxNXB4OyB9XG4gICAgICAgIC5tb2R1bGVXcmFwcGVyIC5jYXJkR3JpZF93cmFwcGVyX3NpbmdsZV9jb250ZW50X2Vsc2Uge1xuICAgICAgICAgIHBhZGRpbmc6IDE1cHggMTVweCAxNXB4IDE1cHg7IH1cbiAgICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogOTYwcHgpIGFuZCAobWF4LXdpZHRoOiAxNDM5cHgpIHtcbiAgICAgICAgICAubW9kdWxlV3JhcHBlciAuY2FyZEdyaWRfd3JhcHBlcl9zaW5nbGVfY29udGVudF90aXRsZSB7XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAxNXB4OyB9IH1cbiAgICAgIC5tb2R1bGVXcmFwcGVyIC5jYXJkR3JpZF93cmFwcGVyX3NpbmdsZV9oZWFkZXIge1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cbiAgICAgICAgLm1vZHVsZVdyYXBwZXIgLmNhcmRHcmlkX3dyYXBwZXJfc2luZ2xlX2hlYWRlcjphZnRlciB7XG4gICAgICAgICAgY29udGVudDogJyc7XG4gICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgcGFkZGluZy1ib3R0b206IDEwMCU7IH1cbiAgICAgICAgLm1vZHVsZVdyYXBwZXIgLmNhcmRHcmlkX3dyYXBwZXJfc2luZ2xlX2hlYWRlcl9pbWFnZSB7XG4gICAgICAgICAgYm90dG9tOiAwO1xuICAgICAgICAgIGxlZnQ6IDA7XG4gICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgIHJpZ2h0OiAwO1xuICAgICAgICAgIHRvcDogMDtcbiAgICAgICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXI7XG4gICAgICAgICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgICAgICAgICBiYWNrZ3JvdW5kLXNpemU6IGNvdmVyOyB9XG4gICAgICAgICAgLm1vZHVsZVdyYXBwZXIgLmNhcmRHcmlkX3dyYXBwZXJfc2luZ2xlX2hlYWRlcl9pbWFnZS1saW5rZWQ6YWZ0ZXIge1xuICAgICAgICAgICAgLXdlYmtpdC10cmFuc2l0aW9uOiBvcGFjaXR5IDAuM3M7XG4gICAgICAgICAgICAtbW96LXRyYW5zaXRpb246IG9wYWNpdHkgMC4zcztcbiAgICAgICAgICAgIHRyYW5zaXRpb246IG9wYWNpdHkgMC4zcztcbiAgICAgICAgICAgIGJhY2tncm91bmQ6ICMwMDA7XG4gICAgICAgICAgICBjb250ZW50OiAnJztcbiAgICAgICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgICAgICAgIGxlZnQ6IDA7XG4gICAgICAgICAgICBvcGFjaXR5OiAwO1xuICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgdG9wOiAwO1xuICAgICAgICAgICAgd2lkdGg6IDEwMCU7IH1cbiAgICAgICAgICAubW9kdWxlV3JhcHBlciAuY2FyZEdyaWRfd3JhcHBlcl9zaW5nbGVfaGVhZGVyX2ltYWdlLWxpbmtlZDpob3ZlcjphZnRlciB7XG4gICAgICAgICAgICBvcGFjaXR5OiAwLjY7IH1cbiAgICAgIC5tb2R1bGVXcmFwcGVyIC5jYXJkR3JpZF93cmFwcGVyX3NpbmdsZV9saW5rIHtcbiAgICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICAgICAgbGV0dGVyLXNwYWNpbmc6IDAuMTVlbTtcbiAgICAgICAgZm9udC1zaXplOiAxNS42cHg7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAyNS42cHg7XG4gICAgICAgIC13ZWJraXQtdHJhbnNpdGlvbjogYWxsIDAuMjVzO1xuICAgICAgICAtbW96LXRyYW5zaXRpb246IGFsbCAwLjI1cztcbiAgICAgICAgdHJhbnNpdGlvbjogYWxsIDAuMjVzO1xuICAgICAgICBib3JkZXI6IG5vbmU7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDA7XG4gICAgICAgIGJvdHRvbTogMDtcbiAgICAgICAgY29sb3I6IHdoaXRlO1xuICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgbGVmdDogMDtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDEwMCUgIWltcG9ydGFudDtcbiAgICAgICAgcGFkZGluZzogMTBweDtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICByaWdodDogMDtcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgICAgIHotaW5kZXg6IDI7IH1cbiAgICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNTAwcHgpIHtcbiAgICAgICAgICAubW9kdWxlV3JhcHBlciAuY2FyZEdyaWRfd3JhcHBlcl9zaW5nbGVfbGluayB7XG4gICAgICAgICAgICBmb250LXNpemU6IDE5LjJweDtcbiAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAyOS4ycHg7IH0gfVxuICAgICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA5NjBweCkge1xuICAgICAgICAgIC5tb2R1bGVXcmFwcGVyIC5jYXJkR3JpZF93cmFwcGVyX3NpbmdsZV9saW5rIHtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMjAuNHB4O1xuICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDMwLjRweDsgfSB9XG4gICAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDE0NDBweCkge1xuICAgICAgICAgIC5tb2R1bGVXcmFwcGVyIC5jYXJkR3JpZF93cmFwcGVyX3NpbmdsZV9saW5rIHtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMjRweDtcbiAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAzNHB4OyB9IH1cbiAgICAgICAgLm1vZHVsZVdyYXBwZXIgLmNhcmRHcmlkX3dyYXBwZXJfc2luZ2xlX2xpbms6YWZ0ZXIge1xuICAgICAgICAgIC13ZWJraXQtdHJhbnNpdGlvbjogb3BhY2l0eSAwLjNzO1xuICAgICAgICAgIC1tb3otdHJhbnNpdGlvbjogb3BhY2l0eSAwLjNzO1xuICAgICAgICAgIHRyYW5zaXRpb246IG9wYWNpdHkgMC4zcztcbiAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMkIyQjJCO1xuICAgICAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgICAgICBsZWZ0OiAwO1xuICAgICAgICAgIG9wYWNpdHk6IDA7XG4gICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgIHRvcDogMDtcbiAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICB6LWluZGV4OiAtMTsgfVxuICAgICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA5NTlweCkge1xuICAgICAgICAgIC5tb2R1bGVXcmFwcGVyIC5jYXJkR3JpZF93cmFwcGVyX3NpbmdsZV9saW5rIHtcbiAgICAgICAgICAgIHBhZGRpbmc6IDEzcHggMDsgfSB9XG4gICAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDQ5OXB4KSB7XG4gICAgICAgICAgLm1vZHVsZVdyYXBwZXIgLmNhcmRHcmlkX3dyYXBwZXJfc2luZ2xlX2xpbmsge1xuICAgICAgICAgICAgcGFkZGluZzogMTFweCAwOyB9IH1cbiAgICAgICAgLm1vZHVsZVdyYXBwZXIgLmNhcmRHcmlkX3dyYXBwZXJfc2luZ2xlX2xpbms6aG92ZXI6YWZ0ZXIge1xuICAgICAgICAgIG9wYWNpdHk6IDAuMjsgfVxuICAubW9kdWxlV3JhcHBlciAuY2FyZEdyaWQtY29sdW1uc09uZSAuY2FyZEdyaWRfd3JhcHBlcl9zaW5nbGUge1xuICAgIG1hcmdpbi1yaWdodDogMDtcbiAgICB3aWR0aDogMTAwJTsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA5NjBweCkgYW5kIChtYXgtd2lkdGg6IDE0MzlweCkge1xuICAgIC5tb2R1bGVXcmFwcGVyIC5jYXJkR3JpZC1jb2x1bW5zVHdvIC5jYXJkR3JpZF93cmFwcGVyX3NpbmdsZSB7XG4gICAgICB3aWR0aDogY2FsYygoMTAwJSAtIDI1cHgpLzIpOyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTQ0MHB4KSB7XG4gICAgLm1vZHVsZVdyYXBwZXIgLmNhcmRHcmlkLWNvbHVtbnNUd28gLmNhcmRHcmlkX3dyYXBwZXJfc2luZ2xlIHtcbiAgICAgIHdpZHRoOiBjYWxjKCgxMDAlIC0gMjVweCkvMik7IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA5NjBweCkgYW5kIChtYXgtd2lkdGg6IDE0MzlweCkge1xuICAgIC5tb2R1bGVXcmFwcGVyIC5jYXJkR3JpZC1jb2x1bW5zVHdvIC5jYXJkR3JpZF93cmFwcGVyX3NpbmdsZTpudGgtY2hpbGQoMm4pIHtcbiAgICAgIG1hcmdpbi1yaWdodDogMDsgfSB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDE0NDBweCkge1xuICAgIC5tb2R1bGVXcmFwcGVyIC5jYXJkR3JpZC1jb2x1bW5zVHdvIC5jYXJkR3JpZF93cmFwcGVyX3NpbmdsZTpudGgtY2hpbGQoMm4pIHtcbiAgICAgIG1hcmdpbi1yaWdodDogMDsgfSB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDk2MHB4KSBhbmQgKG1heC13aWR0aDogMTQzOXB4KSB7XG4gICAgLm1vZHVsZVdyYXBwZXIgLmNhcmRHcmlkLWNvbHVtbnNUaHJlZSAuY2FyZEdyaWRfd3JhcHBlcl9zaW5nbGUge1xuICAgICAgd2lkdGg6IGNhbGMoKDEwMCUgLSAyNXB4KjIpLzMpOyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTQ0MHB4KSB7XG4gICAgLm1vZHVsZVdyYXBwZXIgLmNhcmRHcmlkLWNvbHVtbnNUaHJlZSAuY2FyZEdyaWRfd3JhcHBlcl9zaW5nbGUge1xuICAgICAgd2lkdGg6IGNhbGMoKDEwMCUgLSAyNXB4KjIpLzMpOyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogOTYwcHgpIGFuZCAobWF4LXdpZHRoOiAxNDM5cHgpIHtcbiAgICAubW9kdWxlV3JhcHBlciAuY2FyZEdyaWQtY29sdW1uc1RocmVlIC5jYXJkR3JpZF93cmFwcGVyX3NpbmdsZTpudGgtY2hpbGQoM24pIHtcbiAgICAgIG1hcmdpbi1yaWdodDogMDsgfSB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDE0NDBweCkge1xuICAgIC5tb2R1bGVXcmFwcGVyIC5jYXJkR3JpZC1jb2x1bW5zVGhyZWUgLmNhcmRHcmlkX3dyYXBwZXJfc2luZ2xlOm50aC1jaGlsZCgzbikge1xuICAgICAgbWFyZ2luLXJpZ2h0OiAwOyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogOTYwcHgpIGFuZCAobWF4LXdpZHRoOiAxNDM5cHgpIHtcbiAgICAubW9kdWxlV3JhcHBlciAuY2FyZEdyaWQtY29sdW1uc0ZvdXIgLmNhcmRHcmlkX3dyYXBwZXJfc2luZ2xlIHtcbiAgICAgIHdpZHRoOiBjYWxjKCgxMDAlIC0gMjVweCozKS80KTsgfSB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDE0NDBweCkge1xuICAgIC5tb2R1bGVXcmFwcGVyIC5jYXJkR3JpZC1jb2x1bW5zRm91ciAuY2FyZEdyaWRfd3JhcHBlcl9zaW5nbGUge1xuICAgICAgd2lkdGg6IGNhbGMoKDEwMCUgLSAyNXB4KjMpLzQpOyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogOTYwcHgpIGFuZCAobWF4LXdpZHRoOiAxNDM5cHgpIHtcbiAgICAubW9kdWxlV3JhcHBlciAuY2FyZEdyaWQtY29sdW1uc0ZvdXIgLmNhcmRHcmlkX3dyYXBwZXJfc2luZ2xlOm50aC1jaGlsZCg0bikge1xuICAgICAgbWFyZ2luLXJpZ2h0OiAwOyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTQ0MHB4KSB7XG4gICAgLm1vZHVsZVdyYXBwZXIgLmNhcmRHcmlkLWNvbHVtbnNGb3VyIC5jYXJkR3JpZF93cmFwcGVyX3NpbmdsZTpudGgtY2hpbGQoNG4pIHtcbiAgICAgIG1hcmdpbi1yaWdodDogMDsgfSB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDE0NDBweCkge1xuICAgIC5tb2R1bGVXcmFwcGVyIC5jYXJkR3JpZC1jb2x1bW5zRml2ZSAuY2FyZEdyaWRfd3JhcHBlcjphZnRlciB7XG4gICAgICBjbGVhcjogYm90aDtcbiAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICBkaXNwbGF5OiB0YWJsZTtcbiAgICAgIHpvb206IDE7IH1cbiAgICAubW9kdWxlV3JhcHBlciAuY2FyZEdyaWQtY29sdW1uc0ZpdmUgLmNhcmRHcmlkX3dyYXBwZXI6YmVmb3JlIHtcbiAgICAgIGNsZWFyOiBib3RoO1xuICAgICAgY29udGVudDogXCJcIjtcbiAgICAgIGRpc3BsYXk6IHRhYmxlO1xuICAgICAgem9vbTogMTsgfSB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDk2MHB4KSBhbmQgKG1heC13aWR0aDogMTQzOXB4KSB7XG4gICAgLm1vZHVsZVdyYXBwZXIgLmNhcmRHcmlkLWNvbHVtbnNGaXZlIC5jYXJkR3JpZF93cmFwcGVyX3NpbmdsZSB7XG4gICAgICB3aWR0aDogY2FsYygoMTAwJSAtIDI1cHgqNSkvNSk7IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxNDQwcHgpIHtcbiAgICAubW9kdWxlV3JhcHBlciAuY2FyZEdyaWQtY29sdW1uc0ZpdmUgLmNhcmRHcmlkX3dyYXBwZXJfc2luZ2xlIHtcbiAgICAgIGZsb2F0OiBsZWZ0O1xuICAgICAgd2lkdGg6IGNhbGMoKDEwMCUgLSAyNXB4KjUpLzUpOyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogOTYwcHgpIGFuZCAobWF4LXdpZHRoOiAxNDM5cHgpIHtcbiAgICAubW9kdWxlV3JhcHBlciAuY2FyZEdyaWQtY29sdW1uc0ZpdmUgLmNhcmRHcmlkX3dyYXBwZXJfc2luZ2xlOm50aC1jaGlsZCg1bikge1xuICAgICAgbWFyZ2luLXJpZ2h0OiAwOyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTQ0MHB4KSB7XG4gICAgLm1vZHVsZVdyYXBwZXIgLmNhcmRHcmlkLWNvbHVtbnNGaXZlIC5jYXJkR3JpZF93cmFwcGVyX3NpbmdsZTpudGgtY2hpbGQoNW4pIHtcbiAgICAgIG1hcmdpbi1yaWdodDogMDsgfSB9XG5cbi5tb2R1bGVXcmFwcGVyLWNhcmRzICsgLm1vZHVsZVdyYXBwZXItY2FyZHMge1xuICBtYXJnaW4tdG9wOiAtMjBweDsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA5NjBweCkge1xuICAgIC5tb2R1bGVXcmFwcGVyLWNhcmRzICsgLm1vZHVsZVdyYXBwZXItY2FyZHMge1xuICAgICAgbWFyZ2luLXRvcDogLTMwcHg7IH0gfVxuICAubW9kdWxlV3JhcHBlci1jYXJkcyArIC5tb2R1bGVXcmFwcGVyLWNhcmRzIC5jYXJkR3JpZCB7XG4gICAgcGFkZGluZy10b3A6IDBweDsgfVxuXG4uY29udGFjdEZvcm1fd3JhcHBlcl9mb3JtIGZvcm0gLmdmb3JtX2JvZHkgdWwgbGkgLmdpbnB1dF9jb250YWluZXIgaW5wdXQsXG4uY29udGFjdEZvcm1fd3JhcHBlcl9mb3JtIGZvcm0gLmdmb3JtX2JvZHkgdWwgbGkgLmdpbnB1dF9jb250YWluZXIgc2VsZWN0LFxuLmNvbnRhY3RGb3JtX3dyYXBwZXJfZm9ybSBmb3JtIC5nZm9ybV9ib2R5IHVsIGxpIC5naW5wdXRfY29udGFpbmVyIHRleHRhcmVhIHtcbiAgY29sb3I6ICM0QzQ3NDU7XG4gIGJvcmRlci1jb2xvcjogIzRDNDc0NTsgfVxuXG4uY29udGFjdEZvcm1fd3JhcHBlcl9mb3JtIGZvcm0gLmdmb3JtX2JvZHkgdWwgbGkgLmdmaWVsZF9sYWJlbCB7XG4gIGNvbG9yOiAjNEM0NzQ1O1xuICBmb250LXdlaWdodDogNzAwOyB9XG5cbi5jb250YWN0Rm9ybV9zaWRlX2JhY2tncm91bmQsIC5jb250YWN0Rm9ybV93cmFwcGVyX3NpZGUge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjRjdGN0Y3OyB9XG5cbi5wcmltYXJ5LXN1Ym1pdCB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrOyB9XG4gIC5wcmltYXJ5LXN1Ym1pdCAuYnV0dG9uIHtcbiAgICBib3JkZXI6IG5vbmU7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI0YxOEUwMjtcbiAgICBjb2xvcjogI2ZmZmZmZjtcbiAgICBwYWRkaW5nLXJpZ2h0OiA2OXB4OyB9XG4gICAgLnByaW1hcnktc3VibWl0IC5idXR0b246aG92ZXIge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2U3ODgwMjsgfVxuICAgICAgLnByaW1hcnktc3VibWl0IC5idXR0b246aG92ZXIgKyBzcGFuIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgyMzYsIDE1NiwgNDUsIDAuMik7IH1cbiAgLnByaW1hcnktc3VibWl0IHNwYW4ge1xuICAgIC13ZWJraXQtdHJhbnNpdGlvbjogYWxsIDAuMjVzO1xuICAgIC1tb3otdHJhbnNpdGlvbjogYWxsIDAuMjVzO1xuICAgIHRyYW5zaXRpb246IGFsbCAwLjI1cztcbiAgICBjb250ZW50OiAnJztcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAwO1xuICAgIHJpZ2h0OiAwO1xuICAgIHdpZHRoOiAzOXB4O1xuICAgIGhlaWdodDogMTAwJTtcbiAgICBiYWNrZ3JvdW5kOiAjZWM5YzJkIHVybChkYXRhOmltYWdlL3N2Zyt4bWw7YmFzZTY0LFBEOTRiV3dnZG1WeWMybHZiajBpTVM0d0lpQmxibU52WkdsdVp6MGlkWFJtTFRnaVB6NDhjM1puSUhabGNuTnBiMjQ5SWpFdU1TSWdhV1E5SWt4aGVXVnlYekVpSUhodGJHNXpQU0pvZEhSd09pOHZkM2QzTG5jekxtOXlaeTh5TURBd0wzTjJaeUlnZUcxc2JuTTZlR3hwYm1zOUltaDBkSEE2THk5M2QzY3Vkek11YjNKbkx6RTVPVGt2ZUd4cGJtc2lJSGc5SWpCd2VDSWdlVDBpTUhCNElpQjJhV1YzUW05NFBTSXdJREFnTVRBdU9DQTJJaUJ6ZEhsc1pUMGlaVzVoWW14bExXSmhZMnRuY205MWJtUTZibVYzSURBZ01DQXhNQzQ0SURZN0lpQjRiV3c2YzNCaFkyVTlJbkJ5WlhObGNuWmxJajQ4YzNSNWJHVWdkSGx3WlQwaWRHVjRkQzlqYzNNaVBpNXpkREI3Wm1sc2JEb2pSa1pHUmtaR08zMDhMM04wZVd4bFBqeHdiMng1WjI5dUlHTnNZWE56UFNKemREQWlJSEJ2YVc1MGN6MGlNQ3d3SURBc05pQXhNQzQ0TERNZ0lpOCtQQzl6ZG1jKykgbm8tcmVwZWF0IGNlbnRlciBjZW50ZXI7XG4gICAgYmFja2dyb3VuZC1zaXplOiAxNXB4IGF1dG87IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogOTYwcHgpIHtcbiAgLmNvbnRhY3RGb3JtX3dyYXBwZXJfc2lkZSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7IH0gfVxuXG4uY29udGFjdEZvcm0gaDMge1xuICBjb2xvcjogI0U5NkEyQTsgfVxuXG4uY29udGFjdEZvcm0gcCBzdHJvbmcge1xuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlOyB9XG5cbi5tb2R1bGVXcmFwcGVyIC5jb250YWN0Rm9ybSB7XG4gIHBhZGRpbmc6IDIwcHg7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgei1pbmRleDogMDsgfVxuICAubW9kdWxlV3JhcHBlciAuY29udGFjdEZvcm1fc2lkZV9iYWNrZ3JvdW5kIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgei1pbmRleDogLTE7IH1cbiAgLm1vZHVsZVdyYXBwZXIgLmNvbnRhY3RGb3JtX3dyYXBwZXIge1xuICAgIG1hcmdpbjogYXV0bztcbiAgICBtYXgtd2lkdGg6IDEyMDBweDsgfVxuICAgIC5tb2R1bGVXcmFwcGVyIC5jb250YWN0Rm9ybV93cmFwcGVyX3NpZGU6OmFmdGVyIHtcbiAgICAgIGNsZWFyOiBib3RoO1xuICAgICAgY29udGVudDogXCJcIjtcbiAgICAgIGRpc3BsYXk6IGJsb2NrOyB9XG4gICAgLm1vZHVsZVdyYXBwZXIgLmNvbnRhY3RGb3JtX3dyYXBwZXJfc2lkZV9jb250ZW50IHAge1xuICAgICAgbWFyZ2luLWJvdHRvbTogNDBweDsgfVxuICAgIC5tb2R1bGVXcmFwcGVyIC5jb250YWN0Rm9ybV93cmFwcGVyX3NpZGVfY29udGVudCBoMTpsYXN0LWNoaWxkLCAubW9kdWxlV3JhcHBlciAuY29udGFjdEZvcm1fd3JhcHBlcl9zaWRlX2NvbnRlbnQgaDI6bGFzdC1jaGlsZCwgLm1vZHVsZVdyYXBwZXIgLmNvbnRhY3RGb3JtX3dyYXBwZXJfc2lkZV9jb250ZW50IGgzOmxhc3QtY2hpbGQsIC5tb2R1bGVXcmFwcGVyIC5jb250YWN0Rm9ybV93cmFwcGVyX3NpZGVfY29udGVudCBoNDpsYXN0LWNoaWxkLCAubW9kdWxlV3JhcHBlciAuY29udGFjdEZvcm1fd3JhcHBlcl9zaWRlX2NvbnRlbnQgaDU6bGFzdC1jaGlsZCwgLm1vZHVsZVdyYXBwZXIgLmNvbnRhY3RGb3JtX3dyYXBwZXJfc2lkZV9jb250ZW50IGg2Omxhc3QtY2hpbGQsIC5tb2R1bGVXcmFwcGVyIC5jb250YWN0Rm9ybV93cmFwcGVyX3NpZGVfY29udGVudCBsaTpsYXN0LWNoaWxkLCAubW9kdWxlV3JhcHBlciAuY29udGFjdEZvcm1fd3JhcHBlcl9zaWRlX2NvbnRlbnQgcDpsYXN0LWNoaWxkIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDA7IH1cbiAgICAubW9kdWxlV3JhcHBlciAuY29udGFjdEZvcm1fd3JhcHBlcl9mb3JtIGZvcm0gLmdmb3JtX2JvZHkgdWwgbGkgLmdpbnB1dF9jb250YWluZXIge1xuICAgICAgbWFyZ2luLXRvcDogLjEyNWVtICFpbXBvcnRhbnQ7IH1cbiAgICAgIC5tb2R1bGVXcmFwcGVyIC5jb250YWN0Rm9ybV93cmFwcGVyX2Zvcm0gZm9ybSAuZ2Zvcm1fYm9keSB1bCBsaSAuZ2lucHV0X2NvbnRhaW5lciBpbnB1dCwgLm1vZHVsZVdyYXBwZXIgLmNvbnRhY3RGb3JtX3dyYXBwZXJfZm9ybSBmb3JtIC5nZm9ybV9ib2R5IHVsIGxpIC5naW5wdXRfY29udGFpbmVyIHRleHRhcmVhLCAubW9kdWxlV3JhcHBlciAuY29udGFjdEZvcm1fd3JhcHBlcl9mb3JtIGZvcm0gLmdmb3JtX2JvZHkgdWwgbGkgLmdpbnB1dF9jb250YWluZXIgc2VsZWN0IHtcbiAgICAgICAgcGFkZGluZy1sZWZ0OiAwLjVlbTtcbiAgICAgICAgcGFkZGluZy1yaWdodDogMC41ZW07XG4gICAgICAgIGJvcmRlcjogMnB4IHNvbGlkO1xuICAgICAgICB3aWR0aDogOTcuNSU7IH1cbiAgICAgIC5tb2R1bGVXcmFwcGVyIC5jb250YWN0Rm9ybV93cmFwcGVyX2Zvcm0gZm9ybSAuZ2Zvcm1fYm9keSB1bCBsaSAuZ2lucHV0X2NvbnRhaW5lciBzZWxlY3Qge1xuICAgICAgICBwYWRkaW5nLXRvcDogMC44ZW07XG4gICAgICAgIHBhZGRpbmctYm90dG9tOiAwLjhlbTsgfVxuICAgICAgLm1vZHVsZVdyYXBwZXIgLmNvbnRhY3RGb3JtX3dyYXBwZXJfZm9ybSBmb3JtIC5nZm9ybV9ib2R5IHVsIGxpIC5naW5wdXRfY29udGFpbmVyIHRleHRhcmVhIHtcbiAgICAgICAgaGVpZ2h0OiA4ZW07XG4gICAgICAgIHBhZGRpbmctdG9wOiAwLjMxM2VtOyB9XG4gICAgLm1vZHVsZVdyYXBwZXIgLmNvbnRhY3RGb3JtX3dyYXBwZXJfZm9ybSBmb3JtIC5nZm9ybV9ib2R5IHVsIGxpIC5nZmllbGRfbGFiZWwge1xuICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICAgIGxldHRlci1zcGFjaW5nOiAwLjE1ZW07XG4gICAgICBmb250LXNpemU6IDEyLjc1cHg7XG4gICAgICBsaW5lLWhlaWdodDogMjIuNzVweDtcbiAgICAgIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgICBjb2xvcjogIzRDNDc0NTtcbiAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7IH1cbiAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDUwMHB4KSB7XG4gICAgICAgIC5tb2R1bGVXcmFwcGVyIC5jb250YWN0Rm9ybV93cmFwcGVyX2Zvcm0gZm9ybSAuZ2Zvcm1fYm9keSB1bCBsaSAuZ2ZpZWxkX2xhYmVsIHtcbiAgICAgICAgICBmb250LXNpemU6IDE0LjQ1cHg7XG4gICAgICAgICAgbGluZS1oZWlnaHQ6IDI0LjQ1cHg7IH0gfVxuICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogOTYwcHgpIHtcbiAgICAgICAgLm1vZHVsZVdyYXBwZXIgLmNvbnRhY3RGb3JtX3dyYXBwZXJfZm9ybSBmb3JtIC5nZm9ybV9ib2R5IHVsIGxpIC5nZmllbGRfbGFiZWwge1xuICAgICAgICAgIGZvbnQtc2l6ZTogMTUuM3B4O1xuICAgICAgICAgIGxpbmUtaGVpZ2h0OiAyNS4zcHg7IH0gfVxuICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTQ0MHB4KSB7XG4gICAgICAgIC5tb2R1bGVXcmFwcGVyIC5jb250YWN0Rm9ybV93cmFwcGVyX2Zvcm0gZm9ybSAuZ2Zvcm1fYm9keSB1bCBsaSAuZ2ZpZWxkX2xhYmVsIHtcbiAgICAgICAgICBmb250LXNpemU6IDE3cHg7XG4gICAgICAgICAgbGluZS1oZWlnaHQ6IDI3cHg7IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA0OTlweCkge1xuICAgIC5tb2R1bGVXcmFwcGVyIC5jb250YWN0Rm9ybSB7XG4gICAgICBwYWRkaW5nOiAyMHB4IDEwcHg7IH1cbiAgICAgIC5tb2R1bGVXcmFwcGVyIC5jb250YWN0Rm9ybV9zaWRlX2JhY2tncm91bmQge1xuICAgICAgICBkaXNwbGF5OiBub25lOyB9XG4gICAgICAubW9kdWxlV3JhcHBlciAuY29udGFjdEZvcm1fd3JhcHBlcjo6YWZ0ZXIge1xuICAgICAgICBjbGVhcjogYm90aDtcbiAgICAgICAgY29udGVudDogXCJcIjtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7IH1cbiAgICAgIC5tb2R1bGVXcmFwcGVyIC5jb250YWN0Rm9ybV93cmFwcGVyX3NpZGUge1xuICAgICAgICBwYWRkaW5nOiAyMHB4IDEwcHggMjBweCAxMHB4O1xuICAgICAgICBtYXJnaW46IC0yMHB4IC0xMHB4IDAgLTEwcHg7IH1cbiAgICAgIC5tb2R1bGVXcmFwcGVyIC5jb250YWN0Rm9ybV93cmFwcGVyX2Zvcm0ge1xuICAgICAgICBtYXJnaW4tdG9wOiAyMHB4OyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNTAwcHgpIHtcbiAgICAubW9kdWxlV3JhcHBlciAuY29udGFjdEZvcm0ge1xuICAgICAgcGFkZGluZzogNDBweCAyMHB4OyB9XG4gICAgICAubW9kdWxlV3JhcHBlciAuY29udGFjdEZvcm1fc2lkZV9iYWNrZ3JvdW5kIHtcbiAgICAgICAgZGlzcGxheTogbm9uZTsgfVxuICAgICAgLm1vZHVsZVdyYXBwZXIgLmNvbnRhY3RGb3JtX3dyYXBwZXI6OmFmdGVyIHtcbiAgICAgICAgY2xlYXI6IGJvdGg7XG4gICAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrOyB9XG4gICAgICAubW9kdWxlV3JhcHBlciAuY29udGFjdEZvcm1fd3JhcHBlcl9zaWRlIHtcbiAgICAgICAgcGFkZGluZzogNDBweCAyMHB4IDQwcHggMjBweDtcbiAgICAgICAgbWFyZ2luOiAtNDBweCAtMjBweCAwIC0yMHB4OyB9XG4gICAgICAubW9kdWxlV3JhcHBlciAuY29udGFjdEZvcm1fd3JhcHBlcl9mb3JtIHtcbiAgICAgICAgbWFyZ2luLXRvcDogNDBweDsgfSB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDk2MHB4KSB7XG4gICAgLm1vZHVsZVdyYXBwZXIgLmNvbnRhY3RGb3JtIHtcbiAgICAgIHBhZGRpbmctYm90dG9tOiA3MHB4O1xuICAgICAgcGFkZGluZy10b3A6IDMwcHg7XG4gICAgICBwYWRkaW5nLWxlZnQ6IDEwMHB4O1xuICAgICAgcGFkZGluZy1yaWdodDogMTAwcHg7IH1cbiAgICAgIC5tb2R1bGVXcmFwcGVyIC5jb250YWN0Rm9ybV9zaWRlX2JhY2tncm91bmQge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgbGVmdDogMHB4O1xuICAgICAgICB0b3A6IDBweDtcbiAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgICB3aWR0aDogY2FsYygzMS43NjE1NyUgKyAxMDBweCk7IH1cbiAgICAgIC5tb2R1bGVXcmFwcGVyIC5jb250YWN0Rm9ybV93cmFwcGVyOjphZnRlciB7XG4gICAgICAgIGNsZWFyOiBib3RoO1xuICAgICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgICBkaXNwbGF5OiBibG9jazsgfVxuICAgICAgLm1vZHVsZVdyYXBwZXIgLmNvbnRhY3RGb3JtX3dyYXBwZXJfZm9ybSB7XG4gICAgICAgIGZsb2F0OiBsZWZ0O1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAyLjM1NzY1JTtcbiAgICAgICAgd2lkdGg6IDQ4LjgyMTE3JTtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IDguNTI5OCU7XG4gICAgICAgIHBhZGRpbmctbGVmdDogMzBweDsgfVxuICAgICAgICAubW9kdWxlV3JhcHBlciAuY29udGFjdEZvcm1fd3JhcHBlcl9mb3JtOmxhc3QtY2hpbGQge1xuICAgICAgICAgIG1hcmdpbi1yaWdodDogMDsgfVxuICAgICAgICAubW9kdWxlV3JhcHBlciAuY29udGFjdEZvcm1fd3JhcHBlcl9mb3JtX3RpdGxlIHtcbiAgICAgICAgICBtYXJnaW4tYm90dG9tOiAxNHB4OyB9XG4gICAgICAubW9kdWxlV3JhcHBlciAuY29udGFjdEZvcm1fd3JhcHBlcl9zaWRlIHtcbiAgICAgICAgZmxvYXQ6IGxlZnQ7XG4gICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICAgIG1hcmdpbjogNDBweCAwIDAgMDtcbiAgICAgICAgZmxvYXQ6IGxlZnQ7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IDIuMzU3NjUlO1xuICAgICAgICB3aWR0aDogMzEuNzYxNTclOyB9XG4gICAgICAgIC5tb2R1bGVXcmFwcGVyIC5jb250YWN0Rm9ybV93cmFwcGVyX3NpZGU6bGFzdC1jaGlsZCB7XG4gICAgICAgICAgbWFyZ2luLXJpZ2h0OiAwOyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTQwMHB4KSB7XG4gICAgLm1vZHVsZVdyYXBwZXIgLmNvbnRhY3RGb3JtX3NpZGVfYmFja2dyb3VuZCB7XG4gICAgICB3aWR0aDogY2FsYygoMTAwJSAtIDEyMDBweCkvMiArIDQ1MHB4KTsgfVxuICAgIC5tb2R1bGVXcmFwcGVyIC5jb250YWN0Rm9ybV93cmFwcGVyX2Zvcm0ge1xuICAgICAgbWFyZ2luLWxlZnQ6IDEyMHB4OyB9IH1cblxuLmZvb3Rlcl9jb250YWluZXIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjNEE0QTRBO1xuICBwYWRkaW5nOiAyMHB4IDAgMTVweDsgfVxuXG4uZm9vdGVyIGhyIHtcbiAgbWFyZ2luOiAyNXB4IGF1dG87XG4gIG1heC13aWR0aDogMTIwMHB4O1xuICBvdXRsaW5lOiAwO1xuICBib3JkZXI6IDA7XG4gIGhlaWdodDogMXB4O1xuICBiYWNrZ3JvdW5kOiAjOTc5Nzk3OyB9XG5cbi5mb290ZXJfbG93ZXIge1xuICBtYXJnaW46IGF1dG87XG4gIG1heC13aWR0aDogMTIwMHB4O1xuICBwYWRkaW5nOiAwIDIwcHg7IH1cbiAgLmZvb3Rlcl9sb3dlcjo6YWZ0ZXIge1xuICAgIGNsZWFyOiBib3RoO1xuICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgZGlzcGxheTogYmxvY2s7IH1cbiAgLmZvb3Rlcl9sb3dlcl9zb2NpYWwge1xuICAgIHdpZHRoOiA1MCU7XG4gICAgZmxvYXQ6IGxlZnQ7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA0OTlweCkge1xuICAgICAgLmZvb3Rlcl9sb3dlcl9zb2NpYWwge1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgZmxvYXQ6IG5vbmU7XG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjsgfSB9XG4gICAgLmZvb3Rlcl9sb3dlcl9zb2NpYWwgcCB7XG4gICAgICBtYXJnaW46IDA7XG4gICAgICBjb2xvcjogI2ZmZmZmZjtcbiAgICAgIGZvbnQtc2l6ZTogMTRweDtcbiAgICAgIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgICAgIGZvbnQtd2VpZ2h0OiA0MDA7XG4gICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlOyB9XG4gIC5mb290ZXJfbG93ZXJfbmV3c2xldHRlcl9zaWdudXAge1xuICAgIHdpZHRoOiA1MCU7XG4gICAgZmxvYXQ6IHJpZ2h0OyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNDk5cHgpIHtcbiAgICAgIC5mb290ZXJfbG93ZXJfbmV3c2xldHRlcl9zaWdudXAge1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgZmxvYXQ6IG5vbmU7XG4gICAgICAgIHBhZGRpbmc6IDIwcHggMDsgfSB9XG4gICAgLmZvb3Rlcl9sb3dlcl9uZXdzbGV0dGVyX3NpZ251cCAuZ2Zvcm1fd3JhcHBlciB7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cbiAgICAuZm9vdGVyX2xvd2VyX25ld3NsZXR0ZXJfc2lnbnVwIC5nZmllbGRfbGFiZWwge1xuICAgICAgY29sb3I6ICNmZmZmZmY7XG4gICAgICBmb250LXNpemU6IDE0cHg7XG4gICAgICBmb250LXN0eWxlOiBub3JtYWw7XG4gICAgICBmb250LXdlaWdodDogNDAwO1xuICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTsgfVxuICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNDk5cHgpIHtcbiAgICAgICAgLmZvb3Rlcl9sb3dlcl9uZXdzbGV0dGVyX3NpZ251cCAuZ2ZpZWxkX2xhYmVsIHtcbiAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7IH0gfVxuICAgIC5mb290ZXJfbG93ZXJfbmV3c2xldHRlcl9zaWdudXAgLmdpbnB1dF9jb250YWluZXIge1xuICAgICAgbWFyZ2luLWJvdHRvbTogMDsgfVxuICAgIC5mb290ZXJfbG93ZXJfbmV3c2xldHRlcl9zaWdudXAgLmdpbnB1dF9jb250YWluZXIgaW5wdXRbdHlwZT1cImVtYWlsXCJdLCAuZm9vdGVyX2xvd2VyX25ld3NsZXR0ZXJfc2lnbnVwIC5naW5wdXRfY29udGFpbmVyIGlucHV0W3R5cGU9XCJudW1iZXJcIl0sIC5mb290ZXJfbG93ZXJfbmV3c2xldHRlcl9zaWdudXAgLmdpbnB1dF9jb250YWluZXIgaW5wdXRbdHlwZT1cInRleHRcIl0sIC5mb290ZXJfbG93ZXJfbmV3c2xldHRlcl9zaWdudXAgLmdpbnB1dF9jb250YWluZXIgdGV4dGFyZWEge1xuICAgICAgYm9yZGVyLWNvbG9yOiAjOTc5Nzk3O1xuICAgICAgYmFja2dyb3VuZDogIzYzNjA2MDtcbiAgICAgIGhlaWdodDogNDVweDtcbiAgICAgIGNvbG9yOiAjZmZmZmZmOyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNDk5cHgpIHtcbiAgICAgIC5mb290ZXJfbG93ZXJfbmV3c2xldHRlcl9zaWdudXAgLmdmb3JtX2Zvb3RlciB7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgdG9wOiAwO1xuICAgICAgICByaWdodDogMDtcbiAgICAgICAgbWFyZ2luLXRvcDogMjBweDtcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyOyB9IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA1MDBweCkge1xuICAgICAgLmZvb3Rlcl9sb3dlcl9uZXdzbGV0dGVyX3NpZ251cCAuZ2Zvcm1fZm9vdGVyIHtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICB0b3A6IDA7XG4gICAgICAgIHJpZ2h0OiAwO1xuICAgICAgICBtYXJnaW4tdG9wOiAyMHB4O1xuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7IH0gfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDk2MHB4KSB7XG4gICAgICAuZm9vdGVyX2xvd2VyX25ld3NsZXR0ZXJfc2lnbnVwIC5nZm9ybV9mb290ZXIge1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHRvcDogMjlweDtcbiAgICAgICAgcmlnaHQ6IDFweDtcbiAgICAgICAgbWFyZ2luLXRvcDogMDsgfSB9XG4gICAgLmZvb3Rlcl9sb3dlcl9uZXdzbGV0dGVyX3NpZ251cCAucHJpbWFyeS1zdWJtaXQgLmJ1dHRvbiB7XG4gICAgICBwYWRkaW5nOiAxMXB4IDY1cHggMTJweCAyNXB4OyB9XG5cbi5mb290ZXJfdG9wIHtcbiAgbWFyZ2luOiBhdXRvO1xuICBtYXgtd2lkdGg6IDEyMDBweDtcbiAgcGFkZGluZzogMDsgfVxuICAuZm9vdGVyX3RvcDo6YWZ0ZXIge1xuICAgIGNsZWFyOiBib3RoO1xuICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgZGlzcGxheTogYmxvY2s7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNDk5cHgpIHtcbiAgICAuZm9vdGVyX3RvcCB7XG4gICAgICBwYWRkaW5nOiAwIDIwcHg7IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA5NjBweCkgYW5kIChtYXgtd2lkdGg6IDE0MzlweCkge1xuICAgIC5mb290ZXJfdG9wIHtcbiAgICAgIHBhZGRpbmc6IDAgMjBweDsgfSB9XG4gIC5mb290ZXJfdG9wX21lbnUge1xuICAgIHBhZGRpbmc6IDA7IH1cbiAgICAuZm9vdGVyX3RvcF9tZW51X3dyYXBwZXIge1xuICAgICAgdGV4dC1hbGlnbjogcmlnaHQ7XG4gICAgICBwYWRkaW5nLXRvcDogNDVweDsgfVxuICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNDk5cHgpIHtcbiAgICAgICAgLmZvb3Rlcl90b3BfbWVudV93cmFwcGVyIHtcbiAgICAgICAgICBwYWRkaW5nOiAwIDE1cHggMCAxNXB4O1xuICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjsgfSB9XG4gICAgICAuZm9vdGVyX3RvcF9tZW51X3dyYXBwZXJfc2luZ2xlIHtcbiAgICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICAgICAgbGV0dGVyLXNwYWNpbmc6IDAuMDIyZW07XG4gICAgICAgIGZvbnQtc2l6ZTogOS45cHg7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxOS45cHg7XG4gICAgICAgIGNvbG9yOiAjZmZmZmZmO1xuICAgICAgICBmb250LXdlaWdodDogNjAwO1xuICAgICAgICBwYWRkaW5nOiAwOyB9XG4gICAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDUwMHB4KSB7XG4gICAgICAgICAgLmZvb3Rlcl90b3BfbWVudV93cmFwcGVyX3NpbmdsZSB7XG4gICAgICAgICAgICBmb250LXNpemU6IDEyLjZweDtcbiAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAyMi42cHg7IH0gfVxuICAgICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA5NjBweCkge1xuICAgICAgICAgIC5mb290ZXJfdG9wX21lbnVfd3JhcHBlcl9zaW5nbGUge1xuICAgICAgICAgICAgZm9udC1zaXplOiAxNS4zcHg7XG4gICAgICAgICAgICBsaW5lLWhlaWdodDogMjUuM3B4OyB9IH1cbiAgICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTQ0MHB4KSB7XG4gICAgICAgICAgLmZvb3Rlcl90b3BfbWVudV93cmFwcGVyX3NpbmdsZSB7XG4gICAgICAgICAgICBmb250LXNpemU6IDE4cHg7XG4gICAgICAgICAgICBsaW5lLWhlaWdodDogMjhweDsgfSB9XG4gICAgICAgIC5mb290ZXJfdG9wX21lbnVfd3JhcHBlcl9zaW5nbGU6bGFzdC1jaGlsZCB7XG4gICAgICAgICAgbWFyZ2luLXJpZ2h0OiAwOyB9XG4gICAgICAgIC5mb290ZXJfdG9wX21lbnVfd3JhcHBlcl9zaW5nbGVfbGluayB7XG4gICAgICAgICAgY29sb3I6ICNmZmZmZmY7XG4gICAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgICAgICAgIHBhZGRpbmc6IDE1cHggMjVweDtcbiAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgICAgZm9udC13ZWlnaHQ6IDcwMDsgfVxuICAuZm9vdGVyX3RvcF9sb2dvIHtcbiAgICBtYXgtd2lkdGg6IDMwMHB4OyB9XG4gICAgLmZvb3Rlcl90b3BfbG9nbyBhIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrOyB9XG4gICAgLmZvb3Rlcl90b3BfbG9nbyBzdmcge1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICB0cmFuc2Zvcm06IHNjYWxlKDEpO1xuICAgICAgbWF4LXdpZHRoOiAzMDBweDsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDQ5OXB4KSB7XG4gICAgICAuZm9vdGVyX3RvcF9sb2dvIHtcbiAgICAgICAgd2lkdGg6IDcwJTtcbiAgICAgICAgbWFyZ2luOiAyMHB4IGF1dG87IH0gfVxuICAuZm9vdGVyX3RvcF9zb2NpYWxfaWNvbiB7XG4gICAgbWFyZ2luOiAwIDVweDtcbiAgICB3aWR0aDogNDVweDtcbiAgICBoZWlnaHQ6IDQ1cHg7XG4gICAgZmxvYXQ6IGxlZnQ7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIGJhY2tncm91bmQ6ICNEOEQ4RDg7XG4gICAgY29sb3I6ICM0QTRBNEE7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgIGZvbnQtc2l6ZTogMjBweDtcbiAgICBsaW5lLWhlaWdodDogNDVweDtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA0OTlweCkge1xuICAgICAgLmZvb3Rlcl90b3Bfc29jaWFsX2ljb24ge1xuICAgICAgICBmbG9hdDogbm9uZTsgfSB9XG4gICAgLmZvb3Rlcl90b3Bfc29jaWFsX2ljb246Zmlyc3QtY2hpbGQge1xuICAgICAgbWFyZ2luLWxlZnQ6IDA7IH1cbiAgICAuZm9vdGVyX3RvcF9zb2NpYWxfaWNvbjpsYXN0LWNoaWxkIHtcbiAgICAgIG1hcmdpbi1yaWdodDogMDsgfVxuICAgIC5mb290ZXJfdG9wX3NvY2lhbF9pY29uOmJlZm9yZSB7XG4gICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgZm9udC1mYW1pbHk6IFwiSWNvbnNcIiwgc2Fucy1zZXJpZjtcbiAgICAgIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgICAgIGZvbnQtdmFyaWFudDogbm9ybWFsO1xuICAgICAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgICAgIGxpbmUtaGVpZ2h0OiAxO1xuICAgICAgc3BlYWs6IG5vbmU7XG4gICAgICB0ZXh0LXRyYW5zZm9ybTogbm9uZTtcbiAgICAgIC13ZWJraXQtZm9udC1zbW9vdGhpbmc6IGFudGlhbGlhc2VkO1xuICAgICAgLW1vei1vc3gtZm9udC1zbW9vdGhpbmc6IGdyYXlzY2FsZTtcbiAgICAgIGxpbmUtaGVpZ2h0OiAxLjU7IH1cbiAgICAuZm9vdGVyX3RvcF9zb2NpYWxfaWNvbjpob3ZlciB7XG4gICAgICBiYWNrZ3JvdW5kOiAjYmZiZmJmOyB9XG4gICAgLmZvb3Rlcl90b3Bfc29jaWFsX2ljb24gc3BhbiB7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIGxlZnQ6IC05OTk5OTlweDtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHRvcDogMDsgfVxuICAgIC5mb290ZXJfdG9wX3NvY2lhbF9pY29uLWRyaWJiYmxlOmJlZm9yZSB7XG4gICAgICBjb250ZW50OiBcImNcIjsgfVxuICAgIC5mb290ZXJfdG9wX3NvY2lhbF9pY29uLWZhY2Vib29rOmJlZm9yZSB7XG4gICAgICBjb250ZW50OiBcImFcIjsgfVxuICAgIC5mb290ZXJfdG9wX3NvY2lhbF9pY29uLWluc3RhZ3JhbTpiZWZvcmUge1xuICAgICAgY29udGVudDogXCJlXCI7IH1cbiAgICAuZm9vdGVyX3RvcF9zb2NpYWxfaWNvbi1saW5rZWRpbjpiZWZvcmUge1xuICAgICAgY29udGVudDogXCJkXCI7IH1cbiAgICAuZm9vdGVyX3RvcF9zb2NpYWxfaWNvbi10d2l0dGVyOmJlZm9yZSB7XG4gICAgICBjb250ZW50OiBcImJcIjsgfVxuICAgIC5mb290ZXJfdG9wX3NvY2lhbF9pY29uLWdwbHVzOmJlZm9yZSB7XG4gICAgICBjb250ZW50OiBcImhcIjsgfVxuICAgIC5mb290ZXJfdG9wX3NvY2lhbF9pY29uLXlvdXR1YmU6YmVmb3JlIHtcbiAgICAgIGNvbnRlbnQ6IFwiZlwiOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDUwMHB4KSB7XG4gICAgLmZvb3Rlcl90b3BfbWVudV93cmFwcGVyIHtcbiAgICAgIG1hcmdpbjogYXV0bztcbiAgICAgIG1heC13aWR0aDogMTIwMHB4OyB9XG4gICAgICAuZm9vdGVyX3RvcF9tZW51X3dyYXBwZXJfc2luZ2xlIHtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cbiAgICAgICAgLmZvb3Rlcl90b3BfbWVudV93cmFwcGVyX3NpbmdsZTpmaXJzdC1jaGlsZCB7XG4gICAgICAgICAgcGFkZGluZy1sZWZ0OiAwOyB9XG4gICAgLmZvb3Rlcl90b3BfbG9nbyB7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIGZsb2F0OiBsZWZ0O1xuICAgICAgaGVpZ2h0OiAxMDBweDtcbiAgICAgIG1hcmdpbi1yaWdodDogMHB4O1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICBtYXgtd2lkdGg6IDMwMHB4OyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogOTYwcHgpIHtcbiAgICAuZm9vdGVyX3RvcF9sb2dvIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgZmxvYXQ6IGxlZnQ7XG4gICAgICBoZWlnaHQ6IDEwMHB4O1xuICAgICAgbWFyZ2luLXJpZ2h0OiAwcHg7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIG1heC13aWR0aDogMzAwcHg7IH1cbiAgICAuZm9vdGVyX3RvcF9zb2NpYWxfaWNvbiB7XG4gICAgICBmb250LXNpemU6IDMwcHg7IH1cbiAgICAgIC5mb290ZXJfdG9wX3NvY2lhbF9pY29uLWdwbHVzIHtcbiAgICAgICAgZm9udC1zaXplOiAzOHB4O1xuICAgICAgICBtYXJnaW4tdG9wOiA2cHg7IH1cbiAgICAuZm9vdGVyX3RvcF9tZW51IHtcbiAgICAgIHBhZGRpbmc6IDA7IH0gfVxuXG4uZm9vdGVyX2JvdHRvbSB7XG4gIG1hcmdpbjogYXV0bztcbiAgcGFkZGluZzogNXB4OyB9XG4gIC5mb290ZXJfYm90dG9tOjphZnRlciB7XG4gICAgY2xlYXI6IGJvdGg7XG4gICAgY29udGVudDogXCJcIjtcbiAgICBkaXNwbGF5OiBibG9jazsgfVxuICAuZm9vdGVyX2JvdHRvbV93cmFwcGVyIHtcbiAgICBmb250LXNpemU6IDE0cHg7XG4gICAgY29sb3I6ICM0QTRBNEE7XG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDQ5OXB4KSB7XG4gICAgICAuZm9vdGVyX2JvdHRvbV93cmFwcGVyIHNwYW4ge1xuICAgICAgICBkaXNwbGF5OiBibG9jazsgfSB9XG4gICAgLmZvb3Rlcl9ib3R0b21fd3JhcHBlcl9zaW5nbGUgYSB7XG4gICAgICBmbG9hdDogcmlnaHQ7XG4gICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgICBjb2xvcjogIzRBNEE0QTtcbiAgICAgIHRleHQtdHJhbnNmb3JtOiBpbml0aWFsOyB9XG4gICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA0OTlweCkge1xuICAgICAgICAuZm9vdGVyX2JvdHRvbV93cmFwcGVyX3NpbmdsZSBhIHtcbiAgICAgICAgICBmbG9hdDogbm9uZTsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDQ5OXB4KSB7XG4gIC5mb290ZXJfbG93ZXJfbmV3c2xldHRlcl9zaWdudXAgLmdmb3JtX3ZhbGlkYXRpb25fZXJyb3IgLmdmb3JtX2Zvb3RlciB7XG4gICAgdG9wOiAwO1xuICAgIHJpZ2h0OiAwOyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogOTYwcHgpIHtcbiAgLmZvb3Rlcl9sb3dlcl9uZXdzbGV0dGVyX3NpZ251cCAuZ2Zvcm1fdmFsaWRhdGlvbl9lcnJvciAuZ2Zvcm1fZm9vdGVyIHtcbiAgICB0b3A6IDM5cHg7XG4gICAgcmlnaHQ6IDExcHg7IH0gfVxuXG4uZm9vdGVyX2xvd2VyX25ld3NsZXR0ZXJfc2lnbnVwIC52YWxpZGF0aW9uX2Vycm9yIHtcbiAgZGlzcGxheTogbm9uZTsgfVxuXG4ubW9kdWxlV3JhcHBlciAuZnVsbEltYWdlU2xpZGVyIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlOyB9XG4gIC5tb2R1bGVXcmFwcGVyIC5mdWxsSW1hZ2VTbGlkZXI6YWZ0ZXIge1xuICAgIGNvbnRlbnQ6ICcnO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgdG9wOiAwO1xuICAgIGxlZnQ6IDA7XG4gICAgLyogUGVybWFsaW5rIC0gdXNlIHRvIGVkaXQgYW5kIHNoYXJlIHRoaXMgZ3JhZGllbnQ6IGh0dHA6Ly9jb2xvcnppbGxhLmNvbS9ncmFkaWVudC1lZGl0b3IvIzAwMDAwMCswLDAwMDAwMCsxNiwwMDAwMDArODQsMDAwMDAwKzEwMCYwLjcrMCwwKzE2LDArODQsMC43KzEwMCAqL1xuICAgIC8qIFBlcm1hbGluayAtIHVzZSB0byBlZGl0IGFuZCBzaGFyZSB0aGlzIGdyYWRpZW50OiBodHRwOi8vY29sb3J6aWxsYS5jb20vZ3JhZGllbnQtZWRpdG9yLyMwMDAwMDArMCwwMDAwMDArMTAwJjAuNCswLDArMTUsMCs4NSwwLjQrMTAwICovXG4gICAgYmFja2dyb3VuZDogLW1vei1saW5lYXItZ3JhZGllbnQobGVmdCwgcmdiYSgwLCAwLCAwLCAwLjQpIDAlLCB0cmFuc3BhcmVudCAxNSUsIHRyYW5zcGFyZW50IDg1JSwgcmdiYSgwLCAwLCAwLCAwLjQpIDEwMCUpO1xuICAgIC8qIEZGMy42LTE1ICovXG4gICAgYmFja2dyb3VuZDogLXdlYmtpdC1saW5lYXItZ3JhZGllbnQobGVmdCwgcmdiYSgwLCAwLCAwLCAwLjQpIDAlLCB0cmFuc3BhcmVudCAxNSUsIHRyYW5zcGFyZW50IDg1JSwgcmdiYSgwLCAwLCAwLCAwLjQpIDEwMCUpO1xuICAgIC8qIENocm9tZTEwLTI1LFNhZmFyaTUuMS02ICovXG4gICAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KHRvIHJpZ2h0LCByZ2JhKDAsIDAsIDAsIDAuNCkgMCUsIHRyYW5zcGFyZW50IDE1JSwgdHJhbnNwYXJlbnQgODUlLCByZ2JhKDAsIDAsIDAsIDAuNCkgMTAwJSk7XG4gICAgLyogVzNDLCBJRTEwKywgRkYxNissIENocm9tZTI2KywgT3BlcmExMissIFNhZmFyaTcrICovXG4gICAgZmlsdGVyOiBwcm9naWQ6RFhJbWFnZVRyYW5zZm9ybS5NaWNyb3NvZnQuZ3JhZGllbnQoIHN0YXJ0Q29sb3JzdHI9JyM2NjAwMDAwMCcsIGVuZENvbG9yc3RyPScjNjYwMDAwMDAnLEdyYWRpZW50VHlwZT0xICk7XG4gICAgLyogSUU2LTkgKi8gfVxuICAubW9kdWxlV3JhcHBlciAuZnVsbEltYWdlU2xpZGVyIC5zbGljay1kb3R0ZWQuc2xpY2stc2xpZGVyIHtcbiAgICBtYXJnaW4tYm90dG9tOiAwOyB9XG4gIC5tb2R1bGVXcmFwcGVyIC5mdWxsSW1hZ2VTbGlkZXJfc2luZ2xlIHtcbiAgICAvKiBBcnJvd3MgKi8gfVxuICAgIC5tb2R1bGVXcmFwcGVyIC5mdWxsSW1hZ2VTbGlkZXJfc2luZ2xlIC5zbGljay1wcmV2LFxuICAgIC5tb2R1bGVXcmFwcGVyIC5mdWxsSW1hZ2VTbGlkZXJfc2luZ2xlIC5zbGljay1uZXh0IHtcbiAgICAgIHotaW5kZXg6IDE7IH1cbiAgICAubW9kdWxlV3JhcHBlciAuZnVsbEltYWdlU2xpZGVyX3NpbmdsZSAuc2xpY2stcHJldiB7XG4gICAgICBsZWZ0OiAxNXB4O1xuICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZSgwLCAtNTAlKSByb3RhdGUoOTBkZWcpO1xuICAgICAgLW1vei10cmFuc2Zvcm06IHRyYW5zbGF0ZSgwLCAtNTAlKSByb3RhdGUoOTBkZWcpO1xuICAgICAgLW1zLXRyYW5zZm9ybTogdHJhbnNsYXRlKDAsIC01MCUpIHJvdGF0ZSg5MGRlZyk7XG4gICAgICAtby10cmFuc2Zvcm06IHRyYW5zbGF0ZSgwLCAtNTAlKSByb3RhdGUoOTBkZWcpO1xuICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoMCwgLTUwJSkgcm90YXRlKDkwZGVnKTtcbiAgICAgIHdpZHRoOiA0MHB4O1xuICAgICAgaGVpZ2h0OiA0MHB4OyB9XG4gICAgICAubW9kdWxlV3JhcHBlciAuZnVsbEltYWdlU2xpZGVyX3NpbmdsZSAuc2xpY2stcHJldjpiZWZvcmUge1xuICAgICAgICBmb250LXNpemU6IDQwcHg7XG4gICAgICAgIGNvbnRlbnQ6IFwiZ1wiO1xuICAgICAgICBmb250LWZhbWlseTogXCJJY29uc1wiLCBzYW5zLXNlcmlmO1xuICAgICAgICBmb250LXN0eWxlOiBub3JtYWw7XG4gICAgICAgIGZvbnQtdmFyaWFudDogbm9ybWFsO1xuICAgICAgICBmb250LXdlaWdodDogbm9ybWFsO1xuICAgICAgICBsaW5lLWhlaWdodDogMTtcbiAgICAgICAgc3BlYWs6IG5vbmU7XG4gICAgICAgIHRleHQtdHJhbnNmb3JtOiBub25lO1xuICAgICAgICAtd2Via2l0LWZvbnQtc21vb3RoaW5nOiBhbnRpYWxpYXNlZDtcbiAgICAgICAgLW1vei1vc3gtZm9udC1zbW9vdGhpbmc6IGdyYXlzY2FsZTtcbiAgICAgICAgb3BhY2l0eTogMTtcbiAgICAgICAgdGV4dC1zaGFkb3c6IDBweCAwcHggMTJweCByZ2JhKDAsIDAsIDAsIDAuNik7IH1cbiAgICAubW9kdWxlV3JhcHBlciAuZnVsbEltYWdlU2xpZGVyX3NpbmdsZSAuc2xpY2stbmV4dCB7XG4gICAgICByaWdodDogMTVweDtcbiAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUoMCwgLTUwJSkgcm90YXRlKC05MGRlZyk7XG4gICAgICAtbW96LXRyYW5zZm9ybTogdHJhbnNsYXRlKDAsIC01MCUpIHJvdGF0ZSgtOTBkZWcpO1xuICAgICAgLW1zLXRyYW5zZm9ybTogdHJhbnNsYXRlKDAsIC01MCUpIHJvdGF0ZSgtOTBkZWcpO1xuICAgICAgLW8tdHJhbnNmb3JtOiB0cmFuc2xhdGUoMCwgLTUwJSkgcm90YXRlKC05MGRlZyk7XG4gICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgwLCAtNTAlKSByb3RhdGUoLTkwZGVnKTtcbiAgICAgIHdpZHRoOiA0MHB4O1xuICAgICAgaGVpZ2h0OiA0MHB4OyB9XG4gICAgICAubW9kdWxlV3JhcHBlciAuZnVsbEltYWdlU2xpZGVyX3NpbmdsZSAuc2xpY2stbmV4dDpiZWZvcmUge1xuICAgICAgICBmb250LXNpemU6IDQwcHg7XG4gICAgICAgIGNvbnRlbnQ6IFwiZ1wiO1xuICAgICAgICBmb250LWZhbWlseTogXCJJY29uc1wiLCBzYW5zLXNlcmlmO1xuICAgICAgICBmb250LXN0eWxlOiBub3JtYWw7XG4gICAgICAgIGZvbnQtdmFyaWFudDogbm9ybWFsO1xuICAgICAgICBmb250LXdlaWdodDogbm9ybWFsO1xuICAgICAgICBsaW5lLWhlaWdodDogMTtcbiAgICAgICAgc3BlYWs6IG5vbmU7XG4gICAgICAgIHRleHQtdHJhbnNmb3JtOiBub25lO1xuICAgICAgICAtd2Via2l0LWZvbnQtc21vb3RoaW5nOiBhbnRpYWxpYXNlZDtcbiAgICAgICAgLW1vei1vc3gtZm9udC1zbW9vdGhpbmc6IGdyYXlzY2FsZTtcbiAgICAgICAgb3BhY2l0eTogMTtcbiAgICAgICAgdGV4dC1zaGFkb3c6IDBweCAwcHggMTJweCByZ2JhKDAsIDAsIDAsIDAuNik7IH1cbiAgICAubW9kdWxlV3JhcHBlciAuZnVsbEltYWdlU2xpZGVyX3NpbmdsZSAuc2xpY2stZG90cyB7XG4gICAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA5NTlweCkge1xuICAgICAgLm1vZHVsZVdyYXBwZXIgLmZ1bGxJbWFnZVNsaWRlcl9zaW5nbGUgLnNsaWNrLXByZXYsIC5tb2R1bGVXcmFwcGVyIC5mdWxsSW1hZ2VTbGlkZXJfc2luZ2xlIC5zbGljay1uZXh0IHtcbiAgICAgICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50OyB9XG4gICAgICAubW9kdWxlV3JhcHBlciAuZnVsbEltYWdlU2xpZGVyX3NpbmdsZSAuc2xpY2stZG90cyB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrICFpbXBvcnRhbnQ7XG4gICAgICAgIGJvdHRvbTogMTBweDsgfVxuICAgICAgICAubW9kdWxlV3JhcHBlciAuZnVsbEltYWdlU2xpZGVyX3NpbmdsZSAuc2xpY2stZG90cyBsaSBidXR0b246YmVmb3JlIHtcbiAgICAgICAgICBvcGFjaXR5OiAwLjU7XG4gICAgICAgICAgdGV4dC1zaGFkb3c6IDBweCAwcHggOHB4IHJnYmEoMCwgMCwgMCwgMC43KTsgfVxuICAgICAgICAubW9kdWxlV3JhcHBlciAuZnVsbEltYWdlU2xpZGVyX3NpbmdsZSAuc2xpY2stZG90cyBsaS5zbGljay1hY3RpdmUgYnV0dG9uOmJlZm9yZSB7XG4gICAgICAgICAgb3BhY2l0eTogMTtcbiAgICAgICAgICB0ZXh0LXNoYWRvdzogMHB4IDBweCA4cHggcmdiYSgwLCAwLCAwLCAwLjcpOyB9IH1cbiAgICAubW9kdWxlV3JhcHBlciAuZnVsbEltYWdlU2xpZGVyX3NpbmdsZV9pdGVtIHtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuICAgICAgLm1vZHVsZVdyYXBwZXIgLmZ1bGxJbWFnZVNsaWRlcl9zaW5nbGVfaXRlbV9pbWFnZSB7XG4gICAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlcjtcbiAgICAgICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgICAgICAgYmFja2dyb3VuZC1zaXplOiBjb3ZlcjsgfVxuICAgICAgICAubW9kdWxlV3JhcHBlciAuZnVsbEltYWdlU2xpZGVyX3NpbmdsZV9pdGVtX2ltYWdlIGltZyB7XG4gICAgICAgICAgd2lkdGg6IDEwMCU7IH1cblxuLmhlcm9TbGlkZXIgLnNsaWNrLWRvdHRlZC5zbGljay1zbGlkZXIge1xuICBtYXJnaW4tYm90dG9tOiAwOyB9XG5cbi5oZXJvU2xpZGVyX3NpbmdsZSB7XG4gIC8qIEFycm93cyAqLyB9XG4gIC5oZXJvU2xpZGVyX3NpbmdsZSAuc2xpY2stcHJldixcbiAgLmhlcm9TbGlkZXJfc2luZ2xlIC5zbGljay1uZXh0IHtcbiAgICB6LWluZGV4OiAxOyB9XG4gIC5oZXJvU2xpZGVyX3NpbmdsZSAuc2xpY2stcHJldiB7XG4gICAgbGVmdDogMTVweDtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlKDAsIC01MCUpIHJvdGF0ZSg5MGRlZyk7XG4gICAgLW1vei10cmFuc2Zvcm06IHRyYW5zbGF0ZSgwLCAtNTAlKSByb3RhdGUoOTBkZWcpO1xuICAgIC1tcy10cmFuc2Zvcm06IHRyYW5zbGF0ZSgwLCAtNTAlKSByb3RhdGUoOTBkZWcpO1xuICAgIC1vLXRyYW5zZm9ybTogdHJhbnNsYXRlKDAsIC01MCUpIHJvdGF0ZSg5MGRlZyk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoMCwgLTUwJSkgcm90YXRlKDkwZGVnKTtcbiAgICB3aWR0aDogNDBweDtcbiAgICBoZWlnaHQ6IDQwcHg7IH1cbiAgICAuaGVyb1NsaWRlcl9zaW5nbGUgLnNsaWNrLXByZXY6YmVmb3JlIHtcbiAgICAgIGZvbnQtc2l6ZTogNDBweDtcbiAgICAgIGNvbnRlbnQ6IFwiZ1wiO1xuICAgICAgZm9udC1mYW1pbHk6IFwiSWNvbnNcIiwgc2Fucy1zZXJpZjtcbiAgICAgIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgICAgIGZvbnQtdmFyaWFudDogbm9ybWFsO1xuICAgICAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgICAgIGxpbmUtaGVpZ2h0OiAxO1xuICAgICAgc3BlYWs6IG5vbmU7XG4gICAgICB0ZXh0LXRyYW5zZm9ybTogbm9uZTtcbiAgICAgIC13ZWJraXQtZm9udC1zbW9vdGhpbmc6IGFudGlhbGlhc2VkO1xuICAgICAgLW1vei1vc3gtZm9udC1zbW9vdGhpbmc6IGdyYXlzY2FsZTsgfVxuICAuaGVyb1NsaWRlcl9zaW5nbGUgLnNsaWNrLW5leHQge1xuICAgIHJpZ2h0OiAxNXB4O1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUoMCwgLTUwJSkgcm90YXRlKC05MGRlZyk7XG4gICAgLW1vei10cmFuc2Zvcm06IHRyYW5zbGF0ZSgwLCAtNTAlKSByb3RhdGUoLTkwZGVnKTtcbiAgICAtbXMtdHJhbnNmb3JtOiB0cmFuc2xhdGUoMCwgLTUwJSkgcm90YXRlKC05MGRlZyk7XG4gICAgLW8tdHJhbnNmb3JtOiB0cmFuc2xhdGUoMCwgLTUwJSkgcm90YXRlKC05MGRlZyk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoMCwgLTUwJSkgcm90YXRlKC05MGRlZyk7XG4gICAgd2lkdGg6IDQwcHg7XG4gICAgaGVpZ2h0OiA0MHB4OyB9XG4gICAgLmhlcm9TbGlkZXJfc2luZ2xlIC5zbGljay1uZXh0OmJlZm9yZSB7XG4gICAgICBmb250LXNpemU6IDQwcHg7XG4gICAgICBjb250ZW50OiBcImdcIjtcbiAgICAgIGZvbnQtZmFtaWx5OiBcIkljb25zXCIsIHNhbnMtc2VyaWY7XG4gICAgICBmb250LXN0eWxlOiBub3JtYWw7XG4gICAgICBmb250LXZhcmlhbnQ6IG5vcm1hbDtcbiAgICAgIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gICAgICBsaW5lLWhlaWdodDogMTtcbiAgICAgIHNwZWFrOiBub25lO1xuICAgICAgdGV4dC10cmFuc2Zvcm06IG5vbmU7XG4gICAgICAtd2Via2l0LWZvbnQtc21vb3RoaW5nOiBhbnRpYWxpYXNlZDtcbiAgICAgIC1tb3otb3N4LWZvbnQtc21vb3RoaW5nOiBncmF5c2NhbGU7IH1cbiAgLmhlcm9TbGlkZXJfc2luZ2xlIC5zbGljay1kb3RzIHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogOTU5cHgpIHtcbiAgICAuaGVyb1NsaWRlcl9zaW5nbGUgLnNsaWNrLXByZXYsIC5oZXJvU2xpZGVyX3NpbmdsZSAuc2xpY2stbmV4dCB7XG4gICAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7IH1cbiAgICAuaGVyb1NsaWRlcl9zaW5nbGUgLnNsaWNrLWRvdHMge1xuICAgICAgZGlzcGxheTogYmxvY2sgIWltcG9ydGFudDtcbiAgICAgIGJvdHRvbTogNXB4OyB9XG4gICAgICAuaGVyb1NsaWRlcl9zaW5nbGUgLnNsaWNrLWRvdHMgbGkgYnV0dG9uOmJlZm9yZSB7XG4gICAgICAgIG9wYWNpdHk6IDAuNTtcbiAgICAgICAgdGV4dC1zaGFkb3c6IDBweCAwcHggOHB4IHJnYmEoMCwgMCwgMCwgMC43KTsgfVxuICAgICAgLmhlcm9TbGlkZXJfc2luZ2xlIC5zbGljay1kb3RzIGxpLnNsaWNrLWFjdGl2ZSBidXR0b246YmVmb3JlIHtcbiAgICAgICAgb3BhY2l0eTogMTtcbiAgICAgICAgdGV4dC1zaGFkb3c6IDBweCAwcHggOHB4IHJnYmEoMCwgMCwgMCwgMC43KTsgfSB9XG5cbi5oZXJvIHtcbiAgcGFkZGluZzogNDBweCAxMHB4O1xuICBwYWRkaW5nLXRvcDogMTQwcHg7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuICAuaGVyb19iYWNrZ3JvdW5kIHtcbiAgICBib3R0b206IDA7XG4gICAgbGVmdDogMDtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgcmlnaHQ6IDA7XG4gICAgdG9wOiAwO1xuICAgIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlcjtcbiAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICAgIGJhY2tncm91bmQtc2l6ZTogY292ZXI7IH1cbiAgICAuaGVyb19iYWNrZ3JvdW5kOmFmdGVyIHtcbiAgICAgIGJvdHRvbTogMDtcbiAgICAgIGxlZnQ6IDA7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICByaWdodDogMDtcbiAgICAgIHRvcDogMDtcbiAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgb3BhY2l0eTogMC4zOyB9XG4gICAgLmhlcm9fYmFja2dyb3VuZF92aWRlbyB7XG4gICAgICBkaXNwbGF5OiBub25lOyB9XG4gIC5oZXJvX3dyYXBwZXIge1xuICAgIG1hcmdpbjogYXV0bztcbiAgICBtYXgtd2lkdGg6IDEyMDBweDtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgdGV4dC1zaGFkb3c6IDBweCAwcHggOHB4IHJnYmEoMCwgMCwgMCwgMC43KTtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7IH1cbiAgICAuaGVyb193cmFwcGVyX2xpbmtzIHtcbiAgICAgIHRleHQtYWxpZ246IGNlbnRlcjsgfVxuICAgICAgLmhlcm9fd3JhcHBlcl9saW5rcyAuYnV0dG9uIHtcbiAgICAgICAgbWFyZ2luOiAwIDIwcHggMTBweCAwOyB9XG4gICAgICAgIC5oZXJvX3dyYXBwZXJfbGlua3MgLmJ1dHRvbjpsYXN0LWNoaWxkIHtcbiAgICAgICAgICBtYXJnaW4tYm90dG9tOiAwOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDUwMHB4KSB7XG4gICAgLmhlcm8ge1xuICAgICAgcGFkZGluZzogNDBweCAyMHB4O1xuICAgICAgcGFkZGluZy10b3A6IDE0MHB4OyB9XG4gICAgICAuaGVyb19iYWNrZ3JvdW5kX3ZpZGVvIHtcbiAgICAgICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICBoZWlnaHQ6IGF1dG87XG4gICAgICAgIGxlZnQ6IDA7XG4gICAgICAgIG1pbi1oZWlnaHQ6IDEwMCU7XG4gICAgICAgIG1pbi13aWR0aDogMTAwJTtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICB0b3A6IDA7XG4gICAgICAgIHdpZHRoOiBhdXRvOyB9XG4gICAgICAuaGVyb193cmFwcGVyX2xpbmtzOjphZnRlciB7XG4gICAgICAgIGNsZWFyOiBib3RoO1xuICAgICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgICBkaXNwbGF5OiBibG9jazsgfVxuICAgICAgLmhlcm9fd3JhcHBlcl9saW5rcyAuYnV0dG9uIHtcbiAgICAgICAgbWFyZ2luOiAwIDIwcHggMTBweCAwOyB9XG4gICAgICAuaGVyb193cmFwcGVyX2xpbmtzOmxhc3QtY2hpbGQge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAwOyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogOTYwcHgpIHtcbiAgICAuaGVybyB7XG4gICAgICBwYWRkaW5nOiAyMjBweCAxMDBweCAxMTBweCAxMDBweDsgfVxuICAgICAgLmhlcm9fd3JhcHBlcl9saW5rcyB7XG4gICAgICAgIG1hcmdpbi10b3A6IDUwcHg7IH1cbiAgICAgIC5oZXJvX3dyYXBwZXJfdGl0bGUge1xuICAgICAgICBtYXgtd2lkdGg6IDExMDBweDtcbiAgICAgICAgbWFyZ2luOiAwIGF1dG87XG4gICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7IH1cbiAgICAgIC5oZXJvX3dyYXBwZXJfc3VidGl0bGUge1xuICAgICAgICBtYXgtd2lkdGg6IDEwMjRweDtcbiAgICAgICAgbWFyZ2luOiAwIGF1dG87IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxNDQwcHgpIHtcbiAgICAuaGVybyB7XG4gICAgICBwYWRkaW5nOiAxNTBweCAxMDBweCAxMzBweCAxMDBweDsgfSB9XG5cbi5oZXJvX2JhY2tncm91bmQ6YWZ0ZXIge1xuICBiYWNrZ3JvdW5kOiAjNEE0QTRBO1xuICBvcGFjaXR5OiAwLjY7IH1cblxuLmhlcm9fd3JhcHBlciAqIHtcbiAgY29sb3I6ICNmZmZmZmY7IH1cblxuLmhlcm9TbGlkZXJfc2luZ2xlIC5zbGljay1hcnJvdzpiZWZvcmUge1xuICBjb2xvcjogI2ZmZmZmZjsgfVxuXG4uaGVyb1NsaWRlciAuc2xpY2stZG90cyBsaSBidXR0b246YmVmb3JlIHtcbiAgY29sb3I6ICNmZmZmZmY7IH1cblxuLmhlcm9TbGlkZXIgLnNsaWNrLWRvdHMgbGkuc2xpY2stYWN0aXZlIGJ1dHRvbjpiZWZvcmUge1xuICBjb2xvcjogI2ZmZmZmZjsgfVxuXG4uaG9tZSAuaGVyb19iYWNrZ3JvdW5kLCAuaG9tZSAuaGVybyB7XG4gIGhlaWdodDogOTV2aDtcbiAgb3ZlcmZsb3c6IGhpZGRlbjsgfVxuXG4uaG9tZSAuaGVybyAuaGVyb193cmFwcGVyIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDUwJTtcbiAgbGVmdDogNTAlO1xuICB3aWR0aDogMTAwJTtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgLTUwJSk7IH1cblxuLm1vZHVsZVdyYXBwZXIgLmltYWdlIHtcbiAgbWF4LXdpZHRoOiBub25lO1xuICB3aWR0aDogMTAwJTsgfVxuXG4ubW9kdWxlV3JhcHBlciAuaW1hZ2VBbHRlcm5hdG9yX3dyYXBwZXIge1xuICBtYXJnaW46IDUwcHggYXV0byA1MHB4IGF1dG87XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgd2lkdGg6IDg1JTsgfVxuICAubW9kdWxlV3JhcHBlciAuaW1hZ2VBbHRlcm5hdG9yX3dyYXBwZXI6OmFmdGVyIHtcbiAgICBjbGVhcjogYm90aDtcbiAgICBjb250ZW50OiBcIlwiO1xuICAgIGRpc3BsYXk6IGJsb2NrOyB9XG4gIC5tb2R1bGVXcmFwcGVyIC5pbWFnZUFsdGVybmF0b3Jfd3JhcHBlcl9iYWNrZ3JvdW5kIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAwO1xuICAgIGJvdHRvbTogMDtcbiAgICB3aWR0aDogNTAlO1xuICAgIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlcjtcbiAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICAgIGJhY2tncm91bmQtc2l6ZTogY292ZXI7IH1cbiAgLm1vZHVsZVdyYXBwZXIgLmltYWdlQWx0ZXJuYXRvcl93cmFwcGVyX2NvbnRlbnQge1xuICAgIHBhZGRpbmctYm90dG9tOiA2MHB4O1xuICAgIHBhZGRpbmctdG9wOiA2MHB4O1xuICAgIHdpZHRoOiA1MCU7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlOyB9XG4gICAgLm1vZHVsZVdyYXBwZXIgLmltYWdlQWx0ZXJuYXRvcl93cmFwcGVyX2NvbnRlbnRfc3VidGl0bGUge1xuICAgICAgdGV4dC10cmFuc2Zvcm06IG5vbmU7XG4gICAgICBsZXR0ZXItc3BhY2luZzogMC4wNWVtO1xuICAgICAgZm9udC1zaXplOiAxNi4yNXB4O1xuICAgICAgbGluZS1oZWlnaHQ6IDI2LjI1cHg7XG4gICAgICBmb250LXN0eWxlOiBpdGFsaWM7IH1cbiAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDUwMHB4KSB7XG4gICAgICAgIC5tb2R1bGVXcmFwcGVyIC5pbWFnZUFsdGVybmF0b3Jfd3JhcHBlcl9jb250ZW50X3N1YnRpdGxlIHtcbiAgICAgICAgICBmb250LXNpemU6IDIwcHg7XG4gICAgICAgICAgbGluZS1oZWlnaHQ6IDMwcHg7IH0gfVxuICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogOTYwcHgpIHtcbiAgICAgICAgLm1vZHVsZVdyYXBwZXIgLmltYWdlQWx0ZXJuYXRvcl93cmFwcGVyX2NvbnRlbnRfc3VidGl0bGUge1xuICAgICAgICAgIGZvbnQtc2l6ZTogMjEuMjVweDtcbiAgICAgICAgICBsaW5lLWhlaWdodDogMzEuMjVweDsgfSB9XG4gICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxNDQwcHgpIHtcbiAgICAgICAgLm1vZHVsZVdyYXBwZXIgLmltYWdlQWx0ZXJuYXRvcl93cmFwcGVyX2NvbnRlbnRfc3VidGl0bGUge1xuICAgICAgICAgIGZvbnQtc2l6ZTogMjVweDtcbiAgICAgICAgICBsaW5lLWhlaWdodDogMzVweDsgfSB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogOTYwcHgpIHtcbiAgICAgIC5tb2R1bGVXcmFwcGVyIC5pbWFnZUFsdGVybmF0b3Jfd3JhcHBlcl9jb250ZW50X2xpbmsge1xuICAgICAgICBtYXJnaW4tdG9wOiAyMHB4OyB9IH1cbiAgICAubW9kdWxlV3JhcHBlciAuaW1hZ2VBbHRlcm5hdG9yX3dyYXBwZXJfY29udGVudF9iYWNrZ3JvdW5kIHtcbiAgICAgIHotaW5kZXg6IC0yO1xuICAgICAgYm90dG9tOiAwO1xuICAgICAgbGVmdDogMDtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHJpZ2h0OiAwO1xuICAgICAgdG9wOiAwO1xuICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyO1xuICAgICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgICAgIGJhY2tncm91bmQtc2l6ZTogY292ZXI7XG4gICAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGVYKC0xKTtcbiAgICAgIC1tb3otdHJhbnNmb3JtOiBzY2FsZVgoLTEpO1xuICAgICAgLW1zLXRyYW5zZm9ybTogc2NhbGVYKC0xKTtcbiAgICAgIC1vLXRyYW5zZm9ybTogc2NhbGVYKC0xKTtcbiAgICAgIHRyYW5zZm9ybTogc2NhbGVYKC0xKTtcbiAgICAgIC13ZWJraXQtZmlsdGVyOiBibHVyKDEycHgpO1xuICAgICAgZmlsdGVyOiBibHVyKDEycHgpOyB9XG4gICAgLm1vZHVsZVdyYXBwZXIgLmltYWdlQWx0ZXJuYXRvcl93cmFwcGVyX2NvbnRlbnRfYmFja2dyb3VuZF9iZWhpbmQge1xuICAgICAgei1pbmRleDogLTM7XG4gICAgICBib3R0b206IDA7XG4gICAgICBsZWZ0OiAwO1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgcmlnaHQ6IDA7XG4gICAgICB0b3A6IDA7XG4gICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXI7XG4gICAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICAgICAgYmFja2dyb3VuZC1zaXplOiBjb3ZlcjtcbiAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZVgoLTEpO1xuICAgICAgLW1vei10cmFuc2Zvcm06IHNjYWxlWCgtMSk7XG4gICAgICAtbXMtdHJhbnNmb3JtOiBzY2FsZVgoLTEpO1xuICAgICAgLW8tdHJhbnNmb3JtOiBzY2FsZVgoLTEpO1xuICAgICAgdHJhbnNmb3JtOiBzY2FsZVgoLTEpOyB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDk1OXB4KSB7XG4gIC5tb2R1bGVXcmFwcGVyIC5pbWFnZUFsdGVybmF0b3Jfd3JhcHBlcl9iYWNrZ3JvdW5kIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgbWF4LXdpZHRoOiBub25lO1xuICAgIGhlaWdodDogNTB2dztcbiAgICB3aWR0aDogMTAwJTtcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXI7XG4gICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgICBiYWNrZ3JvdW5kLXNpemU6IGNvdmVyOyB9XG4gIC5tb2R1bGVXcmFwcGVyIC5pbWFnZUFsdGVybmF0b3Jfd3JhcHBlcl9jb250ZW50IHtcbiAgICBtYXgtd2lkdGg6IG5vbmU7XG4gICAgbWFyZ2luOiAwO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIHBhZGRpbmc6IDM1cHggMjBweDsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDQ5OXB4KSB7XG4gIC5tb2R1bGVXcmFwcGVyIC5pbWFnZUFsdGVybmF0b3Jfd3JhcHBlcl9jb250ZW50IHtcbiAgICBwYWRkaW5nOiAyNXB4IDEwcHg7IH0gfVxuXG4ubW9kdWxlV3JhcHBlciAuaW1hZ2VBbHRlcm5hdG9yIGgzIHtcbiAgY29sb3I6ICNFOTZBMkE7XG4gIGZvbnQtd2VpZ2h0OiA3MDA7IH1cblxuLmltYWdlQWx0ZXJuYXRvci1vZGQgLmltYWdlQWx0ZXJuYXRvcl93cmFwcGVyX2JhY2tncm91bmQge1xuICBsZWZ0OiAwO1xuICB3aWR0aDogNDklOyB9XG5cbi5pbWFnZUFsdGVybmF0b3Itb2RkIC5pbWFnZUFsdGVybmF0b3Jfd3JhcHBlcl9jb250ZW50IHtcbiAgZmxvYXQ6IHJpZ2h0O1xuICB3aWR0aDogNDklO1xuICBib3JkZXI6IDE1cHggc29saWQgI0Y3RjdGNztcbiAgYmFja2dyb3VuZDogI2ZmZmZmZjsgfVxuICAuaW1hZ2VBbHRlcm5hdG9yLW9kZCAuaW1hZ2VBbHRlcm5hdG9yX3dyYXBwZXJfY29udGVudDphZnRlciB7XG4gICAgY29udGVudDogJyc7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMDtcbiAgICBsZWZ0OiAwO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogMTAwJTtcbiAgICB6LWluZGV4OiAtMTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjRDhEOEQ4O1xuICAgIG9wYWNpdHk6IDAuMzsgfVxuICAuaW1hZ2VBbHRlcm5hdG9yLW9kZCAuaW1hZ2VBbHRlcm5hdG9yX3dyYXBwZXJfY29udGVudF9iYWNrZ3JvdW5kOmFmdGVyIHtcbiAgICBib3R0b206IDA7XG4gICAgbGVmdDogMDtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgcmlnaHQ6IDA7XG4gICAgdG9wOiAwO1xuICAgIGNvbnRlbnQ6ICcgJztcbiAgICBvcGFjaXR5OiAwLjg7IH1cbiAgLmltYWdlQWx0ZXJuYXRvci1vZGQgLmltYWdlQWx0ZXJuYXRvcl93cmFwcGVyX2NvbnRlbnRfYmFja2dyb3VuZF9iZWhpbmQ6YWZ0ZXIge1xuICAgIGJvdHRvbTogMDtcbiAgICBsZWZ0OiAwO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICByaWdodDogMDtcbiAgICB0b3A6IDA7XG4gICAgY29udGVudDogJyAnO1xuICAgIG9wYWNpdHk6IDAuODsgfVxuICAuaW1hZ2VBbHRlcm5hdG9yLW9kZCAuaW1hZ2VBbHRlcm5hdG9yX3dyYXBwZXJfY29udGVudF9ibG9jayB7XG4gICAgbWFyZ2luLWxlZnQ6IDIwcHg7XG4gICAgcGFkZGluZy1yaWdodDogMjBweDtcbiAgICBmbG9hdDogbGVmdDtcbiAgICBtYXgtd2lkdGg6IDY1MHB4OyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogOTU5cHgpIHtcbiAgICAgIC5pbWFnZUFsdGVybmF0b3Itb2RkIC5pbWFnZUFsdGVybmF0b3Jfd3JhcHBlcl9jb250ZW50X2Jsb2NrIHtcbiAgICAgICAgZmxvYXQ6IGxlZnQ7XG4gICAgICAgIG1heC13aWR0aDogbm9uZTtcbiAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICBwYWRkaW5nOiAwOyB9IH1cblxuLmltYWdlQWx0ZXJuYXRvci1ldmVuIC5pbWFnZUFsdGVybmF0b3Jfd3JhcHBlcl9iYWNrZ3JvdW5kIHtcbiAgcmlnaHQ6IDA7XG4gIHdpZHRoOiA0OSU7IH1cblxuLmltYWdlQWx0ZXJuYXRvci1ldmVuIC5pbWFnZUFsdGVybmF0b3Jfd3JhcHBlcl9jb250ZW50IHtcbiAgZmxvYXQ6IGxlZnQ7XG4gIHdpZHRoOiA0OSU7XG4gIGJvcmRlcjogMTVweCBzb2xpZCAjRjdGN0Y3O1xuICBiYWNrZ3JvdW5kOiAjZmZmZmZmOyB9XG4gIC5pbWFnZUFsdGVybmF0b3ItZXZlbiAuaW1hZ2VBbHRlcm5hdG9yX3dyYXBwZXJfY29udGVudF9iYWNrZ3JvdW5kOmFmdGVyIHtcbiAgICBib3R0b206IDA7XG4gICAgbGVmdDogMDtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgcmlnaHQ6IDA7XG4gICAgdG9wOiAwO1xuICAgIGNvbnRlbnQ6ICcgJztcbiAgICBvcGFjaXR5OiAwLjg7IH1cbiAgLmltYWdlQWx0ZXJuYXRvci1ldmVuIC5pbWFnZUFsdGVybmF0b3Jfd3JhcHBlcl9jb250ZW50X2JhY2tncm91bmRfYmVoaW5kOmFmdGVyIHtcbiAgICBib3R0b206IDA7XG4gICAgbGVmdDogMDtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgcmlnaHQ6IDA7XG4gICAgdG9wOiAwO1xuICAgIGNvbnRlbnQ6ICcgJztcbiAgICBiYWNrZ3JvdW5kOiAjNjNhY2UyO1xuICAgIG9wYWNpdHk6IDAuODsgfVxuICAuaW1hZ2VBbHRlcm5hdG9yLWV2ZW4gLmltYWdlQWx0ZXJuYXRvcl93cmFwcGVyX2NvbnRlbnRfYmxvY2sge1xuICAgIG1hcmdpbi1yaWdodDogMjBweDtcbiAgICBwYWRkaW5nLWxlZnQ6IDIwcHg7XG4gICAgZmxvYXQ6IHJpZ2h0O1xuICAgIG1heC13aWR0aDogNjUwcHg7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA5NTlweCkge1xuICAgICAgLmltYWdlQWx0ZXJuYXRvci1ldmVuIC5pbWFnZUFsdGVybmF0b3Jfd3JhcHBlcl9jb250ZW50X2Jsb2NrIHtcbiAgICAgICAgbWF4LXdpZHRoOiBub25lO1xuICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgIHBhZGRpbmc6IDA7IH0gfVxuXG4vKiBJbWFnZSBncmlkICovXG4uaW1hZ2VHcmlkX3NpbmdsZS1saW5rIC5pbWFnZUdyaWRfc2luZ2xlX2NvbnRlbnQ6YWZ0ZXIge1xuICBiYWNrZ3JvdW5kOiAjMDAwO1xuICBvcGFjaXR5OiAwLjM1OyB9XG5cbi5pbWFnZUdyaWRfc2luZ2xlX2NvbnRlbnRfdGl0bGUsIC5pbWFnZUdyaWRfc2luZ2xlX2NvbnRlbnRfbW9yZSB7XG4gIGNvbG9yOiAjZmZmZmZmOyB9XG5cbi5tb2R1bGVXcmFwcGVyIC5pbWFnZUdyaWQge1xuICBtYXJnaW46IDAgYXV0bzsgfVxuICAubW9kdWxlV3JhcHBlciAuaW1hZ2VHcmlkOjphZnRlciB7XG4gICAgY2xlYXI6IGJvdGg7XG4gICAgY29udGVudDogXCJcIjtcbiAgICBkaXNwbGF5OiBibG9jazsgfVxuICAubW9kdWxlV3JhcHBlciAuaW1hZ2VHcmlkX3NpbmdsZSB7XG4gICAgd2lkdGg6IDI1JTtcbiAgICBmbG9hdDogbGVmdDtcbiAgICBoZWlnaHQ6IDI1dnc7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cbiAgICAubW9kdWxlV3JhcHBlciAuaW1hZ2VHcmlkX3NpbmdsZTo6YWZ0ZXIge1xuICAgICAgY2xlYXI6IGJvdGg7XG4gICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgZGlzcGxheTogYmxvY2s7IH1cbiAgICAubW9kdWxlV3JhcHBlciAuaW1hZ2VHcmlkX3NpbmdsZV9pbWFnZVdyYXAge1xuICAgICAgYm90dG9tOiAwO1xuICAgICAgbGVmdDogMDtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHJpZ2h0OiAwO1xuICAgICAgdG9wOiAwO1xuICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyO1xuICAgICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgICAgIGJhY2tncm91bmQtc2l6ZTogY292ZXI7IH1cbiAgICAubW9kdWxlV3JhcHBlciAuaW1hZ2VHcmlkX3NpbmdsZV9jb250ZW50IHtcbiAgICAgIGJvdHRvbTogMDtcbiAgICAgIGxlZnQ6IDA7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICByaWdodDogMDtcbiAgICAgIHRvcDogMDsgfVxuICAgICAgLm1vZHVsZVdyYXBwZXIgLmltYWdlR3JpZF9zaW5nbGVfY29udGVudDphZnRlciB7XG4gICAgICAgIC13ZWJraXQtdHJhbnNpdGlvbjogYWxsLCAwLjI1cztcbiAgICAgICAgLW1vei10cmFuc2l0aW9uOiBhbGwsIDAuMjVzO1xuICAgICAgICB0cmFuc2l0aW9uOiBhbGwsIDAuMjVzO1xuICAgICAgICBib3R0b206IDA7XG4gICAgICAgIGxlZnQ6IDA7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgcmlnaHQ6IDA7XG4gICAgICAgIHRvcDogMDtcbiAgICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyO1xuICAgICAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICAgICAgICBiYWNrZ3JvdW5kLXNpemU6IGNvdmVyO1xuICAgICAgICBjb250ZW50OiBcIiBcIjtcbiAgICAgICAgb3BhY2l0eTogMC4zOyB9XG4gICAgICAubW9kdWxlV3JhcHBlciAuaW1hZ2VHcmlkX3NpbmdsZV9jb250ZW50IGg0LCAubW9kdWxlV3JhcHBlciAuaW1hZ2VHcmlkX3NpbmdsZV9jb250ZW50IGg2IHtcbiAgICAgICAgei1pbmRleDogMjtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAwcHg7XG4gICAgICAgIGxlZnQ6IDIwcHg7XG4gICAgICAgIHJpZ2h0OiAyMHB4O1xuICAgICAgICBib3R0b206IDQwcHg7IH1cbiAgICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTQ0MHB4KSB7XG4gICAgICAgICAgLm1vZHVsZVdyYXBwZXIgLmltYWdlR3JpZF9zaW5nbGVfY29udGVudCBoNCwgLm1vZHVsZVdyYXBwZXIgLmltYWdlR3JpZF9zaW5nbGVfY29udGVudCBoNiB7XG4gICAgICAgICAgICBsZWZ0OiAzMHB4O1xuICAgICAgICAgICAgcmlnaHQ6IDMwcHg7IH0gfVxuICAgICAgLm1vZHVsZVdyYXBwZXIgLmltYWdlR3JpZF9zaW5nbGVfY29udGVudCBoNCB7XG4gICAgICAgIC13ZWJraXQtdHJhbnNpdGlvbjogYm90dG9tIDAuM3M7XG4gICAgICAgIC1tb3otdHJhbnNpdGlvbjogYm90dG9tIDAuM3M7XG4gICAgICAgIHRyYW5zaXRpb246IGJvdHRvbSAwLjNzOyB9XG4gICAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDQ5OXB4KSB7XG4gICAgICAgICAgLm1vZHVsZVdyYXBwZXIgLmltYWdlR3JpZF9zaW5nbGVfY29udGVudCBoNCB7XG4gICAgICAgICAgICBmb250LXNpemU6IDE0cHg7XG4gICAgICAgICAgICBsaW5lLWhlaWdodDogMjBweDsgfSB9XG4gICAgICAubW9kdWxlV3JhcHBlciAuaW1hZ2VHcmlkX3NpbmdsZV9jb250ZW50IGg2IHtcbiAgICAgICAgYm90dG9tOiAwO1xuICAgICAgICBvcGFjaXR5OiAwO1xuICAgICAgICAtd2Via2l0LXRyYW5zaXRpb246IGFsbCAwLjNzO1xuICAgICAgICAtbW96LXRyYW5zaXRpb246IGFsbCAwLjNzO1xuICAgICAgICB0cmFuc2l0aW9uOiBhbGwgMC4zczsgfVxuICAgICAgICAubW9kdWxlV3JhcHBlciAuaW1hZ2VHcmlkX3NpbmdsZV9jb250ZW50IGg2OmFmdGVyIHtcbiAgICAgICAgICBjb250ZW50OiBcImlcIjtcbiAgICAgICAgICBmb250LWZhbWlseTogXCJJY29uc1wiLCBzYW5zLXNlcmlmO1xuICAgICAgICAgIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgICAgICAgICBmb250LXZhcmlhbnQ6IG5vcm1hbDtcbiAgICAgICAgICBmb250LXdlaWdodDogbm9ybWFsO1xuICAgICAgICAgIGxpbmUtaGVpZ2h0OiAxO1xuICAgICAgICAgIHNwZWFrOiBub25lO1xuICAgICAgICAgIHRleHQtdHJhbnNmb3JtOiBub25lO1xuICAgICAgICAgIC13ZWJraXQtZm9udC1zbW9vdGhpbmc6IGFudGlhbGlhc2VkO1xuICAgICAgICAgIC1tb3otb3N4LWZvbnQtc21vb3RoaW5nOiBncmF5c2NhbGU7XG4gICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICAgIHRvcDogMnB4O1xuICAgICAgICAgIGxlZnQ6IDZweDtcbiAgICAgICAgICBmb250LXdlaWdodDogYm9sZDsgfVxuICAgICAgLm1vZHVsZVdyYXBwZXIgLmltYWdlR3JpZF9zaW5nbGVfY29udGVudDpob3ZlciBoNCB7XG4gICAgICAgIGJvdHRvbTogNzBweDsgfVxuICAgICAgLm1vZHVsZVdyYXBwZXIgLmltYWdlR3JpZF9zaW5nbGVfY29udGVudDpob3ZlciBoNiB7XG4gICAgICAgIG9wYWNpdHk6IDE7XG4gICAgICAgIGJvdHRvbTogMzBweDsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDk1OXB4KSB7XG4gICAgICAubW9kdWxlV3JhcHBlciAuaW1hZ2VHcmlkX3NpbmdsZSB7XG4gICAgICAgIHdpZHRoOiA1MCU7XG4gICAgICAgIGhlaWdodDogNTB2dztcbiAgICAgICAgbWF4LWhlaWdodDogbm9uZTsgfVxuICAgICAgICAubW9kdWxlV3JhcHBlciAuaW1hZ2VHcmlkX3NpbmdsZV9jb250ZW50IHtcbiAgICAgICAgICBwYWRkaW5nOiAwIDEwcHggMTBweCAxMHB4OyB9XG4gICAgICAgICAgLm1vZHVsZVdyYXBwZXIgLmltYWdlR3JpZF9zaW5nbGVfY29udGVudCBoNCB7XG4gICAgICAgICAgICBsZWZ0OiAxNXB4O1xuICAgICAgICAgICAgcmlnaHQ6IDE1cHg7XG4gICAgICAgICAgICBib3R0b206IDIwcHg7IH0gfVxuICAgIC5tb2R1bGVXcmFwcGVyIC5pbWFnZUdyaWRfc2luZ2xlLWxpbmsgLmltYWdlR3JpZF9zaW5nbGVfaW1hZ2VXcmFwIHtcbiAgICAgIC13ZWJraXQtdHJhbnNpdGlvbi1kdXJhdGlvbjogMC4zcztcbiAgICAgIC1tb3otdHJhbnNpdGlvbi1kdXJhdGlvbjogMC4zcztcbiAgICAgIHRyYW5zaXRpb24tZHVyYXRpb246IDAuM3M7XG4gICAgICAtd2Via2l0LXRyYW5zaXRpb24tcHJvcGVydHk6IC13ZWJraXQtdHJhbnNmb3JtO1xuICAgICAgLW1vei10cmFuc2l0aW9uLXByb3BlcnR5OiAtbW96LXRyYW5zZm9ybTtcbiAgICAgIHRyYW5zaXRpb24tcHJvcGVydHk6IHRyYW5zZm9ybTsgfVxuICAgIC5tb2R1bGVXcmFwcGVyIC5pbWFnZUdyaWRfc2luZ2xlLWxpbms6aG92ZXIgLmltYWdlR3JpZF9zaW5nbGVfaW1hZ2VXcmFwIHtcbiAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZSgxLjEpO1xuICAgICAgLW1vei10cmFuc2Zvcm06IHNjYWxlKDEuMSk7XG4gICAgICAtbXMtdHJhbnNmb3JtOiBzY2FsZSgxLjEpO1xuICAgICAgLW8tdHJhbnNmb3JtOiBzY2FsZSgxLjEpO1xuICAgICAgdHJhbnNmb3JtOiBzY2FsZSgxLjEpOyB9XG5cbi5ibG9nLCAuYXJjaGl2ZSAubWFpbiB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuICAuYmxvZyAuaGVybywgLmFyY2hpdmUgLm1haW4gLmhlcm8ge1xuICAgIHBhZGRpbmctdG9wOiAyMDBweDtcbiAgICBwYWRkaW5nLWJvdHRvbTogNTBweDtcbiAgICBtaW4taGVpZ2h0OiA0NTBweDsgfVxuICAuYmxvZyAubmV3c19ibG9jaywgLmFyY2hpdmUgLm1haW4gLm5ld3NfYmxvY2sge1xuICAgIHotaW5kZXg6IDA7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICBkaXNwbGF5OiAtd2Via2l0LWJveDtcbiAgICBkaXNwbGF5OiAtbW96LWJveDtcbiAgICBkaXNwbGF5OiBib3g7XG4gICAgZGlzcGxheTogLXdlYmtpdC1mbGV4O1xuICAgIGRpc3BsYXk6IC1tb3otZmxleDtcbiAgICBkaXNwbGF5OiAtbXMtZmxleGJveDtcbiAgICBkaXNwbGF5OiBmbGV4OyB9XG4gICAgLmJsb2cgLm5ld3NfYmxvY2s6OmFmdGVyLCAuYXJjaGl2ZSAubWFpbiAubmV3c19ibG9jazo6YWZ0ZXIge1xuICAgICAgY2xlYXI6IGJvdGg7XG4gICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgZGlzcGxheTogYmxvY2s7IH1cbiAgICAuYmxvZyAubmV3c19ibG9ja19jb250ZW50LCAuYXJjaGl2ZSAubWFpbiAubmV3c19ibG9ja19jb250ZW50IHtcbiAgICAgIHBhZGRpbmc6IDMwcHggMCAwIDA7XG4gICAgICBmbG9hdDogbGVmdDtcbiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgIHdpZHRoOiA2OCU7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cbiAgICAgIC5ibG9nIC5uZXdzX2Jsb2NrX2NvbnRlbnQgLm5ld3NfY29udGVudCwgLmFyY2hpdmUgLm1haW4gLm5ld3NfYmxvY2tfY29udGVudCAubmV3c19jb250ZW50IHtcbiAgICAgICAgcGFkZGluZzogMzBweCAwO1xuICAgICAgICBwYWRkaW5nLWxlZnQ6IDEwMHB4O1xuICAgICAgICBwYWRkaW5nLXJpZ2h0OiA2MHB4OyB9XG4gICAgICAgIC5ibG9nIC5uZXdzX2Jsb2NrX2NvbnRlbnQgLm5ld3NfY29udGVudDo6YWZ0ZXIsIC5hcmNoaXZlIC5tYWluIC5uZXdzX2Jsb2NrX2NvbnRlbnQgLm5ld3NfY29udGVudDo6YWZ0ZXIge1xuICAgICAgICAgIGNsZWFyOiBib3RoO1xuICAgICAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICAgICAgZGlzcGxheTogYmxvY2s7IH1cbiAgICAgICAgLmJsb2cgLm5ld3NfYmxvY2tfY29udGVudCAubmV3c19jb250ZW50IC5pbWdfY29udGFpbmVyLCAuYXJjaGl2ZSAubWFpbiAubmV3c19ibG9ja19jb250ZW50IC5uZXdzX2NvbnRlbnQgLmltZ19jb250YWluZXIge1xuICAgICAgICAgIGZsb2F0OiBsZWZ0O1xuICAgICAgICAgIGNsZWFyOiBsZWZ0O1xuICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgICB3aWR0aDogMzIwcHg7XG4gICAgICAgICAgaGVpZ2h0OiAyNDBweDtcbiAgICAgICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXI7XG4gICAgICAgICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgICAgICAgICBiYWNrZ3JvdW5kLXNpemU6IGNvdmVyOyB9XG4gICAgICAgIC5ibG9nIC5uZXdzX2Jsb2NrX2NvbnRlbnQgLm5ld3NfY29udGVudCAudGV4dF9jb250YWluZXIsIC5hcmNoaXZlIC5tYWluIC5uZXdzX2Jsb2NrX2NvbnRlbnQgLm5ld3NfY29udGVudCAudGV4dF9jb250YWluZXIge1xuICAgICAgICAgIGZsb2F0OiBsZWZ0O1xuICAgICAgICAgIHdpZHRoOiBjYWxjKDEwMCUgLSAzMjBweCk7XG4gICAgICAgICAgcGFkZGluZy1sZWZ0OiA0MHB4OyB9XG4gICAgICAgIC5ibG9nIC5uZXdzX2Jsb2NrX2NvbnRlbnQgLm5ld3NfY29udGVudCB0aW1lLCAuYXJjaGl2ZSAubWFpbiAubmV3c19ibG9ja19jb250ZW50IC5uZXdzX2NvbnRlbnQgdGltZSB7XG4gICAgICAgICAgY29sb3I6ICNGMThFMDI7XG4gICAgICAgICAgZm9udC1zaXplOiAyMHB4OyB9XG4gICAgICAgIC5ibG9nIC5uZXdzX2Jsb2NrX2NvbnRlbnQgLm5ld3NfY29udGVudCBoNSBhLCAuYXJjaGl2ZSAubWFpbiAubmV3c19ibG9ja19jb250ZW50IC5uZXdzX2NvbnRlbnQgaDUgYSB7XG4gICAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgICAgICAgIGNvbG9yOiAjNEE0QTRBO1xuICAgICAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7IH1cbiAgICAgIC5ibG9nIC5uZXdzX2Jsb2NrX2NvbnRlbnQtbm9TaWRlYmFyLCAuYXJjaGl2ZSAubWFpbiAubmV3c19ibG9ja19jb250ZW50LW5vU2lkZWJhciB7XG4gICAgICAgIHdpZHRoOiAxMDAlOyB9XG4gICAgICAgIC5ibG9nIC5uZXdzX2Jsb2NrX2NvbnRlbnQtbm9TaWRlYmFyIC5uZXdzX2NvbnRlbnQsIC5hcmNoaXZlIC5tYWluIC5uZXdzX2Jsb2NrX2NvbnRlbnQtbm9TaWRlYmFyIC5uZXdzX2NvbnRlbnQge1xuICAgICAgICAgIHBhZGRpbmctcmlnaHQ6IDEwMHB4OyB9XG4gICAgLmJsb2cgLm5ld3NfYmxvY2tfc2lkZWJhciwgLmFyY2hpdmUgLm1haW4gLm5ld3NfYmxvY2tfc2lkZWJhciB7XG4gICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgICAgZmxvYXQ6IHJpZ2h0O1xuICAgICAgcGFkZGluZy1yaWdodDogMTAwcHg7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICB3aWR0aDogMzIlO1xuICAgICAgYmFja2dyb3VuZDogI0Y3RjdGNzsgfVxuICAgICAgLmJsb2cgLm5ld3NfYmxvY2tfc2lkZWJhciBhc2lkZSwgLmFyY2hpdmUgLm1haW4gLm5ld3NfYmxvY2tfc2lkZWJhciBhc2lkZSB7XG4gICAgICAgIHBhZGRpbmc6IDYwcHggMCAwIDYwcHg7IH1cbiAgICAgICAgLmJsb2cgLm5ld3NfYmxvY2tfc2lkZWJhciBhc2lkZSBoNSwgLmFyY2hpdmUgLm1haW4gLm5ld3NfYmxvY2tfc2lkZWJhciBhc2lkZSBoNSB7XG4gICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICAgIG1hcmdpbi1ib3R0b206IDE1cHg7XG4gICAgICAgICAgZm9udC1zaXplOiAyNHB4O1xuICAgICAgICAgIGNvbG9yOiAjNEE0QTRBO1xuICAgICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgICAgICAgbGV0dGVyLXNwYWNpbmc6IGluaXRpYWw7IH1cbiAgICAgICAgLmJsb2cgLm5ld3NfYmxvY2tfc2lkZWJhciBhc2lkZSB1bCwgLmFyY2hpdmUgLm1haW4gLm5ld3NfYmxvY2tfc2lkZWJhciBhc2lkZSB1bCB7XG4gICAgICAgICAgbWFyZ2luLWJvdHRvbTogNDVweDtcbiAgICAgICAgICBsaXN0LXN0eWxlOiBub25lOyB9XG4gICAgICAgICAgLmJsb2cgLm5ld3NfYmxvY2tfc2lkZWJhciBhc2lkZSB1bCBsaSwgLmFyY2hpdmUgLm1haW4gLm5ld3NfYmxvY2tfc2lkZWJhciBhc2lkZSB1bCBsaSB7XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAxMHB4OyB9XG4gICAgICAgIC5ibG9nIC5uZXdzX2Jsb2NrX3NpZGViYXIgYXNpZGUgYSwgLmFyY2hpdmUgLm1haW4gLm5ld3NfYmxvY2tfc2lkZWJhciBhc2lkZSBhIHtcbiAgICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogOTU5cHgpIHtcbiAgICAuYmxvZyAubmV3c19ibG9ja19jb250ZW50LCAuYXJjaGl2ZSAubWFpbiAubmV3c19ibG9ja19jb250ZW50IHtcbiAgICAgIHBhZGRpbmctdG9wOiAwOyB9XG4gICAgICAuYmxvZyAubmV3c19ibG9ja19jb250ZW50IC5uZXdzX2NvbnRlbnQsIC5hcmNoaXZlIC5tYWluIC5uZXdzX2Jsb2NrX2NvbnRlbnQgLm5ld3NfY29udGVudCB7XG4gICAgICAgIHBhZGRpbmctbGVmdDogMjBweDtcbiAgICAgICAgcGFkZGluZy1yaWdodDogMjBweDsgfVxuICAgICAgICAuYmxvZyAubmV3c19ibG9ja19jb250ZW50IC5uZXdzX2NvbnRlbnQgLmltZ19jb250YWluZXIsIC5hcmNoaXZlIC5tYWluIC5uZXdzX2Jsb2NrX2NvbnRlbnQgLm5ld3NfY29udGVudCAuaW1nX2NvbnRhaW5lciB7XG4gICAgICAgICAgd2lkdGg6IDI1NnB4O1xuICAgICAgICAgIGhlaWdodDogMTkycHg7IH1cbiAgICAgICAgLmJsb2cgLm5ld3NfYmxvY2tfY29udGVudCAubmV3c19jb250ZW50IC50ZXh0X2NvbnRhaW5lciwgLmFyY2hpdmUgLm1haW4gLm5ld3NfYmxvY2tfY29udGVudCAubmV3c19jb250ZW50IC50ZXh0X2NvbnRhaW5lciB7XG4gICAgICAgICAgd2lkdGg6IGNhbGMoMTAwJSAtIDI1NnB4KTsgfVxuICAgIC5ibG9nIC5uZXdzX2Jsb2NrX3NpZGViYXIsIC5hcmNoaXZlIC5tYWluIC5uZXdzX2Jsb2NrX3NpZGViYXIge1xuICAgICAgcGFkZGluZzogMHB4IDIwcHg7IH1cbiAgICAgIC5ibG9nIC5uZXdzX2Jsb2NrX3NpZGViYXIgYXNpZGUsIC5hcmNoaXZlIC5tYWluIC5uZXdzX2Jsb2NrX3NpZGViYXIgYXNpZGUge1xuICAgICAgICBwYWRkaW5nLWxlZnQ6IDA7XG4gICAgICAgIHBhZGRpbmctdG9wOiAzMHB4OyB9XG4gICAgICAgIC5ibG9nIC5uZXdzX2Jsb2NrX3NpZGViYXIgYXNpZGUgaDUsIC5hcmNoaXZlIC5tYWluIC5uZXdzX2Jsb2NrX3NpZGViYXIgYXNpZGUgaDUge1xuICAgICAgICAgIG1hcmdpbi1ib3R0b206IDVweDsgfVxuICAgICAgICAuYmxvZyAubmV3c19ibG9ja19zaWRlYmFyIGFzaWRlIHVsLCAuYXJjaGl2ZSAubWFpbiAubmV3c19ibG9ja19zaWRlYmFyIGFzaWRlIHVsIHtcbiAgICAgICAgICBtYXJnaW4tYm90dG9tOiAzNXB4OyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNzYwcHgpIHtcbiAgICAuYmxvZyAubmV3c19ibG9ja19jb250ZW50LCAuYXJjaGl2ZSAubWFpbiAubmV3c19ibG9ja19jb250ZW50IHtcbiAgICAgIHBhZGRpbmctdG9wOiAwOyB9XG4gICAgICAuYmxvZyAubmV3c19ibG9ja19jb250ZW50IC5uZXdzX2NvbnRlbnQsIC5hcmNoaXZlIC5tYWluIC5uZXdzX2Jsb2NrX2NvbnRlbnQgLm5ld3NfY29udGVudCB7XG4gICAgICAgIHBhZGRpbmc6IDIwcHg7IH1cbiAgICAgICAgLmJsb2cgLm5ld3NfYmxvY2tfY29udGVudCAubmV3c19jb250ZW50IC5pbWdfY29udGFpbmVyLCAuYXJjaGl2ZSAubWFpbiAubmV3c19ibG9ja19jb250ZW50IC5uZXdzX2NvbnRlbnQgLmltZ19jb250YWluZXIge1xuICAgICAgICAgIGRpc3BsYXk6IG5vbmU7IH1cbiAgICAgICAgLmJsb2cgLm5ld3NfYmxvY2tfY29udGVudCAubmV3c19jb250ZW50IC50ZXh0X2NvbnRhaW5lciwgLmFyY2hpdmUgLm1haW4gLm5ld3NfYmxvY2tfY29udGVudCAubmV3c19jb250ZW50IC50ZXh0X2NvbnRhaW5lciB7XG4gICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgcGFkZGluZzogMjBweCAwIDAgMDsgfSB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDQ5OXB4KSB7XG4gICAgLmJsb2cgLm5ld3NfYmxvY2ssIC5hcmNoaXZlIC5tYWluIC5uZXdzX2Jsb2NrIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrOyB9XG4gICAgICAuYmxvZyAubmV3c19ibG9ja19jb250ZW50LCAuYXJjaGl2ZSAubWFpbiAubmV3c19ibG9ja19jb250ZW50IHtcbiAgICAgICAgcGFkZGluZy10b3A6IDA7XG4gICAgICAgIHdpZHRoOiAxMDAlOyB9XG4gICAgICAgIC5ibG9nIC5uZXdzX2Jsb2NrX2NvbnRlbnQgLm5ld3NfY29udGVudCwgLmFyY2hpdmUgLm1haW4gLm5ld3NfYmxvY2tfY29udGVudCAubmV3c19jb250ZW50IHtcbiAgICAgICAgICBwYWRkaW5nOiAxNXB4IDEwcHg7IH1cbiAgICAgICAgICAuYmxvZyAubmV3c19ibG9ja19jb250ZW50IC5uZXdzX2NvbnRlbnQgLnRleHRfY29udGFpbmVyLCAuYXJjaGl2ZSAubWFpbiAubmV3c19ibG9ja19jb250ZW50IC5uZXdzX2NvbnRlbnQgLnRleHRfY29udGFpbmVyIHtcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgcGFkZGluZzogMTBweCAwIDAgMDsgfVxuICAgICAgICAgICAgLmJsb2cgLm5ld3NfYmxvY2tfY29udGVudCAubmV3c19jb250ZW50IC50ZXh0X2NvbnRhaW5lciBoNSwgLmFyY2hpdmUgLm1haW4gLm5ld3NfYmxvY2tfY29udGVudCAubmV3c19jb250ZW50IC50ZXh0X2NvbnRhaW5lciBoNSB7XG4gICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDNweDsgfVxuICAgICAgICAgICAgLmJsb2cgLm5ld3NfYmxvY2tfY29udGVudCAubmV3c19jb250ZW50IC50ZXh0X2NvbnRhaW5lciBwLCAuYXJjaGl2ZSAubWFpbiAubmV3c19ibG9ja19jb250ZW50IC5uZXdzX2NvbnRlbnQgLnRleHRfY29udGFpbmVyIHAge1xuICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiA4cHg7IH1cbiAgICAgIC5ibG9nIC5uZXdzX2Jsb2NrX3NpZGViYXIsIC5hcmNoaXZlIC5tYWluIC5uZXdzX2Jsb2NrX3NpZGViYXIge1xuICAgICAgICBwYWRkaW5nOiAwIDEwcHg7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cbiAgICAgICAgLmJsb2cgLm5ld3NfYmxvY2tfc2lkZWJhciBhc2lkZSwgLmFyY2hpdmUgLm1haW4gLm5ld3NfYmxvY2tfc2lkZWJhciBhc2lkZSB7XG4gICAgICAgICAgcGFkZGluZy10b3A6IDEwcHg7IH1cbiAgICAgICAgICAuYmxvZyAubmV3c19ibG9ja19zaWRlYmFyIGFzaWRlIHVsLCAuYXJjaGl2ZSAubWFpbiAubmV3c19ibG9ja19zaWRlYmFyIGFzaWRlIHVsIHtcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDI1cHg7IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA5NjBweCkge1xuICAgIC5ibG9nIC5uZXdzX2Jsb2NrOmJlZm9yZSwgLmFyY2hpdmUgLm1haW4gLm5ld3NfYmxvY2s6YmVmb3JlIHtcbiAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgei1pbmRleDogLTM7XG4gICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHRvcDogMDtcbiAgICAgIGxlZnQ6IDA7IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA5NjBweCkgYW5kIChtYXgtd2lkdGg6IDk5OXB4KSB7XG4gICAgLmJsb2cgLm5ld3NfYmxvY2tfY29udGVudCAubmV3c19jb250ZW50IC5pbWdfY29udGFpbmVyLCAuYXJjaGl2ZSAubWFpbiAubmV3c19ibG9ja19jb250ZW50IC5uZXdzX2NvbnRlbnQgLmltZ19jb250YWluZXIge1xuICAgICAgd2lkdGg6IDIyNHB4O1xuICAgICAgaGVpZ2h0OiAxNjhweDsgfVxuICAgIC5ibG9nIC5uZXdzX2Jsb2NrX2NvbnRlbnQgLm5ld3NfY29udGVudCAudGV4dF9jb250YWluZXIsIC5hcmNoaXZlIC5tYWluIC5uZXdzX2Jsb2NrX2NvbnRlbnQgLm5ld3NfY29udGVudCAudGV4dF9jb250YWluZXIge1xuICAgICAgd2lkdGg6IGNhbGMoMTAwJSAtIDIyNHB4KTsgfSB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDEwMDBweCkgYW5kIChtYXgtd2lkdGg6IDEyMDBweCkge1xuICAgIC5ibG9nIC5uZXdzX2Jsb2NrX2NvbnRlbnQgLm5ld3NfY29udGVudCAuaW1nX2NvbnRhaW5lciwgLmFyY2hpdmUgLm1haW4gLm5ld3NfYmxvY2tfY29udGVudCAubmV3c19jb250ZW50IC5pbWdfY29udGFpbmVyIHtcbiAgICAgIHdpZHRoOiAyNTZweDtcbiAgICAgIGhlaWdodDogMTkycHg7IH1cbiAgICAuYmxvZyAubmV3c19ibG9ja19jb250ZW50IC5uZXdzX2NvbnRlbnQgLnRleHRfY29udGFpbmVyLCAuYXJjaGl2ZSAubWFpbiAubmV3c19ibG9ja19jb250ZW50IC5uZXdzX2NvbnRlbnQgLnRleHRfY29udGFpbmVyIHtcbiAgICAgIHdpZHRoOiBjYWxjKDEwMCUgLSAyNTZweCk7IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxNDAwcHgpIHtcbiAgICAuYmxvZyAubmV3c19ibG9ja19jb250ZW50LCAuYXJjaGl2ZSAubWFpbiAubmV3c19ibG9ja19jb250ZW50IHtcbiAgICAgIHdpZHRoOiBjYWxjKCgxMDB2dyAtIDEyMDBweCkvMiArIDg1N3B4KTsgfVxuICAgICAgLmJsb2cgLm5ld3NfYmxvY2tfY29udGVudCAubmV3c19jb250ZW50LCAuYXJjaGl2ZSAubWFpbiAubmV3c19ibG9ja19jb250ZW50IC5uZXdzX2NvbnRlbnQge1xuICAgICAgICB3aWR0aDogY2FsYygoMTAwdncgLSAxMjAwcHgpLzIgKyA4NTdweCk7XG4gICAgICAgIHBhZGRpbmctbGVmdDogY2FsYygoMTAwdncgLSAxMjAwcHgpLzIpOyB9XG4gICAgICAuYmxvZyAubmV3c19ibG9ja19jb250ZW50LW5vU2lkZWJhciwgLmFyY2hpdmUgLm1haW4gLm5ld3NfYmxvY2tfY29udGVudC1ub1NpZGViYXIge1xuICAgICAgICBwYWRkaW5nLWxlZnQ6IDEwMHB4O1xuICAgICAgICBwYWRkaW5nLXJpZ2h0OiAxMDBweDtcbiAgICAgICAgd2lkdGg6IDEwMCU7IH1cbiAgICAgICAgLmJsb2cgLm5ld3NfYmxvY2tfY29udGVudC1ub1NpZGViYXIgLm5ld3NfY29udGVudCwgLmFyY2hpdmUgLm1haW4gLm5ld3NfYmxvY2tfY29udGVudC1ub1NpZGViYXIgLm5ld3NfY29udGVudCB7XG4gICAgICAgICAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gICAgICAgICAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xuICAgICAgICAgIG1heC13aWR0aDogMTIwMHB4O1xuICAgICAgICAgIHBhZGRpbmctbGVmdDogMDtcbiAgICAgICAgICBwYWRkaW5nLXJpZ2h0OiAwO1xuICAgICAgICAgIHdpZHRoOiAxMDAlOyB9XG4gICAgLmJsb2cgLm5ld3NfYmxvY2tfc2lkZWJhciwgLmFyY2hpdmUgLm1haW4gLm5ld3NfYmxvY2tfc2lkZWJhciB7XG4gICAgICB3aWR0aDogY2FsYygoMTAwdncgLSAxMjAwcHgpLzIgKyAzNDNweCk7XG4gICAgICBwYWRkaW5nLXJpZ2h0OiBjYWxjKCgxMDB2dyAtIDEyMDBweCkvMik7IH0gfVxuXG4ubW9kdWxlV3JhcHBlciAubGF0ZXN0TmV3cyB7XG4gIHdpZHRoOiAxMDAlO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIG1hcmdpbjogNDVweCBhdXRvIDA7XG4gIGJhY2tncm91bmQ6ICNmZmZmZmY7XG4gIC8qIE9sZCBicm93c2VycyAqL1xuICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQodG8gYm90dG9tLCAjZmZmZmZmIDAlLCAjZTFkZWRlIDEwMCUpO1xuICAvKiBXM0MsIElFMTArLCBGRjE2KywgQ2hyb21lMjYrLCBPcGVyYTEyKywgU2FmYXJpNysgKi8gfVxuICAubW9kdWxlV3JhcHBlciAubGF0ZXN0TmV3cyBoMiB7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIGNvbG9yOiAjNEE0QTRBO1xuICAgIGxldHRlci1zcGFjaW5nOiBpbml0aWFsO1xuICAgIHdpZHRoOiA5NSU7XG4gICAgcGFkZGluZzogMCAxJTtcbiAgICBtYXJnaW46IDAgYXV0bztcbiAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgIzk3OTc5NztcbiAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlOyB9XG4gIC5tb2R1bGVXcmFwcGVyIC5sYXRlc3ROZXdzX2xpc3RfaXRlbSB7XG4gICAgdHJhbnNmb3JtLW9yaWdpbjogY2VudGVyIGNlbnRlcjtcbiAgICB0cmFuc2Zvcm06IHNjYWxlKDEpO1xuICAgIHRyYW5zaXRpb246IGFsbCAwLjVzOyB9XG4gICAgLm1vZHVsZVdyYXBwZXIgLmxhdGVzdE5ld3NfbGlzdF9pdGVtOmhvdmVyIHtcbiAgICAgIHotaW5kZXg6IDEwMDsgfVxuICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNDk5cHgpIHtcbiAgICAgICAgLm1vZHVsZVdyYXBwZXIgLmxhdGVzdE5ld3NfbGlzdF9pdGVtOmhvdmVyIHtcbiAgICAgICAgICB0cmFuc2Zvcm06IG5vbmU7XG4gICAgICAgICAgYm94LXNoYWRvdzogbm9uZTtcbiAgICAgICAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDsgfSB9XG4gICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA1MDBweCkge1xuICAgICAgICAubW9kdWxlV3JhcHBlciAubGF0ZXN0TmV3c19saXN0X2l0ZW06aG92ZXIge1xuICAgICAgICAgIHRyYW5zZm9ybTogbm9uZTtcbiAgICAgICAgICBib3gtc2hhZG93OiBub25lO1xuICAgICAgICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50OyB9IH1cbiAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDk2MHB4KSB7XG4gICAgICAgIC5tb2R1bGVXcmFwcGVyIC5sYXRlc3ROZXdzX2xpc3RfaXRlbTpob3ZlciB7XG4gICAgICAgICAgYm94LXNoYWRvdzogMCAxM3B4IDE3cHggMHB4IHJnYmEoMCwgMCwgMCwgMC4zKTtcbiAgICAgICAgICBiYWNrZ3JvdW5kOiAjZmZmZmZmO1xuICAgICAgICAgIHRyYW5zZm9ybTogc2NhbGUoMS4wNSk7IH0gfVxuICAubW9kdWxlV3JhcHBlciAubGF0ZXN0TmV3c19oZXJvIHtcbiAgICBkaXNwbGF5OiAtd2Via2l0LWJveDtcbiAgICBkaXNwbGF5OiAtbW96LWJveDtcbiAgICBkaXNwbGF5OiBib3g7XG4gICAgZGlzcGxheTogLXdlYmtpdC1mbGV4O1xuICAgIGRpc3BsYXk6IC1tb3otZmxleDtcbiAgICBkaXNwbGF5OiAtbXMtZmxleGJveDtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIC13ZWJraXQtZmxleC1mbG93OiByb3cgd3JhcDtcbiAgICAtbW96LWZsZXgtZmxvdzogcm93IHdyYXA7XG4gICAgZmxleC1mbG93OiByb3cgd3JhcDtcbiAgICAtd2Via2l0LWJveC1wYWNrOiBjZW50ZXI7XG4gICAgLW1vei1ib3gtcGFjazogY2VudGVyO1xuICAgIGJveC1wYWNrOiBjZW50ZXI7XG4gICAgLXdlYmtpdC1qdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAtbW96LWp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgIC1tcy1qdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAtby1qdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAtbXMtZmxleC1wYWNrOiBjZW50ZXI7XG4gICAgbWFyZ2luOiAwIGF1dG87XG4gICAgbWF4LXdpZHRoOiAxMjAwcHg7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgcGFkZGluZzogMjBweCAwOyB9XG4gIC5tb2R1bGVXcmFwcGVyIC5sYXRlc3ROZXdzX2xpc3Qge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIG1hcmdpbjogNTBweCBhdXRvO1xuICAgIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICAgIHBhZGRpbmc6IDAgMzBweDsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDQ5OXB4KSB7XG4gICAgICAubW9kdWxlV3JhcHBlciAubGF0ZXN0TmV3c19saXN0IHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7IH0gfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDUwMHB4KSB7XG4gICAgICAubW9kdWxlV3JhcHBlciAubGF0ZXN0TmV3c19saXN0IHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7IH0gfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDk2MHB4KSB7XG4gICAgICAubW9kdWxlV3JhcHBlciAubGF0ZXN0TmV3c19saXN0IHtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWZsZXg7IH0gfVxuICAgIC5tb2R1bGVXcmFwcGVyIC5sYXRlc3ROZXdzX2xpc3RfaXRlbSB7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICBtYXJnaW46IDAgYXV0bztcbiAgICAgIHdpZHRoOiAzMCU7XG4gICAgICBmbG9hdDogbGVmdDtcbiAgICAgIG1hcmdpbjogMCBhdXRvO1xuICAgICAgcGFkZGluZzogMDsgfVxuICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNDk5cHgpIHtcbiAgICAgICAgLm1vZHVsZVdyYXBwZXIgLmxhdGVzdE5ld3NfbGlzdF9pdGVtIHtcbiAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICBmbG9hdDogbm9uZTsgfSB9XG4gICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA1MDBweCkge1xuICAgICAgICAubW9kdWxlV3JhcHBlciAubGF0ZXN0TmV3c19saXN0X2l0ZW0ge1xuICAgICAgICAgIHdpZHRoOiA5MCU7XG4gICAgICAgICAgZmxvYXQ6IG5vbmU7IH0gfVxuICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogOTYwcHgpIHtcbiAgICAgICAgLm1vZHVsZVdyYXBwZXIgLmxhdGVzdE5ld3NfbGlzdF9pdGVtIHtcbiAgICAgICAgICB3aWR0aDogMzAlO1xuICAgICAgICAgIGZsb2F0OiBsZWZ0OyB9IH1cbiAgICAgIC5tb2R1bGVXcmFwcGVyIC5sYXRlc3ROZXdzX2xpc3RfaXRlbV9saW5rIHtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lOyB9XG4gICAgICAgIC5tb2R1bGVXcmFwcGVyIC5sYXRlc3ROZXdzX2xpc3RfaXRlbV9saW5rX2NvbnRlbnQge1xuICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgICBoZWlnaHQ6IGF1dG87IH1cbiAgICAgICAgICAubW9kdWxlV3JhcHBlciAubGF0ZXN0TmV3c19saXN0X2l0ZW1fbGlua19jb250ZW50X3dyYXBwZXIge1xuICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICAgICAgcGFkZGluZzogMjVweDsgfVxuICAgICAgICAgICAgLm1vZHVsZVdyYXBwZXIgLmxhdGVzdE5ld3NfbGlzdF9pdGVtX2xpbmtfY29udGVudF93cmFwcGVyIGgzIHtcbiAgICAgICAgICAgICAgY29sb3I6ICM1QzVDNUM7IH1cblxuLypcbi5tb2R1bGVXcmFwcGVyIC5sYXRlc3ROZXdze1xuICAgIHBhZGRpbmc6IDMwcHggMTAwcHggNjBweCAxMDBweDtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiRzZWNvbmRhcnk7XG4gICAgQGluY2x1ZGUgY2xlYXJmaXg7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gICAgJl9oZXJvIHtcbiAgICAgICAgQGluY2x1ZGUgZGlzcGxheSggZmxleCApO1xuICAgICAgICBAaW5jbHVkZSBmbGV4LWZsb3coIHJvdyB3cmFwICk7XG4gICAgICAgIEBpbmNsdWRlIGp1c3RpZnktY29udGVudCggY2VudGVyICk7XG4gICAgICAgIG1hcmdpbjogMCBhdXRvO1xuICAgICAgICBtYXgtd2lkdGg6IDEyMDBweDtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICB9XG5cbiAgICAgICZfbGlzdCB7XG4gICAgICAgICAgd2lkdGg6IDI1JTtcbiAgICAgICAgICAmX2l0ZW17XG4gICAgICAgICAgICBtYXJnaW46IDAgMHB4IDI1cHggMDtcbiAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgICAgICZfbGlua3tcbiAgICAgICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICAgICAgICAvKlxuICAgICAgICAgICAgICAmOmFmdGVyIHtcbiAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIHRyYW5zaXRpb24oIG9wYWNpdHkgMC4zcyApO1xuICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHJlZDtcbiAgICAgICAgICAgICAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgICAgICAgICAgICAgbGVmdDogMDtcbiAgICAgICAgICAgICAgICAgIG9wYWNpdHk6IDA7XG4gICAgICAgICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICAgICAgICB0b3A6IDA7XG4gICAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgICAgfVxuKi9cbi8qXG4gICAgICAgICAgICAgICY6aG92ZXIge1xuICAgICAgICAgICAgICAgICAgJjphZnRlciB7XG4gICAgICAgICAgICAgICAgICAgICAgb3BhY2l0eTogMC42O1xuICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICZfaW1hZ2V7XG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgYWJzb2x1dGUtc2l6ZTtcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAmX2NvbnRlbnR7XG4gICAgICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtdGFibGU7XG4gICAgICAgICAgICAgICAgICAmX3dyYXBlcntcbiAgICAgICAgICAgICAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgfVxufVxuKi9cbi8qXG4ubW9kdWxlV3JhcHBlciAubGF0ZXN0TmV3cyB7XG4gICAgQGluY2x1ZGUgY2xlYXJmaXg7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIEBpbmNsdWRlIGRpc3BsYXkoIGZsZXggKTtcbiAgICBAaW5jbHVkZSBmbGV4LWZsb3coIHJvdyB3cmFwICk7XG4gICAgLW1zLWZsZXgtZmxvdzogcm93IHdyYXA7XG4gICAgJl9oZXJvIHtcbiAgICAgICAgcGFkZGluZzogOTBweCA1LjUlIDgwcHggMTAwcHg7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBmbG9hdDogbGVmdDtcbiAgICAgICAgY2xlYXI6cmlnaHQ7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgICAgY29udGVudDogJyc7XG4gICAgICAgICAgICBAaW5jbHVkZSBhYnNvbHV0ZS1zaXplO1xuICAgICAgICAgICAgb3BhY2l0eTogMC45O1xuICAgICAgICB9XG4gICAgICAgICZfaW5uZXJ7XG4gICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgICAgICAmX3N1YnRpdGxlIHtcbiAgICAgICAgICAgICAgICBib3JkZXItdG9wOiAxcHggc29saWQ7XG4gICAgICAgICAgICAgICAgcGFkZGluZy10b3A6IDEwcHg7XG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgZm9udCAoMjUsIDUwLCBub25lKTtcbiAgICAgICAgICAgICAgICBmb250LXN0eWxlOiBpdGFsaWM7XG4gICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMTVweDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbiAgICAmX2xpc3Qge1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgZmxvYXQ6bGVmdDtcbiAgICAgICAgJl9pdGVtIHtcbiAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgICAgIHBhZGRpbmc6IDU1cHggMTAwcHggNzBweCA4LjQlO1xuICAgICAgICAgICAgJl9saW5rIHtcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBhYnNvbHV0ZS1zaXplO1xuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGJhY2tncm91bmQtY292ZXI7XG4gICAgICAgICAgICAgICAgcG9zaXRpb246IHN0YXRpYztcbiAgICAgICAgICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgICAgICAgICAgICAgJl9pbWFnZSB7XG4gICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIGFic29sdXRlLXNpemU7XG4gICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIGJhY2tncm91bmQtY292ZXI7XG4gICAgICAgICAgICAgICAgICAgICY6YWZ0ZXIge1xuICAgICAgICAgICAgICAgICAgICAgICAgY29udGVudDogJyc7XG4gICAgICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSBhYnNvbHV0ZS1zaXplO1xuICAgICAgICAgICAgICAgICAgICAgICAgb3BhY2l0eTogMC44NTtcbiAgICAgICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIHRyYW5zaXRpb24ob3BhY2l0eSAwLjJzKTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAmX2NvbnRlbnQge1xuICAgICAgICAgICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IHRhYmxlO1xuXG4gICAgICAgICAgICAgICAgICAgICZfd3JhcHBlciB7XG4gICAgICAgICAgICAgICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiB0YWJsZS1jZWxsO1xuICAgICAgICAgICAgICAgICAgICAgICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcblxuICAgICAgICAgICAgICAgICAgICAgICAgJl9leGNlcnB0IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAmOmxhc3Qtb2YtdHlwZSB7XG4gICAgICAgICAgICAgICAgLmxhdGVzdE5ld3NfbGlzdF9pdGVtX2xpbmtfaW1hZ2U6YWZ0ZXIge1xuICAgICAgICAgICAgICAgICAgICBvcGFjaXR5OiAwLjY7XG4gICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIHRyYW5zaXRpb24ob3BhY2l0eSAwLjJzKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgLmxhdGVzdE5ld3NfbGlzdF9pdGVtX2NvbnRlbnRfd3JhcHBlciB7XG4gICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIHRleHQtc2hhZG93MDtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICY6aG92ZXIge1xuICAgICAgICAgICAgICAgIC5sYXRlc3ROZXdzX2xpc3RfaXRlbV9saW5rX2ltYWdlIHtcbiAgICAgICAgICAgICAgICAgICAgJjphZnRlciB7XG4gICAgICAgICAgICAgICAgICAgICAgICBvcGFjaXR5OiAwLjk1O1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgJjpsYXN0LW9mLXR5cGUge1xuICAgICAgICAgICAgICAgICAgICAubGF0ZXN0TmV3c19saXN0X2l0ZW1fbGlua19pbWFnZSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAmOmFmdGVyIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBvcGFjaXR5OiAwLjcwO1xuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuICAgIEBpbmNsdWRlIG1lZGlhKCRkZXNrdG9wLTE0MDApIHtcbiAgICAgICAgJl9oZXJvIHtcbiAgICAgICAgICAgIHdpZHRoOiBjYWxjKCgxMDAlIC0gMTIwMHB4KS8yICsgNDE0cHgpO1xuICAgICAgICAgICAgcGFkZGluZzogOTBweCA3N3B4IDgwcHggY2FsYygoMTAwJSAtIDEyMDBweCkvMik7XG4gICAgICAgIH1cbiAgICAgICAgJl9saXN0IHtcbiAgICAgICAgICAgIHdpZHRoOiBjYWxjKCgxMDAlIC0gMTIwMHB4KS8yICsgNzg2cHgpO1xuICAgICAgICAgICAgJl9pdGVtIHtcbiAgICAgICAgICAgICAgICBwYWRkaW5nOiA1NXB4IGNhbGMoKDEwMHZ3IC0gMTIwMHB4KS8yKSA3MHB4IDc3cHg7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBAaW5jbHVkZSBtZWRpYSgkZGVza3RvcCkge1xuICAgICAgICAmX2hlcm8ge1xuICAgICAgICAgICAgJl9pbm5lciB7XG4gICAgICAgICAgICAgICAgJl9saW5rIHtcbiAgICAgICAgICAgICAgICAgICAgbWFyZ2luLXRvcDogMjBweDtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAmX2xpc3Qge1xuICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gICAgICAgICAgICAmX2l0ZW0ge1xuICAgICAgICAgICAgICAgIGhlaWdodDogNTAlO1xuICAgICAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTtcblxuICAgICAgICAgICAgICAgICY6bnRoLWNoaWxkKDIpIHtcbiAgICAgICAgICAgICAgICAgICAgdG9wOiA1MCU7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuICAgIEBpbmNsdWRlIG1lZGlhKCRwb3J0YWJsZXMpIHtcbiAgICAgICAgJl9oZXJvIHtcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgcGFkZGluZzogMzBweCAyMHB4O1xuICAgICAgICB9XG4gICAgICAgICZfbGlzdCB7XG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgICZfaXRlbSB7XG4gICAgICAgICAgICAgICAgcGFkZGluZzogMzBweCAyMHB4O1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuICAgIEBpbmNsdWRlIG1lZGlhKCRtb2JpbGUtb25seSkge1xuICAgICAgICAmX2hlcm8ge1xuICAgICAgICAgICAgcGFkZGluZzogMjBweCAxMHB4O1xuICAgICAgICB9XG4gICAgICAgICZfbGlzdCB7XG4gICAgICAgICAgICAmX2l0ZW0ge1xuICAgICAgICAgICAgICAgIHBhZGRpbmc6IDIwcHggMTBweDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbn1cbiovXG4ubW9kdWxlV3JhcHBlciAubmV3c2xldHRlciB7XG4gIHBhZGRpbmc6IDE1cHg7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuICAubW9kdWxlV3JhcHBlciAubmV3c2xldHRlcl9iYWNrZ3JvdW5kIHtcbiAgICBib3R0b206IDA7XG4gICAgbGVmdDogMDtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgcmlnaHQ6IDA7XG4gICAgdG9wOiAwO1xuICAgIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlcjtcbiAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICAgIGJhY2tncm91bmQtc2l6ZTogY292ZXI7XG4gICAgei1pbmRleDogMTsgfVxuICAgIC5tb2R1bGVXcmFwcGVyIC5uZXdzbGV0dGVyX2JhY2tncm91bmQtcHJpbWFyeTphZnRlciB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjRjE4RTAyOyB9XG4gICAgLm1vZHVsZVdyYXBwZXIgLm5ld3NsZXR0ZXJfYmFja2dyb3VuZC1zZWNvbmRhcnk6YWZ0ZXIge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzRBNEE0QTsgfVxuICAgIC5tb2R1bGVXcmFwcGVyIC5uZXdzbGV0dGVyX2JhY2tncm91bmQ6YWZ0ZXIge1xuICAgICAgYm90dG9tOiAwO1xuICAgICAgbGVmdDogMDtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHJpZ2h0OiAwO1xuICAgICAgdG9wOiAwO1xuICAgICAgY29udGVudDogJyc7XG4gICAgICBvcGFjaXR5OiAwLjg7IH1cbiAgLm1vZHVsZVdyYXBwZXIgLm5ld3NsZXR0ZXJfd3JhcHBlciB7XG4gICAgbWFyZ2luOiBhdXRvO1xuICAgIG1heC13aWR0aDogMTAwMHB4O1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB6LWluZGV4OiAyOyB9XG4gICAgLm1vZHVsZVdyYXBwZXIgLm5ld3NsZXR0ZXJfd3JhcHBlciAuZ2ZpZWxkX2xhYmVsIHtcbiAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgICBsZXR0ZXItc3BhY2luZzogMC4xNWVtO1xuICAgICAgZm9udC1zaXplOiAxNC45NXB4O1xuICAgICAgbGluZS1oZWlnaHQ6IDI0Ljk1cHg7XG4gICAgICBmb250LXN0eWxlOiBub3JtYWw7IH1cbiAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDUwMHB4KSB7XG4gICAgICAgIC5tb2R1bGVXcmFwcGVyIC5uZXdzbGV0dGVyX3dyYXBwZXIgLmdmaWVsZF9sYWJlbCB7XG4gICAgICAgICAgZm9udC1zaXplOiAxOC40cHg7XG4gICAgICAgICAgbGluZS1oZWlnaHQ6IDI4LjRweDsgfSB9XG4gICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA5NjBweCkge1xuICAgICAgICAubW9kdWxlV3JhcHBlciAubmV3c2xldHRlcl93cmFwcGVyIC5nZmllbGRfbGFiZWwge1xuICAgICAgICAgIGZvbnQtc2l6ZTogMTkuNTVweDtcbiAgICAgICAgICBsaW5lLWhlaWdodDogMjkuNTVweDsgfSB9XG4gICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxNDQwcHgpIHtcbiAgICAgICAgLm1vZHVsZVdyYXBwZXIgLm5ld3NsZXR0ZXJfd3JhcHBlciAuZ2ZpZWxkX2xhYmVsIHtcbiAgICAgICAgICBmb250LXNpemU6IDIzcHg7XG4gICAgICAgICAgbGluZS1oZWlnaHQ6IDMzcHg7IH0gfVxuICAgIC5tb2R1bGVXcmFwcGVyIC5uZXdzbGV0dGVyX3dyYXBwZXIgLnByaW1hcnktc3VibWl0IHNwYW4ge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgyNDEsIDE0MiwgMiwgMC4yKTsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA1MDBweCkgYW5kIChtYXgtd2lkdGg6IDk1OXB4KSB7XG4gICAgLm1vZHVsZVdyYXBwZXIgLm5ld3NsZXR0ZXIge1xuICAgICAgdGV4dC1hbGlnbjogY2VudGVyOyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogOTYwcHgpIHtcbiAgICAubW9kdWxlV3JhcHBlciAubmV3c2xldHRlciB7XG4gICAgICBwYWRkaW5nOiA3MHB4IDE1cHggMjBweCAxNXB4OyB9XG4gICAgICAubW9kdWxlV3JhcHBlciAubmV3c2xldHRlcl93cmFwcGVyIHtcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyOyB9XG4gICAgICAgIC5tb2R1bGVXcmFwcGVyIC5uZXdzbGV0dGVyX3dyYXBwZXIgLmdmb3JtX2JvZHkge1xuICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgIGZsb2F0OiBsZWZ0O1xuICAgICAgICAgIHdpZHRoOiBjYWxjKDEwMCUgLSAxNzVweCk7IH1cbiAgICAgICAgLm1vZHVsZVdyYXBwZXIgLm5ld3NsZXR0ZXJfd3JhcHBlciAuZ2ZpZWxkIHtcbiAgICAgICAgICBmbG9hdDogbGVmdDtcbiAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDIwcHg7XG4gICAgICAgICAgd2lkdGg6IGNhbGMoNTAlIC0gMjBweCk7IH1cbiAgICAgICAgLm1vZHVsZVdyYXBwZXIgLm5ld3NsZXR0ZXJfd3JhcHBlciAuZ2Zvcm1fZm9vdGVyIHtcbiAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICBmbG9hdDogbGVmdDtcbiAgICAgICAgICBwYWRkaW5nLXRvcDogNDBweDtcbiAgICAgICAgICB3aWR0aDogMTc1cHg7IH1cbiAgICAgICAgLm1vZHVsZVdyYXBwZXIgLm5ld3NsZXR0ZXJfd3JhcHBlciAuZ2Zvcm1fZmllbGRzOjphZnRlcixcbiAgICAgICAgLm1vZHVsZVdyYXBwZXIgLm5ld3NsZXR0ZXJfd3JhcHBlciAuZ2Zvcm1fd3JhcHBlciBmb3JtOjphZnRlciB7XG4gICAgICAgICAgY2xlYXI6IGJvdGg7XG4gICAgICAgICAgY29udGVudDogXCJcIjtcbiAgICAgICAgICBkaXNwbGF5OiBibG9jazsgfVxuICAgICAgICAubW9kdWxlV3JhcHBlciAubmV3c2xldHRlcl93cmFwcGVyIC5nZmllbGRfbGFiZWwge1xuICAgICAgICAgIG1hcmdpbi1ib3R0b206IDhweDtcbiAgICAgICAgICB0ZXh0LWFsaWduOiBsZWZ0OyB9IH1cblxuLyogTmV3c2xldHRlciAqL1xuLm5ld3NsZXR0ZXIgKiB7XG4gIGNvbG9yOiAjZmZmZmZmOyB9XG5cbi5uZXdzbGV0dGVyIC5nZmllbGRfbGFiZWwge1xuICBmb250LXdlaWdodDogNzAwOyB9XG5cbi5uZXdzbGV0dGVyIC5idXR0b24ge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmZmZmO1xuICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50O1xuICBjb2xvcjogI0YxOEUwMjsgfVxuXG4ubmV3c2xldHRlciAuYnV0dG9uOmhvdmVyIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI0Y3RjdGNzsgfVxuXG4ubmV3c2xldHRlciAuZ2lucHV0X2NvbnRhaW5lciBpbnB1dCwgLm5ld3NsZXR0ZXIgLmdpbnB1dF9jb250YWluZXIgaW5wdXQ6YWN0aXZlLFxuLm5ld3NsZXR0ZXIgLmdpbnB1dF9jb250YWluZXIgaW5wdXQ6Zm9jdXMge1xuICBib3JkZXItY29sb3I6ICNmZmZmZmY7XG4gIGNvbG9yOiAjZmZmZmZmOyB9XG5cbi5wYWdpbmF0aW9uIHtcbiAgd2lkdGg6IDEwMCU7IH1cbiAgLnBhZ2luYXRpb25fbGlzdCB7XG4gICAgbWFyZ2luOiAzMHB4IGF1dG87XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIHdpZHRoOiAxMDAlOyB9XG4gICAgLnBhZ2luYXRpb25fbGlzdDo6YWZ0ZXIge1xuICAgICAgY2xlYXI6IGJvdGg7XG4gICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgZGlzcGxheTogYmxvY2s7IH1cbiAgICAucGFnaW5hdGlvbl9saXN0X3NpbmdsZSB7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICB3aWR0aDogMzMuMyU7XG4gICAgICBmbG9hdDogbGVmdDtcbiAgICAgIG1pbi1oZWlnaHQ6IDFweDsgfVxuICAgICAgLnBhZ2luYXRpb25fbGlzdF9zaW5nbGUgYSB7XG4gICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICAgICAgZm9udC1zdHlsZTogbm9ybWFsOyB9XG4gICAgICAucGFnaW5hdGlvbl9saXN0X3NpbmdsZV9jdXJyZW50LCAucGFnaW5hdGlvbl9saXN0X3NpbmdsZV9kb3RzLCAucGFnaW5hdGlvbl9saXN0X3NpbmdsZV9wYWdlIHtcbiAgICAgICAgbWFyZ2luOiAwIDJweDtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlOyB9XG4gICAgICAucGFnaW5hdGlvbl9saXN0X3NpbmdsZV9jdXJyZW50OmJlZm9yZSB7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgICAgICAgY29udGVudDogJyc7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgei1pbmRleDogLTE7IH1cbiAgICAgIC5wYWdpbmF0aW9uX2xpc3Rfc2luZ2xlLXByZXYge1xuICAgICAgICB0ZXh0LWFsaWduOiBsZWZ0OyB9XG4gICAgICAucGFnaW5hdGlvbl9saXN0X3NpbmdsZS1wYWdlcyB7XG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjsgfVxuICAgICAgLnBhZ2luYXRpb25fbGlzdF9zaW5nbGUtbmV4dCB7XG4gICAgICAgIHRleHQtYWxpZ246IHJpZ2h0OyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDk1OXB4KSB7XG4gICAgLnBhZ2luYXRpb24ge1xuICAgICAgcGFkZGluZzogMCA1MHB4OyB9XG4gICAgICAucGFnaW5hdGlvbl9saXN0X3NpbmdsZV9jdXJyZW50OmJlZm9yZSB7XG4gICAgICAgIGhlaWdodDogMjVweDtcbiAgICAgICAgd2lkdGg6IDI1cHg7XG4gICAgICAgIHRvcDogMHB4O1xuICAgICAgICBsZWZ0OiAtNnB4OyB9XG4gICAgICAucGFnaW5hdGlvbl9saXN0X3NpbmdsZS1wcmV2IHNwYW4ge1xuICAgICAgICBkaXNwbGF5OiBub25lOyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNDk5cHgpIHtcbiAgICAucGFnaW5hdGlvbiB7XG4gICAgICBwYWRkaW5nOiAwIDMwcHg7IH1cbiAgICAgIC5wYWdpbmF0aW9uX2xpc3Qge1xuICAgICAgICB3aWR0aDogMTAwJTsgfVxuICAgICAgICAucGFnaW5hdGlvbl9saXN0X3NpbmdsZV9jdXJyZW50OmJlZm9yZSB7XG4gICAgICAgICAgaGVpZ2h0OiAyMHB4O1xuICAgICAgICAgIHdpZHRoOiAyMHB4O1xuICAgICAgICAgIHRvcDogLTFweDtcbiAgICAgICAgICBsZWZ0OiAtNXB4OyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogOTYwcHgpIHtcbiAgICAucGFnaW5hdGlvbiB7XG4gICAgICBwYWRkaW5nOiAwIDYwcHggMCAxMDBweDsgfVxuICAgICAgLnBhZ2luYXRpb25fbGlzdF9zaW5nbGUge1xuICAgICAgICB3aWR0aDogMzMuMyU7XG4gICAgICAgIGZsb2F0OiBsZWZ0OyB9XG4gICAgICAgIC5wYWdpbmF0aW9uX2xpc3Rfc2luZ2xlLXByZXYge1xuICAgICAgICAgIHRleHQtYWxpZ246IGxlZnQ7IH1cbiAgICAgICAgLnBhZ2luYXRpb25fbGlzdF9zaW5nbGUtcGFnZXMge1xuICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjsgfVxuICAgICAgICAucGFnaW5hdGlvbl9saXN0X3NpbmdsZS1uZXh0IHtcbiAgICAgICAgICB0ZXh0LWFsaWduOiByaWdodDsgfVxuICAgICAgLnBhZ2luYXRpb25fbGlzdF9zaW5nbGVfY3VycmVudDpiZWZvcmUge1xuICAgICAgICBoZWlnaHQ6IDI4cHg7XG4gICAgICAgIHdpZHRoOiAyOHB4O1xuICAgICAgICBsZWZ0OiAtN3B4O1xuICAgICAgICB0b3A6IDBweDsgfSB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDE0MDBweCkge1xuICAgIC5wYWdpbmF0aW9uLW5ld3Mge1xuICAgICAgcGFkZGluZy1sZWZ0OiBjYWxjKCgxMDB2dyAtIDEyMDBweCkvMik7XG4gICAgICB3aWR0aDogY2FsYygoMTAwdncgLSAxMjAwcHgpLzIgKyA4NTdweCk7IH1cbiAgICAucGFnaW5hdGlvbl9saXN0X3NpbmdsZV9jdXJyZW50OmJlZm9yZSB7XG4gICAgICBsZWZ0OiAtNnB4O1xuICAgICAgdG9wOiAxcHg7IH0gfVxuXG4ucGFnaW5hdGlvbl9saXN0X3NpbmdsZS1wcmV2IGEsXG4ucGFnaW5hdGlvbl9saXN0X3NpbmdsZS1uZXh0IGEge1xuICBmb250LXNpemU6IDIwcHg7XG4gIGZvbnQtd2VpZ2h0OiA2MDA7XG4gIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7IH1cblxuLnBhZ2luYXRpb25fbGlzdCAucGFnaW5hdGlvbl9saXN0X3NpbmdsZSAucGFnaW5hdGlvbl9saXN0X3NpbmdsZV9wYWdlIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICB3aWR0aDogMjRweDtcbiAgaGVpZ2h0OiAyNHB4O1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIGxpbmUtaGVpZ2h0OiAyNHB4O1xuICBmb250LXNpemU6IDE4cHg7XG4gIGNvbG9yOiAjRjE4RTAyO1xuICBmb250LXdlaWdodDogNjAwOyB9XG5cbi5wYWdpbmF0aW9uX2xpc3QgLnBhZ2luYXRpb25fbGlzdF9zaW5nbGUgLnBhZ2luYXRpb25fbGlzdF9zaW5nbGVfY3VycmVudCB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgd2lkdGg6IDI0cHg7XG4gIGhlaWdodDogMjRweDtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBsaW5lLWhlaWdodDogMjRweDtcbiAgZm9udC1zaXplOiAxOHB4O1xuICBjb2xvcjogI2ZmZmZmZjtcbiAgZm9udC13ZWlnaHQ6IDYwMDsgfVxuICAucGFnaW5hdGlvbl9saXN0IC5wYWdpbmF0aW9uX2xpc3Rfc2luZ2xlIC5wYWdpbmF0aW9uX2xpc3Rfc2luZ2xlX2N1cnJlbnQ6YmVmb3JlIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAwO1xuICAgIGxlZnQ6IDA7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgICBiYWNrZ3JvdW5kOiAjRjE4RTAyOyB9XG5cbi5tb2R1bGVXcmFwcGVyIC5vZmZzZXRUZXh0RnVsbEltYWdlLXByaW1hcnk6YWZ0ZXIge1xuICBiYWNrZ3JvdW5kOiByZ2JhKDI0MSwgMTQyLCAyLCAwLjY1KTsgfVxuXG4ubW9kdWxlV3JhcHBlciAub2Zmc2V0VGV4dEZ1bGxJbWFnZS1zZWNvbmRhcnk6YWZ0ZXIge1xuICBiYWNrZ3JvdW5kOiByZ2JhKDc0LCA3NCwgNzQsIDAuNjUpOyB9XG5cbi5tb2R1bGVXcmFwcGVyIC5vZmZzZXRUZXh0RnVsbEltYWdlIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlOyB9XG4gIC5tb2R1bGVXcmFwcGVyIC5vZmZzZXRUZXh0RnVsbEltYWdlOmFmdGVyIHtcbiAgICBjb250ZW50OiAnJztcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgaGVpZ2h0OiBjYWxjKDEwMCUgLSAxMDBweCk7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgdG9wOiAxMDBweDtcbiAgICBsZWZ0OiAwOyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNDk5cHgpIHtcbiAgICAgIC5tb2R1bGVXcmFwcGVyIC5vZmZzZXRUZXh0RnVsbEltYWdlOmFmdGVyIHtcbiAgICAgICAgZGlzcGxheTogbm9uZTsgfSB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNTAwcHgpIHtcbiAgICAgIC5tb2R1bGVXcmFwcGVyIC5vZmZzZXRUZXh0RnVsbEltYWdlOmFmdGVyIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7IH0gfVxuICAubW9kdWxlV3JhcHBlciAub2Zmc2V0VGV4dEZ1bGxJbWFnZV9zaW5nbGVfaXRlbSB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlOyB9XG4gICAgLm1vZHVsZVdyYXBwZXIgLm9mZnNldFRleHRGdWxsSW1hZ2Vfc2luZ2xlX2l0ZW06YWZ0ZXIge1xuICAgICAgY29udGVudDogXCIgXCI7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIGNsZWFyOiBib3RoO1xuICAgICAgcGFkZGluZy1ib3R0b206IDglOyB9XG4gICAgLm1vZHVsZVdyYXBwZXIgLm9mZnNldFRleHRGdWxsSW1hZ2Vfc2luZ2xlX2l0ZW1faW1hZ2Uge1xuICAgICAgYm90dG9tOiAwO1xuICAgICAgbGVmdDogMDtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHJpZ2h0OiAwO1xuICAgICAgdG9wOiAwO1xuICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyO1xuICAgICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgICAgIGJhY2tncm91bmQtc2l6ZTogY292ZXI7XG4gICAgICB0b3A6IDEwMHB4OyB9XG4gICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA0OTlweCkge1xuICAgICAgICAubW9kdWxlV3JhcHBlciAub2Zmc2V0VGV4dEZ1bGxJbWFnZV9zaW5nbGVfaXRlbV9pbWFnZSB7XG4gICAgICAgICAgZGlzcGxheTogbm9uZTsgfSB9XG4gICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA1MDBweCkge1xuICAgICAgICAubW9kdWxlV3JhcHBlciAub2Zmc2V0VGV4dEZ1bGxJbWFnZV9zaW5nbGVfaXRlbV9pbWFnZSB7XG4gICAgICAgICAgZGlzcGxheTogYmxvY2s7IH0gfVxuICAgICAgLm1vZHVsZVdyYXBwZXIgLm9mZnNldFRleHRGdWxsSW1hZ2Vfc2luZ2xlX2l0ZW1faW1hZ2UgaW1nIHtcbiAgICAgICAgd2lkdGg6IDEwMCU7IH1cbiAgICAubW9kdWxlV3JhcHBlciAub2Zmc2V0VGV4dEZ1bGxJbWFnZV9zaW5nbGVfaXRlbV9jb250YWluZXIge1xuICAgICAgbWF4LXdpZHRoOiA4NSU7XG4gICAgICBtYXJnaW46IDAgYXV0bzsgfVxuICAgICAgLm1vZHVsZVdyYXBwZXIgLm9mZnNldFRleHRGdWxsSW1hZ2Vfc2luZ2xlX2l0ZW1fY29udGFpbmVyOmFmdGVyIHtcbiAgICAgICAgY29udGVudDogJyc7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICBjbGVhcjogYm90aDsgfVxuICAgIC5tb2R1bGVXcmFwcGVyIC5vZmZzZXRUZXh0RnVsbEltYWdlX3NpbmdsZV9pdGVtX2NvbnRlbnQge1xuICAgICAgZmxvYXQ6IHJpZ2h0O1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgei1pbmRleDogMTA7XG4gICAgICBtYXgtd2lkdGg6IDc1MHB4O1xuICAgICAgYm9yZGVyOiAxNXB4IHNvbGlkICNGN0Y3Rjc7XG4gICAgICBiYWNrZ3JvdW5kOiAjRjE4RTAyOyB9XG4gICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA0OTlweCkge1xuICAgICAgICAubW9kdWxlV3JhcHBlciAub2Zmc2V0VGV4dEZ1bGxJbWFnZV9zaW5nbGVfaXRlbV9jb250ZW50IHtcbiAgICAgICAgICBwYWRkaW5nOiAxNXB4OyB9IH1cbiAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDUwMHB4KSB7XG4gICAgICAgIC5tb2R1bGVXcmFwcGVyIC5vZmZzZXRUZXh0RnVsbEltYWdlX3NpbmdsZV9pdGVtX2NvbnRlbnQge1xuICAgICAgICAgIHBhZGRpbmc6IDI1cHg7IH0gfVxuICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogOTYwcHgpIHtcbiAgICAgICAgLm1vZHVsZVdyYXBwZXIgLm9mZnNldFRleHRGdWxsSW1hZ2Vfc2luZ2xlX2l0ZW1fY29udGVudCB7XG4gICAgICAgICAgcGFkZGluZzogNzVweDsgfSB9XG4gICAgICAubW9kdWxlV3JhcHBlciAub2Zmc2V0VGV4dEZ1bGxJbWFnZV9zaW5nbGVfaXRlbV9jb250ZW50IGgzLCAubW9kdWxlV3JhcHBlciAub2Zmc2V0VGV4dEZ1bGxJbWFnZV9zaW5nbGVfaXRlbV9jb250ZW50IHAge1xuICAgICAgICBjb2xvcjogI2ZmZmZmZjsgfVxuXG4ucGljdHVyZUJhY2tncm91bmQge1xuICBkaXNwbGF5OiBub25lOyB9XG5cbi5zaW5nbGUtcG9zdCAubWFpbiAuaGVybyB7XG4gIHBhZGRpbmctdG9wOiAyMDBweDtcbiAgcGFkZGluZy1ib3R0b206IDUwcHg7XG4gIG1pbi1oZWlnaHQ6IDQ1MHB4OyB9XG4gIC5zaW5nbGUtcG9zdCAubWFpbiAuaGVyb193cmFwcGVyX21ldGEgZGQge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jazsgfVxuICAuc2luZ2xlLXBvc3QgLm1haW4gLmhlcm9fd3JhcHBlcl9tZXRhIHNwYW4ge1xuICAgIG1hcmdpbjogMCAxMHB4OyB9XG4gICAgLnNpbmdsZS1wb3N0IC5tYWluIC5oZXJvX3dyYXBwZXJfbWV0YSBzcGFuOmxhc3Qtb2YtdHlwZSB7XG4gICAgICBkaXNwbGF5OiBub25lOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDk1OXB4KSB7XG4gICAgLnNpbmdsZS1wb3N0IC5tYWluIC5oZXJvIHtcbiAgICAgIHBhZGRpbmctdG9wOiAxNzBweDtcbiAgICAgIHBhZGRpbmctYm90dG9tOiA0MHB4OyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNDk5cHgpIHtcbiAgICAuc2luZ2xlLXBvc3QgLm1haW4gLmhlcm8ge1xuICAgICAgcGFkZGluZy10b3A6IDE3MHB4O1xuICAgICAgcGFkZGluZy1ib3R0b206IDMwcHg7IH0gfVxuXG4uc2luZ2xlLXBvc3QgLm1haW4gLm5ld3NfYmxvY2s6OmFmdGVyIHtcbiAgY2xlYXI6IGJvdGg7XG4gIGNvbnRlbnQ6IFwiXCI7XG4gIGRpc3BsYXk6IGJsb2NrOyB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDUwMHB4KSB7XG4gIC5zaW5nbGUtcG9zdCAubWFpbiAubmV3c19ibG9jayB7XG4gICAgZGlzcGxheTogLXdlYmtpdC1ib3g7XG4gICAgZGlzcGxheTogLW1vei1ib3g7XG4gICAgZGlzcGxheTogYm94O1xuICAgIGRpc3BsYXk6IC13ZWJraXQtZmxleDtcbiAgICBkaXNwbGF5OiAtbW96LWZsZXg7XG4gICAgZGlzcGxheTogLW1zLWZsZXhib3g7XG4gICAgZGlzcGxheTogZmxleDsgfSB9XG5cbi5zaW5nbGUtcG9zdCAubWFpbiAubmV3c19ibG9jayAuc2luZ2xlX25ld3Nfd3JhcHBlciB7XG4gIG1hcmdpbjogYXV0bztcbiAgd2lkdGg6IDEwMCU7XG4gIGZsb2F0OiBsZWZ0OyB9XG4gIC5zaW5nbGUtcG9zdCAubWFpbiAubmV3c19ibG9jayAuc2luZ2xlX25ld3Nfd3JhcHBlciAuc2luZ2xlX25ld3NfcmVsYXRlZGNvbnRlbnQge1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgIHdpZHRoOiAxMDAlOyB9XG4gICAgLnNpbmdsZS1wb3N0IC5tYWluIC5uZXdzX2Jsb2NrIC5zaW5nbGVfbmV3c193cmFwcGVyIC5zaW5nbGVfbmV3c19yZWxhdGVkY29udGVudF93cmFwcGVyIHtcbiAgICAgIHdpZHRoOiA1MCU7XG4gICAgICBmbG9hdDogbGVmdDtcbiAgICAgIHBhZGRpbmc6IDAgMSU7XG4gICAgICBtYXJnaW46IDAgYXV0bztcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogOTU5cHgpIHtcbiAgICAgICAgLnNpbmdsZS1wb3N0IC5tYWluIC5uZXdzX2Jsb2NrIC5zaW5nbGVfbmV3c193cmFwcGVyIC5zaW5nbGVfbmV3c19yZWxhdGVkY29udGVudF93cmFwcGVyIHtcbiAgICAgICAgICBwYWRkaW5nOiAzMHB4IDIwcHggMHB4IDIwcHg7XG4gICAgICAgICAgZmxvYXQ6IGxlZnQ7XG4gICAgICAgICAgd2lkdGg6IDEwMCU7IH0gfVxuICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNDk5cHgpIHtcbiAgICAgICAgLnNpbmdsZS1wb3N0IC5tYWluIC5uZXdzX2Jsb2NrIC5zaW5nbGVfbmV3c193cmFwcGVyIC5zaW5nbGVfbmV3c19yZWxhdGVkY29udGVudF93cmFwcGVyIHtcbiAgICAgICAgICBwYWRkaW5nOiAyMHB4IDEwcHggMHB4IDEwcHg7XG4gICAgICAgICAgZmxvYXQ6IGxlZnQ7XG4gICAgICAgICAgd2lkdGg6IDEwMCU7IH0gfVxuICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogOTYwcHgpIHtcbiAgICAgICAgLnNpbmdsZS1wb3N0IC5tYWluIC5uZXdzX2Jsb2NrIC5zaW5nbGVfbmV3c193cmFwcGVyIC5zaW5nbGVfbmV3c19yZWxhdGVkY29udGVudF93cmFwcGVyIHtcbiAgICAgICAgICBtYXgtd2lkdGg6IDEyMDBweDtcbiAgICAgICAgICBwYWRkaW5nOiAwIDElO1xuICAgICAgICAgIG1hcmdpbjogMCBhdXRvO1xuICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsgfSB9XG4gICAgLnNpbmdsZS1wb3N0IC5tYWluIC5uZXdzX2Jsb2NrIC5zaW5nbGVfbmV3c193cmFwcGVyIC5zaW5nbGVfbmV3c19yZWxhdGVkY29udGVudF9saW5rcyB7XG4gICAgICB0ZXh0LWFsaWduOiBsZWZ0OyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogOTU5cHgpIHtcbiAgICAgIC5zaW5nbGUtcG9zdCAubWFpbiAubmV3c19ibG9jayAuc2luZ2xlX25ld3Nfd3JhcHBlciAuc2luZ2xlX25ld3NfcmVsYXRlZGNvbnRlbnQge1xuICAgICAgICBwYWRkaW5nOiAzMHB4IDIwcHggMTBweCAyMHB4OyB9IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA0OTlweCkge1xuICAgICAgLnNpbmdsZS1wb3N0IC5tYWluIC5uZXdzX2Jsb2NrIC5zaW5nbGVfbmV3c193cmFwcGVyIC5zaW5nbGVfbmV3c19yZWxhdGVkY29udGVudCB7XG4gICAgICAgIHBhZGRpbmc6IDIwcHggMTBweCAxMHB4IDEwcHg7IH0gfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDUwMHB4KSB7XG4gICAgICAuc2luZ2xlLXBvc3QgLm1haW4gLm5ld3NfYmxvY2sgLnNpbmdsZV9uZXdzX3dyYXBwZXIgLnNpbmdsZV9uZXdzX3JlbGF0ZWRjb250ZW50IHtcbiAgICAgICAgcGFkZGluZzogMjBweCAxMHB4IDEwcHggMTBweDsgfSB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogOTYwcHgpIHtcbiAgICAgIC5zaW5nbGUtcG9zdCAubWFpbiAubmV3c19ibG9jayAuc2luZ2xlX25ld3Nfd3JhcHBlciAuc2luZ2xlX25ld3NfcmVsYXRlZGNvbnRlbnQge1xuICAgICAgICBtYXgtd2lkdGg6IDEyMDBweDtcbiAgICAgICAgbWFyZ2luOiAwIGF1dG87IH0gfVxuICAgIC5zaW5nbGUtcG9zdCAubWFpbiAubmV3c19ibG9jayAuc2luZ2xlX25ld3Nfd3JhcHBlciAuc2luZ2xlX25ld3NfcmVsYXRlZGNvbnRlbnRfdGV4dCB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAwOyB9XG4gIC5zaW5nbGUtcG9zdCAubWFpbiAubmV3c19ibG9jayAuc2luZ2xlX25ld3Nfd3JhcHBlciAuYWxpZ25sZWZ0LCAuc2luZ2xlLXBvc3QgLm1haW4gLm5ld3NfYmxvY2sgLnNpbmdsZV9uZXdzX3dyYXBwZXIgLmFsaWducmlnaHQge1xuICAgIHBhZGRpbmc6IDEwcHggMDsgfVxuICAuc2luZ2xlLXBvc3QgLm1haW4gLm5ld3NfYmxvY2sgLnNpbmdsZV9uZXdzX3dyYXBwZXIgLmFsaWduY2VudGVyIHtcbiAgICBtYXJnaW46IDMwcHggYXV0bzsgfVxuICAuc2luZ2xlLXBvc3QgLm1haW4gLm5ld3NfYmxvY2sgLnNpbmdsZV9uZXdzX3dyYXBwZXIgLmFsaWdubm9uZSB7XG4gICAgbWFyZ2luOiAzMHB4IGF1dG87XG4gICAgd2lkdGg6IDgwJTsgfVxuICAuc2luZ2xlLXBvc3QgLm1haW4gLm5ld3NfYmxvY2sgLnNpbmdsZV9uZXdzX3dyYXBwZXIgLnNpbmdsZV9uZXdzX2NvbnRlbnQgLnNpbmdsZV9uZXdfYXV0aG9yIHtcbiAgICBib3JkZXItYm90dG9tOiA0cHggc29saWQgI0YxOEUwMjtcbiAgICBtYXJnaW4tYm90dG9tOiAzNHB4OyB9XG4gICAgLnNpbmdsZS1wb3N0IC5tYWluIC5uZXdzX2Jsb2NrIC5zaW5nbGVfbmV3c193cmFwcGVyIC5zaW5nbGVfbmV3c19jb250ZW50IC5zaW5nbGVfbmV3X2F1dGhvcjphZnRlciB7XG4gICAgICBjb250ZW50OiAnJztcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgY2xlYXI6IGJvdGg7IH1cbiAgICAuc2luZ2xlLXBvc3QgLm1haW4gLm5ld3NfYmxvY2sgLnNpbmdsZV9uZXdzX3dyYXBwZXIgLnNpbmdsZV9uZXdzX2NvbnRlbnQgLnNpbmdsZV9uZXdfYXV0aG9yIHA6bnRoLWNoaWxkKDEpIHtcbiAgICAgIGZsb2F0OiBsZWZ0O1xuICAgICAgcGFkZGluZy1sZWZ0OiA0NXB4OyB9XG4gICAgICAuc2luZ2xlLXBvc3QgLm1haW4gLm5ld3NfYmxvY2sgLnNpbmdsZV9uZXdzX3dyYXBwZXIgLnNpbmdsZV9uZXdzX2NvbnRlbnQgLnNpbmdsZV9uZXdfYXV0aG9yIHA6bnRoLWNoaWxkKDEpOmJlZm9yZSB7XG4gICAgICAgIGxlZnQ6IDA7XG4gICAgICAgIGJhY2tncm91bmQ6IHVybChcImltZy9pY29uLXBlcnNvbi5zdmdcIikgbm8tcmVwZWF0IGNlbnRlciBjZW50ZXI7XG4gICAgICAgIGJhY2tncm91bmQtc2l6ZTogODUlIDg1JTtcbiAgICAgICAgcGFkZGluZy1sZWZ0OiA1MHB4OyB9XG4gICAgLnNpbmdsZS1wb3N0IC5tYWluIC5uZXdzX2Jsb2NrIC5zaW5nbGVfbmV3c193cmFwcGVyIC5zaW5nbGVfbmV3c19jb250ZW50IC5zaW5nbGVfbmV3X2F1dGhvciBwOm50aC1jaGlsZCgyKSB7XG4gICAgICBmbG9hdDogcmlnaHQ7XG4gICAgICBwYWRkaW5nLXJpZ2h0OiA0NXB4OyB9XG4gICAgICAuc2luZ2xlLXBvc3QgLm1haW4gLm5ld3NfYmxvY2sgLnNpbmdsZV9uZXdzX3dyYXBwZXIgLnNpbmdsZV9uZXdzX2NvbnRlbnQgLnNpbmdsZV9uZXdfYXV0aG9yIHA6bnRoLWNoaWxkKDIpOmJlZm9yZSB7XG4gICAgICAgIHJpZ2h0OiAwO1xuICAgICAgICBiYWNrZ3JvdW5kOiB1cmwoXCJpbWcvaWNvbi1jYWxlbmRhci5zdmdcIikgbm8tcmVwZWF0IGNlbnRlciBjZW50ZXI7XG4gICAgICAgIGJhY2tncm91bmQtc2l6ZTogODUlIDg1JTtcbiAgICAgICAgcGFkZGluZy1yaWdodDogNTBweDsgfVxuICAgIC5zaW5nbGUtcG9zdCAubWFpbiAubmV3c19ibG9jayAuc2luZ2xlX25ld3Nfd3JhcHBlciAuc2luZ2xlX25ld3NfY29udGVudCAuc2luZ2xlX25ld19hdXRob3IgcCB7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICBtYXJnaW46IDA7XG4gICAgICBmb250LXNpemU6IDE2cHg7XG4gICAgICBjb2xvcjogIzlCOUI5QjsgfVxuICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogOTYwcHgpIHtcbiAgICAgICAgLnNpbmdsZS1wb3N0IC5tYWluIC5uZXdzX2Jsb2NrIC5zaW5nbGVfbmV3c193cmFwcGVyIC5zaW5nbGVfbmV3c19jb250ZW50IC5zaW5nbGVfbmV3X2F1dGhvciBwIHtcbiAgICAgICAgICBmb250LXNpemU6IDI0cHg7IH0gfVxuICAgICAgLnNpbmdsZS1wb3N0IC5tYWluIC5uZXdzX2Jsb2NrIC5zaW5nbGVfbmV3c193cmFwcGVyIC5zaW5nbGVfbmV3c19jb250ZW50IC5zaW5nbGVfbmV3X2F1dGhvciBwOmJlZm9yZSB7XG4gICAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICB0b3A6IDA7XG4gICAgICAgIHdpZHRoOiAyNXB4O1xuICAgICAgICBoZWlnaHQ6IDI1cHg7IH1cbiAgLnNpbmdsZS1wb3N0IC5tYWluIC5uZXdzX2Jsb2NrIC5zaW5nbGVfbmV3c193cmFwcGVyIC5zaW5nbGVfbmV3c19jb250ZW50IGxpIHtcbiAgICBwYWRkaW5nLWxlZnQ6IDIwcHg7XG4gICAgbGlzdC1zdHlsZS10eXBlOiBub25lO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBtYXJnaW4tYm90dG9tOiAxMHB4OyB9XG4gICAgLnNpbmdsZS1wb3N0IC5tYWluIC5uZXdzX2Jsb2NrIC5zaW5nbGVfbmV3c193cmFwcGVyIC5zaW5nbGVfbmV3c19jb250ZW50IGxpOmJlZm9yZSB7XG4gICAgICBjb250ZW50OiAnJztcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICNDNDAwMDA7XG4gICAgICBib3JkZXItcmFkaXVzOiA1MCU7XG4gICAgICB3aWR0aDogN3B4O1xuICAgICAgaGVpZ2h0OiA3cHg7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICB0b3A6IDhweDtcbiAgICAgIGxlZnQ6IDBweDsgfVxuICAuc2luZ2xlLXBvc3QgLm1haW4gLm5ld3NfYmxvY2sgLnNpbmdsZV9uZXdzX3dyYXBwZXIgLnNpbmdsZV9uZXdzX2NvbnRlbnQgaHIge1xuICAgIGhlaWdodDogM3B4O1xuICAgIG1hcmdpbjogMzBweCAwO1xuICAgIGJhY2tncm91bmQ6ICNDNDAwMDA7XG4gICAgYm9yZGVyOiBub25lOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDQ5OXB4KSB7XG4gICAgLnNpbmdsZS1wb3N0IC5tYWluIC5uZXdzX2Jsb2NrIC5zaW5nbGVfbmV3c193cmFwcGVyIHtcbiAgICAgIHBhZGRpbmc6IDMwcHggMTBweDsgfVxuICAgICAgLnNpbmdsZS1wb3N0IC5tYWluIC5uZXdzX2Jsb2NrIC5zaW5nbGVfbmV3c193cmFwcGVyIC5hbGlnbmxlZnQsIC5zaW5nbGUtcG9zdCAubWFpbiAubmV3c19ibG9jayAuc2luZ2xlX25ld3Nfd3JhcHBlciAuYWxpZ25yaWdodCB7XG4gICAgICAgIHBhZGRpbmc6IDVweCAwcHg7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICBtYXgtd2lkdGg6IG5vbmU7XG4gICAgICAgIHdpZHRoOiAxMDAlOyB9XG4gICAgICAuc2luZ2xlLXBvc3QgLm1haW4gLm5ld3NfYmxvY2sgLnNpbmdsZV9uZXdzX3dyYXBwZXIgLmFsaWduY2VudGVyIHtcbiAgICAgICAgcGFkZGluZzogMTBweCAwOyB9XG4gICAgICAuc2luZ2xlLXBvc3QgLm1haW4gLm5ld3NfYmxvY2sgLnNpbmdsZV9uZXdzX3dyYXBwZXIgLmFsaWdubm9uZSB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICBwYWRkaW5nOiAxMHB4IDA7XG4gICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgd2lkdGg6IDEwMCU7IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA1MDBweCkge1xuICAgIC5zaW5nbGUtcG9zdCAubWFpbiAubmV3c19ibG9jayAuc2luZ2xlX25ld3Nfd3JhcHBlciB7XG4gICAgICBtYXJnaW46IDA7XG4gICAgICB3aWR0aDogNjcuOCU7XG4gICAgICBwYWRkaW5nOiA0MHB4IDIwcHg7IH1cbiAgICAgIC5zaW5nbGUtcG9zdCAubWFpbiAubmV3c19ibG9jayAuc2luZ2xlX25ld3Nfd3JhcHBlcjo6YWZ0ZXIge1xuICAgICAgICBjbGVhcjogYm90aDtcbiAgICAgICAgY29udGVudDogXCJcIjtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7IH1cbiAgICAgIC5zaW5nbGUtcG9zdCAubWFpbiAubmV3c19ibG9jayAuc2luZ2xlX25ld3Nfd3JhcHBlciAuYWxpZ25sZWZ0LCAuc2luZ2xlLXBvc3QgLm1haW4gLm5ld3NfYmxvY2sgLnNpbmdsZV9uZXdzX3dyYXBwZXIgLmFsaWducmlnaHQge1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgIG1heC13aWR0aDogNDkwcHg7XG4gICAgICAgIHdpZHRoOiA1MCU7IH1cbiAgICAgIC5zaW5nbGUtcG9zdCAubWFpbiAubmV3c19ibG9jayAuc2luZ2xlX25ld3Nfd3JhcHBlciAuYWxpZ25jZW50ZXIsIC5zaW5nbGUtcG9zdCAubWFpbiAubmV3c19ibG9jayAuc2luZ2xlX25ld3Nfd3JhcHBlciAuYWxpZ25ub25lIHtcbiAgICAgICAgbWFyZ2luOiAwIGF1dG87XG4gICAgICAgIHBhZGRpbmc6IDIwcHggMDsgfVxuICAgICAgLnNpbmdsZS1wb3N0IC5tYWluIC5uZXdzX2Jsb2NrIC5zaW5nbGVfbmV3c193cmFwcGVyIC5hbGlnbmxlZnQge1xuICAgICAgICBmbG9hdDogbGVmdDtcbiAgICAgICAgbWFyZ2luOiAwIDIwcHggMCAwOyB9XG4gICAgICAuc2luZ2xlLXBvc3QgLm1haW4gLm5ld3NfYmxvY2sgLnNpbmdsZV9uZXdzX3dyYXBwZXIgLmFsaWducmlnaHQge1xuICAgICAgICBmbG9hdDogcmlnaHQ7XG4gICAgICAgIG1hcmdpbjogMCAwIDAgMjBweDsgfVxuICAgICAgLnNpbmdsZS1wb3N0IC5tYWluIC5uZXdzX2Jsb2NrIC5zaW5nbGVfbmV3c193cmFwcGVyLW5vU2lkZWJhciB7XG4gICAgICAgIHdpZHRoOiAxMDAlOyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogOTYwcHgpIHtcbiAgICAuc2luZ2xlLXBvc3QgLm1haW4gLm5ld3NfYmxvY2sgLnNpbmdsZV9uZXdzX3dyYXBwZXIge1xuICAgICAgbWFyZ2luOiAwO1xuICAgICAgd2lkdGg6IDY3LjglO1xuICAgICAgcGFkZGluZzogNTVweCAyMHB4IDU1cHggMDsgfVxuICAgICAgLnNpbmdsZS1wb3N0IC5tYWluIC5uZXdzX2Jsb2NrIC5zaW5nbGVfbmV3c193cmFwcGVyOjphZnRlciB7XG4gICAgICAgIGNsZWFyOiBib3RoO1xuICAgICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgICBkaXNwbGF5OiBibG9jazsgfVxuICAgICAgLnNpbmdsZS1wb3N0IC5tYWluIC5uZXdzX2Jsb2NrIC5zaW5nbGVfbmV3c193cmFwcGVyIC5zaW5nbGVfbmV3c19jb250ZW50IHtcbiAgICAgICAgcGFkZGluZy1yaWdodDogODVweDtcbiAgICAgICAgcGFkZGluZy1sZWZ0OiAxNDBweDsgfVxuICAgICAgLnNpbmdsZS1wb3N0IC5tYWluIC5uZXdzX2Jsb2NrIC5zaW5nbGVfbmV3c193cmFwcGVyIC5hbGlnbmxlZnQge1xuICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWCgtOTBweCk7XG4gICAgICAgIC1tb3otdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC05MHB4KTtcbiAgICAgICAgLW1zLXRyYW5zZm9ybTogdHJhbnNsYXRlWCgtOTBweCk7XG4gICAgICAgIC1vLXRyYW5zZm9ybTogdHJhbnNsYXRlWCgtOTBweCk7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtOTBweCk7XG4gICAgICAgIG1hcmdpbjogMCAtNjBweCAwIDA7XG4gICAgICAgIHBhZGRpbmc6IDMwcHggMDsgfVxuICAgICAgLnNpbmdsZS1wb3N0IC5tYWluIC5uZXdzX2Jsb2NrIC5zaW5nbGVfbmV3c193cmFwcGVyIC5hbGlnbnJpZ2h0IHtcbiAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoOTBweCk7XG4gICAgICAgIC1tb3otdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDkwcHgpO1xuICAgICAgICAtbXMtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDkwcHgpO1xuICAgICAgICAtby10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoOTBweCk7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCg5MHB4KTtcbiAgICAgICAgbWFyZ2luOiAwIDAgMCAtNjBweDtcbiAgICAgICAgcGFkZGluZzogMzBweCAwOyB9XG4gICAgICAuc2luZ2xlLXBvc3QgLm1haW4gLm5ld3NfYmxvY2sgLnNpbmdsZV9uZXdzX3dyYXBwZXItbm9TaWRlYmFyIHtcbiAgICAgICAgcGFkZGluZy1yaWdodDogMDtcbiAgICAgICAgd2lkdGg6IDEwMCU7IH1cbiAgICAgICAgLnNpbmdsZS1wb3N0IC5tYWluIC5uZXdzX2Jsb2NrIC5zaW5nbGVfbmV3c193cmFwcGVyLW5vU2lkZWJhciAuc2luZ2xlX25ld3NfY29udGVudCB7XG4gICAgICAgICAgcGFkZGluZy1yaWdodDogMTQwcHg7IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxNDAwcHgpIHtcbiAgICAuc2luZ2xlLXBvc3QgLm1haW4gLm5ld3NfYmxvY2sgLnNpbmdsZV9uZXdzX3dyYXBwZXIgLnNpbmdsZV9uZXdzX2NvbnRlbnQge1xuICAgICAgcGFkZGluZy1sZWZ0OiBjYWxjKCgxMDB2dyAtIDEyMDBweCkvMiArIDQwcHgpOyB9XG4gICAgLnNpbmdsZS1wb3N0IC5tYWluIC5uZXdzX2Jsb2NrIC5zaW5nbGVfbmV3c193cmFwcGVyLW5vU2lkZWJhciAuc2luZ2xlX25ld3NfY29udGVudCB7XG4gICAgICBwYWRkaW5nLXJpZ2h0OiBjYWxjKCgxMDB2dyAtIDEyMDBweCkvMiArIDQwcHgpOyB9IH1cblxuLnNpbmdsZS1wb3N0IC5tYWluIC5uZXdzX2Jsb2NrIC5uYXZpZ2F0b3Ige1xuICBib3JkZXItdG9wOiAycHggc29saWQgI0M0MDAwMDtcbiAgbWFyZ2luLXRvcDogNjBweDtcbiAgcGFkZGluZy10b3A6IDEwcHg7XG4gIGNsZWFyOiBib3RoOyB9XG4gIC5zaW5nbGUtcG9zdCAubWFpbiAubmV3c19ibG9jayAubmF2aWdhdG9yIGxpIHtcbiAgICBsaXN0LXN0eWxlLXR5cGU6IG5vbmU7XG4gICAgcGFkZGluZy1sZWZ0OiAwcHggIWltcG9ydGFudDtcbiAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgIGZvbnQtc2l6ZTogODclOyB9XG4gICAgLnNpbmdsZS1wb3N0IC5tYWluIC5uZXdzX2Jsb2NrIC5uYXZpZ2F0b3IgbGk6YmVmb3JlIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA1MDBweCkge1xuICAgICAgLnNpbmdsZS1wb3N0IC5tYWluIC5uZXdzX2Jsb2NrIC5uYXZpZ2F0b3IgbGkge1xuICAgICAgICBmb250LXNpemU6IDc1JTsgfSB9XG4gIC5zaW5nbGUtcG9zdCAubWFpbiAubmV3c19ibG9jayAubmF2aWdhdG9yIC5uYXZpZ2F0b3JfbGlzdF9zaW5nbGUtcHJldiB7XG4gICAgcGFkZGluZy1sZWZ0OiAyMHB4ICFpbXBvcnRhbnQ7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlOyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogOTYwcHgpIHtcbiAgICAgIC5zaW5nbGUtcG9zdCAubWFpbiAubmV3c19ibG9jayAubmF2aWdhdG9yIC5uYXZpZ2F0b3JfbGlzdF9zaW5nbGUtcHJldiB7XG4gICAgICAgIHBhZGRpbmctbGVmdDogMzBweCAhaW1wb3J0YW50OyB9IH1cbiAgICAuc2luZ2xlLXBvc3QgLm1haW4gLm5ld3NfYmxvY2sgLm5hdmlnYXRvciAubmF2aWdhdG9yX2xpc3Rfc2luZ2xlLXByZXYgYTphZnRlciB7XG4gICAgICBjb250ZW50OiBcImlcIjtcbiAgICAgIGZvbnQtZmFtaWx5OiBcIkljb25zXCIsIHNhbnMtc2VyaWY7XG4gICAgICBmb250LXN0eWxlOiBub3JtYWw7XG4gICAgICBmb250LXZhcmlhbnQ6IG5vcm1hbDtcbiAgICAgIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gICAgICBsaW5lLWhlaWdodDogMTtcbiAgICAgIHNwZWFrOiBub25lO1xuICAgICAgdGV4dC10cmFuc2Zvcm06IG5vbmU7XG4gICAgICAtd2Via2l0LWZvbnQtc21vb3RoaW5nOiBhbnRpYWxpYXNlZDtcbiAgICAgIC1tb3otb3N4LWZvbnQtc21vb3RoaW5nOiBncmF5c2NhbGU7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICB0b3A6IDMwcHg7XG4gICAgICBsZWZ0OiAwO1xuICAgICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gICAgICAtbXMtdHJhbnNmb3JtOiByb3RhdGUoMTgwZGVnKTtcbiAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUoMTgwZGVnKTtcbiAgICAgIHRyYW5zZm9ybTogcm90YXRlKDE4MGRlZyk7IH1cbiAgLnNpbmdsZS1wb3N0IC5tYWluIC5uZXdzX2Jsb2NrIC5uYXZpZ2F0b3IgLm5hdmlnYXRvcl9saXN0X3NpbmdsZS1uZXh0IHtcbiAgICBwYWRkaW5nLXJpZ2h0OiAyMHB4ICFpbXBvcnRhbnQ7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlOyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogOTYwcHgpIHtcbiAgICAgIC5zaW5nbGUtcG9zdCAubWFpbiAubmV3c19ibG9jayAubmF2aWdhdG9yIC5uYXZpZ2F0b3JfbGlzdF9zaW5nbGUtbmV4dCB7XG4gICAgICAgIHBhZGRpbmctcmlnaHQ6IDMwcHggIWltcG9ydGFudDsgfSB9XG4gICAgLnNpbmdsZS1wb3N0IC5tYWluIC5uZXdzX2Jsb2NrIC5uYXZpZ2F0b3IgLm5hdmlnYXRvcl9saXN0X3NpbmdsZS1uZXh0IGE6YWZ0ZXIge1xuICAgICAgY29udGVudDogXCJpXCI7XG4gICAgICBmb250LWZhbWlseTogXCJJY29uc1wiLCBzYW5zLXNlcmlmO1xuICAgICAgZm9udC1zdHlsZTogbm9ybWFsO1xuICAgICAgZm9udC12YXJpYW50OiBub3JtYWw7XG4gICAgICBmb250LXdlaWdodDogbm9ybWFsO1xuICAgICAgbGluZS1oZWlnaHQ6IDE7XG4gICAgICBzcGVhazogbm9uZTtcbiAgICAgIHRleHQtdHJhbnNmb3JtOiBub25lO1xuICAgICAgLXdlYmtpdC1mb250LXNtb290aGluZzogYW50aWFsaWFzZWQ7XG4gICAgICAtbW96LW9zeC1mb250LXNtb290aGluZzogZ3JheXNjYWxlO1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgdG9wOiAzMHB4O1xuICAgICAgcmlnaHQ6IDA7XG4gICAgICBmb250LXdlaWdodDogYm9sZDsgfVxuICAuc2luZ2xlLXBvc3QgLm1haW4gLm5ld3NfYmxvY2sgLm5hdmlnYXRvcl9saXN0IHtcbiAgICBtYXJnaW4tYm90dG9tOiAwOyB9XG4gICAgLnNpbmdsZS1wb3N0IC5tYWluIC5uZXdzX2Jsb2NrIC5uYXZpZ2F0b3JfbGlzdDo6YWZ0ZXIge1xuICAgICAgY2xlYXI6IGJvdGg7XG4gICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgZGlzcGxheTogYmxvY2s7IH1cbiAgICAuc2luZ2xlLXBvc3QgLm1haW4gLm5ld3NfYmxvY2sgLm5hdmlnYXRvcl9saXN0X3NpbmdsZSB7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICBwYWRkaW5nLXRvcDogMjBweDsgfVxuICAgICAgLnNpbmdsZS1wb3N0IC5tYWluIC5uZXdzX2Jsb2NrIC5uYXZpZ2F0b3JfbGlzdF9zaW5nbGUgYSB7XG4gICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICAgICAgZm9udC1zdHlsZTogbm9ybWFsOyB9XG4gICAgICAuc2luZ2xlLXBvc3QgLm1haW4gLm5ld3NfYmxvY2sgLm5hdmlnYXRvcl9saXN0X3NpbmdsZS1wcmV2IHtcbiAgICAgICAgZmxvYXQ6IGxlZnQ7XG4gICAgICAgIHdpZHRoOiAzMy4zJTsgfVxuICAgICAgLnNpbmdsZS1wb3N0IC5tYWluIC5uZXdzX2Jsb2NrIC5uYXZpZ2F0b3JfbGlzdF9zaW5nbGUtaW5kZXgge1xuICAgICAgICBmbG9hdDogbGVmdDtcbiAgICAgICAgd2lkdGg6IDMzLjQlO1xuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7IH1cbiAgICAgIC5zaW5nbGUtcG9zdCAubWFpbiAubmV3c19ibG9jayAubmF2aWdhdG9yX2xpc3Rfc2luZ2xlLW5leHQge1xuICAgICAgICBmbG9hdDogbGVmdDtcbiAgICAgICAgdGV4dC1hbGlnbjogcmlnaHQ7XG4gICAgICAgIHdpZHRoOiAzMy4zJTsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA5NTlweCkge1xuICAgIC5zaW5nbGUtcG9zdCAubWFpbiAubmV3c19ibG9jayAubmF2aWdhdG9yX2xpc3Rfc2luZ2xlLXByZXYge1xuICAgICAgcGFkZGluZy1sZWZ0OiAwO1xuICAgICAgZm9udC1zaXplOiAxN3B4OyB9XG4gICAgICAuc2luZ2xlLXBvc3QgLm1haW4gLm5ld3NfYmxvY2sgLm5hdmlnYXRvcl9saXN0X3NpbmdsZS1wcmV2IHNwYW4ge1xuICAgICAgICBkaXNwbGF5OiBub25lOyB9XG4gICAgLnNpbmdsZS1wb3N0IC5tYWluIC5uZXdzX2Jsb2NrIC5uYXZpZ2F0b3JfbGlzdF9zaW5nbGUtaW5kZXgge1xuICAgICAgZm9udC1zaXplOiAxN3B4OyB9XG4gICAgLnNpbmdsZS1wb3N0IC5tYWluIC5uZXdzX2Jsb2NrIC5uYXZpZ2F0b3JfbGlzdF9zaW5nbGUtbmV4dCB7XG4gICAgICBwYWRkaW5nLXJpZ2h0OiAwO1xuICAgICAgZm9udC1zaXplOiAxN3B4OyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNDk5cHgpIHtcbiAgICAuc2luZ2xlLXBvc3QgLm1haW4gLm5ld3NfYmxvY2sgLm5hdmlnYXRvcl9saXN0X3NpbmdsZS1wcmV2IHtcbiAgICAgIHdpZHRoOiA1MCU7IH1cbiAgICAuc2luZ2xlLXBvc3QgLm1haW4gLm5ld3NfYmxvY2sgLm5hdmlnYXRvcl9saXN0X3NpbmdsZS1pbmRleCB7XG4gICAgICBkaXNwbGF5OiBub25lOyB9XG4gICAgLnNpbmdsZS1wb3N0IC5tYWluIC5uZXdzX2Jsb2NrIC5uYXZpZ2F0b3JfbGlzdF9zaW5nbGUtbmV4dCB7XG4gICAgICB3aWR0aDogNTAlOyB9IH1cblxuLnNpbmdsZS1wb3N0IC5tYWluIC5uZXdzX2Jsb2NrIC5zaWRlYmFyIHtcbiAgd2lkdGg6IDEwMCU7XG4gIGZsb2F0OiBsZWZ0O1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICB6LWluZGV4OiAyO1xuICBiYWNrZ3JvdW5kOiAjRjdGN0Y3OyB9XG4gIC5zaW5nbGUtcG9zdCAubWFpbiAubmV3c19ibG9jayAuc2lkZWJhciBhc2lkZSB7XG4gICAgcGFkZGluZzogNjBweCAwIDAgNTBweDsgfVxuICAgIC5zaW5nbGUtcG9zdCAubWFpbiAubmV3c19ibG9jayAuc2lkZWJhciBhc2lkZSBoNSB7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICBtYXJnaW4tYm90dG9tOiAxNXB4O1xuICAgICAgZm9udC1zaXplOiAyNHB4O1xuICAgICAgY29sb3I6ICM0QTRBNEE7XG4gICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgICAgbGV0dGVyLXNwYWNpbmc6IGluaXRpYWw7IH1cbiAgICAuc2luZ2xlLXBvc3QgLm1haW4gLm5ld3NfYmxvY2sgLnNpZGViYXIgYXNpZGUgdWwge1xuICAgICAgbWFyZ2luLWJvdHRvbTogNDVweDtcbiAgICAgIGxpc3Qtc3R5bGU6IG5vbmU7IH1cbiAgICAgIC5zaW5nbGUtcG9zdCAubWFpbiAubmV3c19ibG9jayAuc2lkZWJhciBhc2lkZSB1bCBsaSB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDEwcHg7IH1cbiAgICAuc2luZ2xlLXBvc3QgLm1haW4gLm5ld3NfYmxvY2sgLnNpZGViYXIgYXNpZGUgYSB7XG4gICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogOTYwcHgpIHtcbiAgICAuc2luZ2xlLXBvc3QgLm1haW4gLm5ld3NfYmxvY2sgLnNpZGViYXIge1xuICAgICAgd2lkdGg6IDMyLjIlO1xuICAgICAgbWluLWhlaWdodDogMTAwJTsgfSB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDUwMHB4KSBhbmQgKG1heC13aWR0aDogOTU5cHgpIHtcbiAgICAuc2luZ2xlLXBvc3QgLm1haW4gLm5ld3NfYmxvY2sgLnNpZGViYXIge1xuICAgICAgd2lkdGg6IDMyLjIlO1xuICAgICAgbWluLWhlaWdodDogMTAwJTsgfVxuICAgICAgLnNpbmdsZS1wb3N0IC5tYWluIC5uZXdzX2Jsb2NrIC5zaWRlYmFyIGFzaWRlIHtcbiAgICAgICAgcGFkZGluZzogMjBweDsgfVxuICAgICAgICAuc2luZ2xlLXBvc3QgLm1haW4gLm5ld3NfYmxvY2sgLnNpZGViYXIgYXNpZGUgdWwge1xuICAgICAgICAgIG1hcmdpbi1ib3R0b206IDM1cHg7IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA0OTlweCkge1xuICAgIC5zaW5nbGUtcG9zdCAubWFpbiAubmV3c19ibG9jayAuc2lkZWJhciBhc2lkZSB7XG4gICAgICBwYWRkaW5nOiAxMHB4OyB9XG4gICAgICAuc2luZ2xlLXBvc3QgLm1haW4gLm5ld3NfYmxvY2sgLnNpZGViYXIgYXNpZGUgdWwge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAyNXB4OyB9IH1cblxuLnNpbmdsZV9uZXdzX3JlbGF0ZWRfY29udGVudCB7XG4gIGRpc3BsYXk6IGJsb2NrOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDQ5OXB4KSB7XG4gICAgLnNpbmdsZV9uZXdzX3JlbGF0ZWRfY29udGVudCB7XG4gICAgICBwYWRkaW5nOiAwOyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogOTYwcHgpIHtcbiAgICAuc2luZ2xlX25ld3NfcmVsYXRlZF9jb250ZW50IHtcbiAgICAgIHBhZGRpbmctcmlnaHQ6IDg1cHg7XG4gICAgICBwYWRkaW5nLWxlZnQ6IDE0MHB4OyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTQ0MHB4KSB7XG4gICAgLnNpbmdsZV9uZXdzX3JlbGF0ZWRfY29udGVudCB7XG4gICAgICBwYWRkaW5nLWxlZnQ6IGNhbGMoKDEwMHZ3IC0gMTIwMHB4KS8yICsgMTIwcHgpO1xuICAgICAgcGFkZGluZy1yaWdodDogMTI1cHg7IH0gfVxuICAuc2luZ2xlX25ld3NfcmVsYXRlZF9jb250ZW50IC5zaW5nbGVfbmV3c19yZWxhdGVkX3RpdGxlIHtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7IH1cbiAgICAuc2luZ2xlX25ld3NfcmVsYXRlZF9jb250ZW50IC5zaW5nbGVfbmV3c19yZWxhdGVkX3RpdGxlIGg0IHtcbiAgICAgIGNvbG9yOiAjNEE0QTRBO1xuICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7IH1cbiAgLnNpbmdsZV9uZXdzX3JlbGF0ZWRfY29udGVudCAuc2luZ2xlX25ld3NfcmVsYXRlZF9jb250ZW50X3dyYXBwZXIge1xuICAgIHBhZGRpbmc6IDAgMTBweDtcbiAgICBwYWRkaW5nLWJvdHRvbTogMTBweDtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICB3aWR0aDogODUlOyB9XG4gICAgLnNpbmdsZV9uZXdzX3JlbGF0ZWRfY29udGVudCAuc2luZ2xlX25ld3NfcmVsYXRlZF9jb250ZW50X3dyYXBwZXI6OmFmdGVyIHtcbiAgICAgIGNsZWFyOiBib3RoO1xuICAgICAgY29udGVudDogXCJcIjtcbiAgICAgIGRpc3BsYXk6IGJsb2NrOyB9XG4gICAgLnNpbmdsZV9uZXdzX3JlbGF0ZWRfY29udGVudCAuc2luZ2xlX25ld3NfcmVsYXRlZF9jb250ZW50X3dyYXBwZXJfYmFja2dyb3VuZCB7XG4gICAgICBtaW4taGVpZ2h0OiAyMDBweDtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyO1xuICAgICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgICAgIGJhY2tncm91bmQtc2l6ZTogY292ZXI7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA5NjBweCkge1xuICAgICAgLnNpbmdsZV9uZXdzX3JlbGF0ZWRfY29udGVudCAuc2luZ2xlX25ld3NfcmVsYXRlZF9jb250ZW50X3dyYXBwZXIge1xuICAgICAgICB3aWR0aDogNTAlO1xuICAgICAgICBmbG9hdDogbGVmdDtcbiAgICAgICAgcGFkZGluZzogMTBweDsgfSB9XG4gICAgLnNpbmdsZV9uZXdzX3JlbGF0ZWRfY29udGVudCAuc2luZ2xlX25ld3NfcmVsYXRlZF9jb250ZW50X3dyYXBwZXIgcCB7XG4gICAgICBjb2xvcjogI0YxOEUwMjtcbiAgICAgIG1hcmdpbjogMDtcbiAgICAgIGZvbnQtd2VpZ2h0OiA0MDA7IH1cbiAgICAuc2luZ2xlX25ld3NfcmVsYXRlZF9jb250ZW50IC5zaW5nbGVfbmV3c19yZWxhdGVkX2NvbnRlbnRfd3JhcHBlciBhIHtcbiAgICAgIGZvbnQtc2l6ZTogMjRweDtcbiAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgICBjb2xvcjogIzRBNEE0QTtcbiAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7IH1cblxuLyogUXVvdGUgKi9cbi5xdW90ZS1wcmltYXJ5IHtcbiAgYmFja2dyb3VuZDogI0YxOEUwMjsgfVxuXG4ucXVvdGUtc2Vjb25kYXJ5IHtcbiAgYmFja2dyb3VuZDogIzRBNEE0QTsgfVxuXG4ucXVvdGUgKiB7XG4gIGNvbG9yOiAjZmZmZmZmOyB9XG5cbi5tb2R1bGVXcmFwcGVyIC5xdW90ZSB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuICAubW9kdWxlV3JhcHBlciAucXVvdGU6OmFmdGVyIHtcbiAgICBjbGVhcjogYm90aDtcbiAgICBjb250ZW50OiBcIlwiO1xuICAgIGRpc3BsYXk6IGJsb2NrOyB9XG4gIC5tb2R1bGVXcmFwcGVyIC5xdW90ZV9jb250YWluZXIge1xuICAgIG1heC13aWR0aDogMTQwMHB4O1xuICAgIG1hcmdpbjogYXV0bzsgfVxuICAgIC5tb2R1bGVXcmFwcGVyIC5xdW90ZV9jb250YWluZXI6OmFmdGVyIHtcbiAgICAgIGNsZWFyOiBib3RoO1xuICAgICAgY29udGVudDogXCJcIjtcbiAgICAgIGRpc3BsYXk6IGJsb2NrOyB9XG4gICAgLm1vZHVsZVdyYXBwZXIgLnF1b3RlX2NvbnRhaW5lcl93cmFwcGVyIHtcbiAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgIG1hcmdpbjogMCBhdXRvO1xuICAgICAgcGFkZGluZzogNjBweCA2MHB4IDI1cHggNjBweDtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuICAgICAgLm1vZHVsZVdyYXBwZXIgLnF1b3RlX2NvbnRhaW5lcl93cmFwcGVyOjphZnRlciB7XG4gICAgICAgIGNsZWFyOiBib3RoO1xuICAgICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgICBkaXNwbGF5OiBibG9jazsgfVxuICAgICAgLm1vZHVsZVdyYXBwZXIgLnF1b3RlX2NvbnRhaW5lcl93cmFwcGVyX3RleHQge1xuICAgICAgICBxdW90ZXM6IFwi4oCcXCIgXCLigJ1cIjsgfVxuICAgICAgICAubW9kdWxlV3JhcHBlciAucXVvdGVfY29udGFpbmVyX3dyYXBwZXJfdGV4dDpiZWZvcmUge1xuICAgICAgICAgIGNvbnRlbnQ6IG9wZW4tcXVvdGU7IH1cbiAgICAgICAgLm1vZHVsZVdyYXBwZXIgLnF1b3RlX2NvbnRhaW5lcl93cmFwcGVyX3RleHQ6YWZ0ZXIge1xuICAgICAgICAgIGNvbnRlbnQ6IGNsb3NlLXF1b3RlOyB9XG4gICAgICAubW9kdWxlV3JhcHBlciAucXVvdGVfY29udGFpbmVyX3dyYXBwZXJfYXR0cmlidXRpb24ge1xuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgIG1hcmdpbjogMCBhdXRvO1xuICAgICAgICBmb250LXN0eWxlOiBub3JtYWw7IH1cbiAgICAgICAgLm1vZHVsZVdyYXBwZXIgLnF1b3RlX2NvbnRhaW5lcl93cmFwcGVyX2F0dHJpYnV0aW9uIGltZyB7XG4gICAgICAgICAgd2lkdGg6IDc1cHg7XG4gICAgICAgICAgaGVpZ2h0OiA3NXB4O1xuICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgICAgICAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDEwcHg7IH1cbiAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDUwMHB4KSBhbmQgKG1heC13aWR0aDogOTU5cHgpIHtcbiAgICAgICAgLm1vZHVsZVdyYXBwZXIgLnF1b3RlX2NvbnRhaW5lcl93cmFwcGVyIHtcbiAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICBwYWRkaW5nOiA0MHB4IDIwcHg7IH1cbiAgICAgICAgICAubW9kdWxlV3JhcHBlciAucXVvdGVfY29udGFpbmVyX3dyYXBwZXJfYXR0cmlidXRpb24gaW1nIHtcbiAgICAgICAgICAgIHdpZHRoOiA0OXB4O1xuICAgICAgICAgICAgaGVpZ2h0OiA0OXB4OyB9IH1cbiAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDQ5OXB4KSB7XG4gICAgICAgIC5tb2R1bGVXcmFwcGVyIC5xdW90ZV9jb250YWluZXJfd3JhcHBlciB7XG4gICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgcGFkZGluZzogMzBweCAyMHB4OyB9XG4gICAgICAgICAgLm1vZHVsZVdyYXBwZXIgLnF1b3RlX2NvbnRhaW5lcl93cmFwcGVyX2F0dHJpYnV0aW9uIGltZyB7XG4gICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgIHdpZHRoOiA0MHB4O1xuICAgICAgICAgICAgaGVpZ2h0OiA0MHB4O1xuICAgICAgICAgICAgbWFyZ2luOiA2cHggYXV0bzsgfSB9XG5cbi5tb2R1bGVXcmFwcGVyIC50aXRsZSAudGl0bGVfd3JhcHBlciB7XG4gIG1hcmdpbjogMCBhdXRvO1xuICBwYWRkaW5nOiA2MHB4IDEwMHB4IDMwcHggMTAwcHg7XG4gIG1heC13aWR0aDogMTQwMDtcbiAgdGV4dC1hbGlnbjogY2VudGVyOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDk1OXB4KSB7XG4gICAgLm1vZHVsZVdyYXBwZXIgLnRpdGxlIC50aXRsZV93cmFwcGVyIHtcbiAgICAgIHBhZGRpbmc6IDMwcHggMjBweCAxMHB4IDIwcHg7IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA0OTlweCkge1xuICAgIC5tb2R1bGVXcmFwcGVyIC50aXRsZSAudGl0bGVfd3JhcHBlciB7XG4gICAgICBwYWRkaW5nOiAyMHB4IDEwcHggMTBweCAxMHB4OyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogOTYwcHgpIHtcbiAgICAubW9kdWxlV3JhcHBlciAudGl0bGUgLnRpdGxlX3dyYXBwZXIge1xuICAgICAgbWF4LXdpZHRoOiAxMjAwcHg7XG4gICAgICBtYXJnaW46IDAgYXV0bzsgfSB9XG4gIC5tb2R1bGVXcmFwcGVyIC50aXRsZSAudGl0bGVfd3JhcHBlcl90ZXh0IHtcbiAgICBtYXJnaW4tYm90dG9tOiAwOyB9XG5cbi5ob21lIC5oZXJvICsgLm1vZHVsZVdyYXBwZXItdGl0bGUge1xuICBtYXJnaW46IDAgYXV0bztcbiAgbWFyZ2luLXRvcDogLTEwMHB4O1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIHdpZHRoOiA4NSU7XG4gIGJhY2tncm91bmQ6ICNmZmZmZmY7XG4gIGJveC1zaGFkb3c6IDBweCAwcHggN3B4IHJnYmEoMCwgMCwgMCwgMC4zMik7IH1cblxuLmhvbWUgLmhlcm8gKyAubW9kdWxlV3JhcHBlci10aXRsZSAudGl0bGVfd3JhcHBlciB7XG4gIHBhZGRpbmc6IDMwcHggMTEwcHg7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNDk5cHgpIHtcbiAgICAuaG9tZSAuaGVybyArIC5tb2R1bGVXcmFwcGVyLXRpdGxlIC50aXRsZV93cmFwcGVyIHtcbiAgICAgIHBhZGRpbmc6IDIwcHg7IH0gfVxuXG4ubW9kdWxlV3JhcHBlciAudHdvSW1hZ2VUZXh0Qm94IHtcbiAgcG9zaXRpb246IHJlbGF0aXZlOyB9XG4gIC5tb2R1bGVXcmFwcGVyIC50d29JbWFnZVRleHRCb3hfc2luZ2xlX2l0ZW0ge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBwYWRkaW5nOiAyMHB4OyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogOTYwcHgpIHtcbiAgICAgIC5tb2R1bGVXcmFwcGVyIC50d29JbWFnZVRleHRCb3hfc2luZ2xlX2l0ZW0ge1xuICAgICAgICBkaXNwbGF5OiBmbGV4OyB9IH1cbiAgICAubW9kdWxlV3JhcHBlciAudHdvSW1hZ2VUZXh0Qm94X3NpbmdsZV9pdGVtOmFmdGVyIHtcbiAgICAgIGNvbnRlbnQ6IFwiIFwiO1xuICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgIHBhZGRpbmctYm90dG9tOiA0OCU7IH1cbiAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDk2MHB4KSB7XG4gICAgICAgIC5tb2R1bGVXcmFwcGVyIC50d29JbWFnZVRleHRCb3hfc2luZ2xlX2l0ZW06YWZ0ZXIge1xuICAgICAgICAgIGRpc3BsYXk6IGJsb2NrOyB9IH1cbiAgICAubW9kdWxlV3JhcHBlciAudHdvSW1hZ2VUZXh0Qm94X3NpbmdsZV9pdGVtX2ltYWdlIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICBtYXJnaW46IDA7XG4gICAgICB3aWR0aDogNTAlO1xuICAgICAgbWluLWhlaWdodDogODgwcHg7XG4gICAgICBiYWNrZ3JvdW5kLXNpemU6IGNvdmVyOyB9XG4gICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA5NjBweCkge1xuICAgICAgICAubW9kdWxlV3JhcHBlciAudHdvSW1hZ2VUZXh0Qm94X3NpbmdsZV9pdGVtX2ltYWdlIHtcbiAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDEwcHg7IH0gfVxuICAgICAgLm1vZHVsZVdyYXBwZXIgLnR3b0ltYWdlVGV4dEJveF9zaW5nbGVfaXRlbV9pbWFnZSBpbWcge1xuICAgICAgICB3aWR0aDogMTAwJTsgfVxuICAgIC5tb2R1bGVXcmFwcGVyIC50d29JbWFnZVRleHRCb3hfc2luZ2xlX2l0ZW1fY29udGVudCB7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIG1hcmdpbi1sZWZ0OiAwO1xuICAgICAgcGFkZGluZy1ib3R0b206IDIwcHg7XG4gICAgICBib3JkZXItYm90dG9tOiAyMHB4IHNvbGlkICNGMThFMDI7IH1cbiAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDk2MHB4KSB7XG4gICAgICAgIC5tb2R1bGVXcmFwcGVyIC50d29JbWFnZVRleHRCb3hfc2luZ2xlX2l0ZW1fY29udGVudCB7XG4gICAgICAgICAgd2lkdGg6IDUwJTtcbiAgICAgICAgICBtYXJnaW4tbGVmdDogMTBweDsgfSB9XG4gICAgICAubW9kdWxlV3JhcHBlciAudHdvSW1hZ2VUZXh0Qm94X3NpbmdsZV9pdGVtX2NvbnRlbnQgPiBpbWcge1xuICAgICAgICB3aWR0aDogMTAwJTsgfVxuICAgICAgLm1vZHVsZVdyYXBwZXIgLnR3b0ltYWdlVGV4dEJveF9zaW5nbGVfaXRlbV9jb250ZW50IGgzIHtcbiAgICAgICAgbWFyZ2luOiAyNXB4IDA7XG4gICAgICAgIGNvbG9yOiAjRjE4RTAyOyB9XG4gICAgICAubW9kdWxlV3JhcHBlciAudHdvSW1hZ2VUZXh0Qm94X3NpbmdsZV9pdGVtX2NvbnRlbnQgcCB7XG4gICAgICAgIG1heC13aWR0aDogNjAwcHg7XG4gICAgICAgIHBhZGRpbmctcmlnaHQ6IDEwcHg7IH1cbiAgICAgIC5tb2R1bGVXcmFwcGVyIC50d29JbWFnZVRleHRCb3hfc2luZ2xlX2l0ZW1fY29udGVudCAuYnV0dG9uIHtcbiAgICAgICAgbWFyZ2luOiAyMHB4IDA7IH1cblxuLyogVmlkZW8gKi9cbi52aWRlb01vZHVsZV9iYWNrZ3JvdW5kLXByaW1hcnk6YWZ0ZXIge1xuICBiYWNrZ3JvdW5kOiAjRjE4RTAyOyB9XG5cbi52aWRlb01vZHVsZV9iYWNrZ3JvdW5kLXNlY29uZGFyeTphZnRlciB7XG4gIGJhY2tncm91bmQ6ICM0QTRBNEE7IH1cblxuLnZpZGVvTW9kdWxlX3dyYXBwZXJfY29udGVudCAqIHtcbiAgY29sb3I6ICNmZmZmZmY7XG4gIHRleHQtdHJhbnNmb3JtOiBpbml0aWFsOyB9XG5cbi5tb2R1bGVXcmFwcGVyIC52aWRlb01vZHVsZSB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgd2lkdGg6IDEwMCU7XG4gIGRpc3BsYXk6IC13ZWJraXQtYm94O1xuICBkaXNwbGF5OiAtbW96LWJveDtcbiAgZGlzcGxheTogYm94O1xuICBkaXNwbGF5OiAtd2Via2l0LWZsZXg7XG4gIGRpc3BsYXk6IC1tb3otZmxleDtcbiAgZGlzcGxheTogLW1zLWZsZXhib3g7XG4gIGRpc3BsYXk6IGZsZXg7IH1cbiAgLm1vZHVsZVdyYXBwZXIgLnZpZGVvTW9kdWxlOjphZnRlciB7XG4gICAgY2xlYXI6IGJvdGg7XG4gICAgY29udGVudDogXCJcIjtcbiAgICBkaXNwbGF5OiBibG9jazsgfVxuICAubW9kdWxlV3JhcHBlciAudmlkZW9Nb2R1bGVfYmFja2dyb3VuZCB7XG4gICAgYm90dG9tOiAwO1xuICAgIGxlZnQ6IDA7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHJpZ2h0OiAwO1xuICAgIHRvcDogMDtcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXI7XG4gICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgICBiYWNrZ3JvdW5kLXNpemU6IGNvdmVyOyB9XG4gICAgLm1vZHVsZVdyYXBwZXIgLnZpZGVvTW9kdWxlX2JhY2tncm91bmQ6YWZ0ZXIge1xuICAgICAgYm90dG9tOiAwO1xuICAgICAgbGVmdDogMDtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHJpZ2h0OiAwO1xuICAgICAgdG9wOiAwO1xuICAgICAgY29udGVudDogJyc7XG4gICAgICBvcGFjaXR5OiAwLjg7IH1cbiAgLm1vZHVsZVdyYXBwZXIgLnZpZGVvTW9kdWxlX3dyYXBwZXIge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB3aWR0aDogMTAwJTsgfVxuICAgIC5tb2R1bGVXcmFwcGVyIC52aWRlb01vZHVsZV93cmFwcGVyX3ZpZGVvUGxheWVyIHtcbiAgICAgIHBhZGRpbmc6IDcwcHggNjBweCA3MHB4IDEwMHB4O1xuICAgICAgd2lkdGg6IDYwLjElO1xuICAgICAgZmxvYXQ6IGxlZnQ7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7IH1cbiAgICAgIC5tb2R1bGVXcmFwcGVyIC52aWRlb01vZHVsZV93cmFwcGVyX3ZpZGVvUGxheWVyX3ZpZGVvIHtcbiAgICAgICAgYm94LXNoYWRvdzogMHB4IDBweCAxOHB4IHJnYmEoMCwgMCwgMCwgMC43KTtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzJCMkIyQjsgfVxuICAgICAgLm1vZHVsZVdyYXBwZXIgLnZpZGVvTW9kdWxlX3dyYXBwZXJfdmlkZW9QbGF5ZXJfZW1iZWQge1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIHBhZGRpbmctYm90dG9tOiA1Ni4yNSU7XG4gICAgICAgIC8qIDE2OjkgKi9cbiAgICAgICAgcGFkZGluZy10b3A6IDI1cHg7XG4gICAgICAgIGhlaWdodDogMDsgfVxuICAgICAgLm1vZHVsZVdyYXBwZXIgLnZpZGVvTW9kdWxlX3dyYXBwZXJfdmlkZW9QbGF5ZXJfZW1iZWQgaWZyYW1lIHtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICB0b3A6IDA7XG4gICAgICAgIGxlZnQ6IDA7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBoZWlnaHQ6IDEwMCU7IH1cbiAgICAubW9kdWxlV3JhcHBlciAudmlkZW9Nb2R1bGVfd3JhcHBlcl9jb250ZW50IHtcbiAgICAgIHdpZHRoOiAzOS45JTtcbiAgICAgIGZsb2F0OiByaWdodDtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgIHBhZGRpbmc6IDcwcHggMTAwcHggNzBweCAwcHg7IH1cbiAgICAgIC5tb2R1bGVXcmFwcGVyIC52aWRlb01vZHVsZV93cmFwcGVyX2NvbnRlbnQgaDMge1xuICAgICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlOyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogOTU5cHgpIHtcbiAgICAgIC5tb2R1bGVXcmFwcGVyIC52aWRlb01vZHVsZV93cmFwcGVyIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7IH1cbiAgICAgICAgLm1vZHVsZVdyYXBwZXIgLnZpZGVvTW9kdWxlX3dyYXBwZXJfdmlkZW9QbGF5ZXIge1xuICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgIHBhZGRpbmc6IDMwcHggMjBweDsgfVxuICAgICAgICAubW9kdWxlV3JhcHBlciAudmlkZW9Nb2R1bGVfd3JhcHBlcl9jb250ZW50IHtcbiAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICBwYWRkaW5nOiAzMHB4IDIwcHg7IH0gfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDQ5OXB4KSB7XG4gICAgICAubW9kdWxlV3JhcHBlciAudmlkZW9Nb2R1bGVfd3JhcHBlcl92aWRlb1BsYXllciB7XG4gICAgICAgIHBhZGRpbmc6IDIwcHggMTBweDsgfVxuICAgICAgLm1vZHVsZVdyYXBwZXIgLnZpZGVvTW9kdWxlX3dyYXBwZXJfY29udGVudCB7XG4gICAgICAgIHBhZGRpbmc6IDIwcHggMTBweDsgfSB9XG5cbi5tb2R1bGVXcmFwcGVyIC52aWRlbyB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuICAubW9kdWxlV3JhcHBlciAudmlkZW9fY29udHJvbCB7XG4gICAgYm90dG9tOiAwO1xuICAgIGxlZnQ6IDA7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHJpZ2h0OiAwO1xuICAgIHRvcDogMDtcbiAgICBkaXNwbGF5OiBibG9jazsgfVxuICAgIC5tb2R1bGVXcmFwcGVyIC52aWRlb19jb250cm9sOmFmdGVyIHtcbiAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICB3aWR0aDogMDtcbiAgICAgIGhlaWdodDogMDtcbiAgICAgIGJvcmRlci1zdHlsZTogc29saWQ7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICBib3JkZXItdG9wLXdpZHRoOiAxMDBweDtcbiAgICAgIGJvcmRlci10b3AtY29sb3I6IHRyYW5zcGFyZW50O1xuICAgICAgYm9yZGVyLWJvdHRvbS13aWR0aDogMTAwcHg7XG4gICAgICBib3JkZXItYm90dG9tLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICAgIGJvcmRlci1sZWZ0LXdpZHRoOiAxMDBweDtcbiAgICAgIGJvcmRlci1sZWZ0LWNvbG9yOiB3aGl0ZTtcbiAgICAgIGJvcmRlci1yaWdodDogbm9uZTsgfVxuICAgIC5tb2R1bGVXcmFwcGVyIC52aWRlb19jb250cm9sOmFmdGVyIHtcbiAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgLTUwJSkgc2NhbGUoMC41KTtcbiAgICAgIC1tb3otdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgLTUwJSkgc2NhbGUoMC41KTtcbiAgICAgIC1tcy10cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAtNTAlKSBzY2FsZSgwLjUpO1xuICAgICAgLW8tdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgLTUwJSkgc2NhbGUoMC41KTtcbiAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIC01MCUpIHNjYWxlKDAuNSk7XG4gICAgICAtd2Via2l0LXRyYW5zaXRpb246IG9wYWNpdHkgMC4ycztcbiAgICAgIC1tb3otdHJhbnNpdGlvbjogb3BhY2l0eSAwLjJzO1xuICAgICAgdHJhbnNpdGlvbjogb3BhY2l0eSAwLjJzO1xuICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogdG9wIGxlZnQ7XG4gICAgICBjb250ZW50OiAnJztcbiAgICAgIGxlZnQ6IDUwJTtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHRvcDogNTAlOyB9XG4gICAgICAudmlkZW8tcGxheWluZyAubW9kdWxlV3JhcHBlciAudmlkZW9fY29udHJvbDphZnRlciB7XG4gICAgICAgIG9wYWNpdHk6IDA7IH1cbiAgICAubW9kdWxlV3JhcHBlciAudmlkZW9fY29udHJvbCBzcGFuIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7IH1cbiAgLm1vZHVsZVdyYXBwZXIgLnZpZGVvX3BsYXllciB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgaGVpZ2h0OiBhdXRvO1xuICAgIHdpZHRoOiAxMDAlOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDk2MHB4KSB7XG4gICAgLm1vZHVsZVdyYXBwZXIgLnZpZGVvX2NvbnRyb2w6YWZ0ZXIge1xuICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAtNTAlKTtcbiAgICAgIC1tb3otdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgLTUwJSk7XG4gICAgICAtbXMtdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgLTUwJSk7XG4gICAgICAtby10cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAtNTAlKTtcbiAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIC01MCUpOyB9IH1cblxuLm1vZHVsZVdyYXBwZXIgLnd5c2l3eWcge1xuICBiYWNrZ3JvdW5kOiAjRjdGN0Y3O1xuICBwYWRkaW5nOiAyMHB4IDIwcHggMCAyMHB4OyB9XG4gIC5tb2R1bGVXcmFwcGVyIC53eXNpd3lnX3dyYXBwZXIge1xuICAgIG1hcmdpbjogYXV0bztcbiAgICBtYXgtd2lkdGg6IDkwMHB4OyB9XG4gICAgLm1vZHVsZVdyYXBwZXIgLnd5c2l3eWdfd3JhcHBlciAuYWxpZ25ub25lLCAubW9kdWxlV3JhcHBlciAud3lzaXd5Z193cmFwcGVyIC5hbGlnbmNlbnRlciwgLm1vZHVsZVdyYXBwZXIgLnd5c2l3eWdfd3JhcHBlciAuYWxpZ25sZWZ0LCAubW9kdWxlV3JhcHBlciAud3lzaXd5Z193cmFwcGVyIC5hbGlnbnJpZ2h0IHtcbiAgICAgIHBhZGRpbmc6IDEwcHggMDsgfVxuICAgIC5tb2R1bGVXcmFwcGVyIC53eXNpd3lnX3dyYXBwZXIgLmFsaWdubm9uZSwgLm1vZHVsZVdyYXBwZXIgLnd5c2l3eWdfd3JhcHBlciAuYWxpZ25jZW50ZXIge1xuICAgICAgbWFyZ2luOiBhdXRvO1xuICAgICAgd2lkdGg6IGF1dG87IH1cbiAgICAubW9kdWxlV3JhcHBlciAud3lzaXd5Z193cmFwcGVyIGhyIHtcbiAgICAgIG1hcmdpbjogMzBweCAwO1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDQ5OXB4KSB7XG4gICAgLm1vZHVsZVdyYXBwZXIgLnd5c2l3eWcge1xuICAgICAgcGFkZGluZzogMzBweCAxMHB4OyB9XG4gICAgICAubW9kdWxlV3JhcHBlciAud3lzaXd5ZyAuYWxpZ25sZWZ0LCAubW9kdWxlV3JhcHBlciAud3lzaXd5ZyAuYWxpZ25yaWdodCwgLm1vZHVsZVdyYXBwZXIgLnd5c2l3eWcgLmFsaWdubm9uZSwgLm1vZHVsZVdyYXBwZXIgLnd5c2l3eWcgLmFsaWduY2VudGVyIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBtYXJnaW46IDE1cHggMDsgfSB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDUwMHB4KSB7XG4gICAgLm1vZHVsZVdyYXBwZXIgLnd5c2l3eWcge1xuICAgICAgcGFkZGluZzogNDBweCAyMHB4OyB9XG4gICAgICAubW9kdWxlV3JhcHBlciAud3lzaXd5Zzo6YWZ0ZXIge1xuICAgICAgICBjbGVhcjogYm90aDtcbiAgICAgICAgY29udGVudDogXCJcIjtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7IH1cbiAgICAgIC5tb2R1bGVXcmFwcGVyIC53eXNpd3lnX3dyYXBwZXIgLmFsaWdubGVmdCwgLm1vZHVsZVdyYXBwZXIgLnd5c2l3eWdfd3JhcHBlciAuYWxpZ25yaWdodCB7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgbWF4LXdpZHRoOiA0OTBweDtcbiAgICAgICAgd2lkdGg6IDUwJTsgfVxuICAgICAgLm1vZHVsZVdyYXBwZXIgLnd5c2l3eWdfd3JhcHBlciAuYWxpZ25ub25lLCAubW9kdWxlV3JhcHBlciAud3lzaXd5Z193cmFwcGVyIC5hbGlnbmNlbnRlciB7XG4gICAgICAgIHBhZGRpbmc6IDI1cHggMDsgfVxuICAgICAgLm1vZHVsZVdyYXBwZXIgLnd5c2l3eWdfd3JhcHBlciAuYWxpZ25sZWZ0IHtcbiAgICAgICAgZmxvYXQ6IGxlZnQ7XG4gICAgICAgIG1hcmdpbjogNXB4IDIwcHggNXB4IDA7IH1cbiAgICAgIC5tb2R1bGVXcmFwcGVyIC53eXNpd3lnX3dyYXBwZXIgLmFsaWducmlnaHQge1xuICAgICAgICBmbG9hdDogcmlnaHQ7XG4gICAgICAgIG1hcmdpbjogNXB4IDAgNXB4IDIwcHg7IH1cbiAgICAgIC5tb2R1bGVXcmFwcGVyIC53eXNpd3lnX3dyYXBwZXIgdWwge1xuICAgICAgICBwYWRkaW5nLWxlZnQ6IDIwcHg7IH1cbiAgICAgICAgLm1vZHVsZVdyYXBwZXIgLnd5c2l3eWdfd3JhcHBlciB1bCBsaSB7XG4gICAgICAgICAgbGlzdC1zdHlsZS1wb3NpdGlvbjogb3V0c2lkZTsgfSB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDk2MHB4KSB7XG4gICAgLm1vZHVsZVdyYXBwZXIgLnd5c2l3eWcge1xuICAgICAgcGFkZGluZzogNTBweCAxMzBweDsgfVxuICAgICAgLm1vZHVsZVdyYXBwZXIgLnd5c2l3eWdfd3JhcHBlciB7XG4gICAgICAgIHBhZGRpbmc6IDA7IH1cbiAgICAgICAgLm1vZHVsZVdyYXBwZXIgLnd5c2l3eWdfd3JhcHBlciAuYWxpZ25sZWZ0IHtcbiAgICAgICAgICB3aWR0aDogMzAwcHg7XG4gICAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTkwcHgpO1xuICAgICAgICAgIC1tb3otdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC05MHB4KTtcbiAgICAgICAgICAtbXMtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC05MHB4KTtcbiAgICAgICAgICAtby10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTkwcHgpO1xuICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtOTBweCk7XG4gICAgICAgICAgbWFyZ2luOiAwIC02MHB4IDAgMDtcbiAgICAgICAgICBwYWRkaW5nOiAzMHB4IDA7IH1cbiAgICAgICAgLm1vZHVsZVdyYXBwZXIgLnd5c2l3eWdfd3JhcHBlciAuYWxpZ25yaWdodCB7XG4gICAgICAgICAgd2lkdGg6IDMwMHB4O1xuICAgICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDkwcHgpO1xuICAgICAgICAgIC1tb3otdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDkwcHgpO1xuICAgICAgICAgIC1tcy10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoOTBweCk7XG4gICAgICAgICAgLW8tdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDkwcHgpO1xuICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCg5MHB4KTtcbiAgICAgICAgICBtYXJnaW46IDAgMCAwIC02MHB4O1xuICAgICAgICAgIHBhZGRpbmc6IDMwcHggMDsgfVxuICAgICAgICAubW9kdWxlV3JhcHBlciAud3lzaXd5Z193cmFwcGVyIC5hbGlnbm5vbmUsIC5tb2R1bGVXcmFwcGVyIC53eXNpd3lnX3dyYXBwZXIgLmFsaWduY2VudGVyIHtcbiAgICAgICAgICB3aWR0aDogY2FsYygxMDAlICsgNjBweCk7XG4gICAgICAgICAgbWF4LXdpZHRoOiBub25lO1xuICAgICAgICAgIHBhZGRpbmc6IDMwcHggMDtcbiAgICAgICAgICBsZWZ0OiAtMzBweDtcbiAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cbiAgICAgICAgLm1vZHVsZVdyYXBwZXIgLnd5c2l3eWdfd3JhcHBlciBociB7XG4gICAgICAgICAgd2lkdGg6IGNhbGMoMTAwJSArIDEyMHB4KTtcbiAgICAgICAgICBsZWZ0OiAtNjBweDtcbiAgICAgICAgICBtYXJnaW46IDQwcHggMDsgfSB9XG5cbnRhYmxlIHtcbiAgbWFyZ2luOiAwIGF1dG87XG4gIHdpZHRoOiAxMDAlO1xuICBib3JkZXItY29sbGFwc2U6IHNlcGFyYXRlO1xuICBib3JkZXItc3BhY2luZzogM3B4IDBweDsgfVxuICB0YWJsZSB0Ym9keSB0ciB7XG4gICAgYmFja2dyb3VuZDogI0RERERERDsgfVxuICAgIHRhYmxlIHRib2R5IHRyOm50aC1jaGlsZChvZGQpIHtcbiAgICAgIGJhY2tncm91bmQ6ICM5QjlCOUI7IH1cbiAgdGFibGUgdGhlYWQge1xuICAgIHRleHQtYWxpZ246IGxlZnQ7IH1cbiAgICB0YWJsZSB0aGVhZCB0ciB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjRjE4RTAyOyB9XG4gIHRhYmxlIHRoIHtcbiAgICBwYWRkaW5nOiAzMHB4IDI1cHggMjBweDtcbiAgICBjb2xvcjogI2ZmZmZmZjtcbiAgICBmb250LXNpemU6IDI0cHg7IH1cbiAgdGFibGUgdGQge1xuICAgIHBhZGRpbmc6IDEwcHggMjVweDtcbiAgICBjb2xvcjogIzRBNEE0QTtcbiAgICBmb250LXNpemU6IDI0cHg7IH1cblxuLmJvZHktaGVhZGVyQWN0aXZlLCAuYm9keS1tb2RhbEFjdGl2ZSB7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIHBvaW50ZXItZXZlbnRzOiBub25lOyB9XG5cbi5oZWFkZXJNZW51IHtcbiAgLXdlYmtpdC10cmFuc2l0aW9uOiBvcGFjaXR5IDAuMnM7XG4gIC1tb3otdHJhbnNpdGlvbjogb3BhY2l0eSAwLjJzO1xuICB0cmFuc2l0aW9uOiBvcGFjaXR5IDAuMnM7XG4gIGxpc3Qtc3R5bGU6IG5vbmU7XG4gIHBhZGRpbmctdG9wOiA2MHB4O1xuICBwb3NpdGlvbjogZml4ZWQ7IH1cbiAgLmhlYWRlck1lbnUgYSB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgZm9udC1zaXplOiAxNnB4O1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlOyB9XG4gIC5oZWFkZXJNZW51X3NpbmdsZSB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlOyB9XG4gICAgLmhlYWRlck1lbnVfc2luZ2xlX2xpbmsge1xuICAgICAgLXdlYmtpdC10cmFuc2l0aW9uOiBhbGwgMC4zNXMgZWFzZS1pbi1vdXQ7XG4gICAgICAtbW96LXRyYW5zaXRpb246IGFsbCAwLjM1cyBlYXNlLWluLW91dDtcbiAgICAgIHRyYW5zaXRpb246IGFsbCAwLjM1cyBlYXNlLWluLW91dDtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgIHotaW5kZXg6IDI7IH1cbiAgICAgIC5oZWFkZXJNZW51X3NpbmdsZV9saW5rOmhvdmVyIHtcbiAgICAgICAgLXdlYmtpdC10cmFuc2l0aW9uOiBhbGwgMC4zNXMgZWFzZS1pbi1vdXQ7XG4gICAgICAgIC1tb3otdHJhbnNpdGlvbjogYWxsIDAuMzVzIGVhc2UtaW4tb3V0O1xuICAgICAgICB0cmFuc2l0aW9uOiBhbGwgMC4zNXMgZWFzZS1pbi1vdXQ7IH1cbiAgICAgIC5oZWFkZXJNZW51X3NpbmdsZV9saW5rOmFmdGVyIHtcbiAgICAgICAgY29udGVudDogXCJnXCI7XG4gICAgICAgIGZvbnQtZmFtaWx5OiBcIkljb25zXCIsIHNhbnMtc2VyaWY7XG4gICAgICAgIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgICAgICAgZm9udC12YXJpYW50OiBub3JtYWw7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxO1xuICAgICAgICBzcGVhazogbm9uZTtcbiAgICAgICAgdGV4dC10cmFuc2Zvcm06IG5vbmU7XG4gICAgICAgIC13ZWJraXQtZm9udC1zbW9vdGhpbmc6IGFudGlhbGlhc2VkO1xuICAgICAgICAtbW96LW9zeC1mb250LXNtb290aGluZzogZ3JheXNjYWxlO1xuICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIC13ZWJraXQtdHJhbnNpdGlvbjogYWxsIDAuM3M7XG4gICAgICAgIC1tb3otdHJhbnNpdGlvbjogYWxsIDAuM3M7XG4gICAgICAgIHRyYW5zaXRpb246IGFsbCAwLjNzO1xuICAgICAgICAtd2Via2l0LXRyYW5zZm9ybS1vcmlnaW46IGNlbnRlciA0MCU7XG4gICAgICAgIC1tb3otdHJhbnNmb3JtLW9yaWdpbjogY2VudGVyIDQwJTtcbiAgICAgICAgLW1zLXRyYW5zZm9ybS1vcmlnaW46IGNlbnRlciA0MCU7XG4gICAgICAgIC1vLXRyYW5zZm9ybS1vcmlnaW46IGNlbnRlciA0MCU7XG4gICAgICAgIHRyYW5zZm9ybS1vcmlnaW46IGNlbnRlciA0MCU7IH1cbiAgICAgICAgLmhlYWRlck1lbnVfc2luZ2xlLW1lbnUgLmhlYWRlck1lbnVfc2luZ2xlX2xpbms6YWZ0ZXIge1xuICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jazsgfVxuICAgICAgLmhlYWRlck1lbnVfc2luZ2xlX2xpbmsuaGVhZGVyTWVudV9zaW5nbGVfbGluay1hY3RpdmU6YWZ0ZXIge1xuICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlKDE4MGRlZyk7XG4gICAgICAgIC1tb3otdHJhbnNmb3JtOiByb3RhdGUoMTgwZGVnKTtcbiAgICAgICAgLW1zLXRyYW5zZm9ybTogcm90YXRlKDE4MGRlZyk7XG4gICAgICAgIC1vLXRyYW5zZm9ybTogcm90YXRlKDE4MGRlZyk7XG4gICAgICAgIHRyYW5zZm9ybTogcm90YXRlKDE4MGRlZyk7IH1cbiAgICAuaGVhZGVyTWVudV9zaW5nbGUtbWVudSB7XG4gICAgICBjdXJzb3I6IGRlZmF1bHQ7IH1cbiAgICAuaGVhZGVyTWVudV9zaW5nbGVfbWVudSB7XG4gICAgICAtd2Via2l0LXRyYW5zaXRpb246IGFsbCAwLjM1cyBlYXNlLWluLW91dDtcbiAgICAgIC1tb3otdHJhbnNpdGlvbjogYWxsIDAuMzVzIGVhc2UtaW4tb3V0O1xuICAgICAgdHJhbnNpdGlvbjogYWxsIDAuMzVzIGVhc2UtaW4tb3V0O1xuICAgICAgei1pbmRleDogMTsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA5NTlweCkge1xuICAgIC5oZWFkZXJNZW51IHtcbiAgICAgIGxlZnQ6IDA7XG4gICAgICBvcGFjaXR5OiAwO1xuICAgICAgb3ZlcmZsb3cteTogYXV0bztcbiAgICAgIHRvcDogMTEwcHg7XG4gICAgICBwYWRkaW5nOiAwO1xuICAgICAgYm90dG9tOiAwO1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICB6LWluZGV4OiAtOTg7XG4gICAgICBiYWNrZ3JvdW5kOiAjZmZmZmZmOyB9XG4gICAgICAuaGVhZGVyTWVudSBhIHtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDUwcHg7IH1cbiAgICAgIC5oZWFkZXJNZW51X3NpbmdsZV9saW5rIHtcbiAgICAgICAgcGFkZGluZzogMCAxNXB4OyB9XG4gICAgICAgIC5oZWFkZXJNZW51X3NpbmdsZV9saW5rOmFmdGVyIHtcbiAgICAgICAgICByaWdodDogMjBweDtcbiAgICAgICAgICB0b3A6IDE3cHg7IH1cbiAgICAgIC5oZWFkZXJNZW51X3NpbmdsZV9tZW51X2xpbmsge1xuICAgICAgICBib3JkZXItdG9wOiAxcHggc29saWQgcmdiYSg0MywgNDMsIDQzLCAwLjEpO1xuICAgICAgICBwYWRkaW5nOiAwIDE1cHggMCA0NXB4OyB9XG4gICAgICAuaGVhZGVyTWVudV9zaW5nbGVfbWVudS1hY3RpdmUge1xuICAgICAgICBtYXgtaGVpZ2h0OiAzMDAwcHg7IH1cbiAgICAgIC5ib2R5LWhlYWRlckFjdGl2ZSAuaGVhZGVyTWVudSB7XG4gICAgICAgIG9wYWNpdHk6IDE7XG4gICAgICAgIHBvaW50ZXItZXZlbnRzOiBhbGw7XG4gICAgICAgIHotaW5kZXg6IDEwMjsgfSB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDk2MHB4KSB7XG4gICAgLmhlYWRlck1lbnUge1xuICAgICAgcGFkZGluZy10b3A6IDA7XG4gICAgICB0b3A6IDA7XG4gICAgICByaWdodDogMjBweDtcbiAgICAgIHotaW5kZXg6IDIwMDsgfVxuICAgICAgLmhlYWRlck1lbnU6OmFmdGVyIHtcbiAgICAgICAgY2xlYXI6IGJvdGg7XG4gICAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrOyB9XG4gICAgICAuaGVhZGVyTWVudSBhIHtcbiAgICAgICAgZm9udC1zaXplOiAxMnB4OyB9XG4gICAgICAuaGVhZGVyTWVudV9zaW5nbGUge1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgIGZsb2F0OiBsZWZ0OyB9XG4gICAgICAgIC5oZWFkZXJNZW51X3NpbmdsZV9saW5rIHtcbiAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgICAgcGFkZGluZzogMjBweCAyNnB4OyB9XG4gICAgICAgICAgLmhlYWRlck1lbnVfc2luZ2xlX2xpbms6Zmlyc3QtY2hpbGQge1xuICAgICAgICAgICAgcGFkZGluZy10b3A6IDc0cHg7XG4gICAgICAgICAgICBsaW5lLWhlaWdodDogMS4yMztcbiAgICAgICAgICAgIHBhZGRpbmctYm90dG9tOiAyNHB4O1xuICAgICAgICAgICAgZm9udC1zaXplOiAxOHB4O1xuICAgICAgICAgICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICAgICAgICAgIGxldHRlci1zcGFjaW5nOiAwLjAwMTVlbTtcbiAgICAgICAgICAgIGNvbG9yOiAjZmZmZmZmOyB9XG4gICAgICAgICAgLmhlYWRlck1lbnVfc2luZ2xlX2xpbms6YWZ0ZXIge1xuICAgICAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTUwJSk7XG4gICAgICAgICAgICAtbW96LXRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNTAlKTtcbiAgICAgICAgICAgIC1tcy10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTUwJSk7XG4gICAgICAgICAgICAtby10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTUwJSk7XG4gICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTUwJSk7XG4gICAgICAgICAgICBmb250LXNpemU6IDEwcHg7XG4gICAgICAgICAgICBsZWZ0OiA1MCU7XG4gICAgICAgICAgICB0b3A6IGNhbGMoMTAwJSAtIDE1cHgpOyB9XG4gICAgICAgICAgLmhlYWRlck1lbnVfc2luZ2xlX2xpbmsuaGVhZGVyTWVudV9zaW5nbGVfbGluay1hY3RpdmU6YWZ0ZXIge1xuICAgICAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZSgwZGVnKTtcbiAgICAgICAgICAgIC1tb3otdHJhbnNmb3JtOiByb3RhdGUoMGRlZyk7XG4gICAgICAgICAgICAtbXMtdHJhbnNmb3JtOiByb3RhdGUoMGRlZyk7XG4gICAgICAgICAgICAtby10cmFuc2Zvcm06IHJvdGF0ZSgwZGVnKTtcbiAgICAgICAgICAgIHRyYW5zZm9ybTogcm90YXRlKDBkZWcpOyB9XG4gICAgICAgIC5oZWFkZXJNZW51X3NpbmdsZV9tZW51IHtcbiAgICAgICAgICBib3gtc2hhZG93OiAwIDEwcHggMjBweCAwcHggcmdiYSg0MywgNDMsIDQzLCAwLjMpO1xuICAgICAgICAgIGxlZnQ6IDBweDtcbiAgICAgICAgICBvcGFjaXR5OiAwO1xuICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgICAgICAgICB0b3A6IDEwMCU7XG4gICAgICAgICAgd2lkdGg6IDI3MHB4O1xuICAgICAgICAgIHBhZGRpbmctdG9wOiAxMHB4O1xuICAgICAgICAgIGJhY2tncm91bmQ6IHJnYmEoMjQ3LCAyNDcsIDI0NywgMC43NSk7IH1cbiAgICAgICAgICAuaGVhZGVyTWVudV9zaW5nbGVfbWVudTphZnRlciB7XG4gICAgICAgICAgICBjb250ZW50OiAnJztcbiAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgaGVpZ2h0OiAyNXB4O1xuICAgICAgICAgICAgbGVmdDogLTIwcHg7XG4gICAgICAgICAgICBvcGFjaXR5OiAxO1xuICAgICAgICAgICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICB0b3A6IC0yNXB4O1xuICAgICAgICAgICAgd2lkdGg6IGNhbGMoMTAwJSArIDQwcHgpO1xuICAgICAgICAgICAgei1pbmRleDogMjAyOyB9XG4gICAgICAgICAgLmhlYWRlck1lbnVfc2luZ2xlX21lbnUtYWN0aXZlIC5oZWFkZXJNZW51X3NpbmdsZV9tZW51IHtcbiAgICAgICAgICAgIG9wYWNpdHk6IDE7XG4gICAgICAgICAgICBwb2ludGVyLWV2ZW50czogYWxsOyB9XG4gICAgICAgICAgLmhlYWRlck1lbnVfc2luZ2xlX21lbnUgLmhlYWRlck1lbnVfc2luZ2xlX21lbnUtYWN0aXZlIGEge1xuICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7IH1cbiAgICAgICAgICAuaGVhZGVyTWVudV9zaW5nbGVfbWVudV9saW5rIHtcbiAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAzNXB4O1xuICAgICAgICAgICAgcGFkZGluZzogNXB4IDIwcHg7XG4gICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICAgICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICAgICAgICAgIGNvbG9yOiAjNEE0QTRBO1xuICAgICAgICAgICAgLXdlYmtpdC10cmFuc2l0aW9uOiBiYWNrZ3JvdW5kIDAuM3M7XG4gICAgICAgICAgICAtbW96LXRyYW5zaXRpb246IGJhY2tncm91bmQgMC4zcztcbiAgICAgICAgICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQgMC4zczsgfVxuICAgICAgICAgICAgLmhlYWRlck1lbnVfc2luZ2xlX21lbnVfbGluazpudGgtY2hpbGQob2RkKSB7XG4gICAgICAgICAgICAgIHBhZGRpbmc6IDVweCAyMHB4OyB9XG4gICAgICAgICAgICAuaGVhZGVyTWVudV9zaW5nbGVfbWVudV9saW5rOmhvdmVyIHtcbiAgICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiAjZWFlYWVhOyB9XG4gICAgICAgICAgICAgIC5oZWFkZXJNZW51X3NpbmdsZV9tZW51X2xpbms6aG92ZXI6YmVmb3JlIHtcbiAgICAgICAgICAgICAgICBjb250ZW50OiAnJztcbiAgICAgICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICAgICAgdG9wOiAwO1xuICAgICAgICAgICAgICAgIGxlZnQ6IDA7XG4gICAgICAgICAgICAgICAgd2lkdGg6IDVweDtcbiAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZDogI0YxOEUwMjsgfVxuICAgICAgICAgIC5oZWFkZXJNZW51X3NpbmdsZV9tZW51LWFjdGl2ZSB7XG4gICAgICAgICAgICBvcGFjaXR5OiAxO1xuICAgICAgICAgICAgcG9pbnRlci1ldmVudHM6IGFsbDsgfSB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDE0NDBweCkge1xuICAgIC5oZWFkZXJNZW51IHtcbiAgICAgIHJpZ2h0OiBjYWxjKCgxMDAlIC0gMTQwMHB4KSAvIDIpO1xuICAgICAgdG9wOiAwOyB9XG4gICAgICAuaGVhZGVyTWVudSBhIHtcbiAgICAgICAgZm9udC1zaXplOiAxNnB4OyB9XG4gICAgICAuaGVhZGVyTWVudV9zaW5nbGVfbGluayB7XG4gICAgICAgIHBhZGRpbmc6IDIwcHggMjZweDsgfVxuICAgICAgICAuaGVhZGVyTWVudV9zaW5nbGVfbGluazpmaXJzdC1jaGlsZCB7XG4gICAgICAgICAgcGFkZGluZy10b3A6IDc0cHg7XG4gICAgICAgICAgbGluZS1oZWlnaHQ6IDEuMjM7XG4gICAgICAgICAgcGFkZGluZy1ib3R0b206IDI0cHg7XG4gICAgICAgICAgZm9udC1zaXplOiAxOHB4O1xuICAgICAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgICAgICAgbGV0dGVyLXNwYWNpbmc6IDAuMDAxNWVtO1xuICAgICAgICAgIGNvbG9yOiAjZmZmZmZmOyB9XG4gICAgICAgIC5oZWFkZXJNZW51X3NpbmdsZV9saW5rOmFmdGVyIHtcbiAgICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWSgycHgpO1xuICAgICAgICAgIC1tb3otdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDJweCk7XG4gICAgICAgICAgLW1zLXRyYW5zZm9ybTogdHJhbnNsYXRlWSgycHgpO1xuICAgICAgICAgIC1vLXRyYW5zZm9ybTogdHJhbnNsYXRlWSgycHgpO1xuICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgycHgpO1xuICAgICAgICAgIGZvbnQtc2l6ZTogMTZweDtcbiAgICAgICAgICBwb3NpdGlvbjogc3RhdGljO1xuICAgICAgICAgIHBhZGRpbmctbGVmdDogMTVweDsgfVxuICAgICAgLmhlYWRlck1lbnVfc2luZ2xlX21lbnUge1xuICAgICAgICB0b3A6IDEwMCU7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA1MDBweCkgYW5kIChtYXgtd2lkdGg6IDk1OXB4KSB7XG4gIC5oZWFkZXJNZW51X3NpbmdsZS1tZW51IC5oZWFkZXJNZW51X3NpbmdsZV9saW5rOmFmdGVyIHtcbiAgICBkaXNwbGF5OiBub25lOyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNDk5cHgpIHtcbiAgLmhlYWRlck1lbnVfc2luZ2xlLW1lbnUgLmhlYWRlck1lbnVfc2luZ2xlX2xpbms6YWZ0ZXIge1xuICAgIGRpc3BsYXk6IG5vbmU7IH0gfVxuXG4uaGVhZGVyU2NyZWVuIHtcbiAgLXdlYmtpdC10cmFuc2l0aW9uOiBhbGwgMC4ycztcbiAgLW1vei10cmFuc2l0aW9uOiBhbGwgMC4ycztcbiAgdHJhbnNpdGlvbjogYWxsIDAuMnM7XG4gIGhlaWdodDogMHB4O1xuICBsZWZ0OiAwO1xuICBvcGFjaXR5OiAwO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogMDtcbiAgd2lkdGg6IDEwMCU7XG4gIHotaW5kZXg6IC05OTsgfVxuICAuYm9keS1oZWFkZXJBY3RpdmUgLmhlYWRlclNjcmVlbiB7XG4gICAgaGVpZ2h0OiA5OTk5OXB4O1xuICAgIG9wYWNpdHk6IDE7XG4gICAgcG9pbnRlci1ldmVudHM6IGFsbDtcbiAgICB6LWluZGV4OiAxMDE7IH1cblxuLndoaXRlLWxvZ28gKiB7XG4gIGZpbGw6ICNmZmZmZmYgIWltcG9ydGFudDsgfVxuXG4jdHdvLW9jdG9iZXJzLWxvZ28gcGF0aCwgI3R3by1vY3RvYmVycy1sb2dvIHBvbHlnb24ge1xuICB0cmFuc2l0aW9uOiBmaWxsIDAuNXM7IH1cblxuLmhlYWRlclRvZ2dsZSB7XG4gIC13ZWJraXQtdHJhbnNpdGlvbjogYWxsIDAuMnM7XG4gIC1tb3otdHJhbnNpdGlvbjogYWxsIDAuMnM7XG4gIHRyYW5zaXRpb246IGFsbCAwLjJzO1xuICBsZWZ0OiAwO1xuICBwb3NpdGlvbjogZml4ZWQ7XG4gIHRvcDogMDtcbiAgd2lkdGg6IDEwMCU7XG4gIHotaW5kZXg6IDEwMztcbiAgYm9yZGVyLWJvdHRvbTogMTBweCBzb2xpZCB0cmFuc3BhcmVudDsgfVxuICAuaGVhZGVyVG9nZ2xlX2NvbnRhaW5lcl9sb2dvIHtcbiAgICB0cmFuc2Zvcm06IG5vbmU7XG4gICAgbGVmdDogMDtcbiAgICB0b3A6IDA7XG4gICAgd2lkdGg6IDUwJTtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgcGFkZGluZzogMTBweDtcbiAgICBoZWlnaHQ6IDEwMHB4O1xuICAgIHRyYW5zaXRpb246IHdpZHRoIDUwMG1zIGVhc2U7IH1cbiAgICAuaGVhZGVyVG9nZ2xlX2NvbnRhaW5lcl9sb2dvIHN2ZyB7XG4gICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICB3aWR0aDogMTAwJTsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDk2MHB4KSB7XG4gICAgICAuaGVhZGVyVG9nZ2xlX2NvbnRhaW5lcl9sb2dvIHtcbiAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSk7XG4gICAgICAgIC1tb3otdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpO1xuICAgICAgICAtbXMtdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpO1xuICAgICAgICAtby10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSk7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKTtcbiAgICAgICAgbGVmdDogMTVweDtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICB0b3A6IDUwJTtcbiAgICAgICAgd2lkdGg6IDIzNXB4O1xuICAgICAgICBoZWlnaHQ6IGF1dG87XG4gICAgICAgIHBhZGRpbmc6IDA7IH0gfVxuICAuaGVhZGVyVG9nZ2xlX2NvbnRhaW5lcl90b2dnbGUge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBoZWlnaHQ6IDUwcHg7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHdpZHRoOiA1MHB4O1xuICAgIHotaW5kZXg6IDEwMztcbiAgICByaWdodDogMTVweDtcbiAgICB0b3A6IDUwJTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSk7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA5NjBweCkge1xuICAgICAgLmhlYWRlclRvZ2dsZV9jb250YWluZXJfdG9nZ2xlIHtcbiAgICAgICAgcmlnaHQ6IDdweDtcbiAgICAgICAgdG9wOiA2cHg7XG4gICAgICAgIHRyYW5zZm9ybTogbm9uZTsgfSB9XG4gICAgLmhlYWRlclRvZ2dsZV9jb250YWluZXJfdG9nZ2xlX2JhcnMsIC5oZWFkZXJUb2dnbGVfY29udGFpbmVyX3RvZ2dsZV9iYXJzOmFmdGVyLCAuaGVhZGVyVG9nZ2xlX2NvbnRhaW5lcl90b2dnbGVfYmFyczpiZWZvcmUge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZmZmZjtcbiAgICAgIGhlaWdodDogNHB4O1xuICAgICAgd2lkdGg6IDI1cHg7IH1cbiAgICAuaGVhZGVyVG9nZ2xlX2NvbnRhaW5lcl90b2dnbGVfYmFycyB7XG4gICAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKTtcbiAgICAgIC1tb3otdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpO1xuICAgICAgLW1zLXRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKTtcbiAgICAgIC1vLXRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKTtcbiAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKTtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgbGVmdDogMDtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgIG1hcmdpbjogMCBhdXRvO1xuICAgICAgdG9wOiA1MCU7IH1cbiAgICAgIC5oZWFkZXJUb2dnbGVfY29udGFpbmVyX3RvZ2dsZV9iYXJzOmFmdGVyLCAuaGVhZGVyVG9nZ2xlX2NvbnRhaW5lcl90b2dnbGVfYmFyczpiZWZvcmUge1xuICAgICAgICAtd2Via2l0LXRyYW5zaXRpb24tZGVsYXk6IDAuMnMsIDA7XG4gICAgICAgIC1tb3otdHJhbnNpdGlvbi1kZWxheTogMC4ycywgMDtcbiAgICAgICAgdHJhbnNpdGlvbi1kZWxheTogMC4ycywgMDtcbiAgICAgICAgLXdlYmtpdC10cmFuc2l0aW9uLWR1cmF0aW9uOiAwLjJzO1xuICAgICAgICAtbW96LXRyYW5zaXRpb24tZHVyYXRpb246IDAuMnM7XG4gICAgICAgIHRyYW5zaXRpb24tZHVyYXRpb246IDAuMnM7XG4gICAgICAgIC13ZWJraXQtdHJhbnNpdGlvbi1wcm9wZXJ0eTogbWFyZ2luLCAtd2Via2l0LXRyYW5zZm9ybTtcbiAgICAgICAgLW1vei10cmFuc2l0aW9uLXByb3BlcnR5OiBtYXJnaW4sIC1tb3otdHJhbnNmb3JtO1xuICAgICAgICB0cmFuc2l0aW9uLXByb3BlcnR5OiBtYXJnaW4sIHRyYW5zZm9ybTtcbiAgICAgICAgY29udGVudDogJyc7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7IH1cbiAgICAgIC5oZWFkZXJUb2dnbGVfY29udGFpbmVyX3RvZ2dsZV9iYXJzOmFmdGVyIHtcbiAgICAgICAgbWFyZ2luLXRvcDogOHB4OyB9XG4gICAgICAuaGVhZGVyVG9nZ2xlX2NvbnRhaW5lcl90b2dnbGVfYmFyczpiZWZvcmUge1xuICAgICAgICBtYXJnaW4tdG9wOiAtOHB4OyB9XG4gICAgLmhlYWRlclRvZ2dsZV9jb250YWluZXJfdG9nZ2xlOmhvdmVyIC5oZWFkZXJUb2dnbGVfdG9nZ2xlX2JhcnM6YWZ0ZXIge1xuICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTJweCk7XG4gICAgICAtbW96LXRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMnB4KTtcbiAgICAgIC1tcy10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTJweCk7XG4gICAgICAtby10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTJweCk7XG4gICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTJweCk7IH1cbiAgICAuaGVhZGVyVG9nZ2xlX2NvbnRhaW5lcl90b2dnbGU6aG92ZXIgLmhlYWRlclRvZ2dsZV90b2dnbGVfYmFyczpiZWZvcmUge1xuICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMnB4KTtcbiAgICAgIC1tb3otdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDJweCk7XG4gICAgICAtbXMtdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDJweCk7XG4gICAgICAtby10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMnB4KTtcbiAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgycHgpOyB9XG4gIC5ib2R5LWhlYWRlckFjdGl2ZSAuaGVhZGVyVG9nZ2xlIHtcbiAgICBib3gtc2hhZG93OiBub25lO1xuICAgIHBvaW50ZXItZXZlbnRzOiBhbGw7IH1cbiAgICAuYm9keS1oZWFkZXJBY3RpdmUgLmhlYWRlclRvZ2dsZSAuaGVhZGVyVG9nZ2xlX2NvbnRhaW5lcl90b2dnbGVfYmFycywgLmJvZHktaGVhZGVyQWN0aXZlIC5oZWFkZXJUb2dnbGUgLmhlYWRlclRvZ2dsZV9jb250YWluZXJfdG9nZ2xlOmhvdmVyIC5oZWFkZXJUb2dnbGVfdG9nZ2xlX2JhcnMge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7IH1cbiAgICAgIC5ib2R5LWhlYWRlckFjdGl2ZSAuaGVhZGVyVG9nZ2xlIC5oZWFkZXJUb2dnbGVfY29udGFpbmVyX3RvZ2dsZV9iYXJzOmJlZm9yZSwgLmJvZHktaGVhZGVyQWN0aXZlIC5oZWFkZXJUb2dnbGUgLmhlYWRlclRvZ2dsZV9jb250YWluZXJfdG9nZ2xlX2JhcnM6YWZ0ZXIsIC5ib2R5LWhlYWRlckFjdGl2ZSAuaGVhZGVyVG9nZ2xlIC5oZWFkZXJUb2dnbGVfY29udGFpbmVyX3RvZ2dsZTpob3ZlciAuaGVhZGVyVG9nZ2xlX3RvZ2dsZV9iYXJzOmJlZm9yZSwgLmJvZHktaGVhZGVyQWN0aXZlIC5oZWFkZXJUb2dnbGUgLmhlYWRlclRvZ2dsZV9jb250YWluZXJfdG9nZ2xlOmhvdmVyIC5oZWFkZXJUb2dnbGVfdG9nZ2xlX2JhcnM6YWZ0ZXIge1xuICAgICAgICBtYXJnaW4tdG9wOiAwO1xuICAgICAgICAtd2Via2l0LXRyYW5zaXRpb24tZGVsYXk6IDAsIDAuMnM7XG4gICAgICAgIC1tb3otdHJhbnNpdGlvbi1kZWxheTogMCwgMC4ycztcbiAgICAgICAgdHJhbnNpdGlvbi1kZWxheTogMCwgMC4yczsgfVxuICAgICAgLmJvZHktaGVhZGVyQWN0aXZlIC5oZWFkZXJUb2dnbGUgLmhlYWRlclRvZ2dsZV9jb250YWluZXJfdG9nZ2xlX2JhcnM6YmVmb3JlLCAuYm9keS1oZWFkZXJBY3RpdmUgLmhlYWRlclRvZ2dsZSAuaGVhZGVyVG9nZ2xlX2NvbnRhaW5lcl90b2dnbGU6aG92ZXIgLmhlYWRlclRvZ2dsZV90b2dnbGVfYmFyczpiZWZvcmUge1xuICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlKDQ1ZGVnKTtcbiAgICAgICAgLW1vei10cmFuc2Zvcm06IHJvdGF0ZSg0NWRlZyk7XG4gICAgICAgIC1tcy10cmFuc2Zvcm06IHJvdGF0ZSg0NWRlZyk7XG4gICAgICAgIC1vLXRyYW5zZm9ybTogcm90YXRlKDQ1ZGVnKTtcbiAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoNDVkZWcpOyB9XG4gICAgICAuYm9keS1oZWFkZXJBY3RpdmUgLmhlYWRlclRvZ2dsZSAuaGVhZGVyVG9nZ2xlX2NvbnRhaW5lcl90b2dnbGVfYmFyczphZnRlciwgLmJvZHktaGVhZGVyQWN0aXZlIC5oZWFkZXJUb2dnbGUgLmhlYWRlclRvZ2dsZV9jb250YWluZXJfdG9nZ2xlOmhvdmVyIC5oZWFkZXJUb2dnbGVfdG9nZ2xlX2JhcnM6YWZ0ZXIge1xuICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlKC00NWRlZyk7XG4gICAgICAgIC1tb3otdHJhbnNmb3JtOiByb3RhdGUoLTQ1ZGVnKTtcbiAgICAgICAgLW1zLXRyYW5zZm9ybTogcm90YXRlKC00NWRlZyk7XG4gICAgICAgIC1vLXRyYW5zZm9ybTogcm90YXRlKC00NWRlZyk7XG4gICAgICAgIHRyYW5zZm9ybTogcm90YXRlKC00NWRlZyk7IH1cbiAgLmJvZHktbW9kYWxBY3RpdmUgLmhlYWRlclRvZ2dsZSB7XG4gICAgb3BhY2l0eTogMDsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA5NjBweCkge1xuICAgIC5oZWFkZXJUb2dnbGUge1xuICAgICAgaGVpZ2h0OiAxMzBweDtcbiAgICAgIHBhZGRpbmc6IDAgMjBweDtcbiAgICAgIHRvcDogMDsgfVxuICAgICAgLmhlYWRlclRvZ2dsZV9jb250YWluZXIge1xuICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICAgIG1hcmdpbjogYXV0bztcbiAgICAgICAgbWF4LXdpZHRoOiAxNDAwcHg7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuICAgICAgICAuaGVhZGVyVG9nZ2xlX2NvbnRhaW5lcjphZnRlciB7XG4gICAgICAgICAgLXdlYmtpdC10cmFuc2l0aW9uOiBhbGwgMC41cztcbiAgICAgICAgICAtbW96LXRyYW5zaXRpb246IGFsbCAwLjVzO1xuICAgICAgICAgIHRyYW5zaXRpb246IGFsbCAwLjVzO1xuICAgICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0xNTBweCk7XG4gICAgICAgICAgLW1vei10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTE1MHB4KTtcbiAgICAgICAgICAtbXMtdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0xNTBweCk7XG4gICAgICAgICAgLW8tdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0xNTBweCk7XG4gICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0xNTBweCk7XG4gICAgICAgICAgYm94LXNoYWRvdzogMCAwIDIwcHggMCByZ2JhKDAsIDAsIDAsIDAuMjUpO1xuICAgICAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgICAgIHBvc2l0aW9uOiBmaXhlZDtcbiAgICAgICAgICByaWdodDogMTAycHg7XG4gICAgICAgICAgdG9wOiAwO1xuICAgICAgICAgIGhlaWdodDogNzVweDtcbiAgICAgICAgICB3aWR0aDogMTY1cHg7XG4gICAgICAgICAgei1pbmRleDogLTE7IH1cbiAgICAgICAgLmhlYWRlclRvZ2dsZV9jb250YWluZXJfdG9nZ2xlIHtcbiAgICAgICAgICBkaXNwbGF5OiBub25lOyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTQ0MHB4KSB7XG4gICAgLmhlYWRlclRvZ2dsZV9sb2dvIHtcbiAgICAgIGhlaWdodDogNjBweDtcbiAgICAgIGxlZnQ6IDA7IH0gfVxuXG4uaGVhZGVyLXNjcm9sbGVkIHtcbiAgYm9yZGVyLWNvbG9yOiAjRjE4RTAyO1xuICBiYWNrZ3JvdW5kOiAjZmZmZmZmO1xuICBoZWlnaHQ6IDEwMHB4ICFpbXBvcnRhbnQ7IH1cbiAgLmhlYWRlci1zY3JvbGxlZCAuaGVhZGVyVG9nZ2xlX2NvbnRhaW5lcl90b2dnbGVfYmFycyxcbiAgLmhlYWRlci1zY3JvbGxlZCAuaGVhZGVyVG9nZ2xlX2NvbnRhaW5lcl90b2dnbGVfYmFyczphZnRlcixcbiAgLmhlYWRlci1zY3JvbGxlZCAuaGVhZGVyVG9nZ2xlX2NvbnRhaW5lcl90b2dnbGVfYmFyczpiZWZvcmUge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICMyQjJCMkI7XG4gICAgaGVpZ2h0OiA0cHg7XG4gICAgd2lkdGg6IDI1cHg7IH1cbiAgLmhlYWRlci1zY3JvbGxlZCAuaGVhZGVyVG9nZ2xlX2NvbnRhaW5lcl9sb2dvIHtcbiAgICB3aWR0aDogMTk1cHg7IH1cblxuLm5hdi1zY3JvbGxlZCAuaGVhZGVyTWVudV9zaW5nbGVfbGluayB7XG4gIHBhZGRpbmctdG9wOiA0NHB4ICFpbXBvcnRhbnQ7IH1cbiAgLm5hdi1zY3JvbGxlZCAuaGVhZGVyTWVudV9zaW5nbGVfbGluazpmaXJzdC1jaGlsZCB7XG4gICAgY29sb3I6ICM1QzVDNUM7IH1cblxuLyogU2xpZGVyICovXG4uc2xpY2stc2xpZGVyIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBkaXNwbGF5OiBibG9jaztcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgLXdlYmtpdC10b3VjaC1jYWxsb3V0OiBub25lO1xuICAtd2Via2l0LXVzZXItc2VsZWN0OiBub25lO1xuICAta2h0bWwtdXNlci1zZWxlY3Q6IG5vbmU7XG4gIC1tb3otdXNlci1zZWxlY3Q6IG5vbmU7XG4gIC1tcy11c2VyLXNlbGVjdDogbm9uZTtcbiAgdXNlci1zZWxlY3Q6IG5vbmU7XG4gIC1tcy10b3VjaC1hY3Rpb246IHBhbi15O1xuICB0b3VjaC1hY3Rpb246IHBhbi15O1xuICAtd2Via2l0LXRhcC1oaWdobGlnaHQtY29sb3I6IHRyYW5zcGFyZW50OyB9XG5cbi5zbGljay1saXN0IHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICBkaXNwbGF5OiBibG9jaztcbiAgbWFyZ2luOiAwO1xuICBwYWRkaW5nOiAwOyB9XG4gIC5zbGljay1saXN0OmZvY3VzIHtcbiAgICBvdXRsaW5lOiBub25lOyB9XG4gIC5zbGljay1saXN0LmRyYWdnaW5nIHtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgY3Vyc29yOiBoYW5kOyB9XG5cbi5zbGljay1zbGlkZXIgLnNsaWNrLXRyYWNrLFxuLnNsaWNrLXNsaWRlciAuc2xpY2stbGlzdCB7XG4gIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgLW1vei10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICAtbXMtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgLW8tdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTsgfVxuXG4uc2xpY2stdHJhY2sge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGxlZnQ6IDA7XG4gIHRvcDogMDtcbiAgZGlzcGxheTogYmxvY2s7IH1cbiAgLnNsaWNrLXRyYWNrOmJlZm9yZSwgLnNsaWNrLXRyYWNrOmFmdGVyIHtcbiAgICBjb250ZW50OiBcIlwiO1xuICAgIGRpc3BsYXk6IHRhYmxlOyB9XG4gIC5zbGljay10cmFjazphZnRlciB7XG4gICAgY2xlYXI6IGJvdGg7IH1cbiAgLnNsaWNrLWxvYWRpbmcgLnNsaWNrLXRyYWNrIHtcbiAgICB2aXNpYmlsaXR5OiBoaWRkZW47IH1cblxuLnNsaWNrLXNsaWRlIHtcbiAgZmxvYXQ6IGxlZnQ7XG4gIGhlaWdodDogMTAwJTtcbiAgbWluLWhlaWdodDogMXB4O1xuICBkaXNwbGF5OiBub25lOyB9XG4gIFtkaXI9XCJydGxcIl0gLnNsaWNrLXNsaWRlIHtcbiAgICBmbG9hdDogcmlnaHQ7IH1cbiAgLnNsaWNrLXNsaWRlIGltZyB7XG4gICAgZGlzcGxheTogYmxvY2s7IH1cbiAgLnNsaWNrLXNsaWRlLnNsaWNrLWxvYWRpbmcgaW1nIHtcbiAgICBkaXNwbGF5OiBub25lOyB9XG4gIC5zbGljay1zbGlkZS5kcmFnZ2luZyBpbWcge1xuICAgIHBvaW50ZXItZXZlbnRzOiBub25lOyB9XG4gIC5zbGljay1pbml0aWFsaXplZCAuc2xpY2stc2xpZGUge1xuICAgIGRpc3BsYXk6IGJsb2NrOyB9XG4gIC5zbGljay1sb2FkaW5nIC5zbGljay1zbGlkZSB7XG4gICAgdmlzaWJpbGl0eTogaGlkZGVuOyB9XG4gIC5zbGljay12ZXJ0aWNhbCAuc2xpY2stc2xpZGUge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIGhlaWdodDogYXV0bztcbiAgICBib3JkZXI6IDFweCBzb2xpZCB0cmFuc3BhcmVudDsgfVxuXG4uc2xpY2stYXJyb3cuc2xpY2staGlkZGVuIHtcbiAgZGlzcGxheTogbm9uZTsgfVxuXG4vKiBTbGlkZXIgKi9cbi5zbGljay1sb2FkaW5nIC5zbGljay1saXN0IHtcbiAgYmFja2dyb3VuZDogI2ZmZmZmZiB1cmwoXCIuL2FqYXgtbG9hZGVyLmdpZlwiKSBjZW50ZXIgY2VudGVyIG5vLXJlcGVhdDsgfVxuXG4vKiBJY29ucyAqL1xuQGZvbnQtZmFjZSB7XG4gIGZvbnQtZmFtaWx5OiBcInNsaWNrXCI7XG4gIHNyYzogdXJsKFwiLi9mb250cy9zbGljay5lb3RcIik7XG4gIHNyYzogdXJsKFwiLi9mb250cy9zbGljay5lb3Q/I2llZml4XCIpIGZvcm1hdChcImVtYmVkZGVkLW9wZW50eXBlXCIpLCB1cmwoXCIuL2ZvbnRzL3NsaWNrLndvZmZcIikgZm9ybWF0KFwid29mZlwiKSwgdXJsKFwiLi9mb250cy9zbGljay50dGZcIikgZm9ybWF0KFwidHJ1ZXR5cGVcIiksIHVybChcIi4vZm9udHMvc2xpY2suc3ZnI3NsaWNrXCIpIGZvcm1hdChcInN2Z1wiKTtcbiAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgZm9udC1zdHlsZTogbm9ybWFsOyB9XG5cbi8qIEFycm93cyAqL1xuLnNsaWNrLXByZXYsXG4uc2xpY2stbmV4dCB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgZGlzcGxheTogYmxvY2s7XG4gIGhlaWdodDogMjBweDtcbiAgd2lkdGg6IDIwcHg7XG4gIGxpbmUtaGVpZ2h0OiAwcHg7XG4gIGZvbnQtc2l6ZTogMHB4O1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICBjb2xvcjogdHJhbnNwYXJlbnQ7XG4gIHRvcDogNTAlO1xuICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlKDAsIC01MCUpO1xuICAtbXMtdHJhbnNmb3JtOiB0cmFuc2xhdGUoMCwgLTUwJSk7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlKDAsIC01MCUpO1xuICBwYWRkaW5nOiAwO1xuICBib3JkZXI6IG5vbmU7XG4gIG91dGxpbmU6IG5vbmU7IH1cbiAgLnNsaWNrLXByZXY6aG92ZXIsIC5zbGljay1wcmV2OmZvY3VzLFxuICAuc2xpY2stbmV4dDpob3ZlcixcbiAgLnNsaWNrLW5leHQ6Zm9jdXMge1xuICAgIG91dGxpbmU6IG5vbmU7XG4gICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gICAgY29sb3I6IHRyYW5zcGFyZW50OyB9XG4gICAgLnNsaWNrLXByZXY6aG92ZXI6YmVmb3JlLCAuc2xpY2stcHJldjpmb2N1czpiZWZvcmUsXG4gICAgLnNsaWNrLW5leHQ6aG92ZXI6YmVmb3JlLFxuICAgIC5zbGljay1uZXh0OmZvY3VzOmJlZm9yZSB7XG4gICAgICBvcGFjaXR5OiAxOyB9XG4gIC5zbGljay1wcmV2LnNsaWNrLWRpc2FibGVkOmJlZm9yZSxcbiAgLnNsaWNrLW5leHQuc2xpY2stZGlzYWJsZWQ6YmVmb3JlIHtcbiAgICBvcGFjaXR5OiAwLjI1OyB9XG4gIC5zbGljay1wcmV2OmJlZm9yZSxcbiAgLnNsaWNrLW5leHQ6YmVmb3JlIHtcbiAgICBmb250LWZhbWlseTogXCJzbGlja1wiO1xuICAgIGZvbnQtc2l6ZTogMjBweDtcbiAgICBsaW5lLWhlaWdodDogMTtcbiAgICBjb2xvcjogd2hpdGU7XG4gICAgb3BhY2l0eTogMC43NTtcbiAgICAtd2Via2l0LWZvbnQtc21vb3RoaW5nOiBhbnRpYWxpYXNlZDtcbiAgICAtbW96LW9zeC1mb250LXNtb290aGluZzogZ3JheXNjYWxlOyB9XG5cbi5zbGljay1wcmV2IHtcbiAgbGVmdDogLTI1cHg7IH1cbiAgW2Rpcj1cInJ0bFwiXSAuc2xpY2stcHJldiB7XG4gICAgbGVmdDogYXV0bztcbiAgICByaWdodDogLTI1cHg7IH1cbiAgLnNsaWNrLXByZXY6YmVmb3JlIHtcbiAgICBjb250ZW50OiBcIuKGkFwiOyB9XG4gICAgW2Rpcj1cInJ0bFwiXSAuc2xpY2stcHJldjpiZWZvcmUge1xuICAgICAgY29udGVudDogXCLihpJcIjsgfVxuXG4uc2xpY2stbmV4dCB7XG4gIHJpZ2h0OiAtMjVweDsgfVxuICBbZGlyPVwicnRsXCJdIC5zbGljay1uZXh0IHtcbiAgICBsZWZ0OiAtMjVweDtcbiAgICByaWdodDogYXV0bzsgfVxuICAuc2xpY2stbmV4dDpiZWZvcmUge1xuICAgIGNvbnRlbnQ6IFwi4oaSXCI7IH1cbiAgICBbZGlyPVwicnRsXCJdIC5zbGljay1uZXh0OmJlZm9yZSB7XG4gICAgICBjb250ZW50OiBcIuKGkFwiOyB9XG5cbi8qIERvdHMgKi9cbi5zbGljay1kb3R0ZWQuc2xpY2stc2xpZGVyIHtcbiAgbWFyZ2luLWJvdHRvbTogMzBweDsgfVxuXG4uc2xpY2stZG90cyB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgYm90dG9tOiAtMjVweDtcbiAgbGlzdC1zdHlsZTogbm9uZTtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgcGFkZGluZzogMDtcbiAgbWFyZ2luOiAwO1xuICB3aWR0aDogMTAwJTsgfVxuICAuc2xpY2stZG90cyBsaSB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBoZWlnaHQ6IDIwcHg7XG4gICAgd2lkdGg6IDIwcHg7XG4gICAgbWFyZ2luOiAwIDVweDtcbiAgICBwYWRkaW5nOiAwO1xuICAgIGN1cnNvcjogcG9pbnRlcjsgfVxuICAgIC5zbGljay1kb3RzIGxpIGJ1dHRvbiB7XG4gICAgICBib3JkZXI6IDA7XG4gICAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgaGVpZ2h0OiAyMHB4O1xuICAgICAgd2lkdGg6IDIwcHg7XG4gICAgICBvdXRsaW5lOiBub25lO1xuICAgICAgbGluZS1oZWlnaHQ6IDBweDtcbiAgICAgIGZvbnQtc2l6ZTogMHB4O1xuICAgICAgY29sb3I6IHRyYW5zcGFyZW50O1xuICAgICAgcGFkZGluZzogNXB4O1xuICAgICAgY3Vyc29yOiBwb2ludGVyOyB9XG4gICAgICAuc2xpY2stZG90cyBsaSBidXR0b246aG92ZXIsIC5zbGljay1kb3RzIGxpIGJ1dHRvbjpmb2N1cyB7XG4gICAgICAgIG91dGxpbmU6IG5vbmU7IH1cbiAgICAgICAgLnNsaWNrLWRvdHMgbGkgYnV0dG9uOmhvdmVyOmJlZm9yZSwgLnNsaWNrLWRvdHMgbGkgYnV0dG9uOmZvY3VzOmJlZm9yZSB7XG4gICAgICAgICAgb3BhY2l0eTogMTsgfVxuICAgICAgLnNsaWNrLWRvdHMgbGkgYnV0dG9uOmJlZm9yZSB7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgdG9wOiAwO1xuICAgICAgICBsZWZ0OiAwO1xuICAgICAgICBjb250ZW50OiBcIuKAolwiO1xuICAgICAgICB3aWR0aDogMjBweDtcbiAgICAgICAgaGVpZ2h0OiAyMHB4O1xuICAgICAgICBmb250LWZhbWlseTogXCJzbGlja1wiO1xuICAgICAgICBmb250LXNpemU6IDEycHg7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAyMHB4O1xuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgIGNvbG9yOiBibGFjaztcbiAgICAgICAgb3BhY2l0eTogMC4yNTtcbiAgICAgICAgLXdlYmtpdC1mb250LXNtb290aGluZzogYW50aWFsaWFzZWQ7XG4gICAgICAgIC1tb3otb3N4LWZvbnQtc21vb3RoaW5nOiBncmF5c2NhbGU7IH1cbiAgICAuc2xpY2stZG90cyBsaS5zbGljay1hY3RpdmUgYnV0dG9uOmJlZm9yZSB7XG4gICAgICBjb2xvcjogYmxhY2s7XG4gICAgICBvcGFjaXR5OiAwLjc1OyB9XG5cbi5jbGVhcjphZnRlciB7XG4gIGNsZWFyOiBib3RoO1xuICBjb250ZW50OiBcIlwiO1xuICBkaXNwbGF5OiB0YWJsZTtcbiAgem9vbTogMTsgfVxuXG4uY2xlYXI6YmVmb3JlIHtcbiAgY2xlYXI6IGJvdGg7XG4gIGNvbnRlbnQ6IFwiXCI7XG4gIGRpc3BsYXk6IHRhYmxlO1xuICB6b29tOiAxOyB9XG5cbi5ncmlkLXdyYXBwZXIge1xuICBtYXgtd2lkdGg6IDYwZW07XG4gIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICBtYXJnaW4tcmlnaHQ6IGF1dG87IH1cbiAgLmdyaWQtd3JhcHBlcjo6YWZ0ZXIge1xuICAgIGNsZWFyOiBib3RoO1xuICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgZGlzcGxheTogYmxvY2s7IH1cblxuLmhvcml6LWNlbnRlciB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBtYXJnaW4tbGVmdDogYXV0bztcbiAgbWFyZ2luLXJpZ2h0OiBhdXRvOyB9XG5cbi52ZXJ0aWNhbC1jZW50ZXIge1xuICBkaXNwbGF5OiB0YWJsZS1jZWxsO1xuICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlOyB9XG5cbi5pbWctZmlsbCB7XG4gIG1pbi13aWR0aDogMTAwJTtcbiAgbWluLWhlaWdodDogMTAwJTsgfVxuXG4uaW1nLWdsaWRlIHtcbiAgbWF4LXdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IGF1dG87IH1cbiIsIkBjaGFyc2V0IFwiVVRGLThcIjtcblxuQGlmICRib3JkZXItYm94LXNpemluZyA9PSB0cnVlIHtcbiAgaHRtbCB7IC8vIGh0dHA6Ly9iaXQubHkvMXFrMnRWUlxuICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gIH1cblxuICAqIHtcbiAgICAmLFxuICAgICY6OmFmdGVyLFxuICAgICY6OmJlZm9yZSB7XG4gICAgICBib3gtc2l6aW5nOiBpbmhlcml0O1xuICAgIH1cbiAgfVxufVxuIiwiLyohIG5vcm1hbGl6ZS5jc3MgdjIuMS4wIHwgTUlUIExpY2Vuc2UgfCBnaXQuaW8vbm9ybWFsaXplICovXG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBIVE1MNSBkaXNwbGF5IGRlZmluaXRpb25zXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKipcbiAqIENvcnJlY3QgYGJsb2NrYCBkaXNwbGF5IG5vdCBkZWZpbmVkIGluIElFIDgvOS5cbiAqL1xuXG5hcnRpY2xlLFxuYXNpZGUsXG5kZXRhaWxzLFxuZmlnY2FwdGlvbixcbmZpZ3VyZSxcbmZvb3RlcixcbmhlYWRlcixcbmhncm91cCxcbm1haW4sXG5uYXYsXG5zZWN0aW9uLFxuc3VtbWFyeSB7XG4gICAgZGlzcGxheTogYmxvY2s7XG59XG5cbi8qKlxuICogQ29ycmVjdCBgaW5saW5lLWJsb2NrYCBkaXNwbGF5IG5vdCBkZWZpbmVkIGluIElFIDgvOS5cbiAqL1xuXG5hdWRpbyxcbmNhbnZhcyxcbnZpZGVvIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG59XG5cbi8qKlxuICogUHJldmVudCBtb2Rlcm4gYnJvd3NlcnMgZnJvbSBkaXNwbGF5aW5nIGBhdWRpb2Agd2l0aG91dCBjb250cm9scy5cbiAqIFJlbW92ZSBleGNlc3MgaGVpZ2h0IGluIGlPUyA1IGRldmljZXMuXG4gKi9cblxuYXVkaW86bm90KFtjb250cm9sc10pIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICAgIGhlaWdodDogMDtcbn1cblxuLyoqXG4gKiBBZGRyZXNzIHN0eWxpbmcgbm90IHByZXNlbnQgaW4gSUUgOC85LlxuICovXG5cbltoaWRkZW5dIHtcbiAgICBkaXNwbGF5OiBub25lO1xufVxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgQmFzZVxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLyoqXG4gKiAxLiBTZXQgZGVmYXVsdCBmb250IGZhbWlseSB0byBzYW5zLXNlcmlmLlxuICogMi4gUHJldmVudCBpT1MgdGV4dCBzaXplIGFkanVzdCBhZnRlciBvcmllbnRhdGlvbiBjaGFuZ2UsIHdpdGhvdXQgZGlzYWJsaW5nXG4gKiAgICB1c2VyIHpvb20uXG4gKi9cblxuaHRtbCB7XG4gICAgZm9udC1mYW1pbHk6IHNhbnMtc2VyaWY7IC8qIDEgKi9cbiAgICAtd2Via2l0LXRleHQtc2l6ZS1hZGp1c3Q6IDEwMCU7IC8qIDIgKi9cbiAgICAtbXMtdGV4dC1zaXplLWFkanVzdDogMTAwJTsgLyogMiAqL1xufVxuXG4vKipcbiAqIFJlbW92ZSBkZWZhdWx0IG1hcmdpbi5cbiAqL1xuXG5ib2R5IHtcbiAgICBtYXJnaW46IDA7XG59XG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBMaW5rc1xuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuYXtcbiAgb3V0bGluZTowICFpbXBvcnRhbnQ7XG59XG4vKipcbiAqIEFkZHJlc3MgYG91dGxpbmVgIGluY29uc2lzdGVuY3kgYmV0d2VlbiBDaHJvbWUgYW5kIG90aGVyIGJyb3dzZXJzLlxuICovXG5cbmE6Zm9jdXMge1xuICAgIG91dGxpbmU6IHRoaW4gZG90dGVkO1xufVxuXG4vKipcbiAqIEltcHJvdmUgcmVhZGFiaWxpdHkgd2hlbiBmb2N1c2VkIGFuZCBhbHNvIG1vdXNlIGhvdmVyZWQgaW4gYWxsIGJyb3dzZXJzLlxuICovXG5cbmE6YWN0aXZlLFxuYTpob3ZlciB7XG4gICAgb3V0bGluZTogMDtcbn1cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIFR5cG9ncmFwaHlcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qKlxuICogQWRkcmVzcyB2YXJpYWJsZSBgaDFgIGZvbnQtc2l6ZSBhbmQgbWFyZ2luIHdpdGhpbiBgc2VjdGlvbmAgYW5kIGBhcnRpY2xlYFxuICogY29udGV4dHMgaW4gRmlyZWZveCA0KywgU2FmYXJpIDUsIGFuZCBDaHJvbWUuXG4gKi9cblxuaDEge1xuICAgIGZvbnQtc2l6ZTogMmVtO1xuICAgIG1hcmdpbjogMDtcbn1cblxuLyoqXG4gKiBBZGRyZXNzIHN0eWxpbmcgbm90IHByZXNlbnQgaW4gSUUgOC85LCBTYWZhcmkgNSwgYW5kIENocm9tZS5cbiAqL1xuXG5hYmJyW3RpdGxlXSB7XG4gICAgYm9yZGVyLWJvdHRvbTogMXB4IGRvdHRlZDtcbn1cblxuLyoqXG4gKiBBZGRyZXNzIHN0eWxlIHNldCB0byBgYm9sZGVyYCBpbiBGaXJlZm94IDQrLCBTYWZhcmkgNSwgYW5kIENocm9tZS5cbiAqL1xuXG5iLFxuc3Ryb25nIHtcbiAgICBmb250LXdlaWdodDogYm9sZDtcbn1cblxuLyoqXG4gKiBBZGRyZXNzIHN0eWxpbmcgbm90IHByZXNlbnQgaW4gU2FmYXJpIDUgYW5kIENocm9tZS5cbiAqL1xuXG5kZm4ge1xuICAgIGZvbnQtc3R5bGU6IGl0YWxpYztcbn1cblxuLyoqXG4gKiBBZGRyZXNzIGRpZmZlcmVuY2VzIGJldHdlZW4gRmlyZWZveCBhbmQgb3RoZXIgYnJvd3NlcnMuXG4gKi9cblxuaHIge1xuICAgIC1tb3otYm94LXNpemluZzogY29udGVudC1ib3g7XG4gICAgYm94LXNpemluZzogY29udGVudC1ib3g7XG4gICAgaGVpZ2h0OiAwO1xufVxuXG4vKipcbiAqIEFkZHJlc3Mgc3R5bGluZyBub3QgcHJlc2VudCBpbiBJRSA4LzkuXG4gKi9cblxubWFyayB7XG4gICAgYmFja2dyb3VuZDogI2ZmMDtcbiAgICBjb2xvcjogIzAwMDtcbn1cblxuLyoqXG4gKiBDb3JyZWN0IGZvbnQgZmFtaWx5IHNldCBvZGRseSBpbiBTYWZhcmkgNSBhbmQgQ2hyb21lLlxuICovXG5cbmNvZGUsXG5rYmQsXG5wcmUsXG5zYW1wIHtcbiAgICBmb250LWZhbWlseTogbW9ub3NwYWNlLCBzZXJpZjtcbiAgICBmb250LXNpemU6IDFlbTtcbn1cblxuLyoqXG4gKiBJbXByb3ZlIHJlYWRhYmlsaXR5IG9mIHByZS1mb3JtYXR0ZWQgdGV4dCBpbiBhbGwgYnJvd3NlcnMuXG4gKi9cblxucHJlIHtcbiAgICB3aGl0ZS1zcGFjZTogcHJlLXdyYXA7XG59XG5cbi8qKlxuICogU2V0IGNvbnNpc3RlbnQgcXVvdGUgdHlwZXMuXG4gKi9cblxucSB7XG4gICAgcXVvdGVzOiBcIlxcMjAxQ1wiIFwiXFwyMDFEXCIgXCJcXDIwMThcIiBcIlxcMjAxOVwiO1xufVxuXG4vKipcbiAqIEFkZHJlc3MgaW5jb25zaXN0ZW50IGFuZCB2YXJpYWJsZSBmb250IHNpemUgaW4gYWxsIGJyb3dzZXJzLlxuICovXG5cbnNtYWxsIHtcbiAgICBmb250LXNpemU6IDgwJTtcbn1cblxuLyoqXG4gKiBQcmV2ZW50IGBzdWJgIGFuZCBgc3VwYCBhZmZlY3RpbmcgYGxpbmUtaGVpZ2h0YCBpbiBhbGwgYnJvd3NlcnMuXG4gKi9cblxuc3ViLFxuc3VwIHtcbiAgICBmb250LXNpemU6IDc1JTtcbiAgICBsaW5lLWhlaWdodDogMDtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgdmVydGljYWwtYWxpZ246IGJhc2VsaW5lO1xufVxuXG5zdXAge1xuICAgIHRvcDogLTAuNWVtO1xufVxuXG5zdWIge1xuICAgIGJvdHRvbTogLTAuMjVlbTtcbn1cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIEVtYmVkZGVkIGNvbnRlbnRcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qKlxuICogUmVtb3ZlIGJvcmRlciB3aGVuIGluc2lkZSBgYWAgZWxlbWVudCBpbiBJRSA4LzkuXG4gKi9cblxuaW1nIHtcbiAgICBib3JkZXI6IDA7XG59XG5cbi8qKlxuICogQ29ycmVjdCBvdmVyZmxvdyBkaXNwbGF5ZWQgb2RkbHkgaW4gSUUgOS5cbiAqL1xuXG5zdmc6bm90KDpyb290KSB7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbn1cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIEZpZ3VyZXNcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qKlxuICogQWRkcmVzcyBtYXJnaW4gbm90IHByZXNlbnQgaW4gSUUgOC85IGFuZCBTYWZhcmkgNS5cbiAqL1xuXG5maWd1cmUge1xuICAgIG1hcmdpbjogMDtcbn1cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIEZvcm1zXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKipcbiAqIERlZmluZSBjb25zaXN0ZW50IGJvcmRlciwgbWFyZ2luLCBhbmQgcGFkZGluZy5cbiAqL1xuXG5maWVsZHNldCB7XG4gICAgYm9yZGVyOiAxcHggc29saWQgI2MwYzBjMDtcbiAgICBtYXJnaW46IDAgMnB4O1xuICAgIHBhZGRpbmc6IDAuMzVlbSAwLjYyNWVtIDAuNzVlbTtcbn1cblxuLyoqXG4gKiAxLiBDb3JyZWN0IGBjb2xvcmAgbm90IGJlaW5nIGluaGVyaXRlZCBpbiBJRSA4LzkuXG4gKiAyLiBSZW1vdmUgcGFkZGluZyBzbyBwZW9wbGUgYXJlbid0IGNhdWdodCBvdXQgaWYgdGhleSB6ZXJvIG91dCBmaWVsZHNldHMuXG4gKi9cblxubGVnZW5kIHtcbiAgICBib3JkZXI6IDA7IC8qIDEgKi9cbiAgICBwYWRkaW5nOiAwOyAvKiAyICovXG59XG5cbi8qKlxuICogMS4gQ29ycmVjdCBmb250IGZhbWlseSBub3QgYmVpbmcgaW5oZXJpdGVkIGluIGFsbCBicm93c2Vycy5cbiAqIDIuIENvcnJlY3QgZm9udCBzaXplIG5vdCBiZWluZyBpbmhlcml0ZWQgaW4gYWxsIGJyb3dzZXJzLlxuICogMy4gQWRkcmVzcyBtYXJnaW5zIHNldCBkaWZmZXJlbnRseSBpbiBGaXJlZm94IDQrLCBTYWZhcmkgNSwgYW5kIENocm9tZS5cbiAqL1xuXG5idXR0b24sXG5pbnB1dCxcbnNlbGVjdCxcbnRleHRhcmVhIHtcbiAgICBmb250LWZhbWlseTogaW5oZXJpdDsgLyogMSAqL1xuICAgIGZvbnQtc2l6ZTogMTAwJTsgLyogMiAqL1xuICAgIG1hcmdpbjogMDsgLyogMyAqL1xufVxuXG4vKipcbiAqIEFkZHJlc3MgRmlyZWZveCA0KyBzZXR0aW5nIGBsaW5lLWhlaWdodGAgb24gYGlucHV0YCB1c2luZyBgIWltcG9ydGFudGAgaW5cbiAqIHRoZSBVQSBzdHlsZXNoZWV0LlxuICovXG5cbmJ1dHRvbixcbmlucHV0IHtcbiAgICBsaW5lLWhlaWdodDogbm9ybWFsO1xufVxuXG4vKipcbiAqIEFkZHJlc3MgaW5jb25zaXN0ZW50IGB0ZXh0LXRyYW5zZm9ybWAgaW5oZXJpdGFuY2UgZm9yIGBidXR0b25gIGFuZCBgc2VsZWN0YC5cbiAqIEFsbCBvdGhlciBmb3JtIGNvbnRyb2wgZWxlbWVudHMgZG8gbm90IGluaGVyaXQgYHRleHQtdHJhbnNmb3JtYCB2YWx1ZXMuXG4gKiBDb3JyZWN0IGBidXR0b25gIHN0eWxlIGluaGVyaXRhbmNlIGluIENocm9tZSwgU2FmYXJpIDUrLCBhbmQgSUUgOCsuXG4gKiBDb3JyZWN0IGBzZWxlY3RgIHN0eWxlIGluaGVyaXRhbmNlIGluIEZpcmVmb3ggNCsgYW5kIE9wZXJhLlxuICovXG5cbmJ1dHRvbixcbnNlbGVjdCB7XG4gICAgdGV4dC10cmFuc2Zvcm06IG5vbmU7XG59XG5cbi8qKlxuICogMS4gQXZvaWQgdGhlIFdlYktpdCBidWcgaW4gQW5kcm9pZCA0LjAuKiB3aGVyZSAoMikgZGVzdHJveXMgbmF0aXZlIGBhdWRpb2BcbiAqICAgIGFuZCBgdmlkZW9gIGNvbnRyb2xzLlxuICogMi4gQ29ycmVjdCBpbmFiaWxpdHkgdG8gc3R5bGUgY2xpY2thYmxlIGBpbnB1dGAgdHlwZXMgaW4gaU9TLlxuICogMy4gSW1wcm92ZSB1c2FiaWxpdHkgYW5kIGNvbnNpc3RlbmN5IG9mIGN1cnNvciBzdHlsZSBiZXR3ZWVuIGltYWdlLXR5cGVcbiAqICAgIGBpbnB1dGAgYW5kIG90aGVycy5cbiAqL1xuXG5idXR0b24sXG5odG1sIGlucHV0W3R5cGU9XCJidXR0b25cIl0sIC8qIDEgKi9cbmlucHV0W3R5cGU9XCJyZXNldFwiXSxcbmlucHV0W3R5cGU9XCJzdWJtaXRcIl0ge1xuICAgIC13ZWJraXQtYXBwZWFyYW5jZTogYnV0dG9uOyAvKiAyICovXG4gICAgY3Vyc29yOiBwb2ludGVyOyAvKiAzICovXG59XG5cbi8qKlxuICogUmUtc2V0IGRlZmF1bHQgY3Vyc29yIGZvciBkaXNhYmxlZCBlbGVtZW50cy5cbiAqL1xuXG5idXR0b25bZGlzYWJsZWRdLFxuaHRtbCBpbnB1dFtkaXNhYmxlZF0ge1xuICAgIGN1cnNvcjogZGVmYXVsdDtcbn1cblxuLyoqXG4gKiAxLiBBZGRyZXNzIGJveCBzaXppbmcgc2V0IHRvIGBjb250ZW50LWJveGAgaW4gSUUgOC85LlxuICogMi4gUmVtb3ZlIGV4Y2VzcyBwYWRkaW5nIGluIElFIDgvOS5cbiAqL1xuXG5pbnB1dFt0eXBlPVwiY2hlY2tib3hcIl0sXG5pbnB1dFt0eXBlPVwicmFkaW9cIl0ge1xuICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7IC8qIDEgKi9cbiAgICBwYWRkaW5nOiAwOyAvKiAyICovXG59XG5cbi8qKlxuICogMS4gQWRkcmVzcyBgYXBwZWFyYW5jZWAgc2V0IHRvIGBzZWFyY2hmaWVsZGAgaW4gU2FmYXJpIDUgYW5kIENocm9tZS5cbiAqIDIuIEFkZHJlc3MgYGJveC1zaXppbmdgIHNldCB0byBgYm9yZGVyLWJveGAgaW4gU2FmYXJpIDUgYW5kIENocm9tZVxuICogICAgKGluY2x1ZGUgYC1tb3pgIHRvIGZ1dHVyZS1wcm9vZikuXG4gKi9cblxuaW5wdXRbdHlwZT1cInNlYXJjaFwiXSB7XG4gICAgLXdlYmtpdC1hcHBlYXJhbmNlOiB0ZXh0ZmllbGQ7IC8qIDEgKi9cbiAgICAtbW96LWJveC1zaXppbmc6IGNvbnRlbnQtYm94O1xuICAgIC13ZWJraXQtYm94LXNpemluZzogY29udGVudC1ib3g7IC8qIDIgKi9cbiAgICBib3gtc2l6aW5nOiBjb250ZW50LWJveDtcbn1cblxuLyoqXG4gKiBSZW1vdmUgaW5uZXIgcGFkZGluZyBhbmQgc2VhcmNoIGNhbmNlbCBidXR0b24gaW4gU2FmYXJpIDUgYW5kIENocm9tZVxuICogb24gT1MgWC5cbiAqL1xuXG5pbnB1dFt0eXBlPVwic2VhcmNoXCJdOjotd2Via2l0LXNlYXJjaC1jYW5jZWwtYnV0dG9uLFxuaW5wdXRbdHlwZT1cInNlYXJjaFwiXTo6LXdlYmtpdC1zZWFyY2gtZGVjb3JhdGlvbiB7XG4gICAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lO1xufVxuXG4vKipcbiAqIFJlbW92ZSBpbm5lciBwYWRkaW5nIGFuZCBib3JkZXIgaW4gRmlyZWZveCA0Ky5cbiAqL1xuXG5idXR0b246Oi1tb3otZm9jdXMtaW5uZXIsXG5pbnB1dDo6LW1vei1mb2N1cy1pbm5lciB7XG4gICAgYm9yZGVyOiAwO1xuICAgIHBhZGRpbmc6IDA7XG59XG5cbi8qKlxuICogMS4gUmVtb3ZlIGRlZmF1bHQgdmVydGljYWwgc2Nyb2xsYmFyIGluIElFIDgvOS5cbiAqIDIuIEltcHJvdmUgcmVhZGFiaWxpdHkgYW5kIGFsaWdubWVudCBpbiBhbGwgYnJvd3NlcnMuXG4gKi9cblxudGV4dGFyZWEge1xuICAgIG92ZXJmbG93OiBhdXRvOyAvKiAxICovXG4gICAgdmVydGljYWwtYWxpZ246IHRvcDsgLyogMiAqL1xufVxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgVGFibGVzXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKipcbiAqIFJlbW92ZSBtb3N0IHNwYWNpbmcgYmV0d2VlbiB0YWJsZSBjZWxscy5cbiAqL1xuXG50YWJsZSB7XG4gICAgYm9yZGVyLWNvbGxhcHNlOiBjb2xsYXBzZTtcbiAgICBib3JkZXItc3BhY2luZzogMDtcbn1cbiIsIi8vICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbi8vXG4vLyAgR2xvYmFsc1xuLy8gICAtPiBVbml2ZXJzYWwgbWFyZ2lucy9wYWRkaW5nLCBib3JkZXItYm94LCBjbGVhcmZpeFxuLy9cbi8vICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcblxuXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4vLyAgIEdsb2JhbCBTZXR0aW5nc1xuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4qIHtcbiAgbWFyZ2luOiAwIDAgMCAwO1xuICBwYWRkaW5nOiAwO1xufVxuXG4qLFxuKjphZnRlcixcbio6OmJlZm9yZSB7XG4gICAgLXdlYmtpdC1ib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgIC1tb3otYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xufVxuXG5AbWl4aW4gY2xlYXIge1xuICAmOmFmdGVye1xuICAgIGNsZWFyOiBib3RoO1xuICAgICAgY29udGVudDogXCJcIjtcbiAgICAgIGRpc3BsYXk6IHRhYmxlO1xuICAgICAgem9vbSA6IDE7XG4gIH1cbiAgJjpiZWZvcmV7XG4gICAgY2xlYXI6IGJvdGg7XG4gICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgZGlzcGxheTogdGFibGU7XG4gICAgICB6b29tIDogMTtcbiAgfVxufVxuXG5odG1sLFxuYm9keXtcbiAgaGVpZ2h0OiAxMDAlO1xufVxuXG5ib2R5IHtcbiAgb3ZlcmZsb3cteDogaGlkZGVuO1xufVxuXG4qOmZvY3VzIHtcbiAgICBvdXRsaW5lOiBub25lO1xufVxuXG50ZXh0YXJlYSxcbmlucHV0W3R5cGU9XCJ0ZXh0XCJdLFxuaW5wdXRbdHlwZT1cIm51bWJlclwiXSxcbmlucHV0W3R5cGU9XCJlbWFpbFwiXSB7XG4gIC13ZWJraXQtYXBwZWFyYW5jZTogbm9uZTtcbiAgYm9yZGVyLXJhZGl1czogMDtcbn1cblxuaW5wdXRbdHlwZT1cImJ1dHRvblwiXSxcbmlucHV0W3R5cGU9XCJzdWJtaXRcIl0ge1xuICAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7XG59XG5cbi8vwqBwcmV2ZW50IHNsaWRlciBidXR0b25zIG1vdmUgd2hlbiBjbGlja2VkIGluIElFXG5idXR0b246YWN0aXZlOmJlZm9yZSwgYnV0dG9uOmZvY3VzOmJlZm9yZSB7XG4gICAgcG9zaXRpb246cmVsYXRpdmU7XG4gICAgdG9wOiAwO1xuICAgIGxlZnQ6IDA7XG59XG5cbiRib3JkZXItYm94LXNpemluZzogdHJ1ZSAhZGVmYXVsdDtcbiIsIi8vICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbi8vXG4vLyAgSGVscGVyc1xuLy8gIC0+IEV4dGVuZHMsIEZ1bmN0aW9ucywgTWl4aW5zLCBBbmltYXRpb25zLCBHcmlkIENsYXNzZXNcbi8vXG4vLyAgLS0tIEVkaXQgdGhlIGZvbGxvd2luZyBvbiB0aGlzIHNoZWV0OiAtLS0gLy9cbi8vXG4vLyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG5cbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbi8vICBFeHRlbmRzXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cblxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuLy8gIEZ1bmN0aW9uc1xuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuQGZ1bmN0aW9uIHN0cmlwLXVuaXRzKCRudW1iZXIpIHtcbiAgQHJldHVybiAkbnVtYmVyIC8gKCRudW1iZXIgKiAwICsgMSk7XG59XG5cbkBmdW5jdGlvbiBhZGQtcmVtLXVuaXRzKCRzdHJpcHBlZC1udW1iZXIpIHtcbiAgQHJldHVybiAkc3RyaXBwZWQtbnVtYmVyICogKDFyZW0pO1xufVxuXG4vLyAtLS0gUkVNLWVyaXplIEFsbCBUaGUgVGhpbmdzIC0tLSAvL1xuLy8gU3BlY2lmeSByZW1zIGluIHB4IGFtb3VudHMgZnJvbSBjb21wc1xuXG4kYmFzZS1mb250LXNpemU6IDE2cHg7XG4kcmVtOiAoMSAvIHN0cmlwLXVuaXRzKCRiYXNlLWZvbnQtc2l6ZSkpO1xuXG5AbWl4aW4gbnVtKCRlbGVtZW50LCAkYW1vdW50KXtcbi8vICBAaW5jbHVkZSByZW0oJGVsZW1lbnQsIGFkZC1yZW0tdW5pdHMoJHJlbSkqJGFtb3VudCk7XG59XG5cblxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuLy8gIE1peGluc1xuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4vLyBTdHJ1Y3R1cmFsIE1peGluc1xuQG1peGluIGFic29sdXRlLXNpemUge1xuICAgIGJvdHRvbTogMDtcbiAgICBsZWZ0OiAwO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICByaWdodDogMDtcbiAgICB0b3A6IDA7XG59XG5cbi8vIENvcnJlc3BvbmRpbmcgQ2xhc3NcblxuQG1peGluIGltZy1nbGlkZSB7XG4gIG1heC13aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiBhdXRvO1xufVxuXG5cbkBtaXhpbiBpbWctZmlsbCB7XG4gIG1pbi13aWR0aDogMTAwJTtcbiAgbWluLWhlaWdodDogMTAwJTtcbn1cblxuLy9EaWZmZXJlbnQgQWxpZ25zXG5AbWl4aW4gY2VudGVyLWhvcml6KCkge1xuICBkaXNwbGF5OiBibG9jaztcbiAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gIG1hcmdpbi1yaWdodDogYXV0bztcbn1cblxuQG1peGluIGNlbnRlci12ZXJ0aWNhbGx5KCkge1xuICBkaXNwbGF5OiB0YWJsZS1jZWxsO1xuICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xufVxuXG4vLyBBIHF1aWNrIG4gZGlydHkgcmVzcG9uc2l2ZSBpbWFnZSBmYWxsYmFja1xuaW1nIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIG1heC13aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiBhdXRvO1xufVxuXG4vLyBOZWVkIGEgcXVpY2sgd2lkdGggYW5kIGhlaWdodCBpbiByZW1zP1xuQG1peGluIHdoLXNpemluZygkd2lkdGgsICRoZWlnaHQpIHtcbiAgQGluY2x1ZGUgbnVtKHdpZHRoLCAkd2lkdGgpO1xuICBAaW5jbHVkZSBudW0oaGVpZ2h0LCAkaGVpZ2h0KTtcbn1cblxuLy8gUGxhY2Vob2xkZXIgZm9ybXNcbkBtaXhpbiBpbnB1dC1wbGFjZWhvbGRlciB7XG4gICAgJi5wbGFjZWhvbGRlciB7IEBjb250ZW50OyB9XG4gICAgJjotbW96LXBsYWNlaG9sZGVyIHsgQGNvbnRlbnQ7IH1cbiAgICAmOjotbW96LXBsYWNlaG9sZGVyIHsgQGNvbnRlbnQ7IH1cbiAgICAmOi1tcy1pbnB1dC1wbGFjZWhvbGRlciB7IEBjb250ZW50OyB9XG4gICAgJjo6LXdlYmtpdC1pbnB1dC1wbGFjZWhvbGRlciB7IEBjb250ZW50OyB9XG59XG5cbi8vIFN0eWxpc3RpYyBNaXhpbnNcbkBtaXhpbiBiYWNrZ3JvdW5kLWNvdmVyIHtcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXI7XG4gICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgICBiYWNrZ3JvdW5kLXNpemU6IGNvdmVyO1xufVxuXG5AbWl4aW4gYmFja2dyb3VuZCgkYmdjb2xvciwgJGltZzokYmdjb2xvciwgJGJncG9zaXRpb246JGJnY29sb3IpIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogJGJnY29sb3I7XG4gIGJhY2tncm91bmQtaW1hZ2U6ICRpbWc7XG4gIGJhY2tncm91bmQtcG9zaXRpb246ICRiZ3Bvc2l0aW9uO1xufVxuXG4vLyBUcmlhbmdsZXNcbkBtaXhpbiB0cmlhbmdsZSgkc2l6ZSwgJHBvaW50LCAkY29sb3IsICRwb3NpdGlvbjogYmVmb3JlKSB7XG5cbiAgQGlmICRwb3NpdGlvbiAhPSBcImJlZm9yZVwiIHsgLy8gdGVzdCB3aGV0aGVyIHBvc2l0aW9uIHdhcyBvdmVycmlkZGVuXG4gICAgJHBvc2l0aW9uIDogYWZ0ZXI7ICAgICAgICAvLyBpZiBzbywgZW5zdXJlIGl0J3MgYSB2YWxpZCBwc2V1ZG9jbGFzc1xuICB9XG5cbiAgJjojeyRwb3NpdGlvbn0ge1xuICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgd2lkdGg6IDA7XG4gICAgaGVpZ2h0OiAwO1xuICAgIGJvcmRlci1zdHlsZTogc29saWQ7XG4gICAgLy8gc3BlY2lmaWMgdHJpYW5nbGUgc3R5bGVzIGZvciBtZW51IGljb25cbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgLy8gZW5kIHNwZWNpZmljIHN0eWxlc1xuXG4gICAgQGlmICRwb2ludCA9PSBcInVwXCIge1xuICAgICAgYm9yZGVyLWxlZnQtd2lkdGg6ICRzaXplO1xuICAgICAgYm9yZGVyLWxlZnQtY29sb3I6IHRyYW5zcGFyZW50O1xuXG4gICAgICBib3JkZXItcmlnaHQtd2lkdGg6ICRzaXplO1xuICAgICAgYm9yZGVyLXJpZ2h0LWNvbG9yOiB0cmFuc3BhcmVudDtcblxuICAgICAgYm9yZGVyLWJvdHRvbS13aWR0aDogJHNpemU7XG4gICAgICBib3JkZXItYm90dG9tLWNvbG9yOiAkY29sb3I7XG5cbiAgICAgIGJvcmRlci10b3A6IG5vbmU7XG4gICAgfVxuXG4gICAgQGlmICRwb2ludCA9PSBcInJpZ2h0XCIge1xuICAgICAgYm9yZGVyLXRvcC13aWR0aDogJHNpemU7XG4gICAgICBib3JkZXItdG9wLWNvbG9yOiB0cmFuc3BhcmVudDtcblxuICAgICAgYm9yZGVyLWJvdHRvbS13aWR0aDogJHNpemU7XG4gICAgICBib3JkZXItYm90dG9tLWNvbG9yOiB0cmFuc3BhcmVudDtcblxuICAgICAgYm9yZGVyLWxlZnQtd2lkdGg6ICRzaXplO1xuICAgICAgYm9yZGVyLWxlZnQtY29sb3I6ICRjb2xvcjtcblxuICAgICAgYm9yZGVyLXJpZ2h0OiBub25lO1xuICAgIH1cblxuICAgIEBlbHNlIGlmICRwb2ludCA9PSBcImRvd25cIiB7XG4gICAgICBib3JkZXItbGVmdC13aWR0aDogJHNpemU7XG4gICAgICBib3JkZXItbGVmdC1jb2xvcjogdHJhbnNwYXJlbnQ7XG5cbiAgICAgIGJvcmRlci1yaWdodC13aWR0aDogJHNpemU7XG4gICAgICBib3JkZXItcmlnaHQtY29sb3I6IHRyYW5zcGFyZW50O1xuXG4gICAgICBib3JkZXItdG9wLXdpZHRoOiAkc2l6ZTtcbiAgICAgIGJvcmRlci10b3AtY29sb3I6ICRjb2xvcjtcblxuICAgICAgYm9yZGVyLWJvdHRvbTogbm9uZTtcbiAgICB9XG4gICAgQGVsc2UgaWYgJHBvaW50ID09IFwibGVmdFwiIHtcbiAgICAgIGJvcmRlci10b3Atd2lkdGg6ICRzaXplO1xuICAgICAgYm9yZGVyLXRvcC1jb2xvcjogdHJhbnNwYXJlbnQ7XG5cbiAgICAgIGJvcmRlci1ib3R0b20td2lkdGg6ICRzaXplO1xuICAgICAgYm9yZGVyLWJvdHRvbS1jb2xvcjogdHJhbnNwYXJlbnQ7XG5cbiAgICAgIGJvcmRlci1yaWdodC13aWR0aDogJHNpemU7XG4gICAgICBib3JkZXItcmlnaHQtY29sb3I6ICRjb2xvcjtcblxuICAgICAgYm9yZGVyLWxlZnQ6IG5vbmU7XG4gICAgfVxuXG4gICAgLy8gU2tld3NcbiAgICBAaWYgJHBvaW50ID09IFwidXAtc2tld1wiIHtcbiAgICAgIGJvcmRlci1sZWZ0LXdpZHRoOiAoJHNpemUgKiAwLjYpO1xuICAgICAgYm9yZGVyLWxlZnQtY29sb3I6IHRyYW5zcGFyZW50O1xuXG4gICAgICBib3JkZXItcmlnaHQtd2lkdGg6ICgkc2l6ZSAqIDAuNik7XG4gICAgICBib3JkZXItcmlnaHQtY29sb3I6IHRyYW5zcGFyZW50O1xuXG4gICAgICBib3JkZXItYm90dG9tLXdpZHRoOiAkc2l6ZTtcbiAgICAgIGJvcmRlci1ib3R0b20tY29sb3I6ICRjb2xvcjtcblxuICAgICAgYm9yZGVyLXRvcDogbm9uZTtcbiAgICB9XG5cbiAgICBAaWYgJHBvaW50ID09IFwicmlnaHQtc2tld1wiIHtcbiAgICAgIGJvcmRlci10b3Atd2lkdGg6ICgkc2l6ZSAqIDAuNik7XG4gICAgICBib3JkZXItdG9wLWNvbG9yOiB0cmFuc3BhcmVudDtcblxuICAgICAgYm9yZGVyLWJvdHRvbS13aWR0aDogKCRzaXplICogMC42KTtcbiAgICAgIGJvcmRlci1ib3R0b20tY29sb3I6IHRyYW5zcGFyZW50O1xuXG4gICAgICBib3JkZXItbGVmdC13aWR0aDogJHNpemU7XG4gICAgICBib3JkZXItbGVmdC1jb2xvcjogJGNvbG9yO1xuXG4gICAgICBib3JkZXItcmlnaHQ6IG5vbmU7XG4gICAgfVxuXG4gICAgQGVsc2UgaWYgJHBvaW50ID09IFwiZG93bi1za2V3XCIge1xuICAgICAgYm9yZGVyLWxlZnQtd2lkdGg6ICgkc2l6ZSAqIDAuNik7XG4gICAgICBib3JkZXItbGVmdC1jb2xvcjogdHJhbnNwYXJlbnQ7XG5cbiAgICAgIGJvcmRlci1yaWdodC13aWR0aDogKCRzaXplICogMC42KTtcbiAgICAgIGJvcmRlci1yaWdodC1jb2xvcjogdHJhbnNwYXJlbnQ7XG5cbiAgICAgIGJvcmRlci10b3Atd2lkdGg6ICRzaXplO1xuICAgICAgYm9yZGVyLXRvcC1jb2xvcjogJGNvbG9yO1xuXG4gICAgICBib3JkZXItYm90dG9tOiBub25lO1xuICAgIH1cbiAgICBAZWxzZSBpZiAkcG9pbnQgPT0gXCJsZWZ0LXNrZXdcIiB7XG4gICAgICBib3JkZXItdG9wLXdpZHRoOiAoJHNpemUgKiAwLjYpO1xuICAgICAgYm9yZGVyLXRvcC1jb2xvcjogdHJhbnNwYXJlbnQ7XG5cbiAgICAgIGJvcmRlci1ib3R0b20td2lkdGg6ICgkc2l6ZSAqIDAuNik7XG4gICAgICBib3JkZXItYm90dG9tLWNvbG9yOiB0cmFuc3BhcmVudDtcblxuICAgICAgYm9yZGVyLXJpZ2h0LXdpZHRoOiAkc2l6ZTtcbiAgICAgIGJvcmRlci1yaWdodC1jb2xvcjogJGNvbG9yO1xuXG4gICAgICBib3JkZXItbGVmdDogbm9uZTtcbiAgICB9XG4gIH1cbn1cblxuLy8gQXMgYW4gZXhhbXBsZTpcbi8vIGNvbG9yOiBzaGlmdCgkZ3JheSwgNSk7XG4vLy8vIHdpbGwgZGFya2VuICRncmF5IDUlXG5cbi8vIGNvbG9yOiBzaGlmdCgkZ3JheSwgLTUpO1xuLy8vLyB3aWxsIGxpZ2h0ZW4gZ3JheSA1JVxuXG5AZnVuY3Rpb24gc2hpZnQoJGNvbG9yLCAkYW1vdW50KXtcbiAgQGlmICRhbW91bnQgPCAwIHtcbiAgICAkYW1vdW50IDogJGFtb3VudCAqIC0xO1xuICAgICRuZXctY29sb3IgOiBsaWdodGVuKCRjb2xvciwgJGFtb3VudCk7XG4gIH0gQGVsc2Uge1xuICAgICRuZXctY29sb3I6IGRhcmtlbigkY29sb3IsICRhbW91bnQpO1xuICB9XG5cbiAgQHJldHVybiAkbmV3LWNvbG9yO1xufVxuXG5cblxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuLy8gIEFuaW1hdGlvbnNcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuXG5cbi8vIFVzZSB0aGlzIGN1c3RvbSB3aWR0aCBtaXhpbiBpZiB5b3UgbmVlZCB0b1xuLy8gYnJlYWsgb3V0IG9mIHRoZSB0cmFkaXRpb25hbCBTdXN5IGdyaWRcblxuQG1peGluIGN1c3RvbV93aWR0aCgkd2lkdGgsICRmbG9hdCwgJG1hcmdpbi1yaWdodCkge1xuICBAaW5jbHVkZSByZW0od2lkdGgsICR3aWR0aCk7XG4gIGZsb2F0OiRmbG9hdDtcbiAgQGluY2x1ZGUgcmVtKG1hcmdpbi1yaWdodCwgJG1hcmdpbi1yaWdodCk7XG59XG4iLCIvLyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4vL1xuLy8gICBCYXNlXG4vLyAgIC0+IEJhc2UtbGV2ZWwgdGFncyAoYm9keSwgaCwgcCwgZXRjLilcbi8vXG4vLyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG5cbiRJY29uczogXCJJY29uc1wiLCBzYW5zLXNlcmlmO1xuXG4kYmFzZS1mb250LXNpemU6IDE2cHg7XG4kYmFzZS1saW5lLWhlaWdodDogMjRweDtcblxuaHRtbCB7XG5cdGZvbnQtc2l6ZTogJGJhc2UtZm9udC1zaXplO1xuXHRsaW5lLWhlaWdodDogJGJhc2UtbGluZS1oZWlnaHQ7XG59XG5cbmJvZHkge1xuXHRmb250LXNpemU6IDEwMCU7XG5cdC13ZWJraXQtZm9udC1zbW9vdGhpbmc6IGFudGlhbGlhc2VkO1xuICAgIC1tb3otb3N4LWZvbnQtc21vb3RoaW5nOiBncmF5c2NhbGU7XG4gICAgYmFja2dyb3VuZDogJHdoaXRlO1xuICAgIGZvbnQtZmFtaWx5OiBcInByb3hpbWEtbm92YVwiLHNhbnMtc2VyaWY7XG4gICAgZm9udC13ZWlnaHQ6IDQwMDtcbn1cblxuLy8gc2l6ZSwgdHJhY2tpbmcsIHRyYW5zZm9ybVxuQG1peGluIGZvbnQgKCRzaXplLCAkbHMsICR0cmFucykge1xuXHR0ZXh0LXRyYW5zZm9ybTogJHRyYW5zO1xuXHRsZXR0ZXItc3BhY2luZzogJGxzICogLjAwMWVtO1xuXG5cdGZvbnQtc2l6ZTogJHNpemUgKiAuNjVweDtcblx0bGluZS1oZWlnaHQ6ICRzaXplICogLjY1cHggICsgMTBweDtcblxuXHRAaW5jbHVkZSBtZWRpYSgkdGFibGV0KSB7XG5cdFx0Zm9udC1zaXplOiAkc2l6ZSAqIC44MHB4O1xuXHRcdGxpbmUtaGVpZ2h0OiAkc2l6ZSAqIC44MHB4ICsgMTBweDtcblx0fVxuXG5cdEBpbmNsdWRlIG1lZGlhKCRkZXNrdG9wKSB7XG5cdFx0Zm9udC1zaXplOiAkc2l6ZSAqIC44NXB4O1xuXHRcdGxpbmUtaGVpZ2h0OiAkc2l6ZSAqIC44NXB4ICsgMTBweDtcblx0fVxuXG5cdEBpbmNsdWRlIG1lZGlhKCRodWdlKSB7XG5cdFx0Zm9udC1zaXplOiAkc2l6ZSAqIDFweDtcblx0XHRsaW5lLWhlaWdodDogJHNpemUgKyAxMHB4O1xuXHR9XG59XG5cbkBtaXhpbiBoZWFkLWZvbnQgKCRzaXplLCAkbHMsICR0cmFucykge1xuXHR0ZXh0LXRyYW5zZm9ybTogJHRyYW5zO1xuXHRsZXR0ZXItc3BhY2luZzogJGxzICogLjAwMWVtO1xuXG5cdGZvbnQtc2l6ZTogJHNpemUgKiAuNTVweDtcblx0bGluZS1oZWlnaHQ6ICRzaXplICogLjU1cHggICsgMTBweDtcblxuXHRAaW5jbHVkZSBtZWRpYSgkdGFibGV0KSB7XG5cdFx0Zm9udC1zaXplOiAkc2l6ZSAqIC43MHB4O1xuXHRcdGxpbmUtaGVpZ2h0OiAkc2l6ZSAqIC43MHB4ICsgMTBweDtcblx0fVxuXG5cdEBpbmNsdWRlIG1lZGlhKCRkZXNrdG9wKSB7XG5cdFx0Zm9udC1zaXplOiAkc2l6ZSAqIDAuODVweDtcblx0XHRsaW5lLWhlaWdodDogJHNpemUgKiAwLjg1cHggKyAxMHB4O1xuXHR9XG5cblx0QGluY2x1ZGUgbWVkaWEoJGh1Z2UpIHtcblx0XHRmb250LXNpemU6ICRzaXplICogMXB4O1xuXHRcdGxpbmUtaGVpZ2h0OiAkc2l6ZSArIDEwcHg7XG5cdH1cbn1cblxuQG1peGluIHBhcmFncmFwaC1mb250ICgkc2l6ZSwgJGxzLCAkdHJhbnMpIHtcblx0dGV4dC10cmFuc2Zvcm06ICR0cmFucztcblx0bGV0dGVyLXNwYWNpbmc6ICRscyAqIC4wMDFlbTtcblxuXHRmb250LXNpemU6ICRzaXplICogLjc1cHg7XG5cdGxpbmUtaGVpZ2h0OiAkc2l6ZSAqIC43NXB4ICsgMTBweDs7XG5cblx0QGluY2x1ZGUgbWVkaWEoJHRhYmxldCkge1xuXHRcdGZvbnQtc2l6ZTogJHNpemUgKiAuODVweDtcblx0XHRsaW5lLWhlaWdodDogJHNpemUgKiAuODVweCArIDEwcHg7XG5cdH1cblxuXHRAaW5jbHVkZSBtZWRpYSgkZGVza3RvcCkge1xuXHRcdGZvbnQtc2l6ZTogJHNpemUgKiAuOXB4O1xuXHRcdGxpbmUtaGVpZ2h0OiAkc2l6ZSAqIC45cHggKyAxMHB4O1xuXHR9XG5cblx0QGluY2x1ZGUgbWVkaWEoJGh1Z2UpIHtcblx0XHRmb250LXNpemU6ICRzaXplICogMXB4O1xuXHRcdGxpbmUtaGVpZ2h0OiAkc2l6ZSAqIDFweCArIDEwcHg7XG5cdH1cbn1cblxuQG1peGluIGRlZmF1bHQtc3BhY2luZyAoKSB7XG5cdG1hcmdpbi1ib3R0b206IDEwcHg7XG5cblx0QGluY2x1ZGUgbWVkaWEoJHRhYmxldCkge1xuXHRcdG1hcmdpbi1ib3R0b206IDE1cHg7XG5cdH1cblxuXHRAaW5jbHVkZSBtZWRpYSgkZGVza3RvcCkge1xuXHRcdG1hcmdpbi1ib3R0b206IDEwcHg7XG5cdH1cblxuXHRAaW5jbHVkZSBtZWRpYSgkaHVnZSkge1xuXHRcdG1hcmdpbi1ib3R0b206IDE1cHg7XG5cdH1cbn1cblxuQG1peGluIHdyYXBwZXIge1xuXHRtYXJnaW46IGF1dG87XG5cdG1heC13aWR0aDogNzkycHg7XG59XG5cbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbi8vICAgVGV4dCBTaXplc1xuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG5oMSwgaDIsIGgzLCBoNCwgaDUsIGg2LCBibG9ja3F1b3RlIHAsIGNpdGUsXG4uaDEsIC5oMiwgLmgzLCAuaDQsIC5oNSwgLmg2IHtcbiAgICBmb250LWZhbWlseTogXCJwcm94aW1hLW5vdmFcIixzYW5zLXNlcmlmO1xufVxuXG5cblxuaDEsIGgyLCBoMywgaDQsIGg1LCBoNiwgcCwgYmxvY2txdW90ZSwgdWwsIG9sIHtcblx0QGluY2x1ZGUgZGVmYXVsdC1zcGFjaW5nICgpO1xufVxuXG4vLyBzaXplLCB0cmFja2luZywgdHJhbnNmb3JtXG5cbmgxLCAuaDEge1xuXHRAaW5jbHVkZSBoZWFkLWZvbnQgKDY4LCA4Miwgbm9uZSk7XG5cdGZvbnQtdmFyaWFudC1saWdhdHVyZXM6IG5vLWNvbW1vbi1saWdhdHVyZXM7XG5cdC13ZWJraXQtZm9udC12YXJpYW50LWxpZ2F0dXJlczogbm8tY29tbW9uLWxpZ2F0dXJlcztcbn1cblxuaDIsIC5oMiB7XG5cdEBpbmNsdWRlIGhlYWQtZm9udCAoNDgsIDU4LCBub25lKTtcblx0Y29sb3I6JGRrZ3JheTtcblx0bGV0dGVyLXNwYWNpbmc6aW5pdGlhbDtcbn1cblxuaDMsIC5oMyB7XG5cdEBpbmNsdWRlIGZvbnQgKDI0LCAyOSwgdXBwZXJjYXNlKTtcblx0Zm9udC13ZWlnaHQ6NzAwO1xuXHRjb2xvcjokZGtncmF5O1xufVxuXG5oNCwgLmg0IHtcblx0QGluY2x1ZGUgZm9udCAoMjAsIDE1MCwgbm9uZSk7XG5cdGxldHRlci1zcGFjaW5nOmluaXRpYWw7XG59XG5cbmg1LCAuaDUge1xuXHRAaW5jbHVkZSBmb250ICgyMywgMTUwLCB1cHBlcmNhc2UpO1xufVxuXG5oNiwgLmg2LCB7XG5cdEBpbmNsdWRlIHBhcmFncmFwaC1mb250ICgyMCwgMjQsIHVwcGVyY2FzZSk7XG5cdGNvbG9yOiRka2dyYXk7XG5cdGZvbnQtd2VpZ2h0OjcwMDtcbn1cblxuXG5ibG9ja3F1b3RlLCAuYmxvY2txdW90ZSB7XG5cdHAge1xuXHRcdEBpbmNsdWRlIGZvbnQgKDI0LCAzNCwgbm9uZSk7XG5cdFx0Zm9udC1zdHlsZTogaXRhbGljO1xuXHRcdGZvbnQtd2VpZ2h0OjcwMDtcblx0fVxufVxuXG5zcGFuLnB1bGxRdW90ZSB7XG5cdEBpbmNsdWRlIGZvbnQgKDI0LCA1MCwgbm9uZSk7XG5cdGZvbnQtc3R5bGU6IGl0YWxpYztcblx0Y29sb3I6JHByaW1hcnk7XG5cdGZvbnQtd2VpZ2h0OjQwMDtcbn1cblxucCwgb2wsIHVsLCBsaSB7XG5cdEBpbmNsdWRlIHBhcmFncmFwaC1mb250ICgyMCwgMzAsIG5vbmUpO1xuXG5cdCYuYmlnIHtcblx0XHRAaW5jbHVkZSBmb250ICgyNSwgNDAsIG5vbmUpO1xuXHR9XG59XG5cbnAsIC5wLCB1bCwgb2wsIGxpIHtcblx0Y29sb3I6ICRka2dyYXk7XG5cdGZvbnQtZmFtaWx5OiBcInByb3hpbWEtbm92YVwiLHNhbnMtc2VyaWY7XG5cdGZvbnQtd2VpZ2h0OiA0MDA7XG59XG5cbmJ1dHRvbiwgLmJ1dHRvbiB7XG5cdGZvbnQtd2VpZ2h0OiA3MDA7XG5cdGZvbnQtZmFtaWx5OiBcInByb3hpbWEtbm92YVwiLHNhbnMtc2VyaWY7XG59XG5cbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbi8vXHRMaW5rc1xuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG5hIHtcblx0dGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XG5cdGNvbG9yOiAkcHJpbWFyeTtcblx0Jjpob3ZlciB7XG5cdFx0dGV4dC1kZWNvcmF0aW9uOiBub25lO1xuXHR9XG59XG5cbm9sLCB1bCB7XG5cdGxpc3Qtc3R5bGUtcG9zaXRpb246IGluc2lkZTtcbn1cblxuYiB7XG5cdGZvbnQtd2VpZ2h0OiBib2xkO1xufVxuXG5cbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbi8vXHRUeXBvZ3JhcGhpYyBIZWxwZXJzXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbi5jb25kZW5zZXtcblx0Zm9udC1zaXplOiA4NSU7XG59XG5cbi5sZWFke1xuXHRmb250LXNpemU6IDEyNSU7XG59XG5cbi5zaG91dHtcblx0dGV4dC10cmFuc2Zvcm06IG5vbmU7XG59XG5cbi5sb3dlcmNhc2Uge1xuXHR0ZXh0LXRyYW5zZm9ybTpub25lIWltcG9ydGFudDtcbn1cblxuXG5cblxuYm9keS50eXBlLWd1aWRlIHtcblx0LmNvbG9yIHtcblx0XHRkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG5cdFx0cGFkZGluZzogMzBweDtcblx0XHRtYXJnaW46IDA7XG5cdFx0d2lkdGg6IDE0LjI4NTcxNDI4NiU7XG5cdFx0ZmxvYXQ6IGxlZnQ7XG5cdFx0dGV4dC1hbGlnbjogY2VudGVyO1xuXG5cdC8vIFx0Ji5yZWQge1xuXHQvLyBcdFx0Ly8gYmFja2dyb3VuZC1jb2xvcjogJHJlZDtcblx0Ly8gXHR9XG5cblx0Ly8gXHQmLndoaXRlIHtcblx0Ly8gXHRcdGJhY2tncm91bmQtY29sb3I6ICR3aGl0ZTtcblx0Ly8gXHR9XG5cblx0Ly8gXHQmLmJsYWNrIHtcblx0Ly8gXHRcdGJhY2tncm91bmQtY29sb3I6ICRibGFjaztcblx0Ly8gXHRcdGNvbG9yOiAkd2hpdGU7XG5cdC8vIFx0fVxuXG5cdC8vIFx0Ji5ncmV5MSB7XG5cdC8vIFx0XHRiYWNrZ3JvdW5kLWNvbG9yOiAkZ3JleTE7XG5cdC8vIFx0fVxuXG5cdC8vIFx0Ji5ncmV5MiB7XG5cdC8vIFx0XHRiYWNrZ3JvdW5kLWNvbG9yOiAkZ3JleTI7XG5cdC8vIFx0fVxuXG5cdC8vIFx0Ji5ncmV5MyB7XG5cdC8vIFx0XHRiYWNrZ3JvdW5kLWNvbG9yOiAkZ3JleTM7XG5cdC8vIFx0fVxuXG5cdC8vIFx0Ji5ncmV5NCB7XG5cdC8vIFx0XHRiYWNrZ3JvdW5kLWNvbG9yOiAkZ3JleTQ7XG5cdC8vIFx0fVxuXHR9XG5cblx0cC5ndWlkZS1pY29ucyB7XG5cdFx0Zm9udC1mYW1pbHk6ICRJY29ucztcblx0XHRmb250LXNpemU6IDMwcHg7XG5cdFx0Ly8gY29sb3I6ICRncmV5Mztcblx0fVxufVxuIiwiLy8gKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuLy9cbi8vICAgVmFyaWFibGVzXG4vLyAgIEVkaXQgdGhlIGluZm9ybWF0aW9uIGJlbG93IHRvIGVzdGFibGlzaCBcbi8vICAgYmFzZSB2YXJpYWJsZXMgdGhyb3Vnb3V0IHlvdXIgZG9jdW1lbnQuXG4vL1xuLy8gKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4vLyAgIENvbG9yIERlZmF1bHRzOiBBbGwgY29sb3JzIGNhbiBiZVxuLy8gICBtb2RpZmllZC9hZGRlZCB0byBpbiB0aGUgdGhlbWVzIHNlY3Rpb25cbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuLy8gLS0tLS0gMS4gV1lTSVdZRyBDb2xvcnMgLS0tLS0gLy9cblxuJHJlZDogI0M0MDAwMDtcbiRsdGdyYXk6ICNGN0Y3Rjc7XG4kZ3JheTogI0Q4RDhEODtcbiRka2dyYXk6ICM0QTRBNEE7XG4kd2hpdGU6ICNmZmZmZmY7XG4kYmxhY2s6ICMyQjJCMkI7XG4keWVsbG93OiAjZmVmNDcxO1xuJGJsdWU6ICM2M2FjZTI7XG4kb3JhbmdlOiAjRjE4RTAyO1xuXG5cbi8vIC0tLS0tIDIuIERlZmF1bHQgU2l0ZSBDb250ZXh0IENvbG9ycyAtLS0tLSAvL1xuXG4kcHJpbWFyeSA6ICRvcmFuZ2UhZGVmYXVsdDsgXG4kc2Vjb25kYXJ5IDogJGdyYXkhZGVmYXVsdDsgXG4kdGVydGlhcnkgOiAkbHRncmF5IWRlZmF1bHQ7XG5cbiRhbGVydCA6ICNjNDI1MWIhZGVmYXVsdDsgLy8gcmVkXG4kc3VjY2VzcyA6ICMyZjk2NDYhZGVmYXVsdDsgLy8gZ3JlZW5cbiR3YXJuaW5nIDogI2Y0OTIyNCFkZWZhdWx0OyAvLyB5ZWxsb3dcblxuXG4vLyAtLS0tLSAzLiBPdGhlciBDb2xvcnMgKElmIEFwcGxpY2FibGUpIC0tLS0tIC8vXG5cbiRncmF5LWxpZ2h0OiAjRjhGOEY4O1xuJGdyYXktb2Zmc2V0OiAjZWJlYmViO1xuJGdyYXktbWVkaXVtOiAjYzRjNGM0O1xuJGdyYXktZGl2aWRlcjogI0VBRUJFQztcblxuQG1peGluIHRleHQtc2hhZG93MCB7XG5cdHRleHQtc2hhZG93OiAwcHggMHB4IDhweCByZ2JhKDAsMCwwLCAwLjcpO1xufVxuQG1peGluIGJveC1zaGFkb3cwIHtcblx0Ym94LXNoYWRvdzogMHB4IDBweCA4cHggcmdiYSgwLDAsMCwgMC43KTtcbn1cbkBtaXhpbiBib3gtc2hhZG93MSB7XG5cdGJveC1zaGFkb3c6IDBweCAwcHggMThweCByZ2JhKDAsMCwwLCAwLjcpO1xufSIsIkBtaXhpbiBmb250LWZhY2UoXG4gICRmb250LWZhbWlseSxcbiAgJGZpbGUtcGF0aCxcbiAgJHdlaWdodDogbm9ybWFsLFxuICAkc3R5bGU6IG5vcm1hbCxcbiAgJGFzc2V0LXBpcGVsaW5lOiAkYXNzZXQtcGlwZWxpbmUsXG4gICRmaWxlLWZvcm1hdHM6IGVvdCB3b2ZmMiB3b2ZmIHR0ZiBzdmcpIHtcblxuICAkdXNlci1kZXByZWNhdGlvbi13YXJuaW5ncy1zZXR0aW5nOiAkb3V0cHV0LWJvdXJib24tZGVwcmVjYXRpb24td2FybmluZ3M7XG4gICRvdXRwdXQtYm91cmJvbi1kZXByZWNhdGlvbi13YXJuaW5nczogZmFsc2UgIWdsb2JhbDtcblxuICAkZm9udC11cmwtcHJlZml4OiBmb250LXVybC1wcmVmaXhlcigkYXNzZXQtcGlwZWxpbmUpO1xuXG4gIEBmb250LWZhY2Uge1xuICAgIGZvbnQtZmFtaWx5OiAkZm9udC1mYW1pbHk7XG4gICAgZm9udC1zdHlsZTogJHN0eWxlO1xuICAgIGZvbnQtd2VpZ2h0OiAkd2VpZ2h0O1xuXG4gICAgc3JjOiBmb250LXNvdXJjZS1kZWNsYXJhdGlvbihcbiAgICAgICRmb250LWZhbWlseSxcbiAgICAgICRmaWxlLXBhdGgsXG4gICAgICAkYXNzZXQtcGlwZWxpbmUsXG4gICAgICAkZmlsZS1mb3JtYXRzLFxuICAgICAgJGZvbnQtdXJsLXByZWZpeFxuICAgICk7XG4gIH1cblxuICAkb3V0cHV0LWJvdXJib24tZGVwcmVjYXRpb24td2FybmluZ3M6ICR1c2VyLWRlcHJlY2F0aW9uLXdhcm5pbmdzLXNldHRpbmcgIWdsb2JhbDtcbn1cbiIsIi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuLy9cbi8vIENVU1RPTSBJQ09OIEZPTlRcbi8vXG4vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cblxuQGluY2x1ZGUgZm9udC1mYWNlKEljb25zLCAnL2Fzc2V0cy9wdWJsaWMvZm9udHMvaWNvbnMvaWNvbnMnLCA0MDAsIG5vcm1hbCk7XG5cbiRpY29uLWFycm93LWRvd246ICdnJztcbiRpY29uLWRyaWJiYmxlOiAnYyc7XG4kaWNvbi1mYWNlYm9vazogJ2EnO1xuJGljb24tZ3BsdXM6ICdoJztcbiRpY29uLWluc3RhZ3JhbTogJ2UnO1xuJGljb24tbGlua2VkaW46ICdkJztcbiRpY29uLXR3aXR0ZXI6ICdiJztcbiRpY29uLXlvdXR1YmU6ICdmJztcbiRpY29uLWFycm93LXJpZ2h0OiAnaSc7XG4kaWNvbi1hcnJvdy1yaWdodC0yOiAnayc7XG4kaWNvbi1hcnJvdy1yaWdodC0zOiAnaic7XG5cbkBtaXhpbiBpY29uKCRjaGFyYWN0ZXIpIHtcblx0Y29udGVudDogJGNoYXJhY3RlcjtcbiAgICBmb250LWZhbWlseTogJEljb25zO1xuICAgIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgICBmb250LXZhcmlhbnQ6IG5vcm1hbDtcbiAgICBmb250LXdlaWdodDogbm9ybWFsO1xuICAgIGxpbmUtaGVpZ2h0OiAxO1xuICAgIHNwZWFrOiBub25lO1xuICAgIHRleHQtdHJhbnNmb3JtOiBub25lO1xuICAgIC13ZWJraXQtZm9udC1zbW9vdGhpbmc6IGFudGlhbGlhc2VkO1xuICAgIC1tb3otb3N4LWZvbnQtc21vb3RoaW5nOiBncmF5c2NhbGU7XG59XG4iLCIvLyBVc2VkIGZvciBjcmVhdGluZyB0aGUgc291cmNlIHN0cmluZyBmb3IgZm9udHMgdXNpbmcgQGZvbnQtZmFjZVxuLy8gUmVmZXJlbmNlOiBodHRwOi8vZ29vLmdsL1J1MWJLUFxuXG5AZnVuY3Rpb24gZm9udC11cmwtcHJlZml4ZXIoJGFzc2V0LXBpcGVsaW5lKSB7XG4gIEBpZiAkb3V0cHV0LWJvdXJib24tZGVwcmVjYXRpb24td2FybmluZ3MgPT0gdHJ1ZSB7XG4gICAgQHdhcm4gXCJbQm91cmJvbl0gW0RlcHJlY2F0aW9uXSBgZm9udC11cmwtcHJlZml4ZXJgIGlzIGRlcHJlY2F0ZWQgYW5kIFwiICtcbiAgICBcIndpbGwgYmUgcmVtb3ZlZCBpbiA1LjAuMC5cIjtcbiAgfVxuXG4gIEBpZiAkYXNzZXQtcGlwZWxpbmUgPT0gdHJ1ZSB7XG4gICAgQHJldHVybiBmb250LXVybDtcbiAgfSBAZWxzZSB7XG4gICAgQHJldHVybiB1cmw7XG4gIH1cbn1cblxuQGZ1bmN0aW9uIGZvbnQtc291cmNlLWRlY2xhcmF0aW9uKFxuICAkZm9udC1mYW1pbHksXG4gICRmaWxlLXBhdGgsXG4gICRhc3NldC1waXBlbGluZSxcbiAgJGZpbGUtZm9ybWF0cyxcbiAgJGZvbnQtdXJsKSB7XG5cbiAgQGlmICRvdXRwdXQtYm91cmJvbi1kZXByZWNhdGlvbi13YXJuaW5ncyA9PSB0cnVlIHtcbiAgICBAd2FybiBcIltCb3VyYm9uXSBbRGVwcmVjYXRpb25dIGBmb250LXNvdXJjZS1kZWNsYXJhdGlvbmAgaXMgZGVwcmVjYXRlZCBcIiArXG4gICAgXCJhbmQgd2lsbCBiZSByZW1vdmVkIGluIDUuMC4wLlwiO1xuICB9XG5cbiAgJHNyYzogKCk7XG5cbiAgJGZvcm1hdHMtbWFwOiAoXG4gICAgZW90OiAgIFwiI3skZmlsZS1wYXRofS5lb3Q/I2llZml4XCIgZm9ybWF0KFwiZW1iZWRkZWQtb3BlbnR5cGVcIiksXG4gICAgd29mZjI6IFwiI3skZmlsZS1wYXRofS53b2ZmMlwiIGZvcm1hdChcIndvZmYyXCIpLFxuICAgIHdvZmY6ICBcIiN7JGZpbGUtcGF0aH0ud29mZlwiIGZvcm1hdChcIndvZmZcIiksXG4gICAgdHRmOiAgIFwiI3skZmlsZS1wYXRofS50dGZcIiBmb3JtYXQoXCJ0cnVldHlwZVwiKSxcbiAgICBzdmc6ICAgXCIjeyRmaWxlLXBhdGh9LnN2ZyMjeyRmb250LWZhbWlseX1cIiBmb3JtYXQoXCJzdmdcIilcbiAgKTtcblxuICBAZWFjaCAka2V5LCAkdmFsdWVzIGluICRmb3JtYXRzLW1hcCB7XG4gICAgQGlmIGNvbnRhaW5zKCRmaWxlLWZvcm1hdHMsICRrZXkpIHtcbiAgICAgICRmaWxlLXBhdGg6IG50aCgkdmFsdWVzLCAxKTtcbiAgICAgICRmb250LWZvcm1hdDogbnRoKCR2YWx1ZXMsIDIpO1xuXG4gICAgICBAaWYgJGFzc2V0LXBpcGVsaW5lID09IHRydWUge1xuICAgICAgICAkc3JjOiBhcHBlbmQoJHNyYywgZm9udC11cmwoJGZpbGUtcGF0aCkgJGZvbnQtZm9ybWF0LCBjb21tYSk7XG4gICAgICB9IEBlbHNlIHtcbiAgICAgICAgJHNyYzogYXBwZW5kKCRzcmMsIHVybCgkZmlsZS1wYXRoKSAkZm9udC1mb3JtYXQsIGNvbW1hKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBAcmV0dXJuICRzcmM7XG59XG4iLCIvLyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4vL1xuLy8gIEhlbHBlcnNcbi8vICAtPiBUaGVzZSBhcmUgcHJvamVjdC1zcGVjaWZpYyBFeHRlbmRzLCBcbi8vICBGdW5jdGlvbnMsIE1peGlucywgQW5pbWF0aW9ucywgR3JpZCBDbGFzc2VzXG4vL1xuLy8gIC0tLSBFZGl0IHRoZSBmb2xsb3dpbmcgb24gdGhpcyBzaGVldDogLS0tIC8vXG4vL1xuLy8gKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4vLyAgRXh0ZW5kc1xuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG5cbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbi8vICBGdW5jdGlvbnNcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbi8vTnVtYmVycyBtdXN0IGJlIGJldHdlZW4gMSBhbmQgMTA7XG4vL0xJR0hURU46IE51bWJlcnMgZnJvbSAtMTAgdG8gLTEgd2lsbCBkYXJrZW4gdGhlIGNvbG9yOyBcbi8vREFSS0VOOiBOdW1iZXJzIGZyb20gMSB0byAxMCB3aWxsIGxpZ2h0ZW4gdGhlIGNvbG9yO1xuLy9UbyB1c2UsIGFkZCB0aGlzIGZ1bmN0aW9uIHRvIHlvdXIgc2NzczogZS5nLiwgYmFja2dyb3VuZC1jb2xvcjogY3VzdG9tLWNvbG9yKHJlZCwgMik7XG5AZnVuY3Rpb24gY3VzdG9tLWNvbG9yKCRjb2xvciwgJG51bWJlcikge1xuXHRAaWYoJG51bWJlciA8IDAgYW5kICRudW1iZXIgPiAtMTEpe1xuXHRcdCRhbW91bnQ6ICgkbnVtYmVyICogLTEpICogMTAlO1xuXHRcdEByZXR1cm4gZGFya2VuKCRjb2xvciwgJGFtb3VudCk7XG5cdH0gQGVsc2VpZiAoJG51bWJlciA+IDAgYW5kICRudW1iZXIgPCAxMSkge1xuXHRcdCRhbW91bnQ6ICgkbnVtYmVyKSAqIDEwJTtcblx0XHRAcmV0dXJuIGxpZ2h0ZW4oJGNvbG9yLCAkYW1vdW50KTtcblx0fSBAZWxzZSB7XG5cdFx0QHJldHVybiAkY29sb3I7XG5cdH1cbn1cblxuXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4vLyAgTWl4aW5zXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbkBtaXhpbiBsaW5lLWJlaGluZCB7XG5cdGhlaWdodDogMTJweDtcblx0bWFyZ2luOiA0MHB4IDA7XG5cblx0Ym9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIGRhcmtlbih3aGl0ZSwgMTAlKTtcblx0dGV4dC1hbGlnbjogY2VudGVyO1xuXG5cdGgyLCBoNCB7XG5cdFx0ZGlzcGxheTogaW5saW5lO1xuXHRcdHBhZGRpbmc6IDAgMTBweDtcblx0XHRiYWNrZ3JvdW5kOiB3aGl0ZTtcblx0fVxuXG5cdGgyIHtcblx0XHRmb250LXNpemU6IDM2cHg7XG5cdFx0bGluZS1oZWlnaHQ6IDEuNTtcblx0fVxufVxuXG4ubGluZS1iZWhpbmQtdGV4dCB7XG5cdEBpbmNsdWRlIGxpbmUtYmVoaW5kO1xufVxuXG4vL0xpbmVhciBncmFkaWVudCBmb3IgYWxsIG90aGVyIGFsbCBicm93c2VycyBFWENFUFQgSUVcbkBtaXhpbiBncmFkaWVudCgkc3RhcnQsICRjb2xvci1zdG9wcy4uLil7XG5cdEBpZiAoJHN0YXJ0ICE9IFwiXCIpIHtcblx0XHQkc3RhcnQ6IHRvcDtcblx0fVxuXG5cdGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuXHRiYWNrZ3JvdW5kLWltYWdlOiAtd2Via2l0LWxpbmVhci1ncmFkaWVudCgkc3RhcnQsICRjb2xvci1zdG9wcyk7XG5cdGJhY2tncm91bmQtaW1hZ2U6IC1tb3otbGluZWFyLWdyYWRpZW50KCRzdGFydCwgJGNvbG9yLXN0b3BzKTtcblx0YmFja2dyb3VuZC1pbWFnZTogLW8tbGluZWFyLWdyYWRpZW50KCRzdGFydCwgJGNvbG9yLXN0b3BzKTtcblx0YmFja2dyb3VuZC1pbWFnZTogLW1zLWxpbmVhci1ncmFkaWVudCgkc3RhcnQsICRjb2xvci1zdG9wcyk7XG5cdGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCh0byAkc3RhcnQsJGNvbG9yLXN0b3BzKTtcbn1cblxuLy8gTGluZWFyIGdyYWRpZW50IG1peGluIHRoYXQgc2hvdWxkIHdvcmsgd2l0aCBJRTggYW5kIGJlbG93IC0tIGFkZCB0aGlzIG1peGluIE9OTFkgdG8gaWUtc3BlY2lmaWMgc3R5bGVzaGVldC4gVXNlIENvbG9yWmlsbGEgc3ZnIGNvZGUgZm9yIElFOS5cbkBtaXhpbiBncmFkaWVudC1pZSgkY29sb3IxLCAkY29sb3IyKSB7XG5cdCRmaXJzdC1pZTogaWUtaGV4LXN0cigkY29sb3IxKTtcblx0JHNlY29uZC1pZTogaWUtaGV4LXN0cigkY29sb3IyKTtcblx0Ly8gYmFja2dyb3VuZC1jb2xvcjogbWl4KCRjb2xvcjEsICRjb2xvcjIpIWltcG9ydGFudDtcblx0ZmlsdGVyOiBwcm9naWQ6RFhJbWFnZVRyYW5zZm9ybS5NaWNyb3NvZnQuZ3JhZGllbnQoc3RhcnRDb2xvcnN0cj0nI3skZmlyc3QtaWV9JywgZW5kQ29sb3JzdHI9JyN7JHNlY29uZC1pZX0nLCBncmFkaWVudFR5cGU9JzAnIEdyYWRpZW50VHlwZSA9MSkhaW1wb3J0YW50O1xuXHQtbXMtZmlsdGVyOiBwcm9naWQ6RFhJbWFnZVRyYW5zZm9ybS5NaWNyb3NvZnQuZ3JhZGllbnQoc3RhcnRDb2xvcnN0cj0nI3skZmlyc3QtaWV9JywgZW5kQ29sb3JzdHI9JyN7JHNlY29uZC1pZX0nLCBncmFkaWVudFR5cGU9JzAnIEdyYWRpZW50VHlwZSA9MSkhaW1wb3J0YW50O1xuXHR3aWR0aDogMTAwJTtcblx0aGVpZ2h0OiAxMDAlO1xufVxuXG5AbWl4aW4gdHJpYW5nbGUtc3ByaXRlIHtcbiAgd2lkdGg6IDA7IFxuICBoZWlnaHQ6IDA7IFxuICBib3JkZXItdG9wOiAxMDBweCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgYm9yZGVyLWJvdHRvbTogMTAwcHggc29saWQgdHJhbnNwYXJlbnQ7XG4gIGJvcmRlci1yaWdodDoxMDBweCBzb2xpZCAkd2hpdGU7IFxufVxuXG5cblxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuLy8gIEFuaW1hdGlvbnNcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuLy8gIEdyaWRcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblx0LnNpbmdsZS1wb3N0IC5ncmlkLXdyYXBwZXIsXG5cdC5ibG9nIC5ncmlkLXdyYXBwZXIsXG5cdC5jYXRlZ29yeSAuZ3JpZC13cmFwcGVyLFxuXHQuYXJjaGl2ZSAuZ3JpZC13cmFwcGVyIHtcblx0XHRAaW5jbHVkZSBvdXRlci1jb250YWluZXI7XG5cblx0XHRhcnRpY2xlIHtcblx0XHRcdEBpbmNsdWRlIHNwYW4tY29sdW1ucyg3KTtcblx0XHRcdEBpbmNsdWRlIHNoaWZ0KC41KTtcblxuXHRcdH1cblxuXHRcdC5zaWRlYmFyIHtcblx0XHRcdEBpbmNsdWRlIHNwYW4tY29sdW1ucygzKTtcblx0XHRcdEBpbmNsdWRlIHNoaWZ0KC41KTtcblx0XHRcdEBpbmNsdWRlIG9tZWdhKCk7XG5cdFx0fVxuXG5cdFx0LmJsb2ctcGFnaW5hdGlvbiB7XG5cdFx0XHRjbGVhcjogYm90aDtcblx0XHR9XG5cblx0fVxuXG5cbiIsIkBjaGFyc2V0IFwiVVRGLThcIjtcblxuLy8vIE1ha2VzIGFuIGVsZW1lbnQgYSBvdXRlciBjb250YWluZXIgYnkgY2VudGVyaW5nIGl0IGluIHRoZSB2aWV3cG9ydCwgY2xlYXJpbmcgaXRzIGZsb2F0cywgYW5kIHNldHRpbmcgaXRzIGBtYXgtd2lkdGhgLlxuLy8vIEFsdGhvdWdoIG9wdGlvbmFsLCB1c2luZyBgb3V0ZXItY29udGFpbmVyYCBpcyByZWNvbW1lbmRlZC4gVGhlIG1peGluIGNhbiBiZSBjYWxsZWQgb24gbW9yZSB0aGFuIG9uZSBlbGVtZW50IHBlciBwYWdlLCBhcyBsb25nIGFzIHRoZXkgYXJlIG5vdCBuZXN0ZWQuXG4vLy9cbi8vLyBAcGFyYW0ge051bWJlciBbdW5pdF19ICRsb2NhbC1tYXgtd2lkdGggWyRtYXgtd2lkdGhdXG4vLy8gICBNYXggd2lkdGggdG8gYmUgYXBwbGllZCB0byB0aGUgZWxlbWVudC4gQ2FuIGJlIGEgcGVyY2VudGFnZSBvciBhIG1lYXN1cmUuXG4vLy9cbi8vLyBAZXhhbXBsZSBzY3NzIC0gVXNhZ2Vcbi8vLyAgIC5lbGVtZW50IHtcbi8vLyAgICAgQGluY2x1ZGUgb3V0ZXItY29udGFpbmVyKDEwMCUpO1xuLy8vICAgfVxuLy8vXG4vLy8gQGV4YW1wbGUgY3NzIC0gQ1NTIE91dHB1dFxuLy8vICAgLmVsZW1lbnQge1xuLy8vICAgICBtYXgtd2lkdGg6IDEwMCU7XG4vLy8gICAgIG1hcmdpbi1sZWZ0OiBhdXRvO1xuLy8vICAgICBtYXJnaW4tcmlnaHQ6IGF1dG87XG4vLy8gICB9XG4vLy9cbi8vLyAgIC5lbGVtZW50OjphZnRlciB7XG4vLy8gICAgIGNsZWFyOiBib3RoO1xuLy8vICAgICBjb250ZW50OiBcIlwiO1xuLy8vICAgICBkaXNwbGF5OiB0YWJsZTtcbi8vLyAgIH1cblxuQG1peGluIG91dGVyLWNvbnRhaW5lcigkbG9jYWwtbWF4LXdpZHRoOiAkbWF4LXdpZHRoKSB7XG4gIEBpbmNsdWRlIGNsZWFyZml4O1xuICBtYXgtd2lkdGg6ICRsb2NhbC1tYXgtd2lkdGg7XG4gIG1hcmdpbjoge1xuICAgIGxlZnQ6IGF1dG87XG4gICAgcmlnaHQ6IGF1dG87XG4gIH1cbn1cbiIsIi8vIENvbnZlcnQgcGl4ZWxzIHRvIGVtc1xuLy8gZWcuIGZvciBhIHJlbGF0aW9uYWwgdmFsdWUgb2YgMTJweCB3cml0ZSBlbSgxMikgd2hlbiB0aGUgcGFyZW50IGlzIDE2cHhcbi8vIGlmIHRoZSBwYXJlbnQgaXMgYW5vdGhlciB2YWx1ZSBzYXkgMjRweCB3cml0ZSBlbSgxMiwgMjQpXG5cbkBmdW5jdGlvbiBlbSgkcHh2YWwsICRiYXNlOiAkZW0tYmFzZSkge1xuICBAaWYgJG91dHB1dC1ib3VyYm9uLWRlcHJlY2F0aW9uLXdhcm5pbmdzID09IHRydWUge1xuICAgIEB3YXJuIFwiW0JvdXJib25dIFtEZXByZWNhdGlvbl0gYGVtYCBpcyBkZXByZWNhdGVkIGFuZCB3aWxsIGJlIFwiICtcbiAgICBcInJlbW92ZWQgaW4gNS4wLjAuXCI7XG4gIH1cblxuICAkdXNlci1kZXByZWNhdGlvbi13YXJuaW5ncy1zZXR0aW5nOiAkb3V0cHV0LWJvdXJib24tZGVwcmVjYXRpb24td2FybmluZ3M7XG4gICRvdXRwdXQtYm91cmJvbi1kZXByZWNhdGlvbi13YXJuaW5nczogZmFsc2UgIWdsb2JhbDtcblxuICBAaWYgbm90IHVuaXRsZXNzKCRweHZhbCkge1xuICAgICRweHZhbDogc3RyaXAtdW5pdHMoJHB4dmFsKTtcbiAgfVxuICBAaWYgbm90IHVuaXRsZXNzKCRiYXNlKSB7XG4gICAgJGJhc2U6IHN0cmlwLXVuaXRzKCRiYXNlKTtcbiAgfVxuXG4gICRvdXRwdXQtYm91cmJvbi1kZXByZWNhdGlvbi13YXJuaW5nczogJHVzZXItZGVwcmVjYXRpb24td2FybmluZ3Mtc2V0dGluZyAhZ2xvYmFsO1xuXG4gIEByZXR1cm4gKCRweHZhbCAvICRiYXNlKSAqIDFlbTtcbn1cbiIsIkBjaGFyc2V0IFwiVVRGLThcIjtcblxuLy8vIFByb3ZpZGVzIGFuIGVhc3kgd2F5IHRvIGluY2x1ZGUgYSBjbGVhcmZpeCBmb3IgY29udGFpbmluZyBmbG9hdHMuXG4vLy9cbi8vLyBAbGluayBodHRwOi8vZ29vLmdsL3lQNWhpWlxuLy8vXG4vLy8gQGV4YW1wbGUgc2Nzc1xuLy8vICAgLmVsZW1lbnQge1xuLy8vICAgICBAaW5jbHVkZSBjbGVhcmZpeDtcbi8vLyAgIH1cbi8vL1xuLy8vIEBleGFtcGxlIGNzc1xuLy8vICAgLmVsZW1lbnQ6OmFmdGVyIHtcbi8vLyAgICAgY2xlYXI6IGJvdGg7XG4vLy8gICAgIGNvbnRlbnQ6IFwiXCI7XG4vLy8gICAgIGRpc3BsYXk6IGJsb2NrO1xuLy8vICAgfVxuXG5AbWl4aW4gY2xlYXJmaXgge1xuICAmOjphZnRlciB7XG4gICAgY2xlYXI6IGJvdGg7XG4gICAgY29udGVudDogXCJcIjtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgfVxufVxuIiwiQGNoYXJzZXQgXCJVVEYtOFwiO1xuXG4vLy8gU3BlY2lmaWVzIHRoZSBudW1iZXIgb2YgY29sdW1ucyBhbiBlbGVtZW50IHNob3VsZCBzcGFuLiBJZiB0aGUgc2VsZWN0b3IgaXMgbmVzdGVkIHRoZSBudW1iZXIgb2YgY29sdW1ucyBvZiBpdHMgcGFyZW50IGVsZW1lbnQgc2hvdWxkIGJlIHBhc3NlZCBhcyBhbiBhcmd1bWVudCBhcyB3ZWxsLlxuLy8vXG4vLy8gQHBhcmFtIHtMaXN0fSAkc3BhblxuLy8vICAgQSBsaXN0IGNvbnRhaW5pbmcgYCRjb2x1bW5zYCwgdGhlIHVuaXRsZXNzIG51bWJlciBvZiBjb2x1bW5zIHRoZSBlbGVtZW50IHNwYW5zIChyZXF1aXJlZCksIGFuZCBgJGNvbnRhaW5lci1jb2x1bW5zYCwgdGhlIG51bWJlciBvZiBjb2x1bW5zIHRoZSBwYXJlbnQgZWxlbWVudCBzcGFucyAob3B0aW9uYWwpLlxuLy8vXG4vLy8gICBJZiBvbmx5IG9uZSB2YWx1ZSBpcyBwYXNzZWQsIGl0IGlzIGFzc3VtZWQgdGhhdCBpdCdzIGAkY29sdW1uc2AgYW5kIHRoYXQgdGhhdCBgJGNvbnRhaW5lci1jb2x1bW5zYCBpcyBlcXVhbCB0byBgJGdyaWQtY29sdW1uc2AsIHRoZSB0b3RhbCBudW1iZXIgb2YgY29sdW1ucyBpbiB0aGUgZ3JpZC5cbi8vL1xuLy8vICAgVGhlIHZhbHVlcyBjYW4gYmUgc2VwYXJhdGVkIHdpdGggYW55IHN0cmluZyBzdWNoIGFzIGBvZmAsIGAvYCwgZXRjLlxuLy8vXG4vLy8gICBgJGNvbHVtbnNgIGFsc28gYWNjZXB0cyBkZWNpbWFscyBmb3Igd2hlbiBpdCdzIG5lY2Vzc2FyeSB0byBicmVhayBvdXQgb2YgdGhlIHN0YW5kYXJkIGdyaWQuIEUuZy4gUGFzc2luZyBgMi40YCBpbiBhIHN0YW5kYXJkIDEyIGNvbHVtbiBncmlkIHdpbGwgZGl2aWRlIHRoZSByb3cgaW50byA1IGNvbHVtbnMuXG4vLy9cbi8vLyBAcGFyYW0ge1N0cmluZ30gJGRpc3BsYXkgW2Jsb2NrXVxuLy8vICAgU2V0cyB0aGUgZGlzcGxheSBwcm9wZXJ0eSBvZiB0aGUgZWxlbWVudC4gQnkgZGVmYXVsdCBpdCBzZXRzIHRoZSBkaXNwbGF5IHByb3BlcnR5IG9mIHRoZSBlbGVtZW50IHRvIGBibG9ja2AuXG4vLy9cbi8vLyAgIElmIHBhc3NlZCBgYmxvY2stY29sbGFwc2VgLCBpdCBhbHNvIHJlbW92ZXMgdGhlIG1hcmdpbiBndXR0ZXIgYnkgYWRkaW5nIGl0IHRvIHRoZSBlbGVtZW50IHdpZHRoLlxuLy8vXG4vLy8gICBJZiBwYXNzZWQgYHRhYmxlYCwgaXQgc2V0cyB0aGUgZGlzcGxheSBwcm9wZXJ0eSB0byBgdGFibGUtY2VsbGAgYW5kIGNhbGN1bGF0ZXMgdGhlIHdpZHRoIG9mIHRoZSBlbGVtZW50IHdpdGhvdXQgdGFraW5nIGd1dHRlcnMgaW50byBjb25zaWRlcmF0aW9uLiBUaGUgcmVzdWx0IGRvZXMgbm90IGFsaWduIHdpdGggdGhlIGJsb2NrLWJhc2VkIGdyaWQuXG4vLy9cbi8vLyBAZXhhbXBsZSBzY3NzIC0gVXNhZ2Vcbi8vLyAgIC5lbGVtZW50IHtcbi8vLyAgICAgQGluY2x1ZGUgc3Bhbi1jb2x1bW5zKDYpO1xuLy8vXG4vLy8gICAgLm5lc3RlZC1lbGVtZW50IHtcbi8vLyAgICAgIEBpbmNsdWRlIHNwYW4tY29sdW1ucygyIG9mIDYpO1xuLy8vICAgIH1cbi8vLyAgfVxuLy8vXG4vLy8gQGV4YW1wbGUgY3NzIC0gQ1NTIE91dHB1dFxuLy8vICAgLmVsZW1lbnQge1xuLy8vICAgICBkaXNwbGF5OiBibG9jaztcbi8vLyAgICAgZmxvYXQ6IGxlZnQ7XG4vLy8gICAgIG1hcmdpbi1yaWdodDogMi4zNTc2NSU7XG4vLy8gICAgIHdpZHRoOiA0OC44MjExNyU7XG4vLy8gICB9XG4vLy9cbi8vLyAgIC5lbGVtZW50Omxhc3QtY2hpbGQge1xuLy8vICAgICBtYXJnaW4tcmlnaHQ6IDA7XG4vLy8gICB9XG4vLy9cbi8vLyAgIC5lbGVtZW50IC5uZXN0ZWQtZWxlbWVudCB7XG4vLy8gICAgIGRpc3BsYXk6IGJsb2NrO1xuLy8vICAgICBmbG9hdDogbGVmdDtcbi8vLyAgICAgbWFyZ2luLXJpZ2h0OiA0LjgyOTE2JTtcbi8vLyAgICAgd2lkdGg6IDMwLjExMzg5JTtcbi8vLyAgIH1cbi8vL1xuLy8vICAgLmVsZW1lbnQgLm5lc3RlZC1lbGVtZW50Omxhc3QtY2hpbGQge1xuLy8vICAgICBtYXJnaW4tcmlnaHQ6IDA7XG4vLy8gICB9XG5cbkBtaXhpbiBzcGFuLWNvbHVtbnMoJHNwYW46ICRjb2x1bW5zIG9mICRjb250YWluZXItY29sdW1ucywgJGRpc3BsYXk6IGJsb2NrKSB7XG4gICRjb2x1bW5zOiBudGgoJHNwYW4sIDEpO1xuICAkY29udGFpbmVyLWNvbHVtbnM6IGNvbnRhaW5lci1zcGFuKCRzcGFuKTtcblxuICAkcGFyZW50LWNvbHVtbnM6IGdldC1wYXJlbnQtY29sdW1ucygkY29udGFpbmVyLWNvbHVtbnMpICFnbG9iYWw7XG5cbiAgJGRpcmVjdGlvbjogZ2V0LWRpcmVjdGlvbigkbGF5b3V0LWRpcmVjdGlvbiwgJGRlZmF1bHQtbGF5b3V0LWRpcmVjdGlvbik7XG4gICRvcHBvc2l0ZS1kaXJlY3Rpb246IGdldC1vcHBvc2l0ZS1kaXJlY3Rpb24oJGRpcmVjdGlvbik7XG5cbiAgJGRpc3BsYXktdGFibGU6IGlzLWRpc3BsYXktdGFibGUoJGNvbnRhaW5lci1kaXNwbGF5LXRhYmxlLCAkZGlzcGxheSk7XG5cbiAgQGlmICRkaXNwbGF5LXRhYmxlICB7XG4gICAgZGlzcGxheTogdGFibGUtY2VsbDtcbiAgICB3aWR0aDogcGVyY2VudGFnZSgkY29sdW1ucyAvICRjb250YWluZXItY29sdW1ucyk7XG4gIH0gQGVsc2Uge1xuICAgIGZsb2F0OiAjeyRvcHBvc2l0ZS1kaXJlY3Rpb259O1xuXG4gICAgQGlmICRkaXNwbGF5ICE9IG5vLWRpc3BsYXkge1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgfVxuXG4gICAgQGlmICRkaXNwbGF5ID09IGNvbGxhcHNlIHtcbiAgICAgIEBpbmNsdWRlIC1uZWF0LXdhcm4oXCJUaGUgJ2NvbGxhcHNlJyBhcmd1bWVudCB3aWxsIGJlIGRlcHJlY2F0ZWQuIFVzZSAnYmxvY2stY29sbGFwc2UnIGluc3RlYWQuXCIpO1xuICAgIH1cblxuICAgIEBpZiAkZGlzcGxheSA9PSBjb2xsYXBzZSBvciAkZGlzcGxheSA9PSBibG9jay1jb2xsYXBzZSB7XG4gICAgICB3aWR0aDogZmxleC1ncmlkKCRjb2x1bW5zLCAkY29udGFpbmVyLWNvbHVtbnMpICsgZmxleC1ndXR0ZXIoJGNvbnRhaW5lci1jb2x1bW5zKTtcblxuICAgICAgJjpsYXN0LWNoaWxkIHtcbiAgICAgICAgd2lkdGg6IGZsZXgtZ3JpZCgkY29sdW1ucywgJGNvbnRhaW5lci1jb2x1bW5zKTtcbiAgICAgIH1cblxuICAgIH0gQGVsc2Uge1xuICAgICAgbWFyZ2luLSN7JGRpcmVjdGlvbn06IGZsZXgtZ3V0dGVyKCRjb250YWluZXItY29sdW1ucyk7XG4gICAgICB3aWR0aDogZmxleC1ncmlkKCRjb2x1bW5zLCAkY29udGFpbmVyLWNvbHVtbnMpO1xuXG4gICAgICAmOmxhc3QtY2hpbGQge1xuICAgICAgICBtYXJnaW4tI3skZGlyZWN0aW9ufTogMDtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiIsIiRwYXJlbnQtY29sdW1uczogJGdyaWQtY29sdW1ucyAhZGVmYXVsdDtcbiRmZy1jb2x1bW46ICRjb2x1bW47XG4kZmctZ3V0dGVyOiAkZ3V0dGVyO1xuJGZnLW1heC1jb2x1bW5zOiAkZ3JpZC1jb2x1bW5zO1xuJGNvbnRhaW5lci1kaXNwbGF5LXRhYmxlOiBmYWxzZSAhZGVmYXVsdDtcbiRsYXlvdXQtZGlyZWN0aW9uOiBMVFIgIWRlZmF1bHQ7XG5cbkBmdW5jdGlvbiBmbGV4LWdyaWQoJGNvbHVtbnMsICRjb250YWluZXItY29sdW1uczogJGZnLW1heC1jb2x1bW5zKSB7XG4gICR3aWR0aDogJGNvbHVtbnMgKiAkZmctY29sdW1uICsgKCRjb2x1bW5zIC0gMSkgKiAkZmctZ3V0dGVyO1xuICAkY29udGFpbmVyLXdpZHRoOiAkY29udGFpbmVyLWNvbHVtbnMgKiAkZmctY29sdW1uICsgKCRjb250YWluZXItY29sdW1ucyAtIDEpICogJGZnLWd1dHRlcjtcbiAgQHJldHVybiBwZXJjZW50YWdlKCR3aWR0aCAvICRjb250YWluZXItd2lkdGgpO1xufVxuXG5AZnVuY3Rpb24gZmxleC1ndXR0ZXIoJGNvbnRhaW5lci1jb2x1bW5zOiAkZmctbWF4LWNvbHVtbnMsICRndXR0ZXI6ICRmZy1ndXR0ZXIpIHtcbiAgJGNvbnRhaW5lci13aWR0aDogJGNvbnRhaW5lci1jb2x1bW5zICogJGZnLWNvbHVtbiArICgkY29udGFpbmVyLWNvbHVtbnMgLSAxKSAqICRmZy1ndXR0ZXI7XG4gIEByZXR1cm4gcGVyY2VudGFnZSgkZ3V0dGVyIC8gJGNvbnRhaW5lci13aWR0aCk7XG59XG5cbkBmdW5jdGlvbiBncmlkLXdpZHRoKCRuKSB7XG4gIEByZXR1cm4gJG4gKiAkZ3ctY29sdW1uICsgKCRuIC0gMSkgKiAkZ3ctZ3V0dGVyO1xufVxuXG5AZnVuY3Rpb24gZ2V0LXBhcmVudC1jb2x1bW5zKCRjb2x1bW5zKSB7XG4gIEBpZiAkY29sdW1ucyAhPSAkZ3JpZC1jb2x1bW5zIHtcbiAgICAkcGFyZW50LWNvbHVtbnM6ICRjb2x1bW5zICFnbG9iYWw7XG4gIH0gQGVsc2Uge1xuICAgICRwYXJlbnQtY29sdW1uczogJGdyaWQtY29sdW1ucyAhZ2xvYmFsO1xuICB9XG5cbiAgQHJldHVybiAkcGFyZW50LWNvbHVtbnM7XG59XG5cbkBmdW5jdGlvbiBpcy1kaXNwbGF5LXRhYmxlKCRjb250YWluZXItaXMtZGlzcGxheS10YWJsZSwgJGRpc3BsYXkpIHtcbiAgQHJldHVybiAkY29udGFpbmVyLWlzLWRpc3BsYXktdGFibGUgPT0gdHJ1ZSBvciAkZGlzcGxheSA9PSB0YWJsZTtcbn1cbiIsIkBjaGFyc2V0IFwiVVRGLThcIjtcblxuLy8vIFRyYW5zbGF0ZXMgYW4gZWxlbWVudCBob3Jpem9udGFsbHkgYnkgYSBudW1iZXIgb2YgY29sdW1ucy4gUG9zaXRpdmUgYXJndW1lbnRzIHNoaWZ0IHRoZSBlbGVtZW50IHRvIHRoZSBhY3RpdmUgbGF5b3V0IGRpcmVjdGlvbiwgd2hpbGUgbmVnYXRpdmUgb25lcyBzaGlmdCBpdCB0byB0aGUgb3Bwb3NpdGUgZGlyZWN0aW9uLlxuLy8vXG4vLy8gQHBhcmFtIHtOdW1iZXIgKHVuaXRsZXNzKX0gJG4tY29sdW1ucyBbMV1cbi8vLyAgIE51bWJlciBvZiBjb2x1bW5zIGJ5IHdoaWNoIHRoZSBlbGVtZW50IHNoaWZ0cy5cbi8vL1xuLy8vIEBleGFtcGxlIHNjc3MgLSBVc2FnZVxuLy8vICAgLmVsZW1lbnQge1xuLy8vICAgICBAaW5jbHVkZSBzaGlmdCgtMyk7XG4vLy8gICB9XG4vLy9cbi8vLyBAZXhhbXBsZSBjc3MgLSBDU1Mgb3V0cHV0XG4vLy8gICAuZWxlbWVudCB7XG4vLy8gICAgIG1hcmdpbi1sZWZ0OiAtMjUuNTg5NDElO1xuLy8vICAgfVxuXG5AbWl4aW4gc2hpZnQoJG4tY29sdW1uczogMSkge1xuICBAaW5jbHVkZSBzaGlmdC1pbi1jb250ZXh0KCRuLWNvbHVtbnMpO1xufVxuXG4vLy8gVHJhbnNsYXRlcyBhbiBlbGVtZW50IGhvcml6b250YWxseSBieSBhIG51bWJlciBvZiBjb2x1bW5zLCBpbiBhIHNwZWNpZmljIG5lc3RpbmcgY29udGV4dC5cbi8vL1xuLy8vIEBwYXJhbSB7TGlzdH0gJHNoaWZ0XG4vLy8gICBBIGxpc3QgY29udGFpbmluZyB0aGUgbnVtYmVyIG9mIGNvbHVtbnMgdG8gc2hpZnQgKGAkY29sdW1uc2ApIGFuZCB0aGUgbnVtYmVyIG9mIGNvbHVtbnMgb2YgdGhlIHBhcmVudCBlbGVtZW50IChgJGNvbnRhaW5lci1jb2x1bW5zYCkuXG4vLy9cbi8vLyAgIFRoZSB0d28gdmFsdWVzIGNhbiBiZSBzZXBhcmF0ZWQgd2l0aCBhbnkgc3RyaW5nIHN1Y2ggYXMgYG9mYCwgYC9gLCBldGMuXG4vLy9cbi8vLyBAZXhhbXBsZSBzY3NzIC0gVXNhZ2Vcbi8vLyAgIC5lbGVtZW50IHtcbi8vLyAgICAgQGluY2x1ZGUgc2hpZnQoLTMgb2YgNik7XG4vLy8gICB9XG4vLy9cbi8vLyBAZXhhbXBsZSBjc3MgLSBDU1Mgb3V0cHV0XG4vLy8gICAuZWxlbWVudCB7XG4vLy8gICAgIG1hcmdpbi1sZWZ0OiAtNTIuNDE0NTglO1xuLy8vICAgfVxuXG5AbWl4aW4gc2hpZnQtaW4tY29udGV4dCgkc2hpZnQ6ICRjb2x1bW5zIG9mICRjb250YWluZXItY29sdW1ucykge1xuICAkbi1jb2x1bW5zOiBudGgoJHNoaWZ0LCAxKTtcbiAgJHBhcmVudC1jb2x1bW5zOiBjb250YWluZXItc2hpZnQoJHNoaWZ0KSAhZ2xvYmFsO1xuXG4gICRkaXJlY3Rpb246IGdldC1kaXJlY3Rpb24oJGxheW91dC1kaXJlY3Rpb24sICRkZWZhdWx0LWxheW91dC1kaXJlY3Rpb24pO1xuICAkb3Bwb3NpdGUtZGlyZWN0aW9uOiBnZXQtb3Bwb3NpdGUtZGlyZWN0aW9uKCRkaXJlY3Rpb24pO1xuXG4gIG1hcmdpbi0jeyRvcHBvc2l0ZS1kaXJlY3Rpb259OiAkbi1jb2x1bW5zICogZmxleC1ncmlkKDEsICRwYXJlbnQtY29sdW1ucykgKyAkbi1jb2x1bW5zICogZmxleC1ndXR0ZXIoJHBhcmVudC1jb2x1bW5zKTtcblxuICAvLyBSZXNldCBuZXN0aW5nIGNvbnRleHRcbiAgJHBhcmVudC1jb2x1bW5zOiAkZ3JpZC1jb2x1bW5zICFnbG9iYWw7XG59XG4iLCJAY2hhcnNldCBcIlVURi04XCI7XG5cbi8vLyBSZW1vdmVzIHRoZSBlbGVtZW50J3MgZ3V0dGVyIG1hcmdpbiwgcmVnYXJkbGVzcyBvZiBpdHMgcG9zaXRpb24gaW4gdGhlIGdyaWQgaGllcmFyY2h5IG9yIGRpc3BsYXkgcHJvcGVydHkuIEl0IGNhbiB0YXJnZXQgYSBzcGVjaWZpYyBlbGVtZW50LCBvciBldmVyeSBgbnRoLWNoaWxkYCBvY2N1cnJlbmNlLiBXb3JrcyBvbmx5IHdpdGggYGJsb2NrYCBsYXlvdXRzLlxuLy8vXG4vLy8gQHBhcmFtIHtMaXN0fSAkcXVlcnkgW2Jsb2NrXVxuLy8vICAgTGlzdCBvZiBhcmd1bWVudHMuIFN1cHBvcnRlZCBhcmd1bWVudHMgYXJlIGBudGgtY2hpbGRgIHNlbGVjdG9ycyAodGFyZ2V0cyBhIHNwZWNpZmljIHBzZXVkbyBlbGVtZW50KSBhbmQgYGF1dG9gICh0YXJnZXRzIGBsYXN0LWNoaWxkYCkuXG4vLy9cbi8vLyAgIFdoZW4gcGFzc2VkIGFuIGBudGgtY2hpbGRgIGFyZ3VtZW50IG9mIHR5cGUgYCpuYCB3aXRoIGBibG9ja2AgZGlzcGxheSwgdGhlIG9tZWdhIG1peGluIGF1dG9tYXRpY2FsbHkgYWRkcyBhIGNsZWFyIHRvIHRoZSBgKm4rMWAgdGggZWxlbWVudC4gTm90ZSB0aGF0IGNvbXBvc2l0ZSBhcmd1bWVudHMgc3VjaCBhcyBgMm4rMWAgZG8gbm90IHN1cHBvcnQgdGhpcyBmZWF0dXJlLlxuLy8vXG4vLy8gICAqKkRlcHJlY2F0aW9uIHdhcm5pbmcqKjogVGhlIG9tZWdhIG1peGluIHdpbGwgbm8gbG9uZ2VyIHRha2UgYSBgJGRpcmVjdGlvbmAgYXJndW1lbnQuIFRvIGNoYW5nZSB0aGUgbGF5b3V0IGRpcmVjdGlvbiwgdXNlIGByb3coJGRpcmVjdGlvbilgIG9yIHNldCBgJGRlZmF1bHQtbGF5b3V0LWRpcmVjdGlvbmAgaW5zdGVhZC5cbi8vL1xuLy8vIEBleGFtcGxlIHNjc3MgLSBVc2FnZVxuLy8vICAgLmVsZW1lbnQge1xuLy8vICAgICBAaW5jbHVkZSBvbWVnYTtcbi8vLyAgIH1cbi8vL1xuLy8vICAgLm50aC1lbGVtZW50IHtcbi8vLyAgICAgQGluY2x1ZGUgb21lZ2EoNG4pO1xuLy8vICAgfVxuLy8vXG4vLy8gQGV4YW1wbGUgY3NzIC0gQ1NTIE91dHB1dFxuLy8vICAgLmVsZW1lbnQge1xuLy8vICAgICBtYXJnaW4tcmlnaHQ6IDA7XG4vLy8gICB9XG4vLy9cbi8vLyAgIC5udGgtZWxlbWVudDpudGgtY2hpbGQoNG4pIHtcbi8vLyAgICAgbWFyZ2luLXJpZ2h0OiAwO1xuLy8vICAgfVxuLy8vXG4vLy8gICAubnRoLWVsZW1lbnQ6bnRoLWNoaWxkKDRuKzEpIHtcbi8vLyAgICAgY2xlYXI6IGxlZnQ7XG4vLy8gICB9XG5cbkBtaXhpbiBvbWVnYSgkcXVlcnk6IGJsb2NrLCAkZGlyZWN0aW9uOiBkZWZhdWx0KSB7XG4gICR0YWJsZTogYmVsb25ncy10byh0YWJsZSwgJHF1ZXJ5KTtcbiAgJGF1dG86IGJlbG9uZ3MtdG8oYXV0bywgJHF1ZXJ5KTtcblxuICBAaWYgJGRpcmVjdGlvbiAhPSBkZWZhdWx0IHtcbiAgICBAaW5jbHVkZSAtbmVhdC13YXJuKFwiVGhlIG9tZWdhIG1peGluIHdpbGwgbm8gbG9uZ2VyIHRha2UgYSAkZGlyZWN0aW9uIGFyZ3VtZW50LiBUbyBjaGFuZ2UgdGhlIGxheW91dCBkaXJlY3Rpb24sIHVzZSB0aGUgZGlyZWN0aW9uKCl7Li4ufSBtaXhpbi5cIik7XG4gIH0gQGVsc2Uge1xuICAgICRkaXJlY3Rpb246IGdldC1kaXJlY3Rpb24oJGxheW91dC1kaXJlY3Rpb24sICRkZWZhdWx0LWxheW91dC1kaXJlY3Rpb24pO1xuICB9XG5cbiAgQGlmICR0YWJsZSB7XG4gICAgQGluY2x1ZGUgLW5lYXQtd2FybihcIlRoZSBvbWVnYSBtaXhpbiBubyBsb25nZXIgcmVtb3ZlcyBwYWRkaW5nIGluIHRhYmxlIGxheW91dHMuXCIpO1xuICB9XG5cbiAgQGlmIGxlbmd0aCgkcXVlcnkpID09IDEge1xuICAgIEBpZiAkYXV0byB7XG4gICAgICAmOmxhc3QtY2hpbGQge1xuICAgICAgICBtYXJnaW4tI3skZGlyZWN0aW9ufTogMDtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBAZWxzZSBpZiBjb250YWlucy1kaXNwbGF5LXZhbHVlKCRxdWVyeSkgYW5kICR0YWJsZSA9PSBmYWxzZSB7XG4gICAgICBtYXJnaW4tI3skZGlyZWN0aW9ufTogMDtcbiAgICB9XG5cbiAgICBAZWxzZSB7XG4gICAgICBAaW5jbHVkZSBudGgtY2hpbGQoJHF1ZXJ5LCAkZGlyZWN0aW9uKTtcbiAgICB9XG4gIH0gQGVsc2UgaWYgbGVuZ3RoKCRxdWVyeSkgPT0gMiB7XG4gICAgQGlmICRhdXRvIHtcbiAgICAgICY6bGFzdC1jaGlsZCB7XG4gICAgICAgIG1hcmdpbi0jeyRkaXJlY3Rpb259OiAwO1xuICAgICAgfVxuICAgIH0gQGVsc2Uge1xuICAgICAgQGluY2x1ZGUgbnRoLWNoaWxkKG50aCgkcXVlcnksIDEpLCAkZGlyZWN0aW9uKTtcbiAgICB9XG4gIH0gQGVsc2Uge1xuICAgIEBpbmNsdWRlIC1uZWF0LXdhcm4oXCJUb28gbWFueSBhcmd1bWVudHMgcGFzc2VkIHRvIHRoZSBvbWVnYSgpIG1peGluLlwiKTtcbiAgfVxufVxuXG5AbWl4aW4gbnRoLWNoaWxkKCRxdWVyeSwgJGRpcmVjdGlvbikge1xuICAkb3Bwb3NpdGUtZGlyZWN0aW9uOiBnZXQtb3Bwb3NpdGUtZGlyZWN0aW9uKCRkaXJlY3Rpb24pO1xuXG4gICY6bnRoLWNoaWxkKCN7JHF1ZXJ5fSkge1xuICAgIG1hcmdpbi0jeyRkaXJlY3Rpb259OiAwO1xuICB9XG5cbiAgQGlmIHR5cGUtb2YoJHF1ZXJ5KSA9PSBudW1iZXIgYW5kIHVuaXQoJHF1ZXJ5KSA9PSBcIm5cIiB7XG4gICAgJjpudGgtY2hpbGQoI3skcXVlcnl9KzEpIHtcbiAgICAgIGNsZWFyOiAkb3Bwb3NpdGUtZGlyZWN0aW9uO1xuICAgIH1cbiAgfVxufVxuIiwiLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG4vL1xuLy8gQlVUVE9OU1xuLy9cbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuXG4uYnV0dG9uIHtcbiAgICBAaW5jbHVkZSB0cmFuc2l0aW9uKCBhbGwgMC4yNXMgKTtcblxuICAgIEBpbmNsdWRlIGZvbnQgKDI0LCAxNTAsIHVwcGVyY2FzZSk7XG4gICAgbGluZS1oZWlnaHQ6IDEwMCUgIWltcG9ydGFudDtcbiAgICBwYWRkaW5nOiAxNXB4IDMwcHg7XG4gICAgYm9yZGVyLXJhZGl1czogMHB4O1xuICAgIGNvbG9yOiB3aGl0ZTtcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgYm9yZGVyLXdpZHRoOiAycHg7XG4gICAgYm9yZGVyLXN0eWxlOiBzb2xpZDtcblxuICAgIEBpbmNsdWRlIG1lZGlhKCRwb3J0YWJsZXMpIHtcbiAgICAgICAgcGFkZGluZzogMTNweCAzMHB4O1xuICAgIH1cblxuICAgIEBpbmNsdWRlIG1lZGlhKCRtb2JpbGUtb25seSkge1xuICAgICAgICBwYWRkaW5nOiAxMXB4IDI2cHg7XG4gICAgfVxuXG4gICAgJi5wcmltYXJ5IHtcbiAgICAgICAgcG9zaXRpb246cmVsYXRpdmU7XG4gICAgICAgIHotaW5kZXg6IDE7XG4gICAgICAgIGJvcmRlcjogbm9uZTtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHByaW1hcnk7XG4gICAgICAgIGNvbG9yOiAkd2hpdGU7XG4gICAgICAgIHBhZGRpbmctcmlnaHQ6NjlweDtcbiAgICAgICAgJjphZnRlciB7XG4gICAgICAgICAgICBAaW5jbHVkZSB0cmFuc2l0aW9uKCBhbGwgMC4yNXMgKTtcbiAgICAgICAgICAgIGNvbnRlbnQ6Jyc7XG4gICAgICAgICAgICBkaXNwbGF5OmJsb2NrO1xuICAgICAgICAgICAgcG9zaXRpb246YWJzb2x1dGU7XG4gICAgICAgICAgICB0b3A6MDtcbiAgICAgICAgICAgIHJpZ2h0OjA7XG4gICAgICAgICAgICB3aWR0aDozOXB4O1xuICAgICAgICAgICAgaGVpZ2h0OjEwMCU7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kOnJnYmEoJHNlY29uZGFyeSwgMC4yKSB1cmwoZGF0YTppbWFnZS9zdmcreG1sO2Jhc2U2NCxQRDk0Yld3Z2RtVnljMmx2YmowaU1TNHdJaUJsYm1OdlpHbHVaejBpZFhSbUxUZ2lQejQ4YzNabklIWmxjbk5wYjI0OUlqRXVNU0lnYVdROUlreGhlV1Z5WHpFaUlIaHRiRzV6UFNKb2RIUndPaTh2ZDNkM0xuY3pMbTl5Wnk4eU1EQXdMM04yWnlJZ2VHMXNibk02ZUd4cGJtczlJbWgwZEhBNkx5OTNkM2N1ZHpNdWIzSm5MekU1T1RrdmVHeHBibXNpSUhnOUlqQndlQ0lnZVQwaU1IQjRJaUIyYVdWM1FtOTRQU0l3SURBZ01UQXVPQ0EySWlCemRIbHNaVDBpWlc1aFlteGxMV0poWTJ0bmNtOTFibVE2Ym1WM0lEQWdNQ0F4TUM0NElEWTdJaUI0Yld3NmMzQmhZMlU5SW5CeVpYTmxjblpsSWo0OGMzUjViR1VnZEhsd1pUMGlkR1Y0ZEM5amMzTWlQaTV6ZERCN1ptbHNiRG9qUmtaR1JrWkdPMzA4TDNOMGVXeGxQanh3YjJ4NVoyOXVJR05zWVhOelBTSnpkREFpSUhCdmFXNTBjejBpTUN3d0lEQXNOaUF4TUM0NExETWdJaTgrUEM5emRtYyspIG5vLXJlcGVhdCBjZW50ZXIgY2VudGVyO1xuICAgICAgICAgICAgYmFja2dyb3VuZC1zaXplOiAxNXB4IGF1dG87XG4gICAgICAgIH1cbiAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBkYXJrZW4oJHByaW1hcnksIDUlKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgICYuc2Vjb25kYXJ5IHtcbiAgICAgICAgcG9zaXRpb246cmVsYXRpdmU7XG4gICAgICAgIHotaW5kZXg6IDE7XG4gICAgICAgIGJvcmRlcjogbm9uZTtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHdoaXRlO1xuICAgICAgICBjb2xvcjogJHByaW1hcnk7XG4gICAgICAgIHBhZGRpbmctcmlnaHQ6NjlweDtcbiAgICAgICAgJjphZnRlciB7XG4gICAgICAgICAgICBjb250ZW50OicnO1xuICAgICAgICAgICAgZGlzcGxheTpibG9jaztcbiAgICAgICAgICAgIHBvc2l0aW9uOmFic29sdXRlO1xuICAgICAgICAgICAgdG9wOjA7XG4gICAgICAgICAgICByaWdodDowO1xuICAgICAgICAgICAgd2lkdGg6MzlweDtcbiAgICAgICAgICAgIGhlaWdodDoxMDAlO1xuICAgICAgICAgICAgYmFja2dyb3VuZDpyZ2JhKCRwcmltYXJ5LCAwLjIpIHVybChkYXRhOmltYWdlL3N2Zyt4bWw7YmFzZTY0LFBEOTRiV3dnZG1WeWMybHZiajBpTVM0d0lpQmxibU52WkdsdVp6MGlkWFJtTFRnaVB6NDhjM1puSUhabGNuTnBiMjQ5SWpFdU1TSWdhV1E5SWt4aGVXVnlYekVpSUhodGJHNXpQU0pvZEhSd09pOHZkM2QzTG5jekxtOXlaeTh5TURBd0wzTjJaeUlnZUcxc2JuTTZlR3hwYm1zOUltaDBkSEE2THk5M2QzY3Vkek11YjNKbkx6RTVPVGt2ZUd4cGJtc2lJSGc5SWpCd2VDSWdlVDBpTUhCNElpQjJhV1YzUW05NFBTSXdJREFnTVRBdU9DQTJJaUJ6ZEhsc1pUMGlaVzVoWW14bExXSmhZMnRuY205MWJtUTZibVYzSURBZ01DQXhNQzQ0SURZN0lpQjRiV3c2YzNCaFkyVTlJbkJ5WlhObGNuWmxJajQ4YzNSNWJHVWdkSGx3WlQwaWRHVjRkQzlqYzNNaVBpNXpkREI3Wm1sc2JEb2pSa1pHUmtaR08zMDhMM04wZVd4bFBqeHdiMng1WjI5dUlHTnNZWE56UFNKemREQWlJSEJ2YVc1MGN6MGlNQ3d3SURBc05pQXhNQzQ0TERNZ0lpOCtQQzl6ZG1jKykgbm8tcmVwZWF0IGNlbnRlciBjZW50ZXI7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLXNpemU6IDE1cHggYXV0bztcbiAgICAgICAgfVxuICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IGRhcmtlbigkd2hpdGUsIDUlKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgICYubGluZS1wcmltYXJ5IHtcbiAgICAgICAgYmFja2dyb3VuZDogbm9uZTtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiAjZWM5YzJkO1xuICAgICAgICBjb2xvcjogI2VjOWMyZDtcbiAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZWM5YzJkO1xuICAgICAgICAgICAgY29sb3I6ICR3aGl0ZTtcbiAgICAgICAgICAgIHRleHQtc2hhZG93OiBub25lO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgJi5saW5lLXNlY29uZGFyeSB7XG4gICAgICAgIGJvcmRlci1jb2xvcjogJHdoaXRlO1xuICAgICAgICBjb2xvcjogJHdoaXRlO1xuICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICR3aGl0ZTtcbiAgICAgICAgICAgIGNvbG9yOiAjZWM5YzJkO1xuICAgICAgICAgICAgdGV4dC1zaGFkb3c6IG5vbmU7XG4gICAgICAgIH1cbiAgICB9XG59XG5cbi5idXR0b24ucHJpbWFyeSwgLmJ1dHRvbi5zZWNvbmRhcnkge1xuICAgIHRleHQtc2hhZG93OiBub25lO1xufSIsIkBjaGFyc2V0IFwiVVRGLThcIjtcblxuLy8vIEEgbWl4aW4gZm9yIGdlbmVyYXRpbmcgdmVuZG9yIHByZWZpeGVzIG9uIG5vbi1zdGFuZGFyZGl6ZWQgcHJvcGVydGllcy5cbi8vL1xuLy8vIEBwYXJhbSB7U3RyaW5nfSAkcHJvcGVydHlcbi8vLyAgIFByb3BlcnR5IHRvIHByZWZpeFxuLy8vXG4vLy8gQHBhcmFtIHsqfSAkdmFsdWVcbi8vLyAgIFZhbHVlIHRvIHVzZVxuLy8vXG4vLy8gQHBhcmFtIHtMaXN0fSAkcHJlZml4ZXNcbi8vLyAgIFByZWZpeGVzIHRvIGRlZmluZVxuLy8vXG4vLy8gQGV4YW1wbGUgc2NzcyAtIFVzYWdlXG4vLy8gICAuZWxlbWVudCB7XG4vLy8gICAgIEBpbmNsdWRlIHByZWZpeGVyKGJvcmRlci1yYWRpdXMsIDEwcHgsIHdlYmtpdCBtcyBzcGVjKTtcbi8vLyAgIH1cbi8vL1xuLy8vIEBleGFtcGxlIGNzcyAtIENTUyBPdXRwdXRcbi8vLyAgIC5lbGVtZW50IHtcbi8vLyAgICAgLXdlYmtpdC1ib3JkZXItcmFkaXVzOiAxMHB4O1xuLy8vICAgICAtbW96LWJvcmRlci1yYWRpdXM6IDEwcHg7XG4vLy8gICAgIGJvcmRlci1yYWRpdXM6IDEwcHg7XG4vLy8gICB9XG4vLy9cbi8vLyBAcmVxdWlyZSB7dmFyaWFibGV9ICRwcmVmaXgtZm9yLXdlYmtpdFxuLy8vIEByZXF1aXJlIHt2YXJpYWJsZX0gJHByZWZpeC1mb3ItbW96aWxsYVxuLy8vIEByZXF1aXJlIHt2YXJpYWJsZX0gJHByZWZpeC1mb3ItbWljcm9zb2Z0XG4vLy8gQHJlcXVpcmUge3ZhcmlhYmxlfSAkcHJlZml4LWZvci1vcGVyYVxuLy8vIEByZXF1aXJlIHt2YXJpYWJsZX0gJHByZWZpeC1mb3Itc3BlY1xuXG5AbWl4aW4gcHJlZml4ZXIoJHByb3BlcnR5LCAkdmFsdWUsICRwcmVmaXhlcykge1xuICBAZWFjaCAkcHJlZml4IGluICRwcmVmaXhlcyB7XG4gICAgQGlmICRwcmVmaXggPT0gd2Via2l0IHtcbiAgICAgIEBpZiAkcHJlZml4LWZvci13ZWJraXQge1xuICAgICAgICAtd2Via2l0LSN7JHByb3BlcnR5fTogJHZhbHVlO1xuICAgICAgfVxuICAgIH0gQGVsc2UgaWYgJHByZWZpeCA9PSBtb3oge1xuICAgICAgQGlmICRwcmVmaXgtZm9yLW1vemlsbGEge1xuICAgICAgICAtbW96LSN7JHByb3BlcnR5fTogJHZhbHVlO1xuICAgICAgfVxuICAgIH0gQGVsc2UgaWYgJHByZWZpeCA9PSBtcyB7XG4gICAgICBAaWYgJHByZWZpeC1mb3ItbWljcm9zb2Z0IHtcbiAgICAgICAgLW1zLSN7JHByb3BlcnR5fTogJHZhbHVlO1xuICAgICAgfVxuICAgIH0gQGVsc2UgaWYgJHByZWZpeCA9PSBvIHtcbiAgICAgIEBpZiAkcHJlZml4LWZvci1vcGVyYSB7XG4gICAgICAgIC1vLSN7JHByb3BlcnR5fTogJHZhbHVlO1xuICAgICAgfVxuICAgIH0gQGVsc2UgaWYgJHByZWZpeCA9PSBzcGVjIHtcbiAgICAgIEBpZiAkcHJlZml4LWZvci1zcGVjIHtcbiAgICAgICAgI3skcHJvcGVydHl9OiAkdmFsdWU7XG4gICAgICB9XG4gICAgfSBAZWxzZSAge1xuICAgICAgQHdhcm4gXCJVbnJlY29nbml6ZWQgcHJlZml4OiAjeyRwcmVmaXh9XCI7XG4gICAgfVxuICB9XG59XG5cbkBtaXhpbiBkaXNhYmxlLXByZWZpeC1mb3ItYWxsKCkge1xuICAkcHJlZml4LWZvci13ZWJraXQ6ICAgIGZhbHNlICFnbG9iYWw7XG4gICRwcmVmaXgtZm9yLW1vemlsbGE6ICAgZmFsc2UgIWdsb2JhbDtcbiAgJHByZWZpeC1mb3ItbWljcm9zb2Z0OiBmYWxzZSAhZ2xvYmFsO1xuICAkcHJlZml4LWZvci1vcGVyYTogICAgIGZhbHNlICFnbG9iYWw7XG4gICRwcmVmaXgtZm9yLXNwZWM6ICAgICAgZmFsc2UgIWdsb2JhbDtcbn1cbiIsIi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuLy9cbi8vIEZPUk1cbi8vXG4vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cblxuXG5pbnB1dFt0eXBlPVwidGV4dFwiXSxcbmlucHV0W3R5cGU9XCJlbWFpbFwiXSxcbmlucHV0W3R5cGU9XCJ0ZWxcIl0sXG5pbnB1dFt0eXBlPVwidXJsXCJdLFxuaW5wdXRbdHlwZT1cInBhc3N3b3JkXCJdLFxuaW5wdXRbdHlwZT1cInNlYXJjaFwiXSxcbnRleHRhcmVhLFxuc2VsZWN0IHtcbiAgYXBwZWFyYW5jZTogbm9uZTtcbiAgLW1vei1hcHBlYXJhbmNlOiBub25lO1xuICAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7XG5cbiAgYm9yZGVyLXJhZGl1czogMDtcbiAgLW1vei1ib3JkZXItcmFkaXVzOiAwO1xuICAtd2Via2l0LWJvcmRlci1yYWRpdXM6IDA7XG5cbiAgJjpmb2N1cyB7b3V0bGluZTpub25lO31cbn1cblxuXG4uZ2Zvcm1fYnV0dG9uIHtcbiAgICAvLyAuLi5cbn1cblxuLmdmb3JtX2NvbmZpcm1hdGlvbl93cmFwcGVyIHtcbiAgICBjb2xvcjogJGdyYXk7XG4gICAgbWFyZ2luLWJvdHRvbTogMTBweDtcbn1cblxuLmdmb3JtX2ZpZWxkcyB7XG4gICAgbGlzdC1zdHlsZTogbm9uZTtcbiAgICBtYXJnaW46MDtcbn1cblxuLmdmaWVsZF9sYWJlbCB7XG4gICAgY29sb3I6ICRibGFjaztcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBmb250LXN0eWxlOiBpdGFsaWM7XG5cbiAgICAuZ2ZpZWxkX3JlcXVpcmVkIHtcbiAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG59XG5cbi5naW5wdXRfY29udGFpbmVyIHtcbiAgICBtYXJnaW4tYm90dG9tOiAxMHB4O1xuXG4gICAgaW5wdXRbdHlwZT1cImVtYWlsXCJdLFxuICAgIGlucHV0W3R5cGU9XCJudW1iZXJcIl0sXG4gICAgaW5wdXRbdHlwZT1cInRleHRcIl0sXG4gICAgdGV4dGFyZWEge1xuICAgICAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgICAgICAgYm9yZGVyOiAxcHggc29saWQgJGJsYWNrO1xuICAgICAgICBjb2xvcjogJGdyYXk7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICBsaW5lLWhlaWdodDogMzJweDtcbiAgICAgICAgcGFkZGluZzogMCA1cHg7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuXG4gICAgICAgICY6YWN0aXZlLCAmOmZvY3VzIHtcbiAgICAgICAgICAgIGJvcmRlcjogMXB4IHNvbGlkICRncmF5O1xuICAgICAgICAgICAgb3V0bGluZTogMDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIEBpbmNsdWRlIG1lZGlhKCRkZXNrdG9wKSB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDIycHg7XG5cbiAgICAgICAgaW5wdXRbdHlwZT1cImVtYWlsXCJdLFxuICAgICAgICBpbnB1dFt0eXBlPVwibnVtYmVyXCJdLFxuICAgICAgICBpbnB1dFt0eXBlPVwidGV4dFwiXSxcbiAgICAgICAgdGV4dGFyZWEge1xuICAgICAgICAgICAgYm9yZGVyLXdpZHRoOiAycHg7XG4gICAgICAgICAgICBwYWRkaW5nOiA5cHggMTVweDtcblxuICAgICAgICAgICAgJjphY3RpdmUsICY6Zm9jdXMge1xuICAgICAgICAgICAgICAgIGJvcmRlci13aWR0aDogMnB4O1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIGlucHV0W3R5cGU9XCJlbWFpbFwiXSxcbiAgICAgICAgaW5wdXRbdHlwZT1cIm51bWJlclwiXSxcbiAgICAgICAgaW5wdXRbdHlwZT1cInRleHRcIl0ge1xuICAgICAgICAgICAgaGVpZ2h0OiA1NHB4O1xuICAgICAgICB9XG4gICAgfVxufVxuXG4uZ2ZpZWxkX2Vycm9yIHtcbiAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudGl6ZSgkcmVkLCAwLjg1KTtcbiAgICBtYXJnaW4tdG9wOiAxMHB4O1xuICAgIHBhZGRpbmc6IDEwcHg7XG5cbiAgICAuZ2lucHV0X2NvbnRhaW5lciB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDVweDtcbiAgICB9XG5cbiAgICAuZ2ZpZWxkX2xhYmVsLCAudmFsaWRhdGlvbl9tZXNzYWdlIHtcbiAgICAgICAgY29sb3I6ICRyZWQ7XG4gICAgICAgIGZvbnQtc3R5bGU6IGl0YWxpYztcbiAgICAgICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICB9XG59XG5cbi52YWxpZGF0aW9uX2Vycm9yIHtcbiAgICBjb2xvcjogJHJlZDtcbiAgICBmb250LXN0eWxlOiBpdGFsaWM7XG4gICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICBtYXJnaW4tYm90dG9tOiAxMHB4O1xufVxuXG4uZ2Zvcm1fdmFsaWRhdGlvbl9jb250YWluZXIge1xuICAgIGRpc3BsYXk6IG5vbmU7XG59XG5cbi5naW5wdXRfY29udGFpbmVyX3JhZGlvIHtcbiAgICB1bC5nZmllbGRfcmFkaW8ge1xuICAgICAgICBsaSB7XG4gICAgICAgICAgICBsaXN0LXN0eWxlLXR5cGU6IG5vbmU7XG4gICAgICAgICAgICBsaXN0LXN0eWxlLXR5cGU6IG5vbmU7XG4gICAgICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgICAgICAgICBtYXJnaW46IDE1cHggMDtcbiAgICAgICAgICAgIHBhZGRpbmctbGVmdDogMzBweDtcbiAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICAgICAgICAgICAgaW5wdXRbdHlwZT1yYWRpb10ge1xuICAgICAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgICAgICB2aXNpYmlsaXR5OiBoaWRkZW47XG4gICAgICAgICAgICB9XG4gICAgICAgIFxuICAgICAgICAgICAgbGFiZWwge1xuICAgICAgICAgICAgICAgIEBpbmNsdWRlIHRyYW5zaXRpb24oYWxsIDAuM3MpO1xuICAgICAgICAgICAgICAgIEBpbmNsdWRlIHBhcmFncmFwaC1mb250ICgxOCwgNDAsIG5vbmUpO1xuICAgICAgICAgICAgICAgIGNvbG9yOiBibGFjaztcblxuICAgICAgICAgICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICAgICAgICAgICAgYm9yZGVyOiAycHggc29saWQgYmxhY2s7XG4gICAgICAgICAgICAgICAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgICAgICAgICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgICAgICAgICAgICAgaGVpZ2h0OiAyMnB4O1xuICAgICAgICAgICAgICAgICAgICBsZWZ0OiAwO1xuICAgICAgICAgICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICAgICAgICAgIHRvcDogMnB4O1xuICAgICAgICAgICAgICAgICAgICB3aWR0aDogMjJweDtcbiAgICAgICAgICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogMTAwJTtcbiAgICAgICAgICAgICAgICB9XG5cblxuICAgICAgICAgICAgICAgICY6YWZ0ZXIge1xuICAgICAgICAgICAgICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUoMCk7XG4gICAgICAgICAgICAgICAgICAgIC1tb3otdHJhbnNmb3JtOiBzY2FsZSgwKTtcbiAgICAgICAgICAgICAgICAgICAgLW1zLXRyYW5zZm9ybTogc2NhbGUoMCk7XG4gICAgICAgICAgICAgICAgICAgIC1vLXRyYW5zZm9ybTogc2NhbGUoMCk7XG4gICAgICAgICAgICAgICAgICAgIHRyYW5zZm9ybTogc2NhbGUoMCk7XG4gICAgICAgICAgICAgICAgICAgIC13ZWJraXQtdHJhbnNpdGlvbi1kdXJhdGlvbjogMC4ycztcbiAgICAgICAgICAgICAgICAgICAgLW1vei10cmFuc2l0aW9uLWR1cmF0aW9uOiAwLjJzO1xuICAgICAgICAgICAgICAgICAgICB0cmFuc2l0aW9uLWR1cmF0aW9uOiAwLjJzO1xuICAgICAgICAgICAgICAgICAgICAtd2Via2l0LXRyYW5zaXRpb24tcHJvcGVydHk6IC13ZWJraXQtdHJhbnNmb3JtO1xuICAgICAgICAgICAgICAgICAgICAtbW96LXRyYW5zaXRpb24tcHJvcGVydHk6IC1tb3otdHJhbnNmb3JtO1xuICAgICAgICAgICAgICAgICAgICB0cmFuc2l0aW9uLXByb3BlcnR5OiB0cmFuc2Zvcm07XG4gICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6ICRyZWQ7XG4gICAgICAgICAgICAgICAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgICAgICAgICAgICAgICBoZWlnaHQ6IDEycHg7XG4gICAgICAgICAgICAgICAgICAgIGxlZnQ6IDVweDtcbiAgICAgICAgICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgICAgICAgICB0b3A6IDdweDtcbiAgICAgICAgICAgICAgICAgICAgd2lkdGg6IDEycHg7XG4gICAgICAgICAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDEwMCU7XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgICAgICAgICAgIGNvbG9yOiAkYmxhY2s7XG5cbiAgICAgICAgICAgICAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgICAgICAgICAgICAgICAgYm9yZGVyOiAycHggc29saWQgYmxhY2s7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBpbnB1dDpjaGVja2VkICsgbGFiZWw6YWZ0ZXIge1xuICAgICAgICAgICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZSgxKTtcbiAgICAgICAgICAgICAgICAtbW96LXRyYW5zZm9ybTogc2NhbGUoMSk7XG4gICAgICAgICAgICAgICAgLW1zLXRyYW5zZm9ybTogc2NhbGUoMSk7XG4gICAgICAgICAgICAgICAgLW8tdHJhbnNmb3JtOiBzY2FsZSgxKTtcbiAgICAgICAgICAgICAgICB0cmFuc2Zvcm06IHNjYWxlKDEpO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBpbnB1dDpjaGVja2VkICsgbGFiZWw6YmVmb3JlIHtcbiAgICAgICAgICAgICAgICBib3JkZXItY29sb3I6IGJsYWNrO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBpbnB1dDpjaGVja2VkICsgbGFiZWwge1xuICAgICAgICAgICAgICAgIGNvbG9yOiBibGFjaztcbiAgICAgICAgICAgIH0gIFxuICAgICAgICB9XG4gICAgfVxufVxuXG4uZ2lucHV0X2NvbnRhaW5lcl90ZXh0YXJlYSArIC5nZmllbGRfZGVzY3JpcHRpb24sIC5naW5wdXRfY29udGFpbmVyX3RleHQgKyAuZ2ZpZWxkX2Rlc2NyaXB0aW9uIHtcbiAgICAvLyBtYXJnaW4tdG9wOiAtMTBweDtcbiAgICBtYXJnaW4tYm90dG9tOiAyMHB4O1xufVxuXG4uZ2lucHV0X2NvbnRhaW5lcl9uYW1lIHtcbiAgICBsYWJlbCB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDEwcHg7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIH1cbn1cblxuQGluY2x1ZGUgbWVkaWEoJGRlc2t0b3ApIHtcbiAgICAuZ2lucHV0X2NvbnRhaW5lciB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDMwcHg7XG4gICAgfVxuXG4gICAgLmdpbnB1dF9jb250YWluZXJfdGV4dGFyZWEgKyAuZ2ZpZWxkX2Rlc2NyaXB0aW9uLCAuZ2lucHV0X2NvbnRhaW5lcl90ZXh0ICsgLmdmaWVsZF9kZXNjcmlwdGlvbiB7XG4gICAgICAgIC8vIG1hcmdpbi10b3A6IC0yMHB4O1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAzMHB4O1xuICAgIH1cblxuICAgIC5naW5wdXRfY29udGFpbmVyX25hbWUge1xuICAgICAgICBsYWJlbCB7XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAxMHB4O1xuICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIH1cbiAgICB9XG59IFxuXG5cbi5nZmllbGRfY2hlY2tib3gge1xuICAgIGxpIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgcGFkZGluZy1sZWZ0OiAzMHB4O1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDI1cHg7XG5cbiAgICAgICAgQGluY2x1ZGUgbWVkaWEoJHRhYmxldCkge1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMTVweDtcbiAgICAgICAgfVxuXG4gICAgICAgICY6bGFzdC1jaGlsZCB7XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgICAgICB9XG5cbiAgICAgICAgbGFiZWwge1xuICAgICAgICAgICAgY29sb3I6ICRibGFjaztcbiAgICAgICAgICAgIEBpbmNsdWRlIHRyYW5zaXRpb24oYWxsIDAuMTVzKTtcblxuICAgICAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgICAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgICAgICAgICAgIHdpZHRoOiAyMHB4O1xuICAgICAgICAgICAgICAgIGhlaWdodDogMjBweDtcbiAgICAgICAgICAgICAgICBib3JkZXI6IDJweCBzb2xpZCAkcmVkO1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6IG5vbmU7XG4gICAgICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgICAgIGxlZnQ6IDBweDtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgJjphZnRlciB7XG4gICAgICAgICAgICAgICAgY29udGVudDogJyc7XG4gICAgICAgICAgICAgICAgd2lkdGg6IDlweDtcbiAgICAgICAgICAgICAgICBoZWlnaHQ6IDIycHg7XG4gICAgICAgICAgICAgICAgYm9yZGVyLXJpZ2h0OiA0cHggc29saWQgJHJlZDtcbiAgICAgICAgICAgICAgICBib3JkZXItYm90dG9tOiA0cHggc29saWQgJHJlZDtcbiAgICAgICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICAgICAgbGVmdDogMTFweDtcbiAgICAgICAgICAgICAgICAtbXMtdHJhbnNmb3JtOiByb3RhdGUoNDVkZWcpO1xuICAgICAgICAgICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUoNDVkZWcpO1xuICAgICAgICAgICAgICAgIHRyYW5zZm9ybTogcm90YXRlKDQ1ZGVnKTtcbiAgICAgICAgICAgICAgICB0b3A6IC03cHg7XG4gICAgICAgICAgICAgICAgb3BhY2l0eTogMDtcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSB0cmFuc2l0aW9uKGFsbCAwLjE1cyk7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICY6aG92ZXIge1xuICAgICAgICAgICAgICAgIGNvbG9yOiAkcmVkO1xuXG4gICAgICAgICAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgICAgICAgICAgICBib3JkZXItY29sb3I6ICRyZWQ7XG4gICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRyZWQ7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgaW5wdXQge1xuICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgfVxuXG4gICAgICAgIGlucHV0W3R5cGU9XCJjaGVja2JveFwiXTpjaGVja2VkICsgbGFiZWw6YWZ0ZXIge1xuICAgICAgICAgICAgb3BhY2l0eTogMTtcbiAgICAgICAgfVxuXG4gICAgICAgIGlucHV0W3R5cGU9XCJjaGVja2JveFwiXTpjaGVja2VkICsgbGFiZWwge1xuICAgICAgICAgICAgY29sb3I6ICRibGFjaztcbiAgICAgICAgfVxuXG4gICAgICAgIGlucHV0W3R5cGU9XCJjaGVja2JveFwiXTpjaGVja2VkICsgbGFiZWw6YmVmb3JlIHtcbiAgICAgICAgICAgIGJvcmRlci1jb2xvcjogJGJsYWNrO1xuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHdoaXRlO1xuICAgICAgICB9XG4gICAgfVxufVxuXG4uZ2lucHV0X2NvbnRhaW5lcl9zZWxlY3Qge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBtYXJnaW4tYm90dG9tOiAyMHB4O1xuXG4gICAgJjphZnRlciB7XG4gICAgICAgIGNvbnRlbnQ6ICdnJztcbiAgICAgICAgZm9udC1mYW1pbHk6ICRJY29ucztcbiAgICAgICAgdGV4dC10cmFuc2Zvcm06IG5vbmU7XG4gICAgICAgIGNvbG9yOiAkcmVkO1xuICAgICAgICB0b3A6IGNhbGMoNTAlIC0gMTRweCk7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgcmlnaHQ6IDI3cHg7XG4gICAgICAgIGZvbnQtc2l6ZTogMjBweDtcbiAgICAgICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gICAgfVxuXG4gICAgc2VsZWN0IHtcbiAgICAgICAgYm9yZGVyOiAxcHggc29saWQgJGJsYWNrO1xuICAgICAgICBib3JkZXItcmFkaXVzOiBub25lO1xuICAgICAgICBiYWNrZ3JvdW5kOiBub25lO1xuICAgICAgICAvL0BpbmNsdWRlIHBhcmFncmFwaC1mb250ICgxNiwgMjUsIDQwMCwgMTIwLCB1cHBlcmNhc2UpO1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgaGVpZ2h0OiAzNXB4O1xuICAgICAgICBwYWRkaW5nOiAwIDE1cHg7XG5cblxuICAgICAgICBAaW5jbHVkZSBtZWRpYSgkZGVza3RvcCkge1xuICAgICAgICAgICAgaGVpZ2h0OiA1NXB4O1xuICAgICAgICAgICAgcGFkZGluZzogMCA1NXB4IDAgMTVweDtcbiAgICAgICAgfSBcbiAgICB9XG59XG5cbi5nZmllbGQge1xuICAgIEBpbmNsdWRlIGNsZWFyO1xufVxuXG4uZ2ZpZWxkX3RpbWVfaG91ciB7XG4gICAgd2lkdGg6IDMwJTtcbiAgICBtYXJnaW4tcmlnaHQ6IDUlO1xuICAgIGZsb2F0OiBsZWZ0O1xuXG4gICAgaSB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxufVxuXG4uZ2ZpZWxkX3RpbWVfbWludXRlIHtcbiAgICB3aWR0aDogMzAlO1xuICAgIG1hcmdpbi1yaWdodDogNSU7XG4gICAgZmxvYXQ6IGxlZnQ7XG5cbiAgICBpIHtcbiAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG59XG5cbi5nZmllbGRfdGltZV9hbXBtIHtcbiAgICB3aWR0aDogMzAlO1xuICAgIGZsb2F0OiBsZWZ0O1xuXG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIC8vd2lkdGg6IDEwMCU7XG4gICAgbWFyZ2luLWJvdHRvbTogMjBweDtcblxuICAgICY6YWZ0ZXIge1xuICAgICAgICBjb250ZW50OiAnZyc7XG4gICAgICAgIGZvbnQtZmFtaWx5OiAkSWNvbnM7XG4gICAgICAgIHRleHQtdHJhbnNmb3JtOiBub25lO1xuICAgICAgICBjb2xvcjogJHJlZDtcbiAgICAgICAgdG9wOiBjYWxjKDUwJSAtIDEwcHgpO1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHJpZ2h0OiAyMHB4O1xuICAgICAgICBmb250LXNpemU6IDIwcHg7XG4gICAgICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICAgIH1cblxuICAgIHNlbGVjdCB7XG4gICAgICAgIGJvcmRlcjogMXB4IHNvbGlkICRibGFjaztcbiAgICAgICAgYm9yZGVyLXJhZGl1czogbm9uZTtcbiAgICAgICAgYmFja2dyb3VuZDogbm9uZTtcbiAgICAgICAgLy9AaW5jbHVkZSBwYXJhZ3JhcGgtZm9udCAoMTYsIDI1LCA0MDAsIDEyMCwgdXBwZXJjYXNlKTtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIGhlaWdodDogMzVweDtcbiAgICAgICAgcGFkZGluZzogMCAxNXB4O1xuXG5cbiAgICAgICAgQGluY2x1ZGUgbWVkaWEoJGRlc2t0b3ApIHtcbiAgICAgICAgICAgIGhlaWdodDogNTBweDtcbiAgICAgICAgICAgIHBhZGRpbmc6IDAgNTVweCAwIDE1cHg7XG4gICAgICAgIH0gXG4gICAgfVxufVxuXG5oMi5nc2VjdGlvbl90aXRsZSB7XG4gICAgQGluY2x1ZGUgZm9udCAoMzAsIDE2MCwgdXBwZXJjYXNlKTtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBwYWRkaW5nLWJvdHRvbTogMTBweDtcbiAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgJGJsYWNrO1xuICAgIGNvbG9yOiAkcmVkO1xuICAgIG1hcmdpbi10b3A6IDQwcHg7XG59XG5cbi5nZm9ybV9ib2R5IHtcbiAgICAuZ2ZpZWxkIHtcbiAgICAgICAgJjpmaXJzdC1jaGlsZCB7XG4gICAgICAgICAgICAuZ3NlY3Rpb25fdGl0bGUge1xuICAgICAgICAgICAgICAgIG1hcmdpbi10b3A6IDA7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG59XG5cblxuLy8gR3Jhdml0eSBGb3JtcyBoaWRkZW4gbGFiZWwgd2hlbiBjbGFzcyBpcyBhcHBsaWVkIHRvIHRoZSBmb3JtIGZpZWxkcyB3aGlsZSBlZGl0aW5nIGZvcm0gLy9cbi5oaWRlLWxhYmVscyB7XG4gICAgZGl2IHNwYW4gbGFiZWwge1xuICAgICAgICB2aXNpYmlsaXR5OiBoaWRkZW47XG4gICAgfVxufVxuXG4udWktZGF0ZXBpY2tlciB7IFxuICAgIHdpZHRoOiAxN2VtOyBcbiAgICBwYWRkaW5nOiAuMmVtIC4yZW0gMDsgXG4gICAgZGlzcGxheTogbm9uZTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkd2hpdGU7XG4gICAgYm9yZGVyOiAxcHggc29saWQgIzk5OTk5OTtcblxuICAgIC51aS1kYXRlcGlja2VyLWhlYWRlciB7IFxuICAgICAgICBwb3NpdGlvbjpyZWxhdGl2ZTsgXG4gICAgICAgIHBhZGRpbmc6LjJlbSAwOyBcbiAgICAgICAgYm9yZGVyOjBweDtcbiAgICAgICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBwYWRkaW5nOiA0cHggMDtcbiAgICB9XG4gICAgLnVpLWRhdGVwaWNrZXItcHJldixcbiAgICAudWktZGF0ZXBpY2tlci1uZXh0IHsgXG4gICAgICAgIHBvc2l0aW9uOmFic29sdXRlOyBcbiAgICAgICAgdG9wOiAycHg7IFxuICAgICAgICB3aWR0aDogMS44ZW07IFxuICAgICAgICBoZWlnaHQ6IDEuOGVtOyBcbiAgICB9XG5cbiAgICAudWktZGF0ZXBpY2tlci1wcmV2LWhvdmVyLFxuICAgIC51aS1kYXRlcGlja2VyLW5leHQtaG92ZXIgeyBcbiAgICAgICAgLyp0b3A6IDFweDsqLyBcbiAgICB9XG4gICAgLnVpLWRhdGVwaWNrZXItcHJldiB7IGxlZnQ6MnB4OyB9XG4gICAgLnVpLWRhdGVwaWNrZXItbmV4dCB7IHJpZ2h0OjJweDsgfVxuXG4gICAgLnVpLWRhdGVwaWNrZXItcHJldi1ob3ZlciB7IC8qbGVmdDoxcHg7Ki8gfVxuICAgIC51aS1kYXRlcGlja2VyLW5leHQtaG92ZXIgeyAvKnJpZ2h0OjFweDsqLyB9XG5cbiAgICAudWktZGF0ZXBpY2tlci1wcmV2IHNwYW4sIFxuICAgIC51aS1kYXRlcGlja2VyLW5leHQgc3BhbiB7IFxuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgZm9udC1zaXplOiAxMXB4O1xuICAgICAgICBtYXJnaW4tdG9wOiAtN3B4O1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHRvcDogNTAlO1xuICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICAgICAgfVxuICAgIH1cbiAgICAudWktZGF0ZXBpY2tlci10aXRsZSB7XG4gICAgICAgIG1hcmdpbjogMCAyLjNlbTtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDEuOGVtO1xuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgIHNlbGVjdCB7IFxuICAgICAgICAgICAgZm9udC1zaXplOjFlbTsgXG4gICAgICAgICAgICBtYXJnaW46MXB4IDA7IFxuICAgICAgICB9XG4gICAgfVxuICAgIHNlbGVjdC51aS1kYXRlcGlja2VyLW1vbnRoLXllYXIge1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICB9XG4gICAgc2VsZWN0LnVpLWRhdGVwaWNrZXItbW9udGgsIHNlbGVjdC51aS1kYXRlcGlja2VyLXllYXIge1xuICAgICAgICBiYWNrZ3JvdW5kOiBub25lO1xuICAgICAgICBib3JkZXI6IG5vbmU7XG4gICAgICAgIHdpZHRoOiAyNSU7XG4gICAgfVxuICAgIHRhYmxlIHtcbiAgICAgICAgd2lkdGg6IDEwMCU7IFxuICAgICAgICBmb250LXNpemU6IC45ZW07IFxuICAgICAgICBib3JkZXItY29sbGFwc2U6IGNvbGxhcHNlOyBcbiAgICAgICAgbWFyZ2luOjAgMCAuNGVtOyBcbiAgICB9XG4gICAgdGggeyBcbiAgICAgICAgcGFkZGluZzogLjdlbSAuM2VtOyBcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyOyBcbiAgICAgICAgZm9udC13ZWlnaHQ6IGJvbGQ7IFxuICAgICAgICBib3JkZXI6IDA7ICBcbiAgICB9XG4gICAgdGQge1xuICAgICAgICBib3JkZXI6IDA7IFxuICAgICAgICBwYWRkaW5nOiAxcHg7IFxuICAgICAgICBzcGFuLCBhIHsgXG4gICAgICAgICAgICBkaXNwbGF5OiBibG9jazsgXG4gICAgICAgICAgICBwYWRkaW5nOiAuMmVtOyBcbiAgICAgICAgICAgIHRleHQtYWxpZ246IHJpZ2h0OyBcbiAgICAgICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTsgXG4gICAgICAgIH1cbiAgICB9XG4gICAgLnVpLWRhdGVwaWNrZXItYnV0dG9ucGFuZSB7IFxuICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiBub25lOyBcbiAgICAgICAgbWFyZ2luOiAuN2VtIDAgMCAwOyBcbiAgICAgICAgcGFkZGluZzowIC4yZW07IFxuICAgICAgICBib3JkZXItbGVmdDogMDsgXG4gICAgICAgIGJvcmRlci1yaWdodDogMDsgXG4gICAgICAgIGJvcmRlci1ib3R0b206IDA7IFxuICAgICAgICBidXR0b24geyBcbiAgICAgICAgICAgIGZsb2F0OiByaWdodDsgXG4gICAgICAgICAgICBtYXJnaW46IC41ZW0gLjJlbSAuNGVtOyBcbiAgICAgICAgICAgIGN1cnNvcjogcG9pbnRlcjsgXG4gICAgICAgICAgICBwYWRkaW5nOiAuMmVtIC42ZW0gLjNlbSAuNmVtOyBcbiAgICAgICAgICAgIHdpZHRoOmF1dG87IFxuICAgICAgICAgICAgb3ZlcmZsb3c6dmlzaWJsZTtcbiAgICAgICAgICAgIC51aS1kYXRlcGlja2VyLWN1cnJlbnQge1xuICAgICAgICAgICAgICAgIGZsb2F0OmxlZnQ7IFxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxufVxuXG4vKiB3aXRoIG11bHRpcGxlIGNhbGVuZGFycyAqL1xuLnVpLWRhdGVwaWNrZXIudWktZGF0ZXBpY2tlci1tdWx0aSB7IHdpZHRoOmF1dG87IH1cbi51aS1kYXRlcGlja2VyLW11bHRpIC51aS1kYXRlcGlja2VyLWdyb3VwIHsgZmxvYXQ6bGVmdDsgfVxuLnVpLWRhdGVwaWNrZXItbXVsdGkgLnVpLWRhdGVwaWNrZXItZ3JvdXAgdGFibGUgeyBcbiAgICB3aWR0aDo5NSU7IFxuICAgIG1hcmdpbjowIGF1dG8gLjRlbTsgXG59XG4udWktZGF0ZXBpY2tlci1tdWx0aS0yIC51aS1kYXRlcGlja2VyLWdyb3VwIHsgd2lkdGg6NTAlOyB9XG4udWktZGF0ZXBpY2tlci1tdWx0aS0zIC51aS1kYXRlcGlja2VyLWdyb3VwIHsgd2lkdGg6MzMuMyU7IH1cbi51aS1kYXRlcGlja2VyLW11bHRpLTQgLnVpLWRhdGVwaWNrZXItZ3JvdXAgeyB3aWR0aDoyNSU7IH1cbi51aS1kYXRlcGlja2VyLW11bHRpIC51aS1kYXRlcGlja2VyLWdyb3VwLWxhc3QgLnVpLWRhdGVwaWNrZXItaGVhZGVyIHsgYm9yZGVyLWxlZnQtd2lkdGg6MDsgfVxuLnVpLWRhdGVwaWNrZXItbXVsdGkgLnVpLWRhdGVwaWNrZXItZ3JvdXAtbWlkZGxlIC51aS1kYXRlcGlja2VyLWhlYWRlciB7IGJvcmRlci1sZWZ0LXdpZHRoOjA7IH1cbi51aS1kYXRlcGlja2VyLW11bHRpIC51aS1kYXRlcGlja2VyLWJ1dHRvbnBhbmUgeyBjbGVhcjpsZWZ0OyB9XG4udWktZGF0ZXBpY2tlci1yb3ctYnJlYWsgeyBcbiAgICBjbGVhcjpib3RoOyBcbiAgICB3aWR0aDoxMDAlOyBcbiAgICBmb250LXNpemU6MGVtOyBcbn1cblxuLyogUlRMIHN1cHBvcnQgKi9cbi51aS1kYXRlcGlja2VyLXJ0bCB7XG4gICAgZGlyZWN0aW9uOiBydGw7XG4gICAgLnVpLWRhdGVwaWNrZXItcHJldiB7IFxuICAgICAgICByaWdodDogMnB4OyBcbiAgICAgICAgbGVmdDogYXV0bztcbiAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgICByaWdodDogMXB4OyBcbiAgICAgICAgICAgIGxlZnQ6IGF1dG87IFxuICAgICAgICB9XG4gICAgfVxuICAgIC51aS1kYXRlcGlja2VyLW5leHQgeyBcbiAgICAgICAgbGVmdDogMnB4OyBcbiAgICAgICAgcmlnaHQ6IGF1dG87XG4gICAgICAgICY6aG92ZXIge1xuICAgICAgICAgICAgbGVmdDogMXB4OyBcbiAgICAgICAgICAgIHJpZ2h0OiBhdXRvO1xuICAgICAgICB9XG4gICAgfVxuICAgIC51aS1kYXRlcGlja2VyLWJ1dHRvbnBhbmUge1xuICAgICAgICBjbGVhcjpyaWdodDsgXG4gICAgICAgIGJ1dHRvbiB7XG4gICAgICAgICAgICBmbG9hdDogbGVmdDtcbiAgICAgICAgICAgIC51aS1kYXRlcGlja2VyLWN1cnJlbnQge1xuICAgICAgICAgICAgICAgIGZsb2F0OnJpZ2h0O1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuICAgIC51aS1kYXRlcGlja2VyLWdyb3VwIHtcbiAgICAgICAgZmxvYXQ6cmlnaHQ7XG4gICAgfVxuICAgIC51aS1kYXRlcGlja2VyLWdyb3VwLWxhc3QgLnVpLWRhdGVwaWNrZXItaGVhZGVyIHsgXG4gICAgICAgIGJvcmRlci1yaWdodC13aWR0aDowOyBcbiAgICAgICAgYm9yZGVyLWxlZnQtd2lkdGg6MXB4OyBcbiAgICB9XG4gICAgLnVpLWRhdGVwaWNrZXItZ3JvdXAtbWlkZGxlIC51aS1kYXRlcGlja2VyLWhlYWRlciB7IFxuICAgICAgICBib3JkZXItcmlnaHQtd2lkdGg6MDsgXG4gICAgICAgIGJvcmRlci1sZWZ0LXdpZHRoOjFweDsgXG4gICAgfVxufVxuXG4vKiBJRTYgSUZSQU1FIEZJWCAodGFrZW4gZnJvbSBkYXRlcGlja2VyIDEuNS4zICovXG4udWktZGF0ZXBpY2tlci1jb3ZlciB7XG4gICAgZGlzcGxheTogbm9uZTsgLypzb3JyeSBmb3IgSUU1Ki9cbiAgICAvL2Rpc3BsYXkvKiovOiBibG9jazsgLypzb3JyeSBmb3IgSUU1Ki9cbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7IC8qbXVzdCBoYXZlKi9cbiAgICB6LWluZGV4OiAtMTsgLyptdXN0IGhhdmUqL1xuICAgIGZpbHRlcjogbWFzaygpOyAvKm11c3QgaGF2ZSovXG4gICAgdG9wOiAtNHB4OyAvKm11c3QgaGF2ZSovXG4gICAgbGVmdDogLTRweDsgLyptdXN0IGhhdmUqL1xuICAgIHdpZHRoOiAyMDBweDsgLyptdXN0IGhhdmUqL1xuICAgIGhlaWdodDogMjAwcHg7IC8qbXVzdCBoYXZlKi9cbn1cblxuLnVpLWRhdGVwaWNrZXIgdGgge1xuICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xuICAgIGNvbG9yOiBncmF5O1xufVxuXG4udWktZGF0ZXBpY2tlci10b2RheSB7XG4gICAgYSB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRibGFjaztcbiAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgICAgICBwYWRkaW5nOiAwIDRweDtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTowcHg7XG4gICAgfVxufVxuXG5cbi51aS1kYXRlcGlja2VyIHRkIHtcbiAgICBhIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTowcHg7XG4gICAgICAgIGJvcmRlcjowcHg7XG4gICAgfVxuXG4gICAgLnVpLXN0YXRlLWRlZmF1bHQge1xuICAgICAgICBib3JkZXI6IDA7XG4gICAgICAgIGJhY2tncm91bmQ6bm9uZTtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICAgICAgcGFkZGluZzogNXB4O1xuICAgICAgICBjb2xvcjogZ3JheTtcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICBmaWx0ZXI6IG5vbmU7XG4gICAgICAgICY6aG92ZXIge1xuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzk5OTtcbiAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDRweDtcbiAgICAgICAgICAgIGNvbG9yOiAkd2hpdGU7XG4gICAgICAgIH1cbiAgICB9XG4gICAgXG4gICAgLnVpLXN0YXRlLWhpZ2hsaWdodCB7XG4gICAgICAgIGNvbG9yOiAkd2hpdGU7XG4gICAgICAgIGJhY2tncm91bmQ6ICRibGFjaztcbiAgICAgICAgdGV4dC1zaGFkb3c6IDAgLTFweCAwIHJnYmEoMCwgMCwgMCwgMC4yNSk7XG4gICAgICAgIGJvcmRlci1jb2xvcjogI2VlZGM5NCAjZWVkYzk0ICNlNGM2NTI7XG4gICAgICAgIGJvcmRlci1jb2xvcjogcmdiYSgwLCAwLCAwLCAwLjEpIHJnYmEoMCwgMCwgMCwgMC4xKSByZ2JhKDAsIDAsIDAsIDAuMjUpO1xuICAgICAgICBib3JkZXItcmFkaXVzOiA0cHg7XG5cbiAgICB9XG4gICAgXG4gICAgLnVpLXN0YXRlLWFjdGl2ZSB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206MHB4O1xuICAgICAgICBmb250LXNpemU6bm9ybWFsO1xuICAgICAgICB0ZXh0LXNoYWRvdzogMHB4O1xuICAgICAgICBib3JkZXItcmFkaXVzOiA0cHg7XG5cbiAgICB9XG59XG5cbmZvcm0ucG9zdC1wYXNzd29yZC1mb3Jte1xuICAgIHBhZGRpbmc6IDIwcHggMjBweCAwIDIwcHg7XG5cbiAgICBtYXJnaW46IGF1dG87XG4gICAgbWF4LXdpZHRoOiA5MDBweDtcblxuICAgIEBpbmNsdWRlIG1lZGlhKCRtb2JpbGUtb25seSkge1xuICAgICAgICBwYWRkaW5nOiAzMHB4IDEwcHg7XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgbWVkaWEoJHRhYmxldCkge1xuICAgICAgICBwYWRkaW5nOiA0MHB4IDIwcHg7XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgbWVkaWEoJGRlc2t0b3ApIHsgXG4gICAgICAgIHBhZGRpbmc6IDYwcHggMHB4O1xuICAgIH1cblxuICAgIGlucHV0W3R5cGU9XCJwYXNzd29yZFwiXSB7XG4gICAgICAgIHBhZGRpbmctbGVmdDogMC41ZW07XG4gICAgICAgIHBhZGRpbmctcmlnaHQ6IDAuNWVtO1xuICAgICAgICBib3JkZXI6IDJweCBzb2xpZDtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDMycHg7XG4gICAgICAgIGhlaWdodDogNTRweDtcbiAgICB9XG5cbiAgICBpbnB1dFt0eXBlPVwic3VibWl0XCJdIHtcbiAgICAgICAgQGluY2x1ZGUgdHJhbnNpdGlvbiggYWxsIDAuMjVzICk7XG5cbiAgICAgICAgQGluY2x1ZGUgZm9udCAoMjAsIDE1MCwgdXBwZXJjYXNlKTtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDEwMCUgIWltcG9ydGFudDtcbiAgICAgICAgcGFkZGluZzogMTZweCAzNnB4O1xuICAgICAgICBib3JkZXItcmFkaXVzOiA5MHB4O1xuICAgICAgICBjb2xvcjogd2hpdGU7XG4gICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgYm9yZGVyLXdpZHRoOiAycHg7XG4gICAgICAgIGJvcmRlci1zdHlsZTogc29saWQ7XG4gICAgICAgIG1hcmdpbjogMCAyMHB4O1xuXG4gICAgICAgIEBpbmNsdWRlIG1lZGlhKCRwb3J0YWJsZXMpIHtcbiAgICAgICAgICAgIHBhZGRpbmc6IDEzcHggMzBweDtcbiAgICAgICAgfVxuXG4gICAgICAgIEBpbmNsdWRlIG1lZGlhKCRtb2JpbGUtb25seSkge1xuICAgICAgICAgICAgcGFkZGluZzogMTFweCAyNnB4O1xuICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICBtYXJnaW46IDIwcHggMDtcbiAgICAgICAgfVxuICAgIH1cbn1cblxuLyogUGFzc3dvcmQgRm9ybSAqL1xuLnBvc3QtcGFzc3dvcmQtZm9ybSBpbnB1dFt0eXBlPVwicGFzc3dvcmRcIl0ge1xuICAgIGNvbG9yOiBwdXJwbGU7XG4gICAgYm9yZGVyLWNvbG9yOiBncmVlbjtcbn1cblxuLnBvc3QtcGFzc3dvcmQtZm9ybSBpbnB1dFt0eXBlPVwic3VibWl0XCJdIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZWQ7XG4gICAgYm9yZGVyLWNvbG9yOiBvcmFuZ2U7XG4gICAgY29sb3I6IHB1cnBsZTtcbn1cblxuLnBvc3QtcGFzc3dvcmQtZm9ybSBpbnB1dFt0eXBlPVwic3VibWl0XCJdOmhvdmVyIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB3aGl0ZTtcbiAgICBjb2xvcjogZ3JlZW47XG59IiwiLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG4vL1xuLy8gTUFQXG4vL1xuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG5cbi5tYXAge1xuICAgIGJhY2tncm91bmQ6ICNlZmVmZWY7IC8vIFBsYWNlaG9sZGVyXG4gICAgaGVpZ2h0OiA1MDBweDtcbn1cblxuLm1hcEluZm9Cb3gge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB3aWR0aDogMzQwcHg7XG5cbiAgICAmOmFmdGVyLCAmOmJlZm9yZSB7XG4gICAgICAgIEBpbmNsdWRlIHRyYW5zZm9ybSggdHJhbnNsYXRlWSgtNTAlKSBzY2FsZVgoMC4zKSBzY2FsZVkoMC4zNykgKTtcbiAgICAgICAgQGluY2x1ZGUgdHJpYW5nbGUtc3ByaXRlO1xuICAgICAgICBjb250ZW50OiAnJztcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICBsZWZ0OiAtNjBweDtcbiAgICAgICAgdG9wOiA1MCU7XG4gICAgfVxuXG4gICAgJjphZnRlciB7XG4gICAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IHRvcCByaWdodDtcbiAgICAgICAgei1pbmRleDogMztcbiAgICB9XG5cbiAgICAmOmJlZm9yZSB7XG4gICAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IHRvcCBsZWZ0O1xuICAgICAgICB0ZXh0LXNoYWRvdzogMCAwIDI1cHggcmdiYSgwLCAwLCAwLCAwLjM1KTtcbiAgICAgICAgei1pbmRleDogMTtcbiAgICB9ICAgIFxuXG4gICAgJl93cmFwcGVyIHtcbiAgICAgICAgYmFja2dyb3VuZDogJHdoaXRlO1xuICAgICAgICBib3gtc2hhZG93OiAwIDAgMjVweCAwIHJnYmEoMCwgMCwgMCwgMC4zNSk7XG4gICAgICAgIHBhZGRpbmc6IDMwcHg7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgei1pbmRleDogMjtcblxuICAgICAgICAmX2Nsb3NlIHtcbiAgICAgICAgICAgIGJhY2tncm91bmQ6ICR3aGl0ZTtcbiAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgIGhlaWdodDogMTdweDtcbiAgICAgICAgICAgIHJpZ2h0OiAxMHB4O1xuICAgICAgICAgICAgdG9wOiAxNXB4O1xuICAgICAgICAgICAgd2lkdGg6IDE3cHg7XG5cbiAgICAgICAgICAgICY6YWZ0ZXIsICY6YmVmb3JlIHtcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiAkYmxhY2s7XG4gICAgICAgICAgICAgICAgY29udGVudDogJyc7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICAgICAgaGVpZ2h0OiAycHg7XG4gICAgICAgICAgICAgICAgXG4gICAgICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgICAgIHRvcDogMDtcbiAgICAgICAgICAgICAgICB3aWR0aDogMTdweDtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgJjphZnRlciB7XG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgdHJhbnNmb3JtKCByb3RhdGUoNDVkZWcpICk7XG4gICAgICAgICAgICAgICAgbGVmdDogLTFweDtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgICAgICAgIEBpbmNsdWRlIHRyYW5zZm9ybSggcm90YXRlKC00NWRlZykgKTtcbiAgICAgICAgICAgICAgICBsZWZ0OiAwO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBzcGFuIHtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgaDUge1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMTBweDtcbiAgICAgICAgfVxuXG4gICAgICAgIHAge1xuICAgICAgICAgICAgY29sb3I6ICRka2dyYXk7XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAxMHB4O1xuICAgICAgICB9XG5cbiAgICAgICAgLmJ1dHRvbi5saW5lLXByaW1hcnkge1xuICAgICAgICAgICAgZm9udC1zaXplOjEycHg7XG4gICAgICAgICAgICBwYWRkaW5nOjEwcHggMjBweDtcbiAgICAgICAgfVxuICAgIH1cbn1cbiIsIi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuLy9cbi8vIFZJREVPXG4vL1xuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG5cbi52aWRlbyB7XG5cbiAgICAmX3BsYXllciB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICBoZWlnaHQ6IGF1dG87XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgIH1cbn1cbiIsIi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuLy9cbi8vIENhcmRzXG4vL1xuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG5cbi8qIENhcmQgZ3JpZCAqL1xuLmNhcmRHcmlkX3dyYXBwZXJfc2luZ2xlIHtcbiAgICBiYWNrZ3JvdW5kOiAkdGVydGlhcnk7XG59XG5cbi5tb2R1bGVXcmFwcGVyIC5jYXJkR3JpZF93cmFwcGVyX3NpbmdsZV9oZWFkZXJfaW1hZ2UtbGlua2VkOmFmdGVyIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiBncmVlbjtcbn1cblxuLm1vZHVsZVdyYXBwZXIgLmNhcmRHcmlkX3dyYXBwZXJfc2luZ2xlX2xpbmsge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRwcmltYXJ5O1xuICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgZm9udC1mYW1pbHk6IFwicHJveGltYS1ub3ZhXCIsc2Fucy1zZXJpZjtcbn1cbi5tb2R1bGVXcmFwcGVyIC5jYXJkR3JpZCB7XG4gICAgcGFkZGluZzogMzBweCAxMDBweCA2MHB4IDEwMHB4O1xuICAgIEBpbmNsdWRlIG1lZGlhKCRtb2JpbGUtb25seSkge1xuICAgICAgICBwYWRkaW5nOiAyMHB4IDEwcHg7XG4gICAgfVxuICAgIEBpbmNsdWRlIG1lZGlhKCRwb3J0YWJsZXMpIHtcbiAgICAgICAgcGFkZGluZzogMzBweCAyMHB4O1xuICAgIH1cbiAgICAmX3dyYXBwZXIge1xuICAgICAgICBAaW5jbHVkZSBkaXNwbGF5KCBmbGV4ICk7XG4gICAgICAgIEBpbmNsdWRlIGZsZXgtZmxvdyggcm93IHdyYXAgKTtcbiAgICAgICAgQGluY2x1ZGUganVzdGlmeS1jb250ZW50KCBmbGV4LXN0YXJ0ICk7XG4gICAgICAgIC1tcy1mbGV4LWZsb3c6IHJvdyB3cmFwO1xuICAgICAgICBtYXJnaW46IDAgYXV0bztcbiAgICAgICAgbWF4LXdpZHRoOiAxMjAwcHg7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuXG4gICAgICAgICZfc2luZ2xlIHtcbiAgICAgICAgICAgIG1hcmdpbjogMCAyNHB4IDI1cHggMDtcbiAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgICAgIEBpbmNsdWRlIG1lZGlhKCRtb2JpbGUtb25seSkge1xuICAgICAgICAgICAgICAgIG1hcmdpbi1yaWdodDogMDtcbiAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIEBpbmNsdWRlIG1lZGlhKCRwb3J0YWJsZXMpIHtcbiAgICAgICAgICAgICAgICB3aWR0aDogY2FsYygoMTAwJSAtIDI1cHgpLzIpO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAmOmxhc3Qtb2YtdHlwZSB7XG4gICAgICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiAwO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAmOm50aC1vZi10eXBlKDJuKSB7XG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgbWVkaWEoJHBvcnRhYmxlcykge1xuICAgICAgICAgICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAmX2NvbnRlbnQge1xuICAgICAgICAgICAgICAgIHBhZGRpbmc6IDE1cHggMTVweCA1NXB4IDE1cHg7XG5cbiAgICAgICAgICAgICAgICAmX2Vsc2Uge1xuICAgICAgICAgICAgICAgICAgcGFkZGluZzogMTVweCAxNXB4IDE1cHggMTVweDtcbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAmX3RpdGxlIHtcbiAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgbWVkaWEoJGRlc2t0b3Atb25seSkge1xuICAgICAgICAgICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMTVweDtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgJl9oZWFkZXIge1xuICAgICAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICAgICAgICAgICAgICAgICY6YWZ0ZXIge1xuICAgICAgICAgICAgICAgICAgICBjb250ZW50OiAnJztcbiAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICAgICAgICAgIHBhZGRpbmctYm90dG9tOiAxMDAlO1xuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICZfaW1hZ2Uge1xuICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSBhYnNvbHV0ZS1zaXplO1xuICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSBiYWNrZ3JvdW5kLWNvdmVyO1xuXG4gICAgICAgICAgICAgICAgICAgICYtbGlua2VkIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICY6YWZ0ZXIge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIHRyYW5zaXRpb24oIG9wYWNpdHkgMC4zcyApO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6ICMwMDA7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgY29udGVudDogJyc7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxlZnQ6IDA7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgb3BhY2l0eTogMDtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdG9wOiAwO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAmOmFmdGVyIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgb3BhY2l0eTogMC42O1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgJl9saW5rIHtcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBmb250KCAyNCwgMTUwLCB1cHBlcmNhc2UgKTtcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSB0cmFuc2l0aW9uKCBhbGwgMC4yNXMgKTtcbiAgICAgICAgICAgICAgICBib3JkZXI6IG5vbmU7XG4gICAgICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogMDtcbiAgICAgICAgICAgICAgICBib3R0b206IDA7XG4gICAgICAgICAgICAgICAgY29sb3I6IHdoaXRlO1xuICAgICAgICAgICAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgICAgICAgICAgbGVmdDogMDtcbiAgICAgICAgICAgICAgICBsaW5lLWhlaWdodDogMTAwJSAhaW1wb3J0YW50O1xuICAgICAgICAgICAgICAgIHBhZGRpbmc6IDEwcHg7XG4gICAgICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgICAgIHJpZ2h0OiAwO1xuICAgICAgICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgICAgICAgICAgICAgei1pbmRleDogMjtcblxuICAgICAgICAgICAgICAgICY6YWZ0ZXIge1xuICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSB0cmFuc2l0aW9uKCBvcGFjaXR5IDAuM3MgKTtcbiAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGJsYWNrO1xuICAgICAgICAgICAgICAgICAgICBjb250ZW50OiAnJztcbiAgICAgICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgICAgICAgICAgICAgICBsZWZ0OiAwO1xuICAgICAgICAgICAgICAgICAgICBvcGFjaXR5OiAwO1xuICAgICAgICAgICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICAgICAgICAgIHRvcDogMDtcbiAgICAgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICAgICAgICAgIHotaW5kZXg6IC0xO1xuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgIEBpbmNsdWRlIG1lZGlhKCRwb3J0YWJsZXMpIHtcbiAgICAgICAgICAgICAgICAgICAgcGFkZGluZzogMTNweCAwO1xuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgIEBpbmNsdWRlIG1lZGlhKCRtb2JpbGUtb25seSkge1xuICAgICAgICAgICAgICAgICAgICBwYWRkaW5nOiAxMXB4IDA7XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgICAgICAgICAgICY6YWZ0ZXIge1xuICAgICAgICAgICAgICAgICAgICAgICAgb3BhY2l0eTogMC4yO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgJi1jb2x1bW5zT25lIHtcbiAgICAgICAgLmNhcmRHcmlkX3dyYXBwZXIge1xuICAgICAgICAgICAgJl9zaW5nbGUge1xuICAgICAgICAgICAgICAgIG1hcmdpbi1yaWdodDogMDtcbiAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgICYtY29sdW1uc1R3byB7XG4gICAgICAgIC5jYXJkR3JpZF93cmFwcGVyIHtcbiAgICAgICAgICAgICZfc2luZ2xlIHtcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBtZWRpYSgkZGVza3RvcC1vbmx5KSB7XG4gICAgICAgICAgICAgICAgICAgIHdpZHRoOiBjYWxjKCgxMDAlIC0gMjVweCkvMik7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIEBpbmNsdWRlIG1lZGlhKCRkZXNrdG9wLTE0NDApIHtcbiAgICAgICAgICAgICAgICAgICAgd2lkdGg6IGNhbGMoKDEwMCUgLSAyNXB4KS8yKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgJjpudGgtY2hpbGQoMm4pIHtcbiAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgbWVkaWEoJGRlc2t0b3Atb25seSkge1xuICAgICAgICAgICAgICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiAwO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIG1lZGlhKCRkZXNrdG9wLTE0NDApIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIG1hcmdpbi1yaWdodDogMDtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgICYtY29sdW1uc1RocmVlIHtcbiAgICAgICAgLmNhcmRHcmlkX3dyYXBwZXIge1xuICAgICAgICAgICAgJl9zaW5nbGUge1xuICAgICAgICAgICAgICAgIEBpbmNsdWRlIG1lZGlhKCRkZXNrdG9wLW9ubHkpIHtcbiAgICAgICAgICAgICAgICAgICAgd2lkdGg6IGNhbGMoKDEwMCUgLSAyNXB4KjIpLzMpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBtZWRpYSgkZGVza3RvcC0xNDQwKSB7XG4gICAgICAgICAgICAgICAgICAgIHdpZHRoOiBjYWxjKCgxMDAlIC0gMjVweCoyKS8zKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgJjpudGgtY2hpbGQoM24pIHtcbiAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgbWVkaWEoJGRlc2t0b3Atb25seSkge1xuICAgICAgICAgICAgICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiAwO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIG1lZGlhKCRkZXNrdG9wLTE0NDApIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIG1hcmdpbi1yaWdodDogMDtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgICYtY29sdW1uc0ZvdXIge1xuICAgICAgICAuY2FyZEdyaWRfd3JhcHBlciB7XG4gICAgICAgICAgICAmX3NpbmdsZSB7XG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgbWVkaWEoJGRlc2t0b3Atb25seSkge1xuICAgICAgICAgICAgICAgICAgICB3aWR0aDogY2FsYygoMTAwJSAtIDI1cHgqMykvNCk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIEBpbmNsdWRlIG1lZGlhKCRkZXNrdG9wLTE0NDApIHtcbiAgICAgICAgICAgICAgICAgICAgd2lkdGg6IGNhbGMoKDEwMCUgLSAyNXB4KjMpLzQpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAmOm50aC1jaGlsZCg0bikge1xuICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSBtZWRpYSgkZGVza3RvcC1vbmx5KSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgbWVkaWEoJGRlc2t0b3AtMTQ0MCkge1xuICAgICAgICAgICAgICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiAwO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgJi1jb2x1bW5zRml2ZSB7XG4gICAgICAgIC5jYXJkR3JpZF93cmFwcGVyIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIG1lZGlhKCRkZXNrdG9wLTE0NDApIHtcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBjbGVhcjtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgICZfc2luZ2xlIHtcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBtZWRpYSgkZGVza3RvcC1vbmx5KSB7XG4gICAgICAgICAgICAgICAgICAgIHdpZHRoOiBjYWxjKCgxMDAlIC0gMjVweCo1KS81KTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgbWVkaWEoJGRlc2t0b3AtMTQ0MCkge1xuICAgICAgICAgICAgICAgICAgICBmbG9hdDogbGVmdDtcbiAgICAgICAgICAgICAgICAgICAgd2lkdGg6IGNhbGMoKDEwMCUgLSAyNXB4KjUpLzUpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAmOm50aC1jaGlsZCg1bikge1xuICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSBtZWRpYSgkZGVza3RvcC1vbmx5KSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgbWVkaWEoJGRlc2t0b3AtMTQ0MCkge1xuICAgICAgICAgICAgICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiAwO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxufVxuXG4ubW9kdWxlV3JhcHBlci1jYXJkcyArIC5tb2R1bGVXcmFwcGVyLWNhcmRzIHtcbiAgICBtYXJnaW4tdG9wOiAtMjBweDtcblxuICAgIEBpbmNsdWRlIG1lZGlhKCRkZXNrdG9wKSB7XG4gICAgICAgIG1hcmdpbi10b3A6IC0zMHB4O1xuICAgIH1cblxuICAgLmNhcmRHcmlkIHtcbiAgICAgICAgcGFkZGluZy10b3A6IDBweDtcbiAgIH1cbn1cbiIsIi8vIENTUzMgRmxleGlibGUgQm94IE1vZGVsIGFuZCBwcm9wZXJ0eSBkZWZhdWx0c1xuXG4vLyBDdXN0b20gc2hvcnRoYW5kIG5vdGF0aW9uIGZvciBmbGV4Ym94XG5AbWl4aW4gYm94KCRvcmllbnQ6IGlubGluZS1heGlzLCAkcGFjazogc3RhcnQsICRhbGlnbjogc3RyZXRjaCkge1xuICBAaW5jbHVkZSBfYm91cmJvbi1kZXByZWNhdGUtZm9yLXByZWZpeGluZyhcImJveFwiKTtcblxuICBAaW5jbHVkZSBkaXNwbGF5LWJveDtcbiAgQGluY2x1ZGUgYm94LW9yaWVudCgkb3JpZW50KTtcbiAgQGluY2x1ZGUgYm94LXBhY2soJHBhY2spO1xuICBAaW5jbHVkZSBib3gtYWxpZ24oJGFsaWduKTtcbn1cblxuQG1peGluIGRpc3BsYXktYm94IHtcbiAgQGluY2x1ZGUgX2JvdXJib24tZGVwcmVjYXRlLWZvci1wcmVmaXhpbmcoXCJkaXNwbGF5LWJveFwiKTtcblxuICBkaXNwbGF5OiAtd2Via2l0LWJveDtcbiAgZGlzcGxheTogLW1vei1ib3g7XG4gIGRpc3BsYXk6IC1tcy1mbGV4Ym94OyAvLyBJRSAxMFxuICBkaXNwbGF5OiBib3g7XG59XG5cbkBtaXhpbiBib3gtb3JpZW50KCRvcmllbnQ6IGlubGluZS1heGlzKSB7XG4gIEBpbmNsdWRlIF9ib3VyYm9uLWRlcHJlY2F0ZS1mb3ItcHJlZml4aW5nKFwiYm94LW9yaWVudFwiKTtcblxuLy8gaG9yaXpvbnRhbHx2ZXJ0aWNhbHxpbmxpbmUtYXhpc3xibG9jay1heGlzfGluaGVyaXRcbiAgQGluY2x1ZGUgcHJlZml4ZXIoYm94LW9yaWVudCwgJG9yaWVudCwgd2Via2l0IG1veiBzcGVjKTtcbn1cblxuQG1peGluIGJveC1wYWNrKCRwYWNrOiBzdGFydCkge1xuICBAaW5jbHVkZSBfYm91cmJvbi1kZXByZWNhdGUtZm9yLXByZWZpeGluZyhcImJveC1wYWNrXCIpO1xuXG4vLyBzdGFydHxlbmR8Y2VudGVyfGp1c3RpZnlcbiAgQGluY2x1ZGUgcHJlZml4ZXIoYm94LXBhY2ssICRwYWNrLCB3ZWJraXQgbW96IHNwZWMpO1xuICAtbXMtZmxleC1wYWNrOiAkcGFjazsgLy8gSUUgMTBcbn1cblxuQG1peGluIGJveC1hbGlnbigkYWxpZ246IHN0cmV0Y2gpIHtcbiAgQGluY2x1ZGUgX2JvdXJib24tZGVwcmVjYXRlLWZvci1wcmVmaXhpbmcoXCJib3gtYWxpZ25cIik7XG5cbi8vIHN0YXJ0fGVuZHxjZW50ZXJ8YmFzZWxpbmV8c3RyZXRjaFxuICBAaW5jbHVkZSBwcmVmaXhlcihib3gtYWxpZ24sICRhbGlnbiwgd2Via2l0IG1veiBzcGVjKTtcbiAgLW1zLWZsZXgtYWxpZ246ICRhbGlnbjsgLy8gSUUgMTBcbn1cblxuQG1peGluIGJveC1kaXJlY3Rpb24oJGRpcmVjdGlvbjogbm9ybWFsKSB7XG4gIEBpbmNsdWRlIF9ib3VyYm9uLWRlcHJlY2F0ZS1mb3ItcHJlZml4aW5nKFwiYm94LWRpcmVjdGlvblwiKTtcblxuLy8gbm9ybWFsfHJldmVyc2V8aW5oZXJpdFxuICBAaW5jbHVkZSBwcmVmaXhlcihib3gtZGlyZWN0aW9uLCAkZGlyZWN0aW9uLCB3ZWJraXQgbW96IHNwZWMpO1xuICAtbXMtZmxleC1kaXJlY3Rpb246ICRkaXJlY3Rpb247IC8vIElFIDEwXG59XG5cbkBtaXhpbiBib3gtbGluZXMoJGxpbmVzOiBzaW5nbGUpIHtcbiAgQGluY2x1ZGUgX2JvdXJib24tZGVwcmVjYXRlLWZvci1wcmVmaXhpbmcoXCJib3gtbGluZXNcIik7XG5cbi8vIHNpbmdsZXxtdWx0aXBsZVxuICBAaW5jbHVkZSBwcmVmaXhlcihib3gtbGluZXMsICRsaW5lcywgd2Via2l0IG1veiBzcGVjKTtcbn1cblxuQG1peGluIGJveC1vcmRpbmFsLWdyb3VwKCRpbnQ6IDEpIHtcbiAgQGluY2x1ZGUgX2JvdXJib24tZGVwcmVjYXRlLWZvci1wcmVmaXhpbmcoXCJib3gtb3JkaW5hbC1ncm91cFwiKTtcblxuICBAaW5jbHVkZSBwcmVmaXhlcihib3gtb3JkaW5hbC1ncm91cCwgJGludCwgd2Via2l0IG1veiBzcGVjKTtcbiAgLW1zLWZsZXgtb3JkZXI6ICRpbnQ7IC8vIElFIDEwXG59XG5cbkBtaXhpbiBib3gtZmxleCgkdmFsdWU6IDApIHtcbiAgQGluY2x1ZGUgX2JvdXJib24tZGVwcmVjYXRlLWZvci1wcmVmaXhpbmcoXCJib3gtZmxleFwiKTtcblxuICBAaW5jbHVkZSBwcmVmaXhlcihib3gtZmxleCwgJHZhbHVlLCB3ZWJraXQgbW96IHNwZWMpO1xuICAtbXMtZmxleDogJHZhbHVlOyAvLyBJRSAxMFxufVxuXG5AbWl4aW4gYm94LWZsZXgtZ3JvdXAoJGludDogMSkge1xuICBAaW5jbHVkZSBfYm91cmJvbi1kZXByZWNhdGUtZm9yLXByZWZpeGluZyhcImJveC1mbGV4LWdyb3VwXCIpO1xuXG4gIEBpbmNsdWRlIHByZWZpeGVyKGJveC1mbGV4LWdyb3VwLCAkaW50LCB3ZWJraXQgbW96IHNwZWMpO1xufVxuXG4vLyBDU1MzIEZsZXhpYmxlIEJveCBNb2RlbCBhbmQgcHJvcGVydHkgZGVmYXVsdHNcbi8vIFVuaWZpZWQgYXR0cmlidXRlcyBmb3IgMjAwOSwgMjAxMSwgYW5kIDIwMTIgZmxhdm91cnMuXG5cbi8vIDIwMDkgLSBkaXNwbGF5IChib3ggfCBpbmxpbmUtYm94KVxuLy8gMjAxMSAtIGRpc3BsYXkgKGZsZXhib3ggfCBpbmxpbmUtZmxleGJveClcbi8vIDIwMTIgLSBkaXNwbGF5IChmbGV4IHwgaW5saW5lLWZsZXgpXG5AbWl4aW4gZGlzcGxheSgkdmFsdWUpIHtcbiAgQGluY2x1ZGUgX2JvdXJib24tZGVwcmVjYXRlLWZvci1wcmVmaXhpbmcoXCJkaXNwbGF5XCIpO1xuXG4vLyBmbGV4IHwgaW5saW5lLWZsZXhcbiAgQGlmICR2YWx1ZSA9PSBcImZsZXhcIiB7XG4gICAgLy8gMjAwOVxuICAgIGRpc3BsYXk6IC13ZWJraXQtYm94O1xuICAgIGRpc3BsYXk6IC1tb3otYm94O1xuICAgIGRpc3BsYXk6IGJveDtcblxuICAgIC8vIDIwMTJcbiAgICBkaXNwbGF5OiAtd2Via2l0LWZsZXg7XG4gICAgZGlzcGxheTogLW1vei1mbGV4O1xuICAgIGRpc3BsYXk6IC1tcy1mbGV4Ym94OyAvLyAyMDExIChJRSAxMClcbiAgICBkaXNwbGF5OiBmbGV4O1xuICB9IEBlbHNlIGlmICR2YWx1ZSA9PSBcImlubGluZS1mbGV4XCIge1xuICAgIGRpc3BsYXk6IC13ZWJraXQtaW5saW5lLWJveDtcbiAgICBkaXNwbGF5OiAtbW96LWlubGluZS1ib3g7XG4gICAgZGlzcGxheTogaW5saW5lLWJveDtcblxuICAgIGRpc3BsYXk6IC13ZWJraXQtaW5saW5lLWZsZXg7XG4gICAgZGlzcGxheTogLW1vei1pbmxpbmUtZmxleDtcbiAgICBkaXNwbGF5OiAtbXMtaW5saW5lLWZsZXhib3g7XG4gICAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gIH0gQGVsc2Uge1xuICAgIGRpc3BsYXk6ICR2YWx1ZTtcbiAgfVxufVxuXG4vLyAyMDA5IC0gYm94LWZsZXggKGludGVnZXIpXG4vLyAyMDExIC0gZmxleCAoZGVjaW1hbCB8IHdpZHRoIGRlY2ltYWwpXG4vLyAyMDEyIC0gZmxleCAoaW50ZWdlciBpbnRlZ2VyIHdpZHRoKVxuQG1peGluIGZsZXgoJHZhbHVlKSB7XG4gIEBpbmNsdWRlIF9ib3VyYm9uLWRlcHJlY2F0ZS1mb3ItcHJlZml4aW5nKFwiZmxleFwiKTtcblxuICAvLyBHcmFiIGZsZXgtZ3JvdyBmb3Igb2xkZXIgYnJvd3NlcnMuXG4gICRmbGV4LWdyb3c6IG50aCgkdmFsdWUsIDEpO1xuXG4gIC8vIDIwMDlcbiAgQGluY2x1ZGUgcHJlZml4ZXIoYm94LWZsZXgsICRmbGV4LWdyb3csIHdlYmtpdCBtb3ogc3BlYyk7XG5cbiAgLy8gMjAxMSAoSUUgMTApLCAyMDEyXG4gIEBpbmNsdWRlIHByZWZpeGVyKGZsZXgsICR2YWx1ZSwgd2Via2l0IG1veiBtcyBzcGVjKTtcbn1cblxuLy8gMjAwOSAtIGJveC1vcmllbnQgKCBob3Jpem9udGFsIHwgdmVydGljYWwgfCBpbmxpbmUtYXhpcyB8IGJsb2NrLWF4aXMpXG4vLyAgICAgIC0gYm94LWRpcmVjdGlvbiAobm9ybWFsIHwgcmV2ZXJzZSlcbi8vIDIwMTEgLSBmbGV4LWRpcmVjdGlvbiAocm93IHwgcm93LXJldmVyc2UgfCBjb2x1bW4gfCBjb2x1bW4tcmV2ZXJzZSlcbi8vIDIwMTIgLSBmbGV4LWRpcmVjdGlvbiAocm93IHwgcm93LXJldmVyc2UgfCBjb2x1bW4gfCBjb2x1bW4tcmV2ZXJzZSlcbkBtaXhpbiBmbGV4LWRpcmVjdGlvbigkdmFsdWU6IHJvdykge1xuICBAaW5jbHVkZSBfYm91cmJvbi1kZXByZWNhdGUtZm9yLXByZWZpeGluZyhcImZsZXgtZGlyZWN0aW9uXCIpO1xuXG4gIC8vIEFsdCB2YWx1ZXMuXG4gICR2YWx1ZS0yMDA5OiAkdmFsdWU7XG4gICR2YWx1ZS0yMDExOiAkdmFsdWU7XG4gICRkaXJlY3Rpb246IG5vcm1hbDtcblxuICBAaWYgJHZhbHVlID09IHJvdyB7XG4gICAgJHZhbHVlLTIwMDk6IGhvcml6b250YWw7XG4gIH0gQGVsc2UgaWYgJHZhbHVlID09IFwicm93LXJldmVyc2VcIiB7XG4gICAgJHZhbHVlLTIwMDk6IGhvcml6b250YWw7XG4gICAgJGRpcmVjdGlvbjogcmV2ZXJzZTtcbiAgfSBAZWxzZSBpZiAkdmFsdWUgPT0gY29sdW1uIHtcbiAgICAkdmFsdWUtMjAwOTogdmVydGljYWw7XG4gIH0gQGVsc2UgaWYgJHZhbHVlID09IFwiY29sdW1uLXJldmVyc2VcIiB7XG4gICAgJHZhbHVlLTIwMDk6IHZlcnRpY2FsO1xuICAgICRkaXJlY3Rpb246IHJldmVyc2U7XG4gIH1cblxuICAvLyAyMDA5XG4gIEBpbmNsdWRlIHByZWZpeGVyKGJveC1vcmllbnQsICR2YWx1ZS0yMDA5LCB3ZWJraXQgbW96IHNwZWMpO1xuICBAaW5jbHVkZSBwcmVmaXhlcihib3gtZGlyZWN0aW9uLCAkZGlyZWN0aW9uLCB3ZWJraXQgbW96IHNwZWMpO1xuXG4gIC8vIDIwMTJcbiAgQGluY2x1ZGUgcHJlZml4ZXIoZmxleC1kaXJlY3Rpb24sICR2YWx1ZSwgd2Via2l0IG1veiBzcGVjKTtcblxuICAvLyAyMDExIChJRSAxMClcbiAgLW1zLWZsZXgtZGlyZWN0aW9uOiAkdmFsdWU7XG59XG5cbi8vIDIwMDkgLSBib3gtbGluZXMgKHNpbmdsZSB8IG11bHRpcGxlKVxuLy8gMjAxMSAtIGZsZXgtd3JhcCAobm93cmFwIHwgd3JhcCB8IHdyYXAtcmV2ZXJzZSlcbi8vIDIwMTIgLSBmbGV4LXdyYXAgKG5vd3JhcCB8IHdyYXAgfCB3cmFwLXJldmVyc2UpXG5AbWl4aW4gZmxleC13cmFwKCR2YWx1ZTogbm93cmFwKSB7XG4gIEBpbmNsdWRlIF9ib3VyYm9uLWRlcHJlY2F0ZS1mb3ItcHJlZml4aW5nKFwiZmxleC13cmFwXCIpO1xuXG4gIC8vIEFsdCB2YWx1ZXNcbiAgJGFsdC12YWx1ZTogJHZhbHVlO1xuICBAaWYgJHZhbHVlID09IG5vd3JhcCB7XG4gICAgJGFsdC12YWx1ZTogc2luZ2xlO1xuICB9IEBlbHNlIGlmICR2YWx1ZSA9PSB3cmFwIHtcbiAgICAkYWx0LXZhbHVlOiBtdWx0aXBsZTtcbiAgfSBAZWxzZSBpZiAkdmFsdWUgPT0gXCJ3cmFwLXJldmVyc2VcIiB7XG4gICAgJGFsdC12YWx1ZTogbXVsdGlwbGU7XG4gIH1cblxuICBAaW5jbHVkZSBwcmVmaXhlcihib3gtbGluZXMsICRhbHQtdmFsdWUsIHdlYmtpdCBtb3ogc3BlYyk7XG4gIEBpbmNsdWRlIHByZWZpeGVyKGZsZXgtd3JhcCwgJHZhbHVlLCB3ZWJraXQgbW96IG1zIHNwZWMpO1xufVxuXG4vLyAyMDA5IC0gVE9ETzogcGFyc2UgdmFsdWVzIGludG8gZmxleC1kaXJlY3Rpb24vZmxleC13cmFwXG4vLyAyMDExIC0gVE9ETzogcGFyc2UgdmFsdWVzIGludG8gZmxleC1kaXJlY3Rpb24vZmxleC13cmFwXG4vLyAyMDEyIC0gZmxleC1mbG93IChmbGV4LWRpcmVjdGlvbiB8fCBmbGV4LXdyYXApXG5AbWl4aW4gZmxleC1mbG93KCR2YWx1ZSkge1xuICBAaW5jbHVkZSBfYm91cmJvbi1kZXByZWNhdGUtZm9yLXByZWZpeGluZyhcImZsZXgtZmxvd1wiKTtcblxuICBAaW5jbHVkZSBwcmVmaXhlcihmbGV4LWZsb3csICR2YWx1ZSwgd2Via2l0IG1veiBzcGVjKTtcbn1cblxuLy8gMjAwOSAtIGJveC1vcmRpbmFsLWdyb3VwIChpbnRlZ2VyKVxuLy8gMjAxMSAtIGZsZXgtb3JkZXIgKGludGVnZXIpXG4vLyAyMDEyIC0gb3JkZXIgKGludGVnZXIpXG5AbWl4aW4gb3JkZXIoJGludDogMCkge1xuICBAaW5jbHVkZSBfYm91cmJvbi1kZXByZWNhdGUtZm9yLXByZWZpeGluZyhcIm9yZGVyXCIpO1xuXG4gIC8vIDIwMDlcbiAgQGluY2x1ZGUgcHJlZml4ZXIoYm94LW9yZGluYWwtZ3JvdXAsICRpbnQsIHdlYmtpdCBtb3ogc3BlYyk7XG5cbiAgLy8gMjAxMlxuICBAaW5jbHVkZSBwcmVmaXhlcihvcmRlciwgJGludCwgd2Via2l0IG1veiBzcGVjKTtcblxuICAvLyAyMDExIChJRSAxMClcbiAgLW1zLWZsZXgtb3JkZXI6ICRpbnQ7XG59XG5cbi8vIDIwMTIgLSBmbGV4LWdyb3cgKG51bWJlcilcbkBtaXhpbiBmbGV4LWdyb3coJG51bWJlcjogMCkge1xuICBAaW5jbHVkZSBfYm91cmJvbi1kZXByZWNhdGUtZm9yLXByZWZpeGluZyhcImZsZXgtZ3Jvd1wiKTtcblxuICBAaW5jbHVkZSBwcmVmaXhlcihmbGV4LWdyb3csICRudW1iZXIsIHdlYmtpdCBtb3ogc3BlYyk7XG4gIC1tcy1mbGV4LXBvc2l0aXZlOiAkbnVtYmVyO1xufVxuXG4vLyAyMDEyIC0gZmxleC1zaHJpbmsgKG51bWJlcilcbkBtaXhpbiBmbGV4LXNocmluaygkbnVtYmVyOiAxKSB7XG4gIEBpbmNsdWRlIF9ib3VyYm9uLWRlcHJlY2F0ZS1mb3ItcHJlZml4aW5nKFwiZmxleC1zaHJpbmtcIik7XG5cbiAgQGluY2x1ZGUgcHJlZml4ZXIoZmxleC1zaHJpbmssICRudW1iZXIsIHdlYmtpdCBtb3ogc3BlYyk7XG4gIC1tcy1mbGV4LW5lZ2F0aXZlOiAkbnVtYmVyO1xufVxuXG4vLyAyMDEyIC0gZmxleC1iYXNpcyAobnVtYmVyKVxuQG1peGluIGZsZXgtYmFzaXMoJHdpZHRoOiBhdXRvKSB7XG4gIEBpbmNsdWRlIF9ib3VyYm9uLWRlcHJlY2F0ZS1mb3ItcHJlZml4aW5nKFwiZmxleC1iYXNpc1wiKTtcblxuICBAaW5jbHVkZSBwcmVmaXhlcihmbGV4LWJhc2lzLCAkd2lkdGgsIHdlYmtpdCBtb3ogc3BlYyk7XG4gIC1tcy1mbGV4LXByZWZlcnJlZC1zaXplOiAkd2lkdGg7XG59XG5cbi8vIDIwMDkgLSBib3gtcGFjayAoc3RhcnQgfCBlbmQgfCBjZW50ZXIgfCBqdXN0aWZ5KVxuLy8gMjAxMSAtIGZsZXgtcGFjayAoc3RhcnQgfCBlbmQgfCBjZW50ZXIgfCBqdXN0aWZ5KVxuLy8gMjAxMiAtIGp1c3RpZnktY29udGVudCAoZmxleC1zdGFydCB8IGZsZXgtZW5kIHwgY2VudGVyIHwgc3BhY2UtYmV0d2VlbiB8IHNwYWNlLWFyb3VuZClcbkBtaXhpbiBqdXN0aWZ5LWNvbnRlbnQoJHZhbHVlOiBmbGV4LXN0YXJ0KSB7XG4gIEBpbmNsdWRlIF9ib3VyYm9uLWRlcHJlY2F0ZS1mb3ItcHJlZml4aW5nKFwianVzdGlmeS1jb250ZW50XCIpO1xuXG4gIC8vIEFsdCB2YWx1ZXMuXG4gICRhbHQtdmFsdWU6ICR2YWx1ZTtcbiAgQGlmICR2YWx1ZSA9PSBcImZsZXgtc3RhcnRcIiB7XG4gICAgJGFsdC12YWx1ZTogc3RhcnQ7XG4gIH0gQGVsc2UgaWYgJHZhbHVlID09IFwiZmxleC1lbmRcIiB7XG4gICAgJGFsdC12YWx1ZTogZW5kO1xuICB9IEBlbHNlIGlmICR2YWx1ZSA9PSBcInNwYWNlLWJldHdlZW5cIiB7XG4gICAgJGFsdC12YWx1ZToganVzdGlmeTtcbiAgfSBAZWxzZSBpZiAkdmFsdWUgPT0gXCJzcGFjZS1hcm91bmRcIiB7XG4gICAgJGFsdC12YWx1ZTogZGlzdHJpYnV0ZTtcbiAgfVxuXG4gIC8vIDIwMDlcbiAgQGluY2x1ZGUgcHJlZml4ZXIoYm94LXBhY2ssICRhbHQtdmFsdWUsIHdlYmtpdCBtb3ogc3BlYyk7XG5cbiAgLy8gMjAxMlxuICBAaW5jbHVkZSBwcmVmaXhlcihqdXN0aWZ5LWNvbnRlbnQsICR2YWx1ZSwgd2Via2l0IG1veiBtcyBvIHNwZWMpO1xuXG4gIC8vIDIwMTEgKElFIDEwKVxuICAtbXMtZmxleC1wYWNrOiAkYWx0LXZhbHVlO1xufVxuXG4vLyAyMDA5IC0gYm94LWFsaWduIChzdGFydCB8IGVuZCB8IGNlbnRlciB8IGJhc2VsaW5lIHwgc3RyZXRjaClcbi8vIDIwMTEgLSBmbGV4LWFsaWduIChzdGFydCB8IGVuZCB8IGNlbnRlciB8IGJhc2VsaW5lIHwgc3RyZXRjaClcbi8vIDIwMTIgLSBhbGlnbi1pdGVtcyAoZmxleC1zdGFydCB8IGZsZXgtZW5kIHwgY2VudGVyIHwgYmFzZWxpbmUgfCBzdHJldGNoKVxuQG1peGluIGFsaWduLWl0ZW1zKCR2YWx1ZTogc3RyZXRjaCkge1xuICBAaW5jbHVkZSBfYm91cmJvbi1kZXByZWNhdGUtZm9yLXByZWZpeGluZyhcImFsaWduLWl0ZW1zXCIpO1xuXG4gICRhbHQtdmFsdWU6ICR2YWx1ZTtcblxuICBAaWYgJHZhbHVlID09IFwiZmxleC1zdGFydFwiIHtcbiAgICAkYWx0LXZhbHVlOiBzdGFydDtcbiAgfSBAZWxzZSBpZiAkdmFsdWUgPT0gXCJmbGV4LWVuZFwiIHtcbiAgICAkYWx0LXZhbHVlOiBlbmQ7XG4gIH1cblxuICAvLyAyMDA5XG4gIEBpbmNsdWRlIHByZWZpeGVyKGJveC1hbGlnbiwgJGFsdC12YWx1ZSwgd2Via2l0IG1veiBzcGVjKTtcblxuICAvLyAyMDEyXG4gIEBpbmNsdWRlIHByZWZpeGVyKGFsaWduLWl0ZW1zLCAkdmFsdWUsIHdlYmtpdCBtb3ogbXMgbyBzcGVjKTtcblxuICAvLyAyMDExIChJRSAxMClcbiAgLW1zLWZsZXgtYWxpZ246ICRhbHQtdmFsdWU7XG59XG5cbi8vIDIwMTEgLSBmbGV4LWl0ZW0tYWxpZ24gKGF1dG8gfCBzdGFydCB8IGVuZCB8IGNlbnRlciB8IGJhc2VsaW5lIHwgc3RyZXRjaClcbi8vIDIwMTIgLSBhbGlnbi1zZWxmIChhdXRvIHwgZmxleC1zdGFydCB8IGZsZXgtZW5kIHwgY2VudGVyIHwgYmFzZWxpbmUgfCBzdHJldGNoKVxuQG1peGluIGFsaWduLXNlbGYoJHZhbHVlOiBhdXRvKSB7XG4gIEBpbmNsdWRlIF9ib3VyYm9uLWRlcHJlY2F0ZS1mb3ItcHJlZml4aW5nKFwiYWxpZ24tc2VsZlwiKTtcblxuICAkdmFsdWUtMjAxMTogJHZhbHVlO1xuICBAaWYgJHZhbHVlID09IFwiZmxleC1zdGFydFwiIHtcbiAgICAkdmFsdWUtMjAxMTogc3RhcnQ7XG4gIH0gQGVsc2UgaWYgJHZhbHVlID09IFwiZmxleC1lbmRcIiB7XG4gICAgJHZhbHVlLTIwMTE6IGVuZDtcbiAgfVxuXG4gIC8vIDIwMTJcbiAgQGluY2x1ZGUgcHJlZml4ZXIoYWxpZ24tc2VsZiwgJHZhbHVlLCB3ZWJraXQgbW96IHNwZWMpO1xuXG4gIC8vIDIwMTEgKElFIDEwKVxuICAtbXMtZmxleC1pdGVtLWFsaWduOiAkdmFsdWUtMjAxMTtcbn1cblxuLy8gMjAxMSAtIGZsZXgtbGluZS1wYWNrIChzdGFydCB8IGVuZCB8IGNlbnRlciB8IGp1c3RpZnkgfCBkaXN0cmlidXRlIHwgc3RyZXRjaClcbi8vIDIwMTIgLSBhbGlnbi1jb250ZW50IChmbGV4LXN0YXJ0IHwgZmxleC1lbmQgfCBjZW50ZXIgfCBzcGFjZS1iZXR3ZWVuIHwgc3BhY2UtYXJvdW5kIHwgc3RyZXRjaClcbkBtaXhpbiBhbGlnbi1jb250ZW50KCR2YWx1ZTogc3RyZXRjaCkge1xuICBAaW5jbHVkZSBfYm91cmJvbi1kZXByZWNhdGUtZm9yLXByZWZpeGluZyhcImFsaWduLWNvbnRlbnRcIik7XG5cbiAgJHZhbHVlLTIwMTE6ICR2YWx1ZTtcbiAgQGlmICR2YWx1ZSA9PSBcImZsZXgtc3RhcnRcIiB7XG4gICAgJHZhbHVlLTIwMTE6IHN0YXJ0O1xuICB9IEBlbHNlIGlmICR2YWx1ZSA9PSBcImZsZXgtZW5kXCIge1xuICAgICR2YWx1ZS0yMDExOiBlbmQ7XG4gIH0gQGVsc2UgaWYgJHZhbHVlID09IFwic3BhY2UtYmV0d2VlblwiIHtcbiAgICAkdmFsdWUtMjAxMToganVzdGlmeTtcbiAgfSBAZWxzZSBpZiAkdmFsdWUgPT0gXCJzcGFjZS1hcm91bmRcIiB7XG4gICAgJHZhbHVlLTIwMTE6IGRpc3RyaWJ1dGU7XG4gIH1cblxuICAvLyAyMDEyXG4gIEBpbmNsdWRlIHByZWZpeGVyKGFsaWduLWNvbnRlbnQsICR2YWx1ZSwgd2Via2l0IG1veiBzcGVjKTtcblxuICAvLyAyMDExIChJRSAxMClcbiAgLW1zLWZsZXgtbGluZS1wYWNrOiAkdmFsdWUtMjAxMTtcbn1cbiIsIi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuLy9cbi8vIENPTlRBQ1QgRk9STVxuLy9cbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuXG4uY29udGFjdEZvcm1fd3JhcHBlcl9mb3JtIGZvcm0gLmdmb3JtX2JvZHkgdWwgbGkgLmdpbnB1dF9jb250YWluZXIgaW5wdXQsXG4uY29udGFjdEZvcm1fd3JhcHBlcl9mb3JtIGZvcm0gLmdmb3JtX2JvZHkgdWwgbGkgLmdpbnB1dF9jb250YWluZXIgc2VsZWN0LFxuLmNvbnRhY3RGb3JtX3dyYXBwZXJfZm9ybSBmb3JtIC5nZm9ybV9ib2R5IHVsIGxpIC5naW5wdXRfY29udGFpbmVyIHRleHRhcmVhIHtcbiAgICBjb2xvcjogIzRDNDc0NTtcbiAgICBib3JkZXItY29sb3I6ICM0QzQ3NDU7XG59XG5cbi5jb250YWN0Rm9ybV93cmFwcGVyX2Zvcm0gZm9ybSAuZ2Zvcm1fYm9keSB1bCBsaSAuZ2ZpZWxkX2xhYmVsIHtcbiAgICBjb2xvcjogIzRDNDc0NTtcbiAgICBmb250LXdlaWdodDogNzAwO1xufVxuXG4uY29udGFjdEZvcm1fc2lkZV9iYWNrZ3JvdW5kLCAuY29udGFjdEZvcm1fd3JhcHBlcl9zaWRlIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkdGVydGlhcnk7XG59XG5cbi5wcmltYXJ5LXN1Ym1pdHtcbiAgICBwb3NpdGlvbjpyZWxhdGl2ZTtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgLmJ1dHRvbiB7XG4gICAgICAgIGJvcmRlcjogbm9uZTtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHByaW1hcnk7XG4gICAgICAgIGNvbG9yOiAkd2hpdGU7XG4gICAgICAgIHBhZGRpbmctcmlnaHQ6NjlweDtcbiAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBkYXJrZW4oJHByaW1hcnksIDIlKTtcbiAgICAgICAgICAgICYgKyBzcGFuIHtcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOnJnYmEoI2VjOWMyZCwgMC4yKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbiAgICBzcGFuIHtcbiAgICAgICAgQGluY2x1ZGUgdHJhbnNpdGlvbiggYWxsIDAuMjVzICk7XG4gICAgICAgIGNvbnRlbnQ6Jyc7XG4gICAgICAgIGRpc3BsYXk6YmxvY2s7XG4gICAgICAgIHBvc2l0aW9uOmFic29sdXRlO1xuICAgICAgICB0b3A6MDtcbiAgICAgICAgcmlnaHQ6MDtcbiAgICAgICAgd2lkdGg6MzlweDtcbiAgICAgICAgaGVpZ2h0OjEwMCU7XG4gICAgICAgIGJhY2tncm91bmQ6I2VjOWMyZCB1cmwoZGF0YTppbWFnZS9zdmcreG1sO2Jhc2U2NCxQRDk0Yld3Z2RtVnljMmx2YmowaU1TNHdJaUJsYm1OdlpHbHVaejBpZFhSbUxUZ2lQejQ4YzNabklIWmxjbk5wYjI0OUlqRXVNU0lnYVdROUlreGhlV1Z5WHpFaUlIaHRiRzV6UFNKb2RIUndPaTh2ZDNkM0xuY3pMbTl5Wnk4eU1EQXdMM04yWnlJZ2VHMXNibk02ZUd4cGJtczlJbWgwZEhBNkx5OTNkM2N1ZHpNdWIzSm5MekU1T1RrdmVHeHBibXNpSUhnOUlqQndlQ0lnZVQwaU1IQjRJaUIyYVdWM1FtOTRQU0l3SURBZ01UQXVPQ0EySWlCemRIbHNaVDBpWlc1aFlteGxMV0poWTJ0bmNtOTFibVE2Ym1WM0lEQWdNQ0F4TUM0NElEWTdJaUI0Yld3NmMzQmhZMlU5SW5CeVpYTmxjblpsSWo0OGMzUjViR1VnZEhsd1pUMGlkR1Y0ZEM5amMzTWlQaTV6ZERCN1ptbHNiRG9qUmtaR1JrWkdPMzA4TDNOMGVXeGxQanh3YjJ4NVoyOXVJR05zWVhOelBTSnpkREFpSUhCdmFXNTBjejBpTUN3d0lEQXNOaUF4TUM0NExETWdJaTgrUEM5emRtYyspIG5vLXJlcGVhdCBjZW50ZXIgY2VudGVyO1xuICAgICAgICBiYWNrZ3JvdW5kLXNpemU6IDE1cHggYXV0bztcbiAgICB9XG59XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDk2MHB4KXtcbiAgICAuY29udGFjdEZvcm1fd3JhcHBlcl9zaWRlIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgfVxufVxuXG4uY29udGFjdEZvcm0gaDMge1xuICAgIGNvbG9yOiAjRTk2QTJBO1xufVxuXG4uY29udGFjdEZvcm0gcCBzdHJvbmcge1xuICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG59XG5cbi5tb2R1bGVXcmFwcGVyIC5jb250YWN0Rm9ybSB7XG4gICAgcGFkZGluZzogMjBweDtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICB6LWluZGV4OiAwO1xuXG4gICAgJl9zaWRlX2JhY2tncm91bmQge1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHotaW5kZXg6IC0xO1xuICAgIH1cblxuICAgICZfd3JhcHBlciB7XG4gICAgICAgIG1hcmdpbjogYXV0bztcbiAgICAgICAgbWF4LXdpZHRoOiAxMjAwcHg7XG4gICAgICAgICZfc2lkZSB7XG4gICAgICAgICAgICBAaW5jbHVkZSBjbGVhcmZpeDtcbiAgICAgICAgICAgICZfY29udGVudCB7XG4gICAgICAgICAgICAgICAgcCB7XG4gICAgICAgICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDQwcHg7XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgaDEsIGgyLCBoMywgaDQsIGg1LCBoNiwgbGksIHAge1xuICAgICAgICAgICAgICAgICAgICAmOmxhc3QtY2hpbGQge1xuICAgICAgICAgICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgICZfZm9ybSB7XG4gICAgICAgICAgICBmb3JtIC5nZm9ybV9ib2R5IHVse1xuICAgICAgICAgICAgICAgIGxpIHtcbiAgICAgICAgICAgICAgICAgICAgLmdpbnB1dF9jb250YWluZXIge1xuICAgICAgICAgICAgICAgICAgICAgICAgbWFyZ2luLXRvcDogLjEyNWVtICFpbXBvcnRhbnQ7XG4gICAgICAgICAgICAgICAgICAgICAgICBpbnB1dCwgdGV4dGFyZWEsIHNlbGVjdCB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgcGFkZGluZy1sZWZ0OiAwLjVlbTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBwYWRkaW5nLXJpZ2h0OiAwLjVlbTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBib3JkZXI6IDJweCBzb2xpZDtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB3aWR0aDogOTcuNSU7XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAgICAgICAgIHNlbGVjdCB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgcGFkZGluZy10b3A6IDAuOGVtO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBhZGRpbmctYm90dG9tOiAwLjhlbTtcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICAgICAgICAgdGV4dGFyZWEge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhlaWdodDogOGVtO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBhZGRpbmctdG9wOiAwLjMxM2VtO1xuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIC5nZmllbGRfbGFiZWwge1xuICAgICAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgcGFyYWdyYXBoLWZvbnQgKDE3LCAxNTAsIHVwcGVyY2FzZSk7XG4gICAgICAgICAgICAgICAgICAgICAgICBmb250LXN0eWxlOiBub3JtYWw7XG4gICAgICAgICAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgICAgICAgICAgICAgICAgICAgICAgY29sb3I6IzRDNDc0NTtcbiAgICAgICAgICAgICAgICAgICAgICAgIGZvbnQtd2VpZ2h0OjcwMDtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgIEBpbmNsdWRlIG1lZGlhKCRtb2JpbGUtb25seSkge1xuICAgICAgICBwYWRkaW5nOiAyMHB4IDEwcHg7XG5cbiAgICAgICAgJl9zaWRlX2JhY2tncm91bmQge1xuICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgfVxuXG4gICAgICAgICZfd3JhcHBlciB7XG4gICAgICAgICAgICBAaW5jbHVkZSBjbGVhcmZpeDtcblxuICAgICAgICAgICAgJl9zaWRlIHtcbiAgICAgICAgICAgICAgICBwYWRkaW5nOiAyMHB4IDEwcHggMjBweCAxMHB4O1xuICAgICAgICAgICAgICAgIG1hcmdpbjogLTIwcHggLTEwcHggMCAtMTBweDtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgJl9mb3JtIHtcbiAgICAgICAgICAgICAgICBtYXJnaW4tdG9wOiAyMHB4O1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgbWVkaWEoJHRhYmxldCkge1xuICAgICAgICBwYWRkaW5nOiA0MHB4IDIwcHg7XG5cbiAgICAgICAgJl9zaWRlX2JhY2tncm91bmQge1xuICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgfVxuXG4gICAgICAgICZfd3JhcHBlciB7XG4gICAgICAgICAgICBAaW5jbHVkZSBjbGVhcmZpeDtcblxuICAgICAgICAgICAgJl9zaWRlIHtcbiAgICAgICAgICAgICAgICBwYWRkaW5nOiA0MHB4IDIwcHggNDBweCAyMHB4O1xuICAgICAgICAgICAgICAgIG1hcmdpbjogLTQwcHggLTIwcHggMCAtMjBweDtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgJl9mb3JtIHtcbiAgICAgICAgICAgICAgICBtYXJnaW4tdG9wOiA0MHB4O1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgbWVkaWEoJGRlc2t0b3ApIHtcbiAgICAgICAgcGFkZGluZy1ib3R0b206IDcwcHg7XG4gICAgICAgIHBhZGRpbmctdG9wOiAzMHB4O1xuICAgICAgICBwYWRkaW5nLWxlZnQ6IDEwMHB4O1xuICAgICAgICBwYWRkaW5nLXJpZ2h0OiAxMDBweDtcblxuICAgICAgICAmX3NpZGVfYmFja2dyb3VuZCB7XG4gICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgIGxlZnQ6IDBweDtcbiAgICAgICAgICAgIHRvcDogMHB4O1xuICAgICAgICAgICAgLy93aWR0aDogNDEwcHg7XG4gICAgICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICAgICAgICB3aWR0aDogY2FsYygzMS43NjE1NyUgKyAxMDBweCk7XG4gICAgICAgIH1cbiAgICAgICAgJl93cmFwcGVyIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIGNsZWFyZml4O1xuXG4gICAgICAgICAgICAmX2Zvcm0ge1xuICAgICAgICAgICAgICAgIC8vZmxvYXQ6IGxlZnQ7XG4gICAgICAgICAgICAgICAgLy9tYXgtd2lkdGg6IDU0NXB4O1xuICAgICAgICAgICAgICAgIC8vIG1hcmdpbi1sZWZ0OiAwcHg7XG4gICAgICAgICAgICAgICAgLy8gcGFkZGluZy1sZWZ0OiAwcHg7XG4gICAgICAgICAgICAgICAgLy8gd2lkdGg6IGNhbGMoMTAwJSAtIDM5MHB4KTtcblxuICAgICAgICAgICAgICAgIEBpbmNsdWRlIHNwYW4tY29sdW1ucyg2IG9mIDEyKTsgXG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgc2hpZnQoMSk7IFxuICAgICAgICAgICAgICAgIHBhZGRpbmctbGVmdDogMzBweDtcblxuICAgICAgICAgICAgICAgICZfdGl0bGUge1xuICAgICAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAxNHB4O1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgJl9zaWRlIHtcbiAgICAgICAgICAgICAgICBmbG9hdDogbGVmdDtcbiAgICAgICAgICAgICAgICBwYWRkaW5nOiAwO1xuICAgICAgICAgICAgICAgIG1hcmdpbjogNDBweCAwIDAgMDtcbiAgICAgICAgICAgICAgICAmX2NvbnRlbnQge1xuICAgICAgICAgICAgICAgICAgICAvL2Zsb2F0OiBsZWZ0O1xuICAgICAgICAgICAgICAgICAgICAvL3dpZHRoOiAzOTBweDtcbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBzcGFuLWNvbHVtbnMoNCBvZiAxMik7IFxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuICAgIEBpbmNsdWRlIG1lZGlhKCRkZXNrdG9wLTE0MDApIHtcblxuICAgICAgICAmX3NpZGVfYmFja2dyb3VuZCB7XG4gICAgICAgICAgICB3aWR0aDogY2FsYygoMTAwJSAtIDEyMDBweCkvMiArIDQ1MHB4KTtcbiAgICAgICAgfVxuXG4gICAgICAgICZfd3JhcHBlciB7XG4gICAgICAgICAgICAmX2Zvcm0ge1xuICAgICAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiAxMjBweDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbn0iLCIvLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cbi8vXG4vLyBGT09URVJcbi8vXG4vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cblxuLmZvb3RlciB7XG4gICAgJl9jb250YWluZXIge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkZGtncmF5O1xuICAgICAgICBwYWRkaW5nOjIwcHggMCAxNXB4O1xuICAgIH1cblxuICAgIGhyIHtcbiAgICAgICAgbWFyZ2luOiAyNXB4IGF1dG87XG4gICAgICAgIG1heC13aWR0aDogMTIwMHB4O1xuICAgICAgICBvdXRsaW5lOjA7XG4gICAgICAgIGJvcmRlcjowO1xuICAgICAgICBoZWlnaHQ6MXB4O1xuICAgICAgICBiYWNrZ3JvdW5kOiM5Nzk3OTc7XG4gICAgfVxuXG4gICAgJl9sb3dlciB7XG4gICAgICAgIEBpbmNsdWRlIGNsZWFyZml4O1xuICAgICAgICBtYXJnaW46IGF1dG87XG4gICAgICAgIG1heC13aWR0aDogMTIwMHB4O1xuICAgICAgICBwYWRkaW5nOiAwIDIwcHg7XG4gICAgICAgICZfc29jaWFsIHtcbiAgICAgICAgICAgIHdpZHRoOjUwJTtcbiAgICAgICAgICAgIGZsb2F0OmxlZnQ7XG4gICAgICAgICAgICBAaW5jbHVkZSBtZWRpYSgkbW9iaWxlLW9ubHkpIHtcbiAgICAgICAgICAgICAgICB3aWR0aDoxMDAlO1xuICAgICAgICAgICAgICAgIGZsb2F0Om5vbmU7XG4gICAgICAgICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgcCB7XG4gICAgICAgICAgICAgICAgbWFyZ2luOjA7XG4gICAgICAgICAgICAgICAgY29sb3I6JHdoaXRlO1xuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZToxNHB4O1xuICAgICAgICAgICAgICAgIGZvbnQtc3R5bGU6bm9ybWFsO1xuICAgICAgICAgICAgICAgIGZvbnQtd2VpZ2h0OjQwMDtcbiAgICAgICAgICAgICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgJl9uZXdzbGV0dGVyX3NpZ251cCB7XG4gICAgICAgICAgICB3aWR0aDo1MCU7XG4gICAgICAgICAgICBmbG9hdDpyaWdodDtcbiAgICAgICAgICAgIEBpbmNsdWRlIG1lZGlhKCRtb2JpbGUtb25seSkge1xuICAgICAgICAgICAgICAgIHdpZHRoOjEwMCU7XG4gICAgICAgICAgICAgICAgZmxvYXQ6bm9uZTtcbiAgICAgICAgICAgICAgICBwYWRkaW5nOjIwcHggMDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIC5nZm9ybV93cmFwcGVyIHtcbiAgICAgICAgICAgICAgICBwb3NpdGlvbjpyZWxhdGl2ZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIC5nZmllbGRfbGFiZWwge1xuICAgICAgICAgICAgICAgIGNvbG9yOiR3aGl0ZTtcbiAgICAgICAgICAgICAgICBmb250LXNpemU6MTRweDtcbiAgICAgICAgICAgICAgICBmb250LXN0eWxlOm5vcm1hbDtcbiAgICAgICAgICAgICAgICBmb250LXdlaWdodDo0MDA7XG4gICAgICAgICAgICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBtZWRpYSgkbW9iaWxlLW9ubHkpIHtcbiAgICAgICAgICAgICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIC5naW5wdXRfY29udGFpbmVyIHtcbiAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOjA7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICAuZ2lucHV0X2NvbnRhaW5lciBpbnB1dFt0eXBlPVwiZW1haWxcIl0sIC5naW5wdXRfY29udGFpbmVyIGlucHV0W3R5cGU9XCJudW1iZXJcIl0sIC5naW5wdXRfY29udGFpbmVyIGlucHV0W3R5cGU9XCJ0ZXh0XCJdLCAuZ2lucHV0X2NvbnRhaW5lciB0ZXh0YXJlYSB7XG4gICAgICAgICAgICAgICAgYm9yZGVyLWNvbG9yOiM5Nzk3OTc7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZDojNjM2MDYwO1xuICAgICAgICAgICAgICAgIGhlaWdodDo0NXB4O1xuICAgICAgICAgICAgICAgIGNvbG9yOiR3aGl0ZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIC5nZm9ybV9mb290ZXIge1xuXG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgbWVkaWEoJG1vYmlsZS1vbmx5KSB7XG4gICAgICAgICAgICAgICAgICAgIHBvc2l0aW9uOnJlbGF0aXZlO1xuICAgICAgICAgICAgICAgICAgICB0b3A6MDtcbiAgICAgICAgICAgICAgICAgICAgcmlnaHQ6MDtcbiAgICAgICAgICAgICAgICAgICAgbWFyZ2luLXRvcDoyMHB4O1xuICAgICAgICAgICAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIEBpbmNsdWRlIG1lZGlhKCR0YWJsZXQpIHtcbiAgICAgICAgICAgICAgICAgICAgcG9zaXRpb246cmVsYXRpdmU7XG4gICAgICAgICAgICAgICAgICAgIHRvcDowO1xuICAgICAgICAgICAgICAgICAgICByaWdodDowO1xuICAgICAgICAgICAgICAgICAgICBtYXJnaW4tdG9wOjIwcHg7XG4gICAgICAgICAgICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBtZWRpYSgkZGVza3RvcCkge1xuICAgICAgICAgICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICAgICAgICAgIHRvcDogMjlweDtcbiAgICAgICAgICAgICAgICAgICAgcmlnaHQ6IDFweDtcbiAgICAgICAgICAgICAgICAgICAgbWFyZ2luLXRvcDowO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgLnByaW1hcnktc3VibWl0IC5idXR0b24ge1xuICAgICAgICAgICAgICAgIHBhZGRpbmc6IDExcHggNjVweCAxMnB4IDI1cHg7XG5cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgICZfdG9wIHtcbiAgICAgICAgQGluY2x1ZGUgY2xlYXJmaXg7XG4gICAgICAgIG1hcmdpbjogYXV0bztcbiAgICAgICAgbWF4LXdpZHRoOiAxMjAwcHg7XG4gICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICAgIEBpbmNsdWRlIG1lZGlhKCRtb2JpbGUtb25seSkge1xuICAgICAgICAgICAgcGFkZGluZzowIDIwcHg7XG4gICAgICAgIH1cbiAgICAgICAgQGluY2x1ZGUgbWVkaWEoJGRlc2t0b3Atb25seSkge1xuICAgICAgICAgICAgcGFkZGluZzowIDIwcHg7XG4gICAgICAgIH1cbiAgICAgICAgJl9tZW51IHtcbiAgICAgICAgICAgIHBhZGRpbmc6IDA7XG5cbiAgICAgICAgICAgICZfd3JhcHBlciB7XG4gICAgICAgICAgICAgICAgdGV4dC1hbGlnbjogcmlnaHQ7XG4gICAgICAgICAgICAgICAgcGFkZGluZy10b3A6IDQ1cHg7XG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgbWVkaWEoJG1vYmlsZS1vbmx5KSB7XG4gICAgICAgICAgICAgICAgICAgIHBhZGRpbmc6IDAgMTVweCAwIDE1cHg7XG4gICAgICAgICAgICAgICAgICAgIHRleHQtYWxpZ246Y2VudGVyO1xuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICZfc2luZ2xlIHtcbiAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgaGVhZC1mb250ICgxOCwgMjIsIHVwcGVyY2FzZSk7XG4gICAgICAgICAgICAgICAgICAgIGNvbG9yOiAkd2hpdGU7XG4gICAgICAgICAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgICAgICAgICAgICAgICAgIHBhZGRpbmc6MDtcbiAgICAgICAgICAgICAgICAgICAgJjpsYXN0LWNoaWxkIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIG1hcmdpbi1yaWdodDowO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICZfbGluayB7XG4gICAgICAgICAgICAgICAgICAgICAgICBjb2xvcjogJHdoaXRlO1xuICAgICAgICAgICAgICAgICAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgICAgICAgICAgICAgICAgICAgICAgcGFkZGluZzogMTVweCAyNXB4O1xuICAgICAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICAgICAgICAgICAgICAgICAgZm9udC13ZWlnaHQ6NzAwO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgJl9sb2dvIHtcbiAgICAgICAgICBtYXgtd2lkdGg6MzAwcHg7XG4gICAgICAgICAgICBhIHtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIHN2ZyB7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICAgICAgdHJhbnNmb3JtOiBzY2FsZSgxKTtcbiAgICAgICAgICAgICAgICBtYXgtd2lkdGg6IDMwMHB4O1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBAaW5jbHVkZSBtZWRpYSgkbW9iaWxlLW9ubHkpIHtcbiAgICAgICAgICAgICAgICB3aWR0aDogNzAlO1xuICAgICAgICAgICAgICAgIG1hcmdpbjogMjBweCBhdXRvO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgJl9zb2NpYWwge1xuICAgICAgICAgICAgJl9pY29uIHtcbiAgICAgICAgICAgICAgICBtYXJnaW46MCA1cHg7XG4gICAgICAgICAgICAgICAgd2lkdGg6NDVweDtcbiAgICAgICAgICAgICAgICBoZWlnaHQ6NDVweDtcbiAgICAgICAgICAgICAgICBmbG9hdDogbGVmdDtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG5cbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiRzZWNvbmRhcnk7XG4gICAgICAgICAgICAgICAgY29sb3I6JGRrZ3JheTtcbiAgICAgICAgICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG5cbiAgICAgICAgICAgICAgICBmb250LXNpemU6IDIwcHg7XG4gICAgICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDQ1cHg7XG4gICAgICAgICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICAgICAgICAgIEBpbmNsdWRlIG1lZGlhKCRtb2JpbGUtb25seSkge1xuICAgICAgICAgICAgICAgICAgICBmbG9hdDpub25lO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAmOmZpcnN0LWNoaWxkIHtcbiAgICAgICAgICAgICAgICAgICAgbWFyZ2luLWxlZnQ6MDtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgJjpsYXN0LWNoaWxkIHtcbiAgICAgICAgICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OjA7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgaWNvbignJyk7XG4gICAgICAgICAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAxLjU7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICY6aG92ZXIge1xuICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOmRhcmtlbigkc2Vjb25kYXJ5LCAxMCUpO1xuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgIHNwYW4ge1xuICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgICAgICAgICAgbGVmdDogLTk5OTk5OXB4O1xuICAgICAgICAgICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICAgICAgICAgIHRvcDogMDtcbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAmLWRyaWJiYmxlOmJlZm9yZSB7XG4gICAgICAgICAgICAgICAgICAgIGNvbnRlbnQ6ICRpY29uLWRyaWJiYmxlO1xuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICYtZmFjZWJvb2s6YmVmb3JlIHtcbiAgICAgICAgICAgICAgICAgICAgY29udGVudDogJGljb24tZmFjZWJvb2s7XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgJi1pbnN0YWdyYW06YmVmb3JlIHtcbiAgICAgICAgICAgICAgICAgICAgY29udGVudDogJGljb24taW5zdGFncmFtO1xuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICYtbGlua2VkaW46YmVmb3JlIHtcbiAgICAgICAgICAgICAgICAgICAgY29udGVudDogJGljb24tbGlua2VkaW47XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgJi10d2l0dGVyOmJlZm9yZSB7XG4gICAgICAgICAgICAgICAgICAgIGNvbnRlbnQ6ICRpY29uLXR3aXR0ZXI7XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgJi1ncGx1czpiZWZvcmUge1xuICAgICAgICAgICAgICAgICAgICBjb250ZW50OiAkaWNvbi1ncGx1cztcbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAmLXlvdXR1YmU6YmVmb3JlIHtcbiAgICAgICAgICAgICAgICAgICAgY29udGVudDogJGljb24teW91dHViZTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG5cblxuICAgICAgICB9XG5cbiAgICAgICAgQGluY2x1ZGUgbWVkaWEoJHRhYmxldCkge1xuICAgICAgICAgICAgJl9tZW51IHtcbiAgICAgICAgICAgICAgICAmX3dyYXBwZXIge1xuICAgICAgICAgICAgICAgICAgICBtYXJnaW46IGF1dG87XG4gICAgICAgICAgICAgICAgICAgIG1heC13aWR0aDogMTIwMHB4O1xuXG4gICAgICAgICAgICAgICAgICAgICZfc2luZ2xlIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgICAgICAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICAgICAgICAgICAgICAgICAgICAgICAgJjpmaXJzdC1jaGlsZCB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgcGFkZGluZy1sZWZ0OiAwO1xuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAmX2xvZ28ge1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgICAgIGZsb2F0OiBsZWZ0O1xuICAgICAgICAgICAgICAgIGhlaWdodDogMTAwcHg7XG4gICAgICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiAwcHg7XG4gICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICAgICAgbWF4LXdpZHRoOjMwMHB4O1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAmX3NvY2lhbCB7XG5cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIEBpbmNsdWRlIG1lZGlhKCRkZXNrdG9wKSB7XG4gICAgICAgICAgICAmX2xvZ28ge1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgICAgIGZsb2F0OiBsZWZ0O1xuICAgICAgICAgICAgICAgIGhlaWdodDogMTAwcHg7XG4gICAgICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiAwcHg7XG4gICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICAgICAgbWF4LXdpZHRoOjMwMHB4O1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAmX3NvY2lhbCB7XG5cbiAgICAgICAgICAgICAgICAmX2ljb24ge1xuICAgICAgICAgICAgICAgICAgICBmb250LXNpemU6IDMwcHg7XG5cbiAgICAgICAgICAgICAgICAgICAgJi1ncGx1cyB7XG4gICAgICAgICAgICAgICAgICAgICAgICBmb250LXNpemU6IDM4cHg7XG4gICAgICAgICAgICAgICAgICAgICAgICBtYXJnaW4tdG9wOiA2cHg7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICZfbWVudSB7XG4gICAgICAgICAgICAgICAgcGFkZGluZzogMDtcblxuICAgICAgICAgICAgICAgICZfd3JhcHBlciB7XG5cbiAgICAgICAgICAgICAgICAgICAgJl9zaW5nbGUge1xuXG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICBAaW5jbHVkZSBtZWRpYSgkaHVnZSkge1xuXG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmX2JvdHRvbSB7XG4gICAgICAgIEBpbmNsdWRlIGNsZWFyZml4O1xuICAgICAgICBtYXJnaW46IGF1dG87XG4gICAgICAgIHBhZGRpbmc6IDVweDtcblxuICAgICAgICAmX3dyYXBwZXIge1xuICAgICAgICAgICAgZm9udC1zaXplOjE0cHg7XG4gICAgICAgICAgICBjb2xvcjokZGtncmF5O1xuICAgICAgICAgICAgdGV4dC10cmFuc2Zvcm06dXBwZXJjYXNlO1xuICAgICAgICAgICAgQGluY2x1ZGUgbWVkaWEoJG1vYmlsZS1vbmx5KSB7XG4gICAgICAgICAgICAgICAgICAgIHNwYW4ge1xuICAgICAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAmX3NpbmdsZSB7XG5cbiAgICAgICAgICAgICAgICBhIHtcbiAgICAgICAgICAgICAgICAgICAgZmxvYXQ6cmlnaHQ7XG4gICAgICAgICAgICAgICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICAgICAgICAgICAgICAgICAgY29sb3I6JGRrZ3JheTtcbiAgICAgICAgICAgICAgICAgICAgdGV4dC10cmFuc2Zvcm06IGluaXRpYWw7XG4gICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIG1lZGlhKCRtb2JpbGUtb25seSkge1xuICAgICAgICAgICAgICAgICAgICAgICAgZmxvYXQ6bm9uZTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbn1cblxuLmZvb3Rlcl9sb3dlcl9uZXdzbGV0dGVyX3NpZ251cCB7XG5cbiAgICAuZ2Zvcm1fdmFsaWRhdGlvbl9lcnJvciB7XG4gICAgICAgIC5nZm9ybV9mb290ZXIge1xuICAgICAgICAgICAgQGluY2x1ZGUgbWVkaWEoJG1vYmlsZS1vbmx5KSB7XG4gICAgICAgICAgICAgICAgdG9wOjA7XG4gICAgICAgICAgICAgICAgcmlnaHQ6MDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIEBpbmNsdWRlIG1lZGlhKCRkZXNrdG9wKSB7XG4gICAgICAgICAgICAgICAgdG9wOiAzOXB4O1xuICAgICAgICAgICAgICAgIHJpZ2h0OiAxMXB4O1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgLnZhbGlkYXRpb25fZXJyb3Ige1xuICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgIH1cbn1cbiIsIi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuLy9cbi8vIEZVTEwgSU1BR0UgU0xJREVSXG4vL1xuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG5cbi5tb2R1bGVXcmFwcGVyIC5mdWxsSW1hZ2VTbGlkZXIge1xuXHRwb3NpdGlvbjogcmVsYXRpdmU7XG5cblx0JjphZnRlciB7XG5cdFx0Y29udGVudDogJyc7XG5cdFx0cG9zaXRpb246IGFic29sdXRlO1xuXHRcdGhlaWdodDogMTAwJTtcblx0XHR3aWR0aDogMTAwJTtcblx0XHR0b3A6IDA7XG5cdFx0bGVmdDogMDtcblx0XHQvKiBQZXJtYWxpbmsgLSB1c2UgdG8gZWRpdCBhbmQgc2hhcmUgdGhpcyBncmFkaWVudDogaHR0cDovL2NvbG9yemlsbGEuY29tL2dyYWRpZW50LWVkaXRvci8jMDAwMDAwKzAsMDAwMDAwKzE2LDAwMDAwMCs4NCwwMDAwMDArMTAwJjAuNyswLDArMTYsMCs4NCwwLjcrMTAwICovXG5cdFx0Ly8gYmFja2dyb3VuZDogLW1vei1saW5lYXItZ3JhZGllbnQobGVmdCwgIHJnYmEoMCwwLDAsMC43KSAwJSwgcmdiYSgwLDAsMCwwKSAxNiUsIHJnYmEoMCwwLDAsMCkgODQlLCByZ2JhKDAsMCwwLDAuNykgMTAwJSk7IC8qIEZGMy42LTE1ICovXG5cdFx0Ly8gYmFja2dyb3VuZDogLXdlYmtpdC1saW5lYXItZ3JhZGllbnQobGVmdCwgIHJnYmEoMCwwLDAsMC43KSAwJSxyZ2JhKDAsMCwwLDApIDE2JSxyZ2JhKDAsMCwwLDApIDg0JSxyZ2JhKDAsMCwwLDAuNykgMTAwJSk7IC8qIENocm9tZTEwLTI1LFNhZmFyaTUuMS02ICovXG5cdFx0Ly8gYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KHRvIHJpZ2h0LCAgcmdiYSgwLDAsMCwwLjcpIDAlLHJnYmEoMCwwLDAsMCkgMTYlLHJnYmEoMCwwLDAsMCkgODQlLHJnYmEoMCwwLDAsMC43KSAxMDAlKTsgLyogVzNDLCBJRTEwKywgRkYxNissIENocm9tZTI2KywgT3BlcmExMissIFNhZmFyaTcrICovXG5cdFx0Ly8gZmlsdGVyOiBwcm9naWQ6RFhJbWFnZVRyYW5zZm9ybS5NaWNyb3NvZnQuZ3JhZGllbnQoIHN0YXJ0Q29sb3JzdHI9JyNiMzAwMDAwMCcsIGVuZENvbG9yc3RyPScjYjMwMDAwMDAnLEdyYWRpZW50VHlwZT0xICk7IC8qIElFNi05ICovXG5cdFx0LyogUGVybWFsaW5rIC0gdXNlIHRvIGVkaXQgYW5kIHNoYXJlIHRoaXMgZ3JhZGllbnQ6IGh0dHA6Ly9jb2xvcnppbGxhLmNvbS9ncmFkaWVudC1lZGl0b3IvIzAwMDAwMCswLDAwMDAwMCsxMDAmMC40KzAsMCsxNSwwKzg1LDAuNCsxMDAgKi9cblx0XHRiYWNrZ3JvdW5kOiAtbW96LWxpbmVhci1ncmFkaWVudChsZWZ0LCAgcmdiYSgwLDAsMCwwLjQpIDAlLCByZ2JhKDAsMCwwLDApIDE1JSwgcmdiYSgwLDAsMCwwKSA4NSUsIHJnYmEoMCwwLDAsMC40KSAxMDAlKTsgLyogRkYzLjYtMTUgKi9cblx0XHRiYWNrZ3JvdW5kOiAtd2Via2l0LWxpbmVhci1ncmFkaWVudChsZWZ0LCAgcmdiYSgwLDAsMCwwLjQpIDAlLHJnYmEoMCwwLDAsMCkgMTUlLHJnYmEoMCwwLDAsMCkgODUlLHJnYmEoMCwwLDAsMC40KSAxMDAlKTsgLyogQ2hyb21lMTAtMjUsU2FmYXJpNS4xLTYgKi9cblx0XHRiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQodG8gcmlnaHQsICByZ2JhKDAsMCwwLDAuNCkgMCUscmdiYSgwLDAsMCwwKSAxNSUscmdiYSgwLDAsMCwwKSA4NSUscmdiYSgwLDAsMCwwLjQpIDEwMCUpOyAvKiBXM0MsIElFMTArLCBGRjE2KywgQ2hyb21lMjYrLCBPcGVyYTEyKywgU2FmYXJpNysgKi9cblx0XHRmaWx0ZXI6IHByb2dpZDpEWEltYWdlVHJhbnNmb3JtLk1pY3Jvc29mdC5ncmFkaWVudCggc3RhcnRDb2xvcnN0cj0nIzY2MDAwMDAwJywgZW5kQ29sb3JzdHI9JyM2NjAwMDAwMCcsR3JhZGllbnRUeXBlPTEgKTsgLyogSUU2LTkgKi9cblx0fVxuXG5cdC5zbGljay1kb3R0ZWQuc2xpY2stc2xpZGVyIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICB9XG5cblx0Jl9zaW5nbGUge1xuXG5cdFx0LyogQXJyb3dzICovXG5cblx0XHQuc2xpY2stcHJldixcblx0XHQuc2xpY2stbmV4dCB7XG5cdFx0XHR6LWluZGV4OiAxO1xuXG5cdFx0ICAgICY6aG92ZXIsICY6Zm9jdXMge1xuXHRcdCAgICB9XG5cblx0XHQgICAgJjpiZWZvcmUge1xuXHRcdCAgICB9XG5cdFx0fVxuXG5cdFx0LnNsaWNrLXByZXYge1xuXHRcdCAgICBsZWZ0OiAxNXB4O1xuXHRcdCAgICBAaW5jbHVkZSB0cmFuc2Zvcm0odHJhbnNsYXRlKDAsIC01MCUpIHJvdGF0ZSg5MGRlZykpO1xuXHRcdCAgICB3aWR0aDogNDBweDtcblx0XHQgICAgaGVpZ2h0OiA0MHB4O1xuXHRcdCAgICAmOmJlZm9yZSB7XG5cdFx0ICAgIFx0Zm9udC1zaXplOiA0MHB4O1xuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGljb24oJGljb24tYXJyb3ctZG93bik7XG4gICAgICAgICAgICAgICAgb3BhY2l0eTogMTtcbiAgICAgICAgICAgICAgICB0ZXh0LXNoYWRvdzogMHB4IDBweCAxMnB4IHJnYmEoMCwwLDAsMC42KVxuICAgICAgICAgICAgfVxuXHRcdH1cblxuXHRcdC5zbGljay1uZXh0IHtcblx0XHQgICAgcmlnaHQ6IDE1cHg7XG5cdFx0ICAgIEBpbmNsdWRlIHRyYW5zZm9ybSh0cmFuc2xhdGUoMCwgLTUwJSkgcm90YXRlKC05MGRlZykpO1xuXHRcdCAgICB3aWR0aDogNDBweDtcblx0XHQgICAgaGVpZ2h0OiA0MHB4O1xuXHRcdCAgICAmOmJlZm9yZSB7XG5cdFx0ICAgIFx0Zm9udC1zaXplOiA0MHB4O1xuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGljb24oJGljb24tYXJyb3ctZG93bik7XG4gICAgICAgICAgICAgICAgb3BhY2l0eTogMTtcbiAgICAgICAgICAgICAgICB0ZXh0LXNoYWRvdzogMHB4IDBweCAxMnB4IHJnYmEoMCwwLDAsMC42KVxuICAgICAgICAgICAgfVxuXHRcdH1cblx0XHQuc2xpY2stZG90cyB7XG4gICAgICAgICAgICBkaXNwbGF5OiBub25lIWltcG9ydGFudDtcbiAgICAgICAgfVxuICAgICAgICBAaW5jbHVkZSBtZWRpYSgkcG9ydGFibGVzKSB7XG4gICAgICAgICAgICAuc2xpY2stcHJldiwgLnNsaWNrLW5leHQge1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IG5vbmUhaW1wb3J0YW50O1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgLnNsaWNrLWRvdHMge1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrIWltcG9ydGFudDtcbiAgICAgICAgICAgICAgICBib3R0b206IDEwcHg7XG4gICAgICAgICAgICAgICAgbGkgYnV0dG9uOmJlZm9yZSB7XG4gICAgICAgICAgICAgICAgICAgIG9wYWNpdHk6IDAuNTtcbiAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgdGV4dC1zaGFkb3cwO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBsaS5zbGljay1hY3RpdmUgYnV0dG9uOmJlZm9yZSB7XG4gICAgICAgICAgICAgICAgICAgIG9wYWNpdHk6IDE7XG4gICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIHRleHQtc2hhZG93MDtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuXHRcdCZfaXRlbSB7XG5cdFx0XHRwb3NpdGlvbjogcmVsYXRpdmU7XG5cdFx0XHQvLyAmOmFmdGVyIHtcblx0XHRcdC8vIFx0Y29udGVudDogXCIgXCI7XG5cdFx0XHQvLyBcdGRpc3BsYXk6IGJsb2NrO1xuXHRcdFx0Ly8gXHRwYWRkaW5nLWJvdHRvbTogNDglO1xuXHRcdFx0Ly8gfVxuXHRcdFx0Jl9pbWFnZSB7XG5cdFx0XHRcdC8vIEBpbmNsdWRlIGFic29sdXRlLXNpemU7XG5cdFx0XHRcdEBpbmNsdWRlIGJhY2tncm91bmQtY292ZXI7XG5cblx0XHRcdFx0aW1nIHtcblx0XHRcdFx0XHR3aWR0aDogMTAwJTtcblx0XHRcdFx0fVxuXG5cdFx0XHRcdC8vICY6YWZ0ZXIge1xuXHRcdFx0XHQvLyBcdGNvbnRlbnQ6ICcnO1xuXHRcdFx0XHQvLyBcdHBvc2l0aW9uOiBhYnNvbHV0ZTtcblx0XHRcdFx0Ly8gXHRoZWlnaHQ6IDEwMCU7XG5cdFx0XHRcdC8vIFx0d2lkdGg6IDEwMCU7XG5cdFx0XHRcdC8vIFx0dG9wOiAwO1xuXHRcdFx0XHQvLyBcdGxlZnQ6IDA7XG5cdFx0XHRcdC8vIFx0LyogUGVybWFsaW5rIC0gdXNlIHRvIGVkaXQgYW5kIHNoYXJlIHRoaXMgZ3JhZGllbnQ6IGh0dHA6Ly9jb2xvcnppbGxhLmNvbS9ncmFkaWVudC1lZGl0b3IvIzAwMDAwMCswLDAwMDAwMCsxNiwwMDAwMDArODQsMDAwMDAwKzEwMCYwLjcrMCwwKzE2LDArODQsMC43KzEwMCAqL1xuXHRcdFx0XHQvLyBcdGJhY2tncm91bmQ6IC1tb3otbGluZWFyLWdyYWRpZW50KGxlZnQsICByZ2JhKDAsMCwwLDAuNykgMCUsIHJnYmEoMCwwLDAsMCkgMTYlLCByZ2JhKDAsMCwwLDApIDg0JSwgcmdiYSgwLDAsMCwwLjcpIDEwMCUpOyAvKiBGRjMuNi0xNSAqL1xuXHRcdFx0XHQvLyBcdGJhY2tncm91bmQ6IC13ZWJraXQtbGluZWFyLWdyYWRpZW50KGxlZnQsICByZ2JhKDAsMCwwLDAuNykgMCUscmdiYSgwLDAsMCwwKSAxNiUscmdiYSgwLDAsMCwwKSA4NCUscmdiYSgwLDAsMCwwLjcpIDEwMCUpOyAvKiBDaHJvbWUxMC0yNSxTYWZhcmk1LjEtNiAqL1xuXHRcdFx0XHQvLyBcdGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCh0byByaWdodCwgIHJnYmEoMCwwLDAsMC43KSAwJSxyZ2JhKDAsMCwwLDApIDE2JSxyZ2JhKDAsMCwwLDApIDg0JSxyZ2JhKDAsMCwwLDAuNykgMTAwJSk7IC8qIFczQywgSUUxMCssIEZGMTYrLCBDaHJvbWUyNissIE9wZXJhMTIrLCBTYWZhcmk3KyAqL1xuXHRcdFx0XHQvLyBcdGZpbHRlcjogcHJvZ2lkOkRYSW1hZ2VUcmFuc2Zvcm0uTWljcm9zb2Z0LmdyYWRpZW50KCBzdGFydENvbG9yc3RyPScjYjMwMDAwMDAnLCBlbmRDb2xvcnN0cj0nI2IzMDAwMDAwJyxHcmFkaWVudFR5cGU9MSApOyAvKiBJRTYtOSAqL1xuXHRcdFx0XHQvLyB9XG5cdFx0XHR9XG5cdFx0fVxuXHR9XG59IiwiLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG4vL1xuLy8gSEVST1xuLy9cbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuXG4uaGVyb1NsaWRlciB7XG5cbiAgICAuc2xpY2stZG90dGVkLnNsaWNrLXNsaWRlciB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgfVxuXG4gICAgJl9zaW5nbGUge1xuXG4gICAgICAgIC8qIEFycm93cyAqL1xuXG4gICAgICAgIC5zbGljay1wcmV2LFxuICAgICAgICAuc2xpY2stbmV4dCB7XG4gICAgICAgICAgICB6LWluZGV4OiAxO1xuXG4gICAgICAgICAgICAmOmhvdmVyLCAmOmZvY3VzIHtcblxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAmOmJlZm9yZSB7XG5cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC5zbGljay1wcmV2IHtcbiAgICAgICAgICAgIGxlZnQ6IDE1cHg7XG4gICAgICAgICAgICBAaW5jbHVkZSB0cmFuc2Zvcm0odHJhbnNsYXRlKDAsIC01MCUpIHJvdGF0ZSg5MGRlZykpO1xuICAgICAgICAgICAgd2lkdGg6IDQwcHg7XG4gICAgICAgICAgICBoZWlnaHQ6IDQwcHg7XG4gICAgICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiA0MHB4O1xuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGljb24oJGljb24tYXJyb3ctZG93bik7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAuc2xpY2stbmV4dCB7XG4gICAgICAgICAgICByaWdodDogMTVweDtcbiAgICAgICAgICAgIEBpbmNsdWRlIHRyYW5zZm9ybSh0cmFuc2xhdGUoMCwgLTUwJSkgcm90YXRlKC05MGRlZykpO1xuICAgICAgICAgICAgd2lkdGg6IDQwcHg7XG4gICAgICAgICAgICBoZWlnaHQ6IDQwcHg7XG4gICAgICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiA0MHB4O1xuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGljb24oJGljb24tYXJyb3ctZG93bik7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgLnNsaWNrLWRvdHMge1xuICAgICAgICAgICAgZGlzcGxheTogbm9uZSFpbXBvcnRhbnQ7XG4gICAgICAgIH1cbiAgICAgICAgQGluY2x1ZGUgbWVkaWEoJHBvcnRhYmxlcykge1xuICAgICAgICAgICAgLnNsaWNrLXByZXYsIC5zbGljay1uZXh0IHtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBub25lIWltcG9ydGFudDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIC5zbGljay1kb3RzIHtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBibG9jayFpbXBvcnRhbnQ7XG4gICAgICAgICAgICAgICAgYm90dG9tOiA1cHg7XG4gICAgICAgICAgICAgICAgbGkgYnV0dG9uOmJlZm9yZSB7XG4gICAgICAgICAgICAgICAgICAgIG9wYWNpdHk6IDAuNTtcbiAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgdGV4dC1zaGFkb3cwO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBsaS5zbGljay1hY3RpdmUgYnV0dG9uOmJlZm9yZSB7XG4gICAgICAgICAgICAgICAgICAgIG9wYWNpdHk6IDE7XG4gICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIHRleHQtc2hhZG93MDtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG59XG5cbi5oZXJvIHtcbiAgICBwYWRkaW5nOiA0MHB4IDEwcHg7XG4gICAgcGFkZGluZy10b3A6IDE0MHB4O1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICAgICZfYmFja2dyb3VuZCB7XG4gICAgICAgIEBpbmNsdWRlIGFic29sdXRlLXNpemU7XG4gICAgICAgIEBpbmNsdWRlIGJhY2tncm91bmQtY292ZXI7XG5cbiAgICAgICAgJjphZnRlciB7XG4gICAgICAgICAgICBAaW5jbHVkZSBhYnNvbHV0ZS1zaXplO1xuICAgICAgICAgICAgY29udGVudDogJyc7XG4gICAgICAgICAgICBvcGFjaXR5OiAwLjM7XG4gICAgICAgIH1cblxuICAgICAgICAmX3ZpZGVvIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmX3dyYXBwZXIge1xuICAgICAgICBtYXJnaW46IGF1dG87XG4gICAgICAgIG1heC13aWR0aDogMTIwMHB4O1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIEBpbmNsdWRlIHRleHQtc2hhZG93MDtcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuXG4gICAgICAgICZfbGlua3Mge1xuICAgICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuXG4gICAgICAgICAgICAuYnV0dG9uIHtcbiAgICAgICAgICAgICAgICBtYXJnaW46IDAgMjBweCAxMHB4IDA7XG5cbiAgICAgICAgICAgICAgICAmOmxhc3QtY2hpbGQge1xuICAgICAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgIEBpbmNsdWRlIG1lZGlhKCR0YWJsZXQpIHtcbiAgICAgICAgcGFkZGluZzogNDBweCAyMHB4O1xuICAgICAgICBwYWRkaW5nLXRvcDogMTQwcHg7XG4gICAgICAgICZfYmFja2dyb3VuZCB7XG5cbiAgICAgICAgICAgICZfdmlkZW8ge1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgICAgIGhlaWdodDogYXV0bztcbiAgICAgICAgICAgICAgICBsZWZ0OiAwO1xuICAgICAgICAgICAgICAgIG1pbi1oZWlnaHQ6IDEwMCU7XG4gICAgICAgICAgICAgICAgbWluLXdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgICAgICB0b3A6IDA7XG4gICAgICAgICAgICAgICAgd2lkdGg6IGF1dG87XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgJl93cmFwcGVyIHtcblxuICAgICAgICAgICAgJl9saW5rcyB7XG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgY2xlYXJmaXg7XG5cbiAgICAgICAgICAgICAgICAuYnV0dG9uIHtcbiAgICAgICAgICAgICAgICAgICAgbWFyZ2luOiAwIDIwcHggMTBweCAwO1xuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICY6bGFzdC1jaGlsZCB7XG4gICAgICAgICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgbWVkaWEoJGRlc2t0b3ApIHtcbiAgICAgICAgcGFkZGluZzogMjIwcHggMTAwcHggMTEwcHggMTAwcHg7XG5cbiAgICAgICAgJl93cmFwcGVyIHtcbiAgICAgICAgICAgICZfbGlua3Mge1xuICAgICAgICAgICAgICAgIG1hcmdpbi10b3A6IDUwcHg7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICZfdGl0bGUge1xuICAgICAgICAgICAgICAgIG1heC13aWR0aDogMTEwMHB4O1xuICAgICAgICAgICAgICAgIG1hcmdpbjogMCBhdXRvO1xuICAgICAgICAgICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgICAgICAgICAgICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgJl9zdWJ0aXRsZSB7XG4gICAgICAgICAgICAgICAgbWF4LXdpZHRoOiAxMDI0cHg7XG4gICAgICAgICAgICAgICAgbWFyZ2luOiAwIGF1dG87XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBAaW5jbHVkZSBtZWRpYSgkaHVnZSkge1xuICAgICAgICBwYWRkaW5nOiAxNTBweCAxMDBweCAxMzBweCAxMDBweDtcbiAgICB9XG59XG5cbi5oZXJvX2JhY2tncm91bmQ6YWZ0ZXIge1xuICAgIGJhY2tncm91bmQ6ICRka2dyYXk7XG4gICAgb3BhY2l0eTogMC42XG59XG5cbi5oZXJvX3dyYXBwZXIgKiB7XG4gICAgY29sb3I6ICR3aGl0ZTtcbn1cblxuLmhlcm9TbGlkZXJfc2luZ2xlIC5zbGljay1hcnJvdzpiZWZvcmUge1xuICAgIGNvbG9yOiAkd2hpdGU7XG59XG5cbi5oZXJvU2xpZGVyIC5zbGljay1kb3RzIGxpIGJ1dHRvbjpiZWZvcmUge1xuICAgIGNvbG9yOiAkd2hpdGU7XG59XG5cbi5oZXJvU2xpZGVyIC5zbGljay1kb3RzIGxpLnNsaWNrLWFjdGl2ZSBidXR0b246YmVmb3JlIHtcbiAgICBjb2xvcjogJHdoaXRlO1xufVxuXG4uaG9tZSAuaGVyb19iYWNrZ3JvdW5kLCAuaG9tZSAuaGVybyB7XG4gICAgaGVpZ2h0Ojk1dmg7XG4gICAgb3ZlcmZsb3c6aGlkZGVuO1xufVxuXG4uaG9tZSAuaGVybyAuaGVyb193cmFwcGVyIHtcbiAgICBwb3NpdGlvbjphYnNvbHV0ZTtcbiAgICB0b3A6NTAlO1xuICAgIGxlZnQ6NTAlO1xuICAgIHdpZHRoOjEwMCU7XG4gICAgdHJhbnNmb3JtOnRyYW5zbGF0ZSgtNTAlLCAtNTAlKTtcbn0iLCIvLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cbi8vXG4vLyBJTUFHRVxuLy9cbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuXG4ubW9kdWxlV3JhcHBlciAuaW1hZ2Uge1xuICAgIG1heC13aWR0aDogbm9uZTtcbiAgICB3aWR0aDogMTAwJTtcbn1cbiIsIi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuLy9cbi8vIElNQUdFIEFMVEVSTkFUT1Jcbi8vXG4vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cblxuLm1vZHVsZVdyYXBwZXIgLmltYWdlQWx0ZXJuYXRvciB7XG5cdCZfd3JhcHBlciB7XG5cdFx0bWFyZ2luOiA1MHB4IGF1dG8gNTBweCBhdXRvO1xuXHRcdEBpbmNsdWRlIGNsZWFyZml4O1xuXHRcdHBvc2l0aW9uOiByZWxhdGl2ZTtcblx0XHRvdmVyZmxvdzogaGlkZGVuO1xuXHRcdHdpZHRoOiA4NSU7XG5cblx0XHQmX2JhY2tncm91bmQge1xuXHRcdFx0cG9zaXRpb246IGFic29sdXRlO1xuXHRcdFx0dG9wOiAwO1xuXHRcdFx0Ym90dG9tOiAwO1xuXHRcdFx0d2lkdGg6IDUwJTtcblx0XHRcdEBpbmNsdWRlIGJhY2tncm91bmQtY292ZXI7XG5cdFx0fVxuXG5cdFx0Jl9jb250ZW50IHtcblx0XHRcdHBhZGRpbmctYm90dG9tOiA2MHB4O1xuXHRcdFx0cGFkZGluZy10b3A6IDYwcHg7XG5cdFx0XHR3aWR0aDogNTAlO1xuXHRcdFx0cG9zaXRpb246IHJlbGF0aXZlO1xuXG5cdFx0XHQmX3N1YnRpdGxlIHtcblx0XHRcdFx0QGluY2x1ZGUgZm9udCAoMjUsIDUwLCBub25lKTtcblx0XHRcdFx0Zm9udC1zdHlsZTogaXRhbGljO1xuXHRcdFx0fVxuXG5cdFx0XHQmX2xpbmsge1xuXHRcdFx0XHRAaW5jbHVkZSBtZWRpYSgkZGVza3RvcCkge1xuXHRcdFx0XHRcdG1hcmdpbi10b3A6IDIwcHg7XG5cdFx0XHRcdH1cblx0XHRcdH1cblxuXHRcdFx0Jl9iYWNrZ3JvdW5kIHtcblx0XHRcdFx0ei1pbmRleDogLTI7XG5cdFx0XHRcdEBpbmNsdWRlIGFic29sdXRlLXNpemU7XG4gICAgICAgIFx0XHRAaW5jbHVkZSBiYWNrZ3JvdW5kLWNvdmVyO1xuXHRcdFx0XHRAaW5jbHVkZSB0cmFuc2Zvcm0oc2NhbGVYKC0xKSk7XG5cdFx0XHRcdEBpbmNsdWRlIGZpbHRlcihibHVyKDEycHgpKTtcblx0XHRcdH1cblx0XHRcdCZfYmFja2dyb3VuZF9iZWhpbmQge1xuXHRcdFx0XHR6LWluZGV4OiAtMztcblx0XHRcdFx0QGluY2x1ZGUgYWJzb2x1dGUtc2l6ZTtcbiAgICAgICAgXHRcdEBpbmNsdWRlIGJhY2tncm91bmQtY292ZXI7XG5cdFx0XHRcdEBpbmNsdWRlIHRyYW5zZm9ybShzY2FsZVgoLTEpKTtcblx0XHRcdH1cblx0XHR9XG5cdH1cblx0QGluY2x1ZGUgbWVkaWEoJHBvcnRhYmxlcykge1xuICAgICAgICAmX3dyYXBwZXIge1xuXHRcdFx0Jl9iYWNrZ3JvdW5kIHtcblx0XHRcdFx0cG9zaXRpb246IHJlbGF0aXZlO1xuXHRcdFx0XHRtYXgtd2lkdGg6IG5vbmU7XG5cdFx0XHRcdGhlaWdodDogNTB2dztcblx0XHRcdFx0d2lkdGg6IDEwMCU7XG5cdFx0XHRcdEBpbmNsdWRlIGJhY2tncm91bmQtY292ZXI7XG5cdFx0XHR9XG5cdFx0XHQmX2NvbnRlbnQge1xuXHRcdFx0XHRtYXgtd2lkdGg6IG5vbmU7XG5cdFx0XHRcdG1hcmdpbjogMDtcblx0XHRcdFx0d2lkdGg6IDEwMCU7XG5cdFx0XHRcdHBhZGRpbmc6IDM1cHggMjBweDtcblx0XHRcdH1cbiAgICAgICAgfVxuICAgIH1cbiAgICBAaW5jbHVkZSBtZWRpYSgkbW9iaWxlLW9ubHkpIHtcbiAgICBcdCZfd3JhcHBlciB7XG4gICAgXHRcdCZfY29udGVudCB7XG4gICAgXHRcdFx0cGFkZGluZzogMjVweCAxMHB4O1xuICAgIFx0XHR9XG4gICAgXHR9XG4gICAgfVxuXG4gICAgaDMge1xuICAgIFx0Y29sb3I6I0U5NkEyQTtcbiAgICBcdGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgfVxufVxuXG4uaW1hZ2VBbHRlcm5hdG9yLW9kZCB7XG5cdC5pbWFnZUFsdGVybmF0b3Jfd3JhcHBlcl9iYWNrZ3JvdW5kIHtcblx0XHRsZWZ0OiAwO1xuXHRcdHdpZHRoOiA0OSU7XG5cdH1cblxuXHQuaW1hZ2VBbHRlcm5hdG9yX3dyYXBwZXJfY29udGVudCB7XG5cdFx0ZmxvYXQ6IHJpZ2h0O1xuXHRcdHdpZHRoOiA0OSU7XG5cdFx0Ym9yZGVyOiAxNXB4IHNvbGlkICR0ZXJ0aWFyeTtcblx0XHRiYWNrZ3JvdW5kOiAkd2hpdGU7XG5cblx0XHQmOmFmdGVyIHtcblx0XHRcdGNvbnRlbnQ6ICcnO1xuXHRcdFx0cG9zaXRpb246IGFic29sdXRlO1xuXHRcdFx0dG9wOiAwO1xuXHRcdFx0bGVmdDogMDtcblx0XHRcdHdpZHRoOiAxMDAlO1xuXHRcdFx0aGVpZ2h0OiAxMDAlO1xuXHRcdFx0ei1pbmRleDogLTE7XG5cdFx0XHRiYWNrZ3JvdW5kLWNvbG9yOiAkZ3JheTtcblx0XHRcdG9wYWNpdHk6IDAuMztcblx0XHR9XG5cblx0XHQmX2JhY2tncm91bmQ6YWZ0ZXIge1xuXHRcdFx0QGluY2x1ZGUgYWJzb2x1dGUtc2l6ZTtcblx0XHRcdGNvbnRlbnQ6ICcgJztcblx0XHRcdG9wYWNpdHk6IDAuODtcblx0XHR9XG5cblx0XHQmX2JhY2tncm91bmRfYmVoaW5kOmFmdGVyIHtcblx0XHRcdEBpbmNsdWRlIGFic29sdXRlLXNpemU7XG5cdFx0XHRjb250ZW50OiAnICc7XG5cdFx0XHRvcGFjaXR5OiAwLjg7XG5cdFx0fVxuXG5cdFx0Jl9ibG9jayB7XG5cdFx0XHRtYXJnaW4tbGVmdDogMjBweDtcblx0XHRcdHBhZGRpbmctcmlnaHQ6IDIwcHg7XG5cdFx0XHRmbG9hdDogbGVmdDtcblx0XHRcdG1heC13aWR0aDogNjUwcHg7XG5cblx0XHRcdC5ibG9ja3F1b3RlIHtcblx0XHRcdH1cblxuXHRcdFx0QGluY2x1ZGUgbWVkaWEoJHBvcnRhYmxlcykge1xuXHRcdFx0XHRmbG9hdDogbGVmdDtcblx0XHRcdFx0bWF4LXdpZHRoOiBub25lO1xuXHRcdFx0XHRtYXJnaW46IDA7XG5cdFx0XHRcdHBhZGRpbmc6IDA7XG5cdFx0XHR9XG5cdFx0fVxuXHR9XG59XG5cbi5pbWFnZUFsdGVybmF0b3ItZXZlbiB7XG5cdC5pbWFnZUFsdGVybmF0b3Jfd3JhcHBlcl9iYWNrZ3JvdW5kIHtcblx0XHRyaWdodDogMDtcblx0XHR3aWR0aDogNDklO1xuXHR9XG5cblx0LmltYWdlQWx0ZXJuYXRvcl93cmFwcGVyX2NvbnRlbnQge1xuXHRcdGZsb2F0OiBsZWZ0O1xuXHRcdHdpZHRoOiA0OSU7XG5cdFx0Ym9yZGVyOiAxNXB4IHNvbGlkICR0ZXJ0aWFyeTtcblx0XHRiYWNrZ3JvdW5kOiAkd2hpdGU7XG5cblx0XHQmX2JhY2tncm91bmQ6YWZ0ZXIge1xuXHRcdFx0QGluY2x1ZGUgYWJzb2x1dGUtc2l6ZTtcblx0XHRcdGNvbnRlbnQ6ICcgJztcblx0XHRcdG9wYWNpdHk6IDAuODtcblx0XHR9XG5cblx0XHQmX2JhY2tncm91bmRfYmVoaW5kOmFmdGVyIHtcblx0XHRcdEBpbmNsdWRlIGFic29sdXRlLXNpemU7XG5cdFx0XHRjb250ZW50OiAnICc7XG5cdFx0XHRiYWNrZ3JvdW5kOiAkYmx1ZTtcblx0XHRcdG9wYWNpdHk6IDAuODtcblx0XHR9XG5cblx0XHQmX2Jsb2NrIHtcblx0XHRcdG1hcmdpbi1yaWdodDogMjBweDtcblx0XHRcdHBhZGRpbmctbGVmdDogMjBweDtcblx0XHRcdGZsb2F0OiByaWdodDtcblx0XHRcdG1heC13aWR0aDogNjUwcHg7XG5cblx0XHRcdC5ibG9ja3F1b3RlIHtcblx0XHRcdH1cblxuXHRcdFx0QGluY2x1ZGUgbWVkaWEoJHBvcnRhYmxlcykge1xuXHRcdFx0XHRtYXgtd2lkdGg6IG5vbmU7XG5cdFx0XHRcdG1hcmdpbjogMDtcblx0XHRcdFx0cGFkZGluZzogMDtcblx0XHRcdH1cblx0XHR9XG5cdH1cbn1cbiIsIi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuLy9cbi8vIElNQUdFIEdSSURcbi8vXG4vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cblxuLyogSW1hZ2UgZ3JpZCAqL1xuLmltYWdlR3JpZF9zaW5nbGUtbGluayAuaW1hZ2VHcmlkX3NpbmdsZV9jb250ZW50OmFmdGVyIHtcbiAgICBiYWNrZ3JvdW5kOiAjMDAwO1xuICAgIG9wYWNpdHk6IDAuMzU7XG59XG5cbi5pbWFnZUdyaWRfc2luZ2xlX2NvbnRlbnRfdGl0bGUsIC5pbWFnZUdyaWRfc2luZ2xlX2NvbnRlbnRfbW9yZSB7XG4gICAgY29sb3I6ICR3aGl0ZTtcbn1cblxuLm1vZHVsZVdyYXBwZXIgLmltYWdlR3JpZCB7XG5cdEBpbmNsdWRlIGNsZWFyZml4O1xuXHRtYXJnaW46IDAgYXV0bztcblxuXHQmX3NpbmdsZSB7XG5cdFx0d2lkdGg6IDI1JTtcblx0XHRmbG9hdDogbGVmdDtcblx0XHRoZWlnaHQ6IDI1dnc7XG5cdFx0b3ZlcmZsb3c6IGhpZGRlbjtcblx0XHRwb3NpdGlvbjogcmVsYXRpdmU7XG5cdFx0QGluY2x1ZGUgY2xlYXJmaXg7XG5cblx0XHQmX2ltYWdlV3JhcCB7XG5cdFx0XHRAaW5jbHVkZSBhYnNvbHV0ZS1zaXplO1xuICAgICAgICBcdEBpbmNsdWRlIGJhY2tncm91bmQtY292ZXI7XG5cdFx0fVxuXG5cdFx0Jl9jb250ZW50IHtcblx0XHRcdEBpbmNsdWRlIGFic29sdXRlLXNpemU7XG5cdFx0XHQmOmFmdGVyIHtcblx0XHRcdFx0QGluY2x1ZGUgdHJhbnNpdGlvbihhbGwsIDAuMjVzKTtcblx0XHRcdFx0QGluY2x1ZGUgYWJzb2x1dGUtc2l6ZTtcblx0ICAgICAgICBcdEBpbmNsdWRlIGJhY2tncm91bmQtY292ZXI7XG5cdFx0XHRcdGNvbnRlbnQ6IFwiIFwiO1xuXHRcdFx0XHRvcGFjaXR5OiAwLjM7XG5cdFx0XHR9XG5cblx0XHRcdGg0LCBoNiB7XG5cdFx0XHRcdHotaW5kZXg6IDI7XG5cdFx0XHRcdHBvc2l0aW9uOiBhYnNvbHV0ZTtcblx0XHRcdFx0bWFyZ2luLWJvdHRvbTogMHB4O1xuXHRcdFx0XHRsZWZ0OiAyMHB4O1xuXHRcdFx0XHRyaWdodDogMjBweDtcblx0XHRcdFx0Ym90dG9tOiA0MHB4O1xuXG5cdFx0XHRcdEBpbmNsdWRlIG1lZGlhKCRodWdlKSB7XG5cdFx0XHRcdFx0bGVmdDogMzBweDtcblx0XHRcdFx0XHRyaWdodDogMzBweDtcblx0XHRcdFx0fSBcblx0XHRcdH1cblxuXHRcdFx0aDQge1xuXHRcdFx0XHRAaW5jbHVkZSB0cmFuc2l0aW9uKGJvdHRvbSAwLjNzKTtcblxuXHRcdFx0XHRAaW5jbHVkZSBtZWRpYSgkbW9iaWxlLW9ubHkpIHtcblx0XHRcdFx0XHRmb250LXNpemU6IDE0cHg7XG5cdFx0XHRcdFx0bGluZS1oZWlnaHQ6IDIwcHg7XG5cdFx0XHRcdH0gXG5cdFx0XHR9XG5cblx0XHRcdGg2IHtcblx0XHRcdFx0Ym90dG9tOiAwO1xuXHRcdFx0XHRvcGFjaXR5OiAwO1xuXHRcdFx0XHRAaW5jbHVkZSB0cmFuc2l0aW9uKGFsbCAwLjNzKTtcblxuXHRcdFx0XHQmOmFmdGVyIHtcblx0XHRcdFx0XHRAaW5jbHVkZSBpY29uKCRpY29uLWFycm93LXJpZ2h0KTtcblx0XHRcdFx0XHRwb3NpdGlvbjogcmVsYXRpdmU7XG5cdFx0XHRcdFx0dG9wOiAycHg7XG5cdFx0XHRcdFx0bGVmdDogNnB4O1xuXHRcdFx0XHRcdGZvbnQtd2VpZ2h0OiBib2xkO1xuXHRcdFx0XHR9XG5cdFx0XHR9XG5cblx0XHRcdCY6aG92ZXIge1xuXHRcdFx0XHQvLyAmOmFmdGVyIHtcblx0XHRcdFx0Ly8gXHRvcGFjaXR5OiAwLjc7XG5cdFx0XHRcdC8vIH1cblxuXHRcdFx0XHRoNCB7XG5cdFx0XHRcdFx0Ym90dG9tOiA3MHB4O1xuXHRcdFx0XHR9XG5cblx0XHRcdFx0aDYge1xuXHRcdFx0XHRcdG9wYWNpdHk6IDE7XG5cdFx0XHRcdFx0Ym90dG9tOiAzMHB4O1xuXHRcdFx0XHR9XG5cdFx0XHR9XG5cdFx0fVxuXG5cdFx0QGluY2x1ZGUgbWVkaWEoJHBvcnRhYmxlcykge1xuXHRcdFx0d2lkdGg6IDUwJTtcblx0XHRcdGhlaWdodDogNTB2dztcblx0XHRcdG1heC1oZWlnaHQ6IG5vbmU7XG5cblx0XHRcdCZfY29udGVudCB7XG5cdFx0XHRcdHBhZGRpbmc6IDAgMTBweCAxMHB4IDEwcHg7XG5cdFx0XHRcdGg0IHtcblx0XHRcdFx0XHRsZWZ0OiAxNXB4O1xuXHRcdFx0XHRcdHJpZ2h0OiAxNXB4O1xuXHRcdFx0XHRcdGJvdHRvbTogMjBweDtcblx0XHRcdFx0fVxuXHRcdFx0fVxuXHRcdH1cblxuXHRcdCYtbGluayB7XG5cblx0XHRcdC5pbWFnZUdyaWRfc2luZ2xlX2ltYWdlV3JhcCB7XG5cdFx0XHRcdEBpbmNsdWRlIHRyYW5zaXRpb24tZHVyYXRpb24oIDAuM3MgKTtcblx0XHRcdFx0QGluY2x1ZGUgdHJhbnNpdGlvbi1wcm9wZXJ0eSggdHJhbnNmb3JtICk7XG5cdFx0XHR9XG5cblx0XHRcdCY6aG92ZXIge1xuXG5cdFx0XHRcdC5pbWFnZUdyaWRfc2luZ2xlX2ltYWdlV3JhcCB7XG5cdFx0XHRcdFx0QGluY2x1ZGUgdHJhbnNmb3JtKCBzY2FsZSgxLjEpICk7XG5cdFx0XHRcdH1cblx0XHRcdH1cblx0XHR9XG5cdH1cbn0iLCIvLyBTaG9ydGhhbmQgbWl4aW4uIFN1cHBvcnRzIG11bHRpcGxlIHBhcmVudGhlc2VzLWRlbGltaW5hdGVkIHZhbHVlcyBmb3IgZWFjaCB2YXJpYWJsZS5cbi8vIEV4YW1wbGU6IEBpbmNsdWRlIHRyYW5zaXRpb24gKGFsbCAycyBlYXNlLWluLW91dCk7XG4vLyAgICAgICAgICBAaW5jbHVkZSB0cmFuc2l0aW9uIChvcGFjaXR5IDFzIGVhc2UtaW4gMnMsIHdpZHRoIDJzIGVhc2Utb3V0KTtcbi8vICAgICAgICAgIEBpbmNsdWRlIHRyYW5zaXRpb24tcHJvcGVydHkgKHRyYW5zZm9ybSwgb3BhY2l0eSk7XG5cbkBtaXhpbiB0cmFuc2l0aW9uKCRwcm9wZXJ0aWVzLi4uKSB7XG4gIEBpbmNsdWRlIF9ib3VyYm9uLWRlcHJlY2F0ZS1mb3ItcHJlZml4aW5nKFwidHJhbnNpdGlvblwiKTtcblxuICAvLyBGaXggZm9yIHZlbmRvci1wcmVmaXggdHJhbnNmb3JtIHByb3BlcnR5XG4gICRuZWVkcy1wcmVmaXhlczogZmFsc2U7XG4gICR3ZWJraXQ6ICgpO1xuICAkbW96OiAoKTtcbiAgJHNwZWM6ICgpO1xuXG4gIC8vIENyZWF0ZSBsaXN0cyBmb3IgdmVuZG9yLXByZWZpeGVkIHRyYW5zZm9ybVxuICBAZWFjaCAkbGlzdCBpbiAkcHJvcGVydGllcyB7XG4gICAgQGlmIG50aCgkbGlzdCwgMSkgPT0gXCJ0cmFuc2Zvcm1cIiB7XG4gICAgICAkbmVlZHMtcHJlZml4ZXM6IHRydWU7XG4gICAgICAkbGlzdDE6IC13ZWJraXQtdHJhbnNmb3JtO1xuICAgICAgJGxpc3QyOiAtbW96LXRyYW5zZm9ybTtcbiAgICAgICRsaXN0MzogKCk7XG5cbiAgICAgIEBlYWNoICR2YXIgaW4gJGxpc3Qge1xuICAgICAgICAkbGlzdDM6IGpvaW4oJGxpc3QzLCAkdmFyKTtcblxuICAgICAgICBAaWYgJHZhciAhPSBcInRyYW5zZm9ybVwiIHtcbiAgICAgICAgICAkbGlzdDE6IGpvaW4oJGxpc3QxLCAkdmFyKTtcbiAgICAgICAgICAkbGlzdDI6IGpvaW4oJGxpc3QyLCAkdmFyKTtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICAkd2Via2l0OiBhcHBlbmQoJHdlYmtpdCwgJGxpc3QxKTtcbiAgICAgICRtb3o6ICAgIGFwcGVuZCgkbW96LCAgICAkbGlzdDIpO1xuICAgICAgJHNwZWM6ICAgYXBwZW5kKCRzcGVjLCAgICRsaXN0Myk7XG4gICAgfSBAZWxzZSB7XG4gICAgICAkd2Via2l0OiBhcHBlbmQoJHdlYmtpdCwgJGxpc3QsIGNvbW1hKTtcbiAgICAgICRtb3o6ICAgIGFwcGVuZCgkbW96LCAgICAkbGlzdCwgY29tbWEpO1xuICAgICAgJHNwZWM6ICAgYXBwZW5kKCRzcGVjLCAgICRsaXN0LCBjb21tYSk7XG4gICAgfVxuICB9XG5cbiAgQGlmICRuZWVkcy1wcmVmaXhlcyB7XG4gICAgLXdlYmtpdC10cmFuc2l0aW9uOiAkd2Via2l0O1xuICAgICAgIC1tb3otdHJhbnNpdGlvbjogJG1vejtcbiAgICAgICAgICAgIHRyYW5zaXRpb246ICRzcGVjO1xuICB9IEBlbHNlIHtcbiAgICBAaWYgbGVuZ3RoKCRwcm9wZXJ0aWVzKSA+PSAxIHtcbiAgICAgIEBpbmNsdWRlIHByZWZpeGVyKHRyYW5zaXRpb24sICRwcm9wZXJ0aWVzLCB3ZWJraXQgbW96IHNwZWMpO1xuICAgIH0gQGVsc2Uge1xuICAgICAgJHByb3BlcnRpZXM6IGFsbCAwLjE1cyBlYXNlLW91dCAwcztcbiAgICAgIEBpbmNsdWRlIHByZWZpeGVyKHRyYW5zaXRpb24sICRwcm9wZXJ0aWVzLCB3ZWJraXQgbW96IHNwZWMpO1xuICAgIH1cbiAgfVxufVxuXG5AbWl4aW4gdHJhbnNpdGlvbi1wcm9wZXJ0eSgkcHJvcGVydGllcy4uLikge1xuICBAaW5jbHVkZSBfYm91cmJvbi1kZXByZWNhdGUtZm9yLXByZWZpeGluZyhcInRyYW5zaXRpb24tcHJvcGVydHlcIik7XG5cbiAgLXdlYmtpdC10cmFuc2l0aW9uLXByb3BlcnR5OiB0cmFuc2l0aW9uLXByb3BlcnR5LW5hbWVzKCRwcm9wZXJ0aWVzLCBcIndlYmtpdFwiKTtcbiAgICAgLW1vei10cmFuc2l0aW9uLXByb3BlcnR5OiB0cmFuc2l0aW9uLXByb3BlcnR5LW5hbWVzKCRwcm9wZXJ0aWVzLCBcIm1velwiKTtcbiAgICAgICAgICB0cmFuc2l0aW9uLXByb3BlcnR5OiB0cmFuc2l0aW9uLXByb3BlcnR5LW5hbWVzKCRwcm9wZXJ0aWVzLCBmYWxzZSk7XG59XG5cbkBtaXhpbiB0cmFuc2l0aW9uLWR1cmF0aW9uKCR0aW1lcy4uLikge1xuICBAaW5jbHVkZSBfYm91cmJvbi1kZXByZWNhdGUtZm9yLXByZWZpeGluZyhcInRyYW5zaXRpb24tZHVyYXRpb25cIik7XG5cbiAgQGluY2x1ZGUgcHJlZml4ZXIodHJhbnNpdGlvbi1kdXJhdGlvbiwgJHRpbWVzLCB3ZWJraXQgbW96IHNwZWMpO1xufVxuXG5AbWl4aW4gdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb24oJG1vdGlvbnMuLi4pIHtcbiAgQGluY2x1ZGUgX2JvdXJib24tZGVwcmVjYXRlLWZvci1wcmVmaXhpbmcoXCJ0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvblwiKTtcblxuICAvLyBlYXNlIHwgbGluZWFyIHwgZWFzZS1pbiB8IGVhc2Utb3V0IHwgZWFzZS1pbi1vdXQgfCBjdWJpYy1iZXppZXIoKVxuICBAaW5jbHVkZSBwcmVmaXhlcih0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbiwgJG1vdGlvbnMsIHdlYmtpdCBtb3ogc3BlYyk7XG59XG5cbkBtaXhpbiB0cmFuc2l0aW9uLWRlbGF5KCR0aW1lcy4uLikge1xuICBAaW5jbHVkZSBfYm91cmJvbi1kZXByZWNhdGUtZm9yLXByZWZpeGluZyhcInRyYW5zaXRpb24tZGVsYXlcIik7XG5cbiAgQGluY2x1ZGUgcHJlZml4ZXIodHJhbnNpdGlvbi1kZWxheSwgJHRpbWVzLCB3ZWJraXQgbW96IHNwZWMpO1xufVxuIiwiLy8gUmV0dXJuIHZlbmRvci1wcmVmaXhlZCBwcm9wZXJ0eSBuYW1lcyBpZiBhcHByb3ByaWF0ZVxuLy8gRXhhbXBsZTogdHJhbnNpdGlvbi1wcm9wZXJ0eS1uYW1lcygodHJhbnNmb3JtLCBjb2xvciwgYmFja2dyb3VuZCksIG1veikgLT4gLW1vei10cmFuc2Zvcm0sIGNvbG9yLCBiYWNrZ3JvdW5kXG4vLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8vXG5AZnVuY3Rpb24gdHJhbnNpdGlvbi1wcm9wZXJ0eS1uYW1lcygkcHJvcHMsICR2ZW5kb3I6IGZhbHNlKSB7XG4gIEBpZiAkb3V0cHV0LWJvdXJib24tZGVwcmVjYXRpb24td2FybmluZ3MgPT0gdHJ1ZSB7XG4gICAgQHdhcm4gXCJbQm91cmJvbl0gW0RlcHJlY2F0aW9uXSBgdHJhbnNpdGlvbi1wcm9wZXJ0eS1uYW1lc2AgaXMgZGVwcmVjYXRlZCBcIiArXG4gICAgXCJhbmQgd2lsbCBiZSByZW1vdmVkIGluIDUuMC4wLlwiO1xuICB9XG5cbiAgJHVzZXItZGVwcmVjYXRpb24td2FybmluZ3Mtc2V0dGluZzogJG91dHB1dC1ib3VyYm9uLWRlcHJlY2F0aW9uLXdhcm5pbmdzO1xuICAkb3V0cHV0LWJvdXJib24tZGVwcmVjYXRpb24td2FybmluZ3M6IGZhbHNlICFnbG9iYWw7XG5cbiAgJG5ldy1wcm9wczogKCk7XG5cbiAgQGVhY2ggJHByb3AgaW4gJHByb3BzIHtcbiAgICAkbmV3LXByb3BzOiBhcHBlbmQoJG5ldy1wcm9wcywgdHJhbnNpdGlvbi1wcm9wZXJ0eS1uYW1lKCRwcm9wLCAkdmVuZG9yKSwgY29tbWEpO1xuICB9XG5cbiAgJG91dHB1dC1ib3VyYm9uLWRlcHJlY2F0aW9uLXdhcm5pbmdzOiAkdXNlci1kZXByZWNhdGlvbi13YXJuaW5ncy1zZXR0aW5nICFnbG9iYWw7XG5cbiAgQHJldHVybiAkbmV3LXByb3BzO1xufVxuXG5AZnVuY3Rpb24gdHJhbnNpdGlvbi1wcm9wZXJ0eS1uYW1lKCRwcm9wLCAkdmVuZG9yOiBmYWxzZSkge1xuICBAaWYgJG91dHB1dC1ib3VyYm9uLWRlcHJlY2F0aW9uLXdhcm5pbmdzID09IHRydWUge1xuICAgIEB3YXJuIFwiW0JvdXJib25dIFtEZXByZWNhdGlvbl0gYHRyYW5zaXRpb24tcHJvcGVydHktbmFtZWAgaXMgZGVwcmVjYXRlZCBcIiArXG4gICAgXCJhbmQgd2lsbCBiZSByZW1vdmVkIGluIDUuMC4wLlwiO1xuICB9XG5cbiAgLy8gcHV0IG90aGVyIHByb3BlcnRpZXMgdGhhdCBuZWVkIHRvIGJlIHByZWZpeGVkIGhlcmUgYXN3ZWxsXG4gIEBpZiAkdmVuZG9yIGFuZCAkcHJvcCA9PSB0cmFuc2Zvcm0ge1xuICAgIEByZXR1cm4gdW5xdW90ZSgnLScrJHZlbmRvcisnLScrJHByb3ApO1xuICB9XG4gIEBlbHNlIHtcbiAgICBAcmV0dXJuICRwcm9wO1xuICB9XG59XG4iLCIvLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cbi8vXG4vLyBORVdTIExBTkRJTkdcbi8vXG4vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cblxuLmJsb2csLmFyY2hpdmUgLm1haW57XG4gICAgLy8gbWluLWhlaWdodDogMTAwdmg7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gICAgLmhlcm97XG4gICAgICAgIHBhZGRpbmctdG9wOiAyMDBweDtcbiAgICAgICAgcGFkZGluZy1ib3R0b206IDUwcHg7XG4gICAgICAgIG1pbi1oZWlnaHQ6IDQ1MHB4O1xuICAgIH1cblxuICAgIC5uZXdzX2Jsb2NrIHtcbiAgICAgICAgQGluY2x1ZGUgY2xlYXJmaXg7XG4gICAgICAgIHotaW5kZXg6IDA7XG4gICAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgICAgIEBpbmNsdWRlIGRpc3BsYXkoIGZsZXggKTtcbiAgICAgICAgLy8gQGluY2x1ZGUgZmxleC1mbG93KCByb3cgd3JhcCApO1xuICAgICAgICAvLyAtbXMtZmxleC1mbG93OiByb3cgd3JhcDtcblxuICAgICAgICAmX2NvbnRlbnQge1xuICAgICAgICAgICAgcGFkZGluZzogMzBweCAwIDAgMDtcbiAgICAgICAgICAgIGZsb2F0OiBsZWZ0O1xuICAgICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICAgICAgd2lkdGg6IDY4JTtcbiAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICAgICAgICAgICAgLm5ld3NfY29udGVudCB7XG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgY2xlYXJmaXg7XG4gICAgICAgICAgICAgICAgcGFkZGluZzogMzBweCAwO1xuICAgICAgICAgICAgICAgIHBhZGRpbmctbGVmdDogMTAwcHg7XG4gICAgICAgICAgICAgICAgcGFkZGluZy1yaWdodDogNjBweDtcbiAgICAgICAgICAgICAgICAuaW1nX2NvbnRhaW5lciB7XG4gICAgICAgICAgICAgICAgICAgIGZsb2F0OiBsZWZ0O1xuICAgICAgICAgICAgICAgICAgICBjbGVhcjogbGVmdDtcbiAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICAgICAgICAgICAgICB3aWR0aDogMzIwcHg7XG4gICAgICAgICAgICAgICAgICAgIGhlaWdodDogMjQwcHg7XG4gICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIGJhY2tncm91bmQtY292ZXI7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIC50ZXh0X2NvbnRhaW5lciB7XG4gICAgICAgICAgICAgICAgICAgIGZsb2F0OiBsZWZ0O1xuICAgICAgICAgICAgICAgICAgICB3aWR0aDogY2FsYygxMDAlIC0gMzIwcHgpO1xuICAgICAgICAgICAgICAgICAgICBwYWRkaW5nLWxlZnQ6IDQwcHg7XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgdGltZSB7XG4gICAgICAgICAgICAgICAgICAgIGNvbG9yOiRwcmltYXJ5O1xuICAgICAgICAgICAgICAgICAgICBmb250LXNpemU6IDIwcHg7XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgaDUge1xuICAgICAgICAgICAgICAgICAgICBhIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbG9yOiRka2dyYXk7XG4gICAgICAgICAgICAgICAgICAgICAgICBmb250LXdlaWdodDo3MDA7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICYtbm9TaWRlYmFyIHtcbiAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTtcblxuICAgICAgICAgICAgICAgIC5uZXdzX2NvbnRlbnQge1xuICAgICAgICAgICAgICAgICAgICBwYWRkaW5nLXJpZ2h0OiAxMDBweDtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAmX3NpZGViYXIge1xuICAgICAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICAgICAgICAgIGZsb2F0OiByaWdodDtcbiAgICAgICAgICAgIHBhZGRpbmctcmlnaHQ6IDEwMHB4O1xuICAgICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICAgICAgd2lkdGg6IDMyJTtcbiAgICAgICAgICAgIGJhY2tncm91bmQ6JHRlcnRpYXJ5O1xuICAgICAgICAgICAgYXNpZGUge1xuICAgICAgICAgICAgICAgIHBhZGRpbmc6IDYwcHggMCAwIDYwcHg7XG4gICAgICAgICAgICAgICAgaDUge1xuICAgICAgICAgICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDE1cHg7XG4gICAgICAgICAgICAgICAgICAgIGZvbnQtc2l6ZToyNHB4O1xuICAgICAgICAgICAgICAgICAgICBjb2xvcjokZGtncmF5O1xuICAgICAgICAgICAgICAgICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgICAgICAgICAgICAgICAgICBsZXR0ZXItc3BhY2luZzogaW5pdGlhbDtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgdWwge1xuICAgICAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiA0NXB4O1xuICAgICAgICAgICAgICAgICAgICBsaXN0LXN0eWxlOiBub25lO1xuICAgICAgICAgICAgICAgICAgICBsaSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAxMHB4O1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIGEge1xuICAgICAgICAgICAgICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG4gICAgQGluY2x1ZGUgbWVkaWEoJHBvcnRhYmxlcykge1xuICAgICAgICAubmV3c19ibG9jayB7XG4gICAgICAgICAgICAmX2NvbnRlbnQge1xuICAgICAgICAgICAgICAgIHBhZGRpbmctdG9wOiAwO1xuICAgICAgICAgICAgICAgIC5uZXdzX2NvbnRlbnQge1xuICAgICAgICAgICAgICAgICAgICBwYWRkaW5nLWxlZnQ6IDIwcHg7XG4gICAgICAgICAgICAgICAgICAgIHBhZGRpbmctcmlnaHQ6IDIwcHg7XG4gICAgICAgICAgICAgICAgICAgIC5pbWdfY29udGFpbmVyIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHdpZHRoOiAyNTZweDtcbiAgICAgICAgICAgICAgICAgICAgICAgIGhlaWdodDogMTkycHg7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgLnRleHRfY29udGFpbmVyIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHdpZHRoOiBjYWxjKDEwMCUgLSAyNTZweCk7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICAmX3NpZGViYXIge1xuICAgICAgICAgICAgICAgIHBhZGRpbmc6IDBweCAyMHB4O1xuICAgICAgICAgICAgICAgIGFzaWRlIHtcbiAgICAgICAgICAgICAgICAgICAgcGFkZGluZy1sZWZ0OiAwO1xuICAgICAgICAgICAgICAgICAgICBwYWRkaW5nLXRvcDogMzBweDtcbiAgICAgICAgICAgICAgICAgICAgaDUge1xuICAgICAgICAgICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogNXB4O1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIHVsIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDM1cHg7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG4gICAgQGluY2x1ZGUgbWVkaWEobmV3LWJyZWFrcG9pbnQobWF4LXdpZHRoIDc2MHB4LCA4KSkge1xuICAgICAgICAubmV3c19ibG9jayB7XG4gICAgICAgICAgICAmX2NvbnRlbnQge1xuICAgICAgICAgICAgICAgIHBhZGRpbmctdG9wOiAwO1xuICAgICAgICAgICAgICAgIC5uZXdzX2NvbnRlbnQge1xuICAgICAgICAgICAgICAgICAgICBwYWRkaW5nOiAyMHB4O1xuICAgICAgICAgICAgICAgICAgICAuaW1nX2NvbnRhaW5lciB7XG4gICAgICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIC50ZXh0X2NvbnRhaW5lciB7XG4gICAgICAgICAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgICAgICAgICAgICAgIHBhZGRpbmc6IDIwcHggMCAwIDA7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG4gICAgQGluY2x1ZGUgbWVkaWEoJG1vYmlsZS1vbmx5KSB7XG4gICAgICAgIC5uZXdzX2Jsb2NrIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgJl9jb250ZW50IHtcbiAgICAgICAgICAgICAgICBwYWRkaW5nLXRvcDogMDtcbiAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgICAgICAubmV3c19jb250ZW50IHtcbiAgICAgICAgICAgICAgICAgICAgcGFkZGluZzogMTVweCAxMHB4O1xuICAgICAgICAgICAgICAgICAgICAudGV4dF9jb250YWluZXIge1xuICAgICAgICAgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICAgICAgICAgICAgICBwYWRkaW5nOiAxMHB4IDAgMCAwO1xuICAgICAgICAgICAgICAgICAgICAgICAgaDUge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDNweDtcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgIHAge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDhweDtcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgICZfc2lkZWJhciB7XG4gICAgICAgICAgICAgICAgcGFkZGluZzogMCAxMHB4O1xuICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgICAgICAgICBhc2lkZSB7XG4gICAgICAgICAgICAgICAgICAgIHBhZGRpbmctdG9wOiAxMHB4O1xuICAgICAgICAgICAgICAgICAgICB1bCB7XG4gICAgICAgICAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAyNXB4O1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuICAgIEBpbmNsdWRlIG1lZGlhKCRkZXNrdG9wKSB7XG4gICAgICAgIC5uZXdzX2Jsb2NrIHtcbiAgICAgICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICAgICAgICBjb250ZW50OiAnJztcbiAgICAgICAgICAgICAgICB6LWluZGV4OiAtMztcbiAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgICAgIHRvcDogMDtcbiAgICAgICAgICAgICAgICBsZWZ0OiAwO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuICAgIEBpbmNsdWRlIG1lZGlhKG5ldy1icmVha3BvaW50KG1pbi13aWR0aCAkZGVza3RvcC13aWR0aCBtYXgtd2lkdGggOTk5cHgsIDEyKSkge1xuICAgICAgICAubmV3c19ibG9jayB7XG4gICAgICAgICAgICAmX2NvbnRlbnQge1xuICAgICAgICAgICAgICAgIC5uZXdzX2NvbnRlbnQge1xuICAgICAgICAgICAgICAgICAgICAuaW1nX2NvbnRhaW5lciB7XG4gICAgICAgICAgICAgICAgICAgICAgICB3aWR0aDogMjI0cHg7XG4gICAgICAgICAgICAgICAgICAgICAgICBoZWlnaHQ6IDE2OHB4O1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIC50ZXh0X2NvbnRhaW5lciB7XG4gICAgICAgICAgICAgICAgICAgICAgICB3aWR0aDogY2FsYygxMDAlIC0gMjI0cHgpO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuICAgIEBpbmNsdWRlIG1lZGlhKG5ldy1icmVha3BvaW50KG1pbi13aWR0aCAxMDAwcHggbWF4LXdpZHRoIDEyMDBweCwgMTIpKSB7XG4gICAgICAgIC5uZXdzX2Jsb2NrIHtcbiAgICAgICAgICAgICZfY29udGVudCB7XG4gICAgICAgICAgICAgICAgLm5ld3NfY29udGVudCB7XG4gICAgICAgICAgICAgICAgICAgIC5pbWdfY29udGFpbmVyIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHdpZHRoOiAyNTZweDtcbiAgICAgICAgICAgICAgICAgICAgICAgIGhlaWdodDogMTkycHg7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgLnRleHRfY29udGFpbmVyIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHdpZHRoOiBjYWxjKDEwMCUgLSAyNTZweCk7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG4gICAgQGluY2x1ZGUgbWVkaWEoJGRlc2t0b3AtMTQwMCkge1xuICAgICAgICAubmV3c19ibG9jayB7XG4gICAgICAgICAgICAmX2NvbnRlbnQge1xuICAgICAgICAgICAgICAgIHdpZHRoOiBjYWxjKCgxMDB2dyAtIDEyMDBweCkvMiArIDg1N3B4KTtcbiAgICAgICAgICAgICAgICAubmV3c19jb250ZW50IHtcbiAgICAgICAgICAgICAgICAgICAgd2lkdGg6IGNhbGMoKDEwMHZ3IC0gMTIwMHB4KS8yICsgODU3cHgpO1xuICAgICAgICAgICAgICAgICAgICBwYWRkaW5nLWxlZnQ6IGNhbGMoKDEwMHZ3IC0gMTIwMHB4KS8yKTtcbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAmLW5vU2lkZWJhciB7XG4gICAgICAgICAgICAgICAgICAgIHBhZGRpbmctbGVmdDogMTAwcHg7XG4gICAgICAgICAgICAgICAgICAgIHBhZGRpbmctcmlnaHQ6IDEwMHB4O1xuICAgICAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTtcblxuICAgICAgICAgICAgICAgICAgICAubmV3c19jb250ZW50IHtcbiAgICAgICAgICAgICAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICAgICAgICAgICAgICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xuICAgICAgICAgICAgICAgICAgICAgICAgbWF4LXdpZHRoOiAxMjAwcHg7XG4gICAgICAgICAgICAgICAgICAgICAgICBwYWRkaW5nLWxlZnQ6IDA7XG4gICAgICAgICAgICAgICAgICAgICAgICBwYWRkaW5nLXJpZ2h0OiAwO1xuICAgICAgICAgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICAmX3NpZGViYXIge1xuICAgICAgICAgICAgICAgIHdpZHRoOiBjYWxjKCgxMDB2dyAtIDEyMDBweCkvMiArIDM0M3B4KTtcbiAgICAgICAgICAgICAgICBwYWRkaW5nLXJpZ2h0OiBjYWxjKCgxMDB2dyAtIDEyMDBweCkvMik7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG59XG4iLCIvLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cbi8vXG4vLyBMQVRFU1QgTkVXU1xuLy9cbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuLm1vZHVsZVdyYXBwZXIgLmxhdGVzdE5ld3Mge1xuICB3aWR0aDogMTAwJTtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBtYXJnaW46IDQ1cHggYXV0byAwO1xuICBiYWNrZ3JvdW5kOiAkd2hpdGU7IC8qIE9sZCBicm93c2VycyAqL1xuICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQodG8gYm90dG9tLCAgJHdoaXRlIDAlLCNlMWRlZGUgMTAwJSk7IC8qIFczQywgSUUxMCssIEZGMTYrLCBDaHJvbWUyNissIE9wZXJhMTIrLCBTYWZhcmk3KyAqL1xuXG4gIGgyIHtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgY29sb3I6JGRrZ3JheTtcbiAgICBsZXR0ZXItc3BhY2luZzppbml0aWFsO1xuICAgIHdpZHRoOiA5NSU7XG4gICAgcGFkZGluZzogMCAxJTtcbiAgICBtYXJnaW46IDAgYXV0bztcbiAgICBib3JkZXItYm90dG9tOjFweCBzb2xpZCAjOTc5Nzk3O1xuICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gIH1cbiAgJl9saXN0X2l0ZW0ge1xuICAgIHRyYW5zZm9ybS1vcmlnaW46IGNlbnRlciBjZW50ZXI7XG4gICAgdHJhbnNmb3JtOnNjYWxlKDEpO1xuICAgIHRyYW5zaXRpb246IGFsbCAwLjVzO1xuICAgICY6aG92ZXIge1xuICAgICAgICB6LWluZGV4OiAxMDA7XG4gICAgICAgIEBpbmNsdWRlIG1lZGlhKCRtb2JpbGUtb25seSkge1xuICAgICAgICAgIHRyYW5zZm9ybTpub25lO1xuICAgICAgICAgIGJveC1zaGFkb3c6bm9uZTtcbiAgICAgICAgICBiYWNrZ3JvdW5kOnRyYW5zcGFyZW50O1xuICAgICAgICB9XG4gICAgICAgIEBpbmNsdWRlIG1lZGlhKCR0YWJsZXQpIHtcbiAgICAgICAgICB0cmFuc2Zvcm06bm9uZTtcbiAgICAgICAgICBib3gtc2hhZG93Om5vbmU7XG4gICAgICAgICAgYmFja2dyb3VuZDp0cmFuc3BhcmVudDtcbiAgICAgICAgfVxuXG4gICAgICAgIEBpbmNsdWRlIG1lZGlhKCRkZXNrdG9wKSB7XG4gICAgICAgICAgYm94LXNoYWRvdzogMCAxM3B4IDE3cHggMHB4IHJnYmEoMCwwLDAsMC4zKTtcbiAgICAgICAgICBiYWNrZ3JvdW5kOiR3aGl0ZTtcbiAgICAgICAgICB0cmFuc2Zvcm06c2NhbGUoMS4wNSk7XG4gICAgICAgIH1cbiAgICB9XG4gIH1cbiAgJl9oZXJvIHtcbiAgICAgIEBpbmNsdWRlIGRpc3BsYXkoIGZsZXggKTtcbiAgICAgIEBpbmNsdWRlIGZsZXgtZmxvdyggcm93IHdyYXAgKTtcbiAgICAgIEBpbmNsdWRlIGp1c3RpZnktY29udGVudCggY2VudGVyICk7XG4gICAgICBtYXJnaW46IDAgYXV0bztcbiAgICAgIG1heC13aWR0aDogMTIwMHB4O1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICBwYWRkaW5nOiAyMHB4IDA7XG4gICAgfVxuICAgICZfbGlzdCB7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgbWFyZ2luOiA1MHB4IGF1dG87XG4gICAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gICAgcGFkZGluZzogMCAzMHB4O1xuICAgICAgQGluY2x1ZGUgbWVkaWEoJG1vYmlsZS1vbmx5KSB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgfVxuICAgICAgQGluY2x1ZGUgbWVkaWEoJHRhYmxldCkge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIH1cbiAgICAgIEBpbmNsdWRlIG1lZGlhKCRkZXNrdG9wKSB7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICAgICAgfVxuICAgICAgJl9pdGVtIHtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICBtYXJnaW46IDAgYXV0bztcbiAgICAgICAgd2lkdGg6MzAlO1xuICAgICAgICBmbG9hdDogbGVmdDtcbiAgICAgICAgbWFyZ2luOiAwIGF1dG87XG4gICAgICAgIHBhZGRpbmc6MDtcblxuICAgICAgICBAaW5jbHVkZSBtZWRpYSgkbW9iaWxlLW9ubHkpIHtcbiAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICBmbG9hdDpub25lO1xuICAgICAgICAgIC8vIHBhZGRpbmc6IDMlO1xuICAgICAgICB9XG5cbiAgICAgICAgQGluY2x1ZGUgbWVkaWEoJHRhYmxldCkge1xuICAgICAgICAgIHdpZHRoOiA5MCU7XG4gICAgICAgICAgZmxvYXQ6bm9uZTtcbiAgICAgICAgICAvLyBwYWRkaW5nOiAyJTtcbiAgICAgICAgfVxuICAgICAgICBAaW5jbHVkZSBtZWRpYSgkZGVza3RvcCkge1xuICAgICAgICAgIHdpZHRoOiAzMCU7XG4gICAgICAgICAgZmxvYXQ6bGVmdDtcbiAgICAgICAgICAvLyBwYWRkaW5nOiAxJTtcbiAgICAgICAgfVxuXG4gICAgICAgICZfbGluayB7XG4gICAgICAgICAgICBwb3NpdGlvbjpyZWxhdGl2ZTtcbiAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgICAgICAgICAgJl9pbWFnZSB7XG5cbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgICZfY29udGVudCB7XG4gICAgICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICAgICAgICAgIGhlaWdodDphdXRvO1xuXG4gICAgICAgICAgICAgICAgJl93cmFwcGVyIHtcbiAgICAgICAgICAgICAgICAgICAgcG9zaXRpb246cmVsYXRpdmU7XG4gICAgICAgICAgICAgICAgICAgIHBhZGRpbmc6MjVweDtcbiAgICAgICAgICAgICAgICAgICAgaDMge1xuICAgICAgICAgICAgICAgICAgICAgIGNvbG9yOiM1QzVDNUM7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbi8qXG4ubW9kdWxlV3JhcHBlciAubGF0ZXN0TmV3c3tcbiAgICBwYWRkaW5nOiAzMHB4IDEwMHB4IDYwcHggMTAwcHg7XG4gICAgYmFja2dyb3VuZC1jb2xvcjokc2Vjb25kYXJ5O1xuICAgIEBpbmNsdWRlIGNsZWFyZml4O1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICAgICZfaGVybyB7XG4gICAgICAgIEBpbmNsdWRlIGRpc3BsYXkoIGZsZXggKTtcbiAgICAgICAgQGluY2x1ZGUgZmxleC1mbG93KCByb3cgd3JhcCApO1xuICAgICAgICBAaW5jbHVkZSBqdXN0aWZ5LWNvbnRlbnQoIGNlbnRlciApO1xuICAgICAgICBtYXJnaW46IDAgYXV0bztcbiAgICAgICAgbWF4LXdpZHRoOiAxMjAwcHg7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgfVxuXG4gICAgICAmX2xpc3Qge1xuICAgICAgICAgIHdpZHRoOiAyNSU7XG4gICAgICAgICAgJl9pdGVte1xuICAgICAgICAgICAgbWFyZ2luOiAwIDBweCAyNXB4IDA7XG4gICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgICAgICAmX2xpbmt7XG4gICAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgICAgICAgLypcbiAgICAgICAgICAgICAgJjphZnRlciB7XG4gICAgICAgICAgICAgICAgICBAaW5jbHVkZSB0cmFuc2l0aW9uKCBvcGFjaXR5IDAuM3MgKTtcbiAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRyZWQ7XG4gICAgICAgICAgICAgICAgICBjb250ZW50OiAnJztcbiAgICAgICAgICAgICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgICAgICAgICAgICAgIGxlZnQ6IDA7XG4gICAgICAgICAgICAgICAgICBvcGFjaXR5OiAwO1xuICAgICAgICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgICAgICAgdG9wOiAwO1xuICAgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICAgIH1cbiovXG4vKlxuICAgICAgICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICAgICAgICAgICY6YWZ0ZXIge1xuICAgICAgICAgICAgICAgICAgICAgIG9wYWNpdHk6IDAuNjtcbiAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAmX2ltYWdle1xuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGFic29sdXRlLXNpemU7XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgJl9jb250ZW50e1xuICAgICAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogaW5saW5lLXRhYmxlO1xuICAgICAgICAgICAgICAgICAgJl93cmFwZXJ7XG4gICAgICAgICAgICAgICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgIH1cbn1cbiovXG4vKlxuLm1vZHVsZVdyYXBwZXIgLmxhdGVzdE5ld3Mge1xuICAgIEBpbmNsdWRlIGNsZWFyZml4O1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBAaW5jbHVkZSBkaXNwbGF5KCBmbGV4ICk7XG4gICAgQGluY2x1ZGUgZmxleC1mbG93KCByb3cgd3JhcCApO1xuICAgIC1tcy1mbGV4LWZsb3c6IHJvdyB3cmFwO1xuICAgICZfaGVybyB7XG4gICAgICAgIHBhZGRpbmc6IDkwcHggNS41JSA4MHB4IDEwMHB4O1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgZmxvYXQ6IGxlZnQ7XG4gICAgICAgIGNsZWFyOnJpZ2h0O1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgICAgICAgQGluY2x1ZGUgYWJzb2x1dGUtc2l6ZTtcbiAgICAgICAgICAgIG9wYWNpdHk6IDAuOTtcbiAgICAgICAgfVxuICAgICAgICAmX2lubmVye1xuICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICAgICAgJl9zdWJ0aXRsZSB7XG4gICAgICAgICAgICAgICAgYm9yZGVyLXRvcDogMXB4IHNvbGlkO1xuICAgICAgICAgICAgICAgIHBhZGRpbmctdG9wOiAxMHB4O1xuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGZvbnQgKDI1LCA1MCwgbm9uZSk7XG4gICAgICAgICAgICAgICAgZm9udC1zdHlsZTogaXRhbGljO1xuICAgICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDE1cHg7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG4gICAgJl9saXN0IHtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIGZsb2F0OmxlZnQ7XG4gICAgICAgICZfaXRlbSB7XG4gICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgICAgICBwYWRkaW5nOiA1NXB4IDEwMHB4IDcwcHggOC40JTtcbiAgICAgICAgICAgICZfbGluayB7XG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgYWJzb2x1dGUtc2l6ZTtcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBiYWNrZ3JvdW5kLWNvdmVyO1xuICAgICAgICAgICAgICAgIHBvc2l0aW9uOiBzdGF0aWM7XG4gICAgICAgICAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgICAgICAgICAgICAgICZfaW1hZ2Uge1xuICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSBhYnNvbHV0ZS1zaXplO1xuICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSBiYWNrZ3JvdW5kLWNvdmVyO1xuICAgICAgICAgICAgICAgICAgICAmOmFmdGVyIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgYWJzb2x1dGUtc2l6ZTtcbiAgICAgICAgICAgICAgICAgICAgICAgIG9wYWNpdHk6IDAuODU7XG4gICAgICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSB0cmFuc2l0aW9uKG9wYWNpdHkgMC4ycyk7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgJl9jb250ZW50IHtcbiAgICAgICAgICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiB0YWJsZTtcblxuICAgICAgICAgICAgICAgICAgICAmX3dyYXBwZXIge1xuICAgICAgICAgICAgICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogdGFibGUtY2VsbDtcbiAgICAgICAgICAgICAgICAgICAgICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG5cbiAgICAgICAgICAgICAgICAgICAgICAgICZfZXhjZXJwdCB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgJjpsYXN0LW9mLXR5cGUge1xuICAgICAgICAgICAgICAgIC5sYXRlc3ROZXdzX2xpc3RfaXRlbV9saW5rX2ltYWdlOmFmdGVyIHtcbiAgICAgICAgICAgICAgICAgICAgb3BhY2l0eTogMC42O1xuICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSB0cmFuc2l0aW9uKG9wYWNpdHkgMC4ycyk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIC5sYXRlc3ROZXdzX2xpc3RfaXRlbV9jb250ZW50X3dyYXBwZXIge1xuICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSB0ZXh0LXNoYWRvdzA7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICAgICAgICAubGF0ZXN0TmV3c19saXN0X2l0ZW1fbGlua19pbWFnZSB7XG4gICAgICAgICAgICAgICAgICAgICY6YWZ0ZXIge1xuICAgICAgICAgICAgICAgICAgICAgICAgb3BhY2l0eTogMC45NTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICY6bGFzdC1vZi10eXBlIHtcbiAgICAgICAgICAgICAgICAgICAgLmxhdGVzdE5ld3NfbGlzdF9pdGVtX2xpbmtfaW1hZ2Uge1xuICAgICAgICAgICAgICAgICAgICAgICAgJjphZnRlciB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgb3BhY2l0eTogMC43MDtcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbiAgICBAaW5jbHVkZSBtZWRpYSgkZGVza3RvcC0xNDAwKSB7XG4gICAgICAgICZfaGVybyB7XG4gICAgICAgICAgICB3aWR0aDogY2FsYygoMTAwJSAtIDEyMDBweCkvMiArIDQxNHB4KTtcbiAgICAgICAgICAgIHBhZGRpbmc6IDkwcHggNzdweCA4MHB4IGNhbGMoKDEwMCUgLSAxMjAwcHgpLzIpO1xuICAgICAgICB9XG4gICAgICAgICZfbGlzdCB7XG4gICAgICAgICAgICB3aWR0aDogY2FsYygoMTAwJSAtIDEyMDBweCkvMiArIDc4NnB4KTtcbiAgICAgICAgICAgICZfaXRlbSB7XG4gICAgICAgICAgICAgICAgcGFkZGluZzogNTVweCBjYWxjKCgxMDB2dyAtIDEyMDBweCkvMikgNzBweCA3N3B4O1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgbWVkaWEoJGRlc2t0b3ApIHtcbiAgICAgICAgJl9oZXJvIHtcbiAgICAgICAgICAgICZfaW5uZXIge1xuICAgICAgICAgICAgICAgICZfbGluayB7XG4gICAgICAgICAgICAgICAgICAgIG1hcmdpbi10b3A6IDIwcHg7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgJl9saXN0IHtcbiAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICAgICAgICAgICAgJl9pdGVtIHtcbiAgICAgICAgICAgICAgICBoZWlnaHQ6IDUwJTtcbiAgICAgICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG5cbiAgICAgICAgICAgICAgICAmOm50aC1jaGlsZCgyKSB7XG4gICAgICAgICAgICAgICAgICAgIHRvcDogNTAlO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbiAgICBAaW5jbHVkZSBtZWRpYSgkcG9ydGFibGVzKSB7XG4gICAgICAgICZfaGVybyB7XG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgIHBhZGRpbmc6IDMwcHggMjBweDtcbiAgICAgICAgfVxuICAgICAgICAmX2xpc3Qge1xuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICAmX2l0ZW0ge1xuICAgICAgICAgICAgICAgIHBhZGRpbmc6IDMwcHggMjBweDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbiAgICBAaW5jbHVkZSBtZWRpYSgkbW9iaWxlLW9ubHkpIHtcbiAgICAgICAgJl9oZXJvIHtcbiAgICAgICAgICAgIHBhZGRpbmc6IDIwcHggMTBweDtcbiAgICAgICAgfVxuICAgICAgICAmX2xpc3Qge1xuICAgICAgICAgICAgJl9pdGVtIHtcbiAgICAgICAgICAgICAgICBwYWRkaW5nOiAyMHB4IDEwcHg7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG59XG4qL1xuIiwiLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG4vL1xuLy8gTkVXU0xFVFRFUlxuLy9cbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuXG4ubW9kdWxlV3JhcHBlciAubmV3c2xldHRlciB7XG5cdHBhZGRpbmc6IDE1cHg7XG5cdHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuXHQmX2JhY2tncm91bmQge1xuICAgICAgICBAaW5jbHVkZSBhYnNvbHV0ZS1zaXplO1xuICAgICAgICBAaW5jbHVkZSBiYWNrZ3JvdW5kLWNvdmVyO1xuICAgICAgICB6LWluZGV4OiAxO1xuICAgICAgICAmLXByaW1hcnkge1xuICAgICAgICAgICAgJjphZnRlciB7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjokcHJpbWFyeTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAmLXNlY29uZGFyeSB7XG4gICAgICAgICAgICAmOmFmdGVyIHtcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiRka2dyYXk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAmOmFmdGVyIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIGFic29sdXRlLXNpemU7XG4gICAgICAgICAgICBjb250ZW50OiAnJztcbiAgICAgICAgICAgIG9wYWNpdHk6IDAuODtcbiAgICAgICAgfVxuICAgIH1cblxuICAgICZfd3JhcHBlciB7XG4gICAgICAgIG1hcmdpbjogYXV0bztcbiAgICAgICAgbWF4LXdpZHRoOiAxMDAwcHg7XG4gICAgXHRwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgXHR6LWluZGV4OiAyO1xuICAgICAgICAuZ2ZpZWxkX2xhYmVsIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIGZvbnQgKDIzLCAxNTAsIHVwcGVyY2FzZSk7XG4gICAgICAgICAgICBmb250LXN0eWxlOiBub3JtYWw7XG4gICAgICAgIH1cbiAgICAgICAgLnByaW1hcnktc3VibWl0IHtcbiAgICAgICAgICAgIHNwYW4ge1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6cmdiYSgkcHJpbWFyeSwgMC4yKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgIEBpbmNsdWRlIG1lZGlhKCR0YWJsZXQtb25seSkge1xuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgfSBcblxuICAgIEBpbmNsdWRlIG1lZGlhKCRkZXNrdG9wKSB7XG4gICAgICAgIHBhZGRpbmc6IDcwcHggMTVweCAyMHB4IDE1cHg7XG5cbiAgICAgICAgJl93cmFwcGVyIHtcbiAgICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcblxuICAgICAgICAgICAgLmdmb3JtX2JvZHkge1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgICAgIGZsb2F0OiBsZWZ0O1xuICAgICAgICAgICAgICAgIHdpZHRoOiBjYWxjKDEwMCUgLSAxNzVweCk7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC5nZmllbGQge1xuICAgICAgICAgICAgICAgIGZsb2F0OiBsZWZ0O1xuICAgICAgICAgICAgICAgIG1hcmdpbi1yaWdodDogMjBweDtcbiAgICAgICAgICAgICAgICB3aWR0aDogY2FsYyg1MCUgLSAyMHB4KTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgLmdmb3JtX2Zvb3RlciB7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICAgICAgZmxvYXQ6IGxlZnQ7XG4gICAgICAgICAgICAgICAgcGFkZGluZy10b3A6IDQwcHg7XG4gICAgICAgICAgICAgICAgd2lkdGg6IDE3NXB4O1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAuZ2Zvcm1fZmllbGRzLFxuICAgICAgICAgICAgLmdmb3JtX3dyYXBwZXIgZm9ybSB7XG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgY2xlYXJmaXg7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC5nZmllbGRfbGFiZWwge1xuICAgICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDhweDtcbiAgICAgICAgICAgICAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxufVxuXG4vKiBOZXdzbGV0dGVyICovXG4ubmV3c2xldHRlciAqIHtcbiAgICBjb2xvcjogJHdoaXRlO1xufVxuXG4ubmV3c2xldHRlciAuZ2ZpZWxkX2xhYmVsIHtcbiAgICBmb250LXdlaWdodDogNzAwO1xufVxuXG4ubmV3c2xldHRlciAuYnV0dG9uIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkd2hpdGU7XG4gICAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICBjb2xvcjogJHByaW1hcnk7XG59XG5cbi5uZXdzbGV0dGVyIC5idXR0b246aG92ZXIge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICR0ZXJ0aWFyeTtcbn1cblxuLm5ld3NsZXR0ZXIgLmdpbnB1dF9jb250YWluZXIgaW5wdXQsIC5uZXdzbGV0dGVyIC5naW5wdXRfY29udGFpbmVyIGlucHV0OmFjdGl2ZSxcbi5uZXdzbGV0dGVyIC5naW5wdXRfY29udGFpbmVyIGlucHV0OmZvY3VzIHtcbiAgICBib3JkZXItY29sb3I6ICR3aGl0ZTtcbiAgICBjb2xvcjogJHdoaXRlO1xufVxuIiwiLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG4vL1xuLy8gUEFHSU5BVElPTlxuLy9cbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuXG4ucGFnaW5hdGlvbiB7XG4gICAgd2lkdGg6IDEwMCU7XG5cbiAgICAmX2xpc3Qge1xuICAgICAgICBtYXJnaW46IDMwcHggYXV0bztcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgQGluY2x1ZGUgY2xlYXJmaXg7XG5cbiAgICAgICAgJl9zaW5nbGUge1xuICAgICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICAgICAgd2lkdGg6IDMzLjMlO1xuICAgICAgICAgICAgZmxvYXQ6IGxlZnQ7XG4gICAgICAgICAgICBtaW4taGVpZ2h0OiAxcHg7XG4gICAgICAgICAgICBcbiAgICAgICAgICAgIGEge1xuICAgICAgICAgICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICAgICAgICAgICAgICBmb250LXN0eWxlOiBub3JtYWw7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICZfY3VycmVudCxcbiAgICAgICAgICAgICZfZG90cyxcbiAgICAgICAgICAgICZfcGFnZSB7XG4gICAgICAgICAgICAgICAgbWFyZ2luOiAwIDJweDtcbiAgICAgICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICZfY3VycmVudDpiZWZvcmUge1xuICAgICAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgICAgICAgICAgICAgICBjb250ZW50OiAnJztcbiAgICAgICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICAgICAgei1pbmRleDogLTE7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICYtcHJldiB7XG4gICAgICAgICAgICAgICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgICYtcGFnZXMge1xuICAgICAgICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgICAgICAgICAvL21hcmdpbjogMCAyMHB4O1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgJi1uZXh0IHtcbiAgICAgICAgICAgICAgICB0ZXh0LWFsaWduOiByaWdodDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgIEBpbmNsdWRlIG1lZGlhKCRwb3J0YWJsZXMpIHtcbiAgICAgICAgcGFkZGluZzogMCA1MHB4O1xuXG4gICAgICAgICZfbGlzdF9zaW5nbGV7XG4gICAgICAgICAgICAmX2N1cnJlbnQ6YmVmb3JlIHtcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBzaXplKDI1cHgpO1xuICAgICAgICAgICAgICAgIHRvcDogMHB4O1xuICAgICAgICAgICAgICAgIGxlZnQ6IC02cHg7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICAmLXBhZ2VzIHtcbiAgICAgICAgICAgICAgICAvL21hcmdpbjogMCA3MHB4O1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgJi1wcmV2e1xuICAgICAgICAgICAgICAgIHNwYW4ge1xuICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgIEBpbmNsdWRlIG1lZGlhKCRtb2JpbGUtb25seSkge1xuICAgICAgICBwYWRkaW5nOiAwIDMwcHg7XG5cbiAgICAgICAgJl9saXN0IHtcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuXG4gICAgICAgICAgICAmX3NpbmdsZSB7XG5cbiAgICAgICAgICAgICAgICAmX2N1cnJlbnQ6YmVmb3JlIHtcbiAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgc2l6ZSgyMHB4KTtcbiAgICAgICAgICAgICAgICAgICAgdG9wOiAtMXB4O1xuICAgICAgICAgICAgICAgICAgICBsZWZ0OiAtNXB4O1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAmLXBhZ2VzIHtcbiAgICAgICAgICAgICAgICAgICAgLy9tYXJnaW46IDAgMjBweDtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBAaW5jbHVkZSBtZWRpYSgkZGVza3RvcCkge1xuICAgICAgICBwYWRkaW5nOiAwIDYwcHggMCAxMDBweDtcblxuICAgICAgICAmX2xpc3Qge1xuICAgICAgICAgICAgJl9zaW5nbGUge1xuICAgICAgICAgICAgICAgIHdpZHRoOiAzMy4zJTtcbiAgICAgICAgICAgICAgICBmbG9hdDogbGVmdDtcbiAgICAgICAgICAgICAgICAmLXByZXYge1xuICAgICAgICAgICAgICAgICAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAmLXBhZ2VzIHtcbiAgICAgICAgICAgICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAmLW5leHQge1xuICAgICAgICAgICAgICAgICAgICB0ZXh0LWFsaWduOiByaWdodDtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAmX2xpc3Rfc2luZ2xlX2N1cnJlbnQ6YmVmb3JlIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIHNpemUoMjhweCk7XG4gICAgICAgICAgICBsZWZ0OiAtN3B4O1xuICAgICAgICAgICAgdG9wOiAwcHg7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBAaW5jbHVkZSBtZWRpYSgkZGVza3RvcC0xNDAwKSB7XG5cbiAgICAgICAgJi1uZXdzIHtcbiAgICAgICAgICAgIHBhZGRpbmctbGVmdDogY2FsYygoMTAwdncgLSAxMjAwcHgpLzIpO1xuICAgICAgICAgICAgd2lkdGg6IGNhbGMoKDEwMHZ3IC0gMTIwMHB4KS8yICsgODU3cHgpO1xuICAgICAgICB9XG5cbiAgICAgICAgJl9saXN0X3NpbmdsZV9jdXJyZW50OmJlZm9yZSB7XG4gICAgICAgICAgICBsZWZ0OiAtNnB4O1xuICAgICAgICAgICAgdG9wOiAxcHg7XG4gICAgICAgIH1cbiAgICB9XG59XG5cblxuLnBhZ2luYXRpb25fbGlzdF9zaW5nbGUtcHJldixcbi5wYWdpbmF0aW9uX2xpc3Rfc2luZ2xlLW5leHQge1xuICAgIGEge1xuICAgICAgICBmb250LXNpemU6MjBweDtcbiAgICAgICAgZm9udC13ZWlnaHQ6NjAwO1xuICAgICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgIH1cbn1cbi5wYWdpbmF0aW9uX2xpc3Qge1xuICAgIC5wYWdpbmF0aW9uX2xpc3Rfc2luZ2xlIHtcblxuICAgICAgICAucGFnaW5hdGlvbl9saXN0X3NpbmdsZV9wYWdlIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgICAgIHdpZHRoOjI0cHg7XG4gICAgICAgICAgICBoZWlnaHQ6MjRweDtcbiAgICAgICAgICAgIHRleHQtYWxpZ246Y2VudGVyO1xuICAgICAgICAgICAgbGluZS1oZWlnaHQ6MjRweDtcbiAgICAgICAgICAgIGZvbnQtc2l6ZToxOHB4O1xuICAgICAgICAgICAgY29sb3I6JHByaW1hcnk7XG4gICAgICAgICAgICBmb250LXdlaWdodDo2MDA7XG4gICAgICAgIH1cbiAgICAgICAgLnBhZ2luYXRpb25fbGlzdF9zaW5nbGVfY3VycmVudCB7XG4gICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgICAgICB3aWR0aDoyNHB4O1xuICAgICAgICAgICAgaGVpZ2h0OjI0cHg7XG4gICAgICAgICAgICB0ZXh0LWFsaWduOmNlbnRlcjtcbiAgICAgICAgICAgIGxpbmUtaGVpZ2h0OjI0cHg7XG4gICAgICAgICAgICBmb250LXNpemU6MThweDtcbiAgICAgICAgICAgIGNvbG9yOiR3aGl0ZTtcbiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OjYwMDtcbiAgICAgICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICAgICAgICBwb3NpdGlvbjphYnNvbHV0ZTtcbiAgICAgICAgICAgICAgICB0b3A6MDtcbiAgICAgICAgICAgICAgICBsZWZ0OjA7XG4gICAgICAgICAgICAgICAgd2lkdGg6MTAwJTtcbiAgICAgICAgICAgICAgICBoZWlnaHQ6MTAwJTtcbiAgICAgICAgICAgICAgICBib3JkZXItcmFkaXVzOjUwJTtcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiRwcmltYXJ5O1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxufSIsIi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuLy9cbi8vIE9GRlNFVCBURVhUIEZVTEwgSU1BR0Vcbi8vXG4vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cbi5tb2R1bGVXcmFwcGVyIC5vZmZzZXRUZXh0RnVsbEltYWdlLXByaW1hcnkge1xuXHQmOmFmdGVyIHtcblx0XHRiYWNrZ3JvdW5kOnJnYmEoJHByaW1hcnksIDAuNjUpO1xuXHR9XG59XG5cbi5tb2R1bGVXcmFwcGVyIC5vZmZzZXRUZXh0RnVsbEltYWdlLXNlY29uZGFyeSB7XG5cdCY6YWZ0ZXIge1xuXHRcdGJhY2tncm91bmQ6cmdiYSgkZGtncmF5LCAwLjY1KTtcblx0fVxufVxuLm1vZHVsZVdyYXBwZXIgLm9mZnNldFRleHRGdWxsSW1hZ2Uge1xuXHRwb3NpdGlvbjogcmVsYXRpdmU7XG5cblx0JjphZnRlciB7XG5cdFx0Y29udGVudDogJyc7XG5cdFx0cG9zaXRpb246IGFic29sdXRlO1xuXHRcdGhlaWdodDogY2FsYygxMDAlIC0gMTAwcHgpO1xuXHRcdHdpZHRoOiAxMDAlO1xuXHRcdHRvcDogMTAwcHg7XG5cdFx0bGVmdDogMDtcblx0XHRcblx0XHRAaW5jbHVkZSBtZWRpYSgkbW9iaWxlLW9ubHkpIHtcblx0XHRcdGRpc3BsYXk6IG5vbmU7XG5cdFx0fVxuXG5cdFx0QGluY2x1ZGUgbWVkaWEoJHRhYmxldCkge1xuXHRcdFx0ZGlzcGxheTogYmxvY2s7XG5cdFx0fVxuXHR9XG5cblx0Jl9zaW5nbGUge1xuXG5cdFx0Jl9pdGVtIHtcblx0XHRcdHBvc2l0aW9uOiByZWxhdGl2ZTtcblx0XHRcdCY6YWZ0ZXIge1xuXHRcdFx0XHRjb250ZW50OiBcIiBcIjtcblx0XHRcdFx0ZGlzcGxheTogYmxvY2s7XG5cdFx0XHRcdGNsZWFyOmJvdGg7XG5cdFx0XHRcdHBhZGRpbmctYm90dG9tOiA4JTtcblx0XHRcdH1cblx0XHRcdCZfaW1hZ2Uge1xuXHRcdFx0XHRAaW5jbHVkZSBhYnNvbHV0ZS1zaXplO1xuXHRcdFx0XHRAaW5jbHVkZSBiYWNrZ3JvdW5kLWNvdmVyO1xuXHRcdFx0XHR0b3A6MTAwcHg7XG5cdFx0XHRcdEBpbmNsdWRlIG1lZGlhKCRtb2JpbGUtb25seSkge1xuXHRcdFx0XHRcdGRpc3BsYXk6IG5vbmU7XG5cdFx0XHRcdH1cblxuXHRcdFx0XHRAaW5jbHVkZSBtZWRpYSgkdGFibGV0KSB7XG5cdFx0XHRcdFx0ZGlzcGxheTogYmxvY2s7XG5cdFx0XHRcdH1cblx0XHRcdFx0aW1nIHtcblx0XHRcdFx0XHR3aWR0aDogMTAwJTtcblx0XHRcdFx0fVxuXHRcdFx0fVxuXHRcdFx0Jl9jb250YWluZXIge1xuXHRcdFx0XHRtYXgtd2lkdGg6ODUlO1xuXHRcdFx0XHRtYXJnaW46MCBhdXRvO1xuXHRcdFx0XHQmOmFmdGVyIHtcblx0XHRcdFx0XHRjb250ZW50OicnO1xuXHRcdFx0XHRcdGRpc3BsYXk6IGJsb2NrO1xuXHRcdFx0XHRcdGNsZWFyOmJvdGg7XG5cdFx0XHRcdH1cblx0XHRcdH1cblx0XHRcdCZfY29udGVudCB7XG5cdFx0XHRcdGZsb2F0OnJpZ2h0O1xuXHRcdFx0XHRwb3NpdGlvbjpyZWxhdGl2ZTtcblx0XHRcdFx0ei1pbmRleDogMTA7XG5cdFx0XHRcdG1heC13aWR0aDo3NTBweDtcblx0XHRcdFx0Ym9yZGVyOjE1cHggc29saWQgJHRlcnRpYXJ5O1xuXHRcdFx0XHRiYWNrZ3JvdW5kOiRwcmltYXJ5O1xuXHRcdFx0XHRcblx0XHRcdFx0QGluY2x1ZGUgbWVkaWEoJG1vYmlsZS1vbmx5KSB7XG5cdFx0XHRcdFx0cGFkZGluZzoxNXB4O1xuXHRcdFx0XHR9XG5cblx0XHRcdFx0QGluY2x1ZGUgbWVkaWEoJHRhYmxldCkge1xuXHRcdFx0XHRcdHBhZGRpbmc6MjVweDtcblx0XHRcdFx0fVxuXG5cdFx0XHRcdEBpbmNsdWRlIG1lZGlhKCRkZXNrdG9wKSB7XG5cdFx0XHRcdFx0cGFkZGluZzo3NXB4O1xuXHRcdFx0XHR9XG5cdFx0XHRcdGgzLCBwIHtcblx0XHRcdFx0XHRjb2xvcjokd2hpdGU7XG5cdFx0XHRcdH1cblx0XHRcdH1cblx0XHR9XG5cdH1cbn0iLCIvLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cbi8vXG4vLyBQSUNUVVJFIEJBQ0tHUk9VTkRcbi8vXG4vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cblxuLnBpY3R1cmVCYWNrZ3JvdW5kIHtcbiAgICBkaXNwbGF5OiBub25lO1xufVxuIiwiLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG4vL1xuLy8gTkVXUyBERVRBSUxcbi8vXG4vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cblxuLnNpbmdsZS1wb3N0IHtcbiAgICAubWFpbiB7XG4gICAgICAgIC5oZXJve1xuICAgICAgICAgICAgcGFkZGluZy10b3A6IDIwMHB4O1xuICAgICAgICAgICAgcGFkZGluZy1ib3R0b206IDUwcHg7XG4gICAgICAgICAgICBtaW4taGVpZ2h0OiA0NTBweDtcbiAgICAgICAgICAgICZfd3JhcHBlciB7XG4gICAgICAgICAgICAgICAgJl9tZXRhIHtcbiAgICAgICAgICAgICAgICAgICAgZGQge1xuICAgICAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIHNwYW57XG4gICAgICAgICAgICAgICAgICAgICAgICBtYXJnaW46IDAgMTBweDtcbiAgICAgICAgICAgICAgICAgICAgICAgICY6bGFzdC1vZi10eXBlIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgQGluY2x1ZGUgbWVkaWEoJHBvcnRhYmxlcykge1xuICAgICAgICAgICAgICAgIHBhZGRpbmctdG9wOiAxNzBweDtcbiAgICAgICAgICAgICAgICBwYWRkaW5nLWJvdHRvbTogNDBweDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIEBpbmNsdWRlIG1lZGlhKCRtb2JpbGUtb25seSkge1xuICAgICAgICAgICAgICAgIHBhZGRpbmctdG9wOiAxNzBweDtcbiAgICAgICAgICAgICAgICBwYWRkaW5nLWJvdHRvbTogMzBweDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAubmV3c19ibG9jayB7XG4gICAgICAgICAgICBAaW5jbHVkZSBjbGVhcmZpeDtcbiAgICAgICAgICAgIEBpbmNsdWRlIG1lZGlhKCR0YWJsZXQpIHtcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBkaXNwbGF5KGZsZXgpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgLnNpbmdsZV9uZXdzX3dyYXBwZXIge1xuICAgICAgICAgICAgICAgIG1hcmdpbjogYXV0bztcbiAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgICAgICBmbG9hdDogbGVmdDtcblxuICAgICAgICAgICAgICAgIC5zaW5nbGVfbmV3c19yZWxhdGVkY29udGVudCB7XG4gICAgICAgICAgICAgICAgICB0ZXh0LWFsaWduOmNlbnRlcjtcbiAgICAgICAgICAgICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTtcblxuICAgICAgICAgICAgICAgICAgICAmX3dyYXBwZXIge1xuICAgICAgICAgICAgICAgICAgICAgIHdpZHRoOiA1MCU7XG4gICAgICAgICAgICAgICAgICAgICAgZmxvYXQ6IGxlZnQ7XG4gICAgICAgICAgICAgICAgICAgICAgcGFkZGluZzogMCAxJTtcbiAgICAgICAgICAgICAgICAgICAgICBtYXJnaW46IDAgYXV0bztcbiAgICAgICAgICAgICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cbiAgICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSBtZWRpYSgkcG9ydGFibGVzKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBwYWRkaW5nOiAzMHB4IDIwcHggMHB4IDIwcHg7XG4gICAgICAgICAgICAgICAgICAgICAgICBmbG9hdDpsZWZ0O1xuICAgICAgICAgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgbWVkaWEoJG1vYmlsZS1vbmx5KSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgIHBhZGRpbmc6IDIwcHggMTBweCAwcHggMTBweDtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgZmxvYXQ6bGVmdDtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSBtZWRpYSgkZGVza3RvcCkge1xuICAgICAgICAgICAgICAgICAgICAgICAgICBtYXgtd2lkdGg6IDEyMDBweDtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgcGFkZGluZzogMCAxJTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgbWFyZ2luOiAwIGF1dG87XG4gICAgICAgICAgICAgICAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgICAgICZfbGlua3Mge1xuICAgICAgICAgICAgICAgICAgICAgIHRleHQtYWxpZ246bGVmdDtcbiAgICAgICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIG1lZGlhKCRwb3J0YWJsZXMpIHtcbiAgICAgICAgICAgICAgICAgICAgICBwYWRkaW5nOiAzMHB4IDIwcHggMTBweCAyMHB4O1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgbWVkaWEoJG1vYmlsZS1vbmx5KSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBwYWRkaW5nOiAyMHB4IDEwcHggMTBweCAxMHB4O1xuICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSBtZWRpYSgkdGFibGV0KSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBwYWRkaW5nOiAyMHB4IDEwcHggMTBweCAxMHB4O1xuICAgICAgICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIG1lZGlhKCRkZXNrdG9wKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBtYXgtd2lkdGg6IDEyMDBweDtcbiAgICAgICAgICAgICAgICAgICAgICAgIG1hcmdpbjogMCBhdXRvO1xuICAgICAgICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICAgICAgICAgJl90ZXh0IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgLmFsaWdubGVmdCwgLmFsaWducmlnaHQge1xuICAgICAgICAgICAgICAgICAgICBwYWRkaW5nOiAxMHB4IDA7XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgLmFsaWduY2VudGVyIHtcbiAgICAgICAgICAgICAgICAgICAgbWFyZ2luOiAzMHB4IGF1dG87XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgLmFsaWdubm9uZSB7XG4gICAgICAgICAgICAgICAgICAgIG1hcmdpbjogMzBweCBhdXRvO1xuICAgICAgICAgICAgICAgICAgICB3aWR0aDogODAlO1xuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgIC5zaW5nbGVfbmV3c19jb250ZW50IHtcbiAgICAgICAgICAgICAgICAgICAgLnNpbmdsZV9uZXdfYXV0aG9yIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGJvcmRlci1ib3R0b206NHB4IHNvbGlkICRwcmltYXJ5O1xuICAgICAgICAgICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTozNHB4O1xuICAgICAgICAgICAgICAgICAgICAgICAgJjphZnRlciB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgY29udGVudDonJztcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGVhcjpib3RoO1xuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgcDpudGgtY2hpbGQoMSkge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZsb2F0OmxlZnQ7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgcGFkZGluZy1sZWZ0OjQ1cHg7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsZWZ0OjA7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6dXJsKCdpbWcvaWNvbi1wZXJzb24uc3ZnJykgbm8tcmVwZWF0IGNlbnRlciBjZW50ZXI7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQtc2l6ZTo4NSUgODUlO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwYWRkaW5nLWxlZnQ6NTBweDtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICBwOm50aC1jaGlsZCgyKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgZmxvYXQ6cmlnaHQ7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgcGFkZGluZy1yaWdodDo0NXB4O1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJpZ2h0OjA7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6dXJsKCdpbWcvaWNvbi1jYWxlbmRhci5zdmcnKSBuby1yZXBlYXQgY2VudGVyIGNlbnRlcjtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZC1zaXplOjg1JSA4NSU7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBhZGRpbmctcmlnaHQ6NTBweDtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICBwIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBwb3NpdGlvbjpyZWxhdGl2ZTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYXJnaW46MDtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBmb250LXNpemU6MTZweDtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb2xvcjojOUI5QjlCO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIG1lZGlhKCRkZXNrdG9wKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZvbnQtc2l6ZToyNHB4O1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnRlbnQ6Jyc7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6YmxvY2s7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBvc2l0aW9uOmFic29sdXRlO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0b3A6MDtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgd2lkdGg6MjVweDtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaGVpZ2h0OjI1cHg7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAgICAgbGkge1xuICAgICAgICAgICAgICAgICAgICAgICAgcGFkZGluZy1sZWZ0OiAyMHB4O1xuICAgICAgICAgICAgICAgICAgICAgICAgbGlzdC1zdHlsZS10eXBlOiBub25lO1xuICAgICAgICAgICAgICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICAgICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMTBweDtcblxuICAgICAgICAgICAgICAgICAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRyZWQ7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogNTAlO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHdpZHRoOiA3cHg7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgaGVpZ2h0OiA3cHg7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRvcDogOHB4O1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxlZnQ6IDBweDtcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgICAgIGhyIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGhlaWdodDogM3B4O1xuICAgICAgICAgICAgICAgICAgICAgICAgbWFyZ2luOiAzMHB4IDA7XG4gICAgICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiAkcmVkO1xuICAgICAgICAgICAgICAgICAgICAgICAgYm9yZGVyOiBub25lO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgbWVkaWEoJG1vYmlsZS1vbmx5KSB7XG4gICAgICAgICAgICAgICAgICAgIHBhZGRpbmc6IDMwcHggMTBweDtcbiAgICAgICAgICAgICAgICAgICAgLmFsaWdubGVmdCwgLmFsaWducmlnaHQge1xuICAgICAgICAgICAgICAgICAgICAgICAgcGFkZGluZzogNXB4IDBweDtcbiAgICAgICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgICAgICAgICAgICAgbWF4LXdpZHRoOiBub25lO1xuICAgICAgICAgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICAgICAuYWxpZ25jZW50ZXIge1xuICAgICAgICAgICAgICAgICAgICAgICAgcGFkZGluZzogMTBweCAwO1xuICAgICAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAgICAgLmFsaWdubm9uZSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgICAgICAgICAgICAgIHBhZGRpbmc6IDEwcHggMDtcbiAgICAgICAgICAgICAgICAgICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgbWVkaWEoJHRhYmxldCkge1xuICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSBjbGVhcmZpeDtcbiAgICAgICAgICAgICAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICAgICAgICAgICAgICB3aWR0aDogNjcuOCU7XG4gICAgICAgICAgICAgICAgICAgIHBhZGRpbmc6IDQwcHggMjBweDtcbiAgICAgICAgICAgICAgICAgICAgLmFsaWdubGVmdCwgLmFsaWducmlnaHQge1xuICAgICAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICAgICAgICAgICAgICAgICAgbWF4LXdpZHRoOiA0OTBweDtcbiAgICAgICAgICAgICAgICAgICAgICAgIHdpZHRoOiA1MCU7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgLmFsaWduY2VudGVyLCAuYWxpZ25ub25lIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIG1hcmdpbjogMCBhdXRvO1xuICAgICAgICAgICAgICAgICAgICAgICAgcGFkZGluZzogMjBweCAwO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIC5hbGlnbmxlZnQge1xuICAgICAgICAgICAgICAgICAgICAgICAgZmxvYXQ6IGxlZnQ7XG4gICAgICAgICAgICAgICAgICAgICAgICBtYXJnaW46IDAgMjBweCAwIDA7XG4gICAgICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICAgICAuYWxpZ25yaWdodCB7XG4gICAgICAgICAgICAgICAgICAgICAgICBmbG9hdDogcmlnaHQ7XG4gICAgICAgICAgICAgICAgICAgICAgICBtYXJnaW46IDAgMCAwIDIwcHg7XG4gICAgICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICAgICAmLW5vU2lkZWJhciB7XG4gICAgICAgICAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgIEBpbmNsdWRlIG1lZGlhKCRkZXNrdG9wKSB7XG4gICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIGNsZWFyZml4O1xuICAgICAgICAgICAgICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgICAgICAgICAgICAgIHdpZHRoOiA2Ny44JTtcbiAgICAgICAgICAgICAgICAgICAgcGFkZGluZzogNTVweCAyMHB4IDU1cHggMDtcbiAgICAgICAgICAgICAgICAgICAgLnNpbmdsZV9uZXdzX2NvbnRlbnQge1xuICAgICAgICAgICAgICAgICAgICAgICAgLy8gZmxvYXQ6IGxlZnQ7XG4gICAgICAgICAgICAgICAgICAgICAgICBwYWRkaW5nLXJpZ2h0OiA4NXB4O1xuICAgICAgICAgICAgICAgICAgICAgICAgcGFkZGluZy1sZWZ0OiAxNDBweDtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAuYWxpZ25sZWZ0IHtcbiAgICAgICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIHRyYW5zZm9ybSggdHJhbnNsYXRlWCgtOTBweCkgKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIG1hcmdpbjogMCAtNjBweCAwIDA7XG4gICAgICAgICAgICAgICAgICAgICAgICBwYWRkaW5nOiAzMHB4IDA7XG4gICAgICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICAgICAuYWxpZ25yaWdodCB7XG4gICAgICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSB0cmFuc2Zvcm0oIHRyYW5zbGF0ZVgoOTBweCkgKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIG1hcmdpbjogMCAwIDAgLTYwcHg7XG4gICAgICAgICAgICAgICAgICAgICAgICBwYWRkaW5nOiAzMHB4IDA7XG4gICAgICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICAgICAmLW5vU2lkZWJhciB7XG4gICAgICAgICAgICAgICAgICAgICAgICBwYWRkaW5nLXJpZ2h0OiAwO1xuICAgICAgICAgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG5cbiAgICAgICAgICAgICAgICAgICAgICAgIC5zaW5nbGVfbmV3c19jb250ZW50IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBwYWRkaW5nLXJpZ2h0OiAxNDBweDtcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBtZWRpYSgkZGVza3RvcC0xNDAwKSB7XG4gICAgICAgICAgICAgICAgICAgIC5zaW5nbGVfbmV3c19jb250ZW50IHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHBhZGRpbmctbGVmdDogY2FsYygoMTAwdncgLSAxMjAwcHgpLzIgKyA0MHB4KTtcbiAgICAgICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgICAgICYtbm9TaWRlYmFyIHtcblxuICAgICAgICAgICAgICAgICAgICAgICAgLnNpbmdsZV9uZXdzX2NvbnRlbnQge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBhZGRpbmctcmlnaHQ6IGNhbGMoKDEwMHZ3IC0gMTIwMHB4KS8yICsgNDBweCk7XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICAubmF2aWdhdG9yIHtcbiAgICAgICAgICAgICAgICAvLyBwYWRkaW5nOiAwIDEwcHggMCAxMDBweDtcblxuICAgICAgICAgICAgICAgIGJvcmRlci10b3A6IDJweCBzb2xpZCAkcmVkO1xuICAgICAgICAgICAgICAgIG1hcmdpbi10b3A6IDYwcHg7XG4gICAgICAgICAgICAgICAgcGFkZGluZy10b3A6IDEwcHg7XG5cbiAgICAgICAgICAgICAgICBsaSB7XG4gICAgICAgICAgICAgICAgICAgIGxpc3Qtc3R5bGUtdHlwZTogbm9uZTtcbiAgICAgICAgICAgICAgICAgICAgcGFkZGluZy1sZWZ0OiAwcHggIWltcG9ydGFudDtcblxuICAgICAgICAgICAgICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICAgICAgICAgICAgICAgICAgZm9udC1zaXplOiA4NyU7XG5cbiAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgbWVkaWEoJHRhYmxldCkge1xuICAgICAgICAgICAgICAgICAgICAgICAgZm9udC1zaXplOiA3NSU7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAubmF2aWdhdG9yX2xpc3Rfc2luZ2xlLXByZXYge1xuICAgICAgICAgICAgICAgICAgICBwYWRkaW5nLWxlZnQ6IDIwcHggIWltcG9ydGFudDtcblxuICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSBtZWRpYSgkZGVza3RvcCkge1xuICAgICAgICAgICAgICAgICAgICAgICAgcGFkZGluZy1sZWZ0OiAzMHB4ICFpbXBvcnRhbnQ7XG4gICAgICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cbiAgICAgICAgICAgICAgICAgICAgYSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAmOmFmdGVyIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSBpY29uKCRpY29uLWFycm93LXJpZ2h0KTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdG9wOiAzMHB4O1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxlZnQ6IDA7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgLW1zLXRyYW5zZm9ybTogcm90YXRlKDE4MGRlZyk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZSgxODBkZWcpO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRyYW5zZm9ybTogcm90YXRlKDE4MGRlZyk7XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAubmF2aWdhdG9yX2xpc3Rfc2luZ2xlLW5leHQge1xuICAgICAgICAgICAgICAgICAgICBwYWRkaW5nLXJpZ2h0OiAyMHB4ICFpbXBvcnRhbnQ7XG5cbiAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgbWVkaWEoJGRlc2t0b3ApIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHBhZGRpbmctcmlnaHQ6IDMwcHggIWltcG9ydGFudDtcbiAgICAgICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICAgICAgICAgICAgICAgICAgICBhIHtcblxuICAgICAgICAgICAgICAgICAgICAgICAgJjphZnRlciB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgaWNvbigkaWNvbi1hcnJvdy1yaWdodCk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRvcDogMzBweDtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICByaWdodDogMDtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBmb250LXdlaWdodDogYm9sZDtcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgIC8vIEBpbmNsdWRlIG1lZGlhKCRtb2JpbGUtb25seSkge1xuICAgICAgICAgICAgICAgIC8vICAgICBwYWRkaW5nOiAzMHB4IDEwcHg7XG4gICAgICAgICAgICAgICAgLy8gfVxuXG4gICAgICAgICAgICAgICAgLy8gQGluY2x1ZGUgbWVkaWEoJHRhYmxldCkge1xuICAgICAgICAgICAgICAgIC8vICAgICBAaW5jbHVkZSBjbGVhcmZpeDtcbiAgICAgICAgICAgICAgICAvLyAgICAgbWFyZ2luOiAwO1xuICAgICAgICAgICAgICAgIC8vICAgICB3aWR0aDogNjcuOCU7XG4gICAgICAgICAgICAgICAgLy8gICAgIHBhZGRpbmc6IDQwcHggMjBweDtcbiAgICAgICAgICAgICAgICAvLyB9XG5cbiAgICAgICAgICAgICAgICAvLyBAaW5jbHVkZSBtZWRpYSgkZGVza3RvcCkge1xuICAgICAgICAgICAgICAgIC8vICAgICAvLyBAaW5jbHVkZSBjbGVhcmZpeDtcbiAgICAgICAgICAgICAgICAvLyAgICAgLy8gbWFyZ2luOiAwO1xuICAgICAgICAgICAgICAgIC8vICAgICAvLyB3aWR0aDogNjcuOCU7XG4gICAgICAgICAgICAgICAgLy8gICAgIC8vIHBhZGRpbmc6IDU1cHggMjBweCA1NXB4IDA7XG4gICAgICAgICAgICAgICAgLy8gICAgIGZsb2F0OiBsZWZ0O1xuICAgICAgICAgICAgICAgIC8vICAgICAgICAgcGFkZGluZy1yaWdodDogODVweDtcbiAgICAgICAgICAgICAgICAvLyAgICAgICAgIHBhZGRpbmctbGVmdDogMTQwcHg7XG4gICAgICAgICAgICAgICAgLy8gfVxuICAgICAgICAgICAgICAgIC8vIEBpbmNsdWRlIG1lZGlhKCRkZXNrdG9wLTE0MDApIHtcbiAgICAgICAgICAgICAgICAvLyAgICAgcGFkZGluZy1sZWZ0OiBjYWxjKCgxMDB2dyAtIDEyMDBweCkvMiArIDQwcHgpO1xuICAgICAgICAgICAgICAgIC8vIH1cblxuXG4gICAgICAgICAgICAgICAgY2xlYXI6IGJvdGg7XG4gICAgICAgICAgICAgICAgJl9saXN0IHtcbiAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgY2xlYXJmaXg7XG4gICAgICAgICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgICAgICAgICAgICAgICAgICZfc2luZ2xlIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgICAgICAgICAgICAgICAgIHBhZGRpbmctdG9wOiAyMHB4O1xuXG4gICAgICAgICAgICAgICAgICAgICAgICBhIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgZm9udC1zdHlsZTogbm9ybWFsO1xuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgJi1wcmV2IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBmbG9hdDogbGVmdDtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB3aWR0aDogMzMuMyU7XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICAmLWluZGV4IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBmbG9hdDogbGVmdDtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB3aWR0aDogMzMuNCU7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgJi1uZXh0IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBmbG9hdDogbGVmdDtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB0ZXh0LWFsaWduOiByaWdodDtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB3aWR0aDogMzMuMyU7XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBtZWRpYSgkcG9ydGFibGVzKSB7XG4gICAgICAgICAgICAgICAgICAgIC8vcGFkZGluZzogMDtcbiAgICAgICAgICAgICAgICAgICAgJl9saXN0IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICZfc2luZ2xlIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAmLXByZXYge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwYWRkaW5nLWxlZnQ6IDA7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMTdweDtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3BhbiB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICYtaW5kZXgge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmb250LXNpemU6IDE3cHg7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICYtbmV4dCB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBhZGRpbmctcmlnaHQ6IDA7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMTdweDtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgbWVkaWEoJG1vYmlsZS1vbmx5KSB7XG4gICAgICAgICAgICAgICAgICAgICZfbGlzdCB7XG4gICAgICAgICAgICAgICAgICAgICAgICAmX3NpbmdsZSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgJi1wcmV2IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgd2lkdGg6IDUwJTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgJi1pbmRleCB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICYtbmV4dCB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHdpZHRoOiA1MCU7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIEBpbmNsdWRlIG1lZGlhKCRkZXNrdG9wLTE0MDApIHtcbiAgICAgICAgICAgICAgICAgICAgLy8gcGFkZGluZy1sZWZ0OiBjYWxjKCgxMDB2dyAtIDEyMDBweCkvMik7XG5cbiAgICAgICAgICAgICAgICAgICAgJi1ub1NpZGViYXIge1xuICAgICAgICAgICAgICAgICAgICAgICAgLy8gcGFkZGluZy1yaWdodDogY2FsYygoMTAwdncgLSAxMjAwcHgpLzIpO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgLnNpZGViYXIge1xuICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgICAgIGZsb2F0OiBsZWZ0O1xuICAgICAgICAgICAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgICAgICAgICAgICAgei1pbmRleDogMjtcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiR0ZXJ0aWFyeTtcbiAgICAgICAgICAgICAgICBhc2lkZSB7XG4gICAgICAgICAgICAgICAgICAgIHBhZGRpbmc6IDYwcHggMCAwIDUwcHg7XG4gICAgICAgICAgICAgICAgICAgIGg1IHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgICAgICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDE1cHg7XG4gICAgICAgICAgICAgICAgICAgICAgICBmb250LXNpemU6MjRweDtcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbG9yOiRka2dyYXk7XG4gICAgICAgICAgICAgICAgICAgICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgICAgICAgICAgICAgICAgICAgICAgbGV0dGVyLXNwYWNpbmc6IGluaXRpYWw7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgdWwge1xuICAgICAgICAgICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogNDVweDtcbiAgICAgICAgICAgICAgICAgICAgICAgIGxpc3Qtc3R5bGU6IG5vbmU7XG4gICAgICAgICAgICAgICAgICAgICAgICBsaSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMTBweDtcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICBhIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBtZWRpYSgkZGVza3RvcCkge1xuICAgICAgICAgICAgICAgICAgICB3aWR0aDogMzIuMiU7XG4gICAgICAgICAgICAgICAgICAgIG1pbi1oZWlnaHQ6IDEwMCU7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIEBpbmNsdWRlIG1lZGlhKCR0YWJsZXQtb25seSkge1xuICAgICAgICAgICAgICAgICAgICB3aWR0aDogMzIuMiU7XG4gICAgICAgICAgICAgICAgICAgIG1pbi1oZWlnaHQ6IDEwMCU7XG4gICAgICAgICAgICAgICAgICAgIGFzaWRlIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHBhZGRpbmc6IDIwcHg7XG4gICAgICAgICAgICAgICAgICAgICAgICB1bCB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMzVweDtcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBtZWRpYSgkbW9iaWxlLW9ubHkpIHtcbiAgICAgICAgICAgICAgICAgICAgYXNpZGUge1xuICAgICAgICAgICAgICAgICAgICAgICAgcGFkZGluZzogMTBweDtcbiAgICAgICAgICAgICAgICAgICAgICAgIHVsIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAyNXB4O1xuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxufVxuXG5cbi5zaW5nbGVfbmV3c19yZWxhdGVkX2NvbnRlbnQge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIFxuICAgIEBpbmNsdWRlIG1lZGlhKCRtb2JpbGUtb25seSkge1xuICAgICAgICBwYWRkaW5nOjA7XG4gICAgfVxuICAgIFxuICAgIEBpbmNsdWRlIG1lZGlhKCRkZXNrdG9wKSB7XG4gICAgICAgIHBhZGRpbmctcmlnaHQ6IDg1cHg7XG4gICAgICAgIHBhZGRpbmctbGVmdDogMTQwcHg7XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgbWVkaWEoJGh1Z2UpIHtcbiAgICAgICAgcGFkZGluZy1sZWZ0OiBjYWxjKCgxMDB2dyAtIDEyMDBweCkvMiArIDEyMHB4KTtcbiAgICAgICAgcGFkZGluZy1yaWdodDogMTI1cHg7XG4gICAgfVxuICAgIC5zaW5nbGVfbmV3c19yZWxhdGVkX3RpdGxlIHtcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICBoNCB7XG4gICAgICAgICAgICBjb2xvcjokZGtncmF5O1xuICAgICAgICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OjYwMDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5zaW5nbGVfbmV3c19yZWxhdGVkX2NvbnRlbnRfd3JhcHBlciB7XG4gICAgICAgIHBhZGRpbmc6IDAgMTBweDtcbiAgICAgICAgcGFkZGluZy1ib3R0b206MTBweDtcblxuXG4gICAgICAgIEBpbmNsdWRlIGNsZWFyZml4O1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgICAgIHdpZHRoOiA4NSU7XG5cbiAgICAgICAgJl9iYWNrZ3JvdW5kIHtcbiAgICAgICAgICAgIG1pbi1oZWlnaHQ6IDIwMHB4O1xuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICBAaW5jbHVkZSBiYWNrZ3JvdW5kLWNvdmVyO1xuICAgICAgICB9XG5cbiAgICAgICAgQGluY2x1ZGUgbWVkaWEoJGRlc2t0b3ApIHtcbiAgICAgICAgICAgIHdpZHRoOjUwJTtcbiAgICAgICAgICAgIGZsb2F0OmxlZnQ7XG4gICAgICAgICAgICBwYWRkaW5nOjEwcHg7XG4gICAgICAgIH1cbiAgICAgICAgcCB7XG4gICAgICAgICAgICBjb2xvcjokcHJpbWFyeTtcbiAgICAgICAgICAgIG1hcmdpbjowO1xuICAgICAgICAgICAgZm9udC13ZWlnaHQ6NDAwO1xuICAgICAgICB9XG5cbiAgICAgICAgYSB7XG4gICAgICAgICAgICBmb250LXNpemU6MjRweDtcbiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OjcwMDtcbiAgICAgICAgICAgIGNvbG9yOiRka2dyYXk7XG4gICAgICAgICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgICAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgICAgICB9XG4gICAgfVxufSIsIi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuLy9cbi8vIFFVT1RFXG4vL1xuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG5cbi8qIFF1b3RlICovXG4ucXVvdGUtcHJpbWFyeSB7XG4gICAgYmFja2dyb3VuZDogJHByaW1hcnk7XG59XG5cbi5xdW90ZS1zZWNvbmRhcnkge1xuICAgIGJhY2tncm91bmQ6ICRka2dyYXk7XG59XG5cbi5xdW90ZSAqIHtcbiAgICBjb2xvcjogJHdoaXRlO1xufVxuXG4ubW9kdWxlV3JhcHBlciAucXVvdGUge1xuXHRwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgQGluY2x1ZGUgY2xlYXJmaXg7XG5cblx0Jl9jb250YWluZXIge1xuICAgICAgICBAaW5jbHVkZSBjbGVhcmZpeDtcbiAgICAgICAgbWF4LXdpZHRoOiAxNDAwcHg7XG4gICAgICAgIG1hcmdpbjogYXV0bztcbiAgICAgICAgJl93cmFwcGVyIHtcblx0XHRcdHRleHQtYWxpZ246Y2VudGVyO1xuXHQgICAgICAgIG1hcmdpbjogMCBhdXRvO1xuXHQgICAgICAgIHBhZGRpbmc6IDYwcHggNjBweCAyNXB4IDYwcHg7XG5cdCAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuXHQgICAgICAgIEBpbmNsdWRlIGNsZWFyZml4O1xuXG5cdCAgICAgICAgJl90ZXh0IHtcblx0ICAgICAgICBcdHF1b3RlczogXCLigJxcIiBcIuKAnVwiO1xuXHRcdFx0XHQmOmJlZm9yZSB7XG5cdFx0XHRcdFx0Y29udGVudDogb3Blbi1xdW90ZTtcblx0XHRcdFx0fVxuXHRcdFx0XHQmOmFmdGVyICB7XG5cdFx0XHRcdFx0Y29udGVudDogY2xvc2UtcXVvdGU7XG5cdFx0XHRcdH1cblx0ICAgICAgICB9XG5cdCAgICAgICAgJl9hdHRyaWJ1dGlvbiB7XG5cdFx0XHRcdHRleHQtYWxpZ246IGNlbnRlcjtcblx0XHRcdFx0bWFyZ2luOiAwIGF1dG87XG5cdFx0XHRcdGZvbnQtc3R5bGU6IG5vcm1hbDtcblx0ICAgICAgICBcdGltZyB7XG5cdCAgICAgICAgXHRcdHdpZHRoOiA3NXB4O1xuXHQgICAgICAgIFx0XHRoZWlnaHQ6IDc1cHg7XG5cdCAgICAgICAgXHRcdGJvcmRlci1yYWRpdXM6IDUwJTtcblx0ICAgICAgICBcdFx0dmVydGljYWwtYWxpZ246IG1pZGRsZTtcblx0ICAgICAgICBcdFx0ZGlzcGxheTogaW5saW5lLWJsb2NrO1xuXHQgICAgICAgIFx0XHRtYXJnaW4tcmlnaHQ6IDEwcHg7XG5cdCAgICAgICAgXHR9XG5cdCAgICAgICAgfVxuXG5cdCAgICAgICAgQGluY2x1ZGUgbWVkaWEoJHRhYmxldC1vbmx5KSB7XG5cdCAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgICAgIHBhZGRpbmc6IDQwcHggMjBweDtcblx0ICAgICAgICAgICAgJl9hdHRyaWJ1dGlvbiB7XG5cdCAgICAgICAgXHRcdGltZyB7XG5cdFx0ICAgICAgICBcdFx0d2lkdGg6IDQ5cHg7XG5cdFx0ICAgICAgICBcdFx0aGVpZ2h0OiA0OXB4O1xuXHRcdCAgICAgICAgXHR9XG5cdCAgICAgICAgXHR9XG5cdCAgICAgICAgfVxuXG5cdCAgICAgICAgQGluY2x1ZGUgbWVkaWEoJG1vYmlsZS1vbmx5KSB7XG5cdCAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgICAgIHBhZGRpbmc6IDMwcHggMjBweDtcblx0ICAgICAgICAgICAgJl9hdHRyaWJ1dGlvbiB7XG5cdCAgICAgICAgXHRcdGltZyB7XG5cdCAgICAgICAgXHRcdFx0ZGlzcGxheTogYmxvY2s7XG5cdFx0ICAgICAgICBcdFx0d2lkdGg6IDQwcHg7XG5cdFx0ICAgICAgICBcdFx0aGVpZ2h0OiA0MHB4O1xuXHRcdCAgICAgICAgXHRcdG1hcmdpbjogNnB4IGF1dG87XG5cdFx0ICAgICAgICBcdH1cblx0ICAgICAgICBcdH1cblx0ICAgICAgICB9XG5cdCAgICB9XG4gICAgfVxufVxuIiwiLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG4vL1xuLy8gVElUTEVcbi8vXG4vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cblxuLm1vZHVsZVdyYXBwZXIgLnRpdGxlIHtcblx0LnRpdGxlX3dyYXBwZXIge1xuXHRcdG1hcmdpbjogMCBhdXRvO1xuXHRcdHBhZGRpbmc6IDYwcHggMTAwcHggMzBweCAxMDBweDtcblx0XHRtYXgtd2lkdGg6IDE0MDA7XG5cdFx0dGV4dC1hbGlnbjogY2VudGVyO1xuXG5cdFx0QGluY2x1ZGUgbWVkaWEoJHBvcnRhYmxlcykge1xuXHRcdFx0cGFkZGluZzogMzBweCAyMHB4IDEwcHggMjBweDtcblx0XHR9XG5cdFx0QGluY2x1ZGUgbWVkaWEoJG1vYmlsZS1vbmx5KSB7XG5cdFx0XHRwYWRkaW5nOiAyMHB4IDEwcHggMTBweCAxMHB4O1xuXHRcdH1cblxuXHRcdEBpbmNsdWRlIG1lZGlhKCRkZXNrdG9wKSB7XG5cdFx0XHRtYXgtd2lkdGg6IDEyMDBweDtcblx0XHRcdG1hcmdpbjogMCBhdXRvO1xuXHRcdH0gXG5cblx0XHQmX3RleHQge1xuXHRcdFx0bWFyZ2luLWJvdHRvbTogMDtcblx0XHR9XG5cdH1cbn1cblxuLmhvbWUgLmhlcm8gKyAubW9kdWxlV3JhcHBlci10aXRsZSB7XG4gICAgbWFyZ2luOiAwIGF1dG87XG4gICAgbWFyZ2luLXRvcDogLTEwMHB4O1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIHdpZHRoOiA4NSU7XG4gICAgYmFja2dyb3VuZDogJHdoaXRlO1xuICAgIGJveC1zaGFkb3c6MHB4IDBweCA3cHggcmdiYSgwLDAsMCwwLjMyKTtcbiAgICBcbn1cbi5ob21lIC5oZXJvICsgLm1vZHVsZVdyYXBwZXItdGl0bGUgLnRpdGxlX3dyYXBwZXIge1xuICAgIHBhZGRpbmc6MzBweCAxMTBweDtcbiAgICBAaW5jbHVkZSBtZWRpYSgkbW9iaWxlLW9ubHkpIHtcbiAgICBcdHBhZGRpbmc6MjBweDtcbiAgICB9XG59IiwiLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG4vL1xuLy8gVHdvIEltYWdlIFRleHQgQm94XG4vL1xuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG5cbi5tb2R1bGVXcmFwcGVyIC50d29JbWFnZVRleHRCb3gge1xuXHRwb3NpdGlvbjogcmVsYXRpdmU7XG5cdC8vIG1hcmdpbi1ib3R0b206MjBweDtcblx0Jl9zaW5nbGUge1xuXG5cdFx0Jl9pdGVtIHtcblx0XHRcdHBvc2l0aW9uOiByZWxhdGl2ZTtcblx0XHRcdGRpc3BsYXk6IGJsb2NrO1xuXHRcdFx0cGFkZGluZzoyMHB4O1xuXHRcdFx0QGluY2x1ZGUgbWVkaWEoJGRlc2t0b3ApIHtcblx0XHRcdFx0ZGlzcGxheTogZmxleDtcblx0XHRcdH1cblx0XHRcdCY6YWZ0ZXIge1xuXHRcdFx0XHRjb250ZW50OiBcIiBcIjtcblx0XHRcdFx0ZGlzcGxheTogbm9uZTtcblx0XHRcdFx0cGFkZGluZy1ib3R0b206IDQ4JTtcblx0XHRcdFx0QGluY2x1ZGUgbWVkaWEoJGRlc2t0b3ApIHtcblx0XHRcdFx0XHRkaXNwbGF5OiBibG9jaztcblx0XHRcdFx0fVxuXHRcdFx0fVxuXHRcdFx0Jl9pbWFnZSB7XG5cdFx0XHRcdGRpc3BsYXk6IG5vbmU7XG5cdFx0XHRcdG1hcmdpbjowO1xuXHRcdFx0XHR3aWR0aDo1MCU7XG5cdFx0XHRcdG1pbi1oZWlnaHQ6ODgwcHg7XG5cdFx0XHRcdGJhY2tncm91bmQtc2l6ZTpjb3Zlcjtcblx0XHRcdFx0QGluY2x1ZGUgbWVkaWEoJGRlc2t0b3ApIHtcblx0XHRcdFx0XHRkaXNwbGF5OiBibG9jaztcblx0XHRcdFx0XHRtYXJnaW4tcmlnaHQ6MTBweDtcblx0XHRcdFx0fVxuXHRcdFx0XHRpbWcge1xuXHRcdFx0XHRcdHdpZHRoOiAxMDAlO1xuXHRcdFx0XHR9XG5cdFx0XHR9XG5cdFx0XHQmX2NvbnRlbnQge1xuXHRcdFx0XHR3aWR0aDoxMDAlO1xuXHRcdFx0XHRtYXJnaW4tbGVmdDowO1xuXHRcdFx0XHRwYWRkaW5nLWJvdHRvbToyMHB4O1xuXHRcdFx0XHRib3JkZXItYm90dG9tOjIwcHggc29saWQgJHByaW1hcnk7XG5cblx0XHRcdFx0QGluY2x1ZGUgbWVkaWEoJGRlc2t0b3ApIHtcblx0XHRcdFx0XHR3aWR0aDo1MCU7XG5cdFx0XHRcdFx0bWFyZ2luLWxlZnQ6MTBweDtcblx0XHRcdFx0fVxuXHRcdFx0XHQmID4gaW1nIHtcblx0XHRcdFx0XHR3aWR0aDoxMDAlO1xuXHRcdFx0XHR9XG5cblx0XHRcdFx0aDMge1xuXHRcdFx0XHRcdG1hcmdpbjoyNXB4IDA7XG5cdFx0XHRcdFx0Y29sb3I6JHByaW1hcnk7XG5cdFx0XHRcdH1cblxuXHRcdFx0XHRwIHtcblx0XHRcdFx0XHRtYXgtd2lkdGg6NjAwcHg7XG5cdFx0XHRcdFx0cGFkZGluZy1yaWdodDoxMHB4O1xuXHRcdFx0XHR9XG5cblx0XHRcdFx0LmJ1dHRvbiB7XG5cdFx0XHRcdFx0bWFyZ2luOjIwcHggMDtcblx0XHRcdFx0fVxuXHRcdFx0fVxuXHRcdH1cblx0fVxufVxuIiwiLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG4vL1xuLy8gVklERU9cbi8vXG4vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cblxuLyogVmlkZW8gKi9cbi52aWRlb01vZHVsZV9iYWNrZ3JvdW5kLXByaW1hcnk6YWZ0ZXIge1xuICAgIGJhY2tncm91bmQ6ICRwcmltYXJ5O1xufVxuXG4udmlkZW9Nb2R1bGVfYmFja2dyb3VuZC1zZWNvbmRhcnk6YWZ0ZXIge1xuICAgIGJhY2tncm91bmQ6ICRka2dyYXk7XG59XG5cbi52aWRlb01vZHVsZV93cmFwcGVyX2NvbnRlbnQgKiB7XG4gICAgY29sb3I6ICR3aGl0ZTtcbiAgICB0ZXh0LXRyYW5zZm9ybTogaW5pdGlhbDtcbn1cblxuLm1vZHVsZVdyYXBwZXIgLnZpZGVvTW9kdWxlIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgQGluY2x1ZGUgY2xlYXJmaXg7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgQGluY2x1ZGUgZGlzcGxheSggZmxleCApO1xuXG5cbiAgICAmX2JhY2tncm91bmQge1xuICAgICAgICBAaW5jbHVkZSBhYnNvbHV0ZS1zaXplO1xuICAgICAgICBAaW5jbHVkZSBiYWNrZ3JvdW5kLWNvdmVyO1xuXG4gICAgICAgICY6YWZ0ZXIge1xuICAgICAgICAgICAgQGluY2x1ZGUgYWJzb2x1dGUtc2l6ZTtcbiAgICAgICAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgICAgICAgb3BhY2l0eTogMC44O1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgJl93cmFwcGVyIHtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICB3aWR0aDogMTAwJTtcblxuICAgICAgICAmX3ZpZGVvUGxheWVyIHtcbiAgICAgICAgICAgIHBhZGRpbmc6IDcwcHggNjBweCA3MHB4IDEwMHB4O1xuICAgICAgICAgICAgd2lkdGg6IDYwLjElO1xuICAgICAgICAgICAgZmxvYXQ6IGxlZnQ7XG4gICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7ICBcbiAgICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjsgIFxuXG4gICAgICAgICAgICAmX3ZpZGVvIHtcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBib3gtc2hhZG93MTtcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYmxhY2s7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICZfZW1iZWQge1xuICAgICAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgICAgICAgICBwYWRkaW5nLWJvdHRvbTogNTYuMjUlOyAvKiAxNjo5ICovXG4gICAgICAgICAgICAgICAgcGFkZGluZy10b3A6IDI1cHg7XG4gICAgICAgICAgICAgICAgaGVpZ2h0OiAwO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgJl9lbWJlZCBpZnJhbWUge1xuICAgICAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgICAgICB0b3A6IDA7XG4gICAgICAgICAgICAgICAgbGVmdDogMDtcbiAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAmX2NvbnRlbnQge1xuICAgICAgICAgICAgd2lkdGg6IDM5LjklO1xuICAgICAgICAgICAgZmxvYXQ6IHJpZ2h0O1xuICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICAgICAgcGFkZGluZzogNzBweCAxMDBweCA3MHB4IDBweDtcbiAgICAgICAgICAgIGgze1xuICAgICAgICAgICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgIEBpbmNsdWRlIG1lZGlhKCRwb3J0YWJsZXMpIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICZfdmlkZW9QbGF5ZXIge1xuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICBwYWRkaW5nOiAzMHB4IDIwcHg7XG4gICAgICAgIH1cbiAgICAgICAgJl9jb250ZW50IHtcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgcGFkZGluZzogMzBweCAyMHB4O1xuICAgICAgICB9XG4gICAgfVxuICAgIEBpbmNsdWRlIG1lZGlhKCRtb2JpbGUtb25seSkge1xuICAgICAgICAmX3ZpZGVvUGxheWVyIHtcbiAgICAgICAgICAgIHBhZGRpbmc6IDIwcHggMTBweDtcbiAgICAgICAgfVxuICAgICAgICAmX2NvbnRlbnQge1xuICAgICAgICAgICAgcGFkZGluZzogMjBweCAxMHB4O1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgfVxuXG5cbn1cbi5tb2R1bGVXcmFwcGVyIHtcbiAgICAudmlkZW8ge1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cbiAgICAgICAgJl9jb250cm9sIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIGFic29sdXRlLXNpemU7XG4gICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgIEBpbmNsdWRlIHRyaWFuZ2xlKDEwMHB4LCByaWdodCwgd2hpdGUsIGFmdGVyKTtcblxuXG4gICAgICAgICAgICAmOmFmdGVyIHtcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSB0cmFuc2Zvcm0oIHRyYW5zbGF0ZSgtNTAlLCAtNTAlKSBzY2FsZSgwLjUpICk7XG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgdHJhbnNpdGlvbiggb3BhY2l0eSAwLjJzICk7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogdG9wIGxlZnQ7XG4gICAgICAgICAgICAgICAgY29udGVudDogJyc7XG4gICAgICAgICAgICAgICAgbGVmdDogNTAlO1xuICAgICAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgICAgICB0b3A6IDUwJTtcblxuICAgICAgICAgICAgICAgIC52aWRlby1wbGF5aW5nICYge1xuICAgICAgICAgICAgICAgICAgICBvcGFjaXR5OiAwO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgc3BhbiB7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgICZfcGxheWVyIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgaGVpZ2h0OiBhdXRvO1xuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIH1cblxuICAgICAgICBAaW5jbHVkZSBtZWRpYSgkZGVza3RvcCkge1xuICAgICAgICAgICAgXG4gICAgICAgICAgICAmX2NvbnRyb2wge1xuXG4gICAgICAgICAgICAgICAgJjphZnRlciB7XG4gICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIHRyYW5zZm9ybSggdHJhbnNsYXRlKC01MCUsIC01MCUpICk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxufSIsIi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuLy9cbi8vIFdZU0lXWUdcbi8vXG4vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cblxuLm1vZHVsZVdyYXBwZXIgLnd5c2l3eWcge1xuICAgIGJhY2tncm91bmQ6JHRlcnRpYXJ5O1xuICAgIHBhZGRpbmc6IDIwcHggMjBweCAwIDIwcHg7XG5cbiAgICAmX3dyYXBwZXIge1xuICAgICAgICBtYXJnaW46IGF1dG87XG4gICAgICAgIG1heC13aWR0aDogOTAwcHg7XG5cbiAgICAgICAgLmFsaWdubm9uZSwgLmFsaWduY2VudGVyLCAuYWxpZ25sZWZ0LCAuYWxpZ25yaWdodCB7XG4gICAgICAgICAgICBwYWRkaW5nOiAxMHB4IDA7XG4gICAgICAgIH1cblxuICAgICAgICAuYWxpZ25ub25lLCAuYWxpZ25jZW50ZXIge1xuICAgICAgICAgICAgbWFyZ2luOiBhdXRvO1xuICAgICAgICAgICAgd2lkdGg6IGF1dG87XG4gICAgICAgIH1cblxuICAgICAgICBociB7XG4gICAgICAgICAgICBtYXJnaW46IDMwcHggMDtcbiAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIEBpbmNsdWRlIG1lZGlhKCRtb2JpbGUtb25seSkge1xuICAgICAgICBwYWRkaW5nOiAzMHB4IDEwcHg7XG5cbiAgICAgICAgLmFsaWdubGVmdCwgLmFsaWducmlnaHQsIC5hbGlnbm5vbmUsIC5hbGlnbmNlbnRlciB7XG4gICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgbWFyZ2luOiAxNXB4IDA7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBAaW5jbHVkZSBtZWRpYSgkdGFibGV0KSB7XG4gICAgICAgIEBpbmNsdWRlIGNsZWFyZml4O1xuICAgICAgICBwYWRkaW5nOiA0MHB4IDIwcHg7XG5cbiAgICAgICAgJl93cmFwcGVyIHtcbiAgICAgICAgICAgIC5hbGlnbmxlZnQsIC5hbGlnbnJpZ2h0IHtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgICAgICAgICAgbWF4LXdpZHRoOiA0OTBweDtcbiAgICAgICAgICAgICAgICB3aWR0aDogNTAlO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAuYWxpZ25ub25lLCAuYWxpZ25jZW50ZXIge1xuICAgICAgICAgICAgICAgIHBhZGRpbmc6IDI1cHggMDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIC5hbGlnbmxlZnQge1xuICAgICAgICAgICAgICAgIGZsb2F0OiBsZWZ0O1xuICAgICAgICAgICAgICAgIG1hcmdpbjogNXB4IDIwcHggNXB4IDA7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICAuYWxpZ25yaWdodCB7XG4gICAgICAgICAgICAgICAgZmxvYXQ6IHJpZ2h0O1xuICAgICAgICAgICAgICAgIG1hcmdpbjogNXB4IDAgNXB4IDIwcHg7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIHVsIHtcbiAgICAgICAgICAgICAgICBwYWRkaW5nLWxlZnQ6IDIwcHg7XG5cbiAgICAgICAgICAgICAgICBsaSB7XG4gICAgICAgICAgICAgICAgICAgIGxpc3Qtc3R5bGUtcG9zaXRpb246IG91dHNpZGU7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgbWVkaWEoJGRlc2t0b3ApIHtcbiAgICAgICAgcGFkZGluZzogNTBweCAxMzBweDtcblxuICAgICAgICAmX3dyYXBwZXIge1xuICAgICAgICAgICAgcGFkZGluZzogIDA7XG5cbiAgICAgICAgICAgIC5hbGlnbmxlZnQge1xuICAgICAgICAgICAgICAgIHdpZHRoOiAzMDBweDtcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSB0cmFuc2Zvcm0oIHRyYW5zbGF0ZVgoLTkwcHgpICk7XG4gICAgICAgICAgICAgICAgbWFyZ2luOiAwIC02MHB4IDAgMDtcbiAgICAgICAgICAgICAgICBwYWRkaW5nOiAzMHB4IDA7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC5hbGlnbnJpZ2h0IHtcbiAgICAgICAgICAgICAgICB3aWR0aDogMzAwcHg7XG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgdHJhbnNmb3JtKCB0cmFuc2xhdGVYKDkwcHgpICk7XG4gICAgICAgICAgICAgICAgbWFyZ2luOiAwIDAgMCAtNjBweDtcbiAgICAgICAgICAgICAgICBwYWRkaW5nOiAzMHB4IDA7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC5hbGlnbm5vbmUsIC5hbGlnbmNlbnRlciB7XG4gICAgICAgICAgICAgICAgd2lkdGg6IGNhbGMoMTAwJSArIDYwcHgpO1xuICAgICAgICAgICAgICAgIG1heC13aWR0aDogbm9uZTtcbiAgICAgICAgICAgICAgICBwYWRkaW5nOiAzMHB4IDA7XG4gICAgICAgICAgICAgICAgbGVmdDogLTMwcHg7XG4gICAgICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBociB7XG4gICAgICAgICAgICAgICAgd2lkdGg6IGNhbGMoMTAwJSArIDEyMHB4KTtcbiAgICAgICAgICAgICAgICBsZWZ0OiAtNjBweDtcbiAgICAgICAgICAgICAgICBtYXJnaW46IDQwcHggMDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbn1cblxudGFibGUge1xuICBtYXJnaW46IDAgYXV0bztcbiAgd2lkdGg6IDEwMCU7XG4gIGJvcmRlci1jb2xsYXBzZTogc2VwYXJhdGU7XG4gIGJvcmRlci1zcGFjaW5nOiAzcHggMHB4O1xuICB0Ym9keSB7XG4gICAgdHIge1xuICAgICAgYmFja2dyb3VuZDojREREREREO1xuICAgICAgJjpudGgtY2hpbGQob2RkKSB7XG4gICAgICAgIGJhY2tncm91bmQ6IzlCOUI5QjtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICB0aGVhZCB7XG4gICAgdGV4dC1hbGlnbjpsZWZ0O1xuICAgIHRyIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICRwcmltYXJ5O1xuICAgIH1cbiAgfVxuXG4gIHRoIHtcbiAgICBwYWRkaW5nOiAzMHB4IDI1cHggMjBweDtcbiAgICBjb2xvcjokd2hpdGU7XG4gICAgZm9udC1zaXplOjI0cHg7XG4gIH1cblxuICB0ZCB7XG4gICAgcGFkZGluZzogMTBweCAyNXB4O1xuICAgIGNvbG9yOiRka2dyYXk7XG4gICAgZm9udC1zaXplOjI0cHg7XG4gIH1cbn0iLCIvLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cbi8vXG4vLyBCT0RZXG4vL1xuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG5cbi5ib2R5IHtcbiAgICAmLWhlYWRlckFjdGl2ZSwgJi1tb2RhbEFjdGl2ZSB7XG4gICAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICAgIH1cbn1cbiIsIi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuLy9cbi8vIE1BSU4gTUVOVVxuLy9cbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuXG4uaGVhZGVyTWVudSB7XG4gICAgQGluY2x1ZGUgdHJhbnNpdGlvbiggb3BhY2l0eSAwLjJzICk7XG4gICAgbGlzdC1zdHlsZTogbm9uZTtcbiAgICBwYWRkaW5nLXRvcDogNjBweDtcbiAgICBwb3NpdGlvbjogZml4ZWQ7XG5cbiAgICBhIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIC8vICtvcHRpb246IGZvbnQtZmFtaWx5ID0gZm9udF9mYW1pbHlfaGVhZGVyXG4gICAgICAgIGZvbnQtc2l6ZTogMTZweDtcbiAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgIH1cblxuICAgICZfc2luZ2xlIHtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gICAgICAgICZfbGluayB7XG4gICAgICAgICAgICBAaW5jbHVkZSB0cmFuc2l0aW9uKCBhbGwgMC4zNXMgZWFzZS1pbi1vdXQpO1xuICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICAgICAgei1pbmRleDogMjtcblxuICAgICAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgdHJhbnNpdGlvbiggYWxsIDAuMzVzIGVhc2UtaW4tb3V0KTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgXG4gICAgICAgICAgICAmOmFmdGVyIHtcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBpY29uKCRpY29uLWFycm93LWRvd24pO1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuXG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgdHJhbnNpdGlvbihhbGwgMC4zcyk7XG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgdHJhbnNmb3JtLW9yaWdpbihjZW50ZXIgNDAlKTtcblxuICAgICAgICAgICAgICAgIC5oZWFkZXJNZW51X3NpbmdsZS1tZW51ICYge1xuICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAmLmhlYWRlck1lbnVfc2luZ2xlX2xpbmstYWN0aXZlOmFmdGVyIHtcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSB0cmFuc2Zvcm0ocm90YXRlKDE4MGRlZykpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgJi1tZW51IHtcbiAgICAgICAgICAgIGN1cnNvcjogZGVmYXVsdDtcbiAgICAgICAgfVxuXG4gICAgICAgICZfbWVudSB7XG4gICAgICAgICAgICBAaW5jbHVkZSB0cmFuc2l0aW9uKCBhbGwgMC4zNXMgZWFzZS1pbi1vdXQpO1xuICAgICAgICAgICAgei1pbmRleDogMTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC8vIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDE0MzlweCkge1xuICAgIEBpbmNsdWRlIG1lZGlhKCRwb3J0YWJsZXMpIHtcbiAgICAgICAgbGVmdDogMDtcbiAgICAgICAgb3BhY2l0eTogMDtcbiAgICAgICAgb3ZlcmZsb3cteTogYXV0bztcbiAgICAgICAgdG9wOiAxMTBweDtcbiAgICAgICAgcGFkZGluZzowO1xuICAgICAgICBib3R0b206IDA7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICB6LWluZGV4OiAtOTg7XG4gICAgICAgIGJhY2tncm91bmQ6JHdoaXRlO1xuXG4gICAgICAgIGEge1xuICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDUwcHg7XG4gICAgICAgIH1cblxuICAgICAgICAmX3NpbmdsZSB7XG5cbiAgICAgICAgICAgICZfbGluayB7XG4gICAgICAgICAgICAgICAgcGFkZGluZzogMCAxNXB4O1xuXG4gICAgICAgICAgICAgICAgJjphZnRlciB7XG4gICAgICAgICAgICAgICAgICAgIHJpZ2h0OiAyMHB4O1xuICAgICAgICAgICAgICAgICAgICB0b3A6IDE3cHg7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAmX21lbnUge1xuXG5cbiAgICAgICAgICAgICAgICAmX2xpbmsge1xuICAgICAgICAgICAgICAgICAgICBib3JkZXItdG9wOiAxcHggc29saWQgdHJhbnNwYXJlbnRpemUoJGJsYWNrLCAwLjkpO1xuICAgICAgICAgICAgICAgICAgICBwYWRkaW5nOiAwIDE1cHggMCA0NXB4O1xuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICYtYWN0aXZlIHtcbiAgICAgICAgICAgICAgICAgICAgbWF4LWhlaWdodDogMzAwMHB4O1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cblxuICAgICAgICB9XG5cbiAgICAgICAgLmJvZHktaGVhZGVyQWN0aXZlICYge1xuICAgICAgICAgICAgb3BhY2l0eTogMTtcbiAgICAgICAgICAgIHBvaW50ZXItZXZlbnRzOiBhbGw7XG4gICAgICAgICAgICB6LWluZGV4OiAxMDI7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBAaW5jbHVkZSBtZWRpYSgkZGVza3RvcCkge1xuICAgICAgICBAaW5jbHVkZSBjbGVhcmZpeDtcbiAgICAgICAgcGFkZGluZy10b3A6IDA7XG4gICAgICAgIHRvcDogMDtcbiAgICAgICAgcmlnaHQ6IDIwcHg7XG4gICAgICAgIHotaW5kZXg6IDIwMDtcblxuICAgICAgICBhIHtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMTJweDtcbiAgICAgICAgfVxuXG4gICAgICAgICZfc2luZ2xlIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgICAgIGZsb2F0OiBsZWZ0O1xuXG4gICAgICAgICAgICAmX2xpbmsge1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgICAgICAgICBwYWRkaW5nOiAyMHB4IDI2cHg7XG5cbiAgICAgICAgICAgICAgICAmOmZpcnN0LWNoaWxkIHtcbiAgICAgICAgICAgICAgICAgICAgcGFkZGluZy10b3A6IDc0cHg7XG4gICAgICAgICAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAxLjIzO1xuICAgICAgICAgICAgICAgICAgICBwYWRkaW5nLWJvdHRvbTogMjRweDtcbiAgICAgICAgICAgICAgICAgICAgZm9udC1zaXplOiAxOHB4O1xuICAgICAgICAgICAgICAgICAgICBmb250LXdlaWdodDogNzAwO1xuICAgICAgICAgICAgICAgICAgICBsZXR0ZXItc3BhY2luZzogMC4wMDE1ZW07XG4gICAgICAgICAgICAgICAgICAgIGNvbG9yOiR3aGl0ZTtcbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAmOmFmdGVyIHtcbiAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgdHJhbnNmb3JtKCB0cmFuc2xhdGVYKC01MCUpICk7XG4gICAgICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMTBweDtcbiAgICAgICAgICAgICAgICAgICAgbGVmdDogNTAlO1xuICAgICAgICAgICAgICAgICAgICB0b3A6IGNhbGMoMTAwJSAtIDE1cHgpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAmLmhlYWRlck1lbnVfc2luZ2xlX2xpbmstYWN0aXZlOmFmdGVyIHtcbiAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgdHJhbnNmb3JtKHJvdGF0ZSgwZGVnKSk7XG4gICAgICAgICAgICAgICAgfSAgICAgICAgICAgICAgICBcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgJl9tZW51IHtcbiAgICAgICAgICAgICAgICBib3gtc2hhZG93OiAwIDEwcHggMjBweCAwcHggdHJhbnNwYXJlbnRpemUoJGJsYWNrLCAwLjcpO1xuICAgICAgICAgICAgICAgIC8vbGVmdDogLTIwcHg7XG4gICAgICAgICAgICAgICAgbGVmdDogMHB4O1xuICAgICAgICAgICAgICAgIG9wYWNpdHk6IDA7XG4gICAgICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICAgICAgICAgICAgICAgIHRvcDogMTAwJTtcbiAgICAgICAgICAgICAgICB3aWR0aDogMjcwcHg7XG4gICAgICAgICAgICAgICAgcGFkZGluZy10b3A6MTBweDtcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOnJnYmEoJGx0Z3JheSwgMC43NSk7XG5cbiAgICAgICAgICAgICAgICAvLyBNYXNrcyBib3ggc2hhZG93IGFib3ZlIG1lbnVcbiAgICAgICAgICAgICAgICAmOmFmdGVyIHtcbiAgICAgICAgICAgICAgICAgICAgLy8gK29wdGlvbjogYmFja2dyb3VuZCA9IGNvbG9yX2JhY2tncm91bmRfcHJpbWFyeTtcbiAgICAgICAgICAgICAgICAgICAgY29udGVudDogJyc7XG4gICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgICAgICAgICBoZWlnaHQ6IDI1cHg7XG4gICAgICAgICAgICAgICAgICAgIGxlZnQ6IC0yMHB4O1xuICAgICAgICAgICAgICAgICAgICBvcGFjaXR5OiAxO1xuICAgICAgICAgICAgICAgICAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgICAgICAgICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgICAgICAgICB0b3A6IC0yNXB4O1xuICAgICAgICAgICAgICAgICAgICB3aWR0aDogY2FsYygxMDAlICsgNDBweCk7XG4gICAgICAgICAgICAgICAgICAgIHotaW5kZXg6IDIwMjtcbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAuaGVhZGVyTWVudV9zaW5nbGVfbWVudS1hY3RpdmUgJiB7XG4gICAgICAgICAgICAgICAgICAgIG9wYWNpdHk6IDE7XG4gICAgICAgICAgICAgICAgICAgIHBvaW50ZXItZXZlbnRzOiBhbGw7XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgLmhlYWRlck1lbnVfc2luZ2xlX21lbnUtYWN0aXZlIHtcbiAgICAgICAgICAgICAgICAgICAgYSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICZfbGluayB7XG4gICAgICAgICAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAzNXB4O1xuICAgICAgICAgICAgICAgICAgICBwYWRkaW5nOiA1cHggMjBweDtcbiAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgICAgICAgICAgICAgZm9udC13ZWlnaHQ6NjAwO1xuICAgICAgICAgICAgICAgICAgICBjb2xvcjokZGtncmF5O1xuICAgICAgICAgICAgICAgICAgICBcbiAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgdHJhbnNpdGlvbihiYWNrZ3JvdW5kIDAuM3MpO1xuXG5cbiAgICAgICAgICAgICAgICAgICAgJjpudGgtY2hpbGQob2RkKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBwYWRkaW5nOiA1cHggMjBweDtcbiAgICAgICAgICAgICAgICAgICAgfVxuXG5cbiAgICAgICAgICAgICAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgICAgICAgICAgICAgICBwb3NpdGlvbjpyZWxhdGl2ZTtcbiAgICAgICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6IGRhcmtlbigkbHRncmF5LCA1JSk7XG4gICAgICAgICAgICAgICAgICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgY29udGVudDonJztcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBwb3NpdGlvbjphYnNvbHV0ZTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB0b3A6MDtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBsZWZ0OjA7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgd2lkdGg6NXB4O1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhlaWdodDoxMDAlO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6JHByaW1hcnk7XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAmLWFjdGl2ZSB7XG4gICAgICAgICAgICAgICAgICAgIG9wYWNpdHk6IDE7XG4gICAgICAgICAgICAgICAgICAgIHBvaW50ZXItZXZlbnRzOiBhbGw7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgbWVkaWEoJGh1Z2UpIHtcbiAgICAgICAgcmlnaHQ6IGNhbGMoKDEwMCUgLSAxNDAwcHgpIC8gMik7XG4gICAgICAgIHRvcDogMDtcblxuICAgICAgICBhIHtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMTZweDtcbiAgICAgICAgfVxuXG4gICAgICAgICZfc2luZ2xlIHtcblxuICAgICAgICAgICAgJl9saW5rIHtcbiAgICAgICAgICAgICAgICBwYWRkaW5nOiAyMHB4IDI2cHg7XG5cbiAgICAgICAgICAgICAgICAmOmZpcnN0LWNoaWxkIHtcbiAgICAgICAgICAgICAgICAgICAgcGFkZGluZy10b3A6IDc0cHg7XG4gICAgICAgICAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAxLjIzO1xuICAgICAgICAgICAgICAgICAgICBwYWRkaW5nLWJvdHRvbTogMjRweDtcbiAgICAgICAgICAgICAgICAgICAgZm9udC1zaXplOiAxOHB4O1xuICAgICAgICAgICAgICAgICAgICBmb250LXdlaWdodDogNzAwO1xuICAgICAgICAgICAgICAgICAgICBsZXR0ZXItc3BhY2luZzogMC4wMDE1ZW07XG4gICAgICAgICAgICAgICAgICAgIGNvbG9yOiR3aGl0ZTtcbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAmOmFmdGVyIHtcbiAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgdHJhbnNmb3JtKCB0cmFuc2xhdGVZKDJweCkgKTtcbiAgICAgICAgICAgICAgICAgICAgZm9udC1zaXplOiAxNnB4O1xuICAgICAgICAgICAgICAgICAgICBwb3NpdGlvbjogc3RhdGljO1xuICAgICAgICAgICAgICAgICAgICBwYWRkaW5nLWxlZnQ6IDE1cHg7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAmX21lbnUge1xuICAgICAgICAgICAgICAgIHRvcDogMTAwJTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbn1cblxuQGluY2x1ZGUgbWVkaWEoJHRhYmxldC1vbmx5KSB7XG4uaGVhZGVyTWVudV9zaW5nbGUtbWVudSAuaGVhZGVyTWVudV9zaW5nbGVfbGluazphZnRlciB7XG4gICAgZGlzcGxheTogbm9uZTtcbn1cbn1cbkBpbmNsdWRlIG1lZGlhKCRtb2JpbGUtb25seSkge1xuLmhlYWRlck1lbnVfc2luZ2xlLW1lbnUgLmhlYWRlck1lbnVfc2luZ2xlX2xpbms6YWZ0ZXIge1xuICAgIGRpc3BsYXk6IG5vbmU7XG59XG59IiwiLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG4vL1xuLy8gTUVOVSBTQ1JFRU5cbi8vIFByZXZlbnRzIG1vYmlsZSBTYWZhcmkgZnJvbSBzY3JvbGxpbmcgY29udGFpbmVyLlxuLy9cbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuXG4uaGVhZGVyU2NyZWVuIHtcbiAgICAvLyArb3B0aW9uOiBiYWNrZ3JvdW5kID0gY29sb3JfYmFja2dyb3VuZF9zZWNvbmRhcnlcbiAgICBAaW5jbHVkZSB0cmFuc2l0aW9uKCBhbGwgMC4ycyApO1xuICAgIGhlaWdodDogMHB4O1xuICAgIGxlZnQ6IDA7XG4gICAgb3BhY2l0eTogMDtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAwO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIHotaW5kZXg6IC05OTtcblxuICAgIC5ib2R5LWhlYWRlckFjdGl2ZSAmIHtcbiAgICAgICAgaGVpZ2h0OiA5OTk5OXB4O1xuICAgICAgICBvcGFjaXR5OiAxO1xuICAgICAgICBwb2ludGVyLWV2ZW50czogYWxsO1xuICAgICAgICB6LWluZGV4OiAxMDE7XG4gICAgfVxufVxuIiwiLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG4vL1xuLy8gSEVBREVSIFRPR0dMRVxuLy9cbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuLndoaXRlLWxvZ28ge1xuICAgICoge1xuICAgICAgICBmaWxsOiR3aGl0ZSAhaW1wb3J0YW50O1xuICAgIH1cbn1cblxuI3R3by1vY3RvYmVycy1sb2dvIHtcbiAgICBwYXRoLCBwb2x5Z29uIHtcbiAgICAgICAgdHJhbnNpdGlvbjogZmlsbCAwLjVzO1xuICAgIH1cbn1cblxuLmhlYWRlclRvZ2dsZSB7XG4gICAgQGluY2x1ZGUgdHJhbnNpdGlvbiggYWxsIDAuMnMgKTtcbiAgICAvLyArb3B0aW9uOiBiYWNrZ3JvdW5kID0gY29sb3JfYmFja2dyb3VuZF9wcmltYXJ5XG4gICAgbGVmdDogMDtcbiAgICBwb3NpdGlvbjogZml4ZWQ7XG4gICAgdG9wOiAwO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIHotaW5kZXg6IDEwMztcbiAgICBib3JkZXItYm90dG9tOjEwcHggc29saWQgdHJhbnNwYXJlbnQ7XG4gICAgJl9jb250YWluZXIge1xuXG4gICAgICAgICZfbG9nbyB7XG4gICAgICAgICAgICB0cmFuc2Zvcm06bm9uZTtcbiAgICAgICAgICAgIGxlZnQ6MDtcbiAgICAgICAgICAgIHRvcDowO1xuICAgICAgICAgICAgd2lkdGg6NTAlO1xuICAgICAgICAgICAgcG9zaXRpb246cmVsYXRpdmU7XG4gICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgIHBhZGRpbmc6IDEwcHg7XG4gICAgICAgICAgICBoZWlnaHQ6MTAwcHg7XG4gICAgICAgICAgICB0cmFuc2l0aW9uOiB3aWR0aCA1MDBtcyBlYXNlO1xuICAgICAgICAgICAgc3ZnIHtcbiAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBAaW5jbHVkZSBtZWRpYSgkZGVza3RvcCkge1xuICAgICAgICAgICAgICAgIEBpbmNsdWRlIHRyYW5zZm9ybSggdHJhbnNsYXRlWSgtNTAlKSApO1xuICAgICAgICAgICAgICAgIC8vaGVpZ2h0OiA0MHB4O1xuICAgICAgICAgICAgICAgIC8vIGhlaWdodDogNzAlO1xuICAgICAgICAgICAgICAgIGxlZnQ6IDE1cHg7XG4gICAgICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgICAgIHRvcDogNTAlO1xuICAgICAgICAgICAgICAgIHdpZHRoOjIzNXB4O1xuICAgICAgICAgICAgICAgIGhlaWdodDphdXRvO1xuICAgICAgICAgICAgICAgIHBhZGRpbmc6MDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgICZfdG9nZ2xlIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgICAgIGhlaWdodDogNTBweDtcbiAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgIFxuICAgICAgICAgICAgd2lkdGg6IDUwcHg7XG4gICAgICAgICAgICB6LWluZGV4OiAxMDM7XG4gICAgICAgICAgICByaWdodDoxNXB4O1xuICAgICAgICAgICAgdG9wOjUwJTtcbiAgICAgICAgICAgIHRyYW5zZm9ybTp0cmFuc2xhdGVZKC01MCUpO1xuICAgICAgICAgICAgQGluY2x1ZGUgbWVkaWEoJGRlc2t0b3ApIHtcbiAgICAgICAgICAgICAgICByaWdodDogN3B4O1xuICAgICAgICAgICAgICAgIHRvcDogNnB4O1xuICAgICAgICAgICAgICAgIHRyYW5zZm9ybTpub25lO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgJl9iYXJzLFxuICAgICAgICAgICAgJl9iYXJzOmFmdGVyLFxuICAgICAgICAgICAgJl9iYXJzOmJlZm9yZSB7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHdoaXRlO1xuICAgICAgICAgICAgICAgIGhlaWdodDogNHB4O1xuICAgICAgICAgICAgICAgIHdpZHRoOiAyNXB4O1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAmX2JhcnMge1xuICAgICAgICAgICAgICAgIEBpbmNsdWRlIHRyYW5zZm9ybSggdHJhbnNsYXRlWSgtNTAlKSApO1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgICAgIGxlZnQ6IDA7XG4gICAgICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICAgICAgICAgIG1hcmdpbjogMCBhdXRvO1xuICAgICAgICAgICAgICAgIHRvcDogNTAlO1xuXG4gICAgICAgICAgICAgICAgJjphZnRlcixcbiAgICAgICAgICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIHRyYW5zaXRpb24tZGVsYXkoIDAuMnMsIDAgKTtcbiAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgdHJhbnNpdGlvbi1kdXJhdGlvbiggMC4ycyApO1xuICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSB0cmFuc2l0aW9uLXByb3BlcnR5KCBtYXJnaW4sIHRyYW5zZm9ybSApO1xuICAgICAgICAgICAgICAgICAgICBjb250ZW50OiAnJztcbiAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAmOmFmdGVyIHtcbiAgICAgICAgICAgICAgICAgICAgbWFyZ2luLXRvcDogOHB4O1xuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICAgICAgICAgICAgbWFyZ2luLXRvcDogLThweDtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICY6aG92ZXIge1xuICAgICAgICAgICAgICAgIC5oZWFkZXJUb2dnbGVfdG9nZ2xlX2JhcnMge1xuICAgICAgICAgICAgICAgICAgICAmOmFmdGVyIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIHRyYW5zZm9ybSggdHJhbnNsYXRlWSgtMnB4KSApO1xuICAgICAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgdHJhbnNmb3JtKCB0cmFuc2xhdGVZKDJweCkgKTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5ib2R5LWhlYWRlckFjdGl2ZSAmIHtcbiAgICAgICAgYm94LXNoYWRvdzogbm9uZTtcbiAgICAgICAgcG9pbnRlci1ldmVudHM6IGFsbDtcblxuICAgICAgICAuaGVhZGVyVG9nZ2xlX2NvbnRhaW5lciB7XG5cbiAgICAgICAgICAgICZfdG9nZ2xlIHtcblxuICAgICAgICAgICAgICAgICZfYmFycywgJjpob3ZlciAuaGVhZGVyVG9nZ2xlX3RvZ2dsZV9iYXJzIHtcbiAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG5cbiAgICAgICAgICAgICAgICAgICAgJjpiZWZvcmUsICY6YWZ0ZXIge1xuICAgICAgICAgICAgICAgICAgICAgICAgLy8gK29wdGlvbjogYmFja2dyb3VuZCA9IGNvbG9yX3ByaW1hcnlcbiAgICAgICAgICAgICAgICAgICAgICAgIG1hcmdpbi10b3A6IDA7XG4gICAgICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSB0cmFuc2l0aW9uLWRlbGF5KDAsIDAuMnMpO1xuICAgICAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgdHJhbnNmb3JtKHJvdGF0ZSg0NWRlZykpO1xuICAgICAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAgICAgJjphZnRlciB7XG4gICAgICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSB0cmFuc2Zvcm0ocm90YXRlKC00NWRlZykpO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgLmJvZHktbW9kYWxBY3RpdmUgJiB7XG4gICAgICAgIG9wYWNpdHk6IDA7XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgbWVkaWEoJGRlc2t0b3ApIHtcbiAgICAgICAgaGVpZ2h0OiAxMzBweDtcbiAgICAgICAgcGFkZGluZzogMCAyMHB4O1xuICAgICAgICB0b3A6IDA7XG5cbiAgICAgICAgJl9jb250YWluZXIge1xuICAgICAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgICAgICAgbWFyZ2luOiBhdXRvO1xuICAgICAgICAgICAgbWF4LXdpZHRoOiAxNDAwcHg7XG4gICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cbiAgICAgICAgICAgICY6YWZ0ZXIge1xuICAgICAgICAgICAgICAgIEBpbmNsdWRlIHRyYW5zaXRpb24oIGFsbCAwLjVzICk7XG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgdHJhbnNmb3JtKCB0cmFuc2xhdGVZKC0xNTBweCkgKTtcbiAgICAgICAgICAgICAgICBib3gtc2hhZG93OiAwIDAgMjBweCAwIHJnYmEoMCwgMCwgMCwgMC4yNSk7XG4gICAgICAgICAgICAgICAgY29udGVudDogJyc7XG4gICAgICAgICAgICAgICAgcG9zaXRpb246IGZpeGVkO1xuICAgICAgICAgICAgICAgIHJpZ2h0OiAxMDJweDtcbiAgICAgICAgICAgICAgICB0b3A6IDA7XG4gICAgICAgICAgICAgICAgaGVpZ2h0OiA3NXB4O1xuICAgICAgICAgICAgICAgIHdpZHRoOiAxNjVweDtcbiAgICAgICAgICAgICAgICB6LWluZGV4OiAtMTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgJl90b2dnbGUge1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBAaW5jbHVkZSBtZWRpYSgkaHVnZSkge1xuICAgICAgICAmX2xvZ28ge1xuICAgICAgICAgICAgaGVpZ2h0OiA2MHB4O1xuICAgICAgICAgICAgbGVmdDogMDtcbiAgICAgICAgfVxuICAgIH1cbn1cblxuXG4uaGVhZGVyLXNjcm9sbGVkIHtcbiAgICBib3JkZXItY29sb3I6ICRwcmltYXJ5O1xuICAgIGJhY2tncm91bmQ6JHdoaXRlO1xuICAgIGhlaWdodDogMTAwcHggIWltcG9ydGFudDtcbiAgICAuaGVhZGVyVG9nZ2xlX2NvbnRhaW5lcl90b2dnbGVfYmFycyxcbiAgICAuaGVhZGVyVG9nZ2xlX2NvbnRhaW5lcl90b2dnbGVfYmFyczphZnRlcixcbiAgICAuaGVhZGVyVG9nZ2xlX2NvbnRhaW5lcl90b2dnbGVfYmFyczpiZWZvcmUge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYmxhY2s7XG4gICAgICAgIGhlaWdodDogNHB4O1xuICAgICAgICB3aWR0aDogMjVweDtcbiAgICB9XG5cbiAgICAuaGVhZGVyVG9nZ2xlX2NvbnRhaW5lcl9sb2dvIHtcbiAgICAgICAgd2lkdGg6IDE5NXB4O1xuICAgIH1cbn1cblxuLm5hdi1zY3JvbGxlZCB7XG4gICAgLmhlYWRlck1lbnVfc2luZ2xlX2xpbmsge1xuICAgICAgICBwYWRkaW5nLXRvcDogNDRweCAhaW1wb3J0YW50O1xuICAgICAgICAmOmZpcnN0LWNoaWxkIHtcbiAgICAgICAgICAgIGNvbG9yOiM1QzVDNUM7XG4gICAgICAgIH1cbiAgICB9XG59IiwiLyogU2xpZGVyICovXG5cbi5zbGljay1zbGlkZXIge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgIC13ZWJraXQtdG91Y2gtY2FsbG91dDogbm9uZTtcbiAgICAtd2Via2l0LXVzZXItc2VsZWN0OiBub25lO1xuICAgIC1raHRtbC11c2VyLXNlbGVjdDogbm9uZTtcbiAgICAtbW96LXVzZXItc2VsZWN0OiBub25lO1xuICAgIC1tcy11c2VyLXNlbGVjdDogbm9uZTtcbiAgICB1c2VyLXNlbGVjdDogbm9uZTtcbiAgICAtbXMtdG91Y2gtYWN0aW9uOiBwYW4teTtcbiAgICB0b3VjaC1hY3Rpb246IHBhbi15O1xuICAgIC13ZWJraXQtdGFwLWhpZ2hsaWdodC1jb2xvcjogdHJhbnNwYXJlbnQ7XG59XG4uc2xpY2stbGlzdCB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgbWFyZ2luOiAwO1xuICAgIHBhZGRpbmc6IDA7XG5cbiAgICAmOmZvY3VzIHtcbiAgICAgICAgb3V0bGluZTogbm9uZTtcbiAgICB9XG5cbiAgICAmLmRyYWdnaW5nIHtcbiAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgICAgICBjdXJzb3I6IGhhbmQ7XG4gICAgfVxufVxuLnNsaWNrLXNsaWRlciAuc2xpY2stdHJhY2ssXG4uc2xpY2stc2xpZGVyIC5zbGljay1saXN0IHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gICAgLW1vei10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICAgIC1tcy10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICAgIC1vLXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbn1cblxuLnNsaWNrLXRyYWNrIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgbGVmdDogMDtcbiAgICB0b3A6IDA7XG4gICAgZGlzcGxheTogYmxvY2s7XG5cbiAgICAmOmJlZm9yZSxcbiAgICAmOmFmdGVyIHtcbiAgICAgICAgY29udGVudDogXCJcIjtcbiAgICAgICAgZGlzcGxheTogdGFibGU7XG4gICAgfVxuXG4gICAgJjphZnRlciB7XG4gICAgICAgIGNsZWFyOiBib3RoO1xuICAgIH1cblxuICAgIC5zbGljay1sb2FkaW5nICYge1xuICAgICAgICB2aXNpYmlsaXR5OiBoaWRkZW47XG4gICAgfVxufVxuLnNsaWNrLXNsaWRlIHtcbiAgICBmbG9hdDogbGVmdDtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgbWluLWhlaWdodDogMXB4O1xuICAgIFtkaXI9XCJydGxcIl0gJiB7XG4gICAgICAgIGZsb2F0OiByaWdodDtcbiAgICB9XG4gICAgaW1nIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgfVxuICAgICYuc2xpY2stbG9hZGluZyBpbWcge1xuICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgIH1cblxuICAgIGRpc3BsYXk6IG5vbmU7XG5cbiAgICAmLmRyYWdnaW5nIGltZyB7XG4gICAgICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICAgIH1cblxuICAgIC5zbGljay1pbml0aWFsaXplZCAmIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgfVxuXG4gICAgLnNsaWNrLWxvYWRpbmcgJiB7XG4gICAgICAgIHZpc2liaWxpdHk6IGhpZGRlbjtcbiAgICB9XG5cbiAgICAuc2xpY2stdmVydGljYWwgJiB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICBoZWlnaHQ6IGF1dG87XG4gICAgICAgIGJvcmRlcjogMXB4IHNvbGlkIHRyYW5zcGFyZW50O1xuICAgIH1cbn1cbi5zbGljay1hcnJvdy5zbGljay1oaWRkZW4ge1xuICAgIGRpc3BsYXk6IG5vbmU7XG59XG4iLCJAY2hhcnNldCBcIlVURi04XCI7XG5cbi8vIERlZmF1bHQgVmFyaWFibGVzXG5cbi8vIFNsaWNrIGljb24gZW50aXR5IGNvZGVzIG91dHB1dHMgdGhlIGZvbGxvd2luZ1xuLy8gXCJcXDIxOTBcIiBvdXRwdXRzIGFzY2lpIGNoYXJhY3RlciBcIuKGkFwiXG4vLyBcIlxcMjE5MlwiIG91dHB1dHMgYXNjaWkgY2hhcmFjdGVyIFwi4oaSXCJcbi8vIFwiXFwyMDIyXCIgb3V0cHV0cyBhc2NpaSBjaGFyYWN0ZXIgXCLigKJcIlxuXG4kc2xpY2stZm9udC1wYXRoOiBcIi4vZm9udHMvXCIgIWRlZmF1bHQ7XG4kc2xpY2stZm9udC1mYW1pbHk6IFwic2xpY2tcIiAhZGVmYXVsdDtcbiRzbGljay1sb2FkZXItcGF0aDogXCIuL1wiICFkZWZhdWx0O1xuJHNsaWNrLWFycm93LWNvbG9yOiB3aGl0ZSAhZGVmYXVsdDtcbiRzbGljay1kb3QtY29sb3I6IGJsYWNrICFkZWZhdWx0O1xuJHNsaWNrLWRvdC1jb2xvci1hY3RpdmU6ICRzbGljay1kb3QtY29sb3IgIWRlZmF1bHQ7XG4kc2xpY2stcHJldi1jaGFyYWN0ZXI6IFwiXFwyMTkwXCIgIWRlZmF1bHQ7XG4kc2xpY2stbmV4dC1jaGFyYWN0ZXI6IFwiXFwyMTkyXCIgIWRlZmF1bHQ7XG4kc2xpY2stZG90LWNoYXJhY3RlcjogXCJcXDIwMjJcIiAhZGVmYXVsdDtcbiRzbGljay1kb3Qtc2l6ZTogMTJweCAhZGVmYXVsdDtcbiRzbGljay1vcGFjaXR5LWRlZmF1bHQ6IDAuNzUgIWRlZmF1bHQ7XG4kc2xpY2stb3BhY2l0eS1vbi1ob3ZlcjogMSAhZGVmYXVsdDtcbiRzbGljay1vcGFjaXR5LW5vdC1hY3RpdmU6IDAuMjUgIWRlZmF1bHQ7XG5cbkBmdW5jdGlvbiBzbGljay1pbWFnZS11cmwoJHVybCkge1xuICAgIEBpZiBmdW5jdGlvbi1leGlzdHMoaW1hZ2UtdXJsKSB7XG4gICAgICAgIEByZXR1cm4gaW1hZ2UtdXJsKCR1cmwpO1xuICAgIH1cbiAgICBAZWxzZSB7XG4gICAgICAgIEByZXR1cm4gdXJsKCRzbGljay1sb2FkZXItcGF0aCArICR1cmwpO1xuICAgIH1cbn1cblxuQGZ1bmN0aW9uIHNsaWNrLWZvbnQtdXJsKCR1cmwpIHtcbiAgICBAaWYgZnVuY3Rpb24tZXhpc3RzKGZvbnQtdXJsKSB7XG4gICAgICAgIEByZXR1cm4gZm9udC11cmwoJHVybCk7XG4gICAgfVxuICAgIEBlbHNlIHtcbiAgICAgICAgQHJldHVybiB1cmwoJHNsaWNrLWZvbnQtcGF0aCArICR1cmwpO1xuICAgIH1cbn1cblxuLyogU2xpZGVyICovXG5cbi5zbGljay1saXN0IHtcbiAgICAuc2xpY2stbG9hZGluZyAmIHtcbiAgICAgICAgYmFja2dyb3VuZDogJHdoaXRlIHNsaWNrLWltYWdlLXVybChcImFqYXgtbG9hZGVyLmdpZlwiKSBjZW50ZXIgY2VudGVyIG5vLXJlcGVhdDtcbiAgICB9XG59XG5cbi8qIEljb25zICovXG5AaWYgJHNsaWNrLWZvbnQtZmFtaWx5ID09IFwic2xpY2tcIiB7XG4gICAgQGZvbnQtZmFjZSB7XG4gICAgICAgIGZvbnQtZmFtaWx5OiBcInNsaWNrXCI7XG4gICAgICAgIHNyYzogc2xpY2stZm9udC11cmwoXCJzbGljay5lb3RcIik7XG4gICAgICAgIHNyYzogc2xpY2stZm9udC11cmwoXCJzbGljay5lb3Q/I2llZml4XCIpIGZvcm1hdChcImVtYmVkZGVkLW9wZW50eXBlXCIpLCBzbGljay1mb250LXVybChcInNsaWNrLndvZmZcIikgZm9ybWF0KFwid29mZlwiKSwgc2xpY2stZm9udC11cmwoXCJzbGljay50dGZcIikgZm9ybWF0KFwidHJ1ZXR5cGVcIiksIHNsaWNrLWZvbnQtdXJsKFwic2xpY2suc3ZnI3NsaWNrXCIpIGZvcm1hdChcInN2Z1wiKTtcbiAgICAgICAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgICAgICAgZm9udC1zdHlsZTogbm9ybWFsO1xuICAgIH1cbn1cblxuLyogQXJyb3dzICovXG5cbi5zbGljay1wcmV2LFxuLnNsaWNrLW5leHQge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBoZWlnaHQ6IDIwcHg7XG4gICAgd2lkdGg6IDIwcHg7XG4gICAgbGluZS1oZWlnaHQ6IDBweDtcbiAgICBmb250LXNpemU6IDBweDtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gICAgY29sb3I6IHRyYW5zcGFyZW50O1xuICAgIHRvcDogNTAlO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUoMCwgLTUwJSk7XG4gICAgLW1zLXRyYW5zZm9ybTogdHJhbnNsYXRlKDAsIC01MCUpO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKDAsIC01MCUpO1xuICAgIHBhZGRpbmc6IDA7XG4gICAgYm9yZGVyOiBub25lO1xuICAgIG91dGxpbmU6IG5vbmU7XG4gICAgJjpob3ZlciwgJjpmb2N1cyB7XG4gICAgICAgIG91dGxpbmU6IG5vbmU7XG4gICAgICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICAgICAgICBjb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICAgIG9wYWNpdHk6ICRzbGljay1vcGFjaXR5LW9uLWhvdmVyO1xuICAgICAgICB9XG4gICAgfVxuICAgICYuc2xpY2stZGlzYWJsZWQ6YmVmb3JlIHtcbiAgICAgICAgb3BhY2l0eTogJHNsaWNrLW9wYWNpdHktbm90LWFjdGl2ZTtcbiAgICB9XG4gICAgJjpiZWZvcmUge1xuICAgICAgICBmb250LWZhbWlseTogJHNsaWNrLWZvbnQtZmFtaWx5O1xuICAgICAgICBmb250LXNpemU6IDIwcHg7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxO1xuICAgICAgICBjb2xvcjogJHNsaWNrLWFycm93LWNvbG9yO1xuICAgICAgICBvcGFjaXR5OiAkc2xpY2stb3BhY2l0eS1kZWZhdWx0O1xuICAgICAgICAtd2Via2l0LWZvbnQtc21vb3RoaW5nOiBhbnRpYWxpYXNlZDtcbiAgICAgICAgLW1vei1vc3gtZm9udC1zbW9vdGhpbmc6IGdyYXlzY2FsZTtcbiAgICB9XG59XG5cbi5zbGljay1wcmV2IHtcbiAgICBsZWZ0OiAtMjVweDtcbiAgICBbZGlyPVwicnRsXCJdICYge1xuICAgICAgICBsZWZ0OiBhdXRvO1xuICAgICAgICByaWdodDogLTI1cHg7XG4gICAgfVxuICAgICY6YmVmb3JlIHtcbiAgICAgICAgY29udGVudDogJHNsaWNrLXByZXYtY2hhcmFjdGVyO1xuICAgICAgICBbZGlyPVwicnRsXCJdICYge1xuICAgICAgICAgICAgY29udGVudDogJHNsaWNrLW5leHQtY2hhcmFjdGVyO1xuICAgICAgICB9XG4gICAgfVxufVxuXG4uc2xpY2stbmV4dCB7XG4gICAgcmlnaHQ6IC0yNXB4O1xuICAgIFtkaXI9XCJydGxcIl0gJiB7XG4gICAgICAgIGxlZnQ6IC0yNXB4O1xuICAgICAgICByaWdodDogYXV0bztcbiAgICB9XG4gICAgJjpiZWZvcmUge1xuICAgICAgICBjb250ZW50OiAkc2xpY2stbmV4dC1jaGFyYWN0ZXI7XG4gICAgICAgIFtkaXI9XCJydGxcIl0gJiB7XG4gICAgICAgICAgICBjb250ZW50OiAkc2xpY2stcHJldi1jaGFyYWN0ZXI7XG4gICAgICAgIH1cbiAgICB9XG59XG5cbi8qIERvdHMgKi9cblxuLnNsaWNrLWRvdHRlZC5zbGljay1zbGlkZXIge1xuICAgIG1hcmdpbi1ib3R0b206IDMwcHg7XG59XG5cbi5zbGljay1kb3RzIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgYm90dG9tOiAtMjVweDtcbiAgICBsaXN0LXN0eWxlOiBub25lO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICBwYWRkaW5nOiAwO1xuICAgIG1hcmdpbjogMDtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBsaSB7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICBoZWlnaHQ6IDIwcHg7XG4gICAgICAgIHdpZHRoOiAyMHB4O1xuICAgICAgICBtYXJnaW46IDAgNXB4O1xuICAgICAgICBwYWRkaW5nOiAwO1xuICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgICAgIGJ1dHRvbiB7XG4gICAgICAgICAgICBib3JkZXI6IDA7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgaGVpZ2h0OiAyMHB4O1xuICAgICAgICAgICAgd2lkdGg6IDIwcHg7XG4gICAgICAgICAgICBvdXRsaW5lOiBub25lO1xuICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDBweDtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMHB4O1xuICAgICAgICAgICAgY29sb3I6IHRyYW5zcGFyZW50O1xuICAgICAgICAgICAgcGFkZGluZzogNXB4O1xuICAgICAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgICAgICAgICAgJjpob3ZlciwgJjpmb2N1cyB7XG4gICAgICAgICAgICAgICAgb3V0bGluZTogbm9uZTtcbiAgICAgICAgICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgICAgICAgICAgIG9wYWNpdHk6ICRzbGljay1vcGFjaXR5LW9uLWhvdmVyO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICAgICAgdG9wOiAwO1xuICAgICAgICAgICAgICAgIGxlZnQ6IDA7XG4gICAgICAgICAgICAgICAgY29udGVudDogJHNsaWNrLWRvdC1jaGFyYWN0ZXI7XG4gICAgICAgICAgICAgICAgd2lkdGg6IDIwcHg7XG4gICAgICAgICAgICAgICAgaGVpZ2h0OiAyMHB4O1xuICAgICAgICAgICAgICAgIGZvbnQtZmFtaWx5OiAkc2xpY2stZm9udC1mYW1pbHk7XG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiAkc2xpY2stZG90LXNpemU7XG4gICAgICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDIwcHg7XG4gICAgICAgICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICAgICAgICAgIGNvbG9yOiAkc2xpY2stZG90LWNvbG9yO1xuICAgICAgICAgICAgICAgIG9wYWNpdHk6ICRzbGljay1vcGFjaXR5LW5vdC1hY3RpdmU7XG4gICAgICAgICAgICAgICAgLXdlYmtpdC1mb250LXNtb290aGluZzogYW50aWFsaWFzZWQ7XG4gICAgICAgICAgICAgICAgLW1vei1vc3gtZm9udC1zbW9vdGhpbmc6IGdyYXlzY2FsZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAmLnNsaWNrLWFjdGl2ZSBidXR0b246YmVmb3JlIHtcbiAgICAgICAgICAgIGNvbG9yOiAkc2xpY2stZG90LWNvbG9yLWFjdGl2ZTtcbiAgICAgICAgICAgIG9wYWNpdHk6ICRzbGljay1vcGFjaXR5LWRlZmF1bHQ7XG4gICAgICAgIH1cbiAgICB9XG59XG4iLCIvLyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4vL1xuLy8gICBBcHBcbi8vICAgVXNlIGZvciBQcm9qZWN0IFNwZWNpZmljIE1vZGlmaWNhdGlvbnNcbi8vXG4vLyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG5cbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbi8vICAgUmV1c2FibGUgU2VjdGlvbnMvU25pcHBldHNcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuLmNsZWFyIHtcbiAgQGluY2x1ZGUgY2xlYXI7XG59XG5cbi5ncmlkLXdyYXBwZXIge1xuXHRAaW5jbHVkZSBvdXRlci1jb250YWluZXI7XG59XG4uaG9yaXotY2VudGVyIHtcblx0QGluY2x1ZGUgY2VudGVyLWhvcml6O1xufVxuLnZlcnRpY2FsLWNlbnRlciB7XG5cdEBpbmNsdWRlIGNlbnRlci12ZXJ0aWNhbGx5O1xufVxuXG4uaW1nLWZpbGwge1xuXHRAaW5jbHVkZSBpbWctZmlsbDtcbn1cblxuLmltZy1nbGlkZSB7XG5cdEBpbmNsdWRlIGltZy1nbGlkZTtcbn1cblxuXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4vLyAgIFBhZ2VzIExldmVsIE1vZGlmaWNhdGlvbnNcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuIiwiQGNoYXJzZXQgXCJVVEYtOFwiO1xuXG4vLy8gT3V0cHV0cyBhIG1lZGlhLXF1ZXJ5IGJsb2NrIHdpdGggYW4gb3B0aW9uYWwgZ3JpZCBjb250ZXh0ICh0aGUgdG90YWwgbnVtYmVyIG9mIGNvbHVtbnMgdXNlZCBpbiB0aGUgZ3JpZCkuXG4vLy9cbi8vLyBAcGFyYW0ge0xpc3R9ICRxdWVyeVxuLy8vICAgQSBsaXN0IG9mIG1lZGlhIHF1ZXJ5IGZlYXR1cmVzIGFuZCB2YWx1ZXMsIHdoZXJlIGVhY2ggYCRmZWF0dXJlYCBzaG91bGQgaGF2ZSBhIGNvcnJlc3BvbmRpbmcgYCR2YWx1ZWAuXG4vLy8gICBGb3IgYSBsaXN0IG9mIHZhbGlkIHZhbHVlcyBmb3IgYCRmZWF0dXJlYCwgY2xpY2sgW2hlcmVdKGh0dHA6Ly93d3cudzMub3JnL1RSL2NzczMtbWVkaWFxdWVyaWVzLyNtZWRpYTEpLlxuLy8vXG4vLy8gICBJZiB0aGVyZSBpcyBvbmx5IGEgc2luZ2xlIGAkdmFsdWVgIGluIGAkcXVlcnlgLCBgJGRlZmF1bHQtZmVhdHVyZWAgaXMgZ29pbmcgdG8gYmUgdXNlZC5cbi8vL1xuLy8vICAgVGhlIG51bWJlciBvZiB0b3RhbCBjb2x1bW5zIGluIHRoZSBncmlkIGNhbiBiZSBzZXQgYnkgcGFzc2luZyBgJGNvbHVtbnNgIGF0IHRoZSBlbmQgb2YgdGhlIGxpc3QgKG92ZXJyaWRlcyBgJHRvdGFsLWNvbHVtbnNgKS5cbi8vL1xuLy8vXG4vLy8gQHBhcmFtIHtOdW1iZXIgKHVuaXRsZXNzKX0gJHRvdGFsLWNvbHVtbnMgWyRncmlkLWNvbHVtbnNdXG4vLy8gICAtIE51bWJlciBvZiBjb2x1bW5zIHRvIHVzZSBpbiB0aGUgbmV3IGdyaWQgY29udGV4dC4gQ2FuIGJlIHNldCBhcyBhIHNob3J0aGFuZCBpbiB0aGUgZmlyc3QgcGFyYW1ldGVyLlxuLy8vXG4vLy8gQGV4YW1wbGUgc2NzcyAtIFVzYWdlXG4vLy8gICAucmVzcG9uc2l2ZS1lbGVtZW50IHtcbi8vLyAgICAgIEBpbmNsdWRlIG1lZGlhKDc2OXB4KSB7XG4vLy8gICAgICAgIEBpbmNsdWRlIHNwYW4tY29sdW1ucyg2KTtcbi8vLyAgICAgIH1cbi8vLyAgIH1cbi8vL1xuLy8vICAubmV3LWNvbnRleHQtZWxlbWVudCB7XG4vLy8gICAgQGluY2x1ZGUgbWVkaWEobWluLXdpZHRoIDMyMHB4IG1heC13aWR0aCA0ODBweCwgNikge1xuLy8vICAgICAgQGluY2x1ZGUgc3Bhbi1jb2x1bW5zKDYpO1xuLy8vICAgIH1cbi8vLyAgfVxuLy8vXG4vLy8gQGV4YW1wbGUgY3NzIC0gQ1NTIE91dHB1dFxuLy8vICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NjlweCkge1xuLy8vICAgIC5yZXNwb25zaXZlLWVsZW1lbnQge1xuLy8vICAgICAgZGlzcGxheTogYmxvY2s7XG4vLy8gICAgICBmbG9hdDogbGVmdDtcbi8vLyAgICAgIG1hcmdpbi1yaWdodDogMi4zNTc2NSU7XG4vLy8gICAgICB3aWR0aDogNDguODIxMTclO1xuLy8vICAgIH1cbi8vL1xuLy8vICAgIC5yZXNwb25zaXZlLWVsZW1lbnQ6bGFzdC1jaGlsZCB7XG4vLy8gICAgICBtYXJnaW4tcmlnaHQ6IDA7XG4vLy8gICAgfVxuLy8vICB9XG4vLy9cbi8vLyAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMzIwcHgpIGFuZCAobWF4LXdpZHRoOiA0ODBweCkge1xuLy8vICAgIC5uZXctY29udGV4dC1lbGVtZW50IHtcbi8vLyAgICAgIGRpc3BsYXk6IGJsb2NrO1xuLy8vICAgICAgZmxvYXQ6IGxlZnQ7XG4vLy8gICAgICBtYXJnaW4tcmlnaHQ6IDQuODI5MTYlO1xuLy8vICAgICAgd2lkdGg6IDEwMCU7XG4vLy8gICAgfVxuLy8vXG4vLy8gICAgLm5ldy1jb250ZXh0LWVsZW1lbnQ6bGFzdC1jaGlsZCB7XG4vLy8gICAgICBtYXJnaW4tcmlnaHQ6IDA7XG4vLy8gICAgfVxuLy8vICB9XG5cbkBtaXhpbiBtZWRpYSgkcXVlcnk6ICRmZWF0dXJlICR2YWx1ZSAkY29sdW1ucywgJHRvdGFsLWNvbHVtbnM6ICRncmlkLWNvbHVtbnMpIHtcbiAgQGlmIGxlbmd0aCgkcXVlcnkpID09IDEge1xuICAgIEBtZWRpYSBzY3JlZW4gYW5kICgkZGVmYXVsdC1mZWF0dXJlOiBudGgoJHF1ZXJ5LCAxKSkge1xuICAgICAgJGRlZmF1bHQtZ3JpZC1jb2x1bW5zOiAkZ3JpZC1jb2x1bW5zO1xuICAgICAgJGdyaWQtY29sdW1uczogJHRvdGFsLWNvbHVtbnMgIWdsb2JhbDtcbiAgICAgIEBjb250ZW50O1xuICAgICAgJGdyaWQtY29sdW1uczogJGRlZmF1bHQtZ3JpZC1jb2x1bW5zICFnbG9iYWw7XG4gICAgfVxuICB9IEBlbHNlIHtcbiAgICAkbG9vcC10bzogbGVuZ3RoKCRxdWVyeSk7XG4gICAgJG1lZGlhLXF1ZXJ5OiBcInNjcmVlbiBhbmQgXCI7XG4gICAgJGRlZmF1bHQtZ3JpZC1jb2x1bW5zOiAkZ3JpZC1jb2x1bW5zO1xuICAgICRncmlkLWNvbHVtbnM6ICR0b3RhbC1jb2x1bW5zICFnbG9iYWw7XG5cbiAgICBAaWYgaXMtbm90KGlzLWV2ZW4obGVuZ3RoKCRxdWVyeSkpKSB7XG4gICAgICAkZ3JpZC1jb2x1bW5zOiBudGgoJHF1ZXJ5LCAkbG9vcC10bykgIWdsb2JhbDtcbiAgICAgICRsb29wLXRvOiAkbG9vcC10byAtIDE7XG4gICAgfVxuXG4gICAgJGk6IDE7XG4gICAgQHdoaWxlICRpIDw9ICRsb29wLXRvIHtcbiAgICAgICRtZWRpYS1xdWVyeTogJG1lZGlhLXF1ZXJ5ICsgXCIoXCIgKyBudGgoJHF1ZXJ5LCAkaSkgKyBcIjogXCIgKyBudGgoJHF1ZXJ5LCAkaSArIDEpICsgXCIpIFwiO1xuXG4gICAgICBAaWYgKCRpICsgMSkgIT0gJGxvb3AtdG8ge1xuICAgICAgICAkbWVkaWEtcXVlcnk6ICRtZWRpYS1xdWVyeSArIFwiYW5kIFwiO1xuICAgICAgfVxuXG4gICAgICAkaTogJGkgKyAyO1xuICAgIH1cblxuICAgIEBtZWRpYSAjeyRtZWRpYS1xdWVyeX0ge1xuICAgICAgQGNvbnRlbnQ7XG4gICAgICAkZ3JpZC1jb2x1bW5zOiAkZGVmYXVsdC1ncmlkLWNvbHVtbnMgIWdsb2JhbDtcbiAgICB9XG4gIH1cbn1cbiIsIkBjaGFyc2V0IFwiVVRGLThcIjtcblxuLy8vIFNldHMgdGhlIGB3aWR0aGAgYW5kIGBoZWlnaHRgIG9mIHRoZSBlbGVtZW50LlxuLy8vXG4vLy8gQHBhcmFtIHtMaXN0fSAkc2l6ZVxuLy8vICAgQSBsaXN0IG9mIGF0IG1vc3QgMiBzaXplIHZhbHVlcy5cbi8vL1xuLy8vICAgSWYgdGhlcmUgaXMgb25seSBhIHNpbmdsZSB2YWx1ZSBpbiBgJHNpemVgIGl0IGlzIHVzZWQgZm9yIGJvdGggd2lkdGggYW5kIGhlaWdodC4gQWxsIHVuaXRzIGFyZSBzdXBwb3J0ZWQuXG4vLy9cbi8vLyBAZXhhbXBsZSBzY3NzIC0gVXNhZ2Vcbi8vLyAgIC5maXJzdC1lbGVtZW50IHtcbi8vLyAgICAgQGluY2x1ZGUgc2l6ZSgyZW0pO1xuLy8vICAgfVxuLy8vXG4vLy8gICAuc2Vjb25kLWVsZW1lbnQge1xuLy8vICAgICBAaW5jbHVkZSBzaXplKGF1dG8gMTBlbSk7XG4vLy8gICB9XG4vLy9cbi8vLyBAZXhhbXBsZSBjc3MgLSBDU1MgT3V0cHV0XG4vLy8gICAuZmlyc3QtZWxlbWVudCB7XG4vLy8gICAgIHdpZHRoOiAyZW07XG4vLy8gICAgIGhlaWdodDogMmVtO1xuLy8vICAgfVxuLy8vXG4vLy8gICAuc2Vjb25kLWVsZW1lbnQge1xuLy8vICAgICB3aWR0aDogYXV0bztcbi8vLyAgICAgaGVpZ2h0OiAxMGVtO1xuLy8vICAgfVxuLy8vXG4vLy8gQHRvZG8gUmVmYWN0b3IgaW4gNS4wLjAgdG8gdXNlIGEgY29tbWEtc2VwYXJhdGVkIGFyZ3VtZW50XG5cbkBtaXhpbiBzaXplKCR2YWx1ZSkge1xuICAkd2lkdGg6IG50aCgkdmFsdWUsIDEpO1xuICAkaGVpZ2h0OiAkd2lkdGg7XG5cbiAgQGlmIGxlbmd0aCgkdmFsdWUpID4gMSB7XG4gICAgJGhlaWdodDogbnRoKCR2YWx1ZSwgMik7XG4gIH1cblxuICAkdXNlci1kZXByZWNhdGlvbi13YXJuaW5ncy1zZXR0aW5nOiAkb3V0cHV0LWJvdXJib24tZGVwcmVjYXRpb24td2FybmluZ3M7XG4gICRvdXRwdXQtYm91cmJvbi1kZXByZWNhdGlvbi13YXJuaW5nczogZmFsc2UgIWdsb2JhbDtcblxuICBAaWYgaXMtc2l6ZSgkaGVpZ2h0KSB7XG4gICAgaGVpZ2h0OiAkaGVpZ2h0O1xuICB9IEBlbHNlIHtcbiAgICBAd2FybiBcImAjeyRoZWlnaHR9YCBpcyBub3QgYSB2YWxpZCBsZW5ndGggZm9yIHRoZSBgJGhlaWdodGAgcGFyYW1ldGVyIGluIHRoZSBgc2l6ZWAgbWl4aW4uXCI7XG4gIH1cblxuICBAaWYgaXMtc2l6ZSgkd2lkdGgpIHtcbiAgICB3aWR0aDogJHdpZHRoO1xuICB9IEBlbHNlIHtcbiAgICBAd2FybiBcImAjeyR3aWR0aH1gIGlzIG5vdCBhIHZhbGlkIGxlbmd0aCBmb3IgdGhlIGAkd2lkdGhgIHBhcmFtZXRlciBpbiB0aGUgYHNpemVgIG1peGluLlwiO1xuICB9XG5cbiAgJG91dHB1dC1ib3VyYm9uLWRlcHJlY2F0aW9uLXdhcm5pbmdzOiAkdXNlci1kZXByZWNhdGlvbi13YXJuaW5ncy1zZXR0aW5nICFnbG9iYWw7XG59XG4iXX0= */
