/**
 * Sherpa - CSS Implementation of Chalet Design Language
 * @version v0.0.32
 * @link https://gecgithub01.walmart.com/pages/nradfor/sherpa
 * @license ISC
 *
 * Built May 23rd, 2016
 *
 * © 2015, Sam's West, Inc. All rights reserved.
 */
@charset "UTF-8";
/*! normalize.css v3.0.3 | MIT License | github.com/necolas/normalize.css */
/**
 * 1. Set default font family to sans-serif.
 * 2. Prevent iOS and IE text size adjust after device 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/10/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 of focused elements when they are also in an
 * active/hover state.
 */
a:active,
a:hover {
  outline: 0; }

/* Text-level semantics
   ========================================================================== */
/**
 * Address styling not present in IE 8/9/10/11, Safari, and Chrome.
 */
abbr[title] {
  border-bottom: 1px dotted; }

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

/**
 * 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 {
  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.
 */
input[type="search"] {
  -webkit-appearance: textfield;
  /* 1 */
  box-sizing: content-box;
  /* 2 */ }

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

h1,
h2,
h3,
h4,
.sc-mega-heading,
.sc-super-heading,
.sc-large-heading,
.sc-small-heading, .sc-product-card-pov-cat figure figcaption, .sc-flag, .sc-flag-shocking-values, .sc-flag-trending, .sc-flag-almost-gone, .sc-flag-instant-savings, .sc-flag-top-rated, .sc-flag-new-lower-price, .sc-flag-best-seller, .sc-flag-new, .sc-flag-sams-exclusive, .sc-flag-vip-event, .sc-flag-tech-savings, .sc-flag-special-buy, .sc-flag-black-friday-preview, .sc-flag-black-friday, .sc-spec-table td {
  font-family: "bree-serif", serif; }

body,
.sc-text-body, .sc-overlay .sc-notification h1 {
  font-family: "aktiv-grotesk-std", sans-serif; }

body,
.sc-text-body {
  font-size: 15px;
  line-height: 1.618em;
  font-weight: 400;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  width: 100%;
  background-color: #ffffff; }

em,
.sc-text-emphasis {
  font-weight: 500;
  font-style: normal; }

small,
.sc-text-small,
.sc-product-card .sc-free-shipping {
  font-size: 13px;
  line-height: 24px;
  font-weight: 500; }

.sc-text-extrasmall {
  font-size: 11px;
  line-height: 13px;
  font-weight: 700;
  text-transform: uppercase; }

a,
a:hover,
a:visited {
  text-decoration: none;
  outline: none; }

:focus {
  outline: none; }

h1,
.sc-mega-heading {
  font-size: 64px;
  line-height: 72px; }

h2,
.sc-super-heading {
  font-size: 40px;
  line-height: 48px; }

h3,
.sc-large-heading {
  font-size: 24px;
  line-height: 24px; }

h4,
.sc-small-heading {
  font-size: 15px;
  line-height: 24px; }

.sc-text-blue {
  color: #2979FF; }

.sc-text-lightblue, .sc-product-card .sc-free-shipping {
  color: #009DE4; }

.sc-text-green, .sc-overlay .sc-content .sc-money-box .sc-subscription-frequency {
  color: #4ca90c; }

.sc-strikethrough {
  color: #A7A7A7;
  text-decoration: none;
  position: relative; }
  .sc-strikethrough:after {
    content: '';
    position: absolute;
    bottom: 45%;
    left: 0;
    right: 0;
    border-bottom: 1px solid #EF5847; }

.sc-price {
  display: table-cell;
  width: 100%;
  min-width: 100px;
  position: relative;
  bottom: -3px;
  font-weight: 700; }
  .sc-price .sc-dollars {
    font-size: 24px;
    line-height: 29px;
    padding: 0 2px 0 9px;
    display: inline-block; }
  .sc-price .sc-currency,
  .sc-price .sc-cents {
    font-size: 14px;
    position: absolute;
    display: inline-block; }

.sc-gray {
  color: #A7A7A7; }

.sc-breadcrumb {
  margin-left: 0;
  padding-left: 32px; }
  .sc-breadcrumb li {
    display: inline-block;
    color: #00C853;
    font-weight: 400; }
    .sc-breadcrumb li:after {
      content: ' > ';
      color: #E9E7E2;
      padding: 0 8px; }
    .sc-breadcrumb li:last-child:after {
      content: '';
      padding: 0; }

.sc-button {
  border: none;
  border-radius: 4px;
  color: white;
  font-size: 14px;
  font-weight: 700;
  line-height: 30px;
  height: 32px;
  padding-left: 16px;
  padding-right: 16px; }
  .sc-button:active, .sc-button:focus {
    outline: none; }

.sc-button-v2 {
  border: none;
  border-radius: 2px;
  color: white;
  font-size: 16px;
  font-weight: 700;
  line-height: 18px;
  height: 40px;
  padding-left: 20px;
  padding-right: 20px; }
  .sc-button-v2:active, .sc-button-v2:focus {
    outline: none; }

.sc-button-round {
  width: 30px;
  height: 30px;
  border-radius: 30px;
  line-height: 30px;
  background: #F8F7F5;
  color: #B1B0AE; }

.sc-button-green {
  background: #4ca90c; }

.sc-button-red {
  background: #EC0439; }

.green-v2 {
  background: #4ca90c; }

.sc-card {
  border-radius: 4px;
  box-shadow: 0 1px 2px rgba(18, 18, 18, 0.08), 0 3px 6px rgba(0, 0, 0, 0.06);
  background: white;
  box-sizing: border-box;
  padding: 16px;
  vertical-align: top; }

.sc-product-card.sc-product-card-small {
  height: 358px;
  width: 238px; }
  .sc-product-card.sc-product-card-small figure {
    height: 236px; }
    .sc-product-card.sc-product-card-small figure img {
      height: 190px; }

.sc-product-card.sc-product-card-medium {
  height: 399px;
  width: 285px; }
  .sc-product-card.sc-product-card-medium figure {
    height: 267px; }
    .sc-product-card.sc-product-card-medium figure img {
      height: 221px; }

.sc-product-card.sc-product-card-large {
  height: 470px;
  width: 380px; }
  .sc-product-card.sc-product-card-large figure {
    height: 348px; }
    .sc-product-card.sc-product-card-large figure img {
      height: 284px; }

.sc-product-card.sc-product-card-medium .sc-promo-information,
.sc-product-card.sc-product-card-large .sc-promo-information {
  font-size: 15px;
  line-height: 19px; }

.sc-product-card {
  position: relative;
  display: inline-block;
  white-space: normal;
  padding: 16px;
  background: white;
  box-sizing: border-box;
  overflow: hidden; }
  .sc-product-card .sc-card-flag {
    position: absolute;
    top: 16px;
    left: 16px;
    z-index: 10; }
  .sc-product-card header h1,
  .sc-product-card header h2,
  .sc-product-card header h3,
  .sc-product-card header h4 {
    margin-top: 0; }
  .sc-product-card section {
    text-align: center; }
  .sc-product-card figure {
    margin: 0;
    height: 268px;
    position: relative; }
  .sc-product-card a,
  .sc-product-card a:hover,
  .sc-product-card a:visited {
    text-decoration: none;
    color: rgba(34, 34, 34, 0.8); }
  .sc-product-card figcaption {
    text-align: left;
    font-size: 15px;
    line-height: 19px;
    position: absolute;
    padding-top: 8px; }
  .sc-product-card .sc-details {
    text-align: left; }
  .sc-product-card .sc-rating {
    display: inline-block;
    text-align: left;
    color: #e9e7e2;
    font-size: 18px;
    margin-top: 5px;
    margin-right: 5px; }
    .sc-product-card .sc-rating .star {
      display: inline; }
    .sc-product-card .sc-rating .star:after {
      content: '*';
      font-size: 24px; }
    .sc-product-card .sc-rating .sc-yellow {
      color: #f8e71c; }
  .sc-product-card .sc-free-shipping {
    font-size: 13px;
    vertical-align: top; }
  .sc-product-card footer {
    position: absolute;
    bottom: 16px;
    right: 16px;
    left: 16px;
    color: rgba(34, 34, 34, 0.8); }
    .sc-product-card footer .sc-promo-information {
      font-weight: 500;
      font-size: 13px;
      line-height: 16px; }
      .sc-product-card footer .sc-promo-information + .sc-promo-information {
        line-height: 19px; }
    .sc-product-card footer > .sc-promo-information.sc-gray {
      line-height: 19px; }
    .sc-product-card footer .sc-price-strikethrough {
      text-decoration: line-through;
      color: #EC0439;
      height: 19px;
      font-size: 15px;
      line-height: 19px; }
      .sc-product-card footer .sc-price-strikethrough .sc-old-price {
        color: #959595;
        font-weight: 500; }
    .sc-product-card footer .sc-price-prefix {
      display: table-cell;
      width: auto;
      white-space: nowrap;
      position: relative;
      bottom: -3px;
      padding-right: .5em;
      font-weight: 500;
      font-size: 13px; }
    .sc-product-card footer .sc-other-pricing {
      cursor: pointer;
      display: table-cell;
      width: 100%;
      font-weight: 500; }
    .sc-product-card footer a.sc-link-green {
      color: #43A047; }
    .sc-product-card footer .sc-actions {
      display: table-cell;
      width: auto;
      white-space: nowrap; }

.sc-overlay {
  position: absolute;
  background-color: rgba(34, 34, 34, 0.8);
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  color: white;
  display: table;
  width: 100%;
  height: 100%;
  z-index: 1; }
  .sc-overlay .sc-notification {
    display: table-cell;
    vertical-align: middle;
    height: 100%; }
    .sc-overlay .sc-notification h1 {
      margin: 0; }
  .sc-overlay .sc-content {
    display: table-row;
    background: white;
    color: black;
    min-height: 189px; }
    .sc-overlay .sc-content .sc-channels {
      height: 52px;
      background: #F9F9F9; }
      .sc-overlay .sc-content .sc-channels .sc-channel-title {
        margin-bottom: -4px;
        padding-top: 4px;
        font-size: 13px;
        font-weight: 500; }
      .sc-overlay .sc-content .sc-channels .sc-out-of-stock .sc-channel-title {
        color: #d0021b;
        text-transform: uppercase;
        font-size: 11px;
        font-weight: 800;
        letter-spacing: .8px; }
      .sc-overlay .sc-content .sc-channels .sc-out-of-stock .sc-location {
        color: rgba(34, 34, 34, 0.8);
        font-size: 15px;
        line-height: 18px; }
      .sc-overlay .sc-content .sc-channels .sc-channels {
        white-space: nowrap; }
      .sc-overlay .sc-content .sc-channels .sc-channel {
        display: inline-block;
        height: calc(100% - 2px);
        width: calc(50% - 2px);
        vertical-align: top; }
        .sc-overlay .sc-content .sc-channels .sc-channel .sc-price {
          display: block;
          border-bottom: 2px solid transparent;
          bottom: 3px; }
          .sc-overlay .sc-content .sc-channels .sc-channel .sc-price .sc-dollars {
            font-size: 18px;
            padding-left: 0; }
          .sc-overlay .sc-content .sc-channels .sc-channel .sc-price .sc-currency,
          .sc-overlay .sc-content .sc-channels .sc-channel .sc-price .sc-cents {
            font-size: 11px; }
          .sc-overlay .sc-content .sc-channels .sc-channel .sc-price .sc-currency {
            margin-left: -9px; }
      .sc-overlay .sc-content .sc-channels .sc-selected-channel .sc-price {
        border-bottom-color: #4ca90c; }
    .sc-overlay .sc-content .sc-money-box {
      box-sizing: border-box;
      padding: 1em; }
      .sc-overlay .sc-content .sc-money-box .sc-pricing-details {
        font-size: 11px;
        font-weight: 500;
        line-height: 17px; }
        .sc-overlay .sc-content .sc-money-box .sc-pricing-details .sc-unit-price:not(:only-child) {
          color: #A7A7A7;
          padding-right: 1em; }
      .sc-overlay .sc-content .sc-money-box .sc-units-chooser {
        margin-top: 1em; }
        .sc-overlay .sc-content .sc-money-box .sc-units-chooser .sc-input {
          width: 64px;
          margin-left: 8px;
          margin-right: 8px;
          text-align: center;
          font-weight: 500; }
        .sc-overlay .sc-content .sc-money-box .sc-units-chooser .sc-sprite-minus {
          position: relative;
          bottom: 5px;
          right: 7px; }
        .sc-overlay .sc-content .sc-money-box .sc-units-chooser .sc-sprite-plus {
          position: relative;
          top: 1px;
          right: 8px; }
      .sc-overlay .sc-content .sc-money-box .sc-subscription {
        margin-top: 1em;
        font-size: 13px; }
      .sc-overlay .sc-content .sc-money-box .sc-subscription-frequency {
        font-weight: 500; }
      .sc-overlay .sc-content .sc-money-box .sc-actions {
        margin-top: 1em;
        margin-bottom: 3px; }
        .sc-overlay .sc-content .sc-money-box .sc-actions .sc-button {
          width: 50%; }

.sc-product-card-list {
  white-space: nowrap; }
  .sc-product-card-list .sc-product-card {
    margin-right: 1em;
    width: 238px; }

/*

  PLP Cards

*/
/*

  Carousel Cards

*/
.sc-product-card-related-cat {
  height: 112px;
  width: 238px; }
  .sc-product-card-related-cat figure {
    width: 206px;
    text-align: left;
    display: table;
    margin: 0;
    text-align: left; }
    .sc-product-card-related-cat figure img {
      height: 80px;
      width: 80px;
      margin: 0 16px 0 0; }
    .sc-product-card-related-cat figure figcaption {
      display: table-cell;
      line-height: 16px;
      vertical-align: middle; }

.sc-product-card-pov-cat {
  height: 321px;
  width: 238px;
  padding: 24px 16px 40px 16px; }
  .sc-product-card-pov-cat figure {
    width: 206px;
    margin: 0;
    text-align: center; }
    .sc-product-card-pov-cat figure img {
      height: 178px;
      width: 178px;
      margin: 0 0 24px 0; }
    .sc-product-card-pov-cat figure figcaption {
      font-size: 20px;
      line-height: 30px;
      vertical-align: middle;
      height: 60px;
      color: #4d4d4d;
      font-weight: 600;
      text-align: center; }

.sc-content-card-small {
  height: 358px;
  width: 238px;
  overflow: hidden;
  font-size: 15px;
  line-height: 1.618em; }

.sc-content-card-medium {
  height: 399px;
  width: 285px;
  overflow: hidden;
  font-size: 15px;
  line-height: 1.618em; }

.sc-content-card-large {
  height: 470px;
  width: 380px;
  overflow: hidden;
  font-size: 15px;
  line-height: 1.618em; }

.sc-input-label {
  -webkit-user-select: none;
     -moz-user-select: none;
      -ms-user-select: none;
          user-select: none; }

.sc-checkbox {
  width: 20px;
  position: relative;
  display: inline-block;
  -webkit-user-select: none;
     -moz-user-select: none;
      -ms-user-select: none;
          user-select: none;
  padding-right: 8px; }
  .sc-checkbox label {
    width: 20px;
    height: 20px;
    cursor: pointer;
    position: absolute;
    top: 0;
    left: 0;
    background: transparent;
    border-radius: 4px;
    border: 1px solid #d8d8d8;
    white-space: nowrap; }
    .sc-checkbox label:after {
      content: '';
      width: 9px;
      height: 5px;
      position: absolute;
      top: 4px;
      left: 4px;
      border: 2px solid transparent;
      border-top: none;
      border-right: none;
      background: transparent;
      opacity: 0;
      -webkit-transform: rotate(-45deg);
          -ms-transform: rotate(-45deg);
              transform: rotate(-45deg); }
    .sc-checkbox label:hover::after {
      opacity: 0; }
  .sc-checkbox input[type=checkbox] {
    visibility: hidden; }
    .sc-checkbox input[type=checkbox]:checked + label:after {
      opacity: 1;
      border-color: #01cc75; }

.sc-flag, .sc-flag-shocking-values, .sc-flag-trending, .sc-flag-almost-gone, .sc-flag-instant-savings, .sc-flag-top-rated, .sc-flag-new-lower-price, .sc-flag-best-seller, .sc-flag-new, .sc-flag-sams-exclusive, .sc-flag-vip-event, .sc-flag-tech-savings, .sc-flag-special-buy, .sc-flag-black-friday-preview, .sc-flag-black-friday {
  font-size: 14px;
  line-height: 19px;
  border-radius: 2px;
  display: inline-block;
  height: 22px;
  padding-left: 8px;
  padding-right: 8px;
  color: white; }

.sc-flag-orange, .sc-flag-shocking-values, .sc-flag-trending, .sc-flag-almost-gone {
  background: #EC7202; }

.sc-flag-red, .sc-flag-instant-savings {
  background: #EC0439; }

.sc-flag-lightblue, .sc-flag-top-rated, .sc-flag-new-lower-price, .sc-flag-best-seller, .sc-flag-new, .sc-flag-sams-exclusive {
  background: #009DE4; }

.sc-flag-darkblue, .sc-flag-vip-event, .sc-flag-tech-savings, .sc-flag-special-buy {
  background: #2467B2; }

.sc-flag-black, .sc-flag-black-friday-preview, .sc-flag-black-friday {
  background: #424242; }

.sc-container:after {
  content: "";
  display: table;
  clear: both;
  border-spacing: 0; }

.sc-parent:before, .sc-product-grid .products:before, .sc-parent:after, .sc-product-grid .products:after {
  content: "";
  display: table;
  border-spacing: 0; }

.sc-parent:after, .sc-product-grid .products:after {
  clear: both; }

.sc-parent, .sc-product-grid .products {
  zoom: 1; }

.sc-push-0, .sc-push-1, .sc-push-2, .sc-push-3, .sc-push-4, .sc-push-5, .sc-push-6, .sc-push-7, .sc-push-8, .sc-push-9, .sc-push-10, .sc-push-11, .sc-push-12, .sc-push-13, .sc-push-14, .sc-push-15, .sc-push-16, .sc-push-17, .sc-push-18, .sc-push-19, .sc-push-20, .sc-push-21, .sc-push-22, .sc-push-23, .sc-push-24, .sc-pull-0, .sc-pull-1, .sc-pull-2, .sc-pull-3, .sc-pull-4, .sc-pull-5, .sc-pull-6, .sc-pull-7, .sc-pull-8, .sc-pull-9, .sc-pull-10, .sc-pull-11, .sc-pull-12, .sc-pull-13, .sc-pull-14, .sc-pull-15, .sc-pull-16, .sc-pull-17, .sc-pull-18, .sc-pull-19, .sc-pull-20, .sc-pull-21, .sc-pull-22, .sc-pull-23, .sc-pull-24 {
  position: relative; }

.sc-container {
  box-sizing: border-box; }

.sc-parent, .sc-product-grid .products {
  box-sizing: border-box; }

.sc-grid-0, .sc-grid-1, .sc-grid-2, .sc-grid-3, .sc-grid-4, .sc-grid-5, .sc-grid-6, .sc-grid-7, .sc-grid-8, .sc-grid-9, .sc-grid-10, .sc-grid-11, .sc-grid-12, .sc-grid-13, .sc-grid-14, .sc-grid-15, .sc-grid-16, .sc-grid-17, .sc-grid-18, .sc-grid-19, .sc-grid-20, .sc-grid-21, .sc-grid-22, .sc-grid-23, .sc-grid-24, .sc-product-grid .refinements, .sc-product-grid .products, .sc-product-grid .products .sc-product-card, .sc-product-grid.collapsed .products {
  display: inline-block;
  min-height: 1px;
  box-sizing: border-box; }

/**
 * Str replace
 *
 * @param {string}  $string    String that you want to replace
 * @param {string}  $substr    String that is to be replaced by `$newsubstr`
 * @param {string}  $newsubstr String that replaces `$substr`
 * @param {number*} $all       Flag for replaceing all (1+) or not (0)
 * @return {string}
 */
/**
 * Map set
 *
 * @param 	Map 	$map 		The map to use
 * @param 	String 	$key 		The key to update
 * @param 	Mixed 	$value 		The new value
 * @return 	Map 			The new map
 */
/**
 * Get the column width in percent for the global or a specific context
 *
 * @param 	int 		$columns 					The number of columns to calculate
 * @param 	int 		$context : $gridle-columns-count 	 	The context to use
 * @return 	percentage 							The width in percent
 */
/**
 *  Get a state map
 *
 * @param 	string 		$name 		The name of the state to get
 * @return 	map 				A state map object
 */
/**
 * Check if a state exist :
 *
 * @param 	string 		$name 		The name of the state to check
 * @return 	Boolean 			true is exist
 */
/**
 * Get the media queries variables :
 *
 * @param 	int 		$index 	 	The media query indes
 * @param 	String 		$var 		The media query variable name
 * @return 	String|int 			The variable value
 */
/**
 * Get a variable
 *
 * @param 	String 		$varName 				The variable name
 * @param  	String 		$stateMap-or-stateName 	 	The state name or a map state value
 * @return 	Mixed 							The finded value
 */
/**
 * Set a variable in a state
 * @param 	Mixed $stateName-or-stateIndex 	The state name of state index
 * @param  	String $var                    		Variable name to assign
 * @param  	Mixed $newValue          		The new value to assign
 * @return 	List                         			The states list (full)
 */
/**
 * Generate a column
 *
 * @param 	String 		$name 			The column name (often count)
 * @param 	int 		$columns 		The column count that the column will take
 * @param 	int 		$context 		The context on witch the with will be calculed
 * @param 	Boolean 	$generateClasses 	Set if the column has to be generated in css
 */
/**
 * Generate classname
 *
 * @param 	List 		$parrern 	The pattern to use to generate classname
 * @param 	String 		$state 		The state
 * @param 	int 		$count 		The column count
 */
/**
 * Get the media query for a particular state, or with, etc...
 *
 * @param 	Mixed 		$state-or-min-width 		The state name of the min with
 * @param 	Mixed 		$max-width 			The max width if first param is a min width
 * @return 	String 						The media query string without the @media
 */
/**
 * Get states count
 * 
 * @return 	int 	The number of states defined
 */
/**
 * Setup
 */
/**
 *  Register a clear each class
 */
/**
 * Register a special class
 */
/**
 * Register default states
 */
/**
 * Register default mobile first states :
 */
/**
 * Set the debug device (not used for now)
 * 
 * @param 	String 		$state 		The state to update
 * @para m 	String 		$device 	The device to use (iphone, etc...)
 */
/**
 * Parent clear each
 */
/**
 * Vertical align :
 */
/**
 * Show inline
 *
 * @param 	String 		$state 		The state name
 */
/**
 * Generate a custom class for all the states
 *
 * @param 	list 	$pattern 		The name pattern of the class
 * @param 	list 	$statesNames 		The states names to generate
 */
@media screen and (max-width: 400px) {
  @-ms-viewport {
    width: device-width; } }

#gridle-settings {
  content: '{ "version" : "1.3.40", "states" : { "retina":{ "query" : "(-webkit-min-device-pixel-ratio: 2), (min-resolution: 192dpi), (min-resolution: 2dppx)", "classes" : false, "name" : "retina", "_gridle" : true }, "tv":{ "query" : "only tv", "classes" : false, "name" : "tv", "_gridle" : true }, "print":{ "query" : "only print", "classes" : false, "name" : "print", "_gridle" : true }, "portrait":{ "query" : "only screen and (orientation: portrait)", "classes" : false, "name" : "portrait", "_gridle" : true }, "landscape":{ "query" : "only screen and (orientation: landscape)", "classes" : false, "name" : "landscape", "_gridle" : true }, "default":{ "name" : "default", "min-width" : null, "max-width" : null, "query" : null, "classes" : true, "context" : "24", "gutter-width" : "32px", "direction" : "ltr", "name-multiplicator" : "1", "debug" : false, "debug-show-class-names" : true, "ie7-support" : false, "html-states-classes" : false, "generate-push-classes" : true, "generate-pull-classes" : true, "generate-prefix-classes" : true, "generate-suffix-classes" : true, "generate-helpers-classes" : true, "_gridle" : true }} }'; }

.sc-grid-0, .sc-grid-1, .sc-grid-2, .sc-grid-3, .sc-grid-4, .sc-grid-5, .sc-grid-6, .sc-grid-7, .sc-grid-8, .sc-grid-9, .sc-grid-10, .sc-grid-11, .sc-grid-12, .sc-grid-13, .sc-grid-14, .sc-grid-15, .sc-grid-16, .sc-grid-17, .sc-grid-18, .sc-grid-19, .sc-grid-20, .sc-grid-21, .sc-grid-22, .sc-grid-23, .sc-grid-24 {
  float: left;
  direction: ltr;
  padding-left: 16px;
  padding-right: 16px; }

.sc-grid-0 {
  width: 0%; }

.sc-push-0 {
  left: 0%; }

.sc-pull-0 {
  right: 0%; }

.sc-prefix-0 {
  margin-left: 0%; }

.sc-suffix-0 {
  margin-right: 0%; }

.sc-grid-1 {
  width: 4.16667%; }

.sc-push-1 {
  left: 4.16667%; }

.sc-pull-1 {
  right: 4.16667%; }

.sc-prefix-1 {
  margin-left: 4.16667%; }

.sc-suffix-1 {
  margin-right: 4.16667%; }

.sc-grid-2 {
  width: 8.33333%; }

.sc-push-2 {
  left: 8.33333%; }

.sc-pull-2 {
  right: 8.33333%; }

.sc-prefix-2 {
  margin-left: 8.33333%; }

.sc-suffix-2 {
  margin-right: 8.33333%; }

.sc-grid-3 {
  width: 12.5%; }

.sc-push-3 {
  left: 12.5%; }

.sc-pull-3 {
  right: 12.5%; }

.sc-prefix-3 {
  margin-left: 12.5%; }

.sc-suffix-3 {
  margin-right: 12.5%; }

.sc-grid-4 {
  width: 16.66667%; }

.sc-push-4 {
  left: 16.66667%; }

.sc-pull-4 {
  right: 16.66667%; }

.sc-prefix-4 {
  margin-left: 16.66667%; }

.sc-suffix-4 {
  margin-right: 16.66667%; }

.sc-grid-5 {
  width: 20.83333%; }

.sc-push-5 {
  left: 20.83333%; }

.sc-pull-5 {
  right: 20.83333%; }

.sc-prefix-5 {
  margin-left: 20.83333%; }

.sc-suffix-5 {
  margin-right: 20.83333%; }

.sc-grid-6 {
  width: 25%; }

.sc-push-6 {
  left: 25%; }

.sc-pull-6 {
  right: 25%; }

.sc-prefix-6 {
  margin-left: 25%; }

.sc-suffix-6 {
  margin-right: 25%; }

.sc-grid-7 {
  width: 29.16667%; }

.sc-push-7 {
  left: 29.16667%; }

.sc-pull-7 {
  right: 29.16667%; }

.sc-prefix-7 {
  margin-left: 29.16667%; }

.sc-suffix-7 {
  margin-right: 29.16667%; }

.sc-grid-8 {
  width: 33.33333%; }

.sc-push-8 {
  left: 33.33333%; }

.sc-pull-8 {
  right: 33.33333%; }

.sc-prefix-8 {
  margin-left: 33.33333%; }

.sc-suffix-8 {
  margin-right: 33.33333%; }

.sc-grid-9 {
  width: 37.5%; }

.sc-push-9 {
  left: 37.5%; }

.sc-pull-9 {
  right: 37.5%; }

.sc-prefix-9 {
  margin-left: 37.5%; }

.sc-suffix-9 {
  margin-right: 37.5%; }

.sc-grid-10 {
  width: 41.66667%; }

.sc-push-10 {
  left: 41.66667%; }

.sc-pull-10 {
  right: 41.66667%; }

.sc-prefix-10 {
  margin-left: 41.66667%; }

.sc-suffix-10 {
  margin-right: 41.66667%; }

.sc-grid-11 {
  width: 45.83333%; }

.sc-push-11 {
  left: 45.83333%; }

.sc-pull-11 {
  right: 45.83333%; }

.sc-prefix-11 {
  margin-left: 45.83333%; }

.sc-suffix-11 {
  margin-right: 45.83333%; }

.sc-grid-12 {
  width: 50%; }

.sc-push-12 {
  left: 50%; }

.sc-pull-12 {
  right: 50%; }

.sc-prefix-12 {
  margin-left: 50%; }

.sc-suffix-12 {
  margin-right: 50%; }

.sc-grid-13 {
  width: 54.16667%; }

.sc-push-13 {
  left: 54.16667%; }

.sc-pull-13 {
  right: 54.16667%; }

.sc-prefix-13 {
  margin-left: 54.16667%; }

.sc-suffix-13 {
  margin-right: 54.16667%; }

.sc-grid-14 {
  width: 58.33333%; }

.sc-push-14 {
  left: 58.33333%; }

.sc-pull-14 {
  right: 58.33333%; }

.sc-prefix-14 {
  margin-left: 58.33333%; }

.sc-suffix-14 {
  margin-right: 58.33333%; }

.sc-grid-15 {
  width: 62.5%; }

.sc-push-15 {
  left: 62.5%; }

.sc-pull-15 {
  right: 62.5%; }

.sc-prefix-15 {
  margin-left: 62.5%; }

.sc-suffix-15 {
  margin-right: 62.5%; }

.sc-grid-16 {
  width: 66.66667%; }

.sc-push-16 {
  left: 66.66667%; }

.sc-pull-16 {
  right: 66.66667%; }

.sc-prefix-16 {
  margin-left: 66.66667%; }

.sc-suffix-16 {
  margin-right: 66.66667%; }

.sc-grid-17 {
  width: 70.83333%; }

.sc-push-17 {
  left: 70.83333%; }

.sc-pull-17 {
  right: 70.83333%; }

.sc-prefix-17 {
  margin-left: 70.83333%; }

.sc-suffix-17 {
  margin-right: 70.83333%; }

.sc-grid-18 {
  width: 75%; }

.sc-push-18 {
  left: 75%; }

.sc-pull-18 {
  right: 75%; }

.sc-prefix-18 {
  margin-left: 75%; }

.sc-suffix-18 {
  margin-right: 75%; }

.sc-grid-19 {
  width: 79.16667%; }

.sc-push-19 {
  left: 79.16667%; }

.sc-pull-19 {
  right: 79.16667%; }

.sc-prefix-19 {
  margin-left: 79.16667%; }

.sc-suffix-19 {
  margin-right: 79.16667%; }

.sc-grid-20 {
  width: 83.33333%; }

.sc-push-20 {
  left: 83.33333%; }

.sc-pull-20 {
  right: 83.33333%; }

.sc-prefix-20 {
  margin-left: 83.33333%; }

.sc-suffix-20 {
  margin-right: 83.33333%; }

.sc-grid-21 {
  width: 87.5%; }

.sc-push-21 {
  left: 87.5%; }

.sc-pull-21 {
  right: 87.5%; }

.sc-prefix-21 {
  margin-left: 87.5%; }

.sc-suffix-21 {
  margin-right: 87.5%; }

.sc-grid-22 {
  width: 91.66667%; }

.sc-push-22 {
  left: 91.66667%; }

.sc-pull-22 {
  right: 91.66667%; }

.sc-prefix-22 {
  margin-left: 91.66667%; }

.sc-suffix-22 {
  margin-right: 91.66667%; }

.sc-grid-23 {
  width: 95.83333%; }

.sc-push-23 {
  left: 95.83333%; }

.sc-pull-23 {
  right: 95.83333%; }

.sc-prefix-23 {
  margin-left: 95.83333%; }

.sc-suffix-23 {
  margin-right: 95.83333%; }

.sc-grid-24 {
  width: 100%; }

.sc-push-24 {
  left: 100%; }

.sc-pull-24 {
  right: 100%; }

.sc-prefix-24 {
  margin-left: 100%; }

.sc-suffix-24 {
  margin-right: 100%; }

.sc-float-left {
  float: left; }

.sc-float-right {
  float: right; }

.sc-clear {
  clear: both; }

.sc-clear-left {
  clear: left; }

.sc-clear-right {
  clear: right; }

.sc-no-gutter,
.sc-no-margin {
  padding-left: 0;
  padding-right: 0; }

.sc-no-gutter-left,
.sc-no-margin-left {
  padding-left: 0; }

.sc-no-gutter-right,
.sc-no-margin-right {
  padding-right: 0; }

.sc-no-gutter-top,
.sc-no-margin-top {
  padding-top: 0; }

.sc-no-gutter-bottom,
.sc-no-margin-bottom {
  padding-bottom: 0; }

.sc-gutter,
.sc-margins {
  padding-left: 16px;
  padding-right: 16px; }

.sc-gutter-left,
.sc-margin-left {
  padding-left: 16px; }

.sc-gutter-right,
.sc-margin-right {
  padding-right: 16px; }

.sc-gutter-top,
.sc-margin-top {
  padding-top: 16px; }

.sc-gutter-bottom,
.sc-margin-bottom {
  padding-bottom: 16px; }

.sc-auto-height {
  height: inherit; }

.sc-centered {
  display: block !important;
  float: none !important;
  margin-left: auto !important;
  margin-right: auto !important;
  clear: both !important; }

.sc-parent {
  padding-left: 0;
  padding-right: 0; }

.sc-vertical-align-middle {
  font-size: 0;
  clear: both; }
  .sc-vertical-align-middle > * {
    display: inline-block;
    float: none !important;
    vertical-align: middle;
    font-size: 1rem; }

.sc-vertical-align-top {
  font-size: 0;
  clear: both; }
  .sc-vertical-align-top > * {
    display: inline-block;
    float: none !important;
    vertical-align: top;
    font-size: 1rem; }

.sc-vertical-align-bottom {
  font-size: 0;
  clear: both; }
  .sc-vertical-align-bottom > * {
    display: inline-block;
    float: none !important;
    vertical-align: bottom;
    font-size: 1rem; }

/**
	 * Visible, hide, etc...
	 */
.sc-hide {
  display: none; }

.sc-not-visible {
  visibility: hidden; }

.sc-show {
  display: block; }

.sc-show-inline {
  display: inline-block; }

.sc-visible {
  visibility: visible; }

/**
	 * Clear each class :
	 */
.sc-product-grid {
  width: 1140px; }
  .sc-product-grid .refinements {
    float: left;
    direction: ltr;
    padding-left: 16px;
    padding-right: 16px;
    width: 25%;
    transition: all 300ms ease; }
  .sc-product-grid .products {
    float: left;
    direction: ltr;
    padding-left: 16px;
    padding-right: 16px;
    width: 75%;
    padding-left: 0;
    padding-right: 0;
    transition: all 300ms ease;
    -webkit-transform: translateZ(0, 0, 0);
            transform: translateZ(0, 0, 0); }
    .sc-product-grid .products .sc-product-card {
      transition: all 300ms ease;
      border-right: 1px solid #dcdcdc;
      float: left;
      direction: ltr;
      padding-left: 16px;
      padding-right: 16px;
      width: 33.33333%;
      border-bottom: 1px solid #dcdcdc; }
      .sc-product-grid .products .sc-product-card .sc-card-flag {
        z-index: 1; }
      .sc-product-grid .products .sc-product-card:nth-child(3n+3) {
        border-right: 0; }
      .sc-product-grid .products .sc-product-card figure img {
        transition: all 300ms ease;
        -webkit-transform: translateZ(0, 0, 0);
                transform: translateZ(0, 0, 0);
        width: 222px; }
  .sc-product-grid.collapsed .refinements {
    width: 0;
    height: 0;
    opacity: 0;
    pointer-events: none; }
  .sc-product-grid.collapsed .products {
    float: left;
    direction: ltr;
    padding-left: 16px;
    padding-right: 16px;
    width: 100%;
    -webkit-animation: collapse-refinements 300ms ease;
            animation: collapse-refinements 300ms ease; }
    .sc-product-grid.collapsed .products .sc-product-card {
      height: 450px; }
      .sc-product-grid.collapsed .products .sc-product-card figure {
        height: 330px; }
      .sc-product-grid.collapsed .products .sc-product-card figure img {
        width: 290px; }

@-webkit-keyframes collapse-refinements {
  from {
    margin-left: 25%; }
  to {
    margin-left: 0; } }

@keyframes collapse-refinements {
  from {
    margin-left: 25%; }
  to {
    margin-left: 0; } }

.sc-input {
  border: 1px solid #aaa;
  border-radius: 3px;
  padding: 4px 8px;
  box-sizing: border-box; }
  .sc-input:active, .sc-input:focus {
    outline: none; }
  .sc-input.sc-hide-spinner {
    -moz-appearance: textfield; }
    .sc-input.sc-hide-spinner::-webkit-outer-spin-button, .sc-input.sc-hide-spinner::-webkit-inner-spin-button {
      -webkit-appearance: none;
      margin: 0; }

.sc-spec-table {
  width: 100%; }
  .sc-spec-table th {
    font-size: 14px;
    line-height: 17px;
    font-weight: 300;
    vertical-align: text-bottom;
    text-align: left;
    padding: 3em 2em 0 1em;
    white-space: pre;
    display: table-cell;
    color: #878787; }
  .sc-spec-table td {
    font-size: 32px;
    line-height: 38px;
    font-weight: 700;
    vertical-align: text-bottom;
    width: 100%; }
  .sc-spec-table tr {
    border-bottom: 2px solid #F2F1ED; }

/*
SCSS variables are information about icon's compiled state, stored under its original file name

.icon-home {
  width: $icon-home-width;
}

The large array-like variables contain all information about a single icon
$icon-home: x y offset_x offset_y width height total_width total_height image_path;

At the bottom of this section, we provide information about the spritesheet itself
$spritesheet: width height image $spritesheet-sprites;
*/
/*
The provided mixins are intended to be used with the array-like variables

.icon-home {
  @include sprite-width($icon-home);
}

.icon-email {
  @include sprite($icon-email);
}
*/
/*
The `sprites` mixin generates identical output to the CSS template
  but can be overridden inside of SCSS

@include sprites($spritesheet-sprites);
*/
[class*='sc-sprite'] {
  background-image: url(sprite.png);
  display: inline-block; }

.sc-sprite-Cart {
  background-position: -329px -36px;
  width: 44px;
  height: 44px; }

.sc-sprite-Logo {
  background-position: -223px 0px;
  width: 166px;
  height: 36px; }

.sc-sprite-add-to-list {
  background-position: -223px -116px;
  width: 33px;
  height: 33px; }

.sc-sprite-arrow-green-bg {
  background-position: -329px -80px;
  width: 33px;
  height: 33px; }

.sc-sprite-arrow-green {
  background-position: -271px -149px;
  width: 17px;
  height: 14px; }

.sc-sprite-arrow-grey {
  background-position: -233px -165px;
  width: 8px;
  height: 14px; }

.sc-sprite-arrow-hb-lt {
  background-position: -223px -36px;
  width: 53px;
  height: 80px; }

.sc-sprite-arrow-hb-rt {
  background-position: -276px -36px;
  width: 53px;
  height: 80px; }

.sc-sprite-back-chevron {
  background-position: -362px -103px;
  width: 6px;
  height: 10px; }

.sc-sprite-caret-down-green {
  background-position: -368px -103px;
  width: 8px;
  height: 5px; }

.sc-sprite-caret-down-red {
  background-position: -376px -103px;
  width: 8px;
  height: 5px; }

.sc-sprite-check-green {
  background-position: -373px -68px;
  width: 14px;
  height: 12px; }

.sc-sprite-close-icon {
  background-position: -304px -149px;
  width: 12px;
  height: 13px; }

.sc-sprite-close {
  background-position: -376px -116px;
  width: 12px;
  height: 13px; }

.sc-sprite-facebook {
  background-position: -223px -149px;
  width: 16px;
  height: 16px; }

.sc-sprite-google {
  background-position: -239px -149px;
  width: 16px;
  height: 16px; }

.sc-sprite-greater-than-green {
  background-position: -223px -165px;
  width: 10px;
  height: 14px; }

.sc-sprite-greater-than-white-small {
  background-position: -232px -179px;
  width: 9px;
  height: 15px; }

.sc-sprite-greater-than-white {
  background-position: -223px -179px;
  width: 9px;
  height: 15px; }

.sc-sprite-hot-buys-left-shade {
  background-position: 0px 0px;
  width: 95px;
  height: 285px; }

.sc-sprite-hot-buys-right-shade {
  background-position: -95px 0px;
  width: 128px;
  height: 190px; }

.sc-sprite-hotbuys-arrow {
  background-position: -256px -116px;
  width: 30px;
  height: 30px; }

.sc-sprite-left-arrow {
  background-position: -358px -116px;
  width: 18px;
  height: 15px; }

.sc-sprite-minus {
  background-position: -368px -108px;
  width: 16px;
  height: 2px; }

.sc-sprite-p-grid-actv {
  background-position: -255px -149px;
  width: 16px;
  height: 16px; }

.sc-sprite-p-grid {
  background-position: -373px -52px;
  width: 16px;
  height: 16px; }

.sc-sprite-p-list-actv {
  background-position: -341px -116px;
  width: 17px;
  height: 16px; }

.sc-sprite-p-list {
  background-position: -324px -116px;
  width: 17px;
  height: 16px; }

.sc-sprite-pinterest {
  background-position: -373px -36px;
  width: 16px;
  height: 16px; }

.sc-sprite-plus {
  background-position: -307px -116px;
  width: 17px;
  height: 17px; }

.sc-sprite-search-arrow {
  background-position: -362px -80px;
  width: 22px;
  height: 23px; }

.sc-sprite-search-close {
  background-position: -316px -149px;
  width: 12px;
  height: 12px; }

.sc-sprite-search {
  background-position: -286px -116px;
  width: 21px;
  height: 21px; }

.sc-sprite-twitter {
  background-position: -288px -149px;
  width: 16px;
  height: 13px; }

/*
SCSS variables are information about icon's compiled state, stored under its original file name

.icon-home {
  width: $icon-home-width;
}

The large array-like variables contain all information about a single icon
$icon-home: x y offset_x offset_y width height total_width total_height image_path;

At the bottom of this section, we provide information about the spritesheet itself
$spritesheet: width height image $spritesheet-sprites;
*/
/* RETINA */
/* RETINA */
/*
These "retina group" variables are mappings for the naming and pairing of normal and retina sprites.

The list formatted variables are intended for mixins like `retina-sprite` and `retina-sprites`.
*/
/*
The provided mixins are intended to be used with the array-like variables

.icon-home {
  @include sprite-width($icon-home);
}

.icon-email {
  @include sprite($icon-email);
}
*/
/*
The `sprites` mixin generates identical output to the CSS template
  but can be overridden inside of SCSS

@include sprites($spritesheet-sprites);
*/
[class*=sc-rating] {
  display: inline-block; }

.sc-rating-0_0 {
  background-image: url(rating-sprite.png);
  background-position: 0px -12px;
  width: 76px;
  height: 12px; }
  @media (-webkit-min-device-pixel-ratio: 2), (min-resolution: 192dpi) {
    .sc-rating-0_0 {
      background-image: url(rating-sprite@2x.png);
      background-size: 152px 72px; } }

.sc-rating-0_5 {
  background-image: url(rating-sprite.png);
  background-position: 0px -60px;
  width: 76px;
  height: 12px; }
  @media (-webkit-min-device-pixel-ratio: 2), (min-resolution: 192dpi) {
    .sc-rating-0_5 {
      background-image: url(rating-sprite@2x.png);
      background-size: 152px 72px; } }

.sc-rating-1_0 {
  background-image: url(rating-sprite.png);
  background-position: 0px -24px;
  width: 76px;
  height: 12px; }
  @media (-webkit-min-device-pixel-ratio: 2), (min-resolution: 192dpi) {
    .sc-rating-1_0 {
      background-image: url(rating-sprite@2x.png);
      background-size: 152px 72px; } }

.sc-rating-1_5 {
  background-image: url(rating-sprite.png);
  background-position: 0px -36px;
  width: 76px;
  height: 12px; }
  @media (-webkit-min-device-pixel-ratio: 2), (min-resolution: 192dpi) {
    .sc-rating-1_5 {
      background-image: url(rating-sprite@2x.png);
      background-size: 152px 72px; } }

.sc-rating-2_0 {
  background-image: url(rating-sprite.png);
  background-position: 0px -48px;
  width: 76px;
  height: 12px; }
  @media (-webkit-min-device-pixel-ratio: 2), (min-resolution: 192dpi) {
    .sc-rating-2_0 {
      background-image: url(rating-sprite@2x.png);
      background-size: 152px 72px; } }

.sc-rating-2_5 {
  background-image: url(rating-sprite.png);
  background-position: 0px 0px;
  width: 76px;
  height: 12px; }
  @media (-webkit-min-device-pixel-ratio: 2), (min-resolution: 192dpi) {
    .sc-rating-2_5 {
      background-image: url(rating-sprite@2x.png);
      background-size: 152px 72px; } }

.sc-rating-3_0 {
  background-image: url(rating-sprite.png);
  background-position: -76px 0px;
  width: 76px;
  height: 12px; }
  @media (-webkit-min-device-pixel-ratio: 2), (min-resolution: 192dpi) {
    .sc-rating-3_0 {
      background-image: url(rating-sprite@2x.png);
      background-size: 152px 72px; } }

.sc-rating-3_5 {
  background-image: url(rating-sprite.png);
  background-position: -76px -12px;
  width: 76px;
  height: 12px; }
  @media (-webkit-min-device-pixel-ratio: 2), (min-resolution: 192dpi) {
    .sc-rating-3_5 {
      background-image: url(rating-sprite@2x.png);
      background-size: 152px 72px; } }

.sc-rating-4_0 {
  background-image: url(rating-sprite.png);
  background-position: -76px -24px;
  width: 76px;
  height: 12px; }
  @media (-webkit-min-device-pixel-ratio: 2), (min-resolution: 192dpi) {
    .sc-rating-4_0 {
      background-image: url(rating-sprite@2x.png);
      background-size: 152px 72px; } }

.sc-rating-4_5 {
  background-image: url(rating-sprite.png);
  background-position: -76px -36px;
  width: 76px;
  height: 12px; }
  @media (-webkit-min-device-pixel-ratio: 2), (min-resolution: 192dpi) {
    .sc-rating-4_5 {
      background-image: url(rating-sprite@2x.png);
      background-size: 152px 72px; } }

.sc-rating-5_0 {
  background-image: url(rating-sprite.png);
  background-position: -76px -48px;
  width: 76px;
  height: 12px; }
  @media (-webkit-min-device-pixel-ratio: 2), (min-resolution: 192dpi) {
    .sc-rating-5_0 {
      background-image: url(rating-sprite@2x.png);
      background-size: 152px 72px; } }

@font-face {
  font-family: "scIcons";
  src: url("fonts/scIcons.eot");
  src: url("fonts/scIcons.eot?") format("eot"), url("fonts/scIcons.woff") format("woff"), url("fonts/scIcons.ttf") format("truetype"), url("fonts/scIcons.svg") format("svg"); }

.sc-icon-caret:before {
  font-family: "scIcons";
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  font-style: normal;
  font-variant: normal;
  font-weight: normal;
  text-decoration: none;
  text-transform: none; }

.sc-icon-caret:before {
  content: ""; }

/*
SCSS variables are information about icon's compiled state, stored under its original file name

.icon-home {
  width: $icon-home-width;
}

The large array-like variables contain all information about a single icon
$icon-home: x y offset_x offset_y width height total_width total_height image_path;

At the bottom of this section, we provide information about the spritesheet itself
$spritesheet: width height image $spritesheet-sprites;
*/
/* RETINA */
/* RETINA */
/*
These "retina group" variables are mappings for the naming and pairing of normal and retina sprites.

The list formatted variables are intended for mixins like `retina-sprite` and `retina-sprites`.
*/
/*
The provided mixins are intended to be used with the array-like variables

.icon-home {
  @include sprite-width($icon-home);
}

.icon-email {
  @include sprite($icon-email);
}
*/
/*
The `sprites` mixin generates identical output to the CSS template
  but can be overridden inside of SCSS

@include sprites($spritesheet-sprites);
*/
[class*=sc-v2-] {
  display: inline-block; }

.sc-v2-001-logo-desk {
  background-image: url(sprites-v2.png);
  background-position: 0px -623px;
  width: 176px;
  height: 40px; }
  @media (-webkit-min-device-pixel-ratio: 2), (min-resolution: 192dpi) {
    .sc-v2-001-logo-desk {
      background-image: url(sprites-v2@2x.png);
      background-size: 176px 663px; } }

.sc-v2-003-logo-sticky {
  background-image: url(sprites-v2.png);
  background-position: 0px -493px;
  width: 143px;
  height: 32px; }
  @media (-webkit-min-device-pixel-ratio: 2), (min-resolution: 192dpi) {
    .sc-v2-003-logo-sticky {
      background-image: url(sprites-v2@2x.png);
      background-size: 176px 663px; } }

.sc-v2-005-arrow-down {
  background-image: url(sprites-v2.png);
  background-position: 0px 0px;
  width: 10px;
  height: 6px; }
  @media (-webkit-min-device-pixel-ratio: 2), (min-resolution: 192dpi) {
    .sc-v2-005-arrow-down {
      background-image: url(sprites-v2@2x.png);
      background-size: 176px 663px; } }

.sc-v2-007-arrow-up {
  background-image: url(sprites-v2.png);
  background-position: 0px -16px;
  width: 10px;
  height: 6px; }
  @media (-webkit-min-device-pixel-ratio: 2), (min-resolution: 192dpi) {
    .sc-v2-007-arrow-up {
      background-image: url(sprites-v2@2x.png);
      background-size: 176px 663px; } }

.sc-v2-009-caro-arr-lt {
  background-image: url(sprites-v2.png);
  background-position: 0px -451px;
  width: 32px;
  height: 32px; }
  @media (-webkit-min-device-pixel-ratio: 2), (min-resolution: 192dpi) {
    .sc-v2-009-caro-arr-lt {
      background-image: url(sprites-v2@2x.png);
      background-size: 176px 663px; } }

.sc-v2-011-caro-arr-rt {
  background-image: url(sprites-v2.png);
  background-position: 0px -409px;
  width: 32px;
  height: 32px; }
  @media (-webkit-min-device-pixel-ratio: 2), (min-resolution: 192dpi) {
    .sc-v2-011-caro-arr-rt {
      background-image: url(sprites-v2@2x.png);
      background-size: 176px 663px; } }

.sc-v2-013-cart-ico {
  background-image: url(sprites-v2.png);
  background-position: 0px -202px;
  width: 31px;
  height: 23px; }
  @media (-webkit-min-device-pixel-ratio: 2), (min-resolution: 192dpi) {
    .sc-v2-013-cart-ico {
      background-image: url(sprites-v2@2x.png);
      background-size: 176px 663px; } }

.sc-v2-015-fly-arr {
  background-image: url(sprites-v2.png);
  background-position: 0px -52px;
  width: 6px;
  height: 10px; }
  @media (-webkit-min-device-pixel-ratio: 2), (min-resolution: 192dpi) {
    .sc-v2-015-fly-arr {
      background-image: url(sprites-v2@2x.png);
      background-size: 176px 663px; } }

.sc-v2-017-fly-arr-active {
  background-image: url(sprites-v2.png);
  background-position: 0px -32px;
  width: 6px;
  height: 10px; }
  @media (-webkit-min-device-pixel-ratio: 2), (min-resolution: 192dpi) {
    .sc-v2-017-fly-arr-active {
      background-image: url(sprites-v2@2x.png);
      background-size: 176px 663px; } }

.sc-v2-019-menu {
  background-image: url(sprites-v2.png);
  background-position: 0px -146px;
  width: 23px;
  height: 18px; }
  @media (-webkit-min-device-pixel-ratio: 2), (min-resolution: 192dpi) {
    .sc-v2-019-menu {
      background-image: url(sprites-v2@2x.png);
      background-size: 176px 663px; } }

.sc-v2-021-srch-blu-reg {
  background-image: url(sprites-v2.png);
  background-position: 0px -579px;
  width: 34px;
  height: 34px; }
  @media (-webkit-min-device-pixel-ratio: 2), (min-resolution: 192dpi) {
    .sc-v2-021-srch-blu-reg {
      background-image: url(sprites-v2@2x.png);
      background-size: 176px 663px; } }

.sc-v2-023-srch-blu-stky {
  background-image: url(sprites-v2.png);
  background-position: 0px -373px;
  width: 26px;
  height: 26px; }
  @media (-webkit-min-device-pixel-ratio: 2), (min-resolution: 192dpi) {
    .sc-v2-023-srch-blu-stky {
      background-image: url(sprites-v2@2x.png);
      background-size: 176px 663px; } }

.sc-v2-025-srch-gray-reg {
  background-image: url(sprites-v2.png);
  background-position: 0px -535px;
  width: 34px;
  height: 34px; }
  @media (-webkit-min-device-pixel-ratio: 2), (min-resolution: 192dpi) {
    .sc-v2-025-srch-gray-reg {
      background-image: url(sprites-v2@2x.png);
      background-size: 176px 663px; } }

.sc-v2-027-srch-gray-stky {
  background-image: url(sprites-v2.png);
  background-position: 0px -337px;
  width: 26px;
  height: 26px; }
  @media (-webkit-min-device-pixel-ratio: 2), (min-resolution: 192dpi) {
    .sc-v2-027-srch-gray-stky {
      background-image: url(sprites-v2@2x.png);
      background-size: 176px 663px; } }

.sc-v2-029-x {
  background-image: url(sprites-v2.png);
  background-position: 0px -72px;
  width: 12px;
  height: 12px; }
  @media (-webkit-min-device-pixel-ratio: 2), (min-resolution: 192dpi) {
    .sc-v2-029-x {
      background-image: url(sprites-v2@2x.png);
      background-size: 176px 663px; } }

.sc-v2-031-chk {
  background-image: url(sprites-v2.png);
  background-position: 0px -120px;
  width: 16px;
  height: 16px; }
  @media (-webkit-min-device-pixel-ratio: 2), (min-resolution: 192dpi) {
    .sc-v2-031-chk {
      background-image: url(sprites-v2@2x.png);
      background-size: 176px 663px; } }

.sc-v2-033-lock {
  background-image: url(sprites-v2.png);
  background-position: 0px -94px;
  width: 14px;
  height: 16px; }
  @media (-webkit-min-device-pixel-ratio: 2), (min-resolution: 192dpi) {
    .sc-v2-033-lock {
      background-image: url(sprites-v2@2x.png);
      background-size: 176px 663px; } }

.sc-v2-035-menu-active {
  background-image: url(sprites-v2.png);
  background-position: 0px -174px;
  width: 23px;
  height: 18px; }
  @media (-webkit-min-device-pixel-ratio: 2), (min-resolution: 192dpi) {
    .sc-v2-035-menu-active {
      background-image: url(sprites-v2@2x.png);
      background-size: 176px 663px; } }

.sc-v2-037-facebook {
  background-image: url(sprites-v2.png);
  background-position: 0px -269px;
  width: 24px;
  height: 24px; }
  @media (-webkit-min-device-pixel-ratio: 2), (min-resolution: 192dpi) {
    .sc-v2-037-facebook {
      background-image: url(sprites-v2@2x.png);
      background-size: 176px 663px; } }

.sc-v2-039-pinterest {
  background-image: url(sprites-v2.png);
  background-position: 0px -303px;
  width: 24px;
  height: 24px; }
  @media (-webkit-min-device-pixel-ratio: 2), (min-resolution: 192dpi) {
    .sc-v2-039-pinterest {
      background-image: url(sprites-v2@2x.png);
      background-size: 176px 663px; } }

.sc-v2-041-twitter {
  background-image: url(sprites-v2.png);
  background-position: 0px -235px;
  width: 25px;
  height: 24px; }
  @media (-webkit-min-device-pixel-ratio: 2), (min-resolution: 192dpi) {
    .sc-v2-041-twitter {
      background-image: url(sprites-v2@2x.png);
      background-size: 176px 663px; } }

.sc-v2-005-arrow-down {
  cursor: pointer; }
  .sc-v2-005-arrow-down:hover {
    background-position: 0px -16px; }

.sc-v2-015-fly-arr {
  cursor: pointer; }
  .sc-v2-015-fly-arr:hover {
    background-position: 0px -32px; }

.sc-v2-025-srch-gray-reg {
  cursor: pointer; }
  .sc-v2-025-srch-gray-reg:hover {
    background-position: 0px -579px; }

.sc-v2-027-srch-gray-stky {
  cursor: pointer; }
  .sc-v2-027-srch-gray-stky:hover {
    background-position: 0px -373px; }

.sc-v2-019-menu {
  cursor: pointer; }
  .sc-v2-019-menu:hover {
    background-position: 0px -174px; }

/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImluZGV4LmNzcyIsIi4uL2Jvd2VyX2NvbXBvbmVudHMvbm9ybWFsaXplLXNjc3Mvbm9ybWFsaXplLmNzcyIsInR5cG9ncmFwaHkvdHlwb2dyYXBoeS5zY3NzIiwiX21peGlucy5zY3NzIiwiX3ZhcmlhYmxlcy5zY3NzIiwiYnJlYWRjcnVtYi9icmVhZGNydW1iLnNjc3MiLCJidXR0b24vYnV0dG9uLnNjc3MiLCJjYXJkL2NhcmQuc2NzcyIsImNoZWNrYm94L2NoZWNrYm94LnNjc3MiLCJmbGFnL2ZsYWcuc2NzcyIsIi4uL2Jvd2VyX2NvbXBvbmVudHMvZ3JpZGxlL3Nhc3MvZ3JpZGxlL19zaWxlbnQtY2xhc3Nlcy5zY3NzIiwiLi4vYm93ZXJfY29tcG9uZW50cy9ncmlkbGUvc2Fzcy9ncmlkbGUvX2dlbmVyYXRlLW1peGlucy5zY3NzIiwiLi4vYm93ZXJfY29tcG9uZW50cy9ncmlkbGUvc2Fzcy9ncmlkbGUvX2Z1bmN0aW9ucy5zY3NzIiwiLi4vYm93ZXJfY29tcG9uZW50cy9ncmlkbGUvc2Fzcy9ncmlkbGUvX3NldHRpbmdzLW1peGlucy5zY3NzIiwiLi4vYm93ZXJfY29tcG9uZW50cy9ncmlkbGUvc2Fzcy9ncmlkbGUvX21peGlucy5zY3NzIiwiLi4vYm93ZXJfY29tcG9uZW50cy9ncmlkbGUvc2Fzcy9ncmlkbGUvX2NvbW1vbi1taXhpbnMuc2NzcyIsImdyaWQvZ3JpZC5zY3NzIiwiaW5wdXQvaW5wdXQuc2NzcyIsInRhYmxlL3RhYmxlLnNjc3MiLCJzcHJpdGVzL3Nwcml0ZS5zY3NzIiwicmF0aW5ncy9yYXRpbmdzLnNjc3MiLCJpY29ucy9fc2NJY29ucy5zY3NzIiwic3ByaXRlcy12Mi9zcHJpdGVzLXYyLnNjc3MiLCJ2Mi1jdXN0b20vdjItY3VzdG9tLnNjc3MiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsaUJBQWlCO0FDQWpCLDRFQUE0RTtBQUU1RTs7OztHQUlHO0FBRUg7RUFDRSx3QkFBd0I7RUFBRSxPQUFPO0VBQ2pDLDJCQUEyQjtF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QixFSG9SYjs7QUFHRDtFR2xPTCxXQUZtQixFSHNPYjs7QUFHRDtFR2xMRyxpQkFKVyxFSHdMYjs7QUFHRDtFR2xJRyxrQkFKVyxFSHdJYjs7QUF0QkQ7RUdyVkwsaUJBSG1CLEVIMFZiOztBQUdEO0VHaFJMLGdCQUZtQixFSG9SYjs7QUFHRDtFR2xPTCxpQkFGbUIsRUhzT2I7O0FBR0Q7RUdsTEcsdUJBSlcsRUh3TGI7O0FBR0Q7RUdsSUcsd0JBSlcsRUh3SWI7O0FBdEJEO0VHclZMLGlCQUhtQixFSDBWYjs7QUFHRDtFR2hSTCxnQkFGbUIsRUhvUmI7O0FBR0Q7RUdsT0wsaUJBRm1CLEVIc09iOztBQUdEO0VHbExHLHVCQUpXLEVId0xiOztBQUdEO0VHbElHLHdCQUpXLEVId0liOztBQXRCRDtFR3JWTCxhQUhtQixFSDBWYjs7QUFHRDtFR2hSTCxZQUZtQixFSG9SYjs7QUFHRDtFR2xPTCxhQUZtQixFSHNPYjs7QUFHRDtFR2xMRyxtQkFKVyxFSHdMYjs7QUFHRDtFR2xJRyxvQkFKVyxFSHdJYjs7QUF0QkQ7RUdyVkwsaUJBSG1CLEVIMFZiOztBQUdEO0VHaFJMLGdCQUZtQixFSG9SYjs7QUFHRDtFR2xPTCxpQkFGbUIsRUhzT2I7O0FBR0Q7RUdsTEcsdUJBSlcsRUh3TGI7O0FBR0Q7RUdsSUcsd0JBSlcsRUh3SWI7O0FBdEJEO0VHclZMLGlCQUhtQixFSDBWYjs7QUFHRDtFR2hSTCxnQkFGbUIsRUhvUmI7O0FBR0Q7RUdsT0wsaUJBRm1CLEVIc09iOztBQUdEO0VHbExHLHVCQUpXLEVId0xiOztBQUdEO0VHbElHLHdCQUpXLEVId0liOztBQXRCRDtFR3JWTCxXQUhtQixFSDBWYjs7QUFHRDtFR2hSTCxVQUZtQixFSG9SYjs7QUFHRDtFR2xPTCxXQUZtQixFSHNPYjs7QUFHRDtFR2xMRyxpQkFKVyxFSHdMYjs7QUFHRDtFR2xJRyxrQkFKVyxFSHdJYjs7QUF0QkQ7RUdyVkwsaUJBSG1CLEVIMFZiOztBQUdEO0VHaFJMLGdCQUZtQixFSG9SYjs7QUFHRDtFR2xPTCxpQkFGbUIsRUhzT2I7O0FBR0Q7RUdsTEcsdUJBSlcsRUh3TGI7O0FBR0Q7RUdsSUcsd0JBSlcsRUh3SWI7O0FBdEJEO0VHclZMLGlCQUhtQixFSDBWYjs7QUFHRDtFR2hSTCxnQkFGbUIsRUhvUmI7O0FBR0Q7RUdsT0wsaUJBRm1CLEVIc09iOztBQUdEO0VHbExHLHVCQUpXLEVId0xiOztBQUdEO0VHbElHLHdCQUpXLEVId0liOztBQXRCRDtFR3JWTCxhQUhtQixFSDBWYjs7QUFHRDtFR2hSTCxZQUZtQixFSG9SYjs7QUFHRDtFR2xPTCxhQUZtQixFSHNPYjs7QUFHRDtFR2xMRyxtQkFKVyxFSHdMYjs7QUFHRDtFR2xJRyxvQkFKVyxFSHdJYjs7QUF0QkQ7RUdyVkwsaUJBSG1CLEVIMFZiOztBQUdEO0VHaFJMLGdCQUZtQixFSG9SYjs7QUFHRDtFR2xPTCxpQkFGbUIsRUhzT2I7O0FBR0Q7RUdsTEcsdUJBSlcsRUh3TGI7O0FBR0Q7RUdsSUcsd0JBSlcsRUh3SWI7O0FBdEJEO0VHclZMLGlCQUhtQixFSDBWYjs7QUFHRDtFR2hSTCxnQkFGbUIsRUhvUmI7O0FBR0Q7RUdsT0wsaUJBRm1CLEVIc09iOztBQUdEO0VHbExHLHVCQUpXLEVId0xiOztBQUdEO0VHbElHLHdCQUpXLEVId0liOztBQXRCRDtFR3JWTCxXQUhtQixFSDBWYjs7QUFHRDtFR2hSTCxVQUZtQixFSG9SYjs7QUFHRDtFR2xPTCxXQUZtQixFSHNPYjs7QUFHRDtFR2xMRyxpQkFKVyxFSHdMYjs7QUFHRDtFR2xJRyxrQkFKVyxFSHdJYjs7QUF0QkQ7RUdyVkwsaUJBSG1CLEVIMFZiOztBQUdEO0VHaFJMLGdCQUZtQixFSG9SYjs7QUFHRDtFR2xPTCxpQkFGbUIsRUhzT2I7O0FBR0Q7RUdsTEcsdUJBSlcsRUh3TGI7O0FBR0Q7RUdsSUcsd0JBSlcsRUh3SWI7O0FBdEJEO0VHclZMLGlCQUhtQixFSDBWYjs7QUFHRDtFR2hSTCxnQkFGbUIsRUhvUmI7O0FBR0Q7RUdsT0wsaUJBRm1CLEVIc09iOztBQUdEO0VHbExHLHVCQUpXLEVId0xiOztBQUdEO0VHbElHLHdCQUpXLEVI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TEQ7SUFHSSwrQkR5RmtDLEVDeEZuQzs7QUFHSDtFQUNFLGdCQUFnQixFQUlqQjtFQUxEO0lBR0ksZ0NEd0dpQyxFQ3ZHbEM7O0FBR0g7RUFDRSxnQkFBZ0IsRUFJakI7RUFMRDtJQUdJLGdDRDRHa0MsRUMzR25DOztBQUdIO0VBQ0UsZ0JBQWdCLEVBSWpCO0VBTEQ7SUFHSSxnQ0R1S2dDLEVDdEtqQyIsImZpbGUiOiJpbmRleC5jc3MiLCJzb3VyY2VzQ29udGVudCI6WyJAY2hhcnNldCBcIlVURi04XCI7XG4vKiEgbm9ybWFsaXplLmNzcyB2My4wLjMgfCBNSVQgTGljZW5zZSB8IGdpdGh1Yi5jb20vbmVjb2xhcy9ub3JtYWxpemUuY3NzICovXG4vKipcbiAqIDEuIFNldCBkZWZhdWx0IGZvbnQgZmFtaWx5IHRvIHNhbnMtc2VyaWYuXG4gKiAyLiBQcmV2ZW50IGlPUyBhbmQgSUUgdGV4dCBzaXplIGFkanVzdCBhZnRlciBkZXZpY2Ugb3JpZW50YXRpb24gY2hhbmdlLFxuICogICAgd2l0aG91dCBkaXNhYmxpbmcgdXNlciB6b29tLlxuICovXG5odG1sIHtcbiAgZm9udC1mYW1pbHk6IHNhbnMtc2VyaWY7XG4gIC8qIDEgKi9cbiAgLW1zLXRleHQtc2l6ZS1hZGp1c3Q6IDEwMCU7XG4gIC8qIDIgKi9cbiAgLXdlYmtpdC10ZXh0LXNpemUtYWRqdXN0OiAxMDAlO1xuICAvKiAyICovIH1cblxuLyoqXG4gKiBSZW1vdmUgZGVmYXVsdCBtYXJnaW4uXG4gKi9cbmJvZHkge1xuICBtYXJnaW46IDA7IH1cblxuLyogSFRNTDUgZGlzcGxheSBkZWZpbml0aW9uc1xuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8qKlxuICogQ29ycmVjdCBgYmxvY2tgIGRpc3BsYXkgbm90IGRlZmluZWQgZm9yIGFueSBIVE1MNSBlbGVtZW50IGluIElFIDgvOS5cbiAqIENvcnJlY3QgYGJsb2NrYCBkaXNwbGF5IG5vdCBkZWZpbmVkIGZvciBgZGV0YWlsc2Agb3IgYHN1bW1hcnlgIGluIElFIDEwLzExXG4gKiBhbmQgRmlyZWZveC5cbiAqIENvcnJlY3QgYGJsb2NrYCBkaXNwbGF5IG5vdCBkZWZpbmVkIGZvciBgbWFpbmAgaW4gSUUgMTEuXG4gKi9cbmFydGljbGUsXG5hc2lkZSxcbmRldGFpbHMsXG5maWdjYXB0aW9uLFxuZmlndXJlLFxuZm9vdGVyLFxuaGVhZGVyLFxuaGdyb3VwLFxubWFpbixcbm1lbnUsXG5uYXYsXG5zZWN0aW9uLFxuc3VtbWFyeSB7XG4gIGRpc3BsYXk6IGJsb2NrOyB9XG5cbi8qKlxuICogMS4gQ29ycmVjdCBgaW5saW5lLWJsb2NrYCBkaXNwbGF5IG5vdCBkZWZpbmVkIGluIElFIDgvOS5cbiAqIDIuIE5vcm1hbGl6ZSB2ZXJ0aWNhbCBhbGlnbm1lbnQgb2YgYHByb2dyZXNzYCBpbiBDaHJvbWUsIEZpcmVmb3gsIGFuZCBPcGVyYS5cbiAqL1xuYXVkaW8sXG5jYW52YXMsXG5wcm9ncmVzcyxcbnZpZGVvIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAvKiAxICovXG4gIHZlcnRpY2FsLWFsaWduOiBiYXNlbGluZTtcbiAgLyogMiAqLyB9XG5cbi8qKlxuICogUHJldmVudCBtb2Rlcm4gYnJvd3NlcnMgZnJvbSBkaXNwbGF5aW5nIGBhdWRpb2Agd2l0aG91dCBjb250cm9scy5cbiAqIFJlbW92ZSBleGNlc3MgaGVpZ2h0IGluIGlPUyA1IGRldmljZXMuXG4gKi9cbmF1ZGlvOm5vdChbY29udHJvbHNdKSB7XG4gIGRpc3BsYXk6IG5vbmU7XG4gIGhlaWdodDogMDsgfVxuXG4vKipcbiAqIEFkZHJlc3MgYFtoaWRkZW5dYCBzdHlsaW5nIG5vdCBwcmVzZW50IGluIElFIDgvOS8xMC5cbiAqIEhpZGUgdGhlIGB0ZW1wbGF0ZWAgZWxlbWVudCBpbiBJRSA4LzkvMTAvMTEsIFNhZmFyaSwgYW5kIEZpcmVmb3ggPCAyMi5cbiAqL1xuW2hpZGRlbl0sXG50ZW1wbGF0ZSB7XG4gIGRpc3BsYXk6IG5vbmU7IH1cblxuLyogTGlua3NcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKipcbiAqIFJlbW92ZSB0aGUgZ3JheSBiYWNrZ3JvdW5kIGNvbG9yIGZyb20gYWN0aXZlIGxpbmtzIGluIElFIDEwLlxuICovXG5hIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7IH1cblxuLyoqXG4gKiBJbXByb3ZlIHJlYWRhYmlsaXR5IG9mIGZvY3VzZWQgZWxlbWVudHMgd2hlbiB0aGV5IGFyZSBhbHNvIGluIGFuXG4gKiBhY3RpdmUvaG92ZXIgc3RhdGUuXG4gKi9cbmE6YWN0aXZlLFxuYTpob3ZlciB7XG4gIG91dGxpbmU6IDA7IH1cblxuLyogVGV4dC1sZXZlbCBzZW1hbnRpY3NcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKipcbiAqIEFkZHJlc3Mgc3R5bGluZyBub3QgcHJlc2VudCBpbiBJRSA4LzkvMTAvMTEsIFNhZmFyaSwgYW5kIENocm9tZS5cbiAqL1xuYWJiclt0aXRsZV0ge1xuICBib3JkZXItYm90dG9tOiAxcHggZG90dGVkOyB9XG5cbi8qKlxuICogQWRkcmVzcyBzdHlsZSBzZXQgdG8gYGJvbGRlcmAgaW4gRmlyZWZveCA0KywgU2FmYXJpLCBhbmQgQ2hyb21lLlxuICovXG5iLFxuc3Ryb25nIHtcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7IH1cblxuLyoqXG4gKiBBZGRyZXNzIHN0eWxpbmcgbm90IHByZXNlbnQgaW4gU2FmYXJpIGFuZCBDaHJvbWUuXG4gKi9cbmRmbiB7XG4gIGZvbnQtc3R5bGU6IGl0YWxpYzsgfVxuXG4vKipcbiAqIEFkZHJlc3MgdmFyaWFibGUgYGgxYCBmb250LXNpemUgYW5kIG1hcmdpbiB3aXRoaW4gYHNlY3Rpb25gIGFuZCBgYXJ0aWNsZWBcbiAqIGNvbnRleHRzIGluIEZpcmVmb3ggNCssIFNhZmFyaSwgYW5kIENocm9tZS5cbiAqL1xuaDEge1xuICBmb250LXNpemU6IDJlbTtcbiAgbWFyZ2luOiAwLjY3ZW0gMDsgfVxuXG4vKipcbiAqIEFkZHJlc3Mgc3R5bGluZyBub3QgcHJlc2VudCBpbiBJRSA4LzkuXG4gKi9cbm1hcmsge1xuICBiYWNrZ3JvdW5kOiAjZmYwO1xuICBjb2xvcjogIzAwMDsgfVxuXG4vKipcbiAqIEFkZHJlc3MgaW5jb25zaXN0ZW50IGFuZCB2YXJpYWJsZSBmb250IHNpemUgaW4gYWxsIGJyb3dzZXJzLlxuICovXG5zbWFsbCB7XG4gIGZvbnQtc2l6ZTogODAlOyB9XG5cbi8qKlxuICogUHJldmVudCBgc3ViYCBhbmQgYHN1cGAgYWZmZWN0aW5nIGBsaW5lLWhlaWdodGAgaW4gYWxsIGJyb3dzZXJzLlxuICovXG5zdWIsXG5zdXAge1xuICBmb250LXNpemU6IDc1JTtcbiAgbGluZS1oZWlnaHQ6IDA7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgdmVydGljYWwtYWxpZ246IGJhc2VsaW5lOyB9XG5cbnN1cCB7XG4gIHRvcDogLTAuNWVtOyB9XG5cbnN1YiB7XG4gIGJvdHRvbTogLTAuMjVlbTsgfVxuXG4vKiBFbWJlZGRlZCBjb250ZW50XG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLyoqXG4gKiBSZW1vdmUgYm9yZGVyIHdoZW4gaW5zaWRlIGBhYCBlbGVtZW50IGluIElFIDgvOS8xMC5cbiAqL1xuaW1nIHtcbiAgYm9yZGVyOiAwOyB9XG5cbi8qKlxuICogQ29ycmVjdCBvdmVyZmxvdyBub3QgaGlkZGVuIGluIElFIDkvMTAvMTEuXG4gKi9cbnN2Zzpub3QoOnJvb3QpIHtcbiAgb3ZlcmZsb3c6IGhpZGRlbjsgfVxuXG4vKiBHcm91cGluZyBjb250ZW50XG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLyoqXG4gKiBBZGRyZXNzIG1hcmdpbiBub3QgcHJlc2VudCBpbiBJRSA4LzkgYW5kIFNhZmFyaS5cbiAqL1xuZmlndXJlIHtcbiAgbWFyZ2luOiAxZW0gNDBweDsgfVxuXG4vKipcbiAqIEFkZHJlc3MgZGlmZmVyZW5jZXMgYmV0d2VlbiBGaXJlZm94IGFuZCBvdGhlciBicm93c2Vycy5cbiAqL1xuaHIge1xuICBib3gtc2l6aW5nOiBjb250ZW50LWJveDtcbiAgaGVpZ2h0OiAwOyB9XG5cbi8qKlxuICogQ29udGFpbiBvdmVyZmxvdyBpbiBhbGwgYnJvd3NlcnMuXG4gKi9cbnByZSB7XG4gIG92ZXJmbG93OiBhdXRvOyB9XG5cbi8qKlxuICogQWRkcmVzcyBvZGQgYGVtYC11bml0IGZvbnQgc2l6ZSByZW5kZXJpbmcgaW4gYWxsIGJyb3dzZXJzLlxuICovXG5jb2RlLFxua2JkLFxucHJlLFxuc2FtcCB7XG4gIGZvbnQtZmFtaWx5OiBtb25vc3BhY2UsIG1vbm9zcGFjZTtcbiAgZm9udC1zaXplOiAxZW07IH1cblxuLyogRm9ybXNcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKipcbiAqIEtub3duIGxpbWl0YXRpb246IGJ5IGRlZmF1bHQsIENocm9tZSBhbmQgU2FmYXJpIG9uIE9TIFggYWxsb3cgdmVyeSBsaW1pdGVkXG4gKiBzdHlsaW5nIG9mIGBzZWxlY3RgLCB1bmxlc3MgYSBgYm9yZGVyYCBwcm9wZXJ0eSBpcyBzZXQuXG4gKi9cbi8qKlxuICogMS4gQ29ycmVjdCBjb2xvciBub3QgYmVpbmcgaW5oZXJpdGVkLlxuICogICAgS25vd24gaXNzdWU6IGFmZmVjdHMgY29sb3Igb2YgZGlzYWJsZWQgZWxlbWVudHMuXG4gKiAyLiBDb3JyZWN0IGZvbnQgcHJvcGVydGllcyBub3QgYmVpbmcgaW5oZXJpdGVkLlxuICogMy4gQWRkcmVzcyBtYXJnaW5zIHNldCBkaWZmZXJlbnRseSBpbiBGaXJlZm94IDQrLCBTYWZhcmksIGFuZCBDaHJvbWUuXG4gKi9cbmJ1dHRvbixcbmlucHV0LFxub3B0Z3JvdXAsXG5zZWxlY3QsXG50ZXh0YXJlYSB7XG4gIGNvbG9yOiBpbmhlcml0O1xuICAvKiAxICovXG4gIGZvbnQ6IGluaGVyaXQ7XG4gIC8qIDIgKi9cbiAgbWFyZ2luOiAwO1xuICAvKiAzICovIH1cblxuLyoqXG4gKiBBZGRyZXNzIGBvdmVyZmxvd2Agc2V0IHRvIGBoaWRkZW5gIGluIElFIDgvOS8xMC8xMS5cbiAqL1xuYnV0dG9uIHtcbiAgb3ZlcmZsb3c6IHZpc2libGU7IH1cblxuLyoqXG4gKiBBZGRyZXNzIGluY29uc2lzdGVudCBgdGV4dC10cmFuc2Zvcm1gIGluaGVyaXRhbmNlIGZvciBgYnV0dG9uYCBhbmQgYHNlbGVjdGAuXG4gKiBBbGwgb3RoZXIgZm9ybSBjb250cm9sIGVsZW1lbnRzIGRvIG5vdCBpbmhlcml0IGB0ZXh0LXRyYW5zZm9ybWAgdmFsdWVzLlxuICogQ29ycmVjdCBgYnV0dG9uYCBzdHlsZSBpbmhlcml0YW5jZSBpbiBGaXJlZm94LCBJRSA4LzkvMTAvMTEsIGFuZCBPcGVyYS5cbiAqIENvcnJlY3QgYHNlbGVjdGAgc3R5bGUgaW5oZXJpdGFuY2UgaW4gRmlyZWZveC5cbiAqL1xuYnV0dG9uLFxuc2VsZWN0IHtcbiAgdGV4dC10cmFuc2Zvcm06IG5vbmU7IH1cblxuLyoqXG4gKiAxLiBBdm9pZCB0aGUgV2ViS2l0IGJ1ZyBpbiBBbmRyb2lkIDQuMC4qIHdoZXJlICgyKSBkZXN0cm95cyBuYXRpdmUgYGF1ZGlvYFxuICogICAgYW5kIGB2aWRlb2AgY29udHJvbHMuXG4gKiAyLiBDb3JyZWN0IGluYWJpbGl0eSB0byBzdHlsZSBjbGlja2FibGUgYGlucHV0YCB0eXBlcyBpbiBpT1MuXG4gKiAzLiBJbXByb3ZlIHVzYWJpbGl0eSBhbmQgY29uc2lzdGVuY3kgb2YgY3Vyc29yIHN0eWxlIGJldHdlZW4gaW1hZ2UtdHlwZVxuICogICAgYGlucHV0YCBhbmQgb3RoZXJzLlxuICovXG5idXR0b24sXG5odG1sIGlucHV0W3R5cGU9XCJidXR0b25cIl0sXG5pbnB1dFt0eXBlPVwicmVzZXRcIl0sXG5pbnB1dFt0eXBlPVwic3VibWl0XCJdIHtcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiBidXR0b247XG4gIC8qIDIgKi9cbiAgY3Vyc29yOiBwb2ludGVyO1xuICAvKiAzICovIH1cblxuLyoqXG4gKiBSZS1zZXQgZGVmYXVsdCBjdXJzb3IgZm9yIGRpc2FibGVkIGVsZW1lbnRzLlxuICovXG5idXR0b25bZGlzYWJsZWRdLFxuaHRtbCBpbnB1dFtkaXNhYmxlZF0ge1xuICBjdXJzb3I6IGRlZmF1bHQ7IH1cblxuLyoqXG4gKiBSZW1vdmUgaW5uZXIgcGFkZGluZyBhbmQgYm9yZGVyIGluIEZpcmVmb3ggNCsuXG4gKi9cbmJ1dHRvbjo6LW1vei1mb2N1cy1pbm5lcixcbmlucHV0OjotbW96LWZvY3VzLWlubmVyIHtcbiAgYm9yZGVyOiAwO1xuICBwYWRkaW5nOiAwOyB9XG5cbi8qKlxuICogQWRkcmVzcyBGaXJlZm94IDQrIHNldHRpbmcgYGxpbmUtaGVpZ2h0YCBvbiBgaW5wdXRgIHVzaW5nIGAhaW1wb3J0YW50YCBpblxuICogdGhlIFVBIHN0eWxlc2hlZXQuXG4gKi9cbmlucHV0IHtcbiAgbGluZS1oZWlnaHQ6IG5vcm1hbDsgfVxuXG4vKipcbiAqIEl0J3MgcmVjb21tZW5kZWQgdGhhdCB5b3UgZG9uJ3QgYXR0ZW1wdCB0byBzdHlsZSB0aGVzZSBlbGVtZW50cy5cbiAqIEZpcmVmb3gncyBpbXBsZW1lbnRhdGlvbiBkb2Vzbid0IHJlc3BlY3QgYm94LXNpemluZywgcGFkZGluZywgb3Igd2lkdGguXG4gKlxuICogMS4gQWRkcmVzcyBib3ggc2l6aW5nIHNldCB0byBgY29udGVudC1ib3hgIGluIElFIDgvOS8xMC5cbiAqIDIuIFJlbW92ZSBleGNlc3MgcGFkZGluZyBpbiBJRSA4LzkvMTAuXG4gKi9cbmlucHV0W3R5cGU9XCJjaGVja2JveFwiXSxcbmlucHV0W3R5cGU9XCJyYWRpb1wiXSB7XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gIC8qIDEgKi9cbiAgcGFkZGluZzogMDtcbiAgLyogMiAqLyB9XG5cbi8qKlxuICogRml4IHRoZSBjdXJzb3Igc3R5bGUgZm9yIENocm9tZSdzIGluY3JlbWVudC9kZWNyZW1lbnQgYnV0dG9ucy4gRm9yIGNlcnRhaW5cbiAqIGBmb250LXNpemVgIHZhbHVlcyBvZiB0aGUgYGlucHV0YCwgaXQgY2F1c2VzIHRoZSBjdXJzb3Igc3R5bGUgb2YgdGhlXG4gKiBkZWNyZW1lbnQgYnV0dG9uIHRvIGNoYW5nZSBmcm9tIGBkZWZhdWx0YCB0byBgdGV4dGAuXG4gKi9cbmlucHV0W3R5cGU9XCJudW1iZXJcIl06Oi13ZWJraXQtaW5uZXItc3Bpbi1idXR0b24sXG5pbnB1dFt0eXBlPVwibnVtYmVyXCJdOjotd2Via2l0LW91dGVyLXNwaW4tYnV0dG9uIHtcbiAgaGVpZ2h0OiBhdXRvOyB9XG5cbi8qKlxuICogMS4gQWRkcmVzcyBgYXBwZWFyYW5jZWAgc2V0IHRvIGBzZWFyY2hmaWVsZGAgaW4gU2FmYXJpIGFuZCBDaHJvbWUuXG4gKiAyLiBBZGRyZXNzIGBib3gtc2l6aW5nYCBzZXQgdG8gYGJvcmRlci1ib3hgIGluIFNhZmFyaSBhbmQgQ2hyb21lLlxuICovXG5pbnB1dFt0eXBlPVwic2VhcmNoXCJdIHtcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiB0ZXh0ZmllbGQ7XG4gIC8qIDEgKi9cbiAgYm94LXNpemluZzogY29udGVudC1ib3g7XG4gIC8qIDIgKi8gfVxuXG4vKipcbiAqIFJlbW92ZSBpbm5lciBwYWRkaW5nIGFuZCBzZWFyY2ggY2FuY2VsIGJ1dHRvbiBpbiBTYWZhcmkgYW5kIENocm9tZSBvbiBPUyBYLlxuICogU2FmYXJpIChidXQgbm90IENocm9tZSkgY2xpcHMgdGhlIGNhbmNlbCBidXR0b24gd2hlbiB0aGUgc2VhcmNoIGlucHV0IGhhc1xuICogcGFkZGluZyAoYW5kIGB0ZXh0ZmllbGRgIGFwcGVhcmFuY2UpLlxuICovXG5pbnB1dFt0eXBlPVwic2VhcmNoXCJdOjotd2Via2l0LXNlYXJjaC1jYW5jZWwtYnV0dG9uLFxuaW5wdXRbdHlwZT1cInNlYXJjaFwiXTo6LXdlYmtpdC1zZWFyY2gtZGVjb3JhdGlvbiB7XG4gIC13ZWJraXQtYXBwZWFyYW5jZTogbm9uZTsgfVxuXG4vKipcbiAqIERlZmluZSBjb25zaXN0ZW50IGJvcmRlciwgbWFyZ2luLCBhbmQgcGFkZGluZy5cbiAqL1xuZmllbGRzZXQge1xuICBib3JkZXI6IDFweCBzb2xpZCAjYzBjMGMwO1xuICBtYXJnaW46IDAgMnB4O1xuICBwYWRkaW5nOiAwLjM1ZW0gMC42MjVlbSAwLjc1ZW07IH1cblxuLyoqXG4gKiAxLiBDb3JyZWN0IGBjb2xvcmAgbm90IGJlaW5nIGluaGVyaXRlZCBpbiBJRSA4LzkvMTAvMTEuXG4gKiAyLiBSZW1vdmUgcGFkZGluZyBzbyBwZW9wbGUgYXJlbid0IGNhdWdodCBvdXQgaWYgdGhleSB6ZXJvIG91dCBmaWVsZHNldHMuXG4gKi9cbmxlZ2VuZCB7XG4gIGJvcmRlcjogMDtcbiAgLyogMSAqL1xuICBwYWRkaW5nOiAwO1xuICAvKiAyICovIH1cblxuLyoqXG4gKiBSZW1vdmUgZGVmYXVsdCB2ZXJ0aWNhbCBzY3JvbGxiYXIgaW4gSUUgOC85LzEwLzExLlxuICovXG50ZXh0YXJlYSB7XG4gIG92ZXJmbG93OiBhdXRvOyB9XG5cbi8qKlxuICogRG9uJ3QgaW5oZXJpdCB0aGUgYGZvbnQtd2VpZ2h0YCAoYXBwbGllZCBieSBhIHJ1bGUgYWJvdmUpLlxuICogTk9URTogdGhlIGRlZmF1bHQgY2Fubm90IHNhZmVseSBiZSBjaGFuZ2VkIGluIENocm9tZSBhbmQgU2FmYXJpIG9uIE9TIFguXG4gKi9cbm9wdGdyb3VwIHtcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7IH1cblxuLyogVGFibGVzXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLyoqXG4gKiBSZW1vdmUgbW9zdCBzcGFjaW5nIGJldHdlZW4gdGFibGUgY2VsbHMuXG4gKi9cbnRhYmxlIHtcbiAgYm9yZGVyLWNvbGxhcHNlOiBjb2xsYXBzZTtcbiAgYm9yZGVyLXNwYWNpbmc6IDA7IH1cblxudGQsXG50aCB7XG4gIHBhZGRpbmc6IDA7IH1cblxuaDEsXG5oMixcbmgzLFxuaDQsXG4uc2MtbWVnYS1oZWFkaW5nLFxuLnNjLXN1cGVyLWhlYWRpbmcsXG4uc2MtbGFyZ2UtaGVhZGluZyxcbi5zYy1zbWFsbC1oZWFkaW5nLCAuc2MtcHJvZHVjdC1jYXJkLXBvdi1jYXQgZmlndXJlIGZpZ2NhcHRpb24sIC5zYy1mbGFnLCAuc2MtZmxhZy1zaG9ja2luZy12YWx1ZXMsIC5zYy1mbGFnLXRyZW5kaW5nLCAuc2MtZmxhZy1hbG1vc3QtZ29uZSwgLnNjLWZsYWctaW5zdGFudC1zYXZpbmdzLCAuc2MtZmxhZy10b3AtcmF0ZWQsIC5zYy1mbGFnLW5ldy1sb3dlci1wcmljZSwgLnNjLWZsYWctYmVzdC1zZWxsZXIsIC5zYy1mbGFnLW5ldywgLnNjLWZsYWctc2Ftcy1leGNsdXNpdmUsIC5zYy1mbGFnLXZpcC1ldmVudCwgLnNjLWZsYWctdGVjaC1zYXZpbmdzLCAuc2MtZmxhZy1zcGVjaWFsLWJ1eSwgLnNjLWZsYWctYmxhY2stZnJpZGF5LXByZXZpZXcsIC5zYy1mbGFnLWJsYWNrLWZyaWRheSwgLnNjLXNwZWMtdGFibGUgdGQge1xuICBmb250LWZhbWlseTogXCJicmVlLXNlcmlmXCIsIHNlcmlmOyB9XG5cbmJvZHksXG4uc2MtdGV4dC1ib2R5LCAuc2Mtb3ZlcmxheSAuc2Mtbm90aWZpY2F0aW9uIGgxIHtcbiAgZm9udC1mYW1pbHk6IFwiYWt0aXYtZ3JvdGVzay1zdGRcIiwgc2Fucy1zZXJpZjsgfVxuXG5ib2R5LFxuLnNjLXRleHQtYm9keSB7XG4gIGZvbnQtc2l6ZTogMTVweDtcbiAgbGluZS1oZWlnaHQ6IDEuNjE4ZW07XG4gIGZvbnQtd2VpZ2h0OiA0MDA7XG4gIC13ZWJraXQtZm9udC1zbW9vdGhpbmc6IGFudGlhbGlhc2VkO1xuICAtbW96LW9zeC1mb250LXNtb290aGluZzogZ3JheXNjYWxlO1xuICB3aWR0aDogMTAwJTtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZmZmZjsgfVxuXG5lbSxcbi5zYy10ZXh0LWVtcGhhc2lzIHtcbiAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgZm9udC1zdHlsZTogbm9ybWFsOyB9XG5cbnNtYWxsLFxuLnNjLXRleHQtc21hbGwsXG4uc2MtcHJvZHVjdC1jYXJkIC5zYy1mcmVlLXNoaXBwaW5nIHtcbiAgZm9udC1zaXplOiAxM3B4O1xuICBsaW5lLWhlaWdodDogMjRweDtcbiAgZm9udC13ZWlnaHQ6IDUwMDsgfVxuXG4uc2MtdGV4dC1leHRyYXNtYWxsIHtcbiAgZm9udC1zaXplOiAxMXB4O1xuICBsaW5lLWhlaWdodDogMTNweDtcbiAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTsgfVxuXG5hLFxuYTpob3ZlcixcbmE6dmlzaXRlZCB7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgb3V0bGluZTogbm9uZTsgfVxuXG46Zm9jdXMge1xuICBvdXRsaW5lOiBub25lOyB9XG5cbmgxLFxuLnNjLW1lZ2EtaGVhZGluZyB7XG4gIGZvbnQtc2l6ZTogNjRweDtcbiAgbGluZS1oZWlnaHQ6IDcycHg7IH1cblxuaDIsXG4uc2Mtc3VwZXItaGVhZGluZyB7XG4gIGZvbnQtc2l6ZTogNDBweDtcbiAgbGluZS1oZWlnaHQ6IDQ4cHg7IH1cblxuaDMsXG4uc2MtbGFyZ2UtaGVhZGluZyB7XG4gIGZvbnQtc2l6ZTogMjRweDtcbiAgbGluZS1oZWlnaHQ6IDI0cHg7IH1cblxuaDQsXG4uc2Mtc21hbGwtaGVhZGluZyB7XG4gIGZvbnQtc2l6ZTogMTVweDtcbiAgbGluZS1oZWlnaHQ6IDI0cHg7IH1cblxuLnNjLXRleHQtYmx1ZSB7XG4gIGNvbG9yOiAjMjk3OUZGOyB9XG5cbi5zYy10ZXh0LWxpZ2h0Ymx1ZSwgLnNjLXByb2R1Y3QtY2FyZCAuc2MtZnJlZS1zaGlwcGluZyB7XG4gIGNvbG9yOiAjMDA5REU0OyB9XG5cbi5zYy10ZXh0LWdyZWVuLCAuc2Mtb3ZlcmxheSAuc2MtY29udGVudCAuc2MtbW9uZXktYm94IC5zYy1zdWJzY3JpcHRpb24tZnJlcXVlbmN5IHtcbiAgY29sb3I6ICM0Y2E5MGM7IH1cblxuLnNjLXN0cmlrZXRocm91Z2gge1xuICBjb2xvcjogI0E3QTdBNztcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cbiAgLnNjLXN0cmlrZXRocm91Z2g6YWZ0ZXIge1xuICAgIGNvbnRlbnQ6ICcnO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBib3R0b206IDQ1JTtcbiAgICBsZWZ0OiAwO1xuICAgIHJpZ2h0OiAwO1xuICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjRUY1ODQ3OyB9XG5cbi5zYy1wcmljZSB7XG4gIGRpc3BsYXk6IHRhYmxlLWNlbGw7XG4gIHdpZHRoOiAxMDAlO1xuICBtaW4td2lkdGg6IDEwMHB4O1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGJvdHRvbTogLTNweDtcbiAgZm9udC13ZWlnaHQ6IDcwMDsgfVxuICAuc2MtcHJpY2UgLnNjLWRvbGxhcnMge1xuICAgIGZvbnQtc2l6ZTogMjRweDtcbiAgICBsaW5lLWhlaWdodDogMjlweDtcbiAgICBwYWRkaW5nOiAwIDJweCAwIDlweDtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7IH1cbiAgLnNjLXByaWNlIC5zYy1jdXJyZW5jeSxcbiAgLnNjLXByaWNlIC5zYy1jZW50cyB7XG4gICAgZm9udC1zaXplOiAxNHB4O1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7IH1cblxuLnNjLWdyYXkge1xuICBjb2xvcjogI0E3QTdBNzsgfVxuXG4uc2MtYnJlYWRjcnVtYiB7XG4gIG1hcmdpbi1sZWZ0OiAwO1xuICBwYWRkaW5nLWxlZnQ6IDMycHg7IH1cbiAgLnNjLWJyZWFkY3J1bWIgbGkge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBjb2xvcjogIzAwQzg1MztcbiAgICBmb250LXdlaWdodDogNDAwOyB9XG4gICAgLnNjLWJyZWFkY3J1bWIgbGk6YWZ0ZXIge1xuICAgICAgY29udGVudDogJyA+ICc7XG4gICAgICBjb2xvcjogI0U5RTdFMjtcbiAgICAgIHBhZGRpbmc6IDAgOHB4OyB9XG4gICAgLnNjLWJyZWFkY3J1bWIgbGk6bGFzdC1jaGlsZDphZnRlciB7XG4gICAgICBjb250ZW50OiAnJztcbiAgICAgIHBhZGRpbmc6IDA7IH1cblxuLnNjLWJ1dHRvbiB7XG4gIGJvcmRlcjogbm9uZTtcbiAgYm9yZGVyLXJhZGl1czogNHB4O1xuICBjb2xvcjogd2hpdGU7XG4gIGZvbnQtc2l6ZTogMTRweDtcbiAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgbGluZS1oZWlnaHQ6IDMwcHg7XG4gIGhlaWdodDogMzJweDtcbiAgcGFkZGluZy1sZWZ0OiAxNnB4O1xuICBwYWRkaW5nLXJpZ2h0OiAxNnB4OyB9XG4gIC5zYy1idXR0b246YWN0aXZlLCAuc2MtYnV0dG9uOmZvY3VzIHtcbiAgICBvdXRsaW5lOiBub25lOyB9XG5cbi5zYy1idXR0b24tdjIge1xuICBib3JkZXI6IG5vbmU7XG4gIGJvcmRlci1yYWRpdXM6IDJweDtcbiAgY29sb3I6IHdoaXRlO1xuICBmb250LXNpemU6IDE2cHg7XG4gIGZvbnQtd2VpZ2h0OiA3MDA7XG4gIGxpbmUtaGVpZ2h0OiAxOHB4O1xuICBoZWlnaHQ6IDQwcHg7XG4gIHBhZGRpbmctbGVmdDogMjBweDtcbiAgcGFkZGluZy1yaWdodDogMjBweDsgfVxuICAuc2MtYnV0dG9uLXYyOmFjdGl2ZSwgLnNjLWJ1dHRvbi12Mjpmb2N1cyB7XG4gICAgb3V0bGluZTogbm9uZTsgfVxuXG4uc2MtYnV0dG9uLXJvdW5kIHtcbiAgd2lkdGg6IDMwcHg7XG4gIGhlaWdodDogMzBweDtcbiAgYm9yZGVyLXJhZGl1czogMzBweDtcbiAgbGluZS1oZWlnaHQ6IDMwcHg7XG4gIGJhY2tncm91bmQ6ICNGOEY3RjU7XG4gIGNvbG9yOiAjQjFCMEFFOyB9XG5cbi5zYy1idXR0b24tZ3JlZW4ge1xuICBiYWNrZ3JvdW5kOiAjNGNhOTBjOyB9XG5cbi5zYy1idXR0b24tcmVkIHtcbiAgYmFja2dyb3VuZDogI0VDMDQzOTsgfVxuXG4uZ3JlZW4tdjIge1xuICBiYWNrZ3JvdW5kOiAjNGNhOTBjOyB9XG5cbi5zYy1jYXJkIHtcbiAgYm9yZGVyLXJhZGl1czogNHB4O1xuICBib3gtc2hhZG93OiAwIDFweCAycHggcmdiYSgxOCwgMTgsIDE4LCAwLjA4KSwgMCAzcHggNnB4IHJnYmEoMCwgMCwgMCwgMC4wNik7XG4gIGJhY2tncm91bmQ6IHdoaXRlO1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICBwYWRkaW5nOiAxNnB4O1xuICB2ZXJ0aWNhbC1hbGlnbjogdG9wOyB9XG5cbi5zYy1wcm9kdWN0LWNhcmQuc2MtcHJvZHVjdC1jYXJkLXNtYWxsIHtcbiAgaGVpZ2h0OiAzNThweDtcbiAgd2lkdGg6IDIzOHB4OyB9XG4gIC5zYy1wcm9kdWN0LWNhcmQuc2MtcHJvZHVjdC1jYXJkLXNtYWxsIGZpZ3VyZSB7XG4gICAgaGVpZ2h0OiAyMzZweDsgfVxuICAgIC5zYy1wcm9kdWN0LWNhcmQuc2MtcHJvZHVjdC1jYXJkLXNtYWxsIGZpZ3VyZSBpbWcge1xuICAgICAgaGVpZ2h0OiAxOTBweDsgfVxuXG4uc2MtcHJvZHVjdC1jYXJkLnNjLXByb2R1Y3QtY2FyZC1tZWRpdW0ge1xuICBoZWlnaHQ6IDM5OXB4O1xuICB3aWR0aDogMjg1cHg7IH1cbiAgLnNjLXByb2R1Y3QtY2FyZC5zYy1wcm9kdWN0LWNhcmQtbWVkaXVtIGZpZ3VyZSB7XG4gICAgaGVpZ2h0OiAyNjdweDsgfVxuICAgIC5zYy1wcm9kdWN0LWNhcmQuc2MtcHJvZHVjdC1jYXJkLW1lZGl1bSBmaWd1cmUgaW1nIHtcbiAgICAgIGhlaWdodDogMjIxcHg7IH1cblxuLnNjLXByb2R1Y3QtY2FyZC5zYy1wcm9kdWN0LWNhcmQtbGFyZ2Uge1xuICBoZWlnaHQ6IDQ3MHB4O1xuICB3aWR0aDogMzgwcHg7IH1cbiAgLnNjLXByb2R1Y3QtY2FyZC5zYy1wcm9kdWN0LWNhcmQtbGFyZ2UgZmlndXJlIHtcbiAgICBoZWlnaHQ6IDM0OHB4OyB9XG4gICAgLnNjLXByb2R1Y3QtY2FyZC5zYy1wcm9kdWN0LWNhcmQtbGFyZ2UgZmlndXJlIGltZyB7XG4gICAgICBoZWlnaHQ6IDI4NHB4OyB9XG5cbi5zYy1wcm9kdWN0LWNhcmQuc2MtcHJvZHVjdC1jYXJkLW1lZGl1bSAuc2MtcHJvbW8taW5mb3JtYXRpb24sXG4uc2MtcHJvZHVjdC1jYXJkLnNjLXByb2R1Y3QtY2FyZC1sYXJnZSAuc2MtcHJvbW8taW5mb3JtYXRpb24ge1xuICBmb250LXNpemU6IDE1cHg7XG4gIGxpbmUtaGVpZ2h0OiAxOXB4OyB9XG5cbi5zYy1wcm9kdWN0LWNhcmQge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgd2hpdGUtc3BhY2U6IG5vcm1hbDtcbiAgcGFkZGluZzogMTZweDtcbiAgYmFja2dyb3VuZDogd2hpdGU7XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gIG92ZXJmbG93OiBoaWRkZW47IH1cbiAgLnNjLXByb2R1Y3QtY2FyZCAuc2MtY2FyZC1mbGFnIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAxNnB4O1xuICAgIGxlZnQ6IDE2cHg7XG4gICAgei1pbmRleDogMTA7IH1cbiAgLnNjLXByb2R1Y3QtY2FyZCBoZWFkZXIgaDEsXG4gIC5zYy1wcm9kdWN0LWNhcmQgaGVhZGVyIGgyLFxuICAuc2MtcHJvZHVjdC1jYXJkIGhlYWRlciBoMyxcbiAgLnNjLXByb2R1Y3QtY2FyZCBoZWFkZXIgaDQge1xuICAgIG1hcmdpbi10b3A6IDA7IH1cbiAgLnNjLXByb2R1Y3QtY2FyZCBzZWN0aW9uIHtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7IH1cbiAgLnNjLXByb2R1Y3QtY2FyZCBmaWd1cmUge1xuICAgIG1hcmdpbjogMDtcbiAgICBoZWlnaHQ6IDI2OHB4O1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuICAuc2MtcHJvZHVjdC1jYXJkIGEsXG4gIC5zYy1wcm9kdWN0LWNhcmQgYTpob3ZlcixcbiAgLnNjLXByb2R1Y3QtY2FyZCBhOnZpc2l0ZWQge1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICBjb2xvcjogcmdiYSgzNCwgMzQsIDM0LCAwLjgpOyB9XG4gIC5zYy1wcm9kdWN0LWNhcmQgZmlnY2FwdGlvbiB7XG4gICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgICBmb250LXNpemU6IDE1cHg7XG4gICAgbGluZS1oZWlnaHQ6IDE5cHg7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHBhZGRpbmctdG9wOiA4cHg7IH1cbiAgLnNjLXByb2R1Y3QtY2FyZCAuc2MtZGV0YWlscyB7XG4gICAgdGV4dC1hbGlnbjogbGVmdDsgfVxuICAuc2MtcHJvZHVjdC1jYXJkIC5zYy1yYXRpbmcge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAgIGNvbG9yOiAjZTllN2UyO1xuICAgIGZvbnQtc2l6ZTogMThweDtcbiAgICBtYXJnaW4tdG9wOiA1cHg7XG4gICAgbWFyZ2luLXJpZ2h0OiA1cHg7IH1cbiAgICAuc2MtcHJvZHVjdC1jYXJkIC5zYy1yYXRpbmcgLnN0YXIge1xuICAgICAgZGlzcGxheTogaW5saW5lOyB9XG4gICAgLnNjLXByb2R1Y3QtY2FyZCAuc2MtcmF0aW5nIC5zdGFyOmFmdGVyIHtcbiAgICAgIGNvbnRlbnQ6ICcqJztcbiAgICAgIGZvbnQtc2l6ZTogMjRweDsgfVxuICAgIC5zYy1wcm9kdWN0LWNhcmQgLnNjLXJhdGluZyAuc2MteWVsbG93IHtcbiAgICAgIGNvbG9yOiAjZjhlNzFjOyB9XG4gIC5zYy1wcm9kdWN0LWNhcmQgLnNjLWZyZWUtc2hpcHBpbmcge1xuICAgIGZvbnQtc2l6ZTogMTNweDtcbiAgICB2ZXJ0aWNhbC1hbGlnbjogdG9wOyB9XG4gIC5zYy1wcm9kdWN0LWNhcmQgZm9vdGVyIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgYm90dG9tOiAxNnB4O1xuICAgIHJpZ2h0OiAxNnB4O1xuICAgIGxlZnQ6IDE2cHg7XG4gICAgY29sb3I6IHJnYmEoMzQsIDM0LCAzNCwgMC44KTsgfVxuICAgIC5zYy1wcm9kdWN0LWNhcmQgZm9vdGVyIC5zYy1wcm9tby1pbmZvcm1hdGlvbiB7XG4gICAgICBmb250LXdlaWdodDogNTAwO1xuICAgICAgZm9udC1zaXplOiAxM3B4O1xuICAgICAgbGluZS1oZWlnaHQ6IDE2cHg7IH1cbiAgICAgIC5zYy1wcm9kdWN0LWNhcmQgZm9vdGVyIC5zYy1wcm9tby1pbmZvcm1hdGlvbiArIC5zYy1wcm9tby1pbmZvcm1hdGlvbiB7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxOXB4OyB9XG4gICAgLnNjLXByb2R1Y3QtY2FyZCBmb290ZXIgPiAuc2MtcHJvbW8taW5mb3JtYXRpb24uc2MtZ3JheSB7XG4gICAgICBsaW5lLWhlaWdodDogMTlweDsgfVxuICAgIC5zYy1wcm9kdWN0LWNhcmQgZm9vdGVyIC5zYy1wcmljZS1zdHJpa2V0aHJvdWdoIHtcbiAgICAgIHRleHQtZGVjb3JhdGlvbjogbGluZS10aHJvdWdoO1xuICAgICAgY29sb3I6ICNFQzA0Mzk7XG4gICAgICBoZWlnaHQ6IDE5cHg7XG4gICAgICBmb250LXNpemU6IDE1cHg7XG4gICAgICBsaW5lLWhlaWdodDogMTlweDsgfVxuICAgICAgLnNjLXByb2R1Y3QtY2FyZCBmb290ZXIgLnNjLXByaWNlLXN0cmlrZXRocm91Z2ggLnNjLW9sZC1wcmljZSB7XG4gICAgICAgIGNvbG9yOiAjOTU5NTk1O1xuICAgICAgICBmb250LXdlaWdodDogNTAwOyB9XG4gICAgLnNjLXByb2R1Y3QtY2FyZCBmb290ZXIgLnNjLXByaWNlLXByZWZpeCB7XG4gICAgICBkaXNwbGF5OiB0YWJsZS1jZWxsO1xuICAgICAgd2lkdGg6IGF1dG87XG4gICAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgYm90dG9tOiAtM3B4O1xuICAgICAgcGFkZGluZy1yaWdodDogLjVlbTtcbiAgICAgIGZvbnQtd2VpZ2h0OiA1MDA7XG4gICAgICBmb250LXNpemU6IDEzcHg7IH1cbiAgICAuc2MtcHJvZHVjdC1jYXJkIGZvb3RlciAuc2Mtb3RoZXItcHJpY2luZyB7XG4gICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgICBkaXNwbGF5OiB0YWJsZS1jZWxsO1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICBmb250LXdlaWdodDogNTAwOyB9XG4gICAgLnNjLXByb2R1Y3QtY2FyZCBmb290ZXIgYS5zYy1saW5rLWdyZWVuIHtcbiAgICAgIGNvbG9yOiAjNDNBMDQ3OyB9XG4gICAgLnNjLXByb2R1Y3QtY2FyZCBmb290ZXIgLnNjLWFjdGlvbnMge1xuICAgICAgZGlzcGxheTogdGFibGUtY2VsbDtcbiAgICAgIHdpZHRoOiBhdXRvO1xuICAgICAgd2hpdGUtc3BhY2U6IG5vd3JhcDsgfVxuXG4uc2Mtb3ZlcmxheSB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgzNCwgMzQsIDM0LCAwLjgpO1xuICB0b3A6IDA7XG4gIHJpZ2h0OiAwO1xuICBib3R0b206IDA7XG4gIGxlZnQ6IDA7XG4gIGNvbG9yOiB3aGl0ZTtcbiAgZGlzcGxheTogdGFibGU7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IDEwMCU7XG4gIHotaW5kZXg6IDE7IH1cbiAgLnNjLW92ZXJsYXkgLnNjLW5vdGlmaWNhdGlvbiB7XG4gICAgZGlzcGxheTogdGFibGUtY2VsbDtcbiAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICAgIGhlaWdodDogMTAwJTsgfVxuICAgIC5zYy1vdmVybGF5IC5zYy1ub3RpZmljYXRpb24gaDEge1xuICAgICAgbWFyZ2luOiAwOyB9XG4gIC5zYy1vdmVybGF5IC5zYy1jb250ZW50IHtcbiAgICBkaXNwbGF5OiB0YWJsZS1yb3c7XG4gICAgYmFja2dyb3VuZDogd2hpdGU7XG4gICAgY29sb3I6IGJsYWNrO1xuICAgIG1pbi1oZWlnaHQ6IDE4OXB4OyB9XG4gICAgLnNjLW92ZXJsYXkgLnNjLWNvbnRlbnQgLnNjLWNoYW5uZWxzIHtcbiAgICAgIGhlaWdodDogNTJweDtcbiAgICAgIGJhY2tncm91bmQ6ICNGOUY5Rjk7IH1cbiAgICAgIC5zYy1vdmVybGF5IC5zYy1jb250ZW50IC5zYy1jaGFubmVscyAuc2MtY2hhbm5lbC10aXRsZSB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IC00cHg7XG4gICAgICAgIHBhZGRpbmctdG9wOiA0cHg7XG4gICAgICAgIGZvbnQtc2l6ZTogMTNweDtcbiAgICAgICAgZm9udC13ZWlnaHQ6IDUwMDsgfVxuICAgICAgLnNjLW92ZXJsYXkgLnNjLWNvbnRlbnQgLnNjLWNoYW5uZWxzIC5zYy1vdXQtb2Ytc3RvY2sgLnNjLWNoYW5uZWwtdGl0bGUge1xuICAgICAgICBjb2xvcjogI2QwMDIxYjtcbiAgICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICAgICAgZm9udC1zaXplOiAxMXB4O1xuICAgICAgICBmb250LXdlaWdodDogODAwO1xuICAgICAgICBsZXR0ZXItc3BhY2luZzogLjhweDsgfVxuICAgICAgLnNjLW92ZXJsYXkgLnNjLWNvbnRlbnQgLnNjLWNoYW5uZWxzIC5zYy1vdXQtb2Ytc3RvY2sgLnNjLWxvY2F0aW9uIHtcbiAgICAgICAgY29sb3I6IHJnYmEoMzQsIDM0LCAzNCwgMC44KTtcbiAgICAgICAgZm9udC1zaXplOiAxNXB4O1xuICAgICAgICBsaW5lLWhlaWdodDogMThweDsgfVxuICAgICAgLnNjLW92ZXJsYXkgLnNjLWNvbnRlbnQgLnNjLWNoYW5uZWxzIC5zYy1jaGFubmVscyB7XG4gICAgICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7IH1cbiAgICAgIC5zYy1vdmVybGF5IC5zYy1jb250ZW50IC5zYy1jaGFubmVscyAuc2MtY2hhbm5lbCB7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgaGVpZ2h0OiBjYWxjKDEwMCUgLSAycHgpO1xuICAgICAgICB3aWR0aDogY2FsYyg1MCUgLSAycHgpO1xuICAgICAgICB2ZXJ0aWNhbC1hbGlnbjogdG9wOyB9XG4gICAgICAgIC5zYy1vdmVybGF5IC5zYy1jb250ZW50IC5zYy1jaGFubmVscyAuc2MtY2hhbm5lbCAuc2MtcHJpY2Uge1xuICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgIGJvcmRlci1ib3R0b206IDJweCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgICAgICAgICBib3R0b206IDNweDsgfVxuICAgICAgICAgIC5zYy1vdmVybGF5IC5zYy1jb250ZW50IC5zYy1jaGFubmVscyAuc2MtY2hhbm5lbCAuc2MtcHJpY2UgLnNjLWRvbGxhcnMge1xuICAgICAgICAgICAgZm9udC1zaXplOiAxOHB4O1xuICAgICAgICAgICAgcGFkZGluZy1sZWZ0OiAwOyB9XG4gICAgICAgICAgLnNjLW92ZXJsYXkgLnNjLWNvbnRlbnQgLnNjLWNoYW5uZWxzIC5zYy1jaGFubmVsIC5zYy1wcmljZSAuc2MtY3VycmVuY3ksXG4gICAgICAgICAgLnNjLW92ZXJsYXkgLnNjLWNvbnRlbnQgLnNjLWNoYW5uZWxzIC5zYy1jaGFubmVsIC5zYy1wcmljZSAuc2MtY2VudHMge1xuICAgICAgICAgICAgZm9udC1zaXplOiAxMXB4OyB9XG4gICAgICAgICAgLnNjLW92ZXJsYXkgLnNjLWNvbnRlbnQgLnNjLWNoYW5uZWxzIC5zYy1jaGFubmVsIC5zYy1wcmljZSAuc2MtY3VycmVuY3kge1xuICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IC05cHg7IH1cbiAgICAgIC5zYy1vdmVybGF5IC5zYy1jb250ZW50IC5zYy1jaGFubmVscyAuc2Mtc2VsZWN0ZWQtY2hhbm5lbCAuc2MtcHJpY2Uge1xuICAgICAgICBib3JkZXItYm90dG9tLWNvbG9yOiAjNGNhOTBjOyB9XG4gICAgLnNjLW92ZXJsYXkgLnNjLWNvbnRlbnQgLnNjLW1vbmV5LWJveCB7XG4gICAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgICAgcGFkZGluZzogMWVtOyB9XG4gICAgICAuc2Mtb3ZlcmxheSAuc2MtY29udGVudCAuc2MtbW9uZXktYm94IC5zYy1wcmljaW5nLWRldGFpbHMge1xuICAgICAgICBmb250LXNpemU6IDExcHg7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiA1MDA7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxN3B4OyB9XG4gICAgICAgIC5zYy1vdmVybGF5IC5zYy1jb250ZW50IC5zYy1tb25leS1ib3ggLnNjLXByaWNpbmctZGV0YWlscyAuc2MtdW5pdC1wcmljZTpub3QoOm9ubHktY2hpbGQpIHtcbiAgICAgICAgICBjb2xvcjogI0E3QTdBNztcbiAgICAgICAgICBwYWRkaW5nLXJpZ2h0OiAxZW07IH1cbiAgICAgIC5zYy1vdmVybGF5IC5zYy1jb250ZW50IC5zYy1tb25leS1ib3ggLnNjLXVuaXRzLWNob29zZXIge1xuICAgICAgICBtYXJnaW4tdG9wOiAxZW07IH1cbiAgICAgICAgLnNjLW92ZXJsYXkgLnNjLWNvbnRlbnQgLnNjLW1vbmV5LWJveCAuc2MtdW5pdHMtY2hvb3NlciAuc2MtaW5wdXQge1xuICAgICAgICAgIHdpZHRoOiA2NHB4O1xuICAgICAgICAgIG1hcmdpbi1sZWZ0OiA4cHg7XG4gICAgICAgICAgbWFyZ2luLXJpZ2h0OiA4cHg7XG4gICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICAgIGZvbnQtd2VpZ2h0OiA1MDA7IH1cbiAgICAgICAgLnNjLW92ZXJsYXkgLnNjLWNvbnRlbnQgLnNjLW1vbmV5LWJveCAuc2MtdW5pdHMtY2hvb3NlciAuc2Mtc3ByaXRlLW1pbnVzIHtcbiAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgICAgYm90dG9tOiA1cHg7XG4gICAgICAgICAgcmlnaHQ6IDdweDsgfVxuICAgICAgICAuc2Mtb3ZlcmxheSAuc2MtY29udGVudCAuc2MtbW9uZXktYm94IC5zYy11bml0cy1jaG9vc2VyIC5zYy1zcHJpdGUtcGx1cyB7XG4gICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICAgIHRvcDogMXB4O1xuICAgICAgICAgIHJpZ2h0OiA4cHg7IH1cbiAgICAgIC5zYy1vdmVybGF5IC5zYy1jb250ZW50IC5zYy1tb25leS1ib3ggLnNjLXN1YnNjcmlwdGlvbiB7XG4gICAgICAgIG1hcmdpbi10b3A6IDFlbTtcbiAgICAgICAgZm9udC1zaXplOiAxM3B4OyB9XG4gICAgICAuc2Mtb3ZlcmxheSAuc2MtY29udGVudCAuc2MtbW9uZXktYm94IC5zYy1zdWJzY3JpcHRpb24tZnJlcXVlbmN5IHtcbiAgICAgICAgZm9udC13ZWlnaHQ6IDUwMDsgfVxuICAgICAgLnNjLW92ZXJsYXkgLnNjLWNvbnRlbnQgLnNjLW1vbmV5LWJveCAuc2MtYWN0aW9ucyB7XG4gICAgICAgIG1hcmdpbi10b3A6IDFlbTtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogM3B4OyB9XG4gICAgICAgIC5zYy1vdmVybGF5IC5zYy1jb250ZW50IC5zYy1tb25leS1ib3ggLnNjLWFjdGlvbnMgLnNjLWJ1dHRvbiB7XG4gICAgICAgICAgd2lkdGg6IDUwJTsgfVxuXG4uc2MtcHJvZHVjdC1jYXJkLWxpc3Qge1xuICB3aGl0ZS1zcGFjZTogbm93cmFwOyB9XG4gIC5zYy1wcm9kdWN0LWNhcmQtbGlzdCAuc2MtcHJvZHVjdC1jYXJkIHtcbiAgICBtYXJnaW4tcmlnaHQ6IDFlbTtcbiAgICB3aWR0aDogMjM4cHg7IH1cblxuLypcblxuICBQTFAgQ2FyZHNcblxuKi9cbi8qXG5cbiAgQ2Fyb3VzZWwgQ2FyZHNcblxuKi9cbi5zYy1wcm9kdWN0LWNhcmQtcmVsYXRlZC1jYXQge1xuICBoZWlnaHQ6IDExMnB4O1xuICB3aWR0aDogMjM4cHg7IH1cbiAgLnNjLXByb2R1Y3QtY2FyZC1yZWxhdGVkLWNhdCBmaWd1cmUge1xuICAgIHdpZHRoOiAyMDZweDtcbiAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAgIGRpc3BsYXk6IHRhYmxlO1xuICAgIG1hcmdpbjogMDtcbiAgICB0ZXh0LWFsaWduOiBsZWZ0OyB9XG4gICAgLnNjLXByb2R1Y3QtY2FyZC1yZWxhdGVkLWNhdCBmaWd1cmUgaW1nIHtcbiAgICAgIGhlaWdodDogODBweDtcbiAgICAgIHdpZHRoOiA4MHB4O1xuICAgICAgbWFyZ2luOiAwIDE2cHggMCAwOyB9XG4gICAgLnNjLXByb2R1Y3QtY2FyZC1yZWxhdGVkLWNhdCBmaWd1cmUgZmlnY2FwdGlvbiB7XG4gICAgICBkaXNwbGF5OiB0YWJsZS1jZWxsO1xuICAgICAgbGluZS1oZWlnaHQ6IDE2cHg7XG4gICAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlOyB9XG5cbi5zYy1wcm9kdWN0LWNhcmQtcG92LWNhdCB7XG4gIGhlaWdodDogMzIxcHg7XG4gIHdpZHRoOiAyMzhweDtcbiAgcGFkZGluZzogMjRweCAxNnB4IDQwcHggMTZweDsgfVxuICAuc2MtcHJvZHVjdC1jYXJkLXBvdi1jYXQgZmlndXJlIHtcbiAgICB3aWR0aDogMjA2cHg7XG4gICAgbWFyZ2luOiAwO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjsgfVxuICAgIC5zYy1wcm9kdWN0LWNhcmQtcG92LWNhdCBmaWd1cmUgaW1nIHtcbiAgICAgIGhlaWdodDogMTc4cHg7XG4gICAgICB3aWR0aDogMTc4cHg7XG4gICAgICBtYXJnaW46IDAgMCAyNHB4IDA7IH1cbiAgICAuc2MtcHJvZHVjdC1jYXJkLXBvdi1jYXQgZmlndXJlIGZpZ2NhcHRpb24ge1xuICAgICAgZm9udC1zaXplOiAyMHB4O1xuICAgICAgbGluZS1oZWlnaHQ6IDMwcHg7XG4gICAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICAgICAgaGVpZ2h0OiA2MHB4O1xuICAgICAgY29sb3I6ICM0ZDRkNGQ7XG4gICAgICBmb250LXdlaWdodDogNjAwO1xuICAgICAgdGV4dC1hbGlnbjogY2VudGVyOyB9XG5cbi5zYy1jb250ZW50LWNhcmQtc21hbGwge1xuICBoZWlnaHQ6IDM1OHB4O1xuICB3aWR0aDogMjM4cHg7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIGZvbnQtc2l6ZTogMTVweDtcbiAgbGluZS1oZWlnaHQ6IDEuNjE4ZW07IH1cblxuLnNjLWNvbnRlbnQtY2FyZC1tZWRpdW0ge1xuICBoZWlnaHQ6IDM5OXB4O1xuICB3aWR0aDogMjg1cHg7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIGZvbnQtc2l6ZTogMTVweDtcbiAgbGluZS1oZWlnaHQ6IDEuNjE4ZW07IH1cblxuLnNjLWNvbnRlbnQtY2FyZC1sYXJnZSB7XG4gIGhlaWdodDogNDcwcHg7XG4gIHdpZHRoOiAzODBweDtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgZm9udC1zaXplOiAxNXB4O1xuICBsaW5lLWhlaWdodDogMS42MThlbTsgfVxuXG4uc2MtaW5wdXQtbGFiZWwge1xuICB1c2VyLXNlbGVjdDogbm9uZTsgfVxuXG4uc2MtY2hlY2tib3gge1xuICB3aWR0aDogMjBweDtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHVzZXItc2VsZWN0OiBub25lO1xuICBwYWRkaW5nLXJpZ2h0OiA4cHg7IH1cbiAgLnNjLWNoZWNrYm94IGxhYmVsIHtcbiAgICB3aWR0aDogMjBweDtcbiAgICBoZWlnaHQ6IDIwcHg7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDA7XG4gICAgbGVmdDogMDtcbiAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgICBib3JkZXItcmFkaXVzOiA0cHg7XG4gICAgYm9yZGVyOiAxcHggc29saWQgI2Q4ZDhkODtcbiAgICB3aGl0ZS1zcGFjZTogbm93cmFwOyB9XG4gICAgLnNjLWNoZWNrYm94IGxhYmVsOmFmdGVyIHtcbiAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgd2lkdGg6IDlweDtcbiAgICAgIGhlaWdodDogNXB4O1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgdG9wOiA0cHg7XG4gICAgICBsZWZ0OiA0cHg7XG4gICAgICBib3JkZXI6IDJweCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgICAgIGJvcmRlci10b3A6IG5vbmU7XG4gICAgICBib3JkZXItcmlnaHQ6IG5vbmU7XG4gICAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgICAgIG9wYWNpdHk6IDA7XG4gICAgICB0cmFuc2Zvcm06IHJvdGF0ZSgtNDVkZWcpOyB9XG4gICAgLnNjLWNoZWNrYm94IGxhYmVsOmhvdmVyOjphZnRlciB7XG4gICAgICBvcGFjaXR5OiAwOyB9XG4gIC5zYy1jaGVja2JveCBpbnB1dFt0eXBlPWNoZWNrYm94XSB7XG4gICAgdmlzaWJpbGl0eTogaGlkZGVuOyB9XG4gICAgLnNjLWNoZWNrYm94IGlucHV0W3R5cGU9Y2hlY2tib3hdOmNoZWNrZWQgKyBsYWJlbDphZnRlciB7XG4gICAgICBvcGFjaXR5OiAxO1xuICAgICAgYm9yZGVyLWNvbG9yOiAjMDFjYzc1OyB9XG5cbi5zYy1mbGFnLCAuc2MtZmxhZy1zaG9ja2luZy12YWx1ZXMsIC5zYy1mbGFnLXRyZW5kaW5nLCAuc2MtZmxhZy1hbG1vc3QtZ29uZSwgLnNjLWZsYWctaW5zdGFudC1zYXZpbmdzLCAuc2MtZmxhZy10b3AtcmF0ZWQsIC5zYy1mbGFnLW5ldy1sb3dlci1wcmljZSwgLnNjLWZsYWctYmVzdC1zZWxsZXIsIC5zYy1mbGFnLW5ldywgLnNjLWZsYWctc2Ftcy1leGNsdXNpdmUsIC5zYy1mbGFnLXZpcC1ldmVudCwgLnNjLWZsYWctdGVjaC1zYXZpbmdzLCAuc2MtZmxhZy1zcGVjaWFsLWJ1eSwgLnNjLWZsYWctYmxhY2stZnJpZGF5LXByZXZpZXcsIC5zYy1mbGFnLWJsYWNrLWZyaWRheSB7XG4gIGZvbnQtc2l6ZTogMTRweDtcbiAgbGluZS1oZWlnaHQ6IDE5cHg7XG4gIGJvcmRlci1yYWRpdXM6IDJweDtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBoZWlnaHQ6IDIycHg7XG4gIHBhZGRpbmctbGVmdDogOHB4O1xuICBwYWRkaW5nLXJpZ2h0OiA4cHg7XG4gIGNvbG9yOiB3aGl0ZTsgfVxuXG4uc2MtZmxhZy1vcmFuZ2UsIC5zYy1mbGFnLXNob2NraW5nLXZhbHVlcywgLnNjLWZsYWctdHJlbmRpbmcsIC5zYy1mbGFnLWFsbW9zdC1nb25lIHtcbiAgYmFja2dyb3VuZDogI0VDNzIwMjsgfVxuXG4uc2MtZmxhZy1yZWQsIC5zYy1mbGFnLWluc3RhbnQtc2F2aW5ncyB7XG4gIGJhY2tncm91bmQ6ICNFQzA0Mzk7IH1cblxuLnNjLWZsYWctbGlnaHRibHVlLCAuc2MtZmxhZy10b3AtcmF0ZWQsIC5zYy1mbGFnLW5ldy1sb3dlci1wcmljZSwgLnNjLWZsYWctYmVzdC1zZWxsZXIsIC5zYy1mbGFnLW5ldywgLnNjLWZsYWctc2Ftcy1leGNsdXNpdmUge1xuICBiYWNrZ3JvdW5kOiAjMDA5REU0OyB9XG5cbi5zYy1mbGFnLWRhcmtibHVlLCAuc2MtZmxhZy12aXAtZXZlbnQsIC5zYy1mbGFnLXRlY2gtc2F2aW5ncywgLnNjLWZsYWctc3BlY2lhbC1idXkge1xuICBiYWNrZ3JvdW5kOiAjMjQ2N0IyOyB9XG5cbi5zYy1mbGFnLWJsYWNrLCAuc2MtZmxhZy1ibGFjay1mcmlkYXktcHJldmlldywgLnNjLWZsYWctYmxhY2stZnJpZGF5IHtcbiAgYmFja2dyb3VuZDogIzQyNDI0MjsgfVxuXG4uc2MtY29udGFpbmVyOmFmdGVyIHtcbiAgY29udGVudDogXCJcIjtcbiAgZGlzcGxheTogdGFibGU7XG4gIGNsZWFyOiBib3RoO1xuICBib3JkZXItc3BhY2luZzogMDsgfVxuXG4uc2MtcGFyZW50OmJlZm9yZSwgLnNjLXByb2R1Y3QtZ3JpZCAucHJvZHVjdHM6YmVmb3JlLCAuc2MtcGFyZW50OmFmdGVyLCAuc2MtcHJvZHVjdC1ncmlkIC5wcm9kdWN0czphZnRlciB7XG4gIGNvbnRlbnQ6IFwiXCI7XG4gIGRpc3BsYXk6IHRhYmxlO1xuICBib3JkZXItc3BhY2luZzogMDsgfVxuXG4uc2MtcGFyZW50OmFmdGVyLCAuc2MtcHJvZHVjdC1ncmlkIC5wcm9kdWN0czphZnRlciB7XG4gIGNsZWFyOiBib3RoOyB9XG5cbi5zYy1wYXJlbnQsIC5zYy1wcm9kdWN0LWdyaWQgLnByb2R1Y3RzIHtcbiAgem9vbTogMTsgfVxuXG4uc2MtcHVzaC0wLCAuc2MtcHVzaC0xLCAuc2MtcHVzaC0yLCAuc2MtcHVzaC0zLCAuc2MtcHVzaC00LCAuc2MtcHVzaC01LCAuc2MtcHVzaC02LCAuc2MtcHVzaC03LCAuc2MtcHVzaC04LCAuc2MtcHVzaC05LCAuc2MtcHVzaC0xMCwgLnNjLXB1c2gtMTEsIC5zYy1wdXNoLTEyLCAuc2MtcHVzaC0xMywgLnNjLXB1c2gtMTQsIC5zYy1wdXNoLTE1LCAuc2MtcHVzaC0xNiwgLnNjLXB1c2gtMTcsIC5zYy1wdXNoLTE4LCAuc2MtcHVzaC0xOSwgLnNjLXB1c2gtMjAsIC5zYy1wdXNoLTIxLCAuc2MtcHVzaC0yMiwgLnNjLXB1c2gtMjMsIC5zYy1wdXNoLTI0LCAuc2MtcHVsbC0wLCAuc2MtcHVsbC0xLCAuc2MtcHVsbC0yLCAuc2MtcHVsbC0zLCAuc2MtcHVsbC00LCAuc2MtcHVsbC01LCAuc2MtcHVsbC02LCAuc2MtcHVsbC03LCAuc2MtcHVsbC04LCAuc2MtcHVsbC05LCAuc2MtcHVsbC0xMCwgLnNjLXB1bGwtMTEsIC5zYy1wdWxsLTEyLCAuc2MtcHVsbC0xMywgLnNjLXB1bGwtMTQsIC5zYy1wdWxsLTE1LCAuc2MtcHVsbC0xNiwgLnNjLXB1bGwtMTcsIC5zYy1wdWxsLTE4LCAuc2MtcHVsbC0xOSwgLnNjLXB1bGwtMjAsIC5zYy1wdWxsLTIxLCAuc2MtcHVsbC0yMiwgLnNjLXB1bGwtMjMsIC5zYy1wdWxsLTI0IHtcbiAgcG9zaXRpb246IHJlbGF0aXZlOyB9XG5cbi5zYy1jb250YWluZXIge1xuICAtd2Via2l0LWJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gIC1tb3otYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDsgfVxuXG4uc2MtcGFyZW50LCAuc2MtcHJvZHVjdC1ncmlkIC5wcm9kdWN0cyB7XG4gIC13ZWJraXQtYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgLW1vei1ib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94OyB9XG5cbi5zYy1ncmlkLTAsIC5zYy1ncmlkLTEsIC5zYy1ncmlkLTIsIC5zYy1ncmlkLTMsIC5zYy1ncmlkLTQsIC5zYy1ncmlkLTUsIC5zYy1ncmlkLTYsIC5zYy1ncmlkLTcsIC5zYy1ncmlkLTgsIC5zYy1ncmlkLTksIC5zYy1ncmlkLTEwLCAuc2MtZ3JpZC0xMSwgLnNjLWdyaWQtMTIsIC5zYy1ncmlkLTEzLCAuc2MtZ3JpZC0xNCwgLnNjLWdyaWQtMTUsIC5zYy1ncmlkLTE2LCAuc2MtZ3JpZC0xNywgLnNjLWdyaWQtMTgsIC5zYy1ncmlkLTE5LCAuc2MtZ3JpZC0yMCwgLnNjLWdyaWQtMjEsIC5zYy1ncmlkLTIyLCAuc2MtZ3JpZC0yMywgLnNjLWdyaWQtMjQsIC5zYy1wcm9kdWN0LWdyaWQgLnJlZmluZW1lbnRzLCAuc2MtcHJvZHVjdC1ncmlkIC5wcm9kdWN0cywgLnNjLXByb2R1Y3QtZ3JpZCAucHJvZHVjdHMgLnNjLXByb2R1Y3QtY2FyZCwgLnNjLXByb2R1Y3QtZ3JpZC5jb2xsYXBzZWQgLnByb2R1Y3RzIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBtaW4taGVpZ2h0OiAxcHg7XG4gIC13ZWJraXQtYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgLW1vei1ib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94OyB9XG5cbi8qKlxuICogU3RyIHJlcGxhY2VcbiAqXG4gKiBAcGFyYW0ge3N0cmluZ30gICRzdHJpbmcgICAgU3RyaW5nIHRoYXQgeW91IHdhbnQgdG8gcmVwbGFjZVxuICogQHBhcmFtIHtzdHJpbmd9ICAkc3Vic3RyICAgIFN0cmluZyB0aGF0IGlzIHRvIGJlIHJlcGxhY2VkIGJ5IGAkbmV3c3Vic3RyYFxuICogQHBhcmFtIHtzdHJpbmd9ICAkbmV3c3Vic3RyIFN0cmluZyB0aGF0IHJlcGxhY2VzIGAkc3Vic3RyYFxuICogQHBhcmFtIHtudW1iZXIqfSAkYWxsICAgICAgIEZsYWcgZm9yIHJlcGxhY2VpbmcgYWxsICgxKykgb3Igbm90ICgwKVxuICogQHJldHVybiB7c3RyaW5nfVxuICovXG4vKipcbiAqIE1hcCBzZXRcbiAqXG4gKiBAcGFyYW0gXHRNYXAgXHQkbWFwIFx0XHRUaGUgbWFwIHRvIHVzZVxuICogQHBhcmFtIFx0U3RyaW5nIFx0JGtleSBcdFx0VGhlIGtleSB0byB1cGRhdGVcbiAqIEBwYXJhbSBcdE1peGVkIFx0JHZhbHVlIFx0XHRUaGUgbmV3IHZhbHVlXG4gKiBAcmV0dXJuIFx0TWFwIFx0XHRcdFRoZSBuZXcgbWFwXG4gKi9cbi8qKlxuICogR2V0IHRoZSBjb2x1bW4gd2lkdGggaW4gcGVyY2VudCBmb3IgdGhlIGdsb2JhbCBvciBhIHNwZWNpZmljIGNvbnRleHRcbiAqXG4gKiBAcGFyYW0gXHRpbnQgXHRcdCRjb2x1bW5zIFx0XHRcdFx0XHRUaGUgbnVtYmVyIG9mIGNvbHVtbnMgdG8gY2FsY3VsYXRlXG4gKiBAcGFyYW0gXHRpbnQgXHRcdCRjb250ZXh0IDogJGdyaWRsZS1jb2x1bW5zLWNvdW50IFx0IFx0VGhlIGNvbnRleHQgdG8gdXNlXG4gKiBAcmV0dXJuIFx0cGVyY2VudGFnZSBcdFx0XHRcdFx0XHRcdFRoZSB3aWR0aCBpbiBwZXJjZW50XG4gKi9cbi8qKlxuICogIEdldCBhIHN0YXRlIG1hcFxuICpcbiAqIEBwYXJhbSBcdHN0cmluZyBcdFx0JG5hbWUgXHRcdFRoZSBuYW1lIG9mIHRoZSBzdGF0ZSB0byBnZXRcbiAqIEByZXR1cm4gXHRtYXAgXHRcdFx0XHRBIHN0YXRlIG1hcCBvYmplY3RcbiAqL1xuLyoqXG4gKiBDaGVjayBpZiBhIHN0YXRlIGV4aXN0IDpcbiAqXG4gKiBAcGFyYW0gXHRzdHJpbmcgXHRcdCRuYW1lIFx0XHRUaGUgbmFtZSBvZiB0aGUgc3RhdGUgdG8gY2hlY2tcbiAqIEByZXR1cm4gXHRCb29sZWFuIFx0XHRcdHRydWUgaXMgZXhpc3RcbiAqL1xuLyoqXG4gKiBHZXQgdGhlIG1lZGlhIHF1ZXJpZXMgdmFyaWFibGVzIDpcbiAqXG4gKiBAcGFyYW0gXHRpbnQgXHRcdCRpbmRleCBcdCBcdFRoZSBtZWRpYSBxdWVyeSBpbmRlc1xuICogQHBhcmFtIFx0U3RyaW5nIFx0XHQkdmFyIFx0XHRUaGUgbWVkaWEgcXVlcnkgdmFyaWFibGUgbmFtZVxuICogQHJldHVybiBcdFN0cmluZ3xpbnQgXHRcdFx0VGhlIHZhcmlhYmxlIHZhbHVlXG4gKi9cbi8qKlxuICogR2V0IGEgdmFyaWFibGVcbiAqXG4gKiBAcGFyYW0gXHRTdHJpbmcgXHRcdCR2YXJOYW1lIFx0XHRcdFx0VGhlIHZhcmlhYmxlIG5hbWVcbiAqIEBwYXJhbSAgXHRTdHJpbmcgXHRcdCRzdGF0ZU1hcC1vci1zdGF0ZU5hbWUgXHQgXHRUaGUgc3RhdGUgbmFtZSBvciBhIG1hcCBzdGF0ZSB2YWx1ZVxuICogQHJldHVybiBcdE1peGVkIFx0XHRcdFx0XHRcdFx0VGhlIGZpbmRlZCB2YWx1ZVxuICovXG4vKipcbiAqIFNldCBhIHZhcmlhYmxlIGluIGEgc3RhdGVcbiAqIEBwYXJhbSBcdE1peGVkICRzdGF0ZU5hbWUtb3Itc3RhdGVJbmRleCBcdFRoZSBzdGF0ZSBuYW1lIG9mIHN0YXRlIGluZGV4XG4gKiBAcGFyYW0gIFx0U3RyaW5nICR2YXIgICAgICAgICAgICAgICAgICAgIFx0XHRWYXJpYWJsZSBuYW1lIHRvIGFzc2lnblxuICogQHBhcmFtICBcdE1peGVkICRuZXdWYWx1ZSAgICAgICAgICBcdFx0VGhlIG5ldyB2YWx1ZSB0byBhc3NpZ25cbiAqIEByZXR1cm4gXHRMaXN0ICAgICAgICAgICAgICAgICAgICAgICAgIFx0XHRcdFRoZSBzdGF0ZXMgbGlzdCAoZnVsbClcbiAqL1xuLyoqXG4gKiBHZW5lcmF0ZSBhIGNvbHVtblxuICpcbiAqIEBwYXJhbSBcdFN0cmluZyBcdFx0JG5hbWUgXHRcdFx0VGhlIGNvbHVtbiBuYW1lIChvZnRlbiBjb3VudClcbiAqIEBwYXJhbSBcdGludCBcdFx0JGNvbHVtbnMgXHRcdFRoZSBjb2x1bW4gY291bnQgdGhhdCB0aGUgY29sdW1uIHdpbGwgdGFrZVxuICogQHBhcmFtIFx0aW50IFx0XHQkY29udGV4dCBcdFx0VGhlIGNvbnRleHQgb24gd2l0Y2ggdGhlIHdpdGggd2lsbCBiZSBjYWxjdWxlZFxuICogQHBhcmFtIFx0Qm9vbGVhbiBcdCRnZW5lcmF0ZUNsYXNzZXMgXHRTZXQgaWYgdGhlIGNvbHVtbiBoYXMgdG8gYmUgZ2VuZXJhdGVkIGluIGNzc1xuICovXG4vKipcbiAqIEdlbmVyYXRlIGNsYXNzbmFtZVxuICpcbiAqIEBwYXJhbSBcdExpc3QgXHRcdCRwYXJyZXJuIFx0VGhlIHBhdHRlcm4gdG8gdXNlIHRvIGdlbmVyYXRlIGNsYXNzbmFtZVxuICogQHBhcmFtIFx0U3RyaW5nIFx0XHQkc3RhdGUgXHRcdFRoZSBzdGF0ZVxuICogQHBhcmFtIFx0aW50IFx0XHQkY291bnQgXHRcdFRoZSBjb2x1bW4gY291bnRcbiAqL1xuLyoqXG4gKiBHZXQgdGhlIG1lZGlhIHF1ZXJ5IGZvciBhIHBhcnRpY3VsYXIgc3RhdGUsIG9yIHdpdGgsIGV0Yy4uLlxuICpcbiAqIEBwYXJhbSBcdE1peGVkIFx0XHQkc3RhdGUtb3ItbWluLXdpZHRoIFx0XHRUaGUgc3RhdGUgbmFtZSBvZiB0aGUgbWluIHdpdGhcbiAqIEBwYXJhbSBcdE1peGVkIFx0XHQkbWF4LXdpZHRoIFx0XHRcdFRoZSBtYXggd2lkdGggaWYgZmlyc3QgcGFyYW0gaXMgYSBtaW4gd2lkdGhcbiAqIEByZXR1cm4gXHRTdHJpbmcgXHRcdFx0XHRcdFx0VGhlIG1lZGlhIHF1ZXJ5IHN0cmluZyB3aXRob3V0IHRoZSBAbWVkaWFcbiAqL1xuLyoqXG4gKiBHZXQgc3RhdGVzIGNvdW50XG4gKiBcbiAqIEByZXR1cm4gXHRpbnQgXHRUaGUgbnVtYmVyIG9mIHN0YXRlcyBkZWZpbmVkXG4gKi9cbi8qKlxuICogU2V0dXBcbiAqL1xuLyoqXG4gKiAgUmVnaXN0ZXIgYSBjbGVhciBlYWNoIGNsYXNzXG4gKi9cbi8qKlxuICogUmVnaXN0ZXIgYSBzcGVjaWFsIGNsYXNzXG4gKi9cbi8qKlxuICogUmVnaXN0ZXIgZGVmYXVsdCBzdGF0ZXNcbiAqL1xuLyoqXG4gKiBSZWdpc3RlciBkZWZhdWx0IG1vYmlsZSBmaXJzdCBzdGF0ZXMgOlxuICovXG4vKipcbiAqIFNldCB0aGUgZGVidWcgZGV2aWNlIChub3QgdXNlZCBmb3Igbm93KVxuICogXG4gKiBAcGFyYW0gXHRTdHJpbmcgXHRcdCRzdGF0ZSBcdFx0VGhlIHN0YXRlIHRvIHVwZGF0ZVxuICogQHBhcmEgbSBcdFN0cmluZyBcdFx0JGRldmljZSBcdFRoZSBkZXZpY2UgdG8gdXNlIChpcGhvbmUsIGV0Yy4uLilcbiAqL1xuLyoqXG4gKiBQYXJlbnQgY2xlYXIgZWFjaFxuICovXG4vKipcbiAqIFZlcnRpY2FsIGFsaWduIDpcbiAqL1xuLyoqXG4gKiBTaG93IGlubGluZVxuICpcbiAqIEBwYXJhbSBcdFN0cmluZyBcdFx0JHN0YXRlIFx0XHRUaGUgc3RhdGUgbmFtZVxuICovXG4vKipcbiAqIEdlbmVyYXRlIGEgY3VzdG9tIGNsYXNzIGZvciBhbGwgdGhlIHN0YXRlc1xuICpcbiAqIEBwYXJhbSBcdGxpc3QgXHQkcGF0dGVybiBcdFx0VGhlIG5hbWUgcGF0dGVybiBvZiB0aGUgY2xhc3NcbiAqIEBwYXJhbSBcdGxpc3QgXHQkc3RhdGVzTmFtZXMgXHRcdFRoZSBzdGF0ZXMgbmFtZXMgdG8gZ2VuZXJhdGVcbiAqL1xuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNDAwcHgpIHtcbiAgQC1tcy12aWV3cG9ydCB7XG4gICAgd2lkdGg6IGRldmljZS13aWR0aDsgfSB9XG5cbiNncmlkbGUtc2V0dGluZ3Mge1xuICBjb250ZW50OiAneyBcInZlcnNpb25cIiA6IFwiMS4zLjQwXCIsIFwic3RhdGVzXCIgOiB7IFwicmV0aW5hXCI6eyBcInF1ZXJ5XCIgOiBcIigtd2Via2l0LW1pbi1kZXZpY2UtcGl4ZWwtcmF0aW86IDIpLCAobWluLXJlc29sdXRpb246IDE5MmRwaSksIChtaW4tcmVzb2x1dGlvbjogMmRwcHgpXCIsIFwiY2xhc3Nlc1wiIDogZmFsc2UsIFwibmFtZVwiIDogXCJyZXRpbmFcIiwgXCJfZ3JpZGxlXCIgOiB0cnVlIH0sIFwidHZcIjp7IFwicXVlcnlcIiA6IFwib25seSB0dlwiLCBcImNsYXNzZXNcIiA6IGZhbHNlLCBcIm5hbWVcIiA6IFwidHZcIiwgXCJfZ3JpZGxlXCIgOiB0cnVlIH0sIFwicHJpbnRcIjp7IFwicXVlcnlcIiA6IFwib25seSBwcmludFwiLCBcImNsYXNzZXNcIiA6IGZhbHNlLCBcIm5hbWVcIiA6IFwicHJpbnRcIiwgXCJfZ3JpZGxlXCIgOiB0cnVlIH0sIFwicG9ydHJhaXRcIjp7IFwicXVlcnlcIiA6IFwib25seSBzY3JlZW4gYW5kIChvcmllbnRhdGlvbjogcG9ydHJhaXQpXCIsIFwiY2xhc3Nlc1wiIDogZmFsc2UsIFwibmFtZVwiIDogXCJwb3J0cmFpdFwiLCBcIl9ncmlkbGVcIiA6IHRydWUgfSwgXCJsYW5kc2NhcGVcIjp7IFwicXVlcnlcIiA6IFwib25seSBzY3JlZW4gYW5kIChvcmllbnRhdGlvbjogbGFuZHNjYXBlKVwiLCBcImNsYXNzZXNcIiA6IGZhbHNlLCBcIm5hbWVcIiA6IFwibGFuZHNjYXBlXCIsIFwiX2dyaWRsZVwiIDogdHJ1ZSB9LCBcImRlZmF1bHRcIjp7IFwibmFtZVwiIDogXCJkZWZhdWx0XCIsIFwibWluLXdpZHRoXCIgOiBudWxsLCBcIm1heC13aWR0aFwiIDogbnVsbCwgXCJxdWVyeVwiIDogbnVsbCwgXCJjbGFzc2VzXCIgOiB0cnVlLCBcImNvbnRleHRcIiA6IFwiMjRcIiwgXCJndXR0ZXItd2lkdGhcIiA6IFwiMzJweFwiLCBcImRpcmVjdGlvblwiIDogXCJsdHJcIiwgXCJuYW1lLW11bHRpcGxpY2F0b3JcIiA6IFwiMVwiLCBcImRlYnVnXCIgOiBmYWxzZSwgXCJkZWJ1Zy1zaG93LWNsYXNzLW5hbWVzXCIgOiB0cnVlLCBcImllNy1zdXBwb3J0XCIgOiBmYWxzZSwgXCJodG1sLXN0YXRlcy1jbGFzc2VzXCIgOiBmYWxzZSwgXCJnZW5lcmF0ZS1wdXNoLWNsYXNzZXNcIiA6IHRydWUsIFwiZ2VuZXJhdGUtcHVsbC1jbGFzc2VzXCIgOiB0cnVlLCBcImdlbmVyYXRlLXByZWZpeC1jbGFzc2VzXCIgOiB0cnVlLCBcImdlbmVyYXRlLXN1ZmZpeC1jbGFzc2VzXCIgOiB0cnVlLCBcImdlbmVyYXRlLWhlbHBlcnMtY2xhc3Nlc1wiIDogdHJ1ZSwgXCJfZ3JpZGxlXCIgOiB0cnVlIH19IH0nOyB9XG5cbi5zYy1ncmlkLTAsIC5zYy1ncmlkLTEsIC5zYy1ncmlkLTIsIC5zYy1ncmlkLTMsIC5zYy1ncmlkLTQsIC5zYy1ncmlkLTUsIC5zYy1ncmlkLTYsIC5zYy1ncmlkLTcsIC5zYy1ncmlkLTgsIC5zYy1ncmlkLTksIC5zYy1ncmlkLTEwLCAuc2MtZ3JpZC0xMSwgLnNjLWdyaWQtMTIsIC5zYy1ncmlkLTEzLCAuc2MtZ3JpZC0xNCwgLnNjLWdyaWQtMTUsIC5zYy1ncmlkLTE2LCAuc2MtZ3JpZC0xNywgLnNjLWdyaWQtMTgsIC5zYy1ncmlkLTE5LCAuc2MtZ3JpZC0yMCwgLnNjLWdyaWQtMjEsIC5zYy1ncmlkLTIyLCAuc2MtZ3JpZC0yMywgLnNjLWdyaWQtMjQge1xuICBmbG9hdDogbGVmdDtcbiAgZGlyZWN0aW9uOiBsdHI7XG4gIHBhZGRpbmctbGVmdDogMTZweDtcbiAgcGFkZGluZy1yaWdodDogMTZweDsgfVxuXG4uc2MtZ3JpZC0wIHtcbiAgd2lkdGg6IDAlOyB9XG5cbi5zYy1wdXNoLTAge1xuICBsZWZ0OiAwJTsgfVxuXG4uc2MtcHVsbC0wIHtcbiAgcmlnaHQ6IDAlOyB9XG5cbi5zYy1wcmVmaXgtMCB7XG4gIG1hcmdpbi1sZWZ0OiAwJTsgfVxuXG4uc2Mtc3VmZml4LTAge1xuICBtYXJnaW4tcmlnaHQ6IDAlOyB9XG5cbi5zYy1ncmlkLTEge1xuICB3aWR0aDogNC4xNjY2NyU7IH1cblxuLnNjLXB1c2gtMSB7XG4gIGxlZnQ6IDQuMTY2NjclOyB9XG5cbi5zYy1wdWxsLTEge1xuICByaWdodDogNC4xNjY2NyU7IH1cblxuLnNjLXByZWZpeC0xIHtcbiAgbWFyZ2luLWxlZnQ6IDQuMTY2NjclOyB9XG5cbi5zYy1zdWZmaXgtMSB7XG4gIG1hcmdpbi1yaWdodDogNC4xNjY2NyU7IH1cblxuLnNjLWdyaWQtMiB7XG4gIHdpZHRoOiA4LjMzMzMzJTsgfVxuXG4uc2MtcHVzaC0yIHtcbiAgbGVmdDogOC4zMzMzMyU7IH1cblxuLnNjLXB1bGwtMiB7XG4gIHJpZ2h0OiA4LjMzMzMzJTsgfVxuXG4uc2MtcHJlZml4LTIge1xuICBtYXJnaW4tbGVmdDogOC4zMzMzMyU7IH1cblxuLnNjLXN1ZmZpeC0yIHtcbiAgbWFyZ2luLXJpZ2h0OiA4LjMzMzMzJTsgfVxuXG4uc2MtZ3JpZC0zIHtcbiAgd2lkdGg6IDEyLjUlOyB9XG5cbi5zYy1wdXNoLTMge1xuICBsZWZ0OiAxMi41JTsgfVxuXG4uc2MtcHVsbC0zIHtcbiAgcmlnaHQ6IDEyLjUlOyB9XG5cbi5zYy1wcmVmaXgtMyB7XG4gIG1hcmdpbi1sZWZ0OiAxMi41JTsgfVxuXG4uc2Mtc3VmZml4LTMge1xuICBtYXJnaW4tcmlnaHQ6IDEyLjUlOyB9XG5cbi5zYy1ncmlkLTQge1xuICB3aWR0aDogMTYuNjY2NjclOyB9XG5cbi5zYy1wdXNoLTQge1xuICBsZWZ0OiAxNi42NjY2NyU7IH1cblxuLnNjLXB1bGwtNCB7XG4gIHJpZ2h0OiAxNi42NjY2NyU7IH1cblxuLnNjLXByZWZpeC00IHtcbiAgbWFyZ2luLWxlZnQ6IDE2LjY2NjY3JTsgfVxuXG4uc2Mtc3VmZml4LTQge1xuICBtYXJnaW4tcmlnaHQ6IDE2LjY2NjY3JTsgfVxuXG4uc2MtZ3JpZC01IHtcbiAgd2lkdGg6IDIwLjgzMzMzJTsgfVxuXG4uc2MtcHVzaC01IHtcbiAgbGVmdDogMjAuODMzMzMlOyB9XG5cbi5zYy1wdWxsLTUge1xuICByaWdodDogMjAuODMzMzMlOyB9XG5cbi5zYy1wcmVmaXgtNSB7XG4gIG1hcmdpbi1sZWZ0OiAyMC44MzMzMyU7IH1cblxuLnNjLXN1ZmZpeC01IHtcbiAgbWFyZ2luLXJpZ2h0OiAyMC44MzMzMyU7IH1cblxuLnNjLWdyaWQtNiB7XG4gIHdpZHRoOiAyNSU7IH1cblxuLnNjLXB1c2gtNiB7XG4gIGxlZnQ6IDI1JTsgfVxuXG4uc2MtcHVsbC02IHtcbiAgcmlnaHQ6IDI1JTsgfVxuXG4uc2MtcHJlZml4LTYge1xuICBtYXJnaW4tbGVmdDogMjUlOyB9XG5cbi5zYy1zdWZmaXgtNiB7XG4gIG1hcmdpbi1yaWdodDogMjUlOyB9XG5cbi5zYy1ncmlkLTcge1xuICB3aWR0aDogMjkuMTY2NjclOyB9XG5cbi5zYy1wdXNoLTcge1xuICBsZWZ0OiAyOS4xNjY2NyU7IH1cblxuLnNjLXB1bGwtNyB7XG4gIHJpZ2h0OiAyOS4xNjY2NyU7IH1cblxuLnNjLXByZWZpeC03IHtcbiAgbWFyZ2luLWxlZnQ6IDI5LjE2NjY3JTsgfVxuXG4uc2Mtc3VmZml4LTcge1xuICBtYXJnaW4tcmlnaHQ6IDI5LjE2NjY3JTsgfVxuXG4uc2MtZ3JpZC04IHtcbiAgd2lkdGg6IDMzLjMzMzMzJTsgfVxuXG4uc2MtcHVzaC04IHtcbiAgbGVmdDogMzMuMzMzMzMlOyB9XG5cbi5zYy1wdWxsLTgge1xuICByaWdodDogMzMuMzMzMzMlOyB9XG5cbi5zYy1wcmVmaXgtOCB7XG4gIG1hcmdpbi1sZWZ0OiAzMy4zMzMzMyU7IH1cblxuLnNjLXN1ZmZpeC04IHtcbiAgbWFyZ2luLXJpZ2h0OiAzMy4zMzMzMyU7IH1cblxuLnNjLWdyaWQtOSB7XG4gIHdpZHRoOiAzNy41JTsgfVxuXG4uc2MtcHVzaC05IHtcbiAgbGVmdDogMzcuNSU7IH1cblxuLnNjLXB1bGwtOSB7XG4gIHJpZ2h0OiAzNy41JTsgfVxuXG4uc2MtcHJlZml4LTkge1xuICBtYXJnaW4tbGVmdDogMzcuNSU7IH1cblxuLnNjLXN1ZmZpeC05IHtcbiAgbWFyZ2luLXJpZ2h0OiAzNy41JTsgfVxuXG4uc2MtZ3JpZC0xMCB7XG4gIHdpZHRoOiA0MS42NjY2NyU7IH1cblxuLnNjLXB1c2gtMTAge1xuICBsZWZ0OiA0MS42NjY2NyU7IH1cblxuLnNjLXB1bGwtMTAge1xuICByaWdodDogNDEuNjY2NjclOyB9XG5cbi5zYy1wcmVmaXgtMTAge1xuICBtYXJnaW4tbGVmdDogNDEuNjY2NjclOyB9XG5cbi5zYy1zdWZmaXgtMTAge1xuICBtYXJnaW4tcmlnaHQ6IDQxLjY2NjY3JTsgfVxuXG4uc2MtZ3JpZC0xMSB7XG4gIHdpZHRoOiA0NS44MzMzMyU7IH1cblxuLnNjLXB1c2gtMTEge1xuICBsZWZ0OiA0NS44MzMzMyU7IH1cblxuLnNjLXB1bGwtMTEge1xuICByaWdodDogNDUuODMzMzMlOyB9XG5cbi5zYy1wcmVmaXgtMTEge1xuICBtYXJnaW4tbGVmdDogNDUuODMzMzMlOyB9XG5cbi5zYy1zdWZmaXgtMTEge1xuICBtYXJnaW4tcmlnaHQ6IDQ1LjgzMzMzJTsgfVxuXG4uc2MtZ3JpZC0xMiB7XG4gIHdpZHRoOiA1MCU7IH1cblxuLnNjLXB1c2gtMTIge1xuICBsZWZ0OiA1MCU7IH1cblxuLnNjLXB1bGwtMTIge1xuICByaWdodDogNTAlOyB9XG5cbi5zYy1wcmVmaXgtMTIge1xuICBtYXJnaW4tbGVmdDogNTAlOyB9XG5cbi5zYy1zdWZmaXgtMTIge1xuICBtYXJnaW4tcmlnaHQ6IDUwJTsgfVxuXG4uc2MtZ3JpZC0xMyB7XG4gIHdpZHRoOiA1NC4xNjY2NyU7IH1cblxuLnNjLXB1c2gtMTMge1xuICBsZWZ0OiA1NC4xNjY2NyU7IH1cblxuLnNjLXB1bGwtMTMge1xuICByaWdodDogNTQuMTY2NjclOyB9XG5cbi5zYy1wcmVmaXgtMTMge1xuICBtYXJnaW4tbGVmdDogNTQuMTY2NjclOyB9XG5cbi5zYy1zdWZmaXgtMTMge1xuICBtYXJnaW4tcmlnaHQ6IDU0LjE2NjY3JTsgfVxuXG4uc2MtZ3JpZC0xNCB7XG4gIHdpZHRoOiA1OC4zMzMzMyU7IH1cblxuLnNjLXB1c2gtMTQge1xuICBsZWZ0OiA1OC4zMzMzMyU7IH1cblxuLnNjLXB1bGwtMTQge1xuICByaWdodDogNTguMzMzMzMlOyB9XG5cbi5zYy1wcmVmaXgtMTQge1xuICBtYXJnaW4tbGVmdDogNTguMzMzMzMlOyB9XG5cbi5zYy1zdWZmaXgtMTQge1xuICBtYXJnaW4tcmlnaHQ6IDU4LjMzMzMzJTsgfVxuXG4uc2MtZ3JpZC0xNSB7XG4gIHdpZHRoOiA2Mi41JTsgfVxuXG4uc2MtcHVzaC0xNSB7XG4gIGxlZnQ6IDYyLjUlOyB9XG5cbi5zYy1wdWxsLTE1IHtcbiAgcmlnaHQ6IDYyLjUlOyB9XG5cbi5zYy1wcmVmaXgtMTUge1xuICBtYXJnaW4tbGVmdDogNjIuNSU7IH1cblxuLnNjLXN1ZmZpeC0xNSB7XG4gIG1hcmdpbi1yaWdodDogNjIuNSU7IH1cblxuLnNjLWdyaWQtMTYge1xuICB3aWR0aDogNjYuNjY2NjclOyB9XG5cbi5zYy1wdXNoLTE2IHtcbiAgbGVmdDogNjYuNjY2NjclOyB9XG5cbi5zYy1wdWxsLTE2IHtcbiAgcmlnaHQ6IDY2LjY2NjY3JTsgfVxuXG4uc2MtcHJlZml4LTE2IHtcbiAgbWFyZ2luLWxlZnQ6IDY2LjY2NjY3JTsgfVxuXG4uc2Mtc3VmZml4LTE2IHtcbiAgbWFyZ2luLXJpZ2h0OiA2Ni42NjY2NyU7IH1cblxuLnNjLWdyaWQtMTcge1xuICB3aWR0aDogNzAuODMzMzMlOyB9XG5cbi5zYy1wdXNoLTE3IHtcbiAgbGVmdDogNzAuODMzMzMlOyB9XG5cbi5zYy1wdWxsLTE3IHtcbiAgcmlnaHQ6IDcwLjgzMzMzJTsgfVxuXG4uc2MtcHJlZml4LTE3IHtcbiAgbWFyZ2luLWxlZnQ6IDcwLjgzMzMzJTsgfVxuXG4uc2Mtc3VmZml4LTE3IHtcbiAgbWFyZ2luLXJpZ2h0OiA3MC44MzMzMyU7IH1cblxuLnNjLWdyaWQtMTgge1xuICB3aWR0aDogNzUlOyB9XG5cbi5zYy1wdXNoLTE4IHtcbiAgbGVmdDogNzUlOyB9XG5cbi5zYy1wdWxsLTE4IHtcbiAgcmlnaHQ6IDc1JTsgfVxuXG4uc2MtcHJlZml4LTE4IHtcbiAgbWFyZ2luLWxlZnQ6IDc1JTsgfVxuXG4uc2Mtc3VmZml4LTE4IHtcbiAgbWFyZ2luLXJpZ2h0OiA3NSU7IH1cblxuLnNjLWdyaWQtMTkge1xuICB3aWR0aDogNzkuMTY2NjclOyB9XG5cbi5zYy1wdXNoLTE5IHtcbiAgbGVmdDogNzkuMTY2NjclOyB9XG5cbi5zYy1wdWxsLTE5IHtcbiAgcmlnaHQ6IDc5LjE2NjY3JTsgfVxuXG4uc2MtcHJlZml4LTE5IHtcbiAgbWFyZ2luLWxlZnQ6IDc5LjE2NjY3JTsgfVxuXG4uc2Mtc3VmZml4LTE5IHtcbiAgbWFyZ2luLXJpZ2h0OiA3OS4xNjY2NyU7IH1cblxuLnNjLWdyaWQtMjAge1xuICB3aWR0aDogODMuMzMzMzMlOyB9XG5cbi5zYy1wdXNoLTIwIHtcbiAgbGVmdDogODMuMzMzMzMlOyB9XG5cbi5zYy1wdWxsLTIwIHtcbiAgcmlnaHQ6IDgzLjMzMzMzJTsgfVxuXG4uc2MtcHJlZml4LTIwIHtcbiAgbWFyZ2luLWxlZnQ6IDgzLjMzMzMzJTsgfVxuXG4uc2Mtc3VmZml4LTIwIHtcbiAgbWFyZ2luLXJpZ2h0OiA4My4zMzMzMyU7IH1cblxuLnNjLWdyaWQtMjEge1xuICB3aWR0aDogODcuNSU7IH1cblxuLnNjLXB1c2gtMjEge1xuICBsZWZ0OiA4Ny41JTsgfVxuXG4uc2MtcHVsbC0yMSB7XG4gIHJpZ2h0OiA4Ny41JTsgfVxuXG4uc2MtcHJlZml4LTIxIHtcbiAgbWFyZ2luLWxlZnQ6IDg3LjUlOyB9XG5cbi5zYy1zdWZmaXgtMjEge1xuICBtYXJnaW4tcmlnaHQ6IDg3LjUlOyB9XG5cbi5zYy1ncmlkLTIyIHtcbiAgd2lkdGg6IDkxLjY2NjY3JTsgfVxuXG4uc2MtcHVzaC0yMiB7XG4gIGxlZnQ6IDkxLjY2NjY3JTsgfVxuXG4uc2MtcHVsbC0yMiB7XG4gIHJpZ2h0OiA5MS42NjY2NyU7IH1cblxuLnNjLXByZWZpeC0yMiB7XG4gIG1hcmdpbi1sZWZ0OiA5MS42NjY2NyU7IH1cblxuLnNjLXN1ZmZpeC0yMiB7XG4gIG1hcmdpbi1yaWdodDogOTEuNjY2NjclOyB9XG5cbi5zYy1ncmlkLTIzIHtcbiAgd2lkdGg6IDk1LjgzMzMzJTsgfVxuXG4uc2MtcHVzaC0yMyB7XG4gIGxlZnQ6IDk1LjgzMzMzJTsgfVxuXG4uc2MtcHVsbC0yMyB7XG4gIHJpZ2h0OiA5NS44MzMzMyU7IH1cblxuLnNjLXByZWZpeC0yMyB7XG4gIG1hcmdpbi1sZWZ0OiA5NS44MzMzMyU7IH1cblxuLnNjLXN1ZmZpeC0yMyB7XG4gIG1hcmdpbi1yaWdodDogOTUuODMzMzMlOyB9XG5cbi5zYy1ncmlkLTI0IHtcbiAgd2lkdGg6IDEwMCU7IH1cblxuLnNjLXB1c2gtMjQge1xuICBsZWZ0OiAxMDAlOyB9XG5cbi5zYy1wdWxsLTI0IHtcbiAgcmlnaHQ6IDEwMCU7IH1cblxuLnNjLXByZWZpeC0yNCB7XG4gIG1hcmdpbi1sZWZ0OiAxMDAlOyB9XG5cbi5zYy1zdWZmaXgtMjQge1xuICBtYXJnaW4tcmlnaHQ6IDEwMCU7IH1cblxuLnNjLWZsb2F0LWxlZnQge1xuICBmbG9hdDogbGVmdDsgfVxuXG4uc2MtZmxvYXQtcmlnaHQge1xuICBmbG9hdDogcmlnaHQ7IH1cblxuLnNjLWNsZWFyIHtcbiAgY2xlYXI6IGJvdGg7IH1cblxuLnNjLWNsZWFyLWxlZnQge1xuICBjbGVhcjogbGVmdDsgfVxuXG4uc2MtY2xlYXItcmlnaHQge1xuICBjbGVhcjogcmlnaHQ7IH1cblxuLnNjLW5vLWd1dHRlcixcbi5zYy1uby1tYXJnaW4ge1xuICBwYWRkaW5nLWxlZnQ6IDA7XG4gIHBhZGRpbmctcmlnaHQ6IDA7IH1cblxuLnNjLW5vLWd1dHRlci1sZWZ0LFxuLnNjLW5vLW1hcmdpbi1sZWZ0IHtcbiAgcGFkZGluZy1sZWZ0OiAwOyB9XG5cbi5zYy1uby1ndXR0ZXItcmlnaHQsXG4uc2Mtbm8tbWFyZ2luLXJpZ2h0IHtcbiAgcGFkZGluZy1yaWdodDogMDsgfVxuXG4uc2Mtbm8tZ3V0dGVyLXRvcCxcbi5zYy1uby1tYXJnaW4tdG9wIHtcbiAgcGFkZGluZy10b3A6IDA7IH1cblxuLnNjLW5vLWd1dHRlci1ib3R0b20sXG4uc2Mtbm8tbWFyZ2luLWJvdHRvbSB7XG4gIHBhZGRpbmctYm90dG9tOiAwOyB9XG5cbi5zYy1ndXR0ZXIsXG4uc2MtbWFyZ2lucyB7XG4gIHBhZGRpbmctbGVmdDogMTZweDtcbiAgcGFkZGluZy1yaWdodDogMTZweDsgfVxuXG4uc2MtZ3V0dGVyLWxlZnQsXG4uc2MtbWFyZ2luLWxlZnQge1xuICBwYWRkaW5nLWxlZnQ6IDE2cHg7IH1cblxuLnNjLWd1dHRlci1yaWdodCxcbi5zYy1tYXJnaW4tcmlnaHQge1xuICBwYWRkaW5nLXJpZ2h0OiAxNnB4OyB9XG5cbi5zYy1ndXR0ZXItdG9wLFxuLnNjLW1hcmdpbi10b3Age1xuICBwYWRkaW5nLXRvcDogMTZweDsgfVxuXG4uc2MtZ3V0dGVyLWJvdHRvbSxcbi5zYy1tYXJnaW4tYm90dG9tIHtcbiAgcGFkZGluZy1ib3R0b206IDE2cHg7IH1cblxuLnNjLWF1dG8taGVpZ2h0IHtcbiAgaGVpZ2h0OiBpbmhlcml0OyB9XG5cbi5zYy1jZW50ZXJlZCB7XG4gIGRpc3BsYXk6IGJsb2NrICFpbXBvcnRhbnQ7XG4gIGZsb2F0OiBub25lICFpbXBvcnRhbnQ7XG4gIG1hcmdpbi1sZWZ0OiBhdXRvICFpbXBvcnRhbnQ7XG4gIG1hcmdpbi1yaWdodDogYXV0byAhaW1wb3J0YW50O1xuICBjbGVhcjogYm90aCAhaW1wb3J0YW50OyB9XG5cbi5zYy1wYXJlbnQge1xuICBwYWRkaW5nLWxlZnQ6IDA7XG4gIHBhZGRpbmctcmlnaHQ6IDA7IH1cblxuLnNjLXZlcnRpY2FsLWFsaWduLW1pZGRsZSB7XG4gIGZvbnQtc2l6ZTogMDtcbiAgY2xlYXI6IGJvdGg7IH1cbiAgLnNjLXZlcnRpY2FsLWFsaWduLW1pZGRsZSA+ICoge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBmbG9hdDogbm9uZSAhaW1wb3J0YW50O1xuICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gICAgZm9udC1zaXplOiAxcmVtOyB9XG5cbi5zYy12ZXJ0aWNhbC1hbGlnbi10b3Age1xuICBmb250LXNpemU6IDA7XG4gIGNsZWFyOiBib3RoOyB9XG4gIC5zYy12ZXJ0aWNhbC1hbGlnbi10b3AgPiAqIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgZmxvYXQ6IG5vbmUgIWltcG9ydGFudDtcbiAgICB2ZXJ0aWNhbC1hbGlnbjogdG9wO1xuICAgIGZvbnQtc2l6ZTogMXJlbTsgfVxuXG4uc2MtdmVydGljYWwtYWxpZ24tYm90dG9tIHtcbiAgZm9udC1zaXplOiAwO1xuICBjbGVhcjogYm90aDsgfVxuICAuc2MtdmVydGljYWwtYWxpZ24tYm90dG9tID4gKiB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIGZsb2F0OiBub25lICFpbXBvcnRhbnQ7XG4gICAgdmVydGljYWwtYWxpZ246IGJvdHRvbTtcbiAgICBmb250LXNpemU6IDFyZW07IH1cblxuLyoqXG5cdCAqIFZpc2libGUsIGhpZGUsIGV0Yy4uLlxuXHQgKi9cbi5zYy1oaWRlIHtcbiAgZGlzcGxheTogbm9uZTsgfVxuXG4uc2Mtbm90LXZpc2libGUge1xuICB2aXNpYmlsaXR5OiBoaWRkZW47IH1cblxuLnNjLXNob3cge1xuICBkaXNwbGF5OiBibG9jazsgfVxuXG4uc2Mtc2hvdy1pbmxpbmUge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7IH1cblxuLnNjLXZpc2libGUge1xuICB2aXNpYmlsaXR5OiB2aXNpYmxlOyB9XG5cbi8qKlxuXHQgKiBDbGVhciBlYWNoIGNsYXNzIDpcblx0ICovXG4uc2MtcHJvZHVjdC1ncmlkIHtcbiAgd2lkdGg6IDExNDBweDsgfVxuICAuc2MtcHJvZHVjdC1ncmlkIC5yZWZpbmVtZW50cyB7XG4gICAgZmxvYXQ6IGxlZnQ7XG4gICAgZGlyZWN0aW9uOiBsdHI7XG4gICAgcGFkZGluZy1sZWZ0OiAxNnB4O1xuICAgIHBhZGRpbmctcmlnaHQ6IDE2cHg7XG4gICAgd2lkdGg6IDI1JTtcbiAgICB0cmFuc2l0aW9uOiBhbGwgMzAwbXMgZWFzZTsgfVxuICAuc2MtcHJvZHVjdC1ncmlkIC5wcm9kdWN0cyB7XG4gICAgZmxvYXQ6IGxlZnQ7XG4gICAgZGlyZWN0aW9uOiBsdHI7XG4gICAgcGFkZGluZy1sZWZ0OiAxNnB4O1xuICAgIHBhZGRpbmctcmlnaHQ6IDE2cHg7XG4gICAgd2lkdGg6IDc1JTtcbiAgICBwYWRkaW5nLWxlZnQ6IDA7XG4gICAgcGFkZGluZy1yaWdodDogMDtcbiAgICB0cmFuc2l0aW9uOiBhbGwgMzAwbXMgZWFzZTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVooMCwgMCwgMCk7IH1cbiAgICAuc2MtcHJvZHVjdC1ncmlkIC5wcm9kdWN0cyAuc2MtcHJvZHVjdC1jYXJkIHtcbiAgICAgIHRyYW5zaXRpb246IGFsbCAzMDBtcyBlYXNlO1xuICAgICAgYm9yZGVyLXJpZ2h0OiAxcHggc29saWQgI2RjZGNkYztcbiAgICAgIGZsb2F0OiBsZWZ0O1xuICAgICAgZGlyZWN0aW9uOiBsdHI7XG4gICAgICBwYWRkaW5nLWxlZnQ6IDE2cHg7XG4gICAgICBwYWRkaW5nLXJpZ2h0OiAxNnB4O1xuICAgICAgd2lkdGg6IDMzLjMzMzMzJTtcbiAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjZGNkY2RjOyB9XG4gICAgICAuc2MtcHJvZHVjdC1ncmlkIC5wcm9kdWN0cyAuc2MtcHJvZHVjdC1jYXJkIC5zYy1jYXJkLWZsYWcge1xuICAgICAgICB6LWluZGV4OiAxOyB9XG4gICAgICAuc2MtcHJvZHVjdC1ncmlkIC5wcm9kdWN0cyAuc2MtcHJvZHVjdC1jYXJkOm50aC1jaGlsZCgzbiszKSB7XG4gICAgICAgIGJvcmRlci1yaWdodDogMDsgfVxuICAgICAgLnNjLXByb2R1Y3QtZ3JpZCAucHJvZHVjdHMgLnNjLXByb2R1Y3QtY2FyZCBmaWd1cmUgaW1nIHtcbiAgICAgICAgdHJhbnNpdGlvbjogYWxsIDMwMG1zIGVhc2U7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWigwLCAwLCAwKTtcbiAgICAgICAgd2lkdGg6IDIyMnB4OyB9XG4gIC5zYy1wcm9kdWN0LWdyaWQuY29sbGFwc2VkIC5yZWZpbmVtZW50cyB7XG4gICAgd2lkdGg6IDA7XG4gICAgaGVpZ2h0OiAwO1xuICAgIG9wYWNpdHk6IDA7XG4gICAgcG9pbnRlci1ldmVudHM6IG5vbmU7IH1cbiAgLnNjLXByb2R1Y3QtZ3JpZC5jb2xsYXBzZWQgLnByb2R1Y3RzIHtcbiAgICBmbG9hdDogbGVmdDtcbiAgICBkaXJlY3Rpb246IGx0cjtcbiAgICBwYWRkaW5nLWxlZnQ6IDE2cHg7XG4gICAgcGFkZGluZy1yaWdodDogMTZweDtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBhbmltYXRpb246IGNvbGxhcHNlLXJlZmluZW1lbnRzIDMwMG1zIGVhc2U7IH1cbiAgICAuc2MtcHJvZHVjdC1ncmlkLmNvbGxhcHNlZCAucHJvZHVjdHMgLnNjLXByb2R1Y3QtY2FyZCB7XG4gICAgICBoZWlnaHQ6IDQ1MHB4OyB9XG4gICAgICAuc2MtcHJvZHVjdC1ncmlkLmNvbGxhcHNlZCAucHJvZHVjdHMgLnNjLXByb2R1Y3QtY2FyZCBmaWd1cmUge1xuICAgICAgICBoZWlnaHQ6IDMzMHB4OyB9XG4gICAgICAuc2MtcHJvZHVjdC1ncmlkLmNvbGxhcHNlZCAucHJvZHVjdHMgLnNjLXByb2R1Y3QtY2FyZCBmaWd1cmUgaW1nIHtcbiAgICAgICAgd2lkdGg6IDI5MHB4OyB9XG5cbkBrZXlmcmFtZXMgY29sbGFwc2UtcmVmaW5lbWVudHMge1xuICBmcm9tIHtcbiAgICBtYXJnaW4tbGVmdDogMjUlOyB9XG4gIHRvIHtcbiAgICBtYXJnaW4tbGVmdDogMDsgfSB9XG5cbi5zYy1pbnB1dCB7XG4gIGJvcmRlcjogMXB4IHNvbGlkICNhYWE7XG4gIGJvcmRlci1yYWRpdXM6IDNweDtcbiAgcGFkZGluZzogNHB4IDhweDtcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDsgfVxuICAuc2MtaW5wdXQ6YWN0aXZlLCAuc2MtaW5wdXQ6Zm9jdXMge1xuICAgIG91dGxpbmU6IG5vbmU7IH1cbiAgLnNjLWlucHV0LnNjLWhpZGUtc3Bpbm5lciB7XG4gICAgLW1vei1hcHBlYXJhbmNlOiB0ZXh0ZmllbGQ7IH1cbiAgICAuc2MtaW5wdXQuc2MtaGlkZS1zcGlubmVyOjotd2Via2l0LW91dGVyLXNwaW4tYnV0dG9uLCAuc2MtaW5wdXQuc2MtaGlkZS1zcGlubmVyOjotd2Via2l0LWlubmVyLXNwaW4tYnV0dG9uIHtcbiAgICAgIC13ZWJraXQtYXBwZWFyYW5jZTogbm9uZTtcbiAgICAgIG1hcmdpbjogMDsgfVxuXG4uc2Mtc3BlYy10YWJsZSB7XG4gIHdpZHRoOiAxMDAlOyB9XG4gIC5zYy1zcGVjLXRhYmxlIHRoIHtcbiAgICBmb250LXNpemU6IDE0cHg7XG4gICAgbGluZS1oZWlnaHQ6IDE3cHg7XG4gICAgZm9udC13ZWlnaHQ6IDMwMDtcbiAgICB2ZXJ0aWNhbC1hbGlnbjogdGV4dC1ib3R0b207XG4gICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgICBwYWRkaW5nOiAzZW0gMmVtIDAgMWVtO1xuICAgIHdoaXRlLXNwYWNlOiBwcmU7XG4gICAgZGlzcGxheTogdGFibGUtY2VsbDtcbiAgICBjb2xvcjogIzg3ODc4NzsgfVxuICAuc2Mtc3BlYy10YWJsZSB0ZCB7XG4gICAgZm9udC1zaXplOiAzMnB4O1xuICAgIGxpbmUtaGVpZ2h0OiAzOHB4O1xuICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgdmVydGljYWwtYWxpZ246IHRleHQtYm90dG9tO1xuICAgIHdpZHRoOiAxMDAlOyB9XG4gIC5zYy1zcGVjLXRhYmxlIHRyIHtcbiAgICBib3JkZXItYm90dG9tOiAycHggc29saWQgI0YyRjFFRDsgfVxuXG4vKlxuU0NTUyB2YXJpYWJsZXMgYXJlIGluZm9ybWF0aW9uIGFib3V0IGljb24ncyBjb21waWxlZCBzdGF0ZSwgc3RvcmVkIHVuZGVyIGl0cyBvcmlnaW5hbCBmaWxlIG5hbWVcblxuLmljb24taG9tZSB7XG4gIHdpZHRoOiAkaWNvbi1ob21lLXdpZHRoO1xufVxuXG5UaGUgbGFyZ2UgYXJyYXktbGlrZSB2YXJpYWJsZXMgY29udGFpbiBhbGwgaW5mb3JtYXRpb24gYWJvdXQgYSBzaW5nbGUgaWNvblxuJGljb24taG9tZTogeCB5IG9mZnNldF94IG9mZnNldF95IHdpZHRoIGhlaWdodCB0b3RhbF93aWR0aCB0b3RhbF9oZWlnaHQgaW1hZ2VfcGF0aDtcblxuQXQgdGhlIGJvdHRvbSBvZiB0aGlzIHNlY3Rpb24sIHdlIHByb3ZpZGUgaW5mb3JtYXRpb24gYWJvdXQgdGhlIHNwcml0ZXNoZWV0IGl0c2VsZlxuJHNwcml0ZXNoZWV0OiB3aWR0aCBoZWlnaHQgaW1hZ2UgJHNwcml0ZXNoZWV0LXNwcml0ZXM7XG4qL1xuLypcblRoZSBwcm92aWRlZCBtaXhpbnMgYXJlIGludGVuZGVkIHRvIGJlIHVzZWQgd2l0aCB0aGUgYXJyYXktbGlrZSB2YXJpYWJsZXNcblxuLmljb24taG9tZSB7XG4gIEBpbmNsdWRlIHNwcml0ZS13aWR0aCgkaWNvbi1ob21lKTtcbn1cblxuLmljb24tZW1haWwge1xuICBAaW5jbHVkZSBzcHJpdGUoJGljb24tZW1haWwpO1xufVxuKi9cbi8qXG5UaGUgYHNwcml0ZXNgIG1peGluIGdlbmVyYXRlcyBpZGVudGljYWwgb3V0cHV0IHRvIHRoZSBDU1MgdGVtcGxhdGVcbiAgYnV0IGNhbiBiZSBvdmVycmlkZGVuIGluc2lkZSBvZiBTQ1NTXG5cbkBpbmNsdWRlIHNwcml0ZXMoJHNwcml0ZXNoZWV0LXNwcml0ZXMpO1xuKi9cbltjbGFzcyo9J3NjLXNwcml0ZSddIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKHNwcml0ZS5wbmcpO1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7IH1cblxuLnNjLXNwcml0ZS1DYXJ0IHtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogLTMyOXB4IC0zNnB4O1xuICB3aWR0aDogNDRweDtcbiAgaGVpZ2h0OiA0NHB4OyB9XG5cbi5zYy1zcHJpdGUtTG9nbyB7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IC0yMjNweCAwcHg7XG4gIHdpZHRoOiAxNjZweDtcbiAgaGVpZ2h0OiAzNnB4OyB9XG5cbi5zYy1zcHJpdGUtYWRkLXRvLWxpc3Qge1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMjIzcHggLTExNnB4O1xuICB3aWR0aDogMzNweDtcbiAgaGVpZ2h0OiAzM3B4OyB9XG5cbi5zYy1zcHJpdGUtYXJyb3ctZ3JlZW4tYmcge1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMzI5cHggLTgwcHg7XG4gIHdpZHRoOiAzM3B4O1xuICBoZWlnaHQ6IDMzcHg7IH1cblxuLnNjLXNwcml0ZS1hcnJvdy1ncmVlbiB7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IC0yNzFweCAtMTQ5cHg7XG4gIHdpZHRoOiAxN3B4O1xuICBoZWlnaHQ6IDE0cHg7IH1cblxuLnNjLXNwcml0ZS1hcnJvdy1ncmV5IHtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogLTIzM3B4IC0xNjVweDtcbiAgd2lkdGg6IDhweDtcbiAgaGVpZ2h0OiAxNHB4OyB9XG5cbi5zYy1zcHJpdGUtYXJyb3ctaGItbHQge1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMjIzcHggLTM2cHg7XG4gIHdpZHRoOiA1M3B4O1xuICBoZWlnaHQ6IDgwcHg7IH1cblxuLnNjLXNwcml0ZS1hcnJvdy1oYi1ydCB7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IC0yNzZweCAtMzZweDtcbiAgd2lkdGg6IDUzcHg7XG4gIGhlaWdodDogODBweDsgfVxuXG4uc2Mtc3ByaXRlLWJhY2stY2hldnJvbiB7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IC0zNjJweCAtMTAzcHg7XG4gIHdpZHRoOiA2cHg7XG4gIGhlaWdodDogMTBweDsgfVxuXG4uc2Mtc3ByaXRlLWNhcmV0LWRvd24tZ3JlZW4ge1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMzY4cHggLTEwM3B4O1xuICB3aWR0aDogOHB4O1xuICBoZWlnaHQ6IDVweDsgfVxuXG4uc2Mtc3ByaXRlLWNhcmV0LWRvd24tcmVkIHtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogLTM3NnB4IC0xMDNweDtcbiAgd2lkdGg6IDhweDtcbiAgaGVpZ2h0OiA1cHg7IH1cblxuLnNjLXNwcml0ZS1jaGVjay1ncmVlbiB7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IC0zNzNweCAtNjhweDtcbiAgd2lkdGg6IDE0cHg7XG4gIGhlaWdodDogMTJweDsgfVxuXG4uc2Mtc3ByaXRlLWNsb3NlLWljb24ge1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMzA0cHggLTE0OXB4O1xuICB3aWR0aDogMTJweDtcbiAgaGVpZ2h0OiAxM3B4OyB9XG5cbi5zYy1zcHJpdGUtY2xvc2Uge1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMzc2cHggLTExNnB4O1xuICB3aWR0aDogMTJweDtcbiAgaGVpZ2h0OiAxM3B4OyB9XG5cbi5zYy1zcHJpdGUtZmFjZWJvb2sge1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMjIzcHggLTE0OXB4O1xuICB3aWR0aDogMTZweDtcbiAgaGVpZ2h0OiAxNnB4OyB9XG5cbi5zYy1zcHJpdGUtZ29vZ2xlIHtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogLTIzOXB4IC0xNDlweDtcbiAgd2lkdGg6IDE2cHg7XG4gIGhlaWdodDogMTZweDsgfVxuXG4uc2Mtc3ByaXRlLWdyZWF0ZXItdGhhbi1ncmVlbiB7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IC0yMjNweCAtMTY1cHg7XG4gIHdpZHRoOiAxMHB4O1xuICBoZWlnaHQ6IDE0cHg7IH1cblxuLnNjLXNwcml0ZS1ncmVhdGVyLXRoYW4td2hpdGUtc21hbGwge1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMjMycHggLTE3OXB4O1xuICB3aWR0aDogOXB4O1xuICBoZWlnaHQ6IDE1cHg7IH1cblxuLnNjLXNwcml0ZS1ncmVhdGVyLXRoYW4td2hpdGUge1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMjIzcHggLTE3OXB4O1xuICB3aWR0aDogOXB4O1xuICBoZWlnaHQ6IDE1cHg7IH1cblxuLnNjLXNwcml0ZS1ob3QtYnV5cy1sZWZ0LXNoYWRlIHtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogMHB4IDBweDtcbiAgd2lkdGg6IDk1cHg7XG4gIGhlaWdodDogMjg1cHg7IH1cblxuLnNjLXNwcml0ZS1ob3QtYnV5cy1yaWdodC1zaGFkZSB7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IC05NXB4IDBweDtcbiAgd2lkdGg6IDEyOHB4O1xuICBoZWlnaHQ6IDE5MHB4OyB9XG5cbi5zYy1zcHJpdGUtaG90YnV5cy1hcnJvdyB7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IC0yNTZweCAtMTE2cHg7XG4gIHdpZHRoOiAzMHB4O1xuICBoZWlnaHQ6IDMwcHg7IH1cblxuLnNjLXNwcml0ZS1sZWZ0LWFycm93IHtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogLTM1OHB4IC0xMTZweDtcbiAgd2lkdGg6IDE4cHg7XG4gIGhlaWdodDogMTVweDsgfVxuXG4uc2Mtc3ByaXRlLW1pbnVzIHtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogLTM2OHB4IC0xMDhweDtcbiAgd2lkdGg6IDE2cHg7XG4gIGhlaWdodDogMnB4OyB9XG5cbi5zYy1zcHJpdGUtcC1ncmlkLWFjdHYge1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMjU1cHggLTE0OXB4O1xuICB3aWR0aDogMTZweDtcbiAgaGVpZ2h0OiAxNnB4OyB9XG5cbi5zYy1zcHJpdGUtcC1ncmlkIHtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogLTM3M3B4IC01MnB4O1xuICB3aWR0aDogMTZweDtcbiAgaGVpZ2h0OiAxNnB4OyB9XG5cbi5zYy1zcHJpdGUtcC1saXN0LWFjdHYge1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMzQxcHggLTExNnB4O1xuICB3aWR0aDogMTdweDtcbiAgaGVpZ2h0OiAxNnB4OyB9XG5cbi5zYy1zcHJpdGUtcC1saXN0IHtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogLTMyNHB4IC0xMTZweDtcbiAgd2lkdGg6IDE3cHg7XG4gIGhlaWdodDogMTZweDsgfVxuXG4uc2Mtc3ByaXRlLXBpbnRlcmVzdCB7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IC0zNzNweCAtMzZweDtcbiAgd2lkdGg6IDE2cHg7XG4gIGhlaWdodDogMTZweDsgfVxuXG4uc2Mtc3ByaXRlLXBsdXMge1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMzA3cHggLTExNnB4O1xuICB3aWR0aDogMTdweDtcbiAgaGVpZ2h0OiAxN3B4OyB9XG5cbi5zYy1zcHJpdGUtc2VhcmNoLWFycm93IHtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogLTM2MnB4IC04MHB4O1xuICB3aWR0aDogMjJweDtcbiAgaGVpZ2h0OiAyM3B4OyB9XG5cbi5zYy1zcHJpdGUtc2VhcmNoLWNsb3NlIHtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogLTMxNnB4IC0xNDlweDtcbiAgd2lkdGg6IDEycHg7XG4gIGhlaWdodDogMTJweDsgfVxuXG4uc2Mtc3ByaXRlLXNlYXJjaCB7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IC0yODZweCAtMTE2cHg7XG4gIHdpZHRoOiAyMXB4O1xuICBoZWlnaHQ6IDIxcHg7IH1cblxuLnNjLXNwcml0ZS10d2l0dGVyIHtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogLTI4OHB4IC0xNDlweDtcbiAgd2lkdGg6IDE2cHg7XG4gIGhlaWdodDogMTNweDsgfVxuXG4vKlxuU0NTUyB2YXJpYWJsZXMgYXJlIGluZm9ybWF0aW9uIGFib3V0IGljb24ncyBjb21waWxlZCBzdGF0ZSwgc3RvcmVkIHVuZGVyIGl0cyBvcmlnaW5hbCBmaWxlIG5hbWVcblxuLmljb24taG9tZSB7XG4gIHdpZHRoOiAkaWNvbi1ob21lLXdpZHRoO1xufVxuXG5UaGUgbGFyZ2UgYXJyYXktbGlrZSB2YXJpYWJsZXMgY29udGFpbiBhbGwgaW5mb3JtYXRpb24gYWJvdXQgYSBzaW5nbGUgaWNvblxuJGljb24taG9tZTogeCB5IG9mZnNldF94IG9mZnNldF95IHdpZHRoIGhlaWdodCB0b3RhbF93aWR0aCB0b3RhbF9oZWlnaHQgaW1hZ2VfcGF0aDtcblxuQXQgdGhlIGJvdHRvbSBvZiB0aGlzIHNlY3Rpb24sIHdlIHByb3ZpZGUgaW5mb3JtYXRpb24gYWJvdXQgdGhlIHNwcml0ZXNoZWV0IGl0c2VsZlxuJHNwcml0ZXNoZWV0OiB3aWR0aCBoZWlnaHQgaW1hZ2UgJHNwcml0ZXNoZWV0LXNwcml0ZXM7XG4qL1xuLyogUkVUSU5BICovXG4vKiBSRVRJTkEgKi9cbi8qXG5UaGVzZSBcInJldGluYSBncm91cFwiIHZhcmlhYmxlcyBhcmUgbWFwcGluZ3MgZm9yIHRoZSBuYW1pbmcgYW5kIHBhaXJpbmcgb2Ygbm9ybWFsIGFuZCByZXRpbmEgc3ByaXRlcy5cblxuVGhlIGxpc3QgZm9ybWF0dGVkIHZhcmlhYmxlcyBhcmUgaW50ZW5kZWQgZm9yIG1peGlucyBsaWtlIGByZXRpbmEtc3ByaXRlYCBhbmQgYHJldGluYS1zcHJpdGVzYC5cbiovXG4vKlxuVGhlIHByb3ZpZGVkIG1peGlucyBhcmUgaW50ZW5kZWQgdG8gYmUgdXNlZCB3aXRoIHRoZSBhcnJheS1saWtlIHZhcmlhYmxlc1xuXG4uaWNvbi1ob21lIHtcbiAgQGluY2x1ZGUgc3ByaXRlLXdpZHRoKCRpY29uLWhvbWUpO1xufVxuXG4uaWNvbi1lbWFpbCB7XG4gIEBpbmNsdWRlIHNwcml0ZSgkaWNvbi1lbWFpbCk7XG59XG4qL1xuLypcblRoZSBgc3ByaXRlc2AgbWl4aW4gZ2VuZXJhdGVzIGlkZW50aWNhbCBvdXRwdXQgdG8gdGhlIENTUyB0ZW1wbGF0ZVxuICBidXQgY2FuIGJlIG92ZXJyaWRkZW4gaW5zaWRlIG9mIFNDU1NcblxuQGluY2x1ZGUgc3ByaXRlcygkc3ByaXRlc2hlZXQtc3ByaXRlcyk7XG4qL1xuW2NsYXNzKj1zYy1yYXRpbmddIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrOyB9XG5cbi5zYy1yYXRpbmctMF8wIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKHJhdGluZy1zcHJpdGUucG5nKTtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogMHB4IC0xMnB4O1xuICB3aWR0aDogNzZweDtcbiAgaGVpZ2h0OiAxMnB4OyB9XG4gIEBtZWRpYSAoLXdlYmtpdC1taW4tZGV2aWNlLXBpeGVsLXJhdGlvOiAyKSwgKG1pbi1yZXNvbHV0aW9uOiAxOTJkcGkpIHtcbiAgICAuc2MtcmF0aW5nLTBfMCB7XG4gICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwocmF0aW5nLXNwcml0ZUAyeC5wbmcpO1xuICAgICAgYmFja2dyb3VuZC1zaXplOiAxNTJweCA3MnB4OyB9IH1cblxuLnNjLXJhdGluZy0wXzUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwocmF0aW5nLXNwcml0ZS5wbmcpO1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAwcHggLTYwcHg7XG4gIHdpZHRoOiA3NnB4O1xuICBoZWlnaHQ6IDEycHg7IH1cbiAgQG1lZGlhICgtd2Via2l0LW1pbi1kZXZpY2UtcGl4ZWwtcmF0aW86IDIpLCAobWluLXJlc29sdXRpb246IDE5MmRwaSkge1xuICAgIC5zYy1yYXRpbmctMF81IHtcbiAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybChyYXRpbmctc3ByaXRlQDJ4LnBuZyk7XG4gICAgICBiYWNrZ3JvdW5kLXNpemU6IDE1MnB4IDcycHg7IH0gfVxuXG4uc2MtcmF0aW5nLTFfMCB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChyYXRpbmctc3ByaXRlLnBuZyk7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IDBweCAtMjRweDtcbiAgd2lkdGg6IDc2cHg7XG4gIGhlaWdodDogMTJweDsgfVxuICBAbWVkaWEgKC13ZWJraXQtbWluLWRldmljZS1waXhlbC1yYXRpbzogMiksIChtaW4tcmVzb2x1dGlvbjogMTkyZHBpKSB7XG4gICAgLnNjLXJhdGluZy0xXzAge1xuICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKHJhdGluZy1zcHJpdGVAMngucG5nKTtcbiAgICAgIGJhY2tncm91bmQtc2l6ZTogMTUycHggNzJweDsgfSB9XG5cbi5zYy1yYXRpbmctMV81IHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKHJhdGluZy1zcHJpdGUucG5nKTtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogMHB4IC0zNnB4O1xuICB3aWR0aDogNzZweDtcbiAgaGVpZ2h0OiAxMnB4OyB9XG4gIEBtZWRpYSAoLXdlYmtpdC1taW4tZGV2aWNlLXBpeGVsLXJhdGlvOiAyKSwgKG1pbi1yZXNvbHV0aW9uOiAxOTJkcGkpIHtcbiAgICAuc2MtcmF0aW5nLTFfNSB7XG4gICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwocmF0aW5nLXNwcml0ZUAyeC5wbmcpO1xuICAgICAgYmFja2dyb3VuZC1zaXplOiAxNTJweCA3MnB4OyB9IH1cblxuLnNjLXJhdGluZy0yXzAge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwocmF0aW5nLXNwcml0ZS5wbmcpO1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAwcHggLTQ4cHg7XG4gIHdpZHRoOiA3NnB4O1xuICBoZWlnaHQ6IDEycHg7IH1cbiAgQG1lZGlhICgtd2Via2l0LW1pbi1kZXZpY2UtcGl4ZWwtcmF0aW86IDIpLCAobWluLXJlc29sdXRpb246IDE5MmRwaSkge1xuICAgIC5zYy1yYXRpbmctMl8wIHtcbiAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybChyYXRpbmctc3ByaXRlQDJ4LnBuZyk7XG4gICAgICBiYWNrZ3JvdW5kLXNpemU6IDE1MnB4IDcycHg7IH0gfVxuXG4uc2MtcmF0aW5nLTJfNSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChyYXRpbmctc3ByaXRlLnBuZyk7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IDBweCAwcHg7XG4gIHdpZHRoOiA3NnB4O1xuICBoZWlnaHQ6IDEycHg7IH1cbiAgQG1lZGlhICgtd2Via2l0LW1pbi1kZXZpY2UtcGl4ZWwtcmF0aW86IDIpLCAobWluLXJlc29sdXRpb246IDE5MmRwaSkge1xuICAgIC5zYy1yYXRpbmctMl81IHtcbiAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybChyYXRpbmctc3ByaXRlQDJ4LnBuZyk7XG4gICAgICBiYWNrZ3JvdW5kLXNpemU6IDE1MnB4IDcycHg7IH0gfVxuXG4uc2MtcmF0aW5nLTNfMCB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChyYXRpbmctc3ByaXRlLnBuZyk7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IC03NnB4IDBweDtcbiAgd2lkdGg6IDc2cHg7XG4gIGhlaWdodDogMTJweDsgfVxuICBAbWVkaWEgKC13ZWJraXQtbWluLWRldmljZS1waXhlbC1yYXRpbzogMiksIChtaW4tcmVzb2x1dGlvbjogMTkyZHBpKSB7XG4gICAgLnNjLXJhdGluZy0zXzAge1xuICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKHJhdGluZy1zcHJpdGVAMngucG5nKTtcbiAgICAgIGJhY2tncm91bmQtc2l6ZTogMTUycHggNzJweDsgfSB9XG5cbi5zYy1yYXRpbmctM181IHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKHJhdGluZy1zcHJpdGUucG5nKTtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogLTc2cHggLTEycHg7XG4gIHdpZHRoOiA3NnB4O1xuICBoZWlnaHQ6IDEycHg7IH1cbiAgQG1lZGlhICgtd2Via2l0LW1pbi1kZXZpY2UtcGl4ZWwtcmF0aW86IDIpLCAobWluLXJlc29sdXRpb246IDE5MmRwaSkge1xuICAgIC5zYy1yYXRpbmctM181IHtcbiAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybChyYXRpbmctc3ByaXRlQDJ4LnBuZyk7XG4gICAgICBiYWNrZ3JvdW5kLXNpemU6IDE1MnB4IDcycHg7IH0gfVxuXG4uc2MtcmF0aW5nLTRfMCB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChyYXRpbmctc3ByaXRlLnBuZyk7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IC03NnB4IC0yNHB4O1xuICB3aWR0aDogNzZweDtcbiAgaGVpZ2h0OiAxMnB4OyB9XG4gIEBtZWRpYSAoLXdlYmtpdC1taW4tZGV2aWNlLXBpeGVsLXJhdGlvOiAyKSwgKG1pbi1yZXNvbHV0aW9uOiAxOTJkcGkpIHtcbiAgICAuc2MtcmF0aW5nLTRfMCB7XG4gICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwocmF0aW5nLXNwcml0ZUAyeC5wbmcpO1xuICAgICAgYmFja2dyb3VuZC1zaXplOiAxNTJweCA3MnB4OyB9IH1cblxuLnNjLXJhdGluZy00XzUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwocmF0aW5nLXNwcml0ZS5wbmcpO1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtNzZweCAtMzZweDtcbiAgd2lkdGg6IDc2cHg7XG4gIGhlaWdodDogMTJweDsgfVxuICBAbWVkaWEgKC13ZWJraXQtbWluLWRldmljZS1waXhlbC1yYXRpbzogMiksIChtaW4tcmVzb2x1dGlvbjogMTkyZHBpKSB7XG4gICAgLnNjLXJhdGluZy00XzUge1xuICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKHJhdGluZy1zcHJpdGVAMngucG5nKTtcbiAgICAgIGJhY2tncm91bmQtc2l6ZTogMTUycHggNzJweDsgfSB9XG5cbi5zYy1yYXRpbmctNV8wIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKHJhdGluZy1zcHJpdGUucG5nKTtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogLTc2cHggLTQ4cHg7XG4gIHdpZHRoOiA3NnB4O1xuICBoZWlnaHQ6IDEycHg7IH1cbiAgQG1lZGlhICgtd2Via2l0LW1pbi1kZXZpY2UtcGl4ZWwtcmF0aW86IDIpLCAobWluLXJlc29sdXRpb246IDE5MmRwaSkge1xuICAgIC5zYy1yYXRpbmctNV8wIHtcbiAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybChyYXRpbmctc3ByaXRlQDJ4LnBuZyk7XG4gICAgICBiYWNrZ3JvdW5kLXNpemU6IDE1MnB4IDcycHg7IH0gfVxuXG5AZm9udC1mYWNlIHtcbiAgZm9udC1mYW1pbHk6IFwic2NJY29uc1wiO1xuICBzcmM6IHVybChcIi4vZm9udHMvc2NJY29ucy5lb3RcIik7XG4gIHNyYzogdXJsKFwiLi9mb250cy9zY0ljb25zLmVvdD8jaWVmaXhcIikgZm9ybWF0KFwiZW90XCIpLCB1cmwoXCIuL2ZvbnRzL3NjSWNvbnMud29mZlwiKSBmb3JtYXQoXCJ3b2ZmXCIpLCB1cmwoXCIuL2ZvbnRzL3NjSWNvbnMudHRmXCIpIGZvcm1hdChcInRydWV0eXBlXCIpLCB1cmwoXCIuL2ZvbnRzL3NjSWNvbnMuc3ZnI3NjSWNvbnNcIikgZm9ybWF0KFwic3ZnXCIpOyB9XG5cbi5zYy1pY29uLWNhcmV0OmJlZm9yZSB7XG4gIGZvbnQtZmFtaWx5OiBcInNjSWNvbnNcIjtcbiAgLXdlYmtpdC1mb250LXNtb290aGluZzogYW50aWFsaWFzZWQ7XG4gIC1tb3otb3N4LWZvbnQtc21vb3RoaW5nOiBncmF5c2NhbGU7XG4gIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgZm9udC12YXJpYW50OiBub3JtYWw7XG4gIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgdGV4dC10cmFuc2Zvcm06IG5vbmU7IH1cblxuLnNjLWljb24tY2FyZXQ6YmVmb3JlIHtcbiAgY29udGVudDogXCLuqIFcIjsgfVxuXG4vKlxuU0NTUyB2YXJpYWJsZXMgYXJlIGluZm9ybWF0aW9uIGFib3V0IGljb24ncyBjb21waWxlZCBzdGF0ZSwgc3RvcmVkIHVuZGVyIGl0cyBvcmlnaW5hbCBmaWxlIG5hbWVcblxuLmljb24taG9tZSB7XG4gIHdpZHRoOiAkaWNvbi1ob21lLXdpZHRoO1xufVxuXG5UaGUgbGFyZ2UgYXJyYXktbGlrZSB2YXJpYWJsZXMgY29udGFpbiBhbGwgaW5mb3JtYXRpb24gYWJvdXQgYSBzaW5nbGUgaWNvblxuJGljb24taG9tZTogeCB5IG9mZnNldF94IG9mZnNldF95IHdpZHRoIGhlaWdodCB0b3RhbF93aWR0aCB0b3RhbF9oZWlnaHQgaW1hZ2VfcGF0aDtcblxuQXQgdGhlIGJvdHRvbSBvZiB0aGlzIHNlY3Rpb24sIHdlIHByb3ZpZGUgaW5mb3JtYXRpb24gYWJvdXQgdGhlIHNwcml0ZXNoZWV0IGl0c2VsZlxuJHNwcml0ZXNoZWV0OiB3aWR0aCBoZWlnaHQgaW1hZ2UgJHNwcml0ZXNoZWV0LXNwcml0ZXM7XG4qL1xuLyogUkVUSU5BICovXG4vKiBSRVRJTkEgKi9cbi8qXG5UaGVzZSBcInJldGluYSBncm91cFwiIHZhcmlhYmxlcyBhcmUgbWFwcGluZ3MgZm9yIHRoZSBuYW1pbmcgYW5kIHBhaXJpbmcgb2Ygbm9ybWFsIGFuZCByZXRpbmEgc3ByaXRlcy5cblxuVGhlIGxpc3QgZm9ybWF0dGVkIHZhcmlhYmxlcyBhcmUgaW50ZW5kZWQgZm9yIG1peGlucyBsaWtlIGByZXRpbmEtc3ByaXRlYCBhbmQgYHJldGluYS1zcHJpdGVzYC5cbiovXG4vKlxuVGhlIHByb3ZpZGVkIG1peGlucyBhcmUgaW50ZW5kZWQgdG8gYmUgdXNlZCB3aXRoIHRoZSBhcnJheS1saWtlIHZhcmlhYmxlc1xuXG4uaWNvbi1ob21lIHtcbiAgQGluY2x1ZGUgc3ByaXRlLXdpZHRoKCRpY29uLWhvbWUpO1xufVxuXG4uaWNvbi1lbWFpbCB7XG4gIEBpbmNsdWRlIHNwcml0ZSgkaWNvbi1lbWFpbCk7XG59XG4qL1xuLypcblRoZSBgc3ByaXRlc2AgbWl4aW4gZ2VuZXJhdGVzIGlkZW50aWNhbCBvdXRwdXQgdG8gdGhlIENTUyB0ZW1wbGF0ZVxuICBidXQgY2FuIGJlIG92ZXJyaWRkZW4gaW5zaWRlIG9mIFNDU1NcblxuQGluY2x1ZGUgc3ByaXRlcygkc3ByaXRlc2hlZXQtc3ByaXRlcyk7XG4qL1xuW2NsYXNzKj1zYy12Mi1dIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrOyB9XG5cbi5zYy12Mi0wMDEtbG9nby1kZXNrIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKHNwcml0ZXMtdjIucG5nKTtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogMHB4IC02MjNweDtcbiAgd2lkdGg6IDE3NnB4O1xuICBoZWlnaHQ6IDQwcHg7IH1cbiAgQG1lZGlhICgtd2Via2l0LW1pbi1kZXZpY2UtcGl4ZWwtcmF0aW86IDIpLCAobWluLXJlc29sdXRpb246IDE5MmRwaSkge1xuICAgIC5zYy12Mi0wMDEtbG9nby1kZXNrIHtcbiAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybChzcHJpdGVzLXYyQDJ4LnBuZyk7XG4gICAgICBiYWNrZ3JvdW5kLXNpemU6IDE3NnB4IDY2M3B4OyB9IH1cblxuLnNjLXYyLTAwMy1sb2dvLXN0aWNreSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChzcHJpdGVzLXYyLnBuZyk7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IDBweCAtNDkzcHg7XG4gIHdpZHRoOiAxNDNweDtcbiAgaGVpZ2h0OiAzMnB4OyB9XG4gIEBtZWRpYSAoLXdlYmtpdC1taW4tZGV2aWNlLXBpeGVsLXJhdGlvOiAyKSwgKG1pbi1yZXNvbHV0aW9uOiAxOTJkcGkpIHtcbiAgICAuc2MtdjItMDAzLWxvZ28tc3RpY2t5IHtcbiAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybChzcHJpdGVzLXYyQDJ4LnBuZyk7XG4gICAgICBiYWNrZ3JvdW5kLXNpemU6IDE3NnB4IDY2M3B4OyB9IH1cblxuLnNjLXYyLTAwNS1hcnJvdy1kb3duIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKHNwcml0ZXMtdjIucG5nKTtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogMHB4IDBweDtcbiAgd2lkdGg6IDEwcHg7XG4gIGhlaWdodDogNnB4OyB9XG4gIEBtZWRpYSAoLXdlYmtpdC1taW4tZGV2aWNlLXBpeGVsLXJhdGlvOiAyKSwgKG1pbi1yZXNvbHV0aW9uOiAxOTJkcGkpIHtcbiAgICAuc2MtdjItMDA1LWFycm93LWRvd24ge1xuICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKHNwcml0ZXMtdjJAMngucG5nKTtcbiAgICAgIGJhY2tncm91bmQtc2l6ZTogMTc2cHggNjYzcHg7IH0gfVxuXG4uc2MtdjItMDA3LWFycm93LXVwIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKHNwcml0ZXMtdjIucG5nKTtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogMHB4IC0xNnB4O1xuICB3aWR0aDogMTBweDtcbiAgaGVpZ2h0OiA2cHg7IH1cbiAgQG1lZGlhICgtd2Via2l0LW1pbi1kZXZpY2UtcGl4ZWwtcmF0aW86IDIpLCAobWluLXJlc29sdXRpb246IDE5MmRwaSkge1xuICAgIC5zYy12Mi0wMDctYXJyb3ctdXAge1xuICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKHNwcml0ZXMtdjJAMngucG5nKTtcbiAgICAgIGJhY2tncm91bmQtc2l6ZTogMTc2cHggNjYzcHg7IH0gfVxuXG4uc2MtdjItMDA5LWNhcm8tYXJyLWx0IHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKHNwcml0ZXMtdjIucG5nKTtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogMHB4IC00NTFweDtcbiAgd2lkdGg6IDMycHg7XG4gIGhlaWdodDogMzJweDsgfVxuICBAbWVkaWEgKC13ZWJraXQtbWluLWRldmljZS1waXhlbC1yYXRpbzogMiksIChtaW4tcmVzb2x1dGlvbjogMTkyZHBpKSB7XG4gICAgLnNjLXYyLTAwOS1jYXJvLWFyci1sdCB7XG4gICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoc3ByaXRlcy12MkAyeC5wbmcpO1xuICAgICAgYmFja2dyb3VuZC1zaXplOiAxNzZweCA2NjNweDsgfSB9XG5cbi5zYy12Mi0wMTEtY2Fyby1hcnItcnQge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoc3ByaXRlcy12Mi5wbmcpO1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAwcHggLTQwOXB4O1xuICB3aWR0aDogMzJweDtcbiAgaGVpZ2h0OiAzMnB4OyB9XG4gIEBtZWRpYSAoLXdlYmtpdC1taW4tZGV2aWNlLXBpeGVsLXJhdGlvOiAyKSwgKG1pbi1yZXNvbHV0aW9uOiAxOTJkcGkpIHtcbiAgICAuc2MtdjItMDExLWNhcm8tYXJyLXJ0IHtcbiAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybChzcHJpdGVzLXYyQDJ4LnBuZyk7XG4gICAgICBiYWNrZ3JvdW5kLXNpemU6IDE3NnB4IDY2M3B4OyB9IH1cblxuLnNjLXYyLTAxMy1jYXJ0LWljbyB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChzcHJpdGVzLXYyLnBuZyk7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IDBweCAtMjAycHg7XG4gIHdpZHRoOiAzMXB4O1xuICBoZWlnaHQ6IDIzcHg7IH1cbiAgQG1lZGlhICgtd2Via2l0LW1pbi1kZXZpY2UtcGl4ZWwtcmF0aW86IDIpLCAobWluLXJlc29sdXRpb246IDE5MmRwaSkge1xuICAgIC5zYy12Mi0wMTMtY2FydC1pY28ge1xuICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKHNwcml0ZXMtdjJAMngucG5nKTtcbiAgICAgIGJhY2tncm91bmQtc2l6ZTogMTc2cHggNjYzcHg7IH0gfVxuXG4uc2MtdjItMDE1LWZseS1hcnIge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoc3ByaXRlcy12Mi5wbmcpO1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAwcHggLTUycHg7XG4gIHdpZHRoOiA2cHg7XG4gIGhlaWdodDogMTBweDsgfVxuICBAbWVkaWEgKC13ZWJraXQtbWluLWRldmljZS1waXhlbC1yYXRpbzogMiksIChtaW4tcmVzb2x1dGlvbjogMTkyZHBpKSB7XG4gICAgLnNjLXYyLTAxNS1mbHktYXJyIHtcbiAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybChzcHJpdGVzLXYyQDJ4LnBuZyk7XG4gICAgICBiYWNrZ3JvdW5kLXNpemU6IDE3NnB4IDY2M3B4OyB9IH1cblxuLnNjLXYyLTAxNy1mbHktYXJyLWFjdGl2ZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChzcHJpdGVzLXYyLnBuZyk7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IDBweCAtMzJweDtcbiAgd2lkdGg6IDZweDtcbiAgaGVpZ2h0OiAxMHB4OyB9XG4gIEBtZWRpYSAoLXdlYmtpdC1taW4tZGV2aWNlLXBpeGVsLXJhdGlvOiAyKSwgKG1pbi1yZXNvbHV0aW9uOiAxOTJkcGkpIHtcbiAgICAuc2MtdjItMDE3LWZseS1hcnItYWN0aXZlIHtcbiAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybChzcHJpdGVzLXYyQDJ4LnBuZyk7XG4gICAgICBiYWNrZ3JvdW5kLXNpemU6IDE3NnB4IDY2M3B4OyB9IH1cblxuLnNjLXYyLTAxOS1tZW51IHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKHNwcml0ZXMtdjIucG5nKTtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogMHB4IC0xNDZweDtcbiAgd2lkdGg6IDIzcHg7XG4gIGhlaWdodDogMThweDsgfVxuICBAbWVkaWEgKC13ZWJraXQtbWluLWRldmljZS1waXhlbC1yYXRpbzogMiksIChtaW4tcmVzb2x1dGlvbjogMTkyZHBpKSB7XG4gICAgLnNjLXYyLTAxOS1tZW51IHtcbiAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybChzcHJpdGVzLXYyQDJ4LnBuZyk7XG4gICAgICBiYWNrZ3JvdW5kLXNpemU6IDE3NnB4IDY2M3B4OyB9IH1cblxuLnNjLXYyLTAyMS1zcmNoLWJsdS1yZWcge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoc3ByaXRlcy12Mi5wbmcpO1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAwcHggLTU3OXB4O1xuICB3aWR0aDogMzRweDtcbiAgaGVpZ2h0OiAzNHB4OyB9XG4gIEBtZWRpYSAoLXdlYmtpdC1taW4tZGV2aWNlLXBpeGVsLXJhdGlvOiAyKSwgKG1pbi1yZXNvbHV0aW9uOiAxOTJkcGkpIHtcbiAgICAuc2MtdjItMDIxLXNyY2gtYmx1LXJlZyB7XG4gICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoc3ByaXRlcy12MkAyeC5wbmcpO1xuICAgICAgYmFja2dyb3VuZC1zaXplOiAxNzZweCA2NjNweDsgfSB9XG5cbi5zYy12Mi0wMjMtc3JjaC1ibHUtc3RreSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChzcHJpdGVzLXYyLnBuZyk7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IDBweCAtMzczcHg7XG4gIHdpZHRoOiAyNnB4O1xuICBoZWlnaHQ6IDI2cHg7IH1cbiAgQG1lZGlhICgtd2Via2l0LW1pbi1kZXZpY2UtcGl4ZWwtcmF0aW86IDIpLCAobWluLXJlc29sdXRpb246IDE5MmRwaSkge1xuICAgIC5zYy12Mi0wMjMtc3JjaC1ibHUtc3RreSB7XG4gICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoc3ByaXRlcy12MkAyeC5wbmcpO1xuICAgICAgYmFja2dyb3VuZC1zaXplOiAxNzZweCA2NjNweDsgfSB9XG5cbi5zYy12Mi0wMjUtc3JjaC1ncmF5LXJlZyB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChzcHJpdGVzLXYyLnBuZyk7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IDBweCAtNTM1cHg7XG4gIHdpZHRoOiAzNHB4O1xuICBoZWlnaHQ6IDM0cHg7IH1cbiAgQG1lZGlhICgtd2Via2l0LW1pbi1kZXZpY2UtcGl4ZWwtcmF0aW86IDIpLCAobWluLXJlc29sdXRpb246IDE5MmRwaSkge1xuICAgIC5zYy12Mi0wMjUtc3JjaC1ncmF5LXJlZyB7XG4gICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoc3ByaXRlcy12MkAyeC5wbmcpO1xuICAgICAgYmFja2dyb3VuZC1zaXplOiAxNzZweCA2NjNweDsgfSB9XG5cbi5zYy12Mi0wMjctc3JjaC1ncmF5LXN0a3kge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoc3ByaXRlcy12Mi5wbmcpO1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAwcHggLTMzN3B4O1xuICB3aWR0aDogMjZweDtcbiAgaGVpZ2h0OiAyNnB4OyB9XG4gIEBtZWRpYSAoLXdlYmtpdC1taW4tZGV2aWNlLXBpeGVsLXJhdGlvOiAyKSwgKG1pbi1yZXNvbHV0aW9uOiAxOTJkcGkpIHtcbiAgICAuc2MtdjItMDI3LXNyY2gtZ3JheS1zdGt5IHtcbiAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybChzcHJpdGVzLXYyQDJ4LnBuZyk7XG4gICAgICBiYWNrZ3JvdW5kLXNpemU6IDE3NnB4IDY2M3B4OyB9IH1cblxuLnNjLXYyLTAyOS14IHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKHNwcml0ZXMtdjIucG5nKTtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogMHB4IC03MnB4O1xuICB3aWR0aDogMTJweDtcbiAgaGVpZ2h0OiAxMnB4OyB9XG4gIEBtZWRpYSAoLXdlYmtpdC1taW4tZGV2aWNlLXBpeGVsLXJhdGlvOiAyKSwgKG1pbi1yZXNvbHV0aW9uOiAxOTJkcGkpIHtcbiAgICAuc2MtdjItMDI5LXgge1xuICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKHNwcml0ZXMtdjJAMngucG5nKTtcbiAgICAgIGJhY2tncm91bmQtc2l6ZTogMTc2cHggNjYzcHg7IH0gfVxuXG4uc2MtdjItMDMxLWNoayB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChzcHJpdGVzLXYyLnBuZyk7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IDBweCAtMTIwcHg7XG4gIHdpZHRoOiAxNnB4O1xuICBoZWlnaHQ6IDE2cHg7IH1cbiAgQG1lZGlhICgtd2Via2l0LW1pbi1kZXZpY2UtcGl4ZWwtcmF0aW86IDIpLCAobWluLXJlc29sdXRpb246IDE5MmRwaSkge1xuICAgIC5zYy12Mi0wMzEtY2hrIHtcbiAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybChzcHJpdGVzLXYyQDJ4LnBuZyk7XG4gICAgICBiYWNrZ3JvdW5kLXNpemU6IDE3NnB4IDY2M3B4OyB9IH1cblxuLnNjLXYyLTAzMy1sb2NrIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKHNwcml0ZXMtdjIucG5nKTtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogMHB4IC05NHB4O1xuICB3aWR0aDogMTRweDtcbiAgaGVpZ2h0OiAxNnB4OyB9XG4gIEBtZWRpYSAoLXdlYmtpdC1taW4tZGV2aWNlLXBpeGVsLXJhdGlvOiAyKSwgKG1pbi1yZXNvbHV0aW9uOiAxOTJkcGkpIHtcbiAgICAuc2MtdjItMDMzLWxvY2sge1xuICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKHNwcml0ZXMtdjJAMngucG5nKTtcbiAgICAgIGJhY2tncm91bmQtc2l6ZTogMTc2cHggNjYzcHg7IH0gfVxuXG4uc2MtdjItMDM1LW1lbnUtYWN0aXZlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKHNwcml0ZXMtdjIucG5nKTtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogMHB4IC0xNzRweDtcbiAgd2lkdGg6IDIzcHg7XG4gIGhlaWdodDogMThweDsgfVxuICBAbWVkaWEgKC13ZWJraXQtbWluLWRldmljZS1waXhlbC1yYXRpbzogMiksIChtaW4tcmVzb2x1dGlvbjogMTkyZHBpKSB7XG4gICAgLnNjLXYyLTAzNS1tZW51LWFjdGl2ZSB7XG4gICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoc3ByaXRlcy12MkAyeC5wbmcpO1xuICAgICAgYmFja2dyb3VuZC1zaXplOiAxNzZweCA2NjNweDsgfSB9XG5cbi5zYy12Mi0wMzctZmFjZWJvb2sge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoc3ByaXRlcy12Mi5wbmcpO1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAwcHggLTI2OXB4O1xuICB3aWR0aDogMjRweDtcbiAgaGVpZ2h0OiAyNHB4OyB9XG4gIEBtZWRpYSAoLXdlYmtpdC1taW4tZGV2aWNlLXBpeGVsLXJhdGlvOiAyKSwgKG1pbi1yZXNvbHV0aW9uOiAxOTJkcGkpIHtcbiAgICAuc2MtdjItMDM3LWZhY2Vib29rIHtcbiAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybChzcHJpdGVzLXYyQDJ4LnBuZyk7XG4gICAgICBiYWNrZ3JvdW5kLXNpemU6IDE3NnB4IDY2M3B4OyB9IH1cblxuLnNjLXYyLTAzOS1waW50ZXJlc3Qge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoc3ByaXRlcy12Mi5wbmcpO1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAwcHggLTMwM3B4O1xuICB3aWR0aDogMjRweDtcbiAgaGVpZ2h0OiAyNHB4OyB9XG4gIEBtZWRpYSAoLXdlYmtpdC1taW4tZGV2aWNlLXBpeGVsLXJhdGlvOiAyKSwgKG1pbi1yZXNvbHV0aW9uOiAxOTJkcGkpIHtcbiAgICAuc2MtdjItMDM5LXBpbnRlcmVzdCB7XG4gICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoc3ByaXRlcy12MkAyeC5wbmcpO1xuICAgICAgYmFja2dyb3VuZC1zaXplOiAxNzZweCA2NjNweDsgfSB9XG5cbi5zYy12Mi0wNDEtdHdpdHRlciB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChzcHJpdGVzLXYyLnBuZyk7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IDBweCAtMjM1cHg7XG4gIHdpZHRoOiAyNXB4O1xuICBoZWlnaHQ6IDI0cHg7IH1cbiAgQG1lZGlhICgtd2Via2l0LW1pbi1kZXZpY2UtcGl4ZWwtcmF0aW86IDIpLCAobWluLXJlc29sdXRpb246IDE5MmRwaSkge1xuICAgIC5zYy12Mi0wNDEtdHdpdHRlciB7XG4gICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoc3ByaXRlcy12MkAyeC5wbmcpO1xuICAgICAgYmFja2dyb3VuZC1zaXplOiAxNzZweCA2NjNweDsgfSB9XG5cbi5zYy12Mi0wMDUtYXJyb3ctZG93biB7XG4gIGN1cnNvcjogcG9pbnRlcjsgfVxuICAuc2MtdjItMDA1LWFycm93LWRvd246aG92ZXIge1xuICAgIGJhY2tncm91bmQtcG9zaXRpb246IDBweCAtMTZweDsgfVxuXG4uc2MtdjItMDE1LWZseS1hcnIge1xuICBjdXJzb3I6IHBvaW50ZXI7IH1cbiAgLnNjLXYyLTAxNS1mbHktYXJyOmhvdmVyIHtcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAwcHggLTMycHg7IH1cblxuLnNjLXYyLTAyNS1zcmNoLWdyYXktcmVnIHtcbiAgY3Vyc29yOiBwb2ludGVyOyB9XG4gIC5zYy12Mi0wMjUtc3JjaC1ncmF5LXJlZzpob3ZlciB7XG4gICAgYmFja2dyb3VuZC1wb3NpdGlvbjogMHB4IC01NzlweDsgfVxuXG4uc2MtdjItMDI3LXNyY2gtZ3JheS1zdGt5IHtcbiAgY3Vyc29yOiBwb2ludGVyOyB9XG4gIC5zYy12Mi0wMjctc3JjaC1ncmF5LXN0a3k6aG92ZXIge1xuICAgIGJhY2tncm91bmQtcG9zaXRpb246IDBweCAtMzczcHg7IH1cblxuLnNjLXYyLTAxOS1tZW51IHtcbiAgY3Vyc29yOiBwb2ludGVyOyB9XG4gIC5zYy12Mi0wMTktbWVudTpob3ZlciB7XG4gICAgYmFja2dyb3VuZC1wb3NpdGlvbjogMHB4IC0xNzRweDsgfVxuIiwiLyohIG5vcm1hbGl6ZS5jc3MgdjMuMC4zIHwgTUlUIExpY2Vuc2UgfCBnaXRodWIuY29tL25lY29sYXMvbm9ybWFsaXplLmNzcyAqL1xuXG4vKipcbiAqIDEuIFNldCBkZWZhdWx0IGZvbnQgZmFtaWx5IHRvIHNhbnMtc2VyaWYuXG4gKiAyLiBQcmV2ZW50IGlPUyBhbmQgSUUgdGV4dCBzaXplIGFkanVzdCBhZnRlciBkZXZpY2Ugb3JpZW50YXRpb24gY2hhbmdlLFxuICogICAgd2l0aG91dCBkaXNhYmxpbmcgdXNlciB6b29tLlxuICovXG5cbmh0bWwge1xuICBmb250LWZhbWlseTogc2Fucy1zZXJpZjsgLyogMSAqL1xuICAtbXMtdGV4dC1zaXplLWFkanVzdDogMTAwJTsgLyogMiAqL1xuICAtd2Via2l0LXRleHQtc2l6ZS1hZGp1c3Q6IDEwMCU7IC8qIDIgKi9cbn1cblxuLyoqXG4gKiBSZW1vdmUgZGVmYXVsdCBtYXJnaW4uXG4gKi9cblxuYm9keSB7XG4gIG1hcmdpbjogMDtcbn1cblxuLyogSFRNTDUgZGlzcGxheSBkZWZpbml0aW9uc1xuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLyoqXG4gKiBDb3JyZWN0IGBibG9ja2AgZGlzcGxheSBub3QgZGVmaW5lZCBmb3IgYW55IEhUTUw1IGVsZW1lbnQgaW4gSUUgOC85LlxuICogQ29ycmVjdCBgYmxvY2tgIGRpc3BsYXkgbm90IGRlZmluZWQgZm9yIGBkZXRhaWxzYCBvciBgc3VtbWFyeWAgaW4gSUUgMTAvMTFcbiAqIGFuZCBGaXJlZm94LlxuICogQ29ycmVjdCBgYmxvY2tgIGRpc3BsYXkgbm90IGRlZmluZWQgZm9yIGBtYWluYCBpbiBJRSAxMS5cbiAqL1xuXG5hcnRpY2xlLFxuYXNpZGUsXG5kZXRhaWxzLFxuZmlnY2FwdGlvbixcbmZpZ3VyZSxcbmZvb3RlcixcbmhlYWRlcixcbmhncm91cCxcbm1haW4sXG5tZW51LFxubmF2LFxuc2VjdGlvbixcbnN1bW1hcnkge1xuICBkaXNwbGF5OiBibG9jaztcbn1cblxuLyoqXG4gKiAxLiBDb3JyZWN0IGBpbmxpbmUtYmxvY2tgIGRpc3BsYXkgbm90IGRlZmluZWQgaW4gSUUgOC85LlxuICogMi4gTm9ybWFsaXplIHZlcnRpY2FsIGFsaWdubWVudCBvZiBgcHJvZ3Jlc3NgIGluIENocm9tZSwgRmlyZWZveCwgYW5kIE9wZXJhLlxuICovXG5cbmF1ZGlvLFxuY2FudmFzLFxucHJvZ3Jlc3MsXG52aWRlbyB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jazsgLyogMSAqL1xuICB2ZXJ0aWNhbC1hbGlnbjogYmFzZWxpbmU7IC8qIDIgKi9cbn1cblxuLyoqXG4gKiBQcmV2ZW50IG1vZGVybiBicm93c2VycyBmcm9tIGRpc3BsYXlpbmcgYGF1ZGlvYCB3aXRob3V0IGNvbnRyb2xzLlxuICogUmVtb3ZlIGV4Y2VzcyBoZWlnaHQgaW4gaU9TIDUgZGV2aWNlcy5cbiAqL1xuXG5hdWRpbzpub3QoW2NvbnRyb2xzXSkge1xuICBkaXNwbGF5OiBub25lO1xuICBoZWlnaHQ6IDA7XG59XG5cbi8qKlxuICogQWRkcmVzcyBgW2hpZGRlbl1gIHN0eWxpbmcgbm90IHByZXNlbnQgaW4gSUUgOC85LzEwLlxuICogSGlkZSB0aGUgYHRlbXBsYXRlYCBlbGVtZW50IGluIElFIDgvOS8xMC8xMSwgU2FmYXJpLCBhbmQgRmlyZWZveCA8IDIyLlxuICovXG5cbltoaWRkZW5dLFxudGVtcGxhdGUge1xuICBkaXNwbGF5OiBub25lO1xufVxuXG4vKiBMaW5rc1xuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLyoqXG4gKiBSZW1vdmUgdGhlIGdyYXkgYmFja2dyb3VuZCBjb2xvciBmcm9tIGFjdGl2ZSBsaW5rcyBpbiBJRSAxMC5cbiAqL1xuXG5hIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG59XG5cbi8qKlxuICogSW1wcm92ZSByZWFkYWJpbGl0eSBvZiBmb2N1c2VkIGVsZW1lbnRzIHdoZW4gdGhleSBhcmUgYWxzbyBpbiBhblxuICogYWN0aXZlL2hvdmVyIHN0YXRlLlxuICovXG5cbmE6YWN0aXZlLFxuYTpob3ZlciB7XG4gIG91dGxpbmU6IDA7XG59XG5cbi8qIFRleHQtbGV2ZWwgc2VtYW50aWNzXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKipcbiAqIEFkZHJlc3Mgc3R5bGluZyBub3QgcHJlc2VudCBpbiBJRSA4LzkvMTAvMTEsIFNhZmFyaSwgYW5kIENocm9tZS5cbiAqL1xuXG5hYmJyW3RpdGxlXSB7XG4gIGJvcmRlci1ib3R0b206IDFweCBkb3R0ZWQ7XG59XG5cbi8qKlxuICogQWRkcmVzcyBzdHlsZSBzZXQgdG8gYGJvbGRlcmAgaW4gRmlyZWZveCA0KywgU2FmYXJpLCBhbmQgQ2hyb21lLlxuICovXG5cbmIsXG5zdHJvbmcge1xuICBmb250LXdlaWdodDogYm9sZDtcbn1cblxuLyoqXG4gKiBBZGRyZXNzIHN0eWxpbmcgbm90IHByZXNlbnQgaW4gU2FmYXJpIGFuZCBDaHJvbWUuXG4gKi9cblxuZGZuIHtcbiAgZm9udC1zdHlsZTogaXRhbGljO1xufVxuXG4vKipcbiAqIEFkZHJlc3MgdmFyaWFibGUgYGgxYCBmb250LXNpemUgYW5kIG1hcmdpbiB3aXRoaW4gYHNlY3Rpb25gIGFuZCBgYXJ0aWNsZWBcbiAqIGNvbnRleHRzIGluIEZpcmVmb3ggNCssIFNhZmFyaSwgYW5kIENocm9tZS5cbiAqL1xuXG5oMSB7XG4gIGZvbnQtc2l6ZTogMmVtO1xuICBtYXJnaW46IDAuNjdlbSAwO1xufVxuXG4vKipcbiAqIEFkZHJlc3Mgc3R5bGluZyBub3QgcHJlc2VudCBpbiBJRSA4LzkuXG4gKi9cblxubWFyayB7XG4gIGJhY2tncm91bmQ6ICNmZjA7XG4gIGNvbG9yOiAjMDAwO1xufVxuXG4vKipcbiAqIEFkZHJlc3MgaW5jb25zaXN0ZW50IGFuZCB2YXJpYWJsZSBmb250IHNpemUgaW4gYWxsIGJyb3dzZXJzLlxuICovXG5cbnNtYWxsIHtcbiAgZm9udC1zaXplOiA4MCU7XG59XG5cbi8qKlxuICogUHJldmVudCBgc3ViYCBhbmQgYHN1cGAgYWZmZWN0aW5nIGBsaW5lLWhlaWdodGAgaW4gYWxsIGJyb3dzZXJzLlxuICovXG5cbnN1YixcbnN1cCB7XG4gIGZvbnQtc2l6ZTogNzUlO1xuICBsaW5lLWhlaWdodDogMDtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB2ZXJ0aWNhbC1hbGlnbjogYmFzZWxpbmU7XG59XG5cbnN1cCB7XG4gIHRvcDogLTAuNWVtO1xufVxuXG5zdWIge1xuICBib3R0b206IC0wLjI1ZW07XG59XG5cbi8qIEVtYmVkZGVkIGNvbnRlbnRcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qKlxuICogUmVtb3ZlIGJvcmRlciB3aGVuIGluc2lkZSBgYWAgZWxlbWVudCBpbiBJRSA4LzkvMTAuXG4gKi9cblxuaW1nIHtcbiAgYm9yZGVyOiAwO1xufVxuXG4vKipcbiAqIENvcnJlY3Qgb3ZlcmZsb3cgbm90IGhpZGRlbiBpbiBJRSA5LzEwLzExLlxuICovXG5cbnN2Zzpub3QoOnJvb3QpIHtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbn1cblxuLyogR3JvdXBpbmcgY29udGVudFxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLyoqXG4gKiBBZGRyZXNzIG1hcmdpbiBub3QgcHJlc2VudCBpbiBJRSA4LzkgYW5kIFNhZmFyaS5cbiAqL1xuXG5maWd1cmUge1xuICBtYXJnaW46IDFlbSA0MHB4O1xufVxuXG4vKipcbiAqIEFkZHJlc3MgZGlmZmVyZW5jZXMgYmV0d2VlbiBGaXJlZm94IGFuZCBvdGhlciBicm93c2Vycy5cbiAqL1xuXG5ociB7XG4gIGJveC1zaXppbmc6IGNvbnRlbnQtYm94O1xuICBoZWlnaHQ6IDA7XG59XG5cbi8qKlxuICogQ29udGFpbiBvdmVyZmxvdyBpbiBhbGwgYnJvd3NlcnMuXG4gKi9cblxucHJlIHtcbiAgb3ZlcmZsb3c6IGF1dG87XG59XG5cbi8qKlxuICogQWRkcmVzcyBvZGQgYGVtYC11bml0IGZvbnQgc2l6ZSByZW5kZXJpbmcgaW4gYWxsIGJyb3dzZXJzLlxuICovXG5cbmNvZGUsXG5rYmQsXG5wcmUsXG5zYW1wIHtcbiAgZm9udC1mYW1pbHk6IG1vbm9zcGFjZSwgbW9ub3NwYWNlO1xuICBmb250LXNpemU6IDFlbTtcbn1cblxuLyogRm9ybXNcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qKlxuICogS25vd24gbGltaXRhdGlvbjogYnkgZGVmYXVsdCwgQ2hyb21lIGFuZCBTYWZhcmkgb24gT1MgWCBhbGxvdyB2ZXJ5IGxpbWl0ZWRcbiAqIHN0eWxpbmcgb2YgYHNlbGVjdGAsIHVubGVzcyBhIGBib3JkZXJgIHByb3BlcnR5IGlzIHNldC5cbiAqL1xuXG4vKipcbiAqIDEuIENvcnJlY3QgY29sb3Igbm90IGJlaW5nIGluaGVyaXRlZC5cbiAqICAgIEtub3duIGlzc3VlOiBhZmZlY3RzIGNvbG9yIG9mIGRpc2FibGVkIGVsZW1lbnRzLlxuICogMi4gQ29ycmVjdCBmb250IHByb3BlcnRpZXMgbm90IGJlaW5nIGluaGVyaXRlZC5cbiAqIDMuIEFkZHJlc3MgbWFyZ2lucyBzZXQgZGlmZmVyZW50bHkgaW4gRmlyZWZveCA0KywgU2FmYXJpLCBhbmQgQ2hyb21lLlxuICovXG5cbmJ1dHRvbixcbmlucHV0LFxub3B0Z3JvdXAsXG5zZWxlY3QsXG50ZXh0YXJlYSB7XG4gIGNvbG9yOiBpbmhlcml0OyAvKiAxICovXG4gIGZvbnQ6IGluaGVyaXQ7IC8qIDIgKi9cbiAgbWFyZ2luOiAwOyAvKiAzICovXG59XG5cbi8qKlxuICogQWRkcmVzcyBgb3ZlcmZsb3dgIHNldCB0byBgaGlkZGVuYCBpbiBJRSA4LzkvMTAvMTEuXG4gKi9cblxuYnV0dG9uIHtcbiAgb3ZlcmZsb3c6IHZpc2libGU7XG59XG5cbi8qKlxuICogQWRkcmVzcyBpbmNvbnNpc3RlbnQgYHRleHQtdHJhbnNmb3JtYCBpbmhlcml0YW5jZSBmb3IgYGJ1dHRvbmAgYW5kIGBzZWxlY3RgLlxuICogQWxsIG90aGVyIGZvcm0gY29udHJvbCBlbGVtZW50cyBkbyBub3QgaW5oZXJpdCBgdGV4dC10cmFuc2Zvcm1gIHZhbHVlcy5cbiAqIENvcnJlY3QgYGJ1dHRvbmAgc3R5bGUgaW5oZXJpdGFuY2UgaW4gRmlyZWZveCwgSUUgOC85LzEwLzExLCBhbmQgT3BlcmEuXG4gKiBDb3JyZWN0IGBzZWxlY3RgIHN0eWxlIGluaGVyaXRhbmNlIGluIEZpcmVmb3guXG4gKi9cblxuYnV0dG9uLFxuc2VsZWN0IHtcbiAgdGV4dC10cmFuc2Zvcm06IG5vbmU7XG59XG5cbi8qKlxuICogMS4gQXZvaWQgdGhlIFdlYktpdCBidWcgaW4gQW5kcm9pZCA0LjAuKiB3aGVyZSAoMikgZGVzdHJveXMgbmF0aXZlIGBhdWRpb2BcbiAqICAgIGFuZCBgdmlkZW9gIGNvbnRyb2xzLlxuICogMi4gQ29ycmVjdCBpbmFiaWxpdHkgdG8gc3R5bGUgY2xpY2thYmxlIGBpbnB1dGAgdHlwZXMgaW4gaU9TLlxuICogMy4gSW1wcm92ZSB1c2FiaWxpdHkgYW5kIGNvbnNpc3RlbmN5IG9mIGN1cnNvciBzdHlsZSBiZXR3ZWVuIGltYWdlLXR5cGVcbiAqICAgIGBpbnB1dGAgYW5kIG90aGVycy5cbiAqL1xuXG5idXR0b24sXG5odG1sIGlucHV0W3R5cGU9XCJidXR0b25cIl0sIC8qIDEgKi9cbmlucHV0W3R5cGU9XCJyZXNldFwiXSxcbmlucHV0W3R5cGU9XCJzdWJtaXRcIl0ge1xuICAtd2Via2l0LWFwcGVhcmFuY2U6IGJ1dHRvbjsgLyogMiAqL1xuICBjdXJzb3I6IHBvaW50ZXI7IC8qIDMgKi9cbn1cblxuLyoqXG4gKiBSZS1zZXQgZGVmYXVsdCBjdXJzb3IgZm9yIGRpc2FibGVkIGVsZW1lbnRzLlxuICovXG5cbmJ1dHRvbltkaXNhYmxlZF0sXG5odG1sIGlucHV0W2Rpc2FibGVkXSB7XG4gIGN1cnNvcjogZGVmYXVsdDtcbn1cblxuLyoqXG4gKiBSZW1vdmUgaW5uZXIgcGFkZGluZyBhbmQgYm9yZGVyIGluIEZpcmVmb3ggNCsuXG4gKi9cblxuYnV0dG9uOjotbW96LWZvY3VzLWlubmVyLFxuaW5wdXQ6Oi1tb3otZm9jdXMtaW5uZXIge1xuICBib3JkZXI6IDA7XG4gIHBhZGRpbmc6IDA7XG59XG5cbi8qKlxuICogQWRkcmVzcyBGaXJlZm94IDQrIHNldHRpbmcgYGxpbmUtaGVpZ2h0YCBvbiBgaW5wdXRgIHVzaW5nIGAhaW1wb3J0YW50YCBpblxuICogdGhlIFVBIHN0eWxlc2hlZXQuXG4gKi9cblxuaW5wdXQge1xuICBsaW5lLWhlaWdodDogbm9ybWFsO1xufVxuXG4vKipcbiAqIEl0J3MgcmVjb21tZW5kZWQgdGhhdCB5b3UgZG9uJ3QgYXR0ZW1wdCB0byBzdHlsZSB0aGVzZSBlbGVtZW50cy5cbiAqIEZpcmVmb3gncyBpbXBsZW1lbnRhdGlvbiBkb2Vzbid0IHJlc3BlY3QgYm94LXNpemluZywgcGFkZGluZywgb3Igd2lkdGguXG4gKlxuICogMS4gQWRkcmVzcyBib3ggc2l6aW5nIHNldCB0byBgY29udGVudC1ib3hgIGluIElFIDgvOS8xMC5cbiAqIDIuIFJlbW92ZSBleGNlc3MgcGFkZGluZyBpbiBJRSA4LzkvMTAuXG4gKi9cblxuaW5wdXRbdHlwZT1cImNoZWNrYm94XCJdLFxuaW5wdXRbdHlwZT1cInJhZGlvXCJdIHtcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDsgLyogMSAqL1xuICBwYWRkaW5nOiAwOyAvKiAyICovXG59XG5cbi8qKlxuICogRml4IHRoZSBjdXJzb3Igc3R5bGUgZm9yIENocm9tZSdzIGluY3JlbWVudC9kZWNyZW1lbnQgYnV0dG9ucy4gRm9yIGNlcnRhaW5cbiAqIGBmb250LXNpemVgIHZhbHVlcyBvZiB0aGUgYGlucHV0YCwgaXQgY2F1c2VzIHRoZSBjdXJzb3Igc3R5bGUgb2YgdGhlXG4gKiBkZWNyZW1lbnQgYnV0dG9uIHRvIGNoYW5nZSBmcm9tIGBkZWZhdWx0YCB0byBgdGV4dGAuXG4gKi9cblxuaW5wdXRbdHlwZT1cIm51bWJlclwiXTo6LXdlYmtpdC1pbm5lci1zcGluLWJ1dHRvbixcbmlucHV0W3R5cGU9XCJudW1iZXJcIl06Oi13ZWJraXQtb3V0ZXItc3Bpbi1idXR0b24ge1xuICBoZWlnaHQ6IGF1dG87XG59XG5cbi8qKlxuICogMS4gQWRkcmVzcyBgYXBwZWFyYW5jZWAgc2V0IHRvIGBzZWFyY2hmaWVsZGAgaW4gU2FmYXJpIGFuZCBDaHJvbWUuXG4gKiAyLiBBZGRyZXNzIGBib3gtc2l6aW5nYCBzZXQgdG8gYGJvcmRlci1ib3hgIGluIFNhZmFyaSBhbmQgQ2hyb21lLlxuICovXG5cbmlucHV0W3R5cGU9XCJzZWFyY2hcIl0ge1xuICAtd2Via2l0LWFwcGVhcmFuY2U6IHRleHRmaWVsZDsgLyogMSAqL1xuICBib3gtc2l6aW5nOiBjb250ZW50LWJveDsgLyogMiAqL1xufVxuXG4vKipcbiAqIFJlbW92ZSBpbm5lciBwYWRkaW5nIGFuZCBzZWFyY2ggY2FuY2VsIGJ1dHRvbiBpbiBTYWZhcmkgYW5kIENocm9tZSBvbiBPUyBYLlxuICogU2FmYXJpIChidXQgbm90IENocm9tZSkgY2xpcHMgdGhlIGNhbmNlbCBidXR0b24gd2hlbiB0aGUgc2VhcmNoIGlucHV0IGhhc1xuICogcGFkZGluZyAoYW5kIGB0ZXh0ZmllbGRgIGFwcGVhcmFuY2UpLlxuICovXG5cbmlucHV0W3R5cGU9XCJzZWFyY2hcIl06Oi13ZWJraXQtc2VhcmNoLWNhbmNlbC1idXR0b24sXG5pbnB1dFt0eXBlPVwic2VhcmNoXCJdOjotd2Via2l0LXNlYXJjaC1kZWNvcmF0aW9uIHtcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lO1xufVxuXG4vKipcbiAqIERlZmluZSBjb25zaXN0ZW50IGJvcmRlciwgbWFyZ2luLCBhbmQgcGFkZGluZy5cbiAqL1xuXG5maWVsZHNldCB7XG4gIGJvcmRlcjogMXB4IHNvbGlkICNjMGMwYzA7XG4gIG1hcmdpbjogMCAycHg7XG4gIHBhZGRpbmc6IDAuMzVlbSAwLjYyNWVtIDAuNzVlbTtcbn1cblxuLyoqXG4gKiAxLiBDb3JyZWN0IGBjb2xvcmAgbm90IGJlaW5nIGluaGVyaXRlZCBpbiBJRSA4LzkvMTAvMTEuXG4gKiAyLiBSZW1vdmUgcGFkZGluZyBzbyBwZW9wbGUgYXJlbid0IGNhdWdodCBvdXQgaWYgdGhleSB6ZXJvIG91dCBmaWVsZHNldHMuXG4gKi9cblxubGVnZW5kIHtcbiAgYm9yZGVyOiAwOyAvKiAxICovXG4gIHBhZGRpbmc6IDA7IC8qIDIgKi9cbn1cblxuLyoqXG4gKiBSZW1vdmUgZGVmYXVsdCB2ZXJ0aWNhbCBzY3JvbGxiYXIgaW4gSUUgOC85LzEwLzExLlxuICovXG5cbnRleHRhcmVhIHtcbiAgb3ZlcmZsb3c6IGF1dG87XG59XG5cbi8qKlxuICogRG9uJ3QgaW5oZXJpdCB0aGUgYGZvbnQtd2VpZ2h0YCAoYXBwbGllZCBieSBhIHJ1bGUgYWJvdmUpLlxuICogTk9URTogdGhlIGRlZmF1bHQgY2Fubm90IHNhZmVseSBiZSBjaGFuZ2VkIGluIENocm9tZSBhbmQgU2FmYXJpIG9uIE9TIFguXG4gKi9cblxub3B0Z3JvdXAge1xuICBmb250LXdlaWdodDogYm9sZDtcbn1cblxuLyogVGFibGVzXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKipcbiAqIFJlbW92ZSBtb3N0IHNwYWNpbmcgYmV0d2VlbiB0YWJsZSBjZWxscy5cbiAqL1xuXG50YWJsZSB7XG4gIGJvcmRlci1jb2xsYXBzZTogY29sbGFwc2U7XG4gIGJvcmRlci1zcGFjaW5nOiAwO1xufVxuXG50ZCxcbnRoIHtcbiAgcGFkZGluZzogMDtcbn1cbiIsIi8vIFR5cG9ncmFwaHlcbi8vXG4vLyBTdHlsZSBndWlkZTogMS4wXG5cbiVzZXJpZiB7XG4gIGZvbnQtZmFtaWx5OiBcImJyZWUtc2VyaWZcIiwgc2VyaWY7XG59XG5cbiVzYW5zIHtcbiAgZm9udC1mYW1pbHk6IFwiYWt0aXYtZ3JvdGVzay1zdGRcIiwgc2Fucy1zZXJpZjtcbn1cblxuLy8gQm9keSBjb250ZW50XG4vL1xuLy8gTWFya3VwOiBib2R5Lmh0bWxcbi8vXG4vLyBTdHlsZSBndWlkZTogMS4xXG5ib2R5LFxuLnNjLXRleHQtYm9keSB7XG4gIEBleHRlbmQgJXNhbnM7XG4gIGZvbnQtc2l6ZTogMTVweDtcbiAgbGluZS1oZWlnaHQ6IDEuNjE4ZW07XG4gIGZvbnQtd2VpZ2h0OiA0MDA7XG4gIC13ZWJraXQtZm9udC1zbW9vdGhpbmc6IGFudGlhbGlhc2VkO1xuICAtbW96LW9zeC1mb250LXNtb290aGluZzogZ3JheXNjYWxlO1xuICB3aWR0aDogMTAwJTtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZmZmZjtcbn1cblxuZW0sXG4uc2MtdGV4dC1lbXBoYXNpcyB7XG4gIGZvbnQtd2VpZ2h0OiA1MDA7XG4gIGZvbnQtc3R5bGU6IG5vcm1hbDtcbn1cblxuc21hbGwsXG4uc2MtdGV4dC1zbWFsbCB7XG4gIEBpbmNsdWRlIGZvbnRzaXplKDEzcHgsIDI0cHgpO1xuICBmb250LXdlaWdodDogNTAwO1xufVxuXG4uc2MtdGV4dC1leHRyYXNtYWxsIHtcbiAgQGluY2x1ZGUgZm9udHNpemUoMTFweCwgMTNweCk7XG4gIGZvbnQtd2VpZ2h0OiA3MDA7XG4gIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG59XG5cbmEsXG5hOmhvdmVyLFxuYTp2aXNpdGVkIHtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICBvdXRsaW5lOiBub25lO1xufVxuXG46Zm9jdXN7XG4gIG91dGxpbmU6IG5vbmU7XG59XG5cblxuLy8gSGVhZGluZ3Ncbi8vXG4vLyBNYXJrdXA6IGhlYWRpbmdzLmh0bWxcbi8vXG4vLyBTdHlsZSBndWlkZTogMS4yXG5oMSxcbmgyLFxuaDMsXG5oNCxcbi5zYy1tZWdhLWhlYWRpbmcsXG4uc2Mtc3VwZXItaGVhZGluZyxcbi5zYy1sYXJnZS1oZWFkaW5nLFxuLnNjLXNtYWxsLWhlYWRpbmcge1xuICBAZXh0ZW5kICVzZXJpZjtcbn1cblxuaDEsXG4uc2MtbWVnYS1oZWFkaW5nIHtcbiAgQGluY2x1ZGUgZm9udHNpemUoNjRweCwgNzJweCk7XG59XG5cbmgyLFxuLnNjLXN1cGVyLWhlYWRpbmcge1xuICBAaW5jbHVkZSBmb250c2l6ZSg0MHB4LCA0OHB4KTtcbn1cblxuaDMsXG4uc2MtbGFyZ2UtaGVhZGluZyB7XG4gIEBpbmNsdWRlIGZvbnRzaXplKDI0cHgsIDI0cHgpO1xufVxuXG5oNCxcbi5zYy1zbWFsbC1oZWFkaW5nIHtcbiAgQGluY2x1ZGUgZm9udHNpemUoMTVweCwgMjRweCk7XG59XG5cbi5zYy10ZXh0LWJsdWUge1xuICBjb2xvcjogbWFwLWdldCgkY3RhQ29sb3JzLCBibHVlKTtcbn1cbi5zYy10ZXh0LWxpZ2h0Ymx1ZSB7XG4gIGNvbG9yOiBtYXAtZ2V0KCRwcm9ncmFtQ29sb3JzLCBsaWdodEJsdWUpO1xufVxuLnNjLXRleHQtZ3JlZW4ge1xuICBjb2xvcjogbWFwLWdldCgkY3RhQ29sb3JzLCBsaWdodEdyZWVuKTtcbn1cblxuLnNjLXN0cmlrZXRocm91Z2gge1xuICBjb2xvcjogI0E3QTdBNztcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cbiAgJjphZnRlciB7XG4gICAgY29udGVudDogJyc7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIGJvdHRvbTogNDUlO1xuICAgIGxlZnQ6IDA7XG4gICAgcmlnaHQ6IDA7XG4gICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICNFRjU4NDc7XG4gIH1cbn1cblxuLy8gUHJpY2luZ1xuLy9cbi8vIE1hcmt1cDogcHJpY2luZy5odG1sXG4vL1xuLy8gU3R5bGUgZ3VpZGU6IDEuM1xuLnNjLXByaWNlIHtcbiAgZGlzcGxheTogdGFibGUtY2VsbDtcbiAgd2lkdGg6IDEwMCU7XG4gIG1pbi13aWR0aDogMTAwcHg7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgYm90dG9tOiAtM3B4O1xuICBmb250LXdlaWdodDogNzAwO1xuXG4gIC5zYy1kb2xsYXJzIHtcbiAgICBAaW5jbHVkZSBmb250c2l6ZSgyNHB4LCAyOXB4KTtcbiAgICBwYWRkaW5nOiAwIDJweCAwIDlweDtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIH1cblxuICAuc2MtY3VycmVuY3ksXG4gIC5zYy1jZW50cyB7XG4gICAgZm9udC1zaXplOiAxNHB4O1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIH1cbn1cblxuLnNjLWdyYXkge1xuICBjb2xvcjogI0E3QTdBNztcblxufVxuIiwiQG1peGluIGZvbnRzaXplKCRzaXplOjE0cHgsICRoZWlnaHQ6MThweCkge1xuICBmb250LXNpemU6ICRzaXplO1xuICBsaW5lLWhlaWdodDogJGhlaWdodDtcbn1cbiIsIiRwcm9ncmFtQ29sb3JzOiAoXG4gIG9yYW5nZTogI0VDNzIwMixcbiAgcmVkOiAjRUMwNDM5LFxuICBsaWdodEJsdWU6ICMwMDlERTQsXG4gIGRhcmtCbHVlOiAjMjQ2N0IyLFxuICBibGFjazogIzQyNDI0MlxuKTtcblxuJGN0YUNvbG9yczogKFxuICBsaWdodEdyZWVuOiAjNGNhOTBjLFxuICBncmVlbjogIzQzQTA0NyxcbiAgYmx1ZTogIzI5NzlGRixcbiAgZGFya0JsdWU6ICMxOTc2RDIsXG4gIGx0R3JlZW5WMjogIzRjYTkwY1xuKTtcblxuJGNvbG9yczogKFxuICBsaW5rQmx1ZTogIzAwYWNlY1xuKTtcbiIsIi8vIEJyZWFkY3J1bWJcbi8vXG4vLyBNYXJrdXA6IGJyZWFkY3J1bWIuaHRtbFxuLy9cbi8vIFN0eWxlZ3VpZGU6IDcuMFxuLnNjLWJyZWFkY3J1bWIge1xuICBtYXJnaW4tbGVmdDogMDtcbiAgcGFkZGluZy1sZWZ0OiAzMnB4O1xuXG4gIGxpIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgY29sb3I6ICMwMEM4NTM7XG4gICAgZm9udC13ZWlnaHQ6IDQwMDtcblxuICAgICY6YWZ0ZXIge1xuICAgICAgY29udGVudDogJyA+ICc7XG4gICAgICBjb2xvcjogI0U5RTdFMjtcbiAgICAgIHBhZGRpbmc6IDAgOHB4O1xuICAgIH1cblxuICAgICY6bGFzdC1jaGlsZDphZnRlciB7XG4gICAgICBjb250ZW50OiAnJztcbiAgICAgIHBhZGRpbmc6IDA7XG4gICAgfVxuICB9XG59XG4iLCIvLyBCdXR0b25zXG4vL1xuLy8gQnV0dG9ucyBhcmUgdGhlIHNpbXBsaWVzdCB3YXkgZm9yIGEgdXNlciB0byBpbnRlcmFjdCB3aXRoIGFuIGFwcGxpY2F0aW9uLlxuLy9cbi8vIC5zYy1yZWQtYnV0dG9uIC0gTm9ybWFsIGJ1dHRvbi5cbi8vXG4vLyBNYXJrdXA6IGJ1dHRvbi5odG1sXG4vL1xuLy8gU3R5bGUgZ3VpZGU6IDIuMFxuXG4uc2MtYnV0dG9uIHtcbiAgYm9yZGVyOiBub25lO1xuICBib3JkZXItcmFkaXVzOiA0cHg7XG4gIGNvbG9yOiB3aGl0ZTtcbiAgZm9udC1zaXplOiAxNHB4O1xuICBmb250LXdlaWdodDogNzAwO1xuICBsaW5lLWhlaWdodDogMzBweDtcbiAgaGVpZ2h0OiAzMnB4O1xuICBwYWRkaW5nLWxlZnQ6IDE2cHg7XG4gIHBhZGRpbmctcmlnaHQ6IDE2cHg7XG4gIC8vIHdpZHRoOiAxMDAlO1xuICBiYWNrZ3JvdW5kOiBtYXAtZ2V0KCRwcm9ncmFtQ29sb3JzLCBibHVlKTtcblxuICAmOmFjdGl2ZSwgJjpmb2N1cyB7XG4gICAgb3V0bGluZTogbm9uZTtcbiAgfVxufVxuXG4uc2MtYnV0dG9uLXYyIHtcbiAgYm9yZGVyOiBub25lO1xuICBib3JkZXItcmFkaXVzOiAycHg7XG4gIGNvbG9yOiB3aGl0ZTtcbiAgZm9udC1zaXplOiAxNnB4O1xuICBmb250LXdlaWdodDogNzAwO1xuICBsaW5lLWhlaWdodDogMThweDtcbiAgaGVpZ2h0OiA0MHB4O1xuICBwYWRkaW5nLWxlZnQ6IDIwcHg7XG4gIHBhZGRpbmctcmlnaHQ6IDIwcHg7XG4gIC8vIHdpZHRoOiAxMDAlO1xuXG4gICY6YWN0aXZlLCAmOmZvY3VzIHtcbiAgICBvdXRsaW5lOiBub25lO1xuICB9XG59XG5cbi8vIFJvdW5kIGJ1dHRvbnNcbi8vXG4vLyBNYXJrdXA6IGJ1dHRvbi1yb3VuZC5odG1sXG4vL1xuLy8gU3R5bGUgZ3VpZGU6IDIuMVxuLnNjLWJ1dHRvbi1yb3VuZCB7XG4gIHdpZHRoOiAzMHB4O1xuICBoZWlnaHQ6IDMwcHg7XG4gIGJvcmRlci1yYWRpdXM6IDMwcHg7XG4gIGxpbmUtaGVpZ2h0OiAzMHB4O1xuICBiYWNrZ3JvdW5kOiAjRjhGN0Y1O1xuICBjb2xvcjogI0IxQjBBRTtcbn1cblxuLy8gQnV0dG9uIENvbG9yc1xuLy9cbi8vIC5zYy1idXR0b24tZ3JlZW4gLSBHcmVlbiBCdXR0b24uXG4vLyAuc2MtYnV0dG9uLXJlZCAtIFJlZCBCdXR0b24uXG4vL1xuLy8gTWFya3VwOiBidXR0b24tY29sb3JzLmh0bWxcbi8vXG4vLyBTdHlsZSBndWlkZTogMi4yXG4uc2MtYnV0dG9uLWdyZWVuIHtcbiAgYmFja2dyb3VuZDogbWFwLWdldCgkY3RhQ29sb3JzLCBsaWdodEdyZWVuKTtcbn1cblxuLnNjLWJ1dHRvbi1yZWQge1xuICBiYWNrZ3JvdW5kOiBtYXAtZ2V0KCRwcm9ncmFtQ29sb3JzLCByZWQpO1xufVxuXG4vLyBCdXR0b24gQ29sb3JzIC0gVjIgc3R5bGVzXG4vL1xuLy8gLmdyZWVuLXYyIC0gR3JlZW4gQnV0dG9uLlxuLy9cbi8vIE1hcmt1cDogYnV0dG9uLWNvbG9ycy12Mi5odG1sXG4vL1xuLy8gU3R5bGUgZ3VpZGU6IDIuM1xuXG4uZ3JlZW4tdjJ7XG4gIGJhY2tncm91bmQ6IG1hcC1nZXQoJGN0YUNvbG9ycywgbHRHcmVlblYyKTtcbn1cbiIsIi8vIENhcmRzXG4vL1xuLy8gTWFya3VwOiBjYXJkLmh0bWxcbi8vXG4vLyBTdHlsZSBndWlkZTogNi4wXG4uc2MtY2FyZCB7XG4gIGJvcmRlci1yYWRpdXM6IDRweDtcbiAgYm94LXNoYWRvdzogMCAxcHggMnB4IHJnYmEoMTgsMTgsMTgsLjA4KSxcbiAgICAgICAgICAgICAgMCAzcHggNnB4IHJnYmEoMCwwLDAsLjA2KTtcbiAgYmFja2dyb3VuZDogd2hpdGU7XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gIHBhZGRpbmc6IDE2cHg7XG4gIHZlcnRpY2FsLWFsaWduOiB0b3A7XG59XG5cbi8vIFByb2R1Y3QgQ2FyZHNcbi8vXG4vLyBNYXJrdXA6IHByb2R1Y3QtY2FyZC5odG1sXG4vL1xuLy8gU3R5bGUgZ3VpZGU6IDYuMVxuLnNjLXByb2R1Y3QtY2FyZC5zYy1wcm9kdWN0LWNhcmQtc21hbGwge1xuICBoZWlnaHQ6IDM1OHB4O1xuICB3aWR0aDogMjM4cHg7XG5cbiAgZmlndXJlIHtcbiAgICBoZWlnaHQ6IDIzNnB4O1xuXG4gICAgaW1nIHtcbiAgICAgIGhlaWdodDogMTkwcHg7XG4gICAgfVxuICB9XG59XG5cbi5zYy1wcm9kdWN0LWNhcmQuc2MtcHJvZHVjdC1jYXJkLW1lZGl1bSB7XG4gIGhlaWdodDogMzk5cHg7XG4gIHdpZHRoOiAyODVweDtcblxuICBmaWd1cmUge1xuICAgIGhlaWdodDogMjY3cHg7XG5cbiAgICBpbWcge1xuICAgICAgaGVpZ2h0OiAyMjFweDtcbiAgICB9XG4gIH1cbn1cblxuLnNjLXByb2R1Y3QtY2FyZC5zYy1wcm9kdWN0LWNhcmQtbGFyZ2Uge1xuICBoZWlnaHQ6IDQ3MHB4O1xuICB3aWR0aDogMzgwcHg7XG5cbiAgZmlndXJlIHtcbiAgICBoZWlnaHQ6IDM0OHB4O1xuXG4gICAgaW1nIHtcbiAgICAgIGhlaWdodDogMjg0cHg7XG4gICAgfVxuICB9XG59XG5cbi5zYy1wcm9kdWN0LWNhcmQuc2MtcHJvZHVjdC1jYXJkLW1lZGl1bSxcbi5zYy1wcm9kdWN0LWNhcmQuc2MtcHJvZHVjdC1jYXJkLWxhcmdlIHtcbiAgLnNjLXByb21vLWluZm9ybWF0aW9uIHtcbiAgICBAaW5jbHVkZSBmb250c2l6ZSgxNXB4LCAxOXB4KTtcbiAgfVxufVxuXG4uc2MtcHJvZHVjdC1jYXJkIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHdoaXRlLXNwYWNlOiBub3JtYWw7XG4gIHBhZGRpbmc6IDE2cHg7XG4gIGJhY2tncm91bmQ6IHdoaXRlO1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICBvdmVyZmxvdzogaGlkZGVuO1xuXG4gIC5zYy1jYXJkLWZsYWcge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDE2cHg7XG4gICAgbGVmdDogMTZweDtcbiAgICB6LWluZGV4OiAxMDtcbiAgfVxuXG4gIGhlYWRlciB7XG4gICAgaDEsXG4gICAgaDIsXG4gICAgaDMsXG4gICAgaDQge1xuICAgICAgbWFyZ2luLXRvcDogMDtcbiAgICB9XG4gIH1cblxuICBzZWN0aW9uIHtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIH1cblxuICBmaWd1cmUge1xuICAgIG1hcmdpbjogMDtcbiAgICBoZWlnaHQ6IDI2OHB4O1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgfVxuXG4gIGEsXG4gIGE6aG92ZXIsXG4gIGE6dmlzaXRlZCB7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgIGNvbG9yOiByZ2JhKDM0ICwzNCAsMzQgLDAuOCk7XG4gIH1cblxuICBmaWdjYXB0aW9uIHtcbiAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAgIEBpbmNsdWRlIGZvbnRzaXplKDE1cHgsIDE5cHgpO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAvL2JvdHRvbTogMDtcbiAgICBwYWRkaW5nLXRvcDogOHB4O1xuICB9XG5cbiAgLnNjLWRldGFpbHMge1xuICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gIH1cblxuICAuc2MtcmF0aW5nIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgICBjb2xvcjogI2U5ZTdlMjtcbiAgICBmb250LXNpemU6IDE4cHg7XG4gICAgbWFyZ2luLXRvcDogNXB4O1xuICAgIG1hcmdpbi1yaWdodDogNXB4O1xuXG4gICAgLnN0YXIge1xuICAgICAgZGlzcGxheTogaW5saW5lO1xuICAgIH1cbiAgICAuc3RhcjphZnRlciB7XG4gICAgICBjb250ZW50OiAnKic7XG4gICAgICBmb250LXNpemU6IDI0cHg7XG4gICAgfVxuXG4gICAgLnNjLXllbGxvdyB7XG4gICAgICBjb2xvcjogI2Y4ZTcxYztcbiAgICB9XG4gIH1cblxuICAuc2MtZnJlZS1zaGlwcGluZyB7XG4gICAgQGV4dGVuZCAuc2MtdGV4dC1saWdodGJsdWU7XG4gICAgQGV4dGVuZCAuc2MtdGV4dC1zbWFsbDtcbiAgICBmb250LXNpemU6IDEzcHg7XG4gICAgdmVydGljYWwtYWxpZ246dG9wO1xuICB9XG5cbiAgZm9vdGVyIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgYm90dG9tOiAxNnB4O1xuICAgIHJpZ2h0OiAxNnB4O1xuICAgIGxlZnQ6IDE2cHg7XG4gICAgY29sb3I6IHJnYmEoMzQsMzQsMzQsMC44KTtcblxuICAgIC5zYy1wcm9tby1pbmZvcm1hdGlvbiB7XG4gICAgICBmb250LXdlaWdodDogNTAwO1xuICAgICAgQGluY2x1ZGUgZm9udHNpemUoMTNweCwgMTZweCk7XG5cbiAgICAgICYgKyAuc2MtcHJvbW8taW5mb3JtYXRpb24ge1xuICAgICAgICAvLyBtYXJnaW4tYm90dG9tOiAtN3B4O1xuICAgICAgICBsaW5lLWhlaWdodDogMTlweDtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAmID4gLnNjLXByb21vLWluZm9ybWF0aW9uLnNjLWdyYXkge1xuICAgICAgLy8gbWFyZ2luLWJvdHRvbTogLTdweDtcbiAgICAgIGxpbmUtaGVpZ2h0OiAxOXB4O1xuICAgIH1cblxuICAgIC5zYy1wcmljZS1zdHJpa2V0aHJvdWdoIHtcbiAgICAgIHRleHQtZGVjb3JhdGlvbjogbGluZS10aHJvdWdoO1xuICAgICAgY29sb3I6IG1hcC1nZXQoJHByb2dyYW1Db2xvcnMsIHJlZCk7XG4gICAgICBoZWlnaHQ6IDE5cHg7XG4gICAgICBAaW5jbHVkZSBmb250c2l6ZSgxNXB4LCAxOXB4KTtcblxuICAgICAgLy8gbWFyZ2luLWJvdHRvbTogLTdweDtcblxuICAgICAgLnNjLW9sZC1wcmljZSB7XG4gICAgICAgIGNvbG9yOiAjOTU5NTk1O1xuICAgICAgICBmb250LXdlaWdodDogNTAwO1xuICAgICAgfVxuICAgIH1cblxuICAgIC5zYy1wcmljZS1wcmVmaXgge1xuICAgICAgZGlzcGxheTogdGFibGUtY2VsbDtcbiAgICAgIHdpZHRoOiBhdXRvO1xuICAgICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgIGJvdHRvbTogLTNweDtcbiAgICAgIHBhZGRpbmctcmlnaHQ6IC41ZW07XG4gICAgICBmb250LXdlaWdodDogNTAwO1xuICAgICAgZm9udC1zaXplOiAxM3B4O1xuICAgIH1cblxuICAgIC5zYy1vdGhlci1wcmljaW5nIHtcbiAgICAgIGN1cnNvcjpwb2ludGVyO1xuICAgICAgZGlzcGxheTogdGFibGUtY2VsbDtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgICB9XG5cbiAgICBhLnNjLWxpbmstZ3JlZW57XG4gICAgICAgIGNvbG9yOiAjNDNBMDQ3O1xuICAgIH1cblxuICAgIC5zYy1hY3Rpb25zIHtcbiAgICAgIGRpc3BsYXk6IHRhYmxlLWNlbGw7XG4gICAgICB3aWR0aDogYXV0bztcbiAgICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gICAgfVxuICB9XG59XG5cbi5zYy1vdmVybGF5IHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDM0LCAzNCwgMzQsIDAuOCk7XG4gIHRvcDogMDtcbiAgcmlnaHQ6IDA7XG4gIGJvdHRvbTogMDtcbiAgbGVmdDogMDtcbiAgY29sb3I6IHdoaXRlO1xuICBkaXNwbGF5OiB0YWJsZTtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogMTAwJTtcbiAgei1pbmRleDogMTtcblxuICAuc2Mtbm90aWZpY2F0aW9uIHtcbiAgICBkaXNwbGF5OiB0YWJsZS1jZWxsO1xuICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gICAgaGVpZ2h0OiAxMDAlO1xuXG4gICAgaDEge1xuICAgICAgbWFyZ2luOiAwO1xuICAgICAgQGV4dGVuZCAlc2FucztcbiAgICB9XG4gIH1cblxuICAuc2MtY29udGVudCB7XG4gICAgZGlzcGxheTogdGFibGUtcm93O1xuICAgIGJhY2tncm91bmQ6IHdoaXRlO1xuICAgIGNvbG9yOiBibGFjaztcbiAgICBtaW4taGVpZ2h0OiAxODlweDtcblxuICAgIC5zYy1jaGFubmVscyB7XG4gICAgICBoZWlnaHQ6IDUycHg7XG4gICAgICBiYWNrZ3JvdW5kOiAjRjlGOUY5O1xuXG4gICAgICAuc2MtY2hhbm5lbC10aXRsZSB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IC00cHg7XG4gICAgICAgIHBhZGRpbmctdG9wOiA0cHg7XG4gICAgICAgIGZvbnQtc2l6ZTogMTNweDtcbiAgICAgICAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgICAgIH1cblxuICAgICAgLnNjLW91dC1vZi1zdG9jayB7XG4gICAgICAgIC5zYy1jaGFubmVsLXRpdGxlIHtcbiAgICAgICAgICBjb2xvcjogI2QwMDIxYjtcbiAgICAgICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgICAgICAgIGZvbnQtc2l6ZTogMTFweDtcbiAgICAgICAgICBmb250LXdlaWdodDogODAwO1xuICAgICAgICAgIGxldHRlci1zcGFjaW5nOiAuOHB4O1xuICAgICAgICB9XG5cbiAgICAgICAgLnNjLWxvY2F0aW9uIHtcbiAgICAgICAgICBjb2xvcjogcmdiYSgzNCwgMzQsIDM0LCAwLjgpO1xuICAgICAgICAgIEBpbmNsdWRlIGZvbnRzaXplKDE1cHgsIDE4cHgpO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIC8vIC5zYy1wcmljZSB7XG4gICAgICAvLyAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgIC8vICAgYm9yZGVyLWJvdHRvbTogMnB4IHNvbGlkIHRyYW5zcGFyZW50O1xuICAgICAgLy9cbiAgICAgIC8vICAgLnNjLWN1cnJlbmN5LFxuICAgICAgLy8gICAuc2MtZG9sbGFycyxcbiAgICAgIC8vICAgLnNjLWNlbnRzIHtcbiAgICAgIC8vICAgICBAZXh0ZW5kICVzYW5zO1xuICAgICAgLy8gICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgIC8vICAgICBmb250LXdlaWdodDogNzAwO1xuICAgICAgLy8gICB9XG4gICAgICAvLyAgIC5zYy1kb2xsYXJzIHtcbiAgICAgIC8vICAgICBmb250LXNpemU6IDE4cHg7XG4gICAgICAvLyAgIH1cbiAgICAgIC8vICAgLnNjLWN1cnJlbmN5LFxuICAgICAgLy8gICAuc2MtY2VudHMge1xuICAgICAgLy8gICAgIGZvbnQtc2l6ZTogMTFweDtcbiAgICAgIC8vICAgICB2ZXJ0aWNhbC1hbGlnbjogdG9wO1xuICAgICAgLy8gICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgIC8vICAgICB0b3A6IC0ycHg7XG4gICAgICAvLyAgIH1cbiAgICAgIC8vXG4gICAgICAvLyAgIC5zYy1jdXJyZW5jeSB7XG4gICAgICAvLyAgICAgbGVmdDogMnB4O1xuICAgICAgLy8gICB9XG4gICAgICAvLyAgIC5zYy1jZW50cyB7XG4gICAgICAvLyAgICAgcmlnaHQ6IDJweDtcbiAgICAgIC8vICAgfVxuICAgICAgLy8gfVxuXG4gICAgICAuc2MtY2hhbm5lbHMge1xuICAgICAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICAgICAgfVxuXG4gICAgICAuc2MtY2hhbm5lbCB7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgaGVpZ2h0OiBjYWxjKDEwMCUgLSAycHgpO1xuICAgICAgICB3aWR0aDogY2FsYyg1MCUgLSAycHgpO1xuICAgICAgICB2ZXJ0aWNhbC1hbGlnbjogdG9wO1xuXG4gICAgICAgIC5zYy1wcmljZSB7XG4gICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgYm9yZGVyLWJvdHRvbTogMnB4IHNvbGlkIHRyYW5zcGFyZW50O1xuICAgICAgICAgIGJvdHRvbTogM3B4O1xuXG4gICAgICAgICAgLnNjLWRvbGxhcnMge1xuICAgICAgICAgICAgZm9udC1zaXplOiAxOHB4O1xuICAgICAgICAgICAgcGFkZGluZy1sZWZ0OiAwO1xuICAgICAgICAgIH1cblxuICAgICAgICAgIC5zYy1jdXJyZW5jeSxcbiAgICAgICAgICAuc2MtY2VudHMge1xuICAgICAgICAgICAgZm9udC1zaXplOiAxMXB4O1xuICAgICAgICAgIH1cblxuICAgICAgICAgIC5zYy1jdXJyZW5jeSB7XG4gICAgICAgICAgICBtYXJnaW4tbGVmdDogLTlweDtcbiAgICAgICAgICB9XG5cbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICAuc2Mtc2VsZWN0ZWQtY2hhbm5lbCAuc2MtcHJpY2V7XG4gICAgICAgIGJvcmRlci1ib3R0b20tY29sb3I6IG1hcC1nZXQoJGN0YUNvbG9ycywgbGlnaHRHcmVlbik7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLnNjLW1vbmV5LWJveCB7XG4gICAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgICAgLy8gbWluLWhlaWdodDoxNTVweDtcbiAgICAgIHBhZGRpbmc6IDFlbTtcblxuICAgICAgLnNjLXByaWNpbmctZGV0YWlscyB7XG4gICAgICAgIGZvbnQtc2l6ZTogMTFweDtcbiAgICAgICAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDE3cHg7XG5cbiAgICAgICAgLnNjLXVuaXQtcHJpY2U6bm90KDpvbmx5LWNoaWxkKSB7XG4gICAgICAgICAgY29sb3I6ICNBN0E3QTc7XG4gICAgICAgICAgcGFkZGluZy1yaWdodDogMWVtO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIC5zYy11bml0cy1jaG9vc2VyIHtcbiAgICAgICAgbWFyZ2luLXRvcDogMWVtO1xuICAgICAgICAuc2MtaW5wdXQge1xuICAgICAgICAgIHdpZHRoOiA2NHB4O1xuICAgICAgICAgIG1hcmdpbi1sZWZ0OiA4cHg7XG4gICAgICAgICAgbWFyZ2luLXJpZ2h0OiA4cHg7XG4gICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICAgIGZvbnQtd2VpZ2h0OiA1MDA7XG4gICAgICAgIH1cblxuICAgICAgICAuc2Mtc3ByaXRlLW1pbnVzIHtcbiAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgICAgYm90dG9tOiA1cHg7XG4gICAgICAgICAgcmlnaHQ6IDdweFxuICAgICAgICB9XG5cbiAgICAgICAgLnNjLXNwcml0ZS1wbHVzIHtcbiAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgICAgdG9wOiAxcHg7XG4gICAgICAgICAgcmlnaHQ6IDhweDtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICAuc2Mtc3Vic2NyaXB0aW9uIHtcbiAgICAgICAgbWFyZ2luLXRvcDogMWVtO1xuICAgICAgICBmb250LXNpemU6IDEzcHg7XG4gICAgICB9XG5cbiAgICAgIC5zYy1zdWJzY3JpcHRpb24tZnJlcXVlbmN5IHtcbiAgICAgICAgQGV4dGVuZCAuc2MtdGV4dC1ncmVlbjtcbiAgICAgICAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgICAgIH1cblxuICAgICAgLnNjLWFjdGlvbnMge1xuICAgICAgICBtYXJnaW4tdG9wOiAxZW07XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDNweDtcblxuICAgICAgICAuc2MtYnV0dG9uIHtcbiAgICAgICAgICB3aWR0aDogNTAlO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cblxuLy8gUHJvZHVjdCBDYXJkIExpc3Rcbi8vXG4vLyBNYXJrdXA6IHByb2R1Y3QtY2FyZC1saXN0Lmh0bWxcbi8vXG4vLyBTdHlsZWd1aWRlOiA2LjJcbi5zYy1wcm9kdWN0LWNhcmQtbGlzdCB7XG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7XG5cbiAgLnNjLXByb2R1Y3QtY2FyZCB7XG4gICAgbWFyZ2luLXJpZ2h0OiAxZW07XG4gICAgd2lkdGg6IDIzOHB4O1xuICB9XG59XG5cblxuLypcblxuICBQTFAgQ2FyZHNcblxuKi9cblxuLy8gU2luZ2xlIFByaWNlIC0gMSBvciAyIGNoYW5uZWxzXG4vL1xuLy8gTWFya3VwOiBwbHAvcGxwLXNpbmdsZS1wcmljZS5odG1sXG4vL1xuLy8gU3R5bGVndWlkZTogNi4xLjFcblxuLy8gMiBQcmljZSAvIHZhcmlhbnRzXG4vL1xuLy8gTWFya3VwOiBwbHAvcGxwLXR3by1wcmljZS5odG1sXG4vL1xuLy8gU3R5bGVndWlkZTogNi4xLjJcblxuLy8gUHJlb3JkZXJcbi8vXG4vLyBNYXJrdXA6IHBscC9wbHAtcHJlb3JkZXIuaHRtbFxuLy9cbi8vIFN0eWxlZ3VpZGU6IDYuMS4zXG5cbi8vIEluc3RhbnQgU2F2aW5nc1xuLy9cbi8vIE1hcmt1cDogcGxwL3BscC1pbnN0YW50LXNhdmluZ3MuaHRtbFxuLy9cbi8vIFN0eWxlZ3VpZGU6IDYuMS40XG5cbi8vIFRlY2ggU2F2aW5nc1xuLy9cbi8vIE1hcmt1cDogcGxwL3BscC10ZWNoLXNhdmluZ3MuaHRtbFxuLy9cbi8vIFN0eWxlZ3VpZGU6IDYuMS41XG5cbi8vIE5ldyBMb3dlciBQcmljZVxuLy9cbi8vIE1hcmt1cDogcGxwL3BscC1uZXctbG93ZXItcHJpY2UuaHRtbFxuLy9cbi8vIFN0eWxlZ3VpZGU6IDYuMS42XG5cbi8vIFNob2NraW5nIFZhbHVlc1xuLy9cbi8vIE1hcmt1cDogcGxwL3BscC1zaG9ja2luZy12YWx1ZXMuaHRtbFxuLy9cbi8vIFN0eWxlZ3VpZGU6IDYuMS43XG5cbi8vIFZJUFxuLy9cbi8vIE1hcmt1cDogcGxwL3BscC12aXAuaHRtbFxuLy9cbi8vIFN0eWxlZ3VpZGU6IDYuMS44XG5cbi8vIFZpZXcgT25seVxuLy9cbi8vIE1hcmt1cDogcGxwL3BscC12aWV3LW9ubHkuaHRtbFxuLy9cbi8vIFN0eWxlZ3VpZGU6IDYuMS45XG5cbi8vIFByZXZpZXdcbi8vXG4vLyBNYXJrdXA6IHBscC9wbHAtcHJldmlldy5odG1sXG4vL1xuLy8gU3R5bGVndWlkZTogNi4xLjEwXG5cblxuXG4vKlxuXG4gIENhcm91c2VsIENhcmRzXG5cbiovXG5cbi8vIFNpbmdsZSBQcmljZVxuLy9cbi8vIE1hcmt1cDogY2Fyb3VzZWwvc2luZ2xlLXByaWNlLmh0bWxcbi8vXG4vLyBTdHlsZWd1aWRlOiA2LjIuMVxuXG4vLyAyIFByaWNlIC8gdmFyaWFudHNcbi8vXG4vLyBNYXJrdXA6IGNhcm91c2VsL3R3by1wcmljZS5odG1sXG4vL1xuLy8gU3R5bGVndWlkZTogNi4yLjJcblxuLy8gUHJlb3JkZXJcbi8vXG4vLyBNYXJrdXA6IGNhcm91c2VsL3ByZW9yZGVyLmh0bWxcbi8vXG4vLyBTdHlsZWd1aWRlOiA2LjIuM1xuXG4vLyBJbnN0YW50IFNhdmluZ3Ncbi8vXG4vLyBNYXJrdXA6IGNhcm91c2VsL2luc3RhbnQtc2F2aW5ncy5odG1sXG4vL1xuLy8gU3R5bGVndWlkZTogNi4yLjRcblxuLy8gVGVjaCBTYXZpbmdzXG4vL1xuLy8gTWFya3VwOiBjYXJvdXNlbC90ZWNoLXNhdmluZ3MuaHRtbFxuLy9cbi8vIFN0eWxlZ3VpZGU6IDYuMi41XG5cbi8vIE5ldyBMb3dlciBQcmljZVxuLy9cbi8vIE1hcmt1cDogY2Fyb3VzZWwvbmV3LWxvd2VyLXByaWNlLmh0bWxcbi8vXG4vLyBTdHlsZWd1aWRlOiA2LjIuNlxuXG4vLyBTaG9ja2luZyBWYWx1ZXNcbi8vXG4vLyBNYXJrdXA6IGNhcm91c2VsL3Nob2NraW5nLXZhbHVlcy5odG1sXG4vL1xuLy8gU3R5bGVndWlkZTogNi4yLjdcblxuLy8gVklQXG4vL1xuLy8gTWFya3VwOiBjYXJvdXNlbC92aXAuaHRtbFxuLy9cbi8vIFN0eWxlZ3VpZGU6IDYuMi44XG5cbi8vIFZpZXcgT25seVxuLy9cbi8vIE1hcmt1cDogY2Fyb3VzZWwvdmlldy1vbmx5Lmh0bWxcbi8vXG4vLyBTdHlsZWd1aWRlOiA2LjIuOVxuXG4vLyBQcmV2aWV3XG4vL1xuLy8gTWFya3VwOiBjYXJvdXNlbC9wcmV2aWV3Lmh0bWxcbi8vXG4vLyBTdHlsZWd1aWRlOiA2LjIuMTBcblxuXG4vLyBDYXRlZ29yeSBwYWdlIC0gUmVsYXRlZCBDYXRlZ29yaWVzIENhcmRzXG4vL1xuLy8gTWFya3VwOiBjYXRlZ29yeS9yZWxhdGVkLWNhdGVnb3JpZXMuaHRtbFxuLy9cbi8vIFN0eWxlIGd1aWRlOiA2LjNcbi5zYy1wcm9kdWN0LWNhcmQtcmVsYXRlZC1jYXQge1xuICBoZWlnaHQ6IDExMnB4O1xuICB3aWR0aDogMjM4cHg7XG5cbiAgZmlndXJlIHtcbiAgICB3aWR0aDogMjA2cHg7XG4gICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgICBkaXNwbGF5OiB0YWJsZTtcbiAgICBtYXJnaW46MDtcbiAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuXG4gICAgaW1nIHtcbiAgICAgIGhlaWdodDogODBweDtcbiAgICAgIHdpZHRoOiA4MHB4O1xuICAgICAgbWFyZ2luOiAwIDE2cHggMCAwO1xuICAgIH1cblxuICAgIGZpZ2NhcHRpb24ge1xuICAgICAgZGlzcGxheTogdGFibGUtY2VsbDtcbiAgICAgIGxpbmUtaGVpZ2h0OiAxNnB4O1xuICAgICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgICB9XG4gIH1cbn1cblxuLy8gQ2F0ZWdvcnkgcGFnZSAtIExvdyAtIFBPViBDYXJkc1xuLy9cbi8vIE1hcmt1cDogY2F0ZWdvcnkvbG93LWNhdGVnb3JpZXMtcG92LWNhcmRzLmh0bWxcbi8vXG4vLyBTdHlsZSBndWlkZTogNi40XG4uc2MtcHJvZHVjdC1jYXJkLXBvdi1jYXQge1xuICBoZWlnaHQ6IDMyMXB4O1xuICB3aWR0aDogMjM4cHg7XG4gIHBhZGRpbmc6IDI0cHggMTZweCA0MHB4IDE2cHg7XG5cbiAgZmlndXJlIHtcbiAgICB3aWR0aDogMjA2cHg7XG4gICAgbWFyZ2luOjA7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuXG4gICAgaW1nIHtcbiAgICAgIGhlaWdodDogMTc4cHg7XG4gICAgICB3aWR0aDogMTc4cHg7XG4gICAgICBtYXJnaW46IDAgMCAyNHB4IDA7XG4gICAgfVxuXG4gICAgZmlnY2FwdGlvbiB7XG4gICAgICBAZXh0ZW5kICVzZXJpZjtcbiAgICAgIEBpbmNsdWRlIGZvbnRzaXplKDIwcHgsIDMwcHgpO1xuICAgICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgICAgIGhlaWdodDogNjBweDtcbiAgICAgIGNvbG9yOiAjNGQ0ZDRkO1xuICAgICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICB9XG4gIH1cbn1cblxuLy8gQ29udGVudCBDYXJkc1xuLy9cbi8vIE1hcmt1cDogY2F0ZWdvcnkvY29udGVudC1jYXJkcy5odG1sXG4vL1xuLy8gU3R5bGUgZ3VpZGU6IDYuNVxuLnNjLWNvbnRlbnQtY2FyZC1zbWFsbCB7XG4gIGhlaWdodDogMzU4cHg7XG4gIHdpZHRoOiAyMzhweDtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgZm9udC1zaXplOiAxNXB4O1xuICBsaW5lLWhlaWdodDogMS42MThlbTtcbn1cblxuLnNjLWNvbnRlbnQtY2FyZC1tZWRpdW0ge1xuICBoZWlnaHQ6IDM5OXB4O1xuICB3aWR0aDogMjg1cHg7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIGZvbnQtc2l6ZTogMTVweDtcbiAgbGluZS1oZWlnaHQ6IDEuNjE4ZW07XG59XG5cbi5zYy1jb250ZW50LWNhcmQtbGFyZ2Uge1xuICBoZWlnaHQ6IDQ3MHB4O1xuICB3aWR0aDogMzgwcHg7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIGZvbnQtc2l6ZTogMTVweDtcbiAgbGluZS1oZWlnaHQ6IDEuNjE4ZW07XG59XG4iLCIvLyBDaGVja2JveFxuLy9cbi8vIE1hcmt1cDogY2hlY2tib3guaHRtbFxuLy9cbi8vIFN0eWxlIGd1aWRlOiA5LjBcbi5zYy1pbnB1dC1sYWJlbCB7XG4gIHVzZXItc2VsZWN0OiBub25lO1xufVxuLnNjLWNoZWNrYm94IHtcbiAgd2lkdGg6IDIwcHg7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICB1c2VyLXNlbGVjdDogbm9uZTtcbiAgcGFkZGluZy1yaWdodDogOHB4O1xuXG4gIGxhYmVsIHtcbiAgICB3aWR0aDogMjBweDtcbiAgICBoZWlnaHQ6IDIwcHg7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDA7XG4gICAgbGVmdDogMDtcbiAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgICBib3JkZXItcmFkaXVzOiA0cHg7XG4gICAgYm9yZGVyOiAxcHggc29saWQgI2Q4ZDhkODtcbiAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuXG4gICAgJjphZnRlciB7XG4gICAgICBjb250ZW50OiAnJztcbiAgICAgIHdpZHRoOiA5cHg7XG4gICAgICBoZWlnaHQ6IDVweDtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHRvcDogNHB4O1xuICAgICAgbGVmdDogNHB4O1xuICAgICAgYm9yZGVyOiAycHggc29saWQgdHJhbnNwYXJlbnQ7XG4gICAgICBib3JkZXItdG9wOiBub25lO1xuICAgICAgYm9yZGVyLXJpZ2h0OiBub25lO1xuICAgICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gICAgICBvcGFjaXR5OiAwO1xuICAgICAgdHJhbnNmb3JtOiByb3RhdGUoLTQ1ZGVnKTtcbiAgICB9XG4gICAgJjpob3Zlcjo6YWZ0ZXIge1xuICAgICAgb3BhY2l0eTogMDtcbiAgICB9XG4gIH1cbiAgaW5wdXRbdHlwZT1jaGVja2JveF0ge1xuICAgIHZpc2liaWxpdHk6IGhpZGRlbjtcbiAgICAmOmNoZWNrZWQgKyBsYWJlbDphZnRlciB7XG4gICAgICBvcGFjaXR5OiAxO1xuICAgICAgYm9yZGVyLWNvbG9yOiAjMDFjYzc1O1xuICAgIH1cbiAgfVxufVxuIiwiLy8gRmxhZ3Ncbi8vXG4vLyBNYXJrdXA6IGZsYWcuaHRtbFxuLy9cbi8vIFN0eWxlIGd1aWRlOiA0LjBcblxuLnNjLWZsYWcge1xuICBAZXh0ZW5kICVzZXJpZjtcbiAgQGluY2x1ZGUgZm9udHNpemUoMTRweCwgMTlweCk7XG4gIGJvcmRlci1yYWRpdXM6IDJweDtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBoZWlnaHQ6IDIycHg7XG4gIHBhZGRpbmctbGVmdDogOHB4O1xuICBwYWRkaW5nLXJpZ2h0OiA4cHg7XG4gIGNvbG9yOiB3aGl0ZTtcbn1cblxuLnNjLWZsYWctb3JhbmdlIHtcbiAgYmFja2dyb3VuZDogbWFwLWdldCgkcHJvZ3JhbUNvbG9ycywgb3JhbmdlKTtcbn1cblxuLnNjLWZsYWctcmVkIHtcbiAgYmFja2dyb3VuZDogbWFwLWdldCgkcHJvZ3JhbUNvbG9ycywgcmVkKTtcbn1cblxuLnNjLWZsYWctbGlnaHRibHVlIHtcbiAgYmFja2dyb3VuZDogbWFwLWdldCgkcHJvZ3JhbUNvbG9ycywgbGlnaHRCbHVlKTtcbn1cblxuLnNjLWZsYWctZGFya2JsdWUge1xuICBiYWNrZ3JvdW5kOiBtYXAtZ2V0KCRwcm9ncmFtQ29sb3JzLCBkYXJrQmx1ZSk7XG59XG5cbi5zYy1mbGFnLWJsYWNrIHtcbiAgYmFja2dyb3VuZDogbWFwLWdldCgkcHJvZ3JhbUNvbG9ycywgYmxhY2spO1xufVxuXG5cblxuXG5cbi5zYy1mbGFnLXNob2NraW5nLXZhbHVlcywgLnNjLWZsYWctdHJlbmRpbmcsIC5zYy1mbGFnLWFsbW9zdC1nb25lIHtcbiAgQGV4dGVuZCAuc2MtZmxhZztcbiAgQGV4dGVuZCAuc2MtZmxhZy1vcmFuZ2U7XG59XG5cbi5zYy1mbGFnLWluc3RhbnQtc2F2aW5ncyB7XG4gIEBleHRlbmQgLnNjLWZsYWc7XG4gIEBleHRlbmQgLnNjLWZsYWctcmVkO1xufVxuXG4uc2MtZmxhZy10b3AtcmF0ZWQsIC5zYy1mbGFnLW5ldy1sb3dlci1wcmljZSwgLnNjLWZsYWctYmVzdC1zZWxsZXIsIC5zYy1mbGFnLW5ldywgLnNjLWZsYWctc2Ftcy1leGNsdXNpdmUge1xuICBAZXh0ZW5kIC5zYy1mbGFnO1xuICBAZXh0ZW5kIC5zYy1mbGFnLWxpZ2h0Ymx1ZTtcbn1cblxuLnNjLWZsYWctdmlwLWV2ZW50LCAuc2MtZmxhZy10ZWNoLXNhdmluZ3MsIC5zYy1mbGFnLXNwZWNpYWwtYnV5IHtcbiAgQGV4dGVuZCAuc2MtZmxhZztcbiAgQGV4dGVuZCAuc2MtZmxhZy1kYXJrYmx1ZTtcbn1cblxuLnNjLWZsYWctYmxhY2stZnJpZGF5LXByZXZpZXcsIC5zYy1mbGFnLWJsYWNrLWZyaWRheSB7XG4gIEBleHRlbmQgLnNjLWZsYWc7XG4gIEBleHRlbmQgLnNjLWZsYWctYmxhY2s7XG59XG4iLCIvLyB8LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4vLyB8LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4vLyB8IFNpbGVudCBjbGFzc2VzXG4vLyB8LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4vLyB8LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbiVncmlkbGUtcGllLWNsZWFyZml4IHtcblx0JjphZnRlciB7XG5cdFx0Y29udGVudDogXCIuXCI7XG5cdFx0ZGlzcGxheTogYmxvY2s7XG5cdFx0Y2xlYXI6IGJvdGg7XG5cdFx0dmlzaWJpbGl0eTogaGlkZGVuO1xuXHRcdGxpbmUtaGVpZ2h0OiAwO1xuXHRcdGhlaWdodDogMDtcblx0fVxuXHQgXG5cdCYge1xuXHRcdGRpc3BsYXk6IGlubGluZS1ibG9jaztcblx0fVxuXHQgXG5cdGh0bWxbeG1sbnNdICYge1xuXHRcdGRpc3BsYXk6IGJsb2NrO1xuXHR9XG5cdCBcblx0KiBodG1sICYge1xuXHRcdGhlaWdodDogMSU7XG5cdH1cbn1cbiVncmlkbGUtc2ltcGxlLWNsZWFyZml4IHtcblx0JjphZnRlciB7XG5cdFx0Y29udGVudDogXCJcIjtcblx0XHRkaXNwbGF5OiB0YWJsZTtcblx0XHRjbGVhcjogYm90aDtcblx0XHRib3JkZXItc3BhY2luZzowO1xuXHR9XG59XG4lZ3JpZGxlLWNsZWFyZml4IHtcblx0Ly8gRm9yIG1vZGVybiBicm93c2VyXG5cdCY6YmVmb3JlLFxuXHQmOmFmdGVyIHtcblx0XHRjb250ZW50OlwiXCI7XG5cdFx0ZGlzcGxheTp0YWJsZTtcblx0XHRib3JkZXItc3BhY2luZzowO1xuXHR9XG5cdCY6YWZ0ZXIge1xuXHRcdGNsZWFyOmJvdGg7XG5cdH1cblx0Ly8gRm9yIElFIDYvNyAodHJpZ2dlciBoYXNMYXlvdXRcblx0JiB7XG5cdCAgIHpvb206MTtcblx0fVxufVxuJWdyaWRsZS1wdXNoLXB1bGwtZGVidWctYmFja2dyb3VuZC1jb21tb24ge1xuXHRiYWNrZ3JvdW5kLXNpemU6NTBweCA5MCU7XG5cdGJhY2tncm91bmQtcG9zaXRpb246MCA1MCU7XG5cdGJhY2tncm91bmQtcmVwZWF0OnJlcGVhdC14O1xufVxuJWdyaWRsZS1wdXNoLXB1bGwtY29tbW9uIHtcblx0cG9zaXRpb246cmVsYXRpdmU7XG59XG4lZ3JpZGxlLWNvbnRhaW5lci1jb21tb24ge1xuXHQtd2Via2l0LWJveC1zaXppbmc6IGJvcmRlci1ib3g7XG5cdC1tb3otYm94LXNpemluZzogYm9yZGVyLWJveDtcblx0Ym94LXNpemluZzogYm9yZGVyLWJveDtcbn1cbiVncmlkbGUtcGFyZW50LWNvbW1vbiB7XG5cdC13ZWJraXQtYm94LXNpemluZzogYm9yZGVyLWJveDtcblx0LW1vei1ib3gtc2l6aW5nOiBib3JkZXItYm94O1xuXHRib3gtc2l6aW5nOiBib3JkZXItYm94O1xufVxuJWdyaWRsZS1jb250YWluZXItZGVidWctY29tbW9uIHtcblx0YmFja2dyb3VuZC1jb2xvcjojZjVmNWY1O1xufVxuJWdyaWRsZS1ncmlkLWRlYnVnLWNvbW1vbiB7XG5cdCY6YmVmb3JlLFxuXHQmOmFmdGVyIHtcblx0XHRjb250ZW50OlwiXCI7XG5cdFx0ZGlzcGxheTpibG9jaztcblx0XHRiYWNrZ3JvdW5kLWltYWdlOiB1cmwoZGF0YTppbWFnZS9wbmc7YmFzZTY0LGlWQk9SdzBLR2dvQUFBQU5TVWhFVWdBQUFBRUFBQUFCQ0FZQUFBQWZGY1NKQUFBQUdYUkZXSFJUYjJaMGQyRnlaUUJCWkc5aVpTQkpiV0ZuWlZKbFlXUjVjY2xsUEFBQUF5UnBWRmgwV0UxTU9tTnZiUzVoWkc5aVpTNTRiWEFBQUFBQUFEdy9lSEJoWTJ0bGRDQmlaV2RwYmowaTc3dS9JaUJwWkQwaVZ6Vk5NRTF3UTJWb2FVaDZjbVZUZWs1VVkzcHJZemxrSWo4K0lEeDRPbmh0Y0cxbGRHRWdlRzFzYm5NNmVEMGlZV1J2WW1VNmJuTTZiV1YwWVM4aUlIZzZlRzF3ZEdzOUlrRmtiMkpsSUZoTlVDQkRiM0psSURVdU15MWpNREV4SURZMkxqRTBOVFkyTVN3Z01qQXhNaTh3TWk4d05pMHhORG8xTmpveU55QWdJQ0FnSUNBZ0lqNGdQSEprWmpwU1JFWWdlRzFzYm5NNmNtUm1QU0pvZEhSd09pOHZkM2QzTG5jekxtOXlaeTh4T1RrNUx6QXlMekl5TFhKa1ppMXplVzUwWVhndGJuTWpJajRnUEhKa1pqcEVaWE5qY21sd2RHbHZiaUJ5WkdZNllXSnZkWFE5SWlJZ2VHMXNibk02ZUcxd1BTSm9kSFJ3T2k4dmJuTXVZV1J2WW1VdVkyOXRMM2hoY0M4eExqQXZJaUI0Yld4dWN6cDRiWEJOVFQwaWFIUjBjRG92TDI1ekxtRmtiMkpsTG1OdmJTOTRZWEF2TVM0d0wyMXRMeUlnZUcxc2JuTTZjM1JTWldZOUltaDBkSEE2THk5dWN5NWhaRzlpWlM1amIyMHZlR0Z3THpFdU1DOXpWSGx3WlM5U1pYTnZkWEpqWlZKbFppTWlJSGh0Y0RwRGNtVmhkRzl5Vkc5dmJEMGlRV1J2WW1VZ1VHaHZkRzl6YUc5d0lFTlROaUFvVFdGamFXNTBiM05vS1NJZ2VHMXdUVTA2U1c1emRHRnVZMlZKUkQwaWVHMXdMbWxwWkRvd1JrRXpOelZGTlRnMU5qZ3hNVVV5T1VJNFJqaEVNemc0UXpNNFFqWkZPQ0lnZUcxd1RVMDZSRzlqZFcxbGJuUkpSRDBpZUcxd0xtUnBaRG93UmtFek56VkZOamcxTmpneE1VVXlPVUk0UmpoRU16ZzRRek00UWpaRk9DSStJRHg0YlhCTlRUcEVaWEpwZG1Wa1JuSnZiU0J6ZEZKbFpqcHBibk4wWVc1alpVbEVQU0o0YlhBdWFXbGtPakJHUVRNM05VVXpPRFUyT0RFeFJUSTVRamhHT0VRek9EaERNemhDTmtVNElpQnpkRkpsWmpwa2IyTjFiV1Z1ZEVsRVBTSjRiWEF1Wkdsa09qQkdRVE0zTlVVME9EVTJPREV4UlRJNVFqaEdPRVF6T0RoRE16aENOa1U0SWk4K0lEd3ZjbVJtT2tSbGMyTnlhWEIwYVc5dVBpQThMM0prWmpwU1JFWStJRHd2ZURwNGJYQnRaWFJoUGlBOFAzaHdZV05yWlhRZ1pXNWtQU0p5SWo4Kys1K0JoUUFBQUE5SlJFRlVlTnBpWUdCZ2tBSUlNQUFBSHdBYlpJQnRHZ0FBQUFCSlJVNUVya0pnZ2c9PSk7XG5cdFx0bWFyZ2luOjEwcHggMDtcblx0XHRwYWRkaW5nOjVweCAwO1xuXHRcdHRleHQtYWxpZ246Y2VudGVyO1xuXHRcdGNvbG9yOndoaXRlO1xuXHRcdGZvbnQtc2l6ZToxMXB4O1xuXHRcdC13ZWJraXQtYm94LXNpemluZzogYm9yZGVyLWJveDtcblx0XHQtbW96LWJveC1zaXppbmc6IGJvcmRlci1ib3g7XG5cdFx0Ym94LXNpemluZzogYm9yZGVyLWJveDtcblx0XHRkaXNwbGF5OmJsb2NrICFpbXBvcnRhbnQ7XG5cdH1cblx0YmFja2dyb3VuZC1jb2xvcjojZGFlZmY1O1xufVxuJWdyaWRsZS1ncmlkLWNvbW1vbiB7XG5cdGRpc3BsYXk6aW5saW5lLWJsb2NrO1xuXHRtaW4taGVpZ2h0OjFweDtcblxuXHQtd2Via2l0LWJveC1zaXppbmc6IGJvcmRlci1ib3g7XG5cdC1tb3otYm94LXNpemluZzogYm9yZGVyLWJveDtcblx0Ym94LXNpemluZzogYm9yZGVyLWJveDtcblxufVxuJWdyaWRsZS1wcmVmaXgtZGVidWctY29tbW9uIHtcblx0YmFja2dyb3VuZC1jb2xvcjojZGFlN2U5ICFpbXBvcnRhbnQ7XG59XG4lZ3JpZGxlLXN1ZmZpeC1kZWJ1Zy1jb21tb24ge1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiNkYWU3ZTkgIWltcG9ydGFudDtcbn0iLCIvLyB8LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4vLyB8LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4vLyB8IEdlbmVyYXRlIG1peGluc1xuLy8gfC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuLy8gfC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG5cbi8qKlxuICogR2VuZXJhdGUgYSBjdXN0b20gY2xhc3MgZm9yIGFsbCB0aGUgc3RhdGVzXG4gKlxuICogQHBhcmFtIFx0bGlzdCBcdCRwYXR0ZXJuIFx0XHRUaGUgbmFtZSBwYXR0ZXJuIG9mIHRoZSBjbGFzc1xuICogQHBhcmFtIFx0bGlzdCBcdCRzdGF0ZXNOYW1lcyBcdFx0VGhlIHN0YXRlcyBuYW1lcyB0byBnZW5lcmF0ZVxuICovXG5AbWl4aW4gZ3JpZGxlX2dlbmVyYXRlX2N1c3RvbV9jbGFzcyhcblx0JHBhdHRlcm4sXG5cdCRzdGF0ZXNOYW1lcyA6IG51bGxcbikge1xuXHQvLyBtYW5hZ2Ugc3RhdGVzIHRvIGdlbmVyYXRlIDpcblx0JHN0YXRlcyA6ICgpO1xuXHRAaWYgJHN0YXRlc05hbWVzID09IG51bGwge1xuXHRcdC8vIGxvb3Agb24gZWFjaCBzdGF0ZXMgdG8gZ2VuZXJhdGUgbmFtZXMgbGlzdCA6XG5cdFx0QGVhY2ggJHN0YXRlTmFtZSwgJHN0YXRlIGluICRfZ3JpZGxlX3N0YXRlcyB7XG5cdFx0XHQkc3RhdGVzIDogYXBwZW5kKCRzdGF0ZXMsICRzdGF0ZU5hbWUpO1xuXHRcdH1cblx0fSBAZWxzZSB7XG5cdFx0JHN0YXRlcyA6ICRzdGF0ZXNOYW1lcztcblx0fVxuXG5cdC8vIGxvb3Agb24gZWFjaCBzdGF0ZXMgOlxuXHRAZWFjaCAkc3RhdGVOYW1lIGluICRzdGF0ZXNcblx0e1xuXHRcdC8vIG1hbmFnZSBzdGF0ZW5hbWUgOlxuXHRcdEBpZiB0eXBlLW9mKCRzdGF0ZU5hbWUpICE9IHN0cmluZyB7XG5cdFx0XHQkc3RhdGVOYW1lIDogbWFwLWdldCgkc3RhdGVOYW1lLCBuYW1lKTtcblx0XHR9XG5cblx0XHQvLyBjbGFzc2VzIDpcblx0XHQkY2xhc3NlcyA6IF9ncmlkbGVfZ2V0X3Zhcl92YWx1ZShjbGFzc2VzLCAkc3RhdGVOYW1lKTtcblxuXHRcdC8vIGdlbnJhdGUgdGhlIGNsYXNzbmFtZSA6XG5cdFx0QGlmICRjbGFzc2VzXG5cdFx0e1xuXHRcdFx0QGluY2x1ZGUgZ3JpZGxlX3N0YXRlKCRzdGF0ZU5hbWUsIGZhbHNlKSB7XG5cdFx0XHRcdCN7X2dyaWRsZV9jbGFzc25hbWUoJHBhdHRlcm4sICRzdGF0ZU5hbWUpfSB7XG5cdFx0XHRcdFx0QGNvbnRlbnQ7XG5cdFx0XHRcdH1cblx0XHRcdH1cblx0XHR9XG5cdH1cbn1cblxuLy8gR2VuZXJhdGUgYWxsIGhlbHBlcnMgY2xhc3Nlc1xuLy8gQWxsIHRoZSBjbGFzc2VzIGdlbmVyYXRlZCBhcmUgbm90IHdyYXBwZXIgaW4gZ3JpZGxlX3N0YXRlXG4vLyBpbiB0aGlzIG1peGluLi4uIEp1c3QgdGhlIG5hbWVzIGFyZSBnZW5lcmF0ZWQgYWNjb3JkaW5nbHkgdG8gdGhlXG4vLyByZXF1ZXN0ZWQgc3RhdGVcbkBtaXhpbiBfZ3JpZGxlX2dlbmVyYXRlX2hlbHBlcl9jbGFzc2VzIChcblx0JHN0YXRlIDogbnVsbCxcblx0JHdoYXQgOiBudWxsXG4pIHtcblx0Ly8gaGVscGVycyA6XG5cdEBpZiAkd2hhdCA9PSBudWxsIG9yIGluZGV4KCR3aGF0LCBmbG9hdCkgb3IgaW5kZXgoJHdoYXQsIGhlbHBlcnMpIHtcblx0XHQje19ncmlkbGVfY2xhc3NuYW1lKCRncmlkbGUtZmxvYXQtbGVmdC1uYW1lLXBhdHRlcm4sICRzdGF0ZSl9IHtcblx0XHRcdEBpbmNsdWRlIGdyaWRsZV9mbG9hdChsZWZ0KTtcblx0XHR9XG5cdFx0I3tfZ3JpZGxlX2NsYXNzbmFtZSgkZ3JpZGxlLWZsb2F0LXJpZ2h0LW5hbWUtcGF0dGVybiwgJHN0YXRlKX0ge1xuXHRcdFx0QGluY2x1ZGUgZ3JpZGxlX2Zsb2F0KHJpZ2h0KTtcblx0XHR9XG5cdH1cblxuXHRAaWYgJHdoYXQgPT0gbnVsbCBvciBpbmRleCgkd2hhdCwgY2xlYXIpIG9yIGluZGV4KCR3aGF0LCBoZWxwZXJzKSB7XG5cdFx0I3tfZ3JpZGxlX2NsYXNzbmFtZSgkZ3JpZGxlLWNsZWFyLW5hbWUtcGF0dGVybiwgJHN0YXRlKX0ge1xuXHRcdFx0QGluY2x1ZGUgZ3JpZGxlX2NsZWFyKGJvdGgpO1xuXHRcdH1cblx0XHQje19ncmlkbGVfY2xhc3NuYW1lKCRncmlkbGUtY2xlYXItbGVmdC1uYW1lLXBhdHRlcm4sICRzdGF0ZSl9IHtcblx0XHRcdEBpbmNsdWRlIGdyaWRsZV9jbGVhcihsZWZ0KTtcblx0XHR9XG5cdFx0I3tfZ3JpZGxlX2NsYXNzbmFtZSgkZ3JpZGxlLWNsZWFyLXJpZ2h0LW5hbWUtcGF0dGVybiwgJHN0YXRlKX0ge1xuXHRcdFx0QGluY2x1ZGUgZ3JpZGxlX2NsZWFyKHJpZ2h0KTtcblx0XHR9XG5cdH1cblxuXHRAaWYgJHdoYXQgPT0gbnVsbCBvciBpbmRleCgkd2hhdCwgbm9fZ3V0dGVyKSBvciBpbmRleCgkd2hhdCwgbm9fbWFyZ2luKSBvciBpbmRleCgkd2hhdCwgaGVscGVycykge1xuXHRcdCN7X2dyaWRsZV9jbGFzc25hbWUoJGdyaWRsZS1uby1ndXR0ZXItbmFtZS1wYXR0ZXJuLCAkc3RhdGUpfSxcblx0XHQje19ncmlkbGVfY2xhc3NuYW1lKCRncmlkbGUtbm8tbWFyZ2luLW5hbWUtcGF0dGVybiwgJHN0YXRlKX0ge1xuXHRcdFx0QGluY2x1ZGUgZ3JpZGxlX25vX21hcmdpbigpO1xuXHRcdH1cblx0XHQje19ncmlkbGVfY2xhc3NuYW1lKCRncmlkbGUtbm8tZ3V0dGVyLWxlZnQtbmFtZS1wYXR0ZXJuLCAkc3RhdGUpfSxcblx0XHQje19ncmlkbGVfY2xhc3NuYW1lKCRncmlkbGUtbm8tbWFyZ2luLWxlZnQtbmFtZS1wYXR0ZXJuLCAkc3RhdGUpfSB7XG5cdFx0XHRAaW5jbHVkZSBncmlkbGVfbm9fbWFyZ2luKGxlZnQpO1xuXHRcdH1cblx0XHQje19ncmlkbGVfY2xhc3NuYW1lKCRncmlkbGUtbm8tZ3V0dGVyLXJpZ2h0LW5hbWUtcGF0dGVybiwgJHN0YXRlKX0sXG5cdFx0I3tfZ3JpZGxlX2NsYXNzbmFtZSgkZ3JpZGxlLW5vLW1hcmdpbi1yaWdodC1uYW1lLXBhdHRlcm4sICRzdGF0ZSl9IHtcblx0XHRcdEBpbmNsdWRlIGdyaWRsZV9ub19tYXJnaW4ocmlnaHQpO1xuXHRcdH1cblx0XHQje19ncmlkbGVfY2xhc3NuYW1lKCRncmlkbGUtbm8tZ3V0dGVyLXRvcC1uYW1lLXBhdHRlcm4sICRzdGF0ZSl9LFxuXHRcdCN7X2dyaWRsZV9jbGFzc25hbWUoJGdyaWRsZS1uby1tYXJnaW4tdG9wLW5hbWUtcGF0dGVybiwgJHN0YXRlKX0ge1xuXHRcdFx0QGluY2x1ZGUgZ3JpZGxlX25vX21hcmdpbih0b3ApO1xuXHRcdH1cblx0XHQje19ncmlkbGVfY2xhc3NuYW1lKCRncmlkbGUtbm8tZ3V0dGVyLWJvdHRvbS1uYW1lLXBhdHRlcm4sICRzdGF0ZSl9LFxuXHRcdCN7X2dyaWRsZV9jbGFzc25hbWUoJGdyaWRsZS1uby1tYXJnaW4tYm90dG9tLW5hbWUtcGF0dGVybiwgJHN0YXRlKX0ge1xuXHRcdFx0QGluY2x1ZGUgZ3JpZGxlX25vX21hcmdpbihib3R0b20pO1xuXHRcdH1cblx0fVxuXG5cdEBpZiAkd2hhdCA9PSBudWxsIG9yIGluZGV4KCR3aGF0LCBndXR0ZXIpIG9yIGluZGV4KCR3aGF0LCBtYXJnaW4pIG9yIGluZGV4KCR3aGF0LCBoZWxwZXJzKSB7XG5cdFx0I3tfZ3JpZGxlX2NsYXNzbmFtZSgkZ3JpZGxlLWd1dHRlci1uYW1lLXBhdHRlcm4sICRzdGF0ZSl9LFxuXHRcdCN7X2dyaWRsZV9jbGFzc25hbWUoJGdyaWRsZS1tYXJnaW4tbmFtZS1wYXR0ZXJuLCAkc3RhdGUpfSB7XG5cdFx0XHRAaW5jbHVkZSBncmlkbGVfbWFyZ2luKGxlZnQgcmlnaHQpO1xuXHRcdH1cblx0XHQje19ncmlkbGVfY2xhc3NuYW1lKCRncmlkbGUtZ3V0dGVyLWxlZnQtbmFtZS1wYXR0ZXJuLCAkc3RhdGUpfSxcblx0XHQje19ncmlkbGVfY2xhc3NuYW1lKCRncmlkbGUtbWFyZ2luLWxlZnQtbmFtZS1wYXR0ZXJuLCAkc3RhdGUpfSB7XG5cdFx0XHRAaW5jbHVkZSBncmlkbGVfbWFyZ2luKGxlZnQpO1xuXHRcdH1cblx0XHQje19ncmlkbGVfY2xhc3NuYW1lKCRncmlkbGUtZ3V0dGVyLXJpZ2h0LW5hbWUtcGF0dGVybiwgJHN0YXRlKX0sXG5cdFx0I3tfZ3JpZGxlX2NsYXNzbmFtZSgkZ3JpZGxlLW1hcmdpbi1yaWdodC1uYW1lLXBhdHRlcm4sICRzdGF0ZSl9IHtcblx0XHRcdEBpbmNsdWRlIGdyaWRsZV9tYXJnaW4ocmlnaHQpO1xuXHRcdH1cblx0XHQje19ncmlkbGVfY2xhc3NuYW1lKCRncmlkbGUtZ3V0dGVyLXRvcC1uYW1lLXBhdHRlcm4sICRzdGF0ZSl9LFxuXHRcdCN7X2dyaWRsZV9jbGFzc25hbWUoJGdyaWRsZS1tYXJnaW4tdG9wLW5hbWUtcGF0dGVybiwgJHN0YXRlKX0ge1xuXHRcdFx0QGluY2x1ZGUgZ3JpZGxlX21hcmdpbih0b3ApO1xuXHRcdH1cblx0XHQje19ncmlkbGVfY2xhc3NuYW1lKCRncmlkbGUtZ3V0dGVyLWJvdHRvbS1uYW1lLXBhdHRlcm4sICRzdGF0ZSl9LFxuXHRcdCN7X2dyaWRsZV9jbGFzc25hbWUoJGdyaWRsZS1tYXJnaW4tYm90dG9tLW5hbWUtcGF0dGVybiwgJHN0YXRlKX0ge1xuXHRcdFx0QGluY2x1ZGUgZ3JpZGxlX21hcmdpbihib3R0b20pO1xuXHRcdH1cblx0fVxuXG5cdEBpZiAkd2hhdCA9PSBudWxsIG9yIGluZGV4KCR3aGF0LCBhdXRvX2hlaWdodCkgb3IgaW5kZXgoJHdoYXQsIGhlbHBlcnMpIHtcblx0XHQje19ncmlkbGVfY2xhc3NuYW1lKCRncmlkbGUtYXV0by1oZWlnaHQtbmFtZS1wYXR0ZXJuLCAkc3RhdGUpfSB7XG5cdFx0XHRoZWlnaHQ6aW5oZXJpdDtcblx0XHR9XG5cdH1cblxuXHRAaWYgJHdoYXQgPT0gbnVsbCBvciBpbmRleCgkd2hhdCwgY2VudGVyZWQpIG9yIGluZGV4KCR3aGF0LCBoZWxwZXJzKSB7XG5cdFx0I3tfZ3JpZGxlX2NsYXNzbmFtZSgkZ3JpZGxlLWNlbnRlcmVkLW5hbWUtcGF0dGVybiwgJHN0YXRlKX0ge1xuXHRcdFx0QGluY2x1ZGUgZ3JpZGxlX2NlbnRlcmVkKG51bGwpO1xuXHRcdH1cblx0fVxuXG5cdEBpZiAkd2hhdCA9PSBudWxsIG9yIGluZGV4KCR3aGF0LCBwYXJlbnQpIG9yIGluZGV4KCR3aGF0LCBoZWxwZXJzKSB7XG5cdFx0I3tfZ3JpZGxlX2NsYXNzbmFtZSgkZ3JpZGxlLXBhcmVudC1uYW1lLXBhdHRlcm4sICRzdGF0ZSl9IHtcblx0XHRcdEBpbmNsdWRlIF9ncmlkbGVfcGFyZW50KCk7XG5cdFx0fVxuXHR9XG5cblx0QGlmICR3aGF0ID09IG51bGwgb3IgaW5kZXgoJHdoYXQsIHZlcnRpY2FsX2FsaWduKSBvciBpbmRleCgkd2hhdCwgaGVscGVycykge1xuXHRcdCN7X2dyaWRsZV9jbGFzc25hbWUoJGdyaWRsZS12ZXJ0aWNhbC1hbGlnbi1taWRkbGUtbmFtZS1wYXR0ZXJuLCAkc3RhdGUpfSB7XG5cdFx0XHRAaW5jbHVkZSBfZ3JpZGxlX3ZlcnRpY2FsX2FsaWduKCk7XG5cdFx0fVxuXHRcdCN7X2dyaWRsZV9jbGFzc25hbWUoJGdyaWRsZS12ZXJ0aWNhbC1hbGlnbi10b3AtbmFtZS1wYXR0ZXJuLCAkc3RhdGUpfSB7XG5cdFx0XHRAaW5jbHVkZSBfZ3JpZGxlX3ZlcnRpY2FsX2FsaWduKHRvcCk7XG5cdFx0fVxuXHRcdCN7X2dyaWRsZV9jbGFzc25hbWUoJGdyaWRsZS12ZXJ0aWNhbC1hbGlnbi1ib3R0b20tbmFtZS1wYXR0ZXJuLCAkc3RhdGUpfSB7XG5cdFx0XHRAaW5jbHVkZSBfZ3JpZGxlX3ZlcnRpY2FsX2FsaWduKGJvdHRvbSk7XG5cdFx0fVxuXHR9XG5cblx0LyoqXG5cdCAqIFZpc2libGUsIGhpZGUsIGV0Yy4uLlxuXHQgKi9cblx0QGlmICR3aGF0ID09IG51bGwgb3IgaW5kZXgoJHdoYXQsIGhpZGUpIG9yIGluZGV4KCR3aGF0LCBoZWxwZXJzKSB7XG5cdFx0I3tfZ3JpZGxlX2NsYXNzbmFtZSgkZ3JpZGxlLWhpZGUtbmFtZS1wYXR0ZXJuLCAkc3RhdGUpfSB7XG5cdFx0XHRAaW5jbHVkZSBncmlkbGVfaGlkZShudWxsKTtcblx0XHR9XG5cdH1cblxuXHRAaWYgJHdoYXQgPT0gbnVsbCBvciBpbmRleCgkd2hhdCwgbm90X3Zpc2libGUpIG9yIGluZGV4KCR3aGF0LCBoZWxwZXJzKSB7XG5cdFx0I3tfZ3JpZGxlX2NsYXNzbmFtZSgkZ3JpZGxlLW5vdC12aXNpYmxlLW5hbWUtcGF0dGVybiwgJHN0YXRlKX0ge1xuXHRcdFx0QGluY2x1ZGUgZ3JpZGxlX25vdF92aXNpYmxlKG51bGwpO1xuXHRcdH1cblx0fVxuXG5cdEBpZiAkd2hhdCA9PSBudWxsIG9yIGluZGV4KCR3aGF0LCBzaG93KSBvciBpbmRleCgkd2hhdCwgaGVscGVycykge1xuXHRcdCN7X2dyaWRsZV9jbGFzc25hbWUoJGdyaWRsZS1zaG93LW5hbWUtcGF0dGVybiwgJHN0YXRlKX0ge1xuXHRcdFx0QGluY2x1ZGUgZ3JpZGxlX3Nob3cobnVsbCk7XG5cdFx0fVxuXHRcdCN7X2dyaWRsZV9jbGFzc25hbWUoJGdyaWRsZS1zaG93LWlubGluZS1uYW1lLXBhdHRlcm4sICRzdGF0ZSl9IHtcblx0XHRcdEBpbmNsdWRlIGdyaWRsZV9zaG93X2lubGluZShudWxsKTtcblx0XHR9XG5cdH1cblxuXHRAaWYgJHdoYXQgPT0gbnVsbCBvciBpbmRleCgkd2hhdCwgdmlzaWJsZSkgb3IgaW5kZXgoJHdoYXQsIGhlbHBlcnMpIHtcblx0XHQje19ncmlkbGVfY2xhc3NuYW1lKCRncmlkbGUtdmlzaWJsZS1uYW1lLXBhdHRlcm4sICRzdGF0ZSl9IHtcblx0XHRcdEBpbmNsdWRlIGdyaWRsZV92aXNpYmxlKG51bGwpO1xuXHRcdH1cblx0fVxuXG5cdC8qKlxuXHQgKiBDbGVhciBlYWNoIGNsYXNzIDpcblx0ICovXG5cdEBpZiAkd2hhdCA9PSBudWxsIG9yIGluZGV4KCR3aGF0LCBjbGVhcl9lYWNoKSBvciBpbmRleCgkd2hhdCwgaGVscGVycykge1xuXHRcdEBlYWNoICRjbGVhck5hbWUsICRjbGVhck1hcCBpbiAkX2dyaWRsZV9jbGVhcl9jbGFzc2VzIHtcblx0XHRcdC8vIGdldCBjb3VudCA6XG5cdFx0XHQkY2xlYXJDb3VudCA6IG1hcC1nZXQoJGNsZWFyTWFwLCBjbGVhckVhY2gpO1xuXHRcdFx0Ly8gd2hhdCB0byBjbGVhciA6XG5cdFx0XHQkY2xlYXJXaGF0IDogbWFwLWdldCgkY2xlYXJNYXAsIGNsZWFyV2hhdCk7XG5cdFx0XHQvLyBnZW5lcmF0ZSB0aGUgY2xhc3MgOlxuXHRcdFx0I3tfZ3JpZGxlX2NsYXNzbmFtZSgkZ3JpZGxlLWNsZWFyLWVhY2gtcGF0dGVybiwgJHN0YXRlLCAkY2xlYXJDb3VudCl9IHtcblx0XHRcdFx0QGluY2x1ZGUgX2dyaWRsZV9jbGVhcl9lYWNoKCRjbGVhckNvdW50LCAkY2xlYXJXaGF0KTtcblx0XHRcdH1cblx0XHR9XG5cdH1cblxuXHQvLyBkZWJ1ZyBjb2xvcnMgOlxuXHQkZGVidWcgOiBfZ3JpZGxlX2dldF92YXJfdmFsdWUoZGVidWcsICRzdGF0ZSk7XG5cdEBpZiAkZGVidWcgYW5kICggJHdoYXQgPT0gbnVsbCBvciBpbmRleCgkd2hhdCwgZGVidWdfY29sb3JzKSBvciBpbmRleCgkd2hhdCwgaGVscGVycykgKSB7XG5cdFx0Ly8gZGVidWcgY29sb3IgY2xhc3NlcyA6XG5cdFx0I3tfZ3JpZGxlX2NsYXNzbmFtZSgkZ3JpZGxlLWRlYnVnLWNvbG9yLW5hbWUtcGF0dGVybiwgJHN0YXRlLCAxKX0ge1xuXHRcdFx0I3skZ3JpZGxlLWRlYnVnLXNlbGVjdG9yfSB7XG5cdFx0XHRcdGJhY2tncm91bmQtY29sb3IgOiAjZWRlZWIyO1xuXHRcdFx0fVxuXHRcdH1cblx0XHQje19ncmlkbGVfY2xhc3NuYW1lKCRncmlkbGUtZGVidWctY29sb3ItbmFtZS1wYXR0ZXJuLCAkc3RhdGUsIDIpfSB7XG5cdFx0XHQjeyRncmlkbGUtZGVidWctc2VsZWN0b3J9IHtcblx0XHRcdFx0YmFja2dyb3VuZC1jb2xvciA6ICNmYWU0YTc7XG5cdFx0XHR9XG5cdFx0fVxuXHRcdCN7X2dyaWRsZV9jbGFzc25hbWUoJGdyaWRsZS1kZWJ1Zy1jb2xvci1uYW1lLXBhdHRlcm4sICRzdGF0ZSwgMyl9IHtcblx0XHRcdCN7JGdyaWRsZS1kZWJ1Zy1zZWxlY3Rvcn0ge1xuXHRcdFx0XHRiYWNrZ3JvdW5kLWNvbG9yIDogI2Y1ZWFjYztcblx0XHRcdH1cblx0XHR9XG5cdFx0I3tfZ3JpZGxlX2NsYXNzbmFtZSgkZ3JpZGxlLWRlYnVnLWNvbG9yLW5hbWUtcGF0dGVybiwgJHN0YXRlLCA0KX0ge1xuXHRcdFx0I3skZ3JpZGxlLWRlYnVnLXNlbGVjdG9yfSB7XG5cdFx0XHRcdGJhY2tncm91bmQtY29sb3IgOiAjZWViZGIyO1xuXHRcdFx0fVxuXHRcdH1cblx0XHQje19ncmlkbGVfY2xhc3NuYW1lKCRncmlkbGUtZGVidWctY29sb3ItbmFtZS1wYXR0ZXJuLCAkc3RhdGUsIDUpfSB7XG5cdFx0XHQjeyRncmlkbGUtZGVidWctc2VsZWN0b3J9IHtcblx0XHRcdFx0YmFja2dyb3VuZC1jb2xvciA6ICNkNGIyZWU7XG5cdFx0XHR9XG5cdFx0fVxuXHRcdCN7X2dyaWRsZV9jbGFzc25hbWUoJGdyaWRsZS1kZWJ1Zy1jb2xvci1uYW1lLXBhdHRlcm4sICRzdGF0ZSwgNil9IHtcblx0XHRcdCN7JGdyaWRsZS1kZWJ1Zy1zZWxlY3Rvcn0ge1xuXHRcdFx0XHRiYWNrZ3JvdW5kLWNvbG9yIDogI2IyZDhlZTtcblx0XHRcdH1cblx0XHR9XG5cdH1cbn1cblxuXG4vLyBnZW5lcmF0ZSBzZXR0aW5ncyBqc29uIDpcbkBtaXhpbiBncmlkbGVfZ2VuZXJhdGVfanNvbl9zZXR0aW5ncygpIHtcblxuXHQvLyBzZXR0aW5ncyBjb250ZW50IDpcblx0JGdyaWRsZS1zZXR0aW5ncy1zdGF0ZXMgOiBcIntcIjtcblxuXHQvLyBnZW5lcmF0ZSBhbGwgY2xhc3NlcyBmb3IgZGlmZmVyZW50cyBtZWRpYSBxdWVyaWVzIDpcblx0JHN0YXRlc0NvdW50IDogbGVuZ3RoKCRfZ3JpZGxlX3N0YXRlcyk7XG5cdCRpIDogMDtcblx0QGVhY2ggJHN0YXRlTmFtZSwgJHN0YXRlIGluICRfZ3JpZGxlX3N0YXRlcyB7XG5cdFxuXHRcdCRuYW1lIDogJHN0YXRlTmFtZTtcblxuXHRcdCRncmlkbGUtc2V0dGluZ3Mtc3RhdGVzIDogXCIjeyRncmlkbGUtc2V0dGluZ3Mtc3RhdGVzfSBcXFwiI3skbmFtZX1cXFwiOntcIjtcblx0XG5cdFx0QGVhY2ggJHZhck5hbWUsICR2YXIgaW4gJHN0YXRlIHtcblxuXHRcdFx0JHZhbHVlIDogbnVsbDtcblx0XHRcdEBpZiAkdmFyTmFtZSA9PSBcInF1ZXJ5XCIge1xuXHRcdFx0XHQkdmFsdWUgOiBfZ3JpZGxlX2dldF9tZWRpYV9xdWVyeSgkc3RhdGVOYW1lKTtcblx0XHRcdH0gQGVsc2Uge1xuXHRcdFx0XHQkdmFsdWUgOiBtYXAtZ2V0KCRzdGF0ZSwkdmFyTmFtZSk7XG5cdFx0XHR9XG5cblx0XHRcdEBpZiAkdmFsdWUgPT0gbnVsbCB7XG5cdFx0XHRcdCRncmlkbGUtc2V0dGluZ3Mtc3RhdGVzIDogXCIjeyRncmlkbGUtc2V0dGluZ3Mtc3RhdGVzfSBcXFwiI3skdmFyTmFtZX1cXFwiIDogbnVsbCxcIjtcblx0XHRcdH0gQGVsc2VpZiB0eXBlLW9mKCR2YWx1ZSkgPT0gYm9vbCB7XG5cdFx0XHRcdCRncmlkbGUtc2V0dGluZ3Mtc3RhdGVzIDogXCIjeyRncmlkbGUtc2V0dGluZ3Mtc3RhdGVzfSBcXFwiI3skdmFyTmFtZX1cXFwiIDogI3skdmFsdWV9LFwiO1xuXHRcdFx0fSBAZWxzZSB7XG5cdFx0XHRcdCRncmlkbGUtc2V0dGluZ3Mtc3RhdGVzIDogXCIjeyRncmlkbGUtc2V0dGluZ3Mtc3RhdGVzfSBcXFwiI3skdmFyTmFtZX1cXFwiIDogXFxcIiN7JHZhbHVlfVxcXCIsXCI7XG5cdFx0XHR9XG5cdFx0fVxuXG5cdFx0JGdyaWRsZS1zZXR0aW5ncy1zdGF0ZXMgOiBcIiN7JGdyaWRsZS1zZXR0aW5ncy1zdGF0ZXN9IFxcXCJfZ3JpZGxlXFxcIiA6IHRydWVcIjtcblxuXHRcdEBpZiAkaSA+PSAkc3RhdGVzQ291bnQgLSAxIHtcblx0XHRcdCRncmlkbGUtc2V0dGluZ3Mtc3RhdGVzIDogXCIjeyRncmlkbGUtc2V0dGluZ3Mtc3RhdGVzfSB9XCI7XG5cdFx0fSBAZWxzZSB7XG5cdFx0XHQkZ3JpZGxlLXNldHRpbmdzLXN0YXRlcyA6IFwiI3skZ3JpZGxlLXNldHRpbmdzLXN0YXRlc30gfSxcIjtcblx0XHR9XG5cdFxuXHRcdC8vIHVwZGF0ZSBpIDpcblx0XHQkaSA6ICRpICsgMTtcblxuXHR9XG5cblx0IC8vIGdlbmVyYXRlIHNldHRpbmdzIGpzb24gOlxuXHQkZ3JpZGxlLXNldHRpbmdzLXN0YXRlcyA6IFwiI3skZ3JpZGxlLXNldHRpbmdzLXN0YXRlc319XCI7XG5cdCRncmlkbGUtc2V0dGluZ3MgOiBcIntcIjtcblx0JGdyaWRsZS1zZXR0aW5ncyA6IFwiI3skZ3JpZGxlLXNldHRpbmdzfSBcXFwidmVyc2lvblxcXCIgOiBcXFwiI3skX2dyaWRsZS12ZXJzaW9ufVxcXCJcIjtcblx0XG5cdC8vIHN0YXRlcyA6XG5cdCRncmlkbGUtc2V0dGluZ3MgOiBcIiN7JGdyaWRsZS1zZXR0aW5nc30sIFxcXCJzdGF0ZXNcXFwiIDogI3skZ3JpZGxlLXNldHRpbmdzLXN0YXRlc31cIjtcblx0XG5cdC8vIGRlYnVnIGRldmljZXMgOlxuXHQkZGVidWdfZGV2aWNlcyA6ICRfZ3JpZGxlX3N0YXRlc19kZWJ1Z19kZXZpY2VzO1xuXHRAaWYgbGVuZ3RoKCRfZ3JpZGxlX3N0YXRlc19kZWJ1Z19kZXZpY2VzKSA8PSAwIHtcblx0XHQkZGVidWdfZGV2aWNlcyA6IG51bGw7XG5cdH1cblx0Ly8gJGdyaWRsZS1zZXR0aW5ncyA6IFwiI3skZ3JpZGxlLXNldHRpbmdzfSwgXFxcImRlYnVnRGV2aWNlc1xcXCIgOiB7ICN7JGRlYnVnX2RldmljZXN9IH1cIjtcblxuXHQvLyBzZXR0aW5ncyA6XG5cdC8vICRncmlkbGUtc2V0dGluZ3MgOiBcIiN7JGdyaWRsZS1zZXR0aW5nc30sIFxcXCJjbGFzc1ByZWZpeFxcXCIgOiBcXFwiI3skZ3JpZGxlLWNsYXNzLXByZWZpeH1cXFwiXCI7XG5cdCRncmlkbGUtc2V0dGluZ3MgOiBcIiN7JGdyaWRsZS1zZXR0aW5nc30gfVwiO1xuXHQjZ3JpZGxlLXNldHRpbmdzIHtcblx0XHRjb250ZW50IDogJGdyaWRsZS1zZXR0aW5ncztcblx0fVxufVxuXG5cbi8vIGdyaWRsZSBtaXhpbiA6XG4vLyBHZW5lcmF0ZSBhbGwgdGhlIGNsYXNzZXMgbmVlZGVkIGZvciBhIGdyaWRcbkBtaXhpbiBncmlkbGVfZ2VuZXJhdGVfY2xhc3Nlcyhcblx0JHN0YXRlTmFtZSA6IG51bGwsXG5cdCR3aGF0IDogbnVsbCxcblx0JHNjb3BlIDogbnVsbFxuKSB7XG5cdC8vIGlmIHRoZSB3aGF0IHBhcmFtZXRlciBpcyBub3QgbnVsbCwgbWVhbiB0aGF0IHdlIG5lZWQgdG8gZ2VuZXJhdGUgb25seSBjZXJ0YWluIGNsYXNzZXMgaW4gYSBjZXJ0YWluIG9yZGVyIDpcblx0QGlmICR3aGF0XG5cdHtcblx0XHQvLyBsb29wIG9uIGVhY2ggd2hhdCBpdGVtIHRvIGdlbmVyYXRlIHRoZSBjb3JyZXNwb25kaW5nIGNsYXNzZXMgOlxuXHRcdEBlYWNoICR3IGluICR3aGF0XG5cdFx0e1xuXHRcdFx0Ly8gY2hlY2sgaWYgYSBzY29wZSBleGlzdCA6XG5cdFx0XHRAaWYgJHNjb3BlIHtcblx0XHRcdFx0Ly8gd3JhcHAgZ3JpZCBpbnRvIHNjb3BlIDpcblx0XHRcdFx0LiN7JHNjb3BlfSB7XG5cdFx0XHRcdFx0QGluY2x1ZGUgX2dyaWRsZV9nZW5lcmF0ZV9jbGFzc2VzKCRzdGF0ZU5hbWUsICggJHcgKSwgdHJ1ZSk7XG5cdFx0XHRcdH1cblx0XHRcdH0gQGVsc2Uge1xuXHRcdFx0XHQvLyBnZW5lcmF0ZSBjbGFzc2VzIDpcblx0XHRcdFx0QGluY2x1ZGUgX2dyaWRsZV9nZW5lcmF0ZV9jbGFzc2VzKCRzdGF0ZU5hbWUsICggJHcgKSwgZmFsc2UpO1xuXHRcdFx0fVxuXHRcdH1cblx0fVxuXHRAZWxzZVxuXHR7XG5cdFx0Ly8gZG9uJ3QgaGF2ZSBhbnkgXCJ3aGF0XCIgcGFyYW1ldGVyIHNvIGdlbmVyYXRlIGFsbCB0aGUgY2xhc3Nlc1xuXHRcdC8vIGNoZWNrIGlmIGEgc2NvcGUgZXhpc3QgOlxuXHRcdEBpZiAkc2NvcGUge1xuXHRcdFx0Ly8gd3JhcHAgZ3JpZCBpbnRvIHNjb3BlIDpcblx0XHRcdC4jeyRzY29wZX0ge1xuXHRcdFx0XHRAaW5jbHVkZSBfZ3JpZGxlX2dlbmVyYXRlX2NsYXNzZXMoJHN0YXRlTmFtZSwgbnVsbCwgdHJ1ZSk7XG5cdFx0XHR9XG5cdFx0fSBAZWxzZSB7XG5cdFx0XHQvLyBnZW5lcmF0ZSBjbGFzc2VzIDpcblx0XHRcdEBpbmNsdWRlIF9ncmlkbGVfZ2VuZXJhdGVfY2xhc3Nlcygkc3RhdGVOYW1lLCBudWxsLCBmYWxzZSk7XG5cdFx0fVxuXHR9XG59XG4kX2dyaWRsZV9nZW5lcmF0ZU9ubHlPbmNlIDogdHJ1ZTsgLy8ga2VlcCB0cmFjayBvZiBnZW5lcmF0ZSBvbmNlIGNsYXNzZXNcbkBtaXhpbiBfZ3JpZGxlX2dlbmVyYXRlX2NsYXNzZXMoXG5cdCRzdGF0ZU5hbWUgOiBudWxsLFxuXHQkd2hhdCA6IG51bGwsXG5cdCRoYXMtcGFyZW50IDogZmFsc2Vcbikge1xuIFxuXHQvLyBnZW5lcmF0ZSB0aGVzZSBjbGFzc2VzIG9ubHkgb25jZSA6XG5cdEBpZiAkX2dyaWRsZV9nZW5lcmF0ZU9ubHlPbmNlXG5cdHtcblxuXHRcdC8vIHVwZGF0ZSBzdGF0dXMgOlxuXHRcdCRfZ3JpZGxlX2dlbmVyYXRlT25seU9uY2UgOiBmYWxzZTtcblxuXHRcdC8vIHwgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cdFx0Ly8gfCBXaW5kb3dzIDggZml4XG5cdFx0Ly8gfCAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblx0XHRcblx0XHQvLyBXaW5kb3dzIDggZml4IGZvciBzbmFwIG1vZGUgOlxuXHRcdEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDQwMHB4KSB7XG5cdFx0XHRALW1zLXZpZXdwb3J0IHsgd2lkdGg6IGRldmljZS13aWR0aDsgfVxuXHRcdH1cblxuXG5cdFx0Ly8gfCAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblx0XHQvLyB8IENvbnRhaW5lclxuXHRcdC8vIHwgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cdCBcblx0XHQvLyBnZW5lcmF0ZSBjb250YWluZXIgY2xhc3MgOlxuXHRcdEBpZiAkd2hhdCA9PSBudWxsIG9yIGluZGV4KCR3aGF0LCBjb250YWluZXIpIG9yIGluZGV4KCR3aGF0LCBkZWZhdWx0KVxuXHRcdHtcblx0XHRcdCRjb250YWluZXItc2VsZWN0b3IgOiAoKTtcblx0XHRcdCRjb250YWluZXItc2VsZWN0b3IgOiBhcHBlbmQoICRjb250YWluZXItc2VsZWN0b3IsIHVucXVvdGUoXCIje19ncmlkbGVfY2xhc3NuYW1lKCRncmlkbGUtY29udGFpbmVyLW5hbWUtcGF0dGVybil9XCIpLCBjb21tYSk7XG5cdFx0XHQjeyRjb250YWluZXItc2VsZWN0b3J9IHtcblx0XHRcdFx0QGluY2x1ZGUgZ3JpZGxlX2NvbnRhaW5lcigpO1xuXHRcdFx0fVxuXHRcdH1cblxuXG5cdFx0Ly8gfCAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblx0XHQvLyB8IFBhcmVudCBzZWxlY3RvclxuXHRcdC8vIHwgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cblx0XHQvLyBwYXJlbnQgY29tbW9uIGNzcyA6XG5cdFx0QGlmICR3aGF0ID09IG51bGwgb3IgaW5kZXgoJHdoYXQsIHBhcmVudCkgb3IgaW5kZXgoJHdoYXQsIGRlZmF1bHQpXG5cdFx0e1xuXHRcdFx0JHBhcmVudFNlbGVjdG9yIDogX2dyaWRsZV9jbGFzc25hbWUoJGdyaWRsZS1wYXJlbnQtbmFtZS1wYXR0ZXJuLG51bGwsbnVsbCk7XG5cdFx0XHQjeyRwYXJlbnRTZWxlY3Rvcn0ge1xuXHRcdFx0XHRAZXh0ZW5kICVncmlkbGUtY2xlYXJmaXg7XG5cdFx0XHRcdEBleHRlbmQgJWdyaWRsZS1wYXJlbnQtY29tbW9uO1xuXHRcdFx0fVxuXHRcdH1cblxuXG5cdFx0Ly8gLy8gfCAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblx0XHQvLyAvLyB8IEpTT04gU2V0dGluZ3Ncblx0XHQvLyAvLyB8IC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXHQgXG5cdFx0Ly8gLy8gZ2VuZXJhdGUganNvbiBzZXR0aW5ncyA6XG5cdFx0QGlmICRncmlkbGUtZ2VuZXJhdGUtanNvbi1zZXR0aW5nc1xuXHRcdHtcblx0XHRcdEBpbmNsdWRlIGdyaWRsZV9nZW5lcmF0ZV9qc29uX3NldHRpbmdzKCk7XG5cdFx0fVxuXG5cdH1cblxuXG5cdC8vIHwgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cdC8vIHwgU2V0IHRoZSBsaXN0IG9mIHN0YXRlcyB0byBnZW5lcmF0ZVxuXHQvLyB8IC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXHQkc3RhdGVzIDogJF9ncmlkbGVfc3RhdGVzO1xuXHRAaWYgJHN0YXRlTmFtZSBhbmQgX2dyaWRsZV9oYXNfc3RhdGUoJHN0YXRlTmFtZSkge1xuXHRcdCRzdGF0ZXMgOiBtYXAtc2V0KCgpLCAkc3RhdGVOYW1lLCBfZ3JpZGxlX2dldF9zdGF0ZSgkc3RhdGVOYW1lKSk7XG5cdH1cblxuXG5cdC8vIHwgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cdC8vIHwgU3RvcmUgYWxsIHRoZSBnZW5lcmF0ZWQgY29tbW9uIHNlbGVjdG9yc1xuXHQvLyB8IC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG5cdC8vIGdlbmVyYXRlIGFsbCBzZWxlY3RvciBmb3IgZXh0ZW5kcyA6XG5cdCRncmlkLWNvbW1vbi1zZWxlY3RvciA6ICgpO1xuXHQkcHVzaC1jb21tb24tc2VsZWN0b3IgOiAoKTtcblx0JHB1bGwtY29tbW9uLXNlbGVjdG9yIDogKCk7XG5cdCRwcmVmaXgtY29tbW9uLXNlbGVjdG9yIDogKCk7XG5cdCRzdWZmaXgtY29tbW9uLXNlbGVjdG9yIDogKCk7XG5cblxuXHQvLyB8IC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXHQvLyB8IE1lZGlhIHF1ZXJpZXMgY2xhc3NlcyBjb21tb24gc2VsZWN0b3JzXG5cdC8vIHwgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cblx0Ly8gZ2VuZXJhdGUgYWxsIGNsYXNzZXMgZm9yIG1lZGlhIHF1ZXJpZXMgOlxuXHRAZWFjaCAkc3RhdGVOYW1lLCAkc3RhdGUgaW4gJHN0YXRlcyB7XG5cdFxuXHRcdC8vIHNldHVwIHZhcnMgOlxuXHRcdCRtZWRpYSA6ICRzdGF0ZU5hbWU7XG5cdFx0JGNsYXNzZXMgOiBtYXAtZ2V0KCRzdGF0ZSwgY2xhc3Nlcyk7XG5cdFx0JGNvbnRleHQgOiBtYXAtZ2V0KCRzdGF0ZSwgY29udGV4dCk7XG5cdFx0JG5hbWUtbXVsdGlwbGljYXRvciA6IG1hcC1nZXQoJHN0YXRlLCBuYW1lLW11bHRpcGxpY2F0b3IpO1xuXHRcdCRnZW5lcmF0ZS1wdXNoLWNsYXNzZXMgOiBfZ3JpZGxlX2dldF92YXJfdmFsdWUoZ2VuZXJhdGUtcHVzaC1jbGFzc2VzLCAkc3RhdGUpO1xuXHRcdCRnZW5lcmF0ZS1wdWxsLWNsYXNzZXMgOiBfZ3JpZGxlX2dldF92YXJfdmFsdWUoZ2VuZXJhdGUtcHVsbC1jbGFzc2VzLCAkc3RhdGUpO1xuXHRcdCRnZW5lcmF0ZS1wcmVmaXgtY2xhc3NlcyA6IF9ncmlkbGVfZ2V0X3Zhcl92YWx1ZShnZW5lcmF0ZS1wcmVmaXgtY2xhc3NlcywgJHN0YXRlKTtcblx0XHQkZ2VuZXJhdGUtc3VmZml4LWNsYXNzZXMgOiBfZ3JpZGxlX2dldF92YXJfdmFsdWUoZ2VuZXJhdGUtc3VmZml4LWNsYXNzZXMsICRzdGF0ZSk7XG5cblx0XHQvLyBnZW5lcmF0ZSBjbGFzc2VzIDogICBcblx0XHRAaWYgJGNsYXNzZXMgPT0gdHJ1ZSBhbmQgJGNvbnRleHQge1xuXG5cdFx0XHQvLyBnZXQgc3BlY2lhbHMgY29sdW1ucyA6XG5cdFx0XHQkY29sdW1uc01hcCA6IG1hcC1tZXJnZSgoKSwgJF9ncmlkbGVfY29sdW1ucyk7XG5cblx0XHRcdC8vIHJlZ2lzdGVyIGVhY2ggZGVmYXVsdCBjb2x1bW5zIDpcblx0XHRcdEBmb3IgJGogZnJvbSAwIHRocm91Z2ggJGNvbnRleHQge1xuXHRcdFx0XHRcblx0XHRcdFx0Ly8gbmFtZSA6XG5cdFx0XHRcdCRjb2x1bW5OYW1lIDogXCIjeyRqKiRuYW1lLW11bHRpcGxpY2F0b3J9XCI7XG5cdFx0XHRcdCRjb2x1bW5XaWR0aCA6ICRqICogJG5hbWUtbXVsdGlwbGljYXRvcjtcblxuXHRcdFx0XHQvLyAvLyBjcmVhdGUgYSBjb2x1bW4gOlxuXHRcdFx0XHQkY29sIDogX2dyaWRsZV9jcmVhdGVfY29sdW1uKCRjb2x1bW5OYW1lLCAkY29sdW1uV2lkdGgsICRjb250ZXh0LCAkbmFtZS1tdWx0aXBsaWNhdG9yKTtcblxuXHRcdFx0XHQvLyAvLyBhZGQgY29sdW1uIGluIGNvbHVtbnMgbWFwIDpcblx0XHRcdFx0JGNvbHVtbnNNYXAgOiBtYXAtc2V0KCRjb2x1bW5zTWFwLCAkY29sdW1uTmFtZSwgICRjb2wpO1xuXHRcdFx0fVxuXG5cdFx0XHQvLyBsb29wIG9uIGVhY2ggY29sdW1ucyB0byBnZW5lcmF0ZSBjb21tb24gc2VsZWN0b3IgOlxuXHRcdFx0QGVhY2ggJGNvbHVtbk5hbWUsICRjb2x1bW4gaW4gJGNvbHVtbnNNYXAge1xuXHRcdCBcdFxuXHRcdFx0XHQvLyBhZGQgc2VsZWN0b3IgOlxuXHRcdFx0XHRAaWYgJHdoYXQgPT0gbnVsbCBvciBpbmRleCgkd2hhdCwgZ3JpZCkgb3IgaW5kZXgoJHdoYXQsIGRlZmF1bHQpIHtcblx0XHRcdFx0XHQkZ3JpZC1jb21tb24tc2VsZWN0b3IgOiBhcHBlbmQoICRncmlkLWNvbW1vbi1zZWxlY3RvciwgdW5xdW90ZShcIiN7X2dyaWRsZV9jbGFzc25hbWUoJGdyaWRsZS1ncmlkLW5hbWUtcGF0dGVybiwgJG1lZGlhLCAkY29sdW1uTmFtZSl9XCIpLCBjb21tYSApO1xuXHRcdFx0XHR9XG5cdFx0XHRcdEBpZiAkZ2VuZXJhdGUtcHVzaC1jbGFzc2VzIGFuZCAoJHdoYXQgPT0gbnVsbCBvciBpbmRleCgkd2hhdCwgcHVzaCkgb3IgaW5kZXgoJHdoYXQsIGRlZmF1bHQpKSB7XG5cdFx0XHRcdFx0JHB1c2gtY29tbW9uLXNlbGVjdG9yIDogYXBwZW5kKCAkcHVzaC1jb21tb24tc2VsZWN0b3IsIHVucXVvdGUoXCIje19ncmlkbGVfY2xhc3NuYW1lKCRncmlkbGUtcHVzaC1uYW1lLXBhdHRlcm4sICRtZWRpYSwgJGNvbHVtbk5hbWUpfVwiKSwgY29tbWEgKTtcblx0XHRcdFx0fVxuXHRcdFx0XHRAaWYgJGdlbmVyYXRlLXB1bGwtY2xhc3NlcyBhbmQgKCR3aGF0ID09IG51bGwgb3IgaW5kZXgoJHdoYXQsIHB1bGwpIG9yIGluZGV4KCR3aGF0LCBkZWZhdWx0KSkge1xuXHRcdFx0XHRcdCRwdWxsLWNvbW1vbi1zZWxlY3RvciA6IGFwcGVuZCggJHB1bGwtY29tbW9uLXNlbGVjdG9yLCB1bnF1b3RlKFwiI3tfZ3JpZGxlX2NsYXNzbmFtZSgkZ3JpZGxlLXB1bGwtbmFtZS1wYXR0ZXJuLCAkbWVkaWEsICRjb2x1bW5OYW1lKX1cIiksIGNvbW1hICk7XG5cdFx0XHRcdH1cblx0XHRcdFx0QGlmICRnZW5lcmF0ZS1wcmVmaXgtY2xhc3NlcyBhbmQgKCR3aGF0ID09IG51bGwgb3IgaW5kZXgoJHdoYXQsIHByZWZpeCkgb3IgaW5kZXgoJHdoYXQsIGRlZmF1bHQpKSB7XG5cdFx0XHRcdFx0JHByZWZpeC1jb21tb24tc2VsZWN0b3IgOiBhcHBlbmQoICRwcmVmaXgtY29tbW9uLXNlbGVjdG9yLCB1bnF1b3RlKFwiI3tfZ3JpZGxlX2NsYXNzbmFtZSgkZ3JpZGxlLXByZWZpeC1uYW1lLXBhdHRlcm4sICRtZWRpYSwgJGNvbHVtbk5hbWUpfVwiKSwgY29tbWEgKTtcblx0XHRcdFx0fVxuXHRcdFx0XHRAaWYgJGdlbmVyYXRlLXN1ZmZpeC1jbGFzc2VzIGFuZCAoJHdoYXQgPT0gbnVsbCBvciBpbmRleCgkd2hhdCwgc3VmZml4KSBvciBpbmRleCgkd2hhdCwgZGVmYXVsdCkpIHtcblx0XHRcdFx0XHQkc3VmZml4LWNvbW1vbi1zZWxlY3RvciA6IGFwcGVuZCggJHN1ZmZpeC1jb21tb24tc2VsZWN0b3IsIHVucXVvdGUoXCIje19ncmlkbGVfY2xhc3NuYW1lKCRncmlkbGUtc3VmZml4LW5hbWUtcGF0dGVybiwgJG1lZGlhLCAkY29sdW1uTmFtZSl9XCIpLCBjb21tYSApO1xuXHRcdFx0XHR9XG5cdFx0XHR9XG5cdFx0fVxuXHR9XG4gXG5cdC8vIGNvbW1vbiBjc3MgOlxuXHRAaWYgICR3aGF0ID09IG51bGwgb3IgaW5kZXgoJHdoYXQsIGdyaWQpIG9yIGluZGV4KCR3aGF0LCBkZWZhdWx0KSB7XG5cdFx0I3skZ3JpZC1jb21tb24tc2VsZWN0b3J9IHtcblx0XHRcdEBpbmNsdWRlIF9ncmlkbGVfZ3JpZF9jb21tb24oKTtcblx0XHR9XG5cdH1cblx0QGlmICAkd2hhdCA9PSBudWxsIG9yIGluZGV4KCR3aGF0LCBwdXNoKSBvciBpbmRleCgkd2hhdCwgZGVmYXVsdCkge1xuXHRcdCN7JHB1c2gtY29tbW9uLXNlbGVjdG9yfSB7XG5cdFx0XHRAaW5jbHVkZSBfZ3JpZGxlX3B1c2hfY29tbW9uKCk7XG5cdFx0fVxuXHR9XG5cdEBpZiAgJHdoYXQgPT0gbnVsbCBvciBpbmRleCgkd2hhdCwgcHVsbCkgb3IgaW5kZXgoJHdoYXQsIGRlZmF1bHQpIHtcblx0XHQjeyRwdWxsLWNvbW1vbi1zZWxlY3Rvcn0ge1xuXHRcdFx0QGluY2x1ZGUgX2dyaWRsZV9wdWxsX2NvbW1vbigpO1xuXHRcdH1cblx0fVxuXHRAaWYgICR3aGF0ID09IG51bGwgb3IgaW5kZXgoJHdoYXQsIHByZWZpeCkgb3IgaW5kZXgoJHdoYXQsIGRlZmF1bHQpIHtcblx0XHQjeyRwcmVmaXgtY29tbW9uLXNlbGVjdG9yfSB7XG5cdFx0XHRAaW5jbHVkZSBfZ3JpZGxlX3ByZWZpeF9jb21tb24oKTtcblx0XHR9XG5cdH1cblx0QGlmICAkd2hhdCA9PSBudWxsIG9yIGluZGV4KCR3aGF0LCBzdWZmaXgpIG9yIGluZGV4KCR3aGF0LCBkZWZhdWx0KSB7XG5cdFx0I3skc3VmZml4LWNvbW1vbi1zZWxlY3Rvcn0ge1xuXHRcdFx0QGluY2x1ZGUgX2dyaWRsZV9zdWZmaXhfY29tbW9uKCk7XG5cdFx0fVxuXHR9XG5cblxuXHQvLyB8IC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXHQvLyB8IE1lZGlhIHF1ZXJpZXMgY2xhc3Nlc1xuXHQvLyB8IC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuIFxuXHQvLyBnZW5lcmF0ZSBhbGwgY2xhc3NlcyBmb3IgZGlmZmVyZW50cyBtZWRpYSBxdWVyaWVzIDpcblx0QGVhY2ggJHN0YXRlTmFtZSwgJHN0YXRlIGluICRzdGF0ZXMge1xuXHRcdFxuXHRcdC8vIHNldHVwIHZhcnMgOlxuXHRcdCRjbGFzc2VzIDogX2dyaWRsZV9nZXRfdmFyX3ZhbHVlKGNsYXNzZXMsICRzdGF0ZSk7XG5cdFx0JGNvbnRleHQgOiBfZ3JpZGxlX2dldF92YXJfdmFsdWUoY29udGV4dCwgJHN0YXRlKTtcblx0XHQkbmFtZS1tdWx0aXBsaWNhdG9yIDogX2dyaWRsZV9nZXRfdmFyX3ZhbHVlKG5hbWUtbXVsdGlwbGljYXRvciwgJHN0YXRlKTtcblx0XHQkZ2VuZXJhdGUtcHVzaC1jbGFzc2VzIDogX2dyaWRsZV9nZXRfdmFyX3ZhbHVlKGdlbmVyYXRlLXB1c2gtY2xhc3NlcywgJHN0YXRlKTtcblx0XHQkZ2VuZXJhdGUtcHVsbC1jbGFzc2VzIDogX2dyaWRsZV9nZXRfdmFyX3ZhbHVlKGdlbmVyYXRlLXB1bGwtY2xhc3NlcywgJHN0YXRlKTtcblx0XHQkZ2VuZXJhdGUtcHJlZml4LWNsYXNzZXMgOiBfZ3JpZGxlX2dldF92YXJfdmFsdWUoZ2VuZXJhdGUtcHJlZml4LWNsYXNzZXMsICRzdGF0ZSk7XG5cdFx0JGdlbmVyYXRlLXN1ZmZpeC1jbGFzc2VzIDogX2dyaWRsZV9nZXRfdmFyX3ZhbHVlKGdlbmVyYXRlLXN1ZmZpeC1jbGFzc2VzLCAkc3RhdGUpO1xuXHRcdCRnZW5lcmF0ZS1oZWxwZXJzLWNsYXNzZXMgOiBfZ3JpZGxlX2dldF92YXJfdmFsdWUoZ2VuZXJhdGUtaGVscGVycy1jbGFzc2VzLCAkc3RhdGUpO1xuXG5cdFx0Ly8gZ2VuZXJhdGUgYWxsIG1lZGlhIHF1ZXJpZXMgZ3JpZCBjbGFzc2VzIDpcblx0XHRAaWYgJGNsYXNzZXMgPT0gdHJ1ZSB7XG5cblx0XHRcdC8vIHBhcmVudCBjb21tb24gY3NzIDpcblx0XHRcdCRwYXJlbnRTZWxlY3RvciA6IF9ncmlkbGVfY2xhc3NuYW1lKCRncmlkbGUtcGFyZW50LW5hbWUtcGF0dGVybiwkc3RhdGVOYW1lLG51bGwpO1xuXHRcdFx0I3skcGFyZW50U2VsZWN0b3J9IHtcblx0XHRcdFx0QGV4dGVuZCAlZ3JpZGxlLWNsZWFyZml4O1xuXHRcdFx0XHRAZXh0ZW5kICVncmlkbGUtcGFyZW50LWNvbW1vbjtcblx0XHRcdH1cblxuXHRcdFx0Ly8gZ2VuZXJhdGUgYWxsIHRoZSBjbGFzc2VzIDpcblx0XHRcdEBpbmNsdWRlIGdyaWRsZV9zdGF0ZSgkc3RhdGVOYW1lLCAkaGFzLXBhcmVudCkge1xuXHRcdCBcblx0XHRcdFx0Ly8gZ2V0IHNwZWNpYWxzIGNvbHVtbnMgOlxuXHRcdFx0XHQkY29sdW1uc01hcCA6IG1hcC1tZXJnZSgoKSwgJF9ncmlkbGVfY29sdW1ucyk7XG5cblx0XHRcdFx0Ly8gcmVnaXN0ZXIgZWFjaCBkZWZhdWx0IGNvbHVtbnMgOlxuXHRcdFx0XHRAZm9yICRqIGZyb20gMCB0aHJvdWdoICRjb250ZXh0IHtcblx0XHRcdFx0XHRcblx0XHRcdFx0XHQvLyBuYW1lIDpcblx0XHRcdFx0XHQkY29sdW1uTmFtZSA6IFwiI3skaiokbmFtZS1tdWx0aXBsaWNhdG9yfVwiO1xuXHRcdFx0XHRcdCRjb2x1bW5XaWR0aCA6ICRqICogJG5hbWUtbXVsdGlwbGljYXRvcjtcblxuXHRcdFx0XHRcdC8vIC8vIGNyZWF0ZSBhIGNvbHVtbiA6XG5cdFx0XHRcdFx0JGNvbCA6IF9ncmlkbGVfY3JlYXRlX2NvbHVtbigkY29sdW1uTmFtZSwgJGNvbHVtbldpZHRoLCAkY29udGV4dCwgJG5hbWUtbXVsdGlwbGljYXRvcik7XG5cblx0XHRcdFx0XHQvLyAvLyBhZGQgY29sdW1uIGluIGNvbHVtbnMgbWFwIDpcblx0XHRcdFx0XHQkY29sdW1uc01hcCA6IG1hcC1zZXQoJGNvbHVtbnNNYXAsICRjb2x1bW5OYW1lLCAgJGNvbCk7XG5cdFx0XHRcdH1cblxuXHRcdFx0XHQvLyBnZW5lcmF0ZSBhbGwgY2xhc3NlcyBmb3IgY29sdW1ucyA6XG5cdFx0XHRcdEBlYWNoICRjb2x1bW5OYW1lLCAkY29sdW1uIGluICRjb2x1bW5zTWFwIHtcblxuXHRcdFx0XHRcdC8vIHZhcmlhYmxlcyA6XG5cdFx0XHRcdFx0JGNvbHVtbnNDb3VudCA6IG1hcC1nZXQoJGNvbHVtbiwgY29sdW1ucyk7XG5cdFx0XHRcdFx0JGNvbHVtbnNDb250ZXh0IDogbWFwLWdldCgkY29sdW1uLCBjb250ZXh0KTtcblx0XHRcdFx0XHQkY29sdW1uc05hbWVNdWx0aXBsaWNhdG9yIDogbWFwLWdldCgkY29sdW1uLCBuYW1lLW11bHRpcGxpY2F0b3IpO1xuXG5cdFx0XHRcdFx0Ly8gZXh0ZW5kIGNvbnRleHQgaW4gc3RhdGUgKGZvciBjb2x1bW5zKSA6XG5cdFx0XHRcdFx0JGV4dGVuZGVkU3RhdGUgOiBtYXAtbWVyZ2UoJHN0YXRlLCAoXG5cdFx0XHRcdFx0XHRjb250ZXh0IDogJGNvbHVtbnNDb250ZXh0LFxuXHRcdFx0XHRcdFx0bmFtZS1tdWx0aXBsaWNhdG9yIDogJGNvbHVtbnNOYW1lTXVsdGlwbGljYXRvciAvLyBpbmplY3QgdGhlIG5hbWUgbXVsdGlwbGljYXRvciBoZXJlIGdldHRlZCBmcm9tIGNvbHVtbiB0byBoYW5kbGUgY3VzdG9tIHJlZ2lzdGVyZWQgY29sdW1uc1xuXHRcdFx0XHRcdCkpO1xuXG5cdFx0XHRcdFx0Ly8gY2xhc3NlcyA6XG5cdFx0XHRcdFx0QGlmICR3aGF0ID09IG51bGwgb3IgaW5kZXgoJHdoYXQsIGdyaWQpIG9yIGluZGV4KCR3aGF0LCBkZWZhdWx0KSB7XG5cdFx0XHRcdFx0XHQje19ncmlkbGVfY2xhc3NuYW1lKCRncmlkbGUtZ3JpZC1uYW1lLXBhdHRlcm4sICRzdGF0ZU5hbWUsICRjb2x1bW5OYW1lKX0ge1xuXHRcdFx0XHRcdFx0XHRAaW5jbHVkZSBfZ3JpZGxlKCRjb2x1bW5zQ291bnQsICRleHRlbmRlZFN0YXRlKTtcblx0XHRcdFx0XHRcdH1cblx0XHRcdFx0XHR9XG5cdFx0XHRcdFx0QGlmICRnZW5lcmF0ZS1wdXNoLWNsYXNzZXMgPT0gdHJ1ZSBhbmQgKCR3aGF0ID09IG51bGwgb3IgaW5kZXgoJHdoYXQsIHB1c2gpIG9yIGluZGV4KCR3aGF0LCBkZWZhdWx0KSkge1xuXHRcdFx0XHRcdFx0I3tfZ3JpZGxlX2NsYXNzbmFtZSgkZ3JpZGxlLXB1c2gtbmFtZS1wYXR0ZXJuLCAkc3RhdGVOYW1lLCAkY29sdW1uTmFtZSl9IHtcblx0XHRcdFx0XHRcdFx0QGluY2x1ZGUgX2dyaWRsZV9wdXNoKCRjb2x1bW5zQ291bnQsICRleHRlbmRlZFN0YXRlKTtcblx0XHRcdFx0XHRcdH1cblx0XHRcdFx0XHR9XG5cdFx0XHRcdFx0QGlmICRnZW5lcmF0ZS1wdWxsLWNsYXNzZXMgPT0gdHJ1ZSBhbmQgKCR3aGF0ID09IG51bGwgb3IgaW5kZXgoJHdoYXQsIHB1bGwpIG9yIGluZGV4KCR3aGF0LCBkZWZhdWx0KSkge1xuXHRcdFx0XHRcdFx0I3tfZ3JpZGxlX2NsYXNzbmFtZSgkZ3JpZGxlLXB1bGwtbmFtZS1wYXR0ZXJuLCAkc3RhdGVOYW1lLCAkY29sdW1uTmFtZSl9IHtcblx0XHRcdFx0XHRcdFx0QGluY2x1ZGUgX2dyaWRsZV9wdWxsKCRjb2x1bW5zQ291bnQsICRleHRlbmRlZFN0YXRlKTtcblx0XHRcdFx0XHRcdH1cblx0XHRcdFx0XHR9XG5cdFx0XHRcdFx0QGlmICRnZW5lcmF0ZS1wcmVmaXgtY2xhc3NlcyA9PSB0cnVlIGFuZCAoJHdoYXQgPT0gbnVsbCBvciBpbmRleCgkd2hhdCwgcHJlZml4KSBvciBpbmRleCgkd2hhdCwgZGVmYXVsdCkpIHtcblx0XHRcdFx0XHRcdCN7X2dyaWRsZV9jbGFzc25hbWUoJGdyaWRsZS1wcmVmaXgtbmFtZS1wYXR0ZXJuLCAkc3RhdGVOYW1lLCAkY29sdW1uTmFtZSl9IHtcblx0XHRcdFx0XHRcdFx0QGluY2x1ZGUgX2dyaWRsZV9wcmVmaXgoJGNvbHVtbnNDb3VudCwgJGV4dGVuZGVkU3RhdGUpO1xuXHRcdFx0XHRcdFx0fVxuXHRcdFx0XHRcdH1cblx0XHRcdFx0XHRAaWYgJGdlbmVyYXRlLXN1ZmZpeC1jbGFzc2VzID09IHRydWUgYW5kICgkd2hhdCA9PSBudWxsIG9yIGluZGV4KCR3aGF0LCBzdWZmaXgpIG9yIGluZGV4KCR3aGF0LCBkZWZhdWx0KSkge1xuXHRcdFx0XHRcdFx0I3tfZ3JpZGxlX2NsYXNzbmFtZSgkZ3JpZGxlLXN1ZmZpeC1uYW1lLXBhdHRlcm4sICRzdGF0ZU5hbWUsICRjb2x1bW5OYW1lKX0ge1xuXHRcdFx0XHRcdFx0XHRAaW5jbHVkZSBfZ3JpZGxlX3N1ZmZpeCgkY29sdW1uc0NvdW50LCAkZXh0ZW5kZWRTdGF0ZSk7XG5cdFx0XHRcdFx0XHR9ICAgXG5cdFx0XHRcdFx0fVxuXHRcdFx0XHR9XG4gXG5cdFx0XHRcdC8vIG1lZGlhIHF1ZXJpZXMgaGVscGVycyBjbGFzc2VzIDpcblx0XHRcdFx0QGlmICRnZW5lcmF0ZS1oZWxwZXJzLWNsYXNzZXMgPT0gdHJ1ZSB7XG5cdFx0XHRcdFx0QGluY2x1ZGUgX2dyaWRsZV9nZW5lcmF0ZV9oZWxwZXJfY2xhc3Nlcygkc3RhdGVOYW1lLCAkd2hhdCk7XG5cdFx0XHRcdH1cblx0XHRcdH1cblx0XHR9XG5cdH1cbn0iLCIvLyB8LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4vLyB8LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4vLyB8IEZ1bmN0aW9uc1xuLy8gfC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuLy8gfC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4vKipcbiAqIFN0ciByZXBsYWNlXG4gKlxuICogQHBhcmFtIHtzdHJpbmd9ICAkc3RyaW5nICAgIFN0cmluZyB0aGF0IHlvdSB3YW50IHRvIHJlcGxhY2VcbiAqIEBwYXJhbSB7c3RyaW5nfSAgJHN1YnN0ciAgICBTdHJpbmcgdGhhdCBpcyB0byBiZSByZXBsYWNlZCBieSBgJG5ld3N1YnN0cmBcbiAqIEBwYXJhbSB7c3RyaW5nfSAgJG5ld3N1YnN0ciBTdHJpbmcgdGhhdCByZXBsYWNlcyBgJHN1YnN0cmBcbiAqIEBwYXJhbSB7bnVtYmVyKn0gJGFsbCAgICAgICBGbGFnIGZvciByZXBsYWNlaW5nIGFsbCAoMSspIG9yIG5vdCAoMClcbiAqIEByZXR1cm4ge3N0cmluZ31cbiAqL1xuQGZ1bmN0aW9uIHN0ci1yZXBsYWNlKCRzdHJpbmcsICRzdWJzdHIsICRuZXdzdWJzdHIsICRhbGw6IDApIHtcblx0JHBvc2l0aW9uLWZvdW5kOiBzdHItaW5kZXgoJHN0cmluZywgJHN1YnN0cik7XG5cdCRwcm9jZXNzZWQ6ICgpO1xuXG5cdEB3aGlsZSAoJHBvc2l0aW9uLWZvdW5kIGFuZCAkcG9zaXRpb24tZm91bmQgPiAwKSB7XG5cdFx0JGxlbmd0aC1zdWJzdHI6IHN0ci1sZW5ndGgoJHN1YnN0cik7XG5cdFx0JHByb2Nlc3NlZDogYXBwZW5kKCRwcm9jZXNzZWQsIHN0ci1zbGljZSgkc3RyaW5nLCAwLCAkcG9zaXRpb24tZm91bmQgLSAxKSk7XG5cdFx0JHByb2Nlc3NlZDogYXBwZW5kKCRwcm9jZXNzZWQsICRuZXdzdWJzdHIpO1xuXHRcdCRzdHJpbmc6IHN0ci1zbGljZSgkc3RyaW5nLCAkcG9zaXRpb24tZm91bmQgKyAkbGVuZ3RoLXN1YnN0cik7XG5cblx0XHQkcG9zaXRpb24tZm91bmQ6IDA7XG5cblx0XHRAaWYgKCRhbGwgPiAwKSB7XG5cdFx0XHQkcG9zaXRpb24tZm91bmQ6IHN0ci1pbmRleCgkc3RyaW5nLCAkc3Vic3RyKTtcblx0XHR9XG5cdH1cblxuXHQkcHJvY2Vzc2VkOiBhcHBlbmQoJHByb2Nlc3NlZCwgJHN0cmluZyk7XG5cdCRzdHJpbmc6IFwiXCI7XG5cblx0QGVhY2ggJHMgaW4gJHByb2Nlc3NlZCB7XG5cdFx0JHN0cmluZzogI3skc3RyaW5nfSN7JHN9O1xuXHR9XG5cblx0QHJldHVybiAkc3RyaW5nO1xufVxuXG4vKipcbiAqIE1hcCBzZXRcbiAqXG4gKiBAcGFyYW0gXHRNYXAgXHQkbWFwIFx0XHRUaGUgbWFwIHRvIHVzZVxuICogQHBhcmFtIFx0U3RyaW5nIFx0JGtleSBcdFx0VGhlIGtleSB0byB1cGRhdGVcbiAqIEBwYXJhbSBcdE1peGVkIFx0JHZhbHVlIFx0XHRUaGUgbmV3IHZhbHVlXG4gKiBAcmV0dXJuIFx0TWFwIFx0XHRcdFRoZSBuZXcgbWFwXG4gKi9cbkBmdW5jdGlvbiBtYXAtc2V0KCRtYXAsICRrZXksICR2YWx1ZSkge1xuXHQkbmV3OiAoJGtleTogJHZhbHVlKTtcblx0QHJldHVybiBtYXAtbWVyZ2UoJG1hcCwgJG5ldyk7XG59XG5cblxuLyoqXG4gKiBHZXQgdGhlIGNvbHVtbiB3aWR0aCBpbiBwZXJjZW50IGZvciB0aGUgZ2xvYmFsIG9yIGEgc3BlY2lmaWMgY29udGV4dFxuICpcbiAqIEBwYXJhbSBcdGludCBcdFx0JGNvbHVtbnMgXHRcdFx0XHRcdFRoZSBudW1iZXIgb2YgY29sdW1ucyB0byBjYWxjdWxhdGVcbiAqIEBwYXJhbSBcdGludCBcdFx0JGNvbnRleHQgOiAkZ3JpZGxlLWNvbHVtbnMtY291bnQgXHQgXHRUaGUgY29udGV4dCB0byB1c2VcbiAqIEByZXR1cm4gXHRwZXJjZW50YWdlIFx0XHRcdFx0XHRcdFx0VGhlIHdpZHRoIGluIHBlcmNlbnRcbiAqL1xuQGZ1bmN0aW9uIGdyaWRsZV9nZXRfY29sdW1uX3dpZHRoKFxuXHQkY29sdW1ucyA6IDEsXG5cdCRzdGF0ZU1hcC1vci1zdGF0ZU5hbWUgOiBudWxsXG4pIHtcblx0QHJldHVybiBwZXJjZW50YWdlKDEgLyAkY29udGV4dCAqICRjb2x1bW5zKTtcbn1cblxuXG4vKipcbiAqICBHZXQgYSBzdGF0ZSBtYXBcbiAqXG4gKiBAcGFyYW0gXHRzdHJpbmcgXHRcdCRuYW1lIFx0XHRUaGUgbmFtZSBvZiB0aGUgc3RhdGUgdG8gZ2V0XG4gKiBAcmV0dXJuIFx0bWFwIFx0XHRcdFx0QSBzdGF0ZSBtYXAgb2JqZWN0XG4gKi9cbkBmdW5jdGlvbiBfZ3JpZGxlX2dldF9zdGF0ZShcblx0JHN0YXRlTWFwLW9yLXN0YXRlTmFtZVxuKSB7XG5cdC8vIGNoZWNrIGlmIGhhcyBhIHN0YXRlIG5hbWVkIGxpa2UgdGhpc1xuXHRAaWYgKHR5cGUtb2YoJHN0YXRlTWFwLW9yLXN0YXRlTmFtZSkgPT0gc3RyaW5nXG5cdFx0YW5kICBtYXAtaGFzLWtleSgkX2dyaWRsZV9zdGF0ZXMsIHVucXVvdGUoXCIjeyRzdGF0ZU1hcC1vci1zdGF0ZU5hbWV9XCIpKSlcblx0e1xuXHRcdEByZXR1cm4gbWFwLWdldCgkX2dyaWRsZV9zdGF0ZXMsIHVucXVvdGUoXCIjeyRzdGF0ZU1hcC1vci1zdGF0ZU5hbWV9XCIpKTtcblx0fVxuXG5cdC8vIGEgbWFwIGlzIHBhc3NlZCwgc28gaXQncyBhIHN0YXRlIGhpbXNlbGZcblx0QGlmICRzdGF0ZU1hcC1vci1zdGF0ZU5hbWVcblx0XHRhbmQgdHlwZS1vZigkc3RhdGVNYXAtb3Itc3RhdGVOYW1lKSA9PSBtYXBcblx0e1xuXHRcdEByZXR1cm4gbWFwLW1lcmdlKCRfZ3JpZGxlLXNldHRpbmdzLCAkc3RhdGVNYXAtb3Itc3RhdGVOYW1lKTtcblx0fVxuXG5cdC8vIHJldHVybiB0aGUgZGVmYXVsdCBvbmUgaWYgZXhpc3Rcblx0QGlmIG1hcC1oYXMta2V5KCRfZ3JpZGxlX3N0YXRlcywgZGVmYXVsdClcblx0e1xuXHRcdEByZXR1cm4gbWFwLWdldCgkX2dyaWRsZV9zdGF0ZXMsIGRlZmF1bHQpO1xuXHR9XG5cblx0Ly8gbm90aGluZyBmaW5kZWQsIHJldHVybiB0aGUgZGVmYXVsdCBzdGF0ZVxuXHRAcmV0dXJuICRfZ3JpZGxlLXNldHRpbmdzO1xufVxuXG5cbi8qKlxuICogQ2hlY2sgaWYgYSBzdGF0ZSBleGlzdCA6XG4gKlxuICogQHBhcmFtIFx0c3RyaW5nIFx0XHQkbmFtZSBcdFx0VGhlIG5hbWUgb2YgdGhlIHN0YXRlIHRvIGNoZWNrXG4gKiBAcmV0dXJuIFx0Qm9vbGVhbiBcdFx0XHR0cnVlIGlzIGV4aXN0XG4gKi9cbkBmdW5jdGlvbiBfZ3JpZGxlX2hhc19zdGF0ZShcblx0JHN0YXRlTmFtZVxuKSB7XG5cdEBpZiBtYXAtaGFzLWtleSgkX2dyaWRsZV9zdGF0ZXMsIHVucXVvdGUoXCIjeyRzdGF0ZU5hbWV9XCIpKSB7XG5cdFx0QHJldHVybiB0cnVlO1xuXHR9IEBlbHNlIHtcblx0XHRAcmV0dXJuIGZhbHNlO1xuXHR9XG59XG5cblxuLyoqXG4gKiBHZXQgdGhlIG1lZGlhIHF1ZXJpZXMgdmFyaWFibGVzIDpcbiAqXG4gKiBAcGFyYW0gXHRpbnQgXHRcdCRpbmRleCBcdCBcdFRoZSBtZWRpYSBxdWVyeSBpbmRlc1xuICogQHBhcmFtIFx0U3RyaW5nIFx0XHQkdmFyIFx0XHRUaGUgbWVkaWEgcXVlcnkgdmFyaWFibGUgbmFtZVxuICogQHJldHVybiBcdFN0cmluZ3xpbnQgXHRcdFx0VGhlIHZhcmlhYmxlIHZhbHVlXG4gKi9cbkBmdW5jdGlvbiBfZ3JpZGxlX2dldF9zdGF0ZV92YXIoXG5cdCRzdGF0ZU5hbWUsXG5cdCR2YXIgXHQ6IFwibmFtZVwiXG4pIHtcblxuXHQvLyBnZXQgdGhlIHN0YXRlIDpcblx0JHN0YXRlIDogX2dyaWRsZV9nZXRfc3RhdGUoJHN0YXRlTmFtZSk7XG5cblx0Ly8gY2hlY2sgaWcgc3RhdGUgYW5kIGlmIGhhcyB0aGUgdmFyaWFibGUgOlxuXHRAaWYgJHN0YXRlXG5cdFx0ICBhbmQgbWFwLWhhcy1rZXkoJHN0YXRlLHVucXVvdGUoXCIjeyR2YXJ9XCIpKVxuXHR7XG5cdFx0QHJldHVybiBtYXAtZ2V0KCRzdGF0ZSx1bnF1b3RlKFwiI3skdmFyfVwiKSk7XG5cdH1cblxuXHQvLyBub3RoaW5nIGdldHRlZCA6XG5cdEByZXR1cm4gbnVsbDtcbn1cblxuXG4vKipcbiAqIEdldCBhIHZhcmlhYmxlXG4gKlxuICogQHBhcmFtIFx0U3RyaW5nIFx0XHQkdmFyTmFtZSBcdFx0XHRcdFRoZSB2YXJpYWJsZSBuYW1lXG4gKiBAcGFyYW0gIFx0U3RyaW5nIFx0XHQkc3RhdGVNYXAtb3Itc3RhdGVOYW1lIFx0IFx0VGhlIHN0YXRlIG5hbWUgb3IgYSBtYXAgc3RhdGUgdmFsdWVcbiAqIEByZXR1cm4gXHRNaXhlZCBcdFx0XHRcdFx0XHRcdFRoZSBmaW5kZWQgdmFsdWVcbiAqL1xuQGZ1bmN0aW9uIF9ncmlkbGVfZ2V0X3Zhcl92YWx1ZShcblx0JHZhck5hbWUsXG5cdCRzdGF0ZU1hcC1vci1zdGF0ZU5hbWUgOiBudWxsXG4pIHtcblx0Ly8gaWYgaXMgYSBzdGF0ZSA6XG5cdCRzdGF0ZSA6IG51bGw7XG5cblx0Ly8gZ2V0IHRoZSBzdGF0ZSAoaWYgbm8gc3RhdGUgZmluZCwgcmV0dXJuIHRoZSBkZWZhdWx0IG9uZSkgOlxuXHQkc3RhdGUgOiBfZ3JpZGxlX2dldF9zdGF0ZSgkc3RhdGVNYXAtb3Itc3RhdGVOYW1lKTtcblxuXHQvLyBleHRlbmQgZGVmYXVsdCBzdGF0ZSB3aXRoIGdpdmVuIHN0YXRlIDpcblx0JHByb3BzIDogbWFwLW1lcmdlKCRfZ3JpZGxlLXNldHRpbmdzLCAkc3RhdGUpO1xuXG5cdEBpZiBtYXAtaGFzLWtleSgkcHJvcHMsIHVucXVvdGUoXCIjeyR2YXJOYW1lfVwiKSkge1xuXHRcdEByZXR1cm4gbWFwLWdldCgkc3RhdGUsIHVucXVvdGUoXCIjeyR2YXJOYW1lfVwiKSk7XG5cdH1cblx0XG5cdC8vIG5vdGhpbmcgZmluZGVkIDpcblx0QHJldHVybiBudWxsO1xufVxuXG5cbi8qKlxuICogU2V0IGEgdmFyaWFibGUgaW4gYSBzdGF0ZVxuICogQHBhcmFtIFx0TWl4ZWQgJHN0YXRlTmFtZS1vci1zdGF0ZUluZGV4IFx0VGhlIHN0YXRlIG5hbWUgb2Ygc3RhdGUgaW5kZXhcbiAqIEBwYXJhbSAgXHRTdHJpbmcgJHZhciAgICAgICAgICAgICAgICAgICAgXHRcdFZhcmlhYmxlIG5hbWUgdG8gYXNzaWduXG4gKiBAcGFyYW0gIFx0TWl4ZWQgJG5ld1ZhbHVlICAgICAgICAgIFx0XHRUaGUgbmV3IHZhbHVlIHRvIGFzc2lnblxuICogQHJldHVybiBcdExpc3QgICAgICAgICAgICAgICAgICAgICAgICAgXHRcdFx0VGhlIHN0YXRlcyBsaXN0IChmdWxsKVxuICovXG5AZnVuY3Rpb24gX2dyaWRsZV9zZXRfc3RhdGVfdmFyKFxuXHQkc3RhdGVOYW1lLFxuXHQkdmFyLFxuXHQkbmV3VmFsdWVcbikge1xuXHQvLyBnZXQgdGhlIHN0YXRlIDpcblx0JHN0YXRlIDogX2dyaWRsZV9nZXRfc3RhdGUoJHN0YXRlTmFtZSk7XG5cblx0Ly8gY2hlY2sgaWcgc3RhdGUgYW5kIGlmIGhhcyB0aGUgdmFyaWFibGUgOlxuXHRAaWYgJHN0YXRlXG5cdFx0ICBhbmQgbWFwLWhhcy1rZXkoJHN0YXRlLHVucXVvdGUoXCIjeyR2YXJ9XCIpKVxuXHR7XG5cdFx0Ly8gc2V0IG5ldyB2YWx1ZSBpbiBzdGF0ZSA6XG5cdFx0JHN0YXRlIDogbWFwLXNldCgkc3RhdGUsIHVucXVvdGUoXCIjeyR2YXJ9XCIpLCAkbmV3VmFsdWUpO1xuXG5cdFx0Ly8gc2V0IHN0YXRlcyA6XG5cdFx0JF9ncmlkbGVfc3RhdGVzIDogbWFwLXNldCgkX2dyaWRsZV9zdGF0ZXMsIHVucXVvdGUoXCIjeyRzdGF0ZU5hbWV9XCIpLCAkc3RhdGUpO1xuXG5cdFx0Ly8gcmV0dXJuIG5ldyBzdGF0ZSA6XG5cdFx0QHJldHVybiAkc3RhdGU7XG5cdH1cblxuXHQvLyBub3RoaW5nIGdldHRlZCA6XG5cdEByZXR1cm4gbnVsbDtcbn1cblxuXG4vKipcbiAqIEdlbmVyYXRlIGEgY29sdW1uXG4gKlxuICogQHBhcmFtIFx0U3RyaW5nIFx0XHQkbmFtZSBcdFx0XHRUaGUgY29sdW1uIG5hbWUgKG9mdGVuIGNvdW50KVxuICogQHBhcmFtIFx0aW50IFx0XHQkY29sdW1ucyBcdFx0VGhlIGNvbHVtbiBjb3VudCB0aGF0IHRoZSBjb2x1bW4gd2lsbCB0YWtlXG4gKiBAcGFyYW0gXHRpbnQgXHRcdCRjb250ZXh0IFx0XHRUaGUgY29udGV4dCBvbiB3aXRjaCB0aGUgd2l0aCB3aWxsIGJlIGNhbGN1bGVkXG4gKiBAcGFyYW0gXHRCb29sZWFuIFx0JGdlbmVyYXRlQ2xhc3NlcyBcdFNldCBpZiB0aGUgY29sdW1uIGhhcyB0byBiZSBnZW5lcmF0ZWQgaW4gY3NzXG4gKi9cbkBmdW5jdGlvbiBfZ3JpZGxlX2NyZWF0ZV9jb2x1bW4oXG5cdCRuYW1lLFxuXHQkY29sdW1ucyxcblx0JGNvbnRleHQsXG5cdCRuYW1lLW11bHRpcGxpY2F0b3IgOiAxIC8vIHVzZWQgdG8gZXh0ZW5kIHRoZSBzdGF0ZSBvbiBjdXN0b20gcmVnaXN0ZXJlZCBjb2x1bW5zXG4pIHtcblx0QHJldHVybiAoXG5cdFx0bmFtZSA6ICRuYW1lLFxuXHRcdGNvbHVtbnMgOiAkY29sdW1ucyxcblx0XHRjb250ZXh0IDogJGNvbnRleHQsXG5cdFx0bmFtZS1tdWx0aXBsaWNhdG9yIDogJG5hbWUtbXVsdGlwbGljYXRvclxuXHQpO1xufVxuXG5cbi8qKlxuICogR2VuZXJhdGUgY2xhc3NuYW1lXG4gKlxuICogQHBhcmFtIFx0TGlzdCBcdFx0JHBhcnJlcm4gXHRUaGUgcGF0dGVybiB0byB1c2UgdG8gZ2VuZXJhdGUgY2xhc3NuYW1lXG4gKiBAcGFyYW0gXHRTdHJpbmcgXHRcdCRzdGF0ZSBcdFx0VGhlIHN0YXRlXG4gKiBAcGFyYW0gXHRpbnQgXHRcdCRjb3VudCBcdFx0VGhlIGNvbHVtbiBjb3VudFxuICovXG5AZnVuY3Rpb24gX2dyaWRsZV9jbGFzc25hbWUoXG5cdCRwYXR0ZXJuLFxuXHQkc3RhdGUgOiBudWxsLFxuXHQkY291bnQgOiBudWxsXG4pIHtcblxuXHQvLyBpbml0IHNlbGVjdG9yIDpcblx0JHNlbCA6IFwiLlwiO1xuXG5cdC8vIGRlbGV0ZSBkZWZhdWx0IDpcblx0QGlmIHVucXVvdGUoXCIjeyRzdGF0ZX1cIikgPT0gZGVmYXVsdCB7XG5cdFx0JHN0YXRlIDogbnVsbDtcblx0fVxuXHRcblx0Ly8gYWRkIGNsYXNzIHByZWZpeCA6XG5cdEBpZiAkZ3JpZGxlLWNsYXNzLXByZWZpeCBhbmQgJGdyaWRsZS1jbGFzcy1wcmVmaXggIT0gJycge1xuXHRcdCRzZWwgOiBcIiN7JHNlbH0jeyRncmlkbGUtY2xhc3MtcHJlZml4fVwiO1xuXHRcdEBpZiAkZ3JpZGxlLWNsYXNzLXNlcGFyYXRvciB7XG5cdFx0XHQkc2VsIDogXCIjeyRzZWx9I3skZ3JpZGxlLWNsYXNzLXNlcGFyYXRvcn1cIjtcblx0XHR9XG5cdH1cblxuXHQvLyBjb25zdHJ1Y3QgY2xhc3MgbmFtZSA6XG5cdCRpIDogMTtcblx0QGVhY2ggJHZhciBpbiAkcGF0dGVybiB7XG5cdFx0XG5cdFx0Ly8gcmVwbGFjZSB0b2tlbnMgOlxuXHRcdEBpZiAkdmFyID09ICclc3RhdGUnIGFuZCAkc3RhdGUge1xuXHRcdFx0JHNlbCA6IFwiI3skc2VsfSN7JHN0YXRlfVwiO1xuXHRcdH0gXG5cdFx0QGlmICR2YXIgPT0gJyVjb3VudCcgYW5kICRjb3VudCB7XG5cdFx0XHQkc2VsIDogXCIjeyRzZWx9I3skY291bnR9XCI7XG5cdFx0fSAgXG5cdFx0QGlmICR2YXIgIT0gJyVzdGF0ZScgYW5kICR2YXIgIT0gJyVjb3VudCcgYW5kICR2YXIgIT0gJyUtJyBhbmQgJHZhciAhPSAnLScgYW5kICR2YXIgIT0gJy0tJyBhbmQgJHZhciAhPSAnXycgYW5kICR2YXIgIT0gJ19fJyBhbmQgJHZhciAhPSAnJXByZWZpeCcge1xuXHRcdFx0JHNlbCA6IFwiI3skc2VsfSN7JHZhcn1cIjtcblx0XHR9XG5cblx0XHQvLyBoYW5kbGUgc2VwYXJhdG9ycyA6XG5cdFx0QGlmICgkdmFyID09ICclLScgb3IgJHZhciA9PSAnLScgb3IgJHZhciA9PSAnLS0nIG9yICR2YXIgPT0gJ18nIG9yICR2YXIgPT0gJ19fJykgYW5kICRpIDwgbGVuZ3RoKCRwYXR0ZXJuKSB7XG5cdFx0XHQkaW5kZXggOiAkaSArIDE7XG5cdFx0XHQkdmFsdWUgOiBudGgoJHBhdHRlcm4sICRpbmRleCk7XG5cdFx0XHRAaWYgJHZhbHVlICE9ICclc3RhdGUnIGFuZCAkdmFsdWUgIT0gJyVjb3VudCcgYW5kICR2YWx1ZSAhPSAnJS0nIGFuZCAkdmFsdWUgIT0gJy0nIGFuZCAkdmFsdWUgIT0gJy0tJyBhbmQgJHZhbHVlICE9ICdfJyBhbmQgJHZhbHVlICE9ICdfXycgYW5kICR2YWx1ZSAhPSAnJXByZWZpeCcge1xuXHRcdFx0XHRAaWYgJHZhciA9PSAnJS0nIHtcblx0XHRcdFx0XHQkc2VsIDogXCIjeyRzZWx9I3skZ3JpZGxlLWNsYXNzLXNlcGFyYXRvcn1cIjtcblx0XHRcdFx0fSBAZWxzZSB7XG5cdFx0XHRcdFx0JHNlbCA6IFwiI3skc2VsfSN7JHZhcn1cIjtcblx0XHRcdFx0fVxuXHRcdFx0fVxuXHRcdFx0QGlmICR2YWx1ZSA9PSAnJXN0YXRlJyBhbmQgJHN0YXRlIHtcblx0XHRcdFx0QGlmICR2YXIgPT0gJyUtJyB7XG5cdFx0XHRcdFx0JHNlbCA6IFwiI3skc2VsfSN7JGdyaWRsZS1jbGFzcy1zZXBhcmF0b3J9XCI7XG5cdFx0XHRcdH0gQGVsc2Uge1xuXHRcdFx0XHRcdCRzZWwgOiBcIiN7JHNlbH0jeyR2YXJ9XCI7XG5cdFx0XHRcdH1cblx0XHRcdH1cblx0XHRcdEBpZiAkdmFsdWUgPT0gJyVjb3VudCcgYW5kICRjb3VudCB7XG5cdFx0XHRcdEBpZiAkdmFyID09ICclLScge1xuXHRcdFx0XHRcdCRzZWwgOiBcIiN7JHNlbH0jeyRncmlkbGUtY2xhc3Mtc2VwYXJhdG9yfVwiO1xuXHRcdFx0XHR9IEBlbHNlIHtcblx0XHRcdFx0XHQkc2VsIDogXCIjeyRzZWx9I3skdmFyfVwiO1xuXHRcdFx0XHR9XG5cdFx0XHR9XG5cdFx0fVxuXG5cdFx0Ly8gdXBkYXRlIGkgOlxuXHRcdCRpIDogJGkgKyAxO1xuXHR9XG5cblx0Ly8gcmV0dXJuIGdlbmVyYXRlZCBjbGFzcyA6XG5cdEByZXR1cm4gJHNlbDtcbn1cblxuXG4vKipcbiAqIEdldCB0aGUgbWVkaWEgcXVlcnkgZm9yIGEgcGFydGljdWxhciBzdGF0ZSwgb3Igd2l0aCwgZXRjLi4uXG4gKlxuICogQHBhcmFtIFx0TWl4ZWQgXHRcdCRzdGF0ZS1vci1taW4td2lkdGggXHRcdFRoZSBzdGF0ZSBuYW1lIG9mIHRoZSBtaW4gd2l0aFxuICogQHBhcmFtIFx0TWl4ZWQgXHRcdCRtYXgtd2lkdGggXHRcdFx0VGhlIG1heCB3aWR0aCBpZiBmaXJzdCBwYXJhbSBpcyBhIG1pbiB3aWR0aFxuICogQHJldHVybiBcdFN0cmluZyBcdFx0XHRcdFx0XHRUaGUgbWVkaWEgcXVlcnkgc3RyaW5nIHdpdGhvdXQgdGhlIEBtZWRpYVxuICovXG5AZnVuY3Rpb24gX2dyaWRsZV9nZXRfbWVkaWFfcXVlcnkoXG5cdCRzdGF0ZS1vci1zZXR0aW5nc1xuKSB7XG5cdC8vIGNoZWNrIGlmIGlzIGEgc3RyaW5nIDpcblx0JHN0YXRlIDogbnVsbDtcblx0QGlmIHR5cGUtb2YoJHN0YXRlLW9yLXNldHRpbmdzKSA9PSBzdHJpbmdcblx0e1xuXHRcdCRzdGF0ZSA6IF9ncmlkbGVfZ2V0X3N0YXRlKCRzdGF0ZS1vci1zZXR0aW5ncyk7XG5cdH1cblx0QGVsc2UgaWYgJHN0YXRlLW9yLXNldHRpbmdzID09IG51bGxcblx0e1xuXHRcdCRzdGF0ZSA6ICRfZ3JpZGxlLXNldHRpbmdzO1xuXHR9XG5cdEBlbHNlXG5cdHtcblx0XHQkc3RhdGUgOiBtYXAtbWVyZ2UoJF9ncmlkbGUtc2V0dGluZ3MsICRzdGF0ZS1vci1zZXR0aW5ncyk7XG5cdH1cblxuXHQvLyBpZiBpdCdzIHNvbWUgc2V0dGluZ3Mgb3IgYSBzdGF0ZSA6XG5cdEBpZiAkc3RhdGUge1xuXG5cdFx0Ly8gZ2V0IHZhcnMgOlxuXHRcdCRuYW1lIDogbWFwLWdldCgkc3RhdGUsIG5hbWUpO1xuXHRcdCRtaW4td2lkdGggOiBtYXAtZ2V0KCRzdGF0ZSwgbWluLXdpZHRoKTtcblx0XHQkbWF4LXdpZHRoIDogbWFwLWdldCgkc3RhdGUsIG1heC13aWR0aCk7XG5cdFx0JHF1ZXJ5IDogbWFwLWdldCgkc3RhdGUsIHF1ZXJ5KTtcblxuXHRcdC8vIGRpcmVjdCBxdWVyeSA6XG5cdFx0QGlmICRxdWVyeVxuXHRcdHtcblx0XHRcdEByZXR1cm4gJHF1ZXJ5O1xuXHRcdH0gXG5cdFx0QGVsc2UgaWYgJG1pbi13aWR0aCBhbmQgJG1heC13aWR0aFxuXHRcdHtcblx0XHRcdEByZXR1cm4gXCJzY3JlZW4gYW5kIChtaW4td2lkdGg6ICN7JG1pbi13aWR0aH0pIGFuZCAobWF4LXdpZHRoOiAjeyRtYXgtd2lkdGh9KVwiO1xuXHRcdH1cblx0XHRAZWxzZSBpZiAkbWluLXdpZHRoXG5cdFx0e1xuXHRcdFx0QHJldHVybiBcInNjcmVlbiBhbmQgKG1pbi13aWR0aDogI3skbWluLXdpZHRofSlcIjtcblx0XHR9XG5cdFx0QGVsc2UgaWYgJG1heC13aWR0aFxuXHRcdHtcblx0XHRcdEByZXR1cm4gXCJzY3JlZW4gYW5kIChtYXgtd2lkdGg6ICN7JG1heC13aWR0aH0pXCI7XG5cdFx0fVxuXHRcdEBlbHNlXG5cdFx0e1xuXHRcdFx0QHJldHVybiBudWxsO1xuXHRcdH1cblxuXHR9IFxuXHRAZWxzZVxuXHR7XG5cdFx0QHJldHVybiBudWxsO1xuXHR9XG59XG5cblxuLyoqXG4gKiBHZXQgc3RhdGVzIGNvdW50XG4gKiBcbiAqIEByZXR1cm4gXHRpbnQgXHRUaGUgbnVtYmVyIG9mIHN0YXRlcyBkZWZpbmVkXG4gKi9cbkBmdW5jdGlvbiBfZ3JpZGxlX2dldF9zdGF0ZXNfY291bnQoKSB7XG5cdEByZXR1cm4gbGVuZ3RoKCRfZ3JpZGxlX3N0YXRlcykgLyBsZW5ndGgoJF9ncmlkbGVfc3RhdGVzX3ZhcnNfcGF0dGVybik7XG59IiwiLy8gfC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuLy8gfC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuLy8gfCBTZXR0aW5ncyBtaXhpbnNcbi8vIHwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbi8vIHwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuLyoqXG4gKiBTZXR1cFxuICovXG5AbWl4aW4gZ3JpZGxlX3NldHVwKFxuXHQkc2V0dGluZ3MgOiAoKVxuKSB7XG5cdCRfZ3JpZGxlLXNldHRpbmdzIDogbWFwLW1lcmdlKChcblx0XHRuYW1lIDogZGVmYXVsdCxcblx0XHRtaW4td2lkdGggOiBudWxsLFxuXHRcdG1heC13aWR0aCA6IG51bGwsXG5cdFx0cXVlcnkgOiBudWxsLFxuXHRcdGNsYXNzZXMgOiB0cnVlLFxuXHRcdGNvbnRleHQgOiAxMixcblx0XHRndXR0ZXItd2lkdGggOiAyMHB4LFxuXHRcdGRpcmVjdGlvbiA6IGx0cixcblx0XHRuYW1lLW11bHRpcGxpY2F0b3IgOiAxLFxuXHRcdGRlYnVnIDogZmFsc2UsXG5cdFx0ZGVidWctc2hvdy1jbGFzcy1uYW1lcyA6IHRydWUsXG5cdFx0aWU3LXN1cHBvcnQgOiBmYWxzZSxcblx0XHRodG1sLXN0YXRlcy1jbGFzc2VzIDogZmFsc2UsXG5cdFx0Z2VuZXJhdGUtcHVzaC1jbGFzc2VzIDogdHJ1ZSxcblx0XHRnZW5lcmF0ZS1wdWxsLWNsYXNzZXMgOiB0cnVlLFxuXHRcdGdlbmVyYXRlLXByZWZpeC1jbGFzc2VzIDogdHJ1ZSxcblx0XHRnZW5lcmF0ZS1zdWZmaXgtY2xhc3NlcyA6IHRydWUsXG5cdFx0Z2VuZXJhdGUtaGVscGVycy1jbGFzc2VzIDogdHJ1ZVxuXHQpLCAkc2V0dGluZ3MpICFnbG9iYWw7XG5cblx0Ly8gcmVnaXN0ZXIgZGVmYXVsdCBzdGF0ZSA6XG5cdEBpbmNsdWRlIGdyaWRsZV9yZWdpc3Rlcl9zdGF0ZShkZWZhdWx0LCAkX2dyaWRsZS1zZXR0aW5ncyk7XG5cbn1cblxuLy8gUmVnaXN0ZXIgYW4gc3RhdGUgOlxuQG1peGluIGdyaWRsZV9yZWdpc3Rlcl9zdGF0ZShcblx0JG5hbWUsXG5cdCRzZXR0aW5nc1xuKSB7XG5cdC8vIHNldHRpbmdzIDpcblx0JHNldHRpbmdzIDogbWFwLW1lcmdlKCRfZ3JpZGxlLXNldHRpbmdzLCAkc2V0dGluZ3MpO1xuXG5cdC8vIHNldCBuYW1lIDpcblx0JHNldHRpbmdzIDogbWFwLXNldCgkc2V0dGluZ3MsIG5hbWUsICRuYW1lKTtcblxuXHQvLyBhZGQgc3RhdGUgaW4gbWFwcyA6XG5cdCRfZ3JpZGxlX3N0YXRlcyA6IG1hcC1zZXQoJF9ncmlkbGVfc3RhdGVzLCAkbmFtZSwgJHNldHRpbmdzKSAhZ2xvYmFsO1xufVxuXG5cbi8qKlxuICogIFJlZ2lzdGVyIGEgY2xlYXIgZWFjaCBjbGFzc1xuICovXG5AbWl4aW4gZ3JpZGxlX3JlZ2lzdGVyX2NsZWFyX2VhY2goXG5cdCRjb3VudCxcblx0JGNsZWFyV2hhdFxuKSB7XG5cdC8vIGNyZWF0ZSB0aGUgY2xlYXIgbWFwIDpcblx0JGNsYXNzTWFwIDogKFxuXHRcdGNsZWFyRWFjaCA6ICRjb3VudCxcblx0XHRjbGVhcldoYXQgOiAkY2xlYXJXaGF0XG5cdCk7XG5cblx0Ly8gYXBwZW5kIHRvIG1hcCA6XG5cdCRfZ3JpZGxlX2NsZWFyX2NsYXNzZXMgOiBtYXAtc2V0KCRfZ3JpZGxlX2NsZWFyX2NsYXNzZXMsICRjb3VudCwgJGNsYXNzTWFwKSAhZ2xvYmFsO1xufVxuXG5cbi8qKlxuICogUmVnaXN0ZXIgYSBzcGVjaWFsIGNsYXNzXG4gKi9cbkBtaXhpbiBncmlkbGVfcmVnaXN0ZXJfY29sdW1uKFxuXHQkbmFtZSxcblx0JGNvbHVtbnMsXG5cdCRjb250ZXh0XG4pIHtcblx0Ly8gY3JlYXRlIGEgY29sdW1uIDpcblx0JGNvbCA6IF9ncmlkbGVfY3JlYXRlX2NvbHVtbigkbmFtZSwgJGNvbHVtbnMsICRjb250ZXh0KTtcblxuXHQvLyBhZGQgY29sdW1uIGluIG1hcHMgOlxuXHQkX2dyaWRsZV9jb2x1bW5zIDogbWFwLXNldCgkX2dyaWRsZV9jb2x1bW5zLCAkbmFtZSwgJGNvbCkgIWdsb2JhbDtcbn1cblxuXG4vKipcbiAqIFJlZ2lzdGVyIGRlZmF1bHQgc3RhdGVzXG4gKi9cbkBtaXhpbiBncmlkbGVfcmVnaXN0ZXJfZGVmYXVsdF9zdGF0ZXMoKSB7XG5cdEBpbmNsdWRlIGdyaWRsZV9yZWdpc3Rlcl9zdGF0ZShtb2JpbGUsIChcblx0XHRtYXgtd2lkdGggOiA0ODBweFxuXHQpKTtcblx0QGluY2x1ZGUgZ3JpZGxlX3JlZ2lzdGVyX3N0YXRlKHRhYmxldCwgKFxuXHRcdG1pbi13aWR0aCA6IDQ4MXB4LFxuXHRcdG1heC13aWR0aCA6IDEwMjRweFxuXHQpKTtcbn1cblxuXG4vKipcbiAqIFJlZ2lzdGVyIGRlZmF1bHQgbW9iaWxlIGZpcnN0IHN0YXRlcyA6XG4gKi9cbkBtaXhpbiBncmlkbGVfcmVnaXN0ZXJfZGVmYXVsdF9tb2JpbGVfZmlyc3Rfc3RhdGVzKCkge1xuXHRAaW5jbHVkZSBncmlkbGVfcmVnaXN0ZXJfc3RhdGUoeHMsIChcblx0XHRtYXgtd2lkdGggOiA3NjhweFxuXHQpKTtcblx0QGluY2x1ZGUgZ3JpZGxlX3JlZ2lzdGVyX3N0YXRlKHNtLCAoXG5cdFx0bWluLXdpZHRoIDogNzY4cHhcblx0KSk7XG5cdEBpbmNsdWRlIGdyaWRsZV9yZWdpc3Rlcl9zdGF0ZShtZCwgKFxuXHRcdG1pbi13aWR0aCA6IDk5MnB4XG5cdCkpO1xuXHRAaW5jbHVkZSBncmlkbGVfcmVnaXN0ZXJfc3RhdGUobGcsIChcblx0XHRtaW4td2lkdGggOiAxMjAwcHhcblx0KSk7XG59XG5cblxuLyoqXG4gKiBTZXQgdGhlIGRlYnVnIGRldmljZSAobm90IHVzZWQgZm9yIG5vdylcbiAqIFxuICogQHBhcmFtIFx0U3RyaW5nIFx0XHQkc3RhdGUgXHRcdFRoZSBzdGF0ZSB0byB1cGRhdGVcbiAqIEBwYXJhIG0gXHRTdHJpbmcgXHRcdCRkZXZpY2UgXHRUaGUgZGV2aWNlIHRvIHVzZSAoaXBob25lLCBldGMuLi4pXG4gKi9cbkBtaXhpbiBncmlkbGVfc2V0X2RlYnVnX2RldmljZShcblx0JHN0YXRlIDogZGVmYXVsdCxcblx0JGRldmljZSA6IG51bGxcbikge1xuXG5cdC8vIGNoZWNrIHBhcmFtcyA6XG5cdEBpZiAkc3RhdGUgYW5kICRkZXZpY2Uge1xuXHRcdC8vIHNldCB0aGUgc3RhdGUgZGV2aWNlIDpcblx0XHQkX2dyaWRsZV9zdGF0ZXNfZGVidWdfZGV2aWNlcyA6IGFwcGVuZCgkX2dyaWRsZV9zdGF0ZXNfZGVidWdfZGV2aWNlcywgdW5xdW90ZShcIlxcXCIjeyRzdGF0ZX1cXFwiIDogXFxcIiN7JGRldmljZX1cXFwiXCIpLCBjb21tYSk7XG5cdH1cblxufSIsIi8vIHwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbi8vIHwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbi8vIHwgTWl4aW5zXG4vLyB8LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4vLyB8LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbi8vIEhlbHBlciB0byBhcHBseSBtdWx0aXBsZSBjb25maWcgZm9yIGEgY2VydGFpbiBzdGF0ZSB3aXRoIG9uZSBtaXhpblxuQG1peGluIGdyaWRsZV9zZXQoXG5cdCRzZXR0aW5ncyxcblx0JHN0YXRlIDogZGVmYXVsdFxuKSB7XG5cdFxuXHQvLyBsb29wIG9uIGVhY2ggc2V0dGluZ3Ncblx0QGVhY2ggJHNldHRpbmdOYW1lLCAkc2V0dGluZ1ZhbHVlIGluICRzZXR0aW5nc1xuXHR7XG5cdFx0JHNuIDogdW5xdW90ZShcIiN7JHNldHRpbmdOYW1lfVwiKTtcblx0XHQkc3YgOiAkc2V0dGluZ1ZhbHVlO1xuXG5cdFx0Ly8gY2hlY2sgaWYgc2V0dGluZyBuYW1lIGlzIGEgc3RhdGUgOlxuXHRcdEBpZiBfZ3JpZGxlX2hhc19zdGF0ZSgkc24pIHtcblx0XHRcdC8vIHByb2Nlc3MgdGhlIHN0YXRlXG5cdFx0XHRAaW5jbHVkZSBncmlkbGVfc2V0KCRzdiwgJHNuKTtcblx0XHR9IEBlbHNlIHtcblx0XHRcdEBpZiAkc24gPT0gY29udGFpbmVyIHtcblx0XHRcdFx0QGluY2x1ZGUgZ3JpZGxlX2NvbnRhaW5lcigkc3RhdGUpO1xuXHRcdFx0fSBAZWxzZSBpZiAkc24gPT0gZ3JpZCB7XG5cdFx0XHRcdEBpbmNsdWRlIGdyaWRsZSgkc3YsICRzdGF0ZSk7XG5cdFx0XHR9IEBlbHNlIGlmICRzbiA9PSBwdXNoIHtcblx0XHRcdFx0QGluY2x1ZGUgZ3JpZGxlX3B1c2goJHN2LCAkc3RhdGUpO1xuXHRcdFx0fSBAZWxzZSBpZiAkc24gPT0gcHVsbCB7XG5cdFx0XHRcdEBpbmNsdWRlIGdyaWRsZV9wdWxsKCRzdiwgJHN0YXRlKTtcblx0XHRcdH0gQGVsc2UgaWYgJHNuID09IHByZWZpeCB7XG5cdFx0XHRcdEBpbmNsdWRlIGdyaWRsZV9wcmVmaXgoJHN2LCAkc3RhdGUpO1xuXHRcdFx0fSBAZWxzZSBpZiAkc24gPT0gc3VmZml4IHtcblx0XHRcdFx0QGluY2x1ZGUgZ3JpZGxlX3N1ZmZpeCgkc3YsICRzdGF0ZSk7XG5cdFx0XHR9IEBlbHNlIGlmICRzbiA9PSBwdWxsIHtcblx0XHRcdFx0QGluY2x1ZGUgZ3JpZGxlX3B1bGwoJHN2LCAkc3RhdGUpO1xuXHRcdFx0fSBAZWxzZSBpZiAkc24gPT0gY2xlYXJfZWFjaCB7XG5cdFx0XHRcdEBpbmNsdWRlIGdyaWRsZV9jbGVhcl9lYWNoKG50aCgkc3YsMSksIG50aCgkc3YsMiksICRzdGF0ZSk7XG5cdFx0XHR9IEBlbHNlIGlmICRzbiA9PSBjZW50ZXJlZCB7XG5cdFx0XHRcdEBpbmNsdWRlIGdyaWRsZV9jZW50ZXJlZCgkc3RhdGUpO1xuXHRcdFx0fSBAZWxzZSBpZiAkc24gPT0gcGFyZW50IHtcblx0XHRcdFx0QGluY2x1ZGUgZ3JpZGxlX3BhcmVudCgkc3RhdGUpO1xuXHRcdFx0fSBAZWxzZSBpZiAkc24gPT0gdmVydGljYWxfYWxpZ24ge1xuXHRcdFx0XHRAaW5jbHVkZSBncmlkbGVfdmVydGljYWxfYWxpZ24oJHN2LCAkc3RhdGUpO1xuXHRcdFx0fSBAZWxzZSBpZiAkc24gPT0gaGlkZSB7XG5cdFx0XHRcdEBpZiAkc3YgPT0gdHJ1ZSB7XG5cdFx0XHRcdFx0QGluY2x1ZGUgZ3JpZGxlX2hpZGUoJHN0YXRlKTtcblx0XHRcdFx0fSBAZWxzZSB7XG5cdFx0XHRcdFx0QGluY2x1ZGUgZ3JpZGxlX3Nob3coJHN0YXRlKTtcblx0XHRcdFx0fVxuXHRcdFx0fSBAZWxzZSBpZiAkc24gPT0gc2hvdyB7XG5cdFx0XHRcdEBpZiAkc3YgPT0gdHJ1ZSB7XG5cdFx0XHRcdFx0QGluY2x1ZGUgZ3JpZGxlX3Nob3coJHN0YXRlKTtcblx0XHRcdFx0fSBAZWxzZSB7XG5cdFx0XHRcdFx0QGluY2x1ZGUgZ3JpZGxlX2hpZGUoJHN0YXRlKTtcblx0XHRcdFx0fVxuXHRcdFx0fSBAZWxzZSBpZiAkc24gPT0gdmlzaWJsZSB7XG5cdFx0XHRcdEBpZiAkc3YgPT0gdHJ1ZSB7XG5cdFx0XHRcdFx0QGluY2x1ZGUgZ3JpZGxlX3Zpc2libGUoJHN0YXRlKTtcblx0XHRcdFx0fSBAZWxzZSB7XG5cdFx0XHRcdFx0QGluY2x1ZGUgZ3JpZGxlX25vdF92aXNpYmxlKCRzdGF0ZSk7XG5cdFx0XHRcdH1cblx0XHRcdH0gQGVsc2UgaWYgJHNuID09IG5vdF92aXNpYmxlIHtcblx0XHRcdFx0QGlmICRzdiA9PSB0cnVlIHtcblx0XHRcdFx0XHRAaW5jbHVkZSBncmlkbGVfbm90X3Zpc2libGUoJHN0YXRlKTtcblx0XHRcdFx0fSBAZWxzZSB7XG5cdFx0XHRcdFx0QGluY2x1ZGUgZ3JpZGxlX3Zpc2libGUoJHN0YXRlKTtcblx0XHRcdFx0fVxuXHRcdFx0fSBAZWxzZSBpZiAkc24gPT0gc2hvd19pbmxpbmUge1xuXHRcdFx0XHRAaWYgJHN2ID09IHRydWUge1xuXHRcdFx0XHRcdEBpbmNsdWRlIGdyaWRsZV9zaG93X2lubGluZSgkc3RhdGUpO1xuXHRcdFx0XHR9IEBlbHNlIHtcblx0XHRcdFx0XHRAaW5jbHVkZSBncmlkbGVfaGlkZSgkc3RhdGUpO1xuXHRcdFx0XHR9XG5cdFx0XHR9IEBlbHNlIGlmICRzbiA9PSBmbG9hdCB7XG5cdFx0XHRcdEBpbmNsdWRlIGdyaWRsZV9mbG9hdCgkc3YsICRzdGF0ZSk7XG5cdFx0XHR9IEBlbHNlIGlmICRzbiA9PSBjbGVhciB7XG5cdFx0XHRcdEBpbmNsdWRlIGdyaWRsZV9jbGVhcigkc3YsICRzdGF0ZSk7XG5cdFx0XHR9IEBlbHNlIGlmICRzbiA9PSBub19ndXR0ZXJcblx0XHRcdFx0b3IgJHNuID09IG5vX21hcmdpbiB7XG5cdFx0XHRcdEBpbmNsdWRlIGdyaWRsZV9ub19ndXR0ZXIoJHN2LCAkc3RhdGUpO1xuXHRcdFx0fSBAZWxzZSBpZiAkc24gPT0gZ3V0dGVyXG5cdFx0XHRcdG9yICRzbiA9PSBtYXJnaW4ge1xuXHRcdFx0XHRAaW5jbHVkZSBncmlkbGVfZ3V0dGVyKCRzdiwgJHN0YXRlKTtcblx0XHRcdH0gQGVsc2Uge1xuXHRcdFx0XHQvLyB3ZSBkbyBub3RoaW5nXG5cdFx0XHR9XG5cdFx0fVxuXHR9XG59XG5cbi8vIFJlc3BvbnNpdmUgaGVscGVycyBtaXhpbnMgOlxuQG1peGluIGdyaWRsZV9zdGF0ZShcblx0JHN0YXRlcyxcblx0JGhhcy1wYXJlbnQgOiB0cnVlXG4pIHtcblxuXHQvLyBjaGVjayBmaXJzdCBwYXJhbSBpZiBpcyBhIHN0YXRlIDpcblx0JGZpcnN0U3RhdGUgOiBudGgoJHN0YXRlcywxKTtcblx0QGlmIF9ncmlkbGVfaGFzX3N0YXRlKCRmaXJzdFN0YXRlKSB7XG5cblx0XHQvLyBsb29wIG9uIGVhY2ggc3RhdGVzIDpcblx0XHRAZWFjaCAkc3RhdGUgaW4gJHN0YXRlc1xuXHRcdHtcblx0XHRcdC8vIHZhcmlhYmxlcyA6XG5cdFx0XHQkaHRtbC1zdGF0ZXMtY2xhc3NlcyA6IF9ncmlkbGVfZ2V0X3Zhcl92YWx1ZShodG1sLXN0YXRlcy1jbGFzc2VzLCAkc3RhdGUpO1xuXHRcdFx0JGRlYnVnIDogX2dyaWRsZV9nZXRfdmFyX3ZhbHVlKGRlYnVnLCAkc3RhdGUpO1xuXHRcdFx0JHN0YXRlTmFtZSA6IF9ncmlkbGVfZ2V0X3Zhcl92YWx1ZShuYW1lLCAkc3RhdGUpO1xuXG5cdFx0XHQvLyBjaGVjayBpZiBpcyBhIHN0YXRlIDpcblx0XHRcdEBpZiAoJGh0bWwtc3RhdGVzLWNsYXNzZXMgb3IgJGRlYnVnKVxuXHRcdFx0XHRhbmQgJHN0YXRlTmFtZSB7XG5cdFx0XHRcdC8vIGh0bWwgY2xhc3MgOlxuXHRcdFx0XHRAaWYgJGhhcy1wYXJlbnQge1xuXHRcdFx0XHRcdGh0bWwje19ncmlkbGVfY2xhc3NuYW1lKFwiI3skc3RhdGVOYW1lfVwiKX0gJiB7IEBjb250ZW50OyB9XG5cdFx0XHRcdH0gQGVsc2Uge1xuXHRcdFx0XHRcdGh0bWwje19ncmlkbGVfY2xhc3NuYW1lKFwiI3skc3RhdGVOYW1lfVwiKX0geyBAY29udGVudDsgfVxuXHRcdFx0XHR9XG5cdFx0XHR9XG5cblx0XHRcdC8vIGdldCB0aGUgbWVkaWEgcXVlcnkgOlxuXHRcdFx0JHEgOiBfZ3JpZGxlX2dldF9tZWRpYV9xdWVyeSgkc3RhdGUpO1xuXG5cdFx0XHQvLyBtYWtlIHRoZSBtZWRpYSBxdWVyeSBpZiBhIHF1ZXJ5IGV4aXN0IDpcblx0XHRcdEBpZiAkcSB7XG5cdFx0XHRcdEBtZWRpYSAjeyRxfSB7XG5cdFx0XHRcdFx0QGNvbnRlbnQ7XG5cdFx0XHRcdH1cblx0XHRcdH1cblx0XHRcdEBlbHNlXG5cdFx0XHR7XG5cdFx0XHRcdEBjb250ZW50O1xuXHRcdFx0fVxuXHRcdH1cblxuXHR9IEBlbHNlIHtcblxuXHRcdC8vIHZhcmlhYmxlcyA6XG5cdFx0JGh0bWwtc3RhdGVzLWNsYXNzZXMgOiBfZ3JpZGxlX2dldF92YXJfdmFsdWUoaHRtbC1zdGF0ZXMtY2xhc3NlcywgJHN0YXRlcyk7XG5cdFx0JGRlYnVnIDogX2dyaWRsZV9nZXRfdmFyX3ZhbHVlKGRlYnVnLCAkc3RhdGVzKTtcblx0XHQkc3RhdGVOYW1lIDogX2dyaWRsZV9nZXRfdmFyX3ZhbHVlKG5hbWUsICRzdGF0ZXMpO1xuXG5cdFx0Ly8gY2hlY2sgaWYgaXMgYSBzdGF0ZSA6XG5cdFx0QGlmICgkaHRtbC1zdGF0ZXMtY2xhc3NlcyBvciAkZGVidWcpXG5cdFx0XHRhbmQgJHN0YXRlTmFtZSB7XG5cdFx0XHQvLyBodG1sIGNsYXNzIDpcblx0XHRcdEBpZiAkaGFzLXBhcmVudCB7XG5cdFx0XHRcdGh0bWwje19ncmlkbGVfY2xhc3NuYW1lKFwiI3skc3RhdGVOYW1lfVwiKX0gJiB7IEBjb250ZW50OyB9XG5cdFx0XHR9IEBlbHNlIHtcblx0XHRcdFx0aHRtbCN7X2dyaWRsZV9jbGFzc25hbWUoXCIjeyRzdGF0ZU5hbWV9XCIpfSB7IEBjb250ZW50OyB9XG5cdFx0XHR9XG5cdFx0fVxuXG5cdFx0Ly8gZ2V0IHRoZSBtZWRpYSBxdWVyeSA6XG5cdFx0JHEgOiBfZ3JpZGxlX2dldF9tZWRpYV9xdWVyeSgkc3RhdGVzKTtcblxuXHRcdC8vIG1ha2UgdGhlIG1lZGlhIHF1ZXJ5IGlmIGEgcXVlcnkgZXhpc3QgOlxuXHRcdEBpZiAkcSB7XG5cdFx0XHRAbWVkaWEgI3skcX0ge1xuXHRcdFx0XHRAY29udGVudDtcblx0XHRcdH1cblx0XHR9XG5cdFx0QGVsc2Vcblx0XHR7XG5cdFx0XHRAY29udGVudDtcblx0XHR9XG5cblx0fVxufVxuXG5cblxuLy8gQ29udGFpbmVyIG1peGluIDpcbkBtaXhpbiBncmlkbGVfY29udGFpbmVyKFxuXHQkc3RhdGUgOiBkZWZhdWx0XG4pIHtcblx0QGluY2x1ZGUgX2dyaWRsZV9jb250YWluZXJfY29tbW9uKCRzdGF0ZSk7XG59XG5cblxuLy8gR3JpZCBtaXhpbiA6XG4vLyBTZXQgdGhlIHdpZHRoIG9mIHRoZSBzcGVjaWZpZWQgZ3JpZCBjb2x1bW4gOlxuQG1peGluIGdyaWRsZShcblx0JGNvbHVtbnMsXG5cdCRzdGF0ZS1vci1jb250ZXh0IDogZGVmYXVsdCxcblx0JHN0YXRlIDogZGVmYXVsdFxuKSB7XG5cdC8vIG1hbmFnZSBzdGF0ZSBhbmQgY29udGV4dCA6XG5cdCRjb250ZXh0IDogbnVsbDtcblx0QGlmIHR5cGUtb2YoJHN0YXRlLW9yLWNvbnRleHQpID09IG51bWJlciB7XG5cdFx0JGNvbnRleHQgOiAkc3RhdGUtb3ItY29udGV4dDtcblx0fSBAZWxzZSB7XG5cdFx0JHN0YXRlIDogJHN0YXRlLW9yLWNvbnRleHQ7XG5cdH1cblxuXHQvLyBjb21tb24gOlxuXHRAaW5jbHVkZSBfZ3JpZGxlX2dyaWRfY29tbW9uKCk7XG5cdC8vIGNoZWNrIGlmIG5lZWQgbWVkaWEgcXVlcnkgOlxuXHRAaWYgJHN0YXRlIHtcblx0XHRAaW5jbHVkZSBncmlkbGVfc3RhdGUoJHN0YXRlKSB7XG5cdFx0XHRAaW5jbHVkZSBfZ3JpZGxlKCRjb2x1bW5zLCAkc3RhdGUsICRjb250ZXh0KTtcblx0XHR9XG5cdH0gQGVsc2Uge1xuXHRcdEBpbmNsdWRlIF9ncmlkbGUoJGNvbHVtbnMsICRzdGF0ZSwgJGNvbnRleHQpO1xuXHR9XG59XG5AbWl4aW4gX2dyaWRsZShcblx0JGNvbHVtbnMsXG5cdCRzdGF0ZSA6IGRlZmF1bHQsXG5cdCRjb250ZXh0IDogbnVsbFxuKSB7XG5cdC8vIHZhcnMgOlxuXHQkbmFtZSA6IF9ncmlkbGVfZ2V0X3Zhcl92YWx1ZShuYW1lLCAkc3RhdGUpO1xuXHRAaWYgdHlwZS1vZigkY29udGV4dCkgIT0gbnVtYmVyIHtcblx0XHQkY29udGV4dCA6IF9ncmlkbGVfZ2V0X3Zhcl92YWx1ZShjb250ZXh0LCAkc3RhdGUpO1xuXHR9XG5cdCRuYW1lLW11bHRpcGxpY2F0b3IgOiBfZ3JpZGxlX2dldF92YXJfdmFsdWUobmFtZS1tdWx0aXBsaWNhdG9yLCAkc3RhdGUpO1xuXHQkZ3V0dGVyLXdpZHRoIDogX2dyaWRsZV9nZXRfdmFyX3ZhbHVlKGd1dHRlci13aWR0aCwgJHN0YXRlKTtcblx0JGllNy1zdXBwb3J0IDogX2dyaWRsZV9nZXRfdmFyX3ZhbHVlKGllNy1zdXBwb3J0LCAkc3RhdGUpO1xuXHQkZGVidWcgOiBfZ3JpZGxlX2dldF92YXJfdmFsdWUoZGVidWcsICRzdGF0ZSk7XG5cdCRkZWJ1Zy1zaG93LWNsYXNzLW5hbWVzIDogX2dyaWRsZV9nZXRfdmFyX3ZhbHVlKGRlYnVnLXNob3ctY2xhc3MtbmFtZXMsICRzdGF0ZSk7XG5cblx0Ly8gbWFuYWdlIGNvbHVtbnNcblx0QGlmIHR5cGUtb2YoJGNvbHVtbnMpICE9IG51bWJlciBhbmQgbWFwLWhhcy1rZXkoJF9ncmlkbGVfY29sdW1ucywgJGNvbHVtbnMpIHtcblx0XHQvLyB0aGUgY29sdW1ucyBpcyBhIHNhdmVkIG9uZSwgZ2V0IHRoZSBjb250ZXh0IGFuZCBjb2x1bW4gdmFsdWVcblx0XHQkY29sdW1uIDogbWFwLWdldCgkX2dyaWRsZV9jb2x1bW5zLCAkY29sdW1ucyk7XG5cdFx0JGNvbnRleHQgOiBtYXAtZ2V0KCRjb2x1bW4sIGNvbnRleHQpO1xuXHRcdCRjb2x1bW5zIDogbWFwLWdldCgkY29sdW1uLCBjb2x1bW5zKTtcblx0fSBAZWxzZSBpZiB0eXBlLW9mKCRjb2x1bW5zKSA9PSBudW1iZXIge1xuXHRcdCRjb2x1bW5zIDogJGNvbHVtbnMgLyAkbmFtZS1tdWx0aXBsaWNhdG9yO1xuXHR9IEBlbHNlIHtcblx0XHRAZXJyb3IgXCJ0aGUgY29sdW1uICN7JGNvbHVtbnN9IGRvZXMgbm90IGV4aXN0Li4uXCI7XG5cdH1cblxuXHQvLyB2YXJzIDpcblx0JHdpZHRoIDogcGVyY2VudGFnZSgxIC8gJGNvbnRleHQgKiAkY29sdW1ucyk7XG5cblx0Ly8gc2V0IHZhbHVlIDpcblx0d2lkdGg6JHdpZHRoO1xuXHRcblx0Ly8gaWU3IHN1cHBvcnQgOlxuXHRAaWYgJGllNy1zdXBwb3J0ID09IHRydWUge1xuXHRcdCp3aWR0aDogZXhwcmVzc2lvbigodGhpcy5wYXJlbnROb2RlLmNsaWVudFdpZHRoLyN7JGNvbnRleHR9KiN7KCRjb2x1bW5zIC8gJG5hbWUtbXVsdGlwbGljYXRvcil9IC0gcGFyc2VJbnQodGhpcy5jdXJyZW50U3R5bGVbJ3BhZGRpbmdMZWZ0J10pIC0gcGFyc2VJbnQodGhpcy5jdXJyZW50U3R5bGVbJ3BhZGRpbmdSaWdodCddKSkgKyAncHgnKTtcblx0fVxuXHRcblx0Ly8gZGVidWcgOlxuXHRAaWYgJGRlYnVnID09IHRydWUgYW5kICRkZWJ1Zy1zaG93LWNsYXNzLW5hbWVzID09IHRydWUge1xuXHRcdCN7JGdyaWRsZS1kZWJ1Zy1zZWxlY3Rvcn0ge1xuXHRcdFx0JjpiZWZvcmUge1xuXHRcdFx0XHRAaWYgJG5hbWUgPT0gZGVmYXVsdCB7XG5cdFx0XHRcdFx0Y29udGVudDpcImdyaWQtI3skbmFtZX0tI3skY29sdW1uc31cIjtcblx0XHRcdFx0fSBAZWxzZSB7XG5cdFx0XHRcdFx0Y29udGVudDpcImdyaWQtI3skbmFtZX0tI3skY29sdW1uc31cIiAhaW1wb3J0YW50O1xuXHRcdFx0XHR9XG5cdFx0XHR9XG5cdFx0XHQmLnBhcmVudDpiZWZvcmUge1xuXHRcdFx0XHRAaWYgJG5hbWUgPT0gZGVmYXVsdCB7XG5cdFx0XHRcdFx0Y29udGVudDpcImdyaWQtcGFyZW50LSN7JG5hbWV9LSN7JGNvbHVtbnN9XCI7XG5cdFx0XHRcdH0gQGVsc2Uge1xuXHRcdFx0XHRcdGNvbnRlbnQ6XCJncmlkLXBhcmVudC0jeyRuYW1lfS0jeyRjb2x1bW5zfVwiICFpbXBvcnRhbnQ7XG5cdFx0XHRcdH1cblx0XHRcdH1cblx0XHR9XG5cdH1cbn1cblxuXG4vLyBwdXNoIDpcbi8vIFB1c2ggdGhlIGVsZW1lbnQgb2YgdGhlIGNvdW50IG9mIGNvbHVtbiB3YW50ZWRcbkBtaXhpbiBncmlkbGVfcHVzaChcblx0JGNvbHVtbnMsXG5cdCRzdGF0ZS1vci1jb250ZXh0IDogZGVmYXVsdCxcblx0JHN0YXRlIDogZGVmYXVsdFxuKSB7XG5cdC8vIG1hbmFnZSBzdGF0ZSBhbmQgY29udGV4dFxuXHQkY29udGV4dCA6IG51bGw7XG5cdEBpZiB0eXBlLW9mKCRzdGF0ZS1vci1jb250ZXh0KSA9PSBudW1iZXIge1xuXHRcdCRjb250ZXh0IDogJHN0YXRlLW9yLWNvbnRleHQ7XG5cdH0gQGVsc2Uge1xuXHRcdCRzdGF0ZSA6ICRzdGF0ZS1vci1jb250ZXh0O1xuXHR9XG5cblx0Ly8gY29tbW9uIDpcblx0QGluY2x1ZGUgX2dyaWRsZV9wdXNoX2NvbW1vbigkc3RhdGUpO1xuXG5cdC8vIGNoZWNrIGlmIG5lZWQgbWVkaWEgcXVlcnkgOlxuXHRAaWYgJHN0YXRlIHtcblx0XHRAaW5jbHVkZSBncmlkbGVfc3RhdGUoJHN0YXRlKSB7XG5cdFx0XHRAaW5jbHVkZSBfZ3JpZGxlX3B1c2goJGNvbHVtbnMsICRzdGF0ZSwgJGNvbnRleHQpO1xuXHRcdH1cblx0fSBAZWxzZSB7XG5cdFx0QGluY2x1ZGUgX2dyaWRsZV9wdXNoKCRjb2x1bW5zLCAkc3RhdGUsICRjb250ZXh0KTtcblx0fVxufVxuQG1peGluIF9ncmlkbGVfcHVzaChcblx0JGNvbHVtbnMsXG5cdCRzdGF0ZSA6IGRlZmF1bHQsXG5cdCRjb250ZXh0IDogbnVsbFxuKSB7XG5cdC8vIHZhcmlhYmxlcyA6XG5cdCRuYW1lIDogX2dyaWRsZV9nZXRfdmFyX3ZhbHVlKG5hbWUsICRzdGF0ZSk7XG5cdEBpZiB0eXBlLW9mKCRjb250ZXh0KSAhPSBudW1iZXIge1xuXHRcdCRjb250ZXh0IDogX2dyaWRsZV9nZXRfdmFyX3ZhbHVlKGNvbnRleHQsICRzdGF0ZSk7XG5cdH1cblx0JGRpcmVjdGlvbiA6IF9ncmlkbGVfZ2V0X3Zhcl92YWx1ZShkaXJlY3Rpb24sICRzdGF0ZSk7XG5cdCRuYW1lLW11bHRpcGxpY2F0b3IgOiBfZ3JpZGxlX2dldF92YXJfdmFsdWUobmFtZS1tdWx0aXBsaWNhdG9yLCAkc3RhdGUpO1xuXHQkZGVidWcgOiBfZ3JpZGxlX2dldF92YXJfdmFsdWUoZGVidWcsICRzdGF0ZSk7XG5cdCRkZWJ1Zy1zaG93LWNsYXNzLW5hbWVzIDogX2dyaWRsZV9nZXRfdmFyX3ZhbHVlKGRlYnVnLXNob3ctY2xhc3MtbmFtZXMsICRzdGF0ZSk7XG5cblx0Ly8gdmFycyA6XG5cdCR3aWR0aCA6IHBlcmNlbnRhZ2UoMSAvICRjb250ZXh0KSAqICgkY29sdW1ucyAvICRuYW1lLW11bHRpcGxpY2F0b3IpO1xuXHRAaWYgJGRpcmVjdGlvbiA9PSBydGwgeyAkd2lkdGggOiAkd2lkdGgqLTE7IH1cblx0bGVmdDokd2lkdGg7XG5cblx0Ly8gZGVidWcgY3NzIDpcblx0QGlmICRkZWJ1ZyA9PSB0cnVlIGFuZCAkZGVidWctc2hvdy1jbGFzcy1uYW1lcyA9PSB0cnVlIHtcblx0XHQjeyRncmlkbGUtZGVidWctc2VsZWN0b3J9IHtcblx0XHRcdCY6YWZ0ZXIge1xuXHRcdFx0XHRAaWYgJG5hbWUgPT0gZGVmYXVsdCB7XG5cdFx0XHRcdFx0Y29udGVudDpcInB1c2gtI3skbmFtZX0tI3skY29sdW1uc31cIjtcblx0XHRcdFx0fSBAZWxzZSB7XG5cdFx0XHRcdFx0Y29udGVudDpcInB1c2gtI3skbmFtZX0tI3skY29sdW1uc31cIiAhaW1wb3J0YW50O1xuXHRcdFx0XHR9XG5cdFx0XHR9XG5cdFx0fVxuXHR9XG5cbn1cblxuXG4vLyBwdWxsIDpcbi8vIFB1bGwgdGhlIGVsZW1lbnQgb2YgdGhlIGNvdW50IG9mIGNvbHVtbiB3YW50ZWRcbkBtaXhpbiBncmlkbGVfcHVsbChcblx0JGNvbHVtbnMsXG5cdCRzdGF0ZSA6IGRlZmF1bHRcbikge1xuXHQvLyBjb21tb24gOlxuXHRAaW5jbHVkZSBfZ3JpZGxlX3B1bGxfY29tbW9uKCRzdGF0ZSk7XG5cblx0Ly8gY2hlY2sgaWYgbmVlZCBtZWRpYSBxdWVyeSA6XG5cdEBpZiAkc3RhdGUge1xuXHRcdEBpbmNsdWRlIGdyaWRsZV9zdGF0ZSgkc3RhdGUpIHtcblx0XHRcdEBpbmNsdWRlIF9ncmlkbGVfcHVsbCgkY29sdW1ucywkc3RhdGUpO1xuXHRcdH1cblx0fSBAZWxzZSB7XG5cdFx0QGluY2x1ZGUgX2dyaWRsZV9wdWxsKCRjb2x1bW5zLCRzdGF0ZSk7XG5cdH1cbn1cbkBtaXhpbiBfZ3JpZGxlX3B1bGwoXG5cdCRjb2x1bW5zLFxuXHQkc3RhdGUgOiBkZWZhdWx0XG4pIHtcblx0Ly8gdmFycyA6XG5cdCRuYW1lIDogX2dyaWRsZV9nZXRfdmFyX3ZhbHVlKG5hbWUsICRzdGF0ZSk7XG5cdCRjb250ZXh0IDogX2dyaWRsZV9nZXRfdmFyX3ZhbHVlKGNvbnRleHQsICRzdGF0ZSk7XG5cdCRkaXJlY3Rpb24gOiBfZ3JpZGxlX2dldF92YXJfdmFsdWUoZGlyZWN0aW9uLCAkc3RhdGUpO1xuXHQkbmFtZS1tdWx0aXBsaWNhdG9yIDogX2dyaWRsZV9nZXRfdmFyX3ZhbHVlKG5hbWUtbXVsdGlwbGljYXRvciwgJHN0YXRlKTtcblx0JGRlYnVnIDogX2dyaWRsZV9nZXRfdmFyX3ZhbHVlKGRlYnVnLCAkc3RhdGUpO1xuXHQkZGVidWctc2hvdy1jbGFzcy1uYW1lcyA6IF9ncmlkbGVfZ2V0X3Zhcl92YWx1ZShkZWJ1Zy1zaG93LWNsYXNzLW5hbWVzLCAkc3RhdGUpO1xuXG5cdC8vIHZhcnMgOlxuXHQkd2lkdGggOiBwZXJjZW50YWdlKDEgLyAkY29udGV4dCkgKiAoJGNvbHVtbnMgLyAkbmFtZS1tdWx0aXBsaWNhdG9yKTtcblx0QGlmICRkaXJlY3Rpb24gPT0gcnRsIHsgJHdpZHRoIDogJHdpZHRoKi0xOyB9XG5cdHJpZ2h0OiR3aWR0aDtcblxuXHQvLyBkZWJ1ZyBjc3MgOlxuXHRAaWYgJGRlYnVnID09IHRydWUgYW5kICRkZWJ1Zy1zaG93LWNsYXNzLW5hbWVzID09IHRydWUge1xuXHRcdCN7JGdyaWRsZS1kZWJ1Zy1zZWxlY3Rvcn0ge1xuXHRcdFx0JjphZnRlciB7XG5cdFx0XHRcdEBpZiAkbmFtZSA9PSBkZWZhdWx0IHtcblx0XHRcdFx0XHRjb250ZW50OlwicHVsbC0jeyRuYW1lfS0jeyRjb2x1bW5zfVwiO1xuXHRcdFx0XHR9IEBlbHNlIHtcblx0XHRcdFx0XHRjb250ZW50OlwicHVsbC0jeyRuYW1lfS0jeyRjb2x1bW5zfVwiICFpbXBvcnRhbnQ7XG5cdFx0XHRcdH1cblx0XHRcdH1cblx0XHR9XG5cdH1cbn1cblxuXG4vLyBwdXNoIDpcbi8vIFB1c2ggdGhlIGVsZW1lbnQgb2YgdGhlIGNvdW50IG9mIGNvbHVtbiB3YW50ZWRcbkBtaXhpbiBncmlkbGVfcHJlZml4KFxuXHQkY29sdW1ucyxcblx0JHN0YXRlIDogZGVmYXVsdFxuKSB7XG5cdC8vIGNvbW1vbiA6XG5cdEBpbmNsdWRlIF9ncmlkbGVfcHJlZml4X2NvbW1vbigkc3RhdGUpO1xuXHRcblx0Ly8gY2hlY2sgaWYgbmVlZCBtZWRpYSBxdWVyeSA6XG5cdEBpZiAkc3RhdGUge1xuXHRcdEBpbmNsdWRlIGdyaWRsZV9zdGF0ZSgkc3RhdGUpIHtcblx0XHRcdEBpbmNsdWRlIF9ncmlkbGVfcHJlZml4KCRjb2x1bW5zLCRzdGF0ZSk7XG5cdFx0fVxuXHR9IEBlbHNlIHtcblx0XHRAaW5jbHVkZSBfZ3JpZGxlX3ByZWZpeCgkY29sdW1ucywkc3RhdGUpO1xuXHR9XG59XG5AbWl4aW4gX2dyaWRsZV9wcmVmaXgoXG5cdCRjb2x1bW5zLFxuXHQkc3RhdGUgOiBkZWZhdWx0XG4pIHtcblx0Ly8gdmFycyA6XG5cdCRuYW1lIDogX2dyaWRsZV9nZXRfdmFyX3ZhbHVlKG5hbWUsICRzdGF0ZSk7XG5cdCRjb250ZXh0IDogX2dyaWRsZV9nZXRfdmFyX3ZhbHVlKGNvbnRleHQsICRzdGF0ZSk7XG5cdCRkaXJlY3Rpb24gOiBfZ3JpZGxlX2dldF92YXJfdmFsdWUoZGlyZWN0aW9uLCAkc3RhdGUpO1xuXHQkZ3V0dGVyLXdpZHRoIDogX2dyaWRsZV9nZXRfdmFyX3ZhbHVlKGd1dHRlci13aWR0aCwgJHN0YXRlKTtcblx0JG5hbWUtbXVsdGlwbGljYXRvciA6IF9ncmlkbGVfZ2V0X3Zhcl92YWx1ZShuYW1lLW11bHRpcGxpY2F0b3IsICRzdGF0ZSk7XG5cdCRkZWJ1ZyA6IF9ncmlkbGVfZ2V0X3Zhcl92YWx1ZShkZWJ1ZywgJHN0YXRlKTtcblx0JGRlYnVnLXNob3ctY2xhc3MtbmFtZXMgOiBfZ3JpZGxlX2dldF92YXJfdmFsdWUoZGVidWctc2hvdy1jbGFzcy1uYW1lcywgJHN0YXRlKTtcblxuXHQvLyB2YXJzIDpcblx0JHdpZHRoIDogcGVyY2VudGFnZSgxIC8gJGNvbnRleHQpICogKCRjb2x1bW5zIC8gJG5hbWUtbXVsdGlwbGljYXRvcik7XG5cblx0Ly8gc2V0IHZhbHVlIDpcblx0QGlmICRkaXJlY3Rpb24gPT0gcnRsIHsgbWFyZ2luLXJpZ2h0OiR3aWR0aDsgfVxuXHRAZWxzZSB7IG1hcmdpbi1sZWZ0OiR3aWR0aDsgfVxuXG5cdC8vIGRlYnVnIGNzcyA6XG5cdEBpZiAkZGVidWcgPT0gdHJ1ZSBhbmQgJGRlYnVnLXNob3ctY2xhc3MtbmFtZXMgPT0gdHJ1ZSB7XG5cdFx0I3skZ3JpZGxlLWRlYnVnLXNlbGVjdG9yfSB7XG5cdFx0XHQmOmFmdGVyIHtcblx0XHRcdFx0QGlmICRuYW1lID09IGRlZmF1bHQge1xuXHRcdFx0XHRcdGNvbnRlbnQ6XCJwcmVmaXgtI3skbmFtZX0tI3skY29sdW1uc31cIjtcblx0XHRcdFx0fSBAZWxzZSB7XG5cdFx0XHRcdFx0Y29udGVudDpcInByZWZpeC0jeyRuYW1lfS0jeyRjb2x1bW5zfVwiICFpbXBvcnRhbnQ7XG5cdFx0XHRcdH1cblx0XHRcdH1cblx0XHR9XG5cdH1cbn1cblxuXG4vLyBwdWxsIDpcbi8vIFB1bGwgdGhlIGVsZW1lbnQgb2YgdGhlIGNvdW50IG9mIGNvbHVtbiB3YW50ZWRcbkBtaXhpbiBncmlkbGVfc3VmZml4KFxuXHQkY29sdW1ucyxcblx0JHN0YXRlIDogZGVmYXVsdFxuKSB7XG5cdC8vIGNvbW1vbiA6XG5cdEBpbmNsdWRlIF9ncmlkbGVfc3VmZml4X2NvbW1vbigkc3RhdGUpO1xuXG5cdC8vIGNoZWNrIGlmIG5lZWQgbWVkaWEgcXVlcnkgOlxuXHRAaWYgJHN0YXRlIHtcblx0XHRAaW5jbHVkZSBncmlkbGVfc3RhdGUoJHN0YXRlKSB7XG5cdFx0XHRAaW5jbHVkZSBfZ3JpZGxlX3N1ZmZpeCgkY29sdW1ucywkc3RhdGUpO1xuXHRcdH1cblx0fSBAZWxzZSB7XG5cdFx0QGluY2x1ZGUgX2dyaWRsZV9zdWZmaXgoJGNvbHVtbnMsJHN0YXRlKTtcblx0fVxufVxuQG1peGluIF9ncmlkbGVfc3VmZml4KFxuXHQkY29sdW1ucyxcblx0JHN0YXRlIDogZGVmYXVsdFxuKSB7XG5cdC8vIHZhcnMgOlxuXHQkbmFtZSA6IF9ncmlkbGVfZ2V0X3Zhcl92YWx1ZShuYW1lLCAkc3RhdGUpO1xuXHQkY29udGV4dCA6IF9ncmlkbGVfZ2V0X3Zhcl92YWx1ZShjb250ZXh0LCAkc3RhdGUpO1xuXHQkZGlyZWN0aW9uIDogX2dyaWRsZV9nZXRfdmFyX3ZhbHVlKGRpcmVjdGlvbiwgJHN0YXRlKTtcblx0JGd1dHRlci13aWR0aCA6IF9ncmlkbGVfZ2V0X3Zhcl92YWx1ZShndXR0ZXItd2lkdGgsICRzdGF0ZSk7XG5cdCRuYW1lLW11bHRpcGxpY2F0b3IgOiBfZ3JpZGxlX2dldF92YXJfdmFsdWUobmFtZS1tdWx0aXBsaWNhdG9yLCAkc3RhdGUpO1xuXHQkZGVidWcgOiBfZ3JpZGxlX2dldF92YXJfdmFsdWUoZGVidWcsICRzdGF0ZSk7XG5cdCRkZWJ1Zy1zaG93LWNsYXNzLW5hbWVzIDogX2dyaWRsZV9nZXRfdmFyX3ZhbHVlKGRlYnVnLXNob3ctY2xhc3MtbmFtZXMsICRzdGF0ZSk7XG5cblx0Ly8gdmFycyA6XG5cdCR3aWR0aCA6IHBlcmNlbnRhZ2UoMSAvICRjb250ZXh0KSAqICgkY29sdW1ucyAvICRuYW1lLW11bHRpcGxpY2F0b3IpO1xuXHRcblx0Ly8gc2V0IHZhbHVlIDpcblx0QGlmICRkaXJlY3Rpb24gPT0gcnRsIHsgbWFyZ2luLWxlZnQ6JHdpZHRoOyB9XG5cdEBlbHNlIHsgbWFyZ2luLXJpZ2h0OiR3aWR0aDsgfVxuXG5cdC8vIGRlYnVnIGNzcyA6XG5cdEBpZiAkZGVidWcgPT0gdHJ1ZSBhbmQgJGRlYnVnLXNob3ctY2xhc3MtbmFtZXMgPT0gdHJ1ZSB7XG5cdFx0I3skZ3JpZGxlLWRlYnVnLXNlbGVjdG9yfSB7XG5cdFx0XHQmOmFmdGVyIHtcblx0XHRcdFx0QGlmICRuYW1lID09IGRlZmF1bHQge1xuXHRcdFx0XHRcdGNvbnRlbnQ6XCJzdWZmaXgtI3skbmFtZX0tI3skY29sdW1uc31cIjtcblx0XHRcdFx0fSBAZWxzZSB7XG5cdFx0XHRcdFx0Y29udGVudDpcInN1ZmZpeC0jeyRuYW1lfS0jeyRjb2x1bW5zfVwiICFpbXBvcnRhbnQ7XG5cdFx0XHRcdH1cblx0XHRcdH1cblx0XHR9XG5cdH1cbn1cblxuXG4vLyBncmlkIGJhY2tncm91bmQgOlxuLy8gRGlzcGxheSB0aGUgZ3JpZCBiYWNrZ3JvdW5kIGRlYnVnXG5AbWl4aW4gZ3JpZGxlX2dyaWRfYmFja2dyb3VuZChcblx0JHN0YXRlIDogZGVmYXVsdFxuKSB7XG5cdC8vIGNoZWNrIGlmIG5lZWQgbWVkaWEgcXVlcnkgOlxuXHRAaWYgJHN0YXRlIHtcblx0XHRAaW5jbHVkZSBncmlkbGVfc3RhdGUoJHN0YXRlKSB7XG5cdFx0XHRAaW5jbHVkZSBfZ3JpZGxlX2dyaWRfYmFja2dyb3VuZCgkc3RhdGUpO1xuXHRcdH1cblx0fSBAZWxzZSB7XG5cdFx0QGluY2x1ZGUgX2dyaWRsZV9ncmlkX2JhY2tncm91bmQoJHN0YXRlKTtcblx0fVxufVxuQG1peGluIF9ncmlkbGVfZ3JpZF9iYWNrZ3JvdW5kKFxuXHQkc3RhdGUgOiBkZWZhdWx0XG4pIHtcblx0XG5cdC8vIHZhcmlhYmxlcyA6XG5cdCRjb250ZXh0IDogX2dyaWRsZV9nZXRfdmFyX3ZhbHVlKGNvbnRleHQsICRzdGF0ZSk7XG5cblx0cG9zaXRpb246cmVsYXRpdmU7XG5cdHotaW5kZXg6OTk5OTtcblx0JjpiZWZvcmUge1xuXHRcdGNvbnRlbnQ6Jyc7XG5cdFx0cG9zaXRpb246YWJzb2x1dGU7XG5cdFx0dG9wOjA7IGxlZnQ6MDtcblx0XHR3aWR0aDoxMDAlOyBoZWlnaHQ6MTAwJSAhaW1wb3J0YW50O1xuXHRcdC8vIHZhcnMgOlxuXHRcdCR3aWR0aCA6IHBlcmNlbnRhZ2UoMSAvICRjb250ZXh0KTtcblx0XHRiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQodG8gcmlnaHQsIHJnYmEoMCwwLDAsLjAxKSA1MCUgLCByZ2JhKDAsMCwwLC4wNCkgNTAlKTsgLyogU3RhbmRhcmQgc3ludGF4ICovXG5cdFx0YmFja2dyb3VuZC1zaXplOigkd2lkdGgqMikgMTAwJTtcblx0XHQvLyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiRncmlkbGUtZ3V0dGVyLXdpZHRoLzIgMDtcblx0fVxufVxuXG5cbi8qKlxuICogUGFyZW50IGNsZWFyIGVhY2hcbiAqL1xuLy8gR3JpZCBtaXhpbiA6XG4vLyBTZXQgdGhlIHdpZHRoIG9mIHRoZSBzcGVjaWZpZWQgZ3JpZCBjb2x1bW4gOlxuQG1peGluIGdyaWRsZV9jbGVhcl9lYWNoKFxuXHQkY2xlYXJFYWNoLFxuXHQkY2xlYXJXaGF0IDogYm90aCxcblx0JHN0YXRlIDogZGVmYXVsdFxuKSB7XG5cdC8vIGNoZWNrIGlmIG5lZWQgbWVkaWEgcXVlcnkgOlxuXHRAaWYgJHN0YXRlIHtcblx0XHRAaW5jbHVkZSBncmlkbGVfc3RhdGUoJHN0YXRlKSB7XG5cdFx0XHRAaW5jbHVkZSBfZ3JpZGxlX2NsZWFyX2VhY2goJGNsZWFyRWFjaCwgJGNsZWFyV2hhdCk7XG5cdFx0fVxuXHR9IEBlbHNlIHtcblx0XHRAaW5jbHVkZSBfZ3JpZGxlX2NsZWFyX2VhY2goJGNsZWFyRWFjaCwgJGNsZWFyV2hhdCk7XG5cdH1cbn1cbkBtaXhpbiBfZ3JpZGxlX2NsZWFyX2VhY2goXG5cdCRjbGVhckVhY2gsXG5cdCRjbGVhcldoYXRcbikge1xuXHQ+ICo6bnRoLWNoaWxkKCN7JGNsZWFyRWFjaH1uKzEpIHtcblx0XHRjbGVhciA6ICRjbGVhcldoYXQ7XG5cdH1cbn1cblxuXG4vLyBHcmlkIGNlbnRlcmVkIDpcbkBtaXhpbiBncmlkbGVfY2VudGVyZWQoXG5cdCRzdGF0ZSA6IGRlZmF1bHRcbikge1xuXHQvLyBjaGVjayBpZiBuZWVkIG1lZGlhIHF1ZXJ5IDpcblx0QGlmICRzdGF0ZSB7XG5cdFx0QGluY2x1ZGUgZ3JpZGxlX3N0YXRlKCRzdGF0ZSkge1xuXHRcdFx0QGluY2x1ZGUgX2dyaWRsZV9jZW50ZXJlZCgpO1xuXHRcdH1cblx0fSBAZWxzZSB7XG5cdFx0QGluY2x1ZGUgX2dyaWRsZV9jZW50ZXJlZCgpO1xuXHR9XG59XG5AbWl4aW4gX2dyaWRsZV9jZW50ZXJlZCgpIHtcblx0ZGlzcGxheTpibG9jayAhaW1wb3J0YW50O1xuXHRmbG9hdDpub25lICFpbXBvcnRhbnQ7XG5cdG1hcmdpbi1sZWZ0OmF1dG8gIWltcG9ydGFudDtcblx0bWFyZ2luLXJpZ2h0OmF1dG8gIWltcG9ydGFudDtcblx0Y2xlYXI6Ym90aCAhaW1wb3J0YW50O1xufVxuXG5cbi8vIEdyaWQgcGFyZW50IDpcbkBtaXhpbiBncmlkbGVfcGFyZW50KFxuXHQkc3RhdGUgOiBkZWZhdWx0XG4pIHtcblx0Ly8gY29tbW9uIDpcblx0QGluY2x1ZGUgX2dyaWRsZV9wYXJlbnRfY29tbW9uKCk7XG5cdC8vIGNoZWNrIGlmIG5lZWQgbWVkaWEgcXVlcnkgOlxuXHRAaWYgJHN0YXRlIHtcblx0XHRAaW5jbHVkZSBncmlkbGVfc3RhdGUoJHN0YXRlKSB7XG5cdFx0XHRAaW5jbHVkZSBfZ3JpZGxlX3BhcmVudCgpO1xuXHRcdH1cblx0fSBAZWxzZSB7XG5cdFx0QGluY2x1ZGUgX2dyaWRsZV9wYXJlbnQoKTtcblx0fVxufVxuQG1peGluIF9ncmlkbGVfcGFyZW50KCkge1xuXHRAaW5jbHVkZSBncmlkbGVfbm9fZ3V0dGVyKCk7XG59XG5cblxuLyoqXG4gKiBWZXJ0aWNhbCBhbGlnbiA6XG4gKi9cbkBtaXhpbiBncmlkbGVfdmVydGljYWxfYWxpZ24oXG5cdCRhbGlnbiA6IG1pZGRsZSxcblx0JHN0YXRlIDogZGVmYXVsdFxuKSB7XG5cdC8vIGNoZWNrIGlmIG5lZWQgbWVkaWEgcXVlcnkgOlxuXHRAaWYgJHN0YXRlIHtcblx0XHRAaW5jbHVkZSBncmlkbGVfc3RhdGUoJHN0YXRlKSB7XG5cdFx0XHRAaW5jbHVkZSBfZ3JpZGxlX3ZlcnRpY2FsX2FsaWduKCRhbGlnbik7XG5cdFx0fVxuXHR9IEBlbHNlIHtcblx0XHRAaW5jbHVkZSBfZ3JpZGxlX3ZlcnRpY2FsX2FsaWduKCRhbGlnbik7XG5cdH1cbn1cbkBtaXhpbiBfZ3JpZGxlX3ZlcnRpY2FsX2FsaWduKFxuXHQkYWxpZ24gOiBtaWRkbGVcbikge1xuXHRmb250LXNpemU6MDtcblx0Y2xlYXI6Ym90aDtcblxuXHQ+ICoge1xuXHRcdGRpc3BsYXk6aW5saW5lLWJsb2NrO1xuXHRcdGZsb2F0Om5vbmUgIWltcG9ydGFudDtcblx0XHR2ZXJ0aWNhbC1hbGlnbjokYWxpZ247XG5cdFx0Zm9udC1zaXplOjFyZW07XG5cdH1cbn1cblxuXG4vLyBIaWRlIG9uIDpcbi8vIEBwYXJhbSBcdFN0cmluZyBcdCRtZWRpYSAgT24gd2hhdCBzdGF0ZVxuQG1peGluIGdyaWRsZV9oaWRlKFxuXHQkc3RhdGUgOiBkZWZhdWx0XG4pIHtcblx0Ly8gY2hlY2sgaWYgbmVlZCBtZWRpYSBxdWVyeSA6XG5cdEBpZiAkc3RhdGUge1xuXHRcdEBpbmNsdWRlIGdyaWRsZV9zdGF0ZSgkc3RhdGUpIHtcblx0XHRcdEBpbmNsdWRlIF9ncmlkbGVfaGlkZSgpO1xuXHRcdH1cblx0fSBAZWxzZSB7XG5cdFx0QGluY2x1ZGUgX2dyaWRsZV9oaWRlKCk7XG5cdH1cbn1cbkBtaXhpbiBfZ3JpZGxlX2hpZGUoKSB7XG5cdGRpc3BsYXk6bm9uZTtcbn1cblxuXG4vLyBOb3QgdmlzaWJsZSBvbiA6XG4vLyBAcGFyYW0gXHRTdHJpbmcgXHQkbWVkaWEgXHRXaGF0IHRvIGhpZGUgKG9uZSBvZiB0aGUgMyBzdGF0ZSBjbGFzc2VzIG5hbWUpXG5AbWl4aW4gZ3JpZGxlX25vdF92aXNpYmxlKFxuXHQkc3RhdGUgOiBkZWZhdWx0XG4pIHtcblx0Ly8gY2hlY2sgaWYgbmVlZCBtZWRpYSBxdWVyeSA6XG5cdEBpZiAkc3RhdGUge1xuXHRcdEBpbmNsdWRlIGdyaWRsZV9zdGF0ZSgkc3RhdGUpIHtcblx0XHRcdEBpbmNsdWRlIF9ncmlkbGVfbm90X3Zpc2libGUoKTtcblx0XHR9XG5cdH0gQGVsc2Uge1xuXHRcdEBpbmNsdWRlIF9ncmlkbGVfbm90X3Zpc2libGUoKTtcblx0fVxufVxuQG1peGluIF9ncmlkbGVfbm90X3Zpc2libGUoKSB7XG5cdHZpc2liaWxpdHk6aGlkZGVuO1xufVxuXG5cbi8vIFNob3cgb25cbi8vIEBwYXJhbSBcdFN0cmluZyBcdCRtZWRpYSBcdFdoYXQgdG8gaGlkZSAob25lIG9mIHRoZSAzIHN0YXRlIGNsYXNzZXMgbmFtZSlcbkBtaXhpbiBncmlkbGVfc2hvdyhcblx0JHN0YXRlIDogZGVmYXVsdFxuKSB7XG5cdC8vIGNoZWNrIGlmIG5lZWQgbWVkaWEgcXVlcnkgOlxuXHRAaWYgJHN0YXRlIHtcblx0XHRAaW5jbHVkZSBncmlkbGVfc3RhdGUoJHN0YXRlKSB7XG5cdFx0XHRAaW5jbHVkZSBfZ3JpZGxlX3Nob3coKTtcblx0XHR9XG5cdH0gQGVsc2Uge1xuXHRcdEBpbmNsdWRlIF9ncmlkbGVfc2hvdygpO1xuXHR9XG59XG5AbWl4aW4gX2dyaWRsZV9zaG93KCkge1xuXHRkaXNwbGF5OmJsb2NrO1xufVxuXG5cbi8qKlxuICogU2hvdyBpbmxpbmVcbiAqXG4gKiBAcGFyYW0gXHRTdHJpbmcgXHRcdCRzdGF0ZSBcdFx0VGhlIHN0YXRlIG5hbWVcbiAqL1xuQG1peGluIGdyaWRsZV9zaG93X2lubGluZShcblx0JHN0YXRlIDogZGVmYXVsdFxuKSB7XG5cdC8vIGNoZWNrIGlmIG5lZWQgbWVkaWEgcXVlcnkgOlxuXHRAaWYgJHN0YXRlIHtcblx0XHRAaW5jbHVkZSBncmlkbGVfc3RhdGUoJHN0YXRlKSB7XG5cdFx0XHRAaW5jbHVkZSBfZ3JpZGxlX3Nob3dfaW5saW5lKCk7XG5cdFx0fVxuXHR9IEBlbHNlIHtcblx0XHRAaW5jbHVkZSBfZ3JpZGxlX3Nob3dfaW5saW5lKCk7XG5cdH1cbn1cbkBtaXhpbiBfZ3JpZGxlX3Nob3dfaW5saW5lKCkge1xuXHRkaXNwbGF5OmlubGluZS1ibG9jaztcbn1cblxuXG4vLyBWaXNpYmxlIG9uIDpcbi8vIEBwYXJhbSBcdFN0cmluZyBcdCRtZWRpYSBcdE9uIHdoYXQgc3RhdGVcbkBtaXhpbiBncmlkbGVfdmlzaWJsZShcblx0JHN0YXRlIDogZGVmYXVsdFxuKSB7XG5cdC8vIGNoZWNrIGlmIG5lZWQgbWVkaWEgcXVlcnkgOlxuXHRAaWYgJHN0YXRlIHtcblx0XHRAaW5jbHVkZSBncmlkbGVfc3RhdGUoJHN0YXRlKSB7XG5cdFx0XHRAaW5jbHVkZSBfZ3JpZGxlX3Zpc2libGUoKTtcblx0XHR9XG5cdH0gQGVsc2Uge1xuXHRcdEBpbmNsdWRlIF9ncmlkbGVfdmlzaWJsZSgpO1xuXHR9XG59XG5AbWl4aW4gX2dyaWRsZV92aXNpYmxlKCkge1xuXHR2aXNpYmlsaXR5OnZpc2libGU7XG59XG5cblxuLy8gR3JpZGxlIFJpZ2h0IDpcbkBtaXhpbiBncmlkbGVfZmxvYXQoXG5cdCRmbG9hdC1kaXJlY3Rpb24gOiBsZWZ0LFxuXHQkc3RhdGUgOiBkZWZhdWx0XG4pIHtcblx0Ly8gY2hlY2sgaWYgbmVlZCBtZWRpYSBxdWVyeSA6XG5cdEBpZiAkc3RhdGUge1xuXHRcdEBpbmNsdWRlIGdyaWRsZV9zdGF0ZSgkc3RhdGUpIHtcblx0XHRcdEBpbmNsdWRlIF9ncmlkbGVfZmxvYXQoJGZsb2F0LWRpcmVjdGlvbik7XG5cdFx0fVxuXHR9IEBlbHNlIHtcblx0XHRAaW5jbHVkZSBfZ3JpZGxlX2Zsb2F0KCRmbG9hdC1kaXJlY3Rpb24pO1xuXHR9XG59XG5AbWl4aW4gX2dyaWRsZV9mbG9hdChcblx0JGZsb2F0LWRpcmVjdGlvbiA6IGxlZnRcbikge1xuXHRmbG9hdDojeyRmbG9hdC1kaXJlY3Rpb259O1xufVxuXG5cbi8vIEdyaWRsZSBjbGVhciA6XG4vLyBAcGFyYW0gXHRTdHJpbmcgXHQkY2xlYXItZGlyZWN0aW9uIFx0VGhlIGRpcmVjdGlvbiB0byBjbGVhclxuLy8gQHBhcmFtIFx0U3RyaW5nIFx0JHN0YXRlIFx0XHRcdFx0VGhlIHN0YXRlXG5AbWl4aW4gZ3JpZGxlX2NsZWFyKFxuXHQkY2xlYXItZGlyZWN0aW9uIDogYm90aCxcblx0JHN0YXRlIDogZGVmYXVsdFxuKSB7XG5cdC8vIGNoZWNrIGlmIG5lZWQgbWVkaWEgcXVlcnkgOlxuXHRAaWYgJHN0YXRlIHtcblx0XHRAaW5jbHVkZSBncmlkbGVfc3RhdGUoJHN0YXRlKSB7XG5cdFx0XHRAaW5jbHVkZSBfZ3JpZGxlX2NsZWFyKCRjbGVhci1kaXJlY3Rpb24pO1xuXHRcdH1cblx0fSBAZWxzZSB7XG5cdFx0QGluY2x1ZGUgX2dyaWRsZV9jbGVhcigkY2xlYXItZGlyZWN0aW9uKTtcblx0fVxufVxuQG1peGluIF9ncmlkbGVfY2xlYXIoXG5cdCRjbGVhci1kaXJlY3Rpb24gOiBib3RoXG4pIHtcblx0Y2xlYXI6I3skY2xlYXItZGlyZWN0aW9ufTtcbn1cblxuXG4vLyBHcmlkbGUgbm8gZ3V0dGVyIDpcbi8vIEBwYXJhbSBcdFN0cmluZyBcdCRzaWRlIFx0XHRcdFx0VGhlIHNpZGUgdG8gY2xlYXJcbi8vIEBwYXJhbSBcdFN0cmluZyBcdCRzdGF0ZSBcdFx0XHRcdFRoZSBzdGF0ZVxuQG1peGluIGdyaWRsZV9ub19ndXR0ZXIoXG5cdCRzaWRlIDogbGVmdCByaWdodCxcblx0JHN0YXRlIDogZGVmYXVsdFxuKSB7XG5cdC8vIGNoZWNrIGlmIG5lZWQgbWVkaWEgcXVlcnkgOlxuXHRAaWYgJHN0YXRlIHtcblx0XHRAaW5jbHVkZSBncmlkbGVfc3RhdGUoJHN0YXRlKSB7XG5cdFx0XHRAaW5jbHVkZSBfZ3JpZGxlX25vX2d1dHRlcigkc2lkZSk7XG5cdFx0fVxuXHR9IEBlbHNlIHtcblx0XHRAaW5jbHVkZSBfZ3JpZGxlX25vX2d1dHRlcigkc2lkZSk7XG5cdH1cbn1cbkBtaXhpbiBncmlkbGVfbm9fbWFyZ2luKFxuXHQkc2lkZSA6IGxlZnQgcmlnaHQsXG5cdCRzdGF0ZSA6IGRlZmF1bHRcbikge1xuXHRAaW5jbHVkZSBncmlkbGVfbm9fZ3V0dGVyKCRzaWRlLCAkc3RhdGUpO1xufVxuQG1peGluIF9ncmlkbGVfbm9fZ3V0dGVyKFxuXHQkc2lkZSA6IGxlZnQgcmlnaHRcbikge1xuXHRAZWFjaCAkcyBpbiAkc2lkZSB7XG5cdFx0cGFkZGluZy0jeyRzfSA6IDA7XG5cdH1cbn1cblxuXG4vLyBHcmlkbGUgZ3V0dGVyIDpcbi8vIEBwYXJhbSBcdFN0cmluZyBcdCRzaWRlIFx0XHRcdFx0VGhlIHNpZGUgdG8gY2xlYXJcbi8vIEBwYXJhbSBcdFN0cmluZyBcdCRzdGF0ZSBcdFx0XHRcdFRoZSBzdGF0ZVxuQG1peGluIGdyaWRsZV9ndXR0ZXIoXG5cdCRzaWRlIDogbGVmdCByaWdodCxcblx0JHN0YXRlIDogZGVmYXVsdFxuKSB7XG5cdC8vIGNoZWNrIGlmIG5lZWQgbWVkaWEgcXVlcnkgOlxuXHRAaWYgJHN0YXRlIHtcblx0XHRAaW5jbHVkZSBncmlkbGVfc3RhdGUoJHN0YXRlKSB7XG5cdFx0XHRAaW5jbHVkZSBfZ3JpZGxlX2d1dHRlcigkc2lkZSk7XG5cdFx0fVxuXHR9IEBlbHNlIHtcblx0XHRAaW5jbHVkZSBfZ3JpZGxlX2d1dHRlcigkc2lkZSk7XG5cdH1cbn1cbi8vIHNob3J0Y3V0IDpcbkBtaXhpbiBncmlkbGVfbWFyZ2luKFxuXHQkc2lkZSA6IGxlZnQgcmlnaHQsXG5cdCRzdGF0ZSA6IGRlZmF1bHRcbikge1xuXHRAaW5jbHVkZSBncmlkbGVfZ3V0dGVyKCRzaWRlLCAkc3RhdGUpO1xufVxuQG1peGluIF9ncmlkbGVfZ3V0dGVyKFxuXHQkc2lkZSA6IGxlZnQgcmlnaHQsXG5cdCRzdGF0ZSA6IGRlZmF1bHRcbikge1xuXHQkZ3V0dGVyLXdpZHRoIDogX2dyaWRsZV9nZXRfdmFyX3ZhbHVlKGd1dHRlci13aWR0aCwgJHN0YXRlKTtcblx0QGVhY2ggJHMgaW4gJHNpZGUge1xuXHRcdHBhZGRpbmctI3skc30gOiAkZ3V0dGVyLXdpZHRoIC8gMjtcblx0fVxufSIsIi8vIHwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbi8vIHwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbi8vIHwgQ29tbW9uIG1peGluc1xuLy8gfC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuLy8gfC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG5AbWl4aW4gX2dyaWRsZV9jb250YWluZXJfY29tbW9uKFxuXHQkc3RhdGUgOiBkZWZhdWx0XG4pIHtcblx0QGV4dGVuZCAlZ3JpZGxlLXNpbXBsZS1jbGVhcmZpeDtcblx0QGV4dGVuZCAlZ3JpZGxlLWNvbnRhaW5lci1jb21tb247XG5cdC8vIGRlYnVnIHBhcnRcblx0JGRlYnVnIDogX2dyaWRsZV9nZXRfdmFyX3ZhbHVlKGRlYnVnLCAkc3RhdGUpO1xuXHRAaWYgKCRkZWJ1ZyA9PSB0cnVlKSB7XG5cdFx0I3skZ3JpZGxlLWRlYnVnLXNlbGVjdG9yfSB7XG5cdFx0XHRAZXh0ZW5kICVncmlkbGUtY29udGFpbmVyLWRlYnVnLWNvbW1vbjtcblx0XHR9XG5cdH1cbn1cbiRfZ3JpZGxlLWFscmVhZHktZ2VuZXJhdGVkIDogKCk7XG5AbWl4aW4gX2dyaWRsZV9ncmlkX2NvbW1vbigpIHtcblx0QGV4dGVuZCAlZ3JpZGxlLWdyaWQtY29tbW9uO1xuXG5cdC8vIGRlZmF1bHQgdmFsdWVzXG5cdCRkZWZhdWx0LWd1dHRlci13aWR0aCA6IF9ncmlkbGVfZ2V0X3Zhcl92YWx1ZShndXR0ZXItd2lkdGgsIGRlZmF1bHQpO1xuXHQkZGVmYXVsdC1kaXJlY3Rpb24gOiBfZ3JpZGxlX2dldF92YXJfdmFsdWUoZGlyZWN0aW9uLCBkZWZhdWx0KTtcblxuXHQvLyBsb29wIG9uIGVhY2ggc3RhdGVzIDpcblx0QGVhY2ggJHN0YXRlTmFtZSwgJHN0YXRlIGluICRfZ3JpZGxlLXN0YXRlc1xuXHR7XG5cdFx0Ly8gc2VsZWN0b3Iga2V5IHRvIGJlIHVzZWQgaW4gbWFwXG5cdFx0JGtleSA6IFwiI3skc3RhdGVOYW1lfSAjeyZ9XCI7XG5cblx0XHQvLyBjaGVjayBpZiBhbHJlYWR5IGdlbmVyYXRlZCBjbGFzc2VzXG5cdFx0JGFscmVhZHktZ2VuZXJhdGVkIDogbWFwLWhhcy1rZXkoJF9ncmlkbGUtYWxyZWFkeS1nZW5lcmF0ZWQsICRrZXkpO1xuXG5cdFx0Ly8gdmFyc1xuXHRcdCRkaXJlY3Rpb24gOiBfZ3JpZGxlX2dldF92YXJfdmFsdWUoZGlyZWN0aW9uLCAkc3RhdGUpO1xuXHRcdCRjbGFzc2VzIDogX2dyaWRsZV9nZXRfdmFyX3ZhbHVlKGNsYXNzZXMsICRzdGF0ZSk7XG5cdFx0JGd1dHRlci13aWR0aCA6IF9ncmlkbGVfZ2V0X3Zhcl92YWx1ZShndXR0ZXItd2lkdGgsICRzdGF0ZSk7XG5cdFx0JGRlYnVnIDogX2dyaWRsZV9nZXRfdmFyX3ZhbHVlKGRlYnVnLCAkc3RhdGUpO1xuXG5cdFx0QGlmICRhbHJlYWR5LWdlbmVyYXRlZCAhPSB0cnVlIGFuZCAkY2xhc3NlcyBhbmQgKCAoJGRlZmF1bHQtZGlyZWN0aW9uICE9ICRkaXJlY3Rpb24gb3IgJGRlZmF1bHQtZ3V0dGVyLXdpZHRoICE9ICRndXR0ZXItd2lkdGgpIG9yICRzdGF0ZU5hbWUgPT0gZGVmYXVsdClcblx0XHR7XG5cdFx0XHQvLyBzZXQgdGhhdCB3ZSBoYXZlIGFscmVhZHkgZ2VuZXJhdGVkIGNzcyBmb3IgdGhpcyBzZWxlY3RvclxuXHRcdFx0JF9ncmlkbGUtYWxyZWFkeS1nZW5lcmF0ZWQgOiBtYXAtc2V0KCRfZ3JpZGxlLWFscmVhZHktZ2VuZXJhdGVkLCAka2V5LCB0cnVlKSAhZ2xvYmFsO1xuXHRcdFx0XG5cdFx0XHQvLyBnZW5lcmF0ZSB0aGUgY3NzIGZvciB0aGlzIGVsZW1lbnRcblx0XHRcdEBpbmNsdWRlIGdyaWRsZV9zdGF0ZSgkc3RhdGUpIHtcblx0XHRcdFx0QGlmICRkaXJlY3Rpb24gIT0gJGRlZmF1bHQtZGlyZWN0aW9uIG9yICRzdGF0ZU5hbWUgPT0gZGVmYXVsdCB7XG5cdFx0XHRcdFx0Ly8gY29udGVudCA6IFwiI3ska2V5fVwiO1xuXHRcdFx0XHRcdEBpZiAkZGlyZWN0aW9uID09IHJ0bCB7XG5cdFx0XHRcdFx0XHRmbG9hdDpyaWdodDtcblx0XHRcdFx0XHRcdGRpcmVjdGlvbjpydGw7XG5cdFx0XHRcdFx0fSBAZWxzZSB7XG5cdFx0XHRcdFx0XHRmbG9hdDpsZWZ0O1xuXHRcdFx0XHRcdFx0ZGlyZWN0aW9uOmx0cjtcblx0XHRcdFx0XHR9XG5cdFx0XHRcdH1cblx0XHRcdFx0QGlmICRndXR0ZXItd2lkdGggIT0gJGRlZmF1bHQtZ3V0dGVyLXdpZHRoIG9yICRzdGF0ZU5hbWUgPT0gZGVmYXVsdCB7XG5cdFx0XHRcdFx0cGFkZGluZy1sZWZ0OiRndXR0ZXItd2lkdGgvMjtcblx0XHRcdFx0XHRwYWRkaW5nLXJpZ2h0OiRndXR0ZXItd2lkdGgvMjtcblx0XHRcdFx0fVxuXHRcdFx0fVxuXHRcdFx0XG5cdFx0XHRAaWYgJGRlYnVnID09IHRydWUge1xuXHRcdFx0XHQjeyRncmlkbGUtZGVidWctc2VsZWN0b3J9IHtcblx0XHRcdFx0XHRAZXh0ZW5kICVncmlkbGUtZ3JpZC1kZWJ1Zy1jb21tb247XG5cdFx0XHRcdH1cblx0XHRcdH1cblx0XHR9XG5cdH1cbn1cbkBtaXhpbiBfZ3JpZGxlX3BhcmVudF9jb21tb24oKSB7XG5cdEBleHRlbmQgJWdyaWRsZS1jbGVhcmZpeDtcblx0QGV4dGVuZCAlZ3JpZGxlLXBhcmVudC1jb21tb247XG59XG5AbWl4aW4gX2dyaWRsZV9wdXNoX2NvbW1vbihcblx0JHN0YXRlIDogZGVmYXVsdFxuKSB7XG5cdCRkZWJ1ZyA6IF9ncmlkbGVfZ2V0X3Zhcl92YWx1ZShkZWJ1ZywgJHN0YXRlKTtcblxuXHQvLyBleHRlbmQgY29tbW9uIDpcblx0QGV4dGVuZCAlZ3JpZGxlLXB1c2gtcHVsbC1jb21tb247XG5cdEBpZiAkZGVidWcgPT0gdHJ1ZSB7XG5cdFx0I3skZ3JpZGxlLWRlYnVnLXNlbGVjdG9yfSB7XG5cdFx0XHRAZXh0ZW5kICVncmlkbGUtcHVzaC1wdWxsLWRlYnVnLWJhY2tncm91bmQtY29tbW9uO1xuXHRcdFx0YmFja2dyb3VuZC1jb2xvcjojZjRlZmRmICFpbXBvcnRhbnQ7XG5cdFx0fVxuXHR9XG59XG5AbWl4aW4gX2dyaWRsZV9wdWxsX2NvbW1vbihcblx0JHN0YXRlIDogZGVmYXVsdFxuKSB7XG5cdCRkZWJ1ZyA6IF9ncmlkbGVfZ2V0X3Zhcl92YWx1ZShkZWJ1ZywgJHN0YXRlKTtcblxuXHRAZXh0ZW5kICVncmlkbGUtcHVzaC1wdWxsLWNvbW1vbjtcblx0QGlmICRkZWJ1ZyA9PSB0cnVlIHtcblx0XHQjeyRncmlkbGUtZGVidWctc2VsZWN0b3J9IHtcblx0XHRcdEBleHRlbmQgJWdyaWRsZS1wdXNoLXB1bGwtZGVidWctYmFja2dyb3VuZC1jb21tb247XG5cdFx0XHRiYWNrZ3JvdW5kLWNvbG9yOiNjZmU0ZDUgIWltcG9ydGFudDtcblx0XHR9XG5cdH1cbn1cbkBtaXhpbiBfZ3JpZGxlX3ByZWZpeF9jb21tb24oXG5cdCRzdGF0ZSA6IGRlZmF1bHRcbikge1xuXHQkZGVidWcgOiBfZ3JpZGxlX2dldF92YXJfdmFsdWUoZGVidWcsICRzdGF0ZSk7XG5cdEBpZiAkZGVidWcgPT0gdHJ1ZSB7XG5cdFx0I3skZ3JpZGxlLWRlYnVnLXNlbGVjdG9yfSB7XG5cdFx0XHRAZXh0ZW5kICVncmlkbGUtcHJlZml4LWRlYnVnLWNvbW1vbjtcblx0XHR9XG5cdH1cbn1cbkBtaXhpbiBfZ3JpZGxlX3N1ZmZpeF9jb21tb24oXG5cdCRzdGF0ZSA6IGRlZmF1bHRcbikge1xuXHQkZGVidWcgOiBfZ3JpZGxlX2dldF92YXJfdmFsdWUoZGVidWcsICRzdGF0ZSk7XG5cdEBpZiAkZGVidWcgPT0gdHJ1ZSB7XG5cdFx0I3skZ3JpZGxlLWRlYnVnLXNlbGVjdG9yfSB7XG5cdFx0XHRAZXh0ZW5kICVncmlkbGUtc3VmZml4LWRlYnVnLWNvbW1vbjtcblx0XHR9XG5cdH1cbn0iLCIvLyBHcmlkXG4vL1xuLy8gTWFya3VwOiBncmlkLmh0bWxcbi8vXG4vLyBTdHlsZSBndWlkZTogOC4wXG4kZ3JpZGxlLWNsYXNzLXByZWZpeDogJ3NjJztcblxuQGltcG9ydCBcImdyaWRsZS9zYXNzL2dyaWRsZS9ncmlkbGVcIjtcblxuQGluY2x1ZGUgZ3JpZGxlX3NldHVwKChcbiAgY29udGV4dDogMjQsXG4gIGd1dHRlci13aWR0aDogMzJweFxuKSk7XG5cbkBpbmNsdWRlIGdyaWRsZV9nZW5lcmF0ZV9jbGFzc2VzKCk7XG5cbi8vIENhcmQgR3JpZFxuLy9cbi8vIE1hcmt1cDogY2FyZC1ncmlkLmh0bWxcbi8vXG4vLyBTdHlsZSBndWlkZTogOC4xXG4uc2MtcHJvZHVjdC1ncmlkIHtcbiAgd2lkdGg6IDExNDBweDtcbiAgLnJlZmluZW1lbnRzIHtcbiAgICBAaW5jbHVkZSBncmlkbGUoNik7XG4gICAgdHJhbnNpdGlvbjogYWxsIDMwMG1zIGVhc2U7XG4gIH1cbiAgLnByb2R1Y3RzIHtcbiAgICBAaW5jbHVkZSBncmlkbGUoMTgpO1xuICAgIEBpbmNsdWRlIGdyaWRsZV9wYXJlbnQoKTtcbiAgICB0cmFuc2l0aW9uOiBhbGwgMzAwbXMgZWFzZTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVooMCwwLDApO1xuXG4gICAgLnNjLXByb2R1Y3QtY2FyZCB7XG4gICAgICB0cmFuc2l0aW9uOiBhbGwgMzAwbXMgZWFzZTtcbiAgICAgIC8vIHRyYW5zZm9ybTogdHJhbnNsYXRlWigwLDAsMCk7XG4gICAgICBib3JkZXItcmlnaHQ6IDFweCBzb2xpZCAjZGNkY2RjO1xuXG5cbiAgICAgIC5zYy1jYXJkLWZsYWcge1xuICAgICAgICB6LWluZGV4OiAxO1xuICAgICAgfVxuXG4gICAgICBAaW5jbHVkZSBncmlkbGUoOCk7XG5cbiAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjZGNkY2RjO1xuXG4gICAgICAmOm50aC1jaGlsZCgzbiszKSB7XG4gICAgICAgIGJvcmRlci1yaWdodDogMDtcbiAgICAgIH1cblxuICAgICAgZmlndXJlIGltZyB7XG4gICAgICAgIHRyYW5zaXRpb246IGFsbCAzMDBtcyBlYXNlO1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVooMCwwLDApO1xuICAgICAgICB3aWR0aDogMjIycHg7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgJi5jb2xsYXBzZWQge1xuICAgIC5yZWZpbmVtZW50cyB7XG4gICAgICAvLyBAaW5jbHVkZSBncmlkbGUoMCk7XG4gICAgICB3aWR0aDogMDtcbiAgICAgIGhlaWdodDogMDtcbiAgICAgIG9wYWNpdHk6IDA7XG4gICAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgICAgIC8vIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB9XG4gICAgLnByb2R1Y3RzIHtcbiAgICAgIEBpbmNsdWRlIGdyaWRsZSgyNCk7XG4gICAgICBhbmltYXRpb246IGNvbGxhcHNlLXJlZmluZW1lbnRzIDMwMG1zIGVhc2U7XG5cbiAgICAgIC5zYy1wcm9kdWN0LWNhcmQge1xuICAgICAgICBoZWlnaHQ6IDQ1MHB4O1xuXG4gICAgICAgIGZpZ3VyZSB7XG4gICAgICAgICAgaGVpZ2h0OiAzMzBweDtcbiAgICAgICAgfVxuXG4gICAgICAgIGZpZ3VyZSBpbWcge1xuICAgICAgICAgIHdpZHRoOiAyOTBweDtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG5Aa2V5ZnJhbWVzIGNvbGxhcHNlLXJlZmluZW1lbnRzIHtcbiAgZnJvbSB7IG1hcmdpbi1sZWZ0OiAyNSU7IH1cbiAgdG8geyBtYXJnaW4tbGVmdDogMDt9XG59XG4iLCIvLyBJbnB1dHNcbi8vXG4vLyBJbnB1dHMgYWxsb3cgdXNlcnMgdG8gc3VwcGx5IGRhdGEgdG8gYW4gYXBwbGljYXRpb24uXG4vL1xuLy8gRXhwaXJlbWVudGFsOiBXSVBcbi8vXG4vLyBNYXJrdXA6IGlucHV0Lmh0bWxcbi8vXG4vLyBTdHlsZSBndWlkZTogMy4wXG5cbi5zYy1pbnB1dCB7XG4gIGJvcmRlcjogMXB4IHNvbGlkICNhYWE7XG4gIGJvcmRlci1yYWRpdXM6IDNweDtcbiAgcGFkZGluZzogNHB4IDhweDtcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDtcblxuICAmOmFjdGl2ZSwgJjpmb2N1cyB7XG4gICAgb3V0bGluZTogbm9uZTtcbiAgfVxuXG4gICYuc2MtaGlkZS1zcGlubmVyIHtcbiAgICAtbW96LWFwcGVhcmFuY2U6IHRleHRmaWVsZDtcblxuICAgICY6Oi13ZWJraXQtb3V0ZXItc3Bpbi1idXR0b24sXG4gICAgJjo6LXdlYmtpdC1pbm5lci1zcGluLWJ1dHRvbiB7XG4gICAgICAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7XG4gICAgICBtYXJnaW46IDA7XG4gICAgfVxuICB9XG59XG5cbi8vIE51bWVyaWMgaW5wdXRcbi8vXG4vLyAuc2MtaGlkZS1zcGlubmVyIC0gSGlkZSB0aGUgYnJvd3NlciBkZWZpbmVkIHNwaW5uZXJcbi8vXG4vLyBNYXJrdXA6IG51bWJlci1pbnB1dC5odG1sXG4vL1xuLy8gU3R5bGUgZ3VpZGU6IDMuMVxuIiwiLy8gU3BlYyBUYWJsZVxuLy9cbi8vIE1hcmt1cDogdGFibGUuaHRtbFxuLy9cbi8vIFN0eWxlIGd1aWRlOiA1LjBcblxuLnNjLXNwZWMtdGFibGUge1xuICB3aWR0aDogMTAwJTtcblxuICB0aCB7XG4gICAgQGluY2x1ZGUgZm9udHNpemUoMTRweCwgMTdweCk7XG4gICAgZm9udC13ZWlnaHQ6IDMwMDtcbiAgICB2ZXJ0aWNhbC1hbGlnbjogdGV4dC1ib3R0b207XG4gICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgICBwYWRkaW5nOiAzZW0gMmVtIDAgMWVtO1xuICAgIHdoaXRlLXNwYWNlOiBwcmU7XG4gICAgZGlzcGxheTogdGFibGUtY2VsbDtcbiAgICBjb2xvcjogIzg3ODc4NztcbiAgfVxuXG4gIHRkIHtcbiAgICBAZXh0ZW5kICVzZXJpZjtcbiAgICBAaW5jbHVkZSBmb250c2l6ZSgzMnB4LCAzOHB4KTtcbiAgICBmb250LXdlaWdodDogNzAwO1xuICAgIHZlcnRpY2FsLWFsaWduOiB0ZXh0LWJvdHRvbTtcbiAgICB3aWR0aDogMTAwJTtcbiAgfVxuXG4gIHRyIHtcbiAgICBib3JkZXItYm90dG9tOiAycHggc29saWQgI0YyRjFFRDtcbiAgfVxufVxuIiwiLypcblNDU1MgdmFyaWFibGVzIGFyZSBpbmZvcm1hdGlvbiBhYm91dCBpY29uJ3MgY29tcGlsZWQgc3RhdGUsIHN0b3JlZCB1bmRlciBpdHMgb3JpZ2luYWwgZmlsZSBuYW1lXG5cbi5pY29uLWhvbWUge1xuICB3aWR0aDogJGljb24taG9tZS13aWR0aDtcbn1cblxuVGhlIGxhcmdlIGFycmF5LWxpa2UgdmFyaWFibGVzIGNvbnRhaW4gYWxsIGluZm9ybWF0aW9uIGFib3V0IGEgc2luZ2xlIGljb25cbiRpY29uLWhvbWU6IHggeSBvZmZzZXRfeCBvZmZzZXRfeSB3aWR0aCBoZWlnaHQgdG90YWxfd2lkdGggdG90YWxfaGVpZ2h0IGltYWdlX3BhdGg7XG5cbkF0IHRoZSBib3R0b20gb2YgdGhpcyBzZWN0aW9uLCB3ZSBwcm92aWRlIGluZm9ybWF0aW9uIGFib3V0IHRoZSBzcHJpdGVzaGVldCBpdHNlbGZcbiRzcHJpdGVzaGVldDogd2lkdGggaGVpZ2h0IGltYWdlICRzcHJpdGVzaGVldC1zcHJpdGVzO1xuKi9cbiQtY2FydC1uYW1lOiAnQ2FydCc7XG4kLWNhcnQteDogMzI5cHg7XG4kLWNhcnQteTogMzZweDtcbiQtY2FydC1vZmZzZXQteDogLTMyOXB4O1xuJC1jYXJ0LW9mZnNldC15OiAtMzZweDtcbiQtY2FydC13aWR0aDogNDRweDtcbiQtY2FydC1oZWlnaHQ6IDQ0cHg7XG4kLWNhcnQtdG90YWwtd2lkdGg6IDM4OXB4O1xuJC1jYXJ0LXRvdGFsLWhlaWdodDogMjg1cHg7XG4kLWNhcnQtaW1hZ2U6ICdzcHJpdGUucG5nJztcbiQtY2FydDogKDMyOXB4LCAzNnB4LCAtMzI5cHgsIC0zNnB4LCA0NHB4LCA0NHB4LCAzODlweCwgMjg1cHgsICdzcHJpdGUucG5nJywgJ0NhcnQnLCApO1xuJC1sb2dvLW5hbWU6ICdMb2dvJztcbiQtbG9nby14OiAyMjNweDtcbiQtbG9nby15OiAwcHg7XG4kLWxvZ28tb2Zmc2V0LXg6IC0yMjNweDtcbiQtbG9nby1vZmZzZXQteTogMHB4O1xuJC1sb2dvLXdpZHRoOiAxNjZweDtcbiQtbG9nby1oZWlnaHQ6IDM2cHg7XG4kLWxvZ28tdG90YWwtd2lkdGg6IDM4OXB4O1xuJC1sb2dvLXRvdGFsLWhlaWdodDogMjg1cHg7XG4kLWxvZ28taW1hZ2U6ICdzcHJpdGUucG5nJztcbiQtbG9nbzogKDIyM3B4LCAwcHgsIC0yMjNweCwgMHB4LCAxNjZweCwgMzZweCwgMzg5cHgsIDI4NXB4LCAnc3ByaXRlLnBuZycsICdMb2dvJywgKTtcbiRhZGQtdG8tbGlzdC1uYW1lOiAnYWRkLXRvLWxpc3QnO1xuJGFkZC10by1saXN0LXg6IDIyM3B4O1xuJGFkZC10by1saXN0LXk6IDExNnB4O1xuJGFkZC10by1saXN0LW9mZnNldC14OiAtMjIzcHg7XG4kYWRkLXRvLWxpc3Qtb2Zmc2V0LXk6IC0xMTZweDtcbiRhZGQtdG8tbGlzdC13aWR0aDogMzNweDtcbiRhZGQtdG8tbGlzdC1oZWlnaHQ6IDMzcHg7XG4kYWRkLXRvLWxpc3QtdG90YWwtd2lkdGg6IDM4OXB4O1xuJGFkZC10by1saXN0LXRvdGFsLWhlaWdodDogMjg1cHg7XG4kYWRkLXRvLWxpc3QtaW1hZ2U6ICdzcHJpdGUucG5nJztcbiRhZGQtdG8tbGlzdDogKDIyM3B4LCAxMTZweCwgLTIyM3B4LCAtMTE2cHgsIDMzcHgsIDMzcHgsIDM4OXB4LCAyODVweCwgJ3Nwcml0ZS5wbmcnLCAnYWRkLXRvLWxpc3QnLCApO1xuJGFycm93LWdyZWVuLWJnLW5hbWU6ICdhcnJvdy1ncmVlbi1iZyc7XG4kYXJyb3ctZ3JlZW4tYmcteDogMzI5cHg7XG4kYXJyb3ctZ3JlZW4tYmcteTogODBweDtcbiRhcnJvdy1ncmVlbi1iZy1vZmZzZXQteDogLTMyOXB4O1xuJGFycm93LWdyZWVuLWJnLW9mZnNldC15OiAtODBweDtcbiRhcnJvdy1ncmVlbi1iZy13aWR0aDogMzNweDtcbiRhcnJvdy1ncmVlbi1iZy1oZWlnaHQ6IDMzcHg7XG4kYXJyb3ctZ3JlZW4tYmctdG90YWwtd2lkdGg6IDM4OXB4O1xuJGFycm93LWdyZWVuLWJnLXRvdGFsLWhlaWdodDogMjg1cHg7XG4kYXJyb3ctZ3JlZW4tYmctaW1hZ2U6ICdzcHJpdGUucG5nJztcbiRhcnJvdy1ncmVlbi1iZzogKDMyOXB4LCA4MHB4LCAtMzI5cHgsIC04MHB4LCAzM3B4LCAzM3B4LCAzODlweCwgMjg1cHgsICdzcHJpdGUucG5nJywgJ2Fycm93LWdyZWVuLWJnJywgKTtcbiRhcnJvdy1ncmVlbi1uYW1lOiAnYXJyb3ctZ3JlZW4nO1xuJGFycm93LWdyZWVuLXg6IDI3MXB4O1xuJGFycm93LWdyZWVuLXk6IDE0OXB4O1xuJGFycm93LWdyZWVuLW9mZnNldC14OiAtMjcxcHg7XG4kYXJyb3ctZ3JlZW4tb2Zmc2V0LXk6IC0xNDlweDtcbiRhcnJvdy1ncmVlbi13aWR0aDogMTdweDtcbiRhcnJvdy1ncmVlbi1oZWlnaHQ6IDE0cHg7XG4kYXJyb3ctZ3JlZW4tdG90YWwtd2lkdGg6IDM4OXB4O1xuJGFycm93LWdyZWVuLXRvdGFsLWhlaWdodDogMjg1cHg7XG4kYXJyb3ctZ3JlZW4taW1hZ2U6ICdzcHJpdGUucG5nJztcbiRhcnJvdy1ncmVlbjogKDI3MXB4LCAxNDlweCwgLTI3MXB4LCAtMTQ5cHgsIDE3cHgsIDE0cHgsIDM4OXB4LCAyODVweCwgJ3Nwcml0ZS5wbmcnLCAnYXJyb3ctZ3JlZW4nLCApO1xuJGFycm93LWdyZXktbmFtZTogJ2Fycm93LWdyZXknO1xuJGFycm93LWdyZXkteDogMjMzcHg7XG4kYXJyb3ctZ3JleS15OiAxNjVweDtcbiRhcnJvdy1ncmV5LW9mZnNldC14OiAtMjMzcHg7XG4kYXJyb3ctZ3JleS1vZmZzZXQteTogLTE2NXB4O1xuJGFycm93LWdyZXktd2lkdGg6IDhweDtcbiRhcnJvdy1ncmV5LWhlaWdodDogMTRweDtcbiRhcnJvdy1ncmV5LXRvdGFsLXdpZHRoOiAzODlweDtcbiRhcnJvdy1ncmV5LXRvdGFsLWhlaWdodDogMjg1cHg7XG4kYXJyb3ctZ3JleS1pbWFnZTogJ3Nwcml0ZS5wbmcnO1xuJGFycm93LWdyZXk6ICgyMzNweCwgMTY1cHgsIC0yMzNweCwgLTE2NXB4LCA4cHgsIDE0cHgsIDM4OXB4LCAyODVweCwgJ3Nwcml0ZS5wbmcnLCAnYXJyb3ctZ3JleScsICk7XG4kYXJyb3ctaGItbHQtbmFtZTogJ2Fycm93LWhiLWx0JztcbiRhcnJvdy1oYi1sdC14OiAyMjNweDtcbiRhcnJvdy1oYi1sdC15OiAzNnB4O1xuJGFycm93LWhiLWx0LW9mZnNldC14OiAtMjIzcHg7XG4kYXJyb3ctaGItbHQtb2Zmc2V0LXk6IC0zNnB4O1xuJGFycm93LWhiLWx0LXdpZHRoOiA1M3B4O1xuJGFycm93LWhiLWx0LWhlaWdodDogODBweDtcbiRhcnJvdy1oYi1sdC10b3RhbC13aWR0aDogMzg5cHg7XG4kYXJyb3ctaGItbHQtdG90YWwtaGVpZ2h0OiAyODVweDtcbiRhcnJvdy1oYi1sdC1pbWFnZTogJ3Nwcml0ZS5wbmcnO1xuJGFycm93LWhiLWx0OiAoMjIzcHgsIDM2cHgsIC0yMjNweCwgLTM2cHgsIDUzcHgsIDgwcHgsIDM4OXB4LCAyODVweCwgJ3Nwcml0ZS5wbmcnLCAnYXJyb3ctaGItbHQnLCApO1xuJGFycm93LWhiLXJ0LW5hbWU6ICdhcnJvdy1oYi1ydCc7XG4kYXJyb3ctaGItcnQteDogMjc2cHg7XG4kYXJyb3ctaGItcnQteTogMzZweDtcbiRhcnJvdy1oYi1ydC1vZmZzZXQteDogLTI3NnB4O1xuJGFycm93LWhiLXJ0LW9mZnNldC15OiAtMzZweDtcbiRhcnJvdy1oYi1ydC13aWR0aDogNTNweDtcbiRhcnJvdy1oYi1ydC1oZWlnaHQ6IDgwcHg7XG4kYXJyb3ctaGItcnQtdG90YWwtd2lkdGg6IDM4OXB4O1xuJGFycm93LWhiLXJ0LXRvdGFsLWhlaWdodDogMjg1cHg7XG4kYXJyb3ctaGItcnQtaW1hZ2U6ICdzcHJpdGUucG5nJztcbiRhcnJvdy1oYi1ydDogKDI3NnB4LCAzNnB4LCAtMjc2cHgsIC0zNnB4LCA1M3B4LCA4MHB4LCAzODlweCwgMjg1cHgsICdzcHJpdGUucG5nJywgJ2Fycm93LWhiLXJ0JywgKTtcbiRiYWNrLWNoZXZyb24tbmFtZTogJ2JhY2stY2hldnJvbic7XG4kYmFjay1jaGV2cm9uLXg6IDM2MnB4O1xuJGJhY2stY2hldnJvbi15OiAxMDNweDtcbiRiYWNrLWNoZXZyb24tb2Zmc2V0LXg6IC0zNjJweDtcbiRiYWNrLWNoZXZyb24tb2Zmc2V0LXk6IC0xMDNweDtcbiRiYWNrLWNoZXZyb24td2lkdGg6IDZweDtcbiRiYWNrLWNoZXZyb24taGVpZ2h0OiAxMHB4O1xuJGJhY2stY2hldnJvbi10b3RhbC13aWR0aDogMzg5cHg7XG4kYmFjay1jaGV2cm9uLXRvdGFsLWhlaWdodDogMjg1cHg7XG4kYmFjay1jaGV2cm9uLWltYWdlOiAnc3ByaXRlLnBuZyc7XG4kYmFjay1jaGV2cm9uOiAoMzYycHgsIDEwM3B4LCAtMzYycHgsIC0xMDNweCwgNnB4LCAxMHB4LCAzODlweCwgMjg1cHgsICdzcHJpdGUucG5nJywgJ2JhY2stY2hldnJvbicsICk7XG4kY2FyZXQtZG93bi1ncmVlbi1uYW1lOiAnY2FyZXQtZG93bi1ncmVlbic7XG4kY2FyZXQtZG93bi1ncmVlbi14OiAzNjhweDtcbiRjYXJldC1kb3duLWdyZWVuLXk6IDEwM3B4O1xuJGNhcmV0LWRvd24tZ3JlZW4tb2Zmc2V0LXg6IC0zNjhweDtcbiRjYXJldC1kb3duLWdyZWVuLW9mZnNldC15OiAtMTAzcHg7XG4kY2FyZXQtZG93bi1ncmVlbi13aWR0aDogOHB4O1xuJGNhcmV0LWRvd24tZ3JlZW4taGVpZ2h0OiA1cHg7XG4kY2FyZXQtZG93bi1ncmVlbi10b3RhbC13aWR0aDogMzg5cHg7XG4kY2FyZXQtZG93bi1ncmVlbi10b3RhbC1oZWlnaHQ6IDI4NXB4O1xuJGNhcmV0LWRvd24tZ3JlZW4taW1hZ2U6ICdzcHJpdGUucG5nJztcbiRjYXJldC1kb3duLWdyZWVuOiAoMzY4cHgsIDEwM3B4LCAtMzY4cHgsIC0xMDNweCwgOHB4LCA1cHgsIDM4OXB4LCAyODVweCwgJ3Nwcml0ZS5wbmcnLCAnY2FyZXQtZG93bi1ncmVlbicsICk7XG4kY2FyZXQtZG93bi1yZWQtbmFtZTogJ2NhcmV0LWRvd24tcmVkJztcbiRjYXJldC1kb3duLXJlZC14OiAzNzZweDtcbiRjYXJldC1kb3duLXJlZC15OiAxMDNweDtcbiRjYXJldC1kb3duLXJlZC1vZmZzZXQteDogLTM3NnB4O1xuJGNhcmV0LWRvd24tcmVkLW9mZnNldC15OiAtMTAzcHg7XG4kY2FyZXQtZG93bi1yZWQtd2lkdGg6IDhweDtcbiRjYXJldC1kb3duLXJlZC1oZWlnaHQ6IDVweDtcbiRjYXJldC1kb3duLXJlZC10b3RhbC13aWR0aDogMzg5cHg7XG4kY2FyZXQtZG93bi1yZWQtdG90YWwtaGVpZ2h0OiAyODVweDtcbiRjYXJldC1kb3duLXJlZC1pbWFnZTogJ3Nwcml0ZS5wbmcnO1xuJGNhcmV0LWRvd24tcmVkOiAoMzc2cHgsIDEwM3B4LCAtMzc2cHgsIC0xMDNweCwgOHB4LCA1cHgsIDM4OXB4LCAyODVweCwgJ3Nwcml0ZS5wbmcnLCAnY2FyZXQtZG93bi1yZWQnLCApO1xuJGNoZWNrLWdyZWVuLW5hbWU6ICdjaGVjay1ncmVlbic7XG4kY2hlY2stZ3JlZW4teDogMzczcHg7XG4kY2hlY2stZ3JlZW4teTogNjhweDtcbiRjaGVjay1ncmVlbi1vZmZzZXQteDogLTM3M3B4O1xuJGNoZWNrLWdyZWVuLW9mZnNldC15OiAtNjhweDtcbiRjaGVjay1ncmVlbi13aWR0aDogMTRweDtcbiRjaGVjay1ncmVlbi1oZWlnaHQ6IDEycHg7XG4kY2hlY2stZ3JlZW4tdG90YWwtd2lkdGg6IDM4OXB4O1xuJGNoZWNrLWdyZWVuLXRvdGFsLWhlaWdodDogMjg1cHg7XG4kY2hlY2stZ3JlZW4taW1hZ2U6ICdzcHJpdGUucG5nJztcbiRjaGVjay1ncmVlbjogKDM3M3B4LCA2OHB4LCAtMzczcHgsIC02OHB4LCAxNHB4LCAxMnB4LCAzODlweCwgMjg1cHgsICdzcHJpdGUucG5nJywgJ2NoZWNrLWdyZWVuJywgKTtcbiRjbG9zZS1pY29uLW5hbWU6ICdjbG9zZS1pY29uJztcbiRjbG9zZS1pY29uLXg6IDMwNHB4O1xuJGNsb3NlLWljb24teTogMTQ5cHg7XG4kY2xvc2UtaWNvbi1vZmZzZXQteDogLTMwNHB4O1xuJGNsb3NlLWljb24tb2Zmc2V0LXk6IC0xNDlweDtcbiRjbG9zZS1pY29uLXdpZHRoOiAxMnB4O1xuJGNsb3NlLWljb24taGVpZ2h0OiAxM3B4O1xuJGNsb3NlLWljb24tdG90YWwtd2lkdGg6IDM4OXB4O1xuJGNsb3NlLWljb24tdG90YWwtaGVpZ2h0OiAyODVweDtcbiRjbG9zZS1pY29uLWltYWdlOiAnc3ByaXRlLnBuZyc7XG4kY2xvc2UtaWNvbjogKDMwNHB4LCAxNDlweCwgLTMwNHB4LCAtMTQ5cHgsIDEycHgsIDEzcHgsIDM4OXB4LCAyODVweCwgJ3Nwcml0ZS5wbmcnLCAnY2xvc2UtaWNvbicsICk7XG4kY2xvc2UtbmFtZTogJ2Nsb3NlJztcbiRjbG9zZS14OiAzNzZweDtcbiRjbG9zZS15OiAxMTZweDtcbiRjbG9zZS1vZmZzZXQteDogLTM3NnB4O1xuJGNsb3NlLW9mZnNldC15OiAtMTE2cHg7XG4kY2xvc2Utd2lkdGg6IDEycHg7XG4kY2xvc2UtaGVpZ2h0OiAxM3B4O1xuJGNsb3NlLXRvdGFsLXdpZHRoOiAzODlweDtcbiRjbG9zZS10b3RhbC1oZWlnaHQ6IDI4NXB4O1xuJGNsb3NlLWltYWdlOiAnc3ByaXRlLnBuZyc7XG4kY2xvc2U6ICgzNzZweCwgMTE2cHgsIC0zNzZweCwgLTExNnB4LCAxMnB4LCAxM3B4LCAzODlweCwgMjg1cHgsICdzcHJpdGUucG5nJywgJ2Nsb3NlJywgKTtcbiRmYWNlYm9vay1uYW1lOiAnZmFjZWJvb2snO1xuJGZhY2Vib29rLXg6IDIyM3B4O1xuJGZhY2Vib29rLXk6IDE0OXB4O1xuJGZhY2Vib29rLW9mZnNldC14OiAtMjIzcHg7XG4kZmFjZWJvb2stb2Zmc2V0LXk6IC0xNDlweDtcbiRmYWNlYm9vay13aWR0aDogMTZweDtcbiRmYWNlYm9vay1oZWlnaHQ6IDE2cHg7XG4kZmFjZWJvb2stdG90YWwtd2lkdGg6IDM4OXB4O1xuJGZhY2Vib29rLXRvdGFsLWhlaWdodDogMjg1cHg7XG4kZmFjZWJvb2staW1hZ2U6ICdzcHJpdGUucG5nJztcbiRmYWNlYm9vazogKDIyM3B4LCAxNDlweCwgLTIyM3B4LCAtMTQ5cHgsIDE2cHgsIDE2cHgsIDM4OXB4LCAyODVweCwgJ3Nwcml0ZS5wbmcnLCAnZmFjZWJvb2snLCApO1xuJGdvb2dsZS1uYW1lOiAnZ29vZ2xlJztcbiRnb29nbGUteDogMjM5cHg7XG4kZ29vZ2xlLXk6IDE0OXB4O1xuJGdvb2dsZS1vZmZzZXQteDogLTIzOXB4O1xuJGdvb2dsZS1vZmZzZXQteTogLTE0OXB4O1xuJGdvb2dsZS13aWR0aDogMTZweDtcbiRnb29nbGUtaGVpZ2h0OiAxNnB4O1xuJGdvb2dsZS10b3RhbC13aWR0aDogMzg5cHg7XG4kZ29vZ2xlLXRvdGFsLWhlaWdodDogMjg1cHg7XG4kZ29vZ2xlLWltYWdlOiAnc3ByaXRlLnBuZyc7XG4kZ29vZ2xlOiAoMjM5cHgsIDE0OXB4LCAtMjM5cHgsIC0xNDlweCwgMTZweCwgMTZweCwgMzg5cHgsIDI4NXB4LCAnc3ByaXRlLnBuZycsICdnb29nbGUnLCApO1xuJGdyZWF0ZXItdGhhbi1ncmVlbi1uYW1lOiAnZ3JlYXRlci10aGFuLWdyZWVuJztcbiRncmVhdGVyLXRoYW4tZ3JlZW4teDogMjIzcHg7XG4kZ3JlYXRlci10aGFuLWdyZWVuLXk6IDE2NXB4O1xuJGdyZWF0ZXItdGhhbi1ncmVlbi1vZmZzZXQteDogLTIyM3B4O1xuJGdyZWF0ZXItdGhhbi1ncmVlbi1vZmZzZXQteTogLTE2NXB4O1xuJGdyZWF0ZXItdGhhbi1ncmVlbi13aWR0aDogMTBweDtcbiRncmVhdGVyLXRoYW4tZ3JlZW4taGVpZ2h0OiAxNHB4O1xuJGdyZWF0ZXItdGhhbi1ncmVlbi10b3RhbC13aWR0aDogMzg5cHg7XG4kZ3JlYXRlci10aGFuLWdyZWVuLXRvdGFsLWhlaWdodDogMjg1cHg7XG4kZ3JlYXRlci10aGFuLWdyZWVuLWltYWdlOiAnc3ByaXRlLnBuZyc7XG4kZ3JlYXRlci10aGFuLWdyZWVuOiAoMjIzcHgsIDE2NXB4LCAtMjIzcHgsIC0xNjVweCwgMTBweCwgMTRweCwgMzg5cHgsIDI4NXB4LCAnc3ByaXRlLnBuZycsICdncmVhdGVyLXRoYW4tZ3JlZW4nLCApO1xuJGdyZWF0ZXItdGhhbi13aGl0ZS1zbWFsbC1uYW1lOiAnZ3JlYXRlci10aGFuLXdoaXRlLXNtYWxsJztcbiRncmVhdGVyLXRoYW4td2hpdGUtc21hbGwteDogMjMycHg7XG4kZ3JlYXRlci10aGFuLXdoaXRlLXNtYWxsLXk6IDE3OXB4O1xuJGdyZWF0ZXItdGhhbi13aGl0ZS1zbWFsbC1vZmZzZXQteDogLTIzMnB4O1xuJGdyZWF0ZXItdGhhbi13aGl0ZS1zbWFsbC1vZmZzZXQteTogLTE3OXB4O1xuJGdyZWF0ZXItdGhhbi13aGl0ZS1zbWFsbC13aWR0aDogOXB4O1xuJGdyZWF0ZXItdGhhbi13aGl0ZS1zbWFsbC1oZWlnaHQ6IDE1cHg7XG4kZ3JlYXRlci10aGFuLXdoaXRlLXNtYWxsLXRvdGFsLXdpZHRoOiAzODlweDtcbiRncmVhdGVyLXRoYW4td2hpdGUtc21hbGwtdG90YWwtaGVpZ2h0OiAyODVweDtcbiRncmVhdGVyLXRoYW4td2hpdGUtc21hbGwtaW1hZ2U6ICdzcHJpdGUucG5nJztcbiRncmVhdGVyLXRoYW4td2hpdGUtc21hbGw6ICgyMzJweCwgMTc5cHgsIC0yMzJweCwgLTE3OXB4LCA5cHgsIDE1cHgsIDM4OXB4LCAyODVweCwgJ3Nwcml0ZS5wbmcnLCAnZ3JlYXRlci10aGFuLXdoaXRlLXNtYWxsJywgKTtcbiRncmVhdGVyLXRoYW4td2hpdGUtbmFtZTogJ2dyZWF0ZXItdGhhbi13aGl0ZSc7XG4kZ3JlYXRlci10aGFuLXdoaXRlLXg6IDIyM3B4O1xuJGdyZWF0ZXItdGhhbi13aGl0ZS15OiAxNzlweDtcbiRncmVhdGVyLXRoYW4td2hpdGUtb2Zmc2V0LXg6IC0yMjNweDtcbiRncmVhdGVyLXRoYW4td2hpdGUtb2Zmc2V0LXk6IC0xNzlweDtcbiRncmVhdGVyLXRoYW4td2hpdGUtd2lkdGg6IDlweDtcbiRncmVhdGVyLXRoYW4td2hpdGUtaGVpZ2h0OiAxNXB4O1xuJGdyZWF0ZXItdGhhbi13aGl0ZS10b3RhbC13aWR0aDogMzg5cHg7XG4kZ3JlYXRlci10aGFuLXdoaXRlLXRvdGFsLWhlaWdodDogMjg1cHg7XG4kZ3JlYXRlci10aGFuLXdoaXRlLWltYWdlOiAnc3ByaXRlLnBuZyc7XG4kZ3JlYXRlci10aGFuLXdoaXRlOiAoMjIzcHgsIDE3OXB4LCAtMjIzcHgsIC0xNzlweCwgOXB4LCAxNXB4LCAzODlweCwgMjg1cHgsICdzcHJpdGUucG5nJywgJ2dyZWF0ZXItdGhhbi13aGl0ZScsICk7XG4kaG90LWJ1eXMtbGVmdC1zaGFkZS1uYW1lOiAnaG90LWJ1eXMtbGVmdC1zaGFkZSc7XG4kaG90LWJ1eXMtbGVmdC1zaGFkZS14OiAwcHg7XG4kaG90LWJ1eXMtbGVmdC1zaGFkZS15OiAwcHg7XG4kaG90LWJ1eXMtbGVmdC1zaGFkZS1vZmZzZXQteDogMHB4O1xuJGhvdC1idXlzLWxlZnQtc2hhZGUtb2Zmc2V0LXk6IDBweDtcbiRob3QtYnV5cy1sZWZ0LXNoYWRlLXdpZHRoOiA5NXB4O1xuJGhvdC1idXlzLWxlZnQtc2hhZGUtaGVpZ2h0OiAyODVweDtcbiRob3QtYnV5cy1sZWZ0LXNoYWRlLXRvdGFsLXdpZHRoOiAzODlweDtcbiRob3QtYnV5cy1sZWZ0LXNoYWRlLXRvdGFsLWhlaWdodDogMjg1cHg7XG4kaG90LWJ1eXMtbGVmdC1zaGFkZS1pbWFnZTogJ3Nwcml0ZS5wbmcnO1xuJGhvdC1idXlzLWxlZnQtc2hhZGU6ICgwcHgsIDBweCwgMHB4LCAwcHgsIDk1cHgsIDI4NXB4LCAzODlweCwgMjg1cHgsICdzcHJpdGUucG5nJywgJ2hvdC1idXlzLWxlZnQtc2hhZGUnLCApO1xuJGhvdC1idXlzLXJpZ2h0LXNoYWRlLW5hbWU6ICdob3QtYnV5cy1yaWdodC1zaGFkZSc7XG4kaG90LWJ1eXMtcmlnaHQtc2hhZGUteDogOTVweDtcbiRob3QtYnV5cy1yaWdodC1zaGFkZS15OiAwcHg7XG4kaG90LWJ1eXMtcmlnaHQtc2hhZGUtb2Zmc2V0LXg6IC05NXB4O1xuJGhvdC1idXlzLXJpZ2h0LXNoYWRlLW9mZnNldC15OiAwcHg7XG4kaG90LWJ1eXMtcmlnaHQtc2hhZGUtd2lkdGg6IDEyOHB4O1xuJGhvdC1idXlzLXJpZ2h0LXNoYWRlLWhlaWdodDogMTkwcHg7XG4kaG90LWJ1eXMtcmlnaHQtc2hhZGUtdG90YWwtd2lkdGg6IDM4OXB4O1xuJGhvdC1idXlzLXJpZ2h0LXNoYWRlLXRvdGFsLWhlaWdodDogMjg1cHg7XG4kaG90LWJ1eXMtcmlnaHQtc2hhZGUtaW1hZ2U6ICdzcHJpdGUucG5nJztcbiRob3QtYnV5cy1yaWdodC1zaGFkZTogKDk1cHgsIDBweCwgLTk1cHgsIDBweCwgMTI4cHgsIDE5MHB4LCAzODlweCwgMjg1cHgsICdzcHJpdGUucG5nJywgJ2hvdC1idXlzLXJpZ2h0LXNoYWRlJywgKTtcbiRob3RidXlzLWFycm93LW5hbWU6ICdob3RidXlzLWFycm93JztcbiRob3RidXlzLWFycm93LXg6IDI1NnB4O1xuJGhvdGJ1eXMtYXJyb3cteTogMTE2cHg7XG4kaG90YnV5cy1hcnJvdy1vZmZzZXQteDogLTI1NnB4O1xuJGhvdGJ1eXMtYXJyb3ctb2Zmc2V0LXk6IC0xMTZweDtcbiRob3RidXlzLWFycm93LXdpZHRoOiAzMHB4O1xuJGhvdGJ1eXMtYXJyb3ctaGVpZ2h0OiAzMHB4O1xuJGhvdGJ1eXMtYXJyb3ctdG90YWwtd2lkdGg6IDM4OXB4O1xuJGhvdGJ1eXMtYXJyb3ctdG90YWwtaGVpZ2h0OiAyODVweDtcbiRob3RidXlzLWFycm93LWltYWdlOiAnc3ByaXRlLnBuZyc7XG4kaG90YnV5cy1hcnJvdzogKDI1NnB4LCAxMTZweCwgLTI1NnB4LCAtMTE2cHgsIDMwcHgsIDMwcHgsIDM4OXB4LCAyODVweCwgJ3Nwcml0ZS5wbmcnLCAnaG90YnV5cy1hcnJvdycsICk7XG4kbGVmdC1hcnJvdy1uYW1lOiAnbGVmdC1hcnJvdyc7XG4kbGVmdC1hcnJvdy14OiAzNThweDtcbiRsZWZ0LWFycm93LXk6IDExNnB4O1xuJGxlZnQtYXJyb3ctb2Zmc2V0LXg6IC0zNThweDtcbiRsZWZ0LWFycm93LW9mZnNldC15OiAtMTE2cHg7XG4kbGVmdC1hcnJvdy13aWR0aDogMThweDtcbiRsZWZ0LWFycm93LWhlaWdodDogMTVweDtcbiRsZWZ0LWFycm93LXRvdGFsLXdpZHRoOiAzODlweDtcbiRsZWZ0LWFycm93LXRvdGFsLWhlaWdodDogMjg1cHg7XG4kbGVmdC1hcnJvdy1pbWFnZTogJ3Nwcml0ZS5wbmcnO1xuJGxlZnQtYXJyb3c6ICgzNThweCwgMTE2cHgsIC0zNThweCwgLTExNnB4LCAxOHB4LCAxNXB4LCAzODlweCwgMjg1cHgsICdzcHJpdGUucG5nJywgJ2xlZnQtYXJyb3cnLCApO1xuJG1pbnVzLW5hbWU6ICdtaW51cyc7XG4kbWludXMteDogMzY4cHg7XG4kbWludXMteTogMTA4cHg7XG4kbWludXMtb2Zmc2V0LXg6IC0zNjhweDtcbiRtaW51cy1vZmZzZXQteTogLTEwOHB4O1xuJG1pbnVzLXdpZHRoOiAxNnB4O1xuJG1pbnVzLWhlaWdodDogMnB4O1xuJG1pbnVzLXRvdGFsLXdpZHRoOiAzODlweDtcbiRtaW51cy10b3RhbC1oZWlnaHQ6IDI4NXB4O1xuJG1pbnVzLWltYWdlOiAnc3ByaXRlLnBuZyc7XG4kbWludXM6ICgzNjhweCwgMTA4cHgsIC0zNjhweCwgLTEwOHB4LCAxNnB4LCAycHgsIDM4OXB4LCAyODVweCwgJ3Nwcml0ZS5wbmcnLCAnbWludXMnLCApO1xuJHAtZ3JpZC1hY3R2LW5hbWU6ICdwLWdyaWQtYWN0dic7XG4kcC1ncmlkLWFjdHYteDogMjU1cHg7XG4kcC1ncmlkLWFjdHYteTogMTQ5cHg7XG4kcC1ncmlkLWFjdHYtb2Zmc2V0LXg6IC0yNTVweDtcbiRwLWdyaWQtYWN0di1vZmZzZXQteTogLTE0OXB4O1xuJHAtZ3JpZC1hY3R2LXdpZHRoOiAxNnB4O1xuJHAtZ3JpZC1hY3R2LWhlaWdodDogMTZweDtcbiRwLWdyaWQtYWN0di10b3RhbC13aWR0aDogMzg5cHg7XG4kcC1ncmlkLWFjdHYtdG90YWwtaGVpZ2h0OiAyODVweDtcbiRwLWdyaWQtYWN0di1pbWFnZTogJ3Nwcml0ZS5wbmcnO1xuJHAtZ3JpZC1hY3R2OiAoMjU1cHgsIDE0OXB4LCAtMjU1cHgsIC0xNDlweCwgMTZweCwgMTZweCwgMzg5cHgsIDI4NXB4LCAnc3ByaXRlLnBuZycsICdwLWdyaWQtYWN0dicsICk7XG4kcC1ncmlkLW5hbWU6ICdwLWdyaWQnO1xuJHAtZ3JpZC14OiAzNzNweDtcbiRwLWdyaWQteTogNTJweDtcbiRwLWdyaWQtb2Zmc2V0LXg6IC0zNzNweDtcbiRwLWdyaWQtb2Zmc2V0LXk6IC01MnB4O1xuJHAtZ3JpZC13aWR0aDogMTZweDtcbiRwLWdyaWQtaGVpZ2h0OiAxNnB4O1xuJHAtZ3JpZC10b3RhbC13aWR0aDogMzg5cHg7XG4kcC1ncmlkLXRvdGFsLWhlaWdodDogMjg1cHg7XG4kcC1ncmlkLWltYWdlOiAnc3ByaXRlLnBuZyc7XG4kcC1ncmlkOiAoMzczcHgsIDUycHgsIC0zNzNweCwgLTUycHgsIDE2cHgsIDE2cHgsIDM4OXB4LCAyODVweCwgJ3Nwcml0ZS5wbmcnLCAncC1ncmlkJywgKTtcbiRwLWxpc3QtYWN0di1uYW1lOiAncC1saXN0LWFjdHYnO1xuJHAtbGlzdC1hY3R2LXg6IDM0MXB4O1xuJHAtbGlzdC1hY3R2LXk6IDExNnB4O1xuJHAtbGlzdC1hY3R2LW9mZnNldC14OiAtMzQxcHg7XG4kcC1saXN0LWFjdHYtb2Zmc2V0LXk6IC0xMTZweDtcbiRwLWxpc3QtYWN0di13aWR0aDogMTdweDtcbiRwLWxpc3QtYWN0di1oZWlnaHQ6IDE2cHg7XG4kcC1saXN0LWFjdHYtdG90YWwtd2lkdGg6IDM4OXB4O1xuJHAtbGlzdC1hY3R2LXRvdGFsLWhlaWdodDogMjg1cHg7XG4kcC1saXN0LWFjdHYtaW1hZ2U6ICdzcHJpdGUucG5nJztcbiRwLWxpc3QtYWN0djogKDM0MXB4LCAxMTZweCwgLTM0MXB4LCAtMTE2cHgsIDE3cHgsIDE2cHgsIDM4OXB4LCAyODVweCwgJ3Nwcml0ZS5wbmcnLCAncC1saXN0LWFjdHYnLCApO1xuJHAtbGlzdC1uYW1lOiAncC1saXN0JztcbiRwLWxpc3QteDogMzI0cHg7XG4kcC1saXN0LXk6IDExNnB4O1xuJHAtbGlzdC1vZmZzZXQteDogLTMyNHB4O1xuJHAtbGlzdC1vZmZzZXQteTogLTExNnB4O1xuJHAtbGlzdC13aWR0aDogMTdweDtcbiRwLWxpc3QtaGVpZ2h0OiAxNnB4O1xuJHAtbGlzdC10b3RhbC13aWR0aDogMzg5cHg7XG4kcC1saXN0LXRvdGFsLWhlaWdodDogMjg1cHg7XG4kcC1saXN0LWltYWdlOiAnc3ByaXRlLnBuZyc7XG4kcC1saXN0OiAoMzI0cHgsIDExNnB4LCAtMzI0cHgsIC0xMTZweCwgMTdweCwgMTZweCwgMzg5cHgsIDI4NXB4LCAnc3ByaXRlLnBuZycsICdwLWxpc3QnLCApO1xuJHBpbnRlcmVzdC1uYW1lOiAncGludGVyZXN0JztcbiRwaW50ZXJlc3QteDogMzczcHg7XG4kcGludGVyZXN0LXk6IDM2cHg7XG4kcGludGVyZXN0LW9mZnNldC14OiAtMzczcHg7XG4kcGludGVyZXN0LW9mZnNldC15OiAtMzZweDtcbiRwaW50ZXJlc3Qtd2lkdGg6IDE2cHg7XG4kcGludGVyZXN0LWhlaWdodDogMTZweDtcbiRwaW50ZXJlc3QtdG90YWwtd2lkdGg6IDM4OXB4O1xuJHBpbnRlcmVzdC10b3RhbC1oZWlnaHQ6IDI4NXB4O1xuJHBpbnRlcmVzdC1pbWFnZTogJ3Nwcml0ZS5wbmcnO1xuJHBpbnRlcmVzdDogKDM3M3B4LCAzNnB4LCAtMzczcHgsIC0zNnB4LCAxNnB4LCAxNnB4LCAzODlweCwgMjg1cHgsICdzcHJpdGUucG5nJywgJ3BpbnRlcmVzdCcsICk7XG4kcGx1cy1uYW1lOiAncGx1cyc7XG4kcGx1cy14OiAzMDdweDtcbiRwbHVzLXk6IDExNnB4O1xuJHBsdXMtb2Zmc2V0LXg6IC0zMDdweDtcbiRwbHVzLW9mZnNldC15OiAtMTE2cHg7XG4kcGx1cy13aWR0aDogMTdweDtcbiRwbHVzLWhlaWdodDogMTdweDtcbiRwbHVzLXRvdGFsLXdpZHRoOiAzODlweDtcbiRwbHVzLXRvdGFsLWhlaWdodDogMjg1cHg7XG4kcGx1cy1pbWFnZTogJ3Nwcml0ZS5wbmcnO1xuJHBsdXM6ICgzMDdweCwgMTE2cHgsIC0zMDdweCwgLTExNnB4LCAxN3B4LCAxN3B4LCAzODlweCwgMjg1cHgsICdzcHJpdGUucG5nJywgJ3BsdXMnLCApO1xuJHNlYXJjaC1hcnJvdy1uYW1lOiAnc2VhcmNoLWFycm93JztcbiRzZWFyY2gtYXJyb3cteDogMzYycHg7XG4kc2VhcmNoLWFycm93LXk6IDgwcHg7XG4kc2VhcmNoLWFycm93LW9mZnNldC14OiAtMzYycHg7XG4kc2VhcmNoLWFycm93LW9mZnNldC15OiAtODBweDtcbiRzZWFyY2gtYXJyb3ctd2lkdGg6IDIycHg7XG4kc2VhcmNoLWFycm93LWhlaWdodDogMjNweDtcbiRzZWFyY2gtYXJyb3ctdG90YWwtd2lkdGg6IDM4OXB4O1xuJHNlYXJjaC1hcnJvdy10b3RhbC1oZWlnaHQ6IDI4NXB4O1xuJHNlYXJjaC1hcnJvdy1pbWFnZTogJ3Nwcml0ZS5wbmcnO1xuJHNlYXJjaC1hcnJvdzogKDM2MnB4LCA4MHB4LCAtMzYycHgsIC04MHB4LCAyMnB4LCAyM3B4LCAzODlweCwgMjg1cHgsICdzcHJpdGUucG5nJywgJ3NlYXJjaC1hcnJvdycsICk7XG4kc2VhcmNoLWNsb3NlLW5hbWU6ICdzZWFyY2gtY2xvc2UnO1xuJHNlYXJjaC1jbG9zZS14OiAzMTZweDtcbiRzZWFyY2gtY2xvc2UteTogMTQ5cHg7XG4kc2VhcmNoLWNsb3NlLW9mZnNldC14OiAtMzE2cHg7XG4kc2VhcmNoLWNsb3NlLW9mZnNldC15OiAtMTQ5cHg7XG4kc2VhcmNoLWNsb3NlLXdpZHRoOiAxMnB4O1xuJHNlYXJjaC1jbG9zZS1oZWlnaHQ6IDEycHg7XG4kc2VhcmNoLWNsb3NlLXRvdGFsLXdpZHRoOiAzODlweDtcbiRzZWFyY2gtY2xvc2UtdG90YWwtaGVpZ2h0OiAyODVweDtcbiRzZWFyY2gtY2xvc2UtaW1hZ2U6ICdzcHJpdGUucG5nJztcbiRzZWFyY2gtY2xvc2U6ICgzMTZweCwgMTQ5cHgsIC0zMTZweCwgLTE0OXB4LCAxMnB4LCAxMnB4LCAzODlweCwgMjg1cHgsICdzcHJpdGUucG5nJywgJ3NlYXJjaC1jbG9zZScsICk7XG4kc2VhcmNoLW5hbWU6ICdzZWFyY2gnO1xuJHNlYXJjaC14OiAyODZweDtcbiRzZWFyY2gteTogMTE2cHg7XG4kc2VhcmNoLW9mZnNldC14OiAtMjg2cHg7XG4kc2VhcmNoLW9mZnNldC15OiAtMTE2cHg7XG4kc2VhcmNoLXdpZHRoOiAyMXB4O1xuJHNlYXJjaC1oZWlnaHQ6IDIxcHg7XG4kc2VhcmNoLXRvdGFsLXdpZHRoOiAzODlweDtcbiRzZWFyY2gtdG90YWwtaGVpZ2h0OiAyODVweDtcbiRzZWFyY2gtaW1hZ2U6ICdzcHJpdGUucG5nJztcbiRzZWFyY2g6ICgyODZweCwgMTE2cHgsIC0yODZweCwgLTExNnB4LCAyMXB4LCAyMXB4LCAzODlweCwgMjg1cHgsICdzcHJpdGUucG5nJywgJ3NlYXJjaCcsICk7XG4kdHdpdHRlci1uYW1lOiAndHdpdHRlcic7XG4kdHdpdHRlci14OiAyODhweDtcbiR0d2l0dGVyLXk6IDE0OXB4O1xuJHR3aXR0ZXItb2Zmc2V0LXg6IC0yODhweDtcbiR0d2l0dGVyLW9mZnNldC15OiAtMTQ5cHg7XG4kdHdpdHRlci13aWR0aDogMTZweDtcbiR0d2l0dGVyLWhlaWdodDogMTNweDtcbiR0d2l0dGVyLXRvdGFsLXdpZHRoOiAzODlweDtcbiR0d2l0dGVyLXRvdGFsLWhlaWdodDogMjg1cHg7XG4kdHdpdHRlci1pbWFnZTogJ3Nwcml0ZS5wbmcnO1xuJHR3aXR0ZXI6ICgyODhweCwgMTQ5cHgsIC0yODhweCwgLTE0OXB4LCAxNnB4LCAxM3B4LCAzODlweCwgMjg1cHgsICdzcHJpdGUucG5nJywgJ3R3aXR0ZXInLCApO1xuJHNwcml0ZXNoZWV0LXdpZHRoOiAzODlweDtcbiRzcHJpdGVzaGVldC1oZWlnaHQ6IDI4NXB4O1xuJHNwcml0ZXNoZWV0LWltYWdlOiAnc3ByaXRlLnBuZyc7XG4kc3ByaXRlc2hlZXQtc3ByaXRlczogKCQtY2FydCwgJC1sb2dvLCAkYWRkLXRvLWxpc3QsICRhcnJvdy1ncmVlbi1iZywgJGFycm93LWdyZWVuLCAkYXJyb3ctZ3JleSwgJGFycm93LWhiLWx0LCAkYXJyb3ctaGItcnQsICRiYWNrLWNoZXZyb24sICRjYXJldC1kb3duLWdyZWVuLCAkY2FyZXQtZG93bi1yZWQsICRjaGVjay1ncmVlbiwgJGNsb3NlLWljb24sICRjbG9zZSwgJGZhY2Vib29rLCAkZ29vZ2xlLCAkZ3JlYXRlci10aGFuLWdyZWVuLCAkZ3JlYXRlci10aGFuLXdoaXRlLXNtYWxsLCAkZ3JlYXRlci10aGFuLXdoaXRlLCAkaG90LWJ1eXMtbGVmdC1zaGFkZSwgJGhvdC1idXlzLXJpZ2h0LXNoYWRlLCAkaG90YnV5cy1hcnJvdywgJGxlZnQtYXJyb3csICRtaW51cywgJHAtZ3JpZC1hY3R2LCAkcC1ncmlkLCAkcC1saXN0LWFjdHYsICRwLWxpc3QsICRwaW50ZXJlc3QsICRwbHVzLCAkc2VhcmNoLWFycm93LCAkc2VhcmNoLWNsb3NlLCAkc2VhcmNoLCAkdHdpdHRlciwgKTtcbiRzcHJpdGVzaGVldDogKDM4OXB4LCAyODVweCwgJ3Nwcml0ZS5wbmcnLCAkc3ByaXRlc2hlZXQtc3ByaXRlcywgKTtcblxuLypcblRoZSBwcm92aWRlZCBtaXhpbnMgYXJlIGludGVuZGVkIHRvIGJlIHVzZWQgd2l0aCB0aGUgYXJyYXktbGlrZSB2YXJpYWJsZXNcblxuLmljb24taG9tZSB7XG4gIEBpbmNsdWRlIHNwcml0ZS13aWR0aCgkaWNvbi1ob21lKTtcbn1cblxuLmljb24tZW1haWwge1xuICBAaW5jbHVkZSBzcHJpdGUoJGljb24tZW1haWwpO1xufVxuKi9cbkBtaXhpbiBzcHJpdGUtd2lkdGgoJHNwcml0ZSkge1xuICB3aWR0aDogbnRoKCRzcHJpdGUsIDUpO1xufVxuXG5AbWl4aW4gc3ByaXRlLWhlaWdodCgkc3ByaXRlKSB7XG4gIGhlaWdodDogbnRoKCRzcHJpdGUsIDYpO1xufVxuXG5AbWl4aW4gc3ByaXRlLXBvc2l0aW9uKCRzcHJpdGUpIHtcbiAgJHNwcml0ZS1vZmZzZXQteDogbnRoKCRzcHJpdGUsIDMpO1xuICAkc3ByaXRlLW9mZnNldC15OiBudGgoJHNwcml0ZSwgNCk7XG4gIGJhY2tncm91bmQtcG9zaXRpb246ICRzcHJpdGUtb2Zmc2V0LXggICRzcHJpdGUtb2Zmc2V0LXk7XG59XG5cbkBtaXhpbiBzcHJpdGUtaW1hZ2UoJHNwcml0ZSkge1xuICAkc3ByaXRlLWltYWdlOiBudGgoJHNwcml0ZSwgOSk7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybCgjeyRzcHJpdGUtaW1hZ2V9KTtcbn1cblxuQG1peGluIHNwcml0ZSgkc3ByaXRlKSB7XG4gIEBpbmNsdWRlIHNwcml0ZS1wb3NpdGlvbigkc3ByaXRlKTtcbiAgQGluY2x1ZGUgc3ByaXRlLXdpZHRoKCRzcHJpdGUpO1xuICBAaW5jbHVkZSBzcHJpdGUtaGVpZ2h0KCRzcHJpdGUpO1xufVxuXG4vKlxuVGhlIGBzcHJpdGVzYCBtaXhpbiBnZW5lcmF0ZXMgaWRlbnRpY2FsIG91dHB1dCB0byB0aGUgQ1NTIHRlbXBsYXRlXG4gIGJ1dCBjYW4gYmUgb3ZlcnJpZGRlbiBpbnNpZGUgb2YgU0NTU1xuXG5AaW5jbHVkZSBzcHJpdGVzKCRzcHJpdGVzaGVldC1zcHJpdGVzKTtcbiovXG4vLyBTcHJpdGVzXG4vL1xuLy8gTWFya3VwOiBzcHJpdGUuaHRtbFxuLy9cbi8vIC5zYy1zcHJpdGUtQ2FydCAtICZuYnNwO1xuLy8gLnNjLXNwcml0ZS1Mb2dvIC0gJm5ic3A7XG4vLyAuc2Mtc3ByaXRlLWFkZC10by1saXN0IC0gJm5ic3A7XG4vLyAuc2Mtc3ByaXRlLWFycm93LWdyZWVuLWJnIC0gJm5ic3A7XG4vLyAuc2Mtc3ByaXRlLWFycm93LWdyZWVuIC0gJm5ic3A7XG4vLyAuc2Mtc3ByaXRlLWFycm93LWdyZXkgLSAmbmJzcDtcbi8vIC5zYy1zcHJpdGUtYXJyb3ctaGItbHQgLSAmbmJzcDtcbi8vIC5zYy1zcHJpdGUtYXJyb3ctaGItcnQgLSAmbmJzcDtcbi8vIC5zYy1zcHJpdGUtYmFjay1jaGV2cm9uIC0gJm5ic3A7XG4vLyAuc2Mtc3ByaXRlLWNhcmV0LWRvd24tZ3JlZW4gLSAmbmJzcDtcbi8vIC5zYy1zcHJpdGUtY2FyZXQtZG93bi1yZWQgLSAmbmJzcDtcbi8vIC5zYy1zcHJpdGUtY2hlY2stZ3JlZW4gLSAmbmJzcDtcbi8vIC5zYy1zcHJpdGUtY2xvc2UtaWNvbiAtICZuYnNwO1xuLy8gLnNjLXNwcml0ZS1jbG9zZSAtICZuYnNwO1xuLy8gLnNjLXNwcml0ZS1mYWNlYm9vayAtICZuYnNwO1xuLy8gLnNjLXNwcml0ZS1nb29nbGUgLSAmbmJzcDtcbi8vIC5zYy1zcHJpdGUtZ3JlYXRlci10aGFuLWdyZWVuIC0gJm5ic3A7XG4vLyAuc2Mtc3ByaXRlLWdyZWF0ZXItdGhhbi13aGl0ZS1zbWFsbCAtICZuYnNwO1xuLy8gLnNjLXNwcml0ZS1ncmVhdGVyLXRoYW4td2hpdGUgLSAmbmJzcDtcbi8vIC5zYy1zcHJpdGUtaG90LWJ1eXMtbGVmdC1zaGFkZSAtICZuYnNwO1xuLy8gLnNjLXNwcml0ZS1ob3QtYnV5cy1yaWdodC1zaGFkZSAtICZuYnNwO1xuLy8gLnNjLXNwcml0ZS1ob3RidXlzLWFycm93IC0gJm5ic3A7XG4vLyAuc2Mtc3ByaXRlLWxlZnQtYXJyb3cgLSAmbmJzcDtcbi8vIC5zYy1zcHJpdGUtbWludXMgLSAmbmJzcDtcbi8vIC5zYy1zcHJpdGUtcC1ncmlkLWFjdHYgLSAmbmJzcDtcbi8vIC5zYy1zcHJpdGUtcC1ncmlkIC0gJm5ic3A7XG4vLyAuc2Mtc3ByaXRlLXAtbGlzdC1hY3R2IC0gJm5ic3A7XG4vLyAuc2Mtc3ByaXRlLXAtbGlzdCAtICZuYnNwO1xuLy8gLnNjLXNwcml0ZS1waW50ZXJlc3QgLSAmbmJzcDtcbi8vIC5zYy1zcHJpdGUtcGx1cyAtICZuYnNwO1xuLy8gLnNjLXNwcml0ZS1zZWFyY2gtYXJyb3cgLSAmbmJzcDtcbi8vIC5zYy1zcHJpdGUtc2VhcmNoLWNsb3NlIC0gJm5ic3A7XG4vLyAuc2Mtc3ByaXRlLXNlYXJjaCAtICZuYnNwO1xuLy8gLnNjLXNwcml0ZS10d2l0dGVyIC0gJm5ic3A7XG4vL1xuLy8gU3R5bGUgZ3VpZGU6IDEwLjBcblxuQG1peGluIHNwcml0ZXMoJHNwcml0ZXMpIHtcbiAgW2NsYXNzKj0nc2Mtc3ByaXRlJ10ge1xuICAgIEBpbmNsdWRlIHNwcml0ZS1pbWFnZShudGgoJHNwcml0ZXMsIDEpKTtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIH1cbiAgQGVhY2ggJHNwcml0ZSBpbiAkc3ByaXRlcyB7XG4gICAgJHNwcml0ZS1uYW1lOiBudGgoJHNwcml0ZSwgMTApO1xuICAgIC5zYy1zcHJpdGUtI3skc3ByaXRlLW5hbWV9IHtcbiAgICAgIEBpbmNsdWRlIHNwcml0ZSgkc3ByaXRlKTtcbiAgICB9XG4gIH1cbn1cbiIsIi8qXG5TQ1NTIHZhcmlhYmxlcyBhcmUgaW5mb3JtYXRpb24gYWJvdXQgaWNvbidzIGNvbXBpbGVkIHN0YXRlLCBzdG9yZWQgdW5kZXIgaXRzIG9yaWdpbmFsIGZpbGUgbmFtZVxuXG4uaWNvbi1ob21lIHtcbiAgd2lkdGg6ICRpY29uLWhvbWUtd2lkdGg7XG59XG5cblRoZSBsYXJnZSBhcnJheS1saWtlIHZhcmlhYmxlcyBjb250YWluIGFsbCBpbmZvcm1hdGlvbiBhYm91dCBhIHNpbmdsZSBpY29uXG4kaWNvbi1ob21lOiB4IHkgb2Zmc2V0X3ggb2Zmc2V0X3kgd2lkdGggaGVpZ2h0IHRvdGFsX3dpZHRoIHRvdGFsX2hlaWdodCBpbWFnZV9wYXRoO1xuXG5BdCB0aGUgYm90dG9tIG9mIHRoaXMgc2VjdGlvbiwgd2UgcHJvdmlkZSBpbmZvcm1hdGlvbiBhYm91dCB0aGUgc3ByaXRlc2hlZXQgaXRzZWxmXG4kc3ByaXRlc2hlZXQ6IHdpZHRoIGhlaWdodCBpbWFnZSAkc3ByaXRlc2hlZXQtc3ByaXRlcztcbiovXG4kcmF0aW5nLTAtMC1uYW1lOiAncmF0aW5nLTBfMCc7XG4kcmF0aW5nLTAtMC14OiAwcHg7XG4kcmF0aW5nLTAtMC15OiAxMnB4O1xuJHJhdGluZy0wLTAtb2Zmc2V0LXg6IDBweDtcbiRyYXRpbmctMC0wLW9mZnNldC15OiAtMTJweDtcbiRyYXRpbmctMC0wLXdpZHRoOiA3NnB4O1xuJHJhdGluZy0wLTAtaGVpZ2h0OiAxMnB4O1xuJHJhdGluZy0wLTAtdG90YWwtd2lkdGg6IDE1MnB4O1xuJHJhdGluZy0wLTAtdG90YWwtaGVpZ2h0OiA3MnB4O1xuJHJhdGluZy0wLTAtaW1hZ2U6ICdyYXRpbmctc3ByaXRlLnBuZyc7XG4kcmF0aW5nLTAtMDogKDBweCwgMTJweCwgMHB4LCAtMTJweCwgNzZweCwgMTJweCwgMTUycHgsIDcycHgsICdyYXRpbmctc3ByaXRlLnBuZycsICdyYXRpbmctMF8wJywgKTtcbiRyYXRpbmctMC01LW5hbWU6ICdyYXRpbmctMF81JztcbiRyYXRpbmctMC01LXg6IDBweDtcbiRyYXRpbmctMC01LXk6IDYwcHg7XG4kcmF0aW5nLTAtNS1vZmZzZXQteDogMHB4O1xuJHJhdGluZy0wLTUtb2Zmc2V0LXk6IC02MHB4O1xuJHJhdGluZy0wLTUtd2lkdGg6IDc2cHg7XG4kcmF0aW5nLTAtNS1oZWlnaHQ6IDEycHg7XG4kcmF0aW5nLTAtNS10b3RhbC13aWR0aDogMTUycHg7XG4kcmF0aW5nLTAtNS10b3RhbC1oZWlnaHQ6IDcycHg7XG4kcmF0aW5nLTAtNS1pbWFnZTogJ3JhdGluZy1zcHJpdGUucG5nJztcbiRyYXRpbmctMC01OiAoMHB4LCA2MHB4LCAwcHgsIC02MHB4LCA3NnB4LCAxMnB4LCAxNTJweCwgNzJweCwgJ3JhdGluZy1zcHJpdGUucG5nJywgJ3JhdGluZy0wXzUnLCApO1xuJHJhdGluZy0xLTAtbmFtZTogJ3JhdGluZy0xXzAnO1xuJHJhdGluZy0xLTAteDogMHB4O1xuJHJhdGluZy0xLTAteTogMjRweDtcbiRyYXRpbmctMS0wLW9mZnNldC14OiAwcHg7XG4kcmF0aW5nLTEtMC1vZmZzZXQteTogLTI0cHg7XG4kcmF0aW5nLTEtMC13aWR0aDogNzZweDtcbiRyYXRpbmctMS0wLWhlaWdodDogMTJweDtcbiRyYXRpbmctMS0wLXRvdGFsLXdpZHRoOiAxNTJweDtcbiRyYXRpbmctMS0wLXRvdGFsLWhlaWdodDogNzJweDtcbiRyYXRpbmctMS0wLWltYWdlOiAncmF0aW5nLXNwcml0ZS5wbmcnO1xuJHJhdGluZy0xLTA6ICgwcHgsIDI0cHgsIDBweCwgLTI0cHgsIDc2cHgsIDEycHgsIDE1MnB4LCA3MnB4LCAncmF0aW5nLXNwcml0ZS5wbmcnLCAncmF0aW5nLTFfMCcsICk7XG4kcmF0aW5nLTEtNS1uYW1lOiAncmF0aW5nLTFfNSc7XG4kcmF0aW5nLTEtNS14OiAwcHg7XG4kcmF0aW5nLTEtNS15OiAzNnB4O1xuJHJhdGluZy0xLTUtb2Zmc2V0LXg6IDBweDtcbiRyYXRpbmctMS01LW9mZnNldC15OiAtMzZweDtcbiRyYXRpbmctMS01LXdpZHRoOiA3NnB4O1xuJHJhdGluZy0xLTUtaGVpZ2h0OiAxMnB4O1xuJHJhdGluZy0xLTUtdG90YWwtd2lkdGg6IDE1MnB4O1xuJHJhdGluZy0xLTUtdG90YWwtaGVpZ2h0OiA3MnB4O1xuJHJhdGluZy0xLTUtaW1hZ2U6ICdyYXRpbmctc3ByaXRlLnBuZyc7XG4kcmF0aW5nLTEtNTogKDBweCwgMzZweCwgMHB4LCAtMzZweCwgNzZweCwgMTJweCwgMTUycHgsIDcycHgsICdyYXRpbmctc3ByaXRlLnBuZycsICdyYXRpbmctMV81JywgKTtcbiRyYXRpbmctMi0wLW5hbWU6ICdyYXRpbmctMl8wJztcbiRyYXRpbmctMi0wLXg6IDBweDtcbiRyYXRpbmctMi0wLXk6IDQ4cHg7XG4kcmF0aW5nLTItMC1vZmZzZXQteDogMHB4O1xuJHJhdGluZy0yLTAtb2Zmc2V0LXk6IC00OHB4O1xuJHJhdGluZy0yLTAtd2lkdGg6IDc2cHg7XG4kcmF0aW5nLTItMC1oZWlnaHQ6IDEycHg7XG4kcmF0aW5nLTItMC10b3RhbC13aWR0aDogMTUycHg7XG4kcmF0aW5nLTItMC10b3RhbC1oZWlnaHQ6IDcycHg7XG4kcmF0aW5nLTItMC1pbWFnZTogJ3JhdGluZy1zcHJpdGUucG5nJztcbiRyYXRpbmctMi0wOiAoMHB4LCA0OHB4LCAwcHgsIC00OHB4LCA3NnB4LCAxMnB4LCAxNTJweCwgNzJweCwgJ3JhdGluZy1zcHJpdGUucG5nJywgJ3JhdGluZy0yXzAnLCApO1xuJHJhdGluZy0yLTUtbmFtZTogJ3JhdGluZy0yXzUnO1xuJHJhdGluZy0yLTUteDogMHB4O1xuJHJhdGluZy0yLTUteTogMHB4O1xuJHJhdGluZy0yLTUtb2Zmc2V0LXg6IDBweDtcbiRyYXRpbmctMi01LW9mZnNldC15OiAwcHg7XG4kcmF0aW5nLTItNS13aWR0aDogNzZweDtcbiRyYXRpbmctMi01LWhlaWdodDogMTJweDtcbiRyYXRpbmctMi01LXRvdGFsLXdpZHRoOiAxNTJweDtcbiRyYXRpbmctMi01LXRvdGFsLWhlaWdodDogNzJweDtcbiRyYXRpbmctMi01LWltYWdlOiAncmF0aW5nLXNwcml0ZS5wbmcnO1xuJHJhdGluZy0yLTU6ICgwcHgsIDBweCwgMHB4LCAwcHgsIDc2cHgsIDEycHgsIDE1MnB4LCA3MnB4LCAncmF0aW5nLXNwcml0ZS5wbmcnLCAncmF0aW5nLTJfNScsICk7XG4kcmF0aW5nLTMtMC1uYW1lOiAncmF0aW5nLTNfMCc7XG4kcmF0aW5nLTMtMC14OiA3NnB4O1xuJHJhdGluZy0zLTAteTogMHB4O1xuJHJhdGluZy0zLTAtb2Zmc2V0LXg6IC03NnB4O1xuJHJhdGluZy0zLTAtb2Zmc2V0LXk6IDBweDtcbiRyYXRpbmctMy0wLXdpZHRoOiA3NnB4O1xuJHJhdGluZy0zLTAtaGVpZ2h0OiAxMnB4O1xuJHJhdGluZy0zLTAtdG90YWwtd2lkdGg6IDE1MnB4O1xuJHJhdGluZy0zLTAtdG90YWwtaGVpZ2h0OiA3MnB4O1xuJHJhdGluZy0zLTAtaW1hZ2U6ICdyYXRpbmctc3ByaXRlLnBuZyc7XG4kcmF0aW5nLTMtMDogKDc2cHgsIDBweCwgLTc2cHgsIDBweCwgNzZweCwgMTJweCwgMTUycHgsIDcycHgsICdyYXRpbmctc3ByaXRlLnBuZycsICdyYXRpbmctM18wJywgKTtcbiRyYXRpbmctMy01LW5hbWU6ICdyYXRpbmctM181JztcbiRyYXRpbmctMy01LXg6IDc2cHg7XG4kcmF0aW5nLTMtNS15OiAxMnB4O1xuJHJhdGluZy0zLTUtb2Zmc2V0LXg6IC03NnB4O1xuJHJhdGluZy0zLTUtb2Zmc2V0LXk6IC0xMnB4O1xuJHJhdGluZy0zLTUtd2lkdGg6IDc2cHg7XG4kcmF0aW5nLTMtNS1oZWlnaHQ6IDEycHg7XG4kcmF0aW5nLTMtNS10b3RhbC13aWR0aDogMTUycHg7XG4kcmF0aW5nLTMtNS10b3RhbC1oZWlnaHQ6IDcycHg7XG4kcmF0aW5nLTMtNS1pbWFnZTogJ3JhdGluZy1zcHJpdGUucG5nJztcbiRyYXRpbmctMy01OiAoNzZweCwgMTJweCwgLTc2cHgsIC0xMnB4LCA3NnB4LCAxMnB4LCAxNTJweCwgNzJweCwgJ3JhdGluZy1zcHJpdGUucG5nJywgJ3JhdGluZy0zXzUnLCApO1xuJHJhdGluZy00LTAtbmFtZTogJ3JhdGluZy00XzAnO1xuJHJhdGluZy00LTAteDogNzZweDtcbiRyYXRpbmctNC0wLXk6IDI0cHg7XG4kcmF0aW5nLTQtMC1vZmZzZXQteDogLTc2cHg7XG4kcmF0aW5nLTQtMC1vZmZzZXQteTogLTI0cHg7XG4kcmF0aW5nLTQtMC13aWR0aDogNzZweDtcbiRyYXRpbmctNC0wLWhlaWdodDogMTJweDtcbiRyYXRpbmctNC0wLXRvdGFsLXdpZHRoOiAxNTJweDtcbiRyYXRpbmctNC0wLXRvdGFsLWhlaWdodDogNzJweDtcbiRyYXRpbmctNC0wLWltYWdlOiAncmF0aW5nLXNwcml0ZS5wbmcnO1xuJHJhdGluZy00LTA6ICg3NnB4LCAyNHB4LCAtNzZweCwgLTI0cHgsIDc2cHgsIDEycHgsIDE1MnB4LCA3MnB4LCAncmF0aW5nLXNwcml0ZS5wbmcnLCAncmF0aW5nLTRfMCcsICk7XG4kcmF0aW5nLTQtNS1uYW1lOiAncmF0aW5nLTRfNSc7XG4kcmF0aW5nLTQtNS14OiA3NnB4O1xuJHJhdGluZy00LTUteTogMzZweDtcbiRyYXRpbmctNC01LW9mZnNldC14OiAtNzZweDtcbiRyYXRpbmctNC01LW9mZnNldC15OiAtMzZweDtcbiRyYXRpbmctNC01LXdpZHRoOiA3NnB4O1xuJHJhdGluZy00LTUtaGVpZ2h0OiAxMnB4O1xuJHJhdGluZy00LTUtdG90YWwtd2lkdGg6IDE1MnB4O1xuJHJhdGluZy00LTUtdG90YWwtaGVpZ2h0OiA3MnB4O1xuJHJhdGluZy00LTUtaW1hZ2U6ICdyYXRpbmctc3ByaXRlLnBuZyc7XG4kcmF0aW5nLTQtNTogKDc2cHgsIDM2cHgsIC03NnB4LCAtMzZweCwgNzZweCwgMTJweCwgMTUycHgsIDcycHgsICdyYXRpbmctc3ByaXRlLnBuZycsICdyYXRpbmctNF81JywgKTtcbiRyYXRpbmctNS0wLW5hbWU6ICdyYXRpbmctNV8wJztcbiRyYXRpbmctNS0wLXg6IDc2cHg7XG4kcmF0aW5nLTUtMC15OiA0OHB4O1xuJHJhdGluZy01LTAtb2Zmc2V0LXg6IC03NnB4O1xuJHJhdGluZy01LTAtb2Zmc2V0LXk6IC00OHB4O1xuJHJhdGluZy01LTAtd2lkdGg6IDc2cHg7XG4kcmF0aW5nLTUtMC1oZWlnaHQ6IDEycHg7XG4kcmF0aW5nLTUtMC10b3RhbC13aWR0aDogMTUycHg7XG4kcmF0aW5nLTUtMC10b3RhbC1oZWlnaHQ6IDcycHg7XG4kcmF0aW5nLTUtMC1pbWFnZTogJ3JhdGluZy1zcHJpdGUucG5nJztcbiRyYXRpbmctNS0wOiAoNzZweCwgNDhweCwgLTc2cHgsIC00OHB4LCA3NnB4LCAxMnB4LCAxNTJweCwgNzJweCwgJ3JhdGluZy1zcHJpdGUucG5nJywgJ3JhdGluZy01XzAnLCApO1xuXG4vKiBSRVRJTkEgKi9cbiRyYXRpbmctMC0wLTJ4LW5hbWU6ICdyYXRpbmctMF8wLTJ4JztcbiRyYXRpbmctMC0wLTJ4LXg6IDBweDtcbiRyYXRpbmctMC0wLTJ4LXk6IDI0cHg7XG4kcmF0aW5nLTAtMC0yeC1vZmZzZXQteDogMHB4O1xuJHJhdGluZy0wLTAtMngtb2Zmc2V0LXk6IC0yNHB4O1xuJHJhdGluZy0wLTAtMngtd2lkdGg6IDE1MnB4O1xuJHJhdGluZy0wLTAtMngtaGVpZ2h0OiAyNHB4O1xuJHJhdGluZy0wLTAtMngtdG90YWwtd2lkdGg6IDMwNHB4O1xuJHJhdGluZy0wLTAtMngtdG90YWwtaGVpZ2h0OiAxNDRweDtcbiRyYXRpbmctMC0wLTJ4LWltYWdlOiAncmF0aW5nLXNwcml0ZUAyeC5wbmcnO1xuJHJhdGluZy0wLTAtMng6ICgwcHgsIDI0cHgsIDBweCwgLTI0cHgsIDE1MnB4LCAyNHB4LCAzMDRweCwgMTQ0cHgsICdyYXRpbmctc3ByaXRlQDJ4LnBuZycsICdyYXRpbmctMF8wLTJ4JywgKTtcbiRyYXRpbmctMC01LTJ4LW5hbWU6ICdyYXRpbmctMF81LTJ4JztcbiRyYXRpbmctMC01LTJ4LXg6IDBweDtcbiRyYXRpbmctMC01LTJ4LXk6IDEyMHB4O1xuJHJhdGluZy0wLTUtMngtb2Zmc2V0LXg6IDBweDtcbiRyYXRpbmctMC01LTJ4LW9mZnNldC15OiAtMTIwcHg7XG4kcmF0aW5nLTAtNS0yeC13aWR0aDogMTUycHg7XG4kcmF0aW5nLTAtNS0yeC1oZWlnaHQ6IDI0cHg7XG4kcmF0aW5nLTAtNS0yeC10b3RhbC13aWR0aDogMzA0cHg7XG4kcmF0aW5nLTAtNS0yeC10b3RhbC1oZWlnaHQ6IDE0NHB4O1xuJHJhdGluZy0wLTUtMngtaW1hZ2U6ICdyYXRpbmctc3ByaXRlQDJ4LnBuZyc7XG4kcmF0aW5nLTAtNS0yeDogKDBweCwgMTIwcHgsIDBweCwgLTEyMHB4LCAxNTJweCwgMjRweCwgMzA0cHgsIDE0NHB4LCAncmF0aW5nLXNwcml0ZUAyeC5wbmcnLCAncmF0aW5nLTBfNS0yeCcsICk7XG4kcmF0aW5nLTEtMC0yeC1uYW1lOiAncmF0aW5nLTFfMC0yeCc7XG4kcmF0aW5nLTEtMC0yeC14OiAwcHg7XG4kcmF0aW5nLTEtMC0yeC15OiA0OHB4O1xuJHJhdGluZy0xLTAtMngtb2Zmc2V0LXg6IDBweDtcbiRyYXRpbmctMS0wLTJ4LW9mZnNldC15OiAtNDhweDtcbiRyYXRpbmctMS0wLTJ4LXdpZHRoOiAxNTJweDtcbiRyYXRpbmctMS0wLTJ4LWhlaWdodDogMjRweDtcbiRyYXRpbmctMS0wLTJ4LXRvdGFsLXdpZHRoOiAzMDRweDtcbiRyYXRpbmctMS0wLTJ4LXRvdGFsLWhlaWdodDogMTQ0cHg7XG4kcmF0aW5nLTEtMC0yeC1pbWFnZTogJ3JhdGluZy1zcHJpdGVAMngucG5nJztcbiRyYXRpbmctMS0wLTJ4OiAoMHB4LCA0OHB4LCAwcHgsIC00OHB4LCAxNTJweCwgMjRweCwgMzA0cHgsIDE0NHB4LCAncmF0aW5nLXNwcml0ZUAyeC5wbmcnLCAncmF0aW5nLTFfMC0yeCcsICk7XG4kcmF0aW5nLTEtNS0yeC1uYW1lOiAncmF0aW5nLTFfNS0yeCc7XG4kcmF0aW5nLTEtNS0yeC14OiAwcHg7XG4kcmF0aW5nLTEtNS0yeC15OiA3MnB4O1xuJHJhdGluZy0xLTUtMngtb2Zmc2V0LXg6IDBweDtcbiRyYXRpbmctMS01LTJ4LW9mZnNldC15OiAtNzJweDtcbiRyYXRpbmctMS01LTJ4LXdpZHRoOiAxNTJweDtcbiRyYXRpbmctMS01LTJ4LWhlaWdodDogMjRweDtcbiRyYXRpbmctMS01LTJ4LXRvdGFsLXdpZHRoOiAzMDRweDtcbiRyYXRpbmctMS01LTJ4LXRvdGFsLWhlaWdodDogMTQ0cHg7XG4kcmF0aW5nLTEtNS0yeC1pbWFnZTogJ3JhdGluZy1zcHJpdGVAMngucG5nJztcbiRyYXRpbmctMS01LTJ4OiAoMHB4LCA3MnB4LCAwcHgsIC03MnB4LCAxNTJweCwgMjRweCwgMzA0cHgsIDE0NHB4LCAncmF0aW5nLXNwcml0ZUAyeC5wbmcnLCAncmF0aW5nLTFfNS0yeCcsICk7XG4kcmF0aW5nLTItMC0yeC1uYW1lOiAncmF0aW5nLTJfMC0yeCc7XG4kcmF0aW5nLTItMC0yeC14OiAwcHg7XG4kcmF0aW5nLTItMC0yeC15OiA5NnB4O1xuJHJhdGluZy0yLTAtMngtb2Zmc2V0LXg6IDBweDtcbiRyYXRpbmctMi0wLTJ4LW9mZnNldC15OiAtOTZweDtcbiRyYXRpbmctMi0wLTJ4LXdpZHRoOiAxNTJweDtcbiRyYXRpbmctMi0wLTJ4LWhlaWdodDogMjRweDtcbiRyYXRpbmctMi0wLTJ4LXRvdGFsLXdpZHRoOiAzMDRweDtcbiRyYXRpbmctMi0wLTJ4LXRvdGFsLWhlaWdodDogMTQ0cHg7XG4kcmF0aW5nLTItMC0yeC1pbWFnZTogJ3JhdGluZy1zcHJpdGVAMngucG5nJztcbiRyYXRpbmctMi0wLTJ4OiAoMHB4LCA5NnB4LCAwcHgsIC05NnB4LCAxNTJweCwgMjRweCwgMzA0cHgsIDE0NHB4LCAncmF0aW5nLXNwcml0ZUAyeC5wbmcnLCAncmF0aW5nLTJfMC0yeCcsICk7XG4kcmF0aW5nLTItNS0yeC1uYW1lOiAncmF0aW5nLTJfNS0yeCc7XG4kcmF0aW5nLTItNS0yeC14OiAwcHg7XG4kcmF0aW5nLTItNS0yeC15OiAwcHg7XG4kcmF0aW5nLTItNS0yeC1vZmZzZXQteDogMHB4O1xuJHJhdGluZy0yLTUtMngtb2Zmc2V0LXk6IDBweDtcbiRyYXRpbmctMi01LTJ4LXdpZHRoOiAxNTJweDtcbiRyYXRpbmctMi01LTJ4LWhlaWdodDogMjRweDtcbiRyYXRpbmctMi01LTJ4LXRvdGFsLXdpZHRoOiAzMDRweDtcbiRyYXRpbmctMi01LTJ4LXRvdGFsLWhlaWdodDogMTQ0cHg7XG4kcmF0aW5nLTItNS0yeC1pbWFnZTogJ3JhdGluZy1zcHJpdGVAMngucG5nJztcbiRyYXRpbmctMi01LTJ4OiAoMHB4LCAwcHgsIDBweCwgMHB4LCAxNTJweCwgMjRweCwgMzA0cHgsIDE0NHB4LCAncmF0aW5nLXNwcml0ZUAyeC5wbmcnLCAncmF0aW5nLTJfNS0yeCcsICk7XG4kcmF0aW5nLTMtMC0yeC1uYW1lOiAncmF0aW5nLTNfMC0yeCc7XG4kcmF0aW5nLTMtMC0yeC14OiAxNTJweDtcbiRyYXRpbmctMy0wLTJ4LXk6IDBweDtcbiRyYXRpbmctMy0wLTJ4LW9mZnNldC14OiAtMTUycHg7XG4kcmF0aW5nLTMtMC0yeC1vZmZzZXQteTogMHB4O1xuJHJhdGluZy0zLTAtMngtd2lkdGg6IDE1MnB4O1xuJHJhdGluZy0zLTAtMngtaGVpZ2h0OiAyNHB4O1xuJHJhdGluZy0zLTAtMngtdG90YWwtd2lkdGg6IDMwNHB4O1xuJHJhdGluZy0zLTAtMngtdG90YWwtaGVpZ2h0OiAxNDRweDtcbiRyYXRpbmctMy0wLTJ4LWltYWdlOiAncmF0aW5nLXNwcml0ZUAyeC5wbmcnO1xuJHJhdGluZy0zLTAtMng6ICgxNTJweCwgMHB4LCAtMTUycHgsIDBweCwgMTUycHgsIDI0cHgsIDMwNHB4LCAxNDRweCwgJ3JhdGluZy1zcHJpdGVAMngucG5nJywgJ3JhdGluZy0zXzAtMngnLCApO1xuJHJhdGluZy0zLTUtMngtbmFtZTogJ3JhdGluZy0zXzUtMngnO1xuJHJhdGluZy0zLTUtMngteDogMTUycHg7XG4kcmF0aW5nLTMtNS0yeC15OiAyNHB4O1xuJHJhdGluZy0zLTUtMngtb2Zmc2V0LXg6IC0xNTJweDtcbiRyYXRpbmctMy01LTJ4LW9mZnNldC15OiAtMjRweDtcbiRyYXRpbmctMy01LTJ4LXdpZHRoOiAxNTJweDtcbiRyYXRpbmctMy01LTJ4LWhlaWdodDogMjRweDtcbiRyYXRpbmctMy01LTJ4LXRvdGFsLXdpZHRoOiAzMDRweDtcbiRyYXRpbmctMy01LTJ4LXRvdGFsLWhlaWdodDogMTQ0cHg7XG4kcmF0aW5nLTMtNS0yeC1pbWFnZTogJ3JhdGluZy1zcHJpdGVAMngucG5nJztcbiRyYXRpbmctMy01LTJ4OiAoMTUycHgsIDI0cHgsIC0xNTJweCwgLTI0cHgsIDE1MnB4LCAyNHB4LCAzMDRweCwgMTQ0cHgsICdyYXRpbmctc3ByaXRlQDJ4LnBuZycsICdyYXRpbmctM181LTJ4JywgKTtcbiRyYXRpbmctNC0wLTJ4LW5hbWU6ICdyYXRpbmctNF8wLTJ4JztcbiRyYXRpbmctNC0wLTJ4LXg6IDE1MnB4O1xuJHJhdGluZy00LTAtMngteTogNDhweDtcbiRyYXRpbmctNC0wLTJ4LW9mZnNldC14OiAtMTUycHg7XG4kcmF0aW5nLTQtMC0yeC1vZmZzZXQteTogLTQ4cHg7XG4kcmF0aW5nLTQtMC0yeC13aWR0aDogMTUycHg7XG4kcmF0aW5nLTQtMC0yeC1oZWlnaHQ6IDI0cHg7XG4kcmF0aW5nLTQtMC0yeC10b3RhbC13aWR0aDogMzA0cHg7XG4kcmF0aW5nLTQtMC0yeC10b3RhbC1oZWlnaHQ6IDE0NHB4O1xuJHJhdGluZy00LTAtMngtaW1hZ2U6ICdyYXRpbmctc3ByaXRlQDJ4LnBuZyc7XG4kcmF0aW5nLTQtMC0yeDogKDE1MnB4LCA0OHB4LCAtMTUycHgsIC00OHB4LCAxNTJweCwgMjRweCwgMzA0cHgsIDE0NHB4LCAncmF0aW5nLXNwcml0ZUAyeC5wbmcnLCAncmF0aW5nLTRfMC0yeCcsICk7XG4kcmF0aW5nLTQtNS0yeC1uYW1lOiAncmF0aW5nLTRfNS0yeCc7XG4kcmF0aW5nLTQtNS0yeC14OiAxNTJweDtcbiRyYXRpbmctNC01LTJ4LXk6IDcycHg7XG4kcmF0aW5nLTQtNS0yeC1vZmZzZXQteDogLTE1MnB4O1xuJHJhdGluZy00LTUtMngtb2Zmc2V0LXk6IC03MnB4O1xuJHJhdGluZy00LTUtMngtd2lkdGg6IDE1MnB4O1xuJHJhdGluZy00LTUtMngtaGVpZ2h0OiAyNHB4O1xuJHJhdGluZy00LTUtMngtdG90YWwtd2lkdGg6IDMwNHB4O1xuJHJhdGluZy00LTUtMngtdG90YWwtaGVpZ2h0OiAxNDRweDtcbiRyYXRpbmctNC01LTJ4LWltYWdlOiAncmF0aW5nLXNwcml0ZUAyeC5wbmcnO1xuJHJhdGluZy00LTUtMng6ICgxNTJweCwgNzJweCwgLTE1MnB4LCAtNzJweCwgMTUycHgsIDI0cHgsIDMwNHB4LCAxNDRweCwgJ3JhdGluZy1zcHJpdGVAMngucG5nJywgJ3JhdGluZy00XzUtMngnLCApO1xuJHJhdGluZy01LTAtMngtbmFtZTogJ3JhdGluZy01XzAtMngnO1xuJHJhdGluZy01LTAtMngteDogMTUycHg7XG4kcmF0aW5nLTUtMC0yeC15OiA5NnB4O1xuJHJhdGluZy01LTAtMngtb2Zmc2V0LXg6IC0xNTJweDtcbiRyYXRpbmctNS0wLTJ4LW9mZnNldC15OiAtOTZweDtcbiRyYXRpbmctNS0wLTJ4LXdpZHRoOiAxNTJweDtcbiRyYXRpbmctNS0wLTJ4LWhlaWdodDogMjRweDtcbiRyYXRpbmctNS0wLTJ4LXRvdGFsLXdpZHRoOiAzMDRweDtcbiRyYXRpbmctNS0wLTJ4LXRvdGFsLWhlaWdodDogMTQ0cHg7XG4kcmF0aW5nLTUtMC0yeC1pbWFnZTogJ3JhdGluZy1zcHJpdGVAMngucG5nJztcbiRyYXRpbmctNS0wLTJ4OiAoMTUycHgsIDk2cHgsIC0xNTJweCwgLTk2cHgsIDE1MnB4LCAyNHB4LCAzMDRweCwgMTQ0cHgsICdyYXRpbmctc3ByaXRlQDJ4LnBuZycsICdyYXRpbmctNV8wLTJ4JywgKTtcblxuJHNwcml0ZXNoZWV0LXdpZHRoOiAxNTJweDtcbiRzcHJpdGVzaGVldC1oZWlnaHQ6IDcycHg7XG4kc3ByaXRlc2hlZXQtaW1hZ2U6ICdyYXRpbmctc3ByaXRlLnBuZyc7XG4kc3ByaXRlc2hlZXQtc3ByaXRlczogKCRyYXRpbmctMC0wLCAkcmF0aW5nLTAtNSwgJHJhdGluZy0xLTAsICRyYXRpbmctMS01LCAkcmF0aW5nLTItMCwgJHJhdGluZy0yLTUsICRyYXRpbmctMy0wLCAkcmF0aW5nLTMtNSwgJHJhdGluZy00LTAsICRyYXRpbmctNC01LCAkcmF0aW5nLTUtMCwgKTtcbiRyYXRpbmdzLXNwcml0ZXM6ICgxNTJweCwgNzJweCwgJ3JhdGluZy1zcHJpdGUucG5nJywgJHNwcml0ZXNoZWV0LXNwcml0ZXMsICk7XG5cbi8qIFJFVElOQSAqL1xuXG4kcmV0aW5hLXNwcml0ZXNoZWV0LXdpZHRoOiAzMDRweDtcbiRyZXRpbmEtc3ByaXRlc2hlZXQtaGVpZ2h0OiAxNDRweDtcbiRyZXRpbmEtc3ByaXRlc2hlZXQtaW1hZ2U6ICdyYXRpbmctc3ByaXRlQDJ4LnBuZyc7XG4kcmV0aW5hLXNwcml0ZXNoZWV0LXNwcml0ZXM6ICgkcmF0aW5nLTAtMC0yeCwgJHJhdGluZy0wLTUtMngsICRyYXRpbmctMS0wLTJ4LCAkcmF0aW5nLTEtNS0yeCwgJHJhdGluZy0yLTAtMngsICRyYXRpbmctMi01LTJ4LCAkcmF0aW5nLTMtMC0yeCwgJHJhdGluZy0zLTUtMngsICRyYXRpbmctNC0wLTJ4LCAkcmF0aW5nLTQtNS0yeCwgJHJhdGluZy01LTAtMngsICk7XG4kcmV0aW5hLXNwcml0ZXNoZWV0OiAoMzA0cHgsIDE0NHB4LCAncmF0aW5nLXNwcml0ZUAyeC5wbmcnLCAkcmV0aW5hLXNwcml0ZXNoZWV0LXNwcml0ZXMsICk7XG5cbi8qXG5UaGVzZSBcInJldGluYSBncm91cFwiIHZhcmlhYmxlcyBhcmUgbWFwcGluZ3MgZm9yIHRoZSBuYW1pbmcgYW5kIHBhaXJpbmcgb2Ygbm9ybWFsIGFuZCByZXRpbmEgc3ByaXRlcy5cblxuVGhlIGxpc3QgZm9ybWF0dGVkIHZhcmlhYmxlcyBhcmUgaW50ZW5kZWQgZm9yIG1peGlucyBsaWtlIGByZXRpbmEtc3ByaXRlYCBhbmQgYHJldGluYS1zcHJpdGVzYC5cbiovXG4kcmF0aW5nLTAtMC1ncm91cC1uYW1lOiAncmF0aW5nLTBfMCc7XG4kcmF0aW5nLTAtMC1ncm91cDogKCdyYXRpbmctMF8wJywgJHJhdGluZy0wLTAsICRyYXRpbmctMC0wLTJ4LCApO1xuJHJhdGluZy0wLTUtZ3JvdXAtbmFtZTogJ3JhdGluZy0wXzUnO1xuJHJhdGluZy0wLTUtZ3JvdXA6ICgncmF0aW5nLTBfNScsICRyYXRpbmctMC01LCAkcmF0aW5nLTAtNS0yeCwgKTtcbiRyYXRpbmctMS0wLWdyb3VwLW5hbWU6ICdyYXRpbmctMV8wJztcbiRyYXRpbmctMS0wLWdyb3VwOiAoJ3JhdGluZy0xXzAnLCAkcmF0aW5nLTEtMCwgJHJhdGluZy0xLTAtMngsICk7XG4kcmF0aW5nLTEtNS1ncm91cC1uYW1lOiAncmF0aW5nLTFfNSc7XG4kcmF0aW5nLTEtNS1ncm91cDogKCdyYXRpbmctMV81JywgJHJhdGluZy0xLTUsICRyYXRpbmctMS01LTJ4LCApO1xuJHJhdGluZy0yLTAtZ3JvdXAtbmFtZTogJ3JhdGluZy0yXzAnO1xuJHJhdGluZy0yLTAtZ3JvdXA6ICgncmF0aW5nLTJfMCcsICRyYXRpbmctMi0wLCAkcmF0aW5nLTItMC0yeCwgKTtcbiRyYXRpbmctMi01LWdyb3VwLW5hbWU6ICdyYXRpbmctMl81JztcbiRyYXRpbmctMi01LWdyb3VwOiAoJ3JhdGluZy0yXzUnLCAkcmF0aW5nLTItNSwgJHJhdGluZy0yLTUtMngsICk7XG4kcmF0aW5nLTMtMC1ncm91cC1uYW1lOiAncmF0aW5nLTNfMCc7XG4kcmF0aW5nLTMtMC1ncm91cDogKCdyYXRpbmctM18wJywgJHJhdGluZy0zLTAsICRyYXRpbmctMy0wLTJ4LCApO1xuJHJhdGluZy0zLTUtZ3JvdXAtbmFtZTogJ3JhdGluZy0zXzUnO1xuJHJhdGluZy0zLTUtZ3JvdXA6ICgncmF0aW5nLTNfNScsICRyYXRpbmctMy01LCAkcmF0aW5nLTMtNS0yeCwgKTtcbiRyYXRpbmctNC0wLWdyb3VwLW5hbWU6ICdyYXRpbmctNF8wJztcbiRyYXRpbmctNC0wLWdyb3VwOiAoJ3JhdGluZy00XzAnLCAkcmF0aW5nLTQtMCwgJHJhdGluZy00LTAtMngsICk7XG4kcmF0aW5nLTQtNS1ncm91cC1uYW1lOiAncmF0aW5nLTRfNSc7XG4kcmF0aW5nLTQtNS1ncm91cDogKCdyYXRpbmctNF81JywgJHJhdGluZy00LTUsICRyYXRpbmctNC01LTJ4LCApO1xuJHJhdGluZy01LTAtZ3JvdXAtbmFtZTogJ3JhdGluZy01XzAnO1xuJHJhdGluZy01LTAtZ3JvdXA6ICgncmF0aW5nLTVfMCcsICRyYXRpbmctNS0wLCAkcmF0aW5nLTUtMC0yeCwgKTtcbiRyYXRpbmctcmV0aW5hLWdyb3VwczogKCRyYXRpbmctMC0wLWdyb3VwLCAkcmF0aW5nLTAtNS1ncm91cCwgJHJhdGluZy0xLTAtZ3JvdXAsICRyYXRpbmctMS01LWdyb3VwLCAkcmF0aW5nLTItMC1ncm91cCwgJHJhdGluZy0yLTUtZ3JvdXAsICRyYXRpbmctMy0wLWdyb3VwLCAkcmF0aW5nLTMtNS1ncm91cCwgJHJhdGluZy00LTAtZ3JvdXAsICRyYXRpbmctNC01LWdyb3VwLCAkcmF0aW5nLTUtMC1ncm91cCwgKTtcblxuLypcblRoZSBwcm92aWRlZCBtaXhpbnMgYXJlIGludGVuZGVkIHRvIGJlIHVzZWQgd2l0aCB0aGUgYXJyYXktbGlrZSB2YXJpYWJsZXNcblxuLmljb24taG9tZSB7XG4gIEBpbmNsdWRlIHNwcml0ZS13aWR0aCgkaWNvbi1ob21lKTtcbn1cblxuLmljb24tZW1haWwge1xuICBAaW5jbHVkZSBzcHJpdGUoJGljb24tZW1haWwpO1xufVxuKi9cbkBtaXhpbiByYXRpbmctc3ByaXRlLXdpZHRoKCRzcHJpdGUpIHtcbiAgd2lkdGg6IG50aCgkc3ByaXRlLCA1KTtcbn1cblxuQG1peGluIHJhdGluZy1zcHJpdGUtaGVpZ2h0KCRzcHJpdGUpIHtcbiAgaGVpZ2h0OiBudGgoJHNwcml0ZSwgNik7XG59XG5cbkBtaXhpbiByYXRpbmctc3ByaXRlLXBvc2l0aW9uKCRzcHJpdGUpIHtcbiAgJHNwcml0ZS1vZmZzZXQteDogbnRoKCRzcHJpdGUsIDMpO1xuICAkc3ByaXRlLW9mZnNldC15OiBudGgoJHNwcml0ZSwgNCk7XG4gIGJhY2tncm91bmQtcG9zaXRpb246ICRzcHJpdGUtb2Zmc2V0LXggICRzcHJpdGUtb2Zmc2V0LXk7XG59XG5cbkBtaXhpbiByYXRpbmctc3ByaXRlLWltYWdlKCRzcHJpdGUpIHtcbiAgJHNwcml0ZS1pbWFnZTogbnRoKCRzcHJpdGUsIDkpO1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoI3skc3ByaXRlLWltYWdlfSk7XG59XG5cbkBtaXhpbiByYXRpbmctc3ByaXRlKCRzcHJpdGUpIHtcbiAgQGluY2x1ZGUgcmF0aW5nLXNwcml0ZS1pbWFnZSgkc3ByaXRlKTtcbiAgQGluY2x1ZGUgcmF0aW5nLXNwcml0ZS1wb3NpdGlvbigkc3ByaXRlKTtcbiAgQGluY2x1ZGUgcmF0aW5nLXNwcml0ZS13aWR0aCgkc3ByaXRlKTtcbiAgQGluY2x1ZGUgcmF0aW5nLXNwcml0ZS1oZWlnaHQoJHNwcml0ZSk7XG59XG5cbkBtaXhpbiByYXRpbmctc3ByaXRlLWJhY2tncm91bmQtc2l6ZSgkc3ByaXRlKSB7XG4gICRzcHJpdGUtdG90YWwtd2lkdGg6IG50aCgkc3ByaXRlLCA3KTtcbiAgJHNwcml0ZS10b3RhbC1oZWlnaHQ6IG50aCgkc3ByaXRlLCA4KTtcbiAgYmFja2dyb3VuZC1zaXplOiAkc3ByaXRlLXRvdGFsLXdpZHRoICRzcHJpdGUtdG90YWwtaGVpZ2h0O1xufVxuXG5AbWl4aW4gcmF0aW5nLXJldGluYS1zcHJpdGUoJHJldGluYS1ncm91cCkge1xuICAkbm9ybWFsLXNwcml0ZTogbnRoKCRyZXRpbmEtZ3JvdXAsIDIpO1xuICAkcmV0aW5hLXNwcml0ZTogbnRoKCRyZXRpbmEtZ3JvdXAsIDMpO1xuICBAaW5jbHVkZSByYXRpbmctc3ByaXRlKCRub3JtYWwtc3ByaXRlKTtcblxuICBAbWVkaWEgKC13ZWJraXQtbWluLWRldmljZS1waXhlbC1yYXRpbzogMiksXG4gICAgICAgICAobWluLXJlc29sdXRpb246IDE5MmRwaSkge1xuICAgIEBpbmNsdWRlIHJhdGluZy1zcHJpdGUtaW1hZ2UoJHJldGluYS1zcHJpdGUpO1xuICAgIEBpbmNsdWRlIHJhdGluZy1zcHJpdGUtYmFja2dyb3VuZC1zaXplKCRub3JtYWwtc3ByaXRlKTtcbiAgfVxufVxuXG4vKlxuVGhlIGBzcHJpdGVzYCBtaXhpbiBnZW5lcmF0ZXMgaWRlbnRpY2FsIG91dHB1dCB0byB0aGUgQ1NTIHRlbXBsYXRlXG4gIGJ1dCBjYW4gYmUgb3ZlcnJpZGRlbiBpbnNpZGUgb2YgU0NTU1xuXG5AaW5jbHVkZSBzcHJpdGVzKCRzcHJpdGVzaGVldC1zcHJpdGVzKTtcbiovXG5cbi8vIFJhdGluZ3Ncbi8vXG4vLyBNYXJrdXA6IHNwcml0ZS5odG1sXG4vL1xuLy8gLnNjLXJhdGluZy0wXzAgLSAmbmJzcDtcbi8vIC5zYy1yYXRpbmctMF81IC0gJm5ic3A7XG4vLyAuc2MtcmF0aW5nLTFfMCAtICZuYnNwO1xuLy8gLnNjLXJhdGluZy0xXzUgLSAmbmJzcDtcbi8vIC5zYy1yYXRpbmctMl8wIC0gJm5ic3A7XG4vLyAuc2MtcmF0aW5nLTJfNSAtICZuYnNwO1xuLy8gLnNjLXJhdGluZy0zXzAgLSAmbmJzcDtcbi8vIC5zYy1yYXRpbmctM181IC0gJm5ic3A7XG4vLyAuc2MtcmF0aW5nLTRfMCAtICZuYnNwO1xuLy8gLnNjLXJhdGluZy00XzUgLSAmbmJzcDtcbi8vIC5zYy1yYXRpbmctNV8wIC0gJm5ic3A7XG4vL1xuLy8gU3R5bGUgZ3VpZGU6IDExLjBcblxuW2NsYXNzKj1zYy1yYXRpbmddIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xufVxuXG5AbWl4aW4gcmF0aW5ncy1zcHJpdGVzKCRzcHJpdGVzKSB7XG4gIEBlYWNoICRzcHJpdGUgaW4gJHNwcml0ZXMge1xuICAgICRzcHJpdGUtbmFtZTogbnRoKCRzcHJpdGUsIDEwKTtcbiAgICAuc2MtI3skc3ByaXRlLW5hbWV9IHtcbiAgICAgIEBpbmNsdWRlIHJhdGluZy1zcHJpdGUoJHNwcml0ZSk7XG4gICAgfVxuICB9XG59XG5cbkBtaXhpbiByZXRpbmEtcmF0aW5ncy1zcHJpdGVzKCRyZXRpbmEtZ3JvdXBzKSB7XG4gIEBlYWNoICRyZXRpbmEtZ3JvdXAgaW4gJHJldGluYS1ncm91cHMge1xuICAgICRzcHJpdGUtbmFtZTogbnRoKCRyZXRpbmEtZ3JvdXAsIDEpO1xuICAgIC5zYy0jeyRzcHJpdGUtbmFtZX0ge1xuICAgICAgQGluY2x1ZGUgcmF0aW5nLXJldGluYS1zcHJpdGUoJHJldGluYS1ncm91cCk7XG4gICAgfVxuICB9XG59XG4iLCJAZm9udC1mYWNlIHtcbiAgZm9udC1mYW1pbHk6IFwic2NJY29uc1wiO1xuICBzcmM6IHVybCgnLi9mb250cy9zY0ljb25zLmVvdCcpO1xuICBzcmM6IHVybCgnLi9mb250cy9zY0ljb25zLmVvdD8jaWVmaXgnKSBmb3JtYXQoJ2VvdCcpLFxuICAgIHVybCgnLi9mb250cy9zY0ljb25zLndvZmYnKSBmb3JtYXQoJ3dvZmYnKSxcbiAgICB1cmwoJy4vZm9udHMvc2NJY29ucy50dGYnKSBmb3JtYXQoJ3RydWV0eXBlJyksXG4gICAgdXJsKCcuL2ZvbnRzL3NjSWNvbnMuc3ZnI3NjSWNvbnMnKSBmb3JtYXQoJ3N2ZycpO1xufVxuXG4laWNvbiB7XG4gIGZvbnQtZmFtaWx5OiBcInNjSWNvbnNcIjtcbiAgICAtd2Via2l0LWZvbnQtc21vb3RoaW5nOiBhbnRpYWxpYXNlZDtcbiAgICAtbW96LW9zeC1mb250LXNtb290aGluZzogZ3JheXNjYWxlO1xuICBmb250LXN0eWxlOiBub3JtYWw7XG4gIGZvbnQtdmFyaWFudDogbm9ybWFsO1xuICBmb250LXdlaWdodDogbm9ybWFsO1xuICAvLyBzcGVhazogbm9uZTsgLy8gb25seSBuZWNlc3NhcnkgaWYgbm90IHVzaW5nIHRoZSBwcml2YXRlIHVuaWNvZGUgcmFuZ2UgKGZpcnN0R2x5cGggb3B0aW9uKVxuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gIHRleHQtdHJhbnNmb3JtOiBub25lO1xufVxuXG5AZnVuY3Rpb24gaWNvbi1jaGFyKCRmaWxlbmFtZSkge1xuICAkY2hhcjogXCJcIjtcblxuICBAaWYgJGZpbGVuYW1lID09IGNhcmV0IHtcbiAgICAkY2hhcjogXCJcXO6ogVwiO1xuICB9XG5cbiAgQHJldHVybiAkY2hhcjtcbn1cblxuQG1peGluIGljb24oJGZpbGVuYW1lLCAkaW5zZXJ0OiBiZWZvcmUpIHtcbiAgJjojeyRpbnNlcnR9IHtcbiAgICBAZXh0ZW5kICVpY29uO1xuICAgIGNvbnRlbnQ6IGljb24tY2hhcigkZmlsZW5hbWUpO1xuICB9XG59XG5cbi5zYy1pY29uLWNhcmV0IHtcbiAgQGluY2x1ZGUgaWNvbihjYXJldCk7XG59XG4iLCIvKlxuU0NTUyB2YXJpYWJsZXMgYXJlIGluZm9ybWF0aW9uIGFib3V0IGljb24ncyBjb21waWxlZCBzdGF0ZSwgc3RvcmVkIHVuZGVyIGl0cyBvcmlnaW5hbCBmaWxlIG5hbWVcblxuLmljb24taG9tZSB7XG4gIHdpZHRoOiAkaWNvbi1ob21lLXdpZHRoO1xufVxuXG5UaGUgbGFyZ2UgYXJyYXktbGlrZSB2YXJpYWJsZXMgY29udGFpbiBhbGwgaW5mb3JtYXRpb24gYWJvdXQgYSBzaW5nbGUgaWNvblxuJGljb24taG9tZTogeCB5IG9mZnNldF94IG9mZnNldF95IHdpZHRoIGhlaWdodCB0b3RhbF93aWR0aCB0b3RhbF9oZWlnaHQgaW1hZ2VfcGF0aDtcblxuQXQgdGhlIGJvdHRvbSBvZiB0aGlzIHNlY3Rpb24sIHdlIHByb3ZpZGUgaW5mb3JtYXRpb24gYWJvdXQgdGhlIHNwcml0ZXNoZWV0IGl0c2VsZlxuJHNwcml0ZXNoZWV0OiB3aWR0aCBoZWlnaHQgaW1hZ2UgJHNwcml0ZXNoZWV0LXNwcml0ZXM7XG4qL1xuJHYyLTAwMS1sb2dvLWRlc2stbmFtZTogJ3YyLTAwMS1sb2dvLWRlc2snO1xuJHYyLTAwMS1sb2dvLWRlc2steDogMHB4O1xuJHYyLTAwMS1sb2dvLWRlc2steTogNjIzcHg7XG4kdjItMDAxLWxvZ28tZGVzay1vZmZzZXQteDogMHB4O1xuJHYyLTAwMS1sb2dvLWRlc2stb2Zmc2V0LXk6IC02MjNweDtcbiR2Mi0wMDEtbG9nby1kZXNrLXdpZHRoOiAxNzZweDtcbiR2Mi0wMDEtbG9nby1kZXNrLWhlaWdodDogNDBweDtcbiR2Mi0wMDEtbG9nby1kZXNrLXRvdGFsLXdpZHRoOiAxNzZweDtcbiR2Mi0wMDEtbG9nby1kZXNrLXRvdGFsLWhlaWdodDogNjYzcHg7XG4kdjItMDAxLWxvZ28tZGVzay1pbWFnZTogJ3Nwcml0ZXMtdjIucG5nJztcbiR2Mi0wMDEtbG9nby1kZXNrOiAoMHB4LCA2MjNweCwgMHB4LCAtNjIzcHgsIDE3NnB4LCA0MHB4LCAxNzZweCwgNjYzcHgsICdzcHJpdGVzLXYyLnBuZycsICd2Mi0wMDEtbG9nby1kZXNrJywgKTtcbiR2Mi0wMDMtbG9nby1zdGlja3ktbmFtZTogJ3YyLTAwMy1sb2dvLXN0aWNreSc7XG4kdjItMDAzLWxvZ28tc3RpY2t5LXg6IDBweDtcbiR2Mi0wMDMtbG9nby1zdGlja3kteTogNDkzcHg7XG4kdjItMDAzLWxvZ28tc3RpY2t5LW9mZnNldC14OiAwcHg7XG4kdjItMDAzLWxvZ28tc3RpY2t5LW9mZnNldC15OiAtNDkzcHg7XG4kdjItMDAzLWxvZ28tc3RpY2t5LXdpZHRoOiAxNDNweDtcbiR2Mi0wMDMtbG9nby1zdGlja3ktaGVpZ2h0OiAzMnB4O1xuJHYyLTAwMy1sb2dvLXN0aWNreS10b3RhbC13aWR0aDogMTc2cHg7XG4kdjItMDAzLWxvZ28tc3RpY2t5LXRvdGFsLWhlaWdodDogNjYzcHg7XG4kdjItMDAzLWxvZ28tc3RpY2t5LWltYWdlOiAnc3ByaXRlcy12Mi5wbmcnO1xuJHYyLTAwMy1sb2dvLXN0aWNreTogKDBweCwgNDkzcHgsIDBweCwgLTQ5M3B4LCAxNDNweCwgMzJweCwgMTc2cHgsIDY2M3B4LCAnc3ByaXRlcy12Mi5wbmcnLCAndjItMDAzLWxvZ28tc3RpY2t5JywgKTtcbiR2Mi0wMDUtYXJyb3ctZG93bi1uYW1lOiAndjItMDA1LWFycm93LWRvd24nO1xuJHYyLTAwNS1hcnJvdy1kb3duLXg6IDBweDtcbiR2Mi0wMDUtYXJyb3ctZG93bi15OiAwcHg7XG4kdjItMDA1LWFycm93LWRvd24tb2Zmc2V0LXg6IDBweDtcbiR2Mi0wMDUtYXJyb3ctZG93bi1vZmZzZXQteTogMHB4O1xuJHYyLTAwNS1hcnJvdy1kb3duLXdpZHRoOiAxMHB4O1xuJHYyLTAwNS1hcnJvdy1kb3duLWhlaWdodDogNnB4O1xuJHYyLTAwNS1hcnJvdy1kb3duLXRvdGFsLXdpZHRoOiAxNzZweDtcbiR2Mi0wMDUtYXJyb3ctZG93bi10b3RhbC1oZWlnaHQ6IDY2M3B4O1xuJHYyLTAwNS1hcnJvdy1kb3duLWltYWdlOiAnc3ByaXRlcy12Mi5wbmcnO1xuJHYyLTAwNS1hcnJvdy1kb3duOiAoMHB4LCAwcHgsIDBweCwgMHB4LCAxMHB4LCA2cHgsIDE3NnB4LCA2NjNweCwgJ3Nwcml0ZXMtdjIucG5nJywgJ3YyLTAwNS1hcnJvdy1kb3duJywgKTtcbiR2Mi0wMDctYXJyb3ctdXAtbmFtZTogJ3YyLTAwNy1hcnJvdy11cCc7XG4kdjItMDA3LWFycm93LXVwLXg6IDBweDtcbiR2Mi0wMDctYXJyb3ctdXAteTogMTZweDtcbiR2Mi0wMDctYXJyb3ctdXAtb2Zmc2V0LXg6IDBweDtcbiR2Mi0wMDctYXJyb3ctdXAtb2Zmc2V0LXk6IC0xNnB4O1xuJHYyLTAwNy1hcnJvdy11cC13aWR0aDogMTBweDtcbiR2Mi0wMDctYXJyb3ctdXAtaGVpZ2h0OiA2cHg7XG4kdjItMDA3LWFycm93LXVwLXRvdGFsLXdpZHRoOiAxNzZweDtcbiR2Mi0wMDctYXJyb3ctdXAtdG90YWwtaGVpZ2h0OiA2NjNweDtcbiR2Mi0wMDctYXJyb3ctdXAtaW1hZ2U6ICdzcHJpdGVzLXYyLnBuZyc7XG4kdjItMDA3LWFycm93LXVwOiAoMHB4LCAxNnB4LCAwcHgsIC0xNnB4LCAxMHB4LCA2cHgsIDE3NnB4LCA2NjNweCwgJ3Nwcml0ZXMtdjIucG5nJywgJ3YyLTAwNy1hcnJvdy11cCcsICk7XG4kdjItMDA5LWNhcm8tYXJyLWx0LW5hbWU6ICd2Mi0wMDktY2Fyby1hcnItbHQnO1xuJHYyLTAwOS1jYXJvLWFyci1sdC14OiAwcHg7XG4kdjItMDA5LWNhcm8tYXJyLWx0LXk6IDQ1MXB4O1xuJHYyLTAwOS1jYXJvLWFyci1sdC1vZmZzZXQteDogMHB4O1xuJHYyLTAwOS1jYXJvLWFyci1sdC1vZmZzZXQteTogLTQ1MXB4O1xuJHYyLTAwOS1jYXJvLWFyci1sdC13aWR0aDogMzJweDtcbiR2Mi0wMDktY2Fyby1hcnItbHQtaGVpZ2h0OiAzMnB4O1xuJHYyLTAwOS1jYXJvLWFyci1sdC10b3RhbC13aWR0aDogMTc2cHg7XG4kdjItMDA5LWNhcm8tYXJyLWx0LXRvdGFsLWhlaWdodDogNjYzcHg7XG4kdjItMDA5LWNhcm8tYXJyLWx0LWltYWdlOiAnc3ByaXRlcy12Mi5wbmcnO1xuJHYyLTAwOS1jYXJvLWFyci1sdDogKDBweCwgNDUxcHgsIDBweCwgLTQ1MXB4LCAzMnB4LCAzMnB4LCAxNzZweCwgNjYzcHgsICdzcHJpdGVzLXYyLnBuZycsICd2Mi0wMDktY2Fyby1hcnItbHQnLCApO1xuJHYyLTAxMS1jYXJvLWFyci1ydC1uYW1lOiAndjItMDExLWNhcm8tYXJyLXJ0JztcbiR2Mi0wMTEtY2Fyby1hcnItcnQteDogMHB4O1xuJHYyLTAxMS1jYXJvLWFyci1ydC15OiA0MDlweDtcbiR2Mi0wMTEtY2Fyby1hcnItcnQtb2Zmc2V0LXg6IDBweDtcbiR2Mi0wMTEtY2Fyby1hcnItcnQtb2Zmc2V0LXk6IC00MDlweDtcbiR2Mi0wMTEtY2Fyby1hcnItcnQtd2lkdGg6IDMycHg7XG4kdjItMDExLWNhcm8tYXJyLXJ0LWhlaWdodDogMzJweDtcbiR2Mi0wMTEtY2Fyby1hcnItcnQtdG90YWwtd2lkdGg6IDE3NnB4O1xuJHYyLTAxMS1jYXJvLWFyci1ydC10b3RhbC1oZWlnaHQ6IDY2M3B4O1xuJHYyLTAxMS1jYXJvLWFyci1ydC1pbWFnZTogJ3Nwcml0ZXMtdjIucG5nJztcbiR2Mi0wMTEtY2Fyby1hcnItcnQ6ICgwcHgsIDQwOXB4LCAwcHgsIC00MDlweCwgMzJweCwgMzJweCwgMTc2cHgsIDY2M3B4LCAnc3ByaXRlcy12Mi5wbmcnLCAndjItMDExLWNhcm8tYXJyLXJ0JywgKTtcbiR2Mi0wMTMtY2FydC1pY28tbmFtZTogJ3YyLTAxMy1jYXJ0LWljbyc7XG4kdjItMDEzLWNhcnQtaWNvLXg6IDBweDtcbiR2Mi0wMTMtY2FydC1pY28teTogMjAycHg7XG4kdjItMDEzLWNhcnQtaWNvLW9mZnNldC14OiAwcHg7XG4kdjItMDEzLWNhcnQtaWNvLW9mZnNldC15OiAtMjAycHg7XG4kdjItMDEzLWNhcnQtaWNvLXdpZHRoOiAzMXB4O1xuJHYyLTAxMy1jYXJ0LWljby1oZWlnaHQ6IDIzcHg7XG4kdjItMDEzLWNhcnQtaWNvLXRvdGFsLXdpZHRoOiAxNzZweDtcbiR2Mi0wMTMtY2FydC1pY28tdG90YWwtaGVpZ2h0OiA2NjNweDtcbiR2Mi0wMTMtY2FydC1pY28taW1hZ2U6ICdzcHJpdGVzLXYyLnBuZyc7XG4kdjItMDEzLWNhcnQtaWNvOiAoMHB4LCAyMDJweCwgMHB4LCAtMjAycHgsIDMxcHgsIDIzcHgsIDE3NnB4LCA2NjNweCwgJ3Nwcml0ZXMtdjIucG5nJywgJ3YyLTAxMy1jYXJ0LWljbycsICk7XG4kdjItMDE1LWZseS1hcnItbmFtZTogJ3YyLTAxNS1mbHktYXJyJztcbiR2Mi0wMTUtZmx5LWFyci14OiAwcHg7XG4kdjItMDE1LWZseS1hcnIteTogNTJweDtcbiR2Mi0wMTUtZmx5LWFyci1vZmZzZXQteDogMHB4O1xuJHYyLTAxNS1mbHktYXJyLW9mZnNldC15OiAtNTJweDtcbiR2Mi0wMTUtZmx5LWFyci13aWR0aDogNnB4O1xuJHYyLTAxNS1mbHktYXJyLWhlaWdodDogMTBweDtcbiR2Mi0wMTUtZmx5LWFyci10b3RhbC13aWR0aDogMTc2cHg7XG4kdjItMDE1LWZseS1hcnItdG90YWwtaGVpZ2h0OiA2NjNweDtcbiR2Mi0wMTUtZmx5LWFyci1pbWFnZTogJ3Nwcml0ZXMtdjIucG5nJztcbiR2Mi0wMTUtZmx5LWFycjogKDBweCwgNTJweCwgMHB4LCAtNTJweCwgNnB4LCAxMHB4LCAxNzZweCwgNjYzcHgsICdzcHJpdGVzLXYyLnBuZycsICd2Mi0wMTUtZmx5LWFycicsICk7XG4kdjItMDE3LWZseS1hcnItYWN0aXZlLW5hbWU6ICd2Mi0wMTctZmx5LWFyci1hY3RpdmUnO1xuJHYyLTAxNy1mbHktYXJyLWFjdGl2ZS14OiAwcHg7XG4kdjItMDE3LWZseS1hcnItYWN0aXZlLXk6IDMycHg7XG4kdjItMDE3LWZseS1hcnItYWN0aXZlLW9mZnNldC14OiAwcHg7XG4kdjItMDE3LWZseS1hcnItYWN0aXZlLW9mZnNldC15OiAtMzJweDtcbiR2Mi0wMTctZmx5LWFyci1hY3RpdmUtd2lkdGg6IDZweDtcbiR2Mi0wMTctZmx5LWFyci1hY3RpdmUtaGVpZ2h0OiAxMHB4O1xuJHYyLTAxNy1mbHktYXJyLWFjdGl2ZS10b3RhbC13aWR0aDogMTc2cHg7XG4kdjItMDE3LWZseS1hcnItYWN0aXZlLXRvdGFsLWhlaWdodDogNjYzcHg7XG4kdjItMDE3LWZseS1hcnItYWN0aXZlLWltYWdlOiAnc3ByaXRlcy12Mi5wbmcnO1xuJHYyLTAxNy1mbHktYXJyLWFjdGl2ZTogKDBweCwgMzJweCwgMHB4LCAtMzJweCwgNnB4LCAxMHB4LCAxNzZweCwgNjYzcHgsICdzcHJpdGVzLXYyLnBuZycsICd2Mi0wMTctZmx5LWFyci1hY3RpdmUnLCApO1xuJHYyLTAxOS1tZW51LW5hbWU6ICd2Mi0wMTktbWVudSc7XG4kdjItMDE5LW1lbnUteDogMHB4O1xuJHYyLTAxOS1tZW51LXk6IDE0NnB4O1xuJHYyLTAxOS1tZW51LW9mZnNldC14OiAwcHg7XG4kdjItMDE5LW1lbnUtb2Zmc2V0LXk6IC0xNDZweDtcbiR2Mi0wMTktbWVudS13aWR0aDogMjNweDtcbiR2Mi0wMTktbWVudS1oZWlnaHQ6IDE4cHg7XG4kdjItMDE5LW1lbnUtdG90YWwtd2lkdGg6IDE3NnB4O1xuJHYyLTAxOS1tZW51LXRvdGFsLWhlaWdodDogNjYzcHg7XG4kdjItMDE5LW1lbnUtaW1hZ2U6ICdzcHJpdGVzLXYyLnBuZyc7XG4kdjItMDE5LW1lbnU6ICgwcHgsIDE0NnB4LCAwcHgsIC0xNDZweCwgMjNweCwgMThweCwgMTc2cHgsIDY2M3B4LCAnc3ByaXRlcy12Mi5wbmcnLCAndjItMDE5LW1lbnUnLCApO1xuJHYyLTAyMS1zcmNoLWJsdS1yZWctbmFtZTogJ3YyLTAyMS1zcmNoLWJsdS1yZWcnO1xuJHYyLTAyMS1zcmNoLWJsdS1yZWcteDogMHB4O1xuJHYyLTAyMS1zcmNoLWJsdS1yZWcteTogNTc5cHg7XG4kdjItMDIxLXNyY2gtYmx1LXJlZy1vZmZzZXQteDogMHB4O1xuJHYyLTAyMS1zcmNoLWJsdS1yZWctb2Zmc2V0LXk6IC01NzlweDtcbiR2Mi0wMjEtc3JjaC1ibHUtcmVnLXdpZHRoOiAzNHB4O1xuJHYyLTAyMS1zcmNoLWJsdS1yZWctaGVpZ2h0OiAzNHB4O1xuJHYyLTAyMS1zcmNoLWJsdS1yZWctdG90YWwtd2lkdGg6IDE3NnB4O1xuJHYyLTAyMS1zcmNoLWJsdS1yZWctdG90YWwtaGVpZ2h0OiA2NjNweDtcbiR2Mi0wMjEtc3JjaC1ibHUtcmVnLWltYWdlOiAnc3ByaXRlcy12Mi5wbmcnO1xuJHYyLTAyMS1zcmNoLWJsdS1yZWc6ICgwcHgsIDU3OXB4LCAwcHgsIC01NzlweCwgMzRweCwgMzRweCwgMTc2cHgsIDY2M3B4LCAnc3ByaXRlcy12Mi5wbmcnLCAndjItMDIxLXNyY2gtYmx1LXJlZycsICk7XG4kdjItMDIzLXNyY2gtYmx1LXN0a3ktbmFtZTogJ3YyLTAyMy1zcmNoLWJsdS1zdGt5JztcbiR2Mi0wMjMtc3JjaC1ibHUtc3RreS14OiAwcHg7XG4kdjItMDIzLXNyY2gtYmx1LXN0a3kteTogMzczcHg7XG4kdjItMDIzLXNyY2gtYmx1LXN0a3ktb2Zmc2V0LXg6IDBweDtcbiR2Mi0wMjMtc3JjaC1ibHUtc3RreS1vZmZzZXQteTogLTM3M3B4O1xuJHYyLTAyMy1zcmNoLWJsdS1zdGt5LXdpZHRoOiAyNnB4O1xuJHYyLTAyMy1zcmNoLWJsdS1zdGt5LWhlaWdodDogMjZweDtcbiR2Mi0wMjMtc3JjaC1ibHUtc3RreS10b3RhbC13aWR0aDogMTc2cHg7XG4kdjItMDIzLXNyY2gtYmx1LXN0a3ktdG90YWwtaGVpZ2h0OiA2NjNweDtcbiR2Mi0wMjMtc3JjaC1ibHUtc3RreS1pbWFnZTogJ3Nwcml0ZXMtdjIucG5nJztcbiR2Mi0wMjMtc3JjaC1ibHUtc3RreTogKDBweCwgMzczcHgsIDBweCwgLTM3M3B4LCAyNnB4LCAyNnB4LCAxNzZweCwgNjYzcHgsICdzcHJpdGVzLXYyLnBuZycsICd2Mi0wMjMtc3JjaC1ibHUtc3RreScsICk7XG4kdjItMDI1LXNyY2gtZ3JheS1yZWctbmFtZTogJ3YyLTAyNS1zcmNoLWdyYXktcmVnJztcbiR2Mi0wMjUtc3JjaC1ncmF5LXJlZy14OiAwcHg7XG4kdjItMDI1LXNyY2gtZ3JheS1yZWcteTogNTM1cHg7XG4kdjItMDI1LXNyY2gtZ3JheS1yZWctb2Zmc2V0LXg6IDBweDtcbiR2Mi0wMjUtc3JjaC1ncmF5LXJlZy1vZmZzZXQteTogLTUzNXB4O1xuJHYyLTAyNS1zcmNoLWdyYXktcmVnLXdpZHRoOiAzNHB4O1xuJHYyLTAyNS1zcmNoLWdyYXktcmVnLWhlaWdodDogMzRweDtcbiR2Mi0wMjUtc3JjaC1ncmF5LXJlZy10b3RhbC13aWR0aDogMTc2cHg7XG4kdjItMDI1LXNyY2gtZ3JheS1yZWctdG90YWwtaGVpZ2h0OiA2NjNweDtcbiR2Mi0wMjUtc3JjaC1ncmF5LXJlZy1pbWFnZTogJ3Nwcml0ZXMtdjIucG5nJztcbiR2Mi0wMjUtc3JjaC1ncmF5LXJlZzogKDBweCwgNTM1cHgsIDBweCwgLTUzNXB4LCAzNHB4LCAzNHB4LCAxNzZweCwgNjYzcHgsICdzcHJpdGVzLXYyLnBuZycsICd2Mi0wMjUtc3JjaC1ncmF5LXJlZycsICk7XG4kdjItMDI3LXNyY2gtZ3JheS1zdGt5LW5hbWU6ICd2Mi0wMjctc3JjaC1ncmF5LXN0a3knO1xuJHYyLTAyNy1zcmNoLWdyYXktc3RreS14OiAwcHg7XG4kdjItMDI3LXNyY2gtZ3JheS1zdGt5LXk6IDMzN3B4O1xuJHYyLTAyNy1zcmNoLWdyYXktc3RreS1vZmZzZXQteDogMHB4O1xuJHYyLTAyNy1zcmNoLWdyYXktc3RreS1vZmZzZXQteTogLTMzN3B4O1xuJHYyLTAyNy1zcmNoLWdyYXktc3RreS13aWR0aDogMjZweDtcbiR2Mi0wMjctc3JjaC1ncmF5LXN0a3ktaGVpZ2h0OiAyNnB4O1xuJHYyLTAyNy1zcmNoLWdyYXktc3RreS10b3RhbC13aWR0aDogMTc2cHg7XG4kdjItMDI3LXNyY2gtZ3JheS1zdGt5LXRvdGFsLWhlaWdodDogNjYzcHg7XG4kdjItMDI3LXNyY2gtZ3JheS1zdGt5LWltYWdlOiAnc3ByaXRlcy12Mi5wbmcnO1xuJHYyLTAyNy1zcmNoLWdyYXktc3RreTogKDBweCwgMzM3cHgsIDBweCwgLTMzN3B4LCAyNnB4LCAyNnB4LCAxNzZweCwgNjYzcHgsICdzcHJpdGVzLXYyLnBuZycsICd2Mi0wMjctc3JjaC1ncmF5LXN0a3knLCApO1xuJHYyLTAyOS14LW5hbWU6ICd2Mi0wMjkteCc7XG4kdjItMDI5LXgteDogMHB4O1xuJHYyLTAyOS14LXk6IDcycHg7XG4kdjItMDI5LXgtb2Zmc2V0LXg6IDBweDtcbiR2Mi0wMjkteC1vZmZzZXQteTogLTcycHg7XG4kdjItMDI5LXgtd2lkdGg6IDEycHg7XG4kdjItMDI5LXgtaGVpZ2h0OiAxMnB4O1xuJHYyLTAyOS14LXRvdGFsLXdpZHRoOiAxNzZweDtcbiR2Mi0wMjkteC10b3RhbC1oZWlnaHQ6IDY2M3B4O1xuJHYyLTAyOS14LWltYWdlOiAnc3ByaXRlcy12Mi5wbmcnO1xuJHYyLTAyOS14OiAoMHB4LCA3MnB4LCAwcHgsIC03MnB4LCAxMnB4LCAxMnB4LCAxNzZweCwgNjYzcHgsICdzcHJpdGVzLXYyLnBuZycsICd2Mi0wMjkteCcsICk7XG4kdjItMDMxLWNoay1uYW1lOiAndjItMDMxLWNoayc7XG4kdjItMDMxLWNoay14OiAwcHg7XG4kdjItMDMxLWNoay15OiAxMjBweDtcbiR2Mi0wMzEtY2hrLW9mZnNldC14OiAwcHg7XG4kdjItMDMxLWNoay1vZmZzZXQteTogLTEyMHB4O1xuJHYyLTAzMS1jaGstd2lkdGg6IDE2cHg7XG4kdjItMDMxLWNoay1oZWlnaHQ6IDE2cHg7XG4kdjItMDMxLWNoay10b3RhbC13aWR0aDogMTc2cHg7XG4kdjItMDMxLWNoay10b3RhbC1oZWlnaHQ6IDY2M3B4O1xuJHYyLTAzMS1jaGstaW1hZ2U6ICdzcHJpdGVzLXYyLnBuZyc7XG4kdjItMDMxLWNoazogKDBweCwgMTIwcHgsIDBweCwgLTEyMHB4LCAxNnB4LCAxNnB4LCAxNzZweCwgNjYzcHgsICdzcHJpdGVzLXYyLnBuZycsICd2Mi0wMzEtY2hrJywgKTtcbiR2Mi0wMzMtbG9jay1uYW1lOiAndjItMDMzLWxvY2snO1xuJHYyLTAzMy1sb2NrLXg6IDBweDtcbiR2Mi0wMzMtbG9jay15OiA5NHB4O1xuJHYyLTAzMy1sb2NrLW9mZnNldC14OiAwcHg7XG4kdjItMDMzLWxvY2stb2Zmc2V0LXk6IC05NHB4O1xuJHYyLTAzMy1sb2NrLXdpZHRoOiAxNHB4O1xuJHYyLTAzMy1sb2NrLWhlaWdodDogMTZweDtcbiR2Mi0wMzMtbG9jay10b3RhbC13aWR0aDogMTc2cHg7XG4kdjItMDMzLWxvY2stdG90YWwtaGVpZ2h0OiA2NjNweDtcbiR2Mi0wMzMtbG9jay1pbWFnZTogJ3Nwcml0ZXMtdjIucG5nJztcbiR2Mi0wMzMtbG9jazogKDBweCwgOTRweCwgMHB4LCAtOTRweCwgMTRweCwgMTZweCwgMTc2cHgsIDY2M3B4LCAnc3ByaXRlcy12Mi5wbmcnLCAndjItMDMzLWxvY2snLCApO1xuJHYyLTAzNS1tZW51LWFjdGl2ZS1uYW1lOiAndjItMDM1LW1lbnUtYWN0aXZlJztcbiR2Mi0wMzUtbWVudS1hY3RpdmUteDogMHB4O1xuJHYyLTAzNS1tZW51LWFjdGl2ZS15OiAxNzRweDtcbiR2Mi0wMzUtbWVudS1hY3RpdmUtb2Zmc2V0LXg6IDBweDtcbiR2Mi0wMzUtbWVudS1hY3RpdmUtb2Zmc2V0LXk6IC0xNzRweDtcbiR2Mi0wMzUtbWVudS1hY3RpdmUtd2lkdGg6IDIzcHg7XG4kdjItMDM1LW1lbnUtYWN0aXZlLWhlaWdodDogMThweDtcbiR2Mi0wMzUtbWVudS1hY3RpdmUtdG90YWwtd2lkdGg6IDE3NnB4O1xuJHYyLTAzNS1tZW51LWFjdGl2ZS10b3RhbC1oZWlnaHQ6IDY2M3B4O1xuJHYyLTAzNS1tZW51LWFjdGl2ZS1pbWFnZTogJ3Nwcml0ZXMtdjIucG5nJztcbiR2Mi0wMzUtbWVudS1hY3RpdmU6ICgwcHgsIDE3NHB4LCAwcHgsIC0xNzRweCwgMjNweCwgMThweCwgMTc2cHgsIDY2M3B4LCAnc3ByaXRlcy12Mi5wbmcnLCAndjItMDM1LW1lbnUtYWN0aXZlJywgKTtcbiR2Mi0wMzctZmFjZWJvb2stbmFtZTogJ3YyLTAzNy1mYWNlYm9vayc7XG4kdjItMDM3LWZhY2Vib29rLXg6IDBweDtcbiR2Mi0wMzctZmFjZWJvb2steTogMjY5cHg7XG4kdjItMDM3LWZhY2Vib29rLW9mZnNldC14OiAwcHg7XG4kdjItMDM3LWZhY2Vib29rLW9mZnNldC15OiAtMjY5cHg7XG4kdjItMDM3LWZhY2Vib29rLXdpZHRoOiAyNHB4O1xuJHYyLTAzNy1mYWNlYm9vay1oZWlnaHQ6IDI0cHg7XG4kdjItMDM3LWZhY2Vib29rLXRvdGFsLXdpZHRoOiAxNzZweDtcbiR2Mi0wMzctZmFjZWJvb2stdG90YWwtaGVpZ2h0OiA2NjNweDtcbiR2Mi0wMzctZmFjZWJvb2staW1hZ2U6ICdzcHJpdGVzLXYyLnBuZyc7XG4kdjItMDM3LWZhY2Vib29rOiAoMHB4LCAyNjlweCwgMHB4LCAtMjY5cHgsIDI0cHgsIDI0cHgsIDE3NnB4LCA2NjNweCwgJ3Nwcml0ZXMtdjIucG5nJywgJ3YyLTAzNy1mYWNlYm9vaycsICk7XG4kdjItMDM5LXBpbnRlcmVzdC1uYW1lOiAndjItMDM5LXBpbnRlcmVzdCc7XG4kdjItMDM5LXBpbnRlcmVzdC14OiAwcHg7XG4kdjItMDM5LXBpbnRlcmVzdC15OiAzMDNweDtcbiR2Mi0wMzktcGludGVyZXN0LW9mZnNldC14OiAwcHg7XG4kdjItMDM5LXBpbnRlcmVzdC1vZmZzZXQteTogLTMwM3B4O1xuJHYyLTAzOS1waW50ZXJlc3Qtd2lkdGg6IDI0cHg7XG4kdjItMDM5LXBpbnRlcmVzdC1oZWlnaHQ6IDI0cHg7XG4kdjItMDM5LXBpbnRlcmVzdC10b3RhbC13aWR0aDogMTc2cHg7XG4kdjItMDM5LXBpbnRlcmVzdC10b3RhbC1oZWlnaHQ6IDY2M3B4O1xuJHYyLTAzOS1waW50ZXJlc3QtaW1hZ2U6ICdzcHJpdGVzLXYyLnBuZyc7XG4kdjItMDM5LXBpbnRlcmVzdDogKDBweCwgMzAzcHgsIDBweCwgLTMwM3B4LCAyNHB4LCAyNHB4LCAxNzZweCwgNjYzcHgsICdzcHJpdGVzLXYyLnBuZycsICd2Mi0wMzktcGludGVyZXN0JywgKTtcbiR2Mi0wNDEtdHdpdHRlci1uYW1lOiAndjItMDQxLXR3aXR0ZXInO1xuJHYyLTA0MS10d2l0dGVyLXg6IDBweDtcbiR2Mi0wNDEtdHdpdHRlci15OiAyMzVweDtcbiR2Mi0wNDEtdHdpdHRlci1vZmZzZXQteDogMHB4O1xuJHYyLTA0MS10d2l0dGVyLW9mZnNldC15OiAtMjM1cHg7XG4kdjItMDQxLXR3aXR0ZXItd2lkdGg6IDI1cHg7XG4kdjItMDQxLXR3aXR0ZXItaGVpZ2h0OiAyNHB4O1xuJHYyLTA0MS10d2l0dGVyLXRvdGFsLXdpZHRoOiAxNzZweDtcbiR2Mi0wNDEtdHdpdHRlci10b3RhbC1oZWlnaHQ6IDY2M3B4O1xuJHYyLTA0MS10d2l0dGVyLWltYWdlOiAnc3ByaXRlcy12Mi5wbmcnO1xuJHYyLTA0MS10d2l0dGVyOiAoMHB4LCAyMzVweCwgMHB4LCAtMjM1cHgsIDI1cHgsIDI0cHgsIDE3NnB4LCA2NjNweCwgJ3Nwcml0ZXMtdjIucG5nJywgJ3YyLTA0MS10d2l0dGVyJywgKTtcblxuLyogUkVUSU5BICovXG4kdjItMDAyLWxvZ28tZGVzay0yeC1uYW1lOiAndjItMDAyLWxvZ28tZGVzay0yeCc7XG4kdjItMDAyLWxvZ28tZGVzay0yeC14OiAwcHg7XG4kdjItMDAyLWxvZ28tZGVzay0yeC15OiAxMjQ2cHg7XG4kdjItMDAyLWxvZ28tZGVzay0yeC1vZmZzZXQteDogMHB4O1xuJHYyLTAwMi1sb2dvLWRlc2stMngtb2Zmc2V0LXk6IC0xMjQ2cHg7XG4kdjItMDAyLWxvZ28tZGVzay0yeC13aWR0aDogMzUycHg7XG4kdjItMDAyLWxvZ28tZGVzay0yeC1oZWlnaHQ6IDgwcHg7XG4kdjItMDAyLWxvZ28tZGVzay0yeC10b3RhbC13aWR0aDogMzUycHg7XG4kdjItMDAyLWxvZ28tZGVzay0yeC10b3RhbC1oZWlnaHQ6IDEzMjZweDtcbiR2Mi0wMDItbG9nby1kZXNrLTJ4LWltYWdlOiAnc3ByaXRlcy12MkAyeC5wbmcnO1xuJHYyLTAwMi1sb2dvLWRlc2stMng6ICgwcHgsIDEyNDZweCwgMHB4LCAtMTI0NnB4LCAzNTJweCwgODBweCwgMzUycHgsIDEzMjZweCwgJ3Nwcml0ZXMtdjJAMngucG5nJywgJ3YyLTAwMi1sb2dvLWRlc2stMngnLCApO1xuJHYyLTAwNC1sb2dvLXN0aWNreS0yeC1uYW1lOiAndjItMDA0LWxvZ28tc3RpY2t5LTJ4JztcbiR2Mi0wMDQtbG9nby1zdGlja3ktMngteDogMHB4O1xuJHYyLTAwNC1sb2dvLXN0aWNreS0yeC15OiA5ODZweDtcbiR2Mi0wMDQtbG9nby1zdGlja3ktMngtb2Zmc2V0LXg6IDBweDtcbiR2Mi0wMDQtbG9nby1zdGlja3ktMngtb2Zmc2V0LXk6IC05ODZweDtcbiR2Mi0wMDQtbG9nby1zdGlja3ktMngtd2lkdGg6IDI4NnB4O1xuJHYyLTAwNC1sb2dvLXN0aWNreS0yeC1oZWlnaHQ6IDY0cHg7XG4kdjItMDA0LWxvZ28tc3RpY2t5LTJ4LXRvdGFsLXdpZHRoOiAzNTJweDtcbiR2Mi0wMDQtbG9nby1zdGlja3ktMngtdG90YWwtaGVpZ2h0OiAxMzI2cHg7XG4kdjItMDA0LWxvZ28tc3RpY2t5LTJ4LWltYWdlOiAnc3ByaXRlcy12MkAyeC5wbmcnO1xuJHYyLTAwNC1sb2dvLXN0aWNreS0yeDogKDBweCwgOTg2cHgsIDBweCwgLTk4NnB4LCAyODZweCwgNjRweCwgMzUycHgsIDEzMjZweCwgJ3Nwcml0ZXMtdjJAMngucG5nJywgJ3YyLTAwNC1sb2dvLXN0aWNreS0yeCcsICk7XG4kdjItMDA2LWFycm93LWRvd24tMngtbmFtZTogJ3YyLTAwNi1hcnJvdy1kb3duLTJ4JztcbiR2Mi0wMDYtYXJyb3ctZG93bi0yeC14OiAwcHg7XG4kdjItMDA2LWFycm93LWRvd24tMngteTogMHB4O1xuJHYyLTAwNi1hcnJvdy1kb3duLTJ4LW9mZnNldC14OiAwcHg7XG4kdjItMDA2LWFycm93LWRvd24tMngtb2Zmc2V0LXk6IDBweDtcbiR2Mi0wMDYtYXJyb3ctZG93bi0yeC13aWR0aDogMjBweDtcbiR2Mi0wMDYtYXJyb3ctZG93bi0yeC1oZWlnaHQ6IDEycHg7XG4kdjItMDA2LWFycm93LWRvd24tMngtdG90YWwtd2lkdGg6IDM1MnB4O1xuJHYyLTAwNi1hcnJvdy1kb3duLTJ4LXRvdGFsLWhlaWdodDogMTMyNnB4O1xuJHYyLTAwNi1hcnJvdy1kb3duLTJ4LWltYWdlOiAnc3ByaXRlcy12MkAyeC5wbmcnO1xuJHYyLTAwNi1hcnJvdy1kb3duLTJ4OiAoMHB4LCAwcHgsIDBweCwgMHB4LCAyMHB4LCAxMnB4LCAzNTJweCwgMTMyNnB4LCAnc3ByaXRlcy12MkAyeC5wbmcnLCAndjItMDA2LWFycm93LWRvd24tMngnLCApO1xuJHYyLTAwOC1hcnJvdy11cC0yeC1uYW1lOiAndjItMDA4LWFycm93LXVwLTJ4JztcbiR2Mi0wMDgtYXJyb3ctdXAtMngteDogMHB4O1xuJHYyLTAwOC1hcnJvdy11cC0yeC15OiAzMnB4O1xuJHYyLTAwOC1hcnJvdy11cC0yeC1vZmZzZXQteDogMHB4O1xuJHYyLTAwOC1hcnJvdy11cC0yeC1vZmZzZXQteTogLTMycHg7XG4kdjItMDA4LWFycm93LXVwLTJ4LXdpZHRoOiAyMHB4O1xuJHYyLTAwOC1hcnJvdy11cC0yeC1oZWlnaHQ6IDEycHg7XG4kdjItMDA4LWFycm93LXVwLTJ4LXRvdGFsLXdpZHRoOiAzNTJweDtcbiR2Mi0wMDgtYXJyb3ctdXAtMngtdG90YWwtaGVpZ2h0OiAxMzI2cHg7XG4kdjItMDA4LWFycm93LXVwLTJ4LWltYWdlOiAnc3ByaXRlcy12MkAyeC5wbmcnO1xuJHYyLTAwOC1hcnJvdy11cC0yeDogKDBweCwgMzJweCwgMHB4LCAtMzJweCwgMjBweCwgMTJweCwgMzUycHgsIDEzMjZweCwgJ3Nwcml0ZXMtdjJAMngucG5nJywgJ3YyLTAwOC1hcnJvdy11cC0yeCcsICk7XG4kdjItMDEwLWNhcm8tYXJyLWx0LTJ4LW5hbWU6ICd2Mi0wMTAtY2Fyby1hcnItbHQtMngnO1xuJHYyLTAxMC1jYXJvLWFyci1sdC0yeC14OiAwcHg7XG4kdjItMDEwLWNhcm8tYXJyLWx0LTJ4LXk6IDkwMnB4O1xuJHYyLTAxMC1jYXJvLWFyci1sdC0yeC1vZmZzZXQteDogMHB4O1xuJHYyLTAxMC1jYXJvLWFyci1sdC0yeC1vZmZzZXQteTogLTkwMnB4O1xuJHYyLTAxMC1jYXJvLWFyci1sdC0yeC13aWR0aDogNjRweDtcbiR2Mi0wMTAtY2Fyby1hcnItbHQtMngtaGVpZ2h0OiA2NHB4O1xuJHYyLTAxMC1jYXJvLWFyci1sdC0yeC10b3RhbC13aWR0aDogMzUycHg7XG4kdjItMDEwLWNhcm8tYXJyLWx0LTJ4LXRvdGFsLWhlaWdodDogMTMyNnB4O1xuJHYyLTAxMC1jYXJvLWFyci1sdC0yeC1pbWFnZTogJ3Nwcml0ZXMtdjJAMngucG5nJztcbiR2Mi0wMTAtY2Fyby1hcnItbHQtMng6ICgwcHgsIDkwMnB4LCAwcHgsIC05MDJweCwgNjRweCwgNjRweCwgMzUycHgsIDEzMjZweCwgJ3Nwcml0ZXMtdjJAMngucG5nJywgJ3YyLTAxMC1jYXJvLWFyci1sdC0yeCcsICk7XG4kdjItMDEyLWNhcm8tYXJyLXJ0LTJ4LW5hbWU6ICd2Mi0wMTItY2Fyby1hcnItcnQtMngnO1xuJHYyLTAxMi1jYXJvLWFyci1ydC0yeC14OiAwcHg7XG4kdjItMDEyLWNhcm8tYXJyLXJ0LTJ4LXk6IDgxOHB4O1xuJHYyLTAxMi1jYXJvLWFyci1ydC0yeC1vZmZzZXQteDogMHB4O1xuJHYyLTAxMi1jYXJvLWFyci1ydC0yeC1vZmZzZXQteTogLTgxOHB4O1xuJHYyLTAxMi1jYXJvLWFyci1ydC0yeC13aWR0aDogNjRweDtcbiR2Mi0wMTItY2Fyby1hcnItcnQtMngtaGVpZ2h0OiA2NHB4O1xuJHYyLTAxMi1jYXJvLWFyci1ydC0yeC10b3RhbC13aWR0aDogMzUycHg7XG4kdjItMDEyLWNhcm8tYXJyLXJ0LTJ4LXRvdGFsLWhlaWdodDogMTMyNnB4O1xuJHYyLTAxMi1jYXJvLWFyci1ydC0yeC1pbWFnZTogJ3Nwcml0ZXMtdjJAMngucG5nJztcbiR2Mi0wMTItY2Fyby1hcnItcnQtMng6ICgwcHgsIDgxOHB4LCAwcHgsIC04MThweCwgNjRweCwgNjRweCwgMzUycHgsIDEzMjZweCwgJ3Nwcml0ZXMtdjJAMngucG5nJywgJ3YyLTAxMi1jYXJvLWFyci1ydC0yeCcsICk7XG4kdjItMDE0LWNhcnQtaWNvLTJ4LW5hbWU6ICd2Mi0wMTQtY2FydC1pY28tMngnO1xuJHYyLTAxNC1jYXJ0LWljby0yeC14OiAwcHg7XG4kdjItMDE0LWNhcnQtaWNvLTJ4LXk6IDQwNHB4O1xuJHYyLTAxNC1jYXJ0LWljby0yeC1vZmZzZXQteDogMHB4O1xuJHYyLTAxNC1jYXJ0LWljby0yeC1vZmZzZXQteTogLTQwNHB4O1xuJHYyLTAxNC1jYXJ0LWljby0yeC13aWR0aDogNjJweDtcbiR2Mi0wMTQtY2FydC1pY28tMngtaGVpZ2h0OiA0NnB4O1xuJHYyLTAxNC1jYXJ0LWljby0yeC10b3RhbC13aWR0aDogMzUycHg7XG4kdjItMDE0LWNhcnQtaWNvLTJ4LXRvdGFsLWhlaWdodDogMTMyNnB4O1xuJHYyLTAxNC1jYXJ0LWljby0yeC1pbWFnZTogJ3Nwcml0ZXMtdjJAMngucG5nJztcbiR2Mi0wMTQtY2FydC1pY28tMng6ICgwcHgsIDQwNHB4LCAwcHgsIC00MDRweCwgNjJweCwgNDZweCwgMzUycHgsIDEzMjZweCwgJ3Nwcml0ZXMtdjJAMngucG5nJywgJ3YyLTAxNC1jYXJ0LWljby0yeCcsICk7XG4kdjItMDE2LWZseS1hcnItMngtbmFtZTogJ3YyLTAxNi1mbHktYXJyLTJ4JztcbiR2Mi0wMTYtZmx5LWFyci0yeC14OiAwcHg7XG4kdjItMDE2LWZseS1hcnItMngteTogMTA0cHg7XG4kdjItMDE2LWZseS1hcnItMngtb2Zmc2V0LXg6IDBweDtcbiR2Mi0wMTYtZmx5LWFyci0yeC1vZmZzZXQteTogLTEwNHB4O1xuJHYyLTAxNi1mbHktYXJyLTJ4LXdpZHRoOiAxMnB4O1xuJHYyLTAxNi1mbHktYXJyLTJ4LWhlaWdodDogMjBweDtcbiR2Mi0wMTYtZmx5LWFyci0yeC10b3RhbC13aWR0aDogMzUycHg7XG4kdjItMDE2LWZseS1hcnItMngtdG90YWwtaGVpZ2h0OiAxMzI2cHg7XG4kdjItMDE2LWZseS1hcnItMngtaW1hZ2U6ICdzcHJpdGVzLXYyQDJ4LnBuZyc7XG4kdjItMDE2LWZseS1hcnItMng6ICgwcHgsIDEwNHB4LCAwcHgsIC0xMDRweCwgMTJweCwgMjBweCwgMzUycHgsIDEzMjZweCwgJ3Nwcml0ZXMtdjJAMngucG5nJywgJ3YyLTAxNi1mbHktYXJyLTJ4JywgKTtcbiR2Mi0wMTgtZmx5LWFyci1hY3RpdmUtMngtbmFtZTogJ3YyLTAxOC1mbHktYXJyLWFjdGl2ZS0yeCc7XG4kdjItMDE4LWZseS1hcnItYWN0aXZlLTJ4LXg6IDBweDtcbiR2Mi0wMTgtZmx5LWFyci1hY3RpdmUtMngteTogNjRweDtcbiR2Mi0wMTgtZmx5LWFyci1hY3RpdmUtMngtb2Zmc2V0LXg6IDBweDtcbiR2Mi0wMTgtZmx5LWFyci1hY3RpdmUtMngtb2Zmc2V0LXk6IC02NHB4O1xuJHYyLTAxOC1mbHktYXJyLWFjdGl2ZS0yeC13aWR0aDogMTJweDtcbiR2Mi0wMTgtZmx5LWFyci1hY3RpdmUtMngtaGVpZ2h0OiAyMHB4O1xuJHYyLTAxOC1mbHktYXJyLWFjdGl2ZS0yeC10b3RhbC13aWR0aDogMzUycHg7XG4kdjItMDE4LWZseS1hcnItYWN0aXZlLTJ4LXRvdGFsLWhlaWdodDogMTMyNnB4O1xuJHYyLTAxOC1mbHktYXJyLWFjdGl2ZS0yeC1pbWFnZTogJ3Nwcml0ZXMtdjJAMngucG5nJztcbiR2Mi0wMTgtZmx5LWFyci1hY3RpdmUtMng6ICgwcHgsIDY0cHgsIDBweCwgLTY0cHgsIDEycHgsIDIwcHgsIDM1MnB4LCAxMzI2cHgsICdzcHJpdGVzLXYyQDJ4LnBuZycsICd2Mi0wMTgtZmx5LWFyci1hY3RpdmUtMngnLCApO1xuJHYyLTAyMC1tZW51LTJ4LW5hbWU6ICd2Mi0wMjAtbWVudS0yeCc7XG4kdjItMDIwLW1lbnUtMngteDogMHB4O1xuJHYyLTAyMC1tZW51LTJ4LXk6IDI5MnB4O1xuJHYyLTAyMC1tZW51LTJ4LW9mZnNldC14OiAwcHg7XG4kdjItMDIwLW1lbnUtMngtb2Zmc2V0LXk6IC0yOTJweDtcbiR2Mi0wMjAtbWVudS0yeC13aWR0aDogNDZweDtcbiR2Mi0wMjAtbWVudS0yeC1oZWlnaHQ6IDM2cHg7XG4kdjItMDIwLW1lbnUtMngtdG90YWwtd2lkdGg6IDM1MnB4O1xuJHYyLTAyMC1tZW51LTJ4LXRvdGFsLWhlaWdodDogMTMyNnB4O1xuJHYyLTAyMC1tZW51LTJ4LWltYWdlOiAnc3ByaXRlcy12MkAyeC5wbmcnO1xuJHYyLTAyMC1tZW51LTJ4OiAoMHB4LCAyOTJweCwgMHB4LCAtMjkycHgsIDQ2cHgsIDM2cHgsIDM1MnB4LCAxMzI2cHgsICdzcHJpdGVzLXYyQDJ4LnBuZycsICd2Mi0wMjAtbWVudS0yeCcsICk7XG4kdjItMDIyLXNyY2gtYmx1LXJlZy0yeC1uYW1lOiAndjItMDIyLXNyY2gtYmx1LXJlZy0yeCc7XG4kdjItMDIyLXNyY2gtYmx1LXJlZy0yeC14OiAwcHg7XG4kdjItMDIyLXNyY2gtYmx1LXJlZy0yeC15OiAxMTU4cHg7XG4kdjItMDIyLXNyY2gtYmx1LXJlZy0yeC1vZmZzZXQteDogMHB4O1xuJHYyLTAyMi1zcmNoLWJsdS1yZWctMngtb2Zmc2V0LXk6IC0xMTU4cHg7XG4kdjItMDIyLXNyY2gtYmx1LXJlZy0yeC13aWR0aDogNjhweDtcbiR2Mi0wMjItc3JjaC1ibHUtcmVnLTJ4LWhlaWdodDogNjhweDtcbiR2Mi0wMjItc3JjaC1ibHUtcmVnLTJ4LXRvdGFsLXdpZHRoOiAzNTJweDtcbiR2Mi0wMjItc3JjaC1ibHUtcmVnLTJ4LXRvdGFsLWhlaWdodDogMTMyNnB4O1xuJHYyLTAyMi1zcmNoLWJsdS1yZWctMngtaW1hZ2U6ICdzcHJpdGVzLXYyQDJ4LnBuZyc7XG4kdjItMDIyLXNyY2gtYmx1LXJlZy0yeDogKDBweCwgMTE1OHB4LCAwcHgsIC0xMTU4cHgsIDY4cHgsIDY4cHgsIDM1MnB4LCAxMzI2cHgsICdzcHJpdGVzLXYyQDJ4LnBuZycsICd2Mi0wMjItc3JjaC1ibHUtcmVnLTJ4JywgKTtcbiR2Mi0wMjQtc3JjaC1ibHUtc3RreS0yeC1uYW1lOiAndjItMDI0LXNyY2gtYmx1LXN0a3ktMngnO1xuJHYyLTAyNC1zcmNoLWJsdS1zdGt5LTJ4LXg6IDBweDtcbiR2Mi0wMjQtc3JjaC1ibHUtc3RreS0yeC15OiA3NDZweDtcbiR2Mi0wMjQtc3JjaC1ibHUtc3RreS0yeC1vZmZzZXQteDogMHB4O1xuJHYyLTAyNC1zcmNoLWJsdS1zdGt5LTJ4LW9mZnNldC15OiAtNzQ2cHg7XG4kdjItMDI0LXNyY2gtYmx1LXN0a3ktMngtd2lkdGg6IDUycHg7XG4kdjItMDI0LXNyY2gtYmx1LXN0a3ktMngtaGVpZ2h0OiA1MnB4O1xuJHYyLTAyNC1zcmNoLWJsdS1zdGt5LTJ4LXRvdGFsLXdpZHRoOiAzNTJweDtcbiR2Mi0wMjQtc3JjaC1ibHUtc3RreS0yeC10b3RhbC1oZWlnaHQ6IDEzMjZweDtcbiR2Mi0wMjQtc3JjaC1ibHUtc3RreS0yeC1pbWFnZTogJ3Nwcml0ZXMtdjJAMngucG5nJztcbiR2Mi0wMjQtc3JjaC1ibHUtc3RreS0yeDogKDBweCwgNzQ2cHgsIDBweCwgLTc0NnB4LCA1MnB4LCA1MnB4LCAzNTJweCwgMTMyNnB4LCAnc3ByaXRlcy12MkAyeC5wbmcnLCAndjItMDI0LXNyY2gtYmx1LXN0a3ktMngnLCApO1xuJHYyLTAyNi1zcmNoLWdyYXktcmVnLTJ4LW5hbWU6ICd2Mi0wMjYtc3JjaC1ncmF5LXJlZy0yeCc7XG4kdjItMDI2LXNyY2gtZ3JheS1yZWctMngteDogMHB4O1xuJHYyLTAyNi1zcmNoLWdyYXktcmVnLTJ4LXk6IDEwNzBweDtcbiR2Mi0wMjYtc3JjaC1ncmF5LXJlZy0yeC1vZmZzZXQteDogMHB4O1xuJHYyLTAyNi1zcmNoLWdyYXktcmVnLTJ4LW9mZnNldC15OiAtMTA3MHB4O1xuJHYyLTAyNi1zcmNoLWdyYXktcmVnLTJ4LXdpZHRoOiA2OHB4O1xuJHYyLTAyNi1zcmNoLWdyYXktcmVnLTJ4LWhlaWdodDogNjhweDtcbiR2Mi0wMjYtc3JjaC1ncmF5LXJlZy0yeC10b3RhbC13aWR0aDogMzUycHg7XG4kdjItMDI2LXNyY2gtZ3JheS1yZWctMngtdG90YWwtaGVpZ2h0OiAxMzI2cHg7XG4kdjItMDI2LXNyY2gtZ3JheS1yZWctMngtaW1hZ2U6ICdzcHJpdGVzLXYyQDJ4LnBuZyc7XG4kdjItMDI2LXNyY2gtZ3JheS1yZWctMng6ICgwcHgsIDEwNzBweCwgMHB4LCAtMTA3MHB4LCA2OHB4LCA2OHB4LCAzNTJweCwgMTMyNnB4LCAnc3ByaXRlcy12MkAyeC5wbmcnLCAndjItMDI2LXNyY2gtZ3JheS1yZWctMngnLCApO1xuJHYyLTAyOC1zcmNoLWdyYXktc3RreS0yeC1uYW1lOiAndjItMDI4LXNyY2gtZ3JheS1zdGt5LTJ4JztcbiR2Mi0wMjgtc3JjaC1ncmF5LXN0a3ktMngteDogMHB4O1xuJHYyLTAyOC1zcmNoLWdyYXktc3RreS0yeC15OiA2NzRweDtcbiR2Mi0wMjgtc3JjaC1ncmF5LXN0a3ktMngtb2Zmc2V0LXg6IDBweDtcbiR2Mi0wMjgtc3JjaC1ncmF5LXN0a3ktMngtb2Zmc2V0LXk6IC02NzRweDtcbiR2Mi0wMjgtc3JjaC1ncmF5LXN0a3ktMngtd2lkdGg6IDUycHg7XG4kdjItMDI4LXNyY2gtZ3JheS1zdGt5LTJ4LWhlaWdodDogNTJweDtcbiR2Mi0wMjgtc3JjaC1ncmF5LXN0a3ktMngtdG90YWwtd2lkdGg6IDM1MnB4O1xuJHYyLTAyOC1zcmNoLWdyYXktc3RreS0yeC10b3RhbC1oZWlnaHQ6IDEzMjZweDtcbiR2Mi0wMjgtc3JjaC1ncmF5LXN0a3ktMngtaW1hZ2U6ICdzcHJpdGVzLXYyQDJ4LnBuZyc7XG4kdjItMDI4LXNyY2gtZ3JheS1zdGt5LTJ4OiAoMHB4LCA2NzRweCwgMHB4LCAtNjc0cHgsIDUycHgsIDUycHgsIDM1MnB4LCAxMzI2cHgsICdzcHJpdGVzLXYyQDJ4LnBuZycsICd2Mi0wMjgtc3JjaC1ncmF5LXN0a3ktMngnLCApO1xuJHYyLTAzMC14LTJ4LW5hbWU6ICd2Mi0wMzAteC0yeCc7XG4kdjItMDMwLXgtMngteDogMHB4O1xuJHYyLTAzMC14LTJ4LXk6IDE0NHB4O1xuJHYyLTAzMC14LTJ4LW9mZnNldC14OiAwcHg7XG4kdjItMDMwLXgtMngtb2Zmc2V0LXk6IC0xNDRweDtcbiR2Mi0wMzAteC0yeC13aWR0aDogMjRweDtcbiR2Mi0wMzAteC0yeC1oZWlnaHQ6IDI0cHg7XG4kdjItMDMwLXgtMngtdG90YWwtd2lkdGg6IDM1MnB4O1xuJHYyLTAzMC14LTJ4LXRvdGFsLWhlaWdodDogMTMyNnB4O1xuJHYyLTAzMC14LTJ4LWltYWdlOiAnc3ByaXRlcy12MkAyeC5wbmcnO1xuJHYyLTAzMC14LTJ4OiAoMHB4LCAxNDRweCwgMHB4LCAtMTQ0cHgsIDI0cHgsIDI0cHgsIDM1MnB4LCAxMzI2cHgsICdzcHJpdGVzLXYyQDJ4LnBuZycsICd2Mi0wMzAteC0yeCcsICk7XG4kdjItMDMyLWNoay0yeC1uYW1lOiAndjItMDMyLWNoay0yeCc7XG4kdjItMDMyLWNoay0yeC14OiAwcHg7XG4kdjItMDMyLWNoay0yeC15OiAyNDBweDtcbiR2Mi0wMzItY2hrLTJ4LW9mZnNldC14OiAwcHg7XG4kdjItMDMyLWNoay0yeC1vZmZzZXQteTogLTI0MHB4O1xuJHYyLTAzMi1jaGstMngtd2lkdGg6IDMycHg7XG4kdjItMDMyLWNoay0yeC1oZWlnaHQ6IDMycHg7XG4kdjItMDMyLWNoay0yeC10b3RhbC13aWR0aDogMzUycHg7XG4kdjItMDMyLWNoay0yeC10b3RhbC1oZWlnaHQ6IDEzMjZweDtcbiR2Mi0wMzItY2hrLTJ4LWltYWdlOiAnc3ByaXRlcy12MkAyeC5wbmcnO1xuJHYyLTAzMi1jaGstMng6ICgwcHgsIDI0MHB4LCAwcHgsIC0yNDBweCwgMzJweCwgMzJweCwgMzUycHgsIDEzMjZweCwgJ3Nwcml0ZXMtdjJAMngucG5nJywgJ3YyLTAzMi1jaGstMngnLCApO1xuJHYyLTAzNC1sb2NrLTJ4LW5hbWU6ICd2Mi0wMzQtbG9jay0yeCc7XG4kdjItMDM0LWxvY2stMngteDogMHB4O1xuJHYyLTAzNC1sb2NrLTJ4LXk6IDE4OHB4O1xuJHYyLTAzNC1sb2NrLTJ4LW9mZnNldC14OiAwcHg7XG4kdjItMDM0LWxvY2stMngtb2Zmc2V0LXk6IC0xODhweDtcbiR2Mi0wMzQtbG9jay0yeC13aWR0aDogMjhweDtcbiR2Mi0wMzQtbG9jay0yeC1oZWlnaHQ6IDMycHg7XG4kdjItMDM0LWxvY2stMngtdG90YWwtd2lkdGg6IDM1MnB4O1xuJHYyLTAzNC1sb2NrLTJ4LXRvdGFsLWhlaWdodDogMTMyNnB4O1xuJHYyLTAzNC1sb2NrLTJ4LWltYWdlOiAnc3ByaXRlcy12MkAyeC5wbmcnO1xuJHYyLTAzNC1sb2NrLTJ4OiAoMHB4LCAxODhweCwgMHB4LCAtMTg4cHgsIDI4cHgsIDMycHgsIDM1MnB4LCAxMzI2cHgsICdzcHJpdGVzLXYyQDJ4LnBuZycsICd2Mi0wMzQtbG9jay0yeCcsICk7XG4kdjItMDM2LW1lbnUtYWN0aXZlLTJ4LW5hbWU6ICd2Mi0wMzYtbWVudS1hY3RpdmUtMngnO1xuJHYyLTAzNi1tZW51LWFjdGl2ZS0yeC14OiAwcHg7XG4kdjItMDM2LW1lbnUtYWN0aXZlLTJ4LXk6IDM0OHB4O1xuJHYyLTAzNi1tZW51LWFjdGl2ZS0yeC1vZmZzZXQteDogMHB4O1xuJHYyLTAzNi1tZW51LWFjdGl2ZS0yeC1vZmZzZXQteTogLTM0OHB4O1xuJHYyLTAzNi1tZW51LWFjdGl2ZS0yeC13aWR0aDogNDZweDtcbiR2Mi0wMzYtbWVudS1hY3RpdmUtMngtaGVpZ2h0OiAzNnB4O1xuJHYyLTAzNi1tZW51LWFjdGl2ZS0yeC10b3RhbC13aWR0aDogMzUycHg7XG4kdjItMDM2LW1lbnUtYWN0aXZlLTJ4LXRvdGFsLWhlaWdodDogMTMyNnB4O1xuJHYyLTAzNi1tZW51LWFjdGl2ZS0yeC1pbWFnZTogJ3Nwcml0ZXMtdjJAMngucG5nJztcbiR2Mi0wMzYtbWVudS1hY3RpdmUtMng6ICgwcHgsIDM0OHB4LCAwcHgsIC0zNDhweCwgNDZweCwgMzZweCwgMzUycHgsIDEzMjZweCwgJ3Nwcml0ZXMtdjJAMngucG5nJywgJ3YyLTAzNi1tZW51LWFjdGl2ZS0yeCcsICk7XG4kdjItMDM4LWZhY2Vib29rLTJ4LW5hbWU6ICd2Mi0wMzgtZmFjZWJvb2stMngnO1xuJHYyLTAzOC1mYWNlYm9vay0yeC14OiAwcHg7XG4kdjItMDM4LWZhY2Vib29rLTJ4LXk6IDUzOHB4O1xuJHYyLTAzOC1mYWNlYm9vay0yeC1vZmZzZXQteDogMHB4O1xuJHYyLTAzOC1mYWNlYm9vay0yeC1vZmZzZXQteTogLTUzOHB4O1xuJHYyLTAzOC1mYWNlYm9vay0yeC13aWR0aDogNDhweDtcbiR2Mi0wMzgtZmFjZWJvb2stMngtaGVpZ2h0OiA0OHB4O1xuJHYyLTAzOC1mYWNlYm9vay0yeC10b3RhbC13aWR0aDogMzUycHg7XG4kdjItMDM4LWZhY2Vib29rLTJ4LXRvdGFsLWhlaWdodDogMTMyNnB4O1xuJHYyLTAzOC1mYWNlYm9vay0yeC1pbWFnZTogJ3Nwcml0ZXMtdjJAMngucG5nJztcbiR2Mi0wMzgtZmFjZWJvb2stMng6ICgwcHgsIDUzOHB4LCAwcHgsIC01MzhweCwgNDhweCwgNDhweCwgMzUycHgsIDEzMjZweCwgJ3Nwcml0ZXMtdjJAMngucG5nJywgJ3YyLTAzOC1mYWNlYm9vay0yeCcsICk7XG4kdjItMDQwLXBpbnRlcmVzdC0yeC1uYW1lOiAndjItMDQwLXBpbnRlcmVzdC0yeCc7XG4kdjItMDQwLXBpbnRlcmVzdC0yeC14OiAwcHg7XG4kdjItMDQwLXBpbnRlcmVzdC0yeC15OiA2MDZweDtcbiR2Mi0wNDAtcGludGVyZXN0LTJ4LW9mZnNldC14OiAwcHg7XG4kdjItMDQwLXBpbnRlcmVzdC0yeC1vZmZzZXQteTogLTYwNnB4O1xuJHYyLTA0MC1waW50ZXJlc3QtMngtd2lkdGg6IDQ4cHg7XG4kdjItMDQwLXBpbnRlcmVzdC0yeC1oZWlnaHQ6IDQ4cHg7XG4kdjItMDQwLXBpbnRlcmVzdC0yeC10b3RhbC13aWR0aDogMzUycHg7XG4kdjItMDQwLXBpbnRlcmVzdC0yeC10b3RhbC1oZWlnaHQ6IDEzMjZweDtcbiR2Mi0wNDAtcGludGVyZXN0LTJ4LWltYWdlOiAnc3ByaXRlcy12MkAyeC5wbmcnO1xuJHYyLTA0MC1waW50ZXJlc3QtMng6ICgwcHgsIDYwNnB4LCAwcHgsIC02MDZweCwgNDhweCwgNDhweCwgMzUycHgsIDEzMjZweCwgJ3Nwcml0ZXMtdjJAMngucG5nJywgJ3YyLTA0MC1waW50ZXJlc3QtMngnLCApO1xuJHYyLTA0Mi10d2l0dGVyLTJ4LW5hbWU6ICd2Mi0wNDItdHdpdHRlci0yeCc7XG4kdjItMDQyLXR3aXR0ZXItMngteDogMHB4O1xuJHYyLTA0Mi10d2l0dGVyLTJ4LXk6IDQ3MHB4O1xuJHYyLTA0Mi10d2l0dGVyLTJ4LW9mZnNldC14OiAwcHg7XG4kdjItMDQyLXR3aXR0ZXItMngtb2Zmc2V0LXk6IC00NzBweDtcbiR2Mi0wNDItdHdpdHRlci0yeC13aWR0aDogNTBweDtcbiR2Mi0wNDItdHdpdHRlci0yeC1oZWlnaHQ6IDQ4cHg7XG4kdjItMDQyLXR3aXR0ZXItMngtdG90YWwtd2lkdGg6IDM1MnB4O1xuJHYyLTA0Mi10d2l0dGVyLTJ4LXRvdGFsLWhlaWdodDogMTMyNnB4O1xuJHYyLTA0Mi10d2l0dGVyLTJ4LWltYWdlOiAnc3ByaXRlcy12MkAyeC5wbmcnO1xuJHYyLTA0Mi10d2l0dGVyLTJ4OiAoMHB4LCA0NzBweCwgMHB4LCAtNDcwcHgsIDUwcHgsIDQ4cHgsIDM1MnB4LCAxMzI2cHgsICdzcHJpdGVzLXYyQDJ4LnBuZycsICd2Mi0wNDItdHdpdHRlci0yeCcsICk7XG5cbiRzcHJpdGVzaGVldC13aWR0aDogMTc2cHg7XG4kc3ByaXRlc2hlZXQtaGVpZ2h0OiA2NjNweDtcbiRzcHJpdGVzaGVldC1pbWFnZTogJ3Nwcml0ZXMtdjIucG5nJztcbiRzcHJpdGVzaGVldC1zcHJpdGVzOiAoJHYyLTAwMS1sb2dvLWRlc2ssICR2Mi0wMDMtbG9nby1zdGlja3ksICR2Mi0wMDUtYXJyb3ctZG93biwgJHYyLTAwNy1hcnJvdy11cCwgJHYyLTAwOS1jYXJvLWFyci1sdCwgJHYyLTAxMS1jYXJvLWFyci1ydCwgJHYyLTAxMy1jYXJ0LWljbywgJHYyLTAxNS1mbHktYXJyLCAkdjItMDE3LWZseS1hcnItYWN0aXZlLCAkdjItMDE5LW1lbnUsICR2Mi0wMjEtc3JjaC1ibHUtcmVnLCAkdjItMDIzLXNyY2gtYmx1LXN0a3ksICR2Mi0wMjUtc3JjaC1ncmF5LXJlZywgJHYyLTAyNy1zcmNoLWdyYXktc3RreSwgJHYyLTAyOS14LCAkdjItMDMxLWNoaywgJHYyLTAzMy1sb2NrLCAkdjItMDM1LW1lbnUtYWN0aXZlLCAkdjItMDM3LWZhY2Vib29rLCAkdjItMDM5LXBpbnRlcmVzdCwgJHYyLTA0MS10d2l0dGVyLCApO1xuJHYyLXNwcml0ZXM6ICgxNzZweCwgNjYzcHgsICdzcHJpdGVzLXYyLnBuZycsICRzcHJpdGVzaGVldC1zcHJpdGVzLCApO1xuXG4vKiBSRVRJTkEgKi9cblxuJHJldGluYS1zcHJpdGVzaGVldC13aWR0aDogMzUycHg7XG4kcmV0aW5hLXNwcml0ZXNoZWV0LWhlaWdodDogMTMyNnB4O1xuJHJldGluYS1zcHJpdGVzaGVldC1pbWFnZTogJ3Nwcml0ZXMtdjJAMngucG5nJztcbiRyZXRpbmEtc3ByaXRlc2hlZXQtc3ByaXRlczogKCR2Mi0wMDItbG9nby1kZXNrLTJ4LCAkdjItMDA0LWxvZ28tc3RpY2t5LTJ4LCAkdjItMDA2LWFycm93LWRvd24tMngsICR2Mi0wMDgtYXJyb3ctdXAtMngsICR2Mi0wMTAtY2Fyby1hcnItbHQtMngsICR2Mi0wMTItY2Fyby1hcnItcnQtMngsICR2Mi0wMTQtY2FydC1pY28tMngsICR2Mi0wMTYtZmx5LWFyci0yeCwgJHYyLTAxOC1mbHktYXJyLWFjdGl2ZS0yeCwgJHYyLTAyMC1tZW51LTJ4LCAkdjItMDIyLXNyY2gtYmx1LXJlZy0yeCwgJHYyLTAyNC1zcmNoLWJsdS1zdGt5LTJ4LCAkdjItMDI2LXNyY2gtZ3JheS1yZWctMngsICR2Mi0wMjgtc3JjaC1ncmF5LXN0a3ktMngsICR2Mi0wMzAteC0yeCwgJHYyLTAzMi1jaGstMngsICR2Mi0wMzQtbG9jay0yeCwgJHYyLTAzNi1tZW51LWFjdGl2ZS0yeCwgJHYyLTAzOC1mYWNlYm9vay0yeCwgJHYyLTA0MC1waW50ZXJlc3QtMngsICR2Mi0wNDItdHdpdHRlci0yeCwgKTtcbiRyZXRpbmEtc3ByaXRlc2hlZXQ6ICgzNTJweCwgMTMyNnB4LCAnc3ByaXRlcy12MkAyeC5wbmcnLCAkcmV0aW5hLXNwcml0ZXNoZWV0LXNwcml0ZXMsICk7XG5cbi8qXG5UaGVzZSBcInJldGluYSBncm91cFwiIHZhcmlhYmxlcyBhcmUgbWFwcGluZ3MgZm9yIHRoZSBuYW1pbmcgYW5kIHBhaXJpbmcgb2Ygbm9ybWFsIGFuZCByZXRpbmEgc3ByaXRlcy5cblxuVGhlIGxpc3QgZm9ybWF0dGVkIHZhcmlhYmxlcyBhcmUgaW50ZW5kZWQgZm9yIG1peGlucyBsaWtlIGByZXRpbmEtc3ByaXRlYCBhbmQgYHJldGluYS1zcHJpdGVzYC5cbiovXG4kdjItMDAxLWxvZ28tZGVzay1ncm91cC1uYW1lOiAndjItMDAxLWxvZ28tZGVzayc7XG4kdjItMDAxLWxvZ28tZGVzay1ncm91cDogKCd2Mi0wMDEtbG9nby1kZXNrJywgJHYyLTAwMS1sb2dvLWRlc2ssICR2Mi0wMDItbG9nby1kZXNrLTJ4LCApO1xuJHYyLTAwMy1sb2dvLXN0aWNreS1ncm91cC1uYW1lOiAndjItMDAzLWxvZ28tc3RpY2t5JztcbiR2Mi0wMDMtbG9nby1zdGlja3ktZ3JvdXA6ICgndjItMDAzLWxvZ28tc3RpY2t5JywgJHYyLTAwMy1sb2dvLXN0aWNreSwgJHYyLTAwNC1sb2dvLXN0aWNreS0yeCwgKTtcbiR2Mi0wMDUtYXJyb3ctZG93bi1ncm91cC1uYW1lOiAndjItMDA1LWFycm93LWRvd24nO1xuJHYyLTAwNS1hcnJvdy1kb3duLWdyb3VwOiAoJ3YyLTAwNS1hcnJvdy1kb3duJywgJHYyLTAwNS1hcnJvdy1kb3duLCAkdjItMDA2LWFycm93LWRvd24tMngsICk7XG4kdjItMDA3LWFycm93LXVwLWdyb3VwLW5hbWU6ICd2Mi0wMDctYXJyb3ctdXAnO1xuJHYyLTAwNy1hcnJvdy11cC1ncm91cDogKCd2Mi0wMDctYXJyb3ctdXAnLCAkdjItMDA3LWFycm93LXVwLCAkdjItMDA4LWFycm93LXVwLTJ4LCApO1xuJHYyLTAwOS1jYXJvLWFyci1sdC1ncm91cC1uYW1lOiAndjItMDA5LWNhcm8tYXJyLWx0JztcbiR2Mi0wMDktY2Fyby1hcnItbHQtZ3JvdXA6ICgndjItMDA5LWNhcm8tYXJyLWx0JywgJHYyLTAwOS1jYXJvLWFyci1sdCwgJHYyLTAxMC1jYXJvLWFyci1sdC0yeCwgKTtcbiR2Mi0wMTEtY2Fyby1hcnItcnQtZ3JvdXAtbmFtZTogJ3YyLTAxMS1jYXJvLWFyci1ydCc7XG4kdjItMDExLWNhcm8tYXJyLXJ0LWdyb3VwOiAoJ3YyLTAxMS1jYXJvLWFyci1ydCcsICR2Mi0wMTEtY2Fyby1hcnItcnQsICR2Mi0wMTItY2Fyby1hcnItcnQtMngsICk7XG4kdjItMDEzLWNhcnQtaWNvLWdyb3VwLW5hbWU6ICd2Mi0wMTMtY2FydC1pY28nO1xuJHYyLTAxMy1jYXJ0LWljby1ncm91cDogKCd2Mi0wMTMtY2FydC1pY28nLCAkdjItMDEzLWNhcnQtaWNvLCAkdjItMDE0LWNhcnQtaWNvLTJ4LCApO1xuJHYyLTAxNS1mbHktYXJyLWdyb3VwLW5hbWU6ICd2Mi0wMTUtZmx5LWFycic7XG4kdjItMDE1LWZseS1hcnItZ3JvdXA6ICgndjItMDE1LWZseS1hcnInLCAkdjItMDE1LWZseS1hcnIsICR2Mi0wMTYtZmx5LWFyci0yeCwgKTtcbiR2Mi0wMTctZmx5LWFyci1hY3RpdmUtZ3JvdXAtbmFtZTogJ3YyLTAxNy1mbHktYXJyLWFjdGl2ZSc7XG4kdjItMDE3LWZseS1hcnItYWN0aXZlLWdyb3VwOiAoJ3YyLTAxNy1mbHktYXJyLWFjdGl2ZScsICR2Mi0wMTctZmx5LWFyci1hY3RpdmUsICR2Mi0wMTgtZmx5LWFyci1hY3RpdmUtMngsICk7XG4kdjItMDE5LW1lbnUtZ3JvdXAtbmFtZTogJ3YyLTAxOS1tZW51JztcbiR2Mi0wMTktbWVudS1ncm91cDogKCd2Mi0wMTktbWVudScsICR2Mi0wMTktbWVudSwgJHYyLTAyMC1tZW51LTJ4LCApO1xuJHYyLTAyMS1zcmNoLWJsdS1yZWctZ3JvdXAtbmFtZTogJ3YyLTAyMS1zcmNoLWJsdS1yZWcnO1xuJHYyLTAyMS1zcmNoLWJsdS1yZWctZ3JvdXA6ICgndjItMDIxLXNyY2gtYmx1LXJlZycsICR2Mi0wMjEtc3JjaC1ibHUtcmVnLCAkdjItMDIyLXNyY2gtYmx1LXJlZy0yeCwgKTtcbiR2Mi0wMjMtc3JjaC1ibHUtc3RreS1ncm91cC1uYW1lOiAndjItMDIzLXNyY2gtYmx1LXN0a3knO1xuJHYyLTAyMy1zcmNoLWJsdS1zdGt5LWdyb3VwOiAoJ3YyLTAyMy1zcmNoLWJsdS1zdGt5JywgJHYyLTAyMy1zcmNoLWJsdS1zdGt5LCAkdjItMDI0LXNyY2gtYmx1LXN0a3ktMngsICk7XG4kdjItMDI1LXNyY2gtZ3JheS1yZWctZ3JvdXAtbmFtZTogJ3YyLTAyNS1zcmNoLWdyYXktcmVnJztcbiR2Mi0wMjUtc3JjaC1ncmF5LXJlZy1ncm91cDogKCd2Mi0wMjUtc3JjaC1ncmF5LXJlZycsICR2Mi0wMjUtc3JjaC1ncmF5LXJlZywgJHYyLTAyNi1zcmNoLWdyYXktcmVnLTJ4LCApO1xuJHYyLTAyNy1zcmNoLWdyYXktc3RreS1ncm91cC1uYW1lOiAndjItMDI3LXNyY2gtZ3JheS1zdGt5JztcbiR2Mi0wMjctc3JjaC1ncmF5LXN0a3ktZ3JvdXA6ICgndjItMDI3LXNyY2gtZ3JheS1zdGt5JywgJHYyLTAyNy1zcmNoLWdyYXktc3RreSwgJHYyLTAyOC1zcmNoLWdyYXktc3RreS0yeCwgKTtcbiR2Mi0wMjkteC1ncm91cC1uYW1lOiAndjItMDI5LXgnO1xuJHYyLTAyOS14LWdyb3VwOiAoJ3YyLTAyOS14JywgJHYyLTAyOS14LCAkdjItMDMwLXgtMngsICk7XG4kdjItMDMxLWNoay1ncm91cC1uYW1lOiAndjItMDMxLWNoayc7XG4kdjItMDMxLWNoay1ncm91cDogKCd2Mi0wMzEtY2hrJywgJHYyLTAzMS1jaGssICR2Mi0wMzItY2hrLTJ4LCApO1xuJHYyLTAzMy1sb2NrLWdyb3VwLW5hbWU6ICd2Mi0wMzMtbG9jayc7XG4kdjItMDMzLWxvY2stZ3JvdXA6ICgndjItMDMzLWxvY2snLCAkdjItMDMzLWxvY2ssICR2Mi0wMzQtbG9jay0yeCwgKTtcbiR2Mi0wMzUtbWVudS1hY3RpdmUtZ3JvdXAtbmFtZTogJ3YyLTAzNS1tZW51LWFjdGl2ZSc7XG4kdjItMDM1LW1lbnUtYWN0aXZlLWdyb3VwOiAoJ3YyLTAzNS1tZW51LWFjdGl2ZScsICR2Mi0wMzUtbWVudS1hY3RpdmUsICR2Mi0wMzYtbWVudS1hY3RpdmUtMngsICk7XG4kdjItMDM3LWZhY2Vib29rLWdyb3VwLW5hbWU6ICd2Mi0wMzctZmFjZWJvb2snO1xuJHYyLTAzNy1mYWNlYm9vay1ncm91cDogKCd2Mi0wMzctZmFjZWJvb2snLCAkdjItMDM3LWZhY2Vib29rLCAkdjItMDM4LWZhY2Vib29rLTJ4LCApO1xuJHYyLTAzOS1waW50ZXJlc3QtZ3JvdXAtbmFtZTogJ3YyLTAzOS1waW50ZXJlc3QnO1xuJHYyLTAzOS1waW50ZXJlc3QtZ3JvdXA6ICgndjItMDM5LXBpbnRlcmVzdCcsICR2Mi0wMzktcGludGVyZXN0LCAkdjItMDQwLXBpbnRlcmVzdC0yeCwgKTtcbiR2Mi0wNDEtdHdpdHRlci1ncm91cC1uYW1lOiAndjItMDQxLXR3aXR0ZXInO1xuJHYyLTA0MS10d2l0dGVyLWdyb3VwOiAoJ3YyLTA0MS10d2l0dGVyJywgJHYyLTA0MS10d2l0dGVyLCAkdjItMDQyLXR3aXR0ZXItMngsICk7XG4kcmF0aW5nLXJldGluYS1ncm91cHM6ICgkdjItMDAxLWxvZ28tZGVzay1ncm91cCwgJHYyLTAwMy1sb2dvLXN0aWNreS1ncm91cCwgJHYyLTAwNS1hcnJvdy1kb3duLWdyb3VwLCAkdjItMDA3LWFycm93LXVwLWdyb3VwLCAkdjItMDA5LWNhcm8tYXJyLWx0LWdyb3VwLCAkdjItMDExLWNhcm8tYXJyLXJ0LWdyb3VwLCAkdjItMDEzLWNhcnQtaWNvLWdyb3VwLCAkdjItMDE1LWZseS1hcnItZ3JvdXAsICR2Mi0wMTctZmx5LWFyci1hY3RpdmUtZ3JvdXAsICR2Mi0wMTktbWVudS1ncm91cCwgJHYyLTAyMS1zcmNoLWJsdS1yZWctZ3JvdXAsICR2Mi0wMjMtc3JjaC1ibHUtc3RreS1ncm91cCwgJHYyLTAyNS1zcmNoLWdyYXktcmVnLWdyb3VwLCAkdjItMDI3LXNyY2gtZ3JheS1zdGt5LWdyb3VwLCAkdjItMDI5LXgtZ3JvdXAsICR2Mi0wMzEtY2hrLWdyb3VwLCAkdjItMDMzLWxvY2stZ3JvdXAsICR2Mi0wMzUtbWVudS1hY3RpdmUtZ3JvdXAsICR2Mi0wMzctZmFjZWJvb2stZ3JvdXAsICR2Mi0wMzktcGludGVyZXN0LWdyb3VwLCAkdjItMDQxLXR3aXR0ZXItZ3JvdXAsICk7XG5cbi8qXG5UaGUgcHJvdmlkZWQgbWl4aW5zIGFyZSBpbnRlbmRlZCB0byBiZSB1c2VkIHdpdGggdGhlIGFycmF5LWxpa2UgdmFyaWFibGVzXG5cbi5pY29uLWhvbWUge1xuICBAaW5jbHVkZSBzcHJpdGUtd2lkdGgoJGljb24taG9tZSk7XG59XG5cbi5pY29uLWVtYWlsIHtcbiAgQGluY2x1ZGUgc3ByaXRlKCRpY29uLWVtYWlsKTtcbn1cbiovXG5AbWl4aW4gdjItc3ByaXRlLXdpZHRoKCRzcHJpdGUpIHtcbiAgd2lkdGg6IG50aCgkc3ByaXRlLCA1KTtcbn1cblxuQG1peGluIHYyLXNwcml0ZS1oZWlnaHQoJHNwcml0ZSkge1xuICBoZWlnaHQ6IG50aCgkc3ByaXRlLCA2KTtcbn1cblxuQG1peGluIHYyLXNwcml0ZS1wb3NpdGlvbigkc3ByaXRlKSB7XG4gICRzcHJpdGUtb2Zmc2V0LXg6IG50aCgkc3ByaXRlLCAzKTtcbiAgJHNwcml0ZS1vZmZzZXQteTogbnRoKCRzcHJpdGUsIDQpO1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAkc3ByaXRlLW9mZnNldC14ICAkc3ByaXRlLW9mZnNldC15O1xufVxuXG5AbWl4aW4gdjItc3ByaXRlLWltYWdlKCRzcHJpdGUpIHtcbiAgJHNwcml0ZS1pbWFnZTogbnRoKCRzcHJpdGUsIDkpO1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoI3skc3ByaXRlLWltYWdlfSk7XG59XG5cbkBtaXhpbiB2Mi1zcHJpdGUoJHNwcml0ZSkge1xuICBAaW5jbHVkZSB2Mi1zcHJpdGUtaW1hZ2UoJHNwcml0ZSk7XG4gIEBpbmNsdWRlIHYyLXNwcml0ZS1wb3NpdGlvbigkc3ByaXRlKTtcbiAgQGluY2x1ZGUgdjItc3ByaXRlLXdpZHRoKCRzcHJpdGUpO1xuICBAaW5jbHVkZSB2Mi1zcHJpdGUtaGVpZ2h0KCRzcHJpdGUpO1xufVxuXG5AbWl4aW4gdjItc3ByaXRlLWJhY2tncm91bmQtc2l6ZSgkc3ByaXRlKSB7XG4gICRzcHJpdGUtdG90YWwtd2lkdGg6IG50aCgkc3ByaXRlLCA3KTtcbiAgJHNwcml0ZS10b3RhbC1oZWlnaHQ6IG50aCgkc3ByaXRlLCA4KTtcbiAgYmFja2dyb3VuZC1zaXplOiAkc3ByaXRlLXRvdGFsLXdpZHRoICRzcHJpdGUtdG90YWwtaGVpZ2h0O1xufVxuXG5AbWl4aW4gcmF0aW5nLXJldGluYS1zcHJpdGUoJHJldGluYS1ncm91cCkge1xuICAkbm9ybWFsLXNwcml0ZTogbnRoKCRyZXRpbmEtZ3JvdXAsIDIpO1xuICAkcmV0aW5hLXNwcml0ZTogbnRoKCRyZXRpbmEtZ3JvdXAsIDMpO1xuICBAaW5jbHVkZSB2Mi1zcHJpdGUoJG5vcm1hbC1zcHJpdGUpO1xuXG4gIEBtZWRpYSAoLXdlYmtpdC1taW4tZGV2aWNlLXBpeGVsLXJhdGlvOiAyKSxcbiAgICAgICAgIChtaW4tcmVzb2x1dGlvbjogMTkyZHBpKSB7XG4gICAgQGluY2x1ZGUgdjItc3ByaXRlLWltYWdlKCRyZXRpbmEtc3ByaXRlKTtcbiAgICBAaW5jbHVkZSB2Mi1zcHJpdGUtYmFja2dyb3VuZC1zaXplKCRub3JtYWwtc3ByaXRlKTtcbiAgfVxufVxuXG4vKlxuVGhlIGBzcHJpdGVzYCBtaXhpbiBnZW5lcmF0ZXMgaWRlbnRpY2FsIG91dHB1dCB0byB0aGUgQ1NTIHRlbXBsYXRlXG4gIGJ1dCBjYW4gYmUgb3ZlcnJpZGRlbiBpbnNpZGUgb2YgU0NTU1xuXG5AaW5jbHVkZSBzcHJpdGVzKCRzcHJpdGVzaGVldC1zcHJpdGVzKTtcbiovXG5cbi8vIFNwcml0ZXMgVjJcbi8vXG4vLyBNYXJrdXA6IHNwcml0ZS5odG1sXG4vL1xuLy8gLnNjLXYyLTAwMS1sb2dvLWRlc2sgLSAmbmJzcDtcbi8vIC5zYy12Mi0wMDMtbG9nby1zdGlja3kgLSAmbmJzcDtcbi8vIC5zYy12Mi0wMDUtYXJyb3ctZG93biAtICZuYnNwO1xuLy8gLnNjLXYyLTAwNy1hcnJvdy11cCAtICZuYnNwO1xuLy8gLnNjLXYyLTAwOS1jYXJvLWFyci1sdCAtICZuYnNwO1xuLy8gLnNjLXYyLTAxMS1jYXJvLWFyci1ydCAtICZuYnNwO1xuLy8gLnNjLXYyLTAxMy1jYXJ0LWljbyAtICZuYnNwO1xuLy8gLnNjLXYyLTAxNS1mbHktYXJyIC0gJm5ic3A7XG4vLyAuc2MtdjItMDE3LWZseS1hcnItYWN0aXZlIC0gJm5ic3A7XG4vLyAuc2MtdjItMDE5LW1lbnUgLSAmbmJzcDtcbi8vIC5zYy12Mi0wMjEtc3JjaC1ibHUtcmVnIC0gJm5ic3A7XG4vLyAuc2MtdjItMDIzLXNyY2gtYmx1LXN0a3kgLSAmbmJzcDtcbi8vIC5zYy12Mi0wMjUtc3JjaC1ncmF5LXJlZyAtICZuYnNwO1xuLy8gLnNjLXYyLTAyNy1zcmNoLWdyYXktc3RreSAtICZuYnNwO1xuLy8gLnNjLXYyLTAyOS14IC0gJm5ic3A7XG4vLyAuc2MtdjItMDMxLWNoayAtICZuYnNwO1xuLy8gLnNjLXYyLTAzMy1sb2NrIC0gJm5ic3A7XG4vLyAuc2MtdjItMDM1LW1lbnUtYWN0aXZlIC0gJm5ic3A7XG4vLyAuc2MtdjItMDM3LWZhY2Vib29rIC0gJm5ic3A7XG4vLyAuc2MtdjItMDM5LXBpbnRlcmVzdCAtICZuYnNwO1xuLy8gLnNjLXYyLTA0MS10d2l0dGVyIC0gJm5ic3A7XG4vL1xuLy8gU3R5bGUgZ3VpZGU6IDEyLjBcblxuW2NsYXNzKj1zYy12Mi1dIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xufVxuXG5AbWl4aW4gdjItc3ByaXRlcygkc3ByaXRlcykge1xuICBAZWFjaCAkc3ByaXRlIGluICRzcHJpdGVzIHtcbiAgICAkc3ByaXRlLW5hbWU6IG50aCgkc3ByaXRlLCAxMCk7XG4gICAgLnNjLSN7JHNwcml0ZS1uYW1lfSB7XG4gICAgICBAaW5jbHVkZSB2Mi1zcHJpdGUoJHNwcml0ZSk7XG4gICAgfVxuICB9XG59XG5cbkBtaXhpbiByZXRpbmEtdjItc3ByaXRlcygkcmV0aW5hLWdyb3Vwcykge1xuICBAZWFjaCAkcmV0aW5hLWdyb3VwIGluICRyZXRpbmEtZ3JvdXBzIHtcbiAgICAkc3ByaXRlLW5hbWU6IG50aCgkcmV0aW5hLWdyb3VwLCAxKTtcbiAgICAuc2MtI3skc3ByaXRlLW5hbWV9IHtcbiAgICAgIEBpbmNsdWRlIHJhdGluZy1yZXRpbmEtc3ByaXRlKCRyZXRpbmEtZ3JvdXApO1xuICAgIH1cbiAgfVxufVxuIiwiLy8gVjIgY3VzdG9tIGhvdmVyXG4vL1xuLy8gTWFya3VwOiB2Mi1jdXN0b20uaHRtbFxuLy9cbi8vIFN0eWxlIGd1aWRlOiAxMy4wXG5cbi5zYy12Mi0wMDUtYXJyb3ctZG93bntcbiAgY3Vyc29yOiBwb2ludGVyO1xuICAmOmhvdmVye1xuICAgIGJhY2tncm91bmQtcG9zaXRpb246ICR2Mi0wMDctYXJyb3ctdXAtb2Zmc2V0LXggJHYyLTAwNy1hcnJvdy11cC1vZmZzZXQteTtcbiAgfVxufVxuXG4uc2MtdjItMDE1LWZseS1hcnJ7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgJjpob3ZlcntcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAkdjItMDE3LWZseS1hcnItYWN0aXZlLW9mZnNldC14ICR2Mi0wMTctZmx5LWFyci1hY3RpdmUtb2Zmc2V0LXk7XG4gIH1cbn1cblxuLnNjLXYyLTAyNS1zcmNoLWdyYXktcmVne1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gICY6aG92ZXJ7XG4gICAgYmFja2dyb3VuZC1wb3NpdGlvbjogJHYyLTAyMS1zcmNoLWJsdS1yZWctb2Zmc2V0LXggJHYyLTAyMS1zcmNoLWJsdS1yZWctb2Zmc2V0LXk7XG4gIH1cbn1cblxuLnNjLXYyLTAyNy1zcmNoLWdyYXktc3RreXtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICAmOmhvdmVye1xuICAgIGJhY2tncm91bmQtcG9zaXRpb246ICR2Mi0wMjMtc3JjaC1ibHUtc3RreS1vZmZzZXQteCAkdjItMDIzLXNyY2gtYmx1LXN0a3ktb2Zmc2V0LXk7XG4gIH1cbn1cblxuLnNjLXYyLTAxOS1tZW51e1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gICY6aG92ZXJ7XG4gICAgYmFja2dyb3VuZC1wb3NpdGlvbjogJHYyLTAzNS1tZW51LWFjdGl2ZS1vZmZzZXQteCAkdjItMDM1LW1lbnUtYWN0aXZlLW9mZnNldC15O1xuICB9XG59XG4iXSwic291cmNlUm9vdCI6Ii9zb3VyY2UvIn0= */
