/**
  * PAGE-SPECIFIC STYLESHEET: home
  *
  * Import common styles and house page-specific styles for page: "home".
  */
/**
  * COMMON STYLES
  *
  * Defines the styles to import that are required by virtually all pages.
  */
/*! normalize.css v8.0.1 | MIT License | github.com/necolas/normalize.css */
/* Document
   ========================================================================== */
/**
 * 1. Correct the line height in all browsers.
 * 2. Prevent adjustments of font size after orientation changes in iOS.
 */
html {
  line-height: 1.15;
  /* 1 */
  -webkit-text-size-adjust: 100%;
  /* 2 */
}

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

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

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

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

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

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

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

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

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

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

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

sub {
  bottom: -0.25em;
}

sup {
  top: -0.5em;
}

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

/**
  * BREAKPOINTS
  *
  * Define breakpoints for media query use and export them for use with JS.
  */
/*
example usage:
@include media(">=phone-small") {...}
*/
:export {
  breakpointPhoneSmall: 320;
  breakpointPhoneLarge: 480;
  breakpointTablet: 768;
  breakpointLaptop: 992;
  breakpointDesktop: 1200;
  breakpointDesktopLarge: 1400;
  breakpointHd: 1920;
}

/**
  * VARIABLES
  */
/**
  * Dimensions:
  */
/**
  * Colors:
  */
/**
  * FONTS
  *
  * Define @font-face styles.
  */
@font-face {
  font-family: Montserrat;
  src: url(../fonts/Montserrat-Regular.ttf);
  font-weight: 400;
  font-style: normal;
}
@font-face {
  font-family: Montserrat;
  src: url(../fonts/Montserrat-Bold.ttf);
  font-weight: 700;
  font-style: normal;
}
/*
@font-face {
  font-family: American Typewriter ITC Pro Bold;
  //src: url(../fonts/Montserrat-Bold.ttf);
  font-weight: 700;
  font-style: normal;
}



font-family: ltc-goudy-ornate, sans-serif;

font-weight: 400;

font-style: normal;


American Typewriter ITC Pro Bold

font-family: itc-american-typewriter, serif;

font-weight: 700;

font-style: normal;

American Typewriter ITC Pro Bold Italic

font-family: itc-american-typewriter, serif;

font-weight: 700;

font-style: italic;

American Typewriter ITC Pro Light

font-family: itc-american-typewriter, serif;

font-weight: 300;

font-style: normal;

American Typewriter ITC Pro Light Italic

font-family: itc-american-typewriter, serif;

font-weight: 300;

font-style: italic;

American Typewriter ITC Pro Bold Condensed

font-family: itc-american-typewriter-cond, serif;

font-weight: 700;

font-style: normal;

American Typewriter ITC Pro Light Condensed

font-family: itc-american-typewriter-cond, serif;

font-weight: 300;

font-style: normal;
*/
/**
  * MIXINS
  *
  * Standardized style chunks, provided as both SCSS mixins and HTML classes.
  */
.wrap {
  width: 100%;
  height: auto;
}

.inner-wrap {
  width: 100%;
  max-width: 1400px;
  margin: 0 auto;
}

.mar-top {
  margin-top: 20px;
  transition: margin 300ms;
}
@media (min-width: 480px) {
  .mar-top {
    margin-top: 25px;
  }
}
@media (min-width: 768px) {
  .mar-top {
    margin-top: 30px;
  }
}
@media (min-width: 992px) {
  .mar-top {
    margin-top: 60px;
  }
}
@media (min-width: 1200px) {
  .mar-top {
    margin-top: 80px;
  }
}

.mar-bottom {
  margin-bottom: 20px;
  transition: margin 300ms;
}
@media (min-width: 480px) {
  .mar-bottom {
    margin-bottom: 25px;
  }
}
@media (min-width: 768px) {
  .mar-bottom {
    margin-bottom: 30px;
  }
}
@media (min-width: 992px) {
  .mar-bottom {
    margin-bottom: 60px;
  }
}
@media (min-width: 1200px) {
  .mar-bottom {
    margin-bottom: 80px;
  }
}

.mar-horizontal {
  margin-top: 20px;
  transition: margin 300ms;
  margin-bottom: 20px;
  transition: margin 300ms;
}
@media (min-width: 480px) {
  .mar-horizontal {
    margin-top: 25px;
  }
}
@media (min-width: 768px) {
  .mar-horizontal {
    margin-top: 30px;
  }
}
@media (min-width: 992px) {
  .mar-horizontal {
    margin-top: 60px;
  }
}
@media (min-width: 1200px) {
  .mar-horizontal {
    margin-top: 80px;
  }
}
@media (min-width: 480px) {
  .mar-horizontal {
    margin-bottom: 25px;
  }
}
@media (min-width: 768px) {
  .mar-horizontal {
    margin-bottom: 30px;
  }
}
@media (min-width: 992px) {
  .mar-horizontal {
    margin-bottom: 60px;
  }
}
@media (min-width: 1200px) {
  .mar-horizontal {
    margin-bottom: 80px;
  }
}

.mar-right {
  margin-right: 20px;
  transition: margin 300ms;
  max-width: calc(100% - 20px);
}
@media (min-width: 480px) {
  .mar-right {
    margin-right: 25px;
    max-width: calc(100% - 25px);
  }
}
@media (min-width: 768px) {
  .mar-right {
    margin-right: 30px;
    max-width: calc(100% - 30px);
  }
}
@media (min-width: 992px) {
  .mar-right {
    margin-right: 60px;
    max-width: calc(100% - 60px);
  }
}
@media (min-width: 1200px) {
  .mar-right {
    margin-right: 80px;
    max-width: calc(100% - 80px);
  }
}

.mar-left {
  margin-left: 20px;
  transition: margin 300ms;
  max-width: calc(100% - 20px);
}
@media (min-width: 480px) {
  .mar-left {
    margin-left: 25px;
    max-width: calc(100% - 25px);
  }
}
@media (min-width: 768px) {
  .mar-left {
    margin-left: 30px;
    max-width: calc(100% - 30px);
  }
}
@media (min-width: 992px) {
  .mar-left {
    margin-left: 60px;
    max-width: calc(100% - 60px);
  }
}
@media (min-width: 1200px) {
  .mar-left {
    margin-left: 80px;
    max-width: calc(100% - 80px);
  }
}

.mar-horizontal {
  margin-left: 20px;
  margin-right: 20px;
  transition: margin 300ms;
  max-width: calc(100% - 40px);
}
@media (min-width: 480px) {
  .mar-horizontal {
    margin-left: 25px;
    margin-right: 25px;
    max-width: calc(100% - 50px);
  }
}
@media (min-width: 768px) {
  .mar-horizontal {
    margin-left: 30px;
    margin-right: 30px;
    max-width: calc(100% - 60px);
  }
}
@media (min-width: 992px) {
  .mar-horizontal {
    margin-left: 60px;
    margin-right: 60px;
    max-width: calc(100% - 120px);
  }
}
@media (min-width: 1200px) {
  .mar-horizontal {
    margin-left: 80px;
    margin-right: 80px;
    max-width: calc(100% - 160px);
  }
}

.pad-top {
  padding-top: 30px;
  transition: padding 300ms;
}
@media (min-width: 480px) {
  .pad-top {
    padding-top: 35px;
  }
}
@media (min-width: 768px) {
  .pad-top {
    padding-top: 40px;
  }
}
@media (min-width: 992px) {
  .pad-top {
    padding-top: 50px;
  }
}
@media (min-width: 1200px) {
  .pad-top {
    padding-top: 60px;
  }
}

.pad-bottom {
  padding-bottom: 30px;
  transition: padding 300ms;
}
@media (min-width: 480px) {
  .pad-bottom {
    padding-bottom: 35px;
  }
}
@media (min-width: 768px) {
  .pad-bottom {
    padding-bottom: 40px;
  }
}
@media (min-width: 992px) {
  .pad-bottom {
    padding-bottom: 50px;
  }
}
@media (min-width: 1200px) {
  .pad-bottom {
    padding-bottom: 60px;
  }
}

.pad-left {
  padding-left: 20px;
  transition: padding 300ms;
}
@media (min-width: 480px) {
  .pad-left {
    padding-left: 25px;
  }
}
@media (min-width: 768px) {
  .pad-left {
    padding-left: 30px;
  }
}
@media (min-width: 992px) {
  .pad-left {
    padding-left: 60px;
  }
}
@media (min-width: 1200px) {
  .pad-left {
    padding-left: 80px;
  }
}

.pad-right {
  padding-right: 20px;
  transition: padding 300ms;
}
@media (min-width: 480px) {
  .pad-right {
    padding-right: 25px;
  }
}
@media (min-width: 768px) {
  .pad-right {
    padding-right: 30px;
  }
}
@media (min-width: 992px) {
  .pad-right {
    padding-right: 60px;
  }
}
@media (min-width: 1200px) {
  .pad-right {
    padding-right: 80px;
  }
}

.pad-vertical {
  padding-top: 30px;
  transition: padding 300ms;
  padding-bottom: 30px;
  transition: padding 300ms;
}
@media (min-width: 480px) {
  .pad-vertical {
    padding-top: 35px;
  }
}
@media (min-width: 768px) {
  .pad-vertical {
    padding-top: 40px;
  }
}
@media (min-width: 992px) {
  .pad-vertical {
    padding-top: 50px;
  }
}
@media (min-width: 1200px) {
  .pad-vertical {
    padding-top: 60px;
  }
}
@media (min-width: 480px) {
  .pad-vertical {
    padding-bottom: 35px;
  }
}
@media (min-width: 768px) {
  .pad-vertical {
    padding-bottom: 40px;
  }
}
@media (min-width: 992px) {
  .pad-vertical {
    padding-bottom: 50px;
  }
}
@media (min-width: 1200px) {
  .pad-vertical {
    padding-bottom: 60px;
  }
}

.pad-horizontal {
  padding-right: 20px;
  transition: padding 300ms;
  padding-left: 20px;
  transition: padding 300ms;
}
@media (min-width: 480px) {
  .pad-horizontal {
    padding-right: 25px;
  }
}
@media (min-width: 768px) {
  .pad-horizontal {
    padding-right: 30px;
  }
}
@media (min-width: 992px) {
  .pad-horizontal {
    padding-right: 60px;
  }
}
@media (min-width: 1200px) {
  .pad-horizontal {
    padding-right: 80px;
  }
}
@media (min-width: 480px) {
  .pad-horizontal {
    padding-left: 25px;
  }
}
@media (min-width: 768px) {
  .pad-horizontal {
    padding-left: 30px;
  }
}
@media (min-width: 992px) {
  .pad-horizontal {
    padding-left: 60px;
  }
}
@media (min-width: 1200px) {
  .pad-horizontal {
    padding-left: 80px;
  }
}

.button {
  padding: 10px 15px;
  display: inline-block;
  background-color: #000000;
  text-transform: uppercase;
  color: #fefefe;
  font-weight: bold;
}

/*
@mixin category {
  display: block;
  // /text-transform: uppercase;
  color: $black;
  font-weight: 600;
  font-size: 0.8rem;
  letter-spacing: -0.0625em;
}

.category {
  @include category;
}

@mixin title {
  display: block;
  font-size: 1.4rem;
  //font-weight: 600;
  line-height: 1.1;
  color: $brandColorPrimary;
  letter-spacing: -0.0625em;

  &:hover {
    //text-decoration: underline;
  }
}

.title {
  @include title;
}

@mixin tag {
  font-size: 0.8rem;
  font-weight: 500;
  color: $mediumDarkGray;
  letter-spacing: -0.0425em;
}

.tag {
  @include tag;
}
*/
.screen-reader-text {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  border: 0;
}

.no-scroll {
  overflow: hidden;
}

/**
  * ELEMENT STYLES
  *
  * Style definitions for global element selectors.
  */
* {
  box-sizing: border-box;
}

html {
  height: 100%;
  font-size: 100%;
  line-height: 1.7;
}

body {
  min-height: 100%;
  display: grid;
  grid-template-rows: auto 1fr auto;
  margin: 0;
  background-color: #ffffff;
  color: #222;
  font-family: itc-american-typewriter, serif;
  font-weight: 400;
  font-style: normal;
}

h1, h2, h3, h4, h5, h6 {
  font-family: questa-grande, serif;
  font-weight: bold;
  text-transform: uppercase;
}

h1 {
  margin-top: 0;
  margin-bottom: 1.4rem;
  font-size: 2.2rem;
}

h2 {
  margin-top: 0;
  margin-bottom: 1.3rem;
  font-size: 1.8rem;
  font-weight: 600;
  line-height: 1.15909em;
}

h3 {
  margin-top: 0;
  margin-bottom: 1rem;
  line-height: 1.15909em;
  font-size: 1.6rem;
}

h4 {
  margin-top: 0;
  font-size: 1.4rem;
  margin-bottom: 1rem;
  line-height: 1.2;
}

h5 {
  margin-top: 0;
  font-size: 1.3rem;
  margin-bottom: 1rem;
}

h6 {
  margin-top: 0;
  font-size: 1.2rem;
  margin-bottom: 1rem;
}

p {
  margin: 0;
  padding-bottom: 0;
  line-height: 1.5;
}

a {
  text-decoration: none;
  color: rgb(1, 38, 170);
}
ul, ol {
  margin: 0;
  padding: 0;
  list-style-position: inside;
}

/* begin button styles */
button {
  display: inline-block;
  border: none;
  padding: 0;
  margin: 0;
  text-decoration: none;
  background: none;
  cursor: pointer;
  -webkit-appearance: none;
  -moz-appearance: none;
}

/* end button styles */
/**
  * HEADER STYLES
  */
.header-wrap {
  height: auto;
  grid-row-start: 1;
  grid-row-end: 2;
  z-index: 0;
  background-color: #f0ede8;
}
.header-wrap.bg-visible {
  z-index: 9999;
}
@media (min-width: 768px) {
  .header-wrap {
    background-color: #fffeee;
    background-image: linear-gradient(to right, transparent 0%, rgba(179, 179, 179, 0.6) 0.1% 0.2%, transparent 0.2%, rgba(179, 179, 179, 0.6) 0.4% 0.5%, transparent 0.5%, rgba(179, 179, 179, 0.6) 1.2% 1.3%, transparent 1.3%, rgba(179, 179, 179, 0.6) 3.3% 3.4%, transparent 3.4% 20%, rgba(179, 179, 179, 0.6) 50%, rgba(102, 102, 102, 0.7) 67%, rgba(77, 77, 77, 0.8) 69%, rgba(51, 51, 51, 0.9) 69.95%, rgba(26, 26, 26, 0.9) 70%, rgba(51, 51, 51, 0.6) 70.05%, rgba(77, 77, 77, 0.6) 71%, rgba(102, 102, 102, 0.6) 73%, rgba(179, 179, 179, 0.6) 90%, transparent 100%);
  }
  .header-wrap.bg-visible {
    z-index: 0;
  }
}

.header-overlay {
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
  z-index: 2;
  background-color: rgb(1, 38, 170);
  opacity: 0.7;
  display: none;
}

.top-bar-bg {
  width: 100%;
  height: 45px;
  position: absolute;
  top: 0;
  left: 0;
  z-index: 6;
  display: none;
  background-color: unset;
  transition: background-color 200ms;
}
.top-bar-bg.bg-visible {
  background-color: #ffffff;
}
@media (min-width: 768px) {
  .top-bar-bg {
    display: block;
  }
}

.header {
  width: 100%;
  max-width: 1400px;
  margin: 0 auto;
  height: 90px;
  padding-top: 0;
  position: relative;
  display: grid;
  grid-template-columns: 1fr;
  grid-template-rows: 90px auto;
  transition: background-color 200ms;
}
@media (min-width: 768px) {
  .header {
    height: auto;
    grid-template-columns: 1fr;
    grid-template-rows: auto auto;
  }
}

.header-brand {
  padding-left: 20px;
  transition: padding 300ms;
  margin-top: 0;
  margin-right: 0;
  margin-left: 0;
  height: 90px;
  grid-column: 1/span 1;
  grid-row: 1/span 1;
  position: relative;
  z-index: 5;
}
@media (min-width: 480px) {
  .header-brand {
    padding-left: 25px;
  }
}
@media (min-width: 768px) {
  .header-brand {
    padding-left: 30px;
  }
}
@media (min-width: 992px) {
  .header-brand {
    padding-left: 60px;
  }
}
@media (min-width: 1200px) {
  .header-brand {
    padding-left: 80px;
  }
}
@media (min-width: 768px) {
  .header-brand {
    margin-left: 20px;
    margin-right: 20px;
    transition: margin 300ms;
    max-width: calc(100% - 40px);
    height: 200px;
    height: auto;
    margin-top: 45px;
    width: 50%;
  }
}
@media (min-width: 768px) and (min-width: 480px) {
  .header-brand {
    margin-left: 25px;
    margin-right: 25px;
    max-width: calc(100% - 50px);
  }
}
@media (min-width: 768px) and (min-width: 768px) {
  .header-brand {
    margin-left: 30px;
    margin-right: 30px;
    max-width: calc(100% - 60px);
  }
}
@media (min-width: 768px) and (min-width: 992px) {
  .header-brand {
    margin-left: 60px;
    margin-right: 60px;
    max-width: calc(100% - 120px);
  }
}
@media (min-width: 768px) and (min-width: 1200px) {
  .header-brand {
    margin-left: 80px;
    margin-right: 80px;
    max-width: calc(100% - 160px);
  }
}
.header-brand a {
  max-width: 420px;
  height: 90px;
  display: flex;
  align-items: center;
  flex-direction: row;
  font-weight: bold;
  text-decoration: none;
  color: #000;
  padding-left: 60px;
  border-bottom: unset;
}
@media (min-width: 768px) {
  .header-brand a {
    height: 200px;
    height: auto;
    padding-left: 0;
    padding-bottom: 40px;
    border-bottom: 4px solid #000000;
  }
}
@media (min-width: 1200px) {
  .header-brand a {
    padding-bottom: 50px;
  }
}
@media (min-width: 1400px) {
  .header-brand a {
    max-width: 520px;
  }
}
.header-brand a .logo-text {
  display: block;
  color: #000000;
  text-align: left;
  padding-left: 0;
  padding-top: 0;
}
@media (min-width: 480px) {
  .header-brand a .logo-text {
    padding-left: 10px;
    font-size: 1rem;
  }
}
@media (min-width: 768px) {
  .header-brand a .logo-text {
    padding-top: 30px;
    padding-left: 0;
  }
}
@media (min-width: 1200px) {
  .header-brand a .logo-text {
    padding-top: 50px;
  }
}
.header-brand a .logo-text .logo-text-title {
  margin: 0 auto;
  display: block;
  line-height: 0.9;
  font-size: 1rem;
  font-family: questa-grande, serif;
  text-transform: uppercase;
}
@media (min-width: 480px) {
  .header-brand a .logo-text .logo-text-title {
    font-size: 1.6rem;
  }
}
@media (min-width: 768px) {
  .header-brand a .logo-text .logo-text-title {
    font-size: 2.6rem;
  }
}
@media (min-width: 992px) {
  .header-brand a .logo-text .logo-text-title {
    font-size: 3rem;
  }
}
@media (min-width: 1200px) {
  .header-brand a .logo-text .logo-text-title {
    font-size: 3.1rem;
  }
}
@media (min-width: 1400px) {
  .header-brand a .logo-text .logo-text-title {
    font-size: 3.8rem;
  }
}
.header-brand a .logo-text .logo-text-tagline {
  margin: 10px auto 0 auto;
  line-height: 1.1;
  display: none;
  font-size: 0.6rem;
  font-weight: lighter;
  font-style: italic;
  color: #000000;
  font-family: questa-grande, serif;
}
@media (min-width: 480px) {
  .header-brand a .logo-text .logo-text-tagline {
    font-size: 1.1rem;
  }
}
@media (min-width: 768px) {
  .header-brand a .logo-text .logo-text-tagline {
    display: block;
    margin-top: 20px;
    font-size: 1.5rem;
  }
}
@media (min-width: 1200px) {
  .header-brand a .logo-text .logo-text-tagline {
    font-size: 2rem;
  }
}

.logo {
  margin-left: 20px;
  transition: margin 300ms;
  max-width: calc(100% - 20px);
  width: auto;
  height: 100%;
  text-align: center;
  display: block;
  position: absolute;
  right: auto;
  bottom: auto;
  top: 0;
  left: 0;
}
@media (min-width: 480px) {
  .logo {
    margin-left: 25px;
    max-width: calc(100% - 25px);
  }
}
@media (min-width: 768px) {
  .logo {
    margin-left: 30px;
    max-width: calc(100% - 30px);
  }
}
@media (min-width: 992px) {
  .logo {
    margin-left: 60px;
    max-width: calc(100% - 60px);
  }
}
@media (min-width: 1200px) {
  .logo {
    margin-left: 80px;
    max-width: calc(100% - 80px);
  }
}
@media (min-width: 768px) {
  .logo {
    width: auto;
    height: 90%;
    right: 30px;
    bottom: 0;
    top: auto;
    left: auto;
  }
}
@media (min-width: 992px) {
  .logo {
    right: 100px;
  }
}

.table-of-contents {
  margin-left: 20px;
  transition: margin 300ms;
  max-width: calc(100% - 20px);
  padding-right: 20px;
  transition: padding 300ms;
  padding-left: 20px;
  transition: padding 300ms;
  padding-top: 35px;
  padding-bottom: 20px;
  display: block;
  font-family: questa-grande, serif;
  font-size: 1.6rem;
  font-weight: bold;
}
@media (min-width: 480px) {
  .table-of-contents {
    margin-left: 25px;
    max-width: calc(100% - 25px);
  }
}
@media (min-width: 768px) {
  .table-of-contents {
    margin-left: 30px;
    max-width: calc(100% - 30px);
  }
}
@media (min-width: 992px) {
  .table-of-contents {
    margin-left: 60px;
    max-width: calc(100% - 60px);
  }
}
@media (min-width: 1200px) {
  .table-of-contents {
    margin-left: 80px;
    max-width: calc(100% - 80px);
  }
}
@media (min-width: 480px) {
  .table-of-contents {
    padding-right: 25px;
  }
}
@media (min-width: 768px) {
  .table-of-contents {
    padding-right: 30px;
  }
}
@media (min-width: 992px) {
  .table-of-contents {
    padding-right: 60px;
  }
}
@media (min-width: 1200px) {
  .table-of-contents {
    padding-right: 80px;
  }
}
@media (min-width: 480px) {
  .table-of-contents {
    padding-left: 25px;
  }
}
@media (min-width: 768px) {
  .table-of-contents {
    padding-left: 30px;
  }
}
@media (min-width: 992px) {
  .table-of-contents {
    padding-left: 60px;
  }
}
@media (min-width: 1200px) {
  .table-of-contents {
    padding-left: 80px;
  }
}

.header-nav {
  width: 100%;
  height: 0;
  position: absolute;
  top: 90px;
  display: none;
  overflow: hidden;
  z-index: 10;
}
.header-nav.bg-visible {
  background-color: #f0ede8;
  box-shadow: 0px 5px 10px -5px #000000;
}
@media (min-width: 768px) {
  .header-nav {
    position: relative;
    height: auto;
    display: block;
    overflow: visible;
    top: auto;
  }
  .header-nav.bg-visible {
    box-shadow: unset;
  }
}

.main-nav {
  width: 100%;
  padding-right: 0;
  padding-left: 0;
  height: auto;
  position: static;
  top: auto;
  right: auto;
  z-index: 5;
  display: block;
}
@media (min-width: 768px) {
  .main-nav {
    margin-left: 20px;
    transition: margin 300ms;
    max-width: calc(100% - 20px);
    padding-right: 20px;
    transition: padding 300ms;
    padding-left: 20px;
    transition: padding 300ms;
    padding-left: 0;
    width: auto;
    left: 0;
  }
}
@media (min-width: 768px) and (min-width: 480px) {
  .main-nav {
    margin-left: 25px;
    max-width: calc(100% - 25px);
  }
}
@media (min-width: 768px) and (min-width: 768px) {
  .main-nav {
    margin-left: 30px;
    max-width: calc(100% - 30px);
  }
}
@media (min-width: 768px) and (min-width: 992px) {
  .main-nav {
    margin-left: 60px;
    max-width: calc(100% - 60px);
  }
}
@media (min-width: 768px) and (min-width: 1200px) {
  .main-nav {
    margin-left: 80px;
    max-width: calc(100% - 80px);
  }
}
@media (min-width: 768px) and (min-width: 480px) {
  .main-nav {
    padding-right: 25px;
  }
}
@media (min-width: 768px) and (min-width: 768px) {
  .main-nav {
    padding-right: 30px;
  }
}
@media (min-width: 768px) and (min-width: 992px) {
  .main-nav {
    padding-right: 60px;
  }
}
@media (min-width: 768px) and (min-width: 1200px) {
  .main-nav {
    padding-right: 80px;
  }
}
@media (min-width: 768px) and (min-width: 480px) {
  .main-nav {
    padding-left: 25px;
  }
}
@media (min-width: 768px) and (min-width: 768px) {
  .main-nav {
    padding-left: 30px;
  }
}
@media (min-width: 768px) and (min-width: 992px) {
  .main-nav {
    padding-left: 60px;
  }
}
@media (min-width: 768px) and (min-width: 1200px) {
  .main-nav {
    padding-left: 80px;
  }
}
.main-nav ul {
  width: 100%;
  height: auto;
  display: flex;
  flex-direction: column;
  align-items: center;
  list-style: none;
  border-top: 1px solid #888888;
  padding-bottom: 0;
}
@media (min-width: 768px) {
  .main-nav ul {
    width: auto;
    padding-bottom: 30px;
    -moz-column-gap: 10px;
         column-gap: 10px;
    border-top: unset;
    align-items: flex-start;
  }
}
.main-nav ul li {
  padding-right: 20px;
  transition: padding 300ms;
  padding-left: 20px;
  transition: padding 300ms;
  width: 100%;
  height: 45px;
  list-style: none;
  border-top: unset;
  border-bottom: 1px solid #888888;
  position: relative;
}
@media (min-width: 480px) {
  .main-nav ul li {
    padding-right: 25px;
  }
}
@media (min-width: 768px) {
  .main-nav ul li {
    padding-right: 30px;
  }
}
@media (min-width: 992px) {
  .main-nav ul li {
    padding-right: 60px;
  }
}
@media (min-width: 1200px) {
  .main-nav ul li {
    padding-right: 80px;
  }
}
@media (min-width: 480px) {
  .main-nav ul li {
    padding-left: 25px;
  }
}
@media (min-width: 768px) {
  .main-nav ul li {
    padding-left: 30px;
  }
}
@media (min-width: 992px) {
  .main-nav ul li {
    padding-left: 60px;
  }
}
@media (min-width: 1200px) {
  .main-nav ul li {
    padding-left: 80px;
  }
}
@media (min-width: 768px) {
  .main-nav ul li {
    padding-right: 0;
    padding-left: 0;
    width: auto;
    border-bottom: unset;
    transition: display 300ms;
  }
  .main-nav ul li:hover > ul {
    display: block;
  }
}
.main-nav ul li a {
  width: 100%;
  height: 45px;
  padding: 0;
  position: relative;
  display: flex;
  align-items: center;
  font-weight: bold;
  font-size: 1rem;
  text-transform: uppercase;
  color: #000000;
  font-family: questa-grande, serif;
  text-align: center;
}
@media (min-width: 768px) {
  .main-nav ul li a {
    width: auto;
    padding: 0 5px;
    font-size: 1.6rem;
    text-align: left;
  }
}
.main-nav ul li .nav-chevron {
  display: flex;
  position: absolute;
  right: 0;
}
@media (min-width: 768px) {
  .main-nav ul li .nav-chevron {
    display: none;
  }
}
.main-nav ul li ul {
  width: 225px;
  height: auto;
  position: absolute;
  top: 62px;
  right: 0;
  list-style: none;
  display: none;
  background-color: #e0e0e0;
  border-top: 1px solid #fefefe;
}
.main-nav ul li ul::before {
  content: "";
  width: 0;
  height: 0;
  border-top: 10px solid transparent;
  border-bottom: 10px solid transparent;
  border-left: 10px solid #e0e0e0;
  transform: rotate(45deg);
  position: absolute;
  top: -12px;
  right: -1px;
  z-index: 1001;
}
.main-nav ul li ul li {
  width: 225px;
  height: 35px;
  list-style: none;
  display: block;
  border-top: 1px solid #fefefe;
}
.main-nav ul li ul li:nth-child(1) {
  border-top: 1px solid #999999;
}
.main-nav ul li ul li:nth-child(2) {
  border-top: 1px solid #fefefe;
}
.main-nav ul li ul li:nth-child(3) {
  border-top: 1px solid #fefefe;
}
.main-nav ul li ul li:nth-child(4) {
  border-top: 1px solid #fefefe;
}
.main-nav ul li ul li a {
  width: 100%;
  height: 35px;
  padding-left: 10px;
  display: flex;
  align-items: center;
  text-decoration: none;
}
.main-nav ul li ul li a:hover {
  text-decoration: underline;
}

.top-nav {
  padding-right: 0;
  padding-left: 0;
  width: 100%;
  height: auto;
  position: relative;
  top: auto;
  left: auto;
  z-index: 6;
  display: block;
  clear: both;
}
@media (min-width: 768px) {
  .top-nav {
    padding-right: 20px;
    transition: padding 300ms;
    padding-left: 20px;
    transition: padding 300ms;
    width: 100%;
    height: 45px;
    position: absolute;
    top: 0;
    right: 0;
    z-index: 6;
  }
}
@media (min-width: 768px) and (min-width: 480px) {
  .top-nav {
    padding-right: 25px;
  }
}
@media (min-width: 768px) and (min-width: 768px) {
  .top-nav {
    padding-right: 30px;
  }
}
@media (min-width: 768px) and (min-width: 992px) {
  .top-nav {
    padding-right: 60px;
  }
}
@media (min-width: 768px) and (min-width: 1200px) {
  .top-nav {
    padding-right: 80px;
  }
}
@media (min-width: 768px) and (min-width: 480px) {
  .top-nav {
    padding-left: 25px;
  }
}
@media (min-width: 768px) and (min-width: 768px) {
  .top-nav {
    padding-left: 30px;
  }
}
@media (min-width: 768px) and (min-width: 992px) {
  .top-nav {
    padding-left: 60px;
  }
}
@media (min-width: 768px) and (min-width: 1200px) {
  .top-nav {
    padding-left: 80px;
  }
}
.top-nav ul {
  width: 100%;
  padding-right: 0;
  height: auto;
  display: flex;
  flex-direction: column;
  list-style: none;
  -moz-column-gap: 30px;
       column-gap: 30px;
  flex-flow: column;
}
@media (min-width: 768px) {
  .top-nav ul {
    width: auto;
    height: 45px;
    padding-right: 60px;
    flex-flow: row-reverse;
  }
}
.top-nav ul li {
  padding-right: 20px;
  transition: padding 300ms;
  padding-left: 20px;
  transition: padding 300ms;
  width: 100%;
  height: 45px;
  display: flex;
  align-items: center;
  list-style: none;
  border-bottom: 1px solid #888888;
  position: relative;
}
@media (min-width: 480px) {
  .top-nav ul li {
    padding-right: 25px;
  }
}
@media (min-width: 768px) {
  .top-nav ul li {
    padding-right: 30px;
  }
}
@media (min-width: 992px) {
  .top-nav ul li {
    padding-right: 60px;
  }
}
@media (min-width: 1200px) {
  .top-nav ul li {
    padding-right: 80px;
  }
}
@media (min-width: 480px) {
  .top-nav ul li {
    padding-left: 25px;
  }
}
@media (min-width: 768px) {
  .top-nav ul li {
    padding-left: 30px;
  }
}
@media (min-width: 992px) {
  .top-nav ul li {
    padding-left: 60px;
  }
}
@media (min-width: 1200px) {
  .top-nav ul li {
    padding-left: 80px;
  }
}
@media (min-width: 768px) {
  .top-nav ul li {
    width: auto;
    padding-right: 0;
    padding-left: 0;
    border-bottom: unset;
  }
}
.top-nav ul li a {
  height: 45px;
  text-transform: uppercase;
  text-decoration: none;
  color: #000000;
  font-weight: bold;
  font-size: 12px;
  display: flex;
  align-items: center;
}
@media (min-width: 768px) {
  .top-nav ul li a {
    color: rgb(237, 205, 44);
  }
}
.slide-line {
  height: 3px;
  background-color: #fefefe;
}

.header-buttons {
  padding-right: 20px;
  transition: padding 300ms;
  width: auto;
  height: 90px;
  display: flex;
  align-items: center;
  position: absolute;
  top: 0;
  right: 0;
  z-index: 6;
}
@media (min-width: 480px) {
  .header-buttons {
    padding-right: 25px;
  }
}
@media (min-width: 768px) {
  .header-buttons {
    padding-right: 30px;
  }
}
@media (min-width: 992px) {
  .header-buttons {
    padding-right: 60px;
  }
}
@media (min-width: 1200px) {
  .header-buttons {
    padding-right: 80px;
  }
}
@media (min-width: 768px) {
  .header-buttons {
    height: 45px;
    padding-left: 0;
  }
}

.glass {
  padding: 8px 10px;
  display: flex;
  align-items: center;
  top: auto;
  border: unset;
}
.glass i {
  color: #000000;
}
@media (min-width: 768px) {
  .glass {
    height: 45px;
    border: unset;
    padding: 8px 15px;
  }
  .glass i {
    color: #000000;
  }
  .glass i:hover {
    color: #aaa;
  }
}

.burger {
  margin-left: 0;
  padding: 8px 10px;
  display: flex;
  align-items: center;
}
.burger i {
  color: #000000;
}
@media (min-width: 340px) {
  .burger {
    margin-left: 10px;
  }
}
@media (min-width: 768px) {
  .burger {
    display: none;
  }
}

.site-search-wrap {
  width: 100%;
  height: auto;
  height: auto;
  display: none;
  position: absolute;
  top: 90px;
  left: 0;
  background-color: #ffffff;
  z-index: 6;
  box-shadow: 0px 2px 10px -2px #000000;
}
@media (min-width: 768px) {
  .site-search-wrap {
    top: 45px;
  }
}
.site-search-wrap .site-search {
  padding-right: 20px;
  transition: padding 300ms;
  padding-left: 20px;
  transition: padding 300ms;
}
@media (min-width: 480px) {
  .site-search-wrap .site-search {
    padding-right: 25px;
  }
}
@media (min-width: 768px) {
  .site-search-wrap .site-search {
    padding-right: 30px;
  }
}
@media (min-width: 992px) {
  .site-search-wrap .site-search {
    padding-right: 60px;
  }
}
@media (min-width: 1200px) {
  .site-search-wrap .site-search {
    padding-right: 80px;
  }
}
@media (min-width: 480px) {
  .site-search-wrap .site-search {
    padding-left: 25px;
  }
}
@media (min-width: 768px) {
  .site-search-wrap .site-search {
    padding-left: 30px;
  }
}
@media (min-width: 992px) {
  .site-search-wrap .site-search {
    padding-left: 60px;
  }
}
@media (min-width: 1200px) {
  .site-search-wrap .site-search {
    padding-left: 80px;
  }
}

/**
  * SITE SEARCH FORM STYLES
  */
.site-search {
  width: 100%;
  max-width: 1400px;
  margin: 0 auto;
  height: auto;
  padding: 35px 0;
  display: grid;
  grid-template-columns: 1fr 50px;
  grid-template-rows: auto;
}

.search-query {
  height: 50px;
  padding: 0;
  grid-column: 1/span 1;
  grid-row: 1;
  align-self: center;
}
.search-query label {
  width: 100%;
  max-width: 100%;
  height: 30px;
  color: #000000;
  display: block;
  text-transform: uppercase;
  text-align: left;
  display: none;
}
.search-query input {
  width: 100%;
  max-width: 100%;
  height: 50px;
  padding-left: 20px;
  border: 2px solid #000000;
  display: block;
  background-color: unset;
  color: #000000;
}

.search-submit {
  width: 50px;
  height: 50px;
  grid-column: 2/span 1;
  grid-row: 1;
  align-self: start;
  color: #000000;
  font-size: 1.4rem;
  background-color: #fefefe;
  transition: background-color 200ms;
  border-top: 2px solid #000000;
  border-right: 2px solid #000000;
  border-bottom: 2px solid #000000;
  line-height: 50px;
}
.search-submit:hover {
  background-color: #e0e0e0;
}

/**
  * CONTENT STYLES
  */
.main-wrap {
  grid-row-start: 2;
  grid-row-end: 3;
}
@media (min-width: 768px) {
  .main-wrap {
    width: 100%;
    height: auto;
    padding-right: 20px;
    transition: padding 300ms;
    padding-left: 20px;
    transition: padding 300ms;
    background-color: #fffeee;
    background-image: linear-gradient(to right, transparent 0%, rgba(179, 179, 179, 0.6) 0.1% 0.2%, transparent 0.2%, rgba(179, 179, 179, 0.6) 0.4% 0.5%, transparent 0.5%, rgba(179, 179, 179, 0.6) 1.2% 1.3%, transparent 1.3%, rgba(179, 179, 179, 0.6) 3.3% 3.4%, transparent 3.4% 20%, rgba(179, 179, 179, 0.6) 50%, rgba(102, 102, 102, 0.7) 67%, rgba(77, 77, 77, 0.8) 69%, rgba(51, 51, 51, 0.9) 69.95%, rgba(26, 26, 26, 0.9) 70%, rgba(51, 51, 51, 0.6) 70.05%, rgba(77, 77, 77, 0.6) 71%, rgba(102, 102, 102, 0.6) 73%, rgba(179, 179, 179, 0.6) 90%, transparent 100%);
  }
}
@media (min-width: 768px) and (min-width: 480px) {
  .main-wrap {
    padding-right: 25px;
  }
}
@media (min-width: 768px) and (min-width: 768px) {
  .main-wrap {
    padding-right: 30px;
  }
}
@media (min-width: 768px) and (min-width: 992px) {
  .main-wrap {
    padding-right: 60px;
  }
}
@media (min-width: 768px) and (min-width: 1200px) {
  .main-wrap {
    padding-right: 80px;
  }
}
@media (min-width: 768px) and (min-width: 480px) {
  .main-wrap {
    padding-left: 25px;
  }
}
@media (min-width: 768px) and (min-width: 768px) {
  .main-wrap {
    padding-left: 30px;
  }
}
@media (min-width: 768px) and (min-width: 992px) {
  .main-wrap {
    padding-left: 60px;
  }
}
@media (min-width: 768px) and (min-width: 1200px) {
  .main-wrap {
    padding-left: 80px;
  }
}

.main {
  height: 100%;
  overflow: hidden;
  width: 100%;
  max-width: 1400px;
  margin: 0 auto;
  padding-right: 0;
  margin-top: 0;
  padding-top: 0;
  padding-bottom: 20px;
  position: relative;
  z-index: 5;
  transform: rotate(0deg);
  box-shadow: 5px 0 15px -7px #000000;
}
@media (min-width: 768px) {
  .main {
    padding-left: 20px;
    transition: padding 300ms;
    padding-right: 20px;
    margin-top: -20px;
    padding-top: 20px;
    padding-bottom: 40px;
    transform: rotate(-0.5deg);
    box-shadow: unset;
  }
}
@media (min-width: 768px) and (min-width: 480px) {
  .main {
    padding-left: 25px;
  }
}
@media (min-width: 768px) and (min-width: 768px) {
  .main {
    padding-left: 30px;
  }
}
@media (min-width: 768px) and (min-width: 992px) {
  .main {
    padding-left: 60px;
  }
}
@media (min-width: 768px) and (min-width: 1200px) {
  .main {
    padding-left: 80px;
  }
}

/*.page-header {
  width: 100%;
  height: auto;
  background-repeat: no-repeat;
  background-size: cover;
  background-position: center 80%;
  position: relative;
  z-index: 1;
  //background-color: $brandColorPrimary;
  background-blend-mode: screen;

  @include media(">=tablet") {
    //min-height: 250px;
  }
}
  .page-header-overlay {
    width: 100%;
    height: 100%;
    position: absolute;
    top: 0;
    left: 0;
    z-index: 2;
    background-image: linear-gradient(darken($transGray, 40%), darken($transGray, 20%));
    opacity: 0.7;
    //background-blend-mode: multiply;
  }*/
/*.page-header-box-wrap {
  //@include inner-wrap;
  min-height: 100%;
  height: auto;
  //padding-top: calc($headerHeightMobile + $spacerPaddingTablet);
  //padding: 0;
  position: relative;
  z-index: 3;
  display: flex;
  align-items: center;

  @include media(">=tablet") {
    //@include pad-horizontal;
    //padding-top: calc($headerHeightDesktop + $spacerPaddingDesktop);//
    //height: auto;

    //display: none;
  }
}*/
/*.page-header-box {
  @include pad-top;
  @include pad-horizontal;
  //@include pad-bottom;
  width: 100%;
  height: 100%;
  //padding: 40px 30px;
  //padding-top: calc($headerHeightMobile + $spacerPaddingTablet);
  text-align: left;
  background-color: $white;

  @include media(">=tablet") {
    //width: 67%;
    //width: 100%;
    //padding-top: calc($headerHeightDesktop + $spacerPaddingDesktop);
  }

  h1 {
    margin: 0;
    padding: 0 0 20px 0;
    display: block;
    //color: $offWhite;
    font-size: 1.6rem;
    line-height: 1.3;
    //padding-bottom: 25px;
    font-style: italic;
    text-align: center;
    border-bottom: 3px solid $black;

    @include media(">=tablet") {
      font-size: 3.2rem;
    }
  }

  p {
    margin: 0;
    display: block;
    font-size: 1rem;
    font-weight: 500;
    color: $offWhite;

    @include media(">=tablet") {
      font-size: 1.2rem;
    }
  }
}*/
.page-content {
  display: grid;
  grid-template-columns: 1fr;
  grid-template-rows: auto;
}
@media (min-width: 768px) {
  .page-content {
    grid-template-columns: 1fr;
    grid-template-rows: auto;
  }
}

.page-content.side {
  grid-template-columns: 1fr 0px;
  grid-template-rows: auto auto;
}
@media (min-width: 768px) {
  .page-content.side {
    grid-template-columns: 1fr 320px;
    grid-template-rows: auto 0px;
  }
}

.page-main {
  padding-top: 30px;
  transition: padding 300ms;
  padding-bottom: 30px;
  transition: padding 300ms;
  padding-right: 20px;
  transition: padding 300ms;
  padding-left: 20px;
  transition: padding 300ms;
  width: 100%;
  grid-column: 1/span 1;
  grid-row: 2;
  background-color: #ffffff;
  overflow: visible;
}
@media (min-width: 480px) {
  .page-main {
    padding-top: 35px;
  }
}
@media (min-width: 768px) {
  .page-main {
    padding-top: 40px;
  }
}
@media (min-width: 992px) {
  .page-main {
    padding-top: 50px;
  }
}
@media (min-width: 1200px) {
  .page-main {
    padding-top: 60px;
  }
}
@media (min-width: 480px) {
  .page-main {
    padding-bottom: 35px;
  }
}
@media (min-width: 768px) {
  .page-main {
    padding-bottom: 40px;
  }
}
@media (min-width: 992px) {
  .page-main {
    padding-bottom: 50px;
  }
}
@media (min-width: 1200px) {
  .page-main {
    padding-bottom: 60px;
  }
}
@media (min-width: 480px) {
  .page-main {
    padding-right: 25px;
  }
}
@media (min-width: 768px) {
  .page-main {
    padding-right: 30px;
  }
}
@media (min-width: 992px) {
  .page-main {
    padding-right: 60px;
  }
}
@media (min-width: 1200px) {
  .page-main {
    padding-right: 80px;
  }
}
@media (min-width: 480px) {
  .page-main {
    padding-left: 25px;
  }
}
@media (min-width: 768px) {
  .page-main {
    padding-left: 30px;
  }
}
@media (min-width: 992px) {
  .page-main {
    padding-left: 60px;
  }
}
@media (min-width: 1200px) {
  .page-main {
    padding-left: 80px;
  }
}
@media (min-width: 768px) {
  .page-main {
    box-shadow: 5px 0 20px -7px #000000;
    grid-column: 1/span 1;
    grid-row: 1;
  }
}
.page-main h1 {
  margin: 0 0 30px 0;
  padding: 0 0 30px 0;
  display: block;
  font-size: 1.6rem;
  line-height: 1.3;
  font-style: italic;
  text-align: center;
  border-bottom: 3px solid #000000;
}
@media (min-width: 768px) {
  .page-main h1 {
    font-size: 2.8rem;
  }
}
.page-main h2 {
  margin-top: 50px;
  padding-bottom: 20px;
}
.page-main h2:first-of-type {
  margin-top: 0;
}
.page-main h3 {
  margin-top: 40px;
}
.page-main h4 {
  margin-top: 40px;
}
.page-main h5 {
  margin-top: 40px;
}
.page-main h6 {
  margin-top: 40px;
}
.page-main p {
  margin-bottom: 25px;
}
.page-main p:last-of-type {
  margin-bottom: 0;
}
.page-main ul {
  padding-left: 20px;
  line-height: 1.5;
  list-style-position: outside;
}
.page-main ul li {
  margin-bottom: 15px;
}

.page-section-wrap {
  width: 100%;
  height: auto;
  width: 100%;
}

.page-section {
  width: 100%;
  max-width: 1400px;
  margin: 0 auto;
  padding-right: 20px;
  transition: padding 300ms;
  padding-left: 20px;
  transition: padding 300ms;
  padding-top: 30px;
  transition: padding 300ms;
}
@media (min-width: 480px) {
  .page-section {
    padding-right: 25px;
  }
}
@media (min-width: 768px) {
  .page-section {
    padding-right: 30px;
  }
}
@media (min-width: 992px) {
  .page-section {
    padding-right: 60px;
  }
}
@media (min-width: 1200px) {
  .page-section {
    padding-right: 80px;
  }
}
@media (min-width: 480px) {
  .page-section {
    padding-left: 25px;
  }
}
@media (min-width: 768px) {
  .page-section {
    padding-left: 30px;
  }
}
@media (min-width: 992px) {
  .page-section {
    padding-left: 60px;
  }
}
@media (min-width: 1200px) {
  .page-section {
    padding-left: 80px;
  }
}
@media (min-width: 480px) {
  .page-section {
    padding-top: 35px;
  }
}
@media (min-width: 768px) {
  .page-section {
    padding-top: 40px;
  }
}
@media (min-width: 992px) {
  .page-section {
    padding-top: 50px;
  }
}
@media (min-width: 1200px) {
  .page-section {
    padding-top: 60px;
  }
}

.side .page-main {
  padding-right: 0;
}
@media (min-width: 768px) {
  .side .page-main {
    padding-right: 100px;
  }
}

.page-sidebar {
  padding-bottom: 30px;
  transition: padding 300ms;
  width: 100%;
  grid-column: 1/span 1;
  grid-row: 1;
}
@media (min-width: 480px) {
  .page-sidebar {
    padding-bottom: 35px;
  }
}
@media (min-width: 768px) {
  .page-sidebar {
    padding-bottom: 40px;
  }
}
@media (min-width: 992px) {
  .page-sidebar {
    padding-bottom: 50px;
  }
}
@media (min-width: 1200px) {
  .page-sidebar {
    padding-bottom: 60px;
  }
}
@media (min-width: 768px) {
  .page-sidebar {
    grid-column: 2/span 1;
    grid-row: 1;
  }
}

.alignright {
  width: 100%;
  float: none;
  padding: 20px;
}
@media (min-width: 768px) {
  .alignright {
    width: 50%;
    float: right;
    padding: 20px;
  }
}

.alignleft {
  width: 100%;
  float: none;
  padding: 20px;
}
@media (min-width: 768px) {
  .alignleft {
    width: 50%;
    float: left;
    padding: 20px;
  }
}

.single p:first-of-type::first-letter {
  display: inline;
  font-size: 1rem;
  float: none;
  margin: 0;
  padding: 0;
  border: unset;
  color: inherit;
  background-color: unset;
  font-family: itc-american-typewriter, serif;
}

figure {
  background-color: #eee;
  padding: 20px;
}
figure img {
  width: 100%;
}
figure.alignright {
  margin-right: 0;
  margin-left: 0;
  padding-right: 20px;
  padding-left: 20px;
}
@media (min-width: 768px) {
  figure.alignright {
    margin-left: 20px;
  }
}
figure.alignright img {
  width: 100%;
}
figure.alignleft {
  margin-right: 0;
  margin-left: 0;
  padding-right: 20px;
  padding-left: 20px;
}
@media (min-width: 768px) {
  figure.alignleft {
    margin-right: 20px;
  }
}
figure.alignleft img {
  width: 100%;
}
figure figcaption {
  width: 100%;
  font-size: 0.9rem;
}
/**
  * FOOTER STYLES
  */
.footer-wrap {
  grid-row-start: 3;
  grid-row-end: 4;
}
@media (min-width: 768px) {
  .footer-wrap {
    background-color: #fffeee;
    background-image: linear-gradient(to right, transparent 0%, rgba(179, 179, 179, 0.6) 0.1% 0.2%, transparent 0.2%, rgba(179, 179, 179, 0.6) 0.4% 0.5%, transparent 0.5%, rgba(179, 179, 179, 0.6) 1.2% 1.3%, transparent 1.3%, rgba(179, 179, 179, 0.6) 3.3% 3.4%, transparent 3.4% 20%, rgba(179, 179, 179, 0.6) 50%, rgba(102, 102, 102, 0.7) 67%, rgba(77, 77, 77, 0.8) 69%, rgba(51, 51, 51, 0.9) 69.95%, rgba(26, 26, 26, 0.9) 70%, rgba(51, 51, 51, 0.6) 70.05%, rgba(77, 77, 77, 0.6) 71%, rgba(102, 102, 102, 0.6) 73%, rgba(179, 179, 179, 0.6) 90%, transparent 100%);
  }
}

.footer {
  width: 100%;
  max-width: 1400px;
  margin: 0 auto;
  padding-bottom: 30px;
  transition: padding 300ms;
  padding-top: 20px;
  text-align: left;
  overflow: hidden;
  color: #000000;
  background-color: #f0ede8;
}
@media (min-width: 480px) {
  .footer {
    padding-bottom: 35px;
  }
}
@media (min-width: 768px) {
  .footer {
    padding-bottom: 40px;
  }
}
@media (min-width: 992px) {
  .footer {
    padding-bottom: 50px;
  }
}
@media (min-width: 1200px) {
  .footer {
    padding-bottom: 60px;
  }
}
@media (min-width: 768px) {
  .footer {
    background-color: unset;
  }
}

.footer-nav {
  margin-left: 20px;
  margin-right: 20px;
  transition: margin 300ms;
  max-width: calc(100% - 40px);
  padding-right: 20px;
  transition: padding 300ms;
  padding-left: 20px;
  transition: padding 300ms;
  padding-bottom: 20px;
}
@media (min-width: 480px) {
  .footer-nav {
    margin-left: 25px;
    margin-right: 25px;
    max-width: calc(100% - 50px);
  }
}
@media (min-width: 768px) {
  .footer-nav {
    margin-left: 30px;
    margin-right: 30px;
    max-width: calc(100% - 60px);
  }
}
@media (min-width: 992px) {
  .footer-nav {
    margin-left: 60px;
    margin-right: 60px;
    max-width: calc(100% - 120px);
  }
}
@media (min-width: 1200px) {
  .footer-nav {
    margin-left: 80px;
    margin-right: 80px;
    max-width: calc(100% - 160px);
  }
}
@media (min-width: 480px) {
  .footer-nav {
    padding-right: 25px;
  }
}
@media (min-width: 768px) {
  .footer-nav {
    padding-right: 30px;
  }
}
@media (min-width: 992px) {
  .footer-nav {
    padding-right: 60px;
  }
}
@media (min-width: 1200px) {
  .footer-nav {
    padding-right: 80px;
  }
}
@media (min-width: 480px) {
  .footer-nav {
    padding-left: 25px;
  }
}
@media (min-width: 768px) {
  .footer-nav {
    padding-left: 30px;
  }
}
@media (min-width: 992px) {
  .footer-nav {
    padding-left: 60px;
  }
}
@media (min-width: 1200px) {
  .footer-nav {
    padding-left: 80px;
  }
}
@media (min-width: 768px) {
  .footer-nav {
    width: auto;
    padding-bottom: 30px;
  }
}
.footer-nav ul {
  width: 100%;
  height: auto;
  display: flex;
  display: inline-block;
  list-style: none;
  text-align: flex-start;
}
@media (min-width: 768px) {
  .footer-nav ul {
    width: auto;
  }
}
.footer-nav ul li {
  padding-right: 20px;
  transition: padding 300ms;
  padding-left: 20px;
  transition: padding 300ms;
  width: 100%;
  list-style: none;
  position: relative;
  display: inline-block;
  position: relative;
  padding: 5px 10px;
}
@media (min-width: 480px) {
  .footer-nav ul li {
    padding-right: 25px;
  }
}
@media (min-width: 768px) {
  .footer-nav ul li {
    padding-right: 30px;
  }
}
@media (min-width: 992px) {
  .footer-nav ul li {
    padding-right: 60px;
  }
}
@media (min-width: 1200px) {
  .footer-nav ul li {
    padding-right: 80px;
  }
}
@media (min-width: 480px) {
  .footer-nav ul li {
    padding-left: 25px;
  }
}
@media (min-width: 768px) {
  .footer-nav ul li {
    padding-left: 30px;
  }
}
@media (min-width: 992px) {
  .footer-nav ul li {
    padding-left: 60px;
  }
}
@media (min-width: 1200px) {
  .footer-nav ul li {
    padding-left: 80px;
  }
}
@media (min-width: 768px) {
  .footer-nav ul li {
    width: auto;
    padding: 0 10px;
    padding: 0;
  }
  .footer-nav ul li:after {
    content: "|";
    color: #999999;
    position: absolute;
    top: 0;
    right: -2px;
  }
  .footer-nav ul li:last-child:after {
    content: "";
  }
}
.footer-nav ul li a {
  width: 100%;
  padding: 0;
  position: relative;
  display: block;
  align-items: center;
  font-size: 1rem;
  color: #000000;
  text-align: center;
  font-family: questa-grande, serif;
  text-transform: uppercase;
  font-weight: bold;
}
@media (min-width: 768px) {
  .footer-nav ul li a {
    align-items: left;
    width: auto;
    text-align: left;
  }
}

.copyright {
  margin-left: 20px;
  margin-right: 20px;
  transition: margin 300ms;
  max-width: calc(100% - 40px);
  padding-right: 20px;
  transition: padding 300ms;
  padding-left: 20px;
  transition: padding 300ms;
  font-size: 10px;
  text-align: center;
}
@media (min-width: 480px) {
  .copyright {
    margin-left: 25px;
    margin-right: 25px;
    max-width: calc(100% - 50px);
  }
}
@media (min-width: 768px) {
  .copyright {
    margin-left: 30px;
    margin-right: 30px;
    max-width: calc(100% - 60px);
  }
}
@media (min-width: 992px) {
  .copyright {
    margin-left: 60px;
    margin-right: 60px;
    max-width: calc(100% - 120px);
  }
}
@media (min-width: 1200px) {
  .copyright {
    margin-left: 80px;
    margin-right: 80px;
    max-width: calc(100% - 160px);
  }
}
@media (min-width: 480px) {
  .copyright {
    padding-right: 25px;
  }
}
@media (min-width: 768px) {
  .copyright {
    padding-right: 30px;
  }
}
@media (min-width: 992px) {
  .copyright {
    padding-right: 60px;
  }
}
@media (min-width: 1200px) {
  .copyright {
    padding-right: 80px;
  }
}
@media (min-width: 480px) {
  .copyright {
    padding-left: 25px;
  }
}
@media (min-width: 768px) {
  .copyright {
    padding-left: 30px;
  }
}
@media (min-width: 992px) {
  .copyright {
    padding-left: 60px;
  }
}
@media (min-width: 1200px) {
  .copyright {
    padding-left: 80px;
  }
}
@media (min-width: 768px) {
  .copyright {
    text-align: left;
    width: auto;
  }
}

.page-main p {
  margin-bottom: 25px;
}
.page-main p:first-of-type::first-letter {
  display: block;
  font-size: 6rem;
  float: left;
  margin: 4px 20px 0 0;
  padding: 15px;
  border: 4px solid rgb(237, 205, 44);
  color: #ffffff;
  background-color: #000000;
  font-family: baroque-text-jf, sans-serif;
  font-weight: 400;
  font-style: normal;
  font-family: carol-gothic, sans-serif;
  font-weight: 400;
  font-style: normal;
}
.page-main p:last-of-type {
  margin-bottom: 0;
}
/*# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImhvbWUuc2NzcyIsIl9jb21tb24uc2NzcyIsImxpYnJhcmllcy9fbm9ybWFsaXplLnNjc3MiLCJob21lLmNzcyIsInBhcnRpYWxzL19icmVha3BvaW50cy5tb2R1bGVzLnNjc3MiLCJwYXJ0aWFscy9fdmFyaWFibGVzLnNjc3MiLCJwYXJ0aWFscy9fZm9udHMuc2NzcyIsInBhcnRpYWxzL19taXhpbnMuc2NzcyIsImxpYnJhcmllcy9faW5jbHVkZS1tZWRpYS5zY3NzIiwicGFydGlhbHMvX2VsZW1lbnRzLnNjc3MiLCJwYXJ0aWFscy9faGVhZGVyLnNjc3MiLCJwYXJ0aWFscy9fc2VhcmNoZm9ybS5zY3NzIiwicGFydGlhbHMvX2NvbnRlbnQuc2NzcyIsInBhcnRpYWxzL19mb290ZXIuc2NzcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7OztHQUFBO0FDQUE7Ozs7R0FBQTtBQ0FBLDJFQUFBO0FBRUE7K0VBQUE7QUFHQTs7O0VBQUE7QUFLQTtFQUNFLGlCQUFBO0VBQW1CLE1BQUE7RUFDbkIsOEJBQUE7RUFBZ0MsTUFBQTtBQ1VsQzs7QURQQTsrRUFBQTtBQUdBOztFQUFBO0FBSUE7RUFDRSxTQUFBO0FDUUY7O0FETEE7O0VBQUE7QUFJQTtFQUNFLGNBQUE7QUNPRjs7QURKQTs7O0VBQUE7QUFLQTtFQUNFLGNBQUE7RUFDQSxnQkFBQTtBQ01GOztBREhBOytFQUFBO0FBR0E7OztFQUFBO0FBS0E7RUFDRSx1QkFBQTtFQUF5QixNQUFBO0VBQ3pCLFNBQUE7RUFBVyxNQUFBO0VBQ1gsaUJBQUE7RUFBbUIsTUFBQTtBQ09yQjs7QURKQTs7O0VBQUE7QUFLQTtFQUNFLGlDQUFBO0VBQW1DLE1BQUE7RUFDbkMsY0FBQTtFQUFnQixNQUFBO0FDUWxCOztBRExBOytFQUFBO0FBR0E7O0VBQUE7QUFJQTtFQUNFLDZCQUFBO0FDTUY7O0FESEE7OztFQUFBO0FBS0E7RUFDRSxtQkFBQTtFQUFxQixNQUFBO0VBQ3JCLDBCQUFBO0VBQTRCLE1BQUE7RUFDNUIseUNBQUE7VUFBQSxpQ0FBQTtFQUFtQyxNQUFBO0FDUXJDOztBRExBOztFQUFBO0FBSUE7O0VBRUUsbUJBQUE7QUNPRjs7QURKQTs7O0VBQUE7QUFLQTs7O0VBR0UsaUNBQUE7RUFBbUMsTUFBQTtFQUNuQyxjQUFBO0VBQWdCLE1BQUE7QUNRbEI7O0FETEE7O0VBQUE7QUFJQTtFQUNFLGNBQUE7QUNPRjs7QURKQTs7O0VBQUE7QUFLQTs7RUFFRSxjQUFBO0VBQ0EsY0FBQTtFQUNBLGtCQUFBO0VBQ0Esd0JBQUE7QUNNRjs7QURIQTtFQUNFLGVBQUE7QUNNRjs7QURIQTtFQUNFLFdBQUE7QUNNRjs7QURIQTsrRUFBQTtBQUdBOztFQUFBO0FBSUE7RUFDRSxrQkFBQTtBQ0lGOztBRERBOytFQUFBO0FBR0E7OztFQUFBO0FBS0E7Ozs7O0VBS0Usb0JBQUE7RUFBc0IsTUFBQTtFQUN0QixlQUFBO0VBQWlCLE1BQUE7RUFDakIsaUJBQUE7RUFBbUIsTUFBQTtFQUNuQixTQUFBO0VBQVcsTUFBQTtBQ01iOztBREhBOzs7RUFBQTtBQUtBOztFQUNRLE1BQUE7RUFDTixpQkFBQTtBQ01GOztBREhBOzs7RUFBQTtBQUtBOztFQUNTLE1BQUE7RUFDUCxvQkFBQTtBQ01GOztBREhBOztFQUFBO0FBSUE7Ozs7RUFJRSwwQkFBQTtBQ0tGOztBREZBOztFQUFBO0FBSUE7Ozs7RUFJRSxrQkFBQTtFQUNBLFVBQUE7QUNJRjs7QUREQTs7RUFBQTtBQUlBOzs7O0VBSUUsOEJBQUE7QUNHRjs7QURBQTs7RUFBQTtBQUlBO0VBQ0UsOEJBQUE7QUNFRjs7QURDQTs7Ozs7RUFBQTtBQU9BO0VBQ0Usc0JBQUE7RUFBd0IsTUFBQTtFQUN4QixjQUFBO0VBQWdCLE1BQUE7RUFDaEIsY0FBQTtFQUFnQixNQUFBO0VBQ2hCLGVBQUE7RUFBaUIsTUFBQTtFQUNqQixVQUFBO0VBQVksTUFBQTtFQUNaLG1CQUFBO0VBQXFCLE1BQUE7QUNPdkI7O0FESkE7O0VBQUE7QUFJQTtFQUNFLHdCQUFBO0FDTUY7O0FESEE7O0VBQUE7QUFJQTtFQUNFLGNBQUE7QUNLRjs7QURGQTs7O0VBQUE7QUFLQTs7RUFFRSxzQkFBQTtFQUF3QixNQUFBO0VBQ3hCLFVBQUE7RUFBWSxNQUFBO0FDTWQ7O0FESEE7O0VBQUE7QUFJQTs7RUFFRSxZQUFBO0FDS0Y7O0FERkE7OztFQUFBO0FBS0E7RUFDRSw2QkFBQTtFQUErQixNQUFBO0VBQy9CLG9CQUFBO0VBQXNCLE1BQUE7QUNNeEI7O0FESEE7O0VBQUE7QUFJQTtFQUNFLHdCQUFBO0FDS0Y7O0FERkE7OztFQUFBO0FBS0E7RUFDRSwwQkFBQTtFQUE0QixNQUFBO0VBQzVCLGFBQUE7RUFBZSxNQUFBO0FDTWpCOztBREhBOytFQUFBO0FBR0E7O0VBQUE7QUFJQTtFQUNFLGNBQUE7QUNJRjs7QUREQTs7RUFBQTtBQUlBO0VBQ0Usa0JBQUE7QUNHRjs7QURBQTsrRUFBQTtBQUdBOztFQUFBO0FBSUE7RUFDRSxhQUFBO0FDQ0Y7O0FERUE7O0VBQUE7QUFJQTtFQUNFLGFBQUE7QUNBRjs7QUMzVkE7Ozs7R0FBQTtBQWlCQTs7O0NBQUE7QUFlQTtFQUNFLHlCQXpCMEI7RUEwQjFCLHlCQXpCMEI7RUEwQjFCLHFCQXpCMEI7RUEwQjFCLHFCQXpCMEI7RUEwQjFCLHVCQXpCeUI7RUEwQnpCLDRCQXpCeUI7RUEwQnpCLGtCQXpCeUI7QURnVzNCOztBRTlXQTs7R0FBQTtBQUtBOztHQUFBO0FBMEJBOztHQUFBO0FDL0JBOzs7O0dBQUE7QUFRQTtFQUNFLHVCQUFBO0VBQ0EseUNBQUE7RUFDQSxnQkFBQTtFQUNBLGtCQUFBO0FIdVhGO0FHblhBO0VBQ0UsdUJBQUE7RUFDQSxzQ0FBQTtFQUNBLGdCQUFBO0VBQ0Esa0JBQUE7QUhxWEY7QUduWEE7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Q0FBQTtBQ3RCQTs7OztHQUFBO0FBWUE7RUFKRSxXQUFBO0VBQ0EsWUFBQTtBSjBjRjs7QUk1YkE7RUFMRSxXQUFBO0VBQ0EsaUJGVlU7RUVXVixjQUFBO0FKcWNGOztBSXphQTtFQW5CRSxnQkZadUI7RUVhdkIsd0JBQUE7QUpnY0Y7QUsrRUk7RUQ3Zko7SUFmSSxnQkZmeUI7RUZnZDNCO0FBQ0Y7QUswRUk7RUQ3Zko7SUFYSSxnQkZsQnFCO0VGb2R2QjtBQUNGO0FLcUVJO0VEN2ZKO0lBUEksZ0JGckJxQjtFRndkdkI7QUFDRjtBS2dFSTtFRDdmSjtJQUhJLGdCRnhCc0I7RUY0ZHhCO0FBQ0Y7O0FJemFBO0VBbkJFLG1CRnJDdUI7RUVzQ3ZCLHdCQUFBO0FKZ2NGO0FLc0RJO0VEcGVKO0lBZkksbUJGeEN5QjtFRnllM0I7QUFDRjtBS2lESTtFRHBlSjtJQVhJLG1CRjNDcUI7RUY2ZXZCO0FBQ0Y7QUs0Q0k7RURwZUo7SUFQSSxtQkY5Q3FCO0VGaWZ2QjtBQUNGO0FLdUNJO0VEcGVKO0lBSEksbUJGakRzQjtFRnFmeEI7QUFDRjs7QUl6YkE7RUFyREUsZ0JGWnVCO0VFYXZCLHdCQUFBO0VBd0JBLG1CRnJDdUI7RUVzQ3ZCLHdCQUFBO0FKMmRGO0FLMkJJO0VEM2RKO0lBakRJLGdCRmZ5QjtFRm9nQjNCO0FBQ0Y7QUtzQkk7RUQzZEo7SUE3Q0ksZ0JGbEJxQjtFRndnQnZCO0FBQ0Y7QUtpQkk7RUQzZEo7SUF6Q0ksZ0JGckJxQjtFRjRnQnZCO0FBQ0Y7QUtZSTtFRDNkSjtJQXJDSSxnQkZ4QnNCO0VGZ2hCeEI7QUFDRjtBS09JO0VEM2RKO0lBeEJJLG1CRnhDeUI7RUZ3aEIzQjtBQUNGO0FLRUk7RUQzZEo7SUFwQkksbUJGM0NxQjtFRjRoQnZCO0FBQ0Y7QUtISTtFRDNkSjtJQWhCSSxtQkY5Q3FCO0VGZ2lCdkI7QUFDRjtBS1JJO0VEM2RKO0lBWkksbUJGakRzQjtFRm9pQnhCO0FBQ0Y7O0FJMWNBO0VBeEJFLGtCRnZFdUI7RUV3RXZCLHdCQUFBO0VBQ0EsNEJBQUE7QUpzZUY7QUtuQkk7RUQ3Yko7SUFuQkksa0JGM0V5QjtJRTRFekIsNEJBQUE7RUp1ZUY7QUFDRjtBS3pCSTtFRDdiSjtJQWRJLGtCRi9FcUI7SUVnRnJCLDRCQUFBO0VKd2VGO0FBQ0Y7QUsvQkk7RUQ3Yko7SUFUSSxrQkZuRnFCO0lFb0ZyQiw0QkFBQTtFSnllRjtBQUNGO0FLckNJO0VEN2JKO0lBSkksa0JGdkZzQjtJRXdGdEIsNEJBQUE7RUowZUY7QUFDRjs7QUkxY0E7RUF4QkUsaUJGckd1QjtFRXNHdkIsd0JBQUE7RUFDQSw0QkFBQTtBSnNlRjtBS2pESTtFRC9aSjtJQW5CSSxpQkZ6R3lCO0lFMEd6Qiw0QkFBQTtFSnVlRjtBQUNGO0FLdkRJO0VEL1pKO0lBZEksaUJGN0dxQjtJRThHckIsNEJBQUE7RUp3ZUY7QUFDRjtBSzdESTtFRC9aSjtJQVRJLGlCRmpIcUI7SUVrSHJCLDRCQUFBO0VKeWVGO0FBQ0Y7QUtuRUk7RUQvWko7SUFKSSxpQkZySHNCO0lFc0h0Qiw0QkFBQTtFSjBlRjtBQUNGOztBSXJjQTtFQTdCRSxpQkZuSXVCO0VFb0l2QixrQkZwSXVCO0VFcUl2Qix3QkFBQTtFQUNBLDRCQUFBO0FKc2VGO0FLaEZJO0VENVhKO0lBdkJJLGlCRnhJeUI7SUV5SXpCLGtCRnpJeUI7SUUwSXpCLDRCQUFBO0VKdWVGO0FBQ0Y7QUt2Rkk7RUQ1WEo7SUFqQkksaUJGN0lxQjtJRThJckIsa0JGOUlxQjtJRStJckIsNEJBQUE7RUp3ZUY7QUFDRjtBSzlGSTtFRDVYSjtJQVhJLGlCRmxKcUI7SUVtSnJCLGtCRm5KcUI7SUVvSnJCLDZCQUFBO0VKeWVGO0FBQ0Y7QUtyR0k7RUQ1WEo7SUFMSSxpQkZ2SnNCO0lFd0p0QixrQkZ4SnNCO0lFeUp0Qiw2QkFBQTtFSjBlRjtBQUNGOztBSS9jQTtFQW5CRSxpQkYvSm9CO0VFZ0twQix5QkFBQTtBSnNlRjtBS2pISTtFRG5XSjtJQWZJLGlCRmxLc0I7RUZ5b0J4QjtBQUNGO0FLdEhJO0VEbldKO0lBWEksaUJGcktrQjtFRjZvQnBCO0FBQ0Y7QUszSEk7RURuV0o7SUFQSSxpQkZ4S2tCO0VGaXBCcEI7QUFDRjtBS2hJSTtFRG5XSjtJQUhJLGlCRjNLbUI7RUZxcEJyQjtBQUNGOztBSS9jQTtFQW5CRSxvQkZ4TG9CO0VFeUxwQix5QkFBQTtBSnNlRjtBSzFJSTtFRDFVSjtJQWZJLG9CRjNMc0I7RUZrcUJ4QjtBQUNGO0FLL0lJO0VEMVVKO0lBWEksb0JGOUxrQjtFRnNxQnBCO0FBQ0Y7QUtwSkk7RUQxVUo7SUFQSSxvQkZqTWtCO0VGMHFCcEI7QUFDRjtBS3pKSTtFRDFVSjtJQUhJLG9CRnBNbUI7RUY4cUJyQjtBQUNGOztBSS9jQTtFQW5CRSxrQkZ4TnVCO0VFeU52Qix5QkFBQTtBSnNlRjtBS25LSTtFRGpUSjtJQWZJLGtCRjNOeUI7RUZrc0IzQjtBQUNGO0FLeEtJO0VEalRKO0lBWEksa0JGOU5xQjtFRnNzQnZCO0FBQ0Y7QUs3S0k7RURqVEo7SUFQSSxrQkZqT3FCO0VGMHNCdkI7QUFDRjtBS2xMSTtFRGpUSjtJQUhJLGtCRnBPc0I7RUY4c0J4QjtBQUNGOztBSS9jQTtFQW5CRSxtQkZqUHVCO0VFa1B2Qix5QkFBQTtBSnNlRjtBSzVMSTtFRHhSSjtJQWZJLG1CRnBQeUI7RUYydEIzQjtBQUNGO0FLak1JO0VEeFJKO0lBWEksbUJGdlBxQjtFRit0QnZCO0FBQ0Y7QUt0TUk7RUR4Uko7SUFQSSxtQkYxUHFCO0VGbXVCdkI7QUFDRjtBSzNNSTtFRHhSSjtJQUhJLG1CRjdQc0I7RUZ1dUJ4QjtBQUNGOztBSS9kQTtFQXZHRSxpQkYvSm9CO0VFZ0twQix5QkFBQTtFQXdCQSxvQkZ4TG9CO0VFeUxwQix5QkFBQTtBSm1qQkY7QUt2Tkk7RUQvUUo7SUFuR0ksaUJGbEtzQjtFRit1QnhCO0FBQ0Y7QUs1Tkk7RUQvUUo7SUEvRkksaUJGcktrQjtFRm12QnBCO0FBQ0Y7QUtqT0k7RUQvUUo7SUEzRkksaUJGeEtrQjtFRnV2QnBCO0FBQ0Y7QUt0T0k7RUQvUUo7SUF2RkksaUJGM0ttQjtFRjJ2QnJCO0FBQ0Y7QUszT0k7RUQvUUo7SUExRUksb0JGM0xzQjtFRm13QnhCO0FBQ0Y7QUtoUEk7RUQvUUo7SUF0RUksb0JGOUxrQjtFRnV3QnBCO0FBQ0Y7QUtyUEk7RUQvUUo7SUFsRUksb0JGak1rQjtFRjJ3QnBCO0FBQ0Y7QUsxUEk7RUQvUUo7SUE5REksb0JGcE1tQjtFRit3QnJCO0FBQ0Y7O0FJcmdCQTtFQXJDRSxtQkZqUHVCO0VFa1B2Qix5QkFBQTtFQTFCQSxrQkZ4TnVCO0VFeU52Qix5QkFBQTtBSnlrQkY7QUt0UUk7RUR0UUo7SUFqQ0ksbUJGcFB5QjtFRnF5QjNCO0FBQ0Y7QUszUUk7RUR0UUo7SUE3QkksbUJGdlBxQjtFRnl5QnZCO0FBQ0Y7QUtoUkk7RUR0UUo7SUF6QkksbUJGMVBxQjtFRjZ5QnZCO0FBQ0Y7QUtyUkk7RUR0UUo7SUFyQkksbUJGN1BzQjtFRml6QnhCO0FBQ0Y7QUsxUkk7RUR0UUo7SUExREksa0JGM055QjtFRnl6QjNCO0FBQ0Y7QUsvUkk7RUR0UUo7SUF0REksa0JGOU5xQjtFRjZ6QnZCO0FBQ0Y7QUtwU0k7RUR0UUo7SUFsREksa0JGak9xQjtFRmkwQnZCO0FBQ0Y7QUt6U0k7RUR0UUo7SUE5Q0ksa0JGcE9zQjtFRnEwQnhCO0FBQ0Y7O0FJdGlCQTtFQVJFLGtCQUFBO0VBQ0EscUJBQUE7RUFDQSx5QkYvUE87RUVnUVAseUJBQUE7RUFDQSxjRmhRUztFRWlRVCxpQkFBQTtBSmtqQkY7O0FJM2lCQTs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Q0FBQTtBQXNEQTtFQVZFLGtCQUFBO0VBQ0EsVUFBQTtFQUNBLFdBQUE7RUFDQSxVQUFBO0VBQ0EsWUFBQTtFQUNBLGdCQUFBO0VBQ0Esc0JBQUE7RUFDQSxTQUFBO0FKNmlCRjs7QUlqaUJBO0VBSEUsZ0JBQUE7QUp3aUJGOztBTTc1QkE7Ozs7R0FBQTtBQU9BO0VBQ0Usc0JBQUE7QU44NUJGOztBTTM1QkE7RUFDRSxZQUFBO0VBQ0EsZUFBQTtFQUNBLGdCQUFBO0FOODVCRjs7QU0zNUJBO0VBQ0UsZ0JBQUE7RUFDQSxhQUFBO0VBQ0EsaUNBQUE7RUFDQSxTQUFBO0VBQ0EseUJKd0JPO0VJdkJQLFdKOEJVO0VJNUJWLDJDQUFBO0VBQ0EsZ0JBQUE7RUFDQSxrQkFBQTtBTjY1QkY7O0FNMTVCQTtFQUNFLGlDQUFBO0VBQ0EsaUJBQUE7RUFDQSx5QkFBQTtBTjY1QkY7O0FNMTVCQTtFQUNFLGFBQUE7RUFDQSxxQkFBQTtFQUNBLGlCQUFBO0FONjVCRjs7QU0xNUJBO0VBRUUsYUFBQTtFQUNBLHFCQUFBO0VBQ0EsaUJBQUE7RUFDQSxnQkFBQTtFQUdBLHNCQUFBO0FOMDVCRjs7QU12NUJBO0VBRUUsYUFBQTtFQUNBLG1CQUFBO0VBSUEsc0JBQUE7RUFDQSxpQkFBQTtBTnM1QkY7O0FNbjVCQTtFQUNFLGFBQUE7RUFDQSxpQkFBQTtFQUNBLG1CQUFBO0VBQ0EsZ0JBQUE7QU5zNUJGOztBTW41QkE7RUFDRSxhQUFBO0VBQ0EsaUJBQUE7RUFDQSxtQkFBQTtBTnM1QkY7O0FNbjVCQTtFQUNFLGFBQUE7RUFDQSxpQkFBQTtFQUNBLG1CQUFBO0FOczVCRjs7QU1uNUJBO0VBQ0UsU0FBQTtFQUNBLGlCQUFBO0VBR0EsZ0JBQUE7QU5vNUJGOztBTWo1QkE7RUFDRSxxQkFBQTtFQUNBLHNCSnJETztBRnk4QlQ7QU03M0JBO0VBQ0UsU0FBQTtFQUNBLFVBQUE7RUFDQSwyQkFBQTtBTiszQkY7O0FNeDNCQSx3QkFBQTtBQUNBO0VBQ0UscUJBQUE7RUFDQSxZQUFBO0VBRUEsVUFBQTtFQUNBLFNBQUE7RUFDQSxxQkFBQTtFQUNBLGdCQUFBO0VBS0EsZUFBQTtFQUlBLHdCQUFBO0VBQ0EscUJBQUE7QU5tM0JGOztBTW4yQkEsc0JBQUE7QUNoS0E7O0dBQUE7QUFJQTtFQUVFLFlBQUE7RUFDQSxpQkFBQTtFQUNBLGVBQUE7RUFHQSxVQUFBO0VBSUEseUJMNEJPO0FGbytCVDtBTzcvQkU7RUFDRSxhQUFBO0FQKy9CSjtBS3JlSTtFRXppQko7SUh5WEUseUJBQUE7SUFDQSw4aUJBQUE7RUp5cEJBO0VPNS9CRTtJQUNFLFVBQUE7RVA4L0JKO0FBQ0Y7O0FPMS9CRTtFQUNFLFdBQUE7RUFDQSxZQUFBO0VBQ0Esa0JBQUE7RUFDQSxNQUFBO0VBQ0EsT0FBQTtFQUNBLFVBQUE7RUFDQSxpQ0FBQTtFQUNBLFlBQUE7RUFFQSxhQUFBO0FQNC9CSjs7QU96L0JFO0VBQ0UsV0FBQTtFQUNBLFlMcENXO0VLcUNYLGtCQUFBO0VBQ0EsTUFBQTtFQUNBLE9BQUE7RUFDQSxVQUFBO0VBQ0EsYUFBQTtFQUdBLHVCQUFBO0VBRUEsa0NBQUE7QVB5L0JKO0FPdi9CSTtFQUNFLHlCTGZHO0FGd2dDVDtBS3pnQkk7RUUvZkY7SUFtQkksY0FBQTtFUHkvQko7QUFDRjs7QU9yL0JFO0VIcERBLFdBQUE7RUFDQSxpQkZWVTtFRVdWLGNBQUE7RUdvREUsWUwzRGlCO0VLNERqQixjQUFBO0VBQ0Esa0JBQUE7RUFDQSxhQUFBO0VBQ0EsMEJBQUE7RUFDQSw2QkFBQTtFQUNBLGtDQUFBO0FQMC9CSjtBSzNoQkk7RUV2ZUY7SUFpQkksWUFBQTtJQUVBLDBCQUFBO0lBQ0EsNkJBQUE7RVBvL0JKO0FBQ0Y7O0FPai9CSTtFSDJJRixrQkZ4TnVCO0VFeU52Qix5QkFBQTtFRzFJSSxhQUFBO0VBQ0EsZUFBQTtFQUNBLGNBQUE7RUFFQSxZTHZGZTtFS3dGZixxQkFBQTtFQUNBLGtCQUFBO0VBQ0Esa0JBQUE7RUFDQSxVQUFBO0FQby9CTjtBSy9pQkk7RUUvY0E7SUgrSUEsa0JGM055QjtFRjhrQzNCO0FBQ0Y7QUtwakJJO0VFL2NBO0lIbUpBLGtCRjlOcUI7RUZrbEN2QjtBQUNGO0FLempCSTtFRS9jQTtJSHVKQSxrQkZqT3FCO0VGc2xDdkI7QUFDRjtBSzlqQkk7RUUvY0E7SUgySkEsa0JGcE9zQjtFRjBsQ3hCO0FBQ0Y7QUtua0JJO0VFL2NBO0lIc0RGLGlCRm5JdUI7SUVvSXZCLGtCRnBJdUI7SUVxSXZCLHdCQUFBO0lBQ0EsNEJBQUE7SUd6Q00sYUxoR2M7SUtpR2QsWUFBQTtJQUNBLGdCTHBHTztJS3FHUCxVQUFBO0VQMGdDTjtBQUNGO0FLL2tCSTtFRS9jQTtJSDREQSxpQkZ4SXlCO0lFeUl6QixrQkZ6SXlCO0lFMEl6Qiw0QkFBQTtFSnMrQkY7QUFDRjtBS3RsQkk7RUUvY0E7SUhrRUEsaUJGN0lxQjtJRThJckIsa0JGOUlxQjtJRStJckIsNEJBQUE7RUp1K0JGO0FBQ0Y7QUs3bEJJO0VFL2NBO0lId0VBLGlCRmxKcUI7SUVtSnJCLGtCRm5KcUI7SUVvSnJCLDZCQUFBO0VKdytCRjtBQUNGO0FLcG1CSTtFRS9jQTtJSDhFQSxpQkZ2SnNCO0lFd0p0QixrQkZ4SnNCO0lFeUp0Qiw2QkFBQTtFSnkrQkY7QUFDRjtBT3RoQ007RUFDRSxnQkFBQTtFQUNBLFlMdkhhO0VLd0hiLGFBQUE7RUFDQSxtQkFBQTtFQUNBLG1CQUFBO0VBQ0EsaUJBQUE7RUFDQSxxQkFBQTtFQUNBLFdBQUE7RUFDQSxrQkFBQTtFQUNBLG9CQUFBO0FQd2hDUjtBS3ZuQkk7RUUzYUU7SUFjSSxhTGxJWTtJS21JWixZQUFBO0lBQ0EsZUFBQTtJQUNBLG9CQUFBO0lBQ0EsZ0NBQUE7RVB3aENSO0FBQ0Y7QUtob0JJO0VFM2FFO0lBc0JJLG9CQUFBO0VQeWhDUjtBQUNGO0FLcm9CSTtFRTNhRTtJQTJCSSxnQkFBQTtFUHloQ1I7QUFDRjtBT3JoQ1E7RUFDRSxjQUFBO0VBQ0EsY0xwSEQ7RUtxSEMsZ0JBQUE7RUFDQSxlQUFBO0VBQ0EsY0FBQTtBUHVoQ1Y7QUtqcEJJO0VFM1lJO0lBU0ksa0JBQUE7SUFDQSxlQUFBO0VQdWhDVjtBQUNGO0FLdnBCSTtFRTNZSTtJQWNJLGlCQUFBO0lBQ0EsZUFBQTtFUHdoQ1Y7QUFDRjtBSzdwQkk7RUUzWUk7SUFtQkksaUJBQUE7RVB5aENWO0FBQ0Y7QU92aENVO0VBQ0UsY0FBQTtFQUNBLGNBQUE7RUFDQSxnQkFBQTtFQUNBLGVBQUE7RUFDQSxpQ0FBQTtFQUNBLHlCQUFBO0FQeWhDWjtBSzFxQkk7RUVyWE07SUFVSSxpQkFBQTtFUHloQ1o7QUFDRjtBSy9xQkk7RUVyWE07SUFlSSxpQkFBQTtFUHloQ1o7QUFDRjtBS3ByQkk7RUVyWE07SUFvQkksZUFBQTtFUHloQ1o7QUFDRjtBS3pyQkk7RUVyWE07SUF5QkksaUJBQUE7RVB5aENaO0FBQ0Y7QUs5ckJJO0VFclhNO0lBOEJJLGlCQUFBO0VQeWhDWjtBQUNGO0FPdGhDVTtFQUVFLHdCQUFBO0VBQ0EsZ0JBQUE7RUFDQSxhQUFBO0VBQ0EsaUJBQUE7RUFDQSxvQkFBQTtFQUNBLGtCQUFBO0VBQ0EsY0xsTEg7RUttTEcsaUNBQUE7QVB1aENaO0FLN3NCSTtFRW5WTTtJQWFJLGlCQUFBO0VQdWhDWjtBQUNGO0FLbHRCSTtFRW5WTTtJQWlCSSxjQUFBO0lBQ0EsZ0JBQUE7SUFDQSxpQkFBQTtFUHdoQ1o7QUFDRjtBS3p0Qkk7RUVuVk07SUF1QkksZUFBQTtFUHloQ1o7QUFDRjs7QU9uaENJO0VIbElGLGlCRnJHdUI7RUVzR3ZCLHdCQUFBO0VBQ0EsNEJBQUE7RUdrSUksV0FBQTtFQUNBLFlBQUE7RUFHQSxrQkFBQTtFQUNBLGNBQUE7RUFDQSxrQkFBQTtFQUNBLFdBQUE7RUFDQSxZQUFBO0VBQ0EsTUFBQTtFQUNBLE9BQUE7QVBzaENOO0FLN3VCSTtFRXJUQTtJSDdIQSxpQkZ6R3lCO0lFMEd6Qiw0QkFBQTtFSm1xQ0Y7QUFDRjtBS252Qkk7RUVyVEE7SUh4SEEsaUJGN0dxQjtJRThHckIsNEJBQUE7RUpvcUNGO0FBQ0Y7QUt6dkJJO0VFclRBO0lIbkhBLGlCRmpIcUI7SUVrSHJCLDRCQUFBO0VKcXFDRjtBQUNGO0FLL3ZCSTtFRXJUQTtJSDlHQSxpQkZySHNCO0lFc0h0Qiw0QkFBQTtFSnNxQ0Y7QUFDRjtBS3J3Qkk7RUVyVEE7SUFvQkksV0FBQTtJQUNBLFdBQUE7SUFDQSxXQUFBO0lBQ0EsU0FBQTtJQUNBLFNBQUE7SUFDQSxVQUFBO0VQMGlDTjtBQUNGO0FLL3dCSTtFRXJUQTtJQWlDSSxZQUFBO0VQdWlDTjtBQUNGOztBT3BpQ0k7RUh2S0YsaUJGckd1QjtFRXNHdkIsd0JBQUE7RUFDQSw0QkFBQTtFQTBJQSxtQkZqUHVCO0VFa1B2Qix5QkFBQTtFQTFCQSxrQkZ4TnVCO0VFeU52Qix5QkFBQTtFR3NESSxpQkFBQTtFQUNBLG9CQUFBO0VBQ0EsY0FBQTtFQUNBLGlDQUFBO0VBSUEsaUJBQUE7RUFDQSxpQkFBQTtBUHlpQ047QUtweUJJO0VFaFJBO0lIbEtBLGlCRnpHeUI7SUUwR3pCLDRCQUFBO0VKMHRDRjtBQUNGO0FLMXlCSTtFRWhSQTtJSDdKQSxpQkY3R3FCO0lFOEdyQiw0QkFBQTtFSjJ0Q0Y7QUFDRjtBS2h6Qkk7RUVoUkE7SUh4SkEsaUJGakhxQjtJRWtIckIsNEJBQUE7RUo0dENGO0FBQ0Y7QUt0ekJJO0VFaFJBO0lIbkpBLGlCRnJIc0I7SUVzSHRCLDRCQUFBO0VKNnRDRjtBQUNGO0FLNXpCSTtFRWhSQTtJSHZCQSxtQkZwUHlCO0VGMjFDM0I7QUFDRjtBS2owQkk7RUVoUkE7SUhuQkEsbUJGdlBxQjtFRisxQ3ZCO0FBQ0Y7QUt0MEJJO0VFaFJBO0lIZkEsbUJGMVBxQjtFRm0yQ3ZCO0FBQ0Y7QUszMEJJO0VFaFJBO0lIWEEsbUJGN1BzQjtFRnUyQ3hCO0FBQ0Y7QUtoMUJJO0VFaFJBO0lIaERBLGtCRjNOeUI7RUYrMkMzQjtBQUNGO0FLcjFCSTtFRWhSQTtJSDVDQSxrQkY5TnFCO0VGbTNDdkI7QUFDRjtBSzExQkk7RUVoUkE7SUh4Q0Esa0JGak9xQjtFRnUzQ3ZCO0FBQ0Y7QUsvMUJJO0VFaFJBO0lIcENBLGtCRnBPc0I7RUYyM0N4QjtBQUNGOztBT3JtQ0k7RUFDRSxXQUFBO0VBQ0EsU0FBQTtFQUNBLGtCQUFBO0VBQ0EsU0xuU2U7RUtvU2YsYUFBQTtFQUNBLGdCQUFBO0VBQ0EsV0FBQTtBUHdtQ047QU90bUNNO0VBQ0UseUJMM1FDO0VLNFFELHFDQUFBO0FQd21DUjtBS2wzQkk7RUVqUUE7SUFlSSxrQkFBQTtJQUNBLFlBQUE7SUFDQSxjQUFBO0lBRUEsaUJBQUE7SUFFQSxTQUFBO0VQc21DTjtFT3BtQ007SUFFRSxpQkFBQTtFUHFtQ1I7QUFDRjs7QU9sbUNNO0VBQ0UsV0FBQTtFQUNBLGdCQUFBO0VBQ0EsZUFBQTtFQUNBLFlBQUE7RUFDQSxnQkFBQTtFQUNBLFNBQUE7RUFDQSxXQUFBO0VBQ0EsVUFBQTtFQUNBLGNBQUE7QVBxbUNSO0FLMTRCSTtFRXBPRTtJSG5OSixpQkZyR3VCO0lFc0d2Qix3QkFBQTtJQUNBLDRCQUFBO0lBMElBLG1CRmpQdUI7SUVrUHZCLHlCQUFBO0lBMUJBLGtCRnhOdUI7SUV5TnZCLHlCQUFBO0lHb0hRLGVBQUE7SUFDQSxXQUFBO0lBTUEsT0FBQTtFUCtsQ1I7QUFDRjtBS3g1Qkk7RUVwT0U7SUg5TUYsaUJGekd5QjtJRTBHekIsNEJBQUE7RUo4MENGO0FBQ0Y7QUs5NUJJO0VFcE9FO0lIek1GLGlCRjdHcUI7SUU4R3JCLDRCQUFBO0VKKzBDRjtBQUNGO0FLcDZCSTtFRXBPRTtJSHBNRixpQkZqSHFCO0lFa0hyQiw0QkFBQTtFSmcxQ0Y7QUFDRjtBSzE2Qkk7RUVwT0U7SUgvTEYsaUJGckhzQjtJRXNIdEIsNEJBQUE7RUppMUNGO0FBQ0Y7QUtoN0JJO0VFcE9FO0lIbkVGLG1CRnBQeUI7RUYrOEMzQjtBQUNGO0FLcjdCSTtFRXBPRTtJSC9ERixtQkZ2UHFCO0VGbTlDdkI7QUFDRjtBSzE3Qkk7RUVwT0U7SUgzREYsbUJGMVBxQjtFRnU5Q3ZCO0FBQ0Y7QUsvN0JJO0VFcE9FO0lIdkRGLG1CRjdQc0I7RUYyOUN4QjtBQUNGO0FLcDhCSTtFRXBPRTtJSDVGRixrQkYzTnlCO0VGbStDM0I7QUFDRjtBS3o4Qkk7RUVwT0U7SUh4RkYsa0JGOU5xQjtFRnUrQ3ZCO0FBQ0Y7QUs5OEJJO0VFcE9FO0lIcEZGLGtCRmpPcUI7RUYyK0N2QjtBQUNGO0FLbjlCSTtFRXBPRTtJSGhGRixrQkZwT3NCO0VGKytDeEI7QUFDRjtBT3ZwQ1E7RUFDRSxXQUFBO0VBQ0EsWUFBQTtFQUNBLGFBQUE7RUFDQSxzQkFBQTtFQUNBLG1CQUFBO0VBQ0EsZ0JBQUE7RUFFQSw2QkFBQTtFQUNBLGlCQUFBO0FQd3BDVjtBS2wrQkk7RUUvTEk7SUFZSSxXQUFBO0lBQ0Esb0JBQUE7SUFHQSxxQkFBQTtTQUFBLGdCQUFBO0lBQ0EsaUJBQUE7SUFDQSx1QkFBQTtFUHVwQ1Y7QUFDRjtBT3JwQ1U7RUhqSVIsbUJGalB1QjtFRWtQdkIseUJBQUE7RUExQkEsa0JGeE51QjtFRXlOdkIseUJBQUE7RUcySlUsV0FBQTtFQUNBLFlMMVhHO0VLMlhILGdCQUFBO0VBQ0EsaUJBQUE7RUFDQSxnQ0FBQTtFQUNBLGtCQUFBO0FQMHBDWjtBS3YvQkk7RUUxS007SUg3SE4sbUJGcFB5QjtFRnNoRDNCO0FBQ0Y7QUs1L0JJO0VFMUtNO0lIekhOLG1CRnZQcUI7RUYwaER2QjtBQUNGO0FLamdDSTtFRTFLTTtJSHJITixtQkYxUHFCO0VGOGhEdkI7QUFDRjtBS3RnQ0k7RUUxS007SUhqSE4sbUJGN1BzQjtFRmtpRHhCO0FBQ0Y7QUszZ0NJO0VFMUtNO0lIdEpOLGtCRjNOeUI7RUYwaUQzQjtBQUNGO0FLaGhDSTtFRTFLTTtJSGxKTixrQkY5TnFCO0VGOGlEdkI7QUFDRjtBS3JoQ0k7RUUxS007SUg5SU4sa0JGak9xQjtFRmtqRHZCO0FBQ0Y7QUsxaENJO0VFMUtNO0lIMUlOLGtCRnBPc0I7RUZzakR4QjtBQUNGO0FLL2hDSTtFRTFLTTtJQWNJLGdCQUFBO0lBQ0EsZUFBQTtJQUNBLFdBQUE7SUFHQSxvQkFBQTtJQUNBLHlCQUFBO0VQNnJDWjtFTzNyQ1k7SUFDRSxjQUFBO0VQNnJDZDtBQUNGO0FPeHJDWTtFQUNFLFdBQUE7RUFDQSxZTHRaQztFS3VaRCxVQUFBO0VBQ0Esa0JBQUE7RUFDQSxhQUFBO0VBQ0EsbUJBQUE7RUFFQSxpQkFBQTtFQUNBLGVBQUE7RUFDQSx5QkFBQTtFQUNBLGNMM1hMO0VLNFhLLGlDQUFBO0VBQ0Esa0JBQUE7QVB5ckNkO0FLempDSTtFRTdJUTtJQW9CSSxXQUFBO0lBRUEsY0FBQTtJQUVBLGlCQUFBO0lBQ0EsZ0JBQUE7RVBvckNkO0FBQ0Y7QU83cUNZO0VBQ0UsYUFBQTtFQUNBLGtCQUFBO0VBQ0EsUUFBQTtBUCtxQ2Q7QUt0a0NJO0VFNUdRO0lBTUksYUFBQTtFUGdyQ2Q7QUFDRjtBTzVxQ1k7RUFDRSxZQUFBO0VBQ0EsWUFBQTtFQUNBLGtCQUFBO0VBQ0EsU0FBQTtFQUNBLFFBQUE7RUFDQSxnQkFBQTtFQUNBLGFBQUE7RUFDQSx5QkxqYUQ7RUtrYUMsNkJBQUE7QVA4cUNkO0FPeHFDYztFQUNFLFdBQUE7RUFDQSxRQUFBO0VBQ0EsU0FBQTtFQUNBLGtDQUFBO0VBQ0EscUNBQUE7RUFDQSwrQkFBQTtFQUNBLHdCQUFBO0VBQ0Esa0JBQUE7RUFDQSxVQUFBO0VBQ0EsV0FBQTtFQUNBLGFBQUE7QVAwcUNoQjtBT3ZxQ2M7RUFDRSxZQUFBO0VBQ0EsWUFBQTtFQUNBLGdCQUFBO0VBQ0EsY0FBQTtFQUNBLDZCQUFBO0FQeXFDaEI7QU92cUNnQjtFQUNFLDZCQUFBO0FQeXFDbEI7QU90cUNnQjtFQUNFLDZCQUFBO0FQd3FDbEI7QU9ycUNnQjtFQUNFLDZCQUFBO0FQdXFDbEI7QU9wcUNnQjtFQUNFLDZCQUFBO0FQc3FDbEI7QU9ucUNnQjtFQUNFLFdBQUE7RUFDQSxZQUFBO0VBQ0Esa0JBQUE7RUFDQSxhQUFBO0VBQ0EsbUJBQUE7RUFDQSxxQkFBQTtBUHFxQ2xCO0FPbnFDa0I7RUFDRSwwQkFBQTtBUHFxQ3BCOztBTzVwQ007RUFDRSxnQkFBQTtFQUNBLGVBQUE7RUFDQSxXQUFBO0VBQ0EsWUFBQTtFQUNBLGtCQUFBO0VBQ0EsU0FBQTtFQUNBLFVBQUE7RUFDQSxVQUFBO0VBQ0EsY0FBQTtFQUNBLFdBQUE7QVArcENSO0FLOW9DSTtFRTNCRTtJSGhSSixtQkZqUHVCO0lFa1B2Qix5QkFBQTtJQTFCQSxrQkZ4TnVCO0lFeU52Qix5QkFBQTtJR3NUUSxXQUFBO0lBQ0EsWUxyaEJLO0lLc2hCTCxrQkFBQTtJQUNBLE1BQUE7SUFDQSxRQUFBO0lBQ0EsVUFBQTtFUG1xQ1I7QUFDRjtBSzVwQ0k7RUUzQkU7SUg1UUYsbUJGcFB5QjtFRjJyRDNCO0FBQ0Y7QUtqcUNJO0VFM0JFO0lIeFFGLG1CRnZQcUI7RUYrckR2QjtBQUNGO0FLdHFDSTtFRTNCRTtJSHBRRixtQkYxUHFCO0VGbXNEdkI7QUFDRjtBSzNxQ0k7RUUzQkU7SUhoUUYsbUJGN1BzQjtFRnVzRHhCO0FBQ0Y7QUtockNJO0VFM0JFO0lIclNGLGtCRjNOeUI7RUYrc0QzQjtBQUNGO0FLcnJDSTtFRTNCRTtJSGpTRixrQkY5TnFCO0VGbXREdkI7QUFDRjtBSzFyQ0k7RUUzQkU7SUg3UkYsa0JGak9xQjtFRnV0RHZCO0FBQ0Y7QUsvckNJO0VFM0JFO0lIelJGLGtCRnBPc0I7RUYydER4QjtBQUNGO0FPenNDUTtFQUNFLFdBQUE7RUFDQSxnQkFBQTtFQUNBLFlBQUE7RUFDQSxhQUFBO0VBQ0Esc0JBQUE7RUFDQSxnQkFBQTtFQUNBLHFCQUFBO09BQUEsZ0JBQUE7RUFDQSxpQkFBQTtBUDJzQ1Y7QUs5c0NJO0VFTEk7SUFXSSxXQUFBO0lBQ0EsWUx4aUJHO0lLeWlCSCxtQkFBQTtJQUNBLHNCQUFBO0VQNHNDVjtBQUNGO0FPMXNDVTtFSHZUUixtQkZqUHVCO0VFa1B2Qix5QkFBQTtFQTFCQSxrQkZ4TnVCO0VFeU52Qix5QkFBQTtFR2lWVSxXQUFBO0VBQ0EsWUFBQTtFQUNBLGFBQUE7RUFDQSxtQkFBQTtFQUNBLGdCQUFBO0VBQ0EsZ0NBQUE7RUFDQSxrQkFBQTtBUCtzQ1o7QUtudUNJO0VFWU07SUhuVE4sbUJGcFB5QjtFRmt3RDNCO0FBQ0Y7QUt4dUNJO0VFWU07SUgvU04sbUJGdlBxQjtFRnN3RHZCO0FBQ0Y7QUs3dUNJO0VFWU07SUgzU04sbUJGMVBxQjtFRjB3RHZCO0FBQ0Y7QUtsdkNJO0VFWU07SUh2U04sbUJGN1BzQjtFRjh3RHhCO0FBQ0Y7QUt2dkNJO0VFWU07SUg1VU4sa0JGM055QjtFRnN4RDNCO0FBQ0Y7QUs1dkNJO0VFWU07SUh4VU4sa0JGOU5xQjtFRjB4RHZCO0FBQ0Y7QUtqd0NJO0VFWU07SUhwVU4sa0JGak9xQjtFRjh4RHZCO0FBQ0Y7QUt0d0NJO0VFWU07SUhoVU4sa0JGcE9zQjtFRmt5RHhCO0FBQ0Y7QUszd0NJO0VFWU07SUFXSSxXQUFBO0lBQ0EsZ0JBQUE7SUFDQSxlQUFBO0lBQ0Esb0JBQUE7RVB3dkNaO0FBQ0Y7QU90dkNZO0VBQ0UsWUwvakJDO0VLZ2tCRCx5QkFBQTtFQUNBLHFCQUFBO0VBQ0EsY0w5aEJMO0VLK2hCSyxpQkFBQTtFQUNBLGVBQUE7RUFDQSxhQUFBO0VBQ0EsbUJBQUE7QVB3dkNkO0FLN3hDSTtFRTZCUTtJQVdJLHdCTC9pQlA7RUZ3eURQO0FBQ0Y7QU8vdUNNO0VBQ0UsV0FBQTtFQUNBLHlCTGpqQkc7QUZreURYOztBTzl1Q0k7RUhuV0YsbUJGalB1QjtFRWtQdkIseUJBQUE7RUdxV0ksV0FBQTtFQUNBLFlMNWxCZTtFSzZsQmYsYUFBQTtFQUNBLG1CQUFBO0VBQ0Esa0JBQUE7RUFDQSxNQUFBO0VBQ0EsUUFBQTtFQUNBLFVBQUE7QVBpdkNOO0FLbnpDSTtFRXdEQTtJSC9WQSxtQkZwUHlCO0VGazFEM0I7QUFDRjtBS3h6Q0k7RUV3REE7SUgzVkEsbUJGdlBxQjtFRnMxRHZCO0FBQ0Y7QUs3ekNJO0VFd0RBO0lIdlZBLG1CRjFQcUI7RUYwMUR2QjtBQUNGO0FLbDBDSTtFRXdEQTtJSG5WQSxtQkY3UHNCO0VGODFEeEI7QUFDRjtBS3YwQ0k7RUV3REE7SUFhSSxZTHRtQk87SUt1bUJQLGVBQUE7RVBzd0NOO0FBQ0Y7O0FPcHdDTTtFQUVFLGlCQUFBO0VBQ0EsYUFBQTtFQUNBLG1CQUFBO0VBRUEsU0FBQTtFQUlBLGFBQUE7QVBrd0NSO0FPaHdDUTtFQUNFLGNMbmxCRDtBRnExRFQ7QUt4MUNJO0VFeUVFO0lBcUJJLFlML25CSztJS2tvQkwsYUFBQTtJQVFBLGlCQUFBO0VQcXZDUjtFT252Q1E7SUFDRSxjTHptQkg7RUY4MURQO0VPbnZDVTtJQUNFLFdBQUE7RVBxdkNaO0FBQ0Y7O0FPaHZDTTtFQUNFLGNBQUE7RUFDQSxpQkFBQTtFQUNBLGFBQUE7RUFDQSxtQkFBQTtBUG12Q1I7QU9qdkNRO0VBQ0UsY0x6bkJEO0FGNDJEVDtBSy8yQ0k7RUVxSEU7SUFlSSxpQkFBQTtFUCt1Q1I7QUFDRjtBS3AzQ0k7RUVxSEU7SUFtQkksYUFBQTtFUGd2Q1I7QUFDRjs7QU83dUNJO0VIanJCRixXQUFBO0VBQ0EsWUFBQTtFR2tyQkksWUFBQTtFQUNBLGFBQUE7RUFDQSxrQkFBQTtFQUNBLFNManJCZTtFS2tyQmYsT0FBQTtFQUNBLHlCTGxwQkc7RUttcEJILFVBQUE7RUFFQSxxQ0FBQTtBUGd2Q047QUt0NENJO0VFNElBO0lBYUksU0wxckJPO0VGMjZEYjtBQUNGO0FPL3VDTTtFSHZjSixtQkZqUHVCO0VFa1B2Qix5QkFBQTtFQTFCQSxrQkZ4TnVCO0VFeU52Qix5QkFBQTtBSm90REY7QUtqNUNJO0VFNEpFO0lIbmNGLG1CRnBQeUI7RUZnN0QzQjtBQUNGO0FLdDVDSTtFRTRKRTtJSC9iRixtQkZ2UHFCO0VGbzdEdkI7QUFDRjtBSzM1Q0k7RUU0SkU7SUgzYkYsbUJGMVBxQjtFRnc3RHZCO0FBQ0Y7QUtoNkNJO0VFNEpFO0lIdmJGLG1CRjdQc0I7RUY0N0R4QjtBQUNGO0FLcjZDSTtFRTRKRTtJSDVkRixrQkYzTnlCO0VGbzhEM0I7QUFDRjtBSzE2Q0k7RUU0SkU7SUh4ZEYsa0JGOU5xQjtFRnc4RHZCO0FBQ0Y7QUsvNkNJO0VFNEpFO0lIcGRGLGtCRmpPcUI7RUY0OER2QjtBQUNGO0FLcDdDSTtFRTRKRTtJSGhkRixrQkZwT3NCO0VGZzlEeEI7QUFDRjs7QVF0K0RBOztHQUFBO0FBSUE7RUpjRSxXQUFBO0VBQ0EsaUJGVlU7RUVXVixjQUFBO0VJZEEsWUFBQTtFQUNBLGVBQUE7RUFDQSxhQUFBO0VBQ0EsK0JBQUE7RUFDQSx3QkFBQTtBUjArREY7O0FRditERTtFQUNFLFlBQUE7RUFDQSxVQUFBO0VBQ0EscUJBQUE7RUFDQSxXQUFBO0VBQ0Esa0JBQUE7QVIwK0RKO0FReCtESTtFQUNFLFdBQUE7RUFDQSxlQUFBO0VBQ0EsWUFBQTtFQUNBLGNOd0JHO0VNdkJILGNBQUE7RUFDQSx5QkFBQTtFQUNBLGdCQUFBO0VBQ0EsYUFBQTtBUjArRE47QVF2K0RJO0VBQ0UsV0FBQTtFQUNBLGVBQUE7RUFDQSxZQUFBO0VBQ0Esa0JBQUE7RUFDQSx5QkFBQTtFQUNBLGNBQUE7RUFDQSx1QkFBQTtFQUNBLGNOU0c7QUZnK0RUOztBUXIrREU7RUFDRSxXQUFBO0VBQ0EsWUFBQTtFQUNBLHFCQUFBO0VBQ0EsV0FBQTtFQUNBLGlCQUFBO0VBQ0EsY05ESztFTUVMLGlCQUFBO0VBQ0EseUJORk87RU1HUCxrQ0FBQTtFQUNBLDZCQUFBO0VBQ0EsK0JBQUE7RUFDQSxnQ0FBQTtFQUNBLGlCQUFBO0FSdytESjtBUXQrREk7RUFDRSx5Qk5STztBRmcvRGI7O0FTbmlFQTs7R0FBQTtBQUtBO0VBR0UsaUJBQUE7RUFDQSxlQUFBO0FUa2lFRjtBSzkvQ0k7RUl4aUJKO0lMR0UsV0FBQTtJQUNBLFlBQUE7SUF5UEEsbUJGalB1QjtJRWtQdkIseUJBQUE7SUExQkEsa0JGeE51QjtJRXlOdkIseUJBQUE7SUFtSkEseUJBQUE7SUFDQSw4aUJBQUE7RUp3ckRBO0FBQ0Y7QUsxZ0RJO0VJeGlCSjtJTGlRSSxtQkZwUHlCO0VGeWlFM0I7QUFDRjtBSy9nREk7RUl4aUJKO0lMcVFJLG1CRnZQcUI7RUY2aUV2QjtBQUNGO0FLcGhESTtFSXhpQko7SUx5UUksbUJGMVBxQjtFRmlqRXZCO0FBQ0Y7QUt6aERJO0VJeGlCSjtJTDZRSSxtQkY3UHNCO0VGcWpFeEI7QUFDRjtBSzloREk7RUl4aUJKO0lMd09JLGtCRjNOeUI7RUY2akUzQjtBQUNGO0FLbmlESTtFSXhpQko7SUw0T0ksa0JGOU5xQjtFRmlrRXZCO0FBQ0Y7QUt4aURJO0VJeGlCSjtJTGdQSSxrQkZqT3FCO0VGcWtFdkI7QUFDRjtBSzdpREk7RUl4aUJKO0lMb1BJLGtCRnBPc0I7RUZ5a0V4QjtBQUNGOztBUzNrRUU7RUFDRSxZQUFBO0VBQ0EsZ0JBQUE7RUxKRixXQUFBO0VBQ0EsaUJGVlU7RUVXVixjQUFBO0VLS0UsZ0JBQUE7RUFDQSxhQUFBO0VBQ0EsY0FBQTtFQUNBLG9CQUFBO0VBR0Esa0JBQUE7RUFDQSxVQUFBO0VBQ0EsdUJBQUE7RUFDQSxtQ0FBQTtBVDZrRUo7QUtsa0RJO0VJemhCRjtJTHFOQSxrQkZ4TnVCO0lFeU52Qix5QkFBQTtJS3BNSSxtQkFBQTtJQUNBLGlCQUFBO0lBQ0EsaUJBQUE7SUFDQSxvQkFBQTtJQUNBLDBCQUFBO0lBQ0EsaUJBQUE7RVQra0VKO0FBQ0Y7QUs5a0RJO0VJemhCRjtJTHlORSxrQkYzTnlCO0VGNm1FM0I7QUFDRjtBS25sREk7RUl6aEJGO0lMNk5FLGtCRjlOcUI7RUZpbkV2QjtBQUNGO0FLeGxESTtFSXpoQkY7SUxpT0Usa0JGak9xQjtFRnFuRXZCO0FBQ0Y7QUs3bERJO0VJemhCRjtJTHFPRSxrQkZwT3NCO0VGeW5FeEI7QUFDRjs7QVNqbUVJOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0lBQUE7QUEyQkU7Ozs7Ozs7Ozs7Ozs7Ozs7OztFQUFBO0FBbUJFOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7RUFBQTtBQWtERjtFQUNFLGFBQUE7RUFDQSwwQkFBQTtFQUNBLHdCQUFBO0FUK2xFUjtBS25zREk7RUkvWkU7SUFNSSwwQkFBQTtJQUNBLHdCQUFBO0VUZ21FUjtBQUNGOztBUzdsRU07RUFDRSw4QkFBQTtFQUNBLDZCQUFBO0FUZ21FUjtBSzlzREk7RUlwWkU7SUFLSSxnQ0FBQTtJQUNBLDRCQUFBO0VUaW1FUjtBQUNGOztBUy9sRVE7RUxxQk4saUJGL0pvQjtFRWdLcEIseUJBQUE7RUF3QkEsb0JGeExvQjtFRXlMcEIseUJBQUE7RUFpREEsbUJGalB1QjtFRWtQdkIseUJBQUE7RUExQkEsa0JGeE51QjtFRXlOdkIseUJBQUE7RUtyRVEsV0FBQTtFQUVBLHFCQUFBO0VBQ0EsV0FBQTtFQUVBLHlCUDVIRDtFTzZIQyxpQkFBQTtBVHNtRVY7QUtwdURJO0VJM1lJO0lMeUJKLGlCRmxLc0I7RUY0dkV4QjtBQUNGO0FLenVESTtFSTNZSTtJTDZCSixpQkZyS2tCO0VGZ3dFcEI7QUFDRjtBSzl1REk7RUkzWUk7SUxpQ0osaUJGeEtrQjtFRm93RXBCO0FBQ0Y7QUtudkRJO0VJM1lJO0lMcUNKLGlCRjNLbUI7RUZ3d0VyQjtBQUNGO0FLeHZESTtFSTNZSTtJTGtESixvQkYzTHNCO0VGZ3hFeEI7QUFDRjtBSzd2REk7RUkzWUk7SUxzREosb0JGOUxrQjtFRm94RXBCO0FBQ0Y7QUtsd0RJO0VJM1lJO0lMMERKLG9CRmpNa0I7RUZ3eEVwQjtBQUNGO0FLdndESTtFSTNZSTtJTDhESixvQkZwTW1CO0VGNHhFckI7QUFDRjtBSzV3REk7RUkzWUk7SUxvR0osbUJGcFB5QjtFRjJ5RTNCO0FBQ0Y7QUtqeERJO0VJM1lJO0lMd0dKLG1CRnZQcUI7RUYreUV2QjtBQUNGO0FLdHhESTtFSTNZSTtJTDRHSixtQkYxUHFCO0VGbXpFdkI7QUFDRjtBSzN4REk7RUkzWUk7SUxnSEosbUJGN1BzQjtFRnV6RXhCO0FBQ0Y7QUtoeURJO0VJM1lJO0lMMkVKLGtCRjNOeUI7RUYrekUzQjtBQUNGO0FLcnlESTtFSTNZSTtJTCtFSixrQkY5TnFCO0VGbTBFdkI7QUFDRjtBSzF5REk7RUkzWUk7SUxtRkosa0JGak9xQjtFRnUwRXZCO0FBQ0Y7QUsveURJO0VJM1lJO0lMdUZKLGtCRnBPc0I7RUYyMEV4QjtBQUNGO0FLcHpESTtFSTNZSTtJQVlJLG1DQUFBO0lBQ0EscUJBQUE7SUFDQSxXQUFBO0VUdXJFVjtBQUNGO0FTcnJFVTtFQUNFLGtCQUFBO0VBQ0EsbUJBQUE7RUFDQSxjQUFBO0VBRUEsaUJBQUE7RUFDQSxnQkFBQTtFQUVBLGtCQUFBO0VBQ0Esa0JBQUE7RUFDQSxnQ0FBQTtBVHFyRVo7QUtyMERJO0VJMVhNO0lBYUksaUJBQUE7RVRzckVaO0FBQ0Y7QVNuckVVO0VBQ0UsZ0JBQUE7RUFDQSxvQkFBQTtBVHFyRVo7QVNuckVZO0VBQ0UsYUFBQTtBVHFyRWQ7QVNqckVVO0VBQ0UsZ0JBQUE7QVRtckVaO0FTaHJFVTtFQUNFLGdCQUFBO0FUa3JFWjtBUy9xRVU7RUFDRSxnQkFBQTtBVGlyRVo7QVM5cUVVO0VBQ0UsZ0JBQUE7QVRnckVaO0FTN3FFVTtFQUNFLG1CQUFBO0FUK3FFWjtBUzdxRVk7RUFDRSxnQkFBQTtBVCtxRWQ7QVMzcUVVO0VBQ0Usa0JBQUE7RUFDQSxnQkFBQTtFQUNBLDRCQUFBO0FUNnFFWjtBUzNxRVk7RUFDRSxtQkFBQTtBVDZxRWQ7O0FTenFFVTtFTHZPUixXQUFBO0VBQ0EsWUFBQTtFS3dPVSxXQUFBO0FUNnFFWjs7QVMzcUVZO0VMak9WLFdBQUE7RUFDQSxpQkZWVTtFRVdWLGNBQUE7RUE4T0EsbUJGalB1QjtFRWtQdkIseUJBQUE7RUExQkEsa0JGeE51QjtFRXlOdkIseUJBQUE7RUFuREEsaUJGL0pvQjtFRWdLcEIseUJBQUE7QUprdkVGO0FLNzNESTtFSTFUUTtJTG1CUixtQkZwUHlCO0VGNDVFM0I7QUFDRjtBS2w0REk7RUkxVFE7SUx1QlIsbUJGdlBxQjtFRmc2RXZCO0FBQ0Y7QUt2NERJO0VJMVRRO0lMMkJSLG1CRjFQcUI7RUZvNkV2QjtBQUNGO0FLNTRESTtFSTFUUTtJTCtCUixtQkY3UHNCO0VGdzZFeEI7QUFDRjtBS2o1REk7RUkxVFE7SUxOUixrQkYzTnlCO0VGZzdFM0I7QUFDRjtBS3Q1REk7RUkxVFE7SUxGUixrQkY5TnFCO0VGbzdFdkI7QUFDRjtBSzM1REk7RUkxVFE7SUxFUixrQkZqT3FCO0VGdzdFdkI7QUFDRjtBS2g2REk7RUkxVFE7SUxNUixrQkZwT3NCO0VGNDdFeEI7QUFDRjtBS3I2REk7RUkxVFE7SUx4RFIsaUJGbEtzQjtFRjY3RXhCO0FBQ0Y7QUsxNkRJO0VJMVRRO0lMcERSLGlCRnJLa0I7RUZpOEVwQjtBQUNGO0FLLzZESTtFSTFUUTtJTGhEUixpQkZ4S2tCO0VGcThFcEI7QUFDRjtBS3A3REk7RUkxVFE7SUw1Q1IsaUJGM0ttQjtFRnk4RXJCO0FBQ0Y7O0FTMXVFUTtFQUNFLGdCQUFBO0FUNnVFVjtBSzc3REk7RUlqVEk7SUFJSSxvQkFBQTtFVDh1RVY7QUFDRjs7QVMzdUVRO0VMcEROLG9CRnhMb0I7RUV5THBCLHlCQUFBO0VLcURRLFdBQUE7RUFDQSxxQkFBQTtFQUNBLFdBQUE7QVQrdUVWO0FLMThESTtFSXpTSTtJTGhESixvQkYzTHNCO0VGaytFeEI7QUFDRjtBSy84REk7RUl6U0k7SUw1Q0osb0JGOUxrQjtFRnMrRXBCO0FBQ0Y7QUtwOURJO0VJelNJO0lMeENKLG9CRmpNa0I7RUYwK0VwQjtBQUNGO0FLejlESTtFSXpTSTtJTHBDSixvQkZwTW1CO0VGOCtFckI7QUFDRjtBSzk5REk7RUl6U0k7SUFPSSxxQkFBQTtJQUNBLFdBQUE7RVRvd0VWO0FBQ0Y7O0FTandFQTtFQUNFLFdBQUE7RUFDQSxXQUFBO0VBQ0EsYUFBQTtBVG93RUY7QUsxK0RJO0VJN1JKO0lBVUksVUFBQTtJQUNBLFlBQUE7SUFDQSxhQUFBO0VUaXdFRjtBQUNGOztBUzl2RUE7RUFDRSxXQUFBO0VBQ0EsV0FBQTtFQUNBLGFBQUE7QVRpd0VGO0FLdi9ESTtFSTdRSjtJQVVJLFVBQUE7SUFDQSxXQUFBO0lBQ0EsYUFBQTtFVDh2RUY7QUFDRjs7QVN4dkVJO0VBQ0UsZUFBQTtFQUNBLGVBQUE7RUFDQSxXQUFBO0VBQ0EsU0FBQTtFQUNBLFVBQUE7RUFDQSxhQUFBO0VBQ0EsY0FBQTtFQUNBLHVCQUFBO0VBQ0EsMkNBQUE7QVQydkVOOztBU3R2RUE7RUFDRSxzQkFBQTtFQUNBLGFBQUE7QVR5dkVGO0FTdnZFRTtFQUNFLFdBQUE7QVR5dkVKO0FTdHZFRTtFQUNFLGVBQUE7RUFDQSxjQUFBO0VBQ0EsbUJBQUE7RUFDQSxrQkFBQTtBVHd2RUo7QUt4aEVJO0VJcE9GO0lBT0ksaUJBQUE7RVR5dkVKO0FBQ0Y7QVN2dkVJO0VBQ0UsV0FBQTtBVHl2RU47QVM3dUVFO0VBQ0UsZUFBQTtFQUNBLGNBQUE7RUFDQSxtQkFBQTtFQUNBLGtCQUFBO0FUK3VFSjtBS3RpRUk7RUk3TUY7SUFPSSxrQkFBQTtFVGd2RUo7QUFDRjtBUzl1RUk7RUFDRSxXQUFBO0FUZ3ZFTjtBU3B1RUU7RUFDRSxXQUFBO0VBQ0EsaUJBQUE7QVRzdUVKO0FVL2xGQTs7R0FBQTtBQUtBO0VBQ0UsaUJBQUE7RUFDQSxlQUFBO0FWK2xGRjtBS3pqRUk7RUt4aUJKO0lOd1hFLHlCQUFBO0lBQ0EsOGlCQUFBO0VKNnVFQTtBQUNGOztBVTdsRkU7RU5HQSxXQUFBO0VBQ0EsaUJGVlU7RUVXVixjQUFBO0VBNExBLG9CRnhMb0I7RUV5THBCLHlCQUFBO0VNOUxFLGlCQUFBO0VBQ0EsZ0JBQUE7RUFDQSxnQkFBQTtFQUNBLGNSMEJLO0VRekJMLHlCUm9CSztBRjhrRlQ7QUs1a0VJO0VLOWhCRjtJTnFNRSxvQkYzTHNCO0VGb21GeEI7QUFDRjtBS2psRUk7RUs5aEJGO0lOeU1FLG9CRjlMa0I7RUZ3bUZwQjtBQUNGO0FLdGxFSTtFSzloQkY7SU42TUUsb0JGak1rQjtFRjRtRnBCO0FBQ0Y7QUszbEVJO0VLOWhCRjtJTmlORSxvQkZwTW1CO0VGZ25GckI7QUFDRjtBS2htRUk7RUs5aEJGO0lBV0ksdUJBQUE7RVZ1bkZKO0FBQ0Y7O0FVcm5GSTtFTnVIRixpQkZuSXVCO0VFb0l2QixrQkZwSXVCO0VFcUl2Qix3QkFBQTtFQUNBLDRCQUFBO0VBMkdBLG1CRmpQdUI7RUVrUHZCLHlCQUFBO0VBMUJBLGtCRnhOdUI7RUV5TnZCLHlCQUFBO0VNMU1JLG9CQUFBO0FWOG5GTjtBS2puRUk7RUtoaEJBO0lONkhBLGlCRnhJeUI7SUV5SXpCLGtCRnpJeUI7SUUwSXpCLDRCQUFBO0VKd2dGRjtBQUNGO0FLeG5FSTtFS2hoQkE7SU5tSUEsaUJGN0lxQjtJRThJckIsa0JGOUlxQjtJRStJckIsNEJBQUE7RUp5Z0ZGO0FBQ0Y7QUsvbkVJO0VLaGhCQTtJTnlJQSxpQkZsSnFCO0lFbUpyQixrQkZuSnFCO0lFb0pyQiw2QkFBQTtFSjBnRkY7QUFDRjtBS3RvRUk7RUtoaEJBO0lOK0lBLGlCRnZKc0I7SUV3SnRCLGtCRnhKc0I7SUV5SnRCLDZCQUFBO0VKMmdGRjtBQUNGO0FLN29FSTtFS2hoQkE7SU55T0EsbUJGcFB5QjtFRjRxRjNCO0FBQ0Y7QUtscEVJO0VLaGhCQTtJTjZPQSxtQkZ2UHFCO0VGZ3JGdkI7QUFDRjtBS3ZwRUk7RUtoaEJBO0lOaVBBLG1CRjFQcUI7RUZvckZ2QjtBQUNGO0FLNXBFSTtFS2hoQkE7SU5xUEEsbUJGN1BzQjtFRndyRnhCO0FBQ0Y7QUtqcUVJO0VLaGhCQTtJTmdOQSxrQkYzTnlCO0VGZ3NGM0I7QUFDRjtBS3RxRUk7RUtoaEJBO0lOb05BLGtCRjlOcUI7RUZvc0Z2QjtBQUNGO0FLM3FFSTtFS2hoQkE7SU53TkEsa0JGak9xQjtFRndzRnZCO0FBQ0Y7QUtockVJO0VLaGhCQTtJTjROQSxrQkZwT3NCO0VGNHNGeEI7QUFDRjtBS3JyRUk7RUtoaEJBO0lBTUksV0FBQTtJQUNBLG9CQUFBO0VWbXNGTjtBQUNGO0FVanNGTTtFQUNFLFdBQUE7RUFDQSxZQUFBO0VBQ0EsYUFBQTtFQUNBLHFCQUFBO0VBQ0EsZ0JBQUE7RUFDQSxzQkFBQTtBVm1zRlI7QUtuc0VJO0VLdGdCRTtJQVNJLFdBQUE7RVZvc0ZSO0FBQ0Y7QVVsc0ZRO0VOK01OLG1CRmpQdUI7RUVrUHZCLHlCQUFBO0VBMUJBLGtCRnhOdUI7RUV5TnZCLHlCQUFBO0VNckxRLFdBQUE7RUFDQSxnQkFBQTtFQUNBLGtCQUFBO0VBQ0EscUJBQUE7RUFDQSxrQkFBQTtFQUVBLGlCQUFBO0FWc3NGVjtBS3B0RUk7RUsxZkk7SU5tTkosbUJGcFB5QjtFRm12RjNCO0FBQ0Y7QUt6dEVJO0VLMWZJO0lOdU5KLG1CRnZQcUI7RUZ1dkZ2QjtBQUNGO0FLOXRFSTtFSzFmSTtJTjJOSixtQkYxUHFCO0VGMnZGdkI7QUFDRjtBS251RUk7RUsxZkk7SU4rTkosbUJGN1BzQjtFRit2RnhCO0FBQ0Y7QUt4dUVJO0VLMWZJO0lOMExKLGtCRjNOeUI7RUZ1d0YzQjtBQUNGO0FLN3VFSTtFSzFmSTtJTjhMSixrQkY5TnFCO0VGMndGdkI7QUFDRjtBS2x2RUk7RUsxZkk7SU5rTUosa0JGak9xQjtFRit3RnZCO0FBQ0Y7QUt2dkVJO0VLMWZJO0lOc01KLGtCRnBPc0I7RUZteEZ4QjtBQUNGO0FLNXZFSTtFSzFmSTtJQVdJLFdBQUE7SUFDQSxlQUFBO0lBQ0EsVUFBQTtFVit1RlY7RVU3dUZVO0lBQ0UsWUFBQTtJQUNBLGNSaEJHO0lRaUJILGtCQUFBO0lBQ0EsTUFBQTtJQUNBLFdBQUE7RVYrdUZaO0VVMXVGWTtJQUNFLFdBQUE7RVY0dUZkO0FBQ0Y7QVV4dUZVO0VBQ0UsV0FBQTtFQUNBLFVBQUE7RUFDQSxrQkFBQTtFQUNBLGNBQUE7RUFDQSxtQkFBQTtFQUNBLGVBQUE7RUFDQSxjUnpDSDtFUTBDRyxrQkFBQTtFQUNBLGlDQUFBO0VBQ0EseUJBQUE7RUFDQSxpQkFBQTtBVjB1Rlo7QUsxeEVJO0VLM2RNO0lBY0ksaUJBQUE7SUFDQSxXQUFBO0lBRUEsZ0JBQUE7RVYwdUZaO0FBQ0Y7O0FVcHVGSTtFTjBDRixpQkZuSXVCO0VFb0l2QixrQkZwSXVCO0VFcUl2Qix3QkFBQTtFQUNBLDRCQUFBO0VBMkdBLG1CRmpQdUI7RUVrUHZCLHlCQUFBO0VBMUJBLGtCRnhOdUI7RUV5TnZCLHlCQUFBO0VNM0hJLGVBQUE7RUFFQSxrQkFBQTtBVjB1Rk47QUs5eUVJO0VLbmNBO0lOZ0RBLGlCRnhJeUI7SUV5SXpCLGtCRnpJeUI7SUUwSXpCLDRCQUFBO0VKcXNGRjtBQUNGO0FLcnpFSTtFS25jQTtJTnNEQSxpQkY3SXFCO0lFOElyQixrQkY5SXFCO0lFK0lyQiw0QkFBQTtFSnNzRkY7QUFDRjtBSzV6RUk7RUtuY0E7SU40REEsaUJGbEpxQjtJRW1KckIsa0JGbkpxQjtJRW9KckIsNkJBQUE7RUp1c0ZGO0FBQ0Y7QUtuMEVJO0VLbmNBO0lOa0VBLGlCRnZKc0I7SUV3SnRCLGtCRnhKc0I7SUV5SnRCLDZCQUFBO0VKd3NGRjtBQUNGO0FLMTBFSTtFS25jQTtJTjRKQSxtQkZwUHlCO0VGeTJGM0I7QUFDRjtBSy8wRUk7RUtuY0E7SU5nS0EsbUJGdlBxQjtFRjYyRnZCO0FBQ0Y7QUtwMUVJO0VLbmNBO0lOb0tBLG1CRjFQcUI7RUZpM0Z2QjtBQUNGO0FLejFFSTtFS25jQTtJTndLQSxtQkY3UHNCO0VGcTNGeEI7QUFDRjtBSzkxRUk7RUtuY0E7SU5tSUEsa0JGM055QjtFRjYzRjNCO0FBQ0Y7QUtuMkVJO0VLbmNBO0lOdUlBLGtCRjlOcUI7RUZpNEZ2QjtBQUNGO0FLeDJFSTtFS25jQTtJTjJJQSxrQkZqT3FCO0VGcTRGdkI7QUFDRjtBSzcyRUk7RUtuY0E7SU4rSUEsa0JGcE9zQjtFRnk0RnhCO0FBQ0Y7QUtsM0VJO0VLbmNBO0lBVUksZ0JBQUE7SUFDQSxXQUFBO0VWK3lGTjtBQUNGOztBSHA1RkU7RUFDRSxtQkFBQTtBR3U1Rko7QUhyNUZJO0VBQ0UsY0FBQTtFQUNBLGVBQUE7RUFDQSxXQUFBO0VBQ0Esb0JBQUE7RUFDQSxhQUFBO0VBQ0EsbUNBQUE7RUFDQSxjS21CRztFTGxCSCx5QktvQkc7RUxuQkgsd0NBQUE7RUFDQSxnQkFBQTtFQUNBLGtCQUFBO0VBRUEscUNBQUE7RUFDQSxnQkFBQTtFQUNBLGtCQUFBO0FHczVGTjtBSDk0Rkk7RUFDRSxnQkFBQTtBR2c1Rk4iLCJmaWxlIjoiaG9tZS5jc3MiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAgKiBQQUdFLVNQRUNJRklDIFNUWUxFU0hFRVQ6IGhvbWVcbiAgKlxuICAqIEltcG9ydCBjb21tb24gc3R5bGVzIGFuZCBob3VzZSBwYWdlLXNwZWNpZmljIHN0eWxlcyBmb3IgcGFnZTogXCJob21lXCIuXG4gICovXG5cbkBpbXBvcnQgJ19jb21tb24nOyAvLyBjb21tb24gc3R5bGVzXG5cbi5ob21lLXNlY3Rpb24td3JhcCB7XG4gIC8vYmFja2dyb3VuZC1jb2xvcjogJGJyYW5kQ29sb3JQcmltYXJ5O1xufVxuICAuaG9tZS1zZWN0aW9uIHtcbiAgICAvL2NvbG9yOiAkYnJhbmRDb2xvckNvbnRyYXN0O1xuICB9XG5cbi5wYWdlLW1haW4ge1xuXG4gIHAge1xuICAgIG1hcmdpbi1ib3R0b206IDI1cHg7XG5cbiAgICAmOmZpcnN0LW9mLXR5cGU6OmZpcnN0LWxldHRlciB7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIGZvbnQtc2l6ZTogNnJlbTtcbiAgICAgIGZsb2F0OiBsZWZ0O1xuICAgICAgbWFyZ2luOiA0cHggMjBweCAwIDA7XG4gICAgICBwYWRkaW5nOiAxNXB4O1xuICAgICAgYm9yZGVyOiA0cHggc29saWQgJHllbGxvdztcbiAgICAgIGNvbG9yOiAkd2hpdGU7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYmxhY2s7XG4gICAgICBmb250LWZhbWlseTogYmFyb3F1ZS10ZXh0LWpmLCBzYW5zLXNlcmlmO1xuICAgICAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgICAgIGZvbnQtc3R5bGU6IG5vcm1hbDtcblxuICAgICAgZm9udC1mYW1pbHk6IGNhcm9sLWdvdGhpYywgc2Fucy1zZXJpZjtcbiAgICAgIGZvbnQtd2VpZ2h0OiA0MDA7XG4gICAgICBmb250LXN0eWxlOiBub3JtYWw7XG5cbiAgICAgIC8vb3V0bGluZS1zdHlsZTogZG91YmxlO1xuICAgICAgLy9vdXRsaW5lLWNvbG9yOiAkYmxhY2s7XG4gICAgICAvL291dGxpbmUtd2lkdGg6IDNweDtcblxuICAgIH1cblxuICAgICY6bGFzdC1vZi10eXBlIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgfVxuICB9XG59XG4iLCIvKipcbiAgKiBDT01NT04gU1RZTEVTXG4gICpcbiAgKiBEZWZpbmVzIHRoZSBzdHlsZXMgdG8gaW1wb3J0IHRoYXQgYXJlIHJlcXVpcmVkIGJ5IHZpcnR1YWxseSBhbGwgcGFnZXMuXG4gICovXG5cblxuLy8gaW1wb3J0IGxpYnJhcmllczpcbkBpbXBvcnQgJ2xpYnJhcmllcy9faW5jbHVkZS1tZWRpYS5zY3NzJzsgLy8gXCJJbmNsdWRlLU1lZGlhXCIgbWVkaWEgcXVlcnkgbGlicmFyeSAocHJvdmlkZXMgYnJlYWtwb2ludCBmdW5jdGlvbmFsaXR5IGZvciByZXNwb25zaXZlIGRlc2lnbilcbkBpbXBvcnQgJ2xpYnJhcmllcy9fbm9ybWFsaXplLnNjc3MnOyAgICAgLy8gXCJOb3JtYWxpemVcIiBjc3MgcmVzZXQgbGlicmFyeVxuXG4vLyBnbG9iYWwgc3R5bGVzIGFuZCBkZXBlbmRlbmNpZXM6XG5AaW1wb3J0ICdwYXJ0aWFscy9fYnJlYWtwb2ludHMubW9kdWxlcyc7ICAvLyBicmVha3BvaW50IGRlZmluaXRpb25zIGZvciBtZWRpYSBxdWVyeSB1c2VcbkBpbXBvcnQgJ3BhcnRpYWxzL192YXJpYWJsZXMnOyAgICAgICAgICAgIC8vIGdlbmVyYWwgdmFyaWFibGUgZGVmaW5pdGlvbnMgKGNvbG9ycywgZGltZW5zaW9ucywgZXRjLilcbkBpbXBvcnQgJ3BhcnRpYWxzL19mb250cyc7ICAgICAgICAgICAgICAgIC8vIEBmb250LWZhY2UgZGVmaW5pdGlvbnNcbkBpbXBvcnQgJ3BhcnRpYWxzL19taXhpbnMnOyAgICAgICAgICAgICAgIC8vIG1peGluIGFuZCBhc3NvY2lhdGVkIGNsYXNzIGRlZmluaXRpb25zXG5AaW1wb3J0ICdwYXJ0aWFscy9fZWxlbWVudHMnOyAgICAgICAgICAgICAvLyBnbG9iYWwgZWxlbWVudCBzZWxlY3RvciBzdHlsZXNcbkBpbXBvcnQgJ3BhcnRpYWxzL19oZWFkZXInOyAgICAgICAgICAgICAgIC8vIGhlYWRlciBzdHlsZXNcbkBpbXBvcnQgJ3BhcnRpYWxzL19zZWFyY2hmb3JtJzsgICAgICAgICAgIC8vIHNlYXJjaCBmb3JtIHN0eWxlc1xuQGltcG9ydCAncGFydGlhbHMvX2NvbnRlbnQnOyAgICAgICAgICAgICAgLy8gY29udGVudCBzdHlsZXNcbkBpbXBvcnQgJ3BhcnRpYWxzL19mb290ZXInOyAgICAgICAgICAgICAgIC8vIGZvb3RlciBzdHlsZXNcbiIsIi8qISBub3JtYWxpemUuY3NzIHY4LjAuMSB8IE1JVCBMaWNlbnNlIHwgZ2l0aHViLmNvbS9uZWNvbGFzL25vcm1hbGl6ZS5jc3MgKi9cblxuLyogRG9jdW1lbnRcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qKlxuICogMS4gQ29ycmVjdCB0aGUgbGluZSBoZWlnaHQgaW4gYWxsIGJyb3dzZXJzLlxuICogMi4gUHJldmVudCBhZGp1c3RtZW50cyBvZiBmb250IHNpemUgYWZ0ZXIgb3JpZW50YXRpb24gY2hhbmdlcyBpbiBpT1MuXG4gKi9cblxuaHRtbCB7XG4gIGxpbmUtaGVpZ2h0OiAxLjE1OyAvKiAxICovXG4gIC13ZWJraXQtdGV4dC1zaXplLWFkanVzdDogMTAwJTsgLyogMiAqL1xufVxuXG4vKiBTZWN0aW9uc1xuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLyoqXG4gKiBSZW1vdmUgdGhlIG1hcmdpbiBpbiBhbGwgYnJvd3NlcnMuXG4gKi9cblxuYm9keSB7XG4gIG1hcmdpbjogMDtcbn1cblxuLyoqXG4gKiBSZW5kZXIgdGhlIGBtYWluYCBlbGVtZW50IGNvbnNpc3RlbnRseSBpbiBJRS5cbiAqL1xuXG5tYWluIHtcbiAgZGlzcGxheTogYmxvY2s7XG59XG5cbi8qKlxuICogQ29ycmVjdCB0aGUgZm9udCBzaXplIGFuZCBtYXJnaW4gb24gYGgxYCBlbGVtZW50cyB3aXRoaW4gYHNlY3Rpb25gIGFuZFxuICogYGFydGljbGVgIGNvbnRleHRzIGluIENocm9tZSwgRmlyZWZveCwgYW5kIFNhZmFyaS5cbiAqL1xuXG5oMSB7XG4gIGZvbnQtc2l6ZTogMmVtO1xuICBtYXJnaW46IDAuNjdlbSAwO1xufVxuXG4vKiBHcm91cGluZyBjb250ZW50XG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKipcbiAqIDEuIEFkZCB0aGUgY29ycmVjdCBib3ggc2l6aW5nIGluIEZpcmVmb3guXG4gKiAyLiBTaG93IHRoZSBvdmVyZmxvdyBpbiBFZGdlIGFuZCBJRS5cbiAqL1xuXG5ociB7XG4gIGJveC1zaXppbmc6IGNvbnRlbnQtYm94OyAvKiAxICovXG4gIGhlaWdodDogMDsgLyogMSAqL1xuICBvdmVyZmxvdzogdmlzaWJsZTsgLyogMiAqL1xufVxuXG4vKipcbiAqIDEuIENvcnJlY3QgdGhlIGluaGVyaXRhbmNlIGFuZCBzY2FsaW5nIG9mIGZvbnQgc2l6ZSBpbiBhbGwgYnJvd3NlcnMuXG4gKiAyLiBDb3JyZWN0IHRoZSBvZGQgYGVtYCBmb250IHNpemluZyBpbiBhbGwgYnJvd3NlcnMuXG4gKi9cblxucHJlIHtcbiAgZm9udC1mYW1pbHk6IG1vbm9zcGFjZSwgbW9ub3NwYWNlOyAvKiAxICovXG4gIGZvbnQtc2l6ZTogMWVtOyAvKiAyICovXG59XG5cbi8qIFRleHQtbGV2ZWwgc2VtYW50aWNzXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKipcbiAqIFJlbW92ZSB0aGUgZ3JheSBiYWNrZ3JvdW5kIG9uIGFjdGl2ZSBsaW5rcyBpbiBJRSAxMC5cbiAqL1xuXG5hIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG59XG5cbi8qKlxuICogMS4gUmVtb3ZlIHRoZSBib3R0b20gYm9yZGVyIGluIENocm9tZSA1Ny1cbiAqIDIuIEFkZCB0aGUgY29ycmVjdCB0ZXh0IGRlY29yYXRpb24gaW4gQ2hyb21lLCBFZGdlLCBJRSwgT3BlcmEsIGFuZCBTYWZhcmkuXG4gKi9cblxuYWJiclt0aXRsZV0ge1xuICBib3JkZXItYm90dG9tOiBub25lOyAvKiAxICovXG4gIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lOyAvKiAyICovXG4gIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lIGRvdHRlZDsgLyogMiAqL1xufVxuXG4vKipcbiAqIEFkZCB0aGUgY29ycmVjdCBmb250IHdlaWdodCBpbiBDaHJvbWUsIEVkZ2UsIGFuZCBTYWZhcmkuXG4gKi9cblxuYixcbnN0cm9uZyB7XG4gIGZvbnQtd2VpZ2h0OiBib2xkZXI7XG59XG5cbi8qKlxuICogMS4gQ29ycmVjdCB0aGUgaW5oZXJpdGFuY2UgYW5kIHNjYWxpbmcgb2YgZm9udCBzaXplIGluIGFsbCBicm93c2Vycy5cbiAqIDIuIENvcnJlY3QgdGhlIG9kZCBgZW1gIGZvbnQgc2l6aW5nIGluIGFsbCBicm93c2Vycy5cbiAqL1xuXG5jb2RlLFxua2JkLFxuc2FtcCB7XG4gIGZvbnQtZmFtaWx5OiBtb25vc3BhY2UsIG1vbm9zcGFjZTsgLyogMSAqL1xuICBmb250LXNpemU6IDFlbTsgLyogMiAqL1xufVxuXG4vKipcbiAqIEFkZCB0aGUgY29ycmVjdCBmb250IHNpemUgaW4gYWxsIGJyb3dzZXJzLlxuICovXG5cbnNtYWxsIHtcbiAgZm9udC1zaXplOiA4MCU7XG59XG5cbi8qKlxuICogUHJldmVudCBgc3ViYCBhbmQgYHN1cGAgZWxlbWVudHMgZnJvbSBhZmZlY3RpbmcgdGhlIGxpbmUgaGVpZ2h0IGluXG4gKiBhbGwgYnJvd3NlcnMuXG4gKi9cblxuc3ViLFxuc3VwIHtcbiAgZm9udC1zaXplOiA3NSU7XG4gIGxpbmUtaGVpZ2h0OiAwO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHZlcnRpY2FsLWFsaWduOiBiYXNlbGluZTtcbn1cblxuc3ViIHtcbiAgYm90dG9tOiAtMC4yNWVtO1xufVxuXG5zdXAge1xuICB0b3A6IC0wLjVlbTtcbn1cblxuLyogRW1iZWRkZWQgY29udGVudFxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLyoqXG4gKiBSZW1vdmUgdGhlIGJvcmRlciBvbiBpbWFnZXMgaW5zaWRlIGxpbmtzIGluIElFIDEwLlxuICovXG5cbmltZyB7XG4gIGJvcmRlci1zdHlsZTogbm9uZTtcbn1cblxuLyogRm9ybXNcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qKlxuICogMS4gQ2hhbmdlIHRoZSBmb250IHN0eWxlcyBpbiBhbGwgYnJvd3NlcnMuXG4gKiAyLiBSZW1vdmUgdGhlIG1hcmdpbiBpbiBGaXJlZm94IGFuZCBTYWZhcmkuXG4gKi9cblxuYnV0dG9uLFxuaW5wdXQsXG5vcHRncm91cCxcbnNlbGVjdCxcbnRleHRhcmVhIHtcbiAgZm9udC1mYW1pbHk6IGluaGVyaXQ7IC8qIDEgKi9cbiAgZm9udC1zaXplOiAxMDAlOyAvKiAxICovXG4gIGxpbmUtaGVpZ2h0OiAxLjE1OyAvKiAxICovXG4gIG1hcmdpbjogMDsgLyogMiAqL1xufVxuXG4vKipcbiAqIFNob3cgdGhlIG92ZXJmbG93IGluIElFLlxuICogMS4gU2hvdyB0aGUgb3ZlcmZsb3cgaW4gRWRnZS5cbiAqL1xuXG5idXR0b24sXG5pbnB1dCB7IC8qIDEgKi9cbiAgb3ZlcmZsb3c6IHZpc2libGU7XG59XG5cbi8qKlxuICogUmVtb3ZlIHRoZSBpbmhlcml0YW5jZSBvZiB0ZXh0IHRyYW5zZm9ybSBpbiBFZGdlLCBGaXJlZm94LCBhbmQgSUUuXG4gKiAxLiBSZW1vdmUgdGhlIGluaGVyaXRhbmNlIG9mIHRleHQgdHJhbnNmb3JtIGluIEZpcmVmb3guXG4gKi9cblxuYnV0dG9uLFxuc2VsZWN0IHsgLyogMSAqL1xuICB0ZXh0LXRyYW5zZm9ybTogbm9uZTtcbn1cblxuLyoqXG4gKiBDb3JyZWN0IHRoZSBpbmFiaWxpdHkgdG8gc3R5bGUgY2xpY2thYmxlIHR5cGVzIGluIGlPUyBhbmQgU2FmYXJpLlxuICovXG5cbmJ1dHRvbixcblt0eXBlPVwiYnV0dG9uXCJdLFxuW3R5cGU9XCJyZXNldFwiXSxcblt0eXBlPVwic3VibWl0XCJdIHtcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiBidXR0b247XG59XG5cbi8qKlxuICogUmVtb3ZlIHRoZSBpbm5lciBib3JkZXIgYW5kIHBhZGRpbmcgaW4gRmlyZWZveC5cbiAqL1xuXG5idXR0b246Oi1tb3otZm9jdXMtaW5uZXIsXG5bdHlwZT1cImJ1dHRvblwiXTo6LW1vei1mb2N1cy1pbm5lcixcblt0eXBlPVwicmVzZXRcIl06Oi1tb3otZm9jdXMtaW5uZXIsXG5bdHlwZT1cInN1Ym1pdFwiXTo6LW1vei1mb2N1cy1pbm5lciB7XG4gIGJvcmRlci1zdHlsZTogbm9uZTtcbiAgcGFkZGluZzogMDtcbn1cblxuLyoqXG4gKiBSZXN0b3JlIHRoZSBmb2N1cyBzdHlsZXMgdW5zZXQgYnkgdGhlIHByZXZpb3VzIHJ1bGUuXG4gKi9cblxuYnV0dG9uOi1tb3otZm9jdXNyaW5nLFxuW3R5cGU9XCJidXR0b25cIl06LW1vei1mb2N1c3JpbmcsXG5bdHlwZT1cInJlc2V0XCJdOi1tb3otZm9jdXNyaW5nLFxuW3R5cGU9XCJzdWJtaXRcIl06LW1vei1mb2N1c3Jpbmcge1xuICBvdXRsaW5lOiAxcHggZG90dGVkIEJ1dHRvblRleHQ7XG59XG5cbi8qKlxuICogQ29ycmVjdCB0aGUgcGFkZGluZyBpbiBGaXJlZm94LlxuICovXG5cbmZpZWxkc2V0IHtcbiAgcGFkZGluZzogMC4zNWVtIDAuNzVlbSAwLjYyNWVtO1xufVxuXG4vKipcbiAqIDEuIENvcnJlY3QgdGhlIHRleHQgd3JhcHBpbmcgaW4gRWRnZSBhbmQgSUUuXG4gKiAyLiBDb3JyZWN0IHRoZSBjb2xvciBpbmhlcml0YW5jZSBmcm9tIGBmaWVsZHNldGAgZWxlbWVudHMgaW4gSUUuXG4gKiAzLiBSZW1vdmUgdGhlIHBhZGRpbmcgc28gZGV2ZWxvcGVycyBhcmUgbm90IGNhdWdodCBvdXQgd2hlbiB0aGV5IHplcm8gb3V0XG4gKiAgICBgZmllbGRzZXRgIGVsZW1lbnRzIGluIGFsbCBicm93c2Vycy5cbiAqL1xuXG5sZWdlbmQge1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94OyAvKiAxICovXG4gIGNvbG9yOiBpbmhlcml0OyAvKiAyICovXG4gIGRpc3BsYXk6IHRhYmxlOyAvKiAxICovXG4gIG1heC13aWR0aDogMTAwJTsgLyogMSAqL1xuICBwYWRkaW5nOiAwOyAvKiAzICovXG4gIHdoaXRlLXNwYWNlOiBub3JtYWw7IC8qIDEgKi9cbn1cblxuLyoqXG4gKiBBZGQgdGhlIGNvcnJlY3QgdmVydGljYWwgYWxpZ25tZW50IGluIENocm9tZSwgRmlyZWZveCwgYW5kIE9wZXJhLlxuICovXG5cbnByb2dyZXNzIHtcbiAgdmVydGljYWwtYWxpZ246IGJhc2VsaW5lO1xufVxuXG4vKipcbiAqIFJlbW92ZSB0aGUgZGVmYXVsdCB2ZXJ0aWNhbCBzY3JvbGxiYXIgaW4gSUUgMTArLlxuICovXG5cbnRleHRhcmVhIHtcbiAgb3ZlcmZsb3c6IGF1dG87XG59XG5cbi8qKlxuICogMS4gQWRkIHRoZSBjb3JyZWN0IGJveCBzaXppbmcgaW4gSUUgMTAuXG4gKiAyLiBSZW1vdmUgdGhlIHBhZGRpbmcgaW4gSUUgMTAuXG4gKi9cblxuW3R5cGU9XCJjaGVja2JveFwiXSxcblt0eXBlPVwicmFkaW9cIl0ge1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94OyAvKiAxICovXG4gIHBhZGRpbmc6IDA7IC8qIDIgKi9cbn1cblxuLyoqXG4gKiBDb3JyZWN0IHRoZSBjdXJzb3Igc3R5bGUgb2YgaW5jcmVtZW50IGFuZCBkZWNyZW1lbnQgYnV0dG9ucyBpbiBDaHJvbWUuXG4gKi9cblxuW3R5cGU9XCJudW1iZXJcIl06Oi13ZWJraXQtaW5uZXItc3Bpbi1idXR0b24sXG5bdHlwZT1cIm51bWJlclwiXTo6LXdlYmtpdC1vdXRlci1zcGluLWJ1dHRvbiB7XG4gIGhlaWdodDogYXV0bztcbn1cblxuLyoqXG4gKiAxLiBDb3JyZWN0IHRoZSBvZGQgYXBwZWFyYW5jZSBpbiBDaHJvbWUgYW5kIFNhZmFyaS5cbiAqIDIuIENvcnJlY3QgdGhlIG91dGxpbmUgc3R5bGUgaW4gU2FmYXJpLlxuICovXG5cblt0eXBlPVwic2VhcmNoXCJdIHtcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiB0ZXh0ZmllbGQ7IC8qIDEgKi9cbiAgb3V0bGluZS1vZmZzZXQ6IC0ycHg7IC8qIDIgKi9cbn1cblxuLyoqXG4gKiBSZW1vdmUgdGhlIGlubmVyIHBhZGRpbmcgaW4gQ2hyb21lIGFuZCBTYWZhcmkgb24gbWFjT1MuXG4gKi9cblxuW3R5cGU9XCJzZWFyY2hcIl06Oi13ZWJraXQtc2VhcmNoLWRlY29yYXRpb24ge1xuICAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7XG59XG5cbi8qKlxuICogMS4gQ29ycmVjdCB0aGUgaW5hYmlsaXR5IHRvIHN0eWxlIGNsaWNrYWJsZSB0eXBlcyBpbiBpT1MgYW5kIFNhZmFyaS5cbiAqIDIuIENoYW5nZSBmb250IHByb3BlcnRpZXMgdG8gYGluaGVyaXRgIGluIFNhZmFyaS5cbiAqL1xuXG46Oi13ZWJraXQtZmlsZS11cGxvYWQtYnV0dG9uIHtcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiBidXR0b247IC8qIDEgKi9cbiAgZm9udDogaW5oZXJpdDsgLyogMiAqL1xufVxuXG4vKiBJbnRlcmFjdGl2ZVxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLypcbiAqIEFkZCB0aGUgY29ycmVjdCBkaXNwbGF5IGluIEVkZ2UsIElFIDEwKywgYW5kIEZpcmVmb3guXG4gKi9cblxuZGV0YWlscyB7XG4gIGRpc3BsYXk6IGJsb2NrO1xufVxuXG4vKlxuICogQWRkIHRoZSBjb3JyZWN0IGRpc3BsYXkgaW4gYWxsIGJyb3dzZXJzLlxuICovXG5cbnN1bW1hcnkge1xuICBkaXNwbGF5OiBsaXN0LWl0ZW07XG59XG5cbi8qIE1pc2NcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qKlxuICogQWRkIHRoZSBjb3JyZWN0IGRpc3BsYXkgaW4gSUUgMTArLlxuICovXG5cbnRlbXBsYXRlIHtcbiAgZGlzcGxheTogbm9uZTtcbn1cblxuLyoqXG4gKiBBZGQgdGhlIGNvcnJlY3QgZGlzcGxheSBpbiBJRSAxMC5cbiAqL1xuXG5baGlkZGVuXSB7XG4gIGRpc3BsYXk6IG5vbmU7XG59XG4iLCIvKipcbiAgKiBQQUdFLVNQRUNJRklDIFNUWUxFU0hFRVQ6IGhvbWVcbiAgKlxuICAqIEltcG9ydCBjb21tb24gc3R5bGVzIGFuZCBob3VzZSBwYWdlLXNwZWNpZmljIHN0eWxlcyBmb3IgcGFnZTogXCJob21lXCIuXG4gICovXG4vKipcbiAgKiBDT01NT04gU1RZTEVTXG4gICpcbiAgKiBEZWZpbmVzIHRoZSBzdHlsZXMgdG8gaW1wb3J0IHRoYXQgYXJlIHJlcXVpcmVkIGJ5IHZpcnR1YWxseSBhbGwgcGFnZXMuXG4gICovXG4vKiEgbm9ybWFsaXplLmNzcyB2OC4wLjEgfCBNSVQgTGljZW5zZSB8IGdpdGh1Yi5jb20vbmVjb2xhcy9ub3JtYWxpemUuY3NzICovXG4vKiBEb2N1bWVudFxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8qKlxuICogMS4gQ29ycmVjdCB0aGUgbGluZSBoZWlnaHQgaW4gYWxsIGJyb3dzZXJzLlxuICogMi4gUHJldmVudCBhZGp1c3RtZW50cyBvZiBmb250IHNpemUgYWZ0ZXIgb3JpZW50YXRpb24gY2hhbmdlcyBpbiBpT1MuXG4gKi9cbmh0bWwge1xuICBsaW5lLWhlaWdodDogMS4xNTtcbiAgLyogMSAqL1xuICAtd2Via2l0LXRleHQtc2l6ZS1hZGp1c3Q6IDEwMCU7XG4gIC8qIDIgKi9cbn1cblxuLyogU2VjdGlvbnNcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKipcbiAqIFJlbW92ZSB0aGUgbWFyZ2luIGluIGFsbCBicm93c2Vycy5cbiAqL1xuYm9keSB7XG4gIG1hcmdpbjogMDtcbn1cblxuLyoqXG4gKiBSZW5kZXIgdGhlIGBtYWluYCBlbGVtZW50IGNvbnNpc3RlbnRseSBpbiBJRS5cbiAqL1xubWFpbiB7XG4gIGRpc3BsYXk6IGJsb2NrO1xufVxuXG4vKipcbiAqIENvcnJlY3QgdGhlIGZvbnQgc2l6ZSBhbmQgbWFyZ2luIG9uIGBoMWAgZWxlbWVudHMgd2l0aGluIGBzZWN0aW9uYCBhbmRcbiAqIGBhcnRpY2xlYCBjb250ZXh0cyBpbiBDaHJvbWUsIEZpcmVmb3gsIGFuZCBTYWZhcmkuXG4gKi9cbmgxIHtcbiAgZm9udC1zaXplOiAyZW07XG4gIG1hcmdpbjogMC42N2VtIDA7XG59XG5cbi8qIEdyb3VwaW5nIGNvbnRlbnRcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKipcbiAqIDEuIEFkZCB0aGUgY29ycmVjdCBib3ggc2l6aW5nIGluIEZpcmVmb3guXG4gKiAyLiBTaG93IHRoZSBvdmVyZmxvdyBpbiBFZGdlIGFuZCBJRS5cbiAqL1xuaHIge1xuICBib3gtc2l6aW5nOiBjb250ZW50LWJveDtcbiAgLyogMSAqL1xuICBoZWlnaHQ6IDA7XG4gIC8qIDEgKi9cbiAgb3ZlcmZsb3c6IHZpc2libGU7XG4gIC8qIDIgKi9cbn1cblxuLyoqXG4gKiAxLiBDb3JyZWN0IHRoZSBpbmhlcml0YW5jZSBhbmQgc2NhbGluZyBvZiBmb250IHNpemUgaW4gYWxsIGJyb3dzZXJzLlxuICogMi4gQ29ycmVjdCB0aGUgb2RkIGBlbWAgZm9udCBzaXppbmcgaW4gYWxsIGJyb3dzZXJzLlxuICovXG5wcmUge1xuICBmb250LWZhbWlseTogbW9ub3NwYWNlLCBtb25vc3BhY2U7XG4gIC8qIDEgKi9cbiAgZm9udC1zaXplOiAxZW07XG4gIC8qIDIgKi9cbn1cblxuLyogVGV4dC1sZXZlbCBzZW1hbnRpY3NcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKipcbiAqIFJlbW92ZSB0aGUgZ3JheSBiYWNrZ3JvdW5kIG9uIGFjdGl2ZSBsaW5rcyBpbiBJRSAxMC5cbiAqL1xuYSB7XG4gIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xufVxuXG4vKipcbiAqIDEuIFJlbW92ZSB0aGUgYm90dG9tIGJvcmRlciBpbiBDaHJvbWUgNTctXG4gKiAyLiBBZGQgdGhlIGNvcnJlY3QgdGV4dCBkZWNvcmF0aW9uIGluIENocm9tZSwgRWRnZSwgSUUsIE9wZXJhLCBhbmQgU2FmYXJpLlxuICovXG5hYmJyW3RpdGxlXSB7XG4gIGJvcmRlci1ib3R0b206IG5vbmU7XG4gIC8qIDEgKi9cbiAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XG4gIC8qIDIgKi9cbiAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmUgZG90dGVkO1xuICAvKiAyICovXG59XG5cbi8qKlxuICogQWRkIHRoZSBjb3JyZWN0IGZvbnQgd2VpZ2h0IGluIENocm9tZSwgRWRnZSwgYW5kIFNhZmFyaS5cbiAqL1xuYixcbnN0cm9uZyB7XG4gIGZvbnQtd2VpZ2h0OiBib2xkZXI7XG59XG5cbi8qKlxuICogMS4gQ29ycmVjdCB0aGUgaW5oZXJpdGFuY2UgYW5kIHNjYWxpbmcgb2YgZm9udCBzaXplIGluIGFsbCBicm93c2Vycy5cbiAqIDIuIENvcnJlY3QgdGhlIG9kZCBgZW1gIGZvbnQgc2l6aW5nIGluIGFsbCBicm93c2Vycy5cbiAqL1xuY29kZSxcbmtiZCxcbnNhbXAge1xuICBmb250LWZhbWlseTogbW9ub3NwYWNlLCBtb25vc3BhY2U7XG4gIC8qIDEgKi9cbiAgZm9udC1zaXplOiAxZW07XG4gIC8qIDIgKi9cbn1cblxuLyoqXG4gKiBBZGQgdGhlIGNvcnJlY3QgZm9udCBzaXplIGluIGFsbCBicm93c2Vycy5cbiAqL1xuc21hbGwge1xuICBmb250LXNpemU6IDgwJTtcbn1cblxuLyoqXG4gKiBQcmV2ZW50IGBzdWJgIGFuZCBgc3VwYCBlbGVtZW50cyBmcm9tIGFmZmVjdGluZyB0aGUgbGluZSBoZWlnaHQgaW5cbiAqIGFsbCBicm93c2Vycy5cbiAqL1xuc3ViLFxuc3VwIHtcbiAgZm9udC1zaXplOiA3NSU7XG4gIGxpbmUtaGVpZ2h0OiAwO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHZlcnRpY2FsLWFsaWduOiBiYXNlbGluZTtcbn1cblxuc3ViIHtcbiAgYm90dG9tOiAtMC4yNWVtO1xufVxuXG5zdXAge1xuICB0b3A6IC0wLjVlbTtcbn1cblxuLyogRW1iZWRkZWQgY29udGVudFxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8qKlxuICogUmVtb3ZlIHRoZSBib3JkZXIgb24gaW1hZ2VzIGluc2lkZSBsaW5rcyBpbiBJRSAxMC5cbiAqL1xuaW1nIHtcbiAgYm9yZGVyLXN0eWxlOiBub25lO1xufVxuXG4vKiBGb3Jtc1xuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8qKlxuICogMS4gQ2hhbmdlIHRoZSBmb250IHN0eWxlcyBpbiBhbGwgYnJvd3NlcnMuXG4gKiAyLiBSZW1vdmUgdGhlIG1hcmdpbiBpbiBGaXJlZm94IGFuZCBTYWZhcmkuXG4gKi9cbmJ1dHRvbixcbmlucHV0LFxub3B0Z3JvdXAsXG5zZWxlY3QsXG50ZXh0YXJlYSB7XG4gIGZvbnQtZmFtaWx5OiBpbmhlcml0O1xuICAvKiAxICovXG4gIGZvbnQtc2l6ZTogMTAwJTtcbiAgLyogMSAqL1xuICBsaW5lLWhlaWdodDogMS4xNTtcbiAgLyogMSAqL1xuICBtYXJnaW46IDA7XG4gIC8qIDIgKi9cbn1cblxuLyoqXG4gKiBTaG93IHRoZSBvdmVyZmxvdyBpbiBJRS5cbiAqIDEuIFNob3cgdGhlIG92ZXJmbG93IGluIEVkZ2UuXG4gKi9cbmJ1dHRvbixcbmlucHV0IHtcbiAgLyogMSAqL1xuICBvdmVyZmxvdzogdmlzaWJsZTtcbn1cblxuLyoqXG4gKiBSZW1vdmUgdGhlIGluaGVyaXRhbmNlIG9mIHRleHQgdHJhbnNmb3JtIGluIEVkZ2UsIEZpcmVmb3gsIGFuZCBJRS5cbiAqIDEuIFJlbW92ZSB0aGUgaW5oZXJpdGFuY2Ugb2YgdGV4dCB0cmFuc2Zvcm0gaW4gRmlyZWZveC5cbiAqL1xuYnV0dG9uLFxuc2VsZWN0IHtcbiAgLyogMSAqL1xuICB0ZXh0LXRyYW5zZm9ybTogbm9uZTtcbn1cblxuLyoqXG4gKiBDb3JyZWN0IHRoZSBpbmFiaWxpdHkgdG8gc3R5bGUgY2xpY2thYmxlIHR5cGVzIGluIGlPUyBhbmQgU2FmYXJpLlxuICovXG5idXR0b24sXG5bdHlwZT1idXR0b25dLFxuW3R5cGU9cmVzZXRdLFxuW3R5cGU9c3VibWl0XSB7XG4gIC13ZWJraXQtYXBwZWFyYW5jZTogYnV0dG9uO1xufVxuXG4vKipcbiAqIFJlbW92ZSB0aGUgaW5uZXIgYm9yZGVyIGFuZCBwYWRkaW5nIGluIEZpcmVmb3guXG4gKi9cbmJ1dHRvbjo6LW1vei1mb2N1cy1pbm5lcixcblt0eXBlPWJ1dHRvbl06Oi1tb3otZm9jdXMtaW5uZXIsXG5bdHlwZT1yZXNldF06Oi1tb3otZm9jdXMtaW5uZXIsXG5bdHlwZT1zdWJtaXRdOjotbW96LWZvY3VzLWlubmVyIHtcbiAgYm9yZGVyLXN0eWxlOiBub25lO1xuICBwYWRkaW5nOiAwO1xufVxuXG4vKipcbiAqIFJlc3RvcmUgdGhlIGZvY3VzIHN0eWxlcyB1bnNldCBieSB0aGUgcHJldmlvdXMgcnVsZS5cbiAqL1xuYnV0dG9uOi1tb3otZm9jdXNyaW5nLFxuW3R5cGU9YnV0dG9uXTotbW96LWZvY3VzcmluZyxcblt0eXBlPXJlc2V0XTotbW96LWZvY3VzcmluZyxcblt0eXBlPXN1Ym1pdF06LW1vei1mb2N1c3Jpbmcge1xuICBvdXRsaW5lOiAxcHggZG90dGVkIEJ1dHRvblRleHQ7XG59XG5cbi8qKlxuICogQ29ycmVjdCB0aGUgcGFkZGluZyBpbiBGaXJlZm94LlxuICovXG5maWVsZHNldCB7XG4gIHBhZGRpbmc6IDAuMzVlbSAwLjc1ZW0gMC42MjVlbTtcbn1cblxuLyoqXG4gKiAxLiBDb3JyZWN0IHRoZSB0ZXh0IHdyYXBwaW5nIGluIEVkZ2UgYW5kIElFLlxuICogMi4gQ29ycmVjdCB0aGUgY29sb3IgaW5oZXJpdGFuY2UgZnJvbSBgZmllbGRzZXRgIGVsZW1lbnRzIGluIElFLlxuICogMy4gUmVtb3ZlIHRoZSBwYWRkaW5nIHNvIGRldmVsb3BlcnMgYXJlIG5vdCBjYXVnaHQgb3V0IHdoZW4gdGhleSB6ZXJvIG91dFxuICogICAgYGZpZWxkc2V0YCBlbGVtZW50cyBpbiBhbGwgYnJvd3NlcnMuXG4gKi9cbmxlZ2VuZCB7XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gIC8qIDEgKi9cbiAgY29sb3I6IGluaGVyaXQ7XG4gIC8qIDIgKi9cbiAgZGlzcGxheTogdGFibGU7XG4gIC8qIDEgKi9cbiAgbWF4LXdpZHRoOiAxMDAlO1xuICAvKiAxICovXG4gIHBhZGRpbmc6IDA7XG4gIC8qIDMgKi9cbiAgd2hpdGUtc3BhY2U6IG5vcm1hbDtcbiAgLyogMSAqL1xufVxuXG4vKipcbiAqIEFkZCB0aGUgY29ycmVjdCB2ZXJ0aWNhbCBhbGlnbm1lbnQgaW4gQ2hyb21lLCBGaXJlZm94LCBhbmQgT3BlcmEuXG4gKi9cbnByb2dyZXNzIHtcbiAgdmVydGljYWwtYWxpZ246IGJhc2VsaW5lO1xufVxuXG4vKipcbiAqIFJlbW92ZSB0aGUgZGVmYXVsdCB2ZXJ0aWNhbCBzY3JvbGxiYXIgaW4gSUUgMTArLlxuICovXG50ZXh0YXJlYSB7XG4gIG92ZXJmbG93OiBhdXRvO1xufVxuXG4vKipcbiAqIDEuIEFkZCB0aGUgY29ycmVjdCBib3ggc2l6aW5nIGluIElFIDEwLlxuICogMi4gUmVtb3ZlIHRoZSBwYWRkaW5nIGluIElFIDEwLlxuICovXG5bdHlwZT1jaGVja2JveF0sXG5bdHlwZT1yYWRpb10ge1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAvKiAxICovXG4gIHBhZGRpbmc6IDA7XG4gIC8qIDIgKi9cbn1cblxuLyoqXG4gKiBDb3JyZWN0IHRoZSBjdXJzb3Igc3R5bGUgb2YgaW5jcmVtZW50IGFuZCBkZWNyZW1lbnQgYnV0dG9ucyBpbiBDaHJvbWUuXG4gKi9cblt0eXBlPW51bWJlcl06Oi13ZWJraXQtaW5uZXItc3Bpbi1idXR0b24sXG5bdHlwZT1udW1iZXJdOjotd2Via2l0LW91dGVyLXNwaW4tYnV0dG9uIHtcbiAgaGVpZ2h0OiBhdXRvO1xufVxuXG4vKipcbiAqIDEuIENvcnJlY3QgdGhlIG9kZCBhcHBlYXJhbmNlIGluIENocm9tZSBhbmQgU2FmYXJpLlxuICogMi4gQ29ycmVjdCB0aGUgb3V0bGluZSBzdHlsZSBpbiBTYWZhcmkuXG4gKi9cblt0eXBlPXNlYXJjaF0ge1xuICAtd2Via2l0LWFwcGVhcmFuY2U6IHRleHRmaWVsZDtcbiAgLyogMSAqL1xuICBvdXRsaW5lLW9mZnNldDogLTJweDtcbiAgLyogMiAqL1xufVxuXG4vKipcbiAqIFJlbW92ZSB0aGUgaW5uZXIgcGFkZGluZyBpbiBDaHJvbWUgYW5kIFNhZmFyaSBvbiBtYWNPUy5cbiAqL1xuW3R5cGU9c2VhcmNoXTo6LXdlYmtpdC1zZWFyY2gtZGVjb3JhdGlvbiB7XG4gIC13ZWJraXQtYXBwZWFyYW5jZTogbm9uZTtcbn1cblxuLyoqXG4gKiAxLiBDb3JyZWN0IHRoZSBpbmFiaWxpdHkgdG8gc3R5bGUgY2xpY2thYmxlIHR5cGVzIGluIGlPUyBhbmQgU2FmYXJpLlxuICogMi4gQ2hhbmdlIGZvbnQgcHJvcGVydGllcyB0byBgaW5oZXJpdGAgaW4gU2FmYXJpLlxuICovXG46Oi13ZWJraXQtZmlsZS11cGxvYWQtYnV0dG9uIHtcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiBidXR0b247XG4gIC8qIDEgKi9cbiAgZm9udDogaW5oZXJpdDtcbiAgLyogMiAqL1xufVxuXG4vKiBJbnRlcmFjdGl2ZVxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8qXG4gKiBBZGQgdGhlIGNvcnJlY3QgZGlzcGxheSBpbiBFZGdlLCBJRSAxMCssIGFuZCBGaXJlZm94LlxuICovXG5kZXRhaWxzIHtcbiAgZGlzcGxheTogYmxvY2s7XG59XG5cbi8qXG4gKiBBZGQgdGhlIGNvcnJlY3QgZGlzcGxheSBpbiBhbGwgYnJvd3NlcnMuXG4gKi9cbnN1bW1hcnkge1xuICBkaXNwbGF5OiBsaXN0LWl0ZW07XG59XG5cbi8qIE1pc2NcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKipcbiAqIEFkZCB0aGUgY29ycmVjdCBkaXNwbGF5IGluIElFIDEwKy5cbiAqL1xudGVtcGxhdGUge1xuICBkaXNwbGF5OiBub25lO1xufVxuXG4vKipcbiAqIEFkZCB0aGUgY29ycmVjdCBkaXNwbGF5IGluIElFIDEwLlxuICovXG5baGlkZGVuXSB7XG4gIGRpc3BsYXk6IG5vbmU7XG59XG5cbi8qKlxuICAqIEJSRUFLUE9JTlRTXG4gICpcbiAgKiBEZWZpbmUgYnJlYWtwb2ludHMgZm9yIG1lZGlhIHF1ZXJ5IHVzZSBhbmQgZXhwb3J0IHRoZW0gZm9yIHVzZSB3aXRoIEpTLlxuICAqL1xuLypcbmV4YW1wbGUgdXNhZ2U6XG5AaW5jbHVkZSBtZWRpYShcIj49cGhvbmUtc21hbGxcIikgey4uLn1cbiovXG46ZXhwb3J0IHtcbiAgYnJlYWtwb2ludFBob25lU21hbGw6IDMyMDtcbiAgYnJlYWtwb2ludFBob25lTGFyZ2U6IDQ4MDtcbiAgYnJlYWtwb2ludFRhYmxldDogNzY4O1xuICBicmVha3BvaW50TGFwdG9wOiA5OTI7XG4gIGJyZWFrcG9pbnREZXNrdG9wOiAxMjAwO1xuICBicmVha3BvaW50RGVza3RvcExhcmdlOiAxNDAwO1xuICBicmVha3BvaW50SGQ6IDE5MjA7XG59XG5cbi8qKlxuICAqIFZBUklBQkxFU1xuICAqL1xuLyoqXG4gICogRGltZW5zaW9uczpcbiAgKi9cbi8qKlxuICAqIENvbG9yczpcbiAgKi9cbi8qKlxuICAqIEZPTlRTXG4gICpcbiAgKiBEZWZpbmUgQGZvbnQtZmFjZSBzdHlsZXMuXG4gICovXG5AZm9udC1mYWNlIHtcbiAgZm9udC1mYW1pbHk6IE1vbnRzZXJyYXQ7XG4gIHNyYzogdXJsKC4uL2ZvbnRzL01vbnRzZXJyYXQtUmVndWxhci50dGYpO1xuICBmb250LXdlaWdodDogNDAwO1xuICBmb250LXN0eWxlOiBub3JtYWw7XG59XG5AZm9udC1mYWNlIHtcbiAgZm9udC1mYW1pbHk6IE1vbnRzZXJyYXQ7XG4gIHNyYzogdXJsKC4uL2ZvbnRzL01vbnRzZXJyYXQtQm9sZC50dGYpO1xuICBmb250LXdlaWdodDogNzAwO1xuICBmb250LXN0eWxlOiBub3JtYWw7XG59XG4vKlxuQGZvbnQtZmFjZSB7XG4gIGZvbnQtZmFtaWx5OiBBbWVyaWNhbiBUeXBld3JpdGVyIElUQyBQcm8gQm9sZDtcbiAgLy9zcmM6IHVybCguLi9mb250cy9Nb250c2VycmF0LUJvbGQudHRmKTtcbiAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgZm9udC1zdHlsZTogbm9ybWFsO1xufVxuXG5cblxuZm9udC1mYW1pbHk6IGx0Yy1nb3VkeS1vcm5hdGUsIHNhbnMtc2VyaWY7XG5cbmZvbnQtd2VpZ2h0OiA0MDA7XG5cbmZvbnQtc3R5bGU6IG5vcm1hbDtcblxuXG5BbWVyaWNhbiBUeXBld3JpdGVyIElUQyBQcm8gQm9sZFxuXG5mb250LWZhbWlseTogaXRjLWFtZXJpY2FuLXR5cGV3cml0ZXIsIHNlcmlmO1xuXG5mb250LXdlaWdodDogNzAwO1xuXG5mb250LXN0eWxlOiBub3JtYWw7XG5cbkFtZXJpY2FuIFR5cGV3cml0ZXIgSVRDIFBybyBCb2xkIEl0YWxpY1xuXG5mb250LWZhbWlseTogaXRjLWFtZXJpY2FuLXR5cGV3cml0ZXIsIHNlcmlmO1xuXG5mb250LXdlaWdodDogNzAwO1xuXG5mb250LXN0eWxlOiBpdGFsaWM7XG5cbkFtZXJpY2FuIFR5cGV3cml0ZXIgSVRDIFBybyBMaWdodFxuXG5mb250LWZhbWlseTogaXRjLWFtZXJpY2FuLXR5cGV3cml0ZXIsIHNlcmlmO1xuXG5mb250LXdlaWdodDogMzAwO1xuXG5mb250LXN0eWxlOiBub3JtYWw7XG5cbkFtZXJpY2FuIFR5cGV3cml0ZXIgSVRDIFBybyBMaWdodCBJdGFsaWNcblxuZm9udC1mYW1pbHk6IGl0Yy1hbWVyaWNhbi10eXBld3JpdGVyLCBzZXJpZjtcblxuZm9udC13ZWlnaHQ6IDMwMDtcblxuZm9udC1zdHlsZTogaXRhbGljO1xuXG5BbWVyaWNhbiBUeXBld3JpdGVyIElUQyBQcm8gQm9sZCBDb25kZW5zZWRcblxuZm9udC1mYW1pbHk6IGl0Yy1hbWVyaWNhbi10eXBld3JpdGVyLWNvbmQsIHNlcmlmO1xuXG5mb250LXdlaWdodDogNzAwO1xuXG5mb250LXN0eWxlOiBub3JtYWw7XG5cbkFtZXJpY2FuIFR5cGV3cml0ZXIgSVRDIFBybyBMaWdodCBDb25kZW5zZWRcblxuZm9udC1mYW1pbHk6IGl0Yy1hbWVyaWNhbi10eXBld3JpdGVyLWNvbmQsIHNlcmlmO1xuXG5mb250LXdlaWdodDogMzAwO1xuXG5mb250LXN0eWxlOiBub3JtYWw7XG4qL1xuLyoqXG4gICogTUlYSU5TXG4gICpcbiAgKiBTdGFuZGFyZGl6ZWQgc3R5bGUgY2h1bmtzLCBwcm92aWRlZCBhcyBib3RoIFNDU1MgbWl4aW5zIGFuZCBIVE1MIGNsYXNzZXMuXG4gICovXG4ud3JhcCB7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IGF1dG87XG59XG5cbi5pbm5lci13cmFwIHtcbiAgd2lkdGg6IDEwMCU7XG4gIG1heC13aWR0aDogMTQwMHB4O1xuICBtYXJnaW46IDAgYXV0bztcbn1cblxuLm1hci10b3Age1xuICBtYXJnaW4tdG9wOiAyMHB4O1xuICB0cmFuc2l0aW9uOiBtYXJnaW4gMzAwbXM7XG59XG5AbWVkaWEgKG1pbi13aWR0aDogNDgwcHgpIHtcbiAgLm1hci10b3Age1xuICAgIG1hcmdpbi10b3A6IDI1cHg7XG4gIH1cbn1cbkBtZWRpYSAobWluLXdpZHRoOiA3NjhweCkge1xuICAubWFyLXRvcCB7XG4gICAgbWFyZ2luLXRvcDogMzBweDtcbiAgfVxufVxuQG1lZGlhIChtaW4td2lkdGg6IDk5MnB4KSB7XG4gIC5tYXItdG9wIHtcbiAgICBtYXJnaW4tdG9wOiA2MHB4O1xuICB9XG59XG5AbWVkaWEgKG1pbi13aWR0aDogMTIwMHB4KSB7XG4gIC5tYXItdG9wIHtcbiAgICBtYXJnaW4tdG9wOiA4MHB4O1xuICB9XG59XG5cbi5tYXItYm90dG9tIHtcbiAgbWFyZ2luLWJvdHRvbTogMjBweDtcbiAgdHJhbnNpdGlvbjogbWFyZ2luIDMwMG1zO1xufVxuQG1lZGlhIChtaW4td2lkdGg6IDQ4MHB4KSB7XG4gIC5tYXItYm90dG9tIHtcbiAgICBtYXJnaW4tYm90dG9tOiAyNXB4O1xuICB9XG59XG5AbWVkaWEgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgLm1hci1ib3R0b20ge1xuICAgIG1hcmdpbi1ib3R0b206IDMwcHg7XG4gIH1cbn1cbkBtZWRpYSAobWluLXdpZHRoOiA5OTJweCkge1xuICAubWFyLWJvdHRvbSB7XG4gICAgbWFyZ2luLWJvdHRvbTogNjBweDtcbiAgfVxufVxuQG1lZGlhIChtaW4td2lkdGg6IDEyMDBweCkge1xuICAubWFyLWJvdHRvbSB7XG4gICAgbWFyZ2luLWJvdHRvbTogODBweDtcbiAgfVxufVxuXG4ubWFyLWhvcml6b250YWwge1xuICBtYXJnaW4tdG9wOiAyMHB4O1xuICB0cmFuc2l0aW9uOiBtYXJnaW4gMzAwbXM7XG4gIG1hcmdpbi1ib3R0b206IDIwcHg7XG4gIHRyYW5zaXRpb246IG1hcmdpbiAzMDBtcztcbn1cbkBtZWRpYSAobWluLXdpZHRoOiA0ODBweCkge1xuICAubWFyLWhvcml6b250YWwge1xuICAgIG1hcmdpbi10b3A6IDI1cHg7XG4gIH1cbn1cbkBtZWRpYSAobWluLXdpZHRoOiA3NjhweCkge1xuICAubWFyLWhvcml6b250YWwge1xuICAgIG1hcmdpbi10b3A6IDMwcHg7XG4gIH1cbn1cbkBtZWRpYSAobWluLXdpZHRoOiA5OTJweCkge1xuICAubWFyLWhvcml6b250YWwge1xuICAgIG1hcmdpbi10b3A6IDYwcHg7XG4gIH1cbn1cbkBtZWRpYSAobWluLXdpZHRoOiAxMjAwcHgpIHtcbiAgLm1hci1ob3Jpem9udGFsIHtcbiAgICBtYXJnaW4tdG9wOiA4MHB4O1xuICB9XG59XG5AbWVkaWEgKG1pbi13aWR0aDogNDgwcHgpIHtcbiAgLm1hci1ob3Jpem9udGFsIHtcbiAgICBtYXJnaW4tYm90dG9tOiAyNXB4O1xuICB9XG59XG5AbWVkaWEgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgLm1hci1ob3Jpem9udGFsIHtcbiAgICBtYXJnaW4tYm90dG9tOiAzMHB4O1xuICB9XG59XG5AbWVkaWEgKG1pbi13aWR0aDogOTkycHgpIHtcbiAgLm1hci1ob3Jpem9udGFsIHtcbiAgICBtYXJnaW4tYm90dG9tOiA2MHB4O1xuICB9XG59XG5AbWVkaWEgKG1pbi13aWR0aDogMTIwMHB4KSB7XG4gIC5tYXItaG9yaXpvbnRhbCB7XG4gICAgbWFyZ2luLWJvdHRvbTogODBweDtcbiAgfVxufVxuXG4ubWFyLXJpZ2h0IHtcbiAgbWFyZ2luLXJpZ2h0OiAyMHB4O1xuICB0cmFuc2l0aW9uOiBtYXJnaW4gMzAwbXM7XG4gIG1heC13aWR0aDogY2FsYygxMDAlIC0gMjBweCk7XG59XG5AbWVkaWEgKG1pbi13aWR0aDogNDgwcHgpIHtcbiAgLm1hci1yaWdodCB7XG4gICAgbWFyZ2luLXJpZ2h0OiAyNXB4O1xuICAgIG1heC13aWR0aDogY2FsYygxMDAlIC0gMjVweCk7XG4gIH1cbn1cbkBtZWRpYSAobWluLXdpZHRoOiA3NjhweCkge1xuICAubWFyLXJpZ2h0IHtcbiAgICBtYXJnaW4tcmlnaHQ6IDMwcHg7XG4gICAgbWF4LXdpZHRoOiBjYWxjKDEwMCUgLSAzMHB4KTtcbiAgfVxufVxuQG1lZGlhIChtaW4td2lkdGg6IDk5MnB4KSB7XG4gIC5tYXItcmlnaHQge1xuICAgIG1hcmdpbi1yaWdodDogNjBweDtcbiAgICBtYXgtd2lkdGg6IGNhbGMoMTAwJSAtIDYwcHgpO1xuICB9XG59XG5AbWVkaWEgKG1pbi13aWR0aDogMTIwMHB4KSB7XG4gIC5tYXItcmlnaHQge1xuICAgIG1hcmdpbi1yaWdodDogODBweDtcbiAgICBtYXgtd2lkdGg6IGNhbGMoMTAwJSAtIDgwcHgpO1xuICB9XG59XG5cbi5tYXItbGVmdCB7XG4gIG1hcmdpbi1sZWZ0OiAyMHB4O1xuICB0cmFuc2l0aW9uOiBtYXJnaW4gMzAwbXM7XG4gIG1heC13aWR0aDogY2FsYygxMDAlIC0gMjBweCk7XG59XG5AbWVkaWEgKG1pbi13aWR0aDogNDgwcHgpIHtcbiAgLm1hci1sZWZ0IHtcbiAgICBtYXJnaW4tbGVmdDogMjVweDtcbiAgICBtYXgtd2lkdGg6IGNhbGMoMTAwJSAtIDI1cHgpO1xuICB9XG59XG5AbWVkaWEgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgLm1hci1sZWZ0IHtcbiAgICBtYXJnaW4tbGVmdDogMzBweDtcbiAgICBtYXgtd2lkdGg6IGNhbGMoMTAwJSAtIDMwcHgpO1xuICB9XG59XG5AbWVkaWEgKG1pbi13aWR0aDogOTkycHgpIHtcbiAgLm1hci1sZWZ0IHtcbiAgICBtYXJnaW4tbGVmdDogNjBweDtcbiAgICBtYXgtd2lkdGg6IGNhbGMoMTAwJSAtIDYwcHgpO1xuICB9XG59XG5AbWVkaWEgKG1pbi13aWR0aDogMTIwMHB4KSB7XG4gIC5tYXItbGVmdCB7XG4gICAgbWFyZ2luLWxlZnQ6IDgwcHg7XG4gICAgbWF4LXdpZHRoOiBjYWxjKDEwMCUgLSA4MHB4KTtcbiAgfVxufVxuXG4ubWFyLWhvcml6b250YWwge1xuICBtYXJnaW4tbGVmdDogMjBweDtcbiAgbWFyZ2luLXJpZ2h0OiAyMHB4O1xuICB0cmFuc2l0aW9uOiBtYXJnaW4gMzAwbXM7XG4gIG1heC13aWR0aDogY2FsYygxMDAlIC0gNDBweCk7XG59XG5AbWVkaWEgKG1pbi13aWR0aDogNDgwcHgpIHtcbiAgLm1hci1ob3Jpem9udGFsIHtcbiAgICBtYXJnaW4tbGVmdDogMjVweDtcbiAgICBtYXJnaW4tcmlnaHQ6IDI1cHg7XG4gICAgbWF4LXdpZHRoOiBjYWxjKDEwMCUgLSA1MHB4KTtcbiAgfVxufVxuQG1lZGlhIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gIC5tYXItaG9yaXpvbnRhbCB7XG4gICAgbWFyZ2luLWxlZnQ6IDMwcHg7XG4gICAgbWFyZ2luLXJpZ2h0OiAzMHB4O1xuICAgIG1heC13aWR0aDogY2FsYygxMDAlIC0gNjBweCk7XG4gIH1cbn1cbkBtZWRpYSAobWluLXdpZHRoOiA5OTJweCkge1xuICAubWFyLWhvcml6b250YWwge1xuICAgIG1hcmdpbi1sZWZ0OiA2MHB4O1xuICAgIG1hcmdpbi1yaWdodDogNjBweDtcbiAgICBtYXgtd2lkdGg6IGNhbGMoMTAwJSAtIDEyMHB4KTtcbiAgfVxufVxuQG1lZGlhIChtaW4td2lkdGg6IDEyMDBweCkge1xuICAubWFyLWhvcml6b250YWwge1xuICAgIG1hcmdpbi1sZWZ0OiA4MHB4O1xuICAgIG1hcmdpbi1yaWdodDogODBweDtcbiAgICBtYXgtd2lkdGg6IGNhbGMoMTAwJSAtIDE2MHB4KTtcbiAgfVxufVxuXG4ucGFkLXRvcCB7XG4gIHBhZGRpbmctdG9wOiAzMHB4O1xuICB0cmFuc2l0aW9uOiBwYWRkaW5nIDMwMG1zO1xufVxuQG1lZGlhIChtaW4td2lkdGg6IDQ4MHB4KSB7XG4gIC5wYWQtdG9wIHtcbiAgICBwYWRkaW5nLXRvcDogMzVweDtcbiAgfVxufVxuQG1lZGlhIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gIC5wYWQtdG9wIHtcbiAgICBwYWRkaW5nLXRvcDogNDBweDtcbiAgfVxufVxuQG1lZGlhIChtaW4td2lkdGg6IDk5MnB4KSB7XG4gIC5wYWQtdG9wIHtcbiAgICBwYWRkaW5nLXRvcDogNTBweDtcbiAgfVxufVxuQG1lZGlhIChtaW4td2lkdGg6IDEyMDBweCkge1xuICAucGFkLXRvcCB7XG4gICAgcGFkZGluZy10b3A6IDYwcHg7XG4gIH1cbn1cblxuLnBhZC1ib3R0b20ge1xuICBwYWRkaW5nLWJvdHRvbTogMzBweDtcbiAgdHJhbnNpdGlvbjogcGFkZGluZyAzMDBtcztcbn1cbkBtZWRpYSAobWluLXdpZHRoOiA0ODBweCkge1xuICAucGFkLWJvdHRvbSB7XG4gICAgcGFkZGluZy1ib3R0b206IDM1cHg7XG4gIH1cbn1cbkBtZWRpYSAobWluLXdpZHRoOiA3NjhweCkge1xuICAucGFkLWJvdHRvbSB7XG4gICAgcGFkZGluZy1ib3R0b206IDQwcHg7XG4gIH1cbn1cbkBtZWRpYSAobWluLXdpZHRoOiA5OTJweCkge1xuICAucGFkLWJvdHRvbSB7XG4gICAgcGFkZGluZy1ib3R0b206IDUwcHg7XG4gIH1cbn1cbkBtZWRpYSAobWluLXdpZHRoOiAxMjAwcHgpIHtcbiAgLnBhZC1ib3R0b20ge1xuICAgIHBhZGRpbmctYm90dG9tOiA2MHB4O1xuICB9XG59XG5cbi5wYWQtbGVmdCB7XG4gIHBhZGRpbmctbGVmdDogMjBweDtcbiAgdHJhbnNpdGlvbjogcGFkZGluZyAzMDBtcztcbn1cbkBtZWRpYSAobWluLXdpZHRoOiA0ODBweCkge1xuICAucGFkLWxlZnQge1xuICAgIHBhZGRpbmctbGVmdDogMjVweDtcbiAgfVxufVxuQG1lZGlhIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gIC5wYWQtbGVmdCB7XG4gICAgcGFkZGluZy1sZWZ0OiAzMHB4O1xuICB9XG59XG5AbWVkaWEgKG1pbi13aWR0aDogOTkycHgpIHtcbiAgLnBhZC1sZWZ0IHtcbiAgICBwYWRkaW5nLWxlZnQ6IDYwcHg7XG4gIH1cbn1cbkBtZWRpYSAobWluLXdpZHRoOiAxMjAwcHgpIHtcbiAgLnBhZC1sZWZ0IHtcbiAgICBwYWRkaW5nLWxlZnQ6IDgwcHg7XG4gIH1cbn1cblxuLnBhZC1yaWdodCB7XG4gIHBhZGRpbmctcmlnaHQ6IDIwcHg7XG4gIHRyYW5zaXRpb246IHBhZGRpbmcgMzAwbXM7XG59XG5AbWVkaWEgKG1pbi13aWR0aDogNDgwcHgpIHtcbiAgLnBhZC1yaWdodCB7XG4gICAgcGFkZGluZy1yaWdodDogMjVweDtcbiAgfVxufVxuQG1lZGlhIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gIC5wYWQtcmlnaHQge1xuICAgIHBhZGRpbmctcmlnaHQ6IDMwcHg7XG4gIH1cbn1cbkBtZWRpYSAobWluLXdpZHRoOiA5OTJweCkge1xuICAucGFkLXJpZ2h0IHtcbiAgICBwYWRkaW5nLXJpZ2h0OiA2MHB4O1xuICB9XG59XG5AbWVkaWEgKG1pbi13aWR0aDogMTIwMHB4KSB7XG4gIC5wYWQtcmlnaHQge1xuICAgIHBhZGRpbmctcmlnaHQ6IDgwcHg7XG4gIH1cbn1cblxuLnBhZC12ZXJ0aWNhbCB7XG4gIHBhZGRpbmctdG9wOiAzMHB4O1xuICB0cmFuc2l0aW9uOiBwYWRkaW5nIDMwMG1zO1xuICBwYWRkaW5nLWJvdHRvbTogMzBweDtcbiAgdHJhbnNpdGlvbjogcGFkZGluZyAzMDBtcztcbn1cbkBtZWRpYSAobWluLXdpZHRoOiA0ODBweCkge1xuICAucGFkLXZlcnRpY2FsIHtcbiAgICBwYWRkaW5nLXRvcDogMzVweDtcbiAgfVxufVxuQG1lZGlhIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gIC5wYWQtdmVydGljYWwge1xuICAgIHBhZGRpbmctdG9wOiA0MHB4O1xuICB9XG59XG5AbWVkaWEgKG1pbi13aWR0aDogOTkycHgpIHtcbiAgLnBhZC12ZXJ0aWNhbCB7XG4gICAgcGFkZGluZy10b3A6IDUwcHg7XG4gIH1cbn1cbkBtZWRpYSAobWluLXdpZHRoOiAxMjAwcHgpIHtcbiAgLnBhZC12ZXJ0aWNhbCB7XG4gICAgcGFkZGluZy10b3A6IDYwcHg7XG4gIH1cbn1cbkBtZWRpYSAobWluLXdpZHRoOiA0ODBweCkge1xuICAucGFkLXZlcnRpY2FsIHtcbiAgICBwYWRkaW5nLWJvdHRvbTogMzVweDtcbiAgfVxufVxuQG1lZGlhIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gIC5wYWQtdmVydGljYWwge1xuICAgIHBhZGRpbmctYm90dG9tOiA0MHB4O1xuICB9XG59XG5AbWVkaWEgKG1pbi13aWR0aDogOTkycHgpIHtcbiAgLnBhZC12ZXJ0aWNhbCB7XG4gICAgcGFkZGluZy1ib3R0b206IDUwcHg7XG4gIH1cbn1cbkBtZWRpYSAobWluLXdpZHRoOiAxMjAwcHgpIHtcbiAgLnBhZC12ZXJ0aWNhbCB7XG4gICAgcGFkZGluZy1ib3R0b206IDYwcHg7XG4gIH1cbn1cblxuLnBhZC1ob3Jpem9udGFsIHtcbiAgcGFkZGluZy1yaWdodDogMjBweDtcbiAgdHJhbnNpdGlvbjogcGFkZGluZyAzMDBtcztcbiAgcGFkZGluZy1sZWZ0OiAyMHB4O1xuICB0cmFuc2l0aW9uOiBwYWRkaW5nIDMwMG1zO1xufVxuQG1lZGlhIChtaW4td2lkdGg6IDQ4MHB4KSB7XG4gIC5wYWQtaG9yaXpvbnRhbCB7XG4gICAgcGFkZGluZy1yaWdodDogMjVweDtcbiAgfVxufVxuQG1lZGlhIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gIC5wYWQtaG9yaXpvbnRhbCB7XG4gICAgcGFkZGluZy1yaWdodDogMzBweDtcbiAgfVxufVxuQG1lZGlhIChtaW4td2lkdGg6IDk5MnB4KSB7XG4gIC5wYWQtaG9yaXpvbnRhbCB7XG4gICAgcGFkZGluZy1yaWdodDogNjBweDtcbiAgfVxufVxuQG1lZGlhIChtaW4td2lkdGg6IDEyMDBweCkge1xuICAucGFkLWhvcml6b250YWwge1xuICAgIHBhZGRpbmctcmlnaHQ6IDgwcHg7XG4gIH1cbn1cbkBtZWRpYSAobWluLXdpZHRoOiA0ODBweCkge1xuICAucGFkLWhvcml6b250YWwge1xuICAgIHBhZGRpbmctbGVmdDogMjVweDtcbiAgfVxufVxuQG1lZGlhIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gIC5wYWQtaG9yaXpvbnRhbCB7XG4gICAgcGFkZGluZy1sZWZ0OiAzMHB4O1xuICB9XG59XG5AbWVkaWEgKG1pbi13aWR0aDogOTkycHgpIHtcbiAgLnBhZC1ob3Jpem9udGFsIHtcbiAgICBwYWRkaW5nLWxlZnQ6IDYwcHg7XG4gIH1cbn1cbkBtZWRpYSAobWluLXdpZHRoOiAxMjAwcHgpIHtcbiAgLnBhZC1ob3Jpem9udGFsIHtcbiAgICBwYWRkaW5nLWxlZnQ6IDgwcHg7XG4gIH1cbn1cblxuLmJ1dHRvbiB7XG4gIHBhZGRpbmc6IDEwcHggMTVweDtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDAwMDAwO1xuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICBjb2xvcjogI2ZlZmVmZTtcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7XG59XG5cbi8qXG5AbWl4aW4gY2F0ZWdvcnkge1xuICBkaXNwbGF5OiBibG9jaztcbiAgLy8gL3RleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gIGNvbG9yOiAkYmxhY2s7XG4gIGZvbnQtd2VpZ2h0OiA2MDA7XG4gIGZvbnQtc2l6ZTogMC44cmVtO1xuICBsZXR0ZXItc3BhY2luZzogLTAuMDYyNWVtO1xufVxuXG4uY2F0ZWdvcnkge1xuICBAaW5jbHVkZSBjYXRlZ29yeTtcbn1cblxuQG1peGluIHRpdGxlIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIGZvbnQtc2l6ZTogMS40cmVtO1xuICAvL2ZvbnQtd2VpZ2h0OiA2MDA7XG4gIGxpbmUtaGVpZ2h0OiAxLjE7XG4gIGNvbG9yOiAkYnJhbmRDb2xvclByaW1hcnk7XG4gIGxldHRlci1zcGFjaW5nOiAtMC4wNjI1ZW07XG5cbiAgJjpob3ZlciB7XG4gICAgLy90ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcbiAgfVxufVxuXG4udGl0bGUge1xuICBAaW5jbHVkZSB0aXRsZTtcbn1cblxuQG1peGluIHRhZyB7XG4gIGZvbnQtc2l6ZTogMC44cmVtO1xuICBmb250LXdlaWdodDogNTAwO1xuICBjb2xvcjogJG1lZGl1bURhcmtHcmF5O1xuICBsZXR0ZXItc3BhY2luZzogLTAuMDQyNWVtO1xufVxuXG4udGFnIHtcbiAgQGluY2x1ZGUgdGFnO1xufVxuKi9cbi5zY3JlZW4tcmVhZGVyLXRleHQge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHdpZHRoOiAxcHg7XG4gIGhlaWdodDogMXB4O1xuICBwYWRkaW5nOiAwO1xuICBtYXJnaW46IC0xcHg7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIGNsaXA6IHJlY3QoMCwgMCwgMCwgMCk7XG4gIGJvcmRlcjogMDtcbn1cblxuLm5vLXNjcm9sbCB7XG4gIG92ZXJmbG93OiBoaWRkZW47XG59XG5cbi8qKlxuICAqIEVMRU1FTlQgU1RZTEVTXG4gICpcbiAgKiBTdHlsZSBkZWZpbml0aW9ucyBmb3IgZ2xvYmFsIGVsZW1lbnQgc2VsZWN0b3JzLlxuICAqL1xuKiB7XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG59XG5cbmh0bWwge1xuICBoZWlnaHQ6IDEwMCU7XG4gIGZvbnQtc2l6ZTogMTAwJTtcbiAgbGluZS1oZWlnaHQ6IDEuNztcbn1cblxuYm9keSB7XG4gIG1pbi1oZWlnaHQ6IDEwMCU7XG4gIGRpc3BsYXk6IGdyaWQ7XG4gIGdyaWQtdGVtcGxhdGUtcm93czogYXV0byAxZnIgYXV0bztcbiAgbWFyZ2luOiAwO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmZmZmO1xuICBjb2xvcjogIzIyMjtcbiAgZm9udC1mYW1pbHk6IGl0Yy1hbWVyaWNhbi10eXBld3JpdGVyLCBzZXJpZjtcbiAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgZm9udC1zdHlsZTogbm9ybWFsO1xufVxuXG5oMSwgaDIsIGgzLCBoNCwgaDUsIGg2IHtcbiAgZm9udC1mYW1pbHk6IHF1ZXN0YS1ncmFuZGUsIHNlcmlmO1xuICBmb250LXdlaWdodDogYm9sZDtcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbn1cblxuaDEge1xuICBtYXJnaW4tdG9wOiAwO1xuICBtYXJnaW4tYm90dG9tOiAxLjRyZW07XG4gIGZvbnQtc2l6ZTogMi4ycmVtO1xufVxuXG5oMiB7XG4gIG1hcmdpbi10b3A6IDA7XG4gIG1hcmdpbi1ib3R0b206IDEuM3JlbTtcbiAgZm9udC1zaXplOiAxLjhyZW07XG4gIGZvbnQtd2VpZ2h0OiA2MDA7XG4gIGxpbmUtaGVpZ2h0OiAxLjE1OTA5ZW07XG59XG5cbmgzIHtcbiAgbWFyZ2luLXRvcDogMDtcbiAgbWFyZ2luLWJvdHRvbTogMXJlbTtcbiAgbGluZS1oZWlnaHQ6IDEuMTU5MDllbTtcbiAgZm9udC1zaXplOiAxLjZyZW07XG59XG5cbmg0IHtcbiAgbWFyZ2luLXRvcDogMDtcbiAgZm9udC1zaXplOiAxLjRyZW07XG4gIG1hcmdpbi1ib3R0b206IDFyZW07XG4gIGxpbmUtaGVpZ2h0OiAxLjI7XG59XG5cbmg1IHtcbiAgbWFyZ2luLXRvcDogMDtcbiAgZm9udC1zaXplOiAxLjNyZW07XG4gIG1hcmdpbi1ib3R0b206IDFyZW07XG59XG5cbmg2IHtcbiAgbWFyZ2luLXRvcDogMDtcbiAgZm9udC1zaXplOiAxLjJyZW07XG4gIG1hcmdpbi1ib3R0b206IDFyZW07XG59XG5cbnAge1xuICBtYXJnaW46IDA7XG4gIHBhZGRpbmctYm90dG9tOiAwO1xuICBsaW5lLWhlaWdodDogMS41O1xufVxuXG5hIHtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICBjb2xvcjogcmdiKDEsIDM4LCAxNzApO1xufVxudWwsIG9sIHtcbiAgbWFyZ2luOiAwO1xuICBwYWRkaW5nOiAwO1xuICBsaXN0LXN0eWxlLXBvc2l0aW9uOiBpbnNpZGU7XG59XG5cbi8qIGJlZ2luIGJ1dHRvbiBzdHlsZXMgKi9cbmJ1dHRvbiB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgYm9yZGVyOiBub25lO1xuICBwYWRkaW5nOiAwO1xuICBtYXJnaW46IDA7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgYmFja2dyb3VuZDogbm9uZTtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7XG4gIC1tb3otYXBwZWFyYW5jZTogbm9uZTtcbn1cblxuLyogZW5kIGJ1dHRvbiBzdHlsZXMgKi9cbi8qKlxuICAqIEhFQURFUiBTVFlMRVNcbiAgKi9cbi5oZWFkZXItd3JhcCB7XG4gIGhlaWdodDogYXV0bztcbiAgZ3JpZC1yb3ctc3RhcnQ6IDE7XG4gIGdyaWQtcm93LWVuZDogMjtcbiAgei1pbmRleDogMDtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2YwZWRlODtcbn1cbi5oZWFkZXItd3JhcC5iZy12aXNpYmxlIHtcbiAgei1pbmRleDogOTk5OTtcbn1cbkBtZWRpYSAobWluLXdpZHRoOiA3NjhweCkge1xuICAuaGVhZGVyLXdyYXAge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmZlZWU7XG4gICAgYmFja2dyb3VuZC1pbWFnZTogbGluZWFyLWdyYWRpZW50KHRvIHJpZ2h0LCB0cmFuc3BhcmVudCAwJSwgcmdiYSgxNzksIDE3OSwgMTc5LCAwLjYpIDAuMSUgMC4yJSwgdHJhbnNwYXJlbnQgMC4yJSwgcmdiYSgxNzksIDE3OSwgMTc5LCAwLjYpIDAuNCUgMC41JSwgdHJhbnNwYXJlbnQgMC41JSwgcmdiYSgxNzksIDE3OSwgMTc5LCAwLjYpIDEuMiUgMS4zJSwgdHJhbnNwYXJlbnQgMS4zJSwgcmdiYSgxNzksIDE3OSwgMTc5LCAwLjYpIDMuMyUgMy40JSwgdHJhbnNwYXJlbnQgMy40JSAyMCUsIHJnYmEoMTc5LCAxNzksIDE3OSwgMC42KSA1MCUsIHJnYmEoMTAyLCAxMDIsIDEwMiwgMC43KSA2NyUsIHJnYmEoNzcsIDc3LCA3NywgMC44KSA2OSUsIHJnYmEoNTEsIDUxLCA1MSwgMC45KSA2OS45NSUsIHJnYmEoMjYsIDI2LCAyNiwgMC45KSA3MCUsIHJnYmEoNTEsIDUxLCA1MSwgMC42KSA3MC4wNSUsIHJnYmEoNzcsIDc3LCA3NywgMC42KSA3MSUsIHJnYmEoMTAyLCAxMDIsIDEwMiwgMC42KSA3MyUsIHJnYmEoMTc5LCAxNzksIDE3OSwgMC42KSA5MCUsIHRyYW5zcGFyZW50IDEwMCUpO1xuICB9XG4gIC5oZWFkZXItd3JhcC5iZy12aXNpYmxlIHtcbiAgICB6LWluZGV4OiAwO1xuICB9XG59XG5cbi5oZWFkZXItb3ZlcmxheSB7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IDEwMCU7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAwO1xuICBsZWZ0OiAwO1xuICB6LWluZGV4OiAyO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2IoMSwgMzgsIDE3MCk7XG4gIG9wYWNpdHk6IDAuNztcbiAgZGlzcGxheTogbm9uZTtcbn1cblxuLnRvcC1iYXItYmcge1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiA0NXB4O1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogMDtcbiAgbGVmdDogMDtcbiAgei1pbmRleDogNjtcbiAgZGlzcGxheTogbm9uZTtcbiAgYmFja2dyb3VuZC1jb2xvcjogdW5zZXQ7XG4gIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMjAwbXM7XG59XG4udG9wLWJhci1iZy5iZy12aXNpYmxlIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZmZmZjtcbn1cbkBtZWRpYSAobWluLXdpZHRoOiA3NjhweCkge1xuICAudG9wLWJhci1iZyB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gIH1cbn1cblxuLmhlYWRlciB7XG4gIHdpZHRoOiAxMDAlO1xuICBtYXgtd2lkdGg6IDE0MDBweDtcbiAgbWFyZ2luOiAwIGF1dG87XG4gIGhlaWdodDogOTBweDtcbiAgcGFkZGluZy10b3A6IDA7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZGlzcGxheTogZ3JpZDtcbiAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiAxZnI7XG4gIGdyaWQtdGVtcGxhdGUtcm93czogOTBweCBhdXRvO1xuICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDIwMG1zO1xufVxuQG1lZGlhIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gIC5oZWFkZXIge1xuICAgIGhlaWdodDogYXV0bztcbiAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDFmcjtcbiAgICBncmlkLXRlbXBsYXRlLXJvd3M6IGF1dG8gYXV0bztcbiAgfVxufVxuXG4uaGVhZGVyLWJyYW5kIHtcbiAgcGFkZGluZy1sZWZ0OiAyMHB4O1xuICB0cmFuc2l0aW9uOiBwYWRkaW5nIDMwMG1zO1xuICBtYXJnaW4tdG9wOiAwO1xuICBtYXJnaW4tcmlnaHQ6IDA7XG4gIG1hcmdpbi1sZWZ0OiAwO1xuICBoZWlnaHQ6IDkwcHg7XG4gIGdyaWQtY29sdW1uOiAxL3NwYW4gMTtcbiAgZ3JpZC1yb3c6IDEvc3BhbiAxO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHotaW5kZXg6IDU7XG59XG5AbWVkaWEgKG1pbi13aWR0aDogNDgwcHgpIHtcbiAgLmhlYWRlci1icmFuZCB7XG4gICAgcGFkZGluZy1sZWZ0OiAyNXB4O1xuICB9XG59XG5AbWVkaWEgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgLmhlYWRlci1icmFuZCB7XG4gICAgcGFkZGluZy1sZWZ0OiAzMHB4O1xuICB9XG59XG5AbWVkaWEgKG1pbi13aWR0aDogOTkycHgpIHtcbiAgLmhlYWRlci1icmFuZCB7XG4gICAgcGFkZGluZy1sZWZ0OiA2MHB4O1xuICB9XG59XG5AbWVkaWEgKG1pbi13aWR0aDogMTIwMHB4KSB7XG4gIC5oZWFkZXItYnJhbmQge1xuICAgIHBhZGRpbmctbGVmdDogODBweDtcbiAgfVxufVxuQG1lZGlhIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gIC5oZWFkZXItYnJhbmQge1xuICAgIG1hcmdpbi1sZWZ0OiAyMHB4O1xuICAgIG1hcmdpbi1yaWdodDogMjBweDtcbiAgICB0cmFuc2l0aW9uOiBtYXJnaW4gMzAwbXM7XG4gICAgbWF4LXdpZHRoOiBjYWxjKDEwMCUgLSA0MHB4KTtcbiAgICBoZWlnaHQ6IDIwMHB4O1xuICAgIGhlaWdodDogYXV0bztcbiAgICBtYXJnaW4tdG9wOiA0NXB4O1xuICAgIHdpZHRoOiA1MCU7XG4gIH1cbn1cbkBtZWRpYSAobWluLXdpZHRoOiA3NjhweCkgYW5kIChtaW4td2lkdGg6IDQ4MHB4KSB7XG4gIC5oZWFkZXItYnJhbmQge1xuICAgIG1hcmdpbi1sZWZ0OiAyNXB4O1xuICAgIG1hcmdpbi1yaWdodDogMjVweDtcbiAgICBtYXgtd2lkdGg6IGNhbGMoMTAwJSAtIDUwcHgpO1xuICB9XG59XG5AbWVkaWEgKG1pbi13aWR0aDogNzY4cHgpIGFuZCAobWluLXdpZHRoOiA3NjhweCkge1xuICAuaGVhZGVyLWJyYW5kIHtcbiAgICBtYXJnaW4tbGVmdDogMzBweDtcbiAgICBtYXJnaW4tcmlnaHQ6IDMwcHg7XG4gICAgbWF4LXdpZHRoOiBjYWxjKDEwMCUgLSA2MHB4KTtcbiAgfVxufVxuQG1lZGlhIChtaW4td2lkdGg6IDc2OHB4KSBhbmQgKG1pbi13aWR0aDogOTkycHgpIHtcbiAgLmhlYWRlci1icmFuZCB7XG4gICAgbWFyZ2luLWxlZnQ6IDYwcHg7XG4gICAgbWFyZ2luLXJpZ2h0OiA2MHB4O1xuICAgIG1heC13aWR0aDogY2FsYygxMDAlIC0gMTIwcHgpO1xuICB9XG59XG5AbWVkaWEgKG1pbi13aWR0aDogNzY4cHgpIGFuZCAobWluLXdpZHRoOiAxMjAwcHgpIHtcbiAgLmhlYWRlci1icmFuZCB7XG4gICAgbWFyZ2luLWxlZnQ6IDgwcHg7XG4gICAgbWFyZ2luLXJpZ2h0OiA4MHB4O1xuICAgIG1heC13aWR0aDogY2FsYygxMDAlIC0gMTYwcHgpO1xuICB9XG59XG4uaGVhZGVyLWJyYW5kIGEge1xuICBtYXgtd2lkdGg6IDQyMHB4O1xuICBoZWlnaHQ6IDkwcHg7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gIGZvbnQtd2VpZ2h0OiBib2xkO1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gIGNvbG9yOiAjMDAwO1xuICBwYWRkaW5nLWxlZnQ6IDYwcHg7XG4gIGJvcmRlci1ib3R0b206IHVuc2V0O1xufVxuQG1lZGlhIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gIC5oZWFkZXItYnJhbmQgYSB7XG4gICAgaGVpZ2h0OiAyMDBweDtcbiAgICBoZWlnaHQ6IGF1dG87XG4gICAgcGFkZGluZy1sZWZ0OiAwO1xuICAgIHBhZGRpbmctYm90dG9tOiA0MHB4O1xuICAgIGJvcmRlci1ib3R0b206IDRweCBzb2xpZCAjMDAwMDAwO1xuICB9XG59XG5AbWVkaWEgKG1pbi13aWR0aDogMTIwMHB4KSB7XG4gIC5oZWFkZXItYnJhbmQgYSB7XG4gICAgcGFkZGluZy1ib3R0b206IDUwcHg7XG4gIH1cbn1cbkBtZWRpYSAobWluLXdpZHRoOiAxNDAwcHgpIHtcbiAgLmhlYWRlci1icmFuZCBhIHtcbiAgICBtYXgtd2lkdGg6IDUyMHB4O1xuICB9XG59XG4uaGVhZGVyLWJyYW5kIGEgLmxvZ28tdGV4dCB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBjb2xvcjogIzAwMDAwMDtcbiAgdGV4dC1hbGlnbjogbGVmdDtcbiAgcGFkZGluZy1sZWZ0OiAwO1xuICBwYWRkaW5nLXRvcDogMDtcbn1cbkBtZWRpYSAobWluLXdpZHRoOiA0ODBweCkge1xuICAuaGVhZGVyLWJyYW5kIGEgLmxvZ28tdGV4dCB7XG4gICAgcGFkZGluZy1sZWZ0OiAxMHB4O1xuICAgIGZvbnQtc2l6ZTogMXJlbTtcbiAgfVxufVxuQG1lZGlhIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gIC5oZWFkZXItYnJhbmQgYSAubG9nby10ZXh0IHtcbiAgICBwYWRkaW5nLXRvcDogMzBweDtcbiAgICBwYWRkaW5nLWxlZnQ6IDA7XG4gIH1cbn1cbkBtZWRpYSAobWluLXdpZHRoOiAxMjAwcHgpIHtcbiAgLmhlYWRlci1icmFuZCBhIC5sb2dvLXRleHQge1xuICAgIHBhZGRpbmctdG9wOiA1MHB4O1xuICB9XG59XG4uaGVhZGVyLWJyYW5kIGEgLmxvZ28tdGV4dCAubG9nby10ZXh0LXRpdGxlIHtcbiAgbWFyZ2luOiAwIGF1dG87XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBsaW5lLWhlaWdodDogMC45O1xuICBmb250LXNpemU6IDFyZW07XG4gIGZvbnQtZmFtaWx5OiBxdWVzdGEtZ3JhbmRlLCBzZXJpZjtcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbn1cbkBtZWRpYSAobWluLXdpZHRoOiA0ODBweCkge1xuICAuaGVhZGVyLWJyYW5kIGEgLmxvZ28tdGV4dCAubG9nby10ZXh0LXRpdGxlIHtcbiAgICBmb250LXNpemU6IDEuNnJlbTtcbiAgfVxufVxuQG1lZGlhIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gIC5oZWFkZXItYnJhbmQgYSAubG9nby10ZXh0IC5sb2dvLXRleHQtdGl0bGUge1xuICAgIGZvbnQtc2l6ZTogMi42cmVtO1xuICB9XG59XG5AbWVkaWEgKG1pbi13aWR0aDogOTkycHgpIHtcbiAgLmhlYWRlci1icmFuZCBhIC5sb2dvLXRleHQgLmxvZ28tdGV4dC10aXRsZSB7XG4gICAgZm9udC1zaXplOiAzcmVtO1xuICB9XG59XG5AbWVkaWEgKG1pbi13aWR0aDogMTIwMHB4KSB7XG4gIC5oZWFkZXItYnJhbmQgYSAubG9nby10ZXh0IC5sb2dvLXRleHQtdGl0bGUge1xuICAgIGZvbnQtc2l6ZTogMy4xcmVtO1xuICB9XG59XG5AbWVkaWEgKG1pbi13aWR0aDogMTQwMHB4KSB7XG4gIC5oZWFkZXItYnJhbmQgYSAubG9nby10ZXh0IC5sb2dvLXRleHQtdGl0bGUge1xuICAgIGZvbnQtc2l6ZTogMy44cmVtO1xuICB9XG59XG4uaGVhZGVyLWJyYW5kIGEgLmxvZ28tdGV4dCAubG9nby10ZXh0LXRhZ2xpbmUge1xuICBtYXJnaW46IDEwcHggYXV0byAwIGF1dG87XG4gIGxpbmUtaGVpZ2h0OiAxLjE7XG4gIGRpc3BsYXk6IG5vbmU7XG4gIGZvbnQtc2l6ZTogMC42cmVtO1xuICBmb250LXdlaWdodDogbGlnaHRlcjtcbiAgZm9udC1zdHlsZTogaXRhbGljO1xuICBjb2xvcjogIzAwMDAwMDtcbiAgZm9udC1mYW1pbHk6IHF1ZXN0YS1ncmFuZGUsIHNlcmlmO1xufVxuQG1lZGlhIChtaW4td2lkdGg6IDQ4MHB4KSB7XG4gIC5oZWFkZXItYnJhbmQgYSAubG9nby10ZXh0IC5sb2dvLXRleHQtdGFnbGluZSB7XG4gICAgZm9udC1zaXplOiAxLjFyZW07XG4gIH1cbn1cbkBtZWRpYSAobWluLXdpZHRoOiA3NjhweCkge1xuICAuaGVhZGVyLWJyYW5kIGEgLmxvZ28tdGV4dCAubG9nby10ZXh0LXRhZ2xpbmUge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIG1hcmdpbi10b3A6IDIwcHg7XG4gICAgZm9udC1zaXplOiAxLjVyZW07XG4gIH1cbn1cbkBtZWRpYSAobWluLXdpZHRoOiAxMjAwcHgpIHtcbiAgLmhlYWRlci1icmFuZCBhIC5sb2dvLXRleHQgLmxvZ28tdGV4dC10YWdsaW5lIHtcbiAgICBmb250LXNpemU6IDJyZW07XG4gIH1cbn1cblxuLmxvZ28ge1xuICBtYXJnaW4tbGVmdDogMjBweDtcbiAgdHJhbnNpdGlvbjogbWFyZ2luIDMwMG1zO1xuICBtYXgtd2lkdGg6IGNhbGMoMTAwJSAtIDIwcHgpO1xuICB3aWR0aDogYXV0bztcbiAgaGVpZ2h0OiAxMDAlO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHJpZ2h0OiBhdXRvO1xuICBib3R0b206IGF1dG87XG4gIHRvcDogMDtcbiAgbGVmdDogMDtcbn1cbkBtZWRpYSAobWluLXdpZHRoOiA0ODBweCkge1xuICAubG9nbyB7XG4gICAgbWFyZ2luLWxlZnQ6IDI1cHg7XG4gICAgbWF4LXdpZHRoOiBjYWxjKDEwMCUgLSAyNXB4KTtcbiAgfVxufVxuQG1lZGlhIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gIC5sb2dvIHtcbiAgICBtYXJnaW4tbGVmdDogMzBweDtcbiAgICBtYXgtd2lkdGg6IGNhbGMoMTAwJSAtIDMwcHgpO1xuICB9XG59XG5AbWVkaWEgKG1pbi13aWR0aDogOTkycHgpIHtcbiAgLmxvZ28ge1xuICAgIG1hcmdpbi1sZWZ0OiA2MHB4O1xuICAgIG1heC13aWR0aDogY2FsYygxMDAlIC0gNjBweCk7XG4gIH1cbn1cbkBtZWRpYSAobWluLXdpZHRoOiAxMjAwcHgpIHtcbiAgLmxvZ28ge1xuICAgIG1hcmdpbi1sZWZ0OiA4MHB4O1xuICAgIG1heC13aWR0aDogY2FsYygxMDAlIC0gODBweCk7XG4gIH1cbn1cbkBtZWRpYSAobWluLXdpZHRoOiA3NjhweCkge1xuICAubG9nbyB7XG4gICAgd2lkdGg6IGF1dG87XG4gICAgaGVpZ2h0OiA5MCU7XG4gICAgcmlnaHQ6IDMwcHg7XG4gICAgYm90dG9tOiAwO1xuICAgIHRvcDogYXV0bztcbiAgICBsZWZ0OiBhdXRvO1xuICB9XG59XG5AbWVkaWEgKG1pbi13aWR0aDogOTkycHgpIHtcbiAgLmxvZ28ge1xuICAgIHJpZ2h0OiAxMDBweDtcbiAgfVxufVxuXG4udGFibGUtb2YtY29udGVudHMge1xuICBtYXJnaW4tbGVmdDogMjBweDtcbiAgdHJhbnNpdGlvbjogbWFyZ2luIDMwMG1zO1xuICBtYXgtd2lkdGg6IGNhbGMoMTAwJSAtIDIwcHgpO1xuICBwYWRkaW5nLXJpZ2h0OiAyMHB4O1xuICB0cmFuc2l0aW9uOiBwYWRkaW5nIDMwMG1zO1xuICBwYWRkaW5nLWxlZnQ6IDIwcHg7XG4gIHRyYW5zaXRpb246IHBhZGRpbmcgMzAwbXM7XG4gIHBhZGRpbmctdG9wOiAzNXB4O1xuICBwYWRkaW5nLWJvdHRvbTogMjBweDtcbiAgZGlzcGxheTogYmxvY2s7XG4gIGZvbnQtZmFtaWx5OiBxdWVzdGEtZ3JhbmRlLCBzZXJpZjtcbiAgZm9udC1zaXplOiAxLjZyZW07XG4gIGZvbnQtd2VpZ2h0OiBib2xkO1xufVxuQG1lZGlhIChtaW4td2lkdGg6IDQ4MHB4KSB7XG4gIC50YWJsZS1vZi1jb250ZW50cyB7XG4gICAgbWFyZ2luLWxlZnQ6IDI1cHg7XG4gICAgbWF4LXdpZHRoOiBjYWxjKDEwMCUgLSAyNXB4KTtcbiAgfVxufVxuQG1lZGlhIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gIC50YWJsZS1vZi1jb250ZW50cyB7XG4gICAgbWFyZ2luLWxlZnQ6IDMwcHg7XG4gICAgbWF4LXdpZHRoOiBjYWxjKDEwMCUgLSAzMHB4KTtcbiAgfVxufVxuQG1lZGlhIChtaW4td2lkdGg6IDk5MnB4KSB7XG4gIC50YWJsZS1vZi1jb250ZW50cyB7XG4gICAgbWFyZ2luLWxlZnQ6IDYwcHg7XG4gICAgbWF4LXdpZHRoOiBjYWxjKDEwMCUgLSA2MHB4KTtcbiAgfVxufVxuQG1lZGlhIChtaW4td2lkdGg6IDEyMDBweCkge1xuICAudGFibGUtb2YtY29udGVudHMge1xuICAgIG1hcmdpbi1sZWZ0OiA4MHB4O1xuICAgIG1heC13aWR0aDogY2FsYygxMDAlIC0gODBweCk7XG4gIH1cbn1cbkBtZWRpYSAobWluLXdpZHRoOiA0ODBweCkge1xuICAudGFibGUtb2YtY29udGVudHMge1xuICAgIHBhZGRpbmctcmlnaHQ6IDI1cHg7XG4gIH1cbn1cbkBtZWRpYSAobWluLXdpZHRoOiA3NjhweCkge1xuICAudGFibGUtb2YtY29udGVudHMge1xuICAgIHBhZGRpbmctcmlnaHQ6IDMwcHg7XG4gIH1cbn1cbkBtZWRpYSAobWluLXdpZHRoOiA5OTJweCkge1xuICAudGFibGUtb2YtY29udGVudHMge1xuICAgIHBhZGRpbmctcmlnaHQ6IDYwcHg7XG4gIH1cbn1cbkBtZWRpYSAobWluLXdpZHRoOiAxMjAwcHgpIHtcbiAgLnRhYmxlLW9mLWNvbnRlbnRzIHtcbiAgICBwYWRkaW5nLXJpZ2h0OiA4MHB4O1xuICB9XG59XG5AbWVkaWEgKG1pbi13aWR0aDogNDgwcHgpIHtcbiAgLnRhYmxlLW9mLWNvbnRlbnRzIHtcbiAgICBwYWRkaW5nLWxlZnQ6IDI1cHg7XG4gIH1cbn1cbkBtZWRpYSAobWluLXdpZHRoOiA3NjhweCkge1xuICAudGFibGUtb2YtY29udGVudHMge1xuICAgIHBhZGRpbmctbGVmdDogMzBweDtcbiAgfVxufVxuQG1lZGlhIChtaW4td2lkdGg6IDk5MnB4KSB7XG4gIC50YWJsZS1vZi1jb250ZW50cyB7XG4gICAgcGFkZGluZy1sZWZ0OiA2MHB4O1xuICB9XG59XG5AbWVkaWEgKG1pbi13aWR0aDogMTIwMHB4KSB7XG4gIC50YWJsZS1vZi1jb250ZW50cyB7XG4gICAgcGFkZGluZy1sZWZ0OiA4MHB4O1xuICB9XG59XG5cbi5oZWFkZXItbmF2IHtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogMDtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDkwcHg7XG4gIGRpc3BsYXk6IG5vbmU7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIHotaW5kZXg6IDEwO1xufVxuLmhlYWRlci1uYXYuYmctdmlzaWJsZSB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmMGVkZTg7XG4gIGJveC1zaGFkb3c6IDBweCA1cHggMTBweCAtNXB4ICMwMDAwMDA7XG59XG5AbWVkaWEgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgLmhlYWRlci1uYXYge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBoZWlnaHQ6IGF1dG87XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgb3ZlcmZsb3c6IHZpc2libGU7XG4gICAgdG9wOiBhdXRvO1xuICB9XG4gIC5oZWFkZXItbmF2LmJnLXZpc2libGUge1xuICAgIGJveC1zaGFkb3c6IHVuc2V0O1xuICB9XG59XG5cbi5tYWluLW5hdiB7XG4gIHdpZHRoOiAxMDAlO1xuICBwYWRkaW5nLXJpZ2h0OiAwO1xuICBwYWRkaW5nLWxlZnQ6IDA7XG4gIGhlaWdodDogYXV0bztcbiAgcG9zaXRpb246IHN0YXRpYztcbiAgdG9wOiBhdXRvO1xuICByaWdodDogYXV0bztcbiAgei1pbmRleDogNTtcbiAgZGlzcGxheTogYmxvY2s7XG59XG5AbWVkaWEgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgLm1haW4tbmF2IHtcbiAgICBtYXJnaW4tbGVmdDogMjBweDtcbiAgICB0cmFuc2l0aW9uOiBtYXJnaW4gMzAwbXM7XG4gICAgbWF4LXdpZHRoOiBjYWxjKDEwMCUgLSAyMHB4KTtcbiAgICBwYWRkaW5nLXJpZ2h0OiAyMHB4O1xuICAgIHRyYW5zaXRpb246IHBhZGRpbmcgMzAwbXM7XG4gICAgcGFkZGluZy1sZWZ0OiAyMHB4O1xuICAgIHRyYW5zaXRpb246IHBhZGRpbmcgMzAwbXM7XG4gICAgcGFkZGluZy1sZWZ0OiAwO1xuICAgIHdpZHRoOiBhdXRvO1xuICAgIGxlZnQ6IDA7XG4gIH1cbn1cbkBtZWRpYSAobWluLXdpZHRoOiA3NjhweCkgYW5kIChtaW4td2lkdGg6IDQ4MHB4KSB7XG4gIC5tYWluLW5hdiB7XG4gICAgbWFyZ2luLWxlZnQ6IDI1cHg7XG4gICAgbWF4LXdpZHRoOiBjYWxjKDEwMCUgLSAyNXB4KTtcbiAgfVxufVxuQG1lZGlhIChtaW4td2lkdGg6IDc2OHB4KSBhbmQgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgLm1haW4tbmF2IHtcbiAgICBtYXJnaW4tbGVmdDogMzBweDtcbiAgICBtYXgtd2lkdGg6IGNhbGMoMTAwJSAtIDMwcHgpO1xuICB9XG59XG5AbWVkaWEgKG1pbi13aWR0aDogNzY4cHgpIGFuZCAobWluLXdpZHRoOiA5OTJweCkge1xuICAubWFpbi1uYXYge1xuICAgIG1hcmdpbi1sZWZ0OiA2MHB4O1xuICAgIG1heC13aWR0aDogY2FsYygxMDAlIC0gNjBweCk7XG4gIH1cbn1cbkBtZWRpYSAobWluLXdpZHRoOiA3NjhweCkgYW5kIChtaW4td2lkdGg6IDEyMDBweCkge1xuICAubWFpbi1uYXYge1xuICAgIG1hcmdpbi1sZWZ0OiA4MHB4O1xuICAgIG1heC13aWR0aDogY2FsYygxMDAlIC0gODBweCk7XG4gIH1cbn1cbkBtZWRpYSAobWluLXdpZHRoOiA3NjhweCkgYW5kIChtaW4td2lkdGg6IDQ4MHB4KSB7XG4gIC5tYWluLW5hdiB7XG4gICAgcGFkZGluZy1yaWdodDogMjVweDtcbiAgfVxufVxuQG1lZGlhIChtaW4td2lkdGg6IDc2OHB4KSBhbmQgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgLm1haW4tbmF2IHtcbiAgICBwYWRkaW5nLXJpZ2h0OiAzMHB4O1xuICB9XG59XG5AbWVkaWEgKG1pbi13aWR0aDogNzY4cHgpIGFuZCAobWluLXdpZHRoOiA5OTJweCkge1xuICAubWFpbi1uYXYge1xuICAgIHBhZGRpbmctcmlnaHQ6IDYwcHg7XG4gIH1cbn1cbkBtZWRpYSAobWluLXdpZHRoOiA3NjhweCkgYW5kIChtaW4td2lkdGg6IDEyMDBweCkge1xuICAubWFpbi1uYXYge1xuICAgIHBhZGRpbmctcmlnaHQ6IDgwcHg7XG4gIH1cbn1cbkBtZWRpYSAobWluLXdpZHRoOiA3NjhweCkgYW5kIChtaW4td2lkdGg6IDQ4MHB4KSB7XG4gIC5tYWluLW5hdiB7XG4gICAgcGFkZGluZy1sZWZ0OiAyNXB4O1xuICB9XG59XG5AbWVkaWEgKG1pbi13aWR0aDogNzY4cHgpIGFuZCAobWluLXdpZHRoOiA3NjhweCkge1xuICAubWFpbi1uYXYge1xuICAgIHBhZGRpbmctbGVmdDogMzBweDtcbiAgfVxufVxuQG1lZGlhIChtaW4td2lkdGg6IDc2OHB4KSBhbmQgKG1pbi13aWR0aDogOTkycHgpIHtcbiAgLm1haW4tbmF2IHtcbiAgICBwYWRkaW5nLWxlZnQ6IDYwcHg7XG4gIH1cbn1cbkBtZWRpYSAobWluLXdpZHRoOiA3NjhweCkgYW5kIChtaW4td2lkdGg6IDEyMDBweCkge1xuICAubWFpbi1uYXYge1xuICAgIHBhZGRpbmctbGVmdDogODBweDtcbiAgfVxufVxuLm1haW4tbmF2IHVsIHtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogYXV0bztcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgbGlzdC1zdHlsZTogbm9uZTtcbiAgYm9yZGVyLXRvcDogMXB4IHNvbGlkICM4ODg4ODg7XG4gIHBhZGRpbmctYm90dG9tOiAwO1xufVxuQG1lZGlhIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gIC5tYWluLW5hdiB1bCB7XG4gICAgd2lkdGg6IGF1dG87XG4gICAgcGFkZGluZy1ib3R0b206IDMwcHg7XG4gICAgY29sdW1uLWdhcDogMTBweDtcbiAgICBib3JkZXItdG9wOiB1bnNldDtcbiAgICBhbGlnbi1pdGVtczogZmxleC1zdGFydDtcbiAgfVxufVxuLm1haW4tbmF2IHVsIGxpIHtcbiAgcGFkZGluZy1yaWdodDogMjBweDtcbiAgdHJhbnNpdGlvbjogcGFkZGluZyAzMDBtcztcbiAgcGFkZGluZy1sZWZ0OiAyMHB4O1xuICB0cmFuc2l0aW9uOiBwYWRkaW5nIDMwMG1zO1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiA0NXB4O1xuICBsaXN0LXN0eWxlOiBub25lO1xuICBib3JkZXItdG9wOiB1bnNldDtcbiAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICM4ODg4ODg7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbn1cbkBtZWRpYSAobWluLXdpZHRoOiA0ODBweCkge1xuICAubWFpbi1uYXYgdWwgbGkge1xuICAgIHBhZGRpbmctcmlnaHQ6IDI1cHg7XG4gIH1cbn1cbkBtZWRpYSAobWluLXdpZHRoOiA3NjhweCkge1xuICAubWFpbi1uYXYgdWwgbGkge1xuICAgIHBhZGRpbmctcmlnaHQ6IDMwcHg7XG4gIH1cbn1cbkBtZWRpYSAobWluLXdpZHRoOiA5OTJweCkge1xuICAubWFpbi1uYXYgdWwgbGkge1xuICAgIHBhZGRpbmctcmlnaHQ6IDYwcHg7XG4gIH1cbn1cbkBtZWRpYSAobWluLXdpZHRoOiAxMjAwcHgpIHtcbiAgLm1haW4tbmF2IHVsIGxpIHtcbiAgICBwYWRkaW5nLXJpZ2h0OiA4MHB4O1xuICB9XG59XG5AbWVkaWEgKG1pbi13aWR0aDogNDgwcHgpIHtcbiAgLm1haW4tbmF2IHVsIGxpIHtcbiAgICBwYWRkaW5nLWxlZnQ6IDI1cHg7XG4gIH1cbn1cbkBtZWRpYSAobWluLXdpZHRoOiA3NjhweCkge1xuICAubWFpbi1uYXYgdWwgbGkge1xuICAgIHBhZGRpbmctbGVmdDogMzBweDtcbiAgfVxufVxuQG1lZGlhIChtaW4td2lkdGg6IDk5MnB4KSB7XG4gIC5tYWluLW5hdiB1bCBsaSB7XG4gICAgcGFkZGluZy1sZWZ0OiA2MHB4O1xuICB9XG59XG5AbWVkaWEgKG1pbi13aWR0aDogMTIwMHB4KSB7XG4gIC5tYWluLW5hdiB1bCBsaSB7XG4gICAgcGFkZGluZy1sZWZ0OiA4MHB4O1xuICB9XG59XG5AbWVkaWEgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgLm1haW4tbmF2IHVsIGxpIHtcbiAgICBwYWRkaW5nLXJpZ2h0OiAwO1xuICAgIHBhZGRpbmctbGVmdDogMDtcbiAgICB3aWR0aDogYXV0bztcbiAgICBib3JkZXItYm90dG9tOiB1bnNldDtcbiAgICB0cmFuc2l0aW9uOiBkaXNwbGF5IDMwMG1zO1xuICB9XG4gIC5tYWluLW5hdiB1bCBsaTpob3ZlciA+IHVsIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgfVxufVxuLm1haW4tbmF2IHVsIGxpIGEge1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiA0NXB4O1xuICBwYWRkaW5nOiAwO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGZvbnQtd2VpZ2h0OiBib2xkO1xuICBmb250LXNpemU6IDFyZW07XG4gIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gIGNvbG9yOiAjMDAwMDAwO1xuICBmb250LWZhbWlseTogcXVlc3RhLWdyYW5kZSwgc2VyaWY7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbn1cbkBtZWRpYSAobWluLXdpZHRoOiA3NjhweCkge1xuICAubWFpbi1uYXYgdWwgbGkgYSB7XG4gICAgd2lkdGg6IGF1dG87XG4gICAgcGFkZGluZzogMCA1cHg7XG4gICAgZm9udC1zaXplOiAxLjZyZW07XG4gICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgfVxufVxuLm1haW4tbmF2IHVsIGxpIC5uYXYtY2hldnJvbiB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgcmlnaHQ6IDA7XG59XG5AbWVkaWEgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgLm1haW4tbmF2IHVsIGxpIC5uYXYtY2hldnJvbiB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxufVxuLm1haW4tbmF2IHVsIGxpIHVsIHtcbiAgd2lkdGg6IDIyNXB4O1xuICBoZWlnaHQ6IGF1dG87XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiA2MnB4O1xuICByaWdodDogMDtcbiAgbGlzdC1zdHlsZTogbm9uZTtcbiAgZGlzcGxheTogbm9uZTtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2UwZTBlMDtcbiAgYm9yZGVyLXRvcDogMXB4IHNvbGlkICNmZWZlZmU7XG59XG4ubWFpbi1uYXYgdWwgbGkgdWw6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXCI7XG4gIHdpZHRoOiAwO1xuICBoZWlnaHQ6IDA7XG4gIGJvcmRlci10b3A6IDEwcHggc29saWQgdHJhbnNwYXJlbnQ7XG4gIGJvcmRlci1ib3R0b206IDEwcHggc29saWQgdHJhbnNwYXJlbnQ7XG4gIGJvcmRlci1sZWZ0OiAxMHB4IHNvbGlkICNlMGUwZTA7XG4gIHRyYW5zZm9ybTogcm90YXRlKDQ1ZGVnKTtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IC0xMnB4O1xuICByaWdodDogLTFweDtcbiAgei1pbmRleDogMTAwMTtcbn1cbi5tYWluLW5hdiB1bCBsaSB1bCBsaSB7XG4gIHdpZHRoOiAyMjVweDtcbiAgaGVpZ2h0OiAzNXB4O1xuICBsaXN0LXN0eWxlOiBub25lO1xuICBkaXNwbGF5OiBibG9jaztcbiAgYm9yZGVyLXRvcDogMXB4IHNvbGlkICNmZWZlZmU7XG59XG4ubWFpbi1uYXYgdWwgbGkgdWwgbGk6bnRoLWNoaWxkKDEpIHtcbiAgYm9yZGVyLXRvcDogMXB4IHNvbGlkICM5OTk5OTk7XG59XG4ubWFpbi1uYXYgdWwgbGkgdWwgbGk6bnRoLWNoaWxkKDIpIHtcbiAgYm9yZGVyLXRvcDogMXB4IHNvbGlkICNmZWZlZmU7XG59XG4ubWFpbi1uYXYgdWwgbGkgdWwgbGk6bnRoLWNoaWxkKDMpIHtcbiAgYm9yZGVyLXRvcDogMXB4IHNvbGlkICNmZWZlZmU7XG59XG4ubWFpbi1uYXYgdWwgbGkgdWwgbGk6bnRoLWNoaWxkKDQpIHtcbiAgYm9yZGVyLXRvcDogMXB4IHNvbGlkICNmZWZlZmU7XG59XG4ubWFpbi1uYXYgdWwgbGkgdWwgbGkgYSB7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IDM1cHg7XG4gIHBhZGRpbmctbGVmdDogMTBweDtcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xufVxuLm1haW4tbmF2IHVsIGxpIHVsIGxpIGE6aG92ZXIge1xuICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcbn1cblxuLnRvcC1uYXYge1xuICBwYWRkaW5nLXJpZ2h0OiAwO1xuICBwYWRkaW5nLWxlZnQ6IDA7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IGF1dG87XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgdG9wOiBhdXRvO1xuICBsZWZ0OiBhdXRvO1xuICB6LWluZGV4OiA2O1xuICBkaXNwbGF5OiBibG9jaztcbiAgY2xlYXI6IGJvdGg7XG59XG5AbWVkaWEgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgLnRvcC1uYXYge1xuICAgIHBhZGRpbmctcmlnaHQ6IDIwcHg7XG4gICAgdHJhbnNpdGlvbjogcGFkZGluZyAzMDBtcztcbiAgICBwYWRkaW5nLWxlZnQ6IDIwcHg7XG4gICAgdHJhbnNpdGlvbjogcGFkZGluZyAzMDBtcztcbiAgICB3aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6IDQ1cHg7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMDtcbiAgICByaWdodDogMDtcbiAgICB6LWluZGV4OiA2O1xuICB9XG59XG5AbWVkaWEgKG1pbi13aWR0aDogNzY4cHgpIGFuZCAobWluLXdpZHRoOiA0ODBweCkge1xuICAudG9wLW5hdiB7XG4gICAgcGFkZGluZy1yaWdodDogMjVweDtcbiAgfVxufVxuQG1lZGlhIChtaW4td2lkdGg6IDc2OHB4KSBhbmQgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgLnRvcC1uYXYge1xuICAgIHBhZGRpbmctcmlnaHQ6IDMwcHg7XG4gIH1cbn1cbkBtZWRpYSAobWluLXdpZHRoOiA3NjhweCkgYW5kIChtaW4td2lkdGg6IDk5MnB4KSB7XG4gIC50b3AtbmF2IHtcbiAgICBwYWRkaW5nLXJpZ2h0OiA2MHB4O1xuICB9XG59XG5AbWVkaWEgKG1pbi13aWR0aDogNzY4cHgpIGFuZCAobWluLXdpZHRoOiAxMjAwcHgpIHtcbiAgLnRvcC1uYXYge1xuICAgIHBhZGRpbmctcmlnaHQ6IDgwcHg7XG4gIH1cbn1cbkBtZWRpYSAobWluLXdpZHRoOiA3NjhweCkgYW5kIChtaW4td2lkdGg6IDQ4MHB4KSB7XG4gIC50b3AtbmF2IHtcbiAgICBwYWRkaW5nLWxlZnQ6IDI1cHg7XG4gIH1cbn1cbkBtZWRpYSAobWluLXdpZHRoOiA3NjhweCkgYW5kIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gIC50b3AtbmF2IHtcbiAgICBwYWRkaW5nLWxlZnQ6IDMwcHg7XG4gIH1cbn1cbkBtZWRpYSAobWluLXdpZHRoOiA3NjhweCkgYW5kIChtaW4td2lkdGg6IDk5MnB4KSB7XG4gIC50b3AtbmF2IHtcbiAgICBwYWRkaW5nLWxlZnQ6IDYwcHg7XG4gIH1cbn1cbkBtZWRpYSAobWluLXdpZHRoOiA3NjhweCkgYW5kIChtaW4td2lkdGg6IDEyMDBweCkge1xuICAudG9wLW5hdiB7XG4gICAgcGFkZGluZy1sZWZ0OiA4MHB4O1xuICB9XG59XG4udG9wLW5hdiB1bCB7XG4gIHdpZHRoOiAxMDAlO1xuICBwYWRkaW5nLXJpZ2h0OiAwO1xuICBoZWlnaHQ6IGF1dG87XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIGxpc3Qtc3R5bGU6IG5vbmU7XG4gIGNvbHVtbi1nYXA6IDMwcHg7XG4gIGZsZXgtZmxvdzogY29sdW1uO1xufVxuQG1lZGlhIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gIC50b3AtbmF2IHVsIHtcbiAgICB3aWR0aDogYXV0bztcbiAgICBoZWlnaHQ6IDQ1cHg7XG4gICAgcGFkZGluZy1yaWdodDogNjBweDtcbiAgICBmbGV4LWZsb3c6IHJvdy1yZXZlcnNlO1xuICB9XG59XG4udG9wLW5hdiB1bCBsaSB7XG4gIHBhZGRpbmctcmlnaHQ6IDIwcHg7XG4gIHRyYW5zaXRpb246IHBhZGRpbmcgMzAwbXM7XG4gIHBhZGRpbmctbGVmdDogMjBweDtcbiAgdHJhbnNpdGlvbjogcGFkZGluZyAzMDBtcztcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogNDVweDtcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgbGlzdC1zdHlsZTogbm9uZTtcbiAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICM4ODg4ODg7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbn1cbkBtZWRpYSAobWluLXdpZHRoOiA0ODBweCkge1xuICAudG9wLW5hdiB1bCBsaSB7XG4gICAgcGFkZGluZy1yaWdodDogMjVweDtcbiAgfVxufVxuQG1lZGlhIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gIC50b3AtbmF2IHVsIGxpIHtcbiAgICBwYWRkaW5nLXJpZ2h0OiAzMHB4O1xuICB9XG59XG5AbWVkaWEgKG1pbi13aWR0aDogOTkycHgpIHtcbiAgLnRvcC1uYXYgdWwgbGkge1xuICAgIHBhZGRpbmctcmlnaHQ6IDYwcHg7XG4gIH1cbn1cbkBtZWRpYSAobWluLXdpZHRoOiAxMjAwcHgpIHtcbiAgLnRvcC1uYXYgdWwgbGkge1xuICAgIHBhZGRpbmctcmlnaHQ6IDgwcHg7XG4gIH1cbn1cbkBtZWRpYSAobWluLXdpZHRoOiA0ODBweCkge1xuICAudG9wLW5hdiB1bCBsaSB7XG4gICAgcGFkZGluZy1sZWZ0OiAyNXB4O1xuICB9XG59XG5AbWVkaWEgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgLnRvcC1uYXYgdWwgbGkge1xuICAgIHBhZGRpbmctbGVmdDogMzBweDtcbiAgfVxufVxuQG1lZGlhIChtaW4td2lkdGg6IDk5MnB4KSB7XG4gIC50b3AtbmF2IHVsIGxpIHtcbiAgICBwYWRkaW5nLWxlZnQ6IDYwcHg7XG4gIH1cbn1cbkBtZWRpYSAobWluLXdpZHRoOiAxMjAwcHgpIHtcbiAgLnRvcC1uYXYgdWwgbGkge1xuICAgIHBhZGRpbmctbGVmdDogODBweDtcbiAgfVxufVxuQG1lZGlhIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gIC50b3AtbmF2IHVsIGxpIHtcbiAgICB3aWR0aDogYXV0bztcbiAgICBwYWRkaW5nLXJpZ2h0OiAwO1xuICAgIHBhZGRpbmctbGVmdDogMDtcbiAgICBib3JkZXItYm90dG9tOiB1bnNldDtcbiAgfVxufVxuLnRvcC1uYXYgdWwgbGkgYSB7XG4gIGhlaWdodDogNDVweDtcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICBjb2xvcjogIzAwMDAwMDtcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gIGZvbnQtc2l6ZTogMTJweDtcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbn1cbkBtZWRpYSAobWluLXdpZHRoOiA3NjhweCkge1xuICAudG9wLW5hdiB1bCBsaSBhIHtcbiAgICBjb2xvcjogcmdiKDIzNywgMjA1LCA0NCk7XG4gIH1cbn1cbi5zbGlkZS1saW5lIHtcbiAgaGVpZ2h0OiAzcHg7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmZWZlZmU7XG59XG5cbi5oZWFkZXItYnV0dG9ucyB7XG4gIHBhZGRpbmctcmlnaHQ6IDIwcHg7XG4gIHRyYW5zaXRpb246IHBhZGRpbmcgMzAwbXM7XG4gIHdpZHRoOiBhdXRvO1xuICBoZWlnaHQ6IDkwcHg7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAwO1xuICByaWdodDogMDtcbiAgei1pbmRleDogNjtcbn1cbkBtZWRpYSAobWluLXdpZHRoOiA0ODBweCkge1xuICAuaGVhZGVyLWJ1dHRvbnMge1xuICAgIHBhZGRpbmctcmlnaHQ6IDI1cHg7XG4gIH1cbn1cbkBtZWRpYSAobWluLXdpZHRoOiA3NjhweCkge1xuICAuaGVhZGVyLWJ1dHRvbnMge1xuICAgIHBhZGRpbmctcmlnaHQ6IDMwcHg7XG4gIH1cbn1cbkBtZWRpYSAobWluLXdpZHRoOiA5OTJweCkge1xuICAuaGVhZGVyLWJ1dHRvbnMge1xuICAgIHBhZGRpbmctcmlnaHQ6IDYwcHg7XG4gIH1cbn1cbkBtZWRpYSAobWluLXdpZHRoOiAxMjAwcHgpIHtcbiAgLmhlYWRlci1idXR0b25zIHtcbiAgICBwYWRkaW5nLXJpZ2h0OiA4MHB4O1xuICB9XG59XG5AbWVkaWEgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgLmhlYWRlci1idXR0b25zIHtcbiAgICBoZWlnaHQ6IDQ1cHg7XG4gICAgcGFkZGluZy1sZWZ0OiAwO1xuICB9XG59XG5cbi5nbGFzcyB7XG4gIHBhZGRpbmc6IDhweCAxMHB4O1xuICBkaXNwbGF5OiBmbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICB0b3A6IGF1dG87XG4gIGJvcmRlcjogdW5zZXQ7XG59XG4uZ2xhc3MgaSB7XG4gIGNvbG9yOiAjMDAwMDAwO1xufVxuQG1lZGlhIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gIC5nbGFzcyB7XG4gICAgaGVpZ2h0OiA0NXB4O1xuICAgIGJvcmRlcjogdW5zZXQ7XG4gICAgcGFkZGluZzogOHB4IDE1cHg7XG4gIH1cbiAgLmdsYXNzIGkge1xuICAgIGNvbG9yOiAjMDAwMDAwO1xuICB9XG4gIC5nbGFzcyBpOmhvdmVyIHtcbiAgICBjb2xvcjogI2FhYTtcbiAgfVxufVxuXG4uYnVyZ2VyIHtcbiAgbWFyZ2luLWxlZnQ6IDA7XG4gIHBhZGRpbmc6IDhweCAxMHB4O1xuICBkaXNwbGF5OiBmbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xufVxuLmJ1cmdlciBpIHtcbiAgY29sb3I6ICMwMDAwMDA7XG59XG5AbWVkaWEgKG1pbi13aWR0aDogMzQwcHgpIHtcbiAgLmJ1cmdlciB7XG4gICAgbWFyZ2luLWxlZnQ6IDEwcHg7XG4gIH1cbn1cbkBtZWRpYSAobWluLXdpZHRoOiA3NjhweCkge1xuICAuYnVyZ2VyIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG59XG5cbi5zaXRlLXNlYXJjaC13cmFwIHtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogYXV0bztcbiAgaGVpZ2h0OiBhdXRvO1xuICBkaXNwbGF5OiBub25lO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogOTBweDtcbiAgbGVmdDogMDtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZmZmZjtcbiAgei1pbmRleDogNjtcbiAgYm94LXNoYWRvdzogMHB4IDJweCAxMHB4IC0ycHggIzAwMDAwMDtcbn1cbkBtZWRpYSAobWluLXdpZHRoOiA3NjhweCkge1xuICAuc2l0ZS1zZWFyY2gtd3JhcCB7XG4gICAgdG9wOiA0NXB4O1xuICB9XG59XG4uc2l0ZS1zZWFyY2gtd3JhcCAuc2l0ZS1zZWFyY2gge1xuICBwYWRkaW5nLXJpZ2h0OiAyMHB4O1xuICB0cmFuc2l0aW9uOiBwYWRkaW5nIDMwMG1zO1xuICBwYWRkaW5nLWxlZnQ6IDIwcHg7XG4gIHRyYW5zaXRpb246IHBhZGRpbmcgMzAwbXM7XG59XG5AbWVkaWEgKG1pbi13aWR0aDogNDgwcHgpIHtcbiAgLnNpdGUtc2VhcmNoLXdyYXAgLnNpdGUtc2VhcmNoIHtcbiAgICBwYWRkaW5nLXJpZ2h0OiAyNXB4O1xuICB9XG59XG5AbWVkaWEgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgLnNpdGUtc2VhcmNoLXdyYXAgLnNpdGUtc2VhcmNoIHtcbiAgICBwYWRkaW5nLXJpZ2h0OiAzMHB4O1xuICB9XG59XG5AbWVkaWEgKG1pbi13aWR0aDogOTkycHgpIHtcbiAgLnNpdGUtc2VhcmNoLXdyYXAgLnNpdGUtc2VhcmNoIHtcbiAgICBwYWRkaW5nLXJpZ2h0OiA2MHB4O1xuICB9XG59XG5AbWVkaWEgKG1pbi13aWR0aDogMTIwMHB4KSB7XG4gIC5zaXRlLXNlYXJjaC13cmFwIC5zaXRlLXNlYXJjaCB7XG4gICAgcGFkZGluZy1yaWdodDogODBweDtcbiAgfVxufVxuQG1lZGlhIChtaW4td2lkdGg6IDQ4MHB4KSB7XG4gIC5zaXRlLXNlYXJjaC13cmFwIC5zaXRlLXNlYXJjaCB7XG4gICAgcGFkZGluZy1sZWZ0OiAyNXB4O1xuICB9XG59XG5AbWVkaWEgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgLnNpdGUtc2VhcmNoLXdyYXAgLnNpdGUtc2VhcmNoIHtcbiAgICBwYWRkaW5nLWxlZnQ6IDMwcHg7XG4gIH1cbn1cbkBtZWRpYSAobWluLXdpZHRoOiA5OTJweCkge1xuICAuc2l0ZS1zZWFyY2gtd3JhcCAuc2l0ZS1zZWFyY2gge1xuICAgIHBhZGRpbmctbGVmdDogNjBweDtcbiAgfVxufVxuQG1lZGlhIChtaW4td2lkdGg6IDEyMDBweCkge1xuICAuc2l0ZS1zZWFyY2gtd3JhcCAuc2l0ZS1zZWFyY2gge1xuICAgIHBhZGRpbmctbGVmdDogODBweDtcbiAgfVxufVxuXG4vKipcbiAgKiBTSVRFIFNFQVJDSCBGT1JNIFNUWUxFU1xuICAqL1xuLnNpdGUtc2VhcmNoIHtcbiAgd2lkdGg6IDEwMCU7XG4gIG1heC13aWR0aDogMTQwMHB4O1xuICBtYXJnaW46IDAgYXV0bztcbiAgaGVpZ2h0OiBhdXRvO1xuICBwYWRkaW5nOiAzNXB4IDA7XG4gIGRpc3BsYXk6IGdyaWQ7XG4gIGdyaWQtdGVtcGxhdGUtY29sdW1uczogMWZyIDUwcHg7XG4gIGdyaWQtdGVtcGxhdGUtcm93czogYXV0bztcbn1cblxuLnNlYXJjaC1xdWVyeSB7XG4gIGhlaWdodDogNTBweDtcbiAgcGFkZGluZzogMDtcbiAgZ3JpZC1jb2x1bW46IDEvc3BhbiAxO1xuICBncmlkLXJvdzogMTtcbiAgYWxpZ24tc2VsZjogY2VudGVyO1xufVxuLnNlYXJjaC1xdWVyeSBsYWJlbCB7XG4gIHdpZHRoOiAxMDAlO1xuICBtYXgtd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogMzBweDtcbiAgY29sb3I6ICMwMDAwMDA7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICB0ZXh0LWFsaWduOiBsZWZ0O1xuICBkaXNwbGF5OiBub25lO1xufVxuLnNlYXJjaC1xdWVyeSBpbnB1dCB7XG4gIHdpZHRoOiAxMDAlO1xuICBtYXgtd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogNTBweDtcbiAgcGFkZGluZy1sZWZ0OiAyMHB4O1xuICBib3JkZXI6IDJweCBzb2xpZCAjMDAwMDAwO1xuICBkaXNwbGF5OiBibG9jaztcbiAgYmFja2dyb3VuZC1jb2xvcjogdW5zZXQ7XG4gIGNvbG9yOiAjMDAwMDAwO1xufVxuXG4uc2VhcmNoLXN1Ym1pdCB7XG4gIHdpZHRoOiA1MHB4O1xuICBoZWlnaHQ6IDUwcHg7XG4gIGdyaWQtY29sdW1uOiAyL3NwYW4gMTtcbiAgZ3JpZC1yb3c6IDE7XG4gIGFsaWduLXNlbGY6IHN0YXJ0O1xuICBjb2xvcjogIzAwMDAwMDtcbiAgZm9udC1zaXplOiAxLjRyZW07XG4gIGJhY2tncm91bmQtY29sb3I6ICNmZWZlZmU7XG4gIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMjAwbXM7XG4gIGJvcmRlci10b3A6IDJweCBzb2xpZCAjMDAwMDAwO1xuICBib3JkZXItcmlnaHQ6IDJweCBzb2xpZCAjMDAwMDAwO1xuICBib3JkZXItYm90dG9tOiAycHggc29saWQgIzAwMDAwMDtcbiAgbGluZS1oZWlnaHQ6IDUwcHg7XG59XG4uc2VhcmNoLXN1Ym1pdDpob3ZlciB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNlMGUwZTA7XG59XG5cbi8qKlxuICAqIENPTlRFTlQgU1RZTEVTXG4gICovXG4ubWFpbi13cmFwIHtcbiAgZ3JpZC1yb3ctc3RhcnQ6IDI7XG4gIGdyaWQtcm93LWVuZDogMztcbn1cbkBtZWRpYSAobWluLXdpZHRoOiA3NjhweCkge1xuICAubWFpbi13cmFwIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6IGF1dG87XG4gICAgcGFkZGluZy1yaWdodDogMjBweDtcbiAgICB0cmFuc2l0aW9uOiBwYWRkaW5nIDMwMG1zO1xuICAgIHBhZGRpbmctbGVmdDogMjBweDtcbiAgICB0cmFuc2l0aW9uOiBwYWRkaW5nIDMwMG1zO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmZlZWU7XG4gICAgYmFja2dyb3VuZC1pbWFnZTogbGluZWFyLWdyYWRpZW50KHRvIHJpZ2h0LCB0cmFuc3BhcmVudCAwJSwgcmdiYSgxNzksIDE3OSwgMTc5LCAwLjYpIDAuMSUgMC4yJSwgdHJhbnNwYXJlbnQgMC4yJSwgcmdiYSgxNzksIDE3OSwgMTc5LCAwLjYpIDAuNCUgMC41JSwgdHJhbnNwYXJlbnQgMC41JSwgcmdiYSgxNzksIDE3OSwgMTc5LCAwLjYpIDEuMiUgMS4zJSwgdHJhbnNwYXJlbnQgMS4zJSwgcmdiYSgxNzksIDE3OSwgMTc5LCAwLjYpIDMuMyUgMy40JSwgdHJhbnNwYXJlbnQgMy40JSAyMCUsIHJnYmEoMTc5LCAxNzksIDE3OSwgMC42KSA1MCUsIHJnYmEoMTAyLCAxMDIsIDEwMiwgMC43KSA2NyUsIHJnYmEoNzcsIDc3LCA3NywgMC44KSA2OSUsIHJnYmEoNTEsIDUxLCA1MSwgMC45KSA2OS45NSUsIHJnYmEoMjYsIDI2LCAyNiwgMC45KSA3MCUsIHJnYmEoNTEsIDUxLCA1MSwgMC42KSA3MC4wNSUsIHJnYmEoNzcsIDc3LCA3NywgMC42KSA3MSUsIHJnYmEoMTAyLCAxMDIsIDEwMiwgMC42KSA3MyUsIHJnYmEoMTc5LCAxNzksIDE3OSwgMC42KSA5MCUsIHRyYW5zcGFyZW50IDEwMCUpO1xuICB9XG59XG5AbWVkaWEgKG1pbi13aWR0aDogNzY4cHgpIGFuZCAobWluLXdpZHRoOiA0ODBweCkge1xuICAubWFpbi13cmFwIHtcbiAgICBwYWRkaW5nLXJpZ2h0OiAyNXB4O1xuICB9XG59XG5AbWVkaWEgKG1pbi13aWR0aDogNzY4cHgpIGFuZCAobWluLXdpZHRoOiA3NjhweCkge1xuICAubWFpbi13cmFwIHtcbiAgICBwYWRkaW5nLXJpZ2h0OiAzMHB4O1xuICB9XG59XG5AbWVkaWEgKG1pbi13aWR0aDogNzY4cHgpIGFuZCAobWluLXdpZHRoOiA5OTJweCkge1xuICAubWFpbi13cmFwIHtcbiAgICBwYWRkaW5nLXJpZ2h0OiA2MHB4O1xuICB9XG59XG5AbWVkaWEgKG1pbi13aWR0aDogNzY4cHgpIGFuZCAobWluLXdpZHRoOiAxMjAwcHgpIHtcbiAgLm1haW4td3JhcCB7XG4gICAgcGFkZGluZy1yaWdodDogODBweDtcbiAgfVxufVxuQG1lZGlhIChtaW4td2lkdGg6IDc2OHB4KSBhbmQgKG1pbi13aWR0aDogNDgwcHgpIHtcbiAgLm1haW4td3JhcCB7XG4gICAgcGFkZGluZy1sZWZ0OiAyNXB4O1xuICB9XG59XG5AbWVkaWEgKG1pbi13aWR0aDogNzY4cHgpIGFuZCAobWluLXdpZHRoOiA3NjhweCkge1xuICAubWFpbi13cmFwIHtcbiAgICBwYWRkaW5nLWxlZnQ6IDMwcHg7XG4gIH1cbn1cbkBtZWRpYSAobWluLXdpZHRoOiA3NjhweCkgYW5kIChtaW4td2lkdGg6IDk5MnB4KSB7XG4gIC5tYWluLXdyYXAge1xuICAgIHBhZGRpbmctbGVmdDogNjBweDtcbiAgfVxufVxuQG1lZGlhIChtaW4td2lkdGg6IDc2OHB4KSBhbmQgKG1pbi13aWR0aDogMTIwMHB4KSB7XG4gIC5tYWluLXdyYXAge1xuICAgIHBhZGRpbmctbGVmdDogODBweDtcbiAgfVxufVxuXG4ubWFpbiB7XG4gIGhlaWdodDogMTAwJTtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgd2lkdGg6IDEwMCU7XG4gIG1heC13aWR0aDogMTQwMHB4O1xuICBtYXJnaW46IDAgYXV0bztcbiAgcGFkZGluZy1yaWdodDogMDtcbiAgbWFyZ2luLXRvcDogMDtcbiAgcGFkZGluZy10b3A6IDA7XG4gIHBhZGRpbmctYm90dG9tOiAyMHB4O1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHotaW5kZXg6IDU7XG4gIHRyYW5zZm9ybTogcm90YXRlKDBkZWcpO1xuICBib3gtc2hhZG93OiA1cHggMCAxNXB4IC03cHggIzAwMDAwMDtcbn1cbkBtZWRpYSAobWluLXdpZHRoOiA3NjhweCkge1xuICAubWFpbiB7XG4gICAgcGFkZGluZy1sZWZ0OiAyMHB4O1xuICAgIHRyYW5zaXRpb246IHBhZGRpbmcgMzAwbXM7XG4gICAgcGFkZGluZy1yaWdodDogMjBweDtcbiAgICBtYXJnaW4tdG9wOiAtMjBweDtcbiAgICBwYWRkaW5nLXRvcDogMjBweDtcbiAgICBwYWRkaW5nLWJvdHRvbTogNDBweDtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZSgtMC41ZGVnKTtcbiAgICBib3gtc2hhZG93OiB1bnNldDtcbiAgfVxufVxuQG1lZGlhIChtaW4td2lkdGg6IDc2OHB4KSBhbmQgKG1pbi13aWR0aDogNDgwcHgpIHtcbiAgLm1haW4ge1xuICAgIHBhZGRpbmctbGVmdDogMjVweDtcbiAgfVxufVxuQG1lZGlhIChtaW4td2lkdGg6IDc2OHB4KSBhbmQgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgLm1haW4ge1xuICAgIHBhZGRpbmctbGVmdDogMzBweDtcbiAgfVxufVxuQG1lZGlhIChtaW4td2lkdGg6IDc2OHB4KSBhbmQgKG1pbi13aWR0aDogOTkycHgpIHtcbiAgLm1haW4ge1xuICAgIHBhZGRpbmctbGVmdDogNjBweDtcbiAgfVxufVxuQG1lZGlhIChtaW4td2lkdGg6IDc2OHB4KSBhbmQgKG1pbi13aWR0aDogMTIwMHB4KSB7XG4gIC5tYWluIHtcbiAgICBwYWRkaW5nLWxlZnQ6IDgwcHg7XG4gIH1cbn1cblxuLyoucGFnZS1oZWFkZXIge1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiBhdXRvO1xuICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICBiYWNrZ3JvdW5kLXNpemU6IGNvdmVyO1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXIgODAlO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHotaW5kZXg6IDE7XG4gIC8vYmFja2dyb3VuZC1jb2xvcjogJGJyYW5kQ29sb3JQcmltYXJ5O1xuICBiYWNrZ3JvdW5kLWJsZW5kLW1vZGU6IHNjcmVlbjtcblxuICBAaW5jbHVkZSBtZWRpYShcIj49dGFibGV0XCIpIHtcbiAgICAvL21pbi1oZWlnaHQ6IDI1MHB4O1xuICB9XG59XG4gIC5wYWdlLWhlYWRlci1vdmVybGF5IHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMDtcbiAgICBsZWZ0OiAwO1xuICAgIHotaW5kZXg6IDI7XG4gICAgYmFja2dyb3VuZC1pbWFnZTogbGluZWFyLWdyYWRpZW50KGRhcmtlbigkdHJhbnNHcmF5LCA0MCUpLCBkYXJrZW4oJHRyYW5zR3JheSwgMjAlKSk7XG4gICAgb3BhY2l0eTogMC43O1xuICAgIC8vYmFja2dyb3VuZC1ibGVuZC1tb2RlOiBtdWx0aXBseTtcbiAgfSovXG4vKi5wYWdlLWhlYWRlci1ib3gtd3JhcCB7XG4gIC8vQGluY2x1ZGUgaW5uZXItd3JhcDtcbiAgbWluLWhlaWdodDogMTAwJTtcbiAgaGVpZ2h0OiBhdXRvO1xuICAvL3BhZGRpbmctdG9wOiBjYWxjKCRoZWFkZXJIZWlnaHRNb2JpbGUgKyAkc3BhY2VyUGFkZGluZ1RhYmxldCk7XG4gIC8vcGFkZGluZzogMDtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB6LWluZGV4OiAzO1xuICBkaXNwbGF5OiBmbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuXG4gIEBpbmNsdWRlIG1lZGlhKFwiPj10YWJsZXRcIikge1xuICAgIC8vQGluY2x1ZGUgcGFkLWhvcml6b250YWw7XG4gICAgLy9wYWRkaW5nLXRvcDogY2FsYygkaGVhZGVySGVpZ2h0RGVza3RvcCArICRzcGFjZXJQYWRkaW5nRGVza3RvcCk7Ly9cbiAgICAvL2hlaWdodDogYXV0bztcblxuICAgIC8vZGlzcGxheTogbm9uZTtcbiAgfVxufSovXG4vKi5wYWdlLWhlYWRlci1ib3gge1xuICBAaW5jbHVkZSBwYWQtdG9wO1xuICBAaW5jbHVkZSBwYWQtaG9yaXpvbnRhbDtcbiAgLy9AaW5jbHVkZSBwYWQtYm90dG9tO1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAxMDAlO1xuICAvL3BhZGRpbmc6IDQwcHggMzBweDtcbiAgLy9wYWRkaW5nLXRvcDogY2FsYygkaGVhZGVySGVpZ2h0TW9iaWxlICsgJHNwYWNlclBhZGRpbmdUYWJsZXQpO1xuICB0ZXh0LWFsaWduOiBsZWZ0O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkd2hpdGU7XG5cbiAgQGluY2x1ZGUgbWVkaWEoXCI+PXRhYmxldFwiKSB7XG4gICAgLy93aWR0aDogNjclO1xuICAgIC8vd2lkdGg6IDEwMCU7XG4gICAgLy9wYWRkaW5nLXRvcDogY2FsYygkaGVhZGVySGVpZ2h0RGVza3RvcCArICRzcGFjZXJQYWRkaW5nRGVza3RvcCk7XG4gIH1cblxuICBoMSB7XG4gICAgbWFyZ2luOiAwO1xuICAgIHBhZGRpbmc6IDAgMCAyMHB4IDA7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgLy9jb2xvcjogJG9mZldoaXRlO1xuICAgIGZvbnQtc2l6ZTogMS42cmVtO1xuICAgIGxpbmUtaGVpZ2h0OiAxLjM7XG4gICAgLy9wYWRkaW5nLWJvdHRvbTogMjVweDtcbiAgICBmb250LXN0eWxlOiBpdGFsaWM7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIGJvcmRlci1ib3R0b206IDNweCBzb2xpZCAkYmxhY2s7XG5cbiAgICBAaW5jbHVkZSBtZWRpYShcIj49dGFibGV0XCIpIHtcbiAgICAgIGZvbnQtc2l6ZTogMy4ycmVtO1xuICAgIH1cbiAgfVxuXG4gIHAge1xuICAgIG1hcmdpbjogMDtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBmb250LXNpemU6IDFyZW07XG4gICAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgICBjb2xvcjogJG9mZldoaXRlO1xuXG4gICAgQGluY2x1ZGUgbWVkaWEoXCI+PXRhYmxldFwiKSB7XG4gICAgICBmb250LXNpemU6IDEuMnJlbTtcbiAgICB9XG4gIH1cbn0qL1xuLnBhZ2UtY29udGVudCB7XG4gIGRpc3BsYXk6IGdyaWQ7XG4gIGdyaWQtdGVtcGxhdGUtY29sdW1uczogMWZyO1xuICBncmlkLXRlbXBsYXRlLXJvd3M6IGF1dG87XG59XG5AbWVkaWEgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgLnBhZ2UtY29udGVudCB7XG4gICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiAxZnI7XG4gICAgZ3JpZC10ZW1wbGF0ZS1yb3dzOiBhdXRvO1xuICB9XG59XG5cbi5wYWdlLWNvbnRlbnQuc2lkZSB7XG4gIGdyaWQtdGVtcGxhdGUtY29sdW1uczogMWZyIDBweDtcbiAgZ3JpZC10ZW1wbGF0ZS1yb3dzOiBhdXRvIGF1dG87XG59XG5AbWVkaWEgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgLnBhZ2UtY29udGVudC5zaWRlIHtcbiAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDFmciAzMjBweDtcbiAgICBncmlkLXRlbXBsYXRlLXJvd3M6IGF1dG8gMHB4O1xuICB9XG59XG5cbi5wYWdlLW1haW4ge1xuICBwYWRkaW5nLXRvcDogMzBweDtcbiAgdHJhbnNpdGlvbjogcGFkZGluZyAzMDBtcztcbiAgcGFkZGluZy1ib3R0b206IDMwcHg7XG4gIHRyYW5zaXRpb246IHBhZGRpbmcgMzAwbXM7XG4gIHBhZGRpbmctcmlnaHQ6IDIwcHg7XG4gIHRyYW5zaXRpb246IHBhZGRpbmcgMzAwbXM7XG4gIHBhZGRpbmctbGVmdDogMjBweDtcbiAgdHJhbnNpdGlvbjogcGFkZGluZyAzMDBtcztcbiAgd2lkdGg6IDEwMCU7XG4gIGdyaWQtY29sdW1uOiAxL3NwYW4gMTtcbiAgZ3JpZC1yb3c6IDI7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmZmZmZmY7XG4gIG92ZXJmbG93OiB2aXNpYmxlO1xufVxuQG1lZGlhIChtaW4td2lkdGg6IDQ4MHB4KSB7XG4gIC5wYWdlLW1haW4ge1xuICAgIHBhZGRpbmctdG9wOiAzNXB4O1xuICB9XG59XG5AbWVkaWEgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgLnBhZ2UtbWFpbiB7XG4gICAgcGFkZGluZy10b3A6IDQwcHg7XG4gIH1cbn1cbkBtZWRpYSAobWluLXdpZHRoOiA5OTJweCkge1xuICAucGFnZS1tYWluIHtcbiAgICBwYWRkaW5nLXRvcDogNTBweDtcbiAgfVxufVxuQG1lZGlhIChtaW4td2lkdGg6IDEyMDBweCkge1xuICAucGFnZS1tYWluIHtcbiAgICBwYWRkaW5nLXRvcDogNjBweDtcbiAgfVxufVxuQG1lZGlhIChtaW4td2lkdGg6IDQ4MHB4KSB7XG4gIC5wYWdlLW1haW4ge1xuICAgIHBhZGRpbmctYm90dG9tOiAzNXB4O1xuICB9XG59XG5AbWVkaWEgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgLnBhZ2UtbWFpbiB7XG4gICAgcGFkZGluZy1ib3R0b206IDQwcHg7XG4gIH1cbn1cbkBtZWRpYSAobWluLXdpZHRoOiA5OTJweCkge1xuICAucGFnZS1tYWluIHtcbiAgICBwYWRkaW5nLWJvdHRvbTogNTBweDtcbiAgfVxufVxuQG1lZGlhIChtaW4td2lkdGg6IDEyMDBweCkge1xuICAucGFnZS1tYWluIHtcbiAgICBwYWRkaW5nLWJvdHRvbTogNjBweDtcbiAgfVxufVxuQG1lZGlhIChtaW4td2lkdGg6IDQ4MHB4KSB7XG4gIC5wYWdlLW1haW4ge1xuICAgIHBhZGRpbmctcmlnaHQ6IDI1cHg7XG4gIH1cbn1cbkBtZWRpYSAobWluLXdpZHRoOiA3NjhweCkge1xuICAucGFnZS1tYWluIHtcbiAgICBwYWRkaW5nLXJpZ2h0OiAzMHB4O1xuICB9XG59XG5AbWVkaWEgKG1pbi13aWR0aDogOTkycHgpIHtcbiAgLnBhZ2UtbWFpbiB7XG4gICAgcGFkZGluZy1yaWdodDogNjBweDtcbiAgfVxufVxuQG1lZGlhIChtaW4td2lkdGg6IDEyMDBweCkge1xuICAucGFnZS1tYWluIHtcbiAgICBwYWRkaW5nLXJpZ2h0OiA4MHB4O1xuICB9XG59XG5AbWVkaWEgKG1pbi13aWR0aDogNDgwcHgpIHtcbiAgLnBhZ2UtbWFpbiB7XG4gICAgcGFkZGluZy1sZWZ0OiAyNXB4O1xuICB9XG59XG5AbWVkaWEgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgLnBhZ2UtbWFpbiB7XG4gICAgcGFkZGluZy1sZWZ0OiAzMHB4O1xuICB9XG59XG5AbWVkaWEgKG1pbi13aWR0aDogOTkycHgpIHtcbiAgLnBhZ2UtbWFpbiB7XG4gICAgcGFkZGluZy1sZWZ0OiA2MHB4O1xuICB9XG59XG5AbWVkaWEgKG1pbi13aWR0aDogMTIwMHB4KSB7XG4gIC5wYWdlLW1haW4ge1xuICAgIHBhZGRpbmctbGVmdDogODBweDtcbiAgfVxufVxuQG1lZGlhIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gIC5wYWdlLW1haW4ge1xuICAgIGJveC1zaGFkb3c6IDVweCAwIDIwcHggLTdweCAjMDAwMDAwO1xuICAgIGdyaWQtY29sdW1uOiAxL3NwYW4gMTtcbiAgICBncmlkLXJvdzogMTtcbiAgfVxufVxuLnBhZ2UtbWFpbiBoMSB7XG4gIG1hcmdpbjogMCAwIDMwcHggMDtcbiAgcGFkZGluZzogMCAwIDMwcHggMDtcbiAgZGlzcGxheTogYmxvY2s7XG4gIGZvbnQtc2l6ZTogMS42cmVtO1xuICBsaW5lLWhlaWdodDogMS4zO1xuICBmb250LXN0eWxlOiBpdGFsaWM7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgYm9yZGVyLWJvdHRvbTogM3B4IHNvbGlkICMwMDAwMDA7XG59XG5AbWVkaWEgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgLnBhZ2UtbWFpbiBoMSB7XG4gICAgZm9udC1zaXplOiAyLjhyZW07XG4gIH1cbn1cbi5wYWdlLW1haW4gaDIge1xuICBtYXJnaW4tdG9wOiA1MHB4O1xuICBwYWRkaW5nLWJvdHRvbTogMjBweDtcbn1cbi5wYWdlLW1haW4gaDI6Zmlyc3Qtb2YtdHlwZSB7XG4gIG1hcmdpbi10b3A6IDA7XG59XG4ucGFnZS1tYWluIGgzIHtcbiAgbWFyZ2luLXRvcDogNDBweDtcbn1cbi5wYWdlLW1haW4gaDQge1xuICBtYXJnaW4tdG9wOiA0MHB4O1xufVxuLnBhZ2UtbWFpbiBoNSB7XG4gIG1hcmdpbi10b3A6IDQwcHg7XG59XG4ucGFnZS1tYWluIGg2IHtcbiAgbWFyZ2luLXRvcDogNDBweDtcbn1cbi5wYWdlLW1haW4gcCB7XG4gIG1hcmdpbi1ib3R0b206IDI1cHg7XG59XG4ucGFnZS1tYWluIHA6bGFzdC1vZi10eXBlIHtcbiAgbWFyZ2luLWJvdHRvbTogMDtcbn1cbi5wYWdlLW1haW4gdWwge1xuICBwYWRkaW5nLWxlZnQ6IDIwcHg7XG4gIGxpbmUtaGVpZ2h0OiAxLjU7XG4gIGxpc3Qtc3R5bGUtcG9zaXRpb246IG91dHNpZGU7XG59XG4ucGFnZS1tYWluIHVsIGxpIHtcbiAgbWFyZ2luLWJvdHRvbTogMTVweDtcbn1cblxuLnBhZ2Utc2VjdGlvbi13cmFwIHtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogYXV0bztcbiAgd2lkdGg6IDEwMCU7XG59XG5cbi5wYWdlLXNlY3Rpb24ge1xuICB3aWR0aDogMTAwJTtcbiAgbWF4LXdpZHRoOiAxNDAwcHg7XG4gIG1hcmdpbjogMCBhdXRvO1xuICBwYWRkaW5nLXJpZ2h0OiAyMHB4O1xuICB0cmFuc2l0aW9uOiBwYWRkaW5nIDMwMG1zO1xuICBwYWRkaW5nLWxlZnQ6IDIwcHg7XG4gIHRyYW5zaXRpb246IHBhZGRpbmcgMzAwbXM7XG4gIHBhZGRpbmctdG9wOiAzMHB4O1xuICB0cmFuc2l0aW9uOiBwYWRkaW5nIDMwMG1zO1xufVxuQG1lZGlhIChtaW4td2lkdGg6IDQ4MHB4KSB7XG4gIC5wYWdlLXNlY3Rpb24ge1xuICAgIHBhZGRpbmctcmlnaHQ6IDI1cHg7XG4gIH1cbn1cbkBtZWRpYSAobWluLXdpZHRoOiA3NjhweCkge1xuICAucGFnZS1zZWN0aW9uIHtcbiAgICBwYWRkaW5nLXJpZ2h0OiAzMHB4O1xuICB9XG59XG5AbWVkaWEgKG1pbi13aWR0aDogOTkycHgpIHtcbiAgLnBhZ2Utc2VjdGlvbiB7XG4gICAgcGFkZGluZy1yaWdodDogNjBweDtcbiAgfVxufVxuQG1lZGlhIChtaW4td2lkdGg6IDEyMDBweCkge1xuICAucGFnZS1zZWN0aW9uIHtcbiAgICBwYWRkaW5nLXJpZ2h0OiA4MHB4O1xuICB9XG59XG5AbWVkaWEgKG1pbi13aWR0aDogNDgwcHgpIHtcbiAgLnBhZ2Utc2VjdGlvbiB7XG4gICAgcGFkZGluZy1sZWZ0OiAyNXB4O1xuICB9XG59XG5AbWVkaWEgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgLnBhZ2Utc2VjdGlvbiB7XG4gICAgcGFkZGluZy1sZWZ0OiAzMHB4O1xuICB9XG59XG5AbWVkaWEgKG1pbi13aWR0aDogOTkycHgpIHtcbiAgLnBhZ2Utc2VjdGlvbiB7XG4gICAgcGFkZGluZy1sZWZ0OiA2MHB4O1xuICB9XG59XG5AbWVkaWEgKG1pbi13aWR0aDogMTIwMHB4KSB7XG4gIC5wYWdlLXNlY3Rpb24ge1xuICAgIHBhZGRpbmctbGVmdDogODBweDtcbiAgfVxufVxuQG1lZGlhIChtaW4td2lkdGg6IDQ4MHB4KSB7XG4gIC5wYWdlLXNlY3Rpb24ge1xuICAgIHBhZGRpbmctdG9wOiAzNXB4O1xuICB9XG59XG5AbWVkaWEgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgLnBhZ2Utc2VjdGlvbiB7XG4gICAgcGFkZGluZy10b3A6IDQwcHg7XG4gIH1cbn1cbkBtZWRpYSAobWluLXdpZHRoOiA5OTJweCkge1xuICAucGFnZS1zZWN0aW9uIHtcbiAgICBwYWRkaW5nLXRvcDogNTBweDtcbiAgfVxufVxuQG1lZGlhIChtaW4td2lkdGg6IDEyMDBweCkge1xuICAucGFnZS1zZWN0aW9uIHtcbiAgICBwYWRkaW5nLXRvcDogNjBweDtcbiAgfVxufVxuXG4uc2lkZSAucGFnZS1tYWluIHtcbiAgcGFkZGluZy1yaWdodDogMDtcbn1cbkBtZWRpYSAobWluLXdpZHRoOiA3NjhweCkge1xuICAuc2lkZSAucGFnZS1tYWluIHtcbiAgICBwYWRkaW5nLXJpZ2h0OiAxMDBweDtcbiAgfVxufVxuXG4ucGFnZS1zaWRlYmFyIHtcbiAgcGFkZGluZy1ib3R0b206IDMwcHg7XG4gIHRyYW5zaXRpb246IHBhZGRpbmcgMzAwbXM7XG4gIHdpZHRoOiAxMDAlO1xuICBncmlkLWNvbHVtbjogMS9zcGFuIDE7XG4gIGdyaWQtcm93OiAxO1xufVxuQG1lZGlhIChtaW4td2lkdGg6IDQ4MHB4KSB7XG4gIC5wYWdlLXNpZGViYXIge1xuICAgIHBhZGRpbmctYm90dG9tOiAzNXB4O1xuICB9XG59XG5AbWVkaWEgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgLnBhZ2Utc2lkZWJhciB7XG4gICAgcGFkZGluZy1ib3R0b206IDQwcHg7XG4gIH1cbn1cbkBtZWRpYSAobWluLXdpZHRoOiA5OTJweCkge1xuICAucGFnZS1zaWRlYmFyIHtcbiAgICBwYWRkaW5nLWJvdHRvbTogNTBweDtcbiAgfVxufVxuQG1lZGlhIChtaW4td2lkdGg6IDEyMDBweCkge1xuICAucGFnZS1zaWRlYmFyIHtcbiAgICBwYWRkaW5nLWJvdHRvbTogNjBweDtcbiAgfVxufVxuQG1lZGlhIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gIC5wYWdlLXNpZGViYXIge1xuICAgIGdyaWQtY29sdW1uOiAyL3NwYW4gMTtcbiAgICBncmlkLXJvdzogMTtcbiAgfVxufVxuXG4uYWxpZ25yaWdodCB7XG4gIHdpZHRoOiAxMDAlO1xuICBmbG9hdDogbm9uZTtcbiAgcGFkZGluZzogMjBweDtcbn1cbkBtZWRpYSAobWluLXdpZHRoOiA3NjhweCkge1xuICAuYWxpZ25yaWdodCB7XG4gICAgd2lkdGg6IDUwJTtcbiAgICBmbG9hdDogcmlnaHQ7XG4gICAgcGFkZGluZzogMjBweDtcbiAgfVxufVxuXG4uYWxpZ25sZWZ0IHtcbiAgd2lkdGg6IDEwMCU7XG4gIGZsb2F0OiBub25lO1xuICBwYWRkaW5nOiAyMHB4O1xufVxuQG1lZGlhIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gIC5hbGlnbmxlZnQge1xuICAgIHdpZHRoOiA1MCU7XG4gICAgZmxvYXQ6IGxlZnQ7XG4gICAgcGFkZGluZzogMjBweDtcbiAgfVxufVxuXG4uc2luZ2xlIHA6Zmlyc3Qtb2YtdHlwZTo6Zmlyc3QtbGV0dGVyIHtcbiAgZGlzcGxheTogaW5saW5lO1xuICBmb250LXNpemU6IDFyZW07XG4gIGZsb2F0OiBub25lO1xuICBtYXJnaW46IDA7XG4gIHBhZGRpbmc6IDA7XG4gIGJvcmRlcjogdW5zZXQ7XG4gIGNvbG9yOiBpbmhlcml0O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB1bnNldDtcbiAgZm9udC1mYW1pbHk6IGl0Yy1hbWVyaWNhbi10eXBld3JpdGVyLCBzZXJpZjtcbn1cblxuZmlndXJlIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2VlZTtcbiAgcGFkZGluZzogMjBweDtcbn1cbmZpZ3VyZSBpbWcge1xuICB3aWR0aDogMTAwJTtcbn1cbmZpZ3VyZS5hbGlnbnJpZ2h0IHtcbiAgbWFyZ2luLXJpZ2h0OiAwO1xuICBtYXJnaW4tbGVmdDogMDtcbiAgcGFkZGluZy1yaWdodDogMjBweDtcbiAgcGFkZGluZy1sZWZ0OiAyMHB4O1xufVxuQG1lZGlhIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gIGZpZ3VyZS5hbGlnbnJpZ2h0IHtcbiAgICBtYXJnaW4tbGVmdDogMjBweDtcbiAgfVxufVxuZmlndXJlLmFsaWducmlnaHQgaW1nIHtcbiAgd2lkdGg6IDEwMCU7XG59XG5maWd1cmUuYWxpZ25sZWZ0IHtcbiAgbWFyZ2luLXJpZ2h0OiAwO1xuICBtYXJnaW4tbGVmdDogMDtcbiAgcGFkZGluZy1yaWdodDogMjBweDtcbiAgcGFkZGluZy1sZWZ0OiAyMHB4O1xufVxuQG1lZGlhIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gIGZpZ3VyZS5hbGlnbmxlZnQge1xuICAgIG1hcmdpbi1yaWdodDogMjBweDtcbiAgfVxufVxuZmlndXJlLmFsaWdubGVmdCBpbWcge1xuICB3aWR0aDogMTAwJTtcbn1cbmZpZ3VyZSBmaWdjYXB0aW9uIHtcbiAgd2lkdGg6IDEwMCU7XG4gIGZvbnQtc2l6ZTogMC45cmVtO1xufVxuLyoqXG4gICogRk9PVEVSIFNUWUxFU1xuICAqL1xuLmZvb3Rlci13cmFwIHtcbiAgZ3JpZC1yb3ctc3RhcnQ6IDM7XG4gIGdyaWQtcm93LWVuZDogNDtcbn1cbkBtZWRpYSAobWluLXdpZHRoOiA3NjhweCkge1xuICAuZm9vdGVyLXdyYXAge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmZlZWU7XG4gICAgYmFja2dyb3VuZC1pbWFnZTogbGluZWFyLWdyYWRpZW50KHRvIHJpZ2h0LCB0cmFuc3BhcmVudCAwJSwgcmdiYSgxNzksIDE3OSwgMTc5LCAwLjYpIDAuMSUgMC4yJSwgdHJhbnNwYXJlbnQgMC4yJSwgcmdiYSgxNzksIDE3OSwgMTc5LCAwLjYpIDAuNCUgMC41JSwgdHJhbnNwYXJlbnQgMC41JSwgcmdiYSgxNzksIDE3OSwgMTc5LCAwLjYpIDEuMiUgMS4zJSwgdHJhbnNwYXJlbnQgMS4zJSwgcmdiYSgxNzksIDE3OSwgMTc5LCAwLjYpIDMuMyUgMy40JSwgdHJhbnNwYXJlbnQgMy40JSAyMCUsIHJnYmEoMTc5LCAxNzksIDE3OSwgMC42KSA1MCUsIHJnYmEoMTAyLCAxMDIsIDEwMiwgMC43KSA2NyUsIHJnYmEoNzcsIDc3LCA3NywgMC44KSA2OSUsIHJnYmEoNTEsIDUxLCA1MSwgMC45KSA2OS45NSUsIHJnYmEoMjYsIDI2LCAyNiwgMC45KSA3MCUsIHJnYmEoNTEsIDUxLCA1MSwgMC42KSA3MC4wNSUsIHJnYmEoNzcsIDc3LCA3NywgMC42KSA3MSUsIHJnYmEoMTAyLCAxMDIsIDEwMiwgMC42KSA3MyUsIHJnYmEoMTc5LCAxNzksIDE3OSwgMC42KSA5MCUsIHRyYW5zcGFyZW50IDEwMCUpO1xuICB9XG59XG5cbi5mb290ZXIge1xuICB3aWR0aDogMTAwJTtcbiAgbWF4LXdpZHRoOiAxNDAwcHg7XG4gIG1hcmdpbjogMCBhdXRvO1xuICBwYWRkaW5nLWJvdHRvbTogMzBweDtcbiAgdHJhbnNpdGlvbjogcGFkZGluZyAzMDBtcztcbiAgcGFkZGluZy10b3A6IDIwcHg7XG4gIHRleHQtYWxpZ246IGxlZnQ7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIGNvbG9yOiAjMDAwMDAwO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjBlZGU4O1xufVxuQG1lZGlhIChtaW4td2lkdGg6IDQ4MHB4KSB7XG4gIC5mb290ZXIge1xuICAgIHBhZGRpbmctYm90dG9tOiAzNXB4O1xuICB9XG59XG5AbWVkaWEgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgLmZvb3RlciB7XG4gICAgcGFkZGluZy1ib3R0b206IDQwcHg7XG4gIH1cbn1cbkBtZWRpYSAobWluLXdpZHRoOiA5OTJweCkge1xuICAuZm9vdGVyIHtcbiAgICBwYWRkaW5nLWJvdHRvbTogNTBweDtcbiAgfVxufVxuQG1lZGlhIChtaW4td2lkdGg6IDEyMDBweCkge1xuICAuZm9vdGVyIHtcbiAgICBwYWRkaW5nLWJvdHRvbTogNjBweDtcbiAgfVxufVxuQG1lZGlhIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gIC5mb290ZXIge1xuICAgIGJhY2tncm91bmQtY29sb3I6IHVuc2V0O1xuICB9XG59XG5cbi5mb290ZXItbmF2IHtcbiAgbWFyZ2luLWxlZnQ6IDIwcHg7XG4gIG1hcmdpbi1yaWdodDogMjBweDtcbiAgdHJhbnNpdGlvbjogbWFyZ2luIDMwMG1zO1xuICBtYXgtd2lkdGg6IGNhbGMoMTAwJSAtIDQwcHgpO1xuICBwYWRkaW5nLXJpZ2h0OiAyMHB4O1xuICB0cmFuc2l0aW9uOiBwYWRkaW5nIDMwMG1zO1xuICBwYWRkaW5nLWxlZnQ6IDIwcHg7XG4gIHRyYW5zaXRpb246IHBhZGRpbmcgMzAwbXM7XG4gIHBhZGRpbmctYm90dG9tOiAyMHB4O1xufVxuQG1lZGlhIChtaW4td2lkdGg6IDQ4MHB4KSB7XG4gIC5mb290ZXItbmF2IHtcbiAgICBtYXJnaW4tbGVmdDogMjVweDtcbiAgICBtYXJnaW4tcmlnaHQ6IDI1cHg7XG4gICAgbWF4LXdpZHRoOiBjYWxjKDEwMCUgLSA1MHB4KTtcbiAgfVxufVxuQG1lZGlhIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gIC5mb290ZXItbmF2IHtcbiAgICBtYXJnaW4tbGVmdDogMzBweDtcbiAgICBtYXJnaW4tcmlnaHQ6IDMwcHg7XG4gICAgbWF4LXdpZHRoOiBjYWxjKDEwMCUgLSA2MHB4KTtcbiAgfVxufVxuQG1lZGlhIChtaW4td2lkdGg6IDk5MnB4KSB7XG4gIC5mb290ZXItbmF2IHtcbiAgICBtYXJnaW4tbGVmdDogNjBweDtcbiAgICBtYXJnaW4tcmlnaHQ6IDYwcHg7XG4gICAgbWF4LXdpZHRoOiBjYWxjKDEwMCUgLSAxMjBweCk7XG4gIH1cbn1cbkBtZWRpYSAobWluLXdpZHRoOiAxMjAwcHgpIHtcbiAgLmZvb3Rlci1uYXYge1xuICAgIG1hcmdpbi1sZWZ0OiA4MHB4O1xuICAgIG1hcmdpbi1yaWdodDogODBweDtcbiAgICBtYXgtd2lkdGg6IGNhbGMoMTAwJSAtIDE2MHB4KTtcbiAgfVxufVxuQG1lZGlhIChtaW4td2lkdGg6IDQ4MHB4KSB7XG4gIC5mb290ZXItbmF2IHtcbiAgICBwYWRkaW5nLXJpZ2h0OiAyNXB4O1xuICB9XG59XG5AbWVkaWEgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgLmZvb3Rlci1uYXYge1xuICAgIHBhZGRpbmctcmlnaHQ6IDMwcHg7XG4gIH1cbn1cbkBtZWRpYSAobWluLXdpZHRoOiA5OTJweCkge1xuICAuZm9vdGVyLW5hdiB7XG4gICAgcGFkZGluZy1yaWdodDogNjBweDtcbiAgfVxufVxuQG1lZGlhIChtaW4td2lkdGg6IDEyMDBweCkge1xuICAuZm9vdGVyLW5hdiB7XG4gICAgcGFkZGluZy1yaWdodDogODBweDtcbiAgfVxufVxuQG1lZGlhIChtaW4td2lkdGg6IDQ4MHB4KSB7XG4gIC5mb290ZXItbmF2IHtcbiAgICBwYWRkaW5nLWxlZnQ6IDI1cHg7XG4gIH1cbn1cbkBtZWRpYSAobWluLXdpZHRoOiA3NjhweCkge1xuICAuZm9vdGVyLW5hdiB7XG4gICAgcGFkZGluZy1sZWZ0OiAzMHB4O1xuICB9XG59XG5AbWVkaWEgKG1pbi13aWR0aDogOTkycHgpIHtcbiAgLmZvb3Rlci1uYXYge1xuICAgIHBhZGRpbmctbGVmdDogNjBweDtcbiAgfVxufVxuQG1lZGlhIChtaW4td2lkdGg6IDEyMDBweCkge1xuICAuZm9vdGVyLW5hdiB7XG4gICAgcGFkZGluZy1sZWZ0OiA4MHB4O1xuICB9XG59XG5AbWVkaWEgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgLmZvb3Rlci1uYXYge1xuICAgIHdpZHRoOiBhdXRvO1xuICAgIHBhZGRpbmctYm90dG9tOiAzMHB4O1xuICB9XG59XG4uZm9vdGVyLW5hdiB1bCB7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IGF1dG87XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgbGlzdC1zdHlsZTogbm9uZTtcbiAgdGV4dC1hbGlnbjogZmxleC1zdGFydDtcbn1cbkBtZWRpYSAobWluLXdpZHRoOiA3NjhweCkge1xuICAuZm9vdGVyLW5hdiB1bCB7XG4gICAgd2lkdGg6IGF1dG87XG4gIH1cbn1cbi5mb290ZXItbmF2IHVsIGxpIHtcbiAgcGFkZGluZy1yaWdodDogMjBweDtcbiAgdHJhbnNpdGlvbjogcGFkZGluZyAzMDBtcztcbiAgcGFkZGluZy1sZWZ0OiAyMHB4O1xuICB0cmFuc2l0aW9uOiBwYWRkaW5nIDMwMG1zO1xuICB3aWR0aDogMTAwJTtcbiAgbGlzdC1zdHlsZTogbm9uZTtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgcGFkZGluZzogNXB4IDEwcHg7XG59XG5AbWVkaWEgKG1pbi13aWR0aDogNDgwcHgpIHtcbiAgLmZvb3Rlci1uYXYgdWwgbGkge1xuICAgIHBhZGRpbmctcmlnaHQ6IDI1cHg7XG4gIH1cbn1cbkBtZWRpYSAobWluLXdpZHRoOiA3NjhweCkge1xuICAuZm9vdGVyLW5hdiB1bCBsaSB7XG4gICAgcGFkZGluZy1yaWdodDogMzBweDtcbiAgfVxufVxuQG1lZGlhIChtaW4td2lkdGg6IDk5MnB4KSB7XG4gIC5mb290ZXItbmF2IHVsIGxpIHtcbiAgICBwYWRkaW5nLXJpZ2h0OiA2MHB4O1xuICB9XG59XG5AbWVkaWEgKG1pbi13aWR0aDogMTIwMHB4KSB7XG4gIC5mb290ZXItbmF2IHVsIGxpIHtcbiAgICBwYWRkaW5nLXJpZ2h0OiA4MHB4O1xuICB9XG59XG5AbWVkaWEgKG1pbi13aWR0aDogNDgwcHgpIHtcbiAgLmZvb3Rlci1uYXYgdWwgbGkge1xuICAgIHBhZGRpbmctbGVmdDogMjVweDtcbiAgfVxufVxuQG1lZGlhIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gIC5mb290ZXItbmF2IHVsIGxpIHtcbiAgICBwYWRkaW5nLWxlZnQ6IDMwcHg7XG4gIH1cbn1cbkBtZWRpYSAobWluLXdpZHRoOiA5OTJweCkge1xuICAuZm9vdGVyLW5hdiB1bCBsaSB7XG4gICAgcGFkZGluZy1sZWZ0OiA2MHB4O1xuICB9XG59XG5AbWVkaWEgKG1pbi13aWR0aDogMTIwMHB4KSB7XG4gIC5mb290ZXItbmF2IHVsIGxpIHtcbiAgICBwYWRkaW5nLWxlZnQ6IDgwcHg7XG4gIH1cbn1cbkBtZWRpYSAobWluLXdpZHRoOiA3NjhweCkge1xuICAuZm9vdGVyLW5hdiB1bCBsaSB7XG4gICAgd2lkdGg6IGF1dG87XG4gICAgcGFkZGluZzogMCAxMHB4O1xuICAgIHBhZGRpbmc6IDA7XG4gIH1cbiAgLmZvb3Rlci1uYXYgdWwgbGk6YWZ0ZXIge1xuICAgIGNvbnRlbnQ6IFwifFwiO1xuICAgIGNvbG9yOiAjOTk5OTk5O1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDA7XG4gICAgcmlnaHQ6IC0ycHg7XG4gIH1cbiAgLmZvb3Rlci1uYXYgdWwgbGk6bGFzdC1jaGlsZDphZnRlciB7XG4gICAgY29udGVudDogXCJcIjtcbiAgfVxufVxuLmZvb3Rlci1uYXYgdWwgbGkgYSB7XG4gIHdpZHRoOiAxMDAlO1xuICBwYWRkaW5nOiAwO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBmb250LXNpemU6IDFyZW07XG4gIGNvbG9yOiAjMDAwMDAwO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIGZvbnQtZmFtaWx5OiBxdWVzdGEtZ3JhbmRlLCBzZXJpZjtcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7XG59XG5AbWVkaWEgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgLmZvb3Rlci1uYXYgdWwgbGkgYSB7XG4gICAgYWxpZ24taXRlbXM6IGxlZnQ7XG4gICAgd2lkdGg6IGF1dG87XG4gICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgfVxufVxuXG4uY29weXJpZ2h0IHtcbiAgbWFyZ2luLWxlZnQ6IDIwcHg7XG4gIG1hcmdpbi1yaWdodDogMjBweDtcbiAgdHJhbnNpdGlvbjogbWFyZ2luIDMwMG1zO1xuICBtYXgtd2lkdGg6IGNhbGMoMTAwJSAtIDQwcHgpO1xuICBwYWRkaW5nLXJpZ2h0OiAyMHB4O1xuICB0cmFuc2l0aW9uOiBwYWRkaW5nIDMwMG1zO1xuICBwYWRkaW5nLWxlZnQ6IDIwcHg7XG4gIHRyYW5zaXRpb246IHBhZGRpbmcgMzAwbXM7XG4gIGZvbnQtc2l6ZTogMTBweDtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xufVxuQG1lZGlhIChtaW4td2lkdGg6IDQ4MHB4KSB7XG4gIC5jb3B5cmlnaHQge1xuICAgIG1hcmdpbi1sZWZ0OiAyNXB4O1xuICAgIG1hcmdpbi1yaWdodDogMjVweDtcbiAgICBtYXgtd2lkdGg6IGNhbGMoMTAwJSAtIDUwcHgpO1xuICB9XG59XG5AbWVkaWEgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgLmNvcHlyaWdodCB7XG4gICAgbWFyZ2luLWxlZnQ6IDMwcHg7XG4gICAgbWFyZ2luLXJpZ2h0OiAzMHB4O1xuICAgIG1heC13aWR0aDogY2FsYygxMDAlIC0gNjBweCk7XG4gIH1cbn1cbkBtZWRpYSAobWluLXdpZHRoOiA5OTJweCkge1xuICAuY29weXJpZ2h0IHtcbiAgICBtYXJnaW4tbGVmdDogNjBweDtcbiAgICBtYXJnaW4tcmlnaHQ6IDYwcHg7XG4gICAgbWF4LXdpZHRoOiBjYWxjKDEwMCUgLSAxMjBweCk7XG4gIH1cbn1cbkBtZWRpYSAobWluLXdpZHRoOiAxMjAwcHgpIHtcbiAgLmNvcHlyaWdodCB7XG4gICAgbWFyZ2luLWxlZnQ6IDgwcHg7XG4gICAgbWFyZ2luLXJpZ2h0OiA4MHB4O1xuICAgIG1heC13aWR0aDogY2FsYygxMDAlIC0gMTYwcHgpO1xuICB9XG59XG5AbWVkaWEgKG1pbi13aWR0aDogNDgwcHgpIHtcbiAgLmNvcHlyaWdodCB7XG4gICAgcGFkZGluZy1yaWdodDogMjVweDtcbiAgfVxufVxuQG1lZGlhIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gIC5jb3B5cmlnaHQge1xuICAgIHBhZGRpbmctcmlnaHQ6IDMwcHg7XG4gIH1cbn1cbkBtZWRpYSAobWluLXdpZHRoOiA5OTJweCkge1xuICAuY29weXJpZ2h0IHtcbiAgICBwYWRkaW5nLXJpZ2h0OiA2MHB4O1xuICB9XG59XG5AbWVkaWEgKG1pbi13aWR0aDogMTIwMHB4KSB7XG4gIC5jb3B5cmlnaHQge1xuICAgIHBhZGRpbmctcmlnaHQ6IDgwcHg7XG4gIH1cbn1cbkBtZWRpYSAobWluLXdpZHRoOiA0ODBweCkge1xuICAuY29weXJpZ2h0IHtcbiAgICBwYWRkaW5nLWxlZnQ6IDI1cHg7XG4gIH1cbn1cbkBtZWRpYSAobWluLXdpZHRoOiA3NjhweCkge1xuICAuY29weXJpZ2h0IHtcbiAgICBwYWRkaW5nLWxlZnQ6IDMwcHg7XG4gIH1cbn1cbkBtZWRpYSAobWluLXdpZHRoOiA5OTJweCkge1xuICAuY29weXJpZ2h0IHtcbiAgICBwYWRkaW5nLWxlZnQ6IDYwcHg7XG4gIH1cbn1cbkBtZWRpYSAobWluLXdpZHRoOiAxMjAwcHgpIHtcbiAgLmNvcHlyaWdodCB7XG4gICAgcGFkZGluZy1sZWZ0OiA4MHB4O1xuICB9XG59XG5AbWVkaWEgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgLmNvcHlyaWdodCB7XG4gICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgICB3aWR0aDogYXV0bztcbiAgfVxufVxuXG4ucGFnZS1tYWluIHAge1xuICBtYXJnaW4tYm90dG9tOiAyNXB4O1xufVxuLnBhZ2UtbWFpbiBwOmZpcnN0LW9mLXR5cGU6OmZpcnN0LWxldHRlciB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBmb250LXNpemU6IDZyZW07XG4gIGZsb2F0OiBsZWZ0O1xuICBtYXJnaW46IDRweCAyMHB4IDAgMDtcbiAgcGFkZGluZzogMTVweDtcbiAgYm9yZGVyOiA0cHggc29saWQgcmdiKDIzNywgMjA1LCA0NCk7XG4gIGNvbG9yOiAjZmZmZmZmO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDAwMDAwO1xuICBmb250LWZhbWlseTogYmFyb3F1ZS10ZXh0LWpmLCBzYW5zLXNlcmlmO1xuICBmb250LXdlaWdodDogNDAwO1xuICBmb250LXN0eWxlOiBub3JtYWw7XG4gIGZvbnQtZmFtaWx5OiBjYXJvbC1nb3RoaWMsIHNhbnMtc2VyaWY7XG4gIGZvbnQtd2VpZ2h0OiA0MDA7XG4gIGZvbnQtc3R5bGU6IG5vcm1hbDtcbn1cbi5wYWdlLW1haW4gcDpsYXN0LW9mLXR5cGUge1xuICBtYXJnaW4tYm90dG9tOiAwO1xufSIsIi8qKlxuICAqIEJSRUFLUE9JTlRTXG4gICpcbiAgKiBEZWZpbmUgYnJlYWtwb2ludHMgZm9yIG1lZGlhIHF1ZXJ5IHVzZSBhbmQgZXhwb3J0IHRoZW0gZm9yIHVzZSB3aXRoIEpTLlxuICAqL1xuXG5cbi8vIGRlZmluZSBicmVha3BvaW50cyBoZXJlIChpbiBwaXhlbHMpOlxuJGJyZWFrcG9pbnQtcGhvbmUtc21hbGw6ICAgIDMyMDtcbiRicmVha3BvaW50LXBob25lLWxhcmdlOiAgICA0ODA7XG4kYnJlYWtwb2ludC10YWJsZXQ6ICAgICAgICAgNzY4O1xuJGJyZWFrcG9pbnQtbGFwdG9wOiAgICAgICAgIDk5MjtcbiRicmVha3BvaW50LWRlc2t0b3A6ICAgICAgIDEyMDA7XG4kYnJlYWtwb2ludC1kZXNrdG9wLWxhcmdlOiAxNDAwO1xuJGJyZWFrcG9pbnQtaGQ6ICAgICAgICAgICAgMTkyMDtcblxuLy8gZm9ybWF0IGJyZWFrcG9pbnQgZGVmaW5pdGlvbnMgZm9yIHVzZSB3aXRoIGluY2x1ZGUtbWVkaWEuc2NzcyBsaWJyYXJ5OlxuLypcbmV4YW1wbGUgdXNhZ2U6XG5AaW5jbHVkZSBtZWRpYShcIj49cGhvbmUtc21hbGxcIikgey4uLn1cbiovXG4kYnJlYWtwb2ludHM6IChcbiAgJ3Bob25lLXNtYWxsJzogICAkYnJlYWtwb2ludC1waG9uZS1zbWFsbCAqIDFweCxcbiAgJ3Bob25lLWxhcmdlJzogICAkYnJlYWtwb2ludC1waG9uZS1sYXJnZSAqIDFweCxcbiAgJ3RhYmxldCc6ICAgICAgICAkYnJlYWtwb2ludC10YWJsZXQgKiAxcHgsXG4gICdsYXB0b3AnOiAgICAgICAgJGJyZWFrcG9pbnQtbGFwdG9wICogMXB4LFxuICAnZGVza3RvcCc6ICAgICAgICRicmVha3BvaW50LWRlc2t0b3AgKiAxcHgsXG4gICdkZXNrdG9wLWxhcmdlJzogJGJyZWFrcG9pbnQtZGVza3RvcC1sYXJnZSAqIDFweCxcbiAgJ2hkJzogICAgICAgICAgICAkYnJlYWtwb2ludC1oZCAqIDFweFxuKTtcblxuLy8gZXhwb3J0IGJyZWFrcG9pbnQgZGVmaW5pdGlvbnMgZm9yIEpTIHVzZTpcbjpleHBvcnQge1xuICBicmVha3BvaW50UGhvbmVTbWFsbDogJGJyZWFrcG9pbnQtcGhvbmUtc21hbGw7XG4gIGJyZWFrcG9pbnRQaG9uZUxhcmdlOiAkYnJlYWtwb2ludC1waG9uZS1sYXJnZTtcbiAgYnJlYWtwb2ludFRhYmxldDogJGJyZWFrcG9pbnQtdGFibGV0O1xuICBicmVha3BvaW50TGFwdG9wOiAkYnJlYWtwb2ludC1sYXB0b3A7XG4gIGJyZWFrcG9pbnREZXNrdG9wOiAkYnJlYWtwb2ludC1kZXNrdG9wO1xuICBicmVha3BvaW50RGVza3RvcExhcmdlOiAkYnJlYWtwb2ludC1kZXNrdG9wLWxhcmdlO1xuICBicmVha3BvaW50SGQ6ICRicmVha3BvaW50LWhkO1xufVxuIiwiLyoqXG4gICogVkFSSUFCTEVTXG4gICovXG5cblxuLyoqXG4gICogRGltZW5zaW9uczpcbiAgKi9cblxuJHNpdGVXaWR0aDogMTQwMHB4OyAvLyBtYXggd2lkdGggb2Ygc2l0ZSdzIGNvbnRlbnQgY29udGFpbmVyc1xuXG4vLyBoZWFkZXIgaGVpZ2h0czpcbiR0b3BCYXJIZWlnaHQ6IDQ1cHg7XG4kaGVhZGVySGVpZ2h0TW9iaWxlOiA5MHB4O1xuJGhlYWRlckhlaWdodERlc2t0b3A6IDIwMHB4O1xuXG4vLyBzdGFuZGFyZGl6ZWQgc2lkZSBwYWRkaW5nOlxuJGNvbnRhaW5lclBhZGRpbmdNb2JpbGU6IDIwcHg7XG4kY29udGFpbmVyUGFkZGluZ1Bob25lTGFyZ2U6IDI1cHg7XG4kY29udGFpbmVyUGFkZGluZ1RhYmxldDogMzBweDtcbiRjb250YWluZXJQYWRkaW5nTGFwdG9wOiA2MHB4O1xuJGNvbnRhaW5lclBhZGRpbmdEZXNrdG9wOiA4MHB4O1xuXG4vLyBzdGFuZGFyZGl6ZWQgdG9wIGFuZCBib3R0b20gcGFkZGluZzpcbiRzcGFjZXJQYWRkaW5nTW9iaWxlOiAzMHB4O1xuJHNwYWNlclBhZGRpbmdQaG9uZUxhcmdlOiAzNXB4O1xuJHNwYWNlclBhZGRpbmdUYWJsZXQ6IDQwcHg7XG4kc3BhY2VyUGFkZGluZ0xhcHRvcDogNTBweDtcbiRzcGFjZXJQYWRkaW5nRGVza3RvcDogNjBweDtcblxuXG4vKipcbiAgKiBDb2xvcnM6XG4gICovXG5cbi8vIGh1ZSBkZWZpbml0aW9uczpcbiRyZWQ6ICAgICNmZjAwMDA7XG4kb3JhbmdlOiAjZmY4ODAwO1xuJHllbGxvdzogcmdiKDIzNywgMjA1LCA0NCk7IC8vI2ZmZmYwMDtcbiRncmVlbjogIHJnYigxODIsIDIzMCwgMjQpOyAvLyMwMGZmMDA7XG4kYmx1ZTogICByZ2IoMSwgMzgsIDE3MCk7IC8vIzAwMDBmZjtcbiRwdXJwbGU6ICNmZjAwZmY7XG4kYnJvd246ICAjODg4ODAwO1xuJGNyZWFtOiAgI2YwZWRlODtcblxuLy8gZ3JheXNjYWxlIGRlZmluaXRpb25zOlxuJHdoaXRlOiAgI2ZmZmZmZjtcbiRncmF5OiAgICM4ODg4ODg7XG4kYmxhY2s6ICAjMDAwMDAwO1xuJG9mZldoaXRlOiAjZmVmZWZlO1xuJGxpZ2h0R3JheTogI2YyZjJmMjtcbiRtZWRpdW1HcmF5OiAjZTBlMGUwO1xuJG1lZGl1bURhcmtHcmF5OiAjOTk5OTk5O1xuJGRhcmtHcmF5OiAgIzIyMjtcblxuLy8gdHJhbnNwYXJlbnQgZGVmaW5pdGlvbnM6XG4kdHJhbnNHcmF5OiByZ2JhKDUxLCA1MSwgNTEsIDAuOCk7XG5cbi8vIGdsb2JhbCBhc3NpZ25tZW50czpcbiRib2R5Q29sb3I6ICR3aGl0ZTsgICAgIC8vIGJvZHkgYmFja2dyb3VuZCBjb2xvclxuJGNvbnRlbnRDb2xvcjogJHdoaXRlOyAgLy8gcGFnZSBjb250ZW50IGJhY2tncm91bmQgY29sb3JcbiRmb250Q29sb3I6ICRkYXJrR3JheTsgIC8vIGRlZmF1bHQgZm9udCBjb2xvclxuJGxpbmtDb2xvcjogJGJsdWU7ICAgICAgLy8gZGVmYXVsdCBsaW5rIGNvbG9yXG5cbiRicmFuZENvbG9yUHJpbWFyeTogJGdyZWVuOyAvLyBwcmltYXJ5IGNvbG9yIG9mIGJyYW5kXG4kYnJhbmRDb2xvckNvbnRyYXN0OiAkYmxhY2s7IC8vIGNvbG9yIHRoYXQgY29udHJhc3RzIHdlbGwgd2l0aCBicmFuZCBjb2xvciAob2Z0ZW4gdXNlZCBmb3IgdGV4dCBvbiB0b3Agb2YgYnJhbmQgY29sb3IpXG4iLCIvKipcbiAgKiBGT05UU1xuICAqXG4gICogRGVmaW5lIEBmb250LWZhY2Ugc3R5bGVzLlxuICAqL1xuXG5cbi8vIE1vbnRzZXJyYXQtUmVndWxhci50dGY6XG5AZm9udC1mYWNlIHtcbiAgZm9udC1mYW1pbHk6IE1vbnRzZXJyYXQ7XG4gIHNyYzogdXJsKC4uL2ZvbnRzL01vbnRzZXJyYXQtUmVndWxhci50dGYpO1xuICBmb250LXdlaWdodDogNDAwO1xuICBmb250LXN0eWxlOiBub3JtYWw7XG59XG5cbi8vIE1vbnRzZXJyYXQtQm9sZC50dGZcbkBmb250LWZhY2Uge1xuICBmb250LWZhbWlseTogTW9udHNlcnJhdDtcbiAgc3JjOiB1cmwoLi4vZm9udHMvTW9udHNlcnJhdC1Cb2xkLnR0Zik7XG4gIGZvbnQtd2VpZ2h0OiA3MDA7XG4gIGZvbnQtc3R5bGU6IG5vcm1hbDtcbn1cbi8qXG5AZm9udC1mYWNlIHtcbiAgZm9udC1mYW1pbHk6IEFtZXJpY2FuIFR5cGV3cml0ZXIgSVRDIFBybyBCb2xkO1xuICAvL3NyYzogdXJsKC4uL2ZvbnRzL01vbnRzZXJyYXQtQm9sZC50dGYpO1xuICBmb250LXdlaWdodDogNzAwO1xuICBmb250LXN0eWxlOiBub3JtYWw7XG59XG5cblxuXG5mb250LWZhbWlseTogbHRjLWdvdWR5LW9ybmF0ZSwgc2Fucy1zZXJpZjtcblxuZm9udC13ZWlnaHQ6IDQwMDtcblxuZm9udC1zdHlsZTogbm9ybWFsO1xuXG5cbkFtZXJpY2FuIFR5cGV3cml0ZXIgSVRDIFBybyBCb2xkXG5cbmZvbnQtZmFtaWx5OiBpdGMtYW1lcmljYW4tdHlwZXdyaXRlciwgc2VyaWY7XG5cbmZvbnQtd2VpZ2h0OiA3MDA7XG5cbmZvbnQtc3R5bGU6IG5vcm1hbDtcblxuQW1lcmljYW4gVHlwZXdyaXRlciBJVEMgUHJvIEJvbGQgSXRhbGljXG5cbmZvbnQtZmFtaWx5OiBpdGMtYW1lcmljYW4tdHlwZXdyaXRlciwgc2VyaWY7XG5cbmZvbnQtd2VpZ2h0OiA3MDA7XG5cbmZvbnQtc3R5bGU6IGl0YWxpYztcblxuQW1lcmljYW4gVHlwZXdyaXRlciBJVEMgUHJvIExpZ2h0XG5cbmZvbnQtZmFtaWx5OiBpdGMtYW1lcmljYW4tdHlwZXdyaXRlciwgc2VyaWY7XG5cbmZvbnQtd2VpZ2h0OiAzMDA7XG5cbmZvbnQtc3R5bGU6IG5vcm1hbDtcblxuQW1lcmljYW4gVHlwZXdyaXRlciBJVEMgUHJvIExpZ2h0IEl0YWxpY1xuXG5mb250LWZhbWlseTogaXRjLWFtZXJpY2FuLXR5cGV3cml0ZXIsIHNlcmlmO1xuXG5mb250LXdlaWdodDogMzAwO1xuXG5mb250LXN0eWxlOiBpdGFsaWM7XG5cbkFtZXJpY2FuIFR5cGV3cml0ZXIgSVRDIFBybyBCb2xkIENvbmRlbnNlZFxuXG5mb250LWZhbWlseTogaXRjLWFtZXJpY2FuLXR5cGV3cml0ZXItY29uZCwgc2VyaWY7XG5cbmZvbnQtd2VpZ2h0OiA3MDA7XG5cbmZvbnQtc3R5bGU6IG5vcm1hbDtcblxuQW1lcmljYW4gVHlwZXdyaXRlciBJVEMgUHJvIExpZ2h0IENvbmRlbnNlZFxuXG5mb250LWZhbWlseTogaXRjLWFtZXJpY2FuLXR5cGV3cml0ZXItY29uZCwgc2VyaWY7XG5cbmZvbnQtd2VpZ2h0OiAzMDA7XG5cbmZvbnQtc3R5bGU6IG5vcm1hbDtcbiovXG4iLCIvKipcclxuICAqIE1JWElOU1xyXG4gICpcclxuICAqIFN0YW5kYXJkaXplZCBzdHlsZSBjaHVua3MsIHByb3ZpZGVkIGFzIGJvdGggU0NTUyBtaXhpbnMgYW5kIEhUTUwgY2xhc3Nlcy5cclxuICAqL1xyXG5cclxuXHJcbkBtaXhpbiB3cmFwIHsgLy8gbWFyZ2luLWxlc3Mgd3JhcHBlclxyXG4gIHdpZHRoOiAxMDAlO1xyXG4gIGhlaWdodDogYXV0bztcclxufVxyXG5cclxuLndyYXAge1xyXG4gIEBpbmNsdWRlIHdyYXA7XHJcbn1cclxuXHJcblxyXG5AbWl4aW4gaW5uZXItd3JhcCB7IC8vIHdpZHRoLWxpbWl0ZWQsIGhvcml6b250YWxseSBjZW50ZXJpbmcgd3JhcHBlclxyXG4gIHdpZHRoOiAxMDAlO1xyXG4gIG1heC13aWR0aDogJHNpdGVXaWR0aDtcclxuICBtYXJnaW46IDAgYXV0bztcclxufVxyXG5cclxuLmlubmVyLXdyYXAge1xyXG4gIEBpbmNsdWRlIGlubmVyLXdyYXA7XHJcbn1cclxuXHJcblxyXG5AbWl4aW4gbWFyLXRvcCB7IC8vIHN0YW5kYXJkaXplZCwgcmVzcG9uc2l2ZSwgdG9wLW1hcmdpbmVkIGNvbnRhaW5lclxyXG4gIG1hcmdpbi10b3A6ICRjb250YWluZXJQYWRkaW5nTW9iaWxlO1xyXG4gIHRyYW5zaXRpb246IG1hcmdpbiAzMDBtcztcclxuXHJcbiAgQGluY2x1ZGUgbWVkaWEoXCI+PXBob25lLWxhcmdlXCIpIHtcclxuICAgIG1hcmdpbi10b3A6ICRjb250YWluZXJQYWRkaW5nUGhvbmVMYXJnZTtcclxuICB9XHJcblxyXG4gIEBpbmNsdWRlIG1lZGlhKFwiPj10YWJsZXRcIikge1xyXG4gICAgbWFyZ2luLXRvcDogJGNvbnRhaW5lclBhZGRpbmdUYWJsZXQ7XHJcbiAgfVxyXG5cclxuICBAaW5jbHVkZSBtZWRpYShcIj49bGFwdG9wXCIpIHtcclxuICAgIG1hcmdpbi10b3A6ICRjb250YWluZXJQYWRkaW5nTGFwdG9wO1xyXG4gIH1cclxuXHJcbiAgQGluY2x1ZGUgbWVkaWEoXCI+PWRlc2t0b3BcIikge1xyXG4gICAgbWFyZ2luLXRvcDogJGNvbnRhaW5lclBhZGRpbmdEZXNrdG9wO1xyXG4gIH1cclxufVxyXG4ubWFyLXRvcCB7XHJcbiAgQGluY2x1ZGUgbWFyLXRvcDtcclxufVxyXG5cclxuXHJcbkBtaXhpbiBtYXItYm90dG9tIHsgLy8gc3RhbmRhcmRpemVkLCByZXNwb25zaXZlLCBib3R0b20tbWFyZ2luZWQgY29udGFpbmVyXHJcbiAgbWFyZ2luLWJvdHRvbTogJGNvbnRhaW5lclBhZGRpbmdNb2JpbGU7XHJcbiAgdHJhbnNpdGlvbjogbWFyZ2luIDMwMG1zO1xyXG5cclxuICBAaW5jbHVkZSBtZWRpYShcIj49cGhvbmUtbGFyZ2VcIikge1xyXG4gICAgbWFyZ2luLWJvdHRvbTogJGNvbnRhaW5lclBhZGRpbmdQaG9uZUxhcmdlO1xyXG4gIH1cclxuXHJcbiAgQGluY2x1ZGUgbWVkaWEoXCI+PXRhYmxldFwiKSB7XHJcbiAgICBtYXJnaW4tYm90dG9tOiAkY29udGFpbmVyUGFkZGluZ1RhYmxldDtcclxuICB9XHJcblxyXG4gIEBpbmNsdWRlIG1lZGlhKFwiPj1sYXB0b3BcIikge1xyXG4gICAgbWFyZ2luLWJvdHRvbTogJGNvbnRhaW5lclBhZGRpbmdMYXB0b3A7XHJcbiAgfVxyXG5cclxuICBAaW5jbHVkZSBtZWRpYShcIj49ZGVza3RvcFwiKSB7XHJcbiAgICBtYXJnaW4tYm90dG9tOiAkY29udGFpbmVyUGFkZGluZ0Rlc2t0b3A7XHJcbiAgfVxyXG59XHJcbi5tYXItYm90dG9tIHtcclxuICBAaW5jbHVkZSBtYXItYm90dG9tO1xyXG59XHJcblxyXG5cclxuQG1peGluIG1hci1ob3Jpem9udGFsIHsgLy8gc3RhbmRhcmRpemVkLCByZXNwb25zaXZlLCB2ZXJ0aWNhbGx5LW1hcmdpbmVkIChib3RoIHRvcCBhbmQgYm90dG9tKSBjb250YWluZXJcclxuICBAaW5jbHVkZSBtYXItdG9wO1xyXG4gIEBpbmNsdWRlIG1hci1ib3R0b207XHJcbn1cclxuLm1hci1ob3Jpem9udGFsIHtcclxuICBAaW5jbHVkZSBtYXItaG9yaXpvbnRhbDtcclxufVxyXG5cclxuXHJcbkBtaXhpbiBtYXItcmlnaHQgeyAvLyBzdGFuZGFyZGl6ZWQsIHJlc3BvbnNpdmUsIHJpZ2h0LW1hcmdpbmVkIGNvbnRhaW5lclxyXG4gIG1hcmdpbi1yaWdodDogJGNvbnRhaW5lclBhZGRpbmdNb2JpbGU7XHJcbiAgdHJhbnNpdGlvbjogbWFyZ2luIDMwMG1zO1xyXG4gIG1heC13aWR0aDogY2FsYygxMDAlIC0gJGNvbnRhaW5lclBhZGRpbmdNb2JpbGUpO1xyXG5cclxuICBAaW5jbHVkZSBtZWRpYShcIj49cGhvbmUtbGFyZ2VcIikge1xyXG4gICAgbWFyZ2luLXJpZ2h0OiAkY29udGFpbmVyUGFkZGluZ1Bob25lTGFyZ2U7XHJcbiAgICBtYXgtd2lkdGg6IGNhbGMoMTAwJSAtICRjb250YWluZXJQYWRkaW5nUGhvbmVMYXJnZSk7XHJcbiAgfVxyXG5cclxuICBAaW5jbHVkZSBtZWRpYShcIj49dGFibGV0XCIpIHtcclxuICAgIG1hcmdpbi1yaWdodDogJGNvbnRhaW5lclBhZGRpbmdUYWJsZXQ7XHJcbiAgICBtYXgtd2lkdGg6IGNhbGMoMTAwJSAtICRjb250YWluZXJQYWRkaW5nVGFibGV0KTtcclxuICB9XHJcblxyXG4gIEBpbmNsdWRlIG1lZGlhKFwiPj1sYXB0b3BcIikge1xyXG4gICAgbWFyZ2luLXJpZ2h0OiAkY29udGFpbmVyUGFkZGluZ0xhcHRvcDtcclxuICAgIG1heC13aWR0aDogY2FsYygxMDAlIC0gJGNvbnRhaW5lclBhZGRpbmdMYXB0b3ApO1xyXG4gIH1cclxuXHJcbiAgQGluY2x1ZGUgbWVkaWEoXCI+PWRlc2t0b3BcIikge1xyXG4gICAgbWFyZ2luLXJpZ2h0OiAkY29udGFpbmVyUGFkZGluZ0Rlc2t0b3A7XHJcbiAgICBtYXgtd2lkdGg6IGNhbGMoMTAwJSAtICRjb250YWluZXJQYWRkaW5nRGVza3RvcCk7XHJcbiAgfVxyXG59XHJcbi5tYXItcmlnaHQge1xyXG4gIEBpbmNsdWRlIG1hci1yaWdodDtcclxufVxyXG5cclxuXHJcbkBtaXhpbiBtYXItbGVmdCB7IC8vIHN0YW5kYXJkaXplZCwgcmVzcG9uc2l2ZSwgbGVmdC1tYXJnaW5lZCBjb250YWluZXJcclxuICBtYXJnaW4tbGVmdDogJGNvbnRhaW5lclBhZGRpbmdNb2JpbGU7XHJcbiAgdHJhbnNpdGlvbjogbWFyZ2luIDMwMG1zO1xyXG4gIG1heC13aWR0aDogY2FsYygxMDAlIC0gJGNvbnRhaW5lclBhZGRpbmdNb2JpbGUpO1xyXG5cclxuICBAaW5jbHVkZSBtZWRpYShcIj49cGhvbmUtbGFyZ2VcIikge1xyXG4gICAgbWFyZ2luLWxlZnQ6ICRjb250YWluZXJQYWRkaW5nUGhvbmVMYXJnZTtcclxuICAgIG1heC13aWR0aDogY2FsYygxMDAlIC0gJGNvbnRhaW5lclBhZGRpbmdQaG9uZUxhcmdlKTtcclxuICB9XHJcblxyXG4gIEBpbmNsdWRlIG1lZGlhKFwiPj10YWJsZXRcIikge1xyXG4gICAgbWFyZ2luLWxlZnQ6ICRjb250YWluZXJQYWRkaW5nVGFibGV0O1xyXG4gICAgbWF4LXdpZHRoOiBjYWxjKDEwMCUgLSAkY29udGFpbmVyUGFkZGluZ1RhYmxldCk7XHJcbiAgfVxyXG5cclxuICBAaW5jbHVkZSBtZWRpYShcIj49bGFwdG9wXCIpIHtcclxuICAgIG1hcmdpbi1sZWZ0OiAkY29udGFpbmVyUGFkZGluZ0xhcHRvcDtcclxuICAgIG1heC13aWR0aDogY2FsYygxMDAlIC0gJGNvbnRhaW5lclBhZGRpbmdMYXB0b3ApO1xyXG4gIH1cclxuXHJcbiAgQGluY2x1ZGUgbWVkaWEoXCI+PWRlc2t0b3BcIikge1xyXG4gICAgbWFyZ2luLWxlZnQ6ICRjb250YWluZXJQYWRkaW5nRGVza3RvcDtcclxuICAgIG1heC13aWR0aDogY2FsYygxMDAlIC0gJGNvbnRhaW5lclBhZGRpbmdEZXNrdG9wKTtcclxuICB9XHJcbn1cclxuLm1hci1sZWZ0IHtcclxuICBAaW5jbHVkZSBtYXItbGVmdDtcclxufVxyXG5cclxuXHJcbkBtaXhpbiBtYXItaG9yaXpvbnRhbCB7IC8vIHN0YW5kYXJkaXplZCwgcmVzcG9uc2l2ZSwgaG9yaXpvbnRhbGx5IHBhZGRlZCAoYm90aCBsZWZ0IGFuZCByaWdodCkgY29udGFpbmVyXHJcbiAgbWFyZ2luLWxlZnQ6ICRjb250YWluZXJQYWRkaW5nTW9iaWxlO1xyXG4gIG1hcmdpbi1yaWdodDogJGNvbnRhaW5lclBhZGRpbmdNb2JpbGU7XHJcbiAgdHJhbnNpdGlvbjogbWFyZ2luIDMwMG1zO1xyXG4gIG1heC13aWR0aDogY2FsYygxMDAlIC0gKDIgKiAkY29udGFpbmVyUGFkZGluZ01vYmlsZSkpO1xyXG5cclxuICBAaW5jbHVkZSBtZWRpYShcIj49cGhvbmUtbGFyZ2VcIikge1xyXG4gICAgbWFyZ2luLWxlZnQ6ICRjb250YWluZXJQYWRkaW5nUGhvbmVMYXJnZTtcclxuICAgIG1hcmdpbi1yaWdodDogJGNvbnRhaW5lclBhZGRpbmdQaG9uZUxhcmdlO1xyXG4gICAgbWF4LXdpZHRoOiBjYWxjKDEwMCUgLSAoMiAqICRjb250YWluZXJQYWRkaW5nUGhvbmVMYXJnZSkpO1xyXG4gIH1cclxuXHJcbiAgQGluY2x1ZGUgbWVkaWEoXCI+PXRhYmxldFwiKSB7XHJcbiAgICBtYXJnaW4tbGVmdDogJGNvbnRhaW5lclBhZGRpbmdUYWJsZXQ7XHJcbiAgICBtYXJnaW4tcmlnaHQ6ICRjb250YWluZXJQYWRkaW5nVGFibGV0O1xyXG4gICAgbWF4LXdpZHRoOiBjYWxjKDEwMCUgLSAoMiAqICRjb250YWluZXJQYWRkaW5nVGFibGV0KSk7XHJcbiAgfVxyXG5cclxuICBAaW5jbHVkZSBtZWRpYShcIj49bGFwdG9wXCIpIHtcclxuICAgIG1hcmdpbi1sZWZ0OiAkY29udGFpbmVyUGFkZGluZ0xhcHRvcDtcclxuICAgIG1hcmdpbi1yaWdodDogJGNvbnRhaW5lclBhZGRpbmdMYXB0b3A7XHJcbiAgICBtYXgtd2lkdGg6IGNhbGMoMTAwJSAtICgyICogJGNvbnRhaW5lclBhZGRpbmdMYXB0b3ApKTtcclxuICB9XHJcblxyXG4gIEBpbmNsdWRlIG1lZGlhKFwiPj1kZXNrdG9wXCIpIHtcclxuICAgIG1hcmdpbi1sZWZ0OiAkY29udGFpbmVyUGFkZGluZ0Rlc2t0b3A7XHJcbiAgICBtYXJnaW4tcmlnaHQ6ICRjb250YWluZXJQYWRkaW5nRGVza3RvcDtcclxuICAgIG1heC13aWR0aDogY2FsYygxMDAlIC0gKDIgKiAkY29udGFpbmVyUGFkZGluZ0Rlc2t0b3ApKTtcclxuICB9XHJcbn1cclxuLm1hci1ob3Jpem9udGFsIHtcclxuICBAaW5jbHVkZSBtYXItaG9yaXpvbnRhbDtcclxufVxyXG5cclxuXHJcbkBtaXhpbiBwYWQtdG9wIHsgLy8gc3RhbmRhcmRpemVkLCByZXNwb25zaXZlIHNwYWNlciBmb3IgZWxlbWVudCB0b3BcclxuICBwYWRkaW5nLXRvcDogJHNwYWNlclBhZGRpbmdNb2JpbGU7XHJcbiAgdHJhbnNpdGlvbjogcGFkZGluZyAzMDBtcztcclxuXHJcbiAgQGluY2x1ZGUgbWVkaWEoXCI+PXBob25lLWxhcmdlXCIpIHtcclxuICAgIHBhZGRpbmctdG9wOiAkc3BhY2VyUGFkZGluZ1Bob25lTGFyZ2U7XHJcbiAgfVxyXG5cclxuICBAaW5jbHVkZSBtZWRpYShcIj49dGFibGV0XCIpIHtcclxuICAgIHBhZGRpbmctdG9wOiAkc3BhY2VyUGFkZGluZ1RhYmxldDtcclxuICB9XHJcblxyXG4gIEBpbmNsdWRlIG1lZGlhKFwiPj1sYXB0b3BcIikge1xyXG4gICAgcGFkZGluZy10b3A6ICRzcGFjZXJQYWRkaW5nTGFwdG9wO1xyXG4gIH1cclxuXHJcbiAgQGluY2x1ZGUgbWVkaWEoXCI+PWRlc2t0b3BcIikge1xyXG4gICAgcGFkZGluZy10b3A6ICRzcGFjZXJQYWRkaW5nRGVza3RvcDtcclxuICB9XHJcbn1cclxuLnBhZC10b3Age1xyXG4gIEBpbmNsdWRlIHBhZC10b3A7XHJcbn1cclxuXHJcblxyXG5AbWl4aW4gcGFkLWJvdHRvbSB7IC8vIHN0YW5kYXJkaXplZCwgcmVzcG9uc2l2ZSBzcGFjZXIgZm9yIGVsZW1lbnQgYm90dG9tXHJcbiAgcGFkZGluZy1ib3R0b206ICRzcGFjZXJQYWRkaW5nTW9iaWxlO1xyXG4gIHRyYW5zaXRpb246IHBhZGRpbmcgMzAwbXM7XHJcblxyXG4gIEBpbmNsdWRlIG1lZGlhKFwiPj1waG9uZS1sYXJnZVwiKSB7XHJcbiAgICBwYWRkaW5nLWJvdHRvbTogJHNwYWNlclBhZGRpbmdQaG9uZUxhcmdlO1xyXG4gIH1cclxuXHJcbiAgQGluY2x1ZGUgbWVkaWEoXCI+PXRhYmxldFwiKSB7XHJcbiAgICBwYWRkaW5nLWJvdHRvbTogJHNwYWNlclBhZGRpbmdUYWJsZXQ7XHJcbiAgfVxyXG5cclxuICBAaW5jbHVkZSBtZWRpYShcIj49bGFwdG9wXCIpIHtcclxuICAgIHBhZGRpbmctYm90dG9tOiAkc3BhY2VyUGFkZGluZ0xhcHRvcDtcclxuICB9XHJcblxyXG4gIEBpbmNsdWRlIG1lZGlhKFwiPj1kZXNrdG9wXCIpIHtcclxuICAgIHBhZGRpbmctYm90dG9tOiAkc3BhY2VyUGFkZGluZ0Rlc2t0b3A7XHJcbiAgfVxyXG59XHJcbi5wYWQtYm90dG9tIHtcclxuICBAaW5jbHVkZSBwYWQtYm90dG9tO1xyXG59XHJcblxyXG5cclxuQG1peGluIHBhZC1sZWZ0IHsgLy8gc3RhbmRhcmRpemVkLCByZXNwb25zaXZlLCBsZWZ0LXBhZGRlZCBjb250YWluZXJcclxuICBwYWRkaW5nLWxlZnQ6ICRjb250YWluZXJQYWRkaW5nTW9iaWxlO1xyXG4gIHRyYW5zaXRpb246IHBhZGRpbmcgMzAwbXM7XHJcblxyXG4gIEBpbmNsdWRlIG1lZGlhKFwiPj1waG9uZS1sYXJnZVwiKSB7XHJcbiAgICBwYWRkaW5nLWxlZnQ6ICRjb250YWluZXJQYWRkaW5nUGhvbmVMYXJnZTtcclxuICB9XHJcblxyXG4gIEBpbmNsdWRlIG1lZGlhKFwiPj10YWJsZXRcIikge1xyXG4gICAgcGFkZGluZy1sZWZ0OiAkY29udGFpbmVyUGFkZGluZ1RhYmxldDtcclxuICB9XHJcblxyXG4gIEBpbmNsdWRlIG1lZGlhKFwiPj1sYXB0b3BcIikge1xyXG4gICAgcGFkZGluZy1sZWZ0OiAkY29udGFpbmVyUGFkZGluZ0xhcHRvcDtcclxuICB9XHJcblxyXG4gIEBpbmNsdWRlIG1lZGlhKFwiPj1kZXNrdG9wXCIpIHtcclxuICAgIHBhZGRpbmctbGVmdDogJGNvbnRhaW5lclBhZGRpbmdEZXNrdG9wO1xyXG4gIH1cclxufVxyXG4ucGFkLWxlZnQge1xyXG4gIEBpbmNsdWRlIHBhZC1sZWZ0O1xyXG59XHJcblxyXG5cclxuQG1peGluIHBhZC1yaWdodCB7IC8vIHN0YW5kYXJkaXplZCwgcmVzcG9uc2l2ZSwgcmlnaHQtcGFkZGVkIGNvbnRhaW5lclxyXG4gIHBhZGRpbmctcmlnaHQ6ICRjb250YWluZXJQYWRkaW5nTW9iaWxlO1xyXG4gIHRyYW5zaXRpb246IHBhZGRpbmcgMzAwbXM7XHJcblxyXG4gIEBpbmNsdWRlIG1lZGlhKFwiPj1waG9uZS1sYXJnZVwiKSB7XHJcbiAgICBwYWRkaW5nLXJpZ2h0OiAkY29udGFpbmVyUGFkZGluZ1Bob25lTGFyZ2U7XHJcbiAgfVxyXG5cclxuICBAaW5jbHVkZSBtZWRpYShcIj49dGFibGV0XCIpIHtcclxuICAgIHBhZGRpbmctcmlnaHQ6ICRjb250YWluZXJQYWRkaW5nVGFibGV0O1xyXG4gIH1cclxuXHJcbiAgQGluY2x1ZGUgbWVkaWEoXCI+PWxhcHRvcFwiKSB7XHJcbiAgICBwYWRkaW5nLXJpZ2h0OiAkY29udGFpbmVyUGFkZGluZ0xhcHRvcDtcclxuICB9XHJcblxyXG4gIEBpbmNsdWRlIG1lZGlhKFwiPj1kZXNrdG9wXCIpIHtcclxuICAgIHBhZGRpbmctcmlnaHQ6ICRjb250YWluZXJQYWRkaW5nRGVza3RvcDtcclxuICB9XHJcbn1cclxuLnBhZC1yaWdodCB7XHJcbiAgQGluY2x1ZGUgcGFkLXJpZ2h0O1xyXG59XHJcblxyXG5cclxuQG1peGluIHBhZC12ZXJ0aWNhbCB7XHJcbiAgQGluY2x1ZGUgcGFkLXRvcDtcclxuICBAaW5jbHVkZSBwYWQtYm90dG9tO1xyXG59XHJcbi5wYWQtdmVydGljYWwgeyAvLyBzdGFuZGFyZGl6ZWQsIHJlc3BvbnNpdmUgdmVydGljYWwgKGJvdGggdG8gYW5kIGJvdHRvbSkgc3BhY2VyIGZvciBlbGVtZW50XHJcbiAgQGluY2x1ZGUgcGFkLXZlcnRpY2FsO1xyXG59XHJcblxyXG5cclxuQG1peGluIHBhZC1ob3Jpem9udGFsIHtcclxuICBAaW5jbHVkZSBwYWQtcmlnaHQ7XHJcbiAgQGluY2x1ZGUgcGFkLWxlZnQ7XHJcbn1cclxuLnBhZC1ob3Jpem9udGFsIHsgLy8gc3RhbmRhcmRpemVkLCByZXNwb25zaXZlLCBob3Jpem9udGFsbHkgcGFkZGVkIChib3RoIGxlZnQgYW5kIHJpZ2h0KSBjb250YWluZXJcclxuICBAaW5jbHVkZSBwYWQtaG9yaXpvbnRhbDtcclxufVxyXG5cclxuXHJcbkBtaXhpbiBidXR0b24geyAvLyBzdGFuZGFyZGl6ZWQgYnV0dG9uXHJcbiAgcGFkZGluZzogMTBweCAxNXB4OztcclxuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcbiAgYmFja2dyb3VuZC1jb2xvcjogJGJsYWNrO1xyXG4gIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XHJcbiAgY29sb3I6ICRvZmZXaGl0ZTtcclxuICBmb250LXdlaWdodDogYm9sZDtcclxufVxyXG5cclxuLmJ1dHRvbiB7XHJcbiAgQGluY2x1ZGUgYnV0dG9uO1xyXG59XHJcblxyXG4vKlxyXG5AbWl4aW4gY2F0ZWdvcnkge1xyXG4gIGRpc3BsYXk6IGJsb2NrO1xyXG4gIC8vIC90ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xyXG4gIGNvbG9yOiAkYmxhY2s7XHJcbiAgZm9udC13ZWlnaHQ6IDYwMDtcclxuICBmb250LXNpemU6IDAuOHJlbTtcclxuICBsZXR0ZXItc3BhY2luZzogLTAuMDYyNWVtO1xyXG59XHJcblxyXG4uY2F0ZWdvcnkge1xyXG4gIEBpbmNsdWRlIGNhdGVnb3J5O1xyXG59XHJcblxyXG5AbWl4aW4gdGl0bGUge1xyXG4gIGRpc3BsYXk6IGJsb2NrO1xyXG4gIGZvbnQtc2l6ZTogMS40cmVtO1xyXG4gIC8vZm9udC13ZWlnaHQ6IDYwMDtcclxuICBsaW5lLWhlaWdodDogMS4xO1xyXG4gIGNvbG9yOiAkYnJhbmRDb2xvclByaW1hcnk7XHJcbiAgbGV0dGVyLXNwYWNpbmc6IC0wLjA2MjVlbTtcclxuXHJcbiAgJjpob3ZlciB7XHJcbiAgICAvL3RleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xyXG4gIH1cclxufVxyXG5cclxuLnRpdGxlIHtcclxuICBAaW5jbHVkZSB0aXRsZTtcclxufVxyXG5cclxuQG1peGluIHRhZyB7XHJcbiAgZm9udC1zaXplOiAwLjhyZW07XHJcbiAgZm9udC13ZWlnaHQ6IDUwMDtcclxuICBjb2xvcjogJG1lZGl1bURhcmtHcmF5O1xyXG4gIGxldHRlci1zcGFjaW5nOiAtMC4wNDI1ZW07XHJcbn1cclxuXHJcbi50YWcge1xyXG4gIEBpbmNsdWRlIHRhZztcclxufVxyXG4qL1xyXG5cclxuQG1peGluIHNjcmVlbi1yZWFkZXItdGV4dCB7ICAvLyB2aXNpYmxlIHRvIHNjcmVlbiByZWFkZXJzIG9ubHlcclxuICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgd2lkdGg6IDFweDtcclxuICBoZWlnaHQ6IDFweDtcclxuICBwYWRkaW5nOiAwO1xyXG4gIG1hcmdpbjogLTFweDtcclxuICBvdmVyZmxvdzogaGlkZGVuO1xyXG4gIGNsaXA6IHJlY3QoMCwgMCwgMCwgMCk7XHJcbiAgYm9yZGVyOiAwO1xyXG59XHJcblxyXG4uc2NyZWVuLXJlYWRlci10ZXh0IHtcclxuICBAaW5jbHVkZSBzY3JlZW4tcmVhZGVyLXRleHQ7XHJcbn1cclxuXHJcblxyXG5AbWl4aW4gbm8tc2Nyb2xsIHsgLy8gcmVtb3ZlIHNjcm9sbGFiaWxpdHkgZm9yIGVsZW1lbnRcclxuICBvdmVyZmxvdzogaGlkZGVuO1xyXG59XHJcblxyXG4ubm8tc2Nyb2xsIHtcclxuICBAaW5jbHVkZSBuby1zY3JvbGw7XHJcbn1cclxuXHJcbkBtaXhpbiBib29rLWdyYWRpZW50IHtcclxuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmZWVlO1xyXG4gIGJhY2tncm91bmQtaW1hZ2U6IGxpbmVhci1ncmFkaWVudChcclxuICAgIHRvIHJpZ2h0LFxyXG4gICAgdHJhbnNwYXJlbnQgMCUsXHJcbiAgICBsaWdodGVuKHJnYmEoMCwgMCwgMCwgMC42KSwgNzAlKSAwLjElIDAuMiUsXHJcbiAgICB0cmFuc3BhcmVudCAwLjIlLFxyXG4gICAgbGlnaHRlbihyZ2JhKDAsIDAsIDAsIDAuNiksIDcwJSkgMC40JSAwLjUlLFxyXG4gICAgdHJhbnNwYXJlbnQgMC41JSxcclxuICAgIGxpZ2h0ZW4ocmdiYSgwLCAwLCAwLCAwLjYpLCA3MCUpIDEuMiUgMS4zJSxcclxuICAgIHRyYW5zcGFyZW50IDEuMyUsXHJcbiAgICBsaWdodGVuKHJnYmEoMCwgMCwgMCwgMC42KSwgNzAlKSAzLjMlIDMuNCUsXHJcbiAgICB0cmFuc3BhcmVudCAzLjQlIDIwJSxcclxuICAgIC8qbGlnaHRlbihyZ2JhKDAsIDAsIDAsIDAuNiksIDcwJSkgNS41JSA1JSxcclxuICAgIC8vdHJhbnNwYXJlbnQgNSUgMjAlLCovXHJcbiAgICBsaWdodGVuKHJnYmEoMCwgMCwgMCwgMC42KSwgNzAlKSA1MCUsXHJcbiAgICBsaWdodGVuKHJnYmEoMCwgMCwgMCwgMC43KSwgNDAlKSA2NyUsXHJcbiAgICBsaWdodGVuKHJnYmEoMCwgMCwgMCwgMC44KSwgMzAlKSA2OSUsXHJcbiAgICBsaWdodGVuKHJnYmEoMCwgMCwgMCwgMC45KSwgMjAlKSA2OS45NSUsXHJcbiAgICBsaWdodGVuKHJnYmEoMCwgMCwgMCwgMC45KSwgMTAlKSA3MCUsXHJcbiAgICBsaWdodGVuKHJnYmEoMCwgMCwgMCwgMC42KSwgMjAlKSA3MC4wNSUsXHJcbiAgICBsaWdodGVuKHJnYmEoMCwgMCwgMCwgMC42KSwgMzAlKSA3MSUsXHJcbiAgICBsaWdodGVuKHJnYmEoMCwgMCwgMCwgMC42KSwgNDAlKSA3MyUsXHJcbiAgICBsaWdodGVuKHJnYmEoMCwgMCwgMCwgMC42KSwgNzAlKSA5MCUsXHJcbiAgICB0cmFuc3BhcmVudCAxMDAlKTtcclxufVxyXG4iLCJAY2hhcnNldCBcIlVURi04XCI7XHJcblxyXG4vLyAgICAgXyAgICAgICAgICAgIF8gICAgICAgICAgIF8gICAgICAgICAgICAgICAgICAgICAgICAgICBfIF9cclxuLy8gICAgKF8pICAgICAgICAgIHwgfCAgICAgICAgIHwgfCAgICAgICAgICAgICAgICAgICAgICAgICB8IChfKVxyXG4vLyAgICAgXyBfIF9fICAgX19ffCB8XyAgIF8gIF9ffCB8IF9fXyAgIF8gX18gX19fICAgX19fICBfX3wgfF8gIF9fIF9cclxuLy8gICAgfCB8ICdfIFxcIC8gX198IHwgfCB8IHwvIF9gIHwvIF8gXFwgfCAnXyBgIF8gXFwgLyBfIFxcLyBfYCB8IHwvIF9gIHxcclxuLy8gICAgfCB8IHwgfCB8IChfX3wgfCB8X3wgfCAoX3wgfCAgX18vIHwgfCB8IHwgfCB8ICBfXy8gKF98IHwgfCAoX3wgfFxyXG4vLyAgICB8X3xffCB8X3xcXF9fX3xffFxcX18sX3xcXF9fLF98XFxfX198IHxffCB8X3wgfF98XFxfX198XFxfXyxffF98XFxfXyxffFxyXG4vL1xyXG4vLyAgICAgIFNpbXBsZSwgZWxlZ2FudCBhbmQgbWFpbnRhaW5hYmxlIG1lZGlhIHF1ZXJpZXMgaW4gU2Fzc1xyXG4vLyAgICAgICAgICAgICAgICAgICAgICAgIHYxLjQuOVxyXG4vL1xyXG4vLyAgICAgICAgaHR0cHM6Ly9lZHVhcmRvYm91Y2FzLmdpdGh1Yi5pby9pbmNsdWRlLW1lZGlhXHJcbi8vXHJcbi8vICAgICAgICAgQXV0aG9yczogRWR1YXJkbyBCb3VjYXMgKEBlZHVhcmRvYm91Y2FzKVxyXG4vLyAgICAgICAgICAgICAgICAgIEtpdHR5IEdpcmF1ZGVsIChAa2l0dHlnaXJhdWRlbClcclxuLy9cclxuLy8gICAgICBUaGlzIHByb2plY3QgaXMgbGljZW5zZWQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBNSVQgbGljZW5zZVxyXG4vLy8vXHJcbi8vLyBpbmNsdWRlLW1lZGlhIGxpYnJhcnkgcHVibGljIGNvbmZpZ3VyYXRpb25cclxuLy8vIEBhdXRob3IgRWR1YXJkbyBCb3VjYXNcclxuLy8vIEBhY2Nlc3MgcHVibGljXHJcbi8vLy9cclxuXHJcblxyXG4vLy9cclxuLy8vIENyZWF0ZXMgYSBsaXN0IG9mIGdsb2JhbCBicmVha3BvaW50c1xyXG4vLy9cclxuLy8vIEBleGFtcGxlIHNjc3MgLSBDcmVhdGVzIGEgc2luZ2xlIGJyZWFrcG9pbnQgd2l0aCB0aGUgbGFiZWwgYHBob25lYFxyXG4vLy8gICRicmVha3BvaW50czogKCdwaG9uZSc6IDMyMHB4KTtcclxuLy8vXHJcbiRicmVha3BvaW50czogKFxyXG4gICdwaG9uZSc6IDMyMHB4LFxyXG4gICd0YWJsZXQnOiA3NjhweCxcclxuICAnZGVza3RvcCc6IDEwMjRweFxyXG4pICFkZWZhdWx0O1xyXG5cclxuXHJcbi8vL1xyXG4vLy8gQ3JlYXRlcyBhIGxpc3Qgb2Ygc3RhdGljIGV4cHJlc3Npb25zIG9yIG1lZGlhIHR5cGVzXHJcbi8vL1xyXG4vLy8gQGV4YW1wbGUgc2NzcyAtIENyZWF0ZXMgYSBzaW5nbGUgbWVkaWEgdHlwZSAoc2NyZWVuKVxyXG4vLy8gICRtZWRpYS1leHByZXNzaW9uczogKCdzY3JlZW4nOiAnc2NyZWVuJyk7XHJcbi8vL1xyXG4vLy8gQGV4YW1wbGUgc2NzcyAtIENyZWF0ZXMgYSBzdGF0aWMgZXhwcmVzc2lvbiB3aXRoIGxvZ2ljYWwgZGlzanVuY3Rpb24gKE9SIG9wZXJhdG9yKVxyXG4vLy8gICRtZWRpYS1leHByZXNzaW9uczogKFxyXG4vLy8gICAgJ3JldGluYTJ4JzogJygtd2Via2l0LW1pbi1kZXZpY2UtcGl4ZWwtcmF0aW86IDIpLCAobWluLXJlc29sdXRpb246IDE5MmRwaSknXHJcbi8vLyAgKTtcclxuLy8vXHJcbiRtZWRpYS1leHByZXNzaW9uczogKFxyXG4gICdzY3JlZW4nOiAnc2NyZWVuJyxcclxuICAncHJpbnQnOiAncHJpbnQnLFxyXG4gICdoYW5kaGVsZCc6ICdoYW5kaGVsZCcsXHJcbiAgJ2xhbmRzY2FwZSc6ICcob3JpZW50YXRpb246IGxhbmRzY2FwZSknLFxyXG4gICdwb3J0cmFpdCc6ICcob3JpZW50YXRpb246IHBvcnRyYWl0KScsXHJcbiAgJ3JldGluYTJ4JzogJygtd2Via2l0LW1pbi1kZXZpY2UtcGl4ZWwtcmF0aW86IDIpLCAobWluLXJlc29sdXRpb246IDE5MmRwaSksIChtaW4tcmVzb2x1dGlvbjogMmRwcHgpJyxcclxuICAncmV0aW5hM3gnOiAnKC13ZWJraXQtbWluLWRldmljZS1waXhlbC1yYXRpbzogMyksIChtaW4tcmVzb2x1dGlvbjogMzUwZHBpKSwgKG1pbi1yZXNvbHV0aW9uOiAzZHBweCknXHJcbikgIWRlZmF1bHQ7XHJcblxyXG5cclxuLy8vXHJcbi8vLyBEZWZpbmVzIGEgbnVtYmVyIHRvIGJlIGFkZGVkIG9yIHN1YnRyYWN0ZWQgZnJvbSBlYWNoIHVuaXQgd2hlbiBkZWNsYXJpbmcgYnJlYWtwb2ludHMgd2l0aCBleGNsdXNpdmUgaW50ZXJ2YWxzXHJcbi8vL1xyXG4vLy8gQGV4YW1wbGUgc2NzcyAtIEludGVydmFsIGZvciBwaXhlbHMgaXMgZGVmaW5lZCBhcyBgMWAgYnkgZGVmYXVsdFxyXG4vLy8gIEBpbmNsdWRlIG1lZGlhKCc+MTI4cHgnKSB7fVxyXG4vLy9cclxuLy8vICAvKiBHZW5lcmF0ZXM6ICovXHJcbi8vLyAgQG1lZGlhIChtaW4td2lkdGg6IDEyOXB4KSB7fVxyXG4vLy9cclxuLy8vIEBleGFtcGxlIHNjc3MgLSBJbnRlcnZhbCBmb3IgZW1zIGlzIGRlZmluZWQgYXMgYDAuMDFgIGJ5IGRlZmF1bHRcclxuLy8vICBAaW5jbHVkZSBtZWRpYSgnPjIwZW0nKSB7fVxyXG4vLy9cclxuLy8vICAvKiBHZW5lcmF0ZXM6ICovXHJcbi8vLyAgQG1lZGlhIChtaW4td2lkdGg6IDIwLjAxZW0pIHt9XHJcbi8vL1xyXG4vLy8gQGV4YW1wbGUgc2NzcyAtIEludGVydmFsIGZvciByZW1zIGlzIGRlZmluZWQgYXMgYDAuMWAgYnkgZGVmYXVsdCwgdG8gYmUgdXNlZCB3aXRoIGBmb250LXNpemU6IDYyLjUlO2BcclxuLy8vICBAaW5jbHVkZSBtZWRpYSgnPjIuMHJlbScpIHt9XHJcbi8vL1xyXG4vLy8gIC8qIEdlbmVyYXRlczogKi9cclxuLy8vICBAbWVkaWEgKG1pbi13aWR0aDogMi4xcmVtKSB7fVxyXG4vLy9cclxuJHVuaXQtaW50ZXJ2YWxzOiAoXHJcbiAgJ3B4JzogMSxcclxuICAnZW0nOiAwLjAxLFxyXG4gICdyZW0nOiAwLjEsXHJcbiAgJyc6IDBcclxuKSAhZGVmYXVsdDtcclxuXHJcbi8vL1xyXG4vLy8gRGVmaW5lcyB3aGV0aGVyIHN1cHBvcnQgZm9yIG1lZGlhIHF1ZXJpZXMgaXMgYXZhaWxhYmxlLCB1c2VmdWwgZm9yIGNyZWF0aW5nIHNlcGFyYXRlIHN0eWxlc2hlZXRzXHJcbi8vLyBmb3IgYnJvd3NlcnMgdGhhdCBkb24ndCBzdXBwb3J0IG1lZGlhIHF1ZXJpZXMuXHJcbi8vL1xyXG4vLy8gQGV4YW1wbGUgc2NzcyAtIERpc2FibGVzIHN1cHBvcnQgZm9yIG1lZGlhIHF1ZXJpZXNcclxuLy8vICAkaW0tbWVkaWEtc3VwcG9ydDogZmFsc2U7XHJcbi8vLyAgQGluY2x1ZGUgbWVkaWEoJz49dGFibGV0Jykge1xyXG4vLy8gICAgLmZvbyB7XHJcbi8vLyAgICAgIGNvbG9yOiB0b21hdG87XHJcbi8vLyAgICB9XHJcbi8vLyAgfVxyXG4vLy9cclxuLy8vICAvKiBHZW5lcmF0ZXM6ICovXHJcbi8vLyAgLmZvbyB7XHJcbi8vLyAgICBjb2xvcjogdG9tYXRvO1xyXG4vLy8gIH1cclxuLy8vXHJcbiRpbS1tZWRpYS1zdXBwb3J0OiB0cnVlICFkZWZhdWx0O1xyXG5cclxuLy8vXHJcbi8vLyBTZWxlY3RzIHdoaWNoIGJyZWFrcG9pbnQgdG8gZW11bGF0ZSB3aGVuIHN1cHBvcnQgZm9yIG1lZGlhIHF1ZXJpZXMgaXMgZGlzYWJsZWQuIE1lZGlhIHF1ZXJpZXMgdGhhdCBzdGFydCBhdCBvclxyXG4vLy8gaW50ZXJjZXB0IHRoZSBicmVha3BvaW50IHdpbGwgYmUgZGlzcGxheWVkLCBhbnkgb3RoZXJzIHdpbGwgYmUgaWdub3JlZC5cclxuLy8vXHJcbi8vLyBAZXhhbXBsZSBzY3NzIC0gVGhpcyBtZWRpYSBxdWVyeSB3aWxsIHNob3cgYmVjYXVzZSBpdCBpbnRlcmNlcHRzIHRoZSBzdGF0aWMgYnJlYWtwb2ludFxyXG4vLy8gICRpbS1tZWRpYS1zdXBwb3J0OiBmYWxzZTtcclxuLy8vICAkaW0tbm8tbWVkaWEtYnJlYWtwb2ludDogJ2Rlc2t0b3AnO1xyXG4vLy8gIEBpbmNsdWRlIG1lZGlhKCc+PXRhYmxldCcpIHtcclxuLy8vICAgIC5mb28ge1xyXG4vLy8gICAgICBjb2xvcjogdG9tYXRvO1xyXG4vLy8gICAgfVxyXG4vLy8gIH1cclxuLy8vXHJcbi8vLyAgLyogR2VuZXJhdGVzOiAqL1xyXG4vLy8gIC5mb28ge1xyXG4vLy8gICAgY29sb3I6IHRvbWF0bztcclxuLy8vICB9XHJcbi8vL1xyXG4vLy8gQGV4YW1wbGUgc2NzcyAtIFRoaXMgbWVkaWEgcXVlcnkgd2lsbCBOT1Qgc2hvdyBiZWNhdXNlIGl0IGRvZXMgbm90IGludGVyY2VwdCB0aGUgZGVza3RvcCBicmVha3BvaW50XHJcbi8vLyAgJGltLW1lZGlhLXN1cHBvcnQ6IGZhbHNlO1xyXG4vLy8gICRpbS1uby1tZWRpYS1icmVha3BvaW50OiAndGFibGV0JztcclxuLy8vICBAaW5jbHVkZSBtZWRpYSgnPj1kZXNrdG9wJykge1xyXG4vLy8gICAgLmZvbyB7XHJcbi8vLyAgICAgIGNvbG9yOiB0b21hdG87XHJcbi8vLyAgICB9XHJcbi8vLyAgfVxyXG4vLy9cclxuLy8vICAvKiBObyBvdXRwdXQgKi9cclxuLy8vXHJcbiRpbS1uby1tZWRpYS1icmVha3BvaW50OiAnZGVza3RvcCcgIWRlZmF1bHQ7XHJcblxyXG4vLy9cclxuLy8vIFNlbGVjdHMgd2hpY2ggbWVkaWEgZXhwcmVzc2lvbnMgYXJlIGFsbG93ZWQgaW4gYW4gZXhwcmVzc2lvbiBmb3IgaXQgdG8gYmUgdXNlZCB3aGVuIG1lZGlhIHF1ZXJpZXNcclxuLy8vIGFyZSBub3Qgc3VwcG9ydGVkLlxyXG4vLy9cclxuLy8vIEBleGFtcGxlIHNjc3MgLSBUaGlzIG1lZGlhIHF1ZXJ5IHdpbGwgc2hvdyBiZWNhdXNlIGl0IGludGVyY2VwdHMgdGhlIHN0YXRpYyBicmVha3BvaW50IGFuZCBjb250YWlucyBvbmx5IGFjY2VwdGVkIG1lZGlhIGV4cHJlc3Npb25zXHJcbi8vLyAgJGltLW1lZGlhLXN1cHBvcnQ6IGZhbHNlO1xyXG4vLy8gICRpbS1uby1tZWRpYS1icmVha3BvaW50OiAnZGVza3RvcCc7XHJcbi8vLyAgJGltLW5vLW1lZGlhLWV4cHJlc3Npb25zOiAoJ3NjcmVlbicpO1xyXG4vLy8gIEBpbmNsdWRlIG1lZGlhKCc+PXRhYmxldCcsICdzY3JlZW4nKSB7XHJcbi8vLyAgICAuZm9vIHtcclxuLy8vICAgICAgY29sb3I6IHRvbWF0bztcclxuLy8vICAgIH1cclxuLy8vICB9XHJcbi8vL1xyXG4vLy8gICAvKiBHZW5lcmF0ZXM6ICovXHJcbi8vLyAgIC5mb28ge1xyXG4vLy8gICAgIGNvbG9yOiB0b21hdG87XHJcbi8vLyAgIH1cclxuLy8vXHJcbi8vLyBAZXhhbXBsZSBzY3NzIC0gVGhpcyBtZWRpYSBxdWVyeSB3aWxsIE5PVCBzaG93IGJlY2F1c2UgaXQgaW50ZXJjZXB0cyB0aGUgc3RhdGljIGJyZWFrcG9pbnQgYnV0IGNvbnRhaW5zIGEgbWVkaWEgZXhwcmVzc2lvbiB0aGF0IGlzIG5vdCBhY2NlcHRlZFxyXG4vLy8gICRpbS1tZWRpYS1zdXBwb3J0OiBmYWxzZTtcclxuLy8vICAkaW0tbm8tbWVkaWEtYnJlYWtwb2ludDogJ2Rlc2t0b3AnO1xyXG4vLy8gICRpbS1uby1tZWRpYS1leHByZXNzaW9uczogKCdzY3JlZW4nKTtcclxuLy8vICBAaW5jbHVkZSBtZWRpYSgnPj10YWJsZXQnLCAncmV0aW5hMngnKSB7XHJcbi8vLyAgICAuZm9vIHtcclxuLy8vICAgICAgY29sb3I6IHRvbWF0bztcclxuLy8vICAgIH1cclxuLy8vICB9XHJcbi8vL1xyXG4vLy8gIC8qIE5vIG91dHB1dCAqL1xyXG4vLy9cclxuJGltLW5vLW1lZGlhLWV4cHJlc3Npb25zOiAoJ3NjcmVlbicsICdwb3J0cmFpdCcsICdsYW5kc2NhcGUnKSAhZGVmYXVsdDtcclxuXHJcbi8vLy9cclxuLy8vIENyb3NzLWVuZ2luZSBsb2dnaW5nIGVuZ2luZVxyXG4vLy8gQGF1dGhvciBLaXR0eSBHaXJhdWRlbFxyXG4vLy8gQGFjY2VzcyBwcml2YXRlXHJcbi8vLy9cclxuXHJcblxyXG4vLy9cclxuLy8vIExvZyBhIG1lc3NhZ2UgZWl0aGVyIHdpdGggYEBlcnJvcmAgaWYgc3VwcG9ydGVkXHJcbi8vLyBlbHNlIHdpdGggYEB3YXJuYCwgdXNpbmcgYGZlYXR1cmUtZXhpc3RzKCdhdC1lcnJvcicpYFxyXG4vLy8gdG8gZGV0ZWN0IHN1cHBvcnQuXHJcbi8vL1xyXG4vLy8gQHBhcmFtIHtTdHJpbmd9ICRtZXNzYWdlIC0gTWVzc2FnZSB0byBsb2dcclxuLy8vXHJcbkBmdW5jdGlvbiBpbS1sb2coJG1lc3NhZ2UpIHtcclxuICBAaWYgZmVhdHVyZS1leGlzdHMoJ2F0LWVycm9yJykge1xyXG4gICAgQGVycm9yICRtZXNzYWdlO1xyXG4gIH0gQGVsc2Uge1xyXG4gICAgQHdhcm4gJG1lc3NhZ2U7XHJcbiAgICAkXzogbm9vcCgpO1xyXG4gIH1cclxuXHJcbiAgQHJldHVybiAkbWVzc2FnZTtcclxufVxyXG5cclxuXHJcbi8vL1xyXG4vLy8gV3JhcHBlciBtaXhpbiBmb3IgdGhlIGxvZyBmdW5jdGlvbiBzbyBpdCBjYW4gYmUgdXNlZCB3aXRoIGEgbW9yZSBmcmllbmRseVxyXG4vLy8gQVBJIHRoYW4gYEBpZiBpbS1sb2coJy4uJykge31gIG9yIGAkXzogaW0tbG9nKCcuLicpYC4gQmFzaWNhbGx5LCB1c2UgdGhlIGZ1bmN0aW9uXHJcbi8vLyB3aXRoaW4gZnVuY3Rpb25zIGJlY2F1c2UgaXQgaXMgbm90IHBvc3NpYmxlIHRvIGluY2x1ZGUgYSBtaXhpbiBpbiBhIGZ1bmN0aW9uXHJcbi8vLyBhbmQgdXNlIHRoZSBtaXhpbiBldmVyeXdoZXJlIGVsc2UgYmVjYXVzZSBpdCdzIG11Y2ggbW9yZSBlbGVnYW50LlxyXG4vLy9cclxuLy8vIEBwYXJhbSB7U3RyaW5nfSAkbWVzc2FnZSAtIE1lc3NhZ2UgdG8gbG9nXHJcbi8vL1xyXG5AbWl4aW4gbG9nKCRtZXNzYWdlKSB7XHJcbiAgQGlmIGltLWxvZygkbWVzc2FnZSkge31cclxufVxyXG5cclxuXHJcbi8vL1xyXG4vLy8gRnVuY3Rpb24gd2l0aCBubyBgQHJldHVybmAgY2FsbGVkIG5leHQgdG8gYEB3YXJuYCBpbiBTYXNzIDMuM1xyXG4vLy8gdG8gdHJpZ2dlciBhIGNvbXBpbGluZyBlcnJvciBhbmQgc3RvcCB0aGUgcHJvY2Vzcy5cclxuLy8vXHJcbkBmdW5jdGlvbiBub29wKCkge31cclxuXHJcbi8vL1xyXG4vLy8gRGV0ZXJtaW5lcyB3aGV0aGVyIGEgbGlzdCBvZiBjb25kaXRpb25zIGlzIGludGVyY2VwdGVkIGJ5IHRoZSBzdGF0aWMgYnJlYWtwb2ludC5cclxuLy8vXHJcbi8vLyBAcGFyYW0ge0FyZ2xpc3R9ICAgJGNvbmRpdGlvbnMgIC0gTWVkaWEgcXVlcnkgY29uZGl0aW9uc1xyXG4vLy9cclxuLy8vIEByZXR1cm4ge0Jvb2xlYW59IC0gUmV0dXJucyB0cnVlIGlmIHRoZSBjb25kaXRpb25zIGFyZSBpbnRlcmNlcHRlZCBieSB0aGUgc3RhdGljIGJyZWFrcG9pbnRcclxuLy8vXHJcbkBmdW5jdGlvbiBpbS1pbnRlcmNlcHRzLXN0YXRpYy1icmVha3BvaW50KCRjb25kaXRpb25zLi4uKSB7XHJcbiAgJG5vLW1lZGlhLWJyZWFrcG9pbnQtdmFsdWU6IG1hcC1nZXQoJGJyZWFrcG9pbnRzLCAkaW0tbm8tbWVkaWEtYnJlYWtwb2ludCk7XHJcblxyXG4gIEBpZiBub3QgJG5vLW1lZGlhLWJyZWFrcG9pbnQtdmFsdWUge1xyXG4gICAgQGlmIGltLWxvZygnYCN7JGltLW5vLW1lZGlhLWJyZWFrcG9pbnR9YCBpcyBub3QgYSB2YWxpZCBicmVha3BvaW50LicpIHt9XHJcbiAgfVxyXG5cclxuICBAZWFjaCAkY29uZGl0aW9uIGluICRjb25kaXRpb25zIHtcclxuICAgIEBpZiBub3QgbWFwLWhhcy1rZXkoJG1lZGlhLWV4cHJlc3Npb25zLCAkY29uZGl0aW9uKSB7XHJcbiAgICAgICRvcGVyYXRvcjogZ2V0LWV4cHJlc3Npb24tb3BlcmF0b3IoJGNvbmRpdGlvbik7XHJcbiAgICAgICRwcmVmaXg6IGdldC1leHByZXNzaW9uLXByZWZpeCgkb3BlcmF0b3IpO1xyXG4gICAgICAkdmFsdWU6IGdldC1leHByZXNzaW9uLXZhbHVlKCRjb25kaXRpb24sICRvcGVyYXRvcik7XHJcblxyXG4gICAgICBAaWYgKCRwcmVmaXggPT0gJ21heCcgYW5kICR2YWx1ZSA8PSAkbm8tbWVkaWEtYnJlYWtwb2ludC12YWx1ZSkgb3JcclxuICAgICAgICAgICgkcHJlZml4ID09ICdtaW4nIGFuZCAkdmFsdWUgPiAkbm8tbWVkaWEtYnJlYWtwb2ludC12YWx1ZSkge1xyXG4gICAgICAgIEByZXR1cm4gZmFsc2U7XHJcbiAgICAgIH1cclxuICAgIH0gQGVsc2UgaWYgbm90IGluZGV4KCRpbS1uby1tZWRpYS1leHByZXNzaW9ucywgJGNvbmRpdGlvbikge1xyXG4gICAgICBAcmV0dXJuIGZhbHNlO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgQHJldHVybiB0cnVlO1xyXG59XHJcblxyXG4vLy8vXHJcbi8vLyBQYXJzaW5nIGVuZ2luZVxyXG4vLy8gQGF1dGhvciBLaXR0eSBHaXJhdWRlbFxyXG4vLy8gQGFjY2VzcyBwcml2YXRlXHJcbi8vLy9cclxuXHJcblxyXG4vLy9cclxuLy8vIEdldCBvcGVyYXRvciBvZiBhbiBleHByZXNzaW9uXHJcbi8vL1xyXG4vLy8gQHBhcmFtIHtTdHJpbmd9ICRleHByZXNzaW9uIC0gRXhwcmVzc2lvbiB0byBleHRyYWN0IG9wZXJhdG9yIGZyb21cclxuLy8vXHJcbi8vLyBAcmV0dXJuIHtTdHJpbmd9IC0gQW55IG9mIGA+PWAsIGA+YCwgYDw9YCwgYDxgLCBg4omlYCwgYOKJpGBcclxuLy8vXHJcbkBmdW5jdGlvbiBnZXQtZXhwcmVzc2lvbi1vcGVyYXRvcigkZXhwcmVzc2lvbikge1xyXG4gIEBlYWNoICRvcGVyYXRvciBpbiAoJz49JywgJz4nLCAnPD0nLCAnPCcsICfiiaUnLCAn4omkJykge1xyXG4gICAgQGlmIHN0ci1pbmRleCgkZXhwcmVzc2lvbiwgJG9wZXJhdG9yKSB7XHJcbiAgICAgIEByZXR1cm4gJG9wZXJhdG9yO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgLy8gSXQgaXMgbm90IHBvc3NpYmxlIHRvIGluY2x1ZGUgYSBtaXhpbiBpbnNpZGUgYSBmdW5jdGlvbiwgc28gd2UgaGF2ZSB0b1xyXG4gIC8vIHJlbHkgb24gdGhlIGBpbS1sb2coLi4pYCBmdW5jdGlvbiByYXRoZXIgdGhhbiB0aGUgYGxvZyguLilgIG1peGluLiBCZWNhdXNlXHJcbiAgLy8gZnVuY3Rpb25zIGNhbm5vdCBiZSBjYWxsZWQgYW55d2hlcmUgaW4gU2Fzcywgd2UgbmVlZCB0byBoYWNrIHRoZSBjYWxsIGluXHJcbiAgLy8gYSBkdW1teSB2YXJpYWJsZSwgc3VjaCBhcyBgJF9gLiBJZiBhbnlib2R5IGV2ZXIgcmFpc2UgYSBzY29waW5nIGlzc3VlIHdpdGhcclxuICAvLyBTYXNzIDMuMywgY2hhbmdlIHRoaXMgbGluZSBpbiBgQGlmIGltLWxvZyguLikge31gIGluc3RlYWQuXHJcbiAgJF86IGltLWxvZygnTm8gb3BlcmF0b3IgZm91bmQgaW4gYCN7JGV4cHJlc3Npb259YC4nKTtcclxufVxyXG5cclxuXHJcbi8vL1xyXG4vLy8gR2V0IGRpbWVuc2lvbiBvZiBhbiBleHByZXNzaW9uLCBiYXNlZCBvbiBhIGZvdW5kIG9wZXJhdG9yXHJcbi8vL1xyXG4vLy8gQHBhcmFtIHtTdHJpbmd9ICRleHByZXNzaW9uIC0gRXhwcmVzc2lvbiB0byBleHRyYWN0IGRpbWVuc2lvbiBmcm9tXHJcbi8vLyBAcGFyYW0ge1N0cmluZ30gJG9wZXJhdG9yIC0gT3BlcmF0b3IgZnJvbSBgJGV4cHJlc3Npb25gXHJcbi8vL1xyXG4vLy8gQHJldHVybiB7U3RyaW5nfSAtIGB3aWR0aGAgb3IgYGhlaWdodGAgKG9yIHBvdGVudGlhbGx5IGFueXRoaW5nIGVsc2UpXHJcbi8vL1xyXG5AZnVuY3Rpb24gZ2V0LWV4cHJlc3Npb24tZGltZW5zaW9uKCRleHByZXNzaW9uLCAkb3BlcmF0b3IpIHtcclxuICAkb3BlcmF0b3ItaW5kZXg6IHN0ci1pbmRleCgkZXhwcmVzc2lvbiwgJG9wZXJhdG9yKTtcclxuICAkcGFyc2VkLWRpbWVuc2lvbjogc3RyLXNsaWNlKCRleHByZXNzaW9uLCAwLCAkb3BlcmF0b3ItaW5kZXggLSAxKTtcclxuICAkZGltZW5zaW9uOiAnd2lkdGgnO1xyXG5cclxuICBAaWYgc3RyLWxlbmd0aCgkcGFyc2VkLWRpbWVuc2lvbikgPiAwIHtcclxuICAgICRkaW1lbnNpb246ICRwYXJzZWQtZGltZW5zaW9uO1xyXG4gIH1cclxuXHJcbiAgQHJldHVybiAkZGltZW5zaW9uO1xyXG59XHJcblxyXG5cclxuLy8vXHJcbi8vLyBHZXQgZGltZW5zaW9uIHByZWZpeCBiYXNlZCBvbiBhbiBvcGVyYXRvclxyXG4vLy9cclxuLy8vIEBwYXJhbSB7U3RyaW5nfSAkb3BlcmF0b3IgLSBPcGVyYXRvclxyXG4vLy9cclxuLy8vIEByZXR1cm4ge1N0cmluZ30gLSBgbWluYCBvciBgbWF4YFxyXG4vLy9cclxuQGZ1bmN0aW9uIGdldC1leHByZXNzaW9uLXByZWZpeCgkb3BlcmF0b3IpIHtcclxuICBAcmV0dXJuIGlmKGluZGV4KCgnPCcsICc8PScsICfiiaQnKSwgJG9wZXJhdG9yKSwgJ21heCcsICdtaW4nKTtcclxufVxyXG5cclxuXHJcbi8vL1xyXG4vLy8gR2V0IHZhbHVlIG9mIGFuIGV4cHJlc3Npb24sIGJhc2VkIG9uIGEgZm91bmQgb3BlcmF0b3JcclxuLy8vXHJcbi8vLyBAcGFyYW0ge1N0cmluZ30gJGV4cHJlc3Npb24gLSBFeHByZXNzaW9uIHRvIGV4dHJhY3QgdmFsdWUgZnJvbVxyXG4vLy8gQHBhcmFtIHtTdHJpbmd9ICRvcGVyYXRvciAtIE9wZXJhdG9yIGZyb20gYCRleHByZXNzaW9uYFxyXG4vLy9cclxuLy8vIEByZXR1cm4ge051bWJlcn0gLSBBIG51bWVyaWMgdmFsdWVcclxuLy8vXHJcbkBmdW5jdGlvbiBnZXQtZXhwcmVzc2lvbi12YWx1ZSgkZXhwcmVzc2lvbiwgJG9wZXJhdG9yKSB7XHJcbiAgJG9wZXJhdG9yLWluZGV4OiBzdHItaW5kZXgoJGV4cHJlc3Npb24sICRvcGVyYXRvcik7XHJcbiAgJHZhbHVlOiBzdHItc2xpY2UoJGV4cHJlc3Npb24sICRvcGVyYXRvci1pbmRleCArIHN0ci1sZW5ndGgoJG9wZXJhdG9yKSk7XHJcblxyXG4gIEBpZiBtYXAtaGFzLWtleSgkYnJlYWtwb2ludHMsICR2YWx1ZSkge1xyXG4gICAgJHZhbHVlOiBtYXAtZ2V0KCRicmVha3BvaW50cywgJHZhbHVlKTtcclxuICB9IEBlbHNlIHtcclxuICAgICR2YWx1ZTogdG8tbnVtYmVyKCR2YWx1ZSk7XHJcbiAgfVxyXG5cclxuICAkaW50ZXJ2YWw6IG1hcC1nZXQoJHVuaXQtaW50ZXJ2YWxzLCB1bml0KCR2YWx1ZSkpO1xyXG5cclxuICBAaWYgbm90ICRpbnRlcnZhbCB7XHJcbiAgICAvLyBJdCBpcyBub3QgcG9zc2libGUgdG8gaW5jbHVkZSBhIG1peGluIGluc2lkZSBhIGZ1bmN0aW9uLCBzbyB3ZSBoYXZlIHRvXHJcbiAgICAvLyByZWx5IG9uIHRoZSBgaW0tbG9nKC4uKWAgZnVuY3Rpb24gcmF0aGVyIHRoYW4gdGhlIGBsb2coLi4pYCBtaXhpbi4gQmVjYXVzZVxyXG4gICAgLy8gZnVuY3Rpb25zIGNhbm5vdCBiZSBjYWxsZWQgYW55d2hlcmUgaW4gU2Fzcywgd2UgbmVlZCB0byBoYWNrIHRoZSBjYWxsIGluXHJcbiAgICAvLyBhIGR1bW15IHZhcmlhYmxlLCBzdWNoIGFzIGAkX2AuIElmIGFueWJvZHkgZXZlciByYWlzZSBhIHNjb3BpbmcgaXNzdWUgd2l0aFxyXG4gICAgLy8gU2FzcyAzLjMsIGNoYW5nZSB0aGlzIGxpbmUgaW4gYEBpZiBpbS1sb2coLi4pIHt9YCBpbnN0ZWFkLlxyXG4gICAgJF86IGltLWxvZygnVW5rbm93biB1bml0IGAje3VuaXQoJHZhbHVlKX1gLicpO1xyXG4gIH1cclxuXHJcbiAgQGlmICRvcGVyYXRvciA9PSAnPicge1xyXG4gICAgJHZhbHVlOiAkdmFsdWUgKyAkaW50ZXJ2YWw7XHJcbiAgfSBAZWxzZSBpZiAkb3BlcmF0b3IgPT0gJzwnIHtcclxuICAgICR2YWx1ZTogJHZhbHVlIC0gJGludGVydmFsO1xyXG4gIH1cclxuXHJcbiAgQHJldHVybiAkdmFsdWU7XHJcbn1cclxuXHJcblxyXG4vLy9cclxuLy8vIFBhcnNlIGFuIGV4cHJlc3Npb24gdG8gcmV0dXJuIGEgdmFsaWQgbWVkaWEtcXVlcnkgZXhwcmVzc2lvblxyXG4vLy9cclxuLy8vIEBwYXJhbSB7U3RyaW5nfSAkZXhwcmVzc2lvbiAtIEV4cHJlc3Npb24gdG8gcGFyc2VcclxuLy8vXHJcbi8vLyBAcmV0dXJuIHtTdHJpbmd9IC0gVmFsaWQgbWVkaWEgcXVlcnlcclxuLy8vXHJcbkBmdW5jdGlvbiBwYXJzZS1leHByZXNzaW9uKCRleHByZXNzaW9uKSB7XHJcbiAgLy8gSWYgaXQgaXMgcGFydCBvZiAkbWVkaWEtZXhwcmVzc2lvbnMsIGl0IGhhcyBubyBvcGVyYXRvclxyXG4gIC8vIHRoZW4gdGhlcmUgaXMgbm8gbmVlZCB0byBnbyBhbnkgZnVydGhlciwganVzdCByZXR1cm4gdGhlIHZhbHVlXHJcbiAgQGlmIG1hcC1oYXMta2V5KCRtZWRpYS1leHByZXNzaW9ucywgJGV4cHJlc3Npb24pIHtcclxuICAgIEByZXR1cm4gbWFwLWdldCgkbWVkaWEtZXhwcmVzc2lvbnMsICRleHByZXNzaW9uKTtcclxuICB9XHJcblxyXG4gICRvcGVyYXRvcjogZ2V0LWV4cHJlc3Npb24tb3BlcmF0b3IoJGV4cHJlc3Npb24pO1xyXG4gICRkaW1lbnNpb246IGdldC1leHByZXNzaW9uLWRpbWVuc2lvbigkZXhwcmVzc2lvbiwgJG9wZXJhdG9yKTtcclxuICAkcHJlZml4OiBnZXQtZXhwcmVzc2lvbi1wcmVmaXgoJG9wZXJhdG9yKTtcclxuICAkdmFsdWU6IGdldC1leHByZXNzaW9uLXZhbHVlKCRleHByZXNzaW9uLCAkb3BlcmF0b3IpO1xyXG5cclxuICBAcmV0dXJuICcoI3skcHJlZml4fS0jeyRkaW1lbnNpb259OiAjeyR2YWx1ZX0pJztcclxufVxyXG5cclxuLy8vXHJcbi8vLyBTbGljZSBgJGxpc3RgIGJldHdlZW4gYCRzdGFydGAgYW5kIGAkZW5kYCBpbmRleGVzXHJcbi8vL1xyXG4vLy8gQGFjY2VzcyBwcml2YXRlXHJcbi8vL1xyXG4vLy8gQHBhcmFtIHtMaXN0fSAkbGlzdCAtIExpc3QgdG8gc2xpY2VcclxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkc3RhcnQgWzFdIC0gU3RhcnQgaW5kZXhcclxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkZW5kIFtsZW5ndGgoJGxpc3QpXSAtIEVuZCBpbmRleFxyXG4vLy9cclxuLy8vIEByZXR1cm4ge0xpc3R9IFNsaWNlZCBsaXN0XHJcbi8vL1xyXG5AZnVuY3Rpb24gc2xpY2UoJGxpc3QsICRzdGFydDogMSwgJGVuZDogbGVuZ3RoKCRsaXN0KSkge1xyXG4gIEBpZiBsZW5ndGgoJGxpc3QpIDwgMSBvciAkc3RhcnQgPiAkZW5kIHtcclxuICAgIEByZXR1cm4gKCk7XHJcbiAgfVxyXG5cclxuICAkcmVzdWx0OiAoKTtcclxuXHJcbiAgQGZvciAkaSBmcm9tICRzdGFydCB0aHJvdWdoICRlbmQge1xyXG4gICAgJHJlc3VsdDogYXBwZW5kKCRyZXN1bHQsIG50aCgkbGlzdCwgJGkpKTtcclxuICB9XHJcblxyXG4gIEByZXR1cm4gJHJlc3VsdDtcclxufVxyXG5cclxuLy8vL1xyXG4vLy8gU3RyaW5nIHRvIG51bWJlciBjb252ZXJ0ZXJcclxuLy8vIEBhdXRob3IgS2l0dHkgR2lyYXVkZWxcclxuLy8vIEBhY2Nlc3MgcHJpdmF0ZVxyXG4vLy8vXHJcblxyXG5cclxuLy8vXHJcbi8vLyBDYXN0cyBhIHN0cmluZyBpbnRvIGEgbnVtYmVyXHJcbi8vL1xyXG4vLy8gQHBhcmFtIHtTdHJpbmcgfCBOdW1iZXJ9ICR2YWx1ZSAtIFZhbHVlIHRvIGJlIHBhcnNlZFxyXG4vLy9cclxuLy8vIEByZXR1cm4ge051bWJlcn1cclxuLy8vXHJcbkBmdW5jdGlvbiB0by1udW1iZXIoJHZhbHVlKSB7XHJcbiAgQGlmIHR5cGUtb2YoJHZhbHVlKSA9PSAnbnVtYmVyJyB7XHJcbiAgICBAcmV0dXJuICR2YWx1ZTtcclxuICB9IEBlbHNlIGlmIHR5cGUtb2YoJHZhbHVlKSAhPSAnc3RyaW5nJyB7XHJcbiAgICAkXzogaW0tbG9nKCdWYWx1ZSBmb3IgYHRvLW51bWJlcmAgc2hvdWxkIGJlIGEgbnVtYmVyIG9yIGEgc3RyaW5nLicpO1xyXG4gIH1cclxuXHJcbiAgJGZpcnN0LWNoYXJhY3Rlcjogc3RyLXNsaWNlKCR2YWx1ZSwgMSwgMSk7XHJcbiAgJHJlc3VsdDogMDtcclxuICAkZGlnaXRzOiAwO1xyXG4gICRtaW51czogKCRmaXJzdC1jaGFyYWN0ZXIgPT0gJy0nKTtcclxuICAkbnVtYmVyczogKCcwJzogMCwgJzEnOiAxLCAnMic6IDIsICczJzogMywgJzQnOiA0LCAnNSc6IDUsICc2JzogNiwgJzcnOiA3LCAnOCc6IDgsICc5JzogOSk7XHJcblxyXG4gIC8vIFJlbW92ZSArLy0gc2lnbiBpZiBwcmVzZW50IGF0IGZpcnN0IGNoYXJhY3RlclxyXG4gIEBpZiAoJGZpcnN0LWNoYXJhY3RlciA9PSAnKycgb3IgJGZpcnN0LWNoYXJhY3RlciA9PSAnLScpIHtcclxuICAgICR2YWx1ZTogc3RyLXNsaWNlKCR2YWx1ZSwgMik7XHJcbiAgfVxyXG5cclxuICBAZm9yICRpIGZyb20gMSB0aHJvdWdoIHN0ci1sZW5ndGgoJHZhbHVlKSB7XHJcbiAgICAkY2hhcmFjdGVyOiBzdHItc2xpY2UoJHZhbHVlLCAkaSwgJGkpO1xyXG5cclxuICAgIEBpZiBub3QgKGluZGV4KG1hcC1rZXlzKCRudW1iZXJzKSwgJGNoYXJhY3Rlcikgb3IgJGNoYXJhY3RlciA9PSAnLicpIHtcclxuICAgICAgQHJldHVybiB0by1sZW5ndGgoaWYoJG1pbnVzLCAtJHJlc3VsdCwgJHJlc3VsdCksIHN0ci1zbGljZSgkdmFsdWUsICRpKSlcclxuICAgIH1cclxuXHJcbiAgICBAaWYgJGNoYXJhY3RlciA9PSAnLicge1xyXG4gICAgICAkZGlnaXRzOiAxO1xyXG4gICAgfSBAZWxzZSBpZiAkZGlnaXRzID09IDAge1xyXG4gICAgICAkcmVzdWx0OiAkcmVzdWx0ICogMTAgKyBtYXAtZ2V0KCRudW1iZXJzLCAkY2hhcmFjdGVyKTtcclxuICAgIH0gQGVsc2Uge1xyXG4gICAgICAkZGlnaXRzOiAkZGlnaXRzICogMTA7XHJcbiAgICAgICRyZXN1bHQ6ICRyZXN1bHQgKyBtYXAtZ2V0KCRudW1iZXJzLCAkY2hhcmFjdGVyKSAvICRkaWdpdHM7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBAcmV0dXJuIGlmKCRtaW51cywgLSRyZXN1bHQsICRyZXN1bHQpO1xyXG59XHJcblxyXG5cclxuLy8vXHJcbi8vLyBBZGQgYCR1bml0YCB0byBgJHZhbHVlYFxyXG4vLy9cclxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkdmFsdWUgLSBWYWx1ZSB0byBhZGQgdW5pdCB0b1xyXG4vLy8gQHBhcmFtIHtTdHJpbmd9ICR1bml0IC0gU3RyaW5nIHJlcHJlc2VudGF0aW9uIG9mIHRoZSB1bml0XHJcbi8vL1xyXG4vLy8gQHJldHVybiB7TnVtYmVyfSAtIGAkdmFsdWVgIGV4cHJlc3NlZCBpbiBgJHVuaXRgXHJcbi8vL1xyXG5AZnVuY3Rpb24gdG8tbGVuZ3RoKCR2YWx1ZSwgJHVuaXQpIHtcclxuICAkdW5pdHM6ICgncHgnOiAxcHgsICdjbSc6IDFjbSwgJ21tJzogMW1tLCAnJSc6IDElLCAnY2gnOiAxY2gsICdwYyc6IDFwYywgJ2luJzogMWluLCAnZW0nOiAxZW0sICdyZW0nOiAxcmVtLCAncHQnOiAxcHQsICdleCc6IDFleCwgJ3Z3JzogMXZ3LCAndmgnOiAxdmgsICd2bWluJzogMXZtaW4sICd2bWF4JzogMXZtYXgpO1xyXG5cclxuICBAaWYgbm90IGluZGV4KG1hcC1rZXlzKCR1bml0cyksICR1bml0KSB7XHJcbiAgICAkXzogaW0tbG9nKCdJbnZhbGlkIHVuaXQgYCN7JHVuaXR9YC4nKTtcclxuICB9XHJcblxyXG4gIEByZXR1cm4gJHZhbHVlICogbWFwLWdldCgkdW5pdHMsICR1bml0KTtcclxufVxyXG5cclxuLy8vXHJcbi8vLyBUaGlzIG1peGluIGFpbXMgYXQgcmVkZWZpbmluZyB0aGUgY29uZmlndXJhdGlvbiBqdXN0IGZvciB0aGUgc2NvcGUgb2ZcclxuLy8vIHRoZSBjYWxsLiBJdCBpcyBoZWxwZnVsIHdoZW4gaGF2aW5nIGEgY29tcG9uZW50IG5lZWRpbmcgYW4gZXh0ZW5kZWRcclxuLy8vIGNvbmZpZ3VyYXRpb24gc3VjaCBhcyBjdXN0b20gYnJlYWtwb2ludHMgKHJlZmVycmVkIHRvIGFzIHR3ZWFrcG9pbnRzKVxyXG4vLy8gZm9yIGluc3RhbmNlLlxyXG4vLy9cclxuLy8vIEBhdXRob3IgS2l0dHkgR2lyYXVkZWxcclxuLy8vXHJcbi8vLyBAcGFyYW0ge01hcH0gJHR3ZWFrcG9pbnRzIFsoKV0gLSBNYXAgb2YgdHdlYWtwb2ludHMgdG8gYmUgbWVyZ2VkIHdpdGggYCRicmVha3BvaW50c2BcclxuLy8vIEBwYXJhbSB7TWFwfSAkdHdlYWstbWVkaWEtZXhwcmVzc2lvbnMgWygpXSAtIE1hcCBvZiB0d2Vha2VkIG1lZGlhIGV4cHJlc3Npb25zIHRvIGJlIG1lcmdlZCB3aXRoIGAkbWVkaWEtZXhwcmVzc2lvbmBcclxuLy8vXHJcbi8vLyBAZXhhbXBsZSBzY3NzIC0gRXh0ZW5kIHRoZSBnbG9iYWwgYnJlYWtwb2ludHMgd2l0aCBhIHR3ZWFrcG9pbnRcclxuLy8vICBAaW5jbHVkZSBtZWRpYS1jb250ZXh0KCgnY3VzdG9tJzogNjc4cHgpKSB7XHJcbi8vLyAgICAuZm9vIHtcclxuLy8vICAgICAgQGluY2x1ZGUgbWVkaWEoJz5waG9uZScsICc8PWN1c3RvbScpIHtcclxuLy8vICAgICAgIC8vIC4uLlxyXG4vLy8gICAgICB9XHJcbi8vLyAgICB9XHJcbi8vLyAgfVxyXG4vLy9cclxuLy8vIEBleGFtcGxlIHNjc3MgLSBFeHRlbmQgdGhlIGdsb2JhbCBtZWRpYSBleHByZXNzaW9ucyB3aXRoIGEgY3VzdG9tIG9uZVxyXG4vLy8gIEBpbmNsdWRlIG1lZGlhLWNvbnRleHQoJHR3ZWFrLW1lZGlhLWV4cHJlc3Npb25zOiAoJ2FsbCc6ICdhbGwnKSkge1xyXG4vLy8gICAgLmZvbyB7XHJcbi8vLyAgICAgIEBpbmNsdWRlIG1lZGlhKCdhbGwnLCAnPnBob25lJykge1xyXG4vLy8gICAgICAgLy8gLi4uXHJcbi8vLyAgICAgIH1cclxuLy8vICAgIH1cclxuLy8vICB9XHJcbi8vL1xyXG4vLy8gQGV4YW1wbGUgc2NzcyAtIEV4dGVuZCBib3RoIGNvbmZpZ3VyYXRpb24gbWFwc1xyXG4vLy8gIEBpbmNsdWRlIG1lZGlhLWNvbnRleHQoKCdjdXN0b20nOiA2NzhweCksICgnYWxsJzogJ2FsbCcpKSB7XHJcbi8vLyAgICAuZm9vIHtcclxuLy8vICAgICAgQGluY2x1ZGUgbWVkaWEoJ2FsbCcsICc+cGhvbmUnLCAnPD1jdXN0b20nKSB7XHJcbi8vLyAgICAgICAvLyAuLi5cclxuLy8vICAgICAgfVxyXG4vLy8gICAgfVxyXG4vLy8gIH1cclxuLy8vXHJcbkBtaXhpbiBtZWRpYS1jb250ZXh0KCR0d2Vha3BvaW50czogKCksICR0d2Vhay1tZWRpYS1leHByZXNzaW9uczogKCkpIHtcclxuICAvLyBTYXZlIGdsb2JhbCBjb25maWd1cmF0aW9uXHJcbiAgJGdsb2JhbC1icmVha3BvaW50czogJGJyZWFrcG9pbnRzO1xyXG4gICRnbG9iYWwtbWVkaWEtZXhwcmVzc2lvbnM6ICRtZWRpYS1leHByZXNzaW9ucztcclxuXHJcbiAgLy8gVXBkYXRlIGdsb2JhbCBjb25maWd1cmF0aW9uXHJcbiAgJGJyZWFrcG9pbnRzOiBtYXAtbWVyZ2UoJGJyZWFrcG9pbnRzLCAkdHdlYWtwb2ludHMpICFnbG9iYWw7XHJcbiAgJG1lZGlhLWV4cHJlc3Npb25zOiBtYXAtbWVyZ2UoJG1lZGlhLWV4cHJlc3Npb25zLCAkdHdlYWstbWVkaWEtZXhwcmVzc2lvbnMpICFnbG9iYWw7XHJcblxyXG4gIEBjb250ZW50O1xyXG5cclxuICAvLyBSZXN0b3JlIGdsb2JhbCBjb25maWd1cmF0aW9uXHJcbiAgJGJyZWFrcG9pbnRzOiAkZ2xvYmFsLWJyZWFrcG9pbnRzICFnbG9iYWw7XHJcbiAgJG1lZGlhLWV4cHJlc3Npb25zOiAkZ2xvYmFsLW1lZGlhLWV4cHJlc3Npb25zICFnbG9iYWw7XHJcbn1cclxuXHJcbi8vLy9cclxuLy8vIGluY2x1ZGUtbWVkaWEgcHVibGljIGV4cG9zZWQgQVBJXHJcbi8vLyBAYXV0aG9yIEVkdWFyZG8gQm91Y2FzXHJcbi8vLyBAYWNjZXNzIHB1YmxpY1xyXG4vLy8vXHJcblxyXG5cclxuLy8vXHJcbi8vLyBHZW5lcmF0ZXMgYSBtZWRpYSBxdWVyeSBiYXNlZCBvbiBhIGxpc3Qgb2YgY29uZGl0aW9uc1xyXG4vLy9cclxuLy8vIEBwYXJhbSB7QXJnbGlzdH0gICAkY29uZGl0aW9ucyAgLSBNZWRpYSBxdWVyeSBjb25kaXRpb25zXHJcbi8vL1xyXG4vLy8gQGV4YW1wbGUgc2NzcyAtIFdpdGggYSBzaW5nbGUgc2V0IGJyZWFrcG9pbnRcclxuLy8vICBAaW5jbHVkZSBtZWRpYSgnPnBob25lJykgeyB9XHJcbi8vL1xyXG4vLy8gQGV4YW1wbGUgc2NzcyAtIFdpdGggdHdvIHNldCBicmVha3BvaW50c1xyXG4vLy8gIEBpbmNsdWRlIG1lZGlhKCc+cGhvbmUnLCAnPD10YWJsZXQnKSB7IH1cclxuLy8vXHJcbi8vLyBAZXhhbXBsZSBzY3NzIC0gV2l0aCBjdXN0b20gdmFsdWVzXHJcbi8vLyAgQGluY2x1ZGUgbWVkaWEoJz49MzU4cHgnLCAnPDg1MHB4JykgeyB9XHJcbi8vL1xyXG4vLy8gQGV4YW1wbGUgc2NzcyAtIFdpdGggc2V0IGJyZWFrcG9pbnRzIHdpdGggY3VzdG9tIHZhbHVlc1xyXG4vLy8gIEBpbmNsdWRlIG1lZGlhKCc+ZGVza3RvcCcsICc8PTEzNTBweCcpIHsgfVxyXG4vLy9cclxuLy8vIEBleGFtcGxlIHNjc3MgLSBXaXRoIGEgc3RhdGljIGV4cHJlc3Npb25cclxuLy8vICBAaW5jbHVkZSBtZWRpYSgncmV0aW5hMngnKSB7IH1cclxuLy8vXHJcbi8vLyBAZXhhbXBsZSBzY3NzIC0gTWl4aW5nIGV2ZXJ5dGhpbmdcclxuLy8vICBAaW5jbHVkZSBtZWRpYSgnPj0zNTBweCcsICc8dGFibGV0JywgJ3JldGluYTN4JykgeyB9XHJcbi8vL1xyXG5AbWl4aW4gbWVkaWEoJGNvbmRpdGlvbnMuLi4pIHtcclxuICBAaWYgKCRpbS1tZWRpYS1zdXBwb3J0IGFuZCBsZW5ndGgoJGNvbmRpdGlvbnMpID09IDApIG9yXHJcbiAgICAgIChub3QgJGltLW1lZGlhLXN1cHBvcnQgYW5kIGltLWludGVyY2VwdHMtc3RhdGljLWJyZWFrcG9pbnQoJGNvbmRpdGlvbnMuLi4pKSB7XHJcbiAgICBAY29udGVudDtcclxuICB9IEBlbHNlIGlmICgkaW0tbWVkaWEtc3VwcG9ydCBhbmQgbGVuZ3RoKCRjb25kaXRpb25zKSA+IDApIHtcclxuICAgIEBtZWRpYSAje3VucXVvdGUocGFyc2UtZXhwcmVzc2lvbihudGgoJGNvbmRpdGlvbnMsIDEpKSl9IHtcclxuICAgICAgLy8gUmVjdXJzaXZlIGNhbGxcclxuICAgICAgQGluY2x1ZGUgbWVkaWEoc2xpY2UoJGNvbmRpdGlvbnMsIDIpLi4uKSB7XHJcbiAgICAgICAgQGNvbnRlbnQ7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcbn1cclxuIiwiLyoqXG4gICogRUxFTUVOVCBTVFlMRVNcbiAgKlxuICAqIFN0eWxlIGRlZmluaXRpb25zIGZvciBnbG9iYWwgZWxlbWVudCBzZWxlY3RvcnMuXG4gICovXG5cblxuKiB7XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7IC8vIGNvbnNpc3RlbnQgYm94LXNpemluZyBmb3IgYWxsIGVsZW1lbnRzXG59XG5cbmh0bWwge1xuICBoZWlnaHQ6IDEwMCU7IC8vIGZvciBzdGlja3kgZm9vdGVyXG4gIGZvbnQtc2l6ZTogMTAwJTsgLy8gc2V0IHJvb3QgZm9udC1zaXplIGZvciByZW0gdW5pdHMgKDEwMCUgZXF1YXRlcyB0byAxNnB4KVxuICBsaW5lLWhlaWdodDogMS43OyAvLyBzZXQgZGVmYXVsdCBsaW5lIGhlaWdodFxufVxuXG5ib2R5IHtcbiAgbWluLWhlaWdodDogMTAwJTsgLy8gZm9yIHN0aWNreSBmb290ZXJcbiAgZGlzcGxheTogZ3JpZDsgLy8gZm9yIHN0aWNreSBmb290ZXJcbiAgZ3JpZC10ZW1wbGF0ZS1yb3dzOiBhdXRvIDFmciBhdXRvOyAvL2F1dG8gYXV0byBhdXRvOyAvLyBmb3Igc3RpY2t5IGZvb3RlclxuICBtYXJnaW46IDA7IC8vIG1ha2Ugc3VyZSBib2R5IGVsZW1lbnQgaXMgZWRnZS10by1lZGdlXG4gIGJhY2tncm91bmQtY29sb3I6ICRib2R5Q29sb3I7XG4gIGNvbG9yOiAkZm9udENvbG9yO1xuICAvL2ZvbnQtZmFtaWx5OiAnTW9udHNlcnJhdCcsIHNhbnMtc2VyaWY7XG4gIGZvbnQtZmFtaWx5OiBpdGMtYW1lcmljYW4tdHlwZXdyaXRlciwgc2VyaWY7XG4gIGZvbnQtd2VpZ2h0OiA0MDA7XG4gIGZvbnQtc3R5bGU6IG5vcm1hbDtcbn1cblxuaDEsIGgyLCBoMywgaDQsIGg1LCBoNiB7XG4gIGZvbnQtZmFtaWx5OiBxdWVzdGEtZ3JhbmRlLCBzZXJpZjtcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG59XG5cbmgxIHtcbiAgbWFyZ2luLXRvcDogMDtcbiAgbWFyZ2luLWJvdHRvbTogMS40cmVtO1xuICBmb250LXNpemU6IDIuMnJlbTtcbn1cblxuaDIge1xuXG4gIG1hcmdpbi10b3A6IDA7XG4gIG1hcmdpbi1ib3R0b206IDEuM3JlbTtcbiAgZm9udC1zaXplOiAxLjhyZW07XG4gIGZvbnQtd2VpZ2h0OiA2MDA7XG4gIC8vdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgLy9mb250LXNpemU6IDIuNXJlbTtcbiAgbGluZS1oZWlnaHQ6IDEuMTU5MDllbTtcbn1cblxuaDMge1xuXG4gIG1hcmdpbi10b3A6IDA7XG4gIG1hcmdpbi1ib3R0b206IDFyZW07XG4gIC8vbWFyZ2luLWJvdHRvbTogMDtcbiAgLy90ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAvL2ZvbnQtc2l6ZTogMi4ycmVtO1xuICBsaW5lLWhlaWdodDogMS4xNTkwOWVtO1xuICBmb250LXNpemU6IDEuNnJlbTtcbn1cblxuaDQge1xuICBtYXJnaW4tdG9wOiAwO1xuICBmb250LXNpemU6IDEuNHJlbTtcbiAgbWFyZ2luLWJvdHRvbTogMXJlbTtcbiAgbGluZS1oZWlnaHQ6IDEuMjtcbn1cblxuaDUge1xuICBtYXJnaW4tdG9wOiAwO1xuICBmb250LXNpemU6IDEuM3JlbTtcbiAgbWFyZ2luLWJvdHRvbTogMXJlbTtcbn1cblxuaDYge1xuICBtYXJnaW4tdG9wOiAwO1xuICBmb250LXNpemU6IDEuMnJlbTtcbiAgbWFyZ2luLWJvdHRvbTogMXJlbTtcbn1cblxucCB7XG4gIG1hcmdpbjogMDtcbiAgcGFkZGluZy1ib3R0b206IDA7XG4gIC8vZm9udC1zaXplOiAxLjFyZW07XG4gIC8vZm9udC13ZWlnaHQ6IDQwMDtcbiAgbGluZS1oZWlnaHQ6IDEuNTtcbn1cblxuYSB7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgY29sb3I6ICRsaW5rQ29sb3I7XG5cbiAgJjpsaW5rIHtcblxuICB9XG5cbiAgJjpob3ZlciB7XG5cbiAgfVxuXG4gICY6YWN0aXZlIHtcblxuICB9XG5cbiAgJjp2aXNpdGVkIHtcblxuICB9XG59XG5cbjpmb2N1cyB7XG4gIC8vb3V0bGluZTogM3B4IHNvbGlkIG9yYW5nZTtcbn1cblxudWwsIG9sIHtcbiAgbWFyZ2luOiAwO1xuICBwYWRkaW5nOiAwO1xuICBsaXN0LXN0eWxlLXBvc2l0aW9uOiBpbnNpZGU7XG59XG5cbmltZyB7XG5cbn1cblxuLyogYmVnaW4gYnV0dG9uIHN0eWxlcyAqL1xuYnV0dG9uIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBib3JkZXI6IG5vbmU7XG4gIC8vcGFkZGluZzogMXJlbSAycmVtO1xuICBwYWRkaW5nOiAwO1xuICBtYXJnaW46IDA7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgYmFja2dyb3VuZDogbm9uZTtcbiAgLy9iYWNrZ3JvdW5kOiAjMDA2OWVkO1xuICAvL2NvbG9yOiAjZmZmZmZmO1xuICAvL2ZvbnQtZmFtaWx5OiBzYW5zLXNlcmlmO1xuICAvL2ZvbnQtc2l6ZTogMXJlbTtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICAvL3RleHQtYWxpZ246IGNlbnRlcjtcbiAgLy90cmFuc2l0aW9uOiBiYWNrZ3JvdW5kIDI1MG1zIGVhc2UtaW4tb3V0LFxuICAvLyAgICAgICAgICAgIHRyYW5zZm9ybSAxNTBtcyBlYXNlO1xuICAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7XG4gIC1tb3otYXBwZWFyYW5jZTogbm9uZTtcbn1cblxuYnV0dG9uOmhvdmVyLFxuYnV0dG9uOmZvY3VzIHtcbiAgICAvL2JhY2tncm91bmQ6ICMwMDUzYmE7XG59XG5cbmJ1dHRvbjpmb2N1cyB7XG4gICAgLy9vdXRsaW5lOiAxcHggc29saWQgI2ZmZjtcbiAgICAvL291dGxpbmUtb2Zmc2V0OiAtNHB4O1xufVxuXG5idXR0b246YWN0aXZlIHtcbiAgICAvL3RyYW5zZm9ybTogc2NhbGUoMC45OSk7XG59XG4vKiBlbmQgYnV0dG9uIHN0eWxlcyAqL1xuIiwiLyoqXG4gICogSEVBREVSIFNUWUxFU1xuICAqL1xuXG4uaGVhZGVyLXdyYXAgeyAvLyBFZGdlLXRvLWVkZ2Ugd3JhcCBmb3IgZXZlcnl0aGluZyBpbiB0aGUgaGVhZGVyLiAxc3QgaXRlbSBpbiBib2R5IGVsZW1lbnQgZ3JpZC5cbi8vICBAaW5jbHVkZSB3cmFwO1xuICBoZWlnaHQ6IGF1dG87IC8vMTAwdmg7XG4gIGdyaWQtcm93LXN0YXJ0OiAxOyAvLyAoZm9yIHN0aWNreSBmb290ZXIpXG4gIGdyaWQtcm93LWVuZDogMjsgLy8gMiBmb3Igc3RpY2t5IGZvb3RlclxuICAvLy9wb3NpdGlvbjogc3RpY2t5O1xuLy8gIHRvcDogMDtcbiAgei1pbmRleDogMDtcbi8vICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDIwMG1zLCBib3JkZXIgMjAwbXMsIGJveC1zaGFkb3cgMjAwbXM7XG5cbi8vICBiYWNrZ3JvdW5kLWNvbG9yOiAkYnJhbmRDb2xvclByaW1hcnk7XG4gIGJhY2tncm91bmQtY29sb3I6ICRjcmVhbTtcbiAgLy9AaW5jbHVkZSBib29rLWdyYWRpZW50O1xuXG4gICYuYmctdmlzaWJsZSB7XG4gICAgei1pbmRleDogOTk5OTsgLy8gcG9zaXRpb24gaW4gZnJvbnQgb2YgZXZlcnl0aGluZyBlbHNlXG4vLyAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYnJhbmRDb2xvclByaW1hcnk7XG4gIH1cblxuICBAaW5jbHVkZSBtZWRpYShcIj49dGFibGV0XCIpIHtcbiAgICBAaW5jbHVkZSBib29rLWdyYWRpZW50O1xuICAgIC8vYmFja2dyb3VuZC1jb2xvcjogdW5zZXQ7XG5cbiAgICAmLmJnLXZpc2libGUge1xuICAgICAgei1pbmRleDogMDtcbiAgLy8gICAgYmFja2dyb3VuZC1jb2xvcjogJGJyYW5kQ29sb3JQcmltYXJ5O1xuICAgIH1cbiAgfVxufVxuICAuaGVhZGVyLW92ZXJsYXkgeyAvLyBUcmFuc2x1Y2VudCwgXCJkaW1tZXJcIiBsYXllciBvdmVyIGhlYWRlciBiYWNrZ3JvdW5kLWltYWdlLlxuICAgIHdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogMTAwJTtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAwO1xuICAgIGxlZnQ6IDA7XG4gICAgei1pbmRleDogMjtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYmx1ZTsgLy9iYWNrZ3JvdW5kLWltYWdlOiBsaW5lYXItZ3JhZGllbnQoZGFya2VuKCR0cmFuc0dyYXksIDQwJSksIGRhcmtlbigkdHJhbnNHcmF5LCAyMCUpKTtcbiAgICBvcGFjaXR5OiAwLjc7XG5cbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG5cbiAgLnRvcC1iYXItYmcgeyAvLyBFZGdlLXRvLWVkZ2UgYmFja2dyb3VuZCBsYXllciBmb3IgdGhlIHRvcC1uYXYgYmFyLlxuICAgIHdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogJHRvcEJhckhlaWdodDtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAwO1xuICAgIGxlZnQ6IDA7XG4gICAgei1pbmRleDogNjtcbiAgICBkaXNwbGF5OiBub25lO1xuICAgIC8vYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICRtZWRpdW1HcmF5O1xuICAgIC8vYmFja2dyb3VuZC1jb2xvcjogJHRyYW5zR3JheTsgLy8kYmx1ZTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB1bnNldDtcbiAgICAvL2JhY2tncm91bmQtY29sb3I6ICRibGFjaztcbiAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDIwMG1zO1xuXG4gICAgJi5iZy12aXNpYmxlIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICR3aGl0ZTtcbiAgICB9XG5cbiAgICBAaW5jbHVkZSBtZWRpYShcIj49dGFibGV0XCIpIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgLy8gL2JveC1zaGFkb3c6IDBweCAycHggMnB4ICRibGFjaztcbiAgICB9XG4gIH1cblxuICAuaGVhZGVyIHsgLy8gV2lkdGgtbGltaXRlZCBjb250YWluZXIgZm9yIHRoZSBoZWFkZXIuIFRoaXMgaXMgdGhlIDxoZWFkZXI+IGVsZW1lbnQgaXRzZWxmLlxuICAgIEBpbmNsdWRlIGlubmVyLXdyYXA7XG4gICAgaGVpZ2h0OiAkaGVhZGVySGVpZ2h0TW9iaWxlO1xuICAgIHBhZGRpbmctdG9wOiAwO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBkaXNwbGF5OiBncmlkO1xuICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogMWZyOyAvLzFmciAxMDBweDtcbiAgICBncmlkLXRlbXBsYXRlLXJvd3M6ICRoZWFkZXJIZWlnaHRNb2JpbGUgYXV0bztcbiAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDIwMG1zO1xuXG4gICAgJi5iZy12aXNpYmxlIHtcbiAgICAgIC8vYmFja2dyb3VuZC1jb2xvcjogJGJyYW5kQ29sb3JQcmltYXJ5O1xuICAgIH1cblxuICAgIEBpbmNsdWRlIG1lZGlhKFwiPj10YWJsZXRcIikge1xuICAgICAgLy9oZWlnaHQ6IGNhbGMoJGhlYWRlckhlaWdodERlc2t0b3AgKyAkdG9wQmFySGVpZ2h0KTtcbiAgICAgIC8vaGVpZ2h0OiAxMDB2aDtcbiAgICAgIGhlaWdodDogYXV0bztcbiAgICAgIC8vcGFkZGluZy10b3A6ICR0b3BCYXJIZWlnaHQ7XG4gICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDFmcjsgLy8xZnIgMTAwcHg7XG4gICAgICBncmlkLXRlbXBsYXRlLXJvd3M6IGF1dG8gYXV0bzsvLzEyMHB4IDcwcHg7XG5cbiAgICB9XG4gIH1cbiAgICAuaGVhZGVyLWJyYW5kIHtcbiAgICAgIEBpbmNsdWRlIHBhZC1sZWZ0O1xuICAgICAgbWFyZ2luLXRvcDogMDtcbiAgICAgIG1hcmdpbi1yaWdodDogMDtcbiAgICAgIG1hcmdpbi1sZWZ0OiAwO1xuICAgICAgLy9wYWRkaW5nLXJpZ2h0OiAwOyAvLyBuZWdhdGUgcmlnaHQgcGFkZGluZyBmcm9tICdjb250YWluZXInIG1peGluIF5eXlxuICAgICAgaGVpZ2h0OiAkaGVhZGVySGVpZ2h0TW9iaWxlO1xuICAgICAgZ3JpZC1jb2x1bW46IDEgLyBzcGFuIDE7XG4gICAgICBncmlkLXJvdzogMSAvIHNwYW4gMTtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgIHotaW5kZXg6IDU7XG5cbiAgICAgIEBpbmNsdWRlIG1lZGlhKFwiPj10YWJsZXRcIikge1xuICAgICAgICBAaW5jbHVkZSBtYXItaG9yaXpvbnRhbDtcbiAgICAgICAgLy9wYWRkaW5nLXJpZ2h0OiAwO1xuICAgICAgICAvL3BhZGRpbmctbGVmdDogMDtcbiAgICAgICAgaGVpZ2h0OiAkaGVhZGVySGVpZ2h0RGVza3RvcDsgLy9jYWxjKCRoZWFkZXJIZWlnaHREZXNrdG9wIC0gJHRvcEJhckhlaWdodCk7XG4gICAgICAgIGhlaWdodDogYXV0bztcbiAgICAgICAgbWFyZ2luLXRvcDogJHRvcEJhckhlaWdodDtcbiAgICAgICAgd2lkdGg6IDUwJTtcbiAgICAgICAgLy9ib3JkZXItYm90dG9tOiAzcHggc29saWQgJGJsYWNrO1xuICAgICAgICAvL2xlZnQ6IDYwcHg7XG4gICAgICB9XG5cbiAgICAgIEBpbmNsdWRlIG1lZGlhKFwiPj1kZXNrdG9wXCIpIHtcbiAgICAgICAgLy9tYXJnaW4tdG9wOiAwO1xuICAgICAgfVxuXG4gICAgICBAaW5jbHVkZSBtZWRpYShcIj49ZGVza3RvcC1sYXJnZVwiKSB7XG4gICAgICAgIC8vaGVpZ2h0OiAkaGVhZGVySGVpZ2h0RGVza3RvcDtcbiAgICAgICAgLy9ncmlkLWNvbHVtbjogMSAvIHNwYW4gMTtcbiAgICAgICAgLy9ncmlkLXJvdzogMSAvIHNwYW4gMjtcbiAgICAgICAgLy9tYXgtd2lkdGg6IDEwMCU7XG5cbiAgICAgIH1cblxuICAgICAgYSB7XG4gICAgICAgIG1heC13aWR0aDogNDIwcHg7XG4gICAgICAgIGhlaWdodDogJGhlYWRlckhlaWdodE1vYmlsZTtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgICAgICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICAgICAgY29sb3I6ICMwMDA7XG4gICAgICAgIHBhZGRpbmctbGVmdDogNjBweDtcbiAgICAgICAgYm9yZGVyLWJvdHRvbTogdW5zZXQ7XG5cbiAgICAgICAgQGluY2x1ZGUgbWVkaWEoXCI+PXRhYmxldFwiKSB7XG4gICAgICAgICAgLy9oZWlnaHQ6IGNhbGMoJGhlYWRlckhlaWdodERlc2t0b3AgLSAkdG9wQmFySGVpZ2h0KTtcbiAgICAgICAgICBoZWlnaHQ6ICRoZWFkZXJIZWlnaHREZXNrdG9wO1xuICAgICAgICAgIGhlaWdodDogYXV0bztcbiAgICAgICAgICBwYWRkaW5nLWxlZnQ6IDA7XG4gICAgICAgICAgcGFkZGluZy1ib3R0b206IDQwcHg7XG4gICAgICAgICAgYm9yZGVyLWJvdHRvbTogNHB4IHNvbGlkICRibGFjaztcbiAgICAgICAgfVxuXG4gICAgICAgIEBpbmNsdWRlIG1lZGlhKFwiPj1kZXNrdG9wXCIpIHtcbiAgICAgICAgICBwYWRkaW5nLWJvdHRvbTogNTBweDtcbiAgICAgICAgfVxuXG4gICAgICAgIEBpbmNsdWRlIG1lZGlhKFwiPj1kZXNrdG9wLWxhcmdlXCIpIHtcbiAgICAgICAgICAvL2hlaWdodDogJGhlYWRlckhlaWdodERlc2t0b3A7XG4gICAgICAgICAgbWF4LXdpZHRoOiA1MjBweDtcbiAgICAgICAgfVxuXG4gICAgICAgIC8vIC5sb2dvIHdhcyBoZXJlXG5cbiAgICAgICAgLmxvZ28tdGV4dCB7XG4gICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgY29sb3I6ICRicmFuZENvbG9yQ29udHJhc3Q7XG4gICAgICAgICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgICAgICAgICBwYWRkaW5nLWxlZnQ6IDA7XG4gICAgICAgICAgcGFkZGluZy10b3A6IDA7XG5cbiAgICAgICAgICBAaW5jbHVkZSBtZWRpYShcIj49cGhvbmUtbGFyZ2VcIikge1xuICAgICAgICAgICAgLy9kaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgIHBhZGRpbmctbGVmdDogMTBweDtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMXJlbTtcbiAgICAgICAgICB9XG5cbiAgICAgICAgICBAaW5jbHVkZSBtZWRpYShcIj49dGFibGV0XCIpIHtcbiAgICAgICAgICAgIHBhZGRpbmctdG9wOiAzMHB4O1xuICAgICAgICAgICAgcGFkZGluZy1sZWZ0OiAwO1xuICAgICAgICAgIH1cblxuICAgICAgICAgIEBpbmNsdWRlIG1lZGlhKFwiPj1kZXNrdG9wXCIpIHtcbiAgICAgICAgICAgIHBhZGRpbmctdG9wOiA1MHB4O1xuICAgICAgICAgIH1cblxuICAgICAgICAgIC5sb2dvLXRleHQtdGl0bGUge1xuICAgICAgICAgICAgbWFyZ2luOiAwIGF1dG87XG4gICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAwLjk7XG4gICAgICAgICAgICBmb250LXNpemU6IDFyZW07XG4gICAgICAgICAgICBmb250LWZhbWlseTogcXVlc3RhLWdyYW5kZSwgc2VyaWY7XG4gICAgICAgICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuXG4gICAgICAgICAgICBAaW5jbHVkZSBtZWRpYShcIj49cGhvbmUtbGFyZ2VcIikge1xuICAgICAgICAgICAgICAvL2Rpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgICBmb250LXNpemU6IDEuNnJlbTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgQGluY2x1ZGUgbWVkaWEoXCI+PXRhYmxldFwiKSB7XG4gICAgICAgICAgICAgIC8vZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICAgIGZvbnQtc2l6ZTogMi42cmVtO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBAaW5jbHVkZSBtZWRpYShcIj49bGFwdG9wXCIpIHtcbiAgICAgICAgICAgICAgLy9kaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgICAgZm9udC1zaXplOiAzcmVtO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBAaW5jbHVkZSBtZWRpYShcIj49ZGVza3RvcFwiKSB7XG4gICAgICAgICAgICAgIC8vZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICAgIGZvbnQtc2l6ZTogMy4xcmVtO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBAaW5jbHVkZSBtZWRpYShcIj49ZGVza3RvcC1sYXJnZVwiKSB7XG4gICAgICAgICAgICAgIC8vZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICAgIGZvbnQtc2l6ZTogMy44cmVtO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cblxuICAgICAgICAgIC5sb2dvLXRleHQtdGFnbGluZSB7XG4gICAgICAgICAgICAvL21hcmdpbi10b3A6IDhweDtcbiAgICAgICAgICAgIG1hcmdpbjogMTBweCBhdXRvIDAgYXV0bztcbiAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAxLjE7XG4gICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICAgICAgZm9udC1zaXplOiAwLjZyZW07XG4gICAgICAgICAgICBmb250LXdlaWdodDogbGlnaHRlcjtcbiAgICAgICAgICAgIGZvbnQtc3R5bGU6IGl0YWxpYztcbiAgICAgICAgICAgIGNvbG9yOiAkYnJhbmRDb2xvckNvbnRyYXN0O1xuICAgICAgICAgICAgZm9udC1mYW1pbHk6IHF1ZXN0YS1ncmFuZGUsIHNlcmlmO1xuXG4gICAgICAgICAgICBAaW5jbHVkZSBtZWRpYShcIj49cGhvbmUtbGFyZ2VcIikge1xuICAgICAgICAgICAgICAvL2Rpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgICBmb250LXNpemU6IDEuMXJlbTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgQGluY2x1ZGUgbWVkaWEoXCI+PXRhYmxldFwiKSB7XG4gICAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgICBtYXJnaW4tdG9wOiAyMHB4O1xuICAgICAgICAgICAgICBmb250LXNpemU6IDEuNXJlbTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgQGluY2x1ZGUgbWVkaWEoXCI+PWRlc2t0b3BcIikge1xuICAgICAgICAgICAgICBmb250LXNpemU6IDJyZW07XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgLmxvZ28ge1xuICAgICAgQGluY2x1ZGUgbWFyLWxlZnQ7XG4gICAgICB3aWR0aDogYXV0bztcbiAgICAgIGhlaWdodDogMTAwJTsvL2NhbGMoJGhlYWRlckhlaWdodE1vYmlsZSk7XG4gICAgICAvL21hcmdpbi10b3A6IDEwcHg7XG4gICAgICAvL21hcmdpbi1yaWdodDogMTVweDtcbiAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgcmlnaHQ6IGF1dG87XG4gICAgICBib3R0b206IGF1dG87XG4gICAgICB0b3A6IDA7XG4gICAgICBsZWZ0OiAwO1xuXG4gICAgICBAaW5jbHVkZSBtZWRpYShcIj49cGhvbmUtbGFyZ2VcIikge1xuICAgICAgICAvL2Rpc3BsYXk6IGJsb2NrO1xuICAgICAgICAvL2hlaWdodDogJGhlYWRlckhlaWdodE1vYmlsZTtcbiAgICAgIH1cblxuICAgICAgQGluY2x1ZGUgbWVkaWEoXCI+PXRhYmxldFwiKSB7XG4gICAgICAgIHdpZHRoOiBhdXRvO1xuICAgICAgICBoZWlnaHQ6IDkwJTtcbiAgICAgICAgcmlnaHQ6IDMwcHg7XG4gICAgICAgIGJvdHRvbTogMDtcbiAgICAgICAgdG9wOiBhdXRvO1xuICAgICAgICBsZWZ0OiBhdXRvO1xuICAgICAgICAvL3dpZHRoOiAxNDRweDtcbiAgICAgICAgLy93aWR0aDogYXV0bztcbi8vICAgICAgICBoZWlnaHQ6IGNhbGMoJGhlYWRlckhlaWdodERlc2t0b3ApO1xuICAgICAgICAvL2Rpc3BsYXk6IGJsb2NrO1xuICAgICAgfVxuXG4gICAgICBAaW5jbHVkZSBtZWRpYShcIj49bGFwdG9wXCIpIHtcbiAgICAgICAgcmlnaHQ6IDEwMHB4O1xuICAgICAgfVxuICAgIH1cblxuICAgIC50YWJsZS1vZi1jb250ZW50cyB7XG4gICAgICBAaW5jbHVkZSBtYXItbGVmdDtcbiAgICAgIEBpbmNsdWRlIHBhZC1ob3Jpem9udGFsO1xuICAgICAgcGFkZGluZy10b3A6IDM1cHg7XG4gICAgICBwYWRkaW5nLWJvdHRvbTogMjBweDtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgZm9udC1mYW1pbHk6IHF1ZXN0YS1ncmFuZGUsIHNlcmlmO1xuICAgICAgLy9wb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAvL3RvcDogY2FsYygkaGVhZGVySGVpZ2h0RGVza3RvcCArIDEwMHB4KTtcbiAgICAgIC8vbGVmdDogNjBweDtcbiAgICAgIGZvbnQtc2l6ZTogMS42cmVtO1xuICAgICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gICAgICAvL3RleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xuICAgIH1cblxuICAgIC5oZWFkZXItbmF2IHtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgaGVpZ2h0OiAwO1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgdG9wOiAkaGVhZGVySGVpZ2h0TW9iaWxlO1xuICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgICB6LWluZGV4OiAxMDtcblxuICAgICAgJi5iZy12aXNpYmxlIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGNyZWFtO1xuICAgICAgICBib3gtc2hhZG93OiAwcHggNXB4IDEwcHggLTVweCAkYmxhY2s7XG4gICAgICB9XG5cbiAgICAgIEBpbmNsdWRlIG1lZGlhKFwiPj10YWJsZXRcIikge1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIGhlaWdodDogYXV0bzsvLyRoZWFkZXJIZWlnaHREZXNrdG9wO1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgLy90b3A6IGNhbGMoJGhlYWRlckhlaWdodERlc2t0b3AgKyAxNTBweCk7XG4gICAgICAgIG92ZXJmbG93OiB2aXNpYmxlO1xuICAgICAgICAvL2xlZnQ6IDYwcHg7XG4gICAgICAgIHRvcDogYXV0bztcblxuICAgICAgICAmLmJnLXZpc2libGUge1xuICAgICAgICAgIC8vYmFja2dyb3VuZC1jb2xvcjogJGNyZWFtO1xuICAgICAgICAgIGJveC1zaGFkb3c6IHVuc2V0O1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICAgICAgLm1haW4tbmF2IHtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIHBhZGRpbmctcmlnaHQ6IDA7XG4gICAgICAgIHBhZGRpbmctbGVmdDogMDtcbiAgICAgICAgaGVpZ2h0OiBhdXRvO1xuICAgICAgICBwb3NpdGlvbjogc3RhdGljO1xuICAgICAgICB0b3A6IGF1dG87XG4gICAgICAgIHJpZ2h0OiBhdXRvO1xuICAgICAgICB6LWluZGV4OiA1O1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgLy9iYWNrZ3JvdW5kLWNvbG9yOiAkb2ZmV2hpdGU7XG5cblxuICAgICAgICAmOjpiZWZvcmUge1xuICAgICAgICAgIC8vY29udGVudDogXCJDb250ZW50czpcIjtcbiAgICAgICAgICAvL2Rpc3BsYXk6IG5vbmU7XG4gICAgICAgIH1cblxuICAgICAgICBAaW5jbHVkZSBtZWRpYShcIj49dGFibGV0XCIpIHtcbiAgICAgICAgICBAaW5jbHVkZSBtYXItbGVmdDtcbiAgICAgICAgICBAaW5jbHVkZSBwYWQtaG9yaXpvbnRhbDtcbiAgICAgICAgICBwYWRkaW5nLWxlZnQ6IDA7IC8vIG5lZ2F0ZSBsZWZ0IHBhZGRpbmcgZnJvbSAnY29udGFpbmVyJyBtaXhpbiBeXl5cbiAgICAgICAgICB3aWR0aDogYXV0bztcbiAgICAgICAgICAvL2hlaWdodDogJGhlYWRlckhlaWdodERlc2t0b3A7XG4gICAgICAgICAgLy9wb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgLy90b3A6ICR0b3BCYXJIZWlnaHQ7XG4gICAgICAgICAgLy90b3A6IDUwJTtcbiAgICAgICAgICAvL3JpZ2h0OiAwO1xuICAgICAgICAgIGxlZnQ6IDA7XG4gICAgICAgICAgLy96LWluZGV4OiA5OTk5O1xuXG4gICAgICAgICAgJjo6YmVmb3JlIHtcbiAgICAgICAgICAgIC8vY29udGVudDogXCJDb250ZW50czpcIjtcbiAgICAgICAgICAgIC8vZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgdWwge1xuICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgIGhlaWdodDogYXV0bztcbiAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgICBsaXN0LXN0eWxlOiBub25lO1xuICAgICAgICAgIC8vY29sdW1uLWdhcDogYXV0bztcbiAgICAgICAgICBib3JkZXItdG9wOiAxcHggc29saWQgJGdyYXk7XG4gICAgICAgICAgcGFkZGluZy1ib3R0b206IDA7XG5cbiAgICAgICAgICBAaW5jbHVkZSBtZWRpYShcIj49dGFibGV0XCIpIHtcbiAgICAgICAgICAgIHdpZHRoOiBhdXRvO1xuICAgICAgICAgICAgcGFkZGluZy1ib3R0b206IDMwcHg7XG4gICAgICAgICAgICAvL2hlaWdodDogJGhlYWRlckhlaWdodERlc2t0b3A7XG4gICAgICAgICAgICAvL2ZsZXgtZGlyZWN0aW9uOiByb3c7XG4gICAgICAgICAgICBjb2x1bW4tZ2FwOiAxMHB4O1xuICAgICAgICAgICAgYm9yZGVyLXRvcDogdW5zZXQ7XG4gICAgICAgICAgICBhbGlnbi1pdGVtczogZmxleC1zdGFydDtcbiAgICAgICAgICB9XG5cbiAgICAgICAgICBsaSB7XG4gICAgICAgICAgICBAaW5jbHVkZSBwYWQtaG9yaXpvbnRhbDtcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgaGVpZ2h0OiAkdG9wQmFySGVpZ2h0O1xuICAgICAgICAgICAgbGlzdC1zdHlsZTogbm9uZTtcbiAgICAgICAgICAgIGJvcmRlci10b3A6IHVuc2V0O1xuICAgICAgICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICRncmF5O1xuICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gICAgICAgICAgICAmOmhvdmVyID4gdWwge1xuXG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIEBpbmNsdWRlIG1lZGlhKFwiPj10YWJsZXRcIikge1xuICAgICAgICAgICAgICBwYWRkaW5nLXJpZ2h0OiAwOyAvLyBuZWdhdGUgJ2NvbnRhaW5lcicgbWl4aW4gXl5eXG4gICAgICAgICAgICAgIHBhZGRpbmctbGVmdDogMDsgLy8gbmVnYXRlICdjb250YWluZXInIG1peGluIF5eXlxuICAgICAgICAgICAgICB3aWR0aDogYXV0bztcbiAgICAgICAgICAgICAgLy9oZWlnaHQ6ICRoZWFkZXJIZWlnaHREZXNrdG9wO1xuICAgICAgICAgICAgICAvL2JvcmRlci10b3A6IDNweCBzb2xpZCAkZ3JheTtcbiAgICAgICAgICAgICAgYm9yZGVyLWJvdHRvbTogdW5zZXQ7XG4gICAgICAgICAgICAgIHRyYW5zaXRpb246IGRpc3BsYXkgMzAwbXM7XG5cbiAgICAgICAgICAgICAgJjpob3ZlciA+IHVsIHtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgICAgICAvL3Zpc2liaWxpdHk6IHZpc2libGU7XG4gICAgICAgICAgICAgICAgLy9vcGFjaXR5OiAxO1xuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIGEge1xuICAgICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgICAgaGVpZ2h0OiAkdG9wQmFySGVpZ2h0O1xuICAgICAgICAgICAgICBwYWRkaW5nOiAwO1xuICAgICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgICAgICAgIC8vbGlzdC1zdHlsZTogbm9uZTtcbiAgICAgICAgICAgICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gICAgICAgICAgICAgIGZvbnQtc2l6ZTogMXJlbTtcbiAgICAgICAgICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICAgICAgICAgICAgY29sb3I6ICRicmFuZENvbG9yQ29udHJhc3Q7XG4gICAgICAgICAgICAgIGZvbnQtZmFtaWx5OiBxdWVzdGEtZ3JhbmRlLCBzZXJpZjtcbiAgICAgICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuXG4gICAgICAgICAgICAgICY6aG92ZXIge1xuICAgICAgICAgICAgICAgIC8vY29sb3I6ICRkYXJrQmx1ZTtcbiAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgIEBpbmNsdWRlIG1lZGlhKFwiPj10YWJsZXRcIikge1xuICAgICAgICAgICAgICAgIHdpZHRoOiBhdXRvO1xuICAgICAgICAgICAgICAgIC8vaGVpZ2h0OiAkaGVhZGVySGVpZ2h0RGVza3RvcDtcbiAgICAgICAgICAgICAgICBwYWRkaW5nOiAwIDVweDtcbiAgICAgICAgICAgICAgICAvL2ZvbnQtc2l6ZTogMC43NXJlbTtcbiAgICAgICAgICAgICAgICBmb250LXNpemU6IDEuNnJlbTsgLy8wLjhyZW07XG4gICAgICAgICAgICAgICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgIEBpbmNsdWRlIG1lZGlhKFwiPj1sYXB0b3BcIikge1xuICAgICAgICAgICAgICAgIC8vZm9udC1zaXplOiAxLjZyZW07IC8vMC44cmVtO1xuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC5uYXYtY2hldnJvbiB7XG4gICAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgICAgcmlnaHQ6IDA7XG5cbiAgICAgICAgICAgICAgQGluY2x1ZGUgbWVkaWEoXCI+PXRhYmxldFwiKSB7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcblxuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIHVsIHsgLy8gc3ViLW5hdlxuICAgICAgICAgICAgICB3aWR0aDogMjI1cHg7XG4gICAgICAgICAgICAgIGhlaWdodDogYXV0bztcbiAgICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgICB0b3A6IDYycHg7XG4gICAgICAgICAgICAgIHJpZ2h0OiAwO1xuICAgICAgICAgICAgICBsaXN0LXN0eWxlOiBub25lO1xuICAgICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkbWVkaXVtR3JheTtcbiAgICAgICAgICAgICAgYm9yZGVyLXRvcDogMXB4IHNvbGlkICRvZmZXaGl0ZTtcbiAgICAgICAgICAgICAgLy92aXNpYmlsaXR5OiBoaWRkZW47XG4gICAgICAgICAgICAgIC8vb3BhY2l0eTogMDtcbiAgICAgICAgICAgICAgLy90cmFuc2l0aW9uOiB2aXNpYmlsaXR5IDBzLCBvcGFjaXR5IDFzIGxpbmVhcjtcblxuXG4gICAgICAgICAgICAgICY6OmJlZm9yZSB7XG4gICAgICAgICAgICAgICAgY29udGVudDogXCJcIjtcbiAgICAgICAgICAgICAgICB3aWR0aDogMDtcbiAgICAgICAgICAgICAgICBoZWlnaHQ6IDA7XG4gICAgICAgICAgICAgICAgYm9yZGVyLXRvcDogMTBweCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgICAgICAgICAgICAgICBib3JkZXItYm90dG9tOiAxMHB4IHNvbGlkIHRyYW5zcGFyZW50O1xuICAgICAgICAgICAgICAgIGJvcmRlci1sZWZ0OiAxMHB4IHNvbGlkICRtZWRpdW1HcmF5O1xuICAgICAgICAgICAgICAgIHRyYW5zZm9ybTogcm90YXRlKDQ1ZGVnKTtcbiAgICAgICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICAgICAgdG9wOiAtMTJweDtcbiAgICAgICAgICAgICAgICByaWdodDogLTFweDtcbiAgICAgICAgICAgICAgICB6LWluZGV4OiAxMDAxO1xuICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgbGkge1xuICAgICAgICAgICAgICAgIHdpZHRoOiAyMjVweDtcbiAgICAgICAgICAgICAgICBoZWlnaHQ6IDM1cHg7XG4gICAgICAgICAgICAgICAgbGlzdC1zdHlsZTogbm9uZTtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgICAgICBib3JkZXItdG9wOiAxcHggc29saWQgJG9mZldoaXRlO1xuXG4gICAgICAgICAgICAgICAgJjpudGgtY2hpbGQoMSkge1xuICAgICAgICAgICAgICAgICAgYm9yZGVyLXRvcDogMXB4IHNvbGlkICRtZWRpdW1EYXJrR3JheTtcbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAmOm50aC1jaGlsZCgyKSB7XG4gICAgICAgICAgICAgICAgICBib3JkZXItdG9wOiAxcHggc29saWQgJG9mZldoaXRlO1xuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICY6bnRoLWNoaWxkKDMpIHtcbiAgICAgICAgICAgICAgICAgIGJvcmRlci10b3A6IDFweCBzb2xpZCAkb2ZmV2hpdGU7XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgJjpudGgtY2hpbGQoNCkge1xuICAgICAgICAgICAgICAgICAgYm9yZGVyLXRvcDogMXB4IHNvbGlkICRvZmZXaGl0ZTtcbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICBhIHtcbiAgICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgICAgICAgaGVpZ2h0OiAzNXB4O1xuICAgICAgICAgICAgICAgICAgcGFkZGluZy1sZWZ0OiAxMHB4O1xuICAgICAgICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgICAgICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG5cbiAgICAgICAgICAgICAgICAgICY6aG92ZXIge1xuICAgICAgICAgICAgICAgICAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcbiAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgLnRvcC1uYXYge1xuICAgICAgICBwYWRkaW5nLXJpZ2h0OiAwO1xuICAgICAgICBwYWRkaW5nLWxlZnQ6IDA7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBoZWlnaHQ6IGF1dG87XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgdG9wOiBhdXRvO1xuICAgICAgICBsZWZ0OiBhdXRvO1xuICAgICAgICB6LWluZGV4OiA2O1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgY2xlYXI6IGJvdGg7XG5cbiAgICAgICAgQGluY2x1ZGUgbWVkaWEoXCI+PXRhYmxldFwiKSB7XG4gICAgICAgICAgQGluY2x1ZGUgcGFkLWhvcml6b250YWw7XG4gICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgaGVpZ2h0OiAkdG9wQmFySGVpZ2h0O1xuICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICB0b3A6IDA7XG4gICAgICAgICAgcmlnaHQ6IDA7XG4gICAgICAgICAgei1pbmRleDogNjtcbiAgICAgICAgfVxuXG4gICAgICAgIHVsIHtcbiAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICBwYWRkaW5nLXJpZ2h0OiAwO1xuICAgICAgICAgIGhlaWdodDogYXV0bztcbiAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICAgICAgbGlzdC1zdHlsZTogbm9uZTtcbiAgICAgICAgICBjb2x1bW4tZ2FwOiAzMHB4O1xuICAgICAgICAgIGZsZXgtZmxvdzogY29sdW1uO1xuXG4gICAgICAgICAgQGluY2x1ZGUgbWVkaWEoXCI+PXRhYmxldFwiKSB7XG4gICAgICAgICAgICB3aWR0aDogYXV0bztcbiAgICAgICAgICAgIGhlaWdodDogJHRvcEJhckhlaWdodDtcbiAgICAgICAgICAgIHBhZGRpbmctcmlnaHQ6IDYwcHg7IC8vIHBhZGRpbmcgYWdhaW5zdCBoZWFkZXIgYnV0dG9ucyAoc2VhcmNoIGdsYXNzKVxuICAgICAgICAgICAgZmxleC1mbG93OiByb3ctcmV2ZXJzZTtcbiAgICAgICAgICB9XG5cbiAgICAgICAgICBsaSB7XG4gICAgICAgICAgICBAaW5jbHVkZSBwYWQtaG9yaXpvbnRhbDtcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgaGVpZ2h0OiA0NXB4O1xuICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgICAgICBsaXN0LXN0eWxlOiBub25lO1xuICAgICAgICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICRncmF5O1xuICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gICAgICAgICAgICBAaW5jbHVkZSBtZWRpYShcIj49dGFibGV0XCIpIHtcbiAgICAgICAgICAgICAgd2lkdGg6IGF1dG87XG4gICAgICAgICAgICAgIHBhZGRpbmctcmlnaHQ6IDA7XG4gICAgICAgICAgICAgIHBhZGRpbmctbGVmdDogMDtcbiAgICAgICAgICAgICAgYm9yZGVyLWJvdHRvbTogdW5zZXQ7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIGEge1xuICAgICAgICAgICAgICBoZWlnaHQ6ICR0b3BCYXJIZWlnaHQ7XG4gICAgICAgICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgICAgICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICAgICAgICAgICAgY29sb3I6ICRibGFjaztcbiAgICAgICAgICAgICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gICAgICAgICAgICAgIGZvbnQtc2l6ZTogMTJweDtcbiAgICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcblxuICAgICAgICAgICAgICBAaW5jbHVkZSBtZWRpYShcIj49dGFibGV0XCIpIHtcbiAgICAgICAgICAgICAgICBjb2xvcjogJHllbGxvdztcbiAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICY6aG92ZXIge1xuICAgICAgICAgICAgICAgIC8vdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgLnNsaWRlLWxpbmUge1xuICAgICAgICBoZWlnaHQ6IDNweDtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJG9mZldoaXRlO1xuICAgICAgfVxuXG4gICAgLmhlYWRlci1idXR0b25zIHtcbiAgICAgIEBpbmNsdWRlIHBhZC1yaWdodDtcbiAgICAgIC8vcGFkZGluZy1sZWZ0OiAwICFpbXBvcnRhbnQ7IC8vIG5lZ2F0ZSBsZWZ0IHBhZGRpbmcgZnJvbSAnY29udGFpbmVyJyBtaXhpbiBeXl5cbiAgICAgIHdpZHRoOiBhdXRvO1xuICAgICAgaGVpZ2h0OiAkaGVhZGVySGVpZ2h0TW9iaWxlO1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICB0b3A6IDA7XG4gICAgICByaWdodDogMDtcbiAgICAgIHotaW5kZXg6IDY7XG5cbiAgICAgIEBpbmNsdWRlIG1lZGlhKFwiPj10YWJsZXRcIikge1xuICAgICAgICBoZWlnaHQ6ICR0b3BCYXJIZWlnaHQ7XG4gICAgICAgIHBhZGRpbmctbGVmdDogMDtcbiAgICAgIH1cbiAgICB9XG4gICAgICAuZ2xhc3Mge1xuICAgICAgICAvL2hlaWdodDogOTBweDtcbiAgICAgICAgcGFkZGluZzogOHB4IDEwcHg7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgIC8vcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICB0b3A6IGF1dG87XG4gICAgICAgIC8vcmlnaHQ6IDQ1cHg7XG4gICAgICAgIC8vYm9yZGVyOiAxcHggc29saWQgJG9mZldoaXRlO1xuICAgICAgICAvL2JhY2tncm91bmQtY29sb3I6IHVuc2V0O1xuICAgICAgICBib3JkZXI6IHVuc2V0O1xuXG4gICAgICAgIGkge1xuICAgICAgICAgIGNvbG9yOiAkYmxhY2s7XG5cbiAgICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICAgIC8vY29sb3I6ICRibHVlO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIEBpbmNsdWRlIG1lZGlhKFwiPj10YWJsZXRcIikge1xuICAgICAgICAgIGhlaWdodDogJHRvcEJhckhlaWdodDtcbiAgICAgICAgICAvL3RvcDogMDtcbiAgICAgICAgICAvL3JpZ2h0OiAwO1xuICAgICAgICAgIGJvcmRlcjogdW5zZXQ7XG4gICAgICAgICAgLy9ib3JkZXItcmlnaHQ6IDNweCBzb2xpZCAkYmxhY2s7XG4gICAgICAgICAgLy9ib3JkZXItYm90dG9tOiAzcHggc29saWQgJGJsYWNrO1xuICAgICAgICAgIC8vYm9yZGVyLWxlZnQ6IDNweCBzb2xpZCAkYmxhY2s7XG4gICAgICAgICAgLy9iYWNrZ3JvdW5kLWNvbG9yOiAkd2hpdGU7XG4gICAgICAgICAgLy9ib3gtc2hhZG93OiA1cHggLTJweCAyMHB4IDBweCAkYmxhY2s7XG4gICAgICAgICAgLy9ib3gtc2hhZG93OiA3cHggLTdweCAzcHggM3B4ICM0NDQ7Ly8sIDVweCAtMnB4IDIwcHggMHB4ICM1NTU7XG4gICAgICAgICAgLy9ib3gtc2hhZG93OiA1cHggMCAxNXB4IC03cHggJGJsYWNrO1xuICAgICAgICAgIHBhZGRpbmc6IDhweCAxNXB4O1xuXG4gICAgICAgICAgaSB7XG4gICAgICAgICAgICBjb2xvcjogJGJsYWNrO1xuXG4gICAgICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICAgICAgY29sb3I6ICNhYWE7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIC5idXJnZXIge1xuICAgICAgICBtYXJnaW4tbGVmdDogMDtcbiAgICAgICAgcGFkZGluZzogOHB4IDEwcHg7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cbiAgICAgICAgaSB7XG4gICAgICAgICAgY29sb3I6ICRibGFjaztcblxuICAgICAgICAgICY6aG92ZXIge1xuICAgICAgICAgICAgLy9jb2xvcjogJGJsdWU7XG4gICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgQGluY2x1ZGUgbWVkaWEoXCI+PTM0MHB4XCIpIHtcbiAgICAgICAgICBtYXJnaW4tbGVmdDogMTBweDtcbiAgICAgICAgfVxuXG4gICAgICAgIEBpbmNsdWRlIG1lZGlhKFwiPj10YWJsZXRcIikge1xuICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgIC5zaXRlLXNlYXJjaC13cmFwIHsgLy8gaGVhZGVyLXNwZWNpZmljIHNlYXJjaCB3cmFwXG4gICAgICBAaW5jbHVkZSB3cmFwO1xuICAgICAgaGVpZ2h0OiBhdXRvO1xuICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHRvcDogJGhlYWRlckhlaWdodE1vYmlsZTtcbiAgICAgIGxlZnQ6IDA7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkd2hpdGU7XG4gICAgICB6LWluZGV4OiA2O1xuICAgICAgLy9ib3gtc2hhZG93OiAwcHggMnB4IDEwcHggNXB4ICM0NDQ7XG4gICAgICBib3gtc2hhZG93OiAwcHggMnB4IDEwcHggLTJweCAkYmxhY2s7XG5cbiAgICAgIEBpbmNsdWRlIG1lZGlhKFwiPj10YWJsZXRcIikge1xuICAgICAgICB0b3A6ICR0b3BCYXJIZWlnaHQ7XG4gICAgICB9XG5cbiAgICAgIC5zaXRlLXNlYXJjaCB7IC8vIGhlYWRlciBzcGVjaWZpYyAtLSBzZWUgc2VhcmNoLnNjc3MgZm9yIGdsb2JhbCBzZWFyY2ggc3R5bGVzXG4gICAgICAgIEBpbmNsdWRlIHBhZC1ob3Jpem9udGFsO1xuICAgICAgfVxuICAgIH1cbiIsIi8qKlxuICAqIFNJVEUgU0VBUkNIIEZPUk0gU1RZTEVTXG4gICovXG5cbi5zaXRlLXNlYXJjaCB7XG4gIEBpbmNsdWRlIGlubmVyLXdyYXA7XG4gIGhlaWdodDogYXV0bztcbiAgcGFkZGluZzogMzVweCAwO1xuICBkaXNwbGF5OiBncmlkO1xuICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDFmciA1MHB4O1xuICBncmlkLXRlbXBsYXRlLXJvd3M6IGF1dG87XG59XG5cbiAgLnNlYXJjaC1xdWVyeSB7XG4gICAgaGVpZ2h0OiA1MHB4O1xuICAgIHBhZGRpbmc6IDA7XG4gICAgZ3JpZC1jb2x1bW46IDEgLyBzcGFuIDE7XG4gICAgZ3JpZC1yb3c6IDE7XG4gICAgYWxpZ24tc2VsZjogY2VudGVyO1xuXG4gICAgbGFiZWwge1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgICBoZWlnaHQ6IDMwcHg7XG4gICAgICBjb2xvcjogJGJsYWNrO1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxuXG4gICAgaW5wdXQge1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgICBoZWlnaHQ6IDUwcHg7XG4gICAgICBwYWRkaW5nLWxlZnQ6IDIwcHg7XG4gICAgICBib3JkZXI6IDJweCBzb2xpZCAkYmxhY2s7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IHVuc2V0O1xuICAgICAgY29sb3I6ICRibGFjaztcbiAgICB9XG4gIH1cblxuICAuc2VhcmNoLXN1Ym1pdCB7XG4gICAgd2lkdGg6IDUwcHg7XG4gICAgaGVpZ2h0OiA1MHB4O1xuICAgIGdyaWQtY29sdW1uOiAyIC8gc3BhbiAxO1xuICAgIGdyaWQtcm93OiAxO1xuICAgIGFsaWduLXNlbGY6IHN0YXJ0O1xuICAgIGNvbG9yOiAkYmxhY2s7XG4gICAgZm9udC1zaXplOiAxLjRyZW07XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJG9mZldoaXRlO1xuICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMjAwbXM7XG4gICAgYm9yZGVyLXRvcDogMnB4IHNvbGlkICRibGFjaztcbiAgICBib3JkZXItcmlnaHQ6IDJweCBzb2xpZCAkYmxhY2s7XG4gICAgYm9yZGVyLWJvdHRvbTogMnB4IHNvbGlkICRibGFjaztcbiAgICBsaW5lLWhlaWdodDogNTBweDtcblxuICAgICY6aG92ZXIge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogJG1lZGl1bUdyYXk7XG4gICAgfVxuICB9XG4iLCIvKipcbiAgKiBDT05URU5UIFNUWUxFU1xuICAqL1xuXG5cbi5tYWluLXdyYXAge1xuICAvL0BpbmNsdWRlIHdyYXA7XG4gIC8vQGluY2x1ZGUgcGFkLWhvcml6b250YWw7XG4gIGdyaWQtcm93LXN0YXJ0OiAyOyAvLyBmb3Igc3RpY2t5IGZvb3RlclxuICBncmlkLXJvdy1lbmQ6IDM7IC8vIGZvciBzdGlja3kgZm9vdGVyXG4gIC8vbWFyZ2luLXRvcDogY2FsYygtMSAqICgkaGVhZGVySGVpZ2h0TW9iaWxlICsgJHRvcEJhckhlaWdodCkpOyAvLyBzaGlmdHMgcGFnZSBoZWFkZXIgaW1hZ2UgdXAgYmVoaW5kIHRoZSBoZWFkZXIvbmF2XG4gIC8vYmFja2dyb3VuZC1jb2xvcjogJGJyYW5kQ29sb3JQcmltYXJ5O1xuXG4gIEBpbmNsdWRlIG1lZGlhKFwiPj10YWJsZXRcIikge1xuICAgIEBpbmNsdWRlIHdyYXA7XG4gICAgQGluY2x1ZGUgcGFkLWhvcml6b250YWw7XG4gICAgQGluY2x1ZGUgYm9vay1ncmFkaWVudDtcbiAgICAvL21hcmdpbi10b3A6IGNhbGMoLTEgKiAoJGhlYWRlckhlaWdodERlc2t0b3AgKyAkdG9wQmFySGVpZ2h0KSk7IC8vIHNoaWZ0cyBwYWdlIGhlYWRlciBpbWFnZSB1cCBiZWhpbmQgdGhlIGhlYWRlci9uYXZcbiAgfVxufVxuICAubWFpbiB7XG4gICAgaGVpZ2h0OiAxMDAlOyAvLyBmb3Igc3RpY2t5IGZvb3RlcjogZmlsbCBhbnkgZW1wdHkgc3BhY2UgZG93biB0byBmb290ZXJcbiAgICBvdmVyZmxvdzogaGlkZGVuOyAvLyBleHRlbmRzIGhlaWdodCB0byBhY2NvbW9kYXRlIGNvbnRlbnQncyBtYXJnaW5cbiAgICBAaW5jbHVkZSBpbm5lci13cmFwO1xuICAgIC8vQGluY2x1ZGUgcGFkLWxlZnQ7XG4gICAgcGFkZGluZy1yaWdodDogMDtcbiAgICBtYXJnaW4tdG9wOiAwO1xuICAgIHBhZGRpbmctdG9wOiAwO1xuICAgIHBhZGRpbmctYm90dG9tOiAyMHB4O1xuICAgIC8vYmFja2dyb3VuZC1jb2xvcjogJHdoaXRlO1xuICAgIC8vYm94LXNoYWRvdzogMHB4IDVweCAxMnB4IC03cHggJGJsYWNrO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB6LWluZGV4OiA1O1xuICAgIHRyYW5zZm9ybTogcm90YXRlKDBkZWcpO1xuICAgIGJveC1zaGFkb3c6IDVweCAwIDE1cHggLTdweCAkYmxhY2s7XG5cbiAgICBAaW5jbHVkZSBtZWRpYShcIj49dGFibGV0XCIpIHtcbiAgICAgIEBpbmNsdWRlIHBhZC1sZWZ0O1xuICAgICAgcGFkZGluZy1yaWdodDogMjBweDtcbiAgICAgIG1hcmdpbi10b3A6IC0yMHB4O1xuICAgICAgcGFkZGluZy10b3A6IDIwcHg7XG4gICAgICBwYWRkaW5nLWJvdHRvbTogNDBweDtcbiAgICAgIHRyYW5zZm9ybTogcm90YXRlKC0wLjVkZWcpO1xuICAgICAgYm94LXNoYWRvdzogdW5zZXQ7XG4gICAgfVxuICB9XG4gICAgLyoucGFnZS1oZWFkZXIge1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICBoZWlnaHQ6IGF1dG87XG4gICAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICAgICAgYmFja2dyb3VuZC1zaXplOiBjb3ZlcjtcbiAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlciA4MCU7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICB6LWluZGV4OiAxO1xuICAgICAgLy9iYWNrZ3JvdW5kLWNvbG9yOiAkYnJhbmRDb2xvclByaW1hcnk7XG4gICAgICBiYWNrZ3JvdW5kLWJsZW5kLW1vZGU6IHNjcmVlbjtcblxuICAgICAgQGluY2x1ZGUgbWVkaWEoXCI+PXRhYmxldFwiKSB7XG4gICAgICAgIC8vbWluLWhlaWdodDogMjUwcHg7XG4gICAgICB9XG4gICAgfVxuICAgICAgLnBhZ2UtaGVhZGVyLW92ZXJsYXkge1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHRvcDogMDtcbiAgICAgICAgbGVmdDogMDtcbiAgICAgICAgei1pbmRleDogMjtcbiAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogbGluZWFyLWdyYWRpZW50KGRhcmtlbigkdHJhbnNHcmF5LCA0MCUpLCBkYXJrZW4oJHRyYW5zR3JheSwgMjAlKSk7XG4gICAgICAgIG9wYWNpdHk6IDAuNztcbiAgICAgICAgLy9iYWNrZ3JvdW5kLWJsZW5kLW1vZGU6IG11bHRpcGx5O1xuICAgICAgfSovXG5cbiAgICAgIC8qLnBhZ2UtaGVhZGVyLWJveC13cmFwIHtcbiAgICAgICAgLy9AaW5jbHVkZSBpbm5lci13cmFwO1xuICAgICAgICBtaW4taGVpZ2h0OiAxMDAlO1xuICAgICAgICBoZWlnaHQ6IGF1dG87XG4gICAgICAgIC8vcGFkZGluZy10b3A6IGNhbGMoJGhlYWRlckhlaWdodE1vYmlsZSArICRzcGFjZXJQYWRkaW5nVGFibGV0KTtcbiAgICAgICAgLy9wYWRkaW5nOiAwO1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIHotaW5kZXg6IDM7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cbiAgICAgICAgQGluY2x1ZGUgbWVkaWEoXCI+PXRhYmxldFwiKSB7XG4gICAgICAgICAgLy9AaW5jbHVkZSBwYWQtaG9yaXpvbnRhbDtcbiAgICAgICAgICAvL3BhZGRpbmctdG9wOiBjYWxjKCRoZWFkZXJIZWlnaHREZXNrdG9wICsgJHNwYWNlclBhZGRpbmdEZXNrdG9wKTsvL1xuICAgICAgICAgIC8vaGVpZ2h0OiBhdXRvO1xuXG4gICAgICAgICAgLy9kaXNwbGF5OiBub25lO1xuICAgICAgICB9XG4gICAgICB9Ki9cbiAgICAgICAgLyoucGFnZS1oZWFkZXItYm94IHtcbiAgICAgICAgICBAaW5jbHVkZSBwYWQtdG9wO1xuICAgICAgICAgIEBpbmNsdWRlIHBhZC1ob3Jpem9udGFsO1xuICAgICAgICAgIC8vQGluY2x1ZGUgcGFkLWJvdHRvbTtcbiAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICAgICAgLy9wYWRkaW5nOiA0MHB4IDMwcHg7XG4gICAgICAgICAgLy9wYWRkaW5nLXRvcDogY2FsYygkaGVhZGVySGVpZ2h0TW9iaWxlICsgJHNwYWNlclBhZGRpbmdUYWJsZXQpO1xuICAgICAgICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHdoaXRlO1xuXG4gICAgICAgICAgQGluY2x1ZGUgbWVkaWEoXCI+PXRhYmxldFwiKSB7XG4gICAgICAgICAgICAvL3dpZHRoOiA2NyU7XG4gICAgICAgICAgICAvL3dpZHRoOiAxMDAlO1xuICAgICAgICAgICAgLy9wYWRkaW5nLXRvcDogY2FsYygkaGVhZGVySGVpZ2h0RGVza3RvcCArICRzcGFjZXJQYWRkaW5nRGVza3RvcCk7XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgaDEge1xuICAgICAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICAgICAgcGFkZGluZzogMCAwIDIwcHggMDtcbiAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgLy9jb2xvcjogJG9mZldoaXRlO1xuICAgICAgICAgICAgZm9udC1zaXplOiAxLjZyZW07XG4gICAgICAgICAgICBsaW5lLWhlaWdodDogMS4zO1xuICAgICAgICAgICAgLy9wYWRkaW5nLWJvdHRvbTogMjVweDtcbiAgICAgICAgICAgIGZvbnQtc3R5bGU6IGl0YWxpYztcbiAgICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgICAgIGJvcmRlci1ib3R0b206IDNweCBzb2xpZCAkYmxhY2s7XG5cbiAgICAgICAgICAgIEBpbmNsdWRlIG1lZGlhKFwiPj10YWJsZXRcIikge1xuICAgICAgICAgICAgICBmb250LXNpemU6IDMuMnJlbTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG5cbiAgICAgICAgICBwIHtcbiAgICAgICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgZm9udC1zaXplOiAxcmVtO1xuICAgICAgICAgICAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgICAgICAgICAgIGNvbG9yOiAkb2ZmV2hpdGU7XG5cbiAgICAgICAgICAgIEBpbmNsdWRlIG1lZGlhKFwiPj10YWJsZXRcIikge1xuICAgICAgICAgICAgICBmb250LXNpemU6IDEuMnJlbTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgIH0qL1xuXG4gICAgLnBhZ2UtY29udGVudC13cmFwIHtcblxuICAgIH1cbiAgICAgIC5wYWdlLWNvbnRlbnQge1xuICAgICAgICBkaXNwbGF5OiBncmlkO1xuICAgICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDFmcjtcbiAgICAgICAgZ3JpZC10ZW1wbGF0ZS1yb3dzOiBhdXRvO1xuXG4gICAgICAgIEBpbmNsdWRlIG1lZGlhKFwiPj10YWJsZXRcIikge1xuICAgICAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogMWZyO1xuICAgICAgICAgIGdyaWQtdGVtcGxhdGUtcm93czogYXV0bztcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICAucGFnZS1jb250ZW50LnNpZGUgeyAvLyAucGFnZS1jb250ZW50IHN0eWxlcyBmb3Igc2lkZWJhciBsYXlvdXRcbiAgICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiAxZnIgMHB4O1xuICAgICAgICBncmlkLXRlbXBsYXRlLXJvd3M6IGF1dG8gYXV0bztcblxuICAgICAgICBAaW5jbHVkZSBtZWRpYShcIj49dGFibGV0XCIpIHtcbiAgICAgICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDFmciAzMjBweDtcbiAgICAgICAgICBncmlkLXRlbXBsYXRlLXJvd3M6IGF1dG8gMHB4O1xuICAgICAgICB9XG4gICAgICB9XG4gICAgICAgIC5wYWdlLW1haW4ge1xuICAgICAgICAgIEBpbmNsdWRlIHBhZC12ZXJ0aWNhbDtcbiAgICAgICAgICBAaW5jbHVkZSBwYWQtaG9yaXpvbnRhbDtcbiAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAvL3BhZGRpbmctcmlnaHQ6IDA7XG4gICAgICAgICAgZ3JpZC1jb2x1bW46IDEgLyBzcGFuIDE7XG4gICAgICAgICAgZ3JpZC1yb3c6IDI7XG4gICAgICAgICAgLy9ib3gtc2hhZG93OiA1cHggMCAxNXB4IC03cHggJGJsYWNrO1xuICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICR3aGl0ZTtcbiAgICAgICAgICBvdmVyZmxvdzogdmlzaWJsZTtcblxuICAgICAgICAgIEBpbmNsdWRlIG1lZGlhKFwiPj10YWJsZXRcIikge1xuICAgICAgICAgICAgYm94LXNoYWRvdzogNXB4IDAgMjBweCAtN3B4ICRibGFjaztcbiAgICAgICAgICAgIGdyaWQtY29sdW1uOiAxIC8gc3BhbiAxO1xuICAgICAgICAgICAgZ3JpZC1yb3c6IDE7XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgaDEge1xuICAgICAgICAgICAgbWFyZ2luOiAwIDAgMzBweCAwO1xuICAgICAgICAgICAgcGFkZGluZzogMCAwIDMwcHggMDtcbiAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgLy9jb2xvcjogJG9mZldoaXRlO1xuICAgICAgICAgICAgZm9udC1zaXplOiAxLjZyZW07XG4gICAgICAgICAgICBsaW5lLWhlaWdodDogMS4zO1xuICAgICAgICAgICAgLy9wYWRkaW5nLWJvdHRvbTogMjVweDtcbiAgICAgICAgICAgIGZvbnQtc3R5bGU6IGl0YWxpYztcbiAgICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgICAgIGJvcmRlci1ib3R0b206IDNweCBzb2xpZCAkYmxhY2s7XG5cbiAgICAgICAgICAgIEBpbmNsdWRlIG1lZGlhKFwiPj10YWJsZXRcIikge1xuICAgICAgICAgICAgICBmb250LXNpemU6IDIuOHJlbTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG5cbiAgICAgICAgICBoMiB7XG4gICAgICAgICAgICBtYXJnaW4tdG9wOiA1MHB4O1xuICAgICAgICAgICAgcGFkZGluZy1ib3R0b206IDIwcHg7XG5cbiAgICAgICAgICAgICY6Zmlyc3Qtb2YtdHlwZSB7XG4gICAgICAgICAgICAgIG1hcmdpbi10b3A6IDA7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgaDMge1xuICAgICAgICAgICAgbWFyZ2luLXRvcDogNDBweDtcbiAgICAgICAgICB9XG5cbiAgICAgICAgICBoNCB7XG4gICAgICAgICAgICBtYXJnaW4tdG9wOiA0MHB4O1xuICAgICAgICAgIH1cblxuICAgICAgICAgIGg1IHtcbiAgICAgICAgICAgIG1hcmdpbi10b3A6IDQwcHg7XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgaDYge1xuICAgICAgICAgICAgbWFyZ2luLXRvcDogNDBweDtcbiAgICAgICAgICB9XG5cbiAgICAgICAgICBwIHtcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDI1cHg7XG5cbiAgICAgICAgICAgICY6bGFzdC1vZi10eXBlIHtcbiAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG5cbiAgICAgICAgICB1bCB7XG4gICAgICAgICAgICBwYWRkaW5nLWxlZnQ6IDIwcHg7XG4gICAgICAgICAgICBsaW5lLWhlaWdodDogMS41O1xuICAgICAgICAgICAgbGlzdC1zdHlsZS1wb3NpdGlvbjogb3V0c2lkZTtcblxuICAgICAgICAgICAgbGkge1xuICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAxNXB4O1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgfSAvLyAucGFnZS1tYWluXG4gICAgICAgICAgLnBhZ2Utc2VjdGlvbi13cmFwIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIHdyYXA7XG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICB9XG4gICAgICAgICAgICAucGFnZS1zZWN0aW9uIHtcbiAgICAgICAgICAgICAgQGluY2x1ZGUgaW5uZXItd3JhcDtcbiAgICAgICAgICAgICAgQGluY2x1ZGUgcGFkLWhvcml6b250YWw7XG4gICAgICAgICAgICAgIEBpbmNsdWRlIHBhZC10b3A7XG4gICAgICAgICAgICAgIC8vQGluY2x1ZGUgcGFkLWJvdHRvbTtcbiAgICAgICAgICAgICAgLy9iYWNrZ3JvdW5kLWNvbG9yOiAkd2hpdGU7XG4gICAgICAgICAgICAgIC8vYmFja2dyb3VuZC1pbWFnZTogbGluZWFyLWdyYWRpZW50KHRvIHJpZ2h0LCAkY3JlYW0gMCUsICR3aGl0ZSA1MCUsICRjcmVhbSAxMDAlKTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAuc2lkZSAucGFnZS1tYWluIHsgLy8gLnBhZ2UtbWFpbiBzdHlsZXMgZm9yIHNpZGViYXIgbGF5b3V0XG4gICAgICAgICAgcGFkZGluZy1yaWdodDogMDtcblxuICAgICAgICAgIEBpbmNsdWRlIG1lZGlhKFwiPj10YWJsZXRcIikge1xuICAgICAgICAgICAgcGFkZGluZy1yaWdodDogMTAwcHg7XG4gICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgLnBhZ2Utc2lkZWJhciB7XG4gICAgICAgICAgQGluY2x1ZGUgcGFkLWJvdHRvbTtcbiAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICBncmlkLWNvbHVtbjogMSAvIHNwYW4gMTtcbiAgICAgICAgICBncmlkLXJvdzogMTtcblxuICAgICAgICAgIEBpbmNsdWRlIG1lZGlhKFwiPj10YWJsZXRcIikge1xuICAgICAgICAgICAgZ3JpZC1jb2x1bW46IDIgLyBzcGFuIDE7XG4gICAgICAgICAgICBncmlkLXJvdzogMTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cblxuLmFsaWducmlnaHQge1xuICB3aWR0aDogMTAwJTtcbiAgZmxvYXQ6IG5vbmU7XG4gIHBhZGRpbmc6IDIwcHg7XG5cbiAgQGluY2x1ZGUgbWVkaWEoXCI+PXBob25lLWxhcmdlXCIpIHtcblxuICB9XG5cbiAgQGluY2x1ZGUgbWVkaWEoXCI+PXRhYmxldFwiKSB7XG4gICAgd2lkdGg6IDUwJTtcbiAgICBmbG9hdDogcmlnaHQ7XG4gICAgcGFkZGluZzogMjBweDtcbiAgfVxufVxuXG4uYWxpZ25sZWZ0IHtcbiAgd2lkdGg6IDEwMCU7XG4gIGZsb2F0OiBub25lO1xuICBwYWRkaW5nOiAyMHB4O1xuXG4gIEBpbmNsdWRlIG1lZGlhKFwiPj1waG9uZS1sYXJnZVwiKSB7XG5cbiAgfVxuXG4gIEBpbmNsdWRlIG1lZGlhKFwiPj10YWJsZXRcIikge1xuICAgIHdpZHRoOiA1MCU7XG4gICAgZmxvYXQ6IGxlZnQ7XG4gICAgcGFkZGluZzogMjBweDtcbiAgfVxufVxuXG4uc2luZ2xlIHtcbiAgcCB7XG5cbiAgICAmOmZpcnN0LW9mLXR5cGU6OmZpcnN0LWxldHRlciB7XG4gICAgICBkaXNwbGF5OiBpbmxpbmU7XG4gICAgICBmb250LXNpemU6IDFyZW07XG4gICAgICBmbG9hdDogbm9uZTtcbiAgICAgIG1hcmdpbjogMDtcbiAgICAgIHBhZGRpbmc6IDA7XG4gICAgICBib3JkZXI6IHVuc2V0O1xuICAgICAgY29sb3I6IGluaGVyaXQ7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB1bnNldDtcbiAgICAgIGZvbnQtZmFtaWx5OiBpdGMtYW1lcmljYW4tdHlwZXdyaXRlciwgc2VyaWY7XG4gICAgfVxuICB9XG59XG5cbmZpZ3VyZSB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNlZWU7XG4gIHBhZGRpbmc6IDIwcHg7XG5cbiAgaW1nIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgfVxuXG4gICYuYWxpZ25yaWdodCB7XG4gICAgbWFyZ2luLXJpZ2h0OiAwO1xuICAgIG1hcmdpbi1sZWZ0OiAwO1xuICAgIHBhZGRpbmctcmlnaHQ6IDIwcHg7XG4gICAgcGFkZGluZy1sZWZ0OiAyMHB4O1xuXG4gICAgQGluY2x1ZGUgbWVkaWEoXCI+PXRhYmxldFwiKSB7XG4gICAgICBtYXJnaW4tbGVmdDogMjBweDtcbiAgICB9XG5cbiAgICBpbWcge1xuICAgICAgd2lkdGg6IDEwMCU7XG5cbiAgICAgIEBpbmNsdWRlIG1lZGlhKFwiPj1waG9uZS1sYXJnZVwiKSB7XG5cbiAgICAgIH1cblxuICAgICAgQGluY2x1ZGUgbWVkaWEoXCI+PXRhYmxldFwiKSB7XG5cbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAmLmFsaWdubGVmdCB7XG4gICAgbWFyZ2luLXJpZ2h0OiAwO1xuICAgIG1hcmdpbi1sZWZ0OiAwO1xuICAgIHBhZGRpbmctcmlnaHQ6IDIwcHg7XG4gICAgcGFkZGluZy1sZWZ0OiAyMHB4O1xuXG4gICAgQGluY2x1ZGUgbWVkaWEoXCI+PXRhYmxldFwiKSB7XG4gICAgICBtYXJnaW4tcmlnaHQ6IDIwcHg7XG4gICAgfVxuXG4gICAgaW1nIHtcbiAgICAgIHdpZHRoOiAxMDAlO1xuXG4gICAgICBAaW5jbHVkZSBtZWRpYShcIj49cGhvbmUtbGFyZ2VcIikge1xuXG4gICAgICB9XG5cbiAgICAgIEBpbmNsdWRlIG1lZGlhKFwiPj10YWJsZXRcIikge1xuXG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgZmlnY2FwdGlvbiB7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgZm9udC1zaXplOiAwLjlyZW07XG5cbiAgICBAaW5jbHVkZSBtZWRpYShcIj49cGhvbmUtbGFyZ2VcIikge1xuXG4gICAgfVxuXG4gICAgQGluY2x1ZGUgbWVkaWEoXCI+PXRhYmxldFwiKSB7XG5cbiAgICB9XG4gIH1cbn1cbiIsIi8qKlxuICAqIEZPT1RFUiBTVFlMRVNcbiAgKi9cblxuXG4uZm9vdGVyLXdyYXAge1xuICBncmlkLXJvdy1zdGFydDogMzsgLy8gZm9yIHN0aWNreSBmb290ZXJcbiAgZ3JpZC1yb3ctZW5kOiA0OyAvLyBmb3Igc3RpY2t5IGZvb3RlclxuICAvL2JhY2tncm91bmQtY29sb3I6ICRicmFuZENvbG9yUHJpbWFyeTtcbiAgLy9AaW5jbHVkZSBib29rLWdyYWRpZW50O1xuXG4gIEBpbmNsdWRlIG1lZGlhKFwiPj10YWJsZXRcIikge1xuICAgIEBpbmNsdWRlIGJvb2stZ3JhZGllbnQ7XG4gIH1cbn1cbiAgLmZvb3RlciB7XG4gICAgQGluY2x1ZGUgaW5uZXItd3JhcDtcbiAgICAvL0BpbmNsdWRlIHBhZC10b3A7XG4gICAgQGluY2x1ZGUgcGFkLWJvdHRvbTtcbiAgICBwYWRkaW5nLXRvcDogMjBweDtcbiAgICB0ZXh0LWFsaWduOiBsZWZ0Oy8vY2VudGVyO1xuICAgIG92ZXJmbG93OiBoaWRkZW47IC8vIGV4dGVuZHMgaGVpZ2h0IHRvIGFjY29tb2RhdGUgY29udGVudCdzIG1hcmdpblxuICAgIGNvbG9yOiAkYmxhY2s7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGNyZWFtO1xuXG4gICAgQGluY2x1ZGUgbWVkaWEoXCI+PXRhYmxldFwiKSB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB1bnNldDtcbiAgICB9XG4gIH1cbiAgICAuZm9vdGVyLW5hdiB7XG4gICAgICBAaW5jbHVkZSBtYXItaG9yaXpvbnRhbDtcbiAgICAgIEBpbmNsdWRlIHBhZC1ob3Jpem9udGFsO1xuICAgICAgcGFkZGluZy1ib3R0b206IDIwcHg7XG5cbiAgICAgIEBpbmNsdWRlIG1lZGlhKFwiPj10YWJsZXRcIikge1xuICAgICAgICB3aWR0aDogYXV0bztcbiAgICAgICAgcGFkZGluZy1ib3R0b206IDMwcHg7XG4gICAgICB9XG5cbiAgICAgIHVsIHtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIGhlaWdodDogYXV0bztcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICBsaXN0LXN0eWxlOiBub25lO1xuICAgICAgICB0ZXh0LWFsaWduOiBmbGV4LXN0YXJ0O1xuXG4gICAgICAgIEBpbmNsdWRlIG1lZGlhKFwiPj10YWJsZXRcIikge1xuICAgICAgICAgIHdpZHRoOiBhdXRvO1xuICAgICAgICB9XG5cbiAgICAgICAgbGkge1xuICAgICAgICAgIEBpbmNsdWRlIHBhZC1ob3Jpem9udGFsO1xuICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgIGxpc3Qtc3R5bGU6IG5vbmU7XG4gICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgICAgLy9tYXJnaW4tbGVmdDogLTVweDtcbiAgICAgICAgICBwYWRkaW5nOiA1cHggMTBweDtcblxuICAgICAgICAgIEBpbmNsdWRlIG1lZGlhKFwiPj10YWJsZXRcIikge1xuICAgICAgICAgICAgd2lkdGg6IGF1dG87XG4gICAgICAgICAgICBwYWRkaW5nOiAwIDEwcHg7XG4gICAgICAgICAgICBwYWRkaW5nOiAwO1xuXG4gICAgICAgICAgICAmOmFmdGVyIHtcbiAgICAgICAgICAgICAgY29udGVudDogXCJ8XCI7XG4gICAgICAgICAgICAgIGNvbG9yOiAkbWVkaXVtRGFya0dyYXk7XG4gICAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgICAgdG9wOiAwO1xuICAgICAgICAgICAgICByaWdodDogLTJweDtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgJjpsYXN0LWNoaWxkIHtcblxuICAgICAgICAgICAgICAmOmFmdGVyIHtcbiAgICAgICAgICAgICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgYSB7XG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgICAgICBmb250LXNpemU6IDFyZW07XG4gICAgICAgICAgICBjb2xvcjogJGJsYWNrO1xuICAgICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICAgICAgZm9udC1mYW1pbHk6IHF1ZXN0YS1ncmFuZGUsIHNlcmlmO1xuICAgICAgICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xuXG4gICAgICAgICAgICBAaW5jbHVkZSBtZWRpYShcIj49dGFibGV0XCIpIHtcbiAgICAgICAgICAgICAgYWxpZ24taXRlbXM6IGxlZnQ7Ly9jZW50ZXI7XG4gICAgICAgICAgICAgIHdpZHRoOiBhdXRvO1xuICAgICAgICAgICAgICAvL3BhZGRpbmc6IDAgNXB4O1xuICAgICAgICAgICAgICB0ZXh0LWFsaWduOiBsZWZ0Oy8vY2VudGVyO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgIC5jb3B5cmlnaHQge1xuICAgICAgQGluY2x1ZGUgbWFyLWhvcml6b250YWw7XG4gICAgICBAaW5jbHVkZSBwYWQtaG9yaXpvbnRhbDtcbiAgICAgIC8vbWFyZ2luOiAwO1xuICAgICAgLy9wYWRkaW5nOiAwO1xuICAgICAgZm9udC1zaXplOiAxMHB4O1xuICAgICAgLy9sZWZ0OiAxNXB4O1xuICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuXG4gICAgICBAaW5jbHVkZSBtZWRpYShcIj49dGFibGV0XCIpIHtcbiAgICAgICAgdGV4dC1hbGlnbjogbGVmdDsvL2NlbnRlcjtcbiAgICAgICAgd2lkdGg6IGF1dG87XG4gICAgICAgIC8vcGFkZGluZzogMCA1cHg7XG4gICAgICB9XG4gICAgfVxuIl19 */
