@import url(https://fonts.googleapis.com/css?family=Archivo|Archivo+Black|Crimson+Text:400,400i&display=swap);
/*
  need to cuszomize normalize-scss, because of the breaking
  change with maht.div(1/1) instad of 1/1
*/
/*! normalize-scss | MIT/GPLv2 License | bit.ly/normalize-scss */
/* Document
   ========================================================================== */
/**
 * 1. Correct the line height in all browsers.
 * 2. Prevent adjustments of font size after orientation changes in
 *    IE on Windows Phone and in iOS.
 */
html {
  line-height: 1.15; /* 1 */
  -ms-text-size-adjust: 100%; /* 2 */
  -webkit-text-size-adjust: 100%; /* 2 */
}

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

/**
 * Add the correct display in IE 9-.
 */
article,
aside,
footer,
header,
nav,
section {
  display: block;
}

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

/* Grouping content
   ========================================================================== */
/**
 * Add the correct display in IE 9-.
 */
figcaption,
figure {
  display: block;
}

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

/**
 * Add the correct display in IE.
 */
main {
  display: block;
}

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

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

/* Text-level semantics
   ========================================================================== */
/**
 * 1. Remove the bottom border in Chrome 57- and 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 */
  -webkit-text-decoration: underline dotted;
          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;
}

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

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

/**
 * 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
   ========================================================================== */
/**
 * Add the correct display in IE 9-.
 */
audio,
video {
  display: inline-block;
}

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

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

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

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

/**
 * Show the overflow in IE.
 */
button {
  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 */
}

button,
[type=button],
[type=reset],
[type=submit] {
  /**
   * Remove the inner border and padding in Firefox.
   */
  /**
   * Restore the focus styles unset by the previous rule.
   */
}
button::-moz-focus-inner,
[type=button]::-moz-focus-inner,
[type=reset]::-moz-focus-inner,
[type=submit]::-moz-focus-inner {
  border-style: none;
  padding: 0;
}
button:-moz-focusring,
[type=button]:-moz-focusring,
[type=reset]:-moz-focusring,
[type=submit]:-moz-focusring {
  outline: 1px dotted ButtonText;
}

/**
 * Show the overflow in Edge.
 */
input {
  overflow: visible;
}

/**
 * 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 macOS.
   */
}
[type=search]::-webkit-search-cancel-button, [type=search]::-webkit-search-decoration {
  -webkit-appearance: none;
}

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

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

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

/**
 * 1. Add the correct display in IE 9-.
 * 2. Add the correct vertical alignment in Chrome, Firefox, and Opera.
 */
progress {
  display: inline-block; /* 1 */
  vertical-align: baseline; /* 2 */
}

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

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

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

/*
 * Add the correct display in IE 9-.
 */
menu {
  display: block;
}

/* Scripting
   ========================================================================== */
/**
 * Add the correct display in IE 9-.
 */
canvas {
  display: inline-block;
}

/**
 * Add the correct display in IE.
 */
template {
  display: none;
}

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

.col-mobile-0 {
  flex-basis: calc(0 * 100% / 12 - (20px));
  width: calc(0 * 100% / 12 - (20px));
  max-width: calc(0 * 100% / 12 - (20px));
  margin: 0 10px;
}
@media (max-width: 350px) {
  .col-mobile-0 {
    flex-basis: calc(0 * 100% / 12);
    width: calc(0 * 100% / 12);
    max-width: calc(0 * 100% / 12);
    margin: 0px;
  }
}

.col-mobile-1 {
  flex-basis: calc(1 * 100% / 12 - (20px));
  width: calc(1 * 100% / 12 - (20px));
  max-width: calc(1 * 100% / 12 - (20px));
  margin: 0 10px;
}
@media (max-width: 350px) {
  .col-mobile-1 {
    flex-basis: calc(1 * 100% / 12);
    width: calc(1 * 100% / 12);
    max-width: calc(1 * 100% / 12);
    margin: 0px;
  }
}

.col-mobile-2 {
  flex-basis: calc(2 * 100% / 12 - (20px));
  width: calc(2 * 100% / 12 - (20px));
  max-width: calc(2 * 100% / 12 - (20px));
  margin: 0 10px;
}
@media (max-width: 350px) {
  .col-mobile-2 {
    flex-basis: calc(2 * 100% / 12);
    width: calc(2 * 100% / 12);
    max-width: calc(2 * 100% / 12);
    margin: 0px;
  }
}

.col-mobile-3 {
  flex-basis: calc(3 * 100% / 12 - (20px));
  width: calc(3 * 100% / 12 - (20px));
  max-width: calc(3 * 100% / 12 - (20px));
  margin: 0 10px;
}
@media (max-width: 350px) {
  .col-mobile-3 {
    flex-basis: calc(3 * 100% / 12);
    width: calc(3 * 100% / 12);
    max-width: calc(3 * 100% / 12);
    margin: 0px;
  }
}

.col-mobile-4 {
  flex-basis: calc(4 * 100% / 12 - (20px));
  width: calc(4 * 100% / 12 - (20px));
  max-width: calc(4 * 100% / 12 - (20px));
  margin: 0 10px;
}
@media (max-width: 350px) {
  .col-mobile-4 {
    flex-basis: calc(4 * 100% / 12);
    width: calc(4 * 100% / 12);
    max-width: calc(4 * 100% / 12);
    margin: 0px;
  }
}

.col-mobile-5 {
  flex-basis: calc(5 * 100% / 12 - (20px));
  width: calc(5 * 100% / 12 - (20px));
  max-width: calc(5 * 100% / 12 - (20px));
  margin: 0 10px;
}
@media (max-width: 350px) {
  .col-mobile-5 {
    flex-basis: calc(5 * 100% / 12);
    width: calc(5 * 100% / 12);
    max-width: calc(5 * 100% / 12);
    margin: 0px;
  }
}

.col-mobile-6 {
  flex-basis: calc(6 * 100% / 12 - (20px));
  width: calc(6 * 100% / 12 - (20px));
  max-width: calc(6 * 100% / 12 - (20px));
  margin: 0 10px;
}
@media (max-width: 350px) {
  .col-mobile-6 {
    flex-basis: calc(6 * 100% / 12);
    width: calc(6 * 100% / 12);
    max-width: calc(6 * 100% / 12);
    margin: 0px;
  }
}

.col-mobile-7 {
  flex-basis: calc(7 * 100% / 12 - (20px));
  width: calc(7 * 100% / 12 - (20px));
  max-width: calc(7 * 100% / 12 - (20px));
  margin: 0 10px;
}
@media (max-width: 350px) {
  .col-mobile-7 {
    flex-basis: calc(7 * 100% / 12);
    width: calc(7 * 100% / 12);
    max-width: calc(7 * 100% / 12);
    margin: 0px;
  }
}

.col-mobile-8 {
  flex-basis: calc(8 * 100% / 12 - (20px));
  width: calc(8 * 100% / 12 - (20px));
  max-width: calc(8 * 100% / 12 - (20px));
  margin: 0 10px;
}
@media (max-width: 350px) {
  .col-mobile-8 {
    flex-basis: calc(8 * 100% / 12);
    width: calc(8 * 100% / 12);
    max-width: calc(8 * 100% / 12);
    margin: 0px;
  }
}

.col-mobile-9 {
  flex-basis: calc(9 * 100% / 12 - (20px));
  width: calc(9 * 100% / 12 - (20px));
  max-width: calc(9 * 100% / 12 - (20px));
  margin: 0 10px;
}
@media (max-width: 350px) {
  .col-mobile-9 {
    flex-basis: calc(9 * 100% / 12);
    width: calc(9 * 100% / 12);
    max-width: calc(9 * 100% / 12);
    margin: 0px;
  }
}

.col-mobile-10 {
  flex-basis: calc(10 * 100% / 12 - (20px));
  width: calc(10 * 100% / 12 - (20px));
  max-width: calc(10 * 100% / 12 - (20px));
  margin: 0 10px;
}
@media (max-width: 350px) {
  .col-mobile-10 {
    flex-basis: calc(10 * 100% / 12);
    width: calc(10 * 100% / 12);
    max-width: calc(10 * 100% / 12);
    margin: 0px;
  }
}

.col-mobile-11 {
  flex-basis: calc(11 * 100% / 12 - (20px));
  width: calc(11 * 100% / 12 - (20px));
  max-width: calc(11 * 100% / 12 - (20px));
  margin: 0 10px;
}
@media (max-width: 350px) {
  .col-mobile-11 {
    flex-basis: calc(11 * 100% / 12);
    width: calc(11 * 100% / 12);
    max-width: calc(11 * 100% / 12);
    margin: 0px;
  }
}

.col-mobile-12 {
  flex-basis: calc(12 * 100% / 12 - (20px));
  width: calc(12 * 100% / 12 - (20px));
  max-width: calc(12 * 100% / 12 - (20px));
  margin: 0 10px;
}
@media (max-width: 350px) {
  .col-mobile-12 {
    flex-basis: calc(12 * 100% / 12);
    width: calc(12 * 100% / 12);
    max-width: calc(12 * 100% / 12);
    margin: 0px;
  }
}

@media (min-width: 420px) {
  .col-mobile-offset-0 {
    margin-left: calc(0 * 100% / 12 + (10px));
  }
}

@media (min-width: 420px) {
  .col-mobile-offset-1 {
    margin-left: calc(1 * 100% / 12 + (10px));
  }
}

@media (min-width: 420px) {
  .col-mobile-offset-2 {
    margin-left: calc(2 * 100% / 12 + (10px));
  }
}

@media (min-width: 420px) {
  .col-mobile-offset-3 {
    margin-left: calc(3 * 100% / 12 + (10px));
  }
}

@media (min-width: 420px) {
  .col-mobile-offset-4 {
    margin-left: calc(4 * 100% / 12 + (10px));
  }
}

@media (min-width: 420px) {
  .col-mobile-offset-5 {
    margin-left: calc(5 * 100% / 12 + (10px));
  }
}

@media (min-width: 420px) {
  .col-mobile-offset-6 {
    margin-left: calc(6 * 100% / 12 + (10px));
  }
}

@media (min-width: 420px) {
  .col-mobile-offset-7 {
    margin-left: calc(7 * 100% / 12 + (10px));
  }
}

@media (min-width: 420px) {
  .col-mobile-offset-8 {
    margin-left: calc(8 * 100% / 12 + (10px));
  }
}

@media (min-width: 420px) {
  .col-mobile-offset-9 {
    margin-left: calc(9 * 100% / 12 + (10px));
  }
}

@media (min-width: 420px) {
  .col-mobile-offset-10 {
    margin-left: calc(10 * 100% / 12 + (10px));
  }
}

@media (min-width: 420px) {
  .col-mobile-offset-11 {
    margin-left: calc(11 * 100% / 12 + (10px));
  }
}

@media (min-width: 420px) {
  .col-mobile-offset-12 {
    margin-left: calc(12 * 100% / 12 + (10px));
  }
}

@media (min-width: 768px) {
  .col-tablet-0 {
    flex-basis: calc(0 * 100% / 12 - (20px));
    width: calc(0 * 100% / 12 - (20px));
    max-width: calc(0 * 100% / 12 - (20px));
    margin: 0 10px;
  }
}

@media (min-width: 768px) {
  .col-tablet-1 {
    flex-basis: calc(1 * 100% / 12 - (20px));
    width: calc(1 * 100% / 12 - (20px));
    max-width: calc(1 * 100% / 12 - (20px));
    margin: 0 10px;
  }
}

@media (min-width: 768px) {
  .col-tablet-2 {
    flex-basis: calc(2 * 100% / 12 - (20px));
    width: calc(2 * 100% / 12 - (20px));
    max-width: calc(2 * 100% / 12 - (20px));
    margin: 0 10px;
  }
}

@media (min-width: 768px) {
  .col-tablet-3 {
    flex-basis: calc(3 * 100% / 12 - (20px));
    width: calc(3 * 100% / 12 - (20px));
    max-width: calc(3 * 100% / 12 - (20px));
    margin: 0 10px;
  }
}

@media (min-width: 768px) {
  .col-tablet-4 {
    flex-basis: calc(4 * 100% / 12 - (20px));
    width: calc(4 * 100% / 12 - (20px));
    max-width: calc(4 * 100% / 12 - (20px));
    margin: 0 10px;
  }
}

@media (min-width: 768px) {
  .col-tablet-5 {
    flex-basis: calc(5 * 100% / 12 - (20px));
    width: calc(5 * 100% / 12 - (20px));
    max-width: calc(5 * 100% / 12 - (20px));
    margin: 0 10px;
  }
}

@media (min-width: 768px) {
  .col-tablet-6 {
    flex-basis: calc(6 * 100% / 12 - (20px));
    width: calc(6 * 100% / 12 - (20px));
    max-width: calc(6 * 100% / 12 - (20px));
    margin: 0 10px;
  }
}

@media (min-width: 768px) {
  .col-tablet-7 {
    flex-basis: calc(7 * 100% / 12 - (20px));
    width: calc(7 * 100% / 12 - (20px));
    max-width: calc(7 * 100% / 12 - (20px));
    margin: 0 10px;
  }
}

@media (min-width: 768px) {
  .col-tablet-8 {
    flex-basis: calc(8 * 100% / 12 - (20px));
    width: calc(8 * 100% / 12 - (20px));
    max-width: calc(8 * 100% / 12 - (20px));
    margin: 0 10px;
  }
}

@media (min-width: 768px) {
  .col-tablet-9 {
    flex-basis: calc(9 * 100% / 12 - (20px));
    width: calc(9 * 100% / 12 - (20px));
    max-width: calc(9 * 100% / 12 - (20px));
    margin: 0 10px;
  }
}

@media (min-width: 768px) {
  .col-tablet-10 {
    flex-basis: calc(10 * 100% / 12 - (20px));
    width: calc(10 * 100% / 12 - (20px));
    max-width: calc(10 * 100% / 12 - (20px));
    margin: 0 10px;
  }
}

@media (min-width: 768px) {
  .col-tablet-11 {
    flex-basis: calc(11 * 100% / 12 - (20px));
    width: calc(11 * 100% / 12 - (20px));
    max-width: calc(11 * 100% / 12 - (20px));
    margin: 0 10px;
  }
}

@media (min-width: 768px) {
  .col-tablet-12 {
    flex-basis: calc(12 * 100% / 12 - (20px));
    width: calc(12 * 100% / 12 - (20px));
    max-width: calc(12 * 100% / 12 - (20px));
    margin: 0 10px;
  }
}

@media (min-width: 768px) {
  .col-tablet-offset-0 {
    margin-left: calc(0 * 100% / 12 + (10px));
  }
}

@media (min-width: 768px) {
  .col-tablet-offset-1 {
    margin-left: calc(1 * 100% / 12 + (10px));
  }
}

@media (min-width: 768px) {
  .col-tablet-offset-2 {
    margin-left: calc(2 * 100% / 12 + (10px));
  }
}

@media (min-width: 768px) {
  .col-tablet-offset-3 {
    margin-left: calc(3 * 100% / 12 + (10px));
  }
}

@media (min-width: 768px) {
  .col-tablet-offset-4 {
    margin-left: calc(4 * 100% / 12 + (10px));
  }
}

@media (min-width: 768px) {
  .col-tablet-offset-5 {
    margin-left: calc(5 * 100% / 12 + (10px));
  }
}

@media (min-width: 768px) {
  .col-tablet-offset-6 {
    margin-left: calc(6 * 100% / 12 + (10px));
  }
}

@media (min-width: 768px) {
  .col-tablet-offset-7 {
    margin-left: calc(7 * 100% / 12 + (10px));
  }
}

@media (min-width: 768px) {
  .col-tablet-offset-8 {
    margin-left: calc(8 * 100% / 12 + (10px));
  }
}

@media (min-width: 768px) {
  .col-tablet-offset-9 {
    margin-left: calc(9 * 100% / 12 + (10px));
  }
}

@media (min-width: 768px) {
  .col-tablet-offset-10 {
    margin-left: calc(10 * 100% / 12 + (10px));
  }
}

@media (min-width: 768px) {
  .col-tablet-offset-11 {
    margin-left: calc(11 * 100% / 12 + (10px));
  }
}

@media (min-width: 768px) {
  .col-tablet-offset-12 {
    margin-left: calc(12 * 100% / 12 + (10px));
  }
}

@media (min-width: 1024px) {
  .col-small-desktop-0 {
    flex-basis: calc(0 * 100% / 12 - (20px));
    width: calc(0 * 100% / 12 - (20px));
    max-width: calc(0 * 100% / 12 - (20px));
    margin: 0 10px;
  }
}

@media (min-width: 1024px) {
  .col-small-desktop-1 {
    flex-basis: calc(1 * 100% / 12 - (20px));
    width: calc(1 * 100% / 12 - (20px));
    max-width: calc(1 * 100% / 12 - (20px));
    margin: 0 10px;
  }
}

@media (min-width: 1024px) {
  .col-small-desktop-2 {
    flex-basis: calc(2 * 100% / 12 - (20px));
    width: calc(2 * 100% / 12 - (20px));
    max-width: calc(2 * 100% / 12 - (20px));
    margin: 0 10px;
  }
}

@media (min-width: 1024px) {
  .col-small-desktop-3 {
    flex-basis: calc(3 * 100% / 12 - (20px));
    width: calc(3 * 100% / 12 - (20px));
    max-width: calc(3 * 100% / 12 - (20px));
    margin: 0 10px;
  }
}

@media (min-width: 1024px) {
  .col-small-desktop-4 {
    flex-basis: calc(4 * 100% / 12 - (20px));
    width: calc(4 * 100% / 12 - (20px));
    max-width: calc(4 * 100% / 12 - (20px));
    margin: 0 10px;
  }
}

@media (min-width: 1024px) {
  .col-small-desktop-5 {
    flex-basis: calc(5 * 100% / 12 - (20px));
    width: calc(5 * 100% / 12 - (20px));
    max-width: calc(5 * 100% / 12 - (20px));
    margin: 0 10px;
  }
}

@media (min-width: 1024px) {
  .col-small-desktop-6 {
    flex-basis: calc(6 * 100% / 12 - (20px));
    width: calc(6 * 100% / 12 - (20px));
    max-width: calc(6 * 100% / 12 - (20px));
    margin: 0 10px;
  }
}

@media (min-width: 1024px) {
  .col-small-desktop-7 {
    flex-basis: calc(7 * 100% / 12 - (20px));
    width: calc(7 * 100% / 12 - (20px));
    max-width: calc(7 * 100% / 12 - (20px));
    margin: 0 10px;
  }
}

@media (min-width: 1024px) {
  .col-small-desktop-8 {
    flex-basis: calc(8 * 100% / 12 - (20px));
    width: calc(8 * 100% / 12 - (20px));
    max-width: calc(8 * 100% / 12 - (20px));
    margin: 0 10px;
  }
}

@media (min-width: 1024px) {
  .col-small-desktop-9 {
    flex-basis: calc(9 * 100% / 12 - (20px));
    width: calc(9 * 100% / 12 - (20px));
    max-width: calc(9 * 100% / 12 - (20px));
    margin: 0 10px;
  }
}

@media (min-width: 1024px) {
  .col-small-desktop-10 {
    flex-basis: calc(10 * 100% / 12 - (20px));
    width: calc(10 * 100% / 12 - (20px));
    max-width: calc(10 * 100% / 12 - (20px));
    margin: 0 10px;
  }
}

@media (min-width: 1024px) {
  .col-small-desktop-11 {
    flex-basis: calc(11 * 100% / 12 - (20px));
    width: calc(11 * 100% / 12 - (20px));
    max-width: calc(11 * 100% / 12 - (20px));
    margin: 0 10px;
  }
}

@media (min-width: 1024px) {
  .col-small-desktop-12 {
    flex-basis: calc(12 * 100% / 12 - (20px));
    width: calc(12 * 100% / 12 - (20px));
    max-width: calc(12 * 100% / 12 - (20px));
    margin: 0 10px;
  }
}

@media (min-width: 1024px) {
  .col-small-desktop-offset-0 {
    margin-left: calc(0 * 100% / 12 + (10px));
  }
}

@media (min-width: 1024px) {
  .col-small-desktop-offset-1 {
    margin-left: calc(1 * 100% / 12 + (10px));
  }
}

@media (min-width: 1024px) {
  .col-small-desktop-offset-2 {
    margin-left: calc(2 * 100% / 12 + (10px));
  }
}

@media (min-width: 1024px) {
  .col-small-desktop-offset-3 {
    margin-left: calc(3 * 100% / 12 + (10px));
  }
}

@media (min-width: 1024px) {
  .col-small-desktop-offset-4 {
    margin-left: calc(4 * 100% / 12 + (10px));
  }
}

@media (min-width: 1024px) {
  .col-small-desktop-offset-5 {
    margin-left: calc(5 * 100% / 12 + (10px));
  }
}

@media (min-width: 1024px) {
  .col-small-desktop-offset-6 {
    margin-left: calc(6 * 100% / 12 + (10px));
  }
}

@media (min-width: 1024px) {
  .col-small-desktop-offset-7 {
    margin-left: calc(7 * 100% / 12 + (10px));
  }
}

@media (min-width: 1024px) {
  .col-small-desktop-offset-8 {
    margin-left: calc(8 * 100% / 12 + (10px));
  }
}

@media (min-width: 1024px) {
  .col-small-desktop-offset-9 {
    margin-left: calc(9 * 100% / 12 + (10px));
  }
}

@media (min-width: 1024px) {
  .col-small-desktop-offset-10 {
    margin-left: calc(10 * 100% / 12 + (10px));
  }
}

@media (min-width: 1024px) {
  .col-small-desktop-offset-11 {
    margin-left: calc(11 * 100% / 12 + (10px));
  }
}

@media (min-width: 1024px) {
  .col-small-desktop-offset-12 {
    margin-left: calc(12 * 100% / 12 + (10px));
  }
}

@media (min-width: 1440px) {
  .col-desktop-0 {
    flex-basis: calc(0 * 100% / 12 - (20px));
    width: calc(0 * 100% / 12 - (20px));
    max-width: calc(0 * 100% / 12 - (20px));
    margin: 0 10px;
  }
}

@media (min-width: 1440px) {
  .col-desktop-1 {
    flex-basis: calc(1 * 100% / 12 - (20px));
    width: calc(1 * 100% / 12 - (20px));
    max-width: calc(1 * 100% / 12 - (20px));
    margin: 0 10px;
  }
}

@media (min-width: 1440px) {
  .col-desktop-2 {
    flex-basis: calc(2 * 100% / 12 - (20px));
    width: calc(2 * 100% / 12 - (20px));
    max-width: calc(2 * 100% / 12 - (20px));
    margin: 0 10px;
  }
}

@media (min-width: 1440px) {
  .col-desktop-3 {
    flex-basis: calc(3 * 100% / 12 - (20px));
    width: calc(3 * 100% / 12 - (20px));
    max-width: calc(3 * 100% / 12 - (20px));
    margin: 0 10px;
  }
}

@media (min-width: 1440px) {
  .col-desktop-4 {
    flex-basis: calc(4 * 100% / 12 - (20px));
    width: calc(4 * 100% / 12 - (20px));
    max-width: calc(4 * 100% / 12 - (20px));
    margin: 0 10px;
  }
}

@media (min-width: 1440px) {
  .col-desktop-5 {
    flex-basis: calc(5 * 100% / 12 - (20px));
    width: calc(5 * 100% / 12 - (20px));
    max-width: calc(5 * 100% / 12 - (20px));
    margin: 0 10px;
  }
}

@media (min-width: 1440px) {
  .col-desktop-6 {
    flex-basis: calc(6 * 100% / 12 - (20px));
    width: calc(6 * 100% / 12 - (20px));
    max-width: calc(6 * 100% / 12 - (20px));
    margin: 0 10px;
  }
}

@media (min-width: 1440px) {
  .col-desktop-7 {
    flex-basis: calc(7 * 100% / 12 - (20px));
    width: calc(7 * 100% / 12 - (20px));
    max-width: calc(7 * 100% / 12 - (20px));
    margin: 0 10px;
  }
}

@media (min-width: 1440px) {
  .col-desktop-8 {
    flex-basis: calc(8 * 100% / 12 - (20px));
    width: calc(8 * 100% / 12 - (20px));
    max-width: calc(8 * 100% / 12 - (20px));
    margin: 0 10px;
  }
}

@media (min-width: 1440px) {
  .col-desktop-9 {
    flex-basis: calc(9 * 100% / 12 - (20px));
    width: calc(9 * 100% / 12 - (20px));
    max-width: calc(9 * 100% / 12 - (20px));
    margin: 0 10px;
  }
}

@media (min-width: 1440px) {
  .col-desktop-10 {
    flex-basis: calc(10 * 100% / 12 - (20px));
    width: calc(10 * 100% / 12 - (20px));
    max-width: calc(10 * 100% / 12 - (20px));
    margin: 0 10px;
  }
}

@media (min-width: 1440px) {
  .col-desktop-11 {
    flex-basis: calc(11 * 100% / 12 - (20px));
    width: calc(11 * 100% / 12 - (20px));
    max-width: calc(11 * 100% / 12 - (20px));
    margin: 0 10px;
  }
}

@media (min-width: 1440px) {
  .col-desktop-12 {
    flex-basis: calc(12 * 100% / 12 - (20px));
    width: calc(12 * 100% / 12 - (20px));
    max-width: calc(12 * 100% / 12 - (20px));
    margin: 0 10px;
  }
}

.col-desktop-offset-0 {
  margin-left: calc(0 * 100% / 12 + (10px));
}

.col-desktop-offset-1 {
  margin-left: calc(1 * 100% / 12 + (10px));
}

.col-desktop-offset-2 {
  margin-left: calc(2 * 100% / 12 + (10px));
}

.col-desktop-offset-3 {
  margin-left: calc(3 * 100% / 12 + (10px));
}

.col-desktop-offset-4 {
  margin-left: calc(4 * 100% / 12 + (10px));
}

.col-desktop-offset-5 {
  margin-left: calc(5 * 100% / 12 + (10px));
}

.col-desktop-offset-6 {
  margin-left: calc(6 * 100% / 12 + (10px));
}

.col-desktop-offset-7 {
  margin-left: calc(7 * 100% / 12 + (10px));
}

.col-desktop-offset-8 {
  margin-left: calc(8 * 100% / 12 + (10px));
}

.col-desktop-offset-9 {
  margin-left: calc(9 * 100% / 12 + (10px));
}

.col-desktop-offset-10 {
  margin-left: calc(10 * 100% / 12 + (10px));
}

.col-desktop-offset-11 {
  margin-left: calc(11 * 100% / 12 + (10px));
}

.col-desktop-offset-12 {
  margin-left: calc(12 * 100% / 12 + (10px));
}

/*
  For more information about flex, check out Chris Coyier's article: https://css-tricks.com/snippets/css/a-guide-to-flexbox/
  Based on -> https://github.com/kristoferjoseph/flexboxgrid/blob/master/css/flexboxgrid.css
*/
/* ---- Flex alignment classes ---- */
#test-grid {
  position: fixed;
  pointer-events: none;
  height: 100%;
  top: 0;
  left: 0;
  z-index: 10;
  width: 100%;
  visibility: hidden;
}
#test-grid .grid-container {
  height: 100%;
}
#test-grid.show {
  visibility: visible;
}
#test-grid .row {
  height: 100%;
}
#test-grid *[class*=col] {
  opacity: 0.15;
  height: 100%;
  position: relative;
  box-sizing: border-box;
  border-left: 1px solid black;
  border-right: 1px solid black;
}

.grid-container {
  width: 100%;
  max-width: 1440px;
  padding: 0 50px;
  margin: 0 auto;
}
@media (min-width: 768px) {
  .grid-container {
    padding: 0 70px;
  }
}
@media (min-width: 1024px) {
  .grid-container {
    padding: 0 70px;
  }
}
@media (min-width: 1440px) {
  .grid-container {
    padding: 0 70px;
  }
}

.row {
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  margin: 0 -20px;
}
@media (min-width: 768px) {
  .row {
    margin-right: -20px;
  }
}
@media (min-width: 1024px) {
  .row {
    margin-right: -20px;
  }
}
@media (min-width: 1440px) {
  .row {
    margin-right: -20px;
  }
}
.row.reverse {
  flex-direction: row-reverse;
}
.row.full {
  margin: 0;
  padding: 0;
}
.row.nowrap {
  flex-wrap: nowrap;
}

.col {
  display: flex;
  flex-direction: column;
}
.col.reverse {
  flex-direction: column-reverse;
}

/* Vertical Align */
.vertical-align-wrapper {
  display: flex;
  align-items: center;
  justify-content: center;
}

.flex {
  display: flex;
}

.wrap {
  flex-wrap: wrap;
}

/* Justify-content */
.start {
  justify-content: flex-start;
}

.center {
  justify-content: center;
  text-align: center;
}

.end {
  justify-content: flex-end;
}

.around {
  justify-content: space-around;
}

.between {
  justify-content: space-between;
}

/* Align-items */
.top {
  align-items: flex-start;
}

.middle {
  align-items: center;
}

.bottom {
  align-items: flex-end;
}

.column {
  flex-direction: column;
}

/* Order */
.first {
  order: -1;
}

.last {
  order: 1;
}

/* ease */
@keyframes blurText {
  0% {
    opacity: 1;
    filter: blur(15px);
  }
  30% {
    opacity: 1;
    filter: blur(0px);
  }
  70% {
    opacity: 1;
    filter: blur(0px);
  }
  100% {
    opacity: 0;
    filter: blur(15px);
  }
}
@keyframes popoutA {
  0% {
    transform: translate(50%, 100%) rotate(45deg);
  }
  40% {
    transform: translate(0%, 1%) rotate(-1deg);
  }
  60% {
    transform: translate(0%, 0%) rotate(2deg);
  }
  100% {
    transform: translate(0%, 0%) rotate(0);
  }
}
@keyframes popoutC {
  0% {
    transform: translate(0%, 100%) rotate(2deg);
  }
  33% {
    transform: translate(0%, 0%) rotate(-1deg);
  }
  66% {
    transform: translate(0%, 0%) rotate(2deg);
  }
  100% {
    transform: translate(0%, 0%) rotate(0);
  }
}
@keyframes flash {
  0% {
    opacity: 0;
  }
  50% {
    opacity: 1;
  }
  100% {
    opacity: 0;
  }
}
@keyframes blink {
  0% {
    opacity: 0.2;
  }
  20% {
    opacity: 1;
  }
  100% {
    opacity: 0.2;
  }
}
h1,
h2,
h3,
h4,
h5,
h6 {
  font-weight: normal;
}

.headline-2 {
  font-family: "Crimson Text", serif;
  font-size: 3.25rem;
  line-height: 1.29;
}

.headline-3, .headline-3-italic {
  font-family: "Crimson Text", serif;
  font-size: 2rem;
  line-height: 1.29;
  font-weight: 400;
}

.headline-4 {
  font-family: "Archivo Black", sans-serif;
  font-size: 2rem;
  line-height: 1.5;
}

.headline-3-italic {
  font-style: italic;
  font-weight: 400;
}

.headline-score {
  font-size: 10rem;
  font-weight: 400;
}

.label {
  font-size: 1.2rem;
  font-family: "Archivo", sans-serif;
  text-transform: uppercase;
  line-height: 1;
}

.body-copy, .lyrics-vw, .body-copy-small, .body-copy-vw {
  font-family: "Crimson Text", serif;
  font-size: 2rem;
  line-height: 1.29;
}
.body-copy a, .lyrics-vw a, .body-copy-small a, .body-copy-vw a {
  text-decoration: underline;
}
.body-copy a:focus, .lyrics-vw a:focus, .body-copy-small a:focus, .body-copy-vw a:focus, .body-copy a:hover, .lyrics-vw a:hover, .body-copy-small a:hover, .body-copy-vw a:hover {
  text-decoration: none;
}

.body-copy-vw {
  font-size: 5vw;
}
@media (min-width: 768px) {
  .body-copy-vw {
    font-size: 4vw;
  }
}
@media (min-width: 1024px) {
  .body-copy-vw {
    font-size: 3vw;
  }
}
@media (min-width: 1440px) {
  .body-copy-vw {
    font-size: 4rem;
  }
}

.body-copy-small {
  font-size: 1.75rem;
}

.lyrics-vw {
  font-size: 4.5vw;
  white-space: nowrap;
}
@media (min-width: 768px) {
  .lyrics-vw {
    font-size: 4vw;
  }
}
@media (min-width: 1440px) {
  .lyrics-vw {
    font-size: 4.5rem;
  }
}

.cta-body, .cta {
  font-family: "Archivo Black", sans-serif;
  font-size: 1.5rem;
  line-height: 1;
  text-transform: uppercase;
  font-weight: normal;
}

.legal-text {
  font-size: 1rem;
  font-family: "Archivo";
}
.legal-text:focus, .legal-text:hover {
  text-decoration: underline;
}

* {
  vertical-align: baseline;
  border: 0 none;
  outline: 0;
  padding: 0;
  margin: 0;
  box-sizing: border-box;
}

.page-wrapper {
  z-index: 1;
}

html,
body,
div,
span,
applet,
object,
iframe,
table,
caption,
tbody,
tfoot,
thead,
tr,
th,
td,
del,
dfn,
em,
font,
img,
ins,
kbd,
q,
s,
samp,
small,
strike,
strong,
sub,
sup,
tt,
var,
h1,
h2,
h3,
h4,
h5,
h6,
p,
blockquote,
pre,
a,
abbr,
acronym,
address,
big,
cite,
code,
dl,
dt,
dd,
ol,
ul,
li,
fieldset,
form,
label,
legend,
button {
  vertical-align: baseline;
  border: 0 none;
  outline: 0;
  padding: 0;
  margin: 0;
}

img {
  width: 100%;
  height: auto;
}

button {
  border: none;
  border-radius: 0;
  background-color: transparent;
  cursor: pointer;
}

input[type=text] {
  font-family: inherit;
}

[role=button],
input[type=submit],
input[type=reset],
input[type=button],
button {
  box-sizing: content-box;
}

input[type=submit],
input[type=reset],
input[type=button],
button {
  background: none;
  border: 0;
  color: inherit;
  font: inherit;
  line-height: normal;
  overflow: visible;
  padding: 0;
  -webkit-appearance: button;
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
}

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

a {
  text-decoration: none;
  cursor: pointer;
  line-height: normal;
}

ul,
li {
  list-style: none;
}

html {
  box-sizing: border-box;
  margin: 0;
  padding: 0;
  font-size: 62.5%;
  height: 100%;
  -webkit-text-size-adjust: 100%;
  -webkit-font-smoothing: antialiased;
}

body {
  background-color: black;
  color: white;
  margin: 0;
  padding: 0;
  height: 100%;
  font-size: 2rem;
  line-height: 1.29;
  font-family: "Crimson Text";
  overflow-x: hidden;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}
body.no-scroll {
  overflow: hidden;
  position: fixed;
  width: 100%;
}
body.no-scroll #header {
  top: 0;
}

.no-scroll {
  overflow: hidden;
}

a,
strong,
span,
em {
  font-size: inherit;
  line-height: inherit;
  letter-spacing: inherit;
  color: inherit;
  font-family: inherit;
}

.hide-overflow {
  overflow: hidden;
}

.page-wrapper {
  width: 100%;
  margin: 0 auto;
}
.page-wrapper.show {
  opacity: 1;
}
.page-wrapper.show.hide {
  opacity: 0;
}
.page-wrapper.hide {
  opacity: 0;
}

button {
  cursor: pointer;
}

.hidden {
  display: none;
}

.text-center {
  text-align: center;
}

.text-right {
  text-align: right;
}

.text-left {
  text-align: left;
}

.text-uppercase {
  text-transform: uppercase;
}

.color-white {
  color: white;
}

.bg-white {
  background-color: white;
}

.color-black {
  color: black;
}

.bg-black {
  background-color: black;
}

.color-purple {
  color: #ce6a96;
}

.bg-purple {
  background-color: #ce6a96;
}

.color-greymed {
  color: #979797;
}

.bg-greymed {
  background-color: #979797;
}

.color-greydark {
  color: #444;
}

.bg-greydark {
  background-color: #444;
}

.color-red {
  color: #fe5f61;
}

.bg-red {
  background-color: #fe5f61;
}

.color-pink {
  color: #ce6a96;
}

.bg-pink {
  background-color: #ce6a96;
}

.bg-yellow {
  background-color: #f8e71c;
}

.color-peach {
  color: #e7906d;
}

.bg-peach {
  background-color: #e7906d;
}

.color-gold {
  color: #f0ae47;
}

.bg-gold {
  background-color: #f0ae47;
}

.logo-queen {
  background: url(/images/logo-queen.png);
  background-size: contain;
  background-position: center;
  background-repeat: no-repeat;
  display: block;
}

.logo-freddie {
  background: url(/images/logo-freddie.png);
  background-size: contain;
  background-position: center;
  background-repeat: no-repeat;
  display: block;
}

.carrot-left {
  transform: rotate(180deg);
  width: 10px;
  height: 15px;
}
.carrot-left g {
  fill: currentColor;
}

.carrot-down {
  transform: rotate(90deg);
  width: 10px;
  height: 15px;
}
.carrot-down g {
  fill: currentColor;
}

.btn-close {
  align-items: center;
  border: 1px solid rgba(255, 255, 255, 0.5);
  border-radius: 100%;
  color: white;
  display: flex;
  height: 41px;
  justify-content: center;
  position: absolute;
  right: 30px;
  top: 27px;
  transition: border-color 0.5s cubic-bezier(0.19, 1, 0.22, 1);
  width: 41px;
  z-index: 15;
}
.btn-close svg {
  height: 15.5px;
  width: 16px;
}
.btn-close:hover, .btn-close:focus {
  border: 1px solid white;
}

.header-container {
  display: flex;
  justify-content: left;
  align-items: center;
  padding: 21px 11px;
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  z-index: 10;
}
.header-container .btn-back {
  align-items: center;
  border: 1px solid rgba(255, 255, 255, 0.5);
  border-radius: 100%;
  color: white;
  display: flex;
  width: 41px;
  height: 41px;
  justify-content: center;
  z-index: 3;
}
.header-container .btn-back svg {
  height: 15.5px;
  transform: rotate(180deg);
  width: 9.5px;
}
.header-container .btn-back:hover, .header-container .btn-back:focus {
  border: 1px solid rgb(255, 255, 255);
}

