/*!********************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\
  !*** css ../node_modules/.pnpm/css-loader@6.11.0_webpack@5.94.0/node_modules/css-loader/dist/cjs.js!../node_modules/.pnpm/postcss-loader@6.2.1_webpack@5.94.0/node_modules/postcss-loader/dist/cjs.js!../node_modules/.pnpm/sass-loader@8.0.2_sass@1.78.0+webpack@5.94.0/node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[1].use[3]!./scss/application.scss ***!
  \********************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/
/*! normalize.css v8.0.1 | MIT License | github.com/necolas/normalize.css */
/* Document
   ========================================================================== */
/**
 * 1. Correct the line height in all browsers.
 * 2. Prevent adjustments of font size after orientation changes in iOS.
 */
html {
  line-height: 1.15; /* 1 */
  -webkit-text-size-adjust: 100%; /* 2 */
}

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

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

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

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

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

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

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

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

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

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

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

sub {
  bottom: -0.25em;
}

sup {
  top: -0.5em;
}

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

:root {
  --base-space: 10px;
  --color-text: black;
  --color-link: black;
  --color-bg: white;
  --color-grey: #999999;
}

:root {
  --margin-xs: calc(var(--base-space) * 0.5);
  --margin-sm: calc(var(--base-space) * 1);
  --margin-md: calc(var(--base-space) * 2);
  --margin-lg: calc(var(--base-space) * 4);
  --margin-xl: calc(var(--base-space) * 10);
  --margin-xxl: calc(var(--base-space) * 20);
  --logotype-full-ratio: 0.196;
  --logotype-ratio: 0.139;
  --logotype-height: calc((100vw - var(--margin-sm) * 2.4) * var(--logotype-full-ratio));
  --logotype-width: calc(var(--hamburger-height) / var(--logotype-ratio));
  --hamburger-height: 30px;
  --row-height: calc(var(--lh-main) + var(--margin-sm) + 2px);
  --header-height: calc(var(--hamburger-height) + var(--margin-sm) * 2.2 + var(--row-height) + var(--lh-main) * 2);
  --lh-artists: 34px;
}
@media screen and (min-width: 0px) {
  :root {
    --fs-small: 10px;
    --lh-small: 12px;
  }
}
@media screen and (min-width: 0px) {
  :root {
    --fs-main: 15px;
    --lh-main: 18px;
  }
}
@media screen and (min-width: 800px) {
  :root {
    --fs-main: 20px;
    --lh-main: 24px;
  }
}
@media screen and (min-width: 0px) {
  :root {
    --fs-h1: 36px;
    --lh-h1: 36px;
  }
}
@media screen and (min-width: 800px) {
  :root {
    --fs-h1: 69px;
    --lh-h1: 69px;
  }
}
@media screen and (min-width: 800px) {
  :root {
    --hamburger-height: 51px;
    --logotype-height: calc((100vw - var(--margin-lg)) * var(--logotype-full-ratio));
    --header-height: calc(var(--hamburger-height) + var(--margin-sm) * 2.2 + var(--row-height) + var(--lh-main));
    --lh-artists: 63px;
  }
}
@media screen and (min-width: 1050px) {
  :root {
    --header-height: calc(var(--hamburger-height) + var(--margin-sm) * 2.2 + var(--row-height));
  }
}

html {
  box-sizing: border-box;
}

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

* {
  margin: 0;
  -webkit-font-feature-settings: "kern" 1;
  font-feature-settings: "kern" 1;
  -webkit-font-kerning: normal;
  font-kerning: normal;
  -moz-osx-font-smoothing: grayscale;
  -webkit-font-smoothing: antialiased;
}

body,
html {
  -webkit-tap-highlight-color: transparent;
  height: 100%;
  margin: 0 !important;
  padding: 0 !important;
}

html,
body {
  font-family: NHaasGroteskTXPro-55Rg, Helvetica Neue, Helvetica, Arial, Lucida Grande, sans-serif;
  font-size: var(--fs-main);
  line-height: var(--lh-main);
  color: var(--color-text);
  background-color: var(--color-bg);
}

html {
  background: var(--color-bg);
}

a {
  color: var(--color-link);
  text-decoration: none;
  cursor: pointer;
}

ul,
ol {
  margin: 0;
  padding: 0;
}

ul {
  list-style-type: none;
}

ol {
  list-style-position: inside;
}

img {
  width: 100%;
}

strong,
b {
  font-weight: normal;
}

i,
em {
  font-style: normal;
}

h1,
h2,
h3,
h4,
h5,
h6,
small {
  margin: 0;
  padding: 0;
  border: 0;
  outline: 0;
  font-weight: inherit;
  font-style: inherit;
  font-size: 100%;
  font-family: inherit;
  vertical-align: baseline;
}

@font-face {
  font-family: NHaasGroteskTXPro-55Rg;
  src: url(../fonts/NHaasGroteskTXPro-55Rg.woff) format("woff"), url(../fonts/NHaasGroteskTXPro-55Rg.woff2) format("woff2");
  font-weight: normal;
  font-style: normal;
  font-display: auto;
}
@font-face {
  font-family: NHaasGroteskTXPro-56It;
  src: url(../fonts/NHaasGroteskTXPro-56It.woff) format("woff"), url(../fonts/NHaasGroteskTXPro-56It.woff2) format("woff2");
  font-weight: normal;
  font-style: normal;
  font-display: auto;
}
.container {
  min-height: 100vh;
  min-height: calc(var(--vh, 1vh) * 100);
  padding-top: var(--header-height);
  display: flex;
  flex-direction: column;
}

.main {
  flex: 1;
}

.header {
  margin-top: calc(0 * var(--base-space));
  margin-bottom: calc(1 * var(--base-space));
  margin-right: calc(0 * var(--base-space));
  margin-left: calc(0 * var(--base-space));
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  z-index: 999;
  background-color: var(--color-bg);
}

.header__inner {
  padding-top: calc(0 * var(--base-space));
  padding-bottom: calc(0 * var(--base-space));
  padding-right: calc(1.2 * var(--base-space));
  padding-left: calc(1.2 * var(--base-space));
  position: relative;
  z-index: 2;
  background-color: var(--color-bg);
}
@media screen and (min-width: 800px) {
  .header__inner {
    padding-top: calc(0 * var(--base-space));
    padding-bottom: calc(0 * var(--base-space));
    padding-right: calc(2 * var(--base-space));
    padding-left: calc(2 * var(--base-space));
  }
}

.header__top {
  margin-top: calc(0 * var(--base-space));
  margin-bottom: calc(0.6 * var(--base-space));
  margin-right: calc(0 * var(--base-space));
  margin-left: calc(-1.2 * var(--base-space));
  display: flex;
  position: relative;
  overflow: hidden;
}
@media screen and (min-width: 800px) {
  .header__top {
    margin-top: calc(0 * var(--base-space));
    margin-bottom: calc(0.6 * var(--base-space));
    margin-right: calc(0 * var(--base-space));
    margin-left: calc(-2 * var(--base-space));
  }
}

.header__title {
  overflow: hidden;
}

.header__title__inner {
  display: flex;
}

.header__title__item {
  margin-top: calc(0 * var(--base-space));
  margin-bottom: calc(0 * var(--base-space));
  margin-right: calc(1.2 * var(--base-space));
  margin-left: calc(1.2 * var(--base-space));
  display: flex;
  height: calc(var(--hamburger-height) + 6px);
}
@media screen and (min-width: 800px) {
  .header__title__item {
    margin-top: calc(0 * var(--base-space));
    margin-bottom: calc(0 * var(--base-space));
    margin-right: calc(2 * var(--base-space));
    margin-left: calc(2 * var(--base-space));
  }
}
.header__title__item > div {
  width: calc(100vw - var(--margin-sm) * 2.4);
  display: flex;
}
@media screen and (min-width: 800px) {
  .header__title__item > div {
    width: calc(100vw - var(--margin-lg));
  }
}
@media screen and (min-width: 1050px) {
  .header__title__item > div {
    width: calc((100vw - var(--hamburger-height) - var(--margin-sm) * 6) / 2);
  }
}
@media screen and (min-width: 1320px) {
  .header__title__item > div {
    width: calc(var(--logotype-width) + (100vw - var(--hamburger-height) - var(--margin-sm) * 16 - var(--logotype-width) * 3) / 2);
  }
}
.header__title__item > div > a {
  display: flex;
  position: relative;
}
.header__title__item > div svg {
  height: calc(var(--hamburger-height) * var(--logotype-full-ratio) / var(--logotype-ratio));
  position: absolute;
  bottom: 0;
}

.header__hamburger {
  padding-top: calc(0.6 * var(--base-space));
  padding-bottom: calc(0 * var(--base-space));
  padding-right: calc(0 * var(--base-space));
  padding-left: calc(1.2 * var(--base-space));
  position: absolute;
  right: 0;
  background-color: var(--color-bg);
  height: 100%;
}
@media screen and (min-width: 800px) {
  .header__hamburger {
    padding-top: calc(0.6 * var(--base-space));
    padding-bottom: calc(0 * var(--base-space));
    padding-right: calc(0 * var(--base-space));
    padding-left: calc(2 * var(--base-space));
    right: 0;
  }
}

.header__hamburger__inner {
  position: relative;
  width: var(--hamburger-height);
  height: var(--hamburger-height);
  cursor: pointer;
}
.header__hamburger__inner:before, .header__hamburger__inner:after,
.header__hamburger__inner span {
  transition-property: transform;
  transition-duration: 0.4s;
  transition-timing-function: cubic-bezier(0.7, 0, 0.3, 1);
  transition-delay: 0s;
  height: 2px;
  width: 100%;
  display: flex;
  background-color: var(--color-text);
  position: absolute;
  transform-origin: top left;
}
@media screen and (min-width: 800px) {
  .header__hamburger__inner:before, .header__hamburger__inner:after,
  .header__hamburger__inner span {
    height: 4px;
  }
}
.header__hamburger__inner:before, .header__hamburger__inner:after {
  content: "";
}
.header__hamburger__inner:before {
  top: 5px;
}
@media screen and (min-width: 800px) {
  .header__hamburger__inner:before {
    top: 8px;
  }
}
.header__hamburger__inner span {
  top: calc(50% - 1px);
}
@media screen and (min-width: 800px) {
  .header__hamburger__inner span {
    top: calc(50% - 2px);
  }
}
.header__hamburger__inner:after {
  bottom: 5px;
}
@media screen and (min-width: 800px) {
  .header__hamburger__inner:after {
    bottom: 8px;
  }
}
.header__hamburger__inner.active span {
  transform: scaleY(0);
}
.header__hamburger__inner.active:before {
  transform: rotate(45deg) translateX(2px) translateY(-5px);
}
@media screen and (min-width: 800px) {
  .header__hamburger__inner.active:before {
    transform: rotate(45deg) translateX(4px) translateY(-7px);
  }
}
.header__hamburger__inner.active:after {
  transform: rotate(-45deg) translateX(2px) translateY(3px);
}
@media screen and (min-width: 800px) {
  .header__hamburger__inner.active:after {
    transform: rotate(-45deg) translateX(1px) translateY(5px);
  }
}

.header__subtitle {
  padding-top: calc(0.5 * var(--base-space));
  padding-bottom: calc(0.5 * var(--base-space));
  padding-right: calc(0 * var(--base-space));
  padding-left: calc(0 * var(--base-space));
  border-top: 1px solid var(--color-text);
  border-bottom: 1px solid var(--color-text);
  display: grid;
  grid-column-gap: var(--margin-sm);
  grid-template-columns: calc((100% - var(--margin-sm)) / 2) calc((100% - var(--margin-sm) * 3) / 2 - var(--hamburger-height)) var(--hamburger-height);
}

.header__subtitle__item {
  grid-column: 1/3;
}
@media screen and (min-width: 1050px) {
  .header__subtitle__item {
    grid-column: initial;
  }
}
.header__subtitle__item:nth-child(1) {
  display: flex;
  flex-direction: column;
}
@media screen and (min-width: 800px) {
  .header__subtitle__item:nth-child(1) {
    flex-direction: row;
  }
  .header__subtitle__item:nth-child(1) > span:first-child {
    margin-top: calc(0 * var(--base-space));
    margin-bottom: calc(0 * var(--base-space));
    margin-right: calc(2 * var(--base-space));
    margin-left: calc(0 * var(--base-space));
  }
}

.header__languages {
  grid-row: 1/2;
  grid-column: 3/4;
  display: flex;
  justify-content: flex-end;
  align-items: flex-start;
}

.header__language {
  display: flex;
}
.header__language a {
  position: relative;
}
.header__language.active a:after {
  content: "";
  position: absolute;
  bottom: 1px;
  width: 100%;
  border-bottom: 1px solid;
  left: 0;
}
.header__language:not(:last-child):after {
  content: " / ";
}

.footer {
  margin-top: calc(12 * var(--base-space));
  margin-bottom: calc(0 * var(--base-space));
  margin-right: calc(0 * var(--base-space));
  margin-left: calc(0 * var(--base-space));
  padding-top: calc(1.2 * var(--base-space));
  padding-bottom: calc(1.2 * var(--base-space));
  padding-right: calc(1.2 * var(--base-space));
  padding-left: calc(1.2 * var(--base-space));
  padding-bottom: 0;
  overflow: hidden;
}
@media screen and (min-width: 800px) {
  .footer {
    margin-top: calc(20 * var(--base-space));
    margin-bottom: calc(0 * var(--base-space));
    margin-right: calc(0 * var(--base-space));
    margin-left: calc(0 * var(--base-space));
    padding-top: calc(2 * var(--base-space));
    padding-bottom: calc(2 * var(--base-space));
    padding-right: calc(2 * var(--base-space));
    padding-left: calc(2 * var(--base-space));
    padding-bottom: 0;
  }
}

.footer__col .small {
  font-size: var(--fs-small);
  line-height: var(--lh-small);
  padding-top: calc(0.5 * var(--base-space));
  padding-bottom: calc(0 * var(--base-space));
  padding-right: calc(0 * var(--base-space));
  padding-left: calc(0 * var(--base-space));
}

.footer__marquee {
  padding-top: calc(0.5 * var(--base-space));
  padding-bottom: calc(0 * var(--base-space));
  padding-right: calc(0 * var(--base-space));
  padding-left: calc(0 * var(--base-space));
  margin-top: calc(0 * var(--base-space));
  margin-bottom: calc(0.5 * var(--base-space));
  margin-right: calc(0 * var(--base-space));
  margin-left: calc(-1.2 * var(--base-space));
  display: flex;
  position: relative;
  overflow: hidden;
}
.footer__marquee:before {
  content: "";
  width: calc(100vw - var(--margin-sm) * 2.4);
  position: absolute;
  border-top: 1px solid;
  left: calc(var(--margin-sm) * 1.2);
  top: 0;
}
@media screen and (min-width: 800px) {
  .footer__marquee:before {
    width: calc(100vw - var(--margin-md) * 2);
    left: var(--margin-md);
  }
}
@media screen and (min-width: 800px) {
  .footer__marquee {
    margin-top: calc(0 * var(--base-space));
    margin-bottom: calc(0.5 * var(--base-space));
    margin-right: calc(0 * var(--base-space));
    margin-left: calc(-2 * var(--base-space));
  }
}

.footer__marquee__inner {
  display: flex;
}

.footer__marquee__item {
  margin-top: calc(0 * var(--base-space));
  margin-bottom: calc(0 * var(--base-space));
  margin-right: calc(1.2 * var(--base-space));
  margin-left: calc(1.2 * var(--base-space));
  display: flex;
}
@media screen and (min-width: 800px) {
  .footer__marquee__item {
    margin-top: calc(0 * var(--base-space));
    margin-bottom: calc(0 * var(--base-space));
    margin-right: calc(2 * var(--base-space));
    margin-left: calc(2 * var(--base-space));
  }
}
.footer__marquee__item > div {
  width: calc(100vw - var(--margin-sm) * 2.4);
}
@media screen and (min-width: 800px) {
  .footer__marquee__item > div {
    width: calc(100vw - var(--margin-sm) * 4);
  }
}
@media screen and (min-width: 1050px) {
  .footer__marquee__item > div {
    width: calc((100vw - var(--margin-sm) * 11) / 2);
  }
}

.footer__line {
  display: grid;
  grid-template-columns: repeat(1, minmax(0, 1fr));
  grid-column-gap: var(--margin-sm);
  padding-top: calc(0.5 * var(--base-space));
  padding-bottom: calc(0.5 * var(--base-space));
  padding-right: calc(0 * var(--base-space));
  padding-left: calc(0 * var(--base-space));
  border-top: 1px solid var(--color-text);
  border-bottom: 1px solid var(--color-text);
}
@media screen and (min-width: 1050px) {
  .footer__line {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    grid-column-gap: var(--margin-sm);
  }
}
.footer__line:not(:first-child) {
  margin-top: -1px;
}
.footer__line--partners {
  border-bottom: 0;
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  grid-column-gap: var(--margin-sm);
}
@media screen and (min-width: 1050px) {
  .footer__line--partners {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    grid-column-gap: var(--margin-sm);
  }
}

.footer__partners {
  display: grid;
  grid-template-columns: repeat(1, minmax(0, 1fr));
  grid-column-gap: var(--margin-sm);
  border-top: 1px solid var(--color-text);
  border-bottom: 1px solid var(--color-text);
}
@media screen and (min-width: 1050px) {
  .footer__partners {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    grid-column-gap: var(--margin-sm);
  }
}
.footer__partners:not(:first-child) {
  margin-top: -1px;
}

.footer__partners__col {
  padding-top: calc(0.5 * var(--base-space));
  padding-bottom: calc(0.5 * var(--base-space));
  padding-right: calc(0 * var(--base-space));
  padding-left: calc(0 * var(--base-space));
}
.footer__partners__col:not(:last-child) {
  border-bottom: 1px solid var(--color-text);
}
@media screen and (min-width: 1050px) {
  .footer__partners__col:not(:last-child) {
    border-bottom: 0;
  }
}
.footer__partners__col:first-child:last-child {
  grid-column: 1/-1;
}

.footer__partners__logotypes {
  padding-top: calc(1 * var(--base-space));
  padding-bottom: calc(0 * var(--base-space));
  padding-right: calc(0 * var(--base-space));
  padding-left: calc(0 * var(--base-space));
  display: grid;
  grid-row-gap: var(--margin-md);
  grid-column-gap: var(--margin-md);
  grid-template-columns: repeat(auto-fit, minmax(100px, 160px));
  align-items: center;
}
@media screen and (min-width: 1050px) {
  .footer__partners__logotypes {
    padding-top: calc(1 * var(--base-space));
    padding-bottom: calc(0 * var(--base-space));
    padding-right: calc(0 * var(--base-space));
    padding-left: calc(0 * var(--base-space));
    grid-column-gap: var(--margin-lg);
    grid-template-columns: repeat(auto-fit, minmax(200px, 250px));
  }
}

.footer__newsletter {
  font-size: var(--fs-h1);
  line-height: var(--lh-h1);
  letter-spacing: -0.025em;
  word-spacing: -0.025em;
  margin-top: calc(0.5 * var(--base-space));
  margin-bottom: calc(0 * var(--base-space));
  margin-right: calc(0 * var(--base-space));
  margin-left: calc(0 * var(--base-space));
}
@media screen and (min-width: 1050px) {
  .footer__newsletter {
    margin: 0;
  }
}

.footer__newsletter__form {
  padding-top: calc(0.4 * var(--base-space));
  padding-bottom: calc(0.4 * var(--base-space));
  padding-right: calc(0 * var(--base-space));
  padding-left: calc(0 * var(--base-space));
  display: grid;
  grid-template-columns: repeat(1, minmax(0, 1fr));
  grid-column-gap: var(--margin-sm);
}
@media screen and (min-width: 1050px) {
  .footer__newsletter__form {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    grid-column-gap: var(--margin-sm);
  }
}
.footer__newsletter__form > div {
  height: var(--lh-h1);
  overflow: hidden;
}
.footer__newsletter__form.hidden {
  display: none;
}

.footer__newsletter__success {
  padding-top: calc(0 * var(--base-space));
  padding-bottom: calc(1 * var(--base-space));
  padding-right: calc(0 * var(--base-space));
  padding-left: calc(0 * var(--base-space));
}
.footer__newsletter__success.hidden {
  display: none;
}

.footer__newsletter__input {
  all: unset;
  padding: 0;
  transform: translateY(-6px);
}
@media screen and (min-width: 800px) {
  .footer__newsletter__input {
    transform: translateY(-12px);
  }
}
.footer__newsletter__input::-webkit-input-placeholder {
  color: var(--color-grey);
}
.footer__newsletter__input::-ms-input-placeholder {
  color: var(--color-grey);
}
.footer__newsletter__input::placeholder {
  color: var(--color-grey);
}

.footer__newsletter__button {
  all: unset;
  padding: 0;
  cursor: pointer;
  margin-top: -4px;
}
@media screen and (min-width: 1050px) {
  .footer__newsletter__button {
    margin: 0;
  }
}

.footer__logotypes {
  margin-top: calc(0.6 * var(--base-space));
  margin-bottom: calc(0 * var(--base-space));
  margin-right: calc(-1.2 * var(--base-space));
  margin-left: calc(-1.2 * var(--base-space));
  overflow: hidden;
  position: relative;
  transform: translateY(11px);
}
@media screen and (min-width: 800px) {
  .footer__logotypes {
    margin-top: calc(0 * var(--base-space));
    margin-bottom: calc(0 * var(--base-space));
    margin-right: calc(-2 * var(--base-space));
    margin-left: calc(-2 * var(--base-space));
    transform: translateY(19px);
  }
}
.footer__logotypes:after {
  content: "";
  position: absolute;
  height: 100%;
  width: calc(var(--hamburger-height) + var(--margin-sm) * 2.4);
  right: 0;
  top: 0;
  background-color: white;
}
@media screen and (min-width: 800px) {
  .footer__logotypes:after {
    width: calc(var(--hamburger-height) + var(--margin-sm) * 4);
  }
}

.footer__logotypes__inner {
  display: flex;
}

.footer__logotypes__item {
  margin-top: calc(0 * var(--base-space));
  margin-bottom: calc(0 * var(--base-space));
  margin-right: calc(1.2 * var(--base-space));
  margin-left: calc(1.2 * var(--base-space));
  display: flex;
  flex-direction: column;
}
@media screen and (min-width: 800px) {
  .footer__logotypes__item {
    margin-top: calc(0 * var(--base-space));
    margin-bottom: calc(0 * var(--base-space));
    margin-right: calc(2 * var(--base-space));
    margin-left: calc(2 * var(--base-space));
  }
}
.footer__logotypes__item > div {
  width: calc(100vw - var(--margin-sm) * 2.4);
  display: flex;
}
@media screen and (min-width: 800px) {
  .footer__logotypes__item > div {
    width: calc(100vw - var(--margin-lg));
  }
}
@media screen and (min-width: 1050px) {
  .footer__logotypes__item > div {
    width: calc((100vw - var(--hamburger-height) - var(--margin-sm) * 6) / 2);
  }
}
@media screen and (min-width: 1320px) {
  .footer__logotypes__item > div {
    width: calc(var(--logotype-width) + (100vw - var(--hamburger-height) - var(--margin-sm) * 16 - var(--logotype-width) * 3) / 2);
  }
}
.footer__logotypes__item > div > a {
  display: flex;
  position: relative;
}
.footer__logotypes__item > div:not(:first-child) {
  margin-top: -10px;
}
@media screen and (min-width: 800px) {
  .footer__logotypes__item > div:not(:first-child) {
    margin-top: -18px;
  }
}
.footer__logotypes__item > div svg {
  height: calc(var(--hamburger-height) * var(--logotype-full-ratio) / var(--logotype-ratio));
}

.blocks {
  display: grid;
  grid-template-columns: repeat(1, minmax(0, 1fr));
  grid-column-gap: var(--margin-sm);
  padding-top: calc(0 * var(--base-space));
  padding-bottom: calc(0 * var(--base-space));
  padding-right: calc(1.2 * var(--base-space));
  padding-left: calc(1.2 * var(--base-space));
}
@media screen and (min-width: 800px) {
  .blocks {
    padding-top: calc(0 * var(--base-space));
    padding-bottom: calc(0 * var(--base-space));
    padding-right: calc(2 * var(--base-space));
    padding-left: calc(2 * var(--base-space));
  }
}
@media screen and (min-width: 1050px) {
  .blocks {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    grid-column-gap: var(--margin-sm);
  }
}

@media screen and (min-width: 1050px) {
  .headline {
    grid-column: span 2;
  }
}
.headline--medium:not(:first-child) {
  margin-top: calc(6 * var(--base-space));
  margin-bottom: calc(0 * var(--base-space));
  margin-right: calc(0 * var(--base-space));
  margin-left: calc(0 * var(--base-space));
}
@media screen and (min-width: 800px) {
  .headline--medium:not(:first-child) {
    margin-top: calc(10 * var(--base-space));
    margin-bottom: calc(0 * var(--base-space));
    margin-right: calc(0 * var(--base-space));
    margin-left: calc(0 * var(--base-space));
  }
}
.headline--big:not(:first-child) {
  margin-top: calc(12 * var(--base-space));
  margin-bottom: calc(0 * var(--base-space));
  margin-right: calc(0 * var(--base-space));
  margin-left: calc(0 * var(--base-space));
}
@media screen and (min-width: 800px) {
  .headline--big:not(:first-child) {
    margin-top: calc(20 * var(--base-space));
    margin-bottom: calc(0 * var(--base-space));
    margin-right: calc(0 * var(--base-space));
    margin-left: calc(0 * var(--base-space));
  }
}

.headline__inner {
  font-size: var(--fs-h1);
  line-height: var(--lh-h1);
  letter-spacing: -0.025em;
  word-spacing: -0.025em;
}

.text:not(:first-child) {
  margin-top: var(--margin-sm);
}
@media screen and (min-width: 1050px) {
  .text--full {
    grid-column: span 2;
  }
}
@media screen and (min-width: 1050px) {
  .text--half:not(:first-child) {
    margin-top: 0;
  }
}
.logotypes + .text {
  margin-top: calc(6 * var(--base-space));
  margin-bottom: calc(0 * var(--base-space));
  margin-right: calc(0 * var(--base-space));
  margin-left: calc(0 * var(--base-space));
}
@media screen and (min-width: 800px) {
  .logotypes + .text {
    margin-top: calc(10 * var(--base-space));
    margin-bottom: calc(0 * var(--base-space));
    margin-right: calc(0 * var(--base-space));
    margin-left: calc(0 * var(--base-space));
    padding-top: calc(var(--lh-main) + var(--margin-sm));
  }
}

.text__title {
  text-transform: uppercase;
  -webkit-font-feature-settings: "case" 1;
  font-feature-settings: "case" 1;
}

.text__inner p:not(:last-child) {
  margin-bottom: var(--lh-main);
}
.text__inner i,
.text__inner em {
  font-family: NHaasGroteskTXPro-56It, Helvetica Neue, Helvetica, Arial, Lucida Grande, sans-serif;
}
.text__inner hr {
  margin: 3px 0;
  border: none;
  height: 1px;
  -webkit-column-span: all;
  column-span: all;
  color: var(--color-text);
  background-color: var(--color-text);
}
.text__inner p + hr {
  margin-top: calc(var(--lh-main) * -1 + 3px);
}
@media screen and (min-width: 1050px) {
  .text__inner p + hr {
    margin-top: 3px;
  }
}
.text__inner a {
  -webkit-hyphens: none;
  -ms-hyphens: none;
  hyphens: none;
}
.text__inner figure {
  padding-top: calc(1 * var(--base-space));
  padding-bottom: calc(0 * var(--base-space));
  padding-right: calc(0 * var(--base-space));
  padding-left: calc(0 * var(--base-space));
  display: flex;
}
.text__inner figure.border {
  padding: 0;
  border: 1px solid var(--color-text);
}
.text__inner small {
  font-size: var(--fs-small);
  line-height: var(--lh-small);
}
.text__inner .text__grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  grid-column-gap: var(--margin-sm);
}

.image {
  display: grid;
  grid-template-columns: repeat(12, minmax(0, 1fr));
  grid-column-gap: var(--margin-sm);
}
.image:not(:first-child):not(.image--half) {
  margin-top: var(--margin-sm);
}
@media screen and (min-width: 1050px) {
  .image--full {
    grid-column: span 2;
  }
}

.image__inner {
  display: flex;
  flex-direction: column;
}
.image__inner--landscape {
  grid-column: 1/-1;
}
@media screen and (min-width: 1050px) {
  .image__inner--landscape {
    grid-column: 1/span 9;
  }
}
.image__inner--portrait {
  grid-column: 1/span 8;
}
@media screen and (min-width: 1050px) {
  .image__inner--portrait {
    grid-column: 1/span 4;
  }
}
.image__inner--square {
  grid-column: 1/-1;
}
@media screen and (min-width: 1050px) {
  .image__inner--square {
    grid-column: 1/span 6;
  }
}

.slideshow {
  margin-top: calc(0 * var(--base-space));
  margin-bottom: calc(0 * var(--base-space));
  margin-right: calc(-1.2 * var(--base-space));
  margin-left: calc(-1.2 * var(--base-space));
  position: relative;
  overflow: hidden;
  list-style: none;
  z-index: 1;
  touch-action: pan-y;
}
@media screen and (min-width: 800px) {
  .slideshow {
    margin-top: calc(0 * var(--base-space));
    margin-bottom: calc(0 * var(--base-space));
    margin-right: calc(-2 * var(--base-space));
    margin-left: calc(-2 * var(--base-space));
  }
}
.slideshow:not(:first-child) {
  margin-top: var(--margin-sm);
}
@media screen and (min-width: 1050px) {
  .slideshow--full {
    grid-column: span 2;
  }
}
@media screen and (min-width: 1050px) {
  .slideshow--half {
    margin-top: calc(0 * var(--base-space));
    margin-bottom: calc(0 * var(--base-space));
    margin-right: calc(0 * var(--base-space));
    margin-left: calc(-2 * var(--base-space));
  }
}
@media screen and (min-width: 1050px) {
  .slideshow--half:not(:first-child) {
    margin-top: 0;
  }
}

.slideshow__wrapper {
  outline: none;
  position: relative;
  display: flex;
  align-items: flex-start;
  width: 100%;
  height: 100%;
  z-index: 1;
  transition-property: transform;
  transition-timing-function: cubic-bezier(0.7, 0, 0.3, 1);
  box-sizing: content-box;
  transform: translate3d(0px, 0, 0);
}

.slideshow__slide {
  padding-top: calc(0 * var(--base-space));
  padding-bottom: calc(0 * var(--base-space));
  padding-right: calc(1.2 * var(--base-space));
  padding-left: calc(1.2 * var(--base-space));
  width: 100%;
  overflow: hidden;
  display: flex;
  flex-direction: column;
  flex: none;
  float: left;
  transform: translate3d(0px, 0, 0);
  flex-shrink: 0;
  height: 100%;
  position: relative;
  transition-property: transform;
  transform: translateZ(0);
  -webkit-backface-visibility: hidden;
  backface-visibility: hidden;
}
@media screen and (min-width: 800px) {
  .slideshow__slide {
    padding-top: calc(0 * var(--base-space));
    padding-bottom: calc(0 * var(--base-space));
    padding-right: calc(2 * var(--base-space));
    padding-left: calc(2 * var(--base-space));
  }
}
@media screen and (min-width: 1050px) {
  .slideshow__slide {
    padding-right: calc((100% - var(--margin-sm) * 11) / 12 * 3 + var(--margin-sm) * 2);
  }
  .slideshow--half .slideshow__slide {
    padding-right: 0;
  }
}
.slideshow__slide--square {
  padding-right: calc((100% - var(--margin-sm) * 11) / 12 * 3 + var(--margin-sm) * 2);
}
.slideshow--half .slideshow__slide--square {
  padding-right: 0;
}
@media screen and (min-width: 1050px) {
  .slideshow__slide--square {
    padding-right: calc((100% - var(--margin-sm) * 11) / 12 * 6 + var(--margin-sm) * 5);
  }
  .slideshow--half .slideshow__slide--square {
    padding-right: 0;
  }
}
.slideshow__slide--portrait {
  padding-right: calc((100% - var(--margin-sm) * 11) / 12 * 3 + var(--margin-sm) * 2);
}
.slideshow--half .slideshow__slide--portrait {
  padding-right: 0;
}
@media screen and (min-width: 1050px) {
  .slideshow__slide--portrait {
    padding-right: calc((100% - var(--margin-sm) * 11) / 12 * 8 + var(--margin-sm) * 7);
  }
  .slideshow--half .slideshow__slide--portrait {
    padding-right: 0;
  }
}

.slideshow__slide__inner {
  overflow: hidden;
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
}
.slideshow__slide__inner > div {
  height: 0;
  padding-bottom: var(--ratio);
  position: relative;
}
.slideshow__slide__inner img {
  display: block;
  position: absolute;
  object-fit: contain;
  object-position: top left;
  height: 100%;
  width: 100%;
  left: 0;
  top: 0;
}

.slideshow__slide__caption {
  margin-top: calc(0.5 * var(--base-space));
  margin-bottom: calc(0 * var(--base-space));
  margin-right: calc(0 * var(--base-space));
  margin-left: calc(0 * var(--base-space));
}
.slideshow__slide__caption i,
.slideshow__slide__caption em {
  font-family: NHaasGroteskTXPro-56It, Helvetica Neue, Helvetica, Arial, Lucida Grande, sans-serif;
}

.slideshow__video__container {
  height: 0;
  padding-bottom: var(--ratio);
  position: relative;
  background-color: var(--color-text);
}
.slideshow__video__container iframe {
  position: absolute;
  object-fit: cover;
  height: 100%;
  width: 100%;
  left: 0;
  top: 0;
}

.carousel {
  margin-top: calc(0 * var(--base-space));
  margin-bottom: calc(0 * var(--base-space));
  margin-right: calc(-1.2 * var(--base-space));
  margin-left: calc(-1.2 * var(--base-space));
  position: relative;
  overflow: hidden;
  list-style: none;
  z-index: 1;
  touch-action: pan-y;
  cursor: pointer;
}
@media screen and (min-width: 800px) {
  .carousel {
    margin-top: calc(0 * var(--base-space));
    margin-bottom: calc(0 * var(--base-space));
    margin-right: calc(-2 * var(--base-space));
    margin-left: calc(-2 * var(--base-space));
  }
}
@media screen and (min-width: 1050px) {
  .carousel {
    grid-column: span 2;
  }
}

.carousel__wrapper {
  padding-top: calc(0 * var(--base-space));
  padding-bottom: calc(0 * var(--base-space));
  padding-right: calc(0 * var(--base-space));
  padding-left: calc(1.2 * var(--base-space));
  outline: none;
  position: relative;
  display: flex;
  align-items: flex-start;
  width: 100%;
  height: 100%;
  z-index: 1;
  transition-property: transform;
  transition-timing-function: cubic-bezier(0.7, 0, 0.3, 1);
  box-sizing: content-box;
  transform: translate3d(0px, 0, 0);
}
@media screen and (min-width: 800px) {
  .carousel__wrapper {
    padding-top: calc(0 * var(--base-space));
    padding-bottom: calc(0 * var(--base-space));
    padding-right: calc(0 * var(--base-space));
    padding-left: calc(2 * var(--base-space));
  }
}

.carousel__slide {
  width: 100%;
  overflow: hidden;
  display: flex;
  flex-direction: column;
  flex: none;
  float: left;
  transform: translate3d(0px, 0, 0);
  flex-shrink: 0;
  height: 100%;
  position: relative;
  transition-property: transform;
  transform: translateZ(0);
  -webkit-backface-visibility: hidden;
  backface-visibility: hidden;
  width: calc((100% - var(--margin-sm) * 11) / 12 * 10 + var(--margin-sm) * 9);
}
@media screen and (min-width: 1050px) {
  .carousel__slide {
    width: calc((100% - var(--margin-sm) * 11) / 12 * 5 + var(--margin-sm) * 4);
  }
}
.carousel__slide--portrait {
  width: calc((100% - var(--margin-sm) * 11) / 12 * 8 + var(--margin-sm) * 7);
}
@media screen and (min-width: 1050px) {
  .carousel__slide--portrait {
    width: calc((100% - var(--margin-sm) * 11) / 12 * 4 + var(--margin-sm) * 3);
  }
}
.carousel__slide:not(.js-slidePrev) iframe {
  pointer-events: none;
}

.carousel__slide__inner {
  flex: 1;
  overflow: hidden;
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
}
.carousel__slide__inner img {
  display: block;
}
.carousel__slide__inner iframe {
  width: 100%;
  display: block;
}

.carousel__slide__caption {
  margin-top: calc(1 * var(--base-space));
  margin-bottom: calc(0 * var(--base-space));
  margin-right: calc(0 * var(--base-space));
  margin-left: calc(0 * var(--base-space));
}
.carousel__slide__caption i,
.carousel__slide__caption em {
  font-family: NHaasGroteskTXPro-56It, Helvetica Neue, Helvetica, Arial, Lucida Grande, sans-serif;
}

.carousel__video__container {
  height: 0;
  padding-bottom: var(--ratio);
  background-color: var(--color-text);
  position: relative;
}
.carousel__video__container iframe {
  position: absolute;
  object-fit: cover;
  height: 100%;
  width: 100%;
  left: 0;
  top: 0;
}

.menu {
  transition-property: transform;
  transition-duration: 0.4s;
  transition-timing-function: cubic-bezier(0.7, 0, 0.3, 1);
  transition-delay: 0s;
  padding-top: calc(0 * var(--base-space));
  padding-bottom: calc(0 * var(--base-space));
  padding-right: calc(1.2 * var(--base-space));
  padding-left: calc(1.2 * var(--base-space));
  position: absolute;
  width: 100%;
  background-color: var(--color-bg);
  z-index: 1;
  transform: translateY(-100%);
}
@media screen and (min-width: 800px) {
  .menu {
    padding-top: calc(0 * var(--base-space));
    padding-bottom: calc(0 * var(--base-space));
    padding-right: calc(2 * var(--base-space));
    padding-left: calc(2 * var(--base-space));
  }
}
.menu.active {
  transform: translateY(0);
}

.menu__inner {
  padding-top: calc(0.5 * var(--base-space));
  padding-bottom: calc(0.5 * var(--base-space));
  padding-right: calc(0 * var(--base-space));
  padding-left: calc(0 * var(--base-space));
  display: grid;
  grid-template-columns: repeat(1, minmax(0, 1fr));
  grid-column-gap: var(--margin-sm);
  border-bottom: 1px solid var(--color-text);
}
@media screen and (min-width: 1050px) {
  .menu__inner {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    grid-column-gap: var(--margin-sm);
  }
}

.menu__link {
  font-size: var(--fs-h1);
  line-height: var(--lh-h1);
  letter-spacing: -0.025em;
  word-spacing: -0.025em;
  letter-spacing: -0.05em;
  word-spacing: -0.05em;
  text-transform: uppercase;
  -webkit-font-feature-settings: "case" 1;
  font-feature-settings: "case" 1;
}

.table {
  display: grid;
  grid-template-columns: repeat(1, minmax(0, 1fr));
  grid-column-gap: var(--margin-sm);
  margin-top: calc(6 * var(--base-space));
  margin-bottom: calc(0 * var(--base-space));
  margin-right: calc(0 * var(--base-space));
  margin-left: calc(0 * var(--base-space));
  grid-row-gap: var(--lh-main);
}
@media screen and (min-width: 800px) {
  .table {
    margin-top: calc(10 * var(--base-space));
    margin-bottom: calc(0 * var(--base-space));
    margin-right: calc(0 * var(--base-space));
    margin-left: calc(0 * var(--base-space));
  }
}
@media screen and (min-width: 1050px) {
  .table {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    grid-column-gap: var(--margin-sm);
    grid-row-gap: 0;
    grid-column: span 2;
  }
}

.table__title {
  border-bottom: 1px solid var(--color-text);
  margin-bottom: 3px;
  padding-bottom: 2px;
}

.table__text p:not(:last-child) {
  margin-bottom: var(--lh-main);
}
.table__text i,
.table__text em {
  font-family: NHaasGroteskTXPro-56It, Helvetica Neue, Helvetica, Arial, Lucida Grande, sans-serif;
}
.table__text hr {
  margin: 3px 0;
  border: none;
  height: 1px;
  -webkit-column-span: all;
  column-span: all;
  color: var(--color-text);
  background-color: var(--color-text);
}
.table__text p + hr {
  margin-top: calc(var(--lh-main) * -1 + 3px);
}
@media screen and (min-width: 1050px) {
  .table__text p + hr {
    margin-top: 3px;
  }
}
.table__text a {
  -webkit-hyphens: none;
  -ms-hyphens: none;
  hyphens: none;
}
.table__text figure {
  padding-top: calc(1 * var(--base-space));
  padding-bottom: calc(0 * var(--base-space));
  padding-right: calc(0 * var(--base-space));
  padding-left: calc(0 * var(--base-space));
  display: flex;
}
.table__text figure.border {
  padding: 0;
  border: 1px solid var(--color-text);
}
.table__text small {
  font-size: var(--fs-small);
  line-height: var(--lh-small);
}
.table__text .text__grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  grid-column-gap: var(--margin-sm);
}
@media screen and (min-width: 1050px) {
  .table__text--two {
    -webkit-column-count: 2;
    column-count: 2;
    -webkit-column-gap: var(--margin-sm);
    column-gap: var(--margin-sm);
  }
}
.table__text:not(:last-child) {
  margin-bottom: var(--lh-main);
}

.artists {
  margin-top: calc(6 * var(--base-space));
  margin-bottom: calc(0 * var(--base-space));
  margin-right: calc(0 * var(--base-space));
  margin-left: calc(0 * var(--base-space));
}
@media screen and (min-width: 800px) {
  .artists {
    margin-top: calc(10 * var(--base-space));
    margin-bottom: calc(0 * var(--base-space));
    margin-right: calc(0 * var(--base-space));
    margin-left: calc(0 * var(--base-space));
  }
}
@media screen and (min-width: 1050px) {
  .artists {
    grid-column: span 2;
  }
}

.artists__nav {
  margin-top: calc(0 * var(--base-space));
  margin-bottom: calc(1.2 * var(--base-space));
  margin-right: calc(0 * var(--base-space));
  margin-left: calc(0 * var(--base-space));
  display: flex;
  border-top: 1px solid var(--color-text);
  border-bottom: 1px solid var(--color-text);
}
@media screen and (min-width: 800px) {
  .artists__nav {
    margin-top: calc(0 * var(--base-space));
    margin-bottom: calc(2 * var(--base-space));
    margin-right: calc(0 * var(--base-space));
    margin-left: calc(0 * var(--base-space));
  }
}

.artists__filter {
  padding-top: calc(0.5 * var(--base-space));
  padding-bottom: calc(0.5 * var(--base-space));
  padding-right: calc(1 * var(--base-space));
  padding-left: calc(1 * var(--base-space));
  border-left: 1px solid transparent;
  border-right: 1px solid transparent;
  cursor: pointer;
}
.artists__filter:not(:first-child) {
  margin-left: -1px;
}
.artists__filter.active, .artists__filter:hover {
  border-color: var(--color-text);
}

.artists__grid {
  display: grid;
  grid-template-columns: repeat(1, minmax(0, 1fr));
  grid-column-gap: var(--margin-sm);
  grid-row-gap: calc(var(--margin-sm) * 4);
}
@media screen and (min-width: 1050px) {
  .artists__grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    grid-column-gap: var(--margin-sm);
    grid-row-gap: calc(var(--margin-sm) * 7);
  }
}

.artists__image {
  display: grid;
  grid-template-columns: repeat(6, minmax(0, 1fr));
  grid-column-gap: var(--margin-sm);
}

.artists__image__inner--portrait {
  grid-column: 1/span 4;
}
.artists__image__inner--square {
  grid-column: 1/span 5;
}
.artists__image__inner--landscape {
  grid-column: 1/span 6;
}

.artists__title {
  font-size: var(--fs-h1);
  line-height: var(--lh-h1);
  letter-spacing: -0.025em;
  word-spacing: -0.025em;
  line-height: var(--lh-artists);
  margin-top: 1px;
  display: flex;
  flex-direction: column;
}
.artists__title h2 {
  font-size: var(--fs-h1);
  line-height: var(--lh-h1);
  letter-spacing: -0.025em;
  word-spacing: -0.025em;
  letter-spacing: -0.05em;
  word-spacing: -0.05em;
  text-transform: uppercase;
  -webkit-font-feature-settings: "case" 1;
  font-feature-settings: "case" 1;
  line-height: var(--lh-artists);
}

.artist__title {
  margin-top: calc(0 * var(--base-space));
  margin-bottom: calc(1.2 * var(--base-space));
  margin-right: calc(0 * var(--base-space));
  margin-left: calc(0 * var(--base-space));
  font-size: var(--fs-h1);
  line-height: var(--lh-h1);
  letter-spacing: -0.025em;
  word-spacing: -0.025em;
  line-height: var(--lh-artists);
}
@media screen and (min-width: 800px) {
  .artist__title {
    margin-top: calc(0 * var(--base-space));
    margin-bottom: calc(2 * var(--base-space));
    margin-right: calc(0 * var(--base-space));
    margin-left: calc(0 * var(--base-space));
  }
}
.artist__title > span {
  font-size: var(--fs-h1);
  line-height: var(--lh-h1);
  letter-spacing: -0.025em;
  word-spacing: -0.025em;
  letter-spacing: -0.05em;
  word-spacing: -0.05em;
  text-transform: uppercase;
  -webkit-font-feature-settings: "case" 1;
  font-feature-settings: "case" 1;
  line-height: var(--lh-artists);
}

.artist__header {
  margin-top: calc(0 * var(--base-space));
  margin-bottom: calc(1 * var(--base-space));
  margin-right: calc(0 * var(--base-space));
  margin-left: calc(0 * var(--base-space));
}
@media screen and (min-width: 1050px) {
  .artist__header {
    grid-column: span 2;
  }
}

.artist__nav {
  display: flex;
  justify-content: space-between;
}

.artist__nav__item svg {
  height: var(--hamburger-height);
}

.artist__content {
  margin-top: calc(6 * var(--base-space));
  margin-bottom: calc(0 * var(--base-space));
  margin-right: calc(0 * var(--base-space));
  margin-left: calc(0 * var(--base-space));
  display: grid;
  grid-template-columns: repeat(1, minmax(0, 1fr));
  grid-column-gap: var(--margin-sm);
  grid-row-gap: var(--lh-main);
}
@media screen and (min-width: 800px) {
  .artist__content {
    margin-top: calc(10 * var(--base-space));
    margin-bottom: calc(0 * var(--base-space));
    margin-right: calc(0 * var(--base-space));
    margin-left: calc(0 * var(--base-space));
  }
}
@media screen and (min-width: 1050px) {
  .artist__content {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    grid-column-gap: var(--margin-sm);
    grid-column: span 2;
  }
}

.artist__col__title {
  text-transform: uppercase;
  -webkit-font-feature-settings: "case" 1;
  font-feature-settings: "case" 1;
}

.artist__text p:not(:last-child) {
  margin-bottom: var(--lh-main);
}
.artist__text i,
.artist__text em {
  font-family: NHaasGroteskTXPro-56It, Helvetica Neue, Helvetica, Arial, Lucida Grande, sans-serif;
}
.artist__text hr {
  margin: 3px 0;
  border: none;
  height: 1px;
  -webkit-column-span: all;
  column-span: all;
  color: var(--color-text);
  background-color: var(--color-text);
}
.artist__text p + hr {
  margin-top: calc(var(--lh-main) * -1 + 3px);
}
@media screen and (min-width: 1050px) {
  .artist__text p + hr {
    margin-top: 3px;
  }
}
.artist__text a {
  -webkit-hyphens: none;
  -ms-hyphens: none;
  hyphens: none;
}
.artist__text figure {
  padding-top: calc(1 * var(--base-space));
  padding-bottom: calc(0 * var(--base-space));
  padding-right: calc(0 * var(--base-space));
  padding-left: calc(0 * var(--base-space));
  display: flex;
}
.artist__text figure.border {
  padding: 0;
  border: 1px solid var(--color-text);
}
.artist__text small {
  font-size: var(--fs-small);
  line-height: var(--lh-small);
}
.artist__text .text__grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  grid-column-gap: var(--margin-sm);
}

.artist__info {
  margin-top: var(--lh-main);
}

.artist__info__title {
  border-bottom: 1px solid var(--color-text);
  margin-bottom: 3px;
  padding-bottom: 2px;
}

.artist__info__inner {
  display: grid;
  grid-template-columns: repeat(1, minmax(0, 1fr));
  grid-column-gap: var(--margin-sm);
}
@media screen and (min-width: 1050px) {
  .artist__info__inner {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    grid-column-gap: var(--margin-sm);
  }
}

.logotypes {
  margin-top: calc(6 * var(--base-space));
  margin-bottom: calc(0 * var(--base-space));
  margin-right: calc(0 * var(--base-space));
  margin-left: calc(0 * var(--base-space));
}
@media screen and (min-width: 800px) {
  .logotypes {
    margin-top: calc(10 * var(--base-space));
    margin-bottom: calc(0 * var(--base-space));
    margin-right: calc(0 * var(--base-space));
    margin-left: calc(0 * var(--base-space));
  }
}
@media screen and (min-width: 1050px) {
  .logotypes--full {
    grid-column: span 2;
  }
}

.logotypes__title {
  border-bottom: 1px solid var(--color-text);
  margin-bottom: 3px;
  padding-bottom: 2px;
}

.logotypes__inner {
  padding-top: calc(1 * var(--base-space));
  padding-bottom: calc(0 * var(--base-space));
  padding-right: calc(0 * var(--base-space));
  padding-left: calc(0 * var(--base-space));
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  grid-column-gap: var(--margin-sm);
  grid-column-gap: var(--margin-md);
}
@media screen and (min-width: 800px) {
  .logotypes__inner {
    display: grid;
    grid-template-columns: repeat(12, minmax(0, 1fr));
    grid-column-gap: var(--margin-sm);
    grid-column-gap: var(--margin-md);
  }
}

.logotypes__item {
  display: flex;
  align-items: center;
  justify-content: center;
  grid-column: span var(--column-sm);
}
@media screen and (min-width: 800px) {
  .logotypes__item {
    grid-column: span var(--column);
  }
}
.logotypes__item a {
  display: flex;
  align-items: center;
  justify-content: center;
}

/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9jc3MvYnVuZGxlLmNzcyIsIm1hcHBpbmdzIjoiOzs7QUFBQTtBQUVBOytFQUFBO0FBR0E7OztFQUFBO0FBS0E7RUFDRTtFQUNBO0FDRkY7O0FES0E7K0VBQUE7QUFHQTs7RUFBQTtBQUlBO0VBQ0U7QUNKRjs7QURPQTs7RUFBQTtBQUlBO0VBQ0U7QUNMRjs7QURRQTs7O0VBQUE7QUFLQTtFQUNFO0VBQ0E7QUNORjs7QURTQTsrRUFBQTtBQUdBOzs7RUFBQTtBQUtBO0VBQ0U7RUFDQTtFQUNBO0FDUkY7O0FEV0E7OztFQUFBO0FBS0E7RUFDRTtFQUNBO0FDVEY7O0FEWUE7K0VBQUE7QUFHQTs7RUFBQTtBQUlBO0VBQ0U7QUNYRjs7QURjQTs7O0VBQUE7QUFLQTtFQUNFO0VBQ0E7RUFDQTtFQUNRO0FDWlY7O0FEZUE7O0VBQUE7QUFJQTs7RUFFRTtBQ2JGOztBRGdCQTs7O0VBQUE7QUFLQTs7O0VBR0U7RUFDQTtBQ2RGOztBRGlCQTs7RUFBQTtBQUlBO0VBQ0U7QUNmRjs7QURrQkE7OztFQUFBO0FBS0E7O0VBRUU7RUFDQTtFQUNBO0VBQ0E7QUNoQkY7O0FEbUJBO0VBQ0U7QUNoQkY7O0FEbUJBO0VBQ0U7QUNoQkY7O0FEbUJBOytFQUFBO0FBR0E7O0VBQUE7QUFJQTtFQUNFO0FDbEJGOztBRHFCQTsrRUFBQTtBQUdBOzs7RUFBQTtBQUtBOzs7OztFQUtFO0VBQ0E7RUFDQTtFQUNBO0FDcEJGOztBRHVCQTs7O0VBQUE7QUFLQTs7RUFFRTtFQUNBO0FDckJGOztBRHdCQTs7O0VBQUE7QUFLQTs7RUFFRTtFQUNBO0FDdEJGOztBRHlCQTs7RUFBQTtBQUlBOzs7O0VBSUU7QUN2QkY7O0FEMEJBOztFQUFBO0FBSUE7Ozs7RUFJRTtFQUNBO0FDeEJGOztBRDJCQTs7RUFBQTtBQUlBOzs7O0VBSUU7QUN6QkY7O0FENEJBOztFQUFBO0FBSUE7RUFDRTtBQzFCRjs7QUQ2QkE7Ozs7O0VBQUE7QUFPQTtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBQzNCRjs7QUQ4QkE7O0VBQUE7QUFJQTtFQUNFO0FDNUJGOztBRCtCQTs7RUFBQTtBQUlBO0VBQ0U7QUM3QkY7O0FEZ0NBOzs7RUFBQTtBQUtBOztFQUVFO0VBQ0E7QUM5QkY7O0FEaUNBOztFQUFBO0FBSUE7O0VBRUU7QUMvQkY7O0FEa0NBOzs7RUFBQTtBQUtBO0VBQ0U7RUFDQTtBQ2hDRjs7QURtQ0E7O0VBQUE7QUFJQTtFQUNFO0FDakNGOztBRG9DQTs7O0VBQUE7QUFLQTtFQUNFO0VBQ0E7QUNsQ0Y7O0FEcUNBOytFQUFBO0FBR0E7O0VBQUE7QUFJQTtFQUNFO0FDcENGOztBRHVDQTs7RUFBQTtBQUlBO0VBQ0U7QUNyQ0Y7O0FEd0NBOytFQUFBO0FBR0E7O0VBQUE7QUFJQTtFQUNFO0FDdkNGOztBRDBDQTs7RUFBQTtBQUlBO0VBQ0U7QUN4Q0Y7O0FDOVFBO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBRGlSRjs7QUU5VEE7RUFFSTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFhRjtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0FGeVRGO0FHM1VFO0VESkY7SUFTVTtJQUFBO0VGMlVSO0FBQ0Y7QUdqVkU7RURKRjtJQVNVO0lBQUE7RUZpVlI7QUFDRjtBR3ZWRTtFREpGO0lBU1U7SUFBQTtFRnVWUjtBQUNGO0FHN1ZFO0VESkY7SUFTVTtJQUFBO0VGNlZSO0FBQ0Y7QUduV0U7RURKRjtJQVNVO0lBQUE7RUZtV1I7QUFDRjtBR3pXRTtFREpGO0lBeUJJO0lBQ0E7SUFDQTtJQUNBO0VGd1ZGO0FBQ0Y7QUdqWEU7RURKRjtJQWdDSTtFRnlWRjtBQUNGOztBSXhYQTtFQUNFO0FKMlhGOztBSXhYQTs7O0VBR0U7QUoyWEY7O0FJeFhBO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QUoyWEY7O0FJeFhBOztFQUVFO0VBQ0E7RUFDQTtFQUNBO0FKMlhGOztBSXBYQTs7RURQRTtFQUxBO0VBQ0E7RUNlQTtFQUNBO0FKd1hGOztBSXJYQTtFQUNFO0FKd1hGOztBSXJYQTtFQUNFO0VBQ0E7RUFDQTtBSndYRjs7QUlyWEE7O0VBRUU7RUFDQTtBSndYRjs7QUlyWEE7RUFDRTtBSndYRjs7QUlyWEE7RUFDRTtBSndYRjs7QUlyWEE7RUFDRTtBSndYRjs7QUlyWEE7O0VBRUU7QUp3WEY7O0FJclhBOztFQUVFO0FKd1hGOztBSXJYQTs7Ozs7OztFQU9FO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBSndYRjs7QUtuZEk7RUFDRTtFQUNBO0VBRUE7RUFDQTtFQUNBO0FMcWROO0FLM2RJO0VBQ0U7RUFDQTtFQUVBO0VBQ0E7RUFDQTtBTDRkTjtBTWxlQTtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QU5vZUY7O0FNamVBO0VBQ0U7QU5vZUY7O0FPamZBO0VDd0JJO0VBQ0E7RUFDQTtFQUNBO0VEekJGO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBUHVmRjs7QU9wZkE7RUNJSTtFQUNBO0VBQ0E7RUFDQTtFRExGO0VBQ0E7RUFDQTtBUDBmRjtBR3BnQkU7RUlNRjtJQ0lJO0lBQ0E7SUFDQTtJQUNBO0VSOGZGO0FBQ0Y7O0FPM2ZBO0VDR0k7RUFDQTtFQUNBO0VBQ0E7RURKRjtFQUNBO0VBQ0E7QVBpZ0JGO0FHdGhCRTtFSWlCRjtJQ0dJO0lBQ0E7SUFDQTtJQUNBO0VSc2dCRjtBQUNGOztBT2xnQkE7RUFDRTtBUHFnQkY7O0FPbGdCQTtFQUNFO0FQcWdCRjs7QU9sZ0JBO0VDMUJJO0VBQ0E7RUFDQTtFQUNBO0VEeUJGO0VBQ0E7QVB3Z0JGO0FHL2lCRTtFSW9DRjtJQzFCSTtJQUNBO0lBQ0E7SUFDQTtFUnlpQkY7QUFDRjtBTzFnQkU7RUFDRTtFQUNBO0FQNGdCSjtBRzNqQkU7RUk2Q0E7SUFLSTtFUDZnQko7QUFDRjtBR2hrQkU7RUk2Q0E7SUFTSTtFUDhnQko7QUFDRjtBR3JrQkU7RUk2Q0E7SUFhSTtFUCtnQko7QUFDRjtBTzdnQkk7RUFDRTtFQUNBO0FQK2dCTjtBTzVnQkk7RUFDRTtFQUNBO0VBQ0E7QVA4Z0JOOztBT3pnQkE7RUN0REk7RUFDQTtFQUNBO0VBQ0E7RURxREY7RUFDQTtFQUNBO0VBQ0E7QVArZ0JGO0FHOWxCRTtFSTBFRjtJQ3RESTtJQUNBO0lBQ0E7SUFDQTtJRDREQTtFUG1oQkY7QUFDRjs7QU9oaEJBO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7QVBtaEJGO0FPamhCRTs7RUpsRkE7RUFDQSx5QkZpRTRCO0VFaEU1Qix3REZpRTBCO0VFaEUxQixvQkZpRXlCO0VNa0J2QjtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QVBxaEJKO0FHM25CRTtFSTZGQTs7SUFZSTtFUHVoQko7QUFDRjtBT3BoQkU7RUFFRTtBUHFoQko7QU9saEJFO0VBQ0U7QVBvaEJKO0FHdm9CRTtFSWtIQTtJQUlJO0VQcWhCSjtBQUNGO0FPbGhCRTtFQUNFO0FQb2hCSjtBRy9vQkU7RUkwSEE7SUFJSTtFUHFoQko7QUFDRjtBT2xoQkU7RUFDRTtBUG9oQko7QUd2cEJFO0VJa0lBO0lBSUk7RVBxaEJKO0FBQ0Y7QU9qaEJJO0VBQ0U7QVBtaEJOO0FPaGhCSTtFQUNFO0FQa2hCTjtBR2xxQkU7RUkrSUU7SUFJSTtFUG1oQk47QUFDRjtBT2hoQkk7RUFDRTtBUGtoQk47QUcxcUJFO0VJdUpFO0lBSUk7RVBtaEJOO0FBQ0Y7O0FPOWdCQTtFQ3ZKSTtFQUNBO0VBQ0E7RUFDQTtFRHNKRjtFQUNBO0VBQ0E7RUFDQTtFQUNBO0FQb2hCRjs7QU9qaEJBO0VBQ0U7QVBvaEJGO0FHL3JCRTtFSTBLRjtJQUlJO0VQcWhCRjtBQUNGO0FPbmhCRTtFQUNFO0VBQ0E7QVBxaEJKO0FHeHNCRTtFSWlMQTtJQUtJO0VQc2hCSjtFT3BoQkk7SUNwS0Y7SUFDQTtJQUNBO0lBQ0E7RVIyckJGO0FBQ0Y7O0FPcGhCQTtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QVB1aEJGOztBT3BoQkE7RUFDRTtBUHVoQkY7QU9yaEJFO0VBQ0U7QVB1aEJKO0FPcGhCRTtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBUHNoQko7QU9saEJJO0VBQ0U7QVBvaEJOOztBU2p2QkE7RUR3Qkk7RUFDQTtFQUNBO0VBQ0E7RUFsQkE7RUFDQTtFQUNBO0VBQ0E7RUNURjtFQUNBO0FUMHZCRjtBRzF2QkU7RU1KRjtJRHdCSTtJQUNBO0lBQ0E7SUFDQTtJQWxCQTtJQUNBO0lBQ0E7SUFDQTtJQ0hBO0VUaXdCRjtBQUNGOztBUzd2QkU7RU5RQTtFQUNBO0VLQ0U7RUFDQTtFQUNBO0VBQ0E7QVJ5dkJKOztBU2h3QkE7RURJSTtFQUNBO0VBQ0E7RUFDQTtFQUhBO0VBQ0E7RUFDQTtFQUNBO0VDSkY7RUFDQTtFQUNBO0FUeXdCRjtBU3Z3QkU7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QVR5d0JKO0FHdHlCRTtFTXVCQTtJQVNJO0lBQ0E7RVQwd0JKO0FBQ0Y7QUc1eUJFO0VNZ0JGO0lESUk7SUFDQTtJQUNBO0lBQ0E7RVI0eEJGO0FBQ0Y7O0FTMXdCQTtFQUNFO0FUNndCRjs7QVMxd0JBO0VEcENJO0VBQ0E7RUFDQTtFQUNBO0VDbUNGO0FUZ3hCRjtBR2gwQkU7RU04Q0Y7SURwQ0k7SUFDQTtJQUNBO0lBQ0E7RVIwekJGO0FBQ0Y7QVNseEJFO0VBQ0U7QVRveEJKO0FHMzBCRTtFTXNEQTtJQUlJO0VUcXhCSjtBQUNGO0FHaDFCRTtFTXNEQTtJQVFJO0VUc3hCSjtBQUNGOztBU2x4QkE7RUh0REU7RUFDQTtFQUNBO0VFTEU7RUFDQTtFQUNBO0VBQ0E7RUN5REY7RUFDQTtBVDB4QkY7QUdqMkJFO0VNbUVGO0lIdERFO0lBQ0E7SUFDQTtFTncxQkE7QUFDRjtBUzN4QkU7RUFDRTtBVDZ4Qko7QVMxeEJFO0VBQ0U7RUhyRUY7RUFDQTtFQUNBO0FOazJCRjtBR2ozQkU7RU1pRkE7SUhwRUE7SUFDQTtJQUNBO0VOdzJCQTtBQUNGOztBUzd4QkE7RUg5RUU7RUFDQTtFQUNBO0VHOEVBO0VBQ0E7QVRreUJGO0FHaDRCRTtFTTJGRjtJSDlFRTtJQUNBO0lBQ0E7RU51M0JBO0FBQ0Y7QVNueUJFO0VBQ0U7QVRxeUJKOztBU2p5QkE7RUQvRkk7RUFDQTtFQUNBO0VBQ0E7QVJvNEJKO0FTcnlCRTtFQUNFO0FUdXlCSjtBR3A1QkU7RU00R0E7SUFJSTtFVHd5Qko7QUFDRjtBU3J5QkU7RUFDRTtBVHV5Qko7O0FTbnlCQTtFRHJHSTtFQUNBO0VBQ0E7RUFDQTtFQ29HRjtFQUNBO0VBQ0E7RUFDQTtFQUNBO0FUeXlCRjtBR3g2QkU7RU15SEY7SURyR0k7SUFDQTtJQUNBO0lBQ0E7SUM0R0E7SUFDQTtFVDZ5QkY7QUFDRjs7QVMxeUJBO0VOdEhFO0VBQ0E7RUdDQTtFQUNBO0VFREU7RUFDQTtFQUNBO0VBQ0E7QVJzNkJKO0FHNzdCRTtFTXdJRjtJQUtJO0VUb3pCRjtBQUNGOztBU2p6QkE7RUR2SUk7RUFDQTtFQUNBO0VBQ0E7RUZBRjtFQUNBO0VBQ0E7QU42N0JGO0FHNThCRTtFTWlKRjtJSHBJRTtJQUNBO0lBQ0E7RU5tOEJBO0FBQ0Y7QVMxekJFO0VBQ0U7RUFDQTtBVDR6Qko7QVN6ekJFO0VBQ0U7QVQyekJKOztBU3Z6QkE7RUQvSUk7RUFDQTtFQUNBO0VBQ0E7QVIwOEJKO0FTM3pCRTtFQUNFO0FUNnpCSjs7QVN6ekJBO0VBQ0U7RUFDQTtFQUNBO0FUNHpCRjtBRzErQkU7RU0yS0Y7SUFNSTtFVDZ6QkY7QUFDRjtBUzN6QkU7RUFDRTtBVDZ6Qko7QVMxekJFO0VBQ0U7QVQ0ekJKO0FTenpCRTtFQUNFO0FUMnpCSjs7QVN2ekJBO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7QVQwekJGO0FHLy9CRTtFTWlNRjtJQU9JO0VUMnpCRjtBQUNGOztBU3h6QkE7RUR4TEk7RUFDQTtFQUNBO0VBQ0E7RUN1TEY7RUFDQTtFQUNBO0FUOHpCRjtBRzlnQ0U7RU00TUY7SUR4TEk7SUFDQTtJQUNBO0lBQ0E7SUM2TEE7RVRrMEJGO0FBQ0Y7QVNoMEJFO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QVRrMEJKO0FHaGlDRTtFTXVOQTtJQVVJO0VUbTBCSjtBQUNGOztBUy96QkE7RUFDRTtBVGswQkY7O0FTL3pCQTtFRGhPSTtFQUNBO0VBQ0E7RUFDQTtFQytORjtFQUNBO0FUcTBCRjtBR2xqQ0U7RU0wT0Y7SURoT0k7SUFDQTtJQUNBO0lBQ0E7RVI0aUNGO0FBQ0Y7QVN2MEJFO0VBQ0U7RUFDQTtBVHkwQko7QUc5akNFO0VNbVBBO0lBS0k7RVQwMEJKO0FBQ0Y7QUdua0NFO0VNbVBBO0lBU0k7RVQyMEJKO0FBQ0Y7QUd4a0NFO0VNbVBBO0lBYUk7RVQ0MEJKO0FBQ0Y7QVMxMEJJO0VBQ0U7RUFDQTtBVDQwQk47QVN6MEJJO0VBQ0U7QVQyMEJOO0FHcGxDRTtFTXdRRTtJQUlJO0VUNDBCTjtBQUNGO0FTejBCSTtFQUNFO0FUMjBCTjs7QVVobUNBO0VKaUJFO0VBQ0E7RUFDQTtFRUxFO0VBQ0E7RUFDQTtFQUNBO0FSeWxDSjtBR3RtQ0U7RU9KRjtJRmNJO0lBQ0E7SUFDQTtJQUNBO0VSZ21DRjtBQUNGO0FHOW1DRTtFT0pGO0lKaUJFO0lBQ0E7SUFDQTtFTnFtQ0E7QUFDRjs7QUdybkNFO0VRSkY7SUFFSTtFWDRuQ0Y7QUFDRjtBVzFuQ0U7RUhtQkU7RUFDQTtFQUNBO0VBQ0E7QVIwbUNKO0FHam9DRTtFUUNBO0lIbUJFO0lBQ0E7SUFDQTtJQUNBO0VSaW5DRjtBQUNGO0FXaG9DRTtFSFdFO0VBQ0E7RUFDQTtFQUNBO0FSd25DSjtBRy9vQ0U7RVFTQTtJSFdFO0lBQ0E7SUFDQTtJQUNBO0VSK25DRjtBQUNGOztBV3JvQ0E7RVJBRTtFQUNBO0VHQ0E7RUFDQTtBTnlvQ0Y7O0FZanFDRTtFQUNFO0Fab3FDSjtBR2xxQ0U7RVNDQTtJQUVJO0VabXFDSjtBQUNGO0FHdnFDRTtFU09BO0lBRUk7RVprcUNKO0FBQ0Y7QVkvcENFO0VKT0U7RUFDQTtFQUNBO0VBQ0E7QVIycENKO0FHbHJDRTtFU2FBO0lKT0U7SUFDQTtJQUNBO0lBQ0E7SUlMRTtFWndxQ0o7QUFDRjs7QVlwcUNBO0VBQ0U7RUFDQTtFQUNBO0FadXFDRjs7QU0vcENJO0VBQ0U7QU5rcUNOO0FNOXBDRTs7RUhoQkE7QUhrckNGO0FNN3BDRTtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0FOK3BDSjtBTTVwQ0U7RUFDRTtBTjhwQ0o7QUdydENFO0VHc0RBO0lBSUk7RU4rcENKO0FBQ0Y7QU01cENFO0VBQ0U7RUFDQTtFQUNBO0FOOHBDSjtBTTNwQ0U7RUVoREU7RUFDQTtFQUNBO0VBQ0E7RUYrQ0E7QU5ncUNKO0FNOXBDSTtFQUNFO0VBQ0E7QU5ncUNOO0FNNXBDRTtFSDVEQTtFQUNBO0FIMnRDRjtBTTVwQ0U7RUFyRUE7RUFDQTtFQUNBO0FOb3VDRjs7QWF2dkNBO0VQaUJFO0VBQ0E7RUFDQTtBTjB1Q0Y7QWExdkNFO0VBQ0U7QWI0dkNKO0FHNXZDRTtFVUdBO0lBRUk7RWIydkNKO0FBQ0Y7O0FhdnZDQTtFQUNFO0VBQ0E7QWIwdkNGO0FheHZDRTtFQUNFO0FiMHZDSjtBR3p3Q0U7RVVjQTtJQUlJO0ViMnZDSjtBQUNGO0FheHZDRTtFQUNFO0FiMHZDSjtBR2p4Q0U7RVVzQkE7SUFJSTtFYjJ2Q0o7QUFDRjtBYXh2Q0U7RUFDRTtBYjB2Q0o7QUd6eENFO0VVOEJBO0lBSUk7RWIydkNKO0FBQ0Y7O0FjbHlDQTtFTmNJO0VBQ0E7RUFDQTtFQUNBO0VNZkY7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBZHd5Q0Y7QUcxeUNFO0VXSkY7SU5jSTtJQUNBO0lBQ0E7SUFDQTtFUm95Q0Y7QUFDRjtBYzF5Q0U7RUFDRTtBZDR5Q0o7QUdyekNFO0VXWUE7SUFFSTtFZDJ5Q0o7QUFDRjtBRzF6Q0U7RVdrQkE7SU5FRTtJQUNBO0lBQ0E7SUFDQTtFUjB5Q0Y7QUFDRjtBR2wwQ0U7RVd3QkE7SUFFSTtFZDR5Q0o7QUFDRjs7QWN4eUNBO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBZDJ5Q0Y7O0FjeHlDQTtFTm5DSTtFQUNBO0VBQ0E7RUFDQTtFTWtDRjtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0FkOHlDRjtBRzEyQ0U7RVc2Q0Y7SU5uQ0k7SUFDQTtJQUNBO0lBQ0E7RVJvMkNGO0FBQ0Y7QUdsM0NFO0VXNkNGO0lBc0JJO0VkbXpDRjtFY2p6Q0U7SUFDRTtFZG16Q0o7QUFDRjtBY2h6Q0U7RUFDRTtBZGt6Q0o7QWNoekNJO0VBQ0U7QWRrekNOO0FHaDRDRTtFVzBFQTtJQVFJO0Vka3pDSjtFY2h6Q0k7SUFDRTtFZGt6Q047QUFDRjtBYzl5Q0U7RUFDRTtBZGd6Q0o7QWM5eUNJO0VBQ0U7QWRnekNOO0FHOTRDRTtFVzBGQTtJQVFJO0VkZ3pDSjtFYzl5Q0k7SUFDRTtFZGd6Q047QUFDRjs7QWMzeUNBO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBZDh5Q0Y7QWM1eUNFO0VBQ0U7RUFDQTtFQUNBO0FkOHlDSjtBYzN5Q0U7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0FkNnlDSjs7QWN6eUNBO0VOaEhJO0VBQ0E7RUFDQTtFQUNBO0FSNjVDSjtBYzd5Q0U7O0VYaEhBO0FIaTZDRjs7QWMzeUNBO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7QWQ4eUNGO0FjNXlDRTtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBZDh5Q0o7O0FlMzhDQTtFUGNJO0VBQ0E7RUFDQTtFQUNBO0VPZkY7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0FmaTlDRjtBR3A5Q0U7RVlKRjtJUGNJO0lBQ0E7SUFDQTtJQUNBO0VSODhDRjtBQUNGO0FHNTlDRTtFWUpGO0lBY0k7RWZzOUNGO0FBQ0Y7O0FlbjlDQTtFUE1JO0VBQ0E7RUFDQTtFQUNBO0VPUEY7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBZnk5Q0Y7QUduL0NFO0VZY0Y7SVBNSTtJQUNBO0lBQ0E7SUFDQTtFUm0rQ0Y7QUFDRjs7QWUxOUNBO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0FmNjlDRjtBRzdnREU7RVlpQ0Y7SUFrQkk7RWY4OUNGO0FBQ0Y7QWU1OUNFO0VBQ0U7QWY4OUNKO0FHcmhERTtFWXNEQTtJQUlJO0VmKzlDSjtBQUNGO0FlNTlDRTtFQUNFO0FmODlDSjs7QWUxOUNBO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0FmNjlDRjtBZTM5Q0U7RUFDRTtBZjY5Q0o7QWUxOUNFO0VBQ0U7RUFDQTtBZjQ5Q0o7O0FleDlDQTtFUGpFSTtFQUNBO0VBQ0E7RUFDQTtBUjZoREo7QWU1OUNFOztFWmpFQTtBSGlpREY7O0FlMTlDQTtFQUNFO0VBQ0E7RUFDQTtFQUNBO0FmNjlDRjtBZTM5Q0U7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QWY2OUNKOztBZ0Iza0RBO0ViZUU7RUFDQSx5QkZpRTRCO0VFaEU1Qix3REZpRTBCO0VFaEUxQixvQkZpRXlCO0VPckV2QjtFQUNBO0VBQ0E7RUFDQTtFUWRGO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QWhCb2xERjtBR3ZsREU7RWFKRjtJUmNJO0lBQ0E7SUFDQTtJQUNBO0VSaWxERjtBQUNGO0FnQnRsREU7RUFDRTtBaEJ3bERKOztBZ0JwbERBO0VSSkk7RUFDQTtFQUNBO0VBQ0E7RUZBRjtFQUNBO0VBQ0E7RVVFQTtBaEI0bERGO0FHN21ERTtFYWNGO0lWREU7SUFDQTtJQUNBO0VOb21EQTtBQUNGOztBZ0I1bERBO0ViTkU7RUFDQTtFR0NBO0VBQ0E7RUFHRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0FOb21ESjs7QWlCcG9EQTtFWGlCRTtFQUNBO0VBQ0E7RUVLRTtFQUNBO0VBQ0E7RUFDQTtFU3hCRjtBakI0b0RGO0FHM29ERTtFY0pGO0lUd0JJO0lBQ0E7SUFDQTtJQUNBO0VSMm5ERjtBQUNGO0FHbnBERTtFY0pGO0lYaUJFO0lBQ0E7SUFDQTtJV1JFO0lBQ0E7RWpCbXBERjtBQUNGOztBaUJocERBO0VBQ0U7RUFDQTtFQUNBO0FqQm1wREY7O0FNaG9ESTtFQUNFO0FObW9ETjtBTS9uREU7O0VIaEJBO0FIbXBERjtBTTluREU7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBTmdvREo7QU03bkRFO0VBQ0U7QU4rbkRKO0FHdHJERTtFR3NEQTtJQUlJO0VOZ29ESjtBQUNGO0FNN25ERTtFQUNFO0VBQ0E7RUFDQTtBTituREo7QU01bkRFO0VFaERFO0VBQ0E7RUFDQTtFQUNBO0VGK0NBO0FOaW9ESjtBTS9uREk7RUFDRTtFQUNBO0FOaW9ETjtBTTduREU7RUg1REE7RUFDQTtBSDRyREY7QU03bkRFO0VBckVBO0VBQ0E7RUFDQTtBTnFzREY7QUdwdERFO0VjcUJBO0lBRUk7SUFDQTtJQUNBO0lBQ0E7RWpCaXNESjtBQUNGO0FpQjlyREU7RUFDRTtBakJnc0RKOztBa0JudURBO0VWd0JJO0VBQ0E7RUFDQTtFQUNBO0FSK3NESjtBR3R1REU7RWVKRjtJVndCSTtJQUNBO0lBQ0E7SUFDQTtFUnN0REY7QUFDRjtBRzl1REU7RWVKRjtJQVFJO0VsQjh1REY7QUFDRjs7QWtCM3VEQTtFVllJO0VBQ0E7RUFDQTtFQUNBO0VVYkY7RUFDQTtFQUNBO0FsQml2REY7QUc3dkRFO0VlUUY7SVZZSTtJQUNBO0lBQ0E7SUFDQTtFUjZ1REY7QUFDRjs7QWtCbHZEQTtFVlRJO0VBQ0E7RUFDQTtFQUNBO0VVUUY7RUFDQTtFQUNBO0FsQnd2REY7QWtCdHZERTtFQUNFO0FsQnd2REo7QWtCcnZERTtFQUVFO0FsQnN2REo7O0FrQmx2REE7RVp0QkU7RUFDQTtFQUNBO0VZc0JBO0FsQnV2REY7QUc1eERFO0VlbUNGO0ladEJFO0lBQ0E7SUFDQTtJWTBCRTtFbEIwdkRGO0FBQ0Y7O0FrQnZ2REE7RVpoQ0U7RUFDQTtFQUNBO0FOMnhERjs7QWtCeHZERTtFQUNFO0FsQjJ2REo7QWtCeHZERTtFQUNFO0FsQjB2REo7QWtCdnZERTtFQUNFO0FsQnl2REo7O0FrQnJ2REE7RWY3Q0U7RUFDQTtFR0NBO0VBQ0E7RVk0Q0E7RUFDQTtFQUNBO0VBQ0E7QWxCMnZERjtBa0J6dkRFO0VmcERBO0VBQ0E7RUdDQTtFQUNBO0VBR0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFWTRDQTtBbEJtd0RKOztBbUIvMERBO0VYd0JJO0VBQ0E7RUFDQTtFQUNBO0VMTEY7RUFDQTtFR0NBO0VBQ0E7RWF0QkE7QW5CdzFERjtBR3YxREU7RWdCSkY7SVh3Qkk7SUFDQTtJQUNBO0lBQ0E7RVJ1MERGO0FBQ0Y7QW1CMTFERTtFaEJhQTtFQUNBO0VHQ0E7RUFDQTtFQUdFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RWFyQkE7QW5CbzJESjs7QW1CaDJEQTtFWFNJO0VBQ0E7RUFDQTtFQUNBO0FSMjFESjtBR2wzREU7RWdCV0Y7SUFJSTtFbkJ1MkRGO0FBQ0Y7O0FtQnAyREE7RUFDRTtFQUNBO0FuQnUyREY7O0FtQm4yREU7RUFDRTtBbkJzMkRKOztBbUJsMkRBO0VYVkk7RUFDQTtFQUNBO0VBQ0E7RUZWRjtFQUNBO0VBQ0E7RWFrQkE7QW5CMDJERjtBRzM0REU7RWdCOEJGO0lYVkk7SUFDQTtJQUNBO0lBQ0E7RVIyM0RGO0FBQ0Y7QUduNURFO0VnQjhCRjtJYmpCRTtJQUNBO0lBQ0E7SWEwQkU7RW5CaTNERjtBQUNGOztBbUI5MkRBO0VBQ0U7RUFDQTtFQUNBO0FuQmkzREY7O0FNLzNESTtFQUNFO0FOazRETjtBTTkzREU7O0VIaEJBO0FIazVERjtBTTczREU7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBTiszREo7QU01M0RFO0VBQ0U7QU44M0RKO0FHcjdERTtFR3NEQTtJQUlJO0VOKzNESjtBQUNGO0FNNTNERTtFQUNFO0VBQ0E7RUFDQTtBTjgzREo7QU0zM0RFO0VFaERFO0VBQ0E7RUFDQTtFQUNBO0VGK0NBO0FOZzRESjtBTTkzREk7RUFDRTtFQUNBO0FOZzRETjtBTTUzREU7RUg1REE7RUFDQTtBSDI3REY7QU01M0RFO0VBckVBO0VBQ0E7RUFDQTtBTm84REY7O0FtQjU1REE7RUFDRTtBbkIrNURGOztBbUI1NURBO0VBQ0U7RUFDQTtFQUNBO0FuQis1REY7O0FtQjU1REE7RWJwREU7RUFDQTtFQUNBO0FObzlERjtBR24rREU7RWdCaUVGO0licERFO0lBQ0E7SUFDQTtFTjA5REE7QUFDRjs7QW9COStEQTtFWndCSTtFQUNBO0VBQ0E7RUFDQTtBUjA5REo7QUdqL0RFO0VpQkpGO0lad0JJO0lBQ0E7SUFDQTtJQUNBO0VSaStERjtBQUNGO0FHei9ERTtFaUJHQTtJQUVJO0VwQncvREo7QUFDRjs7QW9CcC9EQTtFQUNFO0VBQ0E7RUFDQTtBcEJ1L0RGOztBb0JwL0RBO0VaSUk7RUFDQTtFQUNBO0VBQ0E7RUZWRjtFQUNBO0VBQ0E7RWNJQTtBcEI0L0RGO0FHL2dFRTtFaUJnQkY7SWRIRTtJQUNBO0lBQ0E7SWNRRTtFcEIrL0RGO0FBQ0Y7O0FvQjUvREE7RUFDRTtFQUNBO0VBQ0E7RUFDQTtBcEIrL0RGO0FHOWhFRTtFaUIyQkY7SUFPSTtFcEJnZ0VGO0FBQ0Y7QW9COS9ERTtFQUNFO0VBQ0E7RUFDQTtBcEJnZ0VKLEMiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9zY3NzL19saWIvX25vcm1hbGl6ZS5zY3NzIiwid2VicGFjazovLy8uL3Njc3MvYXBwbGljYXRpb24uc2NzcyIsIndlYnBhY2s6Ly8vLi9zY3NzL19jb25maWcvY29uZmlnLnNjc3MiLCJ3ZWJwYWNrOi8vLy4vc2Nzcy9fY29uZmlnL3Jvb3Quc2NzcyIsIndlYnBhY2s6Ly8vLi9zY3NzL19jb25maWcvZnVuY3Rpb25zLnNjc3MiLCJ3ZWJwYWNrOi8vLy4vc2Nzcy9fcGFydGlhbHMvX2Jhc2Uuc2NzcyIsIndlYnBhY2s6Ly8vLi9zY3NzL19wYXJ0aWFscy9fZm9udHMuc2NzcyIsIndlYnBhY2s6Ly8vLi9zY3NzL19tb2R1bGVzL2Jhc2Uuc2NzcyIsIndlYnBhY2s6Ly8vLi9zY3NzL19tb2R1bGVzL2hlYWRlci5zY3NzIiwid2VicGFjazovLy8uL3Njc3MvX3BhcnRpYWxzL19tYXJnaW5zLnNjc3MiLCJ3ZWJwYWNrOi8vLy4vc2Nzcy9fbW9kdWxlcy9mb290ZXIuc2NzcyIsIndlYnBhY2s6Ly8vLi9zY3NzL19tb2R1bGVzL2Jsb2Nrcy5zY3NzIiwid2VicGFjazovLy8uL3Njc3MvX21vZHVsZXMvaGVhZGxpbmUuc2NzcyIsIndlYnBhY2s6Ly8vLi9zY3NzL19tb2R1bGVzL3RleHQuc2NzcyIsIndlYnBhY2s6Ly8vLi9zY3NzL19tb2R1bGVzL2ltYWdlLnNjc3MiLCJ3ZWJwYWNrOi8vLy4vc2Nzcy9fbW9kdWxlcy9zbGlkZXNob3cuc2NzcyIsIndlYnBhY2s6Ly8vLi9zY3NzL19tb2R1bGVzL2Nhcm91c2VsLnNjc3MiLCJ3ZWJwYWNrOi8vLy4vc2Nzcy9fbW9kdWxlcy9tZW51LnNjc3MiLCJ3ZWJwYWNrOi8vLy4vc2Nzcy9fbW9kdWxlcy90YWJsZS5zY3NzIiwid2VicGFjazovLy8uL3Njc3MvX21vZHVsZXMvYXJ0aXN0cy5zY3NzIiwid2VicGFjazovLy8uL3Njc3MvX21vZHVsZXMvYXJ0aXN0LnNjc3MiLCJ3ZWJwYWNrOi8vLy4vc2Nzcy9fbW9kdWxlcy9sb2dvdHlwZXMuc2NzcyJdLCJzb3VyY2VzQ29udGVudCI6WyIvKiEgbm9ybWFsaXplLmNzcyB2OC4wLjEgfCBNSVQgTGljZW5zZSB8IGdpdGh1Yi5jb20vbmVjb2xhcy9ub3JtYWxpemUuY3NzICovXG5cbi8qIERvY3VtZW50XG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKipcbiAqIDEuIENvcnJlY3QgdGhlIGxpbmUgaGVpZ2h0IGluIGFsbCBicm93c2Vycy5cbiAqIDIuIFByZXZlbnQgYWRqdXN0bWVudHMgb2YgZm9udCBzaXplIGFmdGVyIG9yaWVudGF0aW9uIGNoYW5nZXMgaW4gaU9TLlxuICovXG5cbmh0bWwge1xuICBsaW5lLWhlaWdodDogMS4xNTsgLyogMSAqL1xuICAtd2Via2l0LXRleHQtc2l6ZS1hZGp1c3Q6IDEwMCU7IC8qIDIgKi9cbn1cblxuLyogU2VjdGlvbnNcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qKlxuICogUmVtb3ZlIHRoZSBtYXJnaW4gaW4gYWxsIGJyb3dzZXJzLlxuICovXG5cbmJvZHkge1xuICBtYXJnaW46IDA7XG59XG5cbi8qKlxuICogUmVuZGVyIHRoZSBgbWFpbmAgZWxlbWVudCBjb25zaXN0ZW50bHkgaW4gSUUuXG4gKi9cblxubWFpbiB7XG4gIGRpc3BsYXk6IGJsb2NrO1xufVxuXG4vKipcbiAqIENvcnJlY3QgdGhlIGZvbnQgc2l6ZSBhbmQgbWFyZ2luIG9uIGBoMWAgZWxlbWVudHMgd2l0aGluIGBzZWN0aW9uYCBhbmRcbiAqIGBhcnRpY2xlYCBjb250ZXh0cyBpbiBDaHJvbWUsIEZpcmVmb3gsIGFuZCBTYWZhcmkuXG4gKi9cblxuaDEge1xuICBmb250LXNpemU6IDJlbTtcbiAgbWFyZ2luOiAwLjY3ZW0gMDtcbn1cblxuLyogR3JvdXBpbmcgY29udGVudFxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLyoqXG4gKiAxLiBBZGQgdGhlIGNvcnJlY3QgYm94IHNpemluZyBpbiBGaXJlZm94LlxuICogMi4gU2hvdyB0aGUgb3ZlcmZsb3cgaW4gRWRnZSBhbmQgSUUuXG4gKi9cblxuaHIge1xuICBib3gtc2l6aW5nOiBjb250ZW50LWJveDsgLyogMSAqL1xuICBoZWlnaHQ6IDA7IC8qIDEgKi9cbiAgb3ZlcmZsb3c6IHZpc2libGU7IC8qIDIgKi9cbn1cblxuLyoqXG4gKiAxLiBDb3JyZWN0IHRoZSBpbmhlcml0YW5jZSBhbmQgc2NhbGluZyBvZiBmb250IHNpemUgaW4gYWxsIGJyb3dzZXJzLlxuICogMi4gQ29ycmVjdCB0aGUgb2RkIGBlbWAgZm9udCBzaXppbmcgaW4gYWxsIGJyb3dzZXJzLlxuICovXG5cbnByZSB7XG4gIGZvbnQtZmFtaWx5OiBtb25vc3BhY2UsIG1vbm9zcGFjZTsgLyogMSAqL1xuICBmb250LXNpemU6IDFlbTsgLyogMiAqL1xufVxuXG4vKiBUZXh0LWxldmVsIHNlbWFudGljc1xuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLyoqXG4gKiBSZW1vdmUgdGhlIGdyYXkgYmFja2dyb3VuZCBvbiBhY3RpdmUgbGlua3MgaW4gSUUgMTAuXG4gKi9cblxuYSB7XG4gIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xufVxuXG4vKipcbiAqIDEuIFJlbW92ZSB0aGUgYm90dG9tIGJvcmRlciBpbiBDaHJvbWUgNTctXG4gKiAyLiBBZGQgdGhlIGNvcnJlY3QgdGV4dCBkZWNvcmF0aW9uIGluIENocm9tZSwgRWRnZSwgSUUsIE9wZXJhLCBhbmQgU2FmYXJpLlxuICovXG5cbmFiYnJbdGl0bGVdIHtcbiAgYm9yZGVyLWJvdHRvbTogbm9uZTsgLyogMSAqL1xuICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTsgLyogMiAqL1xuICAtd2Via2l0LXRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lIGRvdHRlZDtcbiAgICAgICAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZSBkb3R0ZWQ7IC8qIDIgKi9cbn1cblxuLyoqXG4gKiBBZGQgdGhlIGNvcnJlY3QgZm9udCB3ZWlnaHQgaW4gQ2hyb21lLCBFZGdlLCBhbmQgU2FmYXJpLlxuICovXG5cbmIsXG5zdHJvbmcge1xuICBmb250LXdlaWdodDogYm9sZGVyO1xufVxuXG4vKipcbiAqIDEuIENvcnJlY3QgdGhlIGluaGVyaXRhbmNlIGFuZCBzY2FsaW5nIG9mIGZvbnQgc2l6ZSBpbiBhbGwgYnJvd3NlcnMuXG4gKiAyLiBDb3JyZWN0IHRoZSBvZGQgYGVtYCBmb250IHNpemluZyBpbiBhbGwgYnJvd3NlcnMuXG4gKi9cblxuY29kZSxcbmtiZCxcbnNhbXAge1xuICBmb250LWZhbWlseTogbW9ub3NwYWNlLCBtb25vc3BhY2U7IC8qIDEgKi9cbiAgZm9udC1zaXplOiAxZW07IC8qIDIgKi9cbn1cblxuLyoqXG4gKiBBZGQgdGhlIGNvcnJlY3QgZm9udCBzaXplIGluIGFsbCBicm93c2Vycy5cbiAqL1xuXG5zbWFsbCB7XG4gIGZvbnQtc2l6ZTogODAlO1xufVxuXG4vKipcbiAqIFByZXZlbnQgYHN1YmAgYW5kIGBzdXBgIGVsZW1lbnRzIGZyb20gYWZmZWN0aW5nIHRoZSBsaW5lIGhlaWdodCBpblxuICogYWxsIGJyb3dzZXJzLlxuICovXG5cbnN1YixcbnN1cCB7XG4gIGZvbnQtc2l6ZTogNzUlO1xuICBsaW5lLWhlaWdodDogMDtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB2ZXJ0aWNhbC1hbGlnbjogYmFzZWxpbmU7XG59XG5cbnN1YiB7XG4gIGJvdHRvbTogLTAuMjVlbTtcbn1cblxuc3VwIHtcbiAgdG9wOiAtMC41ZW07XG59XG5cbi8qIEVtYmVkZGVkIGNvbnRlbnRcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qKlxuICogUmVtb3ZlIHRoZSBib3JkZXIgb24gaW1hZ2VzIGluc2lkZSBsaW5rcyBpbiBJRSAxMC5cbiAqL1xuXG5pbWcge1xuICBib3JkZXItc3R5bGU6IG5vbmU7XG59XG5cbi8qIEZvcm1zXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKipcbiAqIDEuIENoYW5nZSB0aGUgZm9udCBzdHlsZXMgaW4gYWxsIGJyb3dzZXJzLlxuICogMi4gUmVtb3ZlIHRoZSBtYXJnaW4gaW4gRmlyZWZveCBhbmQgU2FmYXJpLlxuICovXG5cbmJ1dHRvbixcbmlucHV0LFxub3B0Z3JvdXAsXG5zZWxlY3QsXG50ZXh0YXJlYSB7XG4gIGZvbnQtZmFtaWx5OiBpbmhlcml0OyAvKiAxICovXG4gIGZvbnQtc2l6ZTogMTAwJTsgLyogMSAqL1xuICBsaW5lLWhlaWdodDogMS4xNTsgLyogMSAqL1xuICBtYXJnaW46IDA7IC8qIDIgKi9cbn1cblxuLyoqXG4gKiBTaG93IHRoZSBvdmVyZmxvdyBpbiBJRS5cbiAqIDEuIFNob3cgdGhlIG92ZXJmbG93IGluIEVkZ2UuXG4gKi9cblxuYnV0dG9uLFxuaW5wdXQge1xuICAvKiAxICovXG4gIG92ZXJmbG93OiB2aXNpYmxlO1xufVxuXG4vKipcbiAqIFJlbW92ZSB0aGUgaW5oZXJpdGFuY2Ugb2YgdGV4dCB0cmFuc2Zvcm0gaW4gRWRnZSwgRmlyZWZveCwgYW5kIElFLlxuICogMS4gUmVtb3ZlIHRoZSBpbmhlcml0YW5jZSBvZiB0ZXh0IHRyYW5zZm9ybSBpbiBGaXJlZm94LlxuICovXG5cbmJ1dHRvbixcbnNlbGVjdCB7XG4gIC8qIDEgKi9cbiAgdGV4dC10cmFuc2Zvcm06IG5vbmU7XG59XG5cbi8qKlxuICogQ29ycmVjdCB0aGUgaW5hYmlsaXR5IHRvIHN0eWxlIGNsaWNrYWJsZSB0eXBlcyBpbiBpT1MgYW5kIFNhZmFyaS5cbiAqL1xuXG5idXR0b24sXG5bdHlwZT1cImJ1dHRvblwiXSxcblt0eXBlPVwicmVzZXRcIl0sXG5bdHlwZT1cInN1Ym1pdFwiXSB7XG4gIC13ZWJraXQtYXBwZWFyYW5jZTogYnV0dG9uO1xufVxuXG4vKipcbiAqIFJlbW92ZSB0aGUgaW5uZXIgYm9yZGVyIGFuZCBwYWRkaW5nIGluIEZpcmVmb3guXG4gKi9cblxuYnV0dG9uOjotbW96LWZvY3VzLWlubmVyLFxuW3R5cGU9XCJidXR0b25cIl06Oi1tb3otZm9jdXMtaW5uZXIsXG5bdHlwZT1cInJlc2V0XCJdOjotbW96LWZvY3VzLWlubmVyLFxuW3R5cGU9XCJzdWJtaXRcIl06Oi1tb3otZm9jdXMtaW5uZXIge1xuICBib3JkZXItc3R5bGU6IG5vbmU7XG4gIHBhZGRpbmc6IDA7XG59XG5cbi8qKlxuICogUmVzdG9yZSB0aGUgZm9jdXMgc3R5bGVzIHVuc2V0IGJ5IHRoZSBwcmV2aW91cyBydWxlLlxuICovXG5cbmJ1dHRvbjotbW96LWZvY3VzcmluZyxcblt0eXBlPVwiYnV0dG9uXCJdOi1tb3otZm9jdXNyaW5nLFxuW3R5cGU9XCJyZXNldFwiXTotbW96LWZvY3VzcmluZyxcblt0eXBlPVwic3VibWl0XCJdOi1tb3otZm9jdXNyaW5nIHtcbiAgb3V0bGluZTogMXB4IGRvdHRlZCBCdXR0b25UZXh0O1xufVxuXG4vKipcbiAqIENvcnJlY3QgdGhlIHBhZGRpbmcgaW4gRmlyZWZveC5cbiAqL1xuXG5maWVsZHNldCB7XG4gIHBhZGRpbmc6IDAuMzVlbSAwLjc1ZW0gMC42MjVlbTtcbn1cblxuLyoqXG4gKiAxLiBDb3JyZWN0IHRoZSB0ZXh0IHdyYXBwaW5nIGluIEVkZ2UgYW5kIElFLlxuICogMi4gQ29ycmVjdCB0aGUgY29sb3IgaW5oZXJpdGFuY2UgZnJvbSBgZmllbGRzZXRgIGVsZW1lbnRzIGluIElFLlxuICogMy4gUmVtb3ZlIHRoZSBwYWRkaW5nIHNvIGRldmVsb3BlcnMgYXJlIG5vdCBjYXVnaHQgb3V0IHdoZW4gdGhleSB6ZXJvIG91dFxuICogICAgYGZpZWxkc2V0YCBlbGVtZW50cyBpbiBhbGwgYnJvd3NlcnMuXG4gKi9cblxubGVnZW5kIHtcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDsgLyogMSAqL1xuICBjb2xvcjogaW5oZXJpdDsgLyogMiAqL1xuICBkaXNwbGF5OiB0YWJsZTsgLyogMSAqL1xuICBtYXgtd2lkdGg6IDEwMCU7IC8qIDEgKi9cbiAgcGFkZGluZzogMDsgLyogMyAqL1xuICB3aGl0ZS1zcGFjZTogbm9ybWFsOyAvKiAxICovXG59XG5cbi8qKlxuICogQWRkIHRoZSBjb3JyZWN0IHZlcnRpY2FsIGFsaWdubWVudCBpbiBDaHJvbWUsIEZpcmVmb3gsIGFuZCBPcGVyYS5cbiAqL1xuXG5wcm9ncmVzcyB7XG4gIHZlcnRpY2FsLWFsaWduOiBiYXNlbGluZTtcbn1cblxuLyoqXG4gKiBSZW1vdmUgdGhlIGRlZmF1bHQgdmVydGljYWwgc2Nyb2xsYmFyIGluIElFIDEwKy5cbiAqL1xuXG50ZXh0YXJlYSB7XG4gIG92ZXJmbG93OiBhdXRvO1xufVxuXG4vKipcbiAqIDEuIEFkZCB0aGUgY29ycmVjdCBib3ggc2l6aW5nIGluIElFIDEwLlxuICogMi4gUmVtb3ZlIHRoZSBwYWRkaW5nIGluIElFIDEwLlxuICovXG5cblt0eXBlPVwiY2hlY2tib3hcIl0sXG5bdHlwZT1cInJhZGlvXCJdIHtcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDsgLyogMSAqL1xuICBwYWRkaW5nOiAwOyAvKiAyICovXG59XG5cbi8qKlxuICogQ29ycmVjdCB0aGUgY3Vyc29yIHN0eWxlIG9mIGluY3JlbWVudCBhbmQgZGVjcmVtZW50IGJ1dHRvbnMgaW4gQ2hyb21lLlxuICovXG5cblt0eXBlPVwibnVtYmVyXCJdOjotd2Via2l0LWlubmVyLXNwaW4tYnV0dG9uLFxuW3R5cGU9XCJudW1iZXJcIl06Oi13ZWJraXQtb3V0ZXItc3Bpbi1idXR0b24ge1xuICBoZWlnaHQ6IGF1dG87XG59XG5cbi8qKlxuICogMS4gQ29ycmVjdCB0aGUgb2RkIGFwcGVhcmFuY2UgaW4gQ2hyb21lIGFuZCBTYWZhcmkuXG4gKiAyLiBDb3JyZWN0IHRoZSBvdXRsaW5lIHN0eWxlIGluIFNhZmFyaS5cbiAqL1xuXG5bdHlwZT1cInNlYXJjaFwiXSB7XG4gIC13ZWJraXQtYXBwZWFyYW5jZTogdGV4dGZpZWxkOyAvKiAxICovXG4gIG91dGxpbmUtb2Zmc2V0OiAtMnB4OyAvKiAyICovXG59XG5cbi8qKlxuICogUmVtb3ZlIHRoZSBpbm5lciBwYWRkaW5nIGluIENocm9tZSBhbmQgU2FmYXJpIG9uIG1hY09TLlxuICovXG5cblt0eXBlPVwic2VhcmNoXCJdOjotd2Via2l0LXNlYXJjaC1kZWNvcmF0aW9uIHtcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lO1xufVxuXG4vKipcbiAqIDEuIENvcnJlY3QgdGhlIGluYWJpbGl0eSB0byBzdHlsZSBjbGlja2FibGUgdHlwZXMgaW4gaU9TIGFuZCBTYWZhcmkuXG4gKiAyLiBDaGFuZ2UgZm9udCBwcm9wZXJ0aWVzIHRvIGBpbmhlcml0YCBpbiBTYWZhcmkuXG4gKi9cblxuOjotd2Via2l0LWZpbGUtdXBsb2FkLWJ1dHRvbiB7XG4gIC13ZWJraXQtYXBwZWFyYW5jZTogYnV0dG9uOyAvKiAxICovXG4gIGZvbnQ6IGluaGVyaXQ7IC8qIDIgKi9cbn1cblxuLyogSW50ZXJhY3RpdmVcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qXG4gKiBBZGQgdGhlIGNvcnJlY3QgZGlzcGxheSBpbiBFZGdlLCBJRSAxMCssIGFuZCBGaXJlZm94LlxuICovXG5cbmRldGFpbHMge1xuICBkaXNwbGF5OiBibG9jaztcbn1cblxuLypcbiAqIEFkZCB0aGUgY29ycmVjdCBkaXNwbGF5IGluIGFsbCBicm93c2Vycy5cbiAqL1xuXG5zdW1tYXJ5IHtcbiAgZGlzcGxheTogbGlzdC1pdGVtO1xufVxuXG4vKiBNaXNjXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKipcbiAqIEFkZCB0aGUgY29ycmVjdCBkaXNwbGF5IGluIElFIDEwKy5cbiAqL1xuXG50ZW1wbGF0ZSB7XG4gIGRpc3BsYXk6IG5vbmU7XG59XG5cbi8qKlxuICogQWRkIHRoZSBjb3JyZWN0IGRpc3BsYXkgaW4gSUUgMTAuXG4gKi9cblxuW2hpZGRlbl0ge1xuICBkaXNwbGF5OiBub25lO1xufVxuIiwiLyohIG5vcm1hbGl6ZS5jc3MgdjguMC4xIHwgTUlUIExpY2Vuc2UgfCBnaXRodWIuY29tL25lY29sYXMvbm9ybWFsaXplLmNzcyAqL1xuLyogRG9jdW1lbnRcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKipcbiAqIDEuIENvcnJlY3QgdGhlIGxpbmUgaGVpZ2h0IGluIGFsbCBicm93c2Vycy5cbiAqIDIuIFByZXZlbnQgYWRqdXN0bWVudHMgb2YgZm9udCBzaXplIGFmdGVyIG9yaWVudGF0aW9uIGNoYW5nZXMgaW4gaU9TLlxuICovXG5odG1sIHtcbiAgbGluZS1oZWlnaHQ6IDEuMTU7IC8qIDEgKi9cbiAgLXdlYmtpdC10ZXh0LXNpemUtYWRqdXN0OiAxMDAlOyAvKiAyICovXG59XG5cbi8qIFNlY3Rpb25zXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLyoqXG4gKiBSZW1vdmUgdGhlIG1hcmdpbiBpbiBhbGwgYnJvd3NlcnMuXG4gKi9cbmJvZHkge1xuICBtYXJnaW46IDA7XG59XG5cbi8qKlxuICogUmVuZGVyIHRoZSBgbWFpbmAgZWxlbWVudCBjb25zaXN0ZW50bHkgaW4gSUUuXG4gKi9cbm1haW4ge1xuICBkaXNwbGF5OiBibG9jaztcbn1cblxuLyoqXG4gKiBDb3JyZWN0IHRoZSBmb250IHNpemUgYW5kIG1hcmdpbiBvbiBgaDFgIGVsZW1lbnRzIHdpdGhpbiBgc2VjdGlvbmAgYW5kXG4gKiBgYXJ0aWNsZWAgY29udGV4dHMgaW4gQ2hyb21lLCBGaXJlZm94LCBhbmQgU2FmYXJpLlxuICovXG5oMSB7XG4gIGZvbnQtc2l6ZTogMmVtO1xuICBtYXJnaW46IDAuNjdlbSAwO1xufVxuXG4vKiBHcm91cGluZyBjb250ZW50XG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLyoqXG4gKiAxLiBBZGQgdGhlIGNvcnJlY3QgYm94IHNpemluZyBpbiBGaXJlZm94LlxuICogMi4gU2hvdyB0aGUgb3ZlcmZsb3cgaW4gRWRnZSBhbmQgSUUuXG4gKi9cbmhyIHtcbiAgYm94LXNpemluZzogY29udGVudC1ib3g7IC8qIDEgKi9cbiAgaGVpZ2h0OiAwOyAvKiAxICovXG4gIG92ZXJmbG93OiB2aXNpYmxlOyAvKiAyICovXG59XG5cbi8qKlxuICogMS4gQ29ycmVjdCB0aGUgaW5oZXJpdGFuY2UgYW5kIHNjYWxpbmcgb2YgZm9udCBzaXplIGluIGFsbCBicm93c2Vycy5cbiAqIDIuIENvcnJlY3QgdGhlIG9kZCBgZW1gIGZvbnQgc2l6aW5nIGluIGFsbCBicm93c2Vycy5cbiAqL1xucHJlIHtcbiAgZm9udC1mYW1pbHk6IG1vbm9zcGFjZSwgbW9ub3NwYWNlOyAvKiAxICovXG4gIGZvbnQtc2l6ZTogMWVtOyAvKiAyICovXG59XG5cbi8qIFRleHQtbGV2ZWwgc2VtYW50aWNzXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLyoqXG4gKiBSZW1vdmUgdGhlIGdyYXkgYmFja2dyb3VuZCBvbiBhY3RpdmUgbGlua3MgaW4gSUUgMTAuXG4gKi9cbmEge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbn1cblxuLyoqXG4gKiAxLiBSZW1vdmUgdGhlIGJvdHRvbSBib3JkZXIgaW4gQ2hyb21lIDU3LVxuICogMi4gQWRkIHRoZSBjb3JyZWN0IHRleHQgZGVjb3JhdGlvbiBpbiBDaHJvbWUsIEVkZ2UsIElFLCBPcGVyYSwgYW5kIFNhZmFyaS5cbiAqL1xuYWJiclt0aXRsZV0ge1xuICBib3JkZXItYm90dG9tOiBub25lOyAvKiAxICovXG4gIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lOyAvKiAyICovXG4gIC13ZWJraXQtdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmUgZG90dGVkO1xuICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZSBkb3R0ZWQ7IC8qIDIgKi9cbn1cblxuLyoqXG4gKiBBZGQgdGhlIGNvcnJlY3QgZm9udCB3ZWlnaHQgaW4gQ2hyb21lLCBFZGdlLCBhbmQgU2FmYXJpLlxuICovXG5iLFxuc3Ryb25nIHtcbiAgZm9udC13ZWlnaHQ6IGJvbGRlcjtcbn1cblxuLyoqXG4gKiAxLiBDb3JyZWN0IHRoZSBpbmhlcml0YW5jZSBhbmQgc2NhbGluZyBvZiBmb250IHNpemUgaW4gYWxsIGJyb3dzZXJzLlxuICogMi4gQ29ycmVjdCB0aGUgb2RkIGBlbWAgZm9udCBzaXppbmcgaW4gYWxsIGJyb3dzZXJzLlxuICovXG5jb2RlLFxua2JkLFxuc2FtcCB7XG4gIGZvbnQtZmFtaWx5OiBtb25vc3BhY2UsIG1vbm9zcGFjZTsgLyogMSAqL1xuICBmb250LXNpemU6IDFlbTsgLyogMiAqL1xufVxuXG4vKipcbiAqIEFkZCB0aGUgY29ycmVjdCBmb250IHNpemUgaW4gYWxsIGJyb3dzZXJzLlxuICovXG5zbWFsbCB7XG4gIGZvbnQtc2l6ZTogODAlO1xufVxuXG4vKipcbiAqIFByZXZlbnQgYHN1YmAgYW5kIGBzdXBgIGVsZW1lbnRzIGZyb20gYWZmZWN0aW5nIHRoZSBsaW5lIGhlaWdodCBpblxuICogYWxsIGJyb3dzZXJzLlxuICovXG5zdWIsXG5zdXAge1xuICBmb250LXNpemU6IDc1JTtcbiAgbGluZS1oZWlnaHQ6IDA7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgdmVydGljYWwtYWxpZ246IGJhc2VsaW5lO1xufVxuXG5zdWIge1xuICBib3R0b206IC0wLjI1ZW07XG59XG5cbnN1cCB7XG4gIHRvcDogLTAuNWVtO1xufVxuXG4vKiBFbWJlZGRlZCBjb250ZW50XG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLyoqXG4gKiBSZW1vdmUgdGhlIGJvcmRlciBvbiBpbWFnZXMgaW5zaWRlIGxpbmtzIGluIElFIDEwLlxuICovXG5pbWcge1xuICBib3JkZXItc3R5bGU6IG5vbmU7XG59XG5cbi8qIEZvcm1zXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLyoqXG4gKiAxLiBDaGFuZ2UgdGhlIGZvbnQgc3R5bGVzIGluIGFsbCBicm93c2Vycy5cbiAqIDIuIFJlbW92ZSB0aGUgbWFyZ2luIGluIEZpcmVmb3ggYW5kIFNhZmFyaS5cbiAqL1xuYnV0dG9uLFxuaW5wdXQsXG5vcHRncm91cCxcbnNlbGVjdCxcbnRleHRhcmVhIHtcbiAgZm9udC1mYW1pbHk6IGluaGVyaXQ7IC8qIDEgKi9cbiAgZm9udC1zaXplOiAxMDAlOyAvKiAxICovXG4gIGxpbmUtaGVpZ2h0OiAxLjE1OyAvKiAxICovXG4gIG1hcmdpbjogMDsgLyogMiAqL1xufVxuXG4vKipcbiAqIFNob3cgdGhlIG92ZXJmbG93IGluIElFLlxuICogMS4gU2hvdyB0aGUgb3ZlcmZsb3cgaW4gRWRnZS5cbiAqL1xuYnV0dG9uLFxuaW5wdXQge1xuICAvKiAxICovXG4gIG92ZXJmbG93OiB2aXNpYmxlO1xufVxuXG4vKipcbiAqIFJlbW92ZSB0aGUgaW5oZXJpdGFuY2Ugb2YgdGV4dCB0cmFuc2Zvcm0gaW4gRWRnZSwgRmlyZWZveCwgYW5kIElFLlxuICogMS4gUmVtb3ZlIHRoZSBpbmhlcml0YW5jZSBvZiB0ZXh0IHRyYW5zZm9ybSBpbiBGaXJlZm94LlxuICovXG5idXR0b24sXG5zZWxlY3Qge1xuICAvKiAxICovXG4gIHRleHQtdHJhbnNmb3JtOiBub25lO1xufVxuXG4vKipcbiAqIENvcnJlY3QgdGhlIGluYWJpbGl0eSB0byBzdHlsZSBjbGlja2FibGUgdHlwZXMgaW4gaU9TIGFuZCBTYWZhcmkuXG4gKi9cbmJ1dHRvbixcblt0eXBlPWJ1dHRvbl0sXG5bdHlwZT1yZXNldF0sXG5bdHlwZT1zdWJtaXRdIHtcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiBidXR0b247XG59XG5cbi8qKlxuICogUmVtb3ZlIHRoZSBpbm5lciBib3JkZXIgYW5kIHBhZGRpbmcgaW4gRmlyZWZveC5cbiAqL1xuYnV0dG9uOjotbW96LWZvY3VzLWlubmVyLFxuW3R5cGU9YnV0dG9uXTo6LW1vei1mb2N1cy1pbm5lcixcblt0eXBlPXJlc2V0XTo6LW1vei1mb2N1cy1pbm5lcixcblt0eXBlPXN1Ym1pdF06Oi1tb3otZm9jdXMtaW5uZXIge1xuICBib3JkZXItc3R5bGU6IG5vbmU7XG4gIHBhZGRpbmc6IDA7XG59XG5cbi8qKlxuICogUmVzdG9yZSB0aGUgZm9jdXMgc3R5bGVzIHVuc2V0IGJ5IHRoZSBwcmV2aW91cyBydWxlLlxuICovXG5idXR0b246LW1vei1mb2N1c3JpbmcsXG5bdHlwZT1idXR0b25dOi1tb3otZm9jdXNyaW5nLFxuW3R5cGU9cmVzZXRdOi1tb3otZm9jdXNyaW5nLFxuW3R5cGU9c3VibWl0XTotbW96LWZvY3VzcmluZyB7XG4gIG91dGxpbmU6IDFweCBkb3R0ZWQgQnV0dG9uVGV4dDtcbn1cblxuLyoqXG4gKiBDb3JyZWN0IHRoZSBwYWRkaW5nIGluIEZpcmVmb3guXG4gKi9cbmZpZWxkc2V0IHtcbiAgcGFkZGluZzogMC4zNWVtIDAuNzVlbSAwLjYyNWVtO1xufVxuXG4vKipcbiAqIDEuIENvcnJlY3QgdGhlIHRleHQgd3JhcHBpbmcgaW4gRWRnZSBhbmQgSUUuXG4gKiAyLiBDb3JyZWN0IHRoZSBjb2xvciBpbmhlcml0YW5jZSBmcm9tIGBmaWVsZHNldGAgZWxlbWVudHMgaW4gSUUuXG4gKiAzLiBSZW1vdmUgdGhlIHBhZGRpbmcgc28gZGV2ZWxvcGVycyBhcmUgbm90IGNhdWdodCBvdXQgd2hlbiB0aGV5IHplcm8gb3V0XG4gKiAgICBgZmllbGRzZXRgIGVsZW1lbnRzIGluIGFsbCBicm93c2Vycy5cbiAqL1xubGVnZW5kIHtcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDsgLyogMSAqL1xuICBjb2xvcjogaW5oZXJpdDsgLyogMiAqL1xuICBkaXNwbGF5OiB0YWJsZTsgLyogMSAqL1xuICBtYXgtd2lkdGg6IDEwMCU7IC8qIDEgKi9cbiAgcGFkZGluZzogMDsgLyogMyAqL1xuICB3aGl0ZS1zcGFjZTogbm9ybWFsOyAvKiAxICovXG59XG5cbi8qKlxuICogQWRkIHRoZSBjb3JyZWN0IHZlcnRpY2FsIGFsaWdubWVudCBpbiBDaHJvbWUsIEZpcmVmb3gsIGFuZCBPcGVyYS5cbiAqL1xucHJvZ3Jlc3Mge1xuICB2ZXJ0aWNhbC1hbGlnbjogYmFzZWxpbmU7XG59XG5cbi8qKlxuICogUmVtb3ZlIHRoZSBkZWZhdWx0IHZlcnRpY2FsIHNjcm9sbGJhciBpbiBJRSAxMCsuXG4gKi9cbnRleHRhcmVhIHtcbiAgb3ZlcmZsb3c6IGF1dG87XG59XG5cbi8qKlxuICogMS4gQWRkIHRoZSBjb3JyZWN0IGJveCBzaXppbmcgaW4gSUUgMTAuXG4gKiAyLiBSZW1vdmUgdGhlIHBhZGRpbmcgaW4gSUUgMTAuXG4gKi9cblt0eXBlPWNoZWNrYm94XSxcblt0eXBlPXJhZGlvXSB7XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7IC8qIDEgKi9cbiAgcGFkZGluZzogMDsgLyogMiAqL1xufVxuXG4vKipcbiAqIENvcnJlY3QgdGhlIGN1cnNvciBzdHlsZSBvZiBpbmNyZW1lbnQgYW5kIGRlY3JlbWVudCBidXR0b25zIGluIENocm9tZS5cbiAqL1xuW3R5cGU9bnVtYmVyXTo6LXdlYmtpdC1pbm5lci1zcGluLWJ1dHRvbixcblt0eXBlPW51bWJlcl06Oi13ZWJraXQtb3V0ZXItc3Bpbi1idXR0b24ge1xuICBoZWlnaHQ6IGF1dG87XG59XG5cbi8qKlxuICogMS4gQ29ycmVjdCB0aGUgb2RkIGFwcGVhcmFuY2UgaW4gQ2hyb21lIGFuZCBTYWZhcmkuXG4gKiAyLiBDb3JyZWN0IHRoZSBvdXRsaW5lIHN0eWxlIGluIFNhZmFyaS5cbiAqL1xuW3R5cGU9c2VhcmNoXSB7XG4gIC13ZWJraXQtYXBwZWFyYW5jZTogdGV4dGZpZWxkOyAvKiAxICovXG4gIG91dGxpbmUtb2Zmc2V0OiAtMnB4OyAvKiAyICovXG59XG5cbi8qKlxuICogUmVtb3ZlIHRoZSBpbm5lciBwYWRkaW5nIGluIENocm9tZSBhbmQgU2FmYXJpIG9uIG1hY09TLlxuICovXG5bdHlwZT1zZWFyY2hdOjotd2Via2l0LXNlYXJjaC1kZWNvcmF0aW9uIHtcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lO1xufVxuXG4vKipcbiAqIDEuIENvcnJlY3QgdGhlIGluYWJpbGl0eSB0byBzdHlsZSBjbGlja2FibGUgdHlwZXMgaW4gaU9TIGFuZCBTYWZhcmkuXG4gKiAyLiBDaGFuZ2UgZm9udCBwcm9wZXJ0aWVzIHRvIGBpbmhlcml0YCBpbiBTYWZhcmkuXG4gKi9cbjo6LXdlYmtpdC1maWxlLXVwbG9hZC1idXR0b24ge1xuICAtd2Via2l0LWFwcGVhcmFuY2U6IGJ1dHRvbjsgLyogMSAqL1xuICBmb250OiBpbmhlcml0OyAvKiAyICovXG59XG5cbi8qIEludGVyYWN0aXZlXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLypcbiAqIEFkZCB0aGUgY29ycmVjdCBkaXNwbGF5IGluIEVkZ2UsIElFIDEwKywgYW5kIEZpcmVmb3guXG4gKi9cbmRldGFpbHMge1xuICBkaXNwbGF5OiBibG9jaztcbn1cblxuLypcbiAqIEFkZCB0aGUgY29ycmVjdCBkaXNwbGF5IGluIGFsbCBicm93c2Vycy5cbiAqL1xuc3VtbWFyeSB7XG4gIGRpc3BsYXk6IGxpc3QtaXRlbTtcbn1cblxuLyogTWlzY1xuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8qKlxuICogQWRkIHRoZSBjb3JyZWN0IGRpc3BsYXkgaW4gSUUgMTArLlxuICovXG50ZW1wbGF0ZSB7XG4gIGRpc3BsYXk6IG5vbmU7XG59XG5cbi8qKlxuICogQWRkIHRoZSBjb3JyZWN0IGRpc3BsYXkgaW4gSUUgMTAuXG4gKi9cbltoaWRkZW5dIHtcbiAgZGlzcGxheTogbm9uZTtcbn1cblxuOnJvb3Qge1xuICAtLWJhc2Utc3BhY2U6IDEwcHg7XG4gIC0tY29sb3ItdGV4dDogYmxhY2s7XG4gIC0tY29sb3ItbGluazogYmxhY2s7XG4gIC0tY29sb3ItYmc6IHdoaXRlO1xuICAtLWNvbG9yLWdyZXk6ICM5OTk5OTk7XG59XG5cbjpyb290IHtcbiAgLS1tYXJnaW4teHM6IGNhbGModmFyKC0tYmFzZS1zcGFjZSkgKiAwLjUpO1xuICAtLW1hcmdpbi1zbTogY2FsYyh2YXIoLS1iYXNlLXNwYWNlKSAqIDEpO1xuICAtLW1hcmdpbi1tZDogY2FsYyh2YXIoLS1iYXNlLXNwYWNlKSAqIDIpO1xuICAtLW1hcmdpbi1sZzogY2FsYyh2YXIoLS1iYXNlLXNwYWNlKSAqIDQpO1xuICAtLW1hcmdpbi14bDogY2FsYyh2YXIoLS1iYXNlLXNwYWNlKSAqIDEwKTtcbiAgLS1tYXJnaW4teHhsOiBjYWxjKHZhcigtLWJhc2Utc3BhY2UpICogMjApO1xuICAtLWxvZ290eXBlLWZ1bGwtcmF0aW86IDAuMTk2O1xuICAtLWxvZ290eXBlLXJhdGlvOiAwLjEzOTtcbiAgLS1sb2dvdHlwZS1oZWlnaHQ6IGNhbGMoKDEwMHZ3IC0gdmFyKC0tbWFyZ2luLXNtKSAqIDIuNCkgKiB2YXIoLS1sb2dvdHlwZS1mdWxsLXJhdGlvKSk7XG4gIC0tbG9nb3R5cGUtd2lkdGg6IGNhbGModmFyKC0taGFtYnVyZ2VyLWhlaWdodCkgLyB2YXIoLS1sb2dvdHlwZS1yYXRpbykpO1xuICAtLWhhbWJ1cmdlci1oZWlnaHQ6IDMwcHg7XG4gIC0tcm93LWhlaWdodDogY2FsYyh2YXIoLS1saC1tYWluKSArIHZhcigtLW1hcmdpbi1zbSkgKyAycHgpO1xuICAtLWhlYWRlci1oZWlnaHQ6IGNhbGModmFyKC0taGFtYnVyZ2VyLWhlaWdodCkgKyB2YXIoLS1tYXJnaW4tc20pICogMi4yICsgdmFyKC0tcm93LWhlaWdodCkgKyB2YXIoLS1saC1tYWluKSAqIDIpO1xuICAtLWxoLWFydGlzdHM6IDM0cHg7XG59XG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAwcHgpIHtcbiAgOnJvb3Qge1xuICAgIC0tZnMtc21hbGw6IDEwcHg7XG4gICAgLS1saC1zbWFsbDogMTJweDtcbiAgfVxufVxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMHB4KSB7XG4gIDpyb290IHtcbiAgICAtLWZzLW1haW46IDE1cHg7XG4gICAgLS1saC1tYWluOiAxOHB4O1xuICB9XG59XG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MDBweCkge1xuICA6cm9vdCB7XG4gICAgLS1mcy1tYWluOiAyMHB4O1xuICAgIC0tbGgtbWFpbjogMjRweDtcbiAgfVxufVxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMHB4KSB7XG4gIDpyb290IHtcbiAgICAtLWZzLWgxOiAzNnB4O1xuICAgIC0tbGgtaDE6IDM2cHg7XG4gIH1cbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgwMHB4KSB7XG4gIDpyb290IHtcbiAgICAtLWZzLWgxOiA2OXB4O1xuICAgIC0tbGgtaDE6IDY5cHg7XG4gIH1cbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgwMHB4KSB7XG4gIDpyb290IHtcbiAgICAtLWhhbWJ1cmdlci1oZWlnaHQ6IDUxcHg7XG4gICAgLS1sb2dvdHlwZS1oZWlnaHQ6IGNhbGMoKDEwMHZ3IC0gdmFyKC0tbWFyZ2luLWxnKSkgKiB2YXIoLS1sb2dvdHlwZS1mdWxsLXJhdGlvKSk7XG4gICAgLS1oZWFkZXItaGVpZ2h0OiBjYWxjKHZhcigtLWhhbWJ1cmdlci1oZWlnaHQpICsgdmFyKC0tbWFyZ2luLXNtKSAqIDIuMiArIHZhcigtLXJvdy1oZWlnaHQpICsgdmFyKC0tbGgtbWFpbikpO1xuICAgIC0tbGgtYXJ0aXN0czogNjNweDtcbiAgfVxufVxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTA1MHB4KSB7XG4gIDpyb290IHtcbiAgICAtLWhlYWRlci1oZWlnaHQ6IGNhbGModmFyKC0taGFtYnVyZ2VyLWhlaWdodCkgKyB2YXIoLS1tYXJnaW4tc20pICogMi4yICsgdmFyKC0tcm93LWhlaWdodCkpO1xuICB9XG59XG5cbmh0bWwge1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xufVxuXG4qLFxuKjphZnRlcixcbio6YmVmb3JlIHtcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbn1cblxuKiB7XG4gIG1hcmdpbjogMDtcbiAgLXdlYmtpdC1mb250LWZlYXR1cmUtc2V0dGluZ3M6IFwia2VyblwiIDE7XG4gIGZvbnQtZmVhdHVyZS1zZXR0aW5nczogXCJrZXJuXCIgMTtcbiAgLXdlYmtpdC1mb250LWtlcm5pbmc6IG5vcm1hbDtcbiAgZm9udC1rZXJuaW5nOiBub3JtYWw7XG4gIC1tb3otb3N4LWZvbnQtc21vb3RoaW5nOiBncmF5c2NhbGU7XG4gIC13ZWJraXQtZm9udC1zbW9vdGhpbmc6IGFudGlhbGlhc2VkO1xufVxuXG5ib2R5LFxuaHRtbCB7XG4gIC13ZWJraXQtdGFwLWhpZ2hsaWdodC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gIGhlaWdodDogMTAwJTtcbiAgbWFyZ2luOiAwICFpbXBvcnRhbnQ7XG4gIHBhZGRpbmc6IDAgIWltcG9ydGFudDtcbn1cblxuaHRtbCxcbmJvZHkge1xuICBmb250LWZhbWlseTogTkhhYXNHcm90ZXNrVFhQcm8tNTVSZywgSGVsdmV0aWNhIE5ldWUsIEhlbHZldGljYSwgQXJpYWwsIEx1Y2lkYSBHcmFuZGUsIHNhbnMtc2VyaWY7XG4gIGZvbnQtc2l6ZTogdmFyKC0tZnMtbWFpbik7XG4gIGxpbmUtaGVpZ2h0OiB2YXIoLS1saC1tYWluKTtcbiAgY29sb3I6IHZhcigtLWNvbG9yLXRleHQpO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jb2xvci1iZyk7XG59XG5cbmh0bWwge1xuICBiYWNrZ3JvdW5kOiB2YXIoLS1jb2xvci1iZyk7XG59XG5cbmEge1xuICBjb2xvcjogdmFyKC0tY29sb3ItbGluayk7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgY3Vyc29yOiBwb2ludGVyO1xufVxuXG51bCxcbm9sIHtcbiAgbWFyZ2luOiAwO1xuICBwYWRkaW5nOiAwO1xufVxuXG51bCB7XG4gIGxpc3Qtc3R5bGUtdHlwZTogbm9uZTtcbn1cblxub2wge1xuICBsaXN0LXN0eWxlLXBvc2l0aW9uOiBpbnNpZGU7XG59XG5cbmltZyB7XG4gIHdpZHRoOiAxMDAlO1xufVxuXG5zdHJvbmcsXG5iIHtcbiAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbn1cblxuaSxcbmVtIHtcbiAgZm9udC1zdHlsZTogbm9ybWFsO1xufVxuXG5oMSxcbmgyLFxuaDMsXG5oNCxcbmg1LFxuaDYsXG5zbWFsbCB7XG4gIG1hcmdpbjogMDtcbiAgcGFkZGluZzogMDtcbiAgYm9yZGVyOiAwO1xuICBvdXRsaW5lOiAwO1xuICBmb250LXdlaWdodDogaW5oZXJpdDtcbiAgZm9udC1zdHlsZTogaW5oZXJpdDtcbiAgZm9udC1zaXplOiAxMDAlO1xuICBmb250LWZhbWlseTogaW5oZXJpdDtcbiAgdmVydGljYWwtYWxpZ246IGJhc2VsaW5lO1xufVxuXG5AZm9udC1mYWNlIHtcbiAgZm9udC1mYW1pbHk6IE5IYWFzR3JvdGVza1RYUHJvLTU1Umc7XG4gIHNyYzogdXJsKFwiLi4vZm9udHMvTkhhYXNHcm90ZXNrVFhQcm8tNTVSZy53b2ZmXCIpIGZvcm1hdChcIndvZmZcIiksIHVybChcIi4uL2ZvbnRzL05IYWFzR3JvdGVza1RYUHJvLTU1Umcud29mZjJcIikgZm9ybWF0KFwid29mZjJcIik7XG4gIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgZm9udC1kaXNwbGF5OiBhdXRvO1xufVxuQGZvbnQtZmFjZSB7XG4gIGZvbnQtZmFtaWx5OiBOSGFhc0dyb3Rlc2tUWFByby01Nkl0O1xuICBzcmM6IHVybChcIi4uL2ZvbnRzL05IYWFzR3JvdGVza1RYUHJvLTU2SXQud29mZlwiKSBmb3JtYXQoXCJ3b2ZmXCIpLCB1cmwoXCIuLi9mb250cy9OSGFhc0dyb3Rlc2tUWFByby01Nkl0LndvZmYyXCIpIGZvcm1hdChcIndvZmYyXCIpO1xuICBmb250LXdlaWdodDogbm9ybWFsO1xuICBmb250LXN0eWxlOiBub3JtYWw7XG4gIGZvbnQtZGlzcGxheTogYXV0bztcbn1cbi5jb250YWluZXIge1xuICBtaW4taGVpZ2h0OiAxMDB2aDtcbiAgbWluLWhlaWdodDogY2FsYyh2YXIoLS12aCwgMXZoKSAqIDEwMCk7XG4gIHBhZGRpbmctdG9wOiB2YXIoLS1oZWFkZXItaGVpZ2h0KTtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbn1cblxuLm1haW4ge1xuICBmbGV4OiAxO1xufVxuXG4uaGVhZGVyIHtcbiAgbWFyZ2luLXRvcDogY2FsYygwICogdmFyKC0tYmFzZS1zcGFjZSkpO1xuICBtYXJnaW4tYm90dG9tOiBjYWxjKDEgKiB2YXIoLS1iYXNlLXNwYWNlKSk7XG4gIG1hcmdpbi1yaWdodDogY2FsYygwICogdmFyKC0tYmFzZS1zcGFjZSkpO1xuICBtYXJnaW4tbGVmdDogY2FsYygwICogdmFyKC0tYmFzZS1zcGFjZSkpO1xuICBwb3NpdGlvbjogZml4ZWQ7XG4gIHRvcDogMDtcbiAgbGVmdDogMDtcbiAgd2lkdGg6IDEwMCU7XG4gIHotaW5kZXg6IDk5OTtcbiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY29sb3ItYmcpO1xufVxuXG4uaGVhZGVyX19pbm5lciB7XG4gIHBhZGRpbmctdG9wOiBjYWxjKDAgKiB2YXIoLS1iYXNlLXNwYWNlKSk7XG4gIHBhZGRpbmctYm90dG9tOiBjYWxjKDAgKiB2YXIoLS1iYXNlLXNwYWNlKSk7XG4gIHBhZGRpbmctcmlnaHQ6IGNhbGMoMS4yICogdmFyKC0tYmFzZS1zcGFjZSkpO1xuICBwYWRkaW5nLWxlZnQ6IGNhbGMoMS4yICogdmFyKC0tYmFzZS1zcGFjZSkpO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHotaW5kZXg6IDI7XG4gIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWNvbG9yLWJnKTtcbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgwMHB4KSB7XG4gIC5oZWFkZXJfX2lubmVyIHtcbiAgICBwYWRkaW5nLXRvcDogY2FsYygwICogdmFyKC0tYmFzZS1zcGFjZSkpO1xuICAgIHBhZGRpbmctYm90dG9tOiBjYWxjKDAgKiB2YXIoLS1iYXNlLXNwYWNlKSk7XG4gICAgcGFkZGluZy1yaWdodDogY2FsYygyICogdmFyKC0tYmFzZS1zcGFjZSkpO1xuICAgIHBhZGRpbmctbGVmdDogY2FsYygyICogdmFyKC0tYmFzZS1zcGFjZSkpO1xuICB9XG59XG5cbi5oZWFkZXJfX3RvcCB7XG4gIG1hcmdpbi10b3A6IGNhbGMoMCAqIHZhcigtLWJhc2Utc3BhY2UpKTtcbiAgbWFyZ2luLWJvdHRvbTogY2FsYygwLjYgKiB2YXIoLS1iYXNlLXNwYWNlKSk7XG4gIG1hcmdpbi1yaWdodDogY2FsYygwICogdmFyKC0tYmFzZS1zcGFjZSkpO1xuICBtYXJnaW4tbGVmdDogY2FsYygtMS4yICogdmFyKC0tYmFzZS1zcGFjZSkpO1xuICBkaXNwbGF5OiBmbGV4O1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIG92ZXJmbG93OiBoaWRkZW47XG59XG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MDBweCkge1xuICAuaGVhZGVyX190b3Age1xuICAgIG1hcmdpbi10b3A6IGNhbGMoMCAqIHZhcigtLWJhc2Utc3BhY2UpKTtcbiAgICBtYXJnaW4tYm90dG9tOiBjYWxjKDAuNiAqIHZhcigtLWJhc2Utc3BhY2UpKTtcbiAgICBtYXJnaW4tcmlnaHQ6IGNhbGMoMCAqIHZhcigtLWJhc2Utc3BhY2UpKTtcbiAgICBtYXJnaW4tbGVmdDogY2FsYygtMiAqIHZhcigtLWJhc2Utc3BhY2UpKTtcbiAgfVxufVxuXG4uaGVhZGVyX190aXRsZSB7XG4gIG92ZXJmbG93OiBoaWRkZW47XG59XG5cbi5oZWFkZXJfX3RpdGxlX19pbm5lciB7XG4gIGRpc3BsYXk6IGZsZXg7XG59XG5cbi5oZWFkZXJfX3RpdGxlX19pdGVtIHtcbiAgbWFyZ2luLXRvcDogY2FsYygwICogdmFyKC0tYmFzZS1zcGFjZSkpO1xuICBtYXJnaW4tYm90dG9tOiBjYWxjKDAgKiB2YXIoLS1iYXNlLXNwYWNlKSk7XG4gIG1hcmdpbi1yaWdodDogY2FsYygxLjIgKiB2YXIoLS1iYXNlLXNwYWNlKSk7XG4gIG1hcmdpbi1sZWZ0OiBjYWxjKDEuMiAqIHZhcigtLWJhc2Utc3BhY2UpKTtcbiAgZGlzcGxheTogZmxleDtcbiAgaGVpZ2h0OiBjYWxjKHZhcigtLWhhbWJ1cmdlci1oZWlnaHQpICsgNnB4KTtcbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgwMHB4KSB7XG4gIC5oZWFkZXJfX3RpdGxlX19pdGVtIHtcbiAgICBtYXJnaW4tdG9wOiBjYWxjKDAgKiB2YXIoLS1iYXNlLXNwYWNlKSk7XG4gICAgbWFyZ2luLWJvdHRvbTogY2FsYygwICogdmFyKC0tYmFzZS1zcGFjZSkpO1xuICAgIG1hcmdpbi1yaWdodDogY2FsYygyICogdmFyKC0tYmFzZS1zcGFjZSkpO1xuICAgIG1hcmdpbi1sZWZ0OiBjYWxjKDIgKiB2YXIoLS1iYXNlLXNwYWNlKSk7XG4gIH1cbn1cbi5oZWFkZXJfX3RpdGxlX19pdGVtID4gZGl2IHtcbiAgd2lkdGg6IGNhbGMoMTAwdncgLSB2YXIoLS1tYXJnaW4tc20pICogMi40KTtcbiAgZGlzcGxheTogZmxleDtcbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgwMHB4KSB7XG4gIC5oZWFkZXJfX3RpdGxlX19pdGVtID4gZGl2IHtcbiAgICB3aWR0aDogY2FsYygxMDB2dyAtIHZhcigtLW1hcmdpbi1sZykpO1xuICB9XG59XG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMDUwcHgpIHtcbiAgLmhlYWRlcl9fdGl0bGVfX2l0ZW0gPiBkaXYge1xuICAgIHdpZHRoOiBjYWxjKCgxMDB2dyAtIHZhcigtLWhhbWJ1cmdlci1oZWlnaHQpIC0gdmFyKC0tbWFyZ2luLXNtKSAqIDYpIC8gMik7XG4gIH1cbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDEzMjBweCkge1xuICAuaGVhZGVyX190aXRsZV9faXRlbSA+IGRpdiB7XG4gICAgd2lkdGg6IGNhbGModmFyKC0tbG9nb3R5cGUtd2lkdGgpICsgKDEwMHZ3IC0gdmFyKC0taGFtYnVyZ2VyLWhlaWdodCkgLSB2YXIoLS1tYXJnaW4tc20pICogMTYgLSB2YXIoLS1sb2dvdHlwZS13aWR0aCkgKiAzKSAvIDIpO1xuICB9XG59XG4uaGVhZGVyX190aXRsZV9faXRlbSA+IGRpdiA+IGEge1xuICBkaXNwbGF5OiBmbGV4O1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG59XG4uaGVhZGVyX190aXRsZV9faXRlbSA+IGRpdiBzdmcge1xuICBoZWlnaHQ6IGNhbGModmFyKC0taGFtYnVyZ2VyLWhlaWdodCkgKiB2YXIoLS1sb2dvdHlwZS1mdWxsLXJhdGlvKSAvIHZhcigtLWxvZ290eXBlLXJhdGlvKSk7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgYm90dG9tOiAwO1xufVxuXG4uaGVhZGVyX19oYW1idXJnZXIge1xuICBwYWRkaW5nLXRvcDogY2FsYygwLjYgKiB2YXIoLS1iYXNlLXNwYWNlKSk7XG4gIHBhZGRpbmctYm90dG9tOiBjYWxjKDAgKiB2YXIoLS1iYXNlLXNwYWNlKSk7XG4gIHBhZGRpbmctcmlnaHQ6IGNhbGMoMCAqIHZhcigtLWJhc2Utc3BhY2UpKTtcbiAgcGFkZGluZy1sZWZ0OiBjYWxjKDEuMiAqIHZhcigtLWJhc2Utc3BhY2UpKTtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICByaWdodDogMDtcbiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY29sb3ItYmcpO1xuICBoZWlnaHQ6IDEwMCU7XG59XG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MDBweCkge1xuICAuaGVhZGVyX19oYW1idXJnZXIge1xuICAgIHBhZGRpbmctdG9wOiBjYWxjKDAuNiAqIHZhcigtLWJhc2Utc3BhY2UpKTtcbiAgICBwYWRkaW5nLWJvdHRvbTogY2FsYygwICogdmFyKC0tYmFzZS1zcGFjZSkpO1xuICAgIHBhZGRpbmctcmlnaHQ6IGNhbGMoMCAqIHZhcigtLWJhc2Utc3BhY2UpKTtcbiAgICBwYWRkaW5nLWxlZnQ6IGNhbGMoMiAqIHZhcigtLWJhc2Utc3BhY2UpKTtcbiAgICByaWdodDogMDtcbiAgfVxufVxuXG4uaGVhZGVyX19oYW1idXJnZXJfX2lubmVyIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB3aWR0aDogdmFyKC0taGFtYnVyZ2VyLWhlaWdodCk7XG4gIGhlaWdodDogdmFyKC0taGFtYnVyZ2VyLWhlaWdodCk7XG4gIGN1cnNvcjogcG9pbnRlcjtcbn1cbi5oZWFkZXJfX2hhbWJ1cmdlcl9faW5uZXI6YmVmb3JlLCAuaGVhZGVyX19oYW1idXJnZXJfX2lubmVyOmFmdGVyLFxuLmhlYWRlcl9faGFtYnVyZ2VyX19pbm5lciBzcGFuIHtcbiAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogdHJhbnNmb3JtO1xuICB0cmFuc2l0aW9uLWR1cmF0aW9uOiAwLjRzO1xuICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuNywgMCwgMC4zLCAxKTtcbiAgdHJhbnNpdGlvbi1kZWxheTogMHM7XG4gIGhlaWdodDogMnB4O1xuICB3aWR0aDogMTAwJTtcbiAgZGlzcGxheTogZmxleDtcbiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY29sb3ItdGV4dCk7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdHJhbnNmb3JtLW9yaWdpbjogdG9wIGxlZnQ7XG59XG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MDBweCkge1xuICAuaGVhZGVyX19oYW1idXJnZXJfX2lubmVyOmJlZm9yZSwgLmhlYWRlcl9faGFtYnVyZ2VyX19pbm5lcjphZnRlcixcbiAgLmhlYWRlcl9faGFtYnVyZ2VyX19pbm5lciBzcGFuIHtcbiAgICBoZWlnaHQ6IDRweDtcbiAgfVxufVxuLmhlYWRlcl9faGFtYnVyZ2VyX19pbm5lcjpiZWZvcmUsIC5oZWFkZXJfX2hhbWJ1cmdlcl9faW5uZXI6YWZ0ZXIge1xuICBjb250ZW50OiBcIlwiO1xufVxuLmhlYWRlcl9faGFtYnVyZ2VyX19pbm5lcjpiZWZvcmUge1xuICB0b3A6IDVweDtcbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgwMHB4KSB7XG4gIC5oZWFkZXJfX2hhbWJ1cmdlcl9faW5uZXI6YmVmb3JlIHtcbiAgICB0b3A6IDhweDtcbiAgfVxufVxuLmhlYWRlcl9faGFtYnVyZ2VyX19pbm5lciBzcGFuIHtcbiAgdG9wOiBjYWxjKDUwJSAtIDFweCk7XG59XG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MDBweCkge1xuICAuaGVhZGVyX19oYW1idXJnZXJfX2lubmVyIHNwYW4ge1xuICAgIHRvcDogY2FsYyg1MCUgLSAycHgpO1xuICB9XG59XG4uaGVhZGVyX19oYW1idXJnZXJfX2lubmVyOmFmdGVyIHtcbiAgYm90dG9tOiA1cHg7XG59XG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MDBweCkge1xuICAuaGVhZGVyX19oYW1idXJnZXJfX2lubmVyOmFmdGVyIHtcbiAgICBib3R0b206IDhweDtcbiAgfVxufVxuLmhlYWRlcl9faGFtYnVyZ2VyX19pbm5lci5hY3RpdmUgc3BhbiB7XG4gIHRyYW5zZm9ybTogc2NhbGVZKDApO1xufVxuLmhlYWRlcl9faGFtYnVyZ2VyX19pbm5lci5hY3RpdmU6YmVmb3JlIHtcbiAgdHJhbnNmb3JtOiByb3RhdGUoNDVkZWcpIHRyYW5zbGF0ZVgoMnB4KSB0cmFuc2xhdGVZKC01cHgpO1xufVxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODAwcHgpIHtcbiAgLmhlYWRlcl9faGFtYnVyZ2VyX19pbm5lci5hY3RpdmU6YmVmb3JlIHtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZSg0NWRlZykgdHJhbnNsYXRlWCg0cHgpIHRyYW5zbGF0ZVkoLTdweCk7XG4gIH1cbn1cbi5oZWFkZXJfX2hhbWJ1cmdlcl9faW5uZXIuYWN0aXZlOmFmdGVyIHtcbiAgdHJhbnNmb3JtOiByb3RhdGUoLTQ1ZGVnKSB0cmFuc2xhdGVYKDJweCkgdHJhbnNsYXRlWSgzcHgpO1xufVxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODAwcHgpIHtcbiAgLmhlYWRlcl9faGFtYnVyZ2VyX19pbm5lci5hY3RpdmU6YWZ0ZXIge1xuICAgIHRyYW5zZm9ybTogcm90YXRlKC00NWRlZykgdHJhbnNsYXRlWCgxcHgpIHRyYW5zbGF0ZVkoNXB4KTtcbiAgfVxufVxuXG4uaGVhZGVyX19zdWJ0aXRsZSB7XG4gIHBhZGRpbmctdG9wOiBjYWxjKDAuNSAqIHZhcigtLWJhc2Utc3BhY2UpKTtcbiAgcGFkZGluZy1ib3R0b206IGNhbGMoMC41ICogdmFyKC0tYmFzZS1zcGFjZSkpO1xuICBwYWRkaW5nLXJpZ2h0OiBjYWxjKDAgKiB2YXIoLS1iYXNlLXNwYWNlKSk7XG4gIHBhZGRpbmctbGVmdDogY2FsYygwICogdmFyKC0tYmFzZS1zcGFjZSkpO1xuICBib3JkZXItdG9wOiAxcHggc29saWQgdmFyKC0tY29sb3ItdGV4dCk7XG4gIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCB2YXIoLS1jb2xvci10ZXh0KTtcbiAgZGlzcGxheTogZ3JpZDtcbiAgZ3JpZC1jb2x1bW4tZ2FwOiB2YXIoLS1tYXJnaW4tc20pO1xuICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IGNhbGMoKDEwMCUgLSB2YXIoLS1tYXJnaW4tc20pKSAvIDIpIGNhbGMoKDEwMCUgLSB2YXIoLS1tYXJnaW4tc20pICogMykgLyAyIC0gdmFyKC0taGFtYnVyZ2VyLWhlaWdodCkpIHZhcigtLWhhbWJ1cmdlci1oZWlnaHQpO1xufVxuXG4uaGVhZGVyX19zdWJ0aXRsZV9faXRlbSB7XG4gIGdyaWQtY29sdW1uOiAxLzM7XG59XG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMDUwcHgpIHtcbiAgLmhlYWRlcl9fc3VidGl0bGVfX2l0ZW0ge1xuICAgIGdyaWQtY29sdW1uOiBpbml0aWFsO1xuICB9XG59XG4uaGVhZGVyX19zdWJ0aXRsZV9faXRlbTpudGgtY2hpbGQoMSkge1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xufVxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODAwcHgpIHtcbiAgLmhlYWRlcl9fc3VidGl0bGVfX2l0ZW06bnRoLWNoaWxkKDEpIHtcbiAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICB9XG4gIC5oZWFkZXJfX3N1YnRpdGxlX19pdGVtOm50aC1jaGlsZCgxKSA+IHNwYW46Zmlyc3QtY2hpbGQge1xuICAgIG1hcmdpbi10b3A6IGNhbGMoMCAqIHZhcigtLWJhc2Utc3BhY2UpKTtcbiAgICBtYXJnaW4tYm90dG9tOiBjYWxjKDAgKiB2YXIoLS1iYXNlLXNwYWNlKSk7XG4gICAgbWFyZ2luLXJpZ2h0OiBjYWxjKDIgKiB2YXIoLS1iYXNlLXNwYWNlKSk7XG4gICAgbWFyZ2luLWxlZnQ6IGNhbGMoMCAqIHZhcigtLWJhc2Utc3BhY2UpKTtcbiAgfVxufVxuXG4uaGVhZGVyX19sYW5ndWFnZXMge1xuICBncmlkLXJvdzogMS8yO1xuICBncmlkLWNvbHVtbjogMy80O1xuICBkaXNwbGF5OiBmbGV4O1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kO1xuICBhbGlnbi1pdGVtczogZmxleC1zdGFydDtcbn1cblxuLmhlYWRlcl9fbGFuZ3VhZ2Uge1xuICBkaXNwbGF5OiBmbGV4O1xufVxuLmhlYWRlcl9fbGFuZ3VhZ2UgYSB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbn1cbi5oZWFkZXJfX2xhbmd1YWdlLmFjdGl2ZSBhOmFmdGVyIHtcbiAgY29udGVudDogXCJcIjtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBib3R0b206IDFweDtcbiAgd2lkdGg6IDEwMCU7XG4gIGJvcmRlci1ib3R0b206IDFweCBzb2xpZDtcbiAgbGVmdDogMDtcbn1cbi5oZWFkZXJfX2xhbmd1YWdlOm5vdCg6bGFzdC1jaGlsZCk6YWZ0ZXIge1xuICBjb250ZW50OiBcIiAvIFwiO1xufVxuXG4uZm9vdGVyIHtcbiAgbWFyZ2luLXRvcDogY2FsYygxMiAqIHZhcigtLWJhc2Utc3BhY2UpKTtcbiAgbWFyZ2luLWJvdHRvbTogY2FsYygwICogdmFyKC0tYmFzZS1zcGFjZSkpO1xuICBtYXJnaW4tcmlnaHQ6IGNhbGMoMCAqIHZhcigtLWJhc2Utc3BhY2UpKTtcbiAgbWFyZ2luLWxlZnQ6IGNhbGMoMCAqIHZhcigtLWJhc2Utc3BhY2UpKTtcbiAgcGFkZGluZy10b3A6IGNhbGMoMS4yICogdmFyKC0tYmFzZS1zcGFjZSkpO1xuICBwYWRkaW5nLWJvdHRvbTogY2FsYygxLjIgKiB2YXIoLS1iYXNlLXNwYWNlKSk7XG4gIHBhZGRpbmctcmlnaHQ6IGNhbGMoMS4yICogdmFyKC0tYmFzZS1zcGFjZSkpO1xuICBwYWRkaW5nLWxlZnQ6IGNhbGMoMS4yICogdmFyKC0tYmFzZS1zcGFjZSkpO1xuICBwYWRkaW5nLWJvdHRvbTogMDtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgwMHB4KSB7XG4gIC5mb290ZXIge1xuICAgIG1hcmdpbi10b3A6IGNhbGMoMjAgKiB2YXIoLS1iYXNlLXNwYWNlKSk7XG4gICAgbWFyZ2luLWJvdHRvbTogY2FsYygwICogdmFyKC0tYmFzZS1zcGFjZSkpO1xuICAgIG1hcmdpbi1yaWdodDogY2FsYygwICogdmFyKC0tYmFzZS1zcGFjZSkpO1xuICAgIG1hcmdpbi1sZWZ0OiBjYWxjKDAgKiB2YXIoLS1iYXNlLXNwYWNlKSk7XG4gICAgcGFkZGluZy10b3A6IGNhbGMoMiAqIHZhcigtLWJhc2Utc3BhY2UpKTtcbiAgICBwYWRkaW5nLWJvdHRvbTogY2FsYygyICogdmFyKC0tYmFzZS1zcGFjZSkpO1xuICAgIHBhZGRpbmctcmlnaHQ6IGNhbGMoMiAqIHZhcigtLWJhc2Utc3BhY2UpKTtcbiAgICBwYWRkaW5nLWxlZnQ6IGNhbGMoMiAqIHZhcigtLWJhc2Utc3BhY2UpKTtcbiAgICBwYWRkaW5nLWJvdHRvbTogMDtcbiAgfVxufVxuXG4uZm9vdGVyX19jb2wgLnNtYWxsIHtcbiAgZm9udC1zaXplOiB2YXIoLS1mcy1zbWFsbCk7XG4gIGxpbmUtaGVpZ2h0OiB2YXIoLS1saC1zbWFsbCk7XG4gIHBhZGRpbmctdG9wOiBjYWxjKDAuNSAqIHZhcigtLWJhc2Utc3BhY2UpKTtcbiAgcGFkZGluZy1ib3R0b206IGNhbGMoMCAqIHZhcigtLWJhc2Utc3BhY2UpKTtcbiAgcGFkZGluZy1yaWdodDogY2FsYygwICogdmFyKC0tYmFzZS1zcGFjZSkpO1xuICBwYWRkaW5nLWxlZnQ6IGNhbGMoMCAqIHZhcigtLWJhc2Utc3BhY2UpKTtcbn1cblxuLmZvb3Rlcl9fbWFycXVlZSB7XG4gIHBhZGRpbmctdG9wOiBjYWxjKDAuNSAqIHZhcigtLWJhc2Utc3BhY2UpKTtcbiAgcGFkZGluZy1ib3R0b206IGNhbGMoMCAqIHZhcigtLWJhc2Utc3BhY2UpKTtcbiAgcGFkZGluZy1yaWdodDogY2FsYygwICogdmFyKC0tYmFzZS1zcGFjZSkpO1xuICBwYWRkaW5nLWxlZnQ6IGNhbGMoMCAqIHZhcigtLWJhc2Utc3BhY2UpKTtcbiAgbWFyZ2luLXRvcDogY2FsYygwICogdmFyKC0tYmFzZS1zcGFjZSkpO1xuICBtYXJnaW4tYm90dG9tOiBjYWxjKDAuNSAqIHZhcigtLWJhc2Utc3BhY2UpKTtcbiAgbWFyZ2luLXJpZ2h0OiBjYWxjKDAgKiB2YXIoLS1iYXNlLXNwYWNlKSk7XG4gIG1hcmdpbi1sZWZ0OiBjYWxjKC0xLjIgKiB2YXIoLS1iYXNlLXNwYWNlKSk7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbn1cbi5mb290ZXJfX21hcnF1ZWU6YmVmb3JlIHtcbiAgY29udGVudDogXCJcIjtcbiAgd2lkdGg6IGNhbGMoMTAwdncgLSB2YXIoLS1tYXJnaW4tc20pICogMi40KTtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBib3JkZXItdG9wOiAxcHggc29saWQ7XG4gIGxlZnQ6IGNhbGModmFyKC0tbWFyZ2luLXNtKSAqIDEuMik7XG4gIHRvcDogMDtcbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgwMHB4KSB7XG4gIC5mb290ZXJfX21hcnF1ZWU6YmVmb3JlIHtcbiAgICB3aWR0aDogY2FsYygxMDB2dyAtIHZhcigtLW1hcmdpbi1tZCkgKiAyKTtcbiAgICBsZWZ0OiB2YXIoLS1tYXJnaW4tbWQpO1xuICB9XG59XG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MDBweCkge1xuICAuZm9vdGVyX19tYXJxdWVlIHtcbiAgICBtYXJnaW4tdG9wOiBjYWxjKDAgKiB2YXIoLS1iYXNlLXNwYWNlKSk7XG4gICAgbWFyZ2luLWJvdHRvbTogY2FsYygwLjUgKiB2YXIoLS1iYXNlLXNwYWNlKSk7XG4gICAgbWFyZ2luLXJpZ2h0OiBjYWxjKDAgKiB2YXIoLS1iYXNlLXNwYWNlKSk7XG4gICAgbWFyZ2luLWxlZnQ6IGNhbGMoLTIgKiB2YXIoLS1iYXNlLXNwYWNlKSk7XG4gIH1cbn1cblxuLmZvb3Rlcl9fbWFycXVlZV9faW5uZXIge1xuICBkaXNwbGF5OiBmbGV4O1xufVxuXG4uZm9vdGVyX19tYXJxdWVlX19pdGVtIHtcbiAgbWFyZ2luLXRvcDogY2FsYygwICogdmFyKC0tYmFzZS1zcGFjZSkpO1xuICBtYXJnaW4tYm90dG9tOiBjYWxjKDAgKiB2YXIoLS1iYXNlLXNwYWNlKSk7XG4gIG1hcmdpbi1yaWdodDogY2FsYygxLjIgKiB2YXIoLS1iYXNlLXNwYWNlKSk7XG4gIG1hcmdpbi1sZWZ0OiBjYWxjKDEuMiAqIHZhcigtLWJhc2Utc3BhY2UpKTtcbiAgZGlzcGxheTogZmxleDtcbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgwMHB4KSB7XG4gIC5mb290ZXJfX21hcnF1ZWVfX2l0ZW0ge1xuICAgIG1hcmdpbi10b3A6IGNhbGMoMCAqIHZhcigtLWJhc2Utc3BhY2UpKTtcbiAgICBtYXJnaW4tYm90dG9tOiBjYWxjKDAgKiB2YXIoLS1iYXNlLXNwYWNlKSk7XG4gICAgbWFyZ2luLXJpZ2h0OiBjYWxjKDIgKiB2YXIoLS1iYXNlLXNwYWNlKSk7XG4gICAgbWFyZ2luLWxlZnQ6IGNhbGMoMiAqIHZhcigtLWJhc2Utc3BhY2UpKTtcbiAgfVxufVxuLmZvb3Rlcl9fbWFycXVlZV9faXRlbSA+IGRpdiB7XG4gIHdpZHRoOiBjYWxjKDEwMHZ3IC0gdmFyKC0tbWFyZ2luLXNtKSAqIDIuNCk7XG59XG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MDBweCkge1xuICAuZm9vdGVyX19tYXJxdWVlX19pdGVtID4gZGl2IHtcbiAgICB3aWR0aDogY2FsYygxMDB2dyAtIHZhcigtLW1hcmdpbi1zbSkgKiA0KTtcbiAgfVxufVxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTA1MHB4KSB7XG4gIC5mb290ZXJfX21hcnF1ZWVfX2l0ZW0gPiBkaXYge1xuICAgIHdpZHRoOiBjYWxjKCgxMDB2dyAtIHZhcigtLW1hcmdpbi1zbSkgKiAxMSkgLyAyKTtcbiAgfVxufVxuXG4uZm9vdGVyX19saW5lIHtcbiAgZGlzcGxheTogZ3JpZDtcbiAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoMSwgbWlubWF4KDAsIDFmcikpO1xuICBncmlkLWNvbHVtbi1nYXA6IHZhcigtLW1hcmdpbi1zbSk7XG4gIHBhZGRpbmctdG9wOiBjYWxjKDAuNSAqIHZhcigtLWJhc2Utc3BhY2UpKTtcbiAgcGFkZGluZy1ib3R0b206IGNhbGMoMC41ICogdmFyKC0tYmFzZS1zcGFjZSkpO1xuICBwYWRkaW5nLXJpZ2h0OiBjYWxjKDAgKiB2YXIoLS1iYXNlLXNwYWNlKSk7XG4gIHBhZGRpbmctbGVmdDogY2FsYygwICogdmFyKC0tYmFzZS1zcGFjZSkpO1xuICBib3JkZXItdG9wOiAxcHggc29saWQgdmFyKC0tY29sb3ItdGV4dCk7XG4gIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCB2YXIoLS1jb2xvci10ZXh0KTtcbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDEwNTBweCkge1xuICAuZm9vdGVyX19saW5lIHtcbiAgICBkaXNwbGF5OiBncmlkO1xuICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KDIsIG1pbm1heCgwLCAxZnIpKTtcbiAgICBncmlkLWNvbHVtbi1nYXA6IHZhcigtLW1hcmdpbi1zbSk7XG4gIH1cbn1cbi5mb290ZXJfX2xpbmU6bm90KDpmaXJzdC1jaGlsZCkge1xuICBtYXJnaW4tdG9wOiAtMXB4O1xufVxuLmZvb3Rlcl9fbGluZS0tcGFydG5lcnMge1xuICBib3JkZXItYm90dG9tOiAwO1xuICBkaXNwbGF5OiBncmlkO1xuICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdCgyLCBtaW5tYXgoMCwgMWZyKSk7XG4gIGdyaWQtY29sdW1uLWdhcDogdmFyKC0tbWFyZ2luLXNtKTtcbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDEwNTBweCkge1xuICAuZm9vdGVyX19saW5lLS1wYXJ0bmVycyB7XG4gICAgZGlzcGxheTogZ3JpZDtcbiAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdCgyLCBtaW5tYXgoMCwgMWZyKSk7XG4gICAgZ3JpZC1jb2x1bW4tZ2FwOiB2YXIoLS1tYXJnaW4tc20pO1xuICB9XG59XG5cbi5mb290ZXJfX3BhcnRuZXJzIHtcbiAgZGlzcGxheTogZ3JpZDtcbiAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoMSwgbWlubWF4KDAsIDFmcikpO1xuICBncmlkLWNvbHVtbi1nYXA6IHZhcigtLW1hcmdpbi1zbSk7XG4gIGJvcmRlci10b3A6IDFweCBzb2xpZCB2YXIoLS1jb2xvci10ZXh0KTtcbiAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIHZhcigtLWNvbG9yLXRleHQpO1xufVxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTA1MHB4KSB7XG4gIC5mb290ZXJfX3BhcnRuZXJzIHtcbiAgICBkaXNwbGF5OiBncmlkO1xuICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KDIsIG1pbm1heCgwLCAxZnIpKTtcbiAgICBncmlkLWNvbHVtbi1nYXA6IHZhcigtLW1hcmdpbi1zbSk7XG4gIH1cbn1cbi5mb290ZXJfX3BhcnRuZXJzOm5vdCg6Zmlyc3QtY2hpbGQpIHtcbiAgbWFyZ2luLXRvcDogLTFweDtcbn1cblxuLmZvb3Rlcl9fcGFydG5lcnNfX2NvbCB7XG4gIHBhZGRpbmctdG9wOiBjYWxjKDAuNSAqIHZhcigtLWJhc2Utc3BhY2UpKTtcbiAgcGFkZGluZy1ib3R0b206IGNhbGMoMC41ICogdmFyKC0tYmFzZS1zcGFjZSkpO1xuICBwYWRkaW5nLXJpZ2h0OiBjYWxjKDAgKiB2YXIoLS1iYXNlLXNwYWNlKSk7XG4gIHBhZGRpbmctbGVmdDogY2FsYygwICogdmFyKC0tYmFzZS1zcGFjZSkpO1xufVxuLmZvb3Rlcl9fcGFydG5lcnNfX2NvbDpub3QoOmxhc3QtY2hpbGQpIHtcbiAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIHZhcigtLWNvbG9yLXRleHQpO1xufVxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTA1MHB4KSB7XG4gIC5mb290ZXJfX3BhcnRuZXJzX19jb2w6bm90KDpsYXN0LWNoaWxkKSB7XG4gICAgYm9yZGVyLWJvdHRvbTogMDtcbiAgfVxufVxuLmZvb3Rlcl9fcGFydG5lcnNfX2NvbDpmaXJzdC1jaGlsZDpsYXN0LWNoaWxkIHtcbiAgZ3JpZC1jb2x1bW46IDEvLTE7XG59XG5cbi5mb290ZXJfX3BhcnRuZXJzX19sb2dvdHlwZXMge1xuICBwYWRkaW5nLXRvcDogY2FsYygxICogdmFyKC0tYmFzZS1zcGFjZSkpO1xuICBwYWRkaW5nLWJvdHRvbTogY2FsYygwICogdmFyKC0tYmFzZS1zcGFjZSkpO1xuICBwYWRkaW5nLXJpZ2h0OiBjYWxjKDAgKiB2YXIoLS1iYXNlLXNwYWNlKSk7XG4gIHBhZGRpbmctbGVmdDogY2FsYygwICogdmFyKC0tYmFzZS1zcGFjZSkpO1xuICBkaXNwbGF5OiBncmlkO1xuICBncmlkLXJvdy1nYXA6IHZhcigtLW1hcmdpbi1tZCk7XG4gIGdyaWQtY29sdW1uLWdhcDogdmFyKC0tbWFyZ2luLW1kKTtcbiAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoYXV0by1maXQsIG1pbm1heCgxMDBweCwgMTYwcHgpKTtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDEwNTBweCkge1xuICAuZm9vdGVyX19wYXJ0bmVyc19fbG9nb3R5cGVzIHtcbiAgICBwYWRkaW5nLXRvcDogY2FsYygxICogdmFyKC0tYmFzZS1zcGFjZSkpO1xuICAgIHBhZGRpbmctYm90dG9tOiBjYWxjKDAgKiB2YXIoLS1iYXNlLXNwYWNlKSk7XG4gICAgcGFkZGluZy1yaWdodDogY2FsYygwICogdmFyKC0tYmFzZS1zcGFjZSkpO1xuICAgIHBhZGRpbmctbGVmdDogY2FsYygwICogdmFyKC0tYmFzZS1zcGFjZSkpO1xuICAgIGdyaWQtY29sdW1uLWdhcDogdmFyKC0tbWFyZ2luLWxnKTtcbiAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdChhdXRvLWZpdCwgbWlubWF4KDIwMHB4LCAyNTBweCkpO1xuICB9XG59XG5cbi5mb290ZXJfX25ld3NsZXR0ZXIge1xuICBmb250LXNpemU6IHZhcigtLWZzLWgxKTtcbiAgbGluZS1oZWlnaHQ6IHZhcigtLWxoLWgxKTtcbiAgbGV0dGVyLXNwYWNpbmc6IC0wLjAyNWVtO1xuICB3b3JkLXNwYWNpbmc6IC0wLjAyNWVtO1xuICBtYXJnaW4tdG9wOiBjYWxjKDAuNSAqIHZhcigtLWJhc2Utc3BhY2UpKTtcbiAgbWFyZ2luLWJvdHRvbTogY2FsYygwICogdmFyKC0tYmFzZS1zcGFjZSkpO1xuICBtYXJnaW4tcmlnaHQ6IGNhbGMoMCAqIHZhcigtLWJhc2Utc3BhY2UpKTtcbiAgbWFyZ2luLWxlZnQ6IGNhbGMoMCAqIHZhcigtLWJhc2Utc3BhY2UpKTtcbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDEwNTBweCkge1xuICAuZm9vdGVyX19uZXdzbGV0dGVyIHtcbiAgICBtYXJnaW46IDA7XG4gIH1cbn1cblxuLmZvb3Rlcl9fbmV3c2xldHRlcl9fZm9ybSB7XG4gIHBhZGRpbmctdG9wOiBjYWxjKDAuNCAqIHZhcigtLWJhc2Utc3BhY2UpKTtcbiAgcGFkZGluZy1ib3R0b206IGNhbGMoMC40ICogdmFyKC0tYmFzZS1zcGFjZSkpO1xuICBwYWRkaW5nLXJpZ2h0OiBjYWxjKDAgKiB2YXIoLS1iYXNlLXNwYWNlKSk7XG4gIHBhZGRpbmctbGVmdDogY2FsYygwICogdmFyKC0tYmFzZS1zcGFjZSkpO1xuICBkaXNwbGF5OiBncmlkO1xuICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdCgxLCBtaW5tYXgoMCwgMWZyKSk7XG4gIGdyaWQtY29sdW1uLWdhcDogdmFyKC0tbWFyZ2luLXNtKTtcbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDEwNTBweCkge1xuICAuZm9vdGVyX19uZXdzbGV0dGVyX19mb3JtIHtcbiAgICBkaXNwbGF5OiBncmlkO1xuICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KDIsIG1pbm1heCgwLCAxZnIpKTtcbiAgICBncmlkLWNvbHVtbi1nYXA6IHZhcigtLW1hcmdpbi1zbSk7XG4gIH1cbn1cbi5mb290ZXJfX25ld3NsZXR0ZXJfX2Zvcm0gPiBkaXYge1xuICBoZWlnaHQ6IHZhcigtLWxoLWgxKTtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbn1cbi5mb290ZXJfX25ld3NsZXR0ZXJfX2Zvcm0uaGlkZGVuIHtcbiAgZGlzcGxheTogbm9uZTtcbn1cblxuLmZvb3Rlcl9fbmV3c2xldHRlcl9fc3VjY2VzcyB7XG4gIHBhZGRpbmctdG9wOiBjYWxjKDAgKiB2YXIoLS1iYXNlLXNwYWNlKSk7XG4gIHBhZGRpbmctYm90dG9tOiBjYWxjKDEgKiB2YXIoLS1iYXNlLXNwYWNlKSk7XG4gIHBhZGRpbmctcmlnaHQ6IGNhbGMoMCAqIHZhcigtLWJhc2Utc3BhY2UpKTtcbiAgcGFkZGluZy1sZWZ0OiBjYWxjKDAgKiB2YXIoLS1iYXNlLXNwYWNlKSk7XG59XG4uZm9vdGVyX19uZXdzbGV0dGVyX19zdWNjZXNzLmhpZGRlbiB7XG4gIGRpc3BsYXk6IG5vbmU7XG59XG5cbi5mb290ZXJfX25ld3NsZXR0ZXJfX2lucHV0IHtcbiAgYWxsOiB1bnNldDtcbiAgcGFkZGluZzogMDtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC02cHgpO1xufVxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODAwcHgpIHtcbiAgLmZvb3Rlcl9fbmV3c2xldHRlcl9faW5wdXQge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMTJweCk7XG4gIH1cbn1cbi5mb290ZXJfX25ld3NsZXR0ZXJfX2lucHV0Ojotd2Via2l0LWlucHV0LXBsYWNlaG9sZGVyIHtcbiAgY29sb3I6IHZhcigtLWNvbG9yLWdyZXkpO1xufVxuLmZvb3Rlcl9fbmV3c2xldHRlcl9faW5wdXQ6Oi1tcy1pbnB1dC1wbGFjZWhvbGRlciB7XG4gIGNvbG9yOiB2YXIoLS1jb2xvci1ncmV5KTtcbn1cbi5mb290ZXJfX25ld3NsZXR0ZXJfX2lucHV0OjpwbGFjZWhvbGRlciB7XG4gIGNvbG9yOiB2YXIoLS1jb2xvci1ncmV5KTtcbn1cblxuLmZvb3Rlcl9fbmV3c2xldHRlcl9fYnV0dG9uIHtcbiAgYWxsOiB1bnNldDtcbiAgcGFkZGluZzogMDtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICBtYXJnaW4tdG9wOiAtNHB4O1xufVxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTA1MHB4KSB7XG4gIC5mb290ZXJfX25ld3NsZXR0ZXJfX2J1dHRvbiB7XG4gICAgbWFyZ2luOiAwO1xuICB9XG59XG5cbi5mb290ZXJfX2xvZ290eXBlcyB7XG4gIG1hcmdpbi10b3A6IGNhbGMoMC42ICogdmFyKC0tYmFzZS1zcGFjZSkpO1xuICBtYXJnaW4tYm90dG9tOiBjYWxjKDAgKiB2YXIoLS1iYXNlLXNwYWNlKSk7XG4gIG1hcmdpbi1yaWdodDogY2FsYygtMS4yICogdmFyKC0tYmFzZS1zcGFjZSkpO1xuICBtYXJnaW4tbGVmdDogY2FsYygtMS4yICogdmFyKC0tYmFzZS1zcGFjZSkpO1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgxMXB4KTtcbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgwMHB4KSB7XG4gIC5mb290ZXJfX2xvZ290eXBlcyB7XG4gICAgbWFyZ2luLXRvcDogY2FsYygwICogdmFyKC0tYmFzZS1zcGFjZSkpO1xuICAgIG1hcmdpbi1ib3R0b206IGNhbGMoMCAqIHZhcigtLWJhc2Utc3BhY2UpKTtcbiAgICBtYXJnaW4tcmlnaHQ6IGNhbGMoLTIgKiB2YXIoLS1iYXNlLXNwYWNlKSk7XG4gICAgbWFyZ2luLWxlZnQ6IGNhbGMoLTIgKiB2YXIoLS1iYXNlLXNwYWNlKSk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDE5cHgpO1xuICB9XG59XG4uZm9vdGVyX19sb2dvdHlwZXM6YWZ0ZXIge1xuICBjb250ZW50OiBcIlwiO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGhlaWdodDogMTAwJTtcbiAgd2lkdGg6IGNhbGModmFyKC0taGFtYnVyZ2VyLWhlaWdodCkgKyB2YXIoLS1tYXJnaW4tc20pICogMi40KTtcbiAgcmlnaHQ6IDA7XG4gIHRvcDogMDtcbiAgYmFja2dyb3VuZC1jb2xvcjogd2hpdGU7XG59XG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MDBweCkge1xuICAuZm9vdGVyX19sb2dvdHlwZXM6YWZ0ZXIge1xuICAgIHdpZHRoOiBjYWxjKHZhcigtLWhhbWJ1cmdlci1oZWlnaHQpICsgdmFyKC0tbWFyZ2luLXNtKSAqIDQpO1xuICB9XG59XG5cbi5mb290ZXJfX2xvZ290eXBlc19faW5uZXIge1xuICBkaXNwbGF5OiBmbGV4O1xufVxuXG4uZm9vdGVyX19sb2dvdHlwZXNfX2l0ZW0ge1xuICBtYXJnaW4tdG9wOiBjYWxjKDAgKiB2YXIoLS1iYXNlLXNwYWNlKSk7XG4gIG1hcmdpbi1ib3R0b206IGNhbGMoMCAqIHZhcigtLWJhc2Utc3BhY2UpKTtcbiAgbWFyZ2luLXJpZ2h0OiBjYWxjKDEuMiAqIHZhcigtLWJhc2Utc3BhY2UpKTtcbiAgbWFyZ2luLWxlZnQ6IGNhbGMoMS4yICogdmFyKC0tYmFzZS1zcGFjZSkpO1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xufVxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODAwcHgpIHtcbiAgLmZvb3Rlcl9fbG9nb3R5cGVzX19pdGVtIHtcbiAgICBtYXJnaW4tdG9wOiBjYWxjKDAgKiB2YXIoLS1iYXNlLXNwYWNlKSk7XG4gICAgbWFyZ2luLWJvdHRvbTogY2FsYygwICogdmFyKC0tYmFzZS1zcGFjZSkpO1xuICAgIG1hcmdpbi1yaWdodDogY2FsYygyICogdmFyKC0tYmFzZS1zcGFjZSkpO1xuICAgIG1hcmdpbi1sZWZ0OiBjYWxjKDIgKiB2YXIoLS1iYXNlLXNwYWNlKSk7XG4gIH1cbn1cbi5mb290ZXJfX2xvZ290eXBlc19faXRlbSA+IGRpdiB7XG4gIHdpZHRoOiBjYWxjKDEwMHZ3IC0gdmFyKC0tbWFyZ2luLXNtKSAqIDIuNCk7XG4gIGRpc3BsYXk6IGZsZXg7XG59XG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MDBweCkge1xuICAuZm9vdGVyX19sb2dvdHlwZXNfX2l0ZW0gPiBkaXYge1xuICAgIHdpZHRoOiBjYWxjKDEwMHZ3IC0gdmFyKC0tbWFyZ2luLWxnKSk7XG4gIH1cbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDEwNTBweCkge1xuICAuZm9vdGVyX19sb2dvdHlwZXNfX2l0ZW0gPiBkaXYge1xuICAgIHdpZHRoOiBjYWxjKCgxMDB2dyAtIHZhcigtLWhhbWJ1cmdlci1oZWlnaHQpIC0gdmFyKC0tbWFyZ2luLXNtKSAqIDYpIC8gMik7XG4gIH1cbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDEzMjBweCkge1xuICAuZm9vdGVyX19sb2dvdHlwZXNfX2l0ZW0gPiBkaXYge1xuICAgIHdpZHRoOiBjYWxjKHZhcigtLWxvZ290eXBlLXdpZHRoKSArICgxMDB2dyAtIHZhcigtLWhhbWJ1cmdlci1oZWlnaHQpIC0gdmFyKC0tbWFyZ2luLXNtKSAqIDE2IC0gdmFyKC0tbG9nb3R5cGUtd2lkdGgpICogMykgLyAyKTtcbiAgfVxufVxuLmZvb3Rlcl9fbG9nb3R5cGVzX19pdGVtID4gZGl2ID4gYSB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbn1cbi5mb290ZXJfX2xvZ290eXBlc19faXRlbSA+IGRpdjpub3QoOmZpcnN0LWNoaWxkKSB7XG4gIG1hcmdpbi10b3A6IC0xMHB4O1xufVxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODAwcHgpIHtcbiAgLmZvb3Rlcl9fbG9nb3R5cGVzX19pdGVtID4gZGl2Om5vdCg6Zmlyc3QtY2hpbGQpIHtcbiAgICBtYXJnaW4tdG9wOiAtMThweDtcbiAgfVxufVxuLmZvb3Rlcl9fbG9nb3R5cGVzX19pdGVtID4gZGl2IHN2ZyB7XG4gIGhlaWdodDogY2FsYyh2YXIoLS1oYW1idXJnZXItaGVpZ2h0KSAqIHZhcigtLWxvZ290eXBlLWZ1bGwtcmF0aW8pIC8gdmFyKC0tbG9nb3R5cGUtcmF0aW8pKTtcbn1cblxuLmJsb2NrcyB7XG4gIGRpc3BsYXk6IGdyaWQ7XG4gIGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KDEsIG1pbm1heCgwLCAxZnIpKTtcbiAgZ3JpZC1jb2x1bW4tZ2FwOiB2YXIoLS1tYXJnaW4tc20pO1xuICBwYWRkaW5nLXRvcDogY2FsYygwICogdmFyKC0tYmFzZS1zcGFjZSkpO1xuICBwYWRkaW5nLWJvdHRvbTogY2FsYygwICogdmFyKC0tYmFzZS1zcGFjZSkpO1xuICBwYWRkaW5nLXJpZ2h0OiBjYWxjKDEuMiAqIHZhcigtLWJhc2Utc3BhY2UpKTtcbiAgcGFkZGluZy1sZWZ0OiBjYWxjKDEuMiAqIHZhcigtLWJhc2Utc3BhY2UpKTtcbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgwMHB4KSB7XG4gIC5ibG9ja3Mge1xuICAgIHBhZGRpbmctdG9wOiBjYWxjKDAgKiB2YXIoLS1iYXNlLXNwYWNlKSk7XG4gICAgcGFkZGluZy1ib3R0b206IGNhbGMoMCAqIHZhcigtLWJhc2Utc3BhY2UpKTtcbiAgICBwYWRkaW5nLXJpZ2h0OiBjYWxjKDIgKiB2YXIoLS1iYXNlLXNwYWNlKSk7XG4gICAgcGFkZGluZy1sZWZ0OiBjYWxjKDIgKiB2YXIoLS1iYXNlLXNwYWNlKSk7XG4gIH1cbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDEwNTBweCkge1xuICAuYmxvY2tzIHtcbiAgICBkaXNwbGF5OiBncmlkO1xuICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KDIsIG1pbm1heCgwLCAxZnIpKTtcbiAgICBncmlkLWNvbHVtbi1nYXA6IHZhcigtLW1hcmdpbi1zbSk7XG4gIH1cbn1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTA1MHB4KSB7XG4gIC5oZWFkbGluZSB7XG4gICAgZ3JpZC1jb2x1bW46IHNwYW4gMjtcbiAgfVxufVxuLmhlYWRsaW5lLS1tZWRpdW06bm90KDpmaXJzdC1jaGlsZCkge1xuICBtYXJnaW4tdG9wOiBjYWxjKDYgKiB2YXIoLS1iYXNlLXNwYWNlKSk7XG4gIG1hcmdpbi1ib3R0b206IGNhbGMoMCAqIHZhcigtLWJhc2Utc3BhY2UpKTtcbiAgbWFyZ2luLXJpZ2h0OiBjYWxjKDAgKiB2YXIoLS1iYXNlLXNwYWNlKSk7XG4gIG1hcmdpbi1sZWZ0OiBjYWxjKDAgKiB2YXIoLS1iYXNlLXNwYWNlKSk7XG59XG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MDBweCkge1xuICAuaGVhZGxpbmUtLW1lZGl1bTpub3QoOmZpcnN0LWNoaWxkKSB7XG4gICAgbWFyZ2luLXRvcDogY2FsYygxMCAqIHZhcigtLWJhc2Utc3BhY2UpKTtcbiAgICBtYXJnaW4tYm90dG9tOiBjYWxjKDAgKiB2YXIoLS1iYXNlLXNwYWNlKSk7XG4gICAgbWFyZ2luLXJpZ2h0OiBjYWxjKDAgKiB2YXIoLS1iYXNlLXNwYWNlKSk7XG4gICAgbWFyZ2luLWxlZnQ6IGNhbGMoMCAqIHZhcigtLWJhc2Utc3BhY2UpKTtcbiAgfVxufVxuLmhlYWRsaW5lLS1iaWc6bm90KDpmaXJzdC1jaGlsZCkge1xuICBtYXJnaW4tdG9wOiBjYWxjKDEyICogdmFyKC0tYmFzZS1zcGFjZSkpO1xuICBtYXJnaW4tYm90dG9tOiBjYWxjKDAgKiB2YXIoLS1iYXNlLXNwYWNlKSk7XG4gIG1hcmdpbi1yaWdodDogY2FsYygwICogdmFyKC0tYmFzZS1zcGFjZSkpO1xuICBtYXJnaW4tbGVmdDogY2FsYygwICogdmFyKC0tYmFzZS1zcGFjZSkpO1xufVxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODAwcHgpIHtcbiAgLmhlYWRsaW5lLS1iaWc6bm90KDpmaXJzdC1jaGlsZCkge1xuICAgIG1hcmdpbi10b3A6IGNhbGMoMjAgKiB2YXIoLS1iYXNlLXNwYWNlKSk7XG4gICAgbWFyZ2luLWJvdHRvbTogY2FsYygwICogdmFyKC0tYmFzZS1zcGFjZSkpO1xuICAgIG1hcmdpbi1yaWdodDogY2FsYygwICogdmFyKC0tYmFzZS1zcGFjZSkpO1xuICAgIG1hcmdpbi1sZWZ0OiBjYWxjKDAgKiB2YXIoLS1iYXNlLXNwYWNlKSk7XG4gIH1cbn1cblxuLmhlYWRsaW5lX19pbm5lciB7XG4gIGZvbnQtc2l6ZTogdmFyKC0tZnMtaDEpO1xuICBsaW5lLWhlaWdodDogdmFyKC0tbGgtaDEpO1xuICBsZXR0ZXItc3BhY2luZzogLTAuMDI1ZW07XG4gIHdvcmQtc3BhY2luZzogLTAuMDI1ZW07XG59XG5cbi50ZXh0Om5vdCg6Zmlyc3QtY2hpbGQpIHtcbiAgbWFyZ2luLXRvcDogdmFyKC0tbWFyZ2luLXNtKTtcbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDEwNTBweCkge1xuICAudGV4dC0tZnVsbCB7XG4gICAgZ3JpZC1jb2x1bW46IHNwYW4gMjtcbiAgfVxufVxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTA1MHB4KSB7XG4gIC50ZXh0LS1oYWxmOm5vdCg6Zmlyc3QtY2hpbGQpIHtcbiAgICBtYXJnaW4tdG9wOiAwO1xuICB9XG59XG4ubG9nb3R5cGVzICsgLnRleHQge1xuICBtYXJnaW4tdG9wOiBjYWxjKDYgKiB2YXIoLS1iYXNlLXNwYWNlKSk7XG4gIG1hcmdpbi1ib3R0b206IGNhbGMoMCAqIHZhcigtLWJhc2Utc3BhY2UpKTtcbiAgbWFyZ2luLXJpZ2h0OiBjYWxjKDAgKiB2YXIoLS1iYXNlLXNwYWNlKSk7XG4gIG1hcmdpbi1sZWZ0OiBjYWxjKDAgKiB2YXIoLS1iYXNlLXNwYWNlKSk7XG59XG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MDBweCkge1xuICAubG9nb3R5cGVzICsgLnRleHQge1xuICAgIG1hcmdpbi10b3A6IGNhbGMoMTAgKiB2YXIoLS1iYXNlLXNwYWNlKSk7XG4gICAgbWFyZ2luLWJvdHRvbTogY2FsYygwICogdmFyKC0tYmFzZS1zcGFjZSkpO1xuICAgIG1hcmdpbi1yaWdodDogY2FsYygwICogdmFyKC0tYmFzZS1zcGFjZSkpO1xuICAgIG1hcmdpbi1sZWZ0OiBjYWxjKDAgKiB2YXIoLS1iYXNlLXNwYWNlKSk7XG4gICAgcGFkZGluZy10b3A6IGNhbGModmFyKC0tbGgtbWFpbikgKyB2YXIoLS1tYXJnaW4tc20pKTtcbiAgfVxufVxuXG4udGV4dF9fdGl0bGUge1xuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAtd2Via2l0LWZvbnQtZmVhdHVyZS1zZXR0aW5nczogXCJjYXNlXCIgMTtcbiAgZm9udC1mZWF0dXJlLXNldHRpbmdzOiBcImNhc2VcIiAxO1xufVxuXG4udGV4dF9faW5uZXIgcDpub3QoOmxhc3QtY2hpbGQpIHtcbiAgbWFyZ2luLWJvdHRvbTogdmFyKC0tbGgtbWFpbik7XG59XG4udGV4dF9faW5uZXIgaSxcbi50ZXh0X19pbm5lciBlbSB7XG4gIGZvbnQtZmFtaWx5OiBOSGFhc0dyb3Rlc2tUWFByby01Nkl0LCBIZWx2ZXRpY2EgTmV1ZSwgSGVsdmV0aWNhLCBBcmlhbCwgTHVjaWRhIEdyYW5kZSwgc2Fucy1zZXJpZjtcbn1cbi50ZXh0X19pbm5lciBociB7XG4gIG1hcmdpbjogM3B4IDA7XG4gIGJvcmRlcjogbm9uZTtcbiAgaGVpZ2h0OiAxcHg7XG4gIC13ZWJraXQtY29sdW1uLXNwYW46IGFsbDtcbiAgY29sdW1uLXNwYW46IGFsbDtcbiAgY29sb3I6IHZhcigtLWNvbG9yLXRleHQpO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jb2xvci10ZXh0KTtcbn1cbi50ZXh0X19pbm5lciBwICsgaHIge1xuICBtYXJnaW4tdG9wOiBjYWxjKHZhcigtLWxoLW1haW4pICogLTEgKyAzcHgpO1xufVxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTA1MHB4KSB7XG4gIC50ZXh0X19pbm5lciBwICsgaHIge1xuICAgIG1hcmdpbi10b3A6IDNweDtcbiAgfVxufVxuLnRleHRfX2lubmVyIGEge1xuICAtd2Via2l0LWh5cGhlbnM6IG5vbmU7XG4gIC1tcy1oeXBoZW5zOiBub25lO1xuICBoeXBoZW5zOiBub25lO1xufVxuLnRleHRfX2lubmVyIGZpZ3VyZSB7XG4gIHBhZGRpbmctdG9wOiBjYWxjKDEgKiB2YXIoLS1iYXNlLXNwYWNlKSk7XG4gIHBhZGRpbmctYm90dG9tOiBjYWxjKDAgKiB2YXIoLS1iYXNlLXNwYWNlKSk7XG4gIHBhZGRpbmctcmlnaHQ6IGNhbGMoMCAqIHZhcigtLWJhc2Utc3BhY2UpKTtcbiAgcGFkZGluZy1sZWZ0OiBjYWxjKDAgKiB2YXIoLS1iYXNlLXNwYWNlKSk7XG4gIGRpc3BsYXk6IGZsZXg7XG59XG4udGV4dF9faW5uZXIgZmlndXJlLmJvcmRlciB7XG4gIHBhZGRpbmc6IDA7XG4gIGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLWNvbG9yLXRleHQpO1xufVxuLnRleHRfX2lubmVyIHNtYWxsIHtcbiAgZm9udC1zaXplOiB2YXIoLS1mcy1zbWFsbCk7XG4gIGxpbmUtaGVpZ2h0OiB2YXIoLS1saC1zbWFsbCk7XG59XG4udGV4dF9faW5uZXIgLnRleHRfX2dyaWQge1xuICBkaXNwbGF5OiBncmlkO1xuICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdCgyLCBtaW5tYXgoMCwgMWZyKSk7XG4gIGdyaWQtY29sdW1uLWdhcDogdmFyKC0tbWFyZ2luLXNtKTtcbn1cblxuLmltYWdlIHtcbiAgZGlzcGxheTogZ3JpZDtcbiAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoMTIsIG1pbm1heCgwLCAxZnIpKTtcbiAgZ3JpZC1jb2x1bW4tZ2FwOiB2YXIoLS1tYXJnaW4tc20pO1xufVxuLmltYWdlOm5vdCg6Zmlyc3QtY2hpbGQpOm5vdCguaW1hZ2UtLWhhbGYpIHtcbiAgbWFyZ2luLXRvcDogdmFyKC0tbWFyZ2luLXNtKTtcbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDEwNTBweCkge1xuICAuaW1hZ2UtLWZ1bGwge1xuICAgIGdyaWQtY29sdW1uOiBzcGFuIDI7XG4gIH1cbn1cblxuLmltYWdlX19pbm5lciB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG59XG4uaW1hZ2VfX2lubmVyLS1sYW5kc2NhcGUge1xuICBncmlkLWNvbHVtbjogMS8tMTtcbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDEwNTBweCkge1xuICAuaW1hZ2VfX2lubmVyLS1sYW5kc2NhcGUge1xuICAgIGdyaWQtY29sdW1uOiAxL3NwYW4gOTtcbiAgfVxufVxuLmltYWdlX19pbm5lci0tcG9ydHJhaXQge1xuICBncmlkLWNvbHVtbjogMS9zcGFuIDg7XG59XG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMDUwcHgpIHtcbiAgLmltYWdlX19pbm5lci0tcG9ydHJhaXQge1xuICAgIGdyaWQtY29sdW1uOiAxL3NwYW4gNDtcbiAgfVxufVxuLmltYWdlX19pbm5lci0tc3F1YXJlIHtcbiAgZ3JpZC1jb2x1bW46IDEvLTE7XG59XG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMDUwcHgpIHtcbiAgLmltYWdlX19pbm5lci0tc3F1YXJlIHtcbiAgICBncmlkLWNvbHVtbjogMS9zcGFuIDY7XG4gIH1cbn1cblxuLnNsaWRlc2hvdyB7XG4gIG1hcmdpbi10b3A6IGNhbGMoMCAqIHZhcigtLWJhc2Utc3BhY2UpKTtcbiAgbWFyZ2luLWJvdHRvbTogY2FsYygwICogdmFyKC0tYmFzZS1zcGFjZSkpO1xuICBtYXJnaW4tcmlnaHQ6IGNhbGMoLTEuMiAqIHZhcigtLWJhc2Utc3BhY2UpKTtcbiAgbWFyZ2luLWxlZnQ6IGNhbGMoLTEuMiAqIHZhcigtLWJhc2Utc3BhY2UpKTtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICBsaXN0LXN0eWxlOiBub25lO1xuICB6LWluZGV4OiAxO1xuICB0b3VjaC1hY3Rpb246IHBhbi15O1xufVxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODAwcHgpIHtcbiAgLnNsaWRlc2hvdyB7XG4gICAgbWFyZ2luLXRvcDogY2FsYygwICogdmFyKC0tYmFzZS1zcGFjZSkpO1xuICAgIG1hcmdpbi1ib3R0b206IGNhbGMoMCAqIHZhcigtLWJhc2Utc3BhY2UpKTtcbiAgICBtYXJnaW4tcmlnaHQ6IGNhbGMoLTIgKiB2YXIoLS1iYXNlLXNwYWNlKSk7XG4gICAgbWFyZ2luLWxlZnQ6IGNhbGMoLTIgKiB2YXIoLS1iYXNlLXNwYWNlKSk7XG4gIH1cbn1cbi5zbGlkZXNob3c6bm90KDpmaXJzdC1jaGlsZCkge1xuICBtYXJnaW4tdG9wOiB2YXIoLS1tYXJnaW4tc20pO1xufVxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTA1MHB4KSB7XG4gIC5zbGlkZXNob3ctLWZ1bGwge1xuICAgIGdyaWQtY29sdW1uOiBzcGFuIDI7XG4gIH1cbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDEwNTBweCkge1xuICAuc2xpZGVzaG93LS1oYWxmIHtcbiAgICBtYXJnaW4tdG9wOiBjYWxjKDAgKiB2YXIoLS1iYXNlLXNwYWNlKSk7XG4gICAgbWFyZ2luLWJvdHRvbTogY2FsYygwICogdmFyKC0tYmFzZS1zcGFjZSkpO1xuICAgIG1hcmdpbi1yaWdodDogY2FsYygwICogdmFyKC0tYmFzZS1zcGFjZSkpO1xuICAgIG1hcmdpbi1sZWZ0OiBjYWxjKC0yICogdmFyKC0tYmFzZS1zcGFjZSkpO1xuICB9XG59XG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMDUwcHgpIHtcbiAgLnNsaWRlc2hvdy0taGFsZjpub3QoOmZpcnN0LWNoaWxkKSB7XG4gICAgbWFyZ2luLXRvcDogMDtcbiAgfVxufVxuXG4uc2xpZGVzaG93X193cmFwcGVyIHtcbiAgb3V0bGluZTogbm9uZTtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBkaXNwbGF5OiBmbGV4O1xuICBhbGlnbi1pdGVtczogZmxleC1zdGFydDtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogMTAwJTtcbiAgei1pbmRleDogMTtcbiAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogdHJhbnNmb3JtO1xuICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuNywgMCwgMC4zLCAxKTtcbiAgYm94LXNpemluZzogY29udGVudC1ib3g7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMHB4LCAwLCAwKTtcbn1cblxuLnNsaWRlc2hvd19fc2xpZGUge1xuICBwYWRkaW5nLXRvcDogY2FsYygwICogdmFyKC0tYmFzZS1zcGFjZSkpO1xuICBwYWRkaW5nLWJvdHRvbTogY2FsYygwICogdmFyKC0tYmFzZS1zcGFjZSkpO1xuICBwYWRkaW5nLXJpZ2h0OiBjYWxjKDEuMiAqIHZhcigtLWJhc2Utc3BhY2UpKTtcbiAgcGFkZGluZy1sZWZ0OiBjYWxjKDEuMiAqIHZhcigtLWJhc2Utc3BhY2UpKTtcbiAgd2lkdGg6IDEwMCU7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIGZsZXg6IG5vbmU7XG4gIGZsb2F0OiBsZWZ0O1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDBweCwgMCwgMCk7XG4gIGZsZXgtc2hyaW5rOiAwO1xuICBoZWlnaHQ6IDEwMCU7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogdHJhbnNmb3JtO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVooMCk7XG4gIC13ZWJraXQtYmFja2ZhY2UtdmlzaWJpbGl0eTogaGlkZGVuO1xuICBiYWNrZmFjZS12aXNpYmlsaXR5OiBoaWRkZW47XG59XG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MDBweCkge1xuICAuc2xpZGVzaG93X19zbGlkZSB7XG4gICAgcGFkZGluZy10b3A6IGNhbGMoMCAqIHZhcigtLWJhc2Utc3BhY2UpKTtcbiAgICBwYWRkaW5nLWJvdHRvbTogY2FsYygwICogdmFyKC0tYmFzZS1zcGFjZSkpO1xuICAgIHBhZGRpbmctcmlnaHQ6IGNhbGMoMiAqIHZhcigtLWJhc2Utc3BhY2UpKTtcbiAgICBwYWRkaW5nLWxlZnQ6IGNhbGMoMiAqIHZhcigtLWJhc2Utc3BhY2UpKTtcbiAgfVxufVxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTA1MHB4KSB7XG4gIC5zbGlkZXNob3dfX3NsaWRlIHtcbiAgICBwYWRkaW5nLXJpZ2h0OiBjYWxjKCgxMDAlIC0gdmFyKC0tbWFyZ2luLXNtKSAqIDExKSAvIDEyICogMyArIHZhcigtLW1hcmdpbi1zbSkgKiAyKTtcbiAgfVxuICAuc2xpZGVzaG93LS1oYWxmIC5zbGlkZXNob3dfX3NsaWRlIHtcbiAgICBwYWRkaW5nLXJpZ2h0OiAwO1xuICB9XG59XG4uc2xpZGVzaG93X19zbGlkZS0tc3F1YXJlIHtcbiAgcGFkZGluZy1yaWdodDogY2FsYygoMTAwJSAtIHZhcigtLW1hcmdpbi1zbSkgKiAxMSkgLyAxMiAqIDMgKyB2YXIoLS1tYXJnaW4tc20pICogMik7XG59XG4uc2xpZGVzaG93LS1oYWxmIC5zbGlkZXNob3dfX3NsaWRlLS1zcXVhcmUge1xuICBwYWRkaW5nLXJpZ2h0OiAwO1xufVxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTA1MHB4KSB7XG4gIC5zbGlkZXNob3dfX3NsaWRlLS1zcXVhcmUge1xuICAgIHBhZGRpbmctcmlnaHQ6IGNhbGMoKDEwMCUgLSB2YXIoLS1tYXJnaW4tc20pICogMTEpIC8gMTIgKiA2ICsgdmFyKC0tbWFyZ2luLXNtKSAqIDUpO1xuICB9XG4gIC5zbGlkZXNob3ctLWhhbGYgLnNsaWRlc2hvd19fc2xpZGUtLXNxdWFyZSB7XG4gICAgcGFkZGluZy1yaWdodDogMDtcbiAgfVxufVxuLnNsaWRlc2hvd19fc2xpZGUtLXBvcnRyYWl0IHtcbiAgcGFkZGluZy1yaWdodDogY2FsYygoMTAwJSAtIHZhcigtLW1hcmdpbi1zbSkgKiAxMSkgLyAxMiAqIDMgKyB2YXIoLS1tYXJnaW4tc20pICogMik7XG59XG4uc2xpZGVzaG93LS1oYWxmIC5zbGlkZXNob3dfX3NsaWRlLS1wb3J0cmFpdCB7XG4gIHBhZGRpbmctcmlnaHQ6IDA7XG59XG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMDUwcHgpIHtcbiAgLnNsaWRlc2hvd19fc2xpZGUtLXBvcnRyYWl0IHtcbiAgICBwYWRkaW5nLXJpZ2h0OiBjYWxjKCgxMDAlIC0gdmFyKC0tbWFyZ2luLXNtKSAqIDExKSAvIDEyICogOCArIHZhcigtLW1hcmdpbi1zbSkgKiA3KTtcbiAgfVxuICAuc2xpZGVzaG93LS1oYWxmIC5zbGlkZXNob3dfX3NsaWRlLS1wb3J0cmFpdCB7XG4gICAgcGFkZGluZy1yaWdodDogMDtcbiAgfVxufVxuXG4uc2xpZGVzaG93X19zbGlkZV9faW5uZXIge1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICAtd2Via2l0LXVzZXItc2VsZWN0OiBub25lO1xuICAtbW96LXVzZXItc2VsZWN0OiBub25lO1xuICAtbXMtdXNlci1zZWxlY3Q6IG5vbmU7XG4gIHVzZXItc2VsZWN0OiBub25lO1xufVxuLnNsaWRlc2hvd19fc2xpZGVfX2lubmVyID4gZGl2IHtcbiAgaGVpZ2h0OiAwO1xuICBwYWRkaW5nLWJvdHRvbTogdmFyKC0tcmF0aW8pO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG59XG4uc2xpZGVzaG93X19zbGlkZV9faW5uZXIgaW1nIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgb2JqZWN0LWZpdDogY29udGFpbjtcbiAgb2JqZWN0LXBvc2l0aW9uOiB0b3AgbGVmdDtcbiAgaGVpZ2h0OiAxMDAlO1xuICB3aWR0aDogMTAwJTtcbiAgbGVmdDogMDtcbiAgdG9wOiAwO1xufVxuXG4uc2xpZGVzaG93X19zbGlkZV9fY2FwdGlvbiB7XG4gIG1hcmdpbi10b3A6IGNhbGMoMC41ICogdmFyKC0tYmFzZS1zcGFjZSkpO1xuICBtYXJnaW4tYm90dG9tOiBjYWxjKDAgKiB2YXIoLS1iYXNlLXNwYWNlKSk7XG4gIG1hcmdpbi1yaWdodDogY2FsYygwICogdmFyKC0tYmFzZS1zcGFjZSkpO1xuICBtYXJnaW4tbGVmdDogY2FsYygwICogdmFyKC0tYmFzZS1zcGFjZSkpO1xufVxuLnNsaWRlc2hvd19fc2xpZGVfX2NhcHRpb24gaSxcbi5zbGlkZXNob3dfX3NsaWRlX19jYXB0aW9uIGVtIHtcbiAgZm9udC1mYW1pbHk6IE5IYWFzR3JvdGVza1RYUHJvLTU2SXQsIEhlbHZldGljYSBOZXVlLCBIZWx2ZXRpY2EsIEFyaWFsLCBMdWNpZGEgR3JhbmRlLCBzYW5zLXNlcmlmO1xufVxuXG4uc2xpZGVzaG93X192aWRlb19fY29udGFpbmVyIHtcbiAgaGVpZ2h0OiAwO1xuICBwYWRkaW5nLWJvdHRvbTogdmFyKC0tcmF0aW8pO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWNvbG9yLXRleHQpO1xufVxuLnNsaWRlc2hvd19fdmlkZW9fX2NvbnRhaW5lciBpZnJhbWUge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIG9iamVjdC1maXQ6IGNvdmVyO1xuICBoZWlnaHQ6IDEwMCU7XG4gIHdpZHRoOiAxMDAlO1xuICBsZWZ0OiAwO1xuICB0b3A6IDA7XG59XG5cbi5jYXJvdXNlbCB7XG4gIG1hcmdpbi10b3A6IGNhbGMoMCAqIHZhcigtLWJhc2Utc3BhY2UpKTtcbiAgbWFyZ2luLWJvdHRvbTogY2FsYygwICogdmFyKC0tYmFzZS1zcGFjZSkpO1xuICBtYXJnaW4tcmlnaHQ6IGNhbGMoLTEuMiAqIHZhcigtLWJhc2Utc3BhY2UpKTtcbiAgbWFyZ2luLWxlZnQ6IGNhbGMoLTEuMiAqIHZhcigtLWJhc2Utc3BhY2UpKTtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICBsaXN0LXN0eWxlOiBub25lO1xuICB6LWluZGV4OiAxO1xuICB0b3VjaC1hY3Rpb246IHBhbi15O1xuICBjdXJzb3I6IHBvaW50ZXI7XG59XG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MDBweCkge1xuICAuY2Fyb3VzZWwge1xuICAgIG1hcmdpbi10b3A6IGNhbGMoMCAqIHZhcigtLWJhc2Utc3BhY2UpKTtcbiAgICBtYXJnaW4tYm90dG9tOiBjYWxjKDAgKiB2YXIoLS1iYXNlLXNwYWNlKSk7XG4gICAgbWFyZ2luLXJpZ2h0OiBjYWxjKC0yICogdmFyKC0tYmFzZS1zcGFjZSkpO1xuICAgIG1hcmdpbi1sZWZ0OiBjYWxjKC0yICogdmFyKC0tYmFzZS1zcGFjZSkpO1xuICB9XG59XG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMDUwcHgpIHtcbiAgLmNhcm91c2VsIHtcbiAgICBncmlkLWNvbHVtbjogc3BhbiAyO1xuICB9XG59XG5cbi5jYXJvdXNlbF9fd3JhcHBlciB7XG4gIHBhZGRpbmctdG9wOiBjYWxjKDAgKiB2YXIoLS1iYXNlLXNwYWNlKSk7XG4gIHBhZGRpbmctYm90dG9tOiBjYWxjKDAgKiB2YXIoLS1iYXNlLXNwYWNlKSk7XG4gIHBhZGRpbmctcmlnaHQ6IGNhbGMoMCAqIHZhcigtLWJhc2Utc3BhY2UpKTtcbiAgcGFkZGluZy1sZWZ0OiBjYWxjKDEuMiAqIHZhcigtLWJhc2Utc3BhY2UpKTtcbiAgb3V0bGluZTogbm9uZTtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBkaXNwbGF5OiBmbGV4O1xuICBhbGlnbi1pdGVtczogZmxleC1zdGFydDtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogMTAwJTtcbiAgei1pbmRleDogMTtcbiAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogdHJhbnNmb3JtO1xuICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuNywgMCwgMC4zLCAxKTtcbiAgYm94LXNpemluZzogY29udGVudC1ib3g7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMHB4LCAwLCAwKTtcbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgwMHB4KSB7XG4gIC5jYXJvdXNlbF9fd3JhcHBlciB7XG4gICAgcGFkZGluZy10b3A6IGNhbGMoMCAqIHZhcigtLWJhc2Utc3BhY2UpKTtcbiAgICBwYWRkaW5nLWJvdHRvbTogY2FsYygwICogdmFyKC0tYmFzZS1zcGFjZSkpO1xuICAgIHBhZGRpbmctcmlnaHQ6IGNhbGMoMCAqIHZhcigtLWJhc2Utc3BhY2UpKTtcbiAgICBwYWRkaW5nLWxlZnQ6IGNhbGMoMiAqIHZhcigtLWJhc2Utc3BhY2UpKTtcbiAgfVxufVxuXG4uY2Fyb3VzZWxfX3NsaWRlIHtcbiAgd2lkdGg6IDEwMCU7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIGZsZXg6IG5vbmU7XG4gIGZsb2F0OiBsZWZ0O1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDBweCwgMCwgMCk7XG4gIGZsZXgtc2hyaW5rOiAwO1xuICBoZWlnaHQ6IDEwMCU7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogdHJhbnNmb3JtO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVooMCk7XG4gIC13ZWJraXQtYmFja2ZhY2UtdmlzaWJpbGl0eTogaGlkZGVuO1xuICBiYWNrZmFjZS12aXNpYmlsaXR5OiBoaWRkZW47XG4gIHdpZHRoOiBjYWxjKCgxMDAlIC0gdmFyKC0tbWFyZ2luLXNtKSAqIDExKSAvIDEyICogMTAgKyB2YXIoLS1tYXJnaW4tc20pICogOSk7XG59XG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMDUwcHgpIHtcbiAgLmNhcm91c2VsX19zbGlkZSB7XG4gICAgd2lkdGg6IGNhbGMoKDEwMCUgLSB2YXIoLS1tYXJnaW4tc20pICogMTEpIC8gMTIgKiA1ICsgdmFyKC0tbWFyZ2luLXNtKSAqIDQpO1xuICB9XG59XG4uY2Fyb3VzZWxfX3NsaWRlLS1wb3J0cmFpdCB7XG4gIHdpZHRoOiBjYWxjKCgxMDAlIC0gdmFyKC0tbWFyZ2luLXNtKSAqIDExKSAvIDEyICogOCArIHZhcigtLW1hcmdpbi1zbSkgKiA3KTtcbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDEwNTBweCkge1xuICAuY2Fyb3VzZWxfX3NsaWRlLS1wb3J0cmFpdCB7XG4gICAgd2lkdGg6IGNhbGMoKDEwMCUgLSB2YXIoLS1tYXJnaW4tc20pICogMTEpIC8gMTIgKiA0ICsgdmFyKC0tbWFyZ2luLXNtKSAqIDMpO1xuICB9XG59XG4uY2Fyb3VzZWxfX3NsaWRlOm5vdCguanMtc2xpZGVQcmV2KSBpZnJhbWUge1xuICBwb2ludGVyLWV2ZW50czogbm9uZTtcbn1cblxuLmNhcm91c2VsX19zbGlkZV9faW5uZXIge1xuICBmbGV4OiAxO1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICAtd2Via2l0LXVzZXItc2VsZWN0OiBub25lO1xuICAtbW96LXVzZXItc2VsZWN0OiBub25lO1xuICAtbXMtdXNlci1zZWxlY3Q6IG5vbmU7XG4gIHVzZXItc2VsZWN0OiBub25lO1xufVxuLmNhcm91c2VsX19zbGlkZV9faW5uZXIgaW1nIHtcbiAgZGlzcGxheTogYmxvY2s7XG59XG4uY2Fyb3VzZWxfX3NsaWRlX19pbm5lciBpZnJhbWUge1xuICB3aWR0aDogMTAwJTtcbiAgZGlzcGxheTogYmxvY2s7XG59XG5cbi5jYXJvdXNlbF9fc2xpZGVfX2NhcHRpb24ge1xuICBtYXJnaW4tdG9wOiBjYWxjKDEgKiB2YXIoLS1iYXNlLXNwYWNlKSk7XG4gIG1hcmdpbi1ib3R0b206IGNhbGMoMCAqIHZhcigtLWJhc2Utc3BhY2UpKTtcbiAgbWFyZ2luLXJpZ2h0OiBjYWxjKDAgKiB2YXIoLS1iYXNlLXNwYWNlKSk7XG4gIG1hcmdpbi1sZWZ0OiBjYWxjKDAgKiB2YXIoLS1iYXNlLXNwYWNlKSk7XG59XG4uY2Fyb3VzZWxfX3NsaWRlX19jYXB0aW9uIGksXG4uY2Fyb3VzZWxfX3NsaWRlX19jYXB0aW9uIGVtIHtcbiAgZm9udC1mYW1pbHk6IE5IYWFzR3JvdGVza1RYUHJvLTU2SXQsIEhlbHZldGljYSBOZXVlLCBIZWx2ZXRpY2EsIEFyaWFsLCBMdWNpZGEgR3JhbmRlLCBzYW5zLXNlcmlmO1xufVxuXG4uY2Fyb3VzZWxfX3ZpZGVvX19jb250YWluZXIge1xuICBoZWlnaHQ6IDA7XG4gIHBhZGRpbmctYm90dG9tOiB2YXIoLS1yYXRpbyk7XG4gIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWNvbG9yLXRleHQpO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG59XG4uY2Fyb3VzZWxfX3ZpZGVvX19jb250YWluZXIgaWZyYW1lIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBvYmplY3QtZml0OiBjb3ZlcjtcbiAgaGVpZ2h0OiAxMDAlO1xuICB3aWR0aDogMTAwJTtcbiAgbGVmdDogMDtcbiAgdG9wOiAwO1xufVxuXG4ubWVudSB7XG4gIHRyYW5zaXRpb24tcHJvcGVydHk6IHRyYW5zZm9ybTtcbiAgdHJhbnNpdGlvbi1kdXJhdGlvbjogMC40cztcbiAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjcsIDAsIDAuMywgMSk7XG4gIHRyYW5zaXRpb24tZGVsYXk6IDBzO1xuICBwYWRkaW5nLXRvcDogY2FsYygwICogdmFyKC0tYmFzZS1zcGFjZSkpO1xuICBwYWRkaW5nLWJvdHRvbTogY2FsYygwICogdmFyKC0tYmFzZS1zcGFjZSkpO1xuICBwYWRkaW5nLXJpZ2h0OiBjYWxjKDEuMiAqIHZhcigtLWJhc2Utc3BhY2UpKTtcbiAgcGFkZGluZy1sZWZ0OiBjYWxjKDEuMiAqIHZhcigtLWJhc2Utc3BhY2UpKTtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB3aWR0aDogMTAwJTtcbiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY29sb3ItYmcpO1xuICB6LWluZGV4OiAxO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTEwMCUpO1xufVxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODAwcHgpIHtcbiAgLm1lbnUge1xuICAgIHBhZGRpbmctdG9wOiBjYWxjKDAgKiB2YXIoLS1iYXNlLXNwYWNlKSk7XG4gICAgcGFkZGluZy1ib3R0b206IGNhbGMoMCAqIHZhcigtLWJhc2Utc3BhY2UpKTtcbiAgICBwYWRkaW5nLXJpZ2h0OiBjYWxjKDIgKiB2YXIoLS1iYXNlLXNwYWNlKSk7XG4gICAgcGFkZGluZy1sZWZ0OiBjYWxjKDIgKiB2YXIoLS1iYXNlLXNwYWNlKSk7XG4gIH1cbn1cbi5tZW51LmFjdGl2ZSB7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKTtcbn1cblxuLm1lbnVfX2lubmVyIHtcbiAgcGFkZGluZy10b3A6IGNhbGMoMC41ICogdmFyKC0tYmFzZS1zcGFjZSkpO1xuICBwYWRkaW5nLWJvdHRvbTogY2FsYygwLjUgKiB2YXIoLS1iYXNlLXNwYWNlKSk7XG4gIHBhZGRpbmctcmlnaHQ6IGNhbGMoMCAqIHZhcigtLWJhc2Utc3BhY2UpKTtcbiAgcGFkZGluZy1sZWZ0OiBjYWxjKDAgKiB2YXIoLS1iYXNlLXNwYWNlKSk7XG4gIGRpc3BsYXk6IGdyaWQ7XG4gIGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KDEsIG1pbm1heCgwLCAxZnIpKTtcbiAgZ3JpZC1jb2x1bW4tZ2FwOiB2YXIoLS1tYXJnaW4tc20pO1xuICBib3JkZXItYm90dG9tOiAxcHggc29saWQgdmFyKC0tY29sb3ItdGV4dCk7XG59XG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMDUwcHgpIHtcbiAgLm1lbnVfX2lubmVyIHtcbiAgICBkaXNwbGF5OiBncmlkO1xuICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KDIsIG1pbm1heCgwLCAxZnIpKTtcbiAgICBncmlkLWNvbHVtbi1nYXA6IHZhcigtLW1hcmdpbi1zbSk7XG4gIH1cbn1cblxuLm1lbnVfX2xpbmsge1xuICBmb250LXNpemU6IHZhcigtLWZzLWgxKTtcbiAgbGluZS1oZWlnaHQ6IHZhcigtLWxoLWgxKTtcbiAgbGV0dGVyLXNwYWNpbmc6IC0wLjAyNWVtO1xuICB3b3JkLXNwYWNpbmc6IC0wLjAyNWVtO1xuICBsZXR0ZXItc3BhY2luZzogLTAuMDVlbTtcbiAgd29yZC1zcGFjaW5nOiAtMC4wNWVtO1xuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAtd2Via2l0LWZvbnQtZmVhdHVyZS1zZXR0aW5nczogXCJjYXNlXCIgMTtcbiAgZm9udC1mZWF0dXJlLXNldHRpbmdzOiBcImNhc2VcIiAxO1xufVxuXG4udGFibGUge1xuICBkaXNwbGF5OiBncmlkO1xuICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdCgxLCBtaW5tYXgoMCwgMWZyKSk7XG4gIGdyaWQtY29sdW1uLWdhcDogdmFyKC0tbWFyZ2luLXNtKTtcbiAgbWFyZ2luLXRvcDogY2FsYyg2ICogdmFyKC0tYmFzZS1zcGFjZSkpO1xuICBtYXJnaW4tYm90dG9tOiBjYWxjKDAgKiB2YXIoLS1iYXNlLXNwYWNlKSk7XG4gIG1hcmdpbi1yaWdodDogY2FsYygwICogdmFyKC0tYmFzZS1zcGFjZSkpO1xuICBtYXJnaW4tbGVmdDogY2FsYygwICogdmFyKC0tYmFzZS1zcGFjZSkpO1xuICBncmlkLXJvdy1nYXA6IHZhcigtLWxoLW1haW4pO1xufVxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODAwcHgpIHtcbiAgLnRhYmxlIHtcbiAgICBtYXJnaW4tdG9wOiBjYWxjKDEwICogdmFyKC0tYmFzZS1zcGFjZSkpO1xuICAgIG1hcmdpbi1ib3R0b206IGNhbGMoMCAqIHZhcigtLWJhc2Utc3BhY2UpKTtcbiAgICBtYXJnaW4tcmlnaHQ6IGNhbGMoMCAqIHZhcigtLWJhc2Utc3BhY2UpKTtcbiAgICBtYXJnaW4tbGVmdDogY2FsYygwICogdmFyKC0tYmFzZS1zcGFjZSkpO1xuICB9XG59XG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMDUwcHgpIHtcbiAgLnRhYmxlIHtcbiAgICBkaXNwbGF5OiBncmlkO1xuICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KDIsIG1pbm1heCgwLCAxZnIpKTtcbiAgICBncmlkLWNvbHVtbi1nYXA6IHZhcigtLW1hcmdpbi1zbSk7XG4gICAgZ3JpZC1yb3ctZ2FwOiAwO1xuICAgIGdyaWQtY29sdW1uOiBzcGFuIDI7XG4gIH1cbn1cblxuLnRhYmxlX190aXRsZSB7XG4gIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCB2YXIoLS1jb2xvci10ZXh0KTtcbiAgbWFyZ2luLWJvdHRvbTogM3B4O1xuICBwYWRkaW5nLWJvdHRvbTogMnB4O1xufVxuXG4udGFibGVfX3RleHQgcDpub3QoOmxhc3QtY2hpbGQpIHtcbiAgbWFyZ2luLWJvdHRvbTogdmFyKC0tbGgtbWFpbik7XG59XG4udGFibGVfX3RleHQgaSxcbi50YWJsZV9fdGV4dCBlbSB7XG4gIGZvbnQtZmFtaWx5OiBOSGFhc0dyb3Rlc2tUWFByby01Nkl0LCBIZWx2ZXRpY2EgTmV1ZSwgSGVsdmV0aWNhLCBBcmlhbCwgTHVjaWRhIEdyYW5kZSwgc2Fucy1zZXJpZjtcbn1cbi50YWJsZV9fdGV4dCBociB7XG4gIG1hcmdpbjogM3B4IDA7XG4gIGJvcmRlcjogbm9uZTtcbiAgaGVpZ2h0OiAxcHg7XG4gIC13ZWJraXQtY29sdW1uLXNwYW46IGFsbDtcbiAgY29sdW1uLXNwYW46IGFsbDtcbiAgY29sb3I6IHZhcigtLWNvbG9yLXRleHQpO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jb2xvci10ZXh0KTtcbn1cbi50YWJsZV9fdGV4dCBwICsgaHIge1xuICBtYXJnaW4tdG9wOiBjYWxjKHZhcigtLWxoLW1haW4pICogLTEgKyAzcHgpO1xufVxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTA1MHB4KSB7XG4gIC50YWJsZV9fdGV4dCBwICsgaHIge1xuICAgIG1hcmdpbi10b3A6IDNweDtcbiAgfVxufVxuLnRhYmxlX190ZXh0IGEge1xuICAtd2Via2l0LWh5cGhlbnM6IG5vbmU7XG4gIC1tcy1oeXBoZW5zOiBub25lO1xuICBoeXBoZW5zOiBub25lO1xufVxuLnRhYmxlX190ZXh0IGZpZ3VyZSB7XG4gIHBhZGRpbmctdG9wOiBjYWxjKDEgKiB2YXIoLS1iYXNlLXNwYWNlKSk7XG4gIHBhZGRpbmctYm90dG9tOiBjYWxjKDAgKiB2YXIoLS1iYXNlLXNwYWNlKSk7XG4gIHBhZGRpbmctcmlnaHQ6IGNhbGMoMCAqIHZhcigtLWJhc2Utc3BhY2UpKTtcbiAgcGFkZGluZy1sZWZ0OiBjYWxjKDAgKiB2YXIoLS1iYXNlLXNwYWNlKSk7XG4gIGRpc3BsYXk6IGZsZXg7XG59XG4udGFibGVfX3RleHQgZmlndXJlLmJvcmRlciB7XG4gIHBhZGRpbmc6IDA7XG4gIGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLWNvbG9yLXRleHQpO1xufVxuLnRhYmxlX190ZXh0IHNtYWxsIHtcbiAgZm9udC1zaXplOiB2YXIoLS1mcy1zbWFsbCk7XG4gIGxpbmUtaGVpZ2h0OiB2YXIoLS1saC1zbWFsbCk7XG59XG4udGFibGVfX3RleHQgLnRleHRfX2dyaWQge1xuICBkaXNwbGF5OiBncmlkO1xuICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdCgyLCBtaW5tYXgoMCwgMWZyKSk7XG4gIGdyaWQtY29sdW1uLWdhcDogdmFyKC0tbWFyZ2luLXNtKTtcbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDEwNTBweCkge1xuICAudGFibGVfX3RleHQtLXR3byB7XG4gICAgLXdlYmtpdC1jb2x1bW4tY291bnQ6IDI7XG4gICAgY29sdW1uLWNvdW50OiAyO1xuICAgIC13ZWJraXQtY29sdW1uLWdhcDogdmFyKC0tbWFyZ2luLXNtKTtcbiAgICBjb2x1bW4tZ2FwOiB2YXIoLS1tYXJnaW4tc20pO1xuICB9XG59XG4udGFibGVfX3RleHQ6bm90KDpsYXN0LWNoaWxkKSB7XG4gIG1hcmdpbi1ib3R0b206IHZhcigtLWxoLW1haW4pO1xufVxuXG4uYXJ0aXN0cyB7XG4gIG1hcmdpbi10b3A6IGNhbGMoNiAqIHZhcigtLWJhc2Utc3BhY2UpKTtcbiAgbWFyZ2luLWJvdHRvbTogY2FsYygwICogdmFyKC0tYmFzZS1zcGFjZSkpO1xuICBtYXJnaW4tcmlnaHQ6IGNhbGMoMCAqIHZhcigtLWJhc2Utc3BhY2UpKTtcbiAgbWFyZ2luLWxlZnQ6IGNhbGMoMCAqIHZhcigtLWJhc2Utc3BhY2UpKTtcbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgwMHB4KSB7XG4gIC5hcnRpc3RzIHtcbiAgICBtYXJnaW4tdG9wOiBjYWxjKDEwICogdmFyKC0tYmFzZS1zcGFjZSkpO1xuICAgIG1hcmdpbi1ib3R0b206IGNhbGMoMCAqIHZhcigtLWJhc2Utc3BhY2UpKTtcbiAgICBtYXJnaW4tcmlnaHQ6IGNhbGMoMCAqIHZhcigtLWJhc2Utc3BhY2UpKTtcbiAgICBtYXJnaW4tbGVmdDogY2FsYygwICogdmFyKC0tYmFzZS1zcGFjZSkpO1xuICB9XG59XG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMDUwcHgpIHtcbiAgLmFydGlzdHMge1xuICAgIGdyaWQtY29sdW1uOiBzcGFuIDI7XG4gIH1cbn1cblxuLmFydGlzdHNfX25hdiB7XG4gIG1hcmdpbi10b3A6IGNhbGMoMCAqIHZhcigtLWJhc2Utc3BhY2UpKTtcbiAgbWFyZ2luLWJvdHRvbTogY2FsYygxLjIgKiB2YXIoLS1iYXNlLXNwYWNlKSk7XG4gIG1hcmdpbi1yaWdodDogY2FsYygwICogdmFyKC0tYmFzZS1zcGFjZSkpO1xuICBtYXJnaW4tbGVmdDogY2FsYygwICogdmFyKC0tYmFzZS1zcGFjZSkpO1xuICBkaXNwbGF5OiBmbGV4O1xuICBib3JkZXItdG9wOiAxcHggc29saWQgdmFyKC0tY29sb3ItdGV4dCk7XG4gIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCB2YXIoLS1jb2xvci10ZXh0KTtcbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgwMHB4KSB7XG4gIC5hcnRpc3RzX19uYXYge1xuICAgIG1hcmdpbi10b3A6IGNhbGMoMCAqIHZhcigtLWJhc2Utc3BhY2UpKTtcbiAgICBtYXJnaW4tYm90dG9tOiBjYWxjKDIgKiB2YXIoLS1iYXNlLXNwYWNlKSk7XG4gICAgbWFyZ2luLXJpZ2h0OiBjYWxjKDAgKiB2YXIoLS1iYXNlLXNwYWNlKSk7XG4gICAgbWFyZ2luLWxlZnQ6IGNhbGMoMCAqIHZhcigtLWJhc2Utc3BhY2UpKTtcbiAgfVxufVxuXG4uYXJ0aXN0c19fZmlsdGVyIHtcbiAgcGFkZGluZy10b3A6IGNhbGMoMC41ICogdmFyKC0tYmFzZS1zcGFjZSkpO1xuICBwYWRkaW5nLWJvdHRvbTogY2FsYygwLjUgKiB2YXIoLS1iYXNlLXNwYWNlKSk7XG4gIHBhZGRpbmctcmlnaHQ6IGNhbGMoMSAqIHZhcigtLWJhc2Utc3BhY2UpKTtcbiAgcGFkZGluZy1sZWZ0OiBjYWxjKDEgKiB2YXIoLS1iYXNlLXNwYWNlKSk7XG4gIGJvcmRlci1sZWZ0OiAxcHggc29saWQgdHJhbnNwYXJlbnQ7XG4gIGJvcmRlci1yaWdodDogMXB4IHNvbGlkIHRyYW5zcGFyZW50O1xuICBjdXJzb3I6IHBvaW50ZXI7XG59XG4uYXJ0aXN0c19fZmlsdGVyOm5vdCg6Zmlyc3QtY2hpbGQpIHtcbiAgbWFyZ2luLWxlZnQ6IC0xcHg7XG59XG4uYXJ0aXN0c19fZmlsdGVyLmFjdGl2ZSwgLmFydGlzdHNfX2ZpbHRlcjpob3ZlciB7XG4gIGJvcmRlci1jb2xvcjogdmFyKC0tY29sb3ItdGV4dCk7XG59XG5cbi5hcnRpc3RzX19ncmlkIHtcbiAgZGlzcGxheTogZ3JpZDtcbiAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoMSwgbWlubWF4KDAsIDFmcikpO1xuICBncmlkLWNvbHVtbi1nYXA6IHZhcigtLW1hcmdpbi1zbSk7XG4gIGdyaWQtcm93LWdhcDogY2FsYyh2YXIoLS1tYXJnaW4tc20pICogNCk7XG59XG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMDUwcHgpIHtcbiAgLmFydGlzdHNfX2dyaWQge1xuICAgIGRpc3BsYXk6IGdyaWQ7XG4gICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoMiwgbWlubWF4KDAsIDFmcikpO1xuICAgIGdyaWQtY29sdW1uLWdhcDogdmFyKC0tbWFyZ2luLXNtKTtcbiAgICBncmlkLXJvdy1nYXA6IGNhbGModmFyKC0tbWFyZ2luLXNtKSAqIDcpO1xuICB9XG59XG5cbi5hcnRpc3RzX19pbWFnZSB7XG4gIGRpc3BsYXk6IGdyaWQ7XG4gIGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KDYsIG1pbm1heCgwLCAxZnIpKTtcbiAgZ3JpZC1jb2x1bW4tZ2FwOiB2YXIoLS1tYXJnaW4tc20pO1xufVxuXG4uYXJ0aXN0c19faW1hZ2VfX2lubmVyLS1wb3J0cmFpdCB7XG4gIGdyaWQtY29sdW1uOiAxL3NwYW4gNDtcbn1cbi5hcnRpc3RzX19pbWFnZV9faW5uZXItLXNxdWFyZSB7XG4gIGdyaWQtY29sdW1uOiAxL3NwYW4gNTtcbn1cbi5hcnRpc3RzX19pbWFnZV9faW5uZXItLWxhbmRzY2FwZSB7XG4gIGdyaWQtY29sdW1uOiAxL3NwYW4gNjtcbn1cblxuLmFydGlzdHNfX3RpdGxlIHtcbiAgZm9udC1zaXplOiB2YXIoLS1mcy1oMSk7XG4gIGxpbmUtaGVpZ2h0OiB2YXIoLS1saC1oMSk7XG4gIGxldHRlci1zcGFjaW5nOiAtMC4wMjVlbTtcbiAgd29yZC1zcGFjaW5nOiAtMC4wMjVlbTtcbiAgbGluZS1oZWlnaHQ6IHZhcigtLWxoLWFydGlzdHMpO1xuICBtYXJnaW4tdG9wOiAxcHg7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG59XG4uYXJ0aXN0c19fdGl0bGUgaDIge1xuICBmb250LXNpemU6IHZhcigtLWZzLWgxKTtcbiAgbGluZS1oZWlnaHQ6IHZhcigtLWxoLWgxKTtcbiAgbGV0dGVyLXNwYWNpbmc6IC0wLjAyNWVtO1xuICB3b3JkLXNwYWNpbmc6IC0wLjAyNWVtO1xuICBsZXR0ZXItc3BhY2luZzogLTAuMDVlbTtcbiAgd29yZC1zcGFjaW5nOiAtMC4wNWVtO1xuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAtd2Via2l0LWZvbnQtZmVhdHVyZS1zZXR0aW5nczogXCJjYXNlXCIgMTtcbiAgZm9udC1mZWF0dXJlLXNldHRpbmdzOiBcImNhc2VcIiAxO1xuICBsaW5lLWhlaWdodDogdmFyKC0tbGgtYXJ0aXN0cyk7XG59XG5cbi5hcnRpc3RfX3RpdGxlIHtcbiAgbWFyZ2luLXRvcDogY2FsYygwICogdmFyKC0tYmFzZS1zcGFjZSkpO1xuICBtYXJnaW4tYm90dG9tOiBjYWxjKDEuMiAqIHZhcigtLWJhc2Utc3BhY2UpKTtcbiAgbWFyZ2luLXJpZ2h0OiBjYWxjKDAgKiB2YXIoLS1iYXNlLXNwYWNlKSk7XG4gIG1hcmdpbi1sZWZ0OiBjYWxjKDAgKiB2YXIoLS1iYXNlLXNwYWNlKSk7XG4gIGZvbnQtc2l6ZTogdmFyKC0tZnMtaDEpO1xuICBsaW5lLWhlaWdodDogdmFyKC0tbGgtaDEpO1xuICBsZXR0ZXItc3BhY2luZzogLTAuMDI1ZW07XG4gIHdvcmQtc3BhY2luZzogLTAuMDI1ZW07XG4gIGxpbmUtaGVpZ2h0OiB2YXIoLS1saC1hcnRpc3RzKTtcbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgwMHB4KSB7XG4gIC5hcnRpc3RfX3RpdGxlIHtcbiAgICBtYXJnaW4tdG9wOiBjYWxjKDAgKiB2YXIoLS1iYXNlLXNwYWNlKSk7XG4gICAgbWFyZ2luLWJvdHRvbTogY2FsYygyICogdmFyKC0tYmFzZS1zcGFjZSkpO1xuICAgIG1hcmdpbi1yaWdodDogY2FsYygwICogdmFyKC0tYmFzZS1zcGFjZSkpO1xuICAgIG1hcmdpbi1sZWZ0OiBjYWxjKDAgKiB2YXIoLS1iYXNlLXNwYWNlKSk7XG4gIH1cbn1cbi5hcnRpc3RfX3RpdGxlID4gc3BhbiB7XG4gIGZvbnQtc2l6ZTogdmFyKC0tZnMtaDEpO1xuICBsaW5lLWhlaWdodDogdmFyKC0tbGgtaDEpO1xuICBsZXR0ZXItc3BhY2luZzogLTAuMDI1ZW07XG4gIHdvcmQtc3BhY2luZzogLTAuMDI1ZW07XG4gIGxldHRlci1zcGFjaW5nOiAtMC4wNWVtO1xuICB3b3JkLXNwYWNpbmc6IC0wLjA1ZW07XG4gIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gIC13ZWJraXQtZm9udC1mZWF0dXJlLXNldHRpbmdzOiBcImNhc2VcIiAxO1xuICBmb250LWZlYXR1cmUtc2V0dGluZ3M6IFwiY2FzZVwiIDE7XG4gIGxpbmUtaGVpZ2h0OiB2YXIoLS1saC1hcnRpc3RzKTtcbn1cblxuLmFydGlzdF9faGVhZGVyIHtcbiAgbWFyZ2luLXRvcDogY2FsYygwICogdmFyKC0tYmFzZS1zcGFjZSkpO1xuICBtYXJnaW4tYm90dG9tOiBjYWxjKDEgKiB2YXIoLS1iYXNlLXNwYWNlKSk7XG4gIG1hcmdpbi1yaWdodDogY2FsYygwICogdmFyKC0tYmFzZS1zcGFjZSkpO1xuICBtYXJnaW4tbGVmdDogY2FsYygwICogdmFyKC0tYmFzZS1zcGFjZSkpO1xufVxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTA1MHB4KSB7XG4gIC5hcnRpc3RfX2hlYWRlciB7XG4gICAgZ3JpZC1jb2x1bW46IHNwYW4gMjtcbiAgfVxufVxuXG4uYXJ0aXN0X19uYXYge1xuICBkaXNwbGF5OiBmbGV4O1xuICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG59XG5cbi5hcnRpc3RfX25hdl9faXRlbSBzdmcge1xuICBoZWlnaHQ6IHZhcigtLWhhbWJ1cmdlci1oZWlnaHQpO1xufVxuXG4uYXJ0aXN0X19jb250ZW50IHtcbiAgbWFyZ2luLXRvcDogY2FsYyg2ICogdmFyKC0tYmFzZS1zcGFjZSkpO1xuICBtYXJnaW4tYm90dG9tOiBjYWxjKDAgKiB2YXIoLS1iYXNlLXNwYWNlKSk7XG4gIG1hcmdpbi1yaWdodDogY2FsYygwICogdmFyKC0tYmFzZS1zcGFjZSkpO1xuICBtYXJnaW4tbGVmdDogY2FsYygwICogdmFyKC0tYmFzZS1zcGFjZSkpO1xuICBkaXNwbGF5OiBncmlkO1xuICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdCgxLCBtaW5tYXgoMCwgMWZyKSk7XG4gIGdyaWQtY29sdW1uLWdhcDogdmFyKC0tbWFyZ2luLXNtKTtcbiAgZ3JpZC1yb3ctZ2FwOiB2YXIoLS1saC1tYWluKTtcbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgwMHB4KSB7XG4gIC5hcnRpc3RfX2NvbnRlbnQge1xuICAgIG1hcmdpbi10b3A6IGNhbGMoMTAgKiB2YXIoLS1iYXNlLXNwYWNlKSk7XG4gICAgbWFyZ2luLWJvdHRvbTogY2FsYygwICogdmFyKC0tYmFzZS1zcGFjZSkpO1xuICAgIG1hcmdpbi1yaWdodDogY2FsYygwICogdmFyKC0tYmFzZS1zcGFjZSkpO1xuICAgIG1hcmdpbi1sZWZ0OiBjYWxjKDAgKiB2YXIoLS1iYXNlLXNwYWNlKSk7XG4gIH1cbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDEwNTBweCkge1xuICAuYXJ0aXN0X19jb250ZW50IHtcbiAgICBkaXNwbGF5OiBncmlkO1xuICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KDIsIG1pbm1heCgwLCAxZnIpKTtcbiAgICBncmlkLWNvbHVtbi1nYXA6IHZhcigtLW1hcmdpbi1zbSk7XG4gICAgZ3JpZC1jb2x1bW46IHNwYW4gMjtcbiAgfVxufVxuXG4uYXJ0aXN0X19jb2xfX3RpdGxlIHtcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgLXdlYmtpdC1mb250LWZlYXR1cmUtc2V0dGluZ3M6IFwiY2FzZVwiIDE7XG4gIGZvbnQtZmVhdHVyZS1zZXR0aW5nczogXCJjYXNlXCIgMTtcbn1cblxuLmFydGlzdF9fdGV4dCBwOm5vdCg6bGFzdC1jaGlsZCkge1xuICBtYXJnaW4tYm90dG9tOiB2YXIoLS1saC1tYWluKTtcbn1cbi5hcnRpc3RfX3RleHQgaSxcbi5hcnRpc3RfX3RleHQgZW0ge1xuICBmb250LWZhbWlseTogTkhhYXNHcm90ZXNrVFhQcm8tNTZJdCwgSGVsdmV0aWNhIE5ldWUsIEhlbHZldGljYSwgQXJpYWwsIEx1Y2lkYSBHcmFuZGUsIHNhbnMtc2VyaWY7XG59XG4uYXJ0aXN0X190ZXh0IGhyIHtcbiAgbWFyZ2luOiAzcHggMDtcbiAgYm9yZGVyOiBub25lO1xuICBoZWlnaHQ6IDFweDtcbiAgLXdlYmtpdC1jb2x1bW4tc3BhbjogYWxsO1xuICBjb2x1bW4tc3BhbjogYWxsO1xuICBjb2xvcjogdmFyKC0tY29sb3ItdGV4dCk7XG4gIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWNvbG9yLXRleHQpO1xufVxuLmFydGlzdF9fdGV4dCBwICsgaHIge1xuICBtYXJnaW4tdG9wOiBjYWxjKHZhcigtLWxoLW1haW4pICogLTEgKyAzcHgpO1xufVxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTA1MHB4KSB7XG4gIC5hcnRpc3RfX3RleHQgcCArIGhyIHtcbiAgICBtYXJnaW4tdG9wOiAzcHg7XG4gIH1cbn1cbi5hcnRpc3RfX3RleHQgYSB7XG4gIC13ZWJraXQtaHlwaGVuczogbm9uZTtcbiAgLW1zLWh5cGhlbnM6IG5vbmU7XG4gIGh5cGhlbnM6IG5vbmU7XG59XG4uYXJ0aXN0X190ZXh0IGZpZ3VyZSB7XG4gIHBhZGRpbmctdG9wOiBjYWxjKDEgKiB2YXIoLS1iYXNlLXNwYWNlKSk7XG4gIHBhZGRpbmctYm90dG9tOiBjYWxjKDAgKiB2YXIoLS1iYXNlLXNwYWNlKSk7XG4gIHBhZGRpbmctcmlnaHQ6IGNhbGMoMCAqIHZhcigtLWJhc2Utc3BhY2UpKTtcbiAgcGFkZGluZy1sZWZ0OiBjYWxjKDAgKiB2YXIoLS1iYXNlLXNwYWNlKSk7XG4gIGRpc3BsYXk6IGZsZXg7XG59XG4uYXJ0aXN0X190ZXh0IGZpZ3VyZS5ib3JkZXIge1xuICBwYWRkaW5nOiAwO1xuICBib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1jb2xvci10ZXh0KTtcbn1cbi5hcnRpc3RfX3RleHQgc21hbGwge1xuICBmb250LXNpemU6IHZhcigtLWZzLXNtYWxsKTtcbiAgbGluZS1oZWlnaHQ6IHZhcigtLWxoLXNtYWxsKTtcbn1cbi5hcnRpc3RfX3RleHQgLnRleHRfX2dyaWQge1xuICBkaXNwbGF5OiBncmlkO1xuICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdCgyLCBtaW5tYXgoMCwgMWZyKSk7XG4gIGdyaWQtY29sdW1uLWdhcDogdmFyKC0tbWFyZ2luLXNtKTtcbn1cblxuLmFydGlzdF9faW5mbyB7XG4gIG1hcmdpbi10b3A6IHZhcigtLWxoLW1haW4pO1xufVxuXG4uYXJ0aXN0X19pbmZvX190aXRsZSB7XG4gIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCB2YXIoLS1jb2xvci10ZXh0KTtcbiAgbWFyZ2luLWJvdHRvbTogM3B4O1xuICBwYWRkaW5nLWJvdHRvbTogMnB4O1xufVxuXG4uYXJ0aXN0X19pbmZvX19pbm5lciB7XG4gIGRpc3BsYXk6IGdyaWQ7XG4gIGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KDEsIG1pbm1heCgwLCAxZnIpKTtcbiAgZ3JpZC1jb2x1bW4tZ2FwOiB2YXIoLS1tYXJnaW4tc20pO1xufVxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTA1MHB4KSB7XG4gIC5hcnRpc3RfX2luZm9fX2lubmVyIHtcbiAgICBkaXNwbGF5OiBncmlkO1xuICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KDIsIG1pbm1heCgwLCAxZnIpKTtcbiAgICBncmlkLWNvbHVtbi1nYXA6IHZhcigtLW1hcmdpbi1zbSk7XG4gIH1cbn1cblxuLmxvZ290eXBlcyB7XG4gIG1hcmdpbi10b3A6IGNhbGMoNiAqIHZhcigtLWJhc2Utc3BhY2UpKTtcbiAgbWFyZ2luLWJvdHRvbTogY2FsYygwICogdmFyKC0tYmFzZS1zcGFjZSkpO1xuICBtYXJnaW4tcmlnaHQ6IGNhbGMoMCAqIHZhcigtLWJhc2Utc3BhY2UpKTtcbiAgbWFyZ2luLWxlZnQ6IGNhbGMoMCAqIHZhcigtLWJhc2Utc3BhY2UpKTtcbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgwMHB4KSB7XG4gIC5sb2dvdHlwZXMge1xuICAgIG1hcmdpbi10b3A6IGNhbGMoMTAgKiB2YXIoLS1iYXNlLXNwYWNlKSk7XG4gICAgbWFyZ2luLWJvdHRvbTogY2FsYygwICogdmFyKC0tYmFzZS1zcGFjZSkpO1xuICAgIG1hcmdpbi1yaWdodDogY2FsYygwICogdmFyKC0tYmFzZS1zcGFjZSkpO1xuICAgIG1hcmdpbi1sZWZ0OiBjYWxjKDAgKiB2YXIoLS1iYXNlLXNwYWNlKSk7XG4gIH1cbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDEwNTBweCkge1xuICAubG9nb3R5cGVzLS1mdWxsIHtcbiAgICBncmlkLWNvbHVtbjogc3BhbiAyO1xuICB9XG59XG5cbi5sb2dvdHlwZXNfX3RpdGxlIHtcbiAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIHZhcigtLWNvbG9yLXRleHQpO1xuICBtYXJnaW4tYm90dG9tOiAzcHg7XG4gIHBhZGRpbmctYm90dG9tOiAycHg7XG59XG5cbi5sb2dvdHlwZXNfX2lubmVyIHtcbiAgcGFkZGluZy10b3A6IGNhbGMoMSAqIHZhcigtLWJhc2Utc3BhY2UpKTtcbiAgcGFkZGluZy1ib3R0b206IGNhbGMoMCAqIHZhcigtLWJhc2Utc3BhY2UpKTtcbiAgcGFkZGluZy1yaWdodDogY2FsYygwICogdmFyKC0tYmFzZS1zcGFjZSkpO1xuICBwYWRkaW5nLWxlZnQ6IGNhbGMoMCAqIHZhcigtLWJhc2Utc3BhY2UpKTtcbiAgZGlzcGxheTogZ3JpZDtcbiAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoMiwgbWlubWF4KDAsIDFmcikpO1xuICBncmlkLWNvbHVtbi1nYXA6IHZhcigtLW1hcmdpbi1zbSk7XG4gIGdyaWQtY29sdW1uLWdhcDogdmFyKC0tbWFyZ2luLW1kKTtcbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgwMHB4KSB7XG4gIC5sb2dvdHlwZXNfX2lubmVyIHtcbiAgICBkaXNwbGF5OiBncmlkO1xuICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KDEyLCBtaW5tYXgoMCwgMWZyKSk7XG4gICAgZ3JpZC1jb2x1bW4tZ2FwOiB2YXIoLS1tYXJnaW4tc20pO1xuICAgIGdyaWQtY29sdW1uLWdhcDogdmFyKC0tbWFyZ2luLW1kKTtcbiAgfVxufVxuXG4ubG9nb3R5cGVzX19pdGVtIHtcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIGdyaWQtY29sdW1uOiBzcGFuIHZhcigtLWNvbHVtbi1zbSk7XG59XG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MDBweCkge1xuICAubG9nb3R5cGVzX19pdGVtIHtcbiAgICBncmlkLWNvbHVtbjogc3BhbiB2YXIoLS1jb2x1bW4pO1xuICB9XG59XG4ubG9nb3R5cGVzX19pdGVtIGEge1xuICBkaXNwbGF5OiBmbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbn0iLCIvLyBDT05GSUdVUkFURSBET0NVTUVOVFxuXG4kZm9udHNpemU6IChcbiAgc21hbGw6IChcbiAgICB4czogKFxuICAgICAgZnM6IDEwcHgsXG4gICAgICBsaDogMTJweCxcbiAgICApLFxuICApLFxuICBtYWluOiAoXG4gICAgeHM6IChcbiAgICAgIGZzOiAxNXB4LFxuICAgICAgbGg6IDE4cHgsXG4gICAgKSxcbiAgICBzbTogKFxuICAgICAgZnM6IDIwcHgsXG4gICAgICBsaDogMjRweCxcbiAgICApLFxuICApLFxuICBoMTogKFxuICAgIHhzOiAoXG4gICAgICBmczogMzZweCxcbiAgICAgIGxoOiAzNnB4LFxuICAgICksXG4gICAgc206IChcbiAgICAgIGZzOiA2OXB4LFxuICAgICAgbGg6IDY5cHgsXG4gICAgKSxcbiAgKSxcbik7XG5cbiRtYXJnaW46IChcbiAgeHM6IDAuNSxcbiAgc206IDEsXG4gIG1kOiAyLFxuICBsZzogNCxcbiAgeGw6IDEwLFxuICB4eGw6IDIwLFxuKTtcblxuOnJvb3Qge1xuICAtLWJhc2Utc3BhY2U6IDEwcHg7XG4gIC0tY29sb3ItdGV4dDogYmxhY2s7XG4gIC0tY29sb3ItbGluazogYmxhY2s7XG4gIC0tY29sb3ItYmc6IHdoaXRlO1xuICAtLWNvbG9yLWdyZXk6ICM5OTk5OTk7XG59XG5cbi8vIF9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18gLy9cblxuLy8gRk9OVFNcblxuJGZvbnRzOiAoXG4gIG1haW46IChcbiAgICBuYW1lOiBOSGFhc0dyb3Rlc2tUWFByby01NVJnLFxuICAgIGZhbGxiYWNrOiBcIkhlbHZldGljYSBOZXVlLCBIZWx2ZXRpY2EsIEFyaWFsLCBMdWNpZGEgR3JhbmRlLCBzYW5zLXNlcmlmXCIsXG4gICAgd2l0aEZpbGU6IHRydWUsXG4gICksXG4gIGl0YWxpYzogKFxuICAgIG5hbWU6IE5IYWFzR3JvdGVza1RYUHJvLTU2SXQsXG4gICAgZmFsbGJhY2s6IFwiSGVsdmV0aWNhIE5ldWUsIEhlbHZldGljYSwgQXJpYWwsIEx1Y2lkYSBHcmFuZGUsIHNhbnMtc2VyaWZcIixcbiAgICB3aXRoRmlsZTogdHJ1ZSxcbiAgKSxcbik7XG5cbi8vIF9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18gLy9cblxuLy8gQlJFQUtQT0lOVFNcblxuJGJyZWFrcG9pbnRzOiAoXG4gIHhzOiAwcHgsXG4gIHNtOiA4MDBweCxcbiAgbGc6IDEwNTBweCxcbiAgeGw6IDEzMjBweCxcbik7XG5cbi8vIF9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18gLy9cblxuLy8gVFJBTlNJVElPTlxuXG4kdHJhbnNpdGlvbi1wcm9wZXJ0eS1kZWZhdWx0OiBhbGw7XG4kdHJhbnNpdGlvbi1kdXJhdGlvbi1kZWZhdWx0OiAwLjRzO1xuJHRyYW5zaXRpb24tdGltaW5nLWRlZmF1bHQ6IGN1YmljLWJlemllcigwLjcsIDAsIDAuMywgMSk7XG4kdHJhbnNpdGlvbi1kZWxheS1kZWZhdWx0OiAwcztcblxuLy8gX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXyAvL1xuXG4vLyBGUkVFIENPTkZJR1xuIiwiOnJvb3Qge1xuICBAZWFjaCAkc2l6ZSwgJHZhbHVlIGluICRtYXJnaW4ge1xuICAgIC0tbWFyZ2luLSN7JHNpemV9OiBjYWxjKHZhcigtLWJhc2Utc3BhY2UpICogI3skdmFsdWV9KTtcbiAgfVxuXG4gIEBlYWNoICRzaXplLCAkaXRlbSBpbiAkZm9udHNpemUge1xuICAgIEBlYWNoICRzY3JlZW4sICR2YWx1ZXMgaW4gJGl0ZW0ge1xuICAgICAgQGluY2x1ZGUgbXEoJHNjcmVlbikge1xuICAgICAgICBAZWFjaCAkdHlwZSwgJHZhbHVlIGluICR2YWx1ZXMge1xuICAgICAgICAgIC0tI3skdHlwZX0tI3skc2l6ZX06ICN7JHZhbHVlfTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC0tbG9nb3R5cGUtZnVsbC1yYXRpbzogMC4xOTY7XG4gIC0tbG9nb3R5cGUtcmF0aW86IDAuMTM5O1xuICAtLWxvZ290eXBlLWhlaWdodDogY2FsYygoMTAwdncgLSB2YXIoLS1tYXJnaW4tc20pICogMi40KSAqIHZhcigtLWxvZ290eXBlLWZ1bGwtcmF0aW8pKTtcbiAgLS1sb2dvdHlwZS13aWR0aDogY2FsYyh2YXIoLS1oYW1idXJnZXItaGVpZ2h0KSAvIHZhcigtLWxvZ290eXBlLXJhdGlvKSk7XG4gIC0taGFtYnVyZ2VyLWhlaWdodDogMzBweDtcbiAgLS1yb3ctaGVpZ2h0OiBjYWxjKHZhcigtLWxoLW1haW4pICsgdmFyKC0tbWFyZ2luLXNtKSArIDJweCk7XG4gIC0taGVhZGVyLWhlaWdodDogY2FsYyh2YXIoLS1oYW1idXJnZXItaGVpZ2h0KSArIHZhcigtLW1hcmdpbi1zbSkgKiAyLjIgKyB2YXIoLS1yb3ctaGVpZ2h0KSArIHZhcigtLWxoLW1haW4pICogMik7XG4gIC0tbGgtYXJ0aXN0czogMzRweDtcblxuICBAaW5jbHVkZSBtcShzbSkge1xuICAgIC0taGFtYnVyZ2VyLWhlaWdodDogNTFweDtcbiAgICAtLWxvZ290eXBlLWhlaWdodDogY2FsYygoMTAwdncgLSB2YXIoLS1tYXJnaW4tbGcpKSAqIHZhcigtLWxvZ290eXBlLWZ1bGwtcmF0aW8pKTtcbiAgICAtLWhlYWRlci1oZWlnaHQ6IGNhbGModmFyKC0taGFtYnVyZ2VyLWhlaWdodCkgKyB2YXIoLS1tYXJnaW4tc20pICogMi4yICsgdmFyKC0tcm93LWhlaWdodCkgKyB2YXIoLS1saC1tYWluKSk7XG4gICAgLS1saC1hcnRpc3RzOiA2M3B4O1xuICB9XG5cbiAgQGluY2x1ZGUgbXEobGcpIHtcbiAgICAtLWhlYWRlci1oZWlnaHQ6IGNhbGModmFyKC0taGFtYnVyZ2VyLWhlaWdodCkgKyB2YXIoLS1tYXJnaW4tc20pICogMi4yICsgdmFyKC0tcm93LWhlaWdodCkpO1xuICB9XG59XG4iLCJAbWl4aW4gbXEoJG1xLWJyZWFrcG9pbnQsICRtcS1icmVha3BvaW50czogJGJyZWFrcG9pbnRzKSB7XG4gIEBpZiBtYXAtaGFzLWtleSgkbXEtYnJlYWtwb2ludHMsICRtcS1icmVha3BvaW50KSB7XG4gICAgJG1xLWJyZWFrcG9pbnQ6IG1hcC1nZXQoJG1xLWJyZWFrcG9pbnRzLCAkbXEtYnJlYWtwb2ludCk7XG4gIH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogI3skbXEtYnJlYWtwb2ludH0pIHtcbiAgICBAY29udGVudDtcbiAgfVxufVxuXG5AbWl4aW4gdHJhbnNpdGlvbihcbiAgJHByb3BlcnR5OiAkdHJhbnNpdGlvbi1wcm9wZXJ0eS1kZWZhdWx0LFxuICAkZHVyYXRpb246ICR0cmFuc2l0aW9uLWR1cmF0aW9uLWRlZmF1bHQsXG4gICR0aW1pbmc6ICR0cmFuc2l0aW9uLXRpbWluZy1kZWZhdWx0LFxuICAkZGVsYXk6ICR0cmFuc2l0aW9uLWRlbGF5LWRlZmF1bHRcbikge1xuICB0cmFuc2l0aW9uLXByb3BlcnR5OiAjeyRwcm9wZXJ0eX07XG4gIHRyYW5zaXRpb24tZHVyYXRpb246ICRkdXJhdGlvbjtcbiAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246ICR0aW1pbmc7XG4gIHRyYW5zaXRpb24tZGVsYXk6ICRkZWxheTtcbn1cblxuQG1peGluIGZzKCRzaXplOiBtYWluKSB7XG4gIGZvbnQtc2l6ZTogdmFyKC0tZnMtI3skc2l6ZX0pO1xuICBsaW5lLWhlaWdodDogdmFyKC0tbGgtI3skc2l6ZX0pO1xufVxuXG5AbWl4aW4gZm9udCgkZm9udDogbWFpbikge1xuICBmb250LWZhbWlseTogbWFwLWdldChtYXAtZ2V0KCRmb250cywgJGZvbnQpLCBuYW1lKSwgdW5xdW90ZShtYXAtZ2V0KG1hcC1nZXQoJGZvbnRzLCAkZm9udCksIGZhbGxiYWNrKSk7XG59XG4iLCIvLyBCT1JERVItQk9YLCBSRVNFVFxuXG5odG1sIHtcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbn1cblxuKixcbio6YWZ0ZXIsXG4qOmJlZm9yZSB7XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG59XG5cbioge1xuICBtYXJnaW46IDA7XG4gIC13ZWJraXQtZm9udC1mZWF0dXJlLXNldHRpbmdzOiBcImtlcm5cIiAxO1xuICBmb250LWZlYXR1cmUtc2V0dGluZ3M6IFwia2VyblwiIDE7XG4gIC13ZWJraXQtZm9udC1rZXJuaW5nOiBub3JtYWw7XG4gIGZvbnQta2VybmluZzogbm9ybWFsO1xuICAtbW96LW9zeC1mb250LXNtb290aGluZzogZ3JheXNjYWxlO1xuICAtd2Via2l0LWZvbnQtc21vb3RoaW5nOiBhbnRpYWxpYXNlZDtcbn1cblxuYm9keSxcbmh0bWwge1xuICAtd2Via2l0LXRhcC1oaWdobGlnaHQtY29sb3I6IHRyYW5zcGFyZW50O1xuICBoZWlnaHQ6IDEwMCU7XG4gIG1hcmdpbjogMCAhaW1wb3J0YW50O1xuICBwYWRkaW5nOiAwICFpbXBvcnRhbnQ7XG59XG5cbi8vIF9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18gLy9cblxuLy8gVFlQRSBTSVpFXG5cbmh0bWwsXG5ib2R5IHtcbiAgQGluY2x1ZGUgZm9udDtcbiAgQGluY2x1ZGUgZnM7XG4gIGNvbG9yOiB2YXIoLS1jb2xvci10ZXh0KTtcbiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY29sb3ItYmcpO1xufVxuXG5odG1sIHtcbiAgYmFja2dyb3VuZDogdmFyKC0tY29sb3ItYmcpO1xufVxuXG5hIHtcbiAgY29sb3I6IHZhcigtLWNvbG9yLWxpbmspO1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gIGN1cnNvcjogcG9pbnRlcjtcbn1cblxudWwsXG5vbCB7XG4gIG1hcmdpbjogMDtcbiAgcGFkZGluZzogMDtcbn1cblxudWwge1xuICBsaXN0LXN0eWxlLXR5cGU6IG5vbmU7XG59XG5cbm9sIHtcbiAgbGlzdC1zdHlsZS1wb3NpdGlvbjogaW5zaWRlO1xufVxuXG5pbWcge1xuICB3aWR0aDogMTAwJTtcbn1cblxuc3Ryb25nLFxuYiB7XG4gIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG59XG5cbmksXG5lbSB7XG4gIGZvbnQtc3R5bGU6IG5vcm1hbDtcbn1cblxuaDEsXG5oMixcbmgzLFxuaDQsXG5oNSxcbmg2LFxuc21hbGwge1xuICBtYXJnaW46IDA7XG4gIHBhZGRpbmc6IDA7XG4gIGJvcmRlcjogMDtcbiAgb3V0bGluZTogMDtcbiAgZm9udC13ZWlnaHQ6IGluaGVyaXQ7XG4gIGZvbnQtc3R5bGU6IGluaGVyaXQ7XG4gIGZvbnQtc2l6ZTogMTAwJTtcbiAgZm9udC1mYW1pbHk6IGluaGVyaXQ7XG4gIHZlcnRpY2FsLWFsaWduOiBiYXNlbGluZTtcbn1cbiIsIi8vIC8vIElOSVRJQVRFIEZPTlRTXG5cbkBlYWNoICRpLCAkZm9udC1wcm9wZXJ0aWVzIGluICRmb250cyB7XG4gIEBpZiAobWFwLWdldCgkZm9udC1wcm9wZXJ0aWVzLCB3aXRoRmlsZSkgIT0gZmFsc2UpIHtcbiAgICBAZm9udC1mYWNlIHtcbiAgICAgIGZvbnQtZmFtaWx5OiBtYXAtZ2V0KCRmb250LXByb3BlcnRpZXMsIG5hbWUpO1xuICAgICAgc3JjOiB1cmwoXCIuLi9mb250cy9cIiArIG1hcC1nZXQoJGZvbnQtcHJvcGVydGllcywgbmFtZSkgKyBcIi53b2ZmXCIpIGZvcm1hdChcIndvZmZcIiksXG4gICAgICAgIHVybChcIi4uL2ZvbnRzL1wiICsgbWFwLWdldCgkZm9udC1wcm9wZXJ0aWVzLCBuYW1lKSArIFwiLndvZmYyXCIpIGZvcm1hdChcIndvZmYyXCIpO1xuICAgICAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgICAgIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgICAgIGZvbnQtZGlzcGxheTogYXV0bztcbiAgICB9XG4gIH1cbn1cbiIsIkBmdW5jdGlvbiBnZXRXaWR0aCgkY29sdW1ucywgJHRvdGFsKSB7XG4gIEByZXR1cm4gY2FsYygoMTAwJSAtIHZhcigtLW1hcmdpbi1zbSkgKiAoJHRvdGFsIC0gMSkpIC8gJHRvdGFsICogJGNvbHVtbnMgKyB2YXIoLS1tYXJnaW4tc20pICogKCRjb2x1bW5zIC0gMSkpO1xufVxuXG4uY29udGFpbmVyIHtcbiAgbWluLWhlaWdodDogMTAwdmg7XG4gIG1pbi1oZWlnaHQ6IGNhbGModmFyKC0tdmgsIDF2aCkgKiAxMDApO1xuICBwYWRkaW5nLXRvcDogdmFyKC0taGVhZGVyLWhlaWdodCk7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG59XG5cbi5tYWluIHtcbiAgZmxleDogMTtcbn1cblxuQG1peGluIGdyaWQoJGNvbHVtbnM6IDEyKSB7XG4gIGRpc3BsYXk6IGdyaWQ7XG4gIGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KCRjb2x1bW5zLCBtaW5tYXgoMCwgMWZyKSk7XG4gIGdyaWQtY29sdW1uLWdhcDogdmFyKC0tbWFyZ2luLXNtKTtcbn1cblxuQG1peGluIGJpZygkdXBwZXI6IGZhbHNlKSB7XG4gIEBpbmNsdWRlIGZzKGgxKTtcbiAgbGV0dGVyLXNwYWNpbmc6IC0wLjAyNWVtO1xuICB3b3JkLXNwYWNpbmc6IC0wLjAyNWVtO1xuXG4gIEBpZiAoJHVwcGVyKSB7XG4gICAgbGV0dGVyLXNwYWNpbmc6IC0wLjA1ZW07XG4gICAgd29yZC1zcGFjaW5nOiAtMC4wNWVtO1xuICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgLXdlYmtpdC1mb250LWZlYXR1cmUtc2V0dGluZ3M6IFwiY2FzZVwiIDE7XG4gICAgZm9udC1mZWF0dXJlLXNldHRpbmdzOiBcImNhc2VcIiAxO1xuICB9XG59XG5cbkBtaXhpbiB0ZXh0KCRpbmRlbnQ6IHRydWUpIHtcbiAgcCB7XG4gICAgJjpub3QoOmxhc3QtY2hpbGQpIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IHZhcigtLWxoLW1haW4pO1xuICAgIH1cbiAgfVxuXG4gIGksXG4gIGVtIHtcbiAgICBAaW5jbHVkZSBmb250KGl0YWxpYyk7XG4gIH1cblxuICBociB7XG4gICAgbWFyZ2luOiAzcHggMDtcbiAgICBib3JkZXI6IG5vbmU7XG4gICAgaGVpZ2h0OiAxcHg7XG4gICAgLXdlYmtpdC1jb2x1bW4tc3BhbjogYWxsO1xuICAgIGNvbHVtbi1zcGFuOiBhbGw7XG4gICAgY29sb3I6IHZhcigtLWNvbG9yLXRleHQpO1xuICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWNvbG9yLXRleHQpO1xuICB9XG5cbiAgcCArIGhyIHtcbiAgICBtYXJnaW4tdG9wOiBjYWxjKHZhcigtLWxoLW1haW4pICogLTEgKyAzcHgpO1xuXG4gICAgQGluY2x1ZGUgbXEobGcpIHtcbiAgICAgIG1hcmdpbi10b3A6IDNweDtcbiAgICB9XG4gIH1cblxuICBhIHtcbiAgICAtd2Via2l0LWh5cGhlbnM6IG5vbmU7XG4gICAgLW1zLWh5cGhlbnM6IG5vbmU7XG4gICAgaHlwaGVuczogbm9uZTtcbiAgfVxuXG4gIGZpZ3VyZSB7XG4gICAgQGluY2x1ZGUgcGFkZGluZygxIDAgMCAwKTtcbiAgICBkaXNwbGF5OiBmbGV4O1xuXG4gICAgJi5ib3JkZXIge1xuICAgICAgcGFkZGluZzogMDtcbiAgICAgIGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLWNvbG9yLXRleHQpO1xuICAgIH1cbiAgfVxuXG4gIHNtYWxsIHtcbiAgICBAaW5jbHVkZSBmcyhzbWFsbCk7XG4gIH1cblxuICAudGV4dF9fZ3JpZCB7XG4gICAgQGluY2x1ZGUgZ3JpZCgyKTtcbiAgfVxufVxuIiwiLmhlYWRlciB7XG4gIEBpbmNsdWRlIG1hcmdpbigwIDAgMSAwKTtcbiAgcG9zaXRpb246IGZpeGVkO1xuICB0b3A6IDA7XG4gIGxlZnQ6IDA7XG4gIHdpZHRoOiAxMDAlO1xuICB6LWluZGV4OiA5OTk7XG4gIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWNvbG9yLWJnKTtcbn1cblxuLmhlYWRlcl9faW5uZXIge1xuICBAaW5jbHVkZSBwYWRkaW5nKDAgMS4yKTtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB6LWluZGV4OiAyO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jb2xvci1iZyk7XG5cbiAgQGluY2x1ZGUgbXEoc20pIHtcbiAgICBAaW5jbHVkZSBwYWRkaW5nKDAgMik7XG4gIH1cbn1cblxuLmhlYWRlcl9fdG9wIHtcbiAgQGluY2x1ZGUgbWFyZ2luKDAgMCAwLjYgLTEuMik7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcblxuICBAaW5jbHVkZSBtcShzbSkge1xuICAgIEBpbmNsdWRlIG1hcmdpbigwIDAgMC42IC0yKTtcbiAgfVxufVxuXG4uaGVhZGVyX190aXRsZSB7XG4gIG92ZXJmbG93OiBoaWRkZW47XG59XG5cbi5oZWFkZXJfX3RpdGxlX19pbm5lciB7XG4gIGRpc3BsYXk6IGZsZXg7XG59XG5cbi5oZWFkZXJfX3RpdGxlX19pdGVtIHtcbiAgQGluY2x1ZGUgbWFyZ2luKDAgMS4yKTtcbiAgZGlzcGxheTogZmxleDtcbiAgaGVpZ2h0OiBjYWxjKHZhcigtLWhhbWJ1cmdlci1oZWlnaHQpICsgNnB4KTtcblxuICBAaW5jbHVkZSBtcShzbSkge1xuICAgIEBpbmNsdWRlIG1hcmdpbigwIDIpO1xuICB9XG5cbiAgJiA+IGRpdiB7XG4gICAgd2lkdGg6IGNhbGMoMTAwdncgLSB2YXIoLS1tYXJnaW4tc20pICogMi40KTtcbiAgICBkaXNwbGF5OiBmbGV4O1xuXG4gICAgQGluY2x1ZGUgbXEoc20pIHtcbiAgICAgIHdpZHRoOiBjYWxjKDEwMHZ3IC0gdmFyKC0tbWFyZ2luLWxnKSk7XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgbXEobGcpIHtcbiAgICAgIHdpZHRoOiBjYWxjKCgxMDB2dyAtIHZhcigtLWhhbWJ1cmdlci1oZWlnaHQpIC0gdmFyKC0tbWFyZ2luLXNtKSAqIDYpIC8gMik7XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgbXEoeGwpIHtcbiAgICAgIHdpZHRoOiBjYWxjKHZhcigtLWxvZ290eXBlLXdpZHRoKSArICgoMTAwdncgLSB2YXIoLS1oYW1idXJnZXItaGVpZ2h0KSAtIHZhcigtLW1hcmdpbi1zbSkgKiAxNikgLSB2YXIoLS1sb2dvdHlwZS13aWR0aCkgKiAzKSAvIDIpO1xuICAgIH1cblxuICAgICYgPiBhIHtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgfVxuXG4gICAgc3ZnIHtcbiAgICAgIGhlaWdodDogY2FsYyh2YXIoLS1oYW1idXJnZXItaGVpZ2h0KSAqICh2YXIoLS1sb2dvdHlwZS1mdWxsLXJhdGlvKSAvIHZhcigtLWxvZ290eXBlLXJhdGlvKSkpO1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgYm90dG9tOiAwO1xuICAgIH1cbiAgfVxufVxuXG4uaGVhZGVyX19oYW1idXJnZXIge1xuICBAaW5jbHVkZSBwYWRkaW5nKDAuNiAwIDAgMS4yKTtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICByaWdodDogMDtcbiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY29sb3ItYmcpO1xuICBoZWlnaHQ6IDEwMCU7XG5cbiAgQGluY2x1ZGUgbXEoc20pIHtcbiAgICBAaW5jbHVkZSBwYWRkaW5nKDAuNiAwIDAgMik7XG4gICAgcmlnaHQ6IDA7XG4gIH1cbn1cblxuLmhlYWRlcl9faGFtYnVyZ2VyX19pbm5lciB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgd2lkdGg6IHZhcigtLWhhbWJ1cmdlci1oZWlnaHQpO1xuICBoZWlnaHQ6IHZhcigtLWhhbWJ1cmdlci1oZWlnaHQpO1xuICBjdXJzb3I6IHBvaW50ZXI7XG5cbiAgJjpiZWZvcmUsXG4gICY6YWZ0ZXIsXG4gIHNwYW4ge1xuICAgIEBpbmNsdWRlIHRyYW5zaXRpb24odHJhbnNmb3JtKTtcbiAgICBoZWlnaHQ6IDJweDtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWNvbG9yLXRleHQpO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0cmFuc2Zvcm0tb3JpZ2luOiB0b3AgbGVmdDtcblxuICAgIEBpbmNsdWRlIG1xKHNtKSB7XG4gICAgICBoZWlnaHQ6IDRweDtcbiAgICB9XG4gIH1cblxuICAmOmJlZm9yZSxcbiAgJjphZnRlciB7XG4gICAgY29udGVudDogXCJcIjtcbiAgfVxuXG4gICY6YmVmb3JlIHtcbiAgICB0b3A6IDVweDtcblxuICAgIEBpbmNsdWRlIG1xKHNtKSB7XG4gICAgICB0b3A6IDhweDtcbiAgICB9XG4gIH1cblxuICBzcGFuIHtcbiAgICB0b3A6IGNhbGMoNTAlIC0gMXB4KTtcblxuICAgIEBpbmNsdWRlIG1xKHNtKSB7XG4gICAgICB0b3A6IGNhbGMoNTAlIC0gMnB4KTtcbiAgICB9XG4gIH1cblxuICAmOmFmdGVyIHtcbiAgICBib3R0b206IDVweDtcblxuICAgIEBpbmNsdWRlIG1xKHNtKSB7XG4gICAgICBib3R0b206IDhweDtcbiAgICB9XG4gIH1cblxuICAmLmFjdGl2ZSB7XG4gICAgc3BhbiB7XG4gICAgICB0cmFuc2Zvcm06IHNjYWxlWSgwKTtcbiAgICB9XG5cbiAgICAmOmJlZm9yZSB7XG4gICAgICB0cmFuc2Zvcm06IHJvdGF0ZSg0NWRlZykgdHJhbnNsYXRlWCgycHgpIHRyYW5zbGF0ZVkoLTVweCk7XG5cbiAgICAgIEBpbmNsdWRlIG1xKHNtKSB7XG4gICAgICAgIHRyYW5zZm9ybTogcm90YXRlKDQ1ZGVnKSB0cmFuc2xhdGVYKDRweCkgdHJhbnNsYXRlWSgtN3B4KTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAmOmFmdGVyIHtcbiAgICAgIHRyYW5zZm9ybTogcm90YXRlKC00NWRlZykgdHJhbnNsYXRlWCgycHgpIHRyYW5zbGF0ZVkoM3B4KTtcblxuICAgICAgQGluY2x1ZGUgbXEoc20pIHtcbiAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoLTQ1ZGVnKSB0cmFuc2xhdGVYKDFweCkgdHJhbnNsYXRlWSg1cHgpO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG4uaGVhZGVyX19zdWJ0aXRsZSB7XG4gIEBpbmNsdWRlIHBhZGRpbmcoMC41IDApO1xuICBib3JkZXItdG9wOiAxcHggc29saWQgdmFyKC0tY29sb3ItdGV4dCk7XG4gIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCB2YXIoLS1jb2xvci10ZXh0KTtcbiAgZGlzcGxheTogZ3JpZDtcbiAgZ3JpZC1jb2x1bW4tZ2FwOiB2YXIoLS1tYXJnaW4tc20pO1xuICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IGNhbGMoKDEwMCUgLSB2YXIoLS1tYXJnaW4tc20pKSAvIDIpIGNhbGMoKDEwMCUgLSB2YXIoLS1tYXJnaW4tc20pICogMykgLyAyIC0gdmFyKC0taGFtYnVyZ2VyLWhlaWdodCkpIHZhcigtLWhhbWJ1cmdlci1oZWlnaHQpO1xufVxuXG4uaGVhZGVyX19zdWJ0aXRsZV9faXRlbSB7XG4gIGdyaWQtY29sdW1uOiAxIC8gMztcblxuICBAaW5jbHVkZSBtcShsZykge1xuICAgIGdyaWQtY29sdW1uOiBpbml0aWFsO1xuICB9XG5cbiAgJjpudGgtY2hpbGQoMSkge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcblxuICAgIEBpbmNsdWRlIG1xKHNtKSB7XG4gICAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xuXG4gICAgICAmID4gc3BhbjpmaXJzdC1jaGlsZCB7XG4gICAgICAgIEBpbmNsdWRlIG1hcmdpbigwIDIgMCAwKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuLmhlYWRlcl9fbGFuZ3VhZ2VzIHtcbiAgZ3JpZC1yb3c6IDEgLyAyO1xuICBncmlkLWNvbHVtbjogMyAvIDQ7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7XG4gIGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0O1xufVxuXG4uaGVhZGVyX19sYW5ndWFnZSB7XG4gIGRpc3BsYXk6IGZsZXg7XG5cbiAgYSB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB9XG5cbiAgJi5hY3RpdmUgYTphZnRlciB7XG4gICAgY29udGVudDogXCJcIjtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgYm90dG9tOiAxcHg7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkO1xuICAgIGxlZnQ6IDA7XG4gIH1cblxuICAmOm5vdCg6bGFzdC1jaGlsZCkge1xuICAgICY6YWZ0ZXIge1xuICAgICAgY29udGVudDogXCIgLyBcIjtcbiAgICB9XG4gIH1cbn1cbiIsIi8vIC8vIElOSVRJQVRFIE1BUkdJTlMgQU5EIFBBRERJTkdcblxuQG1peGluIHByb3BlcnR5KCRwcm9wZXJ0eSwgJHZhbHVlcykge1xuICAkdG9wOiAkcHJvcGVydHkgKyBcIi10b3BcIjtcbiAgJGJvdHRvbTogJHByb3BlcnR5ICsgXCItYm90dG9tXCI7XG4gICRyaWdodDogJHByb3BlcnR5ICsgXCItcmlnaHRcIjtcbiAgJGxlZnQ6ICRwcm9wZXJ0eSArIFwiLWxlZnRcIjtcblxuICBAaWYgbGVuZ3RoKCR2YWx1ZXMpID09IDEge1xuICAgICN7JHRvcH06IGNhbGMoI3tudGgoJHZhbHVlcywgMSl9ICogdmFyKC0tYmFzZS1zcGFjZSkpO1xuICAgICN7JGJvdHRvbX06IGNhbGMoI3tudGgoJHZhbHVlcywgMSl9ICogdmFyKC0tYmFzZS1zcGFjZSkpO1xuICAgICN7JHJpZ2h0fTogY2FsYygje250aCgkdmFsdWVzLCAxKX0gKiB2YXIoLS1iYXNlLXNwYWNlKSk7XG4gICAgI3skbGVmdH06IGNhbGMoI3tudGgoJHZhbHVlcywgMSl9ICogdmFyKC0tYmFzZS1zcGFjZSkpO1xuICB9IEBlbHNlIGlmIGxlbmd0aCgkdmFsdWVzKSA9PSAyIHtcbiAgICAjeyR0b3B9OiBjYWxjKCN7bnRoKCR2YWx1ZXMsIDEpfSAqIHZhcigtLWJhc2Utc3BhY2UpKTtcbiAgICAjeyRib3R0b219OiBjYWxjKCN7bnRoKCR2YWx1ZXMsIDEpfSAqIHZhcigtLWJhc2Utc3BhY2UpKTtcbiAgICAjeyRyaWdodH06IGNhbGMoI3tudGgoJHZhbHVlcywgMil9ICogdmFyKC0tYmFzZS1zcGFjZSkpO1xuICAgICN7JGxlZnR9OiBjYWxjKCN7bnRoKCR2YWx1ZXMsIDIpfSAqIHZhcigtLWJhc2Utc3BhY2UpKTtcbiAgfSBAZWxzZSBpZiBsZW5ndGgoJHZhbHVlcykgPT0gMyB7XG4gICAgI3skdG9wfTogY2FsYygje250aCgkdmFsdWVzLCAxKX0gKiB2YXIoLS1iYXNlLXNwYWNlKSk7XG4gICAgI3skYm90dG9tfTogY2FsYygje250aCgkdmFsdWVzLCAzKX0gKiB2YXIoLS1iYXNlLXNwYWNlKSk7XG4gICAgI3skcmlnaHR9OiBjYWxjKCN7bnRoKCR2YWx1ZXMsIDIpfSAqIHZhcigtLWJhc2Utc3BhY2UpKTtcbiAgICAjeyRsZWZ0fTogY2FsYygje250aCgkdmFsdWVzLCAyKX0gKiB2YXIoLS1iYXNlLXNwYWNlKSk7XG4gIH0gQGVsc2UgaWYgbGVuZ3RoKCR2YWx1ZXMpID09IDQge1xuICAgICN7JHRvcH06IGNhbGMoI3tudGgoJHZhbHVlcywgMSl9ICogdmFyKC0tYmFzZS1zcGFjZSkpO1xuICAgICN7JGJvdHRvbX06IGNhbGMoI3tudGgoJHZhbHVlcywgMyl9ICogdmFyKC0tYmFzZS1zcGFjZSkpO1xuICAgICN7JHJpZ2h0fTogY2FsYygje250aCgkdmFsdWVzLCAyKX0gKiB2YXIoLS1iYXNlLXNwYWNlKSk7XG4gICAgI3skbGVmdH06IGNhbGMoI3tudGgoJHZhbHVlcywgNCl9ICogdmFyKC0tYmFzZS1zcGFjZSkpO1xuICB9XG59XG5cbkBtaXhpbiBwYWRkaW5nKCR2YWx1ZXMpIHtcbiAgQGluY2x1ZGUgcHJvcGVydHkocGFkZGluZywgJHZhbHVlcyk7XG59XG5cbkBtaXhpbiBtYXJnaW4oJHZhbHVlcykge1xuICBAaW5jbHVkZSBwcm9wZXJ0eShtYXJnaW4sICR2YWx1ZXMpO1xufVxuIiwiLmZvb3RlciB7XG4gIEBpbmNsdWRlIG1hcmdpbigxMiAwIDAgMCk7XG4gIEBpbmNsdWRlIHBhZGRpbmcoMS4yKTtcbiAgcGFkZGluZy1ib3R0b206IDA7XG4gIG92ZXJmbG93OiBoaWRkZW47XG5cbiAgQGluY2x1ZGUgbXEoc20pIHtcbiAgICBAaW5jbHVkZSBtYXJnaW4oMjAgMCAwIDApO1xuICAgIEBpbmNsdWRlIHBhZGRpbmcoMik7XG4gICAgcGFkZGluZy1ib3R0b206IDA7XG4gIH1cbn1cblxuLmZvb3Rlcl9fY29sIHtcbiAgLnNtYWxsIHtcbiAgICBAaW5jbHVkZSBmcyhzbWFsbCk7XG4gICAgQGluY2x1ZGUgcGFkZGluZygwLjUgMCAwIDApO1xuICB9XG59XG5cbi5mb290ZXJfX21hcnF1ZWUge1xuICBAaW5jbHVkZSBwYWRkaW5nKDAuNSAwIDAgMCk7XG4gIEBpbmNsdWRlIG1hcmdpbigwIDAgMC41IC0xLjIpO1xuICBkaXNwbGF5OiBmbGV4O1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIG92ZXJmbG93OiBoaWRkZW47XG5cbiAgJjpiZWZvcmUge1xuICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgd2lkdGg6IGNhbGMoMTAwdncgLSB2YXIoLS1tYXJnaW4tc20pICogMi40KTtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgYm9yZGVyLXRvcDogMXB4IHNvbGlkO1xuICAgIGxlZnQ6IGNhbGModmFyKC0tbWFyZ2luLXNtKSAqIDEuMik7XG4gICAgdG9wOiAwO1xuXG4gICAgQGluY2x1ZGUgbXEoc20pIHtcbiAgICAgIHdpZHRoOiBjYWxjKDEwMHZ3IC0gdmFyKC0tbWFyZ2luLW1kKSAqIDIpO1xuICAgICAgbGVmdDogdmFyKC0tbWFyZ2luLW1kKTtcbiAgICB9XG4gIH1cblxuICBAaW5jbHVkZSBtcShzbSkge1xuICAgIEBpbmNsdWRlIG1hcmdpbigwIDAgMC41IC0yKTtcbiAgfVxufVxuXG4uZm9vdGVyX19tYXJxdWVlX19pbm5lciB7XG4gIGRpc3BsYXk6IGZsZXg7XG59XG5cbi5mb290ZXJfX21hcnF1ZWVfX2l0ZW0ge1xuICBAaW5jbHVkZSBtYXJnaW4oMCAxLjIpO1xuICBkaXNwbGF5OiBmbGV4O1xuXG4gIEBpbmNsdWRlIG1xKHNtKSB7XG4gICAgQGluY2x1ZGUgbWFyZ2luKDAgMik7XG4gIH1cblxuICAmID4gZGl2IHtcbiAgICB3aWR0aDogY2FsYygxMDB2dyAtIHZhcigtLW1hcmdpbi1zbSkgKiAyLjQpO1xuXG4gICAgQGluY2x1ZGUgbXEoc20pIHtcbiAgICAgIHdpZHRoOiBjYWxjKDEwMHZ3IC0gdmFyKC0tbWFyZ2luLXNtKSAqIDQpO1xuICAgIH1cblxuICAgIEBpbmNsdWRlIG1xKGxnKSB7XG4gICAgICB3aWR0aDogY2FsYygoMTAwdncgLSB2YXIoLS1tYXJnaW4tc20pICogMTEpIC8gMik7XG4gICAgfVxuICB9XG59XG5cbi5mb290ZXJfX2xpbmUge1xuICBAaW5jbHVkZSBncmlkKDEpO1xuICBAaW5jbHVkZSBwYWRkaW5nKDAuNSAwKTtcbiAgYm9yZGVyLXRvcDogMXB4IHNvbGlkIHZhcigtLWNvbG9yLXRleHQpO1xuICBib3JkZXItYm90dG9tOiAxcHggc29saWQgdmFyKC0tY29sb3ItdGV4dCk7XG5cbiAgQGluY2x1ZGUgbXEobGcpIHtcbiAgICBAaW5jbHVkZSBncmlkKDIpO1xuICB9XG5cbiAgJjpub3QoOmZpcnN0LWNoaWxkKSB7XG4gICAgbWFyZ2luLXRvcDogLTFweDtcbiAgfVxuXG4gICYtLXBhcnRuZXJzIHtcbiAgICBib3JkZXItYm90dG9tOiAwO1xuICAgIEBpbmNsdWRlIGdyaWQoMik7XG5cbiAgICBAaW5jbHVkZSBtcShsZykge1xuICAgICAgQGluY2x1ZGUgZ3JpZCgyKTtcbiAgICB9XG4gIH1cbn1cblxuLmZvb3Rlcl9fcGFydG5lcnMge1xuICBAaW5jbHVkZSBncmlkKDEpO1xuICBib3JkZXItdG9wOiAxcHggc29saWQgdmFyKC0tY29sb3ItdGV4dCk7XG4gIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCB2YXIoLS1jb2xvci10ZXh0KTtcblxuICBAaW5jbHVkZSBtcShsZykge1xuICAgIEBpbmNsdWRlIGdyaWQoMik7XG4gIH1cblxuICAmOm5vdCg6Zmlyc3QtY2hpbGQpIHtcbiAgICBtYXJnaW4tdG9wOiAtMXB4O1xuICB9XG59XG5cbi5mb290ZXJfX3BhcnRuZXJzX19jb2wge1xuICBAaW5jbHVkZSBwYWRkaW5nKDAuNSAwKTtcblxuICAmOm5vdCg6bGFzdC1jaGlsZCkge1xuICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCB2YXIoLS1jb2xvci10ZXh0KTtcblxuICAgIEBpbmNsdWRlIG1xKGxnKSB7XG4gICAgICBib3JkZXItYm90dG9tOiAwO1xuICAgIH1cbiAgfVxuXG4gICY6Zmlyc3QtY2hpbGQ6bGFzdC1jaGlsZCB7XG4gICAgZ3JpZC1jb2x1bW46IDEgLyAtMTtcbiAgfVxufVxuXG4uZm9vdGVyX19wYXJ0bmVyc19fbG9nb3R5cGVzIHtcbiAgQGluY2x1ZGUgcGFkZGluZygxIDAgMCAwKTtcbiAgZGlzcGxheTogZ3JpZDtcbiAgZ3JpZC1yb3ctZ2FwOiB2YXIoLS1tYXJnaW4tbWQpO1xuICBncmlkLWNvbHVtbi1nYXA6IHZhcigtLW1hcmdpbi1tZCk7XG4gIGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KGF1dG8tZml0LCBtaW5tYXgoMTAwcHgsIDE2MHB4KSk7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cbiAgQGluY2x1ZGUgbXEobGcpIHtcbiAgICBAaW5jbHVkZSBwYWRkaW5nKDEgMCAwIDApO1xuICAgIGdyaWQtY29sdW1uLWdhcDogdmFyKC0tbWFyZ2luLWxnKTtcbiAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdChhdXRvLWZpdCwgbWlubWF4KDIwMHB4LCAyNTBweCkpO1xuICB9XG59XG5cbi5mb290ZXJfX25ld3NsZXR0ZXIge1xuICBAaW5jbHVkZSBiaWc7XG4gIEBpbmNsdWRlIG1hcmdpbigwLjUgMCAwIDApO1xuXG4gIEBpbmNsdWRlIG1xKGxnKSB7XG4gICAgbWFyZ2luOiAwO1xuICB9XG59XG5cbi5mb290ZXJfX25ld3NsZXR0ZXJfX2Zvcm0ge1xuICBAaW5jbHVkZSBwYWRkaW5nKDAuNCAwKTtcbiAgQGluY2x1ZGUgZ3JpZCgxKTtcblxuICBAaW5jbHVkZSBtcShsZykge1xuICAgIEBpbmNsdWRlIGdyaWQoMik7XG4gIH1cblxuICAmID4gZGl2IHtcbiAgICBoZWlnaHQ6IHZhcigtLWxoLWgxKTtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICB9XG5cbiAgJi5oaWRkZW4ge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cbn1cblxuLmZvb3Rlcl9fbmV3c2xldHRlcl9fc3VjY2VzcyB7XG4gIEBpbmNsdWRlIHBhZGRpbmcoMCAwIDEgMCk7XG5cbiAgJi5oaWRkZW4ge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cbn1cblxuLmZvb3Rlcl9fbmV3c2xldHRlcl9faW5wdXQge1xuICBhbGw6IHVuc2V0O1xuICBwYWRkaW5nOiAwO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTZweCk7XG5cbiAgQGluY2x1ZGUgbXEoc20pIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTEycHgpO1xuICB9XG5cbiAgJjo6LXdlYmtpdC1pbnB1dC1wbGFjZWhvbGRlciB7XG4gICAgY29sb3I6IHZhcigtLWNvbG9yLWdyZXkpO1xuICB9XG5cbiAgJjo6LW1zLWlucHV0LXBsYWNlaG9sZGVyIHtcbiAgICBjb2xvcjogdmFyKC0tY29sb3ItZ3JleSk7XG4gIH1cblxuICAmOjpwbGFjZWhvbGRlciB7XG4gICAgY29sb3I6IHZhcigtLWNvbG9yLWdyZXkpO1xuICB9XG59XG5cbi5mb290ZXJfX25ld3NsZXR0ZXJfX2J1dHRvbiB7XG4gIGFsbDogdW5zZXQ7XG4gIHBhZGRpbmc6IDA7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgbWFyZ2luLXRvcDogLTRweDtcblxuICBAaW5jbHVkZSBtcShsZykge1xuICAgIG1hcmdpbjogMDtcbiAgfVxufVxuXG4uZm9vdGVyX19sb2dvdHlwZXMge1xuICBAaW5jbHVkZSBtYXJnaW4oMC42IC0xLjIgMCAtMS4yKTtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMTFweCk7XG5cbiAgQGluY2x1ZGUgbXEoc20pIHtcbiAgICBAaW5jbHVkZSBtYXJnaW4oMCAtMiAwIC0yKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMTlweCk7XG4gIH1cblxuICAmOmFmdGVyIHtcbiAgICBjb250ZW50OiBcIlwiO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgd2lkdGg6IGNhbGModmFyKC0taGFtYnVyZ2VyLWhlaWdodCkgKyB2YXIoLS1tYXJnaW4tc20pICogMi40KTtcbiAgICByaWdodDogMDtcbiAgICB0b3A6IDA7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogd2hpdGU7XG5cbiAgICBAaW5jbHVkZSBtcShzbSkge1xuICAgICAgd2lkdGg6IGNhbGModmFyKC0taGFtYnVyZ2VyLWhlaWdodCkgKyB2YXIoLS1tYXJnaW4tc20pICogNCk7XG4gICAgfVxuICB9XG59XG5cbi5mb290ZXJfX2xvZ290eXBlc19faW5uZXIge1xuICBkaXNwbGF5OiBmbGV4O1xufVxuXG4uZm9vdGVyX19sb2dvdHlwZXNfX2l0ZW0ge1xuICBAaW5jbHVkZSBtYXJnaW4oMCAxLjIpO1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuXG4gIEBpbmNsdWRlIG1xKHNtKSB7XG4gICAgQGluY2x1ZGUgbWFyZ2luKDAgMik7XG4gIH1cblxuICAmID4gZGl2IHtcbiAgICB3aWR0aDogY2FsYygxMDB2dyAtIHZhcigtLW1hcmdpbi1zbSkgKiAyLjQpO1xuICAgIGRpc3BsYXk6IGZsZXg7XG5cbiAgICBAaW5jbHVkZSBtcShzbSkge1xuICAgICAgd2lkdGg6IGNhbGMoMTAwdncgLSB2YXIoLS1tYXJnaW4tbGcpKTtcbiAgICB9XG5cbiAgICBAaW5jbHVkZSBtcShsZykge1xuICAgICAgd2lkdGg6IGNhbGMoKDEwMHZ3IC0gdmFyKC0taGFtYnVyZ2VyLWhlaWdodCkgLSB2YXIoLS1tYXJnaW4tc20pICogNikgLyAyKTtcbiAgICB9XG5cbiAgICBAaW5jbHVkZSBtcSh4bCkge1xuICAgICAgd2lkdGg6IGNhbGModmFyKC0tbG9nb3R5cGUtd2lkdGgpICsgKCgxMDB2dyAtIHZhcigtLWhhbWJ1cmdlci1oZWlnaHQpIC0gdmFyKC0tbWFyZ2luLXNtKSAqIDE2KSAtIHZhcigtLWxvZ290eXBlLXdpZHRoKSAqIDMpIC8gMik7XG4gICAgfVxuXG4gICAgJiA+IGEge1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB9XG5cbiAgICAmOm5vdCg6Zmlyc3QtY2hpbGQpIHtcbiAgICAgIG1hcmdpbi10b3A6IC0xMHB4O1xuXG4gICAgICBAaW5jbHVkZSBtcShzbSkge1xuICAgICAgICBtYXJnaW4tdG9wOiAtMThweDtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBzdmcge1xuICAgICAgaGVpZ2h0OiBjYWxjKHZhcigtLWhhbWJ1cmdlci1oZWlnaHQpICogKHZhcigtLWxvZ290eXBlLWZ1bGwtcmF0aW8pIC8gdmFyKC0tbG9nb3R5cGUtcmF0aW8pKSk7XG4gICAgfVxuICB9XG59XG4iLCIuYmxvY2tzIHtcbiAgQGluY2x1ZGUgZ3JpZCgxKTtcbiAgQGluY2x1ZGUgcGFkZGluZygwIDEuMik7XG5cbiAgQGluY2x1ZGUgbXEoc20pIHtcbiAgICBAaW5jbHVkZSBwYWRkaW5nKDAgMik7XG4gIH1cblxuICBAaW5jbHVkZSBtcShsZykge1xuICAgIEBpbmNsdWRlIGdyaWQoMik7XG4gIH1cbn1cbiIsIi5oZWFkbGluZSB7XG4gIEBpbmNsdWRlIG1xKGxnKSB7XG4gICAgZ3JpZC1jb2x1bW46IHNwYW4gMjtcbiAgfVxuXG4gICYtLW1lZGl1bTpub3QoOmZpcnN0LWNoaWxkKSB7XG4gICAgQGluY2x1ZGUgbWFyZ2luKDYgMCAwIDApO1xuXG4gICAgQGluY2x1ZGUgbXEoc20pIHtcbiAgICAgIEBpbmNsdWRlIG1hcmdpbigxMCAwIDAgMCk7XG4gICAgfVxuICB9XG5cbiAgJi0tYmlnOm5vdCg6Zmlyc3QtY2hpbGQpIHtcbiAgICBAaW5jbHVkZSBtYXJnaW4oMTIgMCAwIDApO1xuXG4gICAgQGluY2x1ZGUgbXEoc20pIHtcbiAgICAgIEBpbmNsdWRlIG1hcmdpbigyMCAwIDAgMCk7XG4gICAgfVxuICB9XG59XG5cbi5oZWFkbGluZV9faW5uZXIge1xuICBAaW5jbHVkZSBiaWc7XG59XG4iLCIudGV4dCB7XG4gICY6bm90KDpmaXJzdC1jaGlsZCkge1xuICAgIG1hcmdpbi10b3A6IHZhcigtLW1hcmdpbi1zbSk7XG4gIH1cblxuICAmLS1mdWxsIHtcbiAgICBAaW5jbHVkZSBtcShsZykge1xuICAgICAgZ3JpZC1jb2x1bW46IHNwYW4gMjtcbiAgICB9XG4gIH1cblxuICAmLS1oYWxmOm5vdCg6Zmlyc3QtY2hpbGQpIHtcbiAgICBAaW5jbHVkZSBtcShsZykge1xuICAgICAgbWFyZ2luLXRvcDogMDtcbiAgICB9XG4gIH1cblxuICAubG9nb3R5cGVzICsgJiB7XG4gICAgQGluY2x1ZGUgbWFyZ2luKDYgMCAwIDApO1xuXG4gICAgQGluY2x1ZGUgbXEoc20pIHtcbiAgICAgIEBpbmNsdWRlIG1hcmdpbigxMCAwIDAgMCk7XG4gICAgICBwYWRkaW5nLXRvcDogY2FsYyh2YXIoLS1saC1tYWluKSArIHZhcigtLW1hcmdpbi1zbSkpO1xuICAgIH1cbiAgfVxufVxuXG4udGV4dF9fdGl0bGUge1xuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAtd2Via2l0LWZvbnQtZmVhdHVyZS1zZXR0aW5nczogXCJjYXNlXCIgMTtcbiAgZm9udC1mZWF0dXJlLXNldHRpbmdzOiBcImNhc2VcIiAxO1xufVxuXG4udGV4dF9faW5uZXIge1xuICBAaW5jbHVkZSB0ZXh0O1xufVxuIiwiLmltYWdlIHtcbiAgQGluY2x1ZGUgZ3JpZDtcblxuICAmOm5vdCg6Zmlyc3QtY2hpbGQpOm5vdCguaW1hZ2UtLWhhbGYpIHtcbiAgICBtYXJnaW4tdG9wOiB2YXIoLS1tYXJnaW4tc20pO1xuICB9XG5cbiAgJi0tZnVsbCB7XG4gICAgQGluY2x1ZGUgbXEobGcpIHtcbiAgICAgIGdyaWQtY29sdW1uOiBzcGFuIDI7XG4gICAgfVxuICB9XG59XG5cbi5pbWFnZV9faW5uZXIge1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuXG4gICYtLWxhbmRzY2FwZSB7XG4gICAgZ3JpZC1jb2x1bW46IDEgLyAtMTtcblxuICAgIEBpbmNsdWRlIG1xKGxnKSB7XG4gICAgICBncmlkLWNvbHVtbjogMSAvIHNwYW4gOTtcbiAgICB9XG4gIH1cblxuICAmLS1wb3J0cmFpdCB7XG4gICAgZ3JpZC1jb2x1bW46IDEgLyBzcGFuIDg7XG5cbiAgICBAaW5jbHVkZSBtcShsZykge1xuICAgICAgZ3JpZC1jb2x1bW46IDEgLyBzcGFuIDQ7XG4gICAgfVxuICB9XG5cbiAgJi0tc3F1YXJlIHtcbiAgICBncmlkLWNvbHVtbjogMSAvIC0xO1xuXG4gICAgQGluY2x1ZGUgbXEobGcpIHtcbiAgICAgIGdyaWQtY29sdW1uOiAxIC8gc3BhbiA2O1xuICAgIH1cbiAgfVxufVxuIiwiLnNsaWRlc2hvdyB7XG4gIEBpbmNsdWRlIG1hcmdpbigwIC0xLjIpO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIGxpc3Qtc3R5bGU6IG5vbmU7XG4gIHotaW5kZXg6IDE7XG4gIHRvdWNoLWFjdGlvbjogcGFuLXk7XG5cbiAgQGluY2x1ZGUgbXEoc20pIHtcbiAgICBAaW5jbHVkZSBtYXJnaW4oMCAtMik7XG4gIH1cblxuICAmOm5vdCg6Zmlyc3QtY2hpbGQpIHtcbiAgICBtYXJnaW4tdG9wOiB2YXIoLS1tYXJnaW4tc20pO1xuICB9XG5cbiAgJi0tZnVsbCB7XG4gICAgQGluY2x1ZGUgbXEobGcpIHtcbiAgICAgIGdyaWQtY29sdW1uOiBzcGFuIDI7XG4gICAgfVxuICB9XG5cbiAgJi0taGFsZiB7XG4gICAgQGluY2x1ZGUgbXEobGcpIHtcbiAgICAgIEBpbmNsdWRlIG1hcmdpbigwIDAgMCAtMik7XG4gICAgfVxuICB9XG5cbiAgJi0taGFsZjpub3QoOmZpcnN0LWNoaWxkKSB7XG4gICAgQGluY2x1ZGUgbXEobGcpIHtcbiAgICAgIG1hcmdpbi10b3A6IDA7XG4gICAgfVxuICB9XG59XG5cbi5zbGlkZXNob3dfX3dyYXBwZXIge1xuICBvdXRsaW5lOiBub25lO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0O1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAxMDAlO1xuICB6LWluZGV4OiAxO1xuICB0cmFuc2l0aW9uLXByb3BlcnR5OiB0cmFuc2Zvcm07XG4gIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC43LCAwLCAwLjMsIDEpO1xuICBib3gtc2l6aW5nOiBjb250ZW50LWJveDtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwcHgsIDAsIDApO1xufVxuXG4uc2xpZGVzaG93X19zbGlkZSB7XG4gIEBpbmNsdWRlIHBhZGRpbmcoMCAxLjIpO1xuICB3aWR0aDogMTAwJTtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgZmxleDogbm9uZTtcbiAgZmxvYXQ6IGxlZnQ7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMHB4LCAwLCAwKTtcbiAgZmxleC1zaHJpbms6IDA7XG4gIGhlaWdodDogMTAwJTtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB0cmFuc2l0aW9uLXByb3BlcnR5OiB0cmFuc2Zvcm07XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWigwKTtcbiAgLXdlYmtpdC1iYWNrZmFjZS12aXNpYmlsaXR5OiBoaWRkZW47XG4gIGJhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlbjtcblxuICBAaW5jbHVkZSBtcShzbSkge1xuICAgIEBpbmNsdWRlIHBhZGRpbmcoMCAyKTtcbiAgfVxuXG4gIEBpbmNsdWRlIG1xKGxnKSB7XG4gICAgcGFkZGluZy1yaWdodDogZ2V0V2lkdGgoMywgMTIpO1xuXG4gICAgLnNsaWRlc2hvdy0taGFsZiAmIHtcbiAgICAgIHBhZGRpbmctcmlnaHQ6IDA7XG4gICAgfVxuICB9XG5cbiAgJi0tc3F1YXJlIHtcbiAgICBwYWRkaW5nLXJpZ2h0OiBnZXRXaWR0aCgzLCAxMik7XG5cbiAgICAuc2xpZGVzaG93LS1oYWxmICYge1xuICAgICAgcGFkZGluZy1yaWdodDogMDtcbiAgICB9XG5cbiAgICBAaW5jbHVkZSBtcShsZykge1xuICAgICAgcGFkZGluZy1yaWdodDogZ2V0V2lkdGgoNiwgMTIpO1xuXG4gICAgICAuc2xpZGVzaG93LS1oYWxmICYge1xuICAgICAgICBwYWRkaW5nLXJpZ2h0OiAwO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gICYtLXBvcnRyYWl0IHtcbiAgICBwYWRkaW5nLXJpZ2h0OiBnZXRXaWR0aCgzLCAxMik7XG5cbiAgICAuc2xpZGVzaG93LS1oYWxmICYge1xuICAgICAgcGFkZGluZy1yaWdodDogMDtcbiAgICB9XG5cbiAgICBAaW5jbHVkZSBtcShsZykge1xuICAgICAgcGFkZGluZy1yaWdodDogZ2V0V2lkdGgoOCwgMTIpO1xuXG4gICAgICAuc2xpZGVzaG93LS1oYWxmICYge1xuICAgICAgICBwYWRkaW5nLXJpZ2h0OiAwO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG4uc2xpZGVzaG93X19zbGlkZV9faW5uZXIge1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICAtd2Via2l0LXVzZXItc2VsZWN0OiBub25lO1xuICAtbW96LXVzZXItc2VsZWN0OiBub25lO1xuICAtbXMtdXNlci1zZWxlY3Q6IG5vbmU7XG4gIHVzZXItc2VsZWN0OiBub25lO1xuXG4gICYgPiBkaXYge1xuICAgIGhlaWdodDogMDtcbiAgICBwYWRkaW5nLWJvdHRvbTogdmFyKC0tcmF0aW8pO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgfVxuXG4gIGltZyB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIG9iamVjdC1maXQ6IGNvbnRhaW47XG4gICAgb2JqZWN0LXBvc2l0aW9uOiB0b3AgbGVmdDtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgbGVmdDogMDtcbiAgICB0b3A6IDA7XG4gIH1cbn1cblxuLnNsaWRlc2hvd19fc2xpZGVfX2NhcHRpb24ge1xuICBAaW5jbHVkZSBtYXJnaW4oMC41IDAgMCAwKTtcblxuICBpLFxuICBlbSB7XG4gICAgQGluY2x1ZGUgZm9udChpdGFsaWMpO1xuICB9XG59XG5cbi5zbGlkZXNob3dfX3ZpZGVvX19jb250YWluZXIge1xuICBoZWlnaHQ6IDA7XG4gIHBhZGRpbmctYm90dG9tOiB2YXIoLS1yYXRpbyk7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY29sb3ItdGV4dCk7XG5cbiAgaWZyYW1lIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgb2JqZWN0LWZpdDogY292ZXI7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGxlZnQ6IDA7XG4gICAgdG9wOiAwO1xuICB9XG59XG4iLCIuY2Fyb3VzZWwge1xuICBAaW5jbHVkZSBtYXJnaW4oMCAtMS4yKTtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICBsaXN0LXN0eWxlOiBub25lO1xuICB6LWluZGV4OiAxO1xuICB0b3VjaC1hY3Rpb246IHBhbi15O1xuICBjdXJzb3I6IHBvaW50ZXI7XG5cbiAgQGluY2x1ZGUgbXEoc20pIHtcbiAgICBAaW5jbHVkZSBtYXJnaW4oMCAtMik7XG4gIH1cblxuICBAaW5jbHVkZSBtcShsZykge1xuICAgIGdyaWQtY29sdW1uOiBzcGFuIDI7XG4gIH1cbn1cblxuLmNhcm91c2VsX193cmFwcGVyIHtcbiAgQGluY2x1ZGUgcGFkZGluZygwIDAgMCAxLjIpO1xuICBvdXRsaW5lOiBub25lO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0O1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAxMDAlO1xuICB6LWluZGV4OiAxO1xuICB0cmFuc2l0aW9uLXByb3BlcnR5OiB0cmFuc2Zvcm07XG4gIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC43LCAwLCAwLjMsIDEpO1xuICBib3gtc2l6aW5nOiBjb250ZW50LWJveDtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwcHgsIDAsIDApO1xuXG4gIEBpbmNsdWRlIG1xKHNtKSB7XG4gICAgQGluY2x1ZGUgcGFkZGluZygwIDAgMCAyKTtcbiAgfVxufVxuXG4uY2Fyb3VzZWxfX3NsaWRlIHtcbiAgd2lkdGg6IDEwMCU7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIGZsZXg6IG5vbmU7XG4gIGZsb2F0OiBsZWZ0O1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDBweCwgMCwgMCk7XG4gIGZsZXgtc2hyaW5rOiAwO1xuICBoZWlnaHQ6IDEwMCU7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogdHJhbnNmb3JtO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVooMCk7XG4gIC13ZWJraXQtYmFja2ZhY2UtdmlzaWJpbGl0eTogaGlkZGVuO1xuICBiYWNrZmFjZS12aXNpYmlsaXR5OiBoaWRkZW47XG4gIHdpZHRoOiBnZXRXaWR0aCgxMCwgMTIpO1xuXG4gIEBpbmNsdWRlIG1xKGxnKSB7XG4gICAgd2lkdGg6IGdldFdpZHRoKDUsIDEyKTtcbiAgfVxuXG4gICYtLXBvcnRyYWl0IHtcbiAgICB3aWR0aDogZ2V0V2lkdGgoOCwgMTIpO1xuXG4gICAgQGluY2x1ZGUgbXEobGcpIHtcbiAgICAgIHdpZHRoOiBnZXRXaWR0aCg0LCAxMik7XG4gICAgfVxuICB9XG5cbiAgJjpub3QoLmpzLXNsaWRlUHJldikgaWZyYW1lIHtcbiAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgfVxufVxuXG4uY2Fyb3VzZWxfX3NsaWRlX19pbm5lciB7XG4gIGZsZXg6IDE7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIC13ZWJraXQtdXNlci1zZWxlY3Q6IG5vbmU7XG4gIC1tb3otdXNlci1zZWxlY3Q6IG5vbmU7XG4gIC1tcy11c2VyLXNlbGVjdDogbm9uZTtcbiAgdXNlci1zZWxlY3Q6IG5vbmU7XG5cbiAgaW1nIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgfVxuXG4gIGlmcmFtZSB7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gIH1cbn1cblxuLmNhcm91c2VsX19zbGlkZV9fY2FwdGlvbiB7XG4gIEBpbmNsdWRlIG1hcmdpbigxIDAgMCAwKTtcblxuICBpLFxuICBlbSB7XG4gICAgQGluY2x1ZGUgZm9udChpdGFsaWMpO1xuICB9XG59XG5cbi5jYXJvdXNlbF9fdmlkZW9fX2NvbnRhaW5lciB7XG4gIGhlaWdodDogMDtcbiAgcGFkZGluZy1ib3R0b206IHZhcigtLXJhdGlvKTtcbiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY29sb3ItdGV4dCk7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICBpZnJhbWUge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBvYmplY3QtZml0OiBjb3ZlcjtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgbGVmdDogMDtcbiAgICB0b3A6IDA7XG4gIH1cbn1cbiIsIi5tZW51IHtcbiAgQGluY2x1ZGUgdHJhbnNpdGlvbih0cmFuc2Zvcm0pO1xuICBAaW5jbHVkZSBwYWRkaW5nKDAgMS4yKTtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB3aWR0aDogMTAwJTtcbiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY29sb3ItYmcpO1xuICB6LWluZGV4OiAxO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTEwMCUpO1xuXG4gIEBpbmNsdWRlIG1xKHNtKSB7XG4gICAgQGluY2x1ZGUgcGFkZGluZygwIDIpO1xuICB9XG5cbiAgJi5hY3RpdmUge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKTtcbiAgfVxufVxuXG4ubWVudV9faW5uZXIge1xuICBAaW5jbHVkZSBwYWRkaW5nKDAuNSAwKTtcbiAgQGluY2x1ZGUgZ3JpZCgxKTtcbiAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIHZhcigtLWNvbG9yLXRleHQpO1xuXG4gIEBpbmNsdWRlIG1xKGxnKSB7XG4gICAgQGluY2x1ZGUgZ3JpZCgyKTtcbiAgfVxufVxuXG4ubWVudV9fbGluayB7XG4gIEBpbmNsdWRlIGJpZyh0cnVlKTtcbn1cbiIsIi50YWJsZSB7XG4gIEBpbmNsdWRlIGdyaWQoMSk7XG4gIEBpbmNsdWRlIG1hcmdpbig2IDAgMCAwKTtcbiAgZ3JpZC1yb3ctZ2FwOiB2YXIoLS1saC1tYWluKTtcblxuICBAaW5jbHVkZSBtcShzbSkge1xuICAgIEBpbmNsdWRlIG1hcmdpbigxMCAwIDAgMCk7XG4gIH1cblxuICBAaW5jbHVkZSBtcShsZykge1xuICAgIEBpbmNsdWRlIGdyaWQoMik7XG4gICAgZ3JpZC1yb3ctZ2FwOiAwO1xuICAgIGdyaWQtY29sdW1uOiBzcGFuIDI7XG4gIH1cbn1cblxuLnRhYmxlX190aXRsZSB7XG4gIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCB2YXIoLS1jb2xvci10ZXh0KTtcbiAgbWFyZ2luLWJvdHRvbTogM3B4O1xuICBwYWRkaW5nLWJvdHRvbTogMnB4O1xufVxuXG4udGFibGVfX3RleHQge1xuICBAaW5jbHVkZSB0ZXh0KGZhbHNlKTtcblxuICAmLS10d28ge1xuICAgIEBpbmNsdWRlIG1xKGxnKSB7XG4gICAgICAtd2Via2l0LWNvbHVtbi1jb3VudDogMjtcbiAgICAgIGNvbHVtbi1jb3VudDogMjtcbiAgICAgIC13ZWJraXQtY29sdW1uLWdhcDogdmFyKC0tbWFyZ2luLXNtKTtcbiAgICAgIGNvbHVtbi1nYXA6IHZhcigtLW1hcmdpbi1zbSk7XG4gICAgfVxuICB9XG5cbiAgJjpub3QoOmxhc3QtY2hpbGQpIHtcbiAgICBtYXJnaW4tYm90dG9tOiB2YXIoLS1saC1tYWluKTtcbiAgfVxufVxuIiwiLmFydGlzdHMge1xuICBAaW5jbHVkZSBtYXJnaW4oNiAwIDAgMCk7XG5cbiAgQGluY2x1ZGUgbXEoc20pIHtcbiAgICBAaW5jbHVkZSBtYXJnaW4oMTAgMCAwIDApO1xuICB9XG5cbiAgQGluY2x1ZGUgbXEobGcpIHtcbiAgICBncmlkLWNvbHVtbjogc3BhbiAyO1xuICB9XG59XG5cbi5hcnRpc3RzX19uYXYge1xuICBAaW5jbHVkZSBtYXJnaW4oMCAwIDEuMiAwKTtcbiAgZGlzcGxheTogZmxleDtcbiAgYm9yZGVyLXRvcDogMXB4IHNvbGlkIHZhcigtLWNvbG9yLXRleHQpO1xuICBib3JkZXItYm90dG9tOiAxcHggc29saWQgdmFyKC0tY29sb3ItdGV4dCk7XG5cbiAgQGluY2x1ZGUgbXEoc20pIHtcbiAgICBAaW5jbHVkZSBtYXJnaW4oMCAwIDIgMCk7XG4gIH1cbn1cblxuLmFydGlzdHNfX2ZpbHRlciB7XG4gIEBpbmNsdWRlIHBhZGRpbmcoMC41IDEpO1xuICBib3JkZXItbGVmdDogMXB4IHNvbGlkIHRyYW5zcGFyZW50O1xuICBib3JkZXItcmlnaHQ6IDFweCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgY3Vyc29yOiBwb2ludGVyO1xuXG4gICY6bm90KDpmaXJzdC1jaGlsZCkge1xuICAgIG1hcmdpbi1sZWZ0OiAtMXB4O1xuICB9XG5cbiAgJi5hY3RpdmUsXG4gICY6aG92ZXIge1xuICAgIGJvcmRlci1jb2xvcjogdmFyKC0tY29sb3ItdGV4dCk7XG4gIH1cbn1cblxuLmFydGlzdHNfX2dyaWQge1xuICBAaW5jbHVkZSBncmlkKDEpO1xuICBncmlkLXJvdy1nYXA6IGNhbGModmFyKC0tbWFyZ2luLXNtKSAqIDQpO1xuXG4gIEBpbmNsdWRlIG1xKGxnKSB7XG4gICAgQGluY2x1ZGUgZ3JpZCgyKTtcbiAgICBncmlkLXJvdy1nYXA6IGNhbGModmFyKC0tbWFyZ2luLXNtKSAqIDcpO1xuICB9XG59XG5cbi5hcnRpc3RzX19pbWFnZSB7XG4gIEBpbmNsdWRlIGdyaWQoNik7XG59XG5cbi5hcnRpc3RzX19pbWFnZV9faW5uZXIge1xuICAmLS1wb3J0cmFpdCB7XG4gICAgZ3JpZC1jb2x1bW46IDEgLyBzcGFuIDQ7XG4gIH1cblxuICAmLS1zcXVhcmUge1xuICAgIGdyaWQtY29sdW1uOiAxIC8gc3BhbiA1O1xuICB9XG5cbiAgJi0tbGFuZHNjYXBlIHtcbiAgICBncmlkLWNvbHVtbjogMSAvIHNwYW4gNjtcbiAgfVxufVxuXG4uYXJ0aXN0c19fdGl0bGUge1xuICBAaW5jbHVkZSBiaWc7XG4gIGxpbmUtaGVpZ2h0OiB2YXIoLS1saC1hcnRpc3RzKTtcbiAgbWFyZ2luLXRvcDogMXB4O1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuXG4gIGgyIHtcbiAgICBAaW5jbHVkZSBiaWcodHJ1ZSk7XG4gICAgbGluZS1oZWlnaHQ6IHZhcigtLWxoLWFydGlzdHMpO1xuICB9XG59XG4iLCIuYXJ0aXN0X190aXRsZSB7XG4gIEBpbmNsdWRlIG1hcmdpbigwIDAgMS4yIDApO1xuICBAaW5jbHVkZSBiaWc7XG4gIGxpbmUtaGVpZ2h0OiB2YXIoLS1saC1hcnRpc3RzKTtcblxuICBAaW5jbHVkZSBtcShzbSkge1xuICAgIEBpbmNsdWRlIG1hcmdpbigwIDAgMiAwKTtcbiAgfVxuXG4gICYgPiBzcGFuIHtcbiAgICBAaW5jbHVkZSBiaWcodHJ1ZSk7XG4gICAgbGluZS1oZWlnaHQ6IHZhcigtLWxoLWFydGlzdHMpO1xuICB9XG59XG5cbi5hcnRpc3RfX2hlYWRlciB7XG4gIEBpbmNsdWRlIG1hcmdpbigwIDAgMSAwKTtcblxuICBAaW5jbHVkZSBtcShsZykge1xuICAgIGdyaWQtY29sdW1uOiBzcGFuIDI7XG4gIH1cbn1cblxuLmFydGlzdF9fbmF2IHtcbiAgZGlzcGxheTogZmxleDtcbiAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xufVxuXG4uYXJ0aXN0X19uYXZfX2l0ZW0ge1xuICBzdmcge1xuICAgIGhlaWdodDogdmFyKC0taGFtYnVyZ2VyLWhlaWdodCk7XG4gIH1cbn1cblxuLmFydGlzdF9fY29udGVudCB7XG4gIEBpbmNsdWRlIG1hcmdpbig2IDAgMCAwKTtcbiAgQGluY2x1ZGUgZ3JpZCgxKTtcbiAgZ3JpZC1yb3ctZ2FwOiB2YXIoLS1saC1tYWluKTtcblxuICBAaW5jbHVkZSBtcShzbSkge1xuICAgIEBpbmNsdWRlIG1hcmdpbigxMCAwIDAgMCk7XG4gIH1cblxuICBAaW5jbHVkZSBtcShsZykge1xuICAgIEBpbmNsdWRlIGdyaWQoMik7XG4gICAgZ3JpZC1jb2x1bW46IHNwYW4gMjtcbiAgfVxufVxuXG4uYXJ0aXN0X19jb2xfX3RpdGxlIHtcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgLXdlYmtpdC1mb250LWZlYXR1cmUtc2V0dGluZ3M6IFwiY2FzZVwiIDE7XG4gIGZvbnQtZmVhdHVyZS1zZXR0aW5nczogXCJjYXNlXCIgMTtcbn1cblxuLmFydGlzdF9fdGV4dCB7XG4gIEBpbmNsdWRlIHRleHQ7XG59XG5cbi5hcnRpc3RfX2luZm8ge1xuICBtYXJnaW4tdG9wOiB2YXIoLS1saC1tYWluKTtcbn1cblxuLmFydGlzdF9faW5mb19fdGl0bGUge1xuICBib3JkZXItYm90dG9tOiAxcHggc29saWQgdmFyKC0tY29sb3ItdGV4dCk7XG4gIG1hcmdpbi1ib3R0b206IDNweDtcbiAgcGFkZGluZy1ib3R0b206IDJweDtcbn1cblxuLmFydGlzdF9faW5mb19faW5uZXIge1xuICBAaW5jbHVkZSBncmlkKDEpO1xuXG4gIEBpbmNsdWRlIG1xKGxnKSB7XG4gICAgQGluY2x1ZGUgZ3JpZCgyKTtcbiAgfVxufVxuIiwiLmxvZ290eXBlcyB7XG4gIEBpbmNsdWRlIG1hcmdpbig2IDAgMCAwKTtcblxuICBAaW5jbHVkZSBtcShzbSkge1xuICAgIEBpbmNsdWRlIG1hcmdpbigxMCAwIDAgMCk7XG4gIH1cblxuICAmLS1mdWxsIHtcbiAgICBAaW5jbHVkZSBtcShsZykge1xuICAgICAgZ3JpZC1jb2x1bW46IHNwYW4gMjtcbiAgICB9XG4gIH1cbn1cblxuLmxvZ290eXBlc19fdGl0bGUge1xuICBib3JkZXItYm90dG9tOiAxcHggc29saWQgdmFyKC0tY29sb3ItdGV4dCk7XG4gIG1hcmdpbi1ib3R0b206IDNweDtcbiAgcGFkZGluZy1ib3R0b206IDJweDtcbn1cblxuLmxvZ290eXBlc19faW5uZXIge1xuICBAaW5jbHVkZSBwYWRkaW5nKDEgMCAwIDApO1xuICBAaW5jbHVkZSBncmlkKDIpO1xuICBncmlkLWNvbHVtbi1nYXA6IHZhcigtLW1hcmdpbi1tZCk7XG5cbiAgQGluY2x1ZGUgbXEoc20pIHtcbiAgICBAaW5jbHVkZSBncmlkKDEyKTtcbiAgICBncmlkLWNvbHVtbi1nYXA6IHZhcigtLW1hcmdpbi1tZCk7XG4gIH1cbn1cblxuLmxvZ290eXBlc19faXRlbSB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICBncmlkLWNvbHVtbjogc3BhbiB2YXIoLS1jb2x1bW4tc20pO1xuXG4gIEBpbmNsdWRlIG1xKHNtKSB7XG4gICAgZ3JpZC1jb2x1bW46IHNwYW4gdmFyKC0tY29sdW1uKTtcbiAgfVxuXG4gIGEge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgfVxufVxuIl0sIm5hbWVzIjpbXSwic291cmNlUm9vdCI6IiJ9*/