@charset "UTF-8";
/**
  * PAGE-SPECIFIC STYLESHEET: Services
  *
  * Import common styles and house page-specific styles for Services page.
  */
/**
  * 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;
}

/**
  * SCSS BREAKPOINTS
  *
  * Define breakpoints for media query use and export them for use with JS.
  */
:export {
  breakpointPhoneSmall: 320;
  breakpointPhoneLarge: 480;
  breakpointTablet: 768;
  breakpointLaptop: 992;
  breakpointDesktop: 1200;
  breakpointDesktopLarge: 1400;
  breakpointHd: 1920;
}

/**
  * SCSS VARIABLES
  */
/**
  * Dimensions:
  */
/**
  * Colors:
  */
/**
  * FONT STYLES
  *
  * Define @font-face styles.
  */
@font-face {
  font-family: Lato;
  src: url(../fonts/Lato-Thin.ttf);
  font-weight: 100;
  font-style: normal;
}
@font-face {
  font-family: Lato;
  src: url(../fonts/Lato-ThinItalic.ttf);
  font-weight: 100;
  font-style: italic;
}
@font-face {
  font-family: Lato;
  src: url(../fonts/Lato-Light.ttf);
  font-weight: 300;
  font-style: normal;
}
@font-face {
  font-family: Lato;
  src: url(../fonts/Lato-LightItalic.ttf);
  font-weight: 300;
  font-style: italic;
}
@font-face {
  font-family: Lato;
  src: url(../fonts/Lato-Regular.ttf);
  font-weight: 400;
  font-style: normal;
}
@font-face {
  font-family: Lato;
  src: url(../fonts/Lato-Italic.ttf);
  font-weight: 400;
  font-style: italic;
}
@font-face {
  font-family: Lato;
  src: url(../fonts/Lato-Bold.ttf);
  font-weight: 700;
  font-style: normal;
}
@font-face {
  font-family: Lato;
  src: url(../fonts/Lato-BoldItalic.ttf);
  font-weight: 700;
  font-style: italic;
}
@font-face {
  font-family: Lato;
  src: url(../fonts/Lato-Black.ttf);
  font-weight: 900;
  font-style: normal;
}
@font-face {
  font-family: Lato;
  src: url(../fonts/Lato-BlackItalic.ttf);
  font-weight: 900;
  font-style: italic;
}
@font-face {
  font-family: Merriweather;
  src: url(../fonts/Merriweather-Light.ttf);
  font-weight: 300;
  font-style: normal;
}
@font-face {
  font-family: Merriweather;
  src: url(../fonts/Merriweather-LightItalic.ttf);
  font-weight: 300;
  font-style: italic;
}
@font-face {
  font-family: Merriweather;
  src: url(../fonts/Merriweather-Regular.ttf);
  font-weight: 400;
  font-style: normal;
}
@font-face {
  font-family: Merriweather;
  src: url(../fonts/Merriweather-Italic.ttf);
  font-weight: 400;
  font-style: italic;
}
@font-face {
  font-family: Merriweather;
  src: url(../fonts/Merriweather-Bold.ttf);
  font-weight: 700;
  font-style: normal;
}
@font-face {
  font-family: Merriweather;
  src: url(../fonts/Merriweather-BoldItalic.ttf);
  font-weight: 700;
  font-style: italic;
}
@font-face {
  font-family: Merriweather;
  src: url(../fonts/Merriweather-Black.ttf);
  font-weight: 900;
  font-style: normal;
}
@font-face {
  font-family: Merriweather;
  src: url(../fonts/Merriweather-BlackItalic.ttf);
  font-weight: 900;
  font-style: italic;
}
/**
  * SCSS MIXINS
  *
  * Standardized style chunks, provided as both SCSS mixins and HTML classes.
  */
.wrap {
  width: 100%;
  height: auto;
}

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

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

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

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

.mar-right {
  margin-right: 30px;
  transition: margin 300ms;
  max-width: calc(100% - 30px);
}
@media (min-width: 480px) {
  .mar-right {
    margin-right: 35px;
    max-width: calc(100% - 35px);
  }
}
@media (min-width: 768px) {
  .mar-right {
    margin-right: 40px;
    max-width: calc(100% - 40px);
  }
}
@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: 30px;
  transition: margin 300ms;
  max-width: calc(100% - 30px);
}
@media (min-width: 480px) {
  .mar-left {
    margin-left: 35px;
    max-width: calc(100% - 35px);
  }
}
@media (min-width: 768px) {
  .mar-left {
    margin-left: 40px;
    max-width: calc(100% - 40px);
  }
}
@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: 30px;
  margin-right: 30px;
  transition: margin 300ms;
  max-width: calc(100% - 60px);
}
@media (min-width: 480px) {
  .mar-horizontal {
    margin-left: 35px;
    margin-right: 35px;
    max-width: calc(100% - 70px);
  }
}
@media (min-width: 768px) {
  .mar-horizontal {
    margin-left: 40px;
    margin-right: 40px;
    max-width: calc(100% - 80px);
  }
}
@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);
  }
}

.mar-right-negative {
  margin-right: -30px;
  transition: margin 300ms;
}
@media (min-width: 480px) {
  .mar-right-negative {
    margin-right: -35px;
  }
}
@media (min-width: 768px) {
  .mar-right-negative {
    margin-right: -40px;
  }
}
@media (min-width: 992px) {
  .mar-right-negative {
    margin-right: -60px;
  }
}
@media (min-width: 1200px) {
  .mar-right-negative {
    margin-right: -80px;
  }
}

.mar-left-negative {
  margin-left: -30px;
  transition: margin 300ms;
}
@media (min-width: 480px) {
  .mar-left-negative {
    margin-left: -35px;
  }
}
@media (min-width: 768px) {
  .mar-left-negative {
    margin-left: -40px;
  }
}
@media (min-width: 992px) {
  .mar-left-negative {
    margin-left: -60px;
  }
}
@media (min-width: 1200px) {
  .mar-left-negative {
    margin-left: -80px;
  }
}

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

.pad-top {
  padding-top: 40px;
  transition: padding 300ms;
}
@media (min-width: 480px) {
  .pad-top {
    padding-top: 45px;
  }
}
@media (min-width: 768px) {
  .pad-top {
    padding-top: 55px;
  }
}
@media (min-width: 992px) {
  .pad-top {
    padding-top: 65px;
  }
}
@media (min-width: 1200px) {
  .pad-top {
    padding-top: 80px;
  }
}

.pad-bottom {
  padding-bottom: 40px;
  transition: padding 300ms;
}
@media (min-width: 480px) {
  .pad-bottom {
    padding-bottom: 45px;
  }
}
@media (min-width: 768px) {
  .pad-bottom {
    padding-bottom: 55px;
  }
}
@media (min-width: 992px) {
  .pad-bottom {
    padding-bottom: 65px;
  }
}
@media (min-width: 1200px) {
  .pad-bottom {
    padding-bottom: 80px;
  }
}

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

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

.pad-vertical {
  padding-top: 40px;
  transition: padding 300ms;
  padding-bottom: 40px;
  transition: padding 300ms;
}
@media (min-width: 480px) {
  .pad-vertical {
    padding-top: 45px;
  }
}
@media (min-width: 768px) {
  .pad-vertical {
    padding-top: 55px;
  }
}
@media (min-width: 992px) {
  .pad-vertical {
    padding-top: 65px;
  }
}
@media (min-width: 1200px) {
  .pad-vertical {
    padding-top: 80px;
  }
}
@media (min-width: 480px) {
  .pad-vertical {
    padding-bottom: 45px;
  }
}
@media (min-width: 768px) {
  .pad-vertical {
    padding-bottom: 55px;
  }
}
@media (min-width: 992px) {
  .pad-vertical {
    padding-bottom: 65px;
  }
}
@media (min-width: 1200px) {
  .pad-vertical {
    padding-bottom: 80px;
  }
}

.pad-horizontal {
  padding-right: 30px;
  transition: padding 300ms;
  padding-left: 30px;
  transition: padding 300ms;
}
@media (min-width: 480px) {
  .pad-horizontal {
    padding-right: 35px;
  }
}
@media (min-width: 768px) {
  .pad-horizontal {
    padding-right: 40px;
  }
}
@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: 35px;
  }
}
@media (min-width: 768px) {
  .pad-horizontal {
    padding-left: 40px;
  }
}
@media (min-width: 992px) {
  .pad-horizontal {
    padding-left: 60px;
  }
}
@media (min-width: 1200px) {
  .pad-horizontal {
    padding-left: 80px;
  }
}

.button {
  margin: 1rem 0;
  padding: 10px 15px;
  display: inline-block;
  background-color: #005d50;
  text-decoration: none;
  font-weight: bold;
  color: #ffffff;
  cursor: pointer;
  border-radius: 3px;
}
.button:hover {
  background-color: #00443a !important;
}

.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;
}

.h1 {
  font-size: 3rem;
  margin-top: 0;
  margin-bottom: 2rem;
}
@media (min-width: 768px) {
  .h1 {
    font-size: 4rem;
  }
}

.h2 {
  font-size: 2.4rem;
  margin-bottom: 2.1rem;
}
@media (min-width: 768px) {
  .h2 {
    font-size: 3rem;
  }
}

.h3 {
  font-size: 1.8rem;
  margin-bottom: 1.8rem;
}
@media (min-width: 768px) {
  .h3 {
    font-size: 2.1rem;
  }
}

.h4 {
  font-size: 1.6rem;
  margin-bottom: 1.7rem;
}
@media (min-width: 768px) {
  .h4 {
    font-size: 2rem;
  }
}

.h5 {
  font-size: 1.5rem;
  margin-bottom: 1.6rem;
}
@media (min-width: 768px) {
  .h5 {
    font-size: 1.9rem;
  }
}

.h6 {
  font-size: 1.4rem;
  margin-bottom: 1.5rem;
}
@media (min-width: 768px) {
  .h6 {
    font-size: 1.8rem;
  }
}

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

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

body {
  min-height: 100%;
  margin: 0;
  display: grid;
  grid-template-rows: auto 1fr auto;
  background-color: #e4e2dc;
  font-family: "Lato", sans-serif;
  font-size: 1.6rem;
  color: #005d50;
}

h1, h2, h3, h4, h5, h6, .h1, .h2, .h3, .h4, .h5, .h6 {
  margin-top: 3rem;
  display: block;
  font-weight: 400;
  line-height: 1;
  font-family: "Merriweather", serif;
  color: #005d50;
}

h1 {
  font-size: 3rem;
  margin-top: 0;
  margin-bottom: 2rem;
  font-family: "Lato", sans-serif;
}
@media (min-width: 768px) {
  h1 {
    font-size: 4rem;
  }
}

h2 {
  font-size: 2.4rem;
  margin-bottom: 2.1rem;
}
@media (min-width: 768px) {
  h2 {
    font-size: 3rem;
  }
}

h3 {
  font-size: 1.8rem;
  margin-bottom: 1.8rem;
}
@media (min-width: 768px) {
  h3 {
    font-size: 2.1rem;
  }
}

h4 {
  font-size: 1.6rem;
  margin-bottom: 1.7rem;
}
@media (min-width: 768px) {
  h4 {
    font-size: 2rem;
  }
}

h5 {
  font-size: 1.5rem;
  margin-bottom: 1.6rem;
}
@media (min-width: 768px) {
  h5 {
    font-size: 1.9rem;
  }
}

h6 {
  font-size: 1.4rem;
  margin-bottom: 1.5rem;
}
@media (min-width: 768px) {
  h6 {
    font-size: 1.8rem;
  }
}

p {
  margin: 0 0 1.5rem 0;
  font-weight: 400;
}

a {
  text-decoration: underline;
  color: #005d50;
}
ul, ol {
  margin: 1.5rem 0;
  padding: 0;
  list-style-position: inside;
}

img {
  display: block;
  width: 100%;
}

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

/* End button styles */
blockquote {
  border-left: 5px solid #000000;
  margin: 1.5em 10px;
  padding: 0.5em 30px;
  quotes: "“";
}
blockquote:before {
  color: #ccc;
  content: open-quote;
  font-size: 4em;
  line-height: 0.1em;
  margin-right: 0.25em;
  vertical-align: -0.4em;
}
blockquote p {
  display: block;
}
blockquote p:first-of-type, blockquote p:nth-of-type(2) {
  font-size: 1.3rem;
}

/**
  * HEADER STYLES
  */
.header-wrap {
  width: 100%;
  height: auto;
  grid-row-start: 1;
  grid-row-end: 2;
  position: relative;
  top: 0;
  z-index: 9999;
  transition: background-color 200ms, border 200ms, box-shadow 200ms;
  background-color: #005d50;
}
.header-overlay {
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
  z-index: 2;
  background-color: #005d50;
  opacity: 0.7;
}
.header-overlay.bg-visible {
  background-color: #005d50;
  opacity: 1;
}

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

.header {
  height: 90px;
  padding-top: 0;
  position: relative;
  display: grid;
  grid-template-columns: 1fr;
  grid-template-rows: 90px auto;
  transition: background-color 200ms;
}
.header.bg-visible {
  background-color: #005d50;
}
@media (min-width: 768px) {
  .header {
    height: 165px;
    grid-template-columns: 1fr;
    grid-template-rows: 120px 70px;
  }
}

.header-brand {
  padding-right: 30px;
  transition: padding 300ms;
  padding-left: 30px;
  transition: padding 300ms;
  margin-top: 0;
  margin-bottom: 0;
  padding-right: 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-right: 35px;
  }
}
@media (min-width: 768px) {
  .header-brand {
    padding-right: 40px;
  }
}
@media (min-width: 992px) {
  .header-brand {
    padding-right: 60px;
  }
}
@media (min-width: 1200px) {
  .header-brand {
    padding-right: 80px;
  }
}
@media (min-width: 480px) {
  .header-brand {
    padding-left: 35px;
  }
}
@media (min-width: 768px) {
  .header-brand {
    padding-left: 40px;
  }
}
@media (min-width: 992px) {
  .header-brand {
    padding-left: 60px;
  }
}
@media (min-width: 1200px) {
  .header-brand {
    padding-left: 80px;
  }
}
@media (min-width: 768px) {
  .header-brand {
    height: 165px;
    padding-top: 33.75px;
  }
}
.header-brand a {
  height: 90px;
  display: flex;
  align-items: center;
  flex-direction: row;
}
@media (min-width: 768px) {
  .header-brand a {
    height: 75px;
    height: 97.5px;
  }
}
.header-brand a .logo-image {
  width: auto;
  height: 35px;
  margin-right: 15px;
  padding: 0 0 0 10px;
  text-align: center;
  display: block;
}
@media (min-width: 768px) {
  .header-brand a .logo-image {
    height: 97.5px;
    padding: 5px 0;
  }
}
.header-brand a .logo-text {
  display: block;
  color: #e4e2dc;
  text-align: left;
  padding-left: 0;
  font-weight: bold;
}
@media (min-width: 480px) {
  .header-brand a .logo-text {
    padding-left: 10px;
    font-size: 1rem;
  }
}
.header-brand a .logo-text .logo-text-title {
  margin: 0 auto;
  display: block;
  line-height: 0.9;
  font-size: 1rem;
}
.header-brand a .logo-text .logo-text-title span.registered {
  font-size: 0.7rem;
  font-weight: normal;
  vertical-align: super;
}
@media (min-width: 480px) {
  .header-brand a .logo-text .logo-text-title {
    font-size: 1.4rem;
  }
  .header-brand a .logo-text .logo-text-title span.registered {
    font-size: 0.9rem;
  }
}
.header-brand a .logo-text .logo-text-tagline {
  margin: 10px auto 0 auto;
  line-height: 0.8;
  font-size: 0.6rem;
  font-weight: lighter;
  font-style: italic;
  display: block;
  color: #e4e2dc;
}
@media (min-width: 480px) {
  .header-brand a .logo-text .logo-text-tagline {
    font-size: 1.1rem;
  }
}

.header-nav {
  width: 100%;
  height: 0;
  opacity: 0;
  min-height: auto;
  position: absolute;
  top: 90px;
  display: none;
  overflow: hidden;
}
.header-nav.bg-visible {
  background-color: #005d50;
}
.header-nav.visible {
  height: 100%;
  display: block;
  position: fixed;
  opacity: 1;
}
@media (min-width: 768px) {
  .header-nav {
    height: auto;
    min-height: 165px;
    display: block;
    top: 0;
    overflow: visible;
    opacity: 1 !important;
  }
  .header-nav.visible {
    height: auto;
    display: block;
    position: absolute;
    opacity: 1;
  }
}

.header-nav-main {
  width: 100%;
  padding-right: 0;
  padding-left: 0;
  height: 100%;
  position: static;
  top: auto;
  right: auto;
  z-index: 6;
  display: flex;
  align-items: center;
  justify-content: center;
}
@media (min-width: 768px) {
  .header-nav-main {
    padding-right: 30px;
    transition: padding 300ms;
    padding-left: 30px;
    transition: padding 300ms;
    width: 50%;
    height: 45px;
    position: absolute;
    display: block;
    top: 50%;
    right: 0;
    translate: 0 -22.5px;
  }
}
@media (min-width: 768px) and (min-width: 480px) {
  .header-nav-main {
    padding-right: 35px;
  }
}
@media (min-width: 768px) and (min-width: 768px) {
  .header-nav-main {
    padding-right: 40px;
  }
}
@media (min-width: 768px) and (min-width: 992px) {
  .header-nav-main {
    padding-right: 60px;
  }
}
@media (min-width: 768px) and (min-width: 1200px) {
  .header-nav-main {
    padding-right: 80px;
  }
}
@media (min-width: 768px) and (min-width: 480px) {
  .header-nav-main {
    padding-left: 35px;
  }
}
@media (min-width: 768px) and (min-width: 768px) {
  .header-nav-main {
    padding-left: 40px;
  }
}
@media (min-width: 768px) and (min-width: 992px) {
  .header-nav-main {
    padding-left: 60px;
  }
}
@media (min-width: 768px) and (min-width: 1200px) {
  .header-nav-main {
    padding-left: 80px;
  }
}
.header-nav-main ul {
  width: 100%;
  height: auto;
  margin: 0;
  display: flex;
  flex-direction: column;
  align-items: center;
  list-style: none;
  transform: translate(0, -45px);
}
@media (min-width: 768px) {
  .header-nav-main ul {
    width: auto;
    height: 45px;
    flex-direction: row;
    border-top: unset;
    justify-content: flex-end;
    transform: translate(0, 0);
  }
}
.header-nav-main ul li {
  width: auto;
  height: auto;
  list-style: none;
  border-top: unset;
  position: relative;
  z-index: 1;
  background-color: #005d50;
}
@media (min-width: 768px) {
  .header-nav-main ul li {
    width: auto;
    height: auto;
    padding: 0 15px;
    min-height: 45px;
    background-color: unset;
    border-bottom: unset;
    transition: display 300ms;
  }
  .header-nav-main ul li:hover > ul {
    display: block;
  }
  .header-nav-main ul li:last-child {
    padding-right: 0;
  }
}
.header-nav-main ul li a {
  width: auto;
  height: 45px;
  position: relative;
  display: block;
  flex-grow: 0;
  align-items: center;
  text-decoration: none;
  font-weight: normal;
  font-size: 1.4rem;
  color: #ffffff;
}
.header-nav-main ul li a::after {
  content: "";
  height: 1px;
  width: 100%;
  background-color: #e4e2dc;
  position: absolute;
  bottom: 20px;
  display: none;
}
@media (min-width: 768px) {
  .header-nav-main ul li a::after {
    bottom: 9px;
  }
}
@media (min-width: 768px) {
  .header-nav-main ul li a {
    width: auto;
    height: 45px;
    border-bottom: unset;
    display: flex;
  }
}
.header-nav-main ul li.current_page_item a::after {
  display: block;
}
.header-nav-main ul li .nav-chevron {
  width: 45px;
  height: 45px;
  display: flex;
  position: absolute;
  right: 0;
  align-items: center;
  justify-content: center;
  z-index: 2;
  cursor: pointer;
  color: #e4e2dc;
}
.header-nav-main ul li .nav-chevron:hover {
  color: #b8b2a2;
}
@media (min-width: 768px) {
  .header-nav-main ul li .nav-chevron {
    display: none;
  }
}
.header-nav-main ul li ul {
  width: 100%;
  height: auto;
  position: relative;
  top: 0;
  right: 0;
  left: auto;
  list-style: none;
  display: none;
}
@media (min-width: 768px) {
  .header-nav-main ul li ul {
    min-width: 320px;
    position: absolute;
    top: 45px;
    left: 0;
    right: auto;
    background-color: #005d50;
  }
}
.header-nav-main ul li ul li {
  width: 100%;
  min-height: 45px;
  height: auto;
  list-style: none;
  display: block;
}
@media (min-width: 768px) {
  .header-nav-main ul li ul li {
    height: 45px;
    border-top: 1px solid rgba(102, 102, 102, 0.2);
  }
  .header-nav-main ul li ul li:hover > ul {
    display: none;
  }
}
.header-nav-main ul li ul li a {
  padding-left: 3em;
  text-decoration: none;
}
@media (min-width: 768px) {
  .header-nav-main ul li ul li a {
    height: 45px;
    padding-right: 15px;
    padding-left: 15px;
  }
}
.header-nav-main ul li ul li ul li a {
  padding-left: 4.5em;
}
.header-nav-main ul li ul li ul li ul li a {
  padding-left: 6em;
}

/*
.header-nav-top {
  padding-right: 0;
  padding-left: 0;
  width: 100%;
  height: auto;
  position: relative;
  top: auto;
  left: auto;
  z-index: 6;
  display: block;
  clear: both;

  @include media(">=tablet") {
    @include pad-horizontal;
    width: 100%;
    height: $topBarHeight;
    position: absolute;
    top: 0;
    right: 0;
    z-index: 6;
  }

  ul { // top nav
    width: 100%;
    padding-right: 0;
    height: auto;
    margin: 0;
    display: flex;
    flex-direction: column;
    list-style: none;
    column-gap: 30px;
    flex-flow: column;

    @include media(">=tablet") {
      width: auto;
      height: $topBarHeight;
      padding-right: 60px; // Padding against header buttons (search glass)
      //flex-flow: row;
      flex-direction: row;
      justify-content: flex-end;
    }

    li { // top nav
      @include pad-horizontal;
      width: 100%;
      height: 45px;
      display: flex;
      align-items: center;
      list-style: none;
      border-bottom: 1px solid $gray;
      position: relative;

      @include media(">=tablet") {
        width: auto;
        padding-right: 0;
        padding-left: 0;
        border-bottom: unset;
      }

      a { // top nav
        height: $topBarHeight;
        text-transform: uppercase;
        text-decoration: none;
        font-weight: bold;
        font-size: 12px;
        display: flex;
        align-items: center;
        color: $brandColorContrast;
        font-family: 'Lato', sans-serif;

        &:hover {
          color: darken($brandColorContrast, 20%);
        }

        @include media(">=tablet") {

        }
      }
    }
  }
}
*/
/*
li.slide-line {
  position: absolute;
  z-index: 1002;
  bottom: -1px;
  left: 0;
  width: 0;
  height: 5px;
  padding: 0;
  margin: 0;
  background-color: $white;
  border-radius: 3px 3px 0 0;
  transition: width 300ms, left 300ms, background-color 150ms;

  &:before {
    display: none;
  }

  &.hover-state {
    //box-shadow: 0 0 5px 0px $black;
  }
}
*/
.header-buttons {
  padding-right: 30px;
  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: 35px;
  }
}
@media (min-width: 768px) {
  .header-buttons {
    padding-right: 40px;
  }
}
@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;
}
@media (min-width: 768px) {
  .glass {
    height: 45px;
    border: unset;
  }
}
.glass i {
  color: #e4e2dc;
}
.glass i:hover {
  color: #b8b2a2;
}
.burger {
  margin-left: 0;
  padding: 8px 10px;
  display: flex;
  align-items: center;
}
@media (min-width: 340px) {
  .burger {
    margin-left: 10px;
  }
}
@media (min-width: 768px) {
  .burger {
    display: none;
  }
}
.burger i {
  color: #e4e2dc;
}
.burger i:hover {
  color: #b8b2a2;
}

.header-search-wrap {
  width: 100%;
  height: auto;
  height: auto;
  display: none;
  position: absolute;
  top: 90px;
  left: 0;
  background-color: #005d50;
  z-index: 6;
}
@media (min-width: 768px) {
  .header-search-wrap {
    top: 45px;
    height: 75px;
  }
}
.header-search-wrap .site-search {
  padding-right: 30px;
  transition: padding 300ms;
  padding-left: 30px;
  transition: padding 300ms;
}
@media (min-width: 480px) {
  .header-search-wrap .site-search {
    padding-right: 35px;
  }
}
@media (min-width: 768px) {
  .header-search-wrap .site-search {
    padding-right: 40px;
  }
}
@media (min-width: 992px) {
  .header-search-wrap .site-search {
    padding-right: 60px;
  }
}
@media (min-width: 1200px) {
  .header-search-wrap .site-search {
    padding-right: 80px;
  }
}
@media (min-width: 480px) {
  .header-search-wrap .site-search {
    padding-left: 35px;
  }
}
@media (min-width: 768px) {
  .header-search-wrap .site-search {
    padding-left: 40px;
  }
}
@media (min-width: 992px) {
  .header-search-wrap .site-search {
    padding-left: 60px;
  }
}
@media (min-width: 1200px) {
  .header-search-wrap .site-search {
    padding-left: 80px;
  }
}

/**
  * SITE SEARCH FORM STYLES
  */
.site-search {
  width: 100%;
  max-width: 1200px;
  margin: 0 auto;
  height: auto;
  padding: 40px 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: #e4e2dc;
  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 #e4e2dc;
  display: block;
  background-color: unset;
  color: #e4e2dc;
}

.search-submit {
  width: 50px;
  height: 50px;
  grid-column: 2/span 1;
  grid-row: 1;
  align-self: start;
  color: #005d50;
  font-size: 1.4rem;
  background-color: #e4e2dc;
  transition: background-color 200ms;
}
.search-submit:hover {
  background-color: #b8b2a2;
}

/**
  * MAIN PAGE CONTENT STYLES
  */
.main-wrap {
  width: 100%;
  height: auto;
  grid-row-start: 2;
  grid-row-end: 3;
  background-color: #e4e2dc;
}

.main {
  height: 100%;
  overflow: hidden;
}

.page-header-wrap {
  width: 100%;
  height: auto;
  padding: 0 5px;
  background-size: cover;
  position: relative;
}

.page-header-overlay {
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
  z-index: 2;
  background-color: #005d50;
  opacity: 0.5;
  background-blend-mode: overlay;
}
.page-header-overlay.bg-visible {
  background-color: #005d50;
  opacity: 1;
}

.page-header {
  width: 100%;
  max-width: 1200px;
  margin: 0 auto;
  padding-top: 40px;
  transition: padding 300ms;
  padding-bottom: 40px;
  transition: padding 300ms;
  padding-right: 30px;
  transition: padding 300ms;
  padding-left: 30px;
  transition: padding 300ms;
  flex-wrap: wrap;
  flex-direction: column;
  align-items: center;
  position: relative;
  z-index: 3;
}
@media (min-width: 480px) {
  .page-header {
    padding-top: 45px;
  }
}
@media (min-width: 768px) {
  .page-header {
    padding-top: 55px;
  }
}
@media (min-width: 992px) {
  .page-header {
    padding-top: 65px;
  }
}
@media (min-width: 1200px) {
  .page-header {
    padding-top: 80px;
  }
}
@media (min-width: 480px) {
  .page-header {
    padding-bottom: 45px;
  }
}
@media (min-width: 768px) {
  .page-header {
    padding-bottom: 55px;
  }
}
@media (min-width: 992px) {
  .page-header {
    padding-bottom: 65px;
  }
}
@media (min-width: 1200px) {
  .page-header {
    padding-bottom: 80px;
  }
}
@media (min-width: 480px) {
  .page-header {
    padding-right: 35px;
  }
}
@media (min-width: 768px) {
  .page-header {
    padding-right: 40px;
  }
}
@media (min-width: 992px) {
  .page-header {
    padding-right: 60px;
  }
}
@media (min-width: 1200px) {
  .page-header {
    padding-right: 80px;
  }
}
@media (min-width: 480px) {
  .page-header {
    padding-left: 35px;
  }
}
@media (min-width: 768px) {
  .page-header {
    padding-left: 40px;
  }
}
@media (min-width: 992px) {
  .page-header {
    padding-left: 60px;
  }
}
@media (min-width: 1200px) {
  .page-header {
    padding-left: 80px;
  }
}

.page-header-title h1 {
  width: 100%;
  margin-bottom: 0;
  color: #ffffff;
  text-shadow: 0 0 15px #005d50;
}

.page-header-text p {
  margin-top: 40px;
  font-size: 2rem;
  color: #ffffff;
  text-shadow: 0 0 10px #005d50;
}

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

.page-main {
  display: grid;
  grid-template-columns: 1fr;
  grid-template-rows: auto;
}
@media (min-width: 768px) {
  .page-main {
    grid-template-columns: 1fr;
    grid-template-rows: auto;
  }
}

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

.page-content {
  width: 100%;
  padding-right: 0;
  grid-column: 1/span 1;
  grid-row: 2;
}
@media (min-width: 768px) {
  .page-content {
    grid-column: 1/span 1;
    grid-row: 1;
  }
}

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

.page-section {
  width: 100%;
  max-width: 1200px;
  margin: 0 auto;
  padding-right: 30px;
  transition: padding 300ms;
  padding-left: 30px;
  transition: padding 300ms;
  padding-top: 40px;
  transition: padding 300ms;
  padding-bottom: 40px;
  transition: padding 300ms;
}
@media (min-width: 480px) {
  .page-section {
    padding-right: 35px;
  }
}
@media (min-width: 768px) {
  .page-section {
    padding-right: 40px;
  }
}
@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: 35px;
  }
}
@media (min-width: 768px) {
  .page-section {
    padding-left: 40px;
  }
}
@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: 45px;
  }
}
@media (min-width: 768px) {
  .page-section {
    padding-top: 55px;
  }
}
@media (min-width: 992px) {
  .page-section {
    padding-top: 65px;
  }
}
@media (min-width: 1200px) {
  .page-section {
    padding-top: 80px;
  }
}
@media (min-width: 480px) {
  .page-section {
    padding-bottom: 45px;
  }
}
@media (min-width: 768px) {
  .page-section {
    padding-bottom: 55px;
  }
}
@media (min-width: 992px) {
  .page-section {
    padding-bottom: 65px;
  }
}
@media (min-width: 1200px) {
  .page-section {
    padding-bottom: 80px;
  }
}

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

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

/**
  * FOOTER STYLES
  */
.footer-wrap {
  width: 100%;
  height: auto;
  grid-row-start: 3;
  grid-row-end: 4;
  background-color: #252425;
}

.footer {
  padding-top: 40px;
  transition: padding 300ms;
  padding-bottom: 40px;
  transition: padding 300ms;
  padding-right: 30px;
  transition: padding 300ms;
  padding-left: 30px;
  transition: padding 300ms;
  text-align: center;
  overflow: hidden;
  color: #e4e2dc;
  display: grid;
  grid-template-columns: 50% 50%;
  grid-rows: auto auto auto;
}
@media (min-width: 480px) {
  .footer {
    padding-top: 45px;
  }
}
@media (min-width: 768px) {
  .footer {
    padding-top: 55px;
  }
}
@media (min-width: 992px) {
  .footer {
    padding-top: 65px;
  }
}
@media (min-width: 1200px) {
  .footer {
    padding-top: 80px;
  }
}
@media (min-width: 480px) {
  .footer {
    padding-bottom: 45px;
  }
}
@media (min-width: 768px) {
  .footer {
    padding-bottom: 55px;
  }
}
@media (min-width: 992px) {
  .footer {
    padding-bottom: 65px;
  }
}
@media (min-width: 1200px) {
  .footer {
    padding-bottom: 80px;
  }
}
@media (min-width: 480px) {
  .footer {
    padding-right: 35px;
  }
}
@media (min-width: 768px) {
  .footer {
    padding-right: 40px;
  }
}
@media (min-width: 992px) {
  .footer {
    padding-right: 60px;
  }
}
@media (min-width: 1200px) {
  .footer {
    padding-right: 80px;
  }
}
@media (min-width: 480px) {
  .footer {
    padding-left: 35px;
  }
}
@media (min-width: 768px) {
  .footer {
    padding-left: 40px;
  }
}
@media (min-width: 992px) {
  .footer {
    padding-left: 60px;
  }
}
@media (min-width: 1200px) {
  .footer {
    padding-left: 80px;
  }
}

.footer-nav {
  padding-left: 0;
  grid-column: 1/span 2;
  grid-row: 2;
  display: flex;
  align-items: center;
  justify-content: center;
}
@media (min-width: 768px) {
  .footer-nav {
    padding-left: 30px;
    transition: padding 300ms;
    width: auto;
    grid-column: 2/span 1;
    grid-row: 1/span 1;
    justify-content: right;
  }
}
@media (min-width: 768px) and (min-width: 480px) {
  .footer-nav {
    padding-left: 35px;
  }
}
@media (min-width: 768px) and (min-width: 768px) {
  .footer-nav {
    padding-left: 40px;
  }
}
@media (min-width: 768px) and (min-width: 992px) {
  .footer-nav {
    padding-left: 60px;
  }
}
@media (min-width: 768px) and (min-width: 1200px) {
  .footer-nav {
    padding-left: 80px;
  }
}
.footer-nav ul {
  width: 100%;
  height: auto;
  display: inline-block;
  list-style: none;
  text-align: center;
}
@media (min-width: 768px) {
  .footer-nav ul {
    width: auto;
    display: block;
    text-align: right;
  }
}
.footer-nav ul li {
  width: 100%;
  padding: 5px 0;
  list-style: none;
  position: relative;
  display: inline-block;
  position: relative;
  /*&:after {
    content: "|";
    color: $brandColorContrast;
    position: absolute;
    top: 0;
    right: -2px;
  }

  &:last-child {

    &:after {
      content: "";
    }
  }*/
}
@media (min-width: 768px) {
  .footer-nav ul li {
    width: auto;
    padding: 0;
    display: block;
  }
  .footer-nav ul li:after {
    content: "";
  }
}
.footer-nav ul li a {
  width: 100%;
  padding: 0;
  position: relative;
  display: block;
  font-size: 1rem;
  color: #e4e2dc;
  text-align: left;
  text-decoration: underline;
}
@media (min-width: 768px) {
  .footer-nav ul li a {
    width: auto;
    padding: 0;
    text-align: right;
  }
}

.footer-brand {
  padding-left: 0;
  padding-bottom: 20px;
  width: 100%;
  margin-top: 0;
  margin-bottom: 0;
  padding-right: 0;
  grid-column: 1/span 2;
  grid-row: 1/span 1;
  position: relative;
  z-index: 5;
}
@media (min-width: 768px) {
  .footer-brand {
    padding-right: 30px;
    transition: padding 300ms;
    padding-bottom: 0;
    grid-column: 1/span 1;
    grid-row: 1/span 2;
  }
}
@media (min-width: 768px) and (min-width: 480px) {
  .footer-brand {
    padding-right: 35px;
  }
}
@media (min-width: 768px) and (min-width: 768px) {
  .footer-brand {
    padding-right: 40px;
  }
}
@media (min-width: 768px) and (min-width: 992px) {
  .footer-brand {
    padding-right: 60px;
  }
}
@media (min-width: 768px) and (min-width: 1200px) {
  .footer-brand {
    padding-right: 80px;
  }
}
.footer-brand a {
  width: 260px;
  height: auto;
  margin: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-direction: row;
  text-decoration: none;
}
.footer-brand a .footer-brand-logo-image {
  width: auto;
  margin-left: -12px;
  height: 100px;
  margin-right: 15px;
  text-align: center;
  display: block;
}
.footer-brand a .footer-brand-logo-text {
  display: block;
  color: #ffffff;
  text-align: left;
  padding-left: 0;
  font-weight: bold;
  font-size: 1rem;
}
@media (min-width: 768px) {
  .footer-brand a .footer-brand-logo-text {
    padding-left: 10px;
  }
}
.footer-brand a .footer-brand-logo-text .footer-brand-logo-text-title {
  margin: 0 auto;
  display: block;
  line-height: 1.2;
  font-size: 1.4rem;
}
.footer-brand a .footer-brand-logo-text .footer-brand-logo-text-title span.registered {
  font-size: 0.7rem;
  font-weight: normal;
  vertical-align: super;
}
@media (min-width: 480px) {
  .footer-brand a .footer-brand-logo-text .footer-brand-logo-text-title span.registered {
    font-size: 0.9rem;
  }
}
.footer-brand a .footer-brand-logo-text .footer-brand-logo-text-tagline {
  margin: 10px auto 0 auto;
  line-height: 0.8;
  font-size: 1.1rem;
  font-weight: lighter;
  font-style: italic;
  display: block;
  color: #ffffff;
}
.copyright {
  margin: 0;
  padding: 20px 0 0 0;
  grid-column: 1/span 2;
  grid-row: 3;
  font-size: 10px;
  justify-content: left;
  text-align: left;
}
@media (min-width: 768px) {
  .copyright {
    padding: 0 0 0 0;
    grid-row: 2;
    grid-column: 2/span 1;
    justify-content: right;
    text-align: right;
  }
}

/**
  * MISCELLANEOUS STYLES
  */
.embed-container-wrap {
  width: 100%;
  max-width: 500px;
  margin: 20px auto;
}

.embed-container {
  position: relative;
  padding-bottom: 56.25%;
  overflow: hidden;
  max-width: 100%;
  height: auto;
}

.embed-container iframe,
.embed-container object,
.embed-container embed {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}

.max-width-280px {
  width: 100%;
  max-width: 280px;
}

.float-right,
.alignright {
  display: block;
  margin: 0 auto;
  padding: 20px;
  float: none;
}
@media (min-width: 480px) {
  .float-right,
  .alignright {
    padding: 20px 0 20px 20px;
    float: right;
  }
}

.service {
  margin: 30px 0 0 0;
  padding: 0 0 0 0;
  border-top: 2px solid rgba(0, 93, 80, 0.1);
  display: grid;
  grid-template-columns: 1fr 150px;
  grid-template-rows: auto auto auto;
}
.service:first-child {
  margin: 0 0 0 0;
  border-top: unset;
}
.service:first-child .service-title h2 {
  margin-top: 0;
}
.service:nth-child(1) .service-image img {
  width: auto;
  height: 120px;
}
.service:nth-child(5) .service-image img {
  width: 120px;
}
.service:nth-child(7) .service-image img {
  width: 65px;
}
.service-title {
  grid-column: 1/span 2;
  grid-row: 1;
}
@media (min-width: 768px) {
  .service-title {
    grid-column: 1/span 1;
  }
}

.service-content {
  padding: 0;
  grid-column: 1/span 2;
  grid-row: 2;
}
@media (min-width: 768px) {
  .service-content {
    padding: 0 30px 0 0;
    grid-column: 1/span 1;
    grid-row: 2;
  }
}

.service-image {
  padding-top: 0;
  grid-column: 1/span 2;
  grid-row: 3;
  display: flex;
  align-items: center;
}
@media (min-width: 768px) {
  .service-image {
    padding-top: 30px;
    grid-column: 2/span 1;
    grid-row: 1/span;
    grid-row: 1/span 3;
  }
}
.service-image img {
  width: 150px;
  height: auto;
  margin: 0;
}
@media (min-width: 768px) {
  .service-image img {
    margin: 0 auto;
  }
}
/*# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNlcnZpY2VzLmNzcyIsInNlcnZpY2VzLnNjc3MiLCJfY29tbW9uLnNjc3MiLCJsaWJyYXJpZXMvX25vcm1hbGl6ZS5zY3NzIiwicGFydGlhbHMvX2JyZWFrcG9pbnRzLm1vZHVsZXMuc2NzcyIsInBhcnRpYWxzL192YXJpYWJsZXMuc2NzcyIsInBhcnRpYWxzL19mb250cy5zY3NzIiwicGFydGlhbHMvX21peGlucy5zY3NzIiwibGlicmFyaWVzL19pbmNsdWRlLW1lZGlhLnNjc3MiLCJwYXJ0aWFscy9fZWxlbWVudHMuc2NzcyIsInBhcnRpYWxzL19oZWFkZXIuc2NzcyIsInBhcnRpYWxzL19zZWFyY2hmb3JtLnNjc3MiLCJwYXJ0aWFscy9fbWFpbi5zY3NzIiwicGFydGlhbHMvX2Zvb3Rlci5zY3NzIiwicGFydGlhbHMvX21pc2Muc2NzcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxnQkFBZ0I7QUNBaEI7Ozs7R0FBQTtBQ0FBOzs7O0dBQUE7QUNBQSwyRUFBQTtBQUVBOytFQUFBO0FBR0E7OztFQUFBO0FBS0E7RUFDRSxpQkFBQSxFQUFBLE1BQUE7RUFDQSw4QkFBQSxFQUFBLE1BQUE7QUhTRjs7QUdOQTsrRUFBQTtBQUdBOztFQUFBO0FBSUE7RUFDRSxTQUFBO0FIT0Y7O0FHSkE7O0VBQUE7QUFJQTtFQUNFLGNBQUE7QUhNRjs7QUdIQTs7O0VBQUE7QUFLQTtFQUNFLGNBQUE7RUFDQSxnQkFBQTtBSEtGOztBR0ZBOytFQUFBO0FBR0E7OztFQUFBO0FBS0E7RUFDRSx1QkFBQSxFQUFBLE1BQUE7RUFDQSxTQUFBLEVBQUEsTUFBQTtFQUNBLGlCQUFBLEVBQUEsTUFBQTtBSEdGOztBR0FBOzs7RUFBQTtBQUtBO0VBQ0UsaUNBQUEsRUFBQSxNQUFBO0VBQ0EsY0FBQSxFQUFBLE1BQUE7QUhFRjs7QUdDQTsrRUFBQTtBQUdBOztFQUFBO0FBSUE7RUFDRSw2QkFBQTtBSEFGOztBR0dBOzs7RUFBQTtBQUtBO0VBQ0UsbUJBQUEsRUFBQSxNQUFBO0VB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QVE0RUk7RURqZ0JGO0lBWEUsZ0JGYnFCO0VMaWR2QjtBQUNGO0FRdUVJO0VEamdCRjtJQVBFLGdCRmhCcUI7RUxxZHZCO0FBQ0Y7QVFrRUk7RURqZ0JGO0lBSEUsZ0JGbkJzQjtFTHlkeEI7QUFDRjs7QU81YUU7RUFuQkEsbUJGL0J1QjtFRWdDdkIsd0JBQUE7QVBtY0Y7QVF3REk7RUR6ZUY7SUFmRSxtQkZsQ3lCO0VMc2UzQjtBQUNGO0FRbURJO0VEemVGO0lBWEUsbUJGckNxQjtFTDBldkI7QUFDRjtBUThDSTtFRHplRjtJQVBFLG1CRnhDcUI7RUw4ZXZCO0FBQ0Y7QVF5Q0k7RUR6ZUY7SUFIRSxtQkYzQ3NCO0VMa2Z4QjtBQUNGOztBTzdiRTtFQW5EQSxnQkZQdUI7RUVRdkIsd0JBQUE7RUF1QkEsbUJGL0J1QjtFRWdDdkIsd0JBQUE7QVA4ZEY7QVE2Qkk7RURqZUY7SUEvQ0UsZ0JGVnlCO0VMaWdCM0I7QUFDRjtBUXdCSTtFRGplRjtJQTNDRSxnQkZicUI7RUxxZ0J2QjtBQUNGO0FRbUJJO0VEamVGO0lBdkNFLGdCRmhCcUI7RUx5Z0J2QjtBQUNGO0FRY0k7RURqZUY7SUFuQ0UsZ0JGbkJzQjtFTDZnQnhCO0FBQ0Y7QVFTSTtFRGplRjtJQXZCRSxtQkZsQ3lCO0VMcWhCM0I7QUFDRjtBUUlJO0VEamVGO0lBbkJFLG1CRnJDcUI7RUx5aEJ2QjtBQUNGO0FRREk7RURqZUY7SUFmRSxtQkZ4Q3FCO0VMNmhCdkI7QUFDRjtBUU5JO0VEamVGO0lBWEUsbUJGM0NzQjtFTGlpQnhCO0FBQ0Y7O0FPL2NFO0VBeEJBLGtCRi9EdUI7RUVnRXZCLHdCQUFBO0VBQ0EsNEJBQUE7QVAyZUY7QVFqQkk7RURwY0Y7SUFuQkUsa0JGbkV5QjtJRW9FekIsNEJBQUE7RVA0ZUY7QUFDRjtBUXZCSTtFRHBjRjtJQWRFLGtCRnZFcUI7SUV3RXJCLDRCQUFBO0VQNmVGO0FBQ0Y7QVE3Qkk7RURwY0Y7SUFURSxrQkYzRXFCO0lFNEVyQiw0QkFBQTtFUDhlRjtBQUNGO0FRbkNJO0VEcGNGO0lBSkUsa0JGL0VzQjtJRWdGdEIsNEJBQUE7RVArZUY7QUFDRjs7QU9oZEU7RUF4QkEsaUJGNUZ1QjtFRTZGdkIsd0JBQUE7RUFDQSw0QkFBQTtBUDRlRjtBUS9DSTtFRHZhRjtJQW5CRSxpQkZoR3lCO0lFaUd6Qiw0QkFBQTtFUDZlRjtBQUNGO0FRckRJO0VEdmFGO0lBZEUsaUJGcEdxQjtJRXFHckIsNEJBQUE7RVA4ZUY7QUFDRjtBUTNESTtFRHZhRjtJQVRFLGlCRnhHcUI7SUV5R3JCLDRCQUFBO0VQK2VGO0FBQ0Y7QVFqRUk7RUR2YUY7SUFKRSxpQkY1R3NCO0lFNkd0Qiw0QkFBQTtFUGdmRjtBQUNGOztBTzVjRTtFQTdCQSxpQkZ6SHVCO0VFMEh2QixrQkYxSHVCO0VFMkh2Qix3QkFBQTtFQUNBLDRCQUFBO0FQNmVGO0FROUVJO0VEcllGO0lBdkJFLGlCRjlIeUI7SUUrSHpCLGtCRi9IeUI7SUVnSXpCLDRCQUFBO0VQOGVGO0FBQ0Y7QVFyRkk7RURyWUY7SUFqQkUsaUJGbklxQjtJRW9JckIsa0JGcElxQjtJRXFJckIsNEJBQUE7RVArZUY7QUFDRjtBUTVGSTtFRHJZRjtJQVhFLGlCRnhJcUI7SUV5SXJCLGtCRnpJcUI7SUUwSXJCLDZCQUFBO0VQZ2ZGO0FBQ0Y7QVFuR0k7RURyWUY7SUFMRSxpQkY3SXNCO0lFOEl0QixrQkY5SXNCO0lFK0l0Qiw2QkFBQTtFUGlmRjtBQUNGOztBT2xkRTtFQXhCQSxtQkFBQTtFQUNBLHdCQUFBO0FQOGVGO0FRL0dJO0VEeFdGO0lBbkJFLG1CQUFBO0VQOGVGO0FBQ0Y7QVFwSEk7RUR4V0Y7SUFkRSxtQkFBQTtFUDhlRjtBQUNGO0FRekhJO0VEeFdGO0lBVEUsbUJBQUE7RVA4ZUY7QUFDRjtBUTlISTtFRHhXRjtJQUpFLG1CQUFBO0VQOGVGO0FBQ0Y7O0FPOWNFO0VBeEJBLGtCQUFBO0VBQ0Esd0JBQUE7QVAwZUY7QVF4SUk7RUQzVUY7SUFuQkUsa0JBQUE7RVAwZUY7QUFDRjtBUTdJSTtFRDNVRjtJQWRFLGtCQUFBO0VQMGVGO0FBQ0Y7QVFsSkk7RUQzVUY7SUFURSxrQkFBQTtFUDBlRjtBQUNGO0FRdkpJO0VEM1VGO0lBSkUsa0JBQUE7RVAwZUY7QUFDRjs7QU9yY0U7RUE3QkEsa0JBQUE7RUFDQSxtQkFBQTtFQUNBLHdCQUFBO0VBQ0Esd0JBQUE7QVBzZUY7QVFuS0k7RUR6U0Y7SUF2QkUsa0JBQUE7SUFDQSxtQkFBQTtJQUNBLHdCQUFBO0VQdWVGO0FBQ0Y7QVExS0k7RUR6U0Y7SUFqQkUsa0JBQUE7SUFDQSxtQkFBQTtJQUNBLHdCQUFBO0VQd2VGO0FBQ0Y7QVFqTEk7RUR6U0Y7SUFYRSxrQkFBQTtJQUNBLG1CQUFBO0lBQ0EseUJBQUE7RVB5ZUY7QUFDRjtBUXhMSTtFRHpTRjtJQUxFLGtCQUFBO0lBQ0EsbUJBQUE7SUFDQSx5QkFBQTtFUDBlRjtBQUNGOztBT2hkRTtFQW5CQSxpQkZoUG9CO0VFaVBwQix5QkFBQTtBUHVlRjtBUXBNSTtFRGpSRjtJQWZFLGlCRm5Qc0I7RUwydEJ4QjtBQUNGO0FRek1JO0VEalJGO0lBWEUsaUJGdFBrQjtFTCt0QnBCO0FBQ0Y7QVE5TUk7RURqUkY7SUFQRSxpQkZ6UGtCO0VMbXVCcEI7QUFDRjtBUW5OSTtFRGpSRjtJQUhFLGlCRjVQbUI7RUx1dUJyQjtBQUNGOztBT2pkRTtFQW5CQSxvQkZ4UW9CO0VFeVFwQix5QkFBQTtBUHdlRjtBUTdOSTtFRHpQRjtJQWZFLG9CRjNRc0I7RUxvdkJ4QjtBQUNGO0FRbE9JO0VEelBGO0lBWEUsb0JGOVFrQjtFTHd2QnBCO0FBQ0Y7QVF2T0k7RUR6UEY7SUFQRSxvQkZqUmtCO0VMNHZCcEI7QUFDRjtBUTVPSTtFRHpQRjtJQUhFLG9CRnBSbUI7RUxnd0JyQjtBQUNGOztBT2xkRTtFQW5CQSxrQkZ2U3VCO0VFd1N2Qix5QkFBQTtBUHllRjtBUXRQSTtFRGpPRjtJQWZFLGtCRjFTeUI7RUxveEIzQjtBQUNGO0FRM1BJO0VEak9GO0lBWEUsa0JGN1NxQjtFTHd4QnZCO0FBQ0Y7QVFoUUk7RURqT0Y7SUFQRSxrQkZoVHFCO0VMNHhCdkI7QUFDRjtBUXJRSTtFRGpPRjtJQUhFLGtCRm5Uc0I7RUxneUJ4QjtBQUNGOztBT25kRTtFQW5CQSxtQkYvVHVCO0VFZ1V2Qix5QkFBQTtBUDBlRjtBUS9RSTtFRHpNRjtJQWZFLG1CRmxVeUI7RUw2eUIzQjtBQUNGO0FRcFJJO0VEek1GO0lBWEUsbUJGclVxQjtFTGl6QnZCO0FBQ0Y7QVF6Ukk7RUR6TUY7SUFQRSxtQkZ4VXFCO0VMcXpCdkI7QUFDRjtBUTlSSTtFRHpNRjtJQUhFLG1CRjNVc0I7RUx5ekJ4QjtBQUNGOztBT3BlRTtFQW5HQSxpQkZoUG9CO0VFaVBwQix5QkFBQTtFQXVCQSxvQkZ4UW9CO0VFeVFwQix5QkFBQTtBUHFqQkY7QVExU0k7RURqTUY7SUEvRkUsaUJGblBzQjtFTGkwQnhCO0FBQ0Y7QVEvU0k7RURqTUY7SUEzRkUsaUJGdFBrQjtFTHEwQnBCO0FBQ0Y7QVFwVEk7RURqTUY7SUF2RkUsaUJGelBrQjtFTHkwQnBCO0FBQ0Y7QVF6VEk7RURqTUY7SUFuRkUsaUJGNVBtQjtFTDYwQnJCO0FBQ0Y7QVE5VEk7RURqTUY7SUF2RUUsb0JGM1FzQjtFTHExQnhCO0FBQ0Y7QVFuVUk7RURqTUY7SUFuRUUsb0JGOVFrQjtFTHkxQnBCO0FBQ0Y7QVF4VUk7RURqTUY7SUEvREUsb0JGalJrQjtFTDYxQnBCO0FBQ0Y7QVE3VUk7RURqTUY7SUEzREUsb0JGcFJtQjtFTGkyQnJCO0FBQ0Y7O0FPM2dCRTtFQW5DQSxtQkYvVHVCO0VFZ1V2Qix5QkFBQTtFQXpCQSxrQkZ2U3VCO0VFd1N2Qix5QkFBQTtBUDRrQkY7QVF6Vkk7RUR6TEY7SUEvQkUsbUJGbFV5QjtFTHUzQjNCO0FBQ0Y7QVE5Vkk7RUR6TEY7SUEzQkUsbUJGclVxQjtFTDIzQnZCO0FBQ0Y7QVFuV0k7RUR6TEY7SUF2QkUsbUJGeFVxQjtFTCszQnZCO0FBQ0Y7QVF4V0k7RUR6TEY7SUFuQkUsbUJGM1VzQjtFTG00QnhCO0FBQ0Y7QVE3V0k7RUR6TEY7SUF2REUsa0JGMVN5QjtFTDI0QjNCO0FBQ0Y7QVFsWEk7RUR6TEY7SUFuREUsa0JGN1NxQjtFTCs0QnZCO0FBQ0Y7QVF2WEk7RUR6TEY7SUEvQ0Usa0JGaFRxQjtFTG01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QTtFQUNBLFFBQUE7RUFDQSxVQUFBO0FWK3FDTjtBUTFyQ0k7RUVFQTtJSDFOQSxtQkZsVXlCO0VMd3REM0I7QUFDRjtBUS9yQ0k7RUVFQTtJSHROQSxtQkZyVXFCO0VMNHREdkI7QUFDRjtBUXBzQ0k7RUVFQTtJSGxOQSxtQkZ4VXFCO0VMZ3VEdkI7QUFDRjtBUXpzQ0k7RUVFQTtJSDlNQSxtQkYzVXNCO0VMb3VEeEI7QUFDRjtBUTlzQ0k7RUVFQTtJQVlJLFlMN2lCTztJSzhpQlAsZUFBQTtFVm9zQ047QUFDRjs7QVVsc0NNO0VBQ0UsaUJBQUE7RUFDQSxhQUFBO0VBQ0EsbUJBQUE7RUFDQSxTQUFBO0FWcXNDUjtBUTN0Q0k7RUVrQkU7SUFPSSxZTHhqQks7SUt5akJMLGFBQUE7RVZzc0NSO0FBQ0Y7QVVwc0NRO0VBQ0UsY0xyaUJEO0FMMnVEVDtBVXBzQ1U7RUFDRSxjQUFBO0FWc3NDWjtBVTdyQ007RUFDRSxjQUFBO0VBQ0EsaUJBQUE7RUFDQSxhQUFBO0VBQ0EsbUJBQUE7QVYrckNSO0FRN3VDSTtFRTBDRTtJQU9JLGlCQUFBO0VWZ3NDUjtBQUNGO0FRbHZDSTtFRTBDRTtJQVdJLGFBQUE7RVZpc0NSO0FBQ0Y7QVUvckNRO0VBQ0UsY0xoa0JEO0FMaXdEVDtBVS9yQ1U7RUFDRSxjQUFBO0FWaXNDWjs7QVU1ckNJO0VIdG1CRixXQUFBO0VBQ0EsWUFBQTtFR3VtQkksWUFBQTtFQUNBLGFBQUE7RUFDQSxrQkFBQTtFQUNBLFNMdm1CZTtFS3dtQmYsT0FBQTtFQUNBLHlCTGhsQkc7RUtpbEJILFVBQUE7QVZnc0NOO0FRendDSTtFRWlFQTtJQVdJLFNMM21CTztJSzRtQlAsWUFBQTtFVmlzQ047QUFDRjtBVS9yQ007RUg1U0osbUJGL1R1QjtFRWdVdkIseUJBQUE7RUF6QkEsa0JGdlN1QjtFRXdTdkIseUJBQUE7QVB3Z0RGO0FRcnhDSTtFRWdGRTtJSHhTRixtQkZsVXlCO0VMbXpEM0I7QUFDRjtBUTF4Q0k7RUVnRkU7SUhwU0YsbUJGclVxQjtFTHV6RHZCO0FBQ0Y7QVEveENJO0VFZ0ZFO0lIaFNGLG1CRnhVcUI7RUwyekR2QjtBQUNGO0FRcHlDSTtFRWdGRTtJSDVSRixtQkYzVXNCO0VMK3pEeEI7QUFDRjtBUXp5Q0k7RUVnRkU7SUhoVUYsa0JGMVN5QjtFTHUwRDNCO0FBQ0Y7QVE5eUNJO0VFZ0ZFO0lINVRGLGtCRjdTcUI7RUwyMER2QjtBQUNGO0FRbnpDSTtFRWdGRTtJSHhURixrQkZoVHFCO0VMKzBEdkI7QUFDRjtBUXh6Q0k7RUVnRkU7SUhwVEYsa0JGblRzQjtFTG0xRHhCO0FBQ0Y7O0FXMTJEQTs7R0FBQTtBQUlBO0VKWUUsV0FBQTtFQUNBLGlCRlJVO0VFU1YsY0FBQTtFSVpBLFlBQUE7RUFDQSxlQUFBO0VBQ0EsYUFBQTtFQUNBLCtCQUFBO0VBQ0Esd0JBQUE7QVg4MkRGOztBVzMyREU7RUFDRSxZQUFBO0VBQ0EsVUFBQTtFQUNBLHFCQUFBO0VBQ0EsV0FBQTtFQUNBLGtCQUFBO0FYODJESjtBVzUyREk7RUFDRSxXQUFBO0VBQ0EsZUFBQTtFQUNBLFlBQUE7RUFDQSxjTmNHO0VNYkgsY0FBQTtFQUNBLHlCQUFBO0VBQ0EsZ0JBQUE7RUFDQSxhQUFBO0FYODJETjtBVzMyREk7RUFDRSxXQUFBO0VBQ0EsZUFBQTtFQUNBLFlBQUE7RUFDQSxrQkFBQTtFQUNBLHlCQUFBO0VBQ0EsY0FBQTtFQUNBLHVCQUFBO0VBQ0EsY05ERztBTDgyRFQ7O0FXejJERTtFQUNFLFdBQUE7RUFDQSxZQUFBO0VBQ0EscUJBQUE7RUFDQSxXQUFBO0VBQ0EsaUJBQUE7RUFDQSxjTlpLO0VNYUwsaUJBQUE7RUFDQSx5Qk5iSztFTWNMLGtDQUFBO0FYNDJESjtBVzEyREk7RUFDRSx5QkFBQTtBWDQyRE47O0FZbjZEQTs7R0FBQTtBQUtBO0VMR0UsV0FBQTtFQUNBLFlBQUE7RUtGQSxpQkFBQTtFQUNBLGVBQUE7RUFDQSx5QlA2Qk87QUx3NERUOztBWW42REU7RUFDRSxZQUFBO0VBQ0EsZ0JBQUE7QVpzNkRKOztBWXA2REk7RUxQRixXQUFBO0VBQ0EsWUFBQTtFS1FJLGNBQUE7RUFJQSxzQkFBQTtFQUNBLGtCQUFBO0FacTZETjs7QVlsNkRNO0VBQ0UsV0FBQTtFQUNBLFlBQUE7RUFDQSxrQkFBQTtFQUNBLE1BQUE7RUFDQSxPQUFBO0VBQ0EsVUFBQTtFQUNBLHlCUEtDO0VPSEQsWUFBQTtFQUNBLDhCQUFBO0FabzZEUjtBWWw2RFE7RUFDRSx5QlBERDtFT0VDLFVBQUE7QVpvNkRWOztBWWg2RE07RUwzQkosV0FBQTtFQUNBLGlCRlJVO0VFU1YsY0FBQTtFQXVQQSxpQkZoUG9CO0VFaVBwQix5QkFBQTtFQXVCQSxvQkZ4UW9CO0VFeVFwQix5QkFBQTtFQStDQSxtQkYvVHVCO0VFZ1V2Qix5QkFBQTtFQXpCQSxrQkZ2U3VCO0VFd1N2Qix5QkFBQTtFSzFRTSxlQUFBO0VBQ0Esc0JBQUE7RUFDQSxtQkFBQTtFQUVBLGtCQUFBO0VBQ0EsVUFBQTtBWnk2RFI7QVFqN0NJO0VJbGdCRTtJTGtPRixpQkZuUHNCO0VMdzhEeEI7QUFDRjtBUXQ3Q0k7RUlsZ0JFO0lMc09GLGlCRnRQa0I7RUw0OERwQjtBQUNGO0FRMzdDSTtFSWxnQkU7SUwwT0YsaUJGelBrQjtFTGc5RHBCO0FBQ0Y7QVFoOENJO0VJbGdCRTtJTDhPRixpQkY1UG1CO0VMbzlEckI7QUFDRjtBUXI4Q0k7RUlsZ0JFO0lMMFBGLG9CRjNRc0I7RUw0OUR4QjtBQUNGO0FRMThDSTtFSWxnQkU7SUw4UEYsb0JGOVFrQjtFTGcrRHBCO0FBQ0Y7QVEvOENJO0VJbGdCRTtJTGtRRixvQkZqUmtCO0VMbytEcEI7QUFDRjtBUXA5Q0k7RUlsZ0JFO0lMc1FGLG9CRnBSbUI7RUx3K0RyQjtBQUNGO0FRejlDSTtFSWxnQkU7SUwwU0YsbUJGbFV5QjtFTHUvRDNCO0FBQ0Y7QVE5OUNJO0VJbGdCRTtJTDhTRixtQkZyVXFCO0VMMi9EdkI7QUFDRjtBUW4rQ0k7RUlsZ0JFO0lMa1RGLG1CRnhVcUI7RUwrL0R2QjtBQUNGO0FReCtDSTtFSWxnQkU7SUxzVEYsbUJGM1VzQjtFTG1nRXhCO0FBQ0Y7QVE3K0NJO0VJbGdCRTtJTGtSRixrQkYxU3lCO0VMMmdFM0I7QUFDRjtBUWwvQ0k7RUlsZ0JFO0lMc1JGLGtCRjdTcUI7RUwrZ0V2QjtBQUNGO0FRdi9DSTtFSWxnQkU7SUwwUkYsa0JGaFRxQjtFTG1oRXZCO0FBQ0Y7QVE1L0NJO0VJbGdCRTtJTDhSRixrQkZuVHNCO0VMdWhFeEI7QUFDRjs7QVlyL0RVO0VBQ0UsV0FBQTtFQUNBLGdCQUFBO0VBQ0EsY1BoQkg7RU9rQkcsNkJBQUE7QVp1L0RaOztBWWovRFU7RUFDRSxnQkFBQTtFQUNBLGVBQUE7RUFDQSxjUDNCSDtFTzRCRyw2QkFBQTtBWm8vRFo7O0FZLytESTtFTHJFRixXQUFBO0VBQ0EsWUFBQTtBUHdqRUY7O0FZai9ETTtFQUNFLGFBQUE7RUFDQSwwQkFBQTtFQUNBLHdCQUFBO0Faby9EUjtBUTFoREk7RUk3ZEU7SUFNSSwwQkFBQTtJQUNBLHdCQUFBO0VacS9EUjtBQUNGOztBWWwvRE07RUFDRSw4QkFBQTtFQUNBLDZCQUFBO0FacS9EUjtBUXJpREk7RUlsZEU7SUFLSSxnQ0FBQTtJQUNBLDRCQUFBO0Vacy9EUjtBQUNGOztBWXAvRFE7RUFDRSxXQUFBO0VBQ0EsZ0JBQUE7RUFDQSxxQkFBQTtFQUNBLFdBQUE7QVp1L0RWO0FRbGpESTtFSXpjSTtJQU9JLHFCQUFBO0lBQ0EsV0FBQTtFWncvRFY7QUFDRjs7QVl0L0RVO0VMdkdSLFdBQUE7RUFDQSxZQUFBO0FQaW1FRjs7QVl4L0RZO0VMbEdWLFdBQUE7RUFDQSxpQkZSVTtFRVNWLGNBQUE7RUErVEEsbUJGL1R1QjtFRWdVdkIseUJBQUE7RUF6QkEsa0JGdlN1QjtFRXdTdkIseUJBQUE7RUFqREEsaUJGaFBvQjtFRWlQcEIseUJBQUE7RUF1QkEsb0JGeFFvQjtFRXlRcEIseUJBQUE7QVBzMURGO0FRM2tESTtFSTNiUTtJTG1PUixtQkZsVXlCO0VMeW1FM0I7QUFDRjtBUWhsREk7RUkzYlE7SUx1T1IsbUJGclVxQjtFTDZtRXZCO0FBQ0Y7QVFybERJO0VJM2JRO0lMMk9SLG1CRnhVcUI7RUxpbkV2QjtBQUNGO0FRMWxESTtFSTNiUTtJTCtPUixtQkYzVXNCO0VMcW5FeEI7QUFDRjtBUS9sREk7RUkzYlE7SUwyTVIsa0JGMVN5QjtFTDZuRTNCO0FBQ0Y7QVFwbURJO0VJM2JRO0lMK01SLGtCRjdTcUI7RUxpb0V2QjtBQUNGO0FRem1ESTtFSTNiUTtJTG1OUixrQkZoVHFCO0VMcW9FdkI7QUFDRjtBUTltREk7RUkzYlE7SUx1TlIsa0JGblRzQjtFTHlvRXhCO0FBQ0Y7QVFubkRJO0VJM2JRO0lMMkpSLGlCRm5Qc0I7RUwwb0V4QjtBQUNGO0FReG5ESTtFSTNiUTtJTCtKUixpQkZ0UGtCO0VMOG9FcEI7QUFDRjtBUTduREk7RUkzYlE7SUxtS1IsaUJGelBrQjtFTGtwRXBCO0FBQ0Y7QVFsb0RJO0VJM2JRO0lMdUtSLGlCRjVQbUI7RUxzcEVyQjtBQUNGO0FRdm9ESTtFSTNiUTtJTG1MUixvQkYzUXNCO0VMOHBFeEI7QUFDRjtBUTVvREk7RUkzYlE7SUx1TFIsb0JGOVFrQjtFTGtxRXBCO0FBQ0Y7QVFqcERJO0VJM2JRO0lMMkxSLG9CRmpSa0I7RUxzcUVwQjtBQUNGO0FRdHBESTtFSTNiUTtJTCtMUixvQkZwUm1CO0VMMHFFckI7QUFDRjs7QVlobEVRO0VBQ0UsZ0JBQUE7QVptbEVWO0FRL3BESTtFSXJiSTtJQUlJLG9CQUFBO0Vab2xFVjtBQUNGOztBWWpsRVE7RUxpS04sb0JGeFFvQjtFRXlRcEIseUJBQUE7RUtoS1EsV0FBQTtFQUNBLHFCQUFBO0VBQ0EsV0FBQTtBWnFsRVY7QVE1cURJO0VJN2FJO0lMcUtKLG9CRjNRc0I7RUxtc0V4QjtBQUNGO0FRanJESTtFSTdhSTtJTHlLSixvQkY5UWtCO0VMdXNFcEI7QUFDRjtBUXRyREk7RUk3YUk7SUw2S0osb0JGalJrQjtFTDJzRXBCO0FBQ0Y7QVEzckRJO0VJN2FJO0lMaUxKLG9CRnBSbUI7RUwrc0VyQjtBQUNGO0FRaHNESTtFSTdhSTtJQU9JLHFCQUFBO0lBQ0EsV0FBQTtFWjBtRVY7QUFDRjs7QWFudkVBOztHQUFBO0FBS0E7RU5HRSxXQUFBO0VBQ0EsWUFBQTtFTUZBLGlCQUFBO0VBQ0EsZUFBQTtFQUNBLHlCUjZDWTtBTHdzRWQ7O0FhbnZFRTtFTjhQQSxpQkZoUG9CO0VFaVBwQix5QkFBQTtFQXVCQSxvQkZ4UW9CO0VFeVFwQix5QkFBQTtFQStDQSxtQkYvVHVCO0VFZ1V2Qix5QkFBQTtFQXpCQSxrQkZ2U3VCO0VFd1N2Qix5QkFBQTtFTTNTRSxrQkFBQTtFQUNBLGdCQUFBO0VBQ0EsY1JxQks7RVFwQkwsYUFBQTtFQUNBLDhCQUFBO0VBQ0EseUJBQUE7QWIydkVKO0FRbHVESTtFS2xpQkY7SU5rUUUsaUJGblBzQjtFTHl2RXhCO0FBQ0Y7QVF2dURJO0VLbGlCRjtJTnNRRSxpQkZ0UGtCO0VMNnZFcEI7QUFDRjtBUTV1REk7RUtsaUJGO0lOMFFFLGlCRnpQa0I7RUxpd0VwQjtBQUNGO0FRanZESTtFS2xpQkY7SU44UUUsaUJGNVBtQjtFTHF3RXJCO0FBQ0Y7QVF0dkRJO0VLbGlCRjtJTjBSRSxvQkYzUXNCO0VMNndFeEI7QUFDRjtBUTN2REk7RUtsaUJGO0lOOFJFLG9CRjlRa0I7RUxpeEVwQjtBQUNGO0FRaHdESTtFS2xpQkY7SU5rU0Usb0JGalJrQjtFTHF4RXBCO0FBQ0Y7QVFyd0RJO0VLbGlCRjtJTnNTRSxvQkZwUm1CO0VMeXhFckI7QUFDRjtBUTF3REk7RUtsaUJGO0lOMFVFLG1CRmxVeUI7RUx3eUUzQjtBQUNGO0FRL3dESTtFS2xpQkY7SU44VUUsbUJGclVxQjtFTDR5RXZCO0FBQ0Y7QVFweERJO0VLbGlCRjtJTmtWRSxtQkZ4VXFCO0VMZ3pFdkI7QUFDRjtBUXp4REk7RUtsaUJGO0lOc1ZFLG1CRjNVc0I7RUxvekV4QjtBQUNGO0FROXhESTtFS2xpQkY7SU5rVEUsa0JGMVN5QjtFTDR6RTNCO0FBQ0Y7QVFueURJO0VLbGlCRjtJTnNURSxrQkY3U3FCO0VMZzBFdkI7QUFDRjtBUXh5REk7RUtsaUJGO0lOMFRFLGtCRmhUcUI7RUxvMEV2QjtBQUNGO0FRN3lESTtFS2xpQkY7SU44VEUsa0JGblRzQjtFTHcwRXhCO0FBQ0Y7O0FhejBFSTtFQUNFLGVBQUE7RUFFQSxxQkFBQTtFQUNBLFdBQUE7RUFDQSxhQUFBO0VB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O0FEb2tGUjtBUWhvRUk7RVB2Y0U7SUFNSSxjQUFBO0VEcWtGUjtBQUNGIiwiZmlsZSI6InNlcnZpY2VzLmNzcyIsInNvdXJjZXNDb250ZW50IjpbIkBjaGFyc2V0IFwiVVRGLThcIjtcbi8qKlxuICAqIFBBR0UtU1BFQ0lGSUMgU1RZTEVTSEVFVDogU2VydmljZXNcbiAgKlxuICAqIEltcG9ydCBjb21tb24gc3R5bGVzIGFuZCBob3VzZSBwYWdlLXNwZWNpZmljIHN0eWxlcyBmb3IgU2VydmljZXMgcGFnZS5cbiAgKi9cbi8qKlxuICAqIENPTU1PTiBTVFlMRVNcbiAgKlxuICAqIERlZmluZXMgdGhlIHN0eWxlcyB0byBpbXBvcnQgdGhhdCBhcmUgcmVxdWlyZWQgYnkgdmlydHVhbGx5IGFsbCBwYWdlcy5cbiAgKi9cbi8qISBub3JtYWxpemUuY3NzIHY4LjAuMSB8IE1JVCBMaWNlbnNlIHwgZ2l0aHViLmNvbS9uZWNvbGFzL25vcm1hbGl6ZS5jc3MgKi9cbi8qIERvY3VtZW50XG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLyoqXG4gKiAxLiBDb3JyZWN0IHRoZSBsaW5lIGhlaWdodCBpbiBhbGwgYnJvd3NlcnMuXG4gKiAyLiBQcmV2ZW50IGFkanVzdG1lbnRzIG9mIGZvbnQgc2l6ZSBhZnRlciBvcmllbnRhdGlvbiBjaGFuZ2VzIGluIGlPUy5cbiAqL1xuaHRtbCB7XG4gIGxpbmUtaGVpZ2h0OiAxLjE1OyAvKiAxICovXG4gIC13ZWJraXQtdGV4dC1zaXplLWFkanVzdDogMTAwJTsgLyogMiAqL1xufVxuXG4vKiBTZWN0aW9uc1xuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8qKlxuICogUmVtb3ZlIHRoZSBtYXJnaW4gaW4gYWxsIGJyb3dzZXJzLlxuICovXG5ib2R5IHtcbiAgbWFyZ2luOiAwO1xufVxuXG4vKipcbiAqIFJlbmRlciB0aGUgYG1haW5gIGVsZW1lbnQgY29uc2lzdGVudGx5IGluIElFLlxuICovXG5tYWluIHtcbiAgZGlzcGxheTogYmxvY2s7XG59XG5cbi8qKlxuICogQ29ycmVjdCB0aGUgZm9udCBzaXplIGFuZCBtYXJnaW4gb24gYGgxYCBlbGVtZW50cyB3aXRoaW4gYHNlY3Rpb25gIGFuZFxuICogYGFydGljbGVgIGNvbnRleHRzIGluIENocm9tZSwgRmlyZWZveCwgYW5kIFNhZmFyaS5cbiAqL1xuaDEge1xuICBmb250LXNpemU6IDJlbTtcbiAgbWFyZ2luOiAwLjY3ZW0gMDtcbn1cblxuLyogR3JvdXBpbmcgY29udGVudFxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8qKlxuICogMS4gQWRkIHRoZSBjb3JyZWN0IGJveCBzaXppbmcgaW4gRmlyZWZveC5cbiAqIDIuIFNob3cgdGhlIG92ZXJmbG93IGluIEVkZ2UgYW5kIElFLlxuICovXG5ociB7XG4gIGJveC1zaXppbmc6IGNvbnRlbnQtYm94OyAvKiAxICovXG4gIGhlaWdodDogMDsgLyogMSAqL1xuICBvdmVyZmxvdzogdmlzaWJsZTsgLyogMiAqL1xufVxuXG4vKipcbiAqIDEuIENvcnJlY3QgdGhlIGluaGVyaXRhbmNlIGFuZCBzY2FsaW5nIG9mIGZvbnQgc2l6ZSBpbiBhbGwgYnJvd3NlcnMuXG4gKiAyLiBDb3JyZWN0IHRoZSBvZGQgYGVtYCBmb250IHNpemluZyBpbiBhbGwgYnJvd3NlcnMuXG4gKi9cbnByZSB7XG4gIGZvbnQtZmFtaWx5OiBtb25vc3BhY2UsIG1vbm9zcGFjZTsgLyogMSAqL1xuICBmb250LXNpemU6IDFlbTsgLyogMiAqL1xufVxuXG4vKiBUZXh0LWxldmVsIHNlbWFudGljc1xuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8qKlxuICogUmVtb3ZlIHRoZSBncmF5IGJhY2tncm91bmQgb24gYWN0aXZlIGxpbmtzIGluIElFIDEwLlxuICovXG5hIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG59XG5cbi8qKlxuICogMS4gUmVtb3ZlIHRoZSBib3R0b20gYm9yZGVyIGluIENocm9tZSA1Ny1cbiAqIDIuIEFkZCB0aGUgY29ycmVjdCB0ZXh0IGRlY29yYXRpb24gaW4gQ2hyb21lLCBFZGdlLCBJRSwgT3BlcmEsIGFuZCBTYWZhcmkuXG4gKi9cbmFiYnJbdGl0bGVdIHtcbiAgYm9yZGVyLWJvdHRvbTogbm9uZTsgLyogMSAqL1xuICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTsgLyogMiAqL1xuICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZSBkb3R0ZWQ7IC8qIDIgKi9cbn1cblxuLyoqXG4gKiBBZGQgdGhlIGNvcnJlY3QgZm9udCB3ZWlnaHQgaW4gQ2hyb21lLCBFZGdlLCBhbmQgU2FmYXJpLlxuICovXG5iLFxuc3Ryb25nIHtcbiAgZm9udC13ZWlnaHQ6IGJvbGRlcjtcbn1cblxuLyoqXG4gKiAxLiBDb3JyZWN0IHRoZSBpbmhlcml0YW5jZSBhbmQgc2NhbGluZyBvZiBmb250IHNpemUgaW4gYWxsIGJyb3dzZXJzLlxuICogMi4gQ29ycmVjdCB0aGUgb2RkIGBlbWAgZm9udCBzaXppbmcgaW4gYWxsIGJyb3dzZXJzLlxuICovXG5jb2RlLFxua2JkLFxuc2FtcCB7XG4gIGZvbnQtZmFtaWx5OiBtb25vc3BhY2UsIG1vbm9zcGFjZTsgLyogMSAqL1xuICBmb250LXNpemU6IDFlbTsgLyogMiAqL1xufVxuXG4vKipcbiAqIEFkZCB0aGUgY29ycmVjdCBmb250IHNpemUgaW4gYWxsIGJyb3dzZXJzLlxuICovXG5zbWFsbCB7XG4gIGZvbnQtc2l6ZTogODAlO1xufVxuXG4vKipcbiAqIFByZXZlbnQgYHN1YmAgYW5kIGBzdXBgIGVsZW1lbnRzIGZyb20gYWZmZWN0aW5nIHRoZSBsaW5lIGhlaWdodCBpblxuICogYWxsIGJyb3dzZXJzLlxuICovXG5zdWIsXG5zdXAge1xuICBmb250LXNpemU6IDc1JTtcbiAgbGluZS1oZWlnaHQ6IDA7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgdmVydGljYWwtYWxpZ246IGJhc2VsaW5lO1xufVxuXG5zdWIge1xuICBib3R0b206IC0wLjI1ZW07XG59XG5cbnN1cCB7XG4gIHRvcDogLTAuNWVtO1xufVxuXG4vKiBFbWJlZGRlZCBjb250ZW50XG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLyoqXG4gKiBSZW1vdmUgdGhlIGJvcmRlciBvbiBpbWFnZXMgaW5zaWRlIGxpbmtzIGluIElFIDEwLlxuICovXG5pbWcge1xuICBib3JkZXItc3R5bGU6IG5vbmU7XG59XG5cbi8qIEZvcm1zXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLyoqXG4gKiAxLiBDaGFuZ2UgdGhlIGZvbnQgc3R5bGVzIGluIGFsbCBicm93c2Vycy5cbiAqIDIuIFJlbW92ZSB0aGUgbWFyZ2luIGluIEZpcmVmb3ggYW5kIFNhZmFyaS5cbiAqL1xuYnV0dG9uLFxuaW5wdXQsXG5vcHRncm91cCxcbnNlbGVjdCxcbnRleHRhcmVhIHtcbiAgZm9udC1mYW1pbHk6IGluaGVyaXQ7IC8qIDEgKi9cbiAgZm9udC1zaXplOiAxMDAlOyAvKiAxICovXG4gIGxpbmUtaGVpZ2h0OiAxLjE1OyAvKiAxICovXG4gIG1hcmdpbjogMDsgLyogMiAqL1xufVxuXG4vKipcbiAqIFNob3cgdGhlIG92ZXJmbG93IGluIElFLlxuICogMS4gU2hvdyB0aGUgb3ZlcmZsb3cgaW4gRWRnZS5cbiAqL1xuYnV0dG9uLFxuaW5wdXQgeyAvKiAxICovXG4gIG92ZXJmbG93OiB2aXNpYmxlO1xufVxuXG4vKipcbiAqIFJlbW92ZSB0aGUgaW5oZXJpdGFuY2Ugb2YgdGV4dCB0cmFuc2Zvcm0gaW4gRWRnZSwgRmlyZWZveCwgYW5kIElFLlxuICogMS4gUmVtb3ZlIHRoZSBpbmhlcml0YW5jZSBvZiB0ZXh0IHRyYW5zZm9ybSBpbiBGaXJlZm94LlxuICovXG5idXR0b24sXG5zZWxlY3QgeyAvKiAxICovXG4gIHRleHQtdHJhbnNmb3JtOiBub25lO1xufVxuXG4vKipcbiAqIENvcnJlY3QgdGhlIGluYWJpbGl0eSB0byBzdHlsZSBjbGlja2FibGUgdHlwZXMgaW4gaU9TIGFuZCBTYWZhcmkuXG4gKi9cbmJ1dHRvbixcblt0eXBlPWJ1dHRvbl0sXG5bdHlwZT1yZXNldF0sXG5bdHlwZT1zdWJtaXRdIHtcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiBidXR0b247XG59XG5cbi8qKlxuICogUmVtb3ZlIHRoZSBpbm5lciBib3JkZXIgYW5kIHBhZGRpbmcgaW4gRmlyZWZveC5cbiAqL1xuYnV0dG9uOjotbW96LWZvY3VzLWlubmVyLFxuW3R5cGU9YnV0dG9uXTo6LW1vei1mb2N1cy1pbm5lcixcblt0eXBlPXJlc2V0XTo6LW1vei1mb2N1cy1pbm5lcixcblt0eXBlPXN1Ym1pdF06Oi1tb3otZm9jdXMtaW5uZXIge1xuICBib3JkZXItc3R5bGU6IG5vbmU7XG4gIHBhZGRpbmc6IDA7XG59XG5cbi8qKlxuICogUmVzdG9yZSB0aGUgZm9jdXMgc3R5bGVzIHVuc2V0IGJ5IHRoZSBwcmV2aW91cyBydWxlLlxuICovXG5idXR0b246LW1vei1mb2N1c3JpbmcsXG5bdHlwZT1idXR0b25dOi1tb3otZm9jdXNyaW5nLFxuW3R5cGU9cmVzZXRdOi1tb3otZm9jdXNyaW5nLFxuW3R5cGU9c3VibWl0XTotbW96LWZvY3VzcmluZyB7XG4gIG91dGxpbmU6IDFweCBkb3R0ZWQgQnV0dG9uVGV4dDtcbn1cblxuLyoqXG4gKiBDb3JyZWN0IHRoZSBwYWRkaW5nIGluIEZpcmVmb3guXG4gKi9cbmZpZWxkc2V0IHtcbiAgcGFkZGluZzogMC4zNWVtIDAuNzVlbSAwLjYyNWVtO1xufVxuXG4vKipcbiAqIDEuIENvcnJlY3QgdGhlIHRleHQgd3JhcHBpbmcgaW4gRWRnZSBhbmQgSUUuXG4gKiAyLiBDb3JyZWN0IHRoZSBjb2xvciBpbmhlcml0YW5jZSBmcm9tIGBmaWVsZHNldGAgZWxlbWVudHMgaW4gSUUuXG4gKiAzLiBSZW1vdmUgdGhlIHBhZGRpbmcgc28gZGV2ZWxvcGVycyBhcmUgbm90IGNhdWdodCBvdXQgd2hlbiB0aGV5IHplcm8gb3V0XG4gKiAgICBgZmllbGRzZXRgIGVsZW1lbnRzIGluIGFsbCBicm93c2Vycy5cbiAqL1xubGVnZW5kIHtcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDsgLyogMSAqL1xuICBjb2xvcjogaW5oZXJpdDsgLyogMiAqL1xuICBkaXNwbGF5OiB0YWJsZTsgLyogMSAqL1xuICBtYXgtd2lkdGg6IDEwMCU7IC8qIDEgKi9cbiAgcGFkZGluZzogMDsgLyogMyAqL1xuICB3aGl0ZS1zcGFjZTogbm9ybWFsOyAvKiAxICovXG59XG5cbi8qKlxuICogQWRkIHRoZSBjb3JyZWN0IHZlcnRpY2FsIGFsaWdubWVudCBpbiBDaHJvbWUsIEZpcmVmb3gsIGFuZCBPcGVyYS5cbiAqL1xucHJvZ3Jlc3Mge1xuICB2ZXJ0aWNhbC1hbGlnbjogYmFzZWxpbmU7XG59XG5cbi8qKlxuICogUmVtb3ZlIHRoZSBkZWZhdWx0IHZlcnRpY2FsIHNjcm9sbGJhciBpbiBJRSAxMCsuXG4gKi9cbnRleHRhcmVhIHtcbiAgb3ZlcmZsb3c6IGF1dG87XG59XG5cbi8qKlxuICogMS4gQWRkIHRoZSBjb3JyZWN0IGJveCBzaXppbmcgaW4gSUUgMTAuXG4gKiAyLiBSZW1vdmUgdGhlIHBhZGRpbmcgaW4gSUUgMTAuXG4gKi9cblt0eXBlPWNoZWNrYm94XSxcblt0eXBlPXJhZGlvXSB7XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7IC8qIDEgKi9cbiAgcGFkZGluZzogMDsgLyogMiAqL1xufVxuXG4vKipcbiAqIENvcnJlY3QgdGhlIGN1cnNvciBzdHlsZSBvZiBpbmNyZW1lbnQgYW5kIGRlY3JlbWVudCBidXR0b25zIGluIENocm9tZS5cbiAqL1xuW3R5cGU9bnVtYmVyXTo6LXdlYmtpdC1pbm5lci1zcGluLWJ1dHRvbixcblt0eXBlPW51bWJlcl06Oi13ZWJraXQtb3V0ZXItc3Bpbi1idXR0b24ge1xuICBoZWlnaHQ6IGF1dG87XG59XG5cbi8qKlxuICogMS4gQ29ycmVjdCB0aGUgb2RkIGFwcGVhcmFuY2UgaW4gQ2hyb21lIGFuZCBTYWZhcmkuXG4gKiAyLiBDb3JyZWN0IHRoZSBvdXRsaW5lIHN0eWxlIGluIFNhZmFyaS5cbiAqL1xuW3R5cGU9c2VhcmNoXSB7XG4gIC13ZWJraXQtYXBwZWFyYW5jZTogdGV4dGZpZWxkOyAvKiAxICovXG4gIG91dGxpbmUtb2Zmc2V0OiAtMnB4OyAvKiAyICovXG59XG5cbi8qKlxuICogUmVtb3ZlIHRoZSBpbm5lciBwYWRkaW5nIGluIENocm9tZSBhbmQgU2FmYXJpIG9uIG1hY09TLlxuICovXG5bdHlwZT1zZWFyY2hdOjotd2Via2l0LXNlYXJjaC1kZWNvcmF0aW9uIHtcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lO1xufVxuXG4vKipcbiAqIDEuIENvcnJlY3QgdGhlIGluYWJpbGl0eSB0byBzdHlsZSBjbGlja2FibGUgdHlwZXMgaW4gaU9TIGFuZCBTYWZhcmkuXG4gKiAyLiBDaGFuZ2UgZm9udCBwcm9wZXJ0aWVzIHRvIGBpbmhlcml0YCBpbiBTYWZhcmkuXG4gKi9cbjo6LXdlYmtpdC1maWxlLXVwbG9hZC1idXR0b24ge1xuICAtd2Via2l0LWFwcGVhcmFuY2U6IGJ1dHRvbjsgLyogMSAqL1xuICBmb250OiBpbmhlcml0OyAvKiAyICovXG59XG5cbi8qIEludGVyYWN0aXZlXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLypcbiAqIEFkZCB0aGUgY29ycmVjdCBkaXNwbGF5IGluIEVkZ2UsIElFIDEwKywgYW5kIEZpcmVmb3guXG4gKi9cbmRldGFpbHMge1xuICBkaXNwbGF5OiBibG9jaztcbn1cblxuLypcbiAqIEFkZCB0aGUgY29ycmVjdCBkaXNwbGF5IGluIGFsbCBicm93c2Vycy5cbiAqL1xuc3VtbWFyeSB7XG4gIGRpc3BsYXk6IGxpc3QtaXRlbTtcbn1cblxuLyogTWlzY1xuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8qKlxuICogQWRkIHRoZSBjb3JyZWN0IGRpc3BsYXkgaW4gSUUgMTArLlxuICovXG50ZW1wbGF0ZSB7XG4gIGRpc3BsYXk6IG5vbmU7XG59XG5cbi8qKlxuICogQWRkIHRoZSBjb3JyZWN0IGRpc3BsYXkgaW4gSUUgMTAuXG4gKi9cbltoaWRkZW5dIHtcbiAgZGlzcGxheTogbm9uZTtcbn1cblxuLyoqXG4gICogU0NTUyBCUkVBS1BPSU5UU1xuICAqXG4gICogRGVmaW5lIGJyZWFrcG9pbnRzIGZvciBtZWRpYSBxdWVyeSB1c2UgYW5kIGV4cG9ydCB0aGVtIGZvciB1c2Ugd2l0aCBKUy5cbiAgKi9cbjpleHBvcnQge1xuICBicmVha3BvaW50UGhvbmVTbWFsbDogMzIwO1xuICBicmVha3BvaW50UGhvbmVMYXJnZTogNDgwO1xuICBicmVha3BvaW50VGFibGV0OiA3Njg7XG4gIGJyZWFrcG9pbnRMYXB0b3A6IDk5MjtcbiAgYnJlYWtwb2ludERlc2t0b3A6IDEyMDA7XG4gIGJyZWFrcG9pbnREZXNrdG9wTGFyZ2U6IDE0MDA7XG4gIGJyZWFrcG9pbnRIZDogMTkyMDtcbn1cblxuLyoqXG4gICogU0NTUyBWQVJJQUJMRVNcbiAgKi9cbi8qKlxuICAqIERpbWVuc2lvbnM6XG4gICovXG4vKipcbiAgKiBDb2xvcnM6XG4gICovXG4vKipcbiAgKiBGT05UIFNUWUxFU1xuICAqXG4gICogRGVmaW5lIEBmb250LWZhY2Ugc3R5bGVzLlxuICAqL1xuQGZvbnQtZmFjZSB7XG4gIGZvbnQtZmFtaWx5OiBMYXRvO1xuICBzcmM6IHVybCguLi9mb250cy9MYXRvLVRoaW4udHRmKTtcbiAgZm9udC13ZWlnaHQ6IDEwMDtcbiAgZm9udC1zdHlsZTogbm9ybWFsO1xufVxuQGZvbnQtZmFjZSB7XG4gIGZvbnQtZmFtaWx5OiBMYXRvO1xuICBzcmM6IHVybCguLi9mb250cy9MYXRvLVRoaW5JdGFsaWMudHRmKTtcbiAgZm9udC13ZWlnaHQ6IDEwMDtcbiAgZm9udC1zdHlsZTogaXRhbGljO1xufVxuQGZvbnQtZmFjZSB7XG4gIGZvbnQtZmFtaWx5OiBMYXRvO1xuICBzcmM6IHVybCguLi9mb250cy9MYXRvLUxpZ2h0LnR0Zik7XG4gIGZvbnQtd2VpZ2h0OiAzMDA7XG4gIGZvbnQtc3R5bGU6IG5vcm1hbDtcbn1cbkBmb250LWZhY2Uge1xuICBmb250LWZhbWlseTogTGF0bztcbiAgc3JjOiB1cmwoLi4vZm9udHMvTGF0by1MaWdodEl0YWxpYy50dGYpO1xuICBmb250LXdlaWdodDogMzAwO1xuICBmb250LXN0eWxlOiBpdGFsaWM7XG59XG5AZm9udC1mYWNlIHtcbiAgZm9udC1mYW1pbHk6IExhdG87XG4gIHNyYzogdXJsKC4uL2ZvbnRzL0xhdG8tUmVndWxhci50dGYpO1xuICBmb250LXdlaWdodDogNDAwO1xuICBmb250LXN0eWxlOiBub3JtYWw7XG59XG5AZm9udC1mYWNlIHtcbiAgZm9udC1mYW1pbHk6IExhdG87XG4gIHNyYzogdXJsKC4uL2ZvbnRzL0xhdG8tSXRhbGljLnR0Zik7XG4gIGZvbnQtd2VpZ2h0OiA0MDA7XG4gIGZvbnQtc3R5bGU6IGl0YWxpYztcbn1cbkBmb250LWZhY2Uge1xuICBmb250LWZhbWlseTogTGF0bztcbiAgc3JjOiB1cmwoLi4vZm9udHMvTGF0by1Cb2xkLnR0Zik7XG4gIGZvbnQtd2VpZ2h0OiA3MDA7XG4gIGZvbnQtc3R5bGU6IG5vcm1hbDtcbn1cbkBmb250LWZhY2Uge1xuICBmb250LWZhbWlseTogTGF0bztcbiAgc3JjOiB1cmwoLi4vZm9udHMvTGF0by1Cb2xkSXRhbGljLnR0Zik7XG4gIGZvbnQtd2VpZ2h0OiA3MDA7XG4gIGZvbnQtc3R5bGU6IGl0YWxpYztcbn1cbkBmb250LWZhY2Uge1xuICBmb250LWZhbWlseTogTGF0bztcbiAgc3JjOiB1cmwoLi4vZm9udHMvTGF0by1CbGFjay50dGYpO1xuICBmb250LXdlaWdodDogOTAwO1xuICBmb250LXN0eWxlOiBub3JtYWw7XG59XG5AZm9udC1mYWNlIHtcbiAgZm9udC1mYW1pbHk6IExhdG87XG4gIHNyYzogdXJsKC4uL2ZvbnRzL0xhdG8tQmxhY2tJdGFsaWMudHRmKTtcbiAgZm9udC13ZWlnaHQ6IDkwMDtcbiAgZm9udC1zdHlsZTogaXRhbGljO1xufVxuQGZvbnQtZmFjZSB7XG4gIGZvbnQtZmFtaWx5OiBNZXJyaXdlYXRoZXI7XG4gIHNyYzogdXJsKC4uL2ZvbnRzL01lcnJpd2VhdGhlci1MaWdodC50dGYpO1xuICBmb250LXdlaWdodDogMzAwO1xuICBmb250LXN0eWxlOiBub3JtYWw7XG59XG5AZm9udC1mYWNlIHtcbiAgZm9udC1mYW1pbHk6IE1lcnJpd2VhdGhlcjtcbiAgc3JjOiB1cmwoLi4vZm9udHMvTWVycml3ZWF0aGVyLUxpZ2h0SXRhbGljLnR0Zik7XG4gIGZvbnQtd2VpZ2h0OiAzMDA7XG4gIGZvbnQtc3R5bGU6IGl0YWxpYztcbn1cbkBmb250LWZhY2Uge1xuICBmb250LWZhbWlseTogTWVycml3ZWF0aGVyO1xuICBzcmM6IHVybCguLi9mb250cy9NZXJyaXdlYXRoZXItUmVndWxhci50dGYpO1xuICBmb250LXdlaWdodDogNDAwO1xuICBmb250LXN0eWxlOiBub3JtYWw7XG59XG5AZm9udC1mYWNlIHtcbiAgZm9udC1mYW1pbHk6IE1lcnJpd2VhdGhlcjtcbiAgc3JjOiB1cmwoLi4vZm9udHMvTWVycml3ZWF0aGVyLUl0YWxpYy50dGYpO1xuICBmb250LXdlaWdodDogNDAwO1xuICBmb250LXN0eWxlOiBpdGFsaWM7XG59XG5AZm9udC1mYWNlIHtcbiAgZm9udC1mYW1pbHk6IE1lcnJpd2VhdGhlcjtcbiAgc3JjOiB1cmwoLi4vZm9udHMvTWVycml3ZWF0aGVyLUJvbGQudHRmKTtcbiAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgZm9udC1zdHlsZTogbm9ybWFsO1xufVxuQGZvbnQtZmFjZSB7XG4gIGZvbnQtZmFtaWx5OiBNZXJyaXdlYXRoZXI7XG4gIHNyYzogdXJsKC4uL2ZvbnRzL01lcnJpd2VhdGhlci1Cb2xkSXRhbGljLnR0Zik7XG4gIGZvbnQtd2VpZ2h0OiA3MDA7XG4gIGZvbnQtc3R5bGU6IGl0YWxpYztcbn1cbkBmb250LWZhY2Uge1xuICBmb250LWZhbWlseTogTWVycml3ZWF0aGVyO1xuICBzcmM6IHVybCguLi9mb250cy9NZXJyaXdlYXRoZXItQmxhY2sudHRmKTtcbiAgZm9udC13ZWlnaHQ6IDkwMDtcbiAgZm9udC1zdHlsZTogbm9ybWFsO1xufVxuQGZvbnQtZmFjZSB7XG4gIGZvbnQtZmFtaWx5OiBNZXJyaXdlYXRoZXI7XG4gIHNyYzogdXJsKC4uL2ZvbnRzL01lcnJpd2VhdGhlci1CbGFja0l0YWxpYy50dGYpO1xuICBmb250LXdlaWdodDogOTAwO1xuICBmb250LXN0eWxlOiBpdGFsaWM7XG59XG4vKipcbiAgKiBTQ1NTIE1JWElOU1xuICAqXG4gICogU3RhbmRhcmRpemVkIHN0eWxlIGNodW5rcywgcHJvdmlkZWQgYXMgYm90aCBTQ1NTIG1peGlucyBhbmQgSFRNTCBjbGFzc2VzLlxuICAqL1xuLndyYXAge1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiBhdXRvO1xufVxuXG4uaW5uZXItd3JhcCB7XG4gIHdpZHRoOiAxMDAlO1xuICBtYXgtd2lkdGg6IDEyMDBweDtcbiAgbWFyZ2luOiAwIGF1dG87XG59XG5cbi5tYXItdG9wIHtcbiAgbWFyZ2luLXRvcDogMzBweDtcbiAgdHJhbnNpdGlvbjogbWFyZ2luIDMwMG1zO1xufVxuQG1lZGlhIChtaW4td2lkdGg6IDQ4MHB4KSB7XG4gIC5tYXItdG9wIHtcbiAgICBtYXJnaW4tdG9wOiAzNXB4O1xuICB9XG59XG5AbWVkaWEgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgLm1hci10b3Age1xuICAgIG1hcmdpbi10b3A6IDQwcHg7XG4gIH1cbn1cbkBtZWRpYSAobWluLXdpZHRoOiA5OTJweCkge1xuICAubWFyLXRvcCB7XG4gICAgbWFyZ2luLXRvcDogNjBweDtcbiAgfVxufVxuQG1lZGlhIChtaW4td2lkdGg6IDEyMDBweCkge1xuICAubWFyLXRvcCB7XG4gICAgbWFyZ2luLXRvcDogODBweDtcbiAgfVxufVxuXG4ubWFyLWJvdHRvbSB7XG4gIG1hcmdpbi1ib3R0b206IDMwcHg7XG4gIHRyYW5zaXRpb246IG1hcmdpbiAzMDBtcztcbn1cbkBtZWRpYSAobWluLXdpZHRoOiA0ODBweCkge1xuICAubWFyLWJvdHRvbSB7XG4gICAgbWFyZ2luLWJvdHRvbTogMzVweDtcbiAgfVxufVxuQG1lZGlhIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gIC5tYXItYm90dG9tIHtcbiAgICBtYXJnaW4tYm90dG9tOiA0MHB4O1xuICB9XG59XG5AbWVkaWEgKG1pbi13aWR0aDogOTkycHgpIHtcbiAgLm1hci1ib3R0b20ge1xuICAgIG1hcmdpbi1ib3R0b206IDYwcHg7XG4gIH1cbn1cbkBtZWRpYSAobWluLXdpZHRoOiAxMjAwcHgpIHtcbiAgLm1hci1ib3R0b20ge1xuICAgIG1hcmdpbi1ib3R0b206IDgwcHg7XG4gIH1cbn1cblxuLm1hci12ZXJ0aWNhbCB7XG4gIG1hcmdpbi10b3A6IDMwcHg7XG4gIHRyYW5zaXRpb246IG1hcmdpbiAzMDBtcztcbiAgbWFyZ2luLWJvdHRvbTogMzBweDtcbiAgdHJhbnNpdGlvbjogbWFyZ2luIDMwMG1zO1xufVxuQG1lZGlhIChtaW4td2lkdGg6IDQ4MHB4KSB7XG4gIC5tYXItdmVydGljYWwge1xuICAgIG1hcmdpbi10b3A6IDM1cHg7XG4gIH1cbn1cbkBtZWRpYSAobWluLXdpZHRoOiA3NjhweCkge1xuICAubWFyLXZlcnRpY2FsIHtcbiAgICBtYXJnaW4tdG9wOiA0MHB4O1xuICB9XG59XG5AbWVkaWEgKG1pbi13aWR0aDogOTkycHgpIHtcbiAgLm1hci12ZXJ0aWNhbCB7XG4gICAgbWFyZ2luLXRvcDogNjBweDtcbiAgfVxufVxuQG1lZGlhIChtaW4td2lkdGg6IDEyMDBweCkge1xuICAubWFyLXZlcnRpY2FsIHtcbiAgICBtYXJnaW4tdG9wOiA4MHB4O1xuICB9XG59XG5AbWVkaWEgKG1pbi13aWR0aDogNDgwcHgpIHtcbiAgLm1hci12ZXJ0aWNhbCB7XG4gICAgbWFyZ2luLWJvdHRvbTogMzVweDtcbiAgfVxufVxuQG1lZGlhIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gIC5tYXItdmVydGljYWwge1xuICAgIG1hcmdpbi1ib3R0b206IDQwcHg7XG4gIH1cbn1cbkBtZWRpYSAobWluLXdpZHRoOiA5OTJweCkge1xuICAubWFyLXZlcnRpY2FsIHtcbiAgICBtYXJnaW4tYm90dG9tOiA2MHB4O1xuICB9XG59XG5AbWVkaWEgKG1pbi13aWR0aDogMTIwMHB4KSB7XG4gIC5tYXItdmVydGljYWwge1xuICAgIG1hcmdpbi1ib3R0b206IDgwcHg7XG4gIH1cbn1cblxuLm1hci1yaWdodCB7XG4gIG1hcmdpbi1yaWdodDogMzBweDtcbiAgdHJhbnNpdGlvbjogbWFyZ2luIDMwMG1zO1xuICBtYXgtd2lkdGg6IGNhbGMoMTAwJSAtIDMwcHgpO1xufVxuQG1lZGlhIChtaW4td2lkdGg6IDQ4MHB4KSB7XG4gIC5tYXItcmlnaHQge1xuICAgIG1hcmdpbi1yaWdodDogMzVweDtcbiAgICBtYXgtd2lkdGg6IGNhbGMoMTAwJSAtIDM1cHgpO1xuICB9XG59XG5AbWVkaWEgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgLm1hci1yaWdodCB7XG4gICAgbWFyZ2luLXJpZ2h0OiA0MHB4O1xuICAgIG1heC13aWR0aDogY2FsYygxMDAlIC0gNDBweCk7XG4gIH1cbn1cbkBtZWRpYSAobWluLXdpZHRoOiA5OTJweCkge1xuICAubWFyLXJpZ2h0IHtcbiAgICBtYXJnaW4tcmlnaHQ6IDYwcHg7XG4gICAgbWF4LXdpZHRoOiBjYWxjKDEwMCUgLSA2MHB4KTtcbiAgfVxufVxuQG1lZGlhIChtaW4td2lkdGg6IDEyMDBweCkge1xuICAubWFyLXJpZ2h0IHtcbiAgICBtYXJnaW4tcmlnaHQ6IDgwcHg7XG4gICAgbWF4LXdpZHRoOiBjYWxjKDEwMCUgLSA4MHB4KTtcbiAgfVxufVxuXG4ubWFyLWxlZnQge1xuICBtYXJnaW4tbGVmdDogMzBweDtcbiAgdHJhbnNpdGlvbjogbWFyZ2luIDMwMG1zO1xuICBtYXgtd2lkdGg6IGNhbGMoMTAwJSAtIDMwcHgpO1xufVxuQG1lZGlhIChtaW4td2lkdGg6IDQ4MHB4KSB7XG4gIC5tYXItbGVmdCB7XG4gICAgbWFyZ2luLWxlZnQ6IDM1cHg7XG4gICAgbWF4LXdpZHRoOiBjYWxjKDEwMCUgLSAzNXB4KTtcbiAgfVxufVxuQG1lZGlhIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gIC5tYXItbGVmdCB7XG4gICAgbWFyZ2luLWxlZnQ6IDQwcHg7XG4gICAgbWF4LXdpZHRoOiBjYWxjKDEwMCUgLSA0MHB4KTtcbiAgfVxufVxuQG1lZGlhIChtaW4td2lkdGg6IDk5MnB4KSB7XG4gIC5tYXItbGVmdCB7XG4gICAgbWFyZ2luLWxlZnQ6IDYwcHg7XG4gICAgbWF4LXdpZHRoOiBjYWxjKDEwMCUgLSA2MHB4KTtcbiAgfVxufVxuQG1lZGlhIChtaW4td2lkdGg6IDEyMDBweCkge1xuICAubWFyLWxlZnQge1xuICAgIG1hcmdpbi1sZWZ0OiA4MHB4O1xuICAgIG1heC13aWR0aDogY2FsYygxMDAlIC0gODBweCk7XG4gIH1cbn1cblxuLm1hci1ob3Jpem9udGFsIHtcbiAgbWFyZ2luLWxlZnQ6IDMwcHg7XG4gIG1hcmdpbi1yaWdodDogMzBweDtcbiAgdHJhbnNpdGlvbjogbWFyZ2luIDMwMG1zO1xuICBtYXgtd2lkdGg6IGNhbGMoMTAwJSAtIDYwcHgpO1xufVxuQG1lZGlhIChtaW4td2lkdGg6IDQ4MHB4KSB7XG4gIC5tYXItaG9yaXpvbnRhbCB7XG4gICAgbWFyZ2luLWxlZnQ6IDM1cHg7XG4gICAgbWFyZ2luLXJpZ2h0OiAzNXB4O1xuICAgIG1heC13aWR0aDogY2FsYygxMDAlIC0gNzBweCk7XG4gIH1cbn1cbkBtZWRpYSAobWluLXdpZHRoOiA3NjhweCkge1xuICAubWFyLWhvcml6b250YWwge1xuICAgIG1hcmdpbi1sZWZ0OiA0MHB4O1xuICAgIG1hcmdpbi1yaWdodDogNDBweDtcbiAgICBtYXgtd2lkdGg6IGNhbGMoMTAwJSAtIDgwcHgpO1xuICB9XG59XG5AbWVkaWEgKG1pbi13aWR0aDogOTkycHgpIHtcbiAgLm1hci1ob3Jpem9udGFsIHtcbiAgICBtYXJnaW4tbGVmdDogNjBweDtcbiAgICBtYXJnaW4tcmlnaHQ6IDYwcHg7XG4gICAgbWF4LXdpZHRoOiBjYWxjKDEwMCUgLSAxMjBweCk7XG4gIH1cbn1cbkBtZWRpYSAobWluLXdpZHRoOiAxMjAwcHgpIHtcbiAgLm1hci1ob3Jpem9udGFsIHtcbiAgICBtYXJnaW4tbGVmdDogODBweDtcbiAgICBtYXJnaW4tcmlnaHQ6IDgwcHg7XG4gICAgbWF4LXdpZHRoOiBjYWxjKDEwMCUgLSAxNjBweCk7XG4gIH1cbn1cblxuLm1hci1yaWdodC1uZWdhdGl2ZSB7XG4gIG1hcmdpbi1yaWdodDogLTMwcHg7XG4gIHRyYW5zaXRpb246IG1hcmdpbiAzMDBtcztcbn1cbkBtZWRpYSAobWluLXdpZHRoOiA0ODBweCkge1xuICAubWFyLXJpZ2h0LW5lZ2F0aXZlIHtcbiAgICBtYXJnaW4tcmlnaHQ6IC0zNXB4O1xuICB9XG59XG5AbWVkaWEgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgLm1hci1yaWdodC1uZWdhdGl2ZSB7XG4gICAgbWFyZ2luLXJpZ2h0OiAtNDBweDtcbiAgfVxufVxuQG1lZGlhIChtaW4td2lkdGg6IDk5MnB4KSB7XG4gIC5tYXItcmlnaHQtbmVnYXRpdmUge1xuICAgIG1hcmdpbi1yaWdodDogLTYwcHg7XG4gIH1cbn1cbkBtZWRpYSAobWluLXdpZHRoOiAxMjAwcHgpIHtcbiAgLm1hci1yaWdodC1uZWdhdGl2ZSB7XG4gICAgbWFyZ2luLXJpZ2h0OiAtODBweDtcbiAgfVxufVxuXG4ubWFyLWxlZnQtbmVnYXRpdmUge1xuICBtYXJnaW4tbGVmdDogLTMwcHg7XG4gIHRyYW5zaXRpb246IG1hcmdpbiAzMDBtcztcbn1cbkBtZWRpYSAobWluLXdpZHRoOiA0ODBweCkge1xuICAubWFyLWxlZnQtbmVnYXRpdmUge1xuICAgIG1hcmdpbi1sZWZ0OiAtMzVweDtcbiAgfVxufVxuQG1lZGlhIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gIC5tYXItbGVmdC1uZWdhdGl2ZSB7XG4gICAgbWFyZ2luLWxlZnQ6IC00MHB4O1xuICB9XG59XG5AbWVkaWEgKG1pbi13aWR0aDogOTkycHgpIHtcbiAgLm1hci1sZWZ0LW5lZ2F0aXZlIHtcbiAgICBtYXJnaW4tbGVmdDogLTYwcHg7XG4gIH1cbn1cbkBtZWRpYSAobWluLXdpZHRoOiAxMjAwcHgpIHtcbiAgLm1hci1sZWZ0LW5lZ2F0aXZlIHtcbiAgICBtYXJnaW4tbGVmdDogLTgwcHg7XG4gIH1cbn1cblxuLm1hci1ob3Jpem9udGFsLW5lZ2F0aXZlIHtcbiAgbWFyZ2luLWxlZnQ6IC0zMHB4O1xuICBtYXJnaW4tcmlnaHQ6IC0zMHB4O1xuICB0cmFuc2l0aW9uOiBtYXJnaW4gMzAwbXM7XG4gIHdpZHRoOiBjYWxjKDEwMCUgKyA2MHB4KTtcbn1cbkBtZWRpYSAobWluLXdpZHRoOiA0ODBweCkge1xuICAubWFyLWhvcml6b250YWwtbmVnYXRpdmUge1xuICAgIG1hcmdpbi1sZWZ0OiAtMzVweDtcbiAgICBtYXJnaW4tcmlnaHQ6IC0zNXB4O1xuICAgIHdpZHRoOiBjYWxjKDEwMCUgKyA3MHB4KTtcbiAgfVxufVxuQG1lZGlhIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gIC5tYXItaG9yaXpvbnRhbC1uZWdhdGl2ZSB7XG4gICAgbWFyZ2luLWxlZnQ6IC00MHB4O1xuICAgIG1hcmdpbi1yaWdodDogLTQwcHg7XG4gICAgd2lkdGg6IGNhbGMoMTAwJSArIDgwcHgpO1xuICB9XG59XG5AbWVkaWEgKG1pbi13aWR0aDogOTkycHgpIHtcbiAgLm1hci1ob3Jpem9udGFsLW5lZ2F0aXZlIHtcbiAgICBtYXJnaW4tbGVmdDogLTYwcHg7XG4gICAgbWFyZ2luLXJpZ2h0OiAtNjBweDtcbiAgICB3aWR0aDogY2FsYygxMDAlICsgMTIwcHgpO1xuICB9XG59XG5AbWVkaWEgKG1pbi13aWR0aDogMTIwMHB4KSB7XG4gIC5tYXItaG9yaXpvbnRhbC1uZWdhdGl2ZSB7XG4gICAgbWFyZ2luLWxlZnQ6IC04MHB4O1xuICAgIG1hcmdpbi1yaWdodDogLTgwcHg7XG4gICAgd2lkdGg6IGNhbGMoMTAwJSArIDE2MHB4KTtcbiAgfVxufVxuXG4ucGFkLXRvcCB7XG4gIHBhZGRpbmctdG9wOiA0MHB4O1xuICB0cmFuc2l0aW9uOiBwYWRkaW5nIDMwMG1zO1xufVxuQG1lZGlhIChtaW4td2lkdGg6IDQ4MHB4KSB7XG4gIC5wYWQtdG9wIHtcbiAgICBwYWRkaW5nLXRvcDogNDVweDtcbiAgfVxufVxuQG1lZGlhIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gIC5wYWQtdG9wIHtcbiAgICBwYWRkaW5nLXRvcDogNTVweDtcbiAgfVxufVxuQG1lZGlhIChtaW4td2lkdGg6IDk5MnB4KSB7XG4gIC5wYWQtdG9wIHtcbiAgICBwYWRkaW5nLXRvcDogNjVweDtcbiAgfVxufVxuQG1lZGlhIChtaW4td2lkdGg6IDEyMDBweCkge1xuICAucGFkLXRvcCB7XG4gICAgcGFkZGluZy10b3A6IDgwcHg7XG4gIH1cbn1cblxuLnBhZC1ib3R0b20ge1xuICBwYWRkaW5nLWJvdHRvbTogNDBweDtcbiAgdHJhbnNpdGlvbjogcGFkZGluZyAzMDBtcztcbn1cbkBtZWRpYSAobWluLXdpZHRoOiA0ODBweCkge1xuICAucGFkLWJvdHRvbSB7XG4gICAgcGFkZGluZy1ib3R0b206IDQ1cHg7XG4gIH1cbn1cbkBtZWRpYSAobWluLXdpZHRoOiA3NjhweCkge1xuICAucGFkLWJvdHRvbSB7XG4gICAgcGFkZGluZy1ib3R0b206IDU1cHg7XG4gIH1cbn1cbkBtZWRpYSAobWluLXdpZHRoOiA5OTJweCkge1xuICAucGFkLWJvdHRvbSB7XG4gICAgcGFkZGluZy1ib3R0b206IDY1cHg7XG4gIH1cbn1cbkBtZWRpYSAobWluLXdpZHRoOiAxMjAwcHgpIHtcbiAgLnBhZC1ib3R0b20ge1xuICAgIHBhZGRpbmctYm90dG9tOiA4MHB4O1xuICB9XG59XG5cbi5wYWQtbGVmdCB7XG4gIHBhZGRpbmctbGVmdDogMzBweDtcbiAgdHJhbnNpdGlvbjogcGFkZGluZyAzMDBtcztcbn1cbkBtZWRpYSAobWluLXdpZHRoOiA0ODBweCkge1xuICAucGFkLWxlZnQge1xuICAgIHBhZGRpbmctbGVmdDogMzVweDtcbiAgfVxufVxuQG1lZGlhIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gIC5wYWQtbGVmdCB7XG4gICAgcGFkZGluZy1sZWZ0OiA0MHB4O1xuICB9XG59XG5AbWVkaWEgKG1pbi13aWR0aDogOTkycHgpIHtcbiAgLnBhZC1sZWZ0IHtcbiAgICBwYWRkaW5nLWxlZnQ6IDYwcHg7XG4gIH1cbn1cbkBtZWRpYSAobWluLXdpZHRoOiAxMjAwcHgpIHtcbiAgLnBhZC1sZWZ0IHtcbiAgICBwYWRkaW5nLWxlZnQ6IDgwcHg7XG4gIH1cbn1cblxuLnBhZC1yaWdodCB7XG4gIHBhZGRpbmctcmlnaHQ6IDMwcHg7XG4gIHRyYW5zaXRpb246IHBhZGRpbmcgMzAwbXM7XG59XG5AbWVkaWEgKG1pbi13aWR0aDogNDgwcHgpIHtcbiAgLnBhZC1yaWdodCB7XG4gICAgcGFkZGluZy1yaWdodDogMzVweDtcbiAgfVxufVxuQG1lZGlhIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gIC5wYWQtcmlnaHQge1xuICAgIHBhZGRpbmctcmlnaHQ6IDQwcHg7XG4gIH1cbn1cbkBtZWRpYSAobWluLXdpZHRoOiA5OTJweCkge1xuICAucGFkLXJpZ2h0IHtcbiAgICBwYWRkaW5nLXJpZ2h0OiA2MHB4O1xuICB9XG59XG5AbWVkaWEgKG1pbi13aWR0aDogMTIwMHB4KSB7XG4gIC5wYWQtcmlnaHQge1xuICAgIHBhZGRpbmctcmlnaHQ6IDgwcHg7XG4gIH1cbn1cblxuLnBhZC12ZXJ0aWNhbCB7XG4gIHBhZGRpbmctdG9wOiA0MHB4O1xuICB0cmFuc2l0aW9uOiBwYWRkaW5nIDMwMG1zO1xuICBwYWRkaW5nLWJvdHRvbTogNDBweDtcbiAgdHJhbnNpdGlvbjogcGFkZGluZyAzMDBtcztcbn1cbkBtZWRpYSAobWluLXdpZHRoOiA0ODBweCkge1xuICAucGFkLXZlcnRpY2FsIHtcbiAgICBwYWRkaW5nLXRvcDogNDVweDtcbiAgfVxufVxuQG1lZGlhIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gIC5wYWQtdmVydGljYWwge1xuICAgIHBhZGRpbmctdG9wOiA1NXB4O1xuICB9XG59XG5AbWVkaWEgKG1pbi13aWR0aDogOTkycHgpIHtcbiAgLnBhZC12ZXJ0aWNhbCB7XG4gICAgcGFkZGluZy10b3A6IDY1cHg7XG4gIH1cbn1cbkBtZWRpYSAobWluLXdpZHRoOiAxMjAwcHgpIHtcbiAgLnBhZC12ZXJ0aWNhbCB7XG4gICAgcGFkZGluZy10b3A6IDgwcHg7XG4gIH1cbn1cbkBtZWRpYSAobWluLXdpZHRoOiA0ODBweCkge1xuICAucGFkLXZlcnRpY2FsIHtcbiAgICBwYWRkaW5nLWJvdHRvbTogNDVweDtcbiAgfVxufVxuQG1lZGlhIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gIC5wYWQtdmVydGljYWwge1xuICAgIHBhZGRpbmctYm90dG9tOiA1NXB4O1xuICB9XG59XG5AbWVkaWEgKG1pbi13aWR0aDogOTkycHgpIHtcbiAgLnBhZC12ZXJ0aWNhbCB7XG4gICAgcGFkZGluZy1ib3R0b206IDY1cHg7XG4gIH1cbn1cbkBtZWRpYSAobWluLXdpZHRoOiAxMjAwcHgpIHtcbiAgLnBhZC12ZXJ0aWNhbCB7XG4gICAgcGFkZGluZy1ib3R0b206IDgwcHg7XG4gIH1cbn1cblxuLnBhZC1ob3Jpem9udGFsIHtcbiAgcGFkZGluZy1yaWdodDogMzBweDtcbiAgdHJhbnNpdGlvbjogcGFkZGluZyAzMDBtcztcbiAgcGFkZGluZy1sZWZ0OiAzMHB4O1xuICB0cmFuc2l0aW9uOiBwYWRkaW5nIDMwMG1zO1xufVxuQG1lZGlhIChtaW4td2lkdGg6IDQ4MHB4KSB7XG4gIC5wYWQtaG9yaXpvbnRhbCB7XG4gICAgcGFkZGluZy1yaWdodDogMzVweDtcbiAgfVxufVxuQG1lZGlhIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gIC5wYWQtaG9yaXpvbnRhbCB7XG4gICAgcGFkZGluZy1yaWdodDogNDBweDtcbiAgfVxufVxuQG1lZGlhIChtaW4td2lkdGg6IDk5MnB4KSB7XG4gIC5wYWQtaG9yaXpvbnRhbCB7XG4gICAgcGFkZGluZy1yaWdodDogNjBweDtcbiAgfVxufVxuQG1lZGlhIChtaW4td2lkdGg6IDEyMDBweCkge1xuICAucGFkLWhvcml6b250YWwge1xuICAgIHBhZGRpbmctcmlnaHQ6IDgwcHg7XG4gIH1cbn1cbkBtZWRpYSAobWluLXdpZHRoOiA0ODBweCkge1xuICAucGFkLWhvcml6b250YWwge1xuICAgIHBhZGRpbmctbGVmdDogMzVweDtcbiAgfVxufVxuQG1lZGlhIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gIC5wYWQtaG9yaXpvbnRhbCB7XG4gICAgcGFkZGluZy1sZWZ0OiA0MHB4O1xuICB9XG59XG5AbWVkaWEgKG1pbi13aWR0aDogOTkycHgpIHtcbiAgLnBhZC1ob3Jpem9udGFsIHtcbiAgICBwYWRkaW5nLWxlZnQ6IDYwcHg7XG4gIH1cbn1cbkBtZWRpYSAobWluLXdpZHRoOiAxMjAwcHgpIHtcbiAgLnBhZC1ob3Jpem9udGFsIHtcbiAgICBwYWRkaW5nLWxlZnQ6IDgwcHg7XG4gIH1cbn1cblxuLmJ1dHRvbiB7XG4gIG1hcmdpbjogMXJlbSAwO1xuICBwYWRkaW5nOiAxMHB4IDE1cHg7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgYmFja2dyb3VuZC1jb2xvcjogIzAwNWQ1MDtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICBmb250LXdlaWdodDogYm9sZDtcbiAgY29sb3I6ICNmZmZmZmY7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgYm9yZGVyLXJhZGl1czogM3B4O1xufVxuLmJ1dHRvbjpob3ZlciB7XG4gIGJhY2tncm91bmQtY29sb3I6ICMwMDQ0M2EgIWltcG9ydGFudDtcbn1cblxuLnNjcmVlbi1yZWFkZXItdGV4dCB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgd2lkdGg6IDFweDtcbiAgaGVpZ2h0OiAxcHg7XG4gIHBhZGRpbmc6IDA7XG4gIG1hcmdpbjogLTFweDtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgY2xpcDogcmVjdCgwLCAwLCAwLCAwKTtcbiAgYm9yZGVyOiAwO1xufVxuXG4ubm8tc2Nyb2xsIHtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbn1cblxuLmgxIHtcbiAgZm9udC1zaXplOiAzcmVtO1xuICBtYXJnaW4tdG9wOiAwO1xuICBtYXJnaW4tYm90dG9tOiAycmVtO1xufVxuQG1lZGlhIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gIC5oMSB7XG4gICAgZm9udC1zaXplOiA0cmVtO1xuICB9XG59XG5cbi5oMiB7XG4gIGZvbnQtc2l6ZTogMi40cmVtO1xuICBtYXJnaW4tYm90dG9tOiAyLjFyZW07XG59XG5AbWVkaWEgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgLmgyIHtcbiAgICBmb250LXNpemU6IDNyZW07XG4gIH1cbn1cblxuLmgzIHtcbiAgZm9udC1zaXplOiAxLjhyZW07XG4gIG1hcmdpbi1ib3R0b206IDEuOHJlbTtcbn1cbkBtZWRpYSAobWluLXdpZHRoOiA3NjhweCkge1xuICAuaDMge1xuICAgIGZvbnQtc2l6ZTogMi4xcmVtO1xuICB9XG59XG5cbi5oNCB7XG4gIGZvbnQtc2l6ZTogMS42cmVtO1xuICBtYXJnaW4tYm90dG9tOiAxLjdyZW07XG59XG5AbWVkaWEgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgLmg0IHtcbiAgICBmb250LXNpemU6IDJyZW07XG4gIH1cbn1cblxuLmg1IHtcbiAgZm9udC1zaXplOiAxLjVyZW07XG4gIG1hcmdpbi1ib3R0b206IDEuNnJlbTtcbn1cbkBtZWRpYSAobWluLXdpZHRoOiA3NjhweCkge1xuICAuaDUge1xuICAgIGZvbnQtc2l6ZTogMS45cmVtO1xuICB9XG59XG5cbi5oNiB7XG4gIGZvbnQtc2l6ZTogMS40cmVtO1xuICBtYXJnaW4tYm90dG9tOiAxLjVyZW07XG59XG5AbWVkaWEgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgLmg2IHtcbiAgICBmb250LXNpemU6IDEuOHJlbTtcbiAgfVxufVxuXG4vKipcbiAgKiBIVE1MIEVMRU1FTlQgU1RZTEVTXG4gICpcbiAgKiBTdHlsZSBkZWZpbml0aW9ucyBmb3IgZ2xvYmFsIGVsZW1lbnQgc2VsZWN0b3JzLlxuICAqL1xuKiB7XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG59XG5cbmh0bWwge1xuICBoZWlnaHQ6IDEwMCU7XG4gIGxpbmUtaGVpZ2h0OiAxLjc7XG4gIGZvbnQtc2l6ZTogNjIuNSU7XG59XG5cbmJvZHkge1xuICBtaW4taGVpZ2h0OiAxMDAlO1xuICBtYXJnaW46IDA7XG4gIGRpc3BsYXk6IGdyaWQ7XG4gIGdyaWQtdGVtcGxhdGUtcm93czogYXV0byAxZnIgYXV0bztcbiAgYmFja2dyb3VuZC1jb2xvcjogI2U0ZTJkYztcbiAgZm9udC1mYW1pbHk6IFwiTGF0b1wiLCBzYW5zLXNlcmlmO1xuICBmb250LXNpemU6IDEuNnJlbTtcbiAgY29sb3I6ICMwMDVkNTA7XG59XG5cbmgxLCBoMiwgaDMsIGg0LCBoNSwgaDYsIC5oMSwgLmgyLCAuaDMsIC5oNCwgLmg1LCAuaDYge1xuICBtYXJnaW4tdG9wOiAzcmVtO1xuICBkaXNwbGF5OiBibG9jaztcbiAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgbGluZS1oZWlnaHQ6IDE7XG4gIGZvbnQtZmFtaWx5OiBcIk1lcnJpd2VhdGhlclwiLCBzZXJpZjtcbiAgY29sb3I6ICMwMDVkNTA7XG59XG5cbmgxIHtcbiAgZm9udC1zaXplOiAzcmVtO1xuICBtYXJnaW4tdG9wOiAwO1xuICBtYXJnaW4tYm90dG9tOiAycmVtO1xuICBmb250LWZhbWlseTogXCJMYXRvXCIsIHNhbnMtc2VyaWY7XG59XG5AbWVkaWEgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgaDEge1xuICAgIGZvbnQtc2l6ZTogNHJlbTtcbiAgfVxufVxuXG5oMiB7XG4gIGZvbnQtc2l6ZTogMi40cmVtO1xuICBtYXJnaW4tYm90dG9tOiAyLjFyZW07XG59XG5AbWVkaWEgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgaDIge1xuICAgIGZvbnQtc2l6ZTogM3JlbTtcbiAgfVxufVxuXG5oMyB7XG4gIGZvbnQtc2l6ZTogMS44cmVtO1xuICBtYXJnaW4tYm90dG9tOiAxLjhyZW07XG59XG5AbWVkaWEgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgaDMge1xuICAgIGZvbnQtc2l6ZTogMi4xcmVtO1xuICB9XG59XG5cbmg0IHtcbiAgZm9udC1zaXplOiAxLjZyZW07XG4gIG1hcmdpbi1ib3R0b206IDEuN3JlbTtcbn1cbkBtZWRpYSAobWluLXdpZHRoOiA3NjhweCkge1xuICBoNCB7XG4gICAgZm9udC1zaXplOiAycmVtO1xuICB9XG59XG5cbmg1IHtcbiAgZm9udC1zaXplOiAxLjVyZW07XG4gIG1hcmdpbi1ib3R0b206IDEuNnJlbTtcbn1cbkBtZWRpYSAobWluLXdpZHRoOiA3NjhweCkge1xuICBoNSB7XG4gICAgZm9udC1zaXplOiAxLjlyZW07XG4gIH1cbn1cblxuaDYge1xuICBmb250LXNpemU6IDEuNHJlbTtcbiAgbWFyZ2luLWJvdHRvbTogMS41cmVtO1xufVxuQG1lZGlhIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gIGg2IHtcbiAgICBmb250LXNpemU6IDEuOHJlbTtcbiAgfVxufVxuXG5wIHtcbiAgbWFyZ2luOiAwIDAgMS41cmVtIDA7XG4gIGZvbnQtd2VpZ2h0OiA0MDA7XG59XG5cbmEge1xuICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcbiAgY29sb3I6ICMwMDVkNTA7XG59XG51bCwgb2wge1xuICBtYXJnaW46IDEuNXJlbSAwO1xuICBwYWRkaW5nOiAwO1xuICBsaXN0LXN0eWxlLXBvc2l0aW9uOiBpbnNpZGU7XG59XG5cbmltZyB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICB3aWR0aDogMTAwJTtcbn1cblxuLyogQmVnaW4gYnV0dG9uIHN0eWxlcyAqL1xuYnV0dG9uIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIGJvcmRlcjogbm9uZTtcbiAgcGFkZGluZzogMDtcbiAgbWFyZ2luOiAwO1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gIGJhY2tncm91bmQ6IG5vbmU7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7XG4gIC1tb3otYXBwZWFyYW5jZTogbm9uZTtcbn1cblxuLyogRW5kIGJ1dHRvbiBzdHlsZXMgKi9cbmJsb2NrcXVvdGUge1xuICBib3JkZXItbGVmdDogNXB4IHNvbGlkICMwMDAwMDA7XG4gIG1hcmdpbjogMS41ZW0gMTBweDtcbiAgcGFkZGluZzogMC41ZW0gMzBweDtcbiAgcXVvdGVzOiBcIuKAnFwiO1xufVxuYmxvY2txdW90ZTpiZWZvcmUge1xuICBjb2xvcjogI2NjYztcbiAgY29udGVudDogb3Blbi1xdW90ZTtcbiAgZm9udC1zaXplOiA0ZW07XG4gIGxpbmUtaGVpZ2h0OiAwLjFlbTtcbiAgbWFyZ2luLXJpZ2h0OiAwLjI1ZW07XG4gIHZlcnRpY2FsLWFsaWduOiAtMC40ZW07XG59XG5ibG9ja3F1b3RlIHAge1xuICBkaXNwbGF5OiBibG9jaztcbn1cbmJsb2NrcXVvdGUgcDpmaXJzdC1vZi10eXBlLCBibG9ja3F1b3RlIHA6bnRoLW9mLXR5cGUoMikge1xuICBmb250LXNpemU6IDEuM3JlbTtcbn1cblxuLyoqXG4gICogSEVBREVSIFNUWUxFU1xuICAqL1xuLmhlYWRlci13cmFwIHtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogYXV0bztcbiAgZ3JpZC1yb3ctc3RhcnQ6IDE7XG4gIGdyaWQtcm93LWVuZDogMjtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB0b3A6IDA7XG4gIHotaW5kZXg6IDk5OTk7XG4gIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMjAwbXMsIGJvcmRlciAyMDBtcywgYm94LXNoYWRvdyAyMDBtcztcbiAgYmFja2dyb3VuZC1jb2xvcjogIzAwNWQ1MDtcbn1cbi5oZWFkZXItb3ZlcmxheSB7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IDEwMCU7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAwO1xuICBsZWZ0OiAwO1xuICB6LWluZGV4OiAyO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDA1ZDUwO1xuICBvcGFjaXR5OiAwLjc7XG59XG4uaGVhZGVyLW92ZXJsYXkuYmctdmlzaWJsZSB7XG4gIGJhY2tncm91bmQtY29sb3I6ICMwMDVkNTA7XG4gIG9wYWNpdHk6IDE7XG59XG5cbi50b3AtYmFyLWJnIHtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogNDVweDtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDA7XG4gIGxlZnQ6IDA7XG4gIHotaW5kZXg6IDY7XG4gIGRpc3BsYXk6IG5vbmU7XG4gIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMjAwbXM7XG59XG4udG9wLWJhci1iZy5iZy12aXNpYmxlIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzAwNWQ1MDtcbn1cbkBtZWRpYSAobWluLXdpZHRoOiA3NjhweCkge1xuICAudG9wLWJhci1iZyB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gIH1cbn1cblxuLmhlYWRlciB7XG4gIGhlaWdodDogOTBweDtcbiAgcGFkZGluZy10b3A6IDA7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZGlzcGxheTogZ3JpZDtcbiAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiAxZnI7XG4gIGdyaWQtdGVtcGxhdGUtcm93czogOTBweCBhdXRvO1xuICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDIwMG1zO1xufVxuLmhlYWRlci5iZy12aXNpYmxlIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzAwNWQ1MDtcbn1cbkBtZWRpYSAobWluLXdpZHRoOiA3NjhweCkge1xuICAuaGVhZGVyIHtcbiAgICBoZWlnaHQ6IDE2NXB4O1xuICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogMWZyO1xuICAgIGdyaWQtdGVtcGxhdGUtcm93czogMTIwcHggNzBweDtcbiAgfVxufVxuXG4uaGVhZGVyLWJyYW5kIHtcbiAgcGFkZGluZy1yaWdodDogMzBweDtcbiAgdHJhbnNpdGlvbjogcGFkZGluZyAzMDBtcztcbiAgcGFkZGluZy1sZWZ0OiAzMHB4O1xuICB0cmFuc2l0aW9uOiBwYWRkaW5nIDMwMG1zO1xuICBtYXJnaW4tdG9wOiAwO1xuICBtYXJnaW4tYm90dG9tOiAwO1xuICBwYWRkaW5nLXJpZ2h0OiAwO1xuICBoZWlnaHQ6IDkwcHg7XG4gIGdyaWQtY29sdW1uOiAxL3NwYW4gMTtcbiAgZ3JpZC1yb3c6IDEvc3BhbiAxO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHotaW5kZXg6IDU7XG59XG5AbWVkaWEgKG1pbi13aWR0aDogNDgwcHgpIHtcbiAgLmhlYWRlci1icmFuZCB7XG4gICAgcGFkZGluZy1yaWdodDogMzVweDtcbiAgfVxufVxuQG1lZGlhIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gIC5oZWFkZXItYnJhbmQge1xuICAgIHBhZGRpbmctcmlnaHQ6IDQwcHg7XG4gIH1cbn1cbkBtZWRpYSAobWluLXdpZHRoOiA5OTJweCkge1xuICAuaGVhZGVyLWJyYW5kIHtcbiAgICBwYWRkaW5nLXJpZ2h0OiA2MHB4O1xuICB9XG59XG5AbWVkaWEgKG1pbi13aWR0aDogMTIwMHB4KSB7XG4gIC5oZWFkZXItYnJhbmQge1xuICAgIHBhZGRpbmctcmlnaHQ6IDgwcHg7XG4gIH1cbn1cbkBtZWRpYSAobWluLXdpZHRoOiA0ODBweCkge1xuICAuaGVhZGVyLWJyYW5kIHtcbiAgICBwYWRkaW5nLWxlZnQ6IDM1cHg7XG4gIH1cbn1cbkBtZWRpYSAobWluLXdpZHRoOiA3NjhweCkge1xuICAuaGVhZGVyLWJyYW5kIHtcbiAgICBwYWRkaW5nLWxlZnQ6IDQwcHg7XG4gIH1cbn1cbkBtZWRpYSAobWluLXdpZHRoOiA5OTJweCkge1xuICAuaGVhZGVyLWJyYW5kIHtcbiAgICBwYWRkaW5nLWxlZnQ6IDYwcHg7XG4gIH1cbn1cbkBtZWRpYSAobWluLXdpZHRoOiAxMjAwcHgpIHtcbiAgLmhlYWRlci1icmFuZCB7XG4gICAgcGFkZGluZy1sZWZ0OiA4MHB4O1xuICB9XG59XG5AbWVkaWEgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgLmhlYWRlci1icmFuZCB7XG4gICAgaGVpZ2h0OiAxNjVweDtcbiAgICBwYWRkaW5nLXRvcDogMzMuNzVweDtcbiAgfVxufVxuLmhlYWRlci1icmFuZCBhIHtcbiAgaGVpZ2h0OiA5MHB4O1xuICBkaXNwbGF5OiBmbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBmbGV4LWRpcmVjdGlvbjogcm93O1xufVxuQG1lZGlhIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gIC5oZWFkZXItYnJhbmQgYSB7XG4gICAgaGVpZ2h0OiA3NXB4O1xuICAgIGhlaWdodDogOTcuNXB4O1xuICB9XG59XG4uaGVhZGVyLWJyYW5kIGEgLmxvZ28taW1hZ2Uge1xuICB3aWR0aDogYXV0bztcbiAgaGVpZ2h0OiAzNXB4O1xuICBtYXJnaW4tcmlnaHQ6IDE1cHg7XG4gIHBhZGRpbmc6IDAgMCAwIDEwcHg7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgZGlzcGxheTogYmxvY2s7XG59XG5AbWVkaWEgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgLmhlYWRlci1icmFuZCBhIC5sb2dvLWltYWdlIHtcbiAgICBoZWlnaHQ6IDk3LjVweDtcbiAgICBwYWRkaW5nOiA1cHggMDtcbiAgfVxufVxuLmhlYWRlci1icmFuZCBhIC5sb2dvLXRleHQge1xuICBkaXNwbGF5OiBibG9jaztcbiAgY29sb3I6ICNlNGUyZGM7XG4gIHRleHQtYWxpZ246IGxlZnQ7XG4gIHBhZGRpbmctbGVmdDogMDtcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7XG59XG5AbWVkaWEgKG1pbi13aWR0aDogNDgwcHgpIHtcbiAgLmhlYWRlci1icmFuZCBhIC5sb2dvLXRleHQge1xuICAgIHBhZGRpbmctbGVmdDogMTBweDtcbiAgICBmb250LXNpemU6IDFyZW07XG4gIH1cbn1cbi5oZWFkZXItYnJhbmQgYSAubG9nby10ZXh0IC5sb2dvLXRleHQtdGl0bGUge1xuICBtYXJnaW46IDAgYXV0bztcbiAgZGlzcGxheTogYmxvY2s7XG4gIGxpbmUtaGVpZ2h0OiAwLjk7XG4gIGZvbnQtc2l6ZTogMXJlbTtcbn1cbi5oZWFkZXItYnJhbmQgYSAubG9nby10ZXh0IC5sb2dvLXRleHQtdGl0bGUgc3Bhbi5yZWdpc3RlcmVkIHtcbiAgZm9udC1zaXplOiAwLjdyZW07XG4gIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gIHZlcnRpY2FsLWFsaWduOiBzdXBlcjtcbn1cbkBtZWRpYSAobWluLXdpZHRoOiA0ODBweCkge1xuICAuaGVhZGVyLWJyYW5kIGEgLmxvZ28tdGV4dCAubG9nby10ZXh0LXRpdGxlIHtcbiAgICBmb250LXNpemU6IDEuNHJlbTtcbiAgfVxuICAuaGVhZGVyLWJyYW5kIGEgLmxvZ28tdGV4dCAubG9nby10ZXh0LXRpdGxlIHNwYW4ucmVnaXN0ZXJlZCB7XG4gICAgZm9udC1zaXplOiAwLjlyZW07XG4gIH1cbn1cbi5oZWFkZXItYnJhbmQgYSAubG9nby10ZXh0IC5sb2dvLXRleHQtdGFnbGluZSB7XG4gIG1hcmdpbjogMTBweCBhdXRvIDAgYXV0bztcbiAgbGluZS1oZWlnaHQ6IDAuODtcbiAgZm9udC1zaXplOiAwLjZyZW07XG4gIGZvbnQtd2VpZ2h0OiBsaWdodGVyO1xuICBmb250LXN0eWxlOiBpdGFsaWM7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBjb2xvcjogI2U0ZTJkYztcbn1cbkBtZWRpYSAobWluLXdpZHRoOiA0ODBweCkge1xuICAuaGVhZGVyLWJyYW5kIGEgLmxvZ28tdGV4dCAubG9nby10ZXh0LXRhZ2xpbmUge1xuICAgIGZvbnQtc2l6ZTogMS4xcmVtO1xuICB9XG59XG5cbi5oZWFkZXItbmF2IHtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogMDtcbiAgb3BhY2l0eTogMDtcbiAgbWluLWhlaWdodDogYXV0bztcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDkwcHg7XG4gIGRpc3BsYXk6IG5vbmU7XG4gIG92ZXJmbG93OiBoaWRkZW47XG59XG4uaGVhZGVyLW5hdi5iZy12aXNpYmxlIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzAwNWQ1MDtcbn1cbi5oZWFkZXItbmF2LnZpc2libGUge1xuICBoZWlnaHQ6IDEwMCU7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBwb3NpdGlvbjogZml4ZWQ7XG4gIG9wYWNpdHk6IDE7XG59XG5AbWVkaWEgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgLmhlYWRlci1uYXYge1xuICAgIGhlaWdodDogYXV0bztcbiAgICBtaW4taGVpZ2h0OiAxNjVweDtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICB0b3A6IDA7XG4gICAgb3ZlcmZsb3c6IHZpc2libGU7XG4gICAgb3BhY2l0eTogMSAhaW1wb3J0YW50O1xuICB9XG4gIC5oZWFkZXItbmF2LnZpc2libGUge1xuICAgIGhlaWdodDogYXV0bztcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgb3BhY2l0eTogMTtcbiAgfVxufVxuXG4uaGVhZGVyLW5hdi1tYWluIHtcbiAgd2lkdGg6IDEwMCU7XG4gIHBhZGRpbmctcmlnaHQ6IDA7XG4gIHBhZGRpbmctbGVmdDogMDtcbiAgaGVpZ2h0OiAxMDAlO1xuICBwb3NpdGlvbjogc3RhdGljO1xuICB0b3A6IGF1dG87XG4gIHJpZ2h0OiBhdXRvO1xuICB6LWluZGV4OiA2O1xuICBkaXNwbGF5OiBmbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbn1cbkBtZWRpYSAobWluLXdpZHRoOiA3NjhweCkge1xuICAuaGVhZGVyLW5hdi1tYWluIHtcbiAgICBwYWRkaW5nLXJpZ2h0OiAzMHB4O1xuICAgIHRyYW5zaXRpb246IHBhZGRpbmcgMzAwbXM7XG4gICAgcGFkZGluZy1sZWZ0OiAzMHB4O1xuICAgIHRyYW5zaXRpb246IHBhZGRpbmcgMzAwbXM7XG4gICAgd2lkdGg6IDUwJTtcbiAgICBoZWlnaHQ6IDQ1cHg7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHRvcDogNTAlO1xuICAgIHJpZ2h0OiAwO1xuICAgIHRyYW5zbGF0ZTogMCAtMjIuNXB4O1xuICB9XG59XG5AbWVkaWEgKG1pbi13aWR0aDogNzY4cHgpIGFuZCAobWluLXdpZHRoOiA0ODBweCkge1xuICAuaGVhZGVyLW5hdi1tYWluIHtcbiAgICBwYWRkaW5nLXJpZ2h0OiAzNXB4O1xuICB9XG59XG5AbWVkaWEgKG1pbi13aWR0aDogNzY4cHgpIGFuZCAobWluLXdpZHRoOiA3NjhweCkge1xuICAuaGVhZGVyLW5hdi1tYWluIHtcbiAgICBwYWRkaW5nLXJpZ2h0OiA0MHB4O1xuICB9XG59XG5AbWVkaWEgKG1pbi13aWR0aDogNzY4cHgpIGFuZCAobWluLXdpZHRoOiA5OTJweCkge1xuICAuaGVhZGVyLW5hdi1tYWluIHtcbiAgICBwYWRkaW5nLXJpZ2h0OiA2MHB4O1xuICB9XG59XG5AbWVkaWEgKG1pbi13aWR0aDogNzY4cHgpIGFuZCAobWluLXdpZHRoOiAxMjAwcHgpIHtcbiAgLmhlYWRlci1uYXYtbWFpbiB7XG4gICAgcGFkZGluZy1yaWdodDogODBweDtcbiAgfVxufVxuQG1lZGlhIChtaW4td2lkdGg6IDc2OHB4KSBhbmQgKG1pbi13aWR0aDogNDgwcHgpIHtcbiAgLmhlYWRlci1uYXYtbWFpbiB7XG4gICAgcGFkZGluZy1sZWZ0OiAzNXB4O1xuICB9XG59XG5AbWVkaWEgKG1pbi13aWR0aDogNzY4cHgpIGFuZCAobWluLXdpZHRoOiA3NjhweCkge1xuICAuaGVhZGVyLW5hdi1tYWluIHtcbiAgICBwYWRkaW5nLWxlZnQ6IDQwcHg7XG4gIH1cbn1cbkBtZWRpYSAobWluLXdpZHRoOiA3NjhweCkgYW5kIChtaW4td2lkdGg6IDk5MnB4KSB7XG4gIC5oZWFkZXItbmF2LW1haW4ge1xuICAgIHBhZGRpbmctbGVmdDogNjBweDtcbiAgfVxufVxuQG1lZGlhIChtaW4td2lkdGg6IDc2OHB4KSBhbmQgKG1pbi13aWR0aDogMTIwMHB4KSB7XG4gIC5oZWFkZXItbmF2LW1haW4ge1xuICAgIHBhZGRpbmctbGVmdDogODBweDtcbiAgfVxufVxuLmhlYWRlci1uYXYtbWFpbiB1bCB7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IGF1dG87XG4gIG1hcmdpbjogMDtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgbGlzdC1zdHlsZTogbm9uZTtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoMCwgLTQ1cHgpO1xufVxuQG1lZGlhIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gIC5oZWFkZXItbmF2LW1haW4gdWwge1xuICAgIHdpZHRoOiBhdXRvO1xuICAgIGhlaWdodDogNDVweDtcbiAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICAgIGJvcmRlci10b3A6IHVuc2V0O1xuICAgIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoMCwgMCk7XG4gIH1cbn1cbi5oZWFkZXItbmF2LW1haW4gdWwgbGkge1xuICB3aWR0aDogYXV0bztcbiAgaGVpZ2h0OiBhdXRvO1xuICBsaXN0LXN0eWxlOiBub25lO1xuICBib3JkZXItdG9wOiB1bnNldDtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB6LWluZGV4OiAxO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDA1ZDUwO1xufVxuQG1lZGlhIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gIC5oZWFkZXItbmF2LW1haW4gdWwgbGkge1xuICAgIHdpZHRoOiBhdXRvO1xuICAgIGhlaWdodDogYXV0bztcbiAgICBwYWRkaW5nOiAwIDE1cHg7XG4gICAgbWluLWhlaWdodDogNDVweDtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB1bnNldDtcbiAgICBib3JkZXItYm90dG9tOiB1bnNldDtcbiAgICB0cmFuc2l0aW9uOiBkaXNwbGF5IDMwMG1zO1xuICB9XG4gIC5oZWFkZXItbmF2LW1haW4gdWwgbGk6aG92ZXIgPiB1bCB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gIH1cbiAgLmhlYWRlci1uYXYtbWFpbiB1bCBsaTpsYXN0LWNoaWxkIHtcbiAgICBwYWRkaW5nLXJpZ2h0OiAwO1xuICB9XG59XG4uaGVhZGVyLW5hdi1tYWluIHVsIGxpIGEge1xuICB3aWR0aDogYXV0bztcbiAgaGVpZ2h0OiA0NXB4O1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBmbGV4LWdyb3c6IDA7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgZm9udC1zaXplOiAxLjRyZW07XG4gIGNvbG9yOiAjZmZmZmZmO1xufVxuLmhlYWRlci1uYXYtbWFpbiB1bCBsaSBhOjphZnRlciB7XG4gIGNvbnRlbnQ6IFwiXCI7XG4gIGhlaWdodDogMXB4O1xuICB3aWR0aDogMTAwJTtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2U0ZTJkYztcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBib3R0b206IDIwcHg7XG4gIGRpc3BsYXk6IG5vbmU7XG59XG5AbWVkaWEgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgLmhlYWRlci1uYXYtbWFpbiB1bCBsaSBhOjphZnRlciB7XG4gICAgYm90dG9tOiA5cHg7XG4gIH1cbn1cbkBtZWRpYSAobWluLXdpZHRoOiA3NjhweCkge1xuICAuaGVhZGVyLW5hdi1tYWluIHVsIGxpIGEge1xuICAgIHdpZHRoOiBhdXRvO1xuICAgIGhlaWdodDogNDVweDtcbiAgICBib3JkZXItYm90dG9tOiB1bnNldDtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICB9XG59XG4uaGVhZGVyLW5hdi1tYWluIHVsIGxpLmN1cnJlbnRfcGFnZV9pdGVtIGE6OmFmdGVyIHtcbiAgZGlzcGxheTogYmxvY2s7XG59XG4uaGVhZGVyLW5hdi1tYWluIHVsIGxpIC5uYXYtY2hldnJvbiB7XG4gIHdpZHRoOiA0NXB4O1xuICBoZWlnaHQ6IDQ1cHg7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgcmlnaHQ6IDA7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICB6LWluZGV4OiAyO1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIGNvbG9yOiAjZTRlMmRjO1xufVxuLmhlYWRlci1uYXYtbWFpbiB1bCBsaSAubmF2LWNoZXZyb246aG92ZXIge1xuICBjb2xvcjogI2I4YjJhMjtcbn1cbkBtZWRpYSAobWluLXdpZHRoOiA3NjhweCkge1xuICAuaGVhZGVyLW5hdi1tYWluIHVsIGxpIC5uYXYtY2hldnJvbiB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxufVxuLmhlYWRlci1uYXYtbWFpbiB1bCBsaSB1bCB7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IGF1dG87XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgdG9wOiAwO1xuICByaWdodDogMDtcbiAgbGVmdDogYXV0bztcbiAgbGlzdC1zdHlsZTogbm9uZTtcbiAgZGlzcGxheTogbm9uZTtcbn1cbkBtZWRpYSAobWluLXdpZHRoOiA3NjhweCkge1xuICAuaGVhZGVyLW5hdi1tYWluIHVsIGxpIHVsIHtcbiAgICBtaW4td2lkdGg6IDMyMHB4O1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDQ1cHg7XG4gICAgbGVmdDogMDtcbiAgICByaWdodDogYXV0bztcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDA1ZDUwO1xuICB9XG59XG4uaGVhZGVyLW5hdi1tYWluIHVsIGxpIHVsIGxpIHtcbiAgd2lkdGg6IDEwMCU7XG4gIG1pbi1oZWlnaHQ6IDQ1cHg7XG4gIGhlaWdodDogYXV0bztcbiAgbGlzdC1zdHlsZTogbm9uZTtcbiAgZGlzcGxheTogYmxvY2s7XG59XG5AbWVkaWEgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgLmhlYWRlci1uYXYtbWFpbiB1bCBsaSB1bCBsaSB7XG4gICAgaGVpZ2h0OiA0NXB4O1xuICAgIGJvcmRlci10b3A6IDFweCBzb2xpZCByZ2JhKDEwMiwgMTAyLCAxMDIsIDAuMik7XG4gIH1cbiAgLmhlYWRlci1uYXYtbWFpbiB1bCBsaSB1bCBsaTpob3ZlciA+IHVsIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG59XG4uaGVhZGVyLW5hdi1tYWluIHVsIGxpIHVsIGxpIGEge1xuICBwYWRkaW5nLWxlZnQ6IDNlbTtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xufVxuQG1lZGlhIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gIC5oZWFkZXItbmF2LW1haW4gdWwgbGkgdWwgbGkgYSB7XG4gICAgaGVpZ2h0OiA0NXB4O1xuICAgIHBhZGRpbmctcmlnaHQ6IDE1cHg7XG4gICAgcGFkZGluZy1sZWZ0OiAxNXB4O1xuICB9XG59XG4uaGVhZGVyLW5hdi1tYWluIHVsIGxpIHVsIGxpIHVsIGxpIGEge1xuICBwYWRkaW5nLWxlZnQ6IDQuNWVtO1xufVxuLmhlYWRlci1uYXYtbWFpbiB1bCBsaSB1bCBsaSB1bCBsaSB1bCBsaSBhIHtcbiAgcGFkZGluZy1sZWZ0OiA2ZW07XG59XG5cbi8qXG4uaGVhZGVyLW5hdi10b3Age1xuICBwYWRkaW5nLXJpZ2h0OiAwO1xuICBwYWRkaW5nLWxlZnQ6IDA7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IGF1dG87XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgdG9wOiBhdXRvO1xuICBsZWZ0OiBhdXRvO1xuICB6LWluZGV4OiA2O1xuICBkaXNwbGF5OiBibG9jaztcbiAgY2xlYXI6IGJvdGg7XG5cbiAgQGluY2x1ZGUgbWVkaWEoXCI+PXRhYmxldFwiKSB7XG4gICAgQGluY2x1ZGUgcGFkLWhvcml6b250YWw7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiAkdG9wQmFySGVpZ2h0O1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDA7XG4gICAgcmlnaHQ6IDA7XG4gICAgei1pbmRleDogNjtcbiAgfVxuXG4gIHVsIHsgLy8gdG9wIG5hdlxuICAgIHdpZHRoOiAxMDAlO1xuICAgIHBhZGRpbmctcmlnaHQ6IDA7XG4gICAgaGVpZ2h0OiBhdXRvO1xuICAgIG1hcmdpbjogMDtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgbGlzdC1zdHlsZTogbm9uZTtcbiAgICBjb2x1bW4tZ2FwOiAzMHB4O1xuICAgIGZsZXgtZmxvdzogY29sdW1uO1xuXG4gICAgQGluY2x1ZGUgbWVkaWEoXCI+PXRhYmxldFwiKSB7XG4gICAgICB3aWR0aDogYXV0bztcbiAgICAgIGhlaWdodDogJHRvcEJhckhlaWdodDtcbiAgICAgIHBhZGRpbmctcmlnaHQ6IDYwcHg7IC8vIFBhZGRpbmcgYWdhaW5zdCBoZWFkZXIgYnV0dG9ucyAoc2VhcmNoIGdsYXNzKVxuICAgICAgLy9mbGV4LWZsb3c6IHJvdztcbiAgICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kO1xuICAgIH1cblxuICAgIGxpIHsgLy8gdG9wIG5hdlxuICAgICAgQGluY2x1ZGUgcGFkLWhvcml6b250YWw7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIGhlaWdodDogNDVweDtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgbGlzdC1zdHlsZTogbm9uZTtcbiAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAkZ3JheTtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICAgICAgQGluY2x1ZGUgbWVkaWEoXCI+PXRhYmxldFwiKSB7XG4gICAgICAgIHdpZHRoOiBhdXRvO1xuICAgICAgICBwYWRkaW5nLXJpZ2h0OiAwO1xuICAgICAgICBwYWRkaW5nLWxlZnQ6IDA7XG4gICAgICAgIGJvcmRlci1ib3R0b206IHVuc2V0O1xuICAgICAgfVxuXG4gICAgICBhIHsgLy8gdG9wIG5hdlxuICAgICAgICBoZWlnaHQ6ICR0b3BCYXJIZWlnaHQ7XG4gICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICAgICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gICAgICAgIGZvbnQtc2l6ZTogMTJweDtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgY29sb3I6ICRicmFuZENvbG9yQ29udHJhc3Q7XG4gICAgICAgIGZvbnQtZmFtaWx5OiAnTGF0bycsIHNhbnMtc2VyaWY7XG5cbiAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgY29sb3I6IGRhcmtlbigkYnJhbmRDb2xvckNvbnRyYXN0LCAyMCUpO1xuICAgICAgICB9XG5cbiAgICAgICAgQGluY2x1ZGUgbWVkaWEoXCI+PXRhYmxldFwiKSB7XG5cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxufVxuKi9cbi8qXG5saS5zbGlkZS1saW5lIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB6LWluZGV4OiAxMDAyO1xuICBib3R0b206IC0xcHg7XG4gIGxlZnQ6IDA7XG4gIHdpZHRoOiAwO1xuICBoZWlnaHQ6IDVweDtcbiAgcGFkZGluZzogMDtcbiAgbWFyZ2luOiAwO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkd2hpdGU7XG4gIGJvcmRlci1yYWRpdXM6IDNweCAzcHggMCAwO1xuICB0cmFuc2l0aW9uOiB3aWR0aCAzMDBtcywgbGVmdCAzMDBtcywgYmFja2dyb3VuZC1jb2xvciAxNTBtcztcblxuICAmOmJlZm9yZSB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxuXG4gICYuaG92ZXItc3RhdGUge1xuICAgIC8vYm94LXNoYWRvdzogMCAwIDVweCAwcHggJGJsYWNrO1xuICB9XG59XG4qL1xuLmhlYWRlci1idXR0b25zIHtcbiAgcGFkZGluZy1yaWdodDogMzBweDtcbiAgdHJhbnNpdGlvbjogcGFkZGluZyAzMDBtcztcbiAgd2lkdGg6IGF1dG87XG4gIGhlaWdodDogOTBweDtcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDA7XG4gIHJpZ2h0OiAwO1xuICB6LWluZGV4OiA2O1xufVxuQG1lZGlhIChtaW4td2lkdGg6IDQ4MHB4KSB7XG4gIC5oZWFkZXItYnV0dG9ucyB7XG4gICAgcGFkZGluZy1yaWdodDogMzVweDtcbiAgfVxufVxuQG1lZGlhIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gIC5oZWFkZXItYnV0dG9ucyB7XG4gICAgcGFkZGluZy1yaWdodDogNDBweDtcbiAgfVxufVxuQG1lZGlhIChtaW4td2lkdGg6IDk5MnB4KSB7XG4gIC5oZWFkZXItYnV0dG9ucyB7XG4gICAgcGFkZGluZy1yaWdodDogNjBweDtcbiAgfVxufVxuQG1lZGlhIChtaW4td2lkdGg6IDEyMDBweCkge1xuICAuaGVhZGVyLWJ1dHRvbnMge1xuICAgIHBhZGRpbmctcmlnaHQ6IDgwcHg7XG4gIH1cbn1cbkBtZWRpYSAobWluLXdpZHRoOiA3NjhweCkge1xuICAuaGVhZGVyLWJ1dHRvbnMge1xuICAgIGhlaWdodDogNDVweDtcbiAgICBwYWRkaW5nLWxlZnQ6IDA7XG4gIH1cbn1cblxuLmdsYXNzIHtcbiAgcGFkZGluZzogOHB4IDEwcHg7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIHRvcDogYXV0bztcbn1cbkBtZWRpYSAobWluLXdpZHRoOiA3NjhweCkge1xuICAuZ2xhc3Mge1xuICAgIGhlaWdodDogNDVweDtcbiAgICBib3JkZXI6IHVuc2V0O1xuICB9XG59XG4uZ2xhc3MgaSB7XG4gIGNvbG9yOiAjZTRlMmRjO1xufVxuLmdsYXNzIGk6aG92ZXIge1xuICBjb2xvcjogI2I4YjJhMjtcbn1cbi5idXJnZXIge1xuICBtYXJnaW4tbGVmdDogMDtcbiAgcGFkZGluZzogOHB4IDEwcHg7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG59XG5AbWVkaWEgKG1pbi13aWR0aDogMzQwcHgpIHtcbiAgLmJ1cmdlciB7XG4gICAgbWFyZ2luLWxlZnQ6IDEwcHg7XG4gIH1cbn1cbkBtZWRpYSAobWluLXdpZHRoOiA3NjhweCkge1xuICAuYnVyZ2VyIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG59XG4uYnVyZ2VyIGkge1xuICBjb2xvcjogI2U0ZTJkYztcbn1cbi5idXJnZXIgaTpob3ZlciB7XG4gIGNvbG9yOiAjYjhiMmEyO1xufVxuXG4uaGVhZGVyLXNlYXJjaC13cmFwIHtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogYXV0bztcbiAgaGVpZ2h0OiBhdXRvO1xuICBkaXNwbGF5OiBub25lO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogOTBweDtcbiAgbGVmdDogMDtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzAwNWQ1MDtcbiAgei1pbmRleDogNjtcbn1cbkBtZWRpYSAobWluLXdpZHRoOiA3NjhweCkge1xuICAuaGVhZGVyLXNlYXJjaC13cmFwIHtcbiAgICB0b3A6IDQ1cHg7XG4gICAgaGVpZ2h0OiA3NXB4O1xuICB9XG59XG4uaGVhZGVyLXNlYXJjaC13cmFwIC5zaXRlLXNlYXJjaCB7XG4gIHBhZGRpbmctcmlnaHQ6IDMwcHg7XG4gIHRyYW5zaXRpb246IHBhZGRpbmcgMzAwbXM7XG4gIHBhZGRpbmctbGVmdDogMzBweDtcbiAgdHJhbnNpdGlvbjogcGFkZGluZyAzMDBtcztcbn1cbkBtZWRpYSAobWluLXdpZHRoOiA0ODBweCkge1xuICAuaGVhZGVyLXNlYXJjaC13cmFwIC5zaXRlLXNlYXJjaCB7XG4gICAgcGFkZGluZy1yaWdodDogMzVweDtcbiAgfVxufVxuQG1lZGlhIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gIC5oZWFkZXItc2VhcmNoLXdyYXAgLnNpdGUtc2VhcmNoIHtcbiAgICBwYWRkaW5nLXJpZ2h0OiA0MHB4O1xuICB9XG59XG5AbWVkaWEgKG1pbi13aWR0aDogOTkycHgpIHtcbiAgLmhlYWRlci1zZWFyY2gtd3JhcCAuc2l0ZS1zZWFyY2gge1xuICAgIHBhZGRpbmctcmlnaHQ6IDYwcHg7XG4gIH1cbn1cbkBtZWRpYSAobWluLXdpZHRoOiAxMjAwcHgpIHtcbiAgLmhlYWRlci1zZWFyY2gtd3JhcCAuc2l0ZS1zZWFyY2gge1xuICAgIHBhZGRpbmctcmlnaHQ6IDgwcHg7XG4gIH1cbn1cbkBtZWRpYSAobWluLXdpZHRoOiA0ODBweCkge1xuICAuaGVhZGVyLXNlYXJjaC13cmFwIC5zaXRlLXNlYXJjaCB7XG4gICAgcGFkZGluZy1sZWZ0OiAzNXB4O1xuICB9XG59XG5AbWVkaWEgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgLmhlYWRlci1zZWFyY2gtd3JhcCAuc2l0ZS1zZWFyY2gge1xuICAgIHBhZGRpbmctbGVmdDogNDBweDtcbiAgfVxufVxuQG1lZGlhIChtaW4td2lkdGg6IDk5MnB4KSB7XG4gIC5oZWFkZXItc2VhcmNoLXdyYXAgLnNpdGUtc2VhcmNoIHtcbiAgICBwYWRkaW5nLWxlZnQ6IDYwcHg7XG4gIH1cbn1cbkBtZWRpYSAobWluLXdpZHRoOiAxMjAwcHgpIHtcbiAgLmhlYWRlci1zZWFyY2gtd3JhcCAuc2l0ZS1zZWFyY2gge1xuICAgIHBhZGRpbmctbGVmdDogODBweDtcbiAgfVxufVxuXG4vKipcbiAgKiBTSVRFIFNFQVJDSCBGT1JNIFNUWUxFU1xuICAqL1xuLnNpdGUtc2VhcmNoIHtcbiAgd2lkdGg6IDEwMCU7XG4gIG1heC13aWR0aDogMTIwMHB4O1xuICBtYXJnaW46IDAgYXV0bztcbiAgaGVpZ2h0OiBhdXRvO1xuICBwYWRkaW5nOiA0MHB4IDA7XG4gIGRpc3BsYXk6IGdyaWQ7XG4gIGdyaWQtdGVtcGxhdGUtY29sdW1uczogMWZyIDUwcHg7XG4gIGdyaWQtdGVtcGxhdGUtcm93czogYXV0bztcbn1cblxuLnNlYXJjaC1xdWVyeSB7XG4gIGhlaWdodDogNTBweDtcbiAgcGFkZGluZzogMDtcbiAgZ3JpZC1jb2x1bW46IDEvc3BhbiAxO1xuICBncmlkLXJvdzogMTtcbiAgYWxpZ24tc2VsZjogY2VudGVyO1xufVxuLnNlYXJjaC1xdWVyeSBsYWJlbCB7XG4gIHdpZHRoOiAxMDAlO1xuICBtYXgtd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogMzBweDtcbiAgY29sb3I6ICNlNGUyZGM7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICB0ZXh0LWFsaWduOiBsZWZ0O1xuICBkaXNwbGF5OiBub25lO1xufVxuLnNlYXJjaC1xdWVyeSBpbnB1dCB7XG4gIHdpZHRoOiAxMDAlO1xuICBtYXgtd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogNTBweDtcbiAgcGFkZGluZy1sZWZ0OiAyMHB4O1xuICBib3JkZXI6IDJweCBzb2xpZCAjZTRlMmRjO1xuICBkaXNwbGF5OiBibG9jaztcbiAgYmFja2dyb3VuZC1jb2xvcjogdW5zZXQ7XG4gIGNvbG9yOiAjZTRlMmRjO1xufVxuXG4uc2VhcmNoLXN1Ym1pdCB7XG4gIHdpZHRoOiA1MHB4O1xuICBoZWlnaHQ6IDUwcHg7XG4gIGdyaWQtY29sdW1uOiAyL3NwYW4gMTtcbiAgZ3JpZC1yb3c6IDE7XG4gIGFsaWduLXNlbGY6IHN0YXJ0O1xuICBjb2xvcjogIzAwNWQ1MDtcbiAgZm9udC1zaXplOiAxLjRyZW07XG4gIGJhY2tncm91bmQtY29sb3I6ICNlNGUyZGM7XG4gIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMjAwbXM7XG59XG4uc2VhcmNoLXN1Ym1pdDpob3ZlciB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNiOGIyYTI7XG59XG5cbi8qKlxuICAqIE1BSU4gUEFHRSBDT05URU5UIFNUWUxFU1xuICAqL1xuLm1haW4td3JhcCB7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IGF1dG87XG4gIGdyaWQtcm93LXN0YXJ0OiAyO1xuICBncmlkLXJvdy1lbmQ6IDM7XG4gIGJhY2tncm91bmQtY29sb3I6ICNlNGUyZGM7XG59XG5cbi5tYWluIHtcbiAgaGVpZ2h0OiAxMDAlO1xuICBvdmVyZmxvdzogaGlkZGVuO1xufVxuXG4ucGFnZS1oZWFkZXItd3JhcCB7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IGF1dG87XG4gIHBhZGRpbmc6IDAgNXB4O1xuICBiYWNrZ3JvdW5kLXNpemU6IGNvdmVyO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG59XG5cbi5wYWdlLWhlYWRlci1vdmVybGF5IHtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogMTAwJTtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDA7XG4gIGxlZnQ6IDA7XG4gIHotaW5kZXg6IDI7XG4gIGJhY2tncm91bmQtY29sb3I6ICMwMDVkNTA7XG4gIG9wYWNpdHk6IDAuNTtcbiAgYmFja2dyb3VuZC1ibGVuZC1tb2RlOiBvdmVybGF5O1xufVxuLnBhZ2UtaGVhZGVyLW92ZXJsYXkuYmctdmlzaWJsZSB7XG4gIGJhY2tncm91bmQtY29sb3I6ICMwMDVkNTA7XG4gIG9wYWNpdHk6IDE7XG59XG5cbi5wYWdlLWhlYWRlciB7XG4gIHdpZHRoOiAxMDAlO1xuICBtYXgtd2lkdGg6IDEyMDBweDtcbiAgbWFyZ2luOiAwIGF1dG87XG4gIHBhZGRpbmctdG9wOiA0MHB4O1xuICB0cmFuc2l0aW9uOiBwYWRkaW5nIDMwMG1zO1xuICBwYWRkaW5nLWJvdHRvbTogNDBweDtcbiAgdHJhbnNpdGlvbjogcGFkZGluZyAzMDBtcztcbiAgcGFkZGluZy1yaWdodDogMzBweDtcbiAgdHJhbnNpdGlvbjogcGFkZGluZyAzMDBtcztcbiAgcGFkZGluZy1sZWZ0OiAzMHB4O1xuICB0cmFuc2l0aW9uOiBwYWRkaW5nIDMwMG1zO1xuICBmbGV4LXdyYXA6IHdyYXA7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgei1pbmRleDogMztcbn1cbkBtZWRpYSAobWluLXdpZHRoOiA0ODBweCkge1xuICAucGFnZS1oZWFkZXIge1xuICAgIHBhZGRpbmctdG9wOiA0NXB4O1xuICB9XG59XG5AbWVkaWEgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgLnBhZ2UtaGVhZGVyIHtcbiAgICBwYWRkaW5nLXRvcDogNTVweDtcbiAgfVxufVxuQG1lZGlhIChtaW4td2lkdGg6IDk5MnB4KSB7XG4gIC5wYWdlLWhlYWRlciB7XG4gICAgcGFkZGluZy10b3A6IDY1cHg7XG4gIH1cbn1cbkBtZWRpYSAobWluLXdpZHRoOiAxMjAwcHgpIHtcbiAgLnBhZ2UtaGVhZGVyIHtcbiAgICBwYWRkaW5nLXRvcDogODBweDtcbiAgfVxufVxuQG1lZGlhIChtaW4td2lkdGg6IDQ4MHB4KSB7XG4gIC5wYWdlLWhlYWRlciB7XG4gICAgcGFkZGluZy1ib3R0b206IDQ1cHg7XG4gIH1cbn1cbkBtZWRpYSAobWluLXdpZHRoOiA3NjhweCkge1xuICAucGFnZS1oZWFkZXIge1xuICAgIHBhZGRpbmctYm90dG9tOiA1NXB4O1xuICB9XG59XG5AbWVkaWEgKG1pbi13aWR0aDogOTkycHgpIHtcbiAgLnBhZ2UtaGVhZGVyIHtcbiAgICBwYWRkaW5nLWJvdHRvbTogNjVweDtcbiAgfVxufVxuQG1lZGlhIChtaW4td2lkdGg6IDEyMDBweCkge1xuICAucGFnZS1oZWFkZXIge1xuICAgIHBhZGRpbmctYm90dG9tOiA4MHB4O1xuICB9XG59XG5AbWVkaWEgKG1pbi13aWR0aDogNDgwcHgpIHtcbiAgLnBhZ2UtaGVhZGVyIHtcbiAgICBwYWRkaW5nLXJpZ2h0OiAzNXB4O1xuICB9XG59XG5AbWVkaWEgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgLnBhZ2UtaGVhZGVyIHtcbiAgICBwYWRkaW5nLXJpZ2h0OiA0MHB4O1xuICB9XG59XG5AbWVkaWEgKG1pbi13aWR0aDogOTkycHgpIHtcbiAgLnBhZ2UtaGVhZGVyIHtcbiAgICBwYWRkaW5nLXJpZ2h0OiA2MHB4O1xuICB9XG59XG5AbWVkaWEgKG1pbi13aWR0aDogMTIwMHB4KSB7XG4gIC5wYWdlLWhlYWRlciB7XG4gICAgcGFkZGluZy1yaWdodDogODBweDtcbiAgfVxufVxuQG1lZGlhIChtaW4td2lkdGg6IDQ4MHB4KSB7XG4gIC5wYWdlLWhlYWRlciB7XG4gICAgcGFkZGluZy1sZWZ0OiAzNXB4O1xuICB9XG59XG5AbWVkaWEgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgLnBhZ2UtaGVhZGVyIHtcbiAgICBwYWRkaW5nLWxlZnQ6IDQwcHg7XG4gIH1cbn1cbkBtZWRpYSAobWluLXdpZHRoOiA5OTJweCkge1xuICAucGFnZS1oZWFkZXIge1xuICAgIHBhZGRpbmctbGVmdDogNjBweDtcbiAgfVxufVxuQG1lZGlhIChtaW4td2lkdGg6IDEyMDBweCkge1xuICAucGFnZS1oZWFkZXIge1xuICAgIHBhZGRpbmctbGVmdDogODBweDtcbiAgfVxufVxuXG4ucGFnZS1oZWFkZXItdGl0bGUgaDEge1xuICB3aWR0aDogMTAwJTtcbiAgbWFyZ2luLWJvdHRvbTogMDtcbiAgY29sb3I6ICNmZmZmZmY7XG4gIHRleHQtc2hhZG93OiAwIDAgMTVweCAjMDA1ZDUwO1xufVxuXG4ucGFnZS1oZWFkZXItdGV4dCBwIHtcbiAgbWFyZ2luLXRvcDogNDBweDtcbiAgZm9udC1zaXplOiAycmVtO1xuICBjb2xvcjogI2ZmZmZmZjtcbiAgdGV4dC1zaGFkb3c6IDAgMCAxMHB4ICMwMDVkNTA7XG59XG5cbi5wYWdlLW1haW4td3JhcCB7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IGF1dG87XG59XG5cbi5wYWdlLW1haW4ge1xuICBkaXNwbGF5OiBncmlkO1xuICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDFmcjtcbiAgZ3JpZC10ZW1wbGF0ZS1yb3dzOiBhdXRvO1xufVxuQG1lZGlhIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gIC5wYWdlLW1haW4ge1xuICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogMWZyO1xuICAgIGdyaWQtdGVtcGxhdGUtcm93czogYXV0bztcbiAgfVxufVxuXG4ucGFnZS1tYWluLnNpZGUge1xuICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDFmciAwcHg7XG4gIGdyaWQtdGVtcGxhdGUtcm93czogYXV0byBhdXRvO1xufVxuQG1lZGlhIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gIC5wYWdlLW1haW4uc2lkZSB7XG4gICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiAxZnIgMzIwcHg7XG4gICAgZ3JpZC10ZW1wbGF0ZS1yb3dzOiBhdXRvIDBweDtcbiAgfVxufVxuXG4ucGFnZS1jb250ZW50IHtcbiAgd2lkdGg6IDEwMCU7XG4gIHBhZGRpbmctcmlnaHQ6IDA7XG4gIGdyaWQtY29sdW1uOiAxL3NwYW4gMTtcbiAgZ3JpZC1yb3c6IDI7XG59XG5AbWVkaWEgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgLnBhZ2UtY29udGVudCB7XG4gICAgZ3JpZC1jb2x1bW46IDEvc3BhbiAxO1xuICAgIGdyaWQtcm93OiAxO1xuICB9XG59XG5cbi5wYWdlLXNlY3Rpb24td3JhcCB7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IGF1dG87XG59XG5cbi5wYWdlLXNlY3Rpb24ge1xuICB3aWR0aDogMTAwJTtcbiAgbWF4LXdpZHRoOiAxMjAwcHg7XG4gIG1hcmdpbjogMCBhdXRvO1xuICBwYWRkaW5nLXJpZ2h0OiAzMHB4O1xuICB0cmFuc2l0aW9uOiBwYWRkaW5nIDMwMG1zO1xuICBwYWRkaW5nLWxlZnQ6IDMwcHg7XG4gIHRyYW5zaXRpb246IHBhZGRpbmcgMzAwbXM7XG4gIHBhZGRpbmctdG9wOiA0MHB4O1xuICB0cmFuc2l0aW9uOiBwYWRkaW5nIDMwMG1zO1xuICBwYWRkaW5nLWJvdHRvbTogNDBweDtcbiAgdHJhbnNpdGlvbjogcGFkZGluZyAzMDBtcztcbn1cbkBtZWRpYSAobWluLXdpZHRoOiA0ODBweCkge1xuICAucGFnZS1zZWN0aW9uIHtcbiAgICBwYWRkaW5nLXJpZ2h0OiAzNXB4O1xuICB9XG59XG5AbWVkaWEgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgLnBhZ2Utc2VjdGlvbiB7XG4gICAgcGFkZGluZy1yaWdodDogNDBweDtcbiAgfVxufVxuQG1lZGlhIChtaW4td2lkdGg6IDk5MnB4KSB7XG4gIC5wYWdlLXNlY3Rpb24ge1xuICAgIHBhZGRpbmctcmlnaHQ6IDYwcHg7XG4gIH1cbn1cbkBtZWRpYSAobWluLXdpZHRoOiAxMjAwcHgpIHtcbiAgLnBhZ2Utc2VjdGlvbiB7XG4gICAgcGFkZGluZy1yaWdodDogODBweDtcbiAgfVxufVxuQG1lZGlhIChtaW4td2lkdGg6IDQ4MHB4KSB7XG4gIC5wYWdlLXNlY3Rpb24ge1xuICAgIHBhZGRpbmctbGVmdDogMzVweDtcbiAgfVxufVxuQG1lZGlhIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gIC5wYWdlLXNlY3Rpb24ge1xuICAgIHBhZGRpbmctbGVmdDogNDBweDtcbiAgfVxufVxuQG1lZGlhIChtaW4td2lkdGg6IDk5MnB4KSB7XG4gIC5wYWdlLXNlY3Rpb24ge1xuICAgIHBhZGRpbmctbGVmdDogNjBweDtcbiAgfVxufVxuQG1lZGlhIChtaW4td2lkdGg6IDEyMDBweCkge1xuICAucGFnZS1zZWN0aW9uIHtcbiAgICBwYWRkaW5nLWxlZnQ6IDgwcHg7XG4gIH1cbn1cbkBtZWRpYSAobWluLXdpZHRoOiA0ODBweCkge1xuICAucGFnZS1zZWN0aW9uIHtcbiAgICBwYWRkaW5nLXRvcDogNDVweDtcbiAgfVxufVxuQG1lZGlhIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gIC5wYWdlLXNlY3Rpb24ge1xuICAgIHBhZGRpbmctdG9wOiA1NXB4O1xuICB9XG59XG5AbWVkaWEgKG1pbi13aWR0aDogOTkycHgpIHtcbiAgLnBhZ2Utc2VjdGlvbiB7XG4gICAgcGFkZGluZy10b3A6IDY1cHg7XG4gIH1cbn1cbkBtZWRpYSAobWluLXdpZHRoOiAxMjAwcHgpIHtcbiAgLnBhZ2Utc2VjdGlvbiB7XG4gICAgcGFkZGluZy10b3A6IDgwcHg7XG4gIH1cbn1cbkBtZWRpYSAobWluLXdpZHRoOiA0ODBweCkge1xuICAucGFnZS1zZWN0aW9uIHtcbiAgICBwYWRkaW5nLWJvdHRvbTogNDVweDtcbiAgfVxufVxuQG1lZGlhIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gIC5wYWdlLXNlY3Rpb24ge1xuICAgIHBhZGRpbmctYm90dG9tOiA1NXB4O1xuICB9XG59XG5AbWVkaWEgKG1pbi13aWR0aDogOTkycHgpIHtcbiAgLnBhZ2Utc2VjdGlvbiB7XG4gICAgcGFkZGluZy1ib3R0b206IDY1cHg7XG4gIH1cbn1cbkBtZWRpYSAobWluLXdpZHRoOiAxMjAwcHgpIHtcbiAgLnBhZ2Utc2VjdGlvbiB7XG4gICAgcGFkZGluZy1ib3R0b206IDgwcHg7XG4gIH1cbn1cblxuLnNpZGUgLnBhZ2UtY29udGVudCB7XG4gIHBhZGRpbmctcmlnaHQ6IDA7XG59XG5AbWVkaWEgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgLnNpZGUgLnBhZ2UtY29udGVudCB7XG4gICAgcGFkZGluZy1yaWdodDogMTAwcHg7XG4gIH1cbn1cblxuLnBhZ2Utc2lkZWJhciB7XG4gIHBhZGRpbmctYm90dG9tOiA0MHB4O1xuICB0cmFuc2l0aW9uOiBwYWRkaW5nIDMwMG1zO1xuICB3aWR0aDogMTAwJTtcbiAgZ3JpZC1jb2x1bW46IDEvc3BhbiAxO1xuICBncmlkLXJvdzogMTtcbn1cbkBtZWRpYSAobWluLXdpZHRoOiA0ODBweCkge1xuICAucGFnZS1zaWRlYmFyIHtcbiAgICBwYWRkaW5nLWJvdHRvbTogNDVweDtcbiAgfVxufVxuQG1lZGlhIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gIC5wYWdlLXNpZGViYXIge1xuICAgIHBhZGRpbmctYm90dG9tOiA1NXB4O1xuICB9XG59XG5AbWVkaWEgKG1pbi13aWR0aDogOTkycHgpIHtcbiAgLnBhZ2Utc2lkZWJhciB7XG4gICAgcGFkZGluZy1ib3R0b206IDY1cHg7XG4gIH1cbn1cbkBtZWRpYSAobWluLXdpZHRoOiAxMjAwcHgpIHtcbiAgLnBhZ2Utc2lkZWJhciB7XG4gICAgcGFkZGluZy1ib3R0b206IDgwcHg7XG4gIH1cbn1cbkBtZWRpYSAobWluLXdpZHRoOiA3NjhweCkge1xuICAucGFnZS1zaWRlYmFyIHtcbiAgICBncmlkLWNvbHVtbjogMi9zcGFuIDE7XG4gICAgZ3JpZC1yb3c6IDE7XG4gIH1cbn1cblxuLyoqXG4gICogRk9PVEVSIFNUWUxFU1xuICAqL1xuLmZvb3Rlci13cmFwIHtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogYXV0bztcbiAgZ3JpZC1yb3ctc3RhcnQ6IDM7XG4gIGdyaWQtcm93LWVuZDogNDtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzI1MjQyNTtcbn1cblxuLmZvb3RlciB7XG4gIHBhZGRpbmctdG9wOiA0MHB4O1xuICB0cmFuc2l0aW9uOiBwYWRkaW5nIDMwMG1zO1xuICBwYWRkaW5nLWJvdHRvbTogNDBweDtcbiAgdHJhbnNpdGlvbjogcGFkZGluZyAzMDBtcztcbiAgcGFkZGluZy1yaWdodDogMzBweDtcbiAgdHJhbnNpdGlvbjogcGFkZGluZyAzMDBtcztcbiAgcGFkZGluZy1sZWZ0OiAzMHB4O1xuICB0cmFuc2l0aW9uOiBwYWRkaW5nIDMwMG1zO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIGNvbG9yOiAjZTRlMmRjO1xuICBkaXNwbGF5OiBncmlkO1xuICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDUwJSA1MCU7XG4gIGdyaWQtcm93czogYXV0byBhdXRvIGF1dG87XG59XG5AbWVkaWEgKG1pbi13aWR0aDogNDgwcHgpIHtcbiAgLmZvb3RlciB7XG4gICAgcGFkZGluZy10b3A6IDQ1cHg7XG4gIH1cbn1cbkBtZWRpYSAobWluLXdpZHRoOiA3NjhweCkge1xuICAuZm9vdGVyIHtcbiAgICBwYWRkaW5nLXRvcDogNTVweDtcbiAgfVxufVxuQG1lZGlhIChtaW4td2lkdGg6IDk5MnB4KSB7XG4gIC5mb290ZXIge1xuICAgIHBhZGRpbmctdG9wOiA2NXB4O1xuICB9XG59XG5AbWVkaWEgKG1pbi13aWR0aDogMTIwMHB4KSB7XG4gIC5mb290ZXIge1xuICAgIHBhZGRpbmctdG9wOiA4MHB4O1xuICB9XG59XG5AbWVkaWEgKG1pbi13aWR0aDogNDgwcHgpIHtcbiAgLmZvb3RlciB7XG4gICAgcGFkZGluZy1ib3R0b206IDQ1cHg7XG4gIH1cbn1cbkBtZWRpYSAobWluLXdpZHRoOiA3NjhweCkge1xuICAuZm9vdGVyIHtcbiAgICBwYWRkaW5nLWJvdHRvbTogNTVweDtcbiAgfVxufVxuQG1lZGlhIChtaW4td2lkdGg6IDk5MnB4KSB7XG4gIC5mb290ZXIge1xuICAgIHBhZGRpbmctYm90dG9tOiA2NXB4O1xuICB9XG59XG5AbWVkaWEgKG1pbi13aWR0aDogMTIwMHB4KSB7XG4gIC5mb290ZXIge1xuICAgIHBhZGRpbmctYm90dG9tOiA4MHB4O1xuICB9XG59XG5AbWVkaWEgKG1pbi13aWR0aDogNDgwcHgpIHtcbiAgLmZvb3RlciB7XG4gICAgcGFkZGluZy1yaWdodDogMzVweDtcbiAgfVxufVxuQG1lZGlhIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gIC5mb290ZXIge1xuICAgIHBhZGRpbmctcmlnaHQ6IDQwcHg7XG4gIH1cbn1cbkBtZWRpYSAobWluLXdpZHRoOiA5OTJweCkge1xuICAuZm9vdGVyIHtcbiAgICBwYWRkaW5nLXJpZ2h0OiA2MHB4O1xuICB9XG59XG5AbWVkaWEgKG1pbi13aWR0aDogMTIwMHB4KSB7XG4gIC5mb290ZXIge1xuICAgIHBhZGRpbmctcmlnaHQ6IDgwcHg7XG4gIH1cbn1cbkBtZWRpYSAobWluLXdpZHRoOiA0ODBweCkge1xuICAuZm9vdGVyIHtcbiAgICBwYWRkaW5nLWxlZnQ6IDM1cHg7XG4gIH1cbn1cbkBtZWRpYSAobWluLXdpZHRoOiA3NjhweCkge1xuICAuZm9vdGVyIHtcbiAgICBwYWRkaW5nLWxlZnQ6IDQwcHg7XG4gIH1cbn1cbkBtZWRpYSAobWluLXdpZHRoOiA5OTJweCkge1xuICAuZm9vdGVyIHtcbiAgICBwYWRkaW5nLWxlZnQ6IDYwcHg7XG4gIH1cbn1cbkBtZWRpYSAobWluLXdpZHRoOiAxMjAwcHgpIHtcbiAgLmZvb3RlciB7XG4gICAgcGFkZGluZy1sZWZ0OiA4MHB4O1xuICB9XG59XG5cbi5mb290ZXItbmF2IHtcbiAgcGFkZGluZy1sZWZ0OiAwO1xuICBncmlkLWNvbHVtbjogMS9zcGFuIDI7XG4gIGdyaWQtcm93OiAyO1xuICBkaXNwbGF5OiBmbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbn1cbkBtZWRpYSAobWluLXdpZHRoOiA3NjhweCkge1xuICAuZm9vdGVyLW5hdiB7XG4gICAgcGFkZGluZy1sZWZ0OiAzMHB4O1xuICAgIHRyYW5zaXRpb246IHBhZGRpbmcgMzAwbXM7XG4gICAgd2lkdGg6IGF1dG87XG4gICAgZ3JpZC1jb2x1bW46IDIvc3BhbiAxO1xuICAgIGdyaWQtcm93OiAxL3NwYW4gMTtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IHJpZ2h0O1xuICB9XG59XG5AbWVkaWEgKG1pbi13aWR0aDogNzY4cHgpIGFuZCAobWluLXdpZHRoOiA0ODBweCkge1xuICAuZm9vdGVyLW5hdiB7XG4gICAgcGFkZGluZy1sZWZ0OiAzNXB4O1xuICB9XG59XG5AbWVkaWEgKG1pbi13aWR0aDogNzY4cHgpIGFuZCAobWluLXdpZHRoOiA3NjhweCkge1xuICAuZm9vdGVyLW5hdiB7XG4gICAgcGFkZGluZy1sZWZ0OiA0MHB4O1xuICB9XG59XG5AbWVkaWEgKG1pbi13aWR0aDogNzY4cHgpIGFuZCAobWluLXdpZHRoOiA5OTJweCkge1xuICAuZm9vdGVyLW5hdiB7XG4gICAgcGFkZGluZy1sZWZ0OiA2MHB4O1xuICB9XG59XG5AbWVkaWEgKG1pbi13aWR0aDogNzY4cHgpIGFuZCAobWluLXdpZHRoOiAxMjAwcHgpIHtcbiAgLmZvb3Rlci1uYXYge1xuICAgIHBhZGRpbmctbGVmdDogODBweDtcbiAgfVxufVxuLmZvb3Rlci1uYXYgdWwge1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiBhdXRvO1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIGxpc3Qtc3R5bGU6IG5vbmU7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbn1cbkBtZWRpYSAobWluLXdpZHRoOiA3NjhweCkge1xuICAuZm9vdGVyLW5hdiB1bCB7XG4gICAgd2lkdGg6IGF1dG87XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgdGV4dC1hbGlnbjogcmlnaHQ7XG4gIH1cbn1cbi5mb290ZXItbmF2IHVsIGxpIHtcbiAgd2lkdGg6IDEwMCU7XG4gIHBhZGRpbmc6IDVweCAwO1xuICBsaXN0LXN0eWxlOiBub25lO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAvKiY6YWZ0ZXIge1xuICAgIGNvbnRlbnQ6IFwifFwiO1xuICAgIGNvbG9yOiAkYnJhbmRDb2xvckNvbnRyYXN0O1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDA7XG4gICAgcmlnaHQ6IC0ycHg7XG4gIH1cblxuICAmOmxhc3QtY2hpbGQge1xuXG4gICAgJjphZnRlciB7XG4gICAgICBjb250ZW50OiBcIlwiO1xuICAgIH1cbiAgfSovXG59XG5AbWVkaWEgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgLmZvb3Rlci1uYXYgdWwgbGkge1xuICAgIHdpZHRoOiBhdXRvO1xuICAgIHBhZGRpbmc6IDA7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gIH1cbiAgLmZvb3Rlci1uYXYgdWwgbGk6YWZ0ZXIge1xuICAgIGNvbnRlbnQ6IFwiXCI7XG4gIH1cbn1cbi5mb290ZXItbmF2IHVsIGxpIGEge1xuICB3aWR0aDogMTAwJTtcbiAgcGFkZGluZzogMDtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBkaXNwbGF5OiBibG9jaztcbiAgZm9udC1zaXplOiAxcmVtO1xuICBjb2xvcjogI2U0ZTJkYztcbiAgdGV4dC1hbGlnbjogbGVmdDtcbiAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XG59XG5AbWVkaWEgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgLmZvb3Rlci1uYXYgdWwgbGkgYSB7XG4gICAgd2lkdGg6IGF1dG87XG4gICAgcGFkZGluZzogMDtcbiAgICB0ZXh0LWFsaWduOiByaWdodDtcbiAgfVxufVxuXG4uZm9vdGVyLWJyYW5kIHtcbiAgcGFkZGluZy1sZWZ0OiAwO1xuICBwYWRkaW5nLWJvdHRvbTogMjBweDtcbiAgd2lkdGg6IDEwMCU7XG4gIG1hcmdpbi10b3A6IDA7XG4gIG1hcmdpbi1ib3R0b206IDA7XG4gIHBhZGRpbmctcmlnaHQ6IDA7XG4gIGdyaWQtY29sdW1uOiAxL3NwYW4gMjtcbiAgZ3JpZC1yb3c6IDEvc3BhbiAxO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHotaW5kZXg6IDU7XG59XG5AbWVkaWEgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgLmZvb3Rlci1icmFuZCB7XG4gICAgcGFkZGluZy1yaWdodDogMzBweDtcbiAgICB0cmFuc2l0aW9uOiBwYWRkaW5nIDMwMG1zO1xuICAgIHBhZGRpbmctYm90dG9tOiAwO1xuICAgIGdyaWQtY29sdW1uOiAxL3NwYW4gMTtcbiAgICBncmlkLXJvdzogMS9zcGFuIDI7XG4gIH1cbn1cbkBtZWRpYSAobWluLXdpZHRoOiA3NjhweCkgYW5kIChtaW4td2lkdGg6IDQ4MHB4KSB7XG4gIC5mb290ZXItYnJhbmQge1xuICAgIHBhZGRpbmctcmlnaHQ6IDM1cHg7XG4gIH1cbn1cbkBtZWRpYSAobWluLXdpZHRoOiA3NjhweCkgYW5kIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gIC5mb290ZXItYnJhbmQge1xuICAgIHBhZGRpbmctcmlnaHQ6IDQwcHg7XG4gIH1cbn1cbkBtZWRpYSAobWluLXdpZHRoOiA3NjhweCkgYW5kIChtaW4td2lkdGg6IDk5MnB4KSB7XG4gIC5mb290ZXItYnJhbmQge1xuICAgIHBhZGRpbmctcmlnaHQ6IDYwcHg7XG4gIH1cbn1cbkBtZWRpYSAobWluLXdpZHRoOiA3NjhweCkgYW5kIChtaW4td2lkdGg6IDEyMDBweCkge1xuICAuZm9vdGVyLWJyYW5kIHtcbiAgICBwYWRkaW5nLXJpZ2h0OiA4MHB4O1xuICB9XG59XG4uZm9vdGVyLWJyYW5kIGEge1xuICB3aWR0aDogMjYwcHg7XG4gIGhlaWdodDogYXV0bztcbiAgbWFyZ2luOiAwO1xuICBkaXNwbGF5OiBmbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xufVxuLmZvb3Rlci1icmFuZCBhIC5mb290ZXItYnJhbmQtbG9nby1pbWFnZSB7XG4gIHdpZHRoOiBhdXRvO1xuICBtYXJnaW4tbGVmdDogLTEycHg7XG4gIGhlaWdodDogMTAwcHg7XG4gIG1hcmdpbi1yaWdodDogMTVweDtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBkaXNwbGF5OiBibG9jaztcbn1cbi5mb290ZXItYnJhbmQgYSAuZm9vdGVyLWJyYW5kLWxvZ28tdGV4dCB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBjb2xvcjogI2ZmZmZmZjtcbiAgdGV4dC1hbGlnbjogbGVmdDtcbiAgcGFkZGluZy1sZWZ0OiAwO1xuICBmb250LXdlaWdodDogYm9sZDtcbiAgZm9udC1zaXplOiAxcmVtO1xufVxuQG1lZGlhIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gIC5mb290ZXItYnJhbmQgYSAuZm9vdGVyLWJyYW5kLWxvZ28tdGV4dCB7XG4gICAgcGFkZGluZy1sZWZ0OiAxMHB4O1xuICB9XG59XG4uZm9vdGVyLWJyYW5kIGEgLmZvb3Rlci1icmFuZC1sb2dvLXRleHQgLmZvb3Rlci1icmFuZC1sb2dvLXRleHQtdGl0bGUge1xuICBtYXJnaW46IDAgYXV0bztcbiAgZGlzcGxheTogYmxvY2s7XG4gIGxpbmUtaGVpZ2h0OiAxLjI7XG4gIGZvbnQtc2l6ZTogMS40cmVtO1xufVxuLmZvb3Rlci1icmFuZCBhIC5mb290ZXItYnJhbmQtbG9nby10ZXh0IC5mb290ZXItYnJhbmQtbG9nby10ZXh0LXRpdGxlIHNwYW4ucmVnaXN0ZXJlZCB7XG4gIGZvbnQtc2l6ZTogMC43cmVtO1xuICBmb250LXdlaWdodDogbm9ybWFsO1xuICB2ZXJ0aWNhbC1hbGlnbjogc3VwZXI7XG59XG5AbWVkaWEgKG1pbi13aWR0aDogNDgwcHgpIHtcbiAgLmZvb3Rlci1icmFuZCBhIC5mb290ZXItYnJhbmQtbG9nby10ZXh0IC5mb290ZXItYnJhbmQtbG9nby10ZXh0LXRpdGxlIHNwYW4ucmVnaXN0ZXJlZCB7XG4gICAgZm9udC1zaXplOiAwLjlyZW07XG4gIH1cbn1cbi5mb290ZXItYnJhbmQgYSAuZm9vdGVyLWJyYW5kLWxvZ28tdGV4dCAuZm9vdGVyLWJyYW5kLWxvZ28tdGV4dC10YWdsaW5lIHtcbiAgbWFyZ2luOiAxMHB4IGF1dG8gMCBhdXRvO1xuICBsaW5lLWhlaWdodDogMC44O1xuICBmb250LXNpemU6IDEuMXJlbTtcbiAgZm9udC13ZWlnaHQ6IGxpZ2h0ZXI7XG4gIGZvbnQtc3R5bGU6IGl0YWxpYztcbiAgZGlzcGxheTogYmxvY2s7XG4gIGNvbG9yOiAjZmZmZmZmO1xufVxuLmNvcHlyaWdodCB7XG4gIG1hcmdpbjogMDtcbiAgcGFkZGluZzogMjBweCAwIDAgMDtcbiAgZ3JpZC1jb2x1bW46IDEvc3BhbiAyO1xuICBncmlkLXJvdzogMztcbiAgZm9udC1zaXplOiAxMHB4O1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGxlZnQ7XG4gIHRleHQtYWxpZ246IGxlZnQ7XG59XG5AbWVkaWEgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgLmNvcHlyaWdodCB7XG4gICAgcGFkZGluZzogMCAwIDAgMDtcbiAgICBncmlkLXJvdzogMjtcbiAgICBncmlkLWNvbHVtbjogMi9zcGFuIDE7XG4gICAganVzdGlmeS1jb250ZW50OiByaWdodDtcbiAgICB0ZXh0LWFsaWduOiByaWdodDtcbiAgfVxufVxuXG4vKipcbiAgKiBNSVNDRUxMQU5FT1VTIFNUWUxFU1xuICAqL1xuLmVtYmVkLWNvbnRhaW5lci13cmFwIHtcbiAgd2lkdGg6IDEwMCU7XG4gIG1heC13aWR0aDogNTAwcHg7XG4gIG1hcmdpbjogMjBweCBhdXRvO1xufVxuXG4uZW1iZWQtY29udGFpbmVyIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBwYWRkaW5nLWJvdHRvbTogNTYuMjUlO1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICBtYXgtd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogYXV0bztcbn1cblxuLmVtYmVkLWNvbnRhaW5lciBpZnJhbWUsXG4uZW1iZWQtY29udGFpbmVyIG9iamVjdCxcbi5lbWJlZC1jb250YWluZXIgZW1iZWQge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogMDtcbiAgbGVmdDogMDtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogMTAwJTtcbn1cblxuLm1heC13aWR0aC0yODBweCB7XG4gIHdpZHRoOiAxMDAlO1xuICBtYXgtd2lkdGg6IDI4MHB4O1xufVxuXG4uZmxvYXQtcmlnaHQsXG4uYWxpZ25yaWdodCB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBtYXJnaW46IDAgYXV0bztcbiAgcGFkZGluZzogMjBweDtcbiAgZmxvYXQ6IG5vbmU7XG59XG5AbWVkaWEgKG1pbi13aWR0aDogNDgwcHgpIHtcbiAgLmZsb2F0LXJpZ2h0LFxuICAuYWxpZ25yaWdodCB7XG4gICAgcGFkZGluZzogMjBweCAwIDIwcHggMjBweDtcbiAgICBmbG9hdDogcmlnaHQ7XG4gIH1cbn1cblxuLnNlcnZpY2Uge1xuICBtYXJnaW46IDMwcHggMCAwIDA7XG4gIHBhZGRpbmc6IDAgMCAwIDA7XG4gIGJvcmRlci10b3A6IDJweCBzb2xpZCByZ2JhKDAsIDkzLCA4MCwgMC4xKTtcbiAgZGlzcGxheTogZ3JpZDtcbiAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiAxZnIgMTUwcHg7XG4gIGdyaWQtdGVtcGxhdGUtcm93czogYXV0byBhdXRvIGF1dG87XG59XG4uc2VydmljZTpmaXJzdC1jaGlsZCB7XG4gIG1hcmdpbjogMCAwIDAgMDtcbiAgYm9yZGVyLXRvcDogdW5zZXQ7XG59XG4uc2VydmljZTpmaXJzdC1jaGlsZCAuc2VydmljZS10aXRsZSBoMiB7XG4gIG1hcmdpbi10b3A6IDA7XG59XG4uc2VydmljZTpudGgtY2hpbGQoMSkgLnNlcnZpY2UtaW1hZ2UgaW1nIHtcbiAgd2lkdGg6IGF1dG87XG4gIGhlaWdodDogMTIwcHg7XG59XG4uc2VydmljZTpudGgtY2hpbGQoNSkgLnNlcnZpY2UtaW1hZ2UgaW1nIHtcbiAgd2lkdGg6IDEyMHB4O1xufVxuLnNlcnZpY2U6bnRoLWNoaWxkKDcpIC5zZXJ2aWNlLWltYWdlIGltZyB7XG4gIHdpZHRoOiA2NXB4O1xufVxuLnNlcnZpY2UtdGl0bGUge1xuICBncmlkLWNvbHVtbjogMS9zcGFuIDI7XG4gIGdyaWQtcm93OiAxO1xufVxuQG1lZGlhIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gIC5zZXJ2aWNlLXRpdGxlIHtcbiAgICBncmlkLWNvbHVtbjogMS9zcGFuIDE7XG4gIH1cbn1cblxuLnNlcnZpY2UtY29udGVudCB7XG4gIHBhZGRpbmc6IDA7XG4gIGdyaWQtY29sdW1uOiAxL3NwYW4gMjtcbiAgZ3JpZC1yb3c6IDI7XG59XG5AbWVkaWEgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgLnNlcnZpY2UtY29udGVudCB7XG4gICAgcGFkZGluZzogMCAzMHB4IDAgMDtcbiAgICBncmlkLWNvbHVtbjogMS9zcGFuIDE7XG4gICAgZ3JpZC1yb3c6IDI7XG4gIH1cbn1cblxuLnNlcnZpY2UtaW1hZ2Uge1xuICBwYWRkaW5nLXRvcDogMDtcbiAgZ3JpZC1jb2x1bW46IDEvc3BhbiAyO1xuICBncmlkLXJvdzogMztcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbn1cbkBtZWRpYSAobWluLXdpZHRoOiA3NjhweCkge1xuICAuc2VydmljZS1pbWFnZSB7XG4gICAgcGFkZGluZy10b3A6IDMwcHg7XG4gICAgZ3JpZC1jb2x1bW46IDIvc3BhbiAxO1xuICAgIGdyaWQtcm93OiAxL3NwYW47XG4gICAgZ3JpZC1yb3c6IDEvc3BhbiAzO1xuICB9XG59XG4uc2VydmljZS1pbWFnZSBpbWcge1xuICB3aWR0aDogMTUwcHg7XG4gIGhlaWdodDogYXV0bztcbiAgbWFyZ2luOiAwO1xufVxuQG1lZGlhIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gIC5zZXJ2aWNlLWltYWdlIGltZyB7XG4gICAgbWFyZ2luOiAwIGF1dG87XG4gIH1cbn0iLCIvKipcbiAgKiBQQUdFLVNQRUNJRklDIFNUWUxFU0hFRVQ6IFNlcnZpY2VzXG4gICpcbiAgKiBJbXBvcnQgY29tbW9uIHN0eWxlcyBhbmQgaG91c2UgcGFnZS1zcGVjaWZpYyBzdHlsZXMgZm9yIFNlcnZpY2VzIHBhZ2UuXG4gICovXG5cbkBpbXBvcnQgJ19jb21tb24nOyAvLyBDb21tb24gc3R5bGVzXG5cbi5wYWdlLW1haW4td3JhcCB7XG5cbn1cblxuLnNlcnZpY2VzIHtcblxufVxuICAuc2VydmljZSB7XG4gICAgbWFyZ2luOiAzMHB4IDAgMCAwO1xuICAgIHBhZGRpbmc6IDAgMCAwIDA7XG4gICAgYm9yZGVyLXRvcDogMnB4IHNvbGlkIHRyYW5zcGFyZW50aXplKCRicmFuZENvbG9yUHJpbWFyeSwgMC45KTtcbiAgICBkaXNwbGF5OiBncmlkO1xuICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogMWZyIDE1MHB4O1xuICAgIGdyaWQtdGVtcGxhdGUtcm93czogYXV0byBhdXRvIGF1dG87XG5cbiAgICAmOmZpcnN0LWNoaWxkIHtcbiAgICAgIG1hcmdpbjogMCAwIDAgMDtcbiAgICAgIGJvcmRlci10b3A6IHVuc2V0O1xuXG4gICAgICAuc2VydmljZS10aXRsZSB7XG5cbiAgICAgICAgaDIge1xuICAgICAgICAgIG1hcmdpbi10b3A6IDA7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICAmOm50aC1jaGlsZCgxKSB7XG4gICAgICAuc2VydmljZS1pbWFnZSB7XG4gICAgICAgIGltZyB7XG4gICAgICAgICAgd2lkdGg6IGF1dG87XG4gICAgICAgICAgaGVpZ2h0OiAxMjBweDtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgICY6bnRoLWNoaWxkKDUpIHtcbiAgICAgIC5zZXJ2aWNlLWltYWdlIHtcbiAgICAgICAgaW1nIHtcbiAgICAgICAgICB3aWR0aDogMTIwcHg7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICAmOm50aC1jaGlsZCg3KSB7XG4gICAgICAuc2VydmljZS1pbWFnZSB7XG4gICAgICAgIGltZyB7XG4gICAgICAgICAgd2lkdGg6IDY1cHg7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICBAaW5jbHVkZSBtZWRpYShcIj49dGFibGV0XCIpIHtcblxuICAgIH1cbiAgfVxuICAgIC5zZXJ2aWNlLXRpdGxlIHtcbiAgICAgIGdyaWQtY29sdW1uOiAxIC8gc3BhbiAyO1xuICAgICAgZ3JpZC1yb3c6IDE7XG5cbiAgICAgIEBpbmNsdWRlIG1lZGlhKFwiPj10YWJsZXRcIikge1xuICAgICAgICBncmlkLWNvbHVtbjogMSAvIHNwYW4gMTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAuc2VydmljZS1jb250ZW50IHtcbiAgICAgIHBhZGRpbmc6IDA7XG4gICAgICBncmlkLWNvbHVtbjogMSAvIHNwYW4gMjtcbiAgICAgIGdyaWQtcm93OiAyO1xuXG4gICAgICBAaW5jbHVkZSBtZWRpYShcIj49dGFibGV0XCIpIHtcbiAgICAgICAgcGFkZGluZzogMCAzMHB4IDAgMDtcbiAgICAgICAgZ3JpZC1jb2x1bW46IDEgLyBzcGFuIDE7XG4gICAgICAgIGdyaWQtcm93OiAyO1xuICAgICAgfVxuICAgIH1cblxuICAgIC5zZXJ2aWNlLWltYWdlIHtcbiAgICAgIC8vbWF4LXdpZHRoOiAzMDBweDtcbiAgICAgIHBhZGRpbmctdG9wOiAwO1xuICAgICAgLy9tYXJnaW46IDAgYXV0bztcbiAgICAgIGdyaWQtY29sdW1uOiAxIC8gc3BhbiAyO1xuICAgICAgZ3JpZC1yb3c6IDM7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgIC8vdGV4dC1hbGlnbjogbGVmdDtcblxuICAgICAgQGluY2x1ZGUgbWVkaWEoXCI+PXRhYmxldFwiKSB7XG4gICAgICAgIHBhZGRpbmctdG9wOiAzMHB4O1xuICAgICAgICBncmlkLWNvbHVtbjogMiAvIHNwYW4gMTtcbiAgICAgICAgZ3JpZC1yb3c6IDEgLyBzcGFuO1xuICAgICAgICBncmlkLXJvdzogMSAvIHNwYW4gMztcbiAgICAgIH1cblxuICAgICAgaW1nIHtcbiAgICAgICAgd2lkdGg6IDE1MHB4O1xuICAgICAgICBoZWlnaHQ6IGF1dG87XG4gICAgICAgIG1hcmdpbjogMDtcblxuICAgICAgICBAaW5jbHVkZSBtZWRpYShcIj49dGFibGV0XCIpIHtcbiAgICAgICAgICBtYXJnaW46IDAgYXV0bztcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiIsIi8qKlxuICAqIENPTU1PTiBTVFlMRVNcbiAgKlxuICAqIERlZmluZXMgdGhlIHN0eWxlcyB0byBpbXBvcnQgdGhhdCBhcmUgcmVxdWlyZWQgYnkgdmlydHVhbGx5IGFsbCBwYWdlcy5cbiAgKi9cblxuXG4vLyBpbXBvcnQgbGlicmFyaWVzOlxuQGltcG9ydCAnbGlicmFyaWVzL19pbmNsdWRlLW1lZGlhLnNjc3MnOyAvLyBcIkluY2x1ZGUtTWVkaWFcIiBtZWRpYSBxdWVyeSBsaWJyYXJ5IChwcm92aWRlcyBicmVha3BvaW50IGZ1bmN0aW9uYWxpdHkgZm9yIHJlc3BvbnNpdmUgZGVzaWduKVxuQGltcG9ydCAnbGlicmFyaWVzL19ub3JtYWxpemUuc2Nzcyc7ICAgICAvLyBcIk5vcm1hbGl6ZVwiIGNzcyByZXNldCBsaWJyYXJ5XG5cbi8vIGdsb2JhbCBzdHlsZXMgYW5kIGRlcGVuZGVuY2llczpcbkBpbXBvcnQgJ3BhcnRpYWxzL19icmVha3BvaW50cy5tb2R1bGVzJzsgIC8vIGJyZWFrcG9pbnQgZGVmaW5pdGlvbnMgZm9yIG1lZGlhIHF1ZXJ5IHVzZVxuQGltcG9ydCAncGFydGlhbHMvX3ZhcmlhYmxlcyc7ICAgICAgICAgICAgLy8gZ2VuZXJhbCB2YXJpYWJsZSBkZWZpbml0aW9ucyAoY29sb3JzLCBkaW1lbnNpb25zLCBldGMuKVxuQGltcG9ydCAncGFydGlhbHMvX2ZvbnRzJzsgICAgICAgICAgICAgICAgLy8gQGZvbnQtZmFjZSBkZWZpbml0aW9uc1xuQGltcG9ydCAncGFydGlhbHMvX21peGlucyc7ICAgICAgICAgICAgICAgLy8gbWl4aW4gYW5kIGFzc29jaWF0ZWQgY2xhc3MgZGVmaW5pdGlvbnNcbkBpbXBvcnQgJ3BhcnRpYWxzL19lbGVtZW50cyc7ICAgICAgICAgICAgIC8vIGdsb2JhbCBlbGVtZW50IHNlbGVjdG9yIHN0eWxlc1xuQGltcG9ydCAncGFydGlhbHMvX2hlYWRlcic7ICAgICAgICAgICAgICAgLy8gaGVhZGVyIHN0eWxlc1xuQGltcG9ydCAncGFydGlhbHMvX3NlYXJjaGZvcm0nOyAgICAgICAgICAgLy8gc2VhcmNoIGZvcm0gc3R5bGVzXG5AaW1wb3J0ICdwYXJ0aWFscy9fbWFpbic7ICAgICAgICAgICAgICAgICAvLyBtYWluIHBhZ2UgY29udGVudCBzdHlsZXNcbkBpbXBvcnQgJ3BhcnRpYWxzL19mb290ZXInOyAgICAgICAgICAgICAgIC8vIGZvb3RlciBzdHlsZXNcbkBpbXBvcnQgJ3BhcnRpYWxzL19taXNjJzsgICAgICAgICAgICAgICAgIC8vIG1pc2MuIHN0eWxlcyAodHlwaWNhbGx5IGNsYXNzZXMgdGhhdCBhcmUgdXNhYmxlIGluIGNvbnRlbnQsIGJ1dCBub3QgaW5oZXJlbnQgdG8gdGhlIHNpdGUgc3RydWN0dXJlKVxuIiwiLyohIG5vcm1hbGl6ZS5jc3MgdjguMC4xIHwgTUlUIExpY2Vuc2UgfCBnaXRodWIuY29tL25lY29sYXMvbm9ybWFsaXplLmNzcyAqL1xuXG4vKiBEb2N1bWVudFxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLyoqXG4gKiAxLiBDb3JyZWN0IHRoZSBsaW5lIGhlaWdodCBpbiBhbGwgYnJvd3NlcnMuXG4gKiAyLiBQcmV2ZW50IGFkanVzdG1lbnRzIG9mIGZvbnQgc2l6ZSBhZnRlciBvcmllbnRhdGlvbiBjaGFuZ2VzIGluIGlPUy5cbiAqL1xuXG5odG1sIHtcbiAgbGluZS1oZWlnaHQ6IDEuMTU7IC8qIDEgKi9cbiAgLXdlYmtpdC10ZXh0LXNpemUtYWRqdXN0OiAxMDAlOyAvKiAyICovXG59XG5cbi8qIFNlY3Rpb25zXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKipcbiAqIFJlbW92ZSB0aGUgbWFyZ2luIGluIGFsbCBicm93c2Vycy5cbiAqL1xuXG5ib2R5IHtcbiAgbWFyZ2luOiAwO1xufVxuXG4vKipcbiAqIFJlbmRlciB0aGUgYG1haW5gIGVsZW1lbnQgY29uc2lzdGVudGx5IGluIElFLlxuICovXG5cbm1haW4ge1xuICBkaXNwbGF5OiBibG9jaztcbn1cblxuLyoqXG4gKiBDb3JyZWN0IHRoZSBmb250IHNpemUgYW5kIG1hcmdpbiBvbiBgaDFgIGVsZW1lbnRzIHdpdGhpbiBgc2VjdGlvbmAgYW5kXG4gKiBgYXJ0aWNsZWAgY29udGV4dHMgaW4gQ2hyb21lLCBGaXJlZm94LCBhbmQgU2FmYXJpLlxuICovXG5cbmgxIHtcbiAgZm9udC1zaXplOiAyZW07XG4gIG1hcmdpbjogMC42N2VtIDA7XG59XG5cbi8qIEdyb3VwaW5nIGNvbnRlbnRcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qKlxuICogMS4gQWRkIHRoZSBjb3JyZWN0IGJveCBzaXppbmcgaW4gRmlyZWZveC5cbiAqIDIuIFNob3cgdGhlIG92ZXJmbG93IGluIEVkZ2UgYW5kIElFLlxuICovXG5cbmhyIHtcbiAgYm94LXNpemluZzogY29udGVudC1ib3g7IC8qIDEgKi9cbiAgaGVpZ2h0OiAwOyAvKiAxICovXG4gIG92ZXJmbG93OiB2aXNpYmxlOyAvKiAyICovXG59XG5cbi8qKlxuICogMS4gQ29ycmVjdCB0aGUgaW5oZXJpdGFuY2UgYW5kIHNjYWxpbmcgb2YgZm9udCBzaXplIGluIGFsbCBicm93c2Vycy5cbiAqIDIuIENvcnJlY3QgdGhlIG9kZCBgZW1gIGZvbnQgc2l6aW5nIGluIGFsbCBicm93c2Vycy5cbiAqL1xuXG5wcmUge1xuICBmb250LWZhbWlseTogbW9ub3NwYWNlLCBtb25vc3BhY2U7IC8qIDEgKi9cbiAgZm9udC1zaXplOiAxZW07IC8qIDIgKi9cbn1cblxuLyogVGV4dC1sZXZlbCBzZW1hbnRpY3NcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qKlxuICogUmVtb3ZlIHRoZSBncmF5IGJhY2tncm91bmQgb24gYWN0aXZlIGxpbmtzIGluIElFIDEwLlxuICovXG5cbmEge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbn1cblxuLyoqXG4gKiAxLiBSZW1vdmUgdGhlIGJvdHRvbSBib3JkZXIgaW4gQ2hyb21lIDU3LVxuICogMi4gQWRkIHRoZSBjb3JyZWN0IHRleHQgZGVjb3JhdGlvbiBpbiBDaHJvbWUsIEVkZ2UsIElFLCBPcGVyYSwgYW5kIFNhZmFyaS5cbiAqL1xuXG5hYmJyW3RpdGxlXSB7XG4gIGJvcmRlci1ib3R0b206IG5vbmU7IC8qIDEgKi9cbiAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7IC8qIDIgKi9cbiAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmUgZG90dGVkOyAvKiAyICovXG59XG5cbi8qKlxuICogQWRkIHRoZSBjb3JyZWN0IGZvbnQgd2VpZ2h0IGluIENocm9tZSwgRWRnZSwgYW5kIFNhZmFyaS5cbiAqL1xuXG5iLFxuc3Ryb25nIHtcbiAgZm9udC13ZWlnaHQ6IGJvbGRlcjtcbn1cblxuLyoqXG4gKiAxLiBDb3JyZWN0IHRoZSBpbmhlcml0YW5jZSBhbmQgc2NhbGluZyBvZiBmb250IHNpemUgaW4gYWxsIGJyb3dzZXJzLlxuICogMi4gQ29ycmVjdCB0aGUgb2RkIGBlbWAgZm9udCBzaXppbmcgaW4gYWxsIGJyb3dzZXJzLlxuICovXG5cbmNvZGUsXG5rYmQsXG5zYW1wIHtcbiAgZm9udC1mYW1pbHk6IG1vbm9zcGFjZSwgbW9ub3NwYWNlOyAvKiAxICovXG4gIGZvbnQtc2l6ZTogMWVtOyAvKiAyICovXG59XG5cbi8qKlxuICogQWRkIHRoZSBjb3JyZWN0IGZvbnQgc2l6ZSBpbiBhbGwgYnJvd3NlcnMuXG4gKi9cblxuc21hbGwge1xuICBmb250LXNpemU6IDgwJTtcbn1cblxuLyoqXG4gKiBQcmV2ZW50IGBzdWJgIGFuZCBgc3VwYCBlbGVtZW50cyBmcm9tIGFmZmVjdGluZyB0aGUgbGluZSBoZWlnaHQgaW5cbiAqIGFsbCBicm93c2Vycy5cbiAqL1xuXG5zdWIsXG5zdXAge1xuICBmb250LXNpemU6IDc1JTtcbiAgbGluZS1oZWlnaHQ6IDA7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgdmVydGljYWwtYWxpZ246IGJhc2VsaW5lO1xufVxuXG5zdWIge1xuICBib3R0b206IC0wLjI1ZW07XG59XG5cbnN1cCB7XG4gIHRvcDogLTAuNWVtO1xufVxuXG4vKiBFbWJlZGRlZCBjb250ZW50XG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKipcbiAqIFJlbW92ZSB0aGUgYm9yZGVyIG9uIGltYWdlcyBpbnNpZGUgbGlua3MgaW4gSUUgMTAuXG4gKi9cblxuaW1nIHtcbiAgYm9yZGVyLXN0eWxlOiBub25lO1xufVxuXG4vKiBGb3Jtc1xuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLyoqXG4gKiAxLiBDaGFuZ2UgdGhlIGZvbnQgc3R5bGVzIGluIGFsbCBicm93c2Vycy5cbiAqIDIuIFJlbW92ZSB0aGUgbWFyZ2luIGluIEZpcmVmb3ggYW5kIFNhZmFyaS5cbiAqL1xuXG5idXR0b24sXG5pbnB1dCxcbm9wdGdyb3VwLFxuc2VsZWN0LFxudGV4dGFyZWEge1xuICBmb250LWZhbWlseTogaW5oZXJpdDsgLyogMSAqL1xuICBmb250LXNpemU6IDEwMCU7IC8qIDEgKi9cbiAgbGluZS1oZWlnaHQ6IDEuMTU7IC8qIDEgKi9cbiAgbWFyZ2luOiAwOyAvKiAyICovXG59XG5cbi8qKlxuICogU2hvdyB0aGUgb3ZlcmZsb3cgaW4gSUUuXG4gKiAxLiBTaG93IHRoZSBvdmVyZmxvdyBpbiBFZGdlLlxuICovXG5cbmJ1dHRvbixcbmlucHV0IHsgLyogMSAqL1xuICBvdmVyZmxvdzogdmlzaWJsZTtcbn1cblxuLyoqXG4gKiBSZW1vdmUgdGhlIGluaGVyaXRhbmNlIG9mIHRleHQgdHJhbnNmb3JtIGluIEVkZ2UsIEZpcmVmb3gsIGFuZCBJRS5cbiAqIDEuIFJlbW92ZSB0aGUgaW5oZXJpdGFuY2Ugb2YgdGV4dCB0cmFuc2Zvcm0gaW4gRmlyZWZveC5cbiAqL1xuXG5idXR0b24sXG5zZWxlY3QgeyAvKiAxICovXG4gIHRleHQtdHJhbnNmb3JtOiBub25lO1xufVxuXG4vKipcbiAqIENvcnJlY3QgdGhlIGluYWJpbGl0eSB0byBzdHlsZSBjbGlja2FibGUgdHlwZXMgaW4gaU9TIGFuZCBTYWZhcmkuXG4gKi9cblxuYnV0dG9uLFxuW3R5cGU9XCJidXR0b25cIl0sXG5bdHlwZT1cInJlc2V0XCJdLFxuW3R5cGU9XCJzdWJtaXRcIl0ge1xuICAtd2Via2l0LWFwcGVhcmFuY2U6IGJ1dHRvbjtcbn1cblxuLyoqXG4gKiBSZW1vdmUgdGhlIGlubmVyIGJvcmRlciBhbmQgcGFkZGluZyBpbiBGaXJlZm94LlxuICovXG5cbmJ1dHRvbjo6LW1vei1mb2N1cy1pbm5lcixcblt0eXBlPVwiYnV0dG9uXCJdOjotbW96LWZvY3VzLWlubmVyLFxuW3R5cGU9XCJyZXNldFwiXTo6LW1vei1mb2N1cy1pbm5lcixcblt0eXBlPVwic3VibWl0XCJdOjotbW96LWZvY3VzLWlubmVyIHtcbiAgYm9yZGVyLXN0eWxlOiBub25lO1xuICBwYWRkaW5nOiAwO1xufVxuXG4vKipcbiAqIFJlc3RvcmUgdGhlIGZvY3VzIHN0eWxlcyB1bnNldCBieSB0aGUgcHJldmlvdXMgcnVsZS5cbiAqL1xuXG5idXR0b246LW1vei1mb2N1c3JpbmcsXG5bdHlwZT1cImJ1dHRvblwiXTotbW96LWZvY3VzcmluZyxcblt0eXBlPVwicmVzZXRcIl06LW1vei1mb2N1c3JpbmcsXG5bdHlwZT1cInN1Ym1pdFwiXTotbW96LWZvY3VzcmluZyB7XG4gIG91dGxpbmU6IDFweCBkb3R0ZWQgQnV0dG9uVGV4dDtcbn1cblxuLyoqXG4gKiBDb3JyZWN0IHRoZSBwYWRkaW5nIGluIEZpcmVmb3guXG4gKi9cblxuZmllbGRzZXQge1xuICBwYWRkaW5nOiAwLjM1ZW0gMC43NWVtIDAuNjI1ZW07XG59XG5cbi8qKlxuICogMS4gQ29ycmVjdCB0aGUgdGV4dCB3cmFwcGluZyBpbiBFZGdlIGFuZCBJRS5cbiAqIDIuIENvcnJlY3QgdGhlIGNvbG9yIGluaGVyaXRhbmNlIGZyb20gYGZpZWxkc2V0YCBlbGVtZW50cyBpbiBJRS5cbiAqIDMuIFJlbW92ZSB0aGUgcGFkZGluZyBzbyBkZXZlbG9wZXJzIGFyZSBub3QgY2F1Z2h0IG91dCB3aGVuIHRoZXkgemVybyBvdXRcbiAqICAgIGBmaWVsZHNldGAgZWxlbWVudHMgaW4gYWxsIGJyb3dzZXJzLlxuICovXG5cbmxlZ2VuZCB7XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7IC8qIDEgKi9cbiAgY29sb3I6IGluaGVyaXQ7IC8qIDIgKi9cbiAgZGlzcGxheTogdGFibGU7IC8qIDEgKi9cbiAgbWF4LXdpZHRoOiAxMDAlOyAvKiAxICovXG4gIHBhZGRpbmc6IDA7IC8qIDMgKi9cbiAgd2hpdGUtc3BhY2U6IG5vcm1hbDsgLyogMSAqL1xufVxuXG4vKipcbiAqIEFkZCB0aGUgY29ycmVjdCB2ZXJ0aWNhbCBhbGlnbm1lbnQgaW4gQ2hyb21lLCBGaXJlZm94LCBhbmQgT3BlcmEuXG4gKi9cblxucHJvZ3Jlc3Mge1xuICB2ZXJ0aWNhbC1hbGlnbjogYmFzZWxpbmU7XG59XG5cbi8qKlxuICogUmVtb3ZlIHRoZSBkZWZhdWx0IHZlcnRpY2FsIHNjcm9sbGJhciBpbiBJRSAxMCsuXG4gKi9cblxudGV4dGFyZWEge1xuICBvdmVyZmxvdzogYXV0bztcbn1cblxuLyoqXG4gKiAxLiBBZGQgdGhlIGNvcnJlY3QgYm94IHNpemluZyBpbiBJRSAxMC5cbiAqIDIuIFJlbW92ZSB0aGUgcGFkZGluZyBpbiBJRSAxMC5cbiAqL1xuXG5bdHlwZT1cImNoZWNrYm94XCJdLFxuW3R5cGU9XCJyYWRpb1wiXSB7XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7IC8qIDEgKi9cbiAgcGFkZGluZzogMDsgLyogMiAqL1xufVxuXG4vKipcbiAqIENvcnJlY3QgdGhlIGN1cnNvciBzdHlsZSBvZiBpbmNyZW1lbnQgYW5kIGRlY3JlbWVudCBidXR0b25zIGluIENocm9tZS5cbiAqL1xuXG5bdHlwZT1cIm51bWJlclwiXTo6LXdlYmtpdC1pbm5lci1zcGluLWJ1dHRvbixcblt0eXBlPVwibnVtYmVyXCJdOjotd2Via2l0LW91dGVyLXNwaW4tYnV0dG9uIHtcbiAgaGVpZ2h0OiBhdXRvO1xufVxuXG4vKipcbiAqIDEuIENvcnJlY3QgdGhlIG9kZCBhcHBlYXJhbmNlIGluIENocm9tZSBhbmQgU2FmYXJpLlxuICogMi4gQ29ycmVjdCB0aGUgb3V0bGluZSBzdHlsZSBpbiBTYWZhcmkuXG4gKi9cblxuW3R5cGU9XCJzZWFyY2hcIl0ge1xuICAtd2Via2l0LWFwcGVhcmFuY2U6IHRleHRmaWVsZDsgLyogMSAqL1xuICBvdXRsaW5lLW9mZnNldDogLTJweDsgLyogMiAqL1xufVxuXG4vKipcbiAqIFJlbW92ZSB0aGUgaW5uZXIgcGFkZGluZyBpbiBDaHJvbWUgYW5kIFNhZmFyaSBvbiBtYWNPUy5cbiAqL1xuXG5bdHlwZT1cInNlYXJjaFwiXTo6LXdlYmtpdC1zZWFyY2gtZGVjb3JhdGlvbiB7XG4gIC13ZWJraXQtYXBwZWFyYW5jZTogbm9uZTtcbn1cblxuLyoqXG4gKiAxLiBDb3JyZWN0IHRoZSBpbmFiaWxpdHkgdG8gc3R5bGUgY2xpY2thYmxlIHR5cGVzIGluIGlPUyBhbmQgU2FmYXJpLlxuICogMi4gQ2hhbmdlIGZvbnQgcHJvcGVydGllcyB0byBgaW5oZXJpdGAgaW4gU2FmYXJpLlxuICovXG5cbjo6LXdlYmtpdC1maWxlLXVwbG9hZC1idXR0b24ge1xuICAtd2Via2l0LWFwcGVhcmFuY2U6IGJ1dHRvbjsgLyogMSAqL1xuICBmb250OiBpbmhlcml0OyAvKiAyICovXG59XG5cbi8qIEludGVyYWN0aXZlXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKlxuICogQWRkIHRoZSBjb3JyZWN0IGRpc3BsYXkgaW4gRWRnZSwgSUUgMTArLCBhbmQgRmlyZWZveC5cbiAqL1xuXG5kZXRhaWxzIHtcbiAgZGlzcGxheTogYmxvY2s7XG59XG5cbi8qXG4gKiBBZGQgdGhlIGNvcnJlY3QgZGlzcGxheSBpbiBhbGwgYnJvd3NlcnMuXG4gKi9cblxuc3VtbWFyeSB7XG4gIGRpc3BsYXk6IGxpc3QtaXRlbTtcbn1cblxuLyogTWlzY1xuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLyoqXG4gKiBBZGQgdGhlIGNvcnJlY3QgZGlzcGxheSBpbiBJRSAxMCsuXG4gKi9cblxudGVtcGxhdGUge1xuICBkaXNwbGF5OiBub25lO1xufVxuXG4vKipcbiAqIEFkZCB0aGUgY29ycmVjdCBkaXNwbGF5IGluIElFIDEwLlxuICovXG5cbltoaWRkZW5dIHtcbiAgZGlzcGxheTogbm9uZTtcbn1cbiIsIi8qKlxuICAqIFNDU1MgQlJFQUtQT0lOVFNcbiAgKlxuICAqIERlZmluZSBicmVha3BvaW50cyBmb3IgbWVkaWEgcXVlcnkgdXNlIGFuZCBleHBvcnQgdGhlbSBmb3IgdXNlIHdpdGggSlMuXG4gICovXG5cblxuLy8gRGVmaW5lIGJyZWFrcG9pbnRzIGhlcmUgKGluIHBpeGVscyk6XG4kYnJlYWtwb2ludC1waG9uZS1zbWFsbDogICAgMzIwO1xuJGJyZWFrcG9pbnQtcGhvbmUtbGFyZ2U6ICAgIDQ4MDtcbiRicmVha3BvaW50LXRhYmxldDogICAgICAgICA3Njg7XG4kYnJlYWtwb2ludC1sYXB0b3A6ICAgICAgICAgOTkyO1xuJGJyZWFrcG9pbnQtZGVza3RvcDogICAgICAgMTIwMDtcbiRicmVha3BvaW50LWRlc2t0b3AtbGFyZ2U6IDE0MDA7XG4kYnJlYWtwb2ludC1oZDogICAgICAgICAgICAxOTIwO1xuXG4vLyBGb3JtYXQgYnJlYWtwb2ludCBkZWZpbml0aW9ucyBmb3IgdXNlIHdpdGggaW5jbHVkZS1tZWRpYS5zY3NzIGxpYnJhcnk6XG4kYnJlYWtwb2ludHM6IChcbiAgJ3Bob25lLXNtYWxsJzogICAkYnJlYWtwb2ludC1waG9uZS1zbWFsbCAqIDFweCxcbiAgJ3Bob25lLWxhcmdlJzogICAkYnJlYWtwb2ludC1waG9uZS1sYXJnZSAqIDFweCxcbiAgJ3RhYmxldCc6ICAgICAgICAkYnJlYWtwb2ludC10YWJsZXQgKiAxcHgsXG4gICdsYXB0b3AnOiAgICAgICAgJGJyZWFrcG9pbnQtbGFwdG9wICogMXB4LFxuICAnZGVza3RvcCc6ICAgICAgICRicmVha3BvaW50LWRlc2t0b3AgKiAxcHgsXG4gICdkZXNrdG9wLWxhcmdlJzogJGJyZWFrcG9pbnQtZGVza3RvcC1sYXJnZSAqIDFweCxcbiAgJ2hkJzogICAgICAgICAgICAkYnJlYWtwb2ludC1oZCAqIDFweFxuKTtcblxuLy8gRXhwb3J0IGJyZWFrcG9pbnQgZGVmaW5pdGlvbnMgZm9yIEpTIHVzZTpcbjpleHBvcnQge1xuICBicmVha3BvaW50UGhvbmVTbWFsbDogJGJyZWFrcG9pbnQtcGhvbmUtc21hbGw7XG4gIGJyZWFrcG9pbnRQaG9uZUxhcmdlOiAkYnJlYWtwb2ludC1waG9uZS1sYXJnZTtcbiAgYnJlYWtwb2ludFRhYmxldDogJGJyZWFrcG9pbnQtdGFibGV0O1xuICBicmVha3BvaW50TGFwdG9wOiAkYnJlYWtwb2ludC1sYXB0b3A7XG4gIGJyZWFrcG9pbnREZXNrdG9wOiAkYnJlYWtwb2ludC1kZXNrdG9wO1xuICBicmVha3BvaW50RGVza3RvcExhcmdlOiAkYnJlYWtwb2ludC1kZXNrdG9wLWxhcmdlO1xuICBicmVha3BvaW50SGQ6ICRicmVha3BvaW50LWhkO1xufVxuIiwiLyoqXG4gICogU0NTUyBWQVJJQUJMRVNcbiAgKi9cblxuXG4vKipcbiAgKiBEaW1lbnNpb25zOlxuICAqL1xuXG4kc2l0ZVdpZHRoOiAxMjAwcHg7IC8vIE1heCB3aWR0aCBvZiBzaXRlJ3MgY29udGVudCBjb250YWluZXJzXG5cbi8vIEhlYWRlciBoZWlnaHRzOlxuJGhlYWRlckhlaWdodE1vYmlsZTogOTBweDsgLy8gSGVpZ2h0IG9mIGhlYWRlciBvbiBtb2JpbGUgc2l6ZXNcbiRoZWFkZXJIZWlnaHREZXNrdG9wOiAxMjBweDsgLy8gSGVpZ2h0IG9mIGhlYWRlciBvbiBkZXNrdG9wIHNpemVzXG4kdG9wQmFySGVpZ2h0OiA0NXB4OyAvLzQ1cHg7IC8vIEhlaWdodCBvZiB0b3AgbmF2LCBtYWluIG5hdiBzdWIgbWVudSBpdGVtcyBhbmQgbWFpbiBuYXYgbW9iaWxlIG1lbnUgaXRlbXNcbiRtYWluTmF2SGVpZ2h0OiA0NXB4OyAvLzQ1cHg7IC8vIEhlaWdodCBvZiBmaXJzdC1sZXZlbCBtYWluIG1lbnUgaXRlbXMgKGRlc2t0b3ApXG5cbi8vIFN0YW5kYXJkaXplZCBzaWRlIHBhZGRpbmc6XG4kY29udGFpbmVyUGFkZGluZ01vYmlsZTogMzBweDtcbiRjb250YWluZXJQYWRkaW5nUGhvbmVMYXJnZTogMzVweDtcbiRjb250YWluZXJQYWRkaW5nVGFibGV0OiA0MHB4O1xuJGNvbnRhaW5lclBhZGRpbmdMYXB0b3A6IDYwcHg7XG4kY29udGFpbmVyUGFkZGluZ0Rlc2t0b3A6IDgwcHg7XG5cbi8vIFN0YW5kYXJkaXplZCB0b3AgYW5kIGJvdHRvbSBwYWRkaW5nOlxuJHNwYWNlclBhZGRpbmdNb2JpbGU6IDQwcHg7IC8vMjBweDtcbiRzcGFjZXJQYWRkaW5nUGhvbmVMYXJnZTogNDVweDsgLy8yNXB4O1xuJHNwYWNlclBhZGRpbmdUYWJsZXQ6IDU1cHg7IC8vNDBweDtcbiRzcGFjZXJQYWRkaW5nTGFwdG9wOiA2NXB4OyAvLzUwcHg7XG4kc3BhY2VyUGFkZGluZ0Rlc2t0b3A6IDgwcHg7XG5cblxuLyoqXG4gICogQ29sb3JzOlxuICAqL1xuXG4vLyBIdWUgZGVmaW5pdGlvbnM6XG4kZ3JlZW46ICAjMDA1ZDUwOyAvLyBOZXd0b24gU3QuIGRhcmsgZ3JlZW5cbiRjcmVhbTogICNlNGUyZGM7IC8vIE5ld3RvbiBTdC4gaXZvcnlcbiRvcmFuZ2U6ICNmNDgxMjA7IC8vIE5ld3RvbiBTdC4gb3JhbmdlXG4kbGlnaHRHcmVlbjogIzg4YzY2NTsgLy8gTmV3dG9uIFN0LiBsaWdodCBncmVlblxuJGJsdWU6ICMyN2JlZDA7IC8vIE5ld3RvbiBTdC4gYmx1ZVxuXG4vLyBHcmF5c2NhbGUgZGVmaW5pdGlvbnM6XG4kd2hpdGU6ICAjZmZmZmZmO1xuJGdyYXk6ICAgIzg4ODg4ODtcbiRibGFjazogICMwMDAwMDA7XG4kb2ZmV2hpdGU6ICNmZWZlZmU7XG4kbGlnaHRlc3RHcmF5OiAjZjlmOWY5O1xuJGxpZ2h0ZXJHcmF5OiAjZjJmMmYyO1xuJGxpZ2h0R3JheTogI2UyZTJlMjtcbiRtZWRpdW1HcmF5OiAjZTBlMGUwO1xuJGRhcmtHcmF5OiAjOTk5O1xuJGRhcmtlckdyYXk6ICM2NjY7XG4kZGFya2VzdEdyYXk6ICMyNTI0MjU7IC8vIE5ld3RvbiBTdC4gZGFyayBncmF5XG5cbiRicmFuZENvbG9yUHJpbWFyeTogJGdyZWVuOyAvLyBQcmltYXJ5IGNvbG9yIG9mIGJyYW5kXG4kYnJhbmRDb2xvckNvbnRyYXN0OiAkY3JlYW07IC8vIENvbG9yIHRoYXQgY29udHJhc3RzIHdlbGwgd2l0aCBicmFuZCBjb2xvciAob2Z0ZW4gdXNlZCBmb3IgdGV4dCBvbiB0b3Agb2YgYnJhbmQgY29sb3IpXG5cbi8vIEdsb2JhbCBhc3NpZ25tZW50czpcbiRib2R5Q29sb3I6ICRicmFuZENvbG9yQ29udHJhc3Q7IC8vIEJvZHkgYmFja2dyb3VuZCBjb2xvclxuJGNvbnRlbnRDb2xvcjogJGJyYW5kQ29sb3JDb250cmFzdDsgLy8gUGFnZSBjb250ZW50IGJhY2tncm91bmQgY29sb3JcbiRmb250Q29sb3I6ICRicmFuZENvbG9yUHJpbWFyeTsgLy8gRGVmYXVsdCBmb250IGNvbG9yXG4kbGlua0NvbG9yOiAkYnJhbmRDb2xvclByaW1hcnk7IC8vIERlZmF1bHQgbGluayBjb2xvclxuJGJ1dHRvbkNvbG9yOiAkYnJhbmRDb2xvclByaW1hcnk7IC8vIERlZmF1bHQgYnV0dG9uIGNvbG9yXG4iLCIvKipcbiAgKiBGT05UIFNUWUxFU1xuICAqXG4gICogRGVmaW5lIEBmb250LWZhY2Ugc3R5bGVzLlxuICAqL1xuXG5cbi8vIExhdG8tVGhpbi50dGY6XG5AZm9udC1mYWNlIHtcbiAgZm9udC1mYW1pbHk6IExhdG87XG4gIHNyYzogdXJsKC4uL2ZvbnRzL0xhdG8tVGhpbi50dGYpO1xuICBmb250LXdlaWdodDogMTAwO1xuICBmb250LXN0eWxlOiBub3JtYWw7XG59XG4vLyBMYXRvLVRoaW5JdGFsaWMudHRmOlxuQGZvbnQtZmFjZSB7XG4gIGZvbnQtZmFtaWx5OiBMYXRvO1xuICBzcmM6IHVybCguLi9mb250cy9MYXRvLVRoaW5JdGFsaWMudHRmKTtcbiAgZm9udC13ZWlnaHQ6IDEwMDtcbiAgZm9udC1zdHlsZTogaXRhbGljO1xufVxuLy8gTGF0by1MaWdodC50dGY6XG5AZm9udC1mYWNlIHtcbiAgZm9udC1mYW1pbHk6IExhdG87XG4gIHNyYzogdXJsKC4uL2ZvbnRzL0xhdG8tTGlnaHQudHRmKTtcbiAgZm9udC13ZWlnaHQ6IDMwMDtcbiAgZm9udC1zdHlsZTogbm9ybWFsO1xufVxuLy8gTGF0by1MaWdodEl0YWxpYy50dGY6XG5AZm9udC1mYWNlIHtcbiAgZm9udC1mYW1pbHk6IExhdG87XG4gIHNyYzogdXJsKC4uL2ZvbnRzL0xhdG8tTGlnaHRJdGFsaWMudHRmKTtcbiAgZm9udC13ZWlnaHQ6IDMwMDtcbiAgZm9udC1zdHlsZTogaXRhbGljO1xufVxuLy8gTGF0by1SZWd1bGFyLnR0ZjpcbkBmb250LWZhY2Uge1xuICBmb250LWZhbWlseTogTGF0bztcbiAgc3JjOiB1cmwoLi4vZm9udHMvTGF0by1SZWd1bGFyLnR0Zik7XG4gIGZvbnQtd2VpZ2h0OiA0MDA7XG4gIGZvbnQtc3R5bGU6IG5vcm1hbDtcbn1cbi8vIExhdG8tSXRhbGljLnR0ZjpcbkBmb250LWZhY2Uge1xuICBmb250LWZhbWlseTogTGF0bztcbiAgc3JjOiB1cmwoLi4vZm9udHMvTGF0by1JdGFsaWMudHRmKTtcbiAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgZm9udC1zdHlsZTogaXRhbGljO1xufVxuLy8gTGF0by1Cb2xkLnR0ZjpcbkBmb250LWZhY2Uge1xuICBmb250LWZhbWlseTogTGF0bztcbiAgc3JjOiB1cmwoLi4vZm9udHMvTGF0by1Cb2xkLnR0Zik7XG4gIGZvbnQtd2VpZ2h0OiA3MDA7XG4gIGZvbnQtc3R5bGU6IG5vcm1hbDtcbn1cbi8vIExhdG8tQm9sZEl0YWxpYy50dGY6XG5AZm9udC1mYWNlIHtcbiAgZm9udC1mYW1pbHk6IExhdG87XG4gIHNyYzogdXJsKC4uL2ZvbnRzL0xhdG8tQm9sZEl0YWxpYy50dGYpO1xuICBmb250LXdlaWdodDogNzAwO1xuICBmb250LXN0eWxlOiBpdGFsaWM7XG59XG4vLyBMYXRvLUJsYWNrLnR0ZjpcbkBmb250LWZhY2Uge1xuICBmb250LWZhbWlseTogTGF0bztcbiAgc3JjOiB1cmwoLi4vZm9udHMvTGF0by1CbGFjay50dGYpO1xuICBmb250LXdlaWdodDogOTAwO1xuICBmb250LXN0eWxlOiBub3JtYWw7XG59XG4vLyBMYXRvLUJsYWNrSXRhbGljLnR0ZjpcbkBmb250LWZhY2Uge1xuICBmb250LWZhbWlseTogTGF0bztcbiAgc3JjOiB1cmwoLi4vZm9udHMvTGF0by1CbGFja0l0YWxpYy50dGYpO1xuICBmb250LXdlaWdodDogOTAwO1xuICBmb250LXN0eWxlOiBpdGFsaWM7XG59XG5cbi8vIE1lcnJpd2VhdGhlci1MaWdodC50dGZcbkBmb250LWZhY2Uge1xuICBmb250LWZhbWlseTogTWVycml3ZWF0aGVyO1xuICBzcmM6IHVybCguLi9mb250cy9NZXJyaXdlYXRoZXItTGlnaHQudHRmKTtcbiAgZm9udC13ZWlnaHQ6IDMwMDtcbiAgZm9udC1zdHlsZTogbm9ybWFsO1xufVxuLy8gTWVycml3ZWF0aGVyLUxpZ2h0SXRhbGljLnR0ZlxuQGZvbnQtZmFjZSB7XG4gIGZvbnQtZmFtaWx5OiBNZXJyaXdlYXRoZXI7XG4gIHNyYzogdXJsKC4uL2ZvbnRzL01lcnJpd2VhdGhlci1MaWdodEl0YWxpYy50dGYpO1xuICBmb250LXdlaWdodDogMzAwO1xuICBmb250LXN0eWxlOiBpdGFsaWM7XG59XG4vLyBNZXJyaXdlYXRoZXItUmVndWxhci50dGZcbkBmb250LWZhY2Uge1xuICBmb250LWZhbWlseTogTWVycml3ZWF0aGVyO1xuICBzcmM6IHVybCguLi9mb250cy9NZXJyaXdlYXRoZXItUmVndWxhci50dGYpO1xuICBmb250LXdlaWdodDogNDAwO1xuICBmb250LXN0eWxlOiBub3JtYWw7XG59XG4vLyBNZXJyaXdlYXRoZXItSXRhbGljLnR0ZlxuQGZvbnQtZmFjZSB7XG4gIGZvbnQtZmFtaWx5OiBNZXJyaXdlYXRoZXI7XG4gIHNyYzogdXJsKC4uL2ZvbnRzL01lcnJpd2VhdGhlci1JdGFsaWMudHRmKTtcbiAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgZm9udC1zdHlsZTogaXRhbGljO1xufVxuLy8gTWVycml3ZWF0aGVyLUJvbGQudHRmXG5AZm9udC1mYWNlIHtcbiAgZm9udC1mYW1pbHk6IE1lcnJpd2VhdGhlcjtcbiAgc3JjOiB1cmwoLi4vZm9udHMvTWVycml3ZWF0aGVyLUJvbGQudHRmKTtcbiAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgZm9udC1zdHlsZTogbm9ybWFsO1xufVxuLy8gTWVycml3ZWF0aGVyLUJvbGRJdGFsaWMudHRmXG5AZm9udC1mYWNlIHtcbiAgZm9udC1mYW1pbHk6IE1lcnJpd2VhdGhlcjtcbiAgc3JjOiB1cmwoLi4vZm9udHMvTWVycml3ZWF0aGVyLUJvbGRJdGFsaWMudHRmKTtcbiAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgZm9udC1zdHlsZTogaXRhbGljO1xufVxuLy8gTWVycml3ZWF0aGVyLUJsYWNrLnR0ZlxuQGZvbnQtZmFjZSB7XG4gIGZvbnQtZmFtaWx5OiBNZXJyaXdlYXRoZXI7XG4gIHNyYzogdXJsKC4uL2ZvbnRzL01lcnJpd2VhdGhlci1CbGFjay50dGYpO1xuICBmb250LXdlaWdodDogOTAwO1xuICBmb250LXN0eWxlOiBub3JtYWw7XG59XG4vLyBNZXJyaXdlYXRoZXItQmxhY2tJdGFsaWMudHRmXG5AZm9udC1mYWNlIHtcbiAgZm9udC1mYW1pbHk6IE1lcnJpd2VhdGhlcjtcbiAgc3JjOiB1cmwoLi4vZm9udHMvTWVycml3ZWF0aGVyLUJsYWNrSXRhbGljLnR0Zik7XG4gIGZvbnQtd2VpZ2h0OiA5MDA7XG4gIGZvbnQtc3R5bGU6IGl0YWxpYztcbn1cbiIsIi8qKlxyXG4gICogU0NTUyBNSVhJTlNcclxuICAqXHJcbiAgKiBTdGFuZGFyZGl6ZWQgc3R5bGUgY2h1bmtzLCBwcm92aWRlZCBhcyBib3RoIFNDU1MgbWl4aW5zIGFuZCBIVE1MIGNsYXNzZXMuXHJcbiAgKi9cclxuXHJcblxyXG5AbWl4aW4gd3JhcCB7IC8vIE1hcmdpbi1sZXNzIHdyYXBwZXJcclxuICB3aWR0aDogMTAwJTtcclxuICBoZWlnaHQ6IGF1dG87XHJcbn1cclxuICAud3JhcCB7XHJcbiAgICBAaW5jbHVkZSB3cmFwO1xyXG4gIH1cclxuXHJcbkBtaXhpbiBpbm5lci13cmFwIHsgLy8gV2lkdGgtbGltaXRlZCwgaG9yaXpvbnRhbGx5IGNlbnRlcmluZyB3cmFwcGVyXHJcbiAgd2lkdGg6IDEwMCU7XHJcbiAgbWF4LXdpZHRoOiAkc2l0ZVdpZHRoO1xyXG4gIG1hcmdpbjogMCBhdXRvO1xyXG59XHJcbiAgLmlubmVyLXdyYXAge1xyXG4gICAgQGluY2x1ZGUgaW5uZXItd3JhcDtcclxuICB9XHJcblxyXG5AbWl4aW4gbWFyLXRvcCB7IC8vIFN0YW5kYXJkaXplZCwgcmVzcG9uc2l2ZSwgdG9wLW1hcmdpbmVkIGNvbnRhaW5lclxyXG4gIG1hcmdpbi10b3A6ICRjb250YWluZXJQYWRkaW5nTW9iaWxlO1xyXG4gIHRyYW5zaXRpb246IG1hcmdpbiAzMDBtcztcclxuXHJcbiAgQGluY2x1ZGUgbWVkaWEoXCI+PXBob25lLWxhcmdlXCIpIHtcclxuICAgIG1hcmdpbi10b3A6ICRjb250YWluZXJQYWRkaW5nUGhvbmVMYXJnZTtcclxuICB9XHJcblxyXG4gIEBpbmNsdWRlIG1lZGlhKFwiPj10YWJsZXRcIikge1xyXG4gICAgbWFyZ2luLXRvcDogJGNvbnRhaW5lclBhZGRpbmdUYWJsZXQ7XHJcbiAgfVxyXG5cclxuICBAaW5jbHVkZSBtZWRpYShcIj49bGFwdG9wXCIpIHtcclxuICAgIG1hcmdpbi10b3A6ICRjb250YWluZXJQYWRkaW5nTGFwdG9wO1xyXG4gIH1cclxuXHJcbiAgQGluY2x1ZGUgbWVkaWEoXCI+PWRlc2t0b3BcIikge1xyXG4gICAgbWFyZ2luLXRvcDogJGNvbnRhaW5lclBhZGRpbmdEZXNrdG9wO1xyXG4gIH1cclxufVxyXG4gIC5tYXItdG9wIHtcclxuICAgIEBpbmNsdWRlIG1hci10b3A7XHJcbiAgfVxyXG5cclxuQG1peGluIG1hci1ib3R0b20geyAvLyBTdGFuZGFyZGl6ZWQsIHJlc3BvbnNpdmUsIGJvdHRvbS1tYXJnaW5lZCBjb250YWluZXJcclxuICBtYXJnaW4tYm90dG9tOiAkY29udGFpbmVyUGFkZGluZ01vYmlsZTtcclxuICB0cmFuc2l0aW9uOiBtYXJnaW4gMzAwbXM7XHJcblxyXG4gIEBpbmNsdWRlIG1lZGlhKFwiPj1waG9uZS1sYXJnZVwiKSB7XHJcbiAgICBtYXJnaW4tYm90dG9tOiAkY29udGFpbmVyUGFkZGluZ1Bob25lTGFyZ2U7XHJcbiAgfVxyXG5cclxuICBAaW5jbHVkZSBtZWRpYShcIj49dGFibGV0XCIpIHtcclxuICAgIG1hcmdpbi1ib3R0b206ICRjb250YWluZXJQYWRkaW5nVGFibGV0O1xyXG4gIH1cclxuXHJcbiAgQGluY2x1ZGUgbWVkaWEoXCI+PWxhcHRvcFwiKSB7XHJcbiAgICBtYXJnaW4tYm90dG9tOiAkY29udGFpbmVyUGFkZGluZ0xhcHRvcDtcclxuICB9XHJcblxyXG4gIEBpbmNsdWRlIG1lZGlhKFwiPj1kZXNrdG9wXCIpIHtcclxuICAgIG1hcmdpbi1ib3R0b206ICRjb250YWluZXJQYWRkaW5nRGVza3RvcDtcclxuICB9XHJcbn1cclxuICAubWFyLWJvdHRvbSB7XHJcbiAgICBAaW5jbHVkZSBtYXItYm90dG9tO1xyXG4gIH1cclxuXHJcbkBtaXhpbiBtYXItdmVydGljYWwgeyAvLyBTdGFuZGFyZGl6ZWQsIHJlc3BvbnNpdmUsIHZlcnRpY2FsbHktbWFyZ2luZWQgKGJvdGggdG9wIGFuZCBib3R0b20pIGNvbnRhaW5lclxyXG4gIEBpbmNsdWRlIG1hci10b3A7XHJcbiAgQGluY2x1ZGUgbWFyLWJvdHRvbTtcclxufVxyXG4gIC5tYXItdmVydGljYWwge1xyXG4gICAgQGluY2x1ZGUgbWFyLXZlcnRpY2FsO1xyXG4gIH1cclxuXHJcbkBtaXhpbiBtYXItcmlnaHQgeyAvLyBTdGFuZGFyZGl6ZWQsIHJlc3BvbnNpdmUsIHJpZ2h0LW1hcmdpbmVkIGNvbnRhaW5lclxyXG4gIG1hcmdpbi1yaWdodDogJGNvbnRhaW5lclBhZGRpbmdNb2JpbGU7XHJcbiAgdHJhbnNpdGlvbjogbWFyZ2luIDMwMG1zO1xyXG4gIG1heC13aWR0aDogY2FsYygxMDAlIC0gJGNvbnRhaW5lclBhZGRpbmdNb2JpbGUpO1xyXG5cclxuICBAaW5jbHVkZSBtZWRpYShcIj49cGhvbmUtbGFyZ2VcIikge1xyXG4gICAgbWFyZ2luLXJpZ2h0OiAkY29udGFpbmVyUGFkZGluZ1Bob25lTGFyZ2U7XHJcbiAgICBtYXgtd2lkdGg6IGNhbGMoMTAwJSAtICRjb250YWluZXJQYWRkaW5nUGhvbmVMYXJnZSk7XHJcbiAgfVxyXG5cclxuICBAaW5jbHVkZSBtZWRpYShcIj49dGFibGV0XCIpIHtcclxuICAgIG1hcmdpbi1yaWdodDogJGNvbnRhaW5lclBhZGRpbmdUYWJsZXQ7XHJcbiAgICBtYXgtd2lkdGg6IGNhbGMoMTAwJSAtICRjb250YWluZXJQYWRkaW5nVGFibGV0KTtcclxuICB9XHJcblxyXG4gIEBpbmNsdWRlIG1lZGlhKFwiPj1sYXB0b3BcIikge1xyXG4gICAgbWFyZ2luLXJpZ2h0OiAkY29udGFpbmVyUGFkZGluZ0xhcHRvcDtcclxuICAgIG1heC13aWR0aDogY2FsYygxMDAlIC0gJGNvbnRhaW5lclBhZGRpbmdMYXB0b3ApO1xyXG4gIH1cclxuXHJcbiAgQGluY2x1ZGUgbWVkaWEoXCI+PWRlc2t0b3BcIikge1xyXG4gICAgbWFyZ2luLXJpZ2h0OiAkY29udGFpbmVyUGFkZGluZ0Rlc2t0b3A7XHJcbiAgICBtYXgtd2lkdGg6IGNhbGMoMTAwJSAtICRjb250YWluZXJQYWRkaW5nRGVza3RvcCk7XHJcbiAgfVxyXG59XHJcbiAgLm1hci1yaWdodCB7XHJcbiAgICBAaW5jbHVkZSBtYXItcmlnaHQ7XHJcbiAgfVxyXG5cclxuQG1peGluIG1hci1sZWZ0IHsgLy8gU3RhbmRhcmRpemVkLCByZXNwb25zaXZlLCBsZWZ0LW1hcmdpbmVkIGNvbnRhaW5lclxyXG4gIG1hcmdpbi1sZWZ0OiAkY29udGFpbmVyUGFkZGluZ01vYmlsZTtcclxuICB0cmFuc2l0aW9uOiBtYXJnaW4gMzAwbXM7XHJcbiAgbWF4LXdpZHRoOiBjYWxjKDEwMCUgLSAkY29udGFpbmVyUGFkZGluZ01vYmlsZSk7XHJcblxyXG4gIEBpbmNsdWRlIG1lZGlhKFwiPj1waG9uZS1sYXJnZVwiKSB7XHJcbiAgICBtYXJnaW4tbGVmdDogJGNvbnRhaW5lclBhZGRpbmdQaG9uZUxhcmdlO1xyXG4gICAgbWF4LXdpZHRoOiBjYWxjKDEwMCUgLSAkY29udGFpbmVyUGFkZGluZ1Bob25lTGFyZ2UpO1xyXG4gIH1cclxuXHJcbiAgQGluY2x1ZGUgbWVkaWEoXCI+PXRhYmxldFwiKSB7XHJcbiAgICBtYXJnaW4tbGVmdDogJGNvbnRhaW5lclBhZGRpbmdUYWJsZXQ7XHJcbiAgICBtYXgtd2lkdGg6IGNhbGMoMTAwJSAtICRjb250YWluZXJQYWRkaW5nVGFibGV0KTtcclxuICB9XHJcblxyXG4gIEBpbmNsdWRlIG1lZGlhKFwiPj1sYXB0b3BcIikge1xyXG4gICAgbWFyZ2luLWxlZnQ6ICRjb250YWluZXJQYWRkaW5nTGFwdG9wO1xyXG4gICAgbWF4LXdpZHRoOiBjYWxjKDEwMCUgLSAkY29udGFpbmVyUGFkZGluZ0xhcHRvcCk7XHJcbiAgfVxyXG5cclxuICBAaW5jbHVkZSBtZWRpYShcIj49ZGVza3RvcFwiKSB7XHJcbiAgICBtYXJnaW4tbGVmdDogJGNvbnRhaW5lclBhZGRpbmdEZXNrdG9wO1xyXG4gICAgbWF4LXdpZHRoOiBjYWxjKDEwMCUgLSAkY29udGFpbmVyUGFkZGluZ0Rlc2t0b3ApO1xyXG4gIH1cclxufVxyXG4gIC5tYXItbGVmdCB7XHJcbiAgICBAaW5jbHVkZSBtYXItbGVmdDtcclxuICB9XHJcblxyXG5AbWl4aW4gbWFyLWhvcml6b250YWwgeyAvLyBTdGFuZGFyZGl6ZWQsIHJlc3BvbnNpdmUsIGhvcml6b250YWxseSBwYWRkZWQgKGJvdGggbGVmdCBhbmQgcmlnaHQpIGNvbnRhaW5lclxyXG4gIG1hcmdpbi1sZWZ0OiAkY29udGFpbmVyUGFkZGluZ01vYmlsZTtcclxuICBtYXJnaW4tcmlnaHQ6ICRjb250YWluZXJQYWRkaW5nTW9iaWxlO1xyXG4gIHRyYW5zaXRpb246IG1hcmdpbiAzMDBtcztcclxuICBtYXgtd2lkdGg6IGNhbGMoMTAwJSAtICgyICogJGNvbnRhaW5lclBhZGRpbmdNb2JpbGUpKTtcclxuXHJcbiAgQGluY2x1ZGUgbWVkaWEoXCI+PXBob25lLWxhcmdlXCIpIHtcclxuICAgIG1hcmdpbi1sZWZ0OiAkY29udGFpbmVyUGFkZGluZ1Bob25lTGFyZ2U7XHJcbiAgICBtYXJnaW4tcmlnaHQ6ICRjb250YWluZXJQYWRkaW5nUGhvbmVMYXJnZTtcclxuICAgIG1heC13aWR0aDogY2FsYygxMDAlIC0gKDIgKiAkY29udGFpbmVyUGFkZGluZ1Bob25lTGFyZ2UpKTtcclxuICB9XHJcblxyXG4gIEBpbmNsdWRlIG1lZGlhKFwiPj10YWJsZXRcIikge1xyXG4gICAgbWFyZ2luLWxlZnQ6ICRjb250YWluZXJQYWRkaW5nVGFibGV0O1xyXG4gICAgbWFyZ2luLXJpZ2h0OiAkY29udGFpbmVyUGFkZGluZ1RhYmxldDtcclxuICAgIG1heC13aWR0aDogY2FsYygxMDAlIC0gKDIgKiAkY29udGFpbmVyUGFkZGluZ1RhYmxldCkpO1xyXG4gIH1cclxuXHJcbiAgQGluY2x1ZGUgbWVkaWEoXCI+PWxhcHRvcFwiKSB7XHJcbiAgICBtYXJnaW4tbGVmdDogJGNvbnRhaW5lclBhZGRpbmdMYXB0b3A7XHJcbiAgICBtYXJnaW4tcmlnaHQ6ICRjb250YWluZXJQYWRkaW5nTGFwdG9wO1xyXG4gICAgbWF4LXdpZHRoOiBjYWxjKDEwMCUgLSAoMiAqICRjb250YWluZXJQYWRkaW5nTGFwdG9wKSk7XHJcbiAgfVxyXG5cclxuICBAaW5jbHVkZSBtZWRpYShcIj49ZGVza3RvcFwiKSB7XHJcbiAgICBtYXJnaW4tbGVmdDogJGNvbnRhaW5lclBhZGRpbmdEZXNrdG9wO1xyXG4gICAgbWFyZ2luLXJpZ2h0OiAkY29udGFpbmVyUGFkZGluZ0Rlc2t0b3A7XHJcbiAgICBtYXgtd2lkdGg6IGNhbGMoMTAwJSAtICgyICogJGNvbnRhaW5lclBhZGRpbmdEZXNrdG9wKSk7XHJcbiAgfVxyXG59XHJcbiAgLm1hci1ob3Jpem9udGFsIHtcclxuICAgIEBpbmNsdWRlIG1hci1ob3Jpem9udGFsO1xyXG4gIH1cclxuXHJcbkBtaXhpbiBtYXItcmlnaHQtbmVnYXRpdmUgeyAvLyBTdGFuZGFyZGl6ZWQsIHJlc3BvbnNpdmUsIG5lZ2F0aXZlIHJpZ2h0LW1hcmdpbmVkIGNvbnRhaW5lclxyXG4gIG1hcmdpbi1yaWdodDogY2FsYygtMSAqICRjb250YWluZXJQYWRkaW5nTW9iaWxlKTtcclxuICB0cmFuc2l0aW9uOiBtYXJnaW4gMzAwbXM7XHJcbiAgLy93aWR0aDogY2FsYygxMDAlICsgJGNvbnRhaW5lclBhZGRpbmdNb2JpbGUpO1xyXG5cclxuICBAaW5jbHVkZSBtZWRpYShcIj49cGhvbmUtbGFyZ2VcIikge1xyXG4gICAgbWFyZ2luLXJpZ2h0OiBjYWxjKC0xICogJGNvbnRhaW5lclBhZGRpbmdQaG9uZUxhcmdlKTtcclxuICAgIC8vd2lkdGg6IGNhbGMoMTAwJSArICRjb250YWluZXJQYWRkaW5nUGhvbmVMYXJnZSk7XHJcbiAgfVxyXG5cclxuICBAaW5jbHVkZSBtZWRpYShcIj49dGFibGV0XCIpIHtcclxuICAgIG1hcmdpbi1yaWdodDogY2FsYygtMSAqICRjb250YWluZXJQYWRkaW5nVGFibGV0KTtcclxuICAgIC8vd2lkdGg6IGNhbGMoMTAwJSArICRjb250YWluZXJQYWRkaW5nVGFibGV0KTtcclxuICB9XHJcblxyXG4gIEBpbmNsdWRlIG1lZGlhKFwiPj1sYXB0b3BcIikge1xyXG4gICAgbWFyZ2luLXJpZ2h0OiBjYWxjKC0xICogJGNvbnRhaW5lclBhZGRpbmdMYXB0b3ApO1xyXG4gICAgLy93aWR0aDogY2FsYygxMDAlICsgJGNvbnRhaW5lclBhZGRpbmdMYXB0b3ApO1xyXG4gIH1cclxuXHJcbiAgQGluY2x1ZGUgbWVkaWEoXCI+PWRlc2t0b3BcIikge1xyXG4gICAgbWFyZ2luLXJpZ2h0OiBjYWxjKC0xICogJGNvbnRhaW5lclBhZGRpbmdEZXNrdG9wKTtcclxuICAgIC8vd2lkdGg6IGNhbGMoMTAwJSArICRjb250YWluZXJQYWRkaW5nRGVza3RvcCk7XHJcbiAgfVxyXG59XHJcbiAgLm1hci1yaWdodC1uZWdhdGl2ZSB7XHJcbiAgICBAaW5jbHVkZSBtYXItcmlnaHQtbmVnYXRpdmU7XHJcbiAgfVxyXG5cclxuQG1peGluIG1hci1sZWZ0LW5lZ2F0aXZlIHsgLy8gU3RhbmRhcmRpemVkLCByZXNwb25zaXZlLCBuZWdhdGl2ZSBsZWZ0LW1hcmdpbmVkIGNvbnRhaW5lclxyXG4gIG1hcmdpbi1sZWZ0OiBjYWxjKC0xICogJGNvbnRhaW5lclBhZGRpbmdNb2JpbGUpO1xyXG4gIHRyYW5zaXRpb246IG1hcmdpbiAzMDBtcztcclxuICAvL3dpZHRoOiBjYWxjKDEwMCUgKyAkY29udGFpbmVyUGFkZGluZ01vYmlsZSk7XHJcblxyXG4gIEBpbmNsdWRlIG1lZGlhKFwiPj1waG9uZS1sYXJnZVwiKSB7XHJcbiAgICBtYXJnaW4tbGVmdDogY2FsYygtMSAqICRjb250YWluZXJQYWRkaW5nUGhvbmVMYXJnZSk7XHJcbiAgICAvL3dpZHRoOiBjYWxjKDEwMCUgKyAkY29udGFpbmVyUGFkZGluZ1Bob25lTGFyZ2UpO1xyXG4gIH1cclxuXHJcbiAgQGluY2x1ZGUgbWVkaWEoXCI+PXRhYmxldFwiKSB7XHJcbiAgICBtYXJnaW4tbGVmdDogY2FsYygtMSAqICRjb250YWluZXJQYWRkaW5nVGFibGV0KTtcclxuICAgIC8vd2lkdGg6IGNhbGMoMTAwJSArICRjb250YWluZXJQYWRkaW5nVGFibGV0KTtcclxuICB9XHJcblxyXG4gIEBpbmNsdWRlIG1lZGlhKFwiPj1sYXB0b3BcIikge1xyXG4gICAgbWFyZ2luLWxlZnQ6IGNhbGMoLTEgKiAkY29udGFpbmVyUGFkZGluZ0xhcHRvcCk7XHJcbiAgICAvL3dpZHRoOiBjYWxjKDEwMCUgKyAkY29udGFpbmVyUGFkZGluZ0xhcHRvcCk7XHJcbiAgfVxyXG5cclxuICBAaW5jbHVkZSBtZWRpYShcIj49ZGVza3RvcFwiKSB7XHJcbiAgICBtYXJnaW4tbGVmdDogY2FsYygtMSAqICRjb250YWluZXJQYWRkaW5nRGVza3RvcCk7XHJcbiAgICAvL3dpZHRoOiBjYWxjKDEwMCUgKyAkY29udGFpbmVyUGFkZGluZ0Rlc2t0b3ApO1xyXG4gIH1cclxufVxyXG4gIC5tYXItbGVmdC1uZWdhdGl2ZSB7XHJcbiAgICBAaW5jbHVkZSBtYXItbGVmdC1uZWdhdGl2ZTtcclxuICB9XHJcblxyXG5AbWl4aW4gbWFyLWhvcml6b250YWwtbmVnYXRpdmUgeyAvLyBTdGFuZGFyZGl6ZWQsIHJlc3BvbnNpdmUsIG5lZ2F0aXZlIGhvcml6b250YWxseS1tYXJnaW5lZCAoYm90aCBsZWZ0IGFuZCByaWdodCkgY29udGFpbmVyXHJcbiAgbWFyZ2luLWxlZnQ6IGNhbGMoLTEgKiAkY29udGFpbmVyUGFkZGluZ01vYmlsZSk7XHJcbiAgbWFyZ2luLXJpZ2h0OiBjYWxjKC0xICogJGNvbnRhaW5lclBhZGRpbmdNb2JpbGUpO1xyXG4gIHRyYW5zaXRpb246IG1hcmdpbiAzMDBtcztcclxuICB3aWR0aDogY2FsYygxMDAlICsgKDIgKiAkY29udGFpbmVyUGFkZGluZ01vYmlsZSkpO1xyXG5cclxuICBAaW5jbHVkZSBtZWRpYShcIj49cGhvbmUtbGFyZ2VcIikge1xyXG4gICAgbWFyZ2luLWxlZnQ6IGNhbGMoLTEgKiAkY29udGFpbmVyUGFkZGluZ1Bob25lTGFyZ2UpO1xyXG4gICAgbWFyZ2luLXJpZ2h0OiBjYWxjKC0xICogJGNvbnRhaW5lclBhZGRpbmdQaG9uZUxhcmdlKTtcclxuICAgIHdpZHRoOiBjYWxjKDEwMCUgKyAoMiAqICRjb250YWluZXJQYWRkaW5nUGhvbmVMYXJnZSkpO1xyXG4gIH1cclxuXHJcbiAgQGluY2x1ZGUgbWVkaWEoXCI+PXRhYmxldFwiKSB7XHJcbiAgICBtYXJnaW4tbGVmdDogY2FsYygtMSAqICRjb250YWluZXJQYWRkaW5nVGFibGV0KTtcclxuICAgIG1hcmdpbi1yaWdodDogY2FsYygtMSAqICRjb250YWluZXJQYWRkaW5nVGFibGV0KTtcclxuICAgIHdpZHRoOiBjYWxjKDEwMCUgKyAoMiAqICRjb250YWluZXJQYWRkaW5nVGFibGV0KSk7XHJcbiAgfVxyXG5cclxuICBAaW5jbHVkZSBtZWRpYShcIj49bGFwdG9wXCIpIHtcclxuICAgIG1hcmdpbi1sZWZ0OiBjYWxjKC0xICogJGNvbnRhaW5lclBhZGRpbmdMYXB0b3ApO1xyXG4gICAgbWFyZ2luLXJpZ2h0OiBjYWxjKC0xICogJGNvbnRhaW5lclBhZGRpbmdMYXB0b3ApO1xyXG4gICAgd2lkdGg6IGNhbGMoMTAwJSArICgyICogJGNvbnRhaW5lclBhZGRpbmdMYXB0b3ApKTtcclxuICB9XHJcblxyXG4gIEBpbmNsdWRlIG1lZGlhKFwiPj1kZXNrdG9wXCIpIHtcclxuICAgIG1hcmdpbi1sZWZ0OiBjYWxjKC0xICogJGNvbnRhaW5lclBhZGRpbmdEZXNrdG9wKTtcclxuICAgIG1hcmdpbi1yaWdodDogY2FsYygtMSAqICRjb250YWluZXJQYWRkaW5nRGVza3RvcCk7XHJcbiAgICB3aWR0aDogY2FsYygxMDAlICsgKDIgKiAkY29udGFpbmVyUGFkZGluZ0Rlc2t0b3ApKTtcclxuICB9XHJcbn1cclxuICAubWFyLWhvcml6b250YWwtbmVnYXRpdmUge1xyXG4gICAgQGluY2x1ZGUgbWFyLWhvcml6b250YWwtbmVnYXRpdmU7XHJcbiAgfVxyXG5cclxuQG1peGluIHBhZC10b3AgeyAvLyBTdGFuZGFyZGl6ZWQsIHJlc3BvbnNpdmUgc3BhY2VyIGZvciBlbGVtZW50IHRvcFxyXG4gIHBhZGRpbmctdG9wOiAkc3BhY2VyUGFkZGluZ01vYmlsZTtcclxuICB0cmFuc2l0aW9uOiBwYWRkaW5nIDMwMG1zO1xyXG5cclxuICBAaW5jbHVkZSBtZWRpYShcIj49cGhvbmUtbGFyZ2VcIikge1xyXG4gICAgcGFkZGluZy10b3A6ICRzcGFjZXJQYWRkaW5nUGhvbmVMYXJnZTtcclxuICB9XHJcblxyXG4gIEBpbmNsdWRlIG1lZGlhKFwiPj10YWJsZXRcIikge1xyXG4gICAgcGFkZGluZy10b3A6ICRzcGFjZXJQYWRkaW5nVGFibGV0O1xyXG4gIH1cclxuXHJcbiAgQGluY2x1ZGUgbWVkaWEoXCI+PWxhcHRvcFwiKSB7XHJcbiAgICBwYWRkaW5nLXRvcDogJHNwYWNlclBhZGRpbmdMYXB0b3A7XHJcbiAgfVxyXG5cclxuICBAaW5jbHVkZSBtZWRpYShcIj49ZGVza3RvcFwiKSB7XHJcbiAgICBwYWRkaW5nLXRvcDogJHNwYWNlclBhZGRpbmdEZXNrdG9wO1xyXG4gIH1cclxufVxyXG4gIC5wYWQtdG9wIHtcclxuICAgIEBpbmNsdWRlIHBhZC10b3A7XHJcbiAgfVxyXG5cclxuQG1peGluIHBhZC1ib3R0b20geyAvLyBTdGFuZGFyZGl6ZWQsIHJlc3BvbnNpdmUgc3BhY2VyIGZvciBlbGVtZW50IGJvdHRvbVxyXG4gIHBhZGRpbmctYm90dG9tOiAkc3BhY2VyUGFkZGluZ01vYmlsZTtcclxuICB0cmFuc2l0aW9uOiBwYWRkaW5nIDMwMG1zO1xyXG5cclxuICBAaW5jbHVkZSBtZWRpYShcIj49cGhvbmUtbGFyZ2VcIikge1xyXG4gICAgcGFkZGluZy1ib3R0b206ICRzcGFjZXJQYWRkaW5nUGhvbmVMYXJnZTtcclxuICB9XHJcblxyXG4gIEBpbmNsdWRlIG1lZGlhKFwiPj10YWJsZXRcIikge1xyXG4gICAgcGFkZGluZy1ib3R0b206ICRzcGFjZXJQYWRkaW5nVGFibGV0O1xyXG4gIH1cclxuXHJcbiAgQGluY2x1ZGUgbWVkaWEoXCI+PWxhcHRvcFwiKSB7XHJcbiAgICBwYWRkaW5nLWJvdHRvbTogJHNwYWNlclBhZGRpbmdMYXB0b3A7XHJcbiAgfVxyXG5cclxuICBAaW5jbHVkZSBtZWRpYShcIj49ZGVza3RvcFwiKSB7XHJcbiAgICBwYWRkaW5nLWJvdHRvbTogJHNwYWNlclBhZGRpbmdEZXNrdG9wO1xyXG4gIH1cclxufVxyXG4gIC5wYWQtYm90dG9tIHtcclxuICAgIEBpbmNsdWRlIHBhZC1ib3R0b207XHJcbiAgfVxyXG5cclxuQG1peGluIHBhZC1sZWZ0IHsgLy8gU3RhbmRhcmRpemVkLCByZXNwb25zaXZlLCBsZWZ0LXBhZGRlZCBjb250YWluZXJcclxuICBwYWRkaW5nLWxlZnQ6ICRjb250YWluZXJQYWRkaW5nTW9iaWxlO1xyXG4gIHRyYW5zaXRpb246IHBhZGRpbmcgMzAwbXM7XHJcblxyXG4gIEBpbmNsdWRlIG1lZGlhKFwiPj1waG9uZS1sYXJnZVwiKSB7XHJcbiAgICBwYWRkaW5nLWxlZnQ6ICRjb250YWluZXJQYWRkaW5nUGhvbmVMYXJnZTtcclxuICB9XHJcblxyXG4gIEBpbmNsdWRlIG1lZGlhKFwiPj10YWJsZXRcIikge1xyXG4gICAgcGFkZGluZy1sZWZ0OiAkY29udGFpbmVyUGFkZGluZ1RhYmxldDtcclxuICB9XHJcblxyXG4gIEBpbmNsdWRlIG1lZGlhKFwiPj1sYXB0b3BcIikge1xyXG4gICAgcGFkZGluZy1sZWZ0OiAkY29udGFpbmVyUGFkZGluZ0xhcHRvcDtcclxuICB9XHJcblxyXG4gIEBpbmNsdWRlIG1lZGlhKFwiPj1kZXNrdG9wXCIpIHtcclxuICAgIHBhZGRpbmctbGVmdDogJGNvbnRhaW5lclBhZGRpbmdEZXNrdG9wO1xyXG4gIH1cclxufVxyXG4gIC5wYWQtbGVmdCB7XHJcbiAgICBAaW5jbHVkZSBwYWQtbGVmdDtcclxuICB9XHJcblxyXG5AbWl4aW4gcGFkLXJpZ2h0IHsgLy8gU3RhbmRhcmRpemVkLCByZXNwb25zaXZlLCByaWdodC1wYWRkZWQgY29udGFpbmVyXHJcbiAgcGFkZGluZy1yaWdodDogJGNvbnRhaW5lclBhZGRpbmdNb2JpbGU7XHJcbiAgdHJhbnNpdGlvbjogcGFkZGluZyAzMDBtcztcclxuXHJcbiAgQGluY2x1ZGUgbWVkaWEoXCI+PXBob25lLWxhcmdlXCIpIHtcclxuICAgIHBhZGRpbmctcmlnaHQ6ICRjb250YWluZXJQYWRkaW5nUGhvbmVMYXJnZTtcclxuICB9XHJcblxyXG4gIEBpbmNsdWRlIG1lZGlhKFwiPj10YWJsZXRcIikge1xyXG4gICAgcGFkZGluZy1yaWdodDogJGNvbnRhaW5lclBhZGRpbmdUYWJsZXQ7XHJcbiAgfVxyXG5cclxuICBAaW5jbHVkZSBtZWRpYShcIj49bGFwdG9wXCIpIHtcclxuICAgIHBhZGRpbmctcmlnaHQ6ICRjb250YWluZXJQYWRkaW5nTGFwdG9wO1xyXG4gIH1cclxuXHJcbiAgQGluY2x1ZGUgbWVkaWEoXCI+PWRlc2t0b3BcIikge1xyXG4gICAgcGFkZGluZy1yaWdodDogJGNvbnRhaW5lclBhZGRpbmdEZXNrdG9wO1xyXG4gIH1cclxufVxyXG4gIC5wYWQtcmlnaHQge1xyXG4gICAgQGluY2x1ZGUgcGFkLXJpZ2h0O1xyXG4gIH1cclxuXHJcbkBtaXhpbiBwYWQtdmVydGljYWwge1xyXG4gIEBpbmNsdWRlIHBhZC10b3A7XHJcbiAgQGluY2x1ZGUgcGFkLWJvdHRvbTtcclxufVxyXG4gIC5wYWQtdmVydGljYWwgeyAvLyBTdGFuZGFyZGl6ZWQsIHJlc3BvbnNpdmUgdmVydGljYWwgKGJvdGggdG8gYW5kIGJvdHRvbSkgc3BhY2VyIGZvciBlbGVtZW50XHJcbiAgICBAaW5jbHVkZSBwYWQtdmVydGljYWw7XHJcbiAgfVxyXG5cclxuQG1peGluIHBhZC1ob3Jpem9udGFsIHtcclxuICBAaW5jbHVkZSBwYWQtcmlnaHQ7XHJcbiAgQGluY2x1ZGUgcGFkLWxlZnQ7XHJcbn1cclxuICAucGFkLWhvcml6b250YWwgeyAvLyBTdGFuZGFyZGl6ZWQsIHJlc3BvbnNpdmUsIGhvcml6b250YWxseSBwYWRkZWQgKGJvdGggbGVmdCBhbmQgcmlnaHQpIGNvbnRhaW5lclxyXG4gICAgQGluY2x1ZGUgcGFkLWhvcml6b250YWw7XHJcbiAgfVxyXG5cclxuQG1peGluIGJ1dHRvbiB7IC8vIFN0YW5kYXJkaXplZCBidXR0b25cclxuICBtYXJnaW46IDFyZW0gMDtcclxuICBwYWRkaW5nOiAxMHB4IDE1cHg7XHJcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG4gIGJhY2tncm91bmQtY29sb3I6ICRidXR0b25Db2xvcjtcclxuICAvL3RleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XHJcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xyXG4gIGZvbnQtd2VpZ2h0OiBib2xkO1xyXG4gIGNvbG9yOiAkd2hpdGU7XHJcbiAgY3Vyc29yOiBwb2ludGVyO1xyXG4gIGJvcmRlci1yYWRpdXM6IDNweDtcclxuICAvL2JvcmRlcjogMnB4IHNvbGlkICRicmFuZENvbG9yQ29udHJhc3Q7XHJcblxyXG4gIC8vYmFja2dyb3VuZC1jb2xvcjogJGJyYW5kQ29sb3JQcmltYXJ5ICFpbXBvcnRhbnQ7XHJcbiAgLy9ib3JkZXItcmFkaXVzOiB1bnNldCAhaW1wb3J0YW50O1xyXG5cclxuICAmOmhvdmVyIHtcclxuICAgIGJhY2tncm91bmQtY29sb3I6IGRhcmtlbigkYnJhbmRDb2xvclByaW1hcnksIDUlKSAhaW1wb3J0YW50O1xyXG4gIH1cclxufVxyXG4gIC5idXR0b24ge1xyXG4gICAgQGluY2x1ZGUgYnV0dG9uO1xyXG4gIH1cclxuXHJcbkBtaXhpbiBzY3JlZW4tcmVhZGVyLXRleHQgeyAvLyBWaXNpYmxlIHRvIHNjcmVlbiByZWFkZXJzIG9ubHlcclxuICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgd2lkdGg6IDFweDtcclxuICBoZWlnaHQ6IDFweDtcclxuICBwYWRkaW5nOiAwO1xyXG4gIG1hcmdpbjogLTFweDtcclxuICBvdmVyZmxvdzogaGlkZGVuO1xyXG4gIGNsaXA6IHJlY3QoMCwgMCwgMCwgMCk7XHJcbiAgYm9yZGVyOiAwO1xyXG59XHJcbiAgLnNjcmVlbi1yZWFkZXItdGV4dCB7XHJcbiAgICBAaW5jbHVkZSBzY3JlZW4tcmVhZGVyLXRleHQ7XHJcbiAgfVxyXG5cclxuQG1peGluIG5vLXNjcm9sbCB7IC8vIFJlbW92ZSBzY3JvbGxhYmlsaXR5IGZvciBlbGVtZW50XHJcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcclxufVxyXG4gIC5uby1zY3JvbGwge1xyXG4gICAgQGluY2x1ZGUgbm8tc2Nyb2xsO1xyXG4gIH1cclxuXHJcbkBtaXhpbiBoMSB7XHJcbiAgZm9udC1zaXplOiAzcmVtOyAvLzIuNHJlbTtcclxuICBtYXJnaW4tdG9wOiAwO1xyXG4gIG1hcmdpbi1ib3R0b206IDJyZW07XHJcbiAgLy9wYWRkaW5nLWJvdHRvbTogMzBweDtcclxuICAvL2JvcmRlci1ib3R0b206IDRweCBzb2xpZCAkYnJhbmRDb2xvclByaW1hcnk7XHJcblxyXG4gIEBpbmNsdWRlIG1lZGlhKFwiPj10YWJsZXRcIikge1xyXG4gICAgZm9udC1zaXplOiA0cmVtO1xyXG4gIH1cclxufVxyXG5cclxuQG1peGluIGgyIHtcclxuICBmb250LXNpemU6IDIuNHJlbTsgLy8yLjJyZW07XHJcbiAgbWFyZ2luLWJvdHRvbTogMi4xcmVtO1xyXG5cclxuICBAaW5jbHVkZSBtZWRpYShcIj49dGFibGV0XCIpIHtcclxuICAgIGZvbnQtc2l6ZTogM3JlbTtcclxuICB9XHJcbn1cclxuXHJcbkBtaXhpbiBoMyB7XHJcbiAgZm9udC1zaXplOiAxLjhyZW07XHJcbiAgbWFyZ2luLWJvdHRvbTogMS44cmVtO1xyXG5cclxuICBAaW5jbHVkZSBtZWRpYShcIj49dGFibGV0XCIpIHtcclxuICAgIGZvbnQtc2l6ZTogMi4xcmVtO1xyXG4gIH1cclxufVxyXG5cclxuQG1peGluIGg0IHtcclxuICBmb250LXNpemU6IDEuNnJlbTtcclxuICBtYXJnaW4tYm90dG9tOiAxLjdyZW07XHJcblxyXG4gIEBpbmNsdWRlIG1lZGlhKFwiPj10YWJsZXRcIikge1xyXG4gICAgZm9udC1zaXplOiAycmVtO1xyXG4gIH1cclxufVxyXG5cclxuQG1peGluIGg1IHtcclxuICBmb250LXNpemU6IDEuNXJlbTtcclxuICBtYXJnaW4tYm90dG9tOiAxLjZyZW07XHJcblxyXG4gIEBpbmNsdWRlIG1lZGlhKFwiPj10YWJsZXRcIikge1xyXG4gICAgZm9udC1zaXplOiAxLjlyZW07XHJcbiAgfVxyXG59XHJcblxyXG5AbWl4aW4gaDYge1xyXG4gIGZvbnQtc2l6ZTogMS40cmVtO1xyXG4gIG1hcmdpbi1ib3R0b206IDEuNXJlbTtcclxuXHJcbiAgQGluY2x1ZGUgbWVkaWEoXCI+PXRhYmxldFwiKSB7XHJcbiAgICBmb250LXNpemU6IDEuOHJlbTtcclxuICB9XHJcbn1cclxuXHJcbi5oMSB7XHJcbiAgQGluY2x1ZGUgaDE7XHJcbn1cclxuXHJcbi5oMiB7XHJcbiAgQGluY2x1ZGUgaDI7XHJcbn1cclxuXHJcbi5oMyB7XHJcbiAgQGluY2x1ZGUgaDM7XHJcbn1cclxuXHJcbi5oNCB7XHJcbiAgQGluY2x1ZGUgaDQ7XHJcbn1cclxuXHJcbi5oNSB7XHJcbiAgQGluY2x1ZGUgaDU7XHJcbn1cclxuXHJcbi5oNiB7XHJcbiAgQGluY2x1ZGUgaDY7XHJcbn1cclxuIiwiQGNoYXJzZXQgXCJVVEYtOFwiO1xyXG5cclxuLy8gICAgIF8gICAgICAgICAgICBfICAgICAgICAgICBfICAgICAgICAgICAgICAgICAgICAgICAgICAgXyBfXHJcbi8vICAgIChfKSAgICAgICAgICB8IHwgICAgICAgICB8IHwgICAgICAgICAgICAgICAgICAgICAgICAgfCAoXylcclxuLy8gICAgIF8gXyBfXyAgIF9fX3wgfF8gICBfICBfX3wgfCBfX18gICBfIF9fIF9fXyAgIF9fXyAgX198IHxfICBfXyBfXHJcbi8vICAgIHwgfCAnXyBcXCAvIF9ffCB8IHwgfCB8LyBfYCB8LyBfIFxcIHwgJ18gYCBfIFxcIC8gXyBcXC8gX2AgfCB8LyBfYCB8XHJcbi8vICAgIHwgfCB8IHwgfCAoX198IHwgfF98IHwgKF98IHwgIF9fLyB8IHwgfCB8IHwgfCAgX18vIChffCB8IHwgKF98IHxcclxuLy8gICAgfF98X3wgfF98XFxfX198X3xcXF9fLF98XFxfXyxffFxcX19ffCB8X3wgfF98IHxffFxcX19ffFxcX18sX3xffFxcX18sX3xcclxuLy9cclxuLy8gICAgICBTaW1wbGUsIGVsZWdhbnQgYW5kIG1haW50YWluYWJsZSBtZWRpYSBxdWVyaWVzIGluIFNhc3NcclxuLy8gICAgICAgICAgICAgICAgICAgICAgICB2MS40LjlcclxuLy9cclxuLy8gICAgICAgIGh0dHBzOi8vZWR1YXJkb2JvdWNhcy5naXRodWIuaW8vaW5jbHVkZS1tZWRpYVxyXG4vL1xyXG4vLyAgICAgICAgIEF1dGhvcnM6IEVkdWFyZG8gQm91Y2FzIChAZWR1YXJkb2JvdWNhcylcclxuLy8gICAgICAgICAgICAgICAgICBLaXR0eSBHaXJhdWRlbCAoQGtpdHR5Z2lyYXVkZWwpXHJcbi8vXHJcbi8vICAgICAgVGhpcyBwcm9qZWN0IGlzIGxpY2Vuc2VkIHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgTUlUIGxpY2Vuc2VcclxuLy8vL1xyXG4vLy8gaW5jbHVkZS1tZWRpYSBsaWJyYXJ5IHB1YmxpYyBjb25maWd1cmF0aW9uXHJcbi8vLyBAYXV0aG9yIEVkdWFyZG8gQm91Y2FzXHJcbi8vLyBAYWNjZXNzIHB1YmxpY1xyXG4vLy8vXHJcblxyXG5cclxuLy8vXHJcbi8vLyBDcmVhdGVzIGEgbGlzdCBvZiBnbG9iYWwgYnJlYWtwb2ludHNcclxuLy8vXHJcbi8vLyBAZXhhbXBsZSBzY3NzIC0gQ3JlYXRlcyBhIHNpbmdsZSBicmVha3BvaW50IHdpdGggdGhlIGxhYmVsIGBwaG9uZWBcclxuLy8vICAkYnJlYWtwb2ludHM6ICgncGhvbmUnOiAzMjBweCk7XHJcbi8vL1xyXG4kYnJlYWtwb2ludHM6IChcclxuICAncGhvbmUnOiAzMjBweCxcclxuICAndGFibGV0JzogNzY4cHgsXHJcbiAgJ2Rlc2t0b3AnOiAxMDI0cHhcclxuKSAhZGVmYXVsdDtcclxuXHJcblxyXG4vLy9cclxuLy8vIENyZWF0ZXMgYSBsaXN0IG9mIHN0YXRpYyBleHByZXNzaW9ucyBvciBtZWRpYSB0eXBlc1xyXG4vLy9cclxuLy8vIEBleGFtcGxlIHNjc3MgLSBDcmVhdGVzIGEgc2luZ2xlIG1lZGlhIHR5cGUgKHNjcmVlbilcclxuLy8vICAkbWVkaWEtZXhwcmVzc2lvbnM6ICgnc2NyZWVuJzogJ3NjcmVlbicpO1xyXG4vLy9cclxuLy8vIEBleGFtcGxlIHNjc3MgLSBDcmVhdGVzIGEgc3RhdGljIGV4cHJlc3Npb24gd2l0aCBsb2dpY2FsIGRpc2p1bmN0aW9uIChPUiBvcGVyYXRvcilcclxuLy8vICAkbWVkaWEtZXhwcmVzc2lvbnM6IChcclxuLy8vICAgICdyZXRpbmEyeCc6ICcoLXdlYmtpdC1taW4tZGV2aWNlLXBpeGVsLXJhdGlvOiAyKSwgKG1pbi1yZXNvbHV0aW9uOiAxOTJkcGkpJ1xyXG4vLy8gICk7XHJcbi8vL1xyXG4kbWVkaWEtZXhwcmVzc2lvbnM6IChcclxuICAnc2NyZWVuJzogJ3NjcmVlbicsXHJcbiAgJ3ByaW50JzogJ3ByaW50JyxcclxuICAnaGFuZGhlbGQnOiAnaGFuZGhlbGQnLFxyXG4gICdsYW5kc2NhcGUnOiAnKG9yaWVudGF0aW9uOiBsYW5kc2NhcGUpJyxcclxuICAncG9ydHJhaXQnOiAnKG9yaWVudGF0aW9uOiBwb3J0cmFpdCknLFxyXG4gICdyZXRpbmEyeCc6ICcoLXdlYmtpdC1taW4tZGV2aWNlLXBpeGVsLXJhdGlvOiAyKSwgKG1pbi1yZXNvbHV0aW9uOiAxOTJkcGkpLCAobWluLXJlc29sdXRpb246IDJkcHB4KScsXHJcbiAgJ3JldGluYTN4JzogJygtd2Via2l0LW1pbi1kZXZpY2UtcGl4ZWwtcmF0aW86IDMpLCAobWluLXJlc29sdXRpb246IDM1MGRwaSksIChtaW4tcmVzb2x1dGlvbjogM2RwcHgpJ1xyXG4pICFkZWZhdWx0O1xyXG5cclxuXHJcbi8vL1xyXG4vLy8gRGVmaW5lcyBhIG51bWJlciB0byBiZSBhZGRlZCBvciBzdWJ0cmFjdGVkIGZyb20gZWFjaCB1bml0IHdoZW4gZGVjbGFyaW5nIGJyZWFrcG9pbnRzIHdpdGggZXhjbHVzaXZlIGludGVydmFsc1xyXG4vLy9cclxuLy8vIEBleGFtcGxlIHNjc3MgLSBJbnRlcnZhbCBmb3IgcGl4ZWxzIGlzIGRlZmluZWQgYXMgYDFgIGJ5IGRlZmF1bHRcclxuLy8vICBAaW5jbHVkZSBtZWRpYSgnPjEyOHB4Jykge31cclxuLy8vXHJcbi8vLyAgLyogR2VuZXJhdGVzOiAqL1xyXG4vLy8gIEBtZWRpYSAobWluLXdpZHRoOiAxMjlweCkge31cclxuLy8vXHJcbi8vLyBAZXhhbXBsZSBzY3NzIC0gSW50ZXJ2YWwgZm9yIGVtcyBpcyBkZWZpbmVkIGFzIGAwLjAxYCBieSBkZWZhdWx0XHJcbi8vLyAgQGluY2x1ZGUgbWVkaWEoJz4yMGVtJykge31cclxuLy8vXHJcbi8vLyAgLyogR2VuZXJhdGVzOiAqL1xyXG4vLy8gIEBtZWRpYSAobWluLXdpZHRoOiAyMC4wMWVtKSB7fVxyXG4vLy9cclxuLy8vIEBleGFtcGxlIHNjc3MgLSBJbnRlcnZhbCBmb3IgcmVtcyBpcyBkZWZpbmVkIGFzIGAwLjFgIGJ5IGRlZmF1bHQsIHRvIGJlIHVzZWQgd2l0aCBgZm9udC1zaXplOiA2Mi41JTtgXHJcbi8vLyAgQGluY2x1ZGUgbWVkaWEoJz4yLjByZW0nKSB7fVxyXG4vLy9cclxuLy8vICAvKiBHZW5lcmF0ZXM6ICovXHJcbi8vLyAgQG1lZGlhIChtaW4td2lkdGg6IDIuMXJlbSkge31cclxuLy8vXHJcbiR1bml0LWludGVydmFsczogKFxyXG4gICdweCc6IDEsXHJcbiAgJ2VtJzogMC4wMSxcclxuICAncmVtJzogMC4xLFxyXG4gICcnOiAwXHJcbikgIWRlZmF1bHQ7XHJcblxyXG4vLy9cclxuLy8vIERlZmluZXMgd2hldGhlciBzdXBwb3J0IGZvciBtZWRpYSBxdWVyaWVzIGlzIGF2YWlsYWJsZSwgdXNlZnVsIGZvciBjcmVhdGluZyBzZXBhcmF0ZSBzdHlsZXNoZWV0c1xyXG4vLy8gZm9yIGJyb3dzZXJzIHRoYXQgZG9uJ3Qgc3VwcG9ydCBtZWRpYSBxdWVyaWVzLlxyXG4vLy9cclxuLy8vIEBleGFtcGxlIHNjc3MgLSBEaXNhYmxlcyBzdXBwb3J0IGZvciBtZWRpYSBxdWVyaWVzXHJcbi8vLyAgJGltLW1lZGlhLXN1cHBvcnQ6IGZhbHNlO1xyXG4vLy8gIEBpbmNsdWRlIG1lZGlhKCc+PXRhYmxldCcpIHtcclxuLy8vICAgIC5mb28ge1xyXG4vLy8gICAgICBjb2xvcjogdG9tYXRvO1xyXG4vLy8gICAgfVxyXG4vLy8gIH1cclxuLy8vXHJcbi8vLyAgLyogR2VuZXJhdGVzOiAqL1xyXG4vLy8gIC5mb28ge1xyXG4vLy8gICAgY29sb3I6IHRvbWF0bztcclxuLy8vICB9XHJcbi8vL1xyXG4kaW0tbWVkaWEtc3VwcG9ydDogdHJ1ZSAhZGVmYXVsdDtcclxuXHJcbi8vL1xyXG4vLy8gU2VsZWN0cyB3aGljaCBicmVha3BvaW50IHRvIGVtdWxhdGUgd2hlbiBzdXBwb3J0IGZvciBtZWRpYSBxdWVyaWVzIGlzIGRpc2FibGVkLiBNZWRpYSBxdWVyaWVzIHRoYXQgc3RhcnQgYXQgb3JcclxuLy8vIGludGVyY2VwdCB0aGUgYnJlYWtwb2ludCB3aWxsIGJlIGRpc3BsYXllZCwgYW55IG90aGVycyB3aWxsIGJlIGlnbm9yZWQuXHJcbi8vL1xyXG4vLy8gQGV4YW1wbGUgc2NzcyAtIFRoaXMgbWVkaWEgcXVlcnkgd2lsbCBzaG93IGJlY2F1c2UgaXQgaW50ZXJjZXB0cyB0aGUgc3RhdGljIGJyZWFrcG9pbnRcclxuLy8vICAkaW0tbWVkaWEtc3VwcG9ydDogZmFsc2U7XHJcbi8vLyAgJGltLW5vLW1lZGlhLWJyZWFrcG9pbnQ6ICdkZXNrdG9wJztcclxuLy8vICBAaW5jbHVkZSBtZWRpYSgnPj10YWJsZXQnKSB7XHJcbi8vLyAgICAuZm9vIHtcclxuLy8vICAgICAgY29sb3I6IHRvbWF0bztcclxuLy8vICAgIH1cclxuLy8vICB9XHJcbi8vL1xyXG4vLy8gIC8qIEdlbmVyYXRlczogKi9cclxuLy8vICAuZm9vIHtcclxuLy8vICAgIGNvbG9yOiB0b21hdG87XHJcbi8vLyAgfVxyXG4vLy9cclxuLy8vIEBleGFtcGxlIHNjc3MgLSBUaGlzIG1lZGlhIHF1ZXJ5IHdpbGwgTk9UIHNob3cgYmVjYXVzZSBpdCBkb2VzIG5vdCBpbnRlcmNlcHQgdGhlIGRlc2t0b3AgYnJlYWtwb2ludFxyXG4vLy8gICRpbS1tZWRpYS1zdXBwb3J0OiBmYWxzZTtcclxuLy8vICAkaW0tbm8tbWVkaWEtYnJlYWtwb2ludDogJ3RhYmxldCc7XHJcbi8vLyAgQGluY2x1ZGUgbWVkaWEoJz49ZGVza3RvcCcpIHtcclxuLy8vICAgIC5mb28ge1xyXG4vLy8gICAgICBjb2xvcjogdG9tYXRvO1xyXG4vLy8gICAgfVxyXG4vLy8gIH1cclxuLy8vXHJcbi8vLyAgLyogTm8gb3V0cHV0ICovXHJcbi8vL1xyXG4kaW0tbm8tbWVkaWEtYnJlYWtwb2ludDogJ2Rlc2t0b3AnICFkZWZhdWx0O1xyXG5cclxuLy8vXHJcbi8vLyBTZWxlY3RzIHdoaWNoIG1lZGlhIGV4cHJlc3Npb25zIGFyZSBhbGxvd2VkIGluIGFuIGV4cHJlc3Npb24gZm9yIGl0IHRvIGJlIHVzZWQgd2hlbiBtZWRpYSBxdWVyaWVzXHJcbi8vLyBhcmUgbm90IHN1cHBvcnRlZC5cclxuLy8vXHJcbi8vLyBAZXhhbXBsZSBzY3NzIC0gVGhpcyBtZWRpYSBxdWVyeSB3aWxsIHNob3cgYmVjYXVzZSBpdCBpbnRlcmNlcHRzIHRoZSBzdGF0aWMgYnJlYWtwb2ludCBhbmQgY29udGFpbnMgb25seSBhY2NlcHRlZCBtZWRpYSBleHByZXNzaW9uc1xyXG4vLy8gICRpbS1tZWRpYS1zdXBwb3J0OiBmYWxzZTtcclxuLy8vICAkaW0tbm8tbWVkaWEtYnJlYWtwb2ludDogJ2Rlc2t0b3AnO1xyXG4vLy8gICRpbS1uby1tZWRpYS1leHByZXNzaW9uczogKCdzY3JlZW4nKTtcclxuLy8vICBAaW5jbHVkZSBtZWRpYSgnPj10YWJsZXQnLCAnc2NyZWVuJykge1xyXG4vLy8gICAgLmZvbyB7XHJcbi8vLyAgICAgIGNvbG9yOiB0b21hdG87XHJcbi8vLyAgICB9XHJcbi8vLyAgfVxyXG4vLy9cclxuLy8vICAgLyogR2VuZXJhdGVzOiAqL1xyXG4vLy8gICAuZm9vIHtcclxuLy8vICAgICBjb2xvcjogdG9tYXRvO1xyXG4vLy8gICB9XHJcbi8vL1xyXG4vLy8gQGV4YW1wbGUgc2NzcyAtIFRoaXMgbWVkaWEgcXVlcnkgd2lsbCBOT1Qgc2hvdyBiZWNhdXNlIGl0IGludGVyY2VwdHMgdGhlIHN0YXRpYyBicmVha3BvaW50IGJ1dCBjb250YWlucyBhIG1lZGlhIGV4cHJlc3Npb24gdGhhdCBpcyBub3QgYWNjZXB0ZWRcclxuLy8vICAkaW0tbWVkaWEtc3VwcG9ydDogZmFsc2U7XHJcbi8vLyAgJGltLW5vLW1lZGlhLWJyZWFrcG9pbnQ6ICdkZXNrdG9wJztcclxuLy8vICAkaW0tbm8tbWVkaWEtZXhwcmVzc2lvbnM6ICgnc2NyZWVuJyk7XHJcbi8vLyAgQGluY2x1ZGUgbWVkaWEoJz49dGFibGV0JywgJ3JldGluYTJ4Jykge1xyXG4vLy8gICAgLmZvbyB7XHJcbi8vLyAgICAgIGNvbG9yOiB0b21hdG87XHJcbi8vLyAgICB9XHJcbi8vLyAgfVxyXG4vLy9cclxuLy8vICAvKiBObyBvdXRwdXQgKi9cclxuLy8vXHJcbiRpbS1uby1tZWRpYS1leHByZXNzaW9uczogKCdzY3JlZW4nLCAncG9ydHJhaXQnLCAnbGFuZHNjYXBlJykgIWRlZmF1bHQ7XHJcblxyXG4vLy8vXHJcbi8vLyBDcm9zcy1lbmdpbmUgbG9nZ2luZyBlbmdpbmVcclxuLy8vIEBhdXRob3IgS2l0dHkgR2lyYXVkZWxcclxuLy8vIEBhY2Nlc3MgcHJpdmF0ZVxyXG4vLy8vXHJcblxyXG5cclxuLy8vXHJcbi8vLyBMb2cgYSBtZXNzYWdlIGVpdGhlciB3aXRoIGBAZXJyb3JgIGlmIHN1cHBvcnRlZFxyXG4vLy8gZWxzZSB3aXRoIGBAd2FybmAsIHVzaW5nIGBmZWF0dXJlLWV4aXN0cygnYXQtZXJyb3InKWBcclxuLy8vIHRvIGRldGVjdCBzdXBwb3J0LlxyXG4vLy9cclxuLy8vIEBwYXJhbSB7U3RyaW5nfSAkbWVzc2FnZSAtIE1lc3NhZ2UgdG8gbG9nXHJcbi8vL1xyXG5AZnVuY3Rpb24gaW0tbG9nKCRtZXNzYWdlKSB7XHJcbiAgQGlmIGZlYXR1cmUtZXhpc3RzKCdhdC1lcnJvcicpIHtcclxuICAgIEBlcnJvciAkbWVzc2FnZTtcclxuICB9IEBlbHNlIHtcclxuICAgIEB3YXJuICRtZXNzYWdlO1xyXG4gICAgJF86IG5vb3AoKTtcclxuICB9XHJcblxyXG4gIEByZXR1cm4gJG1lc3NhZ2U7XHJcbn1cclxuXHJcblxyXG4vLy9cclxuLy8vIFdyYXBwZXIgbWl4aW4gZm9yIHRoZSBsb2cgZnVuY3Rpb24gc28gaXQgY2FuIGJlIHVzZWQgd2l0aCBhIG1vcmUgZnJpZW5kbHlcclxuLy8vIEFQSSB0aGFuIGBAaWYgaW0tbG9nKCcuLicpIHt9YCBvciBgJF86IGltLWxvZygnLi4nKWAuIEJhc2ljYWxseSwgdXNlIHRoZSBmdW5jdGlvblxyXG4vLy8gd2l0aGluIGZ1bmN0aW9ucyBiZWNhdXNlIGl0IGlzIG5vdCBwb3NzaWJsZSB0byBpbmNsdWRlIGEgbWl4aW4gaW4gYSBmdW5jdGlvblxyXG4vLy8gYW5kIHVzZSB0aGUgbWl4aW4gZXZlcnl3aGVyZSBlbHNlIGJlY2F1c2UgaXQncyBtdWNoIG1vcmUgZWxlZ2FudC5cclxuLy8vXHJcbi8vLyBAcGFyYW0ge1N0cmluZ30gJG1lc3NhZ2UgLSBNZXNzYWdlIHRvIGxvZ1xyXG4vLy9cclxuQG1peGluIGxvZygkbWVzc2FnZSkge1xyXG4gIEBpZiBpbS1sb2coJG1lc3NhZ2UpIHt9XHJcbn1cclxuXHJcblxyXG4vLy9cclxuLy8vIEZ1bmN0aW9uIHdpdGggbm8gYEByZXR1cm5gIGNhbGxlZCBuZXh0IHRvIGBAd2FybmAgaW4gU2FzcyAzLjNcclxuLy8vIHRvIHRyaWdnZXIgYSBjb21waWxpbmcgZXJyb3IgYW5kIHN0b3AgdGhlIHByb2Nlc3MuXHJcbi8vL1xyXG5AZnVuY3Rpb24gbm9vcCgpIHt9XHJcblxyXG4vLy9cclxuLy8vIERldGVybWluZXMgd2hldGhlciBhIGxpc3Qgb2YgY29uZGl0aW9ucyBpcyBpbnRlcmNlcHRlZCBieSB0aGUgc3RhdGljIGJyZWFrcG9pbnQuXHJcbi8vL1xyXG4vLy8gQHBhcmFtIHtBcmdsaXN0fSAgICRjb25kaXRpb25zICAtIE1lZGlhIHF1ZXJ5IGNvbmRpdGlvbnNcclxuLy8vXHJcbi8vLyBAcmV0dXJuIHtCb29sZWFufSAtIFJldHVybnMgdHJ1ZSBpZiB0aGUgY29uZGl0aW9ucyBhcmUgaW50ZXJjZXB0ZWQgYnkgdGhlIHN0YXRpYyBicmVha3BvaW50XHJcbi8vL1xyXG5AZnVuY3Rpb24gaW0taW50ZXJjZXB0cy1zdGF0aWMtYnJlYWtwb2ludCgkY29uZGl0aW9ucy4uLikge1xyXG4gICRuby1tZWRpYS1icmVha3BvaW50LXZhbHVlOiBtYXAtZ2V0KCRicmVha3BvaW50cywgJGltLW5vLW1lZGlhLWJyZWFrcG9pbnQpO1xyXG5cclxuICBAaWYgbm90ICRuby1tZWRpYS1icmVha3BvaW50LXZhbHVlIHtcclxuICAgIEBpZiBpbS1sb2coJ2AjeyRpbS1uby1tZWRpYS1icmVha3BvaW50fWAgaXMgbm90IGEgdmFsaWQgYnJlYWtwb2ludC4nKSB7fVxyXG4gIH1cclxuXHJcbiAgQGVhY2ggJGNvbmRpdGlvbiBpbiAkY29uZGl0aW9ucyB7XHJcbiAgICBAaWYgbm90IG1hcC1oYXMta2V5KCRtZWRpYS1leHByZXNzaW9ucywgJGNvbmRpdGlvbikge1xyXG4gICAgICAkb3BlcmF0b3I6IGdldC1leHByZXNzaW9uLW9wZXJhdG9yKCRjb25kaXRpb24pO1xyXG4gICAgICAkcHJlZml4OiBnZXQtZXhwcmVzc2lvbi1wcmVmaXgoJG9wZXJhdG9yKTtcclxuICAgICAgJHZhbHVlOiBnZXQtZXhwcmVzc2lvbi12YWx1ZSgkY29uZGl0aW9uLCAkb3BlcmF0b3IpO1xyXG5cclxuICAgICAgQGlmICgkcHJlZml4ID09ICdtYXgnIGFuZCAkdmFsdWUgPD0gJG5vLW1lZGlhLWJyZWFrcG9pbnQtdmFsdWUpIG9yXHJcbiAgICAgICAgICAoJHByZWZpeCA9PSAnbWluJyBhbmQgJHZhbHVlID4gJG5vLW1lZGlhLWJyZWFrcG9pbnQtdmFsdWUpIHtcclxuICAgICAgICBAcmV0dXJuIGZhbHNlO1xyXG4gICAgICB9XHJcbiAgICB9IEBlbHNlIGlmIG5vdCBpbmRleCgkaW0tbm8tbWVkaWEtZXhwcmVzc2lvbnMsICRjb25kaXRpb24pIHtcclxuICAgICAgQHJldHVybiBmYWxzZTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIEByZXR1cm4gdHJ1ZTtcclxufVxyXG5cclxuLy8vL1xyXG4vLy8gUGFyc2luZyBlbmdpbmVcclxuLy8vIEBhdXRob3IgS2l0dHkgR2lyYXVkZWxcclxuLy8vIEBhY2Nlc3MgcHJpdmF0ZVxyXG4vLy8vXHJcblxyXG5cclxuLy8vXHJcbi8vLyBHZXQgb3BlcmF0b3Igb2YgYW4gZXhwcmVzc2lvblxyXG4vLy9cclxuLy8vIEBwYXJhbSB7U3RyaW5nfSAkZXhwcmVzc2lvbiAtIEV4cHJlc3Npb24gdG8gZXh0cmFjdCBvcGVyYXRvciBmcm9tXHJcbi8vL1xyXG4vLy8gQHJldHVybiB7U3RyaW5nfSAtIEFueSBvZiBgPj1gLCBgPmAsIGA8PWAsIGA8YCwgYOKJpWAsIGDiiaRgXHJcbi8vL1xyXG5AZnVuY3Rpb24gZ2V0LWV4cHJlc3Npb24tb3BlcmF0b3IoJGV4cHJlc3Npb24pIHtcclxuICBAZWFjaCAkb3BlcmF0b3IgaW4gKCc+PScsICc+JywgJzw9JywgJzwnLCAn4omlJywgJ+KJpCcpIHtcclxuICAgIEBpZiBzdHItaW5kZXgoJGV4cHJlc3Npb24sICRvcGVyYXRvcikge1xyXG4gICAgICBAcmV0dXJuICRvcGVyYXRvcjtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIC8vIEl0IGlzIG5vdCBwb3NzaWJsZSB0byBpbmNsdWRlIGEgbWl4aW4gaW5zaWRlIGEgZnVuY3Rpb24sIHNvIHdlIGhhdmUgdG9cclxuICAvLyByZWx5IG9uIHRoZSBgaW0tbG9nKC4uKWAgZnVuY3Rpb24gcmF0aGVyIHRoYW4gdGhlIGBsb2coLi4pYCBtaXhpbi4gQmVjYXVzZVxyXG4gIC8vIGZ1bmN0aW9ucyBjYW5ub3QgYmUgY2FsbGVkIGFueXdoZXJlIGluIFNhc3MsIHdlIG5lZWQgdG8gaGFjayB0aGUgY2FsbCBpblxyXG4gIC8vIGEgZHVtbXkgdmFyaWFibGUsIHN1Y2ggYXMgYCRfYC4gSWYgYW55Ym9keSBldmVyIHJhaXNlIGEgc2NvcGluZyBpc3N1ZSB3aXRoXHJcbiAgLy8gU2FzcyAzLjMsIGNoYW5nZSB0aGlzIGxpbmUgaW4gYEBpZiBpbS1sb2coLi4pIHt9YCBpbnN0ZWFkLlxyXG4gICRfOiBpbS1sb2coJ05vIG9wZXJhdG9yIGZvdW5kIGluIGAjeyRleHByZXNzaW9ufWAuJyk7XHJcbn1cclxuXHJcblxyXG4vLy9cclxuLy8vIEdldCBkaW1lbnNpb24gb2YgYW4gZXhwcmVzc2lvbiwgYmFzZWQgb24gYSBmb3VuZCBvcGVyYXRvclxyXG4vLy9cclxuLy8vIEBwYXJhbSB7U3RyaW5nfSAkZXhwcmVzc2lvbiAtIEV4cHJlc3Npb24gdG8gZXh0cmFjdCBkaW1lbnNpb24gZnJvbVxyXG4vLy8gQHBhcmFtIHtTdHJpbmd9ICRvcGVyYXRvciAtIE9wZXJhdG9yIGZyb20gYCRleHByZXNzaW9uYFxyXG4vLy9cclxuLy8vIEByZXR1cm4ge1N0cmluZ30gLSBgd2lkdGhgIG9yIGBoZWlnaHRgIChvciBwb3RlbnRpYWxseSBhbnl0aGluZyBlbHNlKVxyXG4vLy9cclxuQGZ1bmN0aW9uIGdldC1leHByZXNzaW9uLWRpbWVuc2lvbigkZXhwcmVzc2lvbiwgJG9wZXJhdG9yKSB7XHJcbiAgJG9wZXJhdG9yLWluZGV4OiBzdHItaW5kZXgoJGV4cHJlc3Npb24sICRvcGVyYXRvcik7XHJcbiAgJHBhcnNlZC1kaW1lbnNpb246IHN0ci1zbGljZSgkZXhwcmVzc2lvbiwgMCwgJG9wZXJhdG9yLWluZGV4IC0gMSk7XHJcbiAgJGRpbWVuc2lvbjogJ3dpZHRoJztcclxuXHJcbiAgQGlmIHN0ci1sZW5ndGgoJHBhcnNlZC1kaW1lbnNpb24pID4gMCB7XHJcbiAgICAkZGltZW5zaW9uOiAkcGFyc2VkLWRpbWVuc2lvbjtcclxuICB9XHJcblxyXG4gIEByZXR1cm4gJGRpbWVuc2lvbjtcclxufVxyXG5cclxuXHJcbi8vL1xyXG4vLy8gR2V0IGRpbWVuc2lvbiBwcmVmaXggYmFzZWQgb24gYW4gb3BlcmF0b3JcclxuLy8vXHJcbi8vLyBAcGFyYW0ge1N0cmluZ30gJG9wZXJhdG9yIC0gT3BlcmF0b3JcclxuLy8vXHJcbi8vLyBAcmV0dXJuIHtTdHJpbmd9IC0gYG1pbmAgb3IgYG1heGBcclxuLy8vXHJcbkBmdW5jdGlvbiBnZXQtZXhwcmVzc2lvbi1wcmVmaXgoJG9wZXJhdG9yKSB7XHJcbiAgQHJldHVybiBpZihpbmRleCgoJzwnLCAnPD0nLCAn4omkJyksICRvcGVyYXRvciksICdtYXgnLCAnbWluJyk7XHJcbn1cclxuXHJcblxyXG4vLy9cclxuLy8vIEdldCB2YWx1ZSBvZiBhbiBleHByZXNzaW9uLCBiYXNlZCBvbiBhIGZvdW5kIG9wZXJhdG9yXHJcbi8vL1xyXG4vLy8gQHBhcmFtIHtTdHJpbmd9ICRleHByZXNzaW9uIC0gRXhwcmVzc2lvbiB0byBleHRyYWN0IHZhbHVlIGZyb21cclxuLy8vIEBwYXJhbSB7U3RyaW5nfSAkb3BlcmF0b3IgLSBPcGVyYXRvciBmcm9tIGAkZXhwcmVzc2lvbmBcclxuLy8vXHJcbi8vLyBAcmV0dXJuIHtOdW1iZXJ9IC0gQSBudW1lcmljIHZhbHVlXHJcbi8vL1xyXG5AZnVuY3Rpb24gZ2V0LWV4cHJlc3Npb24tdmFsdWUoJGV4cHJlc3Npb24sICRvcGVyYXRvcikge1xyXG4gICRvcGVyYXRvci1pbmRleDogc3RyLWluZGV4KCRleHByZXNzaW9uLCAkb3BlcmF0b3IpO1xyXG4gICR2YWx1ZTogc3RyLXNsaWNlKCRleHByZXNzaW9uLCAkb3BlcmF0b3ItaW5kZXggKyBzdHItbGVuZ3RoKCRvcGVyYXRvcikpO1xyXG5cclxuICBAaWYgbWFwLWhhcy1rZXkoJGJyZWFrcG9pbnRzLCAkdmFsdWUpIHtcclxuICAgICR2YWx1ZTogbWFwLWdldCgkYnJlYWtwb2ludHMsICR2YWx1ZSk7XHJcbiAgfSBAZWxzZSB7XHJcbiAgICAkdmFsdWU6IHRvLW51bWJlcigkdmFsdWUpO1xyXG4gIH1cclxuXHJcbiAgJGludGVydmFsOiBtYXAtZ2V0KCR1bml0LWludGVydmFscywgdW5pdCgkdmFsdWUpKTtcclxuXHJcbiAgQGlmIG5vdCAkaW50ZXJ2YWwge1xyXG4gICAgLy8gSXQgaXMgbm90IHBvc3NpYmxlIHRvIGluY2x1ZGUgYSBtaXhpbiBpbnNpZGUgYSBmdW5jdGlvbiwgc28gd2UgaGF2ZSB0b1xyXG4gICAgLy8gcmVseSBvbiB0aGUgYGltLWxvZyguLilgIGZ1bmN0aW9uIHJhdGhlciB0aGFuIHRoZSBgbG9nKC4uKWAgbWl4aW4uIEJlY2F1c2VcclxuICAgIC8vIGZ1bmN0aW9ucyBjYW5ub3QgYmUgY2FsbGVkIGFueXdoZXJlIGluIFNhc3MsIHdlIG5lZWQgdG8gaGFjayB0aGUgY2FsbCBpblxyXG4gICAgLy8gYSBkdW1teSB2YXJpYWJsZSwgc3VjaCBhcyBgJF9gLiBJZiBhbnlib2R5IGV2ZXIgcmFpc2UgYSBzY29waW5nIGlzc3VlIHdpdGhcclxuICAgIC8vIFNhc3MgMy4zLCBjaGFuZ2UgdGhpcyBsaW5lIGluIGBAaWYgaW0tbG9nKC4uKSB7fWAgaW5zdGVhZC5cclxuICAgICRfOiBpbS1sb2coJ1Vua25vd24gdW5pdCBgI3t1bml0KCR2YWx1ZSl9YC4nKTtcclxuICB9XHJcblxyXG4gIEBpZiAkb3BlcmF0b3IgPT0gJz4nIHtcclxuICAgICR2YWx1ZTogJHZhbHVlICsgJGludGVydmFsO1xyXG4gIH0gQGVsc2UgaWYgJG9wZXJhdG9yID09ICc8JyB7XHJcbiAgICAkdmFsdWU6ICR2YWx1ZSAtICRpbnRlcnZhbDtcclxuICB9XHJcblxyXG4gIEByZXR1cm4gJHZhbHVlO1xyXG59XHJcblxyXG5cclxuLy8vXHJcbi8vLyBQYXJzZSBhbiBleHByZXNzaW9uIHRvIHJldHVybiBhIHZhbGlkIG1lZGlhLXF1ZXJ5IGV4cHJlc3Npb25cclxuLy8vXHJcbi8vLyBAcGFyYW0ge1N0cmluZ30gJGV4cHJlc3Npb24gLSBFeHByZXNzaW9uIHRvIHBhcnNlXHJcbi8vL1xyXG4vLy8gQHJldHVybiB7U3RyaW5nfSAtIFZhbGlkIG1lZGlhIHF1ZXJ5XHJcbi8vL1xyXG5AZnVuY3Rpb24gcGFyc2UtZXhwcmVzc2lvbigkZXhwcmVzc2lvbikge1xyXG4gIC8vIElmIGl0IGlzIHBhcnQgb2YgJG1lZGlhLWV4cHJlc3Npb25zLCBpdCBoYXMgbm8gb3BlcmF0b3JcclxuICAvLyB0aGVuIHRoZXJlIGlzIG5vIG5lZWQgdG8gZ28gYW55IGZ1cnRoZXIsIGp1c3QgcmV0dXJuIHRoZSB2YWx1ZVxyXG4gIEBpZiBtYXAtaGFzLWtleSgkbWVkaWEtZXhwcmVzc2lvbnMsICRleHByZXNzaW9uKSB7XHJcbiAgICBAcmV0dXJuIG1hcC1nZXQoJG1lZGlhLWV4cHJlc3Npb25zLCAkZXhwcmVzc2lvbik7XHJcbiAgfVxyXG5cclxuICAkb3BlcmF0b3I6IGdldC1leHByZXNzaW9uLW9wZXJhdG9yKCRleHByZXNzaW9uKTtcclxuICAkZGltZW5zaW9uOiBnZXQtZXhwcmVzc2lvbi1kaW1lbnNpb24oJGV4cHJlc3Npb24sICRvcGVyYXRvcik7XHJcbiAgJHByZWZpeDogZ2V0LWV4cHJlc3Npb24tcHJlZml4KCRvcGVyYXRvcik7XHJcbiAgJHZhbHVlOiBnZXQtZXhwcmVzc2lvbi12YWx1ZSgkZXhwcmVzc2lvbiwgJG9wZXJhdG9yKTtcclxuXHJcbiAgQHJldHVybiAnKCN7JHByZWZpeH0tI3skZGltZW5zaW9ufTogI3skdmFsdWV9KSc7XHJcbn1cclxuXHJcbi8vL1xyXG4vLy8gU2xpY2UgYCRsaXN0YCBiZXR3ZWVuIGAkc3RhcnRgIGFuZCBgJGVuZGAgaW5kZXhlc1xyXG4vLy9cclxuLy8vIEBhY2Nlc3MgcHJpdmF0ZVxyXG4vLy9cclxuLy8vIEBwYXJhbSB7TGlzdH0gJGxpc3QgLSBMaXN0IHRvIHNsaWNlXHJcbi8vLyBAcGFyYW0ge051bWJlcn0gJHN0YXJ0IFsxXSAtIFN0YXJ0IGluZGV4XHJcbi8vLyBAcGFyYW0ge051bWJlcn0gJGVuZCBbbGVuZ3RoKCRsaXN0KV0gLSBFbmQgaW5kZXhcclxuLy8vXHJcbi8vLyBAcmV0dXJuIHtMaXN0fSBTbGljZWQgbGlzdFxyXG4vLy9cclxuQGZ1bmN0aW9uIHNsaWNlKCRsaXN0LCAkc3RhcnQ6IDEsICRlbmQ6IGxlbmd0aCgkbGlzdCkpIHtcclxuICBAaWYgbGVuZ3RoKCRsaXN0KSA8IDEgb3IgJHN0YXJ0ID4gJGVuZCB7XHJcbiAgICBAcmV0dXJuICgpO1xyXG4gIH1cclxuXHJcbiAgJHJlc3VsdDogKCk7XHJcblxyXG4gIEBmb3IgJGkgZnJvbSAkc3RhcnQgdGhyb3VnaCAkZW5kIHtcclxuICAgICRyZXN1bHQ6IGFwcGVuZCgkcmVzdWx0LCBudGgoJGxpc3QsICRpKSk7XHJcbiAgfVxyXG5cclxuICBAcmV0dXJuICRyZXN1bHQ7XHJcbn1cclxuXHJcbi8vLy9cclxuLy8vIFN0cmluZyB0byBudW1iZXIgY29udmVydGVyXHJcbi8vLyBAYXV0aG9yIEtpdHR5IEdpcmF1ZGVsXHJcbi8vLyBAYWNjZXNzIHByaXZhdGVcclxuLy8vL1xyXG5cclxuXHJcbi8vL1xyXG4vLy8gQ2FzdHMgYSBzdHJpbmcgaW50byBhIG51bWJlclxyXG4vLy9cclxuLy8vIEBwYXJhbSB7U3RyaW5nIHwgTnVtYmVyfSAkdmFsdWUgLSBWYWx1ZSB0byBiZSBwYXJzZWRcclxuLy8vXHJcbi8vLyBAcmV0dXJuIHtOdW1iZXJ9XHJcbi8vL1xyXG5AZnVuY3Rpb24gdG8tbnVtYmVyKCR2YWx1ZSkge1xyXG4gIEBpZiB0eXBlLW9mKCR2YWx1ZSkgPT0gJ251bWJlcicge1xyXG4gICAgQHJldHVybiAkdmFsdWU7XHJcbiAgfSBAZWxzZSBpZiB0eXBlLW9mKCR2YWx1ZSkgIT0gJ3N0cmluZycge1xyXG4gICAgJF86IGltLWxvZygnVmFsdWUgZm9yIGB0by1udW1iZXJgIHNob3VsZCBiZSBhIG51bWJlciBvciBhIHN0cmluZy4nKTtcclxuICB9XHJcblxyXG4gICRmaXJzdC1jaGFyYWN0ZXI6IHN0ci1zbGljZSgkdmFsdWUsIDEsIDEpO1xyXG4gICRyZXN1bHQ6IDA7XHJcbiAgJGRpZ2l0czogMDtcclxuICAkbWludXM6ICgkZmlyc3QtY2hhcmFjdGVyID09ICctJyk7XHJcbiAgJG51bWJlcnM6ICgnMCc6IDAsICcxJzogMSwgJzInOiAyLCAnMyc6IDMsICc0JzogNCwgJzUnOiA1LCAnNic6IDYsICc3JzogNywgJzgnOiA4LCAnOSc6IDkpO1xyXG5cclxuICAvLyBSZW1vdmUgKy8tIHNpZ24gaWYgcHJlc2VudCBhdCBmaXJzdCBjaGFyYWN0ZXJcclxuICBAaWYgKCRmaXJzdC1jaGFyYWN0ZXIgPT0gJysnIG9yICRmaXJzdC1jaGFyYWN0ZXIgPT0gJy0nKSB7XHJcbiAgICAkdmFsdWU6IHN0ci1zbGljZSgkdmFsdWUsIDIpO1xyXG4gIH1cclxuXHJcbiAgQGZvciAkaSBmcm9tIDEgdGhyb3VnaCBzdHItbGVuZ3RoKCR2YWx1ZSkge1xyXG4gICAgJGNoYXJhY3Rlcjogc3RyLXNsaWNlKCR2YWx1ZSwgJGksICRpKTtcclxuXHJcbiAgICBAaWYgbm90IChpbmRleChtYXAta2V5cygkbnVtYmVycyksICRjaGFyYWN0ZXIpIG9yICRjaGFyYWN0ZXIgPT0gJy4nKSB7XHJcbiAgICAgIEByZXR1cm4gdG8tbGVuZ3RoKGlmKCRtaW51cywgLSRyZXN1bHQsICRyZXN1bHQpLCBzdHItc2xpY2UoJHZhbHVlLCAkaSkpXHJcbiAgICB9XHJcblxyXG4gICAgQGlmICRjaGFyYWN0ZXIgPT0gJy4nIHtcclxuICAgICAgJGRpZ2l0czogMTtcclxuICAgIH0gQGVsc2UgaWYgJGRpZ2l0cyA9PSAwIHtcclxuICAgICAgJHJlc3VsdDogJHJlc3VsdCAqIDEwICsgbWFwLWdldCgkbnVtYmVycywgJGNoYXJhY3Rlcik7XHJcbiAgICB9IEBlbHNlIHtcclxuICAgICAgJGRpZ2l0czogJGRpZ2l0cyAqIDEwO1xyXG4gICAgICAkcmVzdWx0OiAkcmVzdWx0ICsgbWFwLWdldCgkbnVtYmVycywgJGNoYXJhY3RlcikgLyAkZGlnaXRzO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgQHJldHVybiBpZigkbWludXMsIC0kcmVzdWx0LCAkcmVzdWx0KTtcclxufVxyXG5cclxuXHJcbi8vL1xyXG4vLy8gQWRkIGAkdW5pdGAgdG8gYCR2YWx1ZWBcclxuLy8vXHJcbi8vLyBAcGFyYW0ge051bWJlcn0gJHZhbHVlIC0gVmFsdWUgdG8gYWRkIHVuaXQgdG9cclxuLy8vIEBwYXJhbSB7U3RyaW5nfSAkdW5pdCAtIFN0cmluZyByZXByZXNlbnRhdGlvbiBvZiB0aGUgdW5pdFxyXG4vLy9cclxuLy8vIEByZXR1cm4ge051bWJlcn0gLSBgJHZhbHVlYCBleHByZXNzZWQgaW4gYCR1bml0YFxyXG4vLy9cclxuQGZ1bmN0aW9uIHRvLWxlbmd0aCgkdmFsdWUsICR1bml0KSB7XHJcbiAgJHVuaXRzOiAoJ3B4JzogMXB4LCAnY20nOiAxY20sICdtbSc6IDFtbSwgJyUnOiAxJSwgJ2NoJzogMWNoLCAncGMnOiAxcGMsICdpbic6IDFpbiwgJ2VtJzogMWVtLCAncmVtJzogMXJlbSwgJ3B0JzogMXB0LCAnZXgnOiAxZXgsICd2dyc6IDF2dywgJ3ZoJzogMXZoLCAndm1pbic6IDF2bWluLCAndm1heCc6IDF2bWF4KTtcclxuXHJcbiAgQGlmIG5vdCBpbmRleChtYXAta2V5cygkdW5pdHMpLCAkdW5pdCkge1xyXG4gICAgJF86IGltLWxvZygnSW52YWxpZCB1bml0IGAjeyR1bml0fWAuJyk7XHJcbiAgfVxyXG5cclxuICBAcmV0dXJuICR2YWx1ZSAqIG1hcC1nZXQoJHVuaXRzLCAkdW5pdCk7XHJcbn1cclxuXHJcbi8vL1xyXG4vLy8gVGhpcyBtaXhpbiBhaW1zIGF0IHJlZGVmaW5pbmcgdGhlIGNvbmZpZ3VyYXRpb24ganVzdCBmb3IgdGhlIHNjb3BlIG9mXHJcbi8vLyB0aGUgY2FsbC4gSXQgaXMgaGVscGZ1bCB3aGVuIGhhdmluZyBhIGNvbXBvbmVudCBuZWVkaW5nIGFuIGV4dGVuZGVkXHJcbi8vLyBjb25maWd1cmF0aW9uIHN1Y2ggYXMgY3VzdG9tIGJyZWFrcG9pbnRzIChyZWZlcnJlZCB0byBhcyB0d2Vha3BvaW50cylcclxuLy8vIGZvciBpbnN0YW5jZS5cclxuLy8vXHJcbi8vLyBAYXV0aG9yIEtpdHR5IEdpcmF1ZGVsXHJcbi8vL1xyXG4vLy8gQHBhcmFtIHtNYXB9ICR0d2Vha3BvaW50cyBbKCldIC0gTWFwIG9mIHR3ZWFrcG9pbnRzIHRvIGJlIG1lcmdlZCB3aXRoIGAkYnJlYWtwb2ludHNgXHJcbi8vLyBAcGFyYW0ge01hcH0gJHR3ZWFrLW1lZGlhLWV4cHJlc3Npb25zIFsoKV0gLSBNYXAgb2YgdHdlYWtlZCBtZWRpYSBleHByZXNzaW9ucyB0byBiZSBtZXJnZWQgd2l0aCBgJG1lZGlhLWV4cHJlc3Npb25gXHJcbi8vL1xyXG4vLy8gQGV4YW1wbGUgc2NzcyAtIEV4dGVuZCB0aGUgZ2xvYmFsIGJyZWFrcG9pbnRzIHdpdGggYSB0d2Vha3BvaW50XHJcbi8vLyAgQGluY2x1ZGUgbWVkaWEtY29udGV4dCgoJ2N1c3RvbSc6IDY3OHB4KSkge1xyXG4vLy8gICAgLmZvbyB7XHJcbi8vLyAgICAgIEBpbmNsdWRlIG1lZGlhKCc+cGhvbmUnLCAnPD1jdXN0b20nKSB7XHJcbi8vLyAgICAgICAvLyAuLi5cclxuLy8vICAgICAgfVxyXG4vLy8gICAgfVxyXG4vLy8gIH1cclxuLy8vXHJcbi8vLyBAZXhhbXBsZSBzY3NzIC0gRXh0ZW5kIHRoZSBnbG9iYWwgbWVkaWEgZXhwcmVzc2lvbnMgd2l0aCBhIGN1c3RvbSBvbmVcclxuLy8vICBAaW5jbHVkZSBtZWRpYS1jb250ZXh0KCR0d2Vhay1tZWRpYS1leHByZXNzaW9uczogKCdhbGwnOiAnYWxsJykpIHtcclxuLy8vICAgIC5mb28ge1xyXG4vLy8gICAgICBAaW5jbHVkZSBtZWRpYSgnYWxsJywgJz5waG9uZScpIHtcclxuLy8vICAgICAgIC8vIC4uLlxyXG4vLy8gICAgICB9XHJcbi8vLyAgICB9XHJcbi8vLyAgfVxyXG4vLy9cclxuLy8vIEBleGFtcGxlIHNjc3MgLSBFeHRlbmQgYm90aCBjb25maWd1cmF0aW9uIG1hcHNcclxuLy8vICBAaW5jbHVkZSBtZWRpYS1jb250ZXh0KCgnY3VzdG9tJzogNjc4cHgpLCAoJ2FsbCc6ICdhbGwnKSkge1xyXG4vLy8gICAgLmZvbyB7XHJcbi8vLyAgICAgIEBpbmNsdWRlIG1lZGlhKCdhbGwnLCAnPnBob25lJywgJzw9Y3VzdG9tJykge1xyXG4vLy8gICAgICAgLy8gLi4uXHJcbi8vLyAgICAgIH1cclxuLy8vICAgIH1cclxuLy8vICB9XHJcbi8vL1xyXG5AbWl4aW4gbWVkaWEtY29udGV4dCgkdHdlYWtwb2ludHM6ICgpLCAkdHdlYWstbWVkaWEtZXhwcmVzc2lvbnM6ICgpKSB7XHJcbiAgLy8gU2F2ZSBnbG9iYWwgY29uZmlndXJhdGlvblxyXG4gICRnbG9iYWwtYnJlYWtwb2ludHM6ICRicmVha3BvaW50cztcclxuICAkZ2xvYmFsLW1lZGlhLWV4cHJlc3Npb25zOiAkbWVkaWEtZXhwcmVzc2lvbnM7XHJcblxyXG4gIC8vIFVwZGF0ZSBnbG9iYWwgY29uZmlndXJhdGlvblxyXG4gICRicmVha3BvaW50czogbWFwLW1lcmdlKCRicmVha3BvaW50cywgJHR3ZWFrcG9pbnRzKSAhZ2xvYmFsO1xyXG4gICRtZWRpYS1leHByZXNzaW9uczogbWFwLW1lcmdlKCRtZWRpYS1leHByZXNzaW9ucywgJHR3ZWFrLW1lZGlhLWV4cHJlc3Npb25zKSAhZ2xvYmFsO1xyXG5cclxuICBAY29udGVudDtcclxuXHJcbiAgLy8gUmVzdG9yZSBnbG9iYWwgY29uZmlndXJhdGlvblxyXG4gICRicmVha3BvaW50czogJGdsb2JhbC1icmVha3BvaW50cyAhZ2xvYmFsO1xyXG4gICRtZWRpYS1leHByZXNzaW9uczogJGdsb2JhbC1tZWRpYS1leHByZXNzaW9ucyAhZ2xvYmFsO1xyXG59XHJcblxyXG4vLy8vXHJcbi8vLyBpbmNsdWRlLW1lZGlhIHB1YmxpYyBleHBvc2VkIEFQSVxyXG4vLy8gQGF1dGhvciBFZHVhcmRvIEJvdWNhc1xyXG4vLy8gQGFjY2VzcyBwdWJsaWNcclxuLy8vL1xyXG5cclxuXHJcbi8vL1xyXG4vLy8gR2VuZXJhdGVzIGEgbWVkaWEgcXVlcnkgYmFzZWQgb24gYSBsaXN0IG9mIGNvbmRpdGlvbnNcclxuLy8vXHJcbi8vLyBAcGFyYW0ge0FyZ2xpc3R9ICAgJGNvbmRpdGlvbnMgIC0gTWVkaWEgcXVlcnkgY29uZGl0aW9uc1xyXG4vLy9cclxuLy8vIEBleGFtcGxlIHNjc3MgLSBXaXRoIGEgc2luZ2xlIHNldCBicmVha3BvaW50XHJcbi8vLyAgQGluY2x1ZGUgbWVkaWEoJz5waG9uZScpIHsgfVxyXG4vLy9cclxuLy8vIEBleGFtcGxlIHNjc3MgLSBXaXRoIHR3byBzZXQgYnJlYWtwb2ludHNcclxuLy8vICBAaW5jbHVkZSBtZWRpYSgnPnBob25lJywgJzw9dGFibGV0JykgeyB9XHJcbi8vL1xyXG4vLy8gQGV4YW1wbGUgc2NzcyAtIFdpdGggY3VzdG9tIHZhbHVlc1xyXG4vLy8gIEBpbmNsdWRlIG1lZGlhKCc+PTM1OHB4JywgJzw4NTBweCcpIHsgfVxyXG4vLy9cclxuLy8vIEBleGFtcGxlIHNjc3MgLSBXaXRoIHNldCBicmVha3BvaW50cyB3aXRoIGN1c3RvbSB2YWx1ZXNcclxuLy8vICBAaW5jbHVkZSBtZWRpYSgnPmRlc2t0b3AnLCAnPD0xMzUwcHgnKSB7IH1cclxuLy8vXHJcbi8vLyBAZXhhbXBsZSBzY3NzIC0gV2l0aCBhIHN0YXRpYyBleHByZXNzaW9uXHJcbi8vLyAgQGluY2x1ZGUgbWVkaWEoJ3JldGluYTJ4JykgeyB9XHJcbi8vL1xyXG4vLy8gQGV4YW1wbGUgc2NzcyAtIE1peGluZyBldmVyeXRoaW5nXHJcbi8vLyAgQGluY2x1ZGUgbWVkaWEoJz49MzUwcHgnLCAnPHRhYmxldCcsICdyZXRpbmEzeCcpIHsgfVxyXG4vLy9cclxuQG1peGluIG1lZGlhKCRjb25kaXRpb25zLi4uKSB7XHJcbiAgQGlmICgkaW0tbWVkaWEtc3VwcG9ydCBhbmQgbGVuZ3RoKCRjb25kaXRpb25zKSA9PSAwKSBvclxyXG4gICAgICAobm90ICRpbS1tZWRpYS1zdXBwb3J0IGFuZCBpbS1pbnRlcmNlcHRzLXN0YXRpYy1icmVha3BvaW50KCRjb25kaXRpb25zLi4uKSkge1xyXG4gICAgQGNvbnRlbnQ7XHJcbiAgfSBAZWxzZSBpZiAoJGltLW1lZGlhLXN1cHBvcnQgYW5kIGxlbmd0aCgkY29uZGl0aW9ucykgPiAwKSB7XHJcbiAgICBAbWVkaWEgI3t1bnF1b3RlKHBhcnNlLWV4cHJlc3Npb24obnRoKCRjb25kaXRpb25zLCAxKSkpfSB7XHJcbiAgICAgIC8vIFJlY3Vyc2l2ZSBjYWxsXHJcbiAgICAgIEBpbmNsdWRlIG1lZGlhKHNsaWNlKCRjb25kaXRpb25zLCAyKS4uLikge1xyXG4gICAgICAgIEBjb250ZW50O1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcbiIsIi8qKlxuICAqIEhUTUwgRUxFTUVOVCBTVFlMRVNcbiAgKlxuICAqIFN0eWxlIGRlZmluaXRpb25zIGZvciBnbG9iYWwgZWxlbWVudCBzZWxlY3RvcnMuXG4gICovXG5cblxuKiB7XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7IC8vIENvbnNpc3RlbnQgYm94LXNpemluZyBmb3IgYWxsIGVsZW1lbnRzXG59XG5cbmh0bWwge1xuICBoZWlnaHQ6IDEwMCU7IC8vIEZvciBzdGlja3kgZm9vdGVyXG4gIGxpbmUtaGVpZ2h0OiAxLjc7IC8vIFNldCBkZWZhdWx0IGxpbmUgaGVpZ2h0XG4gIGZvbnQtc2l6ZTogNjIuNSU7IC8vIDYyLjUlIG9mIDE2cHggYnJvd3NlciBmb250IHNpemUgaXMgMTBweFxufVxuXG5ib2R5IHtcbiAgbWluLWhlaWdodDogMTAwJTsgLy8gRm9yIHN0aWNreSBmb290ZXJcbiAgbWFyZ2luOiAwOyAvLyBNYWtlIHN1cmUgYm9keSBlbGVtZW50IGlzIGVkZ2UtdG8tZWRnZVxuICBkaXNwbGF5OiBncmlkOyAvLyBGb3Igc3RpY2t5IGZvb3RlclxuICBncmlkLXRlbXBsYXRlLXJvd3M6IGF1dG8gMWZyIGF1dG87IC8vIEZvciBzdGlja3kgZm9vdGVyXG4gIGJhY2tncm91bmQtY29sb3I6ICRib2R5Q29sb3I7XG4gIC8vZm9udC1mYW1pbHk6ICdNb250c2VycmF0Jywgc2Fucy1zZXJpZjtcbiAgZm9udC1mYW1pbHk6ICdMYXRvJywgc2Fucy1zZXJpZjsgLy8nTWVycml3ZWF0aGVyJywgc2VyaWY7XG4gIGZvbnQtc2l6ZTogMS42cmVtOyAvLyBSZXNldCBvdmVyYWxsIFwicm9vdFwiIGZvbnQtc2l6ZSBmb3IgMTZweCBzdGFuZGFyZCAocmVsYXRpdmUgdG8gNjIuNSUgYWN0dWFsIHJvb3Qgc2l6ZSBkZWNsYXJlZCBhYm92ZSlcbiAgY29sb3I6ICRmb250Q29sb3I7XG59XG5cbmgxLCBoMiwgaDMsIGg0LCBoNSwgaDYsIC5oMSwgLmgyLCAuaDMsIC5oNCwgLmg1LCAuaDYge1xuICBtYXJnaW4tdG9wOiAzcmVtO1xuICBkaXNwbGF5OiBibG9jaztcbiAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgbGluZS1oZWlnaHQ6IDE7XG4gIGZvbnQtZmFtaWx5OiAnTWVycml3ZWF0aGVyJywgc2VyaWY7XG4gIGNvbG9yOiAkYnJhbmRDb2xvclByaW1hcnk7XG59XG5cbi8vIChTZWUgbWl4aW5zKTpcbmgxIHtcbiAgQGluY2x1ZGUgaDE7XG4gIGZvbnQtZmFtaWx5OiAnTGF0bycsIHNhbnMtc2VyaWY7XG59XG5cbmgyIHtcbiAgQGluY2x1ZGUgaDI7XG59XG5cbmgzIHtcbiAgQGluY2x1ZGUgaDM7XG59XG5cbmg0IHtcbiAgQGluY2x1ZGUgaDQ7XG59XG5cbmg1IHtcbiAgQGluY2x1ZGUgaDU7XG59XG5cbmg2IHtcbiAgQGluY2x1ZGUgaDY7XG59XG5cbnAge1xuICBtYXJnaW46IDAgMCAxLjVyZW0gMDtcbiAgZm9udC13ZWlnaHQ6IDQwMDtcbn1cblxuYSB7XG4gIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xuICBjb2xvcjogJGxpbmtDb2xvcjtcblxuICAmOmxpbmsge1xuXG4gIH1cblxuICAmOmhvdmVyIHtcblxuICB9XG5cbiAgJjphY3RpdmUge1xuXG4gIH1cblxuICAmOnZpc2l0ZWQge1xuXG4gIH1cblxuICAmLmJ1dHRvbiB7XG4gICAgLy90ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gIH1cbn1cblxuOmZvY3VzIHtcbiAgLy9vdXRsaW5lOiAzcHggc29saWQgJG9yYW5nZTtcbn1cblxudWwsIG9sIHtcbiAgbWFyZ2luOiAxLjVyZW0gMDtcbiAgcGFkZGluZzogMDtcbiAgbGlzdC1zdHlsZS1wb3NpdGlvbjogaW5zaWRlO1xufVxuXG5pbWcge1xuICBkaXNwbGF5OiBibG9jaztcbiAgd2lkdGg6IDEwMCU7XG59XG5cbi8qIEJlZ2luIGJ1dHRvbiBzdHlsZXMgKi9cbmJ1dHRvbiB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBib3JkZXI6IG5vbmU7XG4gIHBhZGRpbmc6IDA7XG4gIG1hcmdpbjogMDtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICBiYWNrZ3JvdW5kOiBub25lO1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lO1xuICAtbW96LWFwcGVhcmFuY2U6IG5vbmU7XG59XG5cbmJ1dHRvbjpob3ZlcixcbmJ1dHRvbjpmb2N1cyB7XG5cbn1cblxuYnV0dG9uOmZvY3VzIHtcbiAgLy9vdXRsaW5lOiAxcHggc29saWQgI2ZmZjtcbiAgLy9vdXRsaW5lLW9mZnNldDogLTRweDtcbn1cblxuYnV0dG9uOmFjdGl2ZSB7XG4gIC8vdHJhbnNmb3JtOiBzY2FsZSgwLjk5KTtcbn1cbi8qIEVuZCBidXR0b24gc3R5bGVzICovXG5cbmJsb2NrcXVvdGUge1xuICBib3JkZXItbGVmdDogNXB4IHNvbGlkICRibGFjaztcbiAgbWFyZ2luOiAxLjVlbSAxMHB4O1xuICBwYWRkaW5nOiAwLjVlbSAzMHB4O1xuICBxdW90ZXM6IFwiXFwyMDFDXCI7IC8vXCJcXDIwMURcIlwiXFwyMDE4XCJcIlxcMjAxOVwiO1xuXG4gICY6YmVmb3JlIHtcbiAgICBjb2xvcjogI2NjYztcbiAgICBjb250ZW50OiBvcGVuLXF1b3RlO1xuICAgIGZvbnQtc2l6ZTogNGVtO1xuICAgIGxpbmUtaGVpZ2h0OiAwLjFlbTtcbiAgICBtYXJnaW4tcmlnaHQ6IDAuMjVlbTtcbiAgICB2ZXJ0aWNhbC1hbGlnbjogLTAuNGVtO1xuICB9XG5cbiAgcCB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gIH1cblxuICBwOmZpcnN0LW9mLXR5cGUsIHA6bnRoLW9mLXR5cGUoMikge1xuICAgIGZvbnQtc2l6ZTogMS4zcmVtO1xuICB9XG59XG4iLCIvKipcbiAgKiBIRUFERVIgU1RZTEVTXG4gICovXG5cbi5oZWFkZXItd3JhcCB7IC8vIEVkZ2UtdG8tZWRnZSB3cmFwIGZvciBldmVyeXRoaW5nIGluIHRoZSBoZWFkZXIuIDFzdCBncmlkIGl0ZW0gaW4gPGJvZHk+IGdyaWQgY29udGFpbmVyLlxuICBAaW5jbHVkZSB3cmFwO1xuICBncmlkLXJvdy1zdGFydDogMTsgLy8gRm9yIHN0aWNreSBmb290ZXJcbiAgZ3JpZC1yb3ctZW5kOiAyOyAvLyBGb3Igc3RpY2t5IGZvb3RlclxuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHRvcDogMDtcbiAgei1pbmRleDogOTk5OTsgLy8gUG9zaXRpb24gaW4gZnJvbnQgb2YgZXZlcnl0aGluZyBlbHNlXG4gIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMjAwbXMsIGJvcmRlciAyMDBtcywgYm94LXNoYWRvdyAyMDBtcztcbiAgYmFja2dyb3VuZC1jb2xvcjogJGJyYW5kQ29sb3JQcmltYXJ5O1xuICAvL2JhY2tncm91bmQtc2l6ZTogY292ZXI7XG5cbiAgJi5iZy12aXNpYmxlIHtcbiAgICAvL2JhY2tncm91bmQtY29sb3I6ICRicmFuZENvbG9yUHJpbWFyeTtcbiAgfVxufVxuICAuaGVhZGVyLW92ZXJsYXkgeyAvLyBUcmFuc2x1Y2VudCwgXCJkaW1tZXJcIiBsYXllciBvdmVyIGhlYWRlciBiYWNrZ3JvdW5kLWltYWdlLlxuICAgIHdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogMTAwJTtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAwO1xuICAgIGxlZnQ6IDA7XG4gICAgei1pbmRleDogMjtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYnJhbmRDb2xvclByaW1hcnk7XG4gICAgb3BhY2l0eTogMC43O1xuXG4gICAgJi5iZy12aXNpYmxlIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICRicmFuZENvbG9yUHJpbWFyeTtcbiAgICAgIG9wYWNpdHk6IDE7XG4gICAgfVxuICB9XG5cbiAgLnRvcC1iYXItYmcgeyAvLyBFZGdlLXRvLWVkZ2UgYmFja2dyb3VuZCBsYXllciBmb3IgdGhlIHRvcC1uYXYgYmFyLlxuICAgIHdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogJHRvcEJhckhlaWdodDtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAwO1xuICAgIGxlZnQ6IDA7XG4gICAgei1pbmRleDogNjtcbiAgICBkaXNwbGF5OiBub25lO1xuICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMjAwbXM7XG5cbiAgICAmLmJnLXZpc2libGUge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGJyYW5kQ29sb3JQcmltYXJ5O1xuICAgIH1cblxuICAgIEBpbmNsdWRlIG1lZGlhKFwiPj10YWJsZXRcIikge1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgfVxuICB9XG5cbiAgLmhlYWRlciB7IC8vIFdpZHRoLWxpbWl0ZWQgY29udGFpbmVyIGZvciB0aGUgaGVhZGVyLiBUaGlzIGlzIHRoZSA8aGVhZGVyPiBlbGVtZW50IGl0c2VsZi5cbiAgICAvL0BpbmNsdWRlIGlubmVyLXdyYXA7XG4gICAgaGVpZ2h0OiAkaGVhZGVySGVpZ2h0TW9iaWxlO1xuICAgIHBhZGRpbmctdG9wOiAwO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBkaXNwbGF5OiBncmlkO1xuICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogMWZyOyAvLzFmciAxMDBweDtcbiAgICBncmlkLXRlbXBsYXRlLXJvd3M6ICRoZWFkZXJIZWlnaHRNb2JpbGUgYXV0bztcbiAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDIwMG1zO1xuXG4gICAgJi5iZy12aXNpYmxlIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICRicmFuZENvbG9yUHJpbWFyeTtcbiAgICB9XG5cbiAgICBAaW5jbHVkZSBtZWRpYShcIj49dGFibGV0XCIpIHtcbiAgICAgIGhlaWdodDogY2FsYygkaGVhZGVySGVpZ2h0RGVza3RvcCArICR0b3BCYXJIZWlnaHQpO1xuICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiAxZnI7IC8vMWZyIDEwMHB4O1xuICAgICAgZ3JpZC10ZW1wbGF0ZS1yb3dzOiAxMjBweCA3MHB4O1xuICAgIH1cbiAgfVxuICAgIC5oZWFkZXItYnJhbmQgeyAvLyBDb250YWluZXIgZm9yIGxvZ28sIHRleHQgbG9nbywgdGFnbGluZS4gQ292ZXJzIGVudGlyZSBoZWFkZXIgYXJlYSAoYmVoaW5kIG5hdnMpXG4gICAgICBAaW5jbHVkZSBwYWQtaG9yaXpvbnRhbDtcbiAgICAgIG1hcmdpbi10b3A6IDA7XG4gICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgICAgcGFkZGluZy1yaWdodDogMDsgLy8gTmVnYXRlIHJpZ2h0IHBhZGRpbmcgZnJvbSAnY29udGFpbmVyJyBtaXhpbiBeXl5cbiAgICAgIGhlaWdodDogJGhlYWRlckhlaWdodE1vYmlsZTtcbiAgICAgIGdyaWQtY29sdW1uOiAxIC8gc3BhbiAxO1xuICAgICAgZ3JpZC1yb3c6IDEgLyBzcGFuIDE7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICB6LWluZGV4OiA1O1xuXG4gICAgICBAaW5jbHVkZSBtZWRpYShcIj49dGFibGV0XCIpIHtcbiAgICAgICAgaGVpZ2h0OiBjYWxjKCRoZWFkZXJIZWlnaHREZXNrdG9wICsgJHRvcEJhckhlaWdodCk7XG4gICAgICAgIHBhZGRpbmctdG9wOiBjYWxjKCR0b3BCYXJIZWlnaHQgKiAwLjc1KTtcbiAgICAgICAgLy9tYXJnaW4tdG9wOiBjYWxjKCR0b3BCYXJIZWlnaHQgLyAyKTtcbiAgICAgICAgLy9tYXJnaW4tYm90dG9tOiBjYWxjKCRtYWluTmF2SGVpZ2h0IC8gMik7XG4gICAgICB9XG5cbiAgICAgIGEge1xuICAgICAgICBoZWlnaHQ6ICRoZWFkZXJIZWlnaHRNb2JpbGU7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XG5cbiAgICAgICAgQGluY2x1ZGUgbWVkaWEoXCI+PXRhYmxldFwiKSB7XG4gICAgICAgICAgaGVpZ2h0OiBjYWxjKCRoZWFkZXJIZWlnaHREZXNrdG9wIC0gJG1haW5OYXZIZWlnaHQpO1xuICAgICAgICAgIGhlaWdodDogY2FsYygkaGVhZGVySGVpZ2h0RGVza3RvcCAtICgkdG9wQmFySGVpZ2h0IC8gMikpO1xuICAgICAgICB9XG5cbiAgICAgICAgLmxvZ28taW1hZ2Uge1xuICAgICAgICAgIHdpZHRoOiBhdXRvO1xuICAgICAgICAgIGhlaWdodDogY2FsYygkaGVhZGVySGVpZ2h0TW9iaWxlIC0gNTVweCk7XG4gICAgICAgICAgbWFyZ2luLXJpZ2h0OiAxNXB4O1xuICAgICAgICAgIHBhZGRpbmc6IDAgMCAwIDEwcHg7XG4gICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuXG4gICAgICAgICAgQGluY2x1ZGUgbWVkaWEoXCI+PXRhYmxldFwiKSB7XG4gICAgICAgICAgICBoZWlnaHQ6IGNhbGMoJGhlYWRlckhlaWdodERlc2t0b3AgLSAoJHRvcEJhckhlaWdodCAvIDIpKTsgLy9jYWxjKCRoZWFkZXJIZWlnaHREZXNrdG9wIC0gJG1haW5OYXZIZWlnaHQgLSAyMHB4KTtcbiAgICAgICAgICAgIHBhZGRpbmc6IDVweCAwO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC5sb2dvLXRleHQge1xuICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgIGNvbG9yOiAkYnJhbmRDb2xvckNvbnRyYXN0O1xuICAgICAgICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gICAgICAgICAgcGFkZGluZy1sZWZ0OiAwO1xuICAgICAgICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xuXG4gICAgICAgICAgQGluY2x1ZGUgbWVkaWEoXCI+PXBob25lLWxhcmdlXCIpIHtcbiAgICAgICAgICAgIHBhZGRpbmctbGVmdDogMTBweDtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMXJlbTtcbiAgICAgICAgICB9XG5cbiAgICAgICAgICAubG9nby10ZXh0LXRpdGxlIHtcbiAgICAgICAgICAgIG1hcmdpbjogMCBhdXRvO1xuICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICBsaW5lLWhlaWdodDogMC45O1xuICAgICAgICAgICAgZm9udC1zaXplOiAxcmVtO1xuXG4gICAgICAgICAgICBzcGFuLnJlZ2lzdGVyZWQge1xuICAgICAgICAgICAgICBmb250LXNpemU6IDAuN3JlbTtcbiAgICAgICAgICAgICAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgICAgICAgICAgICAgdmVydGljYWwtYWxpZ246IHN1cGVyO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBAaW5jbHVkZSBtZWRpYShcIj49cGhvbmUtbGFyZ2VcIikge1xuICAgICAgICAgICAgICBmb250LXNpemU6IDEuNHJlbTtcblxuICAgICAgICAgICAgICBzcGFuLnJlZ2lzdGVyZWQge1xuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMC45cmVtO1xuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgLmxvZ28tdGV4dC10YWdsaW5lIHtcbiAgICAgICAgICAgIC8vbWFyZ2luLXRvcDogOHB4O1xuICAgICAgICAgICAgbWFyZ2luOiAxMHB4IGF1dG8gMCBhdXRvO1xuICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDAuODtcbiAgICAgICAgICAgIC8vZGlzcGxheTogbm9uZTtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMC42cmVtO1xuICAgICAgICAgICAgZm9udC13ZWlnaHQ6IGxpZ2h0ZXI7XG4gICAgICAgICAgICBmb250LXN0eWxlOiBpdGFsaWM7XG4gICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgIGNvbG9yOiAkYnJhbmRDb2xvckNvbnRyYXN0O1xuXG4gICAgICAgICAgICBAaW5jbHVkZSBtZWRpYShcIj49cGhvbmUtbGFyZ2VcIikge1xuICAgICAgICAgICAgICAvL2Rpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgICBmb250LXNpemU6IDEuMXJlbTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICAuaGVhZGVyLW5hdiB7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIGhlaWdodDogMDtcbiAgICAgIG9wYWNpdHk6IDA7XG4gICAgICBtaW4taGVpZ2h0OiBhdXRvO1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgdG9wOiAkaGVhZGVySGVpZ2h0TW9iaWxlO1xuICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgIG92ZXJmbG93OiBoaWRkZW47XG5cbiAgICAgICYuYmctdmlzaWJsZSB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRicmFuZENvbG9yUHJpbWFyeTtcbiAgICAgIH1cblxuICAgICAgJi52aXNpYmxlIHtcbiAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgcG9zaXRpb246IGZpeGVkO1xuICAgICAgICBvcGFjaXR5OiAxO1xuICAgICAgfVxuXG4gICAgICBAaW5jbHVkZSBtZWRpYShcIj49dGFibGV0XCIpIHtcbiAgICAgICAgaGVpZ2h0OiBhdXRvO1xuICAgICAgICBtaW4taGVpZ2h0OiBjYWxjKCRoZWFkZXJIZWlnaHREZXNrdG9wICsgJHRvcEJhckhlaWdodCk7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICB0b3A6IDA7XG4gICAgICAgIG92ZXJmbG93OiB2aXNpYmxlO1xuICAgICAgICBvcGFjaXR5OiAxICFpbXBvcnRhbnQ7XG5cbiAgICAgICAgJi52aXNpYmxlIHtcbiAgICAgICAgICBoZWlnaHQ6IGF1dG87XG4gICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgIG9wYWNpdHk6IDE7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gICAgICAuaGVhZGVyLW5hdi1tYWluIHtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIHBhZGRpbmctcmlnaHQ6IDA7XG4gICAgICAgIHBhZGRpbmctbGVmdDogMDtcbiAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgICBwb3NpdGlvbjogc3RhdGljO1xuICAgICAgICB0b3A6IGF1dG87XG4gICAgICAgIHJpZ2h0OiBhdXRvO1xuICAgICAgICB6LWluZGV4OiA2O1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcblxuICAgICAgICBAaW5jbHVkZSBtZWRpYShcIj49dGFibGV0XCIpIHtcbiAgICAgICAgICBAaW5jbHVkZSBwYWQtaG9yaXpvbnRhbDtcbiAgICAgICAgICB3aWR0aDogNTAlO1xuICAgICAgICAgIC8vcGFkZGluZy1sZWZ0OiAwOyAvLyBOZWdhdGUgbGVmdCBwYWRkaW5nIGZyb20gJ2NvbnRhaW5lcicgbWl4aW4gXl5eXG4gICAgICAgICAgaGVpZ2h0OiAkbWFpbk5hdkhlaWdodDtcbiAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgdG9wOiA1MCU7XG4gICAgICAgICAgLy9ib3R0b206IGF1dG87IC8vMDtcbiAgICAgICAgICByaWdodDogMDtcbiAgICAgICAgICB0cmFuc2xhdGU6IDAgY2FsYygtMSAqICgkbWFpbk5hdkhlaWdodCAvIDIpKTtcbiAgICAgICAgfVxuXG4gICAgICAgIHVsIHtcbiAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICBoZWlnaHQ6IGF1dG87XG4gICAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICAgIGxpc3Qtc3R5bGU6IG5vbmU7XG4gICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoMCwgLTQ1cHgpO1xuICAgICAgICAgIC8vY29sdW1uLWdhcDogYXV0bztcbiAgICAgICAgICAvL2JvcmRlci10b3A6IDFweCBzb2xpZCAkZ3JheTtcblxuICAgICAgICAgIEBpbmNsdWRlIG1lZGlhKFwiPj10YWJsZXRcIikge1xuICAgICAgICAgICAgd2lkdGg6IGF1dG87XG4gICAgICAgICAgICBoZWlnaHQ6ICRtYWluTmF2SGVpZ2h0O1xuICAgICAgICAgICAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgICAgICAgICAgIC8vY29sdW1uLWdhcDogMTBweDtcbiAgICAgICAgICAgIGJvcmRlci10b3A6IHVuc2V0O1xuICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDtcbiAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKDAsIDApO1xuICAgICAgICAgIH1cblxuICAgICAgICAgIGxpIHtcbiAgICAgICAgICAgIC8vQGluY2x1ZGUgcGFkLWxlZnQ7XG4gICAgICAgICAgICB3aWR0aDogYXV0bztcbiAgICAgICAgICAgIGhlaWdodDogYXV0bztcbiAgICAgICAgICAgIGxpc3Qtc3R5bGU6IG5vbmU7XG4gICAgICAgICAgICBib3JkZXItdG9wOiB1bnNldDtcbiAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgICAgIHotaW5kZXg6IDE7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYnJhbmRDb2xvclByaW1hcnk7XG5cbiAgICAgICAgICAgICY6aG92ZXIgPiB1bCB7XG5cbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgQGluY2x1ZGUgbWVkaWEoXCI+PXRhYmxldFwiKSB7XG4gICAgICAgICAgICAgIHdpZHRoOiBhdXRvO1xuICAgICAgICAgICAgICBoZWlnaHQ6IGF1dG87XG4gICAgICAgICAgICAgIHBhZGRpbmc6IDAgMTVweDtcbiAgICAgICAgICAgICAgbWluLWhlaWdodDogJG1haW5OYXZIZWlnaHQ7XG4gICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHVuc2V0O1xuICAgICAgICAgICAgICBib3JkZXItYm90dG9tOiB1bnNldDtcbiAgICAgICAgICAgICAgdHJhbnNpdGlvbjogZGlzcGxheSAzMDBtcztcblxuICAgICAgICAgICAgICAmOmhvdmVyID4gdWwge1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgJjpsYXN0LWNoaWxkIHtcbiAgICAgICAgICAgICAgICBwYWRkaW5nLXJpZ2h0OiAwO1xuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIGEge1xuICAgICAgICAgICAgICAvL0BpbmNsdWRlIHBhZC1sZWZ0O1xuICAgICAgICAgICAgICB3aWR0aDogYXV0bzsgLy8xMDAlO1xuICAgICAgICAgICAgICBoZWlnaHQ6ICR0b3BCYXJIZWlnaHQ7XG4gICAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICAgIGZsZXgtZ3JvdzogMDtcbiAgICAgICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgICAgICAgLy9ib3JkZXItYm90dG9tOiAxcHggc29saWQgJGdyYXk7XG4gICAgICAgICAgICAgIC8vdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICAgICAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgICAgICAgICAgICBmb250LXdlaWdodDogbm9ybWFsO1xuICAgICAgICAgICAgICBmb250LXNpemU6IDEuNHJlbTtcbiAgICAgICAgICAgICAgY29sb3I6ICR3aGl0ZTtcbiAgICAgICAgICAgICAgLy9mb250LWZhbWlseTogJ0xhdG8nLCBzYW5zLXNlcmlmO1xuXG4gICAgICAgICAgICAgICY6OmFmdGVyIHtcbiAgICAgICAgICAgICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgICAgICAgICAgIGhlaWdodDogMXB4O1xuICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRicmFuZENvbG9yQ29udHJhc3Q7XG4gICAgICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgICAgIGJvdHRvbTogMjBweDtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuXG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgbWVkaWEoXCI+PXRhYmxldFwiKSB7XG4gICAgICAgICAgICAgICAgICBib3R0b206IDlweDtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICAgICAgICAvL2NvbG9yOiBkYXJrZW4oJGJyYW5kQ29sb3JDb250cmFzdCwgMjAlKTtcbiAgICAgICAgICAgICAgICAvL2JvcmRlci1ib3R0b206IDJweCBzb2xpZCAkd2hpdGU7XG5cbiAgICAgICAgICAgICAgICAmOjphZnRlciB7XG4gICAgICAgICAgICAgICAgICAvL2Rpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgIEBpbmNsdWRlIG1lZGlhKFwiPj10YWJsZXRcIikge1xuICAgICAgICAgICAgICAgIHdpZHRoOiBhdXRvO1xuICAgICAgICAgICAgICAgIGhlaWdodDogJG1haW5OYXZIZWlnaHQ7XG4gICAgICAgICAgICAgICAgLy8gcGFkZGluZzogMCAxMHB4O1xuICAgICAgICAgICAgICAgIGJvcmRlci1ib3R0b206IHVuc2V0O1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgJi5jdXJyZW50X3BhZ2VfaXRlbSB7XG5cbiAgICAgICAgICAgICAgYSB7XG5cbiAgICAgICAgICAgICAgICAmOjphZnRlciB7XG4gICAgICAgICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgLm5hdi1jaGV2cm9uIHtcbiAgICAgICAgICAgICAgd2lkdGg6IDQ1cHg7XG4gICAgICAgICAgICAgIGhlaWdodDogNDVweDtcbiAgICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgICByaWdodDogMDtcbiAgICAgICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgICAgICAgICAgIHotaW5kZXg6IDI7XG4gICAgICAgICAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICAgICAgICAgICAgY29sb3I6ICRicmFuZENvbG9yQ29udHJhc3Q7XG5cbiAgICAgICAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgICAgICAgY29sb3I6IGRhcmtlbigkYnJhbmRDb2xvckNvbnRyYXN0LCAyMCUpO1xuICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgQGluY2x1ZGUgbWVkaWEoXCI+PXRhYmxldFwiKSB7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICB1bCB7IC8vIHN1Yi1uYXZcbiAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICAgIGhlaWdodDogYXV0bztcbiAgICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICAgICAgICB0b3A6IDA7XG4gICAgICAgICAgICAgIHJpZ2h0OiAwO1xuICAgICAgICAgICAgICBsZWZ0OiBhdXRvO1xuICAgICAgICAgICAgICBsaXN0LXN0eWxlOiBub25lO1xuICAgICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuXG4gICAgICAgICAgICAgIEBpbmNsdWRlIG1lZGlhKFwiPj10YWJsZXRcIikge1xuICAgICAgICAgICAgICAgIG1pbi13aWR0aDogMzIwcHg7XG4gICAgICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgICAgIHRvcDogJG1haW5OYXZIZWlnaHQ7XG4gICAgICAgICAgICAgICAgbGVmdDogMDtcbiAgICAgICAgICAgICAgICByaWdodDogYXV0bztcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYnJhbmRDb2xvclByaW1hcnk7XG4gICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICBsaSB7IC8vIHN1Yi1uYXZcbiAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgICAgICBtaW4taGVpZ2h0OiAkdG9wQmFySGVpZ2h0O1xuICAgICAgICAgICAgICAgIGhlaWdodDogYXV0bztcbiAgICAgICAgICAgICAgICBsaXN0LXN0eWxlOiBub25lO1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuXG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgbWVkaWEoXCI+PXRhYmxldFwiKSB7XG4gICAgICAgICAgICAgICAgICBoZWlnaHQ6ICR0b3BCYXJIZWlnaHQ7XG4gICAgICAgICAgICAgICAgICBib3JkZXItdG9wOiAxcHggc29saWQgdHJhbnNwYXJlbnRpemUoJGRhcmtlckdyYXksIDAuOCk7XG5cbiAgICAgICAgICAgICAgICAgICY6aG92ZXIgPiB1bCB7XG4gICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgYSB7IC8vIHN1Yi1uYXZcbiAgICAgICAgICAgICAgICAgIHBhZGRpbmctbGVmdDogM2VtO1xuICAgICAgICAgICAgICAgICAgLy9AaW5jbHVkZSBwYWQtaG9yaXpvbnRhbDtcbiAgICAgICAgICAgICAgICAgIC8vd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICAgICAgICAvL2hlaWdodDogNDVweDtcbiAgICAgICAgICAgICAgICAgIC8vbWFyZ2luOiAwO1xuICAgICAgICAgICAgICAgICAgLy9wYWRkaW5nLWxlZnQ6IDEwcHg7XG4gICAgICAgICAgICAgICAgICAvL3BhZGRpbmc6IDAgMCAwIDMwcHg7XG4gICAgICAgICAgICAgICAgICAvL2Rpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgICAgICAgICAvL2FsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgICAgICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgICAgICAgICAgICAgICAvL2NvbG9yOiBncmF5O1xuXG4gICAgICAgICAgICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICAgICAgICAgICAgLy90ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcbiAgICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgbWVkaWEoXCI+PXRhYmxldFwiKSB7XG4gICAgICAgICAgICAgICAgICAgIGhlaWdodDogJHRvcEJhckhlaWdodDtcbiAgICAgICAgICAgICAgICAgICAgLy9tYXJnaW46IDA7XG4gICAgICAgICAgICAgICAgICAgIHBhZGRpbmctcmlnaHQ6IDE1cHg7XG4gICAgICAgICAgICAgICAgICAgIHBhZGRpbmctbGVmdDogMTVweDtcbiAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICB1bCB7IC8vIHN1Yi1zdWItbmF2XG5cbiAgICAgICAgICAgICAgICAgIGxpIHsgLy8gc3ViLXN1Yi1uYXZcblxuICAgICAgICAgICAgICAgICAgICBhIHsgLy8gc3ViLXN1Yi1uYXZcbiAgICAgICAgICAgICAgICAgICAgICBwYWRkaW5nLWxlZnQ6IDQuNWVtO1xuICAgICAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAgICAgdWwgeyAvLyBzdWItc3ViLXN1Yi1uYXZcblxuICAgICAgICAgICAgICAgICAgICAgIGxpIHsgLy8gc3ViLXN1Yi1zdWItbmF2XG5cbiAgICAgICAgICAgICAgICAgICAgICAgIGEgeyAvLyBzdWItc3ViLXN1Yi1uYXZcbiAgICAgICAgICAgICAgICAgICAgICAgICAgcGFkZGluZy1sZWZ0OiA2ZW07XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIC8qXG4gICAgICAuaGVhZGVyLW5hdi10b3Age1xuICAgICAgICBwYWRkaW5nLXJpZ2h0OiAwO1xuICAgICAgICBwYWRkaW5nLWxlZnQ6IDA7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBoZWlnaHQ6IGF1dG87XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgdG9wOiBhdXRvO1xuICAgICAgICBsZWZ0OiBhdXRvO1xuICAgICAgICB6LWluZGV4OiA2O1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgY2xlYXI6IGJvdGg7XG5cbiAgICAgICAgQGluY2x1ZGUgbWVkaWEoXCI+PXRhYmxldFwiKSB7XG4gICAgICAgICAgQGluY2x1ZGUgcGFkLWhvcml6b250YWw7XG4gICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgaGVpZ2h0OiAkdG9wQmFySGVpZ2h0O1xuICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICB0b3A6IDA7XG4gICAgICAgICAgcmlnaHQ6IDA7XG4gICAgICAgICAgei1pbmRleDogNjtcbiAgICAgICAgfVxuXG4gICAgICAgIHVsIHsgLy8gdG9wIG5hdlxuICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgIHBhZGRpbmctcmlnaHQ6IDA7XG4gICAgICAgICAgaGVpZ2h0OiBhdXRvO1xuICAgICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICAgICAgbGlzdC1zdHlsZTogbm9uZTtcbiAgICAgICAgICBjb2x1bW4tZ2FwOiAzMHB4O1xuICAgICAgICAgIGZsZXgtZmxvdzogY29sdW1uO1xuXG4gICAgICAgICAgQGluY2x1ZGUgbWVkaWEoXCI+PXRhYmxldFwiKSB7XG4gICAgICAgICAgICB3aWR0aDogYXV0bztcbiAgICAgICAgICAgIGhlaWdodDogJHRvcEJhckhlaWdodDtcbiAgICAgICAgICAgIHBhZGRpbmctcmlnaHQ6IDYwcHg7IC8vIFBhZGRpbmcgYWdhaW5zdCBoZWFkZXIgYnV0dG9ucyAoc2VhcmNoIGdsYXNzKVxuICAgICAgICAgICAgLy9mbGV4LWZsb3c6IHJvdztcbiAgICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kO1xuICAgICAgICAgIH1cblxuICAgICAgICAgIGxpIHsgLy8gdG9wIG5hdlxuICAgICAgICAgICAgQGluY2x1ZGUgcGFkLWhvcml6b250YWw7XG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgIGhlaWdodDogNDVweDtcbiAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICAgICAgbGlzdC1zdHlsZTogbm9uZTtcbiAgICAgICAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAkZ3JheTtcbiAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICAgICAgICAgICAgQGluY2x1ZGUgbWVkaWEoXCI+PXRhYmxldFwiKSB7XG4gICAgICAgICAgICAgIHdpZHRoOiBhdXRvO1xuICAgICAgICAgICAgICBwYWRkaW5nLXJpZ2h0OiAwO1xuICAgICAgICAgICAgICBwYWRkaW5nLWxlZnQ6IDA7XG4gICAgICAgICAgICAgIGJvcmRlci1ib3R0b206IHVuc2V0O1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBhIHsgLy8gdG9wIG5hdlxuICAgICAgICAgICAgICBoZWlnaHQ6ICR0b3BCYXJIZWlnaHQ7XG4gICAgICAgICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgICAgICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICAgICAgICAgICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gICAgICAgICAgICAgIGZvbnQtc2l6ZTogMTJweDtcbiAgICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgICAgICAgY29sb3I6ICRicmFuZENvbG9yQ29udHJhc3Q7XG4gICAgICAgICAgICAgIGZvbnQtZmFtaWx5OiAnTGF0bycsIHNhbnMtc2VyaWY7XG5cbiAgICAgICAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgICAgICAgY29sb3I6IGRhcmtlbigkYnJhbmRDb2xvckNvbnRyYXN0LCAyMCUpO1xuICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgQGluY2x1ZGUgbWVkaWEoXCI+PXRhYmxldFwiKSB7XG5cbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgKi9cblxuICAgICAgLypcbiAgICAgIGxpLnNsaWRlLWxpbmUge1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHotaW5kZXg6IDEwMDI7XG4gICAgICAgIGJvdHRvbTogLTFweDtcbiAgICAgICAgbGVmdDogMDtcbiAgICAgICAgd2lkdGg6IDA7XG4gICAgICAgIGhlaWdodDogNXB4O1xuICAgICAgICBwYWRkaW5nOiAwO1xuICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICR3aGl0ZTtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogM3B4IDNweCAwIDA7XG4gICAgICAgIHRyYW5zaXRpb246IHdpZHRoIDMwMG1zLCBsZWZ0IDMwMG1zLCBiYWNrZ3JvdW5kLWNvbG9yIDE1MG1zO1xuXG4gICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICB9XG5cbiAgICAgICAgJi5ob3Zlci1zdGF0ZSB7XG4gICAgICAgICAgLy9ib3gtc2hhZG93OiAwIDAgNXB4IDBweCAkYmxhY2s7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgICovXG5cbiAgICAuaGVhZGVyLWJ1dHRvbnMge1xuICAgICAgQGluY2x1ZGUgcGFkLXJpZ2h0O1xuICAgICAgd2lkdGg6IGF1dG87XG4gICAgICBoZWlnaHQ6ICRoZWFkZXJIZWlnaHRNb2JpbGU7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHRvcDogMDtcbiAgICAgIHJpZ2h0OiAwO1xuICAgICAgei1pbmRleDogNjtcblxuICAgICAgQGluY2x1ZGUgbWVkaWEoXCI+PXRhYmxldFwiKSB7XG4gICAgICAgIGhlaWdodDogJHRvcEJhckhlaWdodDtcbiAgICAgICAgcGFkZGluZy1sZWZ0OiAwO1xuICAgICAgfVxuICAgIH1cbiAgICAgIC5nbGFzcyB7XG4gICAgICAgIHBhZGRpbmc6IDhweCAxMHB4O1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICB0b3A6IGF1dG87XG5cbiAgICAgICAgQGluY2x1ZGUgbWVkaWEoXCI+PXRhYmxldFwiKSB7XG4gICAgICAgICAgaGVpZ2h0OiAkdG9wQmFySGVpZ2h0O1xuICAgICAgICAgIGJvcmRlcjogdW5zZXQ7XG4gICAgICAgIH1cblxuICAgICAgICBpIHtcbiAgICAgICAgICBjb2xvcjogJGJyYW5kQ29sb3JDb250cmFzdDtcblxuICAgICAgICAgICY6aG92ZXIge1xuICAgICAgICAgICAgY29sb3I6IGRhcmtlbigkYnJhbmRDb2xvckNvbnRyYXN0LCAyMCUpO1xuICAgICAgICAgIH1cblxuICAgICAgICAgIEBpbmNsdWRlIG1lZGlhKFwiPj10YWJsZXRcIikge1xuICAgICAgICAgICAgLy9jb2xvcjogJG1lZGl1bUdyYXk7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIC5idXJnZXIge1xuICAgICAgICBtYXJnaW4tbGVmdDogMDtcbiAgICAgICAgcGFkZGluZzogOHB4IDEwcHg7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cbiAgICAgICAgQGluY2x1ZGUgbWVkaWEoXCI+PTM0MHB4XCIpIHtcbiAgICAgICAgICBtYXJnaW4tbGVmdDogMTBweDtcbiAgICAgICAgfVxuXG4gICAgICAgIEBpbmNsdWRlIG1lZGlhKFwiPj10YWJsZXRcIikge1xuICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgIH1cblxuICAgICAgICBpIHtcbiAgICAgICAgICBjb2xvcjogJGJyYW5kQ29sb3JDb250cmFzdDtcblxuICAgICAgICAgICY6aG92ZXIge1xuICAgICAgICAgICAgY29sb3I6IGRhcmtlbigkYnJhbmRDb2xvckNvbnRyYXN0LCAyMCUpO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgLmhlYWRlci1zZWFyY2gtd3JhcCB7IC8vIEhlYWRlci1zcGVjaWZpYyBzZWFyY2ggd3JhcFxuICAgICAgQGluY2x1ZGUgd3JhcDtcbiAgICAgIGhlaWdodDogYXV0bztcbiAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICB0b3A6ICRoZWFkZXJIZWlnaHRNb2JpbGU7XG4gICAgICBsZWZ0OiAwO1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGJyYW5kQ29sb3JQcmltYXJ5O1xuICAgICAgei1pbmRleDogNjtcblxuICAgICAgQGluY2x1ZGUgbWVkaWEoXCI+PXRhYmxldFwiKSB7XG4gICAgICAgIHRvcDogJHRvcEJhckhlaWdodDtcbiAgICAgICAgaGVpZ2h0OiBjYWxjKCRoZWFkZXJIZWlnaHREZXNrdG9wIC0gJG1haW5OYXZIZWlnaHQpO1xuICAgICAgfVxuXG4gICAgICAuc2l0ZS1zZWFyY2ggeyAvLyBIZWFkZXIgc3BlY2lmaWMgLS0gc2VlIHNlYXJjaC5zY3NzIGZvciBnbG9iYWwgc2VhcmNoIHN0eWxlc1xuICAgICAgICBAaW5jbHVkZSBwYWQtaG9yaXpvbnRhbDtcbiAgICAgIH1cbiAgICB9XG4iLCIvKipcbiAgKiBTSVRFIFNFQVJDSCBGT1JNIFNUWUxFU1xuICAqL1xuXG4uc2l0ZS1zZWFyY2gge1xuICBAaW5jbHVkZSBpbm5lci13cmFwO1xuICBoZWlnaHQ6IGF1dG87XG4gIHBhZGRpbmc6IDQwcHggMDtcbiAgZGlzcGxheTogZ3JpZDtcbiAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiAxZnIgNTBweDtcbiAgZ3JpZC10ZW1wbGF0ZS1yb3dzOiBhdXRvO1xufVxuXG4gIC5zZWFyY2gtcXVlcnkge1xuICAgIGhlaWdodDogNTBweDtcbiAgICBwYWRkaW5nOiAwO1xuICAgIGdyaWQtY29sdW1uOiAxIC8gc3BhbiAxO1xuICAgIGdyaWQtcm93OiAxO1xuICAgIGFsaWduLXNlbGY6IGNlbnRlcjtcblxuICAgIGxhYmVsIHtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgICAgaGVpZ2h0OiAzMHB4O1xuICAgICAgY29sb3I6ICRicmFuZENvbG9yQ29udHJhc3Q7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG5cbiAgICBpbnB1dCB7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIG1heC13aWR0aDogMTAwJTtcbiAgICAgIGhlaWdodDogNTBweDtcbiAgICAgIHBhZGRpbmctbGVmdDogMjBweDtcbiAgICAgIGJvcmRlcjogMnB4IHNvbGlkICRicmFuZENvbG9yQ29udHJhc3Q7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IHVuc2V0O1xuICAgICAgY29sb3I6ICRicmFuZENvbG9yQ29udHJhc3Q7XG4gICAgfVxuICB9XG5cbiAgLnNlYXJjaC1zdWJtaXQge1xuICAgIHdpZHRoOiA1MHB4O1xuICAgIGhlaWdodDogNTBweDtcbiAgICBncmlkLWNvbHVtbjogMiAvIHNwYW4gMTtcbiAgICBncmlkLXJvdzogMTtcbiAgICBhbGlnbi1zZWxmOiBzdGFydDtcbiAgICBjb2xvcjogJGJyYW5kQ29sb3JQcmltYXJ5O1xuICAgIGZvbnQtc2l6ZTogMS40cmVtO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRicmFuZENvbG9yQ29udHJhc3Q7XG4gICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAyMDBtcztcblxuICAgICY6aG92ZXIge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogZGFya2VuKCRicmFuZENvbG9yQ29udHJhc3QsIDIwJSk7XG4gICAgfVxuICB9XG4iLCIvKipcbiAgKiBNQUlOIFBBR0UgQ09OVEVOVCBTVFlMRVNcbiAgKi9cblxuXG4ubWFpbi13cmFwIHtcbiAgQGluY2x1ZGUgd3JhcDtcbiAgZ3JpZC1yb3ctc3RhcnQ6IDI7IC8vIEZvciBzdGlja3kgZm9vdGVyXG4gIGdyaWQtcm93LWVuZDogMzsgLy8gRm9yIHN0aWNreSBmb290ZXJcbiAgYmFja2dyb3VuZC1jb2xvcjogJGJyYW5kQ29sb3JDb250cmFzdDtcbn1cbiAgLm1haW4geyAvLyBDb250YWluZXIgZm9yIGFsbCBub24taGVhZGVyIGFuZCBub24tZm9vdGVyIHN0dWZmXG4gICAgaGVpZ2h0OiAxMDAlOyAvLyBGb3Igc3RpY2t5IGZvb3RlcjogZmlsbCBhbnkgZW1wdHkgc3BhY2UgZG93biB0byBmb290ZXJcbiAgICBvdmVyZmxvdzogaGlkZGVuOyAvLyBFeHRlbmRzIGhlaWdodCB0byBhY2NvbW9kYXRlIGNvbnRlbnQncyBtYXJnaW5cbiAgfVxuICAgIC5wYWdlLWhlYWRlci13cmFwIHtcbiAgICAgIEBpbmNsdWRlIHdyYXA7XG4gICAgICBwYWRkaW5nOiAwIDVweDtcbiAgICAgIC8vYmFja2dyb3VuZC1jb2xvcjogJGJyYW5kQ29sb3JDb250cmFzdDtcbiAgICAgIC8vZGlzcGxheTogbm9uZTtcbiAgICAgIC8vYmFja2dyb3VuZC1jb2xvcjogJGJyYW5kQ29sb3JQcmltYXJ5O1xuICAgICAgYmFja2dyb3VuZC1zaXplOiBjb3ZlcjtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgIC8vei1pbmRleDogMTtcbiAgICB9XG4gICAgICAucGFnZS1oZWFkZXItb3ZlcmxheSB7IC8vIFRyYW5zbHVjZW50LCBcImRpbW1lclwiIGxheWVyIG92ZXIgaGVhZGVyIGJhY2tncm91bmQtaW1hZ2UuXG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgdG9wOiAwO1xuICAgICAgICBsZWZ0OiAwO1xuICAgICAgICB6LWluZGV4OiAyO1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYnJhbmRDb2xvclByaW1hcnk7XG4gICAgICAgIC8vYmFja2dyb3VuZC1pbWFnZTogbGluZWFyLWdyYWRpZW50KCRicmFuZENvbG9yUHJpbWFyeSwgJGJyYW5kQ29sb3JDb250cmFzdCk7XG4gICAgICAgIG9wYWNpdHk6IDAuNTtcbiAgICAgICAgYmFja2dyb3VuZC1ibGVuZC1tb2RlOiBvdmVybGF5O1xuXG4gICAgICAgICYuYmctdmlzaWJsZSB7XG4gICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGJyYW5kQ29sb3JQcmltYXJ5O1xuICAgICAgICAgIG9wYWNpdHk6IDE7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgLnBhZ2UtaGVhZGVyIHsgLy8gTWFpbiBwYWdlIGhlYWRlciAoY29udGFpbnMgcGFnZSB0aXRsZSBIMSwgaW50cm8gdGV4dCwgZXRjLilcbiAgICAgICAgQGluY2x1ZGUgaW5uZXItd3JhcDtcbiAgICAgICAgQGluY2x1ZGUgcGFkLXZlcnRpY2FsO1xuICAgICAgICBAaW5jbHVkZSBwYWQtaG9yaXpvbnRhbDtcbiAgICAgICAgLy9taW4taGVpZ2h0OiA0MjBweDtcbiAgICAgICAgZmxleC13cmFwOiB3cmFwO1xuICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICAvL2p1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIHotaW5kZXg6IDM7XG4gICAgICB9XG4gICAgICAgIC5wYWdlLWhlYWRlci10aXRsZSB7XG5cbiAgICAgICAgICBoMSB7XG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgICAgICAgICBjb2xvcjogJHdoaXRlOy8vJGJyYW5kQ29sb3JDb250cmFzdDtcbiAgICAgICAgICAgIC8vdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICAgICAgdGV4dC1zaGFkb3c6IDAgMCAxNXB4ICRicmFuZENvbG9yUHJpbWFyeTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAucGFnZS1oZWFkZXItdGV4dCB7XG5cbiAgICAgICAgICBwIHtcbiAgICAgICAgICAgIG1hcmdpbi10b3A6IDQwcHg7XG4gICAgICAgICAgICBmb250LXNpemU6IDJyZW07XG4gICAgICAgICAgICBjb2xvcjogJHdoaXRlO1xuICAgICAgICAgICAgdGV4dC1zaGFkb3c6IDAgMCAxMHB4ICRicmFuZENvbG9yUHJpbWFyeTtcbiAgICAgICAgICAgIC8vZm9udC1mYW1pbHk6ICdNZXJyaXdlYXRoZXInLCBzZXJpZjtcbiAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgIC5wYWdlLW1haW4td3JhcCB7XG4gICAgICBAaW5jbHVkZSB3cmFwO1xuICAgIH1cbiAgICAgIC5wYWdlLW1haW4geyAvLyBNYWluIHBhZ2UgY29udGVudCBhbmQgc2lkZWJhclxuICAgICAgICBkaXNwbGF5OiBncmlkO1xuICAgICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDFmcjtcbiAgICAgICAgZ3JpZC10ZW1wbGF0ZS1yb3dzOiBhdXRvO1xuXG4gICAgICAgIEBpbmNsdWRlIG1lZGlhKFwiPj10YWJsZXRcIikge1xuICAgICAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogMWZyO1xuICAgICAgICAgIGdyaWQtdGVtcGxhdGUtcm93czogYXV0bztcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICAucGFnZS1tYWluLnNpZGUgeyAvLyBTaWRlYmFyLXNwZWNpZmljIHZlcnNpb24gb2YgLnBhZ2UtbWFpbiBeXl5cbiAgICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiAxZnIgMHB4O1xuICAgICAgICBncmlkLXRlbXBsYXRlLXJvd3M6IGF1dG8gYXV0bztcblxuICAgICAgICBAaW5jbHVkZSBtZWRpYShcIj49dGFibGV0XCIpIHtcbiAgICAgICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDFmciAzMjBweDtcbiAgICAgICAgICBncmlkLXRlbXBsYXRlLXJvd3M6IGF1dG8gMHB4O1xuICAgICAgICB9XG4gICAgICB9XG4gICAgICAgIC5wYWdlLWNvbnRlbnQgeyAvLyBNYWluIHBhZ2UgY29udGVudCAoc2l0cyBhbG9uZ3NpZGUgc2lkZWJhciBpZiB0aGVyZSBpcyBvbmUpXG4gICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgcGFkZGluZy1yaWdodDogMDtcbiAgICAgICAgICBncmlkLWNvbHVtbjogMSAvIHNwYW4gMTtcbiAgICAgICAgICBncmlkLXJvdzogMjtcblxuICAgICAgICAgIEBpbmNsdWRlIG1lZGlhKFwiPj10YWJsZXRcIikge1xuICAgICAgICAgICAgZ3JpZC1jb2x1bW46IDEgLyBzcGFuIDE7XG4gICAgICAgICAgICBncmlkLXJvdzogMTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgICAucGFnZS1zZWN0aW9uLXdyYXAge1xuICAgICAgICAgICAgQGluY2x1ZGUgd3JhcDtcbiAgICAgICAgICB9XG4gICAgICAgICAgICAucGFnZS1zZWN0aW9uIHsgLy8gdmVydGljYWxseSBzZXBhcmF0ZXMgcGllY2VzIG9mIG1haW4gY29udGVudCBhbmQgcGFkcyBhZ2FpbnN0IHRoZSBzaWRlYmFyXG4gICAgICAgICAgICAgIEBpbmNsdWRlIGlubmVyLXdyYXA7XG4gICAgICAgICAgICAgIEBpbmNsdWRlIHBhZC1ob3Jpem9udGFsO1xuICAgICAgICAgICAgICBAaW5jbHVkZSBwYWQtdmVydGljYWw7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgLnNpZGUgLnBhZ2UtY29udGVudHsgLy8gLnBhZ2UtY29udGVudCBzdHlsZXMgZm9yIHNpZGViYXIgbGF5b3V0XG4gICAgICAgICAgcGFkZGluZy1yaWdodDogMDtcblxuICAgICAgICAgIEBpbmNsdWRlIG1lZGlhKFwiPj10YWJsZXRcIikge1xuICAgICAgICAgICAgcGFkZGluZy1yaWdodDogMTAwcHg7XG4gICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgLnBhZ2Utc2lkZWJhciB7XG4gICAgICAgICAgQGluY2x1ZGUgcGFkLWJvdHRvbTtcbiAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICBncmlkLWNvbHVtbjogMSAvIHNwYW4gMTtcbiAgICAgICAgICBncmlkLXJvdzogMTtcblxuICAgICAgICAgIEBpbmNsdWRlIG1lZGlhKFwiPj10YWJsZXRcIikge1xuICAgICAgICAgICAgZ3JpZC1jb2x1bW46IDIgLyBzcGFuIDE7XG4gICAgICAgICAgICBncmlkLXJvdzogMTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiIsIi8qKlxuICAqIEZPT1RFUiBTVFlMRVNcbiAgKi9cblxuXG4uZm9vdGVyLXdyYXAge1xuICBAaW5jbHVkZSB3cmFwO1xuICBncmlkLXJvdy1zdGFydDogMzsgLy8gRm9yIHN0aWNreSBmb290ZXJcbiAgZ3JpZC1yb3ctZW5kOiA0OyAvLyBGb3Igc3RpY2t5IGZvb3RlclxuICBiYWNrZ3JvdW5kLWNvbG9yOiAkZGFya2VzdEdyYXk7XG59XG4gIC5mb290ZXIge1xuICAgIC8vQGluY2x1ZGUgaW5uZXItd3JhcDtcbiAgICBAaW5jbHVkZSBwYWQtdmVydGljYWw7XG4gICAgQGluY2x1ZGUgcGFkLWhvcml6b250YWw7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIG92ZXJmbG93OiBoaWRkZW47IC8vIEV4dGVuZHMgaGVpZ2h0IHRvIGFjY29tb2RhdGUgY29udGVudCdzIG1hcmdpblxuICAgIGNvbG9yOiAkYnJhbmRDb2xvckNvbnRyYXN0O1xuICAgIGRpc3BsYXk6IGdyaWQ7XG4gICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiA1MCUgNTAlO1xuICAgIGdyaWQtcm93czogYXV0byBhdXRvIGF1dG87XG4gIH1cbiAgICAuZm9vdGVyLW5hdiB7XG4gICAgICBwYWRkaW5nLWxlZnQ6IDA7XG4gICAgICAvL3BhZGRpbmctYm90dG9tOiAzMHB4O1xuICAgICAgZ3JpZC1jb2x1bW46IDEgLyBzcGFuIDI7XG4gICAgICBncmlkLXJvdzogMjtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG5cbiAgICAgIEBpbmNsdWRlIG1lZGlhKFwiPj10YWJsZXRcIikge1xuICAgICAgICBAaW5jbHVkZSBwYWQtbGVmdDtcbiAgICAgICAgd2lkdGg6IGF1dG87XG4gICAgICAgIGdyaWQtY29sdW1uOiAyIC8gc3BhbiAxO1xuICAgICAgICBncmlkLXJvdzogMSAvIHNwYW4gMTtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiByaWdodDtcbiAgICAgIH1cblxuICAgICAgdWwge1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgaGVpZ2h0OiBhdXRvO1xuICAgICAgICAvL2Rpc3BsYXk6IGZsZXg7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgbGlzdC1zdHlsZTogbm9uZTtcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuXG4gICAgICAgIEBpbmNsdWRlIG1lZGlhKFwiPj10YWJsZXRcIikge1xuICAgICAgICAgIHdpZHRoOiBhdXRvO1xuICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgIHRleHQtYWxpZ246IHJpZ2h0O1xuICAgICAgICB9XG5cbiAgICAgICAgbGkge1xuXG4gICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgcGFkZGluZzogNXB4IDA7XG4gICAgICAgICAgbGlzdC1zdHlsZTogbm9uZTtcbiAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICAgICAgICAgIC8qJjphZnRlciB7XG4gICAgICAgICAgICBjb250ZW50OiBcInxcIjtcbiAgICAgICAgICAgIGNvbG9yOiAkYnJhbmRDb2xvckNvbnRyYXN0O1xuICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgdG9wOiAwO1xuICAgICAgICAgICAgcmlnaHQ6IC0ycHg7XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgJjpsYXN0LWNoaWxkIHtcblxuICAgICAgICAgICAgJjphZnRlciB7XG4gICAgICAgICAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfSovXG5cbiAgICAgICAgICBAaW5jbHVkZSBtZWRpYShcIj49dGFibGV0XCIpIHtcbiAgICAgICAgICAgIHdpZHRoOiBhdXRvO1xuICAgICAgICAgICAgcGFkZGluZzogMDsvLyAxMHB4O1xuICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG5cbiAgICAgICAgICAgICY6YWZ0ZXIge1xuICAgICAgICAgICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cblxuICAgICAgICAgIGEge1xuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICBwYWRkaW5nOiAwO1xuICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICAvL2FsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgICAgICBmb250LXNpemU6IDFyZW07XG4gICAgICAgICAgICBjb2xvcjogJGJyYW5kQ29sb3JDb250cmFzdDtcbiAgICAgICAgICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gICAgICAgICAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcblxuICAgICAgICAgICAgQGluY2x1ZGUgbWVkaWEoXCI+PXRhYmxldFwiKSB7XG4gICAgICAgICAgICAgIHdpZHRoOiBhdXRvO1xuICAgICAgICAgICAgICBwYWRkaW5nOiAwOyAvLzVweDtcbiAgICAgICAgICAgICAgLy9hbGlnbi1pdGVtczogcmlnaHQ7XG4gICAgICAgICAgICAgIHRleHQtYWxpZ246IHJpZ2h0O1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgIC5mb290ZXItYnJhbmQgeyAvLyBDb250YWluZXIgZm9yIGxvZ28sIHRleHQgbG9nbywgdGFnbGluZS4gQ292ZXJzIGVudGlyZSBmb290ZXIgYXJlYSAoYmVoaW5kIG5hdnMpXG4gICAgICBwYWRkaW5nLWxlZnQ6IDA7XG4gICAgICBwYWRkaW5nLWJvdHRvbTogMjBweDtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgbWFyZ2luLXRvcDogMDtcbiAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgICBwYWRkaW5nLXJpZ2h0OiAwOyAvLyBOZWdhdGUgcmlnaHQgcGFkZGluZyBmcm9tICdjb250YWluZXInIG1peGluIF5eXlxuICAgICAgLy9oZWlnaHQ6IDE2MHB4O1xuICAgICAgZ3JpZC1jb2x1bW46IDEgLyBzcGFuIDI7XG4gICAgICBncmlkLXJvdzogMSAvIHNwYW4gMTtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgIHotaW5kZXg6IDU7XG5cbiAgICAgIEBpbmNsdWRlIG1lZGlhKFwiPj10YWJsZXRcIikge1xuICAgICAgICBAaW5jbHVkZSBwYWQtcmlnaHQ7XG4gICAgICAgIHBhZGRpbmctYm90dG9tOiAwO1xuICAgICAgICBncmlkLWNvbHVtbjogMSAvIHNwYW4gMTtcbiAgICAgICAgZ3JpZC1yb3c6IDEgLyBzcGFuIDI7XG4gICAgICAgIC8vaGVpZ2h0OiBjYWxjKCRmb290ZXJIZWlnaHREZXNrdG9wIC0gJG1haW5OYXZIZWlnaHQpO1xuICAgICAgICAvL21hcmdpbi10b3A6ICR0b3BCYXJIZWlnaHQ7XG4gICAgICAgIC8vbWFyZ2luLWJvdHRvbTogJG1haW5OYXZIZWlnaHQ7XG4gICAgICB9XG5cbiAgICAgIGEge1xuICAgICAgICB3aWR0aDogMjYwcHg7XG4gICAgICAgIGhlaWdodDogYXV0bztcbiAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgICAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuXG4gICAgICAgIEBpbmNsdWRlIG1lZGlhKFwiPj10YWJsZXRcIikge1xuICAgICAgICAgIC8vbWFyZ2luOiAwO1xuICAgICAgICAgIC8vaGVpZ2h0OiBjYWxjKCRmb290ZXJIZWlnaHREZXNrdG9wIC0gJG1haW5OYXZIZWlnaHQpO1xuICAgICAgICB9XG5cbiAgICAgICAgLmZvb3Rlci1icmFuZC1sb2dvLWltYWdlIHtcbiAgICAgICAgICB3aWR0aDogYXV0bztcbiAgICAgICAgICBtYXJnaW4tbGVmdDogLTEycHg7XG4gICAgICAgICAgaGVpZ2h0OiAxMDBweDtcbiAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDE1cHg7XG4gICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICB9XG5cbiAgICAgICAgLmZvb3Rlci1icmFuZC1sb2dvLXRleHQge1xuICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgIGNvbG9yOiAkd2hpdGU7XG4gICAgICAgICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgICAgICAgICBwYWRkaW5nLWxlZnQ6IDA7XG4gICAgICAgICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gICAgICAgICAgZm9udC1zaXplOiAxcmVtO1xuXG4gICAgICAgICAgQGluY2x1ZGUgbWVkaWEoXCI+PXRhYmxldFwiKSB7XG4gICAgICAgICAgICBwYWRkaW5nLWxlZnQ6IDEwcHg7XG4gICAgICAgICAgICAvL2ZvbnQtc2l6ZTogMXJlbTtcbiAgICAgICAgICB9XG5cbiAgICAgICAgICAuZm9vdGVyLWJyYW5kLWxvZ28tdGV4dC10aXRsZSB7XG4gICAgICAgICAgICBtYXJnaW46IDAgYXV0bztcbiAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDEuMjtcbiAgICAgICAgICAgIC8vZm9udC1zaXplOiAxcmVtO1xuICAgICAgICAgICAgZm9udC1zaXplOiAxLjRyZW07XG5cbiAgICAgICAgICAgIHNwYW4ucmVnaXN0ZXJlZCB7XG4gICAgICAgICAgICAgIGZvbnQtc2l6ZTogMC43cmVtO1xuICAgICAgICAgICAgICBmb250LXdlaWdodDogbm9ybWFsO1xuICAgICAgICAgICAgICB2ZXJ0aWNhbC1hbGlnbjogc3VwZXI7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIEBpbmNsdWRlIG1lZGlhKFwiPj1waG9uZS1sYXJnZVwiKSB7XG4gICAgICAgICAgICAgIC8vZm9udC1zaXplOiAxLjRyZW07XG5cbiAgICAgICAgICAgICAgc3Bhbi5yZWdpc3RlcmVkIHtcbiAgICAgICAgICAgICAgICBmb250LXNpemU6IDAuOXJlbTtcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cblxuICAgICAgICAgIC5mb290ZXItYnJhbmQtbG9nby10ZXh0LXRhZ2xpbmUge1xuICAgICAgICAgICAgLy9tYXJnaW4tdG9wOiA4cHg7XG4gICAgICAgICAgICBtYXJnaW46IDEwcHggYXV0byAwIGF1dG87XG4gICAgICAgICAgICBsaW5lLWhlaWdodDogMC44O1xuICAgICAgICAgICAgLy9kaXNwbGF5OiBub25lO1xuICAgICAgICAgICAgLy9mb250LXNpemU6IDAuNnJlbTtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMS4xcmVtO1xuICAgICAgICAgICAgZm9udC13ZWlnaHQ6IGxpZ2h0ZXI7XG4gICAgICAgICAgICBmb250LXN0eWxlOiBpdGFsaWM7XG4gICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgIGNvbG9yOiAkd2hpdGU7XG5cbiAgICAgICAgICAgIEBpbmNsdWRlIG1lZGlhKFwiPj1waG9uZS1sYXJnZVwiKSB7XG4gICAgICAgICAgICAgIC8vZm9udC1zaXplOiAxLjFyZW07XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgLmNvcHlyaWdodCB7XG4gICAgICBtYXJnaW46IDA7XG4gICAgICBwYWRkaW5nOiAyMHB4IDAgMCAwO1xuICAgICAgZ3JpZC1jb2x1bW46IDEgLyBzcGFuIDI7XG4gICAgICBncmlkLXJvdzogMztcbiAgICAgIGZvbnQtc2l6ZTogMTBweDtcbiAgICAgIGp1c3RpZnktY29udGVudDogbGVmdDtcbiAgICAgIHRleHQtYWxpZ246IGxlZnQ7XG5cbiAgICAgIEBpbmNsdWRlIG1lZGlhKFwiPj10YWJsZXRcIikge1xuICAgICAgICBwYWRkaW5nOiAwIDAgMCAwO1xuICAgICAgICBncmlkLXJvdzogMjtcblxuICAgICAgICBncmlkLWNvbHVtbjogMiAvIHNwYW4gMTtcbiAgICAgICAgLy9ncmlkLXJvdzogMTtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiByaWdodDtcbiAgICAgICAgdGV4dC1hbGlnbjogcmlnaHQ7XG4gICAgICB9XG4gICAgfVxuIiwiLyoqXG4gICogTUlTQ0VMTEFORU9VUyBTVFlMRVNcbiAgKi9cblxuLmVtYmVkLWNvbnRhaW5lci13cmFwIHtcbiAgd2lkdGg6IDEwMCU7XG4gIG1heC13aWR0aDogNTAwcHg7XG4gIG1hcmdpbjogMjBweCBhdXRvO1xufVxuICAuZW1iZWQtY29udGFpbmVyIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgcGFkZGluZy1ib3R0b206IDU2LjI1JTtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIG1heC13aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6IGF1dG87XG4gIH1cbiAgICAuZW1iZWQtY29udGFpbmVyIGlmcmFtZSxcbiAgICAuZW1iZWQtY29udGFpbmVyIG9iamVjdCxcbiAgICAuZW1iZWQtY29udGFpbmVyIGVtYmVkIHtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHRvcDogMDtcbiAgICAgIGxlZnQ6IDA7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIGhlaWdodDogMTAwJTtcbiAgICB9XG5cblxuLm1heC13aWR0aC0yODBweCB7XG4gIHdpZHRoOiAxMDAlO1xuICBtYXgtd2lkdGg6IDI4MHB4O1xufVxuXG4uZmxvYXQtcmlnaHQsXG4uYWxpZ25yaWdodCB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBtYXJnaW46IDAgYXV0bztcbiAgcGFkZGluZzogMjBweDtcbiAgZmxvYXQ6IG5vbmU7XG5cbiAgQGluY2x1ZGUgbWVkaWEoXCI+PXBob25lLWxhcmdlXCIpIHtcbiAgICBwYWRkaW5nOiAyMHB4IDAgMjBweCAyMHB4O1xuICAgIGZsb2F0OiByaWdodDtcbiAgfVxufVxuIl19 */