.cta {
  border: 1px solid white;
  border-radius: 40px;
  padding: 15px 35px 13px;
  letter-spacing: -0.2px;
  display: inline-block;
  color: white;
  white-space: nowrap;
  transition: all 0.5s cubic-bezier(0.215, 0.61, 0.355, 1);
}
.cta:focus, .cta:hover {
  color: black;
  background-color: white;
  border-color: white;
}
.cta.color-black {
  color: black;
  border-color: black;
}
.cta.color-black:focus, .cta.color-black:hover {
  color: #f8e71c;
  border-color: #f8e71c;
}

.cta-small {
  font-size: 1.8rem;
  font-family: "Archivo", sans-serif;
  text-transform: uppercase;
  line-height: 1;
}
.cta-small:focus, .cta-small:hover {
  text-decoration: underline;
}
@media (min-width: 1024px) {
  .cta-small {
    font-size: 1.5rem;
  }
}

.cta-underline, .cta-underline-vw {
  color: white;
  font-family: "Archivo Black", sans-serif;
  font-size: 1.6rem;
  text-transform: uppercase;
  position: relative;
  text-decoration: underline;
  display: inline-block;
}
.cta-underline:focus, .cta-underline-vw:focus, .cta-underline:hover, .cta-underline-vw:hover {
  text-decoration: none;
}
.cta-underline .carrot, .cta-underline-vw .carrot {
  width: 6px;
  height: 22px;
  display: inline-block;
  margin-left: 5px;
}
.cta-underline .carrot svg g, .cta-underline-vw .carrot svg g {
  fill: currentColor;
}
.cta-underline .checkmark, .cta-underline-vw .checkmark {
  width: 0.8em;
  height: 10px;
  left: -1.2em;
  top: 0.05em;
}

.cta-underline-vw {
  font-size: 3vw;
}
@media (min-width: 768px) {
  .cta-underline-vw {
    font-size: 1.7rem;
  }
}

.cta-view-score:after {
  display: none;
}
.cta-view-score:focus:after, .cta-view-score:hover:after {
  display: block;
}

.video-container.fullscreen {
  position: absolute;
  top: 0;
  bottom: 0;
  width: 100%;
  height: 105%;
  left: 0;
  overflow: hidden;
  min-height: 100vh;
}
.video-container.fullscreen video {
  /* Make video to at least 100% wide and tall */
  min-width: 100%;
  min-height: 100%;
  width: auto;
  height: auto;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
}

.body-copy + .body-copy, .body-copy-vw + .body-copy, .body-copy-small + .body-copy, .lyrics-vw + .body-copy, .body-copy + .body-copy-vw, .body-copy-small + .body-copy-vw, .lyrics-vw + .body-copy-vw, .body-copy + .body-copy-small, .body-copy-vw + .body-copy-small, .body-copy-small + .body-copy-small, .lyrics-vw + .body-copy-small, .body-copy + .lyrics-vw, .body-copy-vw + .lyrics-vw, .body-copy-small + .lyrics-vw, .lyrics-vw + .lyrics-vw,
.body-copy-vw + .body-copy-vw {
  margin-top: 40px;
}

.lyrics-vw + .lyrics-vw {
  margin-top: 10px;
}

