/* ------------------------------------------------------------------------ * * Helpers
\* ------------------------------------------------------------------------ */
/* ------------------------------------------------------------------------ * * Colors
\* ------------------------------------------------------------------------ */
/* ------------------------------------------------------------------------ * * Fonts                                                                    *
\* ------------------------------------------------------------------------ */
/* ------------------------------------------------------------------------ * * Widths                                                                   *
\* ------------------------------------------------------------------------ */
/* ------------------------------------------------------------------------ * * Break Points                                                             *
\* ------------------------------------------------------------------------ */
/* ------------------------------------------------------------------------ * * Layers                                                                   *
\* ------------------------------------------------------------------------ */
/* ------------------------------------------------------------------------ * * Functions
\* ------------------------------------------------------------------------ */
/* ------------------------------------------------------------------------ * * Mixins
\* ------------------------------------------------------------------------ */
.menu-list_container::after, .menu-list::after {
  clear: both !important;
  content: "" !important;
  display: table !important; }

._dark {
  color: #000000 !important; }

._light {
  color: #FFFFFF !important; }

._big {
  font-size: 1.25em !important; }

._small {
  font-size: 0.75em !important; }

._bold {
  font-weight: 700 !important; }

._italic {
  font-style: italic !important; }

._textcenter {
  text-align: center !important; }

._textleft {
  text-align: left !important; }

._textright {
  text-align: right !important; }

._nowrap {
  white-space: nowrap !important; }

._center {
  margin-left: auto !important;
  margin-right: auto !important; }

._left {
  float: left !important; }

._right {
  float: right !important; }

._nomargin {
  margin: 0 !important; }

._nopadding {
  padding: 0 !important; }

._block {
  display: block !important; }

._flex {
  display: -ms-flexbox !important;
  -js-display: flex !important;
  display: flex !important; }

._visuallyhidden {
  background: #f1f1f1 !important;
  border-radius: 0 !important;
  box-shadow: 0em 0em 0.14286em 0.14286em rgba(0, 0, 0, 0.6) !important;
  color: #B7202A !important;
  display: block !important;
  font-family: "Source Sans Pro", "Arial", "Helvetica", sans-serif !important;
  font-size: 14px !important;
  font-size: 0.875rem !important;
  font-weight: 700 !important;
  height: auto !important;
  left: -999em !important;
  letter-spacing: normal !important;
  line-height: normal !important;
  outline: none !important;
  padding: 1.07143em 1.64286em 1em !important;
  position: absolute;
  text-decoration: none !important;
  text-shadow: none !important;
  text-transform: none !important;
  top: -999em !important;
  white-space: nowrap;
  width: auto !important; }

._visuallyhidden:focus {
  left: 0.42857em !important;
  top: 0.42857em !important;
  z-index: 100000 !important; }

._primary {
  color: #751113 !important; }

._accent {
  color: #B7202A !important; }

._warning {
  color: #751113 !important; }

._sticky {
  position: -webkit-sticky !important;
  position: sticky !important;
  top: 0 !important; }

@media screen and (min-width: 601px) {
  @supports ((position: -webkit-sticky) or (position: sticky)) {
    .admin-bar ._sticky {
      top: 46px !important; } } }

@media screen and (min-width: 783px) {
  @supports ((position: -webkit-sticky) or (position: sticky)) {
    .admin-bar ._sticky {
      top: 32px !important; } } }

/* visibility classes */
@media (pointer: fine) {
  ._touch {
    display: none !important; } }

@supports not (pointer: fine) {
  ._touch {
    display: none !important; } }

@media (pointer: course) {
  ._mouse {
    display: none !important; } }

@media print {
  ._noprint {
    display: none !important; } }

@media screen and (max-width: 47.9375em) {
  ._tablet:not(._phone),
  ._notebook:not(._phone),
  ._desktop:not(._phone) {
    display: none !important; } }

@media screen and (min-width: 48em) and (max-width: 63.9375em) {
  ._phone:not(._tablet),
  ._notebook:not(._tablet),
  ._desktop:not(._tablet) {
    display: none !important; } }

@media screen and (min-width: 64em) and (max-width: 79.9375em) {
  ._phone:not(._notebook),
  ._tablet:not(._notebook),
  ._desktop:not(._notebook) {
    display: none !important; } }

@media screen and (min-width: 80em) {
  ._phone:not(._desktop),
  ._tablet:not(._desktop),
  ._notebook:not(._desktop) {
    display: none !important; } }

/* ------------------------------------------------------------------------ * * Base
\* ------------------------------------------------------------------------ */
/* ------------------------------------------------------------------------ * * Normalize
\* ------------------------------------------------------------------------ */
/* stylelint-disable selector-max-type */
/* These styles are intended to be global */
/*! normalize.css v4.1.1 | MIT License | github.com/necolas/normalize.css */
/**
 * 1. Change the default font family in all browsers (opinionated).
 * 2. Prevent adjustments of font size after orientation changes in IE and iOS.
 */
html {
  font-family: sans-serif;
  /* 1 */
  -ms-text-size-adjust: 100%;
  /* 2 */
  -webkit-text-size-adjust: 100%;
  /* 2 */ }

/**
 * Remove the margin in all browsers (opinionated).
 */
body {
  margin: 0; }

/* HTML5 display definitions
   ========================================================================== */
/**
 * Add the correct display in IE 9-.
 * 1. Add the correct display in Edge, IE, and Firefox.
 * 2. Add the correct display in IE.
 */
article,
aside,
details,
figcaption,
figure,
footer,
header,
main,
menu,
nav,
section,
summary {
  /* 1 */
  display: block; }

/**
 * Add the correct display in IE 9-.
 */
audio,
canvas,
progress,
video {
  display: inline-block; }

/**
 * Add the correct display in iOS 4-7.
 */
audio:not([controls]) {
  display: none;
  height: 0; }

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

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

/* Links
   ========================================================================== */
/**
 * 1. Remove the gray background on active links in IE 10.
 * 2. Remove gaps in links underline in iOS 8+ and Safari 8+.
 */
a {
  background-color: transparent;
  /* 1 */
  -webkit-text-decoration-skip: objects;
  /* 2 */ }

/**
 * Remove the outline on focused links when they are also active or hovered
 * in all browsers (opinionated).
 */
a:active,
a:hover {
  outline-width: 0; }

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

/**
 * Prevent the duplicate application of `bolder` by the next rule in Safari 6.
 */
b,
strong {
  font-weight: inherit; }

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

/**
 * Add the correct font style in Android 4.3-.
 */
dfn {
  font-style: italic; }

/**
 * 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; }

/**
 * Correct the line-height for all headings in Chrome mobile, Firefox,
 * iOS Safari, Microsoft Edge and IE.
 */
h1,
h2,
h3,
h4,
h5,
h6 {
  line-height: 1.15; }

/**
 * Add the correct background and color in IE 9-.
 */
mark {
  background-color: #ff0;
  color: #000; }

/**
 * 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; }

/**
 * Hide the overflow in IE.
 */
svg:not(:root) {
  overflow: hidden; }

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

/**
 * Add the correct margin in IE 8.
 */
figure {
  margin: 1em 40px; }

/**
 * 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 */ }

/* Forms
   ========================================================================== */
/**
 * 1. Change font properties to `inherit` in all browsers (opinionated).
 * 2. Remove the margin in Firefox and Safari.
 */
button,
input,
optgroup,
select,
textarea {
  font: inherit;
  /* 1 */
  margin: 0;
  /* 2 */ }

/**
 * Restore the font weight unset by the previous rule.
 */
optgroup {
  font-weight: bold; }

/**
 * 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; }

/**
 * 1. Prevent a WebKit bug where (2) destroys native `audio` and `video`
 *    controls in Android 4.
 * 2. Correct the inability to style clickable types in iOS and Safari.
 */
button,
html [type="button"],
[type="reset"],
[type="submit"] {
  -webkit-appearance: button;
  /* 2 */ }

/**
 * 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; }

/**
 * Change the border, margin, and padding in all browsers (opinionated).
 */
fieldset {
  border: 1px solid #c0c0c0;
  margin: 0 2px;
  padding: 0.35em 0.625em 0.75em; }

/**
 * 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 */ }

/**
 * Remove the default vertical scrollbar in IE.
 */
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 and cancel buttons in Chrome and Safari on OS X.
 */
[type="search"]::-webkit-search-cancel-button,
[type="search"]::-webkit-search-decoration {
  -webkit-appearance: none; }

/**
 * Correct the text style of placeholders in Chrome, Edge, and Safari.
 */
::-webkit-input-placeholder {
  color: inherit;
  opacity: 0.54; }

/**
 * 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 */ }

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

svg {
  max-height: 100%;
  max-width: 100%; }

/* ------------------------------------------------------------------------ * * Grid (based loosely on https://v4-alpha.getbootstrap.com/layout/grid/)
\* ------------------------------------------------------------------------ */
/* stylelint-disable selector-class-pattern */
.row {
  display: -ms-flexbox;
  -js-display: flex;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap; }

.row > [class*="col-"] {
  -ms-flex-positive: 1;
      flex-grow: 1;
  -ms-flex-negative: 1;
      flex-shrink: 1;
  min-width: 0; }

.row > [class*="col-"].-nogrow {
  -ms-flex-positive: 0;
      flex-grow: 0; }

.row > [class*="col-"].-nowrap {
  min-width: 0; }

.row > [class*="col-"].-noshrink {
  -ms-flex-negative: 0;
      flex-shrink: 0; }

.row.-padded {
  width: calc(100% + 1.875em); }

.row.-padded > [class*="col-"] {
  padding-right: 1.875em; }

.row.-nowrap {
  -ms-flex-wrap: nowrap;
      flex-wrap: nowrap; }

.row.-wrapreverse {
  -ms-flex-wrap: wrap-reverse;
      flex-wrap: wrap-reverse; }

.row.-center {
  -ms-flex-align: center;
      align-items: center;
  -ms-flex-pack: center;
      justify-content: center; }

.row:not(.-column).-hcenter {
  -ms-flex-pack: center;
      justify-content: center; }

.row:not(.-column).-vcenter {
  -ms-flex-align: center;
      align-items: center; }

.row:not(.-column).-top {
  -ms-flex-align: start;
      align-items: flex-start; }

.row:not(.-column).-right {
  -ms-flex-pack: end;
      justify-content: flex-end; }

.row:not(.-column).-bottom {
  -ms-flex-align: end;
      align-items: flex-end; }

.row:not(.-column).-left {
  -ms-flex-pack: start;
      justify-content: flex-start; }

.row.-stretch {
  -ms-flex-align: stretch;
      align-items: stretch; }

.row.-around {
  -ms-flex-pack: distribute;
      justify-content: space-around; }

.row.-between {
  -ms-flex-pack: justify;
      justify-content: space-between; }

.row:not(.-column).-reverse {
  -ms-flex-direction: row-reverse;
      flex-direction: row-reverse; }

.row.-column {
  -ms-flex-direction: column;
      flex-direction: column; }

.row.-column.-vcenter {
  -ms-flex-pack: center;
      justify-content: center; }

.row.-column.-top {
  -ms-flex-pack: start;
      justify-content: flex-start; }

.row.-column.-right {
  -ms-flex-align: end;
      align-items: flex-end; }

.row.-column.-bottom {
  -ms-flex-pack: end;
      justify-content: flex-end; }

.row.-column.-left {
  -ms-flex-align: start;
      align-items: flex-start; }

.row.-column.-hcenter {
  -ms-flex-align: center;
      align-items: center; }

.row.-column.-reverse {
  -ms-flex-direction: column-reverse;
      flex-direction: column-reverse; }

.col-auto {
  -ms-flex-preferred-size: auto;
      flex-basis: auto; }

.col-0 {
  -ms-flex-preferred-size: 0%;
      flex-basis: 0%; }

.col-1 {
  -ms-flex-preferred-size: 8.33333%;
      flex-basis: 8.33333%; }

.col-2 {
  -ms-flex-preferred-size: 16.66667%;
      flex-basis: 16.66667%; }

.col-3 {
  -ms-flex-preferred-size: 25%;
      flex-basis: 25%; }

.col-4 {
  -ms-flex-preferred-size: 33.33333%;
      flex-basis: 33.33333%; }

.col-5 {
  -ms-flex-preferred-size: 41.66667%;
      flex-basis: 41.66667%; }

.col-6 {
  -ms-flex-preferred-size: 50%;
      flex-basis: 50%; }

.col-7 {
  -ms-flex-preferred-size: 58.33333%;
      flex-basis: 58.33333%; }

.col-8 {
  -ms-flex-preferred-size: 66.66667%;
      flex-basis: 66.66667%; }

.col-9 {
  -ms-flex-preferred-size: 75%;
      flex-basis: 75%; }

.col-10 {
  -ms-flex-preferred-size: 83.33333%;
      flex-basis: 83.33333%; }

.col-11 {
  -ms-flex-preferred-size: 91.66667%;
      flex-basis: 91.66667%; }

.col-12 {
  -ms-flex-preferred-size: 100%;
      flex-basis: 100%; }

@media screen and (min-width: 48em) {
  .col-xs-auto {
    -ms-flex-preferred-size: auto;
        flex-basis: auto; }
  .col-xs-0 {
    -ms-flex-preferred-size: 0%;
        flex-basis: 0%; }
  .col-xs-1 {
    -ms-flex-preferred-size: 8.33333%;
        flex-basis: 8.33333%; }
  .col-xs-2 {
    -ms-flex-preferred-size: 16.66667%;
        flex-basis: 16.66667%; }
  .col-xs-3 {
    -ms-flex-preferred-size: 25%;
        flex-basis: 25%; }
  .col-xs-4 {
    -ms-flex-preferred-size: 33.33333%;
        flex-basis: 33.33333%; }
  .col-xs-5 {
    -ms-flex-preferred-size: 41.66667%;
        flex-basis: 41.66667%; }
  .col-xs-6 {
    -ms-flex-preferred-size: 50%;
        flex-basis: 50%; }
  .col-xs-7 {
    -ms-flex-preferred-size: 58.33333%;
        flex-basis: 58.33333%; }
  .col-xs-8 {
    -ms-flex-preferred-size: 66.66667%;
        flex-basis: 66.66667%; }
  .col-xs-9 {
    -ms-flex-preferred-size: 75%;
        flex-basis: 75%; }
  .col-xs-10 {
    -ms-flex-preferred-size: 83.33333%;
        flex-basis: 83.33333%; }
  .col-xs-11 {
    -ms-flex-preferred-size: 91.66667%;
        flex-basis: 91.66667%; }
  .col-xs-12 {
    -ms-flex-preferred-size: 100%;
        flex-basis: 100%; } }

@media screen and (min-width: 53.3125em) {
  .col-s-auto {
    -ms-flex-preferred-size: auto;
        flex-basis: auto; }
  .col-s-0 {
    -ms-flex-preferred-size: 0%;
        flex-basis: 0%; }
  .col-s-1 {
    -ms-flex-preferred-size: 8.33333%;
        flex-basis: 8.33333%; }
  .col-s-2 {
    -ms-flex-preferred-size: 16.66667%;
        flex-basis: 16.66667%; }
  .col-s-3 {
    -ms-flex-preferred-size: 25%;
        flex-basis: 25%; }
  .col-s-4 {
    -ms-flex-preferred-size: 33.33333%;
        flex-basis: 33.33333%; }
  .col-s-5 {
    -ms-flex-preferred-size: 41.66667%;
        flex-basis: 41.66667%; }
  .col-s-6 {
    -ms-flex-preferred-size: 50%;
        flex-basis: 50%; }
  .col-s-7 {
    -ms-flex-preferred-size: 58.33333%;
        flex-basis: 58.33333%; }
  .col-s-8 {
    -ms-flex-preferred-size: 66.66667%;
        flex-basis: 66.66667%; }
  .col-s-9 {
    -ms-flex-preferred-size: 75%;
        flex-basis: 75%; }
  .col-s-10 {
    -ms-flex-preferred-size: 83.33333%;
        flex-basis: 83.33333%; }
  .col-s-11 {
    -ms-flex-preferred-size: 91.66667%;
        flex-basis: 91.66667%; }
  .col-s-12 {
    -ms-flex-preferred-size: 100%;
        flex-basis: 100%; } }

@media screen and (min-width: 60em) {
  .col-m-auto {
    -ms-flex-preferred-size: auto;
        flex-basis: auto; }
  .col-m-0 {
    -ms-flex-preferred-size: 0%;
        flex-basis: 0%; }
  .col-m-1 {
    -ms-flex-preferred-size: 8.33333%;
        flex-basis: 8.33333%; }
  .col-m-2 {
    -ms-flex-preferred-size: 16.66667%;
        flex-basis: 16.66667%; }
  .col-m-3 {
    -ms-flex-preferred-size: 25%;
        flex-basis: 25%; }
  .col-m-4 {
    -ms-flex-preferred-size: 33.33333%;
        flex-basis: 33.33333%; }
  .col-m-5 {
    -ms-flex-preferred-size: 41.66667%;
        flex-basis: 41.66667%; }
  .col-m-6 {
    -ms-flex-preferred-size: 50%;
        flex-basis: 50%; }
  .col-m-7 {
    -ms-flex-preferred-size: 58.33333%;
        flex-basis: 58.33333%; }
  .col-m-8 {
    -ms-flex-preferred-size: 66.66667%;
        flex-basis: 66.66667%; }
  .col-m-9 {
    -ms-flex-preferred-size: 75%;
        flex-basis: 75%; }
  .col-m-10 {
    -ms-flex-preferred-size: 83.33333%;
        flex-basis: 83.33333%; }
  .col-m-11 {
    -ms-flex-preferred-size: 91.66667%;
        flex-basis: 91.66667%; }
  .col-m-12 {
    -ms-flex-preferred-size: 100%;
        flex-basis: 100%; } }

@media screen and (min-width: 64em) {
  .col-l-auto {
    -ms-flex-preferred-size: auto;
        flex-basis: auto; }
  .col-l-0 {
    -ms-flex-preferred-size: 0%;
        flex-basis: 0%; }
  .col-l-1 {
    -ms-flex-preferred-size: 8.33333%;
        flex-basis: 8.33333%; }
  .col-l-2 {
    -ms-flex-preferred-size: 16.66667%;
        flex-basis: 16.66667%; }
  .col-l-3 {
    -ms-flex-preferred-size: 25%;
        flex-basis: 25%; }
  .col-l-4 {
    -ms-flex-preferred-size: 33.33333%;
        flex-basis: 33.33333%; }
  .col-l-5 {
    -ms-flex-preferred-size: 41.66667%;
        flex-basis: 41.66667%; }
  .col-l-6 {
    -ms-flex-preferred-size: 50%;
        flex-basis: 50%; }
  .col-l-7 {
    -ms-flex-preferred-size: 58.33333%;
        flex-basis: 58.33333%; }
  .col-l-8 {
    -ms-flex-preferred-size: 66.66667%;
        flex-basis: 66.66667%; }
  .col-l-9 {
    -ms-flex-preferred-size: 75%;
        flex-basis: 75%; }
  .col-l-10 {
    -ms-flex-preferred-size: 83.33333%;
        flex-basis: 83.33333%; }
  .col-l-11 {
    -ms-flex-preferred-size: 91.66667%;
        flex-basis: 91.66667%; }
  .col-l-12 {
    -ms-flex-preferred-size: 100%;
        flex-basis: 100%; } }

@media screen and (min-width: 80em) {
  .col-xl-auto {
    -ms-flex-preferred-size: auto;
        flex-basis: auto; }
  .col-xl-0 {
    -ms-flex-preferred-size: 0%;
        flex-basis: 0%; }
  .col-xl-1 {
    -ms-flex-preferred-size: 8.33333%;
        flex-basis: 8.33333%; }
  .col-xl-2 {
    -ms-flex-preferred-size: 16.66667%;
        flex-basis: 16.66667%; }
  .col-xl-3 {
    -ms-flex-preferred-size: 25%;
        flex-basis: 25%; }
  .col-xl-4 {
    -ms-flex-preferred-size: 33.33333%;
        flex-basis: 33.33333%; }
  .col-xl-5 {
    -ms-flex-preferred-size: 41.66667%;
        flex-basis: 41.66667%; }
  .col-xl-6 {
    -ms-flex-preferred-size: 50%;
        flex-basis: 50%; }
  .col-xl-7 {
    -ms-flex-preferred-size: 58.33333%;
        flex-basis: 58.33333%; }
  .col-xl-8 {
    -ms-flex-preferred-size: 66.66667%;
        flex-basis: 66.66667%; }
  .col-xl-9 {
    -ms-flex-preferred-size: 75%;
        flex-basis: 75%; }
  .col-xl-10 {
    -ms-flex-preferred-size: 83.33333%;
        flex-basis: 83.33333%; }
  .col-xl-11 {
    -ms-flex-preferred-size: 91.66667%;
        flex-basis: 91.66667%; }
  .col-xl-12 {
    -ms-flex-preferred-size: 100%;
        flex-basis: 100%; } }

/* ------------------------------------------------------------------------ * * Icon
\* ------------------------------------------------------------------------ */
.icon {
  -ms-flex-item-align: center;
      align-self: center;
  display: -ms-inline-flexbox;
  display: inline-flex;
  height: 1em;
  position: relative;
  width: 1em; }

.icon_svg {
  bottom: -0.125em;
  height: 1em;
  position: absolute;
  width: 1em; }

/* ------------------------------------------------------------------------ * * Link
\* ------------------------------------------------------------------------ */
.link, .user-content a {
  color: #B7202A;
  cursor: pointer;
  text-decoration: none;
  transition: color 0.15s; }

.link:focus, .user-content a:focus, .link:hover, .user-content a:hover {
  color: #DA4E5D; }

/* ------------------------------------------------------------------------ * * Title
\* ------------------------------------------------------------------------ */
.title, .user-content h1,
.user-content h2,
.user-content h3,
.user-content h4,
.user-content h5,
.user-content h6 {
  color: #751113;
  font-family: "Prata", "Times New Roman", "Times", serif;
  font-size: 1.375em;
  font-weight: 700;
  letter-spacing: 0.025em;
  line-height: 1.18182em;
  margin: 0em 0em 0.45455em;
  text-transform: uppercase; }

/* Tablet variant */
@media screen and (min-width: 48em) {
  .title, .user-content h1,
  .user-content h2,
  .user-content h3,
  .user-content h4,
  .user-content h5,
  .user-content h6 {
    font-size: 2em; } }

/* divider variant */
.title.-divider, .user-content h1.-divider,
.user-content h2.-divider,
.user-content h3.-divider,
.user-content h4.-divider,
.user-content h5.-divider,
.user-content h6.-divider {
  -ms-flex-align: center;
      align-items: center;
  display: -ms-flexbox;
  -js-display: flex;
  display: flex; }

.title.-divider::before, .user-content h1.-divider::before,
.user-content h2.-divider::before,
.user-content h3.-divider::before,
.user-content h4.-divider::before,
.user-content h5.-divider::before,
.user-content h6.-divider::before, .title.-divider::after, .user-content h1.-divider::after,
.user-content h2.-divider::after,
.user-content h3.-divider::after,
.user-content h4.-divider::after,
.user-content h5.-divider::after,
.user-content h6.-divider::after {
  background: #b5b5b5;
  content: "\0020";
  display: block;
  -ms-flex: 1 1 0%;
      flex: 1 1 0%;
  height: 1px;
  height: 0.0625rem; }

.title.-divider::before, .user-content h1.-divider::before,
.user-content h2.-divider::before,
.user-content h3.-divider::before,
.user-content h4.-divider::before,
.user-content h5.-divider::before,
.user-content h6.-divider::before {
  margin-right: 0.36364em; }

.title.-divider::after, .user-content h1.-divider::after,
.user-content h2.-divider::after,
.user-content h3.-divider::after,
.user-content h4.-divider::after,
.user-content h5.-divider::after,
.user-content h6.-divider::after {
  margin-left: 0.36364em; }

/* divider Tablet variant */
@media screen and (min-width: 48em) {
  .title.-divider::before, .user-content h1.-divider::before,
  .user-content h2.-divider::before,
  .user-content h3.-divider::before,
  .user-content h4.-divider::before,
  .user-content h5.-divider::before,
  .user-content h6.-divider::before {
    margin-right: 1.25em; }
  .title.-divider::after, .user-content h1.-divider::after,
  .user-content h2.-divider::after,
  .user-content h3.-divider::after,
  .user-content h4.-divider::after,
  .user-content h5.-divider::after,
  .user-content h6.-divider::after {
    margin-left: 1.25em; } }

/* divider left variant */
.title.-divider.-left::after, .user-content h1.-divider.-left::after,
.user-content h2.-divider.-left::after,
.user-content h3.-divider.-left::after,
.user-content h4.-divider.-left::after,
.user-content h5.-divider.-left::after,
.user-content h6.-divider.-left::after {
  display: none; }

/* divider right variant */
.title.-divider.-right::before, .user-content h1.-divider.-right::before,
.user-content h2.-divider.-right::before,
.user-content h3.-divider.-right::before,
.user-content h4.-divider.-right::before,
.user-content h5.-divider.-right::before,
.user-content h6.-divider.-right::before {
  display: none; }

/* sub variant */
.title.-sub, .user-content h1.-sub,
.user-content h2.-sub,
.user-content h3.-sub,
.user-content h4.-sub,
.user-content h5.-sub,
.user-content h6.-sub {
  font-size: 1.125em; }

/* sub Tablet variant */
@media screen and (min-width: 48em) {
  .title.-sub, .user-content h1.-sub,
  .user-content h2.-sub,
  .user-content h3.-sub,
  .user-content h4.-sub,
  .user-content h5.-sub,
  .user-content h6.-sub {
    font-size: 1.25em; } }

/* ------------------------------------------------------------------------ * * Text
\* ------------------------------------------------------------------------ */
.text, .user-content p,
.user-content ol,
.user-content ul,
.user-content table {
  color: #000000;
  font-family: "Source Sans Pro", "Arial", "Helvetica", sans-serif;
  font-size: 1.0625em;
  font-weight: 300;
  line-height: 1.29412em;
  margin: 0em 0em 1.29412em; }

/* Tablet variant */
@media screen and (min-width: 48em) {
  .text, .user-content p,
  .user-content ol,
  .user-content ul,
  .user-content table {
    font-size: 1.4375em; } }

/* label variant */
.text.-label, .user-content p.-label,
.user-content ol.-label,
.user-content ul.-label,
.user-content table.-label {
  cursor: pointer; }

/* ------------------------------------------------------------------------ * * Input
\* ------------------------------------------------------------------------ */
.input {
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
  background: #FFFFFF;
  border: 1px solid #cccccc;
  border: 0.0625rem solid #cccccc;
  border-radius: 0;
  color: #000000;
  display: block;
  font-family: "Source Sans Pro", "Arial", "Helvetica", sans-serif;
  font-size: 0.875em;
  font-weight: 400;
  line-height: 1.28571em;
  margin: 0em 0em 0.89286em;
  outline: 0;
  padding: 0.60714em 1.42857em;
  transition: border-color 0.15s, color 0.15s;
  width: 100%; }

.input:focus, .input:hover {
  border-color: #B7202A; }

/* Tablet variant */
@media screen and (min-width: 48em) {
  .input {
    font-size: 1.125em; } }

/* select variant */
.input.-select {
  cursor: pointer;
  text-indent: 0.01px;
  text-overflow: ""; }
  .input.-select::-ms-expand {
    display: none; }

.input.-select.-arrow {
  background-image: url("data:image/svg+xml;utf8,<svg width='1792' height='1792' viewBox='0 0 1792 1792' xmlns='http://www.w3.org/2000/svg'><path d='M1408 1088q0 26-19 45l-448 448q-19 19-45 19t-45-19l-448-448q-19-19-19-45t19-45 45-19h896q26 0 45 19t19 45zm0-384q0 26-19 45t-45 19h-896q-26 0-45-19t-19-45 19-45l448-448q19-19 45-19t45 19l448 448q19 19 19 45z'/></svg>");
  background-position: center right 0.71429em;
  background-repeat: no-repeat;
  background-size: 1em 1em;
  padding-right: 3.14286em; }

/* checkbox & radiobutton variants */
.input.-checkbox,
.input.-radiobutton {
  background-position: center center;
  background-repeat: no-repeat;
  background-size: 0.71429em;
  cursor: pointer;
  display: inline-block;
  height: 1.14286em;
  padding: 0;
  vertical-align: middle;
  width: 1.14286em; }

.input.-checkbox.-radiobutton,
.input.-radiobutton.-radiobutton {
  border-radius: 50%; }

.input.-checkbox.-checkbox:checked,
.input.-radiobutton.-checkbox:checked {
  /* bgImage: ignore */
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='32' height='32' viewbox='0 0 32 32'%3E%3Cpath d='M32,8.5c0,0.5-0.2,1-0.6,1.4L16.5,24.9l-2.8,2.8c-0.4,0.4-0.9,0.6-1.4,0.6c-0.5,0-1-0.2-1.4-0.6l-2.8-2.8l-7.5-7.5,C0.2,17,0,16.6,0,16c0-0.6,0.2-1,0.6-1.4l2.8-2.8c0.4-0.4,0.9-0.6,1.4-0.6c0.5,0,1,0.2,1.4,0.6l6.1,6.1L25.8,4.3,c0.4-0.4,0.9-0.6,1.4-0.6c0.6,0,1,0.2,1.4,0.6l2.8,2.8C31.8,7.5,32,8,32,8.5z' /%3E%3C/svg%3E"); }

.input.-checkbox.-radiobutton:checked,
.input.-radiobutton.-radiobutton:checked {
  /* bgImage: ignore */
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='32' height='32' viewbox='0 0 32 32'%3E%3Cpath d='M29.9,8c1.4,2.5,2.1,5.1,2.1,8s-0.7,5.6-2.1,8s-3.4,4.4-5.8,5.8S18.9,32,16,32c-2.9,0-5.6-0.7-8-2.1S3.6,26.5,2.1,24,C0.7,21.6,0,18.9,0,16s0.7-5.6,2.1-8C3.6,5.5,5.5,3.6,8,2.1S13.1,0,16,0c2.9,0,5.6,0.7,8,2.1S28.4,5.5,29.9,8z' /%3E%3C/svg%3E"); }

.input.-checkbox + .text.-label, .user-content .input.-checkbox + p.-label,
.user-content .input.-checkbox + ol.-label,
.user-content .input.-checkbox + ul.-label,
.user-content .input.-checkbox + table.-label,
.input.-radiobutton + .text.-label, .user-content
.input.-radiobutton + p.-label,
.user-content
.input.-radiobutton + ol.-label,
.user-content
.input.-radiobutton + ul.-label,
.user-content
.input.-radiobutton + table.-label {
  display: inline-block; }

/* touch checkbox & radiobutton variants */
@media (pointer: coarse) {
  .input.-checkbox,
  .input.-radiobutton {
    font-size: 1.5em; } }

/* ------------------------------------------------------------------------ * * Button
\* ------------------------------------------------------------------------ */
.button {
  background: #E5E5E5;
  border: 1px solid #b5b5b5;
  border: 0.0625rem solid #b5b5b5;
  color: #751113;
  cursor: pointer;
  display: inline-block;
  font-family: "Prata", "Times New Roman", "Times", serif;
  font-size: 0.875em;
  font-weight: 700;
  line-height: 1.42857em;
  margin: 0em 0em 0.89286em;
  outline: 0;
  padding: 0.57143em 1.14286em;
  text-decoration: none;
  text-transform: lowercase;
  transition: background 0.15s; }

.button:focus, .button:hover {
  background: white; }

/* Desktop variant */
@media screen and (min-width: 48em) {
  .button {
    font-size: 1.125em; } }

/* ------------------------------------------------------------------------ * * Divider
\* ------------------------------------------------------------------------ */
.divider, .user-content hr {
  background: #cccccc;
  border: 0;
  clear: both;
  height: 1px;
  height: 0.0625rem;
  margin: 0em 0em 1.25em;
  width: 100%; }

/* ------------------------------------------------------------------------ * * User Content
\* ------------------------------------------------------------------------ */
.user-content {
  /* stylelint-disable selector-no-qualifying-type, selector-max-type */
  /* stylelint-enable */ }
  .user-content h1 em,
  .user-content h2 em,
  .user-content h3 em,
  .user-content h4 em,
  .user-content h5 em,
  .user-content h6 em {
    color: #B7202A;
    font-family: "Arizonia", "Brush Script Std", "Caflisch", cursive;
    font-size: 1.15em;
    font-style: normal;
    font-weight: 400;
    text-transform: none; }
  .user-content h2 {
    color: #B7202A;
    font-family: "Arizonia", "Brush Script Std", "Caflisch", cursive;
    font-size: 2.5em;
    font-style: normal;
    font-weight: 400;
    margin-bottom: 0.125em;
    text-transform: none; }
  .user-content h3 {
    -ms-flex-align: center;
        align-items: center;
    display: -ms-flexbox;
    -js-display: flex;
    display: flex; }
  .user-content h3::before,
  .user-content h3::after {
    background: #b5b5b5;
    content: "\0020";
    display: block;
    -ms-flex: 1 1 0%;
        flex: 1 1 0%;
    height: 1px;
    height: 0.0625rem; }
  .user-content h3::before {
    margin-right: 0.36364em; }
  .user-content h3::after {
    margin-left: 0.36364em; }
  .user-content h4 {
    font-size: 1.03125em;
    line-height: 1.36364em;
    margin: 0em 0em 0.48485em;
    text-transform: none; }
  .user-content h5,
  .user-content h6 {
    font-size: 1em;
    line-height: 1.5em;
    margin: 0em 0em 0.5em; }
  .user-content p .button,
  .user-content ol .button,
  .user-content ul .button,
  .user-content table .button {
    font-size: 0.82353em; }
  .user-content ol,
  .user-content ul {
    padding-left: 1.5em; }
  .user-content ol ol,
  .user-content ol ul,
  .user-content ul ol,
  .user-content ul ul {
    font-size: 1em; }
  .user-content .table_container {
    overflow: auto;
    width: 100%; }
  .user-content table {
    border-collapse: collapse;
    display: table;
    width: 100%; }
  .user-content table td,
  .user-content table th {
    border: 1px solid #cccccc;
    border: 0.0625rem solid #cccccc;
    padding: 0.5em 0.66667em;
    text-align: left;
    vertical-align: top; }
  .user-content table tbody th,
  .user-content table > tr > th,
  .user-content table[data-stacked="true"] tbody td::before {
    font-weight: 700;
    text-transform: uppercase; }
  .user-content table thead td,
  .user-content table thead th {
    background: #808285;
    border-color: #9a9c9e;
    color: #FFFFFF;
    font-size: 1.33333em;
    font-weight: 400;
    padding: 0.375em 0.5em; }
  .user-content table > tr:nth-child(even) td,
  .user-content table > tr:nth-child(even) th,
  .user-content table tbody tr:nth-child(even) td,
  .user-content table tbody tr:nth-child(even) th {
    background: #E5E5E5; }
  .user-content blockquote {
    font-style: italic;
    margin: 0em 0em 1.125em;
    padding: 0em 0em 0em 1.75em;
    position: relative; }
  .user-content blockquote p,
  .user-content blockquote ol,
  .user-content blockquote ul,
  .user-content blockquote table {
    color: gray;
    font-size: 0.875em; }
  .user-content blockquote > :last-child {
    margin-bottom: 0; }
  .user-content img {
    display: block;
    height: auto !important;
    max-width: 100%; }
  .user-content .alignleft {
    float: left;
    margin-right: 1.5625em;
    max-width: 33.33333%; }
  .user-content .alignright {
    float: right;
    margin-left: 1.5625em;
    max-width: 33.33333%; }
  .user-content .aligncenter {
    display: block;
    margin-left: auto;
    margin-right: auto; }

/* Tablet variant */
@media screen and (min-width: 48em) {
  .user-content {
    /* stylelint-disable selector-no-qualifying-type, selector-max-type */
    /* stylelint-enable */ }
    .user-content h2 {
      font-size: 3.75em; }
    .user-content h3::before {
      margin-right: 1.25em; }
    .user-content h3::after {
      margin-left: 1.25em; }
    .user-content h4 {
      font-size: 1.375em; }
    .user-content h5,
    .user-content h6 {
      font-size: 1.2em; }
    .user-content p .button,
    .user-content ol .button,
    .user-content ul .button,
    .user-content table .button {
      font-size: 0.78261em; }
    .user-content blockquote {
      margin-bottom: 1.5em;
      padding-left: 2.25em; }
    .user-content blockquote::before {
      font-size: 1.5em; }
    .user-content blockquote p,
    .user-content blockquote ol,
    .user-content blockquote ul,
    .user-content blockquote table {
      font-size: 1.125em; } }

/* light variant */
.user-content.-light {
  /* stylelint-disable selector-no-qualifying-type, selector-max-type */
  /* stylelint-enable */ }
  .user-content.-light h1,
  .user-content.-light h2,
  .user-content.-light h3,
  .user-content.-light h4,
  .user-content.-light h5,
  .user-content.-light h6,
  .user-content.-light ol,
  .user-content.-light p,
  .user-content.-light table,
  .user-content.-light ul {
    color: #FFFFFF; }

/* ------------------------------------------------------------------------ * * Module
\* ------------------------------------------------------------------------ */
/* ------------------------------------------------------------------------ * * Article
\* ------------------------------------------------------------------------ */
.article_figure {
  border: 1px solid #b5b5b5;
  border: 0.0625rem solid #b5b5b5;
  margin: 0em 0em 1.875em; }

.article_image {
  display: block;
  width: 100%; }

/* callout variant */
.article.-callout {
  background: #FFFFFF;
  border: 1px solid #b5b5b5;
  border: 0.0625rem solid #b5b5b5;
  margin: 0px 0px 25px;
  margin: 0rem 0rem 1.5625rem; }

.article.-callout .article_figure {
  border: 0;
  margin: 0; }

.article.-callout .article_content {
  padding: 20px;
  padding: 1.25rem; }

.article.-callout .article_link {
  color: inherit; }

.article.-callout .article_link:focus,
.article.-callout .article_link:hover {
  color: inherit;
  text-decoration: underline; }

.article.-callout .article_title {
  font-size: 1.125em; }

/* callout alt variant */
.article.-callout.-alt {
  border: 0; }

.article.-callout.-alt .article_content {
  padding-left: 0;
  padding-right: 0; }

/* excerpt variant */
.article.-excerpt:not(:last-of-type) {
  border-bottom: 1px solid #cccccc;
  border-bottom: 0.0625rem solid #cccccc;
  margin-bottom: 1.25em; }

.article.-excerpt .article_link {
  color: #751113; }

.article.-excerpt .article_link:focus,
.article.-excerpt .article_link:hover {
  color: #B7202A; }

.article.-excerpt .article_title {
  font-size: 1.25em; }

/* headline variant */
.article.-headline {
  border-bottom: 1px solid #b5b5b5;
  border-bottom: 0.0625rem solid #b5b5b5;
  margin: 0em 0em 0.9375em;
  padding: 0em 0em 0.9375em; }

.article.-headline .article_figure {
  border: 0;
  margin: 0;
  width: 4.6875em; }

.article.-headline .article_text {
  font-size: 0.9375em; }

/* ------------------------------------------------------------------------ * * Logo
\* ------------------------------------------------------------------------ */
.logo {
  display: block;
  text-decoration: none;
  transition: opacity 0.15s; }

.logo:hover {
  opacity: 0.9; }

.logo_image {
  display: block;
  width: 100%; }

/* ------------------------------------------------------------------------ * * Menu List
\* ------------------------------------------------------------------------ */
/* ============================ GLOBAL VARIANTS =========================== */
.menu-list {
  list-style: none;
  margin: 0;
  padding: 0;
  position: relative;
  text-align: center; }

.menu-list_item {
  float: left;
  position: relative; }

.menu-list_item.-parent {
  display: -ms-flexbox;
  -js-display: flex;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap; }

.menu-list_item.-mega {
  position: static; }

.menu-list_link {
  display: block;
  -ms-flex: 1 1 0%;
      flex: 1 1 0%;
  min-width: 0;
  text-decoration: none; }

.menu-list_toggle {
  background: none;
  border: 0;
  cursor: pointer;
  display: block;
  -ms-flex: 0 0 auto;
      flex: 0 0 auto;
  font-size: 1em;
  margin: 0; }

.menu-list_toggle > .icon {
  transition: transform 0.15s; }

.menu-list_item.is-active > .menu-list_toggle > .icon {
  transform: rotate(-180deg); }

/* center variant */
.menu-list.-center {
  float: right;
  position: relative;
  right: 50%; }

.menu-list.-center > .menu-list_item {
  left: 50%; }

/* flex variant */
.menu-list.-flex {
  -ms-flex-align: center;
      align-items: center;
  display: -ms-flexbox;
  -js-display: flex;
  display: flex; }

.menu-list.-flex > .menu-list_item {
  -ms-flex: 1 1 0%;
      flex: 1 1 0%;
  min-width: 0; }

/* vertical variant */
.menu-list.-vertical {
  text-align: left; }

.menu-list.-vertical > .menu-list_item {
  float: none; }

/* vertical reverse variant */
.menu-list.-vertical.-reverse {
  text-align: right; }

/* tier variant */
.menu-list[class*="-tier"] {
  min-width: 100%; }

/* tier accordion variant */
.menu-list[class*="-tier"].-accordion {
  max-height: 0;
  overflow: hidden;
  transition: max-height 0.25s, visibility 0s 0.25s;
  visibility: hidden;
  width: 100%; }

.menu-list_item.-parent.is-active > .menu-list[class*="-tier"].-accordion {
  max-height: 31.25em;
  transition: max-height 0.25s;
  visibility: visible; }

/* tier overlay variant */
.menu-list[class*="-tier"].-overlay {
  left: -999em;
  opacity: 0;
  position: absolute;
  top: -999em;
  transition: left 0s 0.15s, opacitwy 0.15s, top 0s 0.15s, visibility 0s 0.15s;
  visibility: hidden;
  width: 15.625em; }

.menu-list_item.-parent:hover > .menu-list[class*="-tier"].-overlay,
.menu-list_item.-parent.is-active > .menu-list[class*="-tier"].-overlay {
  opacity: 1;
  transition: opacity 0.15s;
  visibility: visible; }

/* tier variant */
.menu-list[class*="-tier"].-overlay.-reverse {
  transition: opacity 0.15s, right 0s 0.15s, top 0s 0.15s; }

.menu-list_item.-parent:hover > .menu-list[class*="-tier"].-overlay.-reverse,
.menu-list_item.-parent.is-active > .menu-list[class*="-tier"].-overlay.-reverse {
  left: auto;
  right: 0;
  transition: opacity 0.15s; }

/* tier1 overlay variant */
.menu-list_item.-parent:hover > .menu-list.-tier1.-overlay,
.menu-list_item.-parent.is-active > .menu-list.-tier1.-overlay {
  left: 0;
  top: 100%; }

.menu-list.-tier1.-overlay > .menu-list_item.is-active > .menu-list_toggle > .icon {
  transform: rotate(-90deg); }

/* tier1 overlay reverse variant */
.menu-list.-tier1.-overlay.-reverse {
  left: auto;
  right: 999em; }

.menu-list_item.-parent:hover > .menu-list.-tier1.-overlay.-reverse,
.menu-list_item.-parent.is-active > .menu-list.-tier1.-overlay.-reverse {
  left: auto;
  right: 0; }

.menu-list.-tier1.-overlay.-reverse > .menu-list_item.is-active > .menu-list_toggle > .icon {
  transform: rotate(90deg); }

/* tier2 overlay variant */
.menu-list_item.-parent:hover > .menu-list.-tier2.-overlay,
.menu-list_item.-parent.is-active > .menu-list.-tier2.-overlay {
  left: 100%;
  top: 0; }

/* tier2 overlay reverse variant */
.menu-list.-tier2.-overlay.-reverse {
  left: auto;
  right: 999em; }

.menu-list_item.-parent:hover > .menu-list.-tier2.-overlay.-reverse,
.menu-list_item.-parent.is-active > .menu-list.-tier2.-overlay.-reverse {
  left: auto;
  right: 100%; }

/* ============================ CUSTOM VARIANTS =========================== */
/* mega variant */
.menu-list_container.-mega {
  display: -ms-flexbox;
  -js-display: flex;
  display: flex;
  left: -999em;
  opacity: 0;
  position: absolute;
  right: 999em;
  top: -999em;
  transition: left 0s 0.15s, opacity 0.15s, right 0s 0.15s, top 0s 0.15s, visibility 0s 0.15s;
  visibility: hidden; }

.menu-list_item.-mega.-parent:hover > .menu-list_container.-mega,
.menu-list_item.-mega.-parent.is-active > .menu-list_container.-mega {
  left: 0;
  opacity: 1;
  right: 0;
  top: 100%;
  transition: opacity 0.15s;
  visibility: visible; }

.menu-list_container.-mega .menu-list.-tier1 {
  -ms-flex: 1 1 0%;
      flex: 1 1 0%;
  min-width: 0; }

.menu-list_container.-mega .menu-list.-tier2 {
  -ms-flex: 0 0 100%;
      flex: 0 0 100%; }

/* meta variant */
.menu-list.-meta {
  color: #808285;
  font-family: "Prata", "Times New Roman", "Times", serif;
  font-size: 0.875em;
  font-weight: 700;
  text-transform: uppercase; }

.menu-list.-meta .menu-list_item:not(:last-child) {
  margin-right: 1.42857em; }

.menu-list.-meta .menu-list_link {
  color: #808285;
  display: inline-block; }

.menu-list.-meta .menu-list_link:hover {
  color: #9a9c9e; }

/* navigation variant */
.menu-list.-navigation {
  font-family: "Prata", "Times New Roman", "Times", serif;
  font-size: 1.125em;
  font-weight: 400;
  text-transform: uppercase; }

.menu-list.-navigation .menu-list_link,
.menu-list.-navigation .menu-list_toggle {
  color: #B7202A;
  padding: 0.44444em 1em; }

.menu-list.-navigation .menu-list_link:focus,
.menu-list.-navigation .menu-list_link:hover,
.menu-list.-navigation > .menu-list_item.-parent:hover > .menu-list_link,
.menu-list.-navigation > .menu-list_item.-parent.is-active > .menu-list_link,
.menu-list.-navigation .menu-list_toggle:focus,
.menu-list.-navigation .menu-list_toggle:hover,
.menu-list.-navigation .menu-list_item.-parent:hover > .menu-list_toggle,
.menu-list.-navigation .menu-list_item.-parent.is-active > .menu-list_toggle {
  color: #DA4E5D; }

.menu-list.-navigation .menu-list.-tier1 {
  background-color: #B7202A;
  font-size: 0.88889em; }

.menu-list.-navigation .menu-list.-tier1::before,
.menu-list.-navigation .menu-list.-tier1::after {
  content: "\0020";
  display: block;
  height: 0.5em;
  width: 100%; }

.menu-list.-navigation .menu-list.-tier1.-mega {
  max-width: 15.625em; }

.menu-list.-navigation .menu-list.-tier1.-mega:not(:last-child) {
  border-right: 1px solid #8c1820;
  border-right: 0.0625rem solid #8c1820; }

.menu-list.-navigation .menu-list.-tier1 .menu-list_link,
.menu-list.-navigation .menu-list.-tier1 .menu-list_toggle {
  color: #FFFFFF;
  padding: 0.25em 1.125em; }

.menu-list.-navigation .menu-list.-tier1 .menu-list_link:focus,
.menu-list.-navigation .menu-list.-tier1 .menu-list_link:hover,
.menu-list.-navigation .menu-list.-tier1:not(.-mega) > .menu-list_item.-parent:hover > .menu-list_link,
.menu-list.-navigation .menu-list.-tier1:not(.-mega) > .menu-list_item.-parent.is-active > .menu-list_link,
.menu-list.-navigation .menu-list.-tier1 .menu-list_toggle:focus,
.menu-list.-navigation .menu-list.-tier1 .menu-list_toggle:hover,
.menu-list.-navigation .menu-list.-tier1:not(.-mega) > .menu-list_item.-parent:hover > .menu-list_toggle,
.menu-list.-navigation .menu-list.-tier1:not(.-mega) > .menu-list_item.-parent.is-active > .menu-list_toggle {
  background-color: #db2f3b; }

.menu-list.-navigation .menu-list.-tier2 {
  font-size: 0.875em; }

.menu-list.-navigation .menu-list.-tier2:not(.-mega)::before,
.menu-list.-navigation .menu-list.-tier2::after {
  content: "\0020";
  display: block;
  height: 0.42857em;
  width: 100%; }

.menu-list.-navigation .menu-list.-tier2:not(.-mega) {
  background-color: #db2f3b; }

.menu-list.-navigation .menu-list.-tier2 .menu-list_link,
.menu-list.-navigation .menu-list.-tier2 .menu-list_toggle {
  color: #FFFFFF;
  padding: 0.14286em 1.28571em; }

.menu-list.-navigation .menu-list.-tier2 .menu-list_link:focus,
.menu-list.-navigation .menu-list.-tier2 .menu-list_link:hover,
.menu-list.-navigation .menu-list.-tier2:not(.-mega) > .menu-list_item.-parent:hover > .menu-list_link,
.menu-list.-navigation .menu-list.-tier2:not(.-mega) > .menu-list_item.-parent.is-active > .menu-list_link,
.menu-list.-navigation .menu-list.-tier2 .menu-list_toggle:focus,
.menu-list.-navigation .menu-list.-tier2 .menu-list_toggle:hover,
.menu-list.-navigation .menu-list.-tier2:not(.-mega) > .menu-list_item.-parent:hover > .menu-list_toggle,
.menu-list.-navigation .menu-list.-tier2:not(.-mega) > .menu-list_item.-parent.is-active > .menu-list_toggle {
  background-color: #e25b64; }

.menu-list.-navigation .menu-list.-tier2 .menu-list_link::before {
  content: "\002D\0020\0020"; }

/* pagination variant */
.menu-list.-pagination {
  font-family: "Source Sans Pro", "Arial", "Helvetica", sans-serif;
  font-size: 0.875em;
  font-weight: 400; }

.menu-list.-pagination .menu-list_item:not(:last-child) {
  margin-right: 0.57143em; }

.menu-list.-pagination .menu-list_link.-current {
  color: #000000;
  cursor: auto; }

/* sitemap variant */
.menu-list.-sitemap {
  color: #2f2f2f;
  font-family: "Prata", "Times New Roman", "Times", serif;
  font-size: 1em;
  font-weight: 400;
  line-height: 1.5em;
  margin: 0em 0em 0.5em;
  text-transform: lowercase; }

.menu-list.-sitemap .menu-list_item:not(:last-child)::after {
  content: "|";
  display: inline-block;
  margin: 0em 0.1875em; }

.menu-list.-sitemap .menu-list_link {
  color: inherit;
  display: inline-block; }

.menu-list.-sitemap .menu-list_link:focus,
.menu-list.-sitemap .menu-list_link:hover {
  color: inherit;
  text-decoration: underline; }

/* social variant */
.menu-list.-social {
  font-size: 1.25em;
  line-height: 1.6em; }

.menu-list.-social .menu-list_item:not(:last-child) {
  margin-right: 1em; }

.menu-list.-social .menu-list_link {
  background: #FFFFFF;
  border: 1px solid currentColor;
  border: 0.0625rem solid currentColor;
  color: #b5b5b5;
  height: 1.6em;
  width: 1.6em; }

.menu-list.-social .menu-list_link:focus,
.menu-list.-social .menu-list_link:hover {
  color: #B7202A; }

/* toolbar variant */
.menu-list.-toolbar {
  font-family: "Prata", "Times New Roman", "Times", serif;
  font-size: 1em;
  font-weight: 400;
  text-transform: lowercase; }

.menu-list.-toolbar:not(.-vertical) .menu-list_item:not(:last-child) {
  margin-right: 1.875em; }

.menu-list.-toolbar .menu-list_link {
  color: #434343; }

.menu-list.-toolbar .menu-list_link:focus,
.menu-list.-toolbar .menu-list_link:hover {
  color: #B7202A; }

.menu-list.-toolbar.-vertical .menu-list_link {
  padding: 0.25em 1.125em; }

/* ------------------------------------------------------------------------ * * Menu Toggle
\* ------------------------------------------------------------------------ */
.menu-toggle {
  background: none;
  border: 0;
  color: #B7202A;
  font-size: 1em;
  height: 3.125em;
  margin: 0;
  padding: 0;
  position: relative;
  text-indent: -999em;
  width: 3.125em; }

.menu-toggle::before, .menu-toggle::after {
  background: currentColor;
  bottom: 0;
  content: "\0020";
  display: block;
  height: 0.25em;
  left: 0;
  margin: auto;
  position: absolute;
  right: 0;
  top: 0;
  transition: box-shadow 0.15s 0.15s, top 0.15s 0.15s, transform 0.15s;
  width: 1.5em; }

.menu-toggle.-rounded::before, .menu-toggle.-rounded::after {
  border-radius: 0.09375em; }

.menu-toggle.is-active::before, .menu-toggle.is-active::after {
  transition: box-shadow 0.15s, top 0.15s, transform 0.15s 0.15s; }

.menu-toggle::before {
  box-shadow: 0em 0.5em 0em 0em currentColor;
  top: -1em; }

.menu-toggle.is-active::before {
  box-shadow: 0 0 0 0 transparent;
  top: 0;
  transform: rotate(45deg); }

.menu-toggle::after {
  top: 1em; }

.menu-toggle.is-active::after {
  top: 0;
  transform: rotate(-45deg); }

/* ------------------------------------------------------------------------ * * Ninja Forms
\* ------------------------------------------------------------------------ */
/* stylelint-disable selector-class-pattern, selector-max-type */
.nf-form-hp {
  left: -999em;
  position: absolute;
  top: -999em; }

.nf-field-container .pikaday__container {
  display: block; }

.nf-field-container .list-checkbox,
.nf-field-container .list-radio {
  font-size: 1em;
  list-style: none;
  margin-bottom: 0;
  padding: 0; }

.nf-field-container.label-above .field-wrap,
.nf-field-container.label-right .field-wrap,
.nf-field-container.label-below .field-wrap,
.nf-field-container.label-left .field-wrap {
  -ms-flex-align: start;
      align-items: flex-start;
  display: -ms-flexbox;
  -js-display: flex;
  display: flex; }

.nf-field-container.label-right .field-wrap .nf-field-label,
.nf-field-container.label-left .field-wrap .nf-field-label {
  -ms-flex: none;
      flex: none; }

.nf-field-container.label-above .field-wrap .nf-field-element,
.nf-field-container.label-below .field-wrap .nf-field-element {
  width: 100%; }

.nf-field-container.label-right .field-wrap .nf-field-element,
.nf-field-container.label-left .field-wrap .nf-field-element {
  -ms-flex: 1 1 auto;
      flex: 1 1 auto; }

.nf-field-container.label-right .checkbox-wrap .nf-field-element,
.nf-field-container.label-left .checkbox-wrap .nf-field-element {
  -ms-flex: none;
      flex: none; }

.nf-field-container.label-above .field-wrap {
  -ms-flex-direction: column;
      flex-direction: column; }

.nf-field-container.label-below .field-wrap {
  -ms-flex-direction: column;
      flex-direction: column; }

.nf-field-container.label-below .field-wrap .nf-field-label {
  -ms-flex-order: 2;
      order: 2; }

.nf-field-container.label-below .field-wrap .nf-field-element {
  -ms-flex-order: 1;
      order: 1; }

.nf-field-container.label-right .field-wrap .nf-field-label {
  -ms-flex-order: 2;
      order: 2; }

.nf-field-container.label-right .field-wrap .nf-field-element {
  -ms-flex-order: 1;
      order: 1; }

.nf-field-container.label-hidden .field-wrap .nf-field-label {
  left: -999em;
  position: absolute;
  top: -999em; }

/* ------------------------------------------------------------------------ * * Opinionated Tweaks
\* ------------------------------------------------------------------------ */
.nf-field-container .user-content h2 {
  font-size: 2.25em; }

.nf-field-container .list-checkbox,
.nf-field-container .list-radio {
  font-size: 1em;
  margin-bottom: 1.5em; }

.nf-field-container .list-checkbox .input.-checkbox,
.nf-field-container .list-radio .input.-radiobutton {
  margin-bottom: 0.25em; }

.nf-field-container .list-checkbox .text.-label, .nf-field-container .list-checkbox .user-content p.-label, .user-content .nf-field-container .list-checkbox p.-label, .nf-field-container .list-checkbox
.user-content ol.-label,
.user-content .nf-field-container .list-checkbox ol.-label, .nf-field-container .list-checkbox
.user-content ul.-label,
.user-content .nf-field-container .list-checkbox ul.-label, .nf-field-container .list-checkbox
.user-content table.-label,
.user-content .nf-field-container .list-checkbox table.-label,
.nf-field-container .list-radio .text.-label,
.nf-field-container .list-radio .user-content p.-label, .user-content
.nf-field-container .list-radio p.-label,
.nf-field-container .list-radio
.user-content ol.-label,
.user-content
.nf-field-container .list-radio ol.-label,
.nf-field-container .list-radio
.user-content ul.-label,
.user-content
.nf-field-container .list-radio ul.-label,
.nf-field-container .list-radio
.user-content table.-label,
.user-content
.nf-field-container .list-radio table.-label {
  margin-bottom: 0.25em; }

@media (pointer: coarse) {
  .nf-field-container .list-checkbox_item:not(:last-child) .text.-label, .nf-field-container .list-checkbox_item:not(:last-child) .user-content p.-label, .user-content .nf-field-container .list-checkbox_item:not(:last-child) p.-label, .nf-field-container .list-checkbox_item:not(:last-child)
  .user-content ol.-label,
  .user-content .nf-field-container .list-checkbox_item:not(:last-child) ol.-label, .nf-field-container .list-checkbox_item:not(:last-child)
  .user-content ul.-label,
  .user-content .nf-field-container .list-checkbox_item:not(:last-child) ul.-label, .nf-field-container .list-checkbox_item:not(:last-child)
  .user-content table.-label,
  .user-content .nf-field-container .list-checkbox_item:not(:last-child) table.-label,
  .nf-field-container .list-radio_item:not(:last-child) .text.-label,
  .nf-field-container .list-radio_item:not(:last-child) .user-content p.-label, .user-content
  .nf-field-container .list-radio_item:not(:last-child) p.-label,
  .nf-field-container .list-radio_item:not(:last-child)
  .user-content ol.-label,
  .user-content
  .nf-field-container .list-radio_item:not(:last-child) ol.-label,
  .nf-field-container .list-radio_item:not(:last-child)
  .user-content ul.-label,
  .user-content
  .nf-field-container .list-radio_item:not(:last-child) ul.-label,
  .nf-field-container .list-radio_item:not(:last-child)
  .user-content table.-label,
  .user-content
  .nf-field-container .list-radio_item:not(:last-child) table.-label {
    margin-bottom: 1.5em; } }

.nf-field-container .stars {
  margin-bottom: 1.5em; }

.nf-field-container .nf-user-content {
  margin-top: -1.25em; }

.nf-field-container .nf-error-msg {
  font-size: 0.625em;
  margin-bottom: 2.4em;
  margin-top: -2em; }

.nf-field-container .g-recaptcha {
  margin-bottom: 1.5em; }

.nf-field-container.label-above .nf-field-label > .text.-label, .nf-field-container.label-above .user-content .nf-field-label > p.-label, .user-content .nf-field-container.label-above .nf-field-label > p.-label, .nf-field-container.label-above
.user-content .nf-field-label > ol.-label,
.user-content .nf-field-container.label-above .nf-field-label > ol.-label, .nf-field-container.label-above
.user-content .nf-field-label > ul.-label,
.user-content .nf-field-container.label-above .nf-field-label > ul.-label, .nf-field-container.label-above
.user-content .nf-field-label > table.-label,
.user-content .nf-field-container.label-above .nf-field-label > table.-label {
  margin-bottom: 0.25em; }

.nf-field-container.label-below .nf-field-label > .text.-label, .nf-field-container.label-below .user-content .nf-field-label > p.-label, .user-content .nf-field-container.label-below .nf-field-label > p.-label, .nf-field-container.label-below
.user-content .nf-field-label > ol.-label,
.user-content .nf-field-container.label-below .nf-field-label > ol.-label, .nf-field-container.label-below
.user-content .nf-field-label > ul.-label,
.user-content .nf-field-container.label-below .nf-field-label > ul.-label, .nf-field-container.label-below
.user-content .nf-field-label > table.-label,
.user-content .nf-field-container.label-below .nf-field-label > table.-label {
  margin-top: 0.25em; }

.nf-field-container.label-below .nf-field-element .input,
.nf-field-container.label-below .nf-field-element .stars,
.nf-field-container.label-below .list-checkbox,
.nf-field-container.label-below .list-radio {
  margin-bottom: 0;
  -ms-flex-order: 1;
      order: 1; }

.nf-field-container.label-left .nf-field-label > .text.-label, .nf-field-container.label-left .user-content .nf-field-label > p.-label, .user-content .nf-field-container.label-left .nf-field-label > p.-label, .nf-field-container.label-left
.user-content .nf-field-label > ol.-label,
.user-content .nf-field-container.label-left .nf-field-label > ol.-label, .nf-field-container.label-left
.user-content .nf-field-label > ul.-label,
.user-content .nf-field-container.label-left .nf-field-label > ul.-label, .nf-field-container.label-left
.user-content .nf-field-label > table.-label,
.user-content .nf-field-container.label-left .nf-field-label > table.-label {
  margin-right: 0.625em; }

.nf-field-container.label-right .nf-field-label > .text.-label, .nf-field-container.label-right .user-content .nf-field-label > p.-label, .user-content .nf-field-container.label-right .nf-field-label > p.-label, .nf-field-container.label-right
.user-content .nf-field-label > ol.-label,
.user-content .nf-field-container.label-right .nf-field-label > ol.-label, .nf-field-container.label-right
.user-content .nf-field-label > ul.-label,
.user-content .nf-field-container.label-right .nf-field-label > ul.-label, .nf-field-container.label-right
.user-content .nf-field-label > table.-label,
.user-content .nf-field-container.label-right .nf-field-label > table.-label {
  margin-left: 0.625em; }

/* ------------------------------------------------------------------------ * * Overlay Closer
\* ------------------------------------------------------------------------ */
.overlay-closer {
  background: rgba(0, 0, 0, 0.75);
  border: 0;
  bottom: 999em;
  content: "\0020";
  cursor: pointer;
  display: block;
  left: -999em;
  margin: 0;
  opacity: 0;
  padding: 0;
  position: absolute;
  right: 999em;
  top: -999em;
  transition: bottom 0s 0.15s, left 0s 0.15s, opacity 0.15s, right 0s 0.15s, top 0s 0.15s, visibility 0s 0.15s;
  visibility: hidden;
  width: 100%;
  z-index: 998; }

.overlay-closer.is-active {
  bottom: 0;
  left: 0;
  opacity: 1;
  right: 0;
  top: 0;
  transition: opacity 0.15s;
  visibility: visible; }

/* ------------------------------------------------------------------------ * * Search Form
\* ------------------------------------------------------------------------ */
.search-form_container {
  margin: 0em 0em 2.5em; }

.search-form {
  position: relative; }

.search-form_input {
  background: #FFFFFF;
  border: 1px solid #E5E5E5;
  border: 0.0625rem solid #E5E5E5;
  color: #000000;
  font-family: "Source Sans Pro", "Arial", "Helvetica", sans-serif;
  font-size: 1em;
  margin: 0;
  outline: none;
  padding: 0.5em 2.375em 0.5em 0.75em;
  transition: border-color 0.15s;
  width: 100%; }

.search-form_input:focus, .search-form_input:hover {
  border-color: #B7202A; }

.search-form_button {
  background: none;
  border: 0;
  bottom: 1px;
  bottom: 0.0625rem;
  color: #000000;
  cursor: pointer;
  font-size: 1em;
  margin: 0;
  outline: none;
  padding: 0.625em 0.75em;
  position: absolute;
  right: 1px;
  right: 0.0625rem;
  top: 1px;
  top: 0.0625rem;
  transition: color 0.15s; }

.search-form_button:focus, .search-form_button:hover {
  color: #B7202A; }

/* ------------------------------------------------------------------------ * * Swiper (http://idangero.us/swiper/)
\* ------------------------------------------------------------------------ */
/* stylelint-disable selector-class-pattern */
/**
 * Swiper 3.4.1
 * Most modern mobile touch slider and framework with hardware accelerated transitions
 *
 * http://www.idangero.us/swiper/
 *
 * Copyright 2016, Vladimir Kharlampidi
 * The iDangero.us
 * http://www.idangero.us/
 *
 * Licensed under MIT
 *
 * Released on: December 13, 2016
 */
.swiper-container {
  margin-left: auto;
  margin-right: auto;
  position: relative;
  overflow: hidden;
  /* Fix of Webkit flickering */
  z-index: 1; }

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

.swiper-container-vertical > .swiper-wrapper {
  -ms-flex-direction: column;
  flex-direction: column; }

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

.swiper-container-android .swiper-slide,
.swiper-wrapper {
  transform: translate3d(0px, 0, 0); }

.swiper-container-multirow > .swiper-wrapper {
  -webkit-box-lines: multiple;
  -moz-box-lines: multiple;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap; }

.swiper-container-free-mode > .swiper-wrapper {
  transition-timing-function: ease-out;
  margin: 0 auto; }

.swiper-slide {
  -webkit-flex-shrink: 0;
  -ms-flex: 0 0 auto;
  -ms-flex-negative: 0;
      flex-shrink: 0;
  width: 100%;
  height: 100%;
  position: relative; }

/* Auto Height */
.swiper-container-autoheight,
.swiper-container-autoheight .swiper-slide {
  height: auto; }

.swiper-container-autoheight .swiper-wrapper {
  -ms-flex-align: start;
  align-items: flex-start;
  transition-property: transform, height; }

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

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

.swiper-wp8-vertical {
  -ms-touch-action: pan-x;
  touch-action: pan-x; }

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

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

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

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

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

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

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

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

/* Pagination Styles */
.swiper-pagination {
  position: absolute;
  text-align: center;
  transition: 300ms;
  transform: translate3d(0, 0, 0);
  z-index: 10; }

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

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

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

button.swiper-pagination-bullet {
  border: none;
  margin: 0;
  padding: 0;
  box-shadow: none;
  -moz-appearance: none;
  -ms-appearance: none;
  -webkit-appearance: none;
  appearance: none; }

.swiper-pagination-clickable .swiper-pagination-bullet {
  cursor: pointer; }

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

.swiper-pagination-bullet-active {
  opacity: 1;
  background: #007aff; }

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

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

.swiper-container-vertical > .swiper-pagination-bullets {
  right: 10px;
  top: 50%;
  transform: translate3d(0px, -50%, 0); }

.swiper-container-vertical > .swiper-pagination-bullets .swiper-pagination-bullet {
  margin: 5px 0;
  display: block; }

.swiper-container-horizontal > .swiper-pagination-bullets .swiper-pagination-bullet {
  margin: 0 5px; }

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

.swiper-pagination-progress .swiper-pagination-progressbar {
  background: #007aff;
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  transform: scale(0);
  transform-origin: left top; }

.swiper-container-rtl .swiper-pagination-progress .swiper-pagination-progressbar {
  transform-origin: right top; }

.swiper-container-horizontal > .swiper-pagination-progress {
  width: 100%;
  height: 4px;
  left: 0;
  top: 0; }

.swiper-container-vertical > .swiper-pagination-progress {
  width: 4px;
  height: 100%;
  left: 0;
  top: 0; }

.swiper-pagination-progress.swiper-pagination-white {
  background: rgba(255, 255, 255, 0.5); }

.swiper-pagination-progress.swiper-pagination-white .swiper-pagination-progressbar {
  background: #fff; }

.swiper-pagination-progress.swiper-pagination-black .swiper-pagination-progressbar {
  background: #000; }

/* 3D Container */
.swiper-container-3d {
  -o-perspective: 1200px;
  perspective: 1200px; }

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

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

.swiper-container-3d .swiper-slide-shadow-left {
  /* Safari 4+, Chrome */
  /* Chrome 10+, Safari 5.1+, iOS 5+ */
  /* Firefox 3.6-15 */
  /* Opera 11.10-12.00 */
  background-image: linear-gradient(to left, rgba(0, 0, 0, 0.5), transparent);
  /* Firefox 16+, IE10, Opera 12.50+ */ }

.swiper-container-3d .swiper-slide-shadow-right {
  /* Safari 4+, Chrome */
  /* Chrome 10+, Safari 5.1+, iOS 5+ */
  /* Firefox 3.6-15 */
  /* Opera 11.10-12.00 */
  background-image: linear-gradient(to right, rgba(0, 0, 0, 0.5), transparent);
  /* Firefox 16+, IE10, Opera 12.50+ */ }

.swiper-container-3d .swiper-slide-shadow-top {
  /* Safari 4+, Chrome */
  /* Chrome 10+, Safari 5.1+, iOS 5+ */
  /* Firefox 3.6-15 */
  /* Opera 11.10-12.00 */
  background-image: linear-gradient(to top, rgba(0, 0, 0, 0.5), transparent);
  /* Firefox 16+, IE10, Opera 12.50+ */ }

.swiper-container-3d .swiper-slide-shadow-bottom {
  /* Safari 4+, Chrome */
  /* Chrome 10+, Safari 5.1+, iOS 5+ */
  /* Firefox 3.6-15 */
  /* Opera 11.10-12.00 */
  background-image: linear-gradient(to bottom, rgba(0, 0, 0, 0.5), transparent);
  /* Firefox 16+, IE10, Opera 12.50+ */ }

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

/* Cube + Flip */
.swiper-container-cube,
.swiper-container-flip {
  overflow: visible; }

.swiper-container-cube .swiper-slide,
.swiper-container-flip .swiper-slide {
  pointer-events: none;
  -webkit-backface-visibility: hidden;
  backface-visibility: hidden;
  z-index: 1; }

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

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

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

/* Cube */
.swiper-container-cube .swiper-slide {
  visibility: hidden;
  transform-origin: 0 0;
  width: 100%;
  height: 100%; }

.swiper-container-cube.swiper-container-rtl .swiper-slide {
  transform-origin: 100% 0; }

.swiper-container-cube .swiper-slide-active,
.swiper-container-cube .swiper-slide-next,
.swiper-container-cube .swiper-slide-prev,
.swiper-container-cube .swiper-slide-next + .swiper-slide {
  pointer-events: auto;
  visibility: visible; }

.swiper-container-cube .swiper-cube-shadow {
  position: absolute;
  left: 0;
  bottom: 0px;
  width: 100%;
  height: 100%;
  background: #000;
  opacity: 0.6;
  filter: blur(50px);
  z-index: 0; }

/* Fade */
.swiper-container-fade.swiper-container-free-mode .swiper-slide {
  transition-timing-function: ease-out; }

.swiper-container-fade .swiper-slide {
  pointer-events: none;
  transition-property: opacity; }

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

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

.swiper-zoom-container {
  width: 100%;
  height: 100%;
  display: -ms-flexbox;
  -js-display: flex;
  display: flex;
  -ms-flex-pack: center;
  justify-content: center;
  -ms-flex-align: center;
  align-items: center;
  text-align: center; }

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

/* Scrollbar */
.swiper-scrollbar {
  border-radius: 10px;
  position: relative;
  -ms-touch-action: none;
  background: rgba(0, 0, 0, 0.1); }

.swiper-container-horizontal > .swiper-scrollbar {
  position: absolute;
  left: 1%;
  bottom: 3px;
  z-index: 50;
  height: 5px;
  width: 98%; }

.swiper-container-vertical > .swiper-scrollbar {
  position: absolute;
  right: 3px;
  top: 1%;
  z-index: 50;
  width: 5px;
  height: 98%; }

.swiper-scrollbar-drag {
  height: 100%;
  width: 100%;
  position: relative;
  background: rgba(0, 0, 0, 0.5);
  border-radius: 10px;
  left: 0;
  top: 0; }

.swiper-scrollbar-cursor-drag {
  cursor: move; }

/* Preloader */
.swiper-lazy-preloader {
  width: 42px;
  height: 42px;
  position: absolute;
  left: 50%;
  top: 50%;
  margin-left: -21px;
  margin-top: -21px;
  z-index: 10;
  transform-origin: 50%;
  animation: swiper-preloader-spin 1s steps(12, end) infinite; }

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

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

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

.swiper-slide {
  display: -ms-flexbox;
  -js-display: flex;
  display: flex;
  -ms-flex-direction: column;
      flex-direction: column;
  -ms-flex-positive: 1;
      flex-grow: 1;
  height: auto;
  margin: 0;
  overflow: hidden; }

.swiper-picture {
  border: 0;
  border-bottom: 8px solid #9c9c9c;
  border-bottom: 0.5rem solid #9c9c9c;
  border-image: url("../media/background-static.jpg") 0 0 8 repeat;
  -ms-flex: none;
      flex: none; }

.swiper-image {
  display: block;
  width: 100%; }

.swiper-container.-fixedheight .swiper-image {
  left: 50%;
  min-width: 100%;
  position: relative;
  transform: translateX(-50%);
  width: auto; }

.swiper-caption {
  background: #FFFFFF;
  -ms-flex: 1 1 auto;
      flex: 1 1 auto;
  padding: 35px 20px;
  padding: 2.1875rem 1.25rem; }

@media screen and (max-width: 63.9375em) {
  .swiper-caption {
    text-align: center; } }

.swiper-container.-fullbleed .swiper-caption .swiper-caption-inner {
  margin: 0 auto;
  max-width: 93.75em; }

.swiper-button {
  background: none;
  border: 0;
  color: #751113;
  display: block;
  height: 100%;
  margin: 0;
  opacity: 0;
  padding: 0;
  top: 0;
  transition: opacity 0.15s;
  width: 3.4375em; }

.swiper-button.-prev {
  background: none;
  left: 0; }

.swiper-container-rtl .swiper-button.-prev {
  background: none;
  right: 0; }

.swiper-button.-next {
  background: none;
  right: 0; }

.swiper-container-rtl .swiper-button.-next {
  background: none;
  left: 0; }

.swiper-container:hover .swiper-button {
  opacity: 0.5; }

.swiper-container:hover .swiper-button:hover,
.swiper-container:hover .swiper-button:focus {
  opacity: 1; }

.swiper-button .swiper-button-icon,
.swiper-button .swiper-button-icon {
  font-size: 3em;
  left: 50%;
  position: absolute;
  top: 50%;
  transform: translateX(-50%) translateY(-50%); }

.swiper-pagination-fraction,
.swiper-pagination-custom,
.swiper-container-horizontal > .swiper-pagination-bullets {
  bottom: auto;
  top: 0; }

.swiper-pagination-bullet {
  background: rgba(0, 0, 0, 0.5);
  height: 0.625em;
  opacity: 1;
  transition: background 0.15s;
  width: 0.625em; }

.swiper-container-horizontal > .swiper-pagination-bullets .swiper-pagination-bullet {
  margin: 1.25em 0.3125em; }

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

/* ------------------------------------------------------------------------ * * Widget
\* ------------------------------------------------------------------------ */
.widget {
  background: #FFFFFF;
  border: 1px solid #b5b5b5;
  border: 0.0625rem solid #b5b5b5;
  box-shadow: inset 0rem 0rem 0rem 0.3125rem #FFFFFF, inset 0rem 0rem 0rem 0.375rem #b5b5b5;
  margin: 0px 0px 25px;
  margin: 0rem 0rem 1.5625rem;
  max-width: 1500px;
  max-width: 93.75rem;
  padding: 25px 20px;
  padding: 1.5625rem 1.25rem; }

.widget_user-content {
  /* stylelint-disable selector-max-type */
  /* stylelint-enable */ }
  .widget_user-content h2 {
    font-size: 1.625em; }
  .widget_user-content p,
  .widget_user-content ol,
  .widget_user-content ul,
  .widget_user-content table {
    font-size: 0.9375em; }
  .widget_user-content > :last-child {
    margin-bottom: 0 !important; }

/* background variant */
.widget.-background {
  background-position: right top;
  background-repeat: no-repeat;
  background-size: cover;
  box-shadow: none;
  padding: 40px 12.5px;
  padding: 2.5rem 0.78125rem; }

.widget.-background .widget_content {
  background: #FFFFFF;
  box-shadow: 0rem 0rem 0.3125rem rgba(0, 0, 0, 0.35);
  max-width: 150px;
  max-width: 9.375rem;
  padding: 10px 15px;
  padding: 0.625rem 0.9375rem; }

/* ------------------------------------------------------------------------ * * Layout
\* ------------------------------------------------------------------------ */
/* ------------------------------------------------------------------------ * * Page
\* ------------------------------------------------------------------------ */
html,
body {
  background: #E5E5E5;
  height: 100%;
  width: 100%; }

.page_container {
  min-height: 100%;
  overflow: hidden;
  position: relative;
  width: 100%; }

/* ------------------------------------------------------------------------ * * Navigation
\* ------------------------------------------------------------------------ */
.navigation-block {
  position: relative;
  z-index: 4; }

.navigation_inner {
  background: #FFFFFF;
  margin: 0 auto;
  max-width: 1500px;
  max-width: 93.75rem;
  padding: 25px 50px;
  padding: 1.5625rem 3.125rem; }

/* fullbleed variant */
.navigation-block.-fullbleed {
  background: #FFFFFF;
  padding: 25px 50px;
  padding: 1.5625rem 3.125rem; }

.navigation-block.-fullbleed > .navigation_inner {
  background: none;
  padding: 0; }

.navigation-block.-fullbleed > .navigation_inner.-fullbleed {
  max-width: none; }

/* flyout variant */
.navigation-block.-flyout {
  background: #FFFFFF;
  border-right: 1px solid #e6e6e6;
  border-right: 0.0625rem solid #e6e6e6;
  bottom: 999em;
  display: block;
  left: -999em;
  overflow: auto;
  position: absolute;
  right: 999em;
  top: -999em;
  transform: translateX(-100%);
  transition: bottom 0s 0.15s, left 0s 0.15s, right 0s 0.15s, top 0s 0.15s, transform 0.15s, visibility 0s 0.15s;
  visibility: hidden;
  z-index: 999; }

.navigation-block.-flyout.is-active {
  bottom: 0;
  left: 0;
  right: 80px;
  right: 5rem;
  top: 0;
  transform: translateX(0);
  transition: transform 0.15s;
  visibility: visible; }

.navigation-block.-flyout > .navigation_inner {
  background: none;
  max-width: none;
  padding: 0; }

/* flyout right variant */
.navigation-block.-flyout.-right {
  border-left: 1px solid #e6e6e6;
  border-left: 0.0625rem solid #e6e6e6;
  border-right: 0;
  left: 999em;
  right: -999em;
  transform: translateX(100%); }

.navigation-block.-flyout.-right.is-active {
  left: 80px;
  left: 5rem;
  right: 0; }

/* pulldown variant */
.navigation-block.-pulldown {
  background: #FFFFFF;
  border-right: 1px solid #e6e6e6;
  border-right: 0.0625rem solid #e6e6e6;
  display: block;
  left: 0;
  position: absolute;
  right: 0;
  top: -999em;
  transform: translateY(-100%);
  transition: top 0s 0.15s, transform 0.15s, visibility 0s 0.15s;
  visibility: hidden;
  width: 100%;
  z-index: 999; }

.navigation-block.-pulldown.is-active {
  top: 0;
  transform: translateY(0);
  transition: transform 0.15s;
  visibility: visible; }

.navigation-block.-pulldown > .navigation_inner {
  background: none;
  max-width: none;
  padding: 0; }

/* ------------------------------------------------------------------------ * * Toolbar
\* ------------------------------------------------------------------------ */
.toolbar-block {
  position: relative;
  z-index: 5; }

.toolbar_inner {
  background: #E5E5E5;
  margin: 0 auto;
  max-width: 1500px;
  max-width: 93.75rem;
  padding: 0px 20px;
  padding: 0rem 1.25rem; }

/* fullbleed variant */
.toolbar-block.-fullbleed {
  background: #E5E5E5;
  padding: 0px 20px;
  padding: 0rem 1.25rem; }

.toolbar-block.-fullbleed > .toolbar_inner {
  background: none;
  padding: 0; }

.toolbar-block.-fullbleed > .toolbar_inner.-fullbleed {
  max-width: none; }

/* ------------------------------------------------------------------------ * * Header
\* ------------------------------------------------------------------------ */
.header-block {
  position: relative;
  z-index: 6; }

.header_inner {
  background: #FFFFFF;
  border: 0;
  border-bottom: 8px solid #9c9c9c;
  border-bottom: 0.5rem solid #9c9c9c;
  border-image: url("../media/background-static.jpg") 0 0 8 repeat;
  margin: 0 auto;
  max-width: 1500px;
  max-width: 93.75rem;
  padding: 15px 20px;
  padding: 0.9375rem 1.25rem; }

.header_logo {
  margin: -52.5px auto 0px;
  margin: -3.28125rem auto 0rem;
  width: 15.625em; }

/* fullbleed variant */
.header-block.-fullbleed {
  background: #FFFFFF;
  border: 0;
  border-bottom: 8px solid #9c9c9c;
  border-bottom: 0.5rem solid #9c9c9c;
  border-image: url("../media/background-static.jpg") 0 0 8 repeat;
  padding: 15px 20px;
  padding: 0.9375rem 1.25rem; }

.header-block.-fullbleed > .header_inner {
  background: none;
  border-bottom: 0;
  border-image: none;
  padding: 0; }

.header-block.-fullbleed > .header_inner.-fullbleed {
  max-width: none; }

/* ------------------------------------------------------------------------ * * Hero
\* ------------------------------------------------------------------------ */
.hero-block {
  position: relative;
  z-index: 3; }

.hero_inner {
  background: #FFFFFF;
  margin: 0 auto;
  max-width: 1500px;
  max-width: 93.75rem;
  padding: 62.5px 50px;
  padding: 3.90625rem 3.125rem; }

/* fullbleed variant */
.hero-block.-fullbleed {
  background: #FFFFFF;
  padding: 62.5px 50px;
  padding: 3.90625rem 3.125rem; }

.hero-block.-fullbleed > .hero_inner {
  background: none;
  padding: 0; }

.hero-block.-fullbleed > .hero_inner.-fullbleed {
  max-width: none; }

/* ------------------------------------------------------------------------ * * Content
\* ------------------------------------------------------------------------ */
.content-block {
  position: relative;
  z-index: 2; }

.content_inner {
  background: #FFFFFF;
  margin: 0 auto;
  max-width: 1500px;
  max-width: 93.75rem;
  padding: 15px 20px;
  padding: 0.9375rem 1.25rem; }

/* fullbleed variant */
.content-block.-fullbleed {
  background: #FFFFFF;
  padding: 15px 20px;
  padding: 0.9375rem 1.25rem; }

.content-block.-fullbleed > .content_inner {
  background: none;
  padding: 0; }

.content-block.-fullbleed > .content_inner.-fullbleed {
  max-width: none; }

/* image variant */
.content-block.-image .content_figure {
  margin: 0; }

.content-block.-image .content_image {
  display: block;
  margin: 0 auto;
  max-height: 100%;
  max-width: 100%; }

/* ------------------------------------------------------------------------ * * Callout
\* ------------------------------------------------------------------------ */
.callout-block {
  position: relative;
  background: url("../media/background-static.jpg") center top repeat;
  padding: 20px 15px;
  padding: 1.25rem 0.9375rem; }

.callout_inner {
  background: #FFFFFF;
  border: 1px solid #b5b5b5;
  border: 0.0625rem solid #b5b5b5;
  box-shadow: inset 0rem 0rem 0rem 0.3125rem #FFFFFF, inset 0rem 0rem 0rem 0.375rem #b5b5b5;
  margin: 0 auto;
  max-width: 1500px;
  max-width: 93.75rem;
  padding: 25px 20px;
  padding: 1.5625rem 1.25rem; }

/* fullbleed variant */
.callout-block.-fullbleed {
  background: #FFFFFF;
  border: 1px solid #b5b5b5;
  border: 0.0625rem solid #b5b5b5;
  box-shadow: inset 0rem 0rem 0rem 0.3125rem #FFFFFF, inset 0rem 0rem 0rem 0.375rem #b5b5b5;
  padding: 25px 20px;
  padding: 1.5625rem 1.25rem; }

.callout-block.-fullbleed > .callout_inner {
  background: none;
  border: 0;
  box-shadow: none;
  padding: 0; }

.callout-block.-fullbleed > .callout_inner.-fullbleed {
  max-width: none; }

/* ------------------------------------------------------------------------ * * Footer
\* ------------------------------------------------------------------------ */
.footer-block {
  position: relative;
  z-index: 1; }

@media screen and (max-width: 63.9375em) {
  .footer-block {
    text-align: center; } }

.footer_inner {
  background: #E5E5E5;
  border: 0;
  border-image: url("../media/background-static.jpg") 8 0 0 repeat;
  border-top: 8px solid #9c9c9c;
  border-top: 0.5rem solid #9c9c9c;
  margin: 0 auto;
  max-width: 1500px;
  max-width: 93.75rem;
  padding: 20px 15px;
  padding: 1.25rem 0.9375rem; }

.footer_link {
  color: inherit; }

.footer_link:focus, .footer_link:hover {
  color: inherit;
  text-decoration: underline; }

.footer_title {
  font-size: 1.125em; }

.footer_text {
  color: #757575;
  font-family: "Prata", "Times New Roman", "Times", serif;
  font-size: 0.75em; }

@media screen and (max-width: 79.9375em) {
  .footer_menu-list_container .menu-list.-social {
    float: right;
    margin-top: 1em;
    position: relative;
    right: 50%; }
  .footer_menu-list_container .menu-list.-social .menu-list_item {
    float: left;
    left: 50%;
    position: relative; } }

@media screen and (min-width: 37.5em) {
  .footer_widget .nf-row > * {
    -ms-flex-align: center;
        align-items: center;
    display: -ms-flexbox;
    -js-display: flex;
    display: flex; } }

/* fullbleed variant */
.footer-block.-fullbleed {
  background: #E5E5E5;
  border: 0;
  border-image: url("../media/background-static.jpg") 8 0 0 repeat;
  border-top: 8px solid #9c9c9c;
  border-top: 0.5rem solid #9c9c9c;
  padding: 20px 15px;
  padding: 1.25rem 0.9375rem; }

.footer-block.-fullbleed > .footer_inner {
  background: none;
  border-image: none;
  border-top: 0;
  padding: 0; }

.footer-block.-fullbleed > .footer_inner.-fullbleed {
  max-width: none; }

@media screen and (min-width: 30em) {
  /* ------------------------------------------------------------------------ * * Module
\* ------------------------------------------------------------------------ */
  /* ------------------------------------------------------------------------ * * Layout
\* ------------------------------------------------------------------------ */ }

@media screen and (min-width: 40em) {
  /* ------------------------------------------------------------------------ * * Module
\* ------------------------------------------------------------------------ */
  /* ------------------------------------------------------------------------ * * Layout
\* ------------------------------------------------------------------------ */ }

@media screen and (min-width: 48em) {
  /* ------------------------------------------------------------------------ * * Module
\* ------------------------------------------------------------------------ */
  /* ------------------------------------------------------------------------ * * Article
\* ------------------------------------------------------------------------ */
  /* callout variant */
  .article.-callout .article_title {
    font-size: 1.25em; }
  /* headline variant */
  .article.-headline {
    margin-bottom: 1.25em;
    padding-bottom: 1.25em; }
  .article.-headline .article_figure {
    width: 5.625em; }
  .article.-headline .article_text {
    font-size: 1.125em; }
  /* ------------------------------------------------------------------------ * * Ninja Forms
\* ------------------------------------------------------------------------ */
  /* stylelint-disable selector-class-pattern, selector-max-type */
  /* ------------------------------------------------------------------------ * * Opinionated Tweaks
\* ------------------------------------------------------------------------ */
  .nf-field-container .user-content h2 {
    font-size: 3em; }
  /* ------------------------------------------------------------------------ * * Swiper (http://idangero.us/swiper/)
\* ------------------------------------------------------------------------ */
  /* stylelint-disable selector-class-pattern, selector-max-type */
  .swiper-picture {
    border-bottom-width: 0.75rem;
    border-image: url("../media/background-static.jpg") 0 0 12 repeat; }
  .swiper-user-content h1 {
    font-size: 3.25em; }
  /* ------------------------------------------------------------------------ * * Widget
\* ------------------------------------------------------------------------ */
  .widget_user-content {
    /* stylelint-disable selector-max-type */
    /* stylelint-enable */ }
    .widget_user-content h2 {
      font-size: 1.9375em; }
    .widget_user-content p,
    .widget_user-content ol,
    .widget_user-content ul,
    .widget_user-content table {
      font-size: 1.125em; }
  /* background variant */
  .widget.-background {
    padding: 2.8125rem 0.9375rem; }
  .widget.-background .widget_content {
    max-width: 11.25rem;
    padding-left: 0.625rem;
    padding-right: 0.625rem; }
  /* ------------------------------------------------------------------------ * * Layout
\* ------------------------------------------------------------------------ */
  /* ------------------------------------------------------------------------ * * Header
\* ------------------------------------------------------------------------ */
  .header_inner {
    border-bottom-width: 0.75rem;
    border-image: url("../media/background-static.jpg") 0 0 12 repeat;
    padding-bottom: 1.25rem;
    padding-top: 1.25rem; }
  .header_logo {
    margin-top: -2.5em;
    width: 16.25em; }
  /* fullbleed variant */
  .header-block.-fullbleed {
    border-bottom-width: 0.75rem;
    border-image: url("../media/background-static.jpg") 0 0 12 repeat;
    padding-bottom: 1.25rem;
    padding-top: 1.25rem; }
  .header-block.-fullbleed > .header_inner {
    border-bottom: 0;
    border-image: none;
    padding-bottom: 0;
    padding-top: 0; }
  /* ------------------------------------------------------------------------ * * Content
\* ------------------------------------------------------------------------ */
  .content_inner {
    padding-bottom: 3.125rem;
    padding-top: 3.125rem; }
  /* fullbleed variant */
  .content-block.-fullbleed {
    padding-bottom: 3.125rem;
    padding-top: 3.125rem; }
  .content-block.-fullbleed > .content_inner {
    padding-bottom: 0;
    padding-top: 0; }
  /* ------------------------------------------------------------------------ * * Callout
\* ------------------------------------------------------------------------ */
  .callout-block {
    padding-bottom: 2.5rem;
    padding-top: 2.5rem; }
  .callout_inner {
    padding-bottom: 2.1875rem;
    padding-top: 2.1875rem; }
  /* fullbleed variant */
  .callout-block.-fullbleed {
    padding-bottom: 2.1875rem;
    padding-top: 2.1875rem; }
  .callout-block.-fullbleed > .callout_inner {
    padding-bottom: 0;
    padding-top: 0; }
  /* ------------------------------------------------------------------------ * * Footer
\* ------------------------------------------------------------------------ */
  .footer_inner {
    border-image: url("../media/background-static.jpg") 8 0 0 repeat;
    border-top-width: 0.75rem; } }

@media screen and (min-width: 48em) and (max-width: 79.9375em) {
  .footer_widget {
    font-size: 1.25vw; } }

@media screen and (min-width: 48em) {
  /* fullbleed variant */
  .footer-block.-fullbleed {
    border-image: url("../media/background-static.jpg") 8 0 0 repeat;
    border-top-width: 0.75rem; }
  .footer-block.-fullbleed > .footer_inner {
    border-image: none;
    border-top-width: 0; } }

@media screen and (min-width: 53.3125em) {
  /* ------------------------------------------------------------------------ * * Module
\* ------------------------------------------------------------------------ */
  /* ------------------------------------------------------------------------ * * Layout
\* ------------------------------------------------------------------------ */
  /* ------------------------------------------------------------------------ * * Content
\* ------------------------------------------------------------------------ */
  /* image variant */
  .content-block.-image {
    padding-bottom: 0; }
  .content-block.-image .content_inner {
    overflow: hidden;
    padding-bottom: 3.125rem;
    position: relative; }
  .content-block.-image .content_title {
    position: relative;
    z-index: 1; }
  .content-block.-image .content_figure {
    -ms-flex-align: end;
        align-items: flex-end;
    bottom: 0;
    display: -ms-flexbox;
    -js-display: flex;
    display: flex;
    max-width: 50%;
    padding-top: 1.04167rem;
    position: absolute;
    right: 0;
    top: 0;
    z-index: 0; }
  .content-block.-image .content_image {
    -ms-flex: 0 0 auto;
        flex: 0 0 auto; }
  .content-block.-image .content_user-content {
    position: relative;
    z-index: 1; } }

@media screen and (min-width: 60em) {
  /* ------------------------------------------------------------------------ * * Module
\* ------------------------------------------------------------------------ */
  /* ------------------------------------------------------------------------ * * Layout
\* ------------------------------------------------------------------------ */
  /* ------------------------------------------------------------------------ * * Content
\* ------------------------------------------------------------------------ */
  .content_sidebar {
    width: 21.875rem; } }

@media screen and (min-width: 64em) {
  /* ------------------------------------------------------------------------ * * Module
\* ------------------------------------------------------------------------ */
  /* ------------------------------------------------------------------------ * * Swiper (http://idangero.us/swiper/)
\* ------------------------------------------------------------------------ */
  /* stylelint-disable selector-class-pattern, selector-max-type */
  .swiper-container {
    border: 0;
    border-bottom: 0.75rem solid #9c9c9c;
    border-image: url("../media/background-static.jpg") 0 0 12 repeat; }
  .swiper-picture {
    border-bottom: 0; }
  .swiper-image {
    max-width: 62.5rem;
    width: 66.66667%; }
  .swiper-caption {
    background: none;
    bottom: 0;
    display: -ms-flexbox;
    -js-display: flex;
    display: flex;
    left: 0;
    padding: 0;
    position: absolute;
    right: 0;
    top: 0; }
  .swiper-caption::before {
    background: linear-gradient(to right, rgba(255, 255, 255, 0) 0%, white 20%);
    bottom: 0;
    content: "\0020";
    display: block;
    position: absolute;
    right: 0;
    top: 0;
    width: 66.66667%;
    width: calc(66.66667% + 3.125rem);
    z-index: 0; }
  .swiper-caption .swiper-caption-inner {
    -ms-flex-align: center;
        align-items: center;
    display: -ms-flexbox;
    -js-display: flex;
    display: flex;
    padding: 0.9375em 1.25em 0.9375em 31.25em;
    position: relative;
    z-index: 1; }
  .swiper-user-content h1 {
    font-size: 3.25em; }
  /* ------------------------------------------------------------------------ * * Layout
\* ------------------------------------------------------------------------ */
  /* ------------------------------------------------------------------------ * * Toolbar
\* ------------------------------------------------------------------------ */
  .toolbar_inner {
    padding-bottom: 0.9375rem;
    padding-top: 0.9375rem; }
  /* fullbleed variant */
  .toolbar-block.-fullbleed {
    padding-bottom: 0.9375rem;
    padding-top: 0.9375rem; }
  .toolbar-block.-fullbleed > .toolbar_inner {
    padding-bottom: 0;
    padding-top: 0; }
  /* ------------------------------------------------------------------------ * * Header
\* ------------------------------------------------------------------------ */ }

@media screen and (min-width: 64em) and (max-width: 85.375em) {
  .header-block {
    font-size: 1.171303074670571vw; } }

@media screen and (min-width: 64em) {
  .header_logo {
    margin-top: -3.4375em; }
  /* ------------------------------------------------------------------------ * * Hero
\* ------------------------------------------------------------------------ */ }

@media screen and (min-width: 64em) and (max-width: 85.375em) {
  .hero-block {
    font-size: 1.171303074670571vw; } }

@media screen and (min-width: 80em) {
  /* ------------------------------------------------------------------------ * * Module
\* ------------------------------------------------------------------------ */
  /* ------------------------------------------------------------------------ * * Layout
\* ------------------------------------------------------------------------ */ }

@media screen and (min-width: 85.375em) {
  /* ------------------------------------------------------------------------ * * Module
\* ------------------------------------------------------------------------ */
  /* ------------------------------------------------------------------------ * * Layout
\* ------------------------------------------------------------------------ */
  /* ------------------------------------------------------------------------ * * Header
\* ------------------------------------------------------------------------ */
  .header_logo {
    margin-top: -4.0625em;
    width: 19.375em; } }

@media screen and (min-width: 90em) {
  /* ------------------------------------------------------------------------ * * Module
\* ------------------------------------------------------------------------ */
  /* ------------------------------------------------------------------------ * * Layout
\* ------------------------------------------------------------------------ */ }

/*# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImhlbHBlcnMvX2hlbHBlcnMuc2NzcyIsImhlbHBlcnMvX3ZhcmlhYmxlcy5zY3NzIiwiaGVscGVycy9fZnVuY3Rpb25zLnNjc3MiLCJoZWxwZXJzL19taXhpbnMuc2NzcyIsIm1vZGVybi5jc3MiLCJiYXNlL25vcm1hbGl6ZS9fbm9ybWFsaXplLnNjc3MiLCJ2ZW5kb3IvX25vcm1hbGl6ZS5zY3NzIiwiYmFzZS9ncmlkL19ncmlkLnNjc3MiLCJiYXNlL2ljb24vX2ljb24uc2NzcyIsImJhc2UvbGluay9fbGluay5zY3NzIiwiYmFzZS90aXRsZS9fdGl0bGUuc2NzcyIsImJhc2UvdGV4dC9fdGV4dC5zY3NzIiwiYmFzZS9pbnB1dC9faW5wdXQuc2NzcyIsImJhc2UvYnV0dG9uL19idXR0b24uc2NzcyIsImJhc2UvZGl2aWRlci9fZGl2aWRlci5zY3NzIiwiYmFzZS91c2VyLWNvbnRlbnQvX3VzZXItY29udGVudC5zY3NzIiwibW9kdWxlL2FydGljbGUvX2FydGljbGUuc2NzcyIsIm1vZHVsZS9sb2dvL19sb2dvLnNjc3MiLCJtb2R1bGUvbWVudS1saXN0L19tZW51LWxpc3Quc2NzcyIsIm1vZHVsZS9tZW51LXRvZ2dsZS9fbWVudS10b2dnbGUuc2NzcyIsIm1vZHVsZS9uaW5qYS1mb3Jtcy9fbmluamEtZm9ybXMuc2NzcyIsIm1vZHVsZS9vdmVybGF5LWNsb3Nlci9fb3ZlcmxheS1jbG9zZXIuc2NzcyIsIm1vZHVsZS9zZWFyY2gtZm9ybS9fc2VhcmNoLWZvcm0uc2NzcyIsIm1vZHVsZS9zd2lwZXIvX3N3aXBlci5zY3NzIiwidmVuZG9yL19zd2lwZXIuc2NzcyIsIm1vZHVsZS93aWRnZXQvX3dpZGdldC5zY3NzIiwidmlld3MvX3NjcmVlbi5zY3NzIiwibGF5b3V0L3BhZ2UvX3BhZ2Uuc2NzcyIsImxheW91dC9uYXZpZ2F0aW9uL19uYXZpZ2F0aW9uLnNjc3MiLCJsYXlvdXQvdG9vbGJhci9fdG9vbGJhci5zY3NzIiwibGF5b3V0L2hlYWRlci9faGVhZGVyLnNjc3MiLCJsYXlvdXQvaGVyby9faGVyby5zY3NzIiwibGF5b3V0L2NvbnRlbnQvX2NvbnRlbnQuc2NzcyIsImxheW91dC9jYWxsb3V0L19jYWxsb3V0LnNjc3MiLCJsYXlvdXQvZm9vdGVyL19mb290ZXIuc2NzcyIsIm1vZGVybi5zY3NzIiwidmlld3MvX3NjcmVlbl94eHhzLnNjc3MiLCJ2aWV3cy9fc2NyZWVuX3h4cy5zY3NzIiwidmlld3MvX3NjcmVlbl94cy5zY3NzIiwibW9kdWxlL2FydGljbGUvX2FydGljbGVfeHMuc2NzcyIsIm1vZHVsZS9uaW5qYS1mb3Jtcy9fbmluamEtZm9ybXNfeHMuc2NzcyIsIm1vZHVsZS9zd2lwZXIvX3N3aXBlcl94cy5zY3NzIiwibW9kdWxlL3dpZGdldC9fd2lkZ2V0X3hzLnNjc3MiLCJsYXlvdXQvaGVhZGVyL19oZWFkZXJfeHMuc2NzcyIsImxheW91dC9jb250ZW50L19jb250ZW50X3hzLnNjc3MiLCJsYXlvdXQvY2FsbG91dC9fY2FsbG91dF94cy5zY3NzIiwibGF5b3V0L2Zvb3Rlci9fZm9vdGVyX3hzLnNjc3MiLCJ2aWV3cy9fc2NyZWVuX3Muc2NzcyIsImxheW91dC9jb250ZW50L19jb250ZW50X3Muc2NzcyIsInZpZXdzL19zY3JlZW5fbS5zY3NzIiwibGF5b3V0L2NvbnRlbnQvX2NvbnRlbnRfbS5zY3NzIiwibW9kdWxlL3N3aXBlci9fc3dpcGVyX2wuc2NzcyIsInZpZXdzL19zY3JlZW5fbC5zY3NzIiwibGF5b3V0L3Rvb2xiYXIvX3Rvb2xiYXJfbC5zY3NzIiwibGF5b3V0L2hlYWRlci9faGVhZGVyX2wuc2NzcyIsImxheW91dC9oZXJvL19oZXJvX2wuc2NzcyIsInZpZXdzL19zY3JlZW5feGwuc2NzcyIsInZpZXdzL19zY3JlZW5feHhsLnNjc3MiLCJsYXlvdXQvaGVhZGVyL19oZWFkZXJfeHhsLnNjc3MiLCJ2aWV3cy9fc2NyZWVuX3h4eGwuc2NzcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFFQTs4RUFFOEU7QUNGOUU7OEVBRThFO0FB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QzNCO0lBQ0Usa0JBQWtCO0lBQ2xCLGVBQWUsRUFBRTtFQUNuQjs4RUFDNEUsRUFBRTs7QUFFaEY7RUFDRTtJQUNFLCtCQUErQixFQUFFLEVBQUU7O0FBRXZDO0VBQ0U7SUFDRSxzQkFBc0IsRUFBRTtFQUMxQjs4RUFDNEUsRUFBRTs7QUFFaEY7RUFDRTtJQUNFLCtCQUErQixFQUFFLEVBQUU7O0FBRXZDO0VBQ0U7OEVBQzRFO0VBQzVFOzhFQUM0RSxFQUFFOztBQUVoRjtFQUNFOzhFQUM0RTtFQUM1RTs4RUFDNEU7RUFDNUU7OEVBQzRFO0VBQzVFO0lBQ0Usc0JBQXNCO0lBQ3RCLGdCQUFnQixFQUFFLEVBQUU7O0FBRXhCO0VBQ0U7OEVBQzRFO0VBQzVFOzhFQUM0RSxFQUFFIiwiZmlsZSI6Im1vZGVybi5jc3MiLCJzb3VyY2VzQ29udGVudCI6WyIvLyBTdHlsZXMgd3JpdHRlbiBieSBKYWNvYiBCZWFyY2UgQCBXZWJsaW54LCBJbmMuXG5cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqXFxcbiAqIEhlbHBlcnNcblxcKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cblxuLy8gaW1wb3J0c1xuXG5AaW1wb3J0IFwiX3ZhcmlhYmxlc1wiO1xuQGltcG9ydCBcIl9mdW5jdGlvbnNcIjtcbkBpbXBvcnQgXCJfbWl4aW5zXCI7XG5cbi8vIGdlbmVyaWMgaGVscGVyc1xuXG4lY2xlYXJmaXgge1xuICAgICY6OmFmdGVyIHtcbiAgICAgICAgY2xlYXI6IGJvdGggIWltcG9ydGFudDtcbiAgICAgICAgY29udGVudDogXCJcIiAhaW1wb3J0YW50O1xuICAgICAgICBkaXNwbGF5OiB0YWJsZSAhaW1wb3J0YW50O1xuICAgIH1cbn1cblxuLl9kYXJrIHtcbiAgICBjb2xvcjogJGRhcmsgIWltcG9ydGFudDtcbn1cblxuLl9saWdodCB7XG4gICAgY29sb3I6ICRsaWdodCAhaW1wb3J0YW50O1xufVxuXG4uX2JpZyB7XG4gICAgZm9udC1zaXplOiAxLjI1ZW0gIWltcG9ydGFudDtcbn1cblxuLl9zbWFsbCB7XG4gICAgZm9udC1zaXplOiAwLjc1ZW0gIWltcG9ydGFudDtcbn1cblxuLl9ib2xkIHtcbiAgICBmb250LXdlaWdodDogNzAwICFpbXBvcnRhbnQ7XG59XG5cbi5faXRhbGljIHtcbiAgICBmb250LXN0eWxlOiBpdGFsaWMgIWltcG9ydGFudDtcbn1cblxuLl90ZXh0Y2VudGVyIHtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXIgIWltcG9ydGFudDtcbn1cblxuLl90ZXh0bGVmdCB7XG4gICAgdGV4dC1hbGlnbjogbGVmdCAhaW1wb3J0YW50O1xufVxuXG4uX3RleHRyaWdodCB7XG4gICAgdGV4dC1hbGlnbjogcmlnaHQgIWltcG9ydGFudDtcbn1cblxuLl9ub3dyYXAge1xuICAgIHdoaXRlLXNwYWNlOiBub3dyYXAgIWltcG9ydGFudDtcbn1cblxuLl9jZW50ZXIge1xuICAgIG1hcmdpbi1sZWZ0OiBhdXRvICFpbXBvcnRhbnQ7XG4gICAgbWFyZ2luLXJpZ2h0OiBhdXRvICFpbXBvcnRhbnQ7XG59XG5cbi5fbGVmdCB7XG4gICAgZmxvYXQ6IGxlZnQgIWltcG9ydGFudDtcbn1cblxuLl9yaWdodCB7XG4gICAgZmxvYXQ6IHJpZ2h0ICFpbXBvcnRhbnQ7XG59XG5cbi5fbm9tYXJnaW4ge1xuICAgIG1hcmdpbjogMCAhaW1wb3J0YW50O1xufVxuXG4uX25vcGFkZGluZyB7XG4gICAgcGFkZGluZzogMCAhaW1wb3J0YW50O1xufVxuXG4uX2Jsb2NrIHtcbiAgICBkaXNwbGF5OiBibG9jayAhaW1wb3J0YW50O1xufVxuXG4uX2ZsZXgge1xuICAgIGRpc3BsYXk6IGZsZXggIWltcG9ydGFudDtcbn1cblxuLl92aXN1YWxseWhpZGRlbiB7XG4gICAgYmFja2dyb3VuZDogZGFya2VuKCRiYWNrZ3JvdW5kLCA1LjQ5MDIpICFpbXBvcnRhbnQ7XG4gICAgYm9yZGVyLXJhZGl1czogMCAhaW1wb3J0YW50O1xuICAgIGJveC1zaGFkb3c6IHJlbWlmeSgwIDAgMiAyLCAxNCkgdHJhbnNwYXJlbnRpemUoJGRhcmssIDAuNCkgIWltcG9ydGFudDtcbiAgICBjb2xvcjogJGFjY2VudCAhaW1wb3J0YW50O1xuICAgIGRpc3BsYXk6IGJsb2NrICFpbXBvcnRhbnQ7XG4gICAgZm9udC1mYW1pbHk6ICRib2R5LWZvbnQgIWltcG9ydGFudDtcbiAgICBmb250LXNpemU6IHJlbWlmeSgxNCkgIWltcG9ydGFudDtcbiAgICBmb250LXdlaWdodDogNzAwICFpbXBvcnRhbnQ7XG4gICAgaGVpZ2h0OiBhdXRvICFpbXBvcnRhbnQ7XG4gICAgbGVmdDogLTk5OWVtICFpbXBvcnRhbnQ7XG4gICAgbGV0dGVyLXNwYWNpbmc6IG5vcm1hbCAhaW1wb3J0YW50O1xuICAgIGxpbmUtaGVpZ2h0OiBub3JtYWwgIWltcG9ydGFudDtcbiAgICBvdXRsaW5lOiBub25lICFpbXBvcnRhbnQ7XG4gICAgcGFkZGluZzogcmVtaWZ5KDE1IDIzIDE0LCAxNCkgIWltcG9ydGFudDtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lICFpbXBvcnRhbnQ7XG4gICAgdGV4dC1zaGFkb3c6IG5vbmUgIWltcG9ydGFudDtcbiAgICB0ZXh0LXRyYW5zZm9ybTogbm9uZSAhaW1wb3J0YW50O1xuICAgIHRvcDogLTk5OWVtICFpbXBvcnRhbnQ7XG4gICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgICB3aWR0aDogYXV0byAhaW1wb3J0YW50O1xufVxuXG4uX3Zpc3VhbGx5aGlkZGVuOmZvY3VzIHtcbiAgICBsZWZ0OiByZW1pZnkoNiwgMTQpICFpbXBvcnRhbnQ7XG4gICAgdG9wOiByZW1pZnkoNiwgMTQpICFpbXBvcnRhbnQ7XG4gICAgei1pbmRleDogMTAwMDAwICFpbXBvcnRhbnQ7XG59XG5cbi5fcHJpbWFyeSB7XG4gICAgY29sb3I6ICRwcmltYXJ5ICFpbXBvcnRhbnQ7XG59XG5cbi5fYWNjZW50IHtcbiAgICBjb2xvcjogJGFjY2VudCAhaW1wb3J0YW50O1xufVxuXG4uX3dhcm5pbmcge1xuICAgIGNvbG9yOiAkd2FybmluZyAhaW1wb3J0YW50O1xufVxuXG4uX3N0aWNreSB7XG4gICAgJiB7XG4gICAgICAgIHBvc2l0aW9uOiBzdGlja3kgIWltcG9ydGFudDtcbiAgICAgICAgdG9wOiAwICFpbXBvcnRhbnQ7XG4gICAgfVxuXG4gICAgLy8gV29yZFByZXNzIGFkbWluIGJhciBmaXhcblxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDYwMXB4KSB7XG4gICAgICAgIEBzdXBwb3J0cyAocG9zaXRpb246IC13ZWJraXQtc3RpY2t5KSBvciAocG9zaXRpb246IHN0aWNreSkge1xuICAgICAgICAgICAgLmFkbWluLWJhciAmIHtcbiAgICAgICAgICAgICAgICB0b3A6IDQ2cHggIWltcG9ydGFudDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc4M3B4KSB7XG4gICAgICAgIEBzdXBwb3J0cyAocG9zaXRpb246IC13ZWJraXQtc3RpY2t5KSBvciAocG9zaXRpb246IHN0aWNreSkge1xuICAgICAgICAgICAgLmFkbWluLWJhciAmIHtcbiAgICAgICAgICAgICAgICB0b3A6IDMycHggIWltcG9ydGFudDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbn1cblxuLyogdmlzaWJpbGl0eSBjbGFzc2VzICovXG5cbi8vIHdoZW4gcG9pbnRlciBpcyBwcmVjaXNlIChtb3VzZSlcbkBtZWRpYSAocG9pbnRlcjogZmluZSkge1xuICAgIC5fdG91Y2gge1xuICAgICAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG4gICAgfVxufVxuXG4vLyB3aGVuIHBvaW50ZXI6IGZpbmUgaXMgbm90IHN1cHBvcnRlZFxuQHN1cHBvcnRzIG5vdCAocG9pbnRlcjogZmluZSkge1xuICAgIC5fdG91Y2gge1xuICAgICAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG4gICAgfVxufVxuXG4vLyB3aGVuIHBvaW50ZXIgaXMgaW5wcmVjaXNlICh0b3VjaClcbkBtZWRpYSAocG9pbnRlcjogY291cnNlKSB7XG4gICAgLl9tb3VzZSB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbiAgICB9XG59XG5cbi8vIHdoZW4gcHJpbnRpbmdcbkBtZWRpYSBwcmludCB7XG4gICAgLl9ub3ByaW50IHtcbiAgICAgICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xuICAgIH1cbn1cblxuLy8gd2hlbiBzY3JlZW4gaXMgPCA3NjhcbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6ICgkeHMtYnJlYWsgLSAxIC8gMTYpKSB7XG4gICAgLl90YWJsZXQ6bm90KC5fcGhvbmUpLFxuICAgIC5fbm90ZWJvb2s6bm90KC5fcGhvbmUpLFxuICAgIC5fZGVza3RvcDpub3QoLl9waG9uZSkge1xuICAgICAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG4gICAgfVxufVxuXG4vLyB3aGVuIHNjcmVlbiBpcyA+PSA3NjggYW5kIDwgMTAyNFxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogJHhzLWJyZWFrKSBhbmQgKG1heC13aWR0aDogKCRsLWJyZWFrIC0gMSAvIDE2KSkge1xuICAgIC5fcGhvbmU6bm90KC5fdGFibGV0KSxcbiAgICAuX25vdGVib29rOm5vdCguX3RhYmxldCksXG4gICAgLl9kZXNrdG9wOm5vdCguX3RhYmxldCkge1xuICAgICAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG4gICAgfVxufVxuXG4vLyB3aGVuIHNjcmVlbiBpcyA+PSAxMDI0IGFuZCA8IDEyODBcbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6ICRsLWJyZWFrKSBhbmQgKG1heC13aWR0aDogKCR4bC1icmVhayAtIDEgLyAxNikpIHtcbiAgICAuX3Bob25lOm5vdCguX25vdGVib29rKSxcbiAgICAuX3RhYmxldDpub3QoLl9ub3RlYm9vayksXG4gICAgLl9kZXNrdG9wOm5vdCguX25vdGVib29rKSB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbiAgICB9XG59XG5cbi8vIHdoZW4gc2NyZWVuIGlzID49IDEyODBcbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6ICR4bC1icmVhaykge1xuICAgIC5fcGhvbmU6bm90KC5fZGVza3RvcCksXG4gICAgLl90YWJsZXQ6bm90KC5fZGVza3RvcCksXG4gICAgLl9ub3RlYm9vazpub3QoLl9kZXNrdG9wKSB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbiAgICB9XG59XG4iLCIvLyBTdHlsZXMgd3JpdHRlbiBieSBKYWNvYiBCZWFyY2UgQCBXZWJsaW54LCBJbmMuXG5cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqXFxcbiAqIENvbG9yc1xuXFwqIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuXG4kcHJpbWFyeTogIzc1MTExMztcbiRwcmltYXJ5X2FsdDogI0I3MjAyQTtcblxuJGFjY2VudDogI0I3MjAyQTtcbiRhY2NlbnRfYWx0OiAjREE0RTVEO1xuXG4kbGlnaHQ6ICNGRkZGRkY7XG4kbGlnaHRfYWx0OiAjRTVFNUU1O1xuXG4kZGFyazogIzAwMDAwMDtcbiRkYXJrX2FsdDogIzgwODI4NTtcblxuJGZvcmVncm91bmQ6ICMwMDAwMDA7XG4kZm9yZWdyb3VuZF9hbHQ6ICM4MDgyODU7XG5cbiRiYWNrZ3JvdW5kOiAjRkZGRkZGO1xuJGJhY2tncm91bmRfYWx0OiAjRTVFNUU1O1xuXG4kcGFnZV9iYWNrZ3JvdW5kOiAjRTVFNUU1O1xuJHBhZ2VfYmFja2dyb3VuZF9hbHQ6ICNGRkZGRkY7XG5cbiR3YXJuaW5nOiAjNzUxMTEzO1xuJHdhcm5pbmdfYWx0OiAjQjcyMDJBO1xuXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKlxcXG4gKiBGb250cyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuXFwqIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuXG4kaGVhZGluZy1mb250OiBcIlByYXRhXCIsIFwiVGltZXMgTmV3IFJvbWFuXCIsIFwiVGltZXNcIiwgc2VyaWY7XG4kaGVhZGluZy1mb250LWFsdDogXCJBcml6b25pYVwiLCBcIkJydXNoIFNjcmlwdCBTdGRcIiwgXCJDYWZsaXNjaFwiLCBjdXJzaXZlO1xuJGJvZHktZm9udDogXCJTb3VyY2UgU2FucyBQcm9cIiwgXCJBcmlhbFwiLCBcIkhlbHZldGljYVwiLCBzYW5zLXNlcmlmO1xuXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKlxcXG4gKiBXaWR0aHMgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuXFwqIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuXG4kc2l0ZS13aWR0aDogMTUwMDtcbiRjb2x1bW4tZ2FwOiAzMDtcbiRjb250ZW50LXBhZGRpbmc6IDUwO1xuXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKlxcXG4gKiBCcmVhayBQb2ludHMgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuXFwqIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuXG4keHh4bC1icmVhazogMTQ0MGVtIC8gMTY7XG4keHhsLWJyZWFrOiAxMzY2ZW0gLyAxNjtcbiR4bC1icmVhazogMTI4MGVtIC8gMTY7XG4kbC1icmVhazogMTAyNGVtIC8gMTY7XG4kbS1icmVhazogOTYwZW0gLyAxNjtcbiRzLWJyZWFrOiA4NTNlbSAvIDE2O1xuJHhzLWJyZWFrOiA3NjhlbSAvIDE2O1xuJHh4cy1icmVhazogNjQwZW0gLyAxNjtcbiR4eHhzLWJyZWFrOiA0ODBlbSAvIDE2O1xuXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKlxcXG4gKiBMYXllcnMgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuXFwqIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuXG4kbGF5ZXJzOiAoXG4gICAgdG9vbGJhcjogNSxcbiAgICBoZWFkZXI6IDYsXG4gICAgbmF2aWdhdGlvbjogNCxcbiAgICBoZXJvOiAzLFxuICAgIGNvbnRlbnQ6IDIsXG4gICAgZm9vdGVyOiAxLFxuKTtcbiIsIi8vIFN0eWxlcyB3cml0dGVuIGJ5IEphY29iIEJlYXJjZSBAIFdlYmxpbngsIEluYy5cblxuLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICpcXFxuICogRnVuY3Rpb25zXG5cXCogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG5cbi8vIHZlbmRvclxuQGltcG9ydCBcIi4uL3ZlbmRvci9fY2hvb3NlLWNvbnRyYXN0LWNvbG9yXCI7XG5AaW1wb3J0IFwiLi4vdmVuZG9yL19pbmxpbmUtc3ZnLWZ1bmN0aW9uXCI7XG5cbi8vIFJlbW92ZSB0aGUgdW5pdCBvZiBhIGxlbmd0aFxuLy8gQHBhcmFtICB7TnVtYmVyfSAgJG51bWJlclxuQGZ1bmN0aW9uIHN0cmlwLXVuaXQoJG51bWJlcikge1xuICAgIEBpZiB0eXBlLW9mKCRudW1iZXIpID09IFwibnVtYmVyXCIgYW5kIG5vdCB1bml0bGVzcygkbnVtYmVyKSB7XG4gICAgICAgICRudW1iZXI6ICRudW1iZXIgLyAoJG51bWJlciAqIDAgKyAxKTtcbiAgICB9XG5cbiAgICBAcmV0dXJuICRudW1iZXI7XG59XG5cbi8vIFJlbWlmeVxuLy8gQHBhcmFtICB7TnVtYmVyfSAgJHNpemUgLSBBcnJheSBvZiB1cCB0byBmb3VyIHNpemVzIGluIFBYIHVuaXRzXG4vLyBAcGFyYW0gIHtOdW1iZXJ9ICAkYmFzZSAtIEZvbnQgc2l6ZSB0byBiYXNlIGNhbGN1bGF0aW9ucyBvZmYgb2Zcbi8vIEBwYXJhbSAge1N0cmluZ30gICR1bml0IC0gRWl0aGVyIFwiZW1cIiBvciBcInJlbVwiXG5AZnVuY3Rpb24gcmVtaWZ5KCRzaXplczogKCRzaXplMSwgJHNpemUyLCAkc2l6ZTMsICRzaXplNCksICRiYXNlOiBudWxsLCAkdW5pdDogbnVsbCkge1xuICAgICR1bml0OiBpZigkdW5pdCA9PSBudWxsLCBpZigkYmFzZSA9PSBudWxsLCByZW0sIGVtKSwgJHVuaXQpO1xuICAgICRiYXNlOiBpZigkYmFzZSA9PSBudWxsLCAxNiwgc3RyaXAtdW5pdCgkYmFzZSkpO1xuICAgICRvdXRwdXQ6IG51bGw7XG5cbiAgICBAZWFjaCAkc2l6ZSBpbiAkc2l6ZXMge1xuICAgICAgICAkc2l6ZTogc3RyaXAtdW5pdCgkc2l6ZSk7XG5cbiAgICAgICAgQGlmIHR5cGUtb2YoJHNpemUpID09IFwibnVtYmVyXCIge1xuICAgICAgICAgICAgLy8gYWRkIGFzIHNwYWNlIGlmICRvdXRwdXQgYWxyZWFkeSBoYXMgYSB2YWx1ZVxuICAgICAgICAgICAgJG91dHB1dDogaWYoJG91dHB1dCA9PSBudWxsLCBcIlwiLCAkb3V0cHV0ICsgXCIgXCIpO1xuICAgICAgICAgICAgLy8gY2FsY3VsYXRlLCBhcHBlbmQgdmFsdWUgdG8gJG91dHB1dFxuICAgICAgICAgICAgJG91dHB1dDogJG91dHB1dCArICgoc3RyaXAtdW5pdCgkc2l6ZSkgLyBzdHJpcC11bml0KCRiYXNlKSkgKyAkdW5pdCk7XG4gICAgICAgIH1cblxuICAgICAgICBAZWxzZSB7XG4gICAgICAgICAgICAvLyBwYXNzIHRoZSB2YWx1ZSB0aHJvdWdoIHVuY2hhZ25lZCBpZiAkc2l6ZSBpcyBub3QgYSBudW1iZXJcbiAgICAgICAgICAgICRvdXRwdXQ6ICRvdXRwdXQgKyBcIiBcIiArICRzaXplO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgQHJldHVybiBpZih0eXBlLW9mKCRvdXRwdXQpID09IFwic3RyaW5nXCIsIHVucXVvdGUoJG91dHB1dCksICRvdXRwdXQpO1xufVxuXG4vLyBQaG90b3Nob3AgTGVhZGluZyA9PiBDU1MgTGluZSBIZWlnaHQgQ29udmVyc2lvblxuLy8gQHBhcmFtICB7TnVtYmVyfSAgJHNpemUgLSBWYWx1ZSBvZiBMZWFkaW5nIGluIFBob3Rvc2hvcCdzIENoYXJhY3RlciBQYW5lbFxuLy8gQHBhcmFtICB7TnVtYmVyfSAgJGJhc2UgLSBWYWx1ZSBvZiBGb250IFNpemUgaW4gUGhvdG9zb2hwJ3MgQ2hhcmFjdGVyIFBhbmVsXG5AZnVuY3Rpb24gbGVhZGluZygkc2l6ZSwgJGJhc2U6IG51bGwpIHtcbiAgICAkYmFzZTogaWYoJGJhc2UgPT0gbnVsbCwgMTYsIHN0cmlwLXVuaXQoJGJhc2UpKTtcbiAgICAkb3V0cHV0OiAkYmFzZSArIChzdHJpcC11bml0KCRzaXplKSAvIDIpO1xuXG4gICAgQHJldHVybiAkb3V0cHV0O1xufVxuXG4vLyBQaG90b3Nob3AgVHJhY2tpbmcgPT4gQ1NTIExldHRlciBTcGFjaW5nIENvbnZlcnNpb25cbi8vIEBwYXJhbSAge051bWJlcn0gICRzaXplIC0gVmFsdWUgb2YgVHJhY2tpbmcgaW4gUGhvdG9zaG9wJ3MgQ2hhcmFjdGVyIFBhbmVsXG4vLyBAcGFyYW0gIHtOdW1iZXJ9ICAkYmFzZSAtIFZhbHVlIG9mIEZvbnQgU2l6ZSBpbiBQaG90b3NvaHAncyBDaGFyYWN0ZXIgUGFuZWxcbkBmdW5jdGlvbiB0cmFja2luZygkc2l6ZSwgJGJhc2U6IG51bGwpIHtcbiAgICAkYmFzZTogaWYoJGJhc2UgPT0gbnVsbCwgMTYsIHN0cmlwLXVuaXQoJGJhc2UpKTtcbiAgICAkb3V0cHV0OiAoJHNpemUgLyAxMDAwKSAqIHN0cmlwLXVuaXQoJGJhc2UpO1xuXG4gICAgQHJldHVybiAkb3V0cHV0O1xufVxuXG4vLyBTcGVjaWZ5IHNpemUgcmVsYXRpdmUgdG8gYSB2YWx1ZVxuLy8gQHBhcmFtICB7TnVtYmVyfSAgJHNpemUgLSBUYXJnZXQgc2l6ZSBpbiBwaXhlbHNcbi8vIEBwYXJhbSAge051bWJlcn0gICRiYXNlIC0gQmFzZSBzaXplIGluIHBpeGVsc1xuQGZ1bmN0aW9uIHJlbGF0aXZlLXNpemUoJHNpemUsICRiYXNlKSB7XG4gICAgQHJldHVybiAkYmFzZSAqICgkc2l6ZSAvICRiYXNlKTtcbn1cbiIsIi8vIFN0eWxlcyB3cml0dGVuIGJ5IEphY29iIEJlYXJjZSBAIFdlYmxpbngsIEluYy5cblxuLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICpcXFxuICogTWl4aW5zXG5cXCogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG5cbi8vIHZlbmRvclxuXG5AaW1wb3J0IFwiLi4vdmVuZG9yL19hbmdsZWQtZWRnZXNcIjtcblxuLy8gbnRoLWNoaWxkOiBodHRwczovL3BhdWx1bmQuY28udWsvbnRoLWNoaWxkLXNhc3MtbWl4aW5zXG5cbkBtaXhpbiBmaXJzdC1jaGlsZCgpIHtcbiAgICAmOmZpcnN0LW9mLXR5cGUge1xuICAgICAgICBAY29udGVudDtcbiAgICB9XG59XG5cbkBtaXhpbiBsYXN0LWNoaWxkKCkge1xuICAgICY6bGFzdC1vZi10eXBlIHtcbiAgICAgICAgQGNvbnRlbnQ7XG4gICAgfVxufVxuXG5AbWl4aW4gZXZlbigpIHtcbiAgICAmOm50aC1jaGlsZChldmVuKSB7XG4gICAgICAgIEBjb250ZW50O1xuICAgIH1cbn1cblxuQG1peGluIG9kZCgpIHtcbiAgICAmOm50aC1jaGlsZChvZGQpIHtcbiAgICAgICAgQGNvbnRlbnQ7XG4gICAgfVxufVxuXG5AbWl4aW4gZmlyc3QoJG51bSkge1xuICAgIEBpZiAkbnVtID09IDEge1xuICAgICAgICAmOmZpcnN0LWNoaWxkIHtcbiAgICAgICAgICAgIEBjb250ZW50O1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgQGVsc2Uge1xuICAgICAgICAmOm50aC1jaGlsZCgtbiArICN7JG51bX0pIHtcbiAgICAgICAgICAgIEBjb250ZW50O1xuICAgICAgICB9XG4gICAgfVxufVxuXG5AbWl4aW4gbGFzdCgkbnVtKSB7XG4gICAgJjpudGgtbGFzdC1jaGlsZCgtbiArICN7JG51bX0pIHtcbiAgICAgICAgQGNvbnRlbnQ7XG4gICAgfVxufVxuXG5AbWl4aW4gYWZ0ZXIoJG51bSkge1xuICAgICY6bnRoLWNoaWxkKG4rI3skbnVtICsgMX0pIHtcbiAgICAgICAgQGNvbnRlbnQ7XG4gICAgfVxufVxuXG5AbWl4aW4gZnJvbS1lbmQoJG51bSkge1xuICAgICY6bnRoLWxhc3QtY2hpbGQoI3skbnVtfSkge1xuICAgICAgICBAY29udGVudDtcbiAgICB9XG59XG5cbkBtaXhpbiBiZXR3ZWVuKCRmaXJzdCwkbGFzdCkge1xuICAgICY6bnRoLWNoaWxkKG4rI3skZmlyc3R9KTpudGgtY2hpbGQoLW4rI3skbGFzdH0pIHtcbiAgICAgICAgQGNvbnRlbnQ7XG4gICAgfVxufVxuXG5AbWl4aW4gYWxsLWJ1dCgkbnVtKSB7XG4gICAgJjpub3QoOm50aC1jaGlsZCgjeyRudW19KSkge1xuICAgICAgICBAY29udGVudDtcbiAgICB9XG59XG5cbkBtaXhpbiBlYWNoKCRudW0pIHtcbiAgICAmOm50aC1jaGlsZCgjeyRudW19bikge1xuICAgICAgICBAY29udGVudDtcbiAgICB9XG59XG5cbi8vIGxheWVyc1xuXG5AbWl4aW4gbGF5ZXIoJGxheWVyLW5hbWUpIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgei1pbmRleDogbWFwLWdldCgkbGF5ZXJzLCAkbGF5ZXItbmFtZSk7XG59XG5cbi8vIFNjYWxlIGR5bmFpbWNhbGx5IHVudGlsIGEgZ2l2ZW4gdmlld3BvcnRcblxuQG1peGluIHZpZXdwb3J0LXNjYWxlKCRzaXplOiAxNiwgJGJhc2U6IDEwMjQsICRtaW4td2lkdGg6IDAsICRtYXgtd2lkdGg6IG51bGwpIHtcbiAgICAkbWF4LXdpZHRoOiBpZigkbWF4LXdpZHRoID09IG51bGwsICRiYXNlLCAkbWF4LXdpZHRoKTtcblxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IHJlbWlmeSgkbWluLXdpZHRoLCAxNikpIGFuZCAobWF4LXdpZHRoOiByZW1pZnkoJG1heC13aWR0aCwgMTYpKSB7XG4gICAgICAgIGZvbnQtc2l6ZTogKCRzaXplIC8gJGJhc2UpICogMTAwdnc7XG4gICAgfVxufVxuIiwiLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICogKiBIZWxwZXJzXG5cXCogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKiAqIENvbG9yc1xuXFwqIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICogKiBGb250cyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuXFwqIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICogKiBXaWR0aHMgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuXFwqIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICogKiBCcmVhayBQb2ludHMgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuXFwqIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICogKiBMYXllcnMgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuXFwqIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICogKiBGdW5jdGlvbnNcblxcKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqICogTWl4aW5zXG5cXCogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4ubWVudS1saXN0X2NvbnRhaW5lcjo6YWZ0ZXIsIC5tZW51LWxpc3Q6OmFmdGVyIHtcbiAgY2xlYXI6IGJvdGggIWltcG9ydGFudDtcbiAgY29udGVudDogXCJcIiAhaW1wb3J0YW50O1xuICBkaXNwbGF5OiB0YWJsZSAhaW1wb3J0YW50OyB9XG5cbi5fZGFyayB7XG4gIGNvbG9yOiAjMDAwMDAwICFpbXBvcnRhbnQ7IH1cblxuLl9saWdodCB7XG4gIGNvbG9yOiAjRkZGRkZGICFpbXBvcnRhbnQ7IH1cblxuLl9iaWcge1xuICBmb250LXNpemU6IDEuMjVlbSAhaW1wb3J0YW50OyB9XG5cbi5fc21hbGwge1xuICBmb250LXNpemU6IDAuNzVlbSAhaW1wb3J0YW50OyB9XG5cbi5fYm9sZCB7XG4gIGZvbnQtd2VpZ2h0OiA3MDAgIWltcG9ydGFudDsgfVxuXG4uX2l0YWxpYyB7XG4gIGZvbnQtc3R5bGU6IGl0YWxpYyAhaW1wb3J0YW50OyB9XG5cbi5fdGV4dGNlbnRlciB7XG4gIHRleHQtYWxpZ246IGNlbnRlciAhaW1wb3J0YW50OyB9XG5cbi5fdGV4dGxlZnQge1xuICB0ZXh0LWFsaWduOiBsZWZ0ICFpbXBvcnRhbnQ7IH1cblxuLl90ZXh0cmlnaHQge1xuICB0ZXh0LWFsaWduOiByaWdodCAhaW1wb3J0YW50OyB9XG5cbi5fbm93cmFwIHtcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcCAhaW1wb3J0YW50OyB9XG5cbi5fY2VudGVyIHtcbiAgbWFyZ2luLWxlZnQ6IGF1dG8gIWltcG9ydGFudDtcbiAgbWFyZ2luLXJpZ2h0OiBhdXRvICFpbXBvcnRhbnQ7IH1cblxuLl9sZWZ0IHtcbiAgZmxvYXQ6IGxlZnQgIWltcG9ydGFudDsgfVxuXG4uX3JpZ2h0IHtcbiAgZmxvYXQ6IHJpZ2h0ICFpbXBvcnRhbnQ7IH1cblxuLl9ub21hcmdpbiB7XG4gIG1hcmdpbjogMCAhaW1wb3J0YW50OyB9XG5cbi5fbm9wYWRkaW5nIHtcbiAgcGFkZGluZzogMCAhaW1wb3J0YW50OyB9XG5cbi5fYmxvY2sge1xuICBkaXNwbGF5OiBibG9jayAhaW1wb3J0YW50OyB9XG5cbi5fZmxleCB7XG4gIGRpc3BsYXk6IGZsZXggIWltcG9ydGFudDsgfVxuXG4uX3Zpc3VhbGx5aGlkZGVuIHtcbiAgYmFja2dyb3VuZDogI2YxZjFmMSAhaW1wb3J0YW50O1xuICBib3JkZXItcmFkaXVzOiAwICFpbXBvcnRhbnQ7XG4gIGJveC1zaGFkb3c6IDBlbSAwZW0gMC4xNDI4NmVtIDAuMTQyODZlbSByZ2JhKDAsIDAsIDAsIDAuNikgIWltcG9ydGFudDtcbiAgY29sb3I6ICNCNzIwMkEgIWltcG9ydGFudDtcbiAgZGlzcGxheTogYmxvY2sgIWltcG9ydGFudDtcbiAgZm9udC1mYW1pbHk6IFwiU291cmNlIFNhbnMgUHJvXCIsIFwiQXJpYWxcIiwgXCJIZWx2ZXRpY2FcIiwgc2Fucy1zZXJpZiAhaW1wb3J0YW50O1xuICBmb250LXNpemU6IDAuODc1cmVtICFpbXBvcnRhbnQ7XG4gIGZvbnQtd2VpZ2h0OiA3MDAgIWltcG9ydGFudDtcbiAgaGVpZ2h0OiBhdXRvICFpbXBvcnRhbnQ7XG4gIGxlZnQ6IC05OTllbSAhaW1wb3J0YW50O1xuICBsZXR0ZXItc3BhY2luZzogbm9ybWFsICFpbXBvcnRhbnQ7XG4gIGxpbmUtaGVpZ2h0OiBub3JtYWwgIWltcG9ydGFudDtcbiAgb3V0bGluZTogbm9uZSAhaW1wb3J0YW50O1xuICBwYWRkaW5nOiAxLjA3MTQzZW0gMS42NDI4NmVtIDFlbSAhaW1wb3J0YW50O1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZSAhaW1wb3J0YW50O1xuICB0ZXh0LXNoYWRvdzogbm9uZSAhaW1wb3J0YW50O1xuICB0ZXh0LXRyYW5zZm9ybTogbm9uZSAhaW1wb3J0YW50O1xuICB0b3A6IC05OTllbSAhaW1wb3J0YW50O1xuICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICB3aWR0aDogYXV0byAhaW1wb3J0YW50OyB9XG5cbi5fdmlzdWFsbHloaWRkZW46Zm9jdXMge1xuICBsZWZ0OiAwLjQyODU3ZW0gIWltcG9ydGFudDtcbiAgdG9wOiAwLjQyODU3ZW0gIWltcG9ydGFudDtcbiAgei1pbmRleDogMTAwMDAwICFpbXBvcnRhbnQ7IH1cblxuLl9wcmltYXJ5IHtcbiAgY29sb3I6ICM3NTExMTMgIWltcG9ydGFudDsgfVxuXG4uX2FjY2VudCB7XG4gIGNvbG9yOiAjQjcyMDJBICFpbXBvcnRhbnQ7IH1cblxuLl93YXJuaW5nIHtcbiAgY29sb3I6ICM3NTExMTMgIWltcG9ydGFudDsgfVxuXG4uX3N0aWNreSB7XG4gIHBvc2l0aW9uOiBzdGlja3kgIWltcG9ydGFudDtcbiAgdG9wOiAwICFpbXBvcnRhbnQ7IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjAxcHgpIHtcbiAgQHN1cHBvcnRzIChwb3NpdGlvbjogLXdlYmtpdC1zdGlja3kpIG9yIChwb3NpdGlvbjogc3RpY2t5KSB7XG4gICAgLmFkbWluLWJhciAuX3N0aWNreSB7XG4gICAgICB0b3A6IDQ2cHggIWltcG9ydGFudDsgfSB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzgzcHgpIHtcbiAgQHN1cHBvcnRzIChwb3NpdGlvbjogLXdlYmtpdC1zdGlja3kpIG9yIChwb3NpdGlvbjogc3RpY2t5KSB7XG4gICAgLmFkbWluLWJhciAuX3N0aWNreSB7XG4gICAgICB0b3A6IDMycHggIWltcG9ydGFudDsgfSB9IH1cblxuLyogdmlzaWJpbGl0eSBjbGFzc2VzICovXG5AbWVkaWEgKHBvaW50ZXI6IGZpbmUpIHtcbiAgLl90b3VjaCB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50OyB9IH1cblxuQHN1cHBvcnRzIG5vdCAocG9pbnRlcjogZmluZSkge1xuICAuX3RvdWNoIHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7IH0gfVxuXG5AbWVkaWEgKHBvaW50ZXI6IGNvdXJzZSkge1xuICAuX21vdXNlIHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7IH0gfVxuXG5AbWVkaWEgcHJpbnQge1xuICAuX25vcHJpbnQge1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDQ3LjkzNzVlbSkge1xuICAuX3RhYmxldDpub3QoLl9waG9uZSksXG4gIC5fbm90ZWJvb2s6bm90KC5fcGhvbmUpLFxuICAuX2Rlc2t0b3A6bm90KC5fcGhvbmUpIHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSBhbmQgKG1heC13aWR0aDogNjMuOTM3NWVtKSB7XG4gIC5fcGhvbmU6bm90KC5fdGFibGV0KSxcbiAgLl9ub3RlYm9vazpub3QoLl90YWJsZXQpLFxuICAuX2Rlc2t0b3A6bm90KC5fdGFibGV0KSB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50OyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkgYW5kIChtYXgtd2lkdGg6IDc5LjkzNzVlbSkge1xuICAuX3Bob25lOm5vdCguX25vdGVib29rKSxcbiAgLl90YWJsZXQ6bm90KC5fbm90ZWJvb2spLFxuICAuX2Rlc2t0b3A6bm90KC5fbm90ZWJvb2spIHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MGVtKSB7XG4gIC5fcGhvbmU6bm90KC5fZGVza3RvcCksXG4gIC5fdGFibGV0Om5vdCguX2Rlc2t0b3ApLFxuICAuX25vdGVib29rOm5vdCguX2Rlc2t0b3ApIHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7IH0gfVxuXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKiAqIEJhc2VcblxcKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqICogTm9ybWFsaXplXG5cXCogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiBzdHlsZWxpbnQtZGlzYWJsZSBzZWxlY3Rvci1tYXgtdHlwZSAqL1xuLyogVGhlc2Ugc3R5bGVzIGFyZSBpbnRlbmRlZCB0byBiZSBnbG9iYWwgKi9cbi8qISBub3JtYWxpemUuY3NzIHY0LjEuMSB8IE1JVCBMaWNlbnNlIHwgZ2l0aHViLmNvbS9uZWNvbGFzL25vcm1hbGl6ZS5jc3MgKi9cbi8qKlxuICogMS4gQ2hhbmdlIHRoZSBkZWZhdWx0IGZvbnQgZmFtaWx5IGluIGFsbCBicm93c2VycyAob3BpbmlvbmF0ZWQpLlxuICogMi4gUHJldmVudCBhZGp1c3RtZW50cyBvZiBmb250IHNpemUgYWZ0ZXIgb3JpZW50YXRpb24gY2hhbmdlcyBpbiBJRSBhbmQgaU9TLlxuICovXG5odG1sIHtcbiAgZm9udC1mYW1pbHk6IHNhbnMtc2VyaWY7XG4gIC8qIDEgKi9cbiAgLW1zLXRleHQtc2l6ZS1hZGp1c3Q6IDEwMCU7XG4gIC8qIDIgKi9cbiAgLXdlYmtpdC10ZXh0LXNpemUtYWRqdXN0OiAxMDAlO1xuICAvKiAyICovIH1cblxuLyoqXG4gKiBSZW1vdmUgdGhlIG1hcmdpbiBpbiBhbGwgYnJvd3NlcnMgKG9waW5pb25hdGVkKS5cbiAqL1xuYm9keSB7XG4gIG1hcmdpbjogMDsgfVxuXG4vKiBIVE1MNSBkaXNwbGF5IGRlZmluaXRpb25zXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLyoqXG4gKiBBZGQgdGhlIGNvcnJlY3QgZGlzcGxheSBpbiBJRSA5LS5cbiAqIDEuIEFkZCB0aGUgY29ycmVjdCBkaXNwbGF5IGluIEVkZ2UsIElFLCBhbmQgRmlyZWZveC5cbiAqIDIuIEFkZCB0aGUgY29ycmVjdCBkaXNwbGF5IGluIElFLlxuICovXG5hcnRpY2xlLFxuYXNpZGUsXG5kZXRhaWxzLFxuZmlnY2FwdGlvbixcbmZpZ3VyZSxcbmZvb3RlcixcbmhlYWRlcixcbm1haW4sXG5tZW51LFxubmF2LFxuc2VjdGlvbixcbnN1bW1hcnkge1xuICAvKiAxICovXG4gIGRpc3BsYXk6IGJsb2NrOyB9XG5cbi8qKlxuICogQWRkIHRoZSBjb3JyZWN0IGRpc3BsYXkgaW4gSUUgOS0uXG4gKi9cbmF1ZGlvLFxuY2FudmFzLFxucHJvZ3Jlc3MsXG52aWRlbyB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jazsgfVxuXG4vKipcbiAqIEFkZCB0aGUgY29ycmVjdCBkaXNwbGF5IGluIGlPUyA0LTcuXG4gKi9cbmF1ZGlvOm5vdChbY29udHJvbHNdKSB7XG4gIGRpc3BsYXk6IG5vbmU7XG4gIGhlaWdodDogMDsgfVxuXG4vKipcbiAqIEFkZCB0aGUgY29ycmVjdCB2ZXJ0aWNhbCBhbGlnbm1lbnQgaW4gQ2hyb21lLCBGaXJlZm94LCBhbmQgT3BlcmEuXG4gKi9cbnByb2dyZXNzIHtcbiAgdmVydGljYWwtYWxpZ246IGJhc2VsaW5lOyB9XG5cbi8qKlxuICogQWRkIHRoZSBjb3JyZWN0IGRpc3BsYXkgaW4gSUUgMTAtLlxuICogMS4gQWRkIHRoZSBjb3JyZWN0IGRpc3BsYXkgaW4gSUUuXG4gKi9cbnRlbXBsYXRlLFxuW2hpZGRlbl0ge1xuICBkaXNwbGF5OiBub25lOyB9XG5cbi8qIExpbmtzXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLyoqXG4gKiAxLiBSZW1vdmUgdGhlIGdyYXkgYmFja2dyb3VuZCBvbiBhY3RpdmUgbGlua3MgaW4gSUUgMTAuXG4gKiAyLiBSZW1vdmUgZ2FwcyBpbiBsaW5rcyB1bmRlcmxpbmUgaW4gaU9TIDgrIGFuZCBTYWZhcmkgOCsuXG4gKi9cbmEge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgLyogMSAqL1xuICAtd2Via2l0LXRleHQtZGVjb3JhdGlvbi1za2lwOiBvYmplY3RzO1xuICAvKiAyICovIH1cblxuLyoqXG4gKiBSZW1vdmUgdGhlIG91dGxpbmUgb24gZm9jdXNlZCBsaW5rcyB3aGVuIHRoZXkgYXJlIGFsc28gYWN0aXZlIG9yIGhvdmVyZWRcbiAqIGluIGFsbCBicm93c2VycyAob3BpbmlvbmF0ZWQpLlxuICovXG5hOmFjdGl2ZSxcbmE6aG92ZXIge1xuICBvdXRsaW5lLXdpZHRoOiAwOyB9XG5cbi8qIFRleHQtbGV2ZWwgc2VtYW50aWNzXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLyoqXG4gKiAxLiBSZW1vdmUgdGhlIGJvdHRvbSBib3JkZXIgaW4gRmlyZWZveCAzOS0uXG4gKiAyLiBBZGQgdGhlIGNvcnJlY3QgdGV4dCBkZWNvcmF0aW9uIGluIENocm9tZSwgRWRnZSwgSUUsIE9wZXJhLCBhbmQgU2FmYXJpLlxuICovXG5hYmJyW3RpdGxlXSB7XG4gIGJvcmRlci1ib3R0b206IG5vbmU7XG4gIC8qIDEgKi9cbiAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XG4gIC8qIDIgKi9cbiAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmUgZG90dGVkO1xuICAvKiAyICovIH1cblxuLyoqXG4gKiBQcmV2ZW50IHRoZSBkdXBsaWNhdGUgYXBwbGljYXRpb24gb2YgYGJvbGRlcmAgYnkgdGhlIG5leHQgcnVsZSBpbiBTYWZhcmkgNi5cbiAqL1xuYixcbnN0cm9uZyB7XG4gIGZvbnQtd2VpZ2h0OiBpbmhlcml0OyB9XG5cbi8qKlxuICogQWRkIHRoZSBjb3JyZWN0IGZvbnQgd2VpZ2h0IGluIENocm9tZSwgRWRnZSwgYW5kIFNhZmFyaS5cbiAqL1xuYixcbnN0cm9uZyB7XG4gIGZvbnQtd2VpZ2h0OiBib2xkZXI7IH1cblxuLyoqXG4gKiBBZGQgdGhlIGNvcnJlY3QgZm9udCBzdHlsZSBpbiBBbmRyb2lkIDQuMy0uXG4gKi9cbmRmbiB7XG4gIGZvbnQtc3R5bGU6IGl0YWxpYzsgfVxuXG4vKipcbiAqIENvcnJlY3QgdGhlIGZvbnQgc2l6ZSBhbmQgbWFyZ2luIG9uIGBoMWAgZWxlbWVudHMgd2l0aGluIGBzZWN0aW9uYCBhbmRcbiAqIGBhcnRpY2xlYCBjb250ZXh0cyBpbiBDaHJvbWUsIEZpcmVmb3gsIGFuZCBTYWZhcmkuXG4gKi9cbmgxIHtcbiAgZm9udC1zaXplOiAyZW07XG4gIG1hcmdpbjogMC42N2VtIDA7IH1cblxuLyoqXG4gKiBDb3JyZWN0IHRoZSBsaW5lLWhlaWdodCBmb3IgYWxsIGhlYWRpbmdzIGluIENocm9tZSBtb2JpbGUsIEZpcmVmb3gsXG4gKiBpT1MgU2FmYXJpLCBNaWNyb3NvZnQgRWRnZSBhbmQgSUUuXG4gKi9cbmgxLFxuaDIsXG5oMyxcbmg0LFxuaDUsXG5oNiB7XG4gIGxpbmUtaGVpZ2h0OiAxLjE1OyB9XG5cbi8qKlxuICogQWRkIHRoZSBjb3JyZWN0IGJhY2tncm91bmQgYW5kIGNvbG9yIGluIElFIDktLlxuICovXG5tYXJrIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZmMDtcbiAgY29sb3I6ICMwMDA7IH1cblxuLyoqXG4gKiBBZGQgdGhlIGNvcnJlY3QgZm9udCBzaXplIGluIGFsbCBicm93c2Vycy5cbiAqL1xuc21hbGwge1xuICBmb250LXNpemU6IDgwJTsgfVxuXG4vKipcbiAqIFByZXZlbnQgYHN1YmAgYW5kIGBzdXBgIGVsZW1lbnRzIGZyb20gYWZmZWN0aW5nIHRoZSBsaW5lIGhlaWdodCBpblxuICogYWxsIGJyb3dzZXJzLlxuICovXG5zdWIsXG5zdXAge1xuICBmb250LXNpemU6IDc1JTtcbiAgbGluZS1oZWlnaHQ6IDA7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgdmVydGljYWwtYWxpZ246IGJhc2VsaW5lOyB9XG5cbnN1YiB7XG4gIGJvdHRvbTogLTAuMjVlbTsgfVxuXG5zdXAge1xuICB0b3A6IC0wLjVlbTsgfVxuXG4vKiBFbWJlZGRlZCBjb250ZW50XG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLyoqXG4gKiBSZW1vdmUgdGhlIGJvcmRlciBvbiBpbWFnZXMgaW5zaWRlIGxpbmtzIGluIElFIDEwLS5cbiAqL1xuaW1nIHtcbiAgYm9yZGVyLXN0eWxlOiBub25lOyB9XG5cbi8qKlxuICogSGlkZSB0aGUgb3ZlcmZsb3cgaW4gSUUuXG4gKi9cbnN2Zzpub3QoOnJvb3QpIHtcbiAgb3ZlcmZsb3c6IGhpZGRlbjsgfVxuXG4vKiBHcm91cGluZyBjb250ZW50XG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLyoqXG4gKiAxLiBDb3JyZWN0IHRoZSBpbmhlcml0YW5jZSBhbmQgc2NhbGluZyBvZiBmb250IHNpemUgaW4gYWxsIGJyb3dzZXJzLlxuICogMi4gQ29ycmVjdCB0aGUgb2RkIGBlbWAgZm9udCBzaXppbmcgaW4gYWxsIGJyb3dzZXJzLlxuICovXG5jb2RlLFxua2JkLFxucHJlLFxuc2FtcCB7XG4gIGZvbnQtZmFtaWx5OiBtb25vc3BhY2UsIG1vbm9zcGFjZTtcbiAgLyogMSAqL1xuICBmb250LXNpemU6IDFlbTtcbiAgLyogMiAqLyB9XG5cbi8qKlxuICogQWRkIHRoZSBjb3JyZWN0IG1hcmdpbiBpbiBJRSA4LlxuICovXG5maWd1cmUge1xuICBtYXJnaW46IDFlbSA0MHB4OyB9XG5cbi8qKlxuICogMS4gQWRkIHRoZSBjb3JyZWN0IGJveCBzaXppbmcgaW4gRmlyZWZveC5cbiAqIDIuIFNob3cgdGhlIG92ZXJmbG93IGluIEVkZ2UgYW5kIElFLlxuICovXG5ociB7XG4gIGJveC1zaXppbmc6IGNvbnRlbnQtYm94O1xuICAvKiAxICovXG4gIGhlaWdodDogMDtcbiAgLyogMSAqL1xuICBvdmVyZmxvdzogdmlzaWJsZTtcbiAgLyogMiAqLyB9XG5cbi8qIEZvcm1zXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLyoqXG4gKiAxLiBDaGFuZ2UgZm9udCBwcm9wZXJ0aWVzIHRvIGBpbmhlcml0YCBpbiBhbGwgYnJvd3NlcnMgKG9waW5pb25hdGVkKS5cbiAqIDIuIFJlbW92ZSB0aGUgbWFyZ2luIGluIEZpcmVmb3ggYW5kIFNhZmFyaS5cbiAqL1xuYnV0dG9uLFxuaW5wdXQsXG5vcHRncm91cCxcbnNlbGVjdCxcbnRleHRhcmVhIHtcbiAgZm9udDogaW5oZXJpdDtcbiAgLyogMSAqL1xuICBtYXJnaW46IDA7XG4gIC8qIDIgKi8gfVxuXG4vKipcbiAqIFJlc3RvcmUgdGhlIGZvbnQgd2VpZ2h0IHVuc2V0IGJ5IHRoZSBwcmV2aW91cyBydWxlLlxuICovXG5vcHRncm91cCB7XG4gIGZvbnQtd2VpZ2h0OiBib2xkOyB9XG5cbi8qKlxuICogU2hvdyB0aGUgb3ZlcmZsb3cgaW4gSUUuXG4gKiAxLiBTaG93IHRoZSBvdmVyZmxvdyBpbiBFZGdlLlxuICovXG5idXR0b24sXG5pbnB1dCB7XG4gIC8qIDEgKi9cbiAgb3ZlcmZsb3c6IHZpc2libGU7IH1cblxuLyoqXG4gKiBSZW1vdmUgdGhlIGluaGVyaXRhbmNlIG9mIHRleHQgdHJhbnNmb3JtIGluIEVkZ2UsIEZpcmVmb3gsIGFuZCBJRS5cbiAqIDEuIFJlbW92ZSB0aGUgaW5oZXJpdGFuY2Ugb2YgdGV4dCB0cmFuc2Zvcm0gaW4gRmlyZWZveC5cbiAqL1xuYnV0dG9uLFxuc2VsZWN0IHtcbiAgLyogMSAqL1xuICB0ZXh0LXRyYW5zZm9ybTogbm9uZTsgfVxuXG4vKipcbiAqIDEuIFByZXZlbnQgYSBXZWJLaXQgYnVnIHdoZXJlICgyKSBkZXN0cm95cyBuYXRpdmUgYGF1ZGlvYCBhbmQgYHZpZGVvYFxuICogICAgY29udHJvbHMgaW4gQW5kcm9pZCA0LlxuICogMi4gQ29ycmVjdCB0aGUgaW5hYmlsaXR5IHRvIHN0eWxlIGNsaWNrYWJsZSB0eXBlcyBpbiBpT1MgYW5kIFNhZmFyaS5cbiAqL1xuYnV0dG9uLFxuaHRtbCBbdHlwZT1cImJ1dHRvblwiXSxcblt0eXBlPVwicmVzZXRcIl0sXG5bdHlwZT1cInN1Ym1pdFwiXSB7XG4gIC13ZWJraXQtYXBwZWFyYW5jZTogYnV0dG9uO1xuICAvKiAyICovIH1cblxuLyoqXG4gKiBSZW1vdmUgdGhlIGlubmVyIGJvcmRlciBhbmQgcGFkZGluZyBpbiBGaXJlZm94LlxuICovXG5idXR0b246Oi1tb3otZm9jdXMtaW5uZXIsXG5bdHlwZT1cImJ1dHRvblwiXTo6LW1vei1mb2N1cy1pbm5lcixcblt0eXBlPVwicmVzZXRcIl06Oi1tb3otZm9jdXMtaW5uZXIsXG5bdHlwZT1cInN1Ym1pdFwiXTo6LW1vei1mb2N1cy1pbm5lciB7XG4gIGJvcmRlci1zdHlsZTogbm9uZTtcbiAgcGFkZGluZzogMDsgfVxuXG4vKipcbiAqIFJlc3RvcmUgdGhlIGZvY3VzIHN0eWxlcyB1bnNldCBieSB0aGUgcHJldmlvdXMgcnVsZS5cbiAqL1xuYnV0dG9uOi1tb3otZm9jdXNyaW5nLFxuW3R5cGU9XCJidXR0b25cIl06LW1vei1mb2N1c3JpbmcsXG5bdHlwZT1cInJlc2V0XCJdOi1tb3otZm9jdXNyaW5nLFxuW3R5cGU9XCJzdWJtaXRcIl06LW1vei1mb2N1c3Jpbmcge1xuICBvdXRsaW5lOiAxcHggZG90dGVkIEJ1dHRvblRleHQ7IH1cblxuLyoqXG4gKiBDaGFuZ2UgdGhlIGJvcmRlciwgbWFyZ2luLCBhbmQgcGFkZGluZyBpbiBhbGwgYnJvd3NlcnMgKG9waW5pb25hdGVkKS5cbiAqL1xuZmllbGRzZXQge1xuICBib3JkZXI6IDFweCBzb2xpZCAjYzBjMGMwO1xuICBtYXJnaW46IDAgMnB4O1xuICBwYWRkaW5nOiAwLjM1ZW0gMC42MjVlbSAwLjc1ZW07IH1cblxuLyoqXG4gKiAxLiBDb3JyZWN0IHRoZSB0ZXh0IHdyYXBwaW5nIGluIEVkZ2UgYW5kIElFLlxuICogMi4gQ29ycmVjdCB0aGUgY29sb3IgaW5oZXJpdGFuY2UgZnJvbSBgZmllbGRzZXRgIGVsZW1lbnRzIGluIElFLlxuICogMy4gUmVtb3ZlIHRoZSBwYWRkaW5nIHNvIGRldmVsb3BlcnMgYXJlIG5vdCBjYXVnaHQgb3V0IHdoZW4gdGhleSB6ZXJvIG91dFxuICogICAgYGZpZWxkc2V0YCBlbGVtZW50cyBpbiBhbGwgYnJvd3NlcnMuXG4gKi9cbmxlZ2VuZCB7XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gIC8qIDEgKi9cbiAgY29sb3I6IGluaGVyaXQ7XG4gIC8qIDIgKi9cbiAgZGlzcGxheTogdGFibGU7XG4gIC8qIDEgKi9cbiAgbWF4LXdpZHRoOiAxMDAlO1xuICAvKiAxICovXG4gIHBhZGRpbmc6IDA7XG4gIC8qIDMgKi9cbiAgd2hpdGUtc3BhY2U6IG5vcm1hbDtcbiAgLyogMSAqLyB9XG5cbi8qKlxuICogUmVtb3ZlIHRoZSBkZWZhdWx0IHZlcnRpY2FsIHNjcm9sbGJhciBpbiBJRS5cbiAqL1xudGV4dGFyZWEge1xuICBvdmVyZmxvdzogYXV0bzsgfVxuXG4vKipcbiAqIDEuIEFkZCB0aGUgY29ycmVjdCBib3ggc2l6aW5nIGluIElFIDEwLS5cbiAqIDIuIFJlbW92ZSB0aGUgcGFkZGluZyBpbiBJRSAxMC0uXG4gKi9cblt0eXBlPVwiY2hlY2tib3hcIl0sXG5bdHlwZT1cInJhZGlvXCJdIHtcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgLyogMSAqL1xuICBwYWRkaW5nOiAwO1xuICAvKiAyICovIH1cblxuLyoqXG4gKiBDb3JyZWN0IHRoZSBjdXJzb3Igc3R5bGUgb2YgaW5jcmVtZW50IGFuZCBkZWNyZW1lbnQgYnV0dG9ucyBpbiBDaHJvbWUuXG4gKi9cblt0eXBlPVwibnVtYmVyXCJdOjotd2Via2l0LWlubmVyLXNwaW4tYnV0dG9uLFxuW3R5cGU9XCJudW1iZXJcIl06Oi13ZWJraXQtb3V0ZXItc3Bpbi1idXR0b24ge1xuICBoZWlnaHQ6IGF1dG87IH1cblxuLyoqXG4gKiAxLiBDb3JyZWN0IHRoZSBvZGQgYXBwZWFyYW5jZSBpbiBDaHJvbWUgYW5kIFNhZmFyaS5cbiAqIDIuIENvcnJlY3QgdGhlIG91dGxpbmUgc3R5bGUgaW4gU2FmYXJpLlxuICovXG5bdHlwZT1cInNlYXJjaFwiXSB7XG4gIC13ZWJraXQtYXBwZWFyYW5jZTogdGV4dGZpZWxkO1xuICAvKiAxICovXG4gIG91dGxpbmUtb2Zmc2V0OiAtMnB4O1xuICAvKiAyICovIH1cblxuLyoqXG4gKiBSZW1vdmUgdGhlIGlubmVyIHBhZGRpbmcgYW5kIGNhbmNlbCBidXR0b25zIGluIENocm9tZSBhbmQgU2FmYXJpIG9uIE9TIFguXG4gKi9cblt0eXBlPVwic2VhcmNoXCJdOjotd2Via2l0LXNlYXJjaC1jYW5jZWwtYnV0dG9uLFxuW3R5cGU9XCJzZWFyY2hcIl06Oi13ZWJraXQtc2VhcmNoLWRlY29yYXRpb24ge1xuICAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7IH1cblxuLyoqXG4gKiBDb3JyZWN0IHRoZSB0ZXh0IHN0eWxlIG9mIHBsYWNlaG9sZGVycyBpbiBDaHJvbWUsIEVkZ2UsIGFuZCBTYWZhcmkuXG4gKi9cbjo6LXdlYmtpdC1pbnB1dC1wbGFjZWhvbGRlciB7XG4gIGNvbG9yOiBpbmhlcml0O1xuICBvcGFjaXR5OiAwLjU0OyB9XG5cbi8qKlxuICogMS4gQ29ycmVjdCB0aGUgaW5hYmlsaXR5IHRvIHN0eWxlIGNsaWNrYWJsZSB0eXBlcyBpbiBpT1MgYW5kIFNhZmFyaS5cbiAqIDIuIENoYW5nZSBmb250IHByb3BlcnRpZXMgdG8gYGluaGVyaXRgIGluIFNhZmFyaS5cbiAqL1xuOjotd2Via2l0LWZpbGUtdXBsb2FkLWJ1dHRvbiB7XG4gIC13ZWJraXQtYXBwZWFyYW5jZTogYnV0dG9uO1xuICAvKiAxICovXG4gIGZvbnQ6IGluaGVyaXQ7XG4gIC8qIDIgKi8gfVxuXG4qLFxuKjo6YmVmb3JlLFxuKjo6YWZ0ZXIge1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94OyB9XG5cbnN2ZyB7XG4gIG1heC1oZWlnaHQ6IDEwMCU7XG4gIG1heC13aWR0aDogMTAwJTsgfVxuXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKiAqIEdyaWQgKGJhc2VkIGxvb3NlbHkgb24gaHR0cHM6Ly92NC1hbHBoYS5nZXRib290c3RyYXAuY29tL2xheW91dC9ncmlkLylcblxcKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIHN0eWxlbGludC1kaXNhYmxlIHNlbGVjdG9yLWNsYXNzLXBhdHRlcm4gKi9cbi5yb3cge1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LXdyYXA6IHdyYXA7IH1cblxuLnJvdyA+IFtjbGFzcyo9XCJjb2wtXCJdIHtcbiAgZmxleC1ncm93OiAxO1xuICBmbGV4LXNocmluazogMTtcbiAgbWluLXdpZHRoOiAwOyB9XG5cbi5yb3cgPiBbY2xhc3MqPVwiY29sLVwiXS4tbm9ncm93IHtcbiAgZmxleC1ncm93OiAwOyB9XG5cbi5yb3cgPiBbY2xhc3MqPVwiY29sLVwiXS4tbm93cmFwIHtcbiAgbWluLXdpZHRoOiAwOyB9XG5cbi5yb3cgPiBbY2xhc3MqPVwiY29sLVwiXS4tbm9zaHJpbmsge1xuICBmbGV4LXNocmluazogMDsgfVxuXG4ucm93Li1wYWRkZWQge1xuICB3aWR0aDogY2FsYygxMDAlICsgMS44NzVlbSk7IH1cblxuLnJvdy4tcGFkZGVkID4gW2NsYXNzKj1cImNvbC1cIl0ge1xuICBwYWRkaW5nLXJpZ2h0OiAxLjg3NWVtOyB9XG5cbi5yb3cuLW5vd3JhcCB7XG4gIGZsZXgtd3JhcDogbm93cmFwOyB9XG5cbi5yb3cuLXdyYXByZXZlcnNlIHtcbiAgZmxleC13cmFwOiB3cmFwLXJldmVyc2U7IH1cblxuLnJvdy4tY2VudGVyIHtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7IH1cblxuLnJvdzpub3QoLi1jb2x1bW4pLi1oY2VudGVyIHtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7IH1cblxuLnJvdzpub3QoLi1jb2x1bW4pLi12Y2VudGVyIHtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjsgfVxuXG4ucm93Om5vdCguLWNvbHVtbikuLXRvcCB7XG4gIGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0OyB9XG5cbi5yb3c6bm90KC4tY29sdW1uKS4tcmlnaHQge1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kOyB9XG5cbi5yb3c6bm90KC4tY29sdW1uKS4tYm90dG9tIHtcbiAgYWxpZ24taXRlbXM6IGZsZXgtZW5kOyB9XG5cbi5yb3c6bm90KC4tY29sdW1uKS4tbGVmdCB7XG4gIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDsgfVxuXG4ucm93Li1zdHJldGNoIHtcbiAgYWxpZ24taXRlbXM6IHN0cmV0Y2g7IH1cblxuLnJvdy4tYXJvdW5kIHtcbiAganVzdGlmeS1jb250ZW50OiBzcGFjZS1hcm91bmQ7IH1cblxuLnJvdy4tYmV0d2VlbiB7XG4gIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjsgfVxuXG4ucm93Om5vdCguLWNvbHVtbikuLXJldmVyc2Uge1xuICBmbGV4LWRpcmVjdGlvbjogcm93LXJldmVyc2U7IH1cblxuLnJvdy4tY29sdW1uIHtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjsgfVxuXG4ucm93Li1jb2x1bW4uLXZjZW50ZXIge1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjsgfVxuXG4ucm93Li1jb2x1bW4uLXRvcCB7XG4gIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDsgfVxuXG4ucm93Li1jb2x1bW4uLXJpZ2h0IHtcbiAgYWxpZ24taXRlbXM6IGZsZXgtZW5kOyB9XG5cbi5yb3cuLWNvbHVtbi4tYm90dG9tIHtcbiAganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDsgfVxuXG4ucm93Li1jb2x1bW4uLWxlZnQge1xuICBhbGlnbi1pdGVtczogZmxleC1zdGFydDsgfVxuXG4ucm93Li1jb2x1bW4uLWhjZW50ZXIge1xuICBhbGlnbi1pdGVtczogY2VudGVyOyB9XG5cbi5yb3cuLWNvbHVtbi4tcmV2ZXJzZSB7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW4tcmV2ZXJzZTsgfVxuXG4uY29sLWF1dG8ge1xuICBmbGV4LWJhc2lzOiBhdXRvOyB9XG5cbi5jb2wtMCB7XG4gIGZsZXgtYmFzaXM6IDAlOyB9XG5cbi5jb2wtMSB7XG4gIGZsZXgtYmFzaXM6IDguMzMzMzMlOyB9XG5cbi5jb2wtMiB7XG4gIGZsZXgtYmFzaXM6IDE2LjY2NjY3JTsgfVxuXG4uY29sLTMge1xuICBmbGV4LWJhc2lzOiAyNSU7IH1cblxuLmNvbC00IHtcbiAgZmxleC1iYXNpczogMzMuMzMzMzMlOyB9XG5cbi5jb2wtNSB7XG4gIGZsZXgtYmFzaXM6IDQxLjY2NjY3JTsgfVxuXG4uY29sLTYge1xuICBmbGV4LWJhc2lzOiA1MCU7IH1cblxuLmNvbC03IHtcbiAgZmxleC1iYXNpczogNTguMzMzMzMlOyB9XG5cbi5jb2wtOCB7XG4gIGZsZXgtYmFzaXM6IDY2LjY2NjY3JTsgfVxuXG4uY29sLTkge1xuICBmbGV4LWJhc2lzOiA3NSU7IH1cblxuLmNvbC0xMCB7XG4gIGZsZXgtYmFzaXM6IDgzLjMzMzMzJTsgfVxuXG4uY29sLTExIHtcbiAgZmxleC1iYXNpczogOTEuNjY2NjclOyB9XG5cbi5jb2wtMTIge1xuICBmbGV4LWJhc2lzOiAxMDAlOyB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgLmNvbC14cy1hdXRvIHtcbiAgICBmbGV4LWJhc2lzOiBhdXRvOyB9XG4gIC5jb2wteHMtMCB7XG4gICAgZmxleC1iYXNpczogMCU7IH1cbiAgLmNvbC14cy0xIHtcbiAgICBmbGV4LWJhc2lzOiA4LjMzMzMzJTsgfVxuICAuY29sLXhzLTIge1xuICAgIGZsZXgtYmFzaXM6IDE2LjY2NjY3JTsgfVxuICAuY29sLXhzLTMge1xuICAgIGZsZXgtYmFzaXM6IDI1JTsgfVxuICAuY29sLXhzLTQge1xuICAgIGZsZXgtYmFzaXM6IDMzLjMzMzMzJTsgfVxuICAuY29sLXhzLTUge1xuICAgIGZsZXgtYmFzaXM6IDQxLjY2NjY3JTsgfVxuICAuY29sLXhzLTYge1xuICAgIGZsZXgtYmFzaXM6IDUwJTsgfVxuICAuY29sLXhzLTcge1xuICAgIGZsZXgtYmFzaXM6IDU4LjMzMzMzJTsgfVxuICAuY29sLXhzLTgge1xuICAgIGZsZXgtYmFzaXM6IDY2LjY2NjY3JTsgfVxuICAuY29sLXhzLTkge1xuICAgIGZsZXgtYmFzaXM6IDc1JTsgfVxuICAuY29sLXhzLTEwIHtcbiAgICBmbGV4LWJhc2lzOiA4My4zMzMzMyU7IH1cbiAgLmNvbC14cy0xMSB7XG4gICAgZmxleC1iYXNpczogOTEuNjY2NjclOyB9XG4gIC5jb2wteHMtMTIge1xuICAgIGZsZXgtYmFzaXM6IDEwMCU7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA1My4zMTI1ZW0pIHtcbiAgLmNvbC1zLWF1dG8ge1xuICAgIGZsZXgtYmFzaXM6IGF1dG87IH1cbiAgLmNvbC1zLTAge1xuICAgIGZsZXgtYmFzaXM6IDAlOyB9XG4gIC5jb2wtcy0xIHtcbiAgICBmbGV4LWJhc2lzOiA4LjMzMzMzJTsgfVxuICAuY29sLXMtMiB7XG4gICAgZmxleC1iYXNpczogMTYuNjY2NjclOyB9XG4gIC5jb2wtcy0zIHtcbiAgICBmbGV4LWJhc2lzOiAyNSU7IH1cbiAgLmNvbC1zLTQge1xuICAgIGZsZXgtYmFzaXM6IDMzLjMzMzMzJTsgfVxuICAuY29sLXMtNSB7XG4gICAgZmxleC1iYXNpczogNDEuNjY2NjclOyB9XG4gIC5jb2wtcy02IHtcbiAgICBmbGV4LWJhc2lzOiA1MCU7IH1cbiAgLmNvbC1zLTcge1xuICAgIGZsZXgtYmFzaXM6IDU4LjMzMzMzJTsgfVxuICAuY29sLXMtOCB7XG4gICAgZmxleC1iYXNpczogNjYuNjY2NjclOyB9XG4gIC5jb2wtcy05IHtcbiAgICBmbGV4LWJhc2lzOiA3NSU7IH1cbiAgLmNvbC1zLTEwIHtcbiAgICBmbGV4LWJhc2lzOiA4My4zMzMzMyU7IH1cbiAgLmNvbC1zLTExIHtcbiAgICBmbGV4LWJhc2lzOiA5MS42NjY2NyU7IH1cbiAgLmNvbC1zLTEyIHtcbiAgICBmbGV4LWJhc2lzOiAxMDAlOyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjBlbSkge1xuICAuY29sLW0tYXV0byB7XG4gICAgZmxleC1iYXNpczogYXV0bzsgfVxuICAuY29sLW0tMCB7XG4gICAgZmxleC1iYXNpczogMCU7IH1cbiAgLmNvbC1tLTEge1xuICAgIGZsZXgtYmFzaXM6IDguMzMzMzMlOyB9XG4gIC5jb2wtbS0yIHtcbiAgICBmbGV4LWJhc2lzOiAxNi42NjY2NyU7IH1cbiAgLmNvbC1tLTMge1xuICAgIGZsZXgtYmFzaXM6IDI1JTsgfVxuICAuY29sLW0tNCB7XG4gICAgZmxleC1iYXNpczogMzMuMzMzMzMlOyB9XG4gIC5jb2wtbS01IHtcbiAgICBmbGV4LWJhc2lzOiA0MS42NjY2NyU7IH1cbiAgLmNvbC1tLTYge1xuICAgIGZsZXgtYmFzaXM6IDUwJTsgfVxuICAuY29sLW0tNyB7XG4gICAgZmxleC1iYXNpczogNTguMzMzMzMlOyB9XG4gIC5jb2wtbS04IHtcbiAgICBmbGV4LWJhc2lzOiA2Ni42NjY2NyU7IH1cbiAgLmNvbC1tLTkge1xuICAgIGZsZXgtYmFzaXM6IDc1JTsgfVxuICAuY29sLW0tMTAge1xuICAgIGZsZXgtYmFzaXM6IDgzLjMzMzMzJTsgfVxuICAuY29sLW0tMTEge1xuICAgIGZsZXgtYmFzaXM6IDkxLjY2NjY3JTsgfVxuICAuY29sLW0tMTIge1xuICAgIGZsZXgtYmFzaXM6IDEwMCU7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gIC5jb2wtbC1hdXRvIHtcbiAgICBmbGV4LWJhc2lzOiBhdXRvOyB9XG4gIC5jb2wtbC0wIHtcbiAgICBmbGV4LWJhc2lzOiAwJTsgfVxuICAuY29sLWwtMSB7XG4gICAgZmxleC1iYXNpczogOC4zMzMzMyU7IH1cbiAgLmNvbC1sLTIge1xuICAgIGZsZXgtYmFzaXM6IDE2LjY2NjY3JTsgfVxuICAuY29sLWwtMyB7XG4gICAgZmxleC1iYXNpczogMjUlOyB9XG4gIC5jb2wtbC00IHtcbiAgICBmbGV4LWJhc2lzOiAzMy4zMzMzMyU7IH1cbiAgLmNvbC1sLTUge1xuICAgIGZsZXgtYmFzaXM6IDQxLjY2NjY3JTsgfVxuICAuY29sLWwtNiB7XG4gICAgZmxleC1iYXNpczogNTAlOyB9XG4gIC5jb2wtbC03IHtcbiAgICBmbGV4LWJhc2lzOiA1OC4zMzMzMyU7IH1cbiAgLmNvbC1sLTgge1xuICAgIGZsZXgtYmFzaXM6IDY2LjY2NjY3JTsgfVxuICAuY29sLWwtOSB7XG4gICAgZmxleC1iYXNpczogNzUlOyB9XG4gIC5jb2wtbC0xMCB7XG4gICAgZmxleC1iYXNpczogODMuMzMzMzMlOyB9XG4gIC5jb2wtbC0xMSB7XG4gICAgZmxleC1iYXNpczogOTEuNjY2NjclOyB9XG4gIC5jb2wtbC0xMiB7XG4gICAgZmxleC1iYXNpczogMTAwJTsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgwZW0pIHtcbiAgLmNvbC14bC1hdXRvIHtcbiAgICBmbGV4LWJhc2lzOiBhdXRvOyB9XG4gIC5jb2wteGwtMCB7XG4gICAgZmxleC1iYXNpczogMCU7IH1cbiAgLmNvbC14bC0xIHtcbiAgICBmbGV4LWJhc2lzOiA4LjMzMzMzJTsgfVxuICAuY29sLXhsLTIge1xuICAgIGZsZXgtYmFzaXM6IDE2LjY2NjY3JTsgfVxuICAuY29sLXhsLTMge1xuICAgIGZsZXgtYmFzaXM6IDI1JTsgfVxuICAuY29sLXhsLTQge1xuICAgIGZsZXgtYmFzaXM6IDMzLjMzMzMzJTsgfVxuICAuY29sLXhsLTUge1xuICAgIGZsZXgtYmFzaXM6IDQxLjY2NjY3JTsgfVxuICAuY29sLXhsLTYge1xuICAgIGZsZXgtYmFzaXM6IDUwJTsgfVxuICAuY29sLXhsLTcge1xuICAgIGZsZXgtYmFzaXM6IDU4LjMzMzMzJTsgfVxuICAuY29sLXhsLTgge1xuICAgIGZsZXgtYmFzaXM6IDY2LjY2NjY3JTsgfVxuICAuY29sLXhsLTkge1xuICAgIGZsZXgtYmFzaXM6IDc1JTsgfVxuICAuY29sLXhsLTEwIHtcbiAgICBmbGV4LWJhc2lzOiA4My4zMzMzMyU7IH1cbiAgLmNvbC14bC0xMSB7XG4gICAgZmxleC1iYXNpczogOTEuNjY2NjclOyB9XG4gIC5jb2wteGwtMTIge1xuICAgIGZsZXgtYmFzaXM6IDEwMCU7IH0gfVxuXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKiAqIEljb25cblxcKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi5pY29uIHtcbiAgYWxpZ24tc2VsZjogY2VudGVyO1xuICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgaGVpZ2h0OiAxZW07XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgd2lkdGg6IDFlbTsgfVxuXG4uaWNvbl9zdmcge1xuICBib3R0b206IC0wLjEyNWVtO1xuICBoZWlnaHQ6IDFlbTtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB3aWR0aDogMWVtOyB9XG5cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqICogTGlua1xuXFwqIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLmxpbmssIC51c2VyLWNvbnRlbnQgYSB7XG4gIGNvbG9yOiAjQjcyMDJBO1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgdHJhbnNpdGlvbjogY29sb3IgMC4xNXM7IH1cblxuLmxpbms6Zm9jdXMsIC51c2VyLWNvbnRlbnQgYTpmb2N1cywgLmxpbms6aG92ZXIsIC51c2VyLWNvbnRlbnQgYTpob3ZlciB7XG4gIGNvbG9yOiAjREE0RTVEOyB9XG5cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqICogVGl0bGVcblxcKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi50aXRsZSwgLnVzZXItY29udGVudCBoMSxcbi51c2VyLWNvbnRlbnQgaDIsXG4udXNlci1jb250ZW50IGgzLFxuLnVzZXItY29udGVudCBoNCxcbi51c2VyLWNvbnRlbnQgaDUsXG4udXNlci1jb250ZW50IGg2IHtcbiAgY29sb3I6ICM3NTExMTM7XG4gIGZvbnQtZmFtaWx5OiBcIlByYXRhXCIsIFwiVGltZXMgTmV3IFJvbWFuXCIsIFwiVGltZXNcIiwgc2VyaWY7XG4gIGZvbnQtc2l6ZTogMS4zNzVlbTtcbiAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgbGV0dGVyLXNwYWNpbmc6IDAuMDI1ZW07XG4gIGxpbmUtaGVpZ2h0OiAxLjE4MTgyZW07XG4gIG1hcmdpbjogMGVtIDBlbSAwLjQ1NDU1ZW07XG4gIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7IH1cblxuLyogVGFibGV0IHZhcmlhbnQgKi9cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgLnRpdGxlLCAudXNlci1jb250ZW50IGgxLFxuICAudXNlci1jb250ZW50IGgyLFxuICAudXNlci1jb250ZW50IGgzLFxuICAudXNlci1jb250ZW50IGg0LFxuICAudXNlci1jb250ZW50IGg1LFxuICAudXNlci1jb250ZW50IGg2IHtcbiAgICBmb250LXNpemU6IDJlbTsgfSB9XG5cbi8qIGRpdmlkZXIgdmFyaWFudCAqL1xuLnRpdGxlLi1kaXZpZGVyLCAudXNlci1jb250ZW50IGgxLi1kaXZpZGVyLFxuLnVzZXItY29udGVudCBoMi4tZGl2aWRlcixcbi51c2VyLWNvbnRlbnQgaDMuLWRpdmlkZXIsXG4udXNlci1jb250ZW50IGg0Li1kaXZpZGVyLFxuLnVzZXItY29udGVudCBoNS4tZGl2aWRlcixcbi51c2VyLWNvbnRlbnQgaDYuLWRpdmlkZXIge1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBkaXNwbGF5OiBmbGV4OyB9XG5cbi50aXRsZS4tZGl2aWRlcjo6YmVmb3JlLCAudXNlci1jb250ZW50IGgxLi1kaXZpZGVyOjpiZWZvcmUsXG4udXNlci1jb250ZW50IGgyLi1kaXZpZGVyOjpiZWZvcmUsXG4udXNlci1jb250ZW50IGgzLi1kaXZpZGVyOjpiZWZvcmUsXG4udXNlci1jb250ZW50IGg0Li1kaXZpZGVyOjpiZWZvcmUsXG4udXNlci1jb250ZW50IGg1Li1kaXZpZGVyOjpiZWZvcmUsXG4udXNlci1jb250ZW50IGg2Li1kaXZpZGVyOjpiZWZvcmUsIC50aXRsZS4tZGl2aWRlcjo6YWZ0ZXIsIC51c2VyLWNvbnRlbnQgaDEuLWRpdmlkZXI6OmFmdGVyLFxuLnVzZXItY29udGVudCBoMi4tZGl2aWRlcjo6YWZ0ZXIsXG4udXNlci1jb250ZW50IGgzLi1kaXZpZGVyOjphZnRlcixcbi51c2VyLWNvbnRlbnQgaDQuLWRpdmlkZXI6OmFmdGVyLFxuLnVzZXItY29udGVudCBoNS4tZGl2aWRlcjo6YWZ0ZXIsXG4udXNlci1jb250ZW50IGg2Li1kaXZpZGVyOjphZnRlciB7XG4gIGJhY2tncm91bmQ6ICNiNWI1YjU7XG4gIGNvbnRlbnQ6IFwiXFwwMDIwXCI7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBmbGV4OiAxIDEgMCU7XG4gIGhlaWdodDogMC4wNjI1cmVtOyB9XG5cbi50aXRsZS4tZGl2aWRlcjo6YmVmb3JlLCAudXNlci1jb250ZW50IGgxLi1kaXZpZGVyOjpiZWZvcmUsXG4udXNlci1jb250ZW50IGgyLi1kaXZpZGVyOjpiZWZvcmUsXG4udXNlci1jb250ZW50IGgzLi1kaXZpZGVyOjpiZWZvcmUsXG4udXNlci1jb250ZW50IGg0Li1kaXZpZGVyOjpiZWZvcmUsXG4udXNlci1jb250ZW50IGg1Li1kaXZpZGVyOjpiZWZvcmUsXG4udXNlci1jb250ZW50IGg2Li1kaXZpZGVyOjpiZWZvcmUge1xuICBtYXJnaW4tcmlnaHQ6IDAuMzYzNjRlbTsgfVxuXG4udGl0bGUuLWRpdmlkZXI6OmFmdGVyLCAudXNlci1jb250ZW50IGgxLi1kaXZpZGVyOjphZnRlcixcbi51c2VyLWNvbnRlbnQgaDIuLWRpdmlkZXI6OmFmdGVyLFxuLnVzZXItY29udGVudCBoMy4tZGl2aWRlcjo6YWZ0ZXIsXG4udXNlci1jb250ZW50IGg0Li1kaXZpZGVyOjphZnRlcixcbi51c2VyLWNvbnRlbnQgaDUuLWRpdmlkZXI6OmFmdGVyLFxuLnVzZXItY29udGVudCBoNi4tZGl2aWRlcjo6YWZ0ZXIge1xuICBtYXJnaW4tbGVmdDogMC4zNjM2NGVtOyB9XG5cbi8qIGRpdmlkZXIgVGFibGV0IHZhcmlhbnQgKi9cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgLnRpdGxlLi1kaXZpZGVyOjpiZWZvcmUsIC51c2VyLWNvbnRlbnQgaDEuLWRpdmlkZXI6OmJlZm9yZSxcbiAgLnVzZXItY29udGVudCBoMi4tZGl2aWRlcjo6YmVmb3JlLFxuICAudXNlci1jb250ZW50IGgzLi1kaXZpZGVyOjpiZWZvcmUsXG4gIC51c2VyLWNvbnRlbnQgaDQuLWRpdmlkZXI6OmJlZm9yZSxcbiAgLnVzZXItY29udGVudCBoNS4tZGl2aWRlcjo6YmVmb3JlLFxuICAudXNlci1jb250ZW50IGg2Li1kaXZpZGVyOjpiZWZvcmUge1xuICAgIG1hcmdpbi1yaWdodDogMS4yNWVtOyB9XG4gIC50aXRsZS4tZGl2aWRlcjo6YWZ0ZXIsIC51c2VyLWNvbnRlbnQgaDEuLWRpdmlkZXI6OmFmdGVyLFxuICAudXNlci1jb250ZW50IGgyLi1kaXZpZGVyOjphZnRlcixcbiAgLnVzZXItY29udGVudCBoMy4tZGl2aWRlcjo6YWZ0ZXIsXG4gIC51c2VyLWNvbnRlbnQgaDQuLWRpdmlkZXI6OmFmdGVyLFxuICAudXNlci1jb250ZW50IGg1Li1kaXZpZGVyOjphZnRlcixcbiAgLnVzZXItY29udGVudCBoNi4tZGl2aWRlcjo6YWZ0ZXIge1xuICAgIG1hcmdpbi1sZWZ0OiAxLjI1ZW07IH0gfVxuXG4vKiBkaXZpZGVyIGxlZnQgdmFyaWFudCAqL1xuLnRpdGxlLi1kaXZpZGVyLi1sZWZ0OjphZnRlciwgLnVzZXItY29udGVudCBoMS4tZGl2aWRlci4tbGVmdDo6YWZ0ZXIsXG4udXNlci1jb250ZW50IGgyLi1kaXZpZGVyLi1sZWZ0OjphZnRlcixcbi51c2VyLWNvbnRlbnQgaDMuLWRpdmlkZXIuLWxlZnQ6OmFmdGVyLFxuLnVzZXItY29udGVudCBoNC4tZGl2aWRlci4tbGVmdDo6YWZ0ZXIsXG4udXNlci1jb250ZW50IGg1Li1kaXZpZGVyLi1sZWZ0OjphZnRlcixcbi51c2VyLWNvbnRlbnQgaDYuLWRpdmlkZXIuLWxlZnQ6OmFmdGVyIHtcbiAgZGlzcGxheTogbm9uZTsgfVxuXG4vKiBkaXZpZGVyIHJpZ2h0IHZhcmlhbnQgKi9cbi50aXRsZS4tZGl2aWRlci4tcmlnaHQ6OmJlZm9yZSwgLnVzZXItY29udGVudCBoMS4tZGl2aWRlci4tcmlnaHQ6OmJlZm9yZSxcbi51c2VyLWNvbnRlbnQgaDIuLWRpdmlkZXIuLXJpZ2h0OjpiZWZvcmUsXG4udXNlci1jb250ZW50IGgzLi1kaXZpZGVyLi1yaWdodDo6YmVmb3JlLFxuLnVzZXItY29udGVudCBoNC4tZGl2aWRlci4tcmlnaHQ6OmJlZm9yZSxcbi51c2VyLWNvbnRlbnQgaDUuLWRpdmlkZXIuLXJpZ2h0OjpiZWZvcmUsXG4udXNlci1jb250ZW50IGg2Li1kaXZpZGVyLi1yaWdodDo6YmVmb3JlIHtcbiAgZGlzcGxheTogbm9uZTsgfVxuXG4vKiBzdWIgdmFyaWFudCAqL1xuLnRpdGxlLi1zdWIsIC51c2VyLWNvbnRlbnQgaDEuLXN1Yixcbi51c2VyLWNvbnRlbnQgaDIuLXN1Yixcbi51c2VyLWNvbnRlbnQgaDMuLXN1Yixcbi51c2VyLWNvbnRlbnQgaDQuLXN1Yixcbi51c2VyLWNvbnRlbnQgaDUuLXN1Yixcbi51c2VyLWNvbnRlbnQgaDYuLXN1YiB7XG4gIGZvbnQtc2l6ZTogMS4xMjVlbTsgfVxuXG4vKiBzdWIgVGFibGV0IHZhcmlhbnQgKi9cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgLnRpdGxlLi1zdWIsIC51c2VyLWNvbnRlbnQgaDEuLXN1YixcbiAgLnVzZXItY29udGVudCBoMi4tc3ViLFxuICAudXNlci1jb250ZW50IGgzLi1zdWIsXG4gIC51c2VyLWNvbnRlbnQgaDQuLXN1YixcbiAgLnVzZXItY29udGVudCBoNS4tc3ViLFxuICAudXNlci1jb250ZW50IGg2Li1zdWIge1xuICAgIGZvbnQtc2l6ZTogMS4yNWVtOyB9IH1cblxuLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICogKiBUZXh0XG5cXCogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4udGV4dCwgLnVzZXItY29udGVudCBwLFxuLnVzZXItY29udGVudCBvbCxcbi51c2VyLWNvbnRlbnQgdWwsXG4udXNlci1jb250ZW50IHRhYmxlIHtcbiAgY29sb3I6ICMwMDAwMDA7XG4gIGZvbnQtZmFtaWx5OiBcIlNvdXJjZSBTYW5zIFByb1wiLCBcIkFyaWFsXCIsIFwiSGVsdmV0aWNhXCIsIHNhbnMtc2VyaWY7XG4gIGZvbnQtc2l6ZTogMS4wNjI1ZW07XG4gIGZvbnQtd2VpZ2h0OiAzMDA7XG4gIGxpbmUtaGVpZ2h0OiAxLjI5NDEyZW07XG4gIG1hcmdpbjogMGVtIDBlbSAxLjI5NDEyZW07IH1cblxuLyogVGFibGV0IHZhcmlhbnQgKi9cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgLnRleHQsIC51c2VyLWNvbnRlbnQgcCxcbiAgLnVzZXItY29udGVudCBvbCxcbiAgLnVzZXItY29udGVudCB1bCxcbiAgLnVzZXItY29udGVudCB0YWJsZSB7XG4gICAgZm9udC1zaXplOiAxLjQzNzVlbTsgfSB9XG5cbi8qIGxhYmVsIHZhcmlhbnQgKi9cbi50ZXh0Li1sYWJlbCwgLnVzZXItY29udGVudCBwLi1sYWJlbCxcbi51c2VyLWNvbnRlbnQgb2wuLWxhYmVsLFxuLnVzZXItY29udGVudCB1bC4tbGFiZWwsXG4udXNlci1jb250ZW50IHRhYmxlLi1sYWJlbCB7XG4gIGN1cnNvcjogcG9pbnRlcjsgfVxuXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKiAqIElucHV0XG5cXCogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4uaW5wdXQge1xuICBhcHBlYXJhbmNlOiBub25lO1xuICBiYWNrZ3JvdW5kOiAjRkZGRkZGO1xuICBib3JkZXI6IDAuMDYyNXJlbSBzb2xpZCAjY2NjY2NjO1xuICBib3JkZXItcmFkaXVzOiAwO1xuICBjb2xvcjogIzAwMDAwMDtcbiAgZGlzcGxheTogYmxvY2s7XG4gIGZvbnQtZmFtaWx5OiBcIlNvdXJjZSBTYW5zIFByb1wiLCBcIkFyaWFsXCIsIFwiSGVsdmV0aWNhXCIsIHNhbnMtc2VyaWY7XG4gIGZvbnQtc2l6ZTogMC44NzVlbTtcbiAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgbGluZS1oZWlnaHQ6IDEuMjg1NzFlbTtcbiAgbWFyZ2luOiAwZW0gMGVtIDAuODkyODZlbTtcbiAgb3V0bGluZTogMDtcbiAgcGFkZGluZzogMC42MDcxNGVtIDEuNDI4NTdlbTtcbiAgdHJhbnNpdGlvbjogYm9yZGVyLWNvbG9yIDAuMTVzLCBjb2xvciAwLjE1cztcbiAgd2lkdGg6IDEwMCU7IH1cblxuLmlucHV0OmZvY3VzLCAuaW5wdXQ6aG92ZXIge1xuICBib3JkZXItY29sb3I6ICNCNzIwMkE7IH1cblxuLyogVGFibGV0IHZhcmlhbnQgKi9cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgLmlucHV0IHtcbiAgICBmb250LXNpemU6IDEuMTI1ZW07IH0gfVxuXG4vKiBzZWxlY3QgdmFyaWFudCAqL1xuLmlucHV0Li1zZWxlY3Qge1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIHRleHQtaW5kZW50OiAwLjAxcHg7XG4gIHRleHQtb3ZlcmZsb3c6IFwiXCI7IH1cbiAgLmlucHV0Li1zZWxlY3Q6Oi1tcy1leHBhbmQge1xuICAgIGRpc3BsYXk6IG5vbmU7IH1cblxuLmlucHV0Li1zZWxlY3QuLWFycm93IHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiZGF0YTppbWFnZS9zdmcreG1sO3V0ZjgsPHN2ZyB3aWR0aD0nMTc5MicgaGVpZ2h0PScxNzkyJyB2aWV3Qm94PScwIDAgMTc5MiAxNzkyJyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnPjxwYXRoIGQ9J00xNDA4IDEwODhxMCAyNi0xOSA0NWwtNDQ4IDQ0OHEtMTkgMTktNDUgMTl0LTQ1LTE5bC00NDgtNDQ4cS0xOS0xOS0xOS00NXQxOS00NSA0NS0xOWg4OTZxMjYgMCA0NSAxOXQxOSA0NXptMC0zODRxMCAyNi0xOSA0NXQtNDUgMTloLTg5NnEtMjYgMC00NS0xOXQtMTktNDUgMTktNDVsNDQ4LTQ0OHExOS0xOSA0NS0xOXQ0NSAxOWw0NDggNDQ4cTE5IDE5IDE5IDQ1eicvPjwvc3ZnPlwiKTtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyIHJpZ2h0IDAuNzE0MjllbTtcbiAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgYmFja2dyb3VuZC1zaXplOiAxZW0gMWVtO1xuICBwYWRkaW5nLXJpZ2h0OiAzLjE0Mjg2ZW07IH1cblxuLyogY2hlY2tib3ggJiByYWRpb2J1dHRvbiB2YXJpYW50cyAqL1xuLmlucHV0Li1jaGVja2JveCxcbi5pbnB1dC4tcmFkaW9idXR0b24ge1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXIgY2VudGVyO1xuICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICBiYWNrZ3JvdW5kLXNpemU6IDAuNzE0MjllbTtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIGhlaWdodDogMS4xNDI4NmVtO1xuICBwYWRkaW5nOiAwO1xuICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICB3aWR0aDogMS4xNDI4NmVtOyB9XG5cbi5pbnB1dC4tY2hlY2tib3guLXJhZGlvYnV0dG9uLFxuLmlucHV0Li1yYWRpb2J1dHRvbi4tcmFkaW9idXR0b24ge1xuICBib3JkZXItcmFkaXVzOiA1MCU7IH1cblxuLmlucHV0Li1jaGVja2JveC4tY2hlY2tib3g6Y2hlY2tlZCxcbi5pbnB1dC4tcmFkaW9idXR0b24uLWNoZWNrYm94OmNoZWNrZWQge1xuICAvKiBiZ0ltYWdlOiBpZ25vcmUgKi9cbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiZGF0YTppbWFnZS9zdmcreG1sLCUzQ3N2ZyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIHdpZHRoPSczMicgaGVpZ2h0PSczMicgdmlld2JveD0nMCAwIDMyIDMyJyUzRSUzQ3BhdGggZD0nTTMyLDguNWMwLDAuNS0wLjIsMS0wLjYsMS40TDE2LjUsMjQuOWwtMi44LDIuOGMtMC40LDAuNC0wLjksMC42LTEuNCwwLjZjLTAuNSwwLTEtMC4yLTEuNC0wLjZsLTIuOC0yLjhsLTcuNS03LjUsQzAuMiwxNywwLDE2LjYsMCwxNmMwLTAuNiwwLjItMSwwLjYtMS40bDIuOC0yLjhjMC40LTAuNCwwLjktMC42LDEuNC0wLjZjMC41LDAsMSwwLjIsMS40LDAuNmw2LjEsNi4xTDI1LjgsNC4zLGMwLjQtMC40LDAuOS0wLjYsMS40LTAuNmMwLjYsMCwxLDAuMiwxLjQsMC42bDIuOCwyLjhDMzEuOCw3LjUsMzIsOCwzMiw4LjV6JyAvJTNFJTNDL3N2ZyUzRVwiKTsgfVxuXG4uaW5wdXQuLWNoZWNrYm94Li1yYWRpb2J1dHRvbjpjaGVja2VkLFxuLmlucHV0Li1yYWRpb2J1dHRvbi4tcmFkaW9idXR0b246Y2hlY2tlZCB7XG4gIC8qIGJnSW1hZ2U6IGlnbm9yZSAqL1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJkYXRhOmltYWdlL3N2Zyt4bWwsJTNDc3ZnIHhtbG5zPSdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Zycgd2lkdGg9JzMyJyBoZWlnaHQ9JzMyJyB2aWV3Ym94PScwIDAgMzIgMzInJTNFJTNDcGF0aCBkPSdNMjkuOSw4YzEuNCwyLjUsMi4xLDUuMSwyLjEsOHMtMC43LDUuNi0yLjEsOHMtMy40LDQuNC01LjgsNS44UzE4LjksMzIsMTYsMzJjLTIuOSwwLTUuNi0wLjctOC0yLjFTMy42LDI2LjUsMi4xLDI0LEMwLjcsMjEuNiwwLDE4LjksMCwxNnMwLjctNS42LDIuMS04QzMuNiw1LjUsNS41LDMuNiw4LDIuMVMxMy4xLDAsMTYsMGMyLjksMCw1LjYsMC43LDgsMi4xUzI4LjQsNS41LDI5LjksOHonIC8lM0UlM0Mvc3ZnJTNFXCIpOyB9XG5cbi5pbnB1dC4tY2hlY2tib3ggKyAudGV4dC4tbGFiZWwsIC51c2VyLWNvbnRlbnQgLmlucHV0Li1jaGVja2JveCArIHAuLWxhYmVsLFxuLnVzZXItY29udGVudCAuaW5wdXQuLWNoZWNrYm94ICsgb2wuLWxhYmVsLFxuLnVzZXItY29udGVudCAuaW5wdXQuLWNoZWNrYm94ICsgdWwuLWxhYmVsLFxuLnVzZXItY29udGVudCAuaW5wdXQuLWNoZWNrYm94ICsgdGFibGUuLWxhYmVsLFxuLmlucHV0Li1yYWRpb2J1dHRvbiArIC50ZXh0Li1sYWJlbCwgLnVzZXItY29udGVudFxuLmlucHV0Li1yYWRpb2J1dHRvbiArIHAuLWxhYmVsLFxuLnVzZXItY29udGVudFxuLmlucHV0Li1yYWRpb2J1dHRvbiArIG9sLi1sYWJlbCxcbi51c2VyLWNvbnRlbnRcbi5pbnB1dC4tcmFkaW9idXR0b24gKyB1bC4tbGFiZWwsXG4udXNlci1jb250ZW50XG4uaW5wdXQuLXJhZGlvYnV0dG9uICsgdGFibGUuLWxhYmVsIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrOyB9XG5cbi8qIHRvdWNoIGNoZWNrYm94ICYgcmFkaW9idXR0b24gdmFyaWFudHMgKi9cbkBtZWRpYSAocG9pbnRlcjogY29hcnNlKSB7XG4gIC5pbnB1dC4tY2hlY2tib3gsXG4gIC5pbnB1dC4tcmFkaW9idXR0b24ge1xuICAgIGZvbnQtc2l6ZTogMS41ZW07IH0gfVxuXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKiAqIEJ1dHRvblxuXFwqIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLmJ1dHRvbiB7XG4gIGJhY2tncm91bmQ6ICNFNUU1RTU7XG4gIGJvcmRlcjogMC4wNjI1cmVtIHNvbGlkICNiNWI1YjU7XG4gIGNvbG9yOiAjNzUxMTEzO1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgZm9udC1mYW1pbHk6IFwiUHJhdGFcIiwgXCJUaW1lcyBOZXcgUm9tYW5cIiwgXCJUaW1lc1wiLCBzZXJpZjtcbiAgZm9udC1zaXplOiAwLjg3NWVtO1xuICBmb250LXdlaWdodDogNzAwO1xuICBsaW5lLWhlaWdodDogMS40Mjg1N2VtO1xuICBtYXJnaW46IDBlbSAwZW0gMC44OTI4NmVtO1xuICBvdXRsaW5lOiAwO1xuICBwYWRkaW5nOiAwLjU3MTQzZW0gMS4xNDI4NmVtO1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gIHRleHQtdHJhbnNmb3JtOiBsb3dlcmNhc2U7XG4gIHRyYW5zaXRpb246IGJhY2tncm91bmQgMC4xNXM7IH1cblxuLmJ1dHRvbjpmb2N1cywgLmJ1dHRvbjpob3ZlciB7XG4gIGJhY2tncm91bmQ6IHdoaXRlOyB9XG5cbi8qIERlc2t0b3AgdmFyaWFudCAqL1xuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAuYnV0dG9uIHtcbiAgICBmb250LXNpemU6IDEuMTI1ZW07IH0gfVxuXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKiAqIERpdmlkZXJcblxcKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi5kaXZpZGVyLCAudXNlci1jb250ZW50IGhyIHtcbiAgYmFja2dyb3VuZDogI2NjY2NjYztcbiAgYm9yZGVyOiAwO1xuICBjbGVhcjogYm90aDtcbiAgaGVpZ2h0OiAwLjA2MjVyZW07XG4gIG1hcmdpbjogMGVtIDBlbSAxLjI1ZW07XG4gIHdpZHRoOiAxMDAlOyB9XG5cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqICogVXNlciBDb250ZW50XG5cXCogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4udXNlci1jb250ZW50IHtcbiAgLyogc3R5bGVsaW50LWRpc2FibGUgc2VsZWN0b3Itbm8tcXVhbGlmeWluZy10eXBlLCBzZWxlY3Rvci1tYXgtdHlwZSAqL1xuICAvKiBzdHlsZWxpbnQtZW5hYmxlICovIH1cbiAgLnVzZXItY29udGVudCBoMSBlbSxcbiAgLnVzZXItY29udGVudCBoMiBlbSxcbiAgLnVzZXItY29udGVudCBoMyBlbSxcbiAgLnVzZXItY29udGVudCBoNCBlbSxcbiAgLnVzZXItY29udGVudCBoNSBlbSxcbiAgLnVzZXItY29udGVudCBoNiBlbSB7XG4gICAgY29sb3I6ICNCNzIwMkE7XG4gICAgZm9udC1mYW1pbHk6IFwiQXJpem9uaWFcIiwgXCJCcnVzaCBTY3JpcHQgU3RkXCIsIFwiQ2FmbGlzY2hcIiwgY3Vyc2l2ZTtcbiAgICBmb250LXNpemU6IDEuMTVlbTtcbiAgICBmb250LXN0eWxlOiBub3JtYWw7XG4gICAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgICB0ZXh0LXRyYW5zZm9ybTogbm9uZTsgfVxuICAudXNlci1jb250ZW50IGgyIHtcbiAgICBjb2xvcjogI0I3MjAyQTtcbiAgICBmb250LWZhbWlseTogXCJBcml6b25pYVwiLCBcIkJydXNoIFNjcmlwdCBTdGRcIiwgXCJDYWZsaXNjaFwiLCBjdXJzaXZlO1xuICAgIGZvbnQtc2l6ZTogMi41ZW07XG4gICAgZm9udC1zdHlsZTogbm9ybWFsO1xuICAgIGZvbnQtd2VpZ2h0OiA0MDA7XG4gICAgbWFyZ2luLWJvdHRvbTogMC4xMjVlbTtcbiAgICB0ZXh0LXRyYW5zZm9ybTogbm9uZTsgfVxuICAudXNlci1jb250ZW50IGgzIHtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGRpc3BsYXk6IGZsZXg7IH1cbiAgLnVzZXItY29udGVudCBoMzo6YmVmb3JlLFxuICAudXNlci1jb250ZW50IGgzOjphZnRlciB7XG4gICAgYmFja2dyb3VuZDogI2I1YjViNTtcbiAgICBjb250ZW50OiBcIlxcMDAyMFwiO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIGZsZXg6IDEgMSAwJTtcbiAgICBoZWlnaHQ6IDAuMDYyNXJlbTsgfVxuICAudXNlci1jb250ZW50IGgzOjpiZWZvcmUge1xuICAgIG1hcmdpbi1yaWdodDogMC4zNjM2NGVtOyB9XG4gIC51c2VyLWNvbnRlbnQgaDM6OmFmdGVyIHtcbiAgICBtYXJnaW4tbGVmdDogMC4zNjM2NGVtOyB9XG4gIC51c2VyLWNvbnRlbnQgaDQge1xuICAgIGZvbnQtc2l6ZTogMS4wMzEyNWVtO1xuICAgIGxpbmUtaGVpZ2h0OiAxLjM2MzY0ZW07XG4gICAgbWFyZ2luOiAwZW0gMGVtIDAuNDg0ODVlbTtcbiAgICB0ZXh0LXRyYW5zZm9ybTogbm9uZTsgfVxuICAudXNlci1jb250ZW50IGg1LFxuICAudXNlci1jb250ZW50IGg2IHtcbiAgICBmb250LXNpemU6IDFlbTtcbiAgICBsaW5lLWhlaWdodDogMS41ZW07XG4gICAgbWFyZ2luOiAwZW0gMGVtIDAuNWVtOyB9XG4gIC51c2VyLWNvbnRlbnQgcCAuYnV0dG9uLFxuICAudXNlci1jb250ZW50IG9sIC5idXR0b24sXG4gIC51c2VyLWNvbnRlbnQgdWwgLmJ1dHRvbixcbiAgLnVzZXItY29udGVudCB0YWJsZSAuYnV0dG9uIHtcbiAgICBmb250LXNpemU6IDAuODIzNTNlbTsgfVxuICAudXNlci1jb250ZW50IG9sLFxuICAudXNlci1jb250ZW50IHVsIHtcbiAgICBwYWRkaW5nLWxlZnQ6IDEuNWVtOyB9XG4gIC51c2VyLWNvbnRlbnQgb2wgb2wsXG4gIC51c2VyLWNvbnRlbnQgb2wgdWwsXG4gIC51c2VyLWNvbnRlbnQgdWwgb2wsXG4gIC51c2VyLWNvbnRlbnQgdWwgdWwge1xuICAgIGZvbnQtc2l6ZTogMWVtOyB9XG4gIC51c2VyLWNvbnRlbnQgLnRhYmxlX2NvbnRhaW5lciB7XG4gICAgb3ZlcmZsb3c6IGF1dG87XG4gICAgd2lkdGg6IDEwMCU7IH1cbiAgLnVzZXItY29udGVudCB0YWJsZSB7XG4gICAgYm9yZGVyLWNvbGxhcHNlOiBjb2xsYXBzZTtcbiAgICBkaXNwbGF5OiB0YWJsZTtcbiAgICB3aWR0aDogMTAwJTsgfVxuICAudXNlci1jb250ZW50IHRhYmxlIHRkLFxuICAudXNlci1jb250ZW50IHRhYmxlIHRoIHtcbiAgICBib3JkZXI6IDAuMDYyNXJlbSBzb2xpZCAjY2NjY2NjO1xuICAgIHBhZGRpbmc6IDAuNWVtIDAuNjY2NjdlbTtcbiAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAgIHZlcnRpY2FsLWFsaWduOiB0b3A7IH1cbiAgLnVzZXItY29udGVudCB0YWJsZSB0Ym9keSB0aCxcbiAgLnVzZXItY29udGVudCB0YWJsZSA+IHRyID4gdGgsXG4gIC51c2VyLWNvbnRlbnQgdGFibGVbZGF0YS1zdGFja2VkPVwidHJ1ZVwiXSB0Ym9keSB0ZDo6YmVmb3JlIHtcbiAgICBmb250LXdlaWdodDogNzAwO1xuICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7IH1cbiAgLnVzZXItY29udGVudCB0YWJsZSB0aGVhZCB0ZCxcbiAgLnVzZXItY29udGVudCB0YWJsZSB0aGVhZCB0aCB7XG4gICAgYmFja2dyb3VuZDogIzgwODI4NTtcbiAgICBib3JkZXItY29sb3I6ICM5YTljOWU7XG4gICAgY29sb3I6ICNGRkZGRkY7XG4gICAgZm9udC1zaXplOiAxLjMzMzMzZW07XG4gICAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgICBwYWRkaW5nOiAwLjM3NWVtIDAuNWVtOyB9XG4gIC51c2VyLWNvbnRlbnQgdGFibGUgPiB0cjpudGgtY2hpbGQoZXZlbikgdGQsXG4gIC51c2VyLWNvbnRlbnQgdGFibGUgPiB0cjpudGgtY2hpbGQoZXZlbikgdGgsXG4gIC51c2VyLWNvbnRlbnQgdGFibGUgdGJvZHkgdHI6bnRoLWNoaWxkKGV2ZW4pIHRkLFxuICAudXNlci1jb250ZW50IHRhYmxlIHRib2R5IHRyOm50aC1jaGlsZChldmVuKSB0aCB7XG4gICAgYmFja2dyb3VuZDogI0U1RTVFNTsgfVxuICAudXNlci1jb250ZW50IGJsb2NrcXVvdGUge1xuICAgIGZvbnQtc3R5bGU6IGl0YWxpYztcbiAgICBtYXJnaW46IDBlbSAwZW0gMS4xMjVlbTtcbiAgICBwYWRkaW5nOiAwZW0gMGVtIDBlbSAxLjc1ZW07XG4gICAgcG9zaXRpb246IHJlbGF0aXZlOyB9XG4gIC51c2VyLWNvbnRlbnQgYmxvY2txdW90ZSBwLFxuICAudXNlci1jb250ZW50IGJsb2NrcXVvdGUgb2wsXG4gIC51c2VyLWNvbnRlbnQgYmxvY2txdW90ZSB1bCxcbiAgLnVzZXItY29udGVudCBibG9ja3F1b3RlIHRhYmxlIHtcbiAgICBjb2xvcjogZ3JheTtcbiAgICBmb250LXNpemU6IDAuODc1ZW07IH1cbiAgLnVzZXItY29udGVudCBibG9ja3F1b3RlID4gOmxhc3QtY2hpbGQge1xuICAgIG1hcmdpbi1ib3R0b206IDA7IH1cbiAgLnVzZXItY29udGVudCBpbWcge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIGhlaWdodDogYXV0byAhaW1wb3J0YW50O1xuICAgIG1heC13aWR0aDogMTAwJTsgfVxuICAudXNlci1jb250ZW50IC5hbGlnbmxlZnQge1xuICAgIGZsb2F0OiBsZWZ0O1xuICAgIG1hcmdpbi1yaWdodDogMS41NjI1ZW07XG4gICAgbWF4LXdpZHRoOiAzMy4zMzMzMyU7IH1cbiAgLnVzZXItY29udGVudCAuYWxpZ25yaWdodCB7XG4gICAgZmxvYXQ6IHJpZ2h0O1xuICAgIG1hcmdpbi1sZWZ0OiAxLjU2MjVlbTtcbiAgICBtYXgtd2lkdGg6IDMzLjMzMzMzJTsgfVxuICAudXNlci1jb250ZW50IC5hbGlnbmNlbnRlciB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gICAgbWFyZ2luLXJpZ2h0OiBhdXRvOyB9XG5cbi8qIFRhYmxldCB2YXJpYW50ICovXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gIC51c2VyLWNvbnRlbnQge1xuICAgIC8qIHN0eWxlbGludC1kaXNhYmxlIHNlbGVjdG9yLW5vLXF1YWxpZnlpbmctdHlwZSwgc2VsZWN0b3ItbWF4LXR5cGUgKi9cbiAgICAvKiBzdHlsZWxpbnQtZW5hYmxlICovIH1cbiAgICAudXNlci1jb250ZW50IGgyIHtcbiAgICAgIGZvbnQtc2l6ZTogMy43NWVtOyB9XG4gICAgLnVzZXItY29udGVudCBoMzo6YmVmb3JlIHtcbiAgICAgIG1hcmdpbi1yaWdodDogMS4yNWVtOyB9XG4gICAgLnVzZXItY29udGVudCBoMzo6YWZ0ZXIge1xuICAgICAgbWFyZ2luLWxlZnQ6IDEuMjVlbTsgfVxuICAgIC51c2VyLWNvbnRlbnQgaDQge1xuICAgICAgZm9udC1zaXplOiAxLjM3NWVtOyB9XG4gICAgLnVzZXItY29udGVudCBoNSxcbiAgICAudXNlci1jb250ZW50IGg2IHtcbiAgICAgIGZvbnQtc2l6ZTogMS4yZW07IH1cbiAgICAudXNlci1jb250ZW50IHAgLmJ1dHRvbixcbiAgICAudXNlci1jb250ZW50IG9sIC5idXR0b24sXG4gICAgLnVzZXItY29udGVudCB1bCAuYnV0dG9uLFxuICAgIC51c2VyLWNvbnRlbnQgdGFibGUgLmJ1dHRvbiB7XG4gICAgICBmb250LXNpemU6IDAuNzgyNjFlbTsgfVxuICAgIC51c2VyLWNvbnRlbnQgYmxvY2txdW90ZSB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAxLjVlbTtcbiAgICAgIHBhZGRpbmctbGVmdDogMi4yNWVtOyB9XG4gICAgLnVzZXItY29udGVudCBibG9ja3F1b3RlOjpiZWZvcmUge1xuICAgICAgZm9udC1zaXplOiAxLjVlbTsgfVxuICAgIC51c2VyLWNvbnRlbnQgYmxvY2txdW90ZSBwLFxuICAgIC51c2VyLWNvbnRlbnQgYmxvY2txdW90ZSBvbCxcbiAgICAudXNlci1jb250ZW50IGJsb2NrcXVvdGUgdWwsXG4gICAgLnVzZXItY29udGVudCBibG9ja3F1b3RlIHRhYmxlIHtcbiAgICAgIGZvbnQtc2l6ZTogMS4xMjVlbTsgfSB9XG5cbi8qIGxpZ2h0IHZhcmlhbnQgKi9cbi51c2VyLWNvbnRlbnQuLWxpZ2h0IHtcbiAgLyogc3R5bGVsaW50LWRpc2FibGUgc2VsZWN0b3Itbm8tcXVhbGlmeWluZy10eXBlLCBzZWxlY3Rvci1tYXgtdHlwZSAqL1xuICAvKiBzdHlsZWxpbnQtZW5hYmxlICovIH1cbiAgLnVzZXItY29udGVudC4tbGlnaHQgaDEsXG4gIC51c2VyLWNvbnRlbnQuLWxpZ2h0IGgyLFxuICAudXNlci1jb250ZW50Li1saWdodCBoMyxcbiAgLnVzZXItY29udGVudC4tbGlnaHQgaDQsXG4gIC51c2VyLWNvbnRlbnQuLWxpZ2h0IGg1LFxuICAudXNlci1jb250ZW50Li1saWdodCBoNixcbiAgLnVzZXItY29udGVudC4tbGlnaHQgb2wsXG4gIC51c2VyLWNvbnRlbnQuLWxpZ2h0IHAsXG4gIC51c2VyLWNvbnRlbnQuLWxpZ2h0IHRhYmxlLFxuICAudXNlci1jb250ZW50Li1saWdodCB1bCB7XG4gICAgY29sb3I6ICNGRkZGRkY7IH1cblxuLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICogKiBNb2R1bGVcblxcKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqICogQXJ0aWNsZVxuXFwqIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLmFydGljbGVfZmlndXJlIHtcbiAgYm9yZGVyOiAwLjA2MjVyZW0gc29saWQgI2I1YjViNTtcbiAgbWFyZ2luOiAwZW0gMGVtIDEuODc1ZW07IH1cblxuLmFydGljbGVfaW1hZ2Uge1xuICBkaXNwbGF5OiBibG9jaztcbiAgd2lkdGg6IDEwMCU7IH1cblxuLyogY2FsbG91dCB2YXJpYW50ICovXG4uYXJ0aWNsZS4tY2FsbG91dCB7XG4gIGJhY2tncm91bmQ6ICNGRkZGRkY7XG4gIGJvcmRlcjogMC4wNjI1cmVtIHNvbGlkICNiNWI1YjU7XG4gIG1hcmdpbjogMHJlbSAwcmVtIDEuNTYyNXJlbTsgfVxuXG4uYXJ0aWNsZS4tY2FsbG91dCAuYXJ0aWNsZV9maWd1cmUge1xuICBib3JkZXI6IDA7XG4gIG1hcmdpbjogMDsgfVxuXG4uYXJ0aWNsZS4tY2FsbG91dCAuYXJ0aWNsZV9jb250ZW50IHtcbiAgcGFkZGluZzogMS4yNXJlbTsgfVxuXG4uYXJ0aWNsZS4tY2FsbG91dCAuYXJ0aWNsZV9saW5rIHtcbiAgY29sb3I6IGluaGVyaXQ7IH1cblxuLmFydGljbGUuLWNhbGxvdXQgLmFydGljbGVfbGluazpmb2N1cyxcbi5hcnRpY2xlLi1jYWxsb3V0IC5hcnRpY2xlX2xpbms6aG92ZXIge1xuICBjb2xvcjogaW5oZXJpdDtcbiAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7IH1cblxuLmFydGljbGUuLWNhbGxvdXQgLmFydGljbGVfdGl0bGUge1xuICBmb250LXNpemU6IDEuMTI1ZW07IH1cblxuLyogY2FsbG91dCBhbHQgdmFyaWFudCAqL1xuLmFydGljbGUuLWNhbGxvdXQuLWFsdCB7XG4gIGJvcmRlcjogMDsgfVxuXG4uYXJ0aWNsZS4tY2FsbG91dC4tYWx0IC5hcnRpY2xlX2NvbnRlbnQge1xuICBwYWRkaW5nLWxlZnQ6IDA7XG4gIHBhZGRpbmctcmlnaHQ6IDA7IH1cblxuLyogZXhjZXJwdCB2YXJpYW50ICovXG4uYXJ0aWNsZS4tZXhjZXJwdDpub3QoOmxhc3Qtb2YtdHlwZSkge1xuICBib3JkZXItYm90dG9tOiAwLjA2MjVyZW0gc29saWQgI2NjY2NjYztcbiAgbWFyZ2luLWJvdHRvbTogMS4yNWVtOyB9XG5cbi5hcnRpY2xlLi1leGNlcnB0IC5hcnRpY2xlX2xpbmsge1xuICBjb2xvcjogIzc1MTExMzsgfVxuXG4uYXJ0aWNsZS4tZXhjZXJwdCAuYXJ0aWNsZV9saW5rOmZvY3VzLFxuLmFydGljbGUuLWV4Y2VycHQgLmFydGljbGVfbGluazpob3ZlciB7XG4gIGNvbG9yOiAjQjcyMDJBOyB9XG5cbi5hcnRpY2xlLi1leGNlcnB0IC5hcnRpY2xlX3RpdGxlIHtcbiAgZm9udC1zaXplOiAxLjI1ZW07IH1cblxuLyogaGVhZGxpbmUgdmFyaWFudCAqL1xuLmFydGljbGUuLWhlYWRsaW5lIHtcbiAgYm9yZGVyLWJvdHRvbTogMC4wNjI1cmVtIHNvbGlkICNiNWI1YjU7XG4gIG1hcmdpbjogMGVtIDBlbSAwLjkzNzVlbTtcbiAgcGFkZGluZzogMGVtIDBlbSAwLjkzNzVlbTsgfVxuXG4uYXJ0aWNsZS4taGVhZGxpbmUgLmFydGljbGVfZmlndXJlIHtcbiAgYm9yZGVyOiAwO1xuICBtYXJnaW46IDA7XG4gIHdpZHRoOiA0LjY4NzVlbTsgfVxuXG4uYXJ0aWNsZS4taGVhZGxpbmUgLmFydGljbGVfdGV4dCB7XG4gIGZvbnQtc2l6ZTogMC45Mzc1ZW07IH1cblxuLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICogKiBMb2dvXG5cXCogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4ubG9nbyB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gIHRyYW5zaXRpb246IG9wYWNpdHkgMC4xNXM7IH1cblxuLmxvZ286aG92ZXIge1xuICBvcGFjaXR5OiAwLjk7IH1cblxuLmxvZ29faW1hZ2Uge1xuICBkaXNwbGF5OiBibG9jaztcbiAgd2lkdGg6IDEwMCU7IH1cblxuLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICogKiBNZW51IExpc3RcblxcKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT0gR0xPQkFMIFZBUklBTlRTID09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLm1lbnUtbGlzdCB7XG4gIGxpc3Qtc3R5bGU6IG5vbmU7XG4gIG1hcmdpbjogMDtcbiAgcGFkZGluZzogMDtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7IH1cblxuLm1lbnUtbGlzdF9pdGVtIHtcbiAgZmxvYXQ6IGxlZnQ7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuXG4ubWVudS1saXN0X2l0ZW0uLXBhcmVudCB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtd3JhcDogd3JhcDsgfVxuXG4ubWVudS1saXN0X2l0ZW0uLW1lZ2Ege1xuICBwb3NpdGlvbjogc3RhdGljOyB9XG5cbi5tZW51LWxpc3RfbGluayB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBmbGV4OiAxIDEgMCU7XG4gIG1pbi13aWR0aDogMDtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lOyB9XG5cbi5tZW51LWxpc3RfdG9nZ2xlIHtcbiAgYmFja2dyb3VuZDogbm9uZTtcbiAgYm9yZGVyOiAwO1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBmbGV4OiAwIDAgYXV0bztcbiAgZm9udC1zaXplOiAxZW07XG4gIG1hcmdpbjogMDsgfVxuXG4ubWVudS1saXN0X3RvZ2dsZSA+IC5pY29uIHtcbiAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIDAuMTVzOyB9XG5cbi5tZW51LWxpc3RfaXRlbS5pcy1hY3RpdmUgPiAubWVudS1saXN0X3RvZ2dsZSA+IC5pY29uIHtcbiAgdHJhbnNmb3JtOiByb3RhdGUoLTE4MGRlZyk7IH1cblxuLyogY2VudGVyIHZhcmlhbnQgKi9cbi5tZW51LWxpc3QuLWNlbnRlciB7XG4gIGZsb2F0OiByaWdodDtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICByaWdodDogNTAlOyB9XG5cbi5tZW51LWxpc3QuLWNlbnRlciA+IC5tZW51LWxpc3RfaXRlbSB7XG4gIGxlZnQ6IDUwJTsgfVxuXG4vKiBmbGV4IHZhcmlhbnQgKi9cbi5tZW51LWxpc3QuLWZsZXgge1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBkaXNwbGF5OiBmbGV4OyB9XG5cbi5tZW51LWxpc3QuLWZsZXggPiAubWVudS1saXN0X2l0ZW0ge1xuICBmbGV4OiAxIDEgMCU7XG4gIG1pbi13aWR0aDogMDsgfVxuXG4vKiB2ZXJ0aWNhbCB2YXJpYW50ICovXG4ubWVudS1saXN0Li12ZXJ0aWNhbCB7XG4gIHRleHQtYWxpZ246IGxlZnQ7IH1cblxuLm1lbnUtbGlzdC4tdmVydGljYWwgPiAubWVudS1saXN0X2l0ZW0ge1xuICBmbG9hdDogbm9uZTsgfVxuXG4vKiB2ZXJ0aWNhbCByZXZlcnNlIHZhcmlhbnQgKi9cbi5tZW51LWxpc3QuLXZlcnRpY2FsLi1yZXZlcnNlIHtcbiAgdGV4dC1hbGlnbjogcmlnaHQ7IH1cblxuLyogdGllciB2YXJpYW50ICovXG4ubWVudS1saXN0W2NsYXNzKj1cIi10aWVyXCJdIHtcbiAgbWluLXdpZHRoOiAxMDAlOyB9XG5cbi8qIHRpZXIgYWNjb3JkaW9uIHZhcmlhbnQgKi9cbi5tZW51LWxpc3RbY2xhc3MqPVwiLXRpZXJcIl0uLWFjY29yZGlvbiB7XG4gIG1heC1oZWlnaHQ6IDA7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIHRyYW5zaXRpb246IG1heC1oZWlnaHQgMC4yNXMsIHZpc2liaWxpdHkgMHMgMC4yNXM7XG4gIHZpc2liaWxpdHk6IGhpZGRlbjtcbiAgd2lkdGg6IDEwMCU7IH1cblxuLm1lbnUtbGlzdF9pdGVtLi1wYXJlbnQuaXMtYWN0aXZlID4gLm1lbnUtbGlzdFtjbGFzcyo9XCItdGllclwiXS4tYWNjb3JkaW9uIHtcbiAgbWF4LWhlaWdodDogMzEuMjVlbTtcbiAgdHJhbnNpdGlvbjogbWF4LWhlaWdodCAwLjI1cztcbiAgdmlzaWJpbGl0eTogdmlzaWJsZTsgfVxuXG4vKiB0aWVyIG92ZXJsYXkgdmFyaWFudCAqL1xuLm1lbnUtbGlzdFtjbGFzcyo9XCItdGllclwiXS4tb3ZlcmxheSB7XG4gIGxlZnQ6IC05OTllbTtcbiAgb3BhY2l0eTogMDtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IC05OTllbTtcbiAgdHJhbnNpdGlvbjogbGVmdCAwcyAwLjE1cywgb3BhY2l0d3kgMC4xNXMsIHRvcCAwcyAwLjE1cywgdmlzaWJpbGl0eSAwcyAwLjE1cztcbiAgdmlzaWJpbGl0eTogaGlkZGVuO1xuICB3aWR0aDogMTUuNjI1ZW07IH1cblxuLm1lbnUtbGlzdF9pdGVtLi1wYXJlbnQ6aG92ZXIgPiAubWVudS1saXN0W2NsYXNzKj1cIi10aWVyXCJdLi1vdmVybGF5LFxuLm1lbnUtbGlzdF9pdGVtLi1wYXJlbnQuaXMtYWN0aXZlID4gLm1lbnUtbGlzdFtjbGFzcyo9XCItdGllclwiXS4tb3ZlcmxheSB7XG4gIG9wYWNpdHk6IDE7XG4gIHRyYW5zaXRpb246IG9wYWNpdHkgMC4xNXM7XG4gIHZpc2liaWxpdHk6IHZpc2libGU7IH1cblxuLyogdGllciB2YXJpYW50ICovXG4ubWVudS1saXN0W2NsYXNzKj1cIi10aWVyXCJdLi1vdmVybGF5Li1yZXZlcnNlIHtcbiAgdHJhbnNpdGlvbjogb3BhY2l0eSAwLjE1cywgcmlnaHQgMHMgMC4xNXMsIHRvcCAwcyAwLjE1czsgfVxuXG4ubWVudS1saXN0X2l0ZW0uLXBhcmVudDpob3ZlciA+IC5tZW51LWxpc3RbY2xhc3MqPVwiLXRpZXJcIl0uLW92ZXJsYXkuLXJldmVyc2UsXG4ubWVudS1saXN0X2l0ZW0uLXBhcmVudC5pcy1hY3RpdmUgPiAubWVudS1saXN0W2NsYXNzKj1cIi10aWVyXCJdLi1vdmVybGF5Li1yZXZlcnNlIHtcbiAgbGVmdDogYXV0bztcbiAgcmlnaHQ6IDA7XG4gIHRyYW5zaXRpb246IG9wYWNpdHkgMC4xNXM7IH1cblxuLyogdGllcjEgb3ZlcmxheSB2YXJpYW50ICovXG4ubWVudS1saXN0X2l0ZW0uLXBhcmVudDpob3ZlciA+IC5tZW51LWxpc3QuLXRpZXIxLi1vdmVybGF5LFxuLm1lbnUtbGlzdF9pdGVtLi1wYXJlbnQuaXMtYWN0aXZlID4gLm1lbnUtbGlzdC4tdGllcjEuLW92ZXJsYXkge1xuICBsZWZ0OiAwO1xuICB0b3A6IDEwMCU7IH1cblxuLm1lbnUtbGlzdC4tdGllcjEuLW92ZXJsYXkgPiAubWVudS1saXN0X2l0ZW0uaXMtYWN0aXZlID4gLm1lbnUtbGlzdF90b2dnbGUgPiAuaWNvbiB7XG4gIHRyYW5zZm9ybTogcm90YXRlKC05MGRlZyk7IH1cblxuLyogdGllcjEgb3ZlcmxheSByZXZlcnNlIHZhcmlhbnQgKi9cbi5tZW51LWxpc3QuLXRpZXIxLi1vdmVybGF5Li1yZXZlcnNlIHtcbiAgbGVmdDogYXV0bztcbiAgcmlnaHQ6IDk5OWVtOyB9XG5cbi5tZW51LWxpc3RfaXRlbS4tcGFyZW50OmhvdmVyID4gLm1lbnUtbGlzdC4tdGllcjEuLW92ZXJsYXkuLXJldmVyc2UsXG4ubWVudS1saXN0X2l0ZW0uLXBhcmVudC5pcy1hY3RpdmUgPiAubWVudS1saXN0Li10aWVyMS4tb3ZlcmxheS4tcmV2ZXJzZSB7XG4gIGxlZnQ6IGF1dG87XG4gIHJpZ2h0OiAwOyB9XG5cbi5tZW51LWxpc3QuLXRpZXIxLi1vdmVybGF5Li1yZXZlcnNlID4gLm1lbnUtbGlzdF9pdGVtLmlzLWFjdGl2ZSA+IC5tZW51LWxpc3RfdG9nZ2xlID4gLmljb24ge1xuICB0cmFuc2Zvcm06IHJvdGF0ZSg5MGRlZyk7IH1cblxuLyogdGllcjIgb3ZlcmxheSB2YXJpYW50ICovXG4ubWVudS1saXN0X2l0ZW0uLXBhcmVudDpob3ZlciA+IC5tZW51LWxpc3QuLXRpZXIyLi1vdmVybGF5LFxuLm1lbnUtbGlzdF9pdGVtLi1wYXJlbnQuaXMtYWN0aXZlID4gLm1lbnUtbGlzdC4tdGllcjIuLW92ZXJsYXkge1xuICBsZWZ0OiAxMDAlO1xuICB0b3A6IDA7IH1cblxuLyogdGllcjIgb3ZlcmxheSByZXZlcnNlIHZhcmlhbnQgKi9cbi5tZW51LWxpc3QuLXRpZXIyLi1vdmVybGF5Li1yZXZlcnNlIHtcbiAgbGVmdDogYXV0bztcbiAgcmlnaHQ6IDk5OWVtOyB9XG5cbi5tZW51LWxpc3RfaXRlbS4tcGFyZW50OmhvdmVyID4gLm1lbnUtbGlzdC4tdGllcjIuLW92ZXJsYXkuLXJldmVyc2UsXG4ubWVudS1saXN0X2l0ZW0uLXBhcmVudC5pcy1hY3RpdmUgPiAubWVudS1saXN0Li10aWVyMi4tb3ZlcmxheS4tcmV2ZXJzZSB7XG4gIGxlZnQ6IGF1dG87XG4gIHJpZ2h0OiAxMDAlOyB9XG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT0gQ1VTVE9NIFZBUklBTlRTID09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLyogbWVnYSB2YXJpYW50ICovXG4ubWVudS1saXN0X2NvbnRhaW5lci4tbWVnYSB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGxlZnQ6IC05OTllbTtcbiAgb3BhY2l0eTogMDtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICByaWdodDogOTk5ZW07XG4gIHRvcDogLTk5OWVtO1xuICB0cmFuc2l0aW9uOiBsZWZ0IDBzIDAuMTVzLCBvcGFjaXR5IDAuMTVzLCByaWdodCAwcyAwLjE1cywgdG9wIDBzIDAuMTVzLCB2aXNpYmlsaXR5IDBzIDAuMTVzO1xuICB2aXNpYmlsaXR5OiBoaWRkZW47IH1cblxuLm1lbnUtbGlzdF9pdGVtLi1tZWdhLi1wYXJlbnQ6aG92ZXIgPiAubWVudS1saXN0X2NvbnRhaW5lci4tbWVnYSxcbi5tZW51LWxpc3RfaXRlbS4tbWVnYS4tcGFyZW50LmlzLWFjdGl2ZSA+IC5tZW51LWxpc3RfY29udGFpbmVyLi1tZWdhIHtcbiAgbGVmdDogMDtcbiAgb3BhY2l0eTogMTtcbiAgcmlnaHQ6IDA7XG4gIHRvcDogMTAwJTtcbiAgdHJhbnNpdGlvbjogb3BhY2l0eSAwLjE1cztcbiAgdmlzaWJpbGl0eTogdmlzaWJsZTsgfVxuXG4ubWVudS1saXN0X2NvbnRhaW5lci4tbWVnYSAubWVudS1saXN0Li10aWVyMSB7XG4gIGZsZXg6IDEgMSAwJTtcbiAgbWluLXdpZHRoOiAwOyB9XG5cbi5tZW51LWxpc3RfY29udGFpbmVyLi1tZWdhIC5tZW51LWxpc3QuLXRpZXIyIHtcbiAgZmxleDogMCAwIDEwMCU7IH1cblxuLyogbWV0YSB2YXJpYW50ICovXG4ubWVudS1saXN0Li1tZXRhIHtcbiAgY29sb3I6ICM4MDgyODU7XG4gIGZvbnQtZmFtaWx5OiBcIlByYXRhXCIsIFwiVGltZXMgTmV3IFJvbWFuXCIsIFwiVGltZXNcIiwgc2VyaWY7XG4gIGZvbnQtc2l6ZTogMC44NzVlbTtcbiAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTsgfVxuXG4ubWVudS1saXN0Li1tZXRhIC5tZW51LWxpc3RfaXRlbTpub3QoOmxhc3QtY2hpbGQpIHtcbiAgbWFyZ2luLXJpZ2h0OiAxLjQyODU3ZW07IH1cblxuLm1lbnUtbGlzdC4tbWV0YSAubWVudS1saXN0X2xpbmsge1xuICBjb2xvcjogIzgwODI4NTtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrOyB9XG5cbi5tZW51LWxpc3QuLW1ldGEgLm1lbnUtbGlzdF9saW5rOmhvdmVyIHtcbiAgY29sb3I6ICM5YTljOWU7IH1cblxuLyogbmF2aWdhdGlvbiB2YXJpYW50ICovXG4ubWVudS1saXN0Li1uYXZpZ2F0aW9uIHtcbiAgZm9udC1mYW1pbHk6IFwiUHJhdGFcIiwgXCJUaW1lcyBOZXcgUm9tYW5cIiwgXCJUaW1lc1wiLCBzZXJpZjtcbiAgZm9udC1zaXplOiAxLjEyNWVtO1xuICBmb250LXdlaWdodDogNDAwO1xuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlOyB9XG5cbi5tZW51LWxpc3QuLW5hdmlnYXRpb24gLm1lbnUtbGlzdF9saW5rLFxuLm1lbnUtbGlzdC4tbmF2aWdhdGlvbiAubWVudS1saXN0X3RvZ2dsZSB7XG4gIGNvbG9yOiAjQjcyMDJBO1xuICBwYWRkaW5nOiAwLjQ0NDQ0ZW0gMWVtOyB9XG5cbi5tZW51LWxpc3QuLW5hdmlnYXRpb24gLm1lbnUtbGlzdF9saW5rOmZvY3VzLFxuLm1lbnUtbGlzdC4tbmF2aWdhdGlvbiAubWVudS1saXN0X2xpbms6aG92ZXIsXG4ubWVudS1saXN0Li1uYXZpZ2F0aW9uID4gLm1lbnUtbGlzdF9pdGVtLi1wYXJlbnQ6aG92ZXIgPiAubWVudS1saXN0X2xpbmssXG4ubWVudS1saXN0Li1uYXZpZ2F0aW9uID4gLm1lbnUtbGlzdF9pdGVtLi1wYXJlbnQuaXMtYWN0aXZlID4gLm1lbnUtbGlzdF9saW5rLFxuLm1lbnUtbGlzdC4tbmF2aWdhdGlvbiAubWVudS1saXN0X3RvZ2dsZTpmb2N1cyxcbi5tZW51LWxpc3QuLW5hdmlnYXRpb24gLm1lbnUtbGlzdF90b2dnbGU6aG92ZXIsXG4ubWVudS1saXN0Li1uYXZpZ2F0aW9uIC5tZW51LWxpc3RfaXRlbS4tcGFyZW50OmhvdmVyID4gLm1lbnUtbGlzdF90b2dnbGUsXG4ubWVudS1saXN0Li1uYXZpZ2F0aW9uIC5tZW51LWxpc3RfaXRlbS4tcGFyZW50LmlzLWFjdGl2ZSA+IC5tZW51LWxpc3RfdG9nZ2xlIHtcbiAgY29sb3I6ICNEQTRFNUQ7IH1cblxuLm1lbnUtbGlzdC4tbmF2aWdhdGlvbiAubWVudS1saXN0Li10aWVyMSB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNCNzIwMkE7XG4gIGZvbnQtc2l6ZTogMC44ODg4OWVtOyB9XG5cbi5tZW51LWxpc3QuLW5hdmlnYXRpb24gLm1lbnUtbGlzdC4tdGllcjE6OmJlZm9yZSxcbi5tZW51LWxpc3QuLW5hdmlnYXRpb24gLm1lbnUtbGlzdC4tdGllcjE6OmFmdGVyIHtcbiAgY29udGVudDogXCJcXDAwMjBcIjtcbiAgZGlzcGxheTogYmxvY2s7XG4gIGhlaWdodDogMC41ZW07XG4gIHdpZHRoOiAxMDAlOyB9XG5cbi5tZW51LWxpc3QuLW5hdmlnYXRpb24gLm1lbnUtbGlzdC4tdGllcjEuLW1lZ2Ege1xuICBtYXgtd2lkdGg6IDE1LjYyNWVtOyB9XG5cbi5tZW51LWxpc3QuLW5hdmlnYXRpb24gLm1lbnUtbGlzdC4tdGllcjEuLW1lZ2E6bm90KDpsYXN0LWNoaWxkKSB7XG4gIGJvcmRlci1yaWdodDogMC4wNjI1cmVtIHNvbGlkICM4YzE4MjA7IH1cblxuLm1lbnUtbGlzdC4tbmF2aWdhdGlvbiAubWVudS1saXN0Li10aWVyMSAubWVudS1saXN0X2xpbmssXG4ubWVudS1saXN0Li1uYXZpZ2F0aW9uIC5tZW51LWxpc3QuLXRpZXIxIC5tZW51LWxpc3RfdG9nZ2xlIHtcbiAgY29sb3I6ICNGRkZGRkY7XG4gIHBhZGRpbmc6IDAuMjVlbSAxLjEyNWVtOyB9XG5cbi5tZW51LWxpc3QuLW5hdmlnYXRpb24gLm1lbnUtbGlzdC4tdGllcjEgLm1lbnUtbGlzdF9saW5rOmZvY3VzLFxuLm1lbnUtbGlzdC4tbmF2aWdhdGlvbiAubWVudS1saXN0Li10aWVyMSAubWVudS1saXN0X2xpbms6aG92ZXIsXG4ubWVudS1saXN0Li1uYXZpZ2F0aW9uIC5tZW51LWxpc3QuLXRpZXIxOm5vdCguLW1lZ2EpID4gLm1lbnUtbGlzdF9pdGVtLi1wYXJlbnQ6aG92ZXIgPiAubWVudS1saXN0X2xpbmssXG4ubWVudS1saXN0Li1uYXZpZ2F0aW9uIC5tZW51LWxpc3QuLXRpZXIxOm5vdCguLW1lZ2EpID4gLm1lbnUtbGlzdF9pdGVtLi1wYXJlbnQuaXMtYWN0aXZlID4gLm1lbnUtbGlzdF9saW5rLFxuLm1lbnUtbGlzdC4tbmF2aWdhdGlvbiAubWVudS1saXN0Li10aWVyMSAubWVudS1saXN0X3RvZ2dsZTpmb2N1cyxcbi5tZW51LWxpc3QuLW5hdmlnYXRpb24gLm1lbnUtbGlzdC4tdGllcjEgLm1lbnUtbGlzdF90b2dnbGU6aG92ZXIsXG4ubWVudS1saXN0Li1uYXZpZ2F0aW9uIC5tZW51LWxpc3QuLXRpZXIxOm5vdCguLW1lZ2EpID4gLm1lbnUtbGlzdF9pdGVtLi1wYXJlbnQ6aG92ZXIgPiAubWVudS1saXN0X3RvZ2dsZSxcbi5tZW51LWxpc3QuLW5hdmlnYXRpb24gLm1lbnUtbGlzdC4tdGllcjE6bm90KC4tbWVnYSkgPiAubWVudS1saXN0X2l0ZW0uLXBhcmVudC5pcy1hY3RpdmUgPiAubWVudS1saXN0X3RvZ2dsZSB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNkYjJmM2I7IH1cblxuLm1lbnUtbGlzdC4tbmF2aWdhdGlvbiAubWVudS1saXN0Li10aWVyMiB7XG4gIGZvbnQtc2l6ZTogMC44NzVlbTsgfVxuXG4ubWVudS1saXN0Li1uYXZpZ2F0aW9uIC5tZW51LWxpc3QuLXRpZXIyOm5vdCguLW1lZ2EpOjpiZWZvcmUsXG4ubWVudS1saXN0Li1uYXZpZ2F0aW9uIC5tZW51LWxpc3QuLXRpZXIyOjphZnRlciB7XG4gIGNvbnRlbnQ6IFwiXFwwMDIwXCI7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBoZWlnaHQ6IDAuNDI4NTdlbTtcbiAgd2lkdGg6IDEwMCU7IH1cblxuLm1lbnUtbGlzdC4tbmF2aWdhdGlvbiAubWVudS1saXN0Li10aWVyMjpub3QoLi1tZWdhKSB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNkYjJmM2I7IH1cblxuLm1lbnUtbGlzdC4tbmF2aWdhdGlvbiAubWVudS1saXN0Li10aWVyMiAubWVudS1saXN0X2xpbmssXG4ubWVudS1saXN0Li1uYXZpZ2F0aW9uIC5tZW51LWxpc3QuLXRpZXIyIC5tZW51LWxpc3RfdG9nZ2xlIHtcbiAgY29sb3I6ICNGRkZGRkY7XG4gIHBhZGRpbmc6IDAuMTQyODZlbSAxLjI4NTcxZW07IH1cblxuLm1lbnUtbGlzdC4tbmF2aWdhdGlvbiAubWVudS1saXN0Li10aWVyMiAubWVudS1saXN0X2xpbms6Zm9jdXMsXG4ubWVudS1saXN0Li1uYXZpZ2F0aW9uIC5tZW51LWxpc3QuLXRpZXIyIC5tZW51LWxpc3RfbGluazpob3Zlcixcbi5tZW51LWxpc3QuLW5hdmlnYXRpb24gLm1lbnUtbGlzdC4tdGllcjI6bm90KC4tbWVnYSkgPiAubWVudS1saXN0X2l0ZW0uLXBhcmVudDpob3ZlciA+IC5tZW51LWxpc3RfbGluayxcbi5tZW51LWxpc3QuLW5hdmlnYXRpb24gLm1lbnUtbGlzdC4tdGllcjI6bm90KC4tbWVnYSkgPiAubWVudS1saXN0X2l0ZW0uLXBhcmVudC5pcy1hY3RpdmUgPiAubWVudS1saXN0X2xpbmssXG4ubWVudS1saXN0Li1uYXZpZ2F0aW9uIC5tZW51LWxpc3QuLXRpZXIyIC5tZW51LWxpc3RfdG9nZ2xlOmZvY3VzLFxuLm1lbnUtbGlzdC4tbmF2aWdhdGlvbiAubWVudS1saXN0Li10aWVyMiAubWVudS1saXN0X3RvZ2dsZTpob3Zlcixcbi5tZW51LWxpc3QuLW5hdmlnYXRpb24gLm1lbnUtbGlzdC4tdGllcjI6bm90KC4tbWVnYSkgPiAubWVudS1saXN0X2l0ZW0uLXBhcmVudDpob3ZlciA+IC5tZW51LWxpc3RfdG9nZ2xlLFxuLm1lbnUtbGlzdC4tbmF2aWdhdGlvbiAubWVudS1saXN0Li10aWVyMjpub3QoLi1tZWdhKSA+IC5tZW51LWxpc3RfaXRlbS4tcGFyZW50LmlzLWFjdGl2ZSA+IC5tZW51LWxpc3RfdG9nZ2xlIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2UyNWI2NDsgfVxuXG4ubWVudS1saXN0Li1uYXZpZ2F0aW9uIC5tZW51LWxpc3QuLXRpZXIyIC5tZW51LWxpc3RfbGluazo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXDAwMkRcXDAwMjBcXDAwMjBcIjsgfVxuXG4vKiBwYWdpbmF0aW9uIHZhcmlhbnQgKi9cbi5tZW51LWxpc3QuLXBhZ2luYXRpb24ge1xuICBmb250LWZhbWlseTogXCJTb3VyY2UgU2FucyBQcm9cIiwgXCJBcmlhbFwiLCBcIkhlbHZldGljYVwiLCBzYW5zLXNlcmlmO1xuICBmb250LXNpemU6IDAuODc1ZW07XG4gIGZvbnQtd2VpZ2h0OiA0MDA7IH1cblxuLm1lbnUtbGlzdC4tcGFnaW5hdGlvbiAubWVudS1saXN0X2l0ZW06bm90KDpsYXN0LWNoaWxkKSB7XG4gIG1hcmdpbi1yaWdodDogMC41NzE0M2VtOyB9XG5cbi5tZW51LWxpc3QuLXBhZ2luYXRpb24gLm1lbnUtbGlzdF9saW5rLi1jdXJyZW50IHtcbiAgY29sb3I6ICMwMDAwMDA7XG4gIGN1cnNvcjogYXV0bzsgfVxuXG4vKiBzaXRlbWFwIHZhcmlhbnQgKi9cbi5tZW51LWxpc3QuLXNpdGVtYXAge1xuICBjb2xvcjogIzJmMmYyZjtcbiAgZm9udC1mYW1pbHk6IFwiUHJhdGFcIiwgXCJUaW1lcyBOZXcgUm9tYW5cIiwgXCJUaW1lc1wiLCBzZXJpZjtcbiAgZm9udC1zaXplOiAxZW07XG4gIGZvbnQtd2VpZ2h0OiA0MDA7XG4gIGxpbmUtaGVpZ2h0OiAxLjVlbTtcbiAgbWFyZ2luOiAwZW0gMGVtIDAuNWVtO1xuICB0ZXh0LXRyYW5zZm9ybTogbG93ZXJjYXNlOyB9XG5cbi5tZW51LWxpc3QuLXNpdGVtYXAgLm1lbnUtbGlzdF9pdGVtOm5vdCg6bGFzdC1jaGlsZCk6OmFmdGVyIHtcbiAgY29udGVudDogXCJ8XCI7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgbWFyZ2luOiAwZW0gMC4xODc1ZW07IH1cblxuLm1lbnUtbGlzdC4tc2l0ZW1hcCAubWVudS1saXN0X2xpbmsge1xuICBjb2xvcjogaW5oZXJpdDtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrOyB9XG5cbi5tZW51LWxpc3QuLXNpdGVtYXAgLm1lbnUtbGlzdF9saW5rOmZvY3VzLFxuLm1lbnUtbGlzdC4tc2l0ZW1hcCAubWVudS1saXN0X2xpbms6aG92ZXIge1xuICBjb2xvcjogaW5oZXJpdDtcbiAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7IH1cblxuLyogc29jaWFsIHZhcmlhbnQgKi9cbi5tZW51LWxpc3QuLXNvY2lhbCB7XG4gIGZvbnQtc2l6ZTogMS4yNWVtO1xuICBsaW5lLWhlaWdodDogMS42ZW07IH1cblxuLm1lbnUtbGlzdC4tc29jaWFsIC5tZW51LWxpc3RfaXRlbTpub3QoOmxhc3QtY2hpbGQpIHtcbiAgbWFyZ2luLXJpZ2h0OiAxZW07IH1cblxuLm1lbnUtbGlzdC4tc29jaWFsIC5tZW51LWxpc3RfbGluayB7XG4gIGJhY2tncm91bmQ6ICNGRkZGRkY7XG4gIGJvcmRlcjogMC4wNjI1cmVtIHNvbGlkIGN1cnJlbnRDb2xvcjtcbiAgY29sb3I6ICNiNWI1YjU7XG4gIGhlaWdodDogMS42ZW07XG4gIHdpZHRoOiAxLjZlbTsgfVxuXG4ubWVudS1saXN0Li1zb2NpYWwgLm1lbnUtbGlzdF9saW5rOmZvY3VzLFxuLm1lbnUtbGlzdC4tc29jaWFsIC5tZW51LWxpc3RfbGluazpob3ZlciB7XG4gIGNvbG9yOiAjQjcyMDJBOyB9XG5cbi8qIHRvb2xiYXIgdmFyaWFudCAqL1xuLm1lbnUtbGlzdC4tdG9vbGJhciB7XG4gIGZvbnQtZmFtaWx5OiBcIlByYXRhXCIsIFwiVGltZXMgTmV3IFJvbWFuXCIsIFwiVGltZXNcIiwgc2VyaWY7XG4gIGZvbnQtc2l6ZTogMWVtO1xuICBmb250LXdlaWdodDogNDAwO1xuICB0ZXh0LXRyYW5zZm9ybTogbG93ZXJjYXNlOyB9XG5cbi5tZW51LWxpc3QuLXRvb2xiYXI6bm90KC4tdmVydGljYWwpIC5tZW51LWxpc3RfaXRlbTpub3QoOmxhc3QtY2hpbGQpIHtcbiAgbWFyZ2luLXJpZ2h0OiAxLjg3NWVtOyB9XG5cbi5tZW51LWxpc3QuLXRvb2xiYXIgLm1lbnUtbGlzdF9saW5rIHtcbiAgY29sb3I6ICM0MzQzNDM7IH1cblxuLm1lbnUtbGlzdC4tdG9vbGJhciAubWVudS1saXN0X2xpbms6Zm9jdXMsXG4ubWVudS1saXN0Li10b29sYmFyIC5tZW51LWxpc3RfbGluazpob3ZlciB7XG4gIGNvbG9yOiAjQjcyMDJBOyB9XG5cbi5tZW51LWxpc3QuLXRvb2xiYXIuLXZlcnRpY2FsIC5tZW51LWxpc3RfbGluayB7XG4gIHBhZGRpbmc6IDAuMjVlbSAxLjEyNWVtOyB9XG5cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqICogTWVudSBUb2dnbGVcblxcKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi5tZW51LXRvZ2dsZSB7XG4gIGJhY2tncm91bmQ6IG5vbmU7XG4gIGJvcmRlcjogMDtcbiAgY29sb3I6ICNCNzIwMkE7XG4gIGZvbnQtc2l6ZTogMWVtO1xuICBoZWlnaHQ6IDMuMTI1ZW07XG4gIG1hcmdpbjogMDtcbiAgcGFkZGluZzogMDtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB0ZXh0LWluZGVudDogLTk5OWVtO1xuICB3aWR0aDogMy4xMjVlbTsgfVxuXG4ubWVudS10b2dnbGU6OmJlZm9yZSwgLm1lbnUtdG9nZ2xlOjphZnRlciB7XG4gIGJhY2tncm91bmQ6IGN1cnJlbnRDb2xvcjtcbiAgYm90dG9tOiAwO1xuICBjb250ZW50OiBcIlxcMDAyMFwiO1xuICBkaXNwbGF5OiBibG9jaztcbiAgaGVpZ2h0OiAwLjI1ZW07XG4gIGxlZnQ6IDA7XG4gIG1hcmdpbjogYXV0bztcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICByaWdodDogMDtcbiAgdG9wOiAwO1xuICB0cmFuc2l0aW9uOiBib3gtc2hhZG93IDAuMTVzIDAuMTVzLCB0b3AgMC4xNXMgMC4xNXMsIHRyYW5zZm9ybSAwLjE1cztcbiAgd2lkdGg6IDEuNWVtOyB9XG5cbi5tZW51LXRvZ2dsZS4tcm91bmRlZDo6YmVmb3JlLCAubWVudS10b2dnbGUuLXJvdW5kZWQ6OmFmdGVyIHtcbiAgYm9yZGVyLXJhZGl1czogMC4wOTM3NWVtOyB9XG5cbi5tZW51LXRvZ2dsZS5pcy1hY3RpdmU6OmJlZm9yZSwgLm1lbnUtdG9nZ2xlLmlzLWFjdGl2ZTo6YWZ0ZXIge1xuICB0cmFuc2l0aW9uOiBib3gtc2hhZG93IDAuMTVzLCB0b3AgMC4xNXMsIHRyYW5zZm9ybSAwLjE1cyAwLjE1czsgfVxuXG4ubWVudS10b2dnbGU6OmJlZm9yZSB7XG4gIGJveC1zaGFkb3c6IDBlbSAwLjVlbSAwZW0gMGVtIGN1cnJlbnRDb2xvcjtcbiAgdG9wOiAtMWVtOyB9XG5cbi5tZW51LXRvZ2dsZS5pcy1hY3RpdmU6OmJlZm9yZSB7XG4gIGJveC1zaGFkb3c6IDAgMCAwIDAgdHJhbnNwYXJlbnQ7XG4gIHRvcDogMDtcbiAgdHJhbnNmb3JtOiByb3RhdGUoNDVkZWcpOyB9XG5cbi5tZW51LXRvZ2dsZTo6YWZ0ZXIge1xuICB0b3A6IDFlbTsgfVxuXG4ubWVudS10b2dnbGUuaXMtYWN0aXZlOjphZnRlciB7XG4gIHRvcDogMDtcbiAgdHJhbnNmb3JtOiByb3RhdGUoLTQ1ZGVnKTsgfVxuXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKiAqIE5pbmphIEZvcm1zXG5cXCogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiBzdHlsZWxpbnQtZGlzYWJsZSBzZWxlY3Rvci1jbGFzcy1wYXR0ZXJuLCBzZWxlY3Rvci1tYXgtdHlwZSAqL1xuLm5mLWZvcm0taHAge1xuICBsZWZ0OiAtOTk5ZW07XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAtOTk5ZW07IH1cblxuLm5mLWZpZWxkLWNvbnRhaW5lciAucGlrYWRheV9fY29udGFpbmVyIHtcbiAgZGlzcGxheTogYmxvY2s7IH1cblxuLm5mLWZpZWxkLWNvbnRhaW5lciAubGlzdC1jaGVja2JveCxcbi5uZi1maWVsZC1jb250YWluZXIgLmxpc3QtcmFkaW8ge1xuICBmb250LXNpemU6IDFlbTtcbiAgbGlzdC1zdHlsZTogbm9uZTtcbiAgbWFyZ2luLWJvdHRvbTogMDtcbiAgcGFkZGluZzogMDsgfVxuXG4ubmYtZmllbGQtY29udGFpbmVyLmxhYmVsLWFib3ZlIC5maWVsZC13cmFwLFxuLm5mLWZpZWxkLWNvbnRhaW5lci5sYWJlbC1yaWdodCAuZmllbGQtd3JhcCxcbi5uZi1maWVsZC1jb250YWluZXIubGFiZWwtYmVsb3cgLmZpZWxkLXdyYXAsXG4ubmYtZmllbGQtY29udGFpbmVyLmxhYmVsLWxlZnQgLmZpZWxkLXdyYXAge1xuICBhbGlnbi1pdGVtczogZmxleC1zdGFydDtcbiAgZGlzcGxheTogZmxleDsgfVxuXG4ubmYtZmllbGQtY29udGFpbmVyLmxhYmVsLXJpZ2h0IC5maWVsZC13cmFwIC5uZi1maWVsZC1sYWJlbCxcbi5uZi1maWVsZC1jb250YWluZXIubGFiZWwtbGVmdCAuZmllbGQtd3JhcCAubmYtZmllbGQtbGFiZWwge1xuICBmbGV4OiBub25lOyB9XG5cbi5uZi1maWVsZC1jb250YWluZXIubGFiZWwtYWJvdmUgLmZpZWxkLXdyYXAgLm5mLWZpZWxkLWVsZW1lbnQsXG4ubmYtZmllbGQtY29udGFpbmVyLmxhYmVsLWJlbG93IC5maWVsZC13cmFwIC5uZi1maWVsZC1lbGVtZW50IHtcbiAgd2lkdGg6IDEwMCU7IH1cblxuLm5mLWZpZWxkLWNvbnRhaW5lci5sYWJlbC1yaWdodCAuZmllbGQtd3JhcCAubmYtZmllbGQtZWxlbWVudCxcbi5uZi1maWVsZC1jb250YWluZXIubGFiZWwtbGVmdCAuZmllbGQtd3JhcCAubmYtZmllbGQtZWxlbWVudCB7XG4gIGZsZXg6IDEgMSBhdXRvOyB9XG5cbi5uZi1maWVsZC1jb250YWluZXIubGFiZWwtcmlnaHQgLmNoZWNrYm94LXdyYXAgLm5mLWZpZWxkLWVsZW1lbnQsXG4ubmYtZmllbGQtY29udGFpbmVyLmxhYmVsLWxlZnQgLmNoZWNrYm94LXdyYXAgLm5mLWZpZWxkLWVsZW1lbnQge1xuICBmbGV4OiBub25lOyB9XG5cbi5uZi1maWVsZC1jb250YWluZXIubGFiZWwtYWJvdmUgLmZpZWxkLXdyYXAge1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uOyB9XG5cbi5uZi1maWVsZC1jb250YWluZXIubGFiZWwtYmVsb3cgLmZpZWxkLXdyYXAge1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uOyB9XG5cbi5uZi1maWVsZC1jb250YWluZXIubGFiZWwtYmVsb3cgLmZpZWxkLXdyYXAgLm5mLWZpZWxkLWxhYmVsIHtcbiAgb3JkZXI6IDI7IH1cblxuLm5mLWZpZWxkLWNvbnRhaW5lci5sYWJlbC1iZWxvdyAuZmllbGQtd3JhcCAubmYtZmllbGQtZWxlbWVudCB7XG4gIG9yZGVyOiAxOyB9XG5cbi5uZi1maWVsZC1jb250YWluZXIubGFiZWwtcmlnaHQgLmZpZWxkLXdyYXAgLm5mLWZpZWxkLWxhYmVsIHtcbiAgb3JkZXI6IDI7IH1cblxuLm5mLWZpZWxkLWNvbnRhaW5lci5sYWJlbC1yaWdodCAuZmllbGQtd3JhcCAubmYtZmllbGQtZWxlbWVudCB7XG4gIG9yZGVyOiAxOyB9XG5cbi5uZi1maWVsZC1jb250YWluZXIubGFiZWwtaGlkZGVuIC5maWVsZC13cmFwIC5uZi1maWVsZC1sYWJlbCB7XG4gIGxlZnQ6IC05OTllbTtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IC05OTllbTsgfVxuXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKiAqIE9waW5pb25hdGVkIFR3ZWFrc1xuXFwqIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLm5mLWZpZWxkLWNvbnRhaW5lciAudXNlci1jb250ZW50IGgyIHtcbiAgZm9udC1zaXplOiAyLjI1ZW07IH1cblxuLm5mLWZpZWxkLWNvbnRhaW5lciAubGlzdC1jaGVja2JveCxcbi5uZi1maWVsZC1jb250YWluZXIgLmxpc3QtcmFkaW8ge1xuICBmb250LXNpemU6IDFlbTtcbiAgbWFyZ2luLWJvdHRvbTogMS41ZW07IH1cblxuLm5mLWZpZWxkLWNvbnRhaW5lciAubGlzdC1jaGVja2JveCAuaW5wdXQuLWNoZWNrYm94LFxuLm5mLWZpZWxkLWNvbnRhaW5lciAubGlzdC1yYWRpbyAuaW5wdXQuLXJhZGlvYnV0dG9uIHtcbiAgbWFyZ2luLWJvdHRvbTogMC4yNWVtOyB9XG5cbi5uZi1maWVsZC1jb250YWluZXIgLmxpc3QtY2hlY2tib3ggLnRleHQuLWxhYmVsLCAubmYtZmllbGQtY29udGFpbmVyIC5saXN0LWNoZWNrYm94IC51c2VyLWNvbnRlbnQgcC4tbGFiZWwsIC51c2VyLWNvbnRlbnQgLm5mLWZpZWxkLWNvbnRhaW5lciAubGlzdC1jaGVja2JveCBwLi1sYWJlbCwgLm5mLWZpZWxkLWNvbnRhaW5lciAubGlzdC1jaGVja2JveFxuLnVzZXItY29udGVudCBvbC4tbGFiZWwsXG4udXNlci1jb250ZW50IC5uZi1maWVsZC1jb250YWluZXIgLmxpc3QtY2hlY2tib3ggb2wuLWxhYmVsLCAubmYtZmllbGQtY29udGFpbmVyIC5saXN0LWNoZWNrYm94XG4udXNlci1jb250ZW50IHVsLi1sYWJlbCxcbi51c2VyLWNvbnRlbnQgLm5mLWZpZWxkLWNvbnRhaW5lciAubGlzdC1jaGVja2JveCB1bC4tbGFiZWwsIC5uZi1maWVsZC1jb250YWluZXIgLmxpc3QtY2hlY2tib3hcbi51c2VyLWNvbnRlbnQgdGFibGUuLWxhYmVsLFxuLnVzZXItY29udGVudCAubmYtZmllbGQtY29udGFpbmVyIC5saXN0LWNoZWNrYm94IHRhYmxlLi1sYWJlbCxcbi5uZi1maWVsZC1jb250YWluZXIgLmxpc3QtcmFkaW8gLnRleHQuLWxhYmVsLFxuLm5mLWZpZWxkLWNvbnRhaW5lciAubGlzdC1yYWRpbyAudXNlci1jb250ZW50IHAuLWxhYmVsLCAudXNlci1jb250ZW50XG4ubmYtZmllbGQtY29udGFpbmVyIC5saXN0LXJhZGlvIHAuLWxhYmVsLFxuLm5mLWZpZWxkLWNvbnRhaW5lciAubGlzdC1yYWRpb1xuLnVzZXItY29udGVudCBvbC4tbGFiZWwsXG4udXNlci1jb250ZW50XG4ubmYtZmllbGQtY29udGFpbmVyIC5saXN0LXJhZGlvIG9sLi1sYWJlbCxcbi5uZi1maWVsZC1jb250YWluZXIgLmxpc3QtcmFkaW9cbi51c2VyLWNvbnRlbnQgdWwuLWxhYmVsLFxuLnVzZXItY29udGVudFxuLm5mLWZpZWxkLWNvbnRhaW5lciAubGlzdC1yYWRpbyB1bC4tbGFiZWwsXG4ubmYtZmllbGQtY29udGFpbmVyIC5saXN0LXJhZGlvXG4udXNlci1jb250ZW50IHRhYmxlLi1sYWJlbCxcbi51c2VyLWNvbnRlbnRcbi5uZi1maWVsZC1jb250YWluZXIgLmxpc3QtcmFkaW8gdGFibGUuLWxhYmVsIHtcbiAgbWFyZ2luLWJvdHRvbTogMC4yNWVtOyB9XG5cbkBtZWRpYSAocG9pbnRlcjogY29hcnNlKSB7XG4gIC5uZi1maWVsZC1jb250YWluZXIgLmxpc3QtY2hlY2tib3hfaXRlbTpub3QoOmxhc3QtY2hpbGQpIC50ZXh0Li1sYWJlbCwgLm5mLWZpZWxkLWNvbnRhaW5lciAubGlzdC1jaGVja2JveF9pdGVtOm5vdCg6bGFzdC1jaGlsZCkgLnVzZXItY29udGVudCBwLi1sYWJlbCwgLnVzZXItY29udGVudCAubmYtZmllbGQtY29udGFpbmVyIC5saXN0LWNoZWNrYm94X2l0ZW06bm90KDpsYXN0LWNoaWxkKSBwLi1sYWJlbCwgLm5mLWZpZWxkLWNvbnRhaW5lciAubGlzdC1jaGVja2JveF9pdGVtOm5vdCg6bGFzdC1jaGlsZClcbiAgLnVzZXItY29udGVudCBvbC4tbGFiZWwsXG4gIC51c2VyLWNvbnRlbnQgLm5mLWZpZWxkLWNvbnRhaW5lciAubGlzdC1jaGVja2JveF9pdGVtOm5vdCg6bGFzdC1jaGlsZCkgb2wuLWxhYmVsLCAubmYtZmllbGQtY29udGFpbmVyIC5saXN0LWNoZWNrYm94X2l0ZW06bm90KDpsYXN0LWNoaWxkKVxuICAudXNlci1jb250ZW50IHVsLi1sYWJlbCxcbiAgLnVzZXItY29udGVudCAubmYtZmllbGQtY29udGFpbmVyIC5saXN0LWNoZWNrYm94X2l0ZW06bm90KDpsYXN0LWNoaWxkKSB1bC4tbGFiZWwsIC5uZi1maWVsZC1jb250YWluZXIgLmxpc3QtY2hlY2tib3hfaXRlbTpub3QoOmxhc3QtY2hpbGQpXG4gIC51c2VyLWNvbnRlbnQgdGFibGUuLWxhYmVsLFxuICAudXNlci1jb250ZW50IC5uZi1maWVsZC1jb250YWluZXIgLmxpc3QtY2hlY2tib3hfaXRlbTpub3QoOmxhc3QtY2hpbGQpIHRhYmxlLi1sYWJlbCxcbiAgLm5mLWZpZWxkLWNvbnRhaW5lciAubGlzdC1yYWRpb19pdGVtOm5vdCg6bGFzdC1jaGlsZCkgLnRleHQuLWxhYmVsLFxuICAubmYtZmllbGQtY29udGFpbmVyIC5saXN0LXJhZGlvX2l0ZW06bm90KDpsYXN0LWNoaWxkKSAudXNlci1jb250ZW50IHAuLWxhYmVsLCAudXNlci1jb250ZW50XG4gIC5uZi1maWVsZC1jb250YWluZXIgLmxpc3QtcmFkaW9faXRlbTpub3QoOmxhc3QtY2hpbGQpIHAuLWxhYmVsLFxuICAubmYtZmllbGQtY29udGFpbmVyIC5saXN0LXJhZGlvX2l0ZW06bm90KDpsYXN0LWNoaWxkKVxuICAudXNlci1jb250ZW50IG9sLi1sYWJlbCxcbiAgLnVzZXItY29udGVudFxuICAubmYtZmllbGQtY29udGFpbmVyIC5saXN0LXJhZGlvX2l0ZW06bm90KDpsYXN0LWNoaWxkKSBvbC4tbGFiZWwsXG4gIC5uZi1maWVsZC1jb250YWluZXIgLmxpc3QtcmFkaW9faXRlbTpub3QoOmxhc3QtY2hpbGQpXG4gIC51c2VyLWNvbnRlbnQgdWwuLWxhYmVsLFxuICAudXNlci1jb250ZW50XG4gIC5uZi1maWVsZC1jb250YWluZXIgLmxpc3QtcmFkaW9faXRlbTpub3QoOmxhc3QtY2hpbGQpIHVsLi1sYWJlbCxcbiAgLm5mLWZpZWxkLWNvbnRhaW5lciAubGlzdC1yYWRpb19pdGVtOm5vdCg6bGFzdC1jaGlsZClcbiAgLnVzZXItY29udGVudCB0YWJsZS4tbGFiZWwsXG4gIC51c2VyLWNvbnRlbnRcbiAgLm5mLWZpZWxkLWNvbnRhaW5lciAubGlzdC1yYWRpb19pdGVtOm5vdCg6bGFzdC1jaGlsZCkgdGFibGUuLWxhYmVsIHtcbiAgICBtYXJnaW4tYm90dG9tOiAxLjVlbTsgfSB9XG5cbi5uZi1maWVsZC1jb250YWluZXIgLnN0YXJzIHtcbiAgbWFyZ2luLWJvdHRvbTogMS41ZW07IH1cblxuLm5mLWZpZWxkLWNvbnRhaW5lciAubmYtdXNlci1jb250ZW50IHtcbiAgbWFyZ2luLXRvcDogLTEuMjVlbTsgfVxuXG4ubmYtZmllbGQtY29udGFpbmVyIC5uZi1lcnJvci1tc2cge1xuICBmb250LXNpemU6IDAuNjI1ZW07XG4gIG1hcmdpbi1ib3R0b206IDIuNGVtO1xuICBtYXJnaW4tdG9wOiAtMmVtOyB9XG5cbi5uZi1maWVsZC1jb250YWluZXIgLmctcmVjYXB0Y2hhIHtcbiAgbWFyZ2luLWJvdHRvbTogMS41ZW07IH1cblxuLm5mLWZpZWxkLWNvbnRhaW5lci5sYWJlbC1hYm92ZSAubmYtZmllbGQtbGFiZWwgPiAudGV4dC4tbGFiZWwsIC5uZi1maWVsZC1jb250YWluZXIubGFiZWwtYWJvdmUgLnVzZXItY29udGVudCAubmYtZmllbGQtbGFiZWwgPiBwLi1sYWJlbCwgLnVzZXItY29udGVudCAubmYtZmllbGQtY29udGFpbmVyLmxhYmVsLWFib3ZlIC5uZi1maWVsZC1sYWJlbCA+IHAuLWxhYmVsLCAubmYtZmllbGQtY29udGFpbmVyLmxhYmVsLWFib3ZlXG4udXNlci1jb250ZW50IC5uZi1maWVsZC1sYWJlbCA+IG9sLi1sYWJlbCxcbi51c2VyLWNvbnRlbnQgLm5mLWZpZWxkLWNvbnRhaW5lci5sYWJlbC1hYm92ZSAubmYtZmllbGQtbGFiZWwgPiBvbC4tbGFiZWwsIC5uZi1maWVsZC1jb250YWluZXIubGFiZWwtYWJvdmVcbi51c2VyLWNvbnRlbnQgLm5mLWZpZWxkLWxhYmVsID4gdWwuLWxhYmVsLFxuLnVzZXItY29udGVudCAubmYtZmllbGQtY29udGFpbmVyLmxhYmVsLWFib3ZlIC5uZi1maWVsZC1sYWJlbCA+IHVsLi1sYWJlbCwgLm5mLWZpZWxkLWNvbnRhaW5lci5sYWJlbC1hYm92ZVxuLnVzZXItY29udGVudCAubmYtZmllbGQtbGFiZWwgPiB0YWJsZS4tbGFiZWwsXG4udXNlci1jb250ZW50IC5uZi1maWVsZC1jb250YWluZXIubGFiZWwtYWJvdmUgLm5mLWZpZWxkLWxhYmVsID4gdGFibGUuLWxhYmVsIHtcbiAgbWFyZ2luLWJvdHRvbTogMC4yNWVtOyB9XG5cbi5uZi1maWVsZC1jb250YWluZXIubGFiZWwtYmVsb3cgLm5mLWZpZWxkLWxhYmVsID4gLnRleHQuLWxhYmVsLCAubmYtZmllbGQtY29udGFpbmVyLmxhYmVsLWJlbG93IC51c2VyLWNvbnRlbnQgLm5mLWZpZWxkLWxhYmVsID4gcC4tbGFiZWwsIC51c2VyLWNvbnRlbnQgLm5mLWZpZWxkLWNvbnRhaW5lci5sYWJlbC1iZWxvdyAubmYtZmllbGQtbGFiZWwgPiBwLi1sYWJlbCwgLm5mLWZpZWxkLWNvbnRhaW5lci5sYWJlbC1iZWxvd1xuLnVzZXItY29udGVudCAubmYtZmllbGQtbGFiZWwgPiBvbC4tbGFiZWwsXG4udXNlci1jb250ZW50IC5uZi1maWVsZC1jb250YWluZXIubGFiZWwtYmVsb3cgLm5mLWZpZWxkLWxhYmVsID4gb2wuLWxhYmVsLCAubmYtZmllbGQtY29udGFpbmVyLmxhYmVsLWJlbG93XG4udXNlci1jb250ZW50IC5uZi1maWVsZC1sYWJlbCA+IHVsLi1sYWJlbCxcbi51c2VyLWNvbnRlbnQgLm5mLWZpZWxkLWNvbnRhaW5lci5sYWJlbC1iZWxvdyAubmYtZmllbGQtbGFiZWwgPiB1bC4tbGFiZWwsIC5uZi1maWVsZC1jb250YWluZXIubGFiZWwtYmVsb3dcbi51c2VyLWNvbnRlbnQgLm5mLWZpZWxkLWxhYmVsID4gdGFibGUuLWxhYmVsLFxuLnVzZXItY29udGVudCAubmYtZmllbGQtY29udGFpbmVyLmxhYmVsLWJlbG93IC5uZi1maWVsZC1sYWJlbCA+IHRhYmxlLi1sYWJlbCB7XG4gIG1hcmdpbi10b3A6IDAuMjVlbTsgfVxuXG4ubmYtZmllbGQtY29udGFpbmVyLmxhYmVsLWJlbG93IC5uZi1maWVsZC1lbGVtZW50IC5pbnB1dCxcbi5uZi1maWVsZC1jb250YWluZXIubGFiZWwtYmVsb3cgLm5mLWZpZWxkLWVsZW1lbnQgLnN0YXJzLFxuLm5mLWZpZWxkLWNvbnRhaW5lci5sYWJlbC1iZWxvdyAubGlzdC1jaGVja2JveCxcbi5uZi1maWVsZC1jb250YWluZXIubGFiZWwtYmVsb3cgLmxpc3QtcmFkaW8ge1xuICBtYXJnaW4tYm90dG9tOiAwO1xuICBvcmRlcjogMTsgfVxuXG4ubmYtZmllbGQtY29udGFpbmVyLmxhYmVsLWxlZnQgLm5mLWZpZWxkLWxhYmVsID4gLnRleHQuLWxhYmVsLCAubmYtZmllbGQtY29udGFpbmVyLmxhYmVsLWxlZnQgLnVzZXItY29udGVudCAubmYtZmllbGQtbGFiZWwgPiBwLi1sYWJlbCwgLnVzZXItY29udGVudCAubmYtZmllbGQtY29udGFpbmVyLmxhYmVsLWxlZnQgLm5mLWZpZWxkLWxhYmVsID4gcC4tbGFiZWwsIC5uZi1maWVsZC1jb250YWluZXIubGFiZWwtbGVmdFxuLnVzZXItY29udGVudCAubmYtZmllbGQtbGFiZWwgPiBvbC4tbGFiZWwsXG4udXNlci1jb250ZW50IC5uZi1maWVsZC1jb250YWluZXIubGFiZWwtbGVmdCAubmYtZmllbGQtbGFiZWwgPiBvbC4tbGFiZWwsIC5uZi1maWVsZC1jb250YWluZXIubGFiZWwtbGVmdFxuLnVzZXItY29udGVudCAubmYtZmllbGQtbGFiZWwgPiB1bC4tbGFiZWwsXG4udXNlci1jb250ZW50IC5uZi1maWVsZC1jb250YWluZXIubGFiZWwtbGVmdCAubmYtZmllbGQtbGFiZWwgPiB1bC4tbGFiZWwsIC5uZi1maWVsZC1jb250YWluZXIubGFiZWwtbGVmdFxuLnVzZXItY29udGVudCAubmYtZmllbGQtbGFiZWwgPiB0YWJsZS4tbGFiZWwsXG4udXNlci1jb250ZW50IC5uZi1maWVsZC1jb250YWluZXIubGFiZWwtbGVmdCAubmYtZmllbGQtbGFiZWwgPiB0YWJsZS4tbGFiZWwge1xuICBtYXJnaW4tcmlnaHQ6IDAuNjI1ZW07IH1cblxuLm5mLWZpZWxkLWNvbnRhaW5lci5sYWJlbC1yaWdodCAubmYtZmllbGQtbGFiZWwgPiAudGV4dC4tbGFiZWwsIC5uZi1maWVsZC1jb250YWluZXIubGFiZWwtcmlnaHQgLnVzZXItY29udGVudCAubmYtZmllbGQtbGFiZWwgPiBwLi1sYWJlbCwgLnVzZXItY29udGVudCAubmYtZmllbGQtY29udGFpbmVyLmxhYmVsLXJpZ2h0IC5uZi1maWVsZC1sYWJlbCA+IHAuLWxhYmVsLCAubmYtZmllbGQtY29udGFpbmVyLmxhYmVsLXJpZ2h0XG4udXNlci1jb250ZW50IC5uZi1maWVsZC1sYWJlbCA+IG9sLi1sYWJlbCxcbi51c2VyLWNvbnRlbnQgLm5mLWZpZWxkLWNvbnRhaW5lci5sYWJlbC1yaWdodCAubmYtZmllbGQtbGFiZWwgPiBvbC4tbGFiZWwsIC5uZi1maWVsZC1jb250YWluZXIubGFiZWwtcmlnaHRcbi51c2VyLWNvbnRlbnQgLm5mLWZpZWxkLWxhYmVsID4gdWwuLWxhYmVsLFxuLnVzZXItY29udGVudCAubmYtZmllbGQtY29udGFpbmVyLmxhYmVsLXJpZ2h0IC5uZi1maWVsZC1sYWJlbCA+IHVsLi1sYWJlbCwgLm5mLWZpZWxkLWNvbnRhaW5lci5sYWJlbC1yaWdodFxuLnVzZXItY29udGVudCAubmYtZmllbGQtbGFiZWwgPiB0YWJsZS4tbGFiZWwsXG4udXNlci1jb250ZW50IC5uZi1maWVsZC1jb250YWluZXIubGFiZWwtcmlnaHQgLm5mLWZpZWxkLWxhYmVsID4gdGFibGUuLWxhYmVsIHtcbiAgbWFyZ2luLWxlZnQ6IDAuNjI1ZW07IH1cblxuLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICogKiBPdmVybGF5IENsb3NlclxuXFwqIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLm92ZXJsYXktY2xvc2VyIHtcbiAgYmFja2dyb3VuZDogcmdiYSgwLCAwLCAwLCAwLjc1KTtcbiAgYm9yZGVyOiAwO1xuICBib3R0b206IDk5OWVtO1xuICBjb250ZW50OiBcIlxcMDAyMFwiO1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBsZWZ0OiAtOTk5ZW07XG4gIG1hcmdpbjogMDtcbiAgb3BhY2l0eTogMDtcbiAgcGFkZGluZzogMDtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICByaWdodDogOTk5ZW07XG4gIHRvcDogLTk5OWVtO1xuICB0cmFuc2l0aW9uOiBib3R0b20gMHMgMC4xNXMsIGxlZnQgMHMgMC4xNXMsIG9wYWNpdHkgMC4xNXMsIHJpZ2h0IDBzIDAuMTVzLCB0b3AgMHMgMC4xNXMsIHZpc2liaWxpdHkgMHMgMC4xNXM7XG4gIHZpc2liaWxpdHk6IGhpZGRlbjtcbiAgd2lkdGg6IDEwMCU7XG4gIHotaW5kZXg6IDk5ODsgfVxuXG4ub3ZlcmxheS1jbG9zZXIuaXMtYWN0aXZlIHtcbiAgYm90dG9tOiAwO1xuICBsZWZ0OiAwO1xuICBvcGFjaXR5OiAxO1xuICByaWdodDogMDtcbiAgdG9wOiAwO1xuICB0cmFuc2l0aW9uOiBvcGFjaXR5IDAuMTVzO1xuICB2aXNpYmlsaXR5OiB2aXNpYmxlOyB9XG5cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqICogU2VhcmNoIEZvcm1cblxcKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi5zZWFyY2gtZm9ybV9jb250YWluZXIge1xuICBtYXJnaW46IDBlbSAwZW0gMi41ZW07IH1cblxuLnNlYXJjaC1mb3JtIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlOyB9XG5cbi5zZWFyY2gtZm9ybV9pbnB1dCB7XG4gIGJhY2tncm91bmQ6ICNGRkZGRkY7XG4gIGJvcmRlcjogMC4wNjI1cmVtIHNvbGlkICNFNUU1RTU7XG4gIGNvbG9yOiAjMDAwMDAwO1xuICBmb250LWZhbWlseTogXCJTb3VyY2UgU2FucyBQcm9cIiwgXCJBcmlhbFwiLCBcIkhlbHZldGljYVwiLCBzYW5zLXNlcmlmO1xuICBmb250LXNpemU6IDFlbTtcbiAgbWFyZ2luOiAwO1xuICBvdXRsaW5lOiBub25lO1xuICBwYWRkaW5nOiAwLjVlbSAyLjM3NWVtIDAuNWVtIDAuNzVlbTtcbiAgdHJhbnNpdGlvbjogYm9yZGVyLWNvbG9yIDAuMTVzO1xuICB3aWR0aDogMTAwJTsgfVxuXG4uc2VhcmNoLWZvcm1faW5wdXQ6Zm9jdXMsIC5zZWFyY2gtZm9ybV9pbnB1dDpob3ZlciB7XG4gIGJvcmRlci1jb2xvcjogI0I3MjAyQTsgfVxuXG4uc2VhcmNoLWZvcm1fYnV0dG9uIHtcbiAgYmFja2dyb3VuZDogbm9uZTtcbiAgYm9yZGVyOiAwO1xuICBib3R0b206IDAuMDYyNXJlbTtcbiAgY29sb3I6ICMwMDAwMDA7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgZm9udC1zaXplOiAxZW07XG4gIG1hcmdpbjogMDtcbiAgb3V0bGluZTogbm9uZTtcbiAgcGFkZGluZzogMC42MjVlbSAwLjc1ZW07XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgcmlnaHQ6IDAuMDYyNXJlbTtcbiAgdG9wOiAwLjA2MjVyZW07XG4gIHRyYW5zaXRpb246IGNvbG9yIDAuMTVzOyB9XG5cbi5zZWFyY2gtZm9ybV9idXR0b246Zm9jdXMsIC5zZWFyY2gtZm9ybV9idXR0b246aG92ZXIge1xuICBjb2xvcjogI0I3MjAyQTsgfVxuXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKiAqIFN3aXBlciAoaHR0cDovL2lkYW5nZXJvLnVzL3N3aXBlci8pXG5cXCogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiBzdHlsZWxpbnQtZGlzYWJsZSBzZWxlY3Rvci1jbGFzcy1wYXR0ZXJuICovXG4vKipcbiAqIFN3aXBlciAzLjQuMVxuICogTW9zdCBtb2Rlcm4gbW9iaWxlIHRvdWNoIHNsaWRlciBhbmQgZnJhbWV3b3JrIHdpdGggaGFyZHdhcmUgYWNjZWxlcmF0ZWQgdHJhbnNpdGlvbnNcbiAqXG4gKiBodHRwOi8vd3d3LmlkYW5nZXJvLnVzL3N3aXBlci9cbiAqXG4gKiBDb3B5cmlnaHQgMjAxNiwgVmxhZGltaXIgS2hhcmxhbXBpZGlcbiAqIFRoZSBpRGFuZ2Vyby51c1xuICogaHR0cDovL3d3dy5pZGFuZ2Vyby51cy9cbiAqXG4gKiBMaWNlbnNlZCB1bmRlciBNSVRcbiAqXG4gKiBSZWxlYXNlZCBvbjogRGVjZW1iZXIgMTMsIDIwMTZcbiAqL1xuLnN3aXBlci1jb250YWluZXIge1xuICBtYXJnaW4tbGVmdDogYXV0bztcbiAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIC8qIEZpeCBvZiBXZWJraXQgZmxpY2tlcmluZyAqL1xuICB6LWluZGV4OiAxOyB9XG5cbi5zd2lwZXItY29udGFpbmVyLW5vLWZsZXhib3ggLnN3aXBlci1zbGlkZSB7XG4gIGZsb2F0OiBsZWZ0OyB9XG5cbi5zd2lwZXItY29udGFpbmVyLXZlcnRpY2FsID4gLnN3aXBlci13cmFwcGVyIHtcbiAgLXdlYmtpdC1ib3gtb3JpZW50OiB2ZXJ0aWNhbDtcbiAgLW1vei1ib3gtb3JpZW50OiB2ZXJ0aWNhbDtcbiAgLW1zLWZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIC13ZWJraXQtZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjsgfVxuXG4uc3dpcGVyLXdyYXBwZXIge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IDEwMCU7XG4gIHotaW5kZXg6IDE7XG4gIGRpc3BsYXk6IC13ZWJraXQtYm94O1xuICBkaXNwbGF5OiAtbW96LWJveDtcbiAgZGlzcGxheTogLW1zLWZsZXhib3g7XG4gIGRpc3BsYXk6IC13ZWJraXQtZmxleDtcbiAgZGlzcGxheTogZmxleDtcbiAgLXdlYmtpdC10cmFuc2l0aW9uLXByb3BlcnR5OiAtd2Via2l0LXRyYW5zZm9ybTtcbiAgLW1vei10cmFuc2l0aW9uLXByb3BlcnR5OiAtbW96LXRyYW5zZm9ybTtcbiAgLW8tdHJhbnNpdGlvbi1wcm9wZXJ0eTogLW8tdHJhbnNmb3JtO1xuICAtbXMtdHJhbnNpdGlvbi1wcm9wZXJ0eTogLW1zLXRyYW5zZm9ybTtcbiAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogdHJhbnNmb3JtO1xuICAtd2Via2l0LWJveC1zaXppbmc6IGNvbnRlbnQtYm94O1xuICAtbW96LWJveC1zaXppbmc6IGNvbnRlbnQtYm94O1xuICBib3gtc2l6aW5nOiBjb250ZW50LWJveDsgfVxuXG4uc3dpcGVyLWNvbnRhaW5lci1hbmRyb2lkIC5zd2lwZXItc2xpZGUsXG4uc3dpcGVyLXdyYXBwZXIge1xuICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMHB4LCAwLCAwKTtcbiAgLW1vei10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDBweCwgMCwgMCk7XG4gIC1vLXRyYW5zZm9ybTogdHJhbnNsYXRlKDBweCwgMHB4KTtcbiAgLW1zLXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMHB4LCAwLCAwKTtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwcHgsIDAsIDApOyB9XG5cbi5zd2lwZXItY29udGFpbmVyLW11bHRpcm93ID4gLnN3aXBlci13cmFwcGVyIHtcbiAgLXdlYmtpdC1ib3gtbGluZXM6IG11bHRpcGxlO1xuICAtbW96LWJveC1saW5lczogbXVsdGlwbGU7XG4gIC1tcy1mbGV4LXdyYXA6IHdyYXA7XG4gIC13ZWJraXQtZmxleC13cmFwOiB3cmFwO1xuICBmbGV4LXdyYXA6IHdyYXA7IH1cblxuLnN3aXBlci1jb250YWluZXItZnJlZS1tb2RlID4gLnN3aXBlci13cmFwcGVyIHtcbiAgLXdlYmtpdC10cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1vdXQ7XG4gIC1tb3otdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2Utb3V0O1xuICAtbXMtdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2Utb3V0O1xuICAtby10cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1vdXQ7XG4gIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLW91dDtcbiAgbWFyZ2luOiAwIGF1dG87IH1cblxuLnN3aXBlci1zbGlkZSB7XG4gIC13ZWJraXQtZmxleC1zaHJpbms6IDA7XG4gIC1tcy1mbGV4OiAwIDAgYXV0bztcbiAgZmxleC1zaHJpbms6IDA7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IDEwMCU7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuXG4vKiBBdXRvIEhlaWdodCAqL1xuLnN3aXBlci1jb250YWluZXItYXV0b2hlaWdodCxcbi5zd2lwZXItY29udGFpbmVyLWF1dG9oZWlnaHQgLnN3aXBlci1zbGlkZSB7XG4gIGhlaWdodDogYXV0bzsgfVxuXG4uc3dpcGVyLWNvbnRhaW5lci1hdXRvaGVpZ2h0IC5zd2lwZXItd3JhcHBlciB7XG4gIC13ZWJraXQtYm94LWFsaWduOiBzdGFydDtcbiAgLW1zLWZsZXgtYWxpZ246IHN0YXJ0O1xuICAtd2Via2l0LWFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0O1xuICBhbGlnbi1pdGVtczogZmxleC1zdGFydDtcbiAgLXdlYmtpdC10cmFuc2l0aW9uLXByb3BlcnR5OiAtd2Via2l0LXRyYW5zZm9ybSwgaGVpZ2h0O1xuICAtbW96LXRyYW5zaXRpb24tcHJvcGVydHk6IC1tb3otdHJhbnNmb3JtO1xuICAtby10cmFuc2l0aW9uLXByb3BlcnR5OiAtby10cmFuc2Zvcm07XG4gIC1tcy10cmFuc2l0aW9uLXByb3BlcnR5OiAtbXMtdHJhbnNmb3JtO1xuICB0cmFuc2l0aW9uLXByb3BlcnR5OiB0cmFuc2Zvcm0sIGhlaWdodDsgfVxuXG4vKiBhMTF5ICovXG4uc3dpcGVyLWNvbnRhaW5lciAuc3dpcGVyLW5vdGlmaWNhdGlvbiB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgbGVmdDogMDtcbiAgdG9wOiAwO1xuICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgb3BhY2l0eTogMDtcbiAgei1pbmRleDogLTEwMDA7IH1cblxuLyogSUUxMCBXaW5kb3dzIFBob25lIDggRml4ZXMgKi9cbi5zd2lwZXItd3A4LWhvcml6b250YWwge1xuICAtbXMtdG91Y2gtYWN0aW9uOiBwYW4teTtcbiAgdG91Y2gtYWN0aW9uOiBwYW4teTsgfVxuXG4uc3dpcGVyLXdwOC12ZXJ0aWNhbCB7XG4gIC1tcy10b3VjaC1hY3Rpb246IHBhbi14O1xuICB0b3VjaC1hY3Rpb246IHBhbi14OyB9XG5cbi8qIEFycm93cyAqL1xuLnN3aXBlci1idXR0b24tcHJldixcbi5zd2lwZXItYnV0dG9uLW5leHQge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogNTAlO1xuICB3aWR0aDogMjdweDtcbiAgaGVpZ2h0OiA0NHB4O1xuICBtYXJnaW4tdG9wOiAtMjJweDtcbiAgei1pbmRleDogMTA7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgLW1vei1iYWNrZ3JvdW5kLXNpemU6IDI3cHggNDRweDtcbiAgLXdlYmtpdC1iYWNrZ3JvdW5kLXNpemU6IDI3cHggNDRweDtcbiAgYmFja2dyb3VuZC1zaXplOiAyN3B4IDQ0cHg7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlcjtcbiAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDsgfVxuXG4uc3dpcGVyLWJ1dHRvbi1wcmV2LnN3aXBlci1idXR0b24tZGlzYWJsZWQsXG4uc3dpcGVyLWJ1dHRvbi1uZXh0LnN3aXBlci1idXR0b24tZGlzYWJsZWQge1xuICBvcGFjaXR5OiAwLjM1O1xuICBjdXJzb3I6IGF1dG87XG4gIHBvaW50ZXItZXZlbnRzOiBub25lOyB9XG5cbi5zd2lwZXItYnV0dG9uLXByZXYsXG4uc3dpcGVyLWNvbnRhaW5lci1ydGwgLnN3aXBlci1idXR0b24tbmV4dCB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImRhdGE6aW1hZ2Uvc3ZnK3htbDtjaGFyc2V0PXV0Zi04LCUzQ3N2ZyUyMHhtbG5zJTNEJ2h0dHAlM0ElMkYlMkZ3d3cudzMub3JnJTJGMjAwMCUyRnN2ZyclMjB2aWV3Qm94JTNEJzAlMjAwJTIwMjclMjA0NCclM0UlM0NwYXRoJTIwZCUzRCdNMCUyQzIyTDIyJTJDMGwyLjElMkMyLjFMNC4yJTJDMjJsMTkuOSUyQzE5LjlMMjIlMkM0NEwwJTJDMjJMMCUyQzIyTDAlMkMyMnonJTIwZmlsbCUzRCclMjMwMDdhZmYnJTJGJTNFJTNDJTJGc3ZnJTNFXCIpO1xuICBsZWZ0OiAxMHB4O1xuICByaWdodDogYXV0bzsgfVxuXG4uc3dpcGVyLWJ1dHRvbi1wcmV2LnN3aXBlci1idXR0b24tYmxhY2ssXG4uc3dpcGVyLWNvbnRhaW5lci1ydGwgLnN3aXBlci1idXR0b24tbmV4dC5zd2lwZXItYnV0dG9uLWJsYWNrIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiZGF0YTppbWFnZS9zdmcreG1sO2NoYXJzZXQ9dXRmLTgsJTNDc3ZnJTIweG1sbnMlM0QnaHR0cCUzQSUyRiUyRnd3dy53My5vcmclMkYyMDAwJTJGc3ZnJyUyMHZpZXdCb3glM0QnMCUyMDAlMjAyNyUyMDQ0JyUzRSUzQ3BhdGglMjBkJTNEJ00wJTJDMjJMMjIlMkMwbDIuMSUyQzIuMUw0LjIlMkMyMmwxOS45JTJDMTkuOUwyMiUyQzQ0TDAlMkMyMkwwJTJDMjJMMCUyQzIyeiclMjBmaWxsJTNEJyUyMzAwMDAwMCclMkYlM0UlM0MlMkZzdmclM0VcIik7IH1cblxuLnN3aXBlci1idXR0b24tcHJldi5zd2lwZXItYnV0dG9uLXdoaXRlLFxuLnN3aXBlci1jb250YWluZXItcnRsIC5zd2lwZXItYnV0dG9uLW5leHQuc3dpcGVyLWJ1dHRvbi13aGl0ZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImRhdGE6aW1hZ2Uvc3ZnK3htbDtjaGFyc2V0PXV0Zi04LCUzQ3N2ZyUyMHhtbG5zJTNEJ2h0dHAlM0ElMkYlMkZ3d3cudzMub3JnJTJGMjAwMCUyRnN2ZyclMjB2aWV3Qm94JTNEJzAlMjAwJTIwMjclMjA0NCclM0UlM0NwYXRoJTIwZCUzRCdNMCUyQzIyTDIyJTJDMGwyLjElMkMyLjFMNC4yJTJDMjJsMTkuOSUyQzE5LjlMMjIlMkM0NEwwJTJDMjJMMCUyQzIyTDAlMkMyMnonJTIwZmlsbCUzRCclMjNmZmZmZmYnJTJGJTNFJTNDJTJGc3ZnJTNFXCIpOyB9XG5cbi5zd2lwZXItYnV0dG9uLW5leHQsXG4uc3dpcGVyLWNvbnRhaW5lci1ydGwgLnN3aXBlci1idXR0b24tcHJldiB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImRhdGE6aW1hZ2Uvc3ZnK3htbDtjaGFyc2V0PXV0Zi04LCUzQ3N2ZyUyMHhtbG5zJTNEJ2h0dHAlM0ElMkYlMkZ3d3cudzMub3JnJTJGMjAwMCUyRnN2ZyclMjB2aWV3Qm94JTNEJzAlMjAwJTIwMjclMjA0NCclM0UlM0NwYXRoJTIwZCUzRCdNMjclMkMyMkwyNyUyQzIyTDUlMkM0NGwtMi4xLTIuMUwyMi44JTJDMjJMMi45JTJDMi4xTDUlMkMwTDI3JTJDMjJMMjclMkMyMnonJTIwZmlsbCUzRCclMjMwMDdhZmYnJTJGJTNFJTNDJTJGc3ZnJTNFXCIpO1xuICByaWdodDogMTBweDtcbiAgbGVmdDogYXV0bzsgfVxuXG4uc3dpcGVyLWJ1dHRvbi1uZXh0LnN3aXBlci1idXR0b24tYmxhY2ssXG4uc3dpcGVyLWNvbnRhaW5lci1ydGwgLnN3aXBlci1idXR0b24tcHJldi5zd2lwZXItYnV0dG9uLWJsYWNrIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiZGF0YTppbWFnZS9zdmcreG1sO2NoYXJzZXQ9dXRmLTgsJTNDc3ZnJTIweG1sbnMlM0QnaHR0cCUzQSUyRiUyRnd3dy53My5vcmclMkYyMDAwJTJGc3ZnJyUyMHZpZXdCb3glM0QnMCUyMDAlMjAyNyUyMDQ0JyUzRSUzQ3BhdGglMjBkJTNEJ00yNyUyQzIyTDI3JTJDMjJMNSUyQzQ0bC0yLjEtMi4xTDIyLjglMkMyMkwyLjklMkMyLjFMNSUyQzBMMjclMkMyMkwyNyUyQzIyeiclMjBmaWxsJTNEJyUyMzAwMDAwMCclMkYlM0UlM0MlMkZzdmclM0VcIik7IH1cblxuLnN3aXBlci1idXR0b24tbmV4dC5zd2lwZXItYnV0dG9uLXdoaXRlLFxuLnN3aXBlci1jb250YWluZXItcnRsIC5zd2lwZXItYnV0dG9uLXByZXYuc3dpcGVyLWJ1dHRvbi13aGl0ZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImRhdGE6aW1hZ2Uvc3ZnK3htbDtjaGFyc2V0PXV0Zi04LCUzQ3N2ZyUyMHhtbG5zJTNEJ2h0dHAlM0ElMkYlMkZ3d3cudzMub3JnJTJGMjAwMCUyRnN2ZyclMjB2aWV3Qm94JTNEJzAlMjAwJTIwMjclMjA0NCclM0UlM0NwYXRoJTIwZCUzRCdNMjclMkMyMkwyNyUyQzIyTDUlMkM0NGwtMi4xLTIuMUwyMi44JTJDMjJMMi45JTJDMi4xTDUlMkMwTDI3JTJDMjJMMjclMkMyMnonJTIwZmlsbCUzRCclMjNmZmZmZmYnJTJGJTNFJTNDJTJGc3ZnJTNFXCIpOyB9XG5cbi8qIFBhZ2luYXRpb24gU3R5bGVzICovXG4uc3dpcGVyLXBhZ2luYXRpb24ge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgLXdlYmtpdC10cmFuc2l0aW9uOiAzMDBtcztcbiAgLW1vei10cmFuc2l0aW9uOiAzMDBtcztcbiAgLW8tdHJhbnNpdGlvbjogMzAwbXM7XG4gIHRyYW5zaXRpb246IDMwMG1zO1xuICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gIC1tcy10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICAtby10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICB6LWluZGV4OiAxMDsgfVxuXG4uc3dpcGVyLXBhZ2luYXRpb24uc3dpcGVyLXBhZ2luYXRpb24taGlkZGVuIHtcbiAgb3BhY2l0eTogMDsgfVxuXG4vKiBDb21tb24gU3R5bGVzICovXG4uc3dpcGVyLXBhZ2luYXRpb24tZnJhY3Rpb24sXG4uc3dpcGVyLXBhZ2luYXRpb24tY3VzdG9tLFxuLnN3aXBlci1jb250YWluZXItaG9yaXpvbnRhbCA+IC5zd2lwZXItcGFnaW5hdGlvbi1idWxsZXRzIHtcbiAgYm90dG9tOiAxMHB4O1xuICBsZWZ0OiAwO1xuICB3aWR0aDogMTAwJTsgfVxuXG4vKiBCdWxsZXRzICovXG4uc3dpcGVyLXBhZ2luYXRpb24tYnVsbGV0IHtcbiAgd2lkdGg6IDhweDtcbiAgaGVpZ2h0OiA4cHg7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgYm9yZGVyLXJhZGl1czogMTAwJTtcbiAgYmFja2dyb3VuZDogIzAwMDtcbiAgb3BhY2l0eTogMC4yOyB9XG5cbmJ1dHRvbi5zd2lwZXItcGFnaW5hdGlvbi1idWxsZXQge1xuICBib3JkZXI6IG5vbmU7XG4gIG1hcmdpbjogMDtcbiAgcGFkZGluZzogMDtcbiAgYm94LXNoYWRvdzogbm9uZTtcbiAgLW1vei1hcHBlYXJhbmNlOiBub25lO1xuICAtbXMtYXBwZWFyYW5jZTogbm9uZTtcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lO1xuICBhcHBlYXJhbmNlOiBub25lOyB9XG5cbi5zd2lwZXItcGFnaW5hdGlvbi1jbGlja2FibGUgLnN3aXBlci1wYWdpbmF0aW9uLWJ1bGxldCB7XG4gIGN1cnNvcjogcG9pbnRlcjsgfVxuXG4uc3dpcGVyLXBhZ2luYXRpb24td2hpdGUgLnN3aXBlci1wYWdpbmF0aW9uLWJ1bGxldCB7XG4gIGJhY2tncm91bmQ6ICNmZmY7IH1cblxuLnN3aXBlci1wYWdpbmF0aW9uLWJ1bGxldC1hY3RpdmUge1xuICBvcGFjaXR5OiAxO1xuICBiYWNrZ3JvdW5kOiAjMDA3YWZmOyB9XG5cbi5zd2lwZXItcGFnaW5hdGlvbi13aGl0ZSAuc3dpcGVyLXBhZ2luYXRpb24tYnVsbGV0LWFjdGl2ZSB7XG4gIGJhY2tncm91bmQ6ICNmZmY7IH1cblxuLnN3aXBlci1wYWdpbmF0aW9uLWJsYWNrIC5zd2lwZXItcGFnaW5hdGlvbi1idWxsZXQtYWN0aXZlIHtcbiAgYmFja2dyb3VuZDogIzAwMDsgfVxuXG4uc3dpcGVyLWNvbnRhaW5lci12ZXJ0aWNhbCA+IC5zd2lwZXItcGFnaW5hdGlvbi1idWxsZXRzIHtcbiAgcmlnaHQ6IDEwcHg7XG4gIHRvcDogNTAlO1xuICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMHB4LCAtNTAlLCAwKTtcbiAgLW1vei10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDBweCwgLTUwJSwgMCk7XG4gIC1vLXRyYW5zZm9ybTogdHJhbnNsYXRlKDBweCwgLTUwJSk7XG4gIC1tcy10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDBweCwgLTUwJSwgMCk7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMHB4LCAtNTAlLCAwKTsgfVxuXG4uc3dpcGVyLWNvbnRhaW5lci12ZXJ0aWNhbCA+IC5zd2lwZXItcGFnaW5hdGlvbi1idWxsZXRzIC5zd2lwZXItcGFnaW5hdGlvbi1idWxsZXQge1xuICBtYXJnaW46IDVweCAwO1xuICBkaXNwbGF5OiBibG9jazsgfVxuXG4uc3dpcGVyLWNvbnRhaW5lci1ob3Jpem9udGFsID4gLnN3aXBlci1wYWdpbmF0aW9uLWJ1bGxldHMgLnN3aXBlci1wYWdpbmF0aW9uLWJ1bGxldCB7XG4gIG1hcmdpbjogMCA1cHg7IH1cblxuLyogUHJvZ3Jlc3MgKi9cbi5zd2lwZXItcGFnaW5hdGlvbi1wcm9ncmVzcyB7XG4gIGJhY2tncm91bmQ6IHJnYmEoMCwgMCwgMCwgMC4yNSk7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTsgfVxuXG4uc3dpcGVyLXBhZ2luYXRpb24tcHJvZ3Jlc3MgLnN3aXBlci1wYWdpbmF0aW9uLXByb2dyZXNzYmFyIHtcbiAgYmFja2dyb3VuZDogIzAwN2FmZjtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBsZWZ0OiAwO1xuICB0b3A6IDA7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IDEwMCU7XG4gIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZSgwKTtcbiAgLW1zLXRyYW5zZm9ybTogc2NhbGUoMCk7XG4gIC1vLXRyYW5zZm9ybTogc2NhbGUoMCk7XG4gIHRyYW5zZm9ybTogc2NhbGUoMCk7XG4gIC13ZWJraXQtdHJhbnNmb3JtLW9yaWdpbjogbGVmdCB0b3A7XG4gIC1tb3otdHJhbnNmb3JtLW9yaWdpbjogbGVmdCB0b3A7XG4gIC1tcy10cmFuc2Zvcm0tb3JpZ2luOiBsZWZ0IHRvcDtcbiAgLW8tdHJhbnNmb3JtLW9yaWdpbjogbGVmdCB0b3A7XG4gIHRyYW5zZm9ybS1vcmlnaW46IGxlZnQgdG9wOyB9XG5cbi5zd2lwZXItY29udGFpbmVyLXJ0bCAuc3dpcGVyLXBhZ2luYXRpb24tcHJvZ3Jlc3MgLnN3aXBlci1wYWdpbmF0aW9uLXByb2dyZXNzYmFyIHtcbiAgLXdlYmtpdC10cmFuc2Zvcm0tb3JpZ2luOiByaWdodCB0b3A7XG4gIC1tb3otdHJhbnNmb3JtLW9yaWdpbjogcmlnaHQgdG9wO1xuICAtbXMtdHJhbnNmb3JtLW9yaWdpbjogcmlnaHQgdG9wO1xuICAtby10cmFuc2Zvcm0tb3JpZ2luOiByaWdodCB0b3A7XG4gIHRyYW5zZm9ybS1vcmlnaW46IHJpZ2h0IHRvcDsgfVxuXG4uc3dpcGVyLWNvbnRhaW5lci1ob3Jpem9udGFsID4gLnN3aXBlci1wYWdpbmF0aW9uLXByb2dyZXNzIHtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogNHB4O1xuICBsZWZ0OiAwO1xuICB0b3A6IDA7IH1cblxuLnN3aXBlci1jb250YWluZXItdmVydGljYWwgPiAuc3dpcGVyLXBhZ2luYXRpb24tcHJvZ3Jlc3Mge1xuICB3aWR0aDogNHB4O1xuICBoZWlnaHQ6IDEwMCU7XG4gIGxlZnQ6IDA7XG4gIHRvcDogMDsgfVxuXG4uc3dpcGVyLXBhZ2luYXRpb24tcHJvZ3Jlc3Muc3dpcGVyLXBhZ2luYXRpb24td2hpdGUge1xuICBiYWNrZ3JvdW5kOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuNSk7IH1cblxuLnN3aXBlci1wYWdpbmF0aW9uLXByb2dyZXNzLnN3aXBlci1wYWdpbmF0aW9uLXdoaXRlIC5zd2lwZXItcGFnaW5hdGlvbi1wcm9ncmVzc2JhciB7XG4gIGJhY2tncm91bmQ6ICNmZmY7IH1cblxuLnN3aXBlci1wYWdpbmF0aW9uLXByb2dyZXNzLnN3aXBlci1wYWdpbmF0aW9uLWJsYWNrIC5zd2lwZXItcGFnaW5hdGlvbi1wcm9ncmVzc2JhciB7XG4gIGJhY2tncm91bmQ6ICMwMDA7IH1cblxuLyogM0QgQ29udGFpbmVyICovXG4uc3dpcGVyLWNvbnRhaW5lci0zZCB7XG4gIC13ZWJraXQtcGVyc3BlY3RpdmU6IDEyMDBweDtcbiAgLW1vei1wZXJzcGVjdGl2ZTogMTIwMHB4O1xuICAtby1wZXJzcGVjdGl2ZTogMTIwMHB4O1xuICBwZXJzcGVjdGl2ZTogMTIwMHB4OyB9XG5cbi5zd2lwZXItY29udGFpbmVyLTNkIC5zd2lwZXItd3JhcHBlcixcbi5zd2lwZXItY29udGFpbmVyLTNkIC5zd2lwZXItc2xpZGUsXG4uc3dpcGVyLWNvbnRhaW5lci0zZCAuc3dpcGVyLXNsaWRlLXNoYWRvdy1sZWZ0LFxuLnN3aXBlci1jb250YWluZXItM2QgLnN3aXBlci1zbGlkZS1zaGFkb3ctcmlnaHQsXG4uc3dpcGVyLWNvbnRhaW5lci0zZCAuc3dpcGVyLXNsaWRlLXNoYWRvdy10b3AsXG4uc3dpcGVyLWNvbnRhaW5lci0zZCAuc3dpcGVyLXNsaWRlLXNoYWRvdy1ib3R0b20sXG4uc3dpcGVyLWNvbnRhaW5lci0zZCAuc3dpcGVyLWN1YmUtc2hhZG93IHtcbiAgLXdlYmtpdC10cmFuc2Zvcm0tc3R5bGU6IHByZXNlcnZlLTNkO1xuICAtbW96LXRyYW5zZm9ybS1zdHlsZTogcHJlc2VydmUtM2Q7XG4gIC1tcy10cmFuc2Zvcm0tc3R5bGU6IHByZXNlcnZlLTNkO1xuICB0cmFuc2Zvcm0tc3R5bGU6IHByZXNlcnZlLTNkOyB9XG5cbi5zd2lwZXItY29udGFpbmVyLTNkIC5zd2lwZXItc2xpZGUtc2hhZG93LWxlZnQsXG4uc3dpcGVyLWNvbnRhaW5lci0zZCAuc3dpcGVyLXNsaWRlLXNoYWRvdy1yaWdodCxcbi5zd2lwZXItY29udGFpbmVyLTNkIC5zd2lwZXItc2xpZGUtc2hhZG93LXRvcCxcbi5zd2lwZXItY29udGFpbmVyLTNkIC5zd2lwZXItc2xpZGUtc2hhZG93LWJvdHRvbSB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgbGVmdDogMDtcbiAgdG9wOiAwO1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAxMDAlO1xuICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgei1pbmRleDogMTA7IH1cblxuLnN3aXBlci1jb250YWluZXItM2QgLnN3aXBlci1zbGlkZS1zaGFkb3ctbGVmdCB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IC13ZWJraXQtZ3JhZGllbnQobGluZWFyLCBsZWZ0IHRvcCwgcmlnaHQgdG9wLCBmcm9tKHJnYmEoMCwgMCwgMCwgMC41KSksIHRvKHRyYW5zcGFyZW50KSk7XG4gIC8qIFNhZmFyaSA0KywgQ2hyb21lICovXG4gIGJhY2tncm91bmQtaW1hZ2U6IC13ZWJraXQtbGluZWFyLWdyYWRpZW50KHJpZ2h0LCByZ2JhKDAsIDAsIDAsIDAuNSksIHRyYW5zcGFyZW50KTtcbiAgLyogQ2hyb21lIDEwKywgU2FmYXJpIDUuMSssIGlPUyA1KyAqL1xuICBiYWNrZ3JvdW5kLWltYWdlOiAtbW96LWxpbmVhci1ncmFkaWVudChyaWdodCwgcmdiYSgwLCAwLCAwLCAwLjUpLCB0cmFuc3BhcmVudCk7XG4gIC8qIEZpcmVmb3ggMy42LTE1ICovXG4gIGJhY2tncm91bmQtaW1hZ2U6IC1vLWxpbmVhci1ncmFkaWVudChyaWdodCwgcmdiYSgwLCAwLCAwLCAwLjUpLCB0cmFuc3BhcmVudCk7XG4gIC8qIE9wZXJhIDExLjEwLTEyLjAwICovXG4gIGJhY2tncm91bmQtaW1hZ2U6IGxpbmVhci1ncmFkaWVudCh0byBsZWZ0LCByZ2JhKDAsIDAsIDAsIDAuNSksIHRyYW5zcGFyZW50KTtcbiAgLyogRmlyZWZveCAxNissIElFMTAsIE9wZXJhIDEyLjUwKyAqLyB9XG5cbi5zd2lwZXItY29udGFpbmVyLTNkIC5zd2lwZXItc2xpZGUtc2hhZG93LXJpZ2h0IHtcbiAgYmFja2dyb3VuZC1pbWFnZTogLXdlYmtpdC1ncmFkaWVudChsaW5lYXIsIHJpZ2h0IHRvcCwgbGVmdCB0b3AsIGZyb20ocmdiYSgwLCAwLCAwLCAwLjUpKSwgdG8odHJhbnNwYXJlbnQpKTtcbiAgLyogU2FmYXJpIDQrLCBDaHJvbWUgKi9cbiAgYmFja2dyb3VuZC1pbWFnZTogLXdlYmtpdC1saW5lYXItZ3JhZGllbnQobGVmdCwgcmdiYSgwLCAwLCAwLCAwLjUpLCB0cmFuc3BhcmVudCk7XG4gIC8qIENocm9tZSAxMCssIFNhZmFyaSA1LjErLCBpT1MgNSsgKi9cbiAgYmFja2dyb3VuZC1pbWFnZTogLW1vei1saW5lYXItZ3JhZGllbnQobGVmdCwgcmdiYSgwLCAwLCAwLCAwLjUpLCB0cmFuc3BhcmVudCk7XG4gIC8qIEZpcmVmb3ggMy42LTE1ICovXG4gIGJhY2tncm91bmQtaW1hZ2U6IC1vLWxpbmVhci1ncmFkaWVudChsZWZ0LCByZ2JhKDAsIDAsIDAsIDAuNSksIHRyYW5zcGFyZW50KTtcbiAgLyogT3BlcmEgMTEuMTAtMTIuMDAgKi9cbiAgYmFja2dyb3VuZC1pbWFnZTogbGluZWFyLWdyYWRpZW50KHRvIHJpZ2h0LCByZ2JhKDAsIDAsIDAsIDAuNSksIHRyYW5zcGFyZW50KTtcbiAgLyogRmlyZWZveCAxNissIElFMTAsIE9wZXJhIDEyLjUwKyAqLyB9XG5cbi5zd2lwZXItY29udGFpbmVyLTNkIC5zd2lwZXItc2xpZGUtc2hhZG93LXRvcCB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IC13ZWJraXQtZ3JhZGllbnQobGluZWFyLCBsZWZ0IHRvcCwgbGVmdCBib3R0b20sIGZyb20ocmdiYSgwLCAwLCAwLCAwLjUpKSwgdG8odHJhbnNwYXJlbnQpKTtcbiAgLyogU2FmYXJpIDQrLCBDaHJvbWUgKi9cbiAgYmFja2dyb3VuZC1pbWFnZTogLXdlYmtpdC1saW5lYXItZ3JhZGllbnQoYm90dG9tLCByZ2JhKDAsIDAsIDAsIDAuNSksIHRyYW5zcGFyZW50KTtcbiAgLyogQ2hyb21lIDEwKywgU2FmYXJpIDUuMSssIGlPUyA1KyAqL1xuICBiYWNrZ3JvdW5kLWltYWdlOiAtbW96LWxpbmVhci1ncmFkaWVudChib3R0b20sIHJnYmEoMCwgMCwgMCwgMC41KSwgdHJhbnNwYXJlbnQpO1xuICAvKiBGaXJlZm94IDMuNi0xNSAqL1xuICBiYWNrZ3JvdW5kLWltYWdlOiAtby1saW5lYXItZ3JhZGllbnQoYm90dG9tLCByZ2JhKDAsIDAsIDAsIDAuNSksIHRyYW5zcGFyZW50KTtcbiAgLyogT3BlcmEgMTEuMTAtMTIuMDAgKi9cbiAgYmFja2dyb3VuZC1pbWFnZTogbGluZWFyLWdyYWRpZW50KHRvIHRvcCwgcmdiYSgwLCAwLCAwLCAwLjUpLCB0cmFuc3BhcmVudCk7XG4gIC8qIEZpcmVmb3ggMTYrLCBJRTEwLCBPcGVyYSAxMi41MCsgKi8gfVxuXG4uc3dpcGVyLWNvbnRhaW5lci0zZCAuc3dpcGVyLXNsaWRlLXNoYWRvdy1ib3R0b20ge1xuICBiYWNrZ3JvdW5kLWltYWdlOiAtd2Via2l0LWdyYWRpZW50KGxpbmVhciwgbGVmdCBib3R0b20sIGxlZnQgdG9wLCBmcm9tKHJnYmEoMCwgMCwgMCwgMC41KSksIHRvKHRyYW5zcGFyZW50KSk7XG4gIC8qIFNhZmFyaSA0KywgQ2hyb21lICovXG4gIGJhY2tncm91bmQtaW1hZ2U6IC13ZWJraXQtbGluZWFyLWdyYWRpZW50KHRvcCwgcmdiYSgwLCAwLCAwLCAwLjUpLCB0cmFuc3BhcmVudCk7XG4gIC8qIENocm9tZSAxMCssIFNhZmFyaSA1LjErLCBpT1MgNSsgKi9cbiAgYmFja2dyb3VuZC1pbWFnZTogLW1vei1saW5lYXItZ3JhZGllbnQodG9wLCByZ2JhKDAsIDAsIDAsIDAuNSksIHRyYW5zcGFyZW50KTtcbiAgLyogRmlyZWZveCAzLjYtMTUgKi9cbiAgYmFja2dyb3VuZC1pbWFnZTogLW8tbGluZWFyLWdyYWRpZW50KHRvcCwgcmdiYSgwLCAwLCAwLCAwLjUpLCB0cmFuc3BhcmVudCk7XG4gIC8qIE9wZXJhIDExLjEwLTEyLjAwICovXG4gIGJhY2tncm91bmQtaW1hZ2U6IGxpbmVhci1ncmFkaWVudCh0byBib3R0b20sIHJnYmEoMCwgMCwgMCwgMC41KSwgdHJhbnNwYXJlbnQpO1xuICAvKiBGaXJlZm94IDE2KywgSUUxMCwgT3BlcmEgMTIuNTArICovIH1cblxuLyogQ292ZXJmbG93ICovXG4uc3dpcGVyLWNvbnRhaW5lci1jb3ZlcmZsb3cgLnN3aXBlci13cmFwcGVyLFxuLnN3aXBlci1jb250YWluZXItZmxpcCAuc3dpcGVyLXdyYXBwZXIge1xuICAvKiBXaW5kb3dzIDggSUUgMTAgZml4ICovXG4gIC1tcy1wZXJzcGVjdGl2ZTogMTIwMHB4OyB9XG5cbi8qIEN1YmUgKyBGbGlwICovXG4uc3dpcGVyLWNvbnRhaW5lci1jdWJlLFxuLnN3aXBlci1jb250YWluZXItZmxpcCB7XG4gIG92ZXJmbG93OiB2aXNpYmxlOyB9XG5cbi5zd2lwZXItY29udGFpbmVyLWN1YmUgLnN3aXBlci1zbGlkZSxcbi5zd2lwZXItY29udGFpbmVyLWZsaXAgLnN3aXBlci1zbGlkZSB7XG4gIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICAtd2Via2l0LWJhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlbjtcbiAgLW1vei1iYWNrZmFjZS12aXNpYmlsaXR5OiBoaWRkZW47XG4gIC1tcy1iYWNrZmFjZS12aXNpYmlsaXR5OiBoaWRkZW47XG4gIGJhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlbjtcbiAgei1pbmRleDogMTsgfVxuXG4uc3dpcGVyLWNvbnRhaW5lci1jdWJlIC5zd2lwZXItc2xpZGUgLnN3aXBlci1zbGlkZSxcbi5zd2lwZXItY29udGFpbmVyLWZsaXAgLnN3aXBlci1zbGlkZSAuc3dpcGVyLXNsaWRlIHtcbiAgcG9pbnRlci1ldmVudHM6IG5vbmU7IH1cblxuLnN3aXBlci1jb250YWluZXItY3ViZSAuc3dpcGVyLXNsaWRlLWFjdGl2ZSxcbi5zd2lwZXItY29udGFpbmVyLWZsaXAgLnN3aXBlci1zbGlkZS1hY3RpdmUsXG4uc3dpcGVyLWNvbnRhaW5lci1jdWJlIC5zd2lwZXItc2xpZGUtYWN0aXZlIC5zd2lwZXItc2xpZGUtYWN0aXZlLFxuLnN3aXBlci1jb250YWluZXItZmxpcCAuc3dpcGVyLXNsaWRlLWFjdGl2ZSAuc3dpcGVyLXNsaWRlLWFjdGl2ZSB7XG4gIHBvaW50ZXItZXZlbnRzOiBhdXRvOyB9XG5cbi5zd2lwZXItY29udGFpbmVyLWN1YmUgLnN3aXBlci1zbGlkZS1zaGFkb3ctdG9wLFxuLnN3aXBlci1jb250YWluZXItZmxpcCAuc3dpcGVyLXNsaWRlLXNoYWRvdy10b3AsXG4uc3dpcGVyLWNvbnRhaW5lci1jdWJlIC5zd2lwZXItc2xpZGUtc2hhZG93LWJvdHRvbSxcbi5zd2lwZXItY29udGFpbmVyLWZsaXAgLnN3aXBlci1zbGlkZS1zaGFkb3ctYm90dG9tLFxuLnN3aXBlci1jb250YWluZXItY3ViZSAuc3dpcGVyLXNsaWRlLXNoYWRvdy1sZWZ0LFxuLnN3aXBlci1jb250YWluZXItZmxpcCAuc3dpcGVyLXNsaWRlLXNoYWRvdy1sZWZ0LFxuLnN3aXBlci1jb250YWluZXItY3ViZSAuc3dpcGVyLXNsaWRlLXNoYWRvdy1yaWdodCxcbi5zd2lwZXItY29udGFpbmVyLWZsaXAgLnN3aXBlci1zbGlkZS1zaGFkb3ctcmlnaHQge1xuICB6LWluZGV4OiAwO1xuICAtd2Via2l0LWJhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlbjtcbiAgLW1vei1iYWNrZmFjZS12aXNpYmlsaXR5OiBoaWRkZW47XG4gIC1tcy1iYWNrZmFjZS12aXNpYmlsaXR5OiBoaWRkZW47XG4gIGJhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlbjsgfVxuXG4vKiBDdWJlICovXG4uc3dpcGVyLWNvbnRhaW5lci1jdWJlIC5zd2lwZXItc2xpZGUge1xuICB2aXNpYmlsaXR5OiBoaWRkZW47XG4gIC13ZWJraXQtdHJhbnNmb3JtLW9yaWdpbjogMCAwO1xuICAtbW96LXRyYW5zZm9ybS1vcmlnaW46IDAgMDtcbiAgLW1zLXRyYW5zZm9ybS1vcmlnaW46IDAgMDtcbiAgdHJhbnNmb3JtLW9yaWdpbjogMCAwO1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAxMDAlOyB9XG5cbi5zd2lwZXItY29udGFpbmVyLWN1YmUuc3dpcGVyLWNvbnRhaW5lci1ydGwgLnN3aXBlci1zbGlkZSB7XG4gIC13ZWJraXQtdHJhbnNmb3JtLW9yaWdpbjogMTAwJSAwO1xuICAtbW96LXRyYW5zZm9ybS1vcmlnaW46IDEwMCUgMDtcbiAgLW1zLXRyYW5zZm9ybS1vcmlnaW46IDEwMCUgMDtcbiAgdHJhbnNmb3JtLW9yaWdpbjogMTAwJSAwOyB9XG5cbi5zd2lwZXItY29udGFpbmVyLWN1YmUgLnN3aXBlci1zbGlkZS1hY3RpdmUsXG4uc3dpcGVyLWNvbnRhaW5lci1jdWJlIC5zd2lwZXItc2xpZGUtbmV4dCxcbi5zd2lwZXItY29udGFpbmVyLWN1YmUgLnN3aXBlci1zbGlkZS1wcmV2LFxuLnN3aXBlci1jb250YWluZXItY3ViZSAuc3dpcGVyLXNsaWRlLW5leHQgKyAuc3dpcGVyLXNsaWRlIHtcbiAgcG9pbnRlci1ldmVudHM6IGF1dG87XG4gIHZpc2liaWxpdHk6IHZpc2libGU7IH1cblxuLnN3aXBlci1jb250YWluZXItY3ViZSAuc3dpcGVyLWN1YmUtc2hhZG93IHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBsZWZ0OiAwO1xuICBib3R0b206IDBweDtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogMTAwJTtcbiAgYmFja2dyb3VuZDogIzAwMDtcbiAgb3BhY2l0eTogMC42O1xuICAtd2Via2l0LWZpbHRlcjogYmx1cig1MHB4KTtcbiAgZmlsdGVyOiBibHVyKDUwcHgpO1xuICB6LWluZGV4OiAwOyB9XG5cbi8qIEZhZGUgKi9cbi5zd2lwZXItY29udGFpbmVyLWZhZGUuc3dpcGVyLWNvbnRhaW5lci1mcmVlLW1vZGUgLnN3aXBlci1zbGlkZSB7XG4gIC13ZWJraXQtdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2Utb3V0O1xuICAtbW96LXRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLW91dDtcbiAgLW1zLXRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLW91dDtcbiAgLW8tdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2Utb3V0O1xuICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1vdXQ7IH1cblxuLnN3aXBlci1jb250YWluZXItZmFkZSAuc3dpcGVyLXNsaWRlIHtcbiAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gIC13ZWJraXQtdHJhbnNpdGlvbi1wcm9wZXJ0eTogb3BhY2l0eTtcbiAgLW1vei10cmFuc2l0aW9uLXByb3BlcnR5OiBvcGFjaXR5O1xuICAtby10cmFuc2l0aW9uLXByb3BlcnR5OiBvcGFjaXR5O1xuICB0cmFuc2l0aW9uLXByb3BlcnR5OiBvcGFjaXR5OyB9XG5cbi5zd2lwZXItY29udGFpbmVyLWZhZGUgLnN3aXBlci1zbGlkZSAuc3dpcGVyLXNsaWRlIHtcbiAgcG9pbnRlci1ldmVudHM6IG5vbmU7IH1cblxuLnN3aXBlci1jb250YWluZXItZmFkZSAuc3dpcGVyLXNsaWRlLWFjdGl2ZSxcbi5zd2lwZXItY29udGFpbmVyLWZhZGUgLnN3aXBlci1zbGlkZS1hY3RpdmUgLnN3aXBlci1zbGlkZS1hY3RpdmUge1xuICBwb2ludGVyLWV2ZW50czogYXV0bzsgfVxuXG4uc3dpcGVyLXpvb20tY29udGFpbmVyIHtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogMTAwJTtcbiAgZGlzcGxheTogLXdlYmtpdC1ib3g7XG4gIGRpc3BsYXk6IC1tb3otYm94O1xuICBkaXNwbGF5OiAtbXMtZmxleGJveDtcbiAgZGlzcGxheTogLXdlYmtpdC1mbGV4O1xuICBkaXNwbGF5OiBmbGV4O1xuICAtd2Via2l0LWJveC1wYWNrOiBjZW50ZXI7XG4gIC1tb3otYm94LXBhY2s6IGNlbnRlcjtcbiAgLW1zLWZsZXgtcGFjazogY2VudGVyO1xuICAtd2Via2l0LWp1c3RpZnktY29udGVudDogY2VudGVyO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgLXdlYmtpdC1ib3gtYWxpZ246IGNlbnRlcjtcbiAgLW1vei1ib3gtYWxpZ246IGNlbnRlcjtcbiAgLW1zLWZsZXgtYWxpZ246IGNlbnRlcjtcbiAgLXdlYmtpdC1hbGlnbi1pdGVtczogY2VudGVyO1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7IH1cblxuLnN3aXBlci16b29tLWNvbnRhaW5lciA+IGltZyxcbi5zd2lwZXItem9vbS1jb250YWluZXIgPiBzdmcsXG4uc3dpcGVyLXpvb20tY29udGFpbmVyID4gY2FudmFzIHtcbiAgbWF4LXdpZHRoOiAxMDAlO1xuICBtYXgtaGVpZ2h0OiAxMDAlO1xuICBvYmplY3QtZml0OiBjb250YWluOyB9XG5cbi8qIFNjcm9sbGJhciAqL1xuLnN3aXBlci1zY3JvbGxiYXIge1xuICBib3JkZXItcmFkaXVzOiAxMHB4O1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIC1tcy10b3VjaC1hY3Rpb246IG5vbmU7XG4gIGJhY2tncm91bmQ6IHJnYmEoMCwgMCwgMCwgMC4xKTsgfVxuXG4uc3dpcGVyLWNvbnRhaW5lci1ob3Jpem9udGFsID4gLnN3aXBlci1zY3JvbGxiYXIge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGxlZnQ6IDElO1xuICBib3R0b206IDNweDtcbiAgei1pbmRleDogNTA7XG4gIGhlaWdodDogNXB4O1xuICB3aWR0aDogOTglOyB9XG5cbi5zd2lwZXItY29udGFpbmVyLXZlcnRpY2FsID4gLnN3aXBlci1zY3JvbGxiYXIge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHJpZ2h0OiAzcHg7XG4gIHRvcDogMSU7XG4gIHotaW5kZXg6IDUwO1xuICB3aWR0aDogNXB4O1xuICBoZWlnaHQ6IDk4JTsgfVxuXG4uc3dpcGVyLXNjcm9sbGJhci1kcmFnIHtcbiAgaGVpZ2h0OiAxMDAlO1xuICB3aWR0aDogMTAwJTtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBiYWNrZ3JvdW5kOiByZ2JhKDAsIDAsIDAsIDAuNSk7XG4gIGJvcmRlci1yYWRpdXM6IDEwcHg7XG4gIGxlZnQ6IDA7XG4gIHRvcDogMDsgfVxuXG4uc3dpcGVyLXNjcm9sbGJhci1jdXJzb3ItZHJhZyB7XG4gIGN1cnNvcjogbW92ZTsgfVxuXG4vKiBQcmVsb2FkZXIgKi9cbi5zd2lwZXItbGF6eS1wcmVsb2FkZXIge1xuICB3aWR0aDogNDJweDtcbiAgaGVpZ2h0OiA0MnB4O1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGxlZnQ6IDUwJTtcbiAgdG9wOiA1MCU7XG4gIG1hcmdpbi1sZWZ0OiAtMjFweDtcbiAgbWFyZ2luLXRvcDogLTIxcHg7XG4gIHotaW5kZXg6IDEwO1xuICAtd2Via2l0LXRyYW5zZm9ybS1vcmlnaW46IDUwJTtcbiAgLW1vei10cmFuc2Zvcm0tb3JpZ2luOiA1MCU7XG4gIHRyYW5zZm9ybS1vcmlnaW46IDUwJTtcbiAgLXdlYmtpdC1hbmltYXRpb246IHN3aXBlci1wcmVsb2FkZXItc3BpbiAxcyBzdGVwcygxMiwgZW5kKSBpbmZpbml0ZTtcbiAgLW1vei1hbmltYXRpb246IHN3aXBlci1wcmVsb2FkZXItc3BpbiAxcyBzdGVwcygxMiwgZW5kKSBpbmZpbml0ZTtcbiAgYW5pbWF0aW9uOiBzd2lwZXItcHJlbG9hZGVyLXNwaW4gMXMgc3RlcHMoMTIsIGVuZCkgaW5maW5pdGU7IH1cblxuLnN3aXBlci1sYXp5LXByZWxvYWRlcjphZnRlciB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBjb250ZW50OiBcIlwiO1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAxMDAlO1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJkYXRhOmltYWdlL3N2Zyt4bWw7Y2hhcnNldD11dGYtOCwlM0NzdmclMjB2aWV3Qm94JTNEJzAlMjAwJTIwMTIwJTIwMTIwJyUyMHhtbG5zJTNEJ2h0dHAlM0ElMkYlMkZ3d3cudzMub3JnJTJGMjAwMCUyRnN2ZyclMjB4bWxucyUzQXhsaW5rJTNEJ2h0dHAlM0ElMkYlMkZ3d3cudzMub3JnJTJGMTk5OSUyRnhsaW5rJyUzRSUzQ2RlZnMlM0UlM0NsaW5lJTIwaWQlM0QnbCclMjB4MSUzRCc2MCclMjB4MiUzRCc2MCclMjB5MSUzRCc3JyUyMHkyJTNEJzI3JyUyMHN0cm9rZSUzRCclMjM2YzZjNmMnJTIwc3Ryb2tlLXdpZHRoJTNEJzExJyUyMHN0cm9rZS1saW5lY2FwJTNEJ3JvdW5kJyUyRiUzRSUzQyUyRmRlZnMlM0UlM0NnJTNFJTNDdXNlJTIweGxpbmslM0FocmVmJTNEJyUyM2wnJTIwb3BhY2l0eSUzRCcuMjcnJTJGJTNFJTNDdXNlJTIweGxpbmslM0FocmVmJTNEJyUyM2wnJTIwb3BhY2l0eSUzRCcuMjcnJTIwdHJhbnNmb3JtJTNEJ3JvdGF0ZSgzMCUyMDYwJTJDNjApJyUyRiUzRSUzQ3VzZSUyMHhsaW5rJTNBaHJlZiUzRCclMjNsJyUyMG9wYWNpdHklM0QnLjI3JyUyMHRyYW5zZm9ybSUzRCdyb3RhdGUoNjAlMjA2MCUyQzYwKSclMkYlM0UlM0N1c2UlMjB4bGluayUzQWhyZWYlM0QnJTIzbCclMjBvcGFjaXR5JTNEJy4yNyclMjB0cmFuc2Zvcm0lM0Qncm90YXRlKDkwJTIwNjAlMkM2MCknJTJGJTNFJTNDdXNlJTIweGxpbmslM0FocmVmJTNEJyUyM2wnJTIwb3BhY2l0eSUzRCcuMjcnJTIwdHJhbnNmb3JtJTNEJ3JvdGF0ZSgxMjAlMjA2MCUyQzYwKSclMkYlM0UlM0N1c2UlMjB4bGluayUzQWhyZWYlM0QnJTIzbCclMjBvcGFjaXR5JTNEJy4yNyclMjB0cmFuc2Zvcm0lM0Qncm90YXRlKDE1MCUyMDYwJTJDNjApJyUyRiUzRSUzQ3VzZSUyMHhsaW5rJTNBaHJlZiUzRCclMjNsJyUyMG9wYWNpdHklM0QnLjM3JyUyMHRyYW5zZm9ybSUzRCdyb3RhdGUoMTgwJTIwNjAlMkM2MCknJTJGJTNFJTNDdXNlJTIweGxpbmslM0FocmVmJTNEJyUyM2wnJTIwb3BhY2l0eSUzRCcuNDYnJTIwdHJhbnNmb3JtJTNEJ3JvdGF0ZSgyMTAlMjA2MCUyQzYwKSclMkYlM0UlM0N1c2UlMjB4bGluayUzQWhyZWYlM0QnJTIzbCclMjBvcGFjaXR5JTNEJy41NiclMjB0cmFuc2Zvcm0lM0Qncm90YXRlKDI0MCUyMDYwJTJDNjApJyUyRiUzRSUzQ3VzZSUyMHhsaW5rJTNBaHJlZiUzRCclMjNsJyUyMG9wYWNpdHklM0QnLjY2JyUyMHRyYW5zZm9ybSUzRCdyb3RhdGUoMjcwJTIwNjAlMkM2MCknJTJGJTNFJTNDdXNlJTIweGxpbmslM0FocmVmJTNEJyUyM2wnJTIwb3BhY2l0eSUzRCcuNzUnJTIwdHJhbnNmb3JtJTNEJ3JvdGF0ZSgzMDAlMjA2MCUyQzYwKSclMkYlM0UlM0N1c2UlMjB4bGluayUzQWhyZWYlM0QnJTIzbCclMjBvcGFjaXR5JTNEJy44NSclMjB0cmFuc2Zvcm0lM0Qncm90YXRlKDMzMCUyMDYwJTJDNjApJyUyRiUzRSUzQyUyRmclM0UlM0MlMkZzdmclM0VcIik7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IDUwJTtcbiAgLXdlYmtpdC1iYWNrZ3JvdW5kLXNpemU6IDEwMCU7XG4gIGJhY2tncm91bmQtc2l6ZTogMTAwJTtcbiAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDsgfVxuXG4uc3dpcGVyLWxhenktcHJlbG9hZGVyLXdoaXRlOmFmdGVyIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiZGF0YTppbWFnZS9zdmcreG1sO2NoYXJzZXQ9dXRmLTgsJTNDc3ZnJTIwdmlld0JveCUzRCcwJTIwMCUyMDEyMCUyMDEyMCclMjB4bWxucyUzRCdodHRwJTNBJTJGJTJGd3d3LnczLm9yZyUyRjIwMDAlMkZzdmcnJTIweG1sbnMlM0F4bGluayUzRCdodHRwJTNBJTJGJTJGd3d3LnczLm9yZyUyRjE5OTklMkZ4bGluayclM0UlM0NkZWZzJTNFJTNDbGluZSUyMGlkJTNEJ2wnJTIweDElM0QnNjAnJTIweDIlM0QnNjAnJTIweTElM0QnNyclMjB5MiUzRCcyNyclMjBzdHJva2UlM0QnJTIzZmZmJyUyMHN0cm9rZS13aWR0aCUzRCcxMSclMjBzdHJva2UtbGluZWNhcCUzRCdyb3VuZCclMkYlM0UlM0MlMkZkZWZzJTNFJTNDZyUzRSUzQ3VzZSUyMHhsaW5rJTNBaHJlZiUzRCclMjNsJyUyMG9wYWNpdHklM0QnLjI3JyUyRiUzRSUzQ3VzZSUyMHhsaW5rJTNBaHJlZiUzRCclMjNsJyUyMG9wYWNpdHklM0QnLjI3JyUyMHRyYW5zZm9ybSUzRCdyb3RhdGUoMzAlMjA2MCUyQzYwKSclMkYlM0UlM0N1c2UlMjB4bGluayUzQWhyZWYlM0QnJTIzbCclMjBvcGFjaXR5JTNEJy4yNyclMjB0cmFuc2Zvcm0lM0Qncm90YXRlKDYwJTIwNjAlMkM2MCknJTJGJTNFJTNDdXNlJTIweGxpbmslM0FocmVmJTNEJyUyM2wnJTIwb3BhY2l0eSUzRCcuMjcnJTIwdHJhbnNmb3JtJTNEJ3JvdGF0ZSg5MCUyMDYwJTJDNjApJyUyRiUzRSUzQ3VzZSUyMHhsaW5rJTNBaHJlZiUzRCclMjNsJyUyMG9wYWNpdHklM0QnLjI3JyUyMHRyYW5zZm9ybSUzRCdyb3RhdGUoMTIwJTIwNjAlMkM2MCknJTJGJTNFJTNDdXNlJTIweGxpbmslM0FocmVmJTNEJyUyM2wnJTIwb3BhY2l0eSUzRCcuMjcnJTIwdHJhbnNmb3JtJTNEJ3JvdGF0ZSgxNTAlMjA2MCUyQzYwKSclMkYlM0UlM0N1c2UlMjB4bGluayUzQWhyZWYlM0QnJTIzbCclMjBvcGFjaXR5JTNEJy4zNyclMjB0cmFuc2Zvcm0lM0Qncm90YXRlKDE4MCUyMDYwJTJDNjApJyUyRiUzRSUzQ3VzZSUyMHhsaW5rJTNBaHJlZiUzRCclMjNsJyUyMG9wYWNpdHklM0QnLjQ2JyUyMHRyYW5zZm9ybSUzRCdyb3RhdGUoMjEwJTIwNjAlMkM2MCknJTJGJTNFJTNDdXNlJTIweGxpbmslM0FocmVmJTNEJyUyM2wnJTIwb3BhY2l0eSUzRCcuNTYnJTIwdHJhbnNmb3JtJTNEJ3JvdGF0ZSgyNDAlMjA2MCUyQzYwKSclMkYlM0UlM0N1c2UlMjB4bGluayUzQWhyZWYlM0QnJTIzbCclMjBvcGFjaXR5JTNEJy42NiclMjB0cmFuc2Zvcm0lM0Qncm90YXRlKDI3MCUyMDYwJTJDNjApJyUyRiUzRSUzQ3VzZSUyMHhsaW5rJTNBaHJlZiUzRCclMjNsJyUyMG9wYWNpdHklM0QnLjc1JyUyMHRyYW5zZm9ybSUzRCdyb3RhdGUoMzAwJTIwNjAlMkM2MCknJTJGJTNFJTNDdXNlJTIweGxpbmslM0FocmVmJTNEJyUyM2wnJTIwb3BhY2l0eSUzRCcuODUnJTIwdHJhbnNmb3JtJTNEJ3JvdGF0ZSgzMzAlMjA2MCUyQzYwKSclMkYlM0UlM0MlMkZnJTNFJTNDJTJGc3ZnJTNFXCIpOyB9XG5cbkAtd2Via2l0LWtleWZyYW1lcyBzd2lwZXItcHJlbG9hZGVyLXNwaW4ge1xuICAxMDAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlKDM2MGRlZyk7IH0gfVxuXG5Aa2V5ZnJhbWVzIHN3aXBlci1wcmVsb2FkZXItc3BpbiB7XG4gIDEwMCUge1xuICAgIHRyYW5zZm9ybTogcm90YXRlKDM2MGRlZyk7IH0gfVxuXG4uc3dpcGVyLXNsaWRlIHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgZmxleC1ncm93OiAxO1xuICBoZWlnaHQ6IGF1dG87XG4gIG1hcmdpbjogMDtcbiAgb3ZlcmZsb3c6IGhpZGRlbjsgfVxuXG4uc3dpcGVyLXBpY3R1cmUge1xuICBib3JkZXI6IDA7XG4gIGJvcmRlci1ib3R0b206IDAuNXJlbSBzb2xpZCAjOWM5YzljO1xuICBib3JkZXItaW1hZ2U6IHVybChcIi4uL21lZGlhL2JhY2tncm91bmQtc3RhdGljLmpwZ1wiKSAwIDAgOCByZXBlYXQ7XG4gIGZsZXg6IG5vbmU7IH1cblxuLnN3aXBlci1pbWFnZSB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICB3aWR0aDogMTAwJTsgfVxuXG4uc3dpcGVyLWNvbnRhaW5lci4tZml4ZWRoZWlnaHQgLnN3aXBlci1pbWFnZSB7XG4gIGxlZnQ6IDUwJTtcbiAgbWluLXdpZHRoOiAxMDAlO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNTAlKTtcbiAgd2lkdGg6IGF1dG87IH1cblxuLnN3aXBlci1jYXB0aW9uIHtcbiAgYmFja2dyb3VuZDogI0ZGRkZGRjtcbiAgZmxleDogMSAxIGF1dG87XG4gIHBhZGRpbmc6IDIuMTg3NXJlbSAxLjI1cmVtOyB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDYzLjkzNzVlbSkge1xuICAuc3dpcGVyLWNhcHRpb24ge1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjsgfSB9XG5cbi5zd2lwZXItY29udGFpbmVyLi1mdWxsYmxlZWQgLnN3aXBlci1jYXB0aW9uIC5zd2lwZXItY2FwdGlvbi1pbm5lciB7XG4gIG1hcmdpbjogMCBhdXRvO1xuICBtYXgtd2lkdGg6IDkzLjc1ZW07IH1cblxuLnN3aXBlci1idXR0b24ge1xuICBiYWNrZ3JvdW5kOiBub25lO1xuICBib3JkZXI6IDA7XG4gIGNvbG9yOiAjNzUxMTEzO1xuICBkaXNwbGF5OiBibG9jaztcbiAgaGVpZ2h0OiAxMDAlO1xuICBtYXJnaW46IDA7XG4gIG9wYWNpdHk6IDA7XG4gIHBhZGRpbmc6IDA7XG4gIHRvcDogMDtcbiAgdHJhbnNpdGlvbjogb3BhY2l0eSAwLjE1cztcbiAgd2lkdGg6IDMuNDM3NWVtOyB9XG5cbi5zd2lwZXItYnV0dG9uLi1wcmV2IHtcbiAgYmFja2dyb3VuZDogbm9uZTtcbiAgbGVmdDogMDsgfVxuXG4uc3dpcGVyLWNvbnRhaW5lci1ydGwgLnN3aXBlci1idXR0b24uLXByZXYge1xuICBiYWNrZ3JvdW5kOiBub25lO1xuICByaWdodDogMDsgfVxuXG4uc3dpcGVyLWJ1dHRvbi4tbmV4dCB7XG4gIGJhY2tncm91bmQ6IG5vbmU7XG4gIHJpZ2h0OiAwOyB9XG5cbi5zd2lwZXItY29udGFpbmVyLXJ0bCAuc3dpcGVyLWJ1dHRvbi4tbmV4dCB7XG4gIGJhY2tncm91bmQ6IG5vbmU7XG4gIGxlZnQ6IDA7IH1cblxuLnN3aXBlci1jb250YWluZXI6aG92ZXIgLnN3aXBlci1idXR0b24ge1xuICBvcGFjaXR5OiAwLjU7IH1cblxuLnN3aXBlci1jb250YWluZXI6aG92ZXIgLnN3aXBlci1idXR0b246aG92ZXIsXG4uc3dpcGVyLWNvbnRhaW5lcjpob3ZlciAuc3dpcGVyLWJ1dHRvbjpmb2N1cyB7XG4gIG9wYWNpdHk6IDE7IH1cblxuLnN3aXBlci1idXR0b24gLnN3aXBlci1idXR0b24taWNvbixcbi5zd2lwZXItYnV0dG9uIC5zd2lwZXItYnV0dG9uLWljb24ge1xuICBmb250LXNpemU6IDNlbTtcbiAgbGVmdDogNTAlO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogNTAlO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTUwJSkgdHJhbnNsYXRlWSgtNTAlKTsgfVxuXG4uc3dpcGVyLXBhZ2luYXRpb24tZnJhY3Rpb24sXG4uc3dpcGVyLXBhZ2luYXRpb24tY3VzdG9tLFxuLnN3aXBlci1jb250YWluZXItaG9yaXpvbnRhbCA+IC5zd2lwZXItcGFnaW5hdGlvbi1idWxsZXRzIHtcbiAgYm90dG9tOiBhdXRvO1xuICB0b3A6IDA7IH1cblxuLnN3aXBlci1wYWdpbmF0aW9uLWJ1bGxldCB7XG4gIGJhY2tncm91bmQ6IHJnYmEoMCwgMCwgMCwgMC41KTtcbiAgaGVpZ2h0OiAwLjYyNWVtO1xuICBvcGFjaXR5OiAxO1xuICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kIDAuMTVzO1xuICB3aWR0aDogMC42MjVlbTsgfVxuXG4uc3dpcGVyLWNvbnRhaW5lci1ob3Jpem9udGFsID4gLnN3aXBlci1wYWdpbmF0aW9uLWJ1bGxldHMgLnN3aXBlci1wYWdpbmF0aW9uLWJ1bGxldCB7XG4gIG1hcmdpbjogMS4yNWVtIDAuMzEyNWVtOyB9XG5cbi5zd2lwZXItcGFnaW5hdGlvbi1idWxsZXQtYWN0aXZlIHtcbiAgYmFja2dyb3VuZDogIzc1MTExMzsgfVxuXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKiAqIFdpZGdldFxuXFwqIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLndpZGdldCB7XG4gIGJhY2tncm91bmQ6ICNGRkZGRkY7XG4gIGJvcmRlcjogMC4wNjI1cmVtIHNvbGlkICNiNWI1YjU7XG4gIGJveC1zaGFkb3c6IGluc2V0IDByZW0gMHJlbSAwcmVtIDAuMzEyNXJlbSAjRkZGRkZGLCBpbnNldCAwcmVtIDByZW0gMHJlbSAwLjM3NXJlbSAjYjViNWI1O1xuICBtYXJnaW46IDByZW0gMHJlbSAxLjU2MjVyZW07XG4gIG1heC13aWR0aDogOTMuNzVyZW07XG4gIHBhZGRpbmc6IDEuNTYyNXJlbSAxLjI1cmVtOyB9XG5cbi53aWRnZXRfdXNlci1jb250ZW50IHtcbiAgLyogc3R5bGVsaW50LWRpc2FibGUgc2VsZWN0b3ItbWF4LXR5cGUgKi9cbiAgLyogc3R5bGVsaW50LWVuYWJsZSAqLyB9XG4gIC53aWRnZXRfdXNlci1jb250ZW50IGgyIHtcbiAgICBmb250LXNpemU6IDEuNjI1ZW07IH1cbiAgLndpZGdldF91c2VyLWNvbnRlbnQgcCxcbiAgLndpZGdldF91c2VyLWNvbnRlbnQgb2wsXG4gIC53aWRnZXRfdXNlci1jb250ZW50IHVsLFxuICAud2lkZ2V0X3VzZXItY29udGVudCB0YWJsZSB7XG4gICAgZm9udC1zaXplOiAwLjkzNzVlbTsgfVxuICAud2lkZ2V0X3VzZXItY29udGVudCA+IDpsYXN0LWNoaWxkIHtcbiAgICBtYXJnaW4tYm90dG9tOiAwICFpbXBvcnRhbnQ7IH1cblxuLyogYmFja2dyb3VuZCB2YXJpYW50ICovXG4ud2lkZ2V0Li1iYWNrZ3JvdW5kIHtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogcmlnaHQgdG9wO1xuICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICBiYWNrZ3JvdW5kLXNpemU6IGNvdmVyO1xuICBib3gtc2hhZG93OiBub25lO1xuICBwYWRkaW5nOiAyLjVyZW0gMC43ODEyNXJlbTsgfVxuXG4ud2lkZ2V0Li1iYWNrZ3JvdW5kIC53aWRnZXRfY29udGVudCB7XG4gIGJhY2tncm91bmQ6ICNGRkZGRkY7XG4gIGJveC1zaGFkb3c6IDByZW0gMHJlbSAwLjMxMjVyZW0gcmdiYSgwLCAwLCAwLCAwLjM1KTtcbiAgbWF4LXdpZHRoOiA5LjM3NXJlbTtcbiAgcGFkZGluZzogMC42MjVyZW0gMC45Mzc1cmVtOyB9XG5cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqICogTGF5b3V0XG5cXCogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKiAqIFBhZ2VcblxcKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbmh0bWwsXG5ib2R5IHtcbiAgYmFja2dyb3VuZDogI0U1RTVFNTtcbiAgaGVpZ2h0OiAxMDAlO1xuICB3aWR0aDogMTAwJTsgfVxuXG4ucGFnZV9jb250YWluZXIge1xuICBtaW4taGVpZ2h0OiAxMDAlO1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHdpZHRoOiAxMDAlOyB9XG5cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqICogTmF2aWdhdGlvblxuXFwqIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLm5hdmlnYXRpb24tYmxvY2sge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHotaW5kZXg6IDQ7IH1cblxuLm5hdmlnYXRpb25faW5uZXIge1xuICBiYWNrZ3JvdW5kOiAjRkZGRkZGO1xuICBtYXJnaW46IDAgYXV0bztcbiAgbWF4LXdpZHRoOiA5My43NXJlbTtcbiAgcGFkZGluZzogMS41NjI1cmVtIDMuMTI1cmVtOyB9XG5cbi8qIGZ1bGxibGVlZCB2YXJpYW50ICovXG4ubmF2aWdhdGlvbi1ibG9jay4tZnVsbGJsZWVkIHtcbiAgYmFja2dyb3VuZDogI0ZGRkZGRjtcbiAgcGFkZGluZzogMS41NjI1cmVtIDMuMTI1cmVtOyB9XG5cbi5uYXZpZ2F0aW9uLWJsb2NrLi1mdWxsYmxlZWQgPiAubmF2aWdhdGlvbl9pbm5lciB7XG4gIGJhY2tncm91bmQ6IG5vbmU7XG4gIHBhZGRpbmc6IDA7IH1cblxuLm5hdmlnYXRpb24tYmxvY2suLWZ1bGxibGVlZCA+IC5uYXZpZ2F0aW9uX2lubmVyLi1mdWxsYmxlZWQge1xuICBtYXgtd2lkdGg6IG5vbmU7IH1cblxuLyogZmx5b3V0IHZhcmlhbnQgKi9cbi5uYXZpZ2F0aW9uLWJsb2NrLi1mbHlvdXQge1xuICBiYWNrZ3JvdW5kOiAjRkZGRkZGO1xuICBib3JkZXItcmlnaHQ6IDAuMDYyNXJlbSBzb2xpZCAjZTZlNmU2O1xuICBib3R0b206IDk5OWVtO1xuICBkaXNwbGF5OiBibG9jaztcbiAgbGVmdDogLTk5OWVtO1xuICBvdmVyZmxvdzogYXV0bztcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICByaWdodDogOTk5ZW07XG4gIHRvcDogLTk5OWVtO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTEwMCUpO1xuICB0cmFuc2l0aW9uOiBib3R0b20gMHMgMC4xNXMsIGxlZnQgMHMgMC4xNXMsIHJpZ2h0IDBzIDAuMTVzLCB0b3AgMHMgMC4xNXMsIHRyYW5zZm9ybSAwLjE1cywgdmlzaWJpbGl0eSAwcyAwLjE1cztcbiAgdmlzaWJpbGl0eTogaGlkZGVuO1xuICB6LWluZGV4OiA5OTk7IH1cblxuLm5hdmlnYXRpb24tYmxvY2suLWZseW91dC5pcy1hY3RpdmUge1xuICBib3R0b206IDA7XG4gIGxlZnQ6IDA7XG4gIHJpZ2h0OiA1cmVtO1xuICB0b3A6IDA7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgwKTtcbiAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIDAuMTVzO1xuICB2aXNpYmlsaXR5OiB2aXNpYmxlOyB9XG5cbi5uYXZpZ2F0aW9uLWJsb2NrLi1mbHlvdXQgPiAubmF2aWdhdGlvbl9pbm5lciB7XG4gIGJhY2tncm91bmQ6IG5vbmU7XG4gIG1heC13aWR0aDogbm9uZTtcbiAgcGFkZGluZzogMDsgfVxuXG4vKiBmbHlvdXQgcmlnaHQgdmFyaWFudCAqL1xuLm5hdmlnYXRpb24tYmxvY2suLWZseW91dC4tcmlnaHQge1xuICBib3JkZXItbGVmdDogMC4wNjI1cmVtIHNvbGlkICNlNmU2ZTY7XG4gIGJvcmRlci1yaWdodDogMDtcbiAgbGVmdDogOTk5ZW07XG4gIHJpZ2h0OiAtOTk5ZW07XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgxMDAlKTsgfVxuXG4ubmF2aWdhdGlvbi1ibG9jay4tZmx5b3V0Li1yaWdodC5pcy1hY3RpdmUge1xuICBsZWZ0OiA1cmVtO1xuICByaWdodDogMDsgfVxuXG4vKiBwdWxsZG93biB2YXJpYW50ICovXG4ubmF2aWdhdGlvbi1ibG9jay4tcHVsbGRvd24ge1xuICBiYWNrZ3JvdW5kOiAjRkZGRkZGO1xuICBib3JkZXItcmlnaHQ6IDAuMDYyNXJlbSBzb2xpZCAjZTZlNmU2O1xuICBkaXNwbGF5OiBibG9jaztcbiAgbGVmdDogMDtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICByaWdodDogMDtcbiAgdG9wOiAtOTk5ZW07XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMTAwJSk7XG4gIHRyYW5zaXRpb246IHRvcCAwcyAwLjE1cywgdHJhbnNmb3JtIDAuMTVzLCB2aXNpYmlsaXR5IDBzIDAuMTVzO1xuICB2aXNpYmlsaXR5OiBoaWRkZW47XG4gIHdpZHRoOiAxMDAlO1xuICB6LWluZGV4OiA5OTk7IH1cblxuLm5hdmlnYXRpb24tYmxvY2suLXB1bGxkb3duLmlzLWFjdGl2ZSB7XG4gIHRvcDogMDtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApO1xuICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMC4xNXM7XG4gIHZpc2liaWxpdHk6IHZpc2libGU7IH1cblxuLm5hdmlnYXRpb24tYmxvY2suLXB1bGxkb3duID4gLm5hdmlnYXRpb25faW5uZXIge1xuICBiYWNrZ3JvdW5kOiBub25lO1xuICBtYXgtd2lkdGg6IG5vbmU7XG4gIHBhZGRpbmc6IDA7IH1cblxuLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICogKiBUb29sYmFyXG5cXCogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4udG9vbGJhci1ibG9jayB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgei1pbmRleDogNTsgfVxuXG4udG9vbGJhcl9pbm5lciB7XG4gIGJhY2tncm91bmQ6ICNFNUU1RTU7XG4gIG1hcmdpbjogMCBhdXRvO1xuICBtYXgtd2lkdGg6IDkzLjc1cmVtO1xuICBwYWRkaW5nOiAwcmVtIDEuMjVyZW07IH1cblxuLyogZnVsbGJsZWVkIHZhcmlhbnQgKi9cbi50b29sYmFyLWJsb2NrLi1mdWxsYmxlZWQge1xuICBiYWNrZ3JvdW5kOiAjRTVFNUU1O1xuICBwYWRkaW5nOiAwcmVtIDEuMjVyZW07IH1cblxuLnRvb2xiYXItYmxvY2suLWZ1bGxibGVlZCA+IC50b29sYmFyX2lubmVyIHtcbiAgYmFja2dyb3VuZDogbm9uZTtcbiAgcGFkZGluZzogMDsgfVxuXG4udG9vbGJhci1ibG9jay4tZnVsbGJsZWVkID4gLnRvb2xiYXJfaW5uZXIuLWZ1bGxibGVlZCB7XG4gIG1heC13aWR0aDogbm9uZTsgfVxuXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKiAqIEhlYWRlclxuXFwqIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLmhlYWRlci1ibG9jayB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgei1pbmRleDogNjsgfVxuXG4uaGVhZGVyX2lubmVyIHtcbiAgYmFja2dyb3VuZDogI0ZGRkZGRjtcbiAgYm9yZGVyOiAwO1xuICBib3JkZXItYm90dG9tOiAwLjVyZW0gc29saWQgIzljOWM5YztcbiAgYm9yZGVyLWltYWdlOiB1cmwoXCIuLi9tZWRpYS9iYWNrZ3JvdW5kLXN0YXRpYy5qcGdcIikgMCAwIDggcmVwZWF0O1xuICBtYXJnaW46IDAgYXV0bztcbiAgbWF4LXdpZHRoOiA5My43NXJlbTtcbiAgcGFkZGluZzogMC45Mzc1cmVtIDEuMjVyZW07IH1cblxuLmhlYWRlcl9sb2dvIHtcbiAgbWFyZ2luOiAtMy4yODEyNXJlbSBhdXRvIDByZW07XG4gIHdpZHRoOiAxNS42MjVlbTsgfVxuXG4vKiBmdWxsYmxlZWQgdmFyaWFudCAqL1xuLmhlYWRlci1ibG9jay4tZnVsbGJsZWVkIHtcbiAgYmFja2dyb3VuZDogI0ZGRkZGRjtcbiAgYm9yZGVyOiAwO1xuICBib3JkZXItYm90dG9tOiAwLjVyZW0gc29saWQgIzljOWM5YztcbiAgYm9yZGVyLWltYWdlOiB1cmwoXCIuLi9tZWRpYS9iYWNrZ3JvdW5kLXN0YXRpYy5qcGdcIikgMCAwIDggcmVwZWF0O1xuICBwYWRkaW5nOiAwLjkzNzVyZW0gMS4yNXJlbTsgfVxuXG4uaGVhZGVyLWJsb2NrLi1mdWxsYmxlZWQgPiAuaGVhZGVyX2lubmVyIHtcbiAgYmFja2dyb3VuZDogbm9uZTtcbiAgYm9yZGVyLWJvdHRvbTogMDtcbiAgYm9yZGVyLWltYWdlOiBub25lO1xuICBwYWRkaW5nOiAwOyB9XG5cbi5oZWFkZXItYmxvY2suLWZ1bGxibGVlZCA+IC5oZWFkZXJfaW5uZXIuLWZ1bGxibGVlZCB7XG4gIG1heC13aWR0aDogbm9uZTsgfVxuXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKiAqIEhlcm9cblxcKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi5oZXJvLWJsb2NrIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB6LWluZGV4OiAzOyB9XG5cbi5oZXJvX2lubmVyIHtcbiAgYmFja2dyb3VuZDogI0ZGRkZGRjtcbiAgbWFyZ2luOiAwIGF1dG87XG4gIG1heC13aWR0aDogOTMuNzVyZW07XG4gIHBhZGRpbmc6IDMuOTA2MjVyZW0gMy4xMjVyZW07IH1cblxuLyogZnVsbGJsZWVkIHZhcmlhbnQgKi9cbi5oZXJvLWJsb2NrLi1mdWxsYmxlZWQge1xuICBiYWNrZ3JvdW5kOiAjRkZGRkZGO1xuICBwYWRkaW5nOiAzLjkwNjI1cmVtIDMuMTI1cmVtOyB9XG5cbi5oZXJvLWJsb2NrLi1mdWxsYmxlZWQgPiAuaGVyb19pbm5lciB7XG4gIGJhY2tncm91bmQ6IG5vbmU7XG4gIHBhZGRpbmc6IDA7IH1cblxuLmhlcm8tYmxvY2suLWZ1bGxibGVlZCA+IC5oZXJvX2lubmVyLi1mdWxsYmxlZWQge1xuICBtYXgtd2lkdGg6IG5vbmU7IH1cblxuLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICogKiBDb250ZW50XG5cXCogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4uY29udGVudC1ibG9jayB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgei1pbmRleDogMjsgfVxuXG4uY29udGVudF9pbm5lciB7XG4gIGJhY2tncm91bmQ6ICNGRkZGRkY7XG4gIG1hcmdpbjogMCBhdXRvO1xuICBtYXgtd2lkdGg6IDkzLjc1cmVtO1xuICBwYWRkaW5nOiAwLjkzNzVyZW0gMS4yNXJlbTsgfVxuXG4vKiBmdWxsYmxlZWQgdmFyaWFudCAqL1xuLmNvbnRlbnQtYmxvY2suLWZ1bGxibGVlZCB7XG4gIGJhY2tncm91bmQ6ICNGRkZGRkY7XG4gIHBhZGRpbmc6IDAuOTM3NXJlbSAxLjI1cmVtOyB9XG5cbi5jb250ZW50LWJsb2NrLi1mdWxsYmxlZWQgPiAuY29udGVudF9pbm5lciB7XG4gIGJhY2tncm91bmQ6IG5vbmU7XG4gIHBhZGRpbmc6IDA7IH1cblxuLmNvbnRlbnQtYmxvY2suLWZ1bGxibGVlZCA+IC5jb250ZW50X2lubmVyLi1mdWxsYmxlZWQge1xuICBtYXgtd2lkdGg6IG5vbmU7IH1cblxuLyogaW1hZ2UgdmFyaWFudCAqL1xuLmNvbnRlbnQtYmxvY2suLWltYWdlIC5jb250ZW50X2ZpZ3VyZSB7XG4gIG1hcmdpbjogMDsgfVxuXG4uY29udGVudC1ibG9jay4taW1hZ2UgLmNvbnRlbnRfaW1hZ2Uge1xuICBkaXNwbGF5OiBibG9jaztcbiAgbWFyZ2luOiAwIGF1dG87XG4gIG1heC1oZWlnaHQ6IDEwMCU7XG4gIG1heC13aWR0aDogMTAwJTsgfVxuXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKiAqIENhbGxvdXRcblxcKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi5jYWxsb3V0LWJsb2NrIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBiYWNrZ3JvdW5kOiB1cmwoXCIuLi9tZWRpYS9iYWNrZ3JvdW5kLXN0YXRpYy5qcGdcIikgY2VudGVyIHRvcCByZXBlYXQ7XG4gIHBhZGRpbmc6IDEuMjVyZW0gMC45Mzc1cmVtOyB9XG5cbi5jYWxsb3V0X2lubmVyIHtcbiAgYmFja2dyb3VuZDogI0ZGRkZGRjtcbiAgYm9yZGVyOiAwLjA2MjVyZW0gc29saWQgI2I1YjViNTtcbiAgYm94LXNoYWRvdzogaW5zZXQgMHJlbSAwcmVtIDByZW0gMC4zMTI1cmVtICNGRkZGRkYsIGluc2V0IDByZW0gMHJlbSAwcmVtIDAuMzc1cmVtICNiNWI1YjU7XG4gIG1hcmdpbjogMCBhdXRvO1xuICBtYXgtd2lkdGg6IDkzLjc1cmVtO1xuICBwYWRkaW5nOiAxLjU2MjVyZW0gMS4yNXJlbTsgfVxuXG4vKiBmdWxsYmxlZWQgdmFyaWFudCAqL1xuLmNhbGxvdXQtYmxvY2suLWZ1bGxibGVlZCB7XG4gIGJhY2tncm91bmQ6ICNGRkZGRkY7XG4gIGJvcmRlcjogMC4wNjI1cmVtIHNvbGlkICNiNWI1YjU7XG4gIGJveC1zaGFkb3c6IGluc2V0IDByZW0gMHJlbSAwcmVtIDAuMzEyNXJlbSAjRkZGRkZGLCBpbnNldCAwcmVtIDByZW0gMHJlbSAwLjM3NXJlbSAjYjViNWI1O1xuICBwYWRkaW5nOiAxLjU2MjVyZW0gMS4yNXJlbTsgfVxuXG4uY2FsbG91dC1ibG9jay4tZnVsbGJsZWVkID4gLmNhbGxvdXRfaW5uZXIge1xuICBiYWNrZ3JvdW5kOiBub25lO1xuICBib3JkZXI6IDA7XG4gIGJveC1zaGFkb3c6IG5vbmU7XG4gIHBhZGRpbmc6IDA7IH1cblxuLmNhbGxvdXQtYmxvY2suLWZ1bGxibGVlZCA+IC5jYWxsb3V0X2lubmVyLi1mdWxsYmxlZWQge1xuICBtYXgtd2lkdGg6IG5vbmU7IH1cblxuLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICogKiBGb290ZXJcblxcKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi5mb290ZXItYmxvY2sge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHotaW5kZXg6IDE7IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNjMuOTM3NWVtKSB7XG4gIC5mb290ZXItYmxvY2sge1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjsgfSB9XG5cbi5mb290ZXJfaW5uZXIge1xuICBiYWNrZ3JvdW5kOiAjRTVFNUU1O1xuICBib3JkZXI6IDA7XG4gIGJvcmRlci1pbWFnZTogdXJsKFwiLi4vbWVkaWEvYmFja2dyb3VuZC1zdGF0aWMuanBnXCIpIDggMCAwIHJlcGVhdDtcbiAgYm9yZGVyLXRvcDogMC41cmVtIHNvbGlkICM5YzljOWM7XG4gIG1hcmdpbjogMCBhdXRvO1xuICBtYXgtd2lkdGg6IDkzLjc1cmVtO1xuICBwYWRkaW5nOiAxLjI1cmVtIDAuOTM3NXJlbTsgfVxuXG4uZm9vdGVyX2xpbmsge1xuICBjb2xvcjogaW5oZXJpdDsgfVxuXG4uZm9vdGVyX2xpbms6Zm9jdXMsIC5mb290ZXJfbGluazpob3ZlciB7XG4gIGNvbG9yOiBpbmhlcml0O1xuICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTsgfVxuXG4uZm9vdGVyX3RpdGxlIHtcbiAgZm9udC1zaXplOiAxLjEyNWVtOyB9XG5cbi5mb290ZXJfdGV4dCB7XG4gIGNvbG9yOiAjNzU3NTc1O1xuICBmb250LWZhbWlseTogXCJQcmF0YVwiLCBcIlRpbWVzIE5ldyBSb21hblwiLCBcIlRpbWVzXCIsIHNlcmlmO1xuICBmb250LXNpemU6IDAuNzVlbTsgfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA3OS45Mzc1ZW0pIHtcbiAgLmZvb3Rlcl9tZW51LWxpc3RfY29udGFpbmVyIC5tZW51LWxpc3QuLXNvY2lhbCB7XG4gICAgZmxvYXQ6IHJpZ2h0O1xuICAgIG1hcmdpbi10b3A6IDFlbTtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgcmlnaHQ6IDUwJTsgfVxuICAuZm9vdGVyX21lbnUtbGlzdF9jb250YWluZXIgLm1lbnUtbGlzdC4tc29jaWFsIC5tZW51LWxpc3RfaXRlbSB7XG4gICAgZmxvYXQ6IGxlZnQ7XG4gICAgbGVmdDogNTAlO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDM3LjVlbSkge1xuICAuZm9vdGVyX3dpZGdldCAubmYtcm93ID4gKiB7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBkaXNwbGF5OiBmbGV4OyB9IH1cblxuLyogZnVsbGJsZWVkIHZhcmlhbnQgKi9cbi5mb290ZXItYmxvY2suLWZ1bGxibGVlZCB7XG4gIGJhY2tncm91bmQ6ICNFNUU1RTU7XG4gIGJvcmRlcjogMDtcbiAgYm9yZGVyLWltYWdlOiB1cmwoXCIuLi9tZWRpYS9iYWNrZ3JvdW5kLXN0YXRpYy5qcGdcIikgOCAwIDAgcmVwZWF0O1xuICBib3JkZXItdG9wOiAwLjVyZW0gc29saWQgIzljOWM5YztcbiAgcGFkZGluZzogMS4yNXJlbSAwLjkzNzVyZW07IH1cblxuLmZvb3Rlci1ibG9jay4tZnVsbGJsZWVkID4gLmZvb3Rlcl9pbm5lciB7XG4gIGJhY2tncm91bmQ6IG5vbmU7XG4gIGJvcmRlci1pbWFnZTogbm9uZTtcbiAgYm9yZGVyLXRvcDogMDtcbiAgcGFkZGluZzogMDsgfVxuXG4uZm9vdGVyLWJsb2NrLi1mdWxsYmxlZWQgPiAuZm9vdGVyX2lubmVyLi1mdWxsYmxlZWQge1xuICBtYXgtd2lkdGg6IG5vbmU7IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMzBlbSkge1xuICAvKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKiAqIE1vZHVsZVxuXFwqIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuICAvKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKiAqIExheW91dFxuXFwqIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqLyB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICogKiBNb2R1bGVcblxcKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbiAgLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICogKiBMYXlvdXRcblxcKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi8gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gIC8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqICogTW9kdWxlXG5cXCogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4gIC8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqICogQXJ0aWNsZVxuXFwqIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuICAvKiBjYWxsb3V0IHZhcmlhbnQgKi9cbiAgLmFydGljbGUuLWNhbGxvdXQgLmFydGljbGVfdGl0bGUge1xuICAgIGZvbnQtc2l6ZTogMS4yNWVtOyB9XG4gIC8qIGhlYWRsaW5lIHZhcmlhbnQgKi9cbiAgLmFydGljbGUuLWhlYWRsaW5lIHtcbiAgICBtYXJnaW4tYm90dG9tOiAxLjI1ZW07XG4gICAgcGFkZGluZy1ib3R0b206IDEuMjVlbTsgfVxuICAuYXJ0aWNsZS4taGVhZGxpbmUgLmFydGljbGVfZmlndXJlIHtcbiAgICB3aWR0aDogNS42MjVlbTsgfVxuICAuYXJ0aWNsZS4taGVhZGxpbmUgLmFydGljbGVfdGV4dCB7XG4gICAgZm9udC1zaXplOiAxLjEyNWVtOyB9XG4gIC8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqICogTmluamEgRm9ybXNcblxcKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbiAgLyogc3R5bGVsaW50LWRpc2FibGUgc2VsZWN0b3ItY2xhc3MtcGF0dGVybiwgc2VsZWN0b3ItbWF4LXR5cGUgKi9cbiAgLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICogKiBPcGluaW9uYXRlZCBUd2Vha3NcblxcKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbiAgLm5mLWZpZWxkLWNvbnRhaW5lciAudXNlci1jb250ZW50IGgyIHtcbiAgICBmb250LXNpemU6IDNlbTsgfVxuICAvKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKiAqIFN3aXBlciAoaHR0cDovL2lkYW5nZXJvLnVzL3N3aXBlci8pXG5cXCogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4gIC8qIHN0eWxlbGludC1kaXNhYmxlIHNlbGVjdG9yLWNsYXNzLXBhdHRlcm4sIHNlbGVjdG9yLW1heC10eXBlICovXG4gIC5zd2lwZXItcGljdHVyZSB7XG4gICAgYm9yZGVyLWJvdHRvbS13aWR0aDogMC43NXJlbTtcbiAgICBib3JkZXItaW1hZ2U6IHVybChcIi4uL21lZGlhL2JhY2tncm91bmQtc3RhdGljLmpwZ1wiKSAwIDAgMTIgcmVwZWF0OyB9XG4gIC5zd2lwZXItdXNlci1jb250ZW50IGgxIHtcbiAgICBmb250LXNpemU6IDMuMjVlbTsgfVxuICAvKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKiAqIFdpZGdldFxuXFwqIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuICAud2lkZ2V0X3VzZXItY29udGVudCB7XG4gICAgLyogc3R5bGVsaW50LWRpc2FibGUgc2VsZWN0b3ItbWF4LXR5cGUgKi9cbiAgICAvKiBzdHlsZWxpbnQtZW5hYmxlICovIH1cbiAgICAud2lkZ2V0X3VzZXItY29udGVudCBoMiB7XG4gICAgICBmb250LXNpemU6IDEuOTM3NWVtOyB9XG4gICAgLndpZGdldF91c2VyLWNvbnRlbnQgcCxcbiAgICAud2lkZ2V0X3VzZXItY29udGVudCBvbCxcbiAgICAud2lkZ2V0X3VzZXItY29udGVudCB1bCxcbiAgICAud2lkZ2V0X3VzZXItY29udGVudCB0YWJsZSB7XG4gICAgICBmb250LXNpemU6IDEuMTI1ZW07IH1cbiAgLyogYmFja2dyb3VuZCB2YXJpYW50ICovXG4gIC53aWRnZXQuLWJhY2tncm91bmQge1xuICAgIHBhZGRpbmc6IDIuODEyNXJlbSAwLjkzNzVyZW07IH1cbiAgLndpZGdldC4tYmFja2dyb3VuZCAud2lkZ2V0X2NvbnRlbnQge1xuICAgIG1heC13aWR0aDogMTEuMjVyZW07XG4gICAgcGFkZGluZy1sZWZ0OiAwLjYyNXJlbTtcbiAgICBwYWRkaW5nLXJpZ2h0OiAwLjYyNXJlbTsgfVxuICAvKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKiAqIExheW91dFxuXFwqIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuICAvKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKiAqIEhlYWRlclxuXFwqIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuICAuaGVhZGVyX2lubmVyIHtcbiAgICBib3JkZXItYm90dG9tLXdpZHRoOiAwLjc1cmVtO1xuICAgIGJvcmRlci1pbWFnZTogdXJsKFwiLi4vbWVkaWEvYmFja2dyb3VuZC1zdGF0aWMuanBnXCIpIDAgMCAxMiByZXBlYXQ7XG4gICAgcGFkZGluZy1ib3R0b206IDEuMjVyZW07XG4gICAgcGFkZGluZy10b3A6IDEuMjVyZW07IH1cbiAgLmhlYWRlcl9sb2dvIHtcbiAgICBtYXJnaW4tdG9wOiAtMi41ZW07XG4gICAgd2lkdGg6IDE2LjI1ZW07IH1cbiAgLyogZnVsbGJsZWVkIHZhcmlhbnQgKi9cbiAgLmhlYWRlci1ibG9jay4tZnVsbGJsZWVkIHtcbiAgICBib3JkZXItYm90dG9tLXdpZHRoOiAwLjc1cmVtO1xuICAgIGJvcmRlci1pbWFnZTogdXJsKFwiLi4vbWVkaWEvYmFja2dyb3VuZC1zdGF0aWMuanBnXCIpIDAgMCAxMiByZXBlYXQ7XG4gICAgcGFkZGluZy1ib3R0b206IDEuMjVyZW07XG4gICAgcGFkZGluZy10b3A6IDEuMjVyZW07IH1cbiAgLmhlYWRlci1ibG9jay4tZnVsbGJsZWVkID4gLmhlYWRlcl9pbm5lciB7XG4gICAgYm9yZGVyLWJvdHRvbTogMDtcbiAgICBib3JkZXItaW1hZ2U6IG5vbmU7XG4gICAgcGFkZGluZy1ib3R0b206IDA7XG4gICAgcGFkZGluZy10b3A6IDA7IH1cbiAgLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICogKiBDb250ZW50XG5cXCogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4gIC5jb250ZW50X2lubmVyIHtcbiAgICBwYWRkaW5nLWJvdHRvbTogMy4xMjVyZW07XG4gICAgcGFkZGluZy10b3A6IDMuMTI1cmVtOyB9XG4gIC8qIGZ1bGxibGVlZCB2YXJpYW50ICovXG4gIC5jb250ZW50LWJsb2NrLi1mdWxsYmxlZWQge1xuICAgIHBhZGRpbmctYm90dG9tOiAzLjEyNXJlbTtcbiAgICBwYWRkaW5nLXRvcDogMy4xMjVyZW07IH1cbiAgLmNvbnRlbnQtYmxvY2suLWZ1bGxibGVlZCA+IC5jb250ZW50X2lubmVyIHtcbiAgICBwYWRkaW5nLWJvdHRvbTogMDtcbiAgICBwYWRkaW5nLXRvcDogMDsgfVxuICAvKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKiAqIENhbGxvdXRcblxcKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbiAgLmNhbGxvdXQtYmxvY2sge1xuICAgIHBhZGRpbmctYm90dG9tOiAyLjVyZW07XG4gICAgcGFkZGluZy10b3A6IDIuNXJlbTsgfVxuICAuY2FsbG91dF9pbm5lciB7XG4gICAgcGFkZGluZy1ib3R0b206IDIuMTg3NXJlbTtcbiAgICBwYWRkaW5nLXRvcDogMi4xODc1cmVtOyB9XG4gIC8qIGZ1bGxibGVlZCB2YXJpYW50ICovXG4gIC5jYWxsb3V0LWJsb2NrLi1mdWxsYmxlZWQge1xuICAgIHBhZGRpbmctYm90dG9tOiAyLjE4NzVyZW07XG4gICAgcGFkZGluZy10b3A6IDIuMTg3NXJlbTsgfVxuICAuY2FsbG91dC1ibG9jay4tZnVsbGJsZWVkID4gLmNhbGxvdXRfaW5uZXIge1xuICAgIHBhZGRpbmctYm90dG9tOiAwO1xuICAgIHBhZGRpbmctdG9wOiAwOyB9XG4gIC8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqICogRm9vdGVyXG5cXCogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4gIC5mb290ZXJfaW5uZXIge1xuICAgIGJvcmRlci1pbWFnZTogdXJsKFwiLi4vbWVkaWEvYmFja2dyb3VuZC1zdGF0aWMuanBnXCIpIDggMCAwIHJlcGVhdDtcbiAgICBib3JkZXItdG9wLXdpZHRoOiAwLjc1cmVtOyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkgYW5kIChtYXgtd2lkdGg6IDc5LjkzNzVlbSkge1xuICAuZm9vdGVyX3dpZGdldCB7XG4gICAgZm9udC1zaXplOiAxLjI1dnc7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gIC8qIGZ1bGxibGVlZCB2YXJpYW50ICovXG4gIC5mb290ZXItYmxvY2suLWZ1bGxibGVlZCB7XG4gICAgYm9yZGVyLWltYWdlOiB1cmwoXCIuLi9tZWRpYS9iYWNrZ3JvdW5kLXN0YXRpYy5qcGdcIikgOCAwIDAgcmVwZWF0O1xuICAgIGJvcmRlci10b3Atd2lkdGg6IDAuNzVyZW07IH1cbiAgLmZvb3Rlci1ibG9jay4tZnVsbGJsZWVkID4gLmZvb3Rlcl9pbm5lciB7XG4gICAgYm9yZGVyLWltYWdlOiBub25lO1xuICAgIGJvcmRlci10b3Atd2lkdGg6IDA7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA1My4zMTI1ZW0pIHtcbiAgLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICogKiBNb2R1bGVcblxcKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbiAgLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICogKiBMYXlvdXRcblxcKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbiAgLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICogKiBDb250ZW50XG5cXCogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4gIC8qIGltYWdlIHZhcmlhbnQgKi9cbiAgLmNvbnRlbnQtYmxvY2suLWltYWdlIHtcbiAgICBwYWRkaW5nLWJvdHRvbTogMDsgfVxuICAuY29udGVudC1ibG9jay4taW1hZ2UgLmNvbnRlbnRfaW5uZXIge1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgcGFkZGluZy1ib3R0b206IDMuMTI1cmVtO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuICAuY29udGVudC1ibG9jay4taW1hZ2UgLmNvbnRlbnRfdGl0bGUge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB6LWluZGV4OiAxOyB9XG4gIC5jb250ZW50LWJsb2NrLi1pbWFnZSAuY29udGVudF9maWd1cmUge1xuICAgIGFsaWduLWl0ZW1zOiBmbGV4LWVuZDtcbiAgICBib3R0b206IDA7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBtYXgtd2lkdGg6IDUwJTtcbiAgICBwYWRkaW5nLXRvcDogMS4wNDE2N3JlbTtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgcmlnaHQ6IDA7XG4gICAgdG9wOiAwO1xuICAgIHotaW5kZXg6IDA7IH1cbiAgLmNvbnRlbnQtYmxvY2suLWltYWdlIC5jb250ZW50X2ltYWdlIHtcbiAgICBmbGV4OiAwIDAgYXV0bzsgfVxuICAuY29udGVudC1ibG9jay4taW1hZ2UgLmNvbnRlbnRfdXNlci1jb250ZW50IHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgei1pbmRleDogMTsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDYwZW0pIHtcbiAgLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICogKiBNb2R1bGVcblxcKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbiAgLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICogKiBMYXlvdXRcblxcKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbiAgLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICogKiBDb250ZW50XG5cXCogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4gIC5jb250ZW50X3NpZGViYXIge1xuICAgIHdpZHRoOiAyMS44NzVyZW07IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gIC8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqICogTW9kdWxlXG5cXCogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4gIC8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqICogU3dpcGVyIChodHRwOi8vaWRhbmdlcm8udXMvc3dpcGVyLylcblxcKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbiAgLyogc3R5bGVsaW50LWRpc2FibGUgc2VsZWN0b3ItY2xhc3MtcGF0dGVybiwgc2VsZWN0b3ItbWF4LXR5cGUgKi9cbiAgLnN3aXBlci1jb250YWluZXIge1xuICAgIGJvcmRlcjogMDtcbiAgICBib3JkZXItYm90dG9tOiAwLjc1cmVtIHNvbGlkICM5YzljOWM7XG4gICAgYm9yZGVyLWltYWdlOiB1cmwoXCIuLi9tZWRpYS9iYWNrZ3JvdW5kLXN0YXRpYy5qcGdcIikgMCAwIDEyIHJlcGVhdDsgfVxuICAuc3dpcGVyLXBpY3R1cmUge1xuICAgIGJvcmRlci1ib3R0b206IDA7IH1cbiAgLnN3aXBlci1pbWFnZSB7XG4gICAgbWF4LXdpZHRoOiA2Mi41cmVtO1xuICAgIHdpZHRoOiA2Ni42NjY2NyU7IH1cbiAgLnN3aXBlci1jYXB0aW9uIHtcbiAgICBiYWNrZ3JvdW5kOiBub25lO1xuICAgIGJvdHRvbTogMDtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGxlZnQ6IDA7XG4gICAgcGFkZGluZzogMDtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgcmlnaHQ6IDA7XG4gICAgdG9wOiAwOyB9XG4gIC5zd2lwZXItY2FwdGlvbjo6YmVmb3JlIHtcbiAgICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQodG8gcmlnaHQsIHJnYmEoMjU1LCAyNTUsIDI1NSwgMCkgMCUsIHdoaXRlIDIwJSk7XG4gICAgYm90dG9tOiAwO1xuICAgIGNvbnRlbnQ6IFwiXFwwMDIwXCI7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHJpZ2h0OiAwO1xuICAgIHRvcDogMDtcbiAgICB3aWR0aDogNjYuNjY2NjclO1xuICAgIHdpZHRoOiBjYWxjKDY2LjY2NjY3JSArIDMuMTI1cmVtKTtcbiAgICB6LWluZGV4OiAwOyB9XG4gIC5zd2lwZXItY2FwdGlvbiAuc3dpcGVyLWNhcHRpb24taW5uZXIge1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBwYWRkaW5nOiAwLjkzNzVlbSAxLjI1ZW0gMC45Mzc1ZW0gMzEuMjVlbTtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgei1pbmRleDogMTsgfVxuICAuc3dpcGVyLXVzZXItY29udGVudCBoMSB7XG4gICAgZm9udC1zaXplOiAzLjI1ZW07IH1cbiAgLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICogKiBMYXlvdXRcblxcKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbiAgLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICogKiBUb29sYmFyXG5cXCogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4gIC50b29sYmFyX2lubmVyIHtcbiAgICBwYWRkaW5nLWJvdHRvbTogMC45Mzc1cmVtO1xuICAgIHBhZGRpbmctdG9wOiAwLjkzNzVyZW07IH1cbiAgLyogZnVsbGJsZWVkIHZhcmlhbnQgKi9cbiAgLnRvb2xiYXItYmxvY2suLWZ1bGxibGVlZCB7XG4gICAgcGFkZGluZy1ib3R0b206IDAuOTM3NXJlbTtcbiAgICBwYWRkaW5nLXRvcDogMC45Mzc1cmVtOyB9XG4gIC50b29sYmFyLWJsb2NrLi1mdWxsYmxlZWQgPiAudG9vbGJhcl9pbm5lciB7XG4gICAgcGFkZGluZy1ib3R0b206IDA7XG4gICAgcGFkZGluZy10b3A6IDA7IH1cbiAgLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICogKiBIZWFkZXJcblxcKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi8gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSBhbmQgKG1heC13aWR0aDogODUuMzc1ZW0pIHtcbiAgLmhlYWRlci1ibG9jayB7XG4gICAgZm9udC1zaXplOiAxLjE3MTMwMzA3NDY3MDU3MXZ3OyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAuaGVhZGVyX2xvZ28ge1xuICAgIG1hcmdpbi10b3A6IC0zLjQzNzVlbTsgfVxuICAvKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKiAqIEhlcm9cblxcKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi8gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSBhbmQgKG1heC13aWR0aDogODUuMzc1ZW0pIHtcbiAgLmhlcm8tYmxvY2sge1xuICAgIGZvbnQtc2l6ZTogMS4xNzEzMDMwNzQ2NzA1NzF2dzsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgwZW0pIHtcbiAgLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICogKiBNb2R1bGVcblxcKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbiAgLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICogKiBMYXlvdXRcblxcKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi8gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4NS4zNzVlbSkge1xuICAvKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKiAqIE1vZHVsZVxuXFwqIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuICAvKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKiAqIExheW91dFxuXFwqIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuICAvKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKiAqIEhlYWRlclxuXFwqIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuICAuaGVhZGVyX2xvZ28ge1xuICAgIG1hcmdpbi10b3A6IC00LjA2MjVlbTtcbiAgICB3aWR0aDogMTkuMzc1ZW07IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA5MGVtKSB7XG4gIC8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqICogTW9kdWxlXG5cXCogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4gIC8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqICogTGF5b3V0XG5cXCogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovIH1cbiIsIi8vIFN0eWxlcyB3cml0dGVuIGJ5IEphY29iIEJlYXJjZSBAIFdlYmxpbngsIEluYy5cblxuLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICpcXFxuICogTm9ybWFsaXplXG5cXCogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG5cbi8qIHN0eWxlbGludC1kaXNhYmxlIHNlbGVjdG9yLW1heC10eXBlICovXG5cbi8qIFRoZXNlIHN0eWxlcyBhcmUgaW50ZW5kZWQgdG8gYmUgZ2xvYmFsICovXG5cbi8vIFZlbmRvclxuXG5AaW1wb3J0IFwiLi4vLi4vdmVuZG9yL19ub3JtYWxpemVcIjtcblxuLy8gQ3VzdG9tXG5cbi8vICBDaGFuZ2UgdGhlIGJveC1zaXppbmcgb2YgYWxsIGVsZW1lbnRzXG5cbiosXG4qOjpiZWZvcmUsXG4qOjphZnRlciB7XG4gICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbn1cblxuLy8gU2V0IG1heC1oZWlnaHQgYW5kIG1heC13aWR0aCB0byAxMDAlIG9uIFNWR3MgdG8gZml4IGEgYnVnIGluIFNhZmFyaSAoaHR0cDovL3N0YWNrb3ZlcmZsb3cuY29tL2EvMTI2MzEzMjYvNjU0NDgwKVxuXG5zdmcge1xuICAgIG1heC1oZWlnaHQ6IDEwMCU7XG4gICAgbWF4LXdpZHRoOiAxMDAlO1xufVxuIiwiLyohIG5vcm1hbGl6ZS5jc3MgdjQuMS4xIHwgTUlUIExpY2Vuc2UgfCBnaXRodWIuY29tL25lY29sYXMvbm9ybWFsaXplLmNzcyAqL1xuXG4vKipcbiAqIDEuIENoYW5nZSB0aGUgZGVmYXVsdCBmb250IGZhbWlseSBpbiBhbGwgYnJvd3NlcnMgKG9waW5pb25hdGVkKS5cbiAqIDIuIFByZXZlbnQgYWRqdXN0bWVudHMgb2YgZm9udCBzaXplIGFmdGVyIG9yaWVudGF0aW9uIGNoYW5nZXMgaW4gSUUgYW5kIGlPUy5cbiAqL1xuXG5odG1sIHtcbiAgZm9udC1mYW1pbHk6IHNhbnMtc2VyaWY7IC8qIDEgKi9cbiAgLW1zLXRleHQtc2l6ZS1hZGp1c3Q6IDEwMCU7IC8qIDIgKi9cbiAgLXdlYmtpdC10ZXh0LXNpemUtYWRqdXN0OiAxMDAlOyAvKiAyICovXG59XG5cbi8qKlxuICogUmVtb3ZlIHRoZSBtYXJnaW4gaW4gYWxsIGJyb3dzZXJzIChvcGluaW9uYXRlZCkuXG4gKi9cblxuYm9keSB7XG4gIG1hcmdpbjogMDtcbn1cblxuLyogSFRNTDUgZGlzcGxheSBkZWZpbml0aW9uc1xuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLyoqXG4gKiBBZGQgdGhlIGNvcnJlY3QgZGlzcGxheSBpbiBJRSA5LS5cbiAqIDEuIEFkZCB0aGUgY29ycmVjdCBkaXNwbGF5IGluIEVkZ2UsIElFLCBhbmQgRmlyZWZveC5cbiAqIDIuIEFkZCB0aGUgY29ycmVjdCBkaXNwbGF5IGluIElFLlxuICovXG5cbmFydGljbGUsXG5hc2lkZSxcbmRldGFpbHMsIC8qIDEgKi9cbmZpZ2NhcHRpb24sXG5maWd1cmUsXG5mb290ZXIsXG5oZWFkZXIsXG5tYWluLCAvKiAyICovXG5tZW51LFxubmF2LFxuc2VjdGlvbixcbnN1bW1hcnkgeyAvKiAxICovXG4gIGRpc3BsYXk6IGJsb2NrO1xufVxuXG4vKipcbiAqIEFkZCB0aGUgY29ycmVjdCBkaXNwbGF5IGluIElFIDktLlxuICovXG5cbmF1ZGlvLFxuY2FudmFzLFxucHJvZ3Jlc3MsXG52aWRlbyB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbn1cblxuLyoqXG4gKiBBZGQgdGhlIGNvcnJlY3QgZGlzcGxheSBpbiBpT1MgNC03LlxuICovXG5cbmF1ZGlvOm5vdChbY29udHJvbHNdKSB7XG4gIGRpc3BsYXk6IG5vbmU7XG4gIGhlaWdodDogMDtcbn1cblxuLyoqXG4gKiBBZGQgdGhlIGNvcnJlY3QgdmVydGljYWwgYWxpZ25tZW50IGluIENocm9tZSwgRmlyZWZveCwgYW5kIE9wZXJhLlxuICovXG5cbnByb2dyZXNzIHtcbiAgdmVydGljYWwtYWxpZ246IGJhc2VsaW5lO1xufVxuXG4vKipcbiAqIEFkZCB0aGUgY29ycmVjdCBkaXNwbGF5IGluIElFIDEwLS5cbiAqIDEuIEFkZCB0aGUgY29ycmVjdCBkaXNwbGF5IGluIElFLlxuICovXG5cbnRlbXBsYXRlLCAvKiAxICovXG5baGlkZGVuXSB7XG4gIGRpc3BsYXk6IG5vbmU7XG59XG5cbi8qIExpbmtzXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKipcbiAqIDEuIFJlbW92ZSB0aGUgZ3JheSBiYWNrZ3JvdW5kIG9uIGFjdGl2ZSBsaW5rcyBpbiBJRSAxMC5cbiAqIDIuIFJlbW92ZSBnYXBzIGluIGxpbmtzIHVuZGVybGluZSBpbiBpT1MgOCsgYW5kIFNhZmFyaSA4Ky5cbiAqL1xuXG5hIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7IC8qIDEgKi9cbiAgLXdlYmtpdC10ZXh0LWRlY29yYXRpb24tc2tpcDogb2JqZWN0czsgLyogMiAqL1xufVxuXG4vKipcbiAqIFJlbW92ZSB0aGUgb3V0bGluZSBvbiBmb2N1c2VkIGxpbmtzIHdoZW4gdGhleSBhcmUgYWxzbyBhY3RpdmUgb3IgaG92ZXJlZFxuICogaW4gYWxsIGJyb3dzZXJzIChvcGluaW9uYXRlZCkuXG4gKi9cblxuYTphY3RpdmUsXG5hOmhvdmVyIHtcbiAgb3V0bGluZS13aWR0aDogMDtcbn1cblxuLyogVGV4dC1sZXZlbCBzZW1hbnRpY3NcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qKlxuICogMS4gUmVtb3ZlIHRoZSBib3R0b20gYm9yZGVyIGluIEZpcmVmb3ggMzktLlxuICogMi4gQWRkIHRoZSBjb3JyZWN0IHRleHQgZGVjb3JhdGlvbiBpbiBDaHJvbWUsIEVkZ2UsIElFLCBPcGVyYSwgYW5kIFNhZmFyaS5cbiAqL1xuXG5hYmJyW3RpdGxlXSB7XG4gIGJvcmRlci1ib3R0b206IG5vbmU7IC8qIDEgKi9cbiAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7IC8qIDIgKi9cbiAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmUgZG90dGVkOyAvKiAyICovXG59XG5cbi8qKlxuICogUHJldmVudCB0aGUgZHVwbGljYXRlIGFwcGxpY2F0aW9uIG9mIGBib2xkZXJgIGJ5IHRoZSBuZXh0IHJ1bGUgaW4gU2FmYXJpIDYuXG4gKi9cblxuYixcbnN0cm9uZyB7XG4gIGZvbnQtd2VpZ2h0OiBpbmhlcml0O1xufVxuXG4vKipcbiAqIEFkZCB0aGUgY29ycmVjdCBmb250IHdlaWdodCBpbiBDaHJvbWUsIEVkZ2UsIGFuZCBTYWZhcmkuXG4gKi9cblxuYixcbnN0cm9uZyB7XG4gIGZvbnQtd2VpZ2h0OiBib2xkZXI7XG59XG5cbi8qKlxuICogQWRkIHRoZSBjb3JyZWN0IGZvbnQgc3R5bGUgaW4gQW5kcm9pZCA0LjMtLlxuICovXG5cbmRmbiB7XG4gIGZvbnQtc3R5bGU6IGl0YWxpYztcbn1cblxuLyoqXG4gKiBDb3JyZWN0IHRoZSBmb250IHNpemUgYW5kIG1hcmdpbiBvbiBgaDFgIGVsZW1lbnRzIHdpdGhpbiBgc2VjdGlvbmAgYW5kXG4gKiBgYXJ0aWNsZWAgY29udGV4dHMgaW4gQ2hyb21lLCBGaXJlZm94LCBhbmQgU2FmYXJpLlxuICovXG5cbmgxIHtcbiAgZm9udC1zaXplOiAyZW07XG4gIG1hcmdpbjogMC42N2VtIDA7XG59XG5cbi8qKlxuICogQ29ycmVjdCB0aGUgbGluZS1oZWlnaHQgZm9yIGFsbCBoZWFkaW5ncyBpbiBDaHJvbWUgbW9iaWxlLCBGaXJlZm94LFxuICogaU9TIFNhZmFyaSwgTWljcm9zb2Z0IEVkZ2UgYW5kIElFLlxuICovXG5cbmgxLFxuaDIsXG5oMyxcbmg0LFxuaDUsXG5oNiB7XG4gIGxpbmUtaGVpZ2h0OiAxLjE1O1xufVxuXG4vKipcbiAqIEFkZCB0aGUgY29ycmVjdCBiYWNrZ3JvdW5kIGFuZCBjb2xvciBpbiBJRSA5LS5cbiAqL1xuXG5tYXJrIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZmMDtcbiAgY29sb3I6ICMwMDA7XG59XG5cbi8qKlxuICogQWRkIHRoZSBjb3JyZWN0IGZvbnQgc2l6ZSBpbiBhbGwgYnJvd3NlcnMuXG4gKi9cblxuc21hbGwge1xuICBmb250LXNpemU6IDgwJTtcbn1cblxuLyoqXG4gKiBQcmV2ZW50IGBzdWJgIGFuZCBgc3VwYCBlbGVtZW50cyBmcm9tIGFmZmVjdGluZyB0aGUgbGluZSBoZWlnaHQgaW5cbiAqIGFsbCBicm93c2Vycy5cbiAqL1xuXG5zdWIsXG5zdXAge1xuICBmb250LXNpemU6IDc1JTtcbiAgbGluZS1oZWlnaHQ6IDA7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgdmVydGljYWwtYWxpZ246IGJhc2VsaW5lO1xufVxuXG5zdWIge1xuICBib3R0b206IC0wLjI1ZW07XG59XG5cbnN1cCB7XG4gIHRvcDogLTAuNWVtO1xufVxuXG4vKiBFbWJlZGRlZCBjb250ZW50XG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKipcbiAqIFJlbW92ZSB0aGUgYm9yZGVyIG9uIGltYWdlcyBpbnNpZGUgbGlua3MgaW4gSUUgMTAtLlxuICovXG5cbmltZyB7XG4gIGJvcmRlci1zdHlsZTogbm9uZTtcbn1cblxuLyoqXG4gKiBIaWRlIHRoZSBvdmVyZmxvdyBpbiBJRS5cbiAqL1xuXG5zdmc6bm90KDpyb290KSB7XG4gIG92ZXJmbG93OiBoaWRkZW47XG59XG5cbi8qIEdyb3VwaW5nIGNvbnRlbnRcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qKlxuICogMS4gQ29ycmVjdCB0aGUgaW5oZXJpdGFuY2UgYW5kIHNjYWxpbmcgb2YgZm9udCBzaXplIGluIGFsbCBicm93c2Vycy5cbiAqIDIuIENvcnJlY3QgdGhlIG9kZCBgZW1gIGZvbnQgc2l6aW5nIGluIGFsbCBicm93c2Vycy5cbiAqL1xuXG5jb2RlLFxua2JkLFxucHJlLFxuc2FtcCB7XG4gIGZvbnQtZmFtaWx5OiBtb25vc3BhY2UsIG1vbm9zcGFjZTsgLyogMSAqL1xuICBmb250LXNpemU6IDFlbTsgLyogMiAqL1xufVxuXG4vKipcbiAqIEFkZCB0aGUgY29ycmVjdCBtYXJnaW4gaW4gSUUgOC5cbiAqL1xuXG5maWd1cmUge1xuICBtYXJnaW46IDFlbSA0MHB4O1xufVxuXG4vKipcbiAqIDEuIEFkZCB0aGUgY29ycmVjdCBib3ggc2l6aW5nIGluIEZpcmVmb3guXG4gKiAyLiBTaG93IHRoZSBvdmVyZmxvdyBpbiBFZGdlIGFuZCBJRS5cbiAqL1xuXG5ociB7XG4gIGJveC1zaXppbmc6IGNvbnRlbnQtYm94OyAvKiAxICovXG4gIGhlaWdodDogMDsgLyogMSAqL1xuICBvdmVyZmxvdzogdmlzaWJsZTsgLyogMiAqL1xufVxuXG4vKiBGb3Jtc1xuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLyoqXG4gKiAxLiBDaGFuZ2UgZm9udCBwcm9wZXJ0aWVzIHRvIGBpbmhlcml0YCBpbiBhbGwgYnJvd3NlcnMgKG9waW5pb25hdGVkKS5cbiAqIDIuIFJlbW92ZSB0aGUgbWFyZ2luIGluIEZpcmVmb3ggYW5kIFNhZmFyaS5cbiAqL1xuXG5idXR0b24sXG5pbnB1dCxcbm9wdGdyb3VwLFxuc2VsZWN0LFxudGV4dGFyZWEge1xuICBmb250OiBpbmhlcml0OyAvKiAxICovXG4gIG1hcmdpbjogMDsgLyogMiAqL1xufVxuXG4vKipcbiAqIFJlc3RvcmUgdGhlIGZvbnQgd2VpZ2h0IHVuc2V0IGJ5IHRoZSBwcmV2aW91cyBydWxlLlxuICovXG5cbm9wdGdyb3VwIHtcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7XG59XG5cbi8qKlxuICogU2hvdyB0aGUgb3ZlcmZsb3cgaW4gSUUuXG4gKiAxLiBTaG93IHRoZSBvdmVyZmxvdyBpbiBFZGdlLlxuICovXG5cbmJ1dHRvbixcbmlucHV0IHsgLyogMSAqL1xuICBvdmVyZmxvdzogdmlzaWJsZTtcbn1cblxuLyoqXG4gKiBSZW1vdmUgdGhlIGluaGVyaXRhbmNlIG9mIHRleHQgdHJhbnNmb3JtIGluIEVkZ2UsIEZpcmVmb3gsIGFuZCBJRS5cbiAqIDEuIFJlbW92ZSB0aGUgaW5oZXJpdGFuY2Ugb2YgdGV4dCB0cmFuc2Zvcm0gaW4gRmlyZWZveC5cbiAqL1xuXG5idXR0b24sXG5zZWxlY3QgeyAvKiAxICovXG4gIHRleHQtdHJhbnNmb3JtOiBub25lO1xufVxuXG4vKipcbiAqIDEuIFByZXZlbnQgYSBXZWJLaXQgYnVnIHdoZXJlICgyKSBkZXN0cm95cyBuYXRpdmUgYGF1ZGlvYCBhbmQgYHZpZGVvYFxuICogICAgY29udHJvbHMgaW4gQW5kcm9pZCA0LlxuICogMi4gQ29ycmVjdCB0aGUgaW5hYmlsaXR5IHRvIHN0eWxlIGNsaWNrYWJsZSB0eXBlcyBpbiBpT1MgYW5kIFNhZmFyaS5cbiAqL1xuXG5idXR0b24sXG5odG1sIFt0eXBlPVwiYnV0dG9uXCJdLCAvKiAxICovXG5bdHlwZT1cInJlc2V0XCJdLFxuW3R5cGU9XCJzdWJtaXRcIl0ge1xuICAtd2Via2l0LWFwcGVhcmFuY2U6IGJ1dHRvbjsgLyogMiAqL1xufVxuXG4vKipcbiAqIFJlbW92ZSB0aGUgaW5uZXIgYm9yZGVyIGFuZCBwYWRkaW5nIGluIEZpcmVmb3guXG4gKi9cblxuYnV0dG9uOjotbW96LWZvY3VzLWlubmVyLFxuW3R5cGU9XCJidXR0b25cIl06Oi1tb3otZm9jdXMtaW5uZXIsXG5bdHlwZT1cInJlc2V0XCJdOjotbW96LWZvY3VzLWlubmVyLFxuW3R5cGU9XCJzdWJtaXRcIl06Oi1tb3otZm9jdXMtaW5uZXIge1xuICBib3JkZXItc3R5bGU6IG5vbmU7XG4gIHBhZGRpbmc6IDA7XG59XG5cbi8qKlxuICogUmVzdG9yZSB0aGUgZm9jdXMgc3R5bGVzIHVuc2V0IGJ5IHRoZSBwcmV2aW91cyBydWxlLlxuICovXG5cbmJ1dHRvbjotbW96LWZvY3VzcmluZyxcblt0eXBlPVwiYnV0dG9uXCJdOi1tb3otZm9jdXNyaW5nLFxuW3R5cGU9XCJyZXNldFwiXTotbW96LWZvY3VzcmluZyxcblt0eXBlPVwic3VibWl0XCJdOi1tb3otZm9jdXNyaW5nIHtcbiAgb3V0bGluZTogMXB4IGRvdHRlZCBCdXR0b25UZXh0O1xufVxuXG4vKipcbiAqIENoYW5nZSB0aGUgYm9yZGVyLCBtYXJnaW4sIGFuZCBwYWRkaW5nIGluIGFsbCBicm93c2VycyAob3BpbmlvbmF0ZWQpLlxuICovXG5cbmZpZWxkc2V0IHtcbiAgYm9yZGVyOiAxcHggc29saWQgI2MwYzBjMDtcbiAgbWFyZ2luOiAwIDJweDtcbiAgcGFkZGluZzogMC4zNWVtIDAuNjI1ZW0gMC43NWVtO1xufVxuXG4vKipcbiAqIDEuIENvcnJlY3QgdGhlIHRleHQgd3JhcHBpbmcgaW4gRWRnZSBhbmQgSUUuXG4gKiAyLiBDb3JyZWN0IHRoZSBjb2xvciBpbmhlcml0YW5jZSBmcm9tIGBmaWVsZHNldGAgZWxlbWVudHMgaW4gSUUuXG4gKiAzLiBSZW1vdmUgdGhlIHBhZGRpbmcgc28gZGV2ZWxvcGVycyBhcmUgbm90IGNhdWdodCBvdXQgd2hlbiB0aGV5IHplcm8gb3V0XG4gKiAgICBgZmllbGRzZXRgIGVsZW1lbnRzIGluIGFsbCBicm93c2Vycy5cbiAqL1xuXG5sZWdlbmQge1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94OyAvKiAxICovXG4gIGNvbG9yOiBpbmhlcml0OyAvKiAyICovXG4gIGRpc3BsYXk6IHRhYmxlOyAvKiAxICovXG4gIG1heC13aWR0aDogMTAwJTsgLyogMSAqL1xuICBwYWRkaW5nOiAwOyAvKiAzICovXG4gIHdoaXRlLXNwYWNlOiBub3JtYWw7IC8qIDEgKi9cbn1cblxuLyoqXG4gKiBSZW1vdmUgdGhlIGRlZmF1bHQgdmVydGljYWwgc2Nyb2xsYmFyIGluIElFLlxuICovXG5cbnRleHRhcmVhIHtcbiAgb3ZlcmZsb3c6IGF1dG87XG59XG5cbi8qKlxuICogMS4gQWRkIHRoZSBjb3JyZWN0IGJveCBzaXppbmcgaW4gSUUgMTAtLlxuICogMi4gUmVtb3ZlIHRoZSBwYWRkaW5nIGluIElFIDEwLS5cbiAqL1xuXG5bdHlwZT1cImNoZWNrYm94XCJdLFxuW3R5cGU9XCJyYWRpb1wiXSB7XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7IC8qIDEgKi9cbiAgcGFkZGluZzogMDsgLyogMiAqL1xufVxuXG4vKipcbiAqIENvcnJlY3QgdGhlIGN1cnNvciBzdHlsZSBvZiBpbmNyZW1lbnQgYW5kIGRlY3JlbWVudCBidXR0b25zIGluIENocm9tZS5cbiAqL1xuXG5bdHlwZT1cIm51bWJlclwiXTo6LXdlYmtpdC1pbm5lci1zcGluLWJ1dHRvbixcblt0eXBlPVwibnVtYmVyXCJdOjotd2Via2l0LW91dGVyLXNwaW4tYnV0dG9uIHtcbiAgaGVpZ2h0OiBhdXRvO1xufVxuXG4vKipcbiAqIDEuIENvcnJlY3QgdGhlIG9kZCBhcHBlYXJhbmNlIGluIENocm9tZSBhbmQgU2FmYXJpLlxuICogMi4gQ29ycmVjdCB0aGUgb3V0bGluZSBzdHlsZSBpbiBTYWZhcmkuXG4gKi9cblxuW3R5cGU9XCJzZWFyY2hcIl0ge1xuICAtd2Via2l0LWFwcGVhcmFuY2U6IHRleHRmaWVsZDsgLyogMSAqL1xuICBvdXRsaW5lLW9mZnNldDogLTJweDsgLyogMiAqL1xufVxuXG4vKipcbiAqIFJlbW92ZSB0aGUgaW5uZXIgcGFkZGluZyBhbmQgY2FuY2VsIGJ1dHRvbnMgaW4gQ2hyb21lIGFuZCBTYWZhcmkgb24gT1MgWC5cbiAqL1xuXG5bdHlwZT1cInNlYXJjaFwiXTo6LXdlYmtpdC1zZWFyY2gtY2FuY2VsLWJ1dHRvbixcblt0eXBlPVwic2VhcmNoXCJdOjotd2Via2l0LXNlYXJjaC1kZWNvcmF0aW9uIHtcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lO1xufVxuXG4vKipcbiAqIENvcnJlY3QgdGhlIHRleHQgc3R5bGUgb2YgcGxhY2Vob2xkZXJzIGluIENocm9tZSwgRWRnZSwgYW5kIFNhZmFyaS5cbiAqL1xuXG46Oi13ZWJraXQtaW5wdXQtcGxhY2Vob2xkZXIge1xuICBjb2xvcjogaW5oZXJpdDtcbiAgb3BhY2l0eTogMC41NDtcbn1cblxuLyoqXG4gKiAxLiBDb3JyZWN0IHRoZSBpbmFiaWxpdHkgdG8gc3R5bGUgY2xpY2thYmxlIHR5cGVzIGluIGlPUyBhbmQgU2FmYXJpLlxuICogMi4gQ2hhbmdlIGZvbnQgcHJvcGVydGllcyB0byBgaW5oZXJpdGAgaW4gU2FmYXJpLlxuICovXG5cbjo6LXdlYmtpdC1maWxlLXVwbG9hZC1idXR0b24ge1xuICAtd2Via2l0LWFwcGVhcmFuY2U6IGJ1dHRvbjsgLyogMSAqL1xuICBmb250OiBpbmhlcml0OyAvKiAyICovXG59XG4iLCIvLyBTdHlsZXMgd3JpdHRlbiBieSBKYWNvYiBCZWFyY2UgQCBXZWJsaW54LCBJbmMuXG5cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqXFxcbiAqIEdyaWQgKGJhc2VkIGxvb3NlbHkgb24gaHR0cHM6Ly92NC1hbHBoYS5nZXRib290c3RyYXAuY29tL2xheW91dC9ncmlkLylcblxcKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cblxuLyogc3R5bGVsaW50LWRpc2FibGUgc2VsZWN0b3ItY2xhc3MtcGF0dGVybiAqL1xuXG4ucm93IHtcbiAgICAmIHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgZmxleC13cmFwOiB3cmFwO1xuICAgIH1cblxuICAgICYgPiBbY2xhc3MqPVwiY29sLVwiXSB7XG4gICAgICAgIGZsZXgtZ3JvdzogMTtcbiAgICAgICAgZmxleC1zaHJpbms6IDE7XG4gICAgICAgIG1pbi13aWR0aDogMDtcbiAgICB9XG5cbiAgICAmID4gW2NsYXNzKj1cImNvbC1cIl0uLW5vZ3JvdyB7XG4gICAgICAgIGZsZXgtZ3JvdzogMDtcbiAgICB9XG5cbiAgICAmID4gW2NsYXNzKj1cImNvbC1cIl0uLW5vd3JhcCB7XG4gICAgICAgIG1pbi13aWR0aDogMDtcbiAgICB9XG5cbiAgICAmID4gW2NsYXNzKj1cImNvbC1cIl0uLW5vc2hyaW5rIHtcbiAgICAgICAgZmxleC1zaHJpbms6IDA7XG4gICAgfVxuXG4gICAgJi4tcGFkZGVkIHtcbiAgICAgICAgd2lkdGg6IGNhbGMoMTAwJSArICN7cmVtaWZ5KCRjb2x1bW4tZ2FwLCAxNil9KTtcbiAgICB9XG5cbiAgICAmLi1wYWRkZWQgPiBbY2xhc3MqPVwiY29sLVwiXSB7XG4gICAgICAgIHBhZGRpbmctcmlnaHQ6IHJlbWlmeSgkY29sdW1uLWdhcCwgMTYpO1xuICAgIH1cblxuICAgICYuLW5vd3JhcCB7XG4gICAgICAgIGZsZXgtd3JhcDogbm93cmFwO1xuICAgIH1cblxuICAgICYuLXdyYXByZXZlcnNlIHtcbiAgICAgICAgZmxleC13cmFwOiB3cmFwLXJldmVyc2U7XG4gICAgfVxuXG4gICAgJi4tY2VudGVyIHtcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgfVxuXG4gICAgJjpub3QoLi1jb2x1bW4pLi1oY2VudGVyIHtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgfVxuXG4gICAgJjpub3QoLi1jb2x1bW4pLi12Y2VudGVyIHtcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICB9XG5cbiAgICAmOm5vdCguLWNvbHVtbikuLXRvcCB7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0O1xuICAgIH1cblxuICAgICY6bm90KC4tY29sdW1uKS4tcmlnaHQge1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kO1xuICAgIH1cblxuICAgICY6bm90KC4tY29sdW1uKS4tYm90dG9tIHtcbiAgICAgICAgYWxpZ24taXRlbXM6IGZsZXgtZW5kO1xuICAgIH1cblxuICAgICY6bm90KC4tY29sdW1uKS4tbGVmdCB7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDtcbiAgICB9XG5cbiAgICAmLi1zdHJldGNoIHtcbiAgICAgICAgYWxpZ24taXRlbXM6IHN0cmV0Y2g7XG4gICAgfVxuXG4gICAgJi4tYXJvdW5kIHtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1hcm91bmQ7XG4gICAgfVxuXG4gICAgJi4tYmV0d2VlbiB7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgICB9XG5cbiAgICAmOm5vdCguLWNvbHVtbikuLXJldmVyc2Uge1xuICAgICAgICBmbGV4LWRpcmVjdGlvbjogcm93LXJldmVyc2U7XG4gICAgfVxuXG4gICAgJi4tY29sdW1uIHtcbiAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICB9XG5cbiAgICAmLi1jb2x1bW4uLXZjZW50ZXIge1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICB9XG5cbiAgICAmLi1jb2x1bW4uLXRvcCB7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDtcbiAgICB9XG5cbiAgICAmLi1jb2x1bW4uLXJpZ2h0IHtcbiAgICAgICAgYWxpZ24taXRlbXM6IGZsZXgtZW5kO1xuICAgIH1cblxuICAgICYuLWNvbHVtbi4tYm90dG9tIHtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDtcbiAgICB9XG5cbiAgICAmLi1jb2x1bW4uLWxlZnQge1xuICAgICAgICBhbGlnbi1pdGVtczogZmxleC1zdGFydDtcbiAgICB9XG5cbiAgICAmLi1jb2x1bW4uLWhjZW50ZXIge1xuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIH1cblxuICAgICYuLWNvbHVtbi4tcmV2ZXJzZSB7XG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW4tcmV2ZXJzZTtcbiAgICB9XG59XG5cbi5jb2wtYXV0byB7XG4gICAgJiB7XG4gICAgICAgIGZsZXgtYmFzaXM6IGF1dG87XG4gICAgfVxufVxuXG5AZm9yICRpIGZyb20gMCB0aHJvdWdoIDEyIHtcbiAgICAuY29sLSN7JGl9IHtcbiAgICAgICAgZmxleC1iYXNpczogKCRpIC8gMTIpICogMTAwJTtcbiAgICB9XG59XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6ICR4cy1icmVhaykge1xuICAgIC5jb2wteHMtYXV0byB7XG4gICAgICAgICYge1xuICAgICAgICAgICAgZmxleC1iYXNpczogYXV0bztcbiAgICAgICAgfVxuICAgIH1cblxuICAgIEBmb3IgJGkgZnJvbSAwIHRocm91Z2ggMTIge1xuICAgICAgICAuY29sLXhzLSN7JGl9IHtcbiAgICAgICAgICAgIGZsZXgtYmFzaXM6ICgkaSAvIDEyKSAqIDEwMCU7XG4gICAgICAgIH1cbiAgICB9XG59XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6ICRzLWJyZWFrKSB7XG4gICAgLmNvbC1zLWF1dG8ge1xuICAgICAgICAmIHtcbiAgICAgICAgICAgIGZsZXgtYmFzaXM6IGF1dG87XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBAZm9yICRpIGZyb20gMCB0aHJvdWdoIDEyIHtcbiAgICAgICAgLmNvbC1zLSN7JGl9IHtcbiAgICAgICAgICAgIGZsZXgtYmFzaXM6ICgkaSAvIDEyKSAqIDEwMCU7XG4gICAgICAgIH1cbiAgICB9XG59XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6ICRtLWJyZWFrKSB7XG4gICAgLmNvbC1tLWF1dG8ge1xuICAgICAgICAmIHtcbiAgICAgICAgICAgIGZsZXgtYmFzaXM6IGF1dG87XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBAZm9yICRpIGZyb20gMCB0aHJvdWdoIDEyIHtcbiAgICAgICAgLmNvbC1tLSN7JGl9IHtcbiAgICAgICAgICAgIGZsZXgtYmFzaXM6ICgkaSAvIDEyKSAqIDEwMCU7XG4gICAgICAgIH1cbiAgICB9XG59XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6ICRsLWJyZWFrKSB7XG4gICAgLmNvbC1sLWF1dG8ge1xuICAgICAgICAmIHtcbiAgICAgICAgICAgIGZsZXgtYmFzaXM6IGF1dG87XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBAZm9yICRpIGZyb20gMCB0aHJvdWdoIDEyIHtcbiAgICAgICAgLmNvbC1sLSN7JGl9IHtcbiAgICAgICAgICAgIGZsZXgtYmFzaXM6ICgkaSAvIDEyKSAqIDEwMCU7XG4gICAgICAgIH1cbiAgICB9XG59XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6ICR4bC1icmVhaykge1xuICAgIC5jb2wteGwtYXV0byB7XG4gICAgICAgICYge1xuICAgICAgICAgICAgZmxleC1iYXNpczogYXV0bztcbiAgICAgICAgfVxuICAgIH1cblxuICAgIEBmb3IgJGkgZnJvbSAwIHRocm91Z2ggMTIge1xuICAgICAgICAuY29sLXhsLSN7JGl9IHtcbiAgICAgICAgICAgIGZsZXgtYmFzaXM6ICgkaSAvIDEyKSAqIDEwMCU7XG4gICAgICAgIH1cbiAgICB9XG59XG4iLCIvLyBTdHlsZXMgd3JpdHRlbiBieSBKYWNvYiBCZWFyY2UgQCBXZWJsaW54LCBJbmMuXG5cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqXFxcbiAqIEljb25cblxcKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cblxuLmljb24ge1xuICAgICYge1xuICAgICAgICBhbGlnbi1zZWxmOiBjZW50ZXI7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICAgICAgICBoZWlnaHQ6IDFlbTtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICB3aWR0aDogMWVtO1xuICAgIH1cbn1cblxuLmljb25fc3ZnIHtcbiAgICAmIHtcbiAgICAgICAgYm90dG9tOiAtMC4xMjVlbTtcbiAgICAgICAgaGVpZ2h0OiAxZW07XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgd2lkdGg6IDFlbTtcbiAgICB9XG59XG4iLCIvLyBTdHlsZXMgd3JpdHRlbiBieSBKYWNvYiBCZWFyY2UgQCBXZWJsaW54LCBJbmMuXG5cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqXFxcbiAqIExpbmtcblxcKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cblxuLmxpbmsge1xuICAgICYge1xuICAgICAgICBjb2xvcjogJGFjY2VudDtcbiAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgICAgIHRyYW5zaXRpb246IGNvbG9yIDAuMTVzO1xuICAgIH1cblxuICAgICY6Zm9jdXMsXG4gICAgJjpob3ZlciB7XG4gICAgICAgIGNvbG9yOiAkYWNjZW50X2FsdDtcbiAgICB9XG59XG4iLCIvLyBTdHlsZXMgd3JpdHRlbiBieSBKYWNvYiBCZWFyY2UgQCBXZWJsaW54LCBJbmMuXG5cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqXFxcbiAqIFRpdGxlXG5cXCogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG5cbi50aXRsZSB7XG4gICAgJiB7XG4gICAgICAgIGNvbG9yOiAkcHJpbWFyeTtcbiAgICAgICAgZm9udC1mYW1pbHk6ICRoZWFkaW5nLWZvbnQ7XG4gICAgICAgIGZvbnQtc2l6ZTogcmVtaWZ5KDIyLCAxNik7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgICAgIGxldHRlci1zcGFjaW5nOiAwLjAyNWVtO1xuICAgICAgICBsaW5lLWhlaWdodDogcmVtaWZ5KDI2LCAyMik7XG4gICAgICAgIG1hcmdpbjogcmVtaWZ5KDAgMCAxMCwgMjIpO1xuICAgICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgIH1cbn1cblxuLyogVGFibGV0IHZhcmlhbnQgKi9cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogJHhzLWJyZWFrKSB7XG4gICAgLnRpdGxlIHtcbiAgICAgICAgJiB7XG4gICAgICAgICAgICBmb250LXNpemU6IHJlbWlmeSgzMiwgMTYpO1xuICAgICAgICB9XG4gICAgfVxufVxuXG4vKiBkaXZpZGVyIHZhcmlhbnQgKi9cblxuLnRpdGxlLi1kaXZpZGVyIHtcbiAgICAmIHtcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICB9XG5cbiAgICAmOjpiZWZvcmUsXG4gICAgJjo6YWZ0ZXIge1xuICAgICAgICBiYWNrZ3JvdW5kOiBsaWdodGVuKCRmb3JlZ3JvdW5kLCA3MC45ODA0KTtcbiAgICAgICAgY29udGVudDogXCJcXDAwMjBcIjtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIGZsZXg6IDEgMSAwJTtcbiAgICAgICAgaGVpZ2h0OiByZW1pZnkoMSk7XG4gICAgfVxuXG4gICAgJjo6YmVmb3JlIHtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiByZW1pZnkoOCwgMjIpO1xuICAgIH1cblxuICAgICY6OmFmdGVyIHtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IHJlbWlmeSg4LCAyMik7XG4gICAgfVxufVxuXG4vKiBkaXZpZGVyIFRhYmxldCB2YXJpYW50ICovXG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6ICR4cy1icmVhaykge1xuICAgIC50aXRsZS4tZGl2aWRlciB7XG4gICAgICAgICY6OmJlZm9yZSB7XG4gICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IHJlbWlmeSg0MCwgMzIpO1xuICAgICAgICB9XG5cbiAgICAgICAgJjo6YWZ0ZXIge1xuICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IHJlbWlmeSg0MCwgMzIpO1xuICAgICAgICB9XG4gICAgfVxufVxuXG4vKiBkaXZpZGVyIGxlZnQgdmFyaWFudCAqL1xuXG4udGl0bGUuLWRpdmlkZXIuLWxlZnQge1xuICAgICY6OmFmdGVyIHtcbiAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG59XG5cbi8qIGRpdmlkZXIgcmlnaHQgdmFyaWFudCAqL1xuXG4udGl0bGUuLWRpdmlkZXIuLXJpZ2h0IHtcbiAgICAmOjpiZWZvcmUge1xuICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgIH1cbn1cblxuLyogc3ViIHZhcmlhbnQgKi9cblxuLnRpdGxlLi1zdWIge1xuICAgICYge1xuICAgICAgICBmb250LXNpemU6IHJlbWlmeSgxOCwgMTYpO1xuICAgIH1cbn1cblxuLyogc3ViIFRhYmxldCB2YXJpYW50ICovXG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6ICR4cy1icmVhaykge1xuICAgIC50aXRsZS4tc3ViIHtcbiAgICAgICAgZm9udC1zaXplOiByZW1pZnkoMjAsIDE2KTtcbiAgICB9XG59XG4iLCIvLyBTdHlsZXMgd3JpdHRlbiBieSBKYWNvYiBCZWFyY2UgQCBXZWJsaW54LCBJbmMuXG5cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqXFxcbiAqIFRleHRcblxcKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cblxuLnRleHQge1xuICAgICYge1xuICAgICAgICBjb2xvcjogJGZvcmVncm91bmQ7XG4gICAgICAgIGZvbnQtZmFtaWx5OiAkYm9keS1mb250O1xuICAgICAgICBmb250LXNpemU6IHJlbWlmeSgxNywgMTYpO1xuICAgICAgICBmb250LXdlaWdodDogMzAwO1xuICAgICAgICBsaW5lLWhlaWdodDogcmVtaWZ5KDIyLCAxNyk7XG4gICAgICAgIG1hcmdpbjogcmVtaWZ5KDAgMCAyMiwgMTcpO1xuICAgIH1cbn1cblxuLyogVGFibGV0IHZhcmlhbnQgKi9cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogJHhzLWJyZWFrKSB7XG4gICAgLnRleHQge1xuICAgICAgICAmIHtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogcmVtaWZ5KDIzLCAxNik7XG4gICAgICAgIH1cbiAgICB9XG59XG5cbi8qIGxhYmVsIHZhcmlhbnQgKi9cblxuLnRleHQuLWxhYmVsIHtcbiAgICAmIHtcbiAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIH1cbn1cbiIsIi8vIFN0eWxlcyB3cml0dGVuIGJ5IEphY29iIEJlYXJjZSBAIFdlYmxpbngsIEluYy5cblxuLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICpcXFxuICogSW5wdXRcblxcKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cblxuLmlucHV0IHtcbiAgICAmIHtcbiAgICAgICAgYXBwZWFyYW5jZTogbm9uZTtcbiAgICAgICAgYmFja2dyb3VuZDogJGJhY2tncm91bmQ7XG4gICAgICAgIGJvcmRlcjogcmVtaWZ5KDEpIHNvbGlkIGRhcmtlbigkYmFja2dyb3VuZF9hbHQsIDEwKTtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogMDtcbiAgICAgICAgY29sb3I6ICRmb3JlZ3JvdW5kO1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgZm9udC1mYW1pbHk6ICRib2R5LWZvbnQ7XG4gICAgICAgIGZvbnQtc2l6ZTogcmVtaWZ5KDE0LCAxNik7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiA0MDA7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiByZW1pZnkoMTgsIDE0KTtcbiAgICAgICAgbWFyZ2luOiByZW1pZnkoMCAwIDEyLjUsIDE0KTtcbiAgICAgICAgb3V0bGluZTogMDtcbiAgICAgICAgcGFkZGluZzogcmVtaWZ5KDguNSAyMCwgMTQpO1xuICAgICAgICB0cmFuc2l0aW9uOiBib3JkZXItY29sb3IgMC4xNXMsIGNvbG9yIDAuMTVzO1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICB9XG5cbiAgICAmOmZvY3VzLFxuICAgICY6aG92ZXIge1xuICAgICAgICBib3JkZXItY29sb3I6ICRhY2NlbnQ7XG4gICAgfVxufVxuXG4vKiBUYWJsZXQgdmFyaWFudCAqL1xuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAkeHMtYnJlYWspIHtcbiAgICAuaW5wdXQge1xuICAgICAgICBmb250LXNpemU6IHJlbWlmeSgxOCwgMTYpO1xuICAgIH1cbn1cblxuLyogc2VsZWN0IHZhcmlhbnQgKi9cblxuLmlucHV0Li1zZWxlY3Qge1xuICAgICYge1xuICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgICAgIC8vIHJlbW92ZSBGaXJlZm94IGRlZmF1bHQgc3R5bGVzICYgYXJyb3dcbiAgICAgICAgdGV4dC1pbmRlbnQ6IDAuMDFweDtcbiAgICAgICAgdGV4dC1vdmVyZmxvdzogXCJcIjtcbiAgICAgICAgLy8gcmVtb3ZlIElFIGRlZmF1bHQgc3R5bGVzICYgYXJyb3dcbiAgICAgICAgJjo6LW1zLWV4cGFuZCB7IGRpc3BsYXk6IG5vbmU7IH1cbiAgICB9XG5cbiAgICAmLi1hcnJvdyB7XG4gICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImRhdGE6aW1hZ2Uvc3ZnK3htbDt1dGY4LDxzdmcgd2lkdGg9JzE3OTInIGhlaWdodD0nMTc5Micgdmlld0JveD0nMCAwIDE3OTIgMTc5MicgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJz48cGF0aCBkPSdNMTQwOCAxMDg4cTAgMjYtMTkgNDVsLTQ0OCA0NDhxLTE5IDE5LTQ1IDE5dC00NS0xOWwtNDQ4LTQ0OHEtMTktMTktMTktNDV0MTktNDUgNDUtMTloODk2cTI2IDAgNDUgMTl0MTkgNDV6bTAtMzg0cTAgMjYtMTkgNDV0LTQ1IDE5aC04OTZxLTI2IDAtNDUtMTl0LTE5LTQ1IDE5LTQ1bDQ0OC00NDhxMTktMTkgNDUtMTl0NDUgMTlsNDQ4IDQ0OHExOSAxOSAxOSA0NXonLz48L3N2Zz5cIik7XG4gICAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlciByaWdodCByZW1pZnkoMTAsIDE0KTtcbiAgICAgICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgICAgICAgYmFja2dyb3VuZC1zaXplOiByZW1pZnkoMTQgMTQsIDE0KTtcbiAgICAgICAgcGFkZGluZy1yaWdodDogcmVtaWZ5KDQ0LCAxNCk7XG4gICAgfVxufVxuXG4vKiBjaGVja2JveCAmIHJhZGlvYnV0dG9uIHZhcmlhbnRzICovXG5cbi5pbnB1dC4tY2hlY2tib3gsXG4uaW5wdXQuLXJhZGlvYnV0dG9uIHtcbiAgICAmIHtcbiAgICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyIGNlbnRlcjtcbiAgICAgICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgICAgICAgYmFja2dyb3VuZC1zaXplOiByZW1pZnkoMTAsIDE0KTtcbiAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgIGhlaWdodDogcmVtaWZ5KDE2LCAxNCk7XG4gICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gICAgICAgIHdpZHRoOiByZW1pZnkoMTYsIDE0KTtcbiAgICB9XG5cbiAgICAmLi1yYWRpb2J1dHRvbiB7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgICB9XG5cbiAgICAmLi1jaGVja2JveDpjaGVja2VkIHtcbiAgICAgICAgLyogYmdJbWFnZTogaWdub3JlICovXG4gICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImRhdGE6aW1hZ2Uvc3ZnK3htbCwlM0NzdmcgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJyB3aWR0aD0nMzInIGhlaWdodD0nMzInIHZpZXdib3g9JzAgMCAzMiAzMiclM0UlM0NwYXRoIGQ9J00zMiw4LjVjMCwwLjUtMC4yLDEtMC42LDEuNEwxNi41LDI0LjlsLTIuOCwyLjhjLTAuNCwwLjQtMC45LDAuNi0xLjQsMC42Yy0wLjUsMC0xLTAuMi0xLjQtMC42bC0yLjgtMi44bC03LjUtNy41LEMwLjIsMTcsMCwxNi42LDAsMTZjMC0wLjYsMC4yLTEsMC42LTEuNGwyLjgtMi44YzAuNC0wLjQsMC45LTAuNiwxLjQtMC42YzAuNSwwLDEsMC4yLDEuNCwwLjZsNi4xLDYuMUwyNS44LDQuMyxjMC40LTAuNCwwLjktMC42LDEuNC0wLjZjMC42LDAsMSwwLjIsMS40LDAuNmwyLjgsMi44QzMxLjgsNy41LDMyLDgsMzIsOC41eicgLyUzRSUzQy9zdmclM0VcIik7XG4gICAgfVxuXG4gICAgJi4tcmFkaW9idXR0b246Y2hlY2tlZCB7XG4gICAgICAgIC8qIGJnSW1hZ2U6IGlnbm9yZSAqL1xuICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJkYXRhOmltYWdlL3N2Zyt4bWwsJTNDc3ZnIHhtbG5zPSdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Zycgd2lkdGg9JzMyJyBoZWlnaHQ9JzMyJyB2aWV3Ym94PScwIDAgMzIgMzInJTNFJTNDcGF0aCBkPSdNMjkuOSw4YzEuNCwyLjUsMi4xLDUuMSwyLjEsOHMtMC43LDUuNi0yLjEsOHMtMy40LDQuNC01LjgsNS44UzE4LjksMzIsMTYsMzJjLTIuOSwwLTUuNi0wLjctOC0yLjFTMy42LDI2LjUsMi4xLDI0LEMwLjcsMjEuNiwwLDE4LjksMCwxNnMwLjctNS42LDIuMS04QzMuNiw1LjUsNS41LDMuNiw4LDIuMVMxMy4xLDAsMTYsMGMyLjksMCw1LjYsMC43LDgsMi4xUzI4LjQsNS41LDI5LjksOHonIC8lM0UlM0Mvc3ZnJTNFXCIpO1xuICAgIH1cblxuICAgICYgKyAudGV4dC4tbGFiZWwge1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgfVxufVxuXG4vKiB0b3VjaCBjaGVja2JveCAmIHJhZGlvYnV0dG9uIHZhcmlhbnRzICovXG5cbkBtZWRpYSAocG9pbnRlcjogY29hcnNlKSB7XG4gICAgLmlucHV0Li1jaGVja2JveCxcbiAgICAuaW5wdXQuLXJhZGlvYnV0dG9uIHtcbiAgICAgICAgJiB7XG4gICAgICAgICAgICBmb250LXNpemU6IHJlbWlmeSgyNCwgMTYpO1xuICAgICAgICB9XG4gICAgfVxufVxuIiwiLy8gU3R5bGVzIHdyaXR0ZW4gYnkgSmFjb2IgQmVhcmNlIEAgV2VibGlueCwgSW5jLlxuXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKlxcXG4gKiBCdXR0b25cblxcKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cblxuLmJ1dHRvbiB7XG4gICAgJiB7XG4gICAgICAgIGJhY2tncm91bmQ6ICRiYWNrZ3JvdW5kX2FsdDtcbiAgICAgICAgYm9yZGVyOiByZW1pZnkoMSkgc29saWQgbGlnaHRlbigkZm9yZWdyb3VuZCwgNzAuOTgwNCk7XG4gICAgICAgIGNvbG9yOiAkcHJpbWFyeTtcbiAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgIGZvbnQtZmFtaWx5OiAkaGVhZGluZy1mb250O1xuICAgICAgICBmb250LXNpemU6IHJlbWlmeSgxNCwgMTYpO1xuICAgICAgICBmb250LXdlaWdodDogNzAwO1xuICAgICAgICBsaW5lLWhlaWdodDogcmVtaWZ5KDIwLCAxNCk7XG4gICAgICAgIG1hcmdpbjogcmVtaWZ5KDAgMCAxMi41LCAxNCk7XG4gICAgICAgIG91dGxpbmU6IDA7XG4gICAgICAgIHBhZGRpbmc6IHJlbWlmeSg4IDE2LCAxNCk7XG4gICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICAgICAgdGV4dC10cmFuc2Zvcm06IGxvd2VyY2FzZTtcbiAgICAgICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZCAwLjE1cztcbiAgICB9XG5cbiAgICAmOmZvY3VzLFxuICAgICY6aG92ZXIge1xuICAgICAgICBiYWNrZ3JvdW5kOiBsaWdodGVuKCRiYWNrZ3JvdW5kLCA1KTtcbiAgICB9XG59XG5cbi8qIERlc2t0b3AgdmFyaWFudCAqL1xuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAkeHMtYnJlYWspIHtcbiAgICAuYnV0dG9uIHtcbiAgICAgICAgZm9udC1zaXplOiByZW1pZnkoMTgsIDE2KTtcbiAgICB9XG59XG4iLCIvLyBTdHlsZXMgd3JpdHRlbiBieSBKYWNvYiBCZWFyY2UgQCBXZWJsaW54LCBJbmMuXG5cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqXFxcbiAqIERpdmlkZXJcblxcKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cblxuLmRpdmlkZXIge1xuICAgICYge1xuICAgICAgICBiYWNrZ3JvdW5kOiBkYXJrZW4oJGJhY2tncm91bmRfYWx0LCAxMCk7XG4gICAgICAgIGJvcmRlcjogMDtcbiAgICAgICAgY2xlYXI6IGJvdGg7XG4gICAgICAgIGhlaWdodDogcmVtaWZ5KDEpO1xuICAgICAgICBtYXJnaW46IHJlbWlmeSgwIDAgMjAsIDE2KTtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgfVxufVxuIiwiLy8gU3R5bGVzIHdyaXR0ZW4gYnkgSmFjb2IgQmVhcmNlIEAgV2VibGlueCwgSW5jLlxuXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKlxcXG4gKiBVc2VyIENvbnRlbnRcblxcKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cblxuLnVzZXItY29udGVudCB7XG4gICAgLyogc3R5bGVsaW50LWRpc2FibGUgc2VsZWN0b3Itbm8tcXVhbGlmeWluZy10eXBlLCBzZWxlY3Rvci1tYXgtdHlwZSAqL1xuXG4gICAgLy8gbGlua3NcblxuICAgIGEge1xuICAgICAgICBAZXh0ZW5kIC5saW5rO1xuICAgIH1cblxuICAgIC8vIHRpdGxlc1xuXG4gICAgaDEsXG4gICAgaDIsXG4gICAgaDMsXG4gICAgaDQsXG4gICAgaDUsXG4gICAgaDYge1xuICAgICAgICBAZXh0ZW5kIC50aXRsZTtcbiAgICB9XG5cbiAgICBoMSBlbSxcbiAgICBoMiBlbSxcbiAgICBoMyBlbSxcbiAgICBoNCBlbSxcbiAgICBoNSBlbSxcbiAgICBoNiBlbSB7XG4gICAgICAgIGNvbG9yOiAkcHJpbWFyeV9hbHQ7XG4gICAgICAgIGZvbnQtZmFtaWx5OiAkaGVhZGluZy1mb250LWFsdDtcbiAgICAgICAgZm9udC1zaXplOiAxLjE1ZW07XG4gICAgICAgIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgICAgICAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgICAgICAgdGV4dC10cmFuc2Zvcm06IG5vbmU7XG4gICAgfVxuXG4gICAgaDIge1xuICAgICAgICBjb2xvcjogJHByaW1hcnlfYWx0O1xuICAgICAgICBmb250LWZhbWlseTogJGhlYWRpbmctZm9udC1hbHQ7XG4gICAgICAgIGZvbnQtc2l6ZTogcmVtaWZ5KDQwLCAxNik7XG4gICAgICAgIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgICAgICAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogcmVtaWZ5KDUsIDQwKTtcbiAgICAgICAgdGV4dC10cmFuc2Zvcm06IG5vbmU7XG4gICAgfVxuXG4gICAgaDMge1xuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgIH1cblxuICAgIGgzOjpiZWZvcmUsXG4gICAgaDM6OmFmdGVyIHtcbiAgICAgICAgYmFja2dyb3VuZDogbGlnaHRlbigkZm9yZWdyb3VuZCwgNzAuOTgwNCk7XG4gICAgICAgIGNvbnRlbnQ6IFwiXFwwMDIwXCI7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICBmbGV4OiAxIDEgMCU7XG4gICAgICAgIGhlaWdodDogcmVtaWZ5KDEpO1xuICAgIH1cblxuICAgIGgzOjpiZWZvcmUge1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IHJlbWlmeSg4LCAyMik7XG4gICAgfVxuXG4gICAgaDM6OmFmdGVyIHtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IHJlbWlmeSg4LCAyMik7XG4gICAgfVxuXG4gICAgaDQge1xuICAgICAgICBmb250LXNpemU6IHJlbWlmeSgxNi41LCAxNik7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiByZW1pZnkoMjIuNSwgMTYuNSk7XG4gICAgICAgIG1hcmdpbjogcmVtaWZ5KDAgMCA4LCAxNi41KTtcbiAgICAgICAgdGV4dC10cmFuc2Zvcm06IG5vbmU7XG4gICAgfVxuXG4gICAgaDUsXG4gICAgaDYge1xuICAgICAgICBmb250LXNpemU6IHJlbWlmeSgxNiwgMTYpO1xuICAgICAgICBsaW5lLWhlaWdodDogcmVtaWZ5KDI0LCAxNik7XG4gICAgICAgIG1hcmdpbjogcmVtaWZ5KDAgMCA4LCAxNik7XG4gICAgfVxuXG4gICAgLy8gdGV4dFxuXG4gICAgcCxcbiAgICBvbCxcbiAgICB1bCxcbiAgICB0YWJsZSB7XG4gICAgICAgIEBleHRlbmQgLnRleHQ7XG4gICAgfVxuXG4gICAgcCAuYnV0dG9uLFxuICAgIG9sIC5idXR0b24sXG4gICAgdWwgLmJ1dHRvbixcbiAgICB0YWJsZSAuYnV0dG9uIHtcbiAgICAgICAgZm9udC1zaXplOiByZW1pZnkoMTQsIDE3KTtcbiAgICB9XG5cbiAgICBvbCxcbiAgICB1bCB7XG4gICAgICAgIHBhZGRpbmctbGVmdDogcmVtaWZ5KDE4LCAxMik7XG4gICAgfVxuXG4gICAgb2wgb2wsXG4gICAgb2wgdWwsXG4gICAgdWwgb2wsXG4gICAgdWwgdWwge1xuICAgICAgICBmb250LXNpemU6IDFlbTtcbiAgICB9XG5cbiAgICAudGFibGVfY29udGFpbmVyIHtcbiAgICAgICAgb3ZlcmZsb3c6IGF1dG87XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgIH1cblxuICAgIHRhYmxlIHtcbiAgICAgICAgYm9yZGVyLWNvbGxhcHNlOiBjb2xsYXBzZTtcbiAgICAgICAgZGlzcGxheTogdGFibGU7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgIH1cblxuICAgIHRhYmxlIHRkLFxuICAgIHRhYmxlIHRoIHtcbiAgICAgICAgYm9yZGVyOiByZW1pZnkoMSkgc29saWQgZGFya2VuKCRiYWNrZ3JvdW5kX2FsdCwgMTApO1xuICAgICAgICBwYWRkaW5nOiByZW1pZnkoNiA4LCAxMik7XG4gICAgICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gICAgICAgIHZlcnRpY2FsLWFsaWduOiB0b3A7XG4gICAgfVxuXG4gICAgdGFibGUgdGJvZHkgdGgsXG4gICAgdGFibGUgPiB0ciA+IHRoLFxuICAgIHRhYmxlW2RhdGEtc3RhY2tlZD1cInRydWVcIl0gdGJvZHkgdGQ6OmJlZm9yZSB7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgfVxuXG4gICAgdGFibGUgdGhlYWQgdGQsXG4gICAgdGFibGUgdGhlYWQgdGgge1xuICAgICAgICBiYWNrZ3JvdW5kOiAkZGFya19hbHQ7XG4gICAgICAgIGJvcmRlci1jb2xvcjogbGlnaHRlbigkZGFya19hbHQsIDEwKTtcbiAgICAgICAgY29sb3I6ICRsaWdodDtcbiAgICAgICAgZm9udC1zaXplOiByZW1pZnkoMTYsIDEyKTtcbiAgICAgICAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgICAgICAgcGFkZGluZzogcmVtaWZ5KDYgOCwgMTYpO1xuICAgIH1cblxuICAgIHRhYmxlID4gdHI6bnRoLWNoaWxkKGV2ZW4pIHRkLFxuICAgIHRhYmxlID4gdHI6bnRoLWNoaWxkKGV2ZW4pIHRoLFxuICAgIHRhYmxlIHRib2R5IHRyOm50aC1jaGlsZChldmVuKSB0ZCxcbiAgICB0YWJsZSB0Ym9keSB0cjpudGgtY2hpbGQoZXZlbikgdGgge1xuICAgICAgICBiYWNrZ3JvdW5kOiAkYmFja2dyb3VuZF9hbHQ7XG4gICAgfVxuXG4gICAgLy8gYmxvY2txdW90ZVxuXG4gICAgYmxvY2txdW90ZSB7XG4gICAgICAgIGZvbnQtc3R5bGU6IGl0YWxpYztcbiAgICAgICAgbWFyZ2luOiByZW1pZnkoMCAwIDE4LCAxNik7XG4gICAgICAgIHBhZGRpbmc6IHJlbWlmeSgwIDAgMCAyOCwgMTYpO1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgfVxuXG4gICAgYmxvY2txdW90ZSBwLFxuICAgIGJsb2NrcXVvdGUgb2wsXG4gICAgYmxvY2txdW90ZSB1bCxcbiAgICBibG9ja3F1b3RlIHRhYmxlIHtcbiAgICAgICAgY29sb3I6IGxpZ2h0ZW4oJGZvcmVncm91bmQsIDUwKTtcbiAgICAgICAgZm9udC1zaXplOiByZW1pZnkoMTQsIDE2KTtcbiAgICB9XG5cbiAgICBibG9ja3F1b3RlID4gOmxhc3QtY2hpbGQge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgIH1cblxuICAgIC8vIGhvcml6b250YWwgcnVsZVxuXG4gICAgaHIge1xuICAgICAgICBAZXh0ZW5kIC5kaXZpZGVyO1xuICAgIH1cblxuICAgIC8vIGltYWdlc1xuXG4gICAgaW1nIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIGhlaWdodDogYXV0byAhaW1wb3J0YW50O1xuICAgICAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgfVxuXG4gICAgLy8gYWxpZ25tZW50XG5cbiAgICAuYWxpZ25sZWZ0IHtcbiAgICAgICAgZmxvYXQ6IGxlZnQ7XG4gICAgICAgIG1hcmdpbi1yaWdodDogcmVtaWZ5KDI1LCAxNik7XG4gICAgICAgIG1heC13aWR0aDogKDEwMCUgLyAzKTtcbiAgICB9XG5cbiAgICAuYWxpZ25yaWdodCB7XG4gICAgICAgIGZsb2F0OiByaWdodDtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IHJlbWlmeSgyNSwgMTYpO1xuICAgICAgICBtYXgtd2lkdGg6ICgxMDAlIC8gMyk7XG4gICAgfVxuXG4gICAgLmFsaWduY2VudGVyIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IGF1dG87XG4gICAgfVxuXG4gICAgLyogc3R5bGVsaW50LWVuYWJsZSAqL1xufVxuXG4vKiBUYWJsZXQgdmFyaWFudCAqL1xuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAkeHMtYnJlYWspIHtcbiAgICAudXNlci1jb250ZW50IHtcbiAgICAgICAgLyogc3R5bGVsaW50LWRpc2FibGUgc2VsZWN0b3Itbm8tcXVhbGlmeWluZy10eXBlLCBzZWxlY3Rvci1tYXgtdHlwZSAqL1xuXG4gICAgICAgIGgyIHtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogcmVtaWZ5KDYwLCAxNik7XG4gICAgICAgIH1cblxuICAgICAgICBoMzo6YmVmb3JlIHtcbiAgICAgICAgICAgIG1hcmdpbi1yaWdodDogcmVtaWZ5KDQwLCAzMik7XG4gICAgICAgIH1cblxuICAgICAgICBoMzo6YWZ0ZXIge1xuICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IHJlbWlmeSg0MCwgMzIpO1xuICAgICAgICB9XG5cbiAgICAgICAgaDQge1xuICAgICAgICAgICAgZm9udC1zaXplOiByZW1pZnkoMjIsIDE2KTtcbiAgICAgICAgfVxuXG4gICAgICAgIGg1LFxuICAgICAgICBoNiB7XG4gICAgICAgICAgICBmb250LXNpemU6IHJlbWlmeSgxOS4yLCAxNik7XG4gICAgICAgIH1cblxuICAgICAgICBwIC5idXR0b24sXG4gICAgICAgIG9sIC5idXR0b24sXG4gICAgICAgIHVsIC5idXR0b24sXG4gICAgICAgIHRhYmxlIC5idXR0b24ge1xuICAgICAgICAgICAgZm9udC1zaXplOiByZW1pZnkoMTgsIDIzKTtcbiAgICAgICAgfVxuXG4gICAgICAgIGJsb2NrcXVvdGUge1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogcmVtaWZ5KDI0LCAxNik7XG4gICAgICAgICAgICBwYWRkaW5nLWxlZnQ6IHJlbWlmeSgzNiwgMTYpO1xuICAgICAgICB9XG5cbiAgICAgICAgYmxvY2txdW90ZTo6YmVmb3JlIHtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogcmVtaWZ5KDI0LCAxNik7XG4gICAgICAgIH1cblxuICAgICAgICBibG9ja3F1b3RlIHAsXG4gICAgICAgIGJsb2NrcXVvdGUgb2wsXG4gICAgICAgIGJsb2NrcXVvdGUgdWwsXG4gICAgICAgIGJsb2NrcXVvdGUgdGFibGUge1xuICAgICAgICAgICAgZm9udC1zaXplOiByZW1pZnkoMTgsIDE2KTtcbiAgICAgICAgfVxuXG4gICAgICAgIC8qIHN0eWxlbGludC1lbmFibGUgKi9cbiAgICB9XG59XG5cbi8qIGxpZ2h0IHZhcmlhbnQgKi9cblxuLnVzZXItY29udGVudC4tbGlnaHQge1xuICAgIC8qIHN0eWxlbGludC1kaXNhYmxlIHNlbGVjdG9yLW5vLXF1YWxpZnlpbmctdHlwZSwgc2VsZWN0b3ItbWF4LXR5cGUgKi9cblxuICAgIGgxLFxuICAgIGgyLFxuICAgIGgzLFxuICAgIGg0LFxuICAgIGg1LFxuICAgIGg2LFxuICAgIG9sLFxuICAgIHAsXG4gICAgdGFibGUsXG4gICAgdWwge1xuICAgICAgICBjb2xvcjogJGxpZ2h0O1xuICAgIH1cblxuICAgIC8qIHN0eWxlbGludC1lbmFibGUgKi9cbn1cbiIsIi8vIFN0eWxlcyB3cml0dGVuIGJ5IEphY29iIEJlYXJjZSBAIFdlYmxpbngsIEluYy5cblxuLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICpcXFxuICogQXJ0aWNsZVxuXFwqIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuXG4uYXJ0aWNsZV9maWd1cmUge1xuICAgICYge1xuICAgICAgICBib3JkZXI6IHJlbWlmeSgxKSBzb2xpZCBsaWdodGVuKCRmb3JlZ3JvdW5kLCA3MC45ODA0KTtcbiAgICAgICAgbWFyZ2luOiByZW1pZnkoMCAwIDMwLCAxNik7XG4gICAgfVxufVxuXG4uYXJ0aWNsZV9pbWFnZSB7XG4gICAgJiB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICB9XG59XG5cbi8qIGNhbGxvdXQgdmFyaWFudCAqL1xuXG4uYXJ0aWNsZS4tY2FsbG91dCB7XG4gICAgJiB7XG4gICAgICAgIGJhY2tncm91bmQ6ICRiYWNrZ3JvdW5kO1xuICAgICAgICBib3JkZXI6IHJlbWlmeSgxKSBzb2xpZCBsaWdodGVuKCRmb3JlZ3JvdW5kLCA3MC45ODA0KTtcbiAgICAgICAgbWFyZ2luOiByZW1pZnkoMCAwICgkY29udGVudC1wYWRkaW5nICogMC41KSk7XG4gICAgfVxuXG4gICAgLmFydGljbGVfZmlndXJlIHtcbiAgICAgICAgYm9yZGVyOiAwO1xuICAgICAgICBtYXJnaW46IDA7XG4gICAgfVxuXG4gICAgLmFydGljbGVfY29udGVudCB7XG4gICAgICAgIHBhZGRpbmc6IHJlbWlmeSgkY29udGVudC1wYWRkaW5nICogMC40KTtcbiAgICB9XG5cbiAgICAuYXJ0aWNsZV9saW5rIHtcbiAgICAgICAgY29sb3I6IGluaGVyaXQ7XG4gICAgfVxuXG4gICAgLmFydGljbGVfbGluazpmb2N1cyxcbiAgICAuYXJ0aWNsZV9saW5rOmhvdmVyIHtcbiAgICAgICAgY29sb3I6IGluaGVyaXQ7XG4gICAgICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xuICAgIH1cblxuICAgIC5hcnRpY2xlX3RpdGxlIHtcbiAgICAgICAgZm9udC1zaXplOiByZW1pZnkoMTgsIDE2KTtcbiAgICB9XG59XG5cbi8qIGNhbGxvdXQgYWx0IHZhcmlhbnQgKi9cblxuLmFydGljbGUuLWNhbGxvdXQuLWFsdCB7XG4gICAgJiB7XG4gICAgICAgIGJvcmRlcjogMDtcbiAgICB9XG5cbiAgICAuYXJ0aWNsZV9jb250ZW50IHtcbiAgICAgICAgcGFkZGluZy1sZWZ0OiAwO1xuICAgICAgICBwYWRkaW5nLXJpZ2h0OiAwO1xuICAgIH1cbn1cblxuLyogZXhjZXJwdCB2YXJpYW50ICovXG5cbi5hcnRpY2xlLi1leGNlcnB0IHtcbiAgICAmOm5vdCg6bGFzdC1vZi10eXBlKSB7XG4gICAgICAgIGJvcmRlci1ib3R0b206IHJlbWlmeSgxKSBzb2xpZCBkYXJrZW4oJGJhY2tncm91bmRfYWx0LCAxMCk7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IHJlbWlmeSgyMCwgMTYpO1xuICAgIH1cblxuICAgIC5hcnRpY2xlX2xpbmsge1xuICAgICAgICBjb2xvcjogJHByaW1hcnk7XG4gICAgfVxuXG4gICAgLmFydGljbGVfbGluazpmb2N1cyxcbiAgICAuYXJ0aWNsZV9saW5rOmhvdmVyIHtcbiAgICAgICAgY29sb3I6ICRwcmltYXJ5X2FsdDtcbiAgICB9XG5cbiAgICAuYXJ0aWNsZV90aXRsZSB7XG4gICAgICAgIGZvbnQtc2l6ZTogcmVtaWZ5KDIwLCAxNik7XG4gICAgfVxufVxuXG4vKiBoZWFkbGluZSB2YXJpYW50ICovXG5cbi5hcnRpY2xlLi1oZWFkbGluZSB7XG4gICAgJiB7XG4gICAgICAgIGJvcmRlci1ib3R0b206IHJlbWlmeSgxKSBzb2xpZCBsaWdodGVuKCRmb3JlZ3JvdW5kLCA3MC45ODA0KTtcbiAgICAgICAgbWFyZ2luOiByZW1pZnkoMCAwIDE1LCAxNik7XG4gICAgICAgIHBhZGRpbmc6IHJlbWlmeSgwIDAgMTUsIDE2KTtcbiAgICB9XG5cbiAgICAuYXJ0aWNsZV9maWd1cmUge1xuICAgICAgICBib3JkZXI6IDA7XG4gICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgd2lkdGg6IHJlbWlmeSg3NSwgMTYpO1xuICAgIH1cblxuICAgIC5hcnRpY2xlX3RleHQge1xuICAgICAgICBmb250LXNpemU6IHJlbWlmeSgxNSwgMTYpO1xuICAgIH1cbn1cbiIsIi8vIFN0eWxlcyB3cml0dGVuIGJ5IEphY29iIEJlYXJjZSBAIFdlYmxpbngsIEluYy5cblxuLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICpcXFxuICogTG9nb1xuXFwqIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuXG4ubG9nbyB7XG4gICAgJiB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgICAgIHRyYW5zaXRpb246IG9wYWNpdHkgMC4xNXM7XG4gICAgfVxuXG4gICAgJjpob3ZlciB7XG4gICAgICAgIG9wYWNpdHk6IDAuOTtcbiAgICB9XG59XG5cbi5sb2dvX2ltYWdlIHtcbiAgICAmIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgIH1cbn1cbiIsIi8vIFN0eWxlcyB3cml0dGVuIGJ5IEphY29iIEJlYXJjZSBAIFdlYmxpbngsIEluYy5cblxuLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICpcXFxuICogTWVudSBMaXN0XG5cXCogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT0gR0xPQkFMIFZBUklBTlRTID09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4ubWVudS1saXN0X2NvbnRhaW5lciB7XG4gICAgJiB7XG4gICAgICAgIEBleHRlbmQgJWNsZWFyZml4O1xuICAgIH1cbn1cblxuLm1lbnUtbGlzdCB7XG4gICAgJiB7XG4gICAgICAgIEBleHRlbmQgJWNsZWFyZml4O1xuXG4gICAgICAgIGxpc3Qtc3R5bGU6IG5vbmU7XG4gICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgcGFkZGluZzogMDtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgfVxufVxuXG4ubWVudS1saXN0X2l0ZW0ge1xuICAgICYge1xuICAgICAgICBmbG9hdDogbGVmdDtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIH1cblxuICAgICYuLXBhcmVudCB7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICB9XG5cbiAgICAmLi1tZWdhIHtcbiAgICAgICAgcG9zaXRpb246IHN0YXRpYztcbiAgICB9XG59XG5cbi5tZW51LWxpc3RfbGluayB7XG4gICAgJiB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICBmbGV4OiAxIDEgMCU7XG4gICAgICAgIG1pbi13aWR0aDogMDtcbiAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgIH1cbn1cblxuLm1lbnUtbGlzdF90b2dnbGUge1xuICAgICYge1xuICAgICAgICBiYWNrZ3JvdW5kOiBub25lO1xuICAgICAgICBib3JkZXI6IDA7XG4gICAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIGZsZXg6IDAgMCBhdXRvO1xuICAgICAgICBmb250LXNpemU6IDFlbTtcbiAgICAgICAgbWFyZ2luOiAwO1xuICAgIH1cblxuICAgID4gLmljb24ge1xuICAgICAgICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMC4xNXM7XG4gICAgfVxuXG4gICAgLm1lbnUtbGlzdF9pdGVtLmlzLWFjdGl2ZSA+ICYgPiAuaWNvbiB7XG4gICAgICAgIHRyYW5zZm9ybTogcm90YXRlKC0xODBkZWcpO1xuICAgIH1cbn1cblxuLyogY2VudGVyIHZhcmlhbnQgKi9cblxuLm1lbnUtbGlzdC4tY2VudGVyIHtcbiAgICAmIHtcbiAgICAgICAgZmxvYXQ6IHJpZ2h0O1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIHJpZ2h0OiA1MCU7XG4gICAgfVxuXG4gICAgPiAubWVudS1saXN0X2l0ZW0ge1xuICAgICAgICBsZWZ0OiA1MCU7XG4gICAgfVxufVxuXG4vKiBmbGV4IHZhcmlhbnQgKi9cblxuLm1lbnUtbGlzdC4tZmxleCB7XG4gICAgJiB7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgfVxuXG4gICAgPiAubWVudS1saXN0X2l0ZW0ge1xuICAgICAgICBmbGV4OiAxIDEgMCU7XG4gICAgICAgIG1pbi13aWR0aDogMDtcbiAgICB9XG59XG5cbi8qIHZlcnRpY2FsIHZhcmlhbnQgKi9cblxuLm1lbnUtbGlzdC4tdmVydGljYWwge1xuICAgICYge1xuICAgICAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAgIH1cblxuICAgID4gLm1lbnUtbGlzdF9pdGVtIHtcbiAgICAgICAgZmxvYXQ6IG5vbmU7XG4gICAgfVxufVxuXG4vKiB2ZXJ0aWNhbCByZXZlcnNlIHZhcmlhbnQgKi9cblxuLm1lbnUtbGlzdC4tdmVydGljYWwuLXJldmVyc2Uge1xuICAgICYge1xuICAgICAgICB0ZXh0LWFsaWduOiByaWdodDtcbiAgICB9XG59XG5cbi8qIHRpZXIgdmFyaWFudCAqL1xuXG4ubWVudS1saXN0W2NsYXNzKj1cIi10aWVyXCJdIHtcbiAgICAmIHtcbiAgICAgICAgbWluLXdpZHRoOiAxMDAlO1xuICAgIH1cbn1cblxuLyogdGllciBhY2NvcmRpb24gdmFyaWFudCAqL1xuXG4ubWVudS1saXN0W2NsYXNzKj1cIi10aWVyXCJdLi1hY2NvcmRpb24ge1xuICAgICYge1xuICAgICAgICBtYXgtaGVpZ2h0OiAwO1xuICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgICAgICB0cmFuc2l0aW9uOiBtYXgtaGVpZ2h0IDAuMjVzLCB2aXNpYmlsaXR5IDBzIDAuMjVzO1xuICAgICAgICB2aXNpYmlsaXR5OiBoaWRkZW47XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgIH1cblxuICAgIC5tZW51LWxpc3RfaXRlbS4tcGFyZW50LmlzLWFjdGl2ZSA+ICYge1xuICAgICAgICBtYXgtaGVpZ2h0OiByZW1pZnkoNTAwLCAxNik7XG4gICAgICAgIHRyYW5zaXRpb246IG1heC1oZWlnaHQgMC4yNXM7XG4gICAgICAgIHZpc2liaWxpdHk6IHZpc2libGU7XG4gICAgfVxufVxuXG4vKiB0aWVyIG92ZXJsYXkgdmFyaWFudCAqL1xuXG4ubWVudS1saXN0W2NsYXNzKj1cIi10aWVyXCJdLi1vdmVybGF5IHtcbiAgICAmIHtcbiAgICAgICAgbGVmdDogLTk5OWVtO1xuICAgICAgICBvcGFjaXR5OiAwO1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHRvcDogLTk5OWVtO1xuICAgICAgICB0cmFuc2l0aW9uOiBsZWZ0IDBzIDAuMTVzLCBvcGFjaXR3eSAwLjE1cywgdG9wIDBzIDAuMTVzLCB2aXNpYmlsaXR5IDBzIDAuMTVzO1xuICAgICAgICB2aXNpYmlsaXR5OiBoaWRkZW47XG4gICAgICAgIHdpZHRoOiByZW1pZnkoMjUwLCAxNik7XG4gICAgfVxuXG4gICAgLm1lbnUtbGlzdF9pdGVtLi1wYXJlbnQ6aG92ZXIgPiAmLFxuICAgIC5tZW51LWxpc3RfaXRlbS4tcGFyZW50LmlzLWFjdGl2ZSA+ICYge1xuICAgICAgICBvcGFjaXR5OiAxO1xuICAgICAgICB0cmFuc2l0aW9uOiBvcGFjaXR5IDAuMTVzO1xuICAgICAgICB2aXNpYmlsaXR5OiB2aXNpYmxlO1xuICAgIH1cbn1cblxuLyogdGllciB2YXJpYW50ICovXG5cbi5tZW51LWxpc3RbY2xhc3MqPVwiLXRpZXJcIl0uLW92ZXJsYXkuLXJldmVyc2Uge1xuICAgICYge1xuICAgICAgICB0cmFuc2l0aW9uOiBvcGFjaXR5IDAuMTVzLCByaWdodCAwcyAwLjE1cywgdG9wIDBzIDAuMTVzO1xuICAgIH1cblxuICAgIC5tZW51LWxpc3RfaXRlbS4tcGFyZW50OmhvdmVyID4gJixcbiAgICAubWVudS1saXN0X2l0ZW0uLXBhcmVudC5pcy1hY3RpdmUgPiAmIHtcbiAgICAgICAgbGVmdDogYXV0bztcbiAgICAgICAgcmlnaHQ6IDA7XG4gICAgICAgIHRyYW5zaXRpb246IG9wYWNpdHkgMC4xNXM7XG4gICAgfVxufVxuXG4vKiB0aWVyMSBvdmVybGF5IHZhcmlhbnQgKi9cblxuLm1lbnUtbGlzdC4tdGllcjEuLW92ZXJsYXkge1xuICAgIC5tZW51LWxpc3RfaXRlbS4tcGFyZW50OmhvdmVyID4gJixcbiAgICAubWVudS1saXN0X2l0ZW0uLXBhcmVudC5pcy1hY3RpdmUgPiAmIHtcbiAgICAgICAgbGVmdDogMDtcbiAgICAgICAgdG9wOiAxMDAlO1xuICAgIH1cblxuICAgID4gLm1lbnUtbGlzdF9pdGVtLmlzLWFjdGl2ZSA+IC5tZW51LWxpc3RfdG9nZ2xlID4gLmljb24ge1xuICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSgtOTBkZWcpO1xuICAgIH1cbn1cblxuLyogdGllcjEgb3ZlcmxheSByZXZlcnNlIHZhcmlhbnQgKi9cblxuLm1lbnUtbGlzdC4tdGllcjEuLW92ZXJsYXkuLXJldmVyc2Uge1xuICAgICYge1xuICAgICAgICBsZWZ0OiBhdXRvO1xuICAgICAgICByaWdodDogOTk5ZW07XG4gICAgfVxuXG4gICAgLm1lbnUtbGlzdF9pdGVtLi1wYXJlbnQ6aG92ZXIgPiAmLFxuICAgIC5tZW51LWxpc3RfaXRlbS4tcGFyZW50LmlzLWFjdGl2ZSA+ICYge1xuICAgICAgICBsZWZ0OiBhdXRvO1xuICAgICAgICByaWdodDogMDtcbiAgICB9XG5cbiAgICA+IC5tZW51LWxpc3RfaXRlbS5pcy1hY3RpdmUgPiAubWVudS1saXN0X3RvZ2dsZSA+IC5pY29uIHtcbiAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoOTBkZWcpO1xuICAgIH1cbn1cblxuLyogdGllcjIgb3ZlcmxheSB2YXJpYW50ICovXG5cbi5tZW51LWxpc3QuLXRpZXIyLi1vdmVybGF5IHtcbiAgICAubWVudS1saXN0X2l0ZW0uLXBhcmVudDpob3ZlciA+ICYsXG4gICAgLm1lbnUtbGlzdF9pdGVtLi1wYXJlbnQuaXMtYWN0aXZlID4gJiB7XG4gICAgICAgIGxlZnQ6IDEwMCU7XG4gICAgICAgIHRvcDogMDtcbiAgICB9XG59XG5cbi8qIHRpZXIyIG92ZXJsYXkgcmV2ZXJzZSB2YXJpYW50ICovXG5cbi5tZW51LWxpc3QuLXRpZXIyLi1vdmVybGF5Li1yZXZlcnNlIHtcbiAgICAmIHtcbiAgICAgICAgbGVmdDogYXV0bztcbiAgICAgICAgcmlnaHQ6IDk5OWVtO1xuICAgIH1cblxuICAgIC5tZW51LWxpc3RfaXRlbS4tcGFyZW50OmhvdmVyID4gJixcbiAgICAubWVudS1saXN0X2l0ZW0uLXBhcmVudC5pcy1hY3RpdmUgPiAmIHtcbiAgICAgICAgbGVmdDogYXV0bztcbiAgICAgICAgcmlnaHQ6IDEwMCU7XG4gICAgfVxufVxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09IENVU1RPTSBWQVJJQU5UUyA9PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLyogbWVnYSB2YXJpYW50ICovXG5cbi5tZW51LWxpc3RfY29udGFpbmVyLi1tZWdhIHtcbiAgICAmIHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgbGVmdDogLTk5OWVtO1xuICAgICAgICBvcGFjaXR5OiAwO1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHJpZ2h0OiA5OTllbTtcbiAgICAgICAgdG9wOiAtOTk5ZW07XG4gICAgICAgIHRyYW5zaXRpb246IGxlZnQgMHMgMC4xNXMsIG9wYWNpdHkgMC4xNXMsIHJpZ2h0IDBzIDAuMTVzLCB0b3AgMHMgMC4xNXMsIHZpc2liaWxpdHkgMHMgMC4xNXM7XG4gICAgICAgIHZpc2liaWxpdHk6IGhpZGRlbjtcbiAgICB9XG5cbiAgICAubWVudS1saXN0X2l0ZW0uLW1lZ2EuLXBhcmVudDpob3ZlciA+ICYsXG4gICAgLm1lbnUtbGlzdF9pdGVtLi1tZWdhLi1wYXJlbnQuaXMtYWN0aXZlID4gJiB7XG4gICAgICAgIGxlZnQ6IDA7XG4gICAgICAgIG9wYWNpdHk6IDE7XG4gICAgICAgIHJpZ2h0OiAwO1xuICAgICAgICB0b3A6IDEwMCU7XG4gICAgICAgIHRyYW5zaXRpb246IG9wYWNpdHkgMC4xNXM7XG4gICAgICAgIHZpc2liaWxpdHk6IHZpc2libGU7XG4gICAgfVxuXG4gICAgLm1lbnUtbGlzdC4tdGllcjEge1xuICAgICAgICBmbGV4OiAxIDEgMCU7XG4gICAgICAgIG1pbi13aWR0aDogMDtcbiAgICB9XG5cbiAgICAubWVudS1saXN0Li10aWVyMiB7XG4gICAgICAgIGZsZXg6IDAgMCAxMDAlO1xuICAgIH1cbn1cblxuLyogbWV0YSB2YXJpYW50ICovXG5cbi5tZW51LWxpc3QuLW1ldGEge1xuICAgICYge1xuICAgICAgICBjb2xvcjogJGZvcmVncm91bmRfYWx0O1xuICAgICAgICBmb250LWZhbWlseTogJGhlYWRpbmctZm9udDtcbiAgICAgICAgZm9udC1zaXplOiByZW1pZnkoMTQsIDE2KTtcbiAgICAgICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICB9XG5cbiAgICAubWVudS1saXN0X2l0ZW06bm90KDpsYXN0LWNoaWxkKSB7XG4gICAgICAgIG1hcmdpbi1yaWdodDogcmVtaWZ5KDIwLCAxNCk7XG4gICAgfVxuXG4gICAgLm1lbnUtbGlzdF9saW5rIHtcbiAgICAgICAgY29sb3I6ICRmb3JlZ3JvdW5kX2FsdDtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIH1cblxuICAgIC5tZW51LWxpc3RfbGluazpob3ZlciB7XG4gICAgICAgIGNvbG9yOiBsaWdodGVuKCRmb3JlZ3JvdW5kX2FsdCwgMTApO1xuICAgIH1cbn1cblxuLyogbmF2aWdhdGlvbiB2YXJpYW50ICovXG5cbi5tZW51LWxpc3QuLW5hdmlnYXRpb24ge1xuICAgICYge1xuICAgICAgICBmb250LWZhbWlseTogJGhlYWRpbmctZm9udDtcbiAgICAgICAgZm9udC1zaXplOiByZW1pZnkoMTgsIDE2KTtcbiAgICAgICAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICB9XG5cbiAgICAubWVudS1saXN0X2xpbmssXG4gICAgLm1lbnUtbGlzdF90b2dnbGUge1xuICAgICAgICBjb2xvcjogJGFjY2VudDtcbiAgICAgICAgcGFkZGluZzogcmVtaWZ5KDggMTgsIDE4KTtcbiAgICB9XG5cbiAgICAubWVudS1saXN0X2xpbms6Zm9jdXMsXG4gICAgLm1lbnUtbGlzdF9saW5rOmhvdmVyLFxuICAgID4gLm1lbnUtbGlzdF9pdGVtLi1wYXJlbnQ6aG92ZXIgPiAubWVudS1saXN0X2xpbmssXG4gICAgPiAubWVudS1saXN0X2l0ZW0uLXBhcmVudC5pcy1hY3RpdmUgPiAubWVudS1saXN0X2xpbmssXG4gICAgLm1lbnUtbGlzdF90b2dnbGU6Zm9jdXMsXG4gICAgLm1lbnUtbGlzdF90b2dnbGU6aG92ZXIsXG4gICAgLm1lbnUtbGlzdF9pdGVtLi1wYXJlbnQ6aG92ZXIgPiAubWVudS1saXN0X3RvZ2dsZSxcbiAgICAubWVudS1saXN0X2l0ZW0uLXBhcmVudC5pcy1hY3RpdmUgPiAubWVudS1saXN0X3RvZ2dsZSB7XG4gICAgICAgIGNvbG9yOiAkYWNjZW50X2FsdDtcbiAgICB9XG5cbiAgICAvLyB0aWVyIDFcblxuICAgIC5tZW51LWxpc3QuLXRpZXIxIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGFjY2VudDtcbiAgICAgICAgZm9udC1zaXplOiByZW1pZnkoMTYsIDE4KTtcbiAgICB9XG5cbiAgICAubWVudS1saXN0Li10aWVyMTo6YmVmb3JlLFxuICAgIC5tZW51LWxpc3QuLXRpZXIxOjphZnRlciB7XG4gICAgICAgIGNvbnRlbnQ6IFwiXFwwMDIwXCI7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICBoZWlnaHQ6IHJlbWlmeSg4LCAxNik7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgIH1cblxuICAgIC5tZW51LWxpc3QuLXRpZXIxLi1tZWdhIHtcbiAgICAgICAgbWF4LXdpZHRoOiByZW1pZnkoMjUwLCAxNik7XG4gICAgfVxuXG4gICAgLm1lbnUtbGlzdC4tdGllcjEuLW1lZ2E6bm90KDpsYXN0LWNoaWxkKSB7XG4gICAgICAgIGJvcmRlci1yaWdodDogcmVtaWZ5KDEpIHNvbGlkIGRhcmtlbigkYWNjZW50LCAxMCk7XG4gICAgfVxuXG4gICAgLm1lbnUtbGlzdC4tdGllcjEgLm1lbnUtbGlzdF9saW5rLFxuICAgIC5tZW51LWxpc3QuLXRpZXIxIC5tZW51LWxpc3RfdG9nZ2xlIHtcbiAgICAgICAgY29sb3I6ICRsaWdodDtcbiAgICAgICAgcGFkZGluZzogcmVtaWZ5KDQgMTgsIDE2KTtcbiAgICB9XG5cbiAgICAubWVudS1saXN0Li10aWVyMSAubWVudS1saXN0X2xpbms6Zm9jdXMsXG4gICAgLm1lbnUtbGlzdC4tdGllcjEgLm1lbnUtbGlzdF9saW5rOmhvdmVyLFxuICAgIC5tZW51LWxpc3QuLXRpZXIxOm5vdCguLW1lZ2EpID4gLm1lbnUtbGlzdF9pdGVtLi1wYXJlbnQ6aG92ZXIgPiAubWVudS1saXN0X2xpbmssXG4gICAgLm1lbnUtbGlzdC4tdGllcjE6bm90KC4tbWVnYSkgPiAubWVudS1saXN0X2l0ZW0uLXBhcmVudC5pcy1hY3RpdmUgPiAubWVudS1saXN0X2xpbmssXG4gICAgLm1lbnUtbGlzdC4tdGllcjEgLm1lbnUtbGlzdF90b2dnbGU6Zm9jdXMsXG4gICAgLm1lbnUtbGlzdC4tdGllcjEgLm1lbnUtbGlzdF90b2dnbGU6aG92ZXIsXG4gICAgLm1lbnUtbGlzdC4tdGllcjE6bm90KC4tbWVnYSkgPiAubWVudS1saXN0X2l0ZW0uLXBhcmVudDpob3ZlciA+IC5tZW51LWxpc3RfdG9nZ2xlLFxuICAgIC5tZW51LWxpc3QuLXRpZXIxOm5vdCguLW1lZ2EpID4gLm1lbnUtbGlzdF9pdGVtLi1wYXJlbnQuaXMtYWN0aXZlID4gLm1lbnUtbGlzdF90b2dnbGUge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBsaWdodGVuKCRhY2NlbnQsIDEwKTtcbiAgICB9XG5cbiAgICAvLyB0aWVyIDJcblxuICAgIC5tZW51LWxpc3QuLXRpZXIyIHtcbiAgICAgICAgZm9udC1zaXplOiByZW1pZnkoMTQsIDE2KTtcbiAgICB9XG5cbiAgICAubWVudS1saXN0Li10aWVyMjpub3QoLi1tZWdhKTo6YmVmb3JlLFxuICAgIC5tZW51LWxpc3QuLXRpZXIyOjphZnRlciB7XG4gICAgICAgIGNvbnRlbnQ6IFwiXFwwMDIwXCI7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICBoZWlnaHQ6IHJlbWlmeSg2LCAxNCk7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgIH1cblxuICAgIC5tZW51LWxpc3QuLXRpZXIyOm5vdCguLW1lZ2EpIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogbGlnaHRlbigkYWNjZW50LCAxMCk7XG4gICAgfVxuXG4gICAgLm1lbnUtbGlzdC4tdGllcjIgLm1lbnUtbGlzdF9saW5rLFxuICAgIC5tZW51LWxpc3QuLXRpZXIyIC5tZW51LWxpc3RfdG9nZ2xlIHtcbiAgICAgICAgY29sb3I6ICRsaWdodDtcbiAgICAgICAgcGFkZGluZzogcmVtaWZ5KDIgMTgsIDE0KTtcbiAgICB9XG5cbiAgICAubWVudS1saXN0Li10aWVyMiAubWVudS1saXN0X2xpbms6Zm9jdXMsXG4gICAgLm1lbnUtbGlzdC4tdGllcjIgLm1lbnUtbGlzdF9saW5rOmhvdmVyLFxuICAgIC5tZW51LWxpc3QuLXRpZXIyOm5vdCguLW1lZ2EpID4gLm1lbnUtbGlzdF9pdGVtLi1wYXJlbnQ6aG92ZXIgPiAubWVudS1saXN0X2xpbmssXG4gICAgLm1lbnUtbGlzdC4tdGllcjI6bm90KC4tbWVnYSkgPiAubWVudS1saXN0X2l0ZW0uLXBhcmVudC5pcy1hY3RpdmUgPiAubWVudS1saXN0X2xpbmssXG4gICAgLm1lbnUtbGlzdC4tdGllcjIgLm1lbnUtbGlzdF90b2dnbGU6Zm9jdXMsXG4gICAgLm1lbnUtbGlzdC4tdGllcjIgLm1lbnUtbGlzdF90b2dnbGU6aG92ZXIsXG4gICAgLm1lbnUtbGlzdC4tdGllcjI6bm90KC4tbWVnYSkgPiAubWVudS1saXN0X2l0ZW0uLXBhcmVudDpob3ZlciA+IC5tZW51LWxpc3RfdG9nZ2xlLFxuICAgIC5tZW51LWxpc3QuLXRpZXIyOm5vdCguLW1lZ2EpID4gLm1lbnUtbGlzdF9pdGVtLi1wYXJlbnQuaXMtYWN0aXZlID4gLm1lbnUtbGlzdF90b2dnbGUge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBsaWdodGVuKGxpZ2h0ZW4oJGFjY2VudCwgMTApLCAxMCk7XG4gICAgfVxuXG4gICAgLm1lbnUtbGlzdC4tdGllcjIgLm1lbnUtbGlzdF9saW5rOjpiZWZvcmUge1xuICAgICAgICBjb250ZW50OiBcIlxcMDAyRFxcMDAyMFxcMDAyMFwiO1xuICAgIH1cbn1cblxuLyogcGFnaW5hdGlvbiB2YXJpYW50ICovXG5cbi5tZW51LWxpc3QuLXBhZ2luYXRpb24ge1xuICAgICYge1xuICAgICAgICBmb250LWZhbWlseTogJGJvZHktZm9udDtcbiAgICAgICAgZm9udC1zaXplOiByZW1pZnkoMTQsIDE2KTtcbiAgICAgICAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgICB9XG5cbiAgICAubWVudS1saXN0X2l0ZW06bm90KDpsYXN0LWNoaWxkKSB7XG4gICAgICAgIG1hcmdpbi1yaWdodDogcmVtaWZ5KDgsIDE0KTtcbiAgICB9XG5cbiAgICAubWVudS1saXN0X2xpbmsuLWN1cnJlbnQge1xuICAgICAgICBjb2xvcjogJGZvcmVncm91bmQ7XG4gICAgICAgIGN1cnNvcjogYXV0bztcbiAgICB9XG59XG5cbi8qIHNpdGVtYXAgdmFyaWFudCAqL1xuXG4ubWVudS1saXN0Li1zaXRlbWFwIHtcbiAgICAmIHtcbiAgICAgICAgY29sb3I6IGxpZ2h0ZW4oJGZvcmVncm91bmQsIDE4LjQzMTQpO1xuICAgICAgICBmb250LWZhbWlseTogJGhlYWRpbmctZm9udDtcbiAgICAgICAgZm9udC1zaXplOiByZW1pZnkoMTYsIDE2KTtcbiAgICAgICAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgICAgICAgbGluZS1oZWlnaHQ6IHJlbWlmeSgyNCwgMTYpO1xuICAgICAgICBtYXJnaW46IHJlbWlmeSgwIDAgOCwgMTYpO1xuICAgICAgICB0ZXh0LXRyYW5zZm9ybTogbG93ZXJjYXNlO1xuICAgIH1cblxuICAgIC5tZW51LWxpc3RfaXRlbTpub3QoOmxhc3QtY2hpbGQpOjphZnRlciB7XG4gICAgICAgIGNvbnRlbnQ6IFwifFwiO1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgIG1hcmdpbjogcmVtaWZ5KDAgMywgMTYpO1xuICAgIH1cblxuICAgIC5tZW51LWxpc3RfbGluayB7XG4gICAgICAgIGNvbG9yOiBpbmhlcml0O1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgfVxuXG4gICAgLm1lbnUtbGlzdF9saW5rOmZvY3VzLFxuICAgIC5tZW51LWxpc3RfbGluazpob3ZlciB7XG4gICAgICAgIGNvbG9yOiBpbmhlcml0O1xuICAgICAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcbiAgICB9XG59XG5cbi8qIHNvY2lhbCB2YXJpYW50ICovXG5cbi5tZW51LWxpc3QuLXNvY2lhbCB7XG4gICAgJiB7XG4gICAgICAgIGZvbnQtc2l6ZTogcmVtaWZ5KDIwLCAxNik7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiByZW1pZnkoMzIsIDIwKTtcbiAgICB9XG5cbiAgICAubWVudS1saXN0X2l0ZW06bm90KDpsYXN0LWNoaWxkKSB7XG4gICAgICAgIG1hcmdpbi1yaWdodDogcmVtaWZ5KDIwLCAyMCk7XG4gICAgfVxuXG4gICAgLm1lbnUtbGlzdF9saW5rIHtcbiAgICAgICAgYmFja2dyb3VuZDogJGJhY2tncm91bmQ7XG4gICAgICAgIGJvcmRlcjogcmVtaWZ5KDEpIHNvbGlkIGN1cnJlbnRDb2xvcjtcbiAgICAgICAgY29sb3I6IGxpZ2h0ZW4oJGZvcmVncm91bmQsIDcwLjk4MDQpO1xuICAgICAgICBoZWlnaHQ6IHJlbWlmeSgzMiwgMjApO1xuICAgICAgICB3aWR0aDogcmVtaWZ5KDMyLCAyMCk7XG4gICAgfVxuXG4gICAgLm1lbnUtbGlzdF9saW5rOmZvY3VzLFxuICAgIC5tZW51LWxpc3RfbGluazpob3ZlciB7XG4gICAgICAgIGNvbG9yOiAkYWNjZW50O1xuICAgIH1cbn1cblxuLyogdG9vbGJhciB2YXJpYW50ICovXG5cbi5tZW51LWxpc3QuLXRvb2xiYXIge1xuICAgICYge1xuICAgICAgICBmb250LWZhbWlseTogJGhlYWRpbmctZm9udDtcbiAgICAgICAgZm9udC1zaXplOiByZW1pZnkoMTYsIDE2KTtcbiAgICAgICAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgICAgICAgdGV4dC10cmFuc2Zvcm06IGxvd2VyY2FzZTtcbiAgICB9XG5cbiAgICAmOm5vdCguLXZlcnRpY2FsKSAubWVudS1saXN0X2l0ZW06bm90KDpsYXN0LWNoaWxkKSB7XG4gICAgICAgIG1hcmdpbi1yaWdodDogcmVtaWZ5KDMwLCAxNik7XG4gICAgfVxuXG4gICAgLm1lbnUtbGlzdF9saW5rIHtcbiAgICAgICAgY29sb3I6IGxpZ2h0ZW4oJGZvcmVncm91bmQsIDI2LjI3NDUpO1xuICAgIH1cblxuICAgIC5tZW51LWxpc3RfbGluazpmb2N1cyxcbiAgICAubWVudS1saXN0X2xpbms6aG92ZXIge1xuICAgICAgICBjb2xvcjogJGFjY2VudDtcbiAgICB9XG5cbiAgICAmLi12ZXJ0aWNhbCAubWVudS1saXN0X2xpbmsge1xuICAgICAgICBwYWRkaW5nOiByZW1pZnkoNCAxOCwgMTYpO1xuICAgIH1cbn1cbiIsIi8vIFN0eWxlcyB3cml0dGVuIGJ5IEphY29iIEJlYXJjZSBAIFdlYmxpbngsIEluYy5cblxuLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICpcXFxuICogTWVudSBUb2dnbGVcblxcKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cblxuLm1lbnUtdG9nZ2xlIHtcbiAgICAmIHtcbiAgICAgICAgYmFja2dyb3VuZDogbm9uZTtcbiAgICAgICAgYm9yZGVyOiAwO1xuICAgICAgICBjb2xvcjogJGFjY2VudDtcbiAgICAgICAgZm9udC1zaXplOiByZW1pZnkoMTYsIDE2KTtcbiAgICAgICAgaGVpZ2h0OiByZW1pZnkoNTAsIDE2KTtcbiAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICBwYWRkaW5nOiAwO1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIHRleHQtaW5kZW50OiAtOTk5ZW07XG4gICAgICAgIHdpZHRoOiByZW1pZnkoNTAsIDE2KTtcbiAgICB9XG5cbiAgICAmOjpiZWZvcmUsXG4gICAgJjo6YWZ0ZXIge1xuICAgICAgICBiYWNrZ3JvdW5kOiBjdXJyZW50Q29sb3I7XG4gICAgICAgIGJvdHRvbTogMDtcbiAgICAgICAgY29udGVudDogXCJcXDAwMjBcIjtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIGhlaWdodDogcmVtaWZ5KDQsIDE2KTtcbiAgICAgICAgbGVmdDogMDtcbiAgICAgICAgbWFyZ2luOiBhdXRvO1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHJpZ2h0OiAwO1xuICAgICAgICB0b3A6IDA7XG4gICAgICAgIHRyYW5zaXRpb246IGJveC1zaGFkb3cgMC4xNXMgMC4xNXMsIHRvcCAwLjE1cyAwLjE1cywgdHJhbnNmb3JtIDAuMTVzO1xuICAgICAgICB3aWR0aDogcmVtaWZ5KDI0LCAxNik7XG4gICAgfVxuXG4gICAgJi4tcm91bmRlZDo6YmVmb3JlLFxuICAgICYuLXJvdW5kZWQ6OmFmdGVyIHtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogcmVtaWZ5KDEuNSwgMTYpO1xuICAgIH1cblxuICAgICYuaXMtYWN0aXZlOjpiZWZvcmUsXG4gICAgJi5pcy1hY3RpdmU6OmFmdGVyIHtcbiAgICAgICAgdHJhbnNpdGlvbjogYm94LXNoYWRvdyAwLjE1cywgdG9wIDAuMTVzLCB0cmFuc2Zvcm0gMC4xNXMgMC4xNXM7XG4gICAgfVxuXG4gICAgJjo6YmVmb3JlIHtcbiAgICAgICAgYm94LXNoYWRvdzogcmVtaWZ5KDAgOCAwIDAsIDE2KSBjdXJyZW50Q29sb3I7XG4gICAgICAgIHRvcDogcmVtaWZ5KC0xNiwgMTYpO1xuICAgIH1cblxuICAgICYuaXMtYWN0aXZlOjpiZWZvcmUge1xuICAgICAgICBib3gtc2hhZG93OiAwIDAgMCAwIHRyYW5zcGFyZW50O1xuICAgICAgICB0b3A6IDA7XG4gICAgICAgIHRyYW5zZm9ybTogcm90YXRlKDQ1ZGVnKTtcbiAgICB9XG5cbiAgICAmOjphZnRlciB7XG4gICAgICAgIHRvcDogcmVtaWZ5KDE2LCAxNik7XG4gICAgfVxuXG4gICAgJi5pcy1hY3RpdmU6OmFmdGVyIHtcbiAgICAgICAgdG9wOiAwO1xuICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSgtNDVkZWcpO1xuICAgIH1cbn1cbiIsIi8vIFN0eWxlcyB3cml0dGVuIGJ5IEphY29iIEJlYXJjZSBAIFdlYmxpbngsIEluYy5cblxuLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICpcXFxuICogTmluamEgRm9ybXNcblxcKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cblxuLyogc3R5bGVsaW50LWRpc2FibGUgc2VsZWN0b3ItY2xhc3MtcGF0dGVybiwgc2VsZWN0b3ItbWF4LXR5cGUgKi9cblxuLy8gaG9uZXlwb3QgZmllbGQgZml4XG5cbi5uZi1mb3JtLWhwIHtcbiAgICAmIHtcbiAgICAgICAgbGVmdDogLTk5OWVtO1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHRvcDogLTk5OWVtO1xuICAgIH1cbn1cblxuLy8gZGF0ZSBmaWVsZCBmaXhcblxuLm5mLWZpZWxkLWNvbnRhaW5lciB7XG4gICAgLnBpa2FkYXlfX2NvbnRhaW5lciB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIH1cbn1cblxuLy8gbGlzdCBmaWVsZCBmaXhcblxuLm5mLWZpZWxkLWNvbnRhaW5lciB7XG4gICAgLmxpc3QtY2hlY2tib3gsXG4gICAgLmxpc3QtcmFkaW8ge1xuICAgICAgICBmb250LXNpemU6IHJlbWlmeSgxNiwgMTYpO1xuICAgICAgICBsaXN0LXN0eWxlOiBub25lO1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgICAgICBwYWRkaW5nOiAwO1xuICAgIH1cbn1cblxuLy8gbGFiZWwgYWxpZ25tZW50XG5cbi5uZi1maWVsZC1jb250YWluZXIge1xuICAgIC8vIGNvbWJpbmVkXG5cbiAgICAmLmxhYmVsLWFib3ZlIC5maWVsZC13cmFwLFxuICAgICYubGFiZWwtcmlnaHQgLmZpZWxkLXdyYXAsXG4gICAgJi5sYWJlbC1iZWxvdyAuZmllbGQtd3JhcCxcbiAgICAmLmxhYmVsLWxlZnQgLmZpZWxkLXdyYXAge1xuICAgICAgICBhbGlnbi1pdGVtczogZmxleC1zdGFydDtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICB9XG5cbiAgICAmLmxhYmVsLXJpZ2h0IC5maWVsZC13cmFwIC5uZi1maWVsZC1sYWJlbCxcbiAgICAmLmxhYmVsLWxlZnQgLmZpZWxkLXdyYXAgLm5mLWZpZWxkLWxhYmVsIHtcbiAgICAgICAgZmxleDogbm9uZTtcbiAgICB9XG5cbiAgICAmLmxhYmVsLWFib3ZlIC5maWVsZC13cmFwIC5uZi1maWVsZC1lbGVtZW50LFxuICAgICYubGFiZWwtYmVsb3cgLmZpZWxkLXdyYXAgLm5mLWZpZWxkLWVsZW1lbnQge1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICB9XG5cbiAgICAmLmxhYmVsLXJpZ2h0IC5maWVsZC13cmFwIC5uZi1maWVsZC1lbGVtZW50LFxuICAgICYubGFiZWwtbGVmdCAuZmllbGQtd3JhcCAubmYtZmllbGQtZWxlbWVudCB7XG4gICAgICAgIGZsZXg6IDEgMSBhdXRvO1xuICAgIH1cblxuICAgICYubGFiZWwtcmlnaHQgLmNoZWNrYm94LXdyYXAgLm5mLWZpZWxkLWVsZW1lbnQsXG4gICAgJi5sYWJlbC1sZWZ0IC5jaGVja2JveC13cmFwIC5uZi1maWVsZC1lbGVtZW50IHtcbiAgICAgICAgZmxleDogbm9uZTtcbiAgICB9XG5cbiAgICAvLyBhYm92ZVxuXG4gICAgJi5sYWJlbC1hYm92ZSAuZmllbGQtd3JhcCB7XG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgfVxuXG4gICAgLy8gYmVsb3dcblxuICAgICYubGFiZWwtYmVsb3cgLmZpZWxkLXdyYXAge1xuICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgIH1cblxuICAgICYubGFiZWwtYmVsb3cgLmZpZWxkLXdyYXAgLm5mLWZpZWxkLWxhYmVsIHtcbiAgICAgICAgb3JkZXI6IDI7XG4gICAgfVxuXG4gICAgJi5sYWJlbC1iZWxvdyAuZmllbGQtd3JhcCAubmYtZmllbGQtZWxlbWVudCB7XG4gICAgICAgIG9yZGVyOiAxO1xuICAgIH1cblxuICAgIC8vIHJpZ2h0XG5cbiAgICAmLmxhYmVsLXJpZ2h0IC5maWVsZC13cmFwIC5uZi1maWVsZC1sYWJlbCB7XG4gICAgICAgIG9yZGVyOiAyO1xuICAgIH1cblxuICAgICYubGFiZWwtcmlnaHQgLmZpZWxkLXdyYXAgLm5mLWZpZWxkLWVsZW1lbnQge1xuICAgICAgICBvcmRlcjogMTtcbiAgICB9XG5cbiAgICAvLyBoaWRkZW5cblxuICAgICYubGFiZWwtaGlkZGVuIC5maWVsZC13cmFwIC5uZi1maWVsZC1sYWJlbCB7XG4gICAgICAgIGxlZnQ6IC05OTllbTtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICB0b3A6IC05OTllbTtcbiAgICB9XG59XG5cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqXFxcbiAqIE9waW5pb25hdGVkIFR3ZWFrc1xuXFwqIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuXG4vLyByZXNpemUgaDJzXG5cbi5uZi1maWVsZC1jb250YWluZXIgLnVzZXItY29udGVudCB7XG4gICAgaDIge1xuICAgICAgICBmb250LXNpemU6IHJlbWlmeSgzNiwgMTYpO1xuICAgIH1cbn1cblxuLy8gbGlzdCBmaWVsZCBmaXhcblxuLm5mLWZpZWxkLWNvbnRhaW5lciB7XG4gICAgLmxpc3QtY2hlY2tib3gsXG4gICAgLmxpc3QtcmFkaW8ge1xuICAgICAgICBmb250LXNpemU6IHJlbWlmeSgxNiwgMTYpO1xuICAgICAgICBtYXJnaW4tYm90dG9tOiByZW1pZnkoMjQsIDE2KTtcbiAgICB9XG5cbiAgICAubGlzdC1jaGVja2JveCAuaW5wdXQuLWNoZWNrYm94LFxuICAgIC5saXN0LXJhZGlvIC5pbnB1dC4tcmFkaW9idXR0b24ge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiByZW1pZnkoNCwgMTYpO1xuICAgIH1cblxuICAgIC5saXN0LWNoZWNrYm94IC50ZXh0Li1sYWJlbCxcbiAgICAubGlzdC1yYWRpbyAudGV4dC4tbGFiZWwge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiByZW1pZnkoNCwgMTYpO1xuICAgIH1cbn1cblxuLy8gdG91Y2ggbGlzdCBmaWVsZCBmaXhcblxuQG1lZGlhIChwb2ludGVyOiBjb2Fyc2UpIHtcbiAgICAubmYtZmllbGQtY29udGFpbmVyIHtcbiAgICAgICAgLmxpc3QtY2hlY2tib3hfaXRlbTpub3QoOmxhc3QtY2hpbGQpIC50ZXh0Li1sYWJlbCxcbiAgICAgICAgLmxpc3QtcmFkaW9faXRlbTpub3QoOmxhc3QtY2hpbGQpIC50ZXh0Li1sYWJlbCB7XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiByZW1pZnkoMjQsIDE2KTtcbiAgICAgICAgfVxuICAgIH1cbn1cblxuLy8gc3RhcnMgZmllbGQgZml4XG5cbi5uZi1maWVsZC1jb250YWluZXIge1xuICAgIC5zdGFycyB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IHJlbWlmeSgyNCwgMTYpO1xuICAgIH1cbn1cblxuLy8gZGVzY3JpcHRpb24gZml4XG5cbi5uZi1maWVsZC1jb250YWluZXIge1xuICAgIC5uZi11c2VyLWNvbnRlbnQge1xuICAgICAgICBtYXJnaW4tdG9wOiByZW1pZnkoLTIwLCAxNik7XG4gICAgfVxufVxuXG4vLyBlcnJvciBmaXhcblxuLm5mLWZpZWxkLWNvbnRhaW5lciB7XG4gICAgLm5mLWVycm9yLW1zZyB7XG4gICAgICAgIGZvbnQtc2l6ZTogcmVtaWZ5KDEwLCAxNik7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IHJlbWlmeSgyNCwgMTApO1xuICAgICAgICBtYXJnaW4tdG9wOiByZW1pZnkoLTIwLCAxMCk7XG4gICAgfVxufVxuXG4vLyByZUNBUFRDSEEgZml4XG5cbi5uZi1maWVsZC1jb250YWluZXIge1xuICAgIC5nLXJlY2FwdGNoYSB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IHJlbWlmeSgyNCwgMTYpO1xuICAgIH1cbn1cblxuLy8gbGFiZWwgYWxpZ25tZW50XG5cbi5uZi1maWVsZC1jb250YWluZXIge1xuICAgIC8vIGFib3ZlXG5cbiAgICAmLmxhYmVsLWFib3ZlIC5uZi1maWVsZC1sYWJlbCA+IC50ZXh0Li1sYWJlbCB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IHJlbWlmeSg0LCAxNik7XG4gICAgfVxuXG4gICAgLy8gYmVsb3dcblxuICAgICYubGFiZWwtYmVsb3cgLm5mLWZpZWxkLWxhYmVsID4gLnRleHQuLWxhYmVsIHtcbiAgICAgICAgbWFyZ2luLXRvcDogcmVtaWZ5KDQsIDE2KTtcbiAgICB9XG5cbiAgICAmLmxhYmVsLWJlbG93IC5uZi1maWVsZC1lbGVtZW50IC5pbnB1dCxcbiAgICAmLmxhYmVsLWJlbG93IC5uZi1maWVsZC1lbGVtZW50IC5zdGFycyxcbiAgICAmLmxhYmVsLWJlbG93IC5saXN0LWNoZWNrYm94LFxuICAgICYubGFiZWwtYmVsb3cgLmxpc3QtcmFkaW8ge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgICAgICBvcmRlcjogMTtcbiAgICB9XG5cbiAgICAvLyBsZWZ0XG5cbiAgICAmLmxhYmVsLWxlZnQgLm5mLWZpZWxkLWxhYmVsID4gLnRleHQuLWxhYmVsIHtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiByZW1pZnkoMTAsIDE2KTtcbiAgICB9XG5cbiAgICAvLyByaWdodFxuXG4gICAgJi5sYWJlbC1yaWdodCAubmYtZmllbGQtbGFiZWwgPiAudGV4dC4tbGFiZWwge1xuICAgICAgICBtYXJnaW4tbGVmdDogcmVtaWZ5KDEwLCAxNik7XG4gICAgfVxufVxuIiwiLy8gU3R5bGVzIHdyaXR0ZW4gYnkgSmFjb2IgQmVhcmNlIEAgV2VibGlueCwgSW5jLlxuXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKlxcXG4gKiBPdmVybGF5IENsb3NlclxuXFwqIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuXG4ub3ZlcmxheS1jbG9zZXIge1xuICAgICYge1xuICAgICAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudGl6ZSgkZGFyaywgMC4yNSk7XG4gICAgICAgIGJvcmRlcjogMDtcbiAgICAgICAgYm90dG9tOiA5OTllbTtcbiAgICAgICAgY29udGVudDogXCJcXDAwMjBcIjtcbiAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgbGVmdDogLTk5OWVtO1xuICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgIG9wYWNpdHk6IDA7XG4gICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgcmlnaHQ6IDk5OWVtO1xuICAgICAgICB0b3A6IC05OTllbTtcbiAgICAgICAgdHJhbnNpdGlvbjogYm90dG9tIDBzIDAuMTVzLCBsZWZ0IDBzIDAuMTVzLCBvcGFjaXR5IDAuMTVzLCByaWdodCAwcyAwLjE1cywgdG9wIDBzIDAuMTVzLCB2aXNpYmlsaXR5IDBzIDAuMTVzO1xuICAgICAgICB2aXNpYmlsaXR5OiBoaWRkZW47XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICB6LWluZGV4OiA5OTg7XG4gICAgfVxuXG4gICAgJi5pcy1hY3RpdmUge1xuICAgICAgICBib3R0b206IDA7XG4gICAgICAgIGxlZnQ6IDA7XG4gICAgICAgIG9wYWNpdHk6IDE7XG4gICAgICAgIHJpZ2h0OiAwO1xuICAgICAgICB0b3A6IDA7XG4gICAgICAgIHRyYW5zaXRpb246IG9wYWNpdHkgMC4xNXM7XG4gICAgICAgIHZpc2liaWxpdHk6IHZpc2libGU7XG4gICAgfVxufVxuIiwiLy8gU3R5bGVzIHdyaXR0ZW4gYnkgSmFjb2IgQmVhcmNlIEAgV2VibGlueCwgSW5jLlxuXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKlxcXG4gKiBTZWFyY2ggRm9ybVxuXFwqIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuXG4uc2VhcmNoLWZvcm1fY29udGFpbmVyIHtcbiAgICAmIHtcbiAgICAgICAgbWFyZ2luOiByZW1pZnkoMCAwIDQwLCAxNik7XG4gICAgfVxufVxuXG4uc2VhcmNoLWZvcm0ge1xuICAgICYge1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgfVxufVxuXG4uc2VhcmNoLWZvcm1faW5wdXQge1xuICAgICYge1xuICAgICAgICBiYWNrZ3JvdW5kOiAkYmFja2dyb3VuZDtcbiAgICAgICAgYm9yZGVyOiByZW1pZnkoMSkgc29saWQgJGJhY2tncm91bmRfYWx0O1xuICAgICAgICBjb2xvcjogJGZvcmVncm91bmQ7XG4gICAgICAgIGZvbnQtZmFtaWx5OiAkYm9keS1mb250O1xuICAgICAgICBmb250LXNpemU6IHJlbWlmeSgxNiwgMTYpO1xuICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgIG91dGxpbmU6IG5vbmU7XG4gICAgICAgIHBhZGRpbmc6IHJlbWlmeSg4IDM4IDggMTIsIDE2KTtcbiAgICAgICAgdHJhbnNpdGlvbjogYm9yZGVyLWNvbG9yIDAuMTVzO1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICB9XG5cbiAgICAmOmZvY3VzLFxuICAgICY6aG92ZXIge1xuICAgICAgICBib3JkZXItY29sb3I6ICRhY2NlbnQ7XG4gICAgfVxufVxuXG4uc2VhcmNoLWZvcm1fYnV0dG9uIHtcbiAgICAmIHtcbiAgICAgICAgYmFja2dyb3VuZDogbm9uZTtcbiAgICAgICAgYm9yZGVyOiAwO1xuICAgICAgICBib3R0b206IHJlbWlmeSgxKTtcbiAgICAgICAgY29sb3I6ICRmb3JlZ3JvdW5kO1xuICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgICAgIGZvbnQtc2l6ZTogcmVtaWZ5KDE2LCAxNik7XG4gICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgb3V0bGluZTogbm9uZTtcbiAgICAgICAgcGFkZGluZzogcmVtaWZ5KDEwIDEyLCAxNik7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgcmlnaHQ6IHJlbWlmeSgxKTtcbiAgICAgICAgdG9wOiByZW1pZnkoMSk7XG4gICAgICAgIHRyYW5zaXRpb246IGNvbG9yIDAuMTVzO1xuICAgIH1cblxuICAgICY6Zm9jdXMsXG4gICAgJjpob3ZlciB7XG4gICAgICAgIGNvbG9yOiAkYWNjZW50O1xuICAgIH1cbn1cbiIsIi8vIFN0eWxlcyB3cml0dGVuIGJ5IEphY29iIEJlYXJjZSBAIFdlYmxpbngsIEluYy5cblxuLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICpcXFxuICogU3dpcGVyIChodHRwOi8vaWRhbmdlcm8udXMvc3dpcGVyLylcblxcKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cblxuLyogc3R5bGVsaW50LWRpc2FibGUgc2VsZWN0b3ItY2xhc3MtcGF0dGVybiAqL1xuXG4vLyBWZW5kb3JcblxuQGltcG9ydCBcIi4uLy4uL3ZlbmRvci9fc3dpcGVyXCI7XG5cbi8vIEN1c3RvbVxuXG4uc3dpcGVyLXNsaWRlIHtcbiAgICAmIHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgICAgZmxleC1ncm93OiAxO1xuICAgICAgICBoZWlnaHQ6IGF1dG87XG4gICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICB9XG59XG5cbi5zd2lwZXItcGljdHVyZSB7XG4gICAgJiB7XG4gICAgICAgIGJvcmRlcjogMDtcbiAgICAgICAgYm9yZGVyLWJvdHRvbTogcmVtaWZ5KDgpIHNvbGlkIGxpZ2h0ZW4oJGRhcmssIDYxLjE3NjUpO1xuICAgICAgICBib3JkZXItaW1hZ2U6IHVybChcIi4uL21lZGlhL2JhY2tncm91bmQtc3RhdGljLmpwZ1wiKSAwIDAgOCByZXBlYXQ7XG4gICAgICAgIGZsZXg6IG5vbmU7XG4gICAgfVxufVxuXG4uc3dpcGVyLWltYWdlIHtcbiAgICAmIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgIH1cblxuICAgIC5zd2lwZXItY29udGFpbmVyLi1maXhlZGhlaWdodCAmIHtcbiAgICAgICAgbGVmdDogNTAlO1xuICAgICAgICBtaW4td2lkdGg6IDEwMCU7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC01MCUpO1xuICAgICAgICB3aWR0aDogYXV0bztcbiAgICB9XG59XG5cbi5zd2lwZXItY2FwdGlvbiB7XG4gICAgJiB7XG4gICAgICAgIGJhY2tncm91bmQ6ICRiYWNrZ3JvdW5kO1xuICAgICAgICBmbGV4OiAxIDEgYXV0bztcbiAgICAgICAgcGFkZGluZzogcmVtaWZ5KCgkY29udGVudC1wYWRkaW5nICogMC43KSAoJGNvbnRlbnQtcGFkZGluZyAqIDAuNCkpO1xuICAgIH1cblxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6ICRsLWJyZWFrIC0gKDEgLyAxNikpIHtcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIH1cblxuICAgIC5zd2lwZXItY29udGFpbmVyLi1mdWxsYmxlZWQgJiAuc3dpcGVyLWNhcHRpb24taW5uZXIge1xuICAgICAgICBtYXJnaW46IDAgYXV0bztcbiAgICAgICAgbWF4LXdpZHRoOiByZW1pZnkoJHNpdGUtd2lkdGgsIDE2KTtcbiAgICB9XG59XG5cbi5zd2lwZXItYnV0dG9uIHtcbiAgICAmIHtcbiAgICAgICAgYmFja2dyb3VuZDogbm9uZTtcbiAgICAgICAgYm9yZGVyOiAwO1xuICAgICAgICBjb2xvcjogJHByaW1hcnk7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgb3BhY2l0eTogMDtcbiAgICAgICAgcGFkZGluZzogMDtcbiAgICAgICAgdG9wOiAwO1xuICAgICAgICB0cmFuc2l0aW9uOiBvcGFjaXR5IDAuMTVzO1xuICAgICAgICB3aWR0aDogcmVtaWZ5KDU1LCAxNik7XG4gICAgfVxuXG4gICAgJi4tcHJldiB7XG4gICAgICAgIGJhY2tncm91bmQ6IG5vbmU7XG4gICAgICAgIGxlZnQ6IDA7XG4gICAgfVxuXG4gICAgLnN3aXBlci1jb250YWluZXItcnRsICYuLXByZXYge1xuICAgICAgICBiYWNrZ3JvdW5kOiBub25lO1xuICAgICAgICByaWdodDogMDtcbiAgICB9XG5cbiAgICAmLi1uZXh0IHtcbiAgICAgICAgYmFja2dyb3VuZDogbm9uZTtcbiAgICAgICAgcmlnaHQ6IDA7XG4gICAgfVxuXG4gICAgLnN3aXBlci1jb250YWluZXItcnRsICYuLW5leHQge1xuICAgICAgICBiYWNrZ3JvdW5kOiBub25lO1xuICAgICAgICBsZWZ0OiAwO1xuICAgIH1cblxuICAgIC5zd2lwZXItY29udGFpbmVyOmhvdmVyICYge1xuICAgICAgICBvcGFjaXR5OiAwLjU7XG4gICAgfVxuXG4gICAgLnN3aXBlci1jb250YWluZXI6aG92ZXIgJjpob3ZlcixcbiAgICAuc3dpcGVyLWNvbnRhaW5lcjpob3ZlciAmOmZvY3VzIHtcbiAgICAgICAgb3BhY2l0eTogMTtcbiAgICB9XG5cbiAgICAuc3dpcGVyLWJ1dHRvbi1pY29uLFxuICAgIC5zd2lwZXItYnV0dG9uLWljb24ge1xuICAgICAgICBmb250LXNpemU6IHJlbWlmeSg0OCwgMTYpO1xuICAgICAgICBsZWZ0OiA1MCU7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgdG9wOiA1MCU7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNTAlKSB0cmFuc2xhdGVZKC01MCUpO1xuICAgIH1cbn1cblxuLnN3aXBlci1wYWdpbmF0aW9uLWZyYWN0aW9uLFxuLnN3aXBlci1wYWdpbmF0aW9uLWN1c3RvbSxcbi5zd2lwZXItY29udGFpbmVyLWhvcml6b250YWwgPiAuc3dpcGVyLXBhZ2luYXRpb24tYnVsbGV0cyB7XG4gICAgJiB7XG4gICAgICAgIGJvdHRvbTogYXV0bztcbiAgICAgICAgdG9wOiAwO1xuICAgIH1cbn1cblxuLnN3aXBlci1wYWdpbmF0aW9uLWJ1bGxldCB7XG4gICAgJiB7XG4gICAgICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50aXplKCRkYXJrLCAwLjUpO1xuICAgICAgICBoZWlnaHQ6IHJlbWlmeSgxMCwgMTYpO1xuICAgICAgICBvcGFjaXR5OiAxO1xuICAgICAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kIDAuMTVzO1xuICAgICAgICB3aWR0aDogcmVtaWZ5KDEwLCAxNik7XG4gICAgfVxufVxuXG4uc3dpcGVyLWNvbnRhaW5lci1ob3Jpem9udGFsID4gLnN3aXBlci1wYWdpbmF0aW9uLWJ1bGxldHMgLnN3aXBlci1wYWdpbmF0aW9uLWJ1bGxldCB7XG4gICAgJiB7XG4gICAgICAgIG1hcmdpbjogcmVtaWZ5KDIwIDUsIDE2KTtcbiAgICB9XG59XG5cbi5zd2lwZXItcGFnaW5hdGlvbi1idWxsZXQtYWN0aXZlIHtcbiAgICAmIHtcbiAgICAgICAgYmFja2dyb3VuZDogJHByaW1hcnk7XG4gICAgfVxufVxuIiwiLyoqXG4gKiBTd2lwZXIgMy40LjFcbiAqIE1vc3QgbW9kZXJuIG1vYmlsZSB0b3VjaCBzbGlkZXIgYW5kIGZyYW1ld29yayB3aXRoIGhhcmR3YXJlIGFjY2VsZXJhdGVkIHRyYW5zaXRpb25zXG4gKlxuICogaHR0cDovL3d3dy5pZGFuZ2Vyby51cy9zd2lwZXIvXG4gKlxuICogQ29weXJpZ2h0IDIwMTYsIFZsYWRpbWlyIEtoYXJsYW1waWRpXG4gKiBUaGUgaURhbmdlcm8udXNcbiAqIGh0dHA6Ly93d3cuaWRhbmdlcm8udXMvXG4gKlxuICogTGljZW5zZWQgdW5kZXIgTUlUXG4gKlxuICogUmVsZWFzZWQgb246IERlY2VtYmVyIDEzLCAyMDE2XG4gKi9cbi5zd2lwZXItY29udGFpbmVyIHtcbiAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gIG1hcmdpbi1yaWdodDogYXV0bztcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICAvKiBGaXggb2YgV2Via2l0IGZsaWNrZXJpbmcgKi9cbiAgei1pbmRleDogMTtcbn1cbi5zd2lwZXItY29udGFpbmVyLW5vLWZsZXhib3ggLnN3aXBlci1zbGlkZSB7XG4gIGZsb2F0OiBsZWZ0O1xufVxuLnN3aXBlci1jb250YWluZXItdmVydGljYWwgPiAuc3dpcGVyLXdyYXBwZXIge1xuICAtd2Via2l0LWJveC1vcmllbnQ6IHZlcnRpY2FsO1xuICAtbW96LWJveC1vcmllbnQ6IHZlcnRpY2FsO1xuICAtbXMtZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgLXdlYmtpdC1mbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xufVxuLnN3aXBlci13cmFwcGVyIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAxMDAlO1xuICB6LWluZGV4OiAxO1xuICBkaXNwbGF5OiAtd2Via2l0LWJveDtcbiAgZGlzcGxheTogLW1vei1ib3g7XG4gIGRpc3BsYXk6IC1tcy1mbGV4Ym94O1xuICBkaXNwbGF5OiAtd2Via2l0LWZsZXg7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIC13ZWJraXQtdHJhbnNpdGlvbi1wcm9wZXJ0eTogLXdlYmtpdC10cmFuc2Zvcm07XG4gIC1tb3otdHJhbnNpdGlvbi1wcm9wZXJ0eTogLW1vei10cmFuc2Zvcm07XG4gIC1vLXRyYW5zaXRpb24tcHJvcGVydHk6IC1vLXRyYW5zZm9ybTtcbiAgLW1zLXRyYW5zaXRpb24tcHJvcGVydHk6IC1tcy10cmFuc2Zvcm07XG4gIHRyYW5zaXRpb24tcHJvcGVydHk6IHRyYW5zZm9ybTtcbiAgLXdlYmtpdC1ib3gtc2l6aW5nOiBjb250ZW50LWJveDtcbiAgLW1vei1ib3gtc2l6aW5nOiBjb250ZW50LWJveDtcbiAgYm94LXNpemluZzogY29udGVudC1ib3g7XG59XG4uc3dpcGVyLWNvbnRhaW5lci1hbmRyb2lkIC5zd2lwZXItc2xpZGUsXG4uc3dpcGVyLXdyYXBwZXIge1xuICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMHB4LCAwLCAwKTtcbiAgLW1vei10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDBweCwgMCwgMCk7XG4gIC1vLXRyYW5zZm9ybTogdHJhbnNsYXRlKDBweCwgMHB4KTtcbiAgLW1zLXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMHB4LCAwLCAwKTtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwcHgsIDAsIDApO1xufVxuLnN3aXBlci1jb250YWluZXItbXVsdGlyb3cgPiAuc3dpcGVyLXdyYXBwZXIge1xuICAtd2Via2l0LWJveC1saW5lczogbXVsdGlwbGU7XG4gIC1tb3otYm94LWxpbmVzOiBtdWx0aXBsZTtcbiAgLW1zLWZsZXgtd3JhcDogd3JhcDtcbiAgLXdlYmtpdC1mbGV4LXdyYXA6IHdyYXA7XG4gIGZsZXgtd3JhcDogd3JhcDtcbn1cbi5zd2lwZXItY29udGFpbmVyLWZyZWUtbW9kZSA+IC5zd2lwZXItd3JhcHBlciB7XG4gIC13ZWJraXQtdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2Utb3V0O1xuICAtbW96LXRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLW91dDtcbiAgLW1zLXRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLW91dDtcbiAgLW8tdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2Utb3V0O1xuICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1vdXQ7XG4gIG1hcmdpbjogMCBhdXRvO1xufVxuLnN3aXBlci1zbGlkZSB7XG4gIC13ZWJraXQtZmxleC1zaHJpbms6IDA7XG4gIC1tcy1mbGV4OiAwIDAgYXV0bztcbiAgZmxleC1zaHJpbms6IDA7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IDEwMCU7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbn1cbi8qIEF1dG8gSGVpZ2h0ICovXG4uc3dpcGVyLWNvbnRhaW5lci1hdXRvaGVpZ2h0LFxuLnN3aXBlci1jb250YWluZXItYXV0b2hlaWdodCAuc3dpcGVyLXNsaWRlIHtcbiAgaGVpZ2h0OiBhdXRvO1xufVxuLnN3aXBlci1jb250YWluZXItYXV0b2hlaWdodCAuc3dpcGVyLXdyYXBwZXIge1xuICAtd2Via2l0LWJveC1hbGlnbjogc3RhcnQ7XG4gIC1tcy1mbGV4LWFsaWduOiBzdGFydDtcbiAgLXdlYmtpdC1hbGlnbi1pdGVtczogZmxleC1zdGFydDtcbiAgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7XG4gIC13ZWJraXQtdHJhbnNpdGlvbi1wcm9wZXJ0eTogLXdlYmtpdC10cmFuc2Zvcm0sIGhlaWdodDtcbiAgLW1vei10cmFuc2l0aW9uLXByb3BlcnR5OiAtbW96LXRyYW5zZm9ybTtcbiAgLW8tdHJhbnNpdGlvbi1wcm9wZXJ0eTogLW8tdHJhbnNmb3JtO1xuICAtbXMtdHJhbnNpdGlvbi1wcm9wZXJ0eTogLW1zLXRyYW5zZm9ybTtcbiAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogdHJhbnNmb3JtLCBoZWlnaHQ7XG59XG4vKiBhMTF5ICovXG4uc3dpcGVyLWNvbnRhaW5lciAuc3dpcGVyLW5vdGlmaWNhdGlvbiB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgbGVmdDogMDtcbiAgdG9wOiAwO1xuICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgb3BhY2l0eTogMDtcbiAgei1pbmRleDogLTEwMDA7XG59XG4vKiBJRTEwIFdpbmRvd3MgUGhvbmUgOCBGaXhlcyAqL1xuLnN3aXBlci13cDgtaG9yaXpvbnRhbCB7XG4gIC1tcy10b3VjaC1hY3Rpb246IHBhbi15O1xuICB0b3VjaC1hY3Rpb246IHBhbi15O1xufVxuLnN3aXBlci13cDgtdmVydGljYWwge1xuICAtbXMtdG91Y2gtYWN0aW9uOiBwYW4teDtcbiAgdG91Y2gtYWN0aW9uOiBwYW4teDtcbn1cbi8qIEFycm93cyAqL1xuLnN3aXBlci1idXR0b24tcHJldixcbi5zd2lwZXItYnV0dG9uLW5leHQge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogNTAlO1xuICB3aWR0aDogMjdweDtcbiAgaGVpZ2h0OiA0NHB4O1xuICBtYXJnaW4tdG9wOiAtMjJweDtcbiAgei1pbmRleDogMTA7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgLW1vei1iYWNrZ3JvdW5kLXNpemU6IDI3cHggNDRweDtcbiAgLXdlYmtpdC1iYWNrZ3JvdW5kLXNpemU6IDI3cHggNDRweDtcbiAgYmFja2dyb3VuZC1zaXplOiAyN3B4IDQ0cHg7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlcjtcbiAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbn1cbi5zd2lwZXItYnV0dG9uLXByZXYuc3dpcGVyLWJ1dHRvbi1kaXNhYmxlZCxcbi5zd2lwZXItYnV0dG9uLW5leHQuc3dpcGVyLWJ1dHRvbi1kaXNhYmxlZCB7XG4gIG9wYWNpdHk6IDAuMzU7XG4gIGN1cnNvcjogYXV0bztcbiAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG59XG4uc3dpcGVyLWJ1dHRvbi1wcmV2LFxuLnN3aXBlci1jb250YWluZXItcnRsIC5zd2lwZXItYnV0dG9uLW5leHQge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJkYXRhOmltYWdlL3N2Zyt4bWw7Y2hhcnNldD11dGYtOCwlM0NzdmclMjB4bWxucyUzRCdodHRwJTNBJTJGJTJGd3d3LnczLm9yZyUyRjIwMDAlMkZzdmcnJTIwdmlld0JveCUzRCcwJTIwMCUyMDI3JTIwNDQnJTNFJTNDcGF0aCUyMGQlM0QnTTAlMkMyMkwyMiUyQzBsMi4xJTJDMi4xTDQuMiUyQzIybDE5LjklMkMxOS45TDIyJTJDNDRMMCUyQzIyTDAlMkMyMkwwJTJDMjJ6JyUyMGZpbGwlM0QnJTIzMDA3YWZmJyUyRiUzRSUzQyUyRnN2ZyUzRVwiKTtcbiAgbGVmdDogMTBweDtcbiAgcmlnaHQ6IGF1dG87XG59XG4uc3dpcGVyLWJ1dHRvbi1wcmV2LnN3aXBlci1idXR0b24tYmxhY2ssXG4uc3dpcGVyLWNvbnRhaW5lci1ydGwgLnN3aXBlci1idXR0b24tbmV4dC5zd2lwZXItYnV0dG9uLWJsYWNrIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiZGF0YTppbWFnZS9zdmcreG1sO2NoYXJzZXQ9dXRmLTgsJTNDc3ZnJTIweG1sbnMlM0QnaHR0cCUzQSUyRiUyRnd3dy53My5vcmclMkYyMDAwJTJGc3ZnJyUyMHZpZXdCb3glM0QnMCUyMDAlMjAyNyUyMDQ0JyUzRSUzQ3BhdGglMjBkJTNEJ00wJTJDMjJMMjIlMkMwbDIuMSUyQzIuMUw0LjIlMkMyMmwxOS45JTJDMTkuOUwyMiUyQzQ0TDAlMkMyMkwwJTJDMjJMMCUyQzIyeiclMjBmaWxsJTNEJyUyMzAwMDAwMCclMkYlM0UlM0MlMkZzdmclM0VcIik7XG59XG4uc3dpcGVyLWJ1dHRvbi1wcmV2LnN3aXBlci1idXR0b24td2hpdGUsXG4uc3dpcGVyLWNvbnRhaW5lci1ydGwgLnN3aXBlci1idXR0b24tbmV4dC5zd2lwZXItYnV0dG9uLXdoaXRlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiZGF0YTppbWFnZS9zdmcreG1sO2NoYXJzZXQ9dXRmLTgsJTNDc3ZnJTIweG1sbnMlM0QnaHR0cCUzQSUyRiUyRnd3dy53My5vcmclMkYyMDAwJTJGc3ZnJyUyMHZpZXdCb3glM0QnMCUyMDAlMjAyNyUyMDQ0JyUzRSUzQ3BhdGglMjBkJTNEJ00wJTJDMjJMMjIlMkMwbDIuMSUyQzIuMUw0LjIlMkMyMmwxOS45JTJDMTkuOUwyMiUyQzQ0TDAlMkMyMkwwJTJDMjJMMCUyQzIyeiclMjBmaWxsJTNEJyUyM2ZmZmZmZiclMkYlM0UlM0MlMkZzdmclM0VcIik7XG59XG4uc3dpcGVyLWJ1dHRvbi1uZXh0LFxuLnN3aXBlci1jb250YWluZXItcnRsIC5zd2lwZXItYnV0dG9uLXByZXYge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJkYXRhOmltYWdlL3N2Zyt4bWw7Y2hhcnNldD11dGYtOCwlM0NzdmclMjB4bWxucyUzRCdodHRwJTNBJTJGJTJGd3d3LnczLm9yZyUyRjIwMDAlMkZzdmcnJTIwdmlld0JveCUzRCcwJTIwMCUyMDI3JTIwNDQnJTNFJTNDcGF0aCUyMGQlM0QnTTI3JTJDMjJMMjclMkMyMkw1JTJDNDRsLTIuMS0yLjFMMjIuOCUyQzIyTDIuOSUyQzIuMUw1JTJDMEwyNyUyQzIyTDI3JTJDMjJ6JyUyMGZpbGwlM0QnJTIzMDA3YWZmJyUyRiUzRSUzQyUyRnN2ZyUzRVwiKTtcbiAgcmlnaHQ6IDEwcHg7XG4gIGxlZnQ6IGF1dG87XG59XG4uc3dpcGVyLWJ1dHRvbi1uZXh0LnN3aXBlci1idXR0b24tYmxhY2ssXG4uc3dpcGVyLWNvbnRhaW5lci1ydGwgLnN3aXBlci1idXR0b24tcHJldi5zd2lwZXItYnV0dG9uLWJsYWNrIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiZGF0YTppbWFnZS9zdmcreG1sO2NoYXJzZXQ9dXRmLTgsJTNDc3ZnJTIweG1sbnMlM0QnaHR0cCUzQSUyRiUyRnd3dy53My5vcmclMkYyMDAwJTJGc3ZnJyUyMHZpZXdCb3glM0QnMCUyMDAlMjAyNyUyMDQ0JyUzRSUzQ3BhdGglMjBkJTNEJ00yNyUyQzIyTDI3JTJDMjJMNSUyQzQ0bC0yLjEtMi4xTDIyLjglMkMyMkwyLjklMkMyLjFMNSUyQzBMMjclMkMyMkwyNyUyQzIyeiclMjBmaWxsJTNEJyUyMzAwMDAwMCclMkYlM0UlM0MlMkZzdmclM0VcIik7XG59XG4uc3dpcGVyLWJ1dHRvbi1uZXh0LnN3aXBlci1idXR0b24td2hpdGUsXG4uc3dpcGVyLWNvbnRhaW5lci1ydGwgLnN3aXBlci1idXR0b24tcHJldi5zd2lwZXItYnV0dG9uLXdoaXRlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiZGF0YTppbWFnZS9zdmcreG1sO2NoYXJzZXQ9dXRmLTgsJTNDc3ZnJTIweG1sbnMlM0QnaHR0cCUzQSUyRiUyRnd3dy53My5vcmclMkYyMDAwJTJGc3ZnJyUyMHZpZXdCb3glM0QnMCUyMDAlMjAyNyUyMDQ0JyUzRSUzQ3BhdGglMjBkJTNEJ00yNyUyQzIyTDI3JTJDMjJMNSUyQzQ0bC0yLjEtMi4xTDIyLjglMkMyMkwyLjklMkMyLjFMNSUyQzBMMjclMkMyMkwyNyUyQzIyeiclMjBmaWxsJTNEJyUyM2ZmZmZmZiclMkYlM0UlM0MlMkZzdmclM0VcIik7XG59XG4vKiBQYWdpbmF0aW9uIFN0eWxlcyAqL1xuLnN3aXBlci1wYWdpbmF0aW9uIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIC13ZWJraXQtdHJhbnNpdGlvbjogMzAwbXM7XG4gIC1tb3otdHJhbnNpdGlvbjogMzAwbXM7XG4gIC1vLXRyYW5zaXRpb246IDMwMG1zO1xuICB0cmFuc2l0aW9uOiAzMDBtcztcbiAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICAtbXMtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgLW8tdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgei1pbmRleDogMTA7XG59XG4uc3dpcGVyLXBhZ2luYXRpb24uc3dpcGVyLXBhZ2luYXRpb24taGlkZGVuIHtcbiAgb3BhY2l0eTogMDtcbn1cbi8qIENvbW1vbiBTdHlsZXMgKi9cbi5zd2lwZXItcGFnaW5hdGlvbi1mcmFjdGlvbixcbi5zd2lwZXItcGFnaW5hdGlvbi1jdXN0b20sXG4uc3dpcGVyLWNvbnRhaW5lci1ob3Jpem9udGFsID4gLnN3aXBlci1wYWdpbmF0aW9uLWJ1bGxldHMge1xuICBib3R0b206IDEwcHg7XG4gIGxlZnQ6IDA7XG4gIHdpZHRoOiAxMDAlO1xufVxuLyogQnVsbGV0cyAqL1xuLnN3aXBlci1wYWdpbmF0aW9uLWJ1bGxldCB7XG4gIHdpZHRoOiA4cHg7XG4gIGhlaWdodDogOHB4O1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIGJvcmRlci1yYWRpdXM6IDEwMCU7XG4gIGJhY2tncm91bmQ6ICMwMDA7XG4gIG9wYWNpdHk6IDAuMjtcbn1cbmJ1dHRvbi5zd2lwZXItcGFnaW5hdGlvbi1idWxsZXQge1xuICBib3JkZXI6IG5vbmU7XG4gIG1hcmdpbjogMDtcbiAgcGFkZGluZzogMDtcbiAgYm94LXNoYWRvdzogbm9uZTtcbiAgLW1vei1hcHBlYXJhbmNlOiBub25lO1xuICAtbXMtYXBwZWFyYW5jZTogbm9uZTtcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lO1xuICBhcHBlYXJhbmNlOiBub25lO1xufVxuLnN3aXBlci1wYWdpbmF0aW9uLWNsaWNrYWJsZSAuc3dpcGVyLXBhZ2luYXRpb24tYnVsbGV0IHtcbiAgY3Vyc29yOiBwb2ludGVyO1xufVxuLnN3aXBlci1wYWdpbmF0aW9uLXdoaXRlIC5zd2lwZXItcGFnaW5hdGlvbi1idWxsZXQge1xuICBiYWNrZ3JvdW5kOiAjZmZmO1xufVxuLnN3aXBlci1wYWdpbmF0aW9uLWJ1bGxldC1hY3RpdmUge1xuICBvcGFjaXR5OiAxO1xuICBiYWNrZ3JvdW5kOiAjMDA3YWZmO1xufVxuLnN3aXBlci1wYWdpbmF0aW9uLXdoaXRlIC5zd2lwZXItcGFnaW5hdGlvbi1idWxsZXQtYWN0aXZlIHtcbiAgYmFja2dyb3VuZDogI2ZmZjtcbn1cbi5zd2lwZXItcGFnaW5hdGlvbi1ibGFjayAuc3dpcGVyLXBhZ2luYXRpb24tYnVsbGV0LWFjdGl2ZSB7XG4gIGJhY2tncm91bmQ6ICMwMDA7XG59XG4uc3dpcGVyLWNvbnRhaW5lci12ZXJ0aWNhbCA+IC5zd2lwZXItcGFnaW5hdGlvbi1idWxsZXRzIHtcbiAgcmlnaHQ6IDEwcHg7XG4gIHRvcDogNTAlO1xuICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMHB4LCAtNTAlLCAwKTtcbiAgLW1vei10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDBweCwgLTUwJSwgMCk7XG4gIC1vLXRyYW5zZm9ybTogdHJhbnNsYXRlKDBweCwgLTUwJSk7XG4gIC1tcy10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDBweCwgLTUwJSwgMCk7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMHB4LCAtNTAlLCAwKTtcbn1cbi5zd2lwZXItY29udGFpbmVyLXZlcnRpY2FsID4gLnN3aXBlci1wYWdpbmF0aW9uLWJ1bGxldHMgLnN3aXBlci1wYWdpbmF0aW9uLWJ1bGxldCB7XG4gIG1hcmdpbjogNXB4IDA7XG4gIGRpc3BsYXk6IGJsb2NrO1xufVxuLnN3aXBlci1jb250YWluZXItaG9yaXpvbnRhbCA+IC5zd2lwZXItcGFnaW5hdGlvbi1idWxsZXRzIC5zd2lwZXItcGFnaW5hdGlvbi1idWxsZXQge1xuICBtYXJnaW46IDAgNXB4O1xufVxuLyogUHJvZ3Jlc3MgKi9cbi5zd2lwZXItcGFnaW5hdGlvbi1wcm9ncmVzcyB7XG4gIGJhY2tncm91bmQ6IHJnYmEoMCwgMCwgMCwgMC4yNSk7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbn1cbi5zd2lwZXItcGFnaW5hdGlvbi1wcm9ncmVzcyAuc3dpcGVyLXBhZ2luYXRpb24tcHJvZ3Jlc3NiYXIge1xuICBiYWNrZ3JvdW5kOiAjMDA3YWZmO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGxlZnQ6IDA7XG4gIHRvcDogMDtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogMTAwJTtcbiAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlKDApO1xuICAtbXMtdHJhbnNmb3JtOiBzY2FsZSgwKTtcbiAgLW8tdHJhbnNmb3JtOiBzY2FsZSgwKTtcbiAgdHJhbnNmb3JtOiBzY2FsZSgwKTtcbiAgLXdlYmtpdC10cmFuc2Zvcm0tb3JpZ2luOiBsZWZ0IHRvcDtcbiAgLW1vei10cmFuc2Zvcm0tb3JpZ2luOiBsZWZ0IHRvcDtcbiAgLW1zLXRyYW5zZm9ybS1vcmlnaW46IGxlZnQgdG9wO1xuICAtby10cmFuc2Zvcm0tb3JpZ2luOiBsZWZ0IHRvcDtcbiAgdHJhbnNmb3JtLW9yaWdpbjogbGVmdCB0b3A7XG59XG4uc3dpcGVyLWNvbnRhaW5lci1ydGwgLnN3aXBlci1wYWdpbmF0aW9uLXByb2dyZXNzIC5zd2lwZXItcGFnaW5hdGlvbi1wcm9ncmVzc2JhciB7XG4gIC13ZWJraXQtdHJhbnNmb3JtLW9yaWdpbjogcmlnaHQgdG9wO1xuICAtbW96LXRyYW5zZm9ybS1vcmlnaW46IHJpZ2h0IHRvcDtcbiAgLW1zLXRyYW5zZm9ybS1vcmlnaW46IHJpZ2h0IHRvcDtcbiAgLW8tdHJhbnNmb3JtLW9yaWdpbjogcmlnaHQgdG9wO1xuICB0cmFuc2Zvcm0tb3JpZ2luOiByaWdodCB0b3A7XG59XG4uc3dpcGVyLWNvbnRhaW5lci1ob3Jpem9udGFsID4gLnN3aXBlci1wYWdpbmF0aW9uLXByb2dyZXNzIHtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogNHB4O1xuICBsZWZ0OiAwO1xuICB0b3A6IDA7XG59XG4uc3dpcGVyLWNvbnRhaW5lci12ZXJ0aWNhbCA+IC5zd2lwZXItcGFnaW5hdGlvbi1wcm9ncmVzcyB7XG4gIHdpZHRoOiA0cHg7XG4gIGhlaWdodDogMTAwJTtcbiAgbGVmdDogMDtcbiAgdG9wOiAwO1xufVxuLnN3aXBlci1wYWdpbmF0aW9uLXByb2dyZXNzLnN3aXBlci1wYWdpbmF0aW9uLXdoaXRlIHtcbiAgYmFja2dyb3VuZDogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjUpO1xufVxuLnN3aXBlci1wYWdpbmF0aW9uLXByb2dyZXNzLnN3aXBlci1wYWdpbmF0aW9uLXdoaXRlIC5zd2lwZXItcGFnaW5hdGlvbi1wcm9ncmVzc2JhciB7XG4gIGJhY2tncm91bmQ6ICNmZmY7XG59XG4uc3dpcGVyLXBhZ2luYXRpb24tcHJvZ3Jlc3Muc3dpcGVyLXBhZ2luYXRpb24tYmxhY2sgLnN3aXBlci1wYWdpbmF0aW9uLXByb2dyZXNzYmFyIHtcbiAgYmFja2dyb3VuZDogIzAwMDtcbn1cbi8qIDNEIENvbnRhaW5lciAqL1xuLnN3aXBlci1jb250YWluZXItM2Qge1xuICAtd2Via2l0LXBlcnNwZWN0aXZlOiAxMjAwcHg7XG4gIC1tb3otcGVyc3BlY3RpdmU6IDEyMDBweDtcbiAgLW8tcGVyc3BlY3RpdmU6IDEyMDBweDtcbiAgcGVyc3BlY3RpdmU6IDEyMDBweDtcbn1cbi5zd2lwZXItY29udGFpbmVyLTNkIC5zd2lwZXItd3JhcHBlcixcbi5zd2lwZXItY29udGFpbmVyLTNkIC5zd2lwZXItc2xpZGUsXG4uc3dpcGVyLWNvbnRhaW5lci0zZCAuc3dpcGVyLXNsaWRlLXNoYWRvdy1sZWZ0LFxuLnN3aXBlci1jb250YWluZXItM2QgLnN3aXBlci1zbGlkZS1zaGFkb3ctcmlnaHQsXG4uc3dpcGVyLWNvbnRhaW5lci0zZCAuc3dpcGVyLXNsaWRlLXNoYWRvdy10b3AsXG4uc3dpcGVyLWNvbnRhaW5lci0zZCAuc3dpcGVyLXNsaWRlLXNoYWRvdy1ib3R0b20sXG4uc3dpcGVyLWNvbnRhaW5lci0zZCAuc3dpcGVyLWN1YmUtc2hhZG93IHtcbiAgLXdlYmtpdC10cmFuc2Zvcm0tc3R5bGU6IHByZXNlcnZlLTNkO1xuICAtbW96LXRyYW5zZm9ybS1zdHlsZTogcHJlc2VydmUtM2Q7XG4gIC1tcy10cmFuc2Zvcm0tc3R5bGU6IHByZXNlcnZlLTNkO1xuICB0cmFuc2Zvcm0tc3R5bGU6IHByZXNlcnZlLTNkO1xufVxuLnN3aXBlci1jb250YWluZXItM2QgLnN3aXBlci1zbGlkZS1zaGFkb3ctbGVmdCxcbi5zd2lwZXItY29udGFpbmVyLTNkIC5zd2lwZXItc2xpZGUtc2hhZG93LXJpZ2h0LFxuLnN3aXBlci1jb250YWluZXItM2QgLnN3aXBlci1zbGlkZS1zaGFkb3ctdG9wLFxuLnN3aXBlci1jb250YWluZXItM2QgLnN3aXBlci1zbGlkZS1zaGFkb3ctYm90dG9tIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBsZWZ0OiAwO1xuICB0b3A6IDA7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IDEwMCU7XG4gIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICB6LWluZGV4OiAxMDtcbn1cbi5zd2lwZXItY29udGFpbmVyLTNkIC5zd2lwZXItc2xpZGUtc2hhZG93LWxlZnQge1xuICBiYWNrZ3JvdW5kLWltYWdlOiAtd2Via2l0LWdyYWRpZW50KGxpbmVhciwgbGVmdCB0b3AsIHJpZ2h0IHRvcCwgZnJvbShyZ2JhKDAsIDAsIDAsIDAuNSkpLCB0byhyZ2JhKDAsIDAsIDAsIDApKSk7XG4gIC8qIFNhZmFyaSA0KywgQ2hyb21lICovXG4gIGJhY2tncm91bmQtaW1hZ2U6IC13ZWJraXQtbGluZWFyLWdyYWRpZW50KHJpZ2h0LCByZ2JhKDAsIDAsIDAsIDAuNSksIHJnYmEoMCwgMCwgMCwgMCkpO1xuICAvKiBDaHJvbWUgMTArLCBTYWZhcmkgNS4xKywgaU9TIDUrICovXG4gIGJhY2tncm91bmQtaW1hZ2U6IC1tb3otbGluZWFyLWdyYWRpZW50KHJpZ2h0LCByZ2JhKDAsIDAsIDAsIDAuNSksIHJnYmEoMCwgMCwgMCwgMCkpO1xuICAvKiBGaXJlZm94IDMuNi0xNSAqL1xuICBiYWNrZ3JvdW5kLWltYWdlOiAtby1saW5lYXItZ3JhZGllbnQocmlnaHQsIHJnYmEoMCwgMCwgMCwgMC41KSwgcmdiYSgwLCAwLCAwLCAwKSk7XG4gIC8qIE9wZXJhIDExLjEwLTEyLjAwICovXG4gIGJhY2tncm91bmQtaW1hZ2U6IGxpbmVhci1ncmFkaWVudCh0byBsZWZ0LCByZ2JhKDAsIDAsIDAsIDAuNSksIHJnYmEoMCwgMCwgMCwgMCkpO1xuICAvKiBGaXJlZm94IDE2KywgSUUxMCwgT3BlcmEgMTIuNTArICovXG59XG4uc3dpcGVyLWNvbnRhaW5lci0zZCAuc3dpcGVyLXNsaWRlLXNoYWRvdy1yaWdodCB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IC13ZWJraXQtZ3JhZGllbnQobGluZWFyLCByaWdodCB0b3AsIGxlZnQgdG9wLCBmcm9tKHJnYmEoMCwgMCwgMCwgMC41KSksIHRvKHJnYmEoMCwgMCwgMCwgMCkpKTtcbiAgLyogU2FmYXJpIDQrLCBDaHJvbWUgKi9cbiAgYmFja2dyb3VuZC1pbWFnZTogLXdlYmtpdC1saW5lYXItZ3JhZGllbnQobGVmdCwgcmdiYSgwLCAwLCAwLCAwLjUpLCByZ2JhKDAsIDAsIDAsIDApKTtcbiAgLyogQ2hyb21lIDEwKywgU2FmYXJpIDUuMSssIGlPUyA1KyAqL1xuICBiYWNrZ3JvdW5kLWltYWdlOiAtbW96LWxpbmVhci1ncmFkaWVudChsZWZ0LCByZ2JhKDAsIDAsIDAsIDAuNSksIHJnYmEoMCwgMCwgMCwgMCkpO1xuICAvKiBGaXJlZm94IDMuNi0xNSAqL1xuICBiYWNrZ3JvdW5kLWltYWdlOiAtby1saW5lYXItZ3JhZGllbnQobGVmdCwgcmdiYSgwLCAwLCAwLCAwLjUpLCByZ2JhKDAsIDAsIDAsIDApKTtcbiAgLyogT3BlcmEgMTEuMTAtMTIuMDAgKi9cbiAgYmFja2dyb3VuZC1pbWFnZTogbGluZWFyLWdyYWRpZW50KHRvIHJpZ2h0LCByZ2JhKDAsIDAsIDAsIDAuNSksIHJnYmEoMCwgMCwgMCwgMCkpO1xuICAvKiBGaXJlZm94IDE2KywgSUUxMCwgT3BlcmEgMTIuNTArICovXG59XG4uc3dpcGVyLWNvbnRhaW5lci0zZCAuc3dpcGVyLXNsaWRlLXNoYWRvdy10b3Age1xuICBiYWNrZ3JvdW5kLWltYWdlOiAtd2Via2l0LWdyYWRpZW50KGxpbmVhciwgbGVmdCB0b3AsIGxlZnQgYm90dG9tLCBmcm9tKHJnYmEoMCwgMCwgMCwgMC41KSksIHRvKHJnYmEoMCwgMCwgMCwgMCkpKTtcbiAgLyogU2FmYXJpIDQrLCBDaHJvbWUgKi9cbiAgYmFja2dyb3VuZC1pbWFnZTogLXdlYmtpdC1saW5lYXItZ3JhZGllbnQoYm90dG9tLCByZ2JhKDAsIDAsIDAsIDAuNSksIHJnYmEoMCwgMCwgMCwgMCkpO1xuICAvKiBDaHJvbWUgMTArLCBTYWZhcmkgNS4xKywgaU9TIDUrICovXG4gIGJhY2tncm91bmQtaW1hZ2U6IC1tb3otbGluZWFyLWdyYWRpZW50KGJvdHRvbSwgcmdiYSgwLCAwLCAwLCAwLjUpLCByZ2JhKDAsIDAsIDAsIDApKTtcbiAgLyogRmlyZWZveCAzLjYtMTUgKi9cbiAgYmFja2dyb3VuZC1pbWFnZTogLW8tbGluZWFyLWdyYWRpZW50KGJvdHRvbSwgcmdiYSgwLCAwLCAwLCAwLjUpLCByZ2JhKDAsIDAsIDAsIDApKTtcbiAgLyogT3BlcmEgMTEuMTAtMTIuMDAgKi9cbiAgYmFja2dyb3VuZC1pbWFnZTogbGluZWFyLWdyYWRpZW50KHRvIHRvcCwgcmdiYSgwLCAwLCAwLCAwLjUpLCByZ2JhKDAsIDAsIDAsIDApKTtcbiAgLyogRmlyZWZveCAxNissIElFMTAsIE9wZXJhIDEyLjUwKyAqL1xufVxuLnN3aXBlci1jb250YWluZXItM2QgLnN3aXBlci1zbGlkZS1zaGFkb3ctYm90dG9tIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogLXdlYmtpdC1ncmFkaWVudChsaW5lYXIsIGxlZnQgYm90dG9tLCBsZWZ0IHRvcCwgZnJvbShyZ2JhKDAsIDAsIDAsIDAuNSkpLCB0byhyZ2JhKDAsIDAsIDAsIDApKSk7XG4gIC8qIFNhZmFyaSA0KywgQ2hyb21lICovXG4gIGJhY2tncm91bmQtaW1hZ2U6IC13ZWJraXQtbGluZWFyLWdyYWRpZW50KHRvcCwgcmdiYSgwLCAwLCAwLCAwLjUpLCByZ2JhKDAsIDAsIDAsIDApKTtcbiAgLyogQ2hyb21lIDEwKywgU2FmYXJpIDUuMSssIGlPUyA1KyAqL1xuICBiYWNrZ3JvdW5kLWltYWdlOiAtbW96LWxpbmVhci1ncmFkaWVudCh0b3AsIHJnYmEoMCwgMCwgMCwgMC41KSwgcmdiYSgwLCAwLCAwLCAwKSk7XG4gIC8qIEZpcmVmb3ggMy42LTE1ICovXG4gIGJhY2tncm91bmQtaW1hZ2U6IC1vLWxpbmVhci1ncmFkaWVudCh0b3AsIHJnYmEoMCwgMCwgMCwgMC41KSwgcmdiYSgwLCAwLCAwLCAwKSk7XG4gIC8qIE9wZXJhIDExLjEwLTEyLjAwICovXG4gIGJhY2tncm91bmQtaW1hZ2U6IGxpbmVhci1ncmFkaWVudCh0byBib3R0b20sIHJnYmEoMCwgMCwgMCwgMC41KSwgcmdiYSgwLCAwLCAwLCAwKSk7XG4gIC8qIEZpcmVmb3ggMTYrLCBJRTEwLCBPcGVyYSAxMi41MCsgKi9cbn1cbi8qIENvdmVyZmxvdyAqL1xuLnN3aXBlci1jb250YWluZXItY292ZXJmbG93IC5zd2lwZXItd3JhcHBlcixcbi5zd2lwZXItY29udGFpbmVyLWZsaXAgLnN3aXBlci13cmFwcGVyIHtcbiAgLyogV2luZG93cyA4IElFIDEwIGZpeCAqL1xuICAtbXMtcGVyc3BlY3RpdmU6IDEyMDBweDtcbn1cbi8qIEN1YmUgKyBGbGlwICovXG4uc3dpcGVyLWNvbnRhaW5lci1jdWJlLFxuLnN3aXBlci1jb250YWluZXItZmxpcCB7XG4gIG92ZXJmbG93OiB2aXNpYmxlO1xufVxuLnN3aXBlci1jb250YWluZXItY3ViZSAuc3dpcGVyLXNsaWRlLFxuLnN3aXBlci1jb250YWluZXItZmxpcCAuc3dpcGVyLXNsaWRlIHtcbiAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gIC13ZWJraXQtYmFja2ZhY2UtdmlzaWJpbGl0eTogaGlkZGVuO1xuICAtbW96LWJhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlbjtcbiAgLW1zLWJhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlbjtcbiAgYmFja2ZhY2UtdmlzaWJpbGl0eTogaGlkZGVuO1xuICB6LWluZGV4OiAxO1xufVxuLnN3aXBlci1jb250YWluZXItY3ViZSAuc3dpcGVyLXNsaWRlIC5zd2lwZXItc2xpZGUsXG4uc3dpcGVyLWNvbnRhaW5lci1mbGlwIC5zd2lwZXItc2xpZGUgLnN3aXBlci1zbGlkZSB7XG4gIHBvaW50ZXItZXZlbnRzOiBub25lO1xufVxuLnN3aXBlci1jb250YWluZXItY3ViZSAuc3dpcGVyLXNsaWRlLWFjdGl2ZSxcbi5zd2lwZXItY29udGFpbmVyLWZsaXAgLnN3aXBlci1zbGlkZS1hY3RpdmUsXG4uc3dpcGVyLWNvbnRhaW5lci1jdWJlIC5zd2lwZXItc2xpZGUtYWN0aXZlIC5zd2lwZXItc2xpZGUtYWN0aXZlLFxuLnN3aXBlci1jb250YWluZXItZmxpcCAuc3dpcGVyLXNsaWRlLWFjdGl2ZSAuc3dpcGVyLXNsaWRlLWFjdGl2ZSB7XG4gIHBvaW50ZXItZXZlbnRzOiBhdXRvO1xufVxuLnN3aXBlci1jb250YWluZXItY3ViZSAuc3dpcGVyLXNsaWRlLXNoYWRvdy10b3AsXG4uc3dpcGVyLWNvbnRhaW5lci1mbGlwIC5zd2lwZXItc2xpZGUtc2hhZG93LXRvcCxcbi5zd2lwZXItY29udGFpbmVyLWN1YmUgLnN3aXBlci1zbGlkZS1zaGFkb3ctYm90dG9tLFxuLnN3aXBlci1jb250YWluZXItZmxpcCAuc3dpcGVyLXNsaWRlLXNoYWRvdy1ib3R0b20sXG4uc3dpcGVyLWNvbnRhaW5lci1jdWJlIC5zd2lwZXItc2xpZGUtc2hhZG93LWxlZnQsXG4uc3dpcGVyLWNvbnRhaW5lci1mbGlwIC5zd2lwZXItc2xpZGUtc2hhZG93LWxlZnQsXG4uc3dpcGVyLWNvbnRhaW5lci1jdWJlIC5zd2lwZXItc2xpZGUtc2hhZG93LXJpZ2h0LFxuLnN3aXBlci1jb250YWluZXItZmxpcCAuc3dpcGVyLXNsaWRlLXNoYWRvdy1yaWdodCB7XG4gIHotaW5kZXg6IDA7XG4gIC13ZWJraXQtYmFja2ZhY2UtdmlzaWJpbGl0eTogaGlkZGVuO1xuICAtbW96LWJhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlbjtcbiAgLW1zLWJhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlbjtcbiAgYmFja2ZhY2UtdmlzaWJpbGl0eTogaGlkZGVuO1xufVxuLyogQ3ViZSAqL1xuLnN3aXBlci1jb250YWluZXItY3ViZSAuc3dpcGVyLXNsaWRlIHtcbiAgdmlzaWJpbGl0eTogaGlkZGVuO1xuICAtd2Via2l0LXRyYW5zZm9ybS1vcmlnaW46IDAgMDtcbiAgLW1vei10cmFuc2Zvcm0tb3JpZ2luOiAwIDA7XG4gIC1tcy10cmFuc2Zvcm0tb3JpZ2luOiAwIDA7XG4gIHRyYW5zZm9ybS1vcmlnaW46IDAgMDtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogMTAwJTtcbn1cbi5zd2lwZXItY29udGFpbmVyLWN1YmUuc3dpcGVyLWNvbnRhaW5lci1ydGwgLnN3aXBlci1zbGlkZSB7XG4gIC13ZWJraXQtdHJhbnNmb3JtLW9yaWdpbjogMTAwJSAwO1xuICAtbW96LXRyYW5zZm9ybS1vcmlnaW46IDEwMCUgMDtcbiAgLW1zLXRyYW5zZm9ybS1vcmlnaW46IDEwMCUgMDtcbiAgdHJhbnNmb3JtLW9yaWdpbjogMTAwJSAwO1xufVxuLnN3aXBlci1jb250YWluZXItY3ViZSAuc3dpcGVyLXNsaWRlLWFjdGl2ZSxcbi5zd2lwZXItY29udGFpbmVyLWN1YmUgLnN3aXBlci1zbGlkZS1uZXh0LFxuLnN3aXBlci1jb250YWluZXItY3ViZSAuc3dpcGVyLXNsaWRlLXByZXYsXG4uc3dpcGVyLWNvbnRhaW5lci1jdWJlIC5zd2lwZXItc2xpZGUtbmV4dCArIC5zd2lwZXItc2xpZGUge1xuICBwb2ludGVyLWV2ZW50czogYXV0bztcbiAgdmlzaWJpbGl0eTogdmlzaWJsZTtcbn1cbi5zd2lwZXItY29udGFpbmVyLWN1YmUgLnN3aXBlci1jdWJlLXNoYWRvdyB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgbGVmdDogMDtcbiAgYm90dG9tOiAwcHg7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IDEwMCU7XG4gIGJhY2tncm91bmQ6ICMwMDA7XG4gIG9wYWNpdHk6IDAuNjtcbiAgLXdlYmtpdC1maWx0ZXI6IGJsdXIoNTBweCk7XG4gIGZpbHRlcjogYmx1cig1MHB4KTtcbiAgei1pbmRleDogMDtcbn1cbi8qIEZhZGUgKi9cbi5zd2lwZXItY29udGFpbmVyLWZhZGUuc3dpcGVyLWNvbnRhaW5lci1mcmVlLW1vZGUgLnN3aXBlci1zbGlkZSB7XG4gIC13ZWJraXQtdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2Utb3V0O1xuICAtbW96LXRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLW91dDtcbiAgLW1zLXRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLW91dDtcbiAgLW8tdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2Utb3V0O1xuICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1vdXQ7XG59XG4uc3dpcGVyLWNvbnRhaW5lci1mYWRlIC5zd2lwZXItc2xpZGUge1xuICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgLXdlYmtpdC10cmFuc2l0aW9uLXByb3BlcnR5OiBvcGFjaXR5O1xuICAtbW96LXRyYW5zaXRpb24tcHJvcGVydHk6IG9wYWNpdHk7XG4gIC1vLXRyYW5zaXRpb24tcHJvcGVydHk6IG9wYWNpdHk7XG4gIHRyYW5zaXRpb24tcHJvcGVydHk6IG9wYWNpdHk7XG59XG4uc3dpcGVyLWNvbnRhaW5lci1mYWRlIC5zd2lwZXItc2xpZGUgLnN3aXBlci1zbGlkZSB7XG4gIHBvaW50ZXItZXZlbnRzOiBub25lO1xufVxuLnN3aXBlci1jb250YWluZXItZmFkZSAuc3dpcGVyLXNsaWRlLWFjdGl2ZSxcbi5zd2lwZXItY29udGFpbmVyLWZhZGUgLnN3aXBlci1zbGlkZS1hY3RpdmUgLnN3aXBlci1zbGlkZS1hY3RpdmUge1xuICBwb2ludGVyLWV2ZW50czogYXV0bztcbn1cbi5zd2lwZXItem9vbS1jb250YWluZXIge1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAxMDAlO1xuICBkaXNwbGF5OiAtd2Via2l0LWJveDtcbiAgZGlzcGxheTogLW1vei1ib3g7XG4gIGRpc3BsYXk6IC1tcy1mbGV4Ym94O1xuICBkaXNwbGF5OiAtd2Via2l0LWZsZXg7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIC13ZWJraXQtYm94LXBhY2s6IGNlbnRlcjtcbiAgLW1vei1ib3gtcGFjazogY2VudGVyO1xuICAtbXMtZmxleC1wYWNrOiBjZW50ZXI7XG4gIC13ZWJraXQtanVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAtd2Via2l0LWJveC1hbGlnbjogY2VudGVyO1xuICAtbW96LWJveC1hbGlnbjogY2VudGVyO1xuICAtbXMtZmxleC1hbGlnbjogY2VudGVyO1xuICAtd2Via2l0LWFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbn1cbi5zd2lwZXItem9vbS1jb250YWluZXIgPiBpbWcsXG4uc3dpcGVyLXpvb20tY29udGFpbmVyID4gc3ZnLFxuLnN3aXBlci16b29tLWNvbnRhaW5lciA+IGNhbnZhcyB7XG4gIG1heC13aWR0aDogMTAwJTtcbiAgbWF4LWhlaWdodDogMTAwJTtcbiAgb2JqZWN0LWZpdDogY29udGFpbjtcbn1cbi8qIFNjcm9sbGJhciAqL1xuLnN3aXBlci1zY3JvbGxiYXIge1xuICBib3JkZXItcmFkaXVzOiAxMHB4O1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIC1tcy10b3VjaC1hY3Rpb246IG5vbmU7XG4gIGJhY2tncm91bmQ6IHJnYmEoMCwgMCwgMCwgMC4xKTtcbn1cbi5zd2lwZXItY29udGFpbmVyLWhvcml6b250YWwgPiAuc3dpcGVyLXNjcm9sbGJhciB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgbGVmdDogMSU7XG4gIGJvdHRvbTogM3B4O1xuICB6LWluZGV4OiA1MDtcbiAgaGVpZ2h0OiA1cHg7XG4gIHdpZHRoOiA5OCU7XG59XG4uc3dpcGVyLWNvbnRhaW5lci12ZXJ0aWNhbCA+IC5zd2lwZXItc2Nyb2xsYmFyIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICByaWdodDogM3B4O1xuICB0b3A6IDElO1xuICB6LWluZGV4OiA1MDtcbiAgd2lkdGg6IDVweDtcbiAgaGVpZ2h0OiA5OCU7XG59XG4uc3dpcGVyLXNjcm9sbGJhci1kcmFnIHtcbiAgaGVpZ2h0OiAxMDAlO1xuICB3aWR0aDogMTAwJTtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBiYWNrZ3JvdW5kOiByZ2JhKDAsIDAsIDAsIDAuNSk7XG4gIGJvcmRlci1yYWRpdXM6IDEwcHg7XG4gIGxlZnQ6IDA7XG4gIHRvcDogMDtcbn1cbi5zd2lwZXItc2Nyb2xsYmFyLWN1cnNvci1kcmFnIHtcbiAgY3Vyc29yOiBtb3ZlO1xufVxuLyogUHJlbG9hZGVyICovXG4uc3dpcGVyLWxhenktcHJlbG9hZGVyIHtcbiAgd2lkdGg6IDQycHg7XG4gIGhlaWdodDogNDJweDtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBsZWZ0OiA1MCU7XG4gIHRvcDogNTAlO1xuICBtYXJnaW4tbGVmdDogLTIxcHg7XG4gIG1hcmdpbi10b3A6IC0yMXB4O1xuICB6LWluZGV4OiAxMDtcbiAgLXdlYmtpdC10cmFuc2Zvcm0tb3JpZ2luOiA1MCU7XG4gIC1tb3otdHJhbnNmb3JtLW9yaWdpbjogNTAlO1xuICB0cmFuc2Zvcm0tb3JpZ2luOiA1MCU7XG4gIC13ZWJraXQtYW5pbWF0aW9uOiBzd2lwZXItcHJlbG9hZGVyLXNwaW4gMXMgc3RlcHMoMTIsIGVuZCkgaW5maW5pdGU7XG4gIC1tb3otYW5pbWF0aW9uOiBzd2lwZXItcHJlbG9hZGVyLXNwaW4gMXMgc3RlcHMoMTIsIGVuZCkgaW5maW5pdGU7XG4gIGFuaW1hdGlvbjogc3dpcGVyLXByZWxvYWRlci1zcGluIDFzIHN0ZXBzKDEyLCBlbmQpIGluZmluaXRlO1xufVxuLnN3aXBlci1sYXp5LXByZWxvYWRlcjphZnRlciB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBjb250ZW50OiBcIlwiO1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAxMDAlO1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJkYXRhOmltYWdlL3N2Zyt4bWw7Y2hhcnNldD11dGYtOCwlM0NzdmclMjB2aWV3Qm94JTNEJzAlMjAwJTIwMTIwJTIwMTIwJyUyMHhtbG5zJTNEJ2h0dHAlM0ElMkYlMkZ3d3cudzMub3JnJTJGMjAwMCUyRnN2ZyclMjB4bWxucyUzQXhsaW5rJTNEJ2h0dHAlM0ElMkYlMkZ3d3cudzMub3JnJTJGMTk5OSUyRnhsaW5rJyUzRSUzQ2RlZnMlM0UlM0NsaW5lJTIwaWQlM0QnbCclMjB4MSUzRCc2MCclMjB4MiUzRCc2MCclMjB5MSUzRCc3JyUyMHkyJTNEJzI3JyUyMHN0cm9rZSUzRCclMjM2YzZjNmMnJTIwc3Ryb2tlLXdpZHRoJTNEJzExJyUyMHN0cm9rZS1saW5lY2FwJTNEJ3JvdW5kJyUyRiUzRSUzQyUyRmRlZnMlM0UlM0NnJTNFJTNDdXNlJTIweGxpbmslM0FocmVmJTNEJyUyM2wnJTIwb3BhY2l0eSUzRCcuMjcnJTJGJTNFJTNDdXNlJTIweGxpbmslM0FocmVmJTNEJyUyM2wnJTIwb3BhY2l0eSUzRCcuMjcnJTIwdHJhbnNmb3JtJTNEJ3JvdGF0ZSgzMCUyMDYwJTJDNjApJyUyRiUzRSUzQ3VzZSUyMHhsaW5rJTNBaHJlZiUzRCclMjNsJyUyMG9wYWNpdHklM0QnLjI3JyUyMHRyYW5zZm9ybSUzRCdyb3RhdGUoNjAlMjA2MCUyQzYwKSclMkYlM0UlM0N1c2UlMjB4bGluayUzQWhyZWYlM0QnJTIzbCclMjBvcGFjaXR5JTNEJy4yNyclMjB0cmFuc2Zvcm0lM0Qncm90YXRlKDkwJTIwNjAlMkM2MCknJTJGJTNFJTNDdXNlJTIweGxpbmslM0FocmVmJTNEJyUyM2wnJTIwb3BhY2l0eSUzRCcuMjcnJTIwdHJhbnNmb3JtJTNEJ3JvdGF0ZSgxMjAlMjA2MCUyQzYwKSclMkYlM0UlM0N1c2UlMjB4bGluayUzQWhyZWYlM0QnJTIzbCclMjBvcGFjaXR5JTNEJy4yNyclMjB0cmFuc2Zvcm0lM0Qncm90YXRlKDE1MCUyMDYwJTJDNjApJyUyRiUzRSUzQ3VzZSUyMHhsaW5rJTNBaHJlZiUzRCclMjNsJyUyMG9wYWNpdHklM0QnLjM3JyUyMHRyYW5zZm9ybSUzRCdyb3RhdGUoMTgwJTIwNjAlMkM2MCknJTJGJTNFJTNDdXNlJTIweGxpbmslM0FocmVmJTNEJyUyM2wnJTIwb3BhY2l0eSUzRCcuNDYnJTIwdHJhbnNmb3JtJTNEJ3JvdGF0ZSgyMTAlMjA2MCUyQzYwKSclMkYlM0UlM0N1c2UlMjB4bGluayUzQWhyZWYlM0QnJTIzbCclMjBvcGFjaXR5JTNEJy41NiclMjB0cmFuc2Zvcm0lM0Qncm90YXRlKDI0MCUyMDYwJTJDNjApJyUyRiUzRSUzQ3VzZSUyMHhsaW5rJTNBaHJlZiUzRCclMjNsJyUyMG9wYWNpdHklM0QnLjY2JyUyMHRyYW5zZm9ybSUzRCdyb3RhdGUoMjcwJTIwNjAlMkM2MCknJTJGJTNFJTNDdXNlJTIweGxpbmslM0FocmVmJTNEJyUyM2wnJTIwb3BhY2l0eSUzRCcuNzUnJTIwdHJhbnNmb3JtJTNEJ3JvdGF0ZSgzMDAlMjA2MCUyQzYwKSclMkYlM0UlM0N1c2UlMjB4bGluayUzQWhyZWYlM0QnJTIzbCclMjBvcGFjaXR5JTNEJy44NSclMjB0cmFuc2Zvcm0lM0Qncm90YXRlKDMzMCUyMDYwJTJDNjApJyUyRiUzRSUzQyUyRmclM0UlM0MlMkZzdmclM0VcIik7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IDUwJTtcbiAgLXdlYmtpdC1iYWNrZ3JvdW5kLXNpemU6IDEwMCU7XG4gIGJhY2tncm91bmQtc2l6ZTogMTAwJTtcbiAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbn1cbi5zd2lwZXItbGF6eS1wcmVsb2FkZXItd2hpdGU6YWZ0ZXIge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJkYXRhOmltYWdlL3N2Zyt4bWw7Y2hhcnNldD11dGYtOCwlM0NzdmclMjB2aWV3Qm94JTNEJzAlMjAwJTIwMTIwJTIwMTIwJyUyMHhtbG5zJTNEJ2h0dHAlM0ElMkYlMkZ3d3cudzMub3JnJTJGMjAwMCUyRnN2ZyclMjB4bWxucyUzQXhsaW5rJTNEJ2h0dHAlM0ElMkYlMkZ3d3cudzMub3JnJTJGMTk5OSUyRnhsaW5rJyUzRSUzQ2RlZnMlM0UlM0NsaW5lJTIwaWQlM0QnbCclMjB4MSUzRCc2MCclMjB4MiUzRCc2MCclMjB5MSUzRCc3JyUyMHkyJTNEJzI3JyUyMHN0cm9rZSUzRCclMjNmZmYnJTIwc3Ryb2tlLXdpZHRoJTNEJzExJyUyMHN0cm9rZS1saW5lY2FwJTNEJ3JvdW5kJyUyRiUzRSUzQyUyRmRlZnMlM0UlM0NnJTNFJTNDdXNlJTIweGxpbmslM0FocmVmJTNEJyUyM2wnJTIwb3BhY2l0eSUzRCcuMjcnJTJGJTNFJTNDdXNlJTIweGxpbmslM0FocmVmJTNEJyUyM2wnJTIwb3BhY2l0eSUzRCcuMjcnJTIwdHJhbnNmb3JtJTNEJ3JvdGF0ZSgzMCUyMDYwJTJDNjApJyUyRiUzRSUzQ3VzZSUyMHhsaW5rJTNBaHJlZiUzRCclMjNsJyUyMG9wYWNpdHklM0QnLjI3JyUyMHRyYW5zZm9ybSUzRCdyb3RhdGUoNjAlMjA2MCUyQzYwKSclMkYlM0UlM0N1c2UlMjB4bGluayUzQWhyZWYlM0QnJTIzbCclMjBvcGFjaXR5JTNEJy4yNyclMjB0cmFuc2Zvcm0lM0Qncm90YXRlKDkwJTIwNjAlMkM2MCknJTJGJTNFJTNDdXNlJTIweGxpbmslM0FocmVmJTNEJyUyM2wnJTIwb3BhY2l0eSUzRCcuMjcnJTIwdHJhbnNmb3JtJTNEJ3JvdGF0ZSgxMjAlMjA2MCUyQzYwKSclMkYlM0UlM0N1c2UlMjB4bGluayUzQWhyZWYlM0QnJTIzbCclMjBvcGFjaXR5JTNEJy4yNyclMjB0cmFuc2Zvcm0lM0Qncm90YXRlKDE1MCUyMDYwJTJDNjApJyUyRiUzRSUzQ3VzZSUyMHhsaW5rJTNBaHJlZiUzRCclMjNsJyUyMG9wYWNpdHklM0QnLjM3JyUyMHRyYW5zZm9ybSUzRCdyb3RhdGUoMTgwJTIwNjAlMkM2MCknJTJGJTNFJTNDdXNlJTIweGxpbmslM0FocmVmJTNEJyUyM2wnJTIwb3BhY2l0eSUzRCcuNDYnJTIwdHJhbnNmb3JtJTNEJ3JvdGF0ZSgyMTAlMjA2MCUyQzYwKSclMkYlM0UlM0N1c2UlMjB4bGluayUzQWhyZWYlM0QnJTIzbCclMjBvcGFjaXR5JTNEJy41NiclMjB0cmFuc2Zvcm0lM0Qncm90YXRlKDI0MCUyMDYwJTJDNjApJyUyRiUzRSUzQ3VzZSUyMHhsaW5rJTNBaHJlZiUzRCclMjNsJyUyMG9wYWNpdHklM0QnLjY2JyUyMHRyYW5zZm9ybSUzRCdyb3RhdGUoMjcwJTIwNjAlMkM2MCknJTJGJTNFJTNDdXNlJTIweGxpbmslM0FocmVmJTNEJyUyM2wnJTIwb3BhY2l0eSUzRCcuNzUnJTIwdHJhbnNmb3JtJTNEJ3JvdGF0ZSgzMDAlMjA2MCUyQzYwKSclMkYlM0UlM0N1c2UlMjB4bGluayUzQWhyZWYlM0QnJTIzbCclMjBvcGFjaXR5JTNEJy44NSclMjB0cmFuc2Zvcm0lM0Qncm90YXRlKDMzMCUyMDYwJTJDNjApJyUyRiUzRSUzQyUyRmclM0UlM0MlMkZzdmclM0VcIik7XG59XG5ALXdlYmtpdC1rZXlmcmFtZXMgc3dpcGVyLXByZWxvYWRlci1zcGluIHtcbiAgMTAwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZSgzNjBkZWcpO1xuICB9XG59XG5Aa2V5ZnJhbWVzIHN3aXBlci1wcmVsb2FkZXItc3BpbiB7XG4gIDEwMCUge1xuICAgIHRyYW5zZm9ybTogcm90YXRlKDM2MGRlZyk7XG4gIH1cbn1cbiIsIi8vIFN0eWxlcyB3cml0dGVuIGJ5IEphY29iIEJlYXJjZSBAIFdlYmxpbngsIEluYy5cblxuLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICpcXFxuICogV2lkZ2V0XG5cXCogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG5cbi53aWRnZXQge1xuICAgICYge1xuICAgICAgICBiYWNrZ3JvdW5kOiAkYmFja2dyb3VuZDtcbiAgICAgICAgYm9yZGVyOiByZW1pZnkoMSkgc29saWQgbGlnaHRlbigkZm9yZWdyb3VuZCwgNzAuOTgwNCk7XG4gICAgICAgIGJveC1zaGFkb3c6IGluc2V0IHJlbWlmeSgwIDAgMCA1KSAkYmFja2dyb3VuZCwgaW5zZXQgcmVtaWZ5KDAgMCAwIDYpIGxpZ2h0ZW4oJGZvcmVncm91bmQsIDcwLjk4MDQpO1xuICAgICAgICBtYXJnaW46IHJlbWlmeSgwIDAgMjUpO1xuICAgICAgICBtYXgtd2lkdGg6IHJlbWlmeSgkc2l0ZS13aWR0aCk7XG4gICAgICAgIHBhZGRpbmc6IHJlbWlmeSgoJGNvbnRlbnQtcGFkZGluZyAqIDAuNSkgKCRjb250ZW50LXBhZGRpbmcgKiAwLjQpKTtcbiAgICB9XG59XG5cbi53aWRnZXRfdXNlci1jb250ZW50IHtcbiAgICAvKiBzdHlsZWxpbnQtZGlzYWJsZSBzZWxlY3Rvci1tYXgtdHlwZSAqL1xuXG4gICAgaDIge1xuICAgICAgICBmb250LXNpemU6IHJlbWlmeSgyNiwgMTYpO1xuICAgIH1cblxuICAgIHAsXG4gICAgb2wsXG4gICAgdWwsXG4gICAgdGFibGUge1xuICAgICAgICBmb250LXNpemU6IHJlbWlmeSgxNSwgMTYpO1xuICAgIH1cblxuICAgID4gOmxhc3QtY2hpbGQge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAwICFpbXBvcnRhbnQ7XG4gICAgfVxuXG4gICAgLyogc3R5bGVsaW50LWVuYWJsZSAqL1xufVxuXG4vKiBiYWNrZ3JvdW5kIHZhcmlhbnQgKi9cblxuLndpZGdldC4tYmFja2dyb3VuZCB7XG4gICAgJiB7XG4gICAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IHJpZ2h0IHRvcDtcbiAgICAgICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgICAgICAgYmFja2dyb3VuZC1zaXplOiBjb3ZlcjtcbiAgICAgICAgYm94LXNoYWRvdzogbm9uZTtcbiAgICAgICAgcGFkZGluZzogcmVtaWZ5KDQwIDEyLjUpO1xuICAgIH1cblxuICAgIC53aWRnZXRfY29udGVudCB7XG4gICAgICAgIGJhY2tncm91bmQ6ICRiYWNrZ3JvdW5kO1xuICAgICAgICBib3gtc2hhZG93OiByZW1pZnkoMCAwIDUpIHRyYW5zcGFyZW50aXplKCRkYXJrLCAwLjY1KTtcbiAgICAgICAgbWF4LXdpZHRoOiByZW1pZnkoMTUwKTtcbiAgICAgICAgcGFkZGluZzogcmVtaWZ5KDEwIDE1KTtcbiAgICB9XG59XG4iLCIvLyBTdHlsZXMgd3JpdHRlbiBieSBKYWNvYiBCZWFyY2UgQCBXZWJsaW54LCBJbmMuXG5cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqXFxcbiAqIEJhc2VcblxcKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cblxuQGltcG9ydCBcIi4uL2Jhc2Uvbm9ybWFsaXplL19ub3JtYWxpemVcIjtcbkBpbXBvcnQgXCIuLi9iYXNlL2dyaWQvX2dyaWRcIjtcbkBpbXBvcnQgXCIuLi9iYXNlL2ljb24vX2ljb25cIjtcbkBpbXBvcnQgXCIuLi9iYXNlL2xpbmsvX2xpbmtcIjtcbkBpbXBvcnQgXCIuLi9iYXNlL3RpdGxlL190aXRsZVwiO1xuQGltcG9ydCBcIi4uL2Jhc2UvdGV4dC9fdGV4dFwiO1xuQGltcG9ydCBcIi4uL2Jhc2UvaW5wdXQvX2lucHV0XCI7XG5AaW1wb3J0IFwiLi4vYmFzZS9idXR0b24vX2J1dHRvblwiO1xuQGltcG9ydCBcIi4uL2Jhc2UvZGl2aWRlci9fZGl2aWRlclwiO1xuQGltcG9ydCBcIi4uL2Jhc2UvdXNlci1jb250ZW50L191c2VyLWNvbnRlbnRcIjtcblxuLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICpcXFxuICogTW9kdWxlXG5cXCogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG5cbkBpbXBvcnQgXCIuLi9tb2R1bGUvYXJ0aWNsZS9fYXJ0aWNsZVwiO1xuQGltcG9ydCBcIi4uL21vZHVsZS9sb2dvL19sb2dvXCI7XG5AaW1wb3J0IFwiLi4vbW9kdWxlL21lbnUtbGlzdC9fbWVudS1saXN0XCI7XG5AaW1wb3J0IFwiLi4vbW9kdWxlL21lbnUtdG9nZ2xlL19tZW51LXRvZ2dsZVwiO1xuQGltcG9ydCBcIi4uL21vZHVsZS9uaW5qYS1mb3Jtcy9fbmluamEtZm9ybXNcIjtcbkBpbXBvcnQgXCIuLi9tb2R1bGUvb3ZlcmxheS1jbG9zZXIvX292ZXJsYXktY2xvc2VyXCI7XG5AaW1wb3J0IFwiLi4vbW9kdWxlL3NlYXJjaC1mb3JtL19zZWFyY2gtZm9ybVwiO1xuQGltcG9ydCBcIi4uL21vZHVsZS9zd2lwZXIvX3N3aXBlclwiO1xuQGltcG9ydCBcIi4uL21vZHVsZS93aWRnZXQvX3dpZGdldFwiO1xuXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKlxcXG4gKiBMYXlvdXRcblxcKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cblxuQGltcG9ydCBcIi4uL2xheW91dC9wYWdlL19wYWdlXCI7XG5AaW1wb3J0IFwiLi4vbGF5b3V0L25hdmlnYXRpb24vX25hdmlnYXRpb25cIjtcbkBpbXBvcnQgXCIuLi9sYXlvdXQvdG9vbGJhci9fdG9vbGJhclwiO1xuQGltcG9ydCBcIi4uL2xheW91dC9oZWFkZXIvX2hlYWRlclwiO1xuQGltcG9ydCBcIi4uL2xheW91dC9oZXJvL19oZXJvXCI7XG5AaW1wb3J0IFwiLi4vbGF5b3V0L2NvbnRlbnQvX2NvbnRlbnRcIjtcbkBpbXBvcnQgXCIuLi9sYXlvdXQvY2FsbG91dC9fY2FsbG91dFwiO1xuQGltcG9ydCBcIi4uL2xheW91dC9mb290ZXIvX2Zvb3RlclwiO1xuIiwiLy8gU3R5bGVzIHdyaXR0ZW4gYnkgSmFjb2IgQmVhcmNlIEAgV2VibGlueCwgSW5jLlxuXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKlxcXG4gKiBQYWdlXG5cXCogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG5cbmh0bWwsXG5ib2R5IHtcbiAgICAmIHtcbiAgICAgICAgYmFja2dyb3VuZDogJHBhZ2VfYmFja2dyb3VuZDtcbiAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICB9XG59XG5cbi5wYWdlX2NvbnRhaW5lciB7XG4gICAgJiB7XG4gICAgICAgIG1pbi1oZWlnaHQ6IDEwMCU7XG4gICAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgfVxufVxuIiwiLy8gU3R5bGVzIHdyaXR0ZW4gYnkgSmFjb2IgQmVhcmNlIEAgV2VibGlueCwgSW5jLlxuXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKlxcXG4gKiBOYXZpZ2F0aW9uXG5cXCogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG5cbi5uYXZpZ2F0aW9uLWJsb2NrIHtcbiAgICAmIHtcbiAgICAgICAgQGluY2x1ZGUgbGF5ZXIoXCJuYXZpZ2F0aW9uXCIpO1xuICAgIH1cbn1cblxuLm5hdmlnYXRpb25faW5uZXIge1xuICAgICYge1xuICAgICAgICBiYWNrZ3JvdW5kOiAkYmFja2dyb3VuZDtcbiAgICAgICAgbWFyZ2luOiAwIGF1dG87XG4gICAgICAgIG1heC13aWR0aDogcmVtaWZ5KCRzaXRlLXdpZHRoKTtcbiAgICAgICAgcGFkZGluZzogcmVtaWZ5KCgkY29udGVudC1wYWRkaW5nICogMC41KSAkY29udGVudC1wYWRkaW5nKTtcbiAgICB9XG59XG5cbi8qIGZ1bGxibGVlZCB2YXJpYW50ICovXG5cbi5uYXZpZ2F0aW9uLWJsb2NrLi1mdWxsYmxlZWQge1xuICAgICYge1xuICAgICAgICBiYWNrZ3JvdW5kOiAkYmFja2dyb3VuZDtcbiAgICAgICAgcGFkZGluZzogcmVtaWZ5KCgkY29udGVudC1wYWRkaW5nICogMC41KSAkY29udGVudC1wYWRkaW5nKTtcbiAgICB9XG5cbiAgICA+IC5uYXZpZ2F0aW9uX2lubmVyIHtcbiAgICAgICAgYmFja2dyb3VuZDogbm9uZTtcbiAgICAgICAgcGFkZGluZzogMDtcbiAgICB9XG5cbiAgICA+IC5uYXZpZ2F0aW9uX2lubmVyLi1mdWxsYmxlZWQge1xuICAgICAgICBtYXgtd2lkdGg6IG5vbmU7XG4gICAgfVxufVxuXG4vKiBmbHlvdXQgdmFyaWFudCAqL1xuXG4ubmF2aWdhdGlvbi1ibG9jay4tZmx5b3V0IHtcbiAgICAmIHtcbiAgICAgICAgYmFja2dyb3VuZDogJGJhY2tncm91bmQ7XG4gICAgICAgIGJvcmRlci1yaWdodDogcmVtaWZ5KDEpIHNvbGlkIGRhcmtlbigkYmFja2dyb3VuZCwgMTApO1xuICAgICAgICBib3R0b206IDk5OWVtO1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgbGVmdDogLTk5OWVtO1xuICAgICAgICBvdmVyZmxvdzogYXV0bztcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICByaWdodDogOTk5ZW07XG4gICAgICAgIHRvcDogLTk5OWVtO1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTEwMCUpO1xuICAgICAgICB0cmFuc2l0aW9uOiBib3R0b20gMHMgMC4xNXMsIGxlZnQgMHMgMC4xNXMsIHJpZ2h0IDBzIDAuMTVzLCB0b3AgMHMgMC4xNXMsIHRyYW5zZm9ybSAwLjE1cywgdmlzaWJpbGl0eSAwcyAwLjE1cztcbiAgICAgICAgdmlzaWJpbGl0eTogaGlkZGVuO1xuICAgICAgICB6LWluZGV4OiA5OTk7XG4gICAgfVxuXG4gICAgJi5pcy1hY3RpdmUge1xuICAgICAgICBib3R0b206IDA7XG4gICAgICAgIGxlZnQ6IDA7XG4gICAgICAgIHJpZ2h0OiByZW1pZnkoODApO1xuICAgICAgICB0b3A6IDA7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgwKTtcbiAgICAgICAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIDAuMTVzO1xuICAgICAgICB2aXNpYmlsaXR5OiB2aXNpYmxlO1xuICAgIH1cblxuICAgID4gLm5hdmlnYXRpb25faW5uZXIge1xuICAgICAgICBiYWNrZ3JvdW5kOiBub25lO1xuICAgICAgICBtYXgtd2lkdGg6IG5vbmU7XG4gICAgICAgIHBhZGRpbmc6IDA7XG4gICAgfVxufVxuXG4vKiBmbHlvdXQgcmlnaHQgdmFyaWFudCAqL1xuXG4ubmF2aWdhdGlvbi1ibG9jay4tZmx5b3V0Li1yaWdodCB7XG4gICAgJiB7XG4gICAgICAgIGJvcmRlci1sZWZ0OiByZW1pZnkoMSkgc29saWQgZGFya2VuKCRiYWNrZ3JvdW5kLCAxMCk7XG4gICAgICAgIGJvcmRlci1yaWdodDogMDtcbiAgICAgICAgbGVmdDogOTk5ZW07XG4gICAgICAgIHJpZ2h0OiAtOTk5ZW07XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgxMDAlKTtcbiAgICB9XG5cbiAgICAmLmlzLWFjdGl2ZSB7XG4gICAgICAgIGxlZnQ6IHJlbWlmeSg4MCk7XG4gICAgICAgIHJpZ2h0OiAwO1xuICAgIH1cbn1cblxuLyogcHVsbGRvd24gdmFyaWFudCAqL1xuXG4ubmF2aWdhdGlvbi1ibG9jay4tcHVsbGRvd24ge1xuICAgICYge1xuICAgICAgICBiYWNrZ3JvdW5kOiAkYmFja2dyb3VuZDtcbiAgICAgICAgYm9yZGVyLXJpZ2h0OiByZW1pZnkoMSkgc29saWQgZGFya2VuKCRiYWNrZ3JvdW5kLCAxMCk7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICBsZWZ0OiAwO1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHJpZ2h0OiAwO1xuICAgICAgICB0b3A6IC05OTllbTtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0xMDAlKTtcbiAgICAgICAgdHJhbnNpdGlvbjogdG9wIDBzIDAuMTVzLCB0cmFuc2Zvcm0gMC4xNXMsIHZpc2liaWxpdHkgMHMgMC4xNXM7XG4gICAgICAgIHZpc2liaWxpdHk6IGhpZGRlbjtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIHotaW5kZXg6IDk5OTtcbiAgICB9XG5cbiAgICAmLmlzLWFjdGl2ZSB7XG4gICAgICAgIHRvcDogMDtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApO1xuICAgICAgICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMC4xNXM7XG4gICAgICAgIHZpc2liaWxpdHk6IHZpc2libGU7XG4gICAgfVxuXG4gICAgPiAubmF2aWdhdGlvbl9pbm5lciB7XG4gICAgICAgIGJhY2tncm91bmQ6IG5vbmU7XG4gICAgICAgIG1heC13aWR0aDogbm9uZTtcbiAgICAgICAgcGFkZGluZzogMDtcbiAgICB9XG59XG4iLCIvLyBTdHlsZXMgd3JpdHRlbiBieSBKYWNvYiBCZWFyY2UgQCBXZWJsaW54LCBJbmMuXG5cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqXFxcbiAqIFRvb2xiYXJcblxcKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cblxuLnRvb2xiYXItYmxvY2sge1xuICAgICYge1xuICAgICAgICBAaW5jbHVkZSBsYXllcihcInRvb2xiYXJcIik7XG4gICAgfVxufVxuXG4udG9vbGJhcl9pbm5lciB7XG4gICAgJiB7XG4gICAgICAgIGJhY2tncm91bmQ6ICRiYWNrZ3JvdW5kX2FsdDtcbiAgICAgICAgbWFyZ2luOiAwIGF1dG87XG4gICAgICAgIG1heC13aWR0aDogcmVtaWZ5KCRzaXRlLXdpZHRoKTtcbiAgICAgICAgcGFkZGluZzogcmVtaWZ5KCgkY29udGVudC1wYWRkaW5nICogMCkgKCRjb250ZW50LXBhZGRpbmcgKiAwLjQpKTtcbiAgICB9XG59XG5cbi8qIGZ1bGxibGVlZCB2YXJpYW50ICovXG5cbi50b29sYmFyLWJsb2NrLi1mdWxsYmxlZWQge1xuICAgICYge1xuICAgICAgICBiYWNrZ3JvdW5kOiAkYmFja2dyb3VuZF9hbHQ7XG4gICAgICAgIHBhZGRpbmc6IHJlbWlmeSgoJGNvbnRlbnQtcGFkZGluZyAqIDApICgkY29udGVudC1wYWRkaW5nICogMC40KSk7XG4gICAgfVxuXG4gICAgPiAudG9vbGJhcl9pbm5lciB7XG4gICAgICAgIGJhY2tncm91bmQ6IG5vbmU7XG4gICAgICAgIHBhZGRpbmc6IDA7XG4gICAgfVxuXG4gICAgPiAudG9vbGJhcl9pbm5lci4tZnVsbGJsZWVkIHtcbiAgICAgICAgbWF4LXdpZHRoOiBub25lO1xuICAgIH1cbn1cbiIsIi8vIFN0eWxlcyB3cml0dGVuIGJ5IEphY29iIEJlYXJjZSBAIFdlYmxpbngsIEluYy5cblxuLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICpcXFxuICogSGVhZGVyXG5cXCogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG5cbi5oZWFkZXItYmxvY2sge1xuICAgICYge1xuICAgICAgICBAaW5jbHVkZSBsYXllcihcImhlYWRlclwiKTtcbiAgICB9XG59XG5cbi5oZWFkZXJfaW5uZXIge1xuICAgICYge1xuICAgICAgICBiYWNrZ3JvdW5kOiAkYmFja2dyb3VuZDtcbiAgICAgICAgYm9yZGVyOiAwO1xuICAgICAgICBib3JkZXItYm90dG9tOiByZW1pZnkoOCkgc29saWQgbGlnaHRlbigkZGFyaywgNjEuMTc2NSk7XG4gICAgICAgIGJvcmRlci1pbWFnZTogdXJsKFwiLi4vbWVkaWEvYmFja2dyb3VuZC1zdGF0aWMuanBnXCIpIDAgMCA4IHJlcGVhdDtcbiAgICAgICAgbWFyZ2luOiAwIGF1dG87XG4gICAgICAgIG1heC13aWR0aDogcmVtaWZ5KCRzaXRlLXdpZHRoKTtcbiAgICAgICAgcGFkZGluZzogcmVtaWZ5KCgkY29udGVudC1wYWRkaW5nICogMC4zKSAoJGNvbnRlbnQtcGFkZGluZyAqIDAuNCkpO1xuICAgIH1cbn1cblxuLmhlYWRlcl9sb2dvIHtcbiAgICAmIHtcbiAgICAgICAgbWFyZ2luOiByZW1pZnkoLTUyLjUgYXV0byAwKTtcbiAgICAgICAgd2lkdGg6IHJlbWlmeSgyNTAsIDE2KTtcbiAgICB9XG59XG5cbi8qIGZ1bGxibGVlZCB2YXJpYW50ICovXG5cbi5oZWFkZXItYmxvY2suLWZ1bGxibGVlZCB7XG4gICAgJiB7XG4gICAgICAgIGJhY2tncm91bmQ6ICRiYWNrZ3JvdW5kO1xuICAgICAgICBib3JkZXI6IDA7XG4gICAgICAgIGJvcmRlci1ib3R0b206IHJlbWlmeSg4KSBzb2xpZCBsaWdodGVuKCRkYXJrLCA2MS4xNzY1KTtcbiAgICAgICAgYm9yZGVyLWltYWdlOiB1cmwoXCIuLi9tZWRpYS9iYWNrZ3JvdW5kLXN0YXRpYy5qcGdcIikgMCAwIDggcmVwZWF0O1xuICAgICAgICBwYWRkaW5nOiByZW1pZnkoKCRjb250ZW50LXBhZGRpbmcgKiAwLjMpICgkY29udGVudC1wYWRkaW5nICogMC40KSk7XG4gICAgfVxuXG4gICAgPiAuaGVhZGVyX2lubmVyIHtcbiAgICAgICAgYmFja2dyb3VuZDogbm9uZTtcbiAgICAgICAgYm9yZGVyLWJvdHRvbTogMDtcbiAgICAgICAgYm9yZGVyLWltYWdlOiBub25lO1xuICAgICAgICBwYWRkaW5nOiAwO1xuICAgIH1cblxuICAgID4gLmhlYWRlcl9pbm5lci4tZnVsbGJsZWVkIHtcbiAgICAgICAgbWF4LXdpZHRoOiBub25lO1xuICAgIH1cbn1cbiIsIi8vIFN0eWxlcyB3cml0dGVuIGJ5IEphY29iIEJlYXJjZSBAIFdlYmxpbngsIEluYy5cblxuLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICpcXFxuICogSGVyb1xuXFwqIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuXG4uaGVyby1ibG9jayB7XG4gICAgJiB7XG4gICAgICAgIEBpbmNsdWRlIGxheWVyKFwiaGVyb1wiKTtcbiAgICB9XG59XG5cbi5oZXJvX2lubmVyIHtcbiAgICAmIHtcbiAgICAgICAgYmFja2dyb3VuZDogJGJhY2tncm91bmQ7XG4gICAgICAgIG1hcmdpbjogMCBhdXRvO1xuICAgICAgICBtYXgtd2lkdGg6IHJlbWlmeSgkc2l0ZS13aWR0aCk7XG4gICAgICAgIHBhZGRpbmc6IHJlbWlmeSgoJGNvbnRlbnQtcGFkZGluZyAqIDEuMjUpICRjb250ZW50LXBhZGRpbmcpO1xuICAgIH1cbn1cblxuLyogZnVsbGJsZWVkIHZhcmlhbnQgKi9cblxuLmhlcm8tYmxvY2suLWZ1bGxibGVlZCB7XG4gICAgJiB7XG4gICAgICAgIGJhY2tncm91bmQ6ICRiYWNrZ3JvdW5kO1xuICAgICAgICBwYWRkaW5nOiByZW1pZnkoKCRjb250ZW50LXBhZGRpbmcgKiAxLjI1KSAkY29udGVudC1wYWRkaW5nKTtcbiAgICB9XG5cbiAgICA+IC5oZXJvX2lubmVyIHtcbiAgICAgICAgYmFja2dyb3VuZDogbm9uZTtcbiAgICAgICAgcGFkZGluZzogMDtcbiAgICB9XG5cbiAgICA+IC5oZXJvX2lubmVyLi1mdWxsYmxlZWQge1xuICAgICAgICBtYXgtd2lkdGg6IG5vbmU7XG4gICAgfVxufVxuIiwiLy8gU3R5bGVzIHdyaXR0ZW4gYnkgSmFjb2IgQmVhcmNlIEAgV2VibGlueCwgSW5jLlxuXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKlxcXG4gKiBDb250ZW50XG5cXCogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG5cbi5jb250ZW50LWJsb2NrIHtcbiAgICAmIHtcbiAgICAgICAgQGluY2x1ZGUgbGF5ZXIoXCJjb250ZW50XCIpO1xuICAgIH1cbn1cblxuLmNvbnRlbnRfaW5uZXIge1xuICAgICYge1xuICAgICAgICBiYWNrZ3JvdW5kOiAkYmFja2dyb3VuZDtcbiAgICAgICAgbWFyZ2luOiAwIGF1dG87XG4gICAgICAgIG1heC13aWR0aDogcmVtaWZ5KCRzaXRlLXdpZHRoKTtcbiAgICAgICAgcGFkZGluZzogcmVtaWZ5KCgkY29udGVudC1wYWRkaW5nICogMC4zKSAoJGNvbnRlbnQtcGFkZGluZyAqIDAuNCkpO1xuICAgIH1cbn1cblxuLyogZnVsbGJsZWVkIHZhcmlhbnQgKi9cblxuLmNvbnRlbnQtYmxvY2suLWZ1bGxibGVlZCB7XG4gICAgJiB7XG4gICAgICAgIGJhY2tncm91bmQ6ICRiYWNrZ3JvdW5kO1xuICAgICAgICBwYWRkaW5nOiByZW1pZnkoKCRjb250ZW50LXBhZGRpbmcgKiAwLjMpICgkY29udGVudC1wYWRkaW5nICogMC40KSk7XG4gICAgfVxuXG4gICAgPiAuY29udGVudF9pbm5lciB7XG4gICAgICAgIGJhY2tncm91bmQ6IG5vbmU7XG4gICAgICAgIHBhZGRpbmc6IDA7XG4gICAgfVxuXG4gICAgPiAuY29udGVudF9pbm5lci4tZnVsbGJsZWVkIHtcbiAgICAgICAgbWF4LXdpZHRoOiBub25lO1xuICAgIH1cbn1cblxuLyogaW1hZ2UgdmFyaWFudCAqL1xuXG4uY29udGVudC1ibG9jay4taW1hZ2Uge1xuICAgIC5jb250ZW50X2ZpZ3VyZSB7XG4gICAgICAgIG1hcmdpbjogMDtcbiAgICB9XG5cbiAgICAuY29udGVudF9pbWFnZSB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICBtYXJnaW46IDAgYXV0bztcbiAgICAgICAgbWF4LWhlaWdodDogMTAwJTtcbiAgICAgICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgIH1cbn1cbiIsIi8vIFN0eWxlcyB3cml0dGVuIGJ5IEphY29iIEJlYXJjZSBAIFdlYmxpbngsIEluYy5cblxuLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICpcXFxuICogQ2FsbG91dFxuXFwqIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuXG4uY2FsbG91dC1ibG9jayB7XG4gICAgJiB7XG4gICAgICAgIEBpbmNsdWRlIGxheWVyKFwiY2FsbG91dFwiKTtcblxuICAgICAgICBiYWNrZ3JvdW5kOiB1cmwoXCIuLi9tZWRpYS9iYWNrZ3JvdW5kLXN0YXRpYy5qcGdcIikgY2VudGVyIHRvcCByZXBlYXQ7XG4gICAgICAgIHBhZGRpbmc6IHJlbWlmeSgoJGNvbnRlbnQtcGFkZGluZyAqIDAuNCkgKCRjb250ZW50LXBhZGRpbmcgKiAwLjMpKTtcbiAgICB9XG59XG5cbi5jYWxsb3V0X2lubmVyIHtcbiAgICAmIHtcbiAgICAgICAgYmFja2dyb3VuZDogJGJhY2tncm91bmQ7XG4gICAgICAgIGJvcmRlcjogcmVtaWZ5KDEpIHNvbGlkIGxpZ2h0ZW4oJGZvcmVncm91bmQsIDcwLjk4MDQpO1xuICAgICAgICBib3gtc2hhZG93OiBpbnNldCByZW1pZnkoMCAwIDAgNSkgJGJhY2tncm91bmQsIGluc2V0IHJlbWlmeSgwIDAgMCA2KSBsaWdodGVuKCRmb3JlZ3JvdW5kLCA3MC45ODA0KTtcbiAgICAgICAgbWFyZ2luOiAwIGF1dG87XG4gICAgICAgIG1heC13aWR0aDogcmVtaWZ5KCRzaXRlLXdpZHRoKTtcbiAgICAgICAgcGFkZGluZzogcmVtaWZ5KCgkY29udGVudC1wYWRkaW5nICogMC41KSAoJGNvbnRlbnQtcGFkZGluZyAqIDAuNCkpO1xuICAgIH1cbn1cblxuLyogZnVsbGJsZWVkIHZhcmlhbnQgKi9cblxuLmNhbGxvdXQtYmxvY2suLWZ1bGxibGVlZCB7XG4gICAgJiB7XG4gICAgICAgIGJhY2tncm91bmQ6ICRiYWNrZ3JvdW5kO1xuICAgICAgICBib3JkZXI6IHJlbWlmeSgxKSBzb2xpZCBsaWdodGVuKCRmb3JlZ3JvdW5kLCA3MC45ODA0KTtcbiAgICAgICAgYm94LXNoYWRvdzogaW5zZXQgcmVtaWZ5KDAgMCAwIDUpICRiYWNrZ3JvdW5kLCBpbnNldCByZW1pZnkoMCAwIDAgNikgbGlnaHRlbigkZm9yZWdyb3VuZCwgNzAuOTgwNCk7XG4gICAgICAgIHBhZGRpbmc6IHJlbWlmeSgoJGNvbnRlbnQtcGFkZGluZyAqIDAuNSkgKCRjb250ZW50LXBhZGRpbmcgKiAwLjQpKTtcbiAgICB9XG5cbiAgICA+IC5jYWxsb3V0X2lubmVyIHtcbiAgICAgICAgYmFja2dyb3VuZDogbm9uZTtcbiAgICAgICAgYm9yZGVyOiAwO1xuICAgICAgICBib3gtc2hhZG93OiBub25lO1xuICAgICAgICBwYWRkaW5nOiAwO1xuICAgIH1cblxuICAgID4gLmNhbGxvdXRfaW5uZXIuLWZ1bGxibGVlZCB7XG4gICAgICAgIG1heC13aWR0aDogbm9uZTtcbiAgICB9XG59XG4iLCIvLyBTdHlsZXMgd3JpdHRlbiBieSBKYWNvYiBCZWFyY2UgQCBXZWJsaW54LCBJbmMuXG5cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqXFxcbiAqIEZvb3RlclxuXFwqIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuXG4uZm9vdGVyLWJsb2NrIHtcbiAgICAmIHtcbiAgICAgICAgQGluY2x1ZGUgbGF5ZXIoXCJmb290ZXJcIik7XG4gICAgfVxuXG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogJGwtYnJlYWsgLSAoMSAvIDE2KSkge1xuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgfVxufVxuXG4uZm9vdGVyX2lubmVyIHtcbiAgICAmIHtcbiAgICAgICAgYmFja2dyb3VuZDogJHBhZ2VfYmFja2dyb3VuZDtcbiAgICAgICAgYm9yZGVyOiAwO1xuICAgICAgICBib3JkZXItaW1hZ2U6IHVybChcIi4uL21lZGlhL2JhY2tncm91bmQtc3RhdGljLmpwZ1wiKSA4IDAgMCByZXBlYXQ7XG4gICAgICAgIGJvcmRlci10b3A6IHJlbWlmeSg4KSBzb2xpZCBsaWdodGVuKCRkYXJrLCA2MS4xNzY1KTtcbiAgICAgICAgbWFyZ2luOiAwIGF1dG87XG4gICAgICAgIG1heC13aWR0aDogcmVtaWZ5KCRzaXRlLXdpZHRoKTtcbiAgICAgICAgcGFkZGluZzogcmVtaWZ5KCgkY29udGVudC1wYWRkaW5nICogMC40KSAoJGNvbnRlbnQtcGFkZGluZyAqIDAuMykpO1xuICAgIH1cbn1cblxuLmZvb3Rlcl9saW5rIHtcbiAgICAmIHtcbiAgICAgICAgY29sb3I6IGluaGVyaXQ7XG4gICAgfVxuXG4gICAgJjpmb2N1cyxcbiAgICAmOmhvdmVyIHtcbiAgICAgICAgY29sb3I6IGluaGVyaXQ7XG4gICAgICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xuICAgIH1cbn1cblxuLmZvb3Rlcl90aXRsZSB7XG4gICAgJiB7XG4gICAgICAgIGZvbnQtc2l6ZTogcmVtaWZ5KDE4LCAxNik7XG4gICAgfVxufVxuXG4uZm9vdGVyX3RleHQge1xuICAgICYge1xuICAgICAgICBjb2xvcjogbGlnaHRlbigkZGFyaywgNDUuODgyNCk7XG4gICAgICAgIGZvbnQtZmFtaWx5OiAkaGVhZGluZy1mb250O1xuICAgICAgICBmb250LXNpemU6IHJlbWlmeSgxMiwgMTYpO1xuICAgIH1cbn1cblxuLmZvb3Rlcl9tZW51LWxpc3RfY29udGFpbmVyIHtcbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAkeGwtYnJlYWsgLSAoMSAvIDE2KSkge1xuICAgICAgICAubWVudS1saXN0Li1zb2NpYWwge1xuICAgICAgICAgICAgZmxvYXQ6IHJpZ2h0O1xuICAgICAgICAgICAgbWFyZ2luLXRvcDogcmVtaWZ5KDIwLCAyMCk7XG4gICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgICAgICByaWdodDogNTAlO1xuICAgICAgICB9XG5cbiAgICAgICAgLm1lbnUtbGlzdC4tc29jaWFsIC5tZW51LWxpc3RfaXRlbSB7XG4gICAgICAgICAgICBmbG9hdDogbGVmdDtcbiAgICAgICAgICAgIGxlZnQ6IDUwJTtcbiAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgfVxuICAgIH1cbn1cblxuLmZvb3Rlcl93aWRnZXQge1xuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6ICg2MDBlbSAvIDE2KSkge1xuICAgICAgICAubmYtcm93ID4gKiB7XG4gICAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgfVxuICAgIH1cbn1cblxuLyogZnVsbGJsZWVkIHZhcmlhbnQgKi9cblxuLmZvb3Rlci1ibG9jay4tZnVsbGJsZWVkIHtcbiAgICAmIHtcbiAgICAgICAgYmFja2dyb3VuZDogJHBhZ2VfYmFja2dyb3VuZDtcbiAgICAgICAgYm9yZGVyOiAwO1xuICAgICAgICBib3JkZXItaW1hZ2U6IHVybChcIi4uL21lZGlhL2JhY2tncm91bmQtc3RhdGljLmpwZ1wiKSA4IDAgMCByZXBlYXQ7XG4gICAgICAgIGJvcmRlci10b3A6IHJlbWlmeSg4KSBzb2xpZCBsaWdodGVuKCRkYXJrLCA2MS4xNzY1KTtcbiAgICAgICAgcGFkZGluZzogcmVtaWZ5KCgkY29udGVudC1wYWRkaW5nICogMC40KSAoJGNvbnRlbnQtcGFkZGluZyAqIDAuMykpO1xuICAgIH1cblxuICAgID4gLmZvb3Rlcl9pbm5lciB7XG4gICAgICAgIGJhY2tncm91bmQ6IG5vbmU7XG4gICAgICAgIGJvcmRlci1pbWFnZTogbm9uZTtcbiAgICAgICAgYm9yZGVyLXRvcDogMDtcbiAgICAgICAgcGFkZGluZzogMDtcbiAgICB9XG5cbiAgICA+IC5mb290ZXJfaW5uZXIuLWZ1bGxibGVlZCB7XG4gICAgICAgIG1heC13aWR0aDogbm9uZTtcbiAgICB9XG59XG4iLCIvLyBTdHlsZXMgd3JpdHRlbiBieSBKYWNvYiBCZWFyY2UgQCBXZWJsaW54LCBJbmMuXG5cbkBpbXBvcnQgXCJoZWxwZXJzL19oZWxwZXJzXCI7XG5AaW1wb3J0IFwidmlld3MvX3NjcmVlblwiO1xuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAkeHh4cy1icmVhaykge1xuICAgIEBpbXBvcnQgXCJ2aWV3cy9fc2NyZWVuX3h4eHNcIjtcbn1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogJHh4cy1icmVhaykge1xuICAgIEBpbXBvcnQgXCJ2aWV3cy9fc2NyZWVuX3h4c1wiO1xufVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAkeHMtYnJlYWspIHtcbiAgICBAaW1wb3J0IFwidmlld3MvX3NjcmVlbl94c1wiO1xufVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAkcy1icmVhaykge1xuICAgIEBpbXBvcnQgXCJ2aWV3cy9fc2NyZWVuX3NcIjtcbn1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogJG0tYnJlYWspIHtcbiAgICBAaW1wb3J0IFwidmlld3MvX3NjcmVlbl9tXCI7XG59XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6ICRsLWJyZWFrKSB7XG4gICAgQGltcG9ydCBcInZpZXdzL19zY3JlZW5fbFwiO1xufVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAkeGwtYnJlYWspIHtcbiAgICBAaW1wb3J0IFwidmlld3MvX3NjcmVlbl94bFwiO1xufVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAkeHhsLWJyZWFrKSB7XG4gICAgQGltcG9ydCBcInZpZXdzL19zY3JlZW5feHhsXCI7XG59XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6ICR4eHhsLWJyZWFrKSB7XG4gICAgQGltcG9ydCBcInZpZXdzL19zY3JlZW5feHh4bFwiO1xufVxuIiwiLy8gU3R5bGVzIHdyaXR0ZW4gYnkgSmFjb2IgQmVhcmNlIEAgV2VibGlueCwgSW5jLlxuXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKlxcXG4gKiBNb2R1bGVcblxcKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cblxuLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICpcXFxuICogTGF5b3V0XG5cXCogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4iLCIvLyBTdHlsZXMgd3JpdHRlbiBieSBKYWNvYiBCZWFyY2UgQCBXZWJsaW54LCBJbmMuXG5cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqXFxcbiAqIE1vZHVsZVxuXFwqIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKlxcXG4gKiBMYXlvdXRcblxcKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbiIsIi8vIFN0eWxlcyB3cml0dGVuIGJ5IEphY29iIEJlYXJjZSBAIFdlYmxpbngsIEluYy5cblxuLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICpcXFxuICogTW9kdWxlXG5cXCogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG5cbkBpbXBvcnQgXCIuLi9tb2R1bGUvYXJ0aWNsZS9fYXJ0aWNsZV94c1wiO1xuQGltcG9ydCBcIi4uL21vZHVsZS9uaW5qYS1mb3Jtcy9fbmluamEtZm9ybXNfeHNcIjtcbkBpbXBvcnQgXCIuLi9tb2R1bGUvc3dpcGVyL19zd2lwZXJfeHNcIjtcbkBpbXBvcnQgXCIuLi9tb2R1bGUvd2lkZ2V0L193aWRnZXRfeHNcIjtcblxuLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICpcXFxuICogTGF5b3V0XG5cXCogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG5cbkBpbXBvcnQgXCIuLi9sYXlvdXQvaGVhZGVyL19oZWFkZXJfeHNcIjtcbkBpbXBvcnQgXCIuLi9sYXlvdXQvY29udGVudC9fY29udGVudF94c1wiO1xuQGltcG9ydCBcIi4uL2xheW91dC9jYWxsb3V0L19jYWxsb3V0X3hzXCI7XG5AaW1wb3J0IFwiLi4vbGF5b3V0L2Zvb3Rlci9fZm9vdGVyX3hzXCI7XG4iLCIvLyBTdHlsZXMgd3JpdHRlbiBieSBKYWNvYiBCZWFyY2UgQCBXZWJsaW54LCBJbmMuXG5cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqXFxcbiAqIEFydGljbGVcblxcKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cblxuLyogY2FsbG91dCB2YXJpYW50ICovXG5cbi5hcnRpY2xlLi1jYWxsb3V0IHtcbiAgICAuYXJ0aWNsZV90aXRsZSB7XG4gICAgICAgIGZvbnQtc2l6ZTogcmVtaWZ5KDIwLCAxNik7XG4gICAgfVxufVxuXG4vKiBoZWFkbGluZSB2YXJpYW50ICovXG5cbi5hcnRpY2xlLi1oZWFkbGluZSB7XG4gICAgJiB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IHJlbWlmeSgyMCwgMTYpO1xuICAgICAgICBwYWRkaW5nLWJvdHRvbTogcmVtaWZ5KDIwLCAxNik7XG4gICAgfVxuXG4gICAgLmFydGljbGVfZmlndXJlIHtcbiAgICAgICAgd2lkdGg6IHJlbWlmeSg5MCwgMTYpO1xuICAgIH1cblxuICAgIC5hcnRpY2xlX3RleHQge1xuICAgICAgICBmb250LXNpemU6IHJlbWlmeSgxOCwgMTYpO1xuICAgIH1cbn1cbiIsIi8vIFN0eWxlcyB3cml0dGVuIGJ5IEphY29iIEJlYXJjZSBAIFdlYmxpbngsIEluYy5cblxuLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICpcXFxuICogTmluamEgRm9ybXNcblxcKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cblxuLyogc3R5bGVsaW50LWRpc2FibGUgc2VsZWN0b3ItY2xhc3MtcGF0dGVybiwgc2VsZWN0b3ItbWF4LXR5cGUgKi9cblxuLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICpcXFxuICogT3BpbmlvbmF0ZWQgVHdlYWtzXG5cXCogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG5cbi8vIHJlc2l6ZSBoMnNcblxuLm5mLWZpZWxkLWNvbnRhaW5lciAudXNlci1jb250ZW50IHtcbiAgICBoMiB7XG4gICAgICAgIGZvbnQtc2l6ZTogcmVtaWZ5KDQ4LCAxNik7XG4gICAgfVxufVxuIiwiLy8gU3R5bGVzIHdyaXR0ZW4gYnkgSmFjb2IgQmVhcmNlIEAgV2VibGlueCwgSW5jLlxuXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKlxcXG4gKiBTd2lwZXIgKGh0dHA6Ly9pZGFuZ2Vyby51cy9zd2lwZXIvKVxuXFwqIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuXG4vKiBzdHlsZWxpbnQtZGlzYWJsZSBzZWxlY3Rvci1jbGFzcy1wYXR0ZXJuLCBzZWxlY3Rvci1tYXgtdHlwZSAqL1xuXG4vLyBDdXN0b21cblxuLnN3aXBlci1waWN0dXJlIHtcbiAgICAmIHtcbiAgICAgICAgYm9yZGVyLWJvdHRvbS13aWR0aDogcmVtaWZ5KDEyKTtcbiAgICAgICAgYm9yZGVyLWltYWdlOiB1cmwoXCIuLi9tZWRpYS9iYWNrZ3JvdW5kLXN0YXRpYy5qcGdcIikgMCAwIDEyIHJlcGVhdDtcbiAgICB9XG59XG5cbi5zd2lwZXItdXNlci1jb250ZW50IHtcbiAgICBoMSB7XG4gICAgICAgIGZvbnQtc2l6ZTogcmVtaWZ5KDUyLCAxNik7XG4gICAgfVxufVxuIiwiLy8gU3R5bGVzIHdyaXR0ZW4gYnkgSmFjb2IgQmVhcmNlIEAgV2VibGlueCwgSW5jLlxuXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKlxcXG4gKiBXaWRnZXRcblxcKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cblxuLndpZGdldF91c2VyLWNvbnRlbnQge1xuICAgIC8qIHN0eWxlbGludC1kaXNhYmxlIHNlbGVjdG9yLW1heC10eXBlICovXG5cbiAgICBoMiB7XG4gICAgICAgIGZvbnQtc2l6ZTogcmVtaWZ5KDMxLCAxNik7XG4gICAgfVxuXG4gICAgcCxcbiAgICBvbCxcbiAgICB1bCxcbiAgICB0YWJsZSB7XG4gICAgICAgIGZvbnQtc2l6ZTogcmVtaWZ5KDE4LCAxNik7XG4gICAgfVxuXG4gICAgLyogc3R5bGVsaW50LWVuYWJsZSAqL1xufVxuXG4vKiBiYWNrZ3JvdW5kIHZhcmlhbnQgKi9cblxuLndpZGdldC4tYmFja2dyb3VuZCB7XG4gICAgJiB7XG4gICAgICAgIHBhZGRpbmc6IHJlbWlmeSg0NSAxNSk7XG4gICAgfVxuXG4gICAgLndpZGdldF9jb250ZW50IHtcbiAgICAgICAgbWF4LXdpZHRoOiByZW1pZnkoMTgwKTtcbiAgICAgICAgcGFkZGluZy1sZWZ0OiByZW1pZnkoMTApO1xuICAgICAgICBwYWRkaW5nLXJpZ2h0OiByZW1pZnkoMTApO1xuICAgIH1cbn1cbiIsIi8vIFN0eWxlcyB3cml0dGVuIGJ5IEphY29iIEJlYXJjZSBAIFdlYmxpbngsIEluYy5cblxuLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICpcXFxuICogSGVhZGVyXG5cXCogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG5cbi5oZWFkZXJfaW5uZXIge1xuICAgICYge1xuICAgICAgICBib3JkZXItYm90dG9tLXdpZHRoOiByZW1pZnkoMTIpO1xuICAgICAgICBib3JkZXItaW1hZ2U6IHVybChcIi4uL21lZGlhL2JhY2tncm91bmQtc3RhdGljLmpwZ1wiKSAwIDAgMTIgcmVwZWF0O1xuICAgICAgICBwYWRkaW5nLWJvdHRvbTogcmVtaWZ5KDIwKTtcbiAgICAgICAgcGFkZGluZy10b3A6IHJlbWlmeSgyMCk7XG4gICAgfVxufVxuXG4uaGVhZGVyX2xvZ28ge1xuICAgICYge1xuICAgICAgICBtYXJnaW4tdG9wOiByZW1pZnkoLTQwLCAxNik7XG4gICAgICAgIHdpZHRoOiByZW1pZnkoMjYwLCAxNik7XG4gICAgfVxufVxuXG4vKiBmdWxsYmxlZWQgdmFyaWFudCAqL1xuXG4uaGVhZGVyLWJsb2NrLi1mdWxsYmxlZWQge1xuICAgICYge1xuICAgICAgICBib3JkZXItYm90dG9tLXdpZHRoOiByZW1pZnkoMTIpO1xuICAgICAgICBib3JkZXItaW1hZ2U6IHVybChcIi4uL21lZGlhL2JhY2tncm91bmQtc3RhdGljLmpwZ1wiKSAwIDAgMTIgcmVwZWF0O1xuICAgICAgICBwYWRkaW5nLWJvdHRvbTogcmVtaWZ5KDIwKTtcbiAgICAgICAgcGFkZGluZy10b3A6IHJlbWlmeSgyMCk7XG4gICAgfVxuXG4gICAgPiAuaGVhZGVyX2lubmVyIHtcbiAgICAgICAgYm9yZGVyLWJvdHRvbTogMDtcbiAgICAgICAgYm9yZGVyLWltYWdlOiBub25lO1xuICAgICAgICBwYWRkaW5nLWJvdHRvbTogMDtcbiAgICAgICAgcGFkZGluZy10b3A6IDA7XG4gICAgfVxufVxuIiwiLy8gU3R5bGVzIHdyaXR0ZW4gYnkgSmFjb2IgQmVhcmNlIEAgV2VibGlueCwgSW5jLlxuXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKlxcXG4gKiBDb250ZW50XG5cXCogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG5cbi5jb250ZW50X2lubmVyIHtcbiAgICAmIHtcbiAgICAgICAgcGFkZGluZy1ib3R0b206IHJlbWlmeSgkY29udGVudC1wYWRkaW5nKTtcbiAgICAgICAgcGFkZGluZy10b3A6IHJlbWlmeSgkY29udGVudC1wYWRkaW5nKTtcbiAgICB9XG59XG5cbi8qIGZ1bGxibGVlZCB2YXJpYW50ICovXG5cbi5jb250ZW50LWJsb2NrLi1mdWxsYmxlZWQge1xuICAgICYge1xuICAgICAgICBwYWRkaW5nLWJvdHRvbTogcmVtaWZ5KCRjb250ZW50LXBhZGRpbmcpO1xuICAgICAgICBwYWRkaW5nLXRvcDogcmVtaWZ5KCRjb250ZW50LXBhZGRpbmcpO1xuICAgIH1cblxuICAgID4gLmNvbnRlbnRfaW5uZXIge1xuICAgICAgICBwYWRkaW5nLWJvdHRvbTogMDtcbiAgICAgICAgcGFkZGluZy10b3A6IDA7XG4gICAgfVxufVxuIiwiLy8gU3R5bGVzIHdyaXR0ZW4gYnkgSmFjb2IgQmVhcmNlIEAgV2VibGlueCwgSW5jLlxuXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKlxcXG4gKiBDYWxsb3V0XG5cXCogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG5cbi5jYWxsb3V0LWJsb2NrIHtcbiAgICAmIHtcbiAgICAgICAgcGFkZGluZy1ib3R0b206IHJlbWlmeSgkY29udGVudC1wYWRkaW5nICogMC44KTtcbiAgICAgICAgcGFkZGluZy10b3A6IHJlbWlmeSgkY29udGVudC1wYWRkaW5nICogMC44KTtcbiAgICB9XG59XG5cbi5jYWxsb3V0X2lubmVyIHtcbiAgICAmIHtcbiAgICAgICAgcGFkZGluZy1ib3R0b206IHJlbWlmeSgkY29udGVudC1wYWRkaW5nICogMC43KTtcbiAgICAgICAgcGFkZGluZy10b3A6IHJlbWlmeSgkY29udGVudC1wYWRkaW5nICogMC43KTtcbiAgICB9XG59XG5cbi8qIGZ1bGxibGVlZCB2YXJpYW50ICovXG5cbi5jYWxsb3V0LWJsb2NrLi1mdWxsYmxlZWQge1xuICAgICYge1xuICAgICAgICBwYWRkaW5nLWJvdHRvbTogcmVtaWZ5KCRjb250ZW50LXBhZGRpbmcgKiAwLjcpO1xuICAgICAgICBwYWRkaW5nLXRvcDogcmVtaWZ5KCRjb250ZW50LXBhZGRpbmcgKiAwLjcpO1xuICAgIH1cblxuICAgID4gLmNhbGxvdXRfaW5uZXIge1xuICAgICAgICBwYWRkaW5nLWJvdHRvbTogMDtcbiAgICAgICAgcGFkZGluZy10b3A6IDA7XG4gICAgfVxufVxuIiwiLy8gU3R5bGVzIHdyaXR0ZW4gYnkgSmFjb2IgQmVhcmNlIEAgV2VibGlueCwgSW5jLlxuXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKlxcXG4gKiBGb290ZXJcblxcKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cblxuLmZvb3Rlcl9pbm5lciB7XG4gICAgJiB7XG4gICAgICAgIGJvcmRlci1pbWFnZTogdXJsKFwiLi4vbWVkaWEvYmFja2dyb3VuZC1zdGF0aWMuanBnXCIpIDggMCAwIHJlcGVhdDtcbiAgICAgICAgYm9yZGVyLXRvcC13aWR0aDogcmVtaWZ5KDEyKTtcbiAgICB9XG59XG5cbi5mb290ZXJfd2lkZ2V0IHtcbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAkeGwtYnJlYWsgLSAoMSAvIDE2KSkge1xuICAgICAgICBmb250LXNpemU6IDEuMjV2dztcbiAgICB9XG59XG5cbi8qIGZ1bGxibGVlZCB2YXJpYW50ICovXG5cbi5mb290ZXItYmxvY2suLWZ1bGxibGVlZCB7XG4gICAgJiB7XG4gICAgICAgIGJvcmRlci1pbWFnZTogdXJsKFwiLi4vbWVkaWEvYmFja2dyb3VuZC1zdGF0aWMuanBnXCIpIDggMCAwIHJlcGVhdDtcbiAgICAgICAgYm9yZGVyLXRvcC13aWR0aDogcmVtaWZ5KDEyKTtcbiAgICB9XG5cbiAgICA+IC5mb290ZXJfaW5uZXIge1xuICAgICAgICBib3JkZXItaW1hZ2U6IG5vbmU7XG4gICAgICAgIGJvcmRlci10b3Atd2lkdGg6IDA7XG4gICAgfVxufVxuIiwiLy8gU3R5bGVzIHdyaXR0ZW4gYnkgSmFjb2IgQmVhcmNlIEAgV2VibGlueCwgSW5jLlxuXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKlxcXG4gKiBNb2R1bGVcblxcKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cblxuLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICpcXFxuICogTGF5b3V0XG5cXCogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG5cbkBpbXBvcnQgXCIuLi9sYXlvdXQvY29udGVudC9fY29udGVudF9zXCI7XG4iLCIvLyBTdHlsZXMgd3JpdHRlbiBieSBKYWNvYiBCZWFyY2UgQCBXZWJsaW54LCBJbmMuXG5cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqXFxcbiAqIENvbnRlbnRcblxcKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cblxuLyogaW1hZ2UgdmFyaWFudCAqL1xuXG4uY29udGVudC1ibG9jay4taW1hZ2Uge1xuICAgICYge1xuICAgICAgICBwYWRkaW5nLWJvdHRvbTogMDtcbiAgICB9XG5cbiAgICAuY29udGVudF9pbm5lciB7XG4gICAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgICAgIHBhZGRpbmctYm90dG9tOiByZW1pZnkoJGNvbnRlbnQtcGFkZGluZyk7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB9XG5cbiAgICAuY29udGVudF90aXRsZSB7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgei1pbmRleDogMTtcbiAgICB9XG5cbiAgICAuY29udGVudF9maWd1cmUge1xuICAgICAgICBhbGlnbi1pdGVtczogZmxleC1lbmQ7XG4gICAgICAgIGJvdHRvbTogMDtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgbWF4LXdpZHRoOiA1MCU7XG4gICAgICAgIHBhZGRpbmctdG9wOiByZW1pZnkoKCRjb250ZW50LXBhZGRpbmcgLyAzKSk7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgcmlnaHQ6IDA7XG4gICAgICAgIHRvcDogMDtcbiAgICAgICAgei1pbmRleDogMDtcbiAgICB9XG5cbiAgICAuY29udGVudF9pbWFnZSB7XG4gICAgICAgIGZsZXg6IDAgMCBhdXRvO1xuICAgIH1cblxuICAgIC5jb250ZW50X3VzZXItY29udGVudCB7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgei1pbmRleDogMTtcbiAgICB9XG59XG4iLCIvLyBTdHlsZXMgd3JpdHRlbiBieSBKYWNvYiBCZWFyY2UgQCBXZWJsaW54LCBJbmMuXG5cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqXFxcbiAqIE1vZHVsZVxuXFwqIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKlxcXG4gKiBMYXlvdXRcblxcKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cblxuQGltcG9ydCBcIi4uL2xheW91dC9jb250ZW50L19jb250ZW50X21cIjtcbiIsIi8vIFN0eWxlcyB3cml0dGVuIGJ5IEphY29iIEJlYXJjZSBAIFdlYmxpbngsIEluYy5cblxuLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICpcXFxuICogQ29udGVudFxuXFwqIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuXG4uY29udGVudF9zaWRlYmFyIHtcbiAgICAmIHtcbiAgICAgICAgd2lkdGg6IHJlbWlmeSgzNTApO1xuICAgIH1cbn1cbiIsIi8vIFN0eWxlcyB3cml0dGVuIGJ5IEphY29iIEJlYXJjZSBAIFdlYmxpbngsIEluYy5cblxuLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICpcXFxuICogU3dpcGVyIChodHRwOi8vaWRhbmdlcm8udXMvc3dpcGVyLylcblxcKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cblxuLyogc3R5bGVsaW50LWRpc2FibGUgc2VsZWN0b3ItY2xhc3MtcGF0dGVybiwgc2VsZWN0b3ItbWF4LXR5cGUgKi9cblxuLy8gQ3VzdG9tXG5cbi5zd2lwZXItY29udGFpbmVyIHtcbiAgICAmIHtcbiAgICAgICAgYm9yZGVyOiAwO1xuICAgICAgICBib3JkZXItYm90dG9tOiByZW1pZnkoMTIpIHNvbGlkIGxpZ2h0ZW4oJGRhcmssIDYxLjE3NjUpO1xuICAgICAgICBib3JkZXItaW1hZ2U6IHVybChcIi4uL21lZGlhL2JhY2tncm91bmQtc3RhdGljLmpwZ1wiKSAwIDAgMTIgcmVwZWF0O1xuICAgIH1cbn1cblxuLnN3aXBlci1waWN0dXJlIHtcbiAgICAmIHtcbiAgICAgICAgYm9yZGVyLWJvdHRvbTogMDtcbiAgICB9XG59XG5cbi5zd2lwZXItaW1hZ2Uge1xuICAgICYge1xuICAgICAgICBtYXgtd2lkdGg6IHJlbWlmeSgoJHNpdGUtd2lkdGggLyAzKSAqIDIpO1xuICAgICAgICB3aWR0aDogKDEwMCUgLyAzKSAqIDI7XG4gICAgfVxufVxuXG4uc3dpcGVyLWNhcHRpb24ge1xuICAgICYge1xuICAgICAgICBiYWNrZ3JvdW5kOiBub25lO1xuICAgICAgICBib3R0b206IDA7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGxlZnQ6IDA7XG4gICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgcmlnaHQ6IDA7XG4gICAgICAgIHRvcDogMDtcbiAgICB9XG5cbiAgICAmOjpiZWZvcmUge1xuICAgICAgICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQodG8gcmlnaHQsIHRyYW5zcGFyZW50aXplKCRiYWNrZ3JvdW5kLCAxKSAwJSwgdHJhbnNwYXJlbnRpemUoJGJhY2tncm91bmQsIDApIDIwJSk7XG4gICAgICAgIGJvdHRvbTogMDtcbiAgICAgICAgY29udGVudDogXCJcXDAwMjBcIjtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgcmlnaHQ6IDA7XG4gICAgICAgIHRvcDogMDtcbiAgICAgICAgd2lkdGg6ICgxMDAlIC8gMykgKiAyO1xuICAgICAgICB3aWR0aDogY2FsYygjeygxMDAlIC8gMykgKiAyfSArICN7cmVtaWZ5KCRjb250ZW50LXBhZGRpbmcpfSk7XG4gICAgICAgIHotaW5kZXg6IDA7XG4gICAgfVxuXG4gICAgLnN3aXBlci1jYXB0aW9uLWlubmVyIHtcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgcGFkZGluZzogcmVtaWZ5KCgkY29udGVudC1wYWRkaW5nICogMC4zKSAoJGNvbnRlbnQtcGFkZGluZyAqIDAuNCkgKCRjb250ZW50LXBhZGRpbmcgKiAwLjMpICgkc2l0ZS13aWR0aCAvIDMpLCAxNik7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgei1pbmRleDogMTtcbiAgICB9XG59XG5cbi5zd2lwZXItdXNlci1jb250ZW50IHtcbiAgICBoMSB7XG4gICAgICAgIGZvbnQtc2l6ZTogcmVtaWZ5KDUyLCAxNik7XG4gICAgfVxufVxuIiwiLy8gU3R5bGVzIHdyaXR0ZW4gYnkgSmFjb2IgQmVhcmNlIEAgV2VibGlueCwgSW5jLlxuXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKlxcXG4gKiBNb2R1bGVcblxcKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cblxuQGltcG9ydCBcIi4uL21vZHVsZS9zd2lwZXIvX3N3aXBlcl9sXCI7XG5cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqXFxcbiAqIExheW91dFxuXFwqIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuXG5AaW1wb3J0IFwiLi4vbGF5b3V0L3Rvb2xiYXIvX3Rvb2xiYXJfbFwiO1xuQGltcG9ydCBcIi4uL2xheW91dC9oZWFkZXIvX2hlYWRlcl9sXCI7XG5AaW1wb3J0IFwiLi4vbGF5b3V0L2hlcm8vX2hlcm9fbFwiO1xuIiwiLy8gU3R5bGVzIHdyaXR0ZW4gYnkgSmFjb2IgQmVhcmNlIEAgV2VibGlueCwgSW5jLlxuXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKlxcXG4gKiBUb29sYmFyXG5cXCogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG5cbi50b29sYmFyX2lubmVyIHtcbiAgICAmIHtcbiAgICAgICAgcGFkZGluZy1ib3R0b206IHJlbWlmeSgkY29udGVudC1wYWRkaW5nICogMC4zKTtcbiAgICAgICAgcGFkZGluZy10b3A6IHJlbWlmeSgkY29udGVudC1wYWRkaW5nICogMC4zKTtcbiAgICB9XG59XG5cbi8qIGZ1bGxibGVlZCB2YXJpYW50ICovXG5cbi50b29sYmFyLWJsb2NrLi1mdWxsYmxlZWQge1xuICAgICYge1xuICAgICAgICBwYWRkaW5nLWJvdHRvbTogcmVtaWZ5KCRjb250ZW50LXBhZGRpbmcgKiAwLjMpO1xuICAgICAgICBwYWRkaW5nLXRvcDogcmVtaWZ5KCRjb250ZW50LXBhZGRpbmcgKiAwLjMpO1xuICAgIH1cblxuICAgID4gLnRvb2xiYXJfaW5uZXIge1xuICAgICAgICBwYWRkaW5nLWJvdHRvbTogMDtcbiAgICAgICAgcGFkZGluZy10b3A6IDA7XG4gICAgfVxufVxuIiwiLy8gU3R5bGVzIHdyaXR0ZW4gYnkgSmFjb2IgQmVhcmNlIEAgV2VibGlueCwgSW5jLlxuXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKlxcXG4gKiBIZWFkZXJcblxcKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cblxuLmhlYWRlci1ibG9jayB7XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogJHh4bC1icmVhaykge1xuICAgICAgICBmb250LXNpemU6IDEuMTcxMzAzMDc0NjcwNTcxdnc7XG4gICAgfVxufVxuXG4uaGVhZGVyX2xvZ28ge1xuICAgICYge1xuICAgICAgICBtYXJnaW4tdG9wOiByZW1pZnkoLTU1LCAxNik7XG4gICAgfVxufVxuIiwiLy8gU3R5bGVzIHdyaXR0ZW4gYnkgSmFjb2IgQmVhcmNlIEAgV2VibGlueCwgSW5jLlxuXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKlxcXG4gKiBIZXJvXG5cXCogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG5cbi5oZXJvLWJsb2NrIHtcbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAkeHhsLWJyZWFrKSB7XG4gICAgICAgIGZvbnQtc2l6ZTogMS4xNzEzMDMwNzQ2NzA1NzF2dztcbiAgICB9XG59XG4iLCIvLyBTdHlsZXMgd3JpdHRlbiBieSBKYWNvYiBCZWFyY2UgQCBXZWJsaW54LCBJbmMuXG5cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqXFxcbiAqIE1vZHVsZVxuXFwqIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKlxcXG4gKiBMYXlvdXRcblxcKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbiIsIi8vIFN0eWxlcyB3cml0dGVuIGJ5IEphY29iIEJlYXJjZSBAIFdlYmxpbngsIEluYy5cblxuLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICpcXFxuICogTW9kdWxlXG5cXCogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG5cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqXFxcbiAqIExheW91dFxuXFwqIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuXG5AaW1wb3J0IFwiLi4vbGF5b3V0L2hlYWRlci9faGVhZGVyX3h4bFwiO1xuIiwiLy8gU3R5bGVzIHdyaXR0ZW4gYnkgSmFjb2IgQmVhcmNlIEAgV2VibGlueCwgSW5jLlxuXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKlxcXG4gKiBIZWFkZXJcblxcKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cblxuLmhlYWRlcl9sb2dvIHtcbiAgICAmIHtcbiAgICAgICAgbWFyZ2luLXRvcDogcmVtaWZ5KC02NSwgMTYpO1xuICAgICAgICB3aWR0aDogcmVtaWZ5KDMxMCwgMTYpO1xuICAgIH1cbn1cbiIsIi8vIFN0eWxlcyB3cml0dGVuIGJ5IEphY29iIEJlYXJjZSBAIFdlYmxpbngsIEluYy5cblxuLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICpcXFxuICogTW9kdWxlXG5cXCogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG5cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqXFxcbiAqIExheW91dFxuXFwqIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuIl19 */
