@import url(https://fonts.googleapis.com/css?family=Lato:400,300,700);
html {
  box-sizing: border-box; }

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

html {
  box-sizing: border-box; }

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

button:not([disabled]) {
  cursor: pointer; }

:focus {
  outline: none; }

::-moz-focus-inner {
  border: 0; }

a:focus,
button:focus,
input:focus,
textarea:focus {
  box-shadow: inset 0 0 0 2px #3793a9; }

input[type='submit'],
input[type='button'],
button {
  -webkit-appearance: none;
  -moz-appearance: none;
  -ms-appearance: none;
  -o-appearance: none;
  appearance: none; }

::-ms-clear {
  display: none; }

/*
1. Do not include 'input' selector, this will result in heigher specificity and is more difficult to overrule.
2. Chrome and Safari on OS X allow very limited styling of 'select', unless a border is set.
3. Font size of 16px or heigher disables zooming on form fields with iOS.
*/
[type='color'],
[type='email'],
[type='number'],
[type='password'],
[type='search'],
[type='tel'],
[type='text'],
[type='url'],
textarea,
select {
  border: 1px solid #000;
  /* 2 */
  background-color: #fff;
  color: #000;
  font-family: "Lato", "Times", serif;
  font-size: 16px;
  /* 3 */
  line-height: 1.375em;
  box-shadow: none;
  -webkit-appearance: none;
  -moz-appearance: none;
  -ms-appearance: none;
  -o-appearance: none;
  appearance: none; }

label[for] {
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
  cursor: pointer; }

label * {
  pointer-events: none; }

iframe {
  display: block;
  max-width: 100% !important; }

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

a {
  color: inherit;
  text-decoration: none; }

/*! normalize.css v3.0.2 | MIT License | git.io/normalize */
/**
 * 1. Set default font family to sans-serif.
 * 2. Prevent iOS text size adjust after orientation change, without disabling
 *    user zoom.
 */
html {
  font-family: sans-serif;
  /* 1 */
  -ms-text-size-adjust: 100%;
  /* 2 */
  -webkit-text-size-adjust: 100%;
  /* 2 */ }

/**
 * Remove default margin.
 */
body {
  margin: 0; }

/* HTML5 display definitions
   ========================================================================== */
/**
 * Correct `block` display not defined for any HTML5 element in IE 8/9.
 * Correct `block` display not defined for `details` or `summary` in IE 10/11
 * and Firefox.
 * Correct `block` display not defined for `main` in IE 11.
 */
article,
aside,
details,
figcaption,
figure,
footer,
header,
hgroup,
main,
menu,
nav,
section,
summary {
  display: block; }

/**
 * 1. Correct `inline-block` display not defined in IE 8/9.
 * 2. Normalize vertical alignment of `progress` in Chrome, Firefox, and Opera.
 */
audio,
canvas,
progress,
video {
  display: inline-block;
  /* 1 */
  vertical-align: baseline;
  /* 2 */ }

/**
 * Prevent modern browsers from displaying `audio` without controls.
 * Remove excess height in iOS 5 devices.
 */
audio:not([controls]) {
  display: none;
  height: 0; }

/**
 * Address `[hidden]` styling not present in IE 8/9/10.
 * Hide the `template` element in IE 8/9/11, Safari, and Firefox < 22.
 */
[hidden],
template {
  display: none; }

/* Links
   ========================================================================== */
/**
 * Remove the gray background color from active links in IE 10.
 */
a {
  background-color: transparent; }

/**
 * Improve readability when focused and also mouse hovered in all browsers.
 */
a:active,
a:hover {
  outline: 0; }

/* Text-level semantics
   ========================================================================== */
/**
 * Address styling not present in IE 8/9/10/11, Safari, and Chrome.
 */
/**
 * Address style set to `bolder` in Firefox 4+, Safari, and Chrome.
 */
b,
strong {
  font-weight: bold; }

/**
 * Address styling not present in Safari and Chrome.
 */
dfn {
  font-style: italic; }

/**
 * Address variable `h1` font-size and margin within `section` and `article`
 * contexts in Firefox 4+, Safari, and Chrome.
 */
h1 {
  font-size: 2em;
  margin: 0.67em 0; }

/**
 * Address styling not present in IE 8/9.
 */
mark {
  background: #ff0;
  color: #000; }

/**
 * Address inconsistent and variable font size in all browsers.
 */
small {
  font-size: 80%; }

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

sup {
  top: -0.5em; }

sub {
  bottom: -0.25em; }

/* Embedded content
   ========================================================================== */
/**
 * Remove border when inside `a` element in IE 8/9/10.
 */
img {
  border: 0;
  max-width: 100%;
  display: block; }

/**
 * Correct overflow not hidden in IE 9/10/11.
 */
svg:not(:root) {
  overflow: hidden; }

/* Grouping content
   ========================================================================== */
/**
 * Address margin not present in IE 8/9 and Safari.
 */
figure {
  margin: 1em 40px; }

/**
 * Address differences between Firefox and other browsers.
 */
hr {
  -moz-box-sizing: content-box;
  box-sizing: content-box;
  height: 0; }

/**
 * Contain overflow in all browsers.
 */
pre {
  overflow: auto; }

/**
 * Address odd `em`-unit font size rendering in all browsers.
 */
code,
kbd,
pre,
samp {
  font-family: monospace, monospace;
  font-size: 1em; }

/* Forms
   ========================================================================== */
/**
 * Known limitation: by default, Chrome and Safari on OS X allow very limited
 * styling of `select`, unless a `border` property is set.
 */
/**
 * 1. Correct color not being inherited.
 *    Known issue: affects color of disabled elements.
 * 2. Correct font properties not being inherited.
 * 3. Address margins set differently in Firefox 4+, Safari, and Chrome.
 */
button,
input,
optgroup,
select,
textarea {
  color: inherit;
  /* 1 */
  font: inherit;
  /* 2 */
  margin: 0;
  /* 3 */ }

/**
 * Address `overflow` set to `hidden` in IE 8/9/10/11.
 */
button {
  overflow: visible; }

/**
 * Address inconsistent `text-transform` inheritance for `button` and `select`.
 * All other form control elements do not inherit `text-transform` values.
 * Correct `button` style inheritance in Firefox, IE 8/9/10/11, and Opera.
 * Correct `select` style inheritance in Firefox.
 */
button,
select {
  text-transform: none; }

/**
 * 1. Avoid the WebKit bug in Android 4.0.* where (2) destroys native `audio`
 *    and `video` controls.
 * 2. Correct inability to style clickable `input` types in iOS.
 * 3. Improve usability and consistency of cursor style between image-type
 *    `input` and others.
 */
button,
html input[type="button"],
input[type="reset"],
input[type="submit"] {
  -webkit-appearance: button;
  /* 2 */
  cursor: pointer;
  /* 3 */ }

/**
 * Re-set default cursor for disabled elements.
 */
button[disabled],
html input[disabled] {
  cursor: default; }

/**
 * Remove inner padding and border in Firefox 4+.
 */
button::-moz-focus-inner,
input::-moz-focus-inner {
  border: 0;
  padding: 0; }

/**
 * Address Firefox 4+ setting `line-height` on `input` using `!important` in
 * the UA stylesheet.
 */
input {
  line-height: normal; }

/**
 * It's recommended that you don't attempt to style these elements.
 * Firefox's implementation doesn't respect box-sizing, padding, or width.
 *
 * 1. Address box sizing set to `content-box` in IE 8/9/10.
 * 2. Remove excess padding in IE 8/9/10.
 */
input[type="checkbox"],
input[type="radio"] {
  box-sizing: border-box;
  /* 1 */
  padding: 0;
  /* 2 */ }

/**
 * Fix the cursor style for Chrome's increment/decrement buttons. For certain
 * `font-size` values of the `input`, it causes the cursor style of the
 * decrement button to change from `default` to `text`.
 */
input[type="number"]::-webkit-inner-spin-button,
input[type="number"]::-webkit-outer-spin-button {
  height: auto; }

/**
 * 1. Address `appearance` set to `searchfield` in Safari and Chrome.
 * 2. Address `box-sizing` set to `border-box` in Safari and Chrome
 *    (include `-moz` to future-proof).
 */
input[type="search"] {
  -webkit-appearance: textfield;
  /* 1 */
  -moz-box-sizing: border-box;
  -webkit-box-sizing: border-box;
  /* 2 */
  box-sizing: border-box; }

/**
 * Remove inner padding and search cancel button in Safari and Chrome on OS X.
 * Safari (but not Chrome) clips the cancel button when the search input has
 * padding (and `textfield` appearance).
 */
input[type="search"]::-webkit-search-cancel-button,
input[type="search"]::-webkit-search-decoration {
  -webkit-appearance: none; }

/**
 * Define consistent border, margin, and padding.
 */
fieldset {
  border: 1px solid #c0c0c0;
  margin: 0 2px;
  padding: 0.35em 0.625em 0.75em; }

/**
 * 1. Correct `color` not being inherited in IE 8/9/10/11.
 * 2. Remove padding so people aren't caught out if they zero out fieldsets.
 */
legend {
  border: 0;
  /* 1 */
  padding: 0;
  /* 2 */ }

/**
 * Remove default vertical scrollbar in IE 8/9/10/11.
 */
textarea {
  overflow: auto; }

/**
 * Don't inherit the `font-weight` (applied by a rule above).
 * NOTE: the default cannot safely be changed in Chrome and Safari on OS X.
 */
optgroup {
  font-weight: bold; }

/* Tables
   ========================================================================== */
/**
 * Remove most spacing between table cells.
 */
table {
  border-collapse: collapse;
  border-spacing: 0; }

td,
th {
  padding: 0; }

input,
textarea,
label,
button,
select,
form,
a {
  -webkit-tap-highlight-color: rgba(0, 0, 0, 0);
  -webkit-tap-highlight-color: transparent;
  /* NOTE For some Androids */ }

a,
button,
input,
textarea {
  -ms-touch-action: manipulation;
  touch-action: manipulation; }

strong,
th {
  font-weight: bold; }

em,
i {
  font-style: italic; }

h1,
h2,
h3,
h4,
h5,
h6 {
  margin: 0; }

.flickity-prev-next-button {
  position: absolute;
  top: 100px;
  left: 2px;
  z-index: 99999;
  padding: 10px;
  width: 40px;
  height: 40px;
  border: none;
  border-radius: 0;
  background: #9495b6; }
  @media screen and (max-width: 680px) {
    .flickity-prev-next-button {
      top: calc(((100vw - 20px) / 2) - 50px); } }
  @media screen and (min-width: 681px) and (max-width: 920px) {
    .flickity-prev-next-button {
      top: calc(((100vw - 60px) / 2) - 50px); } }
  @media screen and (min-width: 921px) and (max-width: 969px) {
    .flickity-prev-next-button {
      top: calc(((100vw - 180px) / 2) - 50px); } }
  @media screen and (min-width: 970px) {
    .flickity-prev-next-button {
      display: none; } }

.flickity-prev-next-button.prev {
  left: 2px; }

.flickity-prev-next-button.next {
  right: auto;
  left: 44px; }

/* arrow color */
.flickity-prev-next-button .arrow {
  width: 20px;
  height: 20px;
  fill: white; }

.flickity-prev-next-button.no-svg {
  color: white; }

/* position outside */
.flickity-prev-next-button.previous {
  left: 0; }

.flickity-prev-next-button.next {
  right: 40px; }

.flickity-page-dots .dot {
  display: none; }

/* fill-in selected dot */
.flickity-page-dots .dot.is-selected {
  background: #c4281a; }

.story__section:not(.is-hidden) .flickity-viewport {
  height: 650px; }

body {
  font-family: "Lato", "Times", serif;
  font-size: 18px;
  font-weight: 300;
  line-height: 1.5em;
  position: relative;
  color: #5a5a5a;
  background-color: white; }

.content > *:first-child {
  margin-top: 0; }
.content > *:last-child {
  margin-bottom: 0; }

.content img {
  width: 100%; }

html {
  height: 100%; }

body {
  display: table;
  width: 100%;
  height: 100%;
  table-layout: fixed;
  /* fix for max-width issues with images: see http://www.carsonshold.com/2014/07/css-display-table-cell-child-width-bug-in-firefox-and-ie/ */ }

main {
  display: table-row;
  height: 100%; }

.canvas {
  padding: 0; }
  @media screen and (min-width: 441px) and (max-width: 680px) {
    .canvas {
      padding: 40px 0; } }
  @media screen and (min-width: 681px) {
    .canvas {
      padding: 60px 0; } }

.page-footer__inner {
  max-width: 1240px;
  margin: 0 auto;
  padding: 0 20px;
  width: 100%; }
  .page-footer__inner::after {
    clear: both;
    content: "";
    display: table; }
  @media screen and (max-width: 680px) {
    .page-footer__inner {
      padding: 0 10px; } }

.page-footer__nav {
  margin: 0;
  padding: 0;
  width: 100%;
  list-style: none; }
  @media screen and (max-width: 680px) {
    .page-footer__nav {
      -webkit-columns: 2;
      -moz-columns: 2;
      columns: 2;
      padding: 5px 0 10px 0; } }
  @media screen and (min-width: 681px) {
    .page-footer__nav {
      display: table;
      table-layout: fixed; } }

@media screen and (min-width: 681px) {
  .page-footer__nav-item {
    display: table-cell;
    text-align: center; } }

.page-footer__nav-link {
  display: block;
  font-size: 18px;
  line-height: 1.4375em; }
  .page-footer__nav-link:hover {
    color: #a8a8a8; }
  @media screen and (max-width: 680px) {
    .page-footer__nav-link {
      padding: 5px 0; } }

.page-footer__nav-link--secondary {
  color: #7b7b7b; }

.page-footer__secondary-nav {
  display: block;
  margin: 0;
  padding: 0;
  list-style: none; }
  @media screen and (max-width: 680px) {
    .page-footer__secondary-nav {
      -webkit-columns: 2;
      -moz-columns: 2;
      columns: 2;
      padding: 5px 0 10px 0; } }
  @media screen and (min-width: 681px) {
    .page-footer__secondary-nav {
      text-align: center; } }

.page-footer__secondary-nav-item {
  font-size: 14px;
  font-weight: bold;
  line-height: 1.4375em; }
  @media screen and (max-width: 680px) {
    .page-footer__secondary-nav-item {
      display: block; } }
  @media screen and (min-width: 681px) {
    .page-footer__secondary-nav-item {
      display: inline-block; } }

.page-footer__secondary-nav-link {
  display: block;
  padding: 20px 15px;
  color: #7b7b7b;
  font-size: 14px;
  font-weight: bold;
  line-height: 1.4375em; }
  .page-footer__secondary-nav-link:hover {
    color: white; }
  @media screen and (max-width: 680px) {
    .page-footer__secondary-nav-link {
      padding: 10px 5px; } }

.page-footer__secondary-nav-item a {
  color: #7b7b7b; }
  .page-footer__secondary-nav-item a:hover {
    color: black; }

.page-footer__body {
  max-width: 1200px;
  margin-left: auto;
  margin-right: auto;
  padding: 30px 0; }
  .page-footer__body::after {
    clear: both;
    content: "";
    display: table; }

.page-footer__titel {
  font-size: 18px;
  font-weight: 600; }

@media screen and (max-width: 680px) {
  .page-footer__logo .logo-image {
    margin: 0 auto 20px 0;
    width: 120px; } }
@media screen and (min-width: 681px) {
  .page-footer__logo {
    float: left;
    display: block;
    margin-right: 2.3576515979%;
    width: 14.7019570017%;
    padding-top: 30px; }
    .page-footer__logo:last-child {
      margin-right: 0; } }

@media screen and (min-width: 681px) {
  .page-footer__contact {
    float: left;
    display: block;
    margin-right: 2.3576515979%;
    width: 23.2317613015%; }
    .page-footer__contact:last-child {
      margin-right: 0; } }

.page-footer__link-map {
  text-decoration: underline;
  font-size: 16px; }

@media screen and (min-width: 681px) {
  .page-footer__info {
    float: left;
    display: block;
    margin-right: 2.3576515979%;
    width: 23.2317613015%; }
    .page-footer__info:last-child {
      margin-right: 0; } }

h1,
h2,
h3,
h4,
h5,
h6,
.h1,
.h2,
.h3,
.h4,
.h5,
.h6 {
  margin: 10px 0;
  font-family: "Lato", "Times", serif;
  font-weight: 300; }

h1,
.h1 {
  font-size: 48px;
  line-height: 1.75em; }
  @media screen and (max-width: 680px) {
    h1,
    .h1 {
      font-size: 36px;
      line-height: 1.5625em; } }

h2,
.h2 {
  font-size: 36px;
  line-height: 1.6875em; }
  @media screen and (max-width: 680px) {
    h2,
    .h2 {
      font-size: 24px;
      line-height: 1.4375em; } }

h3,
.h3 {
  font-size: 24px;
  line-height: 1.625em; }

h4,
.h4 {
  font-size: 20px;
  line-height: 1.5625em; }

h5,
.h5 {
  font-size: 18px;
  line-height: 1.5em; }

h6,
.h6 {
  font-size: 16px;
  line-height: 1.4375em; }

.content h1,
.h1 {
  margin: 0;
  font-weight: normal;
  line-height: 1.1875em; }
  @media screen and (max-width: 440px) {
    .content h1,
    .h1 {
      font-size: 24px; } }
  @media screen and (min-width: 441px) and (max-width: 680px) {
    .content h1,
    .h1 {
      font-size: 36px; } }
  @media screen and (min-width: 681px) {
    .content h1,
    .h1 {
      font-size: 48px; } }

.content h2,
.h2 {
  margin: 0;
  font-weight: normal;
  line-height: 1.1875em; }
  @media screen and (max-width: 440px) {
    .content h2,
    .h2 {
      font-size: 20px; } }
  @media screen and (min-width: 441px) and (max-width: 680px) {
    .content h2,
    .h2 {
      font-size: 24px; } }
  @media screen and (min-width: 681px) {
    .content h2,
    .h2 {
      font-size: 36px; } }

.content h3,
.h3 {
  margin: 0;
  font-weight: normal;
  line-height: 1.1875em; }
  @media screen and (max-width: 440px) {
    .content h3,
    .h3 {
      font-size: 18px; } }
  @media screen and (min-width: 441px) and (max-width: 680px) {
    .content h3,
    .h3 {
      font-size: 20px; } }
  @media screen and (min-width: 681px) {
    .content h3,
    .h3 {
      font-size: 24px; } }

.content h4,
.h4 {
  font-size: 18px;
  line-height: 1.625em; }

.content h5,
.h5 {
  font-size: 16px;
  line-height: 1.6875em; }

.content h6,
.h6 {
  font-size: 14px;
  line-height: 1.75em; }

.content a:not(.button),
.link {
  display: inline;
  padding: 0;
  border-top: none;
  border-right: none;
  border-bottom: 1px solid #bdbdbd;
  border-left: none;
  background-color: transparent;
  color: #5a5a5a;
  text-align: left;
  cursor: pointer; }
  .content a:not(.button):hover,
  .link:hover {
    border-bottom-color: #5a5a5a; }

.content--diap a:not(.button),
.link--diap {
  border-bottom: 1px solid rgba(255, 255, 255, 0.5);
  color: white; }
  .content--diap a:not(.button):hover,
  .link--diap:hover {
    border-bottom-color: white; }

.link-list {
  border-width: 0;
  border-style: solid;
  border-color: rgba(102, 102, 102, 0.15);
  margin: 0;
  border-bottom-width: 1px; }

.content ol,
.ol,
.content ul,
.ul {
  margin-top: 1.5em;
  margin-bottom: 1.5em;
  padding-left: 1.5em;
  max-width: 40em;
  line-height: 1.5em; }
  @media screen and (max-width: 680px) {
    .content ol,
    .ol,
    .content ul,
    .ul {
      font-size: 18px; } }
  @media screen and (min-width: 681px) {
    .content ol,
    .ol,
    .content ul,
    .ul {
      font-size: 20px; } }

.content--90 ol,
.ol--90,
.content--90 ul,
.ul--90 {
  line-height: 1.4375em; }
  @media screen and (max-width: 680px) {
    .content--90 ol,
    .ol--90,
    .content--90 ul,
    .ul--90 {
      font-size: 16px; } }
  @media screen and (min-width: 681px) {
    .content--90 ol,
    .ol--90,
    .content--90 ul,
    .ul--90 {
      font-size: 18px; } }

.content--compact ol,
.ol--compact,
.content--compact ul,
.ul--compact {
  margin-top: 0.75em;
  margin-bottom: 0.75em; }

.link__list {
  margin: 0;
  padding: 0;
  list-style: none; }
  @media screen and (max-width: 680px) {
    .link__list {
      padding-bottom: 30px; } }

.link__list-item {
  border-width: 0;
  border-style: solid;
  border-color: rgba(102, 102, 102, 0.15);
  margin: 0;
  padding: .625em;
  border-top-width: 1px;
  font-weight: 500;
  position: relative;
  color: #6a6a6a;
  padding-right: 60px; }
  .link__list-item span {
    font-size: 10px;
    border-radius: 22px;
    color: #9495b6;
    font-weight: 600;
    text-decoration: underline;
    position: absolute;
    right: 0;
    top: 10px; }
  .link__list-item.is-past {
    display: none; }
  @media screen and (max-width: 680px) {
    .link__list-item {
      font-size: 16px;
      line-height: 1.4375em; } }
  @media screen and (min-width: 681px) and (max-width: 1040px) {
    .link__list-item {
      font-size: 16px;
      line-height: 1.5em; } }
  @media screen and (min-width: 1041px) {
    .link__list-item {
      font-size: 16px;
      line-height: 1.5625em; } }

.content p,
.p {
  margin-top: 1.5em;
  margin-bottom: 1.5em;
  max-width: 40em;
  line-height: 1.5em; }
  @media screen and (max-width: 680px) {
    .content p,
    .p {
      font-size: 18px; } }
  @media screen and (min-width: 681px) {
    .content p,
    .p {
      font-size: 20px; } }

.content--90 p,
.p--90 {
  line-height: 1.4375em; }
  @media screen and (max-width: 680px) {
    .content--90 p,
    .p--90 {
      font-size: 16px; } }
  @media screen and (min-width: 681px) {
    .content--90 p,
    .p--90 {
      font-size: 18px; } }

.content--compact p,
.p--compact {
  margin-top: 0.75em;
  margin-bottom: 0.75em; }

.button {
  -webkit-transition: all 0.15s linear;
  -moz-transition: all 0.15s linear;
  transition: all 0.15s linear;
  -webkit-appearance: none;
  -moz-appearance: none;
  -ms-appearance: none;
  -o-appearance: none;
  appearance: none;
  display: inline-block;
  padding: 0 20px;
  border-radius: 100px;
  background-color: #a8a8a8;
  color: white;
  font-weight: 300;
  line-height: 40px;
  cursor: pointer; }
  @media screen and (max-width: 680px) {
    .button {
      padding: 0 10px;
      font-size: 14px;
      line-height: 30px; } }

.outline-button {
  -webkit-transition: all 0.15s linear;
  -moz-transition: all 0.15s linear;
  transition: all 0.15s linear;
  -webkit-appearance: none;
  -moz-appearance: none;
  -ms-appearance: none;
  -o-appearance: none;
  appearance: none;
  display: inline-block;
  padding: 0 20px;
  border-radius: 100px;
  background-color: white;
  color: white;
  font-weight: 300;
  line-height: 40px;
  cursor: pointer;
  box-shadow: inset 0 0 0 1px white; }
  @media screen and (max-width: 680px) {
    .outline-button {
      padding: 0 10px;
      font-size: 14px;
      line-height: 30px; } }

.cta-button,
.primary-button {
  -webkit-transition: all 0.15s linear;
  -moz-transition: all 0.15s linear;
  transition: all 0.15s linear;
  -webkit-appearance: none;
  -moz-appearance: none;
  -ms-appearance: none;
  -o-appearance: none;
  appearance: none;
  display: inline-block;
  padding: 0 20px;
  border-radius: 100px;
  background-color: #9495b6;
  color: white;
  font-weight: 300;
  line-height: 40px;
  cursor: pointer;
  border: none; }
  @media screen and (max-width: 680px) {
    .cta-button,
    .primary-button {
      padding: 0 10px;
      font-size: 14px;
      line-height: 30px; } }

.cta-button--white {
  -webkit-transition: all 0.15s linear;
  -moz-transition: all 0.15s linear;
  transition: all 0.15s linear;
  -webkit-appearance: none;
  -moz-appearance: none;
  -ms-appearance: none;
  -o-appearance: none;
  appearance: none;
  display: inline-block;
  padding: 0 20px;
  border-radius: 100px;
  background-color: white;
  color: #9495b6;
  font-weight: 300;
  line-height: 40px;
  cursor: pointer;
  border: none; }
  @media screen and (max-width: 680px) {
    .cta-button--white {
      padding: 0 10px;
      font-size: 14px;
      line-height: 30px; } }

.cta-button--ontdek {
  -webkit-transition: all 0.15s linear;
  -moz-transition: all 0.15s linear;
  transition: all 0.15s linear;
  -webkit-appearance: none;
  -moz-appearance: none;
  -ms-appearance: none;
  -o-appearance: none;
  appearance: none;
  display: inline-block;
  padding: 0 20px;
  border-radius: 100px;
  background-color: #eea5a4;
  color: white;
  font-weight: 300;
  line-height: 40px;
  cursor: pointer;
  border: none;
  background-image: url(/images/icon-ontdek.png);
  background-position: calc(100% - 4px) center;
  background-size: 32px 32px;
  padding-right: 44px;
  background-repeat: no-repeat; }
  @media screen and (max-width: 680px) {
    .cta-button--ontdek {
      background-size: 24px 24px;
      padding-right: 30px !important; } }
  @media screen and (max-width: 680px) {
    .cta-button--ontdek {
      padding: 0 10px;
      font-size: 14px;
      line-height: 30px; } }

.cta-button--ervaar {
  -webkit-transition: all 0.15s linear;
  -moz-transition: all 0.15s linear;
  transition: all 0.15s linear;
  -webkit-appearance: none;
  -moz-appearance: none;
  -ms-appearance: none;
  -o-appearance: none;
  appearance: none;
  display: inline-block;
  padding: 0 20px;
  border-radius: 100px;
  background-color: #d6cd6c;
  color: white;
  font-weight: 300;
  line-height: 40px;
  cursor: pointer;
  border: none;
  background-image: url(/images/icon-ervaar.png);
  background-position: calc(100% - 4px) center;
  background-size: 32px 32px;
  padding-right: 44px;
  background-repeat: no-repeat; }
  @media screen and (max-width: 680px) {
    .cta-button--ervaar {
      background-size: 24px 24px;
      padding-right: 30px !important; } }
  @media screen and (max-width: 680px) {
    .cta-button--ervaar {
      padding: 0 10px;
      font-size: 14px;
      line-height: 30px; } }

.hero {
  position: relative;
  overflow: hidden;
  margin: 0 30px; }
  @media screen and (max-width: 680px) {
    .hero {
      margin: 0 10px;
      height: calc(50vw - 10px); } }
  @media screen and (min-width: 681px) and (max-width: 920px) {
    .hero {
      height: calc(50vw - 30px); } }
  @media screen and (min-width: 921px) and (max-width: 1040px) {
    .hero {
      height: calc(50vw - 30px); } }
  @media screen and (min-width: 1041px) {
    .hero {
      height: calc(40vw - 30px); } }

.hero__inner {
  max-width: 1240px;
  margin: 0 auto;
  padding: 0 20px;
  width: 100%;
  max-width: 1200px;
  margin-left: auto;
  margin-right: auto;
  position: relative;
  z-index: 100; }
  .hero__inner::after {
    clear: both;
    content: "";
    display: table; }
  @media screen and (max-width: 680px) {
    .hero__inner {
      padding: 0 10px; } }
  .hero__inner::after {
    clear: both;
    content: "";
    display: table; }
  @media screen and (max-width: 520px) {
    .hero__inner {
      padding-top: 30px; } }
  @media screen and (min-width: 521px) and (max-width: 1040px) {
    .hero__inner {
      padding-top: 60px; } }
  @media screen and (min-width: 1041px) and (max-width: 1280px) {
    .hero__inner {
      padding-top: 80px; } }
  @media screen and (min-width: 1281px) {
    .hero__inner {
      padding-top: 120px; } }

.hero__sheet {
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  width: 100%; }

.hero__image {
  width: 100%; }

.story__section.is-past {
  display: none; }

.story__section--agenda-cards {
  background: #dcdde7; }

.story__section--more-info {
  padding: 20px 0;
  background: #767792;
  color: white; }
  @media screen and (max-width: 680px) {
    .story__section--more-info {
      padding: 30px 0; } }

.story__section--agenda-secondery {
  padding: 20px 0;
  background: #9495b6;
  color: white; }
  @media screen and (max-width: 680px) {
    .story__section--agenda-secondery {
      padding: 30px 0; } }

.story__section--payoff {
  position: relative;
  z-index: 20;
  margin: 0 30px 0;
  height: 195px;
  background: #9495b6;
  color: white;
  pointer-events: none; }
  @media screen and (max-width: 680px) {
    .story__section--payoff {
      margin: 0 10px -20px; } }
  @media screen and (min-width: 1041px) {
    .story__section--payoff {
      background: transparent;
      margin-top: -195px; } }

.story__section--payoff-bottom {
  margin-top: -15px;
  margin-bottom: 0; }
  @media screen and (max-width: 680px) {
    .story__section--payoff-bottom {
      margin-bottom: 30px; } }
  @media screen and (min-width: 1041px) {
    .story__section--payoff-bottom {
      background: #9495b6; } }

@media screen and (max-width: 680px) {
  .story__section--payoff--image {
    margin-top: 20px;
    max-width: 230px; } }
@media screen and (min-width: 681px) and (max-width: 1040px) {
  .story__section--payoff--image {
    margin-top: -60px;
    max-width: 60%; } }
@media screen and (min-width: 1041px) {
  .story__section--payoff--image {
    margin-top: -30px;
    max-width: 410px; } }

.story__section--payoff--byline {
  margin: 0 0 0 10px;
  font-weight: 500; }
  @media screen and (max-width: 680px) {
    .story__section--payoff--byline {
      position: absolute;
      right: 20px;
      bottom: 25px;
      left: 10px; } }

.story__section--go-header-image {
  height: 48px;
  margin-top: 48px; }

.story__section--go--image {
  height: 38px; }

.story__section--page-nav {
  position: relative;
  z-index: 19;
  margin: 0 30px;
  padding: 15px 0;
  background: #7e7f9b;
  color: white; }
  .story__section--page-nav:after {
    position: absolute;
    top: 100%;
    left: 50%;
    margin-left: -15px;
    width: 0;
    height: 0;
    border-top: solid 15px #7e7f9b;
    border-right: solid 15px transparent;
    border-left: solid 15px transparent;
    content: ''; }
  @media screen and (max-width: 680px) {
    .story__section--page-nav {
      margin: 0 10px -20px; } }

.story__page-nav {
  width: 100%;
  text-align: center; }
  @media screen and (max-width: 680px) {
    .story__page-nav {
      text-align: left; } }

.story__page-nav--link {
  margin: 0 20px; }
  @media screen and (max-width: 680px) {
    .story__page-nav--link {
      display: block;
      margin: 10px 0;
      padding: 5px;
      border-bottom: 1px solid rgba(255, 255, 255, 0.3); } }

.story__section--ontdek-groei-ervaar {
  margin-top: -60px;
  position: absolute; }
  @media screen and (max-width: 680px) {
    .story__section--ontdek-groei-ervaar {
      top: 30px;
      right: -9px;
      margin-left: 50px;
      max-width: 130px;
      transform: rotate(-8deg); } }
  @media screen and (min-width: 681px) and (max-width: 1040px) {
    .story__section--ontdek-groei-ervaar {
      top: 10px;
      right: 6%;
      margin-left: 80px;
      max-width: 30%; } }
  @media screen and (min-width: 1041px) {
    .story__section--ontdek-groei-ervaar {
      top: 210px;
      right: 20px;
      margin-left: 80px;
      max-width: 180px; } }

@media screen and (min-width: 921px) {
  .story__section--dates-top {
    background-image: url("../images/fix-camra_arch.png");
    background-position: right 70%;
    background-repeat: no-repeat;
    background-size: 15%; } }

@media screen and (min-width: 921px) {
  .story__section-expressie {
    background-image: url("../images/fix-earbud.png");
    background-position: right 0;
    background-repeat: no-repeat; } }

@media screen and (min-width: 921px) {
  .story__section-media {
    background-image: url("../images/fix-pen.png");
    background-position: left bottom;
    background-repeat: no-repeat; } }

.story__section--intro {
  position: relative;
  margin: 0 30px; }
  @media screen and (max-width: 680px) {
    .story__section--intro {
      margin: 0 10px 30px;
      padding-top: 20px; } }

.story__section--nav {
  position: relative;
  margin: 0 30px; }
  @media screen and (max-width: 680px) {
    .story__section--nav {
      margin: 0 10px;
      padding-top: 20px; } }

.story__section--intro-go {
  position: relative;
  margin: 0 30px;
  padding: 0 0 30px; }
  @media screen and (max-width: 680px) {
    .story__section--intro-go {
      margin: 0 10px;
      padding: 20px 0 0 0; } }

.story__section--has-border {
  margin: 0 30px; }
  @media screen and (max-width: 680px) {
    .story__section--has-border {
      margin: 0 10px; } }

.story__intro {
  margin: 0 auto;
  max-width: 800px;
  text-align: center; }
  @media screen and (max-width: 680px) {
    .story__intro {
      padding: 10px 0;
      text-align: left; } }
  @media screen and (min-width: 601px) and (max-width: 920px) {
    .story__intro {
      padding: 20px 0; } }
  @media screen and (min-width: 921px) and (max-width: 1040px) {
    .story__intro {
      padding: 20px 0; } }
  @media screen and (min-width: 1041px) {
    .story__intro {
      padding: 20px 0; } }

@media screen and (max-width: 680px) {
  .story__intro-title,
  .story__intro h1 {
    font-size: 36px;
    line-height: 1.25; } }
@media screen and (min-width: 681px) and (max-width: 1040px) {
  .story__intro-title,
  .story__intro h1 {
    font-size: 36px;
    line-height: 1.25; } }
@media screen and (min-width: 1041px) {
  .story__intro-title,
  .story__intro h1 {
    font-size: 48px;
    line-height: 1.25; } }

@media screen and (max-width: 680px) {
  .story__intro h2 {
    font-size: 24px;
    line-height: 1.25; } }
@media screen and (min-width: 681px) and (max-width: 1040px) {
  .story__intro h2 {
    font-size: 32px;
    line-height: 1.25; } }
@media screen and (min-width: 1041px) {
  .story__intro h2 {
    font-size: 36px;
    line-height: 1.25; } }

@media screen and (max-width: 680px) {
  .story__intro-byline,
  .story__intro p {
    font-size: 16px;
    line-height: 1.4375em; } }
@media screen and (min-width: 681px) and (max-width: 1040px) {
  .story__intro-byline,
  .story__intro p {
    font-size: 18px;
    line-height: 1.5em; } }
@media screen and (min-width: 1041px) {
  .story__intro-byline,
  .story__intro p {
    margin-top: 5px;
    font-size: 20px;
    line-height: 1.5625em; } }

@media screen and (max-width: 680px) {
  .story__tile p {
    font-size: 16px;
    line-height: 1.4375em; } }
@media screen and (min-width: 681px) and (max-width: 1040px) {
  .story__tile p {
    font-size: 18px;
    line-height: 1.5em; } }
@media screen and (min-width: 1041px) {
  .story__tile p {
    font-size: 18px;
    line-height: 1.5625em; } }

.story__intro--diap {
  background: #b4b5cc;
  color: white; }
  .story__intro--diap:after {
    position: absolute;
    top: 100%;
    left: 50%;
    margin-left: -15px;
    width: 0;
    height: 0;
    border-top: solid 15px #b4b5cc;
    border-right: solid 15px transparent;
    border-left: solid 15px transparent;
    content: ''; }

.story__section--full {
  position: relative; }
  @media screen and (min-width: 681px) {
    .story__section--full {
      max-height: 540px;
      height: calc(50vw - 40px); } }

@media screen and (min-width: 320px) and (max-width: 680px) {
  .story__inner {
    max-width: 1240px;
    margin: 0 auto;
    padding: 0 25px;
    width: 100%; }
    .story__inner::after {
      clear: both;
      content: "";
      display: table; } }
  @media screen and (min-width: 320px) and (max-width: 680px) and (max-width: 680px) {
    .story__inner {
      padding: 0 15px; } }

@media screen and (min-width: 681px) {
  .story__inner {
    max-width: 1200px;
    margin-left: auto;
    margin-right: auto;
    display: -webkit-box;
    display: -moz-box;
    display: box;
    display: -webkit-flex;
    display: -moz-flex;
    display: -ms-flexbox;
    display: flex;
    max-width: 1240px;
    margin: 0 auto;
    padding: 0 30px;
    width: 100%;
    position: relative;
    z-index: 100;
    max-height: inherit;
    height: inherit; }
    .story__inner::after {
      clear: both;
      content: "";
      display: table; }
    .story__inner::after {
      clear: both;
      content: "";
      display: table; } }
  @media screen and (min-width: 681px) and (max-width: 680px) {
    .story__inner {
      padding: 0 20px; } }
@media screen and (min-width: 681px) {
    .story__section--full .story__inner {
      -webkit-box-orient: vertical;
      -moz-box-orient: vertical;
      box-orient: vertical;
      -webkit-flex-direction: column;
      -moz-flex-direction: column;
      flex-direction: column;
      -ms-flex-direction: column; }
    .story__section--reverse .story__inner {
      -webkit-box-orient: horizontal;
      -moz-box-orient: horizontal;
      box-orient: horizontal;
      -webkit-box-direction: reverse;
      -moz-box-direction: reverse;
      box-direction: reverse;
      -webkit-flex-direction: row-reverse;
      -moz-flex-direction: row-reverse;
      flex-direction: row-reverse;
      -ms-flex-direction: row-reverse; } }

.story__layout {
  margin: 0 auto;
  width: 100%; }
  @media screen and (max-width: 1040px) {
    .story__layout {
      display: -webkit-box;
      display: -moz-box;
      display: box;
      display: -webkit-flex;
      display: -moz-flex;
      display: -ms-flexbox;
      display: flex;
      -webkit-box-lines: multiple;
      -moz-box-lines: multiple;
      box-lines: multiple;
      -webkit-flex-wrap: wrap;
      -moz-flex-wrap: wrap;
      -ms-flex-wrap: wrap;
      flex-wrap: wrap; } }
  @media screen and (min-width: 1041px) {
    .story__layout {
      display: table; } }

@media screen and (max-width: 680px) {
  .story__column {
    -webkit-flex-basis: 50%;
    -moz-flex-basis: 50%;
    flex-basis: 50%;
    -ms-flex-preferred-size: 50%;
    -webkit-flex-grow: 1;
    -moz-flex-grow: 1;
    flex-grow: 1;
    -ms-flex-positive: 1; } }
@media screen and (min-width: 681px) and (max-width: 1040px) {
  .story__column {
    -webkit-flex-basis: 280px;
    -moz-flex-basis: 280px;
    flex-basis: 280px;
    -ms-flex-preferred-size: 280px;
    -webkit-flex-grow: 1;
    -moz-flex-grow: 1;
    flex-grow: 1;
    -ms-flex-positive: 1; } }
@media screen and (min-width: 1041px) {
  .story__column {
    display: table-cell;
    padding: 30px;
    vertical-align: top; } }

.story__column--flat {
  padding: 0; }

@media screen and (min-width: 1041px) {
  .story__column--full {
    width: 100%; } }

@media screen and (max-width: 1040px) {
  .story__column--one-half {
    -webkit-flex-basis: 100%;
    -moz-flex-basis: 100%;
    flex-basis: 100%;
    -ms-flex-preferred-size: 100%;
    margin-bottom: 30px; } }
@media screen and (min-width: 1041px) {
  .story__column--one-half {
    display: inline-block;
    width: 50%; } }

@media screen and (max-width: 1040px) {
  .story__column--one-third {
    -webkit-flex-basis: 220px;
    -moz-flex-basis: 220px;
    flex-basis: 220px;
    -ms-flex-preferred-size: 220px; } }
@media screen and (min-width: 1041px) {
  .story__column--one-third {
    display: inline-block;
    width: 33%; } }

@media screen and (max-width: 1040px) {
  .story__column--two-third {
    -webkit-flex-grow: 2;
    -moz-flex-grow: 2;
    flex-grow: 2;
    -ms-flex-positive: 2;
    -webkit-flex-basis: 320px;
    -moz-flex-basis: 320px;
    flex-basis: 320px;
    -ms-flex-preferred-size: 320px; } }
@media screen and (min-width: 1041px) {
  .story__column--two-third {
    width: 67%; } }

@media screen and (max-width: 1040px) {
  .story__column--one-fourth {
    -webkit-flex-basis: 220px;
    -moz-flex-basis: 220px;
    flex-basis: 220px;
    -ms-flex-preferred-size: 220px; } }
@media screen and (min-width: 1041px) {
  .story__column--one-fourth {
    width: 25%; } }

@media screen and (max-width: 1040px) {
  .story__column--two-fourth {
    -webkit-flex-grow: 2;
    -moz-flex-grow: 2;
    flex-grow: 2;
    -ms-flex-positive: 2;
    -webkit-flex-basis: 320px;
    -moz-flex-basis: 320px;
    flex-basis: 320px;
    -ms-flex-preferred-size: 320px; } }
@media screen and (min-width: 1041px) {
  .story__column--two-fourth {
    width: 50%; } }

@media screen and (max-width: 1040px) {
  .story__column--three-fourth {
    -webkit-flex-grow: 3;
    -moz-flex-grow: 3;
    flex-grow: 3;
    -ms-flex-positive: 3;
    -webkit-flex-basis: 400px;
    -moz-flex-basis: 400px;
    flex-basis: 400px;
    -ms-flex-preferred-size: 400px; } }
@media screen and (min-width: 1041px) {
  .story__column--three-fourth {
    width: 75%; } }

@media screen and (min-width: 1041px) {
  .story__column--one-fifth {
    width: 20%; } }

@media screen and (max-width: 1040px) {
  .story__column--two-fifth {
    -webkit-flex-grow: 2;
    -moz-flex-grow: 2;
    flex-grow: 2;
    -ms-flex-positive: 2; } }
@media screen and (min-width: 1041px) {
  .story__column--two-fifth {
    width: 40%; } }

@media screen and (max-width: 1040px) {
  .story__column--three-fifth {
    -webkit-flex-grow: 3;
    -moz-flex-grow: 3;
    flex-grow: 3;
    -ms-flex-positive: 3;
    -webkit-flex-basis: 320px;
    -moz-flex-basis: 320px;
    flex-basis: 320px;
    -ms-flex-preferred-size: 320px; } }
@media screen and (min-width: 1041px) {
  .story__column--three-fifth {
    width: 60%; } }

@media screen and (max-width: 1040px) {
  .story__column--four-fifth {
    -webkit-flex-grow: 4;
    -moz-flex-grow: 4;
    flex-grow: 4;
    -ms-flex-positive: 4;
    -webkit-flex-basis: 400px;
    -moz-flex-basis: 400px;
    flex-basis: 400px;
    -ms-flex-preferred-size: 400px; } }
@media screen and (min-width: 1041px) {
  .story__column--four-fifth {
    width: 80%; } }

@media screen and (min-width: 681px) {
  .story__content {
    float: left;
    display: block;
    margin-right: 2.3576515979%;
    width: 31.7615656014%;
    margin: auto 40px auto 0; }
    .story__content:last-child {
      margin-right: 0; }
    .story__section--diap .story__content {
      color: white; }
    .story__section--reverse .story__content {
      margin: auto 0 auto 40px; } }
@media screen and (min-width: 681px) and (max-width: 920px) {
  .story__content {
    float: left;
    display: block;
    margin-right: 2.3576515979%;
    width: 48.821174201%;
    margin: auto 0; }
    .story__content:last-child {
      margin-right: 0; } }
@media screen and (max-width: 800px) {
  .story__content {
    padding: 10px 15px; }
    .story__content p {
      font-size: 16px;
      line-height: 1.4375em; } }

.story__content--clear {
  padding: 60px 0; }

@media screen and (min-width: 681px) and (max-width: 800px) {
  .story__content--right {
    margin-left: 8.5298042998%; } }
@media screen and (min-width: 801px) {
  .story__content--right {
    margin-left: 17.0596085997%; } }

@media screen and (min-width: 681px) {
  .story__content--left {
    margin-left: 8.5298042998%;
    padding-left: 30px; } }

@media screen and (min-width: 801px) {
  .story__content--full.story__content--shift {
    margin-left: 17.0596085997%; } }
@media screen and (max-width: 680px) {
  .story__content--full {
    float: left;
    display: block;
    margin-right: 2.3576515979%;
    width: 100%;
    margin-bottom: 20px; }
    .story__content--full:last-child {
      margin-right: 0; } }
@media screen and (min-width: 681px) and (max-width: 1040px) {
  .story__content--full {
    float: left;
    display: block;
    margin-right: 2.3576515979%;
    width: 82.9403914003%;
    margin-bottom: 20px; }
    .story__content--full:last-child {
      margin-right: 0; } }
@media screen and (min-width: 1041px) {
  .story__content--full {
    float: left;
    display: block;
    margin-right: 2.3576515979%;
    width: 82.9403914003%;
    margin-top: 40px;
    margin-bottom: 80px; }
    .story__content--full:last-child {
      margin-right: 0; } }

@media screen and (max-width: 680px) {
  .story__content--image {
    float: left;
    display: block;
    margin-right: 2.3576515979%;
    width: 100%;
    left: 0; }
    .story__content--image:last-child {
      margin-right: 0; } }
@media screen and (min-width: 681px) and (max-width: 1040px) {
  .story__content--image {
    float: left;
    display: block;
    margin-right: 2.3576515979%;
    width: 91.4701957002%;
    margin-bottom: 20px; }
    .story__content--image:last-child {
      margin-right: 0; } }
@media screen and (min-width: 1041px) {
  .story__content--image {
    float: left;
    display: block;
    margin-right: 2.3576515979%;
    width: 100%;
    margin-bottom: 40px; }
    .story__content--image:last-child {
      margin-right: 0; } }

.story__inner-picture {
  max-width: 440px;
  height: 100%;
  box-shadow: -20px 20px 0 #09f;
  will-change: transform;
  margin: 60px 0; }
  @media screen and (max-width: 680px) {
    .story__inner-picture {
      display: none; } }

.story__inner-picture--left {
  margin-left: 8.5298042998%;
  transform: rotate(-1deg); }

.story__inner-picture--right {
  margin-left: 8.5298042998%;
  transform: rotate(1deg); }

.story__inner-picture--image {
  max-width: 100%; }

.story__picture--go-sport {
  box-shadow: -25px 25px 0 #59ac69; }

.story__picture--go-expressie {
  box-shadow: -25px 25px 0 #d6cd6c; }

.story__picture--go-media {
  box-shadow: -25px 25px 0 #59ac69; }

.story__picture--go-technasium {
  box-shadow: -25px 25px 0 #EB7221; }

.story__picture--vertical-pull {
  margin-top: -40px; }

.story__full-picture {
  will-change: transform; }
  @media screen and (min-width: 681px) {
    .story__full-picture {
      position: absolute;
      top: 0;
      bottom: 0;
      left: 0;
      overflow: hidden;
      width: 100%; } }

.story__inner-picture .story__image {
  width: 100%; }
@media screen and (min-width: 681px) {
  .story__full-picture .story__image {
    -webkit-transform: translate(-50%, -50%);
    -moz-transform: translate(-50%, -50%);
    -ms-transform: translate(-50%, -50%);
    -o-transform: translate(-50%, -50%);
    transform: translate(-50%, -50%);
    position: absolute;
    top: 50%;
    left: 50%; } }
@media screen and (min-width: 681px) and (max-width: 1040px) {
  .story__full-picture .story__image {
    max-width: none;
    width: auto;
    height: 100%; } }

@media screen and (max-width: 800px) {
  .story__title {
    font-size: 24px;
    line-height: 1.625em; } }
@media screen and (min-width: 801px) and (max-width: 1280px) {
  .story__title {
    font-size: 32px;
    line-height: 1.6875em; } }

.story__sub-title {
  margin-top: 25px; }
  @media screen and (max-width: 680px) {
    .story__sub-title {
      font-size: 20px;
      line-height: 1.5625em; } }
  @media screen and (min-width: 681px) {
    .story__sub-title {
      font-size: 24px;
      line-height: 1.625em; } }

.story__button {
  margin: 10px 5px 10px 0; }

.story__button--tile {
  margin: 25px 5px 10px 0;
  background: #9495b6; }

.story__button--wide {
  position: relative;
  position: relative;
  margin: 10px 5px 10px 0;
  width: 100%;
  background: #9495b6;
  font-size: 14px;
  font-weight: 500; }
  .is-past .story__button--wide {
    opacity: 0.4;
    pointer-events: none; }
    .is-past .story__button--wide span {
      display: none; }
  .story__button--wide span {
    position: absolute;
    top: 0;
    right: 25px;
    border-radius: 22px;
    color: white;
    text-decoration: underline;
    font-size: 10px;
    font-weight: 600; }
    @media screen and (max-width: 680px) {
      .story__button--wide span {
        top: 5px; } }
    @media screen and (min-width: 441px) and (max-width: 1040px) {
      .story__button--wide span {
        top: -30px;
        display: none;
        color: #6a6b86; } }
  @media screen and (max-width: 680px) {
    .story__button--wide {
      padding: 5px 10px;
      font-size: 16px;
      line-height: 1.4375em; } }

.story__button--wide + span {
  display: none; }
  .is-past .story__button--wide + span {
    display: inline;
    font-size: 14px;
    color: #5a5a5a; }

.story__button--cta-instuif {
  background: #a18575; }

.story__button--cta-meeloop {
  background: #9495b6; }

.story__button--cta-openavond {
  background: #59ac69; }

.story__button--cta-experience {
  background: #6a6b86; }

.story__link-list {
  list-style: none;
  margin: 0;
  padding: 10px 0;
  font-size: 16px; }

.tile {
  padding: 20px 10px; }
  @media screen and (max-width: 680px) {
    .tile {
      padding: 0; } }

.tile__content {
  padding: 15px 25px; }

.tile__header:after {
  display: block;
  margin-top: 0.5em;
  width: 110px;
  height: 0;
  border-color: #3793a9;
  border-top: 4px solid;
  border-radius: 4px;
  content: ' '; }

.tile__header-instuif:after {
  border-color: #a18575; }

.tile__header-experience:after {
  border-color: #9495b6; }

.tile__header-openavond:after {
  border-color: #59ac69; }

.tile__title {
  -webkit-box-flex: 0;
  -moz-box-flex: 0;
  box-flex: 0;
  -webkit-flex: 0 0 auto;
  -moz-flex: 0 0 auto;
  -ms-flex: 0 0 auto;
  flex: 0 0 auto;
  margin: 0;
  word-break: break-all;
  font-size: 32px;
  font-weight: 300;
  line-height: 1.125em; }
  .tile__title span {
    width: 0; }
  @media screen and (max-width: 680px) {
    .tile__title {
      font-size: 24px;
      line-height: 1.125em; } }

.tile__title-hyphen {
  display: none; }
  @media screen and (min-width: 801px) and (max-width: 1280px) {
    .tile__title-hyphen {
      display: inline; } }

.tile__subtitle {
  -webkit-box-flex: 0;
  -moz-box-flex: 0;
  box-flex: 0;
  -webkit-flex: 0 0 auto;
  -moz-flex: 0 0 auto;
  -ms-flex: 0 0 auto;
  flex: 0 0 auto;
  margin: 10px 0;
  font-size: 18px;
  font-weight: 300;
  line-height: 1.125em; }

.tile__text {
  -webkit-box-flex: 2;
  -moz-box-flex: 2;
  box-flex: 2;
  -webkit-flex: 2 0 auto;
  -moz-flex: 2 0 auto;
  -ms-flex: 2 0 auto;
  flex: 2 0 auto;
  font-size: 16px;
  line-height: 1.5em; }

.page-header {
  margin: 0 30px; }
  @media screen and (max-width: 680px) {
    .page-header {
      margin: 0 10px; } }

@media screen and (max-width: 440px) {
  .page-header__inner {
    max-width: 1240px;
    margin: 0 auto;
    padding: 0 20px;
    width: 100%; }
    .page-header__inner::after {
      clear: both;
      content: "";
      display: table; } }
  @media screen and (max-width: 440px) and (max-width: 680px) {
    .page-header__inner {
      padding: 0 10px; } }

@media screen and (min-width: 441px) {
  .page-header__inner {
    max-width: 1240px;
    margin: 0 auto;
    padding: 0 20px;
    width: 100%;
    display: -webkit-box;
    display: -moz-box;
    display: box;
    display: -webkit-flex;
    display: -moz-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
    -moz-box-pack: justify;
    box-pack: justify;
    -webkit-justify-content: space-between;
    -moz-justify-content: space-between;
    -ms-justify-content: space-between;
    -o-justify-content: space-between;
    justify-content: space-between;
    -ms-flex-pack: justify;
    -webkit-box-lines: multiple;
    -moz-box-lines: multiple;
    box-lines: multiple;
    -webkit-flex-wrap: wrap;
    -moz-flex-wrap: wrap;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    height: 70px; } }
  @media screen and (min-width: 441px) and (max-width: 680px) {
    .page-header__inner {
      padding: 0 10px; } }

.page-header__logo {
  display: block; }
  @media screen and (max-width: 440px) {
    .page-header__logo {
      margin-left: 0;
      padding: 8px 0 0; } }
  @media screen and (min-width: 441px) {
    .page-header__logo {
      margin-top: auto;
      margin-bottom: auto; } }

.page-header__logo-logo {
  height: 55px; }
  @media screen and (max-width: 440px) {
    .page-header__logo-logo {
      height: 35px; } }
  @media screen and (min-width: 441px) and (max-width: 680px) {
    .page-header__logo-logo {
      height: 45px; } }

.page-header__nav {
  margin: 0;
  list-style: none; }
  @media screen and (max-width: 440px) {
    .page-header__nav {
      padding: 0;
      height: 35px;
      text-align: left;
      font-size: 11px; } }
  @media screen and (min-width: 441px) {
    .page-header__nav {
      padding: 20px 0;
      text-align: right; } }

.page-header__nav-item {
  display: inline-block; }
  @media screen and (max-width: 440px) {
    .page-header__nav-item {
      margin-right: 10px;
      line-height: 35px; } }
  @media screen and (min-width: 441px) {
    .page-header__nav-item {
      margin-left: 30px; } }

@media screen and (max-width: 800px) {
  .page-header__nav-item--hide-on-mobile {
    display: none; } }

.page-header__nav-link {
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
  -webkit-transition: border-bottom 0.1s linear;
  -moz-transition: border-bottom 0.1s linear;
  transition: border-bottom 0.1s linear;
  border: none;
  border-bottom: 1px solid rgba(90, 90, 90, 0);
  color: #5a5a5a;
  text-decoration: none;
  cursor: pointer; }
  .page-header__nav-link:hover {
    border-bottom: 1px solid rgba(90, 90, 90, 0.75); }
  @media screen and (max-width: 680px) {
    .page-header__nav-link {
      font-size: 14px; } }
  @media screen and (min-width: 681px) {
    .page-header__nav-link {
      font-size: 16px; } }

.carousel {
  -webkit-transition: opacity 0.4s ease-in;
  -moz-transition: opacity 0.4s ease-in;
  transition: opacity 0.4s ease-in;
  position: relative;
  overflow: hidden;
  margin: 0 auto;
  max-width: 1300px;
  opacity: 0; }
  .carousel.is-hidden {
    display: none; }
  .carousel.flickity-enabled {
    opacity: 1; }
  @media screen and (max-width: 680px) {
    .carousel {
      margin: 0 10px;
      padding: 0; } }

.carousel__cell {
  margin-right: 10px;
  width: 100%; }

.carousel__cell-media {
  overflow: hidden; }
  @media screen and (max-width: 680px) {
    .carousel__cell-media {
      height: 100%; } }
  @media screen and (min-width: 681px) and (max-width: 1040px) {
    .carousel__cell-media {
      height: 100%; } }
  @media screen and (min-width: 1041px) {
    .carousel__cell-media {
      height: 450px; } }

.carousel__inner {
  max-width: 1240px;
  margin: 0 auto;
  padding: 0 20px;
  width: 100%;
  position: relative;
  overflow: hidden;
  margin-top: -30px;
  margin-bottom: 10px;
  padding: 0 61px 25px;
  max-width: 1040px; }
  .carousel__inner::after {
    clear: both;
    content: "";
    display: table; }
  @media screen and (max-width: 680px) {
    .carousel__inner {
      padding: 0 10px; } }
  @media screen and (max-width: 680px) {
    .carousel__inner {
      padding-bottom: 20px; } }

.carousel__cell-content {
  margin-top: 40px; }
  @media screen and (max-width: 680px) {
    .carousel__cell-content {
      margin-top: 20px; } }

.carousel__cell-title {
  font-size: 24px;
  line-height: 1.5625em; }

.carousel__cell-text {
  font-size: 16px;
  line-height: 1.5625em; }

.carousel__cell-table {
  margin-bottom: 10px;
  font-size: 14px; }
  .carousel__cell-table th {
    padding: 2px 10px;
    background: #EB7221;
    color: white;
    text-align: left; }
  .carousel__cell-table td {
    padding: 2px 10px;
    background: white;
    text-align: left; }
  .carousel__cell-table tr:nth-child(even) td {
    background: #fbe3d3; }

.carousel__cell-list {
  margin: 0;
  padding: 0;
  list-style: none; }

.carousel__cell-list-item {
  display: inline;
  font-size: 16px;
  font-weight: 500; }
  .carousel__cell-list-item::before {
    margin: 0 6px;
    color: #EB7221;
    content: ' + '; }
  .carousel__cell-list-item:first-child::before {
    margin: 0;
    content: ''; }

.carousel__button-group {
  -webkit-transform: translateY(-50%);
  -moz-transform: translateY(-50%);
  -ms-transform: translateY(-50%);
  -o-transform: translateY(-50%);
  transform: translateY(-50%);
  position: absolute;
  top: 420px;
  left: 0;
  z-index: 100;
  display: block;
  width: 100%;
  text-align: center; }
  @media screen and (max-width: 969px) {
    .carousel__button-group {
      display: none; } }
  @media screen and (min-width: 970px) and (max-width: 1023px) {
    .carousel__button-group {
      top: 365px; } }

.carousel__button {
  position: relative;
  z-index: 999;
  display: inline-block;
  margin: 0 8px;
  padding: 4px 30px;
  border: 0 solid #9495b6;
  border-radius: 20px;
  background: #eea5a4;
  color: white;
  font-size: 15px;
  font-weight: 600;
  margin-bottom: 4px; }
  .carousel__button.is-active {
    border: 2px solid #3793a9;
    background: #9495b6;
    color: white;
    transform: scale(1.1); }

.carousel__button:nth-child(1n) {
  transform: rotate(-2deg); }

.carousel__button:nth-child(3n+2) {
  transform: rotate(2deg); }

.carousel__button::nth-child(2n+3) {
  transform: rotate(-1deg); }

.carousel__product-image {
  margin: 0 auto; }

.discover {
  position: relative;
  margin-top: 20px;
  margin-right: 30px;
  margin-left: 30px;
  padding: 0; }
  @media screen and (max-width: 680px) {
    .discover {
      margin-top: 20px;
      margin-right: 0;
      margin-bottom: 20px;
      margin-left: 0; } }
  @media screen and (min-width: 921px) {
    .discover {
      padding: 0 60px; } }

.discover__background {
  position: absolute;
  top: 60px;
  left: 0;
  width: 100%;
  height: 480px;
  background: #94c5d1; }
  @media screen and (min-width: 681px) and (max-width: 1040px) {
    .discover__background {
      right: -30px;
      left: -30px;
      width: auto; } }
  @media screen and (max-width: 969px) {
    .discover__background {
      bottom: 0;
      height: auto; } }

.discover .carousel__inner {
  background: aliceblue; }

.go-sport {
  position: relative;
  margin-top: 20px;
  margin-right: 30px;
  margin-bottom: -20px;
  margin-left: 30px;
  padding: 0; }
  .go-sport.is-hidden {
    display: none; }
  @media screen and (max-width: 680px) {
    .go-sport {
      margin-top: 20px;
      margin-right: 0;
      margin-bottom: 20px;
      margin-left: 0; } }
  @media screen and (min-width: 921px) {
    .go-sport {
      padding: 0 60px; } }

.go-sport__background {
  position: absolute;
  top: 60px;
  left: 0;
  width: 100%;
  height: 480px;
  background: #7abd87; }
  @media screen and (min-width: 681px) and (max-width: 1040px) {
    .go-sport__background {
      right: -30px;
      left: -30px;
      width: auto; } }
  @media screen and (max-width: 969px) {
    .go-sport__background {
      bottom: 0;
      height: auto; } }

.go-sport .carousel__inner {
  background: #eef7f0; }

.go-expressie {
  position: relative;
  margin-top: 20px;
  margin-right: 30px;
  margin-bottom: 30px;
  margin-left: 30px;
  padding: 0; }
  .go-expressie.is-hidden {
    display: none; }
  @media screen and (max-width: 680px) {
    .go-expressie {
      margin-top: 20px;
      margin-right: 0;
      margin-bottom: 20px;
      margin-left: 0; } }
  @media screen and (min-width: 921px) {
    .go-expressie {
      padding: 0 60px; } }

.go-expressie__background {
  position: absolute;
  top: 60px;
  left: 0;
  width: 100%;
  height: 480px;
  background: #ded789; }
  @media screen and (min-width: 681px) and (max-width: 1040px) {
    .go-expressie__background {
      right: -30px;
      left: -30px;
      width: auto; } }
  @media screen and (max-width: 969px) {
    .go-expressie__background {
      bottom: 0;
      height: auto; } }

.go-expressie .carousel__inner {
  background: #f7f5e2; }

.go-media {
  position: relative;
  margin-top: 20px;
  margin-right: 30px;
  margin-bottom: -30px;
  margin-left: 30px;
  padding: 0; }
  .go-media.is-hidden {
    display: none; }
  @media screen and (max-width: 680px) {
    .go-media {
      margin-top: 20px;
      margin-right: 0;
      margin-bottom: 20px;
      margin-left: 0; } }
  @media screen and (min-width: 921px) {
    .go-media {
      padding: 0 60px; } }

.go-media__background {
  position: absolute;
  top: 60px;
  left: 0;
  width: 100%;
  height: 480px;
  background: #7abd87; }
  @media screen and (min-width: 681px) and (max-width: 1040px) {
    .go-media__background {
      right: -30px;
      left: -30px;
      width: auto; } }
  @media screen and (max-width: 969px) {
    .go-media__background {
      bottom: 0;
      height: auto; } }

.go-media .carousel__inner {
  background: #eef7f0; }

.go-technasium {
  position: relative;
  margin-top: 20px;
  margin-right: 30px;
  margin-bottom: -20px;
  margin-left: 30px;
  padding: 0; }
  .go-technasium.is-hidden {
    display: none; }
  @media screen and (max-width: 680px) {
    .go-technasium {
      margin-top: 20px;
      margin-right: 0;
      margin-bottom: 20px;
      margin-left: 0; } }
  @media screen and (min-width: 921px) {
    .go-technasium {
      padding: 0 60px; } }

.go-technasium__background {
  position: absolute;
  top: 60px;
  left: 0;
  width: 100%;
  height: 480px;
  background: #ef8e4d; }
  @media screen and (min-width: 681px) and (max-width: 1040px) {
    .go-technasium__background {
      right: -30px;
      left: -30px;
      width: auto; } }
  @media screen and (max-width: 969px) {
    .go-technasium__background {
      bottom: 0;
      height: auto; } }

.go-technasium .carousel__inner {
  background: #fdf1e9; }

.calender__cards {
  position: relative;
  display: flex;
  width: 100%;
  justify-content: space-evenly; }
  .calender__cards.is-past {
    display: none; }

.calender__card {
  position: relative;
  border-top-left-radius: 6px;
  border-top-right-radius: 6px;
  background: white;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.3);
  backface-visibility: hidden; }
  .calender__card:nth-child(3n+2) {
    transform: rotate(2deg); }
  .calender__card:nth-child(2n+3) {
    transform: rotate(-1deg); }
  .calender__card.is-past {
    opacity: 0.4; }
  @media screen and (max-width: 680px) {
    .calender__card {
      margin-bottom: 10px;
      width: 100%; } }
  @media screen and (min-width: 681px) and (max-width: 1040px) {
    .calender__card {
      float: left;
      margin: 4px 20px;
      width: 28%;
      height: 300px; } }
  @media screen and (min-width: 1041px) {
    .calender__card {
      float: left;
      display: block;
      margin-right: 2.3576515979%;
      width: 14.7019570017%;
      margin-top: -30px;
      margin-bottom: -20px;
      height: 320px; }
      .calender__card:last-child {
        margin-right: 0; } }

.calender__covid-message {
  position: relative; }
  .calender__covid-message img {
    position: absolute;
    top: -64px;
    right: -48px;
    width: 124px;
    height: 124px;
    transform: rotate(10deg); }

@media screen and (max-width: 680px) {
  .calender__card--header {
    padding: 10px 10px 0; } }
@media screen and (min-width: 681px) {
  .calender__card--header {
    margin: 8px 5px 0;
    padding-bottom: 8px;
    border-bottom: 1px solid #cacaca;
    text-align: center; } }

.calender__date span {
  color: black;
  text-transform: uppercase;
  font-size: 11px;
  font-weight: 600; }
@media screen and (max-width: 680px) {
  .calender__date {
    display: inline; } }
@media screen and (min-width: 681px) {
  .calender__date {
    margin: 5px;
    color: #c4281a;
    font-size: 24px;
    font-weight: 600;
    line-height: 1em; } }

.calender__month {
  margin: 5px;
  text-transform: uppercase; }
  @media screen and (max-width: 680px) {
    .calender__month {
      display: inline; } }
  @media screen and (min-width: 681px) {
    .calender__month {
      font-size: 20px;
      line-height: 1em; } }

.calender__title {
  font-size: 20px;
  font-weight: 600;
  line-height: 1em; }
  @media screen and (max-width: 680px) {
    .calender__title {
      margin: 5px 0; } }

.calender__card--content {
  padding: 0 10px; }
  @media screen and (max-width: 680px) {
    .calender__card--content {
      display: inline-block;
      padding-bottom: 30px; } }

.calender__text {
  margin: 0;
  font-size: 16px; }

.calender__time {
  font-size: 14px;
  font-weight: 600; }
  @media screen and (max-width: 680px) {
    .calender__time {
      margin: 0 0 10px; } }
  @media screen and (min-width: 681px) {
    .calender__time {
      position: absolute;
      bottom: 25px; } }

.calender__card--cta {
  position: absolute;
  bottom: 0;
  padding: 4px 0;
  width: 100%;
  color: white;
  text-align: center;
  font-size: 14px;
  font-weight: 600; }
  .is-past .calender__card--cta {
    display: none; }

.calender__card--cta-instuif {
  background: #eea5a4; }

.calender__card--cta-meeloop {
  background: #d6cd6c; }

.calender__card--cta-openavond {
  background: #46717a; }

.calender__card--cta-opendag {
  background: #9495b6; }

.calender__card--cta-experience {
  background: #d6cd6c; }

.calender__card--cta-ouder {
  background: #59ac69; }

.date.is-past {
  display: none; }

.message {
  position: relative;
  padding: 12px 12px 12px 60px;
  background: rgba(0, 0, 0, 0.08);
  text-align: left; }
  .message::before {
    position: absolute;
    top: 0;
    bottom: 0;
    left: 0;
    padding: 8px;
    width: 48px;
    height: 100%;
    background: #eb7221 url(/images/check.svg) no-repeat center center;
    background-size: 80% 80%;
    content: ''; }



/*# sourceMappingURL=data:application/json;base64,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QztJQUNULElBQUksRUFBRSxDQUFDO0lBQ1AsT0FBTyxFQUFFLEdBQUc7SUFDWixLQUFLLEVBQUUsSUFBSTtJQUNYLE1BQU0sRUFBRSxJQUFJO0lBQ1osVUFBVSxFQUFFLHNEQUFzRDtJQUNsRSxlQUFlLEVBQUUsT0FBTztJQUN4QixPQUFPLEVBQUUsRUFBRSIsInNvdXJjZXMiOlsiZm9udHMvX2ZvbnRzLnNjc3MiLCJsaWJyYXJpZXMvbmVhdC9ncmlkL19ib3gtc2l6aW5nLnNjc3MiLCJyZXNldC9fYm94LXNpemluZy5zY3NzIiwicmVzZXQvX2N1cnNvci5zY3NzIiwicmVzZXQvX2ZvY3VzLnNjc3MiLCJyZXNldC9fZm9ybXMuc2NzcyIsImxpYnJhcmllcy9ib3VyYm9uL2FkZG9ucy9fcHJlZml4ZXIuc2NzcyIsInNldHRpbmdzL19mb250LWZhbWlsaWVzLnNjc3MiLCJyZXNldC9faWZyYW1lLnNjc3MiLCJyZXNldC9faW1hZ2Uuc2NzcyIsInJlc2V0L19saW5rLnNjc3MiLCJyZXNldC9fbm9ybWFsaXplLnNjc3MiLCJyZXNldC9fdGFwLWhpZ2hsaWdodC1jb2xvci5zY3NzIiwicmVzZXQvX3RvdWNoLnNjc3MiLCJyZXNldC9fdHlwb2dyYXBoeS5zY3NzIiwidmVuZG9yLW92ZXJyaWRlcy9fZmxpY2tpdHkuc2NzcyIsInNldHRpbmdzL19jb2xvcnMuc2NzcyIsInV0aWxpdGllcy9fcmVzcG9uZC5zY3NzIiwic2V0dGluZ3MvX2NvbG9yLXJhbmdlcy5zY3NzIiwibGF5b3V0L19ib2R5LnNjc3MiLCJzZXR0aW5ncy9fZm9udC1zaXplcy5zY3NzIiwic2V0dGluZ3MvX2xpbmUtaGVpZ2h0cy5zY3NzIiwibGF5b3V0L19jb250ZW50LnNjc3MiLCJsYXlvdXQvX3N0aWNreS1mb290ZXIuc2NzcyIsImxheW91dC9fY2FudmFzLnNjc3MiLCJsYXlvdXQvX3BhZ2UtZm9vdGVyLnNjc3MiLCJ1dGlsaXRpZXMvX2lubmVyLnNjc3MiLCJsaWJyYXJpZXMvYm91cmJvbi9hZGRvbnMvX2NsZWFyZml4LnNjc3MiLCJsaWJyYXJpZXMvbmVhdC9ncmlkL19vdXRlci1jb250YWluZXIuc2NzcyIsImxpYnJhcmllcy9uZWF0L3NldHRpbmdzL19ncmlkLnNjc3MiLCJsaWJyYXJpZXMvbmVhdC9ncmlkL19zcGFuLWNvbHVtbnMuc2NzcyIsInR5cG9ncmFwaHkvX2hlYWRpbmdzLnNjc3MiLCJ0eXBvZ3JhcGh5L19saW5rcy5zY3NzIiwidHlwb2dyYXBoeS9fbGlzdHMuc2NzcyIsImxpYnJhcmllcy9ib3VyYm9uL2hlbHBlcnMvX2RpcmVjdGlvbmFsLXZhbHVlcy5zY3NzIiwidHlwb2dyYXBoeS9fcGFyYWdyYXBoLnNjc3MiLCJjb250cm9scy9fYnV0dG9ucy5zY3NzIiwiY29tcG9uZW50cy9faGVyby5zY3NzIiwiY29tcG9uZW50cy9fc3Rvcnkuc2NzcyIsImxpYnJhcmllcy9ib3VyYm9uL2NzczMvX2ZsZXgtYm94LnNjc3MiLCJsaWJyYXJpZXMvbmVhdC9ncmlkL19zaGlmdC5zY3NzIiwiY29tcG9uZW50cy9fdGlsZXMuc2NzcyIsImNvbXBvbmVudHMvX3BhZ2UtaGVhZGVyLnNjc3MiLCJ1dGlsaXRpZXMvX2xpbmsuc2NzcyIsImNvbXBvbmVudHMvX2Nhcm91c2VsLnNjc3MiLCJjb21wb25lbnRzL19kaXNjb3Zlci5zY3NzIiwiY29tcG9uZW50cy9fZ28tc3BvcnQuc2NzcyIsImNvbXBvbmVudHMvX2dvLWV4cHJlc3NpZS5zY3NzIiwiY29tcG9uZW50cy9fZ28tbWVkaWEuc2NzcyIsImNvbXBvbmVudHMvX2dvLXRlY2huYXNpdW0uc2NzcyIsImNvbXBvbmVudHMvX2NhbGVuZGVyLWNhcmRzLnNjc3MiLCJjb21wb25lbnRzL19kYXRlLnNjc3MiLCJjb21wb25lbnRzL19tZXNzYWdlLnNjc3MiXSwibmFtZXMiOltdLCJmaWxlIjoibWFpbi5jc3MiLCJzb3VyY2VzQ29udGVudCI6WyJAaW1wb3J0IHVybChodHRwczovL2ZvbnRzLmdvb2dsZWFwaXMuY29tL2Nzcz9mYW1pbHk9TGF0bzo0MDAsMzAwLDcwMCk7XG4iLCJAY2hhcnNldCBcIlVURi04XCI7XG5cbkBpZiAkYm9yZGVyLWJveC1zaXppbmcgPT0gdHJ1ZSB7XG4gIGh0bWwgeyAvLyBodHRwOi8vYml0Lmx5LzFxazJ0VlJcbiAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICB9XG5cbiAgKiB7XG4gICAgJixcbiAgICAmOjphZnRlcixcbiAgICAmOjpiZWZvcmUge1xuICAgICAgYm94LXNpemluZzogaW5oZXJpdDtcbiAgICB9XG4gIH1cbn1cbiIsImh0bWwge1xuXHRib3gtc2l6aW5nOiBib3JkZXItYm94O1xufVxuXG4qLFxuKjo6YmVmb3JlLFxuKjo6YWZ0ZXIge1xuXHRib3gtc2l6aW5nOiBpbmhlcml0O1xufVxuIiwiYnV0dG9uOm5vdChbZGlzYWJsZWRdKSB7XG5cdGN1cnNvcjogcG9pbnRlcjtcbn1cbiIsIjpmb2N1cyB7XG5cdG91dGxpbmU6IG5vbmU7XG59XG5cbjo6LW1vei1mb2N1cy1pbm5lciB7XG5cdGJvcmRlcjogMDtcbn1cblxuYTpmb2N1cyxcbmJ1dHRvbjpmb2N1cyxcbmlucHV0OmZvY3VzLFxudGV4dGFyZWE6Zm9jdXMge1xuXHRib3gtc2hhZG93OiBpbnNldCAwIDAgMCAycHggJGNvbG9yLWZvY3VzO1xufVxuIiwiaW5wdXRbdHlwZT0nc3VibWl0J10sXG5pbnB1dFt0eXBlPSdidXR0b24nXSxcbmJ1dHRvbiB7XG5cdEBpbmNsdWRlIGFwcGVhcmFuY2Uobm9uZSk7XG59XG5cbjo6LW1zLWNsZWFyIHtcblx0ZGlzcGxheTogbm9uZTsgLy8gTk9URSBSZW1vdmUgdGhlIGNyb3NzIGZyb20gaW5wdXQgZmllbGRzIGluIElFXG59XG5cbi8qXG4xLiBEbyBub3QgaW5jbHVkZSAnaW5wdXQnIHNlbGVjdG9yLCB0aGlzIHdpbGwgcmVzdWx0IGluIGhlaWdoZXIgc3BlY2lmaWNpdHkgYW5kIGlzIG1vcmUgZGlmZmljdWx0IHRvIG92ZXJydWxlLlxuMi4gQ2hyb21lIGFuZCBTYWZhcmkgb24gT1MgWCBhbGxvdyB2ZXJ5IGxpbWl0ZWQgc3R5bGluZyBvZiAnc2VsZWN0JywgdW5sZXNzIGEgYm9yZGVyIGlzIHNldC5cbjMuIEZvbnQgc2l6ZSBvZiAxNnB4IG9yIGhlaWdoZXIgZGlzYWJsZXMgem9vbWluZyBvbiBmb3JtIGZpZWxkcyB3aXRoIGlPUy5cbiovXG5cblt0eXBlPSdjb2xvciddIC8qIDEgKi8sXG5bdHlwZT0nZW1haWwnXSAvKiAxICovLFxuW3R5cGU9J251bWJlciddIC8qIDEgKi8sXG5bdHlwZT0ncGFzc3dvcmQnXSAvKiAxICovLFxuW3R5cGU9J3NlYXJjaCddIC8qIDEgKi8sXG5bdHlwZT0ndGVsJ10gLyogMSAqLyxcblt0eXBlPSd0ZXh0J10gLyogMSAqLyxcblt0eXBlPSd1cmwnXSAvKiAxICovLFxudGV4dGFyZWEsXG5zZWxlY3Qge1xuXHRib3JkZXI6IDFweCBzb2xpZCAjMDAwOyAvKiAyICovXG5cdGJhY2tncm91bmQtY29sb3I6ICNmZmY7XG5cdGNvbG9yOiAjMDAwO1xuXHRmb250LWZhbWlseTogJGZvbnQtZmFtaWx5LXNhbnMtc2VyaWY7XG5cdGZvbnQtc2l6ZTogMTZweDsgLyogMyAqL1xuXHRsaW5lLWhlaWdodDogMS4zNzVlbTtcblx0Ym94LXNoYWRvdzogbm9uZTsgLy8gUmVzZXQgRkYgYm94IHNoYWRvd1xuXHQtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7XG5cdCAgIC1tb3otYXBwZWFyYW5jZTogbm9uZTtcblx0XHQtbXMtYXBwZWFyYW5jZTogbm9uZTtcblx0XHQgLW8tYXBwZWFyYW5jZTogbm9uZTtcblx0XHRcdGFwcGVhcmFuY2U6IG5vbmU7XG59XG5cbmxhYmVsW2Zvcl0ge1xuXHRAaW5jbHVkZSB1c2VyLXNlbGVjdChub25lKTtcblx0Y3Vyc29yOiBwb2ludGVyO1xufVxuXG5sYWJlbCAqIHtcblx0cG9pbnRlci1ldmVudHM6IG5vbmU7IC8vIE5PVEUgbWFrZSBsYWJlbHMgYmV0dGVyIGNsaWNrYWJsZSBvbiAoaU9TPykgdG91Y2ggZGV2aWNlc1xufVxuIiwiQGNoYXJzZXQgXCJVVEYtOFwiO1xuXG4vLy8gQSBtaXhpbiBmb3IgZ2VuZXJhdGluZyB2ZW5kb3IgcHJlZml4ZXMgb24gbm9uLXN0YW5kYXJkaXplZCBwcm9wZXJ0aWVzLlxuLy8vXG4vLy8gQHBhcmFtIHtTdHJpbmd9ICRwcm9wZXJ0eVxuLy8vICAgUHJvcGVydHkgdG8gcHJlZml4XG4vLy9cbi8vLyBAcGFyYW0geyp9ICR2YWx1ZVxuLy8vICAgVmFsdWUgdG8gdXNlXG4vLy9cbi8vLyBAcGFyYW0ge0xpc3R9ICRwcmVmaXhlc1xuLy8vICAgUHJlZml4ZXMgdG8gZGVmaW5lXG4vLy9cbi8vLyBAZXhhbXBsZSBzY3NzIC0gVXNhZ2Vcbi8vLyAgIC5lbGVtZW50IHtcbi8vLyAgICAgQGluY2x1ZGUgcHJlZml4ZXIoYm9yZGVyLXJhZGl1cywgMTBweCwgd2Via2l0IG1zIHNwZWMpO1xuLy8vICAgfVxuLy8vXG4vLy8gQGV4YW1wbGUgY3NzIC0gQ1NTIE91dHB1dFxuLy8vICAgLmVsZW1lbnQge1xuLy8vICAgICAtd2Via2l0LWJvcmRlci1yYWRpdXM6IDEwcHg7XG4vLy8gICAgIC1tb3otYm9yZGVyLXJhZGl1czogMTBweDtcbi8vLyAgICAgYm9yZGVyLXJhZGl1czogMTBweDtcbi8vLyAgIH1cbi8vL1xuLy8vIEByZXF1aXJlIHt2YXJpYWJsZX0gJHByZWZpeC1mb3Itd2Via2l0XG4vLy8gQHJlcXVpcmUge3ZhcmlhYmxlfSAkcHJlZml4LWZvci1tb3ppbGxhXG4vLy8gQHJlcXVpcmUge3ZhcmlhYmxlfSAkcHJlZml4LWZvci1taWNyb3NvZnRcbi8vLyBAcmVxdWlyZSB7dmFyaWFibGV9ICRwcmVmaXgtZm9yLW9wZXJhXG4vLy8gQHJlcXVpcmUge3ZhcmlhYmxlfSAkcHJlZml4LWZvci1zcGVjXG5cbkBtaXhpbiBwcmVmaXhlcigkcHJvcGVydHksICR2YWx1ZSwgJHByZWZpeGVzKSB7XG4gIEBlYWNoICRwcmVmaXggaW4gJHByZWZpeGVzIHtcbiAgICBAaWYgJHByZWZpeCA9PSB3ZWJraXQge1xuICAgICAgQGlmICRwcmVmaXgtZm9yLXdlYmtpdCB7XG4gICAgICAgIC13ZWJraXQtI3skcHJvcGVydHl9OiAkdmFsdWU7XG4gICAgICB9XG4gICAgfSBAZWxzZSBpZiAkcHJlZml4ID09IG1veiB7XG4gICAgICBAaWYgJHByZWZpeC1mb3ItbW96aWxsYSB7XG4gICAgICAgIC1tb3otI3skcHJvcGVydHl9OiAkdmFsdWU7XG4gICAgICB9XG4gICAgfSBAZWxzZSBpZiAkcHJlZml4ID09IG1zIHtcbiAgICAgIEBpZiAkcHJlZml4LWZvci1taWNyb3NvZnQge1xuICAgICAgICAtbXMtI3skcHJvcGVydHl9OiAkdmFsdWU7XG4gICAgICB9XG4gICAgfSBAZWxzZSBpZiAkcHJlZml4ID09IG8ge1xuICAgICAgQGlmICRwcmVmaXgtZm9yLW9wZXJhIHtcbiAgICAgICAgLW8tI3skcHJvcGVydHl9OiAkdmFsdWU7XG4gICAgICB9XG4gICAgfSBAZWxzZSBpZiAkcHJlZml4ID09IHNwZWMge1xuICAgICAgQGlmICRwcmVmaXgtZm9yLXNwZWMge1xuICAgICAgICAjeyRwcm9wZXJ0eX06ICR2YWx1ZTtcbiAgICAgIH1cbiAgICB9IEBlbHNlICB7XG4gICAgICBAd2FybiBcIlVucmVjb2duaXplZCBwcmVmaXg6ICN7JHByZWZpeH1cIjtcbiAgICB9XG4gIH1cbn1cblxuQG1peGluIGRpc2FibGUtcHJlZml4LWZvci1hbGwoKSB7XG4gICRwcmVmaXgtZm9yLXdlYmtpdDogICAgZmFsc2UgIWdsb2JhbDtcbiAgJHByZWZpeC1mb3ItbW96aWxsYTogICBmYWxzZSAhZ2xvYmFsO1xuICAkcHJlZml4LWZvci1taWNyb3NvZnQ6IGZhbHNlICFnbG9iYWw7XG4gICRwcmVmaXgtZm9yLW9wZXJhOiAgICAgZmFsc2UgIWdsb2JhbDtcbiAgJHByZWZpeC1mb3Itc3BlYzogICAgICBmYWxzZSAhZ2xvYmFsO1xufVxuIiwiJGZvbnQtZmFtaWx5LXNhbnMtc2VyaWY6ICdMYXRvJywgJ1RpbWVzJywgc2VyaWY7XG4kZm9udC1mYW1pbHktaGVhZGluZ3M6ICdMYXRvJywgJ1RpbWVzJywgc2VyaWY7IiwiaWZyYW1lIHtcblx0ZGlzcGxheTogYmxvY2s7XG5cdG1heC13aWR0aDogMTAwJSAhaW1wb3J0YW50O1xufVxuIiwiaW1nIHtcblx0bWF4LXdpZHRoOiAxMDAlOyAvLyBEb24ndCBsZXQgaW1hZ2VzIGdyb3cgb3V0c2lkZSBoaXMgY29udGFpbmVyXG5cdGhlaWdodDogYXV0bzsgLy8gTk9URSBLZWVwIG9yaWdpbmFsIGRpbWVudGlvbnMgKGluIElFKVxufVxuIiwiYSB7XG5cdGNvbG9yOiBpbmhlcml0O1xuXHR0ZXh0LWRlY29yYXRpb246IG5vbmU7XG59XG4iLCIvKiEgbm9ybWFsaXplLmNzcyB2My4wLjIgfCBNSVQgTGljZW5zZSB8IGdpdC5pby9ub3JtYWxpemUgKi9cblxuLyoqXG4gKiAxLiBTZXQgZGVmYXVsdCBmb250IGZhbWlseSB0byBzYW5zLXNlcmlmLlxuICogMi4gUHJldmVudCBpT1MgdGV4dCBzaXplIGFkanVzdCBhZnRlciBvcmllbnRhdGlvbiBjaGFuZ2UsIHdpdGhvdXQgZGlzYWJsaW5nXG4gKiAgICB1c2VyIHpvb20uXG4gKi9cblxuaHRtbCB7XG4gIGZvbnQtZmFtaWx5OiBzYW5zLXNlcmlmOyAvKiAxICovXG4gIC1tcy10ZXh0LXNpemUtYWRqdXN0OiAxMDAlOyAvKiAyICovXG4gIC13ZWJraXQtdGV4dC1zaXplLWFkanVzdDogMTAwJTsgLyogMiAqL1xufVxuXG4vKipcbiAqIFJlbW92ZSBkZWZhdWx0IG1hcmdpbi5cbiAqL1xuXG5ib2R5IHtcbiAgbWFyZ2luOiAwO1xufVxuXG4vKiBIVE1MNSBkaXNwbGF5IGRlZmluaXRpb25zXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKipcbiAqIENvcnJlY3QgYGJsb2NrYCBkaXNwbGF5IG5vdCBkZWZpbmVkIGZvciBhbnkgSFRNTDUgZWxlbWVudCBpbiBJRSA4LzkuXG4gKiBDb3JyZWN0IGBibG9ja2AgZGlzcGxheSBub3QgZGVmaW5lZCBmb3IgYGRldGFpbHNgIG9yIGBzdW1tYXJ5YCBpbiBJRSAxMC8xMVxuICogYW5kIEZpcmVmb3guXG4gKiBDb3JyZWN0IGBibG9ja2AgZGlzcGxheSBub3QgZGVmaW5lZCBmb3IgYG1haW5gIGluIElFIDExLlxuICovXG5cbmFydGljbGUsXG5hc2lkZSxcbmRldGFpbHMsXG5maWdjYXB0aW9uLFxuZmlndXJlLFxuZm9vdGVyLFxuaGVhZGVyLFxuaGdyb3VwLFxubWFpbixcbm1lbnUsXG5uYXYsXG5zZWN0aW9uLFxuc3VtbWFyeSB7XG4gIGRpc3BsYXk6IGJsb2NrO1xufVxuXG4vKipcbiAqIDEuIENvcnJlY3QgYGlubGluZS1ibG9ja2AgZGlzcGxheSBub3QgZGVmaW5lZCBpbiBJRSA4LzkuXG4gKiAyLiBOb3JtYWxpemUgdmVydGljYWwgYWxpZ25tZW50IG9mIGBwcm9ncmVzc2AgaW4gQ2hyb21lLCBGaXJlZm94LCBhbmQgT3BlcmEuXG4gKi9cblxuYXVkaW8sXG5jYW52YXMsXG5wcm9ncmVzcyxcbnZpZGVvIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrOyAvKiAxICovXG4gIHZlcnRpY2FsLWFsaWduOiBiYXNlbGluZTsgLyogMiAqL1xufVxuXG4vKipcbiAqIFByZXZlbnQgbW9kZXJuIGJyb3dzZXJzIGZyb20gZGlzcGxheWluZyBgYXVkaW9gIHdpdGhvdXQgY29udHJvbHMuXG4gKiBSZW1vdmUgZXhjZXNzIGhlaWdodCBpbiBpT1MgNSBkZXZpY2VzLlxuICovXG5cbmF1ZGlvOm5vdChbY29udHJvbHNdKSB7XG4gIGRpc3BsYXk6IG5vbmU7XG4gIGhlaWdodDogMDtcbn1cblxuLyoqXG4gKiBBZGRyZXNzIGBbaGlkZGVuXWAgc3R5bGluZyBub3QgcHJlc2VudCBpbiBJRSA4LzkvMTAuXG4gKiBIaWRlIHRoZSBgdGVtcGxhdGVgIGVsZW1lbnQgaW4gSUUgOC85LzExLCBTYWZhcmksIGFuZCBGaXJlZm94IDwgMjIuXG4gKi9cblxuW2hpZGRlbl0sXG50ZW1wbGF0ZSB7XG4gIGRpc3BsYXk6IG5vbmU7XG59XG5cbi8qIExpbmtzXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKipcbiAqIFJlbW92ZSB0aGUgZ3JheSBiYWNrZ3JvdW5kIGNvbG9yIGZyb20gYWN0aXZlIGxpbmtzIGluIElFIDEwLlxuICovXG5cbmEge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbn1cblxuLyoqXG4gKiBJbXByb3ZlIHJlYWRhYmlsaXR5IHdoZW4gZm9jdXNlZCBhbmQgYWxzbyBtb3VzZSBob3ZlcmVkIGluIGFsbCBicm93c2Vycy5cbiAqL1xuXG5hOmFjdGl2ZSxcbmE6aG92ZXIge1xuICBvdXRsaW5lOiAwO1xufVxuXG4vKiBUZXh0LWxldmVsIHNlbWFudGljc1xuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLyoqXG4gKiBBZGRyZXNzIHN0eWxpbmcgbm90IHByZXNlbnQgaW4gSUUgOC85LzEwLzExLCBTYWZhcmksIGFuZCBDaHJvbWUuXG4gKi9cblxuYWJiclt0aXRsZV0ge1xuICAvLyBib3JkZXItYm90dG9tOiAxcHggZG90dGVkO1xufVxuXG4vKipcbiAqIEFkZHJlc3Mgc3R5bGUgc2V0IHRvIGBib2xkZXJgIGluIEZpcmVmb3ggNCssIFNhZmFyaSwgYW5kIENocm9tZS5cbiAqL1xuXG5iLFxuc3Ryb25nIHtcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7XG59XG5cbi8qKlxuICogQWRkcmVzcyBzdHlsaW5nIG5vdCBwcmVzZW50IGluIFNhZmFyaSBhbmQgQ2hyb21lLlxuICovXG5cbmRmbiB7XG4gIGZvbnQtc3R5bGU6IGl0YWxpYztcbn1cblxuLyoqXG4gKiBBZGRyZXNzIHZhcmlhYmxlIGBoMWAgZm9udC1zaXplIGFuZCBtYXJnaW4gd2l0aGluIGBzZWN0aW9uYCBhbmQgYGFydGljbGVgXG4gKiBjb250ZXh0cyBpbiBGaXJlZm94IDQrLCBTYWZhcmksIGFuZCBDaHJvbWUuXG4gKi9cblxuaDEge1xuICBmb250LXNpemU6IDJlbTtcbiAgbWFyZ2luOiAwLjY3ZW0gMDtcbn1cblxuLyoqXG4gKiBBZGRyZXNzIHN0eWxpbmcgbm90IHByZXNlbnQgaW4gSUUgOC85LlxuICovXG5cbm1hcmsge1xuICBiYWNrZ3JvdW5kOiAjZmYwO1xuICBjb2xvcjogIzAwMDtcbn1cblxuLyoqXG4gKiBBZGRyZXNzIGluY29uc2lzdGVudCBhbmQgdmFyaWFibGUgZm9udCBzaXplIGluIGFsbCBicm93c2Vycy5cbiAqL1xuXG5zbWFsbCB7XG4gIGZvbnQtc2l6ZTogODAlO1xufVxuXG4vKipcbiAqIFByZXZlbnQgYHN1YmAgYW5kIGBzdXBgIGFmZmVjdGluZyBgbGluZS1oZWlnaHRgIGluIGFsbCBicm93c2Vycy5cbiAqL1xuXG5zdWIsXG5zdXAge1xuICBmb250LXNpemU6IDc1JTtcbiAgbGluZS1oZWlnaHQ6IDA7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgdmVydGljYWwtYWxpZ246IGJhc2VsaW5lO1xufVxuXG5zdXAge1xuICB0b3A6IC0wLjVlbTtcbn1cblxuc3ViIHtcbiAgYm90dG9tOiAtMC4yNWVtO1xufVxuXG4vKiBFbWJlZGRlZCBjb250ZW50XG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKipcbiAqIFJlbW92ZSBib3JkZXIgd2hlbiBpbnNpZGUgYGFgIGVsZW1lbnQgaW4gSUUgOC85LzEwLlxuICovXG5cbmltZyB7XG4gIGJvcmRlcjogMDtcbiAgbWF4LXdpZHRoOiAxMDAlO1xuICBkaXNwbGF5OiBibG9jaztcbn1cblxuLyoqXG4gKiBDb3JyZWN0IG92ZXJmbG93IG5vdCBoaWRkZW4gaW4gSUUgOS8xMC8xMS5cbiAqL1xuXG5zdmc6bm90KDpyb290KSB7XG4gIG92ZXJmbG93OiBoaWRkZW47XG59XG5cbi8qIEdyb3VwaW5nIGNvbnRlbnRcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qKlxuICogQWRkcmVzcyBtYXJnaW4gbm90IHByZXNlbnQgaW4gSUUgOC85IGFuZCBTYWZhcmkuXG4gKi9cblxuZmlndXJlIHtcbiAgbWFyZ2luOiAxZW0gNDBweDtcbn1cblxuLyoqXG4gKiBBZGRyZXNzIGRpZmZlcmVuY2VzIGJldHdlZW4gRmlyZWZveCBhbmQgb3RoZXIgYnJvd3NlcnMuXG4gKi9cblxuaHIge1xuICAtbW96LWJveC1zaXppbmc6IGNvbnRlbnQtYm94O1xuICBib3gtc2l6aW5nOiBjb250ZW50LWJveDtcbiAgaGVpZ2h0OiAwO1xufVxuXG4vKipcbiAqIENvbnRhaW4gb3ZlcmZsb3cgaW4gYWxsIGJyb3dzZXJzLlxuICovXG5cbnByZSB7XG4gIG92ZXJmbG93OiBhdXRvO1xufVxuXG4vKipcbiAqIEFkZHJlc3Mgb2RkIGBlbWAtdW5pdCBmb250IHNpemUgcmVuZGVyaW5nIGluIGFsbCBicm93c2Vycy5cbiAqL1xuXG5jb2RlLFxua2JkLFxucHJlLFxuc2FtcCB7XG4gIGZvbnQtZmFtaWx5OiBtb25vc3BhY2UsIG1vbm9zcGFjZTtcbiAgZm9udC1zaXplOiAxZW07XG59XG5cbi8qIEZvcm1zXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKipcbiAqIEtub3duIGxpbWl0YXRpb246IGJ5IGRlZmF1bHQsIENocm9tZSBhbmQgU2FmYXJpIG9uIE9TIFggYWxsb3cgdmVyeSBsaW1pdGVkXG4gKiBzdHlsaW5nIG9mIGBzZWxlY3RgLCB1bmxlc3MgYSBgYm9yZGVyYCBwcm9wZXJ0eSBpcyBzZXQuXG4gKi9cblxuLyoqXG4gKiAxLiBDb3JyZWN0IGNvbG9yIG5vdCBiZWluZyBpbmhlcml0ZWQuXG4gKiAgICBLbm93biBpc3N1ZTogYWZmZWN0cyBjb2xvciBvZiBkaXNhYmxlZCBlbGVtZW50cy5cbiAqIDIuIENvcnJlY3QgZm9udCBwcm9wZXJ0aWVzIG5vdCBiZWluZyBpbmhlcml0ZWQuXG4gKiAzLiBBZGRyZXNzIG1hcmdpbnMgc2V0IGRpZmZlcmVudGx5IGluIEZpcmVmb3ggNCssIFNhZmFyaSwgYW5kIENocm9tZS5cbiAqL1xuXG5idXR0b24sXG5pbnB1dCxcbm9wdGdyb3VwLFxuc2VsZWN0LFxudGV4dGFyZWEge1xuICBjb2xvcjogaW5oZXJpdDsgLyogMSAqL1xuICBmb250OiBpbmhlcml0OyAvKiAyICovXG4gIG1hcmdpbjogMDsgLyogMyAqL1xufVxuXG4vKipcbiAqIEFkZHJlc3MgYG92ZXJmbG93YCBzZXQgdG8gYGhpZGRlbmAgaW4gSUUgOC85LzEwLzExLlxuICovXG5cbmJ1dHRvbiB7XG4gIG92ZXJmbG93OiB2aXNpYmxlO1xufVxuXG4vKipcbiAqIEFkZHJlc3MgaW5jb25zaXN0ZW50IGB0ZXh0LXRyYW5zZm9ybWAgaW5oZXJpdGFuY2UgZm9yIGBidXR0b25gIGFuZCBgc2VsZWN0YC5cbiAqIEFsbCBvdGhlciBmb3JtIGNvbnRyb2wgZWxlbWVudHMgZG8gbm90IGluaGVyaXQgYHRleHQtdHJhbnNmb3JtYCB2YWx1ZXMuXG4gKiBDb3JyZWN0IGBidXR0b25gIHN0eWxlIGluaGVyaXRhbmNlIGluIEZpcmVmb3gsIElFIDgvOS8xMC8xMSwgYW5kIE9wZXJhLlxuICogQ29ycmVjdCBgc2VsZWN0YCBzdHlsZSBpbmhlcml0YW5jZSBpbiBGaXJlZm94LlxuICovXG5cbmJ1dHRvbixcbnNlbGVjdCB7XG4gIHRleHQtdHJhbnNmb3JtOiBub25lO1xufVxuXG4vKipcbiAqIDEuIEF2b2lkIHRoZSBXZWJLaXQgYnVnIGluIEFuZHJvaWQgNC4wLiogd2hlcmUgKDIpIGRlc3Ryb3lzIG5hdGl2ZSBgYXVkaW9gXG4gKiAgICBhbmQgYHZpZGVvYCBjb250cm9scy5cbiAqIDIuIENvcnJlY3QgaW5hYmlsaXR5IHRvIHN0eWxlIGNsaWNrYWJsZSBgaW5wdXRgIHR5cGVzIGluIGlPUy5cbiAqIDMuIEltcHJvdmUgdXNhYmlsaXR5IGFuZCBjb25zaXN0ZW5jeSBvZiBjdXJzb3Igc3R5bGUgYmV0d2VlbiBpbWFnZS10eXBlXG4gKiAgICBgaW5wdXRgIGFuZCBvdGhlcnMuXG4gKi9cblxuYnV0dG9uLFxuaHRtbCBpbnB1dFt0eXBlPVwiYnV0dG9uXCJdLCAvKiAxICovXG5pbnB1dFt0eXBlPVwicmVzZXRcIl0sXG5pbnB1dFt0eXBlPVwic3VibWl0XCJdIHtcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiBidXR0b247IC8qIDIgKi9cbiAgY3Vyc29yOiBwb2ludGVyOyAvKiAzICovXG59XG5cbi8qKlxuICogUmUtc2V0IGRlZmF1bHQgY3Vyc29yIGZvciBkaXNhYmxlZCBlbGVtZW50cy5cbiAqL1xuXG5idXR0b25bZGlzYWJsZWRdLFxuaHRtbCBpbnB1dFtkaXNhYmxlZF0ge1xuICBjdXJzb3I6IGRlZmF1bHQ7XG59XG5cbi8qKlxuICogUmVtb3ZlIGlubmVyIHBhZGRpbmcgYW5kIGJvcmRlciBpbiBGaXJlZm94IDQrLlxuICovXG5cbmJ1dHRvbjo6LW1vei1mb2N1cy1pbm5lcixcbmlucHV0OjotbW96LWZvY3VzLWlubmVyIHtcbiAgYm9yZGVyOiAwO1xuICBwYWRkaW5nOiAwO1xufVxuXG4vKipcbiAqIEFkZHJlc3MgRmlyZWZveCA0KyBzZXR0aW5nIGBsaW5lLWhlaWdodGAgb24gYGlucHV0YCB1c2luZyBgIWltcG9ydGFudGAgaW5cbiAqIHRoZSBVQSBzdHlsZXNoZWV0LlxuICovXG5cbmlucHV0IHtcbiAgbGluZS1oZWlnaHQ6IG5vcm1hbDtcbn1cblxuLyoqXG4gKiBJdCdzIHJlY29tbWVuZGVkIHRoYXQgeW91IGRvbid0IGF0dGVtcHQgdG8gc3R5bGUgdGhlc2UgZWxlbWVudHMuXG4gKiBGaXJlZm94J3MgaW1wbGVtZW50YXRpb24gZG9lc24ndCByZXNwZWN0IGJveC1zaXppbmcsIHBhZGRpbmcsIG9yIHdpZHRoLlxuICpcbiAqIDEuIEFkZHJlc3MgYm94IHNpemluZyBzZXQgdG8gYGNvbnRlbnQtYm94YCBpbiBJRSA4LzkvMTAuXG4gKiAyLiBSZW1vdmUgZXhjZXNzIHBhZGRpbmcgaW4gSUUgOC85LzEwLlxuICovXG5cbmlucHV0W3R5cGU9XCJjaGVja2JveFwiXSxcbmlucHV0W3R5cGU9XCJyYWRpb1wiXSB7XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7IC8qIDEgKi9cbiAgcGFkZGluZzogMDsgLyogMiAqL1xufVxuXG4vKipcbiAqIEZpeCB0aGUgY3Vyc29yIHN0eWxlIGZvciBDaHJvbWUncyBpbmNyZW1lbnQvZGVjcmVtZW50IGJ1dHRvbnMuIEZvciBjZXJ0YWluXG4gKiBgZm9udC1zaXplYCB2YWx1ZXMgb2YgdGhlIGBpbnB1dGAsIGl0IGNhdXNlcyB0aGUgY3Vyc29yIHN0eWxlIG9mIHRoZVxuICogZGVjcmVtZW50IGJ1dHRvbiB0byBjaGFuZ2UgZnJvbSBgZGVmYXVsdGAgdG8gYHRleHRgLlxuICovXG5cbmlucHV0W3R5cGU9XCJudW1iZXJcIl06Oi13ZWJraXQtaW5uZXItc3Bpbi1idXR0b24sXG5pbnB1dFt0eXBlPVwibnVtYmVyXCJdOjotd2Via2l0LW91dGVyLXNwaW4tYnV0dG9uIHtcbiAgaGVpZ2h0OiBhdXRvO1xufVxuXG4vKipcbiAqIDEuIEFkZHJlc3MgYGFwcGVhcmFuY2VgIHNldCB0byBgc2VhcmNoZmllbGRgIGluIFNhZmFyaSBhbmQgQ2hyb21lLlxuICogMi4gQWRkcmVzcyBgYm94LXNpemluZ2Agc2V0IHRvIGBib3JkZXItYm94YCBpbiBTYWZhcmkgYW5kIENocm9tZVxuICogICAgKGluY2x1ZGUgYC1tb3pgIHRvIGZ1dHVyZS1wcm9vZikuXG4gKi9cblxuaW5wdXRbdHlwZT1cInNlYXJjaFwiXSB7XG4gIC13ZWJraXQtYXBwZWFyYW5jZTogdGV4dGZpZWxkOyAvKiAxICovXG4gIC1tb3otYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgLXdlYmtpdC1ib3gtc2l6aW5nOiBib3JkZXItYm94OyAvKiAyICovXG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG59XG5cbi8qKlxuICogUmVtb3ZlIGlubmVyIHBhZGRpbmcgYW5kIHNlYXJjaCBjYW5jZWwgYnV0dG9uIGluIFNhZmFyaSBhbmQgQ2hyb21lIG9uIE9TIFguXG4gKiBTYWZhcmkgKGJ1dCBub3QgQ2hyb21lKSBjbGlwcyB0aGUgY2FuY2VsIGJ1dHRvbiB3aGVuIHRoZSBzZWFyY2ggaW5wdXQgaGFzXG4gKiBwYWRkaW5nIChhbmQgYHRleHRmaWVsZGAgYXBwZWFyYW5jZSkuXG4gKi9cblxuaW5wdXRbdHlwZT1cInNlYXJjaFwiXTo6LXdlYmtpdC1zZWFyY2gtY2FuY2VsLWJ1dHRvbixcbmlucHV0W3R5cGU9XCJzZWFyY2hcIl06Oi13ZWJraXQtc2VhcmNoLWRlY29yYXRpb24ge1xuICAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7XG59XG5cbi8qKlxuICogRGVmaW5lIGNvbnNpc3RlbnQgYm9yZGVyLCBtYXJnaW4sIGFuZCBwYWRkaW5nLlxuICovXG5cbmZpZWxkc2V0IHtcbiAgYm9yZGVyOiAxcHggc29saWQgI2MwYzBjMDtcbiAgbWFyZ2luOiAwIDJweDtcbiAgcGFkZGluZzogMC4zNWVtIDAuNjI1ZW0gMC43NWVtO1xufVxuXG4vKipcbiAqIDEuIENvcnJlY3QgYGNvbG9yYCBub3QgYmVpbmcgaW5oZXJpdGVkIGluIElFIDgvOS8xMC8xMS5cbiAqIDIuIFJlbW92ZSBwYWRkaW5nIHNvIHBlb3BsZSBhcmVuJ3QgY2F1Z2h0IG91dCBpZiB0aGV5IHplcm8gb3V0IGZpZWxkc2V0cy5cbiAqL1xuXG5sZWdlbmQge1xuICBib3JkZXI6IDA7IC8qIDEgKi9cbiAgcGFkZGluZzogMDsgLyogMiAqL1xufVxuXG4vKipcbiAqIFJlbW92ZSBkZWZhdWx0IHZlcnRpY2FsIHNjcm9sbGJhciBpbiBJRSA4LzkvMTAvMTEuXG4gKi9cblxudGV4dGFyZWEge1xuICBvdmVyZmxvdzogYXV0bztcbn1cblxuLyoqXG4gKiBEb24ndCBpbmhlcml0IHRoZSBgZm9udC13ZWlnaHRgIChhcHBsaWVkIGJ5IGEgcnVsZSBhYm92ZSkuXG4gKiBOT1RFOiB0aGUgZGVmYXVsdCBjYW5ub3Qgc2FmZWx5IGJlIGNoYW5nZWQgaW4gQ2hyb21lIGFuZCBTYWZhcmkgb24gT1MgWC5cbiAqL1xuXG5vcHRncm91cCB7XG4gIGZvbnQtd2VpZ2h0OiBib2xkO1xufVxuXG4vKiBUYWJsZXNcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qKlxuICogUmVtb3ZlIG1vc3Qgc3BhY2luZyBiZXR3ZWVuIHRhYmxlIGNlbGxzLlxuICovXG5cbnRhYmxlIHtcbiAgYm9yZGVyLWNvbGxhcHNlOiBjb2xsYXBzZTtcbiAgYm9yZGVyLXNwYWNpbmc6IDA7XG59XG5cbnRkLFxudGgge1xuICBwYWRkaW5nOiAwO1xufVxuIiwiaW5wdXQsXG50ZXh0YXJlYSxcbmxhYmVsLFxuYnV0dG9uLFxuc2VsZWN0LFxuZm9ybSxcbmEge1xuXHQtd2Via2l0LXRhcC1oaWdobGlnaHQtY29sb3I6IHJnYmEoJGNvbG9yLWJsYWNrLCAwKTtcblx0LXdlYmtpdC10YXAtaGlnaGxpZ2h0LWNvbG9yOiB0cmFuc3BhcmVudDsgLyogTk9URSBGb3Igc29tZSBBbmRyb2lkcyAqL1xufVxuIiwiLy8gMS4gTk9URSBhbGxvd3MgeW91IHRvIHJlbW92ZSB0aGUgZGVsYXkgb24gc3BlY2lmaWMgZWxlbWVudHMgb3IgdGhlIHdob2xlIGRvY3VtZW50IHdpdGhvdXQgZGlzYWJsaW5nIHBpbmNoLXpvb21pbmc6XG5cbmEsXG5idXR0b24sXG5pbnB1dCxcbnRleHRhcmVhIHtcblx0LW1zLXRvdWNoLWFjdGlvbjogbWFuaXB1bGF0aW9uO1x0Ly8gMS5cblx0ICAgIHRvdWNoLWFjdGlvbjogbWFuaXB1bGF0aW9uOyAvLyAxLlxufVxuIiwic3Ryb25nLFxudGgge1xuXHRmb250LXdlaWdodDogYm9sZDtcbn1cblxuZW0sXG5pIHtcblx0Zm9udC1zdHlsZTogaXRhbGljO1xufVxuXG5oMSxcbmgyLFxuaDMsXG5oNCxcbmg1LFxuaDYge1xuXHRtYXJnaW46IDA7XG59XG4iLCIvLyBmbGlja2l0eSBjb250cm9sc1xuXG4uZmxpY2tpdHktcHJldi1uZXh0LWJ1dHRvbiB7XG5cdHBvc2l0aW9uOiBhYnNvbHV0ZTtcblx0dG9wOiAxMDBweDtcblx0bGVmdDogMnB4O1xuXHR6LWluZGV4OiA5OTk5OTtcblx0cGFkZGluZzogMTBweDtcblx0d2lkdGg6IDQwcHg7XG5cdGhlaWdodDogNDBweDtcblx0Ym9yZGVyOiBub25lO1xuXHRib3JkZXItcmFkaXVzOiAwO1xuXHRiYWNrZ3JvdW5kOiAkY29sb3ItcHVycGxlO1xuXG5cdEBpbmNsdWRlIG1lZGlhKDAsICRyYW5nZS1oYW5kKSB7XG5cdFx0dG9wOiBjYWxjKCgoMTAwdncgLSAyMHB4KSAvIDIpIC0gNTBweCk7XG5cdH1cblx0QGluY2x1ZGUgbWVkaWEoJHJhbmdlLWxhcC1zLCAkcmFuZ2UtbGFwLW0pIHtcblx0XHR0b3A6IGNhbGMoKCgxMDB2dyAtIDYwcHgpIC8gMikgLSA1MHB4KTtcblx0fVxuXHRAaW5jbHVkZSBtZWRpYSg5MjEsIDk2OSkge1xuXHRcdHRvcDogY2FsYygoKDEwMHZ3IC0gMTgwcHgpIC8gMikgLSA1MHB4KTtcblx0fVxuXG5cdEBpbmNsdWRlIG1lZGlhKDk3MCwgZmFsc2UpIHtcblx0XHRkaXNwbGF5OiBub25lO1xuXHR9XG59XG5cbi5mbGlja2l0eS1wcmV2LW5leHQtYnV0dG9uLnByZXYge1xuXHRsZWZ0OiAycHg7XG59XG5cbi5mbGlja2l0eS1wcmV2LW5leHQtYnV0dG9uLm5leHQge1xuXHRyaWdodDogYXV0bztcblx0bGVmdDogNDRweDtcbn1cblxuLmZsaWNraXR5LXByZXYtbmV4dC1idXR0b246aG92ZXIge1xuXHQvL2JhY2tncm91bmQ6ICRjb2xvci1ibHVlO1xufVxuLyogYXJyb3cgY29sb3IgKi9cbi5mbGlja2l0eS1wcmV2LW5leHQtYnV0dG9uIC5hcnJvdyB7XG5cdHdpZHRoOiAyMHB4O1xuXHRoZWlnaHQ6IDIwcHg7XG5cdGZpbGw6ICRjb2xvci13aGl0ZTtcbn1cblxuLmZsaWNraXR5LXByZXYtbmV4dC1idXR0b24ubm8tc3ZnIHtcblx0Y29sb3I6ICRjb2xvci13aGl0ZTtcbn1cbi8qIHBvc2l0aW9uIG91dHNpZGUgKi9cbi5mbGlja2l0eS1wcmV2LW5leHQtYnV0dG9uLnByZXZpb3VzIHtcblx0bGVmdDogMDtcbn1cblxuLmZsaWNraXR5LXByZXYtbmV4dC1idXR0b24ubmV4dCB7XG5cdHJpZ2h0OiA0MHB4O1xufVxuXG4uZmxpY2tpdHktcGFnZS1kb3RzIC5kb3Qge1xuXHRkaXNwbGF5OiBub25lO1xufVxuLyogZmlsbC1pbiBzZWxlY3RlZCBkb3QgKi9cbi5mbGlja2l0eS1wYWdlLWRvdHMgLmRvdC5pcy1zZWxlY3RlZCB7XG5cdGJhY2tncm91bmQ6ICRjb2xvci1wcmltYXJ5O1xufVxuLnN0b3J5X19zZWN0aW9uOm5vdCguaXMtaGlkZGVuKSAuZmxpY2tpdHktdmlld3BvcnQge1xuXHRoZWlnaHQ6IDY1MHB4O1xufVxuIiwiLy8gIyBEZXNjcmlwdGl2ZSBjb2xvcnNcbi8vIC0gT25seSB1c2UgZGVzY3JpcHRpdmUgY29sb3JzIHRvIGRlZmluZSBmdW5jdGlvbmFsIGNvbG9ycyBpbiB0aGlzIGRvY3VtZW50LlxuXG4kY29sb3ItYmxhY2s6IHJnYigwLCAwLCAwKTtcbiRjb2xvci13aGl0ZTogcmdiKDI1NSwgMjU1LCAyNTUpO1xuJGNvbG9yLWdyZXk6IHJnYigxNjgsIDE2OCwgMTY4KTtcbiRjb2xvci1jaGFyY29hbDogcmdiKDkwLCA5MCwgOTApO1xuJGNvbG9yLXJlZDogcmdiKDE5NiwgNDAsIDI2KTtcbiRjb2xvci1ncmVlbjogcmdiKDg5LCAxNzIsIDEwNSk7XG4kY29sb3ItYmx1ZTogcmdiKDU1LCAxNDcsIDE2OSk7XG4kY29sb3ItcHVycGxlOiByZ2IoMTQ4LCAxNDksIDE4Mik7XG4kY29sb3IteWVsbG93OiByZ2IoMjE0LCAyMDUsIDEwOCk7XG4kY29sb3ItcGluazogcmdiKDIzOCwgMTY1LCAxNjQpO1xuJGNvbG9yLWJyb3duOiByZ2IoMTYxLCAxMzMsIDExNyk7XG4kY29sb3Itb3JhbmdlOiAjRUI3MjIxO1xuXG4vLyAjIEZ1bmN0aW9uYWwgQ29sb3JzXG4vLyAtIEFsd2F5cyB1c2UgYSBkZXNjcmlwdGl2ZSBjb2xvciB0byBkZWZpbmUgYSBmdW5jdGlvbmFsIGNvbG9yLlxuLy8gMS4gRGVmYXVsdCByYW5nZXMgKGkuZS4gJGNvbG9yLXVpLTIwMCAoMTAgLSAxMDAwKSkgYXJlIGdlbmVyYXRlZCBpbiB0aGUgX2NvbG9yLXJhbmdlcy5zY3NzIGZpbGUsIGtlZXAgdGhpcyBmaWxlIHVwZGF0ZWQgdG9vLlxuXG4vLyAjIyBVc2VyIEludGVyZmFjZVxuJGNvbG9yLXVpOiAkY29sb3ItZ3JleTsgLy8gMVxuJGNvbG9yLXVpLWFjY2VudDogJGNvbG9yLWdyZWVuO1xuXG4vLyAjIyBUeXBvZ3JhcGh5XG4kY29sb3ItaGVhZGluZzogJGNvbG9yLWNoYXJjb2FsOyAvLyAxXG4kY29sb3Itc3ViaGVhZGluZzogJGNvbG9yLWNoYXJjb2FsOyAvLyAxXG4kY29sb3ItdGV4dDogJGNvbG9yLWNoYXJjb2FsOyAvLyAxXG4kY29sb3ItdGV4dC1kaWFwOiAkY29sb3Itd2hpdGU7IC8vIDFcblxuJGNvbG9yLXRleHQtb3BhY2l0eS04MDogcmdiYSgkY29sb3ItdGV4dCwgMC4zKTtcbiRjb2xvci10ZXh0LW9wYWNpdHktOTA6IHJnYmEoJGNvbG9yLXRleHQsIDAuOCk7XG4kY29sb3ItdGV4dC1vcGFjaXR5LTEwMDogJGNvbG9yLXRleHQ7XG5cbi8vICMjIEhpZXJhcmNoaWNhbFxuJGNvbG9yLWN0YTogJGNvbG9yLWdyZWVuOyAvLyAxXG4kY29sb3ItcHJpbWFyeTogJGNvbG9yLXJlZDsgLy8gMVxuJGNvbG9yLXNlY29uZGFyeTogJGNvbG9yLWdyZXk7IC8vIDFcblxuLy8gIyMgU3RhdGVzXG4kY29sb3ItZXJyb3I6ICRjb2xvci1yZWQ7IC8vIDFcbiRjb2xvci1zdWNjZXNzOiAkY29sb3ItZ3JlZW47IC8vIDFcbiRjb2xvci1zZWxlY3Q6ICRjb2xvci1ncmVlbjsgLy8gMVxuJGNvbG9yLWZvY3VzOiAkY29sb3ItYmx1ZTsgLy8gMVxuXG4vLyAjIyBTaGFyZWQgY29sb3JzXG4vLyAtIENhbiBiZSB1c2VkIGZvciBzaGFyZWQgY29sb3IgdmFyaWFibGVzIGluIGRpZmZlcmVudCBjb21wb25lbnRzIChpLmUuICRjb2xvci1jYXJkLWJhY2tncm91bmQpLlxuJGNvbG9yLXNoYWRvdy05MDogcmdiYSgkY29sb3ItYmxhY2ssIDAuMDUpO1xuJGNvbG9yLXNoYWRvdzogcmdiYSgkY29sb3ItYmxhY2ssIDAuMTUpO1xuJGNvbG9yLXNpdGUtYmFja2dyb3VuZDogJGNvbG9yLXdoaXRlO1xuJGNvbG9yLXNpdGUtYmFja2dyb3VuZC10cmFuc3BhcmVudDogcmdiYSgkY29sb3Itc2l0ZS1iYWNrZ3JvdW5kLCAwLjgpO1xuXG4kY29sb3ItY2FtcGFpZ246ICRjb2xvci1wdXJwbGU7XG4kY29sb3ItY2FtcGFpZ24tOTA6IHRpbnQoJGNvbG9yLWNhbXBhaWduLCAzMCUpO1xuJGNvbG9yLWNhbXBhaWduLTIwMDogc2hhZGUoJGNvbG9yLWNhbXBhaWduLCAxNSUpO1xuIiwiIC8vIFJlc3BvbmRcbiAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAvLyBFdmVyeXRoaW5nIGJldHdlZW4gc21hbGwgYW5kIG1lZGl1bTpcbiAvLyBAaW5jbHVkZSByZXNwb25kKCRicmVhay1zbWFsbCwgJGJyZWFrLW1lZGl1bSkgeyAuLi4gfVxuIC8vIFxuIC8vIEV2ZXJ5dGhpbmcgdXAgdG8gbGFyZ2U6XG4gLy8gQGluY2x1ZGUgcmVzcG9uZCgwLCAkYnJlYWstbGFyZ2UpIHsgLi4uIH1cbiAvLyBcbiAvLyBFdmVyeXRoaW5nIGJleW9uZCBsYXJnZTpcbiAvLyBAaW5jbHVkZSByZXNwb25kKCRicmVhay1sYXJnZSkgeyAuLi59XG4gLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gLy8gJGZpeGVkLWJyZWFrIHZhcmlhYmxlIGlzIHVzZWQgZm9yIElFLCBhbmQgc2hvdWxkIGJlIHNldFxuIC8vIGluIHRoZSBfc2V0dGluZ3Muc2NzcyBmaWxlXG4gLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gLy8gQHBhcmFtIHtpbnRlZ2VyfSAkbWluLXdpZHRoLCBjYW4gYmUgMFxuIC8vIEBwYXJhbSB7aW50ZWdlcn0gJG1heC13aWR0aCwgaXMgZmFsc2UgYnkgZGVmYXVsdFxuIFxuJGZpeGVkLWJyZWFrOiBmYWxzZSAhZGVmYXVsdDtcbkBtaXhpbiByZXNwb25kKCRtaW4td2lkdGgsICRtYXgtd2lkdGg6IGZhbHNlKSB7XG5cdC8vIElmIHdlJ3JlIG91dHB1dHRpbmcgZm9yIGEgZml4ZWQgbWVkaWEgcXVlcnkgc2V0Li4uXG5cdEBpZiAkZml4ZWQtYnJlYWsge1xuXG5cdFx0Ly8gLi4uYW5kIGlmIHdlIHNob3VsZCBhcHBseSB0aGVzZSBydWxlcy4uLlxuXHRcdEBpZiAkZml4ZWQtYnJlYWsgPj0gJG1pbi13aWR0aCBhbmQgKCRtYXgtd2lkdGggPT0gZmFsc2Ugb3IgJGZpeGVkLWJyZWFrIDw9ICRtYXgtd2lkdGgpIHtcblx0XHRcdC8vIC4uLm91dHB1dCB0aGUgY29udGVudCB0aGUgdXNlciBnYXZlIHVzLlxuXHRcdFx0QGNvbnRlbnQ7XG5cdFx0fVxuXG5cdH0gQGVsc2Uge1xuXHRcdC8vIE90aGVyd2lzZSwgb3V0cHV0IGl0IHVzaW5nIGEgcmVndWxhciBtZWRpYSBxdWVyeVxuXHRcdEBpZiAkbWluLXdpZHRoID09IDAgb3IgJG1pbi13aWR0aCA9PSAnMHB4JyB7XG5cdFx0XHRAaWYgJG1heC13aWR0aCA9PSBmYWxzZSB7XG5cdFx0XHRcdEBjb250ZW50O1xuXHRcdFx0fSBAZWxzZSB7XG5cdFx0XHRcdEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6ICRtYXgtd2lkdGgpIHtcblx0XHRcdFx0XHRAY29udGVudDtcblx0XHRcdFx0fVxuXHRcdFx0fVxuXHRcdH0gQGVsc2VpZiAkbWF4LXdpZHRoID09IGZhbHNlIHtcblx0XHRcdEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6ICRtaW4td2lkdGgpIHtcblx0XHRcdFx0XHRAY29udGVudDtcblx0XHRcdH1cblx0XHR9IEBlbHNlIHtcblx0XHRcdEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6ICRtaW4td2lkdGgpIGFuZCAobWF4LXdpZHRoOiAkbWF4LXdpZHRoKSB7XG5cdFx0XHRcdFx0QGNvbnRlbnQ7XG5cdFx0XHR9XG5cdFx0fVxuXHR9XG59IiwiJGNvbG9yLXVpLTEwOiB0aW50KCRjb2xvci11aSwgOTAlKTtcbiRjb2xvci11aS0yMDogdGludCgkY29sb3ItdWksIDgwJSk7XG4kY29sb3ItdWktMzA6IHRpbnQoJGNvbG9yLXVpLCA3MCUpO1xuJGNvbG9yLXVpLTQwOiB0aW50KCRjb2xvci11aSwgNjAlKTtcbiRjb2xvci11aS01MDogdGludCgkY29sb3ItdWksIDUwJSk7XG4kY29sb3ItdWktNjA6IHRpbnQoJGNvbG9yLXVpLCA0MCUpO1xuJGNvbG9yLXVpLTcwOiB0aW50KCRjb2xvci11aSwgMzAlKTtcbiRjb2xvci11aS04MDogdGludCgkY29sb3ItdWksIDIwJSk7XG4kY29sb3ItdWktOTA6IHRpbnQoJGNvbG9yLXVpLCAxMCUpO1xuJGNvbG9yLXVpLTEwMDogJGNvbG9yLXVpO1xuJGNvbG9yLXVpLTIwMDogc2hhZGUoJGNvbG9yLXVpLCAxMCUpO1xuJGNvbG9yLXVpLTMwMDogc2hhZGUoJGNvbG9yLXVpLCAyMCUpO1xuJGNvbG9yLXVpLTQwMDogc2hhZGUoJGNvbG9yLXVpLCAzMCUpO1xuJGNvbG9yLXVpLTUwMDogc2hhZGUoJGNvbG9yLXVpLCA0MCUpO1xuJGNvbG9yLXVpLTYwMDogc2hhZGUoJGNvbG9yLXVpLCA1MCUpO1xuJGNvbG9yLXVpLTcwMDogc2hhZGUoJGNvbG9yLXVpLCA2MCUpO1xuJGNvbG9yLXVpLTgwMDogc2hhZGUoJGNvbG9yLXVpLCA3MCUpO1xuJGNvbG9yLXVpLTkwMDogc2hhZGUoJGNvbG9yLXVpLCA4MCUpO1xuJGNvbG9yLXVpLTEwMDA6IHNoYWRlKCRjb2xvci11aSwgOTAlKTtcblxuJGNvbG9yLWhlYWRpbmctMTA6IHRpbnQoJGNvbG9yLWhlYWRpbmcsIDkwJSk7XG4kY29sb3ItaGVhZGluZy0yMDogdGludCgkY29sb3ItaGVhZGluZywgODAlKTtcbiRjb2xvci1oZWFkaW5nLTMwOiB0aW50KCRjb2xvci1oZWFkaW5nLCA3MCUpO1xuJGNvbG9yLWhlYWRpbmctNDA6IHRpbnQoJGNvbG9yLWhlYWRpbmcsIDYwJSk7XG4kY29sb3ItaGVhZGluZy01MDogdGludCgkY29sb3ItaGVhZGluZywgNTAlKTtcbiRjb2xvci1oZWFkaW5nLTYwOiB0aW50KCRjb2xvci1oZWFkaW5nLCA0MCUpO1xuJGNvbG9yLWhlYWRpbmctNzA6IHRpbnQoJGNvbG9yLWhlYWRpbmcsIDMwJSk7XG4kY29sb3ItaGVhZGluZy04MDogdGludCgkY29sb3ItaGVhZGluZywgMjAlKTtcbiRjb2xvci1oZWFkaW5nLTkwOiB0aW50KCRjb2xvci1oZWFkaW5nLCAxMCUpO1xuJGNvbG9yLWhlYWRpbmctMTAwOiAkY29sb3ItaGVhZGluZztcbiRjb2xvci1oZWFkaW5nLTIwMDogc2hhZGUoJGNvbG9yLWhlYWRpbmcsIDEwJSk7XG4kY29sb3ItaGVhZGluZy0zMDA6IHNoYWRlKCRjb2xvci1oZWFkaW5nLCAyMCUpO1xuJGNvbG9yLWhlYWRpbmctNDAwOiBzaGFkZSgkY29sb3ItaGVhZGluZywgMzAlKTtcbiRjb2xvci1oZWFkaW5nLTUwMDogc2hhZGUoJGNvbG9yLWhlYWRpbmcsIDQwJSk7XG4kY29sb3ItaGVhZGluZy02MDA6IHNoYWRlKCRjb2xvci1oZWFkaW5nLCA1MCUpO1xuJGNvbG9yLWhlYWRpbmctNzAwOiBzaGFkZSgkY29sb3ItaGVhZGluZywgNjAlKTtcbiRjb2xvci1oZWFkaW5nLTgwMDogc2hhZGUoJGNvbG9yLWhlYWRpbmcsIDcwJSk7XG4kY29sb3ItaGVhZGluZy05MDA6IHNoYWRlKCRjb2xvci1oZWFkaW5nLCA4MCUpO1xuJGNvbG9yLWhlYWRpbmctMTAwMDogc2hhZGUoJGNvbG9yLWhlYWRpbmcsIDkwJSk7XG5cbiRjb2xvci1zdWJoZWFkaW5nLTEwOiB0aW50KCRjb2xvci1zdWJoZWFkaW5nLCA5MCUpO1xuJGNvbG9yLXN1YmhlYWRpbmctMjA6IHRpbnQoJGNvbG9yLXN1YmhlYWRpbmcsIDgwJSk7XG4kY29sb3Itc3ViaGVhZGluZy0zMDogdGludCgkY29sb3Itc3ViaGVhZGluZywgNzAlKTtcbiRjb2xvci1zdWJoZWFkaW5nLTQwOiB0aW50KCRjb2xvci1zdWJoZWFkaW5nLCA2MCUpO1xuJGNvbG9yLXN1YmhlYWRpbmctNTA6IHRpbnQoJGNvbG9yLXN1YmhlYWRpbmcsIDUwJSk7XG4kY29sb3Itc3ViaGVhZGluZy02MDogdGludCgkY29sb3Itc3ViaGVhZGluZywgNDAlKTtcbiRjb2xvci1zdWJoZWFkaW5nLTcwOiB0aW50KCRjb2xvci1zdWJoZWFkaW5nLCAzMCUpO1xuJGNvbG9yLXN1YmhlYWRpbmctODA6IHRpbnQoJGNvbG9yLXN1YmhlYWRpbmcsIDIwJSk7XG4kY29sb3Itc3ViaGVhZGluZy05MDogdGludCgkY29sb3Itc3ViaGVhZGluZywgMTAlKTtcbiRjb2xvci1zdWJoZWFkaW5nLTEwMDogJGNvbG9yLXN1YmhlYWRpbmc7XG4kY29sb3Itc3ViaGVhZGluZy0yMDA6IHNoYWRlKCRjb2xvci1zdWJoZWFkaW5nLCAxMCUpO1xuJGNvbG9yLXN1YmhlYWRpbmctMzAwOiBzaGFkZSgkY29sb3Itc3ViaGVhZGluZywgMjAlKTtcbiRjb2xvci1zdWJoZWFkaW5nLTQwMDogc2hhZGUoJGNvbG9yLXN1YmhlYWRpbmcsIDMwJSk7XG4kY29sb3Itc3ViaGVhZGluZy01MDA6IHNoYWRlKCRjb2xvci1zdWJoZWFkaW5nLCA0MCUpO1xuJGNvbG9yLXN1YmhlYWRpbmctNjAwOiBzaGFkZSgkY29sb3Itc3ViaGVhZGluZywgNTAlKTtcbiRjb2xvci1zdWJoZWFkaW5nLTcwMDogc2hhZGUoJGNvbG9yLXN1YmhlYWRpbmcsIDYwJSk7XG4kY29sb3Itc3ViaGVhZGluZy04MDA6IHNoYWRlKCRjb2xvci1zdWJoZWFkaW5nLCA3MCUpO1xuJGNvbG9yLXN1YmhlYWRpbmctOTAwOiBzaGFkZSgkY29sb3Itc3ViaGVhZGluZywgODAlKTtcbiRjb2xvci1zdWJoZWFkaW5nLTEwMDA6IHNoYWRlKCRjb2xvci1zdWJoZWFkaW5nLCA5MCUpO1xuXG4kY29sb3ItdGV4dC0xMDogdGludCgkY29sb3ItdGV4dCwgOTAlKTtcbiRjb2xvci10ZXh0LTIwOiB0aW50KCRjb2xvci10ZXh0LCA4MCUpO1xuJGNvbG9yLXRleHQtMzA6IHRpbnQoJGNvbG9yLXRleHQsIDcwJSk7XG4kY29sb3ItdGV4dC00MDogdGludCgkY29sb3ItdGV4dCwgNjAlKTtcbiRjb2xvci10ZXh0LTUwOiB0aW50KCRjb2xvci10ZXh0LCA1MCUpO1xuJGNvbG9yLXRleHQtNjA6IHRpbnQoJGNvbG9yLXRleHQsIDQwJSk7XG4kY29sb3ItdGV4dC03MDogdGludCgkY29sb3ItdGV4dCwgMzAlKTtcbiRjb2xvci10ZXh0LTgwOiB0aW50KCRjb2xvci10ZXh0LCAyMCUpO1xuJGNvbG9yLXRleHQtOTA6IHRpbnQoJGNvbG9yLXRleHQsIDEwJSk7XG4kY29sb3ItdGV4dC0xMDA6ICRjb2xvci10ZXh0O1xuJGNvbG9yLXRleHQtMjAwOiBzaGFkZSgkY29sb3ItdGV4dCwgMTAlKTtcbiRjb2xvci10ZXh0LTMwMDogc2hhZGUoJGNvbG9yLXRleHQsIDIwJSk7XG4kY29sb3ItdGV4dC00MDA6IHNoYWRlKCRjb2xvci10ZXh0LCAzMCUpO1xuJGNvbG9yLXRleHQtNTAwOiBzaGFkZSgkY29sb3ItdGV4dCwgNDAlKTtcbiRjb2xvci10ZXh0LTYwMDogc2hhZGUoJGNvbG9yLXRleHQsIDUwJSk7XG4kY29sb3ItdGV4dC03MDA6IHNoYWRlKCRjb2xvci10ZXh0LCA2MCUpO1xuJGNvbG9yLXRleHQtODAwOiBzaGFkZSgkY29sb3ItdGV4dCwgNzAlKTtcbiRjb2xvci10ZXh0LTkwMDogc2hhZGUoJGNvbG9yLXRleHQsIDgwJSk7XG4kY29sb3ItdGV4dC0xMDAwOiBzaGFkZSgkY29sb3ItdGV4dCwgOTAlKTtcblxuJGNvbG9yLXRleHQtZGlhcC0xMDogdGludCgkY29sb3ItdGV4dC1kaWFwLCA5MCUpO1xuJGNvbG9yLXRleHQtZGlhcC0yMDogdGludCgkY29sb3ItdGV4dC1kaWFwLCA4MCUpO1xuJGNvbG9yLXRleHQtZGlhcC0zMDogdGludCgkY29sb3ItdGV4dC1kaWFwLCA3MCUpO1xuJGNvbG9yLXRleHQtZGlhcC00MDogdGludCgkY29sb3ItdGV4dC1kaWFwLCA2MCUpO1xuJGNvbG9yLXRleHQtZGlhcC01MDogdGludCgkY29sb3ItdGV4dC1kaWFwLCA1MCUpO1xuJGNvbG9yLXRleHQtZGlhcC02MDogdGludCgkY29sb3ItdGV4dC1kaWFwLCA0MCUpO1xuJGNvbG9yLXRleHQtZGlhcC03MDogdGludCgkY29sb3ItdGV4dC1kaWFwLCAzMCUpO1xuJGNvbG9yLXRleHQtZGlhcC04MDogdGludCgkY29sb3ItdGV4dC1kaWFwLCAyMCUpO1xuJGNvbG9yLXRleHQtZGlhcC05MDogdGludCgkY29sb3ItdGV4dC1kaWFwLCAxMCUpO1xuJGNvbG9yLXRleHQtZGlhcC0xMDA6ICRjb2xvci10ZXh0LWRpYXA7XG4kY29sb3ItdGV4dC1kaWFwLTIwMDogc2hhZGUoJGNvbG9yLXRleHQtZGlhcCwgMTAlKTtcbiRjb2xvci10ZXh0LWRpYXAtMzAwOiBzaGFkZSgkY29sb3ItdGV4dC1kaWFwLCAyMCUpO1xuJGNvbG9yLXRleHQtZGlhcC00MDA6IHNoYWRlKCRjb2xvci10ZXh0LWRpYXAsIDMwJSk7XG4kY29sb3ItdGV4dC1kaWFwLTUwMDogc2hhZGUoJGNvbG9yLXRleHQtZGlhcCwgNDAlKTtcbiRjb2xvci10ZXh0LWRpYXAtNjAwOiBzaGFkZSgkY29sb3ItdGV4dC1kaWFwLCA1MCUpO1xuJGNvbG9yLXRleHQtZGlhcC03MDA6IHNoYWRlKCRjb2xvci10ZXh0LWRpYXAsIDYwJSk7XG4kY29sb3ItdGV4dC1kaWFwLTgwMDogc2hhZGUoJGNvbG9yLXRleHQtZGlhcCwgNzAlKTtcbiRjb2xvci10ZXh0LWRpYXAtOTAwOiBzaGFkZSgkY29sb3ItdGV4dC1kaWFwLCA4MCUpO1xuJGNvbG9yLXRleHQtZGlhcC0xMDAwOiBzaGFkZSgkY29sb3ItdGV4dC1kaWFwLCA5MCUpO1xuXG4kY29sb3ItY3RhLTEwOiB0aW50KCRjb2xvci1jdGEsIDkwJSk7XG4kY29sb3ItY3RhLTIwOiB0aW50KCRjb2xvci1jdGEsIDgwJSk7XG4kY29sb3ItY3RhLTMwOiB0aW50KCRjb2xvci1jdGEsIDcwJSk7XG4kY29sb3ItY3RhLTQwOiB0aW50KCRjb2xvci1jdGEsIDYwJSk7XG4kY29sb3ItY3RhLTUwOiB0aW50KCRjb2xvci1jdGEsIDUwJSk7XG4kY29sb3ItY3RhLTYwOiB0aW50KCRjb2xvci1jdGEsIDQwJSk7XG4kY29sb3ItY3RhLTcwOiB0aW50KCRjb2xvci1jdGEsIDMwJSk7XG4kY29sb3ItY3RhLTgwOiB0aW50KCRjb2xvci1jdGEsIDIwJSk7XG4kY29sb3ItY3RhLTkwOiB0aW50KCRjb2xvci1jdGEsIDEwJSk7XG4kY29sb3ItY3RhLTEwMDogJGNvbG9yLWN0YTtcbiRjb2xvci1jdGEtMjAwOiBzaGFkZSgkY29sb3ItY3RhLCAxMCUpO1xuJGNvbG9yLWN0YS0zMDA6IHNoYWRlKCRjb2xvci1jdGEsIDIwJSk7XG4kY29sb3ItY3RhLTQwMDogc2hhZGUoJGNvbG9yLWN0YSwgMzAlKTtcbiRjb2xvci1jdGEtNTAwOiBzaGFkZSgkY29sb3ItY3RhLCA0MCUpO1xuJGNvbG9yLWN0YS02MDA6IHNoYWRlKCRjb2xvci1jdGEsIDUwJSk7XG4kY29sb3ItY3RhLTcwMDogc2hhZGUoJGNvbG9yLWN0YSwgNjAlKTtcbiRjb2xvci1jdGEtODAwOiBzaGFkZSgkY29sb3ItY3RhLCA3MCUpO1xuJGNvbG9yLWN0YS05MDA6IHNoYWRlKCRjb2xvci1jdGEsIDgwJSk7XG4kY29sb3ItY3RhLTEwMDA6IHNoYWRlKCRjb2xvci1jdGEsIDkwJSk7XG5cbiRjb2xvci1wcmltYXJ5LTEwOiB0aW50KCRjb2xvci1wcmltYXJ5LCA5MCUpO1xuJGNvbG9yLXByaW1hcnktMjA6IHRpbnQoJGNvbG9yLXByaW1hcnksIDgwJSk7XG4kY29sb3ItcHJpbWFyeS0zMDogdGludCgkY29sb3ItcHJpbWFyeSwgNzAlKTtcbiRjb2xvci1wcmltYXJ5LTQwOiB0aW50KCRjb2xvci1wcmltYXJ5LCA2MCUpO1xuJGNvbG9yLXByaW1hcnktNTA6IHRpbnQoJGNvbG9yLXByaW1hcnksIDUwJSk7XG4kY29sb3ItcHJpbWFyeS02MDogdGludCgkY29sb3ItcHJpbWFyeSwgNDAlKTtcbiRjb2xvci1wcmltYXJ5LTcwOiB0aW50KCRjb2xvci1wcmltYXJ5LCAzMCUpO1xuJGNvbG9yLXByaW1hcnktODA6IHRpbnQoJGNvbG9yLXByaW1hcnksIDIwJSk7XG4kY29sb3ItcHJpbWFyeS05MDogdGludCgkY29sb3ItcHJpbWFyeSwgMTAlKTtcbiRjb2xvci1wcmltYXJ5LTEwMDogJGNvbG9yLXByaW1hcnk7XG4kY29sb3ItcHJpbWFyeS0yMDA6IHNoYWRlKCRjb2xvci1wcmltYXJ5LCAxMCUpO1xuJGNvbG9yLXByaW1hcnktMzAwOiBzaGFkZSgkY29sb3ItcHJpbWFyeSwgMjAlKTtcbiRjb2xvci1wcmltYXJ5LTQwMDogc2hhZGUoJGNvbG9yLXByaW1hcnksIDMwJSk7XG4kY29sb3ItcHJpbWFyeS01MDA6IHNoYWRlKCRjb2xvci1wcmltYXJ5LCA0MCUpO1xuJGNvbG9yLXByaW1hcnktNjAwOiBzaGFkZSgkY29sb3ItcHJpbWFyeSwgNTAlKTtcbiRjb2xvci1wcmltYXJ5LTcwMDogc2hhZGUoJGNvbG9yLXByaW1hcnksIDYwJSk7XG4kY29sb3ItcHJpbWFyeS04MDA6IHNoYWRlKCRjb2xvci1wcmltYXJ5LCA3MCUpO1xuJGNvbG9yLXByaW1hcnktOTAwOiBzaGFkZSgkY29sb3ItcHJpbWFyeSwgODAlKTtcbiRjb2xvci1wcmltYXJ5LTEwMDA6IHNoYWRlKCRjb2xvci1wcmltYXJ5LCA5MCUpO1xuXG4kY29sb3Itc2Vjb25kYXJ5LTEwOiB0aW50KCRjb2xvci1zZWNvbmRhcnksIDkwJSk7XG4kY29sb3Itc2Vjb25kYXJ5LTIwOiB0aW50KCRjb2xvci1zZWNvbmRhcnksIDgwJSk7XG4kY29sb3Itc2Vjb25kYXJ5LTMwOiB0aW50KCRjb2xvci1zZWNvbmRhcnksIDcwJSk7XG4kY29sb3Itc2Vjb25kYXJ5LTQwOiB0aW50KCRjb2xvci1zZWNvbmRhcnksIDYwJSk7XG4kY29sb3Itc2Vjb25kYXJ5LTUwOiB0aW50KCRjb2xvci1zZWNvbmRhcnksIDUwJSk7XG4kY29sb3Itc2Vjb25kYXJ5LTYwOiB0aW50KCRjb2xvci1zZWNvbmRhcnksIDQwJSk7XG4kY29sb3Itc2Vjb25kYXJ5LTcwOiB0aW50KCRjb2xvci1zZWNvbmRhcnksIDMwJSk7XG4kY29sb3Itc2Vjb25kYXJ5LTgwOiB0aW50KCRjb2xvci1zZWNvbmRhcnksIDIwJSk7XG4kY29sb3Itc2Vjb25kYXJ5LTkwOiB0aW50KCRjb2xvci1zZWNvbmRhcnksIDEwJSk7XG4kY29sb3Itc2Vjb25kYXJ5LTEwMDogJGNvbG9yLXNlY29uZGFyeTtcbiRjb2xvci1zZWNvbmRhcnktMjAwOiBzaGFkZSgkY29sb3Itc2Vjb25kYXJ5LCAxMCUpO1xuJGNvbG9yLXNlY29uZGFyeS0zMDA6IHNoYWRlKCRjb2xvci1zZWNvbmRhcnksIDIwJSk7XG4kY29sb3Itc2Vjb25kYXJ5LTQwMDogc2hhZGUoJGNvbG9yLXNlY29uZGFyeSwgMzAlKTtcbiRjb2xvci1zZWNvbmRhcnktNTAwOiBzaGFkZSgkY29sb3Itc2Vjb25kYXJ5LCA0MCUpO1xuJGNvbG9yLXNlY29uZGFyeS02MDA6IHNoYWRlKCRjb2xvci1zZWNvbmRhcnksIDUwJSk7XG4kY29sb3Itc2Vjb25kYXJ5LTcwMDogc2hhZGUoJGNvbG9yLXNlY29uZGFyeSwgNjAlKTtcbiRjb2xvci1zZWNvbmRhcnktODAwOiBzaGFkZSgkY29sb3Itc2Vjb25kYXJ5LCA3MCUpO1xuJGNvbG9yLXNlY29uZGFyeS05MDA6IHNoYWRlKCRjb2xvci1zZWNvbmRhcnksIDgwJSk7XG4kY29sb3Itc2Vjb25kYXJ5LTEwMDA6IHNoYWRlKCRjb2xvci1zZWNvbmRhcnksIDkwJSk7XG5cbiRjb2xvci1lcnJvci0xMDogdGludCgkY29sb3ItZXJyb3IsIDkwJSk7XG4kY29sb3ItZXJyb3ItMjA6IHRpbnQoJGNvbG9yLWVycm9yLCA4MCUpO1xuJGNvbG9yLWVycm9yLTMwOiB0aW50KCRjb2xvci1lcnJvciwgNzAlKTtcbiRjb2xvci1lcnJvci00MDogdGludCgkY29sb3ItZXJyb3IsIDYwJSk7XG4kY29sb3ItZXJyb3ItNTA6IHRpbnQoJGNvbG9yLWVycm9yLCA1MCUpO1xuJGNvbG9yLWVycm9yLTYwOiB0aW50KCRjb2xvci1lcnJvciwgNDAlKTtcbiRjb2xvci1lcnJvci03MDogdGludCgkY29sb3ItZXJyb3IsIDMwJSk7XG4kY29sb3ItZXJyb3ItODA6IHRpbnQoJGNvbG9yLWVycm9yLCAyMCUpO1xuJGNvbG9yLWVycm9yLTkwOiB0aW50KCRjb2xvci1lcnJvciwgMTAlKTtcbiRjb2xvci1lcnJvci0xMDA6ICRjb2xvci1lcnJvcjtcbiRjb2xvci1lcnJvci0yMDA6IHNoYWRlKCRjb2xvci1lcnJvciwgMTAlKTtcbiRjb2xvci1lcnJvci0zMDA6IHNoYWRlKCRjb2xvci1lcnJvciwgMjAlKTtcbiRjb2xvci1lcnJvci00MDA6IHNoYWRlKCRjb2xvci1lcnJvciwgMzAlKTtcbiRjb2xvci1lcnJvci01MDA6IHNoYWRlKCRjb2xvci1lcnJvciwgNDAlKTtcbiRjb2xvci1lcnJvci02MDA6IHNoYWRlKCRjb2xvci1lcnJvciwgNTAlKTtcbiRjb2xvci1lcnJvci03MDA6IHNoYWRlKCRjb2xvci1lcnJvciwgNjAlKTtcbiRjb2xvci1lcnJvci04MDA6IHNoYWRlKCRjb2xvci1lcnJvciwgNzAlKTtcbiRjb2xvci1lcnJvci05MDA6IHNoYWRlKCRjb2xvci1lcnJvciwgODAlKTtcbiRjb2xvci1lcnJvci0xMDAwOiBzaGFkZSgkY29sb3ItZXJyb3IsIDkwJSk7XG5cbiRjb2xvci1zdWNjZXNzLTEwOiB0aW50KCRjb2xvci1zdWNjZXNzLCA5MCUpO1xuJGNvbG9yLXN1Y2Nlc3MtMjA6IHRpbnQoJGNvbG9yLXN1Y2Nlc3MsIDgwJSk7XG4kY29sb3Itc3VjY2Vzcy0zMDogdGludCgkY29sb3Itc3VjY2VzcywgNzAlKTtcbiRjb2xvci1zdWNjZXNzLTQwOiB0aW50KCRjb2xvci1zdWNjZXNzLCA2MCUpO1xuJGNvbG9yLXN1Y2Nlc3MtNTA6IHRpbnQoJGNvbG9yLXN1Y2Nlc3MsIDUwJSk7XG4kY29sb3Itc3VjY2Vzcy02MDogdGludCgkY29sb3Itc3VjY2VzcywgNDAlKTtcbiRjb2xvci1zdWNjZXNzLTcwOiB0aW50KCRjb2xvci1zdWNjZXNzLCAzMCUpO1xuJGNvbG9yLXN1Y2Nlc3MtODA6IHRpbnQoJGNvbG9yLXN1Y2Nlc3MsIDIwJSk7XG4kY29sb3Itc3VjY2Vzcy05MDogdGludCgkY29sb3Itc3VjY2VzcywgMTAlKTtcbiRjb2xvci1zdWNjZXNzLTEwMDogJGNvbG9yLXN1Y2Nlc3M7XG4kY29sb3Itc3VjY2Vzcy0yMDA6IHNoYWRlKCRjb2xvci1zdWNjZXNzLCAxMCUpO1xuJGNvbG9yLXN1Y2Nlc3MtMzAwOiBzaGFkZSgkY29sb3Itc3VjY2VzcywgMjAlKTtcbiRjb2xvci1zdWNjZXNzLTQwMDogc2hhZGUoJGNvbG9yLXN1Y2Nlc3MsIDMwJSk7XG4kY29sb3Itc3VjY2Vzcy01MDA6IHNoYWRlKCRjb2xvci1zdWNjZXNzLCA0MCUpO1xuJGNvbG9yLXN1Y2Nlc3MtNjAwOiBzaGFkZSgkY29sb3Itc3VjY2VzcywgNTAlKTtcbiRjb2xvci1zdWNjZXNzLTcwMDogc2hhZGUoJGNvbG9yLXN1Y2Nlc3MsIDYwJSk7XG4kY29sb3Itc3VjY2Vzcy04MDA6IHNoYWRlKCRjb2xvci1zdWNjZXNzLCA3MCUpO1xuJGNvbG9yLXN1Y2Nlc3MtOTAwOiBzaGFkZSgkY29sb3Itc3VjY2VzcywgODAlKTtcbiRjb2xvci1zdWNjZXNzLTEwMDA6IHNoYWRlKCRjb2xvci1zdWNjZXNzLCA5MCUpO1xuXG4kY29sb3Itc2VsZWN0LTEwOiB0aW50KCRjb2xvci1zZWxlY3QsIDkwJSk7XG4kY29sb3Itc2VsZWN0LTIwOiB0aW50KCRjb2xvci1zZWxlY3QsIDgwJSk7XG4kY29sb3Itc2VsZWN0LTMwOiB0aW50KCRjb2xvci1zZWxlY3QsIDcwJSk7XG4kY29sb3Itc2VsZWN0LTQwOiB0aW50KCRjb2xvci1zZWxlY3QsIDYwJSk7XG4kY29sb3Itc2VsZWN0LTUwOiB0aW50KCRjb2xvci1zZWxlY3QsIDUwJSk7XG4kY29sb3Itc2VsZWN0LTYwOiB0aW50KCRjb2xvci1zZWxlY3QsIDQwJSk7XG4kY29sb3Itc2VsZWN0LTcwOiB0aW50KCRjb2xvci1zZWxlY3QsIDMwJSk7XG4kY29sb3Itc2VsZWN0LTgwOiB0aW50KCRjb2xvci1zZWxlY3QsIDIwJSk7XG4kY29sb3Itc2VsZWN0LTkwOiB0aW50KCRjb2xvci1zZWxlY3QsIDEwJSk7XG4kY29sb3Itc2VsZWN0LTEwMDogJGNvbG9yLXNlbGVjdDtcbiRjb2xvci1zZWxlY3QtMjAwOiBzaGFkZSgkY29sb3Itc2VsZWN0LCAxMCUpO1xuJGNvbG9yLXNlbGVjdC0zMDA6IHNoYWRlKCRjb2xvci1zZWxlY3QsIDIwJSk7XG4kY29sb3Itc2VsZWN0LTQwMDogc2hhZGUoJGNvbG9yLXNlbGVjdCwgMzAlKTtcbiRjb2xvci1zZWxlY3QtNTAwOiBzaGFkZSgkY29sb3Itc2VsZWN0LCA0MCUpO1xuJGNvbG9yLXNlbGVjdC02MDA6IHNoYWRlKCRjb2xvci1zZWxlY3QsIDUwJSk7XG4kY29sb3Itc2VsZWN0LTcwMDogc2hhZGUoJGNvbG9yLXNlbGVjdCwgNjAlKTtcbiRjb2xvci1zZWxlY3QtODAwOiBzaGFkZSgkY29sb3Itc2VsZWN0LCA3MCUpO1xuJGNvbG9yLXNlbGVjdC05MDA6IHNoYWRlKCRjb2xvci1zZWxlY3QsIDgwJSk7XG4kY29sb3Itc2VsZWN0LTEwMDA6IHNoYWRlKCRjb2xvci1zZWxlY3QsIDkwJSk7XG5cbiRjb2xvci1mb2N1cy0xMDogdGludCgkY29sb3ItZm9jdXMsIDkwJSk7XG4kY29sb3ItZm9jdXMtMjA6IHRpbnQoJGNvbG9yLWZvY3VzLCA4MCUpO1xuJGNvbG9yLWZvY3VzLTMwOiB0aW50KCRjb2xvci1mb2N1cywgNzAlKTtcbiRjb2xvci1mb2N1cy00MDogdGludCgkY29sb3ItZm9jdXMsIDYwJSk7XG4kY29sb3ItZm9jdXMtNTA6IHRpbnQoJGNvbG9yLWZvY3VzLCA1MCUpO1xuJGNvbG9yLWZvY3VzLTYwOiB0aW50KCRjb2xvci1mb2N1cywgNDAlKTtcbiRjb2xvci1mb2N1cy03MDogdGludCgkY29sb3ItZm9jdXMsIDMwJSk7XG4kY29sb3ItZm9jdXMtODA6IHRpbnQoJGNvbG9yLWZvY3VzLCAyMCUpO1xuJGNvbG9yLWZvY3VzLTkwOiB0aW50KCRjb2xvci1mb2N1cywgMTAlKTtcbiRjb2xvci1mb2N1cy0xMDA6ICRjb2xvci1mb2N1cztcbiRjb2xvci1mb2N1cy0yMDA6IHNoYWRlKCRjb2xvci1mb2N1cywgMTAlKTtcbiRjb2xvci1mb2N1cy0zMDA6IHNoYWRlKCRjb2xvci1mb2N1cywgMjAlKTtcbiRjb2xvci1mb2N1cy00MDA6IHNoYWRlKCRjb2xvci1mb2N1cywgMzAlKTtcbiRjb2xvci1mb2N1cy01MDA6IHNoYWRlKCRjb2xvci1mb2N1cywgNDAlKTtcbiRjb2xvci1mb2N1cy02MDA6IHNoYWRlKCRjb2xvci1mb2N1cywgNTAlKTtcbiRjb2xvci1mb2N1cy03MDA6IHNoYWRlKCRjb2xvci1mb2N1cywgNjAlKTtcbiRjb2xvci1mb2N1cy04MDA6IHNoYWRlKCRjb2xvci1mb2N1cywgNzAlKTtcbiRjb2xvci1mb2N1cy05MDA6IHNoYWRlKCRjb2xvci1mb2N1cywgODAlKTtcbiRjb2xvci1mb2N1cy0xMDAwOiBzaGFkZSgkY29sb3ItZm9jdXMsIDkwJSk7XG4iLCIkYm9keS1iYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3Itc2l0ZS1iYWNrZ3JvdW5kICFkZWZhdWx0O1xuJGJvZHktY29sb3I6ICRjb2xvci10ZXh0ICFkZWZhdWx0O1xuXG5ib2R5XG57XG4gICAgZm9udC1mYW1pbHk6ICRmb250LWZhbWlseS1zYW5zLXNlcmlmO1xuICAgIGZvbnQtc2l6ZTogJGZvbnQtc2l6ZS0xMDA7XG4gICAgZm9udC13ZWlnaHQ6IDMwMDtcbiAgICBsaW5lLWhlaWdodDogJGxpbmUtaGVpZ2h0LTEwMDtcblxuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICAgIGNvbG9yOiAkYm9keS1jb2xvcjtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYm9keS1iYWNrZ3JvdW5kLWNvbG9yO1xufVxuIiwiJGZvbnQtc2l6ZS02MDogICAxMHB4ICFkZWZhdWx0O1xuJGZvbnQtc2l6ZS03MDogICAxMXB4ICFkZWZhdWx0O1xuJGZvbnQtc2l6ZS04MDogICAxNHB4ICFkZWZhdWx0O1xuJGZvbnQtc2l6ZS04NTogICAxNXB4ICFkZWZhdWx0O1xuJGZvbnQtc2l6ZS05MDogICAxNnB4ICFkZWZhdWx0O1xuJGZvbnQtc2l6ZS0xMDA6ICAxOHB4ICFkZWZhdWx0O1xuJGZvbnQtc2l6ZS0yMDA6ICAyMHB4ICFkZWZhdWx0O1xuJGZvbnQtc2l6ZS0zMDA6ICAyNHB4ICFkZWZhdWx0O1xuJGZvbnQtc2l6ZS0zNTA6ICAzMnB4ICFkZWZhdWx0O1xuJGZvbnQtc2l6ZS00MDA6ICAzNnB4ICFkZWZhdWx0O1xuJGZvbnQtc2l6ZS01MDA6ICA0OHB4ICFkZWZhdWx0O1xuJGZvbnQtc2l6ZS02MDA6ICA3MnB4ICFkZWZhdWx0O1xuIiwiJGxpbmUtaGVpZ2h0LTIwOiAgMWVtICFkZWZhdWx0O1xuJGxpbmUtaGVpZ2h0LTMwOiAgMS4wNjI1ZW0gIWRlZmF1bHQ7XG4kbGluZS1oZWlnaHQtNDA6ICAxLjEyNWVtICFkZWZhdWx0O1xuJGxpbmUtaGVpZ2h0LTUwOiAgMS4xODc1ZW0gIWRlZmF1bHQ7XG4kbGluZS1oZWlnaHQtNjA6ICAxLjI1ZW0gIWRlZmF1bHQ7XG4kbGluZS1oZWlnaHQtNzA6ICAxLjMxMjVlbSAhZGVmYXVsdDtcbiRsaW5lLWhlaWdodC04MDogIDEuMzc1ZW0gIWRlZmF1bHQ7XG4kbGluZS1oZWlnaHQtOTA6ICAxLjQzNzVlbSAhZGVmYXVsdDtcbiRsaW5lLWhlaWdodC0xMDA6IDEuNWVtICFkZWZhdWx0O1xuJGxpbmUtaGVpZ2h0LTIwMDogMS41NjI1ZW0gIWRlZmF1bHQ7XG4kbGluZS1oZWlnaHQtMzAwOiAxLjYyNWVtICFkZWZhdWx0O1xuJGxpbmUtaGVpZ2h0LTQwMDogMS42ODc1ZW0gIWRlZmF1bHQ7XG4kbGluZS1oZWlnaHQtNTAwOiAxLjc1ZW0gIWRlZmF1bHQ7XG4kbGluZS1oZWlnaHQtNjAwOiAxLjgxMjVlbSAhZGVmYXVsdDtcbiRsaW5lLWhlaWdodC03MDA6IDEuODc1ZW0gIWRlZmF1bHQ7XG4kbGluZS1oZWlnaHQtODAwOiAxLjkzNzVlbSAhZGVmYXVsdDtcbiRsaW5lLWhlaWdodC05MDA6IDJlbSAhZGVmYXVsdDsiLCIuY29udGVudFxue1xuICAgID4gKjpmaXJzdC1jaGlsZFxuICAgIHtcbiAgICAgICAgbWFyZ2luLXRvcDogMDtcbiAgICB9XG4gICAgPiAqOmxhc3QtY2hpbGRcbiAgICB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgfVxufVxuXG4uY29udGVudCBpbWdcbntcbiAgICB3aWR0aDogMTAwJTtcbn1cbiIsImh0bWxcbntcbiAgICBoZWlnaHQ6IDEwMCU7XG59XG5cbmJvZHlcbntcbiAgICBkaXNwbGF5OiB0YWJsZTtcblxuICAgIHdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogMTAwJTtcblxuICAgIHRhYmxlLWxheW91dDogZml4ZWQ7IC8qIGZpeCBmb3IgbWF4LXdpZHRoIGlzc3VlcyB3aXRoIGltYWdlczogc2VlIGh0dHA6Ly93d3cuY2Fyc29uc2hvbGQuY29tLzIwMTQvMDcvY3NzLWRpc3BsYXktdGFibGUtY2VsbC1jaGlsZC13aWR0aC1idWctaW4tZmlyZWZveC1hbmQtaWUvICovXG59XG5cbm1haW5cbntcbiAgICBkaXNwbGF5OiB0YWJsZS1yb3c7XG5cbiAgICBoZWlnaHQ6IDEwMCU7XG59XG4iLCIuY2FudmFzXG57XG4gICAgcGFkZGluZzogMDtcblxuICAgIEBpbmNsdWRlIG1lZGlhKCRyYW5nZS1oYW5kKVxuICAgIHtcbiAgICAgICAgcGFkZGluZzogNDBweCAwO1xuICAgIH1cbiAgICBAaW5jbHVkZSBtZWRpYSgkcmFuZ2UtbGFwLCBmYWxzZSlcbiAgICB7XG4gICAgICAgIHBhZGRpbmc6IDYwcHggMDtcbiAgICB9XG59XG4iLCIucGFnZS1mb290ZXIge1xuXHQvLyBiYWNrZ3JvdW5kOiAkY29sb3ItdGV4dDtcblx0Ly8gY29sb3I6ICRjb2xvci13aGl0ZTtcbn1cblxuLnBhZ2UtZm9vdGVyX19pbm5lciB7XG5cdEBpbmNsdWRlIGlubmVyO1xufVxuXG4ucGFnZS1mb290ZXJfX25hdiB7XG5cdG1hcmdpbjogMDtcblx0cGFkZGluZzogMDtcblx0d2lkdGg6IDEwMCU7XG5cdGxpc3Qtc3R5bGU6IG5vbmU7XG5cblx0QGluY2x1ZGUgbWVkaWEoMCwgJHJhbmdlLWhhbmQpIHtcblx0XHRAaW5jbHVkZSBjb2x1bW5zKDIpO1xuXHRcdHBhZGRpbmc6IDVweCAwIDEwcHggMDtcblx0fVxuXG5cdEBpbmNsdWRlIG1lZGlhKCRyYW5nZS1sYXAsIGZhbHNlKSB7XG5cdFx0ZGlzcGxheTogdGFibGU7XG5cdFx0dGFibGUtbGF5b3V0OiBmaXhlZDtcblx0fVxufVxuXG4ucGFnZS1mb290ZXJfX25hdi1pdGVtIHtcblxuXHRAaW5jbHVkZSBtZWRpYSgkcmFuZ2UtbGFwLCBmYWxzZSkge1xuXHRcdGRpc3BsYXk6IHRhYmxlLWNlbGw7XG5cdFx0dGV4dC1hbGlnbjogY2VudGVyO1xuXHR9XG59XG5cbi5wYWdlLWZvb3Rlcl9fbmF2LWxpbmsge1xuXHRkaXNwbGF5OiBibG9jaztcblx0Zm9udC1zaXplOiAkZm9udC1zaXplLTEwMDtcblx0bGluZS1oZWlnaHQ6ICRsaW5lLWhlaWdodC05MDtcblxuXHQmOmhvdmVyIHtcblx0XHRjb2xvcjogJGNvbG9yLXNlY29uZGFyeTtcblx0fVxuXG5cdEBpbmNsdWRlIG1lZGlhKDAsICRyYW5nZS1oYW5kKSB7XG5cdFx0cGFkZGluZzogNXB4IDA7XG5cdH1cbn1cblxuLnBhZ2UtZm9vdGVyX19uYXYtbGluay0tc2Vjb25kYXJ5IHtcblx0Y29sb3I6ICRjb2xvci10ZXh0LTgwO1xufVxuXG4ucGFnZS1mb290ZXJfX3NlY29uZGFyeS1uYXYge1xuXHRkaXNwbGF5OiBibG9jaztcblx0bWFyZ2luOiAwO1xuXHRwYWRkaW5nOiAwO1xuXHRsaXN0LXN0eWxlOiBub25lO1xuXG5cdEBpbmNsdWRlIG1lZGlhKDAsICRyYW5nZS1oYW5kKSB7XG5cdFx0QGluY2x1ZGUgY29sdW1ucygyKTtcblx0XHRwYWRkaW5nOiA1cHggMCAxMHB4IDA7XG5cdH1cblxuXHRAaW5jbHVkZSBtZWRpYSgkcmFuZ2UtbGFwLCBmYWxzZSkge1xuXHRcdHRleHQtYWxpZ246IGNlbnRlcjtcblx0fVxufVxuXG4ucGFnZS1mb290ZXJfX3NlY29uZGFyeS1uYXYtaXRlbSB7XG5cdGZvbnQtc2l6ZTogJGZvbnQtc2l6ZS04MDtcblx0Zm9udC13ZWlnaHQ6IGJvbGQ7XG5cdGxpbmUtaGVpZ2h0OiAkbGluZS1oZWlnaHQtOTA7XG5cblx0QGluY2x1ZGUgbWVkaWEoMCwgJHJhbmdlLWhhbmQpIHtcblx0XHRkaXNwbGF5OiBibG9jaztcblx0fVxuXG5cdEBpbmNsdWRlIG1lZGlhKCRyYW5nZS1sYXAsIGZhbHNlKSB7XG5cdFx0ZGlzcGxheTogaW5saW5lLWJsb2NrO1xuXHR9XG59XG5cbi5wYWdlLWZvb3Rlcl9fc2Vjb25kYXJ5LW5hdi1saW5rIHtcblx0ZGlzcGxheTogYmxvY2s7XG5cdHBhZGRpbmc6IDIwcHggMTVweDtcblx0Y29sb3I6ICRjb2xvci10ZXh0LTgwO1xuXHRmb250LXNpemU6ICRmb250LXNpemUtODA7XG5cdGZvbnQtd2VpZ2h0OiBib2xkO1xuXHRsaW5lLWhlaWdodDogJGxpbmUtaGVpZ2h0LTkwO1xuXG5cdCY6aG92ZXIge1xuXHRcdGNvbG9yOiAkY29sb3Itd2hpdGU7XG5cdH1cblxuXHRAaW5jbHVkZSBtZWRpYSgwLCAkcmFuZ2UtaGFuZCkge1xuXHRcdHBhZGRpbmc6IDEwcHggNXB4O1xuXHR9XG59XG5cbi5wYWdlLWZvb3Rlcl9fc2Vjb25kYXJ5LW5hdi1pdGVtIGEge1xuXHRjb2xvcjogJGNvbG9yLXRleHQtODA7XG5cblx0Jjpob3ZlciB7XG5cdFx0Y29sb3I6ICRjb2xvci1ibGFjaztcblx0fVxufVxuXG4ucGFnZS1mb290ZXJfX2JvZHkge1xuXHRAaW5jbHVkZSBvdXRlci1jb250YWluZXI7XG5cdHBhZGRpbmc6IDMwcHggMDtcbn1cblxuLnBhZ2UtZm9vdGVyX190aXRlbCB7XG5cdGZvbnQtc2l6ZTogJGZvbnQtc2l6ZS0xMDA7XG5cdGZvbnQtd2VpZ2h0OiA2MDA7XG59XG5cbi5wYWdlLWZvb3Rlcl9fbG9nbyB7XG5cblx0QGluY2x1ZGUgbWVkaWEoMCwgJHJhbmdlLWhhbmQpIHtcblxuXHRcdC5sb2dvLWltYWdlIHtcblx0XHRcdG1hcmdpbjogMCBhdXRvIDIwcHggMDtcblx0XHRcdHdpZHRoOiAxMjBweDtcblx0XHR9XG5cdH1cblxuXHRAaW5jbHVkZSBtZWRpYSgkcmFuZ2UtbGFwLCBmYWxzZSkge1xuXHRcdEBpbmNsdWRlIHNwYW4tY29sdW1ucygyKTtcblx0XHRwYWRkaW5nLXRvcDogMzBweDtcblx0fVxufVxuXG4vLyAucGFnZS1mb290ZXJfX2Nvbm5lY3Qge1xuXG4vLyBcdEBpbmNsdWRlIG1lZGlhKCRyYW5nZS1sYXAsIGZhbHNlKSB7XG4vLyBcdFx0QGluY2x1ZGUgc3Bhbi1jb2x1bW5zKDgpO1xuLy8gXHR9XG4vLyB9XG5cbi5wYWdlLWZvb3Rlcl9fY29udGFjdCB7XG5cblx0QGluY2x1ZGUgbWVkaWEoJHJhbmdlLWxhcCwgZmFsc2UpIHtcblx0XHRAaW5jbHVkZSBzcGFuLWNvbHVtbnMoMyk7XG5cdH1cbn1cblxuLnBhZ2UtZm9vdGVyX19saW5rLW1hcCB7XG5cdHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xuXHRmb250LXNpemU6ICRmb250LXNpemUtOTA7XG59XG5cbi5wYWdlLWZvb3Rlcl9faW5mbyB7XG5cblx0QGluY2x1ZGUgbWVkaWEoJHJhbmdlLWxhcCwgZmFsc2UpIHtcblx0XHRAaW5jbHVkZSBzcGFuLWNvbHVtbnMoMyk7XG5cdH1cbn1cbiIsIkBtaXhpbiBpbm5lcigkcGFkOiAyMHB4LCAkY2xlYXJmaXg6IHRydWUpIHtcblx0QGlmICRjbGVhcmZpeCB7XG5cdFx0QGluY2x1ZGUgY2xlYXJmaXg7XG5cdH1cdFxuXHRtYXgtd2lkdGg6IDEyNDBweDtcblx0bWFyZ2luOiAwIGF1dG87XG5cdHBhZGRpbmc6IDAgJHBhZDtcblx0d2lkdGg6IDEwMCU7XG5cblx0QGluY2x1ZGUgbWVkaWEoMCwkcmFuZ2UtaGFuZCkge1xuXHRcdHBhZGRpbmc6IDAgJHBhZCAtIDEwcHg7XG5cdH1cbn1cbiIsIkBjaGFyc2V0IFwiVVRGLThcIjtcblxuLy8vIFByb3ZpZGVzIGFuIGVhc3kgd2F5IHRvIGluY2x1ZGUgYSBjbGVhcmZpeCBmb3IgY29udGFpbmluZyBmbG9hdHMuXG4vLy9cbi8vLyBAbGluayBodHRwOi8vY3NzbW9qby5jb20vbGF0ZXN0X25ld19jbGVhcmZpeF9zb19mYXIvXG4vLy9cbi8vLyBAZXhhbXBsZSBzY3NzIC0gVXNhZ2Vcbi8vLyAgIC5lbGVtZW50IHtcbi8vLyAgICAgQGluY2x1ZGUgY2xlYXJmaXg7XG4vLy8gICB9XG4vLy9cbi8vLyBAZXhhbXBsZSBjc3MgLSBDU1MgT3V0cHV0XG4vLy8gICAuZWxlbWVudDo6YWZ0ZXIge1xuLy8vICAgICBjbGVhcjogYm90aDtcbi8vLyAgICAgY29udGVudDogXCJcIjtcbi8vLyAgICAgZGlzcGxheTogdGFibGU7XG4vLy8gICB9XG5cbkBtaXhpbiBjbGVhcmZpeCB7XG4gICY6OmFmdGVyIHtcbiAgICBjbGVhcjogYm90aDtcbiAgICBjb250ZW50OiBcIlwiO1xuICAgIGRpc3BsYXk6IHRhYmxlO1xuICB9XG59XG4iLCJAY2hhcnNldCBcIlVURi04XCI7XG5cbi8vLyBNYWtlcyBhbiBlbGVtZW50IGEgb3V0ZXIgY29udGFpbmVyIGJ5IGNlbnRlcmluZyBpdCBpbiB0aGUgdmlld3BvcnQsIGNsZWFyaW5nIGl0cyBmbG9hdHMsIGFuZCBzZXR0aW5nIGl0cyBgbWF4LXdpZHRoYC5cbi8vLyBBbHRob3VnaCBvcHRpb25hbCwgdXNpbmcgYG91dGVyLWNvbnRhaW5lcmAgaXMgcmVjb21tZW5kZWQuIFRoZSBtaXhpbiBjYW4gYmUgY2FsbGVkIG9uIG1vcmUgdGhhbiBvbmUgZWxlbWVudCBwZXIgcGFnZSwgYXMgbG9uZyBhcyB0aGV5IGFyZSBub3QgbmVzdGVkLlxuLy8vXG4vLy8gQHBhcmFtIHtOdW1iZXIgW3VuaXRdfSAkbG9jYWwtbWF4LXdpZHRoIFskbWF4LXdpZHRoXVxuLy8vICAgTWF4IHdpZHRoIHRvIGJlIGFwcGxpZWQgdG8gdGhlIGVsZW1lbnQuIENhbiBiZSBhIHBlcmNlbnRhZ2Ugb3IgYSBtZWFzdXJlLlxuLy8vXG4vLy8gQGV4YW1wbGUgc2NzcyAtIFVzYWdlXG4vLy8gICAuZWxlbWVudCB7XG4vLy8gICAgIEBpbmNsdWRlIG91dGVyLWNvbnRhaW5lcigxMDAlKTtcbi8vLyAgIH1cbi8vL1xuLy8vIEBleGFtcGxlIGNzcyAtIENTUyBPdXRwdXRcbi8vLyAgIC5lbGVtZW50IHtcbi8vLyAgICAgKnpvb206IDE7XG4vLy8gICAgIG1heC13aWR0aDogMTAwJTtcbi8vLyAgICAgbWFyZ2luLWxlZnQ6IGF1dG87XG4vLy8gICAgIG1hcmdpbi1yaWdodDogYXV0bztcbi8vLyAgIH1cbi8vL1xuLy8vICAgLmVsZW1lbnQ6YmVmb3JlLCAuZWxlbWVudDphZnRlciB7XG4vLy8gICAgIGNvbnRlbnQ6IFwiIFwiO1xuLy8vICAgICBkaXNwbGF5OiB0YWJsZTtcbi8vLyAgIH1cbi8vL1xuLy8vICAgLmVsZW1lbnQ6YWZ0ZXIge1xuLy8vICAgICBjbGVhcjogYm90aDtcbi8vLyAgIH1cblxuQG1peGluIG91dGVyLWNvbnRhaW5lcigkbG9jYWwtbWF4LXdpZHRoOiAkbWF4LXdpZHRoKSB7XG4gIEBpbmNsdWRlIGNsZWFyZml4O1xuICBtYXgtd2lkdGg6ICRsb2NhbC1tYXgtd2lkdGg7XG4gIG1hcmdpbjoge1xuICAgIGxlZnQ6IGF1dG87XG4gICAgcmlnaHQ6IGF1dG87XG4gIH1cbn1cbiIsIkBjaGFyc2V0IFwiVVRGLThcIjtcblxuLy8vIFNldHMgdGhlIHJlbGF0aXZlIHdpZHRoIG9mIGEgc2luZ2xlIGdyaWQgY29sdW1uLiBUaGUgdW5pdCB1c2VkIHNob3VsZCBiZSB0aGUgc2FtZSBvbmUgdXNlZCB0byBkZWZpbmUgYCRndXR0ZXJgLiBUbyBsZWFybiBtb3JlIGFib3V0IGBtb2R1bGFyLXNjYWxlKClgIHNlZSBbQm91cmJvbiBkb2NzXShodHRwOi8vYm91cmJvbi5pby9kb2NzLyNtb2R1bGFyLXNjYWxlKS4gU2V0IHdpdGggYSBgIWdsb2JhbGAgZmxhZy5cbi8vL1xuLy8vIEB0eXBlIE51bWJlciAoVW5pdClcblxuJGNvbHVtbjogbW9kdWxhci1zY2FsZSgzLCAxZW0sICRnb2xkZW4pICFkZWZhdWx0O1xuXG4vLy8gU2V0cyB0aGUgcmVsYXRpdmUgd2lkdGggb2YgYSBzaW5nbGUgZ3JpZCBndXR0ZXIuIFRoZSB1bml0IHVzZWQgc2hvdWxkIGJlIHRoZSBzYW1lIG9uZSB1c2VkIHRvIGRlZmluZSBgJGNvbHVtbmAuIFRvIGxlYXJuIG1vcmUgYWJvdXQgYG1vZHVsYXItc2NhbGUoKWAgc2VlIFtCb3VyYm9uIGRvY3NdKGh0dHA6Ly9ib3VyYm9uLmlvL2RvY3MvI21vZHVsYXItc2NhbGUpLiBTZXQgd2l0aCB0aGUgYCFnbG9iYWxgIGZsYWcuXG4vLy9cbi8vLyBAdHlwZSBOdW1iZXIgKFVuaXQpXG5cbiRndXR0ZXI6IG1vZHVsYXItc2NhbGUoMSwgMWVtLCAkZ29sZGVuKSAhZGVmYXVsdDtcblxuLy8vIFNldHMgdGhlIHRvdGFsIG51bWJlciBvZiBjb2x1bW5zIGluIHRoZSBncmlkLiBJdHMgdmFsdWUgY2FuIGJlIG92ZXJyaWRkZW4gaW5zaWRlIGEgbWVkaWEgcXVlcnkgdXNpbmcgdGhlIGBtZWRpYSgpYCBtaXhpbi4gU2V0IHdpdGggdGhlIGAhZ2xvYmFsYCBmbGFnLlxuLy8vXG4vLy8gQHR5cGUgTnVtYmVyIChVbml0bGVzcylcblxuJGdyaWQtY29sdW1uczogMTIgIWRlZmF1bHQ7XG5cbi8vLyBTZXRzIHRoZSBtYXgtd2lkdGggcHJvcGVydHkgb2YgdGhlIGVsZW1lbnQgdGhhdCBpbmNsdWRlcyBgb3V0ZXItY29udGFpbmVyKClgLiBTZXQgd2l0aCB0aGUgYCFnbG9iYWxgIGZsYWcuXG4vLy9cbi8vLyBAdHlwZSBOdW1iZXIgKFVuaXQpXG4vLy9cbiRtYXgtd2lkdGg6IDEyMDBweCAhZGVmYXVsdDtcblxuLy8vIFdoZW4gc2V0IHRvIHRydWUsIGl0IHNldHMgdGhlIGJveC1zaXppbmcgcHJvcGVydHkgb2YgYWxsIGVsZW1lbnRzIHRvIGBib3JkZXItYm94YC4gU2V0IHdpdGggYSBgIWdsb2JhbGAgZmxhZy5cbi8vL1xuLy8vIEB0eXBlIEJvb2xcbi8vL1xuLy8vIEBleGFtcGxlIGNzcyAtIENTUyBPdXRwdXRcbi8vLyAgIGh0bWwge1xuLy8vICAgICBib3gtc2l6aW5nOiBib3JkZXItYm94OyB9XG4vLy9cbi8vLyAgICosICo6OmFmdGVyLCAqOjpiZWZvcmUge1xuLy8vICAgICBib3gtc2l6aW5nOiBpbmhlcml0O1xuLy8vICAgfVxuXG4kYm9yZGVyLWJveC1zaXppbmc6IHRydWUgIWRlZmF1bHQ7XG5cbi8vLyBTZXRzIHRoZSBkZWZhdWx0IFttZWRpYSBmZWF0dXJlXShodHRwOi8vd3d3LnczLm9yZy9UUi9jc3MzLW1lZGlhcXVlcmllcy8jbWVkaWEpIHRoYXQgYG1lZGlhKClgIGFuZCBgbmV3LWJyZWFrcG9pbnQoKWAgcmV2ZXJ0IHRvIHdoZW4gb25seSBhIGJyZWFrcG9pbnQgdmFsdWUgaXMgcGFzc2VkLiBTZXQgd2l0aCBhIGAhZ2xvYmFsYCBmbGFnLlxuLy8vXG4vLy8gQHR5cGUgU3RyaW5nXG5cbiRkZWZhdWx0LWZlYXR1cmU6IG1pbi13aWR0aDsgLy8gRGVmYXVsdCBAbWVkaWEgZmVhdHVyZSBmb3IgdGhlIGJyZWFrcG9pbnQoKSBtaXhpblxuXG4vLy9TZXRzIHRoZSBkZWZhdWx0IGxheW91dCBkaXJlY3Rpb24gb2YgdGhlIGdyaWQuIENhbiBiZSBgTFRSYCBvciBgUlRMYC4gU2V0IHdpdGggYSBgIWdsb2JhbGAgZmxhZy5cbi8vL1xuLy8vQHR5cGUgU3RyaW5nXG5cbiRkZWZhdWx0LWxheW91dC1kaXJlY3Rpb246IExUUiAhZGVmYXVsdDtcbiIsIkBjaGFyc2V0IFwiVVRGLThcIjtcblxuLy8vIFNwZWNpZmllcyB0aGUgbnVtYmVyIG9mIGNvbHVtbnMgYW4gZWxlbWVudCBzaG91bGQgc3Bhbi4gSWYgdGhlIHNlbGVjdG9yIGlzIG5lc3RlZCB0aGUgbnVtYmVyIG9mIGNvbHVtbnMgb2YgaXRzIHBhcmVudCBlbGVtZW50IHNob3VsZCBiZSBwYXNzZWQgYXMgYW4gYXJndW1lbnQgYXMgd2VsbC5cbi8vL1xuLy8vIEBwYXJhbSB7TGlzdH0gJHNwYW5cbi8vLyAgIEEgbGlzdCBjb250YWluaW5nIGAkY29sdW1uc2AsIHRoZSB1bml0bGVzcyBudW1iZXIgb2YgY29sdW1ucyB0aGUgZWxlbWVudCBzcGFucyAocmVxdWlyZWQpLCBhbmQgYCRjb250YWluZXItY29sdW1uc2AsIHRoZSBudW1iZXIgb2YgY29sdW1ucyB0aGUgcGFyZW50IGVsZW1lbnQgc3BhbnMgKG9wdGlvbmFsKS5cbi8vL1xuLy8vICAgSWYgb25seSBvbmUgdmFsdWUgaXMgcGFzc2VkLCBpdCBpcyBhc3N1bWVkIHRoYXQgaXQncyBgJGNvbHVtbnNgIGFuZCB0aGF0IHRoYXQgYCRjb250YWluZXItY29sdW1uc2AgaXMgZXF1YWwgdG8gYCRncmlkLWNvbHVtbnNgLCB0aGUgdG90YWwgbnVtYmVyIG9mIGNvbHVtbnMgaW4gdGhlIGdyaWQuXG4vLy9cbi8vLyAgIFRoZSB2YWx1ZXMgY2FuIGJlIHNlcGFyYXRlZCB3aXRoIGFueSBzdHJpbmcgc3VjaCBhcyBgb2ZgLCBgL2AsIGV0Yy5cbi8vL1xuLy8vICAgYCRjb2x1bW5zYCBhbHNvIGFjY2VwdHMgZGVjaW1hbHMgZm9yIHdoZW4gaXQncyBuZWNlc3NhcnkgdG8gYnJlYWsgb3V0IG9mIHRoZSBzdGFuZGFyZCBncmlkLiBFLmcuIFBhc3NpbmcgYDIuNGAgaW4gYSBzdGFuZGFyZCAxMiBjb2x1bW4gZ3JpZCB3aWxsIGRpdmlkZSB0aGUgcm93IGludG8gNSBjb2x1bW5zLlxuLy8vXG4vLy8gQHBhcmFtIHtTdHJpbmd9ICRkaXNwbGF5IFtibG9ja11cbi8vLyAgIFNldHMgdGhlIGRpc3BsYXkgcHJvcGVydHkgb2YgdGhlIGVsZW1lbnQuIEJ5IGRlZmF1bHQgaXQgc2V0cyB0aGUgZGlzcGxheSBwcm9wZXJ0eSBvZiB0aGUgZWxlbWVudCB0byBgYmxvY2tgLlxuLy8vXG4vLy8gICBJZiBwYXNzZWQgYGJsb2NrLWNvbGxhcHNlYCwgaXQgYWxzbyByZW1vdmVzIHRoZSBtYXJnaW4gZ3V0dGVyIGJ5IGFkZGluZyBpdCB0byB0aGUgZWxlbWVudCB3aWR0aC5cbi8vL1xuLy8vICAgSWYgcGFzc2VkIGB0YWJsZWAsIGl0IHNldHMgdGhlIGRpc3BsYXkgcHJvcGVydHkgdG8gYHRhYmxlLWNlbGxgIGFuZCBjYWxjdWxhdGVzIHRoZSB3aWR0aCBvZiB0aGUgZWxlbWVudCB3aXRob3V0IHRha2luZyBndXR0ZXJzIGludG8gY29uc2lkZXJhdGlvbi4gVGhlIHJlc3VsdCBkb2VzIG5vdCBhbGlnbiB3aXRoIHRoZSBibG9jay1iYXNlZCBncmlkLlxuLy8vXG4vLy8gQGV4YW1wbGUgc2NzcyAtIFVzYWdlXG4vLy8gICAuZWxlbWVudCB7XG4vLy8gICAgIEBpbmNsdWRlIHNwYW4tY29sdW1ucyg2KTtcbi8vL1xuLy8vICAgIC5uZXN0ZWQtZWxlbWVudCB7XG4vLy8gICAgICBAaW5jbHVkZSBzcGFuLWNvbHVtbnMoMiBvZiA2KTtcbi8vLyAgICB9XG4vLy8gIH1cbi8vL1xuLy8vIEBleGFtcGxlIGNzcyAtIENTUyBPdXRwdXRcbi8vLyAgIC5lbGVtZW50IHtcbi8vLyAgICAgZGlzcGxheTogYmxvY2s7XG4vLy8gICAgIGZsb2F0OiBsZWZ0O1xuLy8vICAgICBtYXJnaW4tcmlnaHQ6IDIuMzU3NjUlO1xuLy8vICAgICB3aWR0aDogNDguODIxMTclO1xuLy8vICAgfVxuLy8vXG4vLy8gICAuZWxlbWVudDpsYXN0LWNoaWxkIHtcbi8vLyAgICAgbWFyZ2luLXJpZ2h0OiAwO1xuLy8vICAgfVxuLy8vXG4vLy8gICAuZWxlbWVudCAubmVzdGVkLWVsZW1lbnQge1xuLy8vICAgICBkaXNwbGF5OiBibG9jaztcbi8vLyAgICAgZmxvYXQ6IGxlZnQ7XG4vLy8gICAgIG1hcmdpbi1yaWdodDogNC44MjkxNiU7XG4vLy8gICAgIHdpZHRoOiAzMC4xMTM4OSU7XG4vLy8gICB9XG4vLy9cbi8vLyAgIC5lbGVtZW50IC5uZXN0ZWQtZWxlbWVudDpsYXN0LWNoaWxkIHtcbi8vLyAgICAgbWFyZ2luLXJpZ2h0OiAwO1xuLy8vICAgfVxuXG5AbWl4aW4gc3Bhbi1jb2x1bW5zKCRzcGFuOiAkY29sdW1ucyBvZiAkY29udGFpbmVyLWNvbHVtbnMsICRkaXNwbGF5OiBibG9jaykge1xuICAkY29sdW1uczogbnRoKCRzcGFuLCAxKTtcbiAgJGNvbnRhaW5lci1jb2x1bW5zOiBjb250YWluZXItc3Bhbigkc3Bhbik7XG5cbiAgJHBhcmVudC1jb2x1bW5zOiBnZXQtcGFyZW50LWNvbHVtbnMoJGNvbnRhaW5lci1jb2x1bW5zKSAhZ2xvYmFsO1xuXG4gICRkaXJlY3Rpb246IGdldC1kaXJlY3Rpb24oJGxheW91dC1kaXJlY3Rpb24sICRkZWZhdWx0LWxheW91dC1kaXJlY3Rpb24pO1xuICAkb3Bwb3NpdGUtZGlyZWN0aW9uOiBnZXQtb3Bwb3NpdGUtZGlyZWN0aW9uKCRkaXJlY3Rpb24pO1xuXG4gICRkaXNwbGF5LXRhYmxlOiBpcy1kaXNwbGF5LXRhYmxlKCRjb250YWluZXItZGlzcGxheS10YWJsZSwgJGRpc3BsYXkpO1xuXG4gIEBpZiAkZGlzcGxheS10YWJsZSAge1xuICAgIGRpc3BsYXk6IHRhYmxlLWNlbGw7XG4gICAgd2lkdGg6IHBlcmNlbnRhZ2UoJGNvbHVtbnMgLyAkY29udGFpbmVyLWNvbHVtbnMpO1xuICB9IEBlbHNlIHtcbiAgICBmbG9hdDogI3skb3Bwb3NpdGUtZGlyZWN0aW9ufTtcblxuICAgIEBpZiAkZGlzcGxheSAhPSBuby1kaXNwbGF5IHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIH1cblxuICAgIEBpZiAkZGlzcGxheSA9PSBjb2xsYXBzZSB7XG4gICAgICBAaW5jbHVkZSAtbmVhdC13YXJuKFwiVGhlICdjb2xsYXBzZScgYXJndW1lbnQgd2lsbCBiZSBkZXByZWNhdGVkLiBVc2UgJ2Jsb2NrLWNvbGxhcHNlJyBpbnN0ZWFkLlwiKTtcbiAgICB9XG5cbiAgICBAaWYgJGRpc3BsYXkgPT0gY29sbGFwc2Ugb3IgJGRpc3BsYXkgPT0gYmxvY2stY29sbGFwc2Uge1xuICAgICAgd2lkdGg6IGZsZXgtZ3JpZCgkY29sdW1ucywgJGNvbnRhaW5lci1jb2x1bW5zKSArIGZsZXgtZ3V0dGVyKCRjb250YWluZXItY29sdW1ucyk7XG5cbiAgICAgICY6bGFzdC1jaGlsZCB7XG4gICAgICAgIHdpZHRoOiBmbGV4LWdyaWQoJGNvbHVtbnMsICRjb250YWluZXItY29sdW1ucyk7XG4gICAgICB9XG5cbiAgICB9IEBlbHNlIHtcbiAgICAgIG1hcmdpbi0jeyRkaXJlY3Rpb259OiBmbGV4LWd1dHRlcigkY29udGFpbmVyLWNvbHVtbnMpO1xuICAgICAgd2lkdGg6IGZsZXgtZ3JpZCgkY29sdW1ucywgJGNvbnRhaW5lci1jb2x1bW5zKTtcblxuICAgICAgJjpsYXN0LWNoaWxkIHtcbiAgICAgICAgbWFyZ2luLSN7JGRpcmVjdGlvbn06IDA7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4iLCJoMSxcbmgyLFxuaDMsXG5oNCxcbmg1LFxuaDYsXG4uaDEsXG4uaDIsXG4uaDMsXG4uaDQsXG4uaDUsXG4uaDYge1xuXHRtYXJnaW46IDEwcHggMDtcblx0Zm9udC1mYW1pbHk6ICRmb250LWZhbWlseS1oZWFkaW5ncztcblx0Zm9udC13ZWlnaHQ6IDMwMDtcbn1cblxuaDEsXG4uaDEge1xuXHRmb250LXNpemU6ICRmb250LXNpemUtNTAwO1xuXHRsaW5lLWhlaWdodDogJGxpbmUtaGVpZ2h0LTUwMDtcblxuXHRAaW5jbHVkZSBtZWRpYSgwLCAkcmFuZ2UtaGFuZCkge1xuXHRcdGZvbnQtc2l6ZTogJGZvbnQtc2l6ZS00MDA7XG5cdFx0bGluZS1oZWlnaHQ6ICRsaW5lLWhlaWdodC0yMDA7XG5cdH1cbn1cblxuaDIsXG4uaDIge1xuXHRmb250LXNpemU6ICRmb250LXNpemUtNDAwO1xuXHRsaW5lLWhlaWdodDogJGxpbmUtaGVpZ2h0LTQwMDtcblxuXHRAaW5jbHVkZSBtZWRpYSgwLCAkcmFuZ2UtaGFuZCkge1xuXHRcdGZvbnQtc2l6ZTogJGZvbnQtc2l6ZS0zMDA7XG5cdFx0bGluZS1oZWlnaHQ6ICRsaW5lLWhlaWdodC05MDtcblx0fVxufVxuXG5oMyxcbi5oMyB7XG5cdGZvbnQtc2l6ZTogJGZvbnQtc2l6ZS0zMDA7XG5cdGxpbmUtaGVpZ2h0OiAkbGluZS1oZWlnaHQtMzAwO1xufVxuXG5oNCxcbi5oNCB7XG5cdGZvbnQtc2l6ZTogJGZvbnQtc2l6ZS0yMDA7XG5cdGxpbmUtaGVpZ2h0OiAkbGluZS1oZWlnaHQtMjAwO1xufVxuXG5oNSxcbi5oNSB7XG5cdGZvbnQtc2l6ZTogJGZvbnQtc2l6ZS0xMDA7XG5cdGxpbmUtaGVpZ2h0OiAkbGluZS1oZWlnaHQtMTAwO1xufVxuXG5oNixcbi5oNiB7XG5cdGZvbnQtc2l6ZTogJGZvbnQtc2l6ZS05MDtcblx0bGluZS1oZWlnaHQ6ICRsaW5lLWhlaWdodC05MDtcbn1cblxuLmNvbnRlbnQgaDEsXG4uaDEge1xuXHRtYXJnaW46IDA7XG5cdGZvbnQtd2VpZ2h0OiBub3JtYWw7XG5cdGxpbmUtaGVpZ2h0OiAkbGluZS1oZWlnaHQtNTA7XG5cblx0QGluY2x1ZGUgbWVkaWEoMCwgJHJhbmdlLXBhbG0pIHtcblx0XHRmb250LXNpemU6ICRmb250LXNpemUtMzAwO1xuXHR9XG5cdEBpbmNsdWRlIG1lZGlhKCRyYW5nZS1oYW5kKSB7XG5cdFx0Zm9udC1zaXplOiAkZm9udC1zaXplLTQwMDtcblx0fVxuXHRAaW5jbHVkZSBtZWRpYSgkcmFuZ2UtbGFwLCBmYWxzZSkge1xuXHRcdGZvbnQtc2l6ZTogJGZvbnQtc2l6ZS01MDA7XG5cdH1cbn1cblxuLmNvbnRlbnQgaDIsXG4uaDIge1xuXHRtYXJnaW46IDA7XG5cdGZvbnQtd2VpZ2h0OiBub3JtYWw7XG5cdGxpbmUtaGVpZ2h0OiAkbGluZS1oZWlnaHQtNTA7XG5cblx0QGluY2x1ZGUgbWVkaWEoMCwgJHJhbmdlLXBhbG0pIHtcblx0XHRmb250LXNpemU6ICRmb250LXNpemUtMjAwO1xuXHR9XG5cdEBpbmNsdWRlIG1lZGlhKCRyYW5nZS1oYW5kKSB7XG5cdFx0Zm9udC1zaXplOiAkZm9udC1zaXplLTMwMDtcblx0fVxuXHRAaW5jbHVkZSBtZWRpYSgkcmFuZ2UtbGFwLCBmYWxzZSkge1xuXHRcdGZvbnQtc2l6ZTogJGZvbnQtc2l6ZS00MDA7XG5cdH1cbn1cblxuLmNvbnRlbnQgaDMsXG4uaDMge1xuXHRtYXJnaW46IDA7XG5cdGZvbnQtd2VpZ2h0OiBub3JtYWw7XG5cdGxpbmUtaGVpZ2h0OiAkbGluZS1oZWlnaHQtNTA7XG5cblx0QGluY2x1ZGUgbWVkaWEoMCwgJHJhbmdlLXBhbG0pIHtcblx0XHRmb250LXNpemU6ICRmb250LXNpemUtMTAwO1xuXHR9XG5cdEBpbmNsdWRlIG1lZGlhKCRyYW5nZS1oYW5kKSB7XG5cdFx0Zm9udC1zaXplOiAkZm9udC1zaXplLTIwMDtcblx0fVxuXHRAaW5jbHVkZSBtZWRpYSgkcmFuZ2UtbGFwLCBmYWxzZSkge1xuXHRcdGZvbnQtc2l6ZTogJGZvbnQtc2l6ZS0zMDA7XG5cdH1cbn1cblxuLmNvbnRlbnQgaDQsXG4uaDQge1xuXHRmb250LXNpemU6ICRmb250LXNpemUtMTAwO1xuXHRsaW5lLWhlaWdodDogJGxpbmUtaGVpZ2h0LTMwMDtcbn1cblxuLmNvbnRlbnQgaDUsXG4uaDUge1xuXHRmb250LXNpemU6ICRmb250LXNpemUtOTA7XG5cdGxpbmUtaGVpZ2h0OiAkbGluZS1oZWlnaHQtNDAwO1xufVxuXG4uY29udGVudCBoNixcbi5oNiB7XG5cdGZvbnQtc2l6ZTogJGZvbnQtc2l6ZS04MDtcblx0bGluZS1oZWlnaHQ6ICRsaW5lLWhlaWdodC01MDA7XG59XG4iLCIuY29udGVudCBhOm5vdCguYnV0dG9uKSxcbi5saW5rIHtcblx0ZGlzcGxheTogaW5saW5lO1xuXHRwYWRkaW5nOiAwO1xuXHRib3JkZXItdG9wOiBub25lO1xuXHRib3JkZXItcmlnaHQ6IG5vbmU7XG5cdGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAkY29sb3ItdGV4dC00MDtcblx0Ym9yZGVyLWxlZnQ6IG5vbmU7XG5cdGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuXHRjb2xvcjogJGNvbG9yLXRleHQ7XG5cdHRleHQtYWxpZ246IGxlZnQ7XG5cdGN1cnNvcjogcG9pbnRlcjtcblx0Jjpob3ZlciB7XG5cdFx0Ym9yZGVyLWJvdHRvbS1jb2xvcjogJGNvbG9yLXRleHQ7XG5cdH1cbn1cblxuLmNvbnRlbnQtLWRpYXAgYTpub3QoLmJ1dHRvbiksXG4ubGluay0tZGlhcCB7XG5cdGJvcmRlci1ib3R0b206IDFweCBzb2xpZCByZ2JhKCRjb2xvci10ZXh0LWRpYXAsIDAuNTApO1xuXHRjb2xvcjogJGNvbG9yLXRleHQtZGlhcDtcblx0Jjpob3ZlciB7XG5cdFx0Ym9yZGVyLWJvdHRvbS1jb2xvcjogJGNvbG9yLXRleHQtZGlhcDtcblx0fVxufVxuXG5cbi5saW5rLWxpc3Qge1xuICAgIGJvcmRlci13aWR0aDogMDtcbiAgICBib3JkZXItc3R5bGU6IHNvbGlkO1xuICAgIGJvcmRlci1jb2xvcjogcmdiYSgxMDIsIDEwMiwgMTAyLCAwLjE1KTtcbiAgICBtYXJnaW46IDA7XG4gICAgYm9yZGVyLWJvdHRvbS13aWR0aDogMXB4O1xufVxuIiwiLmNvbnRlbnQgb2wsXG4ub2wsXG4uY29udGVudCB1bCxcbi51bCB7XG5cdEBpbmNsdWRlIG1hcmdpbigkbGluZS1oZWlnaHQtMTAwIG51bGwpO1xuXHRwYWRkaW5nLWxlZnQ6ICRsaW5lLWhlaWdodC0xMDA7XG5cdG1heC13aWR0aDogNDBlbTtcblx0bGluZS1oZWlnaHQ6ICRsaW5lLWhlaWdodC0xMDA7XG5cblx0QGluY2x1ZGUgbWVkaWEoMCwgJHJhbmdlLWhhbmQpIHtcblx0XHRmb250LXNpemU6ICRmb250LXNpemUtMTAwO1xuXHR9XG5cblx0QGluY2x1ZGUgbWVkaWEoJHJhbmdlLWxhcCwgZmFsc2UpIHtcblx0XHRmb250LXNpemU6ICRmb250LXNpemUtMjAwO1xuXHR9XG59XG5cbi5jb250ZW50LS05MCBvbCxcbi5vbC0tOTAsXG4uY29udGVudC0tOTAgdWwsXG4udWwtLTkwIHtcblx0bGluZS1oZWlnaHQ6ICRsaW5lLWhlaWdodC05MDtcblxuXHRAaW5jbHVkZSBtZWRpYSgwLCAkcmFuZ2UtaGFuZCkge1xuXHRcdGZvbnQtc2l6ZTogJGZvbnQtc2l6ZS05MDtcblx0fVxuXG5cdEBpbmNsdWRlIG1lZGlhKCRyYW5nZS1sYXAsIGZhbHNlKSB7XG5cdFx0Zm9udC1zaXplOiAkZm9udC1zaXplLTEwMDtcblx0fVxufVxuXG4uY29udGVudC0tY29tcGFjdCBvbCxcbi5vbC0tY29tcGFjdCxcbi5jb250ZW50LS1jb21wYWN0IHVsLFxuLnVsLS1jb21wYWN0IHtcblx0bWFyZ2luLXRvcDogKCRsaW5lLWhlaWdodC0xMDAvMik7XG5cdG1hcmdpbi1ib3R0b206ICgkbGluZS1oZWlnaHQtMTAwLzIpO1xufVxuXG4ubGlua19fbGlzdCB7XG5cdG1hcmdpbjogMDtcblx0cGFkZGluZzogMDtcblx0bGlzdC1zdHlsZTpub25lO1xuXG5cdEBpbmNsdWRlIG1lZGlhKDAsICRyYW5nZS1oYW5kKSB7XG5cdFx0cGFkZGluZy1ib3R0b206IDMwcHg7XG5cdH1cbn1cblxuLmxpbmtfX2xpc3QtaXRlbSB7XG5cdGJvcmRlci13aWR0aDogMDtcblx0Ym9yZGVyLXN0eWxlOiBzb2xpZDtcblx0Ym9yZGVyLWNvbG9yOiByZ2JhKDEwMiwgMTAyLCAxMDIsIDAuMTUpO1xuXHRtYXJnaW46IDA7XG5cdHBhZGRpbmc6IC42MjVlbTtcblx0Ym9yZGVyLXRvcC13aWR0aDogMXB4O1xuXHRmb250LXdlaWdodDogNTAwO1xuXHRwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgY29sb3I6ICM2YTZhNmE7XG4gICAgcGFkZGluZy1yaWdodDogNjBweDtcblxuXHRzcGFuIHtcblx0XHRmb250LXNpemU6IDEwcHg7XG5cdFx0Ym9yZGVyLXJhZGl1czogMjJweDtcblx0XHRjb2xvcjogJGNvbG9yLXB1cnBsZTtcblx0XHRmb250LXdlaWdodDogIDYwMDtcblx0XHR0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcblx0XHRwb3NpdGlvbjogYWJzb2x1dGU7XG5cdFx0cmlnaHQ6IDA7XG5cdFx0dG9wOiAxMHB4O1xuXHR9XG5cdCYuaXMtcGFzdCB7XG5cdFx0ZGlzcGxheTogbm9uZTtcblx0fVxuXG5cdEBpbmNsdWRlIG1lZGlhKDAsICRyYW5nZS1oYW5kKSB7XG5cdFx0Zm9udC1zaXplOiAkZm9udC1zaXplLTkwO1xuXHRcdGxpbmUtaGVpZ2h0OiAkbGluZS1oZWlnaHQtOTA7XG5cdH1cblxuXHRAaW5jbHVkZSBtZWRpYSgkcmFuZ2UtbGFwKSB7XG5cdFx0Zm9udC1zaXplOiAkZm9udC1zaXplLTkwO1xuXHRcdGxpbmUtaGVpZ2h0OiAkbGluZS1oZWlnaHQtMTAwO1xuXHR9XG5cblx0QGluY2x1ZGUgbWVkaWEoJHJhbmdlLWRlc2ssIGZhbHNlKSB7XG5cdFx0Zm9udC1zaXplOiAkZm9udC1zaXplLTkwO1xuXHRcdGxpbmUtaGVpZ2h0OiAkbGluZS1oZWlnaHQtMjAwO1xuXHR9XG5cblxufVxuIiwiQGNoYXJzZXQgXCJVVEYtOFwiO1xuXG4vLy8gRGlyZWN0aW9uYWwtcHJvcGVydHkgbWl4aW5zIGFyZSBzaG9ydGhhbmRzIGZvciB3cml0aW5nIHByb3BlcnRpZXMgbGlrZSB0aGUgZm9sbG93aW5nXG4vLy9cbi8vLyBAaWdub3JlIFlvdSBjYW4gYWxzbyB1c2UgYGZhbHNlYCBpbnN0ZWFkIG9mIGBudWxsYC5cbi8vL1xuLy8vIEBwYXJhbSB7TGlzdH0gJHZhbHNcbi8vLyAgIExpc3Qgb2YgZGlyZWN0aW9uYWwgdmFsdWVzXG4vLy9cbi8vLyBAZXhhbXBsZSBzY3NzIC0gVXNhZ2Vcbi8vLyAgIC5lbGVtZW50IHtcbi8vLyAgICAgQGluY2x1ZGUgYm9yZGVyLXN0eWxlKGRvdHRlZCBudWxsKTtcbi8vLyAgICAgQGluY2x1ZGUgbWFyZ2luKG51bGwgMCAxMHB4KTtcbi8vLyAgIH1cbi8vL1xuLy8vIEBleGFtcGxlIGNzcyAtIENTUyBPdXRwdXRcbi8vLyAgIC5lbGVtZW50IHtcbi8vLyAgICAgYm9yZGVyLWJvdHRvbS1zdHlsZTogZG90dGVkO1xuLy8vICAgICBib3JkZXItdG9wLXN0eWxlOiBkb3R0ZWQ7XG4vLy8gICAgIG1hcmdpbi1ib3R0b206IDEwcHg7XG4vLy8gICAgIG1hcmdpbi1sZWZ0OiAwO1xuLy8vICAgICBtYXJnaW4tcmlnaHQ6IDA7XG4vLy8gICB9XG4vLy9cbi8vLyBAcmVxdWlyZSB7ZnVuY3Rpb259IGNvbnRhaW5zLWZhbHN5XG4vLy9cbi8vLyBAcmV0dXJuIHtMaXN0fVxuXG5AZnVuY3Rpb24gY29sbGFwc2UtZGlyZWN0aW9uYWxzKCR2YWxzKSB7XG4gICRvdXRwdXQ6IG51bGw7XG5cbiAgJGE6IG50aCgkdmFscywgMSk7XG4gICRiOiBpZihsZW5ndGgoJHZhbHMpIDwgMiwgJGEsIG50aCgkdmFscywgMikpO1xuICAkYzogaWYobGVuZ3RoKCR2YWxzKSA8IDMsICRhLCBudGgoJHZhbHMsIDMpKTtcbiAgJGQ6IGlmKGxlbmd0aCgkdmFscykgPCAyLCAkYSwgbnRoKCR2YWxzLCBpZihsZW5ndGgoJHZhbHMpIDwgNCwgMiwgNCkpKTtcblxuICBAaWYgJGEgPT0gMCB7ICRhOiAwOyB9XG4gIEBpZiAkYiA9PSAwIHsgJGI6IDA7IH1cbiAgQGlmICRjID09IDAgeyAkYzogMDsgfVxuICBAaWYgJGQgPT0gMCB7ICRkOiAwOyB9XG5cbiAgQGlmICRhID09ICRiIGFuZCAkYSA9PSAkYyBhbmQgJGEgPT0gJGQgeyAkb3V0cHV0OiAkYTsgICAgICAgICAgfVxuICBAZWxzZSBpZiAkYSA9PSAkYyBhbmQgJGIgPT0gJGQgICAgICAgICB7ICRvdXRwdXQ6ICRhICRiOyAgICAgICB9XG4gIEBlbHNlIGlmICRiID09ICRkICAgICAgICAgICAgICAgICAgICAgIHsgJG91dHB1dDogJGEgJGIgJGM7ICAgIH1cbiAgQGVsc2UgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgeyAkb3V0cHV0OiAkYSAkYiAkYyAkZDsgfVxuXG4gIEByZXR1cm4gJG91dHB1dDtcbn1cblxuLy8vIE91dHB1dCBkaXJlY3Rpb25hbCBwcm9wZXJ0aWVzLCBmb3IgaW5zdGFuY2UgYG1hcmdpbmAuXG4vLy9cbi8vLyBAYWNjZXNzIHByaXZhdGVcbi8vL1xuLy8vIEBwYXJhbSB7U3RyaW5nfSAkcHJlXG4vLy8gICBQcmVmaXggdG8gdXNlXG4vLy8gQHBhcmFtIHtTdHJpbmd9ICRzdWZcbi8vLyAgIFN1ZmZpeCB0byB1c2Vcbi8vLyBAcGFyYW0ge0xpc3R9ICR2YWxzXG4vLy8gICBMaXN0IG9mIHZhbHVlc1xuLy8vXG4vLy8gQHJlcXVpcmUge2Z1bmN0aW9ufSBjb2xsYXBzZS1kaXJlY3Rpb25hbHNcbi8vLyBAcmVxdWlyZSB7ZnVuY3Rpb259IGNvbnRhaW5zLWZhbHN5XG5cbkBtaXhpbiBkaXJlY3Rpb25hbC1wcm9wZXJ0eSgkcHJlLCAkc3VmLCAkdmFscykge1xuICAvLyBQcm9wZXJ0eSBOYW1lc1xuICAkdG9wOiAgICAkcHJlICsgXCItdG9wXCIgICAgKyBpZigkc3VmLCBcIi0jeyRzdWZ9XCIsIFwiXCIpO1xuICAkYm90dG9tOiAkcHJlICsgXCItYm90dG9tXCIgKyBpZigkc3VmLCBcIi0jeyRzdWZ9XCIsIFwiXCIpO1xuICAkbGVmdDogICAkcHJlICsgXCItbGVmdFwiICAgKyBpZigkc3VmLCBcIi0jeyRzdWZ9XCIsIFwiXCIpO1xuICAkcmlnaHQ6ICAkcHJlICsgXCItcmlnaHRcIiAgKyBpZigkc3VmLCBcIi0jeyRzdWZ9XCIsIFwiXCIpO1xuICAkYWxsOiAgICAkcHJlICsgICAgICAgICAgICAgaWYoJHN1ZiwgXCItI3skc3VmfVwiLCBcIlwiKTtcblxuICAkdmFsczogY29sbGFwc2UtZGlyZWN0aW9uYWxzKCR2YWxzKTtcblxuICBAaWYgY29udGFpbnMtZmFsc3koJHZhbHMpIHtcbiAgICBAaWYgbnRoKCR2YWxzLCAxKSB7ICN7JHRvcH06IG50aCgkdmFscywgMSk7IH1cblxuICAgIEBpZiBsZW5ndGgoJHZhbHMpID09IDEge1xuICAgICAgQGlmIG50aCgkdmFscywgMSkgeyAjeyRyaWdodH06IG50aCgkdmFscywgMSk7IH1cbiAgICB9IEBlbHNlIHtcbiAgICAgIEBpZiBudGgoJHZhbHMsIDIpIHsgI3skcmlnaHR9OiBudGgoJHZhbHMsIDIpOyB9XG4gICAgfVxuXG4gICAgQGlmIGxlbmd0aCgkdmFscykgPT0gMiB7XG4gICAgICBAaWYgbnRoKCR2YWxzLCAxKSB7ICN7JGJvdHRvbX06IG50aCgkdmFscywgMSk7IH1cbiAgICAgIEBpZiBudGgoJHZhbHMsIDIpIHsgI3skbGVmdH06ICAgbnRoKCR2YWxzLCAyKTsgfVxuICAgIH0gQGVsc2UgaWYgbGVuZ3RoKCR2YWxzKSA9PSAzIHtcbiAgICAgIEBpZiBudGgoJHZhbHMsIDMpIHsgI3skYm90dG9tfTogbnRoKCR2YWxzLCAzKTsgfVxuICAgICAgQGlmIG50aCgkdmFscywgMikgeyAjeyRsZWZ0fTogICBudGgoJHZhbHMsIDIpOyB9XG4gICAgfSBAZWxzZSBpZiBsZW5ndGgoJHZhbHMpID09IDQge1xuICAgICAgQGlmIG50aCgkdmFscywgMykgeyAjeyRib3R0b219OiBudGgoJHZhbHMsIDMpOyB9XG4gICAgICBAaWYgbnRoKCR2YWxzLCA0KSB7ICN7JGxlZnR9OiAgIG50aCgkdmFscywgNCk7IH1cbiAgICB9XG4gIH0gQGVsc2Uge1xuICAgICN7JGFsbH06ICR2YWxzO1xuICB9XG59XG4iLCIuY29udGVudCBwLFxuLnAge1xuXHRtYXJnaW4tdG9wOiAkbGluZS1oZWlnaHQtMTAwO1xuXHRtYXJnaW4tYm90dG9tOiAkbGluZS1oZWlnaHQtMTAwO1xuXHRtYXgtd2lkdGg6IDQwZW07XG5cdGxpbmUtaGVpZ2h0OiAkbGluZS1oZWlnaHQtMTAwO1xuXG5cdEBpbmNsdWRlIG1lZGlhKDAsICRyYW5nZS1oYW5kKSB7XG5cdFx0Zm9udC1zaXplOiAkZm9udC1zaXplLTEwMDtcblx0fVxuXHRAaW5jbHVkZSBtZWRpYSgkcmFuZ2UtbGFwLCBmYWxzZSkge1xuXHRcdGZvbnQtc2l6ZTogJGZvbnQtc2l6ZS0yMDA7XG5cdH1cbn1cblxuLmNvbnRlbnQtLTkwIHAsXG4ucC0tOTAge1xuXHRsaW5lLWhlaWdodDogJGxpbmUtaGVpZ2h0LTkwO1xuXG5cdEBpbmNsdWRlIG1lZGlhKDAsICRyYW5nZS1oYW5kKSB7XG5cdFx0Zm9udC1zaXplOiAkZm9udC1zaXplLTkwO1xuXHR9XG5cdEBpbmNsdWRlIG1lZGlhKCRyYW5nZS1sYXAsIGZhbHNlKSB7XG5cdFx0Zm9udC1zaXplOiAkZm9udC1zaXplLTEwMDtcblx0fVxufVxuXG4uY29udGVudC0tY29tcGFjdCBwLFxuLnAtLWNvbXBhY3Qge1xuXHRtYXJnaW4tdG9wOiAoJGxpbmUtaGVpZ2h0LTEwMC8yKTtcblx0bWFyZ2luLWJvdHRvbTogKCRsaW5lLWhlaWdodC0xMDAvMik7XG59XG4iLCJAbWl4aW4gYnV0dG9uKCRjb2xvcjogJGNvbG9yLXNlY29uZGFyeSwgJGJhY2tncm91bmQ6ICRjb2xvci13aGl0ZSkge1xuXHRAaW5jbHVkZSB0cmFuc2l0aW9uKGFsbCAwLjE1cyBsaW5lYXIpO1xuXHRAaW5jbHVkZSBhcHBlYXJhbmNlKG5vbmUpO1xuXHRkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG5cdHBhZGRpbmc6IDAgMjBweDtcblx0Ym9yZGVyLXJhZGl1czogMTAwcHg7XG5cdGJhY2tncm91bmQtY29sb3I6ICRiYWNrZ3JvdW5kO1xuXHRjb2xvcjogJGNvbG9yO1xuXHRmb250LXdlaWdodDogMzAwO1xuXHRsaW5lLWhlaWdodDogNDBweDtcblx0Y3Vyc29yOiBwb2ludGVyO1xuXHRAY29udGVudDtcblxuXHRAaW5jbHVkZSBtZWRpYSgwLCAkcmFuZ2UtaGFuZCkge1xuXHRcdHBhZGRpbmc6IDAgMTBweDtcblx0XHRmb250LXNpemU6ICRmb250LXNpemUtODA7XG5cdFx0bGluZS1oZWlnaHQ6IDMwcHg7XG5cdH1cbn1cblxuLmJ1dHRvbiB7XG5cdEBpbmNsdWRlIGJ1dHRvbigkY29sb3Itd2hpdGUsICRjb2xvci1zZWNvbmRhcnkpO1xufVxuXG4ub3V0bGluZS1idXR0b24ge1xuXG5cdEBpbmNsdWRlIGJ1dHRvbigkY29sb3Itd2hpdGUsICRjb2xvci13aGl0ZSkge1xuXHRcdGJveC1zaGFkb3c6IGluc2V0IDAgMCAwIDFweCAkY29sb3Itd2hpdGU7XG5cdH1cbn1cblxuLmN0YS1idXR0b24sXG4ucHJpbWFyeS1idXR0b24ge1xuXHRAaW5jbHVkZSBidXR0b24oJGNvbG9yLXdoaXRlLCAkY29sb3ItcHVycGxlKSB7XG5cdFx0Ym9yZGVyOiBub25lO1xuXHR9XG59XG5cbi5jdGEtYnV0dG9uLS13aGl0ZSB7XG5cdEBpbmNsdWRlIGJ1dHRvbigkY29sb3ItcHVycGxlLCAkY29sb3Itd2hpdGUpIHtcblx0XHRib3JkZXI6IG5vbmU7XG5cdH1cbn1cblxuXG5cbi5jdGEtYnV0dG9uLS1vbnRkZWsge1xuXHRAaW5jbHVkZSBidXR0b24oJGNvbG9yLXdoaXRlLCAkY29sb3ItcGluaykge1xuXHRcdGJvcmRlcjogbm9uZTtcblx0XHRiYWNrZ3JvdW5kLWltYWdlOiB1cmwoL2ltYWdlcy9pY29uLW9udGRlay5wbmcpO1xuXHRcdGJhY2tncm91bmQtcG9zaXRpb246IGNhbGMoMTAwJSAtIDRweCkgY2VudGVyO1xuXHRcdGJhY2tncm91bmQtc2l6ZTogMzJweCAzMnB4O1xuXHRcdHBhZGRpbmctcmlnaHQ6IDQ0cHg7XG5cdFx0YmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcblxuXHRcdEBpbmNsdWRlIG1lZGlhKDAsICRyYW5nZS1oYW5kKSB7XG5cdFx0XHRiYWNrZ3JvdW5kLXNpemU6IDI0cHggMjRweDtcblx0XHRcdHBhZGRpbmctcmlnaHQ6IDMwcHggIWltcG9ydGFudDtcblx0XHR9XG5cdH1cbn1cblxuLmN0YS1idXR0b24tLWVydmFhciB7XG5cdEBpbmNsdWRlIGJ1dHRvbigkY29sb3Itd2hpdGUsICRjb2xvci15ZWxsb3cpIHtcblx0XHRib3JkZXI6IG5vbmU7XG5cdFx0YmFja2dyb3VuZC1pbWFnZTogdXJsKC9pbWFnZXMvaWNvbi1lcnZhYXIucG5nKTtcblx0XHRiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjYWxjKDEwMCUgLSA0cHgpIGNlbnRlcjtcblx0XHRiYWNrZ3JvdW5kLXNpemU6IDMycHggMzJweDtcblx0XHRwYWRkaW5nLXJpZ2h0OiA0NHB4O1xuXHRcdGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG5cblx0XHRAaW5jbHVkZSBtZWRpYSgwLCAkcmFuZ2UtaGFuZCkge1xuXHRcdFx0YmFja2dyb3VuZC1zaXplOiAyNHB4IDI0cHg7XG5cdFx0XHRwYWRkaW5nLXJpZ2h0OiAzMHB4ICFpbXBvcnRhbnQ7XG5cdFx0fVxuXHR9XG59XG4iLCIuaGVybyB7XG5cdHBvc2l0aW9uOiByZWxhdGl2ZTtcblx0b3ZlcmZsb3c6IGhpZGRlbjtcblx0bWFyZ2luOiAwIDMwcHg7XG5cblx0QGluY2x1ZGUgbWVkaWEoMCwgJHJhbmdlLWhhbmQpIHtcblx0XHRtYXJnaW46IDAgMTBweDtcblx0XHRoZWlnaHQ6IGNhbGMoNTB2dyAtIDEwcHgpO1xuXHR9XG5cblx0QGluY2x1ZGUgbWVkaWEoJHJhbmdlLWxhcC1zLCAkcmFuZ2UtbGFwLW0pIHtcblx0XHRoZWlnaHQ6IGNhbGMoNTB2dyAtIDMwcHgpO1xuXHR9XG5cblx0QGluY2x1ZGUgbWVkaWEoJHJhbmdlLWxhcC1sKSB7XG5cdFx0aGVpZ2h0OiBjYWxjKDUwdncgLSAzMHB4KTtcblx0fVxuXG5cdEBpbmNsdWRlIG1lZGlhKCRyYW5nZS1kZXNrLXMsIGZhbHNlKSB7XG5cdFx0aGVpZ2h0OiBjYWxjKDQwdncgLSAzMHB4KTtcblx0fVxufVxuXG4uaGVyb19faW5uZXIge1xuXHRAaW5jbHVkZSBpbm5lcjtcblx0QGluY2x1ZGUgb3V0ZXItY29udGFpbmVyO1xuXHRwb3NpdGlvbjogcmVsYXRpdmU7XG5cdHotaW5kZXg6IDEwMDtcblx0Ly8gcGFkZGluZy10b3A6IDEyMHB4O1xuXHRAaW5jbHVkZSBtZWRpYSgwLCAkcmFuZ2UtaGFuZC1zKSB7XG5cdFx0cGFkZGluZy10b3A6IDMwcHg7XG5cdH1cblxuXHRAaW5jbHVkZSBtZWRpYSgkcmFuZ2UtaGFuZC1tLCAkcmFuZ2UtbGFwKSB7XG5cdFx0cGFkZGluZy10b3A6IDYwcHg7XG5cdH1cblxuXHRAaW5jbHVkZSBtZWRpYSgkcmFuZ2UtZGVzay1zKSB7XG5cdFx0cGFkZGluZy10b3A6IDgwcHg7XG5cdH1cblxuXHRAaW5jbHVkZSBtZWRpYSgkcmFuZ2UtZGVzay1tLCBmYWxzZSkge1xuXHRcdHBhZGRpbmctdG9wOiAxMjBweDtcblx0fVxufVxuXG4uaGVyb19fc2hlZXQge1xuXHRwb3NpdGlvbjogYWJzb2x1dGU7XG5cdHRvcDogMDtcblx0Ym90dG9tOiAwO1xuXHRsZWZ0OiAwO1xuXHR3aWR0aDogMTAwJTtcbn1cblxuLmhlcm9fX2ltYWdlIHtcblx0d2lkdGg6IDEwMCU7XG59XG4iLCIuc3Rvcnkge1xuXHQvL1xufVxuXG4uc3RvcnlfX3NlY3Rpb24ge1xuXHQvL1xuXHQmLmlzLXBhc3Qge1xuXHRcdGRpc3BsYXk6IG5vbmU7XG5cdH1cbn1cblxuLnN0b3J5X19zZWN0aW9uLS1hZ2VuZGEtY2FyZHMge1xuXHRiYWNrZ3JvdW5kOiAjZGNkZGU3O1xufVxuXG4uc3RvcnlfX3NlY3Rpb24tLW1vcmUtaW5mbyB7XG5cdHBhZGRpbmc6IDIwcHggMDtcblx0YmFja2dyb3VuZDogbWl4KCRjb2xvci1wdXJwbGUsIGJsYWNrLCA4MCUpO1xuXHRjb2xvcjogJGNvbG9yLXdoaXRlO1xuXG5cdEBpbmNsdWRlIG1lZGlhKDAsICRyYW5nZS1oYW5kKSB7XG5cdFx0cGFkZGluZzogMzBweCAwO1xuXHR9XG59XG5cbi5zdG9yeV9fc2VjdGlvbi0tYWdlbmRhLXNlY29uZGVyeSB7XG5cdHBhZGRpbmc6IDIwcHggMDtcblx0YmFja2dyb3VuZDogJGNvbG9yLXB1cnBsZTtcblx0Y29sb3I6ICRjb2xvci13aGl0ZTtcblxuXHRAaW5jbHVkZSBtZWRpYSgwLCAkcmFuZ2UtaGFuZCkge1xuXHRcdHBhZGRpbmc6IDMwcHggMDtcblx0fVxufVxuLnN0b3J5X19zZWN0aW9uLS1wYXlvZmYge1xuXHRwb3NpdGlvbjogcmVsYXRpdmU7XG5cdHotaW5kZXg6IDIwO1xuXHRtYXJnaW46IDAgMzBweCAwO1xuXHRoZWlnaHQ6IDE5NXB4O1xuXHRiYWNrZ3JvdW5kOiAkY29sb3ItY2FtcGFpZ247XG5cdGNvbG9yOiAkY29sb3Itd2hpdGU7XG5cdHBvaW50ZXItZXZlbnRzOiBub25lO1xuXG5cdEBpbmNsdWRlIG1lZGlhKDAsICRyYW5nZS1oYW5kKSB7XG5cdFx0bWFyZ2luOiAwIDEwcHggLTIwcHg7XG5cdH1cblxuXHRAaW5jbHVkZSBtZWRpYSgkcmFuZ2UtZGVzay1zLCBmYWxzZSkge1xuXHRcdGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuXHRcdG1hcmdpbi10b3A6IC0xOTVweDtcblx0fVxufVxuXG4uc3RvcnlfX3NlY3Rpb24tLXBheW9mZi1ib3R0b20ge1xuXHRtYXJnaW4tdG9wOiAtMTVweDtcblx0bWFyZ2luLWJvdHRvbTogMDtcblxuXHRAaW5jbHVkZSBtZWRpYSgwLCAkcmFuZ2UtaGFuZCkge1xuXHRcdG1hcmdpbi1ib3R0b206IDMwcHg7XG5cdH1cblx0QGluY2x1ZGUgbWVkaWEoJHJhbmdlLWRlc2stcywgZmFsc2UpIHtcblx0XHRiYWNrZ3JvdW5kOiAkY29sb3ItY2FtcGFpZ247XG5cdH1cbn1cblxuLnN0b3J5X19zZWN0aW9uLS1wYXlvZmYtLWltYWdlIHtcblxuXHRAaW5jbHVkZSBtZWRpYSgwLCAkcmFuZ2UtaGFuZCkge1xuXHRcdG1hcmdpbi10b3A6IDIwcHg7XG5cdFx0bWF4LXdpZHRoOiAyMzBweDtcblx0fVxuXHRAaW5jbHVkZSBtZWRpYSgkcmFuZ2UtbGFwKSB7XG5cdFx0bWFyZ2luLXRvcDogLTYwcHg7XG5cdFx0bWF4LXdpZHRoOiA2MCU7XG5cdH1cblx0QGluY2x1ZGUgbWVkaWEoJHJhbmdlLWRlc2ssIGZhbHNlKSB7XG5cdFx0bWFyZ2luLXRvcDogLTMwcHg7XG5cdFx0bWF4LXdpZHRoOiA0MTBweDtcblx0fVxuXG59XG5cbi5zdG9yeV9fc2VjdGlvbi0tcGF5b2ZmLS1ieWxpbmUge1xuXHRtYXJnaW46IDAgMCAwIDEwcHg7XG5cdGZvbnQtd2VpZ2h0OiA1MDA7XG5cblx0QGluY2x1ZGUgbWVkaWEoMCwgJHJhbmdlLWhhbmQpIHtcblx0XHRwb3NpdGlvbjogYWJzb2x1dGU7XG5cdFx0cmlnaHQ6IDIwcHg7XG5cdFx0Ym90dG9tOiAyNXB4O1xuXHRcdGxlZnQ6IDEwcHg7XG5cdH1cbn1cbi5zdG9yeV9fc2VjdGlvbi0tZ28taGVhZGVyLWltYWdlIHtcblx0aGVpZ2h0OiA0OHB4O1xuXHRtYXJnaW4tdG9wOiA0OHB4O1xufVxuLnN0b3J5X19zZWN0aW9uLS1nby0taW1hZ2Uge1xuXHRoZWlnaHQ6IDM4cHg7XG59XG4uc3RvcnlfX3NlY3Rpb24tLXBhZ2UtbmF2IHtcblx0cG9zaXRpb246IHJlbGF0aXZlO1xuXHR6LWluZGV4OiAxOTtcblx0bWFyZ2luOiAwIDMwcHg7XG5cdHBhZGRpbmc6IDE1cHggMDtcblx0YmFja2dyb3VuZDogJGNvbG9yLWNhbXBhaWduLTIwMDtcblx0Y29sb3I6ICRjb2xvci13aGl0ZTtcblxuXHQmOmFmdGVyIHtcblx0XHRwb3NpdGlvbjogYWJzb2x1dGU7XG5cdFx0dG9wOiAxMDAlO1xuXHRcdGxlZnQ6IDUwJTtcblx0XHRtYXJnaW4tbGVmdDogLTE1cHg7XG5cdFx0d2lkdGg6IDA7XG5cdFx0aGVpZ2h0OiAwO1xuXHRcdGJvcmRlci10b3A6IHNvbGlkIDE1cHggJGNvbG9yLWNhbXBhaWduLTIwMDtcblx0XHRib3JkZXItcmlnaHQ6IHNvbGlkIDE1cHggdHJhbnNwYXJlbnQ7XG5cdFx0Ym9yZGVyLWxlZnQ6IHNvbGlkIDE1cHggdHJhbnNwYXJlbnQ7XG5cdFx0Y29udGVudDogJyc7O1xuXHR9XG5cblx0QGluY2x1ZGUgbWVkaWEoMCwgJHJhbmdlLWhhbmQpIHtcblx0XHRtYXJnaW46IDAgMTBweCAtMjBweDtcblx0fVxufVxuXG4uc3RvcnlfX3BhZ2UtbmF2IHtcblx0d2lkdGg6IDEwMCU7XG5cdHRleHQtYWxpZ246IGNlbnRlcjtcblxuXHRAaW5jbHVkZSBtZWRpYSgwLCAkcmFuZ2UtaGFuZCkge1xuXHRcdHRleHQtYWxpZ246IGxlZnQ7XG5cdH1cbn1cblxuLnN0b3J5X19wYWdlLW5hdi0tbGluayB7XG5cdG1hcmdpbjogMCAyMHB4O1xuXG5cdEBpbmNsdWRlIG1lZGlhKDAsICRyYW5nZS1oYW5kKSB7XG5cdFx0ZGlzcGxheTogYmxvY2s7XG5cdFx0bWFyZ2luOiAxMHB4IDA7XG5cdFx0cGFkZGluZzogNXB4O1xuXHRcdGJvcmRlci1ib3R0b206IDFweCBzb2xpZCByZ2JhKDI1NSwyNTUsMjU1LDAuMyk7XG5cdH1cbn1cblxuLnN0b3J5X19zZWN0aW9uLS1vbnRkZWstZ3JvZWktZXJ2YWFyIHtcblx0bWFyZ2luLXRvcDogLTYwcHg7XG5cdHBvc2l0aW9uOiBhYnNvbHV0ZTtcblxuXHRAaW5jbHVkZSBtZWRpYSgwLCAkcmFuZ2UtaGFuZCkge1xuXG5cdFx0dG9wOiAzMHB4O1xuXHRcdHJpZ2h0OiAtOXB4O1xuXHRcdG1hcmdpbi1sZWZ0OiA1MHB4O1xuXHRcdG1heC13aWR0aDogMTMwcHg7XG5cdFx0dHJhbnNmb3JtOiByb3RhdGUoLThkZWcpO1xuXHR9XG5cblx0QGluY2x1ZGUgbWVkaWEoJHJhbmdlLWxhcCkge1xuXHRcdHRvcDogMTBweDtcblx0XHRyaWdodDogNiU7XG5cdFx0bWFyZ2luLWxlZnQ6IDgwcHg7XG5cdFx0bWF4LXdpZHRoOiAzMCU7XG5cdH1cblxuXHRAaW5jbHVkZSBtZWRpYSgkcmFuZ2UtZGVzay1zLCBmYWxzZSkge1xuXHRcdHRvcDogMjEwcHg7XG5cdFx0cmlnaHQ6IDIwcHg7XG5cdFx0bWFyZ2luLWxlZnQ6IDgwcHg7XG5cdFx0bWF4LXdpZHRoOiAxODBweDtcblx0fVxufVxuLnN0b3J5X19zZWN0aW9uLS1kYXRlcy10b3Age1xuXHRAaW5jbHVkZSBtZWRpYSgkcmFuZ2UtbGFwLWwsIGZhbHNlKSB7XG5cdFx0YmFja2dyb3VuZC1pbWFnZTogdXJsKCcuLi9pbWFnZXMvZml4LWNhbXJhX2FyY2gucG5nJyk7XG5cdFx0YmFja2dyb3VuZC1wb3NpdGlvbjogcmlnaHQgNzAlO1xuXHRcdGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG5cdFx0YmFja2dyb3VuZC1zaXplOiAxNSU7XG5cdH1cbn1cbi5zdG9yeV9fc2VjdGlvbi1leHByZXNzaWUge1xuXG5cdEBpbmNsdWRlIG1lZGlhKCRyYW5nZS1sYXAtbCwgZmFsc2UpIHtcblx0XHRiYWNrZ3JvdW5kLWltYWdlOiB1cmwoJy4uL2ltYWdlcy9maXgtZWFyYnVkLnBuZycpO1xuXHRcdGJhY2tncm91bmQtcG9zaXRpb246IHJpZ2h0IDA7XG5cdFx0YmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcblx0fVxufVxuXG4uc3RvcnlfX3NlY3Rpb24tbWVkaWEge1xuXG5cdEBpbmNsdWRlIG1lZGlhKCRyYW5nZS1sYXAtbCwgZmFsc2UpIHtcblx0XHRiYWNrZ3JvdW5kLWltYWdlOiB1cmwoJy4uL2ltYWdlcy9maXgtcGVuLnBuZycpO1xuXHRcdGJhY2tncm91bmQtcG9zaXRpb246IGxlZnQgYm90dG9tO1xuXHRcdGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG5cdH1cbn1cblxuLnN0b3J5X19zZWN0aW9uLS1pbnRybyB7XG5cdHBvc2l0aW9uOiByZWxhdGl2ZTtcblx0bWFyZ2luOiAwIDMwcHg7XG5cblx0QGluY2x1ZGUgbWVkaWEoMCwgJHJhbmdlLWhhbmQpIHtcblx0XHRtYXJnaW46IDAgMTBweCAzMHB4O1xuXHRcdHBhZGRpbmctdG9wOiAyMHB4O1xuXHR9XG59XG5cbi5zdG9yeV9fc2VjdGlvbi0tbmF2IHtcblx0cG9zaXRpb246IHJlbGF0aXZlO1xuXHRtYXJnaW46IDAgMzBweDtcblxuXHRAaW5jbHVkZSBtZWRpYSgwLCAkcmFuZ2UtaGFuZCkge1xuXHRcdG1hcmdpbjogMCAxMHB4O1xuXHRcdHBhZGRpbmctdG9wOiAyMHB4O1xuXHR9XG59XG5cbi5zdG9yeV9fc2VjdGlvbi0taW50cm8tZ28ge1xuXHRwb3NpdGlvbjogcmVsYXRpdmU7XG5cdG1hcmdpbjogMCAzMHB4O1xuXHRwYWRkaW5nOiAwIDAgMzBweDtcblxuXHRAaW5jbHVkZSBtZWRpYSgwLCAkcmFuZ2UtaGFuZCkge1xuXHRcdG1hcmdpbjogMCAxMHB4O1xuXHRcdHBhZGRpbmc6IDIwcHggMCAwIDA7XG5cdH1cbn1cblxuLnN0b3J5X19zZWN0aW9uLS1oYXMtYm9yZGVyIHtcblx0bWFyZ2luOiAwIDMwcHg7XG5cblx0QGluY2x1ZGUgbWVkaWEoMCwgJHJhbmdlLWhhbmQpIHtcblx0XHRtYXJnaW46IDAgMTBweDtcblx0fVxufVxuXG4uc3RvcnlfX2ludHJvIHtcblx0bWFyZ2luOiAwIGF1dG87XG5cdG1heC13aWR0aDogODAwcHg7XG5cdHRleHQtYWxpZ246IGNlbnRlcjtcblxuXHRAaW5jbHVkZSBtZWRpYSgwLCAkcmFuZ2UtaGFuZCkge1xuXHRcdHBhZGRpbmc6IDEwcHggMDtcblx0XHR0ZXh0LWFsaWduOiBsZWZ0O1xuXHR9XG5cblx0QGluY2x1ZGUgbWVkaWEoJHJhbmdlLWhhbmQtbCwgJHJhbmdlLWxhcC1tKSB7XG5cdFx0cGFkZGluZzogMjBweCAwO1xuXHR9XG5cblx0QGluY2x1ZGUgbWVkaWEoJHJhbmdlLWxhcC1sKSB7XG5cdFx0cGFkZGluZzogMjBweCAwO1xuXHR9XG5cblx0QGluY2x1ZGUgbWVkaWEoJHJhbmdlLWRlc2ssIGZhbHNlKSB7XG5cdFx0cGFkZGluZzogMjBweCAwO1xuXHR9XG59XG5cbi5zdG9yeV9faW50cm8tdGl0bGUsXG4uc3RvcnlfX2ludHJvIGgxIHtcblxuXHRAaW5jbHVkZSBtZWRpYSgwLCAkcmFuZ2UtaGFuZCkge1xuXHRcdGZvbnQtc2l6ZTogJGZvbnQtc2l6ZS00MDA7XG5cdFx0bGluZS1oZWlnaHQ6IDEuMjU7XG5cdH1cblxuXHRAaW5jbHVkZSBtZWRpYSgkcmFuZ2UtbGFwKSB7XG5cdFx0Zm9udC1zaXplOiAkZm9udC1zaXplLTQwMDtcblx0XHRsaW5lLWhlaWdodDogMS4yNTtcblx0fVxuXG5cdEBpbmNsdWRlIG1lZGlhKCRyYW5nZS1kZXNrLCBmYWxzZSkge1xuXHRcdGZvbnQtc2l6ZTogJGZvbnQtc2l6ZS01MDA7XG5cdFx0bGluZS1oZWlnaHQ6IDEuMjU7XG5cdH1cbn1cblxuLnN0b3J5X19pbnRybyBoMiB7XG5cblx0QGluY2x1ZGUgbWVkaWEoMCwgJHJhbmdlLWhhbmQpIHtcblx0XHRmb250LXNpemU6ICRmb250LXNpemUtMzAwO1xuXHRcdGxpbmUtaGVpZ2h0OiAxLjI1O1xuXHR9XG5cblx0QGluY2x1ZGUgbWVkaWEoJHJhbmdlLWxhcCkge1xuXHRcdGZvbnQtc2l6ZTogJGZvbnQtc2l6ZS0zNTA7XG5cdFx0bGluZS1oZWlnaHQ6IDEuMjU7XG5cdH1cblxuXHRAaW5jbHVkZSBtZWRpYSgkcmFuZ2UtZGVzaywgZmFsc2UpIHtcblx0XHRmb250LXNpemU6ICRmb250LXNpemUtNDAwO1xuXHRcdGxpbmUtaGVpZ2h0OiAxLjI1O1xuXHR9XG59XG5cbi5zdG9yeV9faW50cm8tYnlsaW5lLFxuLnN0b3J5X19pbnRybyBwIHtcblxuXHRAaW5jbHVkZSBtZWRpYSgwLCAkcmFuZ2UtaGFuZCkge1xuXHRcdGZvbnQtc2l6ZTogJGZvbnQtc2l6ZS05MDtcblx0XHRsaW5lLWhlaWdodDogJGxpbmUtaGVpZ2h0LTkwO1xuXHR9XG5cblx0QGluY2x1ZGUgbWVkaWEoJHJhbmdlLWxhcCkge1xuXHRcdGZvbnQtc2l6ZTogJGZvbnQtc2l6ZS0xMDA7XG5cdFx0bGluZS1oZWlnaHQ6ICRsaW5lLWhlaWdodC0xMDA7XG5cdH1cblxuXHRAaW5jbHVkZSBtZWRpYSgkcmFuZ2UtZGVzaywgZmFsc2UpIHtcblx0XHRtYXJnaW4tdG9wOiA1cHg7XG5cdFx0Zm9udC1zaXplOiAkZm9udC1zaXplLTIwMDtcblx0XHRsaW5lLWhlaWdodDogJGxpbmUtaGVpZ2h0LTIwMDtcblx0fVxufVxuXG4uc3RvcnlfX3RpbGUgcCB7XG5cblx0QGluY2x1ZGUgbWVkaWEoMCwgJHJhbmdlLWhhbmQpIHtcblx0XHRmb250LXNpemU6ICRmb250LXNpemUtOTA7XG5cdFx0bGluZS1oZWlnaHQ6ICRsaW5lLWhlaWdodC05MDtcblx0fVxuXG5cdEBpbmNsdWRlIG1lZGlhKCRyYW5nZS1sYXApIHtcblx0XHRmb250LXNpemU6ICRmb250LXNpemUtMTAwO1xuXHRcdGxpbmUtaGVpZ2h0OiAkbGluZS1oZWlnaHQtMTAwO1xuXHR9XG5cblx0QGluY2x1ZGUgbWVkaWEoJHJhbmdlLWRlc2ssIGZhbHNlKSB7XG5cdFx0Zm9udC1zaXplOiAkZm9udC1zaXplLTEwMDtcblx0XHRsaW5lLWhlaWdodDogJGxpbmUtaGVpZ2h0LTIwMDtcblx0fVxufVxuXG4uc3RvcnlfX2ludHJvLS1kaWFwIHtcblx0YmFja2dyb3VuZDogJGNvbG9yLWNhbXBhaWduLTkwO1xuXHRjb2xvcjogJGNvbG9yLXdoaXRlO1xuXG5cdCY6YWZ0ZXIge1xuXHRcdHBvc2l0aW9uOiBhYnNvbHV0ZTtcblx0XHR0b3A6IDEwMCU7XG5cdFx0bGVmdDogNTAlO1xuXHRcdG1hcmdpbi1sZWZ0OiAtMTVweDtcblx0XHR3aWR0aDogMDtcblx0XHRoZWlnaHQ6IDA7XG5cdFx0Ym9yZGVyLXRvcDogc29saWQgMTVweCAkY29sb3ItY2FtcGFpZ24tOTA7XG5cdFx0Ym9yZGVyLXJpZ2h0OiBzb2xpZCAxNXB4IHRyYW5zcGFyZW50O1xuXHRcdGJvcmRlci1sZWZ0OiBzb2xpZCAxNXB4IHRyYW5zcGFyZW50O1xuXHRcdGNvbnRlbnQ6ICcnOztcblx0fVxufVxuXG4uc3RvcnlfX3NlY3Rpb24tLWZ1bGwge1xuXHRwb3NpdGlvbjogcmVsYXRpdmU7XG5cblx0QGluY2x1ZGUgbWVkaWEoJHJhbmdlLWxhcCwgZmFsc2UpIHtcblx0XHRtYXgtaGVpZ2h0OiA1NDBweDtcblx0XHRoZWlnaHQ6IGNhbGMoNTB2dyAtIDQwcHgpO1xuXHR9XG59XG5cbi5zdG9yeV9fc2VjdGlvbi0tZGlzY292ZXIge31cblxuLnN0b3J5X19pbm5lciB7XG5cblx0QGluY2x1ZGUgbWVkaWEoJHJhbmdlLXBhbG0sICRyYW5nZS1oYW5kKSB7XG5cdFx0QGluY2x1ZGUgaW5uZXIoMjVweCk7XG5cdH1cblxuXHRAaW5jbHVkZSBtZWRpYSgkcmFuZ2UtbGFwLCBmYWxzZSkge1xuXHRcdEBpbmNsdWRlIG91dGVyLWNvbnRhaW5lcjtcblx0XHRAaW5jbHVkZSBkaXNwbGF5KGZsZXgpO1xuXHRcdEBpbmNsdWRlIGlubmVyKDMwcHgpO1xuXHRcdHBvc2l0aW9uOiByZWxhdGl2ZTtcblx0XHR6LWluZGV4OiAxMDA7XG5cdFx0bWF4LWhlaWdodDogaW5oZXJpdDtcblx0XHRoZWlnaHQ6IGluaGVyaXQ7XG5cblx0XHQuc3RvcnlfX3NlY3Rpb24tLWZ1bGwgJiB7XG5cdFx0XHRAaW5jbHVkZSBmbGV4LWRpcmVjdGlvbihjb2x1bW4pO1xuXHRcdH1cblxuXHRcdC5zdG9yeV9fc2VjdGlvbi0tcmV2ZXJzZSAmIHtcblx0XHRcdEBpbmNsdWRlIGZsZXgtZGlyZWN0aW9uKHJvdy1yZXZlcnNlKTtcblx0XHR9XG5cdH1cbn1cblxuLnN0b3J5X19sYXlvdXQge1xuXHRtYXJnaW46IDAgYXV0bztcblx0d2lkdGg6IDEwMCU7XG5cblx0QGluY2x1ZGUgbWVkaWEoMCwgJHJhbmdlLWxhcCkge1xuXHRcdEBpbmNsdWRlIGRpc3BsYXkoZmxleCk7XG5cdFx0QGluY2x1ZGUgZmxleC13cmFwKHdyYXApO1xuXHR9XG5cblx0QGluY2x1ZGUgbWVkaWEoJHJhbmdlLWRlc2ssIGZhbHNlKSB7XG5cdFx0ZGlzcGxheTogdGFibGU7XG5cdH1cbn1cblxuLnN0b3J5X19jb2x1bW4ge1xuXG5cdEBpbmNsdWRlIG1lZGlhKDAsICRyYW5nZS1oYW5kKSB7XG5cdFx0QGluY2x1ZGUgZmxleC1iYXNpcyg1MCUpO1xuXHRcdEBpbmNsdWRlIGZsZXgtZ3JvdygxKTtcblx0fVxuXG5cdEBpbmNsdWRlIG1lZGlhKCRyYW5nZS1sYXApIHtcblx0XHRAaW5jbHVkZSBmbGV4LWJhc2lzKDI4MHB4KTtcblx0XHRAaW5jbHVkZSBmbGV4LWdyb3coMSk7XG5cdH1cblxuXHRAaW5jbHVkZSBtZWRpYSgkcmFuZ2UtZGVzaywgZmFsc2UpIHtcblx0XHRkaXNwbGF5OiB0YWJsZS1jZWxsO1xuXHRcdHBhZGRpbmc6IDMwcHg7XG5cdFx0dmVydGljYWwtYWxpZ246IHRvcDtcblx0fVxufVxuXG4uc3RvcnlfX2NvbHVtbi0tZmxhdCB7XG5cdHBhZGRpbmc6IDA7XG59XG5cbi5zdG9yeV9fY29sdW1uLS1mdWxsIHtcblxuXHRAaW5jbHVkZSBtZWRpYSgkcmFuZ2UtZGVzaywgZmFsc2UpIHtcblx0XHR3aWR0aDogMTAwJTtcblx0fVxufVxuXG4uc3RvcnlfX2NvbHVtbi0tb25lLWhhbGYge1xuXG5cdEBpbmNsdWRlIG1lZGlhKDAsICRyYW5nZS1sYXApIHtcblx0XHRAaW5jbHVkZSBmbGV4LWJhc2lzKDEwMCUpO1xuXHRcdG1hcmdpbi1ib3R0b206IDMwcHg7XG5cdH1cblxuXHRAaW5jbHVkZSBtZWRpYSgkcmFuZ2UtZGVzaywgZmFsc2UpIHtcblx0XHRkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG5cdFx0d2lkdGg6IDUwJTtcblx0fVxufVxuXG4uc3RvcnlfX2NvbHVtbi0tb25lLXRoaXJkIHtcblxuXHRAaW5jbHVkZSBtZWRpYSgwLCAkcmFuZ2UtbGFwKSB7XG5cdFx0QGluY2x1ZGUgZmxleC1iYXNpcygyMjBweCk7XG5cdH1cblxuXHRAaW5jbHVkZSBtZWRpYSgkcmFuZ2UtZGVzaywgZmFsc2UpIHtcblx0XHRkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG5cdFx0d2lkdGg6IDMzJTtcblx0fVxufVxuXG4uc3RvcnlfX2NvbHVtbi0tdHdvLXRoaXJkIHtcblxuXHRAaW5jbHVkZSBtZWRpYSgwLCAkcmFuZ2UtbGFwKSB7XG5cdFx0QGluY2x1ZGUgZmxleC1ncm93KDIpO1xuXHRcdEBpbmNsdWRlIGZsZXgtYmFzaXMoMzIwcHgpO1xuXHR9XG5cblx0QGluY2x1ZGUgbWVkaWEoJHJhbmdlLWRlc2ssIGZhbHNlKSB7XG5cdFx0d2lkdGg6IDY3JTtcblx0fVxufVxuXG4uc3RvcnlfX2NvbHVtbi0tb25lLWZvdXJ0aCB7XG5cblx0QGluY2x1ZGUgbWVkaWEoMCwgJHJhbmdlLWxhcCkge1xuXHRcdEBpbmNsdWRlIGZsZXgtYmFzaXMoMjIwcHgpO1xuXHR9XG5cblx0QGluY2x1ZGUgbWVkaWEoJHJhbmdlLWRlc2ssIGZhbHNlKSB7XG5cdFx0d2lkdGg6IDI1JTtcblx0fVxufVxuXG4uc3RvcnlfX2NvbHVtbi0tdHdvLWZvdXJ0aCB7XG5cblx0QGluY2x1ZGUgbWVkaWEoMCwgJHJhbmdlLWxhcCkge1xuXHRcdEBpbmNsdWRlIGZsZXgtZ3JvdygyKTtcblx0XHRAaW5jbHVkZSBmbGV4LWJhc2lzKDMyMHB4KTtcblx0fVxuXG5cdEBpbmNsdWRlIG1lZGlhKCRyYW5nZS1kZXNrLCBmYWxzZSkge1xuXHRcdHdpZHRoOiA1MCU7XG5cdH1cbn1cblxuLnN0b3J5X19jb2x1bW4tLXRocmVlLWZvdXJ0aCB7XG5cblx0QGluY2x1ZGUgbWVkaWEoMCwgJHJhbmdlLWxhcCkge1xuXHRcdEBpbmNsdWRlIGZsZXgtZ3JvdygzKTtcblx0XHRAaW5jbHVkZSBmbGV4LWJhc2lzKDQwMHB4KTtcblx0fVxuXG5cdEBpbmNsdWRlIG1lZGlhKCRyYW5nZS1kZXNrLCBmYWxzZSkge1xuXHRcdHdpZHRoOiA3NSU7XG5cdH1cbn1cblxuLnN0b3J5X19jb2x1bW4tLW9uZS1maWZ0aCB7XG5cblx0QGluY2x1ZGUgbWVkaWEoJHJhbmdlLWRlc2ssIGZhbHNlKSB7XG5cdFx0d2lkdGg6IDIwJTtcblx0fVxufVxuXG4uc3RvcnlfX2NvbHVtbi0tdHdvLWZpZnRoIHtcblxuXHRAaW5jbHVkZSBtZWRpYSgwLCAkcmFuZ2UtbGFwKSB7XG5cdFx0QGluY2x1ZGUgZmxleC1ncm93KDIpO1xuXHR9XG5cblx0QGluY2x1ZGUgbWVkaWEoJHJhbmdlLWRlc2ssIGZhbHNlKSB7XG5cdFx0d2lkdGg6IDQwJTtcblx0fVxufVxuXG4uc3RvcnlfX2NvbHVtbi0tdGhyZWUtZmlmdGgge1xuXG5cdEBpbmNsdWRlIG1lZGlhKDAsICRyYW5nZS1sYXApIHtcblx0XHRAaW5jbHVkZSBmbGV4LWdyb3coMyk7XG5cdFx0QGluY2x1ZGUgZmxleC1iYXNpcygzMjBweCk7XG5cdH1cblxuXHRAaW5jbHVkZSBtZWRpYSgkcmFuZ2UtZGVzaywgZmFsc2UpIHtcblx0XHR3aWR0aDogNjAlO1xuXHR9XG59XG5cbi5zdG9yeV9fY29sdW1uLS1mb3VyLWZpZnRoIHtcblxuXHRAaW5jbHVkZSBtZWRpYSgwLCAkcmFuZ2UtbGFwKSB7XG5cdFx0QGluY2x1ZGUgZmxleC1ncm93KDQpO1xuXHRcdEBpbmNsdWRlIGZsZXgtYmFzaXMoNDAwcHgpO1xuXHR9XG5cblx0QGluY2x1ZGUgbWVkaWEoJHJhbmdlLWRlc2ssIGZhbHNlKSB7XG5cdFx0d2lkdGg6IDgwJTtcblx0fVxufVxuXG4uc3RvcnlfX2NvbnRlbnQge1xuXHQvLyBAaW5jbHVkZSBtZWRpYSgkcmFuZ2UtcGFsbSwgJHJhbmdlLWhhbmQpIHt9XG5cdEBpbmNsdWRlIG1lZGlhKCRyYW5nZS1sYXAsIGZhbHNlKSB7XG5cdFx0QGluY2x1ZGUgc3Bhbi1jb2x1bW5zKDQpO1xuXHRcdG1hcmdpbjogYXV0byA0MHB4IGF1dG8gMDtcblxuXHRcdC5zdG9yeV9fc2VjdGlvbi0tZGlhcCAmIHtcblx0XHRcdGNvbG9yOiAkY29sb3Itd2hpdGU7XG5cdFx0fVxuXG5cdFx0LnN0b3J5X19zZWN0aW9uLS1yZXZlcnNlICYge1xuXHRcdFx0bWFyZ2luOiBhdXRvIDAgYXV0byA0MHB4O1xuXHRcdH1cblx0fVxuXG5cdEBpbmNsdWRlIG1lZGlhKCRyYW5nZS1sYXAtcywgJHJhbmdlLWxhcC1tKSB7XG5cdFx0QGluY2x1ZGUgc3Bhbi1jb2x1bW5zKDYpO1xuXHRcdG1hcmdpbjogYXV0byAwO1xuXHR9XG5cblx0QGluY2x1ZGUgbWVkaWEoMCwgJHJhbmdlLWxhcC1zKSB7XG5cdFx0cGFkZGluZzogMTBweCAxNXB4O1xuXG5cdFx0cCB7XG5cdFx0XHRmb250LXNpemU6ICRmb250LXNpemUtOTA7XG5cdFx0XHRsaW5lLWhlaWdodDogJGxpbmUtaGVpZ2h0LTkwO1xuXHRcdH1cblx0fVxufVxuXG4uc3RvcnlfX2NvbnRlbnQtLWNsZWFyIHtcblx0cGFkZGluZzogNjBweCAwO1xufVxuXG4uc3RvcnlfX2NvbnRlbnQtLXJpZ2h0IHtcblxuXHRAaW5jbHVkZSBtZWRpYSgkcmFuZ2UtbGFwLXMpIHtcblx0XHRAaW5jbHVkZSBzaGlmdCgxKTtcblx0fVxuXG5cdEBpbmNsdWRlIG1lZGlhKCRyYW5nZS1sYXAtbSwgZmFsc2UpIHtcblx0XHRAaW5jbHVkZSBzaGlmdCgyKTtcblx0fVxufVxuXG4uc3RvcnlfX2NvbnRlbnQtLWxlZnQge1xuXG5cdEBpbmNsdWRlIG1lZGlhKCRyYW5nZS1sYXAsIGZhbHNlKSB7XG5cdFx0QGluY2x1ZGUgc2hpZnQoMSk7XG5cdFx0cGFkZGluZy1sZWZ0OiAzMHB4O1xuXHR9XG59XG5cbi5zdG9yeV9fY29udGVudC0tZnVsbCB7XG5cblx0QGluY2x1ZGUgbWVkaWEoJHJhbmdlLWxhcC1tLCBmYWxzZSkge1xuXG5cdFx0Ji5zdG9yeV9fY29udGVudC0tc2hpZnQge1xuXHRcdFx0QGluY2x1ZGUgc2hpZnQoMik7XG5cdFx0fVxuXHR9XG5cblx0QGluY2x1ZGUgbWVkaWEoMCwgJHJhbmdlLWhhbmQpIHtcblx0XHRAaW5jbHVkZSBzcGFuLWNvbHVtbnMoMTIpO1xuXHRcdG1hcmdpbi1ib3R0b206IDIwcHg7XG5cdH1cblxuXHRAaW5jbHVkZSBtZWRpYSgkcmFuZ2UtbGFwKSB7XG5cdFx0QGluY2x1ZGUgc3Bhbi1jb2x1bW5zKDEwKTtcblx0XHRtYXJnaW4tYm90dG9tOiAyMHB4O1xuXHR9XG5cblx0QGluY2x1ZGUgbWVkaWEoJHJhbmdlLWRlc2ssIGZhbHNlKSB7XG5cdFx0QGluY2x1ZGUgc3Bhbi1jb2x1bW5zKDEwKTtcblx0XHRtYXJnaW4tdG9wOiA0MHB4O1xuXHRcdG1hcmdpbi1ib3R0b206IDgwcHg7XG5cdH1cbn1cblxuLnN0b3J5X19jb250ZW50LS1pbWFnZSB7XG5cblx0QGluY2x1ZGUgbWVkaWEoMCwgJHJhbmdlLWhhbmQpIHtcblx0XHRAaW5jbHVkZSBzcGFuLWNvbHVtbnMoMTIpO1xuXHRcdGxlZnQ6IDA7XG5cdH1cblxuXHRAaW5jbHVkZSBtZWRpYSgkcmFuZ2UtbGFwKSB7XG5cdFx0QGluY2x1ZGUgc3Bhbi1jb2x1bW5zKDExKTtcblx0XHRtYXJnaW4tYm90dG9tOiAyMHB4O1xuXHR9XG5cblx0QGluY2x1ZGUgbWVkaWEoJHJhbmdlLWRlc2ssIGZhbHNlKSB7XG5cdFx0QGluY2x1ZGUgc3Bhbi1jb2x1bW5zKDEyKTtcblx0XHRtYXJnaW4tYm90dG9tOiA0MHB4O1xuXHR9XG59XG5cbi5zdG9yeV9faW5uZXItcGljdHVyZSB7XG5cdG1heC13aWR0aDogNDQwcHg7XG5cdGhlaWdodDogMTAwJTtcblx0Ym94LXNoYWRvdzogLTIwcHggMjBweCAwICMwOWY7XG5cdHdpbGwtY2hhbmdlOiB0cmFuc2Zvcm07XG5cdG1hcmdpbjogNjBweCAwO1xuXG5cdEBpbmNsdWRlIG1lZGlhKDAsICRyYW5nZS1oYW5kKSB7XG5cdFx0ZGlzcGxheTogbm9uZTtcblx0fVxufVxuXG4uc3RvcnlfX2lubmVyLXBpY3R1cmUtLWxlZnQge1xuXHRAaW5jbHVkZSBzaGlmdCgxKTtcblx0dHJhbnNmb3JtOiByb3RhdGUoLTFkZWcpO1xufVxuXG4uc3RvcnlfX2lubmVyLXBpY3R1cmUtLXJpZ2h0IHtcblx0QGluY2x1ZGUgc2hpZnQoMSk7XG5cdHRyYW5zZm9ybTogcm90YXRlKDFkZWcpO1xufVxuXG4uc3RvcnlfX2lubmVyLXBpY3R1cmUtLWltYWdlIHtcblx0bWF4LXdpZHRoOiAxMDAlO1xufVxuXG4uc3RvcnlfX3BpY3R1cmUtLWdvLXNwb3J0IHtcblx0Ym94LXNoYWRvdzogLTI1cHggMjVweCAwICRjb2xvci1ncmVlbjtcbn1cblxuLnN0b3J5X19waWN0dXJlLS1nby1leHByZXNzaWUge1xuXHRib3gtc2hhZG93OiAtMjVweCAyNXB4IDAgJGNvbG9yLXllbGxvdztcbn1cblxuLnN0b3J5X19waWN0dXJlLS1nby1tZWRpYSB7XG5cdGJveC1zaGFkb3c6IC0yNXB4IDI1cHggMCAkY29sb3ItZ3JlZW47XG59XG5cbi5zdG9yeV9fcGljdHVyZS0tZ28tdGVjaG5hc2l1bSB7XG5cdGJveC1zaGFkb3c6IC0yNXB4IDI1cHggMCAkY29sb3Itb3JhbmdlO1xufVxuXG4uc3RvcnlfX3BpY3R1cmUtLXZlcnRpY2FsLXB1bGwge1xuXHRtYXJnaW4tdG9wOiAtNDBweDtcbn1cblxuLnN0b3J5X19mdWxsLXBpY3R1cmUge1xuXHR3aWxsLWNoYW5nZTogdHJhbnNmb3JtO1xuXHQvLyBAaW5jbHVkZSBtZWRpYSgkcmFuZ2UtcGFsbSwgJHJhbmdlLWhhbmQpIHt9XG5cdEBpbmNsdWRlIG1lZGlhKCRyYW5nZS1sYXAsIGZhbHNlKSB7XG5cdFx0cG9zaXRpb246IGFic29sdXRlO1xuXHRcdHRvcDogMDtcblx0XHRib3R0b206IDA7XG5cdFx0bGVmdDogMDtcblx0XHRvdmVyZmxvdzogaGlkZGVuO1xuXHRcdHdpZHRoOiAxMDAlO1xuXHR9XG59XG5cbi5zdG9yeV9faW1hZ2Uge1xuXG5cdC5zdG9yeV9faW5uZXItcGljdHVyZSAmIHtcblx0XHR3aWR0aDogMTAwJTtcblx0fVxuXG5cdC5zdG9yeV9fZnVsbC1waWN0dXJlICYge1xuXG5cdFx0QGluY2x1ZGUgbWVkaWEoJHJhbmdlLWxhcCwgZmFsc2UpIHtcblx0XHRcdEBpbmNsdWRlIHRyYW5zZm9ybSh0cmFuc2xhdGUoLTUwJSwgLTUwJSkpO1xuXHRcdFx0cG9zaXRpb246IGFic29sdXRlO1xuXHRcdFx0dG9wOiA1MCU7XG5cdFx0XHRsZWZ0OiA1MCU7XG5cdFx0fVxuXG5cdFx0QGluY2x1ZGUgbWVkaWEoJHJhbmdlLWxhcC1zLCAkcmFuZ2UtbGFwKSB7XG5cdFx0XHRtYXgtd2lkdGg6IG5vbmU7XG5cdFx0XHR3aWR0aDogYXV0bztcblx0XHRcdGhlaWdodDogMTAwJTtcblx0XHR9XG5cdH1cbn1cblxuLnN0b3J5X190aXRsZSB7XG5cblx0QGluY2x1ZGUgbWVkaWEoMCwgJHJhbmdlLWxhcC1zKSB7XG5cdFx0Zm9udC1zaXplOiAkZm9udC1zaXplLTMwMDtcblx0XHRsaW5lLWhlaWdodDogJGxpbmUtaGVpZ2h0LTMwMDtcblx0fVxuXG5cdEBpbmNsdWRlIG1lZGlhKCRyYW5nZS1sYXAtbSwgJHJhbmdlLWRlc2stcykge1xuXHRcdGZvbnQtc2l6ZTogJGZvbnQtc2l6ZS0zNTA7XG5cdFx0bGluZS1oZWlnaHQ6ICRsaW5lLWhlaWdodC00MDA7XG5cdH1cbn1cblxuLnN0b3J5X19zdWItdGl0bGUge1xuXHRtYXJnaW4tdG9wOiAyNXB4O1xuXG5cdEBpbmNsdWRlIG1lZGlhKDAsICRyYW5nZS1oYW5kKSB7XG5cdFx0Zm9udC1zaXplOiAkZm9udC1zaXplLTIwMDtcblx0XHRsaW5lLWhlaWdodDogJGxpbmUtaGVpZ2h0LTIwMDtcblx0fVxuXG5cdEBpbmNsdWRlIG1lZGlhKCRyYW5nZS1sYXAsIGZhbHNlKSB7XG5cdFx0Zm9udC1zaXplOiAkZm9udC1zaXplLTMwMDtcblx0XHRsaW5lLWhlaWdodDogJGxpbmUtaGVpZ2h0LTMwMDtcblx0fVxufVxuXG4uc3RvcnlfX2J1dHRvbiB7XG5cdG1hcmdpbjogMTBweCA1cHggMTBweCAwO1xuXHQvLyBiYWNrZ3JvdW5kOiAkY29sb3ItcHVycGxlO1xufVxuXG4uc3RvcnlfX2J1dHRvbi0tdGlsZSB7XG5cdG1hcmdpbjogMjVweCA1cHggMTBweCAwO1xuXHRiYWNrZ3JvdW5kOiAkY29sb3ItcHVycGxlO1xufVxuXG4uc3RvcnlfX2J1dHRvbi0td2lkZSB7XG5cdHBvc2l0aW9uOiByZWxhdGl2ZTtcblx0cG9zaXRpb246IHJlbGF0aXZlO1xuXHRtYXJnaW46IDEwcHggNXB4IDEwcHggMDtcblx0d2lkdGg6IDEwMCU7XG5cdGJhY2tncm91bmQ6ICRjb2xvci1wdXJwbGU7XG5cdGZvbnQtc2l6ZTogMTRweDtcblx0Zm9udC13ZWlnaHQ6IDUwMDtcblxuXHQuaXMtcGFzdCAmIHtcblx0XHRvcGFjaXR5OiAwLjQ7XG5cdFx0cG9pbnRlci1ldmVudHM6IG5vbmU7XG5cblx0XHRzcGFuIHtcblx0XHRcdGRpc3BsYXk6IG5vbmU7XG5cdFx0fVxuXHR9XG5cblx0c3BhbiB7XG5cdFx0cG9zaXRpb246IGFic29sdXRlO1xuXHRcdHRvcDogMDtcblx0XHRyaWdodDogMjVweDtcblx0XHRib3JkZXItcmFkaXVzOiAyMnB4O1xuXHRcdGNvbG9yOiAkY29sb3Itd2hpdGU7XG5cdFx0dGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XG5cdFx0Zm9udC1zaXplOiAxMHB4O1xuXHRcdGZvbnQtd2VpZ2h0OiA2MDA7XG5cblx0XHRAaW5jbHVkZSBtZWRpYSgwLCAkcmFuZ2UtaGFuZCkge1xuXHRcdFx0dG9wOiA1cHg7XG5cdFx0fVxuXG5cdFx0QGluY2x1ZGUgbWVkaWEoJHJhbmdlLWhhbmQtcywgJHJhbmdlLWxhcCkge1xuXHRcdFx0dG9wOiAtMzBweDtcblx0XHRcdGRpc3BsYXk6IG5vbmU7XG5cdFx0XHRjb2xvcjogIzZhNmI4Njtcblx0XHR9XG5cdH1cblxuXHRAaW5jbHVkZSBtZWRpYSgwLCAkcmFuZ2UtaGFuZCkge1xuXHRcdHBhZGRpbmc6IDVweCAxMHB4O1xuXHRcdGZvbnQtc2l6ZTogJGZvbnQtc2l6ZS05MDtcblx0XHRsaW5lLWhlaWdodDogJGxpbmUtaGVpZ2h0LTkwO1xuXHR9XG59XG5cbi5zdG9yeV9fYnV0dG9uLS13aWRlICsgc3BhbiB7XG5cdGRpc3BsYXk6IG5vbmU7XG5cblx0LmlzLXBhc3QgJiB7XG5cdFx0ZGlzcGxheTogaW5saW5lO1xuXHRcdGZvbnQtc2l6ZTogMTRweDtcblx0XHRjb2xvcjogJGNvbG9yLWNoYXJjb2FsO1xuXHR9XG59XG5cbi5zdG9yeV9fYnV0dG9uLS1jdGEtaW5zdHVpZiB7XG5cdGJhY2tncm91bmQ6ICRjb2xvci1icm93bjtcbn1cblxuLnN0b3J5X19idXR0b24tLWN0YS1tZWVsb29wIHtcblx0YmFja2dyb3VuZDogJGNvbG9yLXB1cnBsZTtcbn1cblxuLnN0b3J5X19idXR0b24tLWN0YS1vcGVuYXZvbmQge1xuXHRiYWNrZ3JvdW5kOiAkY29sb3ItZ3JlZW47XG59XG5cbi5zdG9yeV9fYnV0dG9uLS1jdGEtZXhwZXJpZW5jZSB7XG5cdGJhY2tncm91bmQ6ICM2YTZiODY7XG59XG5cbi5zdG9yeV9fbGluay1saXN0IHtcblx0bGlzdC1zdHlsZTogbm9uZTtcblx0bWFyZ2luOiAwO1xuXHRwYWRkaW5nOiAxMHB4IDA7XG5cdGZvbnQtc2l6ZTogMTZweDtcbn1cbiIsIi8vIENTUzMgRmxleGlibGUgQm94IE1vZGVsIGFuZCBwcm9wZXJ0eSBkZWZhdWx0c1xuXG4vLyBDdXN0b20gc2hvcnRoYW5kIG5vdGF0aW9uIGZvciBmbGV4Ym94XG5AbWl4aW4gYm94KCRvcmllbnQ6IGlubGluZS1heGlzLCAkcGFjazogc3RhcnQsICRhbGlnbjogc3RyZXRjaCkge1xuICBAaW5jbHVkZSBkaXNwbGF5LWJveDtcbiAgQGluY2x1ZGUgYm94LW9yaWVudCgkb3JpZW50KTtcbiAgQGluY2x1ZGUgYm94LXBhY2soJHBhY2spO1xuICBAaW5jbHVkZSBib3gtYWxpZ24oJGFsaWduKTtcbn1cblxuQG1peGluIGRpc3BsYXktYm94IHtcbiAgZGlzcGxheTogLXdlYmtpdC1ib3g7XG4gIGRpc3BsYXk6IC1tb3otYm94O1xuICBkaXNwbGF5OiAtbXMtZmxleGJveDsgLy8gSUUgMTBcbiAgZGlzcGxheTogYm94O1xufVxuXG5AbWl4aW4gYm94LW9yaWVudCgkb3JpZW50OiBpbmxpbmUtYXhpcykge1xuLy8gaG9yaXpvbnRhbHx2ZXJ0aWNhbHxpbmxpbmUtYXhpc3xibG9jay1heGlzfGluaGVyaXRcbiAgQGluY2x1ZGUgcHJlZml4ZXIoYm94LW9yaWVudCwgJG9yaWVudCwgd2Via2l0IG1veiBzcGVjKTtcbn1cblxuQG1peGluIGJveC1wYWNrKCRwYWNrOiBzdGFydCkge1xuLy8gc3RhcnR8ZW5kfGNlbnRlcnxqdXN0aWZ5XG4gIEBpbmNsdWRlIHByZWZpeGVyKGJveC1wYWNrLCAkcGFjaywgd2Via2l0IG1veiBzcGVjKTtcbiAgLW1zLWZsZXgtcGFjazogJHBhY2s7IC8vIElFIDEwXG59XG5cbkBtaXhpbiBib3gtYWxpZ24oJGFsaWduOiBzdHJldGNoKSB7XG4vLyBzdGFydHxlbmR8Y2VudGVyfGJhc2VsaW5lfHN0cmV0Y2hcbiAgQGluY2x1ZGUgcHJlZml4ZXIoYm94LWFsaWduLCAkYWxpZ24sIHdlYmtpdCBtb3ogc3BlYyk7XG4gIC1tcy1mbGV4LWFsaWduOiAkYWxpZ247IC8vIElFIDEwXG59XG5cbkBtaXhpbiBib3gtZGlyZWN0aW9uKCRkaXJlY3Rpb246IG5vcm1hbCkge1xuLy8gbm9ybWFsfHJldmVyc2V8aW5oZXJpdFxuICBAaW5jbHVkZSBwcmVmaXhlcihib3gtZGlyZWN0aW9uLCAkZGlyZWN0aW9uLCB3ZWJraXQgbW96IHNwZWMpO1xuICAtbXMtZmxleC1kaXJlY3Rpb246ICRkaXJlY3Rpb247IC8vIElFIDEwXG59XG5cbkBtaXhpbiBib3gtbGluZXMoJGxpbmVzOiBzaW5nbGUpIHtcbi8vIHNpbmdsZXxtdWx0aXBsZVxuICBAaW5jbHVkZSBwcmVmaXhlcihib3gtbGluZXMsICRsaW5lcywgd2Via2l0IG1veiBzcGVjKTtcbn1cblxuQG1peGluIGJveC1vcmRpbmFsLWdyb3VwKCRpbnQ6IDEpIHtcbiAgQGluY2x1ZGUgcHJlZml4ZXIoYm94LW9yZGluYWwtZ3JvdXAsICRpbnQsIHdlYmtpdCBtb3ogc3BlYyk7XG4gIC1tcy1mbGV4LW9yZGVyOiAkaW50OyAvLyBJRSAxMFxufVxuXG5AbWl4aW4gYm94LWZsZXgoJHZhbHVlOiAwKSB7XG4gIEBpbmNsdWRlIHByZWZpeGVyKGJveC1mbGV4LCAkdmFsdWUsIHdlYmtpdCBtb3ogc3BlYyk7XG4gIC1tcy1mbGV4OiAkdmFsdWU7IC8vIElFIDEwXG59XG5cbkBtaXhpbiBib3gtZmxleC1ncm91cCgkaW50OiAxKSB7XG4gIEBpbmNsdWRlIHByZWZpeGVyKGJveC1mbGV4LWdyb3VwLCAkaW50LCB3ZWJraXQgbW96IHNwZWMpO1xufVxuXG4vLyBDU1MzIEZsZXhpYmxlIEJveCBNb2RlbCBhbmQgcHJvcGVydHkgZGVmYXVsdHNcbi8vIFVuaWZpZWQgYXR0cmlidXRlcyBmb3IgMjAwOSwgMjAxMSwgYW5kIDIwMTIgZmxhdm91cnMuXG5cbi8vIDIwMDkgLSBkaXNwbGF5IChib3ggfCBpbmxpbmUtYm94KVxuLy8gMjAxMSAtIGRpc3BsYXkgKGZsZXhib3ggfCBpbmxpbmUtZmxleGJveClcbi8vIDIwMTIgLSBkaXNwbGF5IChmbGV4IHwgaW5saW5lLWZsZXgpXG5AbWl4aW4gZGlzcGxheSgkdmFsdWUpIHtcbi8vIGZsZXggfCBpbmxpbmUtZmxleFxuICBAaWYgJHZhbHVlID09IFwiZmxleFwiIHtcbiAgICAvLyAyMDA5XG4gICAgZGlzcGxheTogLXdlYmtpdC1ib3g7XG4gICAgZGlzcGxheTogLW1vei1ib3g7XG4gICAgZGlzcGxheTogYm94O1xuXG4gICAgLy8gMjAxMlxuICAgIGRpc3BsYXk6IC13ZWJraXQtZmxleDtcbiAgICBkaXNwbGF5OiAtbW96LWZsZXg7XG4gICAgZGlzcGxheTogLW1zLWZsZXhib3g7IC8vIDIwMTEgKElFIDEwKVxuICAgIGRpc3BsYXk6IGZsZXg7XG4gIH0gQGVsc2UgaWYgJHZhbHVlID09IFwiaW5saW5lLWZsZXhcIiB7XG4gICAgZGlzcGxheTogLXdlYmtpdC1pbmxpbmUtYm94O1xuICAgIGRpc3BsYXk6IC1tb3otaW5saW5lLWJveDtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYm94O1xuXG4gICAgZGlzcGxheTogLXdlYmtpdC1pbmxpbmUtZmxleDtcbiAgICBkaXNwbGF5OiAtbW96LWlubGluZS1mbGV4O1xuICAgIGRpc3BsYXk6IC1tcy1pbmxpbmUtZmxleGJveDtcbiAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgfSBAZWxzZSB7XG4gICAgZGlzcGxheTogJHZhbHVlO1xuICB9XG59XG5cbi8vIDIwMDkgLSBib3gtZmxleCAoaW50ZWdlcilcbi8vIDIwMTEgLSBmbGV4IChkZWNpbWFsIHwgd2lkdGggZGVjaW1hbClcbi8vIDIwMTIgLSBmbGV4IChpbnRlZ2VyIGludGVnZXIgd2lkdGgpXG5AbWl4aW4gZmxleCgkdmFsdWUpIHtcblxuICAvLyBHcmFiIGZsZXgtZ3JvdyBmb3Igb2xkZXIgYnJvd3NlcnMuXG4gICRmbGV4LWdyb3c6IG50aCgkdmFsdWUsIDEpO1xuXG4gIC8vIDIwMDlcbiAgQGluY2x1ZGUgcHJlZml4ZXIoYm94LWZsZXgsICRmbGV4LWdyb3csIHdlYmtpdCBtb3ogc3BlYyk7XG5cbiAgLy8gMjAxMSAoSUUgMTApLCAyMDEyXG4gIEBpbmNsdWRlIHByZWZpeGVyKGZsZXgsICR2YWx1ZSwgd2Via2l0IG1veiBtcyBzcGVjKTtcbn1cblxuLy8gMjAwOSAtIGJveC1vcmllbnQgKCBob3Jpem9udGFsIHwgdmVydGljYWwgfCBpbmxpbmUtYXhpcyB8IGJsb2NrLWF4aXMpXG4vLyAgICAgIC0gYm94LWRpcmVjdGlvbiAobm9ybWFsIHwgcmV2ZXJzZSlcbi8vIDIwMTEgLSBmbGV4LWRpcmVjdGlvbiAocm93IHwgcm93LXJldmVyc2UgfCBjb2x1bW4gfCBjb2x1bW4tcmV2ZXJzZSlcbi8vIDIwMTIgLSBmbGV4LWRpcmVjdGlvbiAocm93IHwgcm93LXJldmVyc2UgfCBjb2x1bW4gfCBjb2x1bW4tcmV2ZXJzZSlcbkBtaXhpbiBmbGV4LWRpcmVjdGlvbigkdmFsdWU6IHJvdykge1xuXG4gIC8vIEFsdCB2YWx1ZXMuXG4gICR2YWx1ZS0yMDA5OiAkdmFsdWU7XG4gICR2YWx1ZS0yMDExOiAkdmFsdWU7XG4gICRkaXJlY3Rpb246IFwibm9ybWFsXCI7XG5cbiAgQGlmICR2YWx1ZSA9PSByb3cge1xuICAgICR2YWx1ZS0yMDA5OiBob3Jpem9udGFsO1xuICB9IEBlbHNlIGlmICR2YWx1ZSA9PSBcInJvdy1yZXZlcnNlXCIge1xuICAgICR2YWx1ZS0yMDA5OiBob3Jpem9udGFsO1xuICAgICRkaXJlY3Rpb246IHJldmVyc2U7XG4gIH0gQGVsc2UgaWYgJHZhbHVlID09IGNvbHVtbiB7XG4gICAgJHZhbHVlLTIwMDk6IHZlcnRpY2FsO1xuICB9IEBlbHNlIGlmICR2YWx1ZSA9PSBcImNvbHVtbi1yZXZlcnNlXCIge1xuICAgICR2YWx1ZS0yMDA5OiB2ZXJ0aWNhbDtcbiAgICAkZGlyZWN0aW9uOiByZXZlcnNlO1xuICB9XG5cbiAgLy8gMjAwOVxuICBAaW5jbHVkZSBwcmVmaXhlcihib3gtb3JpZW50LCAkdmFsdWUtMjAwOSwgd2Via2l0IG1veiBzcGVjKTtcbiAgQGlmICRkaXJlY3Rpb24gPT0gXCJyZXZlcnNlXCIge1xuICAgIEBpbmNsdWRlIHByZWZpeGVyKGJveC1kaXJlY3Rpb24sICRkaXJlY3Rpb24sIHdlYmtpdCBtb3ogc3BlYyk7XG4gIH1cblxuICAvLyAyMDEyXG4gIEBpbmNsdWRlIHByZWZpeGVyKGZsZXgtZGlyZWN0aW9uLCAkdmFsdWUsIHdlYmtpdCBtb3ogc3BlYyk7XG5cbiAgLy8gMjAxMSAoSUUgMTApXG4gIC1tcy1mbGV4LWRpcmVjdGlvbjogJHZhbHVlO1xufVxuXG4vLyAyMDA5IC0gYm94LWxpbmVzIChzaW5nbGUgfCBtdWx0aXBsZSlcbi8vIDIwMTEgLSBmbGV4LXdyYXAgKG5vd3JhcCB8IHdyYXAgfCB3cmFwLXJldmVyc2UpXG4vLyAyMDEyIC0gZmxleC13cmFwIChub3dyYXAgfCB3cmFwIHwgd3JhcC1yZXZlcnNlKVxuQG1peGluIGZsZXgtd3JhcCgkdmFsdWU6IG5vd3JhcCkge1xuICAvLyBBbHQgdmFsdWVzXG4gICRhbHQtdmFsdWU6ICR2YWx1ZTtcbiAgQGlmICR2YWx1ZSA9PSBub3dyYXAge1xuICAgICRhbHQtdmFsdWU6IHNpbmdsZTtcbiAgfSBAZWxzZSBpZiAkdmFsdWUgPT0gd3JhcCB7XG4gICAgJGFsdC12YWx1ZTogbXVsdGlwbGU7XG4gIH0gQGVsc2UgaWYgJHZhbHVlID09IFwid3JhcC1yZXZlcnNlXCIge1xuICAgICRhbHQtdmFsdWU6IG11bHRpcGxlO1xuICB9XG5cbiAgQGluY2x1ZGUgcHJlZml4ZXIoYm94LWxpbmVzLCAkYWx0LXZhbHVlLCB3ZWJraXQgbW96IHNwZWMpO1xuICBAaW5jbHVkZSBwcmVmaXhlcihmbGV4LXdyYXAsICR2YWx1ZSwgd2Via2l0IG1veiBtcyBzcGVjKTtcbn1cblxuLy8gMjAwOSAtIFRPRE86IHBhcnNlIHZhbHVlcyBpbnRvIGZsZXgtZGlyZWN0aW9uL2ZsZXgtd3JhcFxuLy8gMjAxMSAtIFRPRE86IHBhcnNlIHZhbHVlcyBpbnRvIGZsZXgtZGlyZWN0aW9uL2ZsZXgtd3JhcFxuLy8gMjAxMiAtIGZsZXgtZmxvdyAoZmxleC1kaXJlY3Rpb24gfHwgZmxleC13cmFwKVxuQG1peGluIGZsZXgtZmxvdygkdmFsdWUpIHtcbiAgQGluY2x1ZGUgcHJlZml4ZXIoZmxleC1mbG93LCAkdmFsdWUsIHdlYmtpdCBtb3ogc3BlYyk7XG59XG5cbi8vIDIwMDkgLSBib3gtb3JkaW5hbC1ncm91cCAoaW50ZWdlcilcbi8vIDIwMTEgLSBmbGV4LW9yZGVyIChpbnRlZ2VyKVxuLy8gMjAxMiAtIG9yZGVyIChpbnRlZ2VyKVxuQG1peGluIG9yZGVyKCRpbnQ6IDApIHtcbiAgLy8gMjAwOVxuICBAaW5jbHVkZSBwcmVmaXhlcihib3gtb3JkaW5hbC1ncm91cCwgJGludCwgd2Via2l0IG1veiBzcGVjKTtcblxuICAvLyAyMDEyXG4gIEBpbmNsdWRlIHByZWZpeGVyKG9yZGVyLCAkaW50LCB3ZWJraXQgbW96IHNwZWMpO1xuXG4gIC8vIDIwMTEgKElFIDEwKVxuICAtbXMtZmxleC1vcmRlcjogJGludDtcbn1cblxuLy8gMjAxMiAtIGZsZXgtZ3JvdyAobnVtYmVyKVxuQG1peGluIGZsZXgtZ3JvdygkbnVtYmVyOiAwKSB7XG4gIEBpbmNsdWRlIHByZWZpeGVyKGZsZXgtZ3JvdywgJG51bWJlciwgd2Via2l0IG1veiBzcGVjKTtcbiAgLW1zLWZsZXgtcG9zaXRpdmU6ICRudW1iZXI7XG59XG5cbi8vIDIwMTIgLSBmbGV4LXNocmluayAobnVtYmVyKVxuQG1peGluIGZsZXgtc2hyaW5rKCRudW1iZXI6IDEpIHtcbiAgQGluY2x1ZGUgcHJlZml4ZXIoZmxleC1zaHJpbmssICRudW1iZXIsIHdlYmtpdCBtb3ogc3BlYyk7XG4gIC1tcy1mbGV4LW5lZ2F0aXZlOiAkbnVtYmVyO1xufVxuXG4vLyAyMDEyIC0gZmxleC1iYXNpcyAobnVtYmVyKVxuQG1peGluIGZsZXgtYmFzaXMoJHdpZHRoOiBhdXRvKSB7XG4gIEBpbmNsdWRlIHByZWZpeGVyKGZsZXgtYmFzaXMsICR3aWR0aCwgd2Via2l0IG1veiBzcGVjKTtcbiAgLW1zLWZsZXgtcHJlZmVycmVkLXNpemU6ICR3aWR0aDtcbn1cblxuLy8gMjAwOSAtIGJveC1wYWNrIChzdGFydCB8IGVuZCB8IGNlbnRlciB8IGp1c3RpZnkpXG4vLyAyMDExIC0gZmxleC1wYWNrIChzdGFydCB8IGVuZCB8IGNlbnRlciB8IGp1c3RpZnkpXG4vLyAyMDEyIC0ganVzdGlmeS1jb250ZW50IChmbGV4LXN0YXJ0IHwgZmxleC1lbmQgfCBjZW50ZXIgfCBzcGFjZS1iZXR3ZWVuIHwgc3BhY2UtYXJvdW5kKVxuQG1peGluIGp1c3RpZnktY29udGVudCgkdmFsdWU6IGZsZXgtc3RhcnQpIHtcblxuICAvLyBBbHQgdmFsdWVzLlxuICAkYWx0LXZhbHVlOiAkdmFsdWU7XG4gIEBpZiAkdmFsdWUgPT0gXCJmbGV4LXN0YXJ0XCIge1xuICAgICRhbHQtdmFsdWU6IHN0YXJ0O1xuICB9IEBlbHNlIGlmICR2YWx1ZSA9PSBcImZsZXgtZW5kXCIge1xuICAgICRhbHQtdmFsdWU6IGVuZDtcbiAgfSBAZWxzZSBpZiAkdmFsdWUgPT0gXCJzcGFjZS1iZXR3ZWVuXCIge1xuICAgICRhbHQtdmFsdWU6IGp1c3RpZnk7XG4gIH0gQGVsc2UgaWYgJHZhbHVlID09IFwic3BhY2UtYXJvdW5kXCIge1xuICAgICRhbHQtdmFsdWU6IGRpc3RyaWJ1dGU7XG4gIH1cblxuICAvLyAyMDA5XG4gIEBpbmNsdWRlIHByZWZpeGVyKGJveC1wYWNrLCAkYWx0LXZhbHVlLCB3ZWJraXQgbW96IHNwZWMpO1xuXG4gIC8vIDIwMTJcbiAgQGluY2x1ZGUgcHJlZml4ZXIoanVzdGlmeS1jb250ZW50LCAkdmFsdWUsIHdlYmtpdCBtb3ogbXMgbyBzcGVjKTtcblxuICAvLyAyMDExIChJRSAxMClcbiAgLW1zLWZsZXgtcGFjazogJGFsdC12YWx1ZTtcbn1cblxuLy8gMjAwOSAtIGJveC1hbGlnbiAoc3RhcnQgfCBlbmQgfCBjZW50ZXIgfCBiYXNlbGluZSB8IHN0cmV0Y2gpXG4vLyAyMDExIC0gZmxleC1hbGlnbiAoc3RhcnQgfCBlbmQgfCBjZW50ZXIgfCBiYXNlbGluZSB8IHN0cmV0Y2gpXG4vLyAyMDEyIC0gYWxpZ24taXRlbXMgKGZsZXgtc3RhcnQgfCBmbGV4LWVuZCB8IGNlbnRlciB8IGJhc2VsaW5lIHwgc3RyZXRjaClcbkBtaXhpbiBhbGlnbi1pdGVtcygkdmFsdWU6IHN0cmV0Y2gpIHtcblxuICAkYWx0LXZhbHVlOiAkdmFsdWU7XG5cbiAgQGlmICR2YWx1ZSA9PSBcImZsZXgtc3RhcnRcIiB7XG4gICAgJGFsdC12YWx1ZTogc3RhcnQ7XG4gIH0gQGVsc2UgaWYgJHZhbHVlID09IFwiZmxleC1lbmRcIiB7XG4gICAgJGFsdC12YWx1ZTogZW5kO1xuICB9XG5cbiAgLy8gMjAwOVxuICBAaW5jbHVkZSBwcmVmaXhlcihib3gtYWxpZ24sICRhbHQtdmFsdWUsIHdlYmtpdCBtb3ogc3BlYyk7XG5cbiAgLy8gMjAxMlxuICBAaW5jbHVkZSBwcmVmaXhlcihhbGlnbi1pdGVtcywgJHZhbHVlLCB3ZWJraXQgbW96IG1zIG8gc3BlYyk7XG5cbiAgLy8gMjAxMSAoSUUgMTApXG4gIC1tcy1mbGV4LWFsaWduOiAkYWx0LXZhbHVlO1xufVxuXG4vLyAyMDExIC0gZmxleC1pdGVtLWFsaWduIChhdXRvIHwgc3RhcnQgfCBlbmQgfCBjZW50ZXIgfCBiYXNlbGluZSB8IHN0cmV0Y2gpXG4vLyAyMDEyIC0gYWxpZ24tc2VsZiAoYXV0byB8IGZsZXgtc3RhcnQgfCBmbGV4LWVuZCB8IGNlbnRlciB8IGJhc2VsaW5lIHwgc3RyZXRjaClcbkBtaXhpbiBhbGlnbi1zZWxmKCR2YWx1ZTogYXV0bykge1xuXG4gICR2YWx1ZS0yMDExOiAkdmFsdWU7XG4gIEBpZiAkdmFsdWUgPT0gXCJmbGV4LXN0YXJ0XCIge1xuICAgICR2YWx1ZS0yMDExOiBzdGFydDtcbiAgfSBAZWxzZSBpZiAkdmFsdWUgPT0gXCJmbGV4LWVuZFwiIHtcbiAgICAkdmFsdWUtMjAxMTogZW5kO1xuICB9XG5cbiAgLy8gMjAxMlxuICBAaW5jbHVkZSBwcmVmaXhlcihhbGlnbi1zZWxmLCAkdmFsdWUsIHdlYmtpdCBtb3ogc3BlYyk7XG5cbiAgLy8gMjAxMSAoSUUgMTApXG4gIC1tcy1mbGV4LWl0ZW0tYWxpZ246ICR2YWx1ZS0yMDExO1xufVxuXG4vLyAyMDExIC0gZmxleC1saW5lLXBhY2sgKHN0YXJ0IHwgZW5kIHwgY2VudGVyIHwganVzdGlmeSB8IGRpc3RyaWJ1dGUgfCBzdHJldGNoKVxuLy8gMjAxMiAtIGFsaWduLWNvbnRlbnQgKGZsZXgtc3RhcnQgfCBmbGV4LWVuZCB8IGNlbnRlciB8IHNwYWNlLWJldHdlZW4gfCBzcGFjZS1hcm91bmQgfCBzdHJldGNoKVxuQG1peGluIGFsaWduLWNvbnRlbnQoJHZhbHVlOiBzdHJldGNoKSB7XG5cbiAgJHZhbHVlLTIwMTE6ICR2YWx1ZTtcbiAgQGlmICR2YWx1ZSA9PSBcImZsZXgtc3RhcnRcIiB7XG4gICAgJHZhbHVlLTIwMTE6IHN0YXJ0O1xuICB9IEBlbHNlIGlmICR2YWx1ZSA9PSBcImZsZXgtZW5kXCIge1xuICAgICR2YWx1ZS0yMDExOiBlbmQ7XG4gIH0gQGVsc2UgaWYgJHZhbHVlID09IFwic3BhY2UtYmV0d2VlblwiIHtcbiAgICAkdmFsdWUtMjAxMToganVzdGlmeTtcbiAgfSBAZWxzZSBpZiAkdmFsdWUgPT0gXCJzcGFjZS1hcm91bmRcIiB7XG4gICAgJHZhbHVlLTIwMTE6IGRpc3RyaWJ1dGU7XG4gIH1cblxuICAvLyAyMDEyXG4gIEBpbmNsdWRlIHByZWZpeGVyKGFsaWduLWNvbnRlbnQsICR2YWx1ZSwgd2Via2l0IG1veiBzcGVjKTtcblxuICAvLyAyMDExIChJRSAxMClcbiAgLW1zLWZsZXgtbGluZS1wYWNrOiAkdmFsdWUtMjAxMTtcbn1cbiIsIkBjaGFyc2V0IFwiVVRGLThcIjtcblxuLy8vIFRyYW5zbGF0ZXMgYW4gZWxlbWVudCBob3Jpem9udGFsbHkgYnkgYSBudW1iZXIgb2YgY29sdW1ucy4gUG9zaXRpdmUgYXJndW1lbnRzIHNoaWZ0IHRoZSBlbGVtZW50IHRvIHRoZSBhY3RpdmUgbGF5b3V0IGRpcmVjdGlvbiwgd2hpbGUgbmVnYXRpdmUgb25lcyBzaGlmdCBpdCB0byB0aGUgb3Bwb3NpdGUgZGlyZWN0aW9uLlxuLy8vXG4vLy8gQHBhcmFtIHtOdW1iZXIgKHVuaXRsZXNzKX0gJG4tY29sdW1ucyBbMV1cbi8vLyAgIE51bWJlciBvZiBjb2x1bW5zIGJ5IHdoaWNoIHRoZSBlbGVtZW50IHNoaWZ0cy5cbi8vL1xuLy8vIEBleGFtcGxlIHNjc3MgLSBVc2FnZVxuLy8vICAgLmVsZW1lbnQge1xuLy8vICAgICBAaW5jbHVkZSBzaGlmdCgtMyk7XG4vLy8gICB9XG4vLy9cbi8vLyBAZXhhbXBsZSBjc3MgLSBDU1Mgb3V0cHV0XG4vLy8gICAuZWxlbWVudCB7XG4vLy8gICAgIG1hcmdpbi1sZWZ0OiAtMjUuNTg5NDElO1xuLy8vICAgfVxuXG5AbWl4aW4gc2hpZnQoJG4tY29sdW1uczogMSkge1xuICBAaW5jbHVkZSBzaGlmdC1pbi1jb250ZXh0KCRuLWNvbHVtbnMpO1xufVxuXG4vLy8gVHJhbnNsYXRlcyBhbiBlbGVtZW50IGhvcml6b250YWxseSBieSBhIG51bWJlciBvZiBjb2x1bW5zLCBpbiBhIHNwZWNpZmljIG5lc3RpbmcgY29udGV4dC5cbi8vL1xuLy8vIEBwYXJhbSB7TGlzdH0gJHNoaWZ0XG4vLy8gICBBIGxpc3QgY29udGFpbmluZyB0aGUgbnVtYmVyIG9mIGNvbHVtbnMgdG8gc2hpZnQgKGAkY29sdW1uc2ApIGFuZCB0aGUgbnVtYmVyIG9mIGNvbHVtbnMgb2YgdGhlIHBhcmVudCBlbGVtZW50IChgJGNvbnRhaW5lci1jb2x1bW5zYCkuXG4vLy9cbi8vLyAgIFRoZSB0d28gdmFsdWVzIGNhbiBiZSBzZXBhcmF0ZWQgd2l0aCBhbnkgc3RyaW5nIHN1Y2ggYXMgYG9mYCwgYC9gLCBldGMuXG4vLy9cbi8vLyBAZXhhbXBsZSBzY3NzIC0gVXNhZ2Vcbi8vLyAgIC5lbGVtZW50IHtcbi8vLyAgICAgQGluY2x1ZGUgc2hpZnQoLTMgb2YgNik7XG4vLy8gICB9XG4vLy9cbi8vLyBAZXhhbXBsZSBjc3MgLSBDU1Mgb3V0cHV0XG4vLy8gICAuZWxlbWVudCB7XG4vLy8gICAgIG1hcmdpbi1sZWZ0OiAtNTIuNDE0NTglO1xuLy8vICAgfVxuXG5AbWl4aW4gc2hpZnQtaW4tY29udGV4dCgkc2hpZnQ6ICRjb2x1bW5zIG9mICRjb250YWluZXItY29sdW1ucykge1xuICAkbi1jb2x1bW5zOiBudGgoJHNoaWZ0LCAxKTtcbiAgJHBhcmVudC1jb2x1bW5zOiBjb250YWluZXItc2hpZnQoJHNoaWZ0KSAhZ2xvYmFsO1xuXG4gICRkaXJlY3Rpb246IGdldC1kaXJlY3Rpb24oJGxheW91dC1kaXJlY3Rpb24sICRkZWZhdWx0LWxheW91dC1kaXJlY3Rpb24pO1xuICAkb3Bwb3NpdGUtZGlyZWN0aW9uOiBnZXQtb3Bwb3NpdGUtZGlyZWN0aW9uKCRkaXJlY3Rpb24pO1xuXG4gIG1hcmdpbi0jeyRvcHBvc2l0ZS1kaXJlY3Rpb259OiAkbi1jb2x1bW5zICogZmxleC1ncmlkKDEsICRwYXJlbnQtY29sdW1ucykgKyAkbi1jb2x1bW5zICogZmxleC1ndXR0ZXIoJHBhcmVudC1jb2x1bW5zKTtcblxuICAvLyBSZXNldCBuZXN0aW5nIGNvbnRleHRcbiAgJHBhcmVudC1jb2x1bW5zOiAkZ3JpZC1jb2x1bW5zICFnbG9iYWw7XG59XG4iLCIudGlsZSB7XG5cdHBhZGRpbmc6IDIwcHggMTBweDtcblx0Ly8gYm9yZGVyOiAxMHB4IHNvbGlkIHRyYW5zcGFyZW50O1xuXHQvLyBAaW5jbHVkZSBkaXNwbGF5KGZsZXgpO1xuXHQvLyBAaW5jbHVkZSBmbGV4LWRpcmVjdGlvbihjb2x1bW4pO1xuXHRAaW5jbHVkZSBtZWRpYSgwLCAkcmFuZ2UtaGFuZCkge1xuXHRcdHBhZGRpbmc6IDA7XG5cdH1cbn1cblxuLnRpbGVfX2NvbnRlbnQge1xuXHRwYWRkaW5nOiAxNXB4IDI1cHg7XG5cblx0Ly8gQGluY2x1ZGUgZmxleCgyIDAgYXV0byk7XG5cdC8vIEBpbmNsdWRlIGRpc3BsYXkoZmxleCk7XG5cdC8vIEBpbmNsdWRlIGZsZXgtZGlyZWN0aW9uKGNvbHVtbik7XG59XG5cbi50aWxlX19oZWFkZXIge1xuXG5cdCY6YWZ0ZXIge1xuXHRcdGRpc3BsYXk6IGJsb2NrO1xuXHRcdG1hcmdpbi10b3A6IDAuNWVtO1xuXHRcdHdpZHRoOiAxMTBweDtcblx0XHRoZWlnaHQ6IDA7XG5cdFx0Ym9yZGVyLWNvbG9yOiAkY29sb3ItYmx1ZTtcblx0XHRib3JkZXItdG9wOiA0cHggc29saWQ7XG5cdFx0Ym9yZGVyLXJhZGl1czogNHB4O1xuXHRcdGNvbnRlbnQ6ICcgJztcblx0fVxufVxuXG4udGlsZV9faGVhZGVyLWluc3R1aWYge1xuXG5cdCY6YWZ0ZXIge1xuXHRcdGJvcmRlci1jb2xvcjogJGNvbG9yLWJyb3duO1xuXHR9XG59XG5cbi50aWxlX19oZWFkZXItZXhwZXJpZW5jZSB7XG5cblx0JjphZnRlciB7XG5cdFx0Ym9yZGVyLWNvbG9yOiAkY29sb3ItcHVycGxlO1xuXHR9XG59XG5cbi50aWxlX19oZWFkZXItb3BlbmF2b25kIHtcblxuXHQmOmFmdGVyIHtcblx0XHRib3JkZXItY29sb3I6ICRjb2xvci1ncmVlbjtcblx0fVxufVxuXG4udGlsZV9fdGl0bGUge1xuXHRAaW5jbHVkZSBmbGV4KDAgMCBhdXRvKTtcblx0bWFyZ2luOiAwO1xuXHR3b3JkLWJyZWFrOiBicmVhay1hbGw7XG5cdGZvbnQtc2l6ZTogJGZvbnQtc2l6ZS0zNTA7XG5cdGZvbnQtd2VpZ2h0OiAzMDA7XG5cdGxpbmUtaGVpZ2h0OiAkbGluZS1oZWlnaHQtNDA7XG5cblx0c3BhbiB7XG5cdFx0d2lkdGg6IDA7XG5cdH1cblxuXHRAaW5jbHVkZSBtZWRpYSgwLCAkcmFuZ2UtaGFuZCkge1xuXHRcdGZvbnQtc2l6ZTogJGZvbnQtc2l6ZS0zMDA7XG5cdFx0bGluZS1oZWlnaHQ6ICRsaW5lLWhlaWdodC00MDtcblx0fVxufVxuXG4kcmFuZ2Utc2xpZGVyLWJ1dHRvbi1ncm91cC1oaWRkZW46ICgwLCA5NjkpO1xuXG4udGlsZV9fdGl0bGUtaHlwaGVuIHtcblx0ZGlzcGxheTogbm9uZTtcblxuXHRAaW5jbHVkZSBtZWRpYSgkcmFuZ2UtbGFwLW0sICRyYW5nZS1kZXNrLXMpIHtcblx0XHRkaXNwbGF5OiBpbmxpbmU7XG5cdH1cbn1cblxuLnRpbGVfX3N1YnRpdGxlIHtcblx0QGluY2x1ZGUgZmxleCgwIDAgYXV0byk7XG5cdG1hcmdpbjogMTBweCAwO1xuXHRmb250LXNpemU6ICRmb250LXNpemUtMTAwO1xuXHRmb250LXdlaWdodDogMzAwO1xuXHRsaW5lLWhlaWdodDogJGxpbmUtaGVpZ2h0LTQwO1xufVxuXG4udGlsZV9fdGV4dCB7XG5cdEBpbmNsdWRlIGZsZXgoMiAwIGF1dG8pO1xuXHQvL21heC13aWR0aDogMjAwcHg7XG5cdGZvbnQtc2l6ZTogJGZvbnQtc2l6ZS05MDtcblx0bGluZS1oZWlnaHQ6ICRsaW5lLWhlaWdodC0xMDA7XG59XG4iLCIucGFnZS1oZWFkZXIge1xuXHRtYXJnaW46IDAgMzBweDtcblxuXHRAaW5jbHVkZSBtZWRpYSgwLCAkcmFuZ2UtaGFuZCkge1xuXHRcdG1hcmdpbjogMCAxMHB4O1xuXHR9XG59XG5cbi5wYWdlLWhlYWRlcl9faW5uZXIge1xuXG5cdEBpbmNsdWRlIG1lZGlhKDAsICRyYW5nZS1wYWxtKSB7XG5cdFx0QGluY2x1ZGUgaW5uZXI7XG5cdFx0Ly8gaGVpZ2h0OiAxMjBweDtcblx0fVxuXG5cdEBpbmNsdWRlIG1lZGlhKCRyYW5nZS1oYW5kLCBmYWxzZSkge1xuXHRcdEBpbmNsdWRlIGlubmVyKCRjbGVhcmZpeDogZmFsc2UpO1xuXHRcdEBpbmNsdWRlIGRpc3BsYXkoZmxleCk7XG5cdFx0QGluY2x1ZGUganVzdGlmeS1jb250ZW50KHNwYWNlLWJldHdlZW4pO1xuXHRcdEBpbmNsdWRlIGZsZXgtd3JhcCh3cmFwKTtcblx0XHRoZWlnaHQ6IDcwcHg7XG5cdH1cbn1cblxuLnBhZ2UtaGVhZGVyX19sb2dvIHtcblx0ZGlzcGxheTogYmxvY2s7XG5cblx0QGluY2x1ZGUgbWVkaWEoMCwgJHJhbmdlLXBhbG0pIHtcblx0XHRtYXJnaW4tbGVmdDogMDtcblx0XHRwYWRkaW5nOiA4cHggMCAwO1xuXHR9XG5cblx0QGluY2x1ZGUgbWVkaWEoJHJhbmdlLWhhbmQsIGZhbHNlKSB7XG5cdFx0bWFyZ2luLXRvcDogYXV0bztcblx0XHRtYXJnaW4tYm90dG9tOiBhdXRvO1xuXHRcdC8vIG1hcmdpbi1sZWZ0OiAyMHB4O1xuXHR9XG59XG5cbi5wYWdlLWhlYWRlcl9fbG9nby1sb2dvIHtcblx0aGVpZ2h0OiA1NXB4O1xuXG5cdEBpbmNsdWRlIG1lZGlhKDAsICRyYW5nZS1wYWxtKSB7XG5cdFx0aGVpZ2h0OiAzNXB4O1xuXHR9XG5cblx0QGluY2x1ZGUgbWVkaWEoJHJhbmdlLWhhbmQpIHtcblx0XHRoZWlnaHQ6IDQ1cHg7XG5cdH1cbn1cblxuLnBhZ2UtaGVhZGVyX19uYXYge1xuXHRtYXJnaW46IDA7XG5cdGxpc3Qtc3R5bGU6IG5vbmU7XG5cblx0QGluY2x1ZGUgbWVkaWEoMCwgJHJhbmdlLXBhbG0pIHtcblx0XHRwYWRkaW5nOiAwO1xuXHRcdGhlaWdodDogMzVweDtcblx0XHR0ZXh0LWFsaWduOiBsZWZ0O1xuXHRcdGZvbnQtc2l6ZTogJGZvbnQtc2l6ZS03MDtcblx0fVxuXG5cdEBpbmNsdWRlIG1lZGlhKCRyYW5nZS1oYW5kLCBmYWxzZSkge1xuXHRcdHBhZGRpbmc6IDIwcHggMDtcblx0XHR0ZXh0LWFsaWduOiByaWdodDtcblx0fVxufVxuXG4ucGFnZS1oZWFkZXJfX25hdi1pdGVtIHtcblx0ZGlzcGxheTogaW5saW5lLWJsb2NrO1xuXG5cdEBpbmNsdWRlIG1lZGlhKDAsICRyYW5nZS1wYWxtKSB7XG5cdFx0bWFyZ2luLXJpZ2h0OiAxMHB4O1xuXHRcdGxpbmUtaGVpZ2h0OiAzNXB4O1xuXHR9XG5cblx0QGluY2x1ZGUgbWVkaWEoJHJhbmdlLWhhbmQsIGZhbHNlKSB7XG5cdFx0bWFyZ2luLWxlZnQ6IDMwcHg7XG5cdH1cbn1cblxuLnBhZ2UtaGVhZGVyX19uYXYtaXRlbS0taGlkZS1vbi1tb2JpbGUge1xuXG5cdEBpbmNsdWRlIG1lZGlhKDAsICRyYW5nZS1sYXAtcykge1xuXHRcdGRpc3BsYXk6IG5vbmU7XG5cdH1cbn1cblxuLnBhZ2UtaGVhZGVyX19uYXYtbGluayB7XG5cdEBpbmNsdWRlIGxpbmsoJGNvbG9yLXRleHQsIGZhbHNlKTtcblxuXHRAaW5jbHVkZSBtZWRpYSgwLCAkcmFuZ2UtaGFuZCkge1xuXHRcdGZvbnQtc2l6ZTogMTRweDtcblx0fVxuXG5cdEBpbmNsdWRlIG1lZGlhKCRyYW5nZS1sYXAsIGZhbHNlKSB7XG5cdFx0Zm9udC1zaXplOiAxNnB4O1xuXHR9XG59XG4iLCJAbWl4aW4gbGluaygkY29sb3I6ICRjb2xvci10ZXh0LCAkYm9yZGVyOiB0cnVlKSB7XG5cdEBpbmNsdWRlIHVzZXItc2VsZWN0KG5vbmUpO1xuXHRAaW5jbHVkZSB0cmFuc2l0aW9uKGJvcmRlci1ib3R0b20gMC4xcyBsaW5lYXIpO1xuXHRib3JkZXI6IG5vbmU7IC8vIE5PVEUgRm9yIGNoYW5naW5nIGJ1dHRvbnMgdG8gbGlua3MuXG5cdEBpZiAkYm9yZGVyIHtcblx0XHRib3JkZXItYm90dG9tOiAxcHggc29saWQgcmdiYSgkY29sb3IsIDAuNSk7XG5cdH0gQGVsc2Uge1xuXHRcdGJvcmRlci1ib3R0b206IDFweCBzb2xpZCByZ2JhKCRjb2xvciwgMCk7XG5cdH1cblx0Y29sb3I6ICRjb2xvcjtcblx0dGV4dC1kZWNvcmF0aW9uOiBub25lO1xuXHRjdXJzb3I6IHBvaW50ZXI7XG5cblx0Jjpob3ZlciB7XG5cdFx0Ym9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIHJnYmEoJGNvbG9yLCAwLjc1KTtcblx0fVxufVxuIiwiJHJhbmdlLXNsaWRlci1idXR0b24tZ3JvdXAtYWN0aXZlOiAoOTcwLCAxMDIzKTtcbiRyYW5nZS1zbGlkZXItYnV0dG9uLWdyb3VwLWhpZGRlbjogKDAsIDk2OSk7XG5cbi5jYXJvdXNlbCB7XG5cdEBpbmNsdWRlIHRyYW5zaXRpb24ob3BhY2l0eSAwLjRzIGVhc2UtaW4pO1xuXHRwb3NpdGlvbjogcmVsYXRpdmU7XG5cdC8vIHRvcDogLTYwcHg7XG5cdG92ZXJmbG93OiBoaWRkZW47XG5cdG1hcmdpbjogMCBhdXRvO1xuXHRtYXgtd2lkdGg6IDEzMDBweDtcblx0b3BhY2l0eTogMDtcblxuXHQmLmlzLWhpZGRlbiB7XG5cdFx0ZGlzcGxheTogbm9uZTtcblx0fVxuXG5cdCYuZmxpY2tpdHktZW5hYmxlZCB7XG5cdFx0b3BhY2l0eTogMTtcblx0fVxuXG5cdEBpbmNsdWRlIG1lZGlhKDAsICRyYW5nZS1oYW5kKSB7XG5cdFx0bWFyZ2luOiAwIDEwcHg7XG5cdFx0cGFkZGluZzogMDtcblx0XHQvLyBoZWlnaHQ6IDU1MHB4O1xuXHR9XG5cblx0QGluY2x1ZGUgbWVkaWEoJHJhbmdlLWhhbmQtbSwgJHJhbmdlLWxhcC1tKSB7XG5cdFx0Ly8gaGVpZ2h0OiA2ODBweDtcblx0fVxuXG5cdEBpbmNsdWRlIG1lZGlhKCRyYW5nZS1sYXAtbCwgZmFsc2UpIHtcblx0XHQvLyBwYWRkaW5nOiAwIDYwcHg7XG5cdFx0Ly8gaGVpZ2h0OiA3NTBweDtcblx0fVxufVxuXG4uY2Fyb3VzZWxfX2NlbGwge1xuXHRtYXJnaW4tcmlnaHQ6IDEwcHg7XG5cdHdpZHRoOiAxMDAlO1xufVxuXG4uY2Fyb3VzZWxfX2NlbGwtbWVkaWEge1xuXHRvdmVyZmxvdzogaGlkZGVuO1xuXG5cdEBpbmNsdWRlIG1lZGlhKDAsICRyYW5nZS1oYW5kKSB7XG5cdFx0aGVpZ2h0OiAxMDAlO1xuXHR9XG5cblx0QGluY2x1ZGUgbWVkaWEoJHJhbmdlLWxhcCkge1xuXHRcdGhlaWdodDogMTAwJTtcblx0fVxuXG5cdEBpbmNsdWRlIG1lZGlhKCRyYW5nZS1kZXNrLCBmYWxzZSkge1xuXHRcdGhlaWdodDogNDUwcHg7XG5cdH1cbn1cblxuLmNhcm91c2VsX19pbm5lciB7XG5cdEBpbmNsdWRlIGlubmVyO1xuXHRwb3NpdGlvbjogcmVsYXRpdmU7XG5cdG92ZXJmbG93OiBoaWRkZW47XG5cdG1hcmdpbi10b3A6IC0zMHB4O1xuXHRtYXJnaW4tYm90dG9tOiAxMHB4O1xuXHRwYWRkaW5nOiAwIDYxcHggMjVweDtcblx0bWF4LXdpZHRoOiAxMDQwcHg7XG5cblx0QGluY2x1ZGUgbWVkaWEoMCwkcmFuZ2UtaGFuZCkge1xuXHRcdHBhZGRpbmctYm90dG9tOiAyMHB4O1xuXHR9XG59XG5cbi5jYXJvdXNlbF9fY2VsbC1jb250ZW50IHtcblx0bWFyZ2luLXRvcDogNDBweDtcblxuXHRAaW5jbHVkZSBtZWRpYSgwLCAkcmFuZ2UtaGFuZCkge1xuXHRcdG1hcmdpbi10b3A6IDIwcHg7XG5cdH1cbn1cblxuLmNhcm91c2VsX19jZWxsLXRpdGxlIHtcblx0Zm9udC1zaXplOiAkZm9udC1zaXplLTMwMDtcblx0bGluZS1oZWlnaHQ6ICRsaW5lLWhlaWdodC0yMDA7XG59XG5cbi5jYXJvdXNlbF9fY2VsbC10ZXh0IHtcblx0Zm9udC1zaXplOiAkZm9udC1zaXplLTkwO1xuXHRsaW5lLWhlaWdodDogJGxpbmUtaGVpZ2h0LTIwMDtcbn1cblxuLmNhcm91c2VsX19jZWxsLXRhYmxlIHtcblx0bWFyZ2luLWJvdHRvbTogMTBweDtcblx0Zm9udC1zaXplOiAxNHB4O1xuXG5cdHRoIHtcblx0XHRwYWRkaW5nOiAycHggMTBweDtcblx0XHRiYWNrZ3JvdW5kOiAkY29sb3Itb3JhbmdlO1xuXHRcdGNvbG9yOiB3aGl0ZTtcblx0XHR0ZXh0LWFsaWduOiBsZWZ0O1xuXHR9XG5cblx0dGQge1xuXHRcdHBhZGRpbmc6IDJweCAxMHB4O1xuXHRcdGJhY2tncm91bmQ6IHdoaXRlO1xuXHRcdHRleHQtYWxpZ246IGxlZnQ7XG5cdH1cblxuXHR0cjpudGgtY2hpbGQoZXZlbikgdGQge1xuXHRcdGJhY2tncm91bmQ6IG1peCgkY29sb3Itb3JhbmdlLCB3aGl0ZSwgMjAlKTtcblx0fVxufVxuXG4uY2Fyb3VzZWxfX2NlbGwtbGlzdCB7XG5cdG1hcmdpbjogMDtcblx0cGFkZGluZzogMDtcblx0bGlzdC1zdHlsZTogbm9uZTtcbn1cblxuLmNhcm91c2VsX19jZWxsLWxpc3QtaXRlbSB7XG5cdGRpc3BsYXk6IGlubGluZTtcblx0Zm9udC1zaXplOiAxNnB4O1xuXHRmb250LXdlaWdodDogNTAwO1xuXG5cdCY6OmJlZm9yZSB7XG5cdFx0bWFyZ2luOiAwIDZweDtcblx0XHRjb2xvcjogJGNvbG9yLW9yYW5nZTtcblx0XHRjb250ZW50OiAnICsgJztcblx0fVxuXG5cdCY6Zmlyc3QtY2hpbGQ6OmJlZm9yZSB7XG5cdFx0bWFyZ2luOiAwO1xuXHRcdGNvbnRlbnQ6ICcnO1xuXHR9XG59XG5cbi5jYXJvdXNlbF9fYnV0dG9uLWdyb3VwIHtcblx0QGluY2x1ZGUgdHJhbnNmb3JtKHRyYW5zbGF0ZVkoLTUwJSkpO1xuXHRwb3NpdGlvbjogYWJzb2x1dGU7XG5cdHRvcDogNDIwcHg7XG5cdGxlZnQ6IDA7XG5cdHotaW5kZXg6IDEwMDtcblx0ZGlzcGxheTogYmxvY2s7XG5cdHdpZHRoOiAxMDAlO1xuXHR0ZXh0LWFsaWduOiBjZW50ZXI7XG5cblx0QGluY2x1ZGUgbWVkaWEoJHJhbmdlLXNsaWRlci1idXR0b24tZ3JvdXAtaGlkZGVuKSB7XG5cdFx0ZGlzcGxheTogbm9uZTtcblx0fVxuXG5cdEBpbmNsdWRlIG1lZGlhKCRyYW5nZS1zbGlkZXItYnV0dG9uLWdyb3VwLWFjdGl2ZSkge1xuXHRcdHRvcDogMzY1cHg7XG5cdH1cbn1cblxuLmNhcm91c2VsX19idXR0b24ge1xuXHRwb3NpdGlvbjogcmVsYXRpdmU7XG5cdHotaW5kZXg6IDk5OTtcblx0ZGlzcGxheTogaW5saW5lLWJsb2NrO1xuXHRtYXJnaW46IDAgOHB4O1xuXHRwYWRkaW5nOiA0cHggMzBweDtcblx0Ym9yZGVyOiAwIHNvbGlkICRjb2xvci1wdXJwbGU7XG5cdGJvcmRlci1yYWRpdXM6IDIwcHg7XG5cdGJhY2tncm91bmQ6ICRjb2xvci1waW5rO1xuXHRjb2xvcjogJGNvbG9yLXdoaXRlO1xuXHRmb250LXNpemU6IDE1cHg7XG5cdGZvbnQtd2VpZ2h0OiA2MDA7XG5cdG1hcmdpbi1ib3R0b206IDRweDtcblxuXHQmLmlzLWFjdGl2ZSB7XG5cdFx0Ym9yZGVyOiAycHggc29saWQgJGNvbG9yLWJsdWU7XG5cdFx0YmFja2dyb3VuZDogJGNvbG9yLXB1cnBsZTtcblx0XHRjb2xvcjogJGNvbG9yLXdoaXRlO1xuXHRcdHRyYW5zZm9ybTogc2NhbGUoMS4xKTtcblx0fVxufVxuXG4uY2Fyb3VzZWxfX2J1dHRvbjpudGgtY2hpbGQoMW4pIHtcblx0dHJhbnNmb3JtOiByb3RhdGUoLTJkZWcpO1xufVxuXG4uY2Fyb3VzZWxfX2J1dHRvbjpudGgtY2hpbGQoM24rMikge1xuXHR0cmFuc2Zvcm06IHJvdGF0ZSgyZGVnKTtcbn1cblxuLmNhcm91c2VsX19idXR0b246Om50aC1jaGlsZCgybiszKSB7XG5cdHRyYW5zZm9ybTogcm90YXRlKC0xZGVnKTtcbn1cblxuLmNhcm91c2VsX19wcm9kdWN0LWltYWdlIHtcblx0bWFyZ2luOiAwIGF1dG87XG59XG4iLCIuZGlzY292ZXIge1xuXHRwb3NpdGlvbjogcmVsYXRpdmU7XG5cdG1hcmdpbi10b3A6IDIwcHg7XG5cdG1hcmdpbi1yaWdodDogMzBweDtcblx0Ly8gbWFyZ2luLWJvdHRvbTogLTYwcHg7XG5cdG1hcmdpbi1sZWZ0OiAzMHB4O1xuXHRwYWRkaW5nOiAwO1xuXG5cdEBpbmNsdWRlIG1lZGlhKDAsICRyYW5nZS1oYW5kKSB7XG5cdFx0bWFyZ2luLXRvcDogMjBweDtcblx0XHRtYXJnaW4tcmlnaHQ6IDA7XG5cdFx0bWFyZ2luLWJvdHRvbTogMjBweDtcblx0XHRtYXJnaW4tbGVmdDogMDtcblx0fVxuXG5cdEBpbmNsdWRlIG1lZGlhKCRyYW5nZS1sYXAtbCwgZmFsc2UpIHtcblx0XHRwYWRkaW5nOiAwIDYwcHg7XG5cdH1cbn1cblxuLmRpc2NvdmVyX19iYWNrZ3JvdW5kIHtcblx0cG9zaXRpb246IGFic29sdXRlO1xuXHR0b3A6IDYwcHg7XG5cdGxlZnQ6IDA7XG5cdHdpZHRoOiAxMDAlO1xuXHRoZWlnaHQ6IDQ4MHB4O1xuXHRiYWNrZ3JvdW5kOiAjOTRjNWQxO1xuXG5cdEBpbmNsdWRlIG1lZGlhKCRyYW5nZS1sYXAsICRyYW5nZS1sYXAtbSkge1xuXHRcdHJpZ2h0OiAtMzBweDtcblx0XHRsZWZ0OiAtMzBweDtcblx0XHR3aWR0aDogYXV0bztcblx0fVxuXG5cdEBpbmNsdWRlIG1lZGlhKDAsOTY5KSB7XG5cdFx0Ym90dG9tOiAwO1xuXHRcdGhlaWdodDogYXV0bztcblx0fVxufVxuXG4uZGlzY292ZXIgLmNhcm91c2VsX19pbm5lciB7XG5cdGJhY2tncm91bmQ6IGFsaWNlYmx1ZTtcbn1cbiIsIi5nby1zcG9ydCB7XG5cdHBvc2l0aW9uOiByZWxhdGl2ZTtcblx0bWFyZ2luLXRvcDogMjBweDtcblx0bWFyZ2luLXJpZ2h0OiAzMHB4O1xuXHRtYXJnaW4tYm90dG9tOiAtMjBweDtcblx0bWFyZ2luLWxlZnQ6IDMwcHg7XG5cdHBhZGRpbmc6IDA7XG5cblx0Ji5pcy1oaWRkZW4ge1xuXHRcdGRpc3BsYXk6IG5vbmU7XG5cdH1cblxuXHRAaW5jbHVkZSBtZWRpYSgwLCAkcmFuZ2UtaGFuZCkge1xuXHRcdG1hcmdpbi10b3A6IDIwcHg7XG5cdFx0bWFyZ2luLXJpZ2h0OiAwO1xuXHRcdG1hcmdpbi1ib3R0b206IDIwcHg7XG5cdFx0bWFyZ2luLWxlZnQ6IDA7XG5cdH1cblxuXHRAaW5jbHVkZSBtZWRpYSgkcmFuZ2UtbGFwLWwsIGZhbHNlKSB7XG5cdFx0cGFkZGluZzogMCA2MHB4O1xuXHR9XG59XG5cbi5nby1zcG9ydF9fYmFja2dyb3VuZCB7XG5cdHBvc2l0aW9uOiBhYnNvbHV0ZTtcblx0dG9wOiA2MHB4O1xuXHRsZWZ0OiAwO1xuXHR3aWR0aDogMTAwJTtcblx0aGVpZ2h0OiA0ODBweDtcblx0YmFja2dyb3VuZDogbWl4KCRjb2xvci1ncmVlbiwgd2hpdGUsIDgwJSk7XG5cblx0QGluY2x1ZGUgbWVkaWEoJHJhbmdlLWxhcCwgJHJhbmdlLWxhcC1tKSB7XG5cdFx0cmlnaHQ6IC0zMHB4O1xuXHRcdGxlZnQ6IC0zMHB4O1xuXHRcdHdpZHRoOiBhdXRvO1xuXHR9XG5cblx0QGluY2x1ZGUgbWVkaWEoMCw5NjkpIHtcblx0XHRib3R0b206IDA7XG5cdFx0aGVpZ2h0OiBhdXRvO1xuXHR9XG59XG5cbi5nby1zcG9ydCAuY2Fyb3VzZWxfX2lubmVyIHtcblx0YmFja2dyb3VuZDogbWl4KCRjb2xvci1ncmVlbiwgd2hpdGUsIDEwJSk7XG59XG4iLCIuZ28tZXhwcmVzc2llIHtcblx0cG9zaXRpb246IHJlbGF0aXZlO1xuXHRtYXJnaW4tdG9wOiAyMHB4O1xuXHRtYXJnaW4tcmlnaHQ6IDMwcHg7XG5cdG1hcmdpbi1ib3R0b206IDMwcHg7XG5cdG1hcmdpbi1sZWZ0OiAzMHB4O1xuXHRwYWRkaW5nOiAwO1xuXG5cdCYuaXMtaGlkZGVuIHtcblx0XHRkaXNwbGF5OiBub25lO1xuXHR9XG5cblx0QGluY2x1ZGUgbWVkaWEoMCwgJHJhbmdlLWhhbmQpIHtcblx0XHRtYXJnaW4tdG9wOiAyMHB4O1xuXHRcdG1hcmdpbi1yaWdodDogMDtcblx0XHRtYXJnaW4tYm90dG9tOiAyMHB4O1xuXHRcdG1hcmdpbi1sZWZ0OiAwO1xuXHR9XG5cblx0QGluY2x1ZGUgbWVkaWEoJHJhbmdlLWxhcC1sLCBmYWxzZSkge1xuXHRcdHBhZGRpbmc6IDAgNjBweDtcblx0fVxufVxuXG4uZ28tZXhwcmVzc2llX19iYWNrZ3JvdW5kIHtcblx0cG9zaXRpb246IGFic29sdXRlO1xuXHR0b3A6IDYwcHg7XG5cdGxlZnQ6IDA7XG5cdHdpZHRoOiAxMDAlO1xuXHRoZWlnaHQ6IDQ4MHB4O1xuXHRiYWNrZ3JvdW5kOiBtaXgoJGNvbG9yLXllbGxvdywgd2hpdGUsIDgwJSk7XG5cblx0QGluY2x1ZGUgbWVkaWEoJHJhbmdlLWxhcCwgJHJhbmdlLWxhcC1tKSB7XG5cdFx0cmlnaHQ6IC0zMHB4O1xuXHRcdGxlZnQ6IC0zMHB4O1xuXHRcdHdpZHRoOiBhdXRvO1xuXHR9XG5cblx0QGluY2x1ZGUgbWVkaWEoMCw5NjkpIHtcblx0XHRib3R0b206IDA7XG5cdFx0aGVpZ2h0OiBhdXRvO1xuXHR9XG59XG5cbi5nby1leHByZXNzaWUgLmNhcm91c2VsX19pbm5lciB7XG5cdGJhY2tncm91bmQ6IG1peCgkY29sb3IteWVsbG93LCB3aGl0ZSwgMjAlKTtcbn1cbiIsIi5nby1tZWRpYSB7XG5cdHBvc2l0aW9uOiByZWxhdGl2ZTtcblx0bWFyZ2luLXRvcDogMjBweDtcblx0bWFyZ2luLXJpZ2h0OiAzMHB4O1xuXHRtYXJnaW4tYm90dG9tOiAtMzBweDtcblx0bWFyZ2luLWxlZnQ6IDMwcHg7XG5cdHBhZGRpbmc6IDA7XG5cblx0Ji5pcy1oaWRkZW4ge1xuXHRcdGRpc3BsYXk6IG5vbmU7XG5cdH1cblxuXHRAaW5jbHVkZSBtZWRpYSgwLCAkcmFuZ2UtaGFuZCkge1xuXHRcdG1hcmdpbi10b3A6IDIwcHg7XG5cdFx0bWFyZ2luLXJpZ2h0OiAwO1xuXHRcdG1hcmdpbi1ib3R0b206IDIwcHg7XG5cdFx0bWFyZ2luLWxlZnQ6IDA7XG5cdH1cblxuXHRAaW5jbHVkZSBtZWRpYSgkcmFuZ2UtbGFwLWwsIGZhbHNlKSB7XG5cdFx0cGFkZGluZzogMCA2MHB4O1xuXHR9XG59XG5cbi5nby1tZWRpYV9fYmFja2dyb3VuZCB7XG5cdHBvc2l0aW9uOiBhYnNvbHV0ZTtcblx0dG9wOiA2MHB4O1xuXHRsZWZ0OiAwO1xuXHR3aWR0aDogMTAwJTtcblx0aGVpZ2h0OiA0ODBweDtcblx0YmFja2dyb3VuZDogbWl4KCRjb2xvci1ncmVlbiwgd2hpdGUsIDgwJSk7XG5cblx0QGluY2x1ZGUgbWVkaWEoJHJhbmdlLWxhcCwgJHJhbmdlLWxhcC1tKSB7XG5cdFx0cmlnaHQ6IC0zMHB4O1xuXHRcdGxlZnQ6IC0zMHB4O1xuXHRcdHdpZHRoOiBhdXRvO1xuXHR9XG5cblx0QGluY2x1ZGUgbWVkaWEoMCw5NjkpIHtcblx0XHRib3R0b206IDA7XG5cdFx0aGVpZ2h0OiBhdXRvO1xuXHR9XG59XG5cbi5nby1tZWRpYSAuY2Fyb3VzZWxfX2lubmVyIHtcblx0YmFja2dyb3VuZDogbWl4KCRjb2xvci1ncmVlbiwgd2hpdGUsIDEwJSk7XG59XG4iLCIuZ28tdGVjaG5hc2l1bSB7XG5cdHBvc2l0aW9uOiByZWxhdGl2ZTtcblx0bWFyZ2luLXRvcDogMjBweDtcblx0bWFyZ2luLXJpZ2h0OiAzMHB4O1xuXHRtYXJnaW4tYm90dG9tOiAtMjBweDtcblx0bWFyZ2luLWxlZnQ6IDMwcHg7XG5cdHBhZGRpbmc6IDA7XG5cblx0Ji5pcy1oaWRkZW4ge1xuXHRcdGRpc3BsYXk6IG5vbmU7XG5cdH1cblxuXHRAaW5jbHVkZSBtZWRpYSgwLCAkcmFuZ2UtaGFuZCkge1xuXHRcdG1hcmdpbi10b3A6IDIwcHg7XG5cdFx0bWFyZ2luLXJpZ2h0OiAwO1xuXHRcdG1hcmdpbi1ib3R0b206IDIwcHg7XG5cdFx0bWFyZ2luLWxlZnQ6IDA7XG5cdH1cblxuXHRAaW5jbHVkZSBtZWRpYSgkcmFuZ2UtbGFwLWwsIGZhbHNlKSB7XG5cdFx0cGFkZGluZzogMCA2MHB4O1xuXHR9XG59XG5cbi5nby10ZWNobmFzaXVtX19iYWNrZ3JvdW5kIHtcblx0cG9zaXRpb246IGFic29sdXRlO1xuXHR0b3A6IDYwcHg7XG5cdGxlZnQ6IDA7XG5cdHdpZHRoOiAxMDAlO1xuXHRoZWlnaHQ6IDQ4MHB4O1xuXHRiYWNrZ3JvdW5kOiBtaXgoJGNvbG9yLW9yYW5nZSwgd2hpdGUsIDgwJSk7XG5cblx0QGluY2x1ZGUgbWVkaWEoJHJhbmdlLWxhcCwgJHJhbmdlLWxhcC1tKSB7XG5cdFx0cmlnaHQ6IC0zMHB4O1xuXHRcdGxlZnQ6IC0zMHB4O1xuXHRcdHdpZHRoOiBhdXRvO1xuXHR9XG5cblx0QGluY2x1ZGUgbWVkaWEoMCw5NjkpIHtcblx0XHRib3R0b206IDA7XG5cdFx0aGVpZ2h0OiBhdXRvO1xuXHR9XG59XG5cbi5nby10ZWNobmFzaXVtIC5jYXJvdXNlbF9faW5uZXIge1xuXHRiYWNrZ3JvdW5kOiBtaXgoJGNvbG9yLW9yYW5nZSwgd2hpdGUsIDEwJSk7XG59XG5cbi5nby10ZWNobmFzaXVtIC5jYXJvdXNlbCB7XG5cdC8vIGhlaWdodDogODUwcHg7XG59XG4iLCIuY2FsZW5kZXJfX2NhcmRzIHtcblx0cG9zaXRpb246IHJlbGF0aXZlO1xuXHRkaXNwbGF5OiBmbGV4O1xuXHR3aWR0aDogMTAwJTtcblx0anVzdGlmeS1jb250ZW50OiBzcGFjZS1ldmVubHk7XG5cblx0Ji5pcy1wYXN0IHtcblx0XHRkaXNwbGF5OiBub25lO1xuXHR9XG59XG5cbi5jYWxlbmRlcl9fY2FyZCB7XG5cdHBvc2l0aW9uOiByZWxhdGl2ZTtcblx0Ym9yZGVyLXRvcC1sZWZ0LXJhZGl1czogNnB4O1xuXHRib3JkZXItdG9wLXJpZ2h0LXJhZGl1czogNnB4O1xuXHRiYWNrZ3JvdW5kOiAkY29sb3Itd2hpdGU7XG5cdGJveC1zaGFkb3c6IDAgMnB4IDhweCByZ2JhKDAsMCwwLDAuMyk7XG5cdGJhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlbjtcblxuXHQmOm50aC1jaGlsZCgzbisyKSB7XG5cdFx0dHJhbnNmb3JtOiByb3RhdGUoMmRlZyk7XG5cdH1cblxuXHQmOm50aC1jaGlsZCgybiszKSB7XG5cdFx0dHJhbnNmb3JtOiByb3RhdGUoLTFkZWcpO1xuXHR9XG5cblx0Ji5pcy1wYXN0IHtcblx0XHRvcGFjaXR5OiAwLjQ7XG5cdH1cblxuXHRAaW5jbHVkZSBtZWRpYSgwLCAkcmFuZ2UtaGFuZCkge1xuXHRcdG1hcmdpbi1ib3R0b206IDEwcHg7XG5cdFx0d2lkdGg6IDEwMCU7XG5cdH1cblxuXHRAaW5jbHVkZSBtZWRpYSgkcmFuZ2UtbGFwKSB7XG5cdFx0ZmxvYXQ6IGxlZnQ7XG5cdFx0bWFyZ2luOiA0cHggMjBweDtcblx0XHR3aWR0aDogMjglO1xuXHRcdGhlaWdodDogMzAwcHg7XG5cdH1cblxuXHRAaW5jbHVkZSBtZWRpYSgkcmFuZ2UtZGVzaywgZmFsc2UpIHtcblx0XHRAaW5jbHVkZSBzcGFuLWNvbHVtbnMoMik7XG5cdFx0bWFyZ2luLXRvcDogLTMwcHg7XG5cdFx0bWFyZ2luLWJvdHRvbTogLTIwcHg7XG5cdFx0aGVpZ2h0OiAzMjBweDtcblx0fVxufVxuXG4uY2FsZW5kZXJfX2NvdmlkLW1lc3NhZ2Uge1xuXHRwb3NpdGlvbjogcmVsYXRpdmU7XG5cblx0aW1nIHtcblx0XHRwb3NpdGlvbjogYWJzb2x1dGU7XG5cdFx0dG9wOiAtNjRweDtcblx0XHRyaWdodDogLTQ4cHg7XG5cdFx0d2lkdGg6IDEyNHB4O1xuXHRcdGhlaWdodDogMTI0cHg7XG5cdFx0dHJhbnNmb3JtOiByb3RhdGUoMTBkZWcpO1xuXHR9XG59XG5cbi5jYWxlbmRlcl9fY2FyZHMtLWJhY2tncm91bmQge1xuXHQvL1xufVxuXG4uY2FsZW5kZXJfX2NhcmQtLWhlYWRlciB7XG5cblx0QGluY2x1ZGUgbWVkaWEoMCwgJHJhbmdlLWhhbmQpIHtcblx0XHRwYWRkaW5nOiAxMHB4IDEwcHggMDtcblx0fVxuXG5cdEBpbmNsdWRlIG1lZGlhKCRyYW5nZS1sYXAsIGZhbHNlKSB7XG5cdFx0bWFyZ2luOiA4cHggNXB4IDA7XG5cdFx0cGFkZGluZy1ib3R0b206IDhweDtcblx0XHRib3JkZXItYm90dG9tOiAxcHggc29saWQgI2NhY2FjYTtcblx0XHR0ZXh0LWFsaWduOiBjZW50ZXI7XG5cdH1cbn1cblxuLmNhbGVuZGVyX19kYXRlIHtcblxuXHRzcGFuIHtcblx0XHRjb2xvcjogJGNvbG9yLWJsYWNrO1xuXHRcdHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG5cdFx0Zm9udC1zaXplOiAkZm9udC1zaXplLTcwO1xuXHRcdGZvbnQtd2VpZ2h0OiA2MDA7XG5cdH1cblxuXHRAaW5jbHVkZSBtZWRpYSgwLCAkcmFuZ2UtaGFuZCkge1xuXHRcdGRpc3BsYXk6IGlubGluZTtcblx0fVxuXG5cdEBpbmNsdWRlIG1lZGlhKCRyYW5nZS1sYXAsIGZhbHNlKSB7XG5cdFx0bWFyZ2luOiA1cHg7XG5cdFx0Y29sb3I6ICRjb2xvci1yZWQ7XG5cdFx0Zm9udC1zaXplOiAkZm9udC1zaXplLTMwMDtcblx0XHRmb250LXdlaWdodDogNjAwO1xuXHRcdGxpbmUtaGVpZ2h0OiAkbGluZS1oZWlnaHQtMjA7XG5cdH1cbn1cblxuLmNhbGVuZGVyX19tb250aCB7XG5cdG1hcmdpbjogNXB4O1xuXHR0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuXG5cdEBpbmNsdWRlIG1lZGlhKDAsICRyYW5nZS1oYW5kKSB7XG5cdFx0ZGlzcGxheTogaW5saW5lO1xuXHR9XG5cblx0QGluY2x1ZGUgbWVkaWEoJHJhbmdlLWxhcCwgZmFsc2UpIHtcblx0XHRmb250LXNpemU6ICRmb250LXNpemUtMjAwO1xuXHRcdGxpbmUtaGVpZ2h0OiAkbGluZS1oZWlnaHQtMjA7XG5cdH1cbn1cblxuLmNhbGVuZGVyX190aXRsZSB7XG5cdGZvbnQtc2l6ZTogJGZvbnQtc2l6ZS0yMDA7XG5cdGZvbnQtd2VpZ2h0OiA2MDA7XG5cdGxpbmUtaGVpZ2h0OiAkbGluZS1oZWlnaHQtMjA7XG5cblx0QGluY2x1ZGUgbWVkaWEoMCwgJHJhbmdlLWhhbmQpIHtcblx0XHRtYXJnaW46IDVweCAwO1xuXHR9XG59XG5cbi5jYWxlbmRlcl9fY2FyZC0tY29udGVudCB7XG5cdHBhZGRpbmc6IDAgMTBweDtcblxuXHRAaW5jbHVkZSBtZWRpYSgwLCAkcmFuZ2UtaGFuZCkge1xuXHRcdGRpc3BsYXk6IGlubGluZS1ibG9jaztcblx0XHRwYWRkaW5nLWJvdHRvbTogMzBweDtcblx0fVxufVxuXG4uY2FsZW5kZXJfX3RleHQge1xuXHRtYXJnaW46IDA7XG5cdGZvbnQtc2l6ZTogJGZvbnQtc2l6ZS05MDtcbn1cblxuLmNhbGVuZGVyX190aW1lIHtcblx0Zm9udC1zaXplOiAkZm9udC1zaXplLTgwO1xuXHRmb250LXdlaWdodDogNjAwO1xuXG5cdEBpbmNsdWRlIG1lZGlhKDAsICRyYW5nZS1oYW5kKSB7XG5cdFx0bWFyZ2luOiAwIDAgMTBweDs7XG5cdH1cblxuXHRAaW5jbHVkZSBtZWRpYSgkcmFuZ2UtbGFwLCBmYWxzZSkge1xuXHRcdHBvc2l0aW9uOiBhYnNvbHV0ZTtcblx0XHRib3R0b206IDI1cHg7XG5cdH1cbn1cblxuLmNhbGVuZGVyX19jYXJkLS1jdGEge1xuXHRwb3NpdGlvbjogYWJzb2x1dGU7XG5cdGJvdHRvbTogMDtcblx0cGFkZGluZzogNHB4IDA7XG5cdHdpZHRoOiAxMDAlO1xuXHRjb2xvcjogJGNvbG9yLXdoaXRlO1xuXHR0ZXh0LWFsaWduOiBjZW50ZXI7XG5cdGZvbnQtc2l6ZTogJGZvbnQtc2l6ZS04MDtcblx0Zm9udC13ZWlnaHQ6IDYwMDtcblxuXHQuaXMtcGFzdCAmIHtcblx0XHRkaXNwbGF5OiBub25lO1xuXHR9XG59XG5cbi5jYWxlbmRlcl9fY2FyZC0tY3RhLWluc3R1aWYge1xuXHRiYWNrZ3JvdW5kOiAkY29sb3ItcGluaztcbn1cblxuLmNhbGVuZGVyX19jYXJkLS1jdGEtbWVlbG9vcCB7XG5cdGJhY2tncm91bmQ6ICRjb2xvci15ZWxsb3c7XG59XG5cbi5jYWxlbmRlcl9fY2FyZC0tY3RhLW9wZW5hdm9uZCB7XG5cdGJhY2tncm91bmQ6ICM0NjcxN2E7XG59XG5cbi5jYWxlbmRlcl9fY2FyZC0tY3RhLW9wZW5kYWcge1xuXHRiYWNrZ3JvdW5kOiAkY29sb3ItcHVycGxlO1xufVxuXG4uY2FsZW5kZXJfX2NhcmQtLWN0YS1leHBlcmllbmNlIHtcblx0YmFja2dyb3VuZDogJGNvbG9yLXllbGxvdztcbn1cblxuLmNhbGVuZGVyX19jYXJkLS1jdGEtb3VkZXIge1xuXHRiYWNrZ3JvdW5kOiAkY29sb3ItZ3JlZW47XG59XG4iLCIuZGF0ZSB7XG5cblx0Ji5pcy1wYXN0IHtcblx0XHRkaXNwbGF5OiBub25lO1xuXHR9XG59XG4iLCIubWVzc2FnZSB7XG5cdHBvc2l0aW9uOiByZWxhdGl2ZTtcblx0cGFkZGluZzogMTJweCAxMnB4IDEycHggNjBweDtcblx0YmFja2dyb3VuZDogcmdiYShibGFjaywgMC4wOCk7XG5cdHRleHQtYWxpZ246IGxlZnQ7XG5cblx0Jjo6YmVmb3JlIHtcblx0XHRwb3NpdGlvbjogYWJzb2x1dGU7XG5cdFx0dG9wOiAwO1xuXHRcdGJvdHRvbTogMDtcblx0XHRsZWZ0OiAwO1xuXHRcdHBhZGRpbmc6IDhweDtcblx0XHR3aWR0aDogNDhweDtcblx0XHRoZWlnaHQ6IDEwMCU7XG5cdFx0YmFja2dyb3VuZDogI2ViNzIyMSB1cmwoL2ltYWdlcy9jaGVjay5zdmcpIG5vLXJlcGVhdCBjZW50ZXIgY2VudGVyO1xuXHRcdGJhY2tncm91bmQtc2l6ZTogODAlIDgwJTtcblx0XHRjb250ZW50OiAnJztcblx0fVxufVxuIl0sInNvdXJjZVJvb3QiOiIvc291cmNlLyJ9 */