@charset "UTF-8";
/*! normalize.css v4.1.1 | MIT License | github.com/necolas/normalize.css */
/**
 * 1. Change the default font family in all browsers (opinionated).
 * 2. Prevent adjustments of font size after orientation changes in IE and iOS.
 */
html {
  font-family: sans-serif; /* 1 */
  -ms-text-size-adjust: 100%; /* 2 */
  -webkit-text-size-adjust: 100%; /* 2 */
}

/* apply a natural box layout model to all elements, but allowing components to change */
html {
  box-sizing: border-box;
}

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

sub {
  bottom: -0.25em;
}

sup {
  top: -0.5em;
}

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

/**
 *  remove ios styling. Only use on buttons and search inputs
 */
button, [type=search], [type=button] {
  -webkit-appearance: none;
  border-radius: 0;
  padding: 0;
}

input[type=number] {
  -moz-appearance: textfield;
}

input[type=number]::-webkit-inner-spin-button,
input[type=number]::-webkit-outer-spin-button {
  -webkit-appearance: none;
  margin: 0;
}

.assistive-text {
  clip: rect(1px, 1px, 1px, 1px);
  position: absolute !important;
  white-space: nowrap;
  height: 1px;
  width: 1px;
  overflow: hidden;
}

.assistive-text:hover, .assistive-text:active, .assistive-text:focus {
  font-size: 0.875em;
  font-weight: bold;
  line-height: normal;
  z-index: 100000;
  top: 5px;
  left: 5px;
  display: block;
  clip: auto !important;
  width: auto;
  height: auto;
  padding: 15px 23px 14px;
  text-decoration: none;
  color: #21759b;
  border-radius: 3px;
  background-color: #f1f1f1;
  box-shadow: 0 0 2px 2px rgba(0, 0, 0, 0.6);
}

.hide {
  display: none;
}

@-webkit-keyframes fadeIn {
  from {
    opacity: 0;
  }
  to {
    opacity: 1;
  }
}
@keyframes fadeIn {
  from {
    opacity: 0;
  }
  to {
    opacity: 1;
  }
}
@-webkit-keyframes fadeOut {
  from {
    opacity: 1;
  }
  to {
    opacity: 0;
  }
}
@keyframes fadeOut {
  from {
    opacity: 1;
  }
  to {
    opacity: 0;
  }
}
@-webkit-keyframes slideInLeft {
  from {
    -webkit-transform: translate3d(-100%, 0, 0);
    transform: translate3d(-100%, 0, 0);
    visibility: visible;
  }
  to {
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
  }
}
@keyframes slideInLeft {
  from {
    -webkit-transform: translate3d(-100%, 0, 0);
    transform: translate3d(-100%, 0, 0);
    visibility: visible;
  }
  to {
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
  }
}
@-webkit-keyframes slideInRight {
  from {
    -webkit-transform: translate3d(100%, 0, 0);
    transform: translate3d(100%, 0, 0);
    visibility: visible;
  }
  to {
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
  }
}
@keyframes slideInRight {
  from {
    -webkit-transform: translate3d(100%, 0, 0);
    transform: translate3d(100%, 0, 0);
    visibility: visible;
  }
  to {
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
  }
}
@-webkit-keyframes slideOutRight {
  from {
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
  }
  to {
    visibility: hidden;
    -webkit-transform: translate3d(100%, 0, 0);
    transform: translate3d(100%, 0, 0);
  }
}
@keyframes slideOutRight {
  from {
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
  }
  to {
    visibility: hidden;
    -webkit-transform: translate3d(100%, 0, 0);
    transform: translate3d(100%, 0, 0);
  }
}
@keyframes slideOutDown {
  from {
    transform: translate3d(0, 0, 0);
  }
  to {
    visibility: hidden;
    transform: translate3d(0, 100%, 0);
  }
}
@keyframes slideOutDown {
  from {
    transform: translate3d(0, 0, 0);
  }
  to {
    visibility: hidden;
    transform: translate3d(0, 100%, 0);
  }
}
.slideOutDown {
  animation-name: slideOutDown;
}

@keyframes slideOutLeft {
  from {
    transform: translate3d(0, 0, 0);
  }
  to {
    visibility: hidden;
    transform: translate3d(-100%, 0, 0);
  }
}
.slideOutLeft {
  animation-name: slideOutLeft;
}

@-webkit-keyframes slideInDown {
  from {
    -webkit-transform: translate3d(0, -100%, 0);
    transform: translate3d(0, -100%, 0);
    visibility: visible;
  }
  to {
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
  }
}
@keyframes slideInDown {
  from {
    -webkit-transform: translate3d(0, -100%, 0);
    transform: translate3d(0, -100%, 0);
    visibility: visible;
  }
  to {
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
  }
}
@-webkit-keyframes slideInUp {
  from {
    -webkit-transform: translate3d(0, 100%, 0);
    transform: translate3d(0, 100%, 0);
    visibility: visible;
  }
  to {
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
  }
}
@keyframes slideInUp {
  from {
    -webkit-transform: translate3d(0, 100%, 0);
    transform: translate3d(0, 100%, 0);
    visibility: visible;
  }
  to {
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
  }
}
@-webkit-keyframes bounce {
  0% {
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
    visibility: visible;
  }
  50% {
    -webkit-transform: translate3d(0, 30px, 0);
    transform: translate3d(0, 30px, 0);
    visibility: visible;
  }
  100% {
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
    visibility: visible;
  }
}
@keyframes bounce {
  0% {
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
    visibility: visible;
  }
  50% {
    -webkit-transform: translate3d(0, 30px, 0);
    transform: translate3d(0, 30px, 0);
    visibility: visible;
  }
  100% {
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
    visibility: visible;
  }
}
@-webkit-keyframes MoonImageAnimation {
  0% {
    opacity: 0.15;
  }
  75% {
    opacity: 1;
  }
  85% {
    opacity: 0;
  }
  100% {
    opacity: 0.15;
  }
}
@keyframes MoonImageAnimation {
  0% {
    opacity: 0.15;
  }
  75% {
    opacity: 1;
  }
  85% {
    opacity: 0;
  }
  100% {
    opacity: 0.15;
  }
}
@-webkit-keyframes MoonGradientRise {
  0% {
    transform: translateY(0);
  }
  85% {
    transform: translateY(100%);
  }
  100% {
    transform: translateY(0);
  }
}
@keyframes MoonGradientRise {
  0% {
    transform: translateY(0);
  }
  85% {
    transform: translateY(100%);
  }
  100% {
    transform: translateY(0);
  }
}
@-webkit-keyframes MoonTypeReveal {
  0% {
    letter-spacing: inherit;
  }
  85% {
    letter-spacing: 0.15em;
  }
  100% {
    letter-spacing: 0.15em;
  }
}
@keyframes MoonTypeReveal {
  0% {
    letter-spacing: inherit;
  }
  85% {
    letter-spacing: 0.15em;
  }
  100% {
    letter-spacing: 0.15em;
  }
}
body {
  font-family: "Muli", "Trebuchet MS", sans-serif;
  line-height: 1.625;
  font-size: 1em;
  -webkit-font-smoothing: antialiased;
  -moz-font-smoothing: antialiased;
}

h1,
h2,
h3,
h4,
h5,
h6,
.alpha,
.beta,
.gamma,
.delta,
.epsilon,
.zeta {
  margin-top: 0;
  font-weight: 700;
}

.alpha {
  color: #434343;
  font-size: 2.25em;
  line-height: 1.05;
}
.alpha:before {
  display: block;
  content: "";
  height: 0.1666em;
  width: 4.1677em;
  background: #f3ad00;
  margin-bottom: 0.35em;
}
.alpha:after {
  display: none;
}

h2,
.beta {
  color: #434343;
  font-size: 2em;
  margin-bottom: 1em;
  line-height: 1.0625;
}
h2:after,
.beta:after {
  margin-top: 0.4em;
  display: block;
  content: "";
  height: 0.1875em;
  width: 3.125em;
  background: #f3ad00;
}
h2.alternate,
.beta.alternate {
  padding: 0.5em 0 0.25em;
  margin-bottom: 0.5em;
}
h2.alternate:after,
.beta.alternate:after {
  margin-top: 0;
  display: block;
  content: "";
  height: 0.1875em;
  width: 3.125em;
  background: #4872b4;
  position: absolute;
  top: 0.8em;
  margin-bottom: 1em;
}

.premiere-date {
  color: #777777;
  font-size: 2em;
  margin-bottom: 0.5em;
  line-height: 1.0625;
}

.overline {
  margin-bottom: 1.5em;
}
.overline h1,
.overline .alpha {
  line-height: 1.05;
  margin-bottom: 0.2em;
}
.overline h1:before,
.overline .alpha:before {
  display: none;
}
.overline:before {
  margin-top: 0.4em;
  margin-bottom: 0.75em;
  display: block;
  content: "";
  height: 0.375em;
  width: 9.375em;
  background: #f3ad00;
}

.js .alpha:before, .js .alpha:after,
.js h2:before,
.js h2:after,
.js .beta:before,
.js .beta:after,
.js .overline:before,
.js .overline:after {
  -webkit-transition: width 0.75s ease-in-out;
  -ms-transition: width 0.75s ease-in-out;
  transition: width 0.75s ease-in-out;
  width: 0;
}
.js .overline.animate:before {
  width: 9.375em;
}
.js .alpha.animate:before,
.js h2.alpha.animate:before {
  width: 4.1677em;
}
.js h2.animate:after,
.js .beta.animate:after {
  width: 3.125em;
}

h3,
.gamma {
  line-height: 1.25;
  color: #434343;
  font-size: 1.625em;
}

h4,
.delta {
  color: #999999;
  font-size: 1.5em;
  line-height: 1.07;
}

h5,
.epislon {
  color: black;
  font-size: 1.375em;
  line-height: 1.08;
}

h6,
.zeta {
  color: #777777;
  font-family: "Roboto Slab", serif;
  text-transform: uppercase;
  font-size: 0.875em;
  letter-spacing: 0.0714em;
}

p {
  margin: 0 0 1.666667em;
  font-size: 1.125em;
}
p:empty {
  display: none;
}

.plugin-container ol,
.plugin-container ul {
  font-size: 1.125em;
  margin: 0 0 1.666667em;
  padding-left: 1.5em;
}
@media (min-width: 40.625em) {
  .plugin-container ol,
  .plugin-container ul {
    padding-left: 2.5em;
  }
}
.plugin-container ol li,
.plugin-container ul li {
  margin-bottom: 1em;
}
.plugin-container ol {
  padding-left: 2em;
}
@media (min-width: 40.625em) {
  .plugin-container ol {
    padding-left: 3em;
  }
}
.plugin-container ul {
  list-style: none;
}
.plugin-container ul li {
  position: relative;
  padding-left: 0.5em;
}
.plugin-container ul li:before {
  display: inline-block;
  position: absolute;
  top: 0;
  left: -0.5em;
  line-height: 1.5;
  content: "•";
  color: #f3ad00;
}

.two-up:after {
  display: table;
  clear: both;
  content: "";
}
.two-up:before {
  display: table;
  clear: both;
  content: "";
}
.two-up li {
  margin-bottom: 3em;
}
@media (min-width: 40.625em) {
  .two-up li {
    width: 47.3684210526%;
    float: left;
  }
  .two-up li:nth-child(2n+1) {
    margin-left: 0;
    margin-right: -100%;
    clear: both;
    margin-left: 0;
  }
  .two-up li:nth-child(2n+2) {
    margin-left: 52.6315789474%;
    margin-right: -100%;
    clear: none;
  }
}
@media (min-width: 68.75em) {
  .two-up li {
    width: 48.7179487179%;
    float: left;
  }
  .two-up li:nth-child(2n+1) {
    margin-left: 0;
    margin-right: -100%;
    clear: both;
    margin-left: 0;
  }
  .two-up li:nth-child(2n+2) {
    margin-left: 51.2820512821%;
    margin-right: -100%;
    clear: none;
  }
}
@media (min-width: 81.25em) {
  .two-up li {
    width: 49.1525423729%;
    float: left;
  }
  .two-up li:nth-child(2n+1) {
    margin-left: 0;
    margin-right: -100%;
    clear: both;
    margin-left: 0;
  }
  .two-up li:nth-child(2n+2) {
    margin-left: 50.8474576271%;
    margin-right: -100%;
    clear: none;
  }
}

.three-up:after {
  display: table;
  clear: both;
  content: "";
}
.three-up:before {
  display: table;
  clear: both;
  content: "";
}
.three-up li {
  margin-bottom: 3em;
}
@media (min-width: 40.625em) {
  .three-up li {
    width: 47.3684210526%;
    float: left;
  }
  .three-up li:nth-child(2n+1) {
    margin-left: 0;
    margin-right: -100%;
    clear: both;
    margin-left: 0;
  }
  .three-up li:nth-child(2n+2) {
    margin-left: 52.6315789474%;
    margin-right: -100%;
    clear: none;
  }
}
@media (min-width: 68.75em) {
  .three-up li {
    width: 31.6153846154%;
    float: left;
  }
  .three-up li:nth-child(3n+1) {
    margin-left: 0;
    margin-right: -100%;
    clear: both;
    margin-left: 0;
  }
  .three-up li:nth-child(3n+2) {
    margin-left: 34.1794871795%;
    margin-right: -100%;
    clear: none;
  }
  .three-up li:nth-child(3n+3) {
    margin-left: 68.358974359%;
    margin-right: -100%;
    clear: none;
  }
}
@media (min-width: 81.25em) {
  .three-up li {
    width: 32.2033898305%;
    float: left;
  }
  .three-up li:nth-child(3n+1) {
    margin-left: 0;
    margin-right: -100%;
    clear: both;
    margin-left: 0;
  }
  .three-up li:nth-child(3n+2) {
    margin-left: 33.8983050847%;
    margin-right: -100%;
    clear: none;
  }
  .three-up li:nth-child(3n+3) {
    margin-left: 67.7966101695%;
    margin-right: -100%;
    clear: none;
  }
}

.four-up:after {
  display: table;
  clear: both;
  content: "";
}
.four-up:before {
  display: table;
  clear: both;
  content: "";
}
.four-up h3.delta {
  font-size: 1.375em !important;
  line-height: 1.1 !important;
}
.four-up li {
  margin-bottom: 3em;
}
@media (min-width: 40.625em) {
  .four-up li {
    width: 47.3684210526%;
    float: left;
  }
  .four-up li:nth-child(2n+1) {
    margin-left: 0;
    margin-right: -100%;
    clear: both;
    margin-left: 0;
  }
  .four-up li:nth-child(2n+2) {
    margin-left: 52.6315789474%;
    margin-right: -100%;
    clear: none;
  }
}
@media (min-width: 68.75em) {
  .four-up li {
    width: 31.6153846154%;
    float: left;
  }
  .four-up li:nth-child(3n+1) {
    margin-left: 0;
    margin-right: -100%;
    clear: both;
    margin-left: 0;
  }
  .four-up li:nth-child(3n+2) {
    margin-left: 34.1794871795%;
    margin-right: -100%;
    clear: none;
  }
  .four-up li:nth-child(3n+3) {
    margin-left: 68.358974359%;
    margin-right: -100%;
    clear: none;
  }
}
@media (min-width: 81.25em) {
  .four-up li {
    width: 23.7288135593%;
    float: left;
  }
  .four-up li:nth-child(4n+1) {
    margin-left: 0;
    margin-right: -100%;
    clear: both;
    margin-left: 0;
  }
  .four-up li:nth-child(4n+2) {
    margin-left: 25.4237288136%;
    margin-right: -100%;
    clear: none;
  }
  .four-up li:nth-child(4n+3) {
    margin-left: 50.8474576271%;
    margin-right: -100%;
    clear: none;
  }
  .four-up li:nth-child(4n+4) {
    margin-left: 76.2711864407%;
    margin-right: -100%;
    clear: none;
  }
}
.four-up p {
  font-size: 1em;
  line-height: 1.5;
}

@media (min-width: 40.625em) {
  .five-up {
    margin-bottom: 3em;
    display: grid;
    grid-gap: 1.5em;
    justify-content: space-between;
    align-content: start;
    grid-template-columns: 1fr 1fr 1fr 1fr 1fr 1fr;
  }
}
@media (min-width: 81.25em) {
  .five-up {
    grid-template-columns: 1fr 1fr 1fr 1fr;
  }
}
.five-up h3.delta {
  font-size: 1.375em !important;
  line-height: 1.1 !important;
}
.five-up li {
  margin-bottom: 1.5em;
  box-sizing: border-box;
}
@media (min-width: 40.625em) {
  .five-up li:nth-child(1) {
    grid-column: 1/span 3;
    grid-row: 1;
  }
}
@media (min-width: 68.75em) {
  .five-up li:nth-child(1) {
    grid-column: 1/span 2;
    grid-row: 1;
  }
}
@media (min-width: 81.25em) {
  .five-up li:nth-child(1) {
    grid-column: 1/2;
    grid-row: 1;
  }
}
@media (min-width: 40.625em) {
  .five-up li:nth-child(2) {
    grid-column: 4/span 3;
    grid-row: 1;
  }
}
@media (min-width: 68.75em) {
  .five-up li:nth-child(2) {
    grid-column: 3/span 2;
    grid-row: 1;
  }
}
@media (min-width: 81.25em) {
  .five-up li:nth-child(2) {
    grid-column: 2/3;
    grid-row: 1;
  }
}
@media (min-width: 40.625em) {
  .five-up li:nth-child(3) {
    grid-column: 1/span 3;
    grid-row: 2;
  }
}
@media (min-width: 68.75em) {
  .five-up li:nth-child(3) {
    grid-column: 5/span 2;
    grid-row: 1;
  }
}
@media (min-width: 81.25em) {
  .five-up li:nth-child(3) {
    grid-column: 1/1;
    grid-row: 2;
  }
}
@media (min-width: 40.625em) {
  .five-up li:nth-child(4) {
    grid-column: 4/span 3;
    grid-row: 2;
  }
}
@media (min-width: 68.75em) {
  .five-up li:nth-child(4) {
    grid-column: 1/span 3;
    grid-row: 2;
  }
}
@media (min-width: 81.25em) {
  .five-up li:nth-child(4) {
    grid-column: 2/3;
    grid-row: 2;
  }
}
@media (min-width: 40.625em) {
  .five-up li:nth-child(5) {
    grid-column: 1/span 6;
    grid-row: 3;
    align-items: center;
  }
}
@media (min-width: 68.75em) {
  .five-up li:nth-child(5) {
    grid-column: 4/span 3;
    grid-row: 2;
    align-items: center;
  }
}
@media (min-width: 81.25em) {
  .five-up li:nth-child(5) {
    grid-column: 3/span 2;
    grid-row: 1/span 2;
    align-items: center;
  }
}
.five-up li p {
  font-size: 1em;
  line-height: 1.5;
}
@supports not (display: grid) {
  .five-up:after {
    display: table;
    clear: both;
    content: "";
  }
  .five-up:before {
    display: table;
    clear: both;
    content: "";
  }
  .five-up li {
    margin-bottom: 3em;
  }
  @media (min-width: 40.625em) {
    .five-up li {
      width: 47.3684210526%;
      float: left;
    }
    .five-up li:nth-child(2n+1) {
      margin-left: 0;
      margin-right: -100%;
      clear: both;
      margin-left: 0;
    }
    .five-up li:nth-child(2n+2) {
      margin-left: 52.6315789474%;
      margin-right: -100%;
      clear: none;
    }
  }
  @media (min-width: 68.75em) {
    .five-up li {
      width: 31.6153846154%;
      float: left;
    }
    .five-up li:nth-child(3n+1) {
      margin-left: 0;
      margin-right: -100%;
      clear: both;
      margin-left: 0;
    }
    .five-up li:nth-child(3n+2) {
      margin-left: 34.1794871795%;
      margin-right: -100%;
      clear: none;
    }
    .five-up li:nth-child(3n+3) {
      margin-left: 68.358974359%;
      margin-right: -100%;
      clear: none;
    }
  }
  @media (min-width: 81.25em) {
    .five-up li {
      width: 32.2033898305%;
      float: left;
    }
    .five-up li:nth-child(3n+1) {
      margin-left: 0;
      margin-right: -100%;
      clear: both;
      margin-left: 0;
    }
    .five-up li:nth-child(3n+2) {
      margin-left: 33.8983050847%;
      margin-right: -100%;
      clear: none;
    }
    .five-up li:nth-child(3n+3) {
      margin-left: 67.7966101695%;
      margin-right: -100%;
      clear: none;
    }
  }
}

.six-up li {
  margin-bottom: 3em;
}
.six-up li p {
  font-size: 1em;
  line-height: 1.5;
}
@media (min-width: 40.625em) {
  .six-up li {
    width: 47.3684210526%;
    float: left;
  }
  .six-up li:nth-child(2n+1) {
    margin-left: 0;
    margin-right: -100%;
    clear: both;
    margin-left: 0;
  }
  .six-up li:nth-child(2n+2) {
    margin-left: 52.6315789474%;
    margin-right: -100%;
    clear: none;
  }
}
@media (min-width: 68.75em) {
  .six-up li {
    width: 31.8181818182%;
    float: left;
  }
  .six-up li:nth-child(3n+1) {
    margin-left: 0;
    margin-right: -100%;
    clear: both;
    margin-left: 0;
  }
  .six-up li:nth-child(3n+2) {
    margin-left: 34.0909090909%;
    margin-right: -100%;
    clear: none;
  }
  .six-up li:nth-child(3n+3) {
    margin-left: 68.1818181818%;
    margin-right: -100%;
    clear: none;
  }
}
@media (min-width: 81.25em) {
  .six-up li {
    width: 23.7288135593%;
    float: left;
  }
  .six-up li:nth-child(4n+1) {
    margin-left: 0;
    margin-right: -100%;
    clear: both;
    margin-left: 0;
  }
  .six-up li:nth-child(4n+2) {
    margin-left: 25.4237288136%;
    margin-right: -100%;
    clear: none;
  }
  .six-up li:nth-child(4n+3) {
    margin-left: 50.8474576271%;
    margin-right: -100%;
    clear: none;
  }
  .six-up li:nth-child(4n+4) {
    margin-left: 76.2711864407%;
    margin-right: -100%;
    clear: none;
  }
  .six-up li:nth-child(5), .six-up li:nth-child(6) {
    width: 47.3684210526%;
    float: left;
  }
  .six-up li:nth-child(5):nth-child(2n+1), .six-up li:nth-child(6):nth-child(2n+1) {
    margin-left: 0;
    margin-right: -100%;
    clear: both;
    margin-left: 0;
  }
  .six-up li:nth-child(5):nth-child(2n+2), .six-up li:nth-child(6):nth-child(2n+2) {
    margin-left: 52.6315789474%;
    margin-right: -100%;
    clear: none;
  }
  .six-up li:nth-child(5) p, .six-up li:nth-child(6) p {
    font-size: 1.125em;
    line-height: 1.625;
  }
}

.social-list {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  text-align: center;
}
.social-list a {
  display: inline-block;
  width: 2em;
  height: 2em;
}
.social-list a svg path {
  -webkit-transition: fill 0.3s ease-in-out;
  -ms-transition: fill 0.3s ease-in-out;
  transition: fill 0.3s ease-in-out;
}
.social-list li {
  display: inline-block;
  padding: 0 0.25em;
  text-align: center;
  -webkit-box-flex: 1;
  -ms-flex-positive: 1;
  flex-grow: 1;
}
.social-list svg .background {
  fill: #777777;
}
.social-list svg .color {
  fill: white;
}

.teaser-list {
  margin: 0;
  padding: 0;
}
.teaser-list li {
  list-style: none;
}
.teaser-list dd {
  margin: 0;
}

.teaser-item figure {
  margin: 0 0 0.75em;
  position: relative;
  overflow: hidden;
  padding-bottom: 56.25%;
}
.teaser-item figure a {
  display: block;
  width: 100%;
  height: 100%;
}
.teaser-item figure img {
  position: absolute;
  top: 50%;
  left: 50%;
  -webkit-transform: translate(-50%, -50%);
  -ms-transform: translate(-50%, -50%);
  transform: translate(-50%, -50%);
  display: block;
  width: 100%;
}
.teaser-item p {
  margin-bottom: 0;
}
.teaser-item h3 {
  margin-bottom: 0.375em;
}
.teaser-item h3 .passport-icon {
  max-width: 1em;
  max-height: 1em;
}
.teaser-item .zeta {
  margin-bottom: 0.75em;
  display: inline-block;
}
.teaser-item .icon {
  position: absolute;
  bottom: 0;
  left: 0;
  display: inline-block;
  width: 3.125em;
  height: 3.125em;
  background: rgba(23, 65, 137, 0.75);
}
.teaser-item .icon img {
  position: absolute;
  top: 50%;
  left: 50%;
  -webkit-transform: translate(-50%, -50%);
  -ms-transform: translate(-50%, -50%);
  transform: translate(-50%, -50%);
  max-width: 1.5625em;
  max-height: 1.5625em;
  width: auto;
  height: auto;
}

.collection-item figure {
  padding-bottom: 27.5%;
}

.js .teaser-item.slide-in-item {
  -webkit-animation-duration: 0.5s;
  animation-duration: 0.5s;
  -webkit-animation-fill-mode: both;
  animation-fill-mode: both;
  -webkit-animation-name: slideInUp;
  animation-name: slideInUp;
}
.js .teaser-item.hidden-item {
  display: none;
}

.plugin-block, .plugin-list-block {
  margin-bottom: 3em;
}
.plugin-block:after, .plugin-list-block:after {
  display: table;
  clear: both;
  content: "";
}
.plugin-block:before, .plugin-list-block:before {
  display: table;
  clear: both;
  content: "";
}

.plugin-block h3 {
  border-bottom: 0.0625em solid #999999;
  margin-bottom: 1.5em;
}

.plugin-container h3 {
  margin-bottom: 0.1875em;
}

.plugin-list-block ul {
  margin: 0;
  padding: 0;
}
.plugin-list-block ul:after {
  display: table;
  clear: both;
  content: "";
}
.plugin-list-block ul:before {
  display: table;
  clear: both;
  content: "";
}
.plugin-list-block ul li {
  list-style: none;
}
.plugin-list-block ul dd {
  margin: 0;
}

.alpha + .plugin-block, .alpha + .plugin-list-block {
  margin-top: 3em;
}

.plugin-container figure {
  margin-bottom: 1.5em;
}
.plugin-container figure img {
  display: block;
}
.plugin-container figure.center {
  display: block;
  margin: 15px auto;
}

*[style*="float: left"], .left {
  float: none !important;
  display: block;
  margin: 0 auto 2.25em auto;
}
@media (min-width: 40.625em) {
  *[style*="float: left"], .left {
    display: inherit;
    float: left !important;
    margin-right: 1.5em;
    margin-bottom: 0.75em !important;
  }
}

*[style*="float: right"], .right {
  float: none !important;
  display: block;
  margin: 0 auto 2.25em auto;
}
@media (min-width: 40.625em) {
  *[style*="float: right"], .right {
    display: inherit;
    float: right !important;
    margin-left: 1.5em;
    margin-bottom: 0.75em !important;
  }
}

.center {
  margin-bottom: 1.5em;
  text-align: center;
}

/**
 * wallop.css
 *
 * @fileoverview Default styles for wallop – recommended
 *
 * @author Pedro Duarte
 * @author http://pedroduarte.me/wallop
 */
.carousel-container *:focus {
  outline: 0.125em solid #f3ad00;
}
.carousel-container .full-screen,
.carousel-container .slides-pagination {
  display: none;
}
.carousel-container .Wallop-list {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(250px, 1fr));
  grid-gap: 3px;
  padding: 0;
}
.carousel-container .Wallop-list .Wallop-item:before {
  display: none;
}
@media (min-width: 68.75em) {
  .carousel-container .Wallop-list {
    width: 150%;
    margin-left: -25%;
  }
}
@media (min-width: 95.625em) {
  .carousel-container .Wallop-list {
    width: 200%;
    margin-left: -50%;
  }
}

.js {
  /*
   This element groups all the items, but not the buttons
   It's a recommendation but it's very likely
   you'll want to hide any overflow from the items
   Especially when doing animations such as scale
  */
  /*
   This is the item element
   By default, they are all hidden and
   positioned absolute
   I recommend always having .Wallop-item--current
   in your markup by default (probably on the first element)
  */
  /*
   This is the current item element
   All we do here, is make it visible again reset
   the position to static. Could also be relative
  */
}
.js .carousel-container {
  overflow: hidden;
  margin-bottom: 3em;
  background: black;
}
@media (min-width: 68.75em) {
  .js .carousel-container {
    padding-top: 1em;
  }
}
.js .carousel-container .slides-pagination {
  display: inherit;
}
.js .Wallop-list {
  width: inherit;
}
.js .carousel.expanded .slides-pagination,
.js .carousel.expanded .full-screen {
  display: none;
}
.js .plugin-container .Wallop {
  position: relative;
  -webkit-animation-duration: 0.45s;
  animation-duration: 0.45s;
  -webkit-animation-fill-mode: both;
  animation-fill-mode: both;
}
.js .plugin-container .Wallop.entering-fullscreen {
  -webkit-animation-name: slideInDown;
  animation-name: slideInDown;
}
.js .plugin-container .Wallop.exiting-fullscreen {
  animation-name: slideOutDown;
}
.js .plugin-container .Wallop.entering-back {
  -webkit-animation-name: fadeIn;
  animation-name: fadeIn;
}
.js .plugin-container .Wallop.viewing-full {
  position: fixed;
  height: 100%;
  width: 100%;
  left: 0;
  top: 0;
  z-index: 2147483647;
  background: black;
}
.js .plugin-container .Wallop.viewing-full button {
  z-index: 1;
}
.js .plugin-container .Wallop.viewing-full .slides-pagination {
  right: 20%;
  top: calc(75vh + 1em);
}
.js .plugin-container .Wallop.viewing-full .full-screen {
  left: 20%;
  top: calc(75vh + 1.15em);
}
.js .plugin-container .Wallop.viewing-full .Wallop-item {
  border-bottom: none;
  color: white;
  background: transparent;
  height: 100%;
  width: 100%;
}
.js .plugin-container .Wallop.viewing-full .Wallop-item.Wallop-item--current figure {
  margin: 0 auto;
  width: 60%;
}
.js .plugin-container .Wallop.viewing-full .Wallop-item.Wallop-item--current figure .media-container {
  display: inline-block;
  height: 75vh;
  width: 100%;
  padding-top: 1em;
}
.js .plugin-container .Wallop.viewing-full .Wallop-item.Wallop-item--current figure figcaption {
  margin: 3em auto 0 auto;
  padding: 0;
  max-width: 60vw;
}
.js .plugin-container .Wallop.viewing-full .Wallop-item.Wallop-item--current figure .see-more {
  left: calc(20% - 0.45em);
  top: calc(75vh + 7.75em);
}
.js .plugin-container .Wallop.viewing-full .Wallop-item.Wallop-item--current figure .hide-more {
  right: 20%;
}
.js .plugin-container .Wallop.viewing-full .Wallop-item.Wallop-item--current figure.long-caption.expanded figcaption {
  padding-top: 3em;
}
.js .plugin-container .Wallop-list {
  margin: 0;
  padding: 0;
  display: inherit;
  position: relative;
  overflow: hidden;
}
.js .plugin-container .Wallop-list li {
  list-style: none;
}
.js .plugin-container .Wallop-list dd {
  margin: 0;
}
.js .plugin-container .Wallop-item {
  visibility: hidden;
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  padding-left: 0;
  margin-bottom: 0;
  color: white;
}
.js .plugin-container .Wallop-item .media-container {
  display: block;
  height: 24em;
  position: relative;
}
@media (min-width: 68.75em) {
  .js .plugin-container .Wallop-item .media-container {
    height: 32.8125em;
  }
}
.js .plugin-container .Wallop-item .media-container img {
  position: absolute;
  top: 50%;
  left: 50%;
  -webkit-transform: translate(-50%, -50%);
  -ms-transform: translate(-50%, -50%);
  transform: translate(-50%, -50%);
  max-height: 100%;
  max-width: 90%;
}
@media (min-width: 68.75em) {
  .js .plugin-container .Wallop-item .media-container img {
    max-width: 100%;
  }
}
.js .plugin-container .Wallop-item h4 {
  margin-bottom: 0.25em;
}
.js .carousel-item-caption {
  padding: 0.5em 1.5em;
  text-align: left;
}
.js .plugin-container .Wallop-item--current {
  visibility: visible;
  position: relative;
  text-align: center;
}
.js .plugin-container .Wallop-item--current figure {
  display: inline-block;
  width: 100%;
}
.js .plugin-container .Wallop-item--current figure.long-caption .hide-more,
.js .plugin-container .Wallop-item--current figure.long-caption .see-more {
  display: none;
}
@media (min-width: 68.75em) {
  .js .plugin-container .Wallop-item--current figure.long-caption figcaption {
    -webkit-transition: max-height 1s ease-in-out;
    -ms-transition: max-height 1s ease-in-out;
    transition: max-height 1s ease-in-out;
    max-height: 15em;
    overflow: hidden;
  }
  .js .plugin-container .Wallop-item--current figure.long-caption p {
    max-height: 4.5em;
    min-height: 4.5em;
    overflow: hidden;
  }
  .js .plugin-container .Wallop-item--current figure.long-caption .see-more {
    border: none;
    background: none;
    box-shadow: none;
    -webkit-transition: color 0.3s ease-in-out;
    -ms-transition: color 0.3s ease-in-out;
    transition: color 0.3s ease-in-out;
    display: inline-block;
    color: #bb0b0e;
    position: absolute;
    left: calc(5% - 0.45em);
    top: 40.25em;
    padding: 0 0.45em;
  }
  .js .plugin-container .Wallop-item--current figure.long-caption .see-more:hover, .js .plugin-container .Wallop-item--current figure.long-caption .see-more:focus, .js .plugin-container .Wallop-item--current figure.long-caption .see-more:active {
    box-shadow: none;
    border: none;
  }
  .js .plugin-container .Wallop-item--current figure.long-caption .see-more:hover {
    color: #f3ad00;
  }
  .js .plugin-container .Wallop-item--current figure.long-caption .hide-more {
    border: none;
    background: none;
    box-shadow: none;
    -webkit-transition: all 0.3s ease-in-out;
    -ms-transition: all 0.3s ease-in-out;
    transition: all 0.3s ease-in-out;
    display: inline-block;
    opacity: 0;
    width: 2em;
    height: 2em;
    position: absolute;
    right: 5%;
    z-index: 1;
    display: none;
  }
  .js .plugin-container .Wallop-item--current figure.long-caption .hide-more:hover, .js .plugin-container .Wallop-item--current figure.long-caption .hide-more:focus, .js .plugin-container .Wallop-item--current figure.long-caption .hide-more:active {
    box-shadow: none;
    border: none;
  }
  .js .plugin-container .Wallop-item--current figure.long-caption .hide-more:hover svg {
    fill: #f3ad00;
  }
  .js .plugin-container .Wallop-item--current figure.long-caption .hide-more svg {
    -webkit-transition: fill 0.3s ease-in-out;
    -ms-transition: fill 0.3s ease-in-out;
    transition: fill 0.3s ease-in-out;
    position: absolute;
    top: 50%;
    left: 50%;
    -webkit-transform: translate(-50%, -50%);
    -ms-transform: translate(-50%, -50%);
    transform: translate(-50%, -50%);
    pointer-events: none;
    max-width: 1em;
    max-height: 1em;
    fill: white;
  }
  .js .plugin-container .Wallop-item--current figure.long-caption.expanded {
    padding-bottom: 8.55em;
  }
  .js .plugin-container .Wallop-item--current figure.long-caption.expanded figcaption {
    max-height: 100%;
    position: absolute;
    padding: 3em 5% 1.5em 5%;
    max-width: inherit;
    bottom: 0;
  }
  .js .plugin-container .Wallop-item--current figure.long-caption.expanded p {
    max-height: inherit;
  }
  .js .plugin-container .Wallop-item--current figure.long-caption.expanded .hide-more {
    display: inline-block;
  }
  .js .plugin-container .Wallop-item--current figure.long-caption.expanded .see-more {
    display: none;
  }
}
.js .plugin-container .Wallop-item--current figure img {
  display: inline-block;
}
.js .plugin-container .Wallop-item--current h4 {
  color: white;
}
.js .plugin-container .Wallop-item--current figcaption,
.js .plugin-container .Wallop-item--current .caption {
  padding: 1.5em 0 0 0;
  background: rgba(0, 0, 0, 0.75);
  text-align: left;
  color: white;
  font-style: normal;
  max-width: 90%;
  margin: 1.5em auto 0 auto;
}
.js .plugin-container .Wallop-item--current figcaption p,
.js .plugin-container .Wallop-item--current .caption p {
  margin-bottom: 0.55em;
}
.js .plugin-container .Wallop-item--current figcaption span,
.js .plugin-container .Wallop-item--current .caption span {
  height: auto;
  display: block;
  margin-top: 3em;
}
.js .plugin-container .Wallop-item--current figcaption.credit,
.js .plugin-container .Wallop-item--current .caption.credit {
  display: block;
  position: relative;
  padding: 0 0 0 30px !important;
}
.js .plugin-container .Wallop-item--current figcaption.credit:before,
.js .plugin-container .Wallop-item--current .caption.credit:before {
  content: "";
  display: block;
  width: 20px;
  height: 20px;
  position: absolute;
  left: 0;
  top: 3px;
  background: url(../images/icon-camera.svg) no-repeat left top;
  background-size: contain;
}
.js .Wallop-buttonPrevious,
.js .Wallop-buttonNext {
  border: none;
  background: none;
  box-shadow: none;
}
.js .Wallop-buttonPrevious:hover, .js .Wallop-buttonPrevious:focus, .js .Wallop-buttonPrevious:active,
.js .Wallop-buttonNext:hover,
.js .Wallop-buttonNext:focus,
.js .Wallop-buttonNext:active {
  box-shadow: none;
  border: none;
}
.js .Wallop-buttonPrevious svg,
.js .Wallop-buttonNext svg {
  height: 1em;
  width: 1em;
}
.js .Wallop-buttonPrevious svg path,
.js .Wallop-buttonNext svg path {
  -webkit-transition: fill 0.3s ease-in-out;
  -ms-transition: fill 0.3s ease-in-out;
  transition: fill 0.3s ease-in-out;
  fill: white;
  opacity: 0.85;
}
.js .Wallop-buttonPrevious:hover svg path,
.js .Wallop-buttonNext:hover svg path {
  fill: #f3ad00;
}
.js .full-screen {
  padding: 0.75em 1.5em;
  text-align: center;
  display: inline-block;
  color: #999999;
  border: 0;
  -webkit-transition: color 0.3s ease-in-out;
  -ms-transition: color 0.3s ease-in-out;
  transition: color 0.3s ease-in-out;
  background: none;
  padding: 0.3em 0.45em 0.5em 0.45em;
  text-transform: uppercase;
  font-weight: 700;
  position: absolute;
  top: 37.5em;
  left: 5%;
  display: none;
  line-height: 0;
  z-index: 1;
}
.js .full-screen * {
  vertical-align: middle;
}
@media (min-width: 68.75em) {
  .js .full-screen {
    display: inline-block;
  }
}
.js .full-screen .full-screen-icon {
  -webkit-transition: fill 0.3s ease-in-out;
  -ms-transition: fill 0.3s ease-in-out;
  transition: fill 0.3s ease-in-out;
  fill: white;
  width: 1.25em;
  height: 1.25em;
  display: inline-block;
  margin-right: 0.5em;
  margin-bottom: -0.05em;
}
.js .full-screen:hover {
  color: #f3ad00;
}
.js .full-screen:hover .full-screen-icon {
  fill: #f3ad00;
}
.js .slides-pagination {
  margin: 0;
  position: absolute;
  top: 27.75em;
  right: 5%;
  font-weight: 700;
  z-index: 1;
}
@media (min-width: 68.75em) {
  .js .slides-pagination {
    top: 37.75em;
  }
}
.js .slides-pagination .count {
  color: #999999;
  float: left;
  margin: -0.05em 1em 0 0;
}
.js .slides-pagination button {
  display: inline-block;
}
.js .slides-pagination button:first-of-type {
  margin-right: 0.75em;
}
.js .plugin-container .video-gallery {
  max-width: 44em;
  margin: 0 auto;
}
.js .plugin-container .video-gallery .slides-pagination,
.js .plugin-container .video-gallery .full-screen {
  top: 0.5em;
}
@media (min-width: 68.75em) {
  .js .plugin-container .video-gallery .slides-pagination,
  .js .plugin-container .video-gallery .full-screen {
    top: 23.75em;
  }
}
@media (min-width: 81.25em) {
  .js .plugin-container .video-gallery .slides-pagination,
  .js .plugin-container .video-gallery .full-screen {
    top: 25.75em;
  }
}
@media (min-width: 68.75em) {
  .js .plugin-container .video-gallery .full-screen {
    left: calc(5% - 0.45em);
  }
}
.js .plugin-container .video-gallery .caption {
  padding: 0;
  margin: 0 auto;
  margin-bottom: 1.5em;
}
@media (min-width: 68.75em) {
  .js .plugin-container .video-gallery .caption {
    margin-top: 3.75em;
  }
}
.js .plugin-container .video-gallery .cove-container {
  margin-top: 2.25em;
}
@media (min-width: 68.75em) {
  .js .plugin-container .video-gallery .cove-container {
    margin-top: 0;
  }
}
.js .plugin-container .video-gallery.viewing-full {
  max-width: 100%;
}
.js .plugin-container .video-gallery.viewing-full .slides-pagination {
  right: calc(50% - 23em);
  top: 28em;
}
.js .plugin-container .video-gallery.viewing-full .full-screen {
  left: calc(50% - 23em);
  top: 28em;
}
.js .plugin-container .video-gallery.viewing-full .Wallop-item--current.Wallop-item {
  height: 100vh;
}
.js .plugin-container .video-gallery.viewing-full .cove-wrapper {
  width: 40em;
  margin: 1.5em auto 0 auto;
}
.js .plugin-container .video-gallery.viewing-full .cove-container {
  margin: 0;
}
.js .plugin-container .video-gallery.viewing-full .caption {
  max-width: 100%;
}

/**
 * wallop--slide.css
 *
 * @fileoverview Slide animation for wallop
 *
 * @author Pedro Duarte
 * @author http://pedroduarte.me/wallop
 */
/* the 10ms animation-delay fixed some weird rendering issues with iPhone */
.Wallop--slide .Wallop-item--showPrevious {
  -webkit-animation: slideFromLeft 350ms 10ms linear both;
  -moz-animation: slideFromLeft 350ms 10ms linear both;
  -ms-animation: slideFromLeft 350ms 10ms linear both;
  animation: slideFromLeft 350ms 10ms linear both;
}

.Wallop--slide .Wallop-item--showNext {
  -webkit-animation: slideFromRight 350ms 10ms linear both;
  -moz-animation: slideFromRight 350ms 10ms linear both;
  -ms-animation: slideFromRight 350ms 10ms linear both;
  animation: slideFromRight 350ms 10ms linear both;
}

.Wallop--slide .Wallop-item--hidePrevious,
.Wallop--slide .Wallop-item--hideNext {
  visibility: visible;
}

.Wallop--slide .Wallop-item--hidePrevious {
  -webkit-animation: slideToLeft 350ms 10ms linear both;
  -moz-animation: slideToLeft 350ms 10ms linear both;
  -ms-animation: slideToLeft 350ms 10ms linear both;
  animation: slideToLeft 350ms 10ms linear both;
}

.Wallop--slide .Wallop-item--hideNext {
  -webkit-animation: slideToRight 350ms 10ms linear both;
  -moz-animation: slideToRight 350ms 10ms linear both;
  -ms-animation: slideToRight 350ms 10ms linear both;
  animation: slideToRight 350ms 10ms linear both;
}

@-webkit-keyframes slideFromLeft {
  0% {
    -webkit-transform: translate3d(-100%, 0, 0);
    -moz-transform: translate3d(-100%, 0, 0);
    -ms-transform: translate3d(-100%, 0, 0);
    transform: translate3d(-100%, 0, 0);
  }
}
@-moz-keyframes slideFromLeft {
  0% {
    -webkit-transform: translate3d(-100%, 0, 0);
    -moz-transform: translate3d(-100%, 0, 0);
    -ms-transform: translate3d(-100%, 0, 0);
    transform: translate3d(-100%, 0, 0);
  }
}
@-ms-keyframes slideFromLeft {
  0% {
    -webkit-transform: translate3d(-100%, 0, 0);
    -moz-transform: translate3d(-100%, 0, 0);
    -ms-transform: translate3d(-100%, 0, 0);
    transform: translate3d(-100%, 0, 0);
  }
}
@keyframes slideFromLeft {
  0% {
    -webkit-transform: translate3d(-100%, 0, 0);
    -moz-transform: translate3d(-100%, 0, 0);
    -ms-transform: translate3d(-100%, 0, 0);
    transform: translate3d(-100%, 0, 0);
  }
}
@-webkit-keyframes slideFromRight {
  0% {
    -webkit-transform: translate3d(100%, 0, 0);
    -moz-transform: translate3d(100%, 0, 0);
    -ms-transform: translate3d(100%, 0, 0);
    transform: translate3d(100%, 0, 0);
  }
}
@-moz-keyframes slideFromRight {
  0% {
    -webkit-transform: translate3d(100%, 0, 0);
    -moz-transform: translate3d(100%, 0, 0);
    -ms-transform: translate3d(100%, 0, 0);
    transform: translate3d(100%, 0, 0);
  }
}
@-ms-keyframes slideFromRight {
  0% {
    -webkit-transform: translate3d(100%, 0, 0);
    -moz-transform: translate3d(100%, 0, 0);
    -ms-transform: translate3d(100%, 0, 0);
    transform: translate3d(100%, 0, 0);
  }
}
@keyframes slideFromRight {
  0% {
    -webkit-transform: translate3d(100%, 0, 0);
    -moz-transform: translate3d(100%, 0, 0);
    -ms-transform: translate3d(100%, 0, 0);
    transform: translate3d(100%, 0, 0);
  }
}
@-webkit-keyframes slideToLeft {
  99% {
    opacity: 1;
  }
  100% {
    opacity: 0;
    -webkit-transform: translate3d(-100%, 0, 0);
    -moz-transform: translate3d(-100%, 0, 0);
    -ms-transform: translate3d(-100%, 0, 0);
    transform: translate3d(-100%, 0, 0);
  }
}
@-moz-keyframes slideToLeft {
  99% {
    opacity: 1;
  }
  100% {
    opacity: 0;
    -webkit-transform: translate3d(-100%, 0, 0);
    -moz-transform: translate3d(-100%, 0, 0);
    -ms-transform: translate3d(-100%, 0, 0);
    transform: translate3d(-100%, 0, 0);
  }
}
@-ms-keyframes slideToLeft {
  99% {
    opacity: 1;
  }
  100% {
    opacity: 0;
    -webkit-transform: translate3d(-100%, 0, 0);
    -moz-transform: translate3d(-100%, 0, 0);
    -ms-transform: translate3d(-100%, 0, 0);
    transform: translate3d(-100%, 0, 0);
  }
}
@keyframes slideToLeft {
  99% {
    opacity: 1;
  }
  100% {
    opacity: 0;
    -webkit-transform: translate3d(-100%, 0, 0);
    -moz-transform: translate3d(-100%, 0, 0);
    -ms-transform: translate3d(-100%, 0, 0);
    transform: translate3d(-100%, 0, 0);
  }
}
@-webkit-keyframes slideToRight {
  99% {
    opacity: 1;
  }
  100% {
    opacity: 0;
    -webkit-transform: translate3d(100%, 0, 0);
    -moz-transform: translate3d(100%, 0, 0);
    -ms-transform: translate3d(100%, 0, 0);
    transform: translate3d(100%, 0, 0);
  }
}
@-moz-keyframes slideToRight {
  99% {
    opacity: 1;
  }
  100% {
    opacity: 0;
    -webkit-transform: translate3d(100%, 0, 0);
    -moz-transform: translate3d(100%, 0, 0);
    -ms-transform: translate3d(100%, 0, 0);
    transform: translate3d(100%, 0, 0);
  }
}
@-ms-keyframes slideToRight {
  99% {
    opacity: 1;
  }
  100% {
    opacity: 0;
    -webkit-transform: translate3d(100%, 0, 0);
    -moz-transform: translate3d(100%, 0, 0);
    -ms-transform: translate3d(100%, 0, 0);
    transform: translate3d(100%, 0, 0);
  }
}
@keyframes slideToRight {
  99% {
    opacity: 1;
  }
  100% {
    opacity: 0;
    -webkit-transform: translate3d(100%, 0, 0);
    -moz-transform: translate3d(100%, 0, 0);
    -ms-transform: translate3d(100%, 0, 0);
    transform: translate3d(100%, 0, 0);
  }
}
.accordion-toggle {
  display: none;
}

.js .accordion-toggle {
  border: none;
  background: none;
  display: block;
  width: 100%;
  text-align: left;
  text-transform: uppercase;
  color: #bb0b0e;
  font-size: 1.25em;
  font-weight: 700;
  position: relative;
  margin-bottom: 1.5em;
  padding-bottom: 0.5em;
  border-bottom: 0.125em solid #999999;
}
.js .accordion-toggle * {
  vertical-align: middle;
}
.js .accordion-toggle:hover {
  border-bottom: 0.125em solid #999999;
}
.js .accordion-toggle svg {
  display: inline-block;
  margin-top: -0.15em;
  height: 0.75em;
  width: 0.75em;
  fill: #bb0b0e;
}
.js .accordion-toggle .vertical {
  -webkit-transition: transform 0.25s ease-in-out;
  -ms-transition: transform 0.25s ease-in-out;
  transition: transform 0.25s ease-in-out;
  -ms-transform-origin: center;
  transform-origin: center;
}
.js .accordion-toggle.open .vertical {
  -ms-transform: scaleY(0);
  transform: scaleY(0);
}
.js .accordion-content {
  display: none;
}
.js .accordion-content.open {
  display: block;
}

.filters {
  background: #d0dbed;
  padding: 1.5em;
  margin-bottom: 1.5em;
  position: relative;
  /* CAUTION: IE hackery ahead */
}
.filters:after {
  display: table;
  clear: both;
  content: "";
}
.filters:before {
  display: table;
  clear: both;
  content: "";
}
.filters fieldset {
  padding: 0;
  margin: 0;
  margin-bottom: 1.5em;
  border: none;
}
.filters fieldset input[type=radio] {
  position: absolute;
  left: -9999px;
}
.filters fieldset input[type=radio]:checked + label {
  background-color: #4872b4;
  color: white;
  border: 0.125em solid #4872b4;
}
.filters fieldset input[type=radio]:focus + label {
  border: 0.125em solid #f3ad00;
}
.filters fieldset label {
  -webkit-transition: all 0.35s ease-in-out;
  -ms-transition: all 0.35s ease-in-out;
  transition: all 0.35s ease-in-out;
  background: white;
  padding: 0.2em 1.5em;
  font-weight: 700;
  color: #4872b4;
  display: inline-block;
  border: 0.125em solid white;
}
.filters fieldset label:first-of-type {
  border-radius: 1.25em 0 0 1.25em;
  padding-right: 1.15em;
}
.filters fieldset label:last-of-type {
  border-radius: 0 1.25em 1.25em 0;
  padding-left: 1.15em;
}
@media (min-width: 81.25em) {
  .filters fieldset label {
    width: 12.8125em;
    text-align: center;
  }
}
@media (min-width: 68.75em) {
  .filters fieldset {
    display: inline-block;
    margin-bottom: 0;
    margin-right: 0.75em;
  }
}
@media only screen and (max-width: 23.75em) {
  .filters fieldset {
    font-size: 3.85vw;
  }
}
.filters .label {
  display: inline-block;
  margin-bottom: 0.75em;
  font-weight: 700;
  color: #434343;
}
@media (min-width: 68.75em) {
  .filters .label {
    margin-bottom: 0;
    margin-right: 0.375em;
  }
}
@media (min-width: 81.25em) {
  .filters .label {
    margin-right: 0.75em;
  }
}
.filters .styled-select {
  background: white;
  position: relative;
  display: inline-block;
  width: 100%;
  margin-bottom: 0.75em;
  border: 0.125em solid white;
}
.filters .styled-select.focused {
  border: 0.125em solid #f3ad00;
}
.filters .styled-select.focused:after {
  border-color: #f3ad00 #f3ad00 #f3ad00 #4872b4;
}
.filters .styled-select:after {
  position: absolute;
  top: -0.125em;
  right: -0.125em;
  content: "";
  background-image: url(data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz48c3ZnIHZlcnNpb249IjEuMSIgaWQ9IkxheWVyXzEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiIHg9IjBweCIgeT0iMHB4IiB2aWV3Qm94PSIwIDAgNDAgNDAiIHN0eWxlPSJlbmFibGUtYmFja2dyb3VuZDpuZXcgMCAwIDQwIDQwOyIgeG1sOnNwYWNlPSJwcmVzZXJ2ZSI+PHN0eWxlIHR5cGU9InRleHQvY3NzIj4uc3Qwe2ZpbGw6IzQ4NzJCNDt9LnN0MXtmaWxsOiNGRkZGRkY7fTwvc3R5bGU+PHJlY3QgY2xhc3M9InN0MCIgd2lkdGg9IjQwIiBoZWlnaHQ9IjQwIi8+PHBhdGggY2xhc3M9InN0MSIgZD0iTTEyLjMsMTdsNy43LDcuN2w3LjctNy43bC0xLjctMS44bC01LjksNmwtNS45LTZMMTIuMywxN3oiLz48L3N2Zz4=);
  background-repeat: no-repeat;
  background-position: center;
  background-color: #4872b4;
  height: calc(100% + 0.25em);
  width: 2.49em;
  pointer-events: none;
  border: 0.125em solid #4872b4;
  border-left: none;
}
.filters .styled-select:before {
  position: absolute;
  top: 50%;
  -ms-transform: translate(0, -50%);
  -webkit-transform: translate(0, -50%);
  transform: translate(0, -50%);
  right: 0;
  content: "";
  display: inline-block;
  background-color: white;
  height: 100%;
  width: 5.25em \9 ;
}
@media (min-width: 68.75em) {
  .filters .styled-select {
    width: inherit;
    margin: 0;
    margin-right: 0.75em;
  }
}
@media (min-width: 81.25em) {
  .filters .styled-select {
    margin-right: 1.5em;
  }
}
.filters select {
  padding: 0.2em 0.75em 0.19em 0.75em;
  display: inline-block;
  width: 100%;
  font-weight: 700;
  color: #4872b4;
  border: none;
  box-shadow: none;
  border-radius: 0;
  background: transparent;
  background: none;
  padding-right: 4em;
  background-image: none;
  -webkit-appearance: none;
}
.filters select::-ms-expand {
  display: none; /* remove default arrow on ie10 and ie11 */
}
.filters .sorting {
  display: inline-block;
  width: 100%;
}
.filters .sorting .styled-select {
  margin-right: 0;
}
@media (min-width: 68.75em) {
  .filters .sorting {
    width: inherit;
    float: right;
  }
}
.filters .submit {
  clear: both;
  margin-top: 1.5em;
}
.filters .submit input[type=submit] {
  padding: 0.25em 0.5em;
}
@media (min-width: 68.75em) {
  .filters form * {
    vertical-align: middle;
  }
}
@media (min-width: 81.25em) {
  .filters {
    font-size: 1.0625em;
  }
}
@media (min-width: 95.625em) {
  .filters {
    font-size: 1.125em;
  }
}

.filter-target.loading {
  -webkit-animation-duration: 0.35s;
  animation-duration: 0.35s;
  -webkit-animation-fill-mode: both;
  animation-fill-mode: both;
  -webkit-animation-name: fadeIn;
  animation-name: fadeIn;
  position: relative;
  opacity: 0;
}
.filter-target.loading:before {
  content: "Loading...";
  display: inline-block;
  position: absolute;
  width: 100%;
  height: 100%;
  text-align: center;
  top: 0;
  left: 0;
  background-color: white;
  color: #434343;
  font-weight: 700;
  text-align: center;
  font-size: 1.25em;
  padding: 1.5em;
  z-index: 9;
  opacity: 1;
}
.filter-target.loaded ul {
  -webkit-animation-duration: 0.5s;
  animation-duration: 0.5s;
  -webkit-animation-fill-mode: both;
  animation-fill-mode: both;
  -webkit-animation-name: slideInUp;
  animation-name: slideInUp;
}

.js .filters select:focus {
  outline: none;
}
.js .filters .submit {
  display: none;
}

.related-films {
  margin: 3em 0;
}
.related-films img {
  width: 100%;
}
.related-films ul {
  margin: 0;
  padding: 0;
}
.related-films ul:after {
  display: table;
  clear: both;
  content: "";
}
.related-films ul:before {
  display: table;
  clear: both;
  content: "";
}
.related-films ul li {
  list-style: none;
}
.related-films ul dd {
  margin: 0;
}
.related-films ul li {
  width: 44.4444444444%;
  float: left;
  margin-bottom: 11.1111111111%;
}
.related-films ul li:nth-child(2n+1) {
  margin-left: 0;
  margin-right: -100%;
  clear: both;
  margin-left: 0;
}
.related-films ul li:nth-child(2n+2) {
  margin-left: 55.5555555556%;
  margin-right: -100%;
  clear: none;
}
@media (min-width: 40.625em) {
  .related-films ul li {
    width: 29.7368421053%;
    float: left;
    margin-bottom: 3em;
  }
  .related-films ul li:nth-child(3n+1) {
    margin-left: 0;
    margin-right: -100%;
    clear: both;
    margin-left: 0;
  }
  .related-films ul li:nth-child(3n+2) {
    margin-left: 35%;
    margin-right: -100%;
    clear: none;
  }
  .related-films ul li:nth-child(3n+3) {
    margin-left: 70%;
    margin-right: -100%;
    clear: none;
  }
}
@media (min-width: 68.75em) {
  .related-films ul li {
    width: 31.6153846154%;
    float: left;
    margin-bottom: 2.5641025641%;
  }
  .related-films ul li:nth-child(3n+1) {
    margin-left: 0;
    margin-right: -100%;
    clear: both;
    margin-left: 0;
  }
  .related-films ul li:nth-child(3n+2) {
    margin-left: 34.1794871795%;
    margin-right: -100%;
    clear: none;
  }
  .related-films ul li:nth-child(3n+3) {
    margin-left: 68.358974359%;
    margin-right: -100%;
    clear: none;
  }
}
@media (min-width: 81.25em) {
  .related-films ul li {
    width: 18.6440677966%;
    float: left;
  }
  .related-films ul li:nth-child(5n+1) {
    margin-left: 0;
    margin-right: -100%;
    clear: both;
    margin-left: 0;
  }
  .related-films ul li:nth-child(5n+2) {
    margin-left: 20.3389830508%;
    margin-right: -100%;
    clear: none;
  }
  .related-films ul li:nth-child(5n+3) {
    margin-left: 40.6779661017%;
    margin-right: -100%;
    clear: none;
  }
  .related-films ul li:nth-child(5n+4) {
    margin-left: 61.0169491525%;
    margin-right: -100%;
    clear: none;
  }
  .related-films ul li:nth-child(5n+5) {
    margin-left: 81.3559322034%;
    margin-right: -100%;
    clear: none;
  }
}

.email-signup-form input, .email-signup-form button {
  font-family: "Roboto Slab", serif;
  padding: 0.75em 1.5em;
}
.email-signup-form .email-field {
  display: block;
  margin-bottom: 0.75em;
  width: 100%;
  border: 1px solid #777777;
}
.email-signup-form .email-field::placeholder {
  text-transform: uppercase;
}
.email-signup-form .zip-code-field {
  display: block;
  margin-bottom: 0.75em;
  width: 100%;
  border: 1px solid #777777;
  text-transform: uppercase;
}
.email-signup-form .note {
  display: block;
  width: 100%;
  text-align: left;
  margin-bottom: 0.75em;
  font-size: 0.85em;
  margin-top: 0.75em;
}
.email-signup-form button[type=submit] {
  border: none;
  background: none;
  box-shadow: none;
  padding: 0.75em 1.5em;
  text-align: center;
  display: inline-block;
  color: white;
  background-color: #243757;
  border: 0;
  padding-right: 3em;
  position: relative;
  -webkit-transition: background 0.3s ease-in-out;
  -ms-transition: background 0.3s ease-in-out;
  transition: background 0.3s ease-in-out;
  text-transform: uppercase;
  width: 9em;
  z-index: 2;
}
.email-signup-form button[type=submit]:hover, .email-signup-form button[type=submit]:focus, .email-signup-form button[type=submit]:active {
  box-shadow: none;
  border: none;
}
.email-signup-form button[type=submit] * {
  vertical-align: middle;
}
.email-signup-form button[type=submit] svg {
  position: absolute;
  top: 50%;
  -ms-transform: translate(0, -50%);
  -webkit-transform: translate(0, -50%);
  transform: translate(0, -50%);
  fill: white;
  right: 1em;
  display: inline-block;
  width: 1em;
  height: 1em;
}
.email-signup-form button[type=submit]:hover {
  background: rgb(28.5365853659, 43.5975609756, 68.9634146341);
}
.email-signup-form button[type=submit]:before {
  content: "";
  display: inline-block;
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
  z-index: -1;
  box-shadow: 0px 0px 0 #243757,1px 1px 0 #243757,2px 2px 0 #243757,3px 3px 0 #243757,4px 4px 0 #243757,5px 5px 0 #243757,6px 6px 0 #243757,7px 7px 0 #243757,8px 8px 0 #243757,9px 9px 0 #243757,10px 10px 0 #243757,11px 11px 0 #243757,12px 12px 0 #243757,13px 13px 0 #243757,14px 14px 0 #243757,15px 15px 0 #243757,16px 16px 0 #243757,17px 17px 0 #243757,18px 18px 0 #243757,19px 19px 0 #243757,20px 20px 0 #243757,21px 21px 0 #243757,22px 22px 0 #243757,23px 23px 0 #243757,24px 24px 0 #243757,25px 25px 0 #243757,26px 26px 0 #243757,27px 27px 0 #243757,28px 28px 0 #243757,29px 29px 0 #243757,30px 30px 0 #243757,31px 31px 0 #243757,32px 32px 0 #243757,33px 33px 0 #243757,34px 34px 0 #243757,35px 35px 0 #243757,36px 36px 0 #243757,37px 37px 0 #243757,38px 38px 0 #243757,39px 39px 0 #243757,40px 40px 0 #243757,41px 41px 0 #243757,42px 42px 0 #243757,43px 43px 0 #243757,44px 44px 0 #243757,45px 45px 0 #243757,46px 46px 0 #243757,47px 47px 0 #243757,48px 48px 0 #243757,49px 49px 0 #243757,50px 50px 0 #243757,51px 51px 0 #243757,52px 52px 0 #243757,53px 53px 0 #243757,54px 54px 0 #243757,55px 55px 0 #243757,56px 56px 0 #243757,57px 57px 0 #243757,58px 58px 0 #243757,59px 59px 0 #243757,60px 60px 0 #243757,61px 61px 0 #243757,62px 62px 0 #243757,63px 63px 0 #243757,64px 64px 0 #243757,65px 65px 0 #243757,66px 66px 0 #243757,67px 67px 0 #243757,68px 68px 0 #243757,69px 69px 0 #243757,70px 70px 0 #243757,71px 71px 0 #243757,72px 72px 0 #243757,73px 73px 0 #243757,74px 74px 0 #243757,75px 75px 0 #243757,76px 76px 0 #243757,77px 77px 0 #243757,78px 78px 0 #243757,79px 79px 0 #243757,80px 80px 0 #243757,81px 81px 0 #243757,82px 82px 0 #243757,83px 83px 0 #243757,84px 84px 0 #243757,85px 85px 0 #243757,86px 86px 0 #243757,87px 87px 0 #243757,88px 88px 0 #243757,89px 89px 0 #243757,90px 90px 0 #243757,91px 91px 0 #243757,92px 92px 0 #243757,93px 93px 0 #243757,94px 94px 0 #243757,95px 95px 0 #243757,96px 96px 0 #243757,97px 97px 0 #243757,98px 98px 0 #243757,99px 99px 0 #243757,100px 100px 0 #243757,101px 101px 0 #243757,102px 102px 0 #243757,103px 103px 0 #243757,104px 104px 0 #243757,105px 105px 0 #243757,106px 106px 0 #243757,107px 107px 0 #243757,108px 108px 0 #243757,109px 109px 0 #243757,110px 110px 0 #243757,111px 111px 0 #243757,112px 112px 0 #243757,113px 113px 0 #243757,114px 114px 0 #243757,115px 115px 0 #243757,116px 116px 0 #243757,117px 117px 0 #243757,118px 118px 0 #243757,119px 119px 0 #243757,120px 120px 0 #243757,121px 121px 0 #243757,122px 122px 0 #243757,123px 123px 0 #243757,124px 124px 0 #243757,125px 125px 0 #243757,126px 126px 0 #243757,127px 127px 0 #243757,128px 128px 0 #243757,129px 129px 0 #243757,130px 130px 0 #243757,131px 131px 0 #243757,132px 132px 0 #243757,133px 133px 0 #243757,134px 134px 0 #243757,135px 135px 0 #243757,136px 136px 0 #243757,137px 137px 0 #243757,138px 138px 0 #243757,139px 139px 0 #243757,140px 140px 0 #243757,141px 141px 0 #243757,142px 142px 0 #243757,143px 143px 0 #243757,144px 144px 0 #243757,145px 145px 0 #243757,146px 146px 0 #243757,147px 147px 0 #243757,148px 148px 0 #243757,149px 149px 0 #243757,150px 150px 0 #243757,151px 151px 0 #243757,152px 152px 0 #243757,153px 153px 0 #243757,154px 154px 0 #243757,155px 155px 0 #243757,156px 156px 0 #243757,157px 157px 0 #243757,158px 158px 0 #243757,159px 159px 0 #243757,160px 160px 0 #243757,161px 161px 0 #243757,162px 162px 0 #243757,163px 163px 0 #243757,164px 164px 0 #243757,165px 165px 0 #243757,166px 166px 0 #243757,167px 167px 0 #243757,168px 168px 0 #243757,169px 169px 0 #243757,170px 170px 0 #243757,171px 171px 0 #243757,172px 172px 0 #243757,173px 173px 0 #243757,174px 174px 0 #243757,175px 175px 0 #243757,176px 176px 0 #243757,177px 177px 0 #243757,178px 178px 0 #243757,179px 179px 0 #243757,180px 180px 0 #243757,181px 181px 0 #243757,182px 182px 0 #243757,183px 183px 0 #243757,184px 184px 0 #243757,185px 185px 0 #243757,186px 186px 0 #243757,187px 187px 0 #243757,188px 188px 0 #243757,189px 189px 0 #243757,190px 190px 0 #243757,191px 191px 0 #243757,192px 192px 0 #243757,193px 193px 0 #243757,194px 194px 0 #243757,195px 195px 0 #243757,196px 196px 0 #243757,197px 197px 0 #243757,198px 198px 0 #243757,200px 200px 0 rgba(0, 0, 0, 0);
  opacity: 0.35;
}

.homepage-hero-item {
  margin-top: 1.5em;
  margin-bottom: 1.5em;
}
.homepage-hero-item:empty {
  display: none;
}
.homepage-hero-item img {
  display: block;
  width: 100%;
}
.homepage-hero-item img.blackAndWhite {
  -webkit-filter: grayscale(1);
  filter: grayscale(1);
}
.homepage-hero-item .title {
  padding: 0.75em 1.5em;
  background: #ac0b0e;
  color: white;
  float: none !important;
  margin-bottom: 0 !important;
}
.homepage-hero-item .title .zeta {
  color: white;
  display: block;
  margin-bottom: 1.5em;
}
.homepage-hero-item .title.right {
  margin-left: 0 !important;
}
.homepage-hero-item .title.left {
  margin-right: 0 !important;
}
.homepage-hero-item .title .alpha {
  text-transform: uppercase;
  font-family: "Josefin Sans", sans-serif;
  color: white;
  font-size: 2em;
  margin-bottom: 0;
  line-height: 1.2;
}
.homepage-hero-item .title .alpha:before {
  display: none;
}
.homepage-hero-item .watch {
  text-decoration: none;
  background: transparent;
  padding: 0.75em 1.5em;
  text-align: center;
  display: inline-block;
  color: white;
  border-color: white;
  border-width: 0.0625em;
  border-style: solid;
  -webkit-transition: background 0.3s ease-in-out;
  -ms-transition: background 0.3s ease-in-out;
  transition: background 0.3s ease-in-out;
  padding-right: 3em;
  position: relative;
}
.homepage-hero-item .watch:hover {
  text-decoration: none;
}
.homepage-hero-item .watch:active {
  text-decoration: none;
}
.homepage-hero-item .watch:visited {
  text-decoration: none;
}
.homepage-hero-item .watch:focus {
  text-decoration: none;
}
.homepage-hero-item .watch * {
  vertical-align: middle;
}
.homepage-hero-item .watch svg {
  position: absolute;
  top: 50%;
  -ms-transform: translate(0, -50%);
  -webkit-transform: translate(0, -50%);
  transform: translate(0, -50%);
  fill: white;
  right: 1em;
  display: inline-block;
  width: 1em;
  height: 1em;
}
.homepage-hero-item .watch.zeta {
  display: inline-block;
  font-size: 1em;
}
.homepage-hero-item .watch:hover {
  background: rgba(255, 255, 255, 0.5);
}
@media (min-width: 68.75em) {
  .homepage-hero-item {
    position: relative;
  }
  .homepage-hero-item .title {
    width: 48.7179487179%;
    float: left;
    margin-right: 2.5641025641%;
    position: absolute;
    left: 0;
    bottom: 15%;
    padding: 1.5em 3em;
    background: none;
  }
  .homepage-hero-item .title.left {
    left: 0;
    margin-right: 0;
  }
  .homepage-hero-item .title.right {
    right: 0;
    margin-right: 0;
    left: inherit;
  }
  .homepage-hero-item .title .alpha {
    font-size: 3em;
  }
  .homepage-hero-item .title * {
    position: relative;
    z-index: 3;
  }
  .homepage-hero-item .title:after {
    content: "";
    position: absolute;
    height: 100%;
    width: 100%;
    top: 0;
    left: 0;
    z-index: 1;
  }
  @supports (mix-blend-mode: multiply) {
    .homepage-hero-item .title:after {
      background: rgba(255, 255, 255, 0.2);
    }
  }
  .homepage-hero-item .title:before {
    background: rgba(0, 0, 0, 0.6);
    content: "";
    position: absolute;
    height: 100%;
    width: 100%;
    top: 0;
    left: 0;
    z-index: 2;
  }
  @supports (mix-blend-mode: multiply) {
    .homepage-hero-item .title:before {
      background: #d90002;
      mix-blend-mode: multiply;
    }
  }
}
@media (min-width: 81.25em) {
  .homepage-hero-item .title {
    width: 40.6779661017%;
    float: left;
    margin-right: 1.6949152542%;
  }
}

.pagination {
  margin: 3em 0;
  text-align: center;
}
.pagination .load-more {
  display: none;
}
@media (min-width: 81.25em) {
  .pagination {
    margin: 4.5em 0;
  }
  .pagination .title {
    width: 40.6779661017%;
    float: left;
    margin-right: 1.6949152542%;
  }
}

.js .pagination .load-more {
  display: inline-block;
  padding: 0.75em 1.5em;
  text-align: center;
  display: inline-block;
  color: white;
  background-color: #bb0b0e;
  border: 0;
  -webkit-transition: background 0.35s ease-in-out;
  -ms-transition: background 0.35s ease-in-out;
  transition: background 0.35s ease-in-out;
}
.js .pagination .load-more * {
  vertical-align: middle;
}
.js .pagination .load-more:hover {
  background: #8c0007;
}
.js .pagination .page-numbers {
  display: none;
}

.no-results {
  font-weight: 700;
  text-align: center;
  font-weight: 1.25em;
  padding: 1.5em;
  color: #434343;
}
.no-results.error {
  color: #bb0b0e;
}
.no-results.error b {
  display: block;
}

.appended-item {
  -webkit-animation-duration: 0.5s;
  animation-duration: 0.5s;
  -webkit-animation-fill-mode: both;
  animation-fill-mode: both;
  -webkit-animation-name: slideInUp;
  animation-name: slideInUp;
}

.modular-signup {
  position: relative;
  padding: 30px 0;
}
.modular-signup .form-row {
  display: flex;
  flex-flow: row;
  justify-content: space-between;
  margin: 20px 0;
}
@media (max-width: 600px) {
  .modular-signup .form-row {
    display: block;
  }
}
.modular-signup .form-row.noflex {
  flex: none;
  display: block;
}
.modular-signup .form-row.noflex input {
  height: 30px;
}
.modular-signup .pot {
  display: none;
}
.modular-signup input {
  height: 60px;
  padding: 15px;
  box-sizing: border-box;
  font-size: 16px;
  line-height: 20px;
  font-family: "Muli", "Trebuchet MS";
  text-transform: uppercase;
  color: #777777;
  background-color: #e9e9e9;
  border: none;
  font-weight: 400;
}
.modular-signup input:first-child {
  margin-right: 20px;
}
@media (max-width: 600px) {
  .modular-signup input:first-child {
    margin-bottom: 20px;
  }
}
.modular-signup input.half {
  width: 50%;
}
@media (max-width: 600px) {
  .modular-signup input.half {
    width: 100%;
  }
}
.modular-signup input.short {
  width: 35%;
}
@media (max-width: 600px) {
  .modular-signup input.short {
    width: 100%;
  }
}
.modular-signup input.newsletter-checkbox {
  padding: 0;
  line-height: 1;
  margin-bottom: 0;
}
@media (max-width: 500px) {
  .modular-signup input.newsletter-checkbox {
    float: left;
  }
}
.modular-signup .submit {
  display: block;
  height: 60px;
  background-color: #bb0b0e;
  font-family: "Roboto Slab", serif;
  font-weight: 700;
  border: 0;
  opacity: 1;
  outline: none;
  color: #e9e9e9;
  letter-spacing: 1px;
  text-transform: uppercase;
  padding: 15px;
  box-sizing: border-box;
  font-size: 16px;
  line-height: 20px;
  position: relative;
  padding-right: 40px;
  transition: background-color 0.3s ease-in-out;
}
.modular-signup .submit:hover {
  background-color: #8c0007;
}
.modular-signup .submit svg {
  position: absolute;
  top: 50%;
  -ms-transform: translate(0, -50%);
  -webkit-transform: translate(0, -50%);
  transform: translate(0, -50%);
  fill: white;
  right: 1em;
  display: inline-block;
  width: 1em;
  height: 1em;
}
.modular-signup label {
  line-height: 30px;
  vertical-align: top;
  display: inline;
  font-family: "Muli", "Trebuchet MS";
  border: none;
  font-weight: 400;
}

.inline-email-signup {
  text-align: center;
  overflow: hidden;
  background: url("../images/bg-triangle-newsletter.png");
  margin: 55px 0;
  width: 100%;
  position: relative;
  padding: 30px;
}
@media (max-width: 600px) {
  .inline-email-signup {
    margin: 25px 0;
  }
}
.inline-email-signup .note {
  -webkit-box-ordinal-group: 2;
  -ms-flex-order: 1;
  order: 1;
  text-align: left;
  display: block;
  margin-bottom: 10px;
  color: #fff;
  font-size: 14px;
}
.inline-email-signup .headline {
  width: 100%;
  padding: 0 10%;
}
.inline-email-signup h3 {
  text-align: left;
  margin-bottom: 10px;
  font-weight: normal;
  color: #fff !important;
}
.inline-email-signup .email-signup-form {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  width: 100%;
  padding-right: 10%;
  color: #ffffff;
}
.inline-email-signup .email-signup-form .email-field {
  float: left;
  display: inline-block;
  margin-bottom: 0;
  margin-right: 1%;
  margin-left: 0;
  width: 45%;
}
@media (max-width: 650px) {
  .inline-email-signup .email-signup-form .email-field {
    width: 100%;
    float: none;
    display: block;
    margin-right: 0;
    margin-bottom: 10px;
  }
}
.inline-email-signup .email-signup-form .zip-code-field {
  float: left;
  display: inline-block;
  margin-bottom: 0;
  width: 30%;
}
@media (max-width: 650px) {
  .inline-email-signup .email-signup-form .zip-code-field {
    width: 100%;
    float: none;
    display: block;
    margin-bottom: 10px;
  }
}
.inline-email-signup .email-signup-form button[type=submit] {
  width: 24%;
  display: inline-block;
}
@media (max-width: 650px) {
  .inline-email-signup .email-signup-form button[type=submit] {
    width: 100%;
    float: none;
    display: block;
    margin-bottom: 10px;
  }
}
.inline-email-signup .email-signup-form .note {
  width: 75%;
}

.film-listings ul {
  margin: 0;
  padding: 0;
}
.film-listings ul li {
  list-style: none;
}
.film-listings ul dd {
  margin: 0;
}
.film-listings ul li {
  margin-bottom: 3em;
}
.film-listings ul li:after {
  display: table;
  clear: both;
  content: "";
}
.film-listings ul li:before {
  display: table;
  clear: both;
  content: "";
}
@media (min-width: 81.25em) {
  .film-listings ul li {
    margin-bottom: 1.5em;
  }
}
@media (min-width: 40.625em) {
  .film-listings .image {
    width: 34.2105263158%;
    float: left;
    margin-right: 5.2631578947%;
  }
}
@media (min-width: 68.75em) {
  .film-listings .image {
    width: 48.7179487179%;
    float: left;
    margin-right: 2.5641025641%;
  }
}
@media (min-width: 81.25em) {
  .film-listings .image {
    width: 49.1525423729%;
    float: left;
    margin-right: 1.6949152542%;
  }
}
.film-listings .description h3 {
  margin-bottom: 0;
}
.film-listings .description .zeta {
  display: block;
  margin-top: 0.375em;
  margin-bottom: 0.75em;
}
.film-listings .description p {
  margin-bottom: 0.75em;
}
.film-listings .description .parts {
  color: #777777;
  font-weight: 700;
}
.film-listings .description .parts a:not(:last-of-type):after {
  content: "|";
  color: #999999;
  font-weight: 400;
  display: inline-block;
  margin-left: 0.4375em;
  margin-right: 0.3125em;
  line-height: 1;
}
@media (min-width: 40.625em) {
  .film-listings .description {
    width: 60.5263157895%;
    float: right;
    margin-right: 0;
  }
}
@media (min-width: 68.75em) {
  .film-listings .description {
    width: 48.7179487179%;
    float: right;
    margin-right: 0;
  }
}
@media (min-width: 81.25em) {
  .film-listings .description {
    width: 49.1525423729%;
    float: right;
    margin-right: 0;
  }
  .film-listings .description p {
    margin-bottom: 1.5em;
  }
}

.film-detail-hero-item {
  margin: 0;
  margin-top: 3em;
}
.film-detail-hero-item img {
  display: block;
  width: 100%;
}
.film-detail-hero-item .mp4-wrapper {
  position: relative;
}
.film-detail-hero-item .mp4-wrapper .hero {
  width: 100%;
  padding-top: 56%;
  position: relative;
}
.film-detail-hero-item .mp4-wrapper .hero video {
  object-fit: cover;
  width: 100%;
  height: auto;
  position: absolute;
  top: 0;
  left: 0;
}
.film-detail-hero-item .mp4-wrapper .hero button.play-pause {
  width: 34px;
  height: 34px;
  background: transparent url(../images/button_video_play.png) no-repeat 0 0;
  background-size: 34px 68px;
  position: absolute;
  top: 10px;
  right: 10px;
  display: block;
  outline: none;
  border: none;
  opacity: 0.35;
}
.film-detail-hero-item .mp4-wrapper .hero button.play-pause.paused {
  background-position: 0 -34px;
}
.film-detail-hero-item .title {
  padding: 0.75em 1.5em 1em 1.5em;
  background: #ac0b0e;
  color: white;
  float: none !important;
  margin-bottom: 0 !important;
}
.film-detail-hero-item .title.right {
  margin-left: 0 !important;
}
.film-detail-hero-item .title.left {
  margin-right: 0 !important;
}
.film-detail-hero-item .title .alpha {
  text-transform: uppercase;
  font-family: "Josefin Sans", sans-serif;
  color: white;
  font-size: 2em;
  margin-bottom: 0;
  line-height: 1.2;
  display: block;
  padding-top: 0.25em;
}
.film-detail-hero-item .title .alpha:before {
  display: none;
}
.film-detail-hero-item .title .zeta {
  display: inline-block;
  color: white;
  margin-bottom: 0.5em;
}
.film-detail-hero-item .title .underline {
  display: inline-block;
  font-size: 4vw;
  font-weight: 700;
}
@media (min-width: 40.625em) {
  .film-detail-hero-item .title .underline {
    font-size: 1.5em;
  }
}
@media (min-width: 81.25em) {
  .film-detail-hero-item .title .zeta {
    margin-bottom: 1.5em;
  }
  .film-detail-hero-item .title .underline {
    margin-top: 0.5em;
  }
}
.film-detail-hero-item .overlay {
  font-size: 3vw;
}
@media (min-width: 40.625em) {
  .film-detail-hero-item .overlay {
    font-size: inherit;
  }
}
.film-detail-hero-item .watch-link {
  text-decoration: none;
  display: block;
  position: relative;
  font-size: 3vw;
}
.film-detail-hero-item .watch-link:hover {
  text-decoration: none;
}
.film-detail-hero-item .watch-link:active {
  text-decoration: none;
}
.film-detail-hero-item .watch-link:visited {
  text-decoration: none;
}
.film-detail-hero-item .watch-link:focus {
  text-decoration: none;
}
.film-detail-hero-item .watch-link .alpha {
  -webkit-transition: color 0.35s ease-in-out;
  -ms-transition: color 0.35s ease-in-out;
  transition: color 0.35s ease-in-out;
}
.film-detail-hero-item .watch-link .alpha:after {
  display: table;
  clear: both;
  content: "";
}
.film-detail-hero-item .watch-link .alpha:before {
  display: table;
  clear: both;
  content: "";
}
.film-detail-hero-item .watch-link .alpha:before {
  display: none;
}
.film-detail-hero-item .watch-link .alpha .title-copy {
  float: left;
  width: calc(100% - 2em);
  padding-top: 0.125em;
}
.film-detail-hero-item .watch-link .alpha .title-copy:after {
  -webkit-transition: all 0.3s ease-in-out;
  -ms-transition: all 0.3s ease-in-out;
  transition: all 0.3s ease-in-out;
  content: "";
  position: absolute;
  bottom: 0;
  left: 0;
  background: white;
  height: 1px;
  width: 100%;
  visibility: hidden;
  -ms-transform: scaleX(0);
  transform: scaleX(0);
}
.film-detail-hero-item .watch-link .alpha .play-icon {
  max-height: 1.25em;
  max-width: 1.25em;
  display: inline-block;
  float: left;
  margin-right: 0.5em;
}
.film-detail-hero-item .watch-link .alpha .play-icon path {
  -webkit-transition: fill 0.35s ease-in-out;
  -ms-transition: fill 0.35s ease-in-out;
  transition: fill 0.35s ease-in-out;
  fill: white;
}
.film-detail-hero-item .watch-link:hover .title-copy {
  position: relative;
}
.film-detail-hero-item .watch-link:hover .title-copy:after {
  visibility: visible;
  -ms-transform: scaleX(1);
  transform: scaleX(1);
}
@media (min-width: 40.625em) {
  .film-detail-hero-item .watch-link {
    font-size: inherit;
  }
}
@media (min-width: 68.75em) {
  .film-detail-hero-item {
    position: relative;
  }
  .film-detail-hero-item .title {
    position: absolute;
    bottom: 15%;
    padding: 1.5em 1.875em;
    background: none;
  }
  .film-detail-hero-item .title.left {
    width: 55.1282051282%;
    float: left;
    margin-right: 2.5641025641%;
    left: 0;
    padding-right: 0.25em;
  }
  .film-detail-hero-item .title.right {
    width: 55.1282051282%;
    float: right;
    margin-right: 0;
    right: 0;
    padding-right: 0.25em;
  }
  .film-detail-hero-item .title .alpha {
    font-size: 3em;
  }
  .film-detail-hero-item .title * {
    position: relative;
    z-index: 3;
  }
  .film-detail-hero-item .title:after {
    content: "";
    position: absolute;
    height: 100%;
    width: 100%;
    top: 0;
    left: 0;
    z-index: 1;
  }
  @supports (mix-blend-mode: multiply) {
    .film-detail-hero-item .title:after {
      background: rgba(255, 255, 255, 0.2);
    }
  }
  .film-detail-hero-item .title:before {
    background: rgba(0, 0, 0, 0.6);
    content: "";
    position: absolute;
    height: 100%;
    width: 100%;
    top: 0;
    left: 0;
    z-index: 2;
  }
  @supports (mix-blend-mode: multiply) {
    .film-detail-hero-item .title:before {
      background: #d90002;
      mix-blend-mode: multiply;
    }
  }
}
@media (min-width: 81.25em) {
  .film-detail-hero-item .title.left {
    width: 47.0338983051%;
    float: left;
    margin-right: 1.6949152542%;
    left: 0;
  }
  .film-detail-hero-item .title.right {
    width: 47.0338983051%;
    float: right;
    margin-right: 0;
    right: 0;
  }
}
@media (min-width: 95.625em) {
  .film-detail-hero-item .title.left {
    width: 40.6779661017%;
    float: left;
    margin-right: 1.6949152542%;
  }
  .film-detail-hero-item .title.right {
    width: 40.6779661017%;
    float: right;
    margin-right: 0;
  }
}
.film-detail-hero-item .watch-link + .zeta {
  margin-top: 1.5em;
}
.film-detail-hero-item .title-copy + .zeta {
  margin-top: 1.5em;
}
.film-detail-hero-item .zeta + .watch-link .alpha {
  padding-top: 0;
}

.film-sub-nav {
  background: #174189;
  color: white;
  -webkit-transition: background 0.3s ease-in-out;
  -ms-transition: background 0.3s ease-in-out;
  transition: background 0.3s ease-in-out;
  margin-bottom: 1.5em;
}
.film-sub-nav:after {
  display: table;
  clear: both;
  content: "";
}
.film-sub-nav:before {
  display: table;
  clear: both;
  content: "";
}
.film-sub-nav a {
  text-decoration: none;
  display: inline-block;
  color: white;
  text-transform: uppercase;
  font-size: 1.125em;
}
.film-sub-nav a:hover {
  text-decoration: none;
}
.film-sub-nav a:active {
  text-decoration: none;
}
.film-sub-nav a:visited {
  text-decoration: none;
}
.film-sub-nav a:focus {
  text-decoration: none;
}
.film-sub-nav a:hover {
  color: white;
  text-decoration: none;
}
.film-sub-nav ul {
  margin: 0;
  padding: 0;
}
.film-sub-nav ul li {
  list-style: none;
}
.film-sub-nav ul dd {
  margin: 0;
}
@media (min-width: 68.75em) {
  .film-sub-nav {
    margin-bottom: 3em;
  }
}

.film-parts,
.tab-mobile-toggle {
  display: none;
}

.film-parts {
  position: relative;
}
@media (min-width: 81.25em) {
  .film-parts {
    width: 27.9661016949%;
    float: right;
    margin-right: 0;
  }
}
@media (min-width: 95.625em) {
  .film-parts {
    width: 23.7288135593%;
    float: right;
    margin-right: 0;
  }
}

.info-tabs .tab-link {
  -webkit-transition: background 0.5s ease-in-out;
  -ms-transition: background 0.5s ease-in-out;
  transition: background 0.5s ease-in-out;
  padding: 0.5625em 1em;
  width: 100%;
}
.info-tabs .tab-link:hover {
  background: #103066;
}
.info-tabs .tab-link.active {
  background: #103066;
  cursor: default;
}
@media (min-width: 81.25em) {
  .info-tabs .tab-list {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
  }
  .info-tabs .tab-list li {
    display: inline-block;
  }
  .info-tabs .tab-list li a {
    padding: 1.3em 1.5em;
  }
}
@media (min-width: 81.25em) {
  .info-tabs {
    width: 70.3389830508%;
    float: left;
    margin-right: 1.6949152542%;
  }
}
@media (min-width: 95.625em) {
  .info-tabs {
    width: 74.5762711864%;
    float: left;
    margin-right: 1.6949152542%;
  }
}

.tab-panel .tab-panel-title {
  margin-bottom: 0.25em;
}
.tab-panel .part-content {
  margin-top: 3em;
}
.tab-panel .bio figure {
  text-align: center;
  margin: 0 auto;
  margin-bottom: 1.5em;
}
.tab-panel .bio figure span {
  height: 75vw;
  width: 75vw;
  display: inline-block;
  position: relative;
  overflow: hidden;
  border-radius: 50%;
}
.tab-panel .bio figure img {
  position: absolute;
  top: 50%;
  left: 50%;
  -webkit-transform: translate(-50%, -50%);
  -ms-transform: translate(-50%, -50%);
  transform: translate(-50%, -50%);
  object-fit: cover;
  min-height: 100%;
  min-width: 100%;
}
@media (min-width: 40.625em) {
  .tab-panel .bio figure span {
    width: 10em;
    height: 10em;
  }
}
@media (min-width: 68.75em) {
  .tab-panel .bio {
    display: grid;
    grid-template-columns: 2.5fr 4fr;
  }
  .tab-panel .bio figure,
  .tab-panel .bio .bio-content {
    display: inline-block;
  }
  .tab-panel .bio figure {
    width: 30%;
    vertical-align: top;
  }
  .tab-panel .bio figure span {
    width: 12.5em;
    height: 12.5em;
  }
  .tab-panel .bio .bio-content {
    width: 65%;
  }
  @supports (display: grid) {
    .tab-panel .bio figure,
    .tab-panel .bio .bio-content {
      width: auto;
      vertical-align: inherit;
    }
    .tab-panel .bio figure {
      align-content: center;
    }
  }
}
@media (min-width: 81.25em) {
  .tab-panel .bio figure span {
    width: 15em;
    height: 15em;
  }
}
@media (min-width: 95.625em) {
  .tab-panel .bio figure span {
    width: 20em;
    height: 20em;
  }
}
.tab-panel .pdf-links strong {
  display: inline-block;
  margin-right: 0.5em;
}
.tab-panel .pdf-links .part-download {
  display: inline-block;
}
.tab-panel .pdf-links .part-download:not(:last-of-type):after {
  content: "|";
  color: #999999;
  font-weight: 400;
  display: inline-block;
  margin-left: 0.4375em;
  margin-right: 0.3125em;
  line-height: 1;
  vertical-align: text-top;
}
.tab-panel .single-download {
  display: inline-block;
}
@media (min-width: 40.625em) {
  .tab-panel {
    width: 73.6842105263%;
    float: left;
    margin-right: 5.2631578947%;
    float: none;
  }
}
@media (min-width: 68.75em) {
  .tab-panel {
    width: 74.358974359%;
    float: left;
    margin-right: 2.5641025641%;
    float: none;
  }
}
@media (min-width: 81.25em) {
  .tab-panel {
    max-width: 65.25em;
  }
}

@media (min-width: 81.25em) {
  .related-feature-list .filters .label {
    margin-left: -4.1875em;
  }
}
.related-feature-list .filters form {
  text-align: center;
}
.related-feature-list .filters form fieldset label {
  width: 100%;
}
.related-feature-list .filters form fieldset label:first-of-type {
  border-radius: 0;
}
.related-feature-list .filters form fieldset label:last-of-type {
  border-radius: 0;
}
@media only screen and (min-width: 45.3125em) {
  .related-feature-list .filters form fieldset label {
    width: 7.5em;
  }
  .related-feature-list .filters form fieldset label:first-of-type {
    border-radius: 1.25em 0 0 1.25em;
    padding-right: 1.15em;
  }
  .related-feature-list .filters form fieldset label:last-of-type {
    border-radius: 0 1.25em 1.25em 0;
    padding-left: 1.15em;
  }
}
@media (min-width: 68.75em) {
  .related-feature-list .filters form fieldset label {
    width: 10em;
  }
}
@media only screen and (max-width: 23.75em) {
  .related-feature-list .filters form fieldset label {
    font-size: 4.85vw;
  }
}

.js .film-parts {
  display: block;
}
.js .part-selection {
  font-size: 1.125em;
  text-transform: uppercase;
  display: block;
  margin: 0.25em 0.3em;
}
.js .part-selection:after {
  display: table;
  clear: both;
  content: "";
}
.js .part-selection:before {
  display: table;
  clear: both;
  content: "";
}
.js .part-selection .instruction {
  display: none;
}
.js .part-selection button {
  height: 3.8175em;
  width: 100%;
  position: relative;
  z-index: 2;
  background: white;
  text-align: left;
  border: 0.0625em solid #999999;
  border-bottom: none;
  padding: 0.25em 1em;
  text-transform: uppercase;
  color: #434343;
  position: relative;
}
.js .part-selection button .part {
  width: calc(100% - 1em);
  font-weight: 700;
}
.js .part-selection button .part span {
  display: block;
  font-size: 0.777em;
  color: #4872b4;
}
.js .part-selection button svg {
  position: absolute;
  top: 50%;
  -ms-transform: translate(0, -50%);
  -webkit-transform: translate(0, -50%);
  transform: translate(0, -50%);
  max-height: 1em;
  max-width: 1em;
  right: 1em;
  fill: #999999;
  transform-origin: 50% 22.5%;
}
.js .part-selection button.close-state svg {
  transform: rotate(180deg);
}
.js .film-parts-large {
  -webkit-transition: all 0.35s ease-in-out;
  -ms-transition: all 0.35s ease-in-out;
  transition: all 0.35s ease-in-out;
  padding: 0.25em 0.35em;
  width: 100%;
  position: absolute;
  right: 0;
  top: 4.05em;
  position: absolute;
  z-index: 1;
  overflow: hidden;
  visibility: hidden;
  max-height: 0;
}
.js .film-parts-large.open {
  max-height: 20em;
  visibility: visible;
}
.js .film-parts-large a {
  -webkit-transition: background 0.5s ease-in-out;
  -ms-transition: background 0.5s ease-in-out;
  transition: background 0.5s ease-in-out;
  background: white;
  padding: 0.25em 1em;
  width: 100%;
  color: #434343;
  border: 0.0625em solid #999999;
}
.js .film-parts-large a span {
  display: block;
  font-size: 0.777em;
  color: #4872b4;
}
.js .film-parts-large a:hover {
  background: #e6e6e6;
}
.js .film-parts-large a:hover span {
  color: #4872b4;
}
.js .film-parts-large a.active {
  background: #e6e6e6;
  cursor: default;
}
.js .film-parts-large a.active span {
  color: #4872b4;
}
.js .film-parts-large li:not(:last-of-type) a {
  border-bottom: none;
}
@media (min-width: 68.75em) {
  .js .film-parts-large {
    top: 4.35em;
    padding: 0.25em 0.35em;
  }
}
.js .tab-mobile-toggle {
  background: transparent;
  padding: 0.75em 1.5em;
  text-align: center;
  display: inline-block;
  color: white;
  border-color: white;
  border-width: 0.0625em;
  border-style: solid;
  text-align: left;
  display: inline-block;
  position: relative;
  height: 3.8175em;
  width: calc(100% - 0.65em);
  margin: 0.3em;
  font-size: 1.125em;
  text-transform: uppercase;
}
.js .tab-mobile-toggle * {
  vertical-align: middle;
}
.js .tab-mobile-toggle.mutiple-episodes {
  margin: 0 0.3em 0.3em 0.3em;
}
.js .tab-mobile-toggle span {
  display: inline-block;
  margin-right: 1.5em;
  padding-bottom: 0.15em;
}
.js .tab-mobile-toggle:hover, .js .tab-mobile-toggle:focus, .js .tab-mobile-toggle:active {
  border: 0.0625em solid 0.0625em;
}
.js .tab-mobile-toggle svg {
  position: absolute;
  top: 50%;
  -ms-transform: translate(0, -50%);
  -webkit-transform: translate(0, -50%);
  transform: translate(0, -50%);
  max-height: 1em;
  max-width: 1em;
  right: 1em;
  fill: white;
  transform-origin: 50% 22.5%;
}
.js .tab-mobile-toggle.close-state svg {
  transform: rotate(180deg);
}
@media (min-width: 81.25em) {
  .js .tab-mobile-toggle {
    display: none;
  }
}
.js .info-tabs .tab-list.menu {
  visibility: hidden;
  overflow: hidden;
  max-height: 0;
  width: 100%;
  -webkit-transition: all 0.35s ease-in-out;
  -ms-transition: all 0.35s ease-in-out;
  transition: all 0.35s ease-in-out;
}
.js .info-tabs .tab-list.menu.open {
  visibility: visible;
  max-height: 20em;
}
@media (min-width: 81.25em) {
  .js .info-tabs .tab-list.menu {
    visibility: visible;
    max-height: inherit;
  }
}
.js .tab-panel {
  -webkit-animation-duration: 0.5s;
  animation-duration: 0.5s;
  -webkit-animation-fill-mode: both;
  animation-fill-mode: both;
  margin-top: 1.5em;
  display: none;
}
.js .tab-panel.default {
  display: block;
}
.js .tab-panel.open {
  display: block;
  -webkit-animation-name: fadeIn;
  animation-name: fadeIn;
}
@media (min-width: 81.25em) {
  .js .tab-panel {
    max-width: 65.25em;
  }
}

.film-shop-links {
  margin: 3.75em 0;
  clear: both;
}
.film-shop-links img {
  max-width: 6.25em;
}
.film-shop-links * {
  vertical-align: middle;
}
.film-shop-links a {
  display: inline-block;
}
.film-shop-links ul {
  margin: 0;
  padding: 0;
}
.film-shop-links ul li {
  list-style: none;
}
.film-shop-links ul dd {
  margin: 0;
}
.film-shop-links ul li {
  display: inline-block;
}
.film-shop-links ul li:not(:first-of-type) {
  margin-left: 1em;
}

.film-funders {
  margin-bottom: 3.75em;
  text-align: center;
}
.film-funders * {
  vertical-align: middle;
}
.film-funders a {
  display: inline-block;
}
.film-funders img {
  max-width: 10em;
}
.film-funders ul {
  margin: 0;
  padding: 0;
}
.film-funders ul li {
  list-style: none;
}
.film-funders ul dd {
  margin: 0;
}
.film-funders ul li {
  display: inline-block;
  margin-bottom: 1em;
}
.film-funders ul li:not(:first-of-type) {
  margin-left: 1em;
}
@media (min-width: 68.75em) {
  .film-funders {
    text-align: left;
  }
}

.film-title {
  margin-bottom: 0;
}
.film-title .passport-icon {
  max-width: 1.15em;
  max-height: 1.15em;
  padding-right: 0.25em;
}

.premiere-date {
  color: #4872b4;
}

.tagline {
  font-weight: 700;
  display: block;
  font-size: 1.25em;
  color: #999999;
  text-transform: uppercase;
}

.feature-listings:after {
  display: table;
  clear: both;
  content: "";
}
.feature-listings:before {
  display: table;
  clear: both;
  content: "";
}

.feature-list:after {
  display: table;
  clear: both;
  content: "";
}
.feature-list:before {
  display: table;
  clear: both;
  content: "";
}
.feature-list li {
  margin-bottom: 3em;
}
@media (min-width: 68.75em) {
  .feature-list li {
    width: 31.5384615385%;
    float: left;
    margin-right: 2.5641025641%;
  }
  .feature-list li:nth-child(3n) {
    float: right;
    margin-right: 0;
  }
  .feature-list li:nth-child(3n+1) {
    margin-left: 0;
    clear: both;
  }
  .feature-list li:nth-child(5) {
    width: 65.641025641%;
    float: left;
    margin-right: 2.5641025641%;
    float: right;
    margin-right: 0;
  }
  .feature-list li:nth-of-type(6) {
    margin-left: 0;
    clear: both;
  }
  .feature-list li:nth-of-type(7) {
    clear: none;
  }
  .feature-list li:nth-of-type(8) {
    float: right;
    margin-right: 0;
    margin-right: 2.5641025641%;
    clear: none;
  }
  .feature-list li:nth-of-type(9) {
    width: 65.641025641%;
    float: left;
    margin-right: 2.5641025641%;
    margin-left: 0;
    clear: both;
  }
  .feature-list li:nth-of-type(10) {
    float: right;
    margin-right: 0;
    clear: none;
  }
  .feature-list li:nth-of-type(11) {
    margin-left: 0;
    clear: both;
  }
  .feature-list li:nth-of-type(12) {
    float: left;
  }
  .feature-list li:nth-of-type(13) {
    float: right;
    margin-right: 0;
    clear: none;
  }
  .feature-list li:nth-of-type(14) {
    margin-left: 0;
    clear: both;
  }
  .feature-list li:nth-of-type(15) {
    width: 65.641025641%;
    float: left;
    margin-right: 2.5641025641%;
    float: right;
    margin-right: 0;
  }
}
@media (min-width: 81.25em) {
  .feature-list li {
    width: 32.2033898305%;
    float: left;
    margin-right: 1.6949152542%;
  }
  .feature-list li:nth-child(3n) {
    float: right;
    margin-right: 0;
  }
  .feature-list li:nth-child(3n+1) {
    margin-left: 0;
    clear: both;
  }
  .feature-list li:nth-child(5) {
    width: 66.1016949153%;
    float: left;
    margin-right: 1.6949152542%;
    float: right;
    margin-right: 0;
  }
  .feature-list li:nth-of-type(6) {
    margin-left: 0;
    clear: both;
  }
  .feature-list li:nth-of-type(7) {
    clear: none;
  }
  .feature-list li:nth-of-type(8) {
    float: right;
    margin-right: 0;
    margin-right: 1.6949152542%;
    clear: none;
  }
  .feature-list li:nth-of-type(9) {
    width: 66.1016949153%;
    float: left;
    margin-right: 1.6949152542%;
    margin-left: 0;
    clear: both;
  }
  .feature-list li:nth-of-type(10) {
    float: right;
    margin-right: 0;
    clear: none;
  }
  .feature-list li:nth-of-type(11) {
    margin-left: 0;
    clear: both;
  }
  .feature-list li:nth-of-type(12) {
    float: left;
  }
  .feature-list li:nth-of-type(13) {
    float: right;
    margin-right: 0;
    clear: none;
  }
  .feature-list li:nth-of-type(14) {
    margin-left: 0;
    clear: both;
  }
  .feature-list li:nth-of-type(15) {
    width: 66.1016949153%;
    float: left;
    margin-right: 1.6949152542%;
    float: right;
    margin-right: 0;
  }
}

.features-paginated li {
  margin-bottom: 3em;
}
@media (min-width: 68.75em) {
  .features-paginated li {
    width: 31.5384615385%;
    float: left;
  }
  .features-paginated li:nth-child(3n+1) {
    margin-left: 0;
    margin-right: -100%;
    clear: both;
    margin-left: 0;
  }
  .features-paginated li:nth-child(3n+2) {
    margin-left: 34.1025641026%;
    margin-right: -100%;
    clear: none;
  }
  .features-paginated li:nth-child(3n+3) {
    margin-left: 68.2051282051%;
    margin-right: -100%;
    clear: none;
  }
}
@media (min-width: 81.25em) {
  .features-paginated li {
    width: 32.2033898305%;
    float: left;
  }
  .features-paginated li:nth-child(3n+1) {
    margin-left: 0;
    margin-right: -100%;
    clear: both;
    margin-left: 0;
  }
  .features-paginated li:nth-child(3n+2) {
    margin-left: 33.8983050847%;
    margin-right: -100%;
    clear: none;
  }
  .features-paginated li:nth-child(3n+3) {
    margin-left: 67.7966101695%;
    margin-right: -100%;
    clear: none;
  }
}

.feature .overline:after {
  display: table;
  clear: both;
  content: "";
}
.feature .overline:before {
  display: table;
  clear: both;
  content: "";
}
.feature .overline .zeta {
  display: block;
}
.feature .overline + h4 {
  margin-top: -0.65em;
}
.feature .overline .intro-content {
  max-width: 45em;
  margin: 0 auto;
}
.feature .overline .intro {
  margin: 1em 0 0 0;
  font-size: 1.25em;
}
.feature .overline .byline {
  margin-top: 1.5em;
  color: #777777;
  font-weight: 700;
  vertical-align: middle;
}
.feature .overline .byline + .social-sharing {
  margin-top: 0.75em;
}
@media (min-width: 40.625em) {
  .feature .overline .byline + .social-sharing {
    margin-top: 1.8em;
  }
}
@media (min-width: 40.625em) {
  .feature .overline .byline {
    display: inline-block;
    margin-right: 2.25em;
  }
}
.feature .overline .social-sharing {
  display: none;
  color: #777777;
  font-weight: 700;
  margin-top: 1.5em;
  vertical-align: middle;
}
.feature .overline .social-sharing span {
  display: inline-block;
  margin-top: 0.015em;
}
.feature .overline .social-sharing ul {
  margin: 0;
  padding: 0;
  display: inline-block;
  vertical-align: middle;
  height: 1.95em;
}
.feature .overline .social-sharing ul li {
  list-style: none;
}
.feature .overline .social-sharing ul dd {
  margin: 0;
}
.feature .overline .social-sharing li {
  display: inline-block;
  padding: 0;
  margin: 0;
  position: relative;
  width: 1.95em;
  height: 1.95em;
  margin-right: 0.1em;
}
.feature .overline .social-sharing li:first-of-type {
  margin-left: 0.25em;
}
.feature .overline .social-sharing li .copy-url-container {
  background: #eaa700;
  padding: 1em;
  font-weight: 400;
  font-size: 1em;
  color: white;
}
.feature .overline .social-sharing li .copy-url-container label {
  display: inline-block;
  margin-bottom: 0.25em;
  font-size: 0.95em;
}
.feature .overline .social-sharing li .copy-url-container textarea {
  vertical-align: middle;
  max-width: 100%;
}
.feature .overline .social-sharing li button {
  border: none;
  background: none;
  box-shadow: none;
  padding: 0;
}
.feature .overline .social-sharing li button:hover, .feature .overline .social-sharing li button:focus, .feature .overline .social-sharing li button:active {
  box-shadow: none;
  border: none;
}
.feature .overline .social-sharing li a,
.feature .overline .social-sharing li button {
  display: inline-block;
  width: 100%;
  height: 100%;
  padding: 0.1em;
}
.feature .overline .social-sharing li svg {
  overflow: visible;
}
.feature .overline .social-sharing li svg .color {
  fill: white;
}
.feature .overline .social-sharing li svg .facebook {
  fill: #4073b7;
}
.feature .overline .social-sharing li svg .twitter {
  fill: #28a9e0;
}
.feature .overline .social-sharing li svg .mailto {
  fill: #8db729;
}
.feature .overline .social-sharing li svg .copy {
  fill: #eaa700;
}
.feature .overline .social-sharing li:before {
  display: none;
}
@media (min-width: 68.75em) {
  .feature .overline .intro-content {
    max-width: inherit;
    width: 61.5384615385%;
    float: left;
    margin-right: 2.5641025641%;
  }
  .feature .overline .ad-block {
    text-align: right;
    width: 35.8974358974%;
    float: right;
    margin-right: 0;
  }
}
@media (min-width: 81.25em) {
  .feature .overline .intro-content {
    width: 70.3389830508%;
    float: left;
    margin-right: 1.6949152542%;
  }
  .feature .overline .ad-block {
    width: 27.9661016949%;
    float: right;
    margin-right: 0;
  }
}
.feature .mp4-wrapper {
  position: relative;
  margin-bottom: 30px;
}
.feature .mp4-wrapper .hero {
  width: 100%;
  padding-top: 56%;
  position: relative;
}
.feature .mp4-wrapper .hero video {
  object-fit: cover;
  width: 100%;
  height: auto;
  position: absolute;
  top: 0;
  left: 0;
}
.feature .mp4-wrapper .hero button.play-pause {
  width: 34px;
  height: 34px;
  background: transparent url(../images/button_video_play.png) no-repeat 0 0;
  background-size: 34px 68px;
  position: absolute;
  top: 10px;
  right: 10px;
  display: block;
  outline: none;
  border: none;
  opacity: 0.35;
}
.feature .mp4-wrapper .hero button.play-pause.paused {
  background-position: 0 -34px;
}
.feature .mp4-wrapper .caption-wrapper {
  padding: 10px 0;
}
.feature .feature-content {
  max-width: 44.53125em;
  margin: 0 auto;
}
@media only screen and (min-width: 57.8125em) {
  .feature .center.large-media img {
    max-width: inherit;
    width: 57.8125em;
    margin-left: -6.640625em;
  }
}
@media (min-width: 68.75em) {
  .feature .right.medium-media {
    max-width: inherit;
    margin-right: -5em;
  }
}
@media (min-width: 68.75em) {
  .feature .left.medium-media {
    max-width: inherit;
    margin-left: -5em;
  }
}

.js .feature .overline .social-sharing {
  display: block;
}
@media (min-width: 40.625em) {
  .js .feature .overline .social-sharing {
    display: inline-block;
  }
}
.js .feature .overline .copy-url-container {
  position: absolute;
  -webkit-transition: all 0.35s ease-in-out;
  -ms-transition: all 0.35s ease-in-out;
  transition: all 0.35s ease-in-out;
  top: -6em;
  width: 15em;
  left: -10em;
  opacity: 0;
  z-index: -1;
}
.js .feature .overline .copy-url-container.open {
  opacity: 1;
  z-index: 1;
}
.js .feature .overline .copy-url-container button {
  position: absolute;
  right: 1em;
  top: 0.65em;
  width: 1.5em;
  height: 1.5em;
  padding: 0;
}
.js .feature .overline .copy-url-container button svg {
  width: 1.24em;
  height: 1.24em;
  fill: white;
}
@media (min-width: 68.75em) {
  .js .feature .overline .copy-url-container {
    width: 24em;
  }
  .js .feature .overline .copy-url-container textarea {
    width: calc(100% - 7em);
  }
}
@media (min-width: 68.75em) {
  .js .feature .ad-block.desktop {
    padding: 0 0 1.5em 0;
    margin-top: -1.5em;
  }
}

.collection-page .collection-detail-hero-item {
  margin-bottom: 3em;
}
.collection-page .collection-detail-hero-item img {
  width: 100%;
}
.collection-page .collection-section {
  position: relative;
  padding: 2em 0;
  width: 100%;
}
.collection-page .collection-section.no_title {
  padding: 0 0 2em;
}
.collection-page .collection-section:after {
  content: "";
  width: 100vw;
  position: absolute;
  left: calc(-50vw + 50%);
  right: 0;
  top: 0;
  height: 100%;
  z-index: -1;
}
.collection-page .collection-section.white:after {
  background-color: white;
}
.collection-page .collection-section.grey:after {
  background-color: rgba(227, 227, 227, 0.75);
  background-image: url("../images/bg-deco-circle.png");
  background-size: 18em 18em;
}

.grid {
  z-index: 1;
}

.feature-full-width {
  width: 50%;
  margin: 0 auto;
  float: none;
  margin-bottom: 15px !important;
  min-width: 700px;
}
@media (max-width: 1024px) {
  .feature-full-width {
    width: 100%;
    min-width: 0;
  }
}
.feature-full-width.alt {
  padding: 0;
  margin-top: 0;
  margin-bottom: 45px;
}
.feature-full-width h3 {
  font-family: "Muli", sans-serif !important;
  font-size: 32px !important;
  line-height: 34px !important;
  font-weight: 700 !important;
  font-style: normal !important;
}
.feature-full-width h3:not(.white) {
  color: #434343 !important;
}
.feature-full-width .overline {
  margin-left: auto;
  margin-right: auto;
  margin-bottom: 0;
}
.feature-full-width .overline:after {
  display: table;
  clear: both;
  content: "";
}
.feature-full-width .overline:before {
  display: table;
  clear: both;
  content: "";
}
.feature-full-width .overline.flat {
  margin-bottom: 25px;
}
.feature-full-width .overline .zeta {
  display: block;
  margin-top: 20px;
}
.feature-full-width .overline + h4 {
  margin-top: -0.65em;
}
.feature-full-width .overline .intro-content {
  max-width: 45em;
  margin: 0 auto;
}
.feature-full-width .overline .intro {
  margin: 1em 0 0 0;
  font-size: 1.375em;
}
.feature-full-width .overline .byline {
  margin-top: 1.5em;
  color: #777777;
  font-weight: 700;
  vertical-align: middle;
}
.feature-full-width .overline .byline + .social-sharing {
  margin-top: 0.75em;
}
@media (min-width: 40.625em) {
  .feature-full-width .overline .byline + .social-sharing {
    margin-top: 1.8em;
  }
}
@media (min-width: 40.625em) {
  .feature-full-width .overline .byline {
    display: inline-block;
    margin-right: 2.25em;
  }
}
.feature-full-width .overline .social-sharing {
  display: none;
  color: #777777;
  font-weight: 700;
  margin-top: 1.5em;
  vertical-align: middle;
}
.feature-full-width .overline .social-sharing span {
  display: inline-block;
  margin-top: 0.015em;
}
.feature-full-width .overline .social-sharing ul {
  margin: 0;
  padding: 0;
  display: inline-block;
  vertical-align: middle;
  height: 1.95em;
}
.feature-full-width .overline .social-sharing ul li {
  list-style: none;
}
.feature-full-width .overline .social-sharing ul dd {
  margin: 0;
}
.feature-full-width .overline .social-sharing li {
  display: inline-block;
  padding: 0;
  margin: 0;
  position: relative;
  width: 1.95em;
  height: 1.95em;
  margin-right: 0.1em;
}
.feature-full-width .overline .social-sharing li:first-of-type {
  margin-left: 0.25em;
}
.feature-full-width .overline .social-sharing li .copy-url-container {
  background: #eaa700;
  padding: 1em;
  font-weight: 400;
  font-size: 1em;
  color: white;
}
.feature-full-width .overline .social-sharing li .copy-url-container label {
  display: inline-block;
  margin-bottom: 0.25em;
  font-size: 0.95em;
}
.feature-full-width .overline .social-sharing li .copy-url-container textarea {
  vertical-align: middle;
  max-width: 100%;
}
.feature-full-width .overline .social-sharing li button {
  border: none;
  background: none;
  box-shadow: none;
  padding: 0;
}
.feature-full-width .overline .social-sharing li button:hover, .feature-full-width .overline .social-sharing li button:focus, .feature-full-width .overline .social-sharing li button:active {
  box-shadow: none;
  border: none;
}
.feature-full-width .overline .social-sharing li a,
.feature-full-width .overline .social-sharing li button {
  display: inline-block;
  width: 100%;
  height: 100%;
  padding: 0.1em;
}
.feature-full-width .overline .social-sharing li svg {
  overflow: visible;
}
.feature-full-width .overline .social-sharing li svg .color {
  fill: white;
}
.feature-full-width .overline .social-sharing li svg .facebook {
  fill: #4073b7;
}
.feature-full-width .overline .social-sharing li svg .twitter {
  fill: #28a9e0;
}
.feature-full-width .overline .social-sharing li svg .mailto {
  fill: #8db729;
}
.feature-full-width .overline .social-sharing li svg .copy {
  fill: #eaa700;
}
.feature-full-width .overline .social-sharing li:before {
  display: none;
}
@media (min-width: 68.75em) {
  .feature-full-width .overline .intro-content {
    max-width: inherit;
    width: 61.5384615385%;
    float: left;
    margin-right: 2.5641025641%;
  }
  .feature-full-width .overline .ad-block {
    text-align: right;
    width: 35.8974358974%;
    float: right;
    margin-right: 0;
  }
}
@media (min-width: 81.25em) {
  .feature-full-width .overline .intro-content {
    width: 70.3389830508%;
    float: left;
    margin-right: 1.6949152542%;
  }
  .feature-full-width .overline .ad-block {
    width: 27.9661016949%;
    float: right;
    margin-right: 0;
  }
}
.feature-full-width .feature-content {
  max-width: 44.53125em;
  margin: 0 auto;
}
.feature-full-width p + figure.full-width {
  margin: 55px auto 35px !important;
}
.feature-full-width figure {
  display: block;
}
.feature-full-width figure.full-width {
  float: none !important;
}
.feature-full-width figure.full-width.center {
  background-position: center center;
}
.feature-full-width figure.full-width.left {
  background-position: left center;
}
.feature-full-width figure.full-width.right {
  background-position: right center;
}
.feature-full-width figure.full-width .media-container {
  display: block;
  width: 100vw;
  height: auto;
  background-repeat: no-repeat;
  background-size: cover;
  margin-left: calc(-50vw + 50%);
}
.feature-full-width figure.full-width .media-container img {
  display: block;
  width: 100vw;
  height: auto;
  object-fit: cover;
  margin-left: calc(-50vw + 50%);
  max-width: 100vw;
}
@media (max-width: 1024px) {
  .feature-full-width figure.full-width .media-container {
    height: auto;
  }
  .feature-full-width figure.full-width .media-container img {
    position: relative;
    left: 0;
    top: 0;
    transform: none;
  }
}
.feature-full-width figure.full-width figcaption {
  width: 100vw;
  text-align: left;
  padding: 10px 0;
  margin-left: calc(-50vw + 55%);
}
@media (max-width: 1200px) {
  .feature-full-width figure.full-width figcaption {
    width: 95vw;
  }
}
.feature-full-width figure img:not(.cropped) {
  max-width: 1200px;
  width: 200%;
  margin-left: calc(-600px + 50%);
}
@media (max-width: 1200px) {
  .feature-full-width figure img:not(.cropped) {
    width: 100%;
    margin: 0 auto;
  }
}
.feature-full-width figure figcaption {
  text-align: left;
  padding: 10px 0;
  margin-left: calc(-600px + 50%);
}
.feature-full-width figure figcaption.cropped {
  margin-left: auto;
}
.feature-full-width figure figcaption span {
  display: block;
}
@media (max-width: 1200px) {
  .feature-full-width figure figcaption {
    margin: 0;
  }
}
.feature-full-width .cove-wrapper {
  max-width: 1200px;
  width: 200%;
  margin-left: calc(-600px + 50%);
  position: relative;
  margin-top: 35px;
  margin-bottom: 35px;
}
@media (max-width: 1200px) {
  .feature-full-width .cove-wrapper {
    margin: 35px auto;
    width: 100%;
  }
}
.feature-full-width .cove-wrapper .caption {
  padding: 15px 0 0;
}
.feature-full-width .carousel-container {
  width: 200%;
  max-width: 1200px;
  margin-left: calc(-600px + 50%);
  margin-top: 55px;
  margin-bottom: 55px;
}
@media (max-width: 1200px) {
  .feature-full-width .carousel-container {
    margin: 0;
    width: 100%;
  }
}
.feature-full-width .carousel-container figure {
  margin-top: 0 !important;
  margin-bottom: 0 !important;
}
.feature-full-width .carousel-container figure img,
.feature-full-width .carousel-container img {
  max-width: 100%;
  height: auto;
  width: auto;
  display: block;
  margin: 0;
}
.feature-full-width .carousel-container figcaption .caption {
  margin: 0 !important;
  margin-bottom: 30px !important;
}
.feature-full-width .carousel-container figcaption .credit {
  display: block;
  position: relative;
  padding: 0 0 0 30px !important;
}
.feature-full-width .carousel-container figcaption .credit:before {
  content: "";
  display: block;
  width: 20px;
  height: 20px;
  position: absolute;
  left: 0;
  top: 3px;
  background: url(../images/icon-camera.svg) no-repeat left top;
  background-size: contain;
}
.feature-full-width q {
  margin: 55px auto;
  max-width: 95%;
  display: block;
  color: #174189;
  font-family: "Roboto Slab", sans-serif;
  font-size: 22px;
  line-height: 40px;
  max-width: 575px;
  font-weight: 700;
}
@media (max-width: 500px) {
  .feature-full-width q {
    margin: 25px 0;
  }
}
.feature-full-width q:before, .feature-full-width q:after {
  display: inline;
  content: '"';
  background: none;
  height: auto;
  position: relative;
  left: auto;
  left: unset;
  top: auto;
  top: unset;
  transform: none;
}
.feature-full-width .related-features-block {
  position: relative;
  margin-top: 55px;
  margin-bottom: 55px;
  margin-left: calc(-487.5px + 50%);
  max-width: 975px;
  padding-bottom: 25px;
  width: 100vw;
}
@media (max-width: 975px) {
  .feature-full-width .related-features-block {
    width: 100%;
    margin-left: 0;
  }
}
@media (max-width: 500px) {
  .feature-full-width .related-features-block {
    margin-top: 35px;
    margin-bottom: 35px;
  }
}
.feature-full-width .related-features-block:after {
  position: absolute;
  width: 100%;
  display: block;
  content: "";
  height: 25px;
  border-top: 3px solid #e6e6e6;
  z-index: -1;
}
.feature-full-width .related-features-block h3.heading {
  background-color: #fff;
  display: inline-block;
  padding-right: 5px;
  font-size: 22px !important;
  line-height: 26px !important;
  margin-bottom: 25px !important;
}
.feature-full-width .related-features-block h3.heading:before {
  position: absolute;
  width: 100%;
  display: block;
  content: "";
  height: 25px;
  border-bottom: 3px solid #e6e6e6;
  top: -8px;
  z-index: -1;
}
.feature-full-width .related-features-block ul.list {
  display: inline-flex;
  justify-content: space-evenly;
  flex-flow: row;
  flex-wrap: wrap;
  position: relative;
  list-style-type: none;
  padding-left: 0;
  width: 100%;
}
@media (max-width: 975px) {
  .feature-full-width .related-features-block ul.list {
    display: block;
  }
}
.feature-full-width .related-features-block ul.list li {
  position: relative;
  width: 50%;
  padding: 0;
  margin: 0;
  box-sizing: border-box;
}
.feature-full-width .related-features-block ul.list li:before, .feature-full-width .related-features-block ul.list li:after {
  display: none;
}
@media (max-width: 975px) {
  .feature-full-width .related-features-block ul.list li {
    width: 100%;
    margin-bottom: 25px;
  }
}
.feature-full-width .related-features-block ul.list li:nth-child(odd) {
  padding-right: 27px;
}
@media (min-width: 975px) {
  .feature-full-width .related-features-block ul.list li:nth-child(even) {
    padding-left: 27px;
  }
}
.feature-full-width .related-features-block ul.list .related-item {
  position: relative;
  display: flex;
}
@media (max-width: 500px) {
  .feature-full-width .related-features-block ul.list .related-item {
    display: block;
  }
}
.feature-full-width .related-features-block ul.list .related-item .image {
  margin-right: 15px;
}
@media (max-width: 500px) {
  .feature-full-width .related-features-block ul.list .related-item .image {
    margin-right: 0;
  }
}
.feature-full-width .related-features-block ul.list .related-item a.thumbnail-image {
  position: relative;
  display: block;
  width: 224px;
  min-height: 126px;
  background-size: contain;
  background-position: center top;
}
@media (max-width: 500px) {
  .feature-full-width .related-features-block ul.list .related-item a.thumbnail-image {
    width: 100%;
    min-height: 0;
    padding-top: 56.65%;
    margin-bottom: 15px;
  }
}
.feature-full-width .related-features-block ul.list .related-item .details .type {
  font-family: "Roboto Slab", sans-serif;
  color: #777777;
  text-transform: uppercase;
  display: block;
  font-weight: 700;
  margin-bottom: 0;
  font-size: 14px;
  line-height: 20px;
}
.feature-full-width .related-features-block ul.list .related-item .details .title-link {
  font-size: 18px;
  line-height: 22px;
}
.feature-full-width .related-features-block ul.list .related-item .details .text p,
.feature-full-width .related-features-block ul.list .related-item .details .text i,
.feature-full-width .related-features-block ul.list .related-item .details .text b {
  font-family: "Muli", sans-serif;
  font-size: 16px;
  line-height: 22px;
  font-weight: 400;
  margin-bottom: 0;
}

.about-collection {
  width: 100%;
  max-width: 725px;
  margin-left: auto;
  margin-top: 30px;
  margin-right: auto;
  background-color: #e9e9e9;
  padding: 30px 35px;
}
.about-collection:first-child {
  margin-top: 80px;
}
.about-collection .heading {
  display: block;
  font-size: 24px;
  line-height: 28px;
  padding-bottom: 20px;
  color: #777;
}
.about-collection .heading a {
  color: #bb0b0e;
}
.about-collection .heading a:hover {
  color: #8c0007;
  text-decoration: none;
}
.about-collection .about-details {
  display: flex;
  justify-content: space-between;
}
@media (max-width: 768px) {
  .about-collection .about-details {
    display: block;
  }
}
.about-collection .about-details .image {
  width: 40%;
}
@media (max-width: 768px) {
  .about-collection .about-details .image {
    width: 100%;
  }
}
.about-collection .about-details .image img {
  display: block;
  width: 100%;
  height: auto;
  max-width: 224px;
}
@media (max-width: 768px) {
  .about-collection .about-details .image img {
    margin: 0 auto 30px;
  }
}
.about-collection .about-details .description {
  width: 60%;
}
@media (max-width: 768px) {
  .about-collection .about-details .description {
    width: 100%;
  }
}

.full-width-image {
  position: relative;
  width: 100%;
  max-width: 100vw;
  max-height: 785px;
  height: auto;
  z-index: -1;
}
.full-width-image .mp4-wrapper {
  position: relative;
  margin-bottom: 30px;
  max-height: 785px;
}
.full-width-image .mp4-wrapper .hero {
  width: 100%;
  position: relative;
  max-height: 785px;
}
.full-width-image .mp4-wrapper .hero video {
  object-fit: cover;
  width: 100%;
  height: auto;
  margin: 0 auto;
  display: block;
  max-height: 785px;
  max-width: 1366px;
}
.full-width-image .mp4-wrapper .hero button.play-pause {
  width: 34px;
  height: 34px;
  background: transparent url(../images/button_video_play.png) no-repeat 0 0;
  background-size: 34px 68px;
  position: absolute;
  top: 10px;
  right: 10px;
  display: block;
  outline: none;
  border: none;
  opacity: 0.35;
}
.full-width-image .mp4-wrapper .hero button.play-pause.paused {
  background-position: 0 -34px;
}
.full-width-image .mp4-wrapper .caption-wrapper {
  padding: 15px 0;
  max-width: 1366px;
  margin: 0 auto;
}
@media (max-width: 1200px) {
  .full-width-image .mp4-wrapper .caption-wrapper {
    padding: 15px 10px;
  }
}
.full-width-image figure {
  width: auto;
  max-width: 100%;
  display: block;
}
.full-width-image figure.center .media-container {
  background-position: center center;
}
.full-width-image figure.left .media-container {
  background-position: left center;
}
.full-width-image figure.right .media-container {
  background-position: right center;
}
.full-width-image figure .media-container {
  overflow: hidden;
  position: relative;
  height: 785px;
  display: block;
  width: 100%;
  background-size: cover;
}
@media (max-width: 1200px) {
  .full-width-image figure .media-container {
    height: 510px;
  }
}
@media (max-width: 1024px) {
  .full-width-image figure .media-container {
    height: auto;
  }
  .full-width-image figure .media-container img {
    position: relative;
    left: 0;
    top: 0;
    transform: none;
  }
}
.full-width-image figure img {
  display: block;
  width: 100%;
  max-width: 100vw;
  position: absolute;
  height: auto;
  margin: 0 auto;
  left: 50%;
  top: 50%;
  transform: translate(-50%, -50%);
}
.full-width-image figure figcaption {
  bottom: 0;
  display: block;
  text-align: left;
  max-width: 15%;
  margin: 20px 0 0 2%;
}
@media (max-width: 1200px) {
  .full-width-image figure figcaption {
    max-width: 95%;
    margin: 20px auto;
  }
}
.full-width-image figure figcaption span.desc {
  display: block;
  position: relative;
  padding: 5px 0 0 30px !important;
}
.full-width-image figure figcaption span.desc:before {
  content: "";
  display: block;
  width: 20px;
  height: 20px;
  position: absolute;
  left: 0;
  top: 9px;
  background: url(../images/icon-camera.svg) no-repeat left top;
  background-size: contain;
}

.js .feature-full-width .overline.flat:before {
  display: none;
}
.js .feature-full-width .overline .social-sharing {
  display: block;
}
@media (min-width: 40.625em) {
  .js .feature-full-width .overline .social-sharing {
    display: inline-block;
  }
}
.js .feature-full-width .overline .copy-url-container {
  position: absolute;
  -webkit-transition: all 0.35s ease-in-out;
  -ms-transition: all 0.35s ease-in-out;
  transition: all 0.35s ease-in-out;
  top: -6em;
  width: 15em;
  left: -10em;
  opacity: 0;
  z-index: -1;
}
.js .feature-full-width .overline .copy-url-container.open {
  opacity: 1;
  z-index: 1;
}
.js .feature-full-width .overline .copy-url-container button {
  position: absolute;
  right: 1em;
  top: 0.65em;
  width: 1.5em;
  height: 1.5em;
  padding: 0;
}
.js .feature-full-width .overline .copy-url-container button svg {
  width: 1.24em;
  height: 1.24em;
  fill: white;
}
@media (min-width: 68.75em) {
  .js .feature-full-width .overline .copy-url-container {
    width: 24em;
  }
  .js .feature-full-width .overline .copy-url-container textarea {
    width: calc(100% - 7em);
  }
}
.js .feature-full-width .ad-block.open {
  background-color: transparent;
  position: relative;
  border-top: 1px solid #bebebe;
  border-bottom: 1px solid #bebebe;
  margin: 75px 0;
}
@media (max-width: 500px) {
  .js .feature-full-width .ad-block.open {
    margin: 25px 0;
  }
}
.js .feature-full-width .ad-block.open:before, .js .feature-full-width .ad-block.open:after {
  background: transparent !important;
}
.js .feature-full-width .ad-block .ad {
  display: block;
  margin: 0 auto;
}

.search-results ul {
  margin: 0;
  padding: 0;
}
.search-results ul li {
  list-style: none;
}
.search-results ul dd {
  margin: 0;
}
.search-results ul li {
  margin-bottom: 3em;
}
.search-results ul li:after {
  display: table;
  clear: both;
  content: "";
}
.search-results ul li:before {
  display: table;
  clear: both;
  content: "";
}
@media (min-width: 81.25em) {
  .search-results ul li {
    margin-bottom: 1.5em;
  }
}
@media (min-width: 40.625em) {
  .search-results .image {
    width: 34.2105263158%;
    float: left;
    margin-right: 5.2631578947%;
  }
}
@media (min-width: 68.75em) {
  .search-results .image {
    width: 23.0769230769%;
    float: left;
    margin-right: 2.5641025641%;
  }
}
@media (min-width: 81.25em) {
  .search-results .image {
    width: 19.4915254237%;
    float: left;
    margin-right: 1.6949152542%;
  }
}
.search-results .description h3 {
  margin-bottom: 0;
}
.search-results .description p {
  margin-bottom: 0.75em;
}
@media (min-width: 40.625em) {
  .search-results .description {
    width: 60.5263157895%;
    float: right;
    margin-right: 0;
  }
}
@media (min-width: 68.75em) {
  .search-results .description {
    width: 48.7179487179%;
    float: left;
    margin-right: 2.5641025641%;
  }
}
@media (min-width: 81.25em) {
  .search-results .description {
    width: 53.3898305085%;
    float: left;
    margin-right: 1.6949152542%;
  }
  .search-results .description p {
    margin-bottom: 1.5em;
  }
}

.newsletter-dialog {
  display: none;
}

.js .newsletter-dialog {
  display: block;
}

.newsletter-dialog.general {
  background-color: rgba(0, 0, 0, 0.85);
  color: white;
  position: fixed;
  height: 100vh;
  width: 100%;
  z-index: 10002;
  top: 0;
  left: 0;
  text-align: center;
}
.newsletter-dialog.general:after {
  content: "";
  display: block;
  width: 100%;
  height: 100vh;
  background: url("../images/bg-triangle-footer.png");
  background-size: 11.75em 11.125em;
  color: #4872b4;
  position: relative;
  z-index: 50;
}
@media screen and (min-width: 68.75em) and (min-height: 37.5em) {
  .newsletter-dialog.general:after {
    margin-top: 12.5em;
  }
}
.newsletter-dialog.general.dismissed {
  -webkit-animation-duration: 0.35s;
  animation-duration: 0.35s;
  -webkit-animation-fill-mode: both;
  animation-fill-mode: both;
  animation-name: slideOutDown;
}
.newsletter-dialog.general[aria-hidden=true] {
  display: none;
}
.newsletter-dialog.general div[role=dialog] {
  overflow-y: scroll;
  max-height: 80vh;
}
@media screen and (min-height: 37.5em) {
  .newsletter-dialog.general div[role=dialog] {
    max-height: inherit;
    overflow: visible;
  }
}
.newsletter-dialog.general div[role=document] {
  max-width: 50em;
  margin: 1em auto 0 auto;
  width: 95%;
  position: relative;
}
@media screen and (min-width: 68.75em) and (min-height: 37.5em) {
  .newsletter-dialog.general div[role=document] {
    margin-top: 0;
    top: 12.5vh;
  }
}
.newsletter-dialog.general .gamma {
  color: white;
}
@media (min-width: 68.75em) {
  .newsletter-dialog.general .gamma {
    font-size: 2.25em;
  }
}
.newsletter-dialog.general .dimsiss {
  border: none;
  background: none;
  box-shadow: none;
  position: absolute;
  right: 0;
  top: -2.5em;
  display: inline-block;
  border-radius: 100%;
}
.newsletter-dialog.general .dimsiss:hover, .newsletter-dialog.general .dimsiss:focus, .newsletter-dialog.general .dimsiss:active {
  box-shadow: none;
  border: none;
}
.newsletter-dialog.general .dimsiss svg {
  -webkit-transition: fill 0.5s ease-in-out;
  -ms-transition: fill 0.5s ease-in-out;
  transition: fill 0.5s ease-in-out;
  width: 2em;
  height: 2em;
  fill: white;
  display: block;
}
.newsletter-dialog.general .dimsiss:hover svg {
  fill: #f3ad00;
}
.newsletter-dialog.general h1 {
  margin: 1.5em 0 0.5em 0;
  text-transform: uppercase;
  line-height: 1;
}
@media (min-width: 68.75em) {
  .newsletter-dialog.general h1 {
    margin-top: 2em;
  }
}
.newsletter-dialog.general h1 .logo-type {
  max-width: 13em;
  max-height: 0.95em;
}
.newsletter-dialog.general h1 span {
  font-size: 0.75em;
}
@media (min-width: 68.75em) {
  .newsletter-dialog.general h1 span {
    font-size: 1.2em;
  }
}
.newsletter-dialog.general .email-signup-form {
  margin-top: 1.5em;
  padding-bottom: 1.5em;
}
.newsletter-dialog.general .email-signup-form button[type=submit] {
  padding-right: 1.5em;
  background: #f3ad00;
  color: #243757;
  margin-top: 1.5em;
  display: block;
  width: 100%;
}
.newsletter-dialog.general .email-signup-form button[type=submit]:before {
  content: none;
}
.newsletter-dialog.general .email-signup-form button[type=submit]:hover {
  background: rgb(217.5, 154.8456790123, 0);
}
@media (min-width: 68.75em) {
  .newsletter-dialog.general .email-signup-form button[type=submit] {
    display: inline-block;
    width: inherit;
  }
  .newsletter-dialog.general .email-signup-form button[type=submit]:before {
    content: "";
  }
}
.newsletter-dialog.general .email-signup-form .note {
  display: block;
  font-size: 1em;
  text-align: center;
}
@media (min-width: 68.75em) {
  .newsletter-dialog.general .email-signup-form .note {
    font-size: 1.25em;
  }
}
@media (min-width: 68.75em) {
  .newsletter-dialog.general .email-signup-form .email-field,
  .newsletter-dialog.general .email-signup-form .zip-code-field {
    float: left;
  }
  .newsletter-dialog.general .email-signup-form .email-field {
    width: 55%;
  }
  .newsletter-dialog.general .email-signup-form .zip-code-field {
    width: 44%;
    margin-left: 1%;
  }
}

.newsletter-dialog.vote {
  background-color: rgba(0, 0, 0, 0.85);
  color: white;
  position: fixed;
  height: 100vh;
  width: 100%;
  z-index: 10002;
  top: 0;
  left: 0;
  text-align: center;
}
.newsletter-dialog.vote.dismissed {
  -webkit-animation-duration: 0.35s;
  animation-duration: 0.35s;
  -webkit-animation-fill-mode: both;
  animation-fill-mode: both;
  animation-name: slideOutDown;
}
.newsletter-dialog.vote[aria-hidden=true] {
  display: none;
}
.newsletter-dialog.vote div[role=dialog] {
  overflow-y: scroll;
  max-height: 90vh;
  margin-top: 4.5vh;
}
@media screen and (min-height: 750vh) {
  .newsletter-dialog.vote div[role=dialog] {
    max-height: inherit;
    overflow: visible;
  }
}
.newsletter-dialog.vote div[role=document] {
  max-width: 600px;
  margin: 6vh auto 0;
  width: 95%;
  position: relative;
  border: 10px solid #fcc320;
  background-color: #3c225e;
}
@media screen and (min-width: 68.75em) and (min-height: 750px) {
  .newsletter-dialog.vote div[role=document] {
    margin-top: 0;
    position: absolute;
    left: 50%;
    top: 50%;
    transform: translate(-50%, -50%);
  }
}
.newsletter-dialog.vote .gamma {
  color: #ebe3d7;
  font-weight: 400;
}
@media (max-width: 500px) {
  .newsletter-dialog.vote .gamma {
    font-size: 20px;
  }
}
@media (min-width: 68.75em) {
  .newsletter-dialog.vote .gamma {
    font-size: 30px;
  }
}
.newsletter-dialog.vote .dimsiss {
  border: none;
  background: none;
  box-shadow: none;
  position: absolute;
  display: inline-block;
  border-radius: 100%;
  right: -0.5em;
  top: -3em;
}
.newsletter-dialog.vote .dimsiss:hover, .newsletter-dialog.vote .dimsiss:focus, .newsletter-dialog.vote .dimsiss:active {
  box-shadow: none;
  border: none;
}
.newsletter-dialog.vote .dimsiss svg {
  -webkit-transition: fill 0.5s ease-in-out;
  -ms-transition: fill 0.5s ease-in-out;
  transition: fill 0.5s ease-in-out;
  width: 2em;
  height: 2em;
  fill: #fcc320;
  display: block;
}
@media (min-width: 675px) {
  .newsletter-dialog.vote .dimsiss {
    right: -2.5em;
    top: -2.5em;
  }
}
.newsletter-dialog.vote #newsletter-dialog-title {
  margin: 0 0 0.5em 0;
  text-transform: uppercase;
  line-height: 1;
  font-size: 25px;
  color: #ebe3d7;
}
.newsletter-dialog.vote #newsletter-dialog-title .logo-type {
  max-width: 8em;
  max-height: 0.92em;
}
.newsletter-dialog.vote span.under {
  display: block;
  margin: 5px auto;
  font-size: 24px;
  font-family: "Muli", sans-serif;
  color: #fcc320;
  font-weight: 500;
  text-transform: uppercase;
}
.newsletter-dialog.vote .vote-image {
  position: relative;
  max-width: 600px;
  width: 100%;
  margin: 0;
  padding: 0;
  height: auto;
}
@media (max-width: 500px) {
  .newsletter-dialog.vote .vote-image {
    background: url(../images/vote_image_header.jpg) no-repeat center center;
    background-size: cover;
    height: 150px;
  }
  .newsletter-dialog.vote .vote-image img {
    display: none;
  }
}
.newsletter-dialog.vote .title-wrapper {
  background-color: #3c225e;
  position: relative;
  display: block;
  padding: 10px;
  margin: -87px auto 0;
  height: 87px;
  width: 100%;
}
@media (min-width: 650px) {
  .newsletter-dialog.vote .title-wrapper {
    width: 70%;
  }
}
@media (max-width: 500px) {
  .newsletter-dialog.vote .title-wrapper {
    margin-top: 0;
  }
}
.newsletter-dialog.vote .title-wrapper .vote-headline {
  background: url(../images/title_the-vote.png) no-repeat center center;
  background-size: contain;
  max-width: 300px;
  width: 100%;
  height: 57px;
  display: block;
  margin: 0 auto 15px;
  text-indent: -99999px;
}
@media (max-width: 500px) {
  .newsletter-dialog.vote .title-wrapper .vote-headline {
    max-width: 80%;
  }
}
.newsletter-dialog.vote .email-signup-form {
  padding: 20px 40px;
}
.newsletter-dialog.vote .email-signup-form button[type=submit] {
  padding-right: 1.5em;
  background: #f3ad00;
  color: #243757;
  margin-top: 1.5em;
  display: block;
  width: 100%;
  cursor: pointer;
}
.newsletter-dialog.vote .email-signup-form button[type=submit]:hover {
  background: rgb(217.5, 154.8456790123, 0);
}
@media (min-width: 68.75em) {
  .newsletter-dialog.vote .email-signup-form button[type=submit] {
    display: inline-block;
    width: inherit;
  }
  .newsletter-dialog.vote .email-signup-form button[type=submit]:before {
    content: "";
  }
}
.newsletter-dialog.vote .email-signup-form button[type=submit]:before {
  box-shadow: none !important;
}
.newsletter-dialog.vote .email-signup-form .note {
  display: block;
  font-size: 20px;
  color: #ebe3d7;
  text-align: center;
}
@media (max-width: 650px) {
  .newsletter-dialog.vote .email-signup-form .note {
    font-size: 14px;
  }
}
@media (min-width: 40.625em) {
  .newsletter-dialog.vote .email-signup-form .email-field,
  .newsletter-dialog.vote .email-signup-form .zip-code-field {
    float: left;
  }
  .newsletter-dialog.vote .email-signup-form .email-field {
    width: 55%;
  }
  .newsletter-dialog.vote .email-signup-form .zip-code-field {
    width: 44%;
    margin-left: 1%;
  }
}

#sticky-header {
  width: 100%;
  -webkit-transform: translate3d(0px, 0px, 0px);
  transform: translate3d(0px, 0px, 0px);
}

.sticky #sticky-header {
  top: 0;
  position: fixed;
  -webkit-animation-duration: 0.5s;
  animation-duration: 0.5s;
  -webkit-animation-fill-mode: both;
  animation-fill-mode: both;
  -webkit-animation-name: slideInDown;
  animation-name: slideInDown;
}

.site-header ul {
  margin: 0;
  padding: 0;
}
.site-header ul li {
  list-style: none;
}
.site-header ul dd {
  margin: 0;
}
.site-header .secondary {
  background: #333;
  text-align: center;
  color: white;
}
.site-header .secondary:after {
  display: table;
  clear: both;
  content: "";
}
.site-header .secondary:before {
  display: table;
  clear: both;
  content: "";
}
.site-header .secondary * {
  vertical-align: middle;
}
.site-header .secondary .title {
  display: block;
  margin-bottom: 0.75em;
}
.site-header .secondary .header-social {
  display: none;
}
.site-header .secondary .header-social .social-list {
  width: 70%;
  margin: 0 auto;
}
.site-header .secondary .header-social .social-list a {
  display: block;
}
.site-header .secondary .header-social .social-list a:hover svg .background {
  fill: black;
}
.site-header .secondary .header-social:after {
  display: table;
  clear: both;
  content: "";
}
.site-header .secondary .header-social:before {
  display: table;
  clear: both;
  content: "";
}
@media (min-width: 40.625em) {
  .site-header .secondary .header-social {
    width: 47.3684210526%;
    float: left;
    margin-right: 5.2631578947%;
    display: block;
    margin-top: 0.75em;
  }
}
@media (min-width: 68.75em) {
  .site-header .secondary .header-social {
    width: 40.6779661017%;
    float: left;
    margin-right: 1.6949152542%;
    margin-top: 0;
    text-align: left;
  }
  .site-header .secondary .header-social .title {
    display: inline-block;
    margin-bottom: 0;
    font-size: 0.8125em;
  }
  .site-header .secondary .header-social .social-list {
    width: auto;
    display: inline-block;
  }
}
.site-header .secondary .header-sponsors {
  margin-top: 0.75em;
  margin-bottom: 0.75em;
}
.site-header .secondary .header-sponsors ul {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  line-height: 1;
}
.site-header .secondary .header-sponsors ul:after {
  display: table;
  clear: both;
  content: "";
}
.site-header .secondary .header-sponsors ul:before {
  display: table;
  clear: both;
  content: "";
}
.site-header .secondary .header-sponsors li {
  display: inline-block;
  margin: 0.25em 0.5em;
}
.site-header .secondary .header-sponsors a {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
}
.site-header .secondary .header-sponsors .title {
  margin-bottom: 0.25em;
}
.site-header .secondary .header-sponsors img {
  max-height: 3.125em;
  max-width: 7.375em;
}
@media (min-width: 40.625em) {
  .site-header .secondary .header-sponsors {
    width: 47.3684210526%;
    float: right;
    margin-right: 0;
  }
}
@media (min-width: 68.75em) {
  .site-header .secondary .header-sponsors {
    width: 57.6271186441%;
    float: right;
    margin-right: 0;
    margin-top: 0;
    margin-bottom: 0;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: end;
    -ms-flex-pack: end;
    justify-content: flex-end;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
  }
  .site-header .secondary .header-sponsors .title {
    display: inline-block;
    font-size: 0.8125em;
    vertical-align: middle;
    margin-bottom: 0;
  }
  .site-header .secondary .header-sponsors .sponsor {
    display: inline-block;
  }
}
@media (min-width: 81.25em) {
  .site-header .secondary .header-sponsors img {
    max-height: 3.125em;
    max-width: 8.375em;
  }
}
@media (min-width: 68.75em) {
  .site-header .secondary .grid {
    margin-top: 0.5em;
    margin-bottom: 0.5em;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
  }
}
.site-header .primary {
  background: #174189;
  position: relative;
  z-index: 10;
}
.site-header .primary .grid {
  position: relative;
}
.site-header .primary .header-logo {
  position: relative;
  margin: 0;
  line-height: 0;
  width: 72.2222222222%;
  float: left;
  margin-right: 11.1111111111%;
}
.site-header .primary .header-logo a {
  display: block;
  padding: 0.45em;
}
.site-header .primary .header-logo a svg {
  max-height: 0.5em;
}
.site-header .primary .header-logo a svg .type {
  fill: white;
}
@media (min-width: 40.625em) {
  .site-header .primary .header-logo a svg {
    max-height: 0.75em;
  }
}
.site-header .primary .header-logo .logo-type {
  display: inline-block;
  max-width: 100%;
}
@media (min-width: 40.625em) {
  .site-header .primary .header-logo {
    width: 73.6842105263%;
    float: left;
    margin-right: 5.2631578947%;
  }
}
@media (min-width: 68.75em) {
  .site-header .primary .header-logo {
    width: 23.0769230769%;
    float: left;
    margin-right: 2.5641025641%;
    padding-top: 0.2em;
  }
}
@media (min-width: 81.25em) {
  .site-header .primary .header-logo {
    padding-top: 0;
    width: 32.2033898305%;
    float: left;
    margin-right: 1.6949152542%;
  }
  .site-header .primary .header-logo a {
    padding: 0.55em 0.45em 0.45em 0.45em;
  }
  .site-header .primary .header-logo a svg {
    max-height: 1em;
  }
}
.site-header .primary .main-nav-toggle {
  border: none;
  background: none;
  box-shadow: none;
  display: none;
  position: absolute;
  top: 0;
  right: 5%;
  width: 2.75em;
  height: 2.75em;
  overflow: hidden;
  padding: 0.5em;
  text-align: center;
}
.site-header .primary .main-nav-toggle:hover, .site-header .primary .main-nav-toggle:focus, .site-header .primary .main-nav-toggle:active {
  box-shadow: none;
  border: none;
}
.site-header .primary .main-nav-toggle svg {
  position: absolute;
  top: 50%;
  left: 50%;
  -webkit-transform: translate(-50%, -50%);
  -ms-transform: translate(-50%, -50%);
  transform: translate(-50%, -50%);
  display: inline-block;
  width: 1.5em;
}
.site-header .primary .main-nav-toggle .one, .site-header .primary .main-nav-toggle .two, .site-header .primary .main-nav-toggle .three {
  -webkit-transition: all 0.35s linear;
  transition: all 0.35s linear;
  -webkit-transform: rotate(0deg) scale(1);
  transform: rotate(0deg) scale(1);
  -webkit-transform-origin: 0 50%;
  transform-origin: 0 50%;
  fill: white;
}
.site-header .primary .main-nav-toggle.close-state .one {
  -webkit-transform: rotateZ(-45deg) scale(0.95);
  transform: rotateZ(-45deg) scale(0.95);
  -webkit-transform-origin: 11.5em 5em;
  transform-origin: 11.5em 5em;
}
.site-header .primary .main-nav-toggle.close-state .two {
  -webkit-transform: translateY(-25em);
  transform: translateY(-25em);
}
.site-header .primary .main-nav-toggle.close-state .three {
  -webkit-transform: rotateZ(45deg) scale(0.95);
  transform: rotateZ(45deg) scale(0.95);
  -webkit-transform-origin: 11.5em 5em;
  transform-origin: 11.5em 5em;
}
@media (min-width: 40.625em) {
  .site-header .primary .main-nav-toggle {
    width: 3.3em;
    height: 3.3em;
  }
}
.site-header .primary .dropdown-menu {
  clear: both;
}
@media (min-width: 68.75em) {
  .site-header .primary .dropdown-menu {
    width: 74.358974359%;
    float: right;
    margin-right: 0;
    clear: none;
  }
}
@media (min-width: 81.25em) {
  .site-header .primary .dropdown-menu {
    width: 66.1016949153%;
    float: right;
    margin-right: 0;
  }
}
.site-header .primary .header-main-navigation {
  font-size: 1.125em;
  font-family: "Josefin Sans", sans-serif;
  text-transform: uppercase;
  margin-bottom: 1.5em;
}
@media (min-width: 68.75em) {
  .site-header .primary .header-main-navigation {
    width: 61.2068965517%;
    float: left;
    margin-right: 3.4482758621%;
    clear: none;
    margin-bottom: 0;
  }
}
@media (min-width: 81.25em) {
  .site-header .primary .header-main-navigation {
    width: 61.5384615385%;
    float: left;
    margin-right: 2.5641025641%;
  }
}
@media (min-width: 68.75em) {
  .site-header .primary .header-main-navigation ul {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
  }
}
.site-header .primary .header-main-navigation ul li {
  border-bottom: 1px solid #777777;
}
.site-header .primary .header-main-navigation ul li a {
  text-decoration: none;
  display: block;
  padding: 1.1em 1em 0.9em 1em;
  color: white;
  position: relative;
}
.site-header .primary .header-main-navigation ul li a:hover {
  text-decoration: none;
}
.site-header .primary .header-main-navigation ul li a:active {
  text-decoration: none;
}
.site-header .primary .header-main-navigation ul li a:visited {
  text-decoration: none;
}
.site-header .primary .header-main-navigation ul li a:focus {
  text-decoration: none;
}
.site-header .primary .header-main-navigation ul li a:after {
  -webkit-transition: background 0.5s ease-in-out;
  -ms-transition: background 0.5s ease-in-out;
  transition: background 0.5s ease-in-out;
  width: 100%;
  height: 0.3333em;
  content: "";
  display: block;
  position: absolute;
  bottom: 0;
  left: 0;
}
.site-header .primary .header-main-navigation ul li a:hover:after, .site-header .primary .header-main-navigation ul li a.active:after {
  background: #f3ad00;
}
@media (min-width: 68.75em) {
  .site-header .primary .header-main-navigation ul li {
    text-align: center;
    display: inline-block;
    border-bottom: none;
    flex-grow: 1;
  }
}
.site-header .primary .search {
  position: relative;
  font-size: 1.125em;
  margin-bottom: 1.5em;
}
.site-header .primary .search .search-input {
  display: inline-block;
  height: 2.25em;
  padding: 0 0 0 1em;
  width: 100%;
  border: 1px solid #777777;
  padding-right: 2.5em;
}
.site-header .primary .search .search-button {
  border: none;
  background: none;
  box-shadow: none;
  position: absolute;
  top: 0.15em;
  right: 0.45em;
  display: inline-block;
  height: 2em;
  width: 2em;
  padding: 0.15em;
  background: white;
}
.site-header .primary .search .search-button:hover, .site-header .primary .search .search-button:focus, .site-header .primary .search .search-button:active {
  box-shadow: none;
  border: none;
}
@media (min-width: 68.75em) {
  .site-header .primary .search {
    width: 22.4137931034%;
    float: left;
    margin-right: 3.4482758621%;
    margin-top: 0.7em;
    margin-bottom: 0;
  }
}
@media (min-width: 81.25em) {
  .site-header .primary .search {
    width: 23.0769230769%;
    float: left;
    margin-right: 2.5641025641%;
  }
}
.site-header .shop {
  margin-bottom: 1.5em;
  display: block;
  padding: 0.5em 0.5em 0.5em 1em;
  border-bottom: 1px solid #777777;
}
.site-header .shop svg {
  height: 2.5em;
  width: 2.5em;
  fill: white;
}
.site-header .shop svg path {
  -webkit-transition: fill 0.25s ease-in-out;
  -ms-transition: fill 0.25s ease-in-out;
  transition: fill 0.25s ease-in-out;
}
.site-header .shop:hover svg path {
  fill: #f3ad00;
}
@media (min-width: 68.75em) {
  .site-header .shop {
    width: 9.4827586207%;
    float: right;
    margin-right: 0;
    border: none;
    padding: 0;
    display: inline-block;
    text-align: center;
    margin-top: 0.75em;
    margin-bottom: 0;
  }
}
@media (min-width: 81.25em) {
  .site-header .shop {
    width: 10.2564102564%;
    float: right;
    margin-right: 0;
  }
}

.js .site-header .primary .main-nav-toggle {
  display: inline-block;
}
@media (min-width: 68.75em) {
  .js .site-header .primary .main-nav-toggle {
    display: none;
  }
}
.js .js-dropdown-menu {
  visibility: hidden;
  overflow: hidden;
  max-height: 0;
  -webkit-transition: all 0.35s ease-in-out;
  -ms-transition: all 0.35s ease-in-out;
  transition: all 0.35s ease-in-out;
}
@media (min-width: 68.75em) {
  .js .js-dropdown-menu {
    visibility: visible;
    max-height: inherit;
  }
}
.js .js-dropdown-menu.open {
  visibility: visible;
  max-height: 35em;
}
.js .header-main-navigation.open + .header-search.open {
  margin-top: 1.5em;
}

.cms-ready .primary.fixed {
  position: relative;
}

.site-footer ul {
  margin: 0;
  padding: 0;
  margin-bottom: 1.5em;
}
.site-footer ul li {
  list-style: none;
}
.site-footer ul dd {
  margin: 0;
}
.site-footer .credit-heading {
  font-size: 1em;
  color: #ffffff;
}

.footer-links {
  padding: 0 0 0.75em 0;
  background: url("../images/bg-triangle-footer.png");
  background-size: 11.75em 11.125em;
  color: #4872b4;
}
.footer-links:before {
  display: block;
  content: "";
  background-image: url("../images/bg-american-flag.jpg");
  background-repeat: no-repeat;
  background-position: center;
  padding-bottom: 6.5%;
  background-size: cover;
  margin-bottom: 4.5em;
}
.footer-links a {
  display: inline-block;
  color: white;
  text-transform: uppercase;
}
.footer-links a:hover {
  color: white;
}
.footer-links ul li {
  margin-bottom: 0.75em;
}
@media (min-width: 81.25em) {
  .footer-links ul li {
    margin-bottom: 1.5em;
  }
}

@media screen and (max-width: 95.625em) and (orientation: portrait) {
  .footer-links:before {
    padding-bottom: 15%;
  }
}
@media (min-width: 40.625em) {
  .footer-navigation {
    width: 47.3684210526%;
    float: left;
    margin-right: 5.2631578947%;
    min-height: 15em;
  }
  .footer-navigation ul {
    -moz-column-count: 2;
    -webkit-column-count: 2;
    column-count: 2;
  }
  .footer-navigation ul:after {
    display: table;
    clear: both;
    content: "";
  }
  .footer-navigation ul:before {
    display: table;
    clear: both;
    content: "";
  }
}
@media (min-width: 68.75em) {
  .footer-navigation {
    width: 48.7179487179%;
    float: left;
    margin-right: 2.5641025641%;
  }
}
@media (min-width: 81.25em) {
  .footer-navigation {
    width: 57.6271186441%;
    float: left;
    margin-right: 1.6949152542%;
  }
  .footer-navigation ul {
    -moz-column-count: 3;
    -webkit-column-count: 3;
    column-count: 3;
  }
}

.footer-production-by {
  margin-bottom: 1.5em;
}
.footer-production-by .wgbh {
  fill: white;
  width: 6em;
  max-height: 3em;
}
.footer-production-by ul {
  margin-top: 1.5em;
}
@media (min-width: 40.625em) {
  .footer-production-by {
    width: 47.3684210526%;
    float: right;
    margin-right: 0;
  }
}
@media (min-width: 68.75em) {
  .footer-production-by {
    width: 48.7179487179%;
    float: right;
    margin-right: 0;
  }
}
@media (min-width: 81.25em) {
  .footer-production-by {
    width: 19.4915254237%;
    float: left;
    margin-right: 1.6949152542%;
  }
}

.footer-funding {
  color: white;
}
.footer-funding ul li {
  margin-bottom: 1.5em;
}
.footer-funding svg {
  width: 12em;
  max-height: 12em;
}
.footer-funding svg * {
  fill: white;
}
@media (min-width: 40.625em) {
  .footer-funding {
    width: 47.3684210526%;
    float: right;
    margin-right: 0;
  }
}
@media (min-width: 68.75em) {
  .footer-funding {
    width: 48.7179487179%;
    float: right;
    margin-right: 0;
  }
}
@media (min-width: 81.25em) {
  .footer-funding {
    width: 19.4915254237%;
    float: right;
    margin-right: 0;
  }
}

.footer-copyright {
  display: inline-block;
  color: #ffffff;
  margin-bottom: 1.5em;
}
.footer-copyright span {
  display: block;
}
@media (min-width: 40.625em) {
  .footer-copyright {
    width: 47.3684210526%;
    float: left;
    margin-right: 5.2631578947%;
    clear: both;
    padding-top: 2.75vw;
    margin-bottom: 0;
  }
}
@media (min-width: 68.75em) {
  .footer-copyright {
    width: 48.7179487179%;
    float: left;
    margin-right: 2.5641025641%;
  }
}
@media (min-width: 81.25em) {
  .footer-copyright {
    padding-top: 2.925vw;
    width: 32.2033898305%;
    float: left;
    margin-right: 1.6949152542%;
  }
}

.footer-logo-type {
  display: block;
  font-size: 4vw;
  line-height: 1.275;
}
.footer-logo-type svg {
  fill: #243757;
  max-height: 3.875em;
}
@media (min-width: 40.625em) {
  .footer-logo-type {
    width: 47.3684210526%;
    float: right;
    margin-right: 0;
    text-align: center;
  }
}
@media (min-width: 68.75em) {
  .footer-logo-type {
    width: 48.7179487179%;
    float: right;
    margin-right: 0;
  }
}
@media (min-width: 81.25em) {
  .footer-logo-type {
    width: 66.1016949153%;
    float: right;
    margin-right: 0;
    font-size: 3.5vw;
  }
}

.connect-social {
  background-image: url("../images/bg-triangle-newsletter.png");
  background-size: 11.75em 11.125em;
  color: white;
  margin-bottom: 4.5em;
  overflow-x: hidden;
}
.connect-social h3 {
  color: white;
}
.connect-social .email-signup {
  text-align: center;
  padding: 1.5em 0;
  overflow: hidden;
}
.connect-social .email-signup h3 {
  margin-bottom: 0.769em;
}
.connect-social .email-signup .email-signup-form .note {
  -webkit-box-ordinal-group: 2;
  -ms-flex-order: 1;
  order: 1;
}
.connect-social .email-signup.vote .headline {
  padding: 0 10% 0 0;
  width: 100%;
}
.connect-social .email-signup.vote .headline .vote-headline {
  background: url(../images/title_the-vote.png) no-repeat center center;
  background-size: contain;
  max-width: 300px;
  width: 100%;
  height: 57px;
  display: block;
  margin: 0 auto;
  text-indent: -99999px;
}
@media (max-width: 500px) {
  .connect-social .email-signup.vote .headline .vote-headline {
    max-width: 80%;
    margin: 0;
  }
}
.connect-social .email-signup .headline {
  width: 100%;
  padding: 0 10%;
}
@media (min-width: 40.625em) {
  .connect-social .email-signup {
    width: 47.3684210526%;
    float: left;
    margin-right: 5.2631578947%;
    position: relative;
  }
  .connect-social .email-signup .email-signup-form {
    width: 80%;
    margin: 0 auto;
  }
}
@media (min-width: 68.75em) {
  .connect-social .email-signup {
    width: 48.7179487179%;
    float: left;
    margin-right: 2.5641025641%;
  }
}
@media (min-width: 81.25em) {
  .connect-social .email-signup {
    width: 57.6271186441%;
    float: left;
    margin-right: 1.6949152542%;
  }
  .connect-social .email-signup.vote h3 {
    text-align: center;
    margin-bottom: 15px;
  }
  .connect-social .email-signup h3 {
    text-align: left;
    margin-bottom: 15px;
  }
  .connect-social .email-signup .email-signup-form {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    width: 100%;
    padding-right: 10%;
  }
  .connect-social .email-signup .email-signup-form .email-field {
    float: left;
    display: inline-block;
    margin-bottom: 0;
    margin-right: 1%;
    margin-left: 0;
    width: 45%;
  }
  .connect-social .email-signup .email-signup-form .zip-code-field {
    float: left;
    display: inline-block;
    margin-bottom: 0;
    width: 30%;
  }
  .connect-social .email-signup .email-signup-form button[type=submit] {
    width: 24%;
    display: inline-block;
  }
  .connect-social .email-signup .email-signup-form .note {
    width: 75%;
  }
}
@media (min-width: 95.625em) {
  .connect-social .email-signup .email-signup-form button[type=submit] {
    width: 19%;
  }
}
.connect-social .footer-social-links {
  text-align: center;
  padding: 3em 0;
  background: #243757;
  width: 110%;
  margin-left: -5%;
}
.connect-social .footer-social-links .social-list {
  margin-bottom: 0;
  width: 70%;
  margin: 0 auto;
}
.connect-social .footer-social-links .social-list a {
  width: 3em;
  height: 3em;
}
.connect-social .footer-social-links .social-list a:hover svg .background {
  fill: #835d00;
}
.connect-social .footer-social-links .social-list svg {
  width: 100%;
  height: 100%;
}
.connect-social .footer-social-links .social-list svg .background {
  fill: #f3ad00;
}
.connect-social .footer-social-links .hashtag {
  display: block;
}
@media (min-width: 40.625em) {
  .connect-social .footer-social-links {
    width: 47.3684210526%;
    float: right;
    margin-right: 0;
    position: relative;
    padding-left: 5.625%;
    margin-left: inherit;
  }
  .connect-social .footer-social-links:before {
    content: "";
    position: absolute;
    background: white;
    height: 100%;
    top: 0;
    right: 100%;
    width: 10.52632%;
  }
  .connect-social .footer-social-links:after {
    content: "";
    position: absolute;
    height: 100%;
    width: 11.25%;
    background: #243757;
    top: 0;
    left: 100%;
  }
  .connect-social .footer-social-links .social-list {
    width: 90%;
  }
}
@media (min-width: 68.75em) {
  .connect-social .footer-social-links {
    width: 48.7179487179%;
    float: right;
    margin-right: 0;
  }
  .connect-social .footer-social-links .social-list {
    display: inline-block;
    width: auto;
  }
  .connect-social .footer-social-links:before {
    width: 5.26316%;
  }
}
@media (min-width: 81.25em) {
  .connect-social .footer-social-links {
    width: 40.6779661017%;
    float: right;
    margin-right: 0;
    padding-left: 0;
  }
  .connect-social .footer-social-links:after {
    width: 50%;
  }
  .connect-social .footer-social-links:before {
    width: 4%;
    right: 100%;
  }
}
@media (min-width: 95.625em) {
  .connect-social .footer-social-links:after {
    width: calc((100vw - 1400px) / 2);
  }
}
@media (min-width: 40.625em) {
  .connect-social .grid {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
  }
}

.ad-block {
  max-height: 0;
  padding: 0;
  visibility: hidden;
  line-height: 0;
}

.js .ad-block {
  -webkit-transition: all 0.35s ease-in-out;
  -ms-transition: all 0.35s ease-in-out;
  transition: all 0.35s ease-in-out;
  position: relative;
  text-align: center;
}
.js .ad-block.open.ad-side-interior:before, .js .ad-block.open.ad-side-interior:after {
  background: none;
}
.js .ad-block.open {
  padding: 1.5em 0 3em;
  max-height: 25em;
  visibility: visible;
  z-index: inherit;
  line-height: inherit;
}
.js .ad-block.open .ad {
  display: inline-block;
}
.js .ad-block.open:before, .js .ad-block.open:after {
  content: "";
  position: absolute;
  height: 100%;
  width: 100%;
  top: 0;
  left: 0;
}
.js .ad-block.open:before {
  background: url("../images/bg-deco-circle.png");
  background-size: 18em 18em;
  z-index: -2;
}
.js .ad-block.open:after {
  z-index: -1;
  background: rgba(227, 227, 227, 0.5);
}
.js .ad-block.open.footer-ad {
  padding-top: 2.25em;
  padding-bottom: 2.625em;
  margin-bottom: 4.5em;
}
.js .ad-block .ad {
  margin: 0 auto;
  position: relative;
  display: inline-block;
  display: none;
}
.js .ad-block .ad:after {
  display: table;
  clear: both;
  content: "";
}
.js .ad-block .ad:before {
  display: table;
  clear: both;
  content: "";
}
.js .ad-block .ad div {
  clear: both;
}
.js .ad-block .ad span, .js .ad-block .ad a {
  font-size: 0.75em;
  float: left;
}
.js .ad-block .ad a {
  float: right;
  color: #174189;
}
.js .ad-block .ad button {
  border: none;
  background: none;
  box-shadow: none;
  background: #777777;
  width: 1.5em;
  height: 1.5em;
  position: absolute;
  top: 1.25em;
  right: 0;
}
.js .ad-block .ad button:hover, .js .ad-block .ad button:focus, .js .ad-block .ad button:active {
  box-shadow: none;
  border: none;
}
.js .ad-block .ad button svg {
  position: absolute;
  top: 50%;
  left: 50%;
  -webkit-transform: translate(-50%, -50%);
  -ms-transform: translate(-50%, -50%);
  transform: translate(-50%, -50%);
  width: 75%;
  height: 75%;
}
@media (min-width: 68.75em) {
  .js .ad-block .ad button {
    width: 2em;
    height: 2em;
  }
}

.shop-ad {
  background: white;
  text-align: center;
  padding-top: 4.5em;
  padding-bottom: 4.5em;
}
.shop-ad a {
  display: inline-block;
  position: relative;
}
.shop-ad a.mobile {
  background-image: url("../images/amex_shop_mobile.png");
  background-repeat: no-repeat;
  width: 20em;
  height: 6.25em;
}
.shop-ad a.desktop {
  background-image: url("../images/amex_shop_desktop.png");
  background-repeat: no-repeat;
  width: 75em;
  height: 9.375em;
}

.connect-social + .shop-ad {
  padding-top: 0;
}

@media (min-width: 68.75em) {
  .ad-interior-content {
    width: 61.5384615385%;
    float: left;
    margin-right: 2.5641025641%;
  }
}
@media (min-width: 81.25em) {
  .ad-interior-content {
    width: 66.1016949153%;
    float: left;
    margin-right: 1.6949152542%;
  }
}

@media (min-width: 68.75em) {
  .ad-side-interior {
    margin-top: 1.5em;
    width: 35.8974358974%;
    float: right;
    margin-right: 0;
  }
}
@media (min-width: 81.25em) {
  .ad-side-interior {
    width: 32.2033898305%;
    float: right;
    margin-right: 0;
  }
}

:-webkit-full-screen-ancestor:not(iframe) .pbs-cleanslate, :-webkit-full-screen-ancestor:not(iframe) .site-header, :-webkit-full-screen-ancestor:not(iframe) .ad-block, :-webkit-full-screen-ancestor:not(iframe) .cms, :-webkit-full-screen-ancestor:not(iframe) .teaser-item, :-webkit-full-screen-ancestor:not(iframe) .site-footer,
:-webkit-full-screen-ancestor:not(iframe) .film-sub-nav, :-webkit-full-screen-ancestor:not(iframe) .Wallop-buttonPrevious, :-webkit-full-screen-ancestor:not(iframe) .Wallop-buttonNext, :-webkit-full-screen-ancestor:not(iframe) .accordion-toggle, :-webkit-full-screen-ancestor:not(iframe) .tab-panel, :-webkit-full-screen-ancestor:not(iframe) .full-screen {
  display: none !important;
}

body {
  overflow-x: hidden;
}
body.fixed {
  position: fixed;
  left: 0;
  top: 0;
  width: 100%;
}

iframe {
  background: #999999;
}

img {
  max-width: 100%;
}

a {
  -webkit-transition: color 0.3s ease-in-out;
  -ms-transition: color 0.3s ease-in-out;
  transition: color 0.3s ease-in-out;
  color: #bb0b0e;
  text-decoration: none;
  font-weight: 700;
}
a:hover {
  color: #8c0007;
  text-decoration: underline;
}

.call-to-action {
  -webkit-transition: all 0.5s ease-in-out;
  -ms-transition: all 0.5s ease-in-out;
  transition: all 0.5s ease-in-out;
  background: #bb0b0e;
  color: white;
  border-radius: 0.4375em;
  font-weight: 700;
  text-transform: uppercase;
  font-size: 1.125em;
  padding: 1em 3.5em;
  position: relative;
  top: 0;
}
.call-to-action:hover {
  color: white;
  background: rgb(162.9166666667, 9.5833333333, 12.196969697);
  text-decoration: none;
}
.call-to-action:active {
  top: 0.2777777778em;
}

figure {
  margin: 0;
}

figcaption, .caption {
  font-size: 0.85em;
  color: #999999;
  font-style: italic;
}
figcaption p, .caption p {
  margin: 0;
}

.caption h4, .caption .delta {
  margin: 0.25em 0;
  font-style: normal;
}

q {
  display: block;
  color: #999999;
  font-size: 1.15em;
  margin: 1.5em 5%;
  position: relative;
}
q:before {
  content: "";
  position: absolute;
  height: 110%;
  width: 0.5em;
  background: #999999;
  left: -1.5em;
  position: absolute;
  top: 50%;
  -ms-transform: translate(0, -50%);
  -webkit-transform: translate(0, -50%);
  transform: translate(0, -50%);
}
@media (min-width: 68.75em) {
  q {
    margin-left: 10%;
    margin-right: 10%;
  }
}

cite {
  display: block;
  font-size: 1.25em;
  margin: 1.5em 5%;
  color: #999999;
}
@media (min-width: 68.75em) {
  cite {
    margin-left: 10%;
    margin-right: 10%;
    position: relative;
  }
  cite:before {
    content: "";
    position: absolute;
    display: inline-block;
    top: 0;
    left: -3.5em;
    background: url("../images/quote.svg") no-repeat;
    background-size: 2.5em;
    width: 2.5em;
    height: 2.5em;
  }
}

.jump-link:before {
  display: block;
  content: "";
  height: 6em;
  margin: -6em 0 0;
}
.jump-link.site-footer:before {
  height: 9em;
  margin: -9em 0 0;
}

.cove-wrapper {
  margin-bottom: 1.5em;
}

.cove-container:before {
  position: absolute;
  top: 50%;
  left: 50%;
  -webkit-transform: translate(-50%, -50%);
  -ms-transform: translate(-50%, -50%);
  transform: translate(-50%, -50%);
  z-index: 3;
  color: white;
  content: "Video Requires Javascript";
}

.js .cove-container:before {
  content: none;
}

.cove-container {
  position: relative;
  height: 0;
  padding-bottom: 56.25%;
  background: transparent;
  -webkit-animation-duration: 1s;
  animation-duration: 1s;
  -webkit-animation-fill-mode: both;
  animation-fill-mode: both;
  -webkit-animation-name: fadeIn;
  animation-name: fadeIn;
}
.cove-container iframe {
  background: transparent;
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: 2;
}

.grid {
  max-width: 87.5em;
  margin-left: auto;
  margin-right: auto;
  padding: 0 5%;
}
.grid:after {
  content: " ";
  display: block;
  clear: both;
}
.grid:after {
  display: table;
  clear: both;
  content: "";
}
.grid:before {
  display: table;
  clear: both;
  content: "";
}
@media (min-width: 95.625em) {
  .grid {
    padding: 0;
  }
}

.grid.full {
  max-width: 100%;
  padding: 0;
}

.plugin-item-block:after {
  display: table;
  clear: both;
  content: "";
}
.plugin-item-block:before {
  display: table;
  clear: both;
  content: "";
}

.page {
  margin-top: 3em;
  margin-bottom: 3em;
}
.page:after {
  display: table;
  clear: both;
  content: "";
}
.page:before {
  display: table;
  clear: both;
  content: "";
}

.right-arrow {
  fill: white;
  max-width: 2em;
  max-height: 2em;
}

.passport-icon {
  vertical-align: middle;
  margin-top: -0.15em;
  max-width: 1.25em;
  max-height: 1.25em;
}

.related-feature-list {
  clear: both;
  margin-bottom: 3em;
  margin-top: 3em;
}
/*# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIl9ub3JtYWxpemUuc2NzcyIsIl9taXhpbnMuc2NzcyIsIl9hbmltYXRpb25zLnNjc3MiLCJfdHlwb2dyYXBoeS5zY3NzIiwiX2NvbmZpZy5zY3NzIiwiLi4vbm9kZV9tb2R1bGVzL2JyZWFrcG9pbnQtc2Fzcy9zdHlsZXNoZWV0cy9fYnJlYWtwb2ludC5zY3NzIiwiX2dyaWRIZWxwZXJzLnNjc3MiLCIuLi9ub2RlX21vZHVsZXMvc3VzeS9zYXNzL3N1c3kvb3V0cHV0L3N1cHBvcnQvX3JlbS5zY3NzIiwiLi4vbm9kZV9tb2R1bGVzL3N1c3kvc2Fzcy9zdXN5L291dHB1dC9mbG9hdC9fc3Bhbi5zY3NzIiwiLi4vbm9kZV9tb2R1bGVzL3N1c3kvc2Fzcy9zdXN5L2xhbmd1YWdlL3N1c3kvX2dhbGxlcnkuc2NzcyIsIi4uL25vZGVfbW9kdWxlcy9zdXN5L3Nhc3Mvc3VzeS9sYW5ndWFnZS9zdXN5L19yb3dzLnNjc3MiLCIuLi9ub2RlX21vZHVsZXMvc3VzeS9zYXNzL3N1c3kvb3V0cHV0L2Zsb2F0L19lbmQuc2NzcyIsIl9zb2NpYWwuc2NzcyIsIl90ZWFzZXJJdGVtLnNjc3MiLCJfcGxhY2Vob2xkZXJzLnNjc3MiLCJfY2Fyb3VzZWwuc2NzcyIsIl9hY2NvcmRpb25zLnNjc3MiLCJfZmlsdGVycy5zY3NzIiwiX3JlbGF0ZWRGaWxtcy5zY3NzIiwiX25ld3NsZXR0ZXJGb3JtLnNjc3MiLCJfaG9tZVBhZ2VIZXJvLnNjc3MiLCJfcGFnaW5hdGlvbi5zY3NzIiwiX3NuaXBwZXRzLnNjc3MiLCJfZmlsbUxpc3Quc2NzcyIsIl9maWxtRGV0YWlsLnNjc3MiLCJfZmVhdHVyZUxpc3RpbmdzLnNjc3MiLCJfZmVhdHVyZURldGFpbC5zY3NzIiwiX2NvbGxlY3Rpb25EZXRhaWwuc2NzcyIsIl9mZWF0dXJlRnVsbFdpZHRoLnNjc3MiLCJfc2VhcmNoUmVzdWx0cy5zY3NzIiwiX25ld3NsZXR0ZXJNb2RhbC5zY3NzIiwiX2hlYWRlci5zY3NzIiwiX2Zvb3Rlci5zY3NzIiwiX2Nvbm5lY3Quc2NzcyIsIl9hZHMuc2NzcyIsIl9nbG9iYWxHZW5lcmFsLnNjc3MiLCIuLi9ub2RlX21vZHVsZXMvc3VzeS9zYXNzL3N1c3kvb3V0cHV0L3NoYXJlZC9fY29udGFpbmVyLnNjc3MiLCIuLi9ub2RlX21vZHVsZXMvc3VzeS9zYXNzL3N1c3kvb3V0cHV0L3N1cHBvcnQvX2NsZWFyZml4LnNjc3MiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBO0FBRUE7QUFBQTtBQUFBO0FBQUE7QUFLQTtFQUNFO0VBQ0E7RUFDQTs7O0FBSUY7QUFDQTtFQUNFOzs7QUFFRjtFQUNFOzs7QUFJRjtBQUFBO0FBQUE7QUFJQTtFQUNFOzs7QUFHRjtBQUFBO0FBR0E7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQU1BO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQSxVQVdVO0VBQ1I7OztBQUdGO0FBQUE7QUFBQTtBQUlBO0FBQUE7QUFBQTtBQUFBO0VBSUU7OztBQUdGO0FBQUE7QUFBQTtBQUlBO0VBQ0U7RUFDQTs7O0FBR0Y7QUFBQTtBQUFBO0FBSUE7RUFDRTs7O0FBR0Y7QUFBQTtBQUFBO0FBQUE7QUFLQTtBQUFBO0VBRUU7OztBQUdGO0FBQUE7QUFHQTtBQUFBO0FBQUE7QUFBQTtBQUtBO0VBQ0U7RUFDQTs7O0FBR0Y7QUFBQTtBQUFBO0FBQUE7QUFLQTtBQUFBO0VBRUU7OztBQUdGO0FBQUE7QUFHQTtBQUFBO0FBQUE7QUFBQTtBQUtBO0VBQ0U7RUFDQTtFQUNBOzs7QUFHRjtBQUFBO0FBQUE7QUFJQTtBQUFBO0VBRUU7OztBQUdGO0FBQUE7QUFBQTtBQUlBO0FBQUE7RUFFRTs7O0FBR0Y7QUFBQTtBQUFBO0FBSUE7RUFDRTs7O0FBR0Y7QUFBQTtBQUFBO0FBQUE7QUFLQTtFQUNFO0VBQ0E7OztBQUdGO0FBQUE7QUFBQTtBQUlBO0VBQ0U7RUFDQTs7O0FBR0Y7QUFBQTtBQUFBO0FBSUE7RUFDRTs7O0FBR0Y7QUFBQTtBQUFBO0FBQUE7QUFLQTtBQUFBO0VBRUU7RUFDQTtFQUNBO0VBQ0E7OztBQUdGO0VBQ0U7OztBQUdGO0VBQ0U7OztBQUdGO0FBQUE7QUFHQTtBQUFBO0FBQUE7QUFJQTtFQUNFOzs7QUFHRjtBQUFBO0FBQUE7QUFJQTtFQUNFOzs7QUFHRjtBQUFBO0FBR0E7QUFBQTtBQUFBO0FBQUE7QUFLQTtBQUFBO0FBQUE7QUFBQTtFQUlFO0VBQ0E7OztBQUdGO0FBQUE7QUFBQTtBQUlBO0VBQ0U7OztBQUdGO0FBQUE7QUFBQTtBQUFBO0FBS0E7RUFDRTtFQUNBO0VBQ0E7OztBQUdGO0FBQUE7QUFHQTtBQUFBO0FBQUE7QUFBQTtBQUtBO0FBQUE7QUFBQTtBQUFBO0VBSUU7RUFDQTs7O0FBR0Y7QUFBQTtBQUFBO0FBSUE7RUFDRTs7O0FBR0Y7QUFBQTtBQUFBO0FBQUE7QUFJQTtBQUFBLFFBQ1E7RUFDTjs7O0FBR0Y7QUFBQTtBQUFBO0FBQUE7QUFLQTtBQUFBLFNBQ1M7RUFDUDs7O0FBR0Y7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQU1BO0FBQUE7QUFBQTtBQUFBO0VBSUU7OztBQUdGO0FBQUE7QUFBQTtBQUlBO0FBQUE7QUFBQTtBQUFBO0VBSUU7RUFDQTs7O0FBR0Y7QUFBQTtBQUFBO0FBSUE7QUFBQTtBQUFBO0FBQUE7RUFJRTs7O0FBR0Y7QUFBQTtBQUFBO0FBSUE7RUFDRTtFQUNBO0VBQ0E7OztBQUdGO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQU9BO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBOzs7QUFHRjtBQUFBO0FBQUE7QUFJQTtFQUNFOzs7QUFHRjtBQUFBO0FBQUE7QUFBQTtBQUtBO0FBQUE7RUFFRTtFQUNBOzs7QUFHRjtBQUFBO0FBQUE7QUFJQTtBQUFBO0VBRUU7OztBQUdGO0FBQUE7QUFBQTtBQUFBO0FBS0E7RUFDRTtFQUNBOzs7QUFHRjtBQUFBO0FBQUE7QUFJQTtBQUFBO0VBRUU7OztBQUdGO0FBQUE7QUFBQTtBQUlBO0VBQ0U7RUFDQTs7O0FBR0Y7QUFBQTtBQUFBO0FBQUE7QUFLQTtFQUNFO0VBQ0E7OztBQUdGO0FBQUE7QUFBQTtBQUdBO0VBQ0U7RUFDQTtFQUNBOzs7QUFHRjtFQUNFOzs7QUFHRjtBQUFBO0VBRUU7RUFDQTs7O0FDOVBGO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBOzs7QUFHRjtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBOzs7QUFHRjtFQUNFOzs7QUNyTkY7RUFDRTtJQUNFOztFQUdGO0lBQ0U7OztBQUlKO0VBQ0U7SUFDRTs7RUFHRjtJQUNFOzs7QUFjSjtFQUNFO0lBQ0U7O0VBR0Y7SUFDRTs7O0FBSUo7RUFDRTtJQUNFOztFQUdGO0lBQ0U7OztBQVNKO0VBQ0U7SUFDRTtJQUNBO0lBQ0E7O0VBR0Y7SUFDRTtJQUNBOzs7QUFJSjtFQUNFO0lBQ0U7SUFDQTtJQUNBOztFQUdGO0lBQ0U7SUFDQTs7O0FBVUo7RUFDRTtJQUNFO0lBQ0E7SUFDQTs7RUFHRjtJQUNFO0lBQ0E7OztBQUlKO0VBQ0U7SUFDRTtJQUNBO0lBQ0E7O0VBR0Y7SUFDRTtJQUNBOzs7QUFTSjtFQUNFO0lBQ0U7SUFDQTs7RUFHRjtJQUNFO0lBQ0E7SUFDQTs7O0FBSUo7RUFDRTtJQUNFO0lBQ0E7O0VBR0Y7SUFDRTtJQUNBO0lBQ0E7OztBQVNKO0VBQ0U7SUFDRTs7RUFHRjtJQUNFO0lBQ0E7OztBQVFKO0VBQ0U7SUFDRTs7RUFHRjtJQUNFO0lBQ0E7OztBQUlKO0VBQ0U7OztBQUdGO0VBQ0U7SUFDRTs7RUFHRjtJQUNFO0lBQ0E7OztBQUlKO0VBQ0U7OztBQUdGO0VBQ0U7SUFDRTtJQUNBO0lBQ0E7O0VBR0Y7SUFDRTtJQUNBOzs7QUFJSjtFQUNFO0lBQ0U7SUFDQTtJQUNBOztFQUdGO0lBQ0U7SUFDQTs7O0FBVUo7RUFDRTtJQUNFO0lBQ0E7SUFDQTs7RUFHRjtJQUNFO0lBQ0E7OztBQUlKO0VBQ0U7SUFDRTtJQUNBO0lBQ0E7O0VBR0Y7SUFDRTtJQUNBOzs7QUFVSjtFQUNFO0lBQ0U7SUFDQTtJQUNBOztFQUdGO0lBQ0U7SUFDQTtJQUNBOztFQUdGO0lBQ0U7SUFDQTtJQUNBOzs7QUFJSjtFQUNFO0lBQ0U7SUFDQTtJQUNBOztFQUdGO0lBQ0U7SUFDQTtJQUNBOztFQUdGO0lBQ0U7SUFDQTtJQUNBOzs7QUFZSjtFQUNFO0lBQ0U7O0VBR0Y7SUFDRTs7RUFHRjtJQUNFOztFQUdGO0lBQ0U7OztBQUtKO0VBQ0U7SUFDRTs7RUFHRjtJQUNFOztFQUdGO0lBQ0U7O0VBR0Y7SUFDRTs7O0FBV0o7RUFDRTtJQUNFOztFQUdGO0lBQ0U7O0VBR0Y7SUFDRTs7O0FBSUo7RUFDRTtJQUNFOztFQUdGO0lBQ0U7O0VBR0Y7SUFDRTs7O0FBV0o7RUFDRTtJQUNFOztFQUdGO0lBQ0U7O0VBR0Y7SUFDRTs7O0FBSUo7RUFDRTtJQUNFOztFQUdGO0lBQ0U7O0VBR0Y7SUFDRTs7O0FDM1pKO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7O0FBR0o7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0VBWUk7RUFDQTs7O0FBSUo7RUFDSSxPQ3RCTTtFRHVCTjtFQUNBOztBQUNBO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQSxZQ3BDQTtFRHFDQTs7QUFFSjtFQUNJOzs7QUFJUjtBQUFBO0VBRUksT0N4Q007RUR5Q047RUFDQTtFQUNBOztBQUNBO0FBQUE7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0EsWUN4REE7O0FEMERKO0FBQUE7RUFDSTtFQUNBOztBQUVBO0FBQUE7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0EsWUMvREE7RURnRUE7RUFDQTtFQUNBOzs7QUFNWjtFQUNJLE9DdkVFO0VEd0VGO0VBQ0E7RUFDQTs7O0FBR0o7RUFDSSxlQ2pETTs7QURrRE47QUFBQTtFQUVJO0VBQ0E7O0FBQ0E7QUFBQTtFQUNJOztBQUdSO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0EsWUNyR0E7OztBRCtHQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtFRjNFTjtFQUNJO0VBQ0k7RUU0RUU7O0FBS0E7RUFDSTs7QUFPSjtBQUFBO0VBQ0k7O0FBT0o7QUFBQTtFQUNJOzs7QUFNaEI7QUFBQTtFQUVJO0VBQ0EsT0MzSU07RUQ0SU47OztBQUdKO0FBQUE7RUFFSSxPQy9JSztFRGdKTDtFQUNBOzs7QUFHSjtBQUFBO0VBRUk7RUFDQTtFQUNBOzs7QUFHSjtBQUFBO0VBRUksT0M5SkU7RUQrSkY7RUFDQTtFQUNBO0VBQ0E7OztBQUlKO0VBQ0k7RUFDQTs7QUFDQTtFQUNJOzs7QUFPSjtBQUFBO0VBRUk7RUFDQTtFQUNBOztBRS9ISjtFRjJIQTtBQUFBO0lBTVE7OztBQUVKO0FBQUE7RUFDSTs7QUFHUjtFQUNJOztBRXhJSjtFRnVJQTtJQUdROzs7QUFHUjtFQUNJOztBQUNBO0VBQ0k7RUFDQTs7QUFDQTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBLE9DdE5SOzs7QUhETjtFQUNFO0VBQ0E7RUFDQTs7QUFFRjtFQUNFO0VBQ0E7RUFDQTs7QUtSQTtFQUNJOztBRDZESjtFQzFESTtJQ2FKLE9DS087SURMUCxPQ0tPOztFQ3lDUDtJRjlDQSxhQ0tPO0lETFAsY0NLTztJRExQLE9HWmM7SUhZZCxhSWVPOztFRitCUDtJRjlDQSxhQ0tPO0lETFAsY0NLTztJRExQLE9HSmM7OztBTGlEZDtFQ3JESTtJQ1FKLE9DS087SURMUCxPQ0tPOztFQ3lDUDtJRjlDQSxhQ0tPO0lETFAsY0NLTztJRExQLE9HWmM7SUhZZCxhSWVPOztFRitCUDtJRjlDQSxhQ0tPO0lETFAsY0NLTztJRExQLE9HSmM7OztBTGlEZDtFQ2hESTtJQ0dKLE9DS087SURMUCxPQ0tPOztFQ3lDUDtJRjlDQSxhQ0tPO0lETFAsY0NLTztJRExQLE9HWmM7SUhZZCxhSWVPOztFRitCUDtJRjlDQSxhQ0tPO0lETFAsY0NLTztJRExQLE9HSmM7Ozs7QVRiaEI7RUFDRTtFQUNBO0VBQ0E7O0FBRUY7RUFDRTtFQUNBO0VBQ0E7O0FLZUE7RUFDSTs7QURzQ0o7RUNuQ0k7SUNWSixPQ0tPO0lETFAsT0NLTzs7RUN5Q1A7SUY5Q0EsYUNLTztJRExQLGNDS087SURMUCxPR1pjO0lIWWQsYUllTzs7RUYrQlA7SUY5Q0EsYUNLTztJRExQLGNDS087SURMUCxPR0pjOzs7QUxpRGQ7RUM5Qkk7SUNmSixPQ0tPO0lETFAsT0NLTzs7RUN5Q1A7SUY5Q0EsYUNLTztJRExQLGNDS087SURMUCxPR1pjO0lIWWQsYUllTzs7RUYrQlA7SUY5Q0EsYUNLTztJRExQLGNDS087SURMUCxPR0pjOztFRGtEZDtJRjlDQSxhQ0tPO0lETFAsY0NLTztJRExQLE9HSmM7OztBTGlEZDtFQ3pCSTtJQ3BCSixPQ0tPO0lETFAsT0NLTzs7RUN5Q1A7SUY5Q0EsYUNLTztJRExQLGNDS087SURMUCxPR1pjO0lIWWQsYUllTzs7RUYrQlA7SUY5Q0EsYUNLTztJRExQLGNDS087SURMUCxPR0pjOztFRGtEZDtJRjlDQSxhQ0tPO0lETFAsY0NLTztJRExQLE9HSmM7Ozs7QVRiaEI7RUFDRTtFQUNBO0VBQ0E7O0FBRUY7RUFDRTtFQUNBO0VBQ0E7O0FLc0NBO0VBQ0k7RUFDQTs7QUFHSjtFQUNJOztBRFVKO0VDUEk7SUN0Q0osT0NLTztJRExQLE9DS087O0VDeUNQO0lGOUNBLGFDS087SURMUCxjQ0tPO0lETFAsT0daYztJSFlkLGFJZU87O0VGK0JQO0lGOUNBLGFDS087SURMUCxjQ0tPO0lETFAsT0dKYzs7O0FMaURkO0VDRkk7SUMzQ0osT0NLTztJRExQLE9DS087O0VDeUNQO0lGOUNBLGFDS087SURMUCxjQ0tPO0lETFAsT0daYztJSFlkLGFJZU87O0VGK0JQO0lGOUNBLGFDS087SURMUCxjQ0tPO0lETFAsT0dKYzs7RURrRGQ7SUY5Q0EsYUNLTztJRExQLGNDS087SURMUCxPR0pjOzs7QUxpRGQ7RUNHSTtJQ2hESixPQ0tPO0lETFAsT0NLTzs7RUN5Q1A7SUY5Q0EsYUNLTztJRExQLGNDS087SURMUCxPR1pjO0lIWWQsYUllTzs7RUYrQlA7SUY5Q0EsYUNLTztJRExQLGNDS087SURMUCxPR0pjOztFRGtEZDtJRjlDQSxhQ0tPO0lETFAsY0NLTztJRExQLE9HSmM7O0VEa0RkO0lGOUNBLGFDS087SURMUCxjQ0tPO0lETFAsT0dKYzs7O0FKeURkO0VBQ0k7RUFDQTs7O0FEVko7RUNjSjtJQUVRO0lBQ0E7SUFDQSxVRjNDRTtJRTRDRjtJQUNBO0lBQ0E7OztBRHJCSjtFQ2NKO0lBV1E7OztBQUdKO0VBQ0k7RUFDQTs7QUFHSjtFQUNJLGVGM0RFO0VFNERGOztBRG5DSjtFQ3FDSTtJQUVRO0lBQ0E7OztBRHhDWjtFQ3FDSTtJQU9RO0lBQ0E7OztBRDdDWjtFQ3FDSTtJQVlRO0lBQ0E7OztBRGxEWjtFQ3NESTtJQUVRO0lBQ0E7OztBRHpEWjtFQ3NESTtJQU9RO0lBQ0E7OztBRDlEWjtFQ3NESTtJQVlRO0lBQ0E7OztBRG5FWjtFQ3VFSTtJQUVRO0lBQ0E7OztBRDFFWjtFQ3VFSTtJQU9RO0lBQ0E7OztBRC9FWjtFQ3VFSTtJQVlRO0lBQ0E7OztBRHBGWjtFQ3dGSTtJQUVRO0lBQ0E7OztBRDNGWjtFQ3dGSTtJQU9RO0lBQ0E7OztBRGhHWjtFQ3dGSTtJQVlRO0lBQ0E7OztBRHJHWjtFQ3lHSTtJQUVRO0lBQ0E7SUFDQTs7O0FEN0daO0VDeUdJO0lBUVE7SUFDQTtJQUNBOzs7QURuSFo7RUN5R0k7SUFjUTtJQUNBO0lBQ0E7OztBQUlSO0VBQ0k7RUFDQTs7QUFLUjtFTGxNRjtJQUNFO0lBQ0E7SUFDQTs7RUFFRjtJQUNFO0lBQ0E7SUFDQTs7RUs2TEk7SUFDSTs7RUR4SVI7SUM0SVE7TUN6TFIsT0NLTztNRExQLE9DS087O0lDeUNQO01GOUNBLGFDS087TURMUCxjQ0tPO01ETFAsT0daYztNSFlkLGFJZU87O0lGK0JQO01GOUNBLGFDS087TURMUCxjQ0tPO01ETFAsT0dKYzs7O0VMaURkO0lDa0pRO01DL0xSLE9DS087TURMUCxPQ0tPOztJQ3lDUDtNRjlDQSxhQ0tPO01ETFAsY0NLTztNRExQLE9HWmM7TUhZZCxhSWVPOztJRitCUDtNRjlDQSxhQ0tPO01ETFAsY0NLTztNRExQLE9HSmM7O0lEa0RkO01GOUNBLGFDS087TURMUCxjQ0tPO01ETFAsT0dKYzs7O0VMaURkO0lDd0pRO01Dck1SLE9DS087TURMUCxPQ0tPOztJQ3lDUDtNRjlDQSxhQ0tPO01ETFAsY0NLTztNRExQLE9HWmM7TUhZZCxhSWVPOztJRitCUDtNRjlDQSxhQ0tPO01ETFAsY0NLTztNRExQLE9HSmM7O0lEa0RkO01GOUNBLGFDS087TURMUCxjQ0tPO01ETFAsT0dKYzs7Ozs7QUppTmQ7RUFDSTs7QUFFQTtFQUNJO0VBQ0E7O0FEcktSO0VDMEtJO0lDdk5KLE9DS087SURMUCxPQ0tPOztFQ3lDUDtJRjlDQSxhQ0tPO0lETFAsY0NLTztJRExQLE9HWmM7SUhZZCxhSWVPOztFRitCUDtJRjlDQSxhQ0tPO0lETFAsY0NLTztJRExQLE9HSmM7OztBTGlEZDtFQytLSTtJQzVOSixPQ0tPO0lETFAsT0NLTzs7RUN5Q1A7SUY5Q0EsYUNLTztJRExQLGNDS087SURMUCxPR1pjO0lIWWQsYUllTzs7RUYrQlA7SUY5Q0EsYUNLTztJRExQLGNDS087SURMUCxPR0pjOztFRGtEZDtJRjlDQSxhQ0tPO0lETFAsY0NLTztJRExQLE9HSmM7OztBTGlEZDtFQ29MSTtJQ2pPSixPQ0tPO0lETFAsT0NLTzs7RUN5Q1A7SUY5Q0EsYUNLTztJRExQLGNDS087SURMUCxPR1pjO0lIWWQsYUllTzs7RUYrQlA7SUY5Q0EsYUNLTztJRExQLGNDS087SURMUCxPR0pjOztFRGtEZDtJRjlDQSxhQ0tPO0lETFAsY0NLTztJRExQLE9HSmM7O0VEa0RkO0lGOUNBLGFDS087SURMUCxjQ0tPO0lETFAsT0dKYzs7RUp3T047SUNwT1IsT0NLTztJRExQLE9DS087O0VDeUNQO0lGOUNBLGFDS087SURMUCxjQ0tPO0lETFAsT0daYztJSFlkLGFJZU87O0VGK0JQO0lGOUNBLGFDS087SURMUCxjQ0tPO0lETFAsT0dKYzs7RUo0T0Y7SUFDSTtJQUNBOzs7O0FNN1BwQjtFQUNFO0VBQ0E7RUFDQTtFQUNBOztBQUNBO0VBQ0U7RUFDQTtFQUNBOztBQUVFO0VYNkJKO0VBQ0k7RUFDSTs7QVcxQlI7RUFDRTtFQUNBO0VBQ0E7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OztBQUVGO0VBQ0U7O0FpQnpEQTtFWFdBLE9DS087RURMUCxPQ0tPO0VVZEw7O0FUdURGO0VGOUNBLGFDS087RURMUCxjQ0tPO0VETFAsT0daYztFSFlkLGFJZU87O0FGK0JQO0VGOUNBLGFDS087RURMUCxjQ0tPO0VETFAsT0dKYzs7QUxpRGQ7RWFuREU7SVhNRixPQ0tPO0lETFAsT0NLTztJVVRIOztFVGtESjtJRjlDQSxhQ0tPO0lETFAsY0NLTztJRExQLE9HWmM7SUhZZCxhSWVPOztFRitCUDtJRjlDQSxhQ0tPO0lETFAsY0NLTztJRExQLE9HSmM7O0VEa0RkO0lGOUNBLGFDS087SURMUCxjQ0tPO0lETFAsT0dKYzs7O0FMaURkO0VhN0NFO0lYQUYsT0NLTztJRExQLE9DS087SVVISDs7RVQ0Q0o7SUY5Q0EsYUNLTztJRExQLGNDS087SURMUCxPR1pjO0lIWWQsYUllTzs7RUYrQlA7SUY5Q0EsYUNLTztJRExQLGNDS087SURMUCxPR0pjOztFRGtEZDtJRjlDQSxhQ0tPO0lETFAsY0NLTztJRExQLE9HSmM7OztBTGlEZDtFYXZDRTtJWE5GLE9DS087SURMUCxPQ0tPOztFQ3lDUDtJRjlDQSxhQ0tPO0lETFAsY0NLTztJRExQLE9HWmM7SUhZZCxhSWVPOztFRitCUDtJRjlDQSxhQ0tPO0lETFAsY0NLTztJRExQLE9HSmM7O0VEa0RkO0lGOUNBLGFDS087SURMUCxjQ0tPO0lETFAsT0dKYzs7RURrRGQ7SUY5Q0EsYUNLTztJRExQLGNDS087SURMUCxPR0pjOztFRGtEZDtJRjlDQSxhQ0tPO0lETFAsY0NLTztJRExQLE9HSmM7Ozs7QVNkaEI7RUFDRTtFQUNBOztBQUVGO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7O0FBQ0E7RUFDRTs7QUFHSjtFQUNHO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7O0FBRUg7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7O0FBRUY7RWxCeUNBO0VBQ0E7RUFDQTtFQVdBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQWtCQTtFQUNBO0VBcEVBO0VBQ0k7RUFDSTtFa0JQTjtF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QnJCRixPSUNPO0lKRFAsY0lDTztJY3NCSDs7RUFFRjtJbEJ6QkYsYUllTztJY1lIOztFQUVGO0lBQ0U7O0VBRUY7SWxCaENGLE9JQ087SUpEUCxjSUNPO0ljaUNIOztFQUVGO0lsQnBDRixhSWVPO0ljdUJIOztFQUVGO0lsQnhDRixPQ0tPO0lETFAsT0NLTztJRExQLGNDS087SURMUCxPSUNPO0lKRFAsY0lDTzs7O0FONENQO0VvQkVBO0lsQi9DQSxPQ0tPO0lETFAsT0NLTztJRExQLGNDS087O0VpQjRDTDtJbEJqREYsT0lDTztJSkRQLGNJQ087O0VjbURMO0lsQnBERixhSWVPO0ljdUNIOztFQUVGO0lsQnhERixPQ0tPO0lETFAsT0NLTztJRExQLGNDS087SURMUCxPSUNPO0lKRFAsY0lDTzs7RWMyREw7SWxCNURGLGFJZU87SWMrQ0g7O0VBRUY7SUFDRTs7RUFFRjtJbEJuRUYsT0lDTztJSkRQLGNJQ087SWNvRUg7SUFDQTs7RUFFRjtJbEJ4RUYsT0NLTztJRExQLE9DS087SURMUCxjQ0tPO0lETFAsYUllTztJYzRESDs7RUFFRjtJbEI3RUYsT0lDTztJSkRQLGNJQ087SWM4RUg7O0VBRUY7SWxCakZGLGFJZU87SWNvRUg7O0VBRUY7SUFDRTs7RUFFRjtJbEJ4RkYsT0lDTztJSkRQLGNJQ087SWN5Rkg7O0VBRUY7SWxCNUZGLGFJZU87SWMrRUg7O0VBRUY7SWxCaEdGLE9DS087SURMUCxPQ0tPO0lETFAsY0NLTztJRExQLE9JQ087SUpEUCxjSUNPOzs7O0FjdUdUO0VBQ0U7O0FwQjVEQTtFb0IrREE7SWxCNUdBLE9DS087SURMUCxPQ0tPOztFQ3lDUDtJRjlDQSxhQ0tPO0lETFAsY0NLTztJRExQLE9HWmM7SUhZZCxhSWVPOztFRitCUDtJRjlDQSxhQ0tPO0lETFAsY0NLTztJRExQLE9HSmM7O0VEa0RkO0lGOUNBLGFDS087SURMUCxjQ0tPO0lETFAsT0dKYzs7O0FMaURkO0VvQm9FQTtJbEJqSEEsT0NLTztJRExQLE9DS087O0VDeUNQO0lGOUNBLGFDS087SURMUCxjQ0tPO0lETFAsT0daYztJ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QTs7QUFFQTtFQUxKO0lBTVE7SUFDQTs7O0FBSVI7RUFDSTtFQUNBO0VBQ0E7O0FBRUE7RUFDSTs7QUFHSjtFQUNJOztBQUdKO0VBYko7SUFjUTs7O0FBTVo7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7O0FBRUE7RUFSSjtJQVNRO0lBQ0E7OztBQUdKO0VBQ0k7O0FBS1I7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBOztBQUVBO0VBUEo7SUFRUTtJQUNBOzs7QUFHSjtFQUNJO0VBQ0E7O0FBR0o7QUFBQTtFQUVJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7O0FBSUE7RUFDSTtFQUNBOztBQUdKO0VBQ0k7RUFDQTtFQUNBOztBQUVBO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBOztBQU9oQjtFQUNJO0VBQ0E7RUFDQTtFQUNBLE94Qm5XRjtFd0JvV0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7QUFFQTtFQVhKO0lBWVE7OztBQUdKO0VBRUk7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7O0FBS1I7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7QUFFQTtFQVRKO0lBVVE7SUFDQTs7O0FBR0o7RUFkSjtJQWVRO0lBQ0E7OztBQUdKO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7O0FBR0o7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7O0FBRUE7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBOztBQUlSO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7QUFFQTtFQVZKO0lBV1E7OztBQUdKO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7QUFFQTtFQUVJOztBQUdKO0VBWko7SUFhUTtJQUNBOzs7QUFHSjtFQUNJOztBQUdKO0VBQ0k7SUFDSTs7O0FBS1o7RUFDSTtFQUNBOztBQUVBO0VBSko7SUFLUTs7O0FBR0o7RUFDSTs7QUFFQTtFQUhKO0lB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Q0U7RUFDQTtFQUNBO0V4QmxKRixPQ0tPO0VETFAsT0NLTztFRExQLGNDS087O0F1QjhJTDtFQUNFO0VBQ0E7O0FBQ0E7RUFDRTs7QUFDQTtFQUNFOztBMUI1R1I7RTBCeUdJO0lBTUk7OztBQUlOO0VBQ0U7RUFDQTs7QTFCckhKO0UwQmtHQTtJeEIvSUEsT0NLTztJRExQLE9DS087SURMUCxjQ0tPOzs7QUh3Q1A7RTBCa0dBO0l4Qi9JQSxPQ0tPO0lETFAsT0NLTztJRExQLGNDS087SXVCc0tIOzs7QTFCOUhKO0UwQmtHQTtJQStCSTtJeEI5S0osT0NLTztJRExQLE9DS087SURMUCxjQ0tPOztFdUIyS0g7SUFDRTs7RUFDQTtJQUNFOzs7QUFNUjtFOUJ0SUY7RUFDQTtFQUNBO0U4QnNJSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7O0E5QjdJSjtFQUNFO0VBQ0E7O0E4QjRJRTtFOUJ2TUo7RUFFRTtFQUNBO0VBQ0E7RUFDSTtFQUNJO0U4Qm1NSjtFQUNBOztBQUVGO0VBQ0U7RUFDUTtFQUNSO0VBQ1E7RUFDUjtFQUNRO0VBQ0E7O0FBR1I7RUFDRTtFQUNRO0VBQ1I7RUFDUTs7QUFFVjtFQUNFO0VBQ1E7O0FBRVY7RUFDRTtFQUNRO0VBQ1I7RUFDUTs7QTFCcExkO0UwQjRJQTtJQTRDSTtJQUNBOzs7QUFHSjtFQUNFOztBMUI3TEY7RTBCNExBO0l4QnpPQSxPQ0tPO0lETFAsT0NLTztJRExQLGNDS087SXVCd09IOzs7QTFCaE1KO0UwQjRMQTtJeEJ6T0EsT0NLTztJRExQLE9DS087SURMUCxjQ0tPOzs7QXVCOE9QO0VBQ0U7RUFDQTtFQUNBO0VBQ0EsZTNCbk9JOztBQ3lCTjtFMEJzTUE7SXhCblBBLE9DS087SURMUCxPQ0tPO0lETFAsY0NLTztJdUJxUEg7SUFDQTs7O0ExQjlNSjtFMEJzTUE7SXhCblBBLE9DS087SURMUCxPQ0tPO0lETFAsY0NLTzs7O0FId0NQO0UwQm1ORTtJQUVJO0lBQ0E7SUFDQTs7O0FBRUY7RUFDRTs7QUFDQTtFOUIvSlI7RThCaUtVO0VBQ0E7RUFDQTtFQUNBOztBOUJuS1Y7RUFDRTs7QUFFRjtFQUNFOztBQUVGO0VBQ0U7O0FBRUY7RUFDRTs7QThCMEpRO0U5QjFQVjtFQUNJO0VBQ0k7RThCMFBJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBOztBQUdBO0VBQ0UsWTNCMVNSOztBQzZESjtFMEJ5Tkk7SUF5Qkk7SUFDQTtJQUNBO0lBQ0E7OztBQU1SO0VBQ0U7RUFDQTtFQUNBLGUzQnZSSTs7QTJCd1JKO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBOztBQUVGO0U5QmpRSjtFQUNBO0VBQ0E7RThCaVFNO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7O0E5QnZRTjtFQUNFO0VBQ0E7O0FJWEE7RTBCMlBBO0l4QnhTQSxPQ0tPO0lETFAsT0NLTztJRExQLGNDS087SXVCNFRIO0lBQ0E7OztBMUJyUko7RTBCMlBBO0l4QnhTQSxPQ0tPO0lETFAsT0NLTztJRExQLGNDS087OztBdUJvVVQ7RUFDRSxlM0J0VE07RTJCdVROO0VBQ0E7RUFDQTs7QUFDQTtFQUNFO0VBQ0E7RUFDQTs7QUFDQTtFOUI5VEo7RUFDSTtFQUNJOztBOEJrVUY7RUFDRSxNM0J6V0Y7O0FDNkRKO0UwQjRSRjtJeEJ6VUUsT0NLTztJRExQLE9DS087SURMUCxjQ0tPO0l1QjBWTDtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7OztBMUJ2VEY7RTBCNFJGO0l4QnpVRSxPQ0tPO0lETFAsT0NLTztJRExQLGNDS087Ozs7QXVCOFdMO0VBQ0U7O0ExQnZVSjtFMEJzVUU7SUFHSTs7O0FBTVI7RUFDSTtFQUNBO0VBQ0E7RTlCM1dKO0VBQ0k7RUFDSTs7QUl1Qk47RTBCK1VGO0lBTU07SUFDQTs7O0FBRUo7RUFDRTtFQUNBOztBQUdKO0VBQ0UsWTNCdlhNOzs7QTJCOFhOO0VBQ0U7OztBQ3JhRjtFL0IwREY7RUFDQTtFK0J6RE0sZTVCb0NFOztBSHNCUjtFQUNFOztBQUVGO0VBQ0U7O0ErQjVEQTtFQUNJO0VBQ0E7OztBQUlSO0VBQ0k7RUFDQTtFQUNBO0VBQ0EsTzVCUFE7O0E0QlFSO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7QUFFSjtFQUNJO0VBQ0E7RUFDQTs7QUFDQTtFQUNJOztBQUlKO0VBQ0k7O0EzQjRCUjtFMkI3Qkk7SUFHUSxlNUJDTjs7OztBNEJLVjtFQUVRO0lBQ0k7OztBM0JpQlI7RTJCWko7SXpCakNJLE9DS087SURMUCxPQ0tPO0lETFAsY0NLTztJd0IrQkg7O0VBQ0E7SUFFSTtJQUNBO0lBQ0E7O0UvQjFEVjtJQUNFO0lBQ0E7SUFDQTs7RUFFRjtJQUNFO0lBQ0E7SUFDQTs7O0FJc0RBO0UyQlpKO0l6QmpDSSxPQ0tPO0lETFAsT0NLTztJRExQLGNDS087OztBSHdDUDtFMkJaSjtJekJqQ0ksT0NLTztJRExQLE9DS087SURMUCxjQ0tPOztFd0I0Q0g7SUFDSTtJQUNBO0lBQ0E7Ozs7QUFJWjtFQUNJLGU1QnJDTTs7QTRCc0NOO0VBQ0k7RUFDQTtFQUNBOztBQUVKO0VBQ0ksWTVCNUNFOztBQ3lCTjtFMkJXSjtJekJ4REksT0NLTztJRExQLE9DS087SURMUCxjQ0tPOzs7QUh3Q1A7RTJCV0o7SXpCeERJLE9DS087SURMUCxPQ0tPO0lETFAsY0NLTzs7O0FId0NQO0UyQldKO0l6QnhESSxPQ0tPO0lETFAsT0NLTztJRExQLGNDS087Ozs7QXdCdUVYO0VBTUk7O0FBSkk7RUFDSSxlNUIzREY7O0E0QnNFTjtFQUNJO0VBQ0E7O0FBQ0E7RUFDSTs7QTNCakRSO0UyQitCSjtJekI1RUksT0NLTztJRExQLE9DS087SURMUCxjQ0tPOzs7QUh3Q1A7RTJCK0JKO0l6QjVFSSxPQ0tPO0lETFAsT0NLTztJRExQLGNDS087OztBSHdDUDtFMkIrQko7SXpCNUVJLE9DS087SURMUCxPQ0tPO0lETFAsY0NLTzs7OztBd0IwR1g7RUFDSTtFQUNBO0VBQ0EsZTVCOUZNOztBNEIrRk47RUFDSTs7QTNCdkVKO0UyQmtFSjtJekIvR0ksT0NLTztJRExQLE9DS087SURMUCxjQ0tPO0l3Qm1ISDtJQUNBO0lBQ0E7OztBM0I3RUo7RTJC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SUFDQTs7RUFDQTtJQUNFO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTs7OztBQU1KO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7O0FBR0E7RUFDRTtFQUNBOzs7QUFNTjtFQUNFOzs7QUFJQTtFbEM5SEE7RUFFRTtFQUNBO0VBQ0E7RUFDSTtFQUNJO0VrQzBIUjtFQUNBO0VBQ0E7OztBQU1BO0VBQ0U7OztBQUtOO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RWpDaktBLDRCaUNrS2tCO0VqQ2pLbEIsb0JpQ2lLa0I7RWpDaEtsQjtFQUNBO0VBd0JBO0VBQ0E7O0FpQ3dJQTtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBOzs7QUFJSjtFNUI3SkksVzZCTk87RTdCTVAsYTZCTk87RTdCTVAsYzZCTk87RWhDc0RUOztBaUN4REU7RUFDRTtFQUNBO0VBQ0E7O0FwQ1pKO0VBQ0U7RUFDQTtFQUNBOztBQUVGO0VBQ0U7RUFDQTtFQUNBOztBSXNEQTtFOEJnSEo7SS9CL0ZJOzs7O0ErQm1HSjtFQUNFO0VBQ0E7OztBbENwTEE7RUFDRTtFQUNBO0VBQ0E7O0FBRUY7RUFDRTtFQUNBO0VBQ0E7OztBa0NvTEo7RUFFRTtFQUNBOztBbEMvTEE7RUFDRTtFQUNBO0VBQ0E7O0FBRUY7RUFDRTtFQUNBO0VBQ0E7OztBa0MwTEo7RUFDRTtFQUNBO0VBQ0E7OztBQUdGO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7OztBQUdGO0VBQ0U7RUFDQTtFQUNBIiwiZmlsZSI6Im1haW4uY3NzIiwic291cmNlc0NvbnRlbnQiOlsiLyohIG5vcm1hbGl6ZS5jc3MgdjQuMS4xIHwgTUlUIExpY2Vuc2UgfCBnaXRodWIuY29tL25lY29sYXMvbm9ybWFsaXplLmNzcyAqL1xuXG4vKipcbiAqIDEuIENoYW5nZSB0aGUgZGVmYXVsdCBmb250IGZhbWlseSBpbiBhbGwgYnJvd3NlcnMgKG9waW5pb25hdGVkKS5cbiAqIDIuIFByZXZlbnQgYWRqdXN0bWVudHMgb2YgZm9udCBzaXplIGFmdGVyIG9yaWVudGF0aW9uIGNoYW5nZXMgaW4gSUUgYW5kIGlPUy5cbiAqL1xuXG5odG1sIHtcbiAgZm9udC1mYW1pbHk6IHNhbnMtc2VyaWY7IC8qIDEgKi9cbiAgLW1zLXRleHQtc2l6ZS1hZGp1c3Q6IDEwMCU7IC8qIDIgKi9cbiAgLXdlYmtpdC10ZXh0LXNpemUtYWRqdXN0OiAxMDAlOyAvKiAyICovXG59XG5cblxuLyogYXBwbHkgYSBuYXR1cmFsIGJveCBsYXlvdXQgbW9kZWwgdG8gYWxsIGVsZW1lbnRzLCBidXQgYWxsb3dpbmcgY29tcG9uZW50cyB0byBjaGFuZ2UgKi9cbmh0bWwge1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xufVxuKiwgKjpiZWZvcmUsICo6YWZ0ZXIge1xuICBib3gtc2l6aW5nOiBpbmhlcml0O1xufVxuXG5cbi8qKlxuICogUmVtb3ZlIHRoZSBtYXJnaW4gaW4gYWxsIGJyb3dzZXJzIChvcGluaW9uYXRlZCkuXG4gKi9cblxuYm9keSB7XG4gIG1hcmdpbjogMDtcbn1cblxuLyogSFRNTDUgZGlzcGxheSBkZWZpbml0aW9uc1xuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLyoqXG4gKiBBZGQgdGhlIGNvcnJlY3QgZGlzcGxheSBpbiBJRSA5LS5cbiAqIDEuIEFkZCB0aGUgY29ycmVjdCBkaXNwbGF5IGluIEVkZ2UsIElFLCBhbmQgRmlyZWZveC5cbiAqIDIuIEFkZCB0aGUgY29ycmVjdCBkaXNwbGF5IGluIElFLlxuICovXG5cbmFydGljbGUsXG5hc2lkZSxcbmRldGFpbHMsIC8qIDEgKi9cbmZpZ2NhcHRpb24sXG5maWd1cmUsXG5mb290ZXIsXG5oZWFkZXIsXG5tYWluLCAvKiAyICovXG5tZW51LFxubmF2LFxuc2VjdGlvbixcbnN1bW1hcnkgeyAvKiAxICovXG4gIGRpc3BsYXk6IGJsb2NrO1xufVxuXG4vKipcbiAqIEFkZCB0aGUgY29ycmVjdCBkaXNwbGF5IGluIElFIDktLlxuICovXG5cbmF1ZGlvLFxuY2FudmFzLFxucHJvZ3Jlc3MsXG52aWRlbyB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbn1cblxuLyoqXG4gKiBBZGQgdGhlIGNvcnJlY3QgZGlzcGxheSBpbiBpT1MgNC03LlxuICovXG5cbmF1ZGlvOm5vdChbY29udHJvbHNdKSB7XG4gIGRpc3BsYXk6IG5vbmU7XG4gIGhlaWdodDogMDtcbn1cblxuLyoqXG4gKiBBZGQgdGhlIGNvcnJlY3QgdmVydGljYWwgYWxpZ25tZW50IGluIENocm9tZSwgRmlyZWZveCwgYW5kIE9wZXJhLlxuICovXG5cbnByb2dyZXNzIHtcbiAgdmVydGljYWwtYWxpZ246IGJhc2VsaW5lO1xufVxuXG4vKipcbiAqIEFkZCB0aGUgY29ycmVjdCBkaXNwbGF5IGluIElFIDEwLS5cbiAqIDEuIEFkZCB0aGUgY29ycmVjdCBkaXNwbGF5IGluIElFLlxuICovXG5cbnRlbXBsYXRlLCAvKiAxICovXG5baGlkZGVuXSB7XG4gIGRpc3BsYXk6IG5vbmU7XG59XG5cbi8qIExpbmtzXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKipcbiAqIDEuIFJlbW92ZSB0aGUgZ3JheSBiYWNrZ3JvdW5kIG9uIGFjdGl2ZSBsaW5rcyBpbiBJRSAxMC5cbiAqIDIuIFJlbW92ZSBnYXBzIGluIGxpbmtzIHVuZGVybGluZSBpbiBpT1MgOCsgYW5kIFNhZmFyaSA4Ky5cbiAqL1xuXG5hIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7IC8qIDEgKi9cbiAgLXdlYmtpdC10ZXh0LWRlY29yYXRpb24tc2tpcDogb2JqZWN0czsgLyogMiAqL1xufVxuXG4vKipcbiAqIFJlbW92ZSB0aGUgb3V0bGluZSBvbiBmb2N1c2VkIGxpbmtzIHdoZW4gdGhleSBhcmUgYWxzbyBhY3RpdmUgb3IgaG92ZXJlZFxuICogaW4gYWxsIGJyb3dzZXJzIChvcGluaW9uYXRlZCkuXG4gKi9cblxuYTphY3RpdmUsXG5hOmhvdmVyIHtcbiAgb3V0bGluZS13aWR0aDogMDtcbn1cblxuLyogVGV4dC1sZXZlbCBzZW1hbnRpY3NcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qKlxuICogMS4gUmVtb3ZlIHRoZSBib3R0b20gYm9yZGVyIGluIEZpcmVmb3ggMzktLlxuICogMi4gQWRkIHRoZSBjb3JyZWN0IHRleHQgZGVjb3JhdGlvbiBpbiBDaHJvbWUsIEVkZ2UsIElFLCBPcGVyYSwgYW5kIFNhZmFyaS5cbiAqL1xuXG5hYmJyW3RpdGxlXSB7XG4gIGJvcmRlci1ib3R0b206IG5vbmU7IC8qIDEgKi9cbiAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7IC8qIDIgKi9cbiAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmUgZG90dGVkOyAvKiAyICovXG59XG5cbi8qKlxuICogUHJldmVudCB0aGUgZHVwbGljYXRlIGFwcGxpY2F0aW9uIG9mIGBib2xkZXJgIGJ5IHRoZSBuZXh0IHJ1bGUgaW4gU2FmYXJpIDYuXG4gKi9cblxuYixcbnN0cm9uZyB7XG4gIGZvbnQtd2VpZ2h0OiBpbmhlcml0O1xufVxuXG4vKipcbiAqIEFkZCB0aGUgY29ycmVjdCBmb250IHdlaWdodCBpbiBDaHJvbWUsIEVkZ2UsIGFuZCBTYWZhcmkuXG4gKi9cblxuYixcbnN0cm9uZyB7XG4gIGZvbnQtd2VpZ2h0OiBib2xkZXI7XG59XG5cbi8qKlxuICogQWRkIHRoZSBjb3JyZWN0IGZvbnQgc3R5bGUgaW4gQW5kcm9pZCA0LjMtLlxuICovXG5cbmRmbiB7XG4gIGZvbnQtc3R5bGU6IGl0YWxpYztcbn1cblxuLyoqXG4gKiBDb3JyZWN0IHRoZSBmb250IHNpemUgYW5kIG1hcmdpbiBvbiBgaDFgIGVsZW1lbnRzIHdpdGhpbiBgc2VjdGlvbmAgYW5kXG4gKiBgYXJ0aWNsZWAgY29udGV4dHMgaW4gQ2hyb21lLCBGaXJlZm94LCBhbmQgU2FmYXJpLlxuICovXG5cbmgxIHtcbiAgZm9udC1zaXplOiAyZW07XG4gIG1hcmdpbjogMC42N2VtIDA7XG59XG5cbi8qKlxuICogQWRkIHRoZSBjb3JyZWN0IGJhY2tncm91bmQgYW5kIGNvbG9yIGluIElFIDktLlxuICovXG5cbm1hcmsge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmYwO1xuICBjb2xvcjogIzAwMDtcbn1cblxuLyoqXG4gKiBBZGQgdGhlIGNvcnJlY3QgZm9udCBzaXplIGluIGFsbCBicm93c2Vycy5cbiAqL1xuXG5zbWFsbCB7XG4gIGZvbnQtc2l6ZTogODAlO1xufVxuXG4vKipcbiAqIFByZXZlbnQgYHN1YmAgYW5kIGBzdXBgIGVsZW1lbnRzIGZyb20gYWZmZWN0aW5nIHRoZSBsaW5lIGhlaWdodCBpblxuICogYWxsIGJyb3dzZXJzLlxuICovXG5cbnN1YixcbnN1cCB7XG4gIGZvbnQtc2l6ZTogNzUlO1xuICBsaW5lLWhlaWdodDogMDtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB2ZXJ0aWNhbC1hbGlnbjogYmFzZWxpbmU7XG59XG5cbnN1YiB7XG4gIGJvdHRvbTogLTAuMjVlbTtcbn1cblxuc3VwIHtcbiAgdG9wOiAtMC41ZW07XG59XG5cbi8qIEVtYmVkZGVkIGNvbnRlbnRcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qKlxuICogUmVtb3ZlIHRoZSBib3JkZXIgb24gaW1hZ2VzIGluc2lkZSBsaW5rcyBpbiBJRSAxMC0uXG4gKi9cblxuaW1nIHtcbiAgYm9yZGVyLXN0eWxlOiBub25lO1xufVxuXG4vKipcbiAqIEhpZGUgdGhlIG92ZXJmbG93IGluIElFLlxuICovXG5cbnN2Zzpub3QoOnJvb3QpIHtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbn1cblxuLyogR3JvdXBpbmcgY29udGVudFxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLyoqXG4gKiAxLiBDb3JyZWN0IHRoZSBpbmhlcml0YW5jZSBhbmQgc2NhbGluZyBvZiBmb250IHNpemUgaW4gYWxsIGJyb3dzZXJzLlxuICogMi4gQ29ycmVjdCB0aGUgb2RkIGBlbWAgZm9udCBzaXppbmcgaW4gYWxsIGJyb3dzZXJzLlxuICovXG5cbmNvZGUsXG5rYmQsXG5wcmUsXG5zYW1wIHtcbiAgZm9udC1mYW1pbHk6IG1vbm9zcGFjZSwgbW9ub3NwYWNlOyAvKiAxICovXG4gIGZvbnQtc2l6ZTogMWVtOyAvKiAyICovXG59XG5cbi8qKlxuICogQWRkIHRoZSBjb3JyZWN0IG1hcmdpbiBpbiBJRSA4LlxuICovXG5cbmZpZ3VyZSB7XG4gIG1hcmdpbjogMWVtIDQwcHg7XG59XG5cbi8qKlxuICogMS4gQWRkIHRoZSBjb3JyZWN0IGJveCBzaXppbmcgaW4gRmlyZWZveC5cbiAqIDIuIFNob3cgdGhlIG92ZXJmbG93IGluIEVkZ2UgYW5kIElFLlxuICovXG5cbmhyIHtcbiAgYm94LXNpemluZzogY29udGVudC1ib3g7IC8qIDEgKi9cbiAgaGVpZ2h0OiAwOyAvKiAxICovXG4gIG92ZXJmbG93OiB2aXNpYmxlOyAvKiAyICovXG59XG5cbi8qIEZvcm1zXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKipcbiAqIDEuIENoYW5nZSBmb250IHByb3BlcnRpZXMgdG8gYGluaGVyaXRgIGluIGFsbCBicm93c2VycyAob3BpbmlvbmF0ZWQpLlxuICogMi4gUmVtb3ZlIHRoZSBtYXJnaW4gaW4gRmlyZWZveCBhbmQgU2FmYXJpLlxuICovXG5cbmJ1dHRvbixcbmlucHV0LFxuc2VsZWN0LFxudGV4dGFyZWEge1xuICBmb250OiBpbmhlcml0OyAvKiAxICovXG4gIG1hcmdpbjogMDsgLyogMiAqL1xufVxuXG4vKipcbiAqIFJlc3RvcmUgdGhlIGZvbnQgd2VpZ2h0IHVuc2V0IGJ5IHRoZSBwcmV2aW91cyBydWxlLlxuICovXG5cbm9wdGdyb3VwIHtcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7XG59XG5cbi8qKlxuICogU2hvdyB0aGUgb3ZlcmZsb3cgaW4gSUUuXG4gKiAxLiBTaG93IHRoZSBvdmVyZmxvdyBpbiBFZGdlLlxuICovXG5idXR0b24sXG5pbnB1dCB7IC8qIDEgKi9cbiAgb3ZlcmZsb3c6IHZpc2libGU7XG59XG5cbi8qKlxuICogUmVtb3ZlIHRoZSBpbmhlcml0YW5jZSBvZiB0ZXh0IHRyYW5zZm9ybSBpbiBFZGdlLCBGaXJlZm94LCBhbmQgSUUuXG4gKiAxLiBSZW1vdmUgdGhlIGluaGVyaXRhbmNlIG9mIHRleHQgdHJhbnNmb3JtIGluIEZpcmVmb3guXG4gKi9cblxuYnV0dG9uLFxuc2VsZWN0IHsgLyogMSAqL1xuICB0ZXh0LXRyYW5zZm9ybTogbm9uZTtcbn1cblxuLyoqXG4gKiAxLiBQcmV2ZW50IGEgV2ViS2l0IGJ1ZyB3aGVyZSAoMikgZGVzdHJveXMgbmF0aXZlIGBhdWRpb2AgYW5kIGB2aWRlb2BcbiAqICAgIGNvbnRyb2xzIGluIEFuZHJvaWQgNC5cbiAqIDIuIENvcnJlY3QgdGhlIGluYWJpbGl0eSB0byBzdHlsZSBjbGlja2FibGUgdHlwZXMgaW4gaU9TIGFuZCBTYWZhcmkuXG4gKi9cblxuYnV0dG9uLFxuaHRtbCBbdHlwZT1cImJ1dHRvblwiXSwgLyogMSAqL1xuW3R5cGU9XCJyZXNldFwiXSxcblt0eXBlPVwic3VibWl0XCJdIHtcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiBidXR0b247IC8qIDIgKi9cbn1cblxuLyoqXG4gKiBSZW1vdmUgdGhlIGlubmVyIGJvcmRlciBhbmQgcGFkZGluZyBpbiBGaXJlZm94LlxuICovXG5cbmJ1dHRvbjo6LW1vei1mb2N1cy1pbm5lcixcblt0eXBlPVwiYnV0dG9uXCJdOjotbW96LWZvY3VzLWlubmVyLFxuW3R5cGU9XCJyZXNldFwiXTo6LW1vei1mb2N1cy1pbm5lcixcblt0eXBlPVwic3VibWl0XCJdOjotbW96LWZvY3VzLWlubmVyIHtcbiAgYm9yZGVyLXN0eWxlOiBub25lO1xuICBwYWRkaW5nOiAwO1xufVxuXG4vKipcbiAqIFJlc3RvcmUgdGhlIGZvY3VzIHN0eWxlcyB1bnNldCBieSB0aGUgcHJldmlvdXMgcnVsZS5cbiAqL1xuXG5idXR0b246LW1vei1mb2N1c3JpbmcsXG5bdHlwZT1cImJ1dHRvblwiXTotbW96LWZvY3VzcmluZyxcblt0eXBlPVwicmVzZXRcIl06LW1vei1mb2N1c3JpbmcsXG5bdHlwZT1cInN1Ym1pdFwiXTotbW96LWZvY3VzcmluZyB7XG4gIG91dGxpbmU6IDFweCBkb3R0ZWQgQnV0dG9uVGV4dDtcbn1cblxuLyoqXG4gKiBDaGFuZ2UgdGhlIGJvcmRlciwgbWFyZ2luLCBhbmQgcGFkZGluZyBpbiBhbGwgYnJvd3NlcnMgKG9waW5pb25hdGVkKS5cbiAqL1xuXG5maWVsZHNldCB7XG4gIGJvcmRlcjogMXB4IHNvbGlkICNjMGMwYzA7XG4gIG1hcmdpbjogMCAycHg7XG4gIHBhZGRpbmc6IDAuMzVlbSAwLjYyNWVtIDAuNzVlbTtcbn1cblxuLyoqXG4gKiAxLiBDb3JyZWN0IHRoZSB0ZXh0IHdyYXBwaW5nIGluIEVkZ2UgYW5kIElFLlxuICogMi4gQ29ycmVjdCB0aGUgY29sb3IgaW5oZXJpdGFuY2UgZnJvbSBgZmllbGRzZXRgIGVsZW1lbnRzIGluIElFLlxuICogMy4gUmVtb3ZlIHRoZSBwYWRkaW5nIHNvIGRldmVsb3BlcnMgYXJlIG5vdCBjYXVnaHQgb3V0IHdoZW4gdGhleSB6ZXJvIG91dFxuICogICAgYGZpZWxkc2V0YCBlbGVtZW50cyBpbiBhbGwgYnJvd3NlcnMuXG4gKi9cblxubGVnZW5kIHtcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDsgLyogMSAqL1xuICBjb2xvcjogaW5oZXJpdDsgLyogMiAqL1xuICBkaXNwbGF5OiB0YWJsZTsgLyogMSAqL1xuICBtYXgtd2lkdGg6IDEwMCU7IC8qIDEgKi9cbiAgcGFkZGluZzogMDsgLyogMyAqL1xuICB3aGl0ZS1zcGFjZTogbm9ybWFsOyAvKiAxICovXG59XG5cbi8qKlxuICogUmVtb3ZlIHRoZSBkZWZhdWx0IHZlcnRpY2FsIHNjcm9sbGJhciBpbiBJRS5cbiAqL1xuXG50ZXh0YXJlYSB7XG4gIG92ZXJmbG93OiBhdXRvO1xufVxuXG4vKipcbiAqIDEuIEFkZCB0aGUgY29ycmVjdCBib3ggc2l6aW5nIGluIElFIDEwLS5cbiAqIDIuIFJlbW92ZSB0aGUgcGFkZGluZyBpbiBJRSAxMC0uXG4gKi9cblxuW3R5cGU9XCJjaGVja2JveFwiXSxcblt0eXBlPVwicmFkaW9cIl0ge1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94OyAvKiAxICovXG4gIHBhZGRpbmc6IDA7IC8qIDIgKi9cbn1cblxuLyoqXG4gKiBDb3JyZWN0IHRoZSBjdXJzb3Igc3R5bGUgb2YgaW5jcmVtZW50IGFuZCBkZWNyZW1lbnQgYnV0dG9ucyBpbiBDaHJvbWUuXG4gKi9cblxuW3R5cGU9XCJudW1iZXJcIl06Oi13ZWJraXQtaW5uZXItc3Bpbi1idXR0b24sXG5bdHlwZT1cIm51bWJlclwiXTo6LXdlYmtpdC1vdXRlci1zcGluLWJ1dHRvbiB7XG4gIGhlaWdodDogYXV0bztcbn1cblxuLyoqXG4gKiAxLiBDb3JyZWN0IHRoZSBvZGQgYXBwZWFyYW5jZSBpbiBDaHJvbWUgYW5kIFNhZmFyaS5cbiAqIDIuIENvcnJlY3QgdGhlIG91dGxpbmUgc3R5bGUgaW4gU2FmYXJpLlxuICovXG5cblt0eXBlPVwic2VhcmNoXCJdIHtcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiB0ZXh0ZmllbGQ7IC8qIDEgKi9cbiAgb3V0bGluZS1vZmZzZXQ6IC0ycHg7IC8qIDIgKi9cbn1cblxuLyoqXG4gKiBSZW1vdmUgdGhlIGlubmVyIHBhZGRpbmcgYW5kIGNhbmNlbCBidXR0b25zIGluIENocm9tZSBhbmQgU2FmYXJpIG9uIE9TIFguXG4gKi9cblxuW3R5cGU9XCJzZWFyY2hcIl06Oi13ZWJraXQtc2VhcmNoLWNhbmNlbC1idXR0b24sXG5bdHlwZT1cInNlYXJjaFwiXTo6LXdlYmtpdC1zZWFyY2gtZGVjb3JhdGlvbiB7XG4gIC13ZWJraXQtYXBwZWFyYW5jZTogbm9uZTtcbn1cblxuLyoqXG4gKiBDb3JyZWN0IHRoZSB0ZXh0IHN0eWxlIG9mIHBsYWNlaG9sZGVycyBpbiBDaHJvbWUsIEVkZ2UsIGFuZCBTYWZhcmkuXG4gKi9cblxuOjotd2Via2l0LWlucHV0LXBsYWNlaG9sZGVyIHtcbiAgY29sb3I6IGluaGVyaXQ7XG4gIG9wYWNpdHk6IDAuNTQ7XG59XG5cbi8qKlxuICogMS4gQ29ycmVjdCB0aGUgaW5hYmlsaXR5IHRvIHN0eWxlIGNsaWNrYWJsZSB0eXBlcyBpbiBpT1MgYW5kIFNhZmFyaS5cbiAqIDIuIENoYW5nZSBmb250IHByb3BlcnRpZXMgdG8gYGluaGVyaXRgIGluIFNhZmFyaS5cbiAqL1xuXG46Oi13ZWJraXQtZmlsZS11cGxvYWQtYnV0dG9uIHtcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiBidXR0b247IC8qIDEgKi9cbiAgZm9udDogaW5oZXJpdDsgLyogMiAqL1xufVxuXG4vKipcbiAqICByZW1vdmUgaW9zIHN0eWxpbmcuIE9ubHkgdXNlIG9uIGJ1dHRvbnMgYW5kIHNlYXJjaCBpbnB1dHNcbiAqL1xuYnV0dG9uLCBbdHlwZT1cInNlYXJjaFwiXSwgW3R5cGU9XCJidXR0b25cIl0geyBcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lO1xuICBib3JkZXItcmFkaXVzOjA7XG4gIHBhZGRpbmc6MDtcbn1cblxuaW5wdXRbdHlwZT1cIm51bWJlclwiXSB7XG4gIC1tb3otYXBwZWFyYW5jZTogdGV4dGZpZWxkO1xufVxuXG5pbnB1dFt0eXBlPVwibnVtYmVyXCJdOjotd2Via2l0LWlubmVyLXNwaW4tYnV0dG9uLFxuaW5wdXRbdHlwZT1cIm51bWJlclwiXTo6LXdlYmtpdC1vdXRlci1zcGluLWJ1dHRvbiB7XG4gIC13ZWJraXQtYXBwZWFyYW5jZTogbm9uZTtcbiAgbWFyZ2luOiAwO1xufVxuIiwiIC8vIGNsZWFyIGZpeGluXG5AbWl4aW4gY2xlYXJmaXgge1xuICAmOmFmdGVyIHtcbiAgICBkaXNwbGF5OnRhYmxlO1xuICAgIGNsZWFyOmJvdGg7XG4gICAgY29udGVudDonJztcbiAgfVxuICAmOmJlZm9yZSB7XG4gICAgZGlzcGxheTp0YWJsZTtcbiAgICBjbGVhcjpib3RoO1xuICAgIGNvbnRlbnQ6Jyc7XG4gIH1cbn1cbi8vIHBhcmVudCBzaG91bGQgYmUgc2V0IHRvIHJlbGF0aXZlXG4vLyBodHRwczovL2Nzcy10cmlja3MuY29tL3NuaXBwZXRzL3Nhc3MvY2VudGVyaW5nLW1peGluL1xuQG1peGluIGNlbnRlcigkaG9yaXpvbnRhbDogdHJ1ZSwgJHZlcnRpY2FsOiB0cnVlKSB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgQGlmICgkaG9yaXpvbnRhbCBhbmQgJHZlcnRpY2FsKSB7XG4gICAgdG9wOiA1MCU7XG4gICAgbGVmdDogNTAlO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgLTUwJSk7XG4gICAgICAgIC1tcy10cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAtNTAlKTtcbiAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIC01MCUpO1xuXG4gIH0gQGVsc2UgaWYgKCRob3Jpem9udGFsKSB7XG4gICAgbGVmdDogNTAlO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgMCk7XG4gICAgICAgIC1tcy10cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAwKTtcbiAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIDApO1xuICB9IEBlbHNlIGlmICgkdmVydGljYWwpIHtcbiAgICB0b3A6IDUwJTtcbiAgICAgICAgLW1zLXRyYW5zZm9ybTp0cmFuc2xhdGUoMCwgLTUwJSk7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06dHJhbnNsYXRlKDAsIC01MCUpO1xuICAgICAgICAgICAgdHJhbnNmb3JtOnRyYW5zbGF0ZSgwLCAtNTAlKTtcbiAgfVxufVxuXG4vLyB0cmFuc2l0aW9uc1xuQG1peGluIHRyYW5zaXRpb24oJHRyYW5zaXRpb24tcHJvcGVydHksICR0cmFuc2l0aW9uLXRpbWUsICRtZXRob2QpIHtcbiAgLXdlYmtpdC10cmFuc2l0aW9uOiR0cmFuc2l0aW9uLXByb3BlcnR5ICR0cmFuc2l0aW9uLXRpbWUgJG1ldGhvZDtcbiAgICAgIC1tcy10cmFuc2l0aW9uOiR0cmFuc2l0aW9uLXByb3BlcnR5ICR0cmFuc2l0aW9uLXRpbWUgJG1ldGhvZDtcbiAgICAgICAgICB0cmFuc2l0aW9uOiR0cmFuc2l0aW9uLXByb3BlcnR5ICR0cmFuc2l0aW9uLXRpbWUgJG1ldGhvZDtcbn1cblxuLy8gZ3JhZGllbnRzXG5AbWl4aW4gbGluZWFyLWdyYWRpZW50KCRmcm9tQ29sb3IsICR0b0NvbG9yKSB7XG4gIGJhY2tncm91bmQtY29sb3I6JHRvQ29sb3I7IC8qIEZhbGxiYWNrIENvbG9yICovXG4gIGJhY2tncm91bmQtaW1hZ2U6LXdlYmtpdC1ncmFkaWVudChsaW5lYXIsIGxlZnQgdG9wLCBsZWZ0IGJvdHRvbSwgZnJvbSgkZnJvbUNvbG9yKSwgdG8oJHRvQ29sb3IpKTsgLyogU2FmNCssIENocm9tZSAqL1xuICBiYWNrZ3JvdW5kLWltYWdlOi13ZWJraXQtbGluZWFyLWdyYWRpZW50KHRvcCwgJGZyb21Db2xvciwgJHRvQ29sb3IpOyAvKiBDaHJvbWUgMTArLCBTYWY1LjErLCBpT1MgNSsgKi9cbiAgYmFja2dyb3VuZC1pbWFnZTogICAtbW96LWxpbmVhci1ncmFkaWVudCh0b3AsICRmcm9tQ29sb3IsICR0b0NvbG9yKTsgLyogRkYzLjYgKi9cbiAgYmFja2dyb3VuZC1pbWFnZTogICAgLW1zLWxpbmVhci1ncmFkaWVudCh0b3AsICRmcm9tQ29sb3IsICR0b0NvbG9yKTsgLyogSUUxMCAqL1xuICBiYWNrZ3JvdW5kLWltYWdlOiAgICAgLW8tbGluZWFyLWdyYWRpZW50KHRvcCwgJGZyb21Db2xvciwgJHRvQ29sb3IpOyAvKiBPcGVyYSAxMS4xMCsgKi9cbiAgYmFja2dyb3VuZC1pbWFnZTogICAgICAgIGxpbmVhci1ncmFkaWVudCh0b3AsICRmcm9tQ29sb3IsICR0b0NvbG9yKTtcblxuICBmaWx0ZXI6IHByb2dpZDpEWEltYWdlVHJhbnNmb3JtLk1pY3Jvc29mdC5ncmFkaWVudChHcmFkaWVudFR5cGU9MCxTdGFydENvbG9yU3RyPScjeyRmcm9tQ29sb3J9JywgRW5kQ29sb3JTdHI9JyN7JHRvQ29sb3J9Jyk7XG59XG5cbi8vIHBsYWluIGxpc3RzXG5AbWl4aW4gcGxhaW4tbGlzdCB7XG4gIG1hcmdpbjogMDtcbiAgcGFkZGluZzogMDtcbiAgbGkge1xuICAgIGxpc3Qtc3R5bGU6bm9uZTtcbiAgfVxuICBkZCB7XG4gICAgbWFyZ2luOjA7XG4gIH1cbn1cblxuQG1peGluIHBsYWluLWJ1dHRvbiB7XG4gIGJvcmRlcjpub25lO1xuICBiYWNrZ3JvdW5kOm5vbmU7XG4gIGJveC1zaGFkb3c6bm9uZTtcbiAgJjpob3ZlciwgJjpmb2N1cywgJjphY3RpdmUge1xuICAgIGJveC1zaGFkb3c6bm9uZTtcbiAgICBib3JkZXI6bm9uZTtcbiAgfVxufVxuXG5AbWl4aW4gYnV0dG9uKCRiYWNrZ3JvdW5kOm51bGwsICRjb2xvcjpudWxsKSB7XG4gICoge1xuICAgIHZlcnRpY2FsLWFsaWduOm1pZGRsZTtcbiAgfVxuICBwYWRkaW5nOmNhbGMoJHYtcmh5dGhtIC8gMikgJHYtcmh5dGhtO1xuICB0ZXh0LWFsaWduOmNlbnRlcjtcbiAgZGlzcGxheTppbmxpbmUtYmxvY2s7XG4gIGNvbG9yOiN7JGNvbG9yfTtcbiAgYmFja2dyb3VuZC1jb2xvcjojeyRiYWNrZ3JvdW5kfTtcbiAgYm9yZGVyOjA7XG59XG5cbkBtaXhpbiBib3JkZXItYnV0dG9uKCRib3JkZXJDb2xvcjpudWxsLCAkYm9yZGVyV2lkdGg6bnVsbCwgJGNvbG9yOm51bGwpIHtcbiAgKiB7XG4gICAgdmVydGljYWwtYWxpZ246bWlkZGxlO1xuICB9XG4gIGJhY2tncm91bmQ6dHJhbnNwYXJlbnQ7XG4gIHBhZGRpbmc6Y2FsYygkdi1yaHl0aG0gLyAyKSAkdi1yaHl0aG07XG4gIHRleHQtYWxpZ246Y2VudGVyO1xuICBkaXNwbGF5OmlubGluZS1ibG9jaztcbiAgY29sb3I6I3skY29sb3J9O1xuICBib3JkZXItY29sb3I6I3skYm9yZGVyQ29sb3J9O1xuICBib3JkZXItd2lkdGg6I3skYm9yZGVyV2lkdGh9O1xuICBib3JkZXItc3R5bGU6c29saWQ7XG59XG5cbkBtaXhpbiBhcnJvdy1idXR0b24oJGNvbG9yKSB7XG4gIHBhZGRpbmctcmlnaHQ6M2VtO1xuICBwb3NpdGlvbjpyZWxhdGl2ZTtcbiAgc3ZnIHtcbiAgICBAaW5jbHVkZSBjZW50ZXIoZmFsc2UsIHRydWUpO1xuICAgIGZpbGw6JGNvbG9yO1xuICAgIHJpZ2h0OjFlbTtcbiAgICBkaXNwbGF5OmlubGluZS1ibG9jaztcbiAgICB3aWR0aDoxZW07XG4gICAgaGVpZ2h0OjFlbTtcbiAgfVxuICAvLyByZXF1aXJlcyB0aGlzIHN2ZyBhcyBhIGNoaWxkXG4gIC8vICAgPHN2ZyB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCIgdmlld0JveD1cIjAgMCA1NSAxMDFcIj5cbiAgLy8gICA8cGF0aCBkPVwiTTcuNDUgMTAwTDAgOTIuMSAzOS41NSA1MCAwIDguMTggNy40NSAwbDQ3LjEgNTBcIi8+XG4gIC8vIDwvc3ZnPlxufVxuXG4vLyBsaW5rIHJlc2V0XG5AbWl4aW4gbGluay1yZXNldCB7XG4gIHRleHQtZGVjb3JhdGlvbjpub25lO1xuICAmOmhvdmVyIHtcbiAgICB0ZXh0LWRlY29yYXRpb246bm9uZTtcbiAgfVxuICAmOmFjdGl2ZSB7XG4gICAgdGV4dC1kZWNvcmF0aW9uOm5vbmU7XG4gIH1cbiAgJjp2aXNpdGVkIHtcbiAgICB0ZXh0LWRlY29yYXRpb246bm9uZTtcbiAgfVxuICAmOmZvY3VzIHtcbiAgICB0ZXh0LWRlY29yYXRpb246bm9uZTtcbiAgfVxufVxuXG4vLyBsb25nIHNoYWRvdyBnZW5lcmF0b3Jcbi8vIGh0dHA6Ly9jb2RlcGVuLmlvL21heGFrb2hsZXIvcGVuL21BeEh6XG5AbWl4aW4gbG9uZy1zaGFkb3coJHR5cGUsICRjb2xvciwgJGxlbmd0aCwgJGZhZGVvdXQ6IHRydWUsICRza2V3OiBmYWxzZSwgJGRpcmVjdGlvbjogcmlnaHQpe1xuICAkc2hhZG93OiAnJztcbiAgQGlmICRza2V3ID09IGZhbHNlIG9yICR0eXBlID09IHRleHR7XG4gICAgQGlmICRkaXJlY3Rpb24gPT0gcmlnaHQge1xuICAgICAgQGZvciAkaSBmcm9tIDAgdG8gJGxlbmd0aCAtIDEge1xuICAgICAgICAkc2hhZG93OiAkc2hhZG93ICsgJGkgKyAncHggJyArICRpICsgJ3B4IDAgJyArICRjb2xvciArICcsJztcbiAgICAgIH1cbiAgICB9XG4gICAgQGlmICRkaXJlY3Rpb24gPT0gbGVmdCB7XG4gICAgICBAZm9yICRpIGZyb20gMCB0byAkbGVuZ3RoIC0gMSB7XG4gICAgICAgICRzaGFkb3c6ICRzaGFkb3cgKyAkaSAqIC0xICsgJ3B4ICcgKyAkaSArICdweCAwICcgKyAkY29sb3IgKyAnLCc7XG4gICAgICAgfVxuICAgICAgfVxuICAgICB9XG4gICAgICAgIFxuICAgQGlmICRmYWRlb3V0ID09IHRydWV7XG4gICAgQGZvciAkaSBmcm9tIDEgdG8gJGxlbmd0aCAtIDEge1xuICAgICAgQGlmICR0eXBlID09IHRleHQgb3IgJHNrZXcgPT0gZmFsc2V7XG4gICAgICAgIEBpZiAkZGlyZWN0aW9uID09IHJpZ2h0e1xuICAgICAgICAgICRzaGFkb3c6ICRzaGFkb3cgKyAkaSArICdweCAnICsgJGkgKyAncHggMCAnICsgICAgICAgcmdiYSgkY29sb3IsIDEgLSAkaSAvICRsZW5ndGgpICsgJywnO1xuICAgICAgICB9XG4gICAgICAgIEBpZiAkZGlyZWN0aW9uID09IGxlZnR7XG4gICAgICAgICAgJHNoYWRvdzogJHNoYWRvdyArICRpICogLTEgKyAncHggJyArICRpICsgJ3B4IDAgJyArICAgICAgIHJnYmEoJGNvbG9yLCAxIC0gJGkgLyAkbGVuZ3RoKSArICcsJztcbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgQGlmICgkdHlwZSA9PSBib3gpIGFuZCAkc2tldyA9PSB0cnVle1xuICAgICAgICBAaWYgJGRpcmVjdGlvbiA9PSByaWdodCB7XG4gICAgICAgICAgJHNoYWRvdzogJHNoYWRvdyArICRpICsgJ3B4ICcgKyAkaSArICdweCAwICcgKyAkaSAqIC4yICsgJ3B4ICcgKyByZ2JhKCRjb2xvciwgMSAtICRpIC8gJGxlbmd0aCkgKyAnLCc7XG4gICAgICAgIH1cbiAgICAgICAgQGlmICRkaXJlY3Rpb24gPT0gbGVmdCB7XG4gICAgICAgICAgJHNoYWRvdzogJHNoYWRvdyArICRpICogLTEgKyAncHggJyArICRpICsgJ3B4IDAgJyArICRpICogLjIgKyAncHggJyArIHJnYmEoJGNvbG9yLCAxIC0gJGkgLyAkbGVuZ3RoKSArICcsJztcbiAgICAgICAgfVxuICAgICAgfVxuICB9XG4gICRzaGFkb3c6ICRzaGFkb3cgKyAkbGVuZ3RoICsgJ3B4ICcgKyAkbGVuZ3RoICsgJ3B4IDAgJyArIHJnYmEoJGNvbG9yLCAwKTtcbiB9XG4gQGlmICRmYWRlb3V0ID09IGZhbHNle1xuICAgQGlmICRza2V3ID09IHRydWUgYW5kICggJHR5cGUgPT0gYm94ICl7XG4gICAgIEBmb3IgJGkgZnJvbSAwIHRvICRsZW5ndGggLSAxIHtcbiAgICAgICAgICAgICRzaGFkb3c6ICRzaGFkb3cgKyAkaSArICdweCAnICsgJGkgKyAncHggMCAnICsgJGkgKiAuMSArICdweCAnICsgJGNvbG9yICsgJywnO1xuICAgICAgfVxuICAgfVxuICAgICRzaGFkb3c6ICRzaGFkb3cgKyAkbGVuZ3RoICsgJ3B4ICcgKyAkbGVuZ3RoICsgJ3B4IDAgJyArIHJnYmEoMCwwLDAsMCk7XG4gfVxuICRzaGFkb3c6IHVucXVvdGUoJHNoYWRvdyk7XG4gIEBpZiAkdHlwZSA9PSAnYm94JyB7Ym94LXNoYWRvdzogJHNoYWRvdzt9XG4gIEBpZiAkdHlwZSA9PSAndGV4dCcge3RleHQtc2hhZG93OiAkc2hhZG93O31cbn1cblxuLy8gYXNzaXRpdmUgdGV4dC4gbm90IGEgbWl4aW4gYnV0IGFuIGltcG9ydGFudCB1dGlsaXR5IGNsYXNzXG4uYXNzaXN0aXZlLXRleHQge1xuICBjbGlwOiByZWN0KDFweCwgMXB4LCAxcHgsIDFweCk7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZSAhaW1wb3J0YW50O1xuICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICBoZWlnaHQ6IDFweDtcbiAgd2lkdGg6IDFweDtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbn1cblxuLmFzc2lzdGl2ZS10ZXh0OmhvdmVyLCAuYXNzaXN0aXZlLXRleHQ6YWN0aXZlLCAuYXNzaXN0aXZlLXRleHQ6Zm9jdXMge1xuICBmb250LXNpemU6Ljg3NWVtO1xuICBmb250LXdlaWdodDpib2xkO1xuICBsaW5lLWhlaWdodDpub3JtYWw7XG4gIHotaW5kZXg6MTAwMDAwO1xuICB0b3A6NXB4O1xuICBsZWZ0OjVweDtcbiAgZGlzcGxheTpibG9jaztcbiAgY2xpcDphdXRvICFpbXBvcnRhbnQ7XG4gIHdpZHRoOmF1dG87XG4gIGhlaWdodDphdXRvO1xuICBwYWRkaW5nOjE1cHggMjNweCAxNHB4O1xuICB0ZXh0LWRlY29yYXRpb246bm9uZTtcbiAgY29sb3I6IzIxNzU5YjtcbiAgYm9yZGVyLXJhZGl1czozcHg7XG4gIGJhY2tncm91bmQtY29sb3I6I2YxZjFmMTtcbiAgYm94LXNoYWRvdzowIDAgMnB4IDJweCByZ2JhKDAsIDAsIDAsIC42KTtcbn1cblxuLmhpZGUge1xuICBkaXNwbGF5Om5vbmU7XG59XG5cblxuQG1peGluIGZsZXgge1xuICBkaXNwbGF5Oi13ZWJraXQtYm94O1xuICBkaXNwbGF5Oi1tcy1mbGV4Ym94O1xuICBkaXNwbGF5OmZsZXg7XG59XG5cbkBtaXhpbiBmbGV4LXdyYXAge1xuICAtbXMtZmxleC13cmFwOiB3cmFwO1xuICAgICAgZmxleC13cmFwOiB3cmFwO1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG59XG5cbkBtaXhpbiBmbGV4LWFsaWduLWNlbnRlciB7XG4gIC13ZWJraXQtYm94LWFsaWduOiBjZW50ZXI7XG4gICAgIC1tcy1mbGV4LWFsaWduOiBjZW50ZXI7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG59XG5cbkBtaXhpbiBmbGV4LWFsaWduLWVuZCB7XG4gIC13ZWJraXQtYm94LWFsaWduOiBlbmQ7XG4gICAgIC1tcy1mbGV4LWFsaWduOiBlbmQ7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBlbmQ7XG59XG5cbkBtaXhpbiBmbGV4LWp1c3RpZnktZW5kIHtcbiAgLXdlYmtpdC1ib3gtcGFjazogZW5kO1xuICAgICAtbXMtZmxleC1wYWNrOiBlbmQ7XG4gICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kOyBcbn1cblxuQG1peGluIGZsZXgtanVzdGlmeS1zdGFydCB7XG4gLXdlYmtpdC1ib3gtcGFjazogc3RhcnQ7XG4gICAgLW1zLWZsZXgtcGFjazogc3RhcnQ7XG4gIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDsgXG59XG5cbkBtaXhpbiBmbGV4LWp1c3RpZnktY2VudGVyIHtcbiAgLXdlYmtpdC1ib3gtcGFjazogY2VudGVyO1xuICAgICAtbXMtZmxleC1wYWNrOiBjZW50ZXI7XG4gICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjsgXG59XG4iLCJAbWl4aW4gYW5pbWF0ZWQoJGR1cikge1xuICAtd2Via2l0LWFuaW1hdGlvbi1kdXJhdGlvbjogJGR1cjtcbiAgYW5pbWF0aW9uLWR1cmF0aW9uOiAkZHVyO1xuICAtd2Via2l0LWFuaW1hdGlvbi1maWxsLW1vZGU6IGJvdGg7XG4gIGFuaW1hdGlvbi1maWxsLW1vZGU6IGJvdGg7XG59XG5cbkAtd2Via2l0LWtleWZyYW1lcyBmYWRlSW4ge1xuICBmcm9tIHtcbiAgICBvcGFjaXR5OiAwO1xuICB9XG5cbiAgdG8ge1xuICAgIG9wYWNpdHk6IDE7XG4gIH1cbn1cblxuQGtleWZyYW1lcyBmYWRlSW4ge1xuICBmcm9tIHtcbiAgICBvcGFjaXR5OiAwO1xuICB9XG5cbiAgdG8ge1xuICAgIG9wYWNpdHk6IDE7XG4gIH1cbn1cblxuQG1peGluIGZhZGVJbiB7XG4gIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IGZhZGVJbjtcbiAgYW5pbWF0aW9uLW5hbWU6IGZhZGVJbjtcbn1cblxuQG1peGluIGZhZGVJblN0YXJ0ZWQge1xuICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiBmYWRlSW5TdGFydGVkO1xuICBhbmltYXRpb24tbmFtZTogZmFkZUluU3RhcnRlZDtcbn1cblxuQC13ZWJraXQta2V5ZnJhbWVzIGZhZGVPdXQge1xuICBmcm9tIHtcbiAgICBvcGFjaXR5OiAxO1xuICB9XG5cbiAgdG8ge1xuICAgIG9wYWNpdHk6IDA7XG4gIH1cbn1cblxuQGtleWZyYW1lcyBmYWRlT3V0IHtcbiAgZnJvbSB7XG4gICAgb3BhY2l0eTogMTtcbiAgfVxuXG4gIHRvIHtcbiAgICBvcGFjaXR5OiAwO1xuICB9XG59XG5cbkBtaXhpbiBmYWRlT3V0IHtcbiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogZmFkZU91dDtcbiAgYW5pbWF0aW9uLW5hbWU6IGZhZGVPdXQ7XG59XG5cbkAtd2Via2l0LWtleWZyYW1lcyBzbGlkZUluTGVmdCB7XG4gIGZyb20ge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtMTAwJSwgMCwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtMTAwJSwgMCwgMCk7XG4gICAgdmlzaWJpbGl0eTogdmlzaWJsZTtcbiAgfVxuXG4gIHRvIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgfVxufVxuXG5Aa2V5ZnJhbWVzIHNsaWRlSW5MZWZ0IHtcbiAgZnJvbSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC0xMDAlLCAwLCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC0xMDAlLCAwLCAwKTtcbiAgICB2aXNpYmlsaXR5OiB2aXNpYmxlO1xuICB9XG5cbiAgdG8ge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICB9XG59XG5cbkBtaXhpbiBzbGlkZUluTGVmdCB7XG4gIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IHNsaWRlSW5MZWZ0O1xuICBhbmltYXRpb24tbmFtZTogc2xpZGVJbkxlZnQ7XG59XG5cblxuQC13ZWJraXQta2V5ZnJhbWVzIHNsaWRlSW5SaWdodCB7XG4gIGZyb20ge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgxMDAlLCAwLCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDEwMCUsIDAsIDApO1xuICAgIHZpc2liaWxpdHk6IHZpc2libGU7XG4gIH1cblxuICB0byB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gIH1cbn1cblxuQGtleWZyYW1lcyBzbGlkZUluUmlnaHQge1xuICBmcm9tIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMTAwJSwgMCwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgxMDAlLCAwLCAwKTtcbiAgICB2aXNpYmlsaXR5OiB2aXNpYmxlO1xuICB9XG5cbiAgdG8ge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICB9XG59XG5cbkBtaXhpbiBzbGlkZUluUmlnaHQge1xuICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiBzbGlkZUluUmlnaHQ7XG4gIGFuaW1hdGlvbi1uYW1lOiBzbGlkZUluUmlnaHQ7XG59XG5cbkAtd2Via2l0LWtleWZyYW1lcyBzbGlkZU91dFJpZ2h0IHtcbiAgZnJvbSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gIH1cblxuICB0byB7XG4gICAgdmlzaWJpbGl0eTogaGlkZGVuO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgxMDAlLCAwLCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDEwMCUsIDAsIDApO1xuICB9XG59XG5cbkBrZXlmcmFtZXMgc2xpZGVPdXRSaWdodCB7XG4gIGZyb20ge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICB9XG5cbiAgdG8ge1xuICAgIHZpc2liaWxpdHk6IGhpZGRlbjtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMTAwJSwgMCwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgxMDAlLCAwLCAwKTtcbiAgfVxufVxuXG5AbWl4aW4gc2xpZGVPdXRSaWdodCB7XG4gIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IHNsaWRlT3V0UmlnaHQ7XG4gIGFuaW1hdGlvbi1uYW1lOiBzbGlkZU91dFJpZ2h0O1xufVxuXG5Aa2V5ZnJhbWVzIHNsaWRlT3V0RG93biB7XG4gIGZyb20ge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gIH1cblxuICB0byB7XG4gICAgdmlzaWJpbGl0eTogaGlkZGVuO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMTAwJSwgMCk7XG4gIH1cbn1cblxuQG1peGluIHNsaWRlT3V0RG93biB7XG4gIGFuaW1hdGlvbi1uYW1lOiBzbGlkZU91dERvd247XG59XG5cbkBrZXlmcmFtZXMgc2xpZGVPdXREb3duIHtcbiAgZnJvbSB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgfVxuXG4gIHRvIHtcbiAgICB2aXNpYmlsaXR5OiBoaWRkZW47XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAxMDAlLCAwKTtcbiAgfVxufVxuXG4uc2xpZGVPdXREb3duIHtcbiAgYW5pbWF0aW9uLW5hbWU6IHNsaWRlT3V0RG93bjtcbn1cblxuQGtleWZyYW1lcyBzbGlkZU91dExlZnQge1xuICBmcm9tIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICB9XG5cbiAgdG8ge1xuICAgIHZpc2liaWxpdHk6IGhpZGRlbjtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC0xMDAlLCAwLCAwKTtcbiAgfVxufVxuXG4uc2xpZGVPdXRMZWZ0IHtcbiAgYW5pbWF0aW9uLW5hbWU6IHNsaWRlT3V0TGVmdDtcbn1cblxuQC13ZWJraXQta2V5ZnJhbWVzIHNsaWRlSW5Eb3duIHtcbiAgZnJvbSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIC0xMDAlLCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIC0xMDAlLCAwKTtcbiAgICB2aXNpYmlsaXR5OiB2aXNpYmxlO1xuICB9XG5cbiAgdG8ge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICB9XG59XG5cbkBrZXlmcmFtZXMgc2xpZGVJbkRvd24ge1xuICBmcm9tIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgLTEwMCUsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgLTEwMCUsIDApO1xuICAgIHZpc2liaWxpdHk6IHZpc2libGU7XG4gIH1cblxuICB0byB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gIH1cbn1cblxuQG1peGluIHNsaWRlSW5Eb3duIHtcbiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogc2xpZGVJbkRvd247XG4gIGFuaW1hdGlvbi1uYW1lOiBzbGlkZUluRG93bjtcbn1cblxuXG5ALXdlYmtpdC1rZXlmcmFtZXMgc2xpZGVJblVwIHtcbiAgZnJvbSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDEwMCUsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMTAwJSwgMCk7XG4gICAgdmlzaWJpbGl0eTogdmlzaWJsZTtcbiAgfVxuXG4gIHRvIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgfVxufVxuXG5Aa2V5ZnJhbWVzIHNsaWRlSW5VcCB7XG4gIGZyb20ge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAxMDAlLCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDEwMCUsIDApO1xuICAgIHZpc2liaWxpdHk6IHZpc2libGU7XG4gIH1cblxuICB0byB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gIH1cbn1cblxuQG1peGluIHNsaWRlSW5VcCB7XG4gIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IHNsaWRlSW5VcDtcbiAgYW5pbWF0aW9uLW5hbWU6IHNsaWRlSW5VcDtcbn1cblxuXG5ALXdlYmtpdC1rZXlmcmFtZXMgYm91bmNlIHtcbiAgMCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICAgIHZpc2liaWxpdHk6IHZpc2libGU7XG4gIH1cbiAgXG4gIDUwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDMwcHgsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMzBweCwgMCk7XG4gICAgdmlzaWJpbGl0eTogdmlzaWJsZTtcbiAgfVxuXG4gIDEwMCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICAgIHZpc2liaWxpdHk6IHZpc2libGU7XG4gIH1cbn1cblxuQGtleWZyYW1lcyBib3VuY2Uge1xuICAwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gICAgdmlzaWJpbGl0eTogdmlzaWJsZTtcbiAgfVxuICBcbiAgNTAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMzBweCwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAzMHB4LCAwKTtcbiAgICB2aXNpYmlsaXR5OiB2aXNpYmxlO1xuICB9XG5cbiAgMTAwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gICAgdmlzaWJpbGl0eTogdmlzaWJsZTtcbiAgfVxufVxuXG5AbWl4aW4gYm91bmNlIHtcbiAgLXdlYmtpdC1hbmltYXRpb246IGJvdW5jZSAzcyBpbmZpbml0ZTtcbiAgICAgICAgICBhbmltYXRpb246IGJvdW5jZSAzcyBpbmZpbml0ZTtcbn1cblxuLy8gY2hhc2luZyBtb29uIGFuaW1hdGlvbnNcbi8vIGFuaW1hdGlvbnMgbGFzdCAzMHNlY29uZHNcbi8vIGxhc3QgMS41c2Vjb25kcyBvZiBhbmltYXRpb24gaXMgdHJhbnNmb3JtIGJhY2t0byBvcmlnaW5hbCBzdGF0ZVxuQC13ZWJraXQta2V5ZnJhbWVzIE1vb25JbWFnZUFuaW1hdGlvbiB7XG4gIDAlIHtcbiAgICBvcGFjaXR5OiAuMTU7XG4gIH1cblxuICA3NSUge1xuICAgIG9wYWNpdHk6IDE7XG4gIH1cbiAgXG4gIDg1JSB7XG4gICAgb3BhY2l0eTogMDtcbiAgfVxuXG4gIDEwMCUge1xuICAgIG9wYWNpdHk6IC4xNTtcbiAgfVxuXG59XG5cbkBrZXlmcmFtZXMgTW9vbkltYWdlQW5pbWF0aW9uIHtcbiAgMCUge1xuICAgIG9wYWNpdHk6IC4xNTtcbiAgfVxuXG4gIDc1JSB7XG4gICAgb3BhY2l0eTogMTtcbiAgfVxuICBcbiAgODUlIHtcbiAgICBvcGFjaXR5OiAwO1xuICB9XG5cbiAgMTAwJSB7XG4gICAgb3BhY2l0eTogLjE1O1xuICB9XG59XG5cbkBtaXhpbiBNb29uSW1hZ2VBbmltYXRpb24ge1xuICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiBNb29uSW1hZ2VBbmltYXRpb247XG4gICAgICAgICAgYW5pbWF0aW9uLW5hbWU6IE1vb25JbWFnZUFuaW1hdGlvbjtcbiAgLXdlYmtpdC1hbmltYXRpb24taXRlcmF0aW9uLWNvdW50OmluZmluaXRlO1xuICAgICAgICAgIGFuaW1hdGlvbi1pdGVyYXRpb24tY291bnQ6aW5maW5pdGU7ICBcbn1cblxuQC13ZWJraXQta2V5ZnJhbWVzIE1vb25HcmFkaWVudFJpc2Uge1xuICAwJSB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApO1xuICB9XG5cbiAgODUlIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMTAwJSk7XG4gIH1cblxuICAxMDAlIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCk7XG4gIH1cbn1cblxuQGtleWZyYW1lcyBNb29uR3JhZGllbnRSaXNlIHtcbiAgMCUge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKTtcbiAgfVxuXG4gIDg1JSB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDEwMCUpO1xuICB9XG5cbiAgMTAwJSB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApO1xuICB9XG59XG5cbkBtaXhpbiBNb29uR3JhZGllbnRSaXNlIHtcbiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogTW9vbkdyYWRpZW50UmlzZTtcbiAgICAgICAgICBhbmltYXRpb24tbmFtZTogTW9vbkdyYWRpZW50UmlzZTtcbiAgLXdlYmtpdC1hbmltYXRpb24taXRlcmF0aW9uLWNvdW50OmluZmluaXRlO1xuICAgICAgICAgIGFuaW1hdGlvbi1pdGVyYXRpb24tY291bnQ6aW5maW5pdGU7ICBcbn1cblxuQC13ZWJraXQta2V5ZnJhbWVzIE1vb25UeXBlUmV2ZWFsIHtcbiAgMCUge1xuICAgIGxldHRlci1zcGFjaW5nOmluaGVyaXQ7XG4gIH1cblxuICA4NSUge1xuICAgIGxldHRlci1zcGFjaW5nOi4xNWVtO1xuICB9XG5cbiAgMTAwJSB7XG4gICAgbGV0dGVyLXNwYWNpbmc6LjE1ZW07XG4gIH1cbn1cblxuQGtleWZyYW1lcyBNb29uVHlwZVJldmVhbCB7XG4gIDAlIHtcbiAgICBsZXR0ZXItc3BhY2luZzppbmhlcml0O1xuICB9XG4gIFxuICA4NSUge1xuICAgIGxldHRlci1zcGFjaW5nOi4xNWVtO1xuICB9XG5cbiAgMTAwJSB7XG4gICAgbGV0dGVyLXNwYWNpbmc6LjE1ZW07XG4gIH1cbn1cblxuXG5AbWl4aW4gTW9vblR5cGVSZXZlYWwge1xuICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiBNb29uVHlwZVJldmVhbDtcbiAgICAgICAgICBhbmltYXRpb24tbmFtZTogTW9vblR5cGVSZXZlYWw7XG4gIC13ZWJraXQtYW5pbWF0aW9uLWl0ZXJhdGlvbi1jb3VudDppbmZpbml0ZTtcbiAgICAgICAgICBhbmltYXRpb24taXRlcmF0aW9uLWNvdW50OmluZmluaXRlOyAgXG59XG5cblxuXG5cblxuIiwiLy8gZm9udC1mYW1pbHk6ICdKb3NlZmluIFNhbnMnLCBzYW5zLXNlcmlmO1xuLy8gZm9udC1mYW1pbHk6ICdNdWxpJywgc2Fucy1zZXJpZjtcbi8vIGZvbnQtZmFtaWx5OiAnUm9ib3RvIFNsYWInLCBzZXJpZjtcblxuLy8gYm9keSBiYXNlXG5ib2R5IHtcbiAgICBmb250LWZhbWlseTogXCJNdWxpXCIsIFwiVHJlYnVjaGV0IE1TXCIsIHNhbnMtc2VyaWY7XG4gICAgbGluZS1oZWlnaHQ6IDEuNjI1O1xuICAgIGZvbnQtc2l6ZTogMWVtO1xuICAgIC13ZWJraXQtZm9udC1zbW9vdGhpbmc6IGFudGlhbGlhc2VkO1xuICAgIC1tb3otZm9udC1zbW9vdGhpbmc6IGFudGlhbGlhc2VkO1xufVxuLy8gYmFzZSBoZWFkaW5nIHN0eWxpbmdcbmgxLFxuaDIsXG5oMyxcbmg0LFxuaDUsXG5oNixcbi5hbHBoYSxcbi5iZXRhLFxuLmdhbW1hLFxuLmRlbHRhLFxuLmVwc2lsb24sXG4uemV0YSB7XG4gICAgbWFyZ2luLXRvcDogMDtcbiAgICBmb250LXdlaWdodDogNzAwO1xufVxuLy8gaDEgaXMgdXNlZCBmb3IgdGhlIHNpdGUgbG9nbyBvbmx5IGZvciBwYWdlIGhlYWRpbmdzIG9yIGNyZWF0aW5nIHRvcCBsZXZlbCBzZWN0aW9uc1xuLy8gdXNlIGgyIG9yIC5iZXRhXG4uYWxwaGEge1xuICAgIGNvbG9yOiAkY2hhcmNvYWw7XG4gICAgZm9udC1zaXplOiAyLjI1ZW07XG4gICAgbGluZS1oZWlnaHQ6IDEuMDU7XG4gICAgJjpiZWZvcmUge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgY29udGVudDogXCJcIjtcbiAgICAgICAgaGVpZ2h0OiAwLjE2NjZlbTtcbiAgICAgICAgd2lkdGg6IDQuMTY3N2VtO1xuICAgICAgICBiYWNrZ3JvdW5kOiAkeWVsbG93O1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAwLjM1ZW07XG4gICAgfVxuICAgICY6YWZ0ZXIge1xuICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgIH1cbn1cblxuaDIsXG4uYmV0YSB7XG4gICAgY29sb3I6ICRjaGFyY29hbDtcbiAgICBmb250LXNpemU6IDJlbTtcbiAgICBtYXJnaW4tYm90dG9tOiAxZW07XG4gICAgbGluZS1oZWlnaHQ6IDEuMDYyNTtcbiAgICAmOmFmdGVyIHtcbiAgICAgICAgbWFyZ2luLXRvcDogMC40ZW07XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgICBoZWlnaHQ6IDAuMTg3NWVtO1xuICAgICAgICB3aWR0aDogMy4xMjVlbTtcbiAgICAgICAgYmFja2dyb3VuZDogJHllbGxvdztcbiAgICB9XG4gICAgJi5hbHRlcm5hdGUge1xuICAgICAgICBwYWRkaW5nOiAwLjVlbSAwIDAuMjVlbTtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMC41ZW07XG5cbiAgICAgICAgJjphZnRlciB7XG4gICAgICAgICAgICBtYXJnaW4tdG9wOiAwO1xuICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgICAgICAgaGVpZ2h0OiAwLjE4NzVlbTtcbiAgICAgICAgICAgIHdpZHRoOiAzLjEyNWVtO1xuICAgICAgICAgICAgYmFja2dyb3VuZDogJGNvcm5mbG93ZXI7XG4gICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICB0b3A6IDAuOGVtO1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMWVtO1xuICAgICAgICB9XG4gICAgfVxufVxuXG4vLyBhbHRlcm5hdGUgbGV2ZWwgdHdvIGhlYWRpbmdcbi5wcmVtaWVyZS1kYXRlIHtcbiAgICBjb2xvcjogJGdyYXk7XG4gICAgZm9udC1zaXplOiAyZW07XG4gICAgbWFyZ2luLWJvdHRvbTogMC41ZW07XG4gICAgbGluZS1oZWlnaHQ6IDEuMDYyNTtcbn1cblxuLm92ZXJsaW5lIHtcbiAgICBtYXJnaW4tYm90dG9tOiAkdi1yaHl0aG07XG4gICAgaDEsXG4gICAgLmFscGhhIHtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDEuMDU7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDAuMmVtO1xuICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICB9XG4gICAgfVxuICAgICY6YmVmb3JlIHtcbiAgICAgICAgbWFyZ2luLXRvcDogMC40ZW07XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDAuNzVlbTtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICAgIGhlaWdodDogMC4zNzVlbTtcbiAgICAgICAgd2lkdGg6IDkuMzc1ZW07XG4gICAgICAgIGJhY2tncm91bmQ6ICR5ZWxsb3c7XG4gICAgfVxufVxuXG4vLyBoZWFkaW5nIGFuaW1hdGlvblxuLmpzIHtcbiAgICAuYWxwaGEsXG4gICAgaDIsXG4gICAgLmJldGEsXG4gICAgLm92ZXJsaW5lIHtcbiAgICAgICAgJjpiZWZvcmUsXG4gICAgICAgICY6YWZ0ZXIge1xuICAgICAgICAgICAgQGluY2x1ZGUgdHJhbnNpdGlvbih3aWR0aCwgMC43NXMsIGVhc2UtaW4tb3V0KTtcbiAgICAgICAgICAgIHdpZHRoOiAwO1xuICAgICAgICB9XG4gICAgfVxuICAgIC5vdmVybGluZSB7XG4gICAgICAgICYuYW5pbWF0ZSB7XG4gICAgICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgICAgICAgd2lkdGg6IDkuMzc1ZW07XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG4gICAgLmFscGhhLFxuICAgIGgyLmFscGhhIHtcbiAgICAgICAgJi5hbmltYXRlIHtcbiAgICAgICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICAgICAgICB3aWR0aDogNC4xNjc3ZW07XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG4gICAgaDIsXG4gICAgLmJldGEge1xuICAgICAgICAmLmFuaW1hdGUge1xuICAgICAgICAgICAgJjphZnRlciB7XG4gICAgICAgICAgICAgICAgd2lkdGg6IDMuMTI1ZW07XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG59XG5cbmgzLFxuLmdhbW1hIHtcbiAgICBsaW5lLWhlaWdodDogMS4yNTtcbiAgICBjb2xvcjogJGNoYXJjb2FsO1xuICAgIGZvbnQtc2l6ZTogMS42MjVlbTtcbn1cblxuaDQsXG4uZGVsdGEge1xuICAgIGNvbG9yOiAkbWVkR3JheTtcbiAgICBmb250LXNpemU6IDEuNWVtO1xuICAgIGxpbmUtaGVpZ2h0OiAxLjA3O1xufVxuXG5oNSxcbi5lcGlzbG9uIHtcbiAgICBjb2xvcjogYmxhY2s7XG4gICAgZm9udC1zaXplOiAxLjM3NWVtO1xuICAgIGxpbmUtaGVpZ2h0OiAxLjA4O1xufVxuXG5oNixcbi56ZXRhIHtcbiAgICBjb2xvcjogJGdyYXk7XG4gICAgZm9udC1mYW1pbHk6IFwiUm9ib3RvIFNsYWJcIiwgc2VyaWY7XG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICBmb250LXNpemU6IDAuODc1ZW07XG4gICAgbGV0dGVyLXNwYWNpbmc6IDAuMDcxNGVtO1xufVxuXG4vLyBjb3B5IGFuZCBsaXN0c1xucCB7XG4gICAgbWFyZ2luOiAwIDAgMS42NjY2NjdlbTtcbiAgICBmb250LXNpemU6IDEuMTI1ZW07XG4gICAgJjplbXB0eSB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxufVxuXG4vLyB0YXJnZXRpbmcgcGx1Z2luIGNvbnRhaW5lciBjbGFzcyBpbmNsdWRlZCBvbiBmZWF0dXJlLWRldGFpbCwgdXRpaWx0eSBwYWdlIGFuZCA0MDQgdGVtcGxhdGVcbi8vIHByZXZlbnRzIGNvbGxpc2lvbnMgd2l0aCBsaXN0cyBzaXRlIHdpZGVcbi5wbHVnaW4tY29udGFpbmVyIHtcbiAgICBvbCxcbiAgICB1bCB7XG4gICAgICAgIGZvbnQtc2l6ZTogMS4xMjVlbTtcbiAgICAgICAgbWFyZ2luOiAwIDAgMS42NjY2NjdlbTtcbiAgICAgICAgcGFkZGluZy1sZWZ0OiAxLjVlbTtcbiAgICAgICAgQGluY2x1ZGUgc3VzeS1icmVha3BvaW50KCRzY3JlZW4tc20tbWluLCAkbWFwLXNtKSB7XG4gICAgICAgICAgICBwYWRkaW5nLWxlZnQ6IDIuNWVtO1xuICAgICAgICB9XG4gICAgICAgIGxpIHtcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDFlbTtcbiAgICAgICAgfVxuICAgIH1cbiAgICBvbCB7XG4gICAgICAgIHBhZGRpbmctbGVmdDogMmVtO1xuICAgICAgICBAaW5jbHVkZSBzdXN5LWJyZWFrcG9pbnQoJHNjcmVlbi1zbS1taW4sICRtYXAtc20pIHtcbiAgICAgICAgICAgIHBhZGRpbmctbGVmdDogM2VtO1xuICAgICAgICB9XG4gICAgfVxuICAgIHVsIHtcbiAgICAgICAgbGlzdC1zdHlsZTogbm9uZTtcbiAgICAgICAgbGkge1xuICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICAgICAgcGFkZGluZy1sZWZ0OiAwLjVlbTtcbiAgICAgICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgICAgIHRvcDogMDtcbiAgICAgICAgICAgICAgICBsZWZ0OiAtMC41ZW07XG4gICAgICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDEuNTtcbiAgICAgICAgICAgICAgICBjb250ZW50OiBcIlxcMjAyMlwiO1xuICAgICAgICAgICAgICAgIGNvbG9yOiAkeWVsbG93O1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxufVxuIiwiLy8gY29sb3JzXG4kY3JpbXNvbjojOGMwMDA3O1xuJHJlZDojYmIwYjBlO1xuJHllbGxvdzojZjNhZDAwO1xuJG11c3RhcmQ6IzgzNWQwMDtcbiRibHVlOiMxNzQxODk7IFxuJGRhcmtCbHVlOiMxMDMwNjY7XG4kbmF2eTojMjQzNzU3O1xuJGNvcm5mbG93ZXI6IzQ4NzJiNDtcbiRjaGFyY29hbDojNDM0MzQzO1xuJGdyYXk6Izc3Nzc3NztcbiRtZWRHcmF5OiM5OTk5OTk7XG4kZGFya0dyYXk6IzMzMztcbiR3YXJtR3JheTojZWJlYmViO1xuJGRvdmU6I2U2ZTZlNjtcbiRvdmVybGF5OiNlM2UzZTM7XG5cblxuLy8gY2hhc2luZyB0aGUgbW9vblxuJGNoYXNpbmdCbHVlOiAjMDAzZmE2O1xuJGNoYXNpbmdIZWF0aGVyOiAjZDZkNmQ2O1xuJGNoYXNpbmdDb3JuZmxvd2VyOiAjMjY3ZGZlO1xuJGNoYXNpbmdTbGF0ZTogIzFjMWMxYztcbiRjaGFzaW5nR3JheTojNWI1YjViO1xuJG5vdEluU3R5bGd1aWRlQnV0SW5TdHlsZ3VpZGU6IzI0MjQyNDtcbiRjaGFzaW5nV3RmQmxhY2s6IzEwMTAxMDtcblxuXG4vLyBicmVha3BvaW50c1xuLy8gNjUwcHhcbiRzY3JlZW4tc20tbWluOjQwLjYyNWVtO1xuLy8gMTEwMHB4XG4kc2NyZWVuLW1kLW1pbjo2OC43NWVtO1xuLy8gMTMwMHB4XG4kc2NyZWVuLWxnLW1pbjo4MS4yNWVtO1xuLy8gMTUzMHB4XG4kc2NyZWVuLWpiLW1pbjo5NS42MjVlbTtcblxuLy8gdmVydGljYWwgcmh5dGhtIHZhci4gdXNlZCB0byBicmVhayB1cCBzZWN0aW9ucyBiYXNlZCBvbiBhIHNjYWxlXG4kdi1yaHl0aG06MS41ZW07XG5cbi8vIHN1c3kgYmFzZSBjb25maWcgZm9yIHNtYWxsZXIgc2NyZWVuc1xuLy8gZ3JpZCBjaGFuZ2VzIGJhc2VkIG9uIHdyYXBwZXIgY2xhc3MgZGVmaW5lZCBpbiBjdXN0b20uc2Nzc1xuJHN1c3k6IChcbiAgY29sdW1uczooMiksXG4gIGNvbnRhaW5lcjo4Ny41ZW0sXG4gIG1hdGg6IGZsdWlkLFxuICBvdXRwdXQ6IGZsb2F0LFxuICAvLyBkZWJ1ZzooaW1hZ2U6c2hvdylcbik7XG5cbiRtYXAtc206IChcbiAgY29sdW1uczooNCksXG4pO1xuXG4kbWFwLW1kOiAoXG4gIGNvbHVtbnM6KDgpLFxuKTtcblxuJG1hcC1sZzogKFxuICBjb2x1bW5zOigxMiksXG4pO1xuXG4vLyBncmlkXG5AbWl4aW4gZ3JpZCgpIHtcbiAgQGluY2x1ZGUgY29udGFpbmVyKCk7XG4gIEBpbmNsdWRlIGNsZWFyZml4KCk7XG4gIHBhZGRpbmc6MCA1JTtcbiAgQGluY2x1ZGUgc3VzeS1icmVha3BvaW50KCRzY3JlZW4tc20tbWluLCAkbWFwLXNtKSB7XG4gICAgQGluY2x1ZGUgc2hvdy1ncmlkKDQpO1xuICB9XG5cbiAgQGluY2x1ZGUgc3VzeS1icmVha3BvaW50KCRzY3JlZW4tbWQtbWluLCAkbWFwLW1kKSB7XG4gICAgQGluY2x1ZGUgc2hvdy1ncmlkKDgpO1xuICB9XG5cbiAgQGluY2x1ZGUgc3VzeS1icmVha3BvaW50KCRzY3JlZW4tbGctbWluLCAkbWFwLWxnKSB7XG4gICAgQGluY2x1ZGUgc2hvdy1ncmlkKDEyKTtcbiAgfVxuXG4gIEBpbmNsdWRlIHN1c3ktYnJlYWtwb2ludCgkc2NyZWVuLWpiLW1pbikge1xuICAgIHBhZGRpbmc6MDtcbiAgfVxufSIsIi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuLy8gRGVmYXVsdCBWYXJpYWJsZXNcbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuJEJyZWFrcG9pbnQtU2V0dGluZ3M6IChcbiAgJ2RlZmF1bHQgbWVkaWEnOiBhbGwsXG4gICdkZWZhdWx0IGZlYXR1cmUnOiBtaW4td2lkdGgsXG4gICdkZWZhdWx0IHBhaXInOiB3aWR0aCxcblxuICAnZm9yY2UgYWxsIG1lZGlhIHR5cGUnOiBmYWxzZSxcbiAgJ3RvIGVtcyc6IGZhbHNlLFxuICAndHJhbnNmb3JtIHJlc29sdXRpb25zJzogdHJ1ZSxcblxuICAnbm8gcXVlcmllcyc6IGZhbHNlLFxuICAnbm8gcXVlcnkgZmFsbGJhY2tzJzogZmFsc2UsXG5cbiAgJ2Jhc2UgZm9udCBzaXplJzogMTZweCxcblxuICAnbGVnYWN5IHN5bnRheCc6IGZhbHNlXG4pO1xuXG4kYnJlYWtwb2ludDogKCkgIWRlZmF1bHQ7XG5cbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuLy8gSW1wb3J0c1xuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG5AaW1wb3J0IFwiYnJlYWtwb2ludC9zZXR0aW5nc1wiO1xuQGltcG9ydCAnYnJlYWtwb2ludC9jb250ZXh0JztcbkBpbXBvcnQgJ2JyZWFrcG9pbnQvaGVscGVycyc7XG5AaW1wb3J0ICdicmVha3BvaW50L3BhcnNlcnMnO1xuQGltcG9ydCAnYnJlYWtwb2ludC9uby1xdWVyeSc7XG5cbkBpbXBvcnQgJ2JyZWFrcG9pbnQvcmVzcG9uZC10byc7XG5cbkBpbXBvcnQgXCJicmVha3BvaW50L2xlZ2FjeS1zZXR0aW5nc1wiO1xuXG4vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cbi8vIEJyZWFrcG9pbnQgTWl4aW5cbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuXG5AbWl4aW4gYnJlYWtwb2ludCgkcXVlcnksICRuby1xdWVyeTogZmFsc2UpIHtcbiAgQGluY2x1ZGUgbGVnYWN5LXNldHRpbmdzLXdhcm5pbmc7XG5cbiAgLy8gUmVzZXQgY29udGV4dHNcbiAgQGluY2x1ZGUgcHJpdmF0ZS1icmVha3BvaW50LXJlc2V0LWNvbnRleHRzKCk7XG5cbiAgJGJyZWFrcG9pbnQ6IGJyZWFrcG9pbnQoJHF1ZXJ5LCBmYWxzZSk7XG5cbiAgJHF1ZXJ5LXN0cmluZzogbWFwLWdldCgkYnJlYWtwb2ludCwgJ3F1ZXJ5Jyk7XG4gICRxdWVyeS1mYWxsYmFjazogbWFwLWdldCgkYnJlYWtwb2ludCwgJ2ZhbGxiYWNrJyk7XG5cbiAgJHByaXZhdGUtYnJlYWtwb2ludC1jb250ZXh0LWhvbGRlcjogbWFwLWdldCgkYnJlYWtwb2ludCwgJ2NvbnRleHQgaG9sZGVyJykgIWdsb2JhbDtcbiAgJHByaXZhdGUtYnJlYWtwb2ludC1xdWVyeS1jb3VudDogbWFwLWdldCgkYnJlYWtwb2ludCwgJ3F1ZXJ5IGNvdW50JykgIWdsb2JhbDtcblxuICAvLyBBbGxvdyBmb3IgYW4gYXMtbmVlZGVkIG92ZXJyaWRlIG9yIHVzYWdlIG9mIG5vIHF1ZXJ5IGZhbGxiYWNrLlxuICBAaWYgJG5vLXF1ZXJ5ICE9IGZhbHNlIHtcbiAgICAkcXVlcnktZmFsbGJhY2s6ICRuby1xdWVyeTtcbiAgfVxuXG4gIEBpZiAkcXVlcnktZmFsbGJhY2sgIT0gZmFsc2Uge1xuICAgICRjb250ZXh0LXNldHRlcjogcHJpdmF0ZS1icmVha3BvaW50LXNldC1jb250ZXh0KCduby1xdWVyeScsICRxdWVyeS1mYWxsYmFjayk7XG4gIH1cblxuICAvLyBQcmludCBPdXQgUXVlcnkgU3RyaW5nXG4gIEBpZiBub3QgYnJlYWtwb2ludC1nZXQoJ25vIHF1ZXJpZXMnKSB7XG4gICAgQG1lZGlhICN7JHF1ZXJ5LXN0cmluZ30ge1xuICAgICAgQGNvbnRlbnQ7XG4gICAgfVxuICB9XG5cbiAgQGlmIGJyZWFrcG9pbnQtZ2V0KCdubyBxdWVyeSBmYWxsYmFja3MnKSAhPSBmYWxzZSBvciBicmVha3BvaW50LWdldCgnbm8gcXVlcmllcycpID09IHRydWUge1xuXG4gICAgJHR5cGU6IHR5cGUtb2YoYnJlYWtwb2ludC1nZXQoJ25vIHF1ZXJ5IGZhbGxiYWNrcycpKTtcbiAgICAkcHJpbnQ6IGZhbHNlO1xuXG4gICAgQGlmICgkdHlwZSA9PSAnYm9vbCcpIHtcbiAgICAgICRwcmludDogdHJ1ZTtcbiAgICB9XG4gICAgQGVsc2UgaWYgKCR0eXBlID09ICdzdHJpbmcnKSB7XG4gICAgICBAaWYgJHF1ZXJ5LWZhbGxiYWNrID09IGJyZWFrcG9pbnQtZ2V0KCdubyBxdWVyeSBmYWxsYmFja3MnKSB7XG4gICAgICAgICRwcmludDogdHJ1ZTtcbiAgICAgIH1cbiAgICB9XG4gICAgQGVsc2UgaWYgKCR0eXBlID09ICdsaXN0Jykge1xuICAgICAgQGVhY2ggJHdyYXBwZXIgaW4gYnJlYWtwb2ludC1nZXQoJ25vIHF1ZXJ5IGZhbGxiYWNrcycpIHtcbiAgICAgICAgQGlmICRxdWVyeS1mYWxsYmFjayA9PSAkd3JhcHBlciB7XG4gICAgICAgICAgJHByaW50OiB0cnVlO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gV3JpdGUgRmFsbGJhY2tcbiAgICBAaWYgKCRxdWVyeS1mYWxsYmFjayAhPSBmYWxzZSkgYW5kICgkcHJpbnQgPT0gdHJ1ZSkge1xuICAgICAgJHR5cGUtZmFsbGJhY2s6IHR5cGUtb2YoJHF1ZXJ5LWZhbGxiYWNrKTtcblxuICAgICAgQGlmICgkdHlwZS1mYWxsYmFjayAhPSAnYm9vbCcpIHtcbiAgICAgICAgI3skcXVlcnktZmFsbGJhY2t9ICYge1xuICAgICAgICAgIEBjb250ZW50O1xuICAgICAgICB9XG4gICAgICB9XG4gICAgICBAZWxzZSB7XG4gICAgICAgIEBjb250ZW50O1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIEBpbmNsdWRlIHByaXZhdGUtYnJlYWtwb2ludC1yZXNldC1jb250ZXh0cygpO1xufVxuXG5cbkBtaXhpbiBtcSgkcXVlcnksICRuby1xdWVyeTogZmFsc2UpIHtcbiAgQGluY2x1ZGUgYnJlYWtwb2ludCgkcXVlcnksICRuby1xdWVyeSkge1xuICAgIEBjb250ZW50O1xuICB9XG59XG4iLCIudHdvLXVwIHtcbiAgICBAaW5jbHVkZSBjbGVhcmZpeDtcbiAgICBsaSB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206ICR2LXJoeXRobSAqIDI7XG4gICAgfVxuICAgIEBpbmNsdWRlIHN1c3ktYnJlYWtwb2ludCgkc2NyZWVuLXNtLW1pbiwgJG1hcC1zbSkge1xuICAgICAgICBsaSB7XG4gICAgICAgICAgICBAaW5jbHVkZSBnYWxsZXJ5KDIgb2YgNCk7XG4gICAgICAgIH1cbiAgICB9XG4gICAgQGluY2x1ZGUgc3VzeS1icmVha3BvaW50KCRzY3JlZW4tbWQtbWluLCAkbWFwLW1kKSB7XG4gICAgICAgIGxpIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIGdhbGxlcnkoNCBvZiA4KTtcbiAgICAgICAgfVxuICAgIH1cbiAgICBAaW5jbHVkZSBzdXN5LWJyZWFrcG9pbnQoJHNjcmVlbi1sZy1taW4sICRtYXAtbGcpIHtcbiAgICAgICAgbGkge1xuICAgICAgICAgICAgQGluY2x1ZGUgZ2FsbGVyeSg2IG9mIDEyKTtcbiAgICAgICAgfVxuICAgIH1cbn1cblxuLnRocmVlLXVwIHtcbiAgICBAaW5jbHVkZSBjbGVhcmZpeDtcblxuICAgIGxpIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogJHYtcmh5dGhtICogMjtcbiAgICB9XG4gICAgQGluY2x1ZGUgc3VzeS1icmVha3BvaW50KCRzY3JlZW4tc20tbWluLCAkbWFwLXNtKSB7XG4gICAgICAgIGxpIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIGdhbGxlcnkoMiBvZiA0KTtcbiAgICAgICAgfVxuICAgIH1cbiAgICBAaW5jbHVkZSBzdXN5LWJyZWFrcG9pbnQoJHNjcmVlbi1tZC1taW4sICRtYXAtbWQpIHtcbiAgICAgICAgbGkge1xuICAgICAgICAgICAgQGluY2x1ZGUgZ2FsbGVyeSgyLjY2NiBvZiA4KTtcbiAgICAgICAgfVxuICAgIH1cbiAgICBAaW5jbHVkZSBzdXN5LWJyZWFrcG9pbnQoJHNjcmVlbi1sZy1taW4sICRtYXAtbGcpIHtcbiAgICAgICAgbGkge1xuICAgICAgICAgICAgQGluY2x1ZGUgZ2FsbGVyeSg0IG9mIDEyKTtcbiAgICAgICAgfVxuICAgIH1cbn1cblxuLmZvdXItdXAge1xuICAgIEBpbmNsdWRlIGNsZWFyZml4O1xuXG4gICAgaDMuZGVsdGEge1xuICAgICAgICBmb250LXNpemU6IDEuMzc1ZW0gIWltcG9ydGFudDtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDEuMSAhaW1wb3J0YW50O1xuICAgIH1cblxuICAgIGxpIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogJHYtcmh5dGhtICogMjtcbiAgICB9XG4gICAgQGluY2x1ZGUgc3VzeS1icmVha3BvaW50KCRzY3JlZW4tc20tbWluLCAkbWFwLXNtKSB7XG4gICAgICAgIGxpIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIGdhbGxlcnkoMiBvZiA0KTtcbiAgICAgICAgfVxuICAgIH1cbiAgICBAaW5jbHVkZSBzdXN5LWJyZWFrcG9pbnQoJHNjcmVlbi1tZC1taW4sICRtYXAtbWQpIHtcbiAgICAgICAgbGkge1xuICAgICAgICAgICAgQGluY2x1ZGUgZ2FsbGVyeSgyLjY2NiBvZiA4KTtcbiAgICAgICAgfVxuICAgIH1cbiAgICBAaW5jbHVkZSBzdXN5LWJyZWFrcG9pbnQoJHNjcmVlbi1sZy1taW4sICRtYXAtbGcpIHtcbiAgICAgICAgbGkge1xuICAgICAgICAgICAgQGluY2x1ZGUgZ2FsbGVyeSgzIG9mIDEyKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHAge1xuICAgICAgICBmb250LXNpemU6IDFlbTtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDEuNTtcbiAgICB9XG59XG5cbi5maXZlLXVwIHtcbiAgICBAaW5jbHVkZSBzdXN5LWJyZWFrcG9pbnQoJHNjcmVlbi1zbS1taW4sICRtYXAtc20pIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogJHYtcmh5dGhtICogMjtcbiAgICAgICAgZGlzcGxheTogZ3JpZDtcbiAgICAgICAgZ3JpZC1nYXA6ICR2LXJoeXRobTtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICAgICAgICBhbGlnbi1jb250ZW50OiBzdGFydDtcbiAgICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiAxZnIgMWZyIDFmciAxZnIgMWZyIDFmcjtcbiAgICB9XG5cbiAgICBAaW5jbHVkZSBzdXN5LWJyZWFrcG9pbnQoJHNjcmVlbi1sZy1taW4sICRtYXAtbGcpIHtcbiAgICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiAxZnIgMWZyIDFmciAxZnI7XG4gICAgfVxuXG4gICAgaDMuZGVsdGEge1xuICAgICAgICBmb250LXNpemU6IDEuMzc1ZW0gIWltcG9ydGFudDtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDEuMSAhaW1wb3J0YW50O1xuICAgIH1cblxuICAgIGxpIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogJHYtcmh5dGhtO1xuICAgICAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuXG4gICAgICAgICY6bnRoLWNoaWxkKDEpIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIHN1c3ktYnJlYWtwb2ludCgkc2NyZWVuLXNtLW1pbiwgJG1hcC1zbSkge1xuICAgICAgICAgICAgICAgIGdyaWQtY29sdW1uOiAxIC8gc3BhbiAzO1xuICAgICAgICAgICAgICAgIGdyaWQtcm93OiAxO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBAaW5jbHVkZSBzdXN5LWJyZWFrcG9pbnQoJHNjcmVlbi1tZC1taW4sICRtYXAtbWQpIHtcbiAgICAgICAgICAgICAgICBncmlkLWNvbHVtbjogMSAvIHNwYW4gMjtcbiAgICAgICAgICAgICAgICBncmlkLXJvdzogMTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgQGluY2x1ZGUgc3VzeS1icmVha3BvaW50KCRzY3JlZW4tbGctbWluLCAkbWFwLWxnKSB7XG4gICAgICAgICAgICAgICAgZ3JpZC1jb2x1bW46IDEgLyAyO1xuICAgICAgICAgICAgICAgIGdyaWQtcm93OiAxO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgJjpudGgtY2hpbGQoMikge1xuICAgICAgICAgICAgQGluY2x1ZGUgc3VzeS1icmVha3BvaW50KCRzY3JlZW4tc20tbWluLCAkbWFwLXNtKSB7XG4gICAgICAgICAgICAgICAgZ3JpZC1jb2x1bW46IDQgLyBzcGFuIDM7XG4gICAgICAgICAgICAgICAgZ3JpZC1yb3c6IDE7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIEBpbmNsdWRlIHN1c3ktYnJlYWtwb2ludCgkc2NyZWVuLW1kLW1pbiwgJG1hcC1tZCkge1xuICAgICAgICAgICAgICAgIGdyaWQtY29sdW1uOiAzIC8gc3BhbiAyO1xuICAgICAgICAgICAgICAgIGdyaWQtcm93OiAxO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBAaW5jbHVkZSBzdXN5LWJyZWFrcG9pbnQoJHNjcmVlbi1sZy1taW4sICRtYXAtbGcpIHtcbiAgICAgICAgICAgICAgICBncmlkLWNvbHVtbjogMiAvIDM7XG4gICAgICAgICAgICAgICAgZ3JpZC1yb3c6IDE7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAmOm50aC1jaGlsZCgzKSB7XG4gICAgICAgICAgICBAaW5jbHVkZSBzdXN5LWJyZWFrcG9pbnQoJHNjcmVlbi1zbS1taW4sICRtYXAtc20pIHtcbiAgICAgICAgICAgICAgICBncmlkLWNvbHVtbjogMSAvIHNwYW4gMztcbiAgICAgICAgICAgICAgICBncmlkLXJvdzogMjtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgQGluY2x1ZGUgc3VzeS1icmVha3BvaW50KCRzY3JlZW4tbWQtbWluLCAkbWFwLW1kKSB7XG4gICAgICAgICAgICAgICAgZ3JpZC1jb2x1bW46IDUgLyBzcGFuIDI7XG4gICAgICAgICAgICAgICAgZ3JpZC1yb3c6IDE7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIEBpbmNsdWRlIHN1c3ktYnJlYWtwb2ludCgkc2NyZWVuLWxnLW1pbiwgJG1hcC1sZykge1xuICAgICAgICAgICAgICAgIGdyaWQtY29sdW1uOiAxIC8gMTtcbiAgICAgICAgICAgICAgICBncmlkLXJvdzogMjtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgICY6bnRoLWNoaWxkKDQpIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIHN1c3ktYnJlYWtwb2ludCgkc2NyZWVuLXNtLW1pbiwgJG1hcC1zbSkge1xuICAgICAgICAgICAgICAgIGdyaWQtY29sdW1uOiA0IC8gc3BhbiAzO1xuICAgICAgICAgICAgICAgIGdyaWQtcm93OiAyO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBAaW5jbHVkZSBzdXN5LWJyZWFrcG9pbnQoJHNjcmVlbi1tZC1taW4sICRtYXAtbWQpIHtcbiAgICAgICAgICAgICAgICBncmlkLWNvbHVtbjogMSAvIHNwYW4gMztcbiAgICAgICAgICAgICAgICBncmlkLXJvdzogMjtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgQGluY2x1ZGUgc3VzeS1icmVha3BvaW50KCRzY3JlZW4tbGctbWluLCAkbWFwLWxnKSB7XG4gICAgICAgICAgICAgICAgZ3JpZC1jb2x1bW46IDIgLyAzO1xuICAgICAgICAgICAgICAgIGdyaWQtcm93OiAyO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgJjpudGgtY2hpbGQoNSkge1xuICAgICAgICAgICAgQGluY2x1ZGUgc3VzeS1icmVha3BvaW50KCRzY3JlZW4tc20tbWluLCAkbWFwLXNtKSB7XG4gICAgICAgICAgICAgICAgZ3JpZC1jb2x1bW46IDEgLyBzcGFuIDY7XG4gICAgICAgICAgICAgICAgZ3JpZC1yb3c6IDM7XG4gICAgICAgICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgQGluY2x1ZGUgc3VzeS1icmVha3BvaW50KCRzY3JlZW4tbWQtbWluLCAkbWFwLW1kKSB7XG4gICAgICAgICAgICAgICAgZ3JpZC1jb2x1bW46IDQgLyBzcGFuIDM7XG4gICAgICAgICAgICAgICAgZ3JpZC1yb3c6IDI7XG4gICAgICAgICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgQGluY2x1ZGUgc3VzeS1icmVha3BvaW50KCRzY3JlZW4tbGctbWluLCAkbWFwLWxnKSB7XG4gICAgICAgICAgICAgICAgZ3JpZC1jb2x1bW46IDMgLyBzcGFuIDI7XG4gICAgICAgICAgICAgICAgZ3JpZC1yb3c6IDEgLyBzcGFuIDI7XG4gICAgICAgICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIHAge1xuICAgICAgICAgICAgZm9udC1zaXplOiAxZW07XG4gICAgICAgICAgICBsaW5lLWhlaWdodDogMS41O1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLy8gTm8gR3JpZCBGYWxsYmFja1xuICAgIEBzdXBwb3J0cyBub3QgKGRpc3BsYXk6IGdyaWQpIHtcbiAgICAgICAgQGluY2x1ZGUgY2xlYXJmaXg7XG5cbiAgICAgICAgbGkge1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogJHYtcmh5dGhtICogMjtcbiAgICAgICAgfVxuXG4gICAgICAgIEBpbmNsdWRlIHN1c3ktYnJlYWtwb2ludCgkc2NyZWVuLXNtLW1pbiwgJG1hcC1zbSkge1xuICAgICAgICAgICAgbGkge1xuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGdhbGxlcnkoMiBvZiA0KTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIEBpbmNsdWRlIHN1c3ktYnJlYWtwb2ludCgkc2NyZWVuLW1kLW1pbiwgJG1hcC1tZCkge1xuICAgICAgICAgICAgbGkge1xuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGdhbGxlcnkoMi42NjYgb2YgOCk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICBAaW5jbHVkZSBzdXN5LWJyZWFrcG9pbnQoJHNjcmVlbi1sZy1taW4sICRtYXAtbGcpIHtcbiAgICAgICAgICAgIGxpIHtcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBnYWxsZXJ5KDQgb2YgMTIpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxufVxuXG4uc2l4LXVwIHtcbiAgICBsaSB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206ICR2LXJoeXRobSAqIDI7XG5cbiAgICAgICAgcCB7XG4gICAgICAgICAgICBmb250LXNpemU6IDFlbTtcbiAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAxLjU7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBAaW5jbHVkZSBzdXN5LWJyZWFrcG9pbnQoJHNjcmVlbi1zbS1taW4sICRtYXAtc20pIHtcbiAgICAgICAgbGkge1xuICAgICAgICAgICAgQGluY2x1ZGUgZ2FsbGVyeSgyIG9mIDQpO1xuICAgICAgICB9XG4gICAgfVxuICAgIEBpbmNsdWRlIHN1c3ktYnJlYWtwb2ludCgkc2NyZWVuLW1kLW1pbiwgJG1hcC1tZCkge1xuICAgICAgICBsaSB7XG4gICAgICAgICAgICBAaW5jbHVkZSBnYWxsZXJ5KDMgb2YgOSk7XG4gICAgICAgIH1cbiAgICB9XG4gICAgQGluY2x1ZGUgc3VzeS1icmVha3BvaW50KCRzY3JlZW4tbGctbWluLCAkbWFwLWxnKSB7XG4gICAgICAgIGxpIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIGdhbGxlcnkoMyBvZiAxMik7XG5cbiAgICAgICAgICAgICY6bnRoLWNoaWxkKDUpLFxuICAgICAgICAgICAgJjpudGgtY2hpbGQoNikge1xuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGdhbGxlcnkoMiBvZiA0KTtcblxuICAgICAgICAgICAgICAgIHAge1xuICAgICAgICAgICAgICAgICAgICBmb250LXNpemU6IDEuMTI1ZW07XG4gICAgICAgICAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAxLjYyNTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG59XG4iLCIvLyByZW0gU3VwcG9ydFxuLy8gPT09PT09PT09PT1cblxuLy8gcmVtXG4vLyAtLS1cbi8vIENoZWNrIGZvciBhbiBleGlzdGluZyBzdXBwb3J0IG1peGluLCBvciBvdXRwdXQgZGlyZWN0bHkuXG4vLyAtICRwcm9wICA6IDxjc3MgcHJvcGVydHk+XG4vLyAtICR2YWwgICA6IDxjc3MgdmFsdWU+XG5AbWl4aW4gc3VzeS1yZW0oXG4gICRwcm9wLFxuICAkdmFsXG4pIHtcbiAgJF9yZXFzOiAoXG4gICAgdmFyaWFibGU6IHJoeXRobS11bml0IHJlbS13aXRoLXB4LWZhbGxiYWNrLFxuICAgIG1peGluOiByZW0sXG4gICk7XG4gIEBpZiBzdXN5LXN1cHBvcnQocmVtLCAkX3JlcXMsICR3YXJuOiBmYWxzZSkgYW5kICRyaHl0aG0tdW5pdCA9PSByZW0ge1xuICAgIEBpbmNsdWRlIHJlbSgkcHJvcCwgJHZhbCk7XG4gIH0gQGVsc2Uge1xuICAgICN7JHByb3B9OiAkdmFsO1xuICB9XG59XG4iLCIvLyBGbG9hdCBTcGFuIEFQSVxuLy8gPT09PT09PT09PT09PT1cblxuLy8gRmxvYXQgU3BhbiBPdXRwdXRcbi8vIC0tLS0tLS0tLS0tLS0tLS0tXG4vLyAtICR3aWR0aCAgICAgICAgICAgICA6IDxsZW5ndGg+XG4vLyAtIFskZmxvYXRdICAgICAgICAgICA6IGZyb20gfCB0b1xuLy8gLSBbJG1hcmdpbi1iZWZvcmVdICAgOiA8bGVuZ3RoPlxuLy8gLSBbJG1hcmdpbi1hZnRlcl0gICAgOiA8bGVuZ3RoPlxuLy8gLSBbJHBhZGRpbmctYmVmb3JlXSAgOiA8bGVuZ3RoPlxuLy8gLSBbJHBhZGRpbmctYWZ0ZXJdICAgOiA8bGVuZ3RoPlxuLy8gLSBbJGZsb3ddICAgICAgICAgICAgOiBsdHIgfCBydGxcbkBtaXhpbiBmbG9hdC1zcGFuLW91dHB1dChcbiAgJHdpZHRoLFxuICAkZmxvYXQgICAgICAgICAgICA6IGZyb20sXG4gICRtYXJnaW4tYmVmb3JlICAgIDogbnVsbCxcbiAgJG1hcmdpbi1hZnRlciAgICAgOiBudWxsLFxuICAkcGFkZGluZy1iZWZvcmUgICA6IG51bGwsXG4gICRwYWRkaW5nLWFmdGVyICAgIDogbnVsbCxcbiAgJGZsb3cgICAgICAgICAgICAgOiBtYXAtZ2V0KCRzdXN5LWRlZmF1bHRzLCBmbG93KVxuKSB7XG4gICR0byAgICAgOiB0bygkZmxvdyk7XG4gICRmcm9tICAgOiBmcm9tKCRmbG93KTtcblxuICAkb3V0cHV0OiAoXG4gICAgd2lkdGg6ICR3aWR0aCxcbiAgICBmbG9hdDogaWYoJGZsb2F0ID09IHRvLCAkdG8sIG51bGwpIG9yIGlmKCRmbG9hdCA9PSBmcm9tLCAkZnJvbSwgbnVsbCksXG4gICAgbWFyZ2luLSN7JGZyb219OiAkbWFyZ2luLWJlZm9yZSxcbiAgICBtYXJnaW4tI3skdG99OiAkbWFyZ2luLWFmdGVyLFxuICAgIHBhZGRpbmctI3skZnJvbX06ICRwYWRkaW5nLWJlZm9yZSxcbiAgICBwYWRkaW5nLSN7JHRvfTogJHBhZGRpbmctYWZ0ZXIsXG4gICk7XG5cbiAgQGluY2x1ZGUgb3V0cHV0KCRvdXRwdXQpO1xufVxuIiwiLy8gR2FsbGVyeSBTeW50YXhcbi8vID09PT09PT09PT09PT09XG5cbi8vIEdhbGxlcnlcbi8vIC0tLS0tLS1cbi8vIENyZWF0ZSBhbiBpc29sYXRlZCBnYWxsZXJ5XG4vLyAtICRzcGFuICAgICAgICA6IDxzcGFuPlxuLy8gLSBbJHNlbGVjdG9yXSAgOiBjaGlsZCB8IG9mLXR5cGVcbkBtaXhpbiBnYWxsZXJ5KFxuICAkc3BhbixcbiAgJHNlbGVjdG9yOiBjaGlsZFxuKSB7XG4gICRpbnNwZWN0ICAgIDogJHNwYW47XG4gICRzcGFuICAgICAgIDogcGFyc2Utc3Bhbigkc3Bhbik7XG4gICRzcGFuICAgICAgIDogbWFwLW1lcmdlKCRzcGFuLCAobG9jYXRpb246IDEpKTtcblxuICAkbiAgICAgICAgICAgIDogc3VzeS1nZXQoc3BhbiwgJHNwYW4pO1xuICAkY29sdW1ucyAgICAgIDogc3VzeS1nZXQoY29sdW1ucywgJHNwYW4pO1xuICAkY29udGV4dCAgICAgIDogc3VzeS1jb3VudCgkY29sdW1ucyk7XG4gICRmbG93ICAgICAgICAgOiBzdXN5LWdldChmbG93LCAkc3Bhbik7XG5cbiAgJGluc2lkZSAgICAgICA6IGlzLWluc2lkZSgkc3Bhbik7XG4gICRmcm9tICAgICAgICAgOiBmcm9tKCRmbG93KTtcbiAgJGxpbmUgICAgICAgICA6IGZsb29yKCRjb250ZXh0IC8gJG4pO1xuICAkc3ltbWV0cmljYWwgIDogaXMtc3ltbWV0cmljYWwoJGNvbHVtbnMpO1xuXG4gICRvdXRwdXQ6IChcbiAgICB3aWR0aCAgICAgICAgICAgICA6IG51bGwsXG4gICAgZmxvYXQgICAgICAgICAgICAgOiBmcm9tLFxuICAgIG1hcmdpbi1iZWZvcmUgICAgIDogbnVsbCxcbiAgICBtYXJnaW4tYWZ0ZXIgICAgICA6IG51bGwsXG4gICAgcGFkZGluZy1iZWZvcmUgICAgOiBudWxsLFxuICAgIHBhZGRpbmctYWZ0ZXIgICAgIDogbnVsbCxcbiAgICBmbG93ICAgICAgICAgICAgICA6ICRmbG93LFxuICApO1xuXG4gIEBpZiAkaW5zaWRlIHtcbiAgICAkZ3V0dGVyczogZ2V0LWd1dHRlcnMoJHNwYW4pO1xuICAgICRvdXRwdXQ6IG1hcC1tZXJnZSgkb3V0cHV0LCAoXG4gICAgICBwYWRkaW5nLWJlZm9yZTogbWFwLWdldCgkZ3V0dGVycywgYmVmb3JlKSxcbiAgICAgIHBhZGRpbmctYWZ0ZXI6IG1hcC1nZXQoJGd1dHRlcnMsIGFmdGVyKSxcbiAgICApKTtcbiAgfVxuXG4gIEBpZiAkc3ltbWV0cmljYWwge1xuICAgICRvdXRwdXQ6IG1hcC1tZXJnZSgkb3V0cHV0LCAod2lkdGg6IGdldC1zcGFuLXdpZHRoKCRzcGFuKSkpO1xuICB9XG5cbiAgJGJveCAgICAgICAgICA6IHN1c3ktZ2V0KGJveC1zaXppbmcsICRzcGFuKTtcbiAgJGdsb2JhbC1ib3ggICA6IGlmKHN1c3ktZ2V0KGdsb2JhbC1ib3gtc2l6aW5nKSA9PSAnYm9yZGVyLWJveCcsIHRydWUsIGZhbHNlKTtcblxuICBAaW5jbHVkZSBzdXN5LWluc3BlY3QoZ2FsbGVyeSwgJGluc3BlY3QpO1xuXG4gIC8vIENvbGxlY3RpdmUgT3V0cHV0XG4gIEBpZiAkYm94ID09IGJvcmRlci1ib3ggb3IgKCRpbnNpZGUgYW5kIG5vdCgkYm94KSBhbmQgbm90KCRnbG9iYWwtYm94KSkge1xuICAgIEBpbmNsdWRlIG91dHB1dCgoYm94LXNpemluZzogYm9yZGVyLWJveCkpO1xuICB9IEBlbHNlIGlmICRib3ggPT0gY29udGVudC1ib3gge1xuICAgIEBpbmNsdWRlIG91dHB1dCgoYm94LXNpemluZzogY29udGVudC1ib3gpKTtcbiAgfVxuXG4gIEBpbmNsdWRlIGZsb2F0LXNwYW4tb3V0cHV0KCRvdXRwdXQuLi4pO1xuXG4gIC8vIEluZGl2aWR1YWwgTG9vcFxuICBAZm9yICRpdGVtIGZyb20gMSB0aHJvdWdoICRsaW5lIHtcbiAgICAkbnRoOiAnI3skbGluZX1uICsgI3skaXRlbX0nO1xuICAgICY6bnRoLSN7JHNlbGVjdG9yfSgjeyRudGh9KSB7XG4gICAgICAvLyBJbmRpdmlkdWFsIFByZXBcbiAgICAgICRvdXRwdXQ6IChcbiAgICAgICAgd2lkdGggICAgICAgICAgICAgOiBpZigkc3ltbWV0cmljYWwsIG51bGwsIGdldC1zcGFuLXdpZHRoKCRzcGFuKSksXG4gICAgICAgIGZsb2F0ICAgICAgICAgICAgIDogbnVsbCxcbiAgICAgICAgbWFyZ2luLWJlZm9yZSAgICAgOiBnZXQtaXNvbGF0aW9uKCRzcGFuKSxcbiAgICAgICAgbWFyZ2luLWFmdGVyICAgICAgOiAtMTAwJSxcbiAgICAgICAgcGFkZGluZy1iZWZvcmUgICAgOiBudWxsLFxuICAgICAgICBwYWRkaW5nLWFmdGVyICAgICA6IG51bGwsXG4gICAgICAgIGZsb3cgICAgICAgICAgICAgIDogJGZsb3csXG4gICAgICApO1xuXG4gICAgICAvLyBJbmRpdmlkdWFsIE91dHB1dFxuICAgICAgQGluY2x1ZGUgZmxvYXQtc3Bhbi1vdXRwdXQoJG91dHB1dC4uLik7XG5cbiAgICAgIEBpZiBnZXQtZWRnZSgkc3BhbikgPT0gZmlyc3Qge1xuICAgICAgICBAaW5jbHVkZSBicmVhaztcbiAgICAgICAgQGluY2x1ZGUgZmlyc3QoJHNwYW4pO1xuICAgICAgfSBAZWxzZSB7XG4gICAgICAgIEBpbmNsdWRlIG5vYnJlYWs7XG4gICAgICB9XG5cbiAgICAgIC8vIEluZGl2aWR1YWwgTG9jYXRpb24gSW5jcmVtZW50XG4gICAgICAkbG9jYXRpb246IGdldC1sb2NhdGlvbigkc3BhbikgKyAkbjtcbiAgICAgICRsb2NhdGlvbjogaWYoJGxvY2F0aW9uID4gJGNvbnRleHQsIDEsICRsb2NhdGlvbik7XG4gICAgICAkc3BhbjogbWFwLW1lcmdlKCRzcGFuLCAobG9jYXRpb246ICRsb2NhdGlvbikpO1xuICAgIH1cbiAgfVxufVxuIiwiLy8gUm93IFN0YXJ0ICYgRW5kXG4vLyA9PT09PT09PT09PT09PT1cblxuLy8gQnJlYWtcbi8vIC0tLS0tXG4vLyBBcHBseSB0byBhbnkgZWxlbWVudCB0aGF0IHNob3VsZCBmb3JjZSBhIGxpbmUgYnJlYWsuXG5AbWl4aW4gYnJlYWsge1xuICBAaW5jbHVkZSBvdXRwdXQoKGNsZWFyOiBib3RoKSk7XG59XG5cblxuLy8gTm9CcmVha1xuLy8gLS0tLS0tLVxuLy8gQ2FuY2VsIHRoZSBicmVhaygpIGVmZmVjdCwgZS5nLiB3aGVuIHVzaW5nIG1lZGlhIHF1ZXJpZXMuXG5AbWl4aW4gbm9icmVhayB7XG4gIEBpbmNsdWRlIG91dHB1dCgoY2xlYXI6IG5vbmUpKTtcbn1cblxuXG4vLyBGdWxsXG4vLyAtLS0tXG4vLyAtIFskY29udGV4dF06IDxsYXlvdXQgc2hvcnRoYW5kPlxuQG1peGluIGZ1bGwoXG4gICRjb250ZXh0OiAkc3VzeVxuKSB7XG4gICRpbnNwZWN0IDogJGNvbnRleHQ7XG4gIEBpbmNsdWRlIHN1c3ktaW5zcGVjdChmdWxsLCAkaW5zcGVjdCk7XG4gIEBpbmNsdWRlIHNwYW4oZnVsbCBvZiBwYXJzZS1ncmlkKCRjb250ZXh0KSBicmVhayk7XG59XG5cblxuLy8gRmlyc3Rcbi8vIC0tLS0tXG4vLyAtIFskY29udGV4dF06IDxzZXR0aW5ncz5cbkBtaXhpbiBmaXJzdChcbiAgJGNvbnRleHQ6ICRzdXN5XG4pIHtcbiAgJGluc3BlY3QgIDogJGNvbnRleHQ7XG4gICRjb250ZXh0ICA6IHBhcnNlLWdyaWQoJGNvbnRleHQpO1xuICAkZmxvdyAgICAgOiBzdXN5LWdldChmbG93LCAkY29udGV4dCk7XG5cbiAgQGluY2x1ZGUgc3VzeS1pbnNwZWN0KGZpcnN0LCAkaW5zcGVjdCk7XG4gIEBpZiBub3QoaXMtc3BsaXQoJGNvbnRleHQpKSB7XG4gICAgQGluY2x1ZGUgZmxvYXQtZmlyc3QoJGZsb3cpO1xuICB9XG59XG5cbkBtaXhpbiBhbHBoYShcbiAgJGNvbnRleHQ6ICRzdXN5XG4pIHtcbiAgQGluY2x1ZGUgZmlyc3QoJGNvbnRleHQpO1xufVxuXG5cbi8vIExhc3Rcbi8vIC0tLS1cbi8vIC0gWyRjb250ZXh0XTogPHNldHRpbmdzPlxuQG1peGluIGxhc3QoXG4gICRjb250ZXh0OiAkc3VzeVxuKSB7XG4gICRpbnNwZWN0ICA6ICRjb250ZXh0O1xuICAkY29udGV4dCAgOiBwYXJzZS1ncmlkKCRjb250ZXh0KTtcblxuICBAaW5jbHVkZSBzdXN5LWluc3BlY3QobGFzdCwgJGluc3BlY3QpO1xuXG4gICRvdXRwdXQ6IChcbiAgICBmbG93OiBzdXN5LWdldChmbG93LCAkY29udGV4dCksXG4gICAgbGFzdC1mbG93OiBzdXN5LWdldChsYXN0LWZsb3csICRjb250ZXh0KSxcbiAgICBtYXJnaW46IGlmKGlzLXNwbGl0KCRjb250ZXh0KSwgbnVsbCwgMCksXG4gICk7XG5cbiAgQGluY2x1ZGUgZmxvYXQtbGFzdCgkb3V0cHV0Li4uKTtcbn1cblxuQG1peGluIG9tZWdhKFxuICAkY29udGV4dDogJHN1c3lcbikge1xuICBAaW5jbHVkZSBsYXN0KCRjb250ZXh0KTtcbn1cblxuXG4vLyBHZXQgRWRnZVxuLy8gLS0tLS0tLS1cbi8vIENhbGN1bGF0ZSBlZGdlIHZhbHVlIGJhc2VkIG9uIGxvY2F0aW9uLCBpZiBwb3NzaWJsZVxuQGZ1bmN0aW9uIGdldC1lZGdlKFxuICAkc3BhblxuKSB7XG4gICRzcGFuICAgICAgIDogcGFyc2Utc3Bhbigkc3Bhbik7XG4gICRlZGdlICAgICAgIDogc3VzeS1nZXQoZWRnZSwgJHNwYW4pO1xuXG4gIEBpZiBub3QoJGVkZ2UpIHtcbiAgICAkY291bnQ6IHN1c3ktY291bnQoc3VzeS1nZXQoY29sdW1ucywgJHNwYW4pKTtcbiAgICAkbG9jYXRpb246IHN1c3ktZ2V0KGxvY2F0aW9uLCAkc3Bhbik7XG4gICAgJG46IHN1c3ktZ2V0KHNwYW4sICRzcGFuKTtcblxuICAgICRudW1iZXI6IGlmKHR5cGUtb2YoJGxvY2F0aW9uKSA9PSBudW1iZXIsIHRydWUsIGZhbHNlKTtcbiAgICAkaW5kZXg6IGlmKCRudW1iZXIgYW5kIHVuaXRsZXNzKCRsb2NhdGlvbiksIHRydWUsIGZhbHNlKTtcblxuICAgIEBpZiAkbiA9PSAkY291bnQge1xuICAgICAgJGVkZ2U6IGZ1bGw7XG4gICAgfSBAZWxzZSBpZiAkbG9jYXRpb24gYW5kICRuIGFuZCAkaW5kZXgge1xuICAgICAgQGlmICRsb2NhdGlvbiA9PSAxIHtcbiAgICAgICAgJGVkZ2U6IGlmKCRuID09ICRjb3VudCwgZnVsbCwgZmlyc3QpO1xuICAgICAgfSBAZWxzZSBpZiAkbG9jYXRpb24gKyAkbiAtIDEgPT0gJGNvdW50IHtcbiAgICAgICAgJGVkZ2U6IGxhc3Q7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgQGlmICRlZGdlID09IGFscGhhIG9yICRlZGdlID09IG9tZWdhIHtcbiAgICAkZWRnZTogaWYoJGVkZ2UgPT0gYWxwaGEsIGZpcnN0LCBsYXN0KTtcbiAgfVxuXG4gIEByZXR1cm4gJGVkZ2U7XG59XG5cblxuLy8gR2V0IExvY2F0aW9uXG4vLyAtLS0tLS0tLS0tLS1cbi8vIENhbGN1bGF0ZSBsb2NhdGlvbiB2YWx1ZSBiYXNlZCBvbiBlZGdlLCBpZiBwb3NzaWJsZVxuQGZ1bmN0aW9uIGdldC1sb2NhdGlvbihcbiAgJHNwYW5cbikge1xuICAkc3BhbiAgICAgICA6IHBhcnNlLXNwYW4oJHNwYW4pO1xuICAkbG9jYXRpb24gICA6IHN1c3ktZ2V0KGxvY2F0aW9uLCAkc3Bhbik7XG4gICRlZGdlICAgICAgIDogZ2V0LWVkZ2UoJHNwYW4pO1xuICAkbiAgICAgICAgICA6IHN1c3ktZ2V0KHNwYW4sICRzcGFuKTtcblxuICBAaWYgJGVkZ2UgYW5kIG5vdCgkbG9jYXRpb24pIGFuZCB0eXBlLW9mKCRuKSA9PSBudW1iZXIgYW5kIHVuaXRsZXNzKCRuKSB7XG4gICAgQGlmICRlZGdlID09IGZpcnN0IHtcbiAgICAgICRsb2NhdGlvbjogMTtcbiAgICB9IEBlbHNlIGlmICRlZGdlID09IGxhc3Qge1xuICAgICAgJGxvY2F0aW9uOiBzdXN5LWNvdW50KHN1c3ktZ2V0KGNvbHVtbnMsICRzcGFuKSkgLSAkbiArIDE7XG4gICAgfVxuICB9XG5cbiAgQHJldHVybiAkbG9jYXRpb25cbn1cbiIsIi8vIEZsb2F0IEVuZHMgQVBJXG4vLyA9PT09PT09PT09PT09PVxuXG4vLyBTdXN5IEVuZCBEZWZhdWx0c1xuLy8gLS0tLS0tLS0tLS0tLS0tLS1cbi8vIC0gUFJJVkFURVxuQGluY2x1ZGUgc3VzeS1kZWZhdWx0cygoXG4gIGxhc3QtZmxvdzogdG8sXG4pKTtcblxuLy8gRmxvYXQgTGFzdFxuLy8gLS0tLS0tLS0tLVxuLy8gLSBbJGZsb3ddICA6IGx0ciB8IHJ0bFxuQG1peGluIGZsb2F0LWxhc3QoXG4gICRmbG93OiBtYXAtZ2V0KCRzdXN5LWRlZmF1bHRzLCBmbG93KSxcbiAgJGxhc3QtZmxvdzogbWFwLWdldCgkc3VzeS1kZWZhdWx0cywgbGFzdC1mbG93KSxcbiAgJG1hcmdpbjogMFxuKSB7XG4gICR0bzogdG8oJGZsb3cpO1xuXG4gICRvdXRwdXQ6IChcbiAgICBmbG9hdDogaWYoJGxhc3QtZmxvdyA9PSB0bywgJHRvLCBudWxsKSxcbiAgICBtYXJnaW4tI3skdG99OiAkbWFyZ2luLFxuICApO1xuXG4gIEBpbmNsdWRlIG91dHB1dCgkb3V0cHV0KTtcbn1cblxuLy8gRmxvYXQgRmlyc3Rcbi8vIC0tLS0tLS0tLS0tXG4vLyAtIFskZmxvd10gIDogbHRyIHwgcnRsXG5AbWl4aW4gZmxvYXQtZmlyc3QoXG4gICRmbG93OiBtYXAtZ2V0KCRzdXN5LWRlZmF1bHRzLCBmbG93KVxuKSB7XG4gICRvdXRwdXQ6IChcbiAgICBtYXJnaW4tI3tmcm9tKCRmbG93KX06IDAsXG4gICk7XG5cbiAgQGluY2x1ZGUgb3V0cHV0KCRvdXRwdXQpO1xufVxuIiwiLnNvY2lhbC1saXN0IHtcbiAgZGlzcGxheTotd2Via2l0LWJveDtcbiAgZGlzcGxheTotbXMtZmxleGJveDtcbiAgZGlzcGxheTpmbGV4O1xuICB0ZXh0LWFsaWduOmNlbnRlcjsgIFxuICBhIHtcbiAgICBkaXNwbGF5OmlubGluZS1ibG9jaztcbiAgICB3aWR0aDoyZW07XG4gICAgaGVpZ2h0OjJlbTtcbiAgICBzdmcge1xuICAgICAgcGF0aCB7XG4gICAgICAgIEBpbmNsdWRlIHRyYW5zaXRpb24oZmlsbCwgLjNzLCBlYXNlLWluLW91dCk7XG4gICAgICB9XG4gICAgfVxuICB9XG4gIGxpIHtcbiAgICBkaXNwbGF5OmlubGluZS1ibG9jaztcbiAgICBwYWRkaW5nOjAgLjI1ZW07XG4gICAgdGV4dC1hbGlnbjpjZW50ZXI7XG4gICAgLXdlYmtpdC1ib3gtZmxleDogMTtcbiAgIC1tcy1mbGV4LXBvc2l0aXZlOiAxO1xuICAgICAgICAgICBmbGV4LWdyb3c6IDE7XG4gIH1cbiAgc3ZnIHtcbiAgICAuYmFja2dyb3VuZCB7XG4gICAgICBmaWxsOiRncmF5OyAgICBcbiAgICB9XG4gICAgLmNvbG9yIHtcbiAgICAgIGZpbGw6d2hpdGU7XG4gICAgfVxuICB9XG59IiwiLnRlYXNlci1saXN0IHtcbiAgQGluY2x1ZGUgcGxhaW4tbGlzdDtcbn1cblxuLnRlYXNlci1pdGVtIHtcbiAgZmlndXJlIHtcbiAgICBtYXJnaW46MCAwIGNhbGMoJHYtcmh5dGhtIC8gMik7XG4gICAgcG9zaXRpb246cmVsYXRpdmU7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICBwYWRkaW5nLWJvdHRvbTo1Ni4yNSU7XG4gICAgYSB7XG4gICAgICBkaXNwbGF5OmJsb2NrO1xuICAgICAgd2lkdGg6MTAwJTtcbiAgICAgIGhlaWdodDoxMDAlO1xuICAgIH1cbiAgICBpbWcgIHtcbiAgICAgIEBpbmNsdWRlIGNlbnRlcjtcbiAgICAgIGRpc3BsYXk6YmxvY2s7XG4gICAgICB3aWR0aDoxMDAlO1xuICAgIH1cbiAgfVxuICBwIHtcbiAgICBtYXJnaW4tYm90dG9tOjA7XG4gIH1cbiAgaDMge1xuICAgIG1hcmdpbi1ib3R0b206Y2FsYygkdi1yaHl0aG0gLyA0KTtcbiAgICAucGFzc3BvcnQtaWNvbiB7XG4gICAgICBtYXgtd2lkdGg6MWVtO1xuICAgICAgbWF4LWhlaWdodDoxZW07XG4gICAgfVxuICB9XG4gIC56ZXRhIHtcbiAgICBtYXJnaW4tYm90dG9tOmNhbGMoJHYtcmh5dGhtIC8gMik7XG4gICAgZGlzcGxheTppbmxpbmUtYmxvY2s7XG4gIH1cbiAgLmljb24ge1xuICAgIHBvc2l0aW9uOmFic29sdXRlO1xuICAgIGJvdHRvbTowO1xuICAgIGxlZnQ6MDtcbiAgICBkaXNwbGF5OmlubGluZS1ibG9jaztcbiAgICB3aWR0aDozLjEyNWVtO1xuICAgIGhlaWdodDozLjEyNWVtO1xuICAgIGJhY2tncm91bmQ6cmdiYSgkYmx1ZSwgLjc1KTtcbiAgICBpbWcge1xuICAgICAgQGluY2x1ZGUgY2VudGVyO1xuICAgICAgbWF4LXdpZHRoOjEuNTYyNWVtO1xuICAgICAgbWF4LWhlaWdodDoxLjU2MjVlbTtcbiAgICAgIHdpZHRoOmF1dG87XG4gICAgICBoZWlnaHQ6YXV0bztcbiAgICB9XG4gIH1cbn1cblxuLmNvbGxlY3Rpb24taXRlbSB7XG4gIGZpZ3VyZSB7XG4gICAgcGFkZGluZy1ib3R0b206MjcuNSU7XG4gIH1cbn1cblxuLmpzIHtcbiAgLnRlYXNlci1pdGVtIHtcbiAgICAmLnNsaWRlLWluLWl0ZW0ge1xuICAgICAgQGluY2x1ZGUgYW5pbWF0ZWQoLjVzKTtcbiAgICAgIEBpbmNsdWRlIHNsaWRlSW5VcDtcbiAgICB9XG4gICAgJi5oaWRkZW4taXRlbSB7XG4gICAgICBkaXNwbGF5Om5vbmU7XG4gICAgfVxuICB9XG59XG4iLCIvLyBHZW5lcmljIFN0eWxpbmcgZm9yIHBsYWNlaG9sZGVycy4gTGF5b3V0IGNhbiBiZSBmb3VuZCBpbiBncmlkIGhlbHBlcnNcbi5wbHVnaW4tYmxvY2ssIC5wbHVnaW4tbGlzdC1ibG9jayB7XG4gICAgQGluY2x1ZGUgY2xlYXJmaXg7XG5cbiAgICBtYXJnaW4tYm90dG9tOiAkdi1yaHl0aG0gKiAyO1xufVxuXG4ucGx1Z2luLWJsb2NrIHtcbiAgICBoMyB7XG4gICAgICAgIGJvcmRlci1ib3R0b206IDAuMDYyNWVtIHNvbGlkICRtZWRHcmF5O1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAkdi1yaHl0aG07XG4gICAgfVxufVxuXG4ucGx1Z2luLWNvbnRhaW5lciB7XG4gICAgaDMge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiBjYWxjKCR2LXJoeXRobSAvIDgpO1xuICAgIH1cbn1cblxuLnBsdWdpbi1saXN0LWJsb2NrIHtcbiAgICB1bCB7XG4gICAgICAgIEBpbmNsdWRlIGNsZWFyZml4O1xuICAgICAgICBAaW5jbHVkZSBwbGFpbi1saXN0O1xuICAgIH1cbn1cblxuLmFscGhhIHtcbiAgICAmICsgLnBsdWdpbi1ibG9jaywgJiArIC5wbHVnaW4tbGlzdC1ibG9jayB7XG4gICAgICAgIG1hcmdpbi10b3A6ICR2LXJoeXRobSAqIDI7XG4gICAgfVxufVxuXG4ucGx1Z2luLWNvbnRhaW5lciB7XG4gICAgZmlndXJlIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMS41ZW07XG5cbiAgICAgICAgaW1nIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICB9XG5cbiAgICAgICAgJi5jZW50ZXIge1xuICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICBtYXJnaW46IDE1cHggYXV0bztcbiAgICAgICAgfVxuICAgIH1cbn1cblxuLy8gamFua3kgb3ZlcmlkZSBvZiBkamFuZ28gaW5saW5lIHN0eWxpbmcgZm9yIGZsb2F0aW5nIHN0dWZmXG4qW3N0eWxlKj1cImZsb2F0OiBsZWZ0XCJdLCAubGVmdCB7XG4gICAgZmxvYXQ6IG5vbmUgIWltcG9ydGFudDtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBtYXJnaW46IDAgYXV0byAoJHYtcmh5dGhtICogMS41KSBhdXRvO1xuXG4gICAgQGluY2x1ZGUgc3VzeS1icmVha3BvaW50KCRzY3JlZW4tc20tbWluLCAkbWFwLXNtKSB7XG4gICAgICAgIGRpc3BsYXk6IGluaGVyaXQ7XG4gICAgICAgIGZsb2F0OiBsZWZ0ICFpbXBvcnRhbnQ7XG4gICAgICAgIG1hcmdpbi1yaWdodDogJHYtcmh5dGhtO1xuICAgICAgICBtYXJnaW4tYm90dG9tOiBjYWxjKCR2LXJoeXRobSAvIDIpICFpbXBvcnRhbnQ7XG4gICAgfVxufVxuXG4qW3N0eWxlKj1cImZsb2F0OiByaWdodFwiXSwgLnJpZ2h0IHtcbiAgICBmbG9hdDogbm9uZSAhaW1wb3J0YW50O1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIG1hcmdpbjogMCBhdXRvICgkdi1yaHl0aG0gKiAxLjUpIGF1dG87XG5cbiAgICBAaW5jbHVkZSBzdXN5LWJyZWFrcG9pbnQoJHNjcmVlbi1zbS1taW4sICRtYXAtc20pIHtcbiAgICAgICAgZGlzcGxheTogaW5oZXJpdDtcbiAgICAgICAgZmxvYXQ6IHJpZ2h0ICFpbXBvcnRhbnQ7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiAkdi1yaHl0aG07XG4gICAgICAgIG1hcmdpbi1ib3R0b206IGNhbGMoJHYtcmh5dGhtIC8gMikgIWltcG9ydGFudDtcbiAgICB9XG59XG5cbi5jZW50ZXIge1xuICAgIG1hcmdpbi1ib3R0b206ICR2LXJoeXRobTtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG59XG4iLCIvKipcbiAqIHdhbGxvcC5jc3NcbiAqXG4gKiBAZmlsZW92ZXJ2aWV3IERlZmF1bHQgc3R5bGVzIGZvciB3YWxsb3Ag4oCTIHJlY29tbWVuZGVkXG4gKlxuICogQGF1dGhvciBQZWRybyBEdWFydGVcbiAqIEBhdXRob3IgaHR0cDovL3BlZHJvZHVhcnRlLm1lL3dhbGxvcFxuICovXG5cbi5jYXJvdXNlbC1jb250YWluZXIge1xuICAgICo6Zm9jdXMge1xuICAgICAgICBvdXRsaW5lOiAwLjEyNWVtIHNvbGlkICR5ZWxsb3c7XG4gICAgfVxuXG4gICAgLmZ1bGwtc2NyZWVuLFxuICAgIC5zbGlkZXMtcGFnaW5hdGlvbiB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxuICAgIC5XYWxsb3AtbGlzdCB7XG4gICAgICAgIGRpc3BsYXk6IGdyaWQ7XG4gICAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KGF1dG8tZmlsbCwgbWlubWF4KDI1MHB4LCAxZnIpKTtcbiAgICAgICAgZ3JpZC1nYXA6IDNweDtcbiAgICAgICAgcGFkZGluZzogMDtcbiAgICAgICAgLldhbGxvcC1pdGVtIHtcbiAgICAgICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIEBpbmNsdWRlIHN1c3ktYnJlYWtwb2ludCgkc2NyZWVuLW1kLW1pbiwgJG1hcC1tZCkge1xuICAgICAgICAgICAgd2lkdGg6IDE1MCU7XG4gICAgICAgICAgICBtYXJnaW4tbGVmdDogLTI1JTtcbiAgICAgICAgfVxuICAgICAgICBAaW5jbHVkZSBzdXN5LWJyZWFrcG9pbnQoJHNjcmVlbi1qYi1taW4sICRtYXAtbGcpIHtcbiAgICAgICAgICAgIHdpZHRoOiAyMDAlO1xuICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IC01MCU7XG4gICAgICAgIH1cbiAgICB9XG59XG5cbi5qcyB7XG4gICAgLy8gYWRkZWQgdG8gZm9yIGV4aXQgYW5pbWF0aW9uc1xuICAgIC5jYXJvdXNlbC1jb250YWluZXIge1xuICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAkdi1yaHl0aG0gKiAyO1xuICAgICAgICBiYWNrZ3JvdW5kOiBibGFjaztcbiAgICAgICAgQGluY2x1ZGUgc3VzeS1icmVha3BvaW50KCRzY3JlZW4tbWQtbWluLCAkbWFwLW1kKSB7XG4gICAgICAgICAgICBwYWRkaW5nLXRvcDogMWVtO1xuICAgICAgICB9XG4gICAgICAgIC5zbGlkZXMtcGFnaW5hdGlvbiB7XG4gICAgICAgICAgICBkaXNwbGF5OiBpbmhlcml0O1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLldhbGxvcC1saXN0IHtcbiAgICAgICAgd2lkdGg6IGluaGVyaXQ7XG4gICAgfVxuXG4gICAgLmNhcm91c2VsIHtcbiAgICAgICAgJi5leHBhbmRlZCB7XG4gICAgICAgICAgICAuc2xpZGVzLXBhZ2luYXRpb24sXG4gICAgICAgICAgICAuZnVsbC1zY3JlZW4ge1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAucGx1Z2luLWNvbnRhaW5lciB7XG4gICAgICAgIC5XYWxsb3Age1xuICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICAgICAgQGluY2x1ZGUgYW5pbWF0ZWQoMC40NXMpO1xuICAgICAgICAgICAgJi5lbnRlcmluZy1mdWxsc2NyZWVuIHtcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBzbGlkZUluRG93bjtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgICYuZXhpdGluZy1mdWxsc2NyZWVuIHtcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBzbGlkZU91dERvd247XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICAmLmVudGVyaW5nLWJhY2sge1xuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGZhZGVJbjtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgICYudmlld2luZy1mdWxsIHtcbiAgICAgICAgICAgICAgICBwb3NpdGlvbjogZml4ZWQ7XG4gICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgICAgIGxlZnQ6IDA7XG4gICAgICAgICAgICAgICAgdG9wOiAwO1xuICAgICAgICAgICAgICAgIHotaW5kZXg6IDIxNDc0ODM2NDc7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZDogYmxhY2s7XG4gICAgICAgICAgICAgICAgYnV0dG9uIHtcbiAgICAgICAgICAgICAgICAgICAgei1pbmRleDogMTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgLnNsaWRlcy1wYWdpbmF0aW9uIHtcbiAgICAgICAgICAgICAgICAgICAgcmlnaHQ6IDIwJTtcbiAgICAgICAgICAgICAgICAgICAgdG9wOiBjYWxjKDc1dmggKyAxZW0pO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAuZnVsbC1zY3JlZW4ge1xuICAgICAgICAgICAgICAgICAgICBsZWZ0OiAyMCU7XG4gICAgICAgICAgICAgICAgICAgIHRvcDogY2FsYyg3NXZoICsgMS4xNWVtKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgLldhbGxvcC1pdGVtIHtcbiAgICAgICAgICAgICAgICAgICAgYm9yZGVyLWJvdHRvbTogbm9uZTtcbiAgICAgICAgICAgICAgICAgICAgY29sb3I6IHdoaXRlO1xuICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgICAgICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgICAgICAgICAgJi5XYWxsb3AtaXRlbS0tY3VycmVudCB7XG4gICAgICAgICAgICAgICAgICAgICAgICBmaWd1cmUge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hcmdpbjogMCBhdXRvO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHdpZHRoOiA2MCU7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgLm1lZGlhLWNvbnRhaW5lciB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaGVpZ2h0OiA3NXZoO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcGFkZGluZy10b3A6IDFlbTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgZmlnY2FwdGlvbiB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hcmdpbjogM2VtIGF1dG8gMCBhdXRvO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwYWRkaW5nOiAwO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYXgtd2lkdGg6IDYwdnc7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIC5zZWUtbW9yZSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxlZnQ6IGNhbGMoMjAlIC0gMC40NWVtKTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdG9wOiBjYWxjKDc1dmggKyA3Ljc1ZW0pO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAuaGlkZS1tb3JlIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmlnaHQ6IDIwJTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgJi5sb25nLWNhcHRpb24ge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmLmV4cGFuZGVkIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZpZ2NhcHRpb24ge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBhZGRpbmctdG9wOiAzZW07XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvKlxuICAgIFRoaXMgZWxlbWVudCBncm91cHMgYWxsIHRoZSBpdGVtcywgYnV0IG5vdCB0aGUgYnV0dG9uc1xuICAgIEl0J3MgYSByZWNvbW1lbmRhdGlvbiBidXQgaXQncyB2ZXJ5IGxpa2VseVxuICAgIHlvdSdsbCB3YW50IHRvIGhpZGUgYW55IG92ZXJmbG93IGZyb20gdGhlIGl0ZW1zXG4gICAgRXNwZWNpYWxseSB3aGVuIGRvaW5nIGFuaW1hdGlvbnMgc3VjaCBhcyBzY2FsZVxuICAgKi9cblxuICAgIC5wbHVnaW4tY29udGFpbmVyIHtcbiAgICAgICAgLldhbGxvcC1saXN0IHtcbiAgICAgICAgICAgIEBpbmNsdWRlIHBsYWluLWxpc3Q7XG4gICAgICAgICAgICBkaXNwbGF5OiBpbmhlcml0O1xuICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC8qXG4gICAgVGhpcyBpcyB0aGUgaXRlbSBlbGVtZW50XG4gICAgQnkgZGVmYXVsdCwgdGhleSBhcmUgYWxsIGhpZGRlbiBhbmRcbiAgICBwb3NpdGlvbmVkIGFic29sdXRlXG4gICAgSSByZWNvbW1lbmQgYWx3YXlzIGhhdmluZyAuV2FsbG9wLWl0ZW0tLWN1cnJlbnRcbiAgICBpbiB5b3VyIG1hcmt1cCBieSBkZWZhdWx0IChwcm9iYWJseSBvbiB0aGUgZmlyc3QgZWxlbWVudClcbiAgICovXG5cbiAgICAucGx1Z2luLWNvbnRhaW5lciB7XG4gICAgICAgIC5XYWxsb3AtaXRlbSB7XG4gICAgICAgICAgICB2aXNpYmlsaXR5OiBoaWRkZW47XG4gICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICB0b3A6IDA7XG4gICAgICAgICAgICBsZWZ0OiAwO1xuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICBwYWRkaW5nLWxlZnQ6IDA7XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgICAgICAgICAgY29sb3I6IHdoaXRlO1xuICAgICAgICAgICAgLm1lZGlhLWNvbnRhaW5lciB7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICAgICAgaGVpZ2h0OiAyNGVtO1xuICAgICAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBzdXN5LWJyZWFrcG9pbnQoJHNjcmVlbi1tZC1taW4sICRtYXAtbWQpIHtcbiAgICAgICAgICAgICAgICAgICAgaGVpZ2h0OiAzMi44MTI1ZW07XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIGltZyB7XG4gICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIGNlbnRlcjtcbiAgICAgICAgICAgICAgICAgICAgbWF4LWhlaWdodDogMTAwJTtcbiAgICAgICAgICAgICAgICAgICAgbWF4LXdpZHRoOiA5MCU7XG4gICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIHN1c3ktYnJlYWtwb2ludCgkc2NyZWVuLW1kLW1pbiwgJG1hcC1tZCkge1xuICAgICAgICAgICAgICAgICAgICAgICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgaDQge1xuICAgICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDAuMjVlbTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5jYXJvdXNlbC1pdGVtLWNhcHRpb24ge1xuICAgICAgICBwYWRkaW5nOiAwLjVlbSAkdi1yaHl0aG07XG4gICAgICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gICAgfVxuXG4gICAgLypcbiAgICBUaGlzIGlzIHRoZSBjdXJyZW50IGl0ZW0gZWxlbWVudFxuICAgIEFsbCB3ZSBkbyBoZXJlLCBpcyBtYWtlIGl0IHZpc2libGUgYWdhaW4gcmVzZXRcbiAgICB0aGUgcG9zaXRpb24gdG8gc3RhdGljLiBDb3VsZCBhbHNvIGJlIHJlbGF0aXZlXG4gICAqL1xuXG4gICAgLnBsdWdpbi1jb250YWluZXIge1xuICAgICAgICAuV2FsbG9wLWl0ZW0tLWN1cnJlbnQge1xuICAgICAgICAgICAgdmlzaWJpbGl0eTogdmlzaWJsZTtcbiAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgICAgIGZpZ3VyZSB7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgICAgICYubG9uZy1jYXB0aW9uIHtcbiAgICAgICAgICAgICAgICAgICAgLmhpZGUtbW9yZSxcbiAgICAgICAgICAgICAgICAgICAgLnNlZS1tb3JlIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgc3VzeS1icmVha3BvaW50KCRzY3JlZW4tbWQtbWluLCAkbWFwLW1kKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBmaWdjYXB0aW9uIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSB0cmFuc2l0aW9uKG1heC1oZWlnaHQsIDFzLCBlYXNlLWluLW91dCk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgbWF4LWhlaWdodDogMTVlbTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgcCB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgbWF4LWhlaWdodDogNC41ZW07XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgbWluLWhlaWdodDogNC41ZW07XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgIC5zZWUtbW9yZSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgcGxhaW4tYnV0dG9uO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIHRyYW5zaXRpb24oY29sb3IsIDAuM3MsIGVhc2UtaW4tb3V0KTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgY29sb3I6ICRyZWQ7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxlZnQ6IGNhbGMoNSUgLSAwLjQ1ZW0pO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRvcDogNDAuMjVlbTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBwYWRkaW5nOiAwIDAuNDVlbTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29sb3I6ICR5ZWxsb3c7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgLmhpZGUtbW9yZSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgcGxhaW4tYnV0dG9uO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIHRyYW5zaXRpb24oYWxsLCAwLjNzLCBlYXNlLWluLW91dCk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIG9wYWNpdHk6IDA7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgd2lkdGg6IDJlbTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBoZWlnaHQ6IDJlbTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgcmlnaHQ6IDUlO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHotaW5kZXg6IDE7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3ZnIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZpbGw6ICR5ZWxsb3c7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgc3ZnIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgdHJhbnNpdGlvbihmaWxsLCAwLjNzLCBlYXNlLWluLW91dCk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIGNlbnRlcjtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1heC13aWR0aDogMWVtO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYXgtaGVpZ2h0OiAxZW07XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZpbGw6IHdoaXRlO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgICYuZXhwYW5kZWQge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBhZGRpbmctYm90dG9tOiA4LjU1ZW07XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgZmlnY2FwdGlvbiB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1heC1oZWlnaHQ6IDEwMCU7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcGFkZGluZzogJHYtcmh5dGhtICogMiA1JSAkdi1yaHl0aG0gNSU7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1heC13aWR0aDogaW5oZXJpdDtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYm90dG9tOiAwO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBwIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWF4LWhlaWdodDogaW5oZXJpdDtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgLmhpZGUtbW9yZSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgLnNlZS1tb3JlIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgaW1nIHtcbiAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGg0IHtcbiAgICAgICAgICAgICAgICBjb2xvcjogd2hpdGU7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBmaWdjYXB0aW9uLFxuICAgICAgICAgICAgLmNhcHRpb24ge1xuICAgICAgICAgICAgICAgIHBhZGRpbmc6ICR2LXJoeXRobSAwIDAgMDtcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiByZ2JhKGJsYWNrLCAwLjc1KTtcbiAgICAgICAgICAgICAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAgICAgICAgICAgICAgIGNvbG9yOiB3aGl0ZTtcbiAgICAgICAgICAgICAgICBmb250LXN0eWxlOiBub3JtYWw7XG4gICAgICAgICAgICAgICAgbWF4LXdpZHRoOiA5MCU7XG4gICAgICAgICAgICAgICAgbWFyZ2luOiAxLjVlbSBhdXRvIDAgYXV0bztcbiAgICAgICAgICAgICAgICBwIHtcbiAgICAgICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMC41NWVtO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBzcGFuIHtcbiAgICAgICAgICAgICAgICAgICAgaGVpZ2h0OiBhdXRvO1xuICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgICAgICAgICAgbWFyZ2luLXRvcDogJHYtcmh5dGhtICogMjtcbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAmLmNyZWRpdCB7XG4gICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgICAgICAgICAgICAgIHBhZGRpbmc6IDAgMCAwIDMwcHggIWltcG9ydGFudDtcblxuICAgICAgICAgICAgICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICAgICAgICAgICAgICB3aWR0aDogMjBweDtcbiAgICAgICAgICAgICAgICAgICAgICAgIGhlaWdodDogMjBweDtcbiAgICAgICAgICAgICAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgICAgICAgICAgICAgIGxlZnQ6IDA7XG4gICAgICAgICAgICAgICAgICAgICAgICB0b3A6IDNweDtcbiAgICAgICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6IHVybCguLi9pbWFnZXMvaWNvbi1jYW1lcmEuc3ZnKSBuby1yZXBlYXQgbGVmdCB0b3A7XG4gICAgICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLXNpemU6IGNvbnRhaW47XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAuV2FsbG9wLWJ1dHRvblByZXZpb3VzLFxuICAgIC5XYWxsb3AtYnV0dG9uTmV4dCB7XG4gICAgICAgIEBpbmNsdWRlIHBsYWluLWJ1dHRvbjtcbiAgICAgICAgc3ZnIHtcbiAgICAgICAgICAgIGhlaWdodDogMWVtO1xuICAgICAgICAgICAgd2lkdGg6IDFlbTtcbiAgICAgICAgICAgIHBhdGgge1xuICAgICAgICAgICAgICAgIEBpbmNsdWRlIHRyYW5zaXRpb24oZmlsbCwgMC4zcywgZWFzZS1pbi1vdXQpO1xuICAgICAgICAgICAgICAgIGZpbGw6IHdoaXRlO1xuICAgICAgICAgICAgICAgIG9wYWNpdHk6IDAuODU7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgICBzdmcge1xuICAgICAgICAgICAgICAgIHBhdGgge1xuICAgICAgICAgICAgICAgICAgICBmaWxsOiAkeWVsbG93O1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5mdWxsLXNjcmVlbiB7XG4gICAgICAgIEBpbmNsdWRlIGJ1dHRvbihudWxsLCAkbWVkR3JheSk7XG4gICAgICAgIEBpbmNsdWRlIHRyYW5zaXRpb24oY29sb3IsIDAuM3MsIGVhc2UtaW4tb3V0KTtcbiAgICAgICAgYmFja2dyb3VuZDogbm9uZTtcbiAgICAgICAgcGFkZGluZzogMC4zZW0gMC40NWVtIDAuNWVtIDAuNDVlbTtcbiAgICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICAgICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICB0b3A6IDM3LjVlbTtcbiAgICAgICAgbGVmdDogNSU7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAwO1xuICAgICAgICB6LWluZGV4OiAxO1xuICAgICAgICBAaW5jbHVkZSBzdXN5LWJyZWFrcG9pbnQoJHNjcmVlbi1tZC1taW4sICRtYXAtbWQpIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgfVxuICAgICAgICAuZnVsbC1zY3JlZW4taWNvbiB7XG4gICAgICAgICAgICBAaW5jbHVkZSB0cmFuc2l0aW9uKGZpbGwsIDAuM3MsIGVhc2UtaW4tb3V0KTtcbiAgICAgICAgICAgIGZpbGw6IHdoaXRlO1xuICAgICAgICAgICAgd2lkdGg6IDEuMjVlbTtcbiAgICAgICAgICAgIGhlaWdodDogMS4yNWVtO1xuICAgICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiAwLjVlbTtcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IC0wLjA1ZW07XG4gICAgICAgIH1cbiAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgICBjb2xvcjogJHllbGxvdztcbiAgICAgICAgICAgIC5mdWxsLXNjcmVlbi1pY29uIHtcbiAgICAgICAgICAgICAgICBmaWxsOiAkeWVsbG93O1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgLnNsaWRlcy1wYWdpbmF0aW9uIHtcbiAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHRvcDogMjcuNzVlbTtcbiAgICAgICAgcmlnaHQ6IDUlO1xuICAgICAgICBmb250LXdlaWdodDogNzAwO1xuICAgICAgICB6LWluZGV4OiAxO1xuICAgICAgICBAaW5jbHVkZSBzdXN5LWJyZWFrcG9pbnQoJHNjcmVlbi1tZC1taW4sICRtYXAtbWQpIHtcbiAgICAgICAgICAgIHRvcDogMzcuNzVlbTtcbiAgICAgICAgfVxuICAgICAgICAuY291bnQge1xuICAgICAgICAgICAgY29sb3I6ICRtZWRHcmF5O1xuICAgICAgICAgICAgZmxvYXQ6IGxlZnQ7XG4gICAgICAgICAgICBtYXJnaW46IC0wLjA1ZW0gMWVtIDAgMDtcbiAgICAgICAgfVxuICAgICAgICBidXR0b24ge1xuICAgICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICAgICAgJjpmaXJzdC1vZi10eXBlIHtcbiAgICAgICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDAuNzVlbTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbiAgICAucGx1Z2luLWNvbnRhaW5lciB7XG4gICAgICAgIC52aWRlby1nYWxsZXJ5IHtcbiAgICAgICAgICAgIG1heC13aWR0aDogNDRlbTtcbiAgICAgICAgICAgIG1hcmdpbjogMCBhdXRvO1xuICAgICAgICAgICAgLnNsaWRlcy1wYWdpbmF0aW9uLFxuICAgICAgICAgICAgLmZ1bGwtc2NyZWVuIHtcbiAgICAgICAgICAgICAgICB0b3A6IDAuNWVtO1xuICAgICAgICAgICAgICAgIEBpbmNsdWRlIHN1c3ktYnJlYWtwb2ludCgkc2NyZWVuLW1kLW1pbiwgJG1hcC1tZCkge1xuICAgICAgICAgICAgICAgICAgICB0b3A6IDIzLjc1ZW07XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIEBpbmNsdWRlIHN1c3ktYnJlYWtwb2ludCgkc2NyZWVuLWxnLW1pbiwgJG1hcC1sZykge1xuICAgICAgICAgICAgICAgICAgICB0b3A6IDI1Ljc1ZW07XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgLmZ1bGwtc2NyZWVuIHtcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBzdXN5LWJyZWFrcG9pbnQoJHNjcmVlbi1tZC1taW4sICRtYXAtbWQpIHtcbiAgICAgICAgICAgICAgICAgICAgbGVmdDogY2FsYyg1JSAtIDAuNDVlbSk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgLmNhcHRpb24ge1xuICAgICAgICAgICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICAgICAgICAgICAgbWFyZ2luOiAwIGF1dG87XG4gICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogJHYtcmh5dGhtO1xuICAgICAgICAgICAgICAgIEBpbmNsdWRlIHN1c3ktYnJlYWtwb2ludCgkc2NyZWVuLW1kLW1pbiwgJG1hcC1tZCkge1xuICAgICAgICAgICAgICAgICAgICBtYXJnaW4tdG9wOiAkdi1yaHl0aG0gKiAyLjU7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgLmNvdmUtY29udGFpbmVyIHtcbiAgICAgICAgICAgICAgICBtYXJnaW4tdG9wOiAkdi1yaHl0aG0gKiAxLjU7XG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgc3VzeS1icmVha3BvaW50KCRzY3JlZW4tbWQtbWluLCAkbWFwLW1kKSB7XG4gICAgICAgICAgICAgICAgICAgIG1hcmdpbi10b3A6IDA7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgJi52aWV3aW5nLWZ1bGwge1xuICAgICAgICAgICAgICAgIG1heC13aWR0aDogMTAwJTtcbiAgICAgICAgICAgICAgICAuc2xpZGVzLXBhZ2luYXRpb24ge1xuICAgICAgICAgICAgICAgICAgICByaWdodDogY2FsYyg1MCUgLSAyM2VtKTtcbiAgICAgICAgICAgICAgICAgICAgdG9wOiAyOGVtO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAuZnVsbC1zY3JlZW4ge1xuICAgICAgICAgICAgICAgICAgICBsZWZ0OiBjYWxjKDUwJSAtIDIzZW0pO1xuICAgICAgICAgICAgICAgICAgICB0b3A6IDI4ZW07XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIC5XYWxsb3AtaXRlbS0tY3VycmVudC5XYWxsb3AtaXRlbSB7XG4gICAgICAgICAgICAgICAgICAgIGhlaWdodDogMTAwdmg7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIC5jb3ZlLXdyYXBwZXIge1xuICAgICAgICAgICAgICAgICAgICB3aWR0aDogNDBlbTtcbiAgICAgICAgICAgICAgICAgICAgbWFyZ2luOiAkdi1yaHl0aG0gYXV0byAwIGF1dG87XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIC5jb3ZlLWNvbnRhaW5lciB7XG4gICAgICAgICAgICAgICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgLmNhcHRpb24ge1xuICAgICAgICAgICAgICAgICAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxufVxuXG4vKipcbiAqIHdhbGxvcC0tc2xpZGUuY3NzXG4gKlxuICogQGZpbGVvdmVydmlldyBTbGlkZSBhbmltYXRpb24gZm9yIHdhbGxvcFxuICpcbiAqIEBhdXRob3IgUGVkcm8gRHVhcnRlXG4gKiBAYXV0aG9yIGh0dHA6Ly9wZWRyb2R1YXJ0ZS5tZS93YWxsb3BcbiAqL1xuXG4vKiB0aGUgMTBtcyBhbmltYXRpb24tZGVsYXkgZml4ZWQgc29tZSB3ZWlyZCByZW5kZXJpbmcgaXNzdWVzIHdpdGggaVBob25lICovXG4uV2FsbG9wLS1zbGlkZSAuV2FsbG9wLWl0ZW0tLXNob3dQcmV2aW91cyB7XG4gICAgLXdlYmtpdC1hbmltYXRpb246IHNsaWRlRnJvbUxlZnQgMzUwbXMgMTBtcyBsaW5lYXIgYm90aDtcbiAgICAtbW96LWFuaW1hdGlvbjogc2xpZGVGcm9tTGVmdCAzNTBtcyAxMG1zIGxpbmVhciBib3RoO1xuICAgIC1tcy1hbmltYXRpb246IHNsaWRlRnJvbUxlZnQgMzUwbXMgMTBtcyBsaW5lYXIgYm90aDtcbiAgICBhbmltYXRpb246IHNsaWRlRnJvbUxlZnQgMzUwbXMgMTBtcyBsaW5lYXIgYm90aDtcbn1cblxuLldhbGxvcC0tc2xpZGUgLldhbGxvcC1pdGVtLS1zaG93TmV4dCB7XG4gICAgLXdlYmtpdC1hbmltYXRpb246IHNsaWRlRnJvbVJpZ2h0IDM1MG1zIDEwbXMgbGluZWFyIGJvdGg7XG4gICAgLW1vei1hbmltYXRpb246IHNsaWRlRnJvbVJpZ2h0IDM1MG1zIDEwbXMgbGluZWFyIGJvdGg7XG4gICAgLW1zLWFuaW1hdGlvbjogc2xpZGVGcm9tUmlnaHQgMzUwbXMgMTBtcyBsaW5lYXIgYm90aDtcbiAgICBhbmltYXRpb246IHNsaWRlRnJvbVJpZ2h0IDM1MG1zIDEwbXMgbGluZWFyIGJvdGg7XG59XG5cbi5XYWxsb3AtLXNsaWRlIC5XYWxsb3AtaXRlbS0taGlkZVByZXZpb3VzLFxuLldhbGxvcC0tc2xpZGUgLldhbGxvcC1pdGVtLS1oaWRlTmV4dCB7XG4gICAgdmlzaWJpbGl0eTogdmlzaWJsZTtcbn1cblxuLldhbGxvcC0tc2xpZGUgLldhbGxvcC1pdGVtLS1oaWRlUHJldmlvdXMge1xuICAgIC13ZWJraXQtYW5pbWF0aW9uOiBzbGlkZVRvTGVmdCAzNTBtcyAxMG1zIGxpbmVhciBib3RoO1xuICAgIC1tb3otYW5pbWF0aW9uOiBzbGlkZVRvTGVmdCAzNTBtcyAxMG1zIGxpbmVhciBib3RoO1xuICAgIC1tcy1hbmltYXRpb246IHNsaWRlVG9MZWZ0IDM1MG1zIDEwbXMgbGluZWFyIGJvdGg7XG4gICAgYW5pbWF0aW9uOiBzbGlkZVRvTGVmdCAzNTBtcyAxMG1zIGxpbmVhciBib3RoO1xufVxuXG4uV2FsbG9wLS1zbGlkZSAuV2FsbG9wLWl0ZW0tLWhpZGVOZXh0IHtcbiAgICAtd2Via2l0LWFuaW1hdGlvbjogc2xpZGVUb1JpZ2h0IDM1MG1zIDEwbXMgbGluZWFyIGJvdGg7XG4gICAgLW1vei1hbmltYXRpb246IHNsaWRlVG9SaWdodCAzNTBtcyAxMG1zIGxpbmVhciBib3RoO1xuICAgIC1tcy1hbmltYXRpb246IHNsaWRlVG9SaWdodCAzNTBtcyAxMG1zIGxpbmVhciBib3RoO1xuICAgIGFuaW1hdGlvbjogc2xpZGVUb1JpZ2h0IDM1MG1zIDEwbXMgbGluZWFyIGJvdGg7XG59XG5cbkAtd2Via2l0LWtleWZyYW1lcyBzbGlkZUZyb21MZWZ0IHtcbiAgICAwJSB7XG4gICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtMTAwJSwgMCwgMCk7XG4gICAgICAgIC1tb3otdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtMTAwJSwgMCwgMCk7XG4gICAgICAgIC1tcy10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC0xMDAlLCAwLCAwKTtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtMTAwJSwgMCwgMCk7XG4gICAgfVxufVxuXG5ALW1vei1rZXlmcmFtZXMgc2xpZGVGcm9tTGVmdCB7XG4gICAgMCUge1xuICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTEwMCUsIDAsIDApO1xuICAgICAgICAtbW96LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTEwMCUsIDAsIDApO1xuICAgICAgICAtbXMtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtMTAwJSwgMCwgMCk7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTEwMCUsIDAsIDApO1xuICAgIH1cbn1cblxuQC1tcy1rZXlmcmFtZXMgc2xpZGVGcm9tTGVmdCB7XG4gICAgMCUge1xuICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTEwMCUsIDAsIDApO1xuICAgICAgICAtbW96LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTEwMCUsIDAsIDApO1xuICAgICAgICAtbXMtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtMTAwJSwgMCwgMCk7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTEwMCUsIDAsIDApO1xuICAgIH1cbn1cblxuQGtleWZyYW1lcyBzbGlkZUZyb21MZWZ0IHtcbiAgICAwJSB7XG4gICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtMTAwJSwgMCwgMCk7XG4gICAgICAgIC1tb3otdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtMTAwJSwgMCwgMCk7XG4gICAgICAgIC1tcy10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC0xMDAlLCAwLCAwKTtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtMTAwJSwgMCwgMCk7XG4gICAgfVxufVxuXG5ALXdlYmtpdC1rZXlmcmFtZXMgc2xpZGVGcm9tUmlnaHQge1xuICAgIDAlIHtcbiAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDEwMCUsIDAsIDApO1xuICAgICAgICAtbW96LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMTAwJSwgMCwgMCk7XG4gICAgICAgIC1tcy10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDEwMCUsIDAsIDApO1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDEwMCUsIDAsIDApO1xuICAgIH1cbn1cblxuQC1tb3ota2V5ZnJhbWVzIHNsaWRlRnJvbVJpZ2h0IHtcbiAgICAwJSB7XG4gICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgxMDAlLCAwLCAwKTtcbiAgICAgICAgLW1vei10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDEwMCUsIDAsIDApO1xuICAgICAgICAtbXMtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgxMDAlLCAwLCAwKTtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgxMDAlLCAwLCAwKTtcbiAgICB9XG59XG5cbkAtbXMta2V5ZnJhbWVzIHNsaWRlRnJvbVJpZ2h0IHtcbiAgICAwJSB7XG4gICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgxMDAlLCAwLCAwKTtcbiAgICAgICAgLW1vei10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDEwMCUsIDAsIDApO1xuICAgICAgICAtbXMtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgxMDAlLCAwLCAwKTtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgxMDAlLCAwLCAwKTtcbiAgICB9XG59XG5cbkBrZXlmcmFtZXMgc2xpZGVGcm9tUmlnaHQge1xuICAgIDAlIHtcbiAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDEwMCUsIDAsIDApO1xuICAgICAgICAtbW96LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMTAwJSwgMCwgMCk7XG4gICAgICAgIC1tcy10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDEwMCUsIDAsIDApO1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDEwMCUsIDAsIDApO1xuICAgIH1cbn1cblxuQC13ZWJraXQta2V5ZnJhbWVzIHNsaWRlVG9MZWZ0IHtcbiAgICA5OSUge1xuICAgICAgICBvcGFjaXR5OiAxO1xuICAgIH1cblxuICAgIDEwMCUge1xuICAgICAgICBvcGFjaXR5OiAwO1xuICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTEwMCUsIDAsIDApO1xuICAgICAgICAtbW96LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTEwMCUsIDAsIDApO1xuICAgICAgICAtbXMtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtMTAwJSwgMCwgMCk7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTEwMCUsIDAsIDApO1xuICAgIH1cbn1cblxuQC1tb3ota2V5ZnJhbWVzIHNsaWRlVG9MZWZ0IHtcbiAgICA5OSUge1xuICAgICAgICBvcGFjaXR5OiAxO1xuICAgIH1cblxuICAgIDEwMCUge1xuICAgICAgICBvcGFjaXR5OiAwO1xuICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTEwMCUsIDAsIDApO1xuICAgICAgICAtbW96LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTEwMCUsIDAsIDApO1xuICAgICAgICAtbXMtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtMTAwJSwgMCwgMCk7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTEwMCUsIDAsIDApO1xuICAgIH1cbn1cblxuQC1tcy1rZXlmcmFtZXMgc2xpZGVUb0xlZnQge1xuICAgIDk5JSB7XG4gICAgICAgIG9wYWNpdHk6IDE7XG4gICAgfVxuXG4gICAgMTAwJSB7XG4gICAgICAgIG9wYWNpdHk6IDA7XG4gICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtMTAwJSwgMCwgMCk7XG4gICAgICAgIC1tb3otdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtMTAwJSwgMCwgMCk7XG4gICAgICAgIC1tcy10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC0xMDAlLCAwLCAwKTtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtMTAwJSwgMCwgMCk7XG4gICAgfVxufVxuXG5Aa2V5ZnJhbWVzIHNsaWRlVG9MZWZ0IHtcbiAgICA5OSUge1xuICAgICAgICBvcGFjaXR5OiAxO1xuICAgIH1cblxuICAgIDEwMCUge1xuICAgICAgICBvcGFjaXR5OiAwO1xuICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTEwMCUsIDAsIDApO1xuICAgICAgICAtbW96LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTEwMCUsIDAsIDApO1xuICAgICAgICAtbXMtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtMTAwJSwgMCwgMCk7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTEwMCUsIDAsIDApO1xuICAgIH1cbn1cblxuQC13ZWJraXQta2V5ZnJhbWVzIHNsaWRlVG9SaWdodCB7XG4gICAgOTklIHtcbiAgICAgICAgb3BhY2l0eTogMTtcbiAgICB9XG5cbiAgICAxMDAlIHtcbiAgICAgICAgb3BhY2l0eTogMDtcbiAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDEwMCUsIDAsIDApO1xuICAgICAgICAtbW96LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMTAwJSwgMCwgMCk7XG4gICAgICAgIC1tcy10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDEwMCUsIDAsIDApO1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDEwMCUsIDAsIDApO1xuICAgIH1cbn1cblxuQC1tb3ota2V5ZnJhbWVzIHNsaWRlVG9SaWdodCB7XG4gICAgOTklIHtcbiAgICAgICAgb3BhY2l0eTogMTtcbiAgICB9XG5cbiAgICAxMDAlIHtcbiAgICAgICAgb3BhY2l0eTogMDtcbiAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDEwMCUsIDAsIDApO1xuICAgICAgICAtbW96LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMTAwJSwgMCwgMCk7XG4gICAgICAgIC1tcy10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDEwMCUsIDAsIDApO1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDEwMCUsIDAsIDApO1xuICAgIH1cbn1cblxuQC1tcy1rZXlmcmFtZXMgc2xpZGVUb1JpZ2h0IHtcbiAgICA5OSUge1xuICAgICAgICBvcGFjaXR5OiAxO1xuICAgIH1cblxuICAgIDEwMCUge1xuICAgICAgICBvcGFjaXR5OiAwO1xuICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMTAwJSwgMCwgMCk7XG4gICAgICAgIC1tb3otdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgxMDAlLCAwLCAwKTtcbiAgICAgICAgLW1zLXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMTAwJSwgMCwgMCk7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMTAwJSwgMCwgMCk7XG4gICAgfVxufVxuXG5Aa2V5ZnJhbWVzIHNsaWRlVG9SaWdodCB7XG4gICAgOTklIHtcbiAgICAgICAgb3BhY2l0eTogMTtcbiAgICB9XG5cbiAgICAxMDAlIHtcbiAgICAgICAgb3BhY2l0eTogMDtcbiAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDEwMCUsIDAsIDApO1xuICAgICAgICAtbW96LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMTAwJSwgMCwgMCk7XG4gICAgICAgIC1tcy10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDEwMCUsIDAsIDApO1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDEwMCUsIDAsIDApO1xuICAgIH1cbn1cbiIsIi5hY2NvcmRpb24tdG9nZ2xlIHtcbiAgZGlzcGxheTpub25lO1xufVxuXG4uanMge1xuICAuYWNjb3JkaW9uLXRvZ2dsZSB7XG4gICAgYm9yZGVyOm5vbmU7XG4gICAgYmFja2dyb3VuZDpub25lO1xuICAgIGRpc3BsYXk6YmxvY2s7XG4gICAgd2lkdGg6MTAwJTtcbiAgICB0ZXh0LWFsaWduOmxlZnQ7XG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICBjb2xvcjokcmVkO1xuICAgIGZvbnQtc2l6ZToxLjI1ZW07XG4gICAgZm9udC13ZWlnaHQ6NzAwO1xuICAgIHBvc2l0aW9uOnJlbGF0aXZlO1xuICAgIG1hcmdpbi1ib3R0b206JHYtcmh5dGhtO1xuICAgIHBhZGRpbmctYm90dG9tOmNhbGMoJHYtcmh5dGhtIC8gMyk7XG4gICAgYm9yZGVyLWJvdHRvbTouMTI1ZW0gc29saWQgJG1lZEdyYXk7XG4gICAgKiB7XG4gICAgICB2ZXJ0aWNhbC1hbGlnbjptaWRkbGU7XG4gICAgfVxuICAgICY6aG92ZXIge1xuICAgICAgYm9yZGVyLWJvdHRvbTouMTI1ZW0gc29saWQgJG1lZEdyYXk7XG4gICAgfVxuICAgIHN2ZyB7XG4gICAgICBkaXNwbGF5OmlubGluZS1ibG9jaztcbiAgICAgIG1hcmdpbi10b3A6LS4xNWVtO1xuICAgICAgaGVpZ2h0Oi43NWVtO1xuICAgICAgd2lkdGg6Ljc1ZW07XG4gICAgICBmaWxsOiRyZWQ7XG4gICAgfVxuICAgIC52ZXJ0aWNhbCB7XG4gICAgICBAaW5jbHVkZSB0cmFuc2l0aW9uKHRyYW5zZm9ybSwgLjI1cywgZWFzZS1pbi1vdXQpO1xuICAgICAgLW1zLXRyYW5zZm9ybS1vcmlnaW46Y2VudGVyO1xuICAgICAgICAgIHRyYW5zZm9ybS1vcmlnaW46Y2VudGVyO1xuICAgIH1cbiAgICAmLm9wZW4ge1xuICAgICAudmVydGljYWwge1xuICAgICAgICAtbXMtdHJhbnNmb3JtOiBzY2FsZVkoMCk7IFxuICAgICAgICAgICAgdHJhbnNmb3JtOiBzY2FsZVkoMCk7XG4gICAgIH1cbiAgICB9XG4gIH1cbiAgLmFjY29yZGlvbi1jb250ZW50IHtcbiAgICBkaXNwbGF5Om5vbmU7XG4gICAgJi5vcGVuIHtcbiAgICAgIGRpc3BsYXk6YmxvY2s7XG4gICAgfVxuICB9XG59XG4iLCIuZmlsdGVycyB7XG4gIEBpbmNsdWRlIGNsZWFyZml4O1xuICBiYWNrZ3JvdW5kOiNkMGRiZWQ7XG4gIHBhZGRpbmc6JHYtcmh5dGhtO1xuICBtYXJnaW4tYm90dG9tOiR2LXJoeXRobTtcbiAgcG9zaXRpb246cmVsYXRpdmU7XG4gIGZpZWxkc2V0IHtcbiAgICBwYWRkaW5nOjA7XG4gICAgbWFyZ2luOjA7XG4gICAgbWFyZ2luLWJvdHRvbTokdi1yaHl0aG07XG4gICAgYm9yZGVyOm5vbmU7XG4gICAgaW5wdXRbdHlwZT0ncmFkaW8nXSB7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICBsZWZ0OiAtOTk5OXB4O1xuICAgICAgJjpjaGVja2VkICsgbGFiZWwge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiRjb3JuZmxvd2VyO1xuICAgICAgICBjb2xvcjp3aGl0ZTtcbiAgICAgICAgYm9yZGVyOi4xMjVlbSBzb2xpZCAkY29ybmZsb3dlcjtcbiAgICAgIH1cbiAgICAgICY6Zm9jdXMgKyBsYWJlbCB7XG4gICAgICAgIGJvcmRlcjouMTI1ZW0gc29saWQgJHllbGxvdztcbiAgICAgIH1cbiAgICB9XG4gICAgbGFiZWwge1xuICAgICAgQGluY2x1ZGUgdHJhbnNpdGlvbihhbGwsIC4zNXMsIGVhc2UtaW4tb3V0KTtcbiAgICAgIGJhY2tncm91bmQ6d2hpdGU7XG4gICAgICBwYWRkaW5nOi4yZW0gMS41ZW07XG4gICAgICBmb250LXdlaWdodDo3MDA7XG4gICAgICBjb2xvcjokY29ybmZsb3dlcjtcbiAgICAgIGRpc3BsYXk6aW5saW5lLWJsb2NrO1xuICAgICAgYm9yZGVyOi4xMjVlbSBzb2xpZCB3aGl0ZTtcbiAgICAgICY6Zmlyc3Qtb2YtdHlwZSB7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6MS4yNWVtIDAgMCAxLjI1ZW07XG4gICAgICAgIHBhZGRpbmctcmlnaHQ6MS4xNWVtO1xuICAgICAgfVxuICAgICAgJjpsYXN0LW9mLXR5cGUge1xuICAgICAgICBib3JkZXItcmFkaXVzOjAgMS4yNWVtIDEuMjVlbSAwO1xuICAgICAgICBwYWRkaW5nLWxlZnQ6MS4xNWVtO1xuICAgICAgfVxuICAgICAgQGluY2x1ZGUgc3VzeS1icmVha3BvaW50KCRzY3JlZW4tbGctbWluLCAkbWFwLWxnKSB7XG4gICAgICAgIHdpZHRoOjEyLjgxMjVlbTtcbiAgICAgICAgdGV4dC1hbGlnbjpjZW50ZXI7XG4gICAgICB9XG4gICAgfVxuICAgIEBpbmNsdWRlIHN1c3ktYnJlYWtwb2ludCgkc2NyZWVuLW1kLW1pbiwgJG1hcC1tZCkge1xuICAgICAgZGlzcGxheTppbmxpbmUtYmxvY2s7XG4gICAgICBtYXJnaW4tYm90dG9tOjA7XG4gICAgICBtYXJnaW4tcmlnaHQ6Y2FsYygkdi1yaHl0aG0gLyAyKTtcbiAgICB9XG4gICAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAyMy43NWVtKSB7XG4gICAgICBmb250LXNpemU6My44NXZ3O1xuICAgIH1cbiAgfVxuXG4gIC5sYWJlbCB7XG4gICAgZGlzcGxheTppbmxpbmUtYmxvY2s7XG4gICAgbWFyZ2luLWJvdHRvbTpjYWxjKCR2LXJoeXRobSAvIDIpO1xuICAgIGZvbnQtd2VpZ2h0OjcwMDtcbiAgICBjb2xvcjojNDM0MzQzO1xuICAgIEBpbmNsdWRlIHN1c3ktYnJlYWtwb2ludCgkc2NyZWVuLW1kLW1pbiwgJG1hcC1tZCkge1xuICAgICAgbWFyZ2luLWJvdHRvbTowO1xuICAgICAgbWFyZ2luLXJpZ2h0OmNhbGMoJHYtcmh5dGhtIC8gNCk7XG4gICAgfVxuICAgIEBpbmNsdWRlIHN1c3ktYnJlYWtwb2ludCgkc2NyZWVuLWxnLW1pbiwgJG1hcC1sZykge1xuICAgICAgbWFyZ2luLXJpZ2h0OmNhbGMoJHYtcmh5dGhtIC8gMik7XG4gICAgfVxuICB9XG5cbiAgLnN0eWxlZC1zZWxlY3Qge1xuICAgIGJhY2tncm91bmQ6d2hpdGU7XG4gICAgcG9zaXRpb246cmVsYXRpdmU7XG4gICAgZGlzcGxheTppbmxpbmUtYmxvY2s7XG4gICAgd2lkdGg6MTAwJTtcbiAgICBtYXJnaW4tYm90dG9tOmNhbGMoJHYtcmh5dGhtIC8gMik7XG4gICAgICBib3JkZXI6LjEyNWVtIHNvbGlkIHdoaXRlO1xuICAgICYuZm9jdXNlZCB7XG4gICAgICBib3JkZXI6LjEyNWVtIHNvbGlkICR5ZWxsb3c7XG4gICAgICAmOmFmdGVyIHtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiR5ZWxsb3cgJHllbGxvdyAkeWVsbG93ICRjb3JuZmxvd2VyO1xuICAgICAgfVxuICAgIH1cbiAgICAmOmFmdGVyIHtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHRvcDotLjEyNWVtO1xuICAgICAgcmlnaHQ6LS4xMjVlbTtcbiAgICAgIGNvbnRlbnQ6Jyc7XG4gICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoZGF0YTppbWFnZS9zdmcreG1sO2Jhc2U2NCxQRDk0Yld3Z2RtVnljMmx2YmowaU1TNHdJaUJsYm1OdlpHbHVaejBpZFhSbUxUZ2lQejQ4YzNabklIWmxjbk5wYjI0OUlqRXVNU0lnYVdROUlreGhlV1Z5WHpFaUlIaHRiRzV6UFNKb2RIUndPaTh2ZDNkM0xuY3pMbTl5Wnk4eU1EQXdMM04yWnlJZ2VHMXNibk02ZUd4cGJtczlJbWgwZEhBNkx5OTNkM2N1ZHpNdWIzSm5MekU1T1RrdmVHeHBibXNpSUhnOUlqQndlQ0lnZVQwaU1IQjRJaUIyYVdWM1FtOTRQU0l3SURBZ05EQWdOREFpSUhOMGVXeGxQU0psYm1GaWJHVXRZbUZqYTJkeWIzVnVaRHB1WlhjZ01DQXdJRFF3SURRd095SWdlRzFzT25Od1lXTmxQU0p3Y21WelpYSjJaU0krUEhOMGVXeGxJSFI1Y0dVOUluUmxlSFF2WTNOeklqNHVjM1F3ZTJacGJHdzZJelE0TnpKQ05EdDlMbk4wTVh0bWFXeHNPaU5HUmtaR1JrWTdmVHd2YzNSNWJHVStQSEpsWTNRZ1kyeGhjM005SW5OME1DSWdkMmxrZEdnOUlqUXdJaUJvWldsbmFIUTlJalF3SWk4K1BIQmhkR2dnWTJ4aGMzTTlJbk4wTVNJZ1pEMGlUVEV5TGpNc01UZHNOeTQzTERjdU4ydzNMamN0Tnk0M2JDMHhMamN0TVM0NGJDMDFMamtzTm13dE5TNDVMVFpNTVRJdU15d3hOM29pTHo0OEwzTjJaejQ9KTtcbiAgICAgIGJhY2tncm91bmQtcmVwZWF0Om5vLXJlcGVhdDtcbiAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlcjtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6JGNvcm5mbG93ZXI7XG4gICAgICBoZWlnaHQ6Y2FsYygxMDAlICsgLjI1ZW0pO1xuICAgICAgd2lkdGg6Mi40OWVtO1xuICAgICAgcG9pbnRlci1ldmVudHM6bm9uZTtcbiAgICAgIGJvcmRlcjouMTI1ZW0gc29saWQgJGNvcm5mbG93ZXI7XG4gICAgICBib3JkZXItbGVmdDpub25lO1xuICAgIH1cbiAgICAmOmJlZm9yZSB7XG4gICAgICBAaW5jbHVkZSBjZW50ZXIoZmFsc2UsIHRydWUpO1xuICAgICAgcmlnaHQ6MDtcbiAgICAgIGNvbnRlbnQ6Jyc7XG4gICAgICBkaXNwbGF5OmlubGluZS1ibG9jaztcbiAgICAgIGJhY2tncm91bmQtY29sb3I6d2hpdGU7XG4gICAgICBoZWlnaHQ6MTAwJTsgIFxuICAgICAgd2lkdGg6NS4yNWVtIFxcOTtcbiAgICB9XG4gICAgQGluY2x1ZGUgc3VzeS1icmVha3BvaW50KCRzY3JlZW4tbWQtbWluLCAkbWFwLW1kKSB7XG4gICAgICB3aWR0aDppbmhlcml0O1xuICAgICAgbWFyZ2luOjA7XG4gICAgICBtYXJnaW4tcmlnaHQ6Y2FsYygkdi1yaHl0aG0gLyAyKTtcbiAgICB9XG4gICAgQGluY2x1ZGUgc3VzeS1icmVha3BvaW50KCRzY3JlZW4tbGctbWluLCAkbWFwLWxnKSB7XG4gICAgICBtYXJnaW4tcmlnaHQ6JHYtcmh5dGhtO1xuICAgIH0gICAgXG4gIH1cblxuICBzZWxlY3Qge1xuICAgIHBhZGRpbmc6LjJlbSAuNzVlbSAuMTllbSAuNzVlbTtcbiAgICBkaXNwbGF5OmlubGluZS1ibG9jaztcbiAgICB3aWR0aDoxMDAlO1xuICAgIGZvbnQtd2VpZ2h0OjcwMDtcbiAgICBjb2xvcjokY29ybmZsb3dlcjtcbiAgICBib3JkZXI6IG5vbmU7XG4gICAgYm94LXNoYWRvdzogbm9uZTtcbiAgICBib3JkZXItcmFkaXVzOjA7XG4gICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gICAgYmFja2dyb3VuZDpub25lO1xuICAgIHBhZGRpbmctcmlnaHQ6NGVtO1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IG5vbmU7XG4gICAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lO1xuICB9XG4gIFxuICAvKiBDQVVUSU9OOiBJRSBoYWNrZXJ5IGFoZWFkICovXG4gIHNlbGVjdDo6LW1zLWV4cGFuZCB7IFxuICAgIGRpc3BsYXk6IG5vbmU7IC8qIHJlbW92ZSBkZWZhdWx0IGFycm93IG9uIGllMTAgYW5kIGllMTEgKi9cbiAgfVxuXG4gIC5zb3J0aW5nIHtcbiAgICBkaXNwbGF5OmlubGluZS1ibG9jaztcbiAgICB3aWR0aDoxMDAlO1xuICAgIC5zdHlsZWQtc2VsZWN0IHtcbiAgICAgIG1hcmdpbi1yaWdodDowO1xuICAgIH1cbiAgICBAaW5jbHVkZSBzdXN5LWJyZWFrcG9pbnQoJHNjcmVlbi1tZC1taW4sICRtYXAtbWQpIHtcbiAgICAgIHdpZHRoOmluaGVyaXQ7XG4gICAgICBmbG9hdDpyaWdodDtcbiAgICB9XG4gIH1cbiAgXG4gIC5zdWJtaXQge1xuICAgIGNsZWFyOmJvdGg7XG4gICAgbWFyZ2luLXRvcDokdi1yaHl0aG07XG4gICAgaW5wdXRbdHlwZT0nc3VibWl0J10ge1xuICAgICAgcGFkZGluZzouMjVlbSAuNWVtO1xuICAgIH1cbiAgfVxuICBcbiAgQGluY2x1ZGUgc3VzeS1icmVha3BvaW50KCRzY3JlZW4tbWQtbWluLCAkbWFwLW1kKSB7XG4gICAgZm9ybSB7XG4gICAgICAqIHtcbiAgICAgICAgdmVydGljYWwtYWxpZ246bWlkZGxlO1xuICAgICAgfVxuICAgIH1cbiAgfVxuICBAaW5jbHVkZSBzdXN5LWJyZWFrcG9pbnQoJHNjcmVlbi1sZy1taW4sICRtYXAtbGcpIHtcbiAgICBmb250LXNpemU6MS4wNjI1ZW07XG4gIH1cbiAgQGluY2x1ZGUgc3VzeS1icmVha3BvaW50KCRzY3JlZW4tamItbWluLCAkbWFwLWxnKSB7XG4gICAgZm9udC1zaXplOjEuMTI1ZW07XG4gIH1cbn1cblxuXG4vLyBsb2FkaW5nXG4uZmlsdGVyLXRhcmdldCB7XG4gICYubG9hZGluZyB7XG4gICAgQGluY2x1ZGUgYW5pbWF0ZWQoLjM1cyk7XG4gICAgQGluY2x1ZGUgZmFkZUluOyBcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgb3BhY2l0eTowO1xuICAgICY6YmVmb3JlIHtcbiAgICAgIGNvbnRlbnQ6J0xvYWRpbmcuLi4nO1xuICAgICAgZGlzcGxheTppbmxpbmUtYmxvY2s7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICB3aWR0aDoxMDAlO1xuICAgICAgaGVpZ2h0OjEwMCU7XG4gICAgICB0ZXh0LWFsaWduOmNlbnRlcjtcbiAgICAgIHRvcDowO1xuICAgICAgbGVmdDowO1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjp3aGl0ZTtcbiAgICAgIGNvbG9yOiM0MzQzNDM7XG4gICAgICBmb250LXdlaWdodDo3MDA7XG4gICAgICB0ZXh0LWFsaWduOmNlbnRlcjtcbiAgICAgIGZvbnQtc2l6ZToxLjI1ZW07XG4gICAgICBwYWRkaW5nOiR2LXJoeXRobTtcbiAgICAgIHotaW5kZXg6OTtcbiAgICAgIG9wYWNpdHk6MTtcbiAgICB9XG4gIH1cbiAgJi5sb2FkZWQge1xuICAgIHVsIHtcbiAgICAgIEBpbmNsdWRlIGFuaW1hdGVkKC41cyk7XG4gICAgICBAaW5jbHVkZSBzbGlkZUluVXA7XG4gICAgfVxuICB9XG59XG5cbi8vIHJlbW92ZSBzdWJtaXQgd2hlbiBqYXZhc2NyaXB0IGlzIGVuYWJsZWRcbi5qcyB7XG4gIC5maWx0ZXJzIHtcbiAgICBzZWxlY3Qge1xuICAgICAgJjpmb2N1cyB7XG4gICAgICAgIG91dGxpbmU6bm9uZTtcbiAgICAgIH1cbiAgICB9XG4gICAgLnN1Ym1pdCB7XG4gICAgICBkaXNwbGF5Om5vbmUgXG4gICAgfVxuICB9XG59XG4iLCIucmVsYXRlZC1maWxtcyB7XG4gIG1hcmdpbjokdi1yaHl0aG0qMiAwO1xuICBpbWcge1xuICAgIHdpZHRoOjEwMCU7XG4gIH1cbiAgdWwge1xuICAgIEBpbmNsdWRlIGNsZWFyZml4O1xuICAgIEBpbmNsdWRlIHBsYWluLWxpc3Q7XG4gICAgbGkge1xuICAgICAgQGluY2x1ZGUgZ2FsbGVyeSgxIG9mIDIpO1xuICAgICAgbWFyZ2luLWJvdHRvbTpndXR0ZXIoKTtcbiAgICB9XG4gICAgQGluY2x1ZGUgc3VzeS1icmVha3BvaW50KCRzY3JlZW4tc20tbWluLCAkbWFwLXNtKSB7XG4gICAgICBsaSB7XG4gICAgICAgIEBpbmNsdWRlIGdhbGxlcnkoMS4zMyk7XG4gICAgICAgIG1hcmdpbi1ib3R0b206JHYtcmh5dGhtKjI7XG4gICAgICB9XG4gICAgfVxuICAgIEBpbmNsdWRlIHN1c3ktYnJlYWtwb2ludCgkc2NyZWVuLW1kLW1pbiwgJG1hcC1tZCkge1xuICAgICAgbGkge1xuICAgICAgICBAaW5jbHVkZSBnYWxsZXJ5KDIuNjY2IG9mIDgpO1xuICAgICAgICBtYXJnaW4tYm90dG9tOmd1dHRlcigpO1xuICAgICAgfVxuICAgIH1cbiAgICBAaW5jbHVkZSBzdXN5LWJyZWFrcG9pbnQoJHNjcmVlbi1sZy1taW4sICRtYXAtbGcpIHtcbiAgICAgIGxpIHtcbiAgICAgICAgQGluY2x1ZGUgZ2FsbGVyeSgyLjQgb2YgMTIpO1xuICAgICAgfVxuICAgIH1cbiAgfVxufSIsIi5lbWFpbC1zaWdudXAtZm9ybSB7XG4gIGlucHV0LCBidXR0b24ge1xuICAgIGZvbnQtZmFtaWx5OiAnUm9ib3RvIFNsYWInLCBzZXJpZjtcbiAgICBwYWRkaW5nOmNhbGMoJHYtcmh5dGhtIC8gMikgJHYtcmh5dGhtO1xuICB9XG4gIC5lbWFpbC1maWVsZCB7XG4gICAgZGlzcGxheTpibG9jaztcbiAgICBtYXJnaW4tYm90dG9tOmNhbGMoJHYtcmh5dGhtIC8gMik7XG4gICAgd2lkdGg6MTAwJTtcbiAgICBib3JkZXI6MXB4IHNvbGlkICRncmF5O1xuICAgICY6OnBsYWNlaG9sZGVyIHtcbiAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgfVxuICB9XG4gIC56aXAtY29kZS1maWVsZCB7XG4gICAgIGRpc3BsYXk6YmxvY2s7XG4gICAgIG1hcmdpbi1ib3R0b206Y2FsYygkdi1yaHl0aG0gLyAyKTtcbiAgICAgd2lkdGg6MTAwJTtcbiAgICAgYm9yZGVyOjFweCBzb2xpZCAkZ3JheTtcbiAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgfVxuICAubm90ZSB7XG4gICAgZGlzcGxheTpibG9jaztcbiAgICB3aWR0aDoxMDAlO1xuICAgIHRleHQtYWxpZ246bGVmdDtcbiAgICBtYXJnaW4tYm90dG9tOmNhbGMoJHYtcmh5dGhtIC8gMik7XG4gICAgZm9udC1zaXplOi44NWVtO1xuICAgIG1hcmdpbi10b3A6Y2FsYygkdi1yaHl0aG0gLyAyKTtcbiAgfVxuICBidXR0b25bdHlwZT0nc3VibWl0J10ge1xuICAgIEBpbmNsdWRlIHBsYWluLWJ1dHRvbjtcbiAgICBAaW5jbHVkZSBidXR0b24oJG5hdnksIHdoaXRlKTtcbiAgICBAaW5jbHVkZSBhcnJvdy1idXR0b24od2hpdGUpO1xuICAgIEBpbmNsdWRlIHRyYW5zaXRpb24oYmFja2dyb3VuZCwgLjNzLCBlYXNlLWluLW91dCk7XG4gICAgdGV4dC10cmFuc2Zvcm06dXBwZXJjYXNlO1xuICAgIHdpZHRoOjllbTtcbiAgICB6LWluZGV4OjI7XG4gICAgJjpob3ZlciB7XG4gICAgICBiYWNrZ3JvdW5kOmRhcmtlbigkbmF2eSwgNSUpO1xuICAgIH1cbiAgICAmOmJlZm9yZSB7XG4gICAgICBjb250ZW50OicnO1xuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgd2lkdGg6MTAwJTtcbiAgICAgIGhlaWdodDoxMDAlO1xuICAgICAgcG9zaXRpb246YWJzb2x1dGU7XG4gICAgICB0b3A6MDtcbiAgICAgIGxlZnQ6MDtcbiAgICAgIHotaW5kZXg6LTE7XG4gICAgICBAaW5jbHVkZSBsb25nLXNoYWRvdyhib3gsICRuYXZ5LCAyMDAsIGZhbHNlLCBmYWxzZSwgcmlnaHQpO1xuICAgICAgb3BhY2l0eTouMzU7XG4gICAgfVxuICB9XG59XG4iLCIvLyBIb21lIFBhZ2UgSGVybyBDb21wb25lbnRcbi5ob21lcGFnZS1oZXJvLWl0ZW0ge1xuICAgbWFyZ2luLXRvcDokdi1yaHl0aG07XG4gICBtYXJnaW4tYm90dG9tOiR2LXJoeXRobTtcbiAgLy8gYWxsIGNvbnRlbnQgaW5zaWRlIGlzIGR5bmFtaWMuIHRoZXJlIGlzIGEgY2hhbmNlIGl0IGNvdWxkIGJlIGVtcHR5XG4gICY6ZW1wdHkge1xuICAgIGRpc3BsYXk6bm9uZTtcbiAgfVxuICBpbWcge1xuICAgIGRpc3BsYXk6YmxvY2s7XG4gICAgd2lkdGg6MTAwJTtcbiAgICAmLmJsYWNrQW5kV2hpdGUge1xuICAgICAgLXdlYmtpdC1maWx0ZXI6Z3JheXNjYWxlKDEpO1xuICAgICAgICAgICAgICBmaWx0ZXI6Z3JheXNjYWxlKDEpO1xuICAgIH1cbiAgfVxuICAudGl0bGUge1xuICAgIHBhZGRpbmc6Y2FsYygkdi1yaHl0aG0gLyAyKSAkdi1yaHl0aG07XG4gICAgYmFja2dyb3VuZDojYWMwYjBlO1xuICAgIGNvbG9yOndoaXRlO1xuICAgIGZsb2F0Om5vbmUgIWltcG9ydGFudDtcbiAgICBtYXJnaW4tYm90dG9tOjAgIWltcG9ydGFudDtcbiAgICAuemV0YSB7XG4gICAgICBjb2xvcjp3aGl0ZTtcbiAgICAgIGRpc3BsYXk6YmxvY2s7XG4gICAgICBtYXJnaW4tYm90dG9tOiR2LXJoeXRobTtcbiAgICB9XG4gICAgJi5yaWdodCB7XG4gICAgICBtYXJnaW4tbGVmdDowICFpbXBvcnRhbnQ7XG4gICAgfVxuICAgICYubGVmdCB7XG4gICAgICBtYXJnaW4tcmlnaHQ6MCAhaW1wb3J0YW50O1xuICAgIH1cbiAgICAuYWxwaGEge1xuICAgICAgdGV4dC10cmFuc2Zvcm06dXBwZXJjYXNlO1xuICAgICAgZm9udC1mYW1pbHk6ICdKb3NlZmluIFNhbnMnLCBzYW5zLXNlcmlmO1xuICAgICAgY29sb3I6d2hpdGU7XG4gICAgICBmb250LXNpemU6MmVtO1xuICAgICAgbWFyZ2luLWJvdHRvbTowO1xuICAgICAgbGluZS1oZWlnaHQ6MS4yO1xuICAgICAgJjpiZWZvcmUge1xuICAgICAgICBkaXNwbGF5Om5vbmU7XG4gICAgICB9XG4gICAgfVxuICB9XG4gIC53YXRjaCB7XG4gICAgQGluY2x1ZGUgbGluay1yZXNldDtcbiAgICBAaW5jbHVkZSBib3JkZXItYnV0dG9uKHdoaXRlLCAuMDYyNWVtLCB3aGl0ZSk7XG4gICAgQGluY2x1ZGUgdHJhbnNpdGlvbihiYWNrZ3JvdW5kLCAuM3MsIGVhc2UtaW4tb3V0KTtcbiAgICBAaW5jbHVkZSBhcnJvdy1idXR0b24od2hpdGUpO1xuICAgICYuemV0YSB7XG4gICAgICBkaXNwbGF5OmlubGluZS1ibG9jaztcbiAgICAgIGZvbnQtc2l6ZToxZW07XG4gICAgfVxuICAgICY6aG92ZXIge1xuICAgICAgYmFja2dyb3VuZDpyZ2JhKHdoaXRlLCAuNSk7XG4gICAgfVxuICB9XG4gIEBpbmNsdWRlIHN1c3ktYnJlYWtwb2ludCgkc2NyZWVuLW1kLW1pbiwgJG1hcC1tZCkge1xuICAgIHBvc2l0aW9uOnJlbGF0aXZlO1xuICAgIC50aXRsZSB7XG4gICAgICBAaW5jbHVkZSBzcGFuKDQpO1xuICAgICAgcG9zaXRpb246YWJzb2x1dGU7XG4gICAgICBsZWZ0OjA7XG4gICAgICBib3R0b206MTUlO1xuICAgICAgcGFkZGluZzokdi1yaHl0aG0gJHYtcmh5dGhtKjI7XG4gICAgICBiYWNrZ3JvdW5kOm5vbmU7XG4gICAgICAmLmxlZnQge1xuICAgICAgICBsZWZ0OjA7XG4gICAgICAgIG1hcmdpbi1yaWdodDowO1xuICAgICAgfVxuICAgICAgJi5yaWdodCB7XG4gICAgICAgIHJpZ2h0OjA7XG4gICAgICAgIG1hcmdpbi1yaWdodDowO1xuICAgICAgICBsZWZ0OmluaGVyaXQ7XG4gICAgICB9XG4gICAgICAuYWxwaGEge1xuICAgICAgICBmb250LXNpemU6M2VtO1xuICAgICAgfVxuICAgICAgKiB7XG4gICAgICAgIHBvc2l0aW9uOnJlbGF0aXZlO1xuICAgICAgICB6LWluZGV4OjM7XG4gICAgICB9XG4gICAgICAmOmFmdGVyIHtcbiAgICAgICAgY29udGVudDonJztcbiAgICAgICAgcG9zaXRpb246YWJzb2x1dGU7XG4gICAgICAgIGhlaWdodDoxMDAlO1xuICAgICAgICB3aWR0aDoxMDAlO1xuICAgICAgICB0b3A6MDtcbiAgICAgICAgbGVmdDowO1xuICAgICAgICBAc3VwcG9ydHMobWl4LWJsZW5kLW1vZGU6IG11bHRpcGx5KSB7XG4gICAgICAgICAgYmFja2dyb3VuZDpyZ2JhKHdoaXRlLCAuMik7XG4gICAgICAgIH1cbiAgICAgICAgei1pbmRleDoxO1xuICAgICAgfVxuICAgICAgJjpiZWZvcmUge1xuICAgICAgICBiYWNrZ3JvdW5kOnJnYmEoYmxhY2ssIC42KTtcbiAgICAgICAgY29udGVudDonJztcbiAgICAgICAgcG9zaXRpb246YWJzb2x1dGU7XG4gICAgICAgIGhlaWdodDoxMDAlO1xuICAgICAgICB3aWR0aDoxMDAlO1xuICAgICAgICB0b3A6MDtcbiAgICAgICAgbGVmdDowO1xuICAgICAgICBAc3VwcG9ydHMobWl4LWJsZW5kLW1vZGU6IG11bHRpcGx5KSB7XG4gICAgICAgICAgYmFja2dyb3VuZDooI2Q5MDAwMik7XG4gICAgICAgICAgbWl4LWJsZW5kLW1vZGU6IG11bHRpcGx5O1xuICAgICAgICB9XG4gICAgICAgIHotaW5kZXg6MjtcbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgQGluY2x1ZGUgc3VzeS1icmVha3BvaW50KCRzY3JlZW4tbGctbWluLCAkbWFwLWxnKSB7XG4gICAgLnRpdGxlIHtcbiAgICAgIEBpbmNsdWRlIHNwYW4oNSk7XG4gICAgfVxuICB9XG59XG4iLCIvLyBkZWZhdWx0IHBhZ2luYXRpb25cbi5wYWdpbmF0aW9uIHtcbiAgbWFyZ2luOiR2LXJoeXRobSoyIDA7XG4gIHRleHQtYWxpZ246Y2VudGVyO1xuICAubG9hZC1tb3JlIHtcbiAgICBkaXNwbGF5Om5vbmU7XG4gIH1cbiAgIEBpbmNsdWRlIHN1c3ktYnJlYWtwb2ludCgkc2NyZWVuLWxnLW1pbiwgJG1hcC1sZykge1xuICAgICBtYXJnaW46JHYtcmh5dGhtKjMgMDtcbiAgICAudGl0bGUge1xuICAgICAgQGluY2x1ZGUgc3Bhbig1KTtcbiAgICB9XG4gIH1cbn1cblxuLy8gYWpheCBwYWdpbmF0aW9uXG4uanMge1xuICAucGFnaW5hdGlvbiB7XG4gICAgLmxvYWQtbW9yZSB7XG4gICAgICBkaXNwbGF5OmlubGluZS1ibG9jaztcbiAgICAgIEBpbmNsdWRlIGJ1dHRvbigkcmVkLCB3aGl0ZSk7XG4gICAgICBAaW5jbHVkZSB0cmFuc2l0aW9uKGJhY2tncm91bmQsIC4zNXMsIGVhc2UtaW4tb3V0KTtcbiAgICAgICY6aG92ZXIge1xuICAgICAgICBiYWNrZ3JvdW5kOiRjcmltc29uO1xuICAgICAgfVxuICAgIH1cbiAgICAucGFnZS1udW1iZXJzIHtcbiAgICAgIGRpc3BsYXk6bm9uZTtcbiAgICB9XG4gIH1cbn1cblxuLm5vLXJlc3VsdHMge1xuICBmb250LXdlaWdodDo3MDA7XG4gIHRleHQtYWxpZ246Y2VudGVyO1xuICBmb250LXdlaWdodDoxLjI1ZW07XG4gIHBhZGRpbmc6JHYtcmh5dGhtO1xuICBjb2xvcjojNDM0MzQzO1xuICAmLmVycm9yIHtcbiAgICBjb2xvcjokcmVkO1xuICAgIGIge1xuICAgICAgZGlzcGxheTpibG9jaztcbiAgICB9XG4gIH1cbn1cblxuLmFwcGVuZGVkLWl0ZW0ge1xuICBAaW5jbHVkZSBhbmltYXRlZCguNXMpO1xuICBAaW5jbHVkZSBzbGlkZUluVXA7XG59XG4iLCIvLyBWb3RlIEdpdmVhd2F5XG4ubW9kdWxhci1zaWdudXAge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBwYWRkaW5nOiAzMHB4IDA7XG5cbiAgICAuZm9ybS1yb3cge1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBmbGV4LWZsb3c6IHJvdztcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICAgICAgICBtYXJnaW46IDIwcHggMDtcblxuICAgICAgICBAbWVkaWEgKG1heC13aWR0aDogNjAwcHgpIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICB9XG5cbiAgICAgICAgJi5ub2ZsZXgge1xuICAgICAgICAgICAgZmxleDogbm9uZTtcbiAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuXG4gICAgICAgICAgICBpbnB1dCB7XG4gICAgICAgICAgICAgICAgaGVpZ2h0OiAzMHB4O1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgLnBvdCB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxuXG4gICAgaW5wdXQge1xuICAgICAgICBoZWlnaHQ6IDYwcHg7XG4gICAgICAgIHBhZGRpbmc6IDE1cHg7XG4gICAgICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgICAgIGZvbnQtc2l6ZTogMTZweDtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDIwcHg7XG4gICAgICAgIGZvbnQtZmFtaWx5OiBcIk11bGlcIiwgXCJUcmVidWNoZXQgTVNcIjtcbiAgICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICAgICAgY29sb3I6ICRncmF5O1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZTllOWU5O1xuICAgICAgICBib3JkZXI6IG5vbmU7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiA0MDA7XG5cbiAgICAgICAgJjpmaXJzdC1jaGlsZCB7XG4gICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDIwcHg7XG5cbiAgICAgICAgICAgIEBtZWRpYSAobWF4LXdpZHRoOiA2MDBweCkge1xuICAgICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDIwcHg7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAmLmhhbGYge1xuICAgICAgICAgICAgd2lkdGg6IDUwJTtcblxuICAgICAgICAgICAgQG1lZGlhIChtYXgtd2lkdGg6IDYwMHB4KSB7XG4gICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAmLnNob3J0IHtcbiAgICAgICAgICAgIHdpZHRoOiAzNSU7XG5cbiAgICAgICAgICAgIEBtZWRpYSAobWF4LXdpZHRoOiA2MDBweCkge1xuICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgJi5uZXdzbGV0dGVyLWNoZWNrYm94IHtcbiAgICAgICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICAgICAgICBsaW5lLWhlaWdodDogMTtcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDA7XG5cbiAgICAgICAgICAgIEBtZWRpYSAobWF4LXdpZHRoOiA1MDBweCkge1xuICAgICAgICAgICAgICAgIGZsb2F0OiBsZWZ0O1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgLnN1Ym1pdCB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICBoZWlnaHQ6IDYwcHg7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRyZWQ7XG4gICAgICAgIGZvbnQtZmFtaWx5OiBcIlJvYm90byBTbGFiXCIsIHNlcmlmO1xuICAgICAgICBmb250LXdlaWdodDogNzAwO1xuICAgICAgICBib3JkZXI6IDA7XG4gICAgICAgIG9wYWNpdHk6IDE7XG4gICAgICAgIG91dGxpbmU6IG5vbmU7XG4gICAgICAgIGNvbG9yOiAjZTllOWU5O1xuICAgICAgICBsZXR0ZXItc3BhY2luZzogMXB4O1xuICAgICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgICAgICBwYWRkaW5nOiAxNXB4O1xuICAgICAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgICAgICBmb250LXNpemU6IDE2cHg7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAyMHB4O1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIHBhZGRpbmctcmlnaHQ6IDQwcHg7XG4gICAgICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMC4zcyBlYXNlLWluLW91dDtcblxuICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRjcmltc29uO1xuICAgICAgICB9XG5cbiAgICAgICAgc3ZnIHtcbiAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgIHRvcDogNTAlO1xuICAgICAgICAgICAgLW1zLXRyYW5zZm9ybTogdHJhbnNsYXRlKDAsIC01MCUpO1xuICAgICAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZSgwLCAtNTAlKTtcbiAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKDAsIC01MCUpO1xuICAgICAgICAgICAgZmlsbDogd2hpdGU7XG4gICAgICAgICAgICByaWdodDogMWVtO1xuICAgICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICAgICAgd2lkdGg6IDFlbTtcbiAgICAgICAgICAgIGhlaWdodDogMWVtO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgbGFiZWwge1xuICAgICAgICBsaW5lLWhlaWdodDogMzBweDtcbiAgICAgICAgdmVydGljYWwtYWxpZ246IHRvcDtcbiAgICAgICAgZGlzcGxheTogaW5saW5lO1xuICAgICAgICBmb250LWZhbWlseTogXCJNdWxpXCIsIFwiVHJlYnVjaGV0IE1TXCI7XG4gICAgICAgIGJvcmRlcjogbm9uZTtcbiAgICAgICAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgICB9XG59XG5cbi8vIElubGluZSBFbWFpbCBTaWdudXBcbi5pbmxpbmUtZW1haWwtc2lnbnVwIHtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICBiYWNrZ3JvdW5kOiB1cmwoXCIuLi9pbWFnZXMvYmctdHJpYW5nbGUtbmV3c2xldHRlci5wbmdcIik7XG4gICAgbWFyZ2luOiA1NXB4IDA7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHBhZGRpbmc6IDMwcHg7XG5cbiAgICBAbWVkaWEgKG1heC13aWR0aDogNjAwcHgpIHtcbiAgICAgICAgbWFyZ2luOiAyNXB4IDA7XG4gICAgfVxuXG4gICAgLm5vdGUge1xuICAgICAgICAvLyBmbGV4IGJveCBvdmVyaWRlIGZvciBzb3VyY2Ugb3JkZXIgaW4gY29ubmVjdCBzZWN0aW9uXG4gICAgICAgIC13ZWJraXQtYm94LW9yZGluYWwtZ3JvdXA6IDI7XG4gICAgICAgIC1tcy1mbGV4LW9yZGVyOiAxO1xuICAgICAgICBvcmRlcjogMTtcbiAgICAgICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDEwcHg7XG4gICAgICAgIGNvbG9yOiAjZmZmO1xuICAgICAgICBmb250LXNpemU6IDE0cHg7XG4gICAgfVxuXG4gICAgLmhlYWRsaW5lIHtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIHBhZGRpbmc6IDAgMTAlO1xuICAgIH1cblxuICAgIGgzIHtcbiAgICAgICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMTBweDtcbiAgICAgICAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgICAgICAgY29sb3I6ICNmZmYgIWltcG9ydGFudDtcbiAgICB9XG5cbiAgICAuZW1haWwtc2lnbnVwLWZvcm0ge1xuICAgICAgICBkaXNwbGF5OiAtd2Via2l0LWJveDtcbiAgICAgICAgZGlzcGxheTogLW1zLWZsZXhib3g7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIC1tcy1mbGV4LXdyYXA6IHdyYXA7XG4gICAgICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIHBhZGRpbmctcmlnaHQ6IDEwJTtcbiAgICAgICAgY29sb3I6ICNmZmZmZmY7XG5cbiAgICAgICAgLmVtYWlsLWZpZWxkIHtcbiAgICAgICAgICAgIGZsb2F0OiBsZWZ0O1xuICAgICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICAgICAgICAgIG1hcmdpbi1yaWdodDogMSU7XG4gICAgICAgICAgICBtYXJnaW4tbGVmdDogMDtcbiAgICAgICAgICAgIHdpZHRoOiA0NSU7XG5cbiAgICAgICAgICAgIEBtZWRpYSAobWF4LXdpZHRoOiA2NTBweCkge1xuICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgICAgIGZsb2F0OiBub25lO1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgICAgIG1hcmdpbi1yaWdodDogMDtcbiAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAxMHB4O1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgLnppcC1jb2RlLWZpZWxkIHtcbiAgICAgICAgICAgIGZsb2F0OiBsZWZ0O1xuICAgICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICAgICAgICAgIHdpZHRoOiAzMCU7XG4gICAgICAgICAgICBAbWVkaWEgKG1heC13aWR0aDogNjUwcHgpIHtcbiAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgICAgICBmbG9hdDogbm9uZTtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAxMHB4O1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgYnV0dG9uW3R5cGU9XCJzdWJtaXRcIl0ge1xuICAgICAgICAgICAgd2lkdGg6IDI0JTtcbiAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcblxuICAgICAgICAgICAgQG1lZGlhIChtYXgtd2lkdGg6IDY1MHB4KSB7XG4gICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICAgICAgZmxvYXQ6IG5vbmU7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMTBweDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC5ub3RlIHtcbiAgICAgICAgICAgIHdpZHRoOiA3NSU7XG4gICAgICAgIH1cbiAgICB9XG59XG4iLCIuZmlsbS1saXN0aW5ncyB7XG4gIHVsIHtcbiAgICBAaW5jbHVkZSBwbGFpbi1saXN0O1xuICAgIGxpIHtcbiAgICAgIEBpbmNsdWRlIGNsZWFyZml4O1xuICAgICAgbWFyZ2luLWJvdHRvbTokdi1yaHl0aG0qMjtcbiAgICAgIEBpbmNsdWRlIHN1c3ktYnJlYWtwb2ludCgkc2NyZWVuLWxnLW1pbiwgJG1hcC1sZykge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiR2LXJoeXRobTtcbiAgICAgIH0gICAgXG4gICAgfVxuICB9XG4gIC5pbWFnZSB7XG4gICAgQGluY2x1ZGUgc3VzeS1icmVha3BvaW50KCRzY3JlZW4tc20tbWluLCAkbWFwLXNtKSB7XG4gICAgICBAaW5jbHVkZSBzcGFuKDEuNSBmaXJzdCk7XG4gICAgfVxuICAgIEBpbmNsdWRlIHN1c3ktYnJlYWtwb2ludCgkc2NyZWVuLW1kLW1pbiwgJG1hcC1tZCkge1xuICAgICAgQGluY2x1ZGUgc3Bhbig0IGZpcnN0KTtcbiAgICB9XG4gICAgQGluY2x1ZGUgc3VzeS1icmVha3BvaW50KCRzY3JlZW4tbGctbWluLCAkbWFwLWxnKSB7XG4gICAgICBAaW5jbHVkZSBzcGFuKDYgZmlyc3QpO1xuICAgIH0gICAgXG4gIH1cbiAgLmRlc2NyaXB0aW9uIHtcbiAgICBoMyB7XG4gICAgICBtYXJnaW4tYm90dG9tOjA7XG4gICAgfVxuICAgIC56ZXRhIHtcbiAgICAgIGRpc3BsYXk6YmxvY2s7XG4gICAgICBtYXJnaW4tdG9wOmNhbGMoJHYtcmh5dGhtIC8gNCk7XG4gICAgICBtYXJnaW4tYm90dG9tOmNhbGMoJHYtcmh5dGhtIC8gMik7XG4gICAgfVxuICAgIHAge1xuICAgICAgbWFyZ2luLWJvdHRvbTpjYWxjKCR2LXJoeXRobSAvIDIpO1xuICAgIH1cbiAgICAucGFydHMge1xuICAgICAgY29sb3I6JGdyYXk7XG4gICAgICBmb250LXdlaWdodDo3MDA7XG4gICAgICBhIHtcbiAgICAgICAgJjpub3QoOmxhc3Qtb2YtdHlwZSkge1xuICAgICAgICAgICY6YWZ0ZXIge1xuICAgICAgICAgICAgY29udGVudDonfCc7XG4gICAgICAgICAgICBjb2xvcjokbWVkR3JheTtcbiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OjQwMDtcbiAgICAgICAgICAgIGRpc3BsYXk6aW5saW5lLWJsb2NrO1xuICAgICAgICAgICAgbWFyZ2luLWxlZnQ6LjQzNzVlbTtcbiAgICAgICAgICAgIG1hcmdpbi1yaWdodDouMzEyNWVtO1xuICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDE7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICAgIEBpbmNsdWRlIHN1c3ktYnJlYWtwb2ludCgkc2NyZWVuLXNtLW1pbiwgJG1hcC1zbSkge1xuICAgICAgQGluY2x1ZGUgc3BhbigyLjUgbGFzdCk7XG4gICAgfVxuICAgIEBpbmNsdWRlIHN1c3ktYnJlYWtwb2ludCgkc2NyZWVuLW1kLW1pbiwgJG1hcC1tZCkge1xuICAgICAgQGluY2x1ZGUgc3Bhbig0IGxhc3QpO1xuICAgIH1cbiAgICBAaW5jbHVkZSBzdXN5LWJyZWFrcG9pbnQoJHNjcmVlbi1sZy1taW4sICRtYXAtbGcpIHtcbiAgICAgIEBpbmNsdWRlIHNwYW4oNiBsYXN0KTtcbiAgICAgIHAge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiR2LXJoeXRobTtcbiAgICAgIH1cbiAgICB9ICBcbiAgfVxufVxuIiwiLy8gZmlsbSBEZXRhaWwgSGVybyBDb21wb25lbnRcbi5maWxtLWRldGFpbC1oZXJvLWl0ZW0ge1xuICAgIG1hcmdpbjogMDtcbiAgICBtYXJnaW4tdG9wOiAkdi1yaHl0aG0gKiAyO1xuXG4gICAgaW1nIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgIH1cblxuICAgIC5tcDQtd3JhcHBlciB7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICAgICAgICAuaGVybyB7XG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgIHBhZGRpbmctdG9wOiA1NiU7XG4gICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cbiAgICAgICAgICAgIHZpZGVvIHtcbiAgICAgICAgICAgICAgICBvYmplY3QtZml0OiBjb3ZlcjtcbiAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgICAgICBoZWlnaHQ6IGF1dG87XG4gICAgICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgICAgIHRvcDogMDtcbiAgICAgICAgICAgICAgICBsZWZ0OiAwO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBidXR0b24ucGxheS1wYXVzZSB7XG4gICAgICAgICAgICAgICAgd2lkdGg6IDM0cHg7XG4gICAgICAgICAgICAgICAgaGVpZ2h0OiAzNHB4O1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50IHVybCguLi9pbWFnZXMvYnV0dG9uX3ZpZGVvX3BsYXkucG5nKSBuby1yZXBlYXQgMCAwO1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQtc2l6ZTogMzRweCA2OHB4O1xuICAgICAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgICAgICB0b3A6IDEwcHg7XG4gICAgICAgICAgICAgICAgcmlnaHQ6IDEwcHg7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICAgICAgb3V0bGluZTogbm9uZTtcbiAgICAgICAgICAgICAgICBib3JkZXI6IG5vbmU7XG4gICAgICAgICAgICAgICAgb3BhY2l0eTogMC4zNTtcblxuICAgICAgICAgICAgICAgICYucGF1c2VkIHtcbiAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogMCAtMzRweDtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAudGl0bGUge1xuICAgICAgICBwYWRkaW5nOiBjYWxjKCR2LXJoeXRobSAvIDIpICR2LXJoeXRobSAxZW0gJHYtcmh5dGhtO1xuICAgICAgICBiYWNrZ3JvdW5kOiAjYWMwYjBlO1xuICAgICAgICBjb2xvcjogd2hpdGU7XG4gICAgICAgIGZsb2F0OiBub25lICFpbXBvcnRhbnQ7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDAgIWltcG9ydGFudDtcbiAgICAgICAgJi5yaWdodCB7XG4gICAgICAgICAgICBtYXJnaW4tbGVmdDogMCAhaW1wb3J0YW50O1xuICAgICAgICB9XG4gICAgICAgICYubGVmdCB7XG4gICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDAgIWltcG9ydGFudDtcbiAgICAgICAgfVxuICAgICAgICAuYWxwaGEge1xuICAgICAgICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICAgICAgICAgIGZvbnQtZmFtaWx5OiBcIkpvc2VmaW4gU2Fuc1wiLCBzYW5zLXNlcmlmO1xuICAgICAgICAgICAgY29sb3I6IHdoaXRlO1xuICAgICAgICAgICAgZm9udC1zaXplOiAyZW07XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDEuMjtcbiAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgcGFkZGluZy10b3A6IDAuMjVlbTtcbiAgICAgICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIC56ZXRhIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgICAgIGNvbG9yOiB3aGl0ZTtcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDAuNWVtO1xuICAgICAgICB9XG4gICAgICAgIC51bmRlcmxpbmUge1xuICAgICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICAgICAgZm9udC1zaXplOiA0dnc7XG4gICAgICAgICAgICBmb250LXdlaWdodDogNzAwO1xuICAgICAgICAgICAgQGluY2x1ZGUgc3VzeS1icmVha3BvaW50KCRzY3JlZW4tc20tbWluLCAkbWFwLXNtKSB7XG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiAxLjVlbTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICBAaW5jbHVkZSBzdXN5LWJyZWFrcG9pbnQoJHNjcmVlbi1sZy1taW4sICRtYXAtbGcpIHtcbiAgICAgICAgICAgIC56ZXRhIHtcbiAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAxLjVlbTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIC51bmRlcmxpbmUge1xuICAgICAgICAgICAgICAgIG1hcmdpbi10b3A6IDAuNWVtO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgLm92ZXJsYXkge1xuICAgICAgICBmb250LXNpemU6IDN2dztcbiAgICAgICAgQGluY2x1ZGUgc3VzeS1icmVha3BvaW50KCRzY3JlZW4tc20tbWluLCAkbWFwLXNtKSB7XG4gICAgICAgICAgICBmb250LXNpemU6IGluaGVyaXQ7XG4gICAgICAgIH1cbiAgICB9XG4gICAgLndhdGNoLWxpbmsge1xuICAgICAgICBAaW5jbHVkZSBsaW5rLXJlc2V0O1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICBmb250LXNpemU6IDN2dztcbiAgICAgICAgLmFscGhhIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIHRyYW5zaXRpb24oY29sb3IsIDAuMzVzLCBlYXNlLWluLW91dCk7XG4gICAgICAgICAgICBAaW5jbHVkZSBjbGVhcmZpeDtcbiAgICAgICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgLnRpdGxlLWNvcHkge1xuICAgICAgICAgICAgICAgIGZsb2F0OiBsZWZ0O1xuICAgICAgICAgICAgICAgIHdpZHRoOiBjYWxjKDEwMCUgLSAyZW0pO1xuICAgICAgICAgICAgICAgIHBhZGRpbmctdG9wOiAwLjEyNWVtO1xuICAgICAgICAgICAgICAgICY6YWZ0ZXIge1xuICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSB0cmFuc2l0aW9uKGFsbCwgMC4zcywgZWFzZS1pbi1vdXQpO1xuICAgICAgICAgICAgICAgICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgICAgICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICAgICAgICAgIGJvdHRvbTogMDtcbiAgICAgICAgICAgICAgICAgICAgbGVmdDogMDtcbiAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZDogd2hpdGU7XG4gICAgICAgICAgICAgICAgICAgIGhlaWdodDogMXB4O1xuICAgICAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgICAgICAgICAgdmlzaWJpbGl0eTogaGlkZGVuO1xuICAgICAgICAgICAgICAgICAgICAtbXMtdHJhbnNmb3JtOiBzY2FsZVgoMCk7XG4gICAgICAgICAgICAgICAgICAgIHRyYW5zZm9ybTogc2NhbGVYKDApO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIC5wbGF5LWljb24ge1xuICAgICAgICAgICAgICAgIG1heC1oZWlnaHQ6IDEuMjVlbTtcbiAgICAgICAgICAgICAgICBtYXgtd2lkdGg6IDEuMjVlbTtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgICAgICAgICAgZmxvYXQ6IGxlZnQ7XG4gICAgICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiAwLjVlbTtcbiAgICAgICAgICAgICAgICBwYXRoIHtcbiAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgdHJhbnNpdGlvbihmaWxsLCAwLjM1cywgZWFzZS1pbi1vdXQpO1xuICAgICAgICAgICAgICAgICAgICBmaWxsOiB3aGl0ZTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgICAudGl0bGUtY29weSB7XG4gICAgICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICAgICAgICAgICY6YWZ0ZXIge1xuICAgICAgICAgICAgICAgICAgICB2aXNpYmlsaXR5OiB2aXNpYmxlO1xuICAgICAgICAgICAgICAgICAgICAtbXMtdHJhbnNmb3JtOiBzY2FsZVgoMSk7XG4gICAgICAgICAgICAgICAgICAgIHRyYW5zZm9ybTogc2NhbGVYKDEpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICBAaW5jbHVkZSBzdXN5LWJyZWFrcG9pbnQoJHNjcmVlbi1zbS1taW4sICRtYXAtc20pIHtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogaW5oZXJpdDtcbiAgICAgICAgfVxuICAgIH1cbiAgICBAaW5jbHVkZSBzdXN5LWJyZWFrcG9pbnQoJHNjcmVlbi1tZC1taW4sICRtYXAtbWQpIHtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICAudGl0bGUge1xuICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgYm90dG9tOiAxNSU7XG4gICAgICAgICAgICBwYWRkaW5nOiAkdi1yaHl0aG0gJHYtcmh5dGhtICogMS4yNTtcbiAgICAgICAgICAgIGJhY2tncm91bmQ6IG5vbmU7XG4gICAgICAgICAgICAmLmxlZnQge1xuICAgICAgICAgICAgICAgIEBpbmNsdWRlIHNwYW4oNC41KTtcbiAgICAgICAgICAgICAgICBsZWZ0OiAwO1xuICAgICAgICAgICAgICAgIHBhZGRpbmctcmlnaHQ6IDAuMjVlbTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgICYucmlnaHQge1xuICAgICAgICAgICAgICAgIEBpbmNsdWRlIHNwYW4oNC41IGxhc3QpO1xuICAgICAgICAgICAgICAgIHJpZ2h0OiAwO1xuICAgICAgICAgICAgICAgIHBhZGRpbmctcmlnaHQ6IDAuMjVlbTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIC5hbHBoYSB7XG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiAzZW07XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICAqIHtcbiAgICAgICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgICAgICAgICAgei1pbmRleDogMztcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgICY6YWZ0ZXIge1xuICAgICAgICAgICAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgICAgICB0b3A6IDA7XG4gICAgICAgICAgICAgICAgbGVmdDogMDtcbiAgICAgICAgICAgICAgICBAc3VwcG9ydHMgKG1peC1ibGVuZC1tb2RlOiBtdWx0aXBseSkge1xuICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiByZ2JhKHdoaXRlLCAwLjIpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB6LWluZGV4OiAxO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6IHJnYmEoYmxhY2ssIDAuNik7XG4gICAgICAgICAgICAgICAgY29udGVudDogXCJcIjtcbiAgICAgICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgICAgIHRvcDogMDtcbiAgICAgICAgICAgICAgICBsZWZ0OiAwO1xuICAgICAgICAgICAgICAgIEBzdXBwb3J0cyAobWl4LWJsZW5kLW1vZGU6IG11bHRpcGx5KSB7XG4gICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6ICgjZDkwMDAyKTtcbiAgICAgICAgICAgICAgICAgICAgbWl4LWJsZW5kLW1vZGU6IG11bHRpcGx5O1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB6LWluZGV4OiAyO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuICAgIEBpbmNsdWRlIHN1c3ktYnJlYWtwb2ludCgkc2NyZWVuLWxnLW1pbiwgJG1hcC1sZykge1xuICAgICAgICAudGl0bGUge1xuICAgICAgICAgICAgJi5sZWZ0IHtcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBzcGFuKDUuNzUpO1xuICAgICAgICAgICAgICAgIGxlZnQ6IDA7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICAmLnJpZ2h0IHtcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBzcGFuKDUuNzUgbGFzdCk7XG4gICAgICAgICAgICAgICAgcmlnaHQ6IDA7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG4gICAgQGluY2x1ZGUgc3VzeS1icmVha3BvaW50KCRzY3JlZW4tamItbWluLCAkbWFwLWxnKSB7XG4gICAgICAgIC50aXRsZSB7XG4gICAgICAgICAgICAmLmxlZnQge1xuICAgICAgICAgICAgICAgIEBpbmNsdWRlIHNwYW4oNSk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICAmLnJpZ2h0IHtcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBzcGFuKDUgbGFzdCk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG4gICAgLy8gc3BhY2luZyBhZGp1c3RtZW50cyBkZXBlbmRpbmcgb24gcHJlc2VuY2Ugb2YgY29udGVudFxuICAgIC53YXRjaC1saW5rICsgLnpldGEge1xuICAgICAgICBtYXJnaW4tdG9wOiAxLjVlbTtcbiAgICB9XG4gICAgLnRpdGxlLWNvcHkgKyAuemV0YSB7XG4gICAgICAgIG1hcmdpbi10b3A6IDEuNWVtO1xuICAgIH1cbiAgICAuemV0YSArIC53YXRjaC1saW5rIHtcbiAgICAgICAgLmFscGhhIHtcbiAgICAgICAgICAgIHBhZGRpbmctdG9wOiAwO1xuICAgICAgICB9XG4gICAgfVxufVxuXG4vLyBiYXNlIHN0eWxpbmcgZm9yIGZpbG0gZGV0YWlsIG5hdiBmb3IgdGFicyBhbmQgY292ZSBsaW5rc1xuLmZpbG0tc3ViLW5hdiB7XG4gICAgQGluY2x1ZGUgY2xlYXJmaXg7XG4gICAgYmFja2dyb3VuZDogJGJsdWU7XG4gICAgY29sb3I6IHdoaXRlO1xuICAgIEBpbmNsdWRlIHRyYW5zaXRpb24oYmFja2dyb3VuZCwgMC4zcywgZWFzZS1pbi1vdXQpO1xuICAgIG1hcmdpbi1ib3R0b206ICR2LXJoeXRobTtcbiAgICBhIHtcbiAgICAgICAgQGluY2x1ZGUgbGluay1yZXNldDtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICBjb2xvcjogd2hpdGU7XG4gICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgICAgIGZvbnQtc2l6ZTogMS4xMjVlbTtcbiAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgICBjb2xvcjogd2hpdGU7XG4gICAgICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgICAgIH1cbiAgICB9XG4gICAgdWwge1xuICAgICAgICBAaW5jbHVkZSBwbGFpbi1saXN0O1xuICAgIH1cbiAgICBAaW5jbHVkZSBzdXN5LWJyZWFrcG9pbnQoJHNjcmVlbi1tZC1taW4sICRtYXAtbWQpIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogJHYtcmh5dGhtICogMjtcbiAgICB9XG59XG4vLyBoaWRlIGphdmFzY3JpcHQgZGVwZW5kZW50IHBhcnRzXG4uZmlsbS1wYXJ0cyxcbi50YWItbW9iaWxlLXRvZ2dsZSB7XG4gICAgZGlzcGxheTogbm9uZTtcbn1cblxuLy8gZGVza3RvcCBsYXlvdXQgZm9yIGZpbG0gc3ViIG5hdmlnYXRpb25zXG4uZmlsbS1wYXJ0cyB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIEBpbmNsdWRlIHN1c3ktYnJlYWtwb2ludCgkc2NyZWVuLWxnLW1pbiwgJG1hcC1sZykge1xuICAgICAgICBAaW5jbHVkZSBzcGFuKDMuNSBsYXN0KTtcbiAgICB9XG4gICAgQGluY2x1ZGUgc3VzeS1icmVha3BvaW50KCRzY3JlZW4tamItbWluLCAkbWFwLWxnKSB7XG4gICAgICAgIEBpbmNsdWRlIHNwYW4oMyBsYXN0KTtcbiAgICB9XG59XG5cbi5pbmZvLXRhYnMge1xuICAgIC50YWItbGluayB7XG4gICAgICAgIEBpbmNsdWRlIHRyYW5zaXRpb24oYmFja2dyb3VuZCwgMC41cywgZWFzZS1pbi1vdXQpO1xuICAgICAgICBwYWRkaW5nOiAwLjU2MjVlbSAxZW07XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICAgIGJhY2tncm91bmQ6ICRkYXJrQmx1ZTtcbiAgICAgICAgfVxuICAgICAgICAmLmFjdGl2ZSB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiAkZGFya0JsdWU7XG4gICAgICAgICAgICBjdXJzb3I6IGRlZmF1bHQ7XG4gICAgICAgIH1cbiAgICB9XG4gICAgQGluY2x1ZGUgc3VzeS1icmVha3BvaW50KCRzY3JlZW4tbGctbWluLCAkbWFwLWxnKSB7XG4gICAgICAgIC50YWItbGlzdCB7XG4gICAgICAgICAgICBkaXNwbGF5OiAtd2Via2l0LWJveDtcbiAgICAgICAgICAgIGRpc3BsYXk6IC1tcy1mbGV4Ym94O1xuICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgIGxpIHtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgICAgICAgICAgYSB7XG4gICAgICAgICAgICAgICAgICAgIHBhZGRpbmc6IDEuM2VtIDEuNWVtO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbiAgICBAaW5jbHVkZSBzdXN5LWJyZWFrcG9pbnQoJHNjcmVlbi1sZy1taW4sICRtYXAtbGcpIHtcbiAgICAgICAgQGluY2x1ZGUgc3Bhbig4LjUgZmlyc3QpO1xuICAgIH1cbiAgICBAaW5jbHVkZSBzdXN5LWJyZWFrcG9pbnQoJHNjcmVlbi1qYi1taW4sICRtYXAtbGcpIHtcbiAgICAgICAgQGluY2x1ZGUgc3Bhbig5IGZpcnN0KTtcbiAgICB9XG59XG5cbi8vIHRhYiBjb250ZW50IGRlZmF1bHRcbi50YWItcGFuZWwge1xuICAgIC50YWItcGFuZWwtdGl0bGUge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAwLjI1ZW07XG4gICAgfVxuICAgIC5wYXJ0LWNvbnRlbnQge1xuICAgICAgICBtYXJnaW4tdG9wOiAzZW07XG4gICAgfVxuXG4gICAgLmJpbyB7XG4gICAgICAgIGZpZ3VyZSB7XG4gICAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgICAgICBtYXJnaW46IDAgYXV0bztcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206ICR2LXJoeXRobTtcbiAgICAgICAgICAgIHNwYW4ge1xuICAgICAgICAgICAgICAgIGhlaWdodDogNzV2dztcbiAgICAgICAgICAgICAgICB3aWR0aDogNzV2dztcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICAgICAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogNTAlO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgaW1nIHtcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBjZW50ZXI7XG4gICAgICAgICAgICAgICAgb2JqZWN0LWZpdDogY292ZXI7XG4gICAgICAgICAgICAgICAgbWluLWhlaWdodDogMTAwJTtcbiAgICAgICAgICAgICAgICBtaW4td2lkdGg6IDEwMCU7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgQGluY2x1ZGUgc3VzeS1icmVha3BvaW50KCRzY3JlZW4tc20tbWluLCAkbWFwLXNtKSB7XG4gICAgICAgICAgICBmaWd1cmUge1xuICAgICAgICAgICAgICAgIHNwYW4ge1xuICAgICAgICAgICAgICAgICAgICB3aWR0aDogMTBlbTtcbiAgICAgICAgICAgICAgICAgICAgaGVpZ2h0OiAxMGVtO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICBAaW5jbHVkZSBzdXN5LWJyZWFrcG9pbnQoJHNjcmVlbi1tZC1taW4sICRtYXAtbWQpIHtcbiAgICAgICAgICAgIGZpZ3VyZSxcbiAgICAgICAgICAgIC5iaW8tY29udGVudCB7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgZmlndXJlIHtcbiAgICAgICAgICAgICAgICB3aWR0aDogMzAlO1xuICAgICAgICAgICAgICAgIHZlcnRpY2FsLWFsaWduOiB0b3A7XG4gICAgICAgICAgICAgICAgc3BhbiB7XG4gICAgICAgICAgICAgICAgICAgIHdpZHRoOiAxMi41ZW07XG4gICAgICAgICAgICAgICAgICAgIGhlaWdodDogMTIuNWVtO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIC5iaW8tY29udGVudCB7XG4gICAgICAgICAgICAgICAgd2lkdGg6IDY1JTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIEBzdXBwb3J0cyAoZGlzcGxheTogZ3JpZCkge1xuICAgICAgICAgICAgICAgIGZpZ3VyZSxcbiAgICAgICAgICAgICAgICAuYmlvLWNvbnRlbnQge1xuICAgICAgICAgICAgICAgICAgICB3aWR0aDogYXV0bztcbiAgICAgICAgICAgICAgICAgICAgdmVydGljYWwtYWxpZ246IGluaGVyaXQ7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIGZpZ3VyZSB7XG4gICAgICAgICAgICAgICAgICAgIGFsaWduLWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBkaXNwbGF5OiBncmlkO1xuICAgICAgICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiAyLjVmciA0ZnI7XG4gICAgICAgIH1cbiAgICAgICAgQGluY2x1ZGUgc3VzeS1icmVha3BvaW50KCRzY3JlZW4tbGctbWluLCAkbWFwLWxnKSB7XG4gICAgICAgICAgICBmaWd1cmUge1xuICAgICAgICAgICAgICAgIHNwYW4ge1xuICAgICAgICAgICAgICAgICAgICB3aWR0aDogMTVlbTtcbiAgICAgICAgICAgICAgICAgICAgaGVpZ2h0OiAxNWVtO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICBAaW5jbHVkZSBzdXN5LWJyZWFrcG9pbnQoJHNjcmVlbi1qYi1taW4sICRtYXAtbGcpIHtcbiAgICAgICAgICAgIGZpZ3VyZSB7XG4gICAgICAgICAgICAgICAgc3BhbiB7XG4gICAgICAgICAgICAgICAgICAgIHdpZHRoOiAyMGVtO1xuICAgICAgICAgICAgICAgICAgICBoZWlnaHQ6IDIwZW07XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgLnBkZi1saW5rcyB7XG4gICAgICAgIHN0cm9uZyB7XG4gICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDAuNWVtO1xuICAgICAgICB9XG4gICAgICAgIC5wYXJ0LWRvd25sb2FkIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgICAgICY6bm90KDpsYXN0LW9mLXR5cGUpIHtcbiAgICAgICAgICAgICAgICAmOmFmdGVyIHtcbiAgICAgICAgICAgICAgICAgICAgY29udGVudDogXCJ8XCI7XG4gICAgICAgICAgICAgICAgICAgIGNvbG9yOiAkbWVkR3JheTtcbiAgICAgICAgICAgICAgICAgICAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICAgICAgICAgICAgICBtYXJnaW4tbGVmdDogMC40Mzc1ZW07XG4gICAgICAgICAgICAgICAgICAgIG1hcmdpbi1yaWdodDogMC4zMTI1ZW07XG4gICAgICAgICAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAxO1xuICAgICAgICAgICAgICAgICAgICB2ZXJ0aWNhbC1hbGlnbjogdGV4dC10b3A7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuICAgIC5zaW5nbGUtZG93bmxvYWQge1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgfVxuICAgIEBpbmNsdWRlIHN1c3ktYnJlYWtwb2ludCgkc2NyZWVuLXNtLW1pbiwgJG1hcC1zbSkge1xuICAgICAgICBAaW5jbHVkZSBzcGFuKDMpO1xuICAgICAgICBmbG9hdDogbm9uZTtcbiAgICB9XG4gICAgQGluY2x1ZGUgc3VzeS1icmVha3BvaW50KCRzY3JlZW4tbWQtbWluLCAkbWFwLW1kKSB7XG4gICAgICAgIEBpbmNsdWRlIHNwYW4oNik7XG4gICAgICAgIGZsb2F0OiBub25lO1xuICAgIH1cbiAgICBAaW5jbHVkZSBzdXN5LWJyZWFrcG9pbnQoJHNjcmVlbi1sZy1taW4sICRtYXAtbGcpIHtcbiAgICAgICAgbWF4LXdpZHRoOiA2NS4yNWVtO1xuICAgIH1cbn1cblxuLnJlbGF0ZWQtZmVhdHVyZS1saXN0IHtcbiAgICAuZmlsdGVycyB7XG4gICAgICAgIC5sYWJlbCB7XG4gICAgICAgICAgICBAaW5jbHVkZSBzdXN5LWJyZWFrcG9pbnQoJHNjcmVlbi1sZy1taW4sICRtYXAtbGcpIHtcbiAgICAgICAgICAgICAgICBtYXJnaW4tbGVmdDogLTQuMTg3NWVtO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIGZvcm0ge1xuICAgICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICAgICAgZmllbGRzZXQgbGFiZWwge1xuICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgICAgICY6Zmlyc3Qtb2YtdHlwZSB7XG4gICAgICAgICAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDA7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICY6bGFzdC1vZi10eXBlIHtcbiAgICAgICAgICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogMDtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0NS4zMTI1ZW0pIHtcbiAgICAgICAgICAgICAgICAgICAgd2lkdGg6IDcuNWVtO1xuICAgICAgICAgICAgICAgICAgICAmOmZpcnN0LW9mLXR5cGUge1xuICAgICAgICAgICAgICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogMS4yNWVtIDAgMCAxLjI1ZW07XG4gICAgICAgICAgICAgICAgICAgICAgICBwYWRkaW5nLXJpZ2h0OiAxLjE1ZW07XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgJjpsYXN0LW9mLXR5cGUge1xuICAgICAgICAgICAgICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogMCAxLjI1ZW0gMS4yNWVtIDA7XG4gICAgICAgICAgICAgICAgICAgICAgICBwYWRkaW5nLWxlZnQ6IDEuMTVlbTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBzdXN5LWJyZWFrcG9pbnQoJHNjcmVlbi1tZC1taW4sICRtYXAtbWQpIHtcbiAgICAgICAgICAgICAgICAgICAgd2lkdGg6IDEwZW07XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogMjMuNzVlbSkge1xuICAgICAgICAgICAgICAgICAgICBmb250LXNpemU6IDQuODV2dztcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG59XG5cbi8vIGVuaGFuY2VkIHZlcnNpb25zIG9mIGZpbG0gc3VibmF2cyBhbmQgdGFiIGNvbnRlbnRcbi5qcyB7XG4gICAgLy8gYWxsIGNvdmUgc3R1ZmYgaXMgamF2YXNjcmlwdCBkZXBlbmRlbnQgc28gb25seSBzaG93IGl0IGlmXG4gICAgLy8gSmF2YVNjcmlwdCBpcyBhdmFpbGFibGVcbiAgICAuZmlsbS1wYXJ0cyB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIH1cbiAgICAucGFydC1zZWxlY3Rpb24ge1xuICAgICAgICBmb250LXNpemU6IDEuMTI1ZW07XG4gICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICBAaW5jbHVkZSBjbGVhcmZpeDtcbiAgICAgICAgbWFyZ2luOiAwLjI1ZW0gMC4zZW07XG4gICAgICAgIC5pbnN0cnVjdGlvbiB7XG4gICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICB9XG4gICAgICAgIGJ1dHRvbiB7XG4gICAgICAgICAgICBoZWlnaHQ6IDMuODE3NWVtO1xuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgICAgICB6LWluZGV4OiAyO1xuICAgICAgICAgICAgYmFja2dyb3VuZDogd2hpdGU7XG4gICAgICAgICAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAgICAgICAgICAgYm9yZGVyOiAwLjA2MjVlbSBzb2xpZCAkbWVkR3JheTtcbiAgICAgICAgICAgIGJvcmRlci1ib3R0b206IG5vbmU7XG4gICAgICAgICAgICBwYWRkaW5nOiAwLjI1ZW0gMWVtO1xuICAgICAgICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICAgICAgICAgIGNvbG9yOiAkY2hhcmNvYWw7XG4gICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgICAgICAucGFydCB7XG4gICAgICAgICAgICAgICAgd2lkdGg6IGNhbGMoMTAwJSAtIDFlbSk7XG4gICAgICAgICAgICAgICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICAgICAgICAgICAgICBzcGFuIHtcbiAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMC43NzdlbTtcbiAgICAgICAgICAgICAgICAgICAgY29sb3I6ICRjb3JuZmxvd2VyO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIHN2ZyB7XG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgY2VudGVyKGZhbHNlLCB0cnVlKTtcbiAgICAgICAgICAgICAgICBtYXgtaGVpZ2h0OiAxZW07XG4gICAgICAgICAgICAgICAgbWF4LXdpZHRoOiAxZW07XG4gICAgICAgICAgICAgICAgcmlnaHQ6IDFlbTtcbiAgICAgICAgICAgICAgICBmaWxsOiAkbWVkR3JheTtcbiAgICAgICAgICAgICAgICB0cmFuc2Zvcm0tb3JpZ2luOiA1MCUgMjIuNSU7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICAmLmNsb3NlLXN0YXRlIHtcbiAgICAgICAgICAgICAgICBzdmcge1xuICAgICAgICAgICAgICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSgxODBkZWcpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5maWxtLXBhcnRzLWxhcmdlIHtcbiAgICAgICAgQGluY2x1ZGUgdHJhbnNpdGlvbihhbGwsIDAuMzVzLCBlYXNlLWluLW91dCk7XG4gICAgICAgIHBhZGRpbmc6IDAuMjVlbSAwLjM1ZW07XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHJpZ2h0OiAwO1xuICAgICAgICB0b3A6IDQuMDVlbTtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICB6LWluZGV4OiAxO1xuICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgICAgICB2aXNpYmlsaXR5OiBoaWRkZW47XG4gICAgICAgIG1heC1oZWlnaHQ6IDA7XG4gICAgICAgICYub3BlbiB7XG4gICAgICAgICAgICBtYXgtaGVpZ2h0OiAyMGVtO1xuICAgICAgICAgICAgdmlzaWJpbGl0eTogdmlzaWJsZTtcbiAgICAgICAgfVxuICAgICAgICBhIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIHRyYW5zaXRpb24oYmFja2dyb3VuZCwgMC41cywgZWFzZS1pbi1vdXQpO1xuICAgICAgICAgICAgYmFja2dyb3VuZDogd2hpdGU7XG4gICAgICAgICAgICBwYWRkaW5nOiAwLjI1ZW0gMWVtO1xuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICBjb2xvcjogJGNoYXJjb2FsO1xuICAgICAgICAgICAgYm9yZGVyOiAwLjA2MjVlbSBzb2xpZCAkbWVkR3JheTtcbiAgICAgICAgICAgIHNwYW4ge1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMC43NzdlbTtcbiAgICAgICAgICAgICAgICBjb2xvcjogJGNvcm5mbG93ZXI7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiAkZG92ZTtcbiAgICAgICAgICAgICAgICBzcGFuIHtcbiAgICAgICAgICAgICAgICAgICAgY29sb3I6ICRjb3JuZmxvd2VyO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgICYuYWN0aXZlIHtcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiAkZG92ZTtcbiAgICAgICAgICAgICAgICBjdXJzb3I6IGRlZmF1bHQ7XG4gICAgICAgICAgICAgICAgc3BhbiB7XG4gICAgICAgICAgICAgICAgICAgIGNvbG9yOiAkY29ybmZsb3dlcjtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgbGkge1xuICAgICAgICAgICAgJjpub3QoOmxhc3Qtb2YtdHlwZSkge1xuICAgICAgICAgICAgICAgIGEge1xuICAgICAgICAgICAgICAgICAgICBib3JkZXItYm90dG9tOiBub25lO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICBAaW5jbHVkZSBzdXN5LWJyZWFrcG9pbnQoJHNjcmVlbi1tZC1taW4sICRtYXAtbWQpIHtcbiAgICAgICAgICAgIHRvcDogNC4zNWVtO1xuICAgICAgICAgICAgcGFkZGluZzogMC4yNWVtIDAuMzVlbTtcbiAgICAgICAgfVxuICAgIH1cbiAgICAudGFiLW1vYmlsZS10b2dnbGUge1xuICAgICAgICBAaW5jbHVkZSBib3JkZXItYnV0dG9uKHdoaXRlLCAwLjA2MjVlbSwgd2hpdGUpO1xuICAgICAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgaGVpZ2h0OiAzLjgxNzVlbTtcbiAgICAgICAgd2lkdGg6IGNhbGMoMTAwJSAtIDAuNjVlbSk7XG4gICAgICAgIG1hcmdpbjogMC4zZW07XG4gICAgICAgIGZvbnQtc2l6ZTogMS4xMjVlbTtcbiAgICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICAgICAgJi5tdXRpcGxlLWVwaXNvZGVzIHtcbiAgICAgICAgICAgIG1hcmdpbjogMCAwLjNlbSAwLjNlbSAwLjNlbTtcbiAgICAgICAgfVxuICAgICAgICBzcGFuIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgICAgIG1hcmdpbi1yaWdodDogMS41ZW07XG4gICAgICAgICAgICBwYWRkaW5nLWJvdHRvbTogMC4xNWVtO1xuICAgICAgICB9XG4gICAgICAgICY6aG92ZXIsXG4gICAgICAgICY6Zm9jdXMsXG4gICAgICAgICY6YWN0aXZlIHtcbiAgICAgICAgICAgIGJvcmRlcjogMC4wNjI1ZW0gc29saWQgMC4wNjI1ZW07XG4gICAgICAgIH1cbiAgICAgICAgc3ZnIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIGNlbnRlcihmYWxzZSwgdHJ1ZSk7XG4gICAgICAgICAgICBtYXgtaGVpZ2h0OiAxZW07XG4gICAgICAgICAgICBtYXgtd2lkdGg6IDFlbTtcbiAgICAgICAgICAgIHJpZ2h0OiAxZW07XG4gICAgICAgICAgICBmaWxsOiB3aGl0ZTtcbiAgICAgICAgICAgIHRyYW5zZm9ybS1vcmlnaW46IDUwJSAyMi41JTtcbiAgICAgICAgfVxuICAgICAgICAmLmNsb3NlLXN0YXRlIHtcbiAgICAgICAgICAgIHN2ZyB7XG4gICAgICAgICAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoMTgwZGVnKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICBAaW5jbHVkZSBzdXN5LWJyZWFrcG9pbnQoJHNjcmVlbi1sZy1taW4sICRtYXAtbGcpIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAuaW5mby10YWJzIHtcbiAgICAgICAgLnRhYi1saXN0Lm1lbnUge1xuICAgICAgICAgICAgdmlzaWJpbGl0eTogaGlkZGVuO1xuICAgICAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICAgICAgICAgIG1heC1oZWlnaHQ6IDA7XG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgIEBpbmNsdWRlIHRyYW5zaXRpb24oYWxsLCAwLjM1cywgZWFzZS1pbi1vdXQpO1xuICAgICAgICAgICAgJi5vcGVuIHtcbiAgICAgICAgICAgICAgICB2aXNpYmlsaXR5OiB2aXNpYmxlO1xuICAgICAgICAgICAgICAgIG1heC1oZWlnaHQ6IDIwZW07XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBAaW5jbHVkZSBzdXN5LWJyZWFrcG9pbnQoJHNjcmVlbi1sZy1taW4sICRtYXAtbGcpIHtcbiAgICAgICAgICAgICAgICB2aXNpYmlsaXR5OiB2aXNpYmxlO1xuICAgICAgICAgICAgICAgIG1heC1oZWlnaHQ6IGluaGVyaXQ7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG4gICAgLy8gdGFiIGNvbnRlbnRcbiAgICAudGFiLXBhbmVsIHtcbiAgICAgICAgQGluY2x1ZGUgYW5pbWF0ZWQoMC41cyk7XG4gICAgICAgIG1hcmdpbi10b3A6ICR2LXJoeXRobTtcbiAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgJi5kZWZhdWx0IHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICB9XG4gICAgICAgICYub3BlbiB7XG4gICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgIEBpbmNsdWRlIGZhZGVJbjtcbiAgICAgICAgfVxuICAgICAgICBAaW5jbHVkZSBzdXN5LWJyZWFrcG9pbnQoJHNjcmVlbi1sZy1taW4sICRtYXAtbGcpIHtcbiAgICAgICAgICAgIG1heC13aWR0aDogNjUuMjVlbTtcbiAgICAgICAgfVxuICAgIH1cbn1cblxuLmZpbG0tc2hvcC1saW5rcyB7XG4gICAgbWFyZ2luOiAkdi1yaHl0aG0gKiAyLjUgMDtcbiAgICBjbGVhcjogYm90aDtcbiAgICBpbWcge1xuICAgICAgICBtYXgtd2lkdGg6IDYuMjVlbTtcbiAgICB9XG4gICAgKiB7XG4gICAgICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gICAgfVxuICAgIGEge1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgfVxuICAgIHVsIHtcbiAgICAgICAgQGluY2x1ZGUgcGxhaW4tbGlzdDtcbiAgICAgICAgbGkge1xuICAgICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICAgICAgJjpub3QoOmZpcnN0LW9mLXR5cGUpIHtcbiAgICAgICAgICAgICAgICBtYXJnaW4tbGVmdDogMWVtO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxufVxuXG4uZmlsbS1mdW5kZXJzIHtcbiAgICBtYXJnaW4tYm90dG9tOiAkdi1yaHl0aG0gKiAyLjU7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICoge1xuICAgICAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICAgIH1cbiAgICBhIHtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIH1cbiAgICBpbWcge1xuICAgICAgICBtYXgtd2lkdGg6IDEwZW07XG4gICAgfVxuICAgIHVsIHtcbiAgICAgICAgQGluY2x1ZGUgcGxhaW4tbGlzdDtcbiAgICAgICAgbGkge1xuICAgICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMWVtO1xuICAgICAgICAgICAgJjpub3QoOmZpcnN0LW9mLXR5cGUpIHtcbiAgICAgICAgICAgICAgICBtYXJnaW4tbGVmdDogMWVtO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuICAgIEBpbmNsdWRlIHN1c3ktYnJlYWtwb2ludCgkc2NyZWVuLW1kLW1pbiwgJG1hcC1tZCkge1xuICAgICAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAgIH1cbn1cblxuLmZpbG0tdGl0bGUge1xuICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgLnBhc3Nwb3J0LWljb24ge1xuICAgICAgICBtYXgtd2lkdGg6IDEuMTVlbTtcbiAgICAgICAgbWF4LWhlaWdodDogMS4xNWVtO1xuICAgICAgICBwYWRkaW5nLXJpZ2h0OiAwLjI1ZW07XG4gICAgfVxufVxuXG4ucHJlbWllcmUtZGF0ZSB7XG4gICAgY29sb3I6ICRjb3JuZmxvd2VyO1xufVxuXG4udGFnbGluZSB7XG4gICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBmb250LXNpemU6IDEuMjVlbTtcbiAgICBjb2xvcjogJG1lZEdyYXk7XG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbn1cbiIsIi5mZWF0dXJlLWxpc3RpbmdzIHtcbiAgQGluY2x1ZGUgY2xlYXJmaXg7XG59XG5cbi5mZWF0dXJlLWxpc3Qge1xuICBAaW5jbHVkZSBjbGVhcmZpeDtcbiAgbGkge1xuICAgIG1hcmdpbi1ib3R0b206JHYtcmh5dGhtKjI7XG4gIH1cbiAgQGluY2x1ZGUgc3VzeS1icmVha3BvaW50KCRzY3JlZW4tbWQtbWluLCAkbWFwLW1kKSB7XG4gICAgbGkge1xuICAgICAgQGluY2x1ZGUgc3BhbigyLjY2KTtcbiAgICAgICY6bnRoLWNoaWxkKDNuKSB7XG4gICAgICAgIEBpbmNsdWRlIGxhc3Q7XG4gICAgICB9XG4gICAgICAmOm50aC1jaGlsZCgzbisxKSB7XG4gICAgICAgIEBpbmNsdWRlIGZpcnN0O1xuICAgICAgICBjbGVhcjpib3RoO1xuICAgICAgfVxuICAgICAgJjpudGgtY2hpbGQoNSl7XG4gICAgICAgIEBpbmNsdWRlIHNwYW4oNS4zMik7XG4gICAgICAgIEBpbmNsdWRlIGxhc3Q7XG4gICAgICB9XG4gICAgICAmOm50aC1vZi10eXBlKDYpIHtcbiAgICAgICAgQGluY2x1ZGUgZmlyc3Q7XG4gICAgICAgIGNsZWFyOmJvdGg7XG4gICAgICB9XG4gICAgICAmOm50aC1vZi10eXBlKDcpIHtcbiAgICAgICAgY2xlYXI6bm9uZTtcbiAgICAgIH1cbiAgICAgICY6bnRoLW9mLXR5cGUoOCkge1xuICAgICAgICBAaW5jbHVkZSBsYXN0O1xuICAgICAgICBtYXJnaW4tcmlnaHQ6Z3V0dGVyKCk7XG4gICAgICAgIGNsZWFyOm5vbmU7XG4gICAgICB9XG4gICAgICAmOm50aC1vZi10eXBlKDkpIHtcbiAgICAgICAgQGluY2x1ZGUgc3Bhbig1LjMyKTtcbiAgICAgICAgQGluY2x1ZGUgZmlyc3Q7XG4gICAgICAgIGNsZWFyOmJvdGg7XG4gICAgICB9XG4gICAgICAmOm50aC1vZi10eXBlKDEwKSB7XG4gICAgICAgIEBpbmNsdWRlIGxhc3Q7XG4gICAgICAgIGNsZWFyOm5vbmU7XG4gICAgICB9XG4gICAgICAmOm50aC1vZi10eXBlKDExKSB7XG4gICAgICAgIEBpbmNsdWRlIGZpcnN0O1xuICAgICAgICBjbGVhcjpib3RoO1xuICAgICAgfVxuICAgICAgJjpudGgtb2YtdHlwZSgxMikge1xuICAgICAgICBmbG9hdDpsZWZ0O1xuICAgICAgfVxuICAgICAgJjpudGgtb2YtdHlwZSgxMykge1xuICAgICAgICBAaW5jbHVkZSBsYXN0O1xuICAgICAgICBjbGVhcjpub25lO1xuICAgICAgfVxuICAgICAgJjpudGgtb2YtdHlwZSgxNCkge1xuICAgICAgICBAaW5jbHVkZSBmaXJzdDtcbiAgICAgICAgY2xlYXI6Ym90aDtcbiAgICAgIH1cbiAgICAgICY6bnRoLW9mLXR5cGUoMTUpIHtcbiAgICAgICAgQGluY2x1ZGUgc3Bhbig1LjMyKTtcbiAgICAgICAgQGluY2x1ZGUgbGFzdDtcbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgQGluY2x1ZGUgc3VzeS1icmVha3BvaW50KCRzY3JlZW4tbGctbWluLCAkbWFwLWxnKSB7XG4gICAgbGkge1xuICAgICAgQGluY2x1ZGUgc3Bhbig0KTtcbiAgICAgICY6bnRoLWNoaWxkKDNuKSB7XG4gICAgICAgIEBpbmNsdWRlIGxhc3Q7XG4gICAgICB9XG4gICAgICAmOm50aC1jaGlsZCgzbisxKSB7XG4gICAgICAgIEBpbmNsdWRlIGZpcnN0O1xuICAgICAgICBjbGVhcjpib3RoO1xuICAgICAgfVxuICAgICAgJjpudGgtY2hpbGQoNSl7XG4gICAgICAgIEBpbmNsdWRlIHNwYW4oOCk7XG4gICAgICAgIEBpbmNsdWRlIGxhc3Q7XG4gICAgICB9XG4gICAgICAmOm50aC1vZi10eXBlKDYpIHtcbiAgICAgICAgQGluY2x1ZGUgZmlyc3Q7XG4gICAgICAgIGNsZWFyOmJvdGg7XG4gICAgICB9XG4gICAgICAmOm50aC1vZi10eXBlKDcpIHtcbiAgICAgICAgY2xlYXI6bm9uZTtcbiAgICAgIH1cbiAgICAgICY6bnRoLW9mLXR5cGUoOCkge1xuICAgICAgICBAaW5jbHVkZSBsYXN0O1xuICAgICAgICBtYXJnaW4tcmlnaHQ6Z3V0dGVyKCk7XG4gICAgICAgIGNsZWFyOm5vbmU7XG4gICAgICB9XG4gICAgICAmOm50aC1vZi10eXBlKDkpIHtcbiAgICAgICAgQGluY2x1ZGUgc3Bhbig4KTtcbiAgICAgICAgQGluY2x1ZGUgZmlyc3Q7XG4gICAgICAgIGNsZWFyOmJvdGg7XG4gICAgICB9XG4gICAgICAmOm50aC1vZi10eXBlKDEwKSB7XG4gICAgICAgIEBpbmNsdWRlIGxhc3Q7XG4gICAgICAgIGNsZWFyOm5vbmU7XG4gICAgICB9XG4gICAgICAmOm50aC1vZi10eXBlKDExKSB7XG4gICAgICAgIEBpbmNsdWRlIGZpcnN0O1xuICAgICAgICBjbGVhcjpib3RoO1xuICAgICAgfVxuICAgICAgJjpudGgtb2YtdHlwZSgxMikge1xuICAgICAgICBmbG9hdDpsZWZ0O1xuICAgICAgfVxuICAgICAgJjpudGgtb2YtdHlwZSgxMykge1xuICAgICAgICBAaW5jbHVkZSBsYXN0O1xuICAgICAgICBjbGVhcjpub25lO1xuICAgICAgfVxuICAgICAgJjpudGgtb2YtdHlwZSgxNCkge1xuICAgICAgICBAaW5jbHVkZSBmaXJzdDtcbiAgICAgICAgY2xlYXI6Ym90aDtcbiAgICAgIH1cbiAgICAgICY6bnRoLW9mLXR5cGUoMTUpIHtcbiAgICAgICAgQGluY2x1ZGUgc3Bhbig4KTtcbiAgICAgICAgQGluY2x1ZGUgbGFzdDtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbi5mZWF0dXJlcy1wYWdpbmF0ZWQge1xuICBsaSB7XG4gICAgbWFyZ2luLWJvdHRvbTokdi1yaHl0aG0qMjtcbiAgfVxuICBAaW5jbHVkZSBzdXN5LWJyZWFrcG9pbnQoJHNjcmVlbi1tZC1taW4sICRtYXAtbWQpIHtcbiAgICBsaSB7XG4gICAgICBAaW5jbHVkZSBnYWxsZXJ5KDIuNjYpO1xuICAgIH1cbiAgfVxuICBAaW5jbHVkZSBzdXN5LWJyZWFrcG9pbnQoJHNjcmVlbi1sZy1taW4sICRtYXAtbGcpIHtcbiAgICBsaSB7XG4gICAgICBAaW5jbHVkZSBnYWxsZXJ5KDQpO1xuICAgIH1cbiAgfVxufSIsIi5mZWF0dXJlIHtcbiAgICAub3ZlcmxpbmUge1xuICAgICAgICBAaW5jbHVkZSBjbGVhcmZpeDtcbiAgICAgICAgLnpldGEge1xuICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIH1cbiAgICAgICAgKyBoNCB7XG4gICAgICAgICAgICBtYXJnaW4tdG9wOiAtMC42NWVtO1xuICAgICAgICB9XG4gICAgICAgIC5pbnRyby1jb250ZW50IHtcbiAgICAgICAgICAgIG1heC13aWR0aDogNDVlbTtcbiAgICAgICAgICAgIG1hcmdpbjogMCBhdXRvO1xuICAgICAgICB9XG4gICAgICAgIC5pbnRybyB7XG4gICAgICAgICAgICBtYXJnaW46IGNhbGMoJHYtcmh5dGhtIC8gMS41KSAwIDAgMDtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMS4yNWVtO1xuICAgICAgICB9XG4gICAgICAgIC5ieWxpbmUge1xuICAgICAgICAgICAgbWFyZ2luLXRvcDogJHYtcmh5dGhtO1xuICAgICAgICAgICAgY29sb3I6ICRncmF5O1xuICAgICAgICAgICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICAgICAgICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gICAgICAgICAgICAmICsgLnNvY2lhbC1zaGFyaW5nIHtcbiAgICAgICAgICAgICAgICBtYXJnaW4tdG9wOiBjYWxjKCR2LXJoeXRobSAvIDIpO1xuICAgICAgICAgICAgICAgIEBpbmNsdWRlIHN1c3ktYnJlYWtwb2ludCgkc2NyZWVuLXNtLW1pbiwgJG1hcC1zbSkge1xuICAgICAgICAgICAgICAgICAgICBtYXJnaW4tdG9wOiAkdi1yaHl0aG0gKiAxLjI7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgQGluY2x1ZGUgc3VzeS1icmVha3BvaW50KCRzY3JlZW4tc20tbWluLCAkbWFwLXNtKSB7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICAgICAgICAgIG1hcmdpbi1yaWdodDogJHYtcmh5dGhtICogMS41O1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIC5zb2NpYWwtc2hhcmluZyB7XG4gICAgICAgICAgICAvLyBoaWRlIGZvciBub25lIGphdmFzY3JpcHQgY3BhYmxlIGJyb3dzZXJzXG4gICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICAgICAgY29sb3I6ICRncmF5O1xuICAgICAgICAgICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICAgICAgICAgIG1hcmdpbi10b3A6ICR2LXJoeXRobTtcbiAgICAgICAgICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gICAgICAgICAgICBzcGFuIHtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgICAgICAgICAgbWFyZ2luLXRvcDogMC4wMTVlbTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIHVsIHtcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBwbGFpbi1saXN0O1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgICAgICAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICAgICAgICAgICAgICAgIGhlaWdodDogMS45NWVtO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgbGkge1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgICAgICAgICBwYWRkaW5nOiAwO1xuICAgICAgICAgICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgICAgICAgICAgd2lkdGg6IDEuOTVlbTtcbiAgICAgICAgICAgICAgICBoZWlnaHQ6IDEuOTVlbTtcbiAgICAgICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDAuMWVtO1xuICAgICAgICAgICAgICAgICY6Zmlyc3Qtb2YtdHlwZSB7XG4gICAgICAgICAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiAwLjI1ZW07XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIC5jb3B5LXVybC1jb250YWluZXIge1xuICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiAjZWFhNzAwO1xuICAgICAgICAgICAgICAgICAgICBwYWRkaW5nOiAxZW07XG4gICAgICAgICAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiA0MDA7XG4gICAgICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMWVtO1xuICAgICAgICAgICAgICAgICAgICBjb2xvcjogd2hpdGU7XG4gICAgICAgICAgICAgICAgICAgIGxhYmVsIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgICAgICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDAuMjVlbTtcbiAgICAgICAgICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMC45NWVtO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIHRleHRhcmVhIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gICAgICAgICAgICAgICAgICAgICAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgYnV0dG9uIHtcbiAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgcGxhaW4tYnV0dG9uO1xuICAgICAgICAgICAgICAgICAgICBwYWRkaW5nOiAwO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBhLFxuICAgICAgICAgICAgICAgIGJ1dHRvbiB7XG4gICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICAgICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgICAgICAgICAgICAgICAgcGFkZGluZzogMC4xZW07XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIHN2ZyB7XG4gICAgICAgICAgICAgICAgICAgIG92ZXJmbG93OiB2aXNpYmxlO1xuICAgICAgICAgICAgICAgICAgICAuY29sb3Ige1xuICAgICAgICAgICAgICAgICAgICAgICAgZmlsbDogd2hpdGU7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgLmZhY2Vib29rIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGZpbGw6ICM0MDczYjc7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgLnR3aXR0ZXIge1xuICAgICAgICAgICAgICAgICAgICAgICAgZmlsbDogIzI4YTllMDtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAubWFpbHRvIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGZpbGw6ICM4ZGI3Mjk7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgLmNvcHkge1xuICAgICAgICAgICAgICAgICAgICAgICAgZmlsbDogI2VhYTcwMDtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIEBpbmNsdWRlIHN1c3ktYnJlYWtwb2ludCgkc2NyZWVuLW1kLW1pbiwgJG1hcC1tZCkge1xuICAgICAgICAgICAgLmludHJvLWNvbnRlbnQge1xuICAgICAgICAgICAgICAgIG1heC13aWR0aDogaW5oZXJpdDtcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBzcGFuKDUgZmlyc3QpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgLmFkLWJsb2NrIHtcbiAgICAgICAgICAgICAgICB0ZXh0LWFsaWduOiByaWdodDtcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBzcGFuKDMgbGFzdCk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgQGluY2x1ZGUgc3VzeS1icmVha3BvaW50KCRzY3JlZW4tbGctbWluLCAkbWFwLWxnKSB7XG4gICAgICAgICAgICAuaW50cm8tY29udGVudCB7XG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgc3Bhbig4LjUgZmlyc3QpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgLmFkLWJsb2NrIHtcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBzcGFuKDMuNSBsYXN0KTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5tcDQtd3JhcHBlciB7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMzBweDtcblxuICAgICAgICAuaGVybyB7XG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgIHBhZGRpbmctdG9wOiA1NiU7XG4gICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cbiAgICAgICAgICAgIHZpZGVvIHtcbiAgICAgICAgICAgICAgICBvYmplY3QtZml0OiBjb3ZlcjtcbiAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgICAgICBoZWlnaHQ6IGF1dG87XG4gICAgICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgICAgIHRvcDogMDtcbiAgICAgICAgICAgICAgICBsZWZ0OiAwO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBidXR0b24ucGxheS1wYXVzZSB7XG4gICAgICAgICAgICAgICAgd2lkdGg6IDM0cHg7XG4gICAgICAgICAgICAgICAgaGVpZ2h0OiAzNHB4O1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50IHVybCguLi9pbWFnZXMvYnV0dG9uX3ZpZGVvX3BsYXkucG5nKSBuby1yZXBlYXQgMCAwO1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQtc2l6ZTogMzRweCA2OHB4O1xuICAgICAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgICAgICB0b3A6IDEwcHg7XG4gICAgICAgICAgICAgICAgcmlnaHQ6IDEwcHg7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICAgICAgb3V0bGluZTogbm9uZTtcbiAgICAgICAgICAgICAgICBib3JkZXI6IG5vbmU7XG4gICAgICAgICAgICAgICAgb3BhY2l0eTogMC4zNTtcblxuICAgICAgICAgICAgICAgICYucGF1c2VkIHtcbiAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogMCAtMzRweDtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAuY2FwdGlvbi13cmFwcGVyIHtcbiAgICAgICAgICAgIHBhZGRpbmc6IDEwcHggMDtcbiAgICAgICAgfVxuICAgIH1cbiAgICAvLyB0ZXh0IGJsb2NrIHN0eWxpbmdcbiAgICAuZmVhdHVyZS1jb250ZW50IHtcbiAgICAgICAgbWF4LXdpZHRoOiA0NC41MzEyNWVtO1xuICAgICAgICBtYXJnaW46IDAgYXV0bztcbiAgICB9XG4gICAgLy8gbWVkaWEgZWxlbWVudCBzdHVmZnMgZm9yIGZlYXR1cmVzIG9ubHlcbiAgICAuY2VudGVyIHtcbiAgICAgICAgJi5sYXJnZS1tZWRpYSB7XG4gICAgICAgICAgICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDU3LjgxMjVlbSkge1xuICAgICAgICAgICAgICAgIGltZyB7XG4gICAgICAgICAgICAgICAgICAgIG1heC13aWR0aDogaW5oZXJpdDtcbiAgICAgICAgICAgICAgICAgICAgd2lkdGg6IDU3LjgxMjVlbTtcbiAgICAgICAgICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IC02LjY0MDYyNWVtO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbiAgICAucmlnaHQge1xuICAgICAgICBAaW5jbHVkZSBzdXN5LWJyZWFrcG9pbnQoJHNjcmVlbi1tZC1taW4sICRtYXAtbWQpIHtcbiAgICAgICAgICAgICYubWVkaXVtLW1lZGlhIHtcbiAgICAgICAgICAgICAgICBtYXgtd2lkdGg6IGluaGVyaXQ7XG4gICAgICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiAtNWVtO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuICAgIC5sZWZ0IHtcbiAgICAgICAgQGluY2x1ZGUgc3VzeS1icmVha3BvaW50KCRzY3JlZW4tbWQtbWluLCAkbWFwLW1kKSB7XG4gICAgICAgICAgICAmLm1lZGl1bS1tZWRpYSB7XG4gICAgICAgICAgICAgICAgbWF4LXdpZHRoOiBpbmhlcml0O1xuICAgICAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiAtNWVtO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxufVxuXG4uanMge1xuICAgIC5mZWF0dXJlIHtcbiAgICAgICAgLm92ZXJsaW5lIHtcbiAgICAgICAgICAgIC5zb2NpYWwtc2hhcmluZyB7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgc3VzeS1icmVha3BvaW50KCRzY3JlZW4tc20tbWluLCAkbWFwLXNtKSB7XG4gICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICAuY29weS11cmwtY29udGFpbmVyIHtcbiAgICAgICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgdHJhbnNpdGlvbihhbGwsIDAuMzVzLCBlYXNlLWluLW91dCk7XG4gICAgICAgICAgICAgICAgdG9wOiAtNmVtO1xuICAgICAgICAgICAgICAgIHdpZHRoOiAxNWVtO1xuICAgICAgICAgICAgICAgIGxlZnQ6IC0xMGVtO1xuICAgICAgICAgICAgICAgIG9wYWNpdHk6IDA7XG4gICAgICAgICAgICAgICAgei1pbmRleDogLTE7XG4gICAgICAgICAgICAgICAgJi5vcGVuIHtcbiAgICAgICAgICAgICAgICAgICAgb3BhY2l0eTogMTtcbiAgICAgICAgICAgICAgICAgICAgei1pbmRleDogMTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgYnV0dG9uIHtcbiAgICAgICAgICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgICAgICAgICByaWdodDogMWVtO1xuICAgICAgICAgICAgICAgICAgICB0b3A6IDAuNjVlbTtcbiAgICAgICAgICAgICAgICAgICAgd2lkdGg6IDEuNWVtO1xuICAgICAgICAgICAgICAgICAgICBoZWlnaHQ6IDEuNWVtO1xuICAgICAgICAgICAgICAgICAgICBwYWRkaW5nOiAwO1xuICAgICAgICAgICAgICAgICAgICBzdmcge1xuICAgICAgICAgICAgICAgICAgICAgICAgd2lkdGg6IDEuMjRlbTtcbiAgICAgICAgICAgICAgICAgICAgICAgIGhlaWdodDogMS4yNGVtO1xuICAgICAgICAgICAgICAgICAgICAgICAgZmlsbDogd2hpdGU7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgc3VzeS1icmVha3BvaW50KCRzY3JlZW4tbWQtbWluLCAkbWFwLW1kKSB7XG4gICAgICAgICAgICAgICAgICAgIHdpZHRoOiAyNGVtO1xuICAgICAgICAgICAgICAgICAgICB0ZXh0YXJlYSB7XG4gICAgICAgICAgICAgICAgICAgICAgICB3aWR0aDogY2FsYygxMDAlIC0gN2VtKTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAvLyBwYWRkaW5nIGFuZCBtYXJnaW4gYWRqdXN0bWVudHNcbiAgICAgICAgLmFkLWJsb2NrIHtcbiAgICAgICAgICAgICYuZGVza3RvcCB7XG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgc3VzeS1icmVha3BvaW50KCRzY3JlZW4tbWQtbWluLCAkbWFwLW1kKSB7XG4gICAgICAgICAgICAgICAgICAgIHBhZGRpbmc6IDAgMCAkdi1yaHl0aG0gMDtcbiAgICAgICAgICAgICAgICAgICAgbWFyZ2luLXRvcDogLSR2LXJoeXRobTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG59XG4iLCIuY29sbGVjdGlvbi1wYWdlIHtcbiAgICAuY29sbGVjdGlvbi1kZXRhaWwtaGVyby1pdGVtIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogJHYtcmh5dGhtICogMjtcbiAgICAgICAgaW1nIHtcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLmNvbGxlY3Rpb24tc2VjdGlvbiB7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgcGFkZGluZzogMmVtIDA7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuXG4gICAgICAgICYubm9fdGl0bGUge1xuICAgICAgICAgICAgcGFkZGluZzogMCAwIDJlbTtcbiAgICAgICAgfVxuXG4gICAgICAgICY6YWZ0ZXIge1xuICAgICAgICAgICAgY29udGVudDogXCJcIjtcbiAgICAgICAgICAgIHdpZHRoOiAxMDB2dztcbiAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgIGxlZnQ6IGNhbGMoLTEwMHZ3IC8gMiArIDUwJSk7XG4gICAgICAgICAgICByaWdodDogMDtcbiAgICAgICAgICAgIHRvcDogMDtcbiAgICAgICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgICAgICAgIHotaW5kZXg6IC0xO1xuICAgICAgICB9XG5cbiAgICAgICAgJi53aGl0ZTphZnRlciB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmZjtcbiAgICAgICAgfVxuXG4gICAgICAgICYuZ3JleTphZnRlciB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDIyNywgMjI3LCAyMjcsIDAuNzUpO1xuICAgICAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiLi4vaW1hZ2VzL2JnLWRlY28tY2lyY2xlLnBuZ1wiKTtcbiAgICAgICAgICAgIGJhY2tncm91bmQtc2l6ZTogMThlbSAxOGVtO1xuICAgICAgICB9XG4gICAgfVxufVxuIiwiLmdyaWQge1xuICAgIHotaW5kZXg6IDE7XG59XG5cbi5mZWF0dXJlLWZ1bGwtd2lkdGgge1xuICAgIHdpZHRoOiA1MCU7XG4gICAgbWFyZ2luOiAwIGF1dG87XG4gICAgZmxvYXQ6IG5vbmU7XG4gICAgbWFyZ2luLWJvdHRvbTogMTVweCAhaW1wb3J0YW50O1xuICAgIG1pbi13aWR0aDogNzAwcHg7XG5cbiAgICBAbWVkaWEgKG1heC13aWR0aDogMTIwMHB4KSB7XG4gICAgfVxuXG4gICAgQG1lZGlhIChtYXgtd2lkdGg6IDEwMjRweCkge1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgbWluLXdpZHRoOiAwO1xuICAgIH1cblxuICAgICYuYWx0IHtcbiAgICAgICAgcGFkZGluZzogMDtcbiAgICAgICAgbWFyZ2luLXRvcDogMDtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogNDVweDtcbiAgICB9XG5cbiAgICBoMyB7XG4gICAgICAgICY6bm90KC53aGl0ZSkge1xuICAgICAgICAgICAgY29sb3I6ICM0MzQzNDMgIWltcG9ydGFudDtcbiAgICAgICAgfVxuICAgICAgICBmb250LWZhbWlseTogXCJNdWxpXCIsIHNhbnMtc2VyaWYgIWltcG9ydGFudDtcbiAgICAgICAgZm9udC1zaXplOiAzMnB4ICFpbXBvcnRhbnQ7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAzNHB4ICFpbXBvcnRhbnQ7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiA3MDAgIWltcG9ydGFudDtcbiAgICAgICAgZm9udC1zdHlsZTogbm9ybWFsICFpbXBvcnRhbnQ7XG4gICAgfVxuXG4gICAgLm92ZXJsaW5lIHtcbiAgICAgICAgQGluY2x1ZGUgY2xlYXJmaXg7XG5cbiAgICAgICAgJi5mbGF0IHtcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDI1cHg7XG4gICAgICAgIH1cblxuICAgICAgICBtYXJnaW4tbGVmdDogYXV0bztcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xuXG4gICAgICAgIC56ZXRhIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgbWFyZ2luLXRvcDogMjBweDtcbiAgICAgICAgfVxuXG4gICAgICAgICsgaDQge1xuICAgICAgICAgICAgbWFyZ2luLXRvcDogLTAuNjVlbTtcbiAgICAgICAgfVxuXG4gICAgICAgIC5pbnRyby1jb250ZW50IHtcbiAgICAgICAgICAgIG1heC13aWR0aDogNDVlbTtcbiAgICAgICAgICAgIG1hcmdpbjogMCBhdXRvO1xuICAgICAgICB9XG5cbiAgICAgICAgLmludHJvIHtcbiAgICAgICAgICAgIG1hcmdpbjogY2FsYygkdi1yaHl0aG0gLyAxLjUpIDAgMCAwO1xuICAgICAgICAgICAgZm9udC1zaXplOiAxLjM3NWVtO1xuICAgICAgICB9XG5cbiAgICAgICAgLmJ5bGluZSB7XG4gICAgICAgICAgICBtYXJnaW4tdG9wOiAkdi1yaHl0aG07XG4gICAgICAgICAgICBjb2xvcjogJGdyYXk7XG4gICAgICAgICAgICBmb250LXdlaWdodDogNzAwO1xuICAgICAgICAgICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgICAgICAgICAgICYgKyAuc29jaWFsLXNoYXJpbmcge1xuICAgICAgICAgICAgICAgIG1hcmdpbi10b3A6IGNhbGMoJHYtcmh5dGhtIC8gMik7XG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgc3VzeS1icmVha3BvaW50KCRzY3JlZW4tc20tbWluLCAkbWFwLXNtKSB7XG4gICAgICAgICAgICAgICAgICAgIG1hcmdpbi10b3A6ICR2LXJoeXRobSAqIDEuMjtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBAaW5jbHVkZSBzdXN5LWJyZWFrcG9pbnQoJHNjcmVlbi1zbS1taW4sICRtYXAtc20pIHtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiAkdi1yaHl0aG0gKiAxLjU7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAuc29jaWFsLXNoYXJpbmcge1xuICAgICAgICAgICAgLy8gaGlkZSBmb3Igbm9uLWphdmFzY3JpcHQgY2FwYWJsZSBicm93c2Vyc1xuICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgICAgIGNvbG9yOiAkZ3JheTtcbiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgICAgICAgICBtYXJnaW4tdG9wOiAkdi1yaHl0aG07XG4gICAgICAgICAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICAgICAgICAgICAgc3BhbiB7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICAgICAgICAgIG1hcmdpbi10b3A6IDAuMDE1ZW07XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICB1bCB7XG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgcGxhaW4tbGlzdDtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgICAgICAgICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgICAgICAgICAgICAgICBoZWlnaHQ6IDEuOTVlbTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGxpIHtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgICAgICAgICAgcGFkZGluZzogMDtcbiAgICAgICAgICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICAgICAgICAgIHdpZHRoOiAxLjk1ZW07XG4gICAgICAgICAgICAgICAgaGVpZ2h0OiAxLjk1ZW07XG4gICAgICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiAwLjFlbTtcbiAgICAgICAgICAgICAgICAmOmZpcnN0LW9mLXR5cGUge1xuICAgICAgICAgICAgICAgICAgICBtYXJnaW4tbGVmdDogMC4yNWVtO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAuY29weS11cmwtY29udGFpbmVyIHtcbiAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZDogI2VhYTcwMDtcbiAgICAgICAgICAgICAgICAgICAgcGFkZGluZzogMWVtO1xuICAgICAgICAgICAgICAgICAgICBmb250LXdlaWdodDogNDAwO1xuICAgICAgICAgICAgICAgICAgICBmb250LXNpemU6IDFlbTtcbiAgICAgICAgICAgICAgICAgICAgY29sb3I6IHdoaXRlO1xuICAgICAgICAgICAgICAgICAgICBsYWJlbCB7XG4gICAgICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgICAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAwLjI1ZW07XG4gICAgICAgICAgICAgICAgICAgICAgICBmb250LXNpemU6IDAuOTVlbTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICB0ZXh0YXJlYSB7XG4gICAgICAgICAgICAgICAgICAgICAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICAgICAgICAgICAgICAgICAgICAgICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIGJ1dHRvbiB7XG4gICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIHBsYWluLWJ1dHRvbjtcbiAgICAgICAgICAgICAgICAgICAgcGFkZGluZzogMDtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgYSxcbiAgICAgICAgICAgICAgICBidXR0b24ge1xuICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICAgICAgICAgICAgICAgIHBhZGRpbmc6IDAuMWVtO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBzdmcge1xuICAgICAgICAgICAgICAgICAgICBvdmVyZmxvdzogdmlzaWJsZTtcbiAgICAgICAgICAgICAgICAgICAgLmNvbG9yIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGZpbGw6IHdoaXRlO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIC5mYWNlYm9vayB7XG4gICAgICAgICAgICAgICAgICAgICAgICBmaWxsOiAjNDA3M2I3O1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIC50d2l0dGVyIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGZpbGw6ICMyOGE5ZTA7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgLm1haWx0byB7XG4gICAgICAgICAgICAgICAgICAgICAgICBmaWxsOiAjOGRiNzI5O1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIC5jb3B5IHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGZpbGw6ICNlYWE3MDA7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIEBpbmNsdWRlIHN1c3ktYnJlYWtwb2ludCgkc2NyZWVuLW1kLW1pbiwgJG1hcC1tZCkge1xuICAgICAgICAgICAgLmludHJvLWNvbnRlbnQge1xuICAgICAgICAgICAgICAgIG1heC13aWR0aDogaW5oZXJpdDtcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBzcGFuKDUgZmlyc3QpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgLmFkLWJsb2NrIHtcbiAgICAgICAgICAgICAgICB0ZXh0LWFsaWduOiByaWdodDtcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBzcGFuKDMgbGFzdCk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICBAaW5jbHVkZSBzdXN5LWJyZWFrcG9pbnQoJHNjcmVlbi1sZy1taW4sICRtYXAtbGcpIHtcbiAgICAgICAgICAgIC5pbnRyby1jb250ZW50IHtcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBzcGFuKDguNSBmaXJzdCk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICAuYWQtYmxvY2sge1xuICAgICAgICAgICAgICAgIEBpbmNsdWRlIHNwYW4oMy41IGxhc3QpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgLy8gdGV4dCBibG9jayBzdHlsaW5nXG4gICAgLmZlYXR1cmUtY29udGVudCB7XG4gICAgICAgIG1heC13aWR0aDogNDQuNTMxMjVlbTtcbiAgICAgICAgbWFyZ2luOiAwIGF1dG87XG4gICAgfVxuXG4gICAgcCArIGZpZ3VyZS5mdWxsLXdpZHRoIHtcbiAgICAgICAgbWFyZ2luOiA1NXB4IGF1dG8gMzVweCAhaW1wb3J0YW50O1xuICAgIH1cblxuICAgIC8vIEltYWdlXG4gICAgZmlndXJlIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG5cbiAgICAgICAgJi5mdWxsLXdpZHRoIHtcbiAgICAgICAgICAgIGZsb2F0OiBub25lICFpbXBvcnRhbnQ7XG5cbiAgICAgICAgICAgICYuY2VudGVyIHtcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXIgY2VudGVyO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAmLmxlZnQge1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IGxlZnQgY2VudGVyO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAmLnJpZ2h0IHtcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiByaWdodCBjZW50ZXI7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC5tZWRpYS1jb250YWluZXIge1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgICAgIHdpZHRoOiAxMDB2dztcbiAgICAgICAgICAgICAgICBoZWlnaHQ6IGF1dG87XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLXNpemU6IGNvdmVyO1xuICAgICAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiBjYWxjKC0xMDB2dyAvIDIgKyA1MCUpO1xuXG4gICAgICAgICAgICAgICAgaW1nIHtcbiAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICAgICAgICAgIHdpZHRoOiAxMDB2dztcbiAgICAgICAgICAgICAgICAgICAgaGVpZ2h0OiBhdXRvO1xuICAgICAgICAgICAgICAgICAgICBvYmplY3QtZml0OiBjb3ZlcjtcbiAgICAgICAgICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IGNhbGMoLTEwMHZ3IC8gMiArIDUwJSk7XG4gICAgICAgICAgICAgICAgICAgIG1heC13aWR0aDogMTAwdnc7XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgQG1lZGlhIChtYXgtd2lkdGg6IDEwMjRweCkge1xuICAgICAgICAgICAgICAgICAgICBoZWlnaHQ6IGF1dG87XG5cbiAgICAgICAgICAgICAgICAgICAgaW1nIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgICAgICAgICAgICAgICAgIGxlZnQ6IDA7XG4gICAgICAgICAgICAgICAgICAgICAgICB0b3A6IDA7XG4gICAgICAgICAgICAgICAgICAgICAgICB0cmFuc2Zvcm06IG5vbmU7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIGZpZ2NhcHRpb24ge1xuICAgICAgICAgICAgICAgIHdpZHRoOiAxMDB2dztcbiAgICAgICAgICAgICAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAgICAgICAgICAgICAgIHBhZGRpbmc6IDEwcHggMDtcbiAgICAgICAgICAgICAgICBtYXJnaW4tbGVmdDogY2FsYygtMTAwdncgLyAyICsgNTUlKTtcblxuICAgICAgICAgICAgICAgIEBtZWRpYSAobWF4LXdpZHRoOiAxMjAwcHgpIHtcbiAgICAgICAgICAgICAgICAgICAgd2lkdGg6IDk1dnc7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgaW1nOm5vdCguY3JvcHBlZCkge1xuICAgICAgICAgICAgbWF4LXdpZHRoOiAxMjAwcHg7XG4gICAgICAgICAgICB3aWR0aDogMjAwJTtcbiAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiBjYWxjKC02MDBweCArIDUwJSk7XG5cbiAgICAgICAgICAgIEBtZWRpYSAobWF4LXdpZHRoOiAxMjAwcHgpIHtcbiAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgICAgICBtYXJnaW46IDAgYXV0bztcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIGZpZ2NhcHRpb24ge1xuICAgICAgICAgICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgICAgICAgICAgIHBhZGRpbmc6IDEwcHggMDtcbiAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiBjYWxjKC02MDBweCArIDUwJSk7XG5cbiAgICAgICAgICAgICYuY3JvcHBlZCB7XG4gICAgICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIHNwYW4ge1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBAbWVkaWEgKG1heC13aWR0aDogMTIwMHB4KSB7XG4gICAgICAgICAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgLy8gVmlkZW9cbiAgICAuY292ZS13cmFwcGVyIHtcbiAgICAgICAgbWF4LXdpZHRoOiAxMjAwcHg7XG4gICAgICAgIHdpZHRoOiAyMDAlO1xuICAgICAgICBtYXJnaW4tbGVmdDogY2FsYygtNjAwcHggKyA1MCUpO1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIG1hcmdpbi10b3A6IDM1cHg7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDM1cHg7XG5cbiAgICAgICAgQG1lZGlhIChtYXgtd2lkdGg6IDEyMDBweCkge1xuICAgICAgICAgICAgbWFyZ2luOiAzNXB4IGF1dG87XG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgfVxuXG4gICAgICAgIC5jYXB0aW9uIHtcbiAgICAgICAgICAgIHBhZGRpbmc6IDE1cHggMCAwO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLy8gR2FsbGVyeVxuICAgIC5jYXJvdXNlbC1jb250YWluZXIge1xuICAgICAgICB3aWR0aDogMjAwJTtcbiAgICAgICAgbWF4LXdpZHRoOiAxMjAwcHg7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiBjYWxjKC02MDBweCArIDUwJSk7XG4gICAgICAgIG1hcmdpbi10b3A6IDU1cHg7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDU1cHg7XG5cbiAgICAgICAgQG1lZGlhIChtYXgtd2lkdGg6IDEyMDBweCkge1xuICAgICAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIH1cblxuICAgICAgICBmaWd1cmUge1xuICAgICAgICAgICAgbWFyZ2luLXRvcDogMCAhaW1wb3J0YW50O1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMCAhaW1wb3J0YW50O1xuICAgICAgICB9XG5cbiAgICAgICAgZmlndXJlIGltZyxcbiAgICAgICAgaW1nIHtcbiAgICAgICAgICAgIG1heC13aWR0aDogMTAwJTtcbiAgICAgICAgICAgIGhlaWdodDogYXV0bztcbiAgICAgICAgICAgIHdpZHRoOiBhdXRvO1xuICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgIH1cblxuICAgICAgICBmaWdjYXB0aW9uIHtcbiAgICAgICAgICAgIC5jYXB0aW9uIHtcbiAgICAgICAgICAgICAgICBtYXJnaW46IDAgIWltcG9ydGFudDtcbiAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAzMHB4ICFpbXBvcnRhbnQ7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC5jcmVkaXQge1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgICAgICAgICBwYWRkaW5nOiAwIDAgMCAzMHB4ICFpbXBvcnRhbnQ7XG5cbiAgICAgICAgICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgICAgICAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgICAgICAgICB3aWR0aDogMjBweDtcbiAgICAgICAgICAgICAgICAgICAgaGVpZ2h0OiAyMHB4O1xuICAgICAgICAgICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICAgICAgICAgIGxlZnQ6IDA7XG4gICAgICAgICAgICAgICAgICAgIHRvcDogM3B4O1xuICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiB1cmwoLi4vaW1hZ2VzL2ljb24tY2FtZXJhLnN2Zykgbm8tcmVwZWF0IGxlZnQgdG9wO1xuICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLXNpemU6IGNvbnRhaW47XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgLy8gUXVvdGVcbiAgICBxIHtcbiAgICAgICAgbWFyZ2luOiA1NXB4IGF1dG87XG4gICAgICAgIG1heC13aWR0aDogOTUlO1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgY29sb3I6ICRibHVlO1xuICAgICAgICBmb250LWZhbWlseTogXCJSb2JvdG8gU2xhYlwiLCBzYW5zLXNlcmlmO1xuICAgICAgICBmb250LXNpemU6IDIycHg7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiA0MHB4O1xuICAgICAgICBtYXgtd2lkdGg6IDU3NXB4O1xuICAgICAgICBmb250LXdlaWdodDogNzAwO1xuXG4gICAgICAgIEBtZWRpYSAobWF4LXdpZHRoOiA1MDBweCkge1xuICAgICAgICAgICAgbWFyZ2luOiAyNXB4IDA7XG4gICAgICAgIH1cblxuICAgICAgICAmOmJlZm9yZSxcbiAgICAgICAgJjphZnRlciB7XG4gICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmU7XG4gICAgICAgICAgICBjb250ZW50OiAnXCInO1xuICAgICAgICAgICAgYmFja2dyb3VuZDogbm9uZTtcbiAgICAgICAgICAgIGhlaWdodDogYXV0bztcbiAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgICAgIGxlZnQ6IGF1dG87XG4gICAgICAgICAgICBsZWZ0OiB1bnNldDtcbiAgICAgICAgICAgIHRvcDogYXV0bztcbiAgICAgICAgICAgIHRvcDogdW5zZXQ7XG4gICAgICAgICAgICB0cmFuc2Zvcm06IG5vbmU7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBSZWFsdGVkIEZlYXR1cmVzIE1vZHVsZVxuICAgIC5yZWxhdGVkLWZlYXR1cmVzLWJsb2NrIHtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICBtYXJnaW4tdG9wOiA1NXB4O1xuICAgICAgICBtYXJnaW4tYm90dG9tOiA1NXB4O1xuICAgICAgICBtYXJnaW4tbGVmdDogY2FsYygtOTc1cHggLyAyICsgNTAlKTtcbiAgICAgICAgbWF4LXdpZHRoOiA5NzVweDtcbiAgICAgICAgcGFkZGluZy1ib3R0b206IDI1cHg7XG4gICAgICAgIHdpZHRoOiAxMDB2dztcblxuICAgICAgICBAbWVkaWEgKG1heC13aWR0aDogOTc1cHgpIHtcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IDA7XG4gICAgICAgIH1cblxuICAgICAgICBAbWVkaWEgKG1heC13aWR0aDogNTAwcHgpIHtcbiAgICAgICAgICAgIG1hcmdpbi10b3A6IDM1cHg7XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAzNXB4O1xuICAgICAgICB9XG5cbiAgICAgICAgJjphZnRlciB7XG4gICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgY29udGVudDogXCJcIjtcbiAgICAgICAgICAgIGhlaWdodDogMjVweDtcbiAgICAgICAgICAgIGJvcmRlci10b3A6IDNweCBzb2xpZCAjZTZlNmU2O1xuICAgICAgICAgICAgei1pbmRleDogLTE7XG4gICAgICAgIH1cblxuICAgICAgICBoMy5oZWFkaW5nIHtcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmY7XG4gICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgICAgICBwYWRkaW5nLXJpZ2h0OiA1cHg7XG4gICAgICAgICAgICBmb250LXNpemU6IDIycHggIWltcG9ydGFudDtcbiAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAyNnB4ICFpbXBvcnRhbnQ7XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAyNXB4ICFpbXBvcnRhbnQ7XG5cbiAgICAgICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICAgICAgY29udGVudDogXCJcIjtcbiAgICAgICAgICAgICAgICBoZWlnaHQ6IDI1cHg7XG4gICAgICAgICAgICAgICAgYm9yZGVyLWJvdHRvbTogM3B4IHNvbGlkICNlNmU2ZTY7XG4gICAgICAgICAgICAgICAgdG9wOiAtOHB4O1xuICAgICAgICAgICAgICAgIHotaW5kZXg6IC0xO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgdWwubGlzdCB7XG4gICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtZXZlbmx5O1xuICAgICAgICAgICAgZmxleC1mbG93OiByb3c7XG4gICAgICAgICAgICBmbGV4LXdyYXA6IHdyYXA7XG4gICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgICAgICBsaXN0LXN0eWxlLXR5cGU6IG5vbmU7XG4gICAgICAgICAgICBwYWRkaW5nLWxlZnQ6IDA7XG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcblxuICAgICAgICAgICAgQG1lZGlhIChtYXgtd2lkdGg6IDk3NXB4KSB7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIGxpIHtcbiAgICAgICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgICAgICAgICAgd2lkdGg6IDUwJTtcbiAgICAgICAgICAgICAgICBwYWRkaW5nOiAwO1xuICAgICAgICAgICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgICAgICAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuXG4gICAgICAgICAgICAgICAgJjpiZWZvcmUsXG4gICAgICAgICAgICAgICAgJjphZnRlciB7XG4gICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgQG1lZGlhIChtYXgtd2lkdGg6IDk3NXB4KSB7XG4gICAgICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAyNXB4O1xuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICY6bnRoLWNoaWxkKG9kZCkge1xuICAgICAgICAgICAgICAgICAgICBwYWRkaW5nLXJpZ2h0OiAyN3B4O1xuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgIEBtZWRpYSAobWluLXdpZHRoOiA5NzVweCkge1xuICAgICAgICAgICAgICAgICAgICAmOm50aC1jaGlsZChldmVuKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBwYWRkaW5nLWxlZnQ6IDI3cHg7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC5yZWxhdGVkLWl0ZW0ge1xuICAgICAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuXG4gICAgICAgICAgICAgICAgQG1lZGlhIChtYXgtd2lkdGg6IDUwMHB4KSB7XG4gICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgIC5pbWFnZSB7XG4gICAgICAgICAgICAgICAgICAgIG1hcmdpbi1yaWdodDogMTVweDtcblxuICAgICAgICAgICAgICAgICAgICBAbWVkaWEgKG1heC13aWR0aDogNTAwcHgpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIG1hcmdpbi1yaWdodDogMDtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgIGEudGh1bWJuYWlsLWltYWdlIHtcbiAgICAgICAgICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgICAgICAgICAgd2lkdGg6IDIyNHB4O1xuICAgICAgICAgICAgICAgICAgICBtaW4taGVpZ2h0OiAxMjZweDtcbiAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZC1zaXplOiBjb250YWluO1xuICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXIgdG9wO1xuXG4gICAgICAgICAgICAgICAgICAgIEBtZWRpYSAobWF4LXdpZHRoOiA1MDBweCkge1xuICAgICAgICAgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICAgICAgICAgICAgICBtaW4taGVpZ2h0OiAwO1xuICAgICAgICAgICAgICAgICAgICAgICAgcGFkZGluZy10b3A6IDU2LjY1JTtcbiAgICAgICAgICAgICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDE1cHg7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAuZGV0YWlscyB7XG4gICAgICAgICAgICAgICAgICAgIC50eXBlIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGZvbnQtZmFtaWx5OiBcIlJvYm90byBTbGFiXCIsIHNhbnMtc2VyaWY7XG4gICAgICAgICAgICAgICAgICAgICAgICBjb2xvcjogIzc3Nzc3NztcbiAgICAgICAgICAgICAgICAgICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgICAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgICAgICAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgICAgICAgICAgICAgICAgICAgICAgZm9udC1zaXplOiAxNHB4O1xuICAgICAgICAgICAgICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDIwcHg7XG4gICAgICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICAgICAudGl0bGUtbGluayB7XG4gICAgICAgICAgICAgICAgICAgICAgICBmb250LXNpemU6IDE4cHg7XG4gICAgICAgICAgICAgICAgICAgICAgICBsaW5lLWhlaWdodDogMjJweDtcbiAgICAgICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgICAgIC50ZXh0IHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHAsXG4gICAgICAgICAgICAgICAgICAgICAgICBpLFxuICAgICAgICAgICAgICAgICAgICAgICAgYiB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgZm9udC1mYW1pbHk6IFwiTXVsaVwiLCBzYW5zLXNlcmlmO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMTZweDtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaW5lLWhlaWdodDogMjJweDtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBmb250LXdlaWdodDogNDAwO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG59XG5cbi5hYm91dC1jb2xsZWN0aW9uIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBtYXgtd2lkdGg6IDcyNXB4O1xuICAgIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICAgIG1hcmdpbi10b3A6IDMwcHg7XG4gICAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNlOWU5ZTk7XG4gICAgcGFkZGluZzogMzBweCAzNXB4O1xuXG4gICAgJjpmaXJzdC1jaGlsZCB7XG4gICAgICAgIG1hcmdpbi10b3A6IDgwcHg7XG4gICAgfVxuXG4gICAgLmhlYWRpbmcge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgZm9udC1zaXplOiAyNHB4O1xuICAgICAgICBsaW5lLWhlaWdodDogMjhweDtcbiAgICAgICAgcGFkZGluZy1ib3R0b206IDIwcHg7XG4gICAgICAgIGNvbG9yOiAjNzc3O1xuXG4gICAgICAgIGEge1xuICAgICAgICAgICAgY29sb3I6ICRyZWQ7XG5cbiAgICAgICAgICAgICY6aG92ZXIge1xuICAgICAgICAgICAgICAgIGNvbG9yOiAkY3JpbXNvbjtcbiAgICAgICAgICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAuYWJvdXQtZGV0YWlscyB7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcblxuICAgICAgICBAbWVkaWEgKG1heC13aWR0aDogNzY4cHgpIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICB9XG5cbiAgICAgICAgLmltYWdlIHtcbiAgICAgICAgICAgIHdpZHRoOiA0MCU7XG5cbiAgICAgICAgICAgIEBtZWRpYSAobWF4LXdpZHRoOiA3NjhweCkge1xuICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBpbWcge1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgICAgIGhlaWdodDogYXV0bztcbiAgICAgICAgICAgICAgICBtYXgtd2lkdGg6IDIyNHB4O1xuXG4gICAgICAgICAgICAgICAgQG1lZGlhIChtYXgtd2lkdGg6IDc2OHB4KSB7XG4gICAgICAgICAgICAgICAgICAgIG1hcmdpbjogMCBhdXRvIDMwcHg7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgLmRlc2NyaXB0aW9uIHtcbiAgICAgICAgICAgIHdpZHRoOiA2MCU7XG5cbiAgICAgICAgICAgIEBtZWRpYSAobWF4LXdpZHRoOiA3NjhweCkge1xuICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxufVxuXG4vL0Z1bGwgV2lkdGggSGVyb1xuXG4uZnVsbC13aWR0aC1pbWFnZSB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIG1heC13aWR0aDogMTAwdnc7XG4gICAgbWF4LWhlaWdodDogNzg1cHg7XG4gICAgaGVpZ2h0OiBhdXRvO1xuICAgIHotaW5kZXg6IC0xO1xuXG4gICAgLm1wNC13cmFwcGVyIHtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAzMHB4O1xuICAgICAgICBtYXgtaGVpZ2h0OiA3ODVweDtcblxuICAgICAgICAuaGVybyB7XG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgICAgIG1heC1oZWlnaHQ6IDc4NXB4O1xuXG4gICAgICAgICAgICB2aWRlbyB7XG4gICAgICAgICAgICAgICAgb2JqZWN0LWZpdDogY292ZXI7XG4gICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICAgICAgaGVpZ2h0OiBhdXRvO1xuICAgICAgICAgICAgICAgIG1hcmdpbjogMCBhdXRvO1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgICAgIG1heC1oZWlnaHQ6IDc4NXB4O1xuICAgICAgICAgICAgICAgIG1heC13aWR0aDogMTM2NnB4O1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBidXR0b24ucGxheS1wYXVzZSB7XG4gICAgICAgICAgICAgICAgd2lkdGg6IDM0cHg7XG4gICAgICAgICAgICAgICAgaGVpZ2h0OiAzNHB4O1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50IHVybCguLi9pbWFnZXMvYnV0dG9uX3ZpZGVvX3BsYXkucG5nKSBuby1yZXBlYXQgMCAwO1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQtc2l6ZTogMzRweCA2OHB4O1xuICAgICAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgICAgICB0b3A6IDEwcHg7XG4gICAgICAgICAgICAgICAgcmlnaHQ6IDEwcHg7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICAgICAgb3V0bGluZTogbm9uZTtcbiAgICAgICAgICAgICAgICBib3JkZXI6IG5vbmU7XG4gICAgICAgICAgICAgICAgb3BhY2l0eTogMC4zNTtcblxuICAgICAgICAgICAgICAgICYucGF1c2VkIHtcbiAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogMCAtMzRweDtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAuY2FwdGlvbi13cmFwcGVyIHtcbiAgICAgICAgICAgIHBhZGRpbmc6IDE1cHggMDtcbiAgICAgICAgICAgIG1heC13aWR0aDogMTM2NnB4O1xuICAgICAgICAgICAgbWFyZ2luOiAwIGF1dG87XG5cbiAgICAgICAgICAgIEBtZWRpYSAobWF4LXdpZHRoOiAxMjAwcHgpIHtcbiAgICAgICAgICAgICAgICBwYWRkaW5nOiAxNXB4IDEwcHg7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBmaWd1cmUge1xuICAgICAgICB3aWR0aDogYXV0bztcbiAgICAgICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcblxuICAgICAgICAmLmNlbnRlciB7XG4gICAgICAgICAgICAubWVkaWEtY29udGFpbmVyIHtcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXIgY2VudGVyO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgJi5sZWZ0IHtcbiAgICAgICAgICAgIC5tZWRpYS1jb250YWluZXIge1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IGxlZnQgY2VudGVyO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgJi5yaWdodCB7XG4gICAgICAgICAgICAubWVkaWEtY29udGFpbmVyIHtcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiByaWdodCBjZW50ZXI7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAubWVkaWEtY29udGFpbmVyIHtcbiAgICAgICAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgICAgICBoZWlnaHQ6IDc4NXB4O1xuICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgIGJhY2tncm91bmQtc2l6ZTogY292ZXI7XG5cbiAgICAgICAgICAgIEBtZWRpYSAobWF4LXdpZHRoOiAxMjAwcHgpIHtcbiAgICAgICAgICAgICAgICBoZWlnaHQ6IDUxMHB4O1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBAbWVkaWEgKG1heC13aWR0aDogMTAyNHB4KSB7XG4gICAgICAgICAgICAgICAgaGVpZ2h0OiBhdXRvO1xuXG4gICAgICAgICAgICAgICAgaW1nIHtcbiAgICAgICAgICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICAgICAgICAgICAgICBsZWZ0OiAwO1xuICAgICAgICAgICAgICAgICAgICB0b3A6IDA7XG4gICAgICAgICAgICAgICAgICAgIHRyYW5zZm9ybTogbm9uZTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICBpbWcge1xuICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgIG1heC13aWR0aDogMTAwdnc7XG4gICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICBoZWlnaHQ6IGF1dG87XG4gICAgICAgICAgICBtYXJnaW46IDAgYXV0bztcbiAgICAgICAgICAgIGxlZnQ6IDUwJTtcbiAgICAgICAgICAgIHRvcDogNTAlO1xuICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgLTUwJSk7XG4gICAgICAgIH1cblxuICAgICAgICBmaWdjYXB0aW9uIHtcbiAgICAgICAgICAgIGJvdHRvbTogMDtcbiAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgICAgICAgICAgIG1heC13aWR0aDogMTUlO1xuICAgICAgICAgICAgbWFyZ2luOiAyMHB4IDAgMCAyJTtcblxuICAgICAgICAgICAgQG1lZGlhIChtYXgtd2lkdGg6IDEyMDBweCkge1xuICAgICAgICAgICAgICAgIG1heC13aWR0aDogOTUlO1xuICAgICAgICAgICAgICAgIG1hcmdpbjogMjBweCBhdXRvO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBzcGFuLmRlc2Mge1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgICAgICAgICBwYWRkaW5nOiA1cHggMCAwIDMwcHggIWltcG9ydGFudDtcblxuICAgICAgICAgICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICAgICAgICAgICAgY29udGVudDogXCJcIjtcbiAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICAgICAgICAgIHdpZHRoOiAyMHB4O1xuICAgICAgICAgICAgICAgICAgICBoZWlnaHQ6IDIwcHg7XG4gICAgICAgICAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgICAgICAgICAgbGVmdDogMDtcbiAgICAgICAgICAgICAgICAgICAgdG9wOiA5cHg7XG4gICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6IHVybCguLi9pbWFnZXMvaWNvbi1jYW1lcmEuc3ZnKSBuby1yZXBlYXQgbGVmdCB0b3A7XG4gICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQtc2l6ZTogY29udGFpbjtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG59XG5cbi5qcyB7XG4gICAgLmZlYXR1cmUtZnVsbC13aWR0aCB7XG4gICAgICAgIC5vdmVybGluZSB7XG4gICAgICAgICAgICAmLmZsYXQ6YmVmb3JlIHtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAuc29jaWFsLXNoYXJpbmcge1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgICAgIEBpbmNsdWRlIHN1c3ktYnJlYWtwb2ludCgkc2NyZWVuLXNtLW1pbiwgJG1hcC1zbSkge1xuICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgLmNvcHktdXJsLWNvbnRhaW5lciB7XG4gICAgICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgICAgIEBpbmNsdWRlIHRyYW5zaXRpb24oYWxsLCAwLjM1cywgZWFzZS1pbi1vdXQpO1xuICAgICAgICAgICAgICAgIHRvcDogLTZlbTtcbiAgICAgICAgICAgICAgICB3aWR0aDogMTVlbTtcbiAgICAgICAgICAgICAgICBsZWZ0OiAtMTBlbTtcbiAgICAgICAgICAgICAgICBvcGFjaXR5OiAwO1xuICAgICAgICAgICAgICAgIHotaW5kZXg6IC0xO1xuICAgICAgICAgICAgICAgICYub3BlbiB7XG4gICAgICAgICAgICAgICAgICAgIG9wYWNpdHk6IDE7XG4gICAgICAgICAgICAgICAgICAgIHotaW5kZXg6IDE7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIGJ1dHRvbiB7XG4gICAgICAgICAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgICAgICAgICAgcmlnaHQ6IDFlbTtcbiAgICAgICAgICAgICAgICAgICAgdG9wOiAwLjY1ZW07XG4gICAgICAgICAgICAgICAgICAgIHdpZHRoOiAxLjVlbTtcbiAgICAgICAgICAgICAgICAgICAgaGVpZ2h0OiAxLjVlbTtcbiAgICAgICAgICAgICAgICAgICAgcGFkZGluZzogMDtcbiAgICAgICAgICAgICAgICAgICAgc3ZnIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHdpZHRoOiAxLjI0ZW07XG4gICAgICAgICAgICAgICAgICAgICAgICBoZWlnaHQ6IDEuMjRlbTtcbiAgICAgICAgICAgICAgICAgICAgICAgIGZpbGw6IHdoaXRlO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIEBpbmNsdWRlIHN1c3ktYnJlYWtwb2ludCgkc2NyZWVuLW1kLW1pbiwgJG1hcC1tZCkge1xuICAgICAgICAgICAgICAgICAgICB3aWR0aDogMjRlbTtcbiAgICAgICAgICAgICAgICAgICAgdGV4dGFyZWEge1xuICAgICAgICAgICAgICAgICAgICAgICAgd2lkdGg6IGNhbGMoMTAwJSAtIDdlbSk7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgLy8gcGFkZGluZyBhbmQgbWFyZ2luIGFkanVzdG1lbnRzXG4gICAgICAgIC5hZC1ibG9jayB7XG4gICAgICAgICAgICAmLm9wZW4ge1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICAgICAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgICAgICAgICBib3JkZXItdG9wOiAxcHggc29saWQgI2JlYmViZTtcbiAgICAgICAgICAgICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgI2JlYmViZTtcbiAgICAgICAgICAgICAgICBtYXJnaW46IDc1cHggMDtcblxuICAgICAgICAgICAgICAgIEBtZWRpYSAobWF4LXdpZHRoOiA1MDBweCkge1xuICAgICAgICAgICAgICAgICAgICBtYXJnaW46IDI1cHggMDtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICYub3BlbjpiZWZvcmUsXG4gICAgICAgICAgICAmLm9wZW46YWZ0ZXIge1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50ICFpbXBvcnRhbnQ7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC5hZCB7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICAgICAgbWFyZ2luOiAwIGF1dG87XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG59XG4iLCIuc2VhcmNoLXJlc3VsdHMge1xuICB1bCB7XG4gICAgQGluY2x1ZGUgcGxhaW4tbGlzdDtcbiAgICBsaSB7XG4gICAgICBAaW5jbHVkZSBjbGVhcmZpeDtcbiAgICAgIG1hcmdpbi1ib3R0b206JHYtcmh5dGhtKjI7XG4gICAgICBAaW5jbHVkZSBzdXN5LWJyZWFrcG9pbnQoJHNjcmVlbi1sZy1taW4sICRtYXAtbGcpIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTokdi1yaHl0aG07XG4gICAgICB9ICAgIFxuICAgIH1cbiAgfVxuICAuaW1hZ2Uge1xuICAgIEBpbmNsdWRlIHN1c3ktYnJlYWtwb2ludCgkc2NyZWVuLXNtLW1pbiwgJG1hcC1zbSkge1xuICAgICAgQGluY2x1ZGUgc3BhbigxLjUgZmlyc3QpO1xuICAgIH1cbiAgICBAaW5jbHVkZSBzdXN5LWJyZWFrcG9pbnQoJHNjcmVlbi1tZC1taW4sICRtYXAtbWQpIHtcbiAgICAgIEBpbmNsdWRlIHNwYW4oMiBmaXJzdCk7XG4gICAgfVxuICAgIEBpbmNsdWRlIHN1c3ktYnJlYWtwb2ludCgkc2NyZWVuLWxnLW1pbiwgJG1hcC1sZykge1xuICAgICAgQGluY2x1ZGUgc3BhbigyLjUgZmlyc3QpO1xuICAgIH0gICAgXG4gIH1cbiAgLmRlc2NyaXB0aW9uIHtcbiAgICBoMyB7XG4gICAgICBtYXJnaW4tYm90dG9tOjA7XG4gICAgfVxuICAgIHAge1xuICAgICAgbWFyZ2luLWJvdHRvbTpjYWxjKCR2LXJoeXRobSAvIDIpO1xuICAgIH1cbiAgICBAaW5jbHVkZSBzdXN5LWJyZWFrcG9pbnQoJHNjcmVlbi1zbS1taW4sICRtYXAtc20pIHtcbiAgICAgIEBpbmNsdWRlIHNwYW4oMi41IGxhc3QpO1xuICAgIH1cbiAgICBAaW5jbHVkZSBzdXN5LWJyZWFrcG9pbnQoJHNjcmVlbi1tZC1taW4sICRtYXAtbWQpIHtcbiAgICAgIEBpbmNsdWRlIHNwYW4oNCk7XG4gICAgfVxuICAgIEBpbmNsdWRlIHN1c3ktYnJlYWtwb2ludCgkc2NyZWVuLWxnLW1pbiwgJG1hcC1sZykge1xuICAgICAgQGluY2x1ZGUgc3Bhbig2LjUpO1xuICAgICAgcCB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206JHYtcmh5dGhtO1xuICAgICAgfVxuICAgIH0gIFxuICB9XG59XG4iLCIvLyBlbnN1cmUgbW9kYWwgaXMgbm90IHNob3duIHdoZW4ganMgaXMgbm90IHByZXNlbnRcbi5uZXdzbGV0dGVyLWRpYWxvZyB7XG4gICAgZGlzcGxheTogbm9uZTtcbn1cblxuLy8gc2hvdyBpdCB3aGVuIGl0IGlzXG4uanMgLm5ld3NsZXR0ZXItZGlhbG9nIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbn1cblxuLm5ld3NsZXR0ZXItZGlhbG9nLmdlbmVyYWwge1xuICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoYmxhY2ssIDAuODUpO1xuICAgIGNvbG9yOiB3aGl0ZTtcbiAgICBwb3NpdGlvbjogZml4ZWQ7XG4gICAgaGVpZ2h0OiAxMDB2aDtcbiAgICB3aWR0aDogMTAwJTtcbiAgICB6LWluZGV4OiAxMDAwMjtcbiAgICB0b3A6IDA7XG4gICAgbGVmdDogMDtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG5cbiAgICAmOmFmdGVyIHtcbiAgICAgICAgY29udGVudDogXCJcIjtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBoZWlnaHQ6IDEwMHZoO1xuICAgICAgICBiYWNrZ3JvdW5kOiB1cmwoXCIuLi9pbWFnZXMvYmctdHJpYW5nbGUtZm9vdGVyLnBuZ1wiKTtcbiAgICAgICAgYmFja2dyb3VuZC1zaXplOiAxMS43NWVtIDExLjEyNWVtO1xuICAgICAgICBjb2xvcjogJGNvcm5mbG93ZXI7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgei1pbmRleDogNTA7XG4gICAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6ICRzY3JlZW4tbWQtbWluKSBhbmQgKG1pbi1oZWlnaHQ6IDM3LjVlbSkge1xuICAgICAgICAgICAgbWFyZ2luLXRvcDogMTIuNWVtO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgJi5kaXNtaXNzZWQge1xuICAgICAgICBAaW5jbHVkZSBhbmltYXRlZCgwLjM1cyk7XG4gICAgICAgIEBpbmNsdWRlIHNsaWRlT3V0RG93bjtcbiAgICB9XG5cbiAgICAmW2FyaWEtaGlkZGVuPVwidHJ1ZVwiXSB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxuXG4gICAgZGl2W3JvbGU9XCJkaWFsb2dcIl0ge1xuICAgICAgICBvdmVyZmxvdy15OiBzY3JvbGw7XG4gICAgICAgIG1heC1oZWlnaHQ6IDgwdmg7XG4gICAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4taGVpZ2h0OiAzNy41ZW0pIHtcbiAgICAgICAgICAgIG1heC1oZWlnaHQ6IGluaGVyaXQ7XG4gICAgICAgICAgICBvdmVyZmxvdzogdmlzaWJsZTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIGRpdltyb2xlPVwiZG9jdW1lbnRcIl0ge1xuICAgICAgICBtYXgtd2lkdGg6IDUwZW07XG4gICAgICAgIG1hcmdpbjogMWVtIGF1dG8gMCBhdXRvO1xuICAgICAgICB3aWR0aDogOTUlO1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6ICRzY3JlZW4tbWQtbWluKSBhbmQgKG1pbi1oZWlnaHQ6IDM3LjVlbSkge1xuICAgICAgICAgICAgbWFyZ2luLXRvcDogMDtcbiAgICAgICAgICAgIHRvcDogMTIuNXZoO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLmdhbW1hIHtcbiAgICAgICAgY29sb3I6IHdoaXRlO1xuICAgICAgICBAaW5jbHVkZSBzdXN5LWJyZWFrcG9pbnQoJHNjcmVlbi1tZC1taW4sICRtYXAtbWQpIHtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMi4yNWVtO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLmRpbXNpc3Mge1xuICAgICAgICBAaW5jbHVkZSBwbGFpbi1idXR0b247XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgcmlnaHQ6IDA7XG4gICAgICAgIHRvcDogLTIuNWVtO1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDEwMCU7XG5cbiAgICAgICAgc3ZnIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIHRyYW5zaXRpb24oZmlsbCwgMC41cywgZWFzZS1pbi1vdXQpO1xuICAgICAgICAgICAgd2lkdGg6IDJlbTtcbiAgICAgICAgICAgIGhlaWdodDogMmVtO1xuICAgICAgICAgICAgZmlsbDogd2hpdGU7XG4gICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgfVxuICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICAgIHN2ZyB7XG4gICAgICAgICAgICAgICAgZmlsbDogJHllbGxvdztcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgIGgxIHtcbiAgICAgICAgbWFyZ2luOiAxLjVlbSAwIDAuNWVtIDA7XG4gICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxO1xuICAgICAgICBAaW5jbHVkZSBzdXN5LWJyZWFrcG9pbnQoJHNjcmVlbi1tZC1taW4sICRtYXAtbWQpIHtcbiAgICAgICAgICAgIG1hcmdpbi10b3A6IDJlbTtcbiAgICAgICAgfVxuICAgICAgICAubG9nby10eXBlIHtcbiAgICAgICAgICAgIG1heC13aWR0aDogMTNlbTtcbiAgICAgICAgICAgIG1heC1oZWlnaHQ6IDAuOTVlbTtcbiAgICAgICAgfVxuICAgICAgICBzcGFuIHtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMC43NWVtO1xuICAgICAgICAgICAgQGluY2x1ZGUgc3VzeS1icmVha3BvaW50KCRzY3JlZW4tbWQtbWluLCAkbWFwLW1kKSB7XG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiAxLjJlbTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5lbWFpbC1zaWdudXAtZm9ybSB7XG4gICAgICAgIG1hcmdpbi10b3A6IDEuNWVtO1xuICAgICAgICBwYWRkaW5nLWJvdHRvbTogMS41ZW07XG5cbiAgICAgICAgYnV0dG9uW3R5cGU9XCJzdWJtaXRcIl0ge1xuICAgICAgICAgICAgcGFkZGluZy1yaWdodDogMS41ZW07XG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiAkeWVsbG93O1xuICAgICAgICAgICAgY29sb3I6ICRuYXZ5O1xuICAgICAgICAgICAgbWFyZ2luLXRvcDogMS41ZW07XG4gICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuXG4gICAgICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgICAgICAgY29udGVudDogbm9uZTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZDogZGFya2VuKCR5ZWxsb3csIDUlKTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgQGluY2x1ZGUgc3VzeS1icmVha3BvaW50KCRzY3JlZW4tbWQtbWluLCAkbWFwLW1kKSB7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICAgICAgICAgIHdpZHRoOiBpbmhlcml0O1xuICAgICAgICAgICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICAgICAgICAgICAgY29udGVudDogXCJcIjtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAubm90ZSB7XG4gICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMWVtO1xuICAgICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICAgICAgQGluY2x1ZGUgc3VzeS1icmVha3BvaW50KCRzY3JlZW4tbWQtbWluLCAkbWFwLW1kKSB7XG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiAxLjI1ZW07XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICBAaW5jbHVkZSBzdXN5LWJyZWFrcG9pbnQoJHNjcmVlbi1tZC1taW4sICRtYXAtbWQpIHtcbiAgICAgICAgICAgIC5lbWFpbC1maWVsZCxcbiAgICAgICAgICAgIC56aXAtY29kZS1maWVsZCB7XG4gICAgICAgICAgICAgICAgZmxvYXQ6IGxlZnQ7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICAuZW1haWwtZmllbGQge1xuICAgICAgICAgICAgICAgIHdpZHRoOiA1NSU7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICAuemlwLWNvZGUtZmllbGQge1xuICAgICAgICAgICAgICAgIHdpZHRoOiA0NCU7XG4gICAgICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IDElO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxufVxuXG4ubmV3c2xldHRlci1kaWFsb2cudm90ZSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYShibGFjaywgMC44NSk7XG4gICAgY29sb3I6IHdoaXRlO1xuICAgIHBvc2l0aW9uOiBmaXhlZDtcbiAgICBoZWlnaHQ6IDEwMHZoO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIHotaW5kZXg6IDEwMDAyO1xuICAgIHRvcDogMDtcbiAgICBsZWZ0OiAwO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcblxuICAgICYuZGlzbWlzc2VkIHtcbiAgICAgICAgQGluY2x1ZGUgYW5pbWF0ZWQoMC4zNXMpO1xuICAgICAgICBAaW5jbHVkZSBzbGlkZU91dERvd247XG4gICAgfVxuXG4gICAgJlthcmlhLWhpZGRlbj1cInRydWVcIl0ge1xuICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgIH1cblxuICAgIGRpdltyb2xlPVwiZGlhbG9nXCJdIHtcbiAgICAgICAgb3ZlcmZsb3cteTogc2Nyb2xsO1xuICAgICAgICBtYXgtaGVpZ2h0OiA5MHZoO1xuICAgICAgICBtYXJnaW4tdG9wOiA0LjV2aDtcblxuICAgICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLWhlaWdodDogNzUwdmgpIHtcbiAgICAgICAgICAgIG1heC1oZWlnaHQ6IGluaGVyaXQ7XG4gICAgICAgICAgICBvdmVyZmxvdzogdmlzaWJsZTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIGRpdltyb2xlPVwiZG9jdW1lbnRcIl0ge1xuICAgICAgICBtYXgtd2lkdGg6IDYwMHB4O1xuICAgICAgICBtYXJnaW46IDZ2aCBhdXRvIDA7XG4gICAgICAgIHdpZHRoOiA5NSU7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgYm9yZGVyOiAxMHB4IHNvbGlkICNmY2MzMjA7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICMzYzIyNWU7XG5cbiAgICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogJHNjcmVlbi1tZC1taW4pIGFuZCAobWluLWhlaWdodDogNzUwcHgpIHtcbiAgICAgICAgICAgIG1hcmdpbi10b3A6IDA7XG4gICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICBsZWZ0OiA1MCU7XG4gICAgICAgICAgICB0b3A6IDUwJTtcbiAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIC01MCUpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLmdhbW1hIHtcbiAgICAgICAgY29sb3I6ICNlYmUzZDc7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiA0MDA7XG5cbiAgICAgICAgQG1lZGlhIChtYXgtd2lkdGg6IDUwMHB4KSB7XG4gICAgICAgICAgICBmb250LXNpemU6IDIwcHg7XG4gICAgICAgIH1cblxuICAgICAgICBAaW5jbHVkZSBzdXN5LWJyZWFrcG9pbnQoJHNjcmVlbi1tZC1taW4sICRtYXAtbWQpIHtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMzBweDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5kaW1zaXNzIHtcbiAgICAgICAgQGluY2x1ZGUgcGxhaW4tYnV0dG9uO1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgYm9yZGVyLXJhZGl1czogMTAwJTtcbiAgICAgICAgcmlnaHQ6IC0wLjVlbTtcbiAgICAgICAgdG9wOiAtM2VtO1xuXG4gICAgICAgIHN2ZyB7XG4gICAgICAgICAgICBAaW5jbHVkZSB0cmFuc2l0aW9uKGZpbGwsIDAuNXMsIGVhc2UtaW4tb3V0KTtcbiAgICAgICAgICAgIHdpZHRoOiAyZW07XG4gICAgICAgICAgICBoZWlnaHQ6IDJlbTtcbiAgICAgICAgICAgIGZpbGw6ICNmY2MzMjA7XG4gICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgfVxuXG4gICAgICAgIEBtZWRpYSAobWluLXdpZHRoOiA2NzVweCkge1xuICAgICAgICAgICAgcmlnaHQ6IC0yLjVlbTtcbiAgICAgICAgICAgIHRvcDogLTIuNWVtO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgI25ld3NsZXR0ZXItZGlhbG9nLXRpdGxlIHtcbiAgICAgICAgbWFyZ2luOiAwIDAgMC41ZW0gMDtcbiAgICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDE7XG4gICAgICAgIGZvbnQtc2l6ZTogMjVweDtcbiAgICAgICAgY29sb3I6ICNlYmUzZDc7XG5cbiAgICAgICAgLmxvZ28tdHlwZSB7XG4gICAgICAgICAgICBtYXgtd2lkdGg6IDhlbTtcbiAgICAgICAgICAgIG1heC1oZWlnaHQ6IDAuOTJlbTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHNwYW4udW5kZXIge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgbWFyZ2luOiA1cHggYXV0bztcbiAgICAgICAgZm9udC1zaXplOiAyNHB4O1xuICAgICAgICBmb250LWZhbWlseTogXCJNdWxpXCIsIHNhbnMtc2VyaWY7XG4gICAgICAgIGNvbG9yOiAjZmNjMzIwO1xuICAgICAgICBmb250LXdlaWdodDogNTAwO1xuICAgICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgIH1cblxuICAgIC52b3RlLWltYWdlIHtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICBtYXgtd2lkdGg6IDYwMHB4O1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICBwYWRkaW5nOiAwO1xuICAgICAgICBoZWlnaHQ6IGF1dG87XG5cbiAgICAgICAgQG1lZGlhIChtYXgtd2lkdGg6IDUwMHB4KSB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiB1cmwoLi4vaW1hZ2VzL3ZvdGVfaW1hZ2VfaGVhZGVyLmpwZykgbm8tcmVwZWF0IGNlbnRlciBjZW50ZXI7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLXNpemU6IGNvdmVyO1xuICAgICAgICAgICAgaGVpZ2h0OiAxNTBweDtcbiAgICAgICAgICAgIGltZyB7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgIC50aXRsZS13cmFwcGVyIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzNjMjI1ZTtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgcGFkZGluZzogMTBweDtcbiAgICAgICAgbWFyZ2luOiAtODdweCBhdXRvIDA7XG4gICAgICAgIGhlaWdodDogODdweDtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG5cbiAgICAgICAgQG1lZGlhIChtaW4td2lkdGg6IDY1MHB4KSB7XG4gICAgICAgICAgICB3aWR0aDogNzAlO1xuICAgICAgICB9XG5cbiAgICAgICAgQG1lZGlhIChtYXgtd2lkdGg6IDUwMHB4KSB7XG4gICAgICAgICAgICBtYXJnaW4tdG9wOiAwO1xuICAgICAgICB9XG5cbiAgICAgICAgLnZvdGUtaGVhZGxpbmUge1xuICAgICAgICAgICAgYmFja2dyb3VuZDogdXJsKC4uL2ltYWdlcy90aXRsZV90aGUtdm90ZS5wbmcpIG5vLXJlcGVhdCBjZW50ZXIgY2VudGVyO1xuICAgICAgICAgICAgYmFja2dyb3VuZC1zaXplOiBjb250YWluO1xuICAgICAgICAgICAgbWF4LXdpZHRoOiAzMDBweDtcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgaGVpZ2h0OiA1N3B4O1xuICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICBtYXJnaW46IDAgYXV0byAxNXB4O1xuICAgICAgICAgICAgdGV4dC1pbmRlbnQ6IC05OTk5OXB4O1xuXG4gICAgICAgICAgICBAbWVkaWEgKG1heC13aWR0aDogNTAwcHgpIHtcbiAgICAgICAgICAgICAgICBtYXgtd2lkdGg6IDgwJTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5lbWFpbC1zaWdudXAtZm9ybSB7XG4gICAgICAgIHBhZGRpbmc6IDIwcHggNDBweDtcblxuICAgICAgICBidXR0b25bdHlwZT1cInN1Ym1pdFwiXSB7XG4gICAgICAgICAgICBwYWRkaW5nLXJpZ2h0OiAxLjVlbTtcbiAgICAgICAgICAgIGJhY2tncm91bmQ6ICR5ZWxsb3c7XG4gICAgICAgICAgICBjb2xvcjogJG5hdnk7XG4gICAgICAgICAgICBtYXJnaW4tdG9wOiAxLjVlbTtcbiAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XG5cbiAgICAgICAgICAgICY6aG92ZXIge1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6IGRhcmtlbigkeWVsbG93LCA1JSk7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIEBpbmNsdWRlIHN1c3ktYnJlYWtwb2ludCgkc2NyZWVuLW1kLW1pbiwgJG1hcC1tZCkge1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgICAgICAgICB3aWR0aDogaW5oZXJpdDtcbiAgICAgICAgICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgICAgICAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgICAgICAgYm94LXNoYWRvdzogbm9uZSAhaW1wb3J0YW50O1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgLm5vdGUge1xuICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICBmb250LXNpemU6IDIwcHg7XG4gICAgICAgICAgICBjb2xvcjogI2ViZTNkNztcbiAgICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcblxuICAgICAgICAgICAgQG1lZGlhIChtYXgtd2lkdGg6IDY1MHB4KSB7XG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiAxNHB4O1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgQGluY2x1ZGUgc3VzeS1icmVha3BvaW50KCRzY3JlZW4tc20tbWluLCAkbWFwLW1kKSB7XG4gICAgICAgICAgICAuZW1haWwtZmllbGQsXG4gICAgICAgICAgICAuemlwLWNvZGUtZmllbGQge1xuICAgICAgICAgICAgICAgIGZsb2F0OiBsZWZ0O1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgLmVtYWlsLWZpZWxkIHtcbiAgICAgICAgICAgICAgICB3aWR0aDogNTUlO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgLnppcC1jb2RlLWZpZWxkIHtcbiAgICAgICAgICAgICAgICB3aWR0aDogNDQlO1xuICAgICAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiAxJTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbn1cbiIsIi8vIHhmaXhlZCBwb3NpdGlvbiBzdGF0ZXMgZm9yIGhlYWRlclxuI3N0aWNreS1oZWFkZXIge1xuICB3aWR0aDoxMDAlO1xuICAtd2Via2l0LXRyYW5zZm9ybTp0cmFuc2xhdGUzZCgwcHgsMHB4LDBweCk7XG4gICAgICAgICAgdHJhbnNmb3JtOnRyYW5zbGF0ZTNkKDBweCwwcHgsMHB4KTtcbn1cblxuLnN0aWNreSAjc3RpY2t5LWhlYWRlciB7XG4gIHRvcDowO1xuICBwb3NpdGlvbjogZml4ZWQ7XG4gIEBpbmNsdWRlIGFuaW1hdGVkKC41cyk7XG4gIEBpbmNsdWRlIHNsaWRlSW5Eb3duO1xufVxuXG4uc2l0ZS1oZWFkZXJ7XG4gIC8vIHJlc2V0cyBicm93c2VyIHN0eWxpbmcgZm9yIGFsbCBsaXN0cyBpbnNpZGUgdGhlIGhlYWRlclxuICB1bCB7XG4gICAgQGluY2x1ZGUgcGxhaW4tbGlzdDtcbiAgfVxuICAuc2Vjb25kYXJ5IHtcbiAgICBAaW5jbHVkZSBjbGVhcmZpeDtcbiAgICBiYWNrZ3JvdW5kOiRkYXJrR3JheTtcbiAgICB0ZXh0LWFsaWduOmNlbnRlcjtcbiAgICBjb2xvcjp3aGl0ZTtcbiAgICAqe1xuICAgICAgdmVydGljYWwtYWxpZ246bWlkZGxlO1xuICAgIH1cbiAgICAudGl0bGUge1xuICAgICAgZGlzcGxheTpibG9jaztcbiAgICAgIG1hcmdpbi1ib3R0b206IGNhbGMoJHYtcmh5dGhtIC8gMik7XG4gICAgfVxuICAgIC5oZWFkZXItc29jaWFsIHtcbiAgICAgIGRpc3BsYXk6bm9uZTtcbiAgICAgIC5zb2NpYWwtbGlzdCB7XG4gICAgICAgIHdpZHRoOjcwJTtcbiAgICAgICAgbWFyZ2luOjAgYXV0bztcbiAgICAgICAgYSB7XG4gICAgICAgICAgZGlzcGxheTpibG9jaztcbiAgICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICAgIHN2ZyB7XG4gICAgICAgICAgICAgIC5iYWNrZ3JvdW5kIHtcbiAgICAgICAgICAgICAgICBmaWxsOmJsYWNrO1xuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgICBAaW5jbHVkZSBjbGVhcmZpeDtcbiAgICAgIEBpbmNsdWRlIHN1c3ktYnJlYWtwb2ludCgkc2NyZWVuLXNtLW1pbiwgJG1hcC1zbSkge1xuICAgICAgICBAaW5jbHVkZSBzcGFuKDIgb2YgNCBmaXJzdCk7XG4gICAgICAgIGRpc3BsYXk6YmxvY2s7XG4gICAgICAgIG1hcmdpbi10b3A6Ljc1ZW07XG4gICAgICB9XG4gICAgICBAaW5jbHVkZSBzdXN5LWJyZWFrcG9pbnQoJHNjcmVlbi1tZC1taW4sICRtYXAtbWQpIHtcbiAgICAgICAgQGluY2x1ZGUgc3Bhbig1IG9mIDEyIGZpcnN0KTtcbiAgICAgICAgbWFyZ2luLXRvcDowO1xuICAgICAgICB0ZXh0LWFsaWduOmxlZnQ7XG4gICAgICAgIC50aXRsZSB7XG4gICAgICAgICAgZGlzcGxheTppbmxpbmUtYmxvY2s7XG4gICAgICAgICAgbWFyZ2luLWJvdHRvbTowO1xuICAgICAgICAgIGZvbnQtc2l6ZTouODEyNWVtO1xuICAgICAgICB9XG4gICAgICAgIC5zb2NpYWwtbGlzdCB7XG4gICAgICAgICAgd2lkdGg6YXV0bztcbiAgICAgICAgICBkaXNwbGF5OmlubGluZS1ibG9jaztcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgICAuaGVhZGVyLXNwb25zb3JzIHtcbiAgICAgIHVsIHtcbiAgICAgICAgQGluY2x1ZGUgY2xlYXJmaXg7XG4gICAgICAgIGRpc3BsYXk6LXdlYmtpdC1ib3g7XG4gICAgICAgIGRpc3BsYXk6LW1zLWZsZXhib3g7XG4gICAgICAgIGRpc3BsYXk6ZmxleDtcbiAgICAgICAgLXdlYmtpdC1ib3gtcGFjazpjZW50ZXI7XG4gICAgICAgICAgLW1zLWZsZXgtcGFjazpjZW50ZXI7XG4gICAgICAgIGp1c3RpZnktY29udGVudDpjZW50ZXI7XG4gICAgICAgIC13ZWJraXQtYm94LWFsaWduOmNlbnRlcjtcbiAgICAgICAgICAgLW1zLWZsZXgtYWxpZ246Y2VudGVyO1xuICAgICAgICAgICAgICBhbGlnbi1pdGVtczpjZW50ZXI7XG4gICAgICAgIC1tcy1mbGV4LXdyYXA6d3JhcDtcbiAgICAgICAgICAgIGZsZXgtd3JhcDp3cmFwO1xuICAgICAgICBsaW5lLWhlaWdodDoxOyAgICAgICAgICAgICAgICBcbiAgICAgIH1cbiAgICAgIG1hcmdpbi10b3A6Y2FsYygkdi1yaHl0aG0gLyAyKTtcbiAgICAgIG1hcmdpbi1ib3R0b206Y2FsYygkdi1yaHl0aG0gLyAyKTtcbiAgICAgIGxpIHtcbiAgICAgICAgZGlzcGxheTppbmxpbmUtYmxvY2s7XG4gICAgICAgIG1hcmdpbjouMjVlbSAuNWVtO1xuICAgICAgfVxuICAgICAgYSB7XG4gICAgICAgIGRpc3BsYXk6LXdlYmtpdC1ib3g7XG4gICAgICAgIGRpc3BsYXk6LW1zLWZsZXhib3g7XG4gICAgICAgIGRpc3BsYXk6ZmxleDtcbiAgICAgICAgLXdlYmtpdC1ib3gtcGFjazpjZW50ZXI7XG4gICAgICAgICAgLW1zLWZsZXgtcGFjazpjZW50ZXI7XG4gICAgICAgIGp1c3RpZnktY29udGVudDpjZW50ZXI7XG4gICAgICAgIC13ZWJraXQtYm94LWFsaWduOmNlbnRlcjtcbiAgICAgICAgICAgLW1zLWZsZXgtYWxpZ246Y2VudGVyO1xuICAgICAgICAgICAgICBhbGlnbi1pdGVtczpjZW50ZXI7ICAgICAgICBcbiAgICAgIH1cbiAgICAgIC50aXRsZSB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206LjI1ZW07XG4gICAgICB9XG4gICAgICBpbWcge1xuICAgICAgICBtYXgtaGVpZ2h0OjMuMTI1ZW07XG4gICAgICAgIG1heC13aWR0aDo3LjM3NWVtO1xuICAgICAgfVxuICAgICAgQGluY2x1ZGUgc3VzeS1icmVha3BvaW50KCRzY3JlZW4tc20tbWluLCAkbWFwLXNtKSB7XG4gICAgICAgIEBpbmNsdWRlIHNwYW4oMiBvZiA0IGxhc3QpO1xuICAgICAgfVxuICAgICAgQGluY2x1ZGUgc3VzeS1icmVha3BvaW50KCRzY3JlZW4tbWQtbWluLCAkbWFwLW1kKSB7XG4gICAgICAgICAgQGluY2x1ZGUgc3Bhbig3IG9mIDEyIGxhc3QpO1xuICAgICAgICAgIG1hcmdpbi10b3A6MDtcbiAgICAgICAgICBtYXJnaW4tYm90dG9tOjA7XG4gICAgICAgICAgZGlzcGxheTotd2Via2l0LWJveDtcbiAgICAgICAgICBkaXNwbGF5Oi1tcy1mbGV4Ym94O1xuICAgICAgICAgIGRpc3BsYXk6ZmxleDtcbiAgICAgICAgIC13ZWJraXQtYm94LXBhY2s6ZW5kO1xuICAgICAgICAgICAgLW1zLWZsZXgtcGFjazplbmQ7XG4gICAgICAgICAganVzdGlmeS1jb250ZW50OmZsZXgtZW5kO1xuICAgICAgICAgIC13ZWJraXQtYm94LWFsaWduOmNlbnRlcjtcbiAgICAgICAgICAgICAtbXMtZmxleC1hbGlnbjpjZW50ZXI7XG4gICAgICAgICAgICAgICAgIGFsaWduLWl0ZW1zOmNlbnRlcjtcbiAgICAgICAgLnRpdGxlIHtcbiAgICAgICAgICBkaXNwbGF5OmlubGluZS1ibG9jaztcbiAgICAgICAgICBmb250LXNpemU6LjgxMjVlbTtcbiAgICAgICAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICAgICAgICAgIG1hcmdpbi1ib3R0b206MDtcbiAgICAgICAgfVxuICAgICAgICAuc3BvbnNvciB7XG4gICAgICAgICAgZGlzcGxheTppbmxpbmUtYmxvY2s7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgIEBpbmNsdWRlIHN1c3ktYnJlYWtwb2ludCgkc2NyZWVuLWxnLW1pbiwgJG1hcC1sZykge1xuICAgICAgICBpbWcge1xuICAgICAgICAgIG1heC1oZWlnaHQ6My4xMjVlbTtcbiAgICAgICAgICBtYXgtd2lkdGg6OC4zNzVlbTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgICBAaW5jbHVkZSBzdXN5LWJyZWFrcG9pbnQoJHNjcmVlbi1tZC1taW4sICRtYXAtbWQpIHtcbiAgICAgIC5ncmlkIHtcbiAgICAgICAgbWFyZ2luLXRvcDouNWVtO1xuICAgICAgICBtYXJnaW4tYm90dG9tOi41ZW07XG4gICAgICAgIGRpc3BsYXk6LXdlYmtpdC1ib3g7XG4gICAgICAgIGRpc3BsYXk6LW1zLWZsZXhib3g7XG4gICAgICAgIGRpc3BsYXk6ZmxleDtcbiAgICAgICAgLXdlYmtpdC1ib3gtYWxpZ246Y2VudGVyO1xuICAgICAgICAgICAtbXMtZmxleC1hbGlnbjpjZW50ZXI7XG4gICAgICAgICAgICAgICBhbGlnbi1pdGVtczpjZW50ZXI7ICAgICAgICBcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAucHJpbWFyeSB7XG4gICAgYmFja2dyb3VuZDokYmx1ZTtcbiAgICBwb3NpdGlvbjpyZWxhdGl2ZTtcbiAgICB6LWluZGV4OjEwO1xuICAgIC5ncmlkIHtcbiAgICAgIHBvc2l0aW9uOnJlbGF0aXZlO1xuICAgIH1cbiAgICAuaGVhZGVyLWxvZ28ge1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgbWFyZ2luOjA7XG4gICAgICBsaW5lLWhlaWdodDowO1xuICAgICAgYSB7XG4gICAgICAgIGRpc3BsYXk6YmxvY2s7XG4gICAgICAgIHBhZGRpbmc6LjQ1ZW07XG4gICAgICAgIHN2ZyB7XG4gICAgICAgICAgbWF4LWhlaWdodDouNWVtO1xuICAgICAgICAgIC50eXBlIHtcbiAgICAgICAgICAgIGZpbGw6d2hpdGU7XG4gICAgICAgICAgfVxuICAgICAgICAgIEBpbmNsdWRlIHN1c3ktYnJlYWtwb2ludCgkc2NyZWVuLXNtLW1pbiwgJG1hcC1zbSkge1xuICAgICAgICAgICAgbWF4LWhlaWdodDouNzVlbTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgIC5sb2dvLXR5cGUge1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgIG1heC13aWR0aDoxMDAlO1xuICAgICAgfVxuICAgICAgQGluY2x1ZGUgc3BhbigxLjUgZmlyc3QpO1xuXG4gICAgICBAaW5jbHVkZSBzdXN5LWJyZWFrcG9pbnQoJHNjcmVlbi1zbS1taW4sICRtYXAtc20pIHtcbiAgICAgICAgQGluY2x1ZGUgc3BhbigzIGZpcnN0KTtcbiAgICAgIH1cbiAgICAgIEBpbmNsdWRlIHN1c3ktYnJlYWtwb2ludCgkc2NyZWVuLW1kLW1pbiwgJG1hcC1tZCkge1xuICAgICAgICBAaW5jbHVkZSBzcGFuKDIgZmlyc3QpO1xuICAgICAgICBwYWRkaW5nLXRvcDouMmVtO1xuICAgICAgfVxuICAgICAgQGluY2x1ZGUgc3VzeS1icmVha3BvaW50KCRzY3JlZW4tbGctbWluLCAkbWFwLWxnKSB7XG4gICAgICAgIHBhZGRpbmctdG9wOjA7XG4gICAgICAgIEBpbmNsdWRlIHNwYW4oNCBmaXJzdCk7XG4gICAgICAgIGEge1xuICAgICAgICAgIHBhZGRpbmc6LjU1ZW0gLjQ1ZW0gLjQ1ZW0gLjQ1ZW07XG4gICAgICAgICAgc3ZnIHtcbiAgICAgICAgICAgIG1heC1oZWlnaHQ6MWVtO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgICAvLyBiYXNlIHN0eWxpbmcgZm9yIG1haW4gbmF2aWdhdGlvblxuICAgIC5tYWluLW5hdi10b2dnbGUge1xuICAgICAgQGluY2x1ZGUgcGxhaW4tYnV0dG9uO1xuICAgICAgZGlzcGxheTpub25lO1xuICAgICAgcG9zaXRpb246YWJzb2x1dGU7XG4gICAgICB0b3A6MDtcbiAgICAgIHJpZ2h0OjUlO1xuICAgICAgd2lkdGg6Mi43NWVtO1xuICAgICAgaGVpZ2h0OjIuNzVlbTtcbiAgICAgIG92ZXJmbG93OmhpZGRlbjtcbiAgICAgIHBhZGRpbmc6LjVlbTtcbiAgICAgIHRleHQtYWxpZ246Y2VudGVyO1xuICAgICAgc3ZnIHtcbiAgICAgICAgQGluY2x1ZGUgY2VudGVyO1xuICAgICAgICBkaXNwbGF5OmlubGluZS1ibG9jaztcbiAgICAgICAgd2lkdGg6MS41ZW07XG4gICAgICB9XG4gICAgICAub25lLCAudHdvLCAudGhyZWUge1xuICAgICAgICAtd2Via2l0LXRyYW5zaXRpb246YWxsIC4zNXMgbGluZWFyO1xuICAgICAgICAgICAgICAgIHRyYW5zaXRpb246YWxsIC4zNXMgbGluZWFyO1xuICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTpyb3RhdGUoMGRlZykgc2NhbGUoMSk7XG4gICAgICAgICAgICAgICAgdHJhbnNmb3JtOnJvdGF0ZSgwZGVnKSBzY2FsZSgxKTtcbiAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm0tb3JpZ2luOjAgNTAlO1xuICAgICAgICAgICAgICAgIHRyYW5zZm9ybS1vcmlnaW46MCA1MCU7XG4gICAgICAgICAgICAgICAgZmlsbDp3aGl0ZTtcbiAgICAgIH1cbiAgICAgICYuY2xvc2Utc3RhdGUge1xuICAgICAgICAub25lIHtcbiAgICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTpyb3RhdGVaKC00NWRlZykgc2NhbGUoLjk1KTtcbiAgICAgICAgICAgICAgICAgIHRyYW5zZm9ybTpyb3RhdGVaKC00NWRlZykgc2NhbGUoLjk1KTtcbiAgICAgICAgICAtd2Via2l0LXRyYW5zZm9ybS1vcmlnaW46MTEuNWVtIDVlbTtcbiAgICAgICAgICAgICAgICAgIHRyYW5zZm9ybS1vcmlnaW46MTEuNWVtIDVlbTtcbiAgICAgICAgfVxuICAgICAgICAudHdvIHtcbiAgICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTp0cmFuc2xhdGVZKC0yNWVtKTtcbiAgICAgICAgICAgICAgICAgIHRyYW5zZm9ybTp0cmFuc2xhdGVZKC0yNWVtKTtcbiAgICAgICAgfVxuICAgICAgICAudGhyZWUge1xuICAgICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOnJvdGF0ZVooNDVkZWcpIHNjYWxlKC45NSk7XG4gICAgICAgICAgICAgICAgICB0cmFuc2Zvcm06cm90YXRlWig0NWRlZykgc2NhbGUoLjk1KTtcbiAgICAgICAgICAtd2Via2l0LXRyYW5zZm9ybS1vcmlnaW46MTEuNWVtIDVlbTtcbiAgICAgICAgICAgICAgICAgIHRyYW5zZm9ybS1vcmlnaW46MTEuNWVtIDVlbTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgQGluY2x1ZGUgc3VzeS1icmVha3BvaW50KCRzY3JlZW4tc20tbWluLCAkbWFwLXNtKSB7XG4gICAgICAgIHdpZHRoOjMuM2VtO1xuICAgICAgICBoZWlnaHQ6My4zZW07XG4gICAgICB9XG4gICAgfVxuICAgIC5kcm9wZG93bi1tZW51IHtcbiAgICAgIGNsZWFyOmJvdGg7XG4gICAgICBAaW5jbHVkZSBzdXN5LWJyZWFrcG9pbnQoJHNjcmVlbi1tZC1taW4sICRtYXAtbWQpIHtcbiAgICAgICAgQGluY2x1ZGUgc3Bhbig2IGxhc3QpO1xuICAgICAgICBjbGVhcjpub25lO1xuICAgICAgfVxuICAgICAgQGluY2x1ZGUgc3VzeS1icmVha3BvaW50KCRzY3JlZW4tbGctbWluLCAkbWFwLWxnKSB7XG4gICAgICAgIEBpbmNsdWRlIHNwYW4oOCBsYXN0KTtcbiAgICAgIH1cbiAgICB9XG4gICAgLmhlYWRlci1tYWluLW5hdmlnYXRpb24ge1xuICAgICAgZm9udC1zaXplOjEuMTI1ZW07XG4gICAgICBmb250LWZhbWlseTogJ0pvc2VmaW4gU2FucycsIHNhbnMtc2VyaWY7XG4gICAgICB0ZXh0LXRyYW5zZm9ybTp1cHBlcmNhc2U7XG4gICAgICBtYXJnaW4tYm90dG9tOiR2LXJoeXRobTtcbiAgICAgIEBpbmNsdWRlIHN1c3ktYnJlYWtwb2ludCgkc2NyZWVuLW1kLW1pbiwgJG1hcC1tZCkge1xuICAgICAgICBAaW5jbHVkZSBzcGFuKDMuNzUgb2YgNik7XG4gICAgICAgIGNsZWFyOm5vbmU7XG4gICAgICAgIG1hcmdpbi1ib3R0b206MDtcbiAgICAgIH1cbiAgICAgIEBpbmNsdWRlIHN1c3ktYnJlYWtwb2ludCgkc2NyZWVuLWxnLW1pbiwgJG1hcC1sZykge1xuICAgICAgICBAaW5jbHVkZSBzcGFuKDUgb2YgOCk7XG4gICAgICB9XG4gICAgICB1bCB7XG4gICAgICAgIEBpbmNsdWRlIHN1c3ktYnJlYWtwb2ludCgkc2NyZWVuLW1kLW1pbiwgJG1hcC1tZCkge1xuICAgICAgICAgIGRpc3BsYXk6LXdlYmtpdC1ib3g7XG4gICAgICAgICAgZGlzcGxheTotbXMtZmxleGJveDtcbiAgICAgICAgICBkaXNwbGF5OmZsZXg7IFxuICAgICAgICB9XG4gICAgICAgIGxpIHtcbiAgICAgICAgICBib3JkZXItYm90dG9tOjFweCBzb2xpZCAkZ3JheTtcbiAgICAgICAgICBhIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIGxpbmstcmVzZXQ7XG4gICAgICAgICAgICBkaXNwbGF5OmJsb2NrO1xuICAgICAgICAgICAgcGFkZGluZzoxLjFlbSAxZW0gLjllbSAxZW07XG4gICAgICAgICAgICBjb2xvcjp3aGl0ZTtcbiAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgICAgICY6YWZ0ZXIge1xuICAgICAgICAgICAgICBAaW5jbHVkZSB0cmFuc2l0aW9uKGJhY2tncm91bmQsIC41cywgZWFzZS1pbi1vdXQpO1xuICAgICAgICAgICAgICB3aWR0aDoxMDAlO1xuICAgICAgICAgICAgICBoZWlnaHQ6LjMzMzNlbTtcbiAgICAgICAgICAgICAgY29udGVudDonJztcbiAgICAgICAgICAgICAgZGlzcGxheTpibG9jaztcbiAgICAgICAgICAgICAgcG9zaXRpb246YWJzb2x1dGU7XG4gICAgICAgICAgICAgIGJvdHRvbTowO1xuICAgICAgICAgICAgICBsZWZ0OjA7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICAmOmhvdmVyLCAmLmFjdGl2ZSB7XG4gICAgICAgICAgICAgICY6YWZ0ZXIge1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6JHllbGxvdztcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgICBAaW5jbHVkZSBzdXN5LWJyZWFrcG9pbnQoJHNjcmVlbi1tZC1taW4sICRtYXAtbWQpIHtcbiAgICAgICAgICAgIHRleHQtYWxpZ246Y2VudGVyO1xuICAgICAgICAgICAgZGlzcGxheTppbmxpbmUtYmxvY2s7XG4gICAgICAgICAgICBib3JkZXItYm90dG9tOm5vbmU7XG4gICAgICAgICAgICBmbGV4LWdyb3c6MTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gICAgXG4gICAgLnNlYXJjaCB7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICBmb250LXNpemU6MS4xMjVlbTtcbiAgICAgIG1hcmdpbi1ib3R0b206JHYtcmh5dGhtO1xuICAgICAgLnNlYXJjaC1pbnB1dCAge1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgIGhlaWdodDoyLjI1ZW07XG4gICAgICAgIHBhZGRpbmc6MCAwIDAgMWVtO1xuICAgICAgICB3aWR0aDoxMDAlO1xuICAgICAgICBib3JkZXI6MXB4IHNvbGlkICRncmF5O1xuICAgICAgICBwYWRkaW5nLXJpZ2h0OjIuNWVtO1xuICAgICAgfVxuICAgICAgLnNlYXJjaC1idXR0b24ge1xuICAgICAgICBAaW5jbHVkZSBwbGFpbi1idXR0b247XG4gICAgICAgIHBvc2l0aW9uOmFic29sdXRlO1xuICAgICAgICB0b3A6LjE1ZW07XG4gICAgICAgIHJpZ2h0Oi40NWVtO1xuICAgICAgICBkaXNwbGF5OmlubGluZS1ibG9jaztcbiAgICAgICAgaGVpZ2h0OjJlbTtcbiAgICAgICAgd2lkdGg6MmVtO1xuICAgICAgICBwYWRkaW5nOi4xNWVtO1xuICAgICAgICBiYWNrZ3JvdW5kOndoaXRlO1xuICAgICAgfVxuICAgICAgQGluY2x1ZGUgc3VzeS1icmVha3BvaW50KCRzY3JlZW4tbWQtbWluLCAkbWFwLW1kKSB7XG4gICAgICAgIEBpbmNsdWRlIHNwYW4oMS41IG9mIDYpO1xuICAgICAgICBtYXJnaW4tdG9wOi43ZW07XG4gICAgICAgIG1hcmdpbi1ib3R0b206MDtcbiAgICAgIH1cbiAgICAgIEBpbmNsdWRlIHN1c3ktYnJlYWtwb2ludCgkc2NyZWVuLWxnLW1pbiwgJG1hcC1sZykge1xuICAgICAgICBAaW5jbHVkZSBzcGFuKDIgb2YgOCk7XG4gICAgICB9IFxuICAgIH1cbiAgfVxuICAuc2hvcCB7XG4gICAgbWFyZ2luLWJvdHRvbTokdi1yaHl0aG07XG4gICAgZGlzcGxheTpibG9jaztcbiAgICBwYWRkaW5nOi41ZW0gLjVlbSAuNWVtIDFlbTtcbiAgICBib3JkZXItYm90dG9tOjFweCBzb2xpZCAkZ3JheTtcbiAgICBzdmcge1xuICAgICAgaGVpZ2h0OjIuNWVtO1xuICAgICAgd2lkdGg6Mi41ZW07XG4gICAgICBmaWxsOndoaXRlO1xuICAgICAgcGF0aCB7XG4gICAgICAgIEBpbmNsdWRlIHRyYW5zaXRpb24oZmlsbCwgLjI1cywgZWFzZS1pbi1vdXQpXG4gICAgICB9XG4gICAgfVxuICAgICY6aG92ZXIge1xuICAgICAgc3ZnIHtcbiAgICAgICAgcGF0aCB7XG4gICAgICAgICAgZmlsbDokeWVsbG93O1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICAgIEBpbmNsdWRlIHN1c3ktYnJlYWtwb2ludCgkc2NyZWVuLW1kLW1pbiwgJG1hcC1tZCkge1xuICAgICAgQGluY2x1ZGUgc3BhbiguNzUgb2YgNiBsYXN0KTtcbiAgICAgIGJvcmRlcjpub25lO1xuICAgICAgcGFkZGluZzowO1xuICAgICAgZGlzcGxheTppbmxpbmUtYmxvY2s7XG4gICAgICB0ZXh0LWFsaWduOmNlbnRlcjtcbiAgICAgIG1hcmdpbi10b3A6Ljc1ZW07XG4gICAgICBtYXJnaW4tYm90dG9tOjA7XG4gICAgfVxuICAgIEBpbmNsdWRlIHN1c3ktYnJlYWtwb2ludCgkc2NyZWVuLWxnLW1pbiwgJG1hcC1sZykge1xuICAgICAgQGluY2x1ZGUgc3BhbigxIG9mIDggbGFzdCk7XG4gICAgfVxuICB9XG59XG5cblxuXG4vLyBlbmhhbmNlZCBzdHlsZXMgZm9yIGhlYWRlciAoSmF2YVNjcmlwdCBTdWNjZXNzKVxuLmpzIHtcbiAgLy8gc2hvdyBtYWluIG5hdiB0b2dnbGUgd2l0aCBKU1xuICAuc2l0ZS1oZWFkZXIge1xuICAgIC5wcmltYXJ5IHtcbiAgICAgIC5tYWluLW5hdi10b2dnbGUge1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgIEBpbmNsdWRlIHN1c3ktYnJlYWtwb2ludCgkc2NyZWVuLW1kLW1pbiwgJG1hcC1tZCkge1xuICAgICAgICAgIGRpc3BsYXk6bm9uZTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuICAvLyBoaWRpbmcgYW5kIHNob3cgb2YgZHJvcCBkb3duIG1lbnUgd2l0aCBKU1xuICAuanMtZHJvcGRvd24tbWVudSB7XG4gICAgICB2aXNpYmlsaXR5OmhpZGRlbjtcbiAgICAgIG92ZXJmbG93OmhpZGRlbjtcbiAgICAgIG1heC1oZWlnaHQ6MDtcbiAgICAgIEBpbmNsdWRlIHRyYW5zaXRpb24oYWxsLCAuMzVzLCBlYXNlLWluLW91dCk7XG4gICAgICBAaW5jbHVkZSBzdXN5LWJyZWFrcG9pbnQoJHNjcmVlbi1tZC1taW4sICRtYXAtbWQpIHtcbiAgICAgICAgdmlzaWJpbGl0eTp2aXNpYmxlO1xuICAgICAgICBtYXgtaGVpZ2h0OmluaGVyaXQ7XG4gICAgICB9XG4gICAgJi5vcGVuIHtcbiAgICAgIHZpc2liaWxpdHk6dmlzaWJsZTtcbiAgICAgIG1heC1oZWlnaHQ6MzVlbTtcbiAgICB9XG4gIH1cbiAgLmhlYWRlci1tYWluLW5hdmlnYXRpb24ub3BlbiArIC5oZWFkZXItc2VhcmNoLm9wZW4ge1xuICAgIG1hcmdpbi10b3A6JHYtcmh5dGhtO1xuICB9XG59XG5cbi8vIGRvIG5vdCBoYXZlIGZpeGVkIGZ1bmN0aW9uYWxpdHkgb2YgbG9nZ2VkIGluXG4uY21zLXJlYWR5IHtcbiAgLnByaW1hcnkge1xuICAgICYuZml4ZWQge1xuICAgICAgcG9zaXRpb246cmVsYXRpdmU7XG4gICAgfVxuICB9XG59XG4iLCIuc2l0ZS1mb290ZXIge1xuICAgIHVsIHtcbiAgICAgICAgQGluY2x1ZGUgcGxhaW4tbGlzdDtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogJHYtcmh5dGhtO1xuICAgIH1cbiAgICAuY3JlZGl0LWhlYWRpbmcge1xuICAgICAgICBmb250LXNpemU6IDFlbTtcbiAgICAgICAgY29sb3I6ICNmZmZmZmY7XG4gICAgfVxufVxuXG4uZm9vdGVyLWxpbmtzIHtcbiAgICBwYWRkaW5nOiAwIDAgY2FsYygkdi1yaHl0aG0gLyAyKSAwO1xuICAgIGJhY2tncm91bmQ6IHVybChcIi4uL2ltYWdlcy9iZy10cmlhbmdsZS1mb290ZXIucG5nXCIpO1xuICAgIGJhY2tncm91bmQtc2l6ZTogMTEuNzVlbSAxMS4xMjVlbTtcbiAgICBjb2xvcjogJGNvcm5mbG93ZXI7XG4gICAgJjpiZWZvcmUge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgY29udGVudDogXCJcIjtcbiAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiLi4vaW1hZ2VzL2JnLWFtZXJpY2FuLWZsYWcuanBnXCIpO1xuICAgICAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICAgICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXI7XG4gICAgICAgIHBhZGRpbmctYm90dG9tOiA2LjUlO1xuICAgICAgICBiYWNrZ3JvdW5kLXNpemU6IGNvdmVyO1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAkdi1yaHl0aG0gKiAzO1xuICAgIH1cbiAgICBhIHtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICBjb2xvcjogd2hpdGU7XG4gICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgICAgICY6aG92ZXIge1xuICAgICAgICAgICAgY29sb3I6IHdoaXRlO1xuICAgICAgICB9XG4gICAgfVxuICAgIHVsIHtcbiAgICAgICAgbGkge1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogY2FsYygkdi1yaHl0aG0gLyAyKTtcbiAgICAgICAgICAgIEBpbmNsdWRlIHN1c3ktYnJlYWtwb2ludCgkc2NyZWVuLWxnLW1pbiwgJG1hcC1sZykge1xuICAgICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206ICR2LXJoeXRobTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbn1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogJHNjcmVlbi1qYi1taW4pIGFuZCAob3JpZW50YXRpb246IHBvcnRyYWl0KSB7XG4gICAgLmZvb3Rlci1saW5rcyB7XG4gICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICAgIHBhZGRpbmctYm90dG9tOiAxNSU7XG4gICAgICAgIH1cbiAgICB9XG59XG5cbi5mb290ZXItbmF2aWdhdGlvbiB7XG4gICAgQGluY2x1ZGUgc3VzeS1icmVha3BvaW50KCRzY3JlZW4tc20tbWluLCAkbWFwLXNtKSB7XG4gICAgICAgIEBpbmNsdWRlIHNwYW4oMiBmaXJzdCk7XG4gICAgICAgIG1pbi1oZWlnaHQ6IDE1ZW07XG4gICAgICAgIHVsIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIGNsZWFyZml4O1xuICAgICAgICAgICAgLW1vei1jb2x1bW4tY291bnQ6IDI7XG4gICAgICAgICAgICAtd2Via2l0LWNvbHVtbi1jb3VudDogMjtcbiAgICAgICAgICAgIGNvbHVtbi1jb3VudDogMjtcbiAgICAgICAgfVxuICAgIH1cbiAgICBAaW5jbHVkZSBzdXN5LWJyZWFrcG9pbnQoJHNjcmVlbi1tZC1taW4sICRtYXAtbWQpIHtcbiAgICAgICAgQGluY2x1ZGUgc3Bhbig0IGZpcnN0KTtcbiAgICB9XG4gICAgQGluY2x1ZGUgc3VzeS1icmVha3BvaW50KCRzY3JlZW4tbGctbWluLCAkbWFwLWxnKSB7XG4gICAgICAgIEBpbmNsdWRlIHNwYW4oNyBmaXJzdCk7XG4gICAgICAgIHVsIHtcbiAgICAgICAgICAgIC1tb3otY29sdW1uLWNvdW50OiAzO1xuICAgICAgICAgICAgLXdlYmtpdC1jb2x1bW4tY291bnQ6IDM7XG4gICAgICAgICAgICBjb2x1bW4tY291bnQ6IDM7XG4gICAgICAgIH1cbiAgICB9XG59XG4uZm9vdGVyLXByb2R1Y3Rpb24tYnkge1xuICAgIG1hcmdpbi1ib3R0b206ICR2LXJoeXRobTtcbiAgICAud2diaCB7XG4gICAgICAgIGZpbGw6IHdoaXRlO1xuICAgICAgICB3aWR0aDogNmVtO1xuICAgICAgICBtYXgtaGVpZ2h0OiAzZW07XG4gICAgfVxuICAgIHVsIHtcbiAgICAgICAgbWFyZ2luLXRvcDogJHYtcmh5dGhtO1xuICAgIH1cbiAgICBAaW5jbHVkZSBzdXN5LWJyZWFrcG9pbnQoJHNjcmVlbi1zbS1taW4sICRtYXAtc20pIHtcbiAgICAgICAgQGluY2x1ZGUgc3BhbigyIGxhc3QpO1xuICAgIH1cbiAgICBAaW5jbHVkZSBzdXN5LWJyZWFrcG9pbnQoJHNjcmVlbi1tZC1taW4sICRtYXAtbWQpIHtcbiAgICAgICAgQGluY2x1ZGUgc3Bhbig0IGxhc3QpO1xuICAgIH1cbiAgICBAaW5jbHVkZSBzdXN5LWJyZWFrcG9pbnQoJHNjcmVlbi1sZy1taW4sICRtYXAtbGcpIHtcbiAgICAgICAgQGluY2x1ZGUgc3BhbigyLjUpO1xuICAgIH1cbn1cbi5mb290ZXItZnVuZGluZyB7XG4gICAgdWwge1xuICAgICAgICBsaSB7XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAkdi1yaHl0aG07XG4gICAgICAgIH1cbiAgICB9XG4gICAgY29sb3I6IHdoaXRlO1xuICAgIC8vIC5jcGIge1xuICAgIC8vICAgKiB7XG4gICAgLy8gICAgIGZpbGw6d2hpdGU7XG4gICAgLy8gICB9XG4gICAgLy8gICB3aWR0aDo3ZW07XG4gICAgLy8gICBtYXgtaGVpZ2h0OjRlbTtcbiAgICAvLyB9XG4gICAgc3ZnIHtcbiAgICAgICAgd2lkdGg6IDEyZW07XG4gICAgICAgIG1heC1oZWlnaHQ6IDEyZW07XG4gICAgICAgICoge1xuICAgICAgICAgICAgZmlsbDogd2hpdGU7XG4gICAgICAgIH1cbiAgICB9XG4gICAgYSB7XG4gICAgICAgIC8vIHdpZHRoOjEwMCU7XG4gICAgICAgIC8vIGhlaWdodDoxMDAlO1xuICAgIH1cbiAgICBAaW5jbHVkZSBzdXN5LWJyZWFrcG9pbnQoJHNjcmVlbi1zbS1taW4sICRtYXAtc20pIHtcbiAgICAgICAgQGluY2x1ZGUgc3BhbigyIGxhc3QpO1xuICAgIH1cbiAgICBAaW5jbHVkZSBzdXN5LWJyZWFrcG9pbnQoJHNjcmVlbi1tZC1taW4sICRtYXAtbWQpIHtcbiAgICAgICAgQGluY2x1ZGUgc3Bhbig0IGxhc3QpO1xuICAgIH1cbiAgICBAaW5jbHVkZSBzdXN5LWJyZWFrcG9pbnQoJHNjcmVlbi1sZy1taW4sICRtYXAtbGcpIHtcbiAgICAgICAgQGluY2x1ZGUgc3BhbigyLjUgbGFzdCk7XG4gICAgfVxufVxuLmZvb3Rlci1jb3B5cmlnaHQge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBjb2xvcjogI2ZmZmZmZjtcbiAgICBtYXJnaW4tYm90dG9tOiAkdi1yaHl0aG07XG4gICAgc3BhbiB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIH1cbiAgICBAaW5jbHVkZSBzdXN5LWJyZWFrcG9pbnQoJHNjcmVlbi1zbS1taW4sICRtYXAtc20pIHtcbiAgICAgICAgQGluY2x1ZGUgc3BhbigyIGZpcnN0KTtcbiAgICAgICAgY2xlYXI6IGJvdGg7XG4gICAgICAgIHBhZGRpbmctdG9wOiAyLjc1dnc7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgfVxuICAgIEBpbmNsdWRlIHN1c3ktYnJlYWtwb2ludCgkc2NyZWVuLW1kLW1pbiwgJG1hcC1tZCkge1xuICAgICAgICBAaW5jbHVkZSBzcGFuKDQgZmlyc3QpO1xuICAgIH1cbiAgICBAaW5jbHVkZSBzdXN5LWJyZWFrcG9pbnQoJHNjcmVlbi1sZy1taW4sICRtYXAtbGcpIHtcbiAgICAgICAgcGFkZGluZy10b3A6IDIuOTI1dnc7XG4gICAgICAgIEBpbmNsdWRlIHNwYW4oNCBmaXJzdCk7XG4gICAgfVxufVxuLmZvb3Rlci1sb2dvLXR5cGUge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIGZvbnQtc2l6ZTogNHZ3O1xuICAgIGxpbmUtaGVpZ2h0OiAxLjI3NTtcbiAgICBzdmcge1xuICAgICAgICBmaWxsOiAkbmF2eTtcbiAgICAgICAgbWF4LWhlaWdodDogMy44NzVlbTtcbiAgICB9XG4gICAgQGluY2x1ZGUgc3VzeS1icmVha3BvaW50KCRzY3JlZW4tc20tbWluLCAkbWFwLXNtKSB7XG4gICAgICAgIEBpbmNsdWRlIHNwYW4oMiBsYXN0KTtcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIH1cbiAgICBAaW5jbHVkZSBzdXN5LWJyZWFrcG9pbnQoJHNjcmVlbi1tZC1taW4sICRtYXAtbWQpIHtcbiAgICAgICAgQGluY2x1ZGUgc3Bhbig0IGxhc3QpO1xuICAgIH1cbiAgICBAaW5jbHVkZSBzdXN5LWJyZWFrcG9pbnQoJHNjcmVlbi1sZy1taW4sICRtYXAtbGcpIHtcbiAgICAgICAgQGluY2x1ZGUgc3Bhbig4IGxhc3QpO1xuICAgICAgICBmb250LXNpemU6IDMuNXZ3O1xuICAgIH1cbn1cbiIsIi5jb25uZWN0LXNvY2lhbCB7XG4gICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiLi4vaW1hZ2VzL2JnLXRyaWFuZ2xlLW5ld3NsZXR0ZXIucG5nXCIpO1xuICAgIGJhY2tncm91bmQtc2l6ZTogMTEuNzVlbSAxMS4xMjVlbTtcbiAgICBjb2xvcjogd2hpdGU7XG4gICAgbWFyZ2luLWJvdHRvbTogJHYtcmh5dGhtICogMztcbiAgICBvdmVyZmxvdy14OiBoaWRkZW47XG4gICAgaDMge1xuICAgICAgICBjb2xvcjogd2hpdGU7XG4gICAgfVxuICAgIC5lbWFpbC1zaWdudXAge1xuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgIHBhZGRpbmc6ICR2LXJoeXRobSAwO1xuICAgICAgICBoMyB7XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAwLjc2OWVtO1xuICAgICAgICB9XG4gICAgICAgIG92ZXJmbG93OiBoaWRkZW47XG5cbiAgICAgICAgLmVtYWlsLXNpZ251cC1mb3JtIHtcbiAgICAgICAgICAgIC5ub3RlIHtcbiAgICAgICAgICAgICAgICAvLyBmbGV4IGJveCBvdmVyaWRlIGZvciBzb3VyY2Ugb3JkZXIgaW4gY29ubmVjdCBzZWN0aW9uXG4gICAgICAgICAgICAgICAgLXdlYmtpdC1ib3gtb3JkaW5hbC1ncm91cDogMjtcbiAgICAgICAgICAgICAgICAtbXMtZmxleC1vcmRlcjogMTtcbiAgICAgICAgICAgICAgICBvcmRlcjogMTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgICYudm90ZSAuaGVhZGxpbmUge1xuICAgICAgICAgICAgcGFkZGluZzogMCAxMCUgMCAwO1xuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG5cbiAgICAgICAgICAgIC52b3RlLWhlYWRsaW5lIHtcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiB1cmwoLi4vaW1hZ2VzL3RpdGxlX3RoZS12b3RlLnBuZykgbm8tcmVwZWF0IGNlbnRlciBjZW50ZXI7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1zaXplOiBjb250YWluO1xuICAgICAgICAgICAgICAgIG1heC13aWR0aDogMzAwcHg7XG4gICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICAgICAgaGVpZ2h0OiA1N3B4O1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgICAgIG1hcmdpbjogMCBhdXRvO1xuICAgICAgICAgICAgICAgIHRleHQtaW5kZW50OiAtOTk5OTlweDtcblxuICAgICAgICAgICAgICAgIEBtZWRpYSAobWF4LXdpZHRoOiA1MDBweCkge1xuICAgICAgICAgICAgICAgICAgICBtYXgtd2lkdGg6IDgwJTtcbiAgICAgICAgICAgICAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC5oZWFkbGluZSB7XG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgIHBhZGRpbmc6IDAgMTAlO1xuICAgICAgICB9XG5cbiAgICAgICAgQGluY2x1ZGUgc3VzeS1icmVha3BvaW50KCRzY3JlZW4tc20tbWluLCAkbWFwLXNtKSB7XG4gICAgICAgICAgICBAaW5jbHVkZSBzcGFuKDIgZmlyc3QpO1xuICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICAgICAgLmVtYWlsLXNpZ251cC1mb3JtIHtcbiAgICAgICAgICAgICAgICB3aWR0aDogODAlO1xuICAgICAgICAgICAgICAgIG1hcmdpbjogMCBhdXRvO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIEBpbmNsdWRlIHN1c3ktYnJlYWtwb2ludCgkc2NyZWVuLW1kLW1pbiwgJG1hcC1tZCkge1xuICAgICAgICAgICAgQGluY2x1ZGUgc3Bhbig0IGZpcnN0KTtcbiAgICAgICAgfVxuICAgICAgICBAaW5jbHVkZSBzdXN5LWJyZWFrcG9pbnQoJHNjcmVlbi1sZy1taW4sICRtYXAtbGcpIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIHNwYW4oNyBmaXJzdCk7XG5cbiAgICAgICAgICAgICYudm90ZSBoMyB7XG4gICAgICAgICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDE1cHg7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIGgzIHtcbiAgICAgICAgICAgICAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAgICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDE1cHg7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC5lbWFpbC1zaWdudXAtZm9ybSB7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogLXdlYmtpdC1ib3g7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogLW1zLWZsZXhib3g7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgICAgICAtbXMtZmxleC13cmFwOiB3cmFwO1xuICAgICAgICAgICAgICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgICAgICBwYWRkaW5nLXJpZ2h0OiAxMCU7XG4gICAgICAgICAgICAgICAgLmVtYWlsLWZpZWxkIHtcbiAgICAgICAgICAgICAgICAgICAgZmxvYXQ6IGxlZnQ7XG4gICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICAgICAgICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiAxJTtcbiAgICAgICAgICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IDA7XG4gICAgICAgICAgICAgICAgICAgIHdpZHRoOiA0NSU7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIC56aXAtY29kZS1maWVsZCB7XG4gICAgICAgICAgICAgICAgICAgIGZsb2F0OiBsZWZ0O1xuICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgICAgICAgICAgICAgICAgIHdpZHRoOiAzMCU7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIGJ1dHRvblt0eXBlPVwic3VibWl0XCJdIHtcbiAgICAgICAgICAgICAgICAgICAgd2lkdGg6IDI0JTtcbiAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAubm90ZSB7XG4gICAgICAgICAgICAgICAgICAgIHdpZHRoOiA3NSU7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIEBpbmNsdWRlIHN1c3ktYnJlYWtwb2ludCgkc2NyZWVuLWpiLW1pbikge1xuICAgICAgICAgICAgLmVtYWlsLXNpZ251cC1mb3JtIHtcbiAgICAgICAgICAgICAgICBidXR0b25bdHlwZT1cInN1Ym1pdFwiXSB7XG4gICAgICAgICAgICAgICAgICAgIHdpZHRoOiAxOSU7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuICAgIC5mb290ZXItc29jaWFsLWxpbmtzIHtcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICBwYWRkaW5nOiAkdi1yaHl0aG0gKiAyIDA7XG4gICAgICAgIGJhY2tncm91bmQ6ICRuYXZ5O1xuICAgICAgICB3aWR0aDogMTEwJTtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IC01JTtcbiAgICAgICAgLnNvY2lhbC1saXN0IHtcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgICAgICAgICB3aWR0aDogNzAlO1xuICAgICAgICAgICAgbWFyZ2luOiAwIGF1dG87XG4gICAgICAgICAgICBhIHtcbiAgICAgICAgICAgICAgICB3aWR0aDogM2VtO1xuICAgICAgICAgICAgICAgIGhlaWdodDogM2VtO1xuICAgICAgICAgICAgICAgICY6aG92ZXIge1xuICAgICAgICAgICAgICAgICAgICBzdmcge1xuICAgICAgICAgICAgICAgICAgICAgICAgLmJhY2tncm91bmQge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZpbGw6ICRtdXN0YXJkO1xuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgc3ZnIHtcbiAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICAgICAgICAgICAgLmJhY2tncm91bmQge1xuICAgICAgICAgICAgICAgICAgICBmaWxsOiAkeWVsbG93O1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAuaGFzaHRhZyB7XG4gICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgfVxuICAgICAgICBAaW5jbHVkZSBzdXN5LWJyZWFrcG9pbnQoJHNjcmVlbi1zbS1taW4sICRtYXAtc20pIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIHNwYW4oMiBsYXN0KTtcbiAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgICAgIHBhZGRpbmctbGVmdDogNS42MjUlO1xuICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IGluaGVyaXQ7XG4gICAgICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgICAgICAgY29udGVudDogXCJcIjtcbiAgICAgICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZDogd2hpdGU7XG4gICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgICAgICAgICAgIHRvcDogMDtcbiAgICAgICAgICAgICAgICByaWdodDogMTAwJTtcbiAgICAgICAgICAgICAgICB3aWR0aDogY2FsYyg1LjI2MzE2JSAqIDIpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgJjphZnRlciB7XG4gICAgICAgICAgICAgICAgY29udGVudDogXCJcIjtcbiAgICAgICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgICAgICAgICAgIHdpZHRoOiAxMS4yNSU7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZDogJG5hdnk7XG4gICAgICAgICAgICAgICAgdG9wOiAwO1xuICAgICAgICAgICAgICAgIGxlZnQ6IDEwMCU7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICAuc29jaWFsLWxpc3Qge1xuICAgICAgICAgICAgICAgIHdpZHRoOiA5MCU7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgQGluY2x1ZGUgc3VzeS1icmVha3BvaW50KCRzY3JlZW4tbWQtbWluLCAkbWFwLW1kKSB7XG4gICAgICAgICAgICBAaW5jbHVkZSBzcGFuKDQgbGFzdCk7XG4gICAgICAgICAgICAuc29jaWFsLWxpc3Qge1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgICAgICAgICB3aWR0aDogYXV0bztcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICAgICAgICB3aWR0aDogNS4yNjMxNiU7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgQGluY2x1ZGUgc3VzeS1icmVha3BvaW50KCRzY3JlZW4tbGctbWluLCAkbWFwLWxnKSB7XG4gICAgICAgICAgICBAaW5jbHVkZSBzcGFuKDUgbGFzdCk7XG4gICAgICAgICAgICBwYWRkaW5nLWxlZnQ6IDA7XG4gICAgICAgICAgICAmOmFmdGVyIHtcbiAgICAgICAgICAgICAgICB3aWR0aDogNTAlO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgICAgICAgIHdpZHRoOiA0JTtcbiAgICAgICAgICAgICAgICByaWdodDogMTAwJTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICBAaW5jbHVkZSBzdXN5LWJyZWFrcG9pbnQoJHNjcmVlbi1qYi1taW4pIHtcbiAgICAgICAgICAgICY6YWZ0ZXIge1xuICAgICAgICAgICAgICAgIC8vIG1hZ2ljXG4gICAgICAgICAgICAgICAgd2lkdGg6IGNhbGMoKDEwMHZ3IC0gMTQwMHB4KSAvIDIpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuICAgIC5ncmlkIHtcbiAgICAgICAgQGluY2x1ZGUgc3VzeS1icmVha3BvaW50KCRzY3JlZW4tc20tbWluLCAkbWFwLXNtKSB7XG4gICAgICAgICAgICBkaXNwbGF5OiAtd2Via2l0LWJveDtcbiAgICAgICAgICAgIGRpc3BsYXk6IC1tcy1mbGV4Ym94O1xuICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgfVxuICAgIH1cbn1cbiIsIi8vIG5vIGpzIGFkIGJsb2NrIHNob3cgbm90aGluZ1xuLmFkLWJsb2NrIHtcbiAgbWF4LWhlaWdodDowO1xuICBwYWRkaW5nOjA7XG4gIHZpc2liaWxpdHk6aGlkZGVuO1xuICBsaW5lLWhlaWdodDowO1xufVxuIFxuLmpzIHtcbiAgLmFkLWJsb2NrIHtcbiAgICBAaW5jbHVkZSB0cmFuc2l0aW9uKGFsbCwgLjM1cywgZWFzZS1pbi1vdXQpO1xuICAgIHBvc2l0aW9uOnJlbGF0aXZlO1xuICAgIHRleHQtYWxpZ246Y2VudGVyO1xuICAgICYub3Blbi5hZC1zaWRlLWludGVyaW9yIHtcbiAgICAgICY6YmVmb3JlLCAmOmFmdGVyIHtcbiAgICAgICAgYmFja2dyb3VuZDpub25lO1xuICAgICAgfVxuICAgIH1cbiAgICAmLm9wZW4ge1xuICAgICAgcGFkZGluZzokdi1yaHl0aG0gMCAkdi1yaHl0aG0qMjtcbiAgICAgIG1heC1oZWlnaHQ6MjVlbTtcbiAgICAgIHZpc2liaWxpdHk6dmlzaWJsZTtcbiAgICAgIHotaW5kZXg6aW5oZXJpdDtcbiAgICAgIGxpbmUtaGVpZ2h0OmluaGVyaXQ7XG4gICAgICAuYWQge1xuICAgICAgICBkaXNwbGF5OmlubGluZS1ibG9jaztcbiAgICAgIH1cbiAgICAgICY6YmVmb3JlLCAmOmFmdGVyIHtcbiAgICAgICAgY29udGVudDonJztcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICBoZWlnaHQ6MTAwJTtcbiAgICAgICAgd2lkdGg6MTAwJTtcbiAgICAgICAgdG9wOjA7XG4gICAgICAgIGxlZnQ6MDtcbiAgICAgIH1cbiAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgYmFja2dyb3VuZDp1cmwoJy4uL2ltYWdlcy9iZy1kZWNvLWNpcmNsZS5wbmcnKTtcbiAgICAgICAgYmFja2dyb3VuZC1zaXplOjE4ZW0gMThlbTtcbiAgICAgICAgei1pbmRleDotMjtcbiAgICAgIH1cbiAgICAgICY6YWZ0ZXIge1xuICAgICAgICB6LWluZGV4Oi0xO1xuICAgICAgICBiYWNrZ3JvdW5kOnJnYmEoJG92ZXJsYXksIC41KTtcblxuICAgICAgfVxuICAgICAgJi5mb290ZXItYWQge1xuICAgICAgICBwYWRkaW5nLXRvcDokdi1yaHl0aG0qMS41O1xuICAgICAgICBwYWRkaW5nLWJvdHRvbTokdi1yaHl0aG0qMS43NTtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTo0LjVlbTtcbiAgICAgIH1cbiAgICB9XG4gICAgLmFkIHtcbiAgICAgIEBpbmNsdWRlIGNsZWFyZml4O1xuICAgICAgbWFyZ2luOjAgYXV0bztcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgIGRpc3BsYXk6aW5saW5lLWJsb2NrO1xuICAgICAgZGlzcGxheTpub25lO1xuICAgICAgZGl2IHtcbiAgICAgICAgY2xlYXI6Ym90aDsgIFxuICAgICAgfVxuICAgICAgc3BhbiwgYSB7XG4gICAgICAgIGZvbnQtc2l6ZTouNzVlbTtcbiAgICAgICAgZmxvYXQ6bGVmdDtcbiAgICAgIH1cbiAgICAgIGEge1xuICAgICAgICBmbG9hdDpyaWdodDtcbiAgICAgICAgY29sb3I6JGJsdWU7XG4gICAgICB9IFxuICAgICAgYnV0dG9uIHtcbiAgICAgICAgQGluY2x1ZGUgcGxhaW4tYnV0dG9uO1xuICAgICAgICBiYWNrZ3JvdW5kOiRncmF5O1xuICAgICAgICB3aWR0aDoxLjVlbTtcbiAgICAgICAgaGVpZ2h0OjEuNWVtO1xuICAgICAgICBwb3NpdGlvbjphYnNvbHV0ZTtcbiAgICAgICAgdG9wOjEuMjVlbTtcbiAgICAgICAgcmlnaHQ6MDtcbiAgICAgICAgc3ZnIHtcbiAgICAgICAgICBAaW5jbHVkZSBjZW50ZXI7XG4gICAgICAgICAgd2lkdGg6NzUlO1xuICAgICAgICAgIGhlaWdodDo3NSU7XG4gICAgICAgIH1cbiAgICAgICAgQGluY2x1ZGUgc3VzeS1icmVha3BvaW50KCRzY3JlZW4tbWQtbWluLCAkbWFwLW1kKSB7XG4gICAgICAgICAgd2lkdGg6MmVtO1xuICAgICAgICAgIGhlaWdodDoyZW07XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuLnNob3AtYWQge1xuICBiYWNrZ3JvdW5kOndoaXRlO1xuICB0ZXh0LWFsaWduOmNlbnRlcjtcbiAgcGFkZGluZy10b3A6JHYtcmh5dGhtKjM7XG4gIHBhZGRpbmctYm90dG9tOiR2LXJoeXRobSozO1xuICBhICB7XG4gICAgZGlzcGxheTppbmxpbmUtYmxvY2s7XG4gICAgcG9zaXRpb246cmVsYXRpdmU7XG4gICAgJi5tb2JpbGUge1xuICAgICAgYmFja2dyb3VuZC1pbWFnZTp1cmwoJy4uL2ltYWdlcy9hbWV4X3Nob3BfbW9iaWxlLnBuZycpO1xuICAgICAgYmFja2dyb3VuZC1yZXBlYXQ6bm8tcmVwZWF0O1xuICAgICAgd2lkdGg6MjBlbTtcbiAgICAgIGhlaWdodDo2LjI1ZW07XG4gICAgfVxuICAgICYuZGVza3RvcCB7XG4gICAgICBiYWNrZ3JvdW5kLWltYWdlOnVybCgnLi4vaW1hZ2VzL2FtZXhfc2hvcF9kZXNrdG9wLnBuZycpO1xuICAgICAgYmFja2dyb3VuZC1yZXBlYXQ6bm8tcmVwZWF0O1xuICAgICAgd2lkdGg6NzVlbTtcbiAgICAgIGhlaWdodDo5LjM3NWVtO1xuICAgIH0gICAgXG4gIH1cbn1cblxuLy8gYWRqdXN0IG1hcmdpbiBmb3Igc2hvcCBhZCBpZiBib3R0b20gYmFubmVyIGRvZXMgbm90IGV4aXN0XG4uY29ubmVjdC1zb2NpYWwge1xuICAmICsgLnNob3AtYWQgIHtcbiAgICBwYWRkaW5nLXRvcDowO1xuICB9XG59XG5cbi8vIGxheW91dCBmb3IgXCJzaWRlYmFyIGFkXCJcbi5hZC1pbnRlcmlvci1jb250ZW50IHtcbiAgQGluY2x1ZGUgc3VzeS1icmVha3BvaW50KCRzY3JlZW4tbWQtbWluLCAkbWFwLW1kKSB7XG4gICAgQGluY2x1ZGUgc3Bhbig1IGZpcnN0KTtcbiAgfVxuICBAaW5jbHVkZSBzdXN5LWJyZWFrcG9pbnQoJHNjcmVlbi1sZy1taW4sICRtYXAtbGcpIHtcbiAgICBAaW5jbHVkZSBzcGFuKDggZmlyc3QpO1xuICB9XG59XG5cbi5hZC1zaWRlLWludGVyaW9yIHtcbiAgQGluY2x1ZGUgc3VzeS1icmVha3BvaW50KCRzY3JlZW4tbWQtbWluLCAkbWFwLW1kKSB7XG4gICAgbWFyZ2luLXRvcDokdi1yaHl0aG07XG4gICAgQGluY2x1ZGUgc3BhbigzIGxhc3QpO1xuICB9XG4gIEBpbmNsdWRlIHN1c3ktYnJlYWtwb2ludCgkc2NyZWVuLWxnLW1pbiwgJG1hcC1sZykge1xuICAgIEBpbmNsdWRlIHNwYW4oNCBsYXN0KTtcbiAgfVxufVxuIiwiOi13ZWJraXQtZnVsbC1zY3JlZW4tYW5jZXN0b3I6bm90KGlmcmFtZSl7XG4gIC5wYnMtY2xlYW5zbGF0ZSwgLnNpdGUtaGVhZGVyLCAuYWQtYmxvY2ssIC5jbXMsIC50ZWFzZXItaXRlbSwgLnNpdGUtZm9vdGVyLCBcbiAgLmZpbG0tc3ViLW5hdiwgLldhbGxvcC1idXR0b25QcmV2aW91cywgLldhbGxvcC1idXR0b25OZXh0LCAuYWNjb3JkaW9uLXRvZ2dsZSwgLnRhYi1wYW5lbCwgLmZ1bGwtc2NyZWVuIHtcbiAgICBkaXNwbGF5Om5vbmUgIWltcG9ydGFudDtcbiAgfVxufVxuYm9keSB7XG4gIG92ZXJmbG93LXg6aGlkZGVuO1xuICAvLyBzdGF0ZSBydWxlcyBmb3IgYm9keSB3aGVuIG1vZGFsIGlzIG9wZW5cbiAgJi5maXhlZCB7XG4gICAgcG9zaXRpb246IGZpeGVkO1xuICAgIGxlZnQ6MDtcbiAgICB0b3A6MDtcbiAgICB3aWR0aDoxMDAlO1xuICB9XG59XG5cbmlmcmFtZSB7XG4gIGJhY2tncm91bmQ6JG1lZEdyYXk7XG59XG5cbmltZyB7XG4gIG1heC13aWR0aDoxMDAlO1xufVxuXG5hIHtcbiAgQGluY2x1ZGUgdHJhbnNpdGlvbihjb2xvciwgLjNzLCBlYXNlLWluLW91dCk7XG4gIGNvbG9yOiRyZWQ7XG4gIHRleHQtZGVjb3JhdGlvbjpub25lO1xuICBmb250LXdlaWdodDo3MDA7XG4gICY6aG92ZXIge1xuICAgIGNvbG9yOiRjcmltc29uO1xuICAgIHRleHQtZGVjb3JhdGlvbjp1bmRlcmxpbmU7XG4gIH1cbn1cblxuLmNhbGwtdG8tYWN0aW9uIHtcbiAgQGluY2x1ZGUgdHJhbnNpdGlvbihhbGwsIC41cywgZWFzZS1pbi1vdXQpO1xuICBiYWNrZ3JvdW5kOiRyZWQ7XG4gIGNvbG9yOndoaXRlO1xuICBib3JkZXItcmFkaXVzOi40Mzc1ZW07XG4gIGZvbnQtd2VpZ2h0OiA3MDA7XG4gIHRleHQtdHJhbnNmb3JtOnVwcGVyY2FzZTtcbiAgZm9udC1zaXplOjEuMTI1ZW07XG4gIHBhZGRpbmc6MWVtIDMuNWVtO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHRvcDogMDtcbiAgJjpob3ZlciB7XG4gICAgY29sb3I6d2hpdGU7XG4gICAgYmFja2dyb3VuZDpkYXJrZW4oJHJlZCwgNSUpO1xuICAgIHRleHQtZGVjb3JhdGlvbjpub25lO1xuICB9XG4gICY6YWN0aXZlIHtcbiAgICB0b3A6LjI3Nzc3Nzc3NzhlbTtcbiAgfVxufVxuXG5maWd1cmUge1xuICBtYXJnaW46MDtcbn1cblxuZmlnY2FwdGlvbiwgLmNhcHRpb24ge1xuICBmb250LXNpemU6Ljg1ZW07XG4gIGNvbG9yOiRtZWRHcmF5O1xuICBmb250LXN0eWxlOml0YWxpYztcbiAgcCB7XG4gICAgbWFyZ2luOjA7XG4gIH1cbn1cblxuLmNhcHRpb24ge1xuICBoNCwgLmRlbHRhIHtcbiAgICBtYXJnaW46LjI1ZW0gMDtcbiAgICBmb250LXN0eWxlOm5vcm1hbDtcbiAgfVxufVxuXG5xIHtcbiAgZGlzcGxheTpibG9jaztcbiAgY29sb3I6JG1lZEdyYXk7XG4gIGZvbnQtc2l6ZToxLjE1ZW07XG4gIG1hcmdpbjokdi1yaHl0aG0gNSU7XG4gIHBvc2l0aW9uOnJlbGF0aXZlO1xuICAmOmJlZm9yZSB7XG4gICAgY29udGVudDonJztcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgaGVpZ2h0OjExMCU7XG4gICAgd2lkdGg6LjVlbTtcbiAgICBiYWNrZ3JvdW5kOiRtZWRHcmF5O1xuICAgIGxlZnQ6LTEuNWVtO1xuICAgIEBpbmNsdWRlIGNlbnRlcihmYWxzZSwgdHJ1ZSk7XG4gIH1cbiAgQGluY2x1ZGUgc3VzeS1icmVha3BvaW50KCRzY3JlZW4tbWQtbWluLCAkbWFwLW1kKSB7XG4gICAgbWFyZ2luLWxlZnQ6MTAlO1xuICAgIG1hcmdpbi1yaWdodDoxMCU7XG4gIH1cbn1cblxuY2l0ZSB7XG4gIGRpc3BsYXk6YmxvY2s7XG4gIGZvbnQtc2l6ZToxLjI1ZW07XG4gIG1hcmdpbjokdi1yaHl0aG0gNSU7XG4gIGNvbG9yOiRtZWRHcmF5O1xuICBAaW5jbHVkZSBzdXN5LWJyZWFrcG9pbnQoJHNjcmVlbi1tZC1taW4sICRtYXAtbWQpIHtcbiAgICBtYXJnaW4tbGVmdDoxMCU7XG4gICAgbWFyZ2luLXJpZ2h0OjEwJTtcbiAgICBwb3NpdGlvbjpyZWxhdGl2ZTtcbiAgICAmOmJlZm9yZSB7XG4gICAgICBjb250ZW50OicnO1xuICAgICAgcG9zaXRpb246YWJzb2x1dGU7XG4gICAgICBkaXNwbGF5OmlubGluZS1ibG9jaztcbiAgICAgIHRvcDowO1xuICAgICAgbGVmdDotMy41ZW07XG4gICAgICBiYWNrZ3JvdW5kOnVybCgnLi4vaW1hZ2VzL3F1b3RlLnN2ZycpIG5vLXJlcGVhdDtcbiAgICAgIGJhY2tncm91bmQtc2l6ZToyLjVlbTtcbiAgICAgIHdpZHRoOjIuNWVtO1xuICAgICAgaGVpZ2h0OjIuNWVtO1xuICAgIH1cbiAgfVxufVxuXG4uanVtcC1saW5rIHtcbiAgJjpiZWZvcmUge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgaGVpZ2h0OiA2ZW07XG4gICAgbWFyZ2luOi02ZW0gMCAwO1xuICB9XG4gICYuc2l0ZS1mb290ZXIge1xuICAgICY6YmVmb3JlIHtcbiAgICAgIGhlaWdodDogOWVtO1xuICAgICAgbWFyZ2luOi05ZW0gMCAwO1xuICAgIH1cbiAgfVxufVxuXG4vLyBjb3ZlIHN0dWZmXG4uY292ZS13cmFwcGVyIHtcbiAgbWFyZ2luLWJvdHRvbToxLjVlbTtcbn1cblxuLmNvdmUtY29udGFpbmVyIHtcbiAgJjpiZWZvcmUge1xuICAgIEBpbmNsdWRlIGNlbnRlcjtcbiAgICB6LWluZGV4OiAzO1xuICAgIGNvbG9yOndoaXRlO1xuICAgIGNvbnRlbnQ6J1ZpZGVvIFJlcXVpcmVzIEphdmFzY3JpcHQnXG4gIH1cbn1cblxuLmpzIHtcbiAgLmNvdmUtY29udGFpbmVyIHtcbiAgICAmOmJlZm9yZSB7XG4gICAgICBjb250ZW50Om5vbmVcbiAgICB9XG4gIH1cbn1cblxuLmNvdmUtY29udGFpbmVyIHtcbiAgcG9zaXRpb246cmVsYXRpdmU7XG4gIGhlaWdodDogMDtcbiAgcGFkZGluZy1ib3R0b206NTYuMjUlO1xuICBiYWNrZ3JvdW5kOnRyYW5zcGFyZW50O1xuICBAaW5jbHVkZSBhbmltYXRlZCgxcyk7XG4gIEBpbmNsdWRlIGZhZGVJbjtcbiAgaWZyYW1lIHtcbiAgICBiYWNrZ3JvdW5kOnRyYW5zcGFyZW50O1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDA7XG4gICAgbGVmdDogMDtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgei1pbmRleDoyO1xuICB9XG59XG5cbi5ncmlkIHtcbiAgQGluY2x1ZGUgZ3JpZDtcbn1cblxuLmdyaWQuZnVsbCB7XG4gIG1heC13aWR0aDoxMDAlO1xuICBwYWRkaW5nOjA7XG59XG5cbi5wbHVnaW4taXRlbS1ibG9jayB7XG4gIEBpbmNsdWRlIGNsZWFyZml4O1xufVxuXG4vLyBnZW5lcmljIHNwYWNpbmcgZm9yIHN0YW5kYXJkIHBhZ2UgIFxuLnBhZ2Uge1xuICBAaW5jbHVkZSBjbGVhcmZpeDtcbiAgbWFyZ2luLXRvcDokdi1yaHl0aG0qMjtcbiAgbWFyZ2luLWJvdHRvbTokdi1yaHl0aG0qMjtcbn1cblxuLnJpZ2h0LWFycm93IHtcbiAgZmlsbDp3aGl0ZTtcbiAgbWF4LXdpZHRoOjJlbTtcbiAgbWF4LWhlaWdodDoyZW07XG59XG5cbi5wYXNzcG9ydC1pY29uIHtcbiAgdmVydGljYWwtYWxpZ246bWlkZGxlO1xuICBtYXJnaW4tdG9wOi0uMTVlbTtcbiAgbWF4LXdpZHRoOjEuMjVlbTtcbiAgbWF4LWhlaWdodDoxLjI1ZW07XG59XG5cbi5yZWxhdGVkLWZlYXR1cmUtbGlzdCB7XG4gIGNsZWFyOmJvdGg7XG4gIG1hcmdpbi1ib3R0b206JHYtcmh5dGhtKjI7XG4gIG1hcmdpbi10b3A6JHYtcmh5dGhtKjI7XG59IiwiLy8gU2hhcmVkIENvbnRhaW5lciBBUElcbi8vID09PT09PT09PT09PT09PT09PT09XG5cbi8vIENvbnRhaW5lciBPdXRwdXRcbi8vIC0tLS0tLS0tLS0tLS0tLS1cbi8vIC0gWyR3aWR0aF0gICAgICAgICA6IDxsZW5ndGg+XG4vLyAtIFskanVzdGlmeV0gICAgICAgOiBsZWZ0IHwgY2VudGVyIHwgcmlnaHRcbi8vIC0gWyRtYXRoXSAgICAgICAgICA6IGZsdWlkIHwgc3RhdGljXG5AbWl4aW4gY29udGFpbmVyLW91dHB1dChcbiAgJHdpZHRoLFxuICAkanVzdGlmeTogYXV0byBhdXRvLFxuICAkcHJvcGVydHk6IG1heC13aWR0aFxuKSB7XG4gICRvdXRwdXQ6IChcbiAgICAjeyRwcm9wZXJ0eX06ICR3aWR0aCBvciAxMDAlLFxuICAgIG1hcmdpbi1sZWZ0OiBudGgoJGp1c3RpZnksIDEpLFxuICAgIG1hcmdpbi1yaWdodDogbnRoKCRqdXN0aWZ5LCAyKSxcbiAgKTtcblxuICBAaW5jbHVkZSBvdXRwdXQoJG91dHB1dCk7XG59XG4iLCIvLyBTdXN5IEZhbGxiYWNrIENsZWFyZml4XG4vLyA9PT09PT09PT09PT09PT09PT09PT09XG5cblxuLy8gQ2xlYXJmaXhcbi8vIC0tLS0tLS0tXG4vLyBDaGVjayBmb3IgYW4gZXhpc3Rpbmcgc3VwcG9ydCBtaXhpbiwgb3IgcHJvdmlkZSBhIHNpbXBsZSBmYWxsYmFjay5cbkBtaXhpbiBzdXN5LWNsZWFyZml4IHtcbiAgQGlmIHN1c3ktc3VwcG9ydChjbGVhcmZpeCwgKG1peGluOiBjbGVhcmZpeCkpIHtcbiAgICBAaW5jbHVkZSBjbGVhcmZpeDtcbiAgfSBAZWxzZSB7XG4gICAgJjphZnRlciB7XG4gICAgICBjb250ZW50OiBcIiBcIjtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgY2xlYXI6IGJvdGg7XG4gICAgfVxuICB9XG59XG4iXX0= */