/* ease */
footer {
  padding: 45px 0 0;
}
footer .logo-item {
  padding: 0 20px;
  width: 33.33%;
  position: relative;
}
footer .logo-item:nth-child(2) {
  width: 50%;
}
footer .logo-item:nth-child(2):before, footer .logo-item:nth-child(2):after {
  content: "";
  display: block;
  position: absolute;
  width: 1px;
  height: 100%;
  background: linear-gradient(to bottom, transparent 0%, #ffffff 50%, transparent 100%);
  opacity: 0.5;
}
footer .logo-item:nth-child(2):before {
  left: 0;
}
footer .logo-item:nth-child(2):after {
  right: 0;
}
footer .logo-item:first-child {
  width: 42%;
  padding-left: 0;
}
footer .logo-item:last-child {
  padding-right: 0;
  border-right: 0;
}
footer .legal-text {
  padding: 50px 0 25px;
}
footer .logo-youtube {
  max-width: 180px;
}
footer .logo-ai {
  max-width: 120px;
}
@media (min-width: 768px) {
  footer .legal-text-row {
    position: relative;
    top: -50px;
    justify-content: flex-end;
  }
  footer .legal-text {
    padding: 0;
  }
}

.modal {
  position: fixed;
  z-index: 15;
  width: 100%;
  height: 100%;
  left: 0;
  top: 0;
}
.modal .overlay {
  background: black;
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  z-index: 2;
}
.modal .modal-content {
  position: relative;
  z-index: 2;
  height: 100%;
  overflow-y: auto;
}
.modal .inner-wrapper {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  max-width: 433px;
  width: 80%;
  border-radius: 20px;
  z-index: 3;
}

.video-modal .video-container {
  position: absolute;
  width: 100%;
  padding-bottom: 56%;
  top: 50%;
  left: 0;
  transform: translateY(-50%);
}
.video-modal .video-container .video-player {
  position: absolute;
  width: 100%;
  height: 100%;
}

.headphones-modal .overlay,
.earlyexit-modal .overlay,
.unsupported-modal .overlay {
  opacity: 0.5;
}
.headphones-modal .inner-wrapper,
.earlyexit-modal .inner-wrapper,
.unsupported-modal .inner-wrapper {
  background: transparent;
}
.headphones-modal .image,
.earlyexit-modal .image,
.unsupported-modal .image {
  background-size: cover;
  background-position: center;
  padding-bottom: 56%;
  border-radius: 20px 20px 0 0;
}
.headphones-modal .message,
.earlyexit-modal .message,
.unsupported-modal .message {
  padding: 100px 25px 50px;
  background-position: center 25px;
  background-size: 50px;
  background-repeat: no-repeat;
}
.headphones-modal .description-copy,
.earlyexit-modal .description-copy,
.unsupported-modal .description-copy {
  max-width: 300px;
  margin: auto;
  margin-top: 10px;
}
.headphones-modal button,
.earlyexit-modal button,
.unsupported-modal button {
  margin-top: 20px;
}

.intro-modal .overlay {
  opacity: 0.5;
}
.intro-modal .inner-wrapper {
  background: transparent;
}
.intro-modal button {
  margin-top: 40px;
}

.download-modal {
  opacity: 0;
  pointer-events: none;
}
.download-modal.show {
  opacity: 1;
  pointer-events: all;
}
.download-modal .overlay {
  opacity: 0.5;
}
.download-modal .inner-wrapper {
  width: 355px;
  top: 50%;
  left: 50%;
  border-radius: 20px;
  padding: 30px 40px 50px;
  transform: translate(-50%, -50%);
  transition: all 0.3s cubic-bezier(0.19, 1, 0.22, 1);
}
.download-modal .inner-wrapper p {
  font-size: 1.5rem;
}
.download-modal .inner-wrapper .cta-download {
  border-color: transparent;
  text-align: center;
  margin-top: 27px;
  width: 100%;
}
.download-modal .inner-wrapper .cta-download span {
  display: block;
  font-family: "Archivo";
  font-size: 1rem;
  margin-top: 5px;
}
.download-modal .download-item {
  flex-basis: 25%;
}
.download-modal .download-item .image {
  width: 100%;
  background: grey;
  margin-bottom: 35px;
  padding-bottom: 124%;
}
.download-modal .download-item p {
  font-weight: normal;
}

.countdown-modal .overlay {
  opacity: 0.5;
}
.countdown-modal .inner-wrapper {
  background-color: transparent;
}
.countdown-modal .number {
  font-size: 25vw;
  transform: scale(1);
  transform-origin: 50% 50%;
}
.countdown-modal .number span {
  opacity: 0;
}
.countdown-modal .number.animate {
  transition: transform 1s cubic-bezier(0.19, 1, 0.22, 1);
  transform: scale(0.2);
}
.countdown-modal .number.animate span {
  opacity: 1;
  animation-duration: 1s;
  animation-name: blurText;
}

.unsupported-modal .overlay {
  opacity: 1;
}
.unsupported-modal .debug {
  margin-bottom: 4rem;
}
.unsupported-modal input[type=text] {
  background: transparent;
  color: white;
  display: block;
  font-size: 1.75rem;
  margin: 40px auto 18px;
  text-align: center;
  width: 100%;
}
.unsupported-modal .cta {
  background: white;
  color: black;
  padding-left: 12px;
  padding-right: 12px;
  position: relative;
}
.unsupported-modal .cta:hover {
  border: 1px solid;
  filter: invert(1);
}
.unsupported-modal .svg {
  display: inline-block;
  height: 11px;
  width: 22px;
}

.permissions-modal .inner-wrapper {
  background: transparent;
}
.permissions-modal .permissions-content {
  left: 50%;
  opacity: 0;
  pointer-events: none;
  position: absolute;
  top: 50%;
  transition: all 0.5s cubic-bezier(0.19, 1, 0.22, 1);
  transform: scale(0);
  width: 100%;
}
.permissions-modal .permissions-content.show {
  opacity: 1;
  pointer-events: all;
  transform: translate(-50%, -50%) scale(1);
}
.permissions-modal h2,
.permissions-modal p,
.permissions-modal button {
  transition: all 0.5s cubic-bezier(0.19, 1, 0.22, 1);
}
.permissions-modal .camera-example-img {
  margin-bottom: 14px;
  max-width: 172px;
}
.permissions-modal .description-copy {
  margin-bottom: 40px;
  transition-delay: 0.1s;
}
.permissions-modal .headline-copy {
  margin-bottom: 40px;
}
.permissions-modal .cta-continue {
  transition-delay: 0.1s;
  margin-bottom: 20px;
}
.permissions-modal .cta-nothanks {
  transition-delay: 0.2s;
}
.permissions-modal.hide .headline-copy,
.permissions-modal.hide .camera-example-img,
.permissions-modal.hide .description-copy {
  opacity: 0;
  transform: translateY(20px);
}
.permissions-modal.hide .btn-close {
  opacity: 0;
}
.permissions-modal.hide .cta-continue,
.permissions-modal.hide .cta-nothanks {
  opacity: 0;
  transform: scale(0);
}

.headphones-modal .inner-wrapper {
  height: 70%;
  transform: scale(1) translate(-50%, -50%);
  transform-origin: 0% 0%;
  transition: all 0.5s cubic-bezier(0.19, 1, 0.22, 1);
}
.headphones-modal .message {
  align-items: center;
  display: flex;
  flex-direction: column;
  height: 100%;
}
.headphones-modal .description-copy {
  margin: 10px auto 40px;
}
.headphones-modal .btn-back,
.headphones-modal .headphones-camera-toggle {
  transition: all 0.5s cubic-bezier(0.19, 1, 0.22, 1);
  transform: scale(1);
}
.headphones-modal button {
  margin: 0 0 20px;
}
.headphones-modal .cta-watch-video {
  display: block;
  font-family: "Archivo", sans-serif;
  font-size: 1.45rem;
  margin: auto auto 0;
  padding: 10px 0px;
}
.headphones-modal .cta-watch-video:hover, .headphones-modal .cta-watch-video:focus {
  text-decoration: underline;
}
.headphones-modal .headphones-camera-toggle {
  align-items: center;
  cursor: pointer;
  display: flex;
  flex-grow: 1;
  font-family: "Archivo", sans-serif;
  font-size: 1.8rem;
  justify-content: center;
  letter-spacing: 0;
  opacity: 0.75;
  text-transform: uppercase;
  -webkit-user-select: none;
          user-select: none;
}
.headphones-modal .headphones-camera-toggle .icon {
  background: url("/svg/camera.svg") no-repeat center;
  background-size: 20px;
  display: inline-block;
  height: 27px;
  margin-right: 7px;
  width: 27.5px;
}
.headphones-modal .headphones-camera-toggle .text {
  white-space: nowrap;
  width: 180px;
}
.headphones-modal .cta-watch-thumbnail {
  position: relative;
}
.headphones-modal .cta-watch-thumbnail .svg {
  bottom: 0;
  display: block;
  height: 28px;
  left: 0;
  margin: auto;
  position: absolute;
  right: 0;
  top: 0;
  width: 39px;
}
.headphones-modal .cta-watch-thumbnail img {
  border: 1px solid #bababa;
  display: block;
  margin: 0 auto 13px;
  max-width: 176px;
}
.headphones-modal.hide .inner-wrapper {
  transform: scale(0) translate(-50%, -50%);
}
.headphones-modal.hide .btn-back,
.headphones-modal.hide .headphones-camera-toggle {
  transform: scale(0);
}
.headphones-modal.withCamera .headphones-camera-toggle .icon {
  background: url("/svg/camera-off.svg") no-repeat center;
  background-size: 24px;
}

.intro-modal .intro-copy,
.intro-modal .cta-close {
  transition: all 0.5s cubic-bezier(0.19, 1, 0.22, 1);
}
.intro-modal .cta-continue {
  transition-delay: 0.1s;
}
.intro-modal.hide .intro-copy {
  opacity: 0;
  transform: translateY(20px);
}
.intro-modal.hide .cta-close {
  opacity: 0;
  transform: scale(0);
}

.processing-modal {
  text-align: center;
}
.processing-modal p {
  color: white;
  font-size: 2.33rem;
  letter-spacing: 0;
  line-height: 3.04rem;
  margin-bottom: 43px;
}
.processing-modal .cta {
  margin-bottom: 26px;
}
.processing-modal .dots {
  white-space: nowrap;
}
.processing-modal .dot {
  animation-name: blink;
  animation-duration: 1.4s;
  animation-iteration-count: infinite;
  animation-fill-mode: both;
  margin: 0 -3px;
}
.processing-modal .dot:nth-child(2) {
  animation-delay: 0.2s;
}
.processing-modal .dot:nth-child(3) {
  animation-delay: 0.4s;
}

.homepage.start-intro {
  overflow: hidden;
  height: 100vh;
}
.homepage.start-intro header {
  opacity: 0;
}
.homepage .main-content {
  padding: 40px 0 0px;
  height: 100vh;
  overflow: hidden;
}
.homepage .bg-smoke {
  background-color: #444;
  background-image: url(/images/bg-smoke.jpg);
  background-position: center bottom;
  background-size: cover;
}
@media (min-width: 1024px) {
  .homepage .bg-smoke {
    background-image: url(/images/bg-smoke-desktop.jpg);
  }
}
.homepage .video-container {
  position: absolute;
  top: 0;
  bottom: 0;
  width: 100%;
  height: 100%;
  overflow: hidden;
  height: 100vh;
}
.homepage .video-container video {
  /* Make video to at least 100% wide and tall */
  min-width: 100%;
  min-height: 100%;
  width: auto;
  height: auto;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  pointer-events: none;
}
.homepage .logo-queen {
  width: 100px;
  height: 138px;
  position: absolute;
  left: 50%;
  transform: translateX(-50%);
}
.homepage .carrot-down {
  bottom: -38px;
  position: absolute;
}
.homepage .logo-container {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  overflow: hidden;
  width: 100vw;
}
.homepage .logo-container .grid-container svg {
  height: 46px;
  width: 80%;
  position: absolute;
  top: 30%;
}
@media (min-width: 768px) {
  .homepage .logo-container .grid-container svg {
    height: 50px;
  }
}
.homepage .logo-container .grid-container:nth-child(1) {
  opacity: 0;
}
.homepage .logo-container .logo-freddie {
  width: 375px;
  height: 116px;
  text-indent: -9999px;
}
@media (min-width: 1024px) {
  .homepage .logo-container .logo-freddie {
    width: 629px;
    height: 116px;
  }
}
.homepage .logo-container h1 {
  visibility: hidden;
}
.homepage .cta-container {
  position: absolute;
  bottom: 100px;
  width: 100%;
}
.homepage .cta-container .cta {
  margin-top: 25px;
}
@media (min-width: 420px) {
  .homepage.landscape .cta-container {
    bottom: 10%;
  }
}
.homepage.start-intro .cta-container .headline-3, .homepage.start-intro .cta-container .headline-3-italic,
.homepage.start-intro .cta-container .carrot-down,
.homepage.start-intro .cta-container .cta {
  opacity: 0;
}
.homepage .intro-anim {
  pointer-events: none;
}
.homepage .intro-elements {
  position: absolute;
  background: rgba(0, 0, 0, 0.7);
  width: 100vw;
  height: 100vh;
  top: 0;
}
.homepage .intro-elements .mercury-logo {
  position: absolute;
  top: 50%;
  left: 50%;
  opacity: 0;
  transform: translate(-50%, -50%);
  width: 287px;
  text-align: center;
}
.homepage .intro-elements .mercury-logo .copy {
  font-family: "Archivo Black", sans-serif;
  font-size: 1.7rem;
  color: white;
  opacity: 0;
}
.homepage .intro {
  padding: 60px 0 120px;
}
.homepage .intro .description {
  margin: 15px auto 40px;
  max-width: 700px;
}
.homepage .hide-svg {
  position: absolute;
  top: 0;
  left: 0;
  z-index: -1;
}

.song-selection-page .main-content {
  min-height: 100vh;
}
.song-selection-page .screen-container {
  position: relative;
  transition: all 0.5s cubic-bezier(0.215, 0.61, 0.355, 1);
  flex-direction: column;
}
.song-selection-page .screen-container.show-list .preview-screen {
  opacity: 0;
  pointer-events: none;
}
.song-selection-page .screen-container.show-list .list-screen {
  opacity: 1;
  pointer-events: all;
}
@media only screen and (orientation: landscape) and (min-device-width: 100px) and (max-device-width: 824px) {
  .song-selection-page .screen-container.show-list .list-screen {
    height: 177vh;
  }
}
@media only screen and (orientation: landscape) and (height: 360px) and (width: 640px) {
  .song-selection-page .screen-container.show-list .list-screen {
    height: 158vh;
  }
}
@media only screen and (orientation: landscape) and (height: 320px) and (width: 568px) {
  .song-selection-page .screen-container.show-list .list-screen {
    height: 177vh;
  }
}
.song-selection-page .list-screen {
  width: 100%;
  min-height: 100vh;
  opacity: 0;
}
.song-selection-page .list-screen {
  transition: opacity 0.3s cubic-bezier(0.19, 1, 0.22, 1);
  z-index: 2;
  padding: 35px 0;
}
.song-selection-page .song-list {
  position: relative;
  margin-top: 65px;
  border-width: 3px;
}
.song-selection-page .song-list:after {
  content: "";
  display: block;
  position: absolute;
  left: 50%;
  transform: translateX(-50%);
  max-width: 400px;
  height: 1px;
  width: 100%;
  background: linear-gradient(to right, transparent 0%, #ffffff 50%, transparent 100%);
  opacity: 0.5;
}
.song-selection-page .song-list button {
  padding: 35px 0;
  position: relative;
  width: 100%;
  display: block;
}
.song-selection-page .song-list button .title {
  position: relative;
  z-index: 2;
  display: inline-block;
}
.song-selection-page .song-list button .carrot {
  position: absolute;
  left: -1em;
  width: 0.3em;
  top: -0.01em;
  transition: all 0.5s cubic-bezier(0.19, 1, 0.22, 1);
  transform: translateX(-5px);
  opacity: 0;
}
.song-selection-page .song-list button:before {
  content: "";
  display: block;
  top: 0;
  position: absolute;
  left: 50%;
  transform: translateX(-50%);
  max-width: 400px;
  height: 1px;
  width: 100%;
  background: linear-gradient(to right, transparent 0%, #ffffff 50%, transparent 100%);
  opacity: 0.5;
}
.song-selection-page .song-list button:after {
  content: "";
  opacity: 0;
  width: 160%;
  position: absolute;
  height: 200%;
  top: -50%;
  left: -30%;
  background: radial-gradient(ellipse at center, rgba(248, 231, 28, 0.45) 0%, rgba(0, 0, 0, 0) 60%);
  z-index: 1;
  transition: opacity 1s cubic-bezier(0.215, 0.61, 0.355, 1);
}
.song-selection-page .song-list button:hover:after, .song-selection-page .song-list button:focus:after, .song-selection-page .song-list button:active:after {
  opacity: 0.5;
}
.song-selection-page .song-list button:hover .carrot, .song-selection-page .song-list button:focus .carrot, .song-selection-page .song-list button:active .carrot {
  opacity: 1;
  transform: translateX(0px);
}
.song-selection-page .list-screen .song-list .title,
.song-selection-page .list-screen .headline {
  transition: all 1s cubic-bezier(0.19, 1, 0.22, 1);
  transform: translateY(20px);
  opacity: 0;
}
.song-selection-page .list-screen .song-list li:nth-child(1) .title {
  transition-delay: 0.1s;
}
.song-selection-page .list-screen .song-list li:nth-child(2) .title {
  transition-delay: 0.2s;
}
.song-selection-page .list-screen .song-list li:nth-child(3) .title {
  transition-delay: 0.3s;
}
.song-selection-page .list-screen .song-list li:nth-child(4) .title {
  transition-delay: 0.4s;
}
.song-selection-page .list-screen .song-list li:nth-child(5) .title {
  transition-delay: 0.5s;
}
.song-selection-page .list-screen .song-list:after,
.song-selection-page .list-screen .song-list button:before {
  transition: all 1s cubic-bezier(0.19, 1, 0.22, 1);
  width: 0;
}
.song-selection-page .show-list .list-screen .song-list .title,
.song-selection-page .show-list .list-screen .headline {
  transform: translateY(0);
  opacity: 1;
}
.song-selection-page .show-list .list-screen .song-list:after,
.song-selection-page .show-list .list-screen .song-list button:before {
  width: 100%;
}

.record-page {
  background: black;
  overflow: hidden;
}
.record-page .record-ui {
  position: absolute;
  bottom: 0px;
  width: 100%;
  padding-top: 40%;
}
@media only screen and (orientation: landscape) and (min-device-width: 100px) and (max-device-width: 824px) {
  .record-page .record-ui {
    bottom: -5%;
  }
}
.record-page .record-ui .circle {
  width: 13px;
  height: 13px;
  border-radius: 100%;
  display: inline-block;
  margin-right: 6px;
  vertical-align: middle;
  margin-top: -2px;
}
.record-page .record-ui .cta-record {
  margin-bottom: 20px;
}
.record-page .record-ui .time-container {
  margin-bottom: 12px;
  grid-area: count;
}
.record-page .record-ui .time-container .circle {
  position: absolute;
  left: -23px;
  margin-top: 0px;
  background-color: #fe5f61;
  transition: all 0.2s cubic-bezier(0.19, 1, 0.22, 1);
  display: none;
}
.record-page .record-ui .time-container p {
  position: relative;
  display: inline-block;
}
.record-page .record-ui .time-container em {
  opacity: 0.57;
  font-style: normal;
}
.record-page .record-ui .time-container.started .circle {
  display: block;
}
.record-page .record-ui .time-container.is-capturing .circle {
  background-color: #ce6a96;
}
.record-page .record-ui .progress-bar {
  --pb-height: 5px;
  height: auto;
  width: 100vw;
  position: relative;
  display: grid;
  grid-template-columns: 30px auto 92px;
  grid-template-areas: "side progress count";
  grid-template-rows: 1fr;
  align-items: center;
}
.record-page .record-ui .progress-bar .track {
  width: 100%;
  height: var(--pb-height);
  background: linear-gradient(90deg, rgba(255, 255, 255, 0.175) 0%, rgba(255, 255, 255, 0.5) 49.29%, rgba(255, 255, 255, 0.175) 100%);
  grid-area: progress;
  border-radius: 1.5px;
}
.record-page .record-ui .progress-bar .progress {
  background: linear-gradient(270deg, #fcf53c 0%, rgba(248, 169, 28, 0.476781) 100%);
  height: var(--pb-height);
  box-shadow: 0px 0px 10px 6px rgba(248, 231, 28, 0.27);
  overflow: hidden;
}
.record-page .record-ui .progress-bar .processed-segment {
  position: absolute;
  background: repeating-linear-gradient(-45deg, transparent, transparent 7px, #6f73ff 7px, #6f73ff 12px);
  height: 100%;
}
.record-page .record-ui .progress-bar .segment {
  position: absolute;
  top: -4px;
  cursor: pointer;
  padding: 10px 0;
}
.record-page .record-ui .progress-bar .segment:before {
  content: "";
  position: absolute;
  height: 3px;
  width: 100%;
  left: 0;
  background: #ce6a96;
}
.record-page .record-ui .progress-detail {
  display: flex;
  flex-direction: column;
  height: 85px;
  justify-content: space-around;
  padding-bottom: 30px;
}
.record-page .record-ui .message-container {
  position: relative;
  width: 100%;
  top: -7px;
}
@media only screen and (orientation: landscape) and (min-device-width: 100px) and (max-device-width: 824px) {
  .record-page .record-ui .message-container {
    height: 81px;
    margin: 17px 0 20px;
  }
}
.record-page .record-ui .message-container-messages span {
  font-size: 1.5rem;
  line-height: 23.65px;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  opacity: 0;
  transition: all 1s;
  transition-delay: 0s;
}
.record-page .record-ui .message-container.starting .starting {
  opacity: 1;
  transition-delay: 1s;
}
.record-page .record-ui .message-container.collecting .collecting {
  opacity: 1;
  transition-delay: 1s;
}
.record-page .record-ui .message-container.calculating .calculating {
  opacity: 1;
  transition-delay: 1s;
}
.record-page .record-ui .message-container.ready .ready {
  opacity: 1;
  transition-delay: 1s;
}
.record-page .video-container {
  position: absolute;
  width: 100%;
  overflow: hidden;
  height: 100%;
  left: 0;
  top: 0;
}
.record-page .video-container .camera-stream {
  height: 100%;
  position: relative;
  /*
  &::after {
    background-image: linear-gradient(180deg, rgba(0,0,0,0.00) 0%, #000000 83%);
    bottom: 0;
    content: '';
    height: 25%;
    left: 0;
    position: absolute;
    right: 0;
    transform: scaley(-1) rotate(-180deg);
    width: 100%;
  }

  &::before {
    content: '';
    height: 20%;
    left: 0;
    position: absolute;
    right: 0;
    top: 0;
    transform: scaleY(-1);
    background-image: linear-gradient(180deg, rgba(0,0,0,0.00) 0%, #000000 83%);
    width: 100%;
  }
  */
}
.record-page .video-container .camera-stream video {
  height: inherit;
  margin: auto;
  width: 100%;
}
.record-page .video-container .video-stream {
  position: absolute;
  width: 100%;
  height: 100%;
  left: 0;
  top: 0;
}
.record-page .cta-start {
  transition: all 0.5s cubic-bezier(0.19, 1, 0.22, 1);
}
.record-page .cta-start.hide {
  opacity: 0;
  transform: scale(0);
}
.record-page .cta-view-score.show {
  opacity: 1;
  transform: scale(0.75);
}
.record-page .cta-view-score {
  transition: all 0.5s cubic-bezier(0.19, 1, 0.22, 1);
  display: inline-block;
  margin-top: 7px;
  opacity: 0;
  transform: scale(0);
  text-indent: 15px;
  padding-left: 35px;
}
.record-page .cta-view-score::before {
  will-change: filter;
  filter: invert(100%);
  --size: 24px;
  content: "";
  display: block;
  position: absolute;
  height: var(--size);
  width: var(--size);
  left: 22px;
  top: 9px;
  background-repeat: no-repeat;
  background-size: 100%;
  background-image: url("data:image/svg+xml,%3C%3Fxml version='1.0' encoding='UTF-8'%3F%3E%3Csvg width='30px' height='29px' viewBox='0 0 30 29' version='1.1' xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink'%3E%3Cg id='Page-1' stroke='none' stroke-width='1' fill='none' fill-rule='evenodd'%3E%3Cpath d='M6.30444336,13.4103529 L13.0245228,20.6955566 C20.5444698,12.6955566 24.3044434,8.69555664 24.3044434,8.69555664' id='Path-2' stroke='%23000000' stroke-width='3'%3E%3C/path%3E%3C/g%3E%3C/svg%3E");
}
.record-page .cta-view-score:focus, .record-page .cta-view-score:hover {
  mix-blend-mode: screen;
}
.record-page .cta-view-score:focus:before, .record-page .cta-view-score:hover:before {
  filter: invert(0%);
}
.record-page .cta-view-score::after {
  display: none;
}

.lyrics-display {
  width: 100%;
  height: 100vh;
  position: absolute;
  z-index: 2;
  padding: 50px 0;
  overflow: hidden;
  pointer-events: none;
  background: linear-gradient(to bottom, rgba(0, 0, 0, 0.8) 40%, rgba(0, 0, 0, 0.01) 100%, rgba(0, 0, 0, 0) 100%);
  top: 0;
}
.lyrics-display .lyrics-wrapper {
  position: absolute;
  height: 32vh;
  margin: 0;
  -webkit-mask-image: -webkit-gradient(linear, left 25%, left 60%, from(rgb(0, 0, 0)), to(rgba(0, 0, 0, 0)));
}
@media (min-width: 768px) {
  .lyrics-display .lyrics-wrapper {
    -webkit-mask-image: -webkit-gradient(linear, left 34%, left 75%, from(black), to(rgba(0, 0, 0, 0)));
  }
}
@media only screen and (orientation: landscape) and (min-device-width: 100px) and (max-device-width: 824px) {
  .lyrics-display .lyrics-wrapper {
    height: 81vh;
  }
}
.lyrics-display .lyrics {
  transition: 1.25s cubic-bezier(0.215, 0.61, 0.355, 1);
  margin: auto;
  padding: 0 0 50px;
}
.lyrics-display .hide {
  opacity: 0;
  transition: all 0.3s cubic-bezier(0.215, 0.61, 0.355, 1);
}
.lyrics-display .word {
  position: relative;
  color: rgba(100, 100, 100, 0.75);
}
.lyrics-display .fill {
  position: absolute;
  color: white;
  left: 0;
  top: 0;
  overflow: hidden;
}
.lyrics-display .fill-inner {
  position: absolute;
  left: 0;
  top: 0;
  color: white;
  filter: blur(3px);
  overflow: hidden;
  text-shadow: 0px 0px 5px rgba(255, 255, 255, 0.75);
}
.lyrics-display.no-video {
  top: 50%;
  transform: translateY(-50%);
  padding-top: 0;
  background: transparent;
}
@media only screen and (orientation: landscape) and (min-device-width: 100px) and (max-device-width: 824px) {
  .lyrics-display.no-video {
    top: 70%;
  }
}
.lyrics-display.no-video .word {
  position: relative;
  color: rgba(255, 255, 255, 0.4);
}
.lyrics-display .lyrics-wrapper {
  transition: all 1s cubic-bezier(0.215, 0.61, 0.355, 1);
}
.lyrics-display.hide .lyrics-wrapper {
  opacity: 0;
  transform: translateY(50px);
}

.no-video-gradient {
  width: 100vw;
  height: 100vh;
  position: absolute;
  top: 0;
  left: 0;
}

.mic-feedback svg {
  overflow: visible;
  position: relative;
  top: 32px;
}
.mic-feedback svg g rect {
  transition: all 75ms linear;
}

.hide-svg {
  visibility: hidden;
  height: 0;
}

.score-page main {
  overflow: hidden;
  position: relative;
}
.score-page.score-class-a .show-freddie .score-freddie {
  animation-name: popoutA;
}
.score-page.score-class-a main {
  background-image: url(/images/bg-score-a.jpg);
}
.score-page.score-class-b .show-freddie .score-freddie {
  animation-name: popoutA;
}
.score-page.score-class-b main {
  background-image: url(/images/bg-score-b.jpg);
}
.score-page.score-class-c .score-freddie {
  background-size: contain;
}
.score-page.score-class-c .show-freddie .score-freddie {
  animation-name: popoutC;
}
.score-page.score-class-c main {
  background-image: url(/images/bg-score-c.jpg);
}
.score-page.score-class-d .score-freddie {
  background-size: contain;
}
.score-page.score-class-d .show-freddie .score-freddie {
  animation-name: popoutC;
}
.score-page.score-class-d main {
  background-image: url(/images/bg-score-d.jpg);
}
.score-page.score-class-a .total-score-container:before, .score-page.score-class-b .total-score-container:before {
  content: "";
  position: fixed;
  width: 100%;
  height: 100%;
  left: 0;
  top: 0;
  background: radial-gradient(ellipse at center, rgba(255, 255, 255, 0.8) 0%, rgba(255, 255, 255, 0) 100%);
  z-index: 20;
  opacity: 0;
  pointer-events: none;
}
.score-page.score-class-a .total-score-container.flash:before, .score-page.score-class-b .total-score-container.flash:before {
  animation-duration: 0.45s;
  animation-name: flash;
}
.score-page main {
  background-size: cover;
  background-position: center;
}
@media (min-width: 1024px) {
  .score-page main {
    padding: 50px 0 40px;
  }
}
@media only screen and (orientation: landscape) and (min-device-width: 100px) and (max-device-width: 824px) {
  .score-page main {
    padding: 0%;
  }
}
.score-page main .score-detail {
  margin: 30px 0 60px;
}
.score-page main .score-detail .song-title-container {
  padding-bottom: 25px;
  margin-bottom: 25px;
  position: relative;
  font-size: 1.8rem;
}
.score-page main .score-detail .song-title-container em {
  margin-right: 0.5em;
}
.score-page main .score-detail .song-title-container .song-title {
  font-family: "Archivo";
  font-size: 2.1rem;
}
.score-page main .score-detail .song-title-container:after {
  position: absolute;
  content: "";
  left: 0;
  bottom: 0;
  height: 1px;
  width: 100%;
  background: linear-gradient(to right, transparent 0%, #ffffff 50%, transparent 100%);
  opacity: 0.5;
}
.score-page main .score-detail .score-number {
  margin-top: 10px;
  font-variant-numeric: tabular-nums;
  transform: translate3d(0px, 0px, 0px);
}
.score-page main .score-detail .cta-download {
  padding-left: 45px;
  padding-right: 45px;
}
@media (min-width: 1024px) {
  .score-page main .score-detail {
    margin-bottom: 30px;
  }
}
.score-page main .cta-container {
  padding-bottom: 45px;
}
.score-page main .cta-container .cta-try-again {
  margin-top: 25px;
}
@media only screen and (orientation: landscape) and (min-device-width: 100px) and (max-device-width: 824px) {
  .score-page main .cta-container {
    top: -22px;
    position: relative;
  }
}
.score-page .score-headline-container {
  padding: 40px 0;
}
.score-page .score-headline-container .headline-score {
  line-height: 1;
}
.score-page .score-headline-container .headline-score span {
  display: block;
  margin: auto;
  font-variant-numeric: tabular-nums;
}
.score-page .score-headline-container .logo-freddie {
  width: 131px;
  height: 50px;
  background-size: auto 32px;
  background-position: 0;
}
.score-page .score-container {
  position: relative;
  padding-bottom: 100%;
}
.score-page .score-container .circle {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}
.score-page .score-container .circle-outer {
  z-index: 2;
}
.score-page .score-container .circle-outer circle {
  stroke: #979797;
  stroke-dashoffset: 0;
}
.score-page .score-container .circle-inner {
  border-radius: 100%;
  z-index: 2;
}
.score-page .score-container .circle-inner circle {
  transform: rotate(90deg);
  transform-origin: 50% 50%;
}
.score-page .score-container .circle-clip {
  position: absolute;
}
.score-page .score-container .score-freddie {
  transform-origin: 50% 50%;
  opacity: 0;
  z-index: 1;
}
.score-page .score-container svg .shimmer {
  opacity: 0;
  will-change: opacity;
}
.score-page .score-label {
  font-size: 1.8rem;
  font-style: italic;
}
.score-page .score-number {
  font-family: "Archivo";
  font-size: 2.1rem;
}
.score-page .more .score-detail {
  padding: 40px 0;
}
.score-page .more .score-detail .row {
  max-width: 750px;
  margin: auto;
}
.score-page .more-about .score-about-container {
  padding: 8vw 0;
  padding-bottom: 15vw;
  background: black;
  width: 100%;
}
.score-page .more-about .score-about-container .about-container {
  max-width: 1024px;
}
@media (min-width: 1440px) {
  .score-page .more-about .score-about-container .about-container {
    width: calc(52% - 80px);
  }
}
@media (min-width: 1024px) {
  .score-page .more-about .score-about-container .about-container {
    width: calc(62% - 80px);
  }
}
@media (min-width: 768px) {
  .score-page .more-about .score-about-container .about-container {
    width: calc(75% - 80px);
  }
}
.score-page .more-about .quote-container {
  align-items: center;
  background-image: url("/images/freddie-quote-bg.jpg");
  background-position: center;
  background-repeat: no-repeat;
  background-size: cover;
  display: flex;
  font-size: 2.85rem;
  height: 550px;
  justify-content: flex-end;
  letter-spacing: -0.13px;
  line-height: 3.4rem;
  padding: 0 65px;
}
.score-page .more-about .quote-container blockquote {
  padding-top: 5%;
}
.score-page .more-about .quote-container footer {
  font-size: 2.3rem;
  padding: 8px 0 0;
}
.score-page .more-about .learn-more-container {
  background-color: #141414;
  background-image: url("/images/donate-bg-mobile.png");
  background-position: bottom center;
  background-repeat: no-repeat;
  background-size: contain;
  min-height: 100vh;
  justify-content: center;
  margin-top: 75px;
  overflow: hidden;
  padding: 4em 0;
  position: relative;
  width: 100%;
}
@media (min-width: 1024px) {
  .score-page .more-about .learn-more-container {
    background-image: url("/images/donate-bg-desktop.png");
    background-repeat: no-repeat;
    background-size: cover;
  }
}
.score-page .more-about .learn-more-container .about-container {
  position: relative;
  z-index: 1;
  width: calc(66% - 80px);
  min-width: 350px;
  grid-row-gap: 4.7vw;
}
.score-page .more-about .learn-more-container .about-container h2 {
  font-size: calc(27px + 0.2vw);
}
.score-page .more-about .learn-more-container .about-container p {
  max-width: 298px;
  justify-self: center;
}
@media (min-width: 768px) {
  .score-page .more-about .learn-more-container .about-container p {
    max-width: 100%;
  }
}
.score-page .more-about .learn-more-container .about-container a {
  text-decoration: underline;
}
.score-page .more-about .learn-more-container .about-container a.cta-underline, .score-page .more-about .learn-more-container .about-container a.cta-underline-vw {
  text-decoration: none;
}
.score-page .more-about .learn-more-container p {
  text-align: center;
}
.score-page .more-about .about-container {
  margin: 0px auto;
  width: calc(80% - 80px);
  min-width: 350px;
  display: grid;
  grid-row-gap: 4.3vw;
}
.score-page .more-about .about-container h2 {
  font-size: calc(27px + 0.2vw);
  align-self: center;
  justify-self: center;
  text-align: center;
  padding: 0px 10%;
}
.score-page .more-about .about-container .score-about {
  display: grid;
  grid-template-areas: "p1" "scores" "p2" "p3";
  align-items: center;
  grid-column-gap: 3em;
}
@media (min-width: 1440px) {
  .score-page .more-about .about-container .score-about {
    grid-template-areas: "p1 scores" "p2 ." "p3 .";
  }
}
@media (min-width: 1024px) {
  .score-page .more-about .about-container .score-about {
    grid-template-areas: "p1 scores" "p2 ." "p3 .";
  }
}
.score-page .more-about .about-container .score-about > p {
  align-self: start;
  font-size: calc(16px + 0.4vw);
  margin-bottom: 1.8em;
  color: white;
}
.score-page .more-about .about-container .score-about > p:nth-child(1) {
  grid-area: p1;
}
.score-page .more-about .about-container .score-about > p:nth-child(2) {
  grid-area: p2;
}
.score-page .more-about .about-container .score-about > p:nth-child(3) {
  grid-area: p3;
}
.score-page .more-about .about-container .score-about ul.scores {
  display: grid;
  align-self: start;
  font-size: 0.6em;
  margin-bottom: 3em;
}
@media (min-width: 1440px) {
  .score-page .more-about .about-container .score-about ul.scores {
    grid-row: span 3;
  }
}
@media (min-width: 1024px) {
  .score-page .more-about .about-container .score-about ul.scores {
    grid-row: span 3;
  }
}
.score-page .more-about .about-container .score-about ul.scores li {
  display: grid;
  grid-template-columns: 6em auto;
  grid-template-rows: 42% 53%;
  grid-column-gap: 1.3em;
  align-items: center;
  margin: 9px 0;
}
.score-page .more-about .about-container .score-about ul.scores li .widget {
  grid-column: 1;
  grid-row: 1/span 2;
  align-self: normal;
}
.score-page .more-about .about-container .score-about ul.scores li .title {
  grid-column: span 1;
  align-self: end;
  font-size: 1.3em;
}
.score-page .more-about .about-container .score-about ul.scores li .description {
  grid-column: span 1;
  align-self: start;
  padding-right: 20%;
  margin-top: 6px;
  font-style: italic;
  font-size: 1.15em;
}
.score-page .more-about .about-container .score-about ul.scores li .detail-item .score-number {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  position: absolute;
  font-size: 1.3em;
}
.score-page .more-about .more-headline {
  font-family: "Archivo Black";
  text-transform: uppercase;
}
.score-page .total-score-container {
  position: relative;
  z-index: 1;
}
.score-page .total-score-container .score-container {
  margin-top: -55px;
  padding-bottom: 111%;
}
.score-page .total-score-container .score-container #my-mask {
  transform: scale(0.99, 0.99) translate(0.15%, 0.3%);
  transform-origin: left center;
}
.score-page .total-score-container .detail-item-container {
  padding: 0 10%;
}
.score-page .total-score-container .detail-item-container .detail-item {
  width: 33.3%;
}
@media (min-width: 1024px) {
  .score-page .total-score-container {
    flex-direction: row;
    justify-content: center;
    align-items: center;
  }
  .score-page .total-score-container .total-score {
    order: 0;
    flex-shrink: 0;
    padding: 0;
    margin-right: 0;
    margin-left: calc(8.3333333333% + 10px);
  }
  .score-page .total-score-container .score-headline-container {
    order: 1;
    flex-shrink: 0;
    width: 40%;
    padding: 0;
    margin: 0;
    align-self: flex-start;
  }
  .score-page .total-score-container .score-detail-container {
    order: 2;
    position: relative;
    margin: 0 0 0 -40%;
    padding-top: 205px;
    width: 40%;
  }
}
@media only screen and (orientation: landscape) and (min-device-width: 100px) and (max-device-width: 824px) {
  .score-page .total-score-container {
    height: 100vh;
    flex-direction: row;
    justify-content: center;
    align-items: center;
  }
  .score-page .total-score-container .total-score {
    order: 0;
    flex-shrink: 0;
    padding: 0;
    margin: 0;
    flex-basis: calc(41.6666666667% - 20px);
  }
  .score-page .total-score-container .score-headline-container {
    order: 1;
    flex-shrink: 0;
    width: 40%;
    padding: 0;
    margin: 0;
    align-self: flex-start;
  }
  .score-page .total-score-container .score-detail-container {
    order: 2;
    position: relative;
    margin: 0 0 0 -40%;
    padding-top: 20%;
    width: 40%;
  }
}
.score-page *[tabindex="0"]:focus {
  position: relative;
}
.score-page *[tabindex="0"]:focus:after {
  content: "";
  position: absolute;
  left: 0;
  bottom: 0;
  height: 1px;
  width: 100%;
  background: white;
}
.score-page .headline-score,
.score-page .logo-freddie {
  transition: all 0.5s cubic-bezier(0.215, 0.61, 0.355, 1);
}
.score-page .score-container,
.score-page .circle-outer circle {
  transition: all 1s cubic-bezier(0.215, 0.61, 0.355, 1);
}
.score-page .circle-outer {
  border-radius: 100%;
  overflow: hidden;
}
.score-page .logo-freddie {
  transition-delay: 0.05s;
}
.score-page .btn-close {
  transition: all 1s cubic-bezier(0.19, 1, 0.22, 1);
  transform: scale(1);
}
.score-page .score-detail-container .song-title-container,
.score-page .score-detail-container .score-label,
.score-page .score-detail-container .score-number {
  transition: all 0.5s cubic-bezier(0.215, 0.61, 0.355, 1);
}
.score-page .score-detail-container .song-title-container {
  transition-delay: 0.1s;
}
.score-page .score-detail-container .detail-item:nth-child(1) .score-label {
  transition-delay: 0.15s;
}
.score-page .score-detail-container .detail-item:nth-child(1) .score-number {
  transition-delay: 0.2s;
}
.score-page .score-detail-container .song-title-container {
  transition-delay: 0.1s;
}
.score-page .score-detail-container .detail-item:nth-child(2) .score-label {
  transition-delay: 0.3s;
}
.score-page .score-detail-container .detail-item:nth-child(2) .score-number {
  transition-delay: 0.4s;
}
.score-page .score-detail-container .song-title-container {
  transition-delay: 0.1s;
}
.score-page .score-detail-container .detail-item:nth-child(3) .score-label {
  transition-delay: 0.45s;
}
.score-page .score-detail-container .detail-item:nth-child(3) .score-number {
  transition-delay: 0.6s;
}
.score-page .score-detail-container .cta-container .cta-download,
.score-page .score-detail-container .cta-container .cta-try-again {
  transition: all 1s cubic-bezier(0.19, 1, 0.22, 1);
}
.score-page .score-detail-container .cta-container .cta-try-again {
  transition-delay: 0.25s;
}
.score-page .score-detail-container .cta-container.hide .cta-download {
  transform: scale(0);
}
.score-page .score-detail-container .cta-container.hide .cta-try-again {
  transform: translateY(20px);
  opacity: 0;
}
.score-page .score-container {
  transform: scale(0.75);
}
.score-page .score-container.show-freddie {
  transition: all 0.5s cubic-bezier(0.175, 0.885, 0.32, 1.275);
  transition-delay: 0.1s;
  transform: scale(1);
}
.score-page .score-container.show-freddie .score-freddie {
  animation-duration: 1s;
  opacity: 1;
}
.score-page.hide .headline-score,
.score-page.hide .logo-freddie {
  opacity: 0;
  transform: translateY(20px);
}
.score-page.hide .btn-close,
.score-page.hide .score-container {
  transform: scale(0);
}
.score-page.hide .circle-outer circle {
  stroke-width: 678px;
}
.score-page.hide .score-detail-container .song-title-container,
.score-page.hide .score-detail-container .score-label,
.score-page.hide .score-detail-container .score-number {
  opacity: 0;
  transform: translateY(20px);
}

/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9zcmMvc2Nzcy9hcHAuc2NzcyAoMSkiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0Esb0JBQW9CO0FBQ3BCLDZCQUE2QjtBQUM3QixpQ0FBaUM7QUFDakM7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsMEJBQTBCO0FBQzFCLFlBQVk7QUFDWixvQkFBb0I7QUFDcEI7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxvQ0FBb0M7QUFDcEMsaUJBQWlCO0FBQ2pCOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsZ0NBQWdDO0FBQ2hDLHdDQUF3QztBQUN4Qzs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLHNCQUFzQjtBQUN0Qiw2QkFBNkI7QUFDN0I7QUFDQSw0Q0FBNEM7QUFDNUM7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxvQ0FBb0M7QUFDcEMsaUJBQWlCO0FBQ2pCOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSwwQkFBMEI7QUFDMUIsa0JBQWtCO0FBQ2xCLG9CQUFvQjtBQUNwQixZQUFZO0FBQ1o7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSw2QkFBNkI7QUFDN0I7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSx5QkFBeUI7QUFDekIsYUFBYTtBQUNiOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxnQ0FBZ0M7QUFDaEMsdUJBQXVCO0FBQ3ZCO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSw2QkFBNkI7QUFDN0IsZ0JBQWdCO0FBQ2hCOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLHlCQUF5QjtBQUN6QixpQkFBaUI7QUFDakIsa0JBQWtCO0FBQ2xCLGFBQWE7QUFDYixpQkFBaUI7QUFDakIsc0JBQXNCO0FBQ3RCOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSx3QkFBd0I7QUFDeEIsMkJBQTJCO0FBQzNCOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEMiLCJmaWxlIjoiMzE4MTZiNTViNTlkODJlNmU1ZGMuc3R5bGUuY3NzIiwic291cmNlc0NvbnRlbnQiOlsiLypcbiAgbmVlZCB0byBjdXN6b21pemUgbm9ybWFsaXplLXNjc3MsIGJlY2F1c2Ugb2YgdGhlIGJyZWFraW5nXG4gIGNoYW5nZSB3aXRoIG1haHQuZGl2KDEvMSkgaW5zdGFkIG9mIDEvMVxuKi9cbi8qISBub3JtYWxpemUtc2NzcyB8IE1JVC9HUEx2MiBMaWNlbnNlIHwgYml0Lmx5L25vcm1hbGl6ZS1zY3NzICovXG4vKiBEb2N1bWVudFxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8qKlxuICogMS4gQ29ycmVjdCB0aGUgbGluZSBoZWlnaHQgaW4gYWxsIGJyb3dzZXJzLlxuICogMi4gUHJldmVudCBhZGp1c3RtZW50cyBvZiBmb250IHNpemUgYWZ0ZXIgb3JpZW50YXRpb24gY2hhbmdlcyBpblxuICogICAgSUUgb24gV2luZG93cyBQaG9uZSBhbmQgaW4gaU9TLlxuICovXG5odG1sIHtcbiAgbGluZS1oZWlnaHQ6IDEuMTU7IC8qIDEgKi9cbiAgLW1zLXRleHQtc2l6ZS1hZGp1c3Q6IDEwMCU7IC8qIDIgKi9cbiAgLXdlYmtpdC10ZXh0LXNpemUtYWRqdXN0OiAxMDAlOyAvKiAyICovXG59XG5cbi8qIFNlY3Rpb25zXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLyoqXG4gKiBSZW1vdmUgdGhlIG1hcmdpbiBpbiBhbGwgYnJvd3NlcnMgKG9waW5pb25hdGVkKS5cbiAqL1xuYm9keSB7XG4gIG1hcmdpbjogMDtcbn1cblxuLyoqXG4gKiBBZGQgdGhlIGNvcnJlY3QgZGlzcGxheSBpbiBJRSA5LS5cbiAqL1xuYXJ0aWNsZSxcbmFzaWRlLFxuZm9vdGVyLFxuaGVhZGVyLFxubmF2LFxuc2VjdGlvbiB7XG4gIGRpc3BsYXk6IGJsb2NrO1xufVxuXG4vKipcbiAqIENvcnJlY3QgdGhlIGZvbnQgc2l6ZSBhbmQgbWFyZ2luIG9uIGBoMWAgZWxlbWVudHMgd2l0aGluIGBzZWN0aW9uYCBhbmRcbiAqIGBhcnRpY2xlYCBjb250ZXh0cyBpbiBDaHJvbWUsIEZpcmVmb3gsIGFuZCBTYWZhcmkuXG4gKi9cbmgxIHtcbiAgZm9udC1zaXplOiAyZW07XG4gIG1hcmdpbjogMC42N2VtIDA7XG59XG5cbi8qIEdyb3VwaW5nIGNvbnRlbnRcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKipcbiAqIEFkZCB0aGUgY29ycmVjdCBkaXNwbGF5IGluIElFIDktLlxuICovXG5maWdjYXB0aW9uLFxuZmlndXJlIHtcbiAgZGlzcGxheTogYmxvY2s7XG59XG5cbi8qKlxuICogQWRkIHRoZSBjb3JyZWN0IG1hcmdpbiBpbiBJRSA4LlxuICovXG5maWd1cmUge1xuICBtYXJnaW46IDFlbSA0MHB4O1xufVxuXG4vKipcbiAqIDEuIEFkZCB0aGUgY29ycmVjdCBib3ggc2l6aW5nIGluIEZpcmVmb3guXG4gKiAyLiBTaG93IHRoZSBvdmVyZmxvdyBpbiBFZGdlIGFuZCBJRS5cbiAqL1xuaHIge1xuICBib3gtc2l6aW5nOiBjb250ZW50LWJveDsgLyogMSAqL1xuICBoZWlnaHQ6IDA7IC8qIDEgKi9cbiAgb3ZlcmZsb3c6IHZpc2libGU7IC8qIDIgKi9cbn1cblxuLyoqXG4gKiBBZGQgdGhlIGNvcnJlY3QgZGlzcGxheSBpbiBJRS5cbiAqL1xubWFpbiB7XG4gIGRpc3BsYXk6IGJsb2NrO1xufVxuXG4vKipcbiAqIDEuIENvcnJlY3QgdGhlIGluaGVyaXRhbmNlIGFuZCBzY2FsaW5nIG9mIGZvbnQgc2l6ZSBpbiBhbGwgYnJvd3NlcnMuXG4gKiAyLiBDb3JyZWN0IHRoZSBvZGQgYGVtYCBmb250IHNpemluZyBpbiBhbGwgYnJvd3NlcnMuXG4gKi9cbnByZSB7XG4gIGZvbnQtZmFtaWx5OiBtb25vc3BhY2UsIG1vbm9zcGFjZTsgLyogMSAqL1xuICBmb250LXNpemU6IDFlbTsgLyogMiAqL1xufVxuXG4vKiBMaW5rc1xuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8qKlxuICogMS4gUmVtb3ZlIHRoZSBncmF5IGJhY2tncm91bmQgb24gYWN0aXZlIGxpbmtzIGluIElFIDEwLlxuICogMi4gUmVtb3ZlIGdhcHMgaW4gbGlua3MgdW5kZXJsaW5lIGluIGlPUyA4KyBhbmQgU2FmYXJpIDgrLlxuICovXG5hIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7IC8qIDEgKi9cbiAgLXdlYmtpdC10ZXh0LWRlY29yYXRpb24tc2tpcDogb2JqZWN0czsgLyogMiAqL1xufVxuXG4vKiBUZXh0LWxldmVsIHNlbWFudGljc1xuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8qKlxuICogMS4gUmVtb3ZlIHRoZSBib3R0b20gYm9yZGVyIGluIENocm9tZSA1Ny0gYW5kIEZpcmVmb3ggMzktLlxuICogMi4gQWRkIHRoZSBjb3JyZWN0IHRleHQgZGVjb3JhdGlvbiBpbiBDaHJvbWUsIEVkZ2UsIElFLCBPcGVyYSwgYW5kIFNhZmFyaS5cbiAqL1xuYWJiclt0aXRsZV0ge1xuICBib3JkZXItYm90dG9tOiBub25lOyAvKiAxICovXG4gIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lOyAvKiAyICovXG4gIC13ZWJraXQtdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmUgZG90dGVkO1xuICAgICAgICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lIGRvdHRlZDsgLyogMiAqL1xufVxuXG4vKipcbiAqIFByZXZlbnQgdGhlIGR1cGxpY2F0ZSBhcHBsaWNhdGlvbiBvZiBgYm9sZGVyYCBieSB0aGUgbmV4dCBydWxlIGluIFNhZmFyaSA2LlxuICovXG5iLFxuc3Ryb25nIHtcbiAgZm9udC13ZWlnaHQ6IGluaGVyaXQ7XG59XG5cbi8qKlxuICogQWRkIHRoZSBjb3JyZWN0IGZvbnQgd2VpZ2h0IGluIENocm9tZSwgRWRnZSwgYW5kIFNhZmFyaS5cbiAqL1xuYixcbnN0cm9uZyB7XG4gIGZvbnQtd2VpZ2h0OiBib2xkZXI7XG59XG5cbi8qKlxuICogMS4gQ29ycmVjdCB0aGUgaW5oZXJpdGFuY2UgYW5kIHNjYWxpbmcgb2YgZm9udCBzaXplIGluIGFsbCBicm93c2Vycy5cbiAqIDIuIENvcnJlY3QgdGhlIG9kZCBgZW1gIGZvbnQgc2l6aW5nIGluIGFsbCBicm93c2Vycy5cbiAqL1xuY29kZSxcbmtiZCxcbnNhbXAge1xuICBmb250LWZhbWlseTogbW9ub3NwYWNlLCBtb25vc3BhY2U7IC8qIDEgKi9cbiAgZm9udC1zaXplOiAxZW07IC8qIDIgKi9cbn1cblxuLyoqXG4gKiBBZGQgdGhlIGNvcnJlY3QgZm9udCBzdHlsZSBpbiBBbmRyb2lkIDQuMy0uXG4gKi9cbmRmbiB7XG4gIGZvbnQtc3R5bGU6IGl0YWxpYztcbn1cblxuLyoqXG4gKiBBZGQgdGhlIGNvcnJlY3QgYmFja2dyb3VuZCBhbmQgY29sb3IgaW4gSUUgOS0uXG4gKi9cbm1hcmsge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmYwO1xuICBjb2xvcjogIzAwMDtcbn1cblxuLyoqXG4gKiBBZGQgdGhlIGNvcnJlY3QgZm9udCBzaXplIGluIGFsbCBicm93c2Vycy5cbiAqL1xuc21hbGwge1xuICBmb250LXNpemU6IDgwJTtcbn1cblxuLyoqXG4gKiBQcmV2ZW50IGBzdWJgIGFuZCBgc3VwYCBlbGVtZW50cyBmcm9tIGFmZmVjdGluZyB0aGUgbGluZSBoZWlnaHQgaW5cbiAqIGFsbCBicm93c2Vycy5cbiAqL1xuc3ViLFxuc3VwIHtcbiAgZm9udC1zaXplOiA3NSU7XG4gIGxpbmUtaGVpZ2h0OiAwO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHZlcnRpY2FsLWFsaWduOiBiYXNlbGluZTtcbn1cblxuc3ViIHtcbiAgYm90dG9tOiAtMC4yNWVtO1xufVxuXG5zdXAge1xuICB0b3A6IC0wLjVlbTtcbn1cblxuLyogRW1iZWRkZWQgY29udGVudFxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8qKlxuICogQWRkIHRoZSBjb3JyZWN0IGRpc3BsYXkgaW4gSUUgOS0uXG4gKi9cbmF1ZGlvLFxudmlkZW8ge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG59XG5cbi8qKlxuICogQWRkIHRoZSBjb3JyZWN0IGRpc3BsYXkgaW4gaU9TIDQtNy5cbiAqL1xuYXVkaW86bm90KFtjb250cm9sc10pIHtcbiAgZGlzcGxheTogbm9uZTtcbiAgaGVpZ2h0OiAwO1xufVxuXG4vKipcbiAqIFJlbW92ZSB0aGUgYm9yZGVyIG9uIGltYWdlcyBpbnNpZGUgbGlua3MgaW4gSUUgMTAtLlxuICovXG5pbWcge1xuICBib3JkZXItc3R5bGU6IG5vbmU7XG59XG5cbi8qKlxuICogSGlkZSB0aGUgb3ZlcmZsb3cgaW4gSUUuXG4gKi9cbnN2Zzpub3QoOnJvb3QpIHtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbn1cblxuLyogRm9ybXNcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKipcbiAqIDEuIENoYW5nZSB0aGUgZm9udCBzdHlsZXMgaW4gYWxsIGJyb3dzZXJzIChvcGluaW9uYXRlZCkuXG4gKiAyLiBSZW1vdmUgdGhlIG1hcmdpbiBpbiBGaXJlZm94IGFuZCBTYWZhcmkuXG4gKi9cbmJ1dHRvbixcbmlucHV0LFxub3B0Z3JvdXAsXG5zZWxlY3QsXG50ZXh0YXJlYSB7XG4gIGZvbnQtZmFtaWx5OiBzYW5zLXNlcmlmOyAvKiAxICovXG4gIGZvbnQtc2l6ZTogMTAwJTsgLyogMSAqL1xuICBsaW5lLWhlaWdodDogMS4xNTsgLyogMSAqL1xuICBtYXJnaW46IDA7IC8qIDIgKi9cbn1cblxuLyoqXG4gKiBTaG93IHRoZSBvdmVyZmxvdyBpbiBJRS5cbiAqL1xuYnV0dG9uIHtcbiAgb3ZlcmZsb3c6IHZpc2libGU7XG59XG5cbi8qKlxuICogUmVtb3ZlIHRoZSBpbmhlcml0YW5jZSBvZiB0ZXh0IHRyYW5zZm9ybSBpbiBFZGdlLCBGaXJlZm94LCBhbmQgSUUuXG4gKiAxLiBSZW1vdmUgdGhlIGluaGVyaXRhbmNlIG9mIHRleHQgdHJhbnNmb3JtIGluIEZpcmVmb3guXG4gKi9cbmJ1dHRvbixcbnNlbGVjdCB7XG4gIC8qIDEgKi9cbiAgdGV4dC10cmFuc2Zvcm06IG5vbmU7XG59XG5cbi8qKlxuICogMS4gUHJldmVudCBhIFdlYktpdCBidWcgd2hlcmUgKDIpIGRlc3Ryb3lzIG5hdGl2ZSBgYXVkaW9gIGFuZCBgdmlkZW9gXG4gKiAgICBjb250cm9scyBpbiBBbmRyb2lkIDQuXG4gKiAyLiBDb3JyZWN0IHRoZSBpbmFiaWxpdHkgdG8gc3R5bGUgY2xpY2thYmxlIHR5cGVzIGluIGlPUyBhbmQgU2FmYXJpLlxuICovXG5idXR0b24sXG5odG1sIFt0eXBlPWJ1dHRvbl0sXG5bdHlwZT1yZXNldF0sXG5bdHlwZT1zdWJtaXRdIHtcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiBidXR0b247IC8qIDIgKi9cbn1cblxuYnV0dG9uLFxuW3R5cGU9YnV0dG9uXSxcblt0eXBlPXJlc2V0XSxcblt0eXBlPXN1Ym1pdF0ge1xuICAvKipcbiAgICogUmVtb3ZlIHRoZSBpbm5lciBib3JkZXIgYW5kIHBhZGRpbmcgaW4gRmlyZWZveC5cbiAgICovXG4gIC8qKlxuICAgKiBSZXN0b3JlIHRoZSBmb2N1cyBzdHlsZXMgdW5zZXQgYnkgdGhlIHByZXZpb3VzIHJ1bGUuXG4gICAqL1xufVxuYnV0dG9uOjotbW96LWZvY3VzLWlubmVyLFxuW3R5cGU9YnV0dG9uXTo6LW1vei1mb2N1cy1pbm5lcixcblt0eXBlPXJlc2V0XTo6LW1vei1mb2N1cy1pbm5lcixcblt0eXBlPXN1Ym1pdF06Oi1tb3otZm9jdXMtaW5uZXIge1xuICBib3JkZXItc3R5bGU6IG5vbmU7XG4gIHBhZGRpbmc6IDA7XG59XG5idXR0b246LW1vei1mb2N1c3JpbmcsXG5bdHlwZT1idXR0b25dOi1tb3otZm9jdXNyaW5nLFxuW3R5cGU9cmVzZXRdOi1tb3otZm9jdXNyaW5nLFxuW3R5cGU9c3VibWl0XTotbW96LWZvY3VzcmluZyB7XG4gIG91dGxpbmU6IDFweCBkb3R0ZWQgQnV0dG9uVGV4dDtcbn1cblxuLyoqXG4gKiBTaG93IHRoZSBvdmVyZmxvdyBpbiBFZGdlLlxuICovXG5pbnB1dCB7XG4gIG92ZXJmbG93OiB2aXNpYmxlO1xufVxuXG4vKipcbiAqIDEuIEFkZCB0aGUgY29ycmVjdCBib3ggc2l6aW5nIGluIElFIDEwLS5cbiAqIDIuIFJlbW92ZSB0aGUgcGFkZGluZyBpbiBJRSAxMC0uXG4gKi9cblt0eXBlPWNoZWNrYm94XSxcblt0eXBlPXJhZGlvXSB7XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7IC8qIDEgKi9cbiAgcGFkZGluZzogMDsgLyogMiAqL1xufVxuXG4vKipcbiAqIENvcnJlY3QgdGhlIGN1cnNvciBzdHlsZSBvZiBpbmNyZW1lbnQgYW5kIGRlY3JlbWVudCBidXR0b25zIGluIENocm9tZS5cbiAqL1xuW3R5cGU9bnVtYmVyXTo6LXdlYmtpdC1pbm5lci1zcGluLWJ1dHRvbixcblt0eXBlPW51bWJlcl06Oi13ZWJraXQtb3V0ZXItc3Bpbi1idXR0b24ge1xuICBoZWlnaHQ6IGF1dG87XG59XG5cbi8qKlxuICogMS4gQ29ycmVjdCB0aGUgb2RkIGFwcGVhcmFuY2UgaW4gQ2hyb21lIGFuZCBTYWZhcmkuXG4gKiAyLiBDb3JyZWN0IHRoZSBvdXRsaW5lIHN0eWxlIGluIFNhZmFyaS5cbiAqL1xuW3R5cGU9c2VhcmNoXSB7XG4gIC13ZWJraXQtYXBwZWFyYW5jZTogdGV4dGZpZWxkOyAvKiAxICovXG4gIG91dGxpbmUtb2Zmc2V0OiAtMnB4OyAvKiAyICovXG4gIC8qKlxuICAgKiBSZW1vdmUgdGhlIGlubmVyIHBhZGRpbmcgYW5kIGNhbmNlbCBidXR0b25zIGluIENocm9tZSBhbmQgU2FmYXJpIG9uIG1hY09TLlxuICAgKi9cbn1cblt0eXBlPXNlYXJjaF06Oi13ZWJraXQtc2VhcmNoLWNhbmNlbC1idXR0b24sIFt0eXBlPXNlYXJjaF06Oi13ZWJraXQtc2VhcmNoLWRlY29yYXRpb24ge1xuICAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7XG59XG5cbi8qKlxuICogMS4gQ29ycmVjdCB0aGUgaW5hYmlsaXR5IHRvIHN0eWxlIGNsaWNrYWJsZSB0eXBlcyBpbiBpT1MgYW5kIFNhZmFyaS5cbiAqIDIuIENoYW5nZSBmb250IHByb3BlcnRpZXMgdG8gYGluaGVyaXRgIGluIFNhZmFyaS5cbiAqL1xuOjotd2Via2l0LWZpbGUtdXBsb2FkLWJ1dHRvbiB7XG4gIC13ZWJraXQtYXBwZWFyYW5jZTogYnV0dG9uOyAvKiAxICovXG4gIGZvbnQ6IGluaGVyaXQ7IC8qIDIgKi9cbn1cblxuLyoqXG4gKiBDb3JyZWN0IHRoZSBwYWRkaW5nIGluIEZpcmVmb3guXG4gKi9cbmZpZWxkc2V0IHtcbiAgcGFkZGluZzogMC4zNWVtIDAuNzVlbSAwLjYyNWVtO1xufVxuXG4vKipcbiAqIDEuIENvcnJlY3QgdGhlIHRleHQgd3JhcHBpbmcgaW4gRWRnZSBhbmQgSUUuXG4gKiAyLiBDb3JyZWN0IHRoZSBjb2xvciBpbmhlcml0YW5jZSBmcm9tIGBmaWVsZHNldGAgZWxlbWVudHMgaW4gSUUuXG4gKiAzLiBSZW1vdmUgdGhlIHBhZGRpbmcgc28gZGV2ZWxvcGVycyBhcmUgbm90IGNhdWdodCBvdXQgd2hlbiB0aGV5IHplcm8gb3V0XG4gKiAgICBgZmllbGRzZXRgIGVsZW1lbnRzIGluIGFsbCBicm93c2Vycy5cbiAqL1xubGVnZW5kIHtcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDsgLyogMSAqL1xuICBkaXNwbGF5OiB0YWJsZTsgLyogMSAqL1xuICBtYXgtd2lkdGg6IDEwMCU7IC8qIDEgKi9cbiAgcGFkZGluZzogMDsgLyogMyAqL1xuICBjb2xvcjogaW5oZXJpdDsgLyogMiAqL1xuICB3aGl0ZS1zcGFjZTogbm9ybWFsOyAvKiAxICovXG59XG5cbi8qKlxuICogMS4gQWRkIHRoZSBjb3JyZWN0IGRpc3BsYXkgaW4gSUUgOS0uXG4gKiAyLiBBZGQgdGhlIGNvcnJlY3QgdmVydGljYWwgYWxpZ25tZW50IGluIENocm9tZSwgRmlyZWZveCwgYW5kIE9wZXJhLlxuICovXG5wcm9ncmVzcyB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jazsgLyogMSAqL1xuICB2ZXJ0aWNhbC1hbGlnbjogYmFzZWxpbmU7IC8qIDIgKi9cbn1cblxuLyoqXG4gKiBSZW1vdmUgdGhlIGRlZmF1bHQgdmVydGljYWwgc2Nyb2xsYmFyIGluIElFLlxuICovXG50ZXh0YXJlYSB7XG4gIG92ZXJmbG93OiBhdXRvO1xufVxuXG4vKiBJbnRlcmFjdGl2ZVxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8qXG4gKiBBZGQgdGhlIGNvcnJlY3QgZGlzcGxheSBpbiBFZGdlLCBJRSwgYW5kIEZpcmVmb3guXG4gKi9cbmRldGFpbHMge1xuICBkaXNwbGF5OiBibG9jaztcbn1cblxuLypcbiAqIEFkZCB0aGUgY29ycmVjdCBkaXNwbGF5IGluIGFsbCBicm93c2Vycy5cbiAqL1xuc3VtbWFyeSB7XG4gIGRpc3BsYXk6IGxpc3QtaXRlbTtcbn1cblxuLypcbiAqIEFkZCB0aGUgY29ycmVjdCBkaXNwbGF5IGluIElFIDktLlxuICovXG5tZW51IHtcbiAgZGlzcGxheTogYmxvY2s7XG59XG5cbi8qIFNjcmlwdGluZ1xuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8qKlxuICogQWRkIHRoZSBjb3JyZWN0IGRpc3BsYXkgaW4gSUUgOS0uXG4gKi9cbmNhbnZhcyB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbn1cblxuLyoqXG4gKiBBZGQgdGhlIGNvcnJlY3QgZGlzcGxheSBpbiBJRS5cbiAqL1xudGVtcGxhdGUge1xuICBkaXNwbGF5OiBub25lO1xufVxuXG4vKiBIaWRkZW5cbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKipcbiAqIEFkZCB0aGUgY29ycmVjdCBkaXNwbGF5IGluIElFIDEwLS5cbiAqL1xuW2hpZGRlbl0ge1xuICBkaXNwbGF5OiBub25lO1xufVxuXG4uY29sLW1vYmlsZS0wIHtcbiAgZmxleC1iYXNpczogY2FsYygwICogMTAwJSAvIDEyIC0gKDIwcHgpKTtcbiAgd2lkdGg6IGNhbGMoMCAqIDEwMCUgLyAxMiAtICgyMHB4KSk7XG4gIG1heC13aWR0aDogY2FsYygwICogMTAwJSAvIDEyIC0gKDIwcHgpKTtcbiAgbWFyZ2luOiAwIDEwcHg7XG59XG5AbWVkaWEgKG1heC13aWR0aDogMzUwcHgpIHtcbiAgLmNvbC1tb2JpbGUtMCB7XG4gICAgZmxleC1iYXNpczogY2FsYygwICogMTAwJSAvIDEyKTtcbiAgICB3aWR0aDogY2FsYygwICogMTAwJSAvIDEyKTtcbiAgICBtYXgtd2lkdGg6IGNhbGMoMCAqIDEwMCUgLyAxMik7XG4gICAgbWFyZ2luOiAwcHg7XG4gIH1cbn1cblxuLmNvbC1tb2JpbGUtMSB7XG4gIGZsZXgtYmFzaXM6IGNhbGMoMSAqIDEwMCUgLyAxMiAtICgyMHB4KSk7XG4gIHdpZHRoOiBjYWxjKDEgKiAxMDAlIC8gMTIgLSAoMjBweCkpO1xuICBtYXgtd2lkdGg6IGNhbGMoMSAqIDEwMCUgLyAxMiAtICgyMHB4KSk7XG4gIG1hcmdpbjogMCAxMHB4O1xufVxuQG1lZGlhIChtYXgtd2lkdGg6IDM1MHB4KSB7XG4gIC5jb2wtbW9iaWxlLTEge1xuICAgIGZsZXgtYmFzaXM6IGNhbGMoMSAqIDEwMCUgLyAxMik7XG4gICAgd2lkdGg6IGNhbGMoMSAqIDEwMCUgLyAxMik7XG4gICAgbWF4LXdpZHRoOiBjYWxjKDEgKiAxMDAlIC8gMTIpO1xuICAgIG1hcmdpbjogMHB4O1xuICB9XG59XG5cbi5jb2wtbW9iaWxlLTIge1xuICBmbGV4LWJhc2lzOiBjYWxjKDIgKiAxMDAlIC8gMTIgLSAoMjBweCkpO1xuICB3aWR0aDogY2FsYygyICogMTAwJSAvIDEyIC0gKDIwcHgpKTtcbiAgbWF4LXdpZHRoOiBjYWxjKDIgKiAxMDAlIC8gMTIgLSAoMjBweCkpO1xuICBtYXJnaW46IDAgMTBweDtcbn1cbkBtZWRpYSAobWF4LXdpZHRoOiAzNTBweCkge1xuICAuY29sLW1vYmlsZS0yIHtcbiAgICBmbGV4LWJhc2lzOiBjYWxjKDIgKiAxMDAlIC8gMTIpO1xuICAgIHdpZHRoOiBjYWxjKDIgKiAxMDAlIC8gMTIpO1xuICAgIG1heC13aWR0aDogY2FsYygyICogMTAwJSAvIDEyKTtcbiAgICBtYXJnaW46IDBweDtcbiAgfVxufVxuXG4uY29sLW1vYmlsZS0zIHtcbiAgZmxleC1iYXNpczogY2FsYygzICogMTAwJSAvIDEyIC0gKDIwcHgpKTtcbiAgd2lkdGg6IGNhbGMoMyAqIDEwMCUgLyAxMiAtICgyMHB4KSk7XG4gIG1heC13aWR0aDogY2FsYygzICogMTAwJSAvIDEyIC0gKDIwcHgpKTtcbiAgbWFyZ2luOiAwIDEwcHg7XG59XG5AbWVkaWEgKG1heC13aWR0aDogMzUwcHgpIHtcbiAgLmNvbC1tb2JpbGUtMyB7XG4gICAgZmxleC1iYXNpczogY2FsYygzICogMTAwJSAvIDEyKTtcbiAgICB3aWR0aDogY2FsYygzICogMTAwJSAvIDEyKTtcbiAgICBtYXgtd2lkdGg6IGNhbGMoMyAqIDEwMCUgLyAxMik7XG4gICAgbWFyZ2luOiAwcHg7XG4gIH1cbn1cblxuLmNvbC1tb2JpbGUtNCB7XG4gIGZsZXgtYmFzaXM6IGNhbGMoNCAqIDEwMCUgLyAxMiAtICgyMHB4KSk7XG4gIHdpZHRoOiBjYWxjKDQgKiAxMDAlIC8gMTIgLSAoMjBweCkpO1xuICBtYXgtd2lkdGg6IGNhbGMoNCAqIDEwMCUgLyAxMiAtICgyMHB4KSk7XG4gIG1hcmdpbjogMCAxMHB4O1xufVxuQG1lZGlhIChtYXgtd2lkdGg6IDM1MHB4KSB7XG4gIC5jb2wtbW9iaWxlLTQge1xuICAgIGZsZXgtYmFzaXM6IGNhbGMoNCAqIDEwMCUgLyAxMik7XG4gICAgd2lkdGg6IGNhbGMoNCAqIDEwMCUgLyAxMik7XG4gICAgbWF4LXdpZHRoOiBjYWxjKDQgKiAxMDAlIC8gMTIpO1xuICAgIG1hcmdpbjogMHB4O1xuICB9XG59XG5cbi5jb2wtbW9iaWxlLTUge1xuICBmbGV4LWJhc2lzOiBjYWxjKDUgKiAxMDAlIC8gMTIgLSAoMjBweCkpO1xuICB3aWR0aDogY2FsYyg1ICogMTAwJSAvIDEyIC0gKDIwcHgpKTtcbiAgbWF4LXdpZHRoOiBjYWxjKDUgKiAxMDAlIC8gMTIgLSAoMjBweCkpO1xuICBtYXJnaW46IDAgMTBweDtcbn1cbkBtZWRpYSAobWF4LXdpZHRoOiAzNTBweCkge1xuICAuY29sLW1vYmlsZS01IHtcbiAgICBmbGV4LWJhc2lzOiBjYWxjKDUgKiAxMDAlIC8gMTIpO1xuICAgIHdpZHRoOiBjYWxjKDUgKiAxMDAlIC8gMTIpO1xuICAgIG1heC13aWR0aDogY2FsYyg1ICogMTAwJSAvIDEyKTtcbiAgICBtYXJnaW46IDBweDtcbiAgfVxufVxuXG4uY29sLW1vYmlsZS02IHtcbiAgZmxleC1iYXNpczogY2FsYyg2ICogMTAwJSAvIDEyIC0gKDIwcHgpKTtcbiAgd2lkdGg6IGNhbGMoNiAqIDEwMCUgLyAxMiAtICgyMHB4KSk7XG4gIG1heC13aWR0aDogY2FsYyg2ICogMTAwJSAvIDEyIC0gKDIwcHgpKTtcbiAgbWFyZ2luOiAwIDEwcHg7XG59XG5AbWVkaWEgKG1heC13aWR0aDogMzUwcHgpIHtcbiAgLmNvbC1tb2JpbGUtNiB7XG4gICAgZmxleC1iYXNpczogY2FsYyg2ICogMTAwJSAvIDEyKTtcbiAgICB3aWR0aDogY2FsYyg2ICogMTAwJSAvIDEyKTtcbiAgICBtYXgtd2lkdGg6IGNhbGMoNiAqIDEwMCUgLyAxMik7XG4gICAgbWFyZ2luOiAwcHg7XG4gIH1cbn1cblxuLmNvbC1tb2JpbGUtNyB7XG4gIGZsZXgtYmFzaXM6IGNhbGMoNyAqIDEwMCUgLyAxMiAtICgyMHB4KSk7XG4gIHdpZHRoOiBjYWxjKDcgKiAxMDAlIC8gMTIgLSAoMjBweCkpO1xuICBtYXgtd2lkdGg6IGNhbGMoNyAqIDEwMCUgLyAxMiAtICgyMHB4KSk7XG4gIG1hcmdpbjogMCAxMHB4O1xufVxuQG1lZGlhIChtYXgtd2lkdGg6IDM1MHB4KSB7XG4gIC5jb2wtbW9iaWxlLTcge1xuICAgIGZsZXgtYmFzaXM6IGNhbGMoNyAqIDEwMCUgLyAxMik7XG4gICAgd2lkdGg6IGNhbGMoNyAqIDEwMCUgLyAxMik7XG4gICAgbWF4LXdpZHRoOiBjYWxjKDcgKiAxMDAlIC8gMTIpO1xuICAgIG1hcmdpbjogMHB4O1xuICB9XG59XG5cbi5jb2wtbW9iaWxlLTgge1xuICBmbGV4LWJhc2lzOiBjYWxjKDggKiAxMDAlIC8gMTIgLSAoMjBweCkpO1xuICB3aWR0aDogY2FsYyg4ICogMTAwJSAvIDEyIC0gKDIwcHgpKTtcbiAgbWF4LXdpZHRoOiBjYWxjKDggKiAxMDAlIC8gMTIgLSAoMjBweCkpO1xuICBtYXJnaW46IDAgMTBweDtcbn1cbkBtZWRpYSAobWF4LXdpZHRoOiAzNTBweCkge1xuICAuY29sLW1vYmlsZS04IHtcbiAgICBmbGV4LWJhc2lzOiBjYWxjKDggKiAxMDAlIC8gMTIpO1xuICAgIHdpZHRoOiBjYWxjKDggKiAxMDAlIC8gMTIpO1xuICAgIG1heC13aWR0aDogY2FsYyg4ICogMTAwJSAvIDEyKTtcbiAgICBtYXJnaW46IDBweDtcbiAgfVxufVxuXG4uY29sLW1vYmlsZS05IHtcbiAgZmxleC1iYXNpczogY2FsYyg5ICogMTAwJSAvIDEyIC0gKDIwcHgpKTtcbiAgd2lkdGg6IGNhbGMoOSAqIDEwMCUgLyAxMiAtICgyMHB4KSk7XG4gIG1heC13aWR0aDogY2FsYyg5ICogMTAwJSAvIDEyIC0gKDIwcHgpKTtcbiAgbWFyZ2luOiAwIDEwcHg7XG59XG5AbWVkaWEgKG1heC13aWR0aDogMzUwcHgpIHtcbiAgLmNvbC1tb2JpbGUtOSB7XG4gICAgZmxleC1iYXNpczogY2FsYyg5ICogMTAwJSAvIDEyKTtcbiAgICB3aWR0aDogY2FsYyg5ICogMTAwJSAvIDEyKTtcbiAgICBtYXgtd2lkdGg6IGNhbGMoOSAqIDEwMCUgLyAxMik7XG4gICAgbWFyZ2luOiAwcHg7XG4gIH1cbn1cblxuLmNvbC1tb2JpbGUtMTAge1xuICBmbGV4LWJhc2lzOiBjYWxjKDEwICogMTAwJSAvIDEyIC0gKDIwcHgpKTtcbiAgd2lkdGg6IGNhbGMoMTAgKiAxMDAlIC8gMTIgLSAoMjBweCkpO1xuICBtYXgtd2lkdGg6IGNhbGMoMTAgKiAxMDAlIC8gMTIgLSAoMjBweCkpO1xuICBtYXJnaW46IDAgMTBweDtcbn1cbkBtZWRpYSAobWF4LXdpZHRoOiAzNTBweCkge1xuICAuY29sLW1vYmlsZS0xMCB7XG4gICAgZmxleC1iYXNpczogY2FsYygxMCAqIDEwMCUgLyAxMik7XG4gICAgd2lkdGg6IGNhbGMoMTAgKiAxMDAlIC8gMTIpO1xuICAgIG1heC13aWR0aDogY2FsYygxMCAqIDEwMCUgLyAxMik7XG4gICAgbWFyZ2luOiAwcHg7XG4gIH1cbn1cblxuLmNvbC1tb2JpbGUtMTEge1xuICBmbGV4LWJhc2lzOiBjYWxjKDExICogMTAwJSAvIDEyIC0gKDIwcHgpKTtcbiAgd2lkdGg6IGNhbGMoMTEgKiAxMDAlIC8gMTIgLSAoMjBweCkpO1xuICBtYXgtd2lkdGg6IGNhbGMoMTEgKiAxMDAlIC8gMTIgLSAoMjBweCkpO1xuICBtYXJnaW46IDAgMTBweDtcbn1cbkBtZWRpYSAobWF4LXdpZHRoOiAzNTBweCkge1xuICAuY29sLW1vYmlsZS0xMSB7XG4gICAgZmxleC1iYXNpczogY2FsYygxMSAqIDEwMCUgLyAxMik7XG4gICAgd2lkdGg6IGNhbGMoMTEgKiAxMDAlIC8gMTIpO1xuICAgIG1heC13aWR0aDogY2FsYygxMSAqIDEwMCUgLyAxMik7XG4gICAgbWFyZ2luOiAwcHg7XG4gIH1cbn1cblxuLmNvbC1tb2JpbGUtMTIge1xuICBmbGV4LWJhc2lzOiBjYWxjKDEyICogMTAwJSAvIDEyIC0gKDIwcHgpKTtcbiAgd2lkdGg6IGNhbGMoMTIgKiAxMDAlIC8gMTIgLSAoMjBweCkpO1xuICBtYXgtd2lkdGg6IGNhbGMoMTIgKiAxMDAlIC8gMTIgLSAoMjBweCkpO1xuICBtYXJnaW46IDAgMTBweDtcbn1cbkBtZWRpYSAobWF4LXdpZHRoOiAzNTBweCkge1xuICAuY29sLW1vYmlsZS0xMiB7XG4gICAgZmxleC1iYXNpczogY2FsYygxMiAqIDEwMCUgLyAxMik7XG4gICAgd2lkdGg6IGNhbGMoMTIgKiAxMDAlIC8gMTIpO1xuICAgIG1heC13aWR0aDogY2FsYygxMiAqIDEwMCUgLyAxMik7XG4gICAgbWFyZ2luOiAwcHg7XG4gIH1cbn1cblxuQG1lZGlhIChtaW4td2lkdGg6IDQyMHB4KSB7XG4gIC5jb2wtbW9iaWxlLW9mZnNldC0wIHtcbiAgICBtYXJnaW4tbGVmdDogY2FsYygwICogMTAwJSAvIDEyICsgKDEwcHgpKTtcbiAgfVxufVxuXG5AbWVkaWEgKG1pbi13aWR0aDogNDIwcHgpIHtcbiAgLmNvbC1tb2JpbGUtb2Zmc2V0LTEge1xuICAgIG1hcmdpbi1sZWZ0OiBjYWxjKDEgKiAxMDAlIC8gMTIgKyAoMTBweCkpO1xuICB9XG59XG5cbkBtZWRpYSAobWluLXdpZHRoOiA0MjBweCkge1xuICAuY29sLW1vYmlsZS1vZmZzZXQtMiB7XG4gICAgbWFyZ2luLWxlZnQ6IGNhbGMoMiAqIDEwMCUgLyAxMiArICgxMHB4KSk7XG4gIH1cbn1cblxuQG1lZGlhIChtaW4td2lkdGg6IDQyMHB4KSB7XG4gIC5jb2wtbW9iaWxlLW9mZnNldC0zIHtcbiAgICBtYXJnaW4tbGVmdDogY2FsYygzICogMTAwJSAvIDEyICsgKDEwcHgpKTtcbiAgfVxufVxuXG5AbWVkaWEgKG1pbi13aWR0aDogNDIwcHgpIHtcbiAgLmNvbC1tb2JpbGUtb2Zmc2V0LTQge1xuICAgIG1hcmdpbi1sZWZ0OiBjYWxjKDQgKiAxMDAlIC8gMTIgKyAoMTBweCkpO1xuICB9XG59XG5cbkBtZWRpYSAobWluLXdpZHRoOiA0MjBweCkge1xuICAuY29sLW1vYmlsZS1vZmZzZXQtNSB7XG4gICAgbWFyZ2luLWxlZnQ6IGNhbGMoNSAqIDEwMCUgLyAxMiArICgxMHB4KSk7XG4gIH1cbn1cblxuQG1lZGlhIChtaW4td2lkdGg6IDQyMHB4KSB7XG4gIC5jb2wtbW9iaWxlLW9mZnNldC02IHtcbiAgICBtYXJnaW4tbGVmdDogY2FsYyg2ICogMTAwJSAvIDEyICsgKDEwcHgpKTtcbiAgfVxufVxuXG5AbWVkaWEgKG1pbi13aWR0aDogNDIwcHgpIHtcbiAgLmNvbC1tb2JpbGUtb2Zmc2V0LTcge1xuICAgIG1hcmdpbi1sZWZ0OiBjYWxjKDcgKiAxMDAlIC8gMTIgKyAoMTBweCkpO1xuICB9XG59XG5cbkBtZWRpYSAobWluLXdpZHRoOiA0MjBweCkge1xuICAuY29sLW1vYmlsZS1vZmZzZXQtOCB7XG4gICAgbWFyZ2luLWxlZnQ6IGNhbGMoOCAqIDEwMCUgLyAxMiArICgxMHB4KSk7XG4gIH1cbn1cblxuQG1lZGlhIChtaW4td2lkdGg6IDQyMHB4KSB7XG4gIC5jb2wtbW9iaWxlLW9mZnNldC05IHtcbiAgICBtYXJnaW4tbGVmdDogY2FsYyg5ICogMTAwJSAvIDEyICsgKDEwcHgpKTtcbiAgfVxufVxuXG5AbWVkaWEgKG1pbi13aWR0aDogNDIwcHgpIHtcbiAgLmNvbC1tb2JpbGUtb2Zmc2V0LTEwIHtcbiAgICBtYXJnaW4tbGVmdDogY2FsYygxMCAqIDEwMCUgLyAxMiArICgxMHB4KSk7XG4gIH1cbn1cblxuQG1lZGlhIChtaW4td2lkdGg6IDQyMHB4KSB7XG4gIC5jb2wtbW9iaWxlLW9mZnNldC0xMSB7XG4gICAgbWFyZ2luLWxlZnQ6IGNhbGMoMTEgKiAxMDAlIC8gMTIgKyAoMTBweCkpO1xuICB9XG59XG5cbkBtZWRpYSAobWluLXdpZHRoOiA0MjBweCkge1xuICAuY29sLW1vYmlsZS1vZmZzZXQtMTIge1xuICAgIG1hcmdpbi1sZWZ0OiBjYWxjKDEyICogMTAwJSAvIDEyICsgKDEwcHgpKTtcbiAgfVxufVxuXG5AbWVkaWEgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgLmNvbC10YWJsZXQtMCB7XG4gICAgZmxleC1iYXNpczogY2FsYygwICogMTAwJSAvIDEyIC0gKDIwcHgpKTtcbiAgICB3aWR0aDogY2FsYygwICogMTAwJSAvIDEyIC0gKDIwcHgpKTtcbiAgICBtYXgtd2lkdGg6IGNhbGMoMCAqIDEwMCUgLyAxMiAtICgyMHB4KSk7XG4gICAgbWFyZ2luOiAwIDEwcHg7XG4gIH1cbn1cblxuQG1lZGlhIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gIC5jb2wtdGFibGV0LTEge1xuICAgIGZsZXgtYmFzaXM6IGNhbGMoMSAqIDEwMCUgLyAxMiAtICgyMHB4KSk7XG4gICAgd2lkdGg6IGNhbGMoMSAqIDEwMCUgLyAxMiAtICgyMHB4KSk7XG4gICAgbWF4LXdpZHRoOiBjYWxjKDEgKiAxMDAlIC8gMTIgLSAoMjBweCkpO1xuICAgIG1hcmdpbjogMCAxMHB4O1xuICB9XG59XG5cbkBtZWRpYSAobWluLXdpZHRoOiA3NjhweCkge1xuICAuY29sLXRhYmxldC0yIHtcbiAgICBmbGV4LWJhc2lzOiBjYWxjKDIgKiAxMDAlIC8gMTIgLSAoMjBweCkpO1xuICAgIHdpZHRoOiBjYWxjKDIgKiAxMDAlIC8gMTIgLSAoMjBweCkpO1xuICAgIG1heC13aWR0aDogY2FsYygyICogMTAwJSAvIDEyIC0gKDIwcHgpKTtcbiAgICBtYXJnaW46IDAgMTBweDtcbiAgfVxufVxuXG5AbWVkaWEgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgLmNvbC10YWJsZXQtMyB7XG4gICAgZmxleC1iYXNpczogY2FsYygzICogMTAwJSAvIDEyIC0gKDIwcHgpKTtcbiAgICB3aWR0aDogY2FsYygzICogMTAwJSAvIDEyIC0gKDIwcHgpKTtcbiAgICBtYXgtd2lkdGg6IGNhbGMoMyAqIDEwMCUgLyAxMiAtICgyMHB4KSk7XG4gICAgbWFyZ2luOiAwIDEwcHg7XG4gIH1cbn1cblxuQG1lZGlhIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gIC5jb2wtdGFibGV0LTQge1xuICAgIGZsZXgtYmFzaXM6IGNhbGMoNCAqIDEwMCUgLyAxMiAtICgyMHB4KSk7XG4gICAgd2lkdGg6IGNhbGMoNCAqIDEwMCUgLyAxMiAtICgyMHB4KSk7XG4gICAgbWF4LXdpZHRoOiBjYWxjKDQgKiAxMDAlIC8gMTIgLSAoMjBweCkpO1xuICAgIG1hcmdpbjogMCAxMHB4O1xuICB9XG59XG5cbkBtZWRpYSAobWluLXdpZHRoOiA3NjhweCkge1xuICAuY29sLXRhYmxldC01IHtcbiAgICBmbGV4LWJhc2lzOiBjYWxjKDUgKiAxMDAlIC8gMTIgLSAoMjBweCkpO1xuICAgIHdpZHRoOiBjYWxjKDUgKiAxMDAlIC8gMTIgLSAoMjBweCkpO1xuICAgIG1heC13aWR0aDogY2FsYyg1ICogMTAwJSAvIDEyIC0gKDIwcHgpKTtcbiAgICBtYXJnaW46IDAgMTBweDtcbiAgfVxufVxuXG5AbWVkaWEgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgLmNvbC10YWJsZXQtNiB7XG4gICAgZmxleC1iYXNpczogY2FsYyg2ICogMTAwJSAvIDEyIC0gKDIwcHgpKTtcbiAgICB3aWR0aDogY2FsYyg2ICogMTAwJSAvIDEyIC0gKDIwcHgpKTtcbiAgICBtYXgtd2lkdGg6IGNhbGMoNiAqIDEwMCUgLyAxMiAtICgyMHB4KSk7XG4gICAgbWFyZ2luOiAwIDEwcHg7XG4gIH1cbn1cblxuQG1lZGlhIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gIC5jb2wtdGFibGV0LTcge1xuICAgIGZsZXgtYmFzaXM6IGNhbGMoNyAqIDEwMCUgLyAxMiAtICgyMHB4KSk7XG4gICAgd2lkdGg6IGNhbGMoNyAqIDEwMCUgLyAxMiAtICgyMHB4KSk7XG4gICAgbWF4LXdpZHRoOiBjYWxjKDcgKiAxMDAlIC8gMTIgLSAoMjBweCkpO1xuICAgIG1hcmdpbjogMCAxMHB4O1xuICB9XG59XG5cbkBtZWRpYSAobWluLXdpZHRoOiA3NjhweCkge1xuICAuY29sLXRhYmxldC04IHtcbiAgICBmbGV4LWJhc2lzOiBjYWxjKDggKiAxMDAlIC8gMTIgLSAoMjBweCkpO1xuICAgIHdpZHRoOiBjYWxjKDggKiAxMDAlIC8gMTIgLSAoMjBweCkpO1xuICAgIG1heC13aWR0aDogY2FsYyg4ICogMTAwJSAvIDEyIC0gKDIwcHgpKTtcbiAgICBtYXJnaW46IDAgMTBweDtcbiAgfVxufVxuXG5AbWVkaWEgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgLmNvbC10YWJsZXQtOSB7XG4gICAgZmxleC1iYXNpczogY2FsYyg5ICogMTAwJSAvIDEyIC0gKDIwcHgpKTtcbiAgICB3aWR0aDogY2FsYyg5ICogMTAwJSAvIDEyIC0gKDIwcHgpKTtcbiAgICBtYXgtd2lkdGg6IGNhbGMoOSAqIDEwMCUgLyAxMiAtICgyMHB4KSk7XG4gICAgbWFyZ2luOiAwIDEwcHg7XG4gIH1cbn1cblxuQG1lZGlhIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gIC5jb2wtdGFibGV0LTEwIHtcbiAgICBmbGV4LWJhc2lzOiBjYWxjKDEwICogMTAwJSAvIDEyIC0gKDIwcHgpKTtcbiAgICB3aWR0aDogY2FsYygxMCAqIDEwMCUgLyAxMiAtICgyMHB4KSk7XG4gICAgbWF4LXdpZHRoOiBjYWxjKDEwICogMTAwJSAvIDEyIC0gKDIwcHgpKTtcbiAgICBtYXJnaW46IDAgMTBweDtcbiAgfVxufVxuXG5AbWVkaWEgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgLmNvbC10YWJsZXQtMTEge1xuICAgIGZsZXgtYmFzaXM6IGNhbGMoMTEgKiAxMDAlIC8gMTIgLSAoMjBweCkpO1xuICAgIHdpZHRoOiBjYWxjKDExICogMTAwJSAvIDEyIC0gKDIwcHgpKTtcbiAgICBtYXgtd2lkdGg6IGNhbGMoMTEgKiAxMDAlIC8gMTIgLSAoMjBweCkpO1xuICAgIG1hcmdpbjogMCAxMHB4O1xuICB9XG59XG5cbkBtZWRpYSAobWluLXdpZHRoOiA3NjhweCkge1xuICAuY29sLXRhYmxldC0xMiB7XG4gICAgZmxleC1iYXNpczogY2FsYygxMiAqIDEwMCUgLyAxMiAtICgyMHB4KSk7XG4gICAgd2lkdGg6IGNhbGMoMTIgKiAxMDAlIC8gMTIgLSAoMjBweCkpO1xuICAgIG1heC13aWR0aDogY2FsYygxMiAqIDEwMCUgLyAxMiAtICgyMHB4KSk7XG4gICAgbWFyZ2luOiAwIDEwcHg7XG4gIH1cbn1cblxuQG1lZGlhIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gIC5jb2wtdGFibGV0LW9mZnNldC0wIHtcbiAgICBtYXJnaW4tbGVmdDogY2FsYygwICogMTAwJSAvIDEyICsgKDEwcHgpKTtcbiAgfVxufVxuXG5AbWVkaWEgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgLmNvbC10YWJsZXQtb2Zmc2V0LTEge1xuICAgIG1hcmdpbi1sZWZ0OiBjYWxjKDEgKiAxMDAlIC8gMTIgKyAoMTBweCkpO1xuICB9XG59XG5cbkBtZWRpYSAobWluLXdpZHRoOiA3NjhweCkge1xuICAuY29sLXRhYmxldC1vZmZzZXQtMiB7XG4gICAgbWFyZ2luLWxlZnQ6IGNhbGMoMiAqIDEwMCUgLyAxMiArICgxMHB4KSk7XG4gIH1cbn1cblxuQG1lZGlhIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gIC5jb2wtdGFibGV0LW9mZnNldC0zIHtcbiAgICBtYXJnaW4tbGVmdDogY2FsYygzICogMTAwJSAvIDEyICsgKDEwcHgpKTtcbiAgfVxufVxuXG5AbWVkaWEgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgLmNvbC10YWJsZXQtb2Zmc2V0LTQge1xuICAgIG1hcmdpbi1sZWZ0OiBjYWxjKDQgKiAxMDAlIC8gMTIgKyAoMTBweCkpO1xuICB9XG59XG5cbkBtZWRpYSAobWluLXdpZHRoOiA3NjhweCkge1xuICAuY29sLXRhYmxldC1vZmZzZXQtNSB7XG4gICAgbWFyZ2luLWxlZnQ6IGNhbGMoNSAqIDEwMCUgLyAxMiArICgxMHB4KSk7XG4gIH1cbn1cblxuQG1lZGlhIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gIC5jb2wtdGFibGV0LW9mZnNldC02IHtcbiAgICBtYXJnaW4tbGVmdDogY2FsYyg2ICogMTAwJSAvIDEyICsgKDEwcHgpKTtcbiAgfVxufVxuXG5AbWVkaWEgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgLmNvbC10YWJsZXQtb2Zmc2V0LTcge1xuICAgIG1hcmdpbi1sZWZ0OiBjYWxjKDcgKiAxMDAlIC8gMTIgKyAoMTBweCkpO1xuICB9XG59XG5cbkBtZWRpYSAobWluLXdpZHRoOiA3NjhweCkge1xuICAuY29sLXRhYmxldC1vZmZzZXQtOCB7XG4gICAgbWFyZ2luLWxlZnQ6IGNhbGMoOCAqIDEwMCUgLyAxMiArICgxMHB4KSk7XG4gIH1cbn1cblxuQG1lZGlhIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gIC5jb2wtdGFibGV0LW9mZnNldC05IHtcbiAgICBtYXJnaW4tbGVmdDogY2FsYyg5ICogMTAwJSAvIDEyICsgKDEwcHgpKTtcbiAgfVxufVxuXG5AbWVkaWEgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgLmNvbC10YWJsZXQtb2Zmc2V0LTEwIHtcbiAgICBtYXJnaW4tbGVmdDogY2FsYygxMCAqIDEwMCUgLyAxMiArICgxMHB4KSk7XG4gIH1cbn1cblxuQG1lZGlhIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gIC5jb2wtdGFibGV0LW9mZnNldC0xMSB7XG4gICAgbWFyZ2luLWxlZnQ6IGNhbGMoMTEgKiAxMDAlIC8gMTIgKyAoMTBweCkpO1xuICB9XG59XG5cbkBtZWRpYSAobWluLXdpZHRoOiA3NjhweCkge1xuICAuY29sLXRhYmxldC1vZmZzZXQtMTIge1xuICAgIG1hcmdpbi1sZWZ0OiBjYWxjKDEyICogMTAwJSAvIDEyICsgKDEwcHgpKTtcbiAgfVxufVxuXG5AbWVkaWEgKG1pbi13aWR0aDogMTAyNHB4KSB7XG4gIC5jb2wtc21hbGwtZGVza3RvcC0wIHtcbiAgICBmbGV4LWJhc2lzOiBjYWxjKDAgKiAxMDAlIC8gMTIgLSAoMjBweCkpO1xuICAgIHdpZHRoOiBjYWxjKDAgKiAxMDAlIC8gMTIgLSAoMjBweCkpO1xuICAgIG1heC13aWR0aDogY2FsYygwICogMTAwJSAvIDEyIC0gKDIwcHgpKTtcbiAgICBtYXJnaW46IDAgMTBweDtcbiAgfVxufVxuXG5AbWVkaWEgKG1pbi13aWR0aDogMTAyNHB4KSB7XG4gIC5jb2wtc21hbGwtZGVza3RvcC0xIHtcbiAgICBmbGV4LWJhc2lzOiBjYWxjKDEgKiAxMDAlIC8gMTIgLSAoMjBweCkpO1xuICAgIHdpZHRoOiBjYWxjKDEgKiAxMDAlIC8gMTIgLSAoMjBweCkpO1xuICAgIG1heC13aWR0aDogY2FsYygxICogMTAwJSAvIDEyIC0gKDIwcHgpKTtcbiAgICBtYXJnaW46IDAgMTBweDtcbiAgfVxufVxuXG5AbWVkaWEgKG1pbi13aWR0aDogMTAyNHB4KSB7XG4gIC5jb2wtc21hbGwtZGVza3RvcC0yIHtcbiAgICBmbGV4LWJhc2lzOiBjYWxjKDIgKiAxMDAlIC8gMTIgLSAoMjBweCkpO1xuICAgIHdpZHRoOiBjYWxjKDIgKiAxMDAlIC8gMTIgLSAoMjBweCkpO1xuICAgIG1heC13aWR0aDogY2FsYygyICogMTAwJSAvIDEyIC0gKDIwcHgpKTtcbiAgICBtYXJnaW46IDAgMTBweDtcbiAgfVxufVxuXG5AbWVkaWEgKG1pbi13aWR0aDogMTAyNHB4KSB7XG4gIC5jb2wtc21hbGwtZGVza3RvcC0zIHtcbiAgICBmbGV4LWJhc2lzOiBjYWxjKDMgKiAxMDAlIC8gMTIgLSAoMjBweCkpO1xuICAgIHdpZHRoOiBjYWxjKDMgKiAxMDAlIC8gMTIgLSAoMjBweCkpO1xuICAgIG1heC13aWR0aDogY2FsYygzICogMTAwJSAvIDEyIC0gKDIwcHgpKTtcbiAgICBtYXJnaW46IDAgMTBweDtcbiAgfVxufVxuXG5AbWVkaWEgKG1pbi13aWR0aDogMTAyNHB4KSB7XG4gIC5jb2wtc21hbGwtZGVza3RvcC00IHtcbiAgICBmbGV4LWJhc2lzOiBjYWxjKDQgKiAxMDAlIC8gMTIgLSAoMjBweCkpO1xuICAgIHdpZHRoOiBjYWxjKDQgKiAxMDAlIC8gMTIgLSAoMjBweCkpO1xuICAgIG1heC13aWR0aDogY2FsYyg0ICogMTAwJSAvIDEyIC0gKDIwcHgpKTtcbiAgICBtYXJnaW46IDAgMTBweDtcbiAgfVxufVxuXG5AbWVkaWEgKG1pbi13aWR0aDogMTAyNHB4KSB7XG4gIC5jb2wtc21hbGwtZGVza3RvcC01IHtcbiAgICBmbGV4LWJhc2lzOiBjYWxjKDUgKiAxMDAlIC8gMTIgLSAoMjBweCkpO1xuICAgIHdpZHRoOiBjYWxjKDUgKiAxMDAlIC8gMTIgLSAoMjBweCkpO1xuICAgIG1heC13aWR0aDogY2FsYyg1ICogMTAwJSAvIDEyIC0gKDIwcHgpKTtcbiAgICBtYXJnaW46IDAgMTBweDtcbiAgfVxufVxuXG5AbWVkaWEgKG1pbi13aWR0aDogMTAyNHB4KSB7XG4gIC5jb2wtc21hbGwtZGVza3RvcC02IHtcbiAgICBmbGV4LWJhc2lzOiBjYWxjKDYgKiAxMDAlIC8gMTIgLSAoMjBweCkpO1xuICAgIHdpZHRoOiBjYWxjKDYgKiAxMDAlIC8gMTIgLSAoMjBweCkpO1xuICAgIG1heC13aWR0aDogY2FsYyg2ICogMTAwJSAvIDEyIC0gKDIwcHgpKTtcbiAgICBtYXJnaW46IDAgMTBweDtcbiAgfVxufVxuXG5AbWVkaWEgKG1pbi13aWR0aDogMTAyNHB4KSB7XG4gIC5jb2wtc21hbGwtZGVza3RvcC03IHtcbiAgICBmbGV4LWJhc2lzOiBjYWxjKDcgKiAxMDAlIC8gMTIgLSAoMjBweCkpO1xuICAgIHdpZHRoOiBjYWxjKDcgKiAxMDAlIC8gMTIgLSAoMjBweCkpO1xuICAgIG1heC13aWR0aDogY2FsYyg3ICogMTAwJSAvIDEyIC0gKDIwcHgpKTtcbiAgICBtYXJnaW46IDAgMTBweDtcbiAgfVxufVxuXG5AbWVkaWEgKG1pbi13aWR0aDogMTAyNHB4KSB7XG4gIC5jb2wtc21hbGwtZGVza3RvcC04IHtcbiAgICBmbGV4LWJhc2lzOiBjYWxjKDggKiAxMDAlIC8gMTIgLSAoMjBweCkpO1xuICAgIHdpZHRoOiBjYWxjKDggKiAxMDAlIC8gMTIgLSAoMjBweCkpO1xuICAgIG1heC13aWR0aDogY2FsYyg4ICogMTAwJSAvIDEyIC0gKDIwcHgpKTtcbiAgICBtYXJnaW46IDAgMTBweDtcbiAgfVxufVxuXG5AbWVkaWEgKG1pbi13aWR0aDogMTAyNHB4KSB7XG4gIC5jb2wtc21hbGwtZGVza3RvcC05IHtcbiAgICBmbGV4LWJhc2lzOiBjYWxjKDkgKiAxMDAlIC8gMTIgLSAoMjBweCkpO1xuICAgIHdpZHRoOiBjYWxjKDkgKiAxMDAlIC8gMTIgLSAoMjBweCkpO1xuICAgIG1heC13aWR0aDogY2FsYyg5ICogMTAwJSAvIDEyIC0gKDIwcHgpKTtcbiAgICBtYXJnaW46IDAgMTBweDtcbiAgfVxufVxuXG5AbWVkaWEgKG1pbi13aWR0aDogMTAyNHB4KSB7XG4gIC5jb2wtc21hbGwtZGVza3RvcC0xMCB7XG4gICAgZmxleC1iYXNpczogY2FsYygxMCAqIDEwMCUgLyAxMiAtICgyMHB4KSk7XG4gICAgd2lkdGg6IGNhbGMoMTAgKiAxMDAlIC8gMTIgLSAoMjBweCkpO1xuICAgIG1heC13aWR0aDogY2FsYygxMCAqIDEwMCUgLyAxMiAtICgyMHB4KSk7XG4gICAgbWFyZ2luOiAwIDEwcHg7XG4gIH1cbn1cblxuQG1lZGlhIChtaW4td2lkdGg6IDEwMjRweCkge1xuICAuY29sLXNtYWxsLWRlc2t0b3AtMTEge1xuICAgIGZsZXgtYmFzaXM6IGNhbGMoMTEgKiAxMDAlIC8gMTIgLSAoMjBweCkpO1xuICAgIHdpZHRoOiBjYWxjKDExICogMTAwJSAvIDEyIC0gKDIwcHgpKTtcbiAgICBtYXgtd2lkdGg6IGNhbGMoMTEgKiAxMDAlIC8gMTIgLSAoMjBweCkpO1xuICAgIG1hcmdpbjogMCAxMHB4O1xuICB9XG59XG5cbkBtZWRpYSAobWluLXdpZHRoOiAxMDI0cHgpIHtcbiAgLmNvbC1zbWFsbC1kZXNrdG9wLTEyIHtcbiAgICBmbGV4LWJhc2lzOiBjYWxjKDEyICogMTAwJSAvIDEyIC0gKDIwcHgpKTtcbiAgICB3aWR0aDogY2FsYygxMiAqIDEwMCUgLyAxMiAtICgyMHB4KSk7XG4gICAgbWF4LXdpZHRoOiBjYWxjKDEyICogMTAwJSAvIDEyIC0gKDIwcHgpKTtcbiAgICBtYXJnaW46IDAgMTBweDtcbiAgfVxufVxuXG5AbWVkaWEgKG1pbi13aWR0aDogMTAyNHB4KSB7XG4gIC5jb2wtc21hbGwtZGVza3RvcC1vZmZzZXQtMCB7XG4gICAgbWFyZ2luLWxlZnQ6IGNhbGMoMCAqIDEwMCUgLyAxMiArICgxMHB4KSk7XG4gIH1cbn1cblxuQG1lZGlhIChtaW4td2lkdGg6IDEwMjRweCkge1xuICAuY29sLXNtYWxsLWRlc2t0b3Atb2Zmc2V0LTEge1xuICAgIG1hcmdpbi1sZWZ0OiBjYWxjKDEgKiAxMDAlIC8gMTIgKyAoMTBweCkpO1xuICB9XG59XG5cbkBtZWRpYSAobWluLXdpZHRoOiAxMDI0cHgpIHtcbiAgLmNvbC1zbWFsbC1kZXNrdG9wLW9mZnNldC0yIHtcbiAgICBtYXJnaW4tbGVmdDogY2FsYygyICogMTAwJSAvIDEyICsgKDEwcHgpKTtcbiAgfVxufVxuXG5AbWVkaWEgKG1pbi13aWR0aDogMTAyNHB4KSB7XG4gIC5jb2wtc21hbGwtZGVza3RvcC1vZmZzZXQtMyB7XG4gICAgbWFyZ2luLWxlZnQ6IGNhbGMoMyAqIDEwMCUgLyAxMiArICgxMHB4KSk7XG4gIH1cbn1cblxuQG1lZGlhIChtaW4td2lkdGg6IDEwMjRweCkge1xuICAuY29sLXNtYWxsLWRlc2t0b3Atb2Zmc2V0LTQge1xuICAgIG1hcmdpbi1sZWZ0OiBjYWxjKDQgKiAxMDAlIC8gMTIgKyAoMTBweCkpO1xuICB9XG59XG5cbkBtZWRpYSAobWluLXdpZHRoOiAxMDI0cHgpIHtcbiAgLmNvbC1zbWFsbC1kZXNrdG9wLW9mZnNldC01IHtcbiAgICBtYXJnaW4tbGVmdDogY2FsYyg1ICogMTAwJSAvIDEyICsgKDEwcHgpKTtcbiAgfVxufVxuXG5AbWVkaWEgKG1pbi13aWR0aDogMTAyNHB4KSB7XG4gIC5jb2wtc21hbGwtZGVza3RvcC1vZmZzZXQtNiB7XG4gICAgbWFyZ2luLWxlZnQ6IGNhbGMoNiAqIDEwMCUgLyAxMiArICgxMHB4KSk7XG4gIH1cbn1cblxuQG1lZGlhIChtaW4td2lkdGg6IDEwMjRweCkge1xuICAuY29sLXNtYWxsLWRlc2t0b3Atb2Zmc2V0LTcge1xuICAgIG1hcmdpbi1sZWZ0OiBjYWxjKDcgKiAxMDAlIC8gMTIgKyAoMTBweCkpO1xuICB9XG59XG5cbkBtZWRpYSAobWluLXdpZHRoOiAxMDI0cHgpIHtcbiAgLmNvbC1zbWFsbC1kZXNrdG9wLW9mZnNldC04IHtcbiAgICBtYXJnaW4tbGVmdDogY2FsYyg4ICogMTAwJSAvIDEyICsgKDEwcHgpKTtcbiAgfVxufVxuXG5AbWVkaWEgKG1pbi13aWR0aDogMTAyNHB4KSB7XG4gIC5jb2wtc21hbGwtZGVza3RvcC1vZmZzZXQtOSB7XG4gICAgbWFyZ2luLWxlZnQ6IGNhbGMoOSAqIDEwMCUgLyAxMiArICgxMHB4KSk7XG4gIH1cbn1cblxuQG1lZGlhIChtaW4td2lkdGg6IDEwMjRweCkge1xuICAuY29sLXNtYWxsLWRlc2t0b3Atb2Zmc2V0LTEwIHtcbiAgICBtYXJnaW4tbGVmdDogY2FsYygxMCAqIDEwMCUgLyAxMiArICgxMHB4KSk7XG4gIH1cbn1cblxuQG1lZGlhIChtaW4td2lkdGg6IDEwMjRweCkge1xuICAuY29sLXNtYWxsLWRlc2t0b3Atb2Zmc2V0LTExIHtcbiAgICBtYXJnaW4tbGVmdDogY2FsYygxMSAqIDEwMCUgLyAxMiArICgxMHB4KSk7XG4gIH1cbn1cblxuQG1lZGlhIChtaW4td2lkdGg6IDEwMjRweCkge1xuICAuY29sLXNtYWxsLWRlc2t0b3Atb2Zmc2V0LTEyIHtcbiAgICBtYXJnaW4tbGVmdDogY2FsYygxMiAqIDEwMCUgLyAxMiArICgxMHB4KSk7XG4gIH1cbn1cblxuQG1lZGlhIChtaW4td2lkdGg6IDE0NDBweCkge1xuICAuY29sLWRlc2t0b3AtMCB7XG4gICAgZmxleC1iYXNpczogY2FsYygwICogMTAwJSAvIDEyIC0gKDIwcHgpKTtcbiAgICB3aWR0aDogY2FsYygwICogMTAwJSAvIDEyIC0gKDIwcHgpKTtcbiAgICBtYXgtd2lkdGg6IGNhbGMoMCAqIDEwMCUgLyAxMiAtICgyMHB4KSk7XG4gICAgbWFyZ2luOiAwIDEwcHg7XG4gIH1cbn1cblxuQG1lZGlhIChtaW4td2lkdGg6IDE0NDBweCkge1xuICAuY29sLWRlc2t0b3AtMSB7XG4gICAgZmxleC1iYXNpczogY2FsYygxICogMTAwJSAvIDEyIC0gKDIwcHgpKTtcbiAgICB3aWR0aDogY2FsYygxICogMTAwJSAvIDEyIC0gKDIwcHgpKTtcbiAgICBtYXgtd2lkdGg6IGNhbGMoMSAqIDEwMCUgLyAxMiAtICgyMHB4KSk7XG4gICAgbWFyZ2luOiAwIDEwcHg7XG4gIH1cbn1cblxuQG1lZGlhIChtaW4td2lkdGg6IDE0NDBweCkge1xuICAuY29sLWRlc2t0b3AtMiB7XG4gICAgZmxleC1iYXNpczogY2FsYygyICogMTAwJSAvIDEyIC0gKDIwcHgpKTtcbiAgICB3aWR0aDogY2FsYygyICogMTAwJSAvIDEyIC0gKDIwcHgpKTtcbiAgICBtYXgtd2lkdGg6IGNhbGMoMiAqIDEwMCUgLyAxMiAtICgyMHB4KSk7XG4gICAgbWFyZ2luOiAwIDEwcHg7XG4gIH1cbn1cblxuQG1lZGlhIChtaW4td2lkdGg6IDE0NDBweCkge1xuICAuY29sLWRlc2t0b3AtMyB7XG4gICAgZmxleC1iYXNpczogY2FsYygzICogMTAwJSAvIDEyIC0gKDIwcHgpKTtcbiAgICB3aWR0aDogY2FsYygzICogMTAwJSAvIDEyIC0gKDIwcHgpKTtcbiAgICBtYXgtd2lkdGg6IGNhbGMoMyAqIDEwMCUgLyAxMiAtICgyMHB4KSk7XG4gICAgbWFyZ2luOiAwIDEwcHg7XG4gIH1cbn1cblxuQG1lZGlhIChtaW4td2lkdGg6IDE0NDBweCkge1xuICAuY29sLWRlc2t0b3AtNCB7XG4gICAgZmxleC1iYXNpczogY2FsYyg0ICogMTAwJSAvIDEyIC0gKDIwcHgpKTtcbiAgICB3aWR0aDogY2FsYyg0ICogMTAwJSAvIDEyIC0gKDIwcHgpKTtcbiAgICBtYXgtd2lkdGg6IGNhbGMoNCAqIDEwMCUgLyAxMiAtICgyMHB4KSk7XG4gICAgbWFyZ2luOiAwIDEwcHg7XG4gIH1cbn1cblxuQG1lZGlhIChtaW4td2lkdGg6IDE0NDBweCkge1xuICAuY29sLWRlc2t0b3AtNSB7XG4gICAgZmxleC1iYXNpczogY2FsYyg1ICogMTAwJSAvIDEyIC0gKDIwcHgpKTtcbiAgICB3aWR0aDogY2FsYyg1ICogMTAwJSAvIDEyIC0gKDIwcHgpKTtcbiAgICBtYXgtd2lkdGg6IGNhbGMoNSAqIDEwMCUgLyAxMiAtICgyMHB4KSk7XG4gICAgbWFyZ2luOiAwIDEwcHg7XG4gIH1cbn1cblxuQG1lZGlhIChtaW4td2lkdGg6IDE0NDBweCkge1xuICAuY29sLWRlc2t0b3AtNiB7XG4gICAgZmxleC1iYXNpczogY2FsYyg2ICogMTAwJSAvIDEyIC0gKDIwcHgpKTtcbiAgICB3aWR0aDogY2FsYyg2ICogMTAwJSAvIDEyIC0gKDIwcHgpKTtcbiAgICBtYXgtd2lkdGg6IGNhbGMoNiAqIDEwMCUgLyAxMiAtICgyMHB4KSk7XG4gICAgbWFyZ2luOiAwIDEwcHg7XG4gIH1cbn1cblxuQG1lZGlhIChtaW4td2lkdGg6IDE0NDBweCkge1xuICAuY29sLWRlc2t0b3AtNyB7XG4gICAgZmxleC1iYXNpczogY2FsYyg3ICogMTAwJSAvIDEyIC0gKDIwcHgpKTtcbiAgICB3aWR0aDogY2FsYyg3ICogMTAwJSAvIDEyIC0gKDIwcHgpKTtcbiAgICBtYXgtd2lkdGg6IGNhbGMoNyAqIDEwMCUgLyAxMiAtICgyMHB4KSk7XG4gICAgbWFyZ2luOiAwIDEwcHg7XG4gIH1cbn1cblxuQG1lZGlhIChtaW4td2lkdGg6IDE0NDBweCkge1xuICAuY29sLWRlc2t0b3AtOCB7XG4gICAgZmxleC1iYXNpczogY2FsYyg4ICogMTAwJSAvIDEyIC0gKDIwcHgpKTtcbiAgICB3aWR0aDogY2FsYyg4ICogMTAwJSAvIDEyIC0gKDIwcHgpKTtcbiAgICBtYXgtd2lkdGg6IGNhbGMoOCAqIDEwMCUgLyAxMiAtICgyMHB4KSk7XG4gICAgbWFyZ2luOiAwIDEwcHg7XG4gIH1cbn1cblxuQG1lZGlhIChtaW4td2lkdGg6IDE0NDBweCkge1xuICAuY29sLWRlc2t0b3AtOSB7XG4gICAgZmxleC1iYXNpczogY2FsYyg5ICogMTAwJSAvIDEyIC0gKDIwcHgpKTtcbiAgICB3aWR0aDogY2FsYyg5ICogMTAwJSAvIDEyIC0gKDIwcHgpKTtcbiAgICBtYXgtd2lkdGg6IGNhbGMoOSAqIDEwMCUgLyAxMiAtICgyMHB4KSk7XG4gICAgbWFyZ2luOiAwIDEwcHg7XG4gIH1cbn1cblxuQG1lZGlhIChtaW4td2lkdGg6IDE0NDBweCkge1xuICAuY29sLWRlc2t0b3AtMTAge1xuICAgIGZsZXgtYmFzaXM6IGNhbGMoMTAgKiAxMDAlIC8gMTIgLSAoMjBweCkpO1xuICAgIHdpZHRoOiBjYWxjKDEwICogMTAwJSAvIDEyIC0gKDIwcHgpKTtcbiAgICBtYXgtd2lkdGg6IGNhbGMoMTAgKiAxMDAlIC8gMTIgLSAoMjBweCkpO1xuICAgIG1hcmdpbjogMCAxMHB4O1xuICB9XG59XG5cbkBtZWRpYSAobWluLXdpZHRoOiAxNDQwcHgpIHtcbiAgLmNvbC1kZXNrdG9wLTExIHtcbiAgICBmbGV4LWJhc2lzOiBjYWxjKDExICogMTAwJSAvIDEyIC0gKDIwcHgpKTtcbiAgICB3aWR0aDogY2FsYygxMSAqIDEwMCUgLyAxMiAtICgyMHB4KSk7XG4gICAgbWF4LXdpZHRoOiBjYWxjKDExICogMTAwJSAvIDEyIC0gKDIwcHgpKTtcbiAgICBtYXJnaW46IDAgMTBweDtcbiAgfVxufVxuXG5AbWVkaWEgKG1pbi13aWR0aDogMTQ0MHB4KSB7XG4gIC5jb2wtZGVza3RvcC0xMiB7XG4gICAgZmxleC1iYXNpczogY2FsYygxMiAqIDEwMCUgLyAxMiAtICgyMHB4KSk7XG4gICAgd2lkdGg6IGNhbGMoMTIgKiAxMDAlIC8gMTIgLSAoMjBweCkpO1xuICAgIG1heC13aWR0aDogY2FsYygxMiAqIDEwMCUgLyAxMiAtICgyMHB4KSk7XG4gICAgbWFyZ2luOiAwIDEwcHg7XG4gIH1cbn1cblxuLmNvbC1kZXNrdG9wLW9mZnNldC0wIHtcbiAgbWFyZ2luLWxlZnQ6IGNhbGMoMCAqIDEwMCUgLyAxMiArICgxMHB4KSk7XG59XG5cbi5jb2wtZGVza3RvcC1vZmZzZXQtMSB7XG4gIG1hcmdpbi1sZWZ0OiBjYWxjKDEgKiAxMDAlIC8gMTIgKyAoMTBweCkpO1xufVxuXG4uY29sLWRlc2t0b3Atb2Zmc2V0LTIge1xuICBtYXJnaW4tbGVmdDogY2FsYygyICogMTAwJSAvIDEyICsgKDEwcHgpKTtcbn1cblxuLmNvbC1kZXNrdG9wLW9mZnNldC0zIHtcbiAgbWFyZ2luLWxlZnQ6IGNhbGMoMyAqIDEwMCUgLyAxMiArICgxMHB4KSk7XG59XG5cbi5jb2wtZGVza3RvcC1vZmZzZXQtNCB7XG4gIG1hcmdpbi1sZWZ0OiBjYWxjKDQgKiAxMDAlIC8gMTIgKyAoMTBweCkpO1xufVxuXG4uY29sLWRlc2t0b3Atb2Zmc2V0LTUge1xuICBtYXJnaW4tbGVmdDogY2FsYyg1ICogMTAwJSAvIDEyICsgKDEwcHgpKTtcbn1cblxuLmNvbC1kZXNrdG9wLW9mZnNldC02IHtcbiAgbWFyZ2luLWxlZnQ6IGNhbGMoNiAqIDEwMCUgLyAxMiArICgxMHB4KSk7XG59XG5cbi5jb2wtZGVza3RvcC1vZmZzZXQtNyB7XG4gIG1hcmdpbi1sZWZ0OiBjYWxjKDcgKiAxMDAlIC8gMTIgKyAoMTBweCkpO1xufVxuXG4uY29sLWRlc2t0b3Atb2Zmc2V0LTgge1xuICBtYXJnaW4tbGVmdDogY2FsYyg4ICogMTAwJSAvIDEyICsgKDEwcHgpKTtcbn1cblxuLmNvbC1kZXNrdG9wLW9mZnNldC05IHtcbiAgbWFyZ2luLWxlZnQ6IGNhbGMoOSAqIDEwMCUgLyAxMiArICgxMHB4KSk7XG59XG5cbi5jb2wtZGVza3RvcC1vZmZzZXQtMTAge1xuICBtYXJnaW4tbGVmdDogY2FsYygxMCAqIDEwMCUgLyAxMiArICgxMHB4KSk7XG59XG5cbi5jb2wtZGVza3RvcC1vZmZzZXQtMTEge1xuICBtYXJnaW4tbGVmdDogY2FsYygxMSAqIDEwMCUgLyAxMiArICgxMHB4KSk7XG59XG5cbi5jb2wtZGVza3RvcC1vZmZzZXQtMTIge1xuICBtYXJnaW4tbGVmdDogY2FsYygxMiAqIDEwMCUgLyAxMiArICgxMHB4KSk7XG59XG5cbi8qXG4gIEZvciBtb3JlIGluZm9ybWF0aW9uIGFib3V0IGZsZXgsIGNoZWNrIG91dCBDaHJpcyBDb3lpZXIncyBhcnRpY2xlOiBodHRwczovL2Nzcy10cmlja3MuY29tL3NuaXBwZXRzL2Nzcy9hLWd1aWRlLXRvLWZsZXhib3gvXG4gIEJhc2VkIG9uIC0+IGh0dHBzOi8vZ2l0aHViLmNvbS9rcmlzdG9mZXJqb3NlcGgvZmxleGJveGdyaWQvYmxvYi9tYXN0ZXIvY3NzL2ZsZXhib3hncmlkLmNzc1xuKi9cbi8qIC0tLS0gRmxleCBhbGlnbm1lbnQgY2xhc3NlcyAtLS0tICovXG4jdGVzdC1ncmlkIHtcbiAgcG9zaXRpb246IGZpeGVkO1xuICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgaGVpZ2h0OiAxMDAlO1xuICB0b3A6IDA7XG4gIGxlZnQ6IDA7XG4gIHotaW5kZXg6IDEwO1xuICB3aWR0aDogMTAwJTtcbiAgdmlzaWJpbGl0eTogaGlkZGVuO1xufVxuI3Rlc3QtZ3JpZCAuZ3JpZC1jb250YWluZXIge1xuICBoZWlnaHQ6IDEwMCU7XG59XG4jdGVzdC1ncmlkLnNob3cge1xuICB2aXNpYmlsaXR5OiB2aXNpYmxlO1xufVxuI3Rlc3QtZ3JpZCAucm93IHtcbiAgaGVpZ2h0OiAxMDAlO1xufVxuI3Rlc3QtZ3JpZCAqW2NsYXNzKj1jb2xdIHtcbiAgb3BhY2l0eTogMC4xNTtcbiAgaGVpZ2h0OiAxMDAlO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gIGJvcmRlci1sZWZ0OiAxcHggc29saWQgYmxhY2s7XG4gIGJvcmRlci1yaWdodDogMXB4IHNvbGlkIGJsYWNrO1xufVxuXG4uZ3JpZC1jb250YWluZXIge1xuICB3aWR0aDogMTAwJTtcbiAgbWF4LXdpZHRoOiAxNDQwcHg7XG4gIHBhZGRpbmc6IDAgNTBweDtcbiAgbWFyZ2luOiAwIGF1dG87XG59XG5AbWVkaWEgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgLmdyaWQtY29udGFpbmVyIHtcbiAgICBwYWRkaW5nOiAwIDcwcHg7XG4gIH1cbn1cbkBtZWRpYSAobWluLXdpZHRoOiAxMDI0cHgpIHtcbiAgLmdyaWQtY29udGFpbmVyIHtcbiAgICBwYWRkaW5nOiAwIDcwcHg7XG4gIH1cbn1cbkBtZWRpYSAobWluLXdpZHRoOiAxNDQwcHgpIHtcbiAgLmdyaWQtY29udGFpbmVyIHtcbiAgICBwYWRkaW5nOiAwIDcwcHg7XG4gIH1cbn1cblxuLnJvdyB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gIGZsZXgtd3JhcDogd3JhcDtcbiAgbWFyZ2luOiAwIC0yMHB4O1xufVxuQG1lZGlhIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gIC5yb3cge1xuICAgIG1hcmdpbi1yaWdodDogLTIwcHg7XG4gIH1cbn1cbkBtZWRpYSAobWluLXdpZHRoOiAxMDI0cHgpIHtcbiAgLnJvdyB7XG4gICAgbWFyZ2luLXJpZ2h0OiAtMjBweDtcbiAgfVxufVxuQG1lZGlhIChtaW4td2lkdGg6IDE0NDBweCkge1xuICAucm93IHtcbiAgICBtYXJnaW4tcmlnaHQ6IC0yMHB4O1xuICB9XG59XG4ucm93LnJldmVyc2Uge1xuICBmbGV4LWRpcmVjdGlvbjogcm93LXJldmVyc2U7XG59XG4ucm93LmZ1bGwge1xuICBtYXJnaW46IDA7XG4gIHBhZGRpbmc6IDA7XG59XG4ucm93Lm5vd3JhcCB7XG4gIGZsZXgtd3JhcDogbm93cmFwO1xufVxuXG4uY29sIHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbn1cbi5jb2wucmV2ZXJzZSB7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW4tcmV2ZXJzZTtcbn1cblxuLyogVmVydGljYWwgQWxpZ24gKi9cbi52ZXJ0aWNhbC1hbGlnbi13cmFwcGVyIHtcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG59XG5cbi5mbGV4IHtcbiAgZGlzcGxheTogZmxleDtcbn1cblxuLndyYXAge1xuICBmbGV4LXdyYXA6IHdyYXA7XG59XG5cbi8qIEp1c3RpZnktY29udGVudCAqL1xuLnN0YXJ0IHtcbiAganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0O1xufVxuXG4uY2VudGVyIHtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbn1cblxuLmVuZCB7XG4gIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7XG59XG5cbi5hcm91bmQge1xuICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWFyb3VuZDtcbn1cblxuLmJldHdlZW4ge1xuICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG59XG5cbi8qIEFsaWduLWl0ZW1zICovXG4udG9wIHtcbiAgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7XG59XG5cbi5taWRkbGUge1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xufVxuXG4uYm90dG9tIHtcbiAgYWxpZ24taXRlbXM6IGZsZXgtZW5kO1xufVxuXG4uY29sdW1uIHtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbn1cblxuLyogT3JkZXIgKi9cbi5maXJzdCB7XG4gIG9yZGVyOiAtMTtcbn1cblxuLmxhc3Qge1xuICBvcmRlcjogMTtcbn1cblxuLyogZWFzZSAqL1xuQGtleWZyYW1lcyBibHVyVGV4dCB7XG4gIDAlIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIGZpbHRlcjogYmx1cigxNXB4KTtcbiAgfVxuICAzMCUge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgZmlsdGVyOiBibHVyKDBweCk7XG4gIH1cbiAgNzAlIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIGZpbHRlcjogYmx1cigwcHgpO1xuICB9XG4gIDEwMCUge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgZmlsdGVyOiBibHVyKDE1cHgpO1xuICB9XG59XG5Aa2V5ZnJhbWVzIHBvcG91dEEge1xuICAwJSB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoNTAlLCAxMDAlKSByb3RhdGUoNDVkZWcpO1xuICB9XG4gIDQwJSB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoMCUsIDElKSByb3RhdGUoLTFkZWcpO1xuICB9XG4gIDYwJSB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoMCUsIDAlKSByb3RhdGUoMmRlZyk7XG4gIH1cbiAgMTAwJSB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoMCUsIDAlKSByb3RhdGUoMCk7XG4gIH1cbn1cbkBrZXlmcmFtZXMgcG9wb3V0QyB7XG4gIDAlIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgwJSwgMTAwJSkgcm90YXRlKDJkZWcpO1xuICB9XG4gIDMzJSB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoMCUsIDAlKSByb3RhdGUoLTFkZWcpO1xuICB9XG4gIDY2JSB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoMCUsIDAlKSByb3RhdGUoMmRlZyk7XG4gIH1cbiAgMTAwJSB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoMCUsIDAlKSByb3RhdGUoMCk7XG4gIH1cbn1cbkBrZXlmcmFtZXMgZmxhc2gge1xuICAwJSB7XG4gICAgb3BhY2l0eTogMDtcbiAgfVxuICA1MCUge1xuICAgIG9wYWNpdHk6IDE7XG4gIH1cbiAgMTAwJSB7XG4gICAgb3BhY2l0eTogMDtcbiAgfVxufVxuQGtleWZyYW1lcyBibGluayB7XG4gIDAlIHtcbiAgICBvcGFjaXR5OiAwLjI7XG4gIH1cbiAgMjAlIHtcbiAgICBvcGFjaXR5OiAxO1xuICB9XG4gIDEwMCUge1xuICAgIG9wYWNpdHk6IDAuMjtcbiAgfVxufVxuaDEsXG5oMixcbmgzLFxuaDQsXG5oNSxcbmg2IHtcbiAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbn1cblxuLmhlYWRsaW5lLTIge1xuICBmb250LWZhbWlseTogXCJDcmltc29uIFRleHRcIiwgc2VyaWY7XG4gIGZvbnQtc2l6ZTogMy4yNXJlbTtcbiAgbGluZS1oZWlnaHQ6IDEuMjk7XG59XG5cbi5oZWFkbGluZS0zLCAuaGVhZGxpbmUtMy1pdGFsaWMge1xuICBmb250LWZhbWlseTogXCJDcmltc29uIFRleHRcIiwgc2VyaWY7XG4gIGZvbnQtc2l6ZTogMnJlbTtcbiAgbGluZS1oZWlnaHQ6IDEuMjk7XG4gIGZvbnQtd2VpZ2h0OiA0MDA7XG59XG5cbi5oZWFkbGluZS00IHtcbiAgZm9udC1mYW1pbHk6IFwiQXJjaGl2byBCbGFja1wiLCBzYW5zLXNlcmlmO1xuICBmb250LXNpemU6IDJyZW07XG4gIGxpbmUtaGVpZ2h0OiAxLjU7XG59XG5cbi5oZWFkbGluZS0zLWl0YWxpYyB7XG4gIGZvbnQtc3R5bGU6IGl0YWxpYztcbiAgZm9udC13ZWlnaHQ6IDQwMDtcbn1cblxuLmhlYWRsaW5lLXNjb3JlIHtcbiAgZm9udC1zaXplOiAxMHJlbTtcbiAgZm9udC13ZWlnaHQ6IDQwMDtcbn1cblxuLmxhYmVsIHtcbiAgZm9udC1zaXplOiAxLjJyZW07XG4gIGZvbnQtZmFtaWx5OiBcIkFyY2hpdm9cIiwgc2Fucy1zZXJpZjtcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgbGluZS1oZWlnaHQ6IDE7XG59XG5cbi5ib2R5LWNvcHksIC5seXJpY3MtdncsIC5ib2R5LWNvcHktc21hbGwsIC5ib2R5LWNvcHktdncge1xuICBmb250LWZhbWlseTogXCJDcmltc29uIFRleHRcIiwgc2VyaWY7XG4gIGZvbnQtc2l6ZTogMnJlbTtcbiAgbGluZS1oZWlnaHQ6IDEuMjk7XG59XG4uYm9keS1jb3B5IGEsIC5seXJpY3MtdncgYSwgLmJvZHktY29weS1zbWFsbCBhLCAuYm9keS1jb3B5LXZ3IGEge1xuICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcbn1cbi5ib2R5LWNvcHkgYTpmb2N1cywgLmx5cmljcy12dyBhOmZvY3VzLCAuYm9keS1jb3B5LXNtYWxsIGE6Zm9jdXMsIC5ib2R5LWNvcHktdncgYTpmb2N1cywgLmJvZHktY29weSBhOmhvdmVyLCAubHlyaWNzLXZ3IGE6aG92ZXIsIC5ib2R5LWNvcHktc21hbGwgYTpob3ZlciwgLmJvZHktY29weS12dyBhOmhvdmVyIHtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xufVxuXG4uYm9keS1jb3B5LXZ3IHtcbiAgZm9udC1zaXplOiA1dnc7XG59XG5AbWVkaWEgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgLmJvZHktY29weS12dyB7XG4gICAgZm9udC1zaXplOiA0dnc7XG4gIH1cbn1cbkBtZWRpYSAobWluLXdpZHRoOiAxMDI0cHgpIHtcbiAgLmJvZHktY29weS12dyB7XG4gICAgZm9udC1zaXplOiAzdnc7XG4gIH1cbn1cbkBtZWRpYSAobWluLXdpZHRoOiAxNDQwcHgpIHtcbiAgLmJvZHktY29weS12dyB7XG4gICAgZm9udC1zaXplOiA0cmVtO1xuICB9XG59XG5cbi5ib2R5LWNvcHktc21hbGwge1xuICBmb250LXNpemU6IDEuNzVyZW07XG59XG5cbi5seXJpY3Mtdncge1xuICBmb250LXNpemU6IDQuNXZ3O1xuICB3aGl0ZS1zcGFjZTogbm93cmFwO1xufVxuQG1lZGlhIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gIC5seXJpY3Mtdncge1xuICAgIGZvbnQtc2l6ZTogNHZ3O1xuICB9XG59XG5AbWVkaWEgKG1pbi13aWR0aDogMTQ0MHB4KSB7XG4gIC5seXJpY3Mtdncge1xuICAgIGZvbnQtc2l6ZTogNC41cmVtO1xuICB9XG59XG5cbi5jdGEtYm9keSwgLmN0YSB7XG4gIGZvbnQtZmFtaWx5OiBcIkFyY2hpdm8gQmxhY2tcIiwgc2Fucy1zZXJpZjtcbiAgZm9udC1zaXplOiAxLjVyZW07XG4gIGxpbmUtaGVpZ2h0OiAxO1xuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICBmb250LXdlaWdodDogbm9ybWFsO1xufVxuXG4ubGVnYWwtdGV4dCB7XG4gIGZvbnQtc2l6ZTogMXJlbTtcbiAgZm9udC1mYW1pbHk6IFwiQXJjaGl2b1wiO1xufVxuLmxlZ2FsLXRleHQ6Zm9jdXMsIC5sZWdhbC10ZXh0OmhvdmVyIHtcbiAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XG59XG5cbioge1xuICB2ZXJ0aWNhbC1hbGlnbjogYmFzZWxpbmU7XG4gIGJvcmRlcjogMCBub25lO1xuICBvdXRsaW5lOiAwO1xuICBwYWRkaW5nOiAwO1xuICBtYXJnaW46IDA7XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG59XG5cbi5wYWdlLXdyYXBwZXIge1xuICB6LWluZGV4OiAxO1xufVxuXG5odG1sLFxuYm9keSxcbmRpdixcbnNwYW4sXG5hcHBsZXQsXG5vYmplY3QsXG5pZnJhbWUsXG50YWJsZSxcbmNhcHRpb24sXG50Ym9keSxcbnRmb290LFxudGhlYWQsXG50cixcbnRoLFxudGQsXG5kZWwsXG5kZm4sXG5lbSxcbmZvbnQsXG5pbWcsXG5pbnMsXG5rYmQsXG5xLFxucyxcbnNhbXAsXG5zbWFsbCxcbnN0cmlrZSxcbnN0cm9uZyxcbnN1YixcbnN1cCxcbnR0LFxudmFyLFxuaDEsXG5oMixcbmgzLFxuaDQsXG5oNSxcbmg2LFxucCxcbmJsb2NrcXVvdGUsXG5wcmUsXG5hLFxuYWJicixcbmFjcm9ueW0sXG5hZGRyZXNzLFxuYmlnLFxuY2l0ZSxcbmNvZGUsXG5kbCxcbmR0LFxuZGQsXG5vbCxcbnVsLFxubGksXG5maWVsZHNldCxcbmZvcm0sXG5sYWJlbCxcbmxlZ2VuZCxcbmJ1dHRvbiB7XG4gIHZlcnRpY2FsLWFsaWduOiBiYXNlbGluZTtcbiAgYm9yZGVyOiAwIG5vbmU7XG4gIG91dGxpbmU6IDA7XG4gIHBhZGRpbmc6IDA7XG4gIG1hcmdpbjogMDtcbn1cblxuaW1nIHtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogYXV0bztcbn1cblxuYnV0dG9uIHtcbiAgYm9yZGVyOiBub25lO1xuICBib3JkZXItcmFkaXVzOiAwO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgY3Vyc29yOiBwb2ludGVyO1xufVxuXG5pbnB1dFt0eXBlPXRleHRdIHtcbiAgZm9udC1mYW1pbHk6IGluaGVyaXQ7XG59XG5cbltyb2xlPWJ1dHRvbl0sXG5pbnB1dFt0eXBlPXN1Ym1pdF0sXG5pbnB1dFt0eXBlPXJlc2V0XSxcbmlucHV0W3R5cGU9YnV0dG9uXSxcbmJ1dHRvbiB7XG4gIGJveC1zaXppbmc6IGNvbnRlbnQtYm94O1xufVxuXG5pbnB1dFt0eXBlPXN1Ym1pdF0sXG5pbnB1dFt0eXBlPXJlc2V0XSxcbmlucHV0W3R5cGU9YnV0dG9uXSxcbmJ1dHRvbiB7XG4gIGJhY2tncm91bmQ6IG5vbmU7XG4gIGJvcmRlcjogMDtcbiAgY29sb3I6IGluaGVyaXQ7XG4gIGZvbnQ6IGluaGVyaXQ7XG4gIGxpbmUtaGVpZ2h0OiBub3JtYWw7XG4gIG92ZXJmbG93OiB2aXNpYmxlO1xuICBwYWRkaW5nOiAwO1xuICAtd2Via2l0LWFwcGVhcmFuY2U6IGJ1dHRvbjtcbiAgLXdlYmtpdC11c2VyLXNlbGVjdDogbm9uZTtcbiAgLW1vei11c2VyLXNlbGVjdDogbm9uZTtcbiAgLW1zLXVzZXItc2VsZWN0OiBub25lO1xufVxuXG5pbnB1dDo6LW1vei1mb2N1cy1pbm5lcixcbmJ1dHRvbjo6LW1vei1mb2N1cy1pbm5lciB7XG4gIGJvcmRlcjogMDtcbiAgcGFkZGluZzogMDtcbn1cblxuYSB7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICBsaW5lLWhlaWdodDogbm9ybWFsO1xufVxuXG51bCxcbmxpIHtcbiAgbGlzdC1zdHlsZTogbm9uZTtcbn1cblxuaHRtbCB7XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gIG1hcmdpbjogMDtcbiAgcGFkZGluZzogMDtcbiAgZm9udC1zaXplOiA2Mi41JTtcbiAgaGVpZ2h0OiAxMDAlO1xuICAtd2Via2l0LXRleHQtc2l6ZS1hZGp1c3Q6IDEwMCU7XG4gIC13ZWJraXQtZm9udC1zbW9vdGhpbmc6IGFudGlhbGlhc2VkO1xufVxuXG5ib2R5IHtcbiAgYmFja2dyb3VuZC1jb2xvcjogYmxhY2s7XG4gIGNvbG9yOiB3aGl0ZTtcbiAgbWFyZ2luOiAwO1xuICBwYWRkaW5nOiAwO1xuICBoZWlnaHQ6IDEwMCU7XG4gIGZvbnQtc2l6ZTogMnJlbTtcbiAgbGluZS1oZWlnaHQ6IDEuMjk7XG4gIGZvbnQtZmFtaWx5OiBcIkNyaW1zb24gVGV4dFwiO1xuICBvdmVyZmxvdy14OiBoaWRkZW47XG4gIC13ZWJraXQtZm9udC1zbW9vdGhpbmc6IGFudGlhbGlhc2VkO1xuICAtbW96LW9zeC1mb250LXNtb290aGluZzogZ3JheXNjYWxlO1xufVxuYm9keS5uby1zY3JvbGwge1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICBwb3NpdGlvbjogZml4ZWQ7XG4gIHdpZHRoOiAxMDAlO1xufVxuYm9keS5uby1zY3JvbGwgI2hlYWRlciB7XG4gIHRvcDogMDtcbn1cblxuLm5vLXNjcm9sbCB7XG4gIG92ZXJmbG93OiBoaWRkZW47XG59XG5cbmEsXG5zdHJvbmcsXG5zcGFuLFxuZW0ge1xuICBmb250LXNpemU6IGluaGVyaXQ7XG4gIGxpbmUtaGVpZ2h0OiBpbmhlcml0O1xuICBsZXR0ZXItc3BhY2luZzogaW5oZXJpdDtcbiAgY29sb3I6IGluaGVyaXQ7XG4gIGZvbnQtZmFtaWx5OiBpbmhlcml0O1xufVxuXG4uaGlkZS1vdmVyZmxvdyB7XG4gIG92ZXJmbG93OiBoaWRkZW47XG59XG5cbi5wYWdlLXdyYXBwZXIge1xuICB3aWR0aDogMTAwJTtcbiAgbWFyZ2luOiAwIGF1dG87XG59XG4ucGFnZS13cmFwcGVyLnNob3cge1xuICBvcGFjaXR5OiAxO1xufVxuLnBhZ2Utd3JhcHBlci5zaG93LmhpZGUge1xuICBvcGFjaXR5OiAwO1xufVxuLnBhZ2Utd3JhcHBlci5oaWRlIHtcbiAgb3BhY2l0eTogMDtcbn1cblxuYnV0dG9uIHtcbiAgY3Vyc29yOiBwb2ludGVyO1xufVxuXG4uaGlkZGVuIHtcbiAgZGlzcGxheTogbm9uZTtcbn1cblxuLnRleHQtY2VudGVyIHtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xufVxuXG4udGV4dC1yaWdodCB7XG4gIHRleHQtYWxpZ246IHJpZ2h0O1xufVxuXG4udGV4dC1sZWZ0IHtcbiAgdGV4dC1hbGlnbjogbGVmdDtcbn1cblxuLnRleHQtdXBwZXJjYXNlIHtcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbn1cblxuLmNvbG9yLXdoaXRlIHtcbiAgY29sb3I6IHdoaXRlO1xufVxuXG4uYmctd2hpdGUge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB3aGl0ZTtcbn1cblxuLmNvbG9yLWJsYWNrIHtcbiAgY29sb3I6IGJsYWNrO1xufVxuXG4uYmctYmxhY2sge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiBibGFjaztcbn1cblxuLmNvbG9yLXB1cnBsZSB7XG4gIGNvbG9yOiAjY2U2YTk2O1xufVxuXG4uYmctcHVycGxlIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2NlNmE5Njtcbn1cblxuLmNvbG9yLWdyZXltZWQge1xuICBjb2xvcjogIzk3OTc5Nztcbn1cblxuLmJnLWdyZXltZWQge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjOTc5Nzk3O1xufVxuXG4uY29sb3ItZ3JleWRhcmsge1xuICBjb2xvcjogIzQ0NDtcbn1cblxuLmJnLWdyZXlkYXJrIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzQ0NDtcbn1cblxuLmNvbG9yLXJlZCB7XG4gIGNvbG9yOiAjZmU1ZjYxO1xufVxuXG4uYmctcmVkIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZlNWY2MTtcbn1cblxuLmNvbG9yLXBpbmsge1xuICBjb2xvcjogI2NlNmE5Njtcbn1cblxuLmJnLXBpbmsge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjY2U2YTk2O1xufVxuXG4uYmcteWVsbG93IHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2Y4ZTcxYztcbn1cblxuLmNvbG9yLXBlYWNoIHtcbiAgY29sb3I6ICNlNzkwNmQ7XG59XG5cbi5iZy1wZWFjaCB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNlNzkwNmQ7XG59XG5cbi5jb2xvci1nb2xkIHtcbiAgY29sb3I6ICNmMGFlNDc7XG59XG5cbi5iZy1nb2xkIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2YwYWU0Nztcbn1cblxuLmxvZ28tcXVlZW4ge1xuICBiYWNrZ3JvdW5kOiB1cmwoL2ltYWdlcy9sb2dvLXF1ZWVuLnBuZyk7XG4gIGJhY2tncm91bmQtc2l6ZTogY29udGFpbjtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyO1xuICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICBkaXNwbGF5OiBibG9jaztcbn1cblxuLmxvZ28tZnJlZGRpZSB7XG4gIGJhY2tncm91bmQ6IHVybCgvaW1hZ2VzL2xvZ28tZnJlZGRpZS5wbmcpO1xuICBiYWNrZ3JvdW5kLXNpemU6IGNvbnRhaW47XG4gIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlcjtcbiAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgZGlzcGxheTogYmxvY2s7XG59XG5cbi5jYXJyb3QtbGVmdCB7XG4gIHRyYW5zZm9ybTogcm90YXRlKDE4MGRlZyk7XG4gIHdpZHRoOiAxMHB4O1xuICBoZWlnaHQ6IDE1cHg7XG59XG4uY2Fycm90LWxlZnQgZyB7XG4gIGZpbGw6IGN1cnJlbnRDb2xvcjtcbn1cblxuLmNhcnJvdC1kb3duIHtcbiAgdHJhbnNmb3JtOiByb3RhdGUoOTBkZWcpO1xuICB3aWR0aDogMTBweDtcbiAgaGVpZ2h0OiAxNXB4O1xufVxuLmNhcnJvdC1kb3duIGcge1xuICBmaWxsOiBjdXJyZW50Q29sb3I7XG59XG5cbi5idG4tY2xvc2Uge1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBib3JkZXI6IDFweCBzb2xpZCByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuNSk7XG4gIGJvcmRlci1yYWRpdXM6IDEwMCU7XG4gIGNvbG9yOiB3aGl0ZTtcbiAgZGlzcGxheTogZmxleDtcbiAgaGVpZ2h0OiA0MXB4O1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICByaWdodDogMzBweDtcbiAgdG9wOiAyN3B4O1xuICB0cmFuc2l0aW9uOiBib3JkZXItY29sb3IgMC41cyBjdWJpYy1iZXppZXIoMC4xOSwgMSwgMC4yMiwgMSk7XG4gIHdpZHRoOiA0MXB4O1xuICB6LWluZGV4OiAxNTtcbn1cbi5idG4tY2xvc2Ugc3ZnIHtcbiAgaGVpZ2h0OiAxNS41cHg7XG4gIHdpZHRoOiAxNnB4O1xufVxuLmJ0bi1jbG9zZTpob3ZlciwgLmJ0bi1jbG9zZTpmb2N1cyB7XG4gIGJvcmRlcjogMXB4IHNvbGlkIHdoaXRlO1xufVxuXG4uaGVhZGVyLWNvbnRhaW5lciB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGp1c3RpZnktY29udGVudDogbGVmdDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgcGFkZGluZzogMjFweCAxMXB4O1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogMDtcbiAgbGVmdDogMDtcbiAgd2lkdGg6IDEwMCU7XG4gIHotaW5kZXg6IDEwO1xufVxuLmhlYWRlci1jb250YWluZXIgLmJ0bi1iYWNrIHtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgYm9yZGVyOiAxcHggc29saWQgcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjUpO1xuICBib3JkZXItcmFkaXVzOiAxMDAlO1xuICBjb2xvcjogd2hpdGU7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIHdpZHRoOiA0MXB4O1xuICBoZWlnaHQ6IDQxcHg7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICB6LWluZGV4OiAzO1xufVxuLmhlYWRlci1jb250YWluZXIgLmJ0bi1iYWNrIHN2ZyB7XG4gIGhlaWdodDogMTUuNXB4O1xuICB0cmFuc2Zvcm06IHJvdGF0ZSgxODBkZWcpO1xuICB3aWR0aDogOS41cHg7XG59XG4uaGVhZGVyLWNvbnRhaW5lciAuYnRuLWJhY2s6aG92ZXIsIC5oZWFkZXItY29udGFpbmVyIC5idG4tYmFjazpmb2N1cyB7XG4gIGJvcmRlcjogMXB4IHNvbGlkIHJnYigyNTUsIDI1NSwgMjU1KTtcbn1cblxuLmN0YSB7XG4gIGJvcmRlcjogMXB4IHNvbGlkIHdoaXRlO1xuICBib3JkZXItcmFkaXVzOiA0MHB4O1xuICBwYWRkaW5nOiAxNXB4IDM1cHggMTNweDtcbiAgbGV0dGVyLXNwYWNpbmc6IC0wLjJweDtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBjb2xvcjogd2hpdGU7XG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gIHRyYW5zaXRpb246IGFsbCAwLjVzIGN1YmljLWJlemllcigwLjIxNSwgMC42MSwgMC4zNTUsIDEpO1xufVxuLmN0YTpmb2N1cywgLmN0YTpob3ZlciB7XG4gIGNvbG9yOiBibGFjaztcbiAgYmFja2dyb3VuZC1jb2xvcjogd2hpdGU7XG4gIGJvcmRlci1jb2xvcjogd2hpdGU7XG59XG4uY3RhLmNvbG9yLWJsYWNrIHtcbiAgY29sb3I6IGJsYWNrO1xuICBib3JkZXItY29sb3I6IGJsYWNrO1xufVxuLmN0YS5jb2xvci1ibGFjazpmb2N1cywgLmN0YS5jb2xvci1ibGFjazpob3ZlciB7XG4gIGNvbG9yOiAjZjhlNzFjO1xuICBib3JkZXItY29sb3I6ICNmOGU3MWM7XG59XG5cbi5jdGEtc21hbGwge1xuICBmb250LXNpemU6IDEuOHJlbTtcbiAgZm9udC1mYW1pbHk6IFwiQXJjaGl2b1wiLCBzYW5zLXNlcmlmO1xuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICBsaW5lLWhlaWdodDogMTtcbn1cbi5jdGEtc21hbGw6Zm9jdXMsIC5jdGEtc21hbGw6aG92ZXIge1xuICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcbn1cbkBtZWRpYSAobWluLXdpZHRoOiAxMDI0cHgpIHtcbiAgLmN0YS1zbWFsbCB7XG4gICAgZm9udC1zaXplOiAxLjVyZW07XG4gIH1cbn1cblxuLmN0YS11bmRlcmxpbmUsIC5jdGEtdW5kZXJsaW5lLXZ3IHtcbiAgY29sb3I6IHdoaXRlO1xuICBmb250LWZhbWlseTogXCJBcmNoaXZvIEJsYWNrXCIsIHNhbnMtc2VyaWY7XG4gIGZvbnQtc2l6ZTogMS42cmVtO1xuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG59XG4uY3RhLXVuZGVybGluZTpmb2N1cywgLmN0YS11bmRlcmxpbmUtdnc6Zm9jdXMsIC5jdGEtdW5kZXJsaW5lOmhvdmVyLCAuY3RhLXVuZGVybGluZS12dzpob3ZlciB7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbn1cbi5jdGEtdW5kZXJsaW5lIC5jYXJyb3QsIC5jdGEtdW5kZXJsaW5lLXZ3IC5jYXJyb3Qge1xuICB3aWR0aDogNnB4O1xuICBoZWlnaHQ6IDIycHg7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgbWFyZ2luLWxlZnQ6IDVweDtcbn1cbi5jdGEtdW5kZXJsaW5lIC5jYXJyb3Qgc3ZnIGcsIC5jdGEtdW5kZXJsaW5lLXZ3IC5jYXJyb3Qgc3ZnIGcge1xuICBmaWxsOiBjdXJyZW50Q29sb3I7XG59XG4uY3RhLXVuZGVybGluZSAuY2hlY2ttYXJrLCAuY3RhLXVuZGVybGluZS12dyAuY2hlY2ttYXJrIHtcbiAgd2lkdGg6IDAuOGVtO1xuICBoZWlnaHQ6IDEwcHg7XG4gIGxlZnQ6IC0xLjJlbTtcbiAgdG9wOiAwLjA1ZW07XG59XG5cbi5jdGEtdW5kZXJsaW5lLXZ3IHtcbiAgZm9udC1zaXplOiAzdnc7XG59XG5AbWVkaWEgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgLmN0YS11bmRlcmxpbmUtdncge1xuICAgIGZvbnQtc2l6ZTogMS43cmVtO1xuICB9XG59XG5cbi5jdGEtdmlldy1zY29yZTphZnRlciB7XG4gIGRpc3BsYXk6IG5vbmU7XG59XG4uY3RhLXZpZXctc2NvcmU6Zm9jdXM6YWZ0ZXIsIC5jdGEtdmlldy1zY29yZTpob3ZlcjphZnRlciB7XG4gIGRpc3BsYXk6IGJsb2NrO1xufVxuXG4udmlkZW8tY29udGFpbmVyLmZ1bGxzY3JlZW4ge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogMDtcbiAgYm90dG9tOiAwO1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAxMDUlO1xuICBsZWZ0OiAwO1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICBtaW4taGVpZ2h0OiAxMDB2aDtcbn1cbi52aWRlby1jb250YWluZXIuZnVsbHNjcmVlbiB2aWRlbyB7XG4gIC8qIE1ha2UgdmlkZW8gdG8gYXQgbGVhc3QgMTAwJSB3aWRlIGFuZCB0YWxsICovXG4gIG1pbi13aWR0aDogMTAwJTtcbiAgbWluLWhlaWdodDogMTAwJTtcbiAgd2lkdGg6IGF1dG87XG4gIGhlaWdodDogYXV0bztcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDUwJTtcbiAgbGVmdDogNTAlO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAtNTAlKTtcbn1cblxuLmJvZHktY29weSArIC5ib2R5LWNvcHksIC5ib2R5LWNvcHktdncgKyAuYm9keS1jb3B5LCAuYm9keS1jb3B5LXNtYWxsICsgLmJvZHktY29weSwgLmx5cmljcy12dyArIC5ib2R5LWNvcHksIC5ib2R5LWNvcHkgKyAuYm9keS1jb3B5LXZ3LCAuYm9keS1jb3B5LXNtYWxsICsgLmJvZHktY29weS12dywgLmx5cmljcy12dyArIC5ib2R5LWNvcHktdncsIC5ib2R5LWNvcHkgKyAuYm9keS1jb3B5LXNtYWxsLCAuYm9keS1jb3B5LXZ3ICsgLmJvZHktY29weS1zbWFsbCwgLmJvZHktY29weS1zbWFsbCArIC5ib2R5LWNvcHktc21hbGwsIC5seXJpY3MtdncgKyAuYm9keS1jb3B5LXNtYWxsLCAuYm9keS1jb3B5ICsgLmx5cmljcy12dywgLmJvZHktY29weS12dyArIC5seXJpY3MtdncsIC5ib2R5LWNvcHktc21hbGwgKyAubHlyaWNzLXZ3LCAubHlyaWNzLXZ3ICsgLmx5cmljcy12dyxcbi5ib2R5LWNvcHktdncgKyAuYm9keS1jb3B5LXZ3IHtcbiAgbWFyZ2luLXRvcDogNDBweDtcbn1cblxuLmx5cmljcy12dyArIC5seXJpY3Mtdncge1xuICBtYXJnaW4tdG9wOiAxMHB4O1xufVxuXG4vKiBlYXNlICovXG5mb290ZXIge1xuICBwYWRkaW5nOiA0NXB4IDAgMDtcbn1cbmZvb3RlciAubG9nby1pdGVtIHtcbiAgcGFkZGluZzogMCAyMHB4O1xuICB3aWR0aDogMzMuMzMlO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG59XG5mb290ZXIgLmxvZ28taXRlbTpudGgtY2hpbGQoMikge1xuICB3aWR0aDogNTAlO1xufVxuZm9vdGVyIC5sb2dvLWl0ZW06bnRoLWNoaWxkKDIpOmJlZm9yZSwgZm9vdGVyIC5sb2dvLWl0ZW06bnRoLWNoaWxkKDIpOmFmdGVyIHtcbiAgY29udGVudDogXCJcIjtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgd2lkdGg6IDFweDtcbiAgaGVpZ2h0OiAxMDAlO1xuICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQodG8gYm90dG9tLCB0cmFuc3BhcmVudCAwJSwgI2ZmZmZmZiA1MCUsIHRyYW5zcGFyZW50IDEwMCUpO1xuICBvcGFjaXR5OiAwLjU7XG59XG5mb290ZXIgLmxvZ28taXRlbTpudGgtY2hpbGQoMik6YmVmb3JlIHtcbiAgbGVmdDogMDtcbn1cbmZvb3RlciAubG9nby1pdGVtOm50aC1jaGlsZCgyKTphZnRlciB7XG4gIHJpZ2h0OiAwO1xufVxuZm9vdGVyIC5sb2dvLWl0ZW06Zmlyc3QtY2hpbGQge1xuICB3aWR0aDogNDIlO1xuICBwYWRkaW5nLWxlZnQ6IDA7XG59XG5mb290ZXIgLmxvZ28taXRlbTpsYXN0LWNoaWxkIHtcbiAgcGFkZGluZy1yaWdodDogMDtcbiAgYm9yZGVyLXJpZ2h0OiAwO1xufVxuZm9vdGVyIC5sZWdhbC10ZXh0IHtcbiAgcGFkZGluZzogNTBweCAwIDI1cHg7XG59XG5mb290ZXIgLmxvZ28teW91dHViZSB7XG4gIG1heC13aWR0aDogMTgwcHg7XG59XG5mb290ZXIgLmxvZ28tYWkge1xuICBtYXgtd2lkdGg6IDEyMHB4O1xufVxuQG1lZGlhIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gIGZvb3RlciAubGVnYWwtdGV4dC1yb3cge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB0b3A6IC01MHB4O1xuICAgIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7XG4gIH1cbiAgZm9vdGVyIC5sZWdhbC10ZXh0IHtcbiAgICBwYWRkaW5nOiAwO1xuICB9XG59XG5cbi5tb2RhbCB7XG4gIHBvc2l0aW9uOiBmaXhlZDtcbiAgei1pbmRleDogMTU7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IDEwMCU7XG4gIGxlZnQ6IDA7XG4gIHRvcDogMDtcbn1cbi5tb2RhbCAub3ZlcmxheSB7XG4gIGJhY2tncm91bmQ6IGJsYWNrO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGxlZnQ6IDA7XG4gIHRvcDogMDtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogMTAwJTtcbiAgei1pbmRleDogMjtcbn1cbi5tb2RhbCAubW9kYWwtY29udGVudCB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgei1pbmRleDogMjtcbiAgaGVpZ2h0OiAxMDAlO1xuICBvdmVyZmxvdy15OiBhdXRvO1xufVxuLm1vZGFsIC5pbm5lci13cmFwcGVyIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDUwJTtcbiAgbGVmdDogNTAlO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAtNTAlKTtcbiAgbWF4LXdpZHRoOiA0MzNweDtcbiAgd2lkdGg6IDgwJTtcbiAgYm9yZGVyLXJhZGl1czogMjBweDtcbiAgei1pbmRleDogMztcbn1cblxuLnZpZGVvLW1vZGFsIC52aWRlby1jb250YWluZXIge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHdpZHRoOiAxMDAlO1xuICBwYWRkaW5nLWJvdHRvbTogNTYlO1xuICB0b3A6IDUwJTtcbiAgbGVmdDogMDtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpO1xufVxuLnZpZGVvLW1vZGFsIC52aWRlby1jb250YWluZXIgLnZpZGVvLXBsYXllciB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogMTAwJTtcbn1cblxuLmhlYWRwaG9uZXMtbW9kYWwgLm92ZXJsYXksXG4uZWFybHlleGl0LW1vZGFsIC5vdmVybGF5LFxuLnVuc3VwcG9ydGVkLW1vZGFsIC5vdmVybGF5IHtcbiAgb3BhY2l0eTogMC41O1xufVxuLmhlYWRwaG9uZXMtbW9kYWwgLmlubmVyLXdyYXBwZXIsXG4uZWFybHlleGl0LW1vZGFsIC5pbm5lci13cmFwcGVyLFxuLnVuc3VwcG9ydGVkLW1vZGFsIC5pbm5lci13cmFwcGVyIHtcbiAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG59XG4uaGVhZHBob25lcy1tb2RhbCAuaW1hZ2UsXG4uZWFybHlleGl0LW1vZGFsIC5pbWFnZSxcbi51bnN1cHBvcnRlZC1tb2RhbCAuaW1hZ2Uge1xuICBiYWNrZ3JvdW5kLXNpemU6IGNvdmVyO1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXI7XG4gIHBhZGRpbmctYm90dG9tOiA1NiU7XG4gIGJvcmRlci1yYWRpdXM6IDIwcHggMjBweCAwIDA7XG59XG4uaGVhZHBob25lcy1tb2RhbCAubWVzc2FnZSxcbi5lYXJseWV4aXQtbW9kYWwgLm1lc3NhZ2UsXG4udW5zdXBwb3J0ZWQtbW9kYWwgLm1lc3NhZ2Uge1xuICBwYWRkaW5nOiAxMDBweCAyNXB4IDUwcHg7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlciAyNXB4O1xuICBiYWNrZ3JvdW5kLXNpemU6IDUwcHg7XG4gIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG59XG4uaGVhZHBob25lcy1tb2RhbCAuZGVzY3JpcHRpb24tY29weSxcbi5lYXJseWV4aXQtbW9kYWwgLmRlc2NyaXB0aW9uLWNvcHksXG4udW5zdXBwb3J0ZWQtbW9kYWwgLmRlc2NyaXB0aW9uLWNvcHkge1xuICBtYXgtd2lkdGg6IDMwMHB4O1xuICBtYXJnaW46IGF1dG87XG4gIG1hcmdpbi10b3A6IDEwcHg7XG59XG4uaGVhZHBob25lcy1tb2RhbCBidXR0b24sXG4uZWFybHlleGl0LW1vZGFsIGJ1dHRvbixcbi51bnN1cHBvcnRlZC1tb2RhbCBidXR0b24ge1xuICBtYXJnaW4tdG9wOiAyMHB4O1xufVxuXG4uaW50cm8tbW9kYWwgLm92ZXJsYXkge1xuICBvcGFjaXR5OiAwLjU7XG59XG4uaW50cm8tbW9kYWwgLmlubmVyLXdyYXBwZXIge1xuICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbn1cbi5pbnRyby1tb2RhbCBidXR0b24ge1xuICBtYXJnaW4tdG9wOiA0MHB4O1xufVxuXG4uZG93bmxvYWQtbW9kYWwge1xuICBvcGFjaXR5OiAwO1xuICBwb2ludGVyLWV2ZW50czogbm9uZTtcbn1cbi5kb3dubG9hZC1tb2RhbC5zaG93IHtcbiAgb3BhY2l0eTogMTtcbiAgcG9pbnRlci1ldmVudHM6IGFsbDtcbn1cbi5kb3dubG9hZC1tb2RhbCAub3ZlcmxheSB7XG4gIG9wYWNpdHk6IDAuNTtcbn1cbi5kb3dubG9hZC1tb2RhbCAuaW5uZXItd3JhcHBlciB7XG4gIHdpZHRoOiAzNTVweDtcbiAgdG9wOiA1MCU7XG4gIGxlZnQ6IDUwJTtcbiAgYm9yZGVyLXJhZGl1czogMjBweDtcbiAgcGFkZGluZzogMzBweCA0MHB4IDUwcHg7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIC01MCUpO1xuICB0cmFuc2l0aW9uOiBhbGwgMC4zcyBjdWJpYy1iZXppZXIoMC4xOSwgMSwgMC4yMiwgMSk7XG59XG4uZG93bmxvYWQtbW9kYWwgLmlubmVyLXdyYXBwZXIgcCB7XG4gIGZvbnQtc2l6ZTogMS41cmVtO1xufVxuLmRvd25sb2FkLW1vZGFsIC5pbm5lci13cmFwcGVyIC5jdGEtZG93bmxvYWQge1xuICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50O1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIG1hcmdpbi10b3A6IDI3cHg7XG4gIHdpZHRoOiAxMDAlO1xufVxuLmRvd25sb2FkLW1vZGFsIC5pbm5lci13cmFwcGVyIC5jdGEtZG93bmxvYWQgc3BhbiB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBmb250LWZhbWlseTogXCJBcmNoaXZvXCI7XG4gIGZvbnQtc2l6ZTogMXJlbTtcbiAgbWFyZ2luLXRvcDogNXB4O1xufVxuLmRvd25sb2FkLW1vZGFsIC5kb3dubG9hZC1pdGVtIHtcbiAgZmxleC1iYXNpczogMjUlO1xufVxuLmRvd25sb2FkLW1vZGFsIC5kb3dubG9hZC1pdGVtIC5pbWFnZSB7XG4gIHdpZHRoOiAxMDAlO1xuICBiYWNrZ3JvdW5kOiBncmV5O1xuICBtYXJnaW4tYm90dG9tOiAzNXB4O1xuICBwYWRkaW5nLWJvdHRvbTogMTI0JTtcbn1cbi5kb3dubG9hZC1tb2RhbCAuZG93bmxvYWQtaXRlbSBwIHtcbiAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbn1cblxuLmNvdW50ZG93bi1tb2RhbCAub3ZlcmxheSB7XG4gIG9wYWNpdHk6IDAuNTtcbn1cbi5jb3VudGRvd24tbW9kYWwgLmlubmVyLXdyYXBwZXIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbn1cbi5jb3VudGRvd24tbW9kYWwgLm51bWJlciB7XG4gIGZvbnQtc2l6ZTogMjV2dztcbiAgdHJhbnNmb3JtOiBzY2FsZSgxKTtcbiAgdHJhbnNmb3JtLW9yaWdpbjogNTAlIDUwJTtcbn1cbi5jb3VudGRvd24tbW9kYWwgLm51bWJlciBzcGFuIHtcbiAgb3BhY2l0eTogMDtcbn1cbi5jb3VudGRvd24tbW9kYWwgLm51bWJlci5hbmltYXRlIHtcbiAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIDFzIGN1YmljLWJlemllcigwLjE5LCAxLCAwLjIyLCAxKTtcbiAgdHJhbnNmb3JtOiBzY2FsZSgwLjIpO1xufVxuLmNvdW50ZG93bi1tb2RhbCAubnVtYmVyLmFuaW1hdGUgc3BhbiB7XG4gIG9wYWNpdHk6IDE7XG4gIGFuaW1hdGlvbi1kdXJhdGlvbjogMXM7XG4gIGFuaW1hdGlvbi1uYW1lOiBibHVyVGV4dDtcbn1cblxuLnVuc3VwcG9ydGVkLW1vZGFsIC5vdmVybGF5IHtcbiAgb3BhY2l0eTogMTtcbn1cbi51bnN1cHBvcnRlZC1tb2RhbCAuZGVidWcge1xuICBtYXJnaW4tYm90dG9tOiA0cmVtO1xufVxuLnVuc3VwcG9ydGVkLW1vZGFsIGlucHV0W3R5cGU9dGV4dF0ge1xuICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgY29sb3I6IHdoaXRlO1xuICBkaXNwbGF5OiBibG9jaztcbiAgZm9udC1zaXplOiAxLjc1cmVtO1xuICBtYXJnaW46IDQwcHggYXV0byAxOHB4O1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIHdpZHRoOiAxMDAlO1xufVxuLnVuc3VwcG9ydGVkLW1vZGFsIC5jdGEge1xuICBiYWNrZ3JvdW5kOiB3aGl0ZTtcbiAgY29sb3I6IGJsYWNrO1xuICBwYWRkaW5nLWxlZnQ6IDEycHg7XG4gIHBhZGRpbmctcmlnaHQ6IDEycHg7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbn1cbi51bnN1cHBvcnRlZC1tb2RhbCAuY3RhOmhvdmVyIHtcbiAgYm9yZGVyOiAxcHggc29saWQ7XG4gIGZpbHRlcjogaW52ZXJ0KDEpO1xufVxuLnVuc3VwcG9ydGVkLW1vZGFsIC5zdmcge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIGhlaWdodDogMTFweDtcbiAgd2lkdGg6IDIycHg7XG59XG5cbi5wZXJtaXNzaW9ucy1tb2RhbCAuaW5uZXItd3JhcHBlciB7XG4gIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xufVxuLnBlcm1pc3Npb25zLW1vZGFsIC5wZXJtaXNzaW9ucy1jb250ZW50IHtcbiAgbGVmdDogNTAlO1xuICBvcGFjaXR5OiAwO1xuICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDUwJTtcbiAgdHJhbnNpdGlvbjogYWxsIDAuNXMgY3ViaWMtYmV6aWVyKDAuMTksIDEsIDAuMjIsIDEpO1xuICB0cmFuc2Zvcm06IHNjYWxlKDApO1xuICB3aWR0aDogMTAwJTtcbn1cbi5wZXJtaXNzaW9ucy1tb2RhbCAucGVybWlzc2lvbnMtY29udGVudC5zaG93IHtcbiAgb3BhY2l0eTogMTtcbiAgcG9pbnRlci1ldmVudHM6IGFsbDtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgLTUwJSkgc2NhbGUoMSk7XG59XG4ucGVybWlzc2lvbnMtbW9kYWwgaDIsXG4ucGVybWlzc2lvbnMtbW9kYWwgcCxcbi5wZXJtaXNzaW9ucy1tb2RhbCBidXR0b24ge1xuICB0cmFuc2l0aW9uOiBhbGwgMC41cyBjdWJpYy1iZXppZXIoMC4xOSwgMSwgMC4yMiwgMSk7XG59XG4ucGVybWlzc2lvbnMtbW9kYWwgLmNhbWVyYS1leGFtcGxlLWltZyB7XG4gIG1hcmdpbi1ib3R0b206IDE0cHg7XG4gIG1heC13aWR0aDogMTcycHg7XG59XG4ucGVybWlzc2lvbnMtbW9kYWwgLmRlc2NyaXB0aW9uLWNvcHkge1xuICBtYXJnaW4tYm90dG9tOiA0MHB4O1xuICB0cmFuc2l0aW9uLWRlbGF5OiAwLjFzO1xufVxuLnBlcm1pc3Npb25zLW1vZGFsIC5oZWFkbGluZS1jb3B5IHtcbiAgbWFyZ2luLWJvdHRvbTogNDBweDtcbn1cbi5wZXJtaXNzaW9ucy1tb2RhbCAuY3RhLWNvbnRpbnVlIHtcbiAgdHJhbnNpdGlvbi1kZWxheTogMC4xcztcbiAgbWFyZ2luLWJvdHRvbTogMjBweDtcbn1cbi5wZXJtaXNzaW9ucy1tb2RhbCAuY3RhLW5vdGhhbmtzIHtcbiAgdHJhbnNpdGlvbi1kZWxheTogMC4ycztcbn1cbi5wZXJtaXNzaW9ucy1tb2RhbC5oaWRlIC5oZWFkbGluZS1jb3B5LFxuLnBlcm1pc3Npb25zLW1vZGFsLmhpZGUgLmNhbWVyYS1leGFtcGxlLWltZyxcbi5wZXJtaXNzaW9ucy1tb2RhbC5oaWRlIC5kZXNjcmlwdGlvbi1jb3B5IHtcbiAgb3BhY2l0eTogMDtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDIwcHgpO1xufVxuLnBlcm1pc3Npb25zLW1vZGFsLmhpZGUgLmJ0bi1jbG9zZSB7XG4gIG9wYWNpdHk6IDA7XG59XG4ucGVybWlzc2lvbnMtbW9kYWwuaGlkZSAuY3RhLWNvbnRpbnVlLFxuLnBlcm1pc3Npb25zLW1vZGFsLmhpZGUgLmN0YS1ub3RoYW5rcyB7XG4gIG9wYWNpdHk6IDA7XG4gIHRyYW5zZm9ybTogc2NhbGUoMCk7XG59XG5cbi5oZWFkcGhvbmVzLW1vZGFsIC5pbm5lci13cmFwcGVyIHtcbiAgaGVpZ2h0OiA3MCU7XG4gIHRyYW5zZm9ybTogc2NhbGUoMSkgdHJhbnNsYXRlKC01MCUsIC01MCUpO1xuICB0cmFuc2Zvcm0tb3JpZ2luOiAwJSAwJTtcbiAgdHJhbnNpdGlvbjogYWxsIDAuNXMgY3ViaWMtYmV6aWVyKDAuMTksIDEsIDAuMjIsIDEpO1xufVxuLmhlYWRwaG9uZXMtbW9kYWwgLm1lc3NhZ2Uge1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICBoZWlnaHQ6IDEwMCU7XG59XG4uaGVhZHBob25lcy1tb2RhbCAuZGVzY3JpcHRpb24tY29weSB7XG4gIG1hcmdpbjogMTBweCBhdXRvIDQwcHg7XG59XG4uaGVhZHBob25lcy1tb2RhbCAuYnRuLWJhY2ssXG4uaGVhZHBob25lcy1tb2RhbCAuaGVhZHBob25lcy1jYW1lcmEtdG9nZ2xlIHtcbiAgdHJhbnNpdGlvbjogYWxsIDAuNXMgY3ViaWMtYmV6aWVyKDAuMTksIDEsIDAuMjIsIDEpO1xuICB0cmFuc2Zvcm06IHNjYWxlKDEpO1xufVxuLmhlYWRwaG9uZXMtbW9kYWwgYnV0dG9uIHtcbiAgbWFyZ2luOiAwIDAgMjBweDtcbn1cbi5oZWFkcGhvbmVzLW1vZGFsIC5jdGEtd2F0Y2gtdmlkZW8ge1xuICBkaXNwbGF5OiBibG9jaztcbiAgZm9udC1mYW1pbHk6IFwiQXJjaGl2b1wiLCBzYW5zLXNlcmlmO1xuICBmb250LXNpemU6IDEuNDVyZW07XG4gIG1hcmdpbjogYXV0byBhdXRvIDA7XG4gIHBhZGRpbmc6IDEwcHggMHB4O1xufVxuLmhlYWRwaG9uZXMtbW9kYWwgLmN0YS13YXRjaC12aWRlbzpob3ZlciwgLmhlYWRwaG9uZXMtbW9kYWwgLmN0YS13YXRjaC12aWRlbzpmb2N1cyB7XG4gIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xufVxuLmhlYWRwaG9uZXMtbW9kYWwgLmhlYWRwaG9uZXMtY2FtZXJhLXRvZ2dsZSB7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1ncm93OiAxO1xuICBmb250LWZhbWlseTogXCJBcmNoaXZvXCIsIHNhbnMtc2VyaWY7XG4gIGZvbnQtc2l6ZTogMS44cmVtO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgbGV0dGVyLXNwYWNpbmc6IDA7XG4gIG9wYWNpdHk6IDAuNzU7XG4gIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gIC13ZWJraXQtdXNlci1zZWxlY3Q6IG5vbmU7XG4gICAgICAgICAgdXNlci1zZWxlY3Q6IG5vbmU7XG59XG4uaGVhZHBob25lcy1tb2RhbCAuaGVhZHBob25lcy1jYW1lcmEtdG9nZ2xlIC5pY29uIHtcbiAgYmFja2dyb3VuZDogdXJsKFwiL3N2Zy9jYW1lcmEuc3ZnXCIpIG5vLXJlcGVhdCBjZW50ZXI7XG4gIGJhY2tncm91bmQtc2l6ZTogMjBweDtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBoZWlnaHQ6IDI3cHg7XG4gIG1hcmdpbi1yaWdodDogN3B4O1xuICB3aWR0aDogMjcuNXB4O1xufVxuLmhlYWRwaG9uZXMtbW9kYWwgLmhlYWRwaG9uZXMtY2FtZXJhLXRvZ2dsZSAudGV4dCB7XG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gIHdpZHRoOiAxODBweDtcbn1cbi5oZWFkcGhvbmVzLW1vZGFsIC5jdGEtd2F0Y2gtdGh1bWJuYWlsIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xufVxuLmhlYWRwaG9uZXMtbW9kYWwgLmN0YS13YXRjaC10aHVtYm5haWwgLnN2ZyB7XG4gIGJvdHRvbTogMDtcbiAgZGlzcGxheTogYmxvY2s7XG4gIGhlaWdodDogMjhweDtcbiAgbGVmdDogMDtcbiAgbWFyZ2luOiBhdXRvO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHJpZ2h0OiAwO1xuICB0b3A6IDA7XG4gIHdpZHRoOiAzOXB4O1xufVxuLmhlYWRwaG9uZXMtbW9kYWwgLmN0YS13YXRjaC10aHVtYm5haWwgaW1nIHtcbiAgYm9yZGVyOiAxcHggc29saWQgI2JhYmFiYTtcbiAgZGlzcGxheTogYmxvY2s7XG4gIG1hcmdpbjogMCBhdXRvIDEzcHg7XG4gIG1heC13aWR0aDogMTc2cHg7XG59XG4uaGVhZHBob25lcy1tb2RhbC5oaWRlIC5pbm5lci13cmFwcGVyIHtcbiAgdHJhbnNmb3JtOiBzY2FsZSgwKSB0cmFuc2xhdGUoLTUwJSwgLTUwJSk7XG59XG4uaGVhZHBob25lcy1tb2RhbC5oaWRlIC5idG4tYmFjayxcbi5oZWFkcGhvbmVzLW1vZGFsLmhpZGUgLmhlYWRwaG9uZXMtY2FtZXJhLXRvZ2dsZSB7XG4gIHRyYW5zZm9ybTogc2NhbGUoMCk7XG59XG4uaGVhZHBob25lcy1tb2RhbC53aXRoQ2FtZXJhIC5oZWFkcGhvbmVzLWNhbWVyYS10b2dnbGUgLmljb24ge1xuICBiYWNrZ3JvdW5kOiB1cmwoXCIvc3ZnL2NhbWVyYS1vZmYuc3ZnXCIpIG5vLXJlcGVhdCBjZW50ZXI7XG4gIGJhY2tncm91bmQtc2l6ZTogMjRweDtcbn1cblxuLmludHJvLW1vZGFsIC5pbnRyby1jb3B5LFxuLmludHJvLW1vZGFsIC5jdGEtY2xvc2Uge1xuICB0cmFuc2l0aW9uOiBhbGwgMC41cyBjdWJpYy1iZXppZXIoMC4xOSwgMSwgMC4yMiwgMSk7XG59XG4uaW50cm8tbW9kYWwgLmN0YS1jb250aW51ZSB7XG4gIHRyYW5zaXRpb24tZGVsYXk6IDAuMXM7XG59XG4uaW50cm8tbW9kYWwuaGlkZSAuaW50cm8tY29weSB7XG4gIG9wYWNpdHk6IDA7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgyMHB4KTtcbn1cbi5pbnRyby1tb2RhbC5oaWRlIC5jdGEtY2xvc2Uge1xuICBvcGFjaXR5OiAwO1xuICB0cmFuc2Zvcm06IHNjYWxlKDApO1xufVxuXG4ucHJvY2Vzc2luZy1tb2RhbCB7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbn1cbi5wcm9jZXNzaW5nLW1vZGFsIHAge1xuICBjb2xvcjogd2hpdGU7XG4gIGZvbnQtc2l6ZTogMi4zM3JlbTtcbiAgbGV0dGVyLXNwYWNpbmc6IDA7XG4gIGxpbmUtaGVpZ2h0OiAzLjA0cmVtO1xuICBtYXJnaW4tYm90dG9tOiA0M3B4O1xufVxuLnByb2Nlc3NpbmctbW9kYWwgLmN0YSB7XG4gIG1hcmdpbi1ib3R0b206IDI2cHg7XG59XG4ucHJvY2Vzc2luZy1tb2RhbCAuZG90cyB7XG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7XG59XG4ucHJvY2Vzc2luZy1tb2RhbCAuZG90IHtcbiAgYW5pbWF0aW9uLW5hbWU6IGJsaW5rO1xuICBhbmltYXRpb24tZHVyYXRpb246IDEuNHM7XG4gIGFuaW1hdGlvbi1pdGVyYXRpb24tY291bnQ6IGluZmluaXRlO1xuICBhbmltYXRpb24tZmlsbC1tb2RlOiBib3RoO1xuICBtYXJnaW46IDAgLTNweDtcbn1cbi5wcm9jZXNzaW5nLW1vZGFsIC5kb3Q6bnRoLWNoaWxkKDIpIHtcbiAgYW5pbWF0aW9uLWRlbGF5OiAwLjJzO1xufVxuLnByb2Nlc3NpbmctbW9kYWwgLmRvdDpudGgtY2hpbGQoMykge1xuICBhbmltYXRpb24tZGVsYXk6IDAuNHM7XG59XG5cbi5ob21lcGFnZS5zdGFydC1pbnRybyB7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIGhlaWdodDogMTAwdmg7XG59XG4uaG9tZXBhZ2Uuc3RhcnQtaW50cm8gaGVhZGVyIHtcbiAgb3BhY2l0eTogMDtcbn1cbi5ob21lcGFnZSAubWFpbi1jb250ZW50IHtcbiAgcGFkZGluZzogNDBweCAwIDBweDtcbiAgaGVpZ2h0OiAxMDB2aDtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbn1cbi5ob21lcGFnZSAuYmctc21va2Uge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjNDQ0O1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoL2ltYWdlcy9iZy1zbW9rZS5qcGcpO1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXIgYm90dG9tO1xuICBiYWNrZ3JvdW5kLXNpemU6IGNvdmVyO1xufVxuQG1lZGlhIChtaW4td2lkdGg6IDEwMjRweCkge1xuICAuaG9tZXBhZ2UgLmJnLXNtb2tlIHtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoL2ltYWdlcy9iZy1zbW9rZS1kZXNrdG9wLmpwZyk7XG4gIH1cbn1cbi5ob21lcGFnZSAudmlkZW8tY29udGFpbmVyIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDA7XG4gIGJvdHRvbTogMDtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogMTAwJTtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgaGVpZ2h0OiAxMDB2aDtcbn1cbi5ob21lcGFnZSAudmlkZW8tY29udGFpbmVyIHZpZGVvIHtcbiAgLyogTWFrZSB2aWRlbyB0byBhdCBsZWFzdCAxMDAlIHdpZGUgYW5kIHRhbGwgKi9cbiAgbWluLXdpZHRoOiAxMDAlO1xuICBtaW4taGVpZ2h0OiAxMDAlO1xuICB3aWR0aDogYXV0bztcbiAgaGVpZ2h0OiBhdXRvO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogNTAlO1xuICBsZWZ0OiA1MCU7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIC01MCUpO1xuICBwb2ludGVyLWV2ZW50czogbm9uZTtcbn1cbi5ob21lcGFnZSAubG9nby1xdWVlbiB7XG4gIHdpZHRoOiAxMDBweDtcbiAgaGVpZ2h0OiAxMzhweDtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBsZWZ0OiA1MCU7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNTAlKTtcbn1cbi5ob21lcGFnZSAuY2Fycm90LWRvd24ge1xuICBib3R0b206IC0zOHB4O1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG59XG4uaG9tZXBhZ2UgLmxvZ28tY29udGFpbmVyIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDUwJTtcbiAgbGVmdDogNTAlO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAtNTAlKTtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgd2lkdGg6IDEwMHZ3O1xufVxuLmhvbWVwYWdlIC5sb2dvLWNvbnRhaW5lciAuZ3JpZC1jb250YWluZXIgc3ZnIHtcbiAgaGVpZ2h0OiA0NnB4O1xuICB3aWR0aDogODAlO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogMzAlO1xufVxuQG1lZGlhIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gIC5ob21lcGFnZSAubG9nby1jb250YWluZXIgLmdyaWQtY29udGFpbmVyIHN2ZyB7XG4gICAgaGVpZ2h0OiA1MHB4O1xuICB9XG59XG4uaG9tZXBhZ2UgLmxvZ28tY29udGFpbmVyIC5ncmlkLWNvbnRhaW5lcjpudGgtY2hpbGQoMSkge1xuICBvcGFjaXR5OiAwO1xufVxuLmhvbWVwYWdlIC5sb2dvLWNvbnRhaW5lciAubG9nby1mcmVkZGllIHtcbiAgd2lkdGg6IDM3NXB4O1xuICBoZWlnaHQ6IDExNnB4O1xuICB0ZXh0LWluZGVudDogLTk5OTlweDtcbn1cbkBtZWRpYSAobWluLXdpZHRoOiAxMDI0cHgpIHtcbiAgLmhvbWVwYWdlIC5sb2dvLWNvbnRhaW5lciAubG9nby1mcmVkZGllIHtcbiAgICB3aWR0aDogNjI5cHg7XG4gICAgaGVpZ2h0OiAxMTZweDtcbiAgfVxufVxuLmhvbWVwYWdlIC5sb2dvLWNvbnRhaW5lciBoMSB7XG4gIHZpc2liaWxpdHk6IGhpZGRlbjtcbn1cbi5ob21lcGFnZSAuY3RhLWNvbnRhaW5lciB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgYm90dG9tOiAxMDBweDtcbiAgd2lkdGg6IDEwMCU7XG59XG4uaG9tZXBhZ2UgLmN0YS1jb250YWluZXIgLmN0YSB7XG4gIG1hcmdpbi10b3A6IDI1cHg7XG59XG5AbWVkaWEgKG1pbi13aWR0aDogNDIwcHgpIHtcbiAgLmhvbWVwYWdlLmxhbmRzY2FwZSAuY3RhLWNvbnRhaW5lciB7XG4gICAgYm90dG9tOiAxMCU7XG4gIH1cbn1cbi5ob21lcGFnZS5zdGFydC1pbnRybyAuY3RhLWNvbnRhaW5lciAuaGVhZGxpbmUtMywgLmhvbWVwYWdlLnN0YXJ0LWludHJvIC5jdGEtY29udGFpbmVyIC5oZWFkbGluZS0zLWl0YWxpYyxcbi5ob21lcGFnZS5zdGFydC1pbnRybyAuY3RhLWNvbnRhaW5lciAuY2Fycm90LWRvd24sXG4uaG9tZXBhZ2Uuc3RhcnQtaW50cm8gLmN0YS1jb250YWluZXIgLmN0YSB7XG4gIG9wYWNpdHk6IDA7XG59XG4uaG9tZXBhZ2UgLmludHJvLWFuaW0ge1xuICBwb2ludGVyLWV2ZW50czogbm9uZTtcbn1cbi5ob21lcGFnZSAuaW50cm8tZWxlbWVudHMge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGJhY2tncm91bmQ6IHJnYmEoMCwgMCwgMCwgMC43KTtcbiAgd2lkdGg6IDEwMHZ3O1xuICBoZWlnaHQ6IDEwMHZoO1xuICB0b3A6IDA7XG59XG4uaG9tZXBhZ2UgLmludHJvLWVsZW1lbnRzIC5tZXJjdXJ5LWxvZ28ge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogNTAlO1xuICBsZWZ0OiA1MCU7XG4gIG9wYWNpdHk6IDA7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIC01MCUpO1xuICB3aWR0aDogMjg3cHg7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbn1cbi5ob21lcGFnZSAuaW50cm8tZWxlbWVudHMgLm1lcmN1cnktbG9nbyAuY29weSB7XG4gIGZvbnQtZmFtaWx5OiBcIkFyY2hpdm8gQmxhY2tcIiwgc2Fucy1zZXJpZjtcbiAgZm9udC1zaXplOiAxLjdyZW07XG4gIGNvbG9yOiB3aGl0ZTtcbiAgb3BhY2l0eTogMDtcbn1cbi5ob21lcGFnZSAuaW50cm8ge1xuICBwYWRkaW5nOiA2MHB4IDAgMTIwcHg7XG59XG4uaG9tZXBhZ2UgLmludHJvIC5kZXNjcmlwdGlvbiB7XG4gIG1hcmdpbjogMTVweCBhdXRvIDQwcHg7XG4gIG1heC13aWR0aDogNzAwcHg7XG59XG4uaG9tZXBhZ2UgLmhpZGUtc3ZnIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDA7XG4gIGxlZnQ6IDA7XG4gIHotaW5kZXg6IC0xO1xufVxuXG4uc29uZy1zZWxlY3Rpb24tcGFnZSAubWFpbi1jb250ZW50IHtcbiAgbWluLWhlaWdodDogMTAwdmg7XG59XG4uc29uZy1zZWxlY3Rpb24tcGFnZSAuc2NyZWVuLWNvbnRhaW5lciB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgdHJhbnNpdGlvbjogYWxsIDAuNXMgY3ViaWMtYmV6aWVyKDAuMjE1LCAwLjYxLCAwLjM1NSwgMSk7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG59XG4uc29uZy1zZWxlY3Rpb24tcGFnZSAuc2NyZWVuLWNvbnRhaW5lci5zaG93LWxpc3QgLnByZXZpZXctc2NyZWVuIHtcbiAgb3BhY2l0eTogMDtcbiAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG59XG4uc29uZy1zZWxlY3Rpb24tcGFnZSAuc2NyZWVuLWNvbnRhaW5lci5zaG93LWxpc3QgLmxpc3Qtc2NyZWVuIHtcbiAgb3BhY2l0eTogMTtcbiAgcG9pbnRlci1ldmVudHM6IGFsbDtcbn1cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG9yaWVudGF0aW9uOiBsYW5kc2NhcGUpIGFuZCAobWluLWRldmljZS13aWR0aDogMTAwcHgpIGFuZCAobWF4LWRldmljZS13aWR0aDogODI0cHgpIHtcbiAgLnNvbmctc2VsZWN0aW9uLXBhZ2UgLnNjcmVlbi1jb250YWluZXIuc2hvdy1saXN0IC5saXN0LXNjcmVlbiB7XG4gICAgaGVpZ2h0OiAxNzd2aDtcbiAgfVxufVxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAob3JpZW50YXRpb246IGxhbmRzY2FwZSkgYW5kIChoZWlnaHQ6IDM2MHB4KSBhbmQgKHdpZHRoOiA2NDBweCkge1xuICAuc29uZy1zZWxlY3Rpb24tcGFnZSAuc2NyZWVuLWNvbnRhaW5lci5zaG93LWxpc3QgLmxpc3Qtc2NyZWVuIHtcbiAgICBoZWlnaHQ6IDE1OHZoO1xuICB9XG59XG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChvcmllbnRhdGlvbjogbGFuZHNjYXBlKSBhbmQgKGhlaWdodDogMzIwcHgpIGFuZCAod2lkdGg6IDU2OHB4KSB7XG4gIC5zb25nLXNlbGVjdGlvbi1wYWdlIC5zY3JlZW4tY29udGFpbmVyLnNob3ctbGlzdCAubGlzdC1zY3JlZW4ge1xuICAgIGhlaWdodDogMTc3dmg7XG4gIH1cbn1cbi5zb25nLXNlbGVjdGlvbi1wYWdlIC5saXN0LXNjcmVlbiB7XG4gIHdpZHRoOiAxMDAlO1xuICBtaW4taGVpZ2h0OiAxMDB2aDtcbiAgb3BhY2l0eTogMDtcbn1cbi5zb25nLXNlbGVjdGlvbi1wYWdlIC5saXN0LXNjcmVlbiB7XG4gIHRyYW5zaXRpb246IG9wYWNpdHkgMC4zcyBjdWJpYy1iZXppZXIoMC4xOSwgMSwgMC4yMiwgMSk7XG4gIHotaW5kZXg6IDI7XG4gIHBhZGRpbmc6IDM1cHggMDtcbn1cbi5zb25nLXNlbGVjdGlvbi1wYWdlIC5zb25nLWxpc3Qge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIG1hcmdpbi10b3A6IDY1cHg7XG4gIGJvcmRlci13aWR0aDogM3B4O1xufVxuLnNvbmctc2VsZWN0aW9uLXBhZ2UgLnNvbmctbGlzdDphZnRlciB7XG4gIGNvbnRlbnQ6IFwiXCI7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGxlZnQ6IDUwJTtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC01MCUpO1xuICBtYXgtd2lkdGg6IDQwMHB4O1xuICBoZWlnaHQ6IDFweDtcbiAgd2lkdGg6IDEwMCU7XG4gIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCh0byByaWdodCwgdHJhbnNwYXJlbnQgMCUsICNmZmZmZmYgNTAlLCB0cmFuc3BhcmVudCAxMDAlKTtcbiAgb3BhY2l0eTogMC41O1xufVxuLnNvbmctc2VsZWN0aW9uLXBhZ2UgLnNvbmctbGlzdCBidXR0b24ge1xuICBwYWRkaW5nOiAzNXB4IDA7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgd2lkdGg6IDEwMCU7XG4gIGRpc3BsYXk6IGJsb2NrO1xufVxuLnNvbmctc2VsZWN0aW9uLXBhZ2UgLnNvbmctbGlzdCBidXR0b24gLnRpdGxlIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB6LWluZGV4OiAyO1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG59XG4uc29uZy1zZWxlY3Rpb24tcGFnZSAuc29uZy1saXN0IGJ1dHRvbiAuY2Fycm90IHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBsZWZ0OiAtMWVtO1xuICB3aWR0aDogMC4zZW07XG4gIHRvcDogLTAuMDFlbTtcbiAgdHJhbnNpdGlvbjogYWxsIDAuNXMgY3ViaWMtYmV6aWVyKDAuMTksIDEsIDAuMjIsIDEpO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTVweCk7XG4gIG9wYWNpdHk6IDA7XG59XG4uc29uZy1zZWxlY3Rpb24tcGFnZSAuc29uZy1saXN0IGJ1dHRvbjpiZWZvcmUge1xuICBjb250ZW50OiBcIlwiO1xuICBkaXNwbGF5OiBibG9jaztcbiAgdG9wOiAwO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGxlZnQ6IDUwJTtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC01MCUpO1xuICBtYXgtd2lkdGg6IDQwMHB4O1xuICBoZWlnaHQ6IDFweDtcbiAgd2lkdGg6IDEwMCU7XG4gIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCh0byByaWdodCwgdHJhbnNwYXJlbnQgMCUsICNmZmZmZmYgNTAlLCB0cmFuc3BhcmVudCAxMDAlKTtcbiAgb3BhY2l0eTogMC41O1xufVxuLnNvbmctc2VsZWN0aW9uLXBhZ2UgLnNvbmctbGlzdCBidXR0b246YWZ0ZXIge1xuICBjb250ZW50OiBcIlwiO1xuICBvcGFjaXR5OiAwO1xuICB3aWR0aDogMTYwJTtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBoZWlnaHQ6IDIwMCU7XG4gIHRvcDogLTUwJTtcbiAgbGVmdDogLTMwJTtcbiAgYmFja2dyb3VuZDogcmFkaWFsLWdyYWRpZW50KGVsbGlwc2UgYXQgY2VudGVyLCByZ2JhKDI0OCwgMjMxLCAyOCwgMC40NSkgMCUsIHJnYmEoMCwgMCwgMCwgMCkgNjAlKTtcbiAgei1pbmRleDogMTtcbiAgdHJhbnNpdGlvbjogb3BhY2l0eSAxcyBjdWJpYy1iZXppZXIoMC4yMTUsIDAuNjEsIDAuMzU1LCAxKTtcbn1cbi5zb25nLXNlbGVjdGlvbi1wYWdlIC5zb25nLWxpc3QgYnV0dG9uOmhvdmVyOmFmdGVyLCAuc29uZy1zZWxlY3Rpb24tcGFnZSAuc29uZy1saXN0IGJ1dHRvbjpmb2N1czphZnRlciwgLnNvbmctc2VsZWN0aW9uLXBhZ2UgLnNvbmctbGlzdCBidXR0b246YWN0aXZlOmFmdGVyIHtcbiAgb3BhY2l0eTogMC41O1xufVxuLnNvbmctc2VsZWN0aW9uLXBhZ2UgLnNvbmctbGlzdCBidXR0b246aG92ZXIgLmNhcnJvdCwgLnNvbmctc2VsZWN0aW9uLXBhZ2UgLnNvbmctbGlzdCBidXR0b246Zm9jdXMgLmNhcnJvdCwgLnNvbmctc2VsZWN0aW9uLXBhZ2UgLnNvbmctbGlzdCBidXR0b246YWN0aXZlIC5jYXJyb3Qge1xuICBvcGFjaXR5OiAxO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMHB4KTtcbn1cbi5zb25nLXNlbGVjdGlvbi1wYWdlIC5saXN0LXNjcmVlbiAuc29uZy1saXN0IC50aXRsZSxcbi5zb25nLXNlbGVjdGlvbi1wYWdlIC5saXN0LXNjcmVlbiAuaGVhZGxpbmUge1xuICB0cmFuc2l0aW9uOiBhbGwgMXMgY3ViaWMtYmV6aWVyKDAuMTksIDEsIDAuMjIsIDEpO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMjBweCk7XG4gIG9wYWNpdHk6IDA7XG59XG4uc29uZy1zZWxlY3Rpb24tcGFnZSAubGlzdC1zY3JlZW4gLnNvbmctbGlzdCBsaTpudGgtY2hpbGQoMSkgLnRpdGxlIHtcbiAgdHJhbnNpdGlvbi1kZWxheTogMC4xcztcbn1cbi5zb25nLXNlbGVjdGlvbi1wYWdlIC5saXN0LXNjcmVlbiAuc29uZy1saXN0IGxpOm50aC1jaGlsZCgyKSAudGl0bGUge1xuICB0cmFuc2l0aW9uLWRlbGF5OiAwLjJzO1xufVxuLnNvbmctc2VsZWN0aW9uLXBhZ2UgLmxpc3Qtc2NyZWVuIC5zb25nLWxpc3QgbGk6bnRoLWNoaWxkKDMpIC50aXRsZSB7XG4gIHRyYW5zaXRpb24tZGVsYXk6IDAuM3M7XG59XG4uc29uZy1zZWxlY3Rpb24tcGFnZSAubGlzdC1zY3JlZW4gLnNvbmctbGlzdCBsaTpudGgtY2hpbGQoNCkgLnRpdGxlIHtcbiAgdHJhbnNpdGlvbi1kZWxheTogMC40cztcbn1cbi5zb25nLXNlbGVjdGlvbi1wYWdlIC5saXN0LXNjcmVlbiAuc29uZy1saXN0IGxpOm50aC1jaGlsZCg1KSAudGl0bGUge1xuICB0cmFuc2l0aW9uLWRlbGF5OiAwLjVzO1xufVxuLnNvbmctc2VsZWN0aW9uLXBhZ2UgLmxpc3Qtc2NyZWVuIC5zb25nLWxpc3Q6YWZ0ZXIsXG4uc29uZy1zZWxlY3Rpb24tcGFnZSAubGlzdC1zY3JlZW4gLnNvbmctbGlzdCBidXR0b246YmVmb3JlIHtcbiAgdHJhbnNpdGlvbjogYWxsIDFzIGN1YmljLWJlemllcigwLjE5LCAxLCAwLjIyLCAxKTtcbiAgd2lkdGg6IDA7XG59XG4uc29uZy1zZWxlY3Rpb24tcGFnZSAuc2hvdy1saXN0IC5saXN0LXNjcmVlbiAuc29uZy1saXN0IC50aXRsZSxcbi5zb25nLXNlbGVjdGlvbi1wYWdlIC5zaG93LWxpc3QgLmxpc3Qtc2NyZWVuIC5oZWFkbGluZSB7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKTtcbiAgb3BhY2l0eTogMTtcbn1cbi5zb25nLXNlbGVjdGlvbi1wYWdlIC5zaG93LWxpc3QgLmxpc3Qtc2NyZWVuIC5zb25nLWxpc3Q6YWZ0ZXIsXG4uc29uZy1zZWxlY3Rpb24tcGFnZSAuc2hvdy1saXN0IC5saXN0LXNjcmVlbiAuc29uZy1saXN0IGJ1dHRvbjpiZWZvcmUge1xuICB3aWR0aDogMTAwJTtcbn1cblxuLnJlY29yZC1wYWdlIHtcbiAgYmFja2dyb3VuZDogYmxhY2s7XG4gIG92ZXJmbG93OiBoaWRkZW47XG59XG4ucmVjb3JkLXBhZ2UgLnJlY29yZC11aSB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgYm90dG9tOiAwcHg7XG4gIHdpZHRoOiAxMDAlO1xuICBwYWRkaW5nLXRvcDogNDAlO1xufVxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAob3JpZW50YXRpb246IGxhbmRzY2FwZSkgYW5kIChtaW4tZGV2aWNlLXdpZHRoOiAxMDBweCkgYW5kIChtYXgtZGV2aWNlLXdpZHRoOiA4MjRweCkge1xuICAucmVjb3JkLXBhZ2UgLnJlY29yZC11aSB7XG4gICAgYm90dG9tOiAtNSU7XG4gIH1cbn1cbi5yZWNvcmQtcGFnZSAucmVjb3JkLXVpIC5jaXJjbGUge1xuICB3aWR0aDogMTNweDtcbiAgaGVpZ2h0OiAxM3B4O1xuICBib3JkZXItcmFkaXVzOiAxMDAlO1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIG1hcmdpbi1yaWdodDogNnB4O1xuICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICBtYXJnaW4tdG9wOiAtMnB4O1xufVxuLnJlY29yZC1wYWdlIC5yZWNvcmQtdWkgLmN0YS1yZWNvcmQge1xuICBtYXJnaW4tYm90dG9tOiAyMHB4O1xufVxuLnJlY29yZC1wYWdlIC5yZWNvcmQtdWkgLnRpbWUtY29udGFpbmVyIHtcbiAgbWFyZ2luLWJvdHRvbTogMTJweDtcbiAgZ3JpZC1hcmVhOiBjb3VudDtcbn1cbi5yZWNvcmQtcGFnZSAucmVjb3JkLXVpIC50aW1lLWNvbnRhaW5lciAuY2lyY2xlIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBsZWZ0OiAtMjNweDtcbiAgbWFyZ2luLXRvcDogMHB4O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmU1ZjYxO1xuICB0cmFuc2l0aW9uOiBhbGwgMC4ycyBjdWJpYy1iZXppZXIoMC4xOSwgMSwgMC4yMiwgMSk7XG4gIGRpc3BsYXk6IG5vbmU7XG59XG4ucmVjb3JkLXBhZ2UgLnJlY29yZC11aSAudGltZS1jb250YWluZXIgcCB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xufVxuLnJlY29yZC1wYWdlIC5yZWNvcmQtdWkgLnRpbWUtY29udGFpbmVyIGVtIHtcbiAgb3BhY2l0eTogMC41NztcbiAgZm9udC1zdHlsZTogbm9ybWFsO1xufVxuLnJlY29yZC1wYWdlIC5yZWNvcmQtdWkgLnRpbWUtY29udGFpbmVyLnN0YXJ0ZWQgLmNpcmNsZSB7XG4gIGRpc3BsYXk6IGJsb2NrO1xufVxuLnJlY29yZC1wYWdlIC5yZWNvcmQtdWkgLnRpbWUtY29udGFpbmVyLmlzLWNhcHR1cmluZyAuY2lyY2xlIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2NlNmE5Njtcbn1cbi5yZWNvcmQtcGFnZSAucmVjb3JkLXVpIC5wcm9ncmVzcy1iYXIge1xuICAtLXBiLWhlaWdodDogNXB4O1xuICBoZWlnaHQ6IGF1dG87XG4gIHdpZHRoOiAxMDB2dztcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBkaXNwbGF5OiBncmlkO1xuICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDMwcHggYXV0byA5MnB4O1xuICBncmlkLXRlbXBsYXRlLWFyZWFzOiBcInNpZGUgcHJvZ3Jlc3MgY291bnRcIjtcbiAgZ3JpZC10ZW1wbGF0ZS1yb3dzOiAxZnI7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG59XG4ucmVjb3JkLXBhZ2UgLnJlY29yZC11aSAucHJvZ3Jlc3MtYmFyIC50cmFjayB7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IHZhcigtLXBiLWhlaWdodCk7XG4gIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCg5MGRlZywgcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjE3NSkgMCUsIHJnYmEoMjU1LCAyNTUsIDI1NSwgMC41KSA0OS4yOSUsIHJnYmEoMjU1LCAyNTUsIDI1NSwgMC4xNzUpIDEwMCUpO1xuICBncmlkLWFyZWE6IHByb2dyZXNzO1xuICBib3JkZXItcmFkaXVzOiAxLjVweDtcbn1cbi5yZWNvcmQtcGFnZSAucmVjb3JkLXVpIC5wcm9ncmVzcy1iYXIgLnByb2dyZXNzIHtcbiAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KDI3MGRlZywgI2ZjZjUzYyAwJSwgcmdiYSgyNDgsIDE2OSwgMjgsIDAuNDc2NzgxKSAxMDAlKTtcbiAgaGVpZ2h0OiB2YXIoLS1wYi1oZWlnaHQpO1xuICBib3gtc2hhZG93OiAwcHggMHB4IDEwcHggNnB4IHJnYmEoMjQ4LCAyMzEsIDI4LCAwLjI3KTtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbn1cbi5yZWNvcmQtcGFnZSAucmVjb3JkLXVpIC5wcm9ncmVzcy1iYXIgLnByb2Nlc3NlZC1zZWdtZW50IHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBiYWNrZ3JvdW5kOiByZXBlYXRpbmctbGluZWFyLWdyYWRpZW50KC00NWRlZywgdHJhbnNwYXJlbnQsIHRyYW5zcGFyZW50IDdweCwgIzZmNzNmZiA3cHgsICM2ZjczZmYgMTJweCk7XG4gIGhlaWdodDogMTAwJTtcbn1cbi5yZWNvcmQtcGFnZSAucmVjb3JkLXVpIC5wcm9ncmVzcy1iYXIgLnNlZ21lbnQge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogLTRweDtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICBwYWRkaW5nOiAxMHB4IDA7XG59XG4ucmVjb3JkLXBhZ2UgLnJlY29yZC11aSAucHJvZ3Jlc3MtYmFyIC5zZWdtZW50OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXCI7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgaGVpZ2h0OiAzcHg7XG4gIHdpZHRoOiAxMDAlO1xuICBsZWZ0OiAwO1xuICBiYWNrZ3JvdW5kOiAjY2U2YTk2O1xufVxuLnJlY29yZC1wYWdlIC5yZWNvcmQtdWkgLnByb2dyZXNzLWRldGFpbCB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIGhlaWdodDogODVweDtcbiAganVzdGlmeS1jb250ZW50OiBzcGFjZS1hcm91bmQ7XG4gIHBhZGRpbmctYm90dG9tOiAzMHB4O1xufVxuLnJlY29yZC1wYWdlIC5yZWNvcmQtdWkgLm1lc3NhZ2UtY29udGFpbmVyIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB3aWR0aDogMTAwJTtcbiAgdG9wOiAtN3B4O1xufVxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAob3JpZW50YXRpb246IGxhbmRzY2FwZSkgYW5kIChtaW4tZGV2aWNlLXdpZHRoOiAxMDBweCkgYW5kIChtYXgtZGV2aWNlLXdpZHRoOiA4MjRweCkge1xuICAucmVjb3JkLXBhZ2UgLnJlY29yZC11aSAubWVzc2FnZS1jb250YWluZXIge1xuICAgIGhlaWdodDogODFweDtcbiAgICBtYXJnaW46IDE3cHggMCAyMHB4O1xuICB9XG59XG4ucmVjb3JkLXBhZ2UgLnJlY29yZC11aSAubWVzc2FnZS1jb250YWluZXItbWVzc2FnZXMgc3BhbiB7XG4gIGZvbnQtc2l6ZTogMS41cmVtO1xuICBsaW5lLWhlaWdodDogMjMuNjVweDtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDUwJTtcbiAgbGVmdDogNTAlO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAtNTAlKTtcbiAgb3BhY2l0eTogMDtcbiAgdHJhbnNpdGlvbjogYWxsIDFzO1xuICB0cmFuc2l0aW9uLWRlbGF5OiAwcztcbn1cbi5yZWNvcmQtcGFnZSAucmVjb3JkLXVpIC5tZXNzYWdlLWNvbnRhaW5lci5zdGFydGluZyAuc3RhcnRpbmcge1xuICBvcGFjaXR5OiAxO1xuICB0cmFuc2l0aW9uLWRlbGF5OiAxcztcbn1cbi5yZWNvcmQtcGFnZSAucmVjb3JkLXVpIC5tZXNzYWdlLWNvbnRhaW5lci5jb2xsZWN0aW5nIC5jb2xsZWN0aW5nIHtcbiAgb3BhY2l0eTogMTtcbiAgdHJhbnNpdGlvbi1kZWxheTogMXM7XG59XG4ucmVjb3JkLXBhZ2UgLnJlY29yZC11aSAubWVzc2FnZS1jb250YWluZXIuY2FsY3VsYXRpbmcgLmNhbGN1bGF0aW5nIHtcbiAgb3BhY2l0eTogMTtcbiAgdHJhbnNpdGlvbi1kZWxheTogMXM7XG59XG4ucmVjb3JkLXBhZ2UgLnJlY29yZC11aSAubWVzc2FnZS1jb250YWluZXIucmVhZHkgLnJlYWR5IHtcbiAgb3BhY2l0eTogMTtcbiAgdHJhbnNpdGlvbi1kZWxheTogMXM7XG59XG4ucmVjb3JkLXBhZ2UgLnZpZGVvLWNvbnRhaW5lciB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgd2lkdGg6IDEwMCU7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIGhlaWdodDogMTAwJTtcbiAgbGVmdDogMDtcbiAgdG9wOiAwO1xufVxuLnJlY29yZC1wYWdlIC52aWRlby1jb250YWluZXIgLmNhbWVyYS1zdHJlYW0ge1xuICBoZWlnaHQ6IDEwMCU7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgLypcbiAgJjo6YWZ0ZXIge1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IGxpbmVhci1ncmFkaWVudCgxODBkZWcsIHJnYmEoMCwwLDAsMC4wMCkgMCUsICMwMDAwMDAgODMlKTtcbiAgICBib3R0b206IDA7XG4gICAgY29udGVudDogJyc7XG4gICAgaGVpZ2h0OiAyNSU7XG4gICAgbGVmdDogMDtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgcmlnaHQ6IDA7XG4gICAgdHJhbnNmb3JtOiBzY2FsZXkoLTEpIHJvdGF0ZSgtMTgwZGVnKTtcbiAgICB3aWR0aDogMTAwJTtcbiAgfVxuXG4gICY6OmJlZm9yZSB7XG4gICAgY29udGVudDogJyc7XG4gICAgaGVpZ2h0OiAyMCU7XG4gICAgbGVmdDogMDtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgcmlnaHQ6IDA7XG4gICAgdG9wOiAwO1xuICAgIHRyYW5zZm9ybTogc2NhbGVZKC0xKTtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiBsaW5lYXItZ3JhZGllbnQoMTgwZGVnLCByZ2JhKDAsMCwwLDAuMDApIDAlLCAjMDAwMDAwIDgzJSk7XG4gICAgd2lkdGg6IDEwMCU7XG4gIH1cbiAgKi9cbn1cbi5yZWNvcmQtcGFnZSAudmlkZW8tY29udGFpbmVyIC5jYW1lcmEtc3RyZWFtIHZpZGVvIHtcbiAgaGVpZ2h0OiBpbmhlcml0O1xuICBtYXJnaW46IGF1dG87XG4gIHdpZHRoOiAxMDAlO1xufVxuLnJlY29yZC1wYWdlIC52aWRlby1jb250YWluZXIgLnZpZGVvLXN0cmVhbSB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogMTAwJTtcbiAgbGVmdDogMDtcbiAgdG9wOiAwO1xufVxuLnJlY29yZC1wYWdlIC5jdGEtc3RhcnQge1xuICB0cmFuc2l0aW9uOiBhbGwgMC41cyBjdWJpYy1iZXppZXIoMC4xOSwgMSwgMC4yMiwgMSk7XG59XG4ucmVjb3JkLXBhZ2UgLmN0YS1zdGFydC5oaWRlIHtcbiAgb3BhY2l0eTogMDtcbiAgdHJhbnNmb3JtOiBzY2FsZSgwKTtcbn1cbi5yZWNvcmQtcGFnZSAuY3RhLXZpZXctc2NvcmUuc2hvdyB7XG4gIG9wYWNpdHk6IDE7XG4gIHRyYW5zZm9ybTogc2NhbGUoMC43NSk7XG59XG4ucmVjb3JkLXBhZ2UgLmN0YS12aWV3LXNjb3JlIHtcbiAgdHJhbnNpdGlvbjogYWxsIDAuNXMgY3ViaWMtYmV6aWVyKDAuMTksIDEsIDAuMjIsIDEpO1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIG1hcmdpbi10b3A6IDdweDtcbiAgb3BhY2l0eTogMDtcbiAgdHJhbnNmb3JtOiBzY2FsZSgwKTtcbiAgdGV4dC1pbmRlbnQ6IDE1cHg7XG4gIHBhZGRpbmctbGVmdDogMzVweDtcbn1cbi5yZWNvcmQtcGFnZSAuY3RhLXZpZXctc2NvcmU6OmJlZm9yZSB7XG4gIHdpbGwtY2hhbmdlOiBmaWx0ZXI7XG4gIGZpbHRlcjogaW52ZXJ0KDEwMCUpO1xuICAtLXNpemU6IDI0cHg7XG4gIGNvbnRlbnQ6IFwiXCI7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGhlaWdodDogdmFyKC0tc2l6ZSk7XG4gIHdpZHRoOiB2YXIoLS1zaXplKTtcbiAgbGVmdDogMjJweDtcbiAgdG9wOiA5cHg7XG4gIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gIGJhY2tncm91bmQtc2l6ZTogMTAwJTtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiZGF0YTppbWFnZS9zdmcreG1sLCUzQyUzRnhtbCB2ZXJzaW9uPScxLjAnIGVuY29kaW5nPSdVVEYtOCclM0YlM0UlM0Nzdmcgd2lkdGg9JzMwcHgnIGhlaWdodD0nMjlweCcgdmlld0JveD0nMCAwIDMwIDI5JyB2ZXJzaW9uPScxLjEnIHhtbG5zPSdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZycgeG1sbnM6eGxpbms9J2h0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsnJTNFJTNDZyBpZD0nUGFnZS0xJyBzdHJva2U9J25vbmUnIHN0cm9rZS13aWR0aD0nMScgZmlsbD0nbm9uZScgZmlsbC1ydWxlPSdldmVub2RkJyUzRSUzQ3BhdGggZD0nTTYuMzA0NDQzMzYsMTMuNDEwMzUyOSBMMTMuMDI0NTIyOCwyMC42OTU1NTY2IEMyMC41NDQ0Njk4LDEyLjY5NTU1NjYgMjQuMzA0NDQzNCw4LjY5NTU1NjY0IDI0LjMwNDQ0MzQsOC42OTU1NTY2NCcgaWQ9J1BhdGgtMicgc3Ryb2tlPSclMjMwMDAwMDAnIHN0cm9rZS13aWR0aD0nMyclM0UlM0MvcGF0aCUzRSUzQy9nJTNFJTNDL3N2ZyUzRVwiKTtcbn1cbi5yZWNvcmQtcGFnZSAuY3RhLXZpZXctc2NvcmU6Zm9jdXMsIC5yZWNvcmQtcGFnZSAuY3RhLXZpZXctc2NvcmU6aG92ZXIge1xuICBtaXgtYmxlbmQtbW9kZTogc2NyZWVuO1xufVxuLnJlY29yZC1wYWdlIC5jdGEtdmlldy1zY29yZTpmb2N1czpiZWZvcmUsIC5yZWNvcmQtcGFnZSAuY3RhLXZpZXctc2NvcmU6aG92ZXI6YmVmb3JlIHtcbiAgZmlsdGVyOiBpbnZlcnQoMCUpO1xufVxuLnJlY29yZC1wYWdlIC5jdGEtdmlldy1zY29yZTo6YWZ0ZXIge1xuICBkaXNwbGF5OiBub25lO1xufVxuXG4ubHlyaWNzLWRpc3BsYXkge1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAxMDB2aDtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB6LWluZGV4OiAyO1xuICBwYWRkaW5nOiA1MHB4IDA7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQodG8gYm90dG9tLCByZ2JhKDAsIDAsIDAsIDAuOCkgNDAlLCByZ2JhKDAsIDAsIDAsIDAuMDEpIDEwMCUsIHJnYmEoMCwgMCwgMCwgMCkgMTAwJSk7XG4gIHRvcDogMDtcbn1cbi5seXJpY3MtZGlzcGxheSAubHlyaWNzLXdyYXBwZXIge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGhlaWdodDogMzJ2aDtcbiAgbWFyZ2luOiAwO1xuICAtd2Via2l0LW1hc2staW1hZ2U6IC13ZWJraXQtZ3JhZGllbnQobGluZWFyLCBsZWZ0IDI1JSwgbGVmdCA2MCUsIGZyb20ocmdiKDAsIDAsIDApKSwgdG8ocmdiYSgwLCAwLCAwLCAwKSkpO1xufVxuQG1lZGlhIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gIC5seXJpY3MtZGlzcGxheSAubHlyaWNzLXdyYXBwZXIge1xuICAgIC13ZWJraXQtbWFzay1pbWFnZTogLXdlYmtpdC1ncmFkaWVudChsaW5lYXIsIGxlZnQgMzQlLCBsZWZ0IDc1JSwgZnJvbShibGFjayksIHRvKHJnYmEoMCwgMCwgMCwgMCkpKTtcbiAgfVxufVxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAob3JpZW50YXRpb246IGxhbmRzY2FwZSkgYW5kIChtaW4tZGV2aWNlLXdpZHRoOiAxMDBweCkgYW5kIChtYXgtZGV2aWNlLXdpZHRoOiA4MjRweCkge1xuICAubHlyaWNzLWRpc3BsYXkgLmx5cmljcy13cmFwcGVyIHtcbiAgICBoZWlnaHQ6IDgxdmg7XG4gIH1cbn1cbi5seXJpY3MtZGlzcGxheSAubHlyaWNzIHtcbiAgdHJhbnNpdGlvbjogMS4yNXMgY3ViaWMtYmV6aWVyKDAuMjE1LCAwLjYxLCAwLjM1NSwgMSk7XG4gIG1hcmdpbjogYXV0bztcbiAgcGFkZGluZzogMCAwIDUwcHg7XG59XG4ubHlyaWNzLWRpc3BsYXkgLmhpZGUge1xuICBvcGFjaXR5OiAwO1xuICB0cmFuc2l0aW9uOiBhbGwgMC4zcyBjdWJpYy1iZXppZXIoMC4yMTUsIDAuNjEsIDAuMzU1LCAxKTtcbn1cbi5seXJpY3MtZGlzcGxheSAud29yZCB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgY29sb3I6IHJnYmEoMTAwLCAxMDAsIDEwMCwgMC43NSk7XG59XG4ubHlyaWNzLWRpc3BsYXkgLmZpbGwge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGNvbG9yOiB3aGl0ZTtcbiAgbGVmdDogMDtcbiAgdG9wOiAwO1xuICBvdmVyZmxvdzogaGlkZGVuO1xufVxuLmx5cmljcy1kaXNwbGF5IC5maWxsLWlubmVyIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBsZWZ0OiAwO1xuICB0b3A6IDA7XG4gIGNvbG9yOiB3aGl0ZTtcbiAgZmlsdGVyOiBibHVyKDNweCk7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIHRleHQtc2hhZG93OiAwcHggMHB4IDVweCByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuNzUpO1xufVxuLmx5cmljcy1kaXNwbGF5Lm5vLXZpZGVvIHtcbiAgdG9wOiA1MCU7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKTtcbiAgcGFkZGluZy10b3A6IDA7XG4gIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xufVxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAob3JpZW50YXRpb246IGxhbmRzY2FwZSkgYW5kIChtaW4tZGV2aWNlLXdpZHRoOiAxMDBweCkgYW5kIChtYXgtZGV2aWNlLXdpZHRoOiA4MjRweCkge1xuICAubHlyaWNzLWRpc3BsYXkubm8tdmlkZW8ge1xuICAgIHRvcDogNzAlO1xuICB9XG59XG4ubHlyaWNzLWRpc3BsYXkubm8tdmlkZW8gLndvcmQge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuNCk7XG59XG4ubHlyaWNzLWRpc3BsYXkgLmx5cmljcy13cmFwcGVyIHtcbiAgdHJhbnNpdGlvbjogYWxsIDFzIGN1YmljLWJlemllcigwLjIxNSwgMC42MSwgMC4zNTUsIDEpO1xufVxuLmx5cmljcy1kaXNwbGF5LmhpZGUgLmx5cmljcy13cmFwcGVyIHtcbiAgb3BhY2l0eTogMDtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDUwcHgpO1xufVxuXG4ubm8tdmlkZW8tZ3JhZGllbnQge1xuICB3aWR0aDogMTAwdnc7XG4gIGhlaWdodDogMTAwdmg7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAwO1xuICBsZWZ0OiAwO1xufVxuXG4ubWljLWZlZWRiYWNrIHN2ZyB7XG4gIG92ZXJmbG93OiB2aXNpYmxlO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHRvcDogMzJweDtcbn1cbi5taWMtZmVlZGJhY2sgc3ZnIGcgcmVjdCB7XG4gIHRyYW5zaXRpb246IGFsbCA3NW1zIGxpbmVhcjtcbn1cblxuLmhpZGUtc3ZnIHtcbiAgdmlzaWJpbGl0eTogaGlkZGVuO1xuICBoZWlnaHQ6IDA7XG59XG5cbi5zY29yZS1wYWdlIG1haW4ge1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG59XG4uc2NvcmUtcGFnZS5zY29yZS1jbGFzcy1hIC5zaG93LWZyZWRkaWUgLnNjb3JlLWZyZWRkaWUge1xuICBhbmltYXRpb24tbmFtZTogcG9wb3V0QTtcbn1cbi5zY29yZS1wYWdlLnNjb3JlLWNsYXNzLWEgbWFpbiB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybCgvaW1hZ2VzL2JnLXNjb3JlLWEuanBnKTtcbn1cbi5zY29yZS1wYWdlLnNjb3JlLWNsYXNzLWIgLnNob3ctZnJlZGRpZSAuc2NvcmUtZnJlZGRpZSB7XG4gIGFuaW1hdGlvbi1uYW1lOiBwb3BvdXRBO1xufVxuLnNjb3JlLXBhZ2Uuc2NvcmUtY2xhc3MtYiBtYWluIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKC9pbWFnZXMvYmctc2NvcmUtYi5qcGcpO1xufVxuLnNjb3JlLXBhZ2Uuc2NvcmUtY2xhc3MtYyAuc2NvcmUtZnJlZGRpZSB7XG4gIGJhY2tncm91bmQtc2l6ZTogY29udGFpbjtcbn1cbi5zY29yZS1wYWdlLnNjb3JlLWNsYXNzLWMgLnNob3ctZnJlZGRpZSAuc2NvcmUtZnJlZGRpZSB7XG4gIGFuaW1hdGlvbi1uYW1lOiBwb3BvdXRDO1xufVxuLnNjb3JlLXBhZ2Uuc2NvcmUtY2xhc3MtYyBtYWluIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKC9pbWFnZXMvYmctc2NvcmUtYy5qcGcpO1xufVxuLnNjb3JlLXBhZ2Uuc2NvcmUtY2xhc3MtZCAuc2NvcmUtZnJlZGRpZSB7XG4gIGJhY2tncm91bmQtc2l6ZTogY29udGFpbjtcbn1cbi5zY29yZS1wYWdlLnNjb3JlLWNsYXNzLWQgLnNob3ctZnJlZGRpZSAuc2NvcmUtZnJlZGRpZSB7XG4gIGFuaW1hdGlvbi1uYW1lOiBwb3BvdXRDO1xufVxuLnNjb3JlLXBhZ2Uuc2NvcmUtY2xhc3MtZCBtYWluIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKC9pbWFnZXMvYmctc2NvcmUtZC5qcGcpO1xufVxuLnNjb3JlLXBhZ2Uuc2NvcmUtY2xhc3MtYSAudG90YWwtc2NvcmUtY29udGFpbmVyOmJlZm9yZSwgLnNjb3JlLXBhZ2Uuc2NvcmUtY2xhc3MtYiAudG90YWwtc2NvcmUtY29udGFpbmVyOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXCI7XG4gIHBvc2l0aW9uOiBmaXhlZDtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogMTAwJTtcbiAgbGVmdDogMDtcbiAgdG9wOiAwO1xuICBiYWNrZ3JvdW5kOiByYWRpYWwtZ3JhZGllbnQoZWxsaXBzZSBhdCBjZW50ZXIsIHJnYmEoMjU1LCAyNTUsIDI1NSwgMC44KSAwJSwgcmdiYSgyNTUsIDI1NSwgMjU1LCAwKSAxMDAlKTtcbiAgei1pbmRleDogMjA7XG4gIG9wYWNpdHk6IDA7XG4gIHBvaW50ZXItZXZlbnRzOiBub25lO1xufVxuLnNjb3JlLXBhZ2Uuc2NvcmUtY2xhc3MtYSAudG90YWwtc2NvcmUtY29udGFpbmVyLmZsYXNoOmJlZm9yZSwgLnNjb3JlLXBhZ2Uuc2NvcmUtY2xhc3MtYiAudG90YWwtc2NvcmUtY29udGFpbmVyLmZsYXNoOmJlZm9yZSB7XG4gIGFuaW1hdGlvbi1kdXJhdGlvbjogMC40NXM7XG4gIGFuaW1hdGlvbi1uYW1lOiBmbGFzaDtcbn1cbi5zY29yZS1wYWdlIG1haW4ge1xuICBiYWNrZ3JvdW5kLXNpemU6IGNvdmVyO1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXI7XG59XG5AbWVkaWEgKG1pbi13aWR0aDogMTAyNHB4KSB7XG4gIC5zY29yZS1wYWdlIG1haW4ge1xuICAgIHBhZGRpbmc6IDUwcHggMCA0MHB4O1xuICB9XG59XG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChvcmllbnRhdGlvbjogbGFuZHNjYXBlKSBhbmQgKG1pbi1kZXZpY2Utd2lkdGg6IDEwMHB4KSBhbmQgKG1heC1kZXZpY2Utd2lkdGg6IDgyNHB4KSB7XG4gIC5zY29yZS1wYWdlIG1haW4ge1xuICAgIHBhZGRpbmc6IDAlO1xuICB9XG59XG4uc2NvcmUtcGFnZSBtYWluIC5zY29yZS1kZXRhaWwge1xuICBtYXJnaW46IDMwcHggMCA2MHB4O1xufVxuLnNjb3JlLXBhZ2UgbWFpbiAuc2NvcmUtZGV0YWlsIC5zb25nLXRpdGxlLWNvbnRhaW5lciB7XG4gIHBhZGRpbmctYm90dG9tOiAyNXB4O1xuICBtYXJnaW4tYm90dG9tOiAyNXB4O1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGZvbnQtc2l6ZTogMS44cmVtO1xufVxuLnNjb3JlLXBhZ2UgbWFpbiAuc2NvcmUtZGV0YWlsIC5zb25nLXRpdGxlLWNvbnRhaW5lciBlbSB7XG4gIG1hcmdpbi1yaWdodDogMC41ZW07XG59XG4uc2NvcmUtcGFnZSBtYWluIC5zY29yZS1kZXRhaWwgLnNvbmctdGl0bGUtY29udGFpbmVyIC5zb25nLXRpdGxlIHtcbiAgZm9udC1mYW1pbHk6IFwiQXJjaGl2b1wiO1xuICBmb250LXNpemU6IDIuMXJlbTtcbn1cbi5zY29yZS1wYWdlIG1haW4gLnNjb3JlLWRldGFpbCAuc29uZy10aXRsZS1jb250YWluZXI6YWZ0ZXIge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGNvbnRlbnQ6IFwiXCI7XG4gIGxlZnQ6IDA7XG4gIGJvdHRvbTogMDtcbiAgaGVpZ2h0OiAxcHg7XG4gIHdpZHRoOiAxMDAlO1xuICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQodG8gcmlnaHQsIHRyYW5zcGFyZW50IDAlLCAjZmZmZmZmIDUwJSwgdHJhbnNwYXJlbnQgMTAwJSk7XG4gIG9wYWNpdHk6IDAuNTtcbn1cbi5zY29yZS1wYWdlIG1haW4gLnNjb3JlLWRldGFpbCAuc2NvcmUtbnVtYmVyIHtcbiAgbWFyZ2luLXRvcDogMTBweDtcbiAgZm9udC12YXJpYW50LW51bWVyaWM6IHRhYnVsYXItbnVtcztcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwcHgsIDBweCwgMHB4KTtcbn1cbi5zY29yZS1wYWdlIG1haW4gLnNjb3JlLWRldGFpbCAuY3RhLWRvd25sb2FkIHtcbiAgcGFkZGluZy1sZWZ0OiA0NXB4O1xuICBwYWRkaW5nLXJpZ2h0OiA0NXB4O1xufVxuQG1lZGlhIChtaW4td2lkdGg6IDEwMjRweCkge1xuICAuc2NvcmUtcGFnZSBtYWluIC5zY29yZS1kZXRhaWwge1xuICAgIG1hcmdpbi1ib3R0b206IDMwcHg7XG4gIH1cbn1cbi5zY29yZS1wYWdlIG1haW4gLmN0YS1jb250YWluZXIge1xuICBwYWRkaW5nLWJvdHRvbTogNDVweDtcbn1cbi5zY29yZS1wYWdlIG1haW4gLmN0YS1jb250YWluZXIgLmN0YS10cnktYWdhaW4ge1xuICBtYXJnaW4tdG9wOiAyNXB4O1xufVxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAob3JpZW50YXRpb246IGxhbmRzY2FwZSkgYW5kIChtaW4tZGV2aWNlLXdpZHRoOiAxMDBweCkgYW5kIChtYXgtZGV2aWNlLXdpZHRoOiA4MjRweCkge1xuICAuc2NvcmUtcGFnZSBtYWluIC5jdGEtY29udGFpbmVyIHtcbiAgICB0b3A6IC0yMnB4O1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgfVxufVxuLnNjb3JlLXBhZ2UgLnNjb3JlLWhlYWRsaW5lLWNvbnRhaW5lciB7XG4gIHBhZGRpbmc6IDQwcHggMDtcbn1cbi5zY29yZS1wYWdlIC5zY29yZS1oZWFkbGluZS1jb250YWluZXIgLmhlYWRsaW5lLXNjb3JlIHtcbiAgbGluZS1oZWlnaHQ6IDE7XG59XG4uc2NvcmUtcGFnZSAuc2NvcmUtaGVhZGxpbmUtY29udGFpbmVyIC5oZWFkbGluZS1zY29yZSBzcGFuIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIG1hcmdpbjogYXV0bztcbiAgZm9udC12YXJpYW50LW51bWVyaWM6IHRhYnVsYXItbnVtcztcbn1cbi5zY29yZS1wYWdlIC5zY29yZS1oZWFkbGluZS1jb250YWluZXIgLmxvZ28tZnJlZGRpZSB7XG4gIHdpZHRoOiAxMzFweDtcbiAgaGVpZ2h0OiA1MHB4O1xuICBiYWNrZ3JvdW5kLXNpemU6IGF1dG8gMzJweDtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogMDtcbn1cbi5zY29yZS1wYWdlIC5zY29yZS1jb250YWluZXIge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHBhZGRpbmctYm90dG9tOiAxMDAlO1xufVxuLnNjb3JlLXBhZ2UgLnNjb3JlLWNvbnRhaW5lciAuY2lyY2xlIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDA7XG4gIGxlZnQ6IDA7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IDEwMCU7XG59XG4uc2NvcmUtcGFnZSAuc2NvcmUtY29udGFpbmVyIC5jaXJjbGUtb3V0ZXIge1xuICB6LWluZGV4OiAyO1xufVxuLnNjb3JlLXBhZ2UgLnNjb3JlLWNvbnRhaW5lciAuY2lyY2xlLW91dGVyIGNpcmNsZSB7XG4gIHN0cm9rZTogIzk3OTc5NztcbiAgc3Ryb2tlLWRhc2hvZmZzZXQ6IDA7XG59XG4uc2NvcmUtcGFnZSAuc2NvcmUtY29udGFpbmVyIC5jaXJjbGUtaW5uZXIge1xuICBib3JkZXItcmFkaXVzOiAxMDAlO1xuICB6LWluZGV4OiAyO1xufVxuLnNjb3JlLXBhZ2UgLnNjb3JlLWNvbnRhaW5lciAuY2lyY2xlLWlubmVyIGNpcmNsZSB7XG4gIHRyYW5zZm9ybTogcm90YXRlKDkwZGVnKTtcbiAgdHJhbnNmb3JtLW9yaWdpbjogNTAlIDUwJTtcbn1cbi5zY29yZS1wYWdlIC5zY29yZS1jb250YWluZXIgLmNpcmNsZS1jbGlwIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xufVxuLnNjb3JlLXBhZ2UgLnNjb3JlLWNvbnRhaW5lciAuc2NvcmUtZnJlZGRpZSB7XG4gIHRyYW5zZm9ybS1vcmlnaW46IDUwJSA1MCU7XG4gIG9wYWNpdHk6IDA7XG4gIHotaW5kZXg6IDE7XG59XG4uc2NvcmUtcGFnZSAuc2NvcmUtY29udGFpbmVyIHN2ZyAuc2hpbW1lciB7XG4gIG9wYWNpdHk6IDA7XG4gIHdpbGwtY2hhbmdlOiBvcGFjaXR5O1xufVxuLnNjb3JlLXBhZ2UgLnNjb3JlLWxhYmVsIHtcbiAgZm9udC1zaXplOiAxLjhyZW07XG4gIGZvbnQtc3R5bGU6IGl0YWxpYztcbn1cbi5zY29yZS1wYWdlIC5zY29yZS1udW1iZXIge1xuICBmb250LWZhbWlseTogXCJBcmNoaXZvXCI7XG4gIGZvbnQtc2l6ZTogMi4xcmVtO1xufVxuLnNjb3JlLXBhZ2UgLm1vcmUgLnNjb3JlLWRldGFpbCB7XG4gIHBhZGRpbmc6IDQwcHggMDtcbn1cbi5zY29yZS1wYWdlIC5tb3JlIC5zY29yZS1kZXRhaWwgLnJvdyB7XG4gIG1heC13aWR0aDogNzUwcHg7XG4gIG1hcmdpbjogYXV0bztcbn1cbi5zY29yZS1wYWdlIC5tb3JlLWFib3V0IC5zY29yZS1hYm91dC1jb250YWluZXIge1xuICBwYWRkaW5nOiA4dncgMDtcbiAgcGFkZGluZy1ib3R0b206IDE1dnc7XG4gIGJhY2tncm91bmQ6IGJsYWNrO1xuICB3aWR0aDogMTAwJTtcbn1cbi5zY29yZS1wYWdlIC5tb3JlLWFib3V0IC5zY29yZS1hYm91dC1jb250YWluZXIgLmFib3V0LWNvbnRhaW5lciB7XG4gIG1heC13aWR0aDogMTAyNHB4O1xufVxuQG1lZGlhIChtaW4td2lkdGg6IDE0NDBweCkge1xuICAuc2NvcmUtcGFnZSAubW9yZS1hYm91dCAuc2NvcmUtYWJvdXQtY29udGFpbmVyIC5hYm91dC1jb250YWluZXIge1xuICAgIHdpZHRoOiBjYWxjKDUyJSAtIDgwcHgpO1xuICB9XG59XG5AbWVkaWEgKG1pbi13aWR0aDogMTAyNHB4KSB7XG4gIC5zY29yZS1wYWdlIC5tb3JlLWFib3V0IC5zY29yZS1hYm91dC1jb250YWluZXIgLmFib3V0LWNvbnRhaW5lciB7XG4gICAgd2lkdGg6IGNhbGMoNjIlIC0gODBweCk7XG4gIH1cbn1cbkBtZWRpYSAobWluLXdpZHRoOiA3NjhweCkge1xuICAuc2NvcmUtcGFnZSAubW9yZS1hYm91dCAuc2NvcmUtYWJvdXQtY29udGFpbmVyIC5hYm91dC1jb250YWluZXIge1xuICAgIHdpZHRoOiBjYWxjKDc1JSAtIDgwcHgpO1xuICB9XG59XG4uc2NvcmUtcGFnZSAubW9yZS1hYm91dCAucXVvdGUtY29udGFpbmVyIHtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiL2ltYWdlcy9mcmVkZGllLXF1b3RlLWJnLmpwZ1wiKTtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyO1xuICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICBiYWNrZ3JvdW5kLXNpemU6IGNvdmVyO1xuICBkaXNwbGF5OiBmbGV4O1xuICBmb250LXNpemU6IDIuODVyZW07XG4gIGhlaWdodDogNTUwcHg7XG4gIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7XG4gIGxldHRlci1zcGFjaW5nOiAtMC4xM3B4O1xuICBsaW5lLWhlaWdodDogMy40cmVtO1xuICBwYWRkaW5nOiAwIDY1cHg7XG59XG4uc2NvcmUtcGFnZSAubW9yZS1hYm91dCAucXVvdGUtY29udGFpbmVyIGJsb2NrcXVvdGUge1xuICBwYWRkaW5nLXRvcDogNSU7XG59XG4uc2NvcmUtcGFnZSAubW9yZS1hYm91dCAucXVvdGUtY29udGFpbmVyIGZvb3RlciB7XG4gIGZvbnQtc2l6ZTogMi4zcmVtO1xuICBwYWRkaW5nOiA4cHggMCAwO1xufVxuLnNjb3JlLXBhZ2UgLm1vcmUtYWJvdXQgLmxlYXJuLW1vcmUtY29udGFpbmVyIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzE0MTQxNDtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiL2ltYWdlcy9kb25hdGUtYmctbW9iaWxlLnBuZ1wiKTtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogYm90dG9tIGNlbnRlcjtcbiAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgYmFja2dyb3VuZC1zaXplOiBjb250YWluO1xuICBtaW4taGVpZ2h0OiAxMDB2aDtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIG1hcmdpbi10b3A6IDc1cHg7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIHBhZGRpbmc6IDRlbSAwO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHdpZHRoOiAxMDAlO1xufVxuQG1lZGlhIChtaW4td2lkdGg6IDEwMjRweCkge1xuICAuc2NvcmUtcGFnZSAubW9yZS1hYm91dCAubGVhcm4tbW9yZS1jb250YWluZXIge1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybChcIi9pbWFnZXMvZG9uYXRlLWJnLWRlc2t0b3AucG5nXCIpO1xuICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gICAgYmFja2dyb3VuZC1zaXplOiBjb3ZlcjtcbiAgfVxufVxuLnNjb3JlLXBhZ2UgLm1vcmUtYWJvdXQgLmxlYXJuLW1vcmUtY29udGFpbmVyIC5hYm91dC1jb250YWluZXIge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHotaW5kZXg6IDE7XG4gIHdpZHRoOiBjYWxjKDY2JSAtIDgwcHgpO1xuICBtaW4td2lkdGg6IDM1MHB4O1xuICBncmlkLXJvdy1nYXA6IDQuN3Z3O1xufVxuLnNjb3JlLXBhZ2UgLm1vcmUtYWJvdXQgLmxlYXJuLW1vcmUtY29udGFpbmVyIC5hYm91dC1jb250YWluZXIgaDIge1xuICBmb250LXNpemU6IGNhbGMoMjdweCArIDAuMnZ3KTtcbn1cbi5zY29yZS1wYWdlIC5tb3JlLWFib3V0IC5sZWFybi1tb3JlLWNvbnRhaW5lciAuYWJvdXQtY29udGFpbmVyIHAge1xuICBtYXgtd2lkdGg6IDI5OHB4O1xuICBqdXN0aWZ5LXNlbGY6IGNlbnRlcjtcbn1cbkBtZWRpYSAobWluLXdpZHRoOiA3NjhweCkge1xuICAuc2NvcmUtcGFnZSAubW9yZS1hYm91dCAubGVhcm4tbW9yZS1jb250YWluZXIgLmFib3V0LWNvbnRhaW5lciBwIHtcbiAgICBtYXgtd2lkdGg6IDEwMCU7XG4gIH1cbn1cbi5zY29yZS1wYWdlIC5tb3JlLWFib3V0IC5sZWFybi1tb3JlLWNvbnRhaW5lciAuYWJvdXQtY29udGFpbmVyIGEge1xuICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcbn1cbi5zY29yZS1wYWdlIC5tb3JlLWFib3V0IC5sZWFybi1tb3JlLWNvbnRhaW5lciAuYWJvdXQtY29udGFpbmVyIGEuY3RhLXVuZGVybGluZSwgLnNjb3JlLXBhZ2UgLm1vcmUtYWJvdXQgLmxlYXJuLW1vcmUtY29udGFpbmVyIC5hYm91dC1jb250YWluZXIgYS5jdGEtdW5kZXJsaW5lLXZ3IHtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xufVxuLnNjb3JlLXBhZ2UgLm1vcmUtYWJvdXQgLmxlYXJuLW1vcmUtY29udGFpbmVyIHAge1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG59XG4uc2NvcmUtcGFnZSAubW9yZS1hYm91dCAuYWJvdXQtY29udGFpbmVyIHtcbiAgbWFyZ2luOiAwcHggYXV0bztcbiAgd2lkdGg6IGNhbGMoODAlIC0gODBweCk7XG4gIG1pbi13aWR0aDogMzUwcHg7XG4gIGRpc3BsYXk6IGdyaWQ7XG4gIGdyaWQtcm93LWdhcDogNC4zdnc7XG59XG4uc2NvcmUtcGFnZSAubW9yZS1hYm91dCAuYWJvdXQtY29udGFpbmVyIGgyIHtcbiAgZm9udC1zaXplOiBjYWxjKDI3cHggKyAwLjJ2dyk7XG4gIGFsaWduLXNlbGY6IGNlbnRlcjtcbiAganVzdGlmeS1zZWxmOiBjZW50ZXI7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgcGFkZGluZzogMHB4IDEwJTtcbn1cbi5zY29yZS1wYWdlIC5tb3JlLWFib3V0IC5hYm91dC1jb250YWluZXIgLnNjb3JlLWFib3V0IHtcbiAgZGlzcGxheTogZ3JpZDtcbiAgZ3JpZC10ZW1wbGF0ZS1hcmVhczogXCJwMVwiIFwic2NvcmVzXCIgXCJwMlwiIFwicDNcIjtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgZ3JpZC1jb2x1bW4tZ2FwOiAzZW07XG59XG5AbWVkaWEgKG1pbi13aWR0aDogMTQ0MHB4KSB7XG4gIC5zY29yZS1wYWdlIC5tb3JlLWFib3V0IC5hYm91dC1jb250YWluZXIgLnNjb3JlLWFib3V0IHtcbiAgICBncmlkLXRlbXBsYXRlLWFyZWFzOiBcInAxIHNjb3Jlc1wiIFwicDIgLlwiIFwicDMgLlwiO1xuICB9XG59XG5AbWVkaWEgKG1pbi13aWR0aDogMTAyNHB4KSB7XG4gIC5zY29yZS1wYWdlIC5tb3JlLWFib3V0IC5hYm91dC1jb250YWluZXIgLnNjb3JlLWFib3V0IHtcbiAgICBncmlkLXRlbXBsYXRlLWFyZWFzOiBcInAxIHNjb3Jlc1wiIFwicDIgLlwiIFwicDMgLlwiO1xuICB9XG59XG4uc2NvcmUtcGFnZSAubW9yZS1hYm91dCAuYWJvdXQtY29udGFpbmVyIC5zY29yZS1hYm91dCA+IHAge1xuICBhbGlnbi1zZWxmOiBzdGFydDtcbiAgZm9udC1zaXplOiBjYWxjKDE2cHggKyAwLjR2dyk7XG4gIG1hcmdpbi1ib3R0b206IDEuOGVtO1xuICBjb2xvcjogd2hpdGU7XG59XG4uc2NvcmUtcGFnZSAubW9yZS1hYm91dCAuYWJvdXQtY29udGFpbmVyIC5zY29yZS1hYm91dCA+IHA6bnRoLWNoaWxkKDEpIHtcbiAgZ3JpZC1hcmVhOiBwMTtcbn1cbi5zY29yZS1wYWdlIC5tb3JlLWFib3V0IC5hYm91dC1jb250YWluZXIgLnNjb3JlLWFib3V0ID4gcDpudGgtY2hpbGQoMikge1xuICBncmlkLWFyZWE6IHAyO1xufVxuLnNjb3JlLXBhZ2UgLm1vcmUtYWJvdXQgLmFib3V0LWNvbnRhaW5lciAuc2NvcmUtYWJvdXQgPiBwOm50aC1jaGlsZCgzKSB7XG4gIGdyaWQtYXJlYTogcDM7XG59XG4uc2NvcmUtcGFnZSAubW9yZS1hYm91dCAuYWJvdXQtY29udGFpbmVyIC5zY29yZS1hYm91dCB1bC5zY29yZXMge1xuICBkaXNwbGF5OiBncmlkO1xuICBhbGlnbi1zZWxmOiBzdGFydDtcbiAgZm9udC1zaXplOiAwLjZlbTtcbiAgbWFyZ2luLWJvdHRvbTogM2VtO1xufVxuQG1lZGlhIChtaW4td2lkdGg6IDE0NDBweCkge1xuICAuc2NvcmUtcGFnZSAubW9yZS1hYm91dCAuYWJvdXQtY29udGFpbmVyIC5zY29yZS1hYm91dCB1bC5zY29yZXMge1xuICAgIGdyaWQtcm93OiBzcGFuIDM7XG4gIH1cbn1cbkBtZWRpYSAobWluLXdpZHRoOiAxMDI0cHgpIHtcbiAgLnNjb3JlLXBhZ2UgLm1vcmUtYWJvdXQgLmFib3V0LWNvbnRhaW5lciAuc2NvcmUtYWJvdXQgdWwuc2NvcmVzIHtcbiAgICBncmlkLXJvdzogc3BhbiAzO1xuICB9XG59XG4uc2NvcmUtcGFnZSAubW9yZS1hYm91dCAuYWJvdXQtY29udGFpbmVyIC5zY29yZS1hYm91dCB1bC5zY29yZXMgbGkge1xuICBkaXNwbGF5OiBncmlkO1xuICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDZlbSBhdXRvO1xuICBncmlkLXRlbXBsYXRlLXJvd3M6IDQyJSA1MyU7XG4gIGdyaWQtY29sdW1uLWdhcDogMS4zZW07XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIG1hcmdpbjogOXB4IDA7XG59XG4uc2NvcmUtcGFnZSAubW9yZS1hYm91dCAuYWJvdXQtY29udGFpbmVyIC5zY29yZS1hYm91dCB1bC5zY29yZXMgbGkgLndpZGdldCB7XG4gIGdyaWQtY29sdW1uOiAxO1xuICBncmlkLXJvdzogMS9zcGFuIDI7XG4gIGFsaWduLXNlbGY6IG5vcm1hbDtcbn1cbi5zY29yZS1wYWdlIC5tb3JlLWFib3V0IC5hYm91dC1jb250YWluZXIgLnNjb3JlLWFib3V0IHVsLnNjb3JlcyBsaSAudGl0bGUge1xuICBncmlkLWNvbHVtbjogc3BhbiAxO1xuICBhbGlnbi1zZWxmOiBlbmQ7XG4gIGZvbnQtc2l6ZTogMS4zZW07XG59XG4uc2NvcmUtcGFnZSAubW9yZS1hYm91dCAuYWJvdXQtY29udGFpbmVyIC5zY29yZS1hYm91dCB1bC5zY29yZXMgbGkgLmRlc2NyaXB0aW9uIHtcbiAgZ3JpZC1jb2x1bW46IHNwYW4gMTtcbiAgYWxpZ24tc2VsZjogc3RhcnQ7XG4gIHBhZGRpbmctcmlnaHQ6IDIwJTtcbiAgbWFyZ2luLXRvcDogNnB4O1xuICBmb250LXN0eWxlOiBpdGFsaWM7XG4gIGZvbnQtc2l6ZTogMS4xNWVtO1xufVxuLnNjb3JlLXBhZ2UgLm1vcmUtYWJvdXQgLmFib3V0LWNvbnRhaW5lciAuc2NvcmUtYWJvdXQgdWwuc2NvcmVzIGxpIC5kZXRhaWwtaXRlbSAuc2NvcmUtbnVtYmVyIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDUwJTtcbiAgbGVmdDogNTAlO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAtNTAlKTtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBmb250LXNpemU6IDEuM2VtO1xufVxuLnNjb3JlLXBhZ2UgLm1vcmUtYWJvdXQgLm1vcmUtaGVhZGxpbmUge1xuICBmb250LWZhbWlseTogXCJBcmNoaXZvIEJsYWNrXCI7XG4gIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG59XG4uc2NvcmUtcGFnZSAudG90YWwtc2NvcmUtY29udGFpbmVyIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB6LWluZGV4OiAxO1xufVxuLnNjb3JlLXBhZ2UgLnRvdGFsLXNjb3JlLWNvbnRhaW5lciAuc2NvcmUtY29udGFpbmVyIHtcbiAgbWFyZ2luLXRvcDogLTU1cHg7XG4gIHBhZGRpbmctYm90dG9tOiAxMTElO1xufVxuLnNjb3JlLXBhZ2UgLnRvdGFsLXNjb3JlLWNvbnRhaW5lciAuc2NvcmUtY29udGFpbmVyICNteS1tYXNrIHtcbiAgdHJhbnNmb3JtOiBzY2FsZSgwLjk5LCAwLjk5KSB0cmFuc2xhdGUoMC4xNSUsIDAuMyUpO1xuICB0cmFuc2Zvcm0tb3JpZ2luOiBsZWZ0IGNlbnRlcjtcbn1cbi5zY29yZS1wYWdlIC50b3RhbC1zY29yZS1jb250YWluZXIgLmRldGFpbC1pdGVtLWNvbnRhaW5lciB7XG4gIHBhZGRpbmc6IDAgMTAlO1xufVxuLnNjb3JlLXBhZ2UgLnRvdGFsLXNjb3JlLWNvbnRhaW5lciAuZGV0YWlsLWl0ZW0tY29udGFpbmVyIC5kZXRhaWwtaXRlbSB7XG4gIHdpZHRoOiAzMy4zJTtcbn1cbkBtZWRpYSAobWluLXdpZHRoOiAxMDI0cHgpIHtcbiAgLnNjb3JlLXBhZ2UgLnRvdGFsLXNjb3JlLWNvbnRhaW5lciB7XG4gICAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICB9XG4gIC5zY29yZS1wYWdlIC50b3RhbC1zY29yZS1jb250YWluZXIgLnRvdGFsLXNjb3JlIHtcbiAgICBvcmRlcjogMDtcbiAgICBmbGV4LXNocmluazogMDtcbiAgICBwYWRkaW5nOiAwO1xuICAgIG1hcmdpbi1yaWdodDogMDtcbiAgICBtYXJnaW4tbGVmdDogY2FsYyg4LjMzMzMzMzMzMzMlICsgMTBweCk7XG4gIH1cbiAgLnNjb3JlLXBhZ2UgLnRvdGFsLXNjb3JlLWNvbnRhaW5lciAuc2NvcmUtaGVhZGxpbmUtY29udGFpbmVyIHtcbiAgICBvcmRlcjogMTtcbiAgICBmbGV4LXNocmluazogMDtcbiAgICB3aWR0aDogNDAlO1xuICAgIHBhZGRpbmc6IDA7XG4gICAgbWFyZ2luOiAwO1xuICAgIGFsaWduLXNlbGY6IGZsZXgtc3RhcnQ7XG4gIH1cbiAgLnNjb3JlLXBhZ2UgLnRvdGFsLXNjb3JlLWNvbnRhaW5lciAuc2NvcmUtZGV0YWlsLWNvbnRhaW5lciB7XG4gICAgb3JkZXI6IDI7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIG1hcmdpbjogMCAwIDAgLTQwJTtcbiAgICBwYWRkaW5nLXRvcDogMjA1cHg7XG4gICAgd2lkdGg6IDQwJTtcbiAgfVxufVxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAob3JpZW50YXRpb246IGxhbmRzY2FwZSkgYW5kIChtaW4tZGV2aWNlLXdpZHRoOiAxMDBweCkgYW5kIChtYXgtZGV2aWNlLXdpZHRoOiA4MjRweCkge1xuICAuc2NvcmUtcGFnZSAudG90YWwtc2NvcmUtY29udGFpbmVyIHtcbiAgICBoZWlnaHQ6IDEwMHZoO1xuICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgfVxuICAuc2NvcmUtcGFnZSAudG90YWwtc2NvcmUtY29udGFpbmVyIC50b3RhbC1zY29yZSB7XG4gICAgb3JkZXI6IDA7XG4gICAgZmxleC1zaHJpbms6IDA7XG4gICAgcGFkZGluZzogMDtcbiAgICBtYXJnaW46IDA7XG4gICAgZmxleC1iYXNpczogY2FsYyg0MS42NjY2NjY2NjY3JSAtIDIwcHgpO1xuICB9XG4gIC5zY29yZS1wYWdlIC50b3RhbC1zY29yZS1jb250YWluZXIgLnNjb3JlLWhlYWRsaW5lLWNvbnRhaW5lciB7XG4gICAgb3JkZXI6IDE7XG4gICAgZmxleC1zaHJpbms6IDA7XG4gICAgd2lkdGg6IDQwJTtcbiAgICBwYWRkaW5nOiAwO1xuICAgIG1hcmdpbjogMDtcbiAgICBhbGlnbi1zZWxmOiBmbGV4LXN0YXJ0O1xuICB9XG4gIC5zY29yZS1wYWdlIC50b3RhbC1zY29yZS1jb250YWluZXIgLnNjb3JlLWRldGFpbC1jb250YWluZXIge1xuICAgIG9yZGVyOiAyO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBtYXJnaW46IDAgMCAwIC00MCU7XG4gICAgcGFkZGluZy10b3A6IDIwJTtcbiAgICB3aWR0aDogNDAlO1xuICB9XG59XG4uc2NvcmUtcGFnZSAqW3RhYmluZGV4PVwiMFwiXTpmb2N1cyB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbn1cbi5zY29yZS1wYWdlICpbdGFiaW5kZXg9XCIwXCJdOmZvY3VzOmFmdGVyIHtcbiAgY29udGVudDogXCJcIjtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBsZWZ0OiAwO1xuICBib3R0b206IDA7XG4gIGhlaWdodDogMXB4O1xuICB3aWR0aDogMTAwJTtcbiAgYmFja2dyb3VuZDogd2hpdGU7XG59XG4uc2NvcmUtcGFnZSAuaGVhZGxpbmUtc2NvcmUsXG4uc2NvcmUtcGFnZSAubG9nby1mcmVkZGllIHtcbiAgdHJhbnNpdGlvbjogYWxsIDAuNXMgY3ViaWMtYmV6aWVyKDAuMjE1LCAwLjYxLCAwLjM1NSwgMSk7XG59XG4uc2NvcmUtcGFnZSAuc2NvcmUtY29udGFpbmVyLFxuLnNjb3JlLXBhZ2UgLmNpcmNsZS1vdXRlciBjaXJjbGUge1xuICB0cmFuc2l0aW9uOiBhbGwgMXMgY3ViaWMtYmV6aWVyKDAuMjE1LCAwLjYxLCAwLjM1NSwgMSk7XG59XG4uc2NvcmUtcGFnZSAuY2lyY2xlLW91dGVyIHtcbiAgYm9yZGVyLXJhZGl1czogMTAwJTtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbn1cbi5zY29yZS1wYWdlIC5sb2dvLWZyZWRkaWUge1xuICB0cmFuc2l0aW9uLWRlbGF5OiAwLjA1cztcbn1cbi5zY29yZS1wYWdlIC5idG4tY2xvc2Uge1xuICB0cmFuc2l0aW9uOiBhbGwgMXMgY3ViaWMtYmV6aWVyKDAuMTksIDEsIDAuMjIsIDEpO1xuICB0cmFuc2Zvcm06IHNjYWxlKDEpO1xufVxuLnNjb3JlLXBhZ2UgLnNjb3JlLWRldGFpbC1jb250YWluZXIgLnNvbmctdGl0bGUtY29udGFpbmVyLFxuLnNjb3JlLXBhZ2UgLnNjb3JlLWRldGFpbC1jb250YWluZXIgLnNjb3JlLWxhYmVsLFxuLnNjb3JlLXBhZ2UgLnNjb3JlLWRldGFpbC1jb250YWluZXIgLnNjb3JlLW51bWJlciB7XG4gIHRyYW5zaXRpb246IGFsbCAwLjVzIGN1YmljLWJlemllcigwLjIxNSwgMC42MSwgMC4zNTUsIDEpO1xufVxuLnNjb3JlLXBhZ2UgLnNjb3JlLWRldGFpbC1jb250YWluZXIgLnNvbmctdGl0bGUtY29udGFpbmVyIHtcbiAgdHJhbnNpdGlvbi1kZWxheTogMC4xcztcbn1cbi5zY29yZS1wYWdlIC5zY29yZS1kZXRhaWwtY29udGFpbmVyIC5kZXRhaWwtaXRlbTpudGgtY2hpbGQoMSkgLnNjb3JlLWxhYmVsIHtcbiAgdHJhbnNpdGlvbi1kZWxheTogMC4xNXM7XG59XG4uc2NvcmUtcGFnZSAuc2NvcmUtZGV0YWlsLWNvbnRhaW5lciAuZGV0YWlsLWl0ZW06bnRoLWNoaWxkKDEpIC5zY29yZS1udW1iZXIge1xuICB0cmFuc2l0aW9uLWRlbGF5OiAwLjJzO1xufVxuLnNjb3JlLXBhZ2UgLnNjb3JlLWRldGFpbC1jb250YWluZXIgLnNvbmctdGl0bGUtY29udGFpbmVyIHtcbiAgdHJhbnNpdGlvbi1kZWxheTogMC4xcztcbn1cbi5zY29yZS1wYWdlIC5zY29yZS1kZXRhaWwtY29udGFpbmVyIC5kZXRhaWwtaXRlbTpudGgtY2hpbGQoMikgLnNjb3JlLWxhYmVsIHtcbiAgdHJhbnNpdGlvbi1kZWxheTogMC4zcztcbn1cbi5zY29yZS1wYWdlIC5zY29yZS1kZXRhaWwtY29udGFpbmVyIC5kZXRhaWwtaXRlbTpudGgtY2hpbGQoMikgLnNjb3JlLW51bWJlciB7XG4gIHRyYW5zaXRpb24tZGVsYXk6IDAuNHM7XG59XG4uc2NvcmUtcGFnZSAuc2NvcmUtZGV0YWlsLWNvbnRhaW5lciAuc29uZy10aXRsZS1jb250YWluZXIge1xuICB0cmFuc2l0aW9uLWRlbGF5OiAwLjFzO1xufVxuLnNjb3JlLXBhZ2UgLnNjb3JlLWRldGFpbC1jb250YWluZXIgLmRldGFpbC1pdGVtOm50aC1jaGlsZCgzKSAuc2NvcmUtbGFiZWwge1xuICB0cmFuc2l0aW9uLWRlbGF5OiAwLjQ1cztcbn1cbi5zY29yZS1wYWdlIC5zY29yZS1kZXRhaWwtY29udGFpbmVyIC5kZXRhaWwtaXRlbTpudGgtY2hpbGQoMykgLnNjb3JlLW51bWJlciB7XG4gIHRyYW5zaXRpb24tZGVsYXk6IDAuNnM7XG59XG4uc2NvcmUtcGFnZSAuc2NvcmUtZGV0YWlsLWNvbnRhaW5lciAuY3RhLWNvbnRhaW5lciAuY3RhLWRvd25sb2FkLFxuLnNjb3JlLXBhZ2UgLnNjb3JlLWRldGFpbC1jb250YWluZXIgLmN0YS1jb250YWluZXIgLmN0YS10cnktYWdhaW4ge1xuICB0cmFuc2l0aW9uOiBhbGwgMXMgY3ViaWMtYmV6aWVyKDAuMTksIDEsIDAuMjIsIDEpO1xufVxuLnNjb3JlLXBhZ2UgLnNjb3JlLWRldGFpbC1jb250YWluZXIgLmN0YS1jb250YWluZXIgLmN0YS10cnktYWdhaW4ge1xuICB0cmFuc2l0aW9uLWRlbGF5OiAwLjI1cztcbn1cbi5zY29yZS1wYWdlIC5zY29yZS1kZXRhaWwtY29udGFpbmVyIC5jdGEtY29udGFpbmVyLmhpZGUgLmN0YS1kb3dubG9hZCB7XG4gIHRyYW5zZm9ybTogc2NhbGUoMCk7XG59XG4uc2NvcmUtcGFnZSAuc2NvcmUtZGV0YWlsLWNvbnRhaW5lciAuY3RhLWNvbnRhaW5lci5oaWRlIC5jdGEtdHJ5LWFnYWluIHtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDIwcHgpO1xuICBvcGFjaXR5OiAwO1xufVxuLnNjb3JlLXBhZ2UgLnNjb3JlLWNvbnRhaW5lciB7XG4gIHRyYW5zZm9ybTogc2NhbGUoMC43NSk7XG59XG4uc2NvcmUtcGFnZSAuc2NvcmUtY29udGFpbmVyLnNob3ctZnJlZGRpZSB7XG4gIHRyYW5zaXRpb246IGFsbCAwLjVzIGN1YmljLWJlemllcigwLjE3NSwgMC44ODUsIDAuMzIsIDEuMjc1KTtcbiAgdHJhbnNpdGlvbi1kZWxheTogMC4xcztcbiAgdHJhbnNmb3JtOiBzY2FsZSgxKTtcbn1cbi5zY29yZS1wYWdlIC5zY29yZS1jb250YWluZXIuc2hvdy1mcmVkZGllIC5zY29yZS1mcmVkZGllIHtcbiAgYW5pbWF0aW9uLWR1cmF0aW9uOiAxcztcbiAgb3BhY2l0eTogMTtcbn1cbi5zY29yZS1wYWdlLmhpZGUgLmhlYWRsaW5lLXNjb3JlLFxuLnNjb3JlLXBhZ2UuaGlkZSAubG9nby1mcmVkZGllIHtcbiAgb3BhY2l0eTogMDtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDIwcHgpO1xufVxuLnNjb3JlLXBhZ2UuaGlkZSAuYnRuLWNsb3NlLFxuLnNjb3JlLXBhZ2UuaGlkZSAuc2NvcmUtY29udGFpbmVyIHtcbiAgdHJhbnNmb3JtOiBzY2FsZSgwKTtcbn1cbi5zY29yZS1wYWdlLmhpZGUgLmNpcmNsZS1vdXRlciBjaXJjbGUge1xuICBzdHJva2Utd2lkdGg6IDY3OHB4O1xufVxuLnNjb3JlLXBhZ2UuaGlkZSAuc2NvcmUtZGV0YWlsLWNvbnRhaW5lciAuc29uZy10aXRsZS1jb250YWluZXIsXG4uc2NvcmUtcGFnZS5oaWRlIC5zY29yZS1kZXRhaWwtY29udGFpbmVyIC5zY29yZS1sYWJlbCxcbi5zY29yZS1wYWdlLmhpZGUgLnNjb3JlLWRldGFpbC1jb250YWluZXIgLnNjb3JlLW51bWJlciB7XG4gIG9wYWNpdHk6IDA7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgyMHB4KTtcbn0iXSwic291cmNlUm9vdCI6IiJ9*/